diff --git a/.claude/loopspec/sketch-focus-arbiter.spec.md b/.claude/loopspec/sketch-focus-arbiter.spec.md new file mode 100644 index 0000000000..f0c1287307 --- /dev/null +++ b/.claude/loopspec/sketch-focus-arbiter.spec.md @@ -0,0 +1,86 @@ +# DELEGATION SPECIFICATION: HARNESS-DRIVEN VALIDATION LOOP +slug: sketch-focus-arbiter · repo: /home/tommaso/projects/apps/orca_cad · branch: cad-mainline + +## 1. TARGET GOAL + +**Functional Objective.** Keyboard input in the Design tab is routed by WHAT THE KEY IS, not by +which widget the window manager decided to focus. Adopted from FreeCAD's +`DrawSketchKeyboardManager::detectKeyboardEventHandlingMode` +(src/Mod/Sketcher/Gui/DrawSketchKeyboardManager.cpp), which never queries focus at all: + + - digit, `-`, `.`, `,` -> the open value field + - Backspace / Delete -> the open value field (when one is open) + - Enter / Return / Tab -> commit the field, control returns to the view + - a letter -> the sketch-tool shortcut map, as today + - Esc -> the existing CadLevel LIFO (DesignInteraction.hpp), unchanged + - anything else -> sticky: whoever had it keeps it + +Observable postcondition: for EVERY sketch tool that opens a value field, a value typed +immediately after the field appears — with NO click into the field — is the value committed. +Today the prefill is committed instead whenever the WM withholds focus. + +**Target Files / Scope (writable).** + src/slic3r/GUI/CAD/DesignPanel.cpp (the arbiter lives in the existing wxEVT_CHAR_HOOK) + src/slic3r/GUI/CAD/DesignCanvas.cpp/.hpp (forwarding entry points only) + src/slic3r/GUI/CAD/SketchInlineEditor.cpp/.hpp (accept a programmatically delivered character) + scripts/CAD/check-gui-click-edit.py (F2P oracle — authoring exception, see §4) +Everything else read-only. No dependency additions, no reformatting. + +**Open Bindings.** + - The in-canvas ImGui field on wip/in-canvas-value-field is NOT in scope. Default: the arbiter + is implemented against the CURRENT wxFrame field on cad-mainline, because content-based + routing makes the window's focus irrelevant either way. If it later moves in-canvas the + arbiter is unchanged. + - Tools whose field is opened by a toolbar button rather than a gesture (Constrain path) are + covered by the same arbiter but are not in the F2P tool list. Default: assert them in P2P only. + +## 2. HARNESS ENVIRONMENT & GROUND TRUTH + +The rig container `orcacad-gui` on nativedev IS the harness. Xvfb `:11` + openbox, the app under +test, `xdotool` for synthetic input, and an MCP socket at `/tmp/mcp.sock` that reports sketch +state as JSON. It is a closed loop: drive input, read geometry back, assert. No window manager +politics, no human. + + Harness interface (ordered; each slot one invocation, one exit code): + S1 sync docker cp orcacad-gui:/OrcaSlicer/ + S2 build docker exec orcacad-gui ninja -C /OrcaSlicer/build orca-slicer + S3 restart docker exec orcacad-gui /OrcaSlicer/scripts/CAD/start-headless-gui.sh + S4 F2P docker exec -e DISPLAY=:11 orcacad-gui python3 /tmp/check-gui-click-edit.py --attach + S5 P2P docker exec -e DISPLAY=:11 orcacad-gui python3 /tmp/check-gui-sketching.py + +**F2P.** `scripts/CAD/check-gui-click-edit.py`. For each of Line, Rectangle, Circle, Slot, +Polygon, Ellipse and Rounded rectangle: arm the tool, draw it, and type a value that differs +from the prefill WITHOUT clicking the field. Assert the committed value equals the typed value. +The ladder must FAIL against unmodified cad-mainline — that is what proves it asserts something. + +**P2P.** `scripts/CAD/check-gui-sketching.py`, the existing gesture ladder, minus anything red at +baseline. NOTE: it calls `focus_field()` — one click into the field before typing — which is the +workaround this whole task removes. It stays green as a regression guard; it is NOT evidence. + +**Test Integrity Constraint.** `focus_field()` in check-gui-sketching.py must NOT be deleted to +make things pass, and check-gui-click-edit.py must NOT be weakened. Either invalidates the run. + +## 3. VERIFICATION COMMANDS +1. Static: `docker exec orcacad-gui ninja -C /OrcaSlicer/build orca-slicer` (warnings delta only; + this repo configures no linter — the compiler is the static gate. Absolute-zero is NOT the gate.) +2. Harness: `docker exec -e DISPLAY=:11 orcacad-gui python3 /tmp/check-gui-click-edit.py --attach` +3. Regression: `docker exec -e DISPLAY=:11 orcacad-gui python3 /tmp/check-gui-sketching.py` + +## 4. CONVERGENCE LOOP — ceiling 8 iterations +EDIT (scoped) -> EXECUTE S1..S5 -> PARSE the ladder's per-tool assertions and the [UX]/[KEYTRACE] +lines -> PATCH from the parsed cause. On ceiling without convergence: stop, report the last diff +and the unresolved failure set. Do not report success. + +F2P authoring exception: check-gui-click-edit.py is writable, and must be shown RED against +unmodified source before any source edit counts. + +## 5. TERMINATION CRITERIA +- [ ] S2 exits 0, and introduces no compiler warning absent from the baseline. +- [ ] S4 ALL_PASSED — every tool commits the typed value, no click into the field. +- [ ] S5 shows zero regressions against its recorded baseline pass count. +- [ ] F2P proven red without the fix (source stashed, ladder re-run, must FAIL). + +## 6. GUARDRAILS +Zero-assumption: no completion claim without captured stdout and exit codes. Oracle supremacy: +the ladder's verdict overrides my judgement. Blast radius: §1 files only. Baseline obligation: +run §3 once before the first edit and record it. diff --git a/.claude/skills/orca-profiles/SKILL.md b/.claude/skills/orca-profiles/SKILL.md new file mode 100644 index 0000000000..3b2130660f --- /dev/null +++ b/.claude/skills/orca-profiles/SKILL.md @@ -0,0 +1,126 @@ +--- +name: orca-profiles +description: Use when creating, modifying, reviewing or debugging OrcaSlicer FFF system profiles under resources/profiles, including printer/vendor/nozzle/material additions, bundle indexes and versions, preset renames, setting_id and filament_id. Also use for missing presets or vendors, ignored profile settings, ambiguous AMS filament matches, and failures from orca_profile_tool.py, check_profile.sh/.bat, OrcaSlicer_profile_validator or the Check profiles CI job. +--- + +# OrcaSlicer system profiles + +A bundle is `resources/profiles/.json` plus `/`. The vendor id is the +filename stem, not the index's display `name`. The index is the loader's only entry point: +unindexed presets never load. `OrcaFilamentLibrary` is the shared filament bundle; +`blacklist.json` is data, not a bundle. + +## Choose the reference for the task + +Read the relevant reference before editing; load others only when the task crosses those areas. +Paths below are relative to this skill. Commands run from the repository root. + +| Task | Read | +| --- | --- | +| Add or tune a filament, brand or material; fix compatibility / alias shadowing | [filament-profiles.md](references/filament-profiles.md) | +| Add a printer or nozzle; change models, variants, assets or extruder vectors | [machine-profiles.md](references/machine-profiles.md) | +| Add a quality tier or tune a process | [process-profiles.md](references/process-profiles.md) | +| Create a vendor bundle; diagnose loading or inheritance; migrate preset names | [vendor-bundle.md](references/vendor-bundle.md) | +| Name a preset; check what a name must equal | [naming.md](references/naming.md) | +| Change ids; diagnose AMS identity | [ids.md](references/ids.md), then `docs/HLSD/filament_id.md` for identity changes | +| Review a profile diff | [review-checklist.md](references/review-checklist.md) | +| Run checks, interpret failures, test another tree or verify in the app | [validation.md](references/validation.md) | + +## Golden rules + +1. **Bump every changed bundle's `version`**, including `OrcaFilamentLibrary.json` when affected. + Increment the last component; carry `.99` into the third component (`02.04.00.99` → + `02.04.01.00`). The updater requires a strictly newer version. CI does not check this. +2. **Register every preset, bases included, parents before children.** `update-index` generates + the four `*_list` arrays; `check` requires its output. Index names must equal file `name` fields. +3. **Generate ids; never invent or copy them.** Keep existing ids during ordinary tuning. New + presets normally omit them until `generate-id`; bases must have no `setting_id`. + BBL's authoritative `setting_id` and a wrongly inherited `filament_id` need the explicit + handling in [ids.md](references/ids.md). +4. **Load failures can discard a whole vendor bundle.** Broken `inherits`, missing indexed files, + duplicate names, invalid model/variant references and unresolved filament ids affect more than + the edited preset. Inheritance stays within a bundle, except filaments may inherit the library. +5. **Preserve shipped selectable names.** Renaming, deleting or changing `instantiation` from + `"true"` to `"false"` needs `renamed_from` on a selectable successor. It is a `;`-separated string; + update in-tree references too. See [migration rules](references/vendor-bundle.md#renamed_from). +6. **Compatibility uses exact printer variant names.** Every instantiated non-library filament + needs a non-empty `compatible_printers` in its own file. Library fallbacks may omit it; + library printer-specific tunes use a non-empty list. One variant may be claimed by only one + profile per filament product (`filament_id`); an overlap is resolved by moving the variant to the + most specific preset, which is preferred over deleting a profile. See + [one variant, one profile](references/filament-profiles.md#overlapping-coverage-one-variant-one-profile-per-product). +7. **Preset values are strings or arrays of strings.** Use `"instantiation": "false"`, not `false`. + Model `nozzle_diameter` is a `;`-separated string; machine `nozzle_diameter` is an array. + Wrong types can abort loading; see [failure scopes](references/vendor-bundle.md#failure-modes-ranked-by-blast-radius). +8. **Verify setting keys against the code.** Unknown keys are silently discarded. Check + `PrintConfig.cpp` definitions and `PrintConfigDef::handle_legacy`; neighbours can contain dead + keys. `normalize` removes known obsolete keys, but does not detect arbitrary misspellings. +9. **Run the full profile checks before reporting completion.** A vendor-scoped pass is only a + development loop. Review also covers version bumps, assets, non-default processes and hardware + tuning that CI cannot establish. +10. **One all-printer preset per product; color is a runtime property, never a preset.** Never ship + presets that differ only by color — CI accepts them, so this is a review call. See + [color is a runtime property](references/filament-profiles.md#color-is-a-runtime-property). + +## Creating or modifying a profile + +1. **Inspect the diff and neighbouring presets.** Read their `name`, parent chain and children; + edits to a base or a leaf with descendants propagate. Match the bundle's structure and write + only overrides. New files use tab indentation, LF and a trailing newline; preserve unrelated + formatting in existing files. Match filename case exactly and use cross-platform names. +2. **Author explicit metadata.** Set `type` yourself, especially for `machine` vs `machine_model`. + Use `"from": "system"` and string `instantiation` on config presets. Omit ids on new presets + unless [ids.md](references/ids.md) requires special handling; retain them on existing ones. + Complete compatibility, defaults, assets and any rename migration using the task reference. +3. **Bump the version**, then run the authoring commands in order for each affected bundle: + + ```bash + python3 scripts/orca_profile_tool.py normalize --vendor "" + python3 scripts/orca_profile_tool.py update-index --vendor "" + python3 scripts/orca_profile_tool.py generate-id --vendor "" + python3 scripts/orca_profile_tool.py check + ``` + + Writing commands support `--dry-run`. Inspect their diffs: `normalize` changes content and can + reformat entire files. Stop and resolve command errors before proceeding. + + **Do not use `trim` in this workflow:** it can delete newly authored, unindexed profiles. + Do not use `normalize --force` for routine edits. +4. **Validate:** + + ```bash + ./scripts/check_profile.sh --vendor "" # development loop + ./scripts/check_profile.sh # full tree before the PR + ``` + + On Windows use `py -3` instead of `python3`, and `scripts\check_profile.bat -Vendor ""` + / `scripts\check_profile.bat`. Logs land in a per-user cache dir (see + [validation.md](references/validation.md)). + Id checks remain tree-wide under `--vendor`; filament-only bundles skip the default slice check. + See [validation.md](references/validation.md) for flags, coverage and error remedies. +5. **Verify the changed behavior.** Slice newly added non-default processes explicitly, and + [test in the app](references/validation.md#testing-in-the-app) for selection or UI behavior. + Report checks actually run, failures/skips and any hardware tuning still unverified. + +## Symptom → first reference + +| Symptom | Start here | +| --- | --- | +| A vendor disappears | Loader log / `validate_system`; [bundle failure scopes](references/vendor-bundle.md#failure-modes-ranked-by-blast-radius) | +| A setting has no effect | Key spelling/type, `handle_legacy`, or a config key placed on a `machine_model` | +| A preset exists but is not selectable | Index registration, `instantiation`, installation and compatibility | +| A filament is missing, duplicated, or matches the wrong spool | [Compatibility and alias shadowing](references/filament-profiles.md#compatible_printers); [ids](references/ids.md) | +| Presets differ only by color, or an all-printer library preset lacks `@System` | [Color is a runtime property](references/filament-profiles.md#color-is-a-runtime-property) | +| A bed temperature is ignored | [Plate-specific temperature keys](references/filament-profiles.md#bed-temperature-is-twelve-keys-not-one) | +| A change is absent from the running app | Version bump and [installed profile location](references/validation.md#testing-in-the-app) | +| A check fails | [Error → remedy](references/validation.md#error--remedy) | + +## Source of truth + +When guidance and behavior disagree, inspect the current checkout: +`scripts/orca_profile_tool.py` for tooling and flags; `src/libslic3r/Preset*.cpp` for loading and +compatibility; `src/libslic3r/PrintConfig.cpp` for setting types and legacy handling; +`src/dev-utils/OrcaSlicer_profile_validator.cpp` and `.github/workflows/check_profiles.yml` for +validation coverage. `docs/HLSD/filament_id.md` defines filament identity. The +[profile development guide](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/how_to_create_profiles.md) +is a tutorial; confirm loader and CLI details against these sources. diff --git a/.claude/skills/orca-profiles/references/filament-profiles.md b/.claude/skills/orca-profiles/references/filament-profiles.md new file mode 100644 index 0000000000..873e2a6510 --- /dev/null +++ b/.claude/skills/orca-profiles/references/filament-profiles.md @@ -0,0 +1,267 @@ +# Filament profiles and OrcaFilamentLibrary + +`OrcaFilamentLibrary` is the filament-only bundle the loader reads **first**; its config map +becomes the base bundle, so any vendor may inherit a library preset by name. It is the only cross-bundle +parent — vendor-to-vendor inheritance always fails. + +## Where a filament goes + +| Contribution | Location | +| --- | --- | +| Generic material for all printers | `OrcaFilamentLibrary/filament/Generic @System.json` | +| A brand's product, all printers | `OrcaFilamentLibrary/filament//` | +| A brand's tune for one printer | `OrcaFilamentLibrary/filament///` — recommended; `/filament//` also works | +| A printer vendor's tune of a generic or its own product | `/filament/` | + +Both locations for the last-but-one row are supported: `OrcaFilamentLibrary/filament///.json` +(the shape the wiki shows) and `/filament//`. The library path is the one a +filament vendor should contribute to — `OrcaFilamentLibrary/filament//` is the brand's own +folder, while a printer vendor's folder belongs to that printer vendor. Brand tunes do ship under +printer vendors' folders today (Polymaker and SUNLU among others). + +Library layout: `filament/base/fdm_filament_*.json` type roots, root-level `Generic @System.json` +generics, and one subfolder per brand, which may nest printer-specific tunes one level deeper. Adding +a brand means adding a folder here; the folder name is a directory label only — `filament_vendor` inside the JSON is the real vendor string. + +## The three-part shape + +```jsonc +// Fiberon PA6-CF @base.json — the product root, holds identity + material values +{ "type": "filament", "name": "Fiberon PA6-CF @base", "from": "system", + "instantiation": "false", "inherits": "fdm_filament_pa", + "filament_id": "OFkOviHk", // generated here; variants inherit it + "filament_vendor": ["Polymaker"], "filament_type": ["PA6-CF"], /* … */ } + +// Fiberon PA6-CF @System.json — the selectable shim, 7 keys +{ "type": "filament", "name": "Fiberon PA6-CF @System", "from": "system", + "instantiation": "true", "inherits": "Fiberon PA6-CF @base", + "setting_id": "…", "compatible_printers": [] } + +// /filament/Polymaker/Fiberon PA6-CF @BBL X1C.json — a printer tune +{ … "inherits": "Fiberon PA6-CF @base", "filament_max_volumetric_speed": ["14"], + "compatible_printers": ["Bambu Lab X1 Carbon 0.4 nozzle", …] } +``` + +- `@base` is the convention for a root. A base carries **no** `setting_id`, no `compatible_printers`, no + `filament_settings_id`. Only the `setting_id` half is enforced, and nothing violates it; the other two + are unchecked and plenty of bases still carry them. Do not copy that from a neighbouring file. +- Every `@System` must be `"instantiation": "true"`. DREMC ships `@System` presets set to `"false"`, + which therefore ship but can never be selected; no check catches it. +- A duplicated brand `@base` across bundles is normal and intentional (`Fiberon PA6-CF @base` exists in + both the library and BBL with the same id, differing only in MVS) — bases never enter the preset + collection, so there is no duplicate-name error. +- You may inherit from an instantiated preset as well as from a base; it is common. + +## Color is a runtime property + +`filament_id` identifies a product, not a color; filament sync/AMS reads the color from the spool at +runtime. A product ships one all-printer preset and the color is chosen at runtime — never a sibling +preset that differs only by color. A material family (PLA vs PLA Matte vs PLA Silk) is a new product; a +color is not. A printer tune keeps the product alias and does not multiply per color either. + +CI does not catch this — per-color presets pass `check` — so it is a review call. + +## The two most common contributions + +**A printer vendor tuning a generic.** Keep the `Generic X` base name so the alias shadows the library +preset on your printers, inherit `Generic X @System`, declare **no** `filament_id` (inheriting the +library's is correct — the product really is the library's generic), and give it a non-empty +`compatible_printers` in its own body: + +```jsonc +// /filament/Generic PETG @Acme One 0.4 nozzle.json +{ "type": "filament", "name": "Generic PETG @Acme One 0.4 nozzle", "from": "system", + "instantiation": "true", "inherits": "Generic PETG @System", + "filament_flow_ratio": ["0.95"], "filament_max_volumetric_speed": ["10"], + "compatible_printers": ["Acme One 0.4 nozzle"] } +``` + +**A printer vendor's own branded product.** Give it a `@base` root so `generate-id` can mint the id (see +[ids.md](ids.md) — inheriting `Generic X @System` directly makes the id unfixable by the tool), then one +instantiated leaf per printer in the same bundle. No `@System` shim: that is only for a product entering +OrcaFilamentLibrary. + +```jsonc +// /filament/Acme Aura PETG @base.json — instantiation false, no setting_id +{ "type": "filament", "name": "Acme Aura PETG @base", "from": "system", + "instantiation": "false", "inherits": "fdm_filament_pet", + "filament_vendor": ["Acme"], "filament_type": ["PETG"] } // filament_id minted here + +// /filament/Acme Aura PETG @Acme One 0.4 nozzle.json +{ "type": "filament", "name": "Acme Aura PETG @Acme One 0.4 nozzle", "from": "system", + "instantiation": "true", "inherits": "Acme Aura PETG @base", + "filament_max_volumetric_speed": ["11"], + "compatible_printers": ["Acme One 0.4 nozzle"] } +``` + +Omit `filament_settings_id` from new presets — it is runtime bookkeeping the app rewrites to the preset +name. + +## `compatible_printers` + +- **Library fallbacks:** empty `[]` or absent, so they are offered on all printers except where + [alias shadowing](#alias-shadowing) supplies a printer-specific tune. +- **Library printer-specific tunes:** non-empty, listing exact printer **variant** names. These can + supersede a same-alias fallback just like a tune in a printer vendor's bundle. +- **Instantiated filaments in every other vendor:** non-empty, listing exact printer **variant** names. + Enforced twice but not identically: the C++ `has_errors` reads the *flattened* config, so an inherited list satisfies it, + while the Python check reads the file's **own** key. Write the list in the file itself. This is the + most common filament CI failure. +- Emptying it to "make it apply everywhere" fails that check *and* creates a duplicate-`filament_id` + collision against the library generic on every printer. +- Copying a base's full printer list onto a nozzle-specific variant produces duplicate combobox entries — + a real shipped bug twice over. + +## Overlapping coverage: one variant, one profile per product + +`filament_id` is the **product** key, not the preset key — every variant of one product shares it +(`//`). So if one printer variant appears in the +`compatible_printers` of two presets of that product, the slicer cannot tell them apart at AMS match time. +The C++ validator reports `Ambiguous AMS filament match: N presets share filament_id "X" … printer "Y"`. +`orca_profile_tool.py check` does **not** see it and passes. Resolve the overlap by **specificity**: keep +the variant on the most specific profile and remove it from every more general one. Deleting a profile is +the least preferred fix — moving coverage keeps the tune that users rely on. + +Judge specificity from the profile's `compatible_printers` — how many variants it actually covers — and +use the name only as a secondary, easily-vague hint; decide by the lists, with a best judgement call on +the name. Naming conventions differ by vendor: BBL's is the reference (`@ ` for a whole +model, `@ nozzle` for one variant, `@` for a vendor-wide generic), but +others vary (`@`, a printer serial, or Creality's `@-all`). A name never overrides +the list — see [preset naming](naming.md) for the shapes. + +Specificity, most to least: + +1. **Variant-specialized** — lists a single printer variant (BBL-style + `... @ nozzle`). +2. **Model-specialized** — lists the variants of one printer model (BBL-style `... @ `). + It should cover every variant of its model, not only the nozzle it was authored for. +3. **Family / series** — lists variants spanning a printer family or series. +4. **Generic / catch-all** — vendor-wide, covering many unrelated models (often the bare + `Generic @`). + +Rules: + +- A model-specialized profile is extended to **all** variants of its model, and each variant it thereby + starts covering is removed from the family and generic profiles that also listed it — including variants + that had no overlap before. Apply it per nozzle, not just 0.4. +- Apply it **per product**: trim only the material that has a specialized profile from the generic; a + material whose product has no specialized profile keeps the variant in the generic. +- Never strip coverage a variant has nowhere else to get. If a variant has no variant-level specialized + profile, the next level down keeps it; when the model has specialized profiles, the model-level one wins + over the family/generic. +- Moving coverage is preferred over deleting. If a profile must be deleted, remove the more general + one, not the specialized profile that carries the tune. +- After moving coverage, repoint the affected `default_filament_profile` (machine) and clean the model's + `default_materials`: they should name the most specific profile that covers the variant, and should not + keep generic entries that no longer cover the model. This rule applies equally when adding or fixing + defaults. + +Multiple profiles of one product with **disjoint** `compatible_printers` is the intended end state. +Adding coverage to the specialized profile and removing it from the generic is the preferred direction. + +**Detection caveat:** `orca_profile_tool.py check` is blind to this; only the C++ validator behind the full +`./scripts/check_profile.sh` reports it (`validate_system`). Always confirm with that, not the vendor-scoped +loop. + +## Alias shadowing + +A printer-specific filament in either the library or a vendor bundle supersedes the library fallback +on the printers it lists. The matching key is the **alias**: the preset name up to the **first** `@`, +right-trimmed (no `@` → the whole name). So +`QIDI ABS-GF@Q2-Series` aliases to `QIDI ABS-GF`. + +A library preset with an empty `compatible_printers` collects, into `m_excluded_from`, every printer named +by any same-alias preset that *has* a non-empty list, and is then hidden on those printers. + +Two consequences: + +- **Only an unrestricted library fallback can be shadowed.** Two printer-specific presets sharing + an alias do not exclude each other — overlapping lists for the same product trip the + duplicate-`filament_id` check instead. +- This is why adding `Generic PLA @` to a vendor silently removes the library `Generic PLA` + from that printer. Intended — and the reason a vendor tuning a generic must **keep the `Generic X` + base name**. + +The literal spelling `Generic @System` is load-bearing beyond shadowing: `find_preset2` rewrites an +unresolved name containing "Generic" into that form and retries against the library, which is how 3MF +and project recovery works. + +## `filament_id`, `filament_vendor`, `filament_type` + +`filament_id` is minted from the triple `(filament_vendor, filament_type, name-before-first-@)`. +`filament_vendor` and `filament_type` are therefore **identity, not decoration** — editing either +re-mints the id. Read `docs/HLSD/filament_id.md` before changing any of them, and see +[ids.md](ids.md) for the tooling. + +A filament with no resolvable `filament_id` anywhere in its `inherits` chain is a **hard load error** that +discards the vendor bundle. The id inherits across bundles, so a vendor's `Generic ABS @X` inheriting +`Generic ABS @System` gets the library's id for free; a vendor's own product must resolve its own. + +- `filament_type` **must be a JSON array** — the one vector key the Python check enforces. A scalar + `"PP"` once hung the filament/printer selection UI. +- It is an **open** enum: an unlisted value is accepted silently and falls back to 190–300 °C defaults + and adhesion 1.0. Off-list values do ship. Prefer a value from `MaterialType::all()` in + `src/libslic3r/MaterialType.cpp`, or add a row there. +- Generics use `filament_vendor: ["Generic"]`, which `fdm_filament_common` already defaults to. + +## `"nil"` + +Legal in any key whose `ConfigOptionDef` is `nullable`. In a filament preset that is most of the +`filament_*` family, plus `long_retractions_when_ec` and `retraction_distances_when_ec`. About half are +the extruder overrides (`filament_retraction_length`, `filament_z_hop`, `filament_wipe`, +`filament_retract_*`, `filament_retraction_speed`, `filament_deretraction_speed`, +`filament_retraction_minimum_travel`, `filament_wipe_distance`, `filament_long_retractions_when_cut`, +`filament_retraction_distances_when_cut`, …), where `nil` means *keep the printer/extruder's own value*. +The rest are ordinary nullable options (`filament_flow_ratio`, `filament_flush_temp`, +`filament_adaptive_volumetric_speed`, …) where it means *unset*. + +Anywhere else it throws `Deserializing nil into a non-nullable object`. To not set a non-nullable key, +omit it — do not write `nil`. + +## What to review per nozzle + +Across `@X` / `@X 0.N nozzle` sibling pairs the keys that differ, most often first, are +`filament_max_volumetric_speed`, `filament_retraction_length`, `slow_down_min_speed`, +`filament_flow_ratio`, `slow_down_layer_time`, `nozzle_temperature` and `pressure_advance`. +`filament_cost`, `filament_density`, `filament_type` and `filament_vendor` belong on the `@base` and +should not appear in a printer tune. + +Use measured values for the material, hotend, extruder and nozzle combination. Neither maximum +volumetric speed nor pressure advance has a universal nozzle-only lookup table. When cloning a +0.4 preset for a 0.2 nozzle, explicitly revisit flow limits; do not infer a pressure-advance value +or a required direction of change from diameter alone. + +## Style + +Overrides, not full copies: a typical instantiated filament preset carries around a dozen non-meta keys, +and a library leaf two or three. Presets that restate fifty-plus keys from their parent do still ship — +Phrozen's single filament preset is that style — but they are the pattern to move away from, not to +copy. Commit `6943b6ddc3` is the stated model (flip true bases to `instantiation: "false"`, strip +`compatible_printers`/`setting_id`/`filament_settings_id`, add `renamed_from` on the survivor). + +Prefer the library's `fdm_filament_*` bases over a vendor-local copy. Phrozen's local +`fdm_filament_common` has drifted from the library's. + +Canonical key order, written by `orca_profile_tool.py normalize` when it rewrites a file: `type`, `name`, +`renamed_from`, `inherits`, `from`, `setting_id`, `filament_id`, `instantiation`, then everything else in +the order you wrote it. Not enforced — a file that leads with `compatible_printers` passes `check`. + +**Every vector-typed (`co*s`) key must be a JSON array.** Only `filament_type` is an outright error, but +`normalize` silently arrayifies five more (`filament_cost`, `filament_density`, +`temperature_vitrification`, `filament_max_volumetric_speed`, `filament_vendor`) and `check` fails when +it would. Every other vector key is on you — including `filament_start_gcode`, `filament_end_gcode`, +`filament_extruder_variant`, `compatible_printers` and the plate temperatures. + +## Bed temperature is twelve keys, not one + +There is no single "bed temperature". Which plate key applies depends on `curr_bed_type`, whose six +selectable values (`btPC`, `btEP`, `btPEI`, `btPTE`, `btPCT`, `btSuperTack`; `btDefault` maps to no key) +`get_bed_temp_key()` turns into `cool_plate_temp`, `eng_plate_temp`, `hot_plate_temp`, +`textured_plate_temp`, `textured_cool_plate_temp` and `supertack_plate_temp` — each with an +`*_initial_layer` twin. + +`textured_cool_plate_temp` is the one most often forgotten. A printer with `support_multi_bed_types` off +hides the selector, and the printer preset's +`default_bed_type` decides which plate is selected for it, but `curr_bed_type` can still hold a stale +value carried over from another printer — so set every plate the printer plausibly has, as the sibling +presets in the bundle do. diff --git a/.claude/skills/orca-profiles/references/ids.md b/.claude/skills/orca-profiles/references/ids.md new file mode 100644 index 0000000000..b6a09e9a2f --- /dev/null +++ b/.claude/skills/orca-profiles/references/ids.md @@ -0,0 +1,149 @@ +# `setting_id` and `filament_id` + +Orca-generated ids are deterministic hashes of identity. **Never invent an id or copy a sibling's +`setting_id`.** Use `scripts/orca_profile_tool.py`; the two special cases are +[a wrongly inherited filament id](#what-generate-id-does-and-does-not-fix) and +[BBL's authoritative setting ids](#bbls-exception-precisely). + +`docs/HLSD/filament_id.md` is the authoritative design document for `filament_id` — the id landscape, the +checks CI runs, and the Bambu catalog map. This page is the tooling half. + +| | `setting_id` | `filament_id` | +| --- | --- | --- | +| Identifies | one selectable preset | one filament **product** | +| Key hashed | `//` | `filament_product///` | +| Shape | 16 base62 chars | `OF` + 6 base62 chars | +| Required on | every `instantiation: "true"` preset | every **instantiated** filament, own or inherited | +| Forbidden on | bases (`instantiation != "true"`) | — (a base is exactly where it belongs) | +| Scope | globally unique across the tree | shared by every variant of the product, in every bundle | + +`` is `machine` / `process` / `filament` — the vendor is the **folder** name (`BBL`), not the +display name (`Bambulab`). Renaming a preset changes its `setting_id`; renaming a filament, or editing +its `filament_vendor` or `filament_type`, also changes its `filament_id`. + +## The tool + +Use `scripts/orca_profile_tool.py` with a subcommand: + +| Command | Does | +| --- | --- | +| `check` | everything CI's `profile_tool` step runs — see [validation.md](validation.md) | +| `generate-id` | writes `setting_id` and `filament_id` | +| `normalize` | rewrites profile files into their canonical shape | +| `trim` | deletes profile files no `.json` list references | +| `update-index` | rebuilds the `*_list` sections from the files on disk | + +The order after adding, renaming or deleting files — each step feeds the next, so it is not +interchangeable — is `normalize` → `update-index` → `generate-id` → `check`. +The [authoring workflow](../SKILL.md#creating-or-modifying-a-profile) has the commands. + +> **`trim` deletes.** It removes every profile file the index does not list — including the one you just +> added and have not registered yet. Register first, or skip `trim` entirely; it is a cleanup sweep, not +> part of landing a profile. Preview with `--dry-run`. + +**Register, then mint.** The `filament_id` pass reads `.json`'s `filament_list`, not the +filesystem (the `setting_id` pass walks the filesystem, so a bundle whose index has not landed yet is +still assignable). A new filament file is therefore invisible to `generate-id`'s filament_id pass until +it is registered — its `setting_id` is written regardless. + +- `--dry-run` works on every writing command (`generate-id`, `normalize`, `trim`, `update-index`) + and writes nothing. +- `--filament-id` / `--setting-id` narrow `generate-id`; they exclude each other, and passing neither + writes both. +- `--vendor` is repeatable and narrows **only what is written** — the id is a function of the triple + alone, so a narrowed run writes exactly what a full run would. An unknown vendor exits 1 before any + write. `--vendor` on `check` narrows the per-vendor checks only; the `setting_id` and `filament_id` + passes stay tree-wide. +- `--profiles DIR` points any command at another tree — see + [Checking a copy of the tree](validation.md#checking-a-copy-of-the-tree). +- `--profile-type` narrows `normalize`, `trim` and `update-index` to `machine_model`, `process`, + `filament` or `machine`. +- Exit codes: 0 clean, 1 errors found (`generate-id` still writes what it could), 2 argparse misuse. +- Output is ANSI-coloured; searching for the literal `[ERROR]` still works. + +`generate-id` is **idempotent and byte-preserving** — BOM and CRLF kept, one key line touched per pass. +A legitimate `generate-id` diff is one or two changed lines per file: a new instantiated filament gets +both a `filament_id` and a `setting_id`, and a BBL file with a misspelled `settings_id` has that line +dropped and its value restored under the right key. `normalize` is the opposite by design — it rewrites +whole files into canonical shape — which is why `check` demands it already be a no-op. Some bundles have +CRLF committed (OrcaFilamentLibrary, Anycubic and RH3D among them), so a `normalize` pass there rewrites +every line — read the diff before committing it. + +On a clean tree `check` and `generate-id --dry-run` both exit 0 with zero findings. That is the +baseline to restore before opening a PR. + +## What `generate-id` does and does not fix + +Writes: + +- a `setting_id` into any instantiated preset that lacks one, or whose value does not match the formula; +- strips a `setting_id` from a base; +- deletes the misspelled `settings_id` key; +- a `filament_id` into the id-less **root(s)** of an instantiated filament that resolves none; +- rewrites a **declared** `filament_id` that is not the mint of its own triple. + +Refuses to write (reports only): a base62 collision between two products, an empty `filament_vendor` or +`filament_type`, a broken `inherits` chain, roots of one filament resolving divergent `(vendor, type)` +pairs. + +**Does not fix: a preset that *inherits* a wrong `filament_id`.** This is check 2b, and it is the trap +most likely to bite. It happens when a branded filament inherits a generic for its settings: + +```jsonc +{ "name": "Phrozen Aura PETG @Phrozen Arco 0.4 nozzle", + "inherits": "Generic PETG @System" } // resolves the OFL generic's id — wrong product +``` + +The preset resolves *an* id, so `generate-id` neither inserts nor rewrites, and `check` fails with +`inherits filament_id "X" but its own triple "V/T/N" mints "Y"`. + +Two fixes, in order of preference: + +1. **Give the product a `@base` root** inheriting a material base (`fdm_filament_pet`, + `fdm_filament_pla`, …). No `fdm_filament_*` base carries a `filament_id`, so the filament now resolves + none and `generate-id` mints it for you. This is also the shape the rest of the tree uses. +2. **Declare the tool-computed key on the preset itself.** Use the expected value reported by `check` + or compute it with the function below; this is not a manually chosen id. Make sure the preset + resolves the right `filament_vendor` and `filament_type` first — with + neither set, the triple resolves through the generic parent and the branded product is minted + under vendor `Generic`. If you need the id before the file exists: + + ```bash + python3 -c "import sys; sys.path.insert(0,'scripts'); from orca_profile_tool import generate_filament_id as g; print(g('Polymaker','PLA','PolyLite PLA'))" + # -> OF5CgdDq + ``` + + The quoting works unchanged in cmd and PowerShell; only swap `python3` for `py -3`. + + The `setting_id` equivalent is `generate_preset_setting_id('', '', '')`. + +## BBL's exception, precisely + +`RESERVED_VENDORS = {"BBL"}` covers **`setting_id` assignment only**, keyed on the *folder* name: + +- The tool never mints or replaces a BBL `setting_id`. A new instantiated BBL preset with no + `setting_id` therefore **cannot be fixed by the tool**, yet the presence rule still applies to it — + carry over Bambu's authoritative id by hand. +- BBL is not exempt from anything else: bases still get their `setting_id` stripped, ids must still be + globally unique, and BBL `filament_id`s are minted like everyone else's — every one of them is an + `OF*`. + +## Ids other systems compose + +No id from another system is the mint of a triple, so `check` rejects it like any other bad id — same +error, same remedy, whoever wrote it. Three such spaces exist near the tree; recognise them so you do +not copy one into a profile: + +- **Bambu's `GF*` catalog** — external and opaque, correlated to Orca's ids by the generated + `resources/printers/bambu_filament_ids.json`. `GF` is a *prefix*, not a spelling the tree avoids: most + BBL `setting_id`s start with `G`, and `blacklist.json` and + `BBL/filament/filaments_color_codes.json` both reference Bambu catalog ids by design. The rule is + about `filament_id` and nothing else. +- **Qidi's `QD_*`** — composed at runtime by the box (`QD___`), not a preset id. +- **`P` + 7 hex, and `"null"`** — what `CreatePresetsDialog.cpp` gives a *user*-created filament. + +## Tests + +`python3 -m unittest discover -s scripts/tests -t scripts` (`py -3 -m …` on Windows). Note the +`-t scripts` argument; without it the imports fail. CI runs them as the first, non-`continue-on-error` +step of the profile job — see [validation.md](validation.md#ci). diff --git a/.claude/skills/orca-profiles/references/machine-profiles.md b/.claude/skills/orca-profiles/references/machine-profiles.md new file mode 100644 index 0000000000..01071af6b1 --- /dev/null +++ b/.claude/skills/orca-profiles/references/machine-profiles.md @@ -0,0 +1,194 @@ +# Printer models and variants + +Both live in `resources/profiles//machine/*.json`; models go in `machine_model_list`, variants +and shared bases in `machine_list`. Every one of them is registered. Some vendors (Elegoo, Eryone, +InfiMech, FlyingBear) nest a further subfolder under `machine/`, so recurse rather than globbing +`machine/*.json`. + +## A `machine_model` is not a config preset + +It is parsed by a hand-written key switch, and only these keys are stored (`version` and `url` are +matched and discarded): + +`name`, `model_id`, `nozzle_diameter`, `machine_tech`, `family`, `bed_model`, `bed_texture`, +`hotend_model`, `default_materials`, `not_support_bed_type`, `image_bed_type`, +`bottom_texture_end_name`, `bottom_texture_rect`, `bottom_texture_rect_longer`, `middle_texture_rect`, +`use_double_extruder_default_texture`. + +**Everything else is silently dropped.** Only `name` and `nozzle_diameter` are required. Dead keys ship +on real models today — `url`, `default_bed_type`, even a `desciption` typo — so a neighbour carrying a +key is no evidence it does anything. Printer config options belong on the `machine` preset, never here. + +```json +{ + "type": "machine_model", + "name": "Phrozen Arco", + "machine_tech": "FFF", + "family": "Phrozen", + "model_id": "Phrozen Arco", + "nozzle_diameter": "0.4", + "bed_model": "Phrozen Arco_buildplate_model.stl", + "bed_texture": "Phrozen Arco_buildplate_texture.svg", + "hotend_model": "", + "default_materials": "Generic PLA @Phrozen Arco 0.4 nozzle" +} +``` + +| Field | Notes | +| --- | --- | +| identity | **the `name` of the `machine_model_list` entry**, which is what a variant's `printer_model` must equal. `check_name_consistency` forces it to equal the file's `name`, so they coincide. | +| `model_id` | a *separate* cloud/device printer type. Optional, and not required to be unique. Not the model's identity. Changing it changes device matching. | +| `machine_tech` | only `starts_with("SL")` means SLA; everything else is FFF. Write `FFF`; a few models write `FGF`, which is a label with no effect. | +| `nozzle_diameter` | `;`-separated string, one token per available size. Order is free (Qidi writes `0.4;0.2;0.6;0.8` to put the default first). This list is the authoritative set of legal `printer_variant` values. | +| `default_materials` | `;`-separated filament **preset names**. Used to preselect in the wizard *and* by `PresetBundle::load_installed_filaments` to auto-install a printer's filaments on first run, so a dangling entry costs a real user a filament. Not `,`; case-sensitive (`@System`). `check` fails on a dangling name here or in `default_filament_profile`. | +| `family` | a wizard grouping label only; give every model one. | + +### Assets + +`bed_model`, `bed_texture` and `hotend_model` are paths relative to the **vendor folder** (by id). +Majority convention: `_buildplate_model.stl` and `_buildplate_texture.svg`. An empty string +is the legal "none", and is the norm for `hotend_model`. + +**Nothing checks that the file exists.** A missing `hotend_model` falls back to +`resources/profiles/hotend.stl`; a missing `bed_model`/`bed_texture` just renders nothing. Broken +references already ship. Verify by hand. + +Every model also has a `_cover.png` in the vendor folder — treat it as required, not optional. +240×240 is the cap `scripts/optimize_cover_images.py` enforces and the size most covers already use. +A missing cover degrades to a placeholder in both the wizard and the sidebar. + +## The `machine` variant + +```json +{ + "type": "machine", + "name": "Phrozen Arco 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "lvaYKTUZr5C9jSwk", + "instantiation": "true", + "printer_model": "Phrozen Arco", + "printer_variant": "0.4", + "nozzle_diameter": ["0.4"], + "default_print_profile": "0.20mm Standard @Phrozen Arco 0.4 nozzle", + "default_filament_profile": ["Generic PLA @Phrozen Arco 0.4 nozzle"], + "printable_area": ["0x0", "300x0", "300x300", "0x300"], + "printable_height": "300" +} +``` + +Minimum viable key set: `type`, `name`, `from`, `instantiation`, `setting_id`, `inherits`, +`printer_model`, `printer_variant`, `nozzle_diameter`, `printable_area`, `printable_height`, +`default_print_profile`. The four keys without which the preset will not load at all are `name`, +`instantiation`, `printer_model` and `printer_variant`; `default_filament_profile` is an array +(`["Generic PLA @System"]`) and the model's `default_materials` a `;`-separated string. Unlike a +`machine_model`, a `machine` **is** config-loaded, so a key belonging to another preset type is a +reported error (a misspelled key is still silent). + +### `printer_variant` — three hard rules + +1. Non-empty, and an exact member of the model's `;`-separated `nozzle_diameter` list. +2. `printer_model` non-empty and naming a model of this vendor. +3. In validation mode, for instantiated presets only: split `printer_variant` on `+`, each token must + start with a number (a trailing non-numeric suffix such as `HF` is ignored), and the resulting **set** + must equal `set(nozzle_diameter)`. + +Rules 1 and 2 are loader-enforced — failing either drops the preset *and* the whole bundle. Rule 3 only +raises a validation error: the preset still loads, but the validator exits non-zero. + +`nozzle_diameter` lists one entry **per physical nozzle**; `printer_variant` lists the **distinct** +diameters joined with `+`. Snapmaker U1 is the worked case: `["0.4","0.4","0.6","0.6"]` against +`"0.4+0.6"` — it passes because the comparison is on sets. + +The conventional values are `0.2`, `0.25`, `0.4`, `0.5`, `0.6`, `0.8` and `1.0`. Suffixed forms +(`0.4HF`, `0.6HF`, `0.8HF`, `0.4HS`) are Flashforge-only and the `+` form is rare. A variant is **not** +required to be unique within a model — Volumic ships `EXO42 IDRE`, `… COPY MODE` and `… MIRROR MODE` all +at `0.4` under the one model `EXO42 IDRE`. + +The converse is **unchecked**: a nozzle size in the model's list with no matching variant is offered in +the wizard and resolves to nothing. `Wanhao France`'s `D12 500 PRO M2 DIRECT` ships that bug today. + +### Other fields worth knowing + +- `default_print_profile` is a **scalar**, matched by exact preset name. Not a `;` list. The named + process must be compatible with this printer through its resolved list or condition. + `validate_slice` attempts to select it and rejects generic Default fallbacks, but compatibility + updates can choose another compatible preset. Check the exact default reference yourself. +- `default_filament_profile` is an **array**, one name per element. +- `printable_area` is an array of `"XxY"` strings — four points for a rectangle, one per segment for a + delta or circular bed. +- `gcode_flavor` is usually set once in the base; `klipper`, `marlin`, `marlin2` and `reprapfirmware` + cover nearly every shipped printer. +- `printer_settings_id` is junk — most files carrying it disagree with their own name. Do not copy it + when cloning a bundle. +- `min_layer_height` / `max_layer_height` are **machine** keys (per extruder), never process keys. + +## Bases + +Nearly every machine-bearing vendor registers a base literally named `fdm_machine_common`, and Klipper +vendors add `fdm_klipper_common` on top of it. Two levels is the usual depth. + +**There is no leading-underscore convention for bases.** + +## Adding a printer to an existing bundle + +1. Choose the names first — model, variant(s), process(es); everything else references them. +2. Add the model (`machine_model_list`) and one `machine` variant per nozzle; the minimum key sets are + above. Bed assets and `_cover.png` go directly in `/`. +3. Add at least one process per variant naming it in `compatible_printers` + ([process-profiles.md](process-profiles.md#adding-a-quality-tier-or-a-nozzles-processes)). +4. Register everything (or run `update-index`), bump the version, run the id tool, validate. + +## Adding a nozzle variant + +1. Extend the model's `nozzle_diameter` (`"0.4"` → `"0.4;0.6"`). +2. Add the variant preset. Either inherit the shared base (the usual choice) or the 0.4 sibling (Elegoo, + BBL, Prusa and Qidi do this — smaller diff, but the sibling's edits now reach this file too). +3. Override what actually changes with nozzle: `nozzle_diameter`, `printer_variant`, + `default_print_profile`, `default_filament_profile`, `min_layer_height`/`max_layer_height`, and + retraction if the vendor tunes it. +4. Add at least one process for the new nozzle — see [process-profiles.md](process-profiles.md). +5. Register both, bump the version, run the id tool, validate. + +## Multi-extruder, IDEX and tool-changers + +Per-extruder vectors are **silently resized** to the nozzle count, with no error. Padding repeats the +**first** value, not the last — `["0.4","0.6"]` on a 4-nozzle machine becomes `0.4, 0.6, 0.4, 0.4`. +Longer vectors are truncated. + +Note the two sizing families: the plain per-extruder keys (`extruder_offset`, `extruder_colour`, +`extruder_printable_height`, `min_layer_height`, `max_layer_height`, `nozzle_diameter`) are sized to the +extruder count, while `printer_options_with_variant_1` (`retraction_length`, `z_hop`, `wipe`, +`nozzle_type`, the rest of the retraction family) is sized to `printer_extruder_variant` instead. + +- Give **one entry per extruder** for ordinary per-extruder vectors such as `extruder_offset`, + `extruder_colour`, `min_layer_height` and `max_layer_height`; size the variant-dependent family + to `printer_extruder_variant` instead. + A single `["0x0"]` `extruder_offset` on a dual or multi-tool machine — which already ships — pads every + toolhead to the same offset, so the offset never applies. +- Overriding `nozzle_diameter` to a different count without re-stating every per-extruder vector is the + other half of the trap — `Snapmaker U1 (0.4+0.6 nozzle)` inherits 5-entry vectors against 4 nozzles. + +Copy targets: `Custom/machine/fdm_toolchanger_common.json` + `Custom/machine/MyToolChanger 0.4 +nozzle.json` (a clean minimal variant on a base that gives every vector five entries), and +`Ratrig/machine/RatRig V-Core 4 IDEX 300 0.4 nozzle.json` for IDEX. The BBL extruder-variant machinery +(`extruder_variant_list`, `printer_extruder_id`, `default_nozzle_volume_type`) is used by a handful of +vendors — do not copy it into a new bundle (`nozzle_volume_type` itself is not a machine-preset key). + +## Custom G-code + +The keys are `machine_start_gcode`, `machine_end_gcode`, `change_filament_gcode`, +`machine_pause_gcode`, `before_layer_change_gcode` and `layer_change_gcode`. Both a single string with +embedded `\n` and a JSON array of lines are legal and both are in use — do not convert one into the +other. Conditionals are `{if …}` / `{elsif …}` / `{else}` / `{endif}`; `{elsif}` is rare but real (Qidi's +`layer_change_gcode` uses it). + +Placeholder errors only surface when the config is actually expanded, which means `validate_slice`: + +```bash +./scripts/check_profile.sh --vendor "" validate_slice +# Windows: scripts\check_profile.bat -Vendor "" validate_slice +``` + +What the sweep covers is in [validation.md](validation.md#validate_slice); no `CP TOOLCHANGE START` in +the output means `change_filament_gcode` never expanded. diff --git a/.claude/skills/orca-profiles/references/naming.md b/.claude/skills/orca-profiles/references/naming.md new file mode 100644 index 0000000000..cad82ebb6b --- /dev/null +++ b/.claude/skills/orca-profiles/references/naming.md @@ -0,0 +1,90 @@ +# Preset naming + +A preset's `name` is the loader's key, not decoration. The index registers it; `inherits`, +`compatible_printers` and the `default_*` keys reference it by the exact string; `renamed_from` depends +on it; and `setting_id` / `filament_id` hash it (see [ids.md](ids.md)). Two presets of one type in a +bundle may not share a name (`check_preset_name_uniqueness`). Treat a name change as an identity change, +not a relabel. + +Naming is convention only where the loader does not parse it. What the loader actually acts on: + +| Type | Shape | Acted on | +| --- | --- | --- | +| `machine_model` | `` | the exact string, named by a variant's `printer_model` | +| `machine` | ` nozzle` | the exact string, named by `compatible_printers`; `printer_variant` must equal a nozzle diameter | +| `process` | `mm @` | the exact string when referenced or selected; the `@` half is a label | +| `filament` | ` @` | text before the first `@` is the **alias**, used for shadowing; the rest is a label | + +## `machine_model` + +`` — the vendor-prefixed model name (`Bambu Lab X1 Carbon`, `Creality K1`, `Prusa CORE One`). A +variant names it verbatim in `printer_model`; a mismatch makes the variant invalid. `check_name_consistency` +forces the index entry to equal the file's `name`, and the variant's `printer_model` targets this string +([A `machine_model` is not a config preset](machine-profiles.md#a-machine_model-is-not-a-config-preset)). +It is also the `_cover.png` and bed-asset stem. + +## `machine` (variant) + +` nozzle` is near-universal (`Bambu Lab X1 Carbon 0.4 nozzle`). `printer_variant` holds +the bare nozzle (`0.4`) and must be an exact member of the model's `nozzle_diameter` list — the hard +rules are in [The `machine` variant](machine-profiles.md#the-machine-variant). Casing varies +(`nozzle` / `Nozzle`): match the bundle, not this page. A variant that is not nozzle-specific (a special +toolhead, a multi-material build) may drop the suffix — still an exact reference. Bases are named +`fdm_machine_common` / `fdm__common`. + +## `process` + +`mm @` — [process-profiles.md](process-profiles.md#naming) has the +quality ladder and the `fdm_process_*` base names. The quality label stays before `@` and the printer +target after it: a printer model in the quality slot leaves the tier undescribed. The `@` is a +human label, not a reference: it usually does not equal a real variant, and compatibility comes from the +resolved `compatible_printers` list or condition. + +## `filament` + +` @`. The product half is what `filament_id` hashes and what survives as the **alias** up +to the first `@`; the target half is a label except for reserved forms: + +- `@base` — a non-instantiated product root. `@base` is convention; a base is really identified by + `instantiation: "false"` and no `setting_id` ([the three-part shape](filament-profiles.md#the-three-part-shape)). +- `@System` — the OrcaFilamentLibrary selectable shim, and the convention for an all-printer product + (` @System`, empty `compatible_printers`); not enforced, so a deviation is worth a review + comment. The literal `Generic @System` is load-bearing for 3MF/project recovery, beyond the + alias rule ([alias shadowing](filament-profiles.md#alias-shadowing)). +- `@`, `@ `, `@ nozzle` — printer tunes, BBL's shape. + Other vendors differ (a bare model, a printer serial, Creality's `@-all`). Specificity is judged + from `compatible_printers`, not the name + ([one variant, one profile](filament-profiles.md#overlapping-coverage-one-variant-one-profile-per-product)). +- Color is not part of the product name: ` ` presets are not authored; the color is + chosen at runtime + ([color is a runtime property](filament-profiles.md#color-is-a-runtime-property)). + +## Checking names + +Check every newly added profile's `name` against its type and role: model, selectable preset or base. +Apply the same checks to an intentional name change. The human-readable naming shapes are not enforced +by `check`: inspect the added or renamed profiles in the diff, using neighbouring names as context and +following the bundle's established style where the type-specific conventions allow variation. + +For bases (`instantiation: "false"`), use the type-specific conventions: + +| Type | Base names | +| --- | --- | +| `machine` | `fdm_machine_common`, `fdm__common`, or an established machine-family base name | +| `process` | `fdm_process_*`, including shared roots and per-layer-height / per-nozzle bases such as `fdm_process_single_0.20` | +| `filament` | `fdm_filament_*` material roots or ` @base` product roots | + +Shared base names across bundles are intentional, including product roots such as `Fiberon PA6-CF @base`. +Investigate a newly authored base that retains an unrelated selectable preset's name from a copy. + +**Name uniqueness is checked by CI.** `check_preset_name_uniqueness` checks type + name within each +bundle. `check_machine_model_name_uniqueness` checks model names across the entire tree, even with +`--vendor`: `Preset::get_printer_type` matches `printer_model` against all vendors' models and returns +the first match, so a duplicate makes lookup depend on vendor order. Both run as part of +`python3 scripts/orca_profile_tool.py check`. + +## Not the same as the filename + +The loader keys off `name`, and a filename that disagrees usually still loads. Index `name` must equal the +file's `name`, and the filename should match `sub_path`; a mismatch that differs only in case breaks +another platform ([cross-platform paths](validation.md#cross-platform-paths)). diff --git a/.claude/skills/orca-profiles/references/process-profiles.md b/.claude/skills/orca-profiles/references/process-profiles.md new file mode 100644 index 0000000000..98f31bac1a --- /dev/null +++ b/.claude/skills/orca-profiles/references/process-profiles.md @@ -0,0 +1,145 @@ +# Process profiles + +Processes live in `resources/profiles//process/` — selectable leaves and shared bases alike, and +every one of them is registered in `process_list`. There are no global processes shared across vendors. + +## Naming + +`"mm @"` — near-universal, so match it. + +Follow the bundle's existing quality vocabulary. BBL's common ladder relates the quality word to +the layer-height / nozzle ratio; it is a naming convention, not a loader constraint: + +| Quality | Ratio | 0.2 nozzle | 0.4 | 0.6 | 0.8 | +| --- | --- | --- | --- | --- | --- | +| Extra Fine | 0.2× | — | 0.08 | — | — | +| Fine | 0.3× | 0.06 | 0.12 | 0.18 | 0.24 | +| Optimal | 0.4× | 0.08 | 0.16 | 0.24 | 0.32 | +| Standard | 0.5× | 0.10 | 0.20 | 0.30 | 0.40 | +| Draft | 0.6× | 0.12 | 0.24 | 0.36 | 0.48 | +| Extra Draft | 0.7× | 0.14 | 0.28 | 0.42 | 0.56 | + +This is the `fdm_process_single__nozzle_` ladder; 0.4 is commonly the unsuffixed nozzle default. +Match neighbouring names rather than renaming shipped tiers to fit the table. + +The `@target` is a human label, not a reference: most do not equal any real printer variant name. +Compatibility comes from the resolved list or condition, not this label. + +## Shape + +A selectable leaf's only truly universal keys are `type`, `setting_id`, `name` and `instantiation`; +`inherits` and `from` are near-universal — plus compatibility. No slicing key is universal; even +`layer_height` is more often inherited than restated. A base has `type`, `name`, `instantiation`, almost +always `from`, and **no** `setting_id`. + +**Target shape: a 7-key leaf.** `OrcaArena` is the cleanest model — +`fdm_process_common` → `fdm_process_arena_common` → `fdm_process_arena__nozzle_` → leaf, where the +leaf carries only `type`, `name`, `inherits`, `from`, `setting_id`, `instantiation`, +`compatible_printers`, and the per-nozzle base holds the layer height and all eight line widths. + +BBL, WonderMaker and Z-Bolt are uniform in *layering* — every leaf inherits a base, names its printers +directly and holds no layer height of its own — but not in key count. Imitate BBL's layering, not its +content: its leaves carry doubled `print_extruder_variant` arrays that no single-variant vendor needs. + +Nearly every vendor ships its own `fdm_process_common` as the inherits-less root. Those files are not +identical; copying another vendor's version into a new bundle is normal. + +Beware leaf-inherits-leaf: Prusa chains several levels deep through sibling leaves, and Elegoo and +Flashforge do it too, so editing one selectable process silently changes others. Check a leaf's children +before editing it. + +## Compatibility + +Most leaves set `compatible_printers` directly; some inherit it from a base, and Prusa's fall through to +`compatible_printers_condition`. After resolving `inherits`, **every selectable process has one or the +other** — that is the invariant to review against. Unlike filaments, inheriting `compatible_printers` is +legitimate for a process, and no check enforces its presence. + +- A non-empty `compatible_printers` makes `compatible_printers_condition` **dead code**. Use one or + the other. +- A condition that fails to parse means *compatible with everything* — a warning, not an error. A typo + widens compatibility instead of narrowing it. +- Matching is `boost::regex` **`regex_match`** — a full-string match, which is why every shipped + condition wraps its keyword in `.*`. Because it is boost rather than `std`, `.` also spans the newlines + inside `printer_notes`. +- A `printer_notes` keyword that prefixes another model's keyword matches both. Prusa guards it: + + ``` + printer_notes=~/.*PRINTER_MODEL_COREONE[^_a-zA-Z0-9].*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/ + ``` + + The `[^_a-zA-Z0-9]` exists because `PRINTER_MODEL_COREONE_L` also contains `PRINTER_MODEL_COREONE`. + +`compatible_printers` is almost always one element. A leaf listing a whole model family is where a newly +added printer is usually forgotten. + +## What to review per nozzle + +| Key group | Review | +| --- | --- | +| `line_width` and per-region widths | resolved widths suit the nozzle and layer height | +| `layer_height`, `initial_layer_print_height` | within the printer's limits | +| print speeds | consistent with flow limits and hardware tuning | +| shell layers, wall loops, accelerations, support Z distances | preserve the intended thickness, motion and support behavior | + +**A common starting pattern is nozzle + 0.02 mm**: 0.22 / 0.42 / 0.62 / 0.82 / 1.02. In that pattern, at 0.4, +`inner_wall_line_width`, `sparse_infill_line_width`, `skin_infill_line_width` and +`skeleton_infill_line_width` widen to 0.45 and `initial_layer_line_width` to 0.5; at 0.2, +`initial_layer_line_width` widens to 0.25. Also derived, and easily missed: +`ironing_inset = line_width / 2` (0.11 / 0.21 / 0.31 / 0.41). +These are examples, not required values; preserve intentional vendor tuning and percentage/automatic +widths, and validate their resolved values. + +`min_layer_height` and `max_layer_height` are machine keys — no process file sets them. + +## Slice-time content checks + +`Print::validate()` enforces four rules at slice time: + +1. `initial_layer_print_height` ≤ min `nozzle_diameter` +2. `layer_height` ≤ min `nozzle_diameter` — *"Layer height cannot exceed nozzle diameter."* +3. `line_width` and the seven per-region widths (inner/outer wall, sparse infill, internal solid infill, + top surface, skin, skeleton) > `layer_height` — *"Line width too small"*. `support_line_width` only + when the object has support or a raft; `initial_layer_line_width` is never checked. +4. every width ≤ 5 × max `nozzle_diameter` — *"Line width too large"* + +Two further rules cover `bridge_line_width` (≤ nozzle diameter; > `layer_height` unless `thick_bridges` +and `thick_internal_bridges` are both on). The sweep starts from printer defaults rather than +enumerating every process. **A new non-default process gets no dedicated slice coverage in CI.** + +## What CI checks on a process + +Structure, not content: `process_list` name consistency **and** index coverage the other way, two files +claiming one process name, the `extruder_clearance_radius` / `extruder_clearance_max_radius` conflict +pair, duplicate JSON keys, a file `normalize` would rewrite, and the five `setting_id` rules (the fifth +rejects the misspelled key `settings_id`). `compatible_printers` presence is checked for **filaments +only**. + +Note the C++ loader derives a missing `setting_id` on the fly, so the validator will not fail a process +without one — only `orca_profile_tool.py check` catches it. Running the validator alone gives a false +all-clear. + +## Silent failures specific to processes + +- **Unknown or misspelled keys are discarded with no error and no warning.** They ship all over the + process tree, both plain typos (`inital_layer_height`, `tree_support_bramch_diameter_angle`, + `sparse_infill_patter`) and keys copied from other slicers that Orca never defined. +- Keys on the tool's `OBSOLETE_KEYS` list (`adaptive_layer_height`, `overhang_totally_speed`, …) are + rejected by `check`'s normalization pass across preset types; `normalize` removes them. + The additional per-key obsolete warnings read `filament/` only. +- A dangling `compatible_printers` inside an `instantiation: "false"` base is invisible to + `check_preset_references`: a base never becomes a `Preset` at all (its config goes into `config_maps` + and the loader returns early), so it is in no collection for the check to walk. +- Orphan bases that nothing inherits are scattered through the tree — usually the leftover of a + half-finished nozzle addition. + +## Adding a quality tier or a nozzle's processes + +1. Choose the layer height and quality label using the vendor's existing ladder. +2. If the vendor has per-nozzle bases, add one (`fdm_process___nozzle_`) with the layer + height, nozzle-appropriate line widths, `initial_layer_print_height` and `ironing_inset`. +3. Add the leaf: 7 keys, `compatible_printers` naming the exact printer variant(s). +4. Register both in `process_list`, parent first. Bump the version, run the id tool, validate. +5. Slice this process explicitly with its intended printer; the sweep gives non-default tiers no + dedicated coverage. If it is a printer's `default_print_profile`, verify the exact name and + resolved compatibility too — the sweep may fall back or select another compatible process. diff --git a/.claude/skills/orca-profiles/references/review-checklist.md b/.claude/skills/orca-profiles/references/review-checklist.md new file mode 100644 index 0000000000..1d49cf2524 --- /dev/null +++ b/.claude/skills/orca-profiles/references/review-checklist.md @@ -0,0 +1,199 @@ +# Reviewing a profile change + +Start with delivery, identity and backward compatibility, then check the affected preset types. +The table highlights gaps that need human review. What CI *does* run: +[validation.md](validation.md). + +| Not checked by CI | Consequence | +| --- | --- | +| The `version` bump | The change never reaches an upgrading user | +| A misspelled setting key | Setting silently has no effect | +| A filename Windows cannot check out, or one that differs from its `sub_path` only in case | Works on the author's machine, breaks the bundle on another platform | +| `bed_model` / `bed_texture` / `hotend_model` pointing at a missing asset | Bed renders as Custom, hotend falls back to the generic model | +| A nozzle size in a model's list with no matching variant | The size is offered and resolves to nothing | +| A non-default process | `validate_slice` gives non-default quality tiers no dedicated coverage | +| Whether the intended default survived compatibility selection | The sweep can select a different compatible preset | +| A dangling `compatible_printers` inside an `instantiation: "false"` base | A base never becomes a `Preset`, so the reference check never sees it (a bad `inherits` in a base *is* caught) | +| A `renamed_from` whose old name is still a live preset | The redirect is inert while a live preset carries that name | +| A preset differentiated only by color, or an all-printer library preset without `@System` | Per-color presets split one product across ids and the selector fills with near-duplicates; CI stays green | +| Per-extruder vector length on a multi-nozzle printer | Silently padded (with the **first** value) or truncated | +| A name that ignores its type's convention — a model in a `process` quality slot, or an unrelated target label left in a copied preset | The selector misrepresents the preset's quality or intended printer | + +## 1. Was the vendor `version` bumped? + +For **every** bundle whose folder the diff touches, `resources/profiles/.json` must have its +`version` incremented — last component, carrying `.99` into the third component. A library change +means bumping `OrcaFilamentLibrary.json`. + +*Why:* nothing in CI checks it, and `PresetUpdater` reinstalls only when `vendor_ver < resource_ver` — +without a bump the change reaches neither an upgrading user nor the author's own running app. + +## 2. Was the index rebuilt, and does the diff contain only this change? + +`check` now fails on an unregistered file, on an index `update-index` would reorder, and on a file +`normalize` would rewrite — so a PR that skipped them arrives red, and you do not have to spot the +omission yourself. Three things are still yours: + +- **The index diff belongs to this change.** `update-index` rewrites whole `*_list` sections. If the + bundle had drifted, the author's PR now carries someone else's reordering; ask for it in a separate + commit rather than reviewing it inline. +- **A deleted selectable preset needs a successor** as in item 4. `update-index` removes its + registration; `validate_custom` detects the break only for names covered by released fixtures. +- **`normalize` edits content, not just layout.** It drops `version` and `is_custom_defined` from preset + files, removes obsolete keys, deletes six print-speed keys from filament profiles, and resolves + `extruder_clearance_radius` against `extruder_clearance_max_radius` by keeping the larger. + Check that the keys it removed were meant to go. + +Obsolete keys fail `check`'s normalization pass and should be removed with `normalize`. +`check` also reports per-key obsolete warnings for filament profiles in the selected vendors. + +*Why:* the index is the loader's only entry point. Out-of-order entries fail with `can not find inherits` +and take the whole vendor bundle down; an unindexed file gets reviewed, merged and never loads. + +## 3. Are ids generated, not written? + +No hand-typed or copied `setting_id` / `filament_id`. Instantiated presets have a `setting_id`; bases do +not. `check` enforces all of that; what it cannot tell you is whether the identity *should* have moved. + +A rewritten or removed `filament_id` means a product's identity moved — a rename, or an edited +`filament_vendor` / `filament_type` — and the old id is not forwarded anywhere. Confirm that was +intended, and that a new id is not a rename in disguise. + +*Why:* a duplicate `filament_id` on one printer makes AMS spool matching a coin toss; a copied +`setting_id` breaks preset identity. See [ids.md](ids.md). + +## 4. Does anything disappear for existing users? + +A rename, a deletion, or a flip of `"instantiation": "true"` → `"false"` on a shipped preset removes the +name from the preset collection. It needs `renamed_from` on a successor — and only one preset may claim a +given old name. The claimed old name must **not** still be a live preset; the redirect is inert if it is. + +*Why:* user presets inheriting it die with `can not find parent for config !`; 3MF-embedded +presets are dropped with no error at all. Commit `33923464ae` reverted exactly this for Cubicon; +`6943b6ddc3` redid it correctly. CI's `validate_custom` catches the shipped-name case — but not an inert +`renamed_from`. + +## 5. Is `compatible_printers` right? + +Exact printer **variant** names, non-empty on every instantiated filament outside OrcaFilamentLibrary +and written in the preset's own file — golden rule 6, with the flattened-vs-own-key trap in +[filament-profiles.md](filament-profiles.md#compatible_printers). Watch for a nozzle-specific variant that +inherited or copied the base's full printer list, and for two presets of one product with overlapping +lists — duplicate combobox entries and an ambiguous AMS match. + +Two presets of one product (`filament_id`) must not share a variant. Resolve it by specificity: move the +variant to the most specific preset and remove it from the more general ones — preferred over deleting a +profile. Then repoint the machine's `default_filament_profile` and the model's `default_materials` at the +profile that now covers it. See +[one variant, one profile](filament-profiles.md#overlapping-coverage-one-variant-one-profile-per-product). + +*Why:* real shipped bugs twice (`b7b3418baf` "showing up everywhere", `ff83aa41ef` duplicate Flashforge +entries). The Python `check` passes on an overlap; only the full `check_profile.sh` (`validate_system`) +reports `Ambiguous AMS filament match`. + +## 6. Model ↔ variant ↔ process consistency + +- New nozzle size → the model's `nozzle_diameter` list extended, a variant with a matching + `printer_variant`, and at least one process listing that variant. +- `default_print_profile` is one exact name (not a `;` list), and that process's resolved + compatibility list or condition includes this printer. +- `default_filament_profile` is an array of names that exist. + +*Why:* an unlisted `printer_variant` is a hard bundle-load failure. Default process selection is +weaker: the sweep attempts the named default, then updates compatibility and rejects generic Default +fallbacks. Another compatible process can conceal a bad reference, so inspect it even after a pass. + +## 7. Types and spellings + +Every value a string or an array of strings; `filament_type` an array; `instantiation` the string +`"true"`/`"false"` — golden rule 7. Check index metadata and model `nozzle_diameter` especially; +wrong types there can abort loading for **every** vendor. + +The part only a reviewer can do: check new setting keys against `src/libslic3r/PrintConfig.cpp`. A +misspelled key is silently discarded (rule 8), the single most common way a profile edit does nothing +while CI stays green. + +## 8. Blast radius of a base edit + +A change to `fdm_*_common.json` reaches every child at once. Ask which presets it touches — several +reverts in this repo are exactly this (`41d1b0d3c8`, `dc491166a8`). Also check whether the edited leaf has +children of its own: Prusa, Flashforge and Elegoo all chain leaf-inherits-leaf several levels deep. + +## 9. Do the numbers make sense for the nozzle? + +Check resolved widths and layer heights against the nozzle, and flow limits / pressure advance +against the actual hardware and material. The patterns in [process-profiles.md](process-profiles.md) +are examples, not mandatory values; [filament-profiles.md](filament-profiles.md) explains what to +revisit for a nozzle change. A cloned preset's unchanged MVS needs particular scrutiny. + +Settings tuned for real hardware cannot be verified by reading the diff. Say so rather than approving +numbers nobody measured. + +## 10. Asset references (not checked anywhere) + +`bed_model`, `bed_texture`, `hotend_model` and `_cover.png` exist under +`resources/profiles//`. Broken references already ship; nothing checks them. + +## 11. `default_materials` (checked by CI) + +`check` fails on a `default_materials` / `default_filament_profile` name that resolves to no system +filament, so a dangling entry no longer reaches review. When compatibility moves between profiles of a +product, the machine's `default_filament_profile` and the model's `default_materials` must be repointed at +the most specific profile that still covers the variant, dropping generic entries that no longer apply — +the same [specificity rule](filament-profiles.md#overlapping-coverage-one-variant-one-profile-per-product) +applies when adding or fixing defaults. Scope the run while working on one vendor: + +```bash +python3 scripts/orca_profile_tool.py check --vendor "" # py -3 on Windows +``` + +## 12. Per-extruder vector lengths (not checked) + +One entry per extruder for the plain per-extruder vectors; the `printer_options_with_variant_1` keys are +sized to `printer_extruder_variant` instead. A wrong length is silently padded — repeating the **first** +value, not the last — or truncated. The two sizing families and the worked cases are in +[machine-profiles.md](machine-profiles.md#multi-extruder-idex-and-tool-changers). + +## 13. Non-default processes get no slice coverage + +`validate_slice` starts from printer defaults; it does not enumerate every process. Slice a new or +changed non-default tier explicitly with its intended printer. + +## 14. Housekeeping worth a nit, not a block + +`"from"` other than `"system"` (the preset-bundle loader ignores it, though the CLI's config-file loader +rejects anything but `system`/`user`/`User`), `printer_settings_id` copied from another +vendor, and a filename that disagrees with the preset's `name` (common; the loader keys off `name`). + +## 15. Cross-platform filenames and paths (not checked) + +Check for Windows-invalid characters, reserved device names, trailing path-component spaces/dots, +and case mismatches in `sub_path` or asset paths. See [cross-platform paths](validation.md#cross-platform-paths). + +## 16. Do the preset names follow the conventions? + +Check **every newly added profile and intentional name change**, including models and bases, +against [the naming conventions](naming.md#checking-names). Preserve shipped names during +ordinary tuning; renaming a shipped selectable preset requires the migration in item 4. + +*Why:* CI checks name uniqueness, but does not enforce the naming conventions. Catch naming +mistakes before the names ship and existing projects depend on them. + +--- + +## Reporting the review + +A finding is: **one defect**, its file, what breaks at runtime or in CI, and the fix. Split independent +defects into separate findings even when they live in one file — five id problems in one bullet get one +fix and four survivors. + +Severity discriminates only if it is earned: + +| Severity | Means | +| --- | --- | +| blocker | the bundle fails to load, or a preset is unreachable at runtime | +| major | CI fails, or existing users lose a preset | +| minor | wrong-but-working: dead keys, `from`, naming, redundant overrides | + +Compute every number and id (`orca_profile_tool.py`, a scripted count) or omit it — one invented count +makes a reader stop trusting the right ones. Report a command's result only if you ran it. diff --git a/.claude/skills/orca-profiles/references/validation.md b/.claude/skills/orca-profiles/references/validation.md new file mode 100644 index 0000000000..c23b555f49 --- /dev/null +++ b/.claude/skills/orca-profiles/references/validation.md @@ -0,0 +1,259 @@ +# Validating profiles + +```bash +./scripts/check_profile.sh # everything CI runs +./scripts/check_profile.sh --vendor "" # fast loop +./scripts/check_profile.sh profile_tool validate_slice # named checks only +``` + +```bat +scripts\check_profile.bat :: the same three, on Windows +scripts\check_profile.bat -Vendor "" +scripts\check_profile.bat profile_tool validate_slice +``` + +`check_profile.bat` is a shim around `check_profile.ps1` — same checks, same order, same logs; +the flags take PowerShell spellings (`-Vendor`, `-ProfilesDir`, `-Validator`, `-Download`, `-Refresh`, +`-WorkDir`, `-LogLevel`) and positional check names are unchanged. `-p`, `-v` and `-l` are aliases, so +`-v Elegoo -l 2` reads the same on both platforms. It passes `-ExecutionPolicy Bypass` because a +default Windows client refuses to run a checked-out `.ps1` at all. The `.ps1` finds Python itself, +probing `py -3`, then `python`, then `python3`; run the tool by hand with `py -3` for the same reason. + +Every check in the run happens even after an earlier one fails; the script exits non-zero if any did, and writes +`logs/.log` plus, on failure, `pr_comment.md` under a per-user cache dir — the same report CI posts on the PR. +That dir is `~/Library/Caches/orca-profile-check` on macOS, `${XDG_CACHE_HOME:-~/.cache}/orca-profile-check` on Linux +and `%LOCALAPPDATA%\orca-profile-check` on Windows; it is named apart from OrcaSlicer's own per-user dirs and sits +outside the checkout, so every worktree shares one copy. `--work-dir` / `-WorkDir` overrides it. A stale `.lock` +there after a crash must be removed by hand. + +## The five checks + +| Check | Command it runs | Catches | +| --- | --- | --- | +| `profile_tool` | `python3 scripts/orca_profile_tool.py check` | index coverage **both ways**, preset-name collisions, files `normalize`/`update-index` would still rewrite, duplicate JSON keys, filament `compatible_printers`, `filament_type` array, conflict keys, id length, **all `setting_id` and `filament_id` rules** | +| `validate_system` | `validator -p resources/profiles -l 2` | load errors, missing filament `compatible_printers`, dangling `inherits`/`compatible_*`, duplicate `filament_id` per printer | +| `validate_slice` | `validator -p … -s -l 2` | custom G-code expansion, unresolvable printer defaults | +| `validate_filament_subtypes` | `validator -p … -l 2 -f` | nothing extra — see below | +| `validate_custom` | `validator -p -l 2` | a shipped preset name that a past release offered no longer resolving | + +**`-f` is a no-op.** It is declared `po::bool_switch()->default_value(true)`, so the duplicate-`filament_id` +check runs whether or not you pass it — `validate_system` already fails on duplicates. The binary's own +`--help` ("Off unless this flag is present") does not reflect that default. + +### `validate_custom` — the backward-compatibility gate + +Downloads one fixture archive per past release (v1.9.0 onwards) of *generated mock* user presets — +a `__orca_test` copy of every system preset that +release shipped, cut with the validator's own `-g 1` mode — unpacks each over a copy of the current tree +and loads it. Each entry holds only `inherits` plus a canned diff, so the one failure it adds over +`validate_system` is a shipped preset name disappearing. (The whole current tree sits under each fixture, +so every `validate_system` error fails it too.) This is what makes a rename or an +`instantiation` flip a CI failure rather than just a user complaint, and the reason `renamed_from` is +mandatory. + +### `validate_slice` + +Slices a two-colour cube on every instantiable printer in the tree, sequentially, forcing the prime tower. +It selects `default_print_profile` and the first `default_filament_profile`, then updates compatibility; +that update can select a different compatible preset. Confirm the intended defaults yourself rather +than treating a passing sweep as proof that those exact presets were sliced. +A printer fails if it cannot be selected, falls back to a Default preset, throws, produces no g-code, or +emits no `CP TOOLCHANGE START`. It cannot be scoped to a filament-only vendor +(`No instantiable printer presets found for vendor OrcaFilamentLibrary`); `check_profile.sh` records it +as SKIP for a vendor with no `machine/` folder. + +## `orca_profile_tool.py check` + +`check` is one subcommand of the tool that also owns +`generate-id`, `normalize`, `trim` and `update-index`; see [ids.md](ids.md) for the writing half. + +| Per vendor | Catches | +| --- | --- | +| `check_preset_name_uniqueness` | two files in one bundle claiming one type + name — indexed or not | +| `check_index_coverage` | a file on disk that no `*_list` references (**an error, not a warning**) | +| `check_name_consistency` | an index entry whose `name` disagrees with the file, or whose `sub_path` is missing | +| `check_normalized` | a file `normalize` would rewrite, and an index `update-index` would rebuild | +| `check_filament_compatible_printers` | an instantiated non-library filament with no `compatible_printers` of its own | +| `check_conflict_keys` | `extruder_clearance_radius` alongside `extruder_clearance_max_radius` | +| `check_vector_type_keys` | a vector option written as a scalar (`"filament_type": "PLA"`) | +| `check_filament_id_length` | a declared `filament_id` longer than 8 characters | +| `check_machine_default_materials` | every `default_materials` / `default_filament_profile` name resolves | +| `check_obsolete_keys` | per-key warnings for ignored options; **filament files only** | + +Tree-wide, **ignoring `--vendor` entirely**: `check_setting_id_uniqueness` and `check_filament_ids`. So a +vendor-scoped run can and does fail on another vendor's files — and it saves seconds, not minutes. + +Unscoped, the per-vendor pass covers every bundle. The only exclusion is the stray `user/` directory +(see below); `OrcaFilamentLibrary` is held to the same rules as any vendor, its sole exemption being +that a library filament may leave `compatible_printers` empty — exactly what +`check_filament_compatible_printers` allows. `check_normalized` covers every bundle with an index. + +Notes that matter: + +- Exit codes: **0** clean, **1** errors found, **2** argparse misuse. Warnings never change the exit code. +- A nonexistent `--vendor` is a hard error — `[ERROR] unknown vendor "" in `, exit 1. +- `--vendor ""` means all vendors; `check_profile.sh` relies on that. `--vendor` is repeatable. +- A **stray directory** under `resources/profiles/` still gets counted as a vendor by the per-vendor pass + and warned about (`No profiles found for vendor: at …/.json`, and the "Checked vendors" count + goes up by one). The one exception is `user/`, the validator's data dir, which an unscoped `check` + skips by name; `--vendor user` still checks and warns about it. Warnings never change the exit code. + `normalize`, `trim` and `update-index` ignore strays too — they define a bundle as *a directory with a + matching index file*. +- Each remedy is printed once for the whole run, not once per file, as a `[WARNING]` under the errors + ("2 unreferenced file(s) above: delete them, or run … update-index"). Read those lines: they name the + command that fixes the batch. +- The trailing summary always suggests `normalize`. That is right for the shape errors and misleading for + everything else — an id error needs `generate-id`, a dangling `default_materials` needs a human. +- `resources/profiles/check_unused_setting_id.py` is a legacy BBL-only diagnostic, not part of + profile CI. Use `orca_profile_tool.py check` for current id validation. + +### Obsolete-key diagnostics + +`check` always reports per-key warnings for obsolete options in filament profiles. +The normalization check also rejects obsolete keys across preset types; `normalize` removes them. + +### Default-material references + +The materials check finds `default_materials` / `default_filament_profile` entries naming a preset +that does not exist. The three authoring errors it surfaces are `,` instead of `;`, wrong case +(`@system`), and a whole `;`-joined string stuffed into one array element. + +### `normalize` and `update-index` are part of the check + +`check` fails when either command would still change something, so they are not optional polish — the +file that gets reviewed has to be the file that ships. What `normalize` changes is narrow and fixed: +adds a missing `type`, deletes a `version` or `is_custom_defined` key from a *preset* file, deletes six +print-speed keys from filament profiles (`initial_layer_print_speed`, `outer_wall_speed`, +`inner_wall_speed`, `infill_speed`, `top_surface_speed`, `travel_speed`), deletes the +obsolete keys in `PrintConfigDef::handle_legacy`'s `ignore` set across preset types, resolves the +`extruder_clearance_*` conflict pair by keeping the larger, arrayifies five filament options besides +`filament_type`, and hoists `type`, `name`, `renamed_from`, `inherits`, `from`, `setting_id`, +`filament_id`, `instantiation` to the front. A file it changes is then rewritten whole — tab-indented, +LF, one trailing newline, keys reordered. + +**Set `type` explicitly when authoring.** For a file in `machine/` without it, normalization guesses +`machine` only if its name contains `nozzle`, otherwise `machine_model`. That heuristic cannot +reliably classify shared machine bases or unusually named variants. + +The Python obsolete-key set is checked against the C++ source by a unit test. Active options +and legacy aliases that the loader migrates (such as `extruder_type` and +`extruder_clearance_max_radius`) are preserved. + +Two things it therefore does **not** enforce: + +- **Formatting and key order on their own.** A file with none of those problems is skipped entirely, so + 4-space indent, a missing trailing newline, and a file that leads with `compatible_printers` all pass + `check`. They stay latent until something else trips `normalize` and the whole file reformats inside an + unrelated diff. (`normalize --force` rewrites every file, which is not something to run on a shipped + bundle.) +- **A misspelled setting key.** `inital_layer_height` and `sparse_infill_densiti` pass `check` cleanly. + Verify new keys against `PrintConfig.cpp` and `PrintConfigDef::handle_legacy`. + +## The validator binary + +Built from `src/dev-utils/OrcaSlicer_profile_validator.cpp` (`-DORCA_TOOLS=ON`). +Both scripts find a local build under `build*/` — `check_profile.sh` tries Release, RelWithDebInfo, then +Debug, and `check_profile.ps1` adds MinSizeRel — else they download the nightly into the +`validator` subdirectory of the per-user cache dir (see above). Pass `--download` / `-Download` to +match CI exactly, since a stale local build is used silently. Windows looks for +`OrcaSlicer_profile_validator.exe`. + +If your build lives somewhere else entirely, point at it with `--validator` / `-Validator`, or set +`ORCA_PROFILE_VALIDATOR` (`$env:ORCA_PROFILE_VALIDATOR` in PowerShell). + +| Flag | Meaning | +| --- | --- | +| `-p ` | profile tree (also becomes the data dir) | +| `-l ` | log level; CI uses 2 | +| `-v ` | load only that vendor **plus** OrcaFilamentLibrary | +| `-s` | slice sweep | +| `-f` | no-op (see above) | +| `-g 1` | regenerate user-preset fixtures; takes a value, and wipes the user preset dir first | + +On ARM64 Linux the nightly is x86-64 only — the script warns and downloads anyway, producing a binary +that will not run. Build it locally instead. + +Running the validator directly uses the profile tree as its data directory and can create `user/` +there. Prefer the wrappers, which stash existing user presets and restore them afterward. After a +direct run, inspect `user/` and remove only empty directories created by that run; fixtures or +pre-existing user files may be present. + +## Checking a copy of the tree + +Use `--profiles DIR` on the Python tool and `-p DIR` on the validator. The wrappers' `--profiles` / +`-ProfilesDir` passes the tree to both, so one run validates a copy fully: + +```bash +./scripts/check_profile.sh --profiles "" +``` + +On Windows use `scripts\check_profile.bat -ProfilesDir ""`. + +## Testing in the app + +Editing this checkout's `resources/profiles` does not update a separately installed application. +Test with a build using the edited resources and a bumped bundle version; the updater installs newer +bundles under `/system/`, and the preset cache also depends on the bundle version. +Use Help ▸ Show Configuration Folder to locate the active data directory: + +| Platform | Default data directory | +| --- | --- | +| macOS | `~/Library/Application Support/OrcaSlicer` | +| Linux | `$XDG_CONFIG_HOME/OrcaSlicer`, or `~/.config/OrcaSlicer` when unset | +| Windows | `%APPDATA%\OrcaSlicer` | + +A portable `data_dir` next to the executable takes precedence. Use a separate test configuration +for a clean-install check; preserve the normal configuration and user presets. + +## Cross-platform paths + +Match the exact case of each `sub_path` and asset filename; Linux filesystems commonly distinguish +case even when a macOS or Windows checkout does not. Preset-name references are case-sensitive +on every platform. Avoid Windows-invalid characters (`< > : " | ? *`), reserved device names +such as `CON` / `NUL` (including with extensions), and trailing spaces or dots in path components. +Keep stems tidy too, but a space immediately before `.json` is not a trailing path-component space. + +## Error → remedy + +| Message | Fix | +| --- | --- | +| `can not find inherits for ` | parent missing, unregistered, or listed **after** the child | +| `can not find filament_id for ` | nothing in the chain declares one — run `generate-id` | +| `can not find parent for config !` | a shipped name disappeared — add `renamed_from` | +| `Missing instantiation attribute for ` | key absent **or** not the string `"true"`/`"false"` | +| `contains incorrect keys: , which were removed` | a key valid for a different preset type | +| `defines invalid printer variant ""` | not in the model's `nozzle_diameter` list | +| `has printer_variant "" that does not match its nozzle_diameter` | the set comparison in [machine-profiles.md](machine-profiles.md) | +| `references unknown compatible_printers "

"` | the printer was renamed or deleted; fix the reference | +| `references renamed compatible_printers "" (now "")` | in-tree references must name the current preset; `renamed_from` does not excuse them | +| `Filament preset "" is missing compatible_printers setting` | non-library filaments need a non-empty list in their **own** file — the flattened-vs-own-key trap is in [filament-profiles.md](filament-profiles.md#compatible_printers) | +| `Ambiguous AMS filament match: N presets share filament_id "X" … printer "Y"` | make the lists disjoint by [specificity](filament-profiles.md#overlapping-coverage-one-variant-one-profile-per-product) — the specialized profile keeps the variant, the general ones drop it; prefer this over deleting a profile — or fix an `inherits` pointing at another material's `@base`. `orca_profile_tool.py check` does not catch this; only `validate_system` here does | +| `Layer height cannot exceed nozzle diameter.` / `Line width too small` | `Print::validate()` flow rules | +| `[ERROR] … no .json list references it, so it never loads` | `update-index`, or delete the file | +| `[ERROR] … references it and it declares no profile type` | set the correct `type` explicitly, then `normalize` and `update-index` | +| `[ERROR] … normalize would ` / `.json: update-index would rebuild ` | run that command and commit the result | +| `[ERROR] has N profiles named ""` | identify the intended preset and remove or rename the duplicate; use `trim --dry-run` only for deliberate unindexed-file cleanup | +| `[ERROR] … must not have a setting_id` / `is missing a setting_id` | `generate-id --setting-id` | +| `inherits filament_id "X" but its own triple … mints "Y"` | `generate-id` will **not** fix this — see [ids.md](ids.md) | +| `vendor 's config version: invalid` | the `version` string is not Semver-parseable | +| `[json.exception.type_error.302] type must be string` | locate the non-string value in the index or model; see [failure scopes](vendor-bundle.md#failure-modes-ranked-by-blast-radius) | +| `Printer "

" fell back to a default preset` | final process or filament selection is a generic Default preset; check named defaults, visibility and available compatible presets. An incompatible default may instead be replaced without this error | +| `Printer "

" sliced but the filament change never fired` | `change_filament_gcode` never expanded | + +## CI + +`.github/workflows/check_profiles.yml`, job **"Check profiles"**, on `pull_request` into `main` or +`release/*`, paths `resources/profiles/**`, `resources/printers/**`, `scripts/**` and the workflow itself. +There is no push trigger — a direct push to main runs no profile validation. + +The job opens with `python3 -m unittest discover -s scripts/tests -t scripts`, the tool's own unit +tests. That step is deliberately **not** `continue-on-error`: a broken tool makes everything it then says +about the profiles worthless. Every check after it is `continue-on-error` with a final gate, so one run +reports all five results. On failure a second workflow posts or replaces a single PR comment marked +``, with each failing log truncated to 30 KB; it deletes the comment +once the run is green. + +The job name is also the required check for the delegated-merge bot, which lets a vendor maintainer +self-merge a `resources/profiles//` PR with no human review — so whatever CI does not check +is what ships unreviewed. Its denied patterns refuse `^scripts/` and any `.py`, so a PR that touches the +tooling always needs a maintainer. diff --git a/.claude/skills/orca-profiles/references/vendor-bundle.md b/.claude/skills/orca-profiles/references/vendor-bundle.md new file mode 100644 index 0000000000..29aac13331 --- /dev/null +++ b/.claude/skills/orca-profiles/references/vendor-bundle.md @@ -0,0 +1,175 @@ +# The vendor bundle and the loader + +A bundle is `resources/profiles/.json` (the index) plus `resources/profiles//`. +The **vendor id is the filename stem**, not the `name` inside — several differ (`BBL.json` is named +"Bambulab"). Asset paths and the `setting_id` formula use the id; the `validate_custom` fixture prefix +uses the `name`. + +## The index + +```json +{ + "name": "Phrozen", + "version": "02.04.00.03", + "force_update": "0", + "description": "Phrozen configurations", + "machine_model_list": [ { "name": "...", "sub_path": "machine/....json" } ], + "machine_list": [ ... ], + "process_list": [ ... ], + "filament_list": [ ... ] +} +``` + +The loader reads `name`, `version`, `url` and the four `*_list` arrays. +`description` is only logged. `force_update` is read by `PresetUpdater`, never by the loader. +`sub_path` is relative to the **vendor folder**. + +| List | Holds | +| --- | --- | +| `machine_model_list` | `machine_model` records (the printer product) | +| `machine_list` | printer variants **and** shared machine bases | +| `process_list` | selectable processes **and** shared process bases | +| `filament_list` | selectable filaments **and** shared filament bases | + +### Three registration rules + +1. **Everything is registered, bases included.** Every preset file on disk has exactly one entry in the + matching list, and no unindexed preset file is left in the tree. +2. **Parents before children.** `inherits` resolves against a per-kind map filled as the list is walked + (`configs.clear()` then process, filaments, printers). A parent listed after its child produces + `can not find inherits for ` and the bundle is discarded. +3. **The index entry's `name` must equal the `name` inside the sub_path file.** `check_name_consistency` + walks the index looking for the files; `check_index_coverage` walks the files looking for them in the + index. The `renamed_from` escape hatch `check_name_consistency`'s docstring promises is commented out. + +All three are `check` errors now, and `update-index` writes an index that satisfies all three from the +files on disk — including the parents-first ordering, by topological sort. Hand-editing the index is +fine for a one-line addition, but the committed result must equal what `update-index` writes, because +`check` compares them. + +The loader itself reports none of this: an unregistered file, or an entry with a typo'd key +(`"subpath"`), is silently dropped. (A typo'd `sub_path` is a `check` error naming the entry.) + +`BBL/cli_config.json` and `BBL/filament/filaments_color_codes.json` are auxiliary data loaded by path, +not presets. The tool's `NON_PROFILE_FILES` excludes these basenames from preset maintenance. + +## `version` + +Parsed by a four-component Semver where the 4th is folded in as `patch = patch*100 + value`. Write it +zero-padded, `MM.mm.pp.bb`; a couple of bundles drop a component or the padding, but do not imitate them. + +- **Bump the version for every bundle the PR touches.** `PresetUpdater` installs bundled resources + only when their version is newer than the installed version; the `.opc` preset cache is also + versioned. Nothing in profile CI checks the bump. +- **Keep the last component ≤ 99.** `02.04.00.100` and `02.04.01.00` both parse to `2.4.100`. A bundle + that reaches `.99` carries into the third component (`02.03.02.99` → `02.03.03.00`). +- An **absent** version is worse than a stale one: the validator still passes, but `Semver::valid()` + excludes `0.0.0`, so the vendor is dropped from the configuration wizard entirely and the preset cache + is disabled for it. An *unparseable* version is not silent — it throws and discards the whole bundle + (see the failure table below). + +## Common preset keys + +| Key | Value | +| --- | --- | +| `type` | `machine_model` / `machine` / `process` / `filament` | +| `name` | the preset name; the filename is *not* authoritative | +| `inherits` | the parent's exact `name` — no path, no `.json` | +| `instantiation` | the **string** `"true"` (selectable) or `"false"` (base) | +| `from` | `"system"` by convention; the vendor loader never reads it | +| `setting_id` | required on instantiated presets, forbidden on bases — generated | +| `renamed_from` | `;`-separated list of old names this preset supersedes | + +These are config-preset keys; `machine_model` records have their own +[schema](machine-profiles.md#a-machine_model-is-not-a-config-preset). Keep `from` as `"system"` +for shipped presets. The vendor loader ignores it, but the CLI config-file loader accepts only +`system`, `user` or `User` and handles their inheritance differently. + +`instantiation` is the one metadata key that is hard-gated: a missing key or any value other than the +strings `"true"`/`"false"` is an error (`Missing instantiation attribute for `). A JSON boolean +`true` fails harder — it throws inside `load_from_json` and takes the **whole vendor bundle** down. + +### `inherits` + +Resolution is an exact-name lookup **within the same bundle**, plus one exception: filaments may inherit +from `OrcaFilamentLibrary`, which is loaded first and becomes the base bundle. Vendor-to-vendor +inheritance always fails. You can inherit from an instantiated preset as well as from a base; it is +common. + +### `renamed_from` + +One JSON string, `;`-separated for several old names. + +- Write `"A;B"`, never `"A ; B"` — an unquoted item keeps its trailing space and can never match. +- When `renamed_from` is **absent** and the name contains `@`, the loader auto-adds the `@`-removed form + (`X @Y` → `X Y`) as a rename alias. Declaring an explicit `renamed_from` **suppresses** that, so a + preset that needs both the `@`-removed form and a real old name must list both. No shipped profile + currently does, which means any preset that gained a `renamed_from` quietly lost its `X Y` alias. +- It rescues names stored **outside** the tree: user presets and 3MF projects. It does **not** rescue + in-tree `inherits` (exact lookup), it does **not** satisfy `check_name_consistency`, the validator + reports an in-tree reference that only resolves through it (`references renamed compatible_printers + "OLD" (now "NEW")`), and `machine_model` records never read it at all. +- Only one preset may claim a given old name — two that do is a counted error + (`… was marked as renamed from "Y" … as well`). But the redirect is **inert while a live preset still + carries that name**, and nothing checks *that*; Z-Bolt ships a folder of such dead entries. + +## Failure modes, ranked by blast radius + +| Scope | Cause | +| --- | --- | +| **All vendors, zero system profiles** | a non-string `version`, `name` or `url` at the top level of a vendor index (`"version": 2`), or non-string `nozzle_diameter` on a model — `nlohmann::type_error` escapes the per-vendor `std::runtime_error` catch | +| **The whole vendor bundle** | unparseable `version`; index JSON parse error; a `sub_path` file missing or unparseable; unresolvable `inherits`; duplicate preset name within the vendor; empty/unknown `printer_model` or `printer_variant`; a filament resolving no `filament_id` | +| **One preset** | `instantiation` missing or a wrong string; keys belonging to another preset type (`contains incorrect keys: …, which were removed`); a non-string inside a `*_list` entry (`invalid value type for `) | +| **Logged, not counted** | a raw JSON number in a preset — `invalid json type for `, the value is dropped and the exit code stays 0 | +| **Nothing reported by the loader** | unregistered file; misspelled setting key; missing bed/hotend asset. Only the first of those is a `check` error; the other two reach users | + +Deleting a file the index still lists surfaces as a *parse error* on line 1, not "file not found" — the +loader `ifstream`s the missing path and nlohmann reports `unexpected end of input`. + +Preset names are a **single global namespace across every vendor**: a duplicate within one vendor is a +hard bundle failure, a duplicate across vendors is reported as `Found duplicated preset: in +vendor: ` and still counts as an error. `check_preset_name_uniqueness` catches the within-bundle +case earlier and more precisely — including an *unindexed* twin, which is one `sub_path` edit away from +silently becoming the parent every child resolves to (`std::map::emplace` keeps the first insertion, so +index order decides). Base names, by contrast, repeat across bundles by design: `fdm_process_common` +exists in nearly all of them. + +## Starting a whole new vendor bundle + +Nothing generates one; copy the smallest bundle that resembles the hardware. **`Voxelab` or `M3D`** are +the minimal shape — a shared machine base, the model, one variant, a shared process base, two +processes, and an empty `filament_list` that takes the library generics. Do *not* start from `Phrozen`: +it carries local `fdm_filament_*` copies that have drifted from the library, and a filament preset that +restates most of its parent — the style this skill advises against. + +Write the machine files **last**, so you only visit them once: + +1. **Choose the names first** — model, variant(s), process(es). Everything else references them. +2. `resources/profiles/.json`: `name`, `version` (`01.00.00.00`), `force_update: "0"`, + `description`, and all four `*_list` arrays (an empty `filament_list` is fine). +3. The shared bases — `/machine/fdm_machine_common.json` and + `/process/fdm_process_common.json`, both `"instantiation": "false"` with no `setting_id`. + For a Klipper printer add your own `/machine/fdm_klipper_common.json` inheriting the machine + base; there is no shared one, because a `machine` preset can only inherit inside its own bundle. +4. One selectable process per variant, each naming its variant in `compatible_printers`. +5. Bed assets and `_cover.png`, all directly in `/`. None of them is needed for the + bundle to load, and nothing in CI checks them — but the bed files are inert unless the `machine_model` + names them in `bed_model` / `bed_texture`, and the cover is found by convention as + `_cover.png`. +6. The `machine_model` record and the `machine` variants, now that every value they reference exists — + the minimum key sets and the `default_*` shapes are in + [machine-profiles.md](machine-profiles.md#the-machine-variant). +7. Run the tool and validate — follow + [Creating or modifying a profile](../SKILL.md#creating-or-modifying-a-profile). `generate-id` is not + optional for a new bundle: the validator loads presets that have no `setting_id`, but `check` fails + every one of them. `update-index` will fill the four `*_list` arrays for you once the files exist, so + step 2 only needs the bundle metadata to be right. + +## `resources/profiles_template/` + +A separate tree (`Template.json` + `Template/`) holding filament and process templates. It is **not** a +scaffold for shipped profiles — `CreatePresetsDialog.cpp` reads it for the in-app "create a custom +printer/filament" wizard, so editing it changes what users get when they create a custom preset. +`check_profile.sh`'s validator checks default to `resources/profiles` (redirectable with `-p`), and so +does `orca_profile_tool.py` (redirectable with `--profiles`); +neither covers this tree. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 63f74a069e..6019c2bc8b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,5 +1,5 @@ name: 🐞 Bug Report -description: File a bug report +description: Something behaves incorrectly while Orca Slicer keeps running labels: ["bug"] body: - type: markdown @@ -10,6 +10,8 @@ body: Please note that this is not the place to make feature requests or ask for help. For this, please use the [Feature request](https://github.com/OrcaSlicer/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=feature_request.yml) issue type or you can discuss your idea on our [Discord server](https://discord.gg/P4VE9UY9gJ) with others. + If Orca Slicer closes on its own, freezes or stops responding, please use the [Crash report](https://github.com/OrcaSlicer/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=crash_report.yml) form instead. It asks for the logs a crash needs. + Before filing, please check if the issue already exists (either open or closed) by using the search bar on the issues page. If it does, comment there. Even if it's closed, we can reopen it based on your comment. - type: checkboxes attributes: @@ -47,7 +49,7 @@ body: id: os_type attributes: label: "Operating System (OS)" - description: "What OSes are you are experiencing issues on?" + description: "What OSes are you experiencing issues on?" multiple: true options: - Linux @@ -86,7 +88,7 @@ body: id: reproduce_steps attributes: label: How to reproduce - description: Please described the detailed steps to reproduce this issue + description: Please describe the detailed steps to reproduce this issue placeholder: | 1. Go to '...' 2. Click on '...' @@ -108,28 +110,23 @@ body: description: What should happen after the above steps? validations: required: true - - type: markdown - id: file_required - attributes: - value: | - Please be sure to add the following files: - * Please upload a ZIP archive containing the **project file** used when the problem arise. Please export it just before or after the problem occurs. Even if you did nothing and/or there is no object, export it! (We need the configurations in project file). - You can export the project file from the application menu in `File`->`Save project as...`, then zip it - * A **log file** for crashes and similar issues. - You can find your log file here: - Windows: `%APPDATA%\OrcaSlicer\log` or usually `C:\Users\\AppData\Roaming\OrcaSlicer\log` - MacOS: `$HOME/Library/Application Support/OrcaSlicer/log` - Linux: `$HOME/.config/OrcaSlicer/log` - If Orca Slicer still starts, you can also reach this directory from the application menu in `Help` -> `Show Configuration Folder` - You can zip the log directory, or just select the newest logs when this issue happens, and zip them - type: textarea id: file_uploads attributes: label: Project file & Debug log uploads - description: Drop the project file and debug log here + description: | + Attach the files with the **Paste, drop, or click to add files** control directly underneath this box. Zip anything that is not a `.log`, `.txt` or image, since GitHub rejects other file types, and keep each file under 25 MB. + + * The **project file** used when the problem happened, zipped. Export it just before or after the problem occurs. Even if you did nothing and there is no object on the plate, export it, since we need the configuration it carries. `File` -> `Save project as...` + * The **log folder**, zipped. `Help` -> `Show Configuration Folder` opens it, or find it at: + * Windows: `%APPDATA%\OrcaSlicer\log`, usually `C:\Users\\AppData\Roaming\OrcaSlicer\log` + * macOS: `$HOME/Library/Application Support/OrcaSlicer/log` + * Linux: `$HOME/.config/OrcaSlicer/log` + * Flatpak: `$HOME/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/log` + * If the zip comes out over 25 MB, attach the newest logs from that folder on their own instead. placeholder: | - Project File: `File` -> `Save project as...` then zip it & drop it here - Log File: `Help` -> `Show Configuration Folder`, then zip the log directory, or just select the newest logs in `log` when this issue happens and zip them, then drop the zip file here + Zipped project file + Zipped log folder validations: required: true - type: checkboxes @@ -144,7 +141,5 @@ body: label: Anything else? description: | Screenshots? References? Anything that will give us more context about the issue you are encountering! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. validations: required: false diff --git a/.github/ISSUE_TEMPLATE/crash_report.yml b/.github/ISSUE_TEMPLATE/crash_report.yml new file mode 100644 index 0000000000..bcbee11d36 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/crash_report.yml @@ -0,0 +1,183 @@ +name: 💥 Crash Report +description: Orca Slicer closes on its own, freezes or stops responding +labels: ["crash"] +body: + - type: markdown + attributes: + value: | + **Thank you for taking the time to report a crash.** + + Use this form when Orca Slicer closes on its own, freezes, or stops responding. + If the application stays open and only produces a wrong result, please use the [Bug report](https://github.com/OrcaSlicer/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=bug_report.yml) form instead. + A printer whose toolhead collides with the print is also a bug report rather than a crash, since the application itself did not stop. + + Before filing, please check if the issue already exists (either open or closed) by using the search bar on the issues page. If it does, comment there. Even if it's closed, we can reopen it based on your comment. + - type: checkboxes + attributes: + label: Is this crash reproducible in the latest nightly build? + description: > + Please verify this crash still happens in the latest nightly build first. It may already be fixed there: + [Nightly builds](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds). + options: + - label: I have checked the latest nightly build and the crash is still reproducible + required: true + - type: checkboxes + attributes: + label: Is there an existing issue for this crash? + description: Please search to see if an issue already exists for the crash you encountered. + options: + - label: I have searched the existing issues + required: true + - type: input + id: version + attributes: + label: OrcaSlicer Version + description: Which version of Orca Slicer are you running? You can see the full version in `Help` -> `About Orca Slicer`. + placeholder: e.g. 2.5.0 + validations: + required: true + - type: input + id: working_version + attributes: + label: Regression compared to a previous version + description: Did it work in a previous version? + placeholder: e.g. 2.3.2 + validations: + required: false + - type: dropdown + id: os_type + attributes: + label: "Operating System (OS)" + description: "What OSes are you seeing the crash on?" + multiple: true + options: + - Linux + - macOS + - Windows + validations: + required: true + - type: input + id: os_version + attributes: + label: "OS Version" + description: "What OS version does this relate to?" + placeholder: "i.e. OS: Windows 7/8/10/11 ..., Ubuntu 22.04/Fedora 36 ..., macOS 10.15/11.1/12.3 ..." + validations: + required: true + - type: input + id: printer + attributes: + label: Printer + description: Which printer was selected + placeholder: Voron 2.4/VzBot/Prusa MK4/Bambu Lab X1 series/Bambu Lab P1P/... + validations: + required: true + - type: dropdown + id: crash_moment + attributes: + label: When does the crash happen? + description: Pick the point where Orca Slicer stops working. + options: + - Not sure + - On startup, before the main window appears + - When opening or importing a project or model + - While changing printer, filament or process settings + - While slicing + - In the 3D view, Preview or Assembly view + - When exporting G-code or sending a print to the printer + - On the Device tab, or connecting to a printer (camera, sync, login) + - While using a specific tool, dialog or calibration + - After resuming from sleep or changing monitors + - When closing the application + - No clear pattern + validations: + required: true + - type: dropdown + id: crash_frequency + attributes: + label: How often does it happen? + options: + - Not sure + - Every time + - Often, but not every time + - Rarely + - It only happened once + validations: + required: true + - type: dropdown + id: fresh_config + attributes: + label: Does it still crash with a fresh configuration? + description: > + Close Orca Slicer and rename your configuration folder (`%APPDATA%\OrcaSlicer` on Windows, + `$HOME/Library/Application Support/OrcaSlicer` on macOS, `$HOME/.config/OrcaSlicer` on Linux), + then start it again. Renaming keeps your settings, so you can put the folder back afterwards. + options: + - I have not tried this + - Yes, it still crashes + - No, the crash goes away + validations: + required: true + - type: textarea + id: reproduce_steps + attributes: + label: How to reproduce + description: Please describe the detailed steps that lead to the crash. + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. Orca Slicer closes + validations: + required: true + - type: textarea + id: system_info + attributes: + label: Additional system information + description: > + Display card and driver version are worth adding for crashes on startup or in the 3D view. + CPU and memory are worth adding for crashes while slicing. + placeholder: | + CPU: 11th gen Intel r core tm i7-1185g7/AMD Ryzen 7 6800h/... + Memory: 32/16 GB... + Display Card: NVIDIA Quadro P400/... + validations: + required: false + - type: textarea + id: file_uploads + attributes: + label: Project file, logs and crash report uploads + description: | + A crash report without logs usually cannot be acted on. Attach the files with the **Paste, drop, or click to add files** control directly underneath this box. Zip anything that is not a `.log`, `.txt` or image, since GitHub rejects other file types, and keep each file under 25 MB. + + * The **project file** used when the crash happened, zipped. Export it just before or after the crash, even if the plate is empty, since we need the configuration it carries. `File` -> `Save project as...` + * The whole **log folder**, zipped rather than single files picked out of it. `Help` -> `Show Configuration Folder` opens it, or find it at: + * Windows: `%APPDATA%\OrcaSlicer\log`, usually `C:\Users\\AppData\Roaming\OrcaSlicer\log` + * macOS: `$HOME/Library/Application Support/OrcaSlicer/log` + * Linux: `$HOME/.config/OrcaSlicer/log` + * Flatpak: `$HOME/.var/app/com.orcaslicer.OrcaSlicer/config/OrcaSlicer/log` + * On Windows the crash itself is written to a separate `crash_*.log` in there, and that is the file we need most. If the zip comes out over 25 MB GitHub will refuse it, so attach the newest log and any `crash_*.log` on their own instead. + * The **operating system crash report**, on macOS and Linux, where Orca Slicer cannot write its own crash log. It is often the only record of where it died: + * macOS: Console.app -> Crash Reports, or `$HOME/Library/Logs/DiagnosticReports/`. The file starts with `OrcaSlicer` and ends in `.ips`. Zip it before attaching, GitHub does not accept `.ips` files. + * Linux: run `orca-slicer` from a terminal (Flatpak: `flatpak run com.orcaslicer.OrcaSlicer`) and paste everything it prints when it dies. On systemd systems `coredumpctl info orca-slicer` gives a backtrace. + placeholder: | + Zipped project file + Zipped log folder + Zipped macOS .ips crash report, or the terminal output on Linux + validations: + required: true + - type: checkboxes + id: file_checklist + attributes: + label: Checklist of files to include + options: + - label: Log folder + - label: Project file + - label: Operating system crash report (macOS and Linux) + - type: textarea + attributes: + label: Anything else? + description: | + Screenshots? References? Anything that will give us more context about the crash you are encountering! + validations: + required: false diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 0ab9cfe41d..24317b0add 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -14,6 +14,9 @@ on: - 'localization/**' - 'resources/**' - ".github/workflows/build_*.yml" + - ".github/workflows/unit_tests*.yml" + - 'build_win.bat' + - 'scripts/test_build_win.ps1' - 'scripts/build_preset_cache.*' - 'scripts/flatpak/**' - 'scripts/msix/**' @@ -30,9 +33,8 @@ on: - '**/CMakeLists.txt' - 'version.inc' - ".github/workflows/build_*.yml" + - ".github/workflows/unit_tests*.yml" - 'build_linux.sh' - - 'build_release_vs.bat' - - 'build_release_vs2022.bat' - 'build_win.bat' - 'scripts/test_build_win.ps1' - 'build_release_macos.sh' @@ -100,7 +102,7 @@ jobs: matrix: include: ${{ fromJSON(vars.SELF_HOSTED && '[{"arch":"x64","os":"orca-win-server","compiler":"clang"}]' - || '[{"arch":"x64","os":"windows-latest","compiler":"clang"},{"arch":"arm64","os":"windows-11-arm","compiler":"clang"}]') }} + || '[{"arch":"x64","os":"windows-latest","compiler":"clang"},{"arch":"arm64","os":"windows-11-vs2026-arm","compiler":"clang"}]') }} needs: check_build_script # Don't run scheduled builds on forks: if: ${{ !cancelled() && needs.check_build_script.result == 'success' && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }} @@ -169,7 +171,7 @@ jobs: if: ${{ !cancelled() && success() && !vars.SELF_HOSTED }} uses: ./.github/workflows/unit_tests.yml with: - os: windows-11-arm + os: windows-11-vs2026-arm artifact: ${{ github.sha }}-tests-windows-arm64 test-dir: build-arm64/tests unit_tests_macos_arm64: @@ -207,7 +209,7 @@ jobs: ./validator-bin/OrcaSlicer_profile_validator -p "${{ github.workspace }}/resources/profiles" -s -l 2 publish_test_results: name: Publish Test Results - needs: [unit_tests_linux_x86_64, unit_tests_linux_aarch64, unit_tests_windows_x64, unit_tests_windows_arm64, unit_tests_macos_arm64] + needs: [unit_tests_linux_x86_64, unit_tests_linux_aarch64, unit_tests_windows_x64, unit_tests_windows_arm64, unit_tests_macos_arm64, unit_tests_flatpak_x86_64, unit_tests_flatpak_aarch64] if: ${{ !cancelled() }} runs-on: ubuntu-latest steps: @@ -283,31 +285,87 @@ jobs: id: fp_cache_key run: echo "key=flatpak-builder-${{ matrix.variant.arch }}-${{ hashFiles('deps/**', 'scripts/flatpak/com.orcaslicer.OrcaSlicer.yml', 'scripts/flatpak/make_deps_tar.sh') }}" >> "$GITHUB_OUTPUT" shell: bash - # Manage flatpak-builder cache externally so PRs restore but never upload + # Manage flatpak-builder cache externally so PRs restore but never upload. + # The compiler cache under it is keyed per run below, so it is left out. - name: Restore flatpak-builder cache if: github.event_name == 'pull_request' uses: actions/cache/restore@v6 with: - path: .flatpak-builder + path: | + .flatpak-builder/* + !.flatpak-builder/ccache key: ${{ steps.fp_cache_key.outputs.key }} restore-keys: flatpak-builder-${{ matrix.variant.arch }}- - name: Save/restore flatpak-builder cache if: github.event_name != 'pull_request' uses: actions/cache@v6 with: - path: .flatpak-builder + path: | + .flatpak-builder/* + !.flatpak-builder/ccache key: ${{ steps.fp_cache_key.outputs.key }} restore-keys: flatpak-builder-${{ matrix.variant.arch }}- + # Compiler cache for the OrcaSlicer module, as in build_orca.yml. Pull + # requests only restore it; every other run (main, release branches, the + # nightly, a dispatch) saves it. orca_deps stays on the state cache above. + - name: Name the compiler cache leg + run: | + leg="Flatpak-${{ matrix.variant.arch }}" + echo "CCACHE_LEG=$leg" >> "$GITHUB_ENV" + echo "CCACHE_ENTRY=ccache-$leg-${{ github.run_id }}-${{ github.run_attempt }}" >> "$GITHUB_ENV" + shell: bash + - name: Restore compiler cache + id: ccache_restore + uses: actions/cache/restore@v6 + with: + path: .flatpak-builder/ccache + key: ${{ env.CCACHE_ENTRY }} + restore-keys: ccache-${{ env.CCACHE_LEG }}- - name: Disable debug info for faster CI builds run: | sed -i '/^build-options:/a\ no-debuginfo: true\n strip: true' \ scripts/flatpak/com.orcaslicer.OrcaSlicer.yml shell: bash - - name: Inject git commit hash into Flatpak manifest + # flatpak-builder reuses a module from its cache when the definition and + # sources are unchanged, so a re-run of the same commit would skip the + # OrcaSlicer module and ship no test asset. A per-run value in that module's + # env keeps it rebuilding; orca_deps stays cached, and the compiler cache + # still serves the rebuild. run-tests on the same module builds the test + # binaries. + - name: Inject commit hash, run-tests and cache buster into Flatpak manifest + env: + flatpak_builder_cache_buster: ${{ github.run_id }}-${{ github.run_attempt }} run: | - sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n git_commit_hash: \"$git_commit_hash\"|}" \ + sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n run-tests: true\n build-options:\n env:\n flatpak_builder_cache_buster: \"$flatpak_builder_cache_buster\"\n git_commit_hash: \"$git_commit_hash\"|}" \ scripts/flatpak/com.orcaslicer.OrcaSlicer.yml shell: bash + # flatpak-builder's --ccache only wraps cc and gcc, and the manifest builds + # with clang, so CMake's launcher runs ccache instead; --ccache is still what + # mounts the cache directory into the sandbox. The settings go into that + # directory's own config file, which the sandbox reads too. + - name: Enable compiler cache + run: | + printf ' %s\n' \ + 'CMAKE_C_COMPILER_LAUNCHER: ccache' \ + 'CMAKE_CXX_COMPILER_LAUNCHER: ccache' > "$RUNNER_TEMP/ccache-env.yml" + sed -i "/^ git_commit_hash: /r $RUNNER_TEMP/ccache-env.yml" \ + scripts/flatpak/com.orcaslicer.OrcaSlicer.yml + grep -q '^ CMAKE_CXX_COMPILER_LAUNCHER: ccache$' scripts/flatpak/com.orcaslicer.OrcaSlicer.yml + mkdir -p .flatpak-builder/ccache + export CCACHE_DIR=$PWD/.flatpak-builder/ccache + ccache --set-config=max_size=3G + # The compiler is reinstalled every run, so its mtime means nothing. + ccache --set-config=compiler_check=content + # Headers a fresh checkout has just written, the few files that use + # __DATE__ or __TIME__, and the precompiled header, whose macros ccache + # cannot see. + ccache --set-config=sloppiness=pch_defines,time_macros,include_file_mtime,include_file_ctime + # Hash the includes the compiler reports instead of preprocessing every + # miss before compiling it. + ccache --set-config=depend_mode=true + # The restored directory carries the previous run's counters. + ccache -z + shell: bash - name: Check the manifest keeps orca_deps cacheable run: ./scripts/flatpak/check_manifest_cacheable.sh shell: bash @@ -318,9 +376,59 @@ jobs: with: bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak manifest-path: scripts/flatpak/com.orcaslicer.OrcaSlicer.yml - cache: false + # cache only turns on flatpak-builder --ccache; the caching itself is above. + cache: true + restore-cache: false + save-cache: false arch: ${{ matrix.variant.arch }} upload-artifact: false + keep-build-dirs: true + # The build has just touched everything it can use, so an object untouched + # for a week is dead, usually orphaned by a flag change. + - name: Compiler cache statistics + if: always() + run: | + export CCACHE_DIR=$PWD/.flatpak-builder/ccache + ccache --evict-older-than 7d + ccache -s -v || ccache -s + shell: bash + # Save the new entry first, then drop the older ones for this leg on this + # ref, so a failed save leaves the previous entry in place. A cancelled or + # failed build saves too, since what it compiled is still valid; a restore + # that did not finish does not, since the directory may be a truncated copy. + - name: Save compiler cache + id: ccache_save + if: ${{ always() && steps.ccache_restore.outcome == 'success' && github.event_name != 'pull_request' }} + uses: actions/cache/save@v6 + with: + path: .flatpak-builder/ccache + key: ${{ env.CCACHE_ENTRY }} + - name: Drop older compiler cache entries + if: ${{ always() && steps.ccache_save.outcome == 'success' }} + # The container has no gh, so this is the list and delete over the REST API. + # Older means a lower run id, so two runs finishing close together keep + # the newer entry whichever of them cleans up last. + continue-on-error: true + env: + GH_TOKEN: ${{ github.token }} + run: | + api="$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/caches" + # The save step reports success even when its tar failed, so keep + # the older entries unless the new one is listed. + if ! curl -sSf -H "Authorization: Bearer $GH_TOKEN" \ + "$api?ref=$GITHUB_REF&key=$CCACHE_ENTRY" \ + | jq -e --arg entry "$CCACHE_ENTRY" 'any(.actions_caches[]; .key == $entry)' > /dev/null; then + echo "$CCACHE_ENTRY was not saved; keeping the older entries." + exit 0 + fi + curl -sSf -H "Authorization: Bearer $GH_TOKEN" \ + "$api?ref=$GITHUB_REF&key=ccache-$CCACHE_LEG-&per_page=100" \ + | jq -r --arg prefix "ccache-$CCACHE_LEG-" --argjson run "$GITHUB_RUN_ID" \ + '.actions_caches[] | select((.key | ltrimstr($prefix) | split("-")[0] | tonumber?) < $run) | .id' \ + | while read -r id; do + curl -sSf -X DELETE -H "Authorization: Bearer $GH_TOKEN" "$api/$id" + done + shell: bash - name: Upload artifacts Flatpak uses: actions/upload-artifact@v7 with: @@ -336,3 +444,49 @@ jobs: asset_name: OrcaSlicer-Linux-flatpak_nightly${{ env.nightly_suffix }}_${{ matrix.variant.arch }}.flatpak asset_content_type: application/octet-stream max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted + # The asset is /app (the exes link it at runtime) plus the build tree + # slimmed to what ctest needs. + - name: Package flatpak test asset + shell: bash + run: | + d=$(ls -d .flatpak-builder/build/OrcaSlicer-* | tail -1) + find "$d/build_flatpak" -mindepth 1 -maxdepth 1 ! -name tests -exec rm -rf {} + + # Strip debug info (the SDK builds with -g, only the app gets stripped); + # the bounds checks are compiled in, so a stripped exe still catches them. + find "$d/build_flatpak/tests" -type f -perm -u+x -exec strip --strip-unneeded {} + 2>/dev/null || true + # At runtime the tests read tests/ (TEST_DATA_DIR), scripts/, and under + # resources/ the shipped profiles (PROFILES_DIR), the printers/ maps, and + # the icon SVGs (NativeCommands icon names are checked against them). + find "$d" -mindepth 1 -maxdepth 1 -type d \ + ! -name tests ! -name build_flatpak ! -name scripts ! -name resources -exec rm -rf {} + + find "$d/resources" -mindepth 1 -maxdepth 1 ! -name profiles ! -name printers ! -name images -exec rm -rf {} + + # Only the SVGs are read; the png/ico/icns/gif assets are ~35MB of dead weight. + find "$d/resources/images" -mindepth 1 -maxdepth 1 ! -name '*.svg' -exec rm -rf {} + 2>/dev/null || true + tar -cf flatpak-test-asset.tar flatpak_app "$d" + - name: Upload flatpak test asset + uses: actions/upload-artifact@v7 + with: + name: ${{ github.sha }}-flatpak-tests-${{ matrix.variant.arch }} + path: flatpak-test-asset.tar + retention-days: 1 + # keep-build-dirs would otherwise land in the flatpak-builder cache saved post-job. + - name: Drop the kept build dirs before the flatpak-builder cache saves + if: always() + shell: bash + run: rm -rf .flatpak-builder/build + unit_tests_flatpak_x86_64: + name: Flatpak x86_64 + needs: flatpak + if: ${{ !cancelled() && success() }} + uses: ./.github/workflows/unit_tests_flatpak.yml + with: + os: ubuntu-24.04 + artifact: ${{ github.sha }}-flatpak-tests-x86_64 + unit_tests_flatpak_aarch64: + name: Flatpak aarch64 + needs: flatpak + if: ${{ !cancelled() && success() }} + uses: ./.github/workflows/unit_tests_flatpak.yml + with: + os: ubuntu-24.04-arm + artifact: ${{ github.sha }}-flatpak-tests-aarch64 diff --git a/.github/workflows/build_check_cache.yml b/.github/workflows/build_check_cache.yml index 91ea51ac60..2da05e1d69 100644 --- a/.github/workflows/build_check_cache.yml +++ b/.github/workflows/build_check_cache.yml @@ -41,7 +41,8 @@ jobs: # restores one it cannot use. Linux amd64 passes no arch deliberately, so # 'linux-clang' keeps the cache it already has. cache-os: ${{ runner.os == 'macOS' && format('macos-{0}', inputs.arch) || (runner.os == 'Windows' && format('windows-{0}-{1}', inputs.arch, inputs.compiler) || format('linux-clang{0}', inputs.arch && format('-{0}', inputs.arch) || '')) }} - # ARM64 builds use the build-arm64 tree (see build_release_vs.bat); x64/other use build. + # The Windows ARM64 deps build in build-arm64, all others under build; + # build_deps.yml and build_orca.yml pass the Windows directory to build_win.bat. dep-folder-name: ${{ runner.os == 'macOS' && format('/{0}', inputs.arch) || (runner.os == 'Windows' && inputs.arch == 'arm64') && '-arm64/OrcaSlicer_dep' || '/OrcaSlicer_dep' }} output-cmd: ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}} run: | diff --git a/.github/workflows/build_deps.yml b/.github/workflows/build_deps.yml index f7082a8a06..a6d7a17dff 100644 --- a/.github/workflows/build_deps.yml +++ b/.github/workflows/build_deps.yml @@ -138,25 +138,11 @@ jobs: if (-not "${{ vars.SELF_HOSTED }}") { choco install strawberryperl } - $arch = "${{ inputs.arch }}" - # -l selects clang-cl and -x Ninja; together they build the deps with clang. - $clang = "${{ inputs.compiler }}" -eq "clang" - $flags = if ($clang) { "-l", "-x" } else { @() } - if ($clang) { - # OpenSSL builds with nmake, which needs a VC environment. - $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" - $vs = & $vswhere -latest -property installationPath - $devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" } - Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" - Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch" - } - if ($arch -eq "arm64") { - .\build_release_vs.bat deps arm64 @flags - .\build_release_vs.bat pack arm64 - } else { - .\build_release_vs.bat deps @flags - .\build_release_vs.bat pack - } + # cache-path is the install directory inside the deps build directory. + $deps = (Split-Path "${{ inputs.cache-path }}").Replace('\', '/') + # -l compiles with Visual Studio's clang-cl and -x builds with Ninja; --msvc --msbuild is cl under the Visual Studio generator. + $flags = if ("${{ inputs.compiler }}" -eq "clang") { "-l", "-x" } else { "--msvc", "--msbuild" } + .\build_win.bat -d --arch ${{ inputs.arch }} --deps-dir $deps @flags shell: pwsh - name: Build on Mac ${{ inputs.arch }} diff --git a/.github/workflows/build_orca.yml b/.github/workflows/build_orca.yml index 8e1e28db13..2ea72d0773 100644 --- a/.github/workflows/build_orca.yml +++ b/.github/workflows/build_orca.yml @@ -76,6 +76,69 @@ jobs: if (-not (Test-Path "$cmakeBin\cmake.exe")) { throw "cmake.exe not found at $cmakeBin" } Add-Content -Path $env:GITHUB_PATH -Value $cmakeBin + # Compiler cache. Pushes save it, so main keeps it warm; pull requests + # restore it and discard what they compiled. Objects are keyed on the + # preprocessed source, the compiler and the flags, so a leg only ever + # hits its own entries. A failed install costs the caching, not the build. + - name: Name the compiler cache leg + if: ${{ !inputs.macos-combine-only }} + shell: bash + run: | + leg="${{ runner.os }}-${{ inputs.arch || 'amd64' }}${{ runner.os == 'Windows' && format('-{0}', inputs.compiler) || '' }}" + # clang-cl refuses a precompiled header from another cl.exe build and ccache + # does not hash that build, so each one gets its own cache. The build number + # is read from cl.exe itself; the toolset directory keeps its name across patches. + if [ "${{ runner.os }}" = Windows ]; then + vswhere='/c/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe' + toolset=$(tr -d '\r\n' < "$("$vswhere" -latest -products '*' -find 'VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt' | tr -d '\r')") + cl=$("$vswhere" -latest -products '*' -find 'VC\Tools\MSVC\'"$toolset"'\**\cl.exe' | tr -d '\r' | head -1) + leg="$leg-vc$("$cl" 2>&1 | grep -o -E 'Version [0-9.]+' | cut -d' ' -f2)" + fi + echo "CCACHE_LEG=$leg" >> "$GITHUB_ENV" + echo "CCACHE_ENTRY=ccache-$leg-${{ github.run_id }}-${{ github.run_attempt }}" >> "$GITHUB_ENV" + + # The action only installs and configures ccache. Restore and save go + # through actions/cache with one path string, since the cache service + # only matches entries saved under the identical path and the action + # spells it differently on Windows. + - name: Compiler cache + id: ccache + if: ${{ !inputs.macos-combine-only }} + continue-on-error: true + uses: hendrikmuhs/ccache-action@v1.2.24 + with: + key: ${{ env.CCACHE_LEG }} + max-size: 3G + restore: false + save: false + # ccache -s runs as its own step; no summary table per job. + job-summary: '' + + - name: Restore compiler cache + id: ccache_restore + if: ${{ steps.ccache.outcome == 'success' }} + uses: actions/cache/restore@v6 + with: + path: ${{ github.workspace }}/.ccache + key: ${{ env.CCACHE_ENTRY }} + restore-keys: ccache-${{ env.CCACHE_LEG }}- + + - name: Enable compiler cache + if: ${{ steps.ccache.outcome == 'success' }} + shell: bash + run: | + echo "CMAKE_C_COMPILER_LAUNCHER=ccache" >> "$GITHUB_ENV" + echo "CMAKE_CXX_COMPILER_LAUNCHER=ccache" >> "$GITHUB_ENV" + # Headers a fresh checkout has just written, the few files that + # use __DATE__ or __TIME__, and the precompiled header, whose + # macros ccache cannot see. + echo "CCACHE_SLOPPINESS=pch_defines,time_macros,include_file_mtime,include_file_ctime" >> "$GITHUB_ENV" + # Hash the includes the compiler reports instead of preprocessing + # every miss before compiling it. + echo "CCACHE_DEPEND=1" >> "$GITHUB_ENV" + # The restored directory carries the previous run's counters. + ccache -z + - name: Get the version and date on Ubuntu and macOS if: runner.os != 'Windows' run: | @@ -385,9 +448,26 @@ jobs: - name: Install nsis if: runner.os == 'Windows' && !vars.SELF_HOSTED + shell: pwsh + # The Chocolatey community feed intermittently 504s, and `choco install` + # exits 0 when package resolution fails that way. Unchecked, the job then + # builds for ~25 minutes before `cpack -G NSIS` reports a missing makensis. + # Retry the install and verify makensis itself, so a real failure stops here. run: | dir "C:/Program Files (x86)/Windows Kits/10/Include" - choco install nsis + $nsisDir = Join-Path ${env:ProgramFiles(x86)} 'NSIS' + $makensis = Join-Path $nsisDir 'makensis.exe' + for ($attempt = 1; $attempt -le 3 -and -not (Test-Path $makensis); $attempt++) { + if ($attempt -gt 1) { Start-Sleep -Seconds (15 * $attempt) } + Write-Host "::group::choco install nsis (attempt $attempt)" + choco install nsis --yes --no-progress + Write-Host "::endgroup::" + } + if (-not (Test-Path $makensis)) { + throw "NSIS install failed: $makensis not found after 3 attempts." + } + & $makensis /VERSION + $nsisDir | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - name: Build slicer Win if: runner.os == 'Windows' @@ -396,21 +476,13 @@ jobs: # env: # WindowsSdkDir: 'C:\Program Files (x86)\Windows Kits\10\' # WindowsSDKVersion: '10.0.26100.0\' - # "tests" builds the unit tests too; the unit_tests_windows_* jobs run them. + # --tests builds the unit tests too; the unit_tests_windows_* jobs run them. run: | - $arch = "${{ inputs.arch }}" - # -l selects clang-cl and -x Ninja; together they build the slicer with clang. - $clang = "${{ inputs.compiler }}" -eq "clang" - $flags = if ($clang) { "-l", "-x" } else { @() } - if ($clang) { - # Build against the same VC toolchain and SDK as the dependencies. - $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" - $vs = & $vswhere -latest -property installationPath - $devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" } - Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" - Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch" - } - if ($arch -eq "arm64") { .\build_release_vs.bat slicer arm64 @flags tests } else { .\build_release_vs.bat slicer @flags tests } + # cache-path is the install directory inside the deps build directory. + $deps = (Split-Path "${{ inputs.cache-path }}").Replace('\', '/') + # -l compiles with Visual Studio's clang-cl and -x builds with Ninja; --msvc --msbuild is cl under the Visual Studio generator. + $flags = if ("${{ inputs.compiler }}" -eq "clang") { "-l", "-x" } else { "--msvc", "--msbuild" } + .\build_win.bat -s --tests -i --arch ${{ inputs.arch }} --build-dir $env:BUILD_DIR --deps-dir $deps @flags shell: pwsh - name: Build system preset cache (Windows) @@ -630,6 +702,18 @@ jobs: name: OrcaSlicer_profile_validator_Linux_ubuntu_${{ env.ubuntu-ver }}_${{ env.ver }} path: './build/src/Release/OrcaSlicer_profile_validator' + # generate_system_cache is what scripts/build_preset_cache.sh bakes the + # .opc caches with; it was already built by the "Build system + # preset cache (Linux)" step above. The .opc format is 64-bit + # little-endian native, i.e. identical across every platform Orca ships, + # so only the Linux binary is published. + - name: Upload generate_system_cache Ubuntu + if: ${{ ! env.ACT && runner.os == 'Linux' && !vars.SELF_HOSTED && inputs.arch != 'aarch64' }} + uses: actions/upload-artifact@v7 + with: + name: generate_system_cache_Linux_ubuntu_${{ env.ubuntu-ver }}_${{ env.ver }} + path: './build/src/dev-utils/Release/generate_system_cache' + - name: Deploy Ubuntu release if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && env.deploy_nightly == 'true' && runner.os == 'Linux' && !vars.SELF_HOSTED }} uses: WebFreak001/deploy-nightly@v3.2.0 @@ -660,6 +744,17 @@ jobs: asset_content_type: application/octet-stream max_releases: 1 + - name: Deploy Ubuntu generate_system_cache release + if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && github.ref == 'refs/heads/main' && runner.os == 'Linux' && !vars.SELF_HOSTED && inputs.arch != 'aarch64' }} + uses: WebFreak001/deploy-nightly@v3.2.0 + with: + upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label} + release_id: 137995723 + asset_path: ./build/src/dev-utils/Release/generate_system_cache + asset_name: generate_system_cache_Linux${{ env.ubuntu-ver-str }}_nightly + asset_content_type: application/octet-stream + max_releases: 1 + - name: Deploy orca_custom_preset_tests if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && github.ref == 'refs/heads/main' && runner.os == 'Linux' && !vars.SELF_HOSTED && inputs.arch != 'aarch64' }} uses: WebFreak001/deploy-nightly@v3.2.0 @@ -670,3 +765,48 @@ jobs: asset_name: orca_custom_preset_tests.zip asset_content_type: application/octet-stream max_releases: 1 + + # The build has just touched everything it can use, so an object + # untouched for a week is dead, usually orphaned by a flag change. + - name: Compiler cache statistics + if: ${{ always() && steps.ccache.outcome == 'success' }} + shell: bash + run: | + ccache --evict-older-than 7d + ccache -s -v || ccache -s + + # Entries are immutable, so the new one is saved first and the older + # ones for this leg on this ref are dropped afterwards: a failed save + # leaves the previous entry in place. A cancelled or failed build saves + # too, since what it compiled is still valid; a restore that did not + # finish does not, since the directory may be a truncated copy. + - name: Save compiler cache + id: ccache_save + if: ${{ always() && steps.ccache_restore.outcome == 'success' && github.event_name != 'pull_request' }} + uses: actions/cache/save@v6 + with: + path: ${{ github.workspace }}/.ccache + key: ${{ env.CCACHE_ENTRY }} + + - name: Drop older compiler cache entries + if: ${{ always() && steps.ccache_save.outcome == 'success' }} + # A read-only token (fork PRs) cannot delete; that only costs storage. + # Older means a lower run id, so two runs finishing close together keep + # the newer entry whichever of them cleans up last. + continue-on-error: true + shell: bash + env: + GH_TOKEN: ${{ github.token }} + run: | + # The save step reports success even when its tar failed, so keep + # the older entries unless the new one is listed. + if ! gh cache list --ref "$GITHUB_REF" --key "$CCACHE_ENTRY" --json key \ + | jq -e --arg entry "$CCACHE_ENTRY" 'any(.[]; .key == $entry)' > /dev/null; then + echo "$CCACHE_ENTRY was not saved; keeping the older entries." + exit 0 + fi + gh cache list --ref "$GITHUB_REF" --key "ccache-$CCACHE_LEG-" --limit 100 --json id,key \ + | jq -r --arg prefix "ccache-$CCACHE_LEG-" --argjson run "$GITHUB_RUN_ID" \ + '.[] | select((.key | ltrimstr($prefix) | split("-")[0] | tonumber?) < $run) | .id' \ + | tr -d '\r' \ + | while read -r id; do gh cache delete "$id"; done diff --git a/.github/workflows/check_profiles.yml b/.github/workflows/check_profiles.yml index b855d09da7..e668482bfd 100644 --- a/.github/workflows/check_profiles.yml +++ b/.github/workflows/check_profiles.yml @@ -9,8 +9,9 @@ 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. + # orca_profile_tool.py also validates resources/printers/bambu_filament_ids.json, and + # both it and its tests live in scripts/, so a PR touching only those must still run + # this workflow. - 'resources/printers/**' - 'scripts/**' - ".github/workflows/check_profiles.yml" @@ -36,12 +37,23 @@ jobs: - name: Checkout repository uses: actions/checkout@v7 - - name: Run extra JSON check - id: extra_json_check + # Deliberately not continue-on-error, unlike every check below: if the tool itself is + # broken, nothing it then reports about the profiles is worth reading. + - name: Run the profile tool's own unit tests + run: python3 -m unittest discover -s scripts/tests -t scripts + + # What the validator below cannot see. It loads the tree the way the slicer does, so + # it never notices a profile no .json indexes, a preset name two files claim, + # an id that is not the mint of its own triple, or a file that normalize and + # update-index would still rewrite. + # The step id is the handle the PR comment and the failure gate below use; renaming it + # silently disables them. + - name: Check profiles (orca_profile_tool.py) + id: profile_tool continue-on-error: true run: | set +e - python3 ./scripts/orca_extra_profile_check.py 2>&1 | tee ${{ runner.temp }}/extra_json_check.log + python3 ./scripts/orca_profile_tool.py check 2>&1 | tee ${{ runner.temp }}/profile_tool.log exit ${PIPESTATUS[0]} # download @@ -68,8 +80,8 @@ 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]} - # All vendors' filament_id collisions were fixed (see scripts/filament_id_snapshot.json), - # so the duplicate-filament-subtype check runs tree-wide. + # All vendors' filament_id collisions were fixed, so the duplicate-filament-subtype + # check runs tree-wide. - name: validate filament subtype check id: validate_filament_subtypes continue-on-error: true @@ -186,7 +198,7 @@ jobs: echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt - name: Prepare comment artifact - if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} + if: ${{ always() && github.event_name == 'pull_request' && (steps.profile_tool.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} run: | { # Marker matched by check_profiles_comment.yml to delete prior comments. @@ -194,11 +206,11 @@ jobs: echo "## :x: Profile Validation Errors" echo "" - if [ "${{ steps.extra_json_check.outcome }}" = "failure" ]; then - echo "### Extra JSON Check Failed" + if [ "${{ steps.profile_tool.outcome }}" = "failure" ]; then + echo "### Profile Check Failed (orca_profile_tool.py)" echo "" echo '```' - head -c 30000 ${{ runner.temp }}/extra_json_check.log || echo "No output captured" + head -c 30000 ${{ runner.temp }}/profile_tool.log || echo "No output captured" echo '```' echo "" fi @@ -240,7 +252,7 @@ jobs: fi echo "---" - echo "*Please fix the above errors and push a new commit.*" + echo '*Fix the errors above and push a new commit. To reproduce this run locally: `scripts/check_profile.sh`, or `scripts\check_profile.bat` on Windows.*' } > ${{ runner.temp }}/profile-check-results/pr_comment.md - name: Upload comment artifact @@ -252,7 +264,8 @@ jobs: retention-days: 1 - name: Fail if any check failed - if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} + if: ${{ always() && (steps.profile_tool.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_slice.outcome == 'failure' || steps.validate_filament_subtypes.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} run: | - echo "One or more profile checks failed. See above for details." + echo "One or more profile checks failed; see the step logs above." + echo 'Reproduce the whole run locally with scripts/check_profile.sh (scripts\check_profile.bat on Windows).' exit 1 diff --git a/.github/workflows/doxygen-docs.yml b/.github/workflows/doxygen-docs.yml index 6af7255fa3..d7d2f982e7 100644 --- a/.github/workflows/doxygen-docs.yml +++ b/.github/workflows/doxygen-docs.yml @@ -19,11 +19,18 @@ jobs: permissions: contents: read steps: - - uses: thejerrybao/setup-swap-space@v1 - with: - swap-space-path: /swapfile - swap-size-gb: 8 - remove-existing-swap-files: true + # Doxygen with call graphs over all of src/ outgrows the runner's RAM; + # replace the runner's swapfile with an 8 GB one. + - name: Grow swap space + run: | + set -euo pipefail + sudo swapoff -a + sudo rm -f /swapfile + sudo fallocate -l 8G /swapfile + sudo chmod 600 /swapfile + sudo mkswap /swapfile + sudo swapon /swapfile + free -h - name: Checkout repository uses: actions/checkout@v7 diff --git a/.github/workflows/ofl-ota-cronjob.yml b/.github/workflows/ofl-ota-cronjob.yml new file mode 100644 index 0000000000..3192cc4f05 --- /dev/null +++ b/.github/workflows/ofl-ota-cronjob.yml @@ -0,0 +1,139 @@ +name: Daily OFL OTA Update + +# This workflow is intended for creating and publishing the OrcaFilamentLibrary (OFL) OPC package to +# https://github.com/OrcaSlicer/orcaslicer-profiles, which generates an OTA update. +# This cronjob runs daily at 00:00 UTC every day and scans main plus every release/vX.Y.Z branch for +# changes to resources/profiles/OrcaFilamentLibrary since that branch's own last successful run. Any +# branch with no changes is skipped; each changed branch gets its own post_merge_profiles.yml dispatch. +# +# OFL has no dedicated FOLDER_MERGERS grant (it isn't merged through the PR merge-bot delegation +# scheme), so post_merge_profiles.yml is dispatched with an explicit `vendor` input, which that +# workflow trusts and uses to bypass the FOLDER_MERGERS check for this trigger. That same explicit- +# vendor-dispatch path is also what makes post_merge_profiles.yml call the OTA auto-publish API after +# uploading - see post_merge_profiles.yml for both sides of that contract. +# +# At the start of each run, the pending-publish table is cleared up to a captured +# timestamp (POST /api/v1/ota/ofl/pending/clear?timestamp=...). Changes merged after +# that timestamp remain pending for the next run. + +on: + schedule: + - cron: "0 0 * * *" + + workflow_dispatch: + +permissions: + actions: write # list this workflow's past runs and dispatch post_merge_profiles.yml + contents: read + +env: + VENDOR: OrcaFilamentLibrary + +jobs: + daily-job: + if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' }} + runs-on: ubuntu-24.04 + steps: + - name: Capture start timestamp and clear OFL pending queue + id: start + shell: bash + env: + OTA_API_BASE_URL: ${{ vars.OTA_API_BASE_URL }} + OTA_API_KEY: ${{ secrets.OFL_OTA_PUBLISH_KEY }} + run: | + set -euo pipefail + [ -n "$OTA_API_BASE_URL" ] || { echo "::error::vars.OTA_API_BASE_URL is not set"; exit 1; } + [ -n "$OTA_API_KEY" ] || { echo "::error::secrets.OFL_OTA_PUBLISH_KEY is not set"; exit 1; } + + timestamp="$(date -u +%s)" + echo "timestamp=$timestamp" >> "$GITHUB_OUTPUT" + + resp_file="$RUNNER_TEMP/ota-pending-clear-response.json" + status="$(curl -sS -o "$resp_file" -w '%{http_code}' -X POST \ + "${OTA_API_BASE_URL%/}/api/v1/ota/ofl/pending/clear?timestamp=$timestamp" \ + -H "Authorization: Bearer $OTA_API_KEY")" + body="$(cat "$resp_file")" + echo "$body" + + if [ "$status" != "200" ]; then + echo "::error::OTA pending-clear call failed with HTTP $status" + exit 1 + fi + + - name: Checkout repository + uses: actions/checkout@v7 + with: + # Full history: the per-branch "since last successful run" check below + # needs to look arbitrarily far back if a prior run failed or was skipped. + fetch-depth: 0 + + - name: Fetch all branches + shell: bash + run: git fetch origin '+refs/heads/*:refs/remotes/origin/*' + + - name: Scan branches and publish changed OFL profiles + shell: bash + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SCAN_UNTIL: ${{ steps.start.outputs.timestamp }} + run: | + set -euo pipefail + + mapfile -t branches < <( + gh api "repos/${{ github.repository }}/branches" --paginate --jq '.[].name' \ + | grep -E '^(main|release/v[0-9]+\.[0-9]+\.[0-9]+)$' | sort -u + ) + + for branch in "${branches[@]}"; do + echo "::group::$branch" + + # post_merge_profiles.yml's own run history, not this workflow's: this + # workflow only ever runs against main (schedule, or workflow_dispatch + # --ref main), so its head branch never varies - filtering ITS history + # by $branch would never match anything except main. post_merge_profiles.yml + # genuinely runs per-branch (this dispatch below sets --ref "$branch"), + # so its history is the real per-branch checkpoint. It also means a + # failed publish naturally gets retried tomorrow: the checkpoint only + # advances on a run that actually succeeded. + # --method GET is required, not cosmetic: gh api defaults to POST + # whenever -f fields are present unless a method is given + # explicitly, and POST on this list-runs endpoint 404s - confirmed + # on real Actions infrastructure, not just reasoned about. + since="$(gh api --method GET "repos/${{ github.repository }}/actions/workflows/post_merge_profiles.yml/runs" \ + -f status=success -f branch="$branch" -f per_page=1 \ + --jq '.workflow_runs[0].run_started_at // empty')" + + if [ -z "$since" ]; then + echo "No prior successful run for $branch; checking OFL changes up to $SCAN_UNTIL." + changed_files="$(git log --until="$SCAN_UNTIL" --name-only --pretty=format: "origin/$branch" -- \ + resources/profiles/OrcaFilamentLibrary resources/profiles/OrcaFilamentLibrary.json \ + | sed '/^$/d')" + else + changed_files="$(git log --since="$since" --until="$SCAN_UNTIL" --name-only --pretty=format: "origin/$branch" -- \ + resources/profiles/OrcaFilamentLibrary resources/profiles/OrcaFilamentLibrary.json \ + | sed '/^$/d')" + fi + + if [ -n "$changed_files" ]; then + echo "OFL changed on $branch from ${since:-the beginning} through $SCAN_UNTIL:" + echo "$changed_files" + changed=true + else + echo "No OFL changes on $branch through $SCAN_UNTIL." + changed=false + fi + + if [ "$changed" = true ]; then + # Tolerate a per-branch failure (e.g. a pre-existing release branch + # whose post_merge_profiles.yml predates the vendor/auto_publish + # inputs) rather than aborting the whole scan under set -e. + if ! gh workflow run post_merge_profiles.yml \ + --repo "${{ github.repository }}" \ + --ref "$branch" \ + -f vendor="$VENDOR" -f auto_publish=true; then + echo "::warning::failed to dispatch post_merge_profiles.yml for $branch - its post_merge_profiles.yml at this ref may predate the vendor/auto_publish inputs" + fi + fi + + echo "::endgroup::" + done diff --git a/.github/workflows/parity_nightly.yml b/.github/workflows/parity_nightly.yml new file mode 100644 index 0000000000..44937fdad5 --- /dev/null +++ b/.github/workflows/parity_nightly.yml @@ -0,0 +1,263 @@ +# Nightly parity checks from OrcaSlicer/orca-test-repo, kept out of the +# per-build "Run external slicer regression tests" step because they take far +# longer than that step's budget: +# effect - the CLI override sweep's full effect stage: every landed option +# re-sliced on its own to see whether it changes the G-code +# harness - the GUI-vs-CLI parity harness (metrics only, never fails) +# Both test the latest successful build_all.yml Linux AppImage from main, with +# sources checked out at the commit that build was made from; a manual run can +# name another branch, or pin one build by its run id. Nothing here gates a +# build or a PR. +name: Parity Nightly + +on: + schedule: + # build_all.yml starts at 17:00 UTC and has finished by ~20:00 + - cron: "0 21 * * *" + workflow_dispatch: + inputs: + test_repo_ref: + description: "orca-test-repo ref to run" + required: false + default: "main" + build_branch: + description: "branch whose newest successful build_all artifact to test (a PR build is the PR merged into its base; sources are checked out at the PR head)" + required: false + default: "main" + build_run_id: + description: "build_all run id to test instead of build_branch's newest (same PR caveat)" + required: false + default: "" + fixtures: + description: "harness fixture ids, space-separated (empty = all)" + required: false + default: "" + cli_presets: + description: "harness lane C presets: flat = flatten inherits first, raw = leaf profile as-is" + required: false + default: "flat" + +permissions: + contents: read + actions: read + +jobs: + build: + name: Find the build to test + # Don't run scheduled checks on forks + if: github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer' + runs-on: ubuntu-24.04 + outputs: + run_id: ${{ steps.find.outputs.run_id }} + head_sha: ${{ steps.find.outputs.head_sha }} + steps: + - id: find + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} + BRANCH: ${{ inputs.build_branch || 'main' }} + RUN_ID: ${{ inputs.build_run_id }} + SCHEDULED: ${{ github.event_name == 'schedule' }} + run: | + set -euo pipefail + if [ -n "$RUN_ID" ]; then + [[ $RUN_ID =~ ^[0-9]+$ ]] || { echo "build_run_id must be a numeric run id, got '$RUN_ID'" >&2; exit 1; } + # a pinned build is read directly, not through a search; it must come + # from this repository, because the later jobs check out its commit here + found=$(gh api "repos/$GH_REPO/actions/runs/$RUN_ID" --jq \ + 'select(.path == ".github/workflows/build_all.yml" and .conclusion == "success" + and .head_repository.full_name == env.GH_REPO) + | "\(.id) \(.head_sha) \(.created_at)"') + [ -n "$found" ] || { echo "run $RUN_ID is not a successful build_all run of $GH_REPO" >&2; exit 1; } + else + # GitHub serves filtered run listings (branch=, status=, head_sha=, ...) + # from a search index that has returned weeks-old results, while the + # unfiltered listing stays current, so list unfiltered and filter here. + # The repository check keeps out fork PRs whose branch has the same + # name. A feature branch is normally built only for its PR, and a PR + # build compiles the PR merged into its base rather than head_sha, so + # a build of the branch itself (push or dispatch) is preferred when + # the same page has one. + pick='([.workflow_runs[] | select(.head_branch == env.BRANCH and .conclusion == "success" + and .head_repository.full_name == env.GH_REPO)] + | map(select(.event != "pull_request"))[0] // .[0]) + | select(.) | "\(.id) \(.head_sha) \(.created_at)"' + # a page of 100 runs spans about a day and a half; a manual run may + # target a branch that last built weeks ago + pages=3 + if [ "$SCHEDULED" != true ]; then pages=20; fi + found="" + for page in $(seq "$pages"); do + found=$(gh api "repos/$GH_REPO/actions/workflows/build_all.yml/runs?per_page=100&page=$page" --jq "$pick") + if [ -n "$found" ]; then break; fi + done + [ -n "$found" ] || { echo "no successful $BRANCH build among the last $((pages * 100)) build_all runs; pass build_run_id to test an older one" >&2; exit 1; } + fi + read -r run_id head_sha created <<< "$found" + # the nightly fails rather than report on a stale build + if [ "$SCHEDULED" = true ] && [ $(( $(date +%s) - $(date -d "$created" +%s) )) -gt 172800 ]; then + echo "newest $BRANCH build $run_id is from $created, over 48 hours old" >&2 + exit 1 + fi + printf 'run_id=%s\nhead_sha=%s\n' "$run_id" "$head_sha" >> "$GITHUB_OUTPUT" + cat "$GITHUB_OUTPUT" + echo "Testing build [$run_id](https://github.com/$GH_REPO/actions/runs/$run_id) of \`$head_sha\`, built $created" >> "$GITHUB_STEP_SUMMARY" + + effect: + name: Override sweep effect stage (shard ${{ matrix.shard }}) + needs: build + runs-on: ubuntu-24.04 + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + # orca-test-repo's parity/effect_routing.json holds a 2-way split, + # ~12.5 min a shard on this runner + shard: [0, 1] + steps: + - &checkout-suite + name: Check out the test suite + uses: actions/checkout@v7 + with: + repository: OrcaSlicer/orca-test-repo + ref: ${{ inputs.test_repo_ref || 'main' }} + path: orca-test-repo + + # The AppImage ships only packed preset caches, so profiles and the CLI + # option surface come from the sources the build was made from + - &checkout-slicer + name: Check out OrcaSlicer at the build's commit + uses: actions/checkout@v7 + with: + ref: ${{ needs.build.outputs.head_sha }} + path: slicer + lfs: 'false' + + - &extract-appimage + name: Download and extract the Linux AppImage + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} + run: | + set -euo pipefail + gh run download "${{ needs.build.outputs.run_id }}" --dir appimage \ + --pattern "OrcaSlicer_Linux_ubuntu_2404*" + appimage=$(find appimage -name "*.AppImage" ! -name "*aarch64*" | head -1) + [ -n "$appimage" ] || { echo "no x86_64 AppImage in run ${{ needs.build.outputs.run_id }}"; exit 1; } + chmod +x "$appimage" + "$appimage" --appimage-extract > /dev/null + # The bare binary cannot find the AppImage's bundled libraries; AppRun + # sets them up and execs it, so exit codes and signals pass through + [ -x squashfs-root/AppRun ] || { echo "no AppRun in the AppImage"; exit 1; } + echo "ORCA_BIN=$PWD/squashfs-root/AppRun" >> "$GITHUB_ENV" + echo "ORCA_SOURCE=$PWD/slicer" >> "$GITHUB_ENV" + + - name: Install the AppImage's host runtime dependencies + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0 + + - uses: actions/setup-python@v6 + with: + python-version: "3.12" + + - name: Install suite dependencies + run: pip install -r orca-test-repo/requirements.txt + + - name: Run the override sweep with the full effect stage + id: run + continue-on-error: true + working-directory: orca-test-repo + run: | + set -o pipefail + # -rA keeps the per-stage summaries, which pytest otherwise swallows + # for passing tests + python -m pytest test_cli_overrides.py -c pytest.ini -v -rA \ + --effect-full --effect-shard ${{ matrix.shard }}/2 \ + --orca-bin "$ORCA_BIN" --orca-source "$ORCA_SOURCE" \ + 2>&1 | tee ../sweep.log + + - name: Publish job summary + if: always() + run: | + { + echo "## Override sweep effect stage, shard ${{ matrix.shard }}/2" + echo "Build ${{ needs.build.outputs.head_sha }} (run ${{ needs.build.outputs.run_id }})" + echo '```' + grep -E "\[override sweep" sweep.log || echo "no stage summaries, see the log" + grep -E "^=+ .*(passed|failed)" sweep.log | tail -1 || true + echo '```' + } >> "$GITHUB_STEP_SUMMARY" + + - name: Upload the override report + if: always() + uses: actions/upload-artifact@v7 + with: + name: override-report-shard${{ matrix.shard }} + path: | + orca-test-repo/.pytest_cache/override_report.json + sweep.log + if-no-files-found: warn + retention-days: 30 + + # The sweep step continues on error so the summary and report still get + # published; this puts the failure back on the job + - name: Fail the job if the sweep failed + if: steps.run.outcome == 'failure' + run: | + echo "the override sweep failed, see the job summary and the uploaded report" >&2 + exit 1 + + harness: + name: GUI-vs-CLI parity harness + needs: build + runs-on: ubuntu-24.04 + timeout-minutes: 180 + steps: + - *checkout-suite + - *checkout-slicer + - *extract-appimage + + - name: Install display tooling and the AppImage's host runtime + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + xvfb xdotool imagemagick openbox mesa-utils \ + libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0 + + - name: Run the parity harness + run: | + set -euo pipefail + fixtures=() + for f in ${{ inputs.fixtures || '' }}; do + fixtures+=(--fixture "$f") + done + # 2 GUI displays: ~1.5 cores peak / ~1.9 GB on this 4-vCPU runner, + # and each fixture is fully isolated, so results match a serial run + python3 orca-test-repo/parity/run_parity.py \ + --slicer-root "$ORCA_SOURCE" --bin "$ORCA_BIN" \ + --cli-presets "${{ inputs.cli_presets || 'flat' }}" \ + --gui-workers 2 --out "$PWD/parity-out" "${fixtures[@]}" + + - name: Publish job summary + if: always() + run: | + if [ -f parity-out/report.md ]; then + cat parity-out/report.md >> "$GITHUB_STEP_SUMMARY" + else + echo "the harness produced no report, see the log" >> "$GITHUB_STEP_SUMMARY" + fi + + - name: Drop per-lane datadirs before upload + if: always() + run: rm -rf parity-out/*/seed parity-out/*/datadir-* || true + + - name: Upload the scorecard and evidence + if: always() + uses: actions/upload-artifact@v7 + with: + name: parity-scorecard + path: parity-out/ + if-no-files-found: warn + retention-days: 30 diff --git a/.github/workflows/post_merge_profiles.yml b/.github/workflows/post_merge_profiles.yml new file mode 100644 index 0000000000..90bd9ccf7e --- /dev/null +++ b/.github/workflows/post_merge_profiles.yml @@ -0,0 +1,449 @@ +name: Post-merge profiles + +# Push-triggered counterpart to check_profiles.yml (which only gates PRs). When a +# profile change lands on main or a release branch, rebuild the affected vendors' +# binary preset caches (.opc) and publish each as a versioned ZIP asset on +# a per-Orca-version release of the profiles repo. From there OrcaCloud's OTA +# Manager lists the asset, a maintainer attaches a changelog and hits Publish, and +# only then does it become a live OTA update - this workflow does none of that +# last part (no changelog, no R2, no webhook). +# +# A workflow_dispatch carrying a `vendor` input (e.g. the daily OFL cron - OFL has +# no FOLDER_MERGERS grant, since it isn't merged through the PR merge-bot delegation +# scheme) publishes that vendor directly and skips the FOLDER_MERGERS check below. +# workflow_dispatch is already a trusted, explicit trigger, unlike the automatic +# push-diff path the FOLDER_MERGERS check exists to gate. +# +# Separately, an ordinary push whose diff touches an OrcaFilamentLibrary company +# folder (resources/profiles/OrcaFilamentLibrary/filament//**) records +# that PR as pending via POST /api/v1/ota/ofl/pending, regardless of whether +# OrcaFilamentLibrary as a whole is authorized to publish in this same run - a +# partner's OTA Manager dashboard should see a merged PR immediately, well +# before the daily cron actually builds and publishes it. +# +# Asset contract expected by OrcaCloud's release scanner: +# ^(\d+\.\d+\.\d+)_([^_]+)_(\d+(?:\.\d+){3})_(\d{12})\.zip$ +# ___.zip (zip root: .opc) +# +# Setup (App + secrets): docs/ota/post-merge-profiles-setup.md + +on: + push: + branches: + # once v2.5.0 stable is released, this will be removed, so nightly won't receive OTA updates. + - main + # release/vX.Y.Z point-release branches only, not the release/vX.Y working + # branch profile PRs land on first - "v*.*.*" requires two literal dots, + # which release/vX.Y (one dot) doesn't have. + - release/v*.*.* + paths: + - 'resources/profiles/**' + - '.github/workflows/post_merge_profiles.yml' + + workflow_dispatch: + inputs: + vendor: + description: >- + Publish only this vendor, bypassing the FOLDER_MERGERS grant check. + For trusted explicit dispatches only (e.g. the OFL nightly cron). + Leave empty to fall back to diffing the triggering commit. + required: false + type: string + auto_publish: + description: >- + After publishing, also call the OTA auto-publish API to go live + immediately, skipping the human changelog/Publish step. Separate + from `vendor` on purpose: a maintainer can dispatch with just + `vendor` set to rebuild/republish an asset without it going live. + Only the OFL nightly cron should set this to true. + required: false + type: boolean + default: false + +permissions: + contents: read + pull-requests: read # commits/{sha}/pulls lookup in the OFL-pending step + +# One run per branch; let a run finish rather than cancel it, since it publishes. +concurrency: + group: post-merge-profiles-${{ github.ref }} + cancel-in-progress: false + +env: + # generate_system_cache is published to this repo's own nightly-builds release + # by build_orca.yml's Linux leg. The job guard pins github.repository to + # OrcaSlicer/OrcaSlicer, so this resolves there. + TOOL_REPO: ${{ github.repository }} + TOOL_ASSET: generate_system_cache_Linux_Ubuntu2404_nightly + # Where per-vendor ZIP assets are published; OrcaCloud's OTA reads this repo. + PROFILES_OWNER: OrcaSlicer + PROFILES_REPO: orcaslicer-profiles + +jobs: + publish_profile_caches: + name: Publish profile caches + if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' }} + # FOLDER_MERGERS is an environment-scoped variable, shared with the PR + # merge bot. Keep this environment free of protection rules so this + # push-triggered job does not wait for a reviewer. + environment: merge-delegation + runs-on: ubuntu-24.04 + steps: + - name: Checkout repository + uses: actions/checkout@v7 + with: + # Enough history to reach github.event.before for the changed-vendor + # diff on a normal push; deeper pushes fall back to HEAD^..HEAD in the + # step below. fetch-depth: 0 would clone all of OrcaSlicer's history. + fetch-depth: 50 + + - name: Resolve changed vendors + id: vendors + shell: bash + env: + FOLDER_MERGERS: ${{ vars.FOLDER_MERGERS }} + DISPATCH_VENDOR: ${{ github.event_name == 'workflow_dispatch' && inputs.vendor || '' }} + run: | + set -euo pipefail + + # A vendor has a manifest plus either a preset directory or a version + # field; this drops non-vendor files such as blacklist.json. Shared by + # both the explicit-dispatch path below and the push-diff path further + # down, so the definition of "valid vendor" can't drift between them. + is_valid_vendor() { + local v="$1" + local json="resources/profiles/$v.json" + [ -f "$json" ] && { [ -d "resources/profiles/$v" ] || jq -e '.version' "$json" >/dev/null 2>&1; } + } + + # Explicit vendor dispatch (e.g. the OFL cron): trust the caller and + # skip both the git-diff detection and the FOLDER_MERGERS check below. + if [ -n "$DISPATCH_VENDOR" ]; then + v="$DISPATCH_VENDOR" + # Becomes part of the release asset filename and the OTA API's + # payload; keep it to the same charset every real vendor name uses. + if ! [[ "$v" =~ ^[A-Za-z0-9]+$ ]]; then + echo "::error::vendor '$v' must be alphanumeric" + exit 1 + fi + if ! is_valid_vendor "$v"; then + echo "::error::vendor '$v' has no resources/profiles/$v.json with a profile directory or version field" + exit 1 + fi + echo "vendors=$v" >> "$GITHUB_OUTPUT" + exit 0 + fi + + base='${{ github.event.before }}' + head='${{ github.sha }}' + # Zero SHA (branch created / force push) or manual dispatch: fall back + # to this commit's own diff. + if [ -z "$base" ] || [ "$base" = "0000000000000000000000000000000000000000" ] || ! git cat-file -e "$base^{commit}" 2>/dev/null; then + base="$head^" + fi + # Exposed so the OFL-pending step below can reuse this exact diff + # range instead of re-deriving it (and drifting from this logic). + echo "base=$base" >> "$GITHUB_OUTPUT" + echo "head=$head" >> "$GITHUB_OUTPUT" + mapfile -t candidates < <( + git diff --name-only "$base" "$head" -- resources/profiles \ + | sed -nE 's#^resources/profiles/([^/]+)/.*#\1#p; s#^resources/profiles/([^/]+)\.json$#\1#p' \ + | sort -u + ) + + vendors=() + for v in "${candidates[@]:-}"; do + [ -n "$v" ] || continue + if is_valid_vendor "$v"; then + vendors+=("$v") + fi + done + + if [ "${#vendors[@]}" -eq 0 ]; then + echo "vendors=" >> "$GITHUB_OUTPUT" + exit 0 + fi + + # A vendor is eligible only when both the profile directory and its + # sibling bundle JSON are covered by at least one FOLDER_MERGERS + # grant. The account part is intentionally ignored here: this is a + # post-merge safety check, not an authorization check for a command. + # An ineligible vendor (e.g. OrcaFilamentLibrary, which has no grant) + # is dropped on its own - it never blocks other vendors in the same + # push from publishing. + grants=() + while IFS= read -r raw_line; do + line="${raw_line#"${raw_line%%[![:space:]]*}"}" + line="${line%"${line##*[![:space:]]}"}" + [ -n "$line" ] || continue + [[ "$line" == \#* ]] && continue + [[ "$line" == *:* ]] || continue + + grant="${line#*:}" + grant="${grant#"${grant%%[![:space:]]*}"}" + grant="${grant%"${grant##*[![:space:]]}"}" + while [[ "$grant" == */ ]]; do grant="${grant%/}"; done + grants+=("$grant") + done <<< "${FOLDER_MERGERS:-}" + + is_granted() { + local path="$1" + local grant + for grant in "${grants[@]:-}"; do + if [[ "$path" == "$grant" || "$path" == "$grant/"* ]]; then + return 0 + fi + done + return 1 + } + + authorized=() + unauthorized=() + for v in "${vendors[@]}"; do + if is_granted "resources/profiles/$v" && is_granted "resources/profiles/$v.json"; then + authorized+=("$v") + else + unauthorized+=("$v") + fi + done + + if [ "${#unauthorized[@]}" -ne 0 ]; then + echo "::warning::skipping vendor(s) with no FOLDER_MERGERS grant (no asset built or published for them this run): ${unauthorized[*]}" + fi + + echo "vendors=${authorized[*]}" >> "$GITHUB_OUTPUT" + + - name: Resolve Orca version + id: orca + # Unconditional: needed both by the vendor-publish pipeline below (only + # when vendors is non-empty) and by the OFL-pending step at the end + # (which runs whenever OFL itself changed, even if vendors ends up + # empty because OFL has no FOLDER_MERGERS grant). Cheap and harmless + # to always resolve - version.inc is present on every commit. + shell: bash + run: | + set -euo pipefail + raw="$(sed -nE 's/^set\(SoftFever_VERSION "([^"]+)".*/\1/p' version.inc | head -1)" + [ -n "$raw" ] || { echo "::error::could not read SoftFever_VERSION from version.inc"; exit 1; } + orca_ver="${raw%%-*}" + if ! [[ "$orca_ver" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "::error::Orca version '$orca_ver' (from '$raw') is not X.Y.Z"; exit 1 + fi + # release_tag is what the desktop client sends as orca_version and what + # OrcaCloud keys R2 on; orca_ver (X.Y.Z) is the asset-name prefix. + echo "release_tag=$raw" >> "$GITHUB_OUTPUT" + echo "orca_ver=$orca_ver" >> "$GITHUB_OUTPUT" + + - name: Validate profile versions + id: pver + if: steps.vendors.outputs.vendors != '' + shell: bash + run: | + set -euo pipefail + : > "$RUNNER_TEMP/pver.tsv" + for v in ${{ steps.vendors.outputs.vendors }}; do + pv="$(jq -r '.version // empty' "resources/profiles/$v.json")" + if ! [[ "$pv" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "::error::vendor $v version '${pv:-}' must be 4 numeric parts (A.B.C.D) for the OTA asset name; fix resources/profiles/$v.json" + exit 1 + fi + printf '%s\t%s\n' "$v" "$pv" >> "$RUNNER_TEMP/pver.tsv" + done + + - name: Download generate_system_cache + if: steps.vendors.outputs.vendors != '' + shell: bash + env: + # gh (with the default token) rather than an unauthenticated curl: keeps + # working if TOOL_REPO is ever private and avoids anonymous rate limits. + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -euo pipefail + gh release download nightly-builds --repo "$TOOL_REPO" \ + --pattern "$TOOL_ASSET" --output generate_system_cache --clobber + chmod +x generate_system_cache + + - name: Build caches and package assets + id: pkg + if: steps.vendors.outputs.vendors != '' + shell: bash + run: | + set -euo pipefail + # One timestamp for the whole run so a multi-vendor merge groups together. + ts="$(date -u +%Y%m%d%H%M)" + orca_ver='${{ steps.orca.outputs.orca_ver }}' + out="$RUNNER_TEMP/assets" + mkdir -p "$out" + + for v in ${{ steps.vendors.outputs.vendors }}; do + ./generate_system_cache -p "$GITHUB_WORKSPACE/resources/profiles" -v "$v" -l 2 + opc="resources/profiles/$v.opc" + [ -f "$opc" ] || { echo "::error::$opc was not generated"; exit 1; } + pv="$(awk -F'\t' -v v="$v" '$1==v{print $2}' "$RUNNER_TEMP/pver.tsv")" + name="${orca_ver}_${v}_${pv}_${ts}.zip" + ( cd resources/profiles && zip -q -j "$out/$name" "$v.opc" ) + done + echo "dir=$out" >> "$GITHUB_OUTPUT" + + - name: Mint profiles-repo token + id: token + if: steps.vendors.outputs.vendors != '' + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.PROFILES_APP_ID }} + private-key: ${{ secrets.PROFILES_APP_PRIVATE_KEY }} + owner: ${{ env.PROFILES_OWNER }} + repositories: ${{ env.PROFILES_REPO }} + + - name: Publish assets to profiles release + if: steps.vendors.outputs.vendors != '' + shell: bash + env: + GH_TOKEN: ${{ steps.token.outputs.token }} + RELEASE_TAG: ${{ steps.orca.outputs.release_tag }} + ASSET_DIR: ${{ steps.pkg.outputs.dir }} + run: | + set -euo pipefail + repo="$PROFILES_OWNER/$PROFILES_REPO" + if ! gh release view "$RELEASE_TAG" --repo "$repo" >/dev/null 2>&1; then + echo "Creating release $RELEASE_TAG on $repo" + gh release create "$RELEASE_TAG" --repo "$repo" \ + --title "$RELEASE_TAG" --notes "Profile cache assets for Orca $RELEASE_TAG." \ + --latest=false + fi + # Asset names are timestamp-unique; a clash means a bug, so don't --clobber. + gh release upload "$RELEASE_TAG" --repo "$repo" "$ASSET_DIR"/*.zip + + { + echo "### Published to \`$repo\` release \`$RELEASE_TAG\`" + for f in "$ASSET_DIR"/*.zip; do echo "- \`$(basename "$f")\`"; done + } >> "$GITHUB_STEP_SUMMARY" + + - name: Notify OTA auto-publish + # Gated on auto_publish specifically, not just "vendor was dispatched": + # a maintainer manually dispatching with vendor=OrcaFilamentLibrary (e.g. + # to rebuild/republish an asset while debugging) must not silently go + # live. Only a caller that explicitly opts in with auto_publish=true + # (the OFL nightly cron) skips the human changelog/Publish step. + if: >- + steps.vendors.outputs.vendors != '' && github.event_name == 'workflow_dispatch' + && (inputs.auto_publish == true || inputs.auto_publish == 'true') + shell: bash + env: + OTA_API_BASE_URL: ${{ vars.OTA_API_BASE_URL }} + OTA_API_KEY: ${{ secrets.OFL_OTA_PUBLISH_KEY }} + ASSET_DIR: ${{ steps.pkg.outputs.dir }} + run: | + set -euo pipefail + [ -n "$OTA_API_BASE_URL" ] || { echo "::error::vars.OTA_API_BASE_URL is not set"; exit 1; } + [ -n "$OTA_API_KEY" ] || { echo "::error::secrets.OFL_OTA_PUBLISH_KEY is not set"; exit 1; } + + mapfile -t zip_files < <(cd "$ASSET_DIR" && ls -1 *.zip) + filenames_json="$(printf '%s\n' "${zip_files[@]}" | jq -R . | jq -s .)" + payload="$(jq -n --argjson filenames "$filenames_json" '{filenames: $filenames}')" + + resp_file="$RUNNER_TEMP/ota-auto-publish-response.json" + status="$(curl -sS -o "$resp_file" -w '%{http_code}' -X POST \ + "${OTA_API_BASE_URL%/}/api/v1/ota/auto-publish" \ + -H "Authorization: Bearer $OTA_API_KEY" \ + -H 'Content-Type: application/json' \ + -d "$payload")" + body="$(cat "$resp_file")" + echo "$body" + + if [ "$status" != "200" ]; then + echo "::error::OTA auto-publish call failed with HTTP $status" + exit 1 + fi + + # A 200 can still carry per-file "error" results (e.g. NOT_FOUND); the + # asset is already safely published to the profiles release above, but + # it never went live, so treat that as a failure worth surfacing loudly. + error_count="$(jq '[.results[] | select(.status == "error")] | length' <<< "$body")" + if [ "$error_count" != "0" ]; then + jq -r '.results[] | select(.status == "error") | "::error::\(.filename): \(.code) - \(.message)"' <<< "$body" + exit 1 + fi + + - name: Record OFL pending changes + # A real merge, never the cron's explicit-vendor dispatch (that's + # automation publishing, not a new merge to report). This covers two + # trigger shapes: an ordinary push, and a vendor-less workflow_dispatch + # - the latter is exactly what pr-merge-bot.yml's re-dispatch after a + # successful /bot merge looks like (a GITHUB_TOKEN-authored merge fires + # no push event at all, which is why that re-dispatch exists). Both + # land in the same diff-fallback path in "Resolve changed vendors", so + # base/head/orca_ver are already correctly populated either way - only + # this condition needs widening. + # Placed last in the job on purpose: a failure here must never block + # the vendor-publish pipeline above, which a step failing earlier in + # the job would do (subsequent steps without always() get skipped). + if: >- + github.event_name == 'push' || + (github.event_name == 'workflow_dispatch' && !inputs.vendor) + shell: bash + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + OTA_API_BASE_URL: ${{ vars.OTA_API_BASE_URL }} + OTA_API_KEY: ${{ secrets.OFL_OTA_PUBLISH_KEY }} + run: | + set -euo pipefail + base='${{ steps.vendors.outputs.base }}' + head='${{ steps.vendors.outputs.head }}' + orca_ver='${{ steps.orca.outputs.orca_ver }}' + + # Only real vendor subdirectories under filament/, e.g. + # .../filament/Qidi/x.json -> "Qidi". This naturally excludes loose + # top-level files (.../filament/Generic PLA @System.json - no further + # slash to match) and is further filtered below to drop "base", the + # shared @base/@System inheritance folder, not a partner company. + mapfile -t ofl_companies < <( + git diff --name-only "$base" "$head" -- resources/profiles/OrcaFilamentLibrary/filament \ + | sed -nE 's#^resources/profiles/OrcaFilamentLibrary/filament/([^/]+)/.*#\1#p' \ + | grep -vx 'base' \ + | sort -u + ) + + if [ "${#ofl_companies[@]}" -eq 0 ]; then + echo "No OFL company folders changed in this push." + exit 0 + fi + + [ -n "$OTA_API_BASE_URL" ] || { echo "::error::vars.OTA_API_BASE_URL is not set"; exit 1; } + [ -n "$OTA_API_KEY" ] || { echo "::error::secrets.OFL_OTA_PUBLISH_KEY is not set"; exit 1; } + + # The head commit's own merged PR, not a per-commit walk: this + # assumes the ordinary one-PR-per-push shape every other merge path + # in this repo already assumes (pr-merge-bot.yml's re-dispatch logic + # does the same). A merge commit's parents don't matter here - this + # API call works the same regardless of merge strategy. + pr_json="$(gh api "repos/${{ github.repository }}/commits/$head/pulls" \ + --jq '[.[] | select(.merged_at != null)] | sort_by(.merged_at) | last // empty')" + + if [ -z "$pr_json" ]; then + echo "::warning::push $head touches OFL compan(y/ies) (${ofl_companies[*]}) but has no associated merged PR; skipping pending record(s)" + exit 0 + fi + pr_number="$(jq -r '.number' <<< "$pr_json")" + pr_url="$(jq -r '.html_url' <<< "$pr_json")" + pr_title="$(jq -r '.title' <<< "$pr_json")" + + for company in "${ofl_companies[@]}"; do + payload="$(jq -n --arg vendor "$company" --arg ver "$orca_ver" --argjson pr "$pr_number" \ + --arg url "$pr_url" --arg title "$pr_title" \ + '{vendor: $vendor, orcaSlicerVersion: $ver, prNumber: $pr, prUrl: $url, prTitle: $title}')" + + resp_file="$RUNNER_TEMP/ofl-pending-$company.json" + status="$(curl -sS -o "$resp_file" -w '%{http_code}' -X POST \ + "${OTA_API_BASE_URL%/}/api/v1/ota/ofl/pending" \ + -H "Authorization: Bearer $OTA_API_KEY" \ + -H 'Content-Type: application/json' \ + -d "$payload")" + body="$(cat "$resp_file")" + echo "$body" + + if [ "$status" != "200" ]; then + echo "::error::OFL pending record failed for vendor=$company (PR #$pr_number): HTTP $status" + exit 1 + fi + done diff --git a/.github/workflows/pr-merge-bot.yml b/.github/workflows/pr-merge-bot.yml index 9b5ff2dfaf..3376cf4a36 100644 --- a/.github/workflows/pr-merge-bot.yml +++ b/.github/workflows/pr-merge-bot.yml @@ -12,6 +12,13 @@ name: PR Merge Bot # PR targets main or release/*, and CI is green on the head commit. Otherwise it # comments naming the files that fell outside the grant. # +# When a PR touching resources/profiles/** is opened, two labels are applied +# independently of the merge command: +# profile every changed path is inside resources/profiles/ +# orca profile partner the PR author holds a grant covering every changed +# path, plus a one-time comment explaining /bot merge +# Neither label changes what the merge command checks. +# # Grants come from the FOLDER_MERGERS variable in the `merge-delegation` # environment: one per line, `account: path`, `#` comments and blank lines # allowed. Paths may contain spaces. A vendor takes two grants, the folder and @@ -32,10 +39,18 @@ on: issue_comment: types: - created + # Labels profile PRs on open, without waiting for a /bot merge command. + pull_request_target: + types: + - opened + paths: + - 'resources/profiles/**' # One merge attempt per PR at a time, so two quick comments cannot race. +# Labels run under their own group, so a queued label run is not replaced by +# a merge run for the same PR. concurrency: - group: ${{ github.workflow }}-${{ github.event.issue.number }} + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.issue.number || github.event.pull_request.number }} cancel-in-progress: false jobs: @@ -43,6 +58,7 @@ jobs: # Skips the job unless a PR comment mentions the command. if: >- github.repository == 'OrcaSlicer/OrcaSlicer' + && github.event_name == 'issue_comment' && github.event.issue.pull_request != null && contains(github.event.comment.body, '/bot merge') permissions: @@ -53,7 +69,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 # Supplies FOLDER_MERGERS. Must carry no protection rules, or every - # delegated merge would wait for a human reviewer. + # delegated merge and partner label run would wait for a human reviewer. environment: merge-delegation steps: - name: Merge PR on behalf of a folder delegate @@ -76,7 +92,6 @@ jobs: const ALLOWED_BASE_BRANCH = /^(?:main|release\/.+)$/; const MERGE_METHOD = 'squash'; const REQUIRED_CHECK = 'Check profiles'; // job name in check_profiles.yml - const MAX_CHANGED_FILES = 500; // policy cap, well under listFiles' 3000 const LISTFILES_CAP = 3000; const MAX_REPORTED_FILES = 12; const MERGEABLE_ATTEMPTS = 5; @@ -304,9 +319,6 @@ jobs: 'so the file list is truncated and I cannot verify the folder scope. A maintainer must merge this one.' ); } - if (pr.changed_files > MAX_CHANGED_FILES) { - return refuse(`it changes ${pr.changed_files} files; delegated merges are capped at ${MAX_CHANGED_FILES}.`); - } const deniedFiles = []; const outsideFiles = []; @@ -508,3 +520,414 @@ jobs: } catch (error) { core.warning(`Merged successfully, but dispatching build_all.yml failed: ${error.message}`); } + // ---- re-kick the profile publish ---- + // Same reason as above: post_merge_profiles.yml is push-triggered, so a + // GITHUB_TOKEN merge never starts it. workflow_dispatch skips the paths: + // filter, so only dispatch when the PR actually touched profiles. + const touchesProfiles = files.some((file) => + [file.filename, file.previous_filename] + .filter(Boolean) + .some((p) => p.startsWith('resources/profiles/')) + ); + if (touchesProfiles) { + try { + await github.rest.actions.createWorkflowDispatch({ + owner, + repo, + workflow_id: 'post_merge_profiles.yml', + ref: pr.base.ref + }); + core.info(`Dispatched post_merge_profiles.yml on ${pr.base.ref}.`); + } catch (error) { + core.warning(`Merged successfully, but dispatching post_merge_profiles.yml failed: ${error.message}`); + } + } + + label-profile: + # Independent of the merge rules: any PR that changes only files inside + # resources/profiles/ is labeled `profile`. + if: >- + github.repository == 'OrcaSlicer/OrcaSlicer' + && github.event_name == 'pull_request_target' + permissions: + contents: read + pull-requests: write + issues: write + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Label profile-only PRs + uses: actions/github-script@v9 + with: + script: | + function isPermissionDenied(error) { + return error && error.status === 403 && /Resource not accessible by integration/i.test(error.message || ''); + } + + const PROFILE_ROOT = 'resources/profiles/'; + const LABEL = 'profile'; + const LISTFILES_CAP = 3000; + const ATTEMPTS = 3; + + function profileOnlyProblem(pr, files) { + if (!files.length) { + return 'PR changes no files; not labeling.'; + } + // A truncated list, or a count that disagrees with the PR, cannot + // prove "only profile files". + if (files.length >= LISTFILES_CAP || files.length !== pr.changed_files) { + return `PR reports ${pr.changed_files} changed files but the API listed ${files.length}; not labeling.`; + } + + // Both endpoints of a rename count, so a move out of the profile + // root is not mistaken for a profile-only change. + const paths = files.flatMap((file) => [file.filename, file.previous_filename].filter(Boolean)); + const outside = paths.filter((path) => !path.startsWith(PROFILE_ROOT)); + + if (outside.length) { + return `${outside.length} changed path(s) fall outside ${PROFILE_ROOT}; not labeling.`; + } + + return null; + } + + const { owner, repo } = context.repo; + const number = context.payload.pull_request.number; + + // The event payload is frozen at `opened`; listFiles is not. Read + // fresh PR metadata and retry if either side of the diff changes. + for (let attempt = 0; attempt < ATTEMPTS; attempt += 1) { + const { data: pr } = await github.rest.pulls.get({ owner, repo, pull_number: number }); + + if (pr.state !== 'open') { + core.info(`PR is ${pr.state}; not labeling.`); + return; + } + + const files = await github.paginate(github.rest.pulls.listFiles, { + owner, + repo, + pull_number: pr.number, + per_page: 100 + }); + const problem = profileOnlyProblem(pr, files); + + const { data: after } = await github.rest.pulls.get({ owner, repo, pull_number: number }); + if ( + after.state !== 'open' || + after.head.sha !== pr.head.sha || + after.base.ref !== pr.base.ref || + after.base.sha !== pr.base.sha + ) { + core.info('PR changed while listing files; retrying.'); + continue; + } + + if (problem) { + core.info(problem); + return; + } + + try { + await github.rest.issues.addLabels({ + owner, + repo, + issue_number: pr.number, + labels: [LABEL] + }); + core.info(`Applied the "${LABEL}" label.`); + } catch (error) { + if (isPermissionDenied(error)) { + core.warning(`Cannot add the "${LABEL}" label because the token cannot write.`); + return; + } + + throw error; + } + + return; + } + + core.warning('PR kept changing during verification; not labeling.'); + + label-profile-partner: + # Labels a profile PR whose author holds a grant covering every changed + # path, and explains the /bot merge command to them once. + if: >- + github.repository == 'OrcaSlicer/OrcaSlicer' + && github.event_name == 'pull_request_target' + permissions: + contents: read # delegatable subtree, for file modes + pull-requests: write + issues: write # label + comment + runs-on: ubuntu-latest + timeout-minutes: 10 + # Supplies FOLDER_MERGERS. Must carry no protection rules, or every + # qualifying PR open would wait for a human reviewer. + environment: merge-delegation + steps: + - name: Label profile PRs from delegated maintainers + uses: actions/github-script@v9 + env: + # Read as an env var, never interpolated into the script body. + FOLDER_MERGERS: ${{ vars.FOLDER_MERGERS }} + with: + script: | + function isPermissionDenied(error) { + return error && error.status === 403 && /Resource not accessible by integration/i.test(error.message || ''); + } + + // Never prints the grant list: this job posts public comments and + // its logs are public too. + async function bestEffort(call, warning) { + try { + await call(); + } catch (error) { + if (isPermissionDenied(error)) { + core.warning(warning); + return; + } + + throw error; + } + } + + const MARKER = ''; + const LABEL = 'orca profile partner'; + const ATTEMPTS = 3; + + // ---- scope rules, mirrored from the merge job above ---- + // Change both together: these decide whether a delegate could merge. + const DELEGATABLE_ROOT = 'resources/profiles/'; + const ALLOWED_BASE_BRANCH = /^(?:main|release\/.+)$/; + const LISTFILES_CAP = 3000; + const REGULAR_FILE_MODES = new Set(['100644', '100755']); + + const DENIED_PATTERNS = [ + /^\.github\//, + /(^|\/)\.git(attributes|modules|ignore|config)$/, + /^(?:src|deps|deps_src|tests|tools|cmake|sandboxes|scripts|docs?|localization|bbl)\//, + /(^|\/)cmakelists\.txt$/, + /\.cmake$/, + /^build_[^/]*\.(?:sh|bat)$/, + /^version\.inc$/, + // Executables, including those inside the delegatable root. + /\.(?:sh|bash|bat|cmd|ps1|py|js|mjs|cjs|ts|rb|pl|php)$/ + ]; + + function parseGrants(raw) { + // GitHub login: 1-39 chars, alphanumerics with single interior hyphens. + const loginPattern = /^[A-Za-z0-9](?:[A-Za-z0-9]|-(?=[A-Za-z0-9])){0,38}$/; + const grantsByLogin = new Map(); + const problems = []; + + (raw || '').split(/\r?\n/).forEach((rawLine, index) => { + const line = rawLine.trim(); + if (!line || line.startsWith('#')) { + return; + } + + // Splits on the first colon only, so paths may contain ':' and spaces. + const separator = line.indexOf(':'); + if (separator === -1) { + problems.push(`line ${index + 1}: expected \`account: path\``); + return; + } + + const login = line.slice(0, separator).trim().replace(/^@/, ''); + const path = line.slice(separator + 1).trim().replace(/\/+$/, ''); + + if (!loginPattern.test(login)) { + problems.push(`line ${index + 1}: \`${login}\` is not a valid GitHub account name`); + return; + } + if (/[\\*?\u0000-\u001f\u007f]/.test(path) || path.split('/').includes('..') || path.includes('//')) { + problems.push(`line ${index + 1}: invalid path (no globs, \`..\`, \`//\`, backslashes or control characters)`); + return; + } + // Rejects anything outside the root, and the bare root itself. + if (!path.startsWith(DELEGATABLE_ROOT) || path.length <= DELEGATABLE_ROOT.length) { + problems.push(`line ${index + 1}: \`${path}\` is not inside \`${DELEGATABLE_ROOT}\``); + return; + } + + const key = login.toLowerCase(); + grantsByLogin.set(key, (grantsByLogin.get(key) || []).concat(path)); + }); + + return { grantsByLogin, problems }; + } + + function isDenied(path) { + if (/[\\\u0000-\u001f\u007f]/.test(path) || path.startsWith('/') || path.split('/').includes('..')) { + return true; + } + + const normalized = path.normalize('NFKC').toLowerCase(); + return DENIED_PATTERNS.some((pattern) => pattern.test(normalized)); + } + + // Byte-exact match on directory boundaries, so a grant of + // `.../Acme` covers neither `.../Acme Labs/x.json` nor `.../Acme.json`. + function isGranted(path, grants) { + return grants.some((grant) => path === grant || path.startsWith(`${grant}/`)); + } + + // Both endpoints of a rename; both must satisfy the grant. + function pathsFor(file) { + return [file.filename, file.previous_filename].filter(Boolean); + } + // ---- end mirrored rules ---- + + function scopeProblem(pr, files, grants) { + if (!files.length) { + return 'PR changes no files; not labeling.'; + } + if (files.length >= LISTFILES_CAP || files.length !== pr.changed_files) { + return `PR reports ${pr.changed_files} changed files but the API listed ${files.length}; not labeling.`; + } + + let outsideCount = 0; + for (const file of files) { + for (const path of pathsFor(file)) { + if (isDenied(path) || !isGranted(path, grants)) { + outsideCount += 1; + } + } + } + + if (outsideCount) { + return `PR has ${outsideCount} path(s) outside @${author}'s grants; not labeling.`; + } + + return null; + } + + // ---- file modes: rejects symlinks and submodules ---- + function modeProblem(files, tree) { + if (tree.truncated) { + return 'The profile tree is too large to verify file modes; not labeling.'; + } + + const modesByPath = new Map(tree.tree.map((entry) => [`${DELEGATABLE_ROOT}${entry.path}`, entry.mode])); + const hasIrregularFile = files.some((file) => + file.status !== 'removed' && !REGULAR_FILE_MODES.has(modesByPath.get(file.filename))); + + if (hasIrregularFile) { + return 'PR adds symlinks, submodules or files whose modes cannot be verified; not labeling.'; + } + + return null; + } + + const { owner, repo } = context.repo; + const number = context.payload.pull_request.number; + const author = context.payload.pull_request.user.login; + + const { grantsByLogin, problems } = parseGrants(process.env.FOLDER_MERGERS); + + // Only the count: the malformed lines may name grant holders. + if (problems.length) { + core.warning(`FOLDER_MERGERS has ${problems.length} malformed line(s); not labeling.`); + return; + } + + const grants = grantsByLogin.get(author.toLowerCase()) || []; + // Says nothing to accounts with no grant, so it cannot be used to spam. + if (!grants.length) { + core.info(`Ignoring PR from @${author}: not listed in FOLDER_MERGERS.`); + return; + } + + // Read current PR metadata for the file list and head tree. Retry + // if either side of the diff changes during verification. + for (let attempt = 0; attempt < ATTEMPTS; attempt += 1) { + const { data: pr } = await github.rest.pulls.get({ owner, repo, pull_number: number }); + + if (pr.state !== 'open') { + core.info(`PR is ${pr.state}; not labeling.`); + return; + } + if (!ALLOWED_BASE_BRANCH.test(pr.base.ref)) { + core.info(`PR targets "${pr.base.ref}", not main or release/*; not labeling.`); + return; + } + // Checked before listing files, so a PR too large to list is + // rejected in one call. + if (pr.changed_files >= LISTFILES_CAP) { + core.info(`PR changes ${pr.changed_files} files, more than the API can list; not labeling.`); + return; + } + + const files = await github.paginate(github.rest.pulls.listFiles, { + owner, + repo, + pull_number: pr.number, + per_page: 100 + }); + const scopeIssue = scopeProblem(pr, files, grants); + + let modeIssue = null; + if (!scopeIssue) { + const { data: tree } = await github.rest.git.getTree({ + owner, + repo, + tree_sha: `${pr.head.sha}:${DELEGATABLE_ROOT.replace(/\/$/, '')}`, + recursive: 'true' + }); + modeIssue = modeProblem(files, tree); + } + + const { data: after } = await github.rest.pulls.get({ owner, repo, pull_number: number }); + if ( + after.state !== 'open' || + after.head.sha !== pr.head.sha || + after.base.ref !== pr.base.ref || + after.base.sha !== pr.base.sha + ) { + core.info('PR changed while verifying; retrying.'); + continue; + } + + const problem = scopeIssue || modeIssue; + if (problem) { + core.info(problem); + return; + } + + // ---- label + one-time comment ---- + await bestEffort( + () => github.rest.issues.addLabels({ owner, repo, issue_number: pr.number, labels: [LABEL] }), + `Cannot add the "${LABEL}" label because the token cannot write.`); + + const comments = await github.paginate(github.rest.issues.listComments, { + owner, + repo, + issue_number: pr.number, + per_page: 100 + }); + if (comments.some((comment) => (comment.body || '').includes(MARKER))) { + core.info('Partner notice already present; skipping comment.'); + return; + } + + await bestEffort( + () => github.rest.issues.createComment({ + owner, + repo, + issue_number: pr.number, + body: + `${MARKER}\n` + + `Hi @${author}, this profile PR is covered by your delegated merge grant.\n\n` + + `Once it is ready for review and CI is green, you can merge it yourself:\n\n` + + `- \`/bot merge\` - squash-merge into \`main\` or \`release/*\`\n` + + `- \`/bot merge --dry-run\` - report the verdict without merging\n\n` + + `The bot re-checks the scope, the file modes and the \`Check profiles\` check at merge time.` + }), + 'Cannot post the partner notice because the token cannot write comments.'); + + core.info(`Applied the "${LABEL}" label and posted the /bot merge notice.`); + return; + } + + core.warning('PR kept changing during verification; not labeling.'); diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 5f54f6581d..f5850d9fd7 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -54,8 +54,10 @@ jobs: shell: bash run: | tar -xvf build_tests.tar - # Multi-config generators (Windows/macOS) need a config; Linux is single-config. - scripts/run_unit_tests.sh "${{ inputs.test-dir }}" "${{ runner.os != 'Linux' && 'Release' || '' }}" + # Every platform builds with a multi-config generator (build_linux.sh uses Ninja + # Multi-Config), so ctest needs the config: without it, plain add_test() tests + # lose their labels and report "Not Run". + scripts/run_unit_tests.sh "${{ inputs.test-dir }}" Release - name: Upload Test Logs if: ${{ failure() }} uses: actions/upload-artifact@v7 diff --git a/.github/workflows/unit_tests_flatpak.yml b/.github/workflows/unit_tests_flatpak.yml new file mode 100644 index 0000000000..ce261c210c --- /dev/null +++ b/.github/workflows/unit_tests_flatpak.yml @@ -0,0 +1,67 @@ +name: Flatpak Unit Tests + +# Run the flatpak build's test asset inside the sandbox, once per arch. The +# GNOME SDK's _GLIBCXX_ASSERTIONS gives a bounds-checked STL that catches +# out-of-bounds reads no other test leg does. +on: + workflow_call: + inputs: + os: + required: true + type: string + artifact: + description: Test asset uploaded by the flatpak build leg + required: true + type: string + +jobs: + unit_tests_flatpak: + name: Flatpak Unit Tests + runs-on: ${{ inputs.os }} + container: + image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-50 + options: --privileged + steps: + - name: Restore test asset + uses: actions/download-artifact@v8 + with: + name: ${{ inputs.artifact }} + - name: Run unit tests (bounds-checked sandbox) + timeout-minutes: 20 + shell: bash + run: | + tar -xf flatpak-test-asset.tar + # Recreate the stable module symlink so /run/build/OrcaSlicer resolves. + d=$(ls -d .flatpak-builder/build/OrcaSlicer-* | tail -1) + ln -sfn "$(basename "$d")" .flatpak-builder/build/OrcaSlicer + # The runtime + SDK + the llvm extension the app metadata references, + # which `flatpak build` mounts; best-effort, the image may have them. + flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak install --user -y --noninteractive flathub \ + org.gnome.Platform//50 org.gnome.Sdk//50 org.freedesktop.Sdk.Extension.llvm21//25.08 || true + # `flatpak build` uses bwrap (no rofiles-fuse, which this container + # rejects); bind-mount the build tree so the baked TEST_DATA_DIR resolves. + flatpak build --die-with-parent --share=network \ + --bind-mount=/run/build="$PWD/.flatpak-builder/build" \ + flatpak_app \ + bash -c 'cd /run/build/OrcaSlicer && scripts/run_unit_tests.sh build_flatpak/tests' + - name: Collect test results + if: always() + shell: bash + run: | + d=$(ls -d .flatpak-builder/build/OrcaSlicer-* 2>/dev/null | tail -1 || true) + [ -n "$d" ] && [ -f "$d/ctest_results.xml" ] && cp "$d/ctest_results.xml" ctest_results.xml || true + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-${{ inputs.artifact }} + path: ctest_results.xml + retention-days: 5 + if-no-files-found: warn + - name: Delete Test Asset + if: success() + uses: geekyeggo/delete-artifact@v6 + with: + name: ${{ inputs.artifact }} + failOnError: false diff --git a/.gitignore b/.gitignore index 21befeb0dd..5224ecad6b 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,4 @@ __pycache__/ *.opc /.test/ docs/superpowers/ -ctest_results.xml \ No newline at end of file +ctest_results.xml diff --git a/AGENTS.md b/AGENTS.md index 4be195b40d..3d0a61b303 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,9 +20,9 @@ cmake --build . --config %build_type% --target ALL_BUILD -- -m Catch2 framework. Tests in `tests/`; see [tests/AGENTS.md](tests/AGENTS.md) for where a new test belongs and the conventions to follow. ```bash -cd build && ctest --output-on-failure # all tests -ctest --test-dir ./tests/libslic3r # individual suite -ctest --test-dir ./tests/fff_print +cd build && ctest -C Release --output-on-failure # all tests +ctest --test-dir ./tests/libslic3r -C Release # individual suite +ctest --test-dir ./tests/fff_print -C Release ``` ## Documentation @@ -64,16 +64,16 @@ ctest --test-dir ./tests/fff_print - Keep code concise and clear. Manually simplify AI generated bloated codes before review. - Include targeted tests or documented verification for behavior changes, especially in slicing logic, profiles, formats, and GUI defaults. - For profile changes (`resources/profiles//**`), check that `version` in the sibling `resources/profiles/.json` was bumped. -- For translation changes (`localization/i18n/**/*.po`), check that recurring terms match the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_glossary.md) for that language. +- For translation changes (`localization/i18n/**/*.po`), check that recurring terms match the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_glossary.md) for that language. ## Localization & translations Catalogs live in `localization/i18n//OrcaSlicer_.po`; the template is `OrcaSlicer.pot`. -See the [Localization guide](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_guide.md) for the human-facing version of these principles. +See the [Localization guide](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_guide.md) for the human-facing version of these principles. ### Terminology -- Use the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/guides/localization_glossary.md) as the source of truth for recurring terms, so the same English term is always rendered the same way within a language, and terms that must stay in English (brand/product names, acronyms, materials, file formats, G-code tokens, macros/variables/identifiers) are not translated. +- Use the [Localization glossary](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/developer_reference/localization_glossary.md) as the source of truth for recurring terms, so the same English term is always rendered the same way within a language, and terms that must stay in English (brand/product names, acronyms, materials, file formats, G-code tokens, macros/variables/identifiers) are not translated. - If a term's established translation changes, update both the affected `.po` files and the glossary (`localization_glossary.tsv`, then regenerate) so they stay in sync. - Translate the *meaning*, not the words. Check what the string actually controls before translating it — English reuses one word for different things. `Flow ratio` (multiplier), `Flow Rate` (throughput) and `Flow Dynamics` (pressure compensation) are three different terms; `extruder` may mean the toolhead, the feeder motor, or the nozzle depending on the string. - Reuse one template per recurring message shape (`Failed to connect to …`, `Are you sure you want to …?`), even where the English wording varies. diff --git a/CMakeLists.txt b/CMakeLists.txt index 5620875d4f..3a7b8adf5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ endif() cmake_minimum_required(VERSION 3.13) +if(POLICY CMP0177) + cmake_policy(SET CMP0177 NEW) +endif() + # The following line used to be in tests/CMakeLists.txt # Having it there causes rebuilds of all targets on any CMakeLists.txt change under tests/ @@ -52,9 +56,9 @@ You can do this in Environment Variables settings. endif () if (APPLE) - # if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3 + # if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 12.0 (the lowest Xcode 27 accepts) if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum OS X deployment version" FORCE) endif () message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}") endif () @@ -66,6 +70,9 @@ if (POLICY CMP0092) cmake_policy(SET CMP0092 NEW) endif () +# project() reads this, so set it first. +set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/ClangClShowIncludes.cmake") + project(OrcaSlicer) # Backward compatibility for old CMake versions @@ -103,6 +110,7 @@ endif() option(SLIC3R_STATIC "Compile OrcaSlicer with static libraries (Boost, TBB)" ${SLIC3R_STATIC_INITIAL}) option(SLIC3R_GUI "Compile OrcaSlicer with GUI components (OpenGL, wxWidgets)" 1) +option(SLIC3R_CAD "Compile OrcaSlicer with the parametric Design/CAD tab (needs OCCT ModelingAlgorithms)" 1) option(SLIC3R_FHS "Assume OrcaSlicer is to be installed in a FHS directory structure" 0) option(SLIC3R_PROFILE "Compile OrcaSlicer with an invasive Shiny profiler" 0) option(SLIC3R_PCH "Use precompiled headers" 1) @@ -271,6 +279,11 @@ if (APPLE) endif() SET(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.orcaslicer.OrcaSlicer") + # The macOS CI jobs build with Ninja (build_release_macos.sh -x), so the Xcode generator + # is not covered. Xcode adds -Wshorten-64-to-32 by default ("Implicit Conversion to 32 Bit + # Type"); Ninja/-Wall does not, and under -Werror it fails Xcode builds on code CI accepts. + set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION "NO") + message(STATUS "Orca: IS_CROSS_COMPILE: ${IS_CROSS_COMPILE}") elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") set(CMAKE_INSTALL_RPATH "$ORIGIN") @@ -304,6 +317,10 @@ if (SLIC3R_GUI) add_definitions(-DSLIC3R_GUI) endif () +if (SLIC3R_CAD) + add_definitions(-DSLIC3R_CAD) +endif () + if(SLIC3R_DESKTOP_INTEGRATION) add_definitions(-DSLIC3R_DESKTOP_INTEGRATION) endif () @@ -553,59 +570,92 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR elseif (NOT MINGW) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) endif () - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder" ) - # On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error. - add_compile_options(-Werror=return-type) + # Every warning is an error unless it appears in one of the two lists below. + # disabled - never wanted. Off everywhere, so it never warns or errors. + # demoted - wanted, not cleared yet. Still warns, does not error. - # Since some portions of code are just commented out or put under conditional compilation, there are - # a bunch of warning related to unused functions and variables. Suppress those warnings to not pollute - # compilers diagnostics output with warnings we not going to look at - add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs) + # Disabled. + set(warnings_disabled + reorder # members initialised in an order we chose + sign-compare # signed/unsigned comparisons throughout + misleading-indentation # false positives on mixed tabs and spaces + switch # unhandled enum value in a switch + unused-function # commented-out or conditionally compiled code + unused-variable # commented-out or conditionally compiled code + unused-but-set-variable # commented-out or conditionally compiled code + unused-label # commented-out or conditionally compiled code + unused-local-typedefs # commented-out or conditionally compiled code + ) + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + list(APPEND warnings_disabled deprecated-declarations) # legacy OpenGL calls + endif () + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) + list(APPEND warnings_disabled ignored-attributes) # from Eigen headers marked SYSTEM + endif () + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + list(APPEND warnings_disabled unknown-pragmas) # igl pragmas, GCC bug 66943 + endif () + foreach (w IN LISTS warnings_disabled) + add_compile_options(-Wno-${w}) + endforeach () - # Ignore signed/unsigned comparison warnings - add_compile_options(-Wno-sign-compare) + # GCC is not built in CI, so don't throw errors CI won't catch. + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + add_compile_options(-Werror=return-type) + else () + # Turn everything else into an error. Dependency headers are exempt because the + # SYSTEM include flag (-imsvc on clang-cl, -isystem elsewhere) keeps their + # diagnostics out. + add_compile_options(-Werror) + endif () - # The mismatch of tabs and spaces throughout the project can sometimes - # cause this warning to appear even though the indentation is fine. - # Some includes also cause the warning - add_compile_options(-Wno-misleading-indentation) + # Demoted. Remove a name once its category is cleared on every compiler. + set(warnings_demoted) + if (APPLE) + list(APPEND warnings_demoted + # MacDarkMode.mm makes two calls to AppKit's private titlebarViewController + # and one to a wxWidgets category on NSTableColumn whose header is not + # imported. Clearing it means declaring the private selectors ourselves, which + # needs a macOS build to verify. + objc-method-access + ) + endif () + if (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") + list(APPEND warnings_demoted + # About two dozen GetProcAddress casts, most in the vendored dark_mode.hpp, + # retype FARPROC to a real signature. The __stdcall typedefs are identical to + # FARPROC on x64, so only arm64 reports them. Clearing them is a separate + # sweep. + cast-function-type-mismatch + ) + endif () + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + list(APPEND warnings_demoted + # enum-constexpr-conversion is a Clang warning that defaults to an error, + # present through clang 20 and gone in clang 21. + enum-constexpr-conversion + ) + endif () - # Disable warning if enum value does not have a corresponding case in switch statement - add_compile_options(-Wno-switch) - - # removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1) - # https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 - if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) - add_compile_options(-Wno-ignored-attributes) # Tamas: Eigen include dirs are marked as SYSTEM - endif() - - # Clang reports legacy OpenGL calls as deprecated. Turn off the warning for now - # to reduce the clutter, we know about this one. It should be reenabled after - # we finally get rid of the deprecated code. - if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - add_compile_options(-Wno-deprecated-declarations) - endif() - - if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15) - include(CheckCXXCompilerFlag) - check_cxx_compiler_flag(-Wno-error=enum-constexpr-conversion HAS_WNO_ERROR_ENUM_CONSTEXPR_CONV) - if(HAS_WNO_ERROR_ENUM_CONSTEXPR_CONV) - add_compile_options(-Wno-error=enum-constexpr-conversion) - endif() - endif() - - #GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431 - # We will turn the warning of for GCC for now: - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - # GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431 - # We will turn the warning of for GCC for now: - add_compile_options(-Wno-unknown-pragmas) - endif() + # The list mixes names not every compiler has, so add each exception only where the + # compiler knows the warning. Probe with the positive -W, which an unknown + # warning fails on both compilers (GCC errors, Clang reports unknown-warning-option). + # An option that takes a =N argument rejects the bare -W, so fall back to + # -W=1 and demote with the trailing =. + include(CheckCXXCompilerFlag) + foreach (category IN LISTS warnings_demoted) + string(MAKE_C_IDENTIFIER "ORCA_HAS_W_${category}" _orca_has_w) + check_cxx_compiler_flag("-W${category}" ${_orca_has_w}) + if (${_orca_has_w}) + add_compile_options(-Wno-error=${category}) + else () + check_cxx_compiler_flag("-W${category}=1" ${_orca_has_w}_arg) + if (${${_orca_has_w}_arg}) + add_compile_options(-Wno-error=${category}=) + endif () + endif () + endforeach () # Compress the debug info with zstd to save space in Flatpak CI builds if(FLATPAK) @@ -615,10 +665,6 @@ if ((NOT MSVC OR IS_CLANG_CL) AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR endif() endif() - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 14) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=template-id-cdtor" ) - endif() - endif() if (SLIC3R_ASAN) @@ -1043,32 +1089,30 @@ function(orcaslicer_copy_dlls target config postfix output_dlls) ${TOP_LEVEL_PROJECT_DIR}/deps/WebView2/lib/win-${_arch}/WebView2Loader.dll DESTINATION ${_out_dir}) - file(COPY ${CMAKE_PREFIX_PATH}/bin/occt/TKBO.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKBRep.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKCAF.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKCDF.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKernel.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKG2d.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKG3d.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKGeomAlgo.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKGeomBase.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKHLR.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKLCAF.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKMath.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKMesh.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKPrim.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKService.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKShHealing.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKSTEP.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKSTEP209.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKSTEPAttr.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKSTEPBase.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKTopAlgo.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKV3d.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKVCAF.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKXCAF.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKXDESTEP.dll - ${CMAKE_PREFIX_PATH}/bin/occt/TKXSBase.dll + # Stage the OCCT toolkits libslic3r links (published as OCCT_LIBS), not whatever the + # deps prefix happens to hold, and fail the configure if one of them is missing. + if (NOT OCCT_LIBS) + message(FATAL_ERROR "OCCT_LIBS is not set; libslic3r must be configured first.") + endif () + set(_occt_bin "${CMAKE_PREFIX_PATH}/bin/occt") + set(_occt_dlls "") + set(_occt_staged "") + set(_missing_occt "") + foreach (_tk IN LISTS OCCT_LIBS) + if (EXISTS "${_occt_bin}/${_tk}.dll") + list(APPEND _occt_dlls "${_occt_bin}/${_tk}.dll") + list(APPEND _occt_staged "${_out_dir}/${_tk}.dll") + else () + list(APPEND _missing_occt "${_tk}.dll") + endif () + endforeach () + if (_missing_occt) + message(FATAL_ERROR + "OCCT DLLs missing from ${_occt_bin}/: ${_missing_occt}\n" + "Rebuild the dependencies (build_release_vs2022.bat deps) with the same " + "SLIC3R_CAD setting as this project.") + endif () + file(COPY ${_occt_dlls} ${CMAKE_PREFIX_PATH}/bin/freetype.dll ${CMAKE_PREFIX_PATH}/bin/avcodec-61.dll ${CMAKE_PREFIX_PATH}/bin/swresample-5.dll @@ -1076,45 +1120,19 @@ function(orcaslicer_copy_dlls target config postfix output_dlls) ${CMAKE_PREFIX_PATH}/bin/avutil-59.dll DESTINATION ${_out_dir}) - set(${output_dlls} + set(_dll_list ${_out_dir}/libgmp-10.dll ${_out_dir}/libmpfr-4.dll ${_out_dir}/WebView2Loader.dll - ${_out_dir}/TKBO.dll - ${_out_dir}/TKBRep.dll - ${_out_dir}/TKCAF.dll - ${_out_dir}/TKCDF.dll - ${_out_dir}/TKernel.dll - ${_out_dir}/TKG2d.dll - ${_out_dir}/TKG3d.dll - ${_out_dir}/TKGeomAlgo.dll - ${_out_dir}/TKGeomBase.dll - ${_out_dir}/TKHLR.dll - ${_out_dir}/TKLCAF.dll - ${_out_dir}/TKMath.dll - ${_out_dir}/TKMesh.dll - ${_out_dir}/TKPrim.dll - ${_out_dir}/TKService.dll - ${_out_dir}/TKShHealing.dll - ${_out_dir}/TKSTEP.dll - ${_out_dir}/TKSTEP209.dll - ${_out_dir}/TKSTEPAttr.dll - ${_out_dir}/TKSTEPBase.dll - ${_out_dir}/TKTopAlgo.dll - ${_out_dir}/TKV3d.dll - ${_out_dir}/TKVCAF.dll - ${_out_dir}/TKXCAF.dll - ${_out_dir}/TKXDESTEP.dll - ${_out_dir}/TKXSBase.dll - ${_out_dir}/freetype.dll ${_out_dir}/avcodec-61.dll ${_out_dir}/swresample-5.dll ${_out_dir}/swscale-8.dll ${_out_dir}/avutil-59.dll - PARENT_SCOPE ) + list(APPEND _dll_list ${_occt_staged}) + set(${output_dlls} ${_dll_list} PARENT_SCOPE) endfunction() @@ -1208,8 +1226,9 @@ endif () if (NOT SLIC3R_WARNINGS) add_compile_options(-w) elseif (MSVC AND NOT IS_CLANG_CL) - # /we4715 is C4715, no return from a non-void function, matching the - # -Werror=return-type the GNU/Clang builds apply. + # /we4715 is C4715, no return from a non-void function, an error on the GNU/Clang + # builds under -Werror. MSVC is not in that model, so this stays a single promoted + # warning. add_compile_options(/W3 /we4715) endif () diff --git a/build_release.bat b/build_release.bat deleted file mode 100644 index f751c17e5a..0000000000 --- a/build_release.bat +++ /dev/null @@ -1,52 +0,0 @@ -set WP=%CD% - -set debug=OFF -set debuginfo=OFF -if "%1"=="debug" set debug=ON -if "%2"=="debug" set debug=ON -if "%1"=="debuginfo" set debuginfo=ON -if "%2"=="debuginfo" set debuginfo=ON -if "%debug%"=="ON" ( - set build_type=Debug - set build_dir=build-dbg -) else ( - if "%debuginfo%"=="ON" ( - set build_type=RelWithDebInfo - set build_dir=build-dbginfo - ) else ( - set build_type=Release - set build_dir=build - ) -) -echo build type set to %build_type% - -cd deps -mkdir %build_dir% -cd %build_dir% -set DEPS=%CD%/OrcaSlicer_dep -set "SIG_FLAG=" -if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%" -if "%1"=="slicer" ( - GOTO :slicer -) -echo "building deps.." - -echo cmake ../ -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type% -cmake ../ -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type% -cmake --build . --config %build_type% --target deps -- -m - -if "%1"=="deps" exit /b 0 - -:slicer -echo "building Orca Slicer..." -cd %WP% -mkdir %build_dir% -cd %build_dir% - -echo cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type% -cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=%build_type% %SIG_FLAG% -cmake --build . --config %build_type% --target ALL_BUILD -- -m -cd .. -call scripts/run_gettext.bat -cd %build_dir% -cmake --build . --target install --config %build_type% diff --git a/build_release_macos.sh b/build_release_macos.sh index b1de5df2e4..db03cb4ecd 100755 --- a/build_release_macos.sh +++ b/build_release_macos.sh @@ -53,7 +53,7 @@ while getopts ":dpa:snt:xbc:i:j:Tuh" opt; do echo " -s: Build slicer only" echo " -u: Build universal app only (requires existing arm64 and x86_64 app bundles)" echo " -n: Nightly build" - echo " -t: Specify minimum version of the target platform, default is 11.3" + echo " -t: Specify minimum version of the target platform, default is 12.0" echo " -x: Use Ninja Multi-Config CMake generator, default is Xcode" echo " -b: Build without reconfiguring CMake" echo " -c: Set CMake build configuration, default is Release" @@ -95,7 +95,7 @@ if [ -z "$DEPS_CMAKE_GENERATOR" ]; then fi if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then - export OSX_DEPLOYMENT_TARGET="11.3" + export OSX_DEPLOYMENT_TARGET="12.0" fi if [ -z "$CMAKE_IGNORE_PREFIX_PATH" ]; then diff --git a/build_release_vs.bat b/build_release_vs.bat deleted file mode 100644 index 3842f1d198..0000000000 --- a/build_release_vs.bat +++ /dev/null @@ -1,190 +0,0 @@ -@REM OrcaSlicer build script for Windows with VS auto-detect -@echo off -set WP=%CD% -set _START_TIME=%TIME% - -@REM Default target architecture to the host CPU arch; override by passing -@REM "x64" or "arm64" as an argument. PROCESSOR_ARCHITEW6432 covers a 32-bit -@REM shell running on a 64-bit OS, where PROCESSOR_ARCHITECTURE reads "x86". -set arch=x64 -if /I "%PROCESSOR_ARCHITECTURE%"=="ARM64" set arch=ARM64 -if /I "%PROCESSOR_ARCHITEW6432%"=="ARM64" set arch=ARM64 -if /I "%1"=="arm64" set arch=ARM64 -if /I "%2"=="arm64" set arch=ARM64 -if /I "%1"=="x64" set arch=x64 -if /I "%2"=="x64" set arch=x64 - -@REM Check for Ninja Multi-Config option (-x) -set USE_NINJA=0 -for %%a in (%*) do ( - if "%%a"=="-x" set USE_NINJA=1 -) - -@REM Check for clang-cl option (-l). Combined with -x it also builds the deps with -@REM clang-cl; on the Visual Studio generator it applies to the slicer only, because -@REM the dependency sub-builds have no toolset to inherit and stay on MSVC. -set CLANG_ARG= -set TOOLSET_ARG= -for %%a in (%*) do ( - if "%%a"=="-l" ( - set CLANG_ARG=-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl - set TOOLSET_ARG=-T ClangCL - ) -) - -@REM Check for unit-tests option ("tests") -set BUILD_TESTS=OFF -for %%a in (%*) do ( - if /I "%%a"=="tests" set BUILD_TESTS=ON -) - -if "%USE_NINJA%"=="1" ( - echo Using Ninja Multi-Config generator - set CMAKE_GENERATOR="Ninja Multi-Config" - set VS_VERSION=Ninja - goto :generator_ready -) - -@REM Detect Visual Studio version using msbuild -echo Detecting Visual Studio version using msbuild... - -@REM Try to get MSBuild version - the output format varies by VS version -set VS_MAJOR= -for /f "tokens=*" %%i in ('msbuild -version 2^>^&1 ^| findstr /r "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do ( - for /f "tokens=1 delims=." %%a in ("%%i") do set VS_MAJOR=%%a - set MSBUILD_OUTPUT=%%i - goto :version_found -) - -@REM Alternative method for newer MSBuild versions -if "%VS_MAJOR%"=="" ( - for /f "tokens=*" %%i in ('msbuild -version 2^>^&1 ^| findstr /r "[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do ( - for /f "tokens=1 delims=." %%a in ("%%i") do set VS_MAJOR=%%a - set MSBUILD_OUTPUT=%%i - goto :version_found - ) -) - -:version_found -echo MSBuild version detected: %MSBUILD_OUTPUT% -echo Major version: %VS_MAJOR% - -if "%VS_MAJOR%"=="" ( - echo Error: Could not determine Visual Studio version from msbuild - echo Please ensure Visual Studio and MSBuild are properly installed - exit /b 1 -) - -if "%VS_MAJOR%"=="16" ( - set VS_VERSION=2019 - set CMAKE_GENERATOR="Visual Studio 16 2019" -) else if "%VS_MAJOR%"=="17" ( - set VS_VERSION=2022 - set CMAKE_GENERATOR="Visual Studio 17 2022" -) else if "%VS_MAJOR%"=="18" ( - set VS_VERSION=2026 - set CMAKE_GENERATOR="Visual Studio 18 2026" -) else ( - echo Error: Unsupported Visual Studio version: %VS_MAJOR% - echo Supported versions: VS2019 (16.8+^), VS2022 (17.x^), VS2026 (18.x^) - exit /b 1 -) - -echo Detected Visual Studio %VS_VERSION% (version %VS_MAJOR%) -echo Using CMake generator: %CMAKE_GENERATOR% - -:generator_ready - -@REM Pack deps -if "%1"=="pack" ( - setlocal ENABLEDELAYEDEXPANSION - cd %WP%/deps/build - if "%arch%"=="ARM64" cd %WP%/deps/build-arm64 - for /f "tokens=2-4 delims=/ " %%a in ('date /t') do set build_date=%%c%%b%%a - echo packing deps: OrcaSlicer_dep_win-!arch!_!build_date!_vs!VS_VERSION!.zip - - %WP%/tools/7z.exe a OrcaSlicer_dep_win-!arch!_!build_date!_vs!VS_VERSION!.zip OrcaSlicer_dep - goto :done -) - -set debug=OFF -set debuginfo=OFF -if "%1"=="debug" set debug=ON -if "%2"=="debug" set debug=ON -if "%1"=="debuginfo" set debuginfo=ON -if "%2"=="debuginfo" set debuginfo=ON -if "%debug%"=="ON" ( - set build_type=Debug - set build_dir=build-dbg -) else ( - if "%debuginfo%"=="ON" ( - set build_type=RelWithDebInfo - set build_dir=build-dbginfo - ) else ( - set build_type=Release - set build_dir=build - ) -) -if "%arch%"=="ARM64" set build_dir=%build_dir%-arm64 -echo build type set to %build_type%, arch=%arch% - -setlocal DISABLEDELAYEDEXPANSION -cd deps -mkdir %build_dir% -cd %build_dir% -set "SIG_FLAG=" -if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%" - -if "%1"=="slicer" ( - GOTO :slicer -) -echo "building deps.." -if defined CLANG_ARG if "%USE_NINJA%"=="0" echo Note: -l needs -x for the dependencies; building them with MSVC. - -echo on -REM Set minimum CMake policy to avoid <3.5 errors -set CMAKE_POLICY_VERSION_MINIMUM=3.5 -if "%USE_NINJA%"=="1" ( - cmake ../ -G %CMAKE_GENERATOR% %CLANG_ARG% -DCMAKE_BUILD_TYPE=%build_type% - cmake --build . --config %build_type% --target deps -) else ( - cmake ../ -G %CMAKE_GENERATOR% -A %arch% -DCMAKE_BUILD_TYPE=%build_type% - cmake --build . --config %build_type% --target deps -- -m -) -@echo off - -if "%1"=="deps" goto :done - -:slicer -echo "building Orca Slicer..." -cd %WP% -mkdir %build_dir% -cd %build_dir% - -echo on -set CMAKE_POLICY_VERSION_MINIMUM=3.5 -if "%USE_NINJA%"=="1" ( - cmake .. -G %CMAKE_GENERATOR% %CLANG_ARG% -DORCA_TOOLS=ON %SIG_FLAG% -DBUILD_TESTS=%BUILD_TESTS% -DCMAKE_BUILD_TYPE=%build_type% - cmake --build . --config %build_type% --target all -) else ( - cmake .. -G %CMAKE_GENERATOR% -A %arch% %TOOLSET_ARG% -DORCA_TOOLS=ON %SIG_FLAG% -DBUILD_TESTS=%BUILD_TESTS% -DCMAKE_BUILD_TYPE=%build_type% - cmake --build . --config %build_type% --target ALL_BUILD -- -m -) -@echo off -cd .. -call scripts/run_gettext.bat -cd %build_dir% -cmake --build . --target install --config %build_type% - -:done -@echo off -for /f "tokens=1-3 delims=:.," %%a in ("%_START_TIME: =0%") do set /a "_start_s=%%a*3600+%%b*60+%%c" -for /f "tokens=1-3 delims=:.," %%a in ("%TIME: =0%") do set /a "_end_s=%%a*3600+%%b*60+%%c" -set /a "_elapsed=_end_s - _start_s" -if %_elapsed% lss 0 set /a "_elapsed+=86400" -set /a "_hours=_elapsed / 3600" -set /a "_remainder=_elapsed - _hours * 3600" -set /a "_mins=_remainder / 60" -set /a "_secs=_remainder - _mins * 60" -echo. -echo Build completed in %_hours%h %_mins%m %_secs%s diff --git a/build_release_vs2022.bat b/build_release_vs2022.bat deleted file mode 100644 index 32f39745e3..0000000000 --- a/build_release_vs2022.bat +++ /dev/null @@ -1,80 +0,0 @@ -@REM OrcaSlicer build script for Windows -@echo off -set WP=%CD% - -@REM Pack deps -if "%1"=="pack" ( - setlocal ENABLEDELAYEDEXPANSION - cd %WP%/deps/build - for /f "tokens=2-4 delims=/ " %%a in ('date /t') do set build_date=%%c%%b%%a - echo packing deps: OrcaSlicer_dep_win64_!build_date!_vs2022.zip - - %WP%/tools/7z.exe a OrcaSlicer_dep_win64_!build_date!_vs2022.zip OrcaSlicer_dep - exit /b 0 -) - -set debug=OFF -set debuginfo=OFF -@REM Default target architecture to the host CPU arch; override with x64/arm64 arg. -set arch=x64 -if /I "%PROCESSOR_ARCHITECTURE%"=="ARM64" set arch=ARM64 -if /I "%PROCESSOR_ARCHITEW6432%"=="ARM64" set arch=ARM64 -if "%1"=="debug" set debug=ON -if "%2"=="debug" set debug=ON -if "%1"=="debuginfo" set debuginfo=ON -if "%2"=="debuginfo" set debuginfo=ON -if /I "%1"=="arm64" set arch=ARM64 -if /I "%2"=="arm64" set arch=ARM64 -if /I "%1"=="x64" set arch=x64 -if /I "%2"=="x64" set arch=x64 -if "%debug%"=="ON" ( - set build_type=Debug - set build_dir=build-dbg -) else ( - if "%debuginfo%"=="ON" ( - set build_type=RelWithDebInfo - set build_dir=build-dbginfo - ) else ( - set build_type=Release - set build_dir=build - ) -) -if "%arch%"=="ARM64" set build_dir=%build_dir%-arm64 -echo build type set to %build_type%, arch=%arch% - -setlocal DISABLEDELAYEDEXPANSION -cd deps -mkdir %build_dir% -cd %build_dir% -set "SIG_FLAG=" -if defined ORCA_UPDATER_SIG_KEY set "SIG_FLAG=-DORCA_UPDATER_SIG_KEY=%ORCA_UPDATER_SIG_KEY%" - -if "%1"=="slicer" ( - GOTO :slicer -) -echo "building deps.." - -echo on -REM Set minimum CMake policy to avoid <3.5 errors -set CMAKE_POLICY_VERSION_MINIMUM=3.5 -cmake ../ -G "Visual Studio 17 2022" -A %arch% -DCMAKE_BUILD_TYPE=%build_type% -cmake --build . --config %build_type% --target deps -- -m -@echo off - -if "%1"=="deps" exit /b 0 - -:slicer -echo "building Orca Slicer..." -cd %WP% -mkdir %build_dir% -cd %build_dir% - -echo on -set CMAKE_POLICY_VERSION_MINIMUM=3.5 -cmake .. -G "Visual Studio 17 2022" -A %arch% -DORCA_TOOLS=ON %SIG_FLAG% -DCMAKE_BUILD_TYPE=%build_type% -cmake --build . --config %build_type% --target ALL_BUILD -- -m -@echo off -cd .. -call scripts/run_gettext.bat -cd %build_dir% -cmake --build . --target install --config %build_type% diff --git a/cmake/modules/ClangClShowIncludes.cmake b/cmake/modules/ClangClShowIncludes.cmake new file mode 100644 index 0000000000..91b9a18069 --- /dev/null +++ b/cmake/modules/ClangClShowIncludes.cmake @@ -0,0 +1,10 @@ +# ccache does not parse the -clang: arguments CMake uses for clang-cl's gcc-style +# depfile, so a cache hit writes the object and no depfile, and Ninja then records +# no headers for that object. ccache reproduces /showIncludes output on a hit. +foreach (_lang C CXX) + if (CMAKE_${_lang}_COMPILER_ID STREQUAL "Clang" AND + CMAKE_${_lang}_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") + set(CMAKE_DEPFILE_FLAGS_${_lang} "/showIncludes") + set(CMAKE_${_lang}_DEPFILE_FORMAT msvc) + endif () +endforeach () diff --git a/cmake/modules/PrecompiledHeader.cmake b/cmake/modules/PrecompiledHeader.cmake index 7ef80aacff..7d8b3a5603 100644 --- a/cmake/modules/PrecompiledHeader.cmake +++ b/cmake/modules/PrecompiledHeader.cmake @@ -256,6 +256,13 @@ function(add_precompiled_header _target _input) message(STATUS "Adding precompiled header ${_input} to target ${_target}.") target_precompile_headers(${_target} PRIVATE ${_input}) + # Clang records the modification time of every input in the precompiled + # header, which makes it differ between two checkouts of the same source + # and defeats a compiler cache. The build system already rebuilds the + # header when an input changes. + target_compile_options(${_target} PRIVATE + "$<$:SHELL:-Xclang -fno-pch-timestamp>") + get_target_property(_sources ${_target} SOURCES) list(FILTER _sources INCLUDE REGEX ".*\\.mm?") diff --git a/deps/Boost/Boost.cmake b/deps/Boost/Boost.cmake index 08b62b9fb8..1526928094 100644 --- a/deps/Boost/Boost.cmake +++ b/deps/Boost/Boost.cmake @@ -27,8 +27,15 @@ endif () # Boost.Container's bundled dlmalloc passes int* where the Win32 Interlocked API # takes volatile long*; cl compiles that with a warning, clang errors out. set(_boost_c_flags_line "") +set(_boost_cxx_flags_line "") if (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang") set(_boost_c_flags_line "-DCMAKE_C_FLAGS:STRING=-Wno-incompatible-pointer-types") + # The Visual Studio generator applies only the link language's flags to a + # project, and boost_container links as C++, so its C file never sees + # CMAKE_C_FLAGS. The C++ flags reach every file; keep CMake's defaults. + if (CMAKE_GENERATOR MATCHES "Visual Studio") + set(_boost_cxx_flags_line "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} -Wno-incompatible-pointer-types") + endif () endif () orcaslicer_add_cmake_project(Boost @@ -46,6 +53,7 @@ orcaslicer_add_cmake_project(Boost "${_context_arch_line}" "${_context_impl_line}" "${_boost_c_flags_line}" + "${_boost_cxx_flags_line}" ) set(DEP_Boost_DEPENDS ZLIB) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index ed3af70d03..502e5df071 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -26,9 +26,9 @@ endif() cmake_minimum_required(VERSION 3.2) if (APPLE) - # if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3 + # if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 12.0 (the lowest Xcode 27 accepts) if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum OS X deployment version" FORCE) endif () message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}") @@ -38,6 +38,14 @@ if(POLICY CMP0135) # DOWNLOAD_EXTRACT_TIMESTAMP cmake_policy(SET CMP0135 NEW) endif() +# project() reads this, so set it first. scripts/flatpak/make_deps_tar.sh packs deps/ +# without cmake/, so the file is missing in a Flatpak build. +set(_rules_override "${CMAKE_CURRENT_LIST_DIR}/../cmake/modules/ClangClShowIncludes.cmake") +if (EXISTS "${_rules_override}") + set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_rules_override}") +endif () +unset(_rules_override) + project(OrcaSlicer-deps) # Backward compatibility for old CMake versions @@ -55,6 +63,7 @@ endif () set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/DL_CACHE CACHE PATH "Path for downloaded source packages.") set(FLATPAK FALSE CACHE BOOL "Toggles various build settings for flatpak, like /usr/local in DESTDIR or not building wxwidgets") +option(SLIC3R_CAD "Build the SolveSpace solver and OCCT ModelingAlgorithms module the parametric Design/CAD tab needs. Must match the main project's SLIC3R_CAD." ON) if ("${DESTDIR}" STREQUAL "" OR "${DESTDIR}" STREQUAL "${AUTOGENERATED_DESTDIR}") if (LINUX AND (NOT DEFINED USE_OLD_DESTDIR_PREV OR USE_OLD_DESTDIR_PREV) AND EXISTS "${CMAKE_BINARY_DIR}/destdir/usr/local" AND NOT EXISTS "${CMAKE_BINARY_DIR}/OrcaSlicer_dep/usr/local") @@ -184,6 +193,11 @@ function(orcaslicer_add_cmake_project projectname) if (_dep_msvc_gen) set(_gen CMAKE_GENERATOR "${DEP_MSVC_GEN}" CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}") + # The toolset picks the compiler here, not the CMAKE__COMPILER + # forwarded below, so without it a clang-cl superbuild builds with cl. + if (CMAKE_GENERATOR_TOOLSET) + list(APPEND _gen CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}") + endif () else() set(_gen "") endif() @@ -214,6 +228,7 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE) -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER} + -DCMAKE_USER_MAKE_RULES_OVERRIDE:STRING=${CMAKE_USER_MAKE_RULES_OVERRIDE} -DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} -DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS} @@ -261,6 +276,7 @@ else() -DCMAKE_IGNORE_PREFIX_PATH:STRING=${CMAKE_IGNORE_PREFIX_PATH} -DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER} + -DCMAKE_USER_MAKE_RULES_OVERRIDE:STRING=${CMAKE_USER_MAKE_RULES_OVERRIDE} -DBUILD_SHARED_LIBS:BOOL=OFF ${_cmake_osx_arch} "${_configs_line}" @@ -358,6 +374,11 @@ include(GLEW/GLEW.cmake) include(GLFW/GLFW.cmake) include(OpenCSG/OpenCSG.cmake) +set(SLVS_PKG "") +if (SLIC3R_CAD) + include(SLVS/SLVS.cmake) + set(SLVS_PKG dep_SLVS) +endif () include(TBB/TBB.cmake) @@ -447,6 +468,7 @@ set(_dep_list dep_NLopt dep_OpenVDB dep_OpenCSG + ${SLVS_PKG} dep_OpenCV dep_Eigen dep_CGAL diff --git a/deps/Draco/Draco.cmake b/deps/Draco/Draco.cmake index 02ac7efe13..77f73684f6 100644 --- a/deps/Draco/Draco.cmake +++ b/deps/Draco/Draco.cmake @@ -7,4 +7,7 @@ orcaslicer_add_cmake_project(Draco ${_options} URL https://github.com/google/draco/archive/refs/tags/1.5.7.zip URL_HASH SHA256=27b72ba2d5ff3d0a9814ad40d4cb88f8dc89a35491c0866d952473f8f9416b77 + CMAKE_ARGS + # The encoder and decoder tools duplicate draco.lib; see deps-windows.cmake. + "${DEP_LLD_FORCE_MULTIPLE}" ) \ No newline at end of file diff --git a/deps/GMP/0001-GMP_GCC15.patch b/deps/GMP/0001-GMP_GCC15.patch index e005120acd..fdabed26f7 100644 --- a/deps/GMP/0001-GMP_GCC15.patch +++ b/deps/GMP/0001-GMP_GCC15.patch @@ -5,7 +5,7 @@ #if defined (__GNUC__) && ! defined (__cplusplus) typedef unsigned long long t1;typedef t1*t2; -void g(){} -+void g(int,t1 const*,t1,t2,t1 const*,int){} ++void g(int a,t1 const*b,t1 c,t2 dd,t1 const*e,int ff){} void h(){} static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) {t1 c,x,r;int i;if(v0){c=1;for(i=1;i + PRIVATE ${PROJECT_SOURCE_DIR}/libslvs) + +# libslic3r is linked into shared targets, so this has to be position independent. +set_target_properties(slvs PROPERTIES POSITION_INDEPENDENT_CODE ON) + +# 2018 code, predating the project's warning settings; it is not ours to clean up. +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(slvs PRIVATE -w -fno-strict-aliasing) +endif () + +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion) + +install(TARGETS slvs + EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) + +install(EXPORT ${PROJECT_NAME}Targets + FILE "${PROJECT_NAME}Config.cmake" + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${ConfigPackageLocation}) + +install(FILES + ${PROJECT_SOURCE_DIR}/libslvs/include/slvs.h + ${PROJECT_SOURCE_DIR}/libslvs/include/SolveSpaceSystem.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION ${ConfigPackageLocation}) diff --git a/deps/SLVS/SLVS.cmake b/deps/SLVS/SLVS.cmake new file mode 100644 index 0000000000..69dcdc891f --- /dev/null +++ b/deps/SLVS/SLVS.cmake @@ -0,0 +1,13 @@ +# libslvs — the geometric constraint solver behind the Design tab's sketch constraints. +# Extraction of solvespace.com's libslvs, taken verbatim from JacobStoren/SolveSpaceLib; +# only the CMakeLists is ours, because upstream's builds a demo and installs nothing. +# GPLv3, compatible with this fork's licence. Self-contained: no external dependencies. +orcaslicer_add_cmake_project(SLVS + URL https://github.com/JacobStoren/SolveSpaceLib/archive/4d8704523e4bf212fadf5189f92484244f670fea.zip + URL_HASH SHA256=1c4bdde9c3c6ef20ea4b50b73601de56769f2eb131b36927d7c6489f102e6c30 + PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in ./CMakeLists.txt +) + +if (MSVC) + add_debug_dep(dep_SLVS) +endif () diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake index dac2ed63e6..ce3bfd9377 100644 --- a/deps/TBB/TBB.cmake +++ b/deps/TBB/TBB.cmake @@ -15,6 +15,7 @@ orcaslicer_add_cmake_project( -DTBB_BUILD_SHARED=OFF -DTBB_BUILD_TESTS=OFF -DTBB_TEST=OFF + -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=ON -DTBB_ENABLE_IPO=OFF -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index 6e73f7d4b5..4305489758 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -42,6 +42,15 @@ else () message(FATAL_ERROR "Unsupported OS architecture: ${DEPS_ARCH}") endif () +# Draco's tools and NLopt's testopt compile sources that are also in their +# static library. MSBuild passes the library before the objects and lld-link +# resolves as it goes, so the library's copy wins and the object then reads as +# a duplicate. Nothing uses those executables, so let lld keep the first one. +set(DEP_LLD_FORCE_MULTIPLE "") +if (CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(DEP_LLD_FORCE_MULTIPLE "-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} /FORCE:MULTIPLE") +endif () + if (${DEP_DEBUG}) set(DEP_BOOST_DEBUG "debug") else () diff --git a/deps/python3/arm64-unicodectype.props b/deps/python3/arm64-unicodectype.props new file mode 100644 index 0000000000..5f5727c842 --- /dev/null +++ b/deps/python3/arm64-unicodectype.props @@ -0,0 +1,12 @@ + + + + + + Disabled + false + + + diff --git a/deps/python3/python3.cmake b/deps/python3/python3.cmake index 2eae315d0b..3e063fac4e 100644 --- a/deps/python3/python3.cmake +++ b/deps/python3/python3.cmake @@ -88,8 +88,18 @@ if(WIN32) list(APPEND _python_env_args "PreferredToolArchitecture=${_python_tool_arch}") endif() + # MSBuild reads extra switches from PCbuild/msbuild.rsp. + set(_python_rsp "/p:PlatformToolset=${_python_platform_toolset}\n") + # VS 2026's ARM64 code generator needs about 27 GB for one function in + # Objects/unicodectype.c (python/cpython#153668); the property sheet compiles + # that file without optimisation. + if(_python_pcbuild_platform STREQUAL "ARM64") + file(TO_NATIVE_PATH "${CMAKE_CURRENT_LIST_DIR}/arm64-unicodectype.props" _python_arm64_props) + string(APPEND _python_rsp "/p:ForceImportAfterCppTargets=\"${_python_arm64_props}\"\n") + endif() + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/python3-msbuild.rsp" "${_python_rsp}") set(_conf_cmd - cmd /c "echo /p:PlatformToolset=${_python_platform_toolset}>PCbuild\\msbuild.rsp" + ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/python3-msbuild.rsp" /PCbuild/msbuild.rsp ) set(_build_cmd ${CMAKE_COMMAND} -E env ${_python_env_args} diff --git a/deps/wxWidgets/0001-macos-use-srgb-colour-components.patch b/deps/wxWidgets/0001-macos-use-srgb-colour-components.patch new file mode 100644 index 0000000000..decbee0ad9 --- /dev/null +++ b/deps/wxWidgets/0001-macos-use-srgb-colour-components.patch @@ -0,0 +1,29 @@ +diff --git a/src/osx/cocoa/colour.mm b/src/osx/cocoa/colour.mm +index 31515d146f..86b33e94a2 100644 +--- a/src/osx/cocoa/colour.mm ++++ b/src/osx/cocoa/colour.mm +@@ -125,3 +125,3 @@ + wxOSXEffectiveAppearanceSetter helper; +- if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpaceName:NSCalibratedRGBColorSpace] ) ++ if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] ) + return [colRGBA redComponent]; +@@ -134,3 +134,3 @@ + wxOSXEffectiveAppearanceSetter helper; +- if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpaceName:NSCalibratedRGBColorSpace] ) ++ if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] ) + return [colRGBA greenComponent]; +@@ -143,3 +143,3 @@ + wxOSXEffectiveAppearanceSetter helper; +- if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpaceName:NSCalibratedRGBColorSpace] ) ++ if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] ) + return [colRGBA blueComponent]; +@@ -152,3 +152,3 @@ + wxOSXEffectiveAppearanceSetter helper; +- if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpaceName:NSCalibratedRGBColorSpace] ) ++ if ( NSColor* colRGBA = [m_nsColour colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] ) + return [colRGBA alphaComponent]; +@@ -160,3 +160,3 @@ + { +- return [m_nsColour colorUsingColorSpaceName:NSCalibratedRGBColorSpace] != nil; ++ return [m_nsColour colorUsingColorSpace:[NSColorSpace sRGBColorSpace]] != nil; + } diff --git a/deps/wxWidgets/wxWidgets.cmake b/deps/wxWidgets/wxWidgets.cmake index 1e2cc85f78..e57e82f3e9 100644 --- a/deps/wxWidgets/wxWidgets.cmake +++ b/deps/wxWidgets/wxWidgets.cmake @@ -21,12 +21,22 @@ else () set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF") endif () +set(_wx_patch_command "") +if (APPLE) + set(_wx_patch_command + ${GIT_EXECUTABLE} checkout -f -- src/osx/cocoa/colour.mm + COMMAND ${GIT_EXECUTABLE} apply --verbose + ${CMAKE_CURRENT_LIST_DIR}/0001-macos-use-srgb-colour-components.patch + ) +endif () + orcaslicer_add_cmake_project( wxWidgets GIT_REPOSITORY "https://github.com/SoftFever/Orca-deps-wxWidgets" GIT_TAG v3.3.2 GIT_SHALLOW ON GIT_SUBMODULES 3rdparty/catch 3rdparty/pcre 3rdparty/libwebp + PATCH_COMMAND ${_wx_patch_command} DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${JPEG_PKG} CMAKE_ARGS -DwxBUILD_PRECOMP=ON diff --git a/deps_src/admesh/stlinit.cpp b/deps_src/admesh/stlinit.cpp index a69bd5497a..9d44cdf266 100644 --- a/deps_src/admesh/stlinit.cpp +++ b/deps_src/admesh/stlinit.cpp @@ -162,7 +162,7 @@ static bool stl_read(stl_file *stl, FILE *fp, int first_facet, bool first, Impor rewind(fp); try{ char solid_name[256]; - int res_solid = fscanf(fp, " solid %[^\n]", solid_name); + int res_solid = fscanf(fp, " solid %255[^\n]", solid_name); if (res_solid == 1) { char* mw_position = strstr(solid_name, "MW"); if (mw_position != NULL) { @@ -170,7 +170,7 @@ static bool stl_read(stl_file *stl, FILE *fp, int first_facet, bool first, Impor char version_str[16]; char model_id_str[128]; char country_code_str[16]; - int num_values = sscanf(mw_position + 3, "%s %s %s", version_str, model_id_str, country_code_str); + int num_values = sscanf(mw_position + 3, "%15s %127s %15s", version_str, model_id_str, country_code_str); if (num_values == 3) { if (strcmp(version_str, "1.0") == 0) { model_id = model_id_str; diff --git a/docs/CAD/GAP_ANALYSIS_vs_ONSHAPE.md b/docs/CAD/GAP_ANALYSIS_vs_ONSHAPE.md new file mode 100644 index 0000000000..bf603cf2c1 --- /dev/null +++ b/docs/CAD/GAP_ANALYSIS_vs_ONSHAPE.md @@ -0,0 +1,160 @@ +# Orca-CAD vs Onshape — capability gap analysis + +Generated 2026-07-22 by enumerating the source, not from recollection: +`CadFeatureType` and `add_*` in `src/libslic3r/CAD/CadDocument.hpp`, `Tool` in +`src/slic3r/GUI/CAD/DesignPanel.hpp`, `Mode` in `src/slic3r/GUI/CAD/DesignSketchTool.hpp`, +`SketchConstraintType` + `SketchEntity::Type` in `src/libslic3r/CAD/SketchEngine.hpp`, +and the JSON-RPC dispatch in `src/slic3r/GUI/CAD/McpControl.cpp`. + +**Scope note.** Onshape is a cloud PLM platform; Orca is a Design tab inside a +slicer. A large share of Onshape's surface (release management, branching, real-time +collaboration, FEA, rendering, PDM) is out of scope by construction and is listed +separately at the bottom rather than counted as a "missing tool". + +--- + +## 1. What Orca already has + +### 2D sketcher — near parity with Onshape +This is the strongest area. Very little is missing. + +| Category | Orca | +|---|---| +| Entities | Line, Polyline, Arc (3-point / tangent / center), Circle (center / 2-point / 3-point), Point, Ellipse, Elliptical arc, B-spline | +| Shapes | Rectangle (corner / center / oblique / rounded), Slot, Arc-slot, Polygon | +| Edit ops | Fillet, Chamfer, Offset, Mirror, Trim, Extend | +| Transforms | Move, Rotate, Scale, Linear array, Polar array | +| Constraints (19) | Fix, Coincident, Horizontal, Vertical, Distance, LockX, LockY, EqualLength, Parallel, Perpendicular, Concentric, Tangent, Midpoint, Symmetric, Angle, Radius, Diameter, PointOnLine, PointOnObject | +| Dimensions | Length, Diameter, Radius, Angle, Distance, Distance-to-line | + +Solver: vendored SolveSpace (`libslvs`, GPL-3.0) — the same solver lineage as a +commercial-grade sketcher. + +### Part features + +| Present | Notes | +|---|---| +| Extrude | + up-to-face / up-to-point, taper, flip | +| Revolve | angle-arc gizmo | +| Sweep | along a path | +| Loft | multi-profile | +| Fillet / Chamfer | edge-level | +| Draft | face taper | +| Shell | wall thickness + open face | +| Hole / Thread | face-aware placement | +| Pattern | linear + circular | +| Boolean | New / Add / Cut / Intersect, with face-mating | +| Cut | plane-based, signed offset | +| Datum plane | offset / 2-face / 2-edge derived | +| Import | STEP (B-rep) + mesh→B-rep (native mesh2step port) | +| Export | STEP (native B-rep, not tessellated) | +| Multi-body | + per-body colour | +| Section view | with flip | +| Undo/redo | full feature-tree recompute | +| 3MF persistence | parametric recipe survives save/load | + +### Automation +9 MCP JSON-RPC methods: `describe_tools`, `describe_scene`, `query_topology`, +`measure`, `slice_body`, `import_step`, `import_mesh`, `validate_against`, plus +build actions `extrude`, `revolve`, `fillet`, `chamfer`, `hole`, `boolean`, `pattern`. +Onshape's equivalent is its REST API + FeatureScript. + +--- + +## 2. Missing tools — ranked by impact + +### Tier 1 — structural absences (whole subsystems) + +**1. Assemblies and mates.** Entirely absent. No assembly document, no mate +connectors, no fastened / revolute / slider / cylindrical / planar / ball / pin-slot +mates, no assembly patterns, no interference detection, no exploded views. +`bool_target_face` / `bool_tool_face` do face-to-face *mating* for a boolean, which +is geometric alignment, not a kinematic joint. +*Impact:* multi-part products cannot be positioned or validated as a mechanism. +*Note:* an MCP-side `align_instance_to_face` / `create_*_mate` vocabulary already +exists on the Onshape bridge in this workspace, so the target semantics are known. + +**2. Drawings / 2D documentation.** Absent. No drawing sheets, dimensioned views, +section/detail views, GD&T, title blocks, or BOM. +*Impact:* nothing manufacturable-by-a-third-party leaves the tool. For 3D printing +this matters less than for machining, which is the honest reason it is Tier 1 by +CAD convention but arguably Tier 3 for this product. + +**3. Variables, equations, configurations.** Absent — no `add_variable`, no +expression evaluation, no configuration table. Every dimension is a literal double. +*Impact:* this is the biggest *parametric* gap. "Make this bracket for an M4 vs M5 +bolt" requires re-editing every dependent feature by hand. Onshape's Variable +Studio + configurations are a core differentiator, and this is the cheapest Tier 1 +item to close for the size of the payoff. + +**4. Surface modelling.** Absent. No surface extrude/revolve/loft/sweep, no fill, +knit, trim/extend surface, offset surface, or thicken. Orca is solid-only. +*Impact:* organic/complex shapes and repair of imported junk geometry are impossible. +OCCT already provides all of it (`TKOffset`, `TKBRep`), so the kernel is not the +blocker — only UI and feature plumbing. + +**5. Sheet metal.** Absent. No flange, bend, tab, relief, or flat-pattern unfold. +*Impact:* arguably out of scope for an FDM slicer; listed for completeness. + +### Tier 2 — individual features with clear demand + +| Missing | Why it matters | Cheap? | +|---|---|---| +| **Mirror body** (part-level) | Sketch mirror exists; mirroring a *solid* about a plane does not. Extremely common. | Yes — OCCT `gp_Trsf` mirror + fuse | +| **Helix / spiral curve** | No helix ⇒ no springs, no custom threads, no spiral vase geometry. Sweep exists but has no helical path to sweep along. | Yes | +| **Move / rotate body as a real feature** | `m_body_xform` exists but is **display-only** (memory #1655) — it never enters the B-rep. Export/boolean see the original position. | Medium | +| **Split body** | Cut removes material; splitting one body into two independently-usable bodies is absent. Very relevant for print-in-parts. | Medium | +| **Thicken** | Solid from a surface/face offset. | Needs surfaces | +| **Rib** | Standard structural feature. | Medium | +| **Delete face / move face / replace face** | Direct/dumb-solid editing — the main tool for fixing imported STEP. Given Orca imports STEP *and* meshes, its absence is felt. | Medium | +| **Datum axis, coordinate system** | Only datum *planes* exist. Axes are needed for revolve/pattern references. | Yes | +| **Mass properties** | `GeometryEngine` computes a volume internally, but there is no volume/mass/COM/inertia readout. For print cost/time estimation this is nearly free to expose. | Yes — trivial | +| **Measure tool in the GUI** | `measure` exists over MCP but there is no interactive measure in the UI. | Yes | +| **Hole standards library** | Hole exists, but no counterbore/countersink/tapped standards (ISO/ANSI) with callouts. | Medium | +| **Project / convert edges into a sketch** | Cannot reference existing solid edges as sketch geometry ("Use" in SolidWorks). A significant sketcher gap given everything else is present. | Medium | +| **Construction geometry** | Could not confirm a construction/reference-line flag on sketch entities. | Yes if absent | +| **Curve tools** | Projected curve, bridging curve, composite curve, 3D fit spline. | Medium | +| **Pattern on curve / pattern faces** | Pattern is linear + circular of whole bodies only; no curve-driven pattern, no feature/face pattern. | Medium | +| **Wrap / emboss** | Text or sketch wrapped onto a curved face. | Hard | +| **Enclose** | Solid from bounded void regions. | Medium | + +### Tier 3 — platform capabilities (out of scope by construction) + +Version control with branching/merging, release management, real-time multi-user +collaboration, cloud PDM, FeatureScript custom-feature authoring, simulation/FEA, +photorealistic rendering, app store/integrations. These are Onshape-the-platform, +not Onshape-the-modeller. Not defects in Orca. + +--- + +## 3. Recommended priority + +If the goal is "credible parametric CAD inside a slicer", the ordering that buys +the most capability per unit of work: + +1. **Variables + expressions** — unlocks genuine parametric reuse; no new kernel work. +2. **Mass properties + GUI measure** — nearly free, immediately useful for printing. +3. **Mirror body, datum axis, helix** — small, self-contained, high-frequency features. +4. **Promote move/rotate body from display-only to a real B-rep feature** — closes a + correctness gap, not just a missing tool (exports currently disagree with the view). +5. **Split body** — high value for print-in-parts workflows. +6. **Project edges into sketch** — the sketcher's most conspicuous hole. +7. **Surface modelling** — large, but OCCT already ships the algorithms. +8. **Assemblies** — largest effort; only worth it if Orca targets multi-part products. + +Deliberately last: drawings and sheet metal — high cost, low relevance to an +FDM-oriented tool. + +--- + +## 4. Honest summary + +Orca's **sketcher is at or near Onshape parity**, and its **solid feature set +covers the mainstream modelling path** (sketch → extrude/revolve/sweep/loft → +dress-up → boolean/pattern). What is absent is *breadth*: assemblies, surfaces, +sheet metal, drawings, and — most importantly for a tool calling itself parametric — +**variables and configurations**. + +The single most defensible criticism is #3: without variables, the feature tree is +parametric in *structure* but not in *value*, so the promise of "change one number +and the model updates" is only half delivered. diff --git a/docs/CAD/cad_dependency_weight.md b/docs/CAD/cad_dependency_weight.md new file mode 100644 index 0000000000..0b64ac8097 --- /dev/null +++ b/docs/CAD/cad_dependency_weight.md @@ -0,0 +1,136 @@ +# Dependency weight of the Design/CAD subsystem + +What the Design tab actually costs a maintainer who merges it. Written to be checkable: +every number below is reproducible with the command that produced it, and the places where +a number is still missing say so instead of guessing. + +Measured on Linux x86_64, OCCT V7_6_0, in the `snapmaker-deps` build image. + +## Summary + +| | Cost | +|---|---| +| New third-party dependencies | **none** | +| OCCT build flag | `BUILD_MODULE_ModelingAlgorithms=ON` | +| Extra OCCT toolkits *built* | 3 (TKFillet, TKOffset, TKFeat) | +| Extra OCCT toolkits *linked* | 2 (TKFillet, TKOffset) | +| Vendored code | `src/libslic3r/slvs`, 9,339 lines, 380 KiB, GPLv3 | +| Own object code | 6.79 MiB unstripped `.o` (7.13 MiB with the solver) | + +OCCT is **already** an upstream dependency — Orca uses it for STEP import. The Design tab +does not add a library; it turns on one more OCCT module. + +## The OCCT module flag + +`deps/OCCT/OCCT.cmake` gates the module on `SLIC3R_CAD`: + +```cmake +-DBUILD_MODULE_ModelingAlgorithms=${SLIC3R_CAD} # was hard-coded OFF +``` + +With `SLIC3R_CAD=OFF` the deps prefix matches upstream exactly. + +`ModelingAlgorithms` contains 12 toolkits, but **most were already being built**, because +`DataExchange` — the STEP path upstream already ships — depends on them. The honest delta is +only the toolkits that DataExchange's dependency closure does *not* reach: + +``` +ModelingAlgorithms = TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR + TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing + +already required by DataExchange: TKBO TKBool TKGeomAlgo TKHLR TKMesh + TKPrim TKShHealing TKTopAlgo +true delta: TKFeat TKFillet TKOffset TKXMesh +``` + +Reproduce by walking `adm/MODULES` and each toolkit's `src//EXTERNLIB` in the OCCT +source tree. + +### Sizes of the delta toolkits + +Static archives in the deps prefix. These are *build artifacts*, not shipped bytes — a +static link pulls in only the objects it references: + +| Toolkit | Archive | Referenced by the Design tab? | +|---|---|---| +| TKFillet | 7.40 MiB | yes — `BRepFilletAPI` | +| TKOffset | 5.38 MiB | yes — `BRepOffsetAPI`, `BRepOffset_` | +| TKFeat | 4.42 MiB | **no** | +| TKXMesh | — | not produced at all | + +TKFeat is worth calling out: nothing in the Design tab references it, and it is absent from +the `TKFillet`/`TKOffset` dependency closure, so it is built for nothing. OCCT's module flag +is all-or-nothing per module, which is why it comes along. It costs build time and zero +shipped bytes on any platform that links OCCT statically. + +**A correction to the record.** The comment in `deps/OCCT/OCCT.cmake` and the earlier +summary both said the delta was "TKFillet + TKOffset — 3.77 MiB, Windows only". The toolkit +list was incomplete: TKFeat is built too. The 3.77 MiB figure covers 2 of the 3 built +toolkits and has not been re-derived here — see the gap below. + +## What is not measured yet + +Two numbers a maintainer may reasonably ask for are **not** in this document, because +producing them honestly needs a build this machine cannot do: + +1. **Windows DLL delta.** OCCT builds shared on Windows, so the shipped cost there is real + DLL bytes rather than linker-selected objects. That needs a Windows build to size — + tracked as the cross-platform build proof (`gix`). +2. **Clean-build time delta.** Measuring it means building the deps prefix twice, with the + flag ON and OFF, on the same machine. The incremental figures from day-to-day work do not + answer the question and are not offered as if they did. + +Do not quote a number for either until it has been measured. + +## Vendored solver + +`src/libslic3r/slvs` — the 2D sketch constraint solver extracted from SolveSpace. + +- 19 files: 8 `.cpp`, 11 `.h`, plus `LICENSE` +- 9,339 lines, 380 KiB of source, 0.34 MiB of object code +- **GPLv3**, `LICENSE` preserved verbatim in the vendored directory + +The fork is **AGPLv3**. GPLv3 code combines into an AGPLv3 work without difficulty: AGPLv3 +§13 provides explicit compatibility in that direction. No licence question to resolve. + +It is live code, not a carried corpse — `SketchSolver.cpp` is its only consumer and drives +every sketch constraint in the Design tab. + +## Own code + +Object sizes from the release build (unstripped, so these include debug information and +overstate the shipped contribution): + +| Object | Size | +|---|---| +| DesignPanel.o | 2.22 MiB | +| McpControl.o | 1.69 MiB | +| DesignSketchTool.o | 0.88 MiB | +| CadDocument.o | 0.76 MiB | +| SketchEngine.o | 0.40 MiB | +| DesignCanvas.o | 0.37 MiB | +| GeometryEngine.o | 0.32 MiB | +| SketchSolver.o | 0.15 MiB | +| slvs (all objects) | 0.34 MiB | +| **total** | **7.13 MiB** | + +For scale, the linked binary is 137.1 MiB. + +## Reproducing + +```bash +# toolkit membership and dependency closure +R= +cat $R/adm/MODULES # module -> toolkits +cat $R/src//EXTERNLIB # toolkit -> its dependencies + +# archive sizes +ls -l /lib/libTK{Fillet,Offset,Feat}.a + +# what the Design tab actually references +grep -rE 'BRepFilletAPI|BRepOffsetAPI|BRepOffset_|BRepFeat' src/libslic3r/ + +# vendored solver +wc -l src/libslic3r/slvs/*.cpp src/libslic3r/slvs/**/*.h +head -3 src/libslic3r/slvs/LICENSE +``` diff --git a/docs/CAD/cad_ux_guidelines.md b/docs/CAD/cad_ux_guidelines.md new file mode 100644 index 0000000000..d0290a1d3d --- /dev/null +++ b/docs/CAD/cad_ux_guidelines.md @@ -0,0 +1,704 @@ +# Orca-CAD — UX guidelines and design charter + +Status: proposed, v1. Owner: design working group. Applies to the Design tab — +the parametric CAD environment inside OrcaSlicer. + +This document is a **review instrument**, not an essay. Sections 3–9 are written +so that a reviewer can hold a pull request against them and get a yes or a no. +If a rule here cannot be failed, it is badly written and should be rewritten. + +--- + +## 1. Why this exists + +A CAD tool acquires its interface by accretion. Every feature arrives needing +"just one more field", the side panel is the cheapest place to put it, and after +forty features the product is FreeCAD: complete, respected, and abandoned by +almost everyone who opens it once. That end state is not a failure of any single +decision. It is the sum of forty locally reasonable ones taken without a written +rule to violate. + +So we write the rule down first, and we make additions argue against it. + +## 2. Product thesis + +**Orca-CAD is a modelling space for people who want a part, inside the tool that +prints it.** + +Three audiences, one interface: + +- **The fourteen-year-old on a school laptop.** Free software, on the machine + they already have, with no account, no subscription, no licence and no + tutorial. They open the tab because they want a bracket for a bike light, and + an hour later it is printing. This is not the charity case at the bottom of + the list — it is the reason the project is worth doing. A CAD tool that only + the equipped can run is a tool for people who were already going to design + something; this one has to be a creative instrument in the hands of someone + who did not yet know they could make things. Everything in §6.1 exists to + keep that door open, and nothing gets to close it for the convenience of the + other two audiences. +- **The maker** who has an idea and a printer, and who has bounced off FreeCAD. + They should be modelling something real within ten minutes of first opening + the tab, without a tutorial, without knowing the word "constraint". +- **The mechanical designer** who needs assemblies, mates, exploded views, + variables, and a feature history they can edit six months later. They should + not have to leave for SolidWorks the moment the work gets serious. + +The order matters. When a decision helps one audience and hurts another, the +earlier one wins unless there is a written argument for why not. + +The reference for *how it feels* is Shapr3D: direct, gestural, quiet, almost no +chrome, depth revealed by what you touch rather than by what is on screen. The +anti-references are Blender (a modal keyboard language you must learn before the +first success) and FreeCAD (a workbench-and-dialog architecture where the +geometry is a preview of a form you fill in elsewhere). + +We are not cloning Shapr3D's feature set. We are adopting its *interaction +economy*: the smallest number of visible controls that still makes an expert +fast. + +**And one thing neither reference has:** Orca-CAD lives inside a slicer. The +plate, the nozzle, the material and the print constraints are known to the +application at design time. Designing for print is not a plugin here, it is the +home advantage. Where a rule below trades generality for print-awareness, it +trades in favour of print-awareness. + +## 3. The laws + +Non-negotiable. A change that breaks one of these does not get merged on the +grounds that it was easier, that the alternative is more work, or that another +CAD does it that way. Each law carries a test — the question a reviewer asks. + +### L1 — Geometry first: you point, then you act + +Controls live **on the geometry**: handles, arrows, points, small circles and +boxes, with an inline label tab for typed values. Not in a side panel of combos +and spin fields. + +The canonical gesture: **select a face or plane in the viewport, then click the +sketch tool.** Never: click the sketch tool, then choose a plane from a list. +The tool consumes what you pointed at — and, better still, the thing you pointed +at offers the tool itself (§4). + +> **Test.** Can the operation be performed start to finish without the pointer +> leaving the viewport, except to press the tool itself? If a control had to be +> added to a panel to make it work, the design is not finished. + +This is the law the others serve. It was stated after two proposals in a row +reached for a dropdown, and the failure mode it names is real and recurrent: a +fix that "adds a row to the plane combo" is the side-panel pattern wearing a +different hat. + +### L2 — Everything draggable is typable, and everything typable is draggable + +Any value produced by direct manipulation (a fillet radius, an extrude depth, a +pattern spacing, a plane offset) shows a live label on the geometry, and that +label is an editable field. Any value entered numerically has a corresponding +handle in the viewport. + +Dragging is for finding the answer. Typing is for committing to it. A tool that +offers only one of the two is half a tool. + +> **Test.** Point at the number the tool produces. Can you drag it? Can you +> click it and type? Both must be yes. + +### L3 — Noun then verb, always the same way round + +Selection precedes action, without exception, across sketch tools, features, +dress-up, booleans and mates. There is no tool in the product that is armed +first and asks for its input afterwards. + +> **Test.** Does this tool work if the user has already selected the thing they +> want it applied to? Does it work *only* that way? + +### L4 — No modal dialog in the modelling loop + +Dialogs belong to document-level actions: open, save, import, export, preferences. +Modelling never opens one. A feature that needs three values gets three labels on +the geometry, not a form; a feature that needs confirming gets a ghost preview and +a confirm/cancel puck in the scene beside it (§4.2) — an object, not a window: the +camera still orbits, the values are still editable, nothing is blocked. + +> **Test.** Between starting an operation and seeing its result, does a window +> appear that must be dismissed? If yes, redesign. + +### L5 — One click, one visible change + +Every click either changes what is on screen or tells the user why it did not. +A click that opens something invisible, arms an invisible state, or requires a +second identical click to have any effect is a defect, not a design. + +This law exists because we shipped its violation twice. Sketch-tool family +buttons were flyouts whose first click only rendered a pressed state — three +separate sessions filed bugs against tools that were working. Solid picking used +a click *cycle* (first click selects the body, second refines to the face), so +sketching on a face appeared broken to anyone who clicked a face once, the way +every human does. + +> **Test.** Perform the gesture exactly once, as a first-time user would. Take a +> screenshot. Is the state visibly different, and is the difference the one the +> user intended? + +### L6 — The default is the answer four times out of five + +Every option that has a default must have the *common* answer as its default, +measured against real parts, not against generality. "New body" as the default +result of an extrude is wrong: most extrudes join. Radius as the input for a +circle is wrong: drawings give diameter. + +> **Test.** Take ten real parts. In how many is the default correct? Below eight, +> change the default or infer it from context. + +### L7 — Errors are caught before the commit, in the user's words + +A self-intersecting profile, a cut that removes no material, a wall thinner than +the nozzle: these are reported at the moment they become knowable, on the +geometry that is wrong, phrased as what happened and what to do — not as a kernel +exception after the fact, and never silently. + +> **Test.** Is the failure detectable before the user commits? Then it must be +> reported before the user commits. Read the message aloud: does it name a thing +> the user can see and an action they can take? + +### L8 — The camera is the application's job + +Selecting a sketch plane orients the view to it. Committing a feature does not +throw the camera away. Zoom-to-fit exists and is one keystroke. The user is never +required to fight the view in order to reach the geometry, and orbit is bound to +the gesture people actually try. + +> **Test.** Count camera manipulations in a representative modelling session. +> Any camera action the application could have performed for the user is a bug. + +### L9 — Accessible by construction, not by retrofit + +The floor, applied to every new interaction (details in §6.2): full keyboard +reach, no meaning carried by colour alone, hit targets that survive a shaky hand +and a HiDPI screen, legible labels over an arbitrary 3D background, no gesture +that depends on timing. + +> **Test.** Drive the whole interaction from the keyboard. Then drive it in +> greyscale. Both must work. + +### L10 — Vocabulary from the drawing office + +Names come from the language of people who make parts: fillet, chamfer, boss, +rib, counterbore, mate, exploded view. Not from the kernel (no "boolean +subtract", no "B-rep"), not from invented product-speak. Where the drawing-office +word and the beginner's word differ, use the drawing-office word and make the +tooltip teach it — an approachable tool that leaves the user unable to talk to a +machinist has failed them. + +> **Test.** Would a shop-floor engineer recognise this word? Would a first-time +> user be able to look it up and find a real definition? + +### L11 — The floor is a school laptop, and nothing is behind a door + +The product runs, completely, on a low-end laptop with integrated graphics and a +small screen, offline, with no account, no subscription and no feature withheld. +No capability in this document is reserved for a paid tier, a cloud service, a +plugin, or a machine with a discrete GPU — there is one product and everybody +gets all of it. + +> **Test.** On the reference low-end machine (§6.1), at 1366×768, with the +> network cable pulled and no account ever created: does this feature work, and +> is it usable at an honest frame rate? Any "no" is a defect, not a limitation. + +## 4. Interaction grammar — object-driven + +The rules above compose into one sentence the whole product obeys: + +> **Point at geometry → the geometry offers what can be done to it → choose the +> tool → manipulate handles and type exact values → confirm or cancel.** + +The selection does not merely feed the tool. **The selection determines which +tools exist.** Pick a planar face and the product shows you the small set of +things a planar face can become — sketch on it, extrude it, hole it, shell it, +put a datum on it. Pick an edge and that set is fillet, chamfer, and the sketch +tools that can use it as a reference. Nothing else is offered, because nothing +else is possible. + +This is the single largest thing we can do for a first-time user, and it is +worth stating as the reason: a beginner's difficulty is not operating a tool, +it is **not knowing which tools apply to what they are looking at**. A palette +of sixty icons answers a question they cannot yet ask. A face that offers its +own five verbs teaches the model of the product by using it. It also removes an +entire class of failure — a tool that silently does nothing because the +selection was wrong can no longer be reached. + +### 4.1 The offer, and the one thing that makes it work + +The flow, in full: + +> **left-click the geometry to select it → right-click to open the offer → a +> vertical list, always in the same order, each row an icon, a name and its +> keyboard shortcut → click.** + +- **Selecting and acting are separate gestures.** Left-click only ever selects, + so pointing at things is quiet — nothing pops up while you look around. + Right-click on the selection opens the offer, at the pointer, over the + geometry it acts on. +- **Order is fixed and it is the whole point.** A verb occupies one permanent + row, and that row is the same in every selection where the verb appears. + Dress-up is the fourth row on an edge, on a face, on a body, on the day the + product ships and two years later. The hand learns the position; the eye stops + being needed. +- **What does not apply is DISABLED IN PLACE, never removed.** This is the + single strongest thing the list does, and it is why it beat the radial we + drew first: a greyed row still carries its name *and the reason it is grey* — + "Create a sketch, or pick a solid face, first", "Create a solid body to + pattern first" — in the words the product already ships. On a first-run + document the offer is therefore not a mostly-empty control but a map of what + the product does and what you have to do first. +- **It is an accelerator, not a toll gate.** The toolbar and the single-letter + shortcuts keep working exactly as they do now, and pressing a tool directly + consumes the same selection (L3). An expert never has to open the offer; a + beginner never has to know the toolbar exists. Both routes land in the same + place — this is the only way one interface serves §2's three audiences. +- **Every row shows its keyboard shortcut**, right-aligned so the keys stack + into a column the eye learns without trying, beside the icon and the + drawing-office word (L10). This is deliberate: the offer is the path by which + a user stops needing the offer. You reach for fillet in its row, the row says + "F", and one day your hand types F before the menu has finished opening. A + menu that teaches its own shortcut is how a beginner becomes the power user + who never opens it — the same interface at two speeds, with no "advanced mode" + between them (§7). +- **A family with more than one applicable verb opens a submenu** to the side, + in its own fixed order. A family with exactly one shows that verb directly, so + the common path is never one click longer than it needs to be. +- **It never blocks the view of what it acts on**: it opens beside the pick, + never over it, with a thin leader back to the point it belongs to, and it + dismisses the moment the selection changes. +- **The header names what is selected** ("Top face · Body 1"), because a user + who mis-picked should find that out before choosing a verb, not after. + +#### Opening the offer on every machine + +Right-click is the primary gesture and every platform must have a first-class +equivalent — this is a reach requirement (L11), not a nicety: + +| Input | Gesture | +|---|---| +| Two-button mouse | right-click | +| Trackpad | two-finger tap (the OS-standard secondary click) | +| macOS, one-button mouse | **long-press**, and Ctrl-click, which is the platform convention | +| Keyboard | the Menu key, or Shift+F10, on the current selection | +| Touch / pen | long-press | + +The long-press is an **additional** route, never the only one — §6.2 forbids +press-and-hold as a sole path to a function, and it stays forbidden. Every +opening gesture is reachable at least two ways on every platform, and the +keyboard route exists everywhere. A long-press must show that it is charging +(a growing ring under the finger) so a user who holds too briefly learns why +nothing happened rather than concluding the product is broken (L5). + +#### The row-constancy invariant + +This is the rule that has to survive every future feature, so it is written as +an invariant rather than as advice: + +> **Every verb has exactly one row index in the offer. That index is identical +> for every selection type in which the verb appears. Verbs that do not apply to +> the current selection are DISABLED IN PLACE, with their reason — the offer is +> never compacted, re-sorted or re-ordered. Adding a verb never changes the +> index of an existing one.** + +Two consequences the group must accept together with the invariant: + +- **No adaptive ordering. Ever.** Not most-used-first, not recently-used-first, + not per-selection frequency. An offer that rearranges itself to be helpful + destroys the only thing that made it fast, and it does so precisely for the + user who has just started to learn it. (Office 2000's adaptive menus are the + textbook case; they were removed.) +- **Greyed rows are the price, and they are cheap.** A compacted menu is shorter + and unlearnable. A constant one is a few rows longer, teaches while it waits, + and is memorised in a week. + +#### The map — RATIFIED 2026-07-31 + +The invariant is not negotiable, and as of 2026-07-31 neither is the assignment: +the row order below is **ratified**. It was argued once; it is not argued again. +Changing an index from here on is a breaking change to every user's muscle +memory and needs the group, not a pull request (§9 q12). + +Eight families, ordered so the sequence itself has a logic: material is created, +grows, is taken away, is refined, is repeated, is moved, is referred to, is +edited. + +| Row | Family | On a face | On an edge | On a body | On text/art | +|---|---|---|---|---|---| +| **1** | Create | Sketch on it | — | — | Edit text | +| **2** | Add material | Extrude, thicken | — | Combine, thicken | Extrude | +| **3** | Remove | Hole, shell | Thread | Shell, cut, split | — | +| **4** | Dress-up | Draft | Fillet, chamfer | Fillet, chamfer | — | +| **5** | Repeat | Pattern | Pattern along it | Pattern, mirror | Pattern | +| **6** | Transform | Align to, mate | — | Move, mate | Move, size | +| **7** | Reference | Plane, axis, measure | Axis, measure | Project, measure, mass | — | +| **8** | Modify | Delete face, edit | — | Edit, colour, delete | Replace art | + +A dash means the row is drawn greyed for that selection, with its reason. + +The authoritative version of this table is **`docs/ux/tool_atlas.json`**, which +carries all 52 verbs with their preconditions and their refusal strings, taken +from the code rather than from memory. Every state it produces — 20 selection +kinds × 2 document states, 40 primary menus and 73 submenus — is rendered by +`docs/ux/mockups/gen_offer_mockups.py` into `docs/ux/offer_atlas.html`. Read the +atlas before proposing a change to the map; the generator refuses to render an +address collision, so the map cannot silently rot. + +#### Rejected: the radial ring + +The first design put the eight families at eight compass points around the pick. +It is recorded here because it is a good idea that loses on evidence, and +someone will propose it again: + +- an inapplicable slot could only be drawn empty, and **an empty slot says + nothing** — the reason text above has nowhere to live; +- the measured fill was **3.45 of 8 slots**, so most of the control was blank + most of the time, and on a fresh document only two of eight were live; +- sketch-mode *Create* needs **nine** addresses; eight forced two primitives + behind a "More" slot, and a ninth position costs the 45° spacing that made the + ring worth having; +- long translated names do not fit around a circle, and screen readers and arrow + keys need bespoke handling a list gets for free; +- a 380 px disc over the model costs more on a 1366×768 screen than a 324 px + list beside it (§6.1). + +What it kept — equidistant targets and a future flick gesture — buys little in a +product whose experts live on the keyboard by design. + +### 4.2 Confirm and cancel are objects, not gestures + +The old rule — click empty space to commit — is withdrawn. It was an invisible +gesture with a destructive meaning: nothing on screen said it, and a stray click +committed a feature the user was still adjusting. That is exactly what L5 +forbids, and it is hostile to the audience §6.1 exists for. + +- **A pending feature carries a confirm/cancel puck**, attached to the geometry + it is editing, next to its handles: ✓ commits, ✗ discards. Enter and Escape + mirror them for the keyboard (L9). It is drawn where the user's attention + already is, and it is the only thing in the viewport that commits. +- **Empty space now means "clear the selection"** — the safe meaning, and the + same meaning everywhere. +- **This is not a dialog** (L4). It is two objects in the scene, on the + geometry, non-modal: the camera still orbits, the tree is still there, the + values are still editable while it waits. +- **Continuous tools do not ask.** Drawing a line, a rectangle, a circle commits + each entity as its own gesture completes — a ✓ per line would destroy the + inner loop. The puck belongs to *features* (extrude, fillet, hole, pattern, + mate) and to sketch edits that hold a pending state. Enter/Escape end a + continuous tool rather than confirming an entity. +- **Ambiguity resolves toward keeping work, never toward losing it.** Starting + another operation while a valid feature is pending commits it rather than + discarding it; if it is not valid, the product says why (L7) and keeps it + pending. Since undo reaches everything (§6.1), the recoverable direction is + always the right default. + +### 4.3 The rest of the grammar + +- **The status line is one imperative sentence** naming what the tool wants + next, and it names the target when the target came from a selection + ("Circle — click centre, then radius · on the picked face"). It is the + authoritative feedback surface for the armed tool; the toolbar is not. +- **Hover previews, click commits.** A hover shows the ghost of what a click + would do wherever this is cheap to compute. +- **Selection is persistent and visible** until consumed or cleared. A tool that + consumes a selection clears it, so the next feature cannot silently inherit it. +- **Every gesture is undoable**, and the feature tree is editable history, not a + log. Re-editing a feature re-enters the same on-geometry interaction that + created it — including its offer and its puck. + +## 5. Layout and screen budget + +The viewport is the application. Chrome is a tax on it. + +- **One toolbar**, contextual to the mode (model / sketch). Tools are grouped by + what they make, not by which subsystem implements them. +- **A left rail for the document, not for parameters**: feature tree, bodies, + variables. It answers "what exists", never "what value should this be". +- **No parameter panel.** Where one exists today it is technical debt with a + scheduled removal (§10). +- **Print context is ambient**, not a panel: the plate is visible in the design + space, and print-domain warnings appear on the geometry that will fail. +- **Nothing is added to permanent chrome without removing something**, or + demonstrating that the addition is used in the majority of sessions. +- **The budget is set by the smallest screen we serve**, 1366×768 (§6.1) — not + by the reviewer's monitor. Chrome that fits a 27-inch display and swallows a + laptop's has not fitted, it has just failed somewhere the author cannot see. + +## 6. Accessibility — reach first, then the assistive floor + +"Accessible" means two different things and the product owes both. §6.1 is about +**who can get in at all**; §6.2 is about **who can operate it once inside**. +Neither is a phase. Both are merge requirements. + +### 6.1 Reach — the door has to be open + +The premise of the whole project: someone with no money, no licence, no account, +no fast machine and no teacher can open this and make a real thing. Free +software on a school laptop is the only path to a CAD tool that reaches people +who were never going to be handed one. If a design decision quietly raises the +cost of entry, it has broken the premise, however elegant it is. + +- **The reference machine.** A 5-year-old laptop: dual/quad-core CPU, + **integrated graphics**, 8 GB RAM, **1366×768** screen, no discrete GPU. The + Design tab must be usable there, and any interaction that needs more is a + design failure to be solved, not a requirement to be documented. The GPU path + degrades gracefully to software rendering rather than refusing to start; the + viewport stays interactive while the kernel thinks. +- **1366×768 is the layout target, not the stretch case.** A form-heavy side + panel is not merely inelegant on that screen — it takes the model off it. + This is the second, independent argument for the whole of L1 and §5. +- **No account, no cloud, no connection.** The product works forever with the + network unplugged. Nothing is uploaded, no sign-in gates any feature, no + telemetry is required to use it. A school network that blocks everything must + not be able to block this. +- **No tier, no plugin wall, no "pro".** Every feature named in this document is + in the product everyone downloads. Assemblies and exploded views are not the + paid half. +- **Files belong to the user**, on their disk, in a format that outlives the + project: the design travels inside the ordinary project file, and the geometry + exports to STEP and mesh formats anyone can open. +- **Learnable without instruction.** The first solid comes with no + documentation, no video and no tutorial mode — from noticing that a face can + be clicked. Tooltips teach the vocabulary (L10) at the moment it is needed; + nothing is explained in a manual the user will never open. +- **Plain language at the entry tier.** The Make tier speaks in words a + thirteen-year-old reads without stopping. Precision comes with the tier that + needs it, and everything is translated, because "accessible" in English only + is not accessible. +- **Exploration must be free.** Undo reaches everything, work is never lost to a + wrong click, and no dialog ever asks the user to be sure. A tool that punishes + experiments teaches people to stop experimenting, which is the one thing this + audience cannot afford to learn. +- **The product never blames the user.** Failures are stated as what happened + and what to do (L7). "Invalid input" is not an acceptable sentence anywhere. + +### 6.2 Assistive floor + +- **Keyboard**: every operation reachable and completable without a pointer. + Single-letter shortcuts for sketch tools, shown in the offer itself (§4.1) as + well as in the tooltip. The offer opens from the keyboard (Menu key or + Shift+F10) and walks by arrow key and by type-ahead, so the row map works for + someone who never touches the pointer. A visible focus state on every + focusable element. No shortcut that only works while the pointer happens to be + over the canvas. +- **Colour**: never the sole carrier of meaning. Selection is colour *and* + outline; an error is colour *and* an icon *and* text. Verify in greyscale. +- **Contrast**: labels over the 3D viewport get a scrim or halo so 4.5:1 holds + against any background the model can produce, including a white body under a + white plate. +- **Targets**: handles and grips no smaller than 32 px at 100 % scale, scaling + with the OS factor; the grab tolerance is larger than the drawn glyph. +- **Timing**: no double-click-to-mean-something-else, no press-and-hold as the + only route to a function, no cycle that depends on repeated clicks + (see L5). The long-press that opens the offer on a one-button Mac and on touch + (§4.1) is explicitly an *additional* route — Ctrl-click, two-finger tap and + the keyboard all reach the same place — and it shows its own progress while + charging, so it never fails silently. +- **Motion**: animation is functional (showing where a thing went), never + decorative, and it respects the reduced-motion preference. +- **Text**: no fixed-width assumptions; the UI holds together in German and in + Chinese, at 125 % and 200 % scale. Every string routed through the normal + translation path. + +## 7. Depth without clutter — the three tiers + +Power for experts is delivered by **progressive disclosure of tools, never by +relocation of tools**. A tool that appears in a later tier is in the same place +it will always be; it is simply not shown yet. + +| Tier | Who | What appears | +|---|---|---| +| **Make** | first hour | Sketch, extrude, revolve, hole, fillet/chamfer, move, commit to plate | +| **Model** | competent user | Patterns, shell, draft, sweep/loft, booleans, reference geometry, variables, import/export | +| **Mechanism** | mechanical designer | Assemblies and mates, exploded views, interference detection, surfaces, feature-level editing of imported solids | + +Rules that keep this honest: + +1. **Tiers are non-modal.** No mode switch, no workbench selector, no "advanced + mode" toggle that changes the meaning of anything. The tier only governs what + is *offered*. +2. **A tier reveals itself by use.** Using a body reveals boolean tools; adding + a second body reveals assembly tools. The product notices what you are doing. +3. **Nothing moves when a tier appears.** A user who learned where fillet lives + finds it in the same place forever. +4. **An expert tool obeys the same grammar** as a beginner tool. Mates are + picked in 3D like everything else, not configured in a table. +5. **Exploded views are a view state**, not a document mode — reversible, + draggable along mate axes, and never a separate file. + +## 8. Designing for print — the home advantage + +Design-time knowledge the application already has, and must use: + +- **The plate is present** in the design space, at the real size, with the real + origin. Committing a body to the plate is one action and preserves placement. +- **Print-domain checks run on the model, on the geometry, before slicing**: + walls thinner than the nozzle, unsupported overhangs beyond the material's + angle, features smaller than the layer height, a part that does not fit the + build volume. +- **These are warnings on the geometry, never a report.** The thin wall glows; + the tooltip says how thin and what the nozzle is. +- **Material and machine context is inherited** from the active slicer profile, + not re-entered in the Design tab. +- **The round trip is preserved**: editing a design after slicing returns to the + feature history, not to a mesh. + +## 9. The review gate + +Every pull request that touches the Design tab UI answers these, in the PR body. +A "no" that is not accompanied by an argument is a request for changes. + +1. Which law (L1–L11) does the change most directly serve? +2. Can the whole operation be completed without the pointer leaving the + viewport? If not, why is this the exception? + And: does the relevant selection *offer* this tool (§4.1), or must the user + already know it exists? +3. Are the values draggable *and* typable? +4. Screenshot of the state after **exactly one** click of the new gesture, + performed as a first-time user. +5. Keyboard-only walkthrough: does it complete? +6. Greyscale screenshot: is every state still distinguishable? +7. What was **removed**? (Net additions to permanent chrome require an argument.) +8. Which tier does it belong to, and does it appear without moving anything else? +9. What does it do when the geometry is invalid, and is that reported before the + commit? +10. Interaction cost: actions required for the canonical task it addresses, + before and after. +11. Reach (L11): screenshot at 1366×768 with the panel open — is the model still + on screen? Does it run on integrated graphics? Does it need the network, an + account, or a file the user cannot keep? +12. If the change adds or moves a verb in the offer: which row, and is it that + verb's row in **every** selection where it appears? Did any existing verb's + index change? (If yes, this is not a UI change, it is a breaking change to + every user's muscle memory, and it needs the group — see §4.1.) Was + `docs/ux/tool_atlas.json` updated and the atlas regenerated? +13. If the change adds a pointer gesture: what is its keyboard equivalent, and + what does a one-button Mac, a trackpad and a touch screen do (§4.1)? + +## 10. Where we stand today — honest inventory + +Complying with the laws already: + +- Sketch inline editors — draw an entity and its dimension tab opens on the + geometry; Tab walks Length → Width → Angle. +- Fillet/chamfer draggable radius arrow with an editable value label. +- Extrude depth arrow; move-body three-axis arrows. +- Datum-plane resize handles and offset arrow; ghost reference planes picked in + 3D. +- Imported-art place/size gizmo. +- Sketch plane taken from the picked face, with the target named in the status + line, and the sketch-plane dropdown deleted outright. + +Violating them, with removal scheduled: + +- **Every tool card is a two-column form** of combos and spin fields in the left + panel. This is the single largest debt in the product and the reason this + document exists. Tracked as an epic; each card is replaced by its on-geometry + equivalent, not improved in place. It fails L1 and it fails L11 twice over — + on a 1366×768 screen the cards leave the model a strip. +- Seven remaining plane pickers still populate a combo instead of consuming a + viewport selection. +- Pattern has no on-geometry spacing arrow or count badge. +- Hole is positioned by X/Y fields rather than by a point on a face. +- Booleans and cuts pick their operands from lists rather than in 3D. +- Fillet/chamfer edge selection still requires the click cycle L5 forbids. +- **Selecting geometry offers nothing.** There is no contextual offer (§4.1): + the user faces the full toolbar whatever they have picked, and finds out that + a tool did not apply by it doing nothing. This is the largest single item of + new work the charter asks for. The map and every state of it are already + drawn (`docs/ux/offer_atlas.html`); what the group owes itself before the code + is ratifying the row order, since every verb built before that lands has to be + addressed afterwards anyway. +- **Committing is an invisible click in empty space** rather than the + confirm/cancel puck of §4.2 — the exact gesture that rule withdraws. + +Nothing on the violating list is defended. The only open question for each is +what its on-geometry replacement should be. + +## 11. How the group works + +**Roles.** Product/UX lead (owns this document and casts the tie-break vote on +interaction questions); kernel maintainer; GUI maintainer; a print-domain +reviewer; a mechanical-design reviewer who uses the product on real work; an +accessibility reviewer covering both senses of §6 — reach and assistive — who +owns the reference machine and actually runs on it. One person may hold more +than one role; the UX lead and the mechanical-design reviewer should not be the +same person, and nobody reviews reach from a workstation. + +**The absent audience needs a seat.** The fourteen-year-old is not in the room +and cannot file an issue. Someone in the group is accountable for B5 and B6, and +the group watches real first-timers use the product on the reference machine at +least once a quarter — school, makerspace, or a friend's kid. Everything else in +this document can be argued from principle; approachability can only be +observed. + +**Cadence.** A short weekly review of open interaction proposals. A monthly pass +over the violating inventory in §10 — anything that has not moved in two months +is either scheduled or explicitly accepted as permanent, with a reason written +into this document. + +**How a change moves.** + +1. *Problem* — a described user difficulty, ideally with an interaction-cost + measurement, never a solution in disguise. +2. *Sketch* — one or two on-geometry interaction proposals, drawn or described + as a gesture sequence. Reviewed against §3 before any code. +3. *Prototype* — built behind whatever the smallest safe path is, driven end to + end on a real display, and screenshotted at each state. +4. *Gate* — §9 answered in the PR. +5. *Merge*, then update §10. + +**Decisions are written down.** Any resolution that constrains future work is +appended to this document as a numbered law or as an accepted exception with its +reasoning. A decision that lives only in a call is not a decision. + +**How disagreements resolve.** Against the laws first. If the laws do not decide +it, the tie-break is the interaction cost measured on the canonical tasks in +§12; if that does not decide it, the UX lead chooses and records why. + +## 12. Canonical tasks — the benchmark + +The measure of every UX change is the cost of these five tasks. Each is timed and +counted (clicks, keystrokes, camera actions, mode switches) on the headless rig +and, periodically, with real users who have not seen the product. + +| # | Task | What it exercises | +|---|---|---| +| **B1** | Bracket: sketch an L, extrude, two holes, fillet the inside corner, send to plate | The inner loop | +| **B2** | Change a hole diameter and the plate thickness, six features deep, and rebuild | Parametric editability | +| **B3** | Take an imported STEP, delete a boss, close the face, thicken a wall to nozzle width | Direct editing + print awareness | +| **B4** | Two parts, one revolute mate, check interference, produce an exploded view | The Mechanism tier | +| **B5** | First-run: from opening the Design tab to a print-ready solid, no documentation | Approachability | +| **B6** | B1 again, on the reference machine at 1366×768, offline, on a fresh account-less install | Reach (L11) | + +Every task is run on the reference machine of §6.1, not on a workstation — a +number measured on a fast desktop describes an experience most of our users will +never have. B6 repeats the inner loop under the full entry conditions so that +reach is a measured quantity and not an intention. + +Targets are set once each task has been measured on the current build. B5's +target is expressed in minutes-to-first-solid **by someone who has never seen a +CAD program**, and it is the number this project is ultimately judged by. + +--- + +### Appendix — anti-patterns we have already paid for + +Kept because each cost real time and each is easy to reintroduce. + +- **The dropdown that grew a row.** Fixing "cannot sketch on a face" by adding a + "Face of Body 1" entry to a plane combo. It reads as a small fix and it is the + side-panel architecture reproducing itself. +- **The invisible first click.** Flyout buttons and pick cycles whose first click + changes nothing meaningful. Filed as bugs three separate times against working + code, and made a real bug look fixed when it was not. +- **The fix verified through a path the user will never take.** A face-sketch fix + confirmed by double-clicking to reach face level. Users click once. A fix + reachable only by an undiscoverable gesture is indistinguishable from no fix. +- **The wrong feedback surface.** Measuring an armed tool by the toolbar, which + never renders keyboard-armed state. The status line is the surface that + answers. +- **The silent success.** A cut that removed no material, reported as done. Now + an error naming the likely cause. diff --git a/docs/CAD/design/mate-connectors/BEAR_CONNECTOR_REVIEW.md b/docs/CAD/design/mate-connectors/BEAR_CONNECTOR_REVIEW.md new file mode 100644 index 0000000000..cc2d4b22aa --- /dev/null +++ b/docs/CAD/design/mate-connectors/BEAR_CONNECTOR_REVIEW.md @@ -0,0 +1,169 @@ +# BearConnector.step — examination + +> **Scope.** One file was supplied and it contains **one object: the male.** Everything below is +> measured from that single solid. Earlier drafts of this note reasoned about a female pocket and a +> mating pair — those objects were never supplied, so any statement about them was speculation and +> has been removed. The clearance, the fit, and the pocket's legibility are all **unassessed**. + +Measured, not eyeballed. Imported into the Design tab's own OpenCascade kernel +(`import_step` → one valid closed solid), topology queried, geometry checked numerically. +Flat drawing: `artifacts/shots/bear-flat.png`. Viewport: `artifacts/shots/bear-02-zoom.png`. + +**File:** AP242 Edition 2, ST-Developer. 1 `MANIFOLD_SOLID_BREP`, 1 `CLOSED_SHELL`. +**Size:** 83.06 × 66.69 × 17.27 mm. **Faces:** 30 — 24 planar + 6 cylindrical. +**Curves:** 69 lines + 12 circles. **No** splines, spheres, tori or cones. +**Relief:** only four Z levels — 0, 3.00, 10.66, 17.27. + +--- + +## What is right, and precisely so + +**The sloping ridge is implemented exactly as briefed.** From (0.00, 18.40, 17.27) to +(0.00, 46.72, 10.66): 28.3 mm long, 6.61 mm drop, **13.1° slope**, and both ends sit dead on +x = 0.00. It breaks 180° rotation on its own. + +**20.0° uniform draft on all four snout flanks**, identical to within 0.1°: +`(0,−0.94,0.342) (0.936,0.08,0.342) (0,0.94,0.342) (−0.936,0.08,0.342)`. That is a real, +deliberate lead-in — it self-centres into a matching pocket, and it demoulds and prints. + +**The eyes are exactly symmetric**: Ø9.87 at x = ±16.43, y = 48.01, matching to 0.01 mm. +Someone mirrored those on purpose. + +**The mating feature is extremely economical**: only **five edges** exist above the 3 mm plate — +the ridge plus two flank edges at each end. Base plate is exactly 3.00 mm. + +The low-poly constraint is honoured. All six cylinders are outline rounds and eye holes; none of +them is a mating surface. + +--- + +## The asymmetry is deliberate, and it is complete + +**Correction.** A first pass read the left/right differences as an unfinished mirror. That was wrong: +the asymmetry is intentional. Tested properly — every candidate self-symmetry, in the part's own +centred frame, with a generous 0.1 mm tolerance: + +| operation | edges mapped onto the part | +|---|---| +| identity | 81 / 81 — 100 % | +| mirror about x = 0 (left/right) | **0 / 81** | +| mirror about y = 0 (top/bottom) | **0 / 81** | +| rotate 180° about Z | **0 / 81** | +| rotate 90° about Z | **0 / 81** | +| mirror about the diagonal | **0 / 81** | + +**The symmetry group is trivial.** No rigid motion or reflection maps this part onto itself, so +**every partial view determines the orientation uniquely** — you never need to see the whole face to +know which way round it goes. That is the strongest possible result for a keying interface and it is +exactly what the earlier abstract glyph work kept failing to achieve: a symmetric shape seen at a +grazing angle, or half-occluded, gives an ambiguous read. + +### Does it let you GRASP the orientation? Measured, not asserted. + +Unique-in-principle and graspable-at-a-glance are different claims. The symmetry table proves the +first. For the second, the front-on picture (outline + eyes + mouth, filled) was rasterised and +compared against its own mirror and its own 180° rotation — the two ways a person can get it wrong. + +**By size** (percentage of pixels that differ): + +| width | vs mirror | vs rotated 180° | +|---|---|---| +| 16 px | 20.7 % | 26.0 % | +| 24 px | 21.9 % | 30.9 % | +| 32 px | 23.0 % | 28.1 % | +| 48 px | 22.4 % | 30.6 % | +| 80 px | 24.7 % | 31.0 % | +| 160 px | 23.6 % | 31.0 % | + +**The curve is flat.** The full signal is already there at 16 pixels and more resolution adds +nothing. That is the whole result: **the orientation cue lives at low spatial frequency**, carried by +the overall shape rather than by any detail. It therefore survives distance, blur, poor light, +peripheral vision, a small print and a low-resolution screen. It is the exact opposite of the abstract +disc glyph, whose roll cue was a small high-frequency feature and died at a grazing angle. + +**Partial views — a claim I made and then withdrew.** I ran a masked-window test and concluded that +a single quarter of the face was enough to read the orientation. **That test was invalid and the +conclusion is wrong.** It compared a window of the original against *the same window* of the mirrored +and rotated versions — which silently hands the observer the registration. It assumes you already +know that the patch you are looking at is the top-left quarter, which is exactly the thing you would +not know if you could only see a quarter. + +**You need to see the whole face.** The cues here are *relational*: the big ear only means something +next to the small ear, and the mouth offset only means something relative to the centreline. None of +them is self-locating. Whole-face is the operating condition, and the design should be judged and +used on that basis. + +That does not weaken the size result above, which always used the complete silhouette: the whole face +reads at 16 px. Needing all of it, and needing very little resolution of it, are compatible — and for +a part held in a hand, seeing all of it is the normal case. + +**The signal is allocated to the right risks.** The strongest cue (up to 41.7 %) guards against +inserting it upside down — the mistake people actually make. The weakest (~23 %) guards the mirror +case, which needs the part flipped over and which the protrusion already prevents mechanically. + +It also does mechanical work beyond the ridge. The ridge alone breaks 180° rotation; the asymmetric +outline additionally defeats the **mirrored-part** case — a mirror-image copy will not fit, so a +modelling or printing mirror is caught at assembly rather than three steps later. + +And for children specifically, a symmetric cartoon face reads as a mask; illustrators asymmetrise +deliberately so a face reads as a *character*. The asymmetry is earning its keep three ways at once. + +### What is worth keeping in mind anyway + +**The ears differ by 42 %** — left 8.33 mm wide (top y 65.68), right 11.81 mm (top y 66.69). Both +start at the same y = 60.79, so they read as a deliberate pair rather than an error. 42 % is well +above the perceptual threshold: you see it instantly. Good cue. + +**The mouth is a smirk** — x −21.93 … 0.00, centred at x = −10.96, stopping on the centreline. A +classic character device and a strong asymmetry. + +**The rounds are the best cue and the one safety question.** All four are on the left — Ø11.71 at +(−40.82, 7.38), Ø11.71 at (−34.76, 0.58), Ø10.00 at (−29.85, 60.83), Ø2.90 at (−26.70, 65.95) — and +the right side is entirely sharp. This is the *most locally readable* cue in the design: the ears +differ only by comparison (you must see both to know which is which), whereas a rounded corner tells +you "this is the left" from that corner alone, by eye **or by fingertip**. For children assembling by +feel that is the cue doing the real work. + +The tension is that "sharp" on a children's part is a hazard, and the obvious safety fix — round +everything — destroys the cue. The resolution is not round-vs-sharp but **large-vs-small radius**: +keep R≈6 on the left and give the right R≈1. R1 still reads and feels sharp locally, so the cue +survives, and the actual edge hazard goes away. That is the one recommendation that outlives the +correction. + +**One measurement that does not fit the story:** the outline is off-centre by **0.54 mm** (left reach +40.99, right reach 42.07). A deliberate cue should be unmissable; 0.54 mm is invisible. It is +probably a by-product of the other features rather than intent — worth a look, not a defect. + +--- + +## Two judgement calls, not defects + +**The snout is highest at the nose tip and slopes down toward the brow** — a real bear's muzzle +does the opposite. Anatomically it reads more like a beak or a horn than a snout. But mechanically +it is the better choice: the nose tip enters the pocket first and does the finding. Keep it if the +lead-in matters more than the likeness; flip it if "it must look like a bear" wins. + +**Only the male was supplied**, so the clearance, the fit and the pocket are unassessed. Nothing in +this note should be read as a judgement on them. + +--- + +## The strategic point, which is the real reason this design is good + +It gives orientation **a name**. "Ears up, nose down" needs no legend, no convention and no +documentation. Face recognition is the most robust pattern-matching humans have: it survives low +resolution, poor light, partial occlusion and peripheral vision. That is exactly the robustness the +abstract ridge key was reaching for, and here it comes for free. + +**One earlier objection does not transfer — noting it only so it is not carried over by mistake.** +In §8c of the design doc a female *pocket* measured as visually invisible — flat-shaded, a recess +reads as a blank rectangle — and I concluded male/female +is the wrong polarity cue. **That was a viewport finding, and it does not apply to a physical part.** +Nobody looks into the pocket of a toy; they feel it. For a part in a child's hands, male/female is +exactly the right polarity language. The earlier conclusion stands for the on-screen glyph and must +not be carried over to this. + +**The one rule to write down now:** the face and the key must never be allowed to disagree. People +will trust the face over the mechanics every time. Here they agree — ridge on the centreline, ears +up. If the face is ever restyled independently of the key, a user will orient by the bear and be +wrong. Tie them permanently, in the model and in whatever generates it. diff --git a/docs/CAD/design/mate-connectors/BearConnector_Cutter.step b/docs/CAD/design/mate-connectors/BearConnector_Cutter.step new file mode 100644 index 0000000000..c78e19e536 --- /dev/null +++ b/docs/CAD/design/mate-connectors/BearConnector_Cutter.step @@ -0,0 +1,998 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2026-08-05T12:46:26',('FreeCAD'),( + 'FreeCAD'),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('Open CASCADE STEP translator 7.8 1', + 'Open CASCADE STEP translator 7.8 1','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#958); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = MANIFOLD_SOLID_BREP('',#16); +#16 = CLOSED_SHELL('',(#17,#229,#260,#497,#514,#531,#548,#565,#582,#599, + #616,#633,#650,#667,#684,#701,#718,#735,#747,#770,#794,#810,#822, + #839,#856,#878,#895,#912,#929,#946)); +#17 = ADVANCED_FACE('',(#18,#68,#79,#213),#224,.F.); +#18 = FACE_BOUND('',#19,.F.); +#19 = EDGE_LOOP('',(#20,#30,#38,#46,#54,#62)); +#20 = ORIENTED_EDGE('',*,*,#21,.F.); +#21 = EDGE_CURVE('',#22,#24,#26,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(19.029295926024,-0.2,-17.63009960955)); +#24 = VERTEX_POINT('',#25); +#25 = CARTESIAN_POINT('',(16.626582997737,-0.2,-8.940188245231)); +#26 = LINE('',#27,#28); +#27 = CARTESIAN_POINT('',(19.849519003668,-0.2,-20.59660707692)); +#28 = VECTOR('',#29,1.); +#29 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#30 = ORIENTED_EDGE('',*,*,#31,.F.); +#31 = EDGE_CURVE('',#32,#22,#34,.T.); +#32 = VERTEX_POINT('',#33); +#33 = CARTESIAN_POINT('',(22.059435554995,-0.2,-3.734519760785)); +#34 = LINE('',#35,#36); +#35 = CARTESIAN_POINT('',(17.698510515043,-0.2,-23.73280021221)); +#36 = VECTOR('',#37,1.); +#37 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#38 = ORIENTED_EDGE('',*,*,#39,.F.); +#39 = EDGE_CURVE('',#40,#32,#42,.T.); +#40 = VERTEX_POINT('',#41); +#41 = CARTESIAN_POINT('',(-21.72552223146,-0.2,-3.734519760785)); +#42 = LINE('',#43,#44); +#43 = CARTESIAN_POINT('',(0.297084840953,-0.2,-3.734519760785)); +#44 = VECTOR('',#45,1.); +#45 = DIRECTION('',(1.,0.,0.)); +#46 = ORIENTED_EDGE('',*,*,#47,.F.); +#47 = EDGE_CURVE('',#48,#40,#50,.T.); +#48 = VERTEX_POINT('',#49); +#49 = CARTESIAN_POINT('',(-21.72552223146,-0.2,-8.903751135252)); +#50 = LINE('',#51,#52); +#51 = CARTESIAN_POINT('',(-21.72552223146,-0.2,-19.83215600037)); +#52 = VECTOR('',#53,1.); +#53 = DIRECTION('',(0.,0.,1.)); +#54 = ORIENTED_EDGE('',*,*,#55,.F.); +#55 = EDGE_CURVE('',#56,#48,#58,.T.); +#56 = VERTEX_POINT('',#57); +#57 = CARTESIAN_POINT('',(4.383041634064E-04,-0.2,-8.903751615529)); +#58 = LINE('',#59,#60); +#59 = CARTESIAN_POINT('',(-5.279852300138,-0.2,-8.903751135252)); +#60 = VECTOR('',#61,1.); +#61 = DIRECTION('',(-1.,0.,0.)); +#62 = ORIENTED_EDGE('',*,*,#63,.F.); +#63 = EDGE_CURVE('',#24,#56,#64,.T.); +#64 = LINE('',#65,#66); +#65 = CARTESIAN_POINT('',(4.347099726942,-0.2,-8.913277437397)); +#66 = VECTOR('',#67,1.); +#67 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#68 = FACE_BOUND('',#69,.F.); +#69 = EDGE_LOOP('',(#70)); +#70 = ORIENTED_EDGE('',*,*,#71,.F.); +#71 = EDGE_CURVE('',#72,#72,#74,.T.); +#72 = VERTEX_POINT('',#73); +#73 = CARTESIAN_POINT('',(21.163799345768,-0.2,-48.00951684793)); +#74 = CIRCLE('',#75,4.735522705283); +#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78); +#76 = CARTESIAN_POINT('',(16.428276640485,-0.2,-48.00951684793)); +#77 = DIRECTION('',(-0.,1.,0.)); +#78 = DIRECTION('',(1.,0.,0.)); +#79 = FACE_BOUND('',#80,.F.); +#80 = EDGE_LOOP('',(#81,#91,#100,#108,#116,#125,#133,#142,#150,#158,#166 + ,#174,#182,#190,#198,#206)); +#81 = ORIENTED_EDGE('',*,*,#82,.T.); +#82 = EDGE_CURVE('',#83,#85,#87,.T.); +#83 = VERTEX_POINT('',#84); +#84 = CARTESIAN_POINT('',(-27.86158468659,-0.2,-65.78852163128)); +#85 = VERTEX_POINT('',#86); +#86 = CARTESIAN_POINT('',(-29.08766684168,-0.2,-64.52156932717)); +#87 = LINE('',#88,#89); +#88 = CARTESIAN_POINT('',(-29.44004200272,-0.2,-64.15744811364)); +#89 = VECTOR('',#90,1.); +#90 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#91 = ORIENTED_EDGE('',*,*,#92,.F.); +#92 = EDGE_CURVE('',#93,#85,#95,.T.); +#93 = VERTEX_POINT('',#94); +#94 = CARTESIAN_POINT('',(-28.96712497021,-0.2,-57.16864680227)); +#95 = CIRCLE('',#96,5.2); +#96 = AXIS2_PLACEMENT_3D('',#97,#98,#99); +#97 = CARTESIAN_POINT('',(-25.35093464349,-0.2,-60.90537900045)); +#98 = DIRECTION('',(0.,-1.,0.)); +#99 = DIRECTION('',(-1.,0.,0.)); +#100 = ORIENTED_EDGE('',*,*,#101,.T.); +#101 = EDGE_CURVE('',#93,#102,#104,.T.); +#102 = VERTEX_POINT('',#103); +#103 = CARTESIAN_POINT('',(-26.93875323652,-0.2,-55.20570756731)); +#104 = LINE('',#105,#106); +#105 = CARTESIAN_POINT('',(-14.90185526362,-0.2,-43.55710346492)); +#106 = VECTOR('',#107,1.); +#107 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#108 = ORIENTED_EDGE('',*,*,#109,.T.); +#109 = EDGE_CURVE('',#102,#110,#112,.T.); +#110 = VERTEX_POINT('',#111); +#111 = CARTESIAN_POINT('',(-41.17904151244,-0.2,-10.52828909594)); +#112 = LINE('',#113,#114); +#113 = CARTESIAN_POINT('',(-32.39120436163,-0.2,-38.09921113329)); +#114 = VECTOR('',#115,1.); +#115 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#116 = ORIENTED_EDGE('',*,*,#117,.F.); +#117 = EDGE_CURVE('',#118,#110,#120,.T.); +#118 = VERTEX_POINT('',#119); +#119 = CARTESIAN_POINT('',(-39.69176606491,-0.2,-4.408923352436)); +#120 = CIRCLE('',#121,6.054044962965); +#121 = AXIS2_PLACEMENT_3D('',#122,#123,#124); +#122 = CARTESIAN_POINT('',(-35.41090981799,-0.2,-8.689779599357)); +#123 = DIRECTION('',(0.,-1.,0.)); +#124 = DIRECTION('',(-1.,0.,0.)); +#125 = ORIENTED_EDGE('',*,*,#126,.T.); +#126 = EDGE_CURVE('',#118,#127,#129,.T.); +#127 = VERTEX_POINT('',#128); +#128 = CARTESIAN_POINT('',(-36.85603142851,-0.2,-1.573188716044)); +#129 = LINE('',#130,#131); +#130 = CARTESIAN_POINT('',(-36.19319006079,-0.2,-0.910347348321)); +#131 = VECTOR('',#132,1.); +#132 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#133 = ORIENTED_EDGE('',*,*,#134,.F.); +#134 = EDGE_CURVE('',#135,#127,#137,.T.); +#135 = VERTEX_POINT('',#136); +#136 = CARTESIAN_POINT('',(-32.57517518159,-0.2,0.2)); +#137 = CIRCLE('',#138,6.054044962965); +#138 = AXIS2_PLACEMENT_3D('',#139,#140,#141); +#139 = CARTESIAN_POINT('',(-32.57517518159,-0.2,-5.854044962965)); +#140 = DIRECTION('',(0.,-1.,0.)); +#141 = DIRECTION('',(-1.,0.,0.)); +#142 = ORIENTED_EDGE('',*,*,#143,.T.); +#143 = EDGE_CURVE('',#135,#144,#146,.T.); +#144 = VERTEX_POINT('',#145); +#145 = CARTESIAN_POINT('',(35.082842712475,-0.2,0.2)); +#146 = LINE('',#147,#148); +#147 = CARTESIAN_POINT('',(-7.942265537672,-0.2,0.2)); +#148 = VECTOR('',#149,1.); +#149 = DIRECTION('',(1.,0.,0.)); +#150 = ORIENTED_EDGE('',*,*,#151,.F.); +#151 = EDGE_CURVE('',#152,#144,#154,.T.); +#152 = VERTEX_POINT('',#153); +#153 = CARTESIAN_POINT('',(42.298608189024,-0.2,-7.015765476549)); +#154 = LINE('',#155,#156); +#155 = CARTESIAN_POINT('',(36.596246576251,-0.2,-1.313403863776)); +#156 = VECTOR('',#157,1.); +#157 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#158 = ORIENTED_EDGE('',*,*,#159,.F.); +#159 = EDGE_CURVE('',#160,#152,#162,.T.); +#160 = VERTEX_POINT('',#161); +#161 = CARTESIAN_POINT('',(26.938753236523,-0.2,-55.20570756731)); +#162 = LINE('',#163,#164); +#163 = CARTESIAN_POINT('',(32.699020781567,-0.2,-37.13346923684)); +#164 = VECTOR('',#165,1.); +#165 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#166 = ORIENTED_EDGE('',*,*,#167,.F.); +#167 = EDGE_CURVE('',#168,#160,#170,.T.); +#168 = VERTEX_POINT('',#169); +#169 = CARTESIAN_POINT('',(32.703857168398,-0.2,-60.78483712899)); +#170 = LINE('',#171,#172); +#171 = CARTESIAN_POINT('',(16.008242280412,-0.2,-44.62779994931)); +#172 = VECTOR('',#173,1.); +#173 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#174 = ORIENTED_EDGE('',*,*,#175,.F.); +#175 = EDGE_CURVE('',#176,#168,#178,.T.); +#176 = VERTEX_POINT('',#177); +#177 = CARTESIAN_POINT('',(26.715163243538,-0.2,-66.97315781796)); +#178 = LINE('',#179,#180); +#179 = CARTESIAN_POINT('',(30.25240665457,-0.2,-63.31800414721)); +#180 = VECTOR('',#181,1.); +#181 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#182 = ORIENTED_EDGE('',*,*,#183,.F.); +#183 = EDGE_CURVE('',#184,#176,#186,.T.); +#184 = VERTEX_POINT('',#185); +#185 = CARTESIAN_POINT('',(20.532019001374,-0.2,-60.98947335481)); +#186 = LINE('',#187,#188); +#187 = CARTESIAN_POINT('',(9.922784884512,-0.2,-50.72247862452)); +#188 = VECTOR('',#189,1.); +#189 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#190 = ORIENTED_EDGE('',*,*,#191,.F.); +#191 = EDGE_CURVE('',#192,#184,#194,.T.); +#192 = VERTEX_POINT('',#193); +#193 = CARTESIAN_POINT('',(-20.53201900137,-0.2,-60.98947335481)); +#194 = LINE('',#195,#196); +#195 = CARTESIAN_POINT('',(5.354765181569,-0.2,-60.98947335481)); +#196 = VECTOR('',#197,1.); +#197 = DIRECTION('',(1.,0.,0.)); +#198 = ORIENTED_EDGE('',*,*,#199,.T.); +#199 = EDGE_CURVE('',#192,#200,#202,.T.); +#200 = VERTEX_POINT('',#201); +#201 = CARTESIAN_POINT('',(-25.53052705686,-0.2,-65.82673637491)); +#202 = LINE('',#203,#204); +#203 = CARTESIAN_POINT('',(-9.454421870603,-0.2,-50.26922436104)); +#204 = VECTOR('',#205,1.); +#205 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#206 = ORIENTED_EDGE('',*,*,#207,.F.); +#207 = EDGE_CURVE('',#83,#200,#208,.T.); +#208 = CIRCLE('',#209,1.648528137424); +#209 = AXIS2_PLACEMENT_3D('',#210,#211,#212); +#210 = CARTESIAN_POINT('',(-26.67694849991,-0.2,-64.64210018823)); +#211 = DIRECTION('',(0.,-1.,0.)); +#212 = DIRECTION('',(-1.,0.,0.)); +#213 = FACE_BOUND('',#214,.F.); +#214 = EDGE_LOOP('',(#215)); +#215 = ORIENTED_EDGE('',*,*,#216,.F.); +#216 = EDGE_CURVE('',#217,#217,#219,.T.); +#217 = VERTEX_POINT('',#218); +#218 = CARTESIAN_POINT('',(-11.6927539352,-0.2,-48.00951684793)); +#219 = CIRCLE('',#220,4.735522705283); +#220 = AXIS2_PLACEMENT_3D('',#221,#222,#223); +#221 = CARTESIAN_POINT('',(-16.42827664048,-0.2,-48.00951684793)); +#222 = DIRECTION('',(-0.,1.,0.)); +#223 = DIRECTION('',(1.,0.,0.)); +#224 = PLANE('',#225); +#225 = AXIS2_PLACEMENT_3D('',#226,#227,#228); +#226 = CARTESIAN_POINT('',(0.403056515455,-0.2,-33.34517655273)); +#227 = DIRECTION('',(0.,1.,0.)); +#228 = DIRECTION('',(1.,0.,0.)); +#229 = ADVANCED_FACE('',(#230),#255,.F.); +#230 = FACE_BOUND('',#231,.F.); +#231 = EDGE_LOOP('',(#232,#240,#241,#249)); +#232 = ORIENTED_EDGE('',*,*,#233,.T.); +#233 = EDGE_CURVE('',#234,#160,#236,.T.); +#234 = VERTEX_POINT('',#235); +#235 = CARTESIAN_POINT('',(26.938753236523,3.2,-55.20570756731)); +#236 = LINE('',#237,#238); +#237 = CARTESIAN_POINT('',(26.938753236523,3.,-55.20570756731)); +#238 = VECTOR('',#239,1.); +#239 = DIRECTION('',(0.,-1.,0.)); +#240 = ORIENTED_EDGE('',*,*,#159,.T.); +#241 = ORIENTED_EDGE('',*,*,#242,.F.); +#242 = EDGE_CURVE('',#243,#152,#245,.T.); +#243 = VERTEX_POINT('',#244); +#244 = CARTESIAN_POINT('',(42.298608189024,3.2,-7.015765476549)); +#245 = LINE('',#246,#247); +#246 = CARTESIAN_POINT('',(42.298608189024,3.,-7.015765476549)); +#247 = VECTOR('',#248,1.); +#248 = DIRECTION('',(0.,-1.,0.)); +#249 = ORIENTED_EDGE('',*,*,#250,.F.); +#250 = EDGE_CURVE('',#234,#243,#251,.T.); +#251 = LINE('',#252,#253); +#252 = CARTESIAN_POINT('',(32.699020781567,3.2,-37.13346923684)); +#253 = VECTOR('',#254,1.); +#254 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#255 = PLANE('',#256); +#256 = AXIS2_PLACEMENT_3D('',#257,#258,#259); +#257 = CARTESIAN_POINT('',(34.581352051556,3.,-31.22785130119)); +#258 = DIRECTION('',(-0.952773183837,0.,0.30368282823)); +#259 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#260 = ADVANCED_FACE('',(#261,#311,#322,#447,#481),#492,.T.); +#261 = FACE_BOUND('',#262,.T.); +#262 = EDGE_LOOP('',(#263,#273,#281,#289,#297,#305)); +#263 = ORIENTED_EDGE('',*,*,#264,.F.); +#264 = EDGE_CURVE('',#265,#267,#269,.T.); +#265 = VERTEX_POINT('',#266); +#266 = CARTESIAN_POINT('',(16.626582997737,3.2,-8.940188245231)); +#267 = VERTEX_POINT('',#268); +#268 = CARTESIAN_POINT('',(4.383041634064E-04,3.2,-8.903751615529)); +#269 = LINE('',#270,#271); +#270 = CARTESIAN_POINT('',(4.347099726942,3.2,-8.913277437397)); +#271 = VECTOR('',#272,1.); +#272 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#273 = ORIENTED_EDGE('',*,*,#274,.F.); +#274 = EDGE_CURVE('',#275,#265,#277,.T.); +#275 = VERTEX_POINT('',#276); +#276 = CARTESIAN_POINT('',(19.029295926024,3.2,-17.63009960955)); +#277 = LINE('',#278,#279); +#278 = CARTESIAN_POINT('',(19.849519003668,3.2,-20.59660707692)); +#279 = VECTOR('',#280,1.); +#280 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#281 = ORIENTED_EDGE('',*,*,#282,.F.); +#282 = EDGE_CURVE('',#283,#275,#285,.T.); +#283 = VERTEX_POINT('',#284); +#284 = CARTESIAN_POINT('',(22.059435554995,3.2,-3.734519760785)); +#285 = LINE('',#286,#287); +#286 = CARTESIAN_POINT('',(17.698510515043,3.2,-23.73280021221)); +#287 = VECTOR('',#288,1.); +#288 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#289 = ORIENTED_EDGE('',*,*,#290,.F.); +#290 = EDGE_CURVE('',#291,#283,#293,.T.); +#291 = VERTEX_POINT('',#292); +#292 = CARTESIAN_POINT('',(-21.72552223146,3.2,-3.734519760785)); +#293 = LINE('',#294,#295); +#294 = CARTESIAN_POINT('',(0.297084840953,3.2,-3.734519760785)); +#295 = VECTOR('',#296,1.); +#296 = DIRECTION('',(1.,0.,0.)); +#297 = ORIENTED_EDGE('',*,*,#298,.F.); +#298 = EDGE_CURVE('',#299,#291,#301,.T.); +#299 = VERTEX_POINT('',#300); +#300 = CARTESIAN_POINT('',(-21.72552223146,3.2,-8.903751135252)); +#301 = LINE('',#302,#303); +#302 = CARTESIAN_POINT('',(-21.72552223146,3.2,-19.83215600037)); +#303 = VECTOR('',#304,1.); +#304 = DIRECTION('',(0.,0.,1.)); +#305 = ORIENTED_EDGE('',*,*,#306,.F.); +#306 = EDGE_CURVE('',#267,#299,#307,.T.); +#307 = LINE('',#308,#309); +#308 = CARTESIAN_POINT('',(-5.279852300138,3.2,-8.903751135252)); +#309 = VECTOR('',#310,1.); +#310 = DIRECTION('',(-1.,0.,0.)); +#311 = FACE_BOUND('',#312,.T.); +#312 = EDGE_LOOP('',(#313)); +#313 = ORIENTED_EDGE('',*,*,#314,.F.); +#314 = EDGE_CURVE('',#315,#315,#317,.T.); +#315 = VERTEX_POINT('',#316); +#316 = CARTESIAN_POINT('',(21.163799345768,3.2,-48.00951684793)); +#317 = CIRCLE('',#318,4.735522705283); +#318 = AXIS2_PLACEMENT_3D('',#319,#320,#321); +#319 = CARTESIAN_POINT('',(16.428276640485,3.2,-48.00951684793)); +#320 = DIRECTION('',(-0.,1.,0.)); +#321 = DIRECTION('',(1.,0.,0.)); +#322 = FACE_BOUND('',#323,.T.); +#323 = EDGE_LOOP('',(#324,#334,#343,#351,#360,#368,#374,#375,#383,#391, + #399,#407,#415,#424,#432,#441)); +#324 = ORIENTED_EDGE('',*,*,#325,.T.); +#325 = EDGE_CURVE('',#326,#328,#330,.T.); +#326 = VERTEX_POINT('',#327); +#327 = CARTESIAN_POINT('',(-26.93875323652,3.2,-55.20570756731)); +#328 = VERTEX_POINT('',#329); +#329 = CARTESIAN_POINT('',(-41.17904151244,3.2,-10.52828909594)); +#330 = LINE('',#331,#332); +#331 = CARTESIAN_POINT('',(-32.39120436163,3.2,-38.09921113329)); +#332 = VECTOR('',#333,1.); +#333 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#334 = ORIENTED_EDGE('',*,*,#335,.F.); +#335 = EDGE_CURVE('',#336,#328,#338,.T.); +#336 = VERTEX_POINT('',#337); +#337 = CARTESIAN_POINT('',(-39.69176606491,3.2,-4.408923352436)); +#338 = CIRCLE('',#339,6.054044962965); +#339 = AXIS2_PLACEMENT_3D('',#340,#341,#342); +#340 = CARTESIAN_POINT('',(-35.41090981799,3.2,-8.689779599357)); +#341 = DIRECTION('',(0.,-1.,0.)); +#342 = DIRECTION('',(-1.,0.,0.)); +#343 = ORIENTED_EDGE('',*,*,#344,.T.); +#344 = EDGE_CURVE('',#336,#345,#347,.T.); +#345 = VERTEX_POINT('',#346); +#346 = CARTESIAN_POINT('',(-36.85603142851,3.2,-1.573188716044)); +#347 = LINE('',#348,#349); +#348 = CARTESIAN_POINT('',(-36.19319006079,3.2,-0.910347348321)); +#349 = VECTOR('',#350,1.); +#350 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#351 = ORIENTED_EDGE('',*,*,#352,.F.); +#352 = EDGE_CURVE('',#353,#345,#355,.T.); +#353 = VERTEX_POINT('',#354); +#354 = CARTESIAN_POINT('',(-32.57517518159,3.2,0.2)); +#355 = CIRCLE('',#356,6.054044962965); +#356 = AXIS2_PLACEMENT_3D('',#357,#358,#359); +#357 = CARTESIAN_POINT('',(-32.57517518159,3.2,-5.854044962965)); +#358 = DIRECTION('',(0.,-1.,0.)); +#359 = DIRECTION('',(-1.,0.,0.)); +#360 = ORIENTED_EDGE('',*,*,#361,.T.); +#361 = EDGE_CURVE('',#353,#362,#364,.T.); +#362 = VERTEX_POINT('',#363); +#363 = CARTESIAN_POINT('',(35.082842712475,3.2,0.2)); +#364 = LINE('',#365,#366); +#365 = CARTESIAN_POINT('',(-7.942265537672,3.2,0.2)); +#366 = VECTOR('',#367,1.); +#367 = DIRECTION('',(1.,0.,0.)); +#368 = ORIENTED_EDGE('',*,*,#369,.F.); +#369 = EDGE_CURVE('',#243,#362,#370,.T.); +#370 = LINE('',#371,#372); +#371 = CARTESIAN_POINT('',(36.596246576251,3.2,-1.313403863776)); +#372 = VECTOR('',#373,1.); +#373 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#374 = ORIENTED_EDGE('',*,*,#250,.F.); +#375 = ORIENTED_EDGE('',*,*,#376,.F.); +#376 = EDGE_CURVE('',#377,#234,#379,.T.); +#377 = VERTEX_POINT('',#378); +#378 = CARTESIAN_POINT('',(32.703857168398,3.2,-60.78483712899)); +#379 = LINE('',#380,#381); +#380 = CARTESIAN_POINT('',(16.008242280412,3.2,-44.62779994931)); +#381 = VECTOR('',#382,1.); +#382 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#383 = ORIENTED_EDGE('',*,*,#384,.F.); +#384 = EDGE_CURVE('',#385,#377,#387,.T.); +#385 = VERTEX_POINT('',#386); +#386 = CARTESIAN_POINT('',(26.715163243538,3.2,-66.97315781796)); +#387 = LINE('',#388,#389); +#388 = CARTESIAN_POINT('',(30.25240665457,3.2,-63.31800414721)); +#389 = VECTOR('',#390,1.); +#390 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#391 = ORIENTED_EDGE('',*,*,#392,.F.); +#392 = EDGE_CURVE('',#393,#385,#395,.T.); +#393 = VERTEX_POINT('',#394); +#394 = CARTESIAN_POINT('',(20.532019001374,3.2,-60.98947335481)); +#395 = LINE('',#396,#397); +#396 = CARTESIAN_POINT('',(9.922784884512,3.2,-50.72247862452)); +#397 = VECTOR('',#398,1.); +#398 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#399 = ORIENTED_EDGE('',*,*,#400,.F.); +#400 = EDGE_CURVE('',#401,#393,#403,.T.); +#401 = VERTEX_POINT('',#402); +#402 = CARTESIAN_POINT('',(-20.53201900137,3.2,-60.98947335481)); +#403 = LINE('',#404,#405); +#404 = CARTESIAN_POINT('',(5.354765181569,3.2,-60.98947335481)); +#405 = VECTOR('',#406,1.); +#406 = DIRECTION('',(1.,0.,0.)); +#407 = ORIENTED_EDGE('',*,*,#408,.T.); +#408 = EDGE_CURVE('',#401,#409,#411,.T.); +#409 = VERTEX_POINT('',#410); +#410 = CARTESIAN_POINT('',(-25.53052705686,3.2,-65.82673637491)); +#411 = LINE('',#412,#413); +#412 = CARTESIAN_POINT('',(-9.454421870603,3.2,-50.26922436104)); +#413 = VECTOR('',#414,1.); +#414 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#415 = ORIENTED_EDGE('',*,*,#416,.F.); +#416 = EDGE_CURVE('',#417,#409,#419,.T.); +#417 = VERTEX_POINT('',#418); +#418 = CARTESIAN_POINT('',(-27.86158468659,3.2,-65.78852163128)); +#419 = CIRCLE('',#420,1.648528137424); +#420 = AXIS2_PLACEMENT_3D('',#421,#422,#423); +#421 = CARTESIAN_POINT('',(-26.67694849991,3.2,-64.64210018823)); +#422 = DIRECTION('',(0.,-1.,0.)); +#423 = DIRECTION('',(-1.,0.,0.)); +#424 = ORIENTED_EDGE('',*,*,#425,.T.); +#425 = EDGE_CURVE('',#417,#426,#428,.T.); +#426 = VERTEX_POINT('',#427); +#427 = CARTESIAN_POINT('',(-29.08766684168,3.2,-64.52156932717)); +#428 = LINE('',#429,#430); +#429 = CARTESIAN_POINT('',(-29.44004200272,3.2,-64.15744811364)); +#430 = VECTOR('',#431,1.); +#431 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#432 = ORIENTED_EDGE('',*,*,#433,.F.); +#433 = EDGE_CURVE('',#434,#426,#436,.T.); +#434 = VERTEX_POINT('',#435); +#435 = CARTESIAN_POINT('',(-28.96712497021,3.2,-57.16864680227)); +#436 = CIRCLE('',#437,5.2); +#437 = AXIS2_PLACEMENT_3D('',#438,#439,#440); +#438 = CARTESIAN_POINT('',(-25.35093464349,3.2,-60.90537900045)); +#439 = DIRECTION('',(0.,-1.,0.)); +#440 = DIRECTION('',(-1.,0.,0.)); +#441 = ORIENTED_EDGE('',*,*,#442,.T.); +#442 = EDGE_CURVE('',#434,#326,#443,.T.); +#443 = LINE('',#444,#445); +#444 = CARTESIAN_POINT('',(-14.90185526362,3.2,-43.55710346492)); +#445 = VECTOR('',#446,1.); +#446 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#447 = FACE_BOUND('',#448,.T.); +#448 = EDGE_LOOP('',(#449,#459,#467,#475)); +#449 = ORIENTED_EDGE('',*,*,#450,.F.); +#450 = EDGE_CURVE('',#451,#453,#455,.T.); +#451 = VERTEX_POINT('',#452); +#452 = CARTESIAN_POINT('',(5.809375885494,3.2,-13.06417917474)); +#453 = VERTEX_POINT('',#454); +#454 = CARTESIAN_POINT('',(2.688069798796,3.2,-49.64588621989)); +#455 = LINE('',#456,#457); +#456 = CARTESIAN_POINT('',(4.914157977861,3.2,-23.55613296875)); +#457 = VECTOR('',#458,1.); +#458 = DIRECTION('',(-8.501532861635E-02,0.,-0.996379643459)); +#459 = ORIENTED_EDGE('',*,*,#460,.F.); +#460 = EDGE_CURVE('',#461,#451,#463,.T.); +#461 = VERTEX_POINT('',#462); +#462 = CARTESIAN_POINT('',(-5.809375885494,3.2,-13.06417917474)); +#463 = LINE('',#464,#465); +#464 = CARTESIAN_POINT('',(1.615747408047,3.2,-13.06417917474)); +#465 = VECTOR('',#466,1.); +#466 = DIRECTION('',(1.,0.,-3.066574716487E-16)); +#467 = ORIENTED_EDGE('',*,*,#468,.F.); +#468 = EDGE_CURVE('',#469,#461,#471,.T.); +#469 = VERTEX_POINT('',#470); +#470 = CARTESIAN_POINT('',(-2.688069798796,3.2,-49.64588621989)); +#471 = LINE('',#472,#473); +#472 = CARTESIAN_POINT('',(-4.890802006217,3.2,-23.82986495424)); +#473 = VECTOR('',#474,1.); +#474 = DIRECTION('',(-8.501532861635E-02,0.,0.996379643459)); +#475 = ORIENTED_EDGE('',*,*,#476,.F.); +#476 = EDGE_CURVE('',#453,#469,#477,.T.); +#477 = LINE('',#478,#479); +#478 = CARTESIAN_POINT('',(1.615747408047,3.2,-49.64588621989)); +#479 = VECTOR('',#480,1.); +#480 = DIRECTION('',(-1.,0.,0.)); +#481 = FACE_BOUND('',#482,.T.); +#482 = EDGE_LOOP('',(#483)); +#483 = ORIENTED_EDGE('',*,*,#484,.F.); +#484 = EDGE_CURVE('',#485,#485,#487,.T.); +#485 = VERTEX_POINT('',#486); +#486 = CARTESIAN_POINT('',(-11.6927539352,3.2,-48.00951684793)); +#487 = CIRCLE('',#488,4.735522705283); +#488 = AXIS2_PLACEMENT_3D('',#489,#490,#491); +#489 = CARTESIAN_POINT('',(-16.42827664048,3.2,-48.00951684793)); +#490 = DIRECTION('',(-0.,1.,0.)); +#491 = DIRECTION('',(1.,0.,0.)); +#492 = PLANE('',#493); +#493 = AXIS2_PLACEMENT_3D('',#494,#495,#496); +#494 = CARTESIAN_POINT('',(0.403056515455,3.2,-33.34517655273)); +#495 = DIRECTION('',(0.,1.,0.)); +#496 = DIRECTION('',(1.,0.,0.)); +#497 = ADVANCED_FACE('',(#498),#509,.F.); +#498 = FACE_BOUND('',#499,.F.); +#499 = EDGE_LOOP('',(#500,#506,#507,#508)); +#500 = ORIENTED_EDGE('',*,*,#501,.F.); +#501 = EDGE_CURVE('',#168,#377,#502,.T.); +#502 = LINE('',#503,#504); +#503 = CARTESIAN_POINT('',(32.703857168398,3.,-60.78483712899)); +#504 = VECTOR('',#505,1.); +#505 = DIRECTION('',(0.,1.,0.)); +#506 = ORIENTED_EDGE('',*,*,#167,.T.); +#507 = ORIENTED_EDGE('',*,*,#233,.F.); +#508 = ORIENTED_EDGE('',*,*,#376,.F.); +#509 = PLANE('',#510); +#510 = AXIS2_PLACEMENT_3D('',#511,#512,#513); +#511 = CARTESIAN_POINT('',(29.704873980143,3.,-57.88259703786)); +#512 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#513 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#514 = ADVANCED_FACE('',(#515),#526,.F.); +#515 = FACE_BOUND('',#516,.F.); +#516 = EDGE_LOOP('',(#517,#523,#524,#525)); +#517 = ORIENTED_EDGE('',*,*,#518,.F.); +#518 = EDGE_CURVE('',#176,#385,#519,.T.); +#519 = LINE('',#520,#521); +#520 = CARTESIAN_POINT('',(26.715163243538,3.,-66.97315781796)); +#521 = VECTOR('',#522,1.); +#522 = DIRECTION('',(0.,1.,0.)); +#523 = ORIENTED_EDGE('',*,*,#175,.T.); +#524 = ORIENTED_EDGE('',*,*,#501,.T.); +#525 = ORIENTED_EDGE('',*,*,#384,.F.); +#526 = PLANE('',#527); +#527 = AXIS2_PLACEMENT_3D('',#528,#529,#530); +#528 = CARTESIAN_POINT('',(29.709510205968,3.,-63.87899747347)); +#529 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#530 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#531 = ADVANCED_FACE('',(#532),#543,.F.); +#532 = FACE_BOUND('',#533,.F.); +#533 = EDGE_LOOP('',(#534,#540,#541,#542)); +#534 = ORIENTED_EDGE('',*,*,#535,.T.); +#535 = EDGE_CURVE('',#393,#184,#536,.T.); +#536 = LINE('',#537,#538); +#537 = CARTESIAN_POINT('',(20.532019001374,3.,-60.98947335481)); +#538 = VECTOR('',#539,1.); +#539 = DIRECTION('',(0.,-1.,0.)); +#540 = ORIENTED_EDGE('',*,*,#183,.T.); +#541 = ORIENTED_EDGE('',*,*,#518,.T.); +#542 = ORIENTED_EDGE('',*,*,#392,.F.); +#543 = PLANE('',#544); +#544 = AXIS2_PLACEMENT_3D('',#545,#546,#547); +#545 = CARTESIAN_POINT('',(23.522653113203,3.,-63.8836336993)); +#546 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#547 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#548 = ADVANCED_FACE('',(#549),#560,.F.); +#549 = FACE_BOUND('',#550,.F.); +#550 = EDGE_LOOP('',(#551,#557,#558,#559)); +#551 = ORIENTED_EDGE('',*,*,#552,.F.); +#552 = EDGE_CURVE('',#192,#401,#553,.T.); +#553 = LINE('',#554,#555); +#554 = CARTESIAN_POINT('',(-20.53201900137,3.,-60.98947335481)); +#555 = VECTOR('',#556,1.); +#556 = DIRECTION('',(0.,1.,0.)); +#557 = ORIENTED_EDGE('',*,*,#191,.T.); +#558 = ORIENTED_EDGE('',*,*,#535,.F.); +#559 = ORIENTED_EDGE('',*,*,#400,.F.); +#560 = PLANE('',#561); +#561 = AXIS2_PLACEMENT_3D('',#562,#563,#564); +#562 = CARTESIAN_POINT('',(10.306473847682,3.,-60.98947335481)); +#563 = DIRECTION('',(0.,0.,1.)); +#564 = DIRECTION('',(0.,-1.,0.)); +#565 = ADVANCED_FACE('',(#566),#577,.T.); +#566 = FACE_BOUND('',#567,.T.); +#567 = EDGE_LOOP('',(#568,#574,#575,#576)); +#568 = ORIENTED_EDGE('',*,*,#569,.F.); +#569 = EDGE_CURVE('',#409,#200,#570,.T.); +#570 = LINE('',#571,#572); +#571 = CARTESIAN_POINT('',(-25.53052705686,3.,-65.82673637491)); +#572 = VECTOR('',#573,1.); +#573 = DIRECTION('',(0.,-1.,0.)); +#574 = ORIENTED_EDGE('',*,*,#408,.F.); +#575 = ORIENTED_EDGE('',*,*,#552,.F.); +#576 = ORIENTED_EDGE('',*,*,#199,.T.); +#577 = PLANE('',#578); +#578 = AXIS2_PLACEMENT_3D('',#579,#580,#581); +#579 = CARTESIAN_POINT('',(-23.00219525444,3.,-63.37996509944)); +#580 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#581 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#582 = ADVANCED_FACE('',(#583),#594,.T.); +#583 = FACE_BOUND('',#584,.T.); +#584 = EDGE_LOOP('',(#585,#591,#592,#593)); +#585 = ORIENTED_EDGE('',*,*,#586,.F.); +#586 = EDGE_CURVE('',#417,#83,#587,.T.); +#587 = LINE('',#588,#589); +#588 = CARTESIAN_POINT('',(-27.86158468659,3.,-65.78852163128)); +#589 = VECTOR('',#590,1.); +#590 = DIRECTION('',(0.,-1.,0.)); +#591 = ORIENTED_EDGE('',*,*,#416,.T.); +#592 = ORIENTED_EDGE('',*,*,#569,.T.); +#593 = ORIENTED_EDGE('',*,*,#207,.F.); +#594 = CYLINDRICAL_SURFACE('',#595,1.648528137424); +#595 = AXIS2_PLACEMENT_3D('',#596,#597,#598); +#596 = CARTESIAN_POINT('',(-26.67694849991,3.,-64.64210018823)); +#597 = DIRECTION('',(0.,-1.,0.)); +#598 = DIRECTION('',(-1.,0.,0.)); +#599 = ADVANCED_FACE('',(#600),#611,.T.); +#600 = FACE_BOUND('',#601,.T.); +#601 = EDGE_LOOP('',(#602,#608,#609,#610)); +#602 = ORIENTED_EDGE('',*,*,#603,.F.); +#603 = EDGE_CURVE('',#426,#85,#604,.T.); +#604 = LINE('',#605,#606); +#605 = CARTESIAN_POINT('',(-29.08766684168,3.,-64.52156932717)); +#606 = VECTOR('',#607,1.); +#607 = DIRECTION('',(0.,-1.,0.)); +#608 = ORIENTED_EDGE('',*,*,#425,.F.); +#609 = ORIENTED_EDGE('',*,*,#586,.T.); +#610 = ORIENTED_EDGE('',*,*,#82,.T.); +#611 = PLANE('',#612); +#612 = AXIS2_PLACEMENT_3D('',#613,#614,#615); +#613 = CARTESIAN_POINT('',(-28.47462576413,3.,-65.15504547923)); +#614 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#615 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#616 = ADVANCED_FACE('',(#617),#628,.T.); +#617 = FACE_BOUND('',#618,.T.); +#618 = EDGE_LOOP('',(#619,#625,#626,#627)); +#619 = ORIENTED_EDGE('',*,*,#620,.F.); +#620 = EDGE_CURVE('',#434,#93,#621,.T.); +#621 = LINE('',#622,#623); +#622 = CARTESIAN_POINT('',(-28.96712497021,3.,-57.16864680227)); +#623 = VECTOR('',#624,1.); +#624 = DIRECTION('',(0.,-1.,0.)); +#625 = ORIENTED_EDGE('',*,*,#433,.T.); +#626 = ORIENTED_EDGE('',*,*,#603,.T.); +#627 = ORIENTED_EDGE('',*,*,#92,.F.); +#628 = CYLINDRICAL_SURFACE('',#629,5.2); +#629 = AXIS2_PLACEMENT_3D('',#630,#631,#632); +#630 = CARTESIAN_POINT('',(-25.35093464349,3.,-60.90537900045)); +#631 = DIRECTION('',(0.,-1.,0.)); +#632 = DIRECTION('',(-1.,0.,0.)); +#633 = ADVANCED_FACE('',(#634),#645,.T.); +#634 = FACE_BOUND('',#635,.T.); +#635 = EDGE_LOOP('',(#636,#642,#643,#644)); +#636 = ORIENTED_EDGE('',*,*,#637,.F.); +#637 = EDGE_CURVE('',#326,#102,#638,.T.); +#638 = LINE('',#639,#640); +#639 = CARTESIAN_POINT('',(-26.93875323652,3.,-55.20570756731)); +#640 = VECTOR('',#641,1.); +#641 = DIRECTION('',(0.,-1.,0.)); +#642 = ORIENTED_EDGE('',*,*,#442,.F.); +#643 = ORIENTED_EDGE('',*,*,#620,.T.); +#644 = ORIENTED_EDGE('',*,*,#101,.T.); +#645 = PLANE('',#646); +#646 = AXIS2_PLACEMENT_3D('',#647,#648,#649); +#647 = CARTESIAN_POINT('',(-27.90836811563,3.,-56.14404399617)); +#648 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#649 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#650 = ADVANCED_FACE('',(#651),#662,.T.); +#651 = FACE_BOUND('',#652,.T.); +#652 = EDGE_LOOP('',(#653,#659,#660,#661)); +#653 = ORIENTED_EDGE('',*,*,#654,.F.); +#654 = EDGE_CURVE('',#328,#110,#655,.T.); +#655 = LINE('',#656,#657); +#656 = CARTESIAN_POINT('',(-41.17904151244,3.,-10.52828909594)); +#657 = VECTOR('',#658,1.); +#658 = DIRECTION('',(0.,-1.,0.)); +#659 = ORIENTED_EDGE('',*,*,#325,.F.); +#660 = ORIENTED_EDGE('',*,*,#637,.T.); +#661 = ORIENTED_EDGE('',*,*,#109,.T.); +#662 = PLANE('',#663); +#663 = AXIS2_PLACEMENT_3D('',#664,#665,#666); +#664 = CARTESIAN_POINT('',(-34.04006158346,3.,-32.92609366041)); +#665 = DIRECTION('',(-0.952773183837,0.,-0.30368282823)); +#666 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#667 = ADVANCED_FACE('',(#668),#679,.T.); +#668 = FACE_BOUND('',#669,.T.); +#669 = EDGE_LOOP('',(#670,#676,#677,#678)); +#670 = ORIENTED_EDGE('',*,*,#671,.F.); +#671 = EDGE_CURVE('',#336,#118,#672,.T.); +#672 = LINE('',#673,#674); +#673 = CARTESIAN_POINT('',(-39.69176606491,3.,-4.408923352436)); +#674 = VECTOR('',#675,1.); +#675 = DIRECTION('',(0.,-1.,0.)); +#676 = ORIENTED_EDGE('',*,*,#335,.T.); +#677 = ORIENTED_EDGE('',*,*,#654,.T.); +#678 = ORIENTED_EDGE('',*,*,#117,.F.); +#679 = CYLINDRICAL_SURFACE('',#680,6.054044962965); +#680 = AXIS2_PLACEMENT_3D('',#681,#682,#683); +#681 = CARTESIAN_POINT('',(-35.41090981799,3.,-8.689779599357)); +#682 = DIRECTION('',(0.,-1.,0.)); +#683 = DIRECTION('',(-1.,0.,0.)); +#684 = ADVANCED_FACE('',(#685),#696,.T.); +#685 = FACE_BOUND('',#686,.T.); +#686 = EDGE_LOOP('',(#687,#693,#694,#695)); +#687 = ORIENTED_EDGE('',*,*,#688,.F.); +#688 = EDGE_CURVE('',#345,#127,#689,.T.); +#689 = LINE('',#690,#691); +#690 = CARTESIAN_POINT('',(-36.85603142851,3.,-1.573188716044)); +#691 = VECTOR('',#692,1.); +#692 = DIRECTION('',(0.,-1.,0.)); +#693 = ORIENTED_EDGE('',*,*,#344,.F.); +#694 = ORIENTED_EDGE('',*,*,#671,.T.); +#695 = ORIENTED_EDGE('',*,*,#126,.T.); +#696 = PLANE('',#697); +#697 = AXIS2_PLACEMENT_3D('',#698,#699,#700); +#698 = CARTESIAN_POINT('',(-38.27389874671,3.,-2.99105603424)); +#699 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#700 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#701 = ADVANCED_FACE('',(#702),#713,.T.); +#702 = FACE_BOUND('',#703,.T.); +#703 = EDGE_LOOP('',(#704,#710,#711,#712)); +#704 = ORIENTED_EDGE('',*,*,#705,.F.); +#705 = EDGE_CURVE('',#353,#135,#706,.T.); +#706 = LINE('',#707,#708); +#707 = CARTESIAN_POINT('',(-32.57517518159,3.,0.2)); +#708 = VECTOR('',#709,1.); +#709 = DIRECTION('',(0.,-1.,0.)); +#710 = ORIENTED_EDGE('',*,*,#352,.T.); +#711 = ORIENTED_EDGE('',*,*,#688,.T.); +#712 = ORIENTED_EDGE('',*,*,#134,.F.); +#713 = CYLINDRICAL_SURFACE('',#714,6.054044962965); +#714 = AXIS2_PLACEMENT_3D('',#715,#716,#717); +#715 = CARTESIAN_POINT('',(-32.57517518159,3.,-5.854044962965)); +#716 = DIRECTION('',(0.,-1.,0.)); +#717 = DIRECTION('',(-1.,0.,0.)); +#718 = ADVANCED_FACE('',(#719),#730,.T.); +#719 = FACE_BOUND('',#720,.T.); +#720 = EDGE_LOOP('',(#721,#727,#728,#729)); +#721 = ORIENTED_EDGE('',*,*,#722,.F.); +#722 = EDGE_CURVE('',#362,#144,#723,.T.); +#723 = LINE('',#724,#725); +#724 = CARTESIAN_POINT('',(35.082842712475,3.,0.2)); +#725 = VECTOR('',#726,1.); +#726 = DIRECTION('',(0.,-1.,0.)); +#727 = ORIENTED_EDGE('',*,*,#361,.F.); +#728 = ORIENTED_EDGE('',*,*,#705,.T.); +#729 = ORIENTED_EDGE('',*,*,#143,.T.); +#730 = PLANE('',#731); +#731 = AXIS2_PLACEMENT_3D('',#732,#733,#734); +#732 = CARTESIAN_POINT('',(-16.28758759079,3.,0.2)); +#733 = DIRECTION('',(0.,0.,1.)); +#734 = DIRECTION('',(0.,-1.,0.)); +#735 = ADVANCED_FACE('',(#736),#742,.F.); +#736 = FACE_BOUND('',#737,.F.); +#737 = EDGE_LOOP('',(#738,#739,#740,#741)); +#738 = ORIENTED_EDGE('',*,*,#151,.T.); +#739 = ORIENTED_EDGE('',*,*,#722,.F.); +#740 = ORIENTED_EDGE('',*,*,#369,.F.); +#741 = ORIENTED_EDGE('',*,*,#242,.T.); +#742 = PLANE('',#743); +#743 = AXIS2_PLACEMENT_3D('',#744,#745,#746); +#744 = CARTESIAN_POINT('',(38.67695526217,3.,-3.394112549695)); +#745 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#746 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#747 = ADVANCED_FACE('',(#748),#765,.T.); +#748 = FACE_BOUND('',#749,.T.); +#749 = EDGE_LOOP('',(#750,#758,#764)); +#750 = ORIENTED_EDGE('',*,*,#751,.T.); +#751 = EDGE_CURVE('',#451,#752,#754,.T.); +#752 = VERTEX_POINT('',#753); +#753 = CARTESIAN_POINT('',(3.256654205567E-15,17.8572529153, + -18.39898295202)); +#754 = LINE('',#755,#756); +#755 = CARTESIAN_POINT('',(5.649679875255,3.602918464526,-13.21082950266 + )); +#756 = VECTOR('',#757,1.); +#757 = DIRECTION('',(-0.349023821871,0.880598971639,-0.320511814002)); +#758 = ORIENTED_EDGE('',*,*,#759,.T.); +#759 = EDGE_CURVE('',#752,#461,#760,.T.); +#760 = LINE('',#761,#762); +#761 = CARTESIAN_POINT('',(-5.275833888477,4.546144602338, + -13.55413574101)); +#762 = VECTOR('',#763,1.); +#763 = DIRECTION('',(-0.349023821871,-0.880598971639,0.320511814002)); +#764 = ORIENTED_EDGE('',*,*,#460,.T.); +#765 = PLANE('',#766); +#766 = AXIS2_PLACEMENT_3D('',#767,#768,#769); +#767 = CARTESIAN_POINT('',(2.828438300639,3.068404028665,-13.01628215822 + )); +#768 = DIRECTION('',(2.881637632171E-16,0.342020143326,0.939692620786)); +#769 = DIRECTION('',(-1.048830324052E-16,0.939692620786,-0.342020143326) + ); +#770 = ADVANCED_FACE('',(#771),#789,.T.); +#771 = FACE_BOUND('',#772,.T.); +#772 = EDGE_LOOP('',(#773,#781,#782,#783)); +#773 = ORIENTED_EDGE('',*,*,#774,.T.); +#774 = EDGE_CURVE('',#775,#752,#777,.T.); +#775 = VERTEX_POINT('',#776); +#776 = CARTESIAN_POINT('',(1.480297366167E-15,11.242400581089, + -46.71869179633)); +#777 = LINE('',#778,#779); +#778 = CARTESIAN_POINT('',(2.6645352591E-15,18.133069549222, + -17.21814831317)); +#779 = VECTOR('',#780,1.); +#780 = DIRECTION('',(5.275122655166E-17,0.227455280238,0.97378852709)); +#781 = ORIENTED_EDGE('',*,*,#751,.F.); +#782 = ORIENTED_EDGE('',*,*,#450,.T.); +#783 = ORIENTED_EDGE('',*,*,#784,.T.); +#784 = EDGE_CURVE('',#453,#775,#785,.T.); +#785 = LINE('',#786,#787); +#786 = CARTESIAN_POINT('',(1.103762571829,7.940067898719,-47.92064259636 + )); +#787 = VECTOR('',#788,1.); +#788 = DIRECTION('',(-0.299648208284,0.896513522642,0.326304236859)); +#789 = PLANE('',#790); +#790 = AXIS2_PLACEMENT_3D('',#791,#792,#793); +#791 = CARTESIAN_POINT('',(5.823691883056,3.068404028665,-13.45978839622 + )); +#792 = DIRECTION('',(0.93629059846,0.342020143326,-7.988827695448E-02)); +#793 = DIRECTION('',(-0.340781908463,0.939692620786,2.907695487824E-02) + ); +#794 = ADVANCED_FACE('',(#795),#805,.T.); +#795 = FACE_BOUND('',#796,.T.); +#796 = EDGE_LOOP('',(#797,#803,#804)); +#797 = ORIENTED_EDGE('',*,*,#798,.T.); +#798 = EDGE_CURVE('',#469,#775,#799,.T.); +#799 = LINE('',#800,#801); +#800 = CARTESIAN_POINT('',(-0.871390517001,8.635298785064, + -47.66759924779)); +#801 = VECTOR('',#802,1.); +#802 = DIRECTION('',(0.299648208284,0.896513522642,0.326304236859)); +#803 = ORIENTED_EDGE('',*,*,#784,.F.); +#804 = ORIENTED_EDGE('',*,*,#476,.T.); +#805 = PLANE('',#806); +#806 = AXIS2_PLACEMENT_3D('',#807,#808,#809); +#807 = CARTESIAN_POINT('',(2.828438300639,3.068404028665,-49.69378323641 + )); +#808 = DIRECTION('',(0.,0.342020143326,-0.939692620786)); +#809 = DIRECTION('',(0.,0.939692620786,0.342020143326)); +#810 = ADVANCED_FACE('',(#811),#817,.T.); +#811 = FACE_BOUND('',#812,.T.); +#812 = EDGE_LOOP('',(#813,#814,#815,#816)); +#813 = ORIENTED_EDGE('',*,*,#468,.T.); +#814 = ORIENTED_EDGE('',*,*,#759,.F.); +#815 = ORIENTED_EDGE('',*,*,#774,.F.); +#816 = ORIENTED_EDGE('',*,*,#798,.F.); +#817 = PLANE('',#818); +#818 = AXIS2_PLACEMENT_3D('',#819,#820,#821); +#819 = CARTESIAN_POINT('',(-5.782806207227,3.068404028665, + -13.93896851312)); +#820 = DIRECTION('',(-0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#821 = DIRECTION('',(0.340781908463,0.939692620786,2.907695487824E-02)); +#822 = ADVANCED_FACE('',(#823),#834,.F.); +#823 = FACE_BOUND('',#824,.F.); +#824 = EDGE_LOOP('',(#825,#831,#832,#833)); +#825 = ORIENTED_EDGE('',*,*,#826,.F.); +#826 = EDGE_CURVE('',#217,#485,#827,.T.); +#827 = LINE('',#828,#829); +#828 = CARTESIAN_POINT('',(-11.6927539352,-22.,-48.00951684793)); +#829 = VECTOR('',#830,1.); +#830 = DIRECTION('',(0.,1.,0.)); +#831 = ORIENTED_EDGE('',*,*,#216,.T.); +#832 = ORIENTED_EDGE('',*,*,#826,.T.); +#833 = ORIENTED_EDGE('',*,*,#484,.F.); +#834 = CYLINDRICAL_SURFACE('',#835,4.735522705283); +#835 = AXIS2_PLACEMENT_3D('',#836,#837,#838); +#836 = CARTESIAN_POINT('',(-16.42827664048,-22.,-48.00951684793)); +#837 = DIRECTION('',(0.,1.,0.)); +#838 = DIRECTION('',(1.,0.,0.)); +#839 = ADVANCED_FACE('',(#840),#851,.F.); +#840 = FACE_BOUND('',#841,.F.); +#841 = EDGE_LOOP('',(#842,#848,#849,#850)); +#842 = ORIENTED_EDGE('',*,*,#843,.F.); +#843 = EDGE_CURVE('',#72,#315,#844,.T.); +#844 = LINE('',#845,#846); +#845 = CARTESIAN_POINT('',(21.163799345768,-22.,-48.00951684793)); +#846 = VECTOR('',#847,1.); +#847 = DIRECTION('',(0.,1.,0.)); +#848 = ORIENTED_EDGE('',*,*,#71,.T.); +#849 = ORIENTED_EDGE('',*,*,#843,.T.); +#850 = ORIENTED_EDGE('',*,*,#314,.F.); +#851 = CYLINDRICAL_SURFACE('',#852,4.735522705283); +#852 = AXIS2_PLACEMENT_3D('',#853,#854,#855); +#853 = CARTESIAN_POINT('',(16.428276640485,-22.,-48.00951684793)); +#854 = DIRECTION('',(0.,1.,0.)); +#855 = DIRECTION('',(1.,0.,0.)); +#856 = ADVANCED_FACE('',(#857),#873,.F.); +#857 = FACE_BOUND('',#858,.F.); +#858 = EDGE_LOOP('',(#859,#865,#866,#872)); +#859 = ORIENTED_EDGE('',*,*,#860,.F.); +#860 = EDGE_CURVE('',#24,#265,#861,.T.); +#861 = LINE('',#862,#863); +#862 = CARTESIAN_POINT('',(16.626582997737,-22.,-8.940188245231)); +#863 = VECTOR('',#864,1.); +#864 = DIRECTION('',(0.,1.,0.)); +#865 = ORIENTED_EDGE('',*,*,#63,.T.); +#866 = ORIENTED_EDGE('',*,*,#867,.T.); +#867 = EDGE_CURVE('',#56,#267,#868,.T.); +#868 = LINE('',#869,#870); +#869 = CARTESIAN_POINT('',(-5.329070518201E-15,-22.,-8.903751135252)); +#870 = VECTOR('',#871,1.); +#871 = DIRECTION('',(0.,1.,0.)); +#872 = ORIENTED_EDGE('',*,*,#264,.F.); +#873 = PLANE('',#874); +#874 = AXIS2_PLACEMENT_3D('',#875,#876,#877); +#875 = CARTESIAN_POINT('',(8.237581109188,-22.,-8.921803528809)); +#876 = DIRECTION('',(-2.191520817069E-03,0.,-0.999997598615)); +#877 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#878 = ADVANCED_FACE('',(#879),#890,.F.); +#879 = FACE_BOUND('',#880,.F.); +#880 = EDGE_LOOP('',(#881,#887,#888,#889)); +#881 = ORIENTED_EDGE('',*,*,#882,.T.); +#882 = EDGE_CURVE('',#48,#299,#883,.T.); +#883 = LINE('',#884,#885); +#884 = CARTESIAN_POINT('',(-21.72552223146,-22.,-8.903751135252)); +#885 = VECTOR('',#886,1.); +#886 = DIRECTION('',(0.,1.,0.)); +#887 = ORIENTED_EDGE('',*,*,#306,.F.); +#888 = ORIENTED_EDGE('',*,*,#867,.F.); +#889 = ORIENTED_EDGE('',*,*,#55,.T.); +#890 = PLANE('',#891); +#891 = AXIS2_PLACEMENT_3D('',#892,#893,#894); +#892 = CARTESIAN_POINT('',(-10.96276111573,-22.,-8.903751135252)); +#893 = DIRECTION('',(0.,0.,-1.)); +#894 = DIRECTION('',(0.,1.,0.)); +#895 = ADVANCED_FACE('',(#896),#907,.F.); +#896 = FACE_BOUND('',#897,.F.); +#897 = EDGE_LOOP('',(#898,#904,#905,#906)); +#898 = ORIENTED_EDGE('',*,*,#899,.T.); +#899 = EDGE_CURVE('',#40,#291,#900,.T.); +#900 = LINE('',#901,#902); +#901 = CARTESIAN_POINT('',(-21.72552223146,-22.,-3.734519760785)); +#902 = VECTOR('',#903,1.); +#903 = DIRECTION('',(0.,1.,0.)); +#904 = ORIENTED_EDGE('',*,*,#298,.F.); +#905 = ORIENTED_EDGE('',*,*,#882,.F.); +#906 = ORIENTED_EDGE('',*,*,#47,.T.); +#907 = PLANE('',#908); +#908 = AXIS2_PLACEMENT_3D('',#909,#910,#911); +#909 = CARTESIAN_POINT('',(-21.72552223146,-22.,-6.319135448019)); +#910 = DIRECTION('',(-1.,0.,0.)); +#911 = DIRECTION('',(0.,1.,0.)); +#912 = ADVANCED_FACE('',(#913),#924,.F.); +#913 = FACE_BOUND('',#914,.F.); +#914 = EDGE_LOOP('',(#915,#921,#922,#923)); +#915 = ORIENTED_EDGE('',*,*,#916,.T.); +#916 = EDGE_CURVE('',#32,#283,#917,.T.); +#917 = LINE('',#918,#919); +#918 = CARTESIAN_POINT('',(22.059435554995,-22.,-3.734519760785)); +#919 = VECTOR('',#920,1.); +#920 = DIRECTION('',(0.,1.,0.)); +#921 = ORIENTED_EDGE('',*,*,#290,.F.); +#922 = ORIENTED_EDGE('',*,*,#899,.F.); +#923 = ORIENTED_EDGE('',*,*,#39,.T.); +#924 = PLANE('',#925); +#925 = AXIS2_PLACEMENT_3D('',#926,#927,#928); +#926 = CARTESIAN_POINT('',(0.19111316645,-22.,-3.734519760785)); +#927 = DIRECTION('',(0.,0.,1.)); +#928 = DIRECTION('',(0.,-1.,0.)); +#929 = ADVANCED_FACE('',(#930),#941,.F.); +#930 = FACE_BOUND('',#931,.F.); +#931 = EDGE_LOOP('',(#932,#938,#939,#940)); +#932 = ORIENTED_EDGE('',*,*,#933,.T.); +#933 = EDGE_CURVE('',#22,#275,#934,.T.); +#934 = LINE('',#935,#936); +#935 = CARTESIAN_POINT('',(19.029295926024,-22.,-17.63009960955)); +#936 = VECTOR('',#937,1.); +#937 = DIRECTION('',(0.,1.,0.)); +#938 = ORIENTED_EDGE('',*,*,#282,.F.); +#939 = ORIENTED_EDGE('',*,*,#916,.F.); +#940 = ORIENTED_EDGE('',*,*,#31,.T.); +#941 = PLANE('',#942); +#942 = AXIS2_PLACEMENT_3D('',#943,#944,#945); +#943 = CARTESIAN_POINT('',(20.484588228021,-22.,-10.95643672209)); +#944 = DIRECTION('',(0.977039526026,0.,-0.213058124893)); +#945 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#946 = ADVANCED_FACE('',(#947),#953,.F.); +#947 = FACE_BOUND('',#948,.F.); +#948 = EDGE_LOOP('',(#949,#950,#951,#952)); +#949 = ORIENTED_EDGE('',*,*,#21,.T.); +#950 = ORIENTED_EDGE('',*,*,#860,.T.); +#951 = ORIENTED_EDGE('',*,*,#274,.F.); +#952 = ORIENTED_EDGE('',*,*,#933,.F.); +#953 = PLANE('',#954); +#954 = AXIS2_PLACEMENT_3D('',#955,#956,#957); +#955 = CARTESIAN_POINT('',(17.956031892536,-22.,-13.7484168618)); +#956 = DIRECTION('',(-0.963836182336,0.,-0.26649542889)); +#957 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#958 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#962)) GLOBAL_UNIT_ASSIGNED_CONTEXT +((#959,#960,#961)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#959 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#960 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#961 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#962 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-05),#959, + 'distance_accuracy_value','confusion accuracy'); +#963 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/docs/CAD/design/mate-connectors/BearConnector_Female.step b/docs/CAD/design/mate-connectors/BearConnector_Female.step new file mode 100644 index 0000000000..18e31c4b47 --- /dev/null +++ b/docs/CAD/design/mate-connectors/BearConnector_Female.step @@ -0,0 +1,1173 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2026-08-05T10:54:26',('FreeCAD'),( + 'FreeCAD'),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('Open CASCADE STEP translator 7.8 1', + 'Open CASCADE STEP translator 7.8 1','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#1118); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = MANIFOLD_SOLID_BREP('',#16); +#16 = CLOSED_SHELL('',(#17,#57,#222,#246,#270,#287,#299,#330,#354,#378, + #402,#426,#451,#475,#500,#524,#548,#573,#597,#622,#646,#670,#687, + #817,#848,#872,#896,#920,#944,#961,#986,#1017,#1033,#1050,#1061, + #1086,#1100,#1109)); +#17 = ADVANCED_FACE('',(#18),#52,.F.); +#18 = FACE_BOUND('',#19,.F.); +#19 = EDGE_LOOP('',(#20,#30,#38,#46)); +#20 = ORIENTED_EDGE('',*,*,#21,.F.); +#21 = EDGE_CURVE('',#22,#24,#26,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#24 = VERTEX_POINT('',#25); +#25 = CARTESIAN_POINT('',(-45.46495478095,0.,4.2)); +#26 = LINE('',#27,#28); +#27 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#28 = VECTOR('',#29,1.); +#29 = DIRECTION('',(0.,0.,1.)); +#30 = ORIENTED_EDGE('',*,*,#31,.T.); +#31 = EDGE_CURVE('',#22,#32,#34,.T.); +#32 = VERTEX_POINT('',#33); +#33 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,-70.97315781796) + ); +#34 = LINE('',#35,#36); +#35 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#36 = VECTOR('',#37,1.); +#37 = DIRECTION('',(0.,1.,0.)); +#38 = ORIENTED_EDGE('',*,*,#39,.T.); +#39 = EDGE_CURVE('',#32,#40,#42,.T.); +#40 = VERTEX_POINT('',#41); +#41 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,4.2)); +#42 = LINE('',#43,#44); +#43 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,-70.97315781796) + ); +#44 = VECTOR('',#45,1.); +#45 = DIRECTION('',(0.,0.,1.)); +#46 = ORIENTED_EDGE('',*,*,#47,.F.); +#47 = EDGE_CURVE('',#24,#40,#48,.T.); +#48 = LINE('',#49,#50); +#49 = CARTESIAN_POINT('',(-45.46495478095,0.,4.2)); +#50 = VECTOR('',#51,1.); +#51 = DIRECTION('',(0.,1.,0.)); +#52 = PLANE('',#53); +#53 = AXIS2_PLACEMENT_3D('',#54,#55,#56); +#54 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#55 = DIRECTION('',(1.,0.,0.)); +#56 = DIRECTION('',(0.,0.,1.)); +#57 = ADVANCED_FACE('',(#58,#83),#217,.F.); +#58 = FACE_BOUND('',#59,.F.); +#59 = EDGE_LOOP('',(#60,#68,#69,#77)); +#60 = ORIENTED_EDGE('',*,*,#61,.F.); +#61 = EDGE_CURVE('',#22,#62,#64,.T.); +#62 = VERTEX_POINT('',#63); +#63 = CARTESIAN_POINT('',(46.298608189024,0.,-70.97315781796)); +#64 = LINE('',#65,#66); +#65 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#66 = VECTOR('',#67,1.); +#67 = DIRECTION('',(1.,0.,0.)); +#68 = ORIENTED_EDGE('',*,*,#21,.T.); +#69 = ORIENTED_EDGE('',*,*,#70,.T.); +#70 = EDGE_CURVE('',#24,#71,#73,.T.); +#71 = VERTEX_POINT('',#72); +#72 = CARTESIAN_POINT('',(46.298608189024,0.,4.2)); +#73 = LINE('',#74,#75); +#74 = CARTESIAN_POINT('',(-45.46495478095,0.,4.2)); +#75 = VECTOR('',#76,1.); +#76 = DIRECTION('',(1.,0.,0.)); +#77 = ORIENTED_EDGE('',*,*,#78,.F.); +#78 = EDGE_CURVE('',#62,#71,#79,.T.); +#79 = LINE('',#80,#81); +#80 = CARTESIAN_POINT('',(46.298608189024,0.,-70.97315781796)); +#81 = VECTOR('',#82,1.); +#82 = DIRECTION('',(0.,0.,1.)); +#83 = FACE_BOUND('',#84,.F.); +#84 = EDGE_LOOP('',(#85,#95,#103,#111,#119,#128,#136,#145,#153,#161,#170 + ,#178,#187,#195,#203,#211)); +#85 = ORIENTED_EDGE('',*,*,#86,.T.); +#86 = EDGE_CURVE('',#87,#89,#91,.T.); +#87 = VERTEX_POINT('',#88); +#88 = CARTESIAN_POINT('',(32.703857168398,0.,-60.78483712899)); +#89 = VERTEX_POINT('',#90); +#90 = CARTESIAN_POINT('',(26.938753236523,0.,-55.20570756731)); +#91 = LINE('',#92,#93); +#92 = CARTESIAN_POINT('',(13.567306766147,0.,-42.26560567724)); +#93 = VECTOR('',#94,1.); +#94 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#95 = ORIENTED_EDGE('',*,*,#96,.T.); +#96 = EDGE_CURVE('',#89,#97,#99,.T.); +#97 = VERTEX_POINT('',#98); +#98 = CARTESIAN_POINT('',(42.298608189024,0.,-7.015765476549)); +#99 = LINE('',#100,#101); +#100 = CARTESIAN_POINT('',(25.140315874087,-4.440892098501E-16, + -60.84811712245)); +#101 = VECTOR('',#102,1.); +#102 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#103 = ORIENTED_EDGE('',*,*,#104,.T.); +#104 = EDGE_CURVE('',#97,#105,#107,.T.); +#105 = VERTEX_POINT('',#106); +#106 = CARTESIAN_POINT('',(35.082842712475,0.,0.2)); +#107 = LINE('',#108,#109); +#108 = CARTESIAN_POINT('',(34.536239068456,0.,0.746603644019)); +#109 = VECTOR('',#110,1.); +#110 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#111 = ORIENTED_EDGE('',*,*,#112,.F.); +#112 = EDGE_CURVE('',#113,#105,#115,.T.); +#113 = VERTEX_POINT('',#114); +#114 = CARTESIAN_POINT('',(-32.57517518159,0.,0.2)); +#115 = LINE('',#116,#117); +#116 = CARTESIAN_POINT('',(-30.87627118587,0.,0.2)); +#117 = VECTOR('',#118,1.); +#118 = DIRECTION('',(1.,0.,0.)); +#119 = ORIENTED_EDGE('',*,*,#120,.T.); +#120 = EDGE_CURVE('',#113,#121,#123,.T.); +#121 = VERTEX_POINT('',#122); +#122 = CARTESIAN_POINT('',(-36.85603142851,0.,-1.573188716044)); +#123 = CIRCLE('',#124,6.054044962965); +#124 = AXIS2_PLACEMENT_3D('',#125,#126,#127); +#125 = CARTESIAN_POINT('',(-32.57517518159,0.,-5.854044962965)); +#126 = DIRECTION('',(0.,-1.,0.)); +#127 = DIRECTION('',(-1.,0.,0.)); +#128 = ORIENTED_EDGE('',*,*,#129,.F.); +#129 = EDGE_CURVE('',#130,#121,#132,.T.); +#130 = VERTEX_POINT('',#131); +#131 = CARTESIAN_POINT('',(-39.69176606491,0.,-4.408923352436)); +#132 = LINE('',#133,#134); +#133 = CARTESIAN_POINT('',(-57.0671882012,0.,-21.78434548873)); +#134 = VECTOR('',#135,1.); +#135 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#136 = ORIENTED_EDGE('',*,*,#137,.T.); +#137 = EDGE_CURVE('',#130,#138,#140,.T.); +#138 = VERTEX_POINT('',#139); +#139 = CARTESIAN_POINT('',(-41.17904151244,0.,-10.52828909594)); +#140 = CIRCLE('',#141,6.054044962965); +#141 = AXIS2_PLACEMENT_3D('',#142,#143,#144); +#142 = CARTESIAN_POINT('',(-35.41090981799,0.,-8.689779599357)); +#143 = DIRECTION('',(0.,-1.,0.)); +#144 = DIRECTION('',(-1.,0.,0.)); +#145 = ORIENTED_EDGE('',*,*,#146,.F.); +#146 = EDGE_CURVE('',#147,#138,#149,.T.); +#147 = VERTEX_POINT('',#148); +#148 = CARTESIAN_POINT('',(-26.93875323652,0.,-55.20570756731)); +#149 = LINE('',#150,#151); +#150 = CARTESIAN_POINT('',(-29.06259699304,-4.440892098501E-16, + -48.54236940733)); +#151 = VECTOR('',#152,1.); +#152 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#153 = ORIENTED_EDGE('',*,*,#154,.F.); +#154 = EDGE_CURVE('',#155,#147,#157,.T.); +#155 = VERTEX_POINT('',#156); +#156 = CARTESIAN_POINT('',(-28.96712497021,0.,-57.16864680227)); +#157 = LINE('',#158,#159); +#158 = CARTESIAN_POINT('',(-36.14667143517,0.,-64.11659091489)); +#159 = VECTOR('',#160,1.); +#160 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#161 = ORIENTED_EDGE('',*,*,#162,.T.); +#162 = EDGE_CURVE('',#155,#163,#165,.T.); +#163 = VERTEX_POINT('',#164); +#164 = CARTESIAN_POINT('',(-29.08766684168,0.,-64.52156932717)); +#165 = CIRCLE('',#166,5.2); +#166 = AXIS2_PLACEMENT_3D('',#167,#168,#169); +#167 = CARTESIAN_POINT('',(-25.35093464349,0.,-60.90537900045)); +#168 = DIRECTION('',(0.,-1.,0.)); +#169 = DIRECTION('',(-1.,0.,0.)); +#170 = ORIENTED_EDGE('',*,*,#171,.F.); +#171 = EDGE_CURVE('',#172,#163,#174,.T.); +#172 = VERTEX_POINT('',#173); +#173 = CARTESIAN_POINT('',(-27.86158468659,0.,-65.78852163128)); +#174 = LINE('',#175,#176); +#175 = CARTESIAN_POINT('',(-31.12923147938,0.,-62.41195129628)); +#176 = VECTOR('',#177,1.); +#177 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#178 = ORIENTED_EDGE('',*,*,#179,.T.); +#179 = EDGE_CURVE('',#172,#180,#182,.T.); +#180 = VERTEX_POINT('',#181); +#181 = CARTESIAN_POINT('',(-25.53052705686,0.,-65.82673637491)); +#182 = CIRCLE('',#183,1.648528137424); +#183 = AXIS2_PLACEMENT_3D('',#184,#185,#186); +#184 = CARTESIAN_POINT('',(-26.67694849991,0.,-64.64210018823)); +#185 = DIRECTION('',(0.,-1.,0.)); +#186 = DIRECTION('',(-1.,0.,0.)); +#187 = ORIENTED_EDGE('',*,*,#188,.F.); +#188 = EDGE_CURVE('',#189,#180,#191,.T.); +#189 = VERTEX_POINT('',#190); +#190 = CARTESIAN_POINT('',(-20.53201900137,0.,-60.98947335481)); +#191 = LINE('',#192,#193); +#192 = CARTESIAN_POINT('',(-30.69923804215,0.,-70.82871181101)); +#193 = VECTOR('',#194,1.); +#194 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#195 = ORIENTED_EDGE('',*,*,#196,.T.); +#196 = EDGE_CURVE('',#189,#197,#199,.T.); +#197 = VERTEX_POINT('',#198); +#198 = CARTESIAN_POINT('',(20.532019001374,0.,-60.98947335481)); +#199 = LINE('',#200,#201); +#200 = CARTESIAN_POINT('',(-17.57924046663,0.,-60.98947335481)); +#201 = VECTOR('',#202,1.); +#202 = DIRECTION('',(1.,0.,0.)); +#203 = ORIENTED_EDGE('',*,*,#204,.T.); +#204 = EDGE_CURVE('',#197,#205,#207,.T.); +#205 = VERTEX_POINT('',#206); +#206 = CARTESIAN_POINT('',(26.715163243538,0.,-66.97315781796)); +#207 = LINE('',#208,#209); +#208 = CARTESIAN_POINT('',(7.481849370247,-4.440892098501E-16, + -48.36028435244)); +#209 = VECTOR('',#210,1.); +#210 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#211 = ORIENTED_EDGE('',*,*,#212,.T.); +#212 = EDGE_CURVE('',#205,#87,#213,.T.); +#213 = LINE('',#214,#215); +#214 = CARTESIAN_POINT('',(9.75933652063,0.,-84.4941890519)); +#215 = VECTOR('',#216,1.); +#216 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#217 = PLANE('',#218); +#218 = AXIS2_PLACEMENT_3D('',#219,#220,#221); +#219 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#220 = DIRECTION('',(0.,1.,0.)); +#221 = DIRECTION('',(0.,0.,1.)); +#222 = ADVANCED_FACE('',(#223),#241,.T.); +#223 = FACE_BOUND('',#224,.T.); +#224 = EDGE_LOOP('',(#225,#226,#227,#235)); +#225 = ORIENTED_EDGE('',*,*,#47,.F.); +#226 = ORIENTED_EDGE('',*,*,#70,.T.); +#227 = ORIENTED_EDGE('',*,*,#228,.T.); +#228 = EDGE_CURVE('',#71,#229,#231,.T.); +#229 = VERTEX_POINT('',#230); +#230 = CARTESIAN_POINT('',(46.298608189024,20.8572529153,4.2)); +#231 = LINE('',#232,#233); +#232 = CARTESIAN_POINT('',(46.298608189024,0.,4.2)); +#233 = VECTOR('',#234,1.); +#234 = DIRECTION('',(0.,1.,0.)); +#235 = ORIENTED_EDGE('',*,*,#236,.F.); +#236 = EDGE_CURVE('',#40,#229,#237,.T.); +#237 = LINE('',#238,#239); +#238 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,4.2)); +#239 = VECTOR('',#240,1.); +#240 = DIRECTION('',(1.,0.,0.)); +#241 = PLANE('',#242); +#242 = AXIS2_PLACEMENT_3D('',#243,#244,#245); +#243 = CARTESIAN_POINT('',(-45.46495478095,0.,4.2)); +#244 = DIRECTION('',(0.,0.,1.)); +#245 = DIRECTION('',(1.,0.,0.)); +#246 = ADVANCED_FACE('',(#247),#265,.T.); +#247 = FACE_BOUND('',#248,.T.); +#248 = EDGE_LOOP('',(#249,#257,#258,#259)); +#249 = ORIENTED_EDGE('',*,*,#250,.F.); +#250 = EDGE_CURVE('',#32,#251,#253,.T.); +#251 = VERTEX_POINT('',#252); +#252 = CARTESIAN_POINT('',(46.298608189024,20.8572529153,-70.97315781796 + )); +#253 = LINE('',#254,#255); +#254 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,-70.97315781796 + )); +#255 = VECTOR('',#256,1.); +#256 = DIRECTION('',(1.,0.,0.)); +#257 = ORIENTED_EDGE('',*,*,#39,.T.); +#258 = ORIENTED_EDGE('',*,*,#236,.T.); +#259 = ORIENTED_EDGE('',*,*,#260,.F.); +#260 = EDGE_CURVE('',#251,#229,#261,.T.); +#261 = LINE('',#262,#263); +#262 = CARTESIAN_POINT('',(46.298608189024,20.8572529153,-70.97315781796 + )); +#263 = VECTOR('',#264,1.); +#264 = DIRECTION('',(0.,0.,1.)); +#265 = PLANE('',#266); +#266 = AXIS2_PLACEMENT_3D('',#267,#268,#269); +#267 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,-70.97315781796 + )); +#268 = DIRECTION('',(0.,1.,0.)); +#269 = DIRECTION('',(0.,0.,1.)); +#270 = ADVANCED_FACE('',(#271),#282,.F.); +#271 = FACE_BOUND('',#272,.F.); +#272 = EDGE_LOOP('',(#273,#274,#275,#281)); +#273 = ORIENTED_EDGE('',*,*,#31,.F.); +#274 = ORIENTED_EDGE('',*,*,#61,.T.); +#275 = ORIENTED_EDGE('',*,*,#276,.T.); +#276 = EDGE_CURVE('',#62,#251,#277,.T.); +#277 = LINE('',#278,#279); +#278 = CARTESIAN_POINT('',(46.298608189024,0.,-70.97315781796)); +#279 = VECTOR('',#280,1.); +#280 = DIRECTION('',(0.,1.,0.)); +#281 = ORIENTED_EDGE('',*,*,#250,.F.); +#282 = PLANE('',#283); +#283 = AXIS2_PLACEMENT_3D('',#284,#285,#286); +#284 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#285 = DIRECTION('',(0.,0.,1.)); +#286 = DIRECTION('',(1.,0.,0.)); +#287 = ADVANCED_FACE('',(#288),#294,.T.); +#288 = FACE_BOUND('',#289,.T.); +#289 = EDGE_LOOP('',(#290,#291,#292,#293)); +#290 = ORIENTED_EDGE('',*,*,#78,.F.); +#291 = ORIENTED_EDGE('',*,*,#276,.T.); +#292 = ORIENTED_EDGE('',*,*,#260,.T.); +#293 = ORIENTED_EDGE('',*,*,#228,.F.); +#294 = PLANE('',#295); +#295 = AXIS2_PLACEMENT_3D('',#296,#297,#298); +#296 = CARTESIAN_POINT('',(46.298608189024,0.,-70.97315781796)); +#297 = DIRECTION('',(1.,0.,0.)); +#298 = DIRECTION('',(0.,0.,1.)); +#299 = ADVANCED_FACE('',(#300),#325,.T.); +#300 = FACE_BOUND('',#301,.T.); +#301 = EDGE_LOOP('',(#302,#310,#311,#319)); +#302 = ORIENTED_EDGE('',*,*,#303,.F.); +#303 = EDGE_CURVE('',#87,#304,#306,.T.); +#304 = VERTEX_POINT('',#305); +#305 = CARTESIAN_POINT('',(32.703857168398,3.2,-60.78483712899)); +#306 = LINE('',#307,#308); +#307 = CARTESIAN_POINT('',(32.703857168398,3.,-60.78483712899)); +#308 = VECTOR('',#309,1.); +#309 = DIRECTION('',(0.,1.,0.)); +#310 = ORIENTED_EDGE('',*,*,#86,.T.); +#311 = ORIENTED_EDGE('',*,*,#312,.F.); +#312 = EDGE_CURVE('',#313,#89,#315,.T.); +#313 = VERTEX_POINT('',#314); +#314 = CARTESIAN_POINT('',(26.938753236523,3.2,-55.20570756731)); +#315 = LINE('',#316,#317); +#316 = CARTESIAN_POINT('',(26.938753236523,3.,-55.20570756731)); +#317 = VECTOR('',#318,1.); +#318 = DIRECTION('',(0.,-1.,0.)); +#319 = ORIENTED_EDGE('',*,*,#320,.F.); +#320 = EDGE_CURVE('',#304,#313,#321,.T.); +#321 = LINE('',#322,#323); +#322 = CARTESIAN_POINT('',(16.008242280412,3.2,-44.62779994931)); +#323 = VECTOR('',#324,1.); +#324 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#325 = PLANE('',#326); +#326 = AXIS2_PLACEMENT_3D('',#327,#328,#329); +#327 = CARTESIAN_POINT('',(29.704873980143,3.,-57.88259703786)); +#328 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#329 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#330 = ADVANCED_FACE('',(#331),#349,.T.); +#331 = FACE_BOUND('',#332,.T.); +#332 = EDGE_LOOP('',(#333,#341,#342,#343)); +#333 = ORIENTED_EDGE('',*,*,#334,.F.); +#334 = EDGE_CURVE('',#205,#335,#337,.T.); +#335 = VERTEX_POINT('',#336); +#336 = CARTESIAN_POINT('',(26.715163243538,3.2,-66.97315781796)); +#337 = LINE('',#338,#339); +#338 = CARTESIAN_POINT('',(26.715163243538,3.,-66.97315781796)); +#339 = VECTOR('',#340,1.); +#340 = DIRECTION('',(0.,1.,0.)); +#341 = ORIENTED_EDGE('',*,*,#212,.T.); +#342 = ORIENTED_EDGE('',*,*,#303,.T.); +#343 = ORIENTED_EDGE('',*,*,#344,.F.); +#344 = EDGE_CURVE('',#335,#304,#345,.T.); +#345 = LINE('',#346,#347); +#346 = CARTESIAN_POINT('',(30.25240665457,3.2,-63.31800414721)); +#347 = VECTOR('',#348,1.); +#348 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#349 = PLANE('',#350); +#350 = AXIS2_PLACEMENT_3D('',#351,#352,#353); +#351 = CARTESIAN_POINT('',(29.709510205968,3.,-63.87899747347)); +#352 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#353 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#354 = ADVANCED_FACE('',(#355),#373,.T.); +#355 = FACE_BOUND('',#356,.T.); +#356 = EDGE_LOOP('',(#357,#365,#371,#372)); +#357 = ORIENTED_EDGE('',*,*,#358,.F.); +#358 = EDGE_CURVE('',#359,#335,#361,.T.); +#359 = VERTEX_POINT('',#360); +#360 = CARTESIAN_POINT('',(20.532019001374,3.2,-60.98947335481)); +#361 = LINE('',#362,#363); +#362 = CARTESIAN_POINT('',(9.922784884512,3.2,-50.72247862452)); +#363 = VECTOR('',#364,1.); +#364 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#365 = ORIENTED_EDGE('',*,*,#366,.T.); +#366 = EDGE_CURVE('',#359,#197,#367,.T.); +#367 = LINE('',#368,#369); +#368 = CARTESIAN_POINT('',(20.532019001374,3.,-60.98947335481)); +#369 = VECTOR('',#370,1.); +#370 = DIRECTION('',(0.,-1.,0.)); +#371 = ORIENTED_EDGE('',*,*,#204,.T.); +#372 = ORIENTED_EDGE('',*,*,#334,.T.); +#373 = PLANE('',#374); +#374 = AXIS2_PLACEMENT_3D('',#375,#376,#377); +#375 = CARTESIAN_POINT('',(23.522653113203,3.,-63.8836336993)); +#376 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#377 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#378 = ADVANCED_FACE('',(#379),#397,.T.); +#379 = FACE_BOUND('',#380,.T.); +#380 = EDGE_LOOP('',(#381,#389,#390,#391)); +#381 = ORIENTED_EDGE('',*,*,#382,.F.); +#382 = EDGE_CURVE('',#189,#383,#385,.T.); +#383 = VERTEX_POINT('',#384); +#384 = CARTESIAN_POINT('',(-20.53201900137,3.2,-60.98947335481)); +#385 = LINE('',#386,#387); +#386 = CARTESIAN_POINT('',(-20.53201900137,3.,-60.98947335481)); +#387 = VECTOR('',#388,1.); +#388 = DIRECTION('',(0.,1.,0.)); +#389 = ORIENTED_EDGE('',*,*,#196,.T.); +#390 = ORIENTED_EDGE('',*,*,#366,.F.); +#391 = ORIENTED_EDGE('',*,*,#392,.F.); +#392 = EDGE_CURVE('',#383,#359,#393,.T.); +#393 = LINE('',#394,#395); +#394 = CARTESIAN_POINT('',(5.354765181569,3.2,-60.98947335481)); +#395 = VECTOR('',#396,1.); +#396 = DIRECTION('',(1.,0.,0.)); +#397 = PLANE('',#398); +#398 = AXIS2_PLACEMENT_3D('',#399,#400,#401); +#399 = CARTESIAN_POINT('',(10.306473847682,3.,-60.98947335481)); +#400 = DIRECTION('',(0.,0.,1.)); +#401 = DIRECTION('',(0.,-1.,0.)); +#402 = ADVANCED_FACE('',(#403),#421,.F.); +#403 = FACE_BOUND('',#404,.F.); +#404 = EDGE_LOOP('',(#405,#413,#419,#420)); +#405 = ORIENTED_EDGE('',*,*,#406,.F.); +#406 = EDGE_CURVE('',#407,#180,#409,.T.); +#407 = VERTEX_POINT('',#408); +#408 = CARTESIAN_POINT('',(-25.53052705686,3.2,-65.82673637491)); +#409 = LINE('',#410,#411); +#410 = CARTESIAN_POINT('',(-25.53052705686,3.,-65.82673637491)); +#411 = VECTOR('',#412,1.); +#412 = DIRECTION('',(0.,-1.,0.)); +#413 = ORIENTED_EDGE('',*,*,#414,.F.); +#414 = EDGE_CURVE('',#383,#407,#415,.T.); +#415 = LINE('',#416,#417); +#416 = CARTESIAN_POINT('',(-9.454421870603,3.2,-50.26922436104)); +#417 = VECTOR('',#418,1.); +#418 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#419 = ORIENTED_EDGE('',*,*,#382,.F.); +#420 = ORIENTED_EDGE('',*,*,#188,.T.); +#421 = PLANE('',#422); +#422 = AXIS2_PLACEMENT_3D('',#423,#424,#425); +#423 = CARTESIAN_POINT('',(-23.00219525444,3.,-63.37996509944)); +#424 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#425 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#426 = ADVANCED_FACE('',(#427),#446,.F.); +#427 = FACE_BOUND('',#428,.F.); +#428 = EDGE_LOOP('',(#429,#437,#444,#445)); +#429 = ORIENTED_EDGE('',*,*,#430,.F.); +#430 = EDGE_CURVE('',#431,#172,#433,.T.); +#431 = VERTEX_POINT('',#432); +#432 = CARTESIAN_POINT('',(-27.86158468659,3.2,-65.78852163128)); +#433 = LINE('',#434,#435); +#434 = CARTESIAN_POINT('',(-27.86158468659,3.,-65.78852163128)); +#435 = VECTOR('',#436,1.); +#436 = DIRECTION('',(0.,-1.,0.)); +#437 = ORIENTED_EDGE('',*,*,#438,.T.); +#438 = EDGE_CURVE('',#431,#407,#439,.T.); +#439 = CIRCLE('',#440,1.648528137424); +#440 = AXIS2_PLACEMENT_3D('',#441,#442,#443); +#441 = CARTESIAN_POINT('',(-26.67694849991,3.2,-64.64210018823)); +#442 = DIRECTION('',(0.,-1.,0.)); +#443 = DIRECTION('',(-1.,0.,0.)); +#444 = ORIENTED_EDGE('',*,*,#406,.T.); +#445 = ORIENTED_EDGE('',*,*,#179,.F.); +#446 = CYLINDRICAL_SURFACE('',#447,1.648528137424); +#447 = AXIS2_PLACEMENT_3D('',#448,#449,#450); +#448 = CARTESIAN_POINT('',(-26.67694849991,3.,-64.64210018823)); +#449 = DIRECTION('',(0.,-1.,0.)); +#450 = DIRECTION('',(-1.,0.,0.)); +#451 = ADVANCED_FACE('',(#452),#470,.F.); +#452 = FACE_BOUND('',#453,.F.); +#453 = EDGE_LOOP('',(#454,#462,#468,#469)); +#454 = ORIENTED_EDGE('',*,*,#455,.F.); +#455 = EDGE_CURVE('',#456,#163,#458,.T.); +#456 = VERTEX_POINT('',#457); +#457 = CARTESIAN_POINT('',(-29.08766684168,3.2,-64.52156932717)); +#458 = LINE('',#459,#460); +#459 = CARTESIAN_POINT('',(-29.08766684168,3.,-64.52156932717)); +#460 = VECTOR('',#461,1.); +#461 = DIRECTION('',(0.,-1.,0.)); +#462 = ORIENTED_EDGE('',*,*,#463,.F.); +#463 = EDGE_CURVE('',#431,#456,#464,.T.); +#464 = LINE('',#465,#466); +#465 = CARTESIAN_POINT('',(-29.44004200272,3.2,-64.15744811364)); +#466 = VECTOR('',#467,1.); +#467 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#468 = ORIENTED_EDGE('',*,*,#430,.T.); +#469 = ORIENTED_EDGE('',*,*,#171,.T.); +#470 = PLANE('',#471); +#471 = AXIS2_PLACEMENT_3D('',#472,#473,#474); +#472 = CARTESIAN_POINT('',(-28.47462576413,3.,-65.15504547923)); +#473 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#474 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#475 = ADVANCED_FACE('',(#476),#495,.F.); +#476 = FACE_BOUND('',#477,.F.); +#477 = EDGE_LOOP('',(#478,#486,#493,#494)); +#478 = ORIENTED_EDGE('',*,*,#479,.F.); +#479 = EDGE_CURVE('',#480,#155,#482,.T.); +#480 = VERTEX_POINT('',#481); +#481 = CARTESIAN_POINT('',(-28.96712497021,3.2,-57.16864680227)); +#482 = LINE('',#483,#484); +#483 = CARTESIAN_POINT('',(-28.96712497021,3.,-57.16864680227)); +#484 = VECTOR('',#485,1.); +#485 = DIRECTION('',(0.,-1.,0.)); +#486 = ORIENTED_EDGE('',*,*,#487,.T.); +#487 = EDGE_CURVE('',#480,#456,#488,.T.); +#488 = CIRCLE('',#489,5.2); +#489 = AXIS2_PLACEMENT_3D('',#490,#491,#492); +#490 = CARTESIAN_POINT('',(-25.35093464349,3.2,-60.90537900045)); +#491 = DIRECTION('',(0.,-1.,0.)); +#492 = DIRECTION('',(-1.,0.,0.)); +#493 = ORIENTED_EDGE('',*,*,#455,.T.); +#494 = ORIENTED_EDGE('',*,*,#162,.F.); +#495 = CYLINDRICAL_SURFACE('',#496,5.2); +#496 = AXIS2_PLACEMENT_3D('',#497,#498,#499); +#497 = CARTESIAN_POINT('',(-25.35093464349,3.,-60.90537900045)); +#498 = DIRECTION('',(0.,-1.,0.)); +#499 = DIRECTION('',(-1.,0.,0.)); +#500 = ADVANCED_FACE('',(#501),#519,.F.); +#501 = FACE_BOUND('',#502,.F.); +#502 = EDGE_LOOP('',(#503,#511,#517,#518)); +#503 = ORIENTED_EDGE('',*,*,#504,.F.); +#504 = EDGE_CURVE('',#505,#147,#507,.T.); +#505 = VERTEX_POINT('',#506); +#506 = CARTESIAN_POINT('',(-26.93875323652,3.2,-55.20570756731)); +#507 = LINE('',#508,#509); +#508 = CARTESIAN_POINT('',(-26.93875323652,3.,-55.20570756731)); +#509 = VECTOR('',#510,1.); +#510 = DIRECTION('',(0.,-1.,0.)); +#511 = ORIENTED_EDGE('',*,*,#512,.F.); +#512 = EDGE_CURVE('',#480,#505,#513,.T.); +#513 = LINE('',#514,#515); +#514 = CARTESIAN_POINT('',(-14.90185526362,3.2,-43.55710346492)); +#515 = VECTOR('',#516,1.); +#516 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#517 = ORIENTED_EDGE('',*,*,#479,.T.); +#518 = ORIENTED_EDGE('',*,*,#154,.T.); +#519 = PLANE('',#520); +#520 = AXIS2_PLACEMENT_3D('',#521,#522,#523); +#521 = CARTESIAN_POINT('',(-27.90836811563,3.,-56.14404399617)); +#522 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#523 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#524 = ADVANCED_FACE('',(#525),#543,.F.); +#525 = FACE_BOUND('',#526,.F.); +#526 = EDGE_LOOP('',(#527,#535,#541,#542)); +#527 = ORIENTED_EDGE('',*,*,#528,.F.); +#528 = EDGE_CURVE('',#529,#138,#531,.T.); +#529 = VERTEX_POINT('',#530); +#530 = CARTESIAN_POINT('',(-41.17904151244,3.2,-10.52828909594)); +#531 = LINE('',#532,#533); +#532 = CARTESIAN_POINT('',(-41.17904151244,3.,-10.52828909594)); +#533 = VECTOR('',#534,1.); +#534 = DIRECTION('',(0.,-1.,0.)); +#535 = ORIENTED_EDGE('',*,*,#536,.F.); +#536 = EDGE_CURVE('',#505,#529,#537,.T.); +#537 = LINE('',#538,#539); +#538 = CARTESIAN_POINT('',(-32.39120436163,3.2,-38.09921113329)); +#539 = VECTOR('',#540,1.); +#540 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#541 = ORIENTED_EDGE('',*,*,#504,.T.); +#542 = ORIENTED_EDGE('',*,*,#146,.T.); +#543 = PLANE('',#544); +#544 = AXIS2_PLACEMENT_3D('',#545,#546,#547); +#545 = CARTESIAN_POINT('',(-34.04006158346,3.,-32.92609366041)); +#546 = DIRECTION('',(-0.952773183837,0.,-0.30368282823)); +#547 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#548 = ADVANCED_FACE('',(#549),#568,.F.); +#549 = FACE_BOUND('',#550,.F.); +#550 = EDGE_LOOP('',(#551,#559,#566,#567)); +#551 = ORIENTED_EDGE('',*,*,#552,.F.); +#552 = EDGE_CURVE('',#553,#130,#555,.T.); +#553 = VERTEX_POINT('',#554); +#554 = CARTESIAN_POINT('',(-39.69176606491,3.2,-4.408923352436)); +#555 = LINE('',#556,#557); +#556 = CARTESIAN_POINT('',(-39.69176606491,3.,-4.408923352436)); +#557 = VECTOR('',#558,1.); +#558 = DIRECTION('',(0.,-1.,0.)); +#559 = ORIENTED_EDGE('',*,*,#560,.T.); +#560 = EDGE_CURVE('',#553,#529,#561,.T.); +#561 = CIRCLE('',#562,6.054044962965); +#562 = AXIS2_PLACEMENT_3D('',#563,#564,#565); +#563 = CARTESIAN_POINT('',(-35.41090981799,3.2,-8.689779599357)); +#564 = DIRECTION('',(0.,-1.,0.)); +#565 = DIRECTION('',(-1.,0.,0.)); +#566 = ORIENTED_EDGE('',*,*,#528,.T.); +#567 = ORIENTED_EDGE('',*,*,#137,.F.); +#568 = CYLINDRICAL_SURFACE('',#569,6.054044962965); +#569 = AXIS2_PLACEMENT_3D('',#570,#571,#572); +#570 = CARTESIAN_POINT('',(-35.41090981799,3.,-8.689779599357)); +#571 = DIRECTION('',(0.,-1.,0.)); +#572 = DIRECTION('',(-1.,0.,0.)); +#573 = ADVANCED_FACE('',(#574),#592,.F.); +#574 = FACE_BOUND('',#575,.F.); +#575 = EDGE_LOOP('',(#576,#584,#590,#591)); +#576 = ORIENTED_EDGE('',*,*,#577,.F.); +#577 = EDGE_CURVE('',#578,#121,#580,.T.); +#578 = VERTEX_POINT('',#579); +#579 = CARTESIAN_POINT('',(-36.85603142851,3.2,-1.573188716044)); +#580 = LINE('',#581,#582); +#581 = CARTESIAN_POINT('',(-36.85603142851,3.,-1.573188716044)); +#582 = VECTOR('',#583,1.); +#583 = DIRECTION('',(0.,-1.,0.)); +#584 = ORIENTED_EDGE('',*,*,#585,.F.); +#585 = EDGE_CURVE('',#553,#578,#586,.T.); +#586 = LINE('',#587,#588); +#587 = CARTESIAN_POINT('',(-36.19319006079,3.2,-0.910347348321)); +#588 = VECTOR('',#589,1.); +#589 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#590 = ORIENTED_EDGE('',*,*,#552,.T.); +#591 = ORIENTED_EDGE('',*,*,#129,.T.); +#592 = PLANE('',#593); +#593 = AXIS2_PLACEMENT_3D('',#594,#595,#596); +#594 = CARTESIAN_POINT('',(-38.27389874671,3.,-2.99105603424)); +#595 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#596 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#597 = ADVANCED_FACE('',(#598),#617,.F.); +#598 = FACE_BOUND('',#599,.F.); +#599 = EDGE_LOOP('',(#600,#608,#615,#616)); +#600 = ORIENTED_EDGE('',*,*,#601,.F.); +#601 = EDGE_CURVE('',#602,#113,#604,.T.); +#602 = VERTEX_POINT('',#603); +#603 = CARTESIAN_POINT('',(-32.57517518159,3.2,0.2)); +#604 = LINE('',#605,#606); +#605 = CARTESIAN_POINT('',(-32.57517518159,3.,0.2)); +#606 = VECTOR('',#607,1.); +#607 = DIRECTION('',(0.,-1.,0.)); +#608 = ORIENTED_EDGE('',*,*,#609,.T.); +#609 = EDGE_CURVE('',#602,#578,#610,.T.); +#610 = CIRCLE('',#611,6.054044962965); +#611 = AXIS2_PLACEMENT_3D('',#612,#613,#614); +#612 = CARTESIAN_POINT('',(-32.57517518159,3.2,-5.854044962965)); +#613 = DIRECTION('',(0.,-1.,0.)); +#614 = DIRECTION('',(-1.,0.,0.)); +#615 = ORIENTED_EDGE('',*,*,#577,.T.); +#616 = ORIENTED_EDGE('',*,*,#120,.F.); +#617 = CYLINDRICAL_SURFACE('',#618,6.054044962965); +#618 = AXIS2_PLACEMENT_3D('',#619,#620,#621); +#619 = CARTESIAN_POINT('',(-32.57517518159,3.,-5.854044962965)); +#620 = DIRECTION('',(0.,-1.,0.)); +#621 = DIRECTION('',(-1.,0.,0.)); +#622 = ADVANCED_FACE('',(#623),#641,.F.); +#623 = FACE_BOUND('',#624,.F.); +#624 = EDGE_LOOP('',(#625,#633,#639,#640)); +#625 = ORIENTED_EDGE('',*,*,#626,.F.); +#626 = EDGE_CURVE('',#627,#105,#629,.T.); +#627 = VERTEX_POINT('',#628); +#628 = CARTESIAN_POINT('',(35.082842712475,3.2,0.2)); +#629 = LINE('',#630,#631); +#630 = CARTESIAN_POINT('',(35.082842712475,3.,0.2)); +#631 = VECTOR('',#632,1.); +#632 = DIRECTION('',(0.,-1.,0.)); +#633 = ORIENTED_EDGE('',*,*,#634,.F.); +#634 = EDGE_CURVE('',#602,#627,#635,.T.); +#635 = LINE('',#636,#637); +#636 = CARTESIAN_POINT('',(-7.942265537672,3.2,0.2)); +#637 = VECTOR('',#638,1.); +#638 = DIRECTION('',(1.,0.,0.)); +#639 = ORIENTED_EDGE('',*,*,#601,.T.); +#640 = ORIENTED_EDGE('',*,*,#112,.T.); +#641 = PLANE('',#642); +#642 = AXIS2_PLACEMENT_3D('',#643,#644,#645); +#643 = CARTESIAN_POINT('',(-16.28758759079,3.,0.2)); +#644 = DIRECTION('',(0.,0.,1.)); +#645 = DIRECTION('',(0.,-1.,0.)); +#646 = ADVANCED_FACE('',(#647),#665,.T.); +#647 = FACE_BOUND('',#648,.T.); +#648 = EDGE_LOOP('',(#649,#657,#658,#659)); +#649 = ORIENTED_EDGE('',*,*,#650,.T.); +#650 = EDGE_CURVE('',#651,#97,#653,.T.); +#651 = VERTEX_POINT('',#652); +#652 = CARTESIAN_POINT('',(42.298608189024,3.2,-7.015765476549)); +#653 = LINE('',#654,#655); +#654 = CARTESIAN_POINT('',(42.298608189024,3.,-7.015765476549)); +#655 = VECTOR('',#656,1.); +#656 = DIRECTION('',(0.,-1.,0.)); +#657 = ORIENTED_EDGE('',*,*,#104,.T.); +#658 = ORIENTED_EDGE('',*,*,#626,.F.); +#659 = ORIENTED_EDGE('',*,*,#660,.F.); +#660 = EDGE_CURVE('',#651,#627,#661,.T.); +#661 = LINE('',#662,#663); +#662 = CARTESIAN_POINT('',(36.596246576251,3.2,-1.313403863776)); +#663 = VECTOR('',#664,1.); +#664 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#665 = PLANE('',#666); +#666 = AXIS2_PLACEMENT_3D('',#667,#668,#669); +#667 = CARTESIAN_POINT('',(38.67695526217,3.,-3.394112549695)); +#668 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#669 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#670 = ADVANCED_FACE('',(#671),#682,.T.); +#671 = FACE_BOUND('',#672,.T.); +#672 = EDGE_LOOP('',(#673,#679,#680,#681)); +#673 = ORIENTED_EDGE('',*,*,#674,.F.); +#674 = EDGE_CURVE('',#313,#651,#675,.T.); +#675 = LINE('',#676,#677); +#676 = CARTESIAN_POINT('',(32.699020781567,3.2,-37.13346923684)); +#677 = VECTOR('',#678,1.); +#678 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#679 = ORIENTED_EDGE('',*,*,#312,.T.); +#680 = ORIENTED_EDGE('',*,*,#96,.T.); +#681 = ORIENTED_EDGE('',*,*,#650,.F.); +#682 = PLANE('',#683); +#683 = AXIS2_PLACEMENT_3D('',#684,#685,#686); +#684 = CARTESIAN_POINT('',(34.581352051556,3.,-31.22785130119)); +#685 = DIRECTION('',(-0.952773183837,0.,0.30368282823)); +#686 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#687 = ADVANCED_FACE('',(#688,#738,#749,#767,#801),#812,.F.); +#688 = FACE_BOUND('',#689,.F.); +#689 = EDGE_LOOP('',(#690,#700,#708,#716,#724,#732)); +#690 = ORIENTED_EDGE('',*,*,#691,.F.); +#691 = EDGE_CURVE('',#692,#694,#696,.T.); +#692 = VERTEX_POINT('',#693); +#693 = CARTESIAN_POINT('',(16.626582997737,3.2,-8.940188245231)); +#694 = VERTEX_POINT('',#695); +#695 = CARTESIAN_POINT('',(4.383041634064E-04,3.2,-8.903751615529)); +#696 = LINE('',#697,#698); +#697 = CARTESIAN_POINT('',(4.347099726942,3.2,-8.913277437397)); +#698 = VECTOR('',#699,1.); +#699 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#700 = ORIENTED_EDGE('',*,*,#701,.F.); +#701 = EDGE_CURVE('',#702,#692,#704,.T.); +#702 = VERTEX_POINT('',#703); +#703 = CARTESIAN_POINT('',(19.029295926024,3.2,-17.63009960955)); +#704 = LINE('',#705,#706); +#705 = CARTESIAN_POINT('',(19.849519003668,3.2,-20.59660707692)); +#706 = VECTOR('',#707,1.); +#707 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#708 = ORIENTED_EDGE('',*,*,#709,.F.); +#709 = EDGE_CURVE('',#710,#702,#712,.T.); +#710 = VERTEX_POINT('',#711); +#711 = CARTESIAN_POINT('',(22.059435554995,3.2,-3.734519760785)); +#712 = LINE('',#713,#714); +#713 = CARTESIAN_POINT('',(17.698510515043,3.2,-23.73280021221)); +#714 = VECTOR('',#715,1.); +#715 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#716 = ORIENTED_EDGE('',*,*,#717,.F.); +#717 = EDGE_CURVE('',#718,#710,#720,.T.); +#718 = VERTEX_POINT('',#719); +#719 = CARTESIAN_POINT('',(-21.72552223146,3.2,-3.734519760785)); +#720 = LINE('',#721,#722); +#721 = CARTESIAN_POINT('',(0.297084840953,3.2,-3.734519760785)); +#722 = VECTOR('',#723,1.); +#723 = DIRECTION('',(1.,0.,0.)); +#724 = ORIENTED_EDGE('',*,*,#725,.F.); +#725 = EDGE_CURVE('',#726,#718,#728,.T.); +#726 = VERTEX_POINT('',#727); +#727 = CARTESIAN_POINT('',(-21.72552223146,3.2,-8.903751135252)); +#728 = LINE('',#729,#730); +#729 = CARTESIAN_POINT('',(-21.72552223146,3.2,-19.83215600037)); +#730 = VECTOR('',#731,1.); +#731 = DIRECTION('',(0.,0.,1.)); +#732 = ORIENTED_EDGE('',*,*,#733,.F.); +#733 = EDGE_CURVE('',#694,#726,#734,.T.); +#734 = LINE('',#735,#736); +#735 = CARTESIAN_POINT('',(-5.279852300138,3.2,-8.903751135252)); +#736 = VECTOR('',#737,1.); +#737 = DIRECTION('',(-1.,0.,0.)); +#738 = FACE_BOUND('',#739,.F.); +#739 = EDGE_LOOP('',(#740)); +#740 = ORIENTED_EDGE('',*,*,#741,.F.); +#741 = EDGE_CURVE('',#742,#742,#744,.T.); +#742 = VERTEX_POINT('',#743); +#743 = CARTESIAN_POINT('',(21.163799345768,3.2,-48.00951684793)); +#744 = CIRCLE('',#745,4.735522705283); +#745 = AXIS2_PLACEMENT_3D('',#746,#747,#748); +#746 = CARTESIAN_POINT('',(16.428276640485,3.2,-48.00951684793)); +#747 = DIRECTION('',(-0.,1.,0.)); +#748 = DIRECTION('',(1.,0.,0.)); +#749 = FACE_BOUND('',#750,.F.); +#750 = EDGE_LOOP('',(#751,#752,#753,#754,#755,#756,#757,#758,#759,#760, + #761,#762,#763,#764,#765,#766)); +#751 = ORIENTED_EDGE('',*,*,#536,.T.); +#752 = ORIENTED_EDGE('',*,*,#560,.F.); +#753 = ORIENTED_EDGE('',*,*,#585,.T.); +#754 = ORIENTED_EDGE('',*,*,#609,.F.); +#755 = ORIENTED_EDGE('',*,*,#634,.T.); +#756 = ORIENTED_EDGE('',*,*,#660,.F.); +#757 = ORIENTED_EDGE('',*,*,#674,.F.); +#758 = ORIENTED_EDGE('',*,*,#320,.F.); +#759 = ORIENTED_EDGE('',*,*,#344,.F.); +#760 = ORIENTED_EDGE('',*,*,#358,.F.); +#761 = ORIENTED_EDGE('',*,*,#392,.F.); +#762 = ORIENTED_EDGE('',*,*,#414,.T.); +#763 = ORIENTED_EDGE('',*,*,#438,.F.); +#764 = ORIENTED_EDGE('',*,*,#463,.T.); +#765 = ORIENTED_EDGE('',*,*,#487,.F.); +#766 = ORIENTED_EDGE('',*,*,#512,.T.); +#767 = FACE_BOUND('',#768,.F.); +#768 = EDGE_LOOP('',(#769,#779,#787,#795)); +#769 = ORIENTED_EDGE('',*,*,#770,.F.); +#770 = EDGE_CURVE('',#771,#773,#775,.T.); +#771 = VERTEX_POINT('',#772); +#772 = CARTESIAN_POINT('',(5.809375885494,3.2,-13.06417917474)); +#773 = VERTEX_POINT('',#774); +#774 = CARTESIAN_POINT('',(2.688069798796,3.2,-49.64588621989)); +#775 = LINE('',#776,#777); +#776 = CARTESIAN_POINT('',(4.914157977861,3.2,-23.55613296875)); +#777 = VECTOR('',#778,1.); +#778 = DIRECTION('',(-8.501532861635E-02,0.,-0.996379643459)); +#779 = ORIENTED_EDGE('',*,*,#780,.F.); +#780 = EDGE_CURVE('',#781,#771,#783,.T.); +#781 = VERTEX_POINT('',#782); +#782 = CARTESIAN_POINT('',(-5.809375885494,3.2,-13.06417917474)); +#783 = LINE('',#784,#785); +#784 = CARTESIAN_POINT('',(1.615747408047,3.2,-13.06417917474)); +#785 = VECTOR('',#786,1.); +#786 = DIRECTION('',(1.,0.,-3.066574716487E-16)); +#787 = ORIENTED_EDGE('',*,*,#788,.F.); +#788 = EDGE_CURVE('',#789,#781,#791,.T.); +#789 = VERTEX_POINT('',#790); +#790 = CARTESIAN_POINT('',(-2.688069798796,3.2,-49.64588621989)); +#791 = LINE('',#792,#793); +#792 = CARTESIAN_POINT('',(-4.890802006217,3.2,-23.82986495424)); +#793 = VECTOR('',#794,1.); +#794 = DIRECTION('',(-8.501532861635E-02,0.,0.996379643459)); +#795 = ORIENTED_EDGE('',*,*,#796,.F.); +#796 = EDGE_CURVE('',#773,#789,#797,.T.); +#797 = LINE('',#798,#799); +#798 = CARTESIAN_POINT('',(1.615747408047,3.2,-49.64588621989)); +#799 = VECTOR('',#800,1.); +#800 = DIRECTION('',(-1.,0.,0.)); +#801 = FACE_BOUND('',#802,.F.); +#802 = EDGE_LOOP('',(#803)); +#803 = ORIENTED_EDGE('',*,*,#804,.F.); +#804 = EDGE_CURVE('',#805,#805,#807,.T.); +#805 = VERTEX_POINT('',#806); +#806 = CARTESIAN_POINT('',(-11.6927539352,3.2,-48.00951684793)); +#807 = CIRCLE('',#808,4.735522705283); +#808 = AXIS2_PLACEMENT_3D('',#809,#810,#811); +#809 = CARTESIAN_POINT('',(-16.42827664048,3.2,-48.00951684793)); +#810 = DIRECTION('',(-0.,1.,0.)); +#811 = DIRECTION('',(1.,0.,0.)); +#812 = PLANE('',#813); +#813 = AXIS2_PLACEMENT_3D('',#814,#815,#816); +#814 = CARTESIAN_POINT('',(0.403056515455,3.2,-33.34517655273)); +#815 = DIRECTION('',(0.,1.,0.)); +#816 = DIRECTION('',(1.,0.,0.)); +#817 = ADVANCED_FACE('',(#818),#843,.T.); +#818 = FACE_BOUND('',#819,.T.); +#819 = EDGE_LOOP('',(#820,#828,#836,#842)); +#820 = ORIENTED_EDGE('',*,*,#821,.F.); +#821 = EDGE_CURVE('',#822,#692,#824,.T.); +#822 = VERTEX_POINT('',#823); +#823 = CARTESIAN_POINT('',(16.626582997737,0.,-8.940188245231)); +#824 = LINE('',#825,#826); +#825 = CARTESIAN_POINT('',(16.626582997737,-22.,-8.940188245231)); +#826 = VECTOR('',#827,1.); +#827 = DIRECTION('',(0.,1.,0.)); +#828 = ORIENTED_EDGE('',*,*,#829,.T.); +#829 = EDGE_CURVE('',#822,#830,#832,.T.); +#830 = VERTEX_POINT('',#831); +#831 = CARTESIAN_POINT('',(-5.329070518201E-15,0.,-8.903751135252)); +#832 = LINE('',#833,#834); +#833 = CARTESIAN_POINT('',(-18.54556462154,1.7763568394E-15, + -8.863107566442)); +#834 = VECTOR('',#835,1.); +#835 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#836 = ORIENTED_EDGE('',*,*,#837,.T.); +#837 = EDGE_CURVE('',#830,#694,#838,.T.); +#838 = LINE('',#839,#840); +#839 = CARTESIAN_POINT('',(-5.329070518201E-15,-22.,-8.903751135252)); +#840 = VECTOR('',#841,1.); +#841 = DIRECTION('',(0.,1.,0.)); +#842 = ORIENTED_EDGE('',*,*,#691,.F.); +#843 = PLANE('',#844); +#844 = AXIS2_PLACEMENT_3D('',#845,#846,#847); +#845 = CARTESIAN_POINT('',(8.237581109188,-22.,-8.921803528809)); +#846 = DIRECTION('',(-2.191520817069E-03,0.,-0.999997598615)); +#847 = DIRECTION('',(-0.999997598615,0.,2.191520817069E-03)); +#848 = ADVANCED_FACE('',(#849),#867,.T.); +#849 = FACE_BOUND('',#850,.T.); +#850 = EDGE_LOOP('',(#851,#859,#865,#866)); +#851 = ORIENTED_EDGE('',*,*,#852,.F.); +#852 = EDGE_CURVE('',#853,#702,#855,.T.); +#853 = VERTEX_POINT('',#854); +#854 = CARTESIAN_POINT('',(19.029295926024,0.,-17.63009960955)); +#855 = LINE('',#856,#857); +#856 = CARTESIAN_POINT('',(19.029295926024,-22.,-17.63009960955)); +#857 = VECTOR('',#858,1.); +#858 = DIRECTION('',(0.,1.,0.)); +#859 = ORIENTED_EDGE('',*,*,#860,.T.); +#860 = EDGE_CURVE('',#853,#822,#861,.T.); +#861 = LINE('',#862,#863); +#862 = CARTESIAN_POINT('',(23.053273013696,0.,-32.18365022821)); +#863 = VECTOR('',#864,1.); +#864 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#865 = ORIENTED_EDGE('',*,*,#821,.T.); +#866 = ORIENTED_EDGE('',*,*,#701,.F.); +#867 = PLANE('',#868); +#868 = AXIS2_PLACEMENT_3D('',#869,#870,#871); +#869 = CARTESIAN_POINT('',(17.956031892536,-22.,-13.7484168618)); +#870 = DIRECTION('',(-0.963836182336,0.,-0.26649542889)); +#871 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#872 = ADVANCED_FACE('',(#873),#891,.T.); +#873 = FACE_BOUND('',#874,.T.); +#874 = EDGE_LOOP('',(#875,#883,#884,#885)); +#875 = ORIENTED_EDGE('',*,*,#876,.T.); +#876 = EDGE_CURVE('',#877,#853,#879,.T.); +#877 = VERTEX_POINT('',#878); +#878 = CARTESIAN_POINT('',(22.059435554995,0.,-3.734519760785)); +#879 = LINE('',#880,#881); +#880 = CARTESIAN_POINT('',(12.741012548745,1.7763568394E-15, + -46.46683800444)); +#881 = VECTOR('',#882,1.); +#882 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#883 = ORIENTED_EDGE('',*,*,#852,.T.); +#884 = ORIENTED_EDGE('',*,*,#709,.F.); +#885 = ORIENTED_EDGE('',*,*,#886,.F.); +#886 = EDGE_CURVE('',#877,#710,#887,.T.); +#887 = LINE('',#888,#889); +#888 = CARTESIAN_POINT('',(22.059435554995,-22.,-3.734519760785)); +#889 = VECTOR('',#890,1.); +#890 = DIRECTION('',(0.,1.,0.)); +#891 = PLANE('',#892); +#892 = AXIS2_PLACEMENT_3D('',#893,#894,#895); +#893 = CARTESIAN_POINT('',(20.484588228021,-22.,-10.95643672209)); +#894 = DIRECTION('',(0.977039526026,0.,-0.213058124893)); +#895 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#896 = ADVANCED_FACE('',(#897),#915,.T.); +#897 = FACE_BOUND('',#898,.T.); +#898 = EDGE_LOOP('',(#899,#907,#908,#909)); +#899 = ORIENTED_EDGE('',*,*,#900,.T.); +#900 = EDGE_CURVE('',#901,#877,#903,.T.); +#901 = VERTEX_POINT('',#902); +#902 = CARTESIAN_POINT('',(-21.72552223146,0.,-3.734519760785)); +#903 = LINE('',#904,#905); +#904 = CARTESIAN_POINT('',(-22.63692080725,0.,-3.734519760785)); +#905 = VECTOR('',#906,1.); +#906 = DIRECTION('',(1.,0.,0.)); +#907 = ORIENTED_EDGE('',*,*,#886,.T.); +#908 = ORIENTED_EDGE('',*,*,#717,.F.); +#909 = ORIENTED_EDGE('',*,*,#910,.F.); +#910 = EDGE_CURVE('',#901,#718,#911,.T.); +#911 = LINE('',#912,#913); +#912 = CARTESIAN_POINT('',(-21.72552223146,-22.,-3.734519760785)); +#913 = VECTOR('',#914,1.); +#914 = DIRECTION('',(0.,1.,0.)); +#915 = PLANE('',#916); +#916 = AXIS2_PLACEMENT_3D('',#917,#918,#919); +#917 = CARTESIAN_POINT('',(0.19111316645,-22.,-3.734519760785)); +#918 = DIRECTION('',(0.,0.,1.)); +#919 = DIRECTION('',(0.,-1.,0.)); +#920 = ADVANCED_FACE('',(#921),#939,.T.); +#921 = FACE_BOUND('',#922,.T.); +#922 = EDGE_LOOP('',(#923,#931,#932,#933)); +#923 = ORIENTED_EDGE('',*,*,#924,.T.); +#924 = EDGE_CURVE('',#925,#901,#927,.T.); +#925 = VERTEX_POINT('',#926); +#926 = CARTESIAN_POINT('',(-21.72552223146,0.,-8.903751135252)); +#927 = LINE('',#928,#929); +#928 = CARTESIAN_POINT('',(-21.72552223146,0.,-38.64614663299)); +#929 = VECTOR('',#930,1.); +#930 = DIRECTION('',(0.,0.,1.)); +#931 = ORIENTED_EDGE('',*,*,#910,.T.); +#932 = ORIENTED_EDGE('',*,*,#725,.F.); +#933 = ORIENTED_EDGE('',*,*,#934,.F.); +#934 = EDGE_CURVE('',#925,#726,#935,.T.); +#935 = LINE('',#936,#937); +#936 = CARTESIAN_POINT('',(-21.72552223146,-22.,-8.903751135252)); +#937 = VECTOR('',#938,1.); +#938 = DIRECTION('',(0.,1.,0.)); +#939 = PLANE('',#940); +#940 = AXIS2_PLACEMENT_3D('',#941,#942,#943); +#941 = CARTESIAN_POINT('',(-21.72552223146,-22.,-6.319135448019)); +#942 = DIRECTION('',(-1.,0.,0.)); +#943 = DIRECTION('',(0.,1.,0.)); +#944 = ADVANCED_FACE('',(#945),#956,.T.); +#945 = FACE_BOUND('',#946,.T.); +#946 = EDGE_LOOP('',(#947,#953,#954,#955)); +#947 = ORIENTED_EDGE('',*,*,#948,.T.); +#948 = EDGE_CURVE('',#830,#925,#949,.T.); +#949 = LINE('',#950,#951); +#950 = CARTESIAN_POINT('',(-28.21385794834,0.,-8.903751135252)); +#951 = VECTOR('',#952,1.); +#952 = DIRECTION('',(-1.,0.,0.)); +#953 = ORIENTED_EDGE('',*,*,#934,.T.); +#954 = ORIENTED_EDGE('',*,*,#733,.F.); +#955 = ORIENTED_EDGE('',*,*,#837,.F.); +#956 = PLANE('',#957); +#957 = AXIS2_PLACEMENT_3D('',#958,#959,#960); +#958 = CARTESIAN_POINT('',(-10.96276111573,-22.,-8.903751135252)); +#959 = DIRECTION('',(0.,0.,-1.)); +#960 = DIRECTION('',(0.,1.,0.)); +#961 = ADVANCED_FACE('',(#962),#981,.T.); +#962 = FACE_BOUND('',#963,.T.); +#963 = EDGE_LOOP('',(#964,#973,#979,#980)); +#964 = ORIENTED_EDGE('',*,*,#965,.T.); +#965 = EDGE_CURVE('',#966,#966,#968,.T.); +#966 = VERTEX_POINT('',#967); +#967 = CARTESIAN_POINT('',(21.163799345768,0.,-48.00951684793)); +#968 = CIRCLE('',#969,4.735522705283); +#969 = AXIS2_PLACEMENT_3D('',#970,#971,#972); +#970 = CARTESIAN_POINT('',(16.428276640485,0.,-48.00951684793)); +#971 = DIRECTION('',(-0.,1.,0.)); +#972 = DIRECTION('',(1.,0.,0.)); +#973 = ORIENTED_EDGE('',*,*,#974,.T.); +#974 = EDGE_CURVE('',#966,#742,#975,.T.); +#975 = LINE('',#976,#977); +#976 = CARTESIAN_POINT('',(21.163799345768,-22.,-48.00951684793)); +#977 = VECTOR('',#978,1.); +#978 = DIRECTION('',(0.,1.,0.)); +#979 = ORIENTED_EDGE('',*,*,#741,.F.); +#980 = ORIENTED_EDGE('',*,*,#974,.F.); +#981 = CYLINDRICAL_SURFACE('',#982,4.735522705283); +#982 = AXIS2_PLACEMENT_3D('',#983,#984,#985); +#983 = CARTESIAN_POINT('',(16.428276640485,-22.,-48.00951684793)); +#984 = DIRECTION('',(0.,1.,0.)); +#985 = DIRECTION('',(1.,0.,0.)); +#986 = ADVANCED_FACE('',(#987),#1012,.F.); +#987 = FACE_BOUND('',#988,.F.); +#988 = EDGE_LOOP('',(#989,#999,#1005,#1006)); +#989 = ORIENTED_EDGE('',*,*,#990,.T.); +#990 = EDGE_CURVE('',#991,#993,#995,.T.); +#991 = VERTEX_POINT('',#992); +#992 = CARTESIAN_POINT('',(1.480297366167E-15,11.242400581089, + -46.71869179633)); +#993 = VERTEX_POINT('',#994); +#994 = CARTESIAN_POINT('',(3.256654205567E-15,17.8572529153, + -18.39898295202)); +#995 = LINE('',#996,#997); +#996 = CARTESIAN_POINT('',(2.6645352591E-15,18.133069549222, + -17.21814831317)); +#997 = VECTOR('',#998,1.); +#998 = DIRECTION('',(5.275122655166E-17,0.227455280238,0.97378852709)); +#999 = ORIENTED_EDGE('',*,*,#1000,.F.); +#1000 = EDGE_CURVE('',#771,#993,#1001,.T.); +#1001 = LINE('',#1002,#1003); +#1002 = CARTESIAN_POINT('',(5.649679875255,3.602918464526, + -13.21082950266)); +#1003 = VECTOR('',#1004,1.); +#1004 = DIRECTION('',(-0.349023821871,0.880598971639,-0.320511814002)); +#1005 = ORIENTED_EDGE('',*,*,#770,.T.); +#1006 = ORIENTED_EDGE('',*,*,#1007,.T.); +#1007 = EDGE_CURVE('',#773,#991,#1008,.T.); +#1008 = LINE('',#1009,#1010); +#1009 = CARTESIAN_POINT('',(1.103762571829,7.940067898719, + -47.92064259636)); +#1010 = VECTOR('',#1011,1.); +#1011 = DIRECTION('',(-0.299648208284,0.896513522642,0.326304236859)); +#1012 = PLANE('',#1013); +#1013 = AXIS2_PLACEMENT_3D('',#1014,#1015,#1016); +#1014 = CARTESIAN_POINT('',(5.823691883056,3.068404028665, + -13.45978839622)); +#1015 = DIRECTION('',(0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#1016 = DIRECTION('',(-0.340781908463,0.939692620786,2.907695487824E-02) + ); +#1017 = ADVANCED_FACE('',(#1018),#1028,.F.); +#1018 = FACE_BOUND('',#1019,.F.); +#1019 = EDGE_LOOP('',(#1020,#1021,#1027)); +#1020 = ORIENTED_EDGE('',*,*,#1000,.T.); +#1021 = ORIENTED_EDGE('',*,*,#1022,.T.); +#1022 = EDGE_CURVE('',#993,#781,#1023,.T.); +#1023 = LINE('',#1024,#1025); +#1024 = CARTESIAN_POINT('',(-5.275833888477,4.546144602338, + -13.55413574101)); +#1025 = VECTOR('',#1026,1.); +#1026 = DIRECTION('',(-0.349023821871,-0.880598971639,0.320511814002)); +#1027 = ORIENTED_EDGE('',*,*,#780,.T.); +#1028 = PLANE('',#1029); +#1029 = AXIS2_PLACEMENT_3D('',#1030,#1031,#1032); +#1030 = CARTESIAN_POINT('',(2.828438300639,3.068404028665, + -13.01628215822)); +#1031 = DIRECTION('',(2.881637632171E-16,0.342020143326,0.939692620786) + ); +#1032 = DIRECTION('',(-1.048830324052E-16,0.939692620786,-0.342020143326 + )); +#1033 = ADVANCED_FACE('',(#1034),#1045,.F.); +#1034 = FACE_BOUND('',#1035,.F.); +#1035 = EDGE_LOOP('',(#1036,#1037,#1038,#1039)); +#1036 = ORIENTED_EDGE('',*,*,#788,.T.); +#1037 = ORIENTED_EDGE('',*,*,#1022,.F.); +#1038 = ORIENTED_EDGE('',*,*,#990,.F.); +#1039 = ORIENTED_EDGE('',*,*,#1040,.F.); +#1040 = EDGE_CURVE('',#789,#991,#1041,.T.); +#1041 = LINE('',#1042,#1043); +#1042 = CARTESIAN_POINT('',(-0.871390517001,8.635298785064, + -47.66759924779)); +#1043 = VECTOR('',#1044,1.); +#1044 = DIRECTION('',(0.299648208284,0.896513522642,0.326304236859)); +#1045 = PLANE('',#1046); +#1046 = AXIS2_PLACEMENT_3D('',#1047,#1048,#1049); +#1047 = CARTESIAN_POINT('',(-5.782806207227,3.068404028665, + -13.93896851312)); +#1048 = DIRECTION('',(-0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#1049 = DIRECTION('',(0.340781908463,0.939692620786,2.907695487824E-02) + ); +#1050 = ADVANCED_FACE('',(#1051),#1056,.F.); +#1051 = FACE_BOUND('',#1052,.F.); +#1052 = EDGE_LOOP('',(#1053,#1054,#1055)); +#1053 = ORIENTED_EDGE('',*,*,#1040,.T.); +#1054 = ORIENTED_EDGE('',*,*,#1007,.F.); +#1055 = ORIENTED_EDGE('',*,*,#796,.T.); +#1056 = PLANE('',#1057); +#1057 = AXIS2_PLACEMENT_3D('',#1058,#1059,#1060); +#1058 = CARTESIAN_POINT('',(2.828438300639,3.068404028665, + -49.69378323641)); +#1059 = DIRECTION('',(0.,0.342020143326,-0.939692620786)); +#1060 = DIRECTION('',(0.,0.939692620786,0.342020143326)); +#1061 = ADVANCED_FACE('',(#1062),#1081,.T.); +#1062 = FACE_BOUND('',#1063,.T.); +#1063 = EDGE_LOOP('',(#1064,#1073,#1079,#1080)); +#1064 = ORIENTED_EDGE('',*,*,#1065,.T.); +#1065 = EDGE_CURVE('',#1066,#1066,#1068,.T.); +#1066 = VERTEX_POINT('',#1067); +#1067 = CARTESIAN_POINT('',(-11.6927539352,0.,-48.00951684793)); +#1068 = CIRCLE('',#1069,4.735522705283); +#1069 = AXIS2_PLACEMENT_3D('',#1070,#1071,#1072); +#1070 = CARTESIAN_POINT('',(-16.42827664048,0.,-48.00951684793)); +#1071 = DIRECTION('',(-0.,1.,0.)); +#1072 = DIRECTION('',(1.,0.,0.)); +#1073 = ORIENTED_EDGE('',*,*,#1074,.T.); +#1074 = EDGE_CURVE('',#1066,#805,#1075,.T.); +#1075 = LINE('',#1076,#1077); +#1076 = CARTESIAN_POINT('',(-11.6927539352,-22.,-48.00951684793)); +#1077 = VECTOR('',#1078,1.); +#1078 = DIRECTION('',(0.,1.,0.)); +#1079 = ORIENTED_EDGE('',*,*,#804,.F.); +#1080 = ORIENTED_EDGE('',*,*,#1074,.F.); +#1081 = CYLINDRICAL_SURFACE('',#1082,4.735522705283); +#1082 = AXIS2_PLACEMENT_3D('',#1083,#1084,#1085); +#1083 = CARTESIAN_POINT('',(-16.42827664048,-22.,-48.00951684793)); +#1084 = DIRECTION('',(0.,1.,0.)); +#1085 = DIRECTION('',(1.,0.,0.)); +#1086 = ADVANCED_FACE('',(#1087),#1095,.F.); +#1087 = FACE_BOUND('',#1088,.F.); +#1088 = EDGE_LOOP('',(#1089,#1090,#1091,#1092,#1093,#1094)); +#1089 = ORIENTED_EDGE('',*,*,#860,.T.); +#1090 = ORIENTED_EDGE('',*,*,#829,.T.); +#1091 = ORIENTED_EDGE('',*,*,#948,.T.); +#1092 = ORIENTED_EDGE('',*,*,#924,.T.); +#1093 = ORIENTED_EDGE('',*,*,#900,.T.); +#1094 = ORIENTED_EDGE('',*,*,#876,.T.); +#1095 = PLANE('',#1096); +#1096 = AXIS2_PLACEMENT_3D('',#1097,#1098,#1099); +#1097 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1098 = DIRECTION('',(0.,1.,0.)); +#1099 = DIRECTION('',(0.,0.,1.)); +#1100 = ADVANCED_FACE('',(#1101),#1104,.F.); +#1101 = FACE_BOUND('',#1102,.F.); +#1102 = EDGE_LOOP('',(#1103)); +#1103 = ORIENTED_EDGE('',*,*,#965,.T.); +#1104 = PLANE('',#1105); +#1105 = AXIS2_PLACEMENT_3D('',#1106,#1107,#1108); +#1106 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1107 = DIRECTION('',(0.,1.,0.)); +#1108 = DIRECTION('',(0.,0.,1.)); +#1109 = ADVANCED_FACE('',(#1110),#1113,.F.); +#1110 = FACE_BOUND('',#1111,.F.); +#1111 = EDGE_LOOP('',(#1112)); +#1112 = ORIENTED_EDGE('',*,*,#1065,.T.); +#1113 = PLANE('',#1114); +#1114 = AXIS2_PLACEMENT_3D('',#1115,#1116,#1117); +#1115 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1116 = DIRECTION('',(0.,1.,0.)); +#1117 = DIRECTION('',(0.,0.,1.)); +#1118 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1122)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1119,#1120,#1121)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1119 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1120 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1121 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1122 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-05),#1119, + 'distance_accuracy_value','confusion accuracy'); +#1123 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.step b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.step new file mode 100644 index 0000000000..e6575701e4 --- /dev/null +++ b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.step @@ -0,0 +1,1048 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2026-08-05T11:06:23',('FreeCAD'),( + 'FreeCAD'),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('Open CASCADE STEP translator 7.8 1', + 'Open CASCADE STEP translator 7.8 1','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#976); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = MANIFOLD_SOLID_BREP('',#16); +#16 = CLOSED_SHELL('',(#17,#157,#188,#212,#236,#261,#285,#310,#334,#358, + #383,#407,#432,#456,#480,#504,#528,#545,#675,#706,#730,#754,#778, + #802,#819,#850,#866,#882,#894,#919,#944,#958,#967)); +#17 = ADVANCED_FACE('',(#18),#152,.T.); +#18 = FACE_BOUND('',#19,.T.); +#19 = EDGE_LOOP('',(#20,#30,#38,#46,#54,#62,#70,#79,#87,#96,#104,#112, + #121,#129,#138,#146)); +#20 = ORIENTED_EDGE('',*,*,#21,.F.); +#21 = EDGE_CURVE('',#22,#24,#26,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(26.824640127118,20.8572529153,-55.23443461327) + ); +#24 = VERTEX_POINT('',#25); +#25 = CARTESIAN_POINT('',(42.184838000445,20.8572529153,-7.043416644207) + ); +#26 = LINE('',#27,#28); +#27 = CARTESIAN_POINT('',(28.89442018934,20.8572529153,-48.74071565254) + ); +#28 = VECTOR('',#29,1.); +#29 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#30 = ORIENTED_EDGE('',*,*,#31,.F.); +#31 = EDGE_CURVE('',#32,#22,#34,.T.); +#32 = VERTEX_POINT('',#33); +#33 = CARTESIAN_POINT('',(32.56245481215,20.8572529153,-60.7871552419)); +#34 = LINE('',#35,#36); +#35 = CARTESIAN_POINT('',(12.092418778801,20.8572529153,-40.97745458223) + ); +#36 = VECTOR('',#37,1.); +#37 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#38 = ORIENTED_EDGE('',*,*,#39,.F.); +#39 = EDGE_CURVE('',#40,#32,#42,.T.); +#40 = VERTEX_POINT('',#41); +#41 = CARTESIAN_POINT('',(26.712845130625,20.8572529153,-66.83175546171) + ); +#42 = LINE('',#43,#44); +#43 = CARTESIAN_POINT('',(11.149878706433,20.8572529153,-82.91349687528) + ); +#44 = VECTOR('',#45,1.); +#45 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#46 = ORIENTED_EDGE('',*,*,#47,.F.); +#47 = EDGE_CURVE('',#48,#40,#50,.T.); +#48 = VERTEX_POINT('',#49); +#49 = CARTESIAN_POINT('',(20.57248334837,20.8572529153,-60.88947335481) + ); +#50 = LINE('',#51,#52); +#51 = CARTESIAN_POINT('',(9.111716439792,20.8572529153,-49.79841511636) + ); +#52 = VECTOR('',#53,1.); +#53 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#54 = ORIENTED_EDGE('',*,*,#55,.F.); +#55 = EDGE_CURVE('',#56,#48,#58,.T.); +#56 = VERTEX_POINT('',#57); +#57 = CARTESIAN_POINT('',(-20.57248334837,20.8572529153,-60.88947335481) + ); +#58 = LINE('',#59,#60); +#59 = CARTESIAN_POINT('',(-12.44623571629,20.8572529153,-60.88947335481) + ); +#60 = VECTOR('',#61,1.); +#61 = DIRECTION('',(1.,0.,0.)); +#62 = ORIENTED_EDGE('',*,*,#63,.T.); +#63 = EDGE_CURVE('',#56,#64,#66,.T.); +#64 = VERTEX_POINT('',#65); +#65 = CARTESIAN_POINT('',(-25.60006917852,20.8572529153,-65.75487614033) + ); +#66 = LINE('',#67,#68); +#67 = CARTESIAN_POINT('',(-32.03294606502,20.8572529153,-71.98023721416) + ); +#68 = VECTOR('',#69,1.); +#69 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#70 = ORIENTED_EDGE('',*,*,#71,.F.); +#71 = EDGE_CURVE('',#72,#64,#74,.T.); +#72 = VERTEX_POINT('',#73); +#73 = CARTESIAN_POINT('',(-27.78972445201,20.8572529153,-65.71897950961) + ); +#74 = CIRCLE('',#75,1.548528137424); +#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78); +#76 = CARTESIAN_POINT('',(-26.67694849991,20.8572529153,-64.64210018823) + ); +#77 = DIRECTION('',(0.,-1.,0.)); +#78 = DIRECTION('',(1.,0.,0.)); +#79 = ORIENTED_EDGE('',*,*,#80,.T.); +#80 = EDGE_CURVE('',#72,#81,#83,.T.); +#81 = VERTEX_POINT('',#82); +#82 = CARTESIAN_POINT('',(-29.01580660709,20.8572529153,-64.4520272055) + ); +#83 = LINE('',#84,#85); +#84 = CARTESIAN_POINT('',(-31.36389178357,20.8572529153,-62.02567109858) + ); +#85 = VECTOR('',#86,1.); +#86 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#87 = ORIENTED_EDGE('',*,*,#88,.F.); +#88 = EDGE_CURVE('',#89,#81,#91,.T.); +#89 = VERTEX_POINT('',#90); +#90 = CARTESIAN_POINT('',(-28.89758284854,20.8572529153,-57.24050703685) + ); +#91 = CIRCLE('',#92,5.1); +#92 = AXIS2_PLACEMENT_3D('',#93,#94,#95); +#93 = CARTESIAN_POINT('',(-25.35093464349,20.8572529153,-60.90537900045) + ); +#94 = DIRECTION('',(0.,-1.,0.)); +#95 = DIRECTION('',(1.,0.,0.)); +#96 = ORIENTED_EDGE('',*,*,#97,.T.); +#97 = EDGE_CURVE('',#89,#98,#100,.T.); +#98 = VERTEX_POINT('',#99); +#99 = CARTESIAN_POINT('',(-26.82464012711,20.8572529153,-55.23443461327) + ); +#100 = LINE('',#101,#102); +#101 = CARTESIAN_POINT('',(-35.57003638008,20.8572529153,-63.69771634073 + )); +#102 = VECTOR('',#103,1.); +#103 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#104 = ORIENTED_EDGE('',*,*,#105,.T.); +#105 = EDGE_CURVE('',#98,#106,#108,.T.); +#106 = VERTEX_POINT('',#107); +#107 = CARTESIAN_POINT('',(-41.08376419406,20.8572529153,-10.49792081311 + )); +#108 = LINE('',#109,#110); +#109 = CARTESIAN_POINT('',(-32.53680963915,20.8572529153,-37.31309884227 + )); +#110 = VECTOR('',#111,1.); +#111 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#112 = ORIENTED_EDGE('',*,*,#113,.F.); +#113 = EDGE_CURVE('',#114,#106,#116,.T.); +#114 = VERTEX_POINT('',#115); +#115 = CARTESIAN_POINT('',(-39.62105538679,20.8572529153,-4.479634030555 + )); +#116 = CIRCLE('',#117,5.954044962965); +#117 = AXIS2_PLACEMENT_3D('',#118,#119,#120); +#118 = CARTESIAN_POINT('',(-35.41090981799,20.8572529153,-8.689779599357 + )); +#119 = DIRECTION('',(0.,-1.,0.)); +#120 = DIRECTION('',(1.,0.,0.)); +#121 = ORIENTED_EDGE('',*,*,#122,.T.); +#122 = EDGE_CURVE('',#114,#123,#125,.T.); +#123 = VERTEX_POINT('',#124); +#124 = CARTESIAN_POINT('',(-36.7853207504,20.8572529153,-1.643899394163) + ); +#125 = LINE('',#126,#127); +#126 = CARTESIAN_POINT('',(-56.28754386398,20.8572529153,-21.14612250775 + )); +#127 = VECTOR('',#128,1.); +#128 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#129 = ORIENTED_EDGE('',*,*,#130,.F.); +#130 = EDGE_CURVE('',#131,#123,#133,.T.); +#131 = VERTEX_POINT('',#132); +#132 = CARTESIAN_POINT('',(-32.57517518159,20.8572529153, + 9.999999999998E-02)); +#133 = CIRCLE('',#134,5.954044962965); +#134 = AXIS2_PLACEMENT_3D('',#135,#136,#137); +#135 = CARTESIAN_POINT('',(-32.57517518159,20.8572529153,-5.854044962965 + )); +#136 = DIRECTION('',(0.,-1.,0.)); +#137 = DIRECTION('',(1.,0.,0.)); +#138 = ORIENTED_EDGE('',*,*,#139,.T.); +#139 = EDGE_CURVE('',#131,#140,#142,.T.); +#140 = VERTEX_POINT('',#141); +#141 = CARTESIAN_POINT('',(35.041421356237,20.8572529153,0.1)); +#142 = LINE('',#143,#144); +#143 = CARTESIAN_POINT('',(-5.211766712356,20.8572529153,0.1)); +#144 = VECTOR('',#145,1.); +#145 = DIRECTION('',(1.,0.,0.)); +#146 = ORIENTED_EDGE('',*,*,#147,.F.); +#147 = EDGE_CURVE('',#24,#140,#148,.T.); +#148 = LINE('',#149,#150); +#149 = CARTESIAN_POINT('',(32.68311677643,20.8572529153,2.458304579807) + ); +#150 = VECTOR('',#151,1.); +#151 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#152 = PLANE('',#153); +#153 = AXIS2_PLACEMENT_3D('',#154,#155,#156); +#154 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153,-70.97315781796 + )); +#155 = DIRECTION('',(0.,1.,0.)); +#156 = DIRECTION('',(0.,0.,1.)); +#157 = ADVANCED_FACE('',(#158),#183,.F.); +#158 = FACE_BOUND('',#159,.F.); +#159 = EDGE_LOOP('',(#160,#170,#176,#177)); +#160 = ORIENTED_EDGE('',*,*,#161,.T.); +#161 = EDGE_CURVE('',#162,#164,#166,.T.); +#162 = VERTEX_POINT('',#163); +#163 = CARTESIAN_POINT('',(26.824640127118,3.2,-55.23443461327)); +#164 = VERTEX_POINT('',#165); +#165 = CARTESIAN_POINT('',(42.184838000445,3.2,-7.043416644207)); +#166 = LINE('',#167,#168); +#167 = CARTESIAN_POINT('',(36.45312509682,3.2,-25.02606776693)); +#168 = VECTOR('',#169,1.); +#169 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#170 = ORIENTED_EDGE('',*,*,#171,.T.); +#171 = EDGE_CURVE('',#164,#24,#172,.T.); +#172 = LINE('',#173,#174); +#173 = CARTESIAN_POINT('',(42.184838000445,-5.,-7.043416644207)); +#174 = VECTOR('',#175,1.); +#175 = DIRECTION('',(0.,1.,0.)); +#176 = ORIENTED_EDGE('',*,*,#21,.F.); +#177 = ORIENTED_EDGE('',*,*,#178,.F.); +#178 = EDGE_CURVE('',#162,#22,#179,.T.); +#179 = LINE('',#180,#181); +#180 = CARTESIAN_POINT('',(26.824640127118,-5.,-55.23443461327)); +#181 = VECTOR('',#182,1.); +#182 = DIRECTION('',(0.,1.,0.)); +#183 = PLANE('',#184); +#184 = AXIS2_PLACEMENT_3D('',#185,#186,#187); +#185 = CARTESIAN_POINT('',(42.184838000445,-5.,-7.043416644207)); +#186 = DIRECTION('',(-0.952773183837,0.,0.30368282823)); +#187 = DIRECTION('',(-0.30368282823,0.,-0.952773183837)); +#188 = ADVANCED_FACE('',(#189),#207,.F.); +#189 = FACE_BOUND('',#190,.F.); +#190 = EDGE_LOOP('',(#191,#199,#205,#206)); +#191 = ORIENTED_EDGE('',*,*,#192,.T.); +#192 = EDGE_CURVE('',#164,#193,#195,.T.); +#193 = VERTEX_POINT('',#194); +#194 = CARTESIAN_POINT('',(35.041421356237,3.2,0.1)); +#195 = LINE('',#196,#197); +#196 = CARTESIAN_POINT('',(34.743124284224,3.2,0.398297072013)); +#197 = VECTOR('',#198,1.); +#198 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#199 = ORIENTED_EDGE('',*,*,#200,.T.); +#200 = EDGE_CURVE('',#193,#140,#201,.T.); +#201 = LINE('',#202,#203); +#202 = CARTESIAN_POINT('',(35.041421356237,-5.,0.1)); +#203 = VECTOR('',#204,1.); +#204 = DIRECTION('',(0.,1.,0.)); +#205 = ORIENTED_EDGE('',*,*,#147,.F.); +#206 = ORIENTED_EDGE('',*,*,#171,.F.); +#207 = PLANE('',#208); +#208 = AXIS2_PLACEMENT_3D('',#209,#210,#211); +#209 = CARTESIAN_POINT('',(35.041421356237,-5.,9.999999999998E-02)); +#210 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#211 = DIRECTION('',(0.707106781187,0.,-0.707106781187)); +#212 = ADVANCED_FACE('',(#213),#231,.T.); +#213 = FACE_BOUND('',#214,.T.); +#214 = EDGE_LOOP('',(#215,#223,#224,#225)); +#215 = ORIENTED_EDGE('',*,*,#216,.T.); +#216 = EDGE_CURVE('',#217,#193,#219,.T.); +#217 = VERTEX_POINT('',#218); +#218 = CARTESIAN_POINT('',(-32.57517518159,3.2,9.999999999998E-02)); +#219 = LINE('',#220,#221); +#220 = CARTESIAN_POINT('',(17.722238935846,3.2,0.1)); +#221 = VECTOR('',#222,1.); +#222 = DIRECTION('',(1.,0.,0.)); +#223 = ORIENTED_EDGE('',*,*,#200,.T.); +#224 = ORIENTED_EDGE('',*,*,#139,.F.); +#225 = ORIENTED_EDGE('',*,*,#226,.F.); +#226 = EDGE_CURVE('',#217,#131,#227,.T.); +#227 = LINE('',#228,#229); +#228 = CARTESIAN_POINT('',(-32.57517518159,-5.,9.999999999998E-02)); +#229 = VECTOR('',#230,1.); +#230 = DIRECTION('',(0.,1.,0.)); +#231 = PLANE('',#232); +#232 = AXIS2_PLACEMENT_3D('',#233,#234,#235); +#233 = CARTESIAN_POINT('',(35.041421356237,-5.,0.1)); +#234 = DIRECTION('',(0.,0.,1.)); +#235 = DIRECTION('',(-1.,0.,0.)); +#236 = ADVANCED_FACE('',(#237),#256,.T.); +#237 = FACE_BOUND('',#238,.F.); +#238 = EDGE_LOOP('',(#239,#248,#254,#255)); +#239 = ORIENTED_EDGE('',*,*,#240,.T.); +#240 = EDGE_CURVE('',#217,#241,#243,.T.); +#241 = VERTEX_POINT('',#242); +#242 = CARTESIAN_POINT('',(-36.7853207504,3.2,-1.643899394163)); +#243 = CIRCLE('',#244,5.954044962965); +#244 = AXIS2_PLACEMENT_3D('',#245,#246,#247); +#245 = CARTESIAN_POINT('',(-32.57517518159,3.2,-5.854044962965)); +#246 = DIRECTION('',(0.,-1.,0.)); +#247 = DIRECTION('',(1.,0.,0.)); +#248 = ORIENTED_EDGE('',*,*,#249,.T.); +#249 = EDGE_CURVE('',#241,#123,#250,.T.); +#250 = LINE('',#251,#252); +#251 = CARTESIAN_POINT('',(-36.7853207504,-5.,-1.643899394163)); +#252 = VECTOR('',#253,1.); +#253 = DIRECTION('',(0.,1.,0.)); +#254 = ORIENTED_EDGE('',*,*,#130,.F.); +#255 = ORIENTED_EDGE('',*,*,#226,.F.); +#256 = CYLINDRICAL_SURFACE('',#257,5.954044962965); +#257 = AXIS2_PLACEMENT_3D('',#258,#259,#260); +#258 = CARTESIAN_POINT('',(-32.57517518159,-5.,-5.854044962965)); +#259 = DIRECTION('',(0.,-1.,0.)); +#260 = DIRECTION('',(1.,0.,0.)); +#261 = ADVANCED_FACE('',(#262),#280,.T.); +#262 = FACE_BOUND('',#263,.T.); +#263 = EDGE_LOOP('',(#264,#272,#273,#274)); +#264 = ORIENTED_EDGE('',*,*,#265,.T.); +#265 = EDGE_CURVE('',#266,#241,#268,.T.); +#266 = VERTEX_POINT('',#267); +#267 = CARTESIAN_POINT('',(-39.62105538679,3.2,-4.479634030555)); +#268 = LINE('',#269,#270); +#269 = CARTESIAN_POINT('',(-35.41354572357,3.2,-0.272124367341)); +#270 = VECTOR('',#271,1.); +#271 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#272 = ORIENTED_EDGE('',*,*,#249,.T.); +#273 = ORIENTED_EDGE('',*,*,#122,.F.); +#274 = ORIENTED_EDGE('',*,*,#275,.F.); +#275 = EDGE_CURVE('',#266,#114,#276,.T.); +#276 = LINE('',#277,#278); +#277 = CARTESIAN_POINT('',(-39.62105538679,-5.,-4.479634030555)); +#278 = VECTOR('',#279,1.); +#279 = DIRECTION('',(0.,1.,0.)); +#280 = PLANE('',#281); +#281 = AXIS2_PLACEMENT_3D('',#282,#283,#284); +#282 = CARTESIAN_POINT('',(-36.7853207504,-5.,-1.643899394163)); +#283 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#284 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#285 = ADVANCED_FACE('',(#286),#305,.T.); +#286 = FACE_BOUND('',#287,.F.); +#287 = EDGE_LOOP('',(#288,#297,#303,#304)); +#288 = ORIENTED_EDGE('',*,*,#289,.T.); +#289 = EDGE_CURVE('',#266,#290,#292,.T.); +#290 = VERTEX_POINT('',#291); +#291 = CARTESIAN_POINT('',(-41.08376419406,3.2,-10.49792081311)); +#292 = CIRCLE('',#293,5.954044962965); +#293 = AXIS2_PLACEMENT_3D('',#294,#295,#296); +#294 = CARTESIAN_POINT('',(-35.41090981799,3.2,-8.689779599357)); +#295 = DIRECTION('',(0.,-1.,0.)); +#296 = DIRECTION('',(1.,0.,0.)); +#297 = ORIENTED_EDGE('',*,*,#298,.T.); +#298 = EDGE_CURVE('',#290,#106,#299,.T.); +#299 = LINE('',#300,#301); +#300 = CARTESIAN_POINT('',(-41.08376419406,-5.,-10.49792081311)); +#301 = VECTOR('',#302,1.); +#302 = DIRECTION('',(0.,1.,0.)); +#303 = ORIENTED_EDGE('',*,*,#113,.F.); +#304 = ORIENTED_EDGE('',*,*,#275,.F.); +#305 = CYLINDRICAL_SURFACE('',#306,5.954044962965); +#306 = AXIS2_PLACEMENT_3D('',#307,#308,#309); +#307 = CARTESIAN_POINT('',(-35.41090981799,-5.,-8.689779599357)); +#308 = DIRECTION('',(0.,-1.,0.)); +#309 = DIRECTION('',(1.,0.,0.)); +#310 = ADVANCED_FACE('',(#311),#329,.T.); +#311 = FACE_BOUND('',#312,.T.); +#312 = EDGE_LOOP('',(#313,#321,#322,#323)); +#313 = ORIENTED_EDGE('',*,*,#314,.T.); +#314 = EDGE_CURVE('',#315,#290,#317,.T.); +#315 = VERTEX_POINT('',#316); +#316 = CARTESIAN_POINT('',(-26.82464012711,3.2,-55.23443461327)); +#317 = LINE('',#318,#319); +#318 = CARTESIAN_POINT('',(-35.86541700774,3.2,-26.86994056823)); +#319 = VECTOR('',#320,1.); +#320 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#321 = ORIENTED_EDGE('',*,*,#298,.T.); +#322 = ORIENTED_EDGE('',*,*,#105,.F.); +#323 = ORIENTED_EDGE('',*,*,#324,.F.); +#324 = EDGE_CURVE('',#315,#98,#325,.T.); +#325 = LINE('',#326,#327); +#326 = CARTESIAN_POINT('',(-26.82464012711,-5.,-55.23443461327)); +#327 = VECTOR('',#328,1.); +#328 = DIRECTION('',(0.,1.,0.)); +#329 = PLANE('',#330); +#330 = AXIS2_PLACEMENT_3D('',#331,#332,#333); +#331 = CARTESIAN_POINT('',(-41.08376419406,-5.,-10.49792081311)); +#332 = DIRECTION('',(-0.952773183837,0.,-0.30368282823)); +#333 = DIRECTION('',(0.30368282823,0.,-0.952773183837)); +#334 = ADVANCED_FACE('',(#335),#353,.T.); +#335 = FACE_BOUND('',#336,.T.); +#336 = EDGE_LOOP('',(#337,#345,#346,#347)); +#337 = ORIENTED_EDGE('',*,*,#338,.T.); +#338 = EDGE_CURVE('',#339,#315,#341,.T.); +#339 = VERTEX_POINT('',#340); +#340 = CARTESIAN_POINT('',(-28.89758284854,3.2,-57.24050703685)); +#341 = LINE('',#342,#343); +#342 = CARTESIAN_POINT('',(-14.32522020853,3.2,-43.13822889076)); +#343 = VECTOR('',#344,1.); +#344 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#345 = ORIENTED_EDGE('',*,*,#324,.T.); +#346 = ORIENTED_EDGE('',*,*,#97,.F.); +#347 = ORIENTED_EDGE('',*,*,#348,.F.); +#348 = EDGE_CURVE('',#339,#89,#349,.T.); +#349 = LINE('',#350,#351); +#350 = CARTESIAN_POINT('',(-28.89758284854,-5.,-57.24050703685)); +#351 = VECTOR('',#352,1.); +#352 = DIRECTION('',(0.,1.,0.)); +#353 = PLANE('',#354); +#354 = AXIS2_PLACEMENT_3D('',#355,#356,#357); +#355 = CARTESIAN_POINT('',(-26.82464012711,-5.,-55.23443461327)); +#356 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#357 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#358 = ADVANCED_FACE('',(#359),#378,.T.); +#359 = FACE_BOUND('',#360,.F.); +#360 = EDGE_LOOP('',(#361,#370,#376,#377)); +#361 = ORIENTED_EDGE('',*,*,#362,.T.); +#362 = EDGE_CURVE('',#339,#363,#365,.T.); +#363 = VERTEX_POINT('',#364); +#364 = CARTESIAN_POINT('',(-29.01580660709,3.2,-64.4520272055)); +#365 = CIRCLE('',#366,5.1); +#366 = AXIS2_PLACEMENT_3D('',#367,#368,#369); +#367 = CARTESIAN_POINT('',(-25.35093464349,3.2,-60.90537900045)); +#368 = DIRECTION('',(0.,-1.,0.)); +#369 = DIRECTION('',(1.,0.,0.)); +#370 = ORIENTED_EDGE('',*,*,#371,.T.); +#371 = EDGE_CURVE('',#363,#81,#372,.T.); +#372 = LINE('',#373,#374); +#373 = CARTESIAN_POINT('',(-29.01580660709,-5.,-64.4520272055)); +#374 = VECTOR('',#375,1.); +#375 = DIRECTION('',(0.,1.,0.)); +#376 = ORIENTED_EDGE('',*,*,#88,.F.); +#377 = ORIENTED_EDGE('',*,*,#348,.F.); +#378 = CYLINDRICAL_SURFACE('',#379,5.1); +#379 = AXIS2_PLACEMENT_3D('',#380,#381,#382); +#380 = CARTESIAN_POINT('',(-25.35093464349,-5.,-60.90537900045)); +#381 = DIRECTION('',(0.,-1.,0.)); +#382 = DIRECTION('',(1.,0.,0.)); +#383 = ADVANCED_FACE('',(#384),#402,.T.); +#384 = FACE_BOUND('',#385,.T.); +#385 = EDGE_LOOP('',(#386,#394,#395,#396)); +#386 = ORIENTED_EDGE('',*,*,#387,.T.); +#387 = EDGE_CURVE('',#388,#363,#390,.T.); +#388 = VERTEX_POINT('',#389); +#389 = CARTESIAN_POINT('',(-27.78972445201,3.2,-65.71897950961)); +#390 = LINE('',#391,#392); +#391 = CARTESIAN_POINT('',(-29.67470230692,3.2,-63.77116791594)); +#392 = VECTOR('',#393,1.); +#393 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#394 = ORIENTED_EDGE('',*,*,#371,.T.); +#395 = ORIENTED_EDGE('',*,*,#80,.F.); +#396 = ORIENTED_EDGE('',*,*,#397,.F.); +#397 = EDGE_CURVE('',#388,#72,#398,.T.); +#398 = LINE('',#399,#400); +#399 = CARTESIAN_POINT('',(-27.78972445201,-5.,-65.71897950961)); +#400 = VECTOR('',#401,1.); +#401 = DIRECTION('',(0.,1.,0.)); +#402 = PLANE('',#403); +#403 = AXIS2_PLACEMENT_3D('',#404,#405,#406); +#404 = CARTESIAN_POINT('',(-29.01580660709,-5.,-64.4520272055)); +#405 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#406 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#407 = ADVANCED_FACE('',(#408),#427,.T.); +#408 = FACE_BOUND('',#409,.F.); +#409 = EDGE_LOOP('',(#410,#419,#425,#426)); +#410 = ORIENTED_EDGE('',*,*,#411,.T.); +#411 = EDGE_CURVE('',#388,#412,#414,.T.); +#412 = VERTEX_POINT('',#413); +#413 = CARTESIAN_POINT('',(-25.60006917852,3.2,-65.75487614033)); +#414 = CIRCLE('',#415,1.548528137424); +#415 = AXIS2_PLACEMENT_3D('',#416,#417,#418); +#416 = CARTESIAN_POINT('',(-26.67694849991,3.2,-64.64210018823)); +#417 = DIRECTION('',(0.,-1.,0.)); +#418 = DIRECTION('',(1.,0.,0.)); +#419 = ORIENTED_EDGE('',*,*,#420,.T.); +#420 = EDGE_CURVE('',#412,#64,#421,.T.); +#421 = LINE('',#422,#423); +#422 = CARTESIAN_POINT('',(-25.60006917852,-5.,-65.75487614033)); +#423 = VECTOR('',#424,1.); +#424 = DIRECTION('',(0.,1.,0.)); +#425 = ORIENTED_EDGE('',*,*,#71,.F.); +#426 = ORIENTED_EDGE('',*,*,#397,.F.); +#427 = CYLINDRICAL_SURFACE('',#428,1.548528137424); +#428 = AXIS2_PLACEMENT_3D('',#429,#430,#431); +#429 = CARTESIAN_POINT('',(-26.67694849991,-5.,-64.64210018823)); +#430 = DIRECTION('',(0.,-1.,0.)); +#431 = DIRECTION('',(1.,0.,0.)); +#432 = ADVANCED_FACE('',(#433),#451,.T.); +#433 = FACE_BOUND('',#434,.T.); +#434 = EDGE_LOOP('',(#435,#443,#444,#445)); +#435 = ORIENTED_EDGE('',*,*,#436,.T.); +#436 = EDGE_CURVE('',#437,#412,#439,.T.); +#437 = VERTEX_POINT('',#438); +#438 = CARTESIAN_POINT('',(-20.57248334837,3.2,-60.88947335481)); +#439 = LINE('',#440,#441); +#440 = CARTESIAN_POINT('',(-10.78812989347,3.2,-51.42074976419)); +#441 = VECTOR('',#442,1.); +#442 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#443 = ORIENTED_EDGE('',*,*,#420,.T.); +#444 = ORIENTED_EDGE('',*,*,#63,.F.); +#445 = ORIENTED_EDGE('',*,*,#446,.F.); +#446 = EDGE_CURVE('',#437,#56,#447,.T.); +#447 = LINE('',#448,#449); +#448 = CARTESIAN_POINT('',(-20.57248334837,-5.,-60.88947335481)); +#449 = VECTOR('',#450,1.); +#450 = DIRECTION('',(0.,1.,0.)); +#451 = PLANE('',#452); +#452 = AXIS2_PLACEMENT_3D('',#453,#454,#455); +#453 = CARTESIAN_POINT('',(-25.60006917852,-5.,-65.75487614033)); +#454 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#455 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#456 = ADVANCED_FACE('',(#457),#475,.F.); +#457 = FACE_BOUND('',#458,.F.); +#458 = EDGE_LOOP('',(#459,#467,#473,#474)); +#459 = ORIENTED_EDGE('',*,*,#460,.T.); +#460 = EDGE_CURVE('',#437,#461,#463,.T.); +#461 = VERTEX_POINT('',#462); +#462 = CARTESIAN_POINT('',(20.57248334837,3.2,-60.88947335481)); +#463 = LINE('',#464,#465); +#464 = CARTESIAN_POINT('',(10.487769931912,3.2,-60.88947335481)); +#465 = VECTOR('',#466,1.); +#466 = DIRECTION('',(1.,0.,0.)); +#467 = ORIENTED_EDGE('',*,*,#468,.T.); +#468 = EDGE_CURVE('',#461,#48,#469,.T.); +#469 = LINE('',#470,#471); +#470 = CARTESIAN_POINT('',(20.57248334837,-5.,-60.88947335481)); +#471 = VECTOR('',#472,1.); +#472 = DIRECTION('',(0.,1.,0.)); +#473 = ORIENTED_EDGE('',*,*,#55,.F.); +#474 = ORIENTED_EDGE('',*,*,#446,.F.); +#475 = PLANE('',#476); +#476 = AXIS2_PLACEMENT_3D('',#477,#478,#479); +#477 = CARTESIAN_POINT('',(20.57248334837,-5.,-60.88947335481)); +#478 = DIRECTION('',(0.,0.,1.)); +#479 = DIRECTION('',(-1.,0.,0.)); +#480 = ADVANCED_FACE('',(#481),#499,.F.); +#481 = FACE_BOUND('',#482,.F.); +#482 = EDGE_LOOP('',(#483,#491,#497,#498)); +#483 = ORIENTED_EDGE('',*,*,#484,.T.); +#484 = EDGE_CURVE('',#461,#485,#487,.T.); +#485 = VERTEX_POINT('',#486); +#486 = CARTESIAN_POINT('',(26.712845130625,3.2,-66.83175546171)); +#487 = LINE('',#488,#489); +#488 = CARTESIAN_POINT('',(11.552651954056,3.2,-52.16060938843)); +#489 = VECTOR('',#490,1.); +#490 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#491 = ORIENTED_EDGE('',*,*,#492,.T.); +#492 = EDGE_CURVE('',#485,#40,#493,.T.); +#493 = LINE('',#494,#495); +#494 = CARTESIAN_POINT('',(26.712845130625,-5.,-66.83175546171)); +#495 = VECTOR('',#496,1.); +#496 = DIRECTION('',(0.,1.,0.)); +#497 = ORIENTED_EDGE('',*,*,#47,.F.); +#498 = ORIENTED_EDGE('',*,*,#468,.F.); +#499 = PLANE('',#500); +#500 = AXIS2_PLACEMENT_3D('',#501,#502,#503); +#501 = CARTESIAN_POINT('',(26.712845130625,-5.,-66.83175546171)); +#502 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#503 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#504 = ADVANCED_FACE('',(#505),#523,.F.); +#505 = FACE_BOUND('',#506,.F.); +#506 = EDGE_LOOP('',(#507,#515,#521,#522)); +#507 = ORIENTED_EDGE('',*,*,#508,.T.); +#508 = EDGE_CURVE('',#485,#509,#511,.T.); +#509 = VERTEX_POINT('',#510); +#510 = CARTESIAN_POINT('',(32.56245481215,3.2,-60.7871552419)); +#511 = LINE('',#512,#513); +#512 = CARTESIAN_POINT('',(31.642948840372,3.2,-61.73731197059)); +#513 = VECTOR('',#514,1.); +#514 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#515 = ORIENTED_EDGE('',*,*,#516,.T.); +#516 = EDGE_CURVE('',#509,#32,#517,.T.); +#517 = LINE('',#518,#519); +#518 = CARTESIAN_POINT('',(32.56245481215,-5.,-60.7871552419)); +#519 = VECTOR('',#520,1.); +#520 = DIRECTION('',(0.,1.,0.)); +#521 = ORIENTED_EDGE('',*,*,#39,.F.); +#522 = ORIENTED_EDGE('',*,*,#492,.F.); +#523 = PLANE('',#524); +#524 = AXIS2_PLACEMENT_3D('',#525,#526,#527); +#525 = CARTESIAN_POINT('',(32.56245481215,-5.,-60.7871552419)); +#526 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#527 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#528 = ADVANCED_FACE('',(#529),#540,.F.); +#529 = FACE_BOUND('',#530,.F.); +#530 = EDGE_LOOP('',(#531,#537,#538,#539)); +#531 = ORIENTED_EDGE('',*,*,#532,.T.); +#532 = EDGE_CURVE('',#509,#162,#533,.T.); +#533 = LINE('',#534,#535); +#534 = CARTESIAN_POINT('',(14.533354293065,3.2,-43.3396488543)); +#535 = VECTOR('',#536,1.); +#536 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#537 = ORIENTED_EDGE('',*,*,#178,.T.); +#538 = ORIENTED_EDGE('',*,*,#31,.F.); +#539 = ORIENTED_EDGE('',*,*,#516,.F.); +#540 = PLANE('',#541); +#541 = AXIS2_PLACEMENT_3D('',#542,#543,#544); +#542 = CARTESIAN_POINT('',(26.824640127118,-5.,-55.23443461327)); +#543 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#544 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#545 = ADVANCED_FACE('',(#546,#564,#614,#648,#659),#670,.F.); +#546 = FACE_BOUND('',#547,.F.); +#547 = EDGE_LOOP('',(#548,#549,#550,#551,#552,#553,#554,#555,#556,#557, + #558,#559,#560,#561,#562,#563)); +#548 = ORIENTED_EDGE('',*,*,#161,.F.); +#549 = ORIENTED_EDGE('',*,*,#532,.F.); +#550 = ORIENTED_EDGE('',*,*,#508,.F.); +#551 = ORIENTED_EDGE('',*,*,#484,.F.); +#552 = ORIENTED_EDGE('',*,*,#460,.F.); +#553 = ORIENTED_EDGE('',*,*,#436,.T.); +#554 = ORIENTED_EDGE('',*,*,#411,.F.); +#555 = ORIENTED_EDGE('',*,*,#387,.T.); +#556 = ORIENTED_EDGE('',*,*,#362,.F.); +#557 = ORIENTED_EDGE('',*,*,#338,.T.); +#558 = ORIENTED_EDGE('',*,*,#314,.T.); +#559 = ORIENTED_EDGE('',*,*,#289,.F.); +#560 = ORIENTED_EDGE('',*,*,#265,.T.); +#561 = ORIENTED_EDGE('',*,*,#240,.F.); +#562 = ORIENTED_EDGE('',*,*,#216,.T.); +#563 = ORIENTED_EDGE('',*,*,#192,.F.); +#564 = FACE_BOUND('',#565,.F.); +#565 = EDGE_LOOP('',(#566,#576,#584,#592,#600,#608)); +#566 = ORIENTED_EDGE('',*,*,#567,.F.); +#567 = EDGE_CURVE('',#568,#570,#572,.T.); +#568 = VERTEX_POINT('',#569); +#569 = CARTESIAN_POINT('',(16.626582997737,3.2,-8.940188245231)); +#570 = VERTEX_POINT('',#571); +#571 = CARTESIAN_POINT('',(4.383041634064E-04,3.2,-8.903751615529)); +#572 = LINE('',#573,#574); +#573 = CARTESIAN_POINT('',(4.347099726942,3.2,-8.913277437397)); +#574 = VECTOR('',#575,1.); +#575 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#576 = ORIENTED_EDGE('',*,*,#577,.F.); +#577 = EDGE_CURVE('',#578,#568,#580,.T.); +#578 = VERTEX_POINT('',#579); +#579 = CARTESIAN_POINT('',(19.029295926024,3.2,-17.63009960955)); +#580 = LINE('',#581,#582); +#581 = CARTESIAN_POINT('',(19.849519003668,3.2,-20.59660707692)); +#582 = VECTOR('',#583,1.); +#583 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#584 = ORIENTED_EDGE('',*,*,#585,.F.); +#585 = EDGE_CURVE('',#586,#578,#588,.T.); +#586 = VERTEX_POINT('',#587); +#587 = CARTESIAN_POINT('',(22.059435554995,3.2,-3.734519760785)); +#588 = LINE('',#589,#590); +#589 = CARTESIAN_POINT('',(17.698510515043,3.2,-23.73280021221)); +#590 = VECTOR('',#591,1.); +#591 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#592 = ORIENTED_EDGE('',*,*,#593,.F.); +#593 = EDGE_CURVE('',#594,#586,#596,.T.); +#594 = VERTEX_POINT('',#595); +#595 = CARTESIAN_POINT('',(-21.72552223146,3.2,-3.734519760785)); +#596 = LINE('',#597,#598); +#597 = CARTESIAN_POINT('',(0.297084840953,3.2,-3.734519760785)); +#598 = VECTOR('',#599,1.); +#599 = DIRECTION('',(1.,0.,0.)); +#600 = ORIENTED_EDGE('',*,*,#601,.F.); +#601 = EDGE_CURVE('',#602,#594,#604,.T.); +#602 = VERTEX_POINT('',#603); +#603 = CARTESIAN_POINT('',(-21.72552223146,3.2,-8.903751135252)); +#604 = LINE('',#605,#606); +#605 = CARTESIAN_POINT('',(-21.72552223146,3.2,-19.83215600037)); +#606 = VECTOR('',#607,1.); +#607 = DIRECTION('',(0.,0.,1.)); +#608 = ORIENTED_EDGE('',*,*,#609,.F.); +#609 = EDGE_CURVE('',#570,#602,#610,.T.); +#610 = LINE('',#611,#612); +#611 = CARTESIAN_POINT('',(-5.279852300138,3.2,-8.903751135252)); +#612 = VECTOR('',#613,1.); +#613 = DIRECTION('',(-1.,0.,0.)); +#614 = FACE_BOUND('',#615,.F.); +#615 = EDGE_LOOP('',(#616,#626,#634,#642)); +#616 = ORIENTED_EDGE('',*,*,#617,.F.); +#617 = EDGE_CURVE('',#618,#620,#622,.T.); +#618 = VERTEX_POINT('',#619); +#619 = CARTESIAN_POINT('',(5.809375885494,3.2,-13.06417917474)); +#620 = VERTEX_POINT('',#621); +#621 = CARTESIAN_POINT('',(2.688069798796,3.2,-49.64588621989)); +#622 = LINE('',#623,#624); +#623 = CARTESIAN_POINT('',(4.914157977861,3.2,-23.55613296875)); +#624 = VECTOR('',#625,1.); +#625 = DIRECTION('',(-8.501532861638E-02,0.,-0.996379643459)); +#626 = ORIENTED_EDGE('',*,*,#627,.F.); +#627 = EDGE_CURVE('',#628,#618,#630,.T.); +#628 = VERTEX_POINT('',#629); +#629 = CARTESIAN_POINT('',(-5.809375885494,3.2,-13.06417917474)); +#630 = LINE('',#631,#632); +#631 = CARTESIAN_POINT('',(1.615747408047,3.2,-13.06417917474)); +#632 = VECTOR('',#633,1.); +#633 = DIRECTION('',(1.,0.,-3.066574716487E-16)); +#634 = ORIENTED_EDGE('',*,*,#635,.F.); +#635 = EDGE_CURVE('',#636,#628,#638,.T.); +#636 = VERTEX_POINT('',#637); +#637 = CARTESIAN_POINT('',(-2.688069798796,3.2,-49.64588621989)); +#638 = LINE('',#639,#640); +#639 = CARTESIAN_POINT('',(-4.890802006217,3.2,-23.82986495424)); +#640 = VECTOR('',#641,1.); +#641 = DIRECTION('',(-8.501532861638E-02,0.,0.996379643459)); +#642 = ORIENTED_EDGE('',*,*,#643,.F.); +#643 = EDGE_CURVE('',#620,#636,#644,.T.); +#644 = LINE('',#645,#646); +#645 = CARTESIAN_POINT('',(1.615747408047,3.2,-49.64588621989)); +#646 = VECTOR('',#647,1.); +#647 = DIRECTION('',(-1.,0.,0.)); +#648 = FACE_BOUND('',#649,.F.); +#649 = EDGE_LOOP('',(#650)); +#650 = ORIENTED_EDGE('',*,*,#651,.F.); +#651 = EDGE_CURVE('',#652,#652,#654,.T.); +#652 = VERTEX_POINT('',#653); +#653 = CARTESIAN_POINT('',(-11.6927539352,3.2,-48.00951684793)); +#654 = CIRCLE('',#655,4.735522705283); +#655 = AXIS2_PLACEMENT_3D('',#656,#657,#658); +#656 = CARTESIAN_POINT('',(-16.42827664048,3.2,-48.00951684793)); +#657 = DIRECTION('',(-0.,1.,0.)); +#658 = DIRECTION('',(1.,0.,0.)); +#659 = FACE_BOUND('',#660,.F.); +#660 = EDGE_LOOP('',(#661)); +#661 = ORIENTED_EDGE('',*,*,#662,.F.); +#662 = EDGE_CURVE('',#663,#663,#665,.T.); +#663 = VERTEX_POINT('',#664); +#664 = CARTESIAN_POINT('',(21.163799345768,3.2,-48.00951684793)); +#665 = CIRCLE('',#666,4.735522705283); +#666 = AXIS2_PLACEMENT_3D('',#667,#668,#669); +#667 = CARTESIAN_POINT('',(16.428276640485,3.2,-48.00951684793)); +#668 = DIRECTION('',(-0.,1.,0.)); +#669 = DIRECTION('',(1.,0.,0.)); +#670 = PLANE('',#671); +#671 = AXIS2_PLACEMENT_3D('',#672,#673,#674); +#672 = CARTESIAN_POINT('',(0.403056515455,3.2,-33.34517655273)); +#673 = DIRECTION('',(0.,1.,0.)); +#674 = DIRECTION('',(1.,0.,0.)); +#675 = ADVANCED_FACE('',(#676),#701,.T.); +#676 = FACE_BOUND('',#677,.T.); +#677 = EDGE_LOOP('',(#678,#686,#694,#700)); +#678 = ORIENTED_EDGE('',*,*,#679,.F.); +#679 = EDGE_CURVE('',#680,#568,#682,.T.); +#680 = VERTEX_POINT('',#681); +#681 = CARTESIAN_POINT('',(16.626582997737,0.,-8.940188245231)); +#682 = LINE('',#683,#684); +#683 = CARTESIAN_POINT('',(16.626582997737,-22.,-8.940188245231)); +#684 = VECTOR('',#685,1.); +#685 = DIRECTION('',(0.,1.,0.)); +#686 = ORIENTED_EDGE('',*,*,#687,.T.); +#687 = EDGE_CURVE('',#680,#688,#690,.T.); +#688 = VERTEX_POINT('',#689); +#689 = CARTESIAN_POINT('',(-5.329070518201E-15,0.,-8.903751135252)); +#690 = LINE('',#691,#692); +#691 = CARTESIAN_POINT('',(-18.54556462154,1.7763568394E-15, + -8.863107566442)); +#692 = VECTOR('',#693,1.); +#693 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#694 = ORIENTED_EDGE('',*,*,#695,.T.); +#695 = EDGE_CURVE('',#688,#570,#696,.T.); +#696 = LINE('',#697,#698); +#697 = CARTESIAN_POINT('',(-5.329070518201E-15,-22.,-8.903751135252)); +#698 = VECTOR('',#699,1.); +#699 = DIRECTION('',(0.,1.,0.)); +#700 = ORIENTED_EDGE('',*,*,#567,.F.); +#701 = PLANE('',#702); +#702 = AXIS2_PLACEMENT_3D('',#703,#704,#705); +#703 = CARTESIAN_POINT('',(8.237581109188,-22.,-8.921803528809)); +#704 = DIRECTION('',(-2.19152081707E-03,0.,-0.999997598615)); +#705 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#706 = ADVANCED_FACE('',(#707),#725,.T.); +#707 = FACE_BOUND('',#708,.T.); +#708 = EDGE_LOOP('',(#709,#717,#723,#724)); +#709 = ORIENTED_EDGE('',*,*,#710,.F.); +#710 = EDGE_CURVE('',#711,#578,#713,.T.); +#711 = VERTEX_POINT('',#712); +#712 = CARTESIAN_POINT('',(19.029295926024,0.,-17.63009960955)); +#713 = LINE('',#714,#715); +#714 = CARTESIAN_POINT('',(19.029295926024,-22.,-17.63009960955)); +#715 = VECTOR('',#716,1.); +#716 = DIRECTION('',(0.,1.,0.)); +#717 = ORIENTED_EDGE('',*,*,#718,.T.); +#718 = EDGE_CURVE('',#711,#680,#719,.T.); +#719 = LINE('',#720,#721); +#720 = CARTESIAN_POINT('',(23.053273013696,0.,-32.18365022821)); +#721 = VECTOR('',#722,1.); +#722 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#723 = ORIENTED_EDGE('',*,*,#679,.T.); +#724 = ORIENTED_EDGE('',*,*,#577,.F.); +#725 = PLANE('',#726); +#726 = AXIS2_PLACEMENT_3D('',#727,#728,#729); +#727 = CARTESIAN_POINT('',(17.956031892536,-22.,-13.7484168618)); +#728 = DIRECTION('',(-0.963836182336,0.,-0.26649542889)); +#729 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#730 = ADVANCED_FACE('',(#731),#749,.T.); +#731 = FACE_BOUND('',#732,.T.); +#732 = EDGE_LOOP('',(#733,#741,#747,#748)); +#733 = ORIENTED_EDGE('',*,*,#734,.T.); +#734 = EDGE_CURVE('',#688,#735,#737,.T.); +#735 = VERTEX_POINT('',#736); +#736 = CARTESIAN_POINT('',(-21.72552223146,0.,-8.903751135252)); +#737 = LINE('',#738,#739); +#738 = CARTESIAN_POINT('',(-28.21385794834,0.,-8.903751135252)); +#739 = VECTOR('',#740,1.); +#740 = DIRECTION('',(-1.,0.,0.)); +#741 = ORIENTED_EDGE('',*,*,#742,.T.); +#742 = EDGE_CURVE('',#735,#602,#743,.T.); +#743 = LINE('',#744,#745); +#744 = CARTESIAN_POINT('',(-21.72552223146,-22.,-8.903751135252)); +#745 = VECTOR('',#746,1.); +#746 = DIRECTION('',(0.,1.,0.)); +#747 = ORIENTED_EDGE('',*,*,#609,.F.); +#748 = ORIENTED_EDGE('',*,*,#695,.F.); +#749 = PLANE('',#750); +#750 = AXIS2_PLACEMENT_3D('',#751,#752,#753); +#751 = CARTESIAN_POINT('',(-10.96276111573,-22.,-8.903751135252)); +#752 = DIRECTION('',(0.,0.,-1.)); +#753 = DIRECTION('',(0.,1.,0.)); +#754 = ADVANCED_FACE('',(#755),#773,.T.); +#755 = FACE_BOUND('',#756,.T.); +#756 = EDGE_LOOP('',(#757,#765,#766,#767)); +#757 = ORIENTED_EDGE('',*,*,#758,.T.); +#758 = EDGE_CURVE('',#759,#711,#761,.T.); +#759 = VERTEX_POINT('',#760); +#760 = CARTESIAN_POINT('',(22.059435554995,0.,-3.734519760785)); +#761 = LINE('',#762,#763); +#762 = CARTESIAN_POINT('',(12.741012548745,1.7763568394E-15, + -46.46683800444)); +#763 = VECTOR('',#764,1.); +#764 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#765 = ORIENTED_EDGE('',*,*,#710,.T.); +#766 = ORIENTED_EDGE('',*,*,#585,.F.); +#767 = ORIENTED_EDGE('',*,*,#768,.F.); +#768 = EDGE_CURVE('',#759,#586,#769,.T.); +#769 = LINE('',#770,#771); +#770 = CARTESIAN_POINT('',(22.059435554995,-22.,-3.734519760785)); +#771 = VECTOR('',#772,1.); +#772 = DIRECTION('',(0.,1.,0.)); +#773 = PLANE('',#774); +#774 = AXIS2_PLACEMENT_3D('',#775,#776,#777); +#775 = CARTESIAN_POINT('',(20.484588228021,-22.,-10.95643672209)); +#776 = DIRECTION('',(0.977039526026,0.,-0.213058124893)); +#777 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#778 = ADVANCED_FACE('',(#779),#797,.T.); +#779 = FACE_BOUND('',#780,.T.); +#780 = EDGE_LOOP('',(#781,#789,#795,#796)); +#781 = ORIENTED_EDGE('',*,*,#782,.T.); +#782 = EDGE_CURVE('',#735,#783,#785,.T.); +#783 = VERTEX_POINT('',#784); +#784 = CARTESIAN_POINT('',(-21.72552223146,0.,-3.734519760785)); +#785 = LINE('',#786,#787); +#786 = CARTESIAN_POINT('',(-21.72552223146,0.,-38.64614663299)); +#787 = VECTOR('',#788,1.); +#788 = DIRECTION('',(0.,0.,1.)); +#789 = ORIENTED_EDGE('',*,*,#790,.T.); +#790 = EDGE_CURVE('',#783,#594,#791,.T.); +#791 = LINE('',#792,#793); +#792 = CARTESIAN_POINT('',(-21.72552223146,-22.,-3.734519760785)); +#793 = VECTOR('',#794,1.); +#794 = DIRECTION('',(0.,1.,0.)); +#795 = ORIENTED_EDGE('',*,*,#601,.F.); +#796 = ORIENTED_EDGE('',*,*,#742,.F.); +#797 = PLANE('',#798); +#798 = AXIS2_PLACEMENT_3D('',#799,#800,#801); +#799 = CARTESIAN_POINT('',(-21.72552223146,-22.,-6.319135448019)); +#800 = DIRECTION('',(-1.,0.,0.)); +#801 = DIRECTION('',(0.,1.,0.)); +#802 = ADVANCED_FACE('',(#803),#814,.T.); +#803 = FACE_BOUND('',#804,.T.); +#804 = EDGE_LOOP('',(#805,#811,#812,#813)); +#805 = ORIENTED_EDGE('',*,*,#806,.T.); +#806 = EDGE_CURVE('',#783,#759,#807,.T.); +#807 = LINE('',#808,#809); +#808 = CARTESIAN_POINT('',(-22.63692080725,0.,-3.734519760785)); +#809 = VECTOR('',#810,1.); +#810 = DIRECTION('',(1.,0.,0.)); +#811 = ORIENTED_EDGE('',*,*,#768,.T.); +#812 = ORIENTED_EDGE('',*,*,#593,.F.); +#813 = ORIENTED_EDGE('',*,*,#790,.F.); +#814 = PLANE('',#815); +#815 = AXIS2_PLACEMENT_3D('',#816,#817,#818); +#816 = CARTESIAN_POINT('',(0.19111316645,-22.,-3.734519760785)); +#817 = DIRECTION('',(0.,0.,1.)); +#818 = DIRECTION('',(0.,-1.,0.)); +#819 = ADVANCED_FACE('',(#820),#845,.F.); +#820 = FACE_BOUND('',#821,.F.); +#821 = EDGE_LOOP('',(#822,#832,#838,#839)); +#822 = ORIENTED_EDGE('',*,*,#823,.T.); +#823 = EDGE_CURVE('',#824,#826,#828,.T.); +#824 = VERTEX_POINT('',#825); +#825 = CARTESIAN_POINT('',(1.480297366167E-15,11.242400581089, + -46.71869179633)); +#826 = VERTEX_POINT('',#827); +#827 = CARTESIAN_POINT('',(3.256654205567E-15,17.8572529153, + -18.39898295202)); +#828 = LINE('',#829,#830); +#829 = CARTESIAN_POINT('',(2.6645352591E-15,18.133069549222, + -17.21814831317)); +#830 = VECTOR('',#831,1.); +#831 = DIRECTION('',(5.275122655165E-17,0.227455280238,0.97378852709)); +#832 = ORIENTED_EDGE('',*,*,#833,.F.); +#833 = EDGE_CURVE('',#618,#826,#834,.T.); +#834 = LINE('',#835,#836); +#835 = CARTESIAN_POINT('',(5.649679875255,3.602918464526,-13.21082950266 + )); +#836 = VECTOR('',#837,1.); +#837 = DIRECTION('',(-0.349023821871,0.880598971639,-0.320511814002)); +#838 = ORIENTED_EDGE('',*,*,#617,.T.); +#839 = ORIENTED_EDGE('',*,*,#840,.T.); +#840 = EDGE_CURVE('',#620,#824,#841,.T.); +#841 = LINE('',#842,#843); +#842 = CARTESIAN_POINT('',(1.103762571829,7.940067898719,-47.92064259636 + )); +#843 = VECTOR('',#844,1.); +#844 = DIRECTION('',(-0.299648208284,0.896513522642,0.326304236859)); +#845 = PLANE('',#846); +#846 = AXIS2_PLACEMENT_3D('',#847,#848,#849); +#847 = CARTESIAN_POINT('',(5.823691883056,3.068404028665,-13.45978839622 + )); +#848 = DIRECTION('',(0.93629059846,0.342020143326,-7.988827695448E-02)); +#849 = DIRECTION('',(-0.340781908463,0.939692620786,2.907695487825E-02) + ); +#850 = ADVANCED_FACE('',(#851),#861,.F.); +#851 = FACE_BOUND('',#852,.F.); +#852 = EDGE_LOOP('',(#853,#854,#860)); +#853 = ORIENTED_EDGE('',*,*,#833,.T.); +#854 = ORIENTED_EDGE('',*,*,#855,.T.); +#855 = EDGE_CURVE('',#826,#628,#856,.T.); +#856 = LINE('',#857,#858); +#857 = CARTESIAN_POINT('',(-5.275833888477,4.546144602338, + -13.55413574101)); +#858 = VECTOR('',#859,1.); +#859 = DIRECTION('',(-0.349023821871,-0.880598971639,0.320511814002)); +#860 = ORIENTED_EDGE('',*,*,#627,.T.); +#861 = PLANE('',#862); +#862 = AXIS2_PLACEMENT_3D('',#863,#864,#865); +#863 = CARTESIAN_POINT('',(2.828438300639,3.068404028665,-13.01628215822 + )); +#864 = DIRECTION('',(2.88163763217E-16,0.342020143326,0.939692620786)); +#865 = DIRECTION('',(-1.048830324052E-16,0.939692620786,-0.342020143326) + ); +#866 = ADVANCED_FACE('',(#867),#877,.F.); +#867 = FACE_BOUND('',#868,.F.); +#868 = EDGE_LOOP('',(#869,#875,#876)); +#869 = ORIENTED_EDGE('',*,*,#870,.T.); +#870 = EDGE_CURVE('',#636,#824,#871,.T.); +#871 = LINE('',#872,#873); +#872 = CARTESIAN_POINT('',(-0.871390517001,8.635298785064, + -47.66759924779)); +#873 = VECTOR('',#874,1.); +#874 = DIRECTION('',(0.299648208284,0.896513522642,0.326304236859)); +#875 = ORIENTED_EDGE('',*,*,#840,.F.); +#876 = ORIENTED_EDGE('',*,*,#643,.T.); +#877 = PLANE('',#878); +#878 = AXIS2_PLACEMENT_3D('',#879,#880,#881); +#879 = CARTESIAN_POINT('',(2.828438300639,3.068404028665,-49.69378323641 + )); +#880 = DIRECTION('',(0.,0.342020143326,-0.939692620786)); +#881 = DIRECTION('',(0.,0.939692620786,0.342020143326)); +#882 = ADVANCED_FACE('',(#883),#889,.F.); +#883 = FACE_BOUND('',#884,.F.); +#884 = EDGE_LOOP('',(#885,#886,#887,#888)); +#885 = ORIENTED_EDGE('',*,*,#635,.T.); +#886 = ORIENTED_EDGE('',*,*,#855,.F.); +#887 = ORIENTED_EDGE('',*,*,#823,.F.); +#888 = ORIENTED_EDGE('',*,*,#870,.F.); +#889 = PLANE('',#890); +#890 = AXIS2_PLACEMENT_3D('',#891,#892,#893); +#891 = CARTESIAN_POINT('',(-5.782806207227,3.068404028665, + -13.93896851312)); +#892 = DIRECTION('',(-0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#893 = DIRECTION('',(0.340781908463,0.939692620786,2.907695487825E-02)); +#894 = ADVANCED_FACE('',(#895),#914,.T.); +#895 = FACE_BOUND('',#896,.T.); +#896 = EDGE_LOOP('',(#897,#906,#912,#913)); +#897 = ORIENTED_EDGE('',*,*,#898,.T.); +#898 = EDGE_CURVE('',#899,#899,#901,.T.); +#899 = VERTEX_POINT('',#900); +#900 = CARTESIAN_POINT('',(-11.6927539352,0.,-48.00951684793)); +#901 = CIRCLE('',#902,4.735522705283); +#902 = AXIS2_PLACEMENT_3D('',#903,#904,#905); +#903 = CARTESIAN_POINT('',(-16.42827664048,0.,-48.00951684793)); +#904 = DIRECTION('',(-0.,1.,0.)); +#905 = DIRECTION('',(1.,0.,0.)); +#906 = ORIENTED_EDGE('',*,*,#907,.T.); +#907 = EDGE_CURVE('',#899,#652,#908,.T.); +#908 = LINE('',#909,#910); +#909 = CARTESIAN_POINT('',(-11.6927539352,-22.,-48.00951684793)); +#910 = VECTOR('',#911,1.); +#911 = DIRECTION('',(0.,1.,0.)); +#912 = ORIENTED_EDGE('',*,*,#651,.F.); +#913 = ORIENTED_EDGE('',*,*,#907,.F.); +#914 = CYLINDRICAL_SURFACE('',#915,4.735522705283); +#915 = AXIS2_PLACEMENT_3D('',#916,#917,#918); +#916 = CARTESIAN_POINT('',(-16.42827664048,-22.,-48.00951684793)); +#917 = DIRECTION('',(0.,1.,0.)); +#918 = DIRECTION('',(1.,0.,0.)); +#919 = ADVANCED_FACE('',(#920),#939,.T.); +#920 = FACE_BOUND('',#921,.T.); +#921 = EDGE_LOOP('',(#922,#931,#937,#938)); +#922 = ORIENTED_EDGE('',*,*,#923,.T.); +#923 = EDGE_CURVE('',#924,#924,#926,.T.); +#924 = VERTEX_POINT('',#925); +#925 = CARTESIAN_POINT('',(21.163799345768,0.,-48.00951684793)); +#926 = CIRCLE('',#927,4.735522705283); +#927 = AXIS2_PLACEMENT_3D('',#928,#929,#930); +#928 = CARTESIAN_POINT('',(16.428276640485,0.,-48.00951684793)); +#929 = DIRECTION('',(-0.,1.,0.)); +#930 = DIRECTION('',(1.,0.,0.)); +#931 = ORIENTED_EDGE('',*,*,#932,.T.); +#932 = EDGE_CURVE('',#924,#663,#933,.T.); +#933 = LINE('',#934,#935); +#934 = CARTESIAN_POINT('',(21.163799345768,-22.,-48.00951684793)); +#935 = VECTOR('',#936,1.); +#936 = DIRECTION('',(0.,1.,0.)); +#937 = ORIENTED_EDGE('',*,*,#662,.F.); +#938 = ORIENTED_EDGE('',*,*,#932,.F.); +#939 = CYLINDRICAL_SURFACE('',#940,4.735522705283); +#940 = AXIS2_PLACEMENT_3D('',#941,#942,#943); +#941 = CARTESIAN_POINT('',(16.428276640485,-22.,-48.00951684793)); +#942 = DIRECTION('',(0.,1.,0.)); +#943 = DIRECTION('',(1.,0.,0.)); +#944 = ADVANCED_FACE('',(#945),#953,.F.); +#945 = FACE_BOUND('',#946,.F.); +#946 = EDGE_LOOP('',(#947,#948,#949,#950,#951,#952)); +#947 = ORIENTED_EDGE('',*,*,#718,.T.); +#948 = ORIENTED_EDGE('',*,*,#687,.T.); +#949 = ORIENTED_EDGE('',*,*,#734,.T.); +#950 = ORIENTED_EDGE('',*,*,#782,.T.); +#951 = ORIENTED_EDGE('',*,*,#806,.T.); +#952 = ORIENTED_EDGE('',*,*,#758,.T.); +#953 = PLANE('',#954); +#954 = AXIS2_PLACEMENT_3D('',#955,#956,#957); +#955 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#956 = DIRECTION('',(0.,1.,0.)); +#957 = DIRECTION('',(0.,0.,1.)); +#958 = ADVANCED_FACE('',(#959),#962,.F.); +#959 = FACE_BOUND('',#960,.F.); +#960 = EDGE_LOOP('',(#961)); +#961 = ORIENTED_EDGE('',*,*,#898,.T.); +#962 = PLANE('',#963); +#963 = AXIS2_PLACEMENT_3D('',#964,#965,#966); +#964 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#965 = DIRECTION('',(0.,1.,0.)); +#966 = DIRECTION('',(0.,0.,1.)); +#967 = ADVANCED_FACE('',(#968),#971,.F.); +#968 = FACE_BOUND('',#969,.F.); +#969 = EDGE_LOOP('',(#970)); +#970 = ORIENTED_EDGE('',*,*,#923,.T.); +#971 = PLANE('',#972); +#972 = AXIS2_PLACEMENT_3D('',#973,#974,#975); +#973 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#974 = DIRECTION('',(0.,1.,0.)); +#975 = DIRECTION('',(0.,0.,1.)); +#976 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#980)) GLOBAL_UNIT_ASSIGNED_CONTEXT +((#977,#978,#979)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#977 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#978 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#979 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#980 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-06),#977, + 'distance_accuracy_value','confusion accuracy'); +#981 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.stl b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.stl new file mode 100644 index 0000000000..940dab90f7 Binary files /dev/null and b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed.stl differ diff --git a/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.step b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.step new file mode 100644 index 0000000000..14e61e2877 --- /dev/null +++ b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.step @@ -0,0 +1,1604 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2026-08-05T11:06:23',('FreeCAD'),( + 'FreeCAD'),'Open CASCADE STEP processor 7.8','FreeCAD','Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('Open CASCADE STEP translator 7.8 2', + 'Open CASCADE STEP translator 7.8 2','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#1522); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = MANIFOLD_SOLID_BREP('',#16); +#16 = CLOSED_SHELL('',(#17,#291,#322,#346,#370,#395,#419,#444,#468,#492, + #517,#541,#566,#590,#614,#638,#662,#679,#710,#734,#758,#782,#806, + #830,#854,#878,#903,#928,#952,#976,#1001,#1026,#1050,#1067,#1091, + #1221,#1252,#1276,#1300,#1324,#1348,#1365,#1390,#1421,#1437,#1454, + #1465,#1490,#1504,#1513)); +#17 = ADVANCED_FACE('',(#18,#152),#286,.F.); +#18 = FACE_BOUND('',#19,.F.); +#19 = EDGE_LOOP('',(#20,#30,#38,#46,#54,#62,#70,#79,#87,#96,#104,#112, + #121,#129,#138,#146)); +#20 = ORIENTED_EDGE('',*,*,#21,.F.); +#21 = EDGE_CURVE('',#22,#24,#26,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(28.536336768195,0.,-54.80352892379)); +#24 = VERTEX_POINT('',#25); +#25 = CARTESIAN_POINT('',(43.891390829132,0.,-6.628649129335)); +#26 = LINE('',#27,#28); +#27 = CARTESIAN_POINT('',(30.462276491561,4.440892098501E-16, + -48.76109401628)); +#28 = VECTOR('',#29,1.); +#29 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#30 = ORIENTED_EDGE('',*,*,#31,.F.); +#31 = EDGE_CURVE('',#32,#22,#34,.T.); +#32 = VERTEX_POINT('',#33); +#33 = CARTESIAN_POINT('',(34.683490155872,0.,-60.75238354821)); +#34 = LINE('',#35,#36); +#35 = CARTESIAN_POINT('',(13.469833011847,0.,-40.22304997814)); +#36 = VECTOR('',#37,1.); +#37 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#38 = ORIENTED_EDGE('',*,*,#39,.F.); +#39 = EDGE_CURVE('',#40,#32,#42,.T.); +#40 = VERTEX_POINT('',#41); +#41 = CARTESIAN_POINT('',(26.747616824317,0.,-68.95279080543)); +#42 = LINE('',#43,#44); +#43 = CARTESIAN_POINT('',(12.749348137648,0.,-83.41767694094)); +#44 = VECTOR('',#45,1.); +#45 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#46 = ORIENTED_EDGE('',*,*,#47,.F.); +#47 = EDGE_CURVE('',#48,#40,#50,.T.); +#48 = VERTEX_POINT('',#49); +#49 = CARTESIAN_POINT('',(19.965518143439,0.,-62.38947335481)); +#50 = LINE('',#51,#52); +#51 = CARTESIAN_POINT('',(8.607536374131,0.,-51.39788454757)); +#52 = VECTOR('',#53,1.); +#53 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#54 = ORIENTED_EDGE('',*,*,#55,.F.); +#55 = EDGE_CURVE('',#56,#48,#58,.T.); +#56 = VERTEX_POINT('',#57); +#57 = CARTESIAN_POINT('',(-19.96551814343,0.,-62.38947335481)); +#58 = LINE('',#59,#60); +#59 = CARTESIAN_POINT('',(-12.74971831875,0.,-62.38947335481)); +#60 = VECTOR('',#61,1.); +#61 = DIRECTION('',(1.,0.,0.)); +#62 = ORIENTED_EDGE('',*,*,#63,.T.); +#63 = EDGE_CURVE('',#56,#64,#66,.T.); +#64 = VERTEX_POINT('',#65); +#65 = CARTESIAN_POINT('',(-24.55693735351,0.,-66.83277965903)); +#66 = LINE('',#67,#68); +#67 = CARTESIAN_POINT('',(-30.98981424001,0.,-73.05814073287)); +#68 = VECTOR('',#69,1.); +#69 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#70 = ORIENTED_EDGE('',*,*,#71,.F.); +#71 = EDGE_CURVE('',#72,#64,#74,.T.); +#72 = VERTEX_POINT('',#73); +#73 = CARTESIAN_POINT('',(-28.86762797071,0.,-66.76211133463)); +#74 = CIRCLE('',#75,3.048528137424); +#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78); +#76 = CARTESIAN_POINT('',(-26.67694849991,0.,-64.64210018823)); +#77 = DIRECTION('',(0.,-1.,0.)); +#78 = DIRECTION('',(1.,0.,0.)); +#79 = ORIENTED_EDGE('',*,*,#80,.T.); +#80 = EDGE_CURVE('',#72,#81,#83,.T.); +#81 = VERTEX_POINT('',#82); +#82 = CARTESIAN_POINT('',(-30.0937101258,0.,-65.49515903052)); +#83 = LINE('',#84,#85); +#84 = CARTESIAN_POINT('',(-32.44179530228,0.,-63.0688029236)); +#85 = VECTOR('',#86,1.); +#86 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#87 = ORIENTED_EDGE('',*,*,#88,.F.); +#88 = EDGE_CURVE('',#89,#81,#91,.T.); +#89 = VERTEX_POINT('',#90); +#90 = CARTESIAN_POINT('',(-29.94071467356,0.,-56.16260351814)); +#91 = CIRCLE('',#92,6.6); +#92 = AXIS2_PLACEMENT_3D('',#93,#94,#95); +#93 = CARTESIAN_POINT('',(-25.35093464349,0.,-60.90537900045)); +#94 = DIRECTION('',(0.,-1.,0.)); +#95 = DIRECTION('',(1.,0.,0.)); +#96 = ORIENTED_EDGE('',*,*,#97,.T.); +#97 = EDGE_CURVE('',#89,#98,#100,.T.); +#98 = VERTEX_POINT('',#99); +#99 = CARTESIAN_POINT('',(-28.53633676819,0.,-54.80352892379)); +#100 = LINE('',#101,#102); +#101 = CARTESIAN_POINT('',(-36.94745061313,0.,-62.94331173664)); +#102 = VECTOR('',#103,1.); +#103 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#104 = ORIENTED_EDGE('',*,*,#105,.T.); +#105 = EDGE_CURVE('',#98,#106,#108,.T.); +#106 = VERTEX_POINT('',#107); +#107 = CARTESIAN_POINT('',(-42.51292396981,0.,-10.95344505546)); +#108 = LINE('',#109,#110); +#109 = CARTESIAN_POINT('',(-33.96596941491,4.440892098501E-16, + -37.76862308461)); +#110 = VECTOR('',#111,1.); +#111 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#112 = ORIENTED_EDGE('',*,*,#113,.F.); +#113 = EDGE_CURVE('',#114,#106,#116,.T.); +#114 = VERTEX_POINT('',#115); +#115 = CARTESIAN_POINT('',(-40.68171555857,0.,-3.418973858775)); +#116 = CIRCLE('',#117,7.454044962965); +#117 = AXIS2_PLACEMENT_3D('',#118,#119,#120); +#118 = CARTESIAN_POINT('',(-35.41090981799,0.,-8.689779599357)); +#119 = DIRECTION('',(0.,-1.,0.)); +#120 = DIRECTION('',(1.,0.,0.)); +#121 = ORIENTED_EDGE('',*,*,#122,.T.); +#122 = EDGE_CURVE('',#114,#123,#125,.T.); +#123 = VERTEX_POINT('',#124); +#124 = CARTESIAN_POINT('',(-37.84598092218,0.,-0.583239222383)); +#125 = LINE('',#126,#127); +#126 = CARTESIAN_POINT('',(-57.34820403576,0.,-20.08546233597)); +#127 = VECTOR('',#128,1.); +#128 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#129 = ORIENTED_EDGE('',*,*,#130,.F.); +#130 = EDGE_CURVE('',#131,#123,#133,.T.); +#131 = VERTEX_POINT('',#132); +#132 = CARTESIAN_POINT('',(-32.57517518159,0.,1.6)); +#133 = CIRCLE('',#134,7.454044962965); +#134 = AXIS2_PLACEMENT_3D('',#135,#136,#137); +#135 = CARTESIAN_POINT('',(-32.57517518159,0.,-5.854044962965)); +#136 = DIRECTION('',(0.,-1.,0.)); +#137 = DIRECTION('',(1.,0.,0.)); +#138 = ORIENTED_EDGE('',*,*,#139,.T.); +#139 = EDGE_CURVE('',#131,#140,#142,.T.); +#140 = VERTEX_POINT('',#141); +#141 = CARTESIAN_POINT('',(35.662741699797,0.,1.6)); +#142 = LINE('',#143,#144); +#143 = CARTESIAN_POINT('',(-4.901106540577,0.,1.6)); +#144 = VECTOR('',#145,1.); +#145 = DIRECTION('',(1.,0.,0.)); +#146 = ORIENTED_EDGE('',*,*,#147,.F.); +#147 = EDGE_CURVE('',#24,#140,#148,.T.); +#148 = LINE('',#149,#150); +#149 = CARTESIAN_POINT('',(33.5241070341,0.,3.738634665697)); +#150 = VECTOR('',#151,1.); +#151 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#152 = FACE_BOUND('',#153,.F.); +#153 = EDGE_LOOP('',(#154,#164,#172,#180,#188,#197,#205,#214,#222,#230, + #239,#247,#256,#264,#272,#280)); +#154 = ORIENTED_EDGE('',*,*,#155,.T.); +#155 = EDGE_CURVE('',#156,#158,#160,.T.); +#156 = VERTEX_POINT('',#157); +#157 = CARTESIAN_POINT('',(32.703857168398,0.,-60.78483712899)); +#158 = VERTEX_POINT('',#159); +#159 = CARTESIAN_POINT('',(26.938753236523,0.,-55.20570756731)); +#160 = LINE('',#161,#162); +#161 = CARTESIAN_POINT('',(13.567306766147,0.,-42.26560567724)); +#162 = VECTOR('',#163,1.); +#163 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#164 = ORIENTED_EDGE('',*,*,#165,.T.); +#165 = EDGE_CURVE('',#158,#166,#168,.T.); +#166 = VERTEX_POINT('',#167); +#167 = CARTESIAN_POINT('',(42.298608189024,0.,-7.015765476549)); +#168 = LINE('',#169,#170); +#169 = CARTESIAN_POINT('',(25.140315874087,-4.440892098501E-16, + -60.84811712245)); +#170 = VECTOR('',#171,1.); +#171 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#172 = ORIENTED_EDGE('',*,*,#173,.T.); +#173 = EDGE_CURVE('',#166,#174,#176,.T.); +#174 = VERTEX_POINT('',#175); +#175 = CARTESIAN_POINT('',(35.082842712475,0.,0.2)); +#176 = LINE('',#177,#178); +#177 = CARTESIAN_POINT('',(34.536239068456,0.,0.746603644019)); +#178 = VECTOR('',#179,1.); +#179 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#180 = ORIENTED_EDGE('',*,*,#181,.F.); +#181 = EDGE_CURVE('',#182,#174,#184,.T.); +#182 = VERTEX_POINT('',#183); +#183 = CARTESIAN_POINT('',(-32.57517518159,0.,0.2)); +#184 = LINE('',#185,#186); +#185 = CARTESIAN_POINT('',(-30.87627118587,0.,0.2)); +#186 = VECTOR('',#187,1.); +#187 = DIRECTION('',(1.,0.,0.)); +#188 = ORIENTED_EDGE('',*,*,#189,.T.); +#189 = EDGE_CURVE('',#182,#190,#192,.T.); +#190 = VERTEX_POINT('',#191); +#191 = CARTESIAN_POINT('',(-36.85603142851,0.,-1.573188716044)); +#192 = CIRCLE('',#193,6.054044962965); +#193 = AXIS2_PLACEMENT_3D('',#194,#195,#196); +#194 = CARTESIAN_POINT('',(-32.57517518159,0.,-5.854044962965)); +#195 = DIRECTION('',(0.,-1.,0.)); +#196 = DIRECTION('',(-1.,0.,0.)); +#197 = ORIENTED_EDGE('',*,*,#198,.F.); +#198 = EDGE_CURVE('',#199,#190,#201,.T.); +#199 = VERTEX_POINT('',#200); +#200 = CARTESIAN_POINT('',(-39.69176606491,0.,-4.408923352436)); +#201 = LINE('',#202,#203); +#202 = CARTESIAN_POINT('',(-57.0671882012,0.,-21.78434548873)); +#203 = VECTOR('',#204,1.); +#204 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#205 = ORIENTED_EDGE('',*,*,#206,.T.); +#206 = EDGE_CURVE('',#199,#207,#209,.T.); +#207 = VERTEX_POINT('',#208); +#208 = CARTESIAN_POINT('',(-41.17904151244,0.,-10.52828909594)); +#209 = CIRCLE('',#210,6.054044962965); +#210 = AXIS2_PLACEMENT_3D('',#211,#212,#213); +#211 = CARTESIAN_POINT('',(-35.41090981799,0.,-8.689779599357)); +#212 = DIRECTION('',(0.,-1.,0.)); +#213 = DIRECTION('',(-1.,0.,0.)); +#214 = ORIENTED_EDGE('',*,*,#215,.F.); +#215 = EDGE_CURVE('',#216,#207,#218,.T.); +#216 = VERTEX_POINT('',#217); +#217 = CARTESIAN_POINT('',(-26.93875323652,0.,-55.20570756731)); +#218 = LINE('',#219,#220); +#219 = CARTESIAN_POINT('',(-29.06259699304,-4.440892098501E-16, + -48.54236940733)); +#220 = VECTOR('',#221,1.); +#221 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#222 = ORIENTED_EDGE('',*,*,#223,.F.); +#223 = EDGE_CURVE('',#224,#216,#226,.T.); +#224 = VERTEX_POINT('',#225); +#225 = CARTESIAN_POINT('',(-28.96712497021,0.,-57.16864680227)); +#226 = LINE('',#227,#228); +#227 = CARTESIAN_POINT('',(-36.14667143517,0.,-64.11659091489)); +#228 = VECTOR('',#229,1.); +#229 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#230 = ORIENTED_EDGE('',*,*,#231,.T.); +#231 = EDGE_CURVE('',#224,#232,#234,.T.); +#232 = VERTEX_POINT('',#233); +#233 = CARTESIAN_POINT('',(-29.08766684168,0.,-64.52156932717)); +#234 = CIRCLE('',#235,5.2); +#235 = AXIS2_PLACEMENT_3D('',#236,#237,#238); +#236 = CARTESIAN_POINT('',(-25.35093464349,0.,-60.90537900045)); +#237 = DIRECTION('',(0.,-1.,0.)); +#238 = DIRECTION('',(-1.,0.,0.)); +#239 = ORIENTED_EDGE('',*,*,#240,.F.); +#240 = EDGE_CURVE('',#241,#232,#243,.T.); +#241 = VERTEX_POINT('',#242); +#242 = CARTESIAN_POINT('',(-27.86158468659,0.,-65.78852163128)); +#243 = LINE('',#244,#245); +#244 = CARTESIAN_POINT('',(-31.12923147938,0.,-62.41195129628)); +#245 = VECTOR('',#246,1.); +#246 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#247 = ORIENTED_EDGE('',*,*,#248,.T.); +#248 = EDGE_CURVE('',#241,#249,#251,.T.); +#249 = VERTEX_POINT('',#250); +#250 = CARTESIAN_POINT('',(-25.53052705686,0.,-65.82673637491)); +#251 = CIRCLE('',#252,1.648528137424); +#252 = AXIS2_PLACEMENT_3D('',#253,#254,#255); +#253 = CARTESIAN_POINT('',(-26.67694849991,0.,-64.64210018823)); +#254 = DIRECTION('',(0.,-1.,0.)); +#255 = DIRECTION('',(-1.,0.,0.)); +#256 = ORIENTED_EDGE('',*,*,#257,.F.); +#257 = EDGE_CURVE('',#258,#249,#260,.T.); +#258 = VERTEX_POINT('',#259); +#259 = CARTESIAN_POINT('',(-20.53201900137,0.,-60.98947335481)); +#260 = LINE('',#261,#262); +#261 = CARTESIAN_POINT('',(-30.69923804215,0.,-70.82871181101)); +#262 = VECTOR('',#263,1.); +#263 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#264 = ORIENTED_EDGE('',*,*,#265,.T.); +#265 = EDGE_CURVE('',#258,#266,#268,.T.); +#266 = VERTEX_POINT('',#267); +#267 = CARTESIAN_POINT('',(20.532019001374,0.,-60.98947335481)); +#268 = LINE('',#269,#270); +#269 = CARTESIAN_POINT('',(-17.57924046663,0.,-60.98947335481)); +#270 = VECTOR('',#271,1.); +#271 = DIRECTION('',(1.,0.,0.)); +#272 = ORIENTED_EDGE('',*,*,#273,.T.); +#273 = EDGE_CURVE('',#266,#274,#276,.T.); +#274 = VERTEX_POINT('',#275); +#275 = CARTESIAN_POINT('',(26.715163243538,0.,-66.97315781796)); +#276 = LINE('',#277,#278); +#277 = CARTESIAN_POINT('',(7.481849370247,-4.440892098501E-16, + -48.36028435244)); +#278 = VECTOR('',#279,1.); +#279 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#280 = ORIENTED_EDGE('',*,*,#281,.T.); +#281 = EDGE_CURVE('',#274,#156,#282,.T.); +#282 = LINE('',#283,#284); +#283 = CARTESIAN_POINT('',(9.75933652063,0.,-84.4941890519)); +#284 = VECTOR('',#285,1.); +#285 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#286 = PLANE('',#287); +#287 = AXIS2_PLACEMENT_3D('',#288,#289,#290); +#288 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#289 = DIRECTION('',(0.,1.,0.)); +#290 = DIRECTION('',(0.,0.,1.)); +#291 = ADVANCED_FACE('',(#292),#317,.F.); +#292 = FACE_BOUND('',#293,.F.); +#293 = EDGE_LOOP('',(#294,#295,#303,#311)); +#294 = ORIENTED_EDGE('',*,*,#21,.T.); +#295 = ORIENTED_EDGE('',*,*,#296,.T.); +#296 = EDGE_CURVE('',#24,#297,#299,.T.); +#297 = VERTEX_POINT('',#298); +#298 = CARTESIAN_POINT('',(43.891390829132,20.8572529153,-6.628649129335 + )); +#299 = LINE('',#300,#301); +#300 = CARTESIAN_POINT('',(43.891390829132,-5.,-6.628649129335)); +#301 = VECTOR('',#302,1.); +#302 = DIRECTION('',(0.,1.,0.)); +#303 = ORIENTED_EDGE('',*,*,#304,.F.); +#304 = EDGE_CURVE('',#305,#297,#307,.T.); +#305 = VERTEX_POINT('',#306); +#306 = CARTESIAN_POINT('',(28.536336768195,20.8572529153,-54.80352892379 + )); +#307 = LINE('',#308,#309); +#308 = CARTESIAN_POINT('',(30.462276491561,20.8572529153,-48.76109401628 + )); +#309 = VECTOR('',#310,1.); +#310 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#311 = ORIENTED_EDGE('',*,*,#312,.F.); +#312 = EDGE_CURVE('',#22,#305,#313,.T.); +#313 = LINE('',#314,#315); +#314 = CARTESIAN_POINT('',(28.536336768195,-5.,-54.80352892379)); +#315 = VECTOR('',#316,1.); +#316 = DIRECTION('',(0.,1.,0.)); +#317 = PLANE('',#318); +#318 = AXIS2_PLACEMENT_3D('',#319,#320,#321); +#319 = CARTESIAN_POINT('',(43.891390829132,-5.,-6.628649129335)); +#320 = DIRECTION('',(-0.952773183837,0.,0.30368282823)); +#321 = DIRECTION('',(-0.30368282823,0.,-0.952773183837)); +#322 = ADVANCED_FACE('',(#323),#341,.F.); +#323 = FACE_BOUND('',#324,.F.); +#324 = EDGE_LOOP('',(#325,#326,#334,#340)); +#325 = ORIENTED_EDGE('',*,*,#147,.T.); +#326 = ORIENTED_EDGE('',*,*,#327,.T.); +#327 = EDGE_CURVE('',#140,#328,#330,.T.); +#328 = VERTEX_POINT('',#329); +#329 = CARTESIAN_POINT('',(35.662741699797,20.8572529153,1.6)); +#330 = LINE('',#331,#332); +#331 = CARTESIAN_POINT('',(35.662741699797,-5.,1.6)); +#332 = VECTOR('',#333,1.); +#333 = DIRECTION('',(0.,1.,0.)); +#334 = ORIENTED_EDGE('',*,*,#335,.F.); +#335 = EDGE_CURVE('',#297,#328,#336,.T.); +#336 = LINE('',#337,#338); +#337 = CARTESIAN_POINT('',(33.5241070341,20.8572529153,3.738634665697)); +#338 = VECTOR('',#339,1.); +#339 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#340 = ORIENTED_EDGE('',*,*,#296,.F.); +#341 = PLANE('',#342); +#342 = AXIS2_PLACEMENT_3D('',#343,#344,#345); +#343 = CARTESIAN_POINT('',(35.662741699797,-5.,1.6)); +#344 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#345 = DIRECTION('',(0.707106781187,0.,-0.707106781187)); +#346 = ADVANCED_FACE('',(#347),#365,.T.); +#347 = FACE_BOUND('',#348,.T.); +#348 = EDGE_LOOP('',(#349,#350,#351,#359)); +#349 = ORIENTED_EDGE('',*,*,#139,.T.); +#350 = ORIENTED_EDGE('',*,*,#327,.T.); +#351 = ORIENTED_EDGE('',*,*,#352,.F.); +#352 = EDGE_CURVE('',#353,#328,#355,.T.); +#353 = VERTEX_POINT('',#354); +#354 = CARTESIAN_POINT('',(-32.57517518159,20.8572529153,1.6)); +#355 = LINE('',#356,#357); +#356 = CARTESIAN_POINT('',(-4.901106540577,20.8572529153,1.6)); +#357 = VECTOR('',#358,1.); +#358 = DIRECTION('',(1.,0.,0.)); +#359 = ORIENTED_EDGE('',*,*,#360,.F.); +#360 = EDGE_CURVE('',#131,#353,#361,.T.); +#361 = LINE('',#362,#363); +#362 = CARTESIAN_POINT('',(-32.57517518159,-5.,1.6)); +#363 = VECTOR('',#364,1.); +#364 = DIRECTION('',(0.,1.,0.)); +#365 = PLANE('',#366); +#366 = AXIS2_PLACEMENT_3D('',#367,#368,#369); +#367 = CARTESIAN_POINT('',(35.662741699797,-5.,1.6)); +#368 = DIRECTION('',(0.,0.,1.)); +#369 = DIRECTION('',(-1.,0.,0.)); +#370 = ADVANCED_FACE('',(#371),#390,.T.); +#371 = FACE_BOUND('',#372,.F.); +#372 = EDGE_LOOP('',(#373,#374,#382,#389)); +#373 = ORIENTED_EDGE('',*,*,#130,.T.); +#374 = ORIENTED_EDGE('',*,*,#375,.T.); +#375 = EDGE_CURVE('',#123,#376,#378,.T.); +#376 = VERTEX_POINT('',#377); +#377 = CARTESIAN_POINT('',(-37.84598092218,20.8572529153,-0.583239222383 + )); +#378 = LINE('',#379,#380); +#379 = CARTESIAN_POINT('',(-37.84598092218,-5.,-0.583239222383)); +#380 = VECTOR('',#381,1.); +#381 = DIRECTION('',(0.,1.,0.)); +#382 = ORIENTED_EDGE('',*,*,#383,.F.); +#383 = EDGE_CURVE('',#353,#376,#384,.T.); +#384 = CIRCLE('',#385,7.454044962965); +#385 = AXIS2_PLACEMENT_3D('',#386,#387,#388); +#386 = CARTESIAN_POINT('',(-32.57517518159,20.8572529153,-5.854044962965 + )); +#387 = DIRECTION('',(0.,-1.,0.)); +#388 = DIRECTION('',(1.,0.,0.)); +#389 = ORIENTED_EDGE('',*,*,#360,.F.); +#390 = CYLINDRICAL_SURFACE('',#391,7.454044962965); +#391 = AXIS2_PLACEMENT_3D('',#392,#393,#394); +#392 = CARTESIAN_POINT('',(-32.57517518159,-5.,-5.854044962965)); +#393 = DIRECTION('',(0.,-1.,0.)); +#394 = DIRECTION('',(1.,0.,0.)); +#395 = ADVANCED_FACE('',(#396),#414,.T.); +#396 = FACE_BOUND('',#397,.T.); +#397 = EDGE_LOOP('',(#398,#399,#400,#408)); +#398 = ORIENTED_EDGE('',*,*,#122,.T.); +#399 = ORIENTED_EDGE('',*,*,#375,.T.); +#400 = ORIENTED_EDGE('',*,*,#401,.F.); +#401 = EDGE_CURVE('',#402,#376,#404,.T.); +#402 = VERTEX_POINT('',#403); +#403 = CARTESIAN_POINT('',(-40.68171555857,20.8572529153,-3.418973858775 + )); +#404 = LINE('',#405,#406); +#405 = CARTESIAN_POINT('',(-57.34820403576,20.8572529153,-20.08546233597 + )); +#406 = VECTOR('',#407,1.); +#407 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#408 = ORIENTED_EDGE('',*,*,#409,.F.); +#409 = EDGE_CURVE('',#114,#402,#410,.T.); +#410 = LINE('',#411,#412); +#411 = CARTESIAN_POINT('',(-40.68171555857,-5.,-3.418973858775)); +#412 = VECTOR('',#413,1.); +#413 = DIRECTION('',(0.,1.,0.)); +#414 = PLANE('',#415); +#415 = AXIS2_PLACEMENT_3D('',#416,#417,#418); +#416 = CARTESIAN_POINT('',(-37.84598092218,-5.,-0.583239222383)); +#417 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#418 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#419 = ADVANCED_FACE('',(#420),#439,.T.); +#420 = FACE_BOUND('',#421,.F.); +#421 = EDGE_LOOP('',(#422,#423,#431,#438)); +#422 = ORIENTED_EDGE('',*,*,#113,.T.); +#423 = ORIENTED_EDGE('',*,*,#424,.T.); +#424 = EDGE_CURVE('',#106,#425,#427,.T.); +#425 = VERTEX_POINT('',#426); +#426 = CARTESIAN_POINT('',(-42.51292396981,20.8572529153,-10.95344505546 + )); +#427 = LINE('',#428,#429); +#428 = CARTESIAN_POINT('',(-42.51292396981,-5.,-10.95344505546)); +#429 = VECTOR('',#430,1.); +#430 = DIRECTION('',(0.,1.,0.)); +#431 = ORIENTED_EDGE('',*,*,#432,.F.); +#432 = EDGE_CURVE('',#402,#425,#433,.T.); +#433 = CIRCLE('',#434,7.454044962965); +#434 = AXIS2_PLACEMENT_3D('',#435,#436,#437); +#435 = CARTESIAN_POINT('',(-35.41090981799,20.8572529153,-8.689779599357 + )); +#436 = DIRECTION('',(0.,-1.,0.)); +#437 = DIRECTION('',(1.,0.,0.)); +#438 = ORIENTED_EDGE('',*,*,#409,.F.); +#439 = CYLINDRICAL_SURFACE('',#440,7.454044962965); +#440 = AXIS2_PLACEMENT_3D('',#441,#442,#443); +#441 = CARTESIAN_POINT('',(-35.41090981799,-5.,-8.689779599357)); +#442 = DIRECTION('',(0.,-1.,0.)); +#443 = DIRECTION('',(1.,0.,0.)); +#444 = ADVANCED_FACE('',(#445),#463,.T.); +#445 = FACE_BOUND('',#446,.T.); +#446 = EDGE_LOOP('',(#447,#448,#449,#457)); +#447 = ORIENTED_EDGE('',*,*,#105,.T.); +#448 = ORIENTED_EDGE('',*,*,#424,.T.); +#449 = ORIENTED_EDGE('',*,*,#450,.F.); +#450 = EDGE_CURVE('',#451,#425,#453,.T.); +#451 = VERTEX_POINT('',#452); +#452 = CARTESIAN_POINT('',(-28.53633676819,20.8572529153,-54.80352892379 + )); +#453 = LINE('',#454,#455); +#454 = CARTESIAN_POINT('',(-33.96596941491,20.8572529153,-37.76862308461 + )); +#455 = VECTOR('',#456,1.); +#456 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#457 = ORIENTED_EDGE('',*,*,#458,.F.); +#458 = EDGE_CURVE('',#98,#451,#459,.T.); +#459 = LINE('',#460,#461); +#460 = CARTESIAN_POINT('',(-28.53633676819,-5.,-54.80352892379)); +#461 = VECTOR('',#462,1.); +#462 = DIRECTION('',(0.,1.,0.)); +#463 = PLANE('',#464); +#464 = AXIS2_PLACEMENT_3D('',#465,#466,#467); +#465 = CARTESIAN_POINT('',(-42.51292396981,-5.,-10.95344505546)); +#466 = DIRECTION('',(-0.952773183837,0.,-0.30368282823)); +#467 = DIRECTION('',(0.30368282823,0.,-0.952773183837)); +#468 = ADVANCED_FACE('',(#469),#487,.T.); +#469 = FACE_BOUND('',#470,.T.); +#470 = EDGE_LOOP('',(#471,#472,#473,#481)); +#471 = ORIENTED_EDGE('',*,*,#97,.T.); +#472 = ORIENTED_EDGE('',*,*,#458,.T.); +#473 = ORIENTED_EDGE('',*,*,#474,.F.); +#474 = EDGE_CURVE('',#475,#451,#477,.T.); +#475 = VERTEX_POINT('',#476); +#476 = CARTESIAN_POINT('',(-29.94071467356,20.8572529153,-56.16260351814 + )); +#477 = LINE('',#478,#479); +#478 = CARTESIAN_POINT('',(-36.94745061313,20.8572529153,-62.94331173664 + )); +#479 = VECTOR('',#480,1.); +#480 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#481 = ORIENTED_EDGE('',*,*,#482,.F.); +#482 = EDGE_CURVE('',#89,#475,#483,.T.); +#483 = LINE('',#484,#485); +#484 = CARTESIAN_POINT('',(-29.94071467356,-5.,-56.16260351814)); +#485 = VECTOR('',#486,1.); +#486 = DIRECTION('',(0.,1.,0.)); +#487 = PLANE('',#488); +#488 = AXIS2_PLACEMENT_3D('',#489,#490,#491); +#489 = CARTESIAN_POINT('',(-28.53633676819,-5.,-54.80352892379)); +#490 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#491 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#492 = ADVANCED_FACE('',(#493),#512,.T.); +#493 = FACE_BOUND('',#494,.F.); +#494 = EDGE_LOOP('',(#495,#496,#504,#511)); +#495 = ORIENTED_EDGE('',*,*,#88,.T.); +#496 = ORIENTED_EDGE('',*,*,#497,.T.); +#497 = EDGE_CURVE('',#81,#498,#500,.T.); +#498 = VERTEX_POINT('',#499); +#499 = CARTESIAN_POINT('',(-30.0937101258,20.8572529153,-65.49515903052) + ); +#500 = LINE('',#501,#502); +#501 = CARTESIAN_POINT('',(-30.0937101258,-5.,-65.49515903052)); +#502 = VECTOR('',#503,1.); +#503 = DIRECTION('',(0.,1.,0.)); +#504 = ORIENTED_EDGE('',*,*,#505,.F.); +#505 = EDGE_CURVE('',#475,#498,#506,.T.); +#506 = CIRCLE('',#507,6.6); +#507 = AXIS2_PLACEMENT_3D('',#508,#509,#510); +#508 = CARTESIAN_POINT('',(-25.35093464349,20.8572529153,-60.90537900045 + )); +#509 = DIRECTION('',(0.,-1.,0.)); +#510 = DIRECTION('',(1.,0.,0.)); +#511 = ORIENTED_EDGE('',*,*,#482,.F.); +#512 = CYLINDRICAL_SURFACE('',#513,6.6); +#513 = AXIS2_PLACEMENT_3D('',#514,#515,#516); +#514 = CARTESIAN_POINT('',(-25.35093464349,-5.,-60.90537900045)); +#515 = DIRECTION('',(0.,-1.,0.)); +#516 = DIRECTION('',(1.,0.,0.)); +#517 = ADVANCED_FACE('',(#518),#536,.T.); +#518 = FACE_BOUND('',#519,.T.); +#519 = EDGE_LOOP('',(#520,#521,#522,#530)); +#520 = ORIENTED_EDGE('',*,*,#80,.T.); +#521 = ORIENTED_EDGE('',*,*,#497,.T.); +#522 = ORIENTED_EDGE('',*,*,#523,.F.); +#523 = EDGE_CURVE('',#524,#498,#526,.T.); +#524 = VERTEX_POINT('',#525); +#525 = CARTESIAN_POINT('',(-28.86762797071,20.8572529153,-66.76211133463 + )); +#526 = LINE('',#527,#528); +#527 = CARTESIAN_POINT('',(-32.44179530228,20.8572529153,-63.0688029236) + ); +#528 = VECTOR('',#529,1.); +#529 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#530 = ORIENTED_EDGE('',*,*,#531,.F.); +#531 = EDGE_CURVE('',#72,#524,#532,.T.); +#532 = LINE('',#533,#534); +#533 = CARTESIAN_POINT('',(-28.86762797071,-5.,-66.76211133463)); +#534 = VECTOR('',#535,1.); +#535 = DIRECTION('',(0.,1.,0.)); +#536 = PLANE('',#537); +#537 = AXIS2_PLACEMENT_3D('',#538,#539,#540); +#538 = CARTESIAN_POINT('',(-30.0937101258,-5.,-65.49515903052)); +#539 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#540 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#541 = ADVANCED_FACE('',(#542),#561,.T.); +#542 = FACE_BOUND('',#543,.F.); +#543 = EDGE_LOOP('',(#544,#545,#553,#560)); +#544 = ORIENTED_EDGE('',*,*,#71,.T.); +#545 = ORIENTED_EDGE('',*,*,#546,.T.); +#546 = EDGE_CURVE('',#64,#547,#549,.T.); +#547 = VERTEX_POINT('',#548); +#548 = CARTESIAN_POINT('',(-24.55693735351,20.8572529153,-66.83277965903 + )); +#549 = LINE('',#550,#551); +#550 = CARTESIAN_POINT('',(-24.55693735351,-5.,-66.83277965903)); +#551 = VECTOR('',#552,1.); +#552 = DIRECTION('',(0.,1.,0.)); +#553 = ORIENTED_EDGE('',*,*,#554,.F.); +#554 = EDGE_CURVE('',#524,#547,#555,.T.); +#555 = CIRCLE('',#556,3.048528137424); +#556 = AXIS2_PLACEMENT_3D('',#557,#558,#559); +#557 = CARTESIAN_POINT('',(-26.67694849991,20.8572529153,-64.64210018823 + )); +#558 = DIRECTION('',(0.,-1.,0.)); +#559 = DIRECTION('',(1.,0.,0.)); +#560 = ORIENTED_EDGE('',*,*,#531,.F.); +#561 = CYLINDRICAL_SURFACE('',#562,3.048528137424); +#562 = AXIS2_PLACEMENT_3D('',#563,#564,#565); +#563 = CARTESIAN_POINT('',(-26.67694849991,-5.,-64.64210018823)); +#564 = DIRECTION('',(0.,-1.,0.)); +#565 = DIRECTION('',(1.,0.,0.)); +#566 = ADVANCED_FACE('',(#567),#585,.T.); +#567 = FACE_BOUND('',#568,.T.); +#568 = EDGE_LOOP('',(#569,#570,#571,#579)); +#569 = ORIENTED_EDGE('',*,*,#63,.T.); +#570 = ORIENTED_EDGE('',*,*,#546,.T.); +#571 = ORIENTED_EDGE('',*,*,#572,.F.); +#572 = EDGE_CURVE('',#573,#547,#575,.T.); +#573 = VERTEX_POINT('',#574); +#574 = CARTESIAN_POINT('',(-19.96551814343,20.8572529153,-62.38947335481 + )); +#575 = LINE('',#576,#577); +#576 = CARTESIAN_POINT('',(-30.98981424001,20.8572529153,-73.05814073287 + )); +#577 = VECTOR('',#578,1.); +#578 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#579 = ORIENTED_EDGE('',*,*,#580,.F.); +#580 = EDGE_CURVE('',#56,#573,#581,.T.); +#581 = LINE('',#582,#583); +#582 = CARTESIAN_POINT('',(-19.96551814343,-5.,-62.38947335481)); +#583 = VECTOR('',#584,1.); +#584 = DIRECTION('',(0.,1.,0.)); +#585 = PLANE('',#586); +#586 = AXIS2_PLACEMENT_3D('',#587,#588,#589); +#587 = CARTESIAN_POINT('',(-24.55693735351,-5.,-66.83277965903)); +#588 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#589 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#590 = ADVANCED_FACE('',(#591),#609,.F.); +#591 = FACE_BOUND('',#592,.F.); +#592 = EDGE_LOOP('',(#593,#594,#602,#608)); +#593 = ORIENTED_EDGE('',*,*,#55,.T.); +#594 = ORIENTED_EDGE('',*,*,#595,.T.); +#595 = EDGE_CURVE('',#48,#596,#598,.T.); +#596 = VERTEX_POINT('',#597); +#597 = CARTESIAN_POINT('',(19.965518143439,20.8572529153,-62.38947335481 + )); +#598 = LINE('',#599,#600); +#599 = CARTESIAN_POINT('',(19.965518143439,-5.,-62.38947335481)); +#600 = VECTOR('',#601,1.); +#601 = DIRECTION('',(0.,1.,0.)); +#602 = ORIENTED_EDGE('',*,*,#603,.F.); +#603 = EDGE_CURVE('',#573,#596,#604,.T.); +#604 = LINE('',#605,#606); +#605 = CARTESIAN_POINT('',(-12.74971831875,20.8572529153,-62.38947335481 + )); +#606 = VECTOR('',#607,1.); +#607 = DIRECTION('',(1.,0.,0.)); +#608 = ORIENTED_EDGE('',*,*,#580,.F.); +#609 = PLANE('',#610); +#610 = AXIS2_PLACEMENT_3D('',#611,#612,#613); +#611 = CARTESIAN_POINT('',(19.965518143439,-5.,-62.38947335481)); +#612 = DIRECTION('',(0.,0.,1.)); +#613 = DIRECTION('',(-1.,0.,0.)); +#614 = ADVANCED_FACE('',(#615),#633,.F.); +#615 = FACE_BOUND('',#616,.F.); +#616 = EDGE_LOOP('',(#617,#618,#626,#632)); +#617 = ORIENTED_EDGE('',*,*,#47,.T.); +#618 = ORIENTED_EDGE('',*,*,#619,.T.); +#619 = EDGE_CURVE('',#40,#620,#622,.T.); +#620 = VERTEX_POINT('',#621); +#621 = CARTESIAN_POINT('',(26.747616824317,20.8572529153,-68.95279080543 + )); +#622 = LINE('',#623,#624); +#623 = CARTESIAN_POINT('',(26.747616824317,-5.,-68.95279080543)); +#624 = VECTOR('',#625,1.); +#625 = DIRECTION('',(0.,1.,0.)); +#626 = ORIENTED_EDGE('',*,*,#627,.F.); +#627 = EDGE_CURVE('',#596,#620,#628,.T.); +#628 = LINE('',#629,#630); +#629 = CARTESIAN_POINT('',(8.607536374131,20.8572529153,-51.39788454757) + ); +#630 = VECTOR('',#631,1.); +#631 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#632 = ORIENTED_EDGE('',*,*,#595,.F.); +#633 = PLANE('',#634); +#634 = AXIS2_PLACEMENT_3D('',#635,#636,#637); +#635 = CARTESIAN_POINT('',(26.747616824317,-5.,-68.95279080543)); +#636 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#637 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#638 = ADVANCED_FACE('',(#639),#657,.F.); +#639 = FACE_BOUND('',#640,.F.); +#640 = EDGE_LOOP('',(#641,#642,#650,#656)); +#641 = ORIENTED_EDGE('',*,*,#39,.T.); +#642 = ORIENTED_EDGE('',*,*,#643,.T.); +#643 = EDGE_CURVE('',#32,#644,#646,.T.); +#644 = VERTEX_POINT('',#645); +#645 = CARTESIAN_POINT('',(34.683490155872,20.8572529153,-60.75238354821 + )); +#646 = LINE('',#647,#648); +#647 = CARTESIAN_POINT('',(34.683490155872,-5.,-60.75238354821)); +#648 = VECTOR('',#649,1.); +#649 = DIRECTION('',(0.,1.,0.)); +#650 = ORIENTED_EDGE('',*,*,#651,.F.); +#651 = EDGE_CURVE('',#620,#644,#652,.T.); +#652 = LINE('',#653,#654); +#653 = CARTESIAN_POINT('',(12.749348137648,20.8572529153,-83.41767694094 + )); +#654 = VECTOR('',#655,1.); +#655 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#656 = ORIENTED_EDGE('',*,*,#619,.F.); +#657 = PLANE('',#658); +#658 = AXIS2_PLACEMENT_3D('',#659,#660,#661); +#659 = CARTESIAN_POINT('',(34.683490155872,-5.,-60.75238354821)); +#660 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#661 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#662 = ADVANCED_FACE('',(#663),#674,.F.); +#663 = FACE_BOUND('',#664,.F.); +#664 = EDGE_LOOP('',(#665,#666,#667,#673)); +#665 = ORIENTED_EDGE('',*,*,#31,.T.); +#666 = ORIENTED_EDGE('',*,*,#312,.T.); +#667 = ORIENTED_EDGE('',*,*,#668,.F.); +#668 = EDGE_CURVE('',#644,#305,#669,.T.); +#669 = LINE('',#670,#671); +#670 = CARTESIAN_POINT('',(13.469833011847,20.8572529153,-40.22304997814 + )); +#671 = VECTOR('',#672,1.); +#672 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#673 = ORIENTED_EDGE('',*,*,#643,.F.); +#674 = PLANE('',#675); +#675 = AXIS2_PLACEMENT_3D('',#676,#677,#678); +#676 = CARTESIAN_POINT('',(28.536336768195,-5.,-54.80352892379)); +#677 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#678 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#679 = ADVANCED_FACE('',(#680),#705,.T.); +#680 = FACE_BOUND('',#681,.T.); +#681 = EDGE_LOOP('',(#682,#690,#691,#699)); +#682 = ORIENTED_EDGE('',*,*,#683,.F.); +#683 = EDGE_CURVE('',#156,#684,#686,.T.); +#684 = VERTEX_POINT('',#685); +#685 = CARTESIAN_POINT('',(32.703857168398,3.2,-60.78483712899)); +#686 = LINE('',#687,#688); +#687 = CARTESIAN_POINT('',(32.703857168398,3.,-60.78483712899)); +#688 = VECTOR('',#689,1.); +#689 = DIRECTION('',(0.,1.,0.)); +#690 = ORIENTED_EDGE('',*,*,#155,.T.); +#691 = ORIENTED_EDGE('',*,*,#692,.F.); +#692 = EDGE_CURVE('',#693,#158,#695,.T.); +#693 = VERTEX_POINT('',#694); +#694 = CARTESIAN_POINT('',(26.938753236523,3.2,-55.20570756731)); +#695 = LINE('',#696,#697); +#696 = CARTESIAN_POINT('',(26.938753236523,3.,-55.20570756731)); +#697 = VECTOR('',#698,1.); +#698 = DIRECTION('',(0.,-1.,0.)); +#699 = ORIENTED_EDGE('',*,*,#700,.F.); +#700 = EDGE_CURVE('',#684,#693,#701,.T.); +#701 = LINE('',#702,#703); +#702 = CARTESIAN_POINT('',(16.008242280412,3.2,-44.62779994931)); +#703 = VECTOR('',#704,1.); +#704 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#705 = PLANE('',#706); +#706 = AXIS2_PLACEMENT_3D('',#707,#708,#709); +#707 = CARTESIAN_POINT('',(29.704873980143,3.,-57.88259703786)); +#708 = DIRECTION('',(-0.695421216677,0.,-0.718602345805)); +#709 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#710 = ADVANCED_FACE('',(#711),#729,.T.); +#711 = FACE_BOUND('',#712,.T.); +#712 = EDGE_LOOP('',(#713,#721,#722,#723)); +#713 = ORIENTED_EDGE('',*,*,#714,.F.); +#714 = EDGE_CURVE('',#274,#715,#717,.T.); +#715 = VERTEX_POINT('',#716); +#716 = CARTESIAN_POINT('',(26.715163243538,3.2,-66.97315781796)); +#717 = LINE('',#718,#719); +#718 = CARTESIAN_POINT('',(26.715163243538,3.,-66.97315781796)); +#719 = VECTOR('',#720,1.); +#720 = DIRECTION('',(0.,1.,0.)); +#721 = ORIENTED_EDGE('',*,*,#281,.T.); +#722 = ORIENTED_EDGE('',*,*,#683,.T.); +#723 = ORIENTED_EDGE('',*,*,#724,.F.); +#724 = EDGE_CURVE('',#715,#684,#725,.T.); +#725 = LINE('',#726,#727); +#726 = CARTESIAN_POINT('',(30.25240665457,3.2,-63.31800414721)); +#727 = VECTOR('',#728,1.); +#728 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#729 = PLANE('',#730); +#730 = AXIS2_PLACEMENT_3D('',#731,#732,#733); +#731 = CARTESIAN_POINT('',(29.709510205968,3.,-63.87899747347)); +#732 = DIRECTION('',(-0.718602345805,0.,0.695421216677)); +#733 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#734 = ADVANCED_FACE('',(#735),#753,.T.); +#735 = FACE_BOUND('',#736,.T.); +#736 = EDGE_LOOP('',(#737,#745,#746,#747)); +#737 = ORIENTED_EDGE('',*,*,#738,.F.); +#738 = EDGE_CURVE('',#693,#739,#741,.T.); +#739 = VERTEX_POINT('',#740); +#740 = CARTESIAN_POINT('',(42.298608189024,3.2,-7.015765476549)); +#741 = LINE('',#742,#743); +#742 = CARTESIAN_POINT('',(32.699020781567,3.2,-37.13346923684)); +#743 = VECTOR('',#744,1.); +#744 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#745 = ORIENTED_EDGE('',*,*,#692,.T.); +#746 = ORIENTED_EDGE('',*,*,#165,.T.); +#747 = ORIENTED_EDGE('',*,*,#748,.F.); +#748 = EDGE_CURVE('',#739,#166,#749,.T.); +#749 = LINE('',#750,#751); +#750 = CARTESIAN_POINT('',(42.298608189024,3.,-7.015765476549)); +#751 = VECTOR('',#752,1.); +#752 = DIRECTION('',(0.,-1.,0.)); +#753 = PLANE('',#754); +#754 = AXIS2_PLACEMENT_3D('',#755,#756,#757); +#755 = CARTESIAN_POINT('',(34.581352051556,3.,-31.22785130119)); +#756 = DIRECTION('',(-0.952773183837,0.,0.30368282823)); +#757 = DIRECTION('',(0.30368282823,0.,0.952773183837)); +#758 = ADVANCED_FACE('',(#759),#777,.T.); +#759 = FACE_BOUND('',#760,.T.); +#760 = EDGE_LOOP('',(#761,#769,#775,#776)); +#761 = ORIENTED_EDGE('',*,*,#762,.F.); +#762 = EDGE_CURVE('',#763,#715,#765,.T.); +#763 = VERTEX_POINT('',#764); +#764 = CARTESIAN_POINT('',(20.532019001374,3.2,-60.98947335481)); +#765 = LINE('',#766,#767); +#766 = CARTESIAN_POINT('',(9.922784884512,3.2,-50.72247862452)); +#767 = VECTOR('',#768,1.); +#768 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#769 = ORIENTED_EDGE('',*,*,#770,.T.); +#770 = EDGE_CURVE('',#763,#266,#771,.T.); +#771 = LINE('',#772,#773); +#772 = CARTESIAN_POINT('',(20.532019001374,3.,-60.98947335481)); +#773 = VECTOR('',#774,1.); +#774 = DIRECTION('',(0.,-1.,0.)); +#775 = ORIENTED_EDGE('',*,*,#273,.T.); +#776 = ORIENTED_EDGE('',*,*,#714,.T.); +#777 = PLANE('',#778); +#778 = AXIS2_PLACEMENT_3D('',#779,#780,#781); +#779 = CARTESIAN_POINT('',(23.522653113203,3.,-63.8836336993)); +#780 = DIRECTION('',(0.695421216677,0.,0.718602345805)); +#781 = DIRECTION('',(0.718602345805,0.,-0.695421216677)); +#782 = ADVANCED_FACE('',(#783),#801,.T.); +#783 = FACE_BOUND('',#784,.T.); +#784 = EDGE_LOOP('',(#785,#786,#787,#795)); +#785 = ORIENTED_EDGE('',*,*,#748,.T.); +#786 = ORIENTED_EDGE('',*,*,#173,.T.); +#787 = ORIENTED_EDGE('',*,*,#788,.F.); +#788 = EDGE_CURVE('',#789,#174,#791,.T.); +#789 = VERTEX_POINT('',#790); +#790 = CARTESIAN_POINT('',(35.082842712475,3.2,0.2)); +#791 = LINE('',#792,#793); +#792 = CARTESIAN_POINT('',(35.082842712475,3.,0.2)); +#793 = VECTOR('',#794,1.); +#794 = DIRECTION('',(0.,-1.,0.)); +#795 = ORIENTED_EDGE('',*,*,#796,.F.); +#796 = EDGE_CURVE('',#739,#789,#797,.T.); +#797 = LINE('',#798,#799); +#798 = CARTESIAN_POINT('',(36.596246576251,3.2,-1.313403863776)); +#799 = VECTOR('',#800,1.); +#800 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#801 = PLANE('',#802); +#802 = AXIS2_PLACEMENT_3D('',#803,#804,#805); +#803 = CARTESIAN_POINT('',(38.67695526217,3.,-3.394112549695)); +#804 = DIRECTION('',(-0.707106781187,0.,-0.707106781187)); +#805 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#806 = ADVANCED_FACE('',(#807),#825,.T.); +#807 = FACE_BOUND('',#808,.T.); +#808 = EDGE_LOOP('',(#809,#817,#818,#819)); +#809 = ORIENTED_EDGE('',*,*,#810,.F.); +#810 = EDGE_CURVE('',#258,#811,#813,.T.); +#811 = VERTEX_POINT('',#812); +#812 = CARTESIAN_POINT('',(-20.53201900137,3.2,-60.98947335481)); +#813 = LINE('',#814,#815); +#814 = CARTESIAN_POINT('',(-20.53201900137,3.,-60.98947335481)); +#815 = VECTOR('',#816,1.); +#816 = DIRECTION('',(0.,1.,0.)); +#817 = ORIENTED_EDGE('',*,*,#265,.T.); +#818 = ORIENTED_EDGE('',*,*,#770,.F.); +#819 = ORIENTED_EDGE('',*,*,#820,.F.); +#820 = EDGE_CURVE('',#811,#763,#821,.T.); +#821 = LINE('',#822,#823); +#822 = CARTESIAN_POINT('',(5.354765181569,3.2,-60.98947335481)); +#823 = VECTOR('',#824,1.); +#824 = DIRECTION('',(1.,0.,0.)); +#825 = PLANE('',#826); +#826 = AXIS2_PLACEMENT_3D('',#827,#828,#829); +#827 = CARTESIAN_POINT('',(10.306473847682,3.,-60.98947335481)); +#828 = DIRECTION('',(0.,0.,1.)); +#829 = DIRECTION('',(0.,-1.,0.)); +#830 = ADVANCED_FACE('',(#831),#849,.F.); +#831 = FACE_BOUND('',#832,.F.); +#832 = EDGE_LOOP('',(#833,#834,#842,#848)); +#833 = ORIENTED_EDGE('',*,*,#788,.F.); +#834 = ORIENTED_EDGE('',*,*,#835,.F.); +#835 = EDGE_CURVE('',#836,#789,#838,.T.); +#836 = VERTEX_POINT('',#837); +#837 = CARTESIAN_POINT('',(-32.57517518159,3.2,0.2)); +#838 = LINE('',#839,#840); +#839 = CARTESIAN_POINT('',(-7.942265537672,3.2,0.2)); +#840 = VECTOR('',#841,1.); +#841 = DIRECTION('',(1.,0.,0.)); +#842 = ORIENTED_EDGE('',*,*,#843,.T.); +#843 = EDGE_CURVE('',#836,#182,#844,.T.); +#844 = LINE('',#845,#846); +#845 = CARTESIAN_POINT('',(-32.57517518159,3.,0.2)); +#846 = VECTOR('',#847,1.); +#847 = DIRECTION('',(0.,-1.,0.)); +#848 = ORIENTED_EDGE('',*,*,#181,.T.); +#849 = PLANE('',#850); +#850 = AXIS2_PLACEMENT_3D('',#851,#852,#853); +#851 = CARTESIAN_POINT('',(-16.28758759079,3.,0.2)); +#852 = DIRECTION('',(0.,0.,1.)); +#853 = DIRECTION('',(0.,-1.,0.)); +#854 = ADVANCED_FACE('',(#855),#873,.F.); +#855 = FACE_BOUND('',#856,.F.); +#856 = EDGE_LOOP('',(#857,#865,#871,#872)); +#857 = ORIENTED_EDGE('',*,*,#858,.F.); +#858 = EDGE_CURVE('',#859,#249,#861,.T.); +#859 = VERTEX_POINT('',#860); +#860 = CARTESIAN_POINT('',(-25.53052705686,3.2,-65.82673637491)); +#861 = LINE('',#862,#863); +#862 = CARTESIAN_POINT('',(-25.53052705686,3.,-65.82673637491)); +#863 = VECTOR('',#864,1.); +#864 = DIRECTION('',(0.,-1.,0.)); +#865 = ORIENTED_EDGE('',*,*,#866,.F.); +#866 = EDGE_CURVE('',#811,#859,#867,.T.); +#867 = LINE('',#868,#869); +#868 = CARTESIAN_POINT('',(-9.454421870603,3.2,-50.26922436104)); +#869 = VECTOR('',#870,1.); +#870 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#871 = ORIENTED_EDGE('',*,*,#810,.F.); +#872 = ORIENTED_EDGE('',*,*,#257,.T.); +#873 = PLANE('',#874); +#874 = AXIS2_PLACEMENT_3D('',#875,#876,#877); +#875 = CARTESIAN_POINT('',(-23.00219525444,3.,-63.37996509944)); +#876 = DIRECTION('',(0.695421216677,0.,-0.718602345805)); +#877 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#878 = ADVANCED_FACE('',(#879),#898,.F.); +#879 = FACE_BOUND('',#880,.F.); +#880 = EDGE_LOOP('',(#881,#882,#891,#897)); +#881 = ORIENTED_EDGE('',*,*,#843,.F.); +#882 = ORIENTED_EDGE('',*,*,#883,.T.); +#883 = EDGE_CURVE('',#836,#884,#886,.T.); +#884 = VERTEX_POINT('',#885); +#885 = CARTESIAN_POINT('',(-36.85603142851,3.2,-1.573188716044)); +#886 = CIRCLE('',#887,6.054044962965); +#887 = AXIS2_PLACEMENT_3D('',#888,#889,#890); +#888 = CARTESIAN_POINT('',(-32.57517518159,3.2,-5.854044962965)); +#889 = DIRECTION('',(0.,-1.,0.)); +#890 = DIRECTION('',(-1.,0.,0.)); +#891 = ORIENTED_EDGE('',*,*,#892,.T.); +#892 = EDGE_CURVE('',#884,#190,#893,.T.); +#893 = LINE('',#894,#895); +#894 = CARTESIAN_POINT('',(-36.85603142851,3.,-1.573188716044)); +#895 = VECTOR('',#896,1.); +#896 = DIRECTION('',(0.,-1.,0.)); +#897 = ORIENTED_EDGE('',*,*,#189,.F.); +#898 = CYLINDRICAL_SURFACE('',#899,6.054044962965); +#899 = AXIS2_PLACEMENT_3D('',#900,#901,#902); +#900 = CARTESIAN_POINT('',(-32.57517518159,3.,-5.854044962965)); +#901 = DIRECTION('',(0.,-1.,0.)); +#902 = DIRECTION('',(-1.,0.,0.)); +#903 = ADVANCED_FACE('',(#904),#923,.F.); +#904 = FACE_BOUND('',#905,.F.); +#905 = EDGE_LOOP('',(#906,#914,#921,#922)); +#906 = ORIENTED_EDGE('',*,*,#907,.F.); +#907 = EDGE_CURVE('',#908,#241,#910,.T.); +#908 = VERTEX_POINT('',#909); +#909 = CARTESIAN_POINT('',(-27.86158468659,3.2,-65.78852163128)); +#910 = LINE('',#911,#912); +#911 = CARTESIAN_POINT('',(-27.86158468659,3.,-65.78852163128)); +#912 = VECTOR('',#913,1.); +#913 = DIRECTION('',(0.,-1.,0.)); +#914 = ORIENTED_EDGE('',*,*,#915,.T.); +#915 = EDGE_CURVE('',#908,#859,#916,.T.); +#916 = CIRCLE('',#917,1.648528137424); +#917 = AXIS2_PLACEMENT_3D('',#918,#919,#920); +#918 = CARTESIAN_POINT('',(-26.67694849991,3.2,-64.64210018823)); +#919 = DIRECTION('',(0.,-1.,0.)); +#920 = DIRECTION('',(-1.,0.,0.)); +#921 = ORIENTED_EDGE('',*,*,#858,.T.); +#922 = ORIENTED_EDGE('',*,*,#248,.F.); +#923 = CYLINDRICAL_SURFACE('',#924,1.648528137424); +#924 = AXIS2_PLACEMENT_3D('',#925,#926,#927); +#925 = CARTESIAN_POINT('',(-26.67694849991,3.,-64.64210018823)); +#926 = DIRECTION('',(0.,-1.,0.)); +#927 = DIRECTION('',(-1.,0.,0.)); +#928 = ADVANCED_FACE('',(#929),#947,.F.); +#929 = FACE_BOUND('',#930,.F.); +#930 = EDGE_LOOP('',(#931,#932,#940,#946)); +#931 = ORIENTED_EDGE('',*,*,#892,.F.); +#932 = ORIENTED_EDGE('',*,*,#933,.F.); +#933 = EDGE_CURVE('',#934,#884,#936,.T.); +#934 = VERTEX_POINT('',#935); +#935 = CARTESIAN_POINT('',(-39.69176606491,3.2,-4.408923352436)); +#936 = LINE('',#937,#938); +#937 = CARTESIAN_POINT('',(-36.19319006079,3.2,-0.910347348321)); +#938 = VECTOR('',#939,1.); +#939 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#940 = ORIENTED_EDGE('',*,*,#941,.T.); +#941 = EDGE_CURVE('',#934,#199,#942,.T.); +#942 = LINE('',#943,#944); +#943 = CARTESIAN_POINT('',(-39.69176606491,3.,-4.408923352436)); +#944 = VECTOR('',#945,1.); +#945 = DIRECTION('',(0.,-1.,0.)); +#946 = ORIENTED_EDGE('',*,*,#198,.T.); +#947 = PLANE('',#948); +#948 = AXIS2_PLACEMENT_3D('',#949,#950,#951); +#949 = CARTESIAN_POINT('',(-38.27389874671,3.,-2.99105603424)); +#950 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#951 = DIRECTION('',(0.707106781187,0.,0.707106781187)); +#952 = ADVANCED_FACE('',(#953),#971,.F.); +#953 = FACE_BOUND('',#954,.F.); +#954 = EDGE_LOOP('',(#955,#963,#969,#970)); +#955 = ORIENTED_EDGE('',*,*,#956,.F.); +#956 = EDGE_CURVE('',#957,#232,#959,.T.); +#957 = VERTEX_POINT('',#958); +#958 = CARTESIAN_POINT('',(-29.08766684168,3.2,-64.52156932717)); +#959 = LINE('',#960,#961); +#960 = CARTESIAN_POINT('',(-29.08766684168,3.,-64.52156932717)); +#961 = VECTOR('',#962,1.); +#962 = DIRECTION('',(0.,-1.,0.)); +#963 = ORIENTED_EDGE('',*,*,#964,.F.); +#964 = EDGE_CURVE('',#908,#957,#965,.T.); +#965 = LINE('',#966,#967); +#966 = CARTESIAN_POINT('',(-29.44004200272,3.2,-64.15744811364)); +#967 = VECTOR('',#968,1.); +#968 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#969 = ORIENTED_EDGE('',*,*,#907,.T.); +#970 = ORIENTED_EDGE('',*,*,#240,.T.); +#971 = PLANE('',#972); +#972 = AXIS2_PLACEMENT_3D('',#973,#974,#975); +#973 = CARTESIAN_POINT('',(-28.47462576413,3.,-65.15504547923)); +#974 = DIRECTION('',(-0.718602345805,0.,-0.695421216677)); +#975 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#976 = ADVANCED_FACE('',(#977),#996,.F.); +#977 = FACE_BOUND('',#978,.F.); +#978 = EDGE_LOOP('',(#979,#980,#989,#995)); +#979 = ORIENTED_EDGE('',*,*,#941,.F.); +#980 = ORIENTED_EDGE('',*,*,#981,.T.); +#981 = EDGE_CURVE('',#934,#982,#984,.T.); +#982 = VERTEX_POINT('',#983); +#983 = CARTESIAN_POINT('',(-41.17904151244,3.2,-10.52828909594)); +#984 = CIRCLE('',#985,6.054044962965); +#985 = AXIS2_PLACEMENT_3D('',#986,#987,#988); +#986 = CARTESIAN_POINT('',(-35.41090981799,3.2,-8.689779599357)); +#987 = DIRECTION('',(0.,-1.,0.)); +#988 = DIRECTION('',(-1.,0.,0.)); +#989 = ORIENTED_EDGE('',*,*,#990,.T.); +#990 = EDGE_CURVE('',#982,#207,#991,.T.); +#991 = LINE('',#992,#993); +#992 = CARTESIAN_POINT('',(-41.17904151244,3.,-10.52828909594)); +#993 = VECTOR('',#994,1.); +#994 = DIRECTION('',(0.,-1.,0.)); +#995 = ORIENTED_EDGE('',*,*,#206,.F.); +#996 = CYLINDRICAL_SURFACE('',#997,6.054044962965); +#997 = AXIS2_PLACEMENT_3D('',#998,#999,#1000); +#998 = CARTESIAN_POINT('',(-35.41090981799,3.,-8.689779599357)); +#999 = DIRECTION('',(0.,-1.,0.)); +#1000 = DIRECTION('',(-1.,0.,0.)); +#1001 = ADVANCED_FACE('',(#1002),#1021,.F.); +#1002 = FACE_BOUND('',#1003,.F.); +#1003 = EDGE_LOOP('',(#1004,#1012,#1019,#1020)); +#1004 = ORIENTED_EDGE('',*,*,#1005,.F.); +#1005 = EDGE_CURVE('',#1006,#224,#1008,.T.); +#1006 = VERTEX_POINT('',#1007); +#1007 = CARTESIAN_POINT('',(-28.96712497021,3.2,-57.16864680227)); +#1008 = LINE('',#1009,#1010); +#1009 = CARTESIAN_POINT('',(-28.96712497021,3.,-57.16864680227)); +#1010 = VECTOR('',#1011,1.); +#1011 = DIRECTION('',(0.,-1.,0.)); +#1012 = ORIENTED_EDGE('',*,*,#1013,.T.); +#1013 = EDGE_CURVE('',#1006,#957,#1014,.T.); +#1014 = CIRCLE('',#1015,5.2); +#1015 = AXIS2_PLACEMENT_3D('',#1016,#1017,#1018); +#1016 = CARTESIAN_POINT('',(-25.35093464349,3.2,-60.90537900045)); +#1017 = DIRECTION('',(0.,-1.,0.)); +#1018 = DIRECTION('',(-1.,0.,0.)); +#1019 = ORIENTED_EDGE('',*,*,#956,.T.); +#1020 = ORIENTED_EDGE('',*,*,#231,.F.); +#1021 = CYLINDRICAL_SURFACE('',#1022,5.2); +#1022 = AXIS2_PLACEMENT_3D('',#1023,#1024,#1025); +#1023 = CARTESIAN_POINT('',(-25.35093464349,3.,-60.90537900045)); +#1024 = DIRECTION('',(0.,-1.,0.)); +#1025 = DIRECTION('',(-1.,0.,0.)); +#1026 = ADVANCED_FACE('',(#1027),#1045,.F.); +#1027 = FACE_BOUND('',#1028,.F.); +#1028 = EDGE_LOOP('',(#1029,#1030,#1038,#1044)); +#1029 = ORIENTED_EDGE('',*,*,#990,.F.); +#1030 = ORIENTED_EDGE('',*,*,#1031,.F.); +#1031 = EDGE_CURVE('',#1032,#982,#1034,.T.); +#1032 = VERTEX_POINT('',#1033); +#1033 = CARTESIAN_POINT('',(-26.93875323652,3.2,-55.20570756731)); +#1034 = LINE('',#1035,#1036); +#1035 = CARTESIAN_POINT('',(-32.39120436163,3.2,-38.09921113329)); +#1036 = VECTOR('',#1037,1.); +#1037 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#1038 = ORIENTED_EDGE('',*,*,#1039,.T.); +#1039 = EDGE_CURVE('',#1032,#216,#1040,.T.); +#1040 = LINE('',#1041,#1042); +#1041 = CARTESIAN_POINT('',(-26.93875323652,3.,-55.20570756731)); +#1042 = VECTOR('',#1043,1.); +#1043 = DIRECTION('',(0.,-1.,0.)); +#1044 = ORIENTED_EDGE('',*,*,#215,.T.); +#1045 = PLANE('',#1046); +#1046 = AXIS2_PLACEMENT_3D('',#1047,#1048,#1049); +#1047 = CARTESIAN_POINT('',(-34.04006158346,3.,-32.92609366041)); +#1048 = DIRECTION('',(-0.952773183837,0.,-0.30368282823)); +#1049 = DIRECTION('',(-0.30368282823,0.,0.952773183837)); +#1050 = ADVANCED_FACE('',(#1051),#1062,.F.); +#1051 = FACE_BOUND('',#1052,.F.); +#1052 = EDGE_LOOP('',(#1053,#1054,#1060,#1061)); +#1053 = ORIENTED_EDGE('',*,*,#1039,.F.); +#1054 = ORIENTED_EDGE('',*,*,#1055,.F.); +#1055 = EDGE_CURVE('',#1006,#1032,#1056,.T.); +#1056 = LINE('',#1057,#1058); +#1057 = CARTESIAN_POINT('',(-14.90185526362,3.2,-43.55710346492)); +#1058 = VECTOR('',#1059,1.); +#1059 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#1060 = ORIENTED_EDGE('',*,*,#1005,.T.); +#1061 = ORIENTED_EDGE('',*,*,#223,.T.); +#1062 = PLANE('',#1063); +#1063 = AXIS2_PLACEMENT_3D('',#1064,#1065,#1066); +#1064 = CARTESIAN_POINT('',(-27.90836811563,3.,-56.14404399617)); +#1065 = DIRECTION('',(-0.695421216677,0.,0.718602345805)); +#1066 = DIRECTION('',(0.718602345805,0.,0.695421216677)); +#1067 = ADVANCED_FACE('',(#1068),#1086,.T.); +#1068 = FACE_BOUND('',#1069,.T.); +#1069 = EDGE_LOOP('',(#1070,#1071,#1072,#1073,#1074,#1075,#1076,#1077, + #1078,#1079,#1080,#1081,#1082,#1083,#1084,#1085)); +#1070 = ORIENTED_EDGE('',*,*,#304,.F.); +#1071 = ORIENTED_EDGE('',*,*,#668,.F.); +#1072 = ORIENTED_EDGE('',*,*,#651,.F.); +#1073 = ORIENTED_EDGE('',*,*,#627,.F.); +#1074 = ORIENTED_EDGE('',*,*,#603,.F.); +#1075 = ORIENTED_EDGE('',*,*,#572,.T.); +#1076 = ORIENTED_EDGE('',*,*,#554,.F.); +#1077 = ORIENTED_EDGE('',*,*,#523,.T.); +#1078 = ORIENTED_EDGE('',*,*,#505,.F.); +#1079 = ORIENTED_EDGE('',*,*,#474,.T.); +#1080 = ORIENTED_EDGE('',*,*,#450,.T.); +#1081 = ORIENTED_EDGE('',*,*,#432,.F.); +#1082 = ORIENTED_EDGE('',*,*,#401,.T.); +#1083 = ORIENTED_EDGE('',*,*,#383,.F.); +#1084 = ORIENTED_EDGE('',*,*,#352,.T.); +#1085 = ORIENTED_EDGE('',*,*,#335,.F.); +#1086 = PLANE('',#1087); +#1087 = AXIS2_PLACEMENT_3D('',#1088,#1089,#1090); +#1088 = CARTESIAN_POINT('',(-45.46495478095,20.8572529153, + -70.97315781796)); +#1089 = DIRECTION('',(0.,1.,0.)); +#1090 = DIRECTION('',(0.,0.,1.)); +#1091 = ADVANCED_FACE('',(#1092,#1142,#1153,#1171,#1205),#1216,.F.); +#1092 = FACE_BOUND('',#1093,.F.); +#1093 = EDGE_LOOP('',(#1094,#1104,#1112,#1120,#1128,#1136)); +#1094 = ORIENTED_EDGE('',*,*,#1095,.F.); +#1095 = EDGE_CURVE('',#1096,#1098,#1100,.T.); +#1096 = VERTEX_POINT('',#1097); +#1097 = CARTESIAN_POINT('',(16.626582997737,3.2,-8.940188245231)); +#1098 = VERTEX_POINT('',#1099); +#1099 = CARTESIAN_POINT('',(4.383041634064E-04,3.2,-8.903751615529)); +#1100 = LINE('',#1101,#1102); +#1101 = CARTESIAN_POINT('',(4.347099726942,3.2,-8.913277437397)); +#1102 = VECTOR('',#1103,1.); +#1103 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#1104 = ORIENTED_EDGE('',*,*,#1105,.F.); +#1105 = EDGE_CURVE('',#1106,#1096,#1108,.T.); +#1106 = VERTEX_POINT('',#1107); +#1107 = CARTESIAN_POINT('',(19.029295926024,3.2,-17.63009960955)); +#1108 = LINE('',#1109,#1110); +#1109 = CARTESIAN_POINT('',(19.849519003668,3.2,-20.59660707692)); +#1110 = VECTOR('',#1111,1.); +#1111 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#1112 = ORIENTED_EDGE('',*,*,#1113,.F.); +#1113 = EDGE_CURVE('',#1114,#1106,#1116,.T.); +#1114 = VERTEX_POINT('',#1115); +#1115 = CARTESIAN_POINT('',(22.059435554995,3.2,-3.734519760785)); +#1116 = LINE('',#1117,#1118); +#1117 = CARTESIAN_POINT('',(17.698510515043,3.2,-23.73280021221)); +#1118 = VECTOR('',#1119,1.); +#1119 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#1120 = ORIENTED_EDGE('',*,*,#1121,.F.); +#1121 = EDGE_CURVE('',#1122,#1114,#1124,.T.); +#1122 = VERTEX_POINT('',#1123); +#1123 = CARTESIAN_POINT('',(-21.72552223146,3.2,-3.734519760785)); +#1124 = LINE('',#1125,#1126); +#1125 = CARTESIAN_POINT('',(0.297084840953,3.2,-3.734519760785)); +#1126 = VECTOR('',#1127,1.); +#1127 = DIRECTION('',(1.,0.,0.)); +#1128 = ORIENTED_EDGE('',*,*,#1129,.F.); +#1129 = EDGE_CURVE('',#1130,#1122,#1132,.T.); +#1130 = VERTEX_POINT('',#1131); +#1131 = CARTESIAN_POINT('',(-21.72552223146,3.2,-8.903751135252)); +#1132 = LINE('',#1133,#1134); +#1133 = CARTESIAN_POINT('',(-21.72552223146,3.2,-19.83215600037)); +#1134 = VECTOR('',#1135,1.); +#1135 = DIRECTION('',(0.,0.,1.)); +#1136 = ORIENTED_EDGE('',*,*,#1137,.F.); +#1137 = EDGE_CURVE('',#1098,#1130,#1138,.T.); +#1138 = LINE('',#1139,#1140); +#1139 = CARTESIAN_POINT('',(-5.279852300138,3.2,-8.903751135252)); +#1140 = VECTOR('',#1141,1.); +#1141 = DIRECTION('',(-1.,0.,0.)); +#1142 = FACE_BOUND('',#1143,.F.); +#1143 = EDGE_LOOP('',(#1144)); +#1144 = ORIENTED_EDGE('',*,*,#1145,.F.); +#1145 = EDGE_CURVE('',#1146,#1146,#1148,.T.); +#1146 = VERTEX_POINT('',#1147); +#1147 = CARTESIAN_POINT('',(21.163799345768,3.2,-48.00951684793)); +#1148 = CIRCLE('',#1149,4.735522705283); +#1149 = AXIS2_PLACEMENT_3D('',#1150,#1151,#1152); +#1150 = CARTESIAN_POINT('',(16.428276640485,3.2,-48.00951684793)); +#1151 = DIRECTION('',(-0.,1.,0.)); +#1152 = DIRECTION('',(1.,0.,0.)); +#1153 = FACE_BOUND('',#1154,.F.); +#1154 = EDGE_LOOP('',(#1155,#1156,#1157,#1158,#1159,#1160,#1161,#1162, + #1163,#1164,#1165,#1166,#1167,#1168,#1169,#1170)); +#1155 = ORIENTED_EDGE('',*,*,#1031,.T.); +#1156 = ORIENTED_EDGE('',*,*,#981,.F.); +#1157 = ORIENTED_EDGE('',*,*,#933,.T.); +#1158 = ORIENTED_EDGE('',*,*,#883,.F.); +#1159 = ORIENTED_EDGE('',*,*,#835,.T.); +#1160 = ORIENTED_EDGE('',*,*,#796,.F.); +#1161 = ORIENTED_EDGE('',*,*,#738,.F.); +#1162 = ORIENTED_EDGE('',*,*,#700,.F.); +#1163 = ORIENTED_EDGE('',*,*,#724,.F.); +#1164 = ORIENTED_EDGE('',*,*,#762,.F.); +#1165 = ORIENTED_EDGE('',*,*,#820,.F.); +#1166 = ORIENTED_EDGE('',*,*,#866,.T.); +#1167 = ORIENTED_EDGE('',*,*,#915,.F.); +#1168 = ORIENTED_EDGE('',*,*,#964,.T.); +#1169 = ORIENTED_EDGE('',*,*,#1013,.F.); +#1170 = ORIENTED_EDGE('',*,*,#1055,.T.); +#1171 = FACE_BOUND('',#1172,.F.); +#1172 = EDGE_LOOP('',(#1173,#1183,#1191,#1199)); +#1173 = ORIENTED_EDGE('',*,*,#1174,.F.); +#1174 = EDGE_CURVE('',#1175,#1177,#1179,.T.); +#1175 = VERTEX_POINT('',#1176); +#1176 = CARTESIAN_POINT('',(5.809375885494,3.2,-13.06417917474)); +#1177 = VERTEX_POINT('',#1178); +#1178 = CARTESIAN_POINT('',(2.688069798796,3.2,-49.64588621989)); +#1179 = LINE('',#1180,#1181); +#1180 = CARTESIAN_POINT('',(4.914157977861,3.2,-23.55613296875)); +#1181 = VECTOR('',#1182,1.); +#1182 = DIRECTION('',(-8.501532861638E-02,0.,-0.996379643459)); +#1183 = ORIENTED_EDGE('',*,*,#1184,.F.); +#1184 = EDGE_CURVE('',#1185,#1175,#1187,.T.); +#1185 = VERTEX_POINT('',#1186); +#1186 = CARTESIAN_POINT('',(-5.809375885494,3.2,-13.06417917474)); +#1187 = LINE('',#1188,#1189); +#1188 = CARTESIAN_POINT('',(1.615747408047,3.2,-13.06417917474)); +#1189 = VECTOR('',#1190,1.); +#1190 = DIRECTION('',(1.,0.,-3.066574716487E-16)); +#1191 = ORIENTED_EDGE('',*,*,#1192,.F.); +#1192 = EDGE_CURVE('',#1193,#1185,#1195,.T.); +#1193 = VERTEX_POINT('',#1194); +#1194 = CARTESIAN_POINT('',(-2.688069798796,3.2,-49.64588621989)); +#1195 = LINE('',#1196,#1197); +#1196 = CARTESIAN_POINT('',(-4.890802006217,3.2,-23.82986495424)); +#1197 = VECTOR('',#1198,1.); +#1198 = DIRECTION('',(-8.501532861638E-02,0.,0.996379643459)); +#1199 = ORIENTED_EDGE('',*,*,#1200,.F.); +#1200 = EDGE_CURVE('',#1177,#1193,#1201,.T.); +#1201 = LINE('',#1202,#1203); +#1202 = CARTESIAN_POINT('',(1.615747408047,3.2,-49.64588621989)); +#1203 = VECTOR('',#1204,1.); +#1204 = DIRECTION('',(-1.,0.,0.)); +#1205 = FACE_BOUND('',#1206,.F.); +#1206 = EDGE_LOOP('',(#1207)); +#1207 = ORIENTED_EDGE('',*,*,#1208,.F.); +#1208 = EDGE_CURVE('',#1209,#1209,#1211,.T.); +#1209 = VERTEX_POINT('',#1210); +#1210 = CARTESIAN_POINT('',(-11.6927539352,3.2,-48.00951684793)); +#1211 = CIRCLE('',#1212,4.735522705283); +#1212 = AXIS2_PLACEMENT_3D('',#1213,#1214,#1215); +#1213 = CARTESIAN_POINT('',(-16.42827664048,3.2,-48.00951684793)); +#1214 = DIRECTION('',(-0.,1.,0.)); +#1215 = DIRECTION('',(1.,0.,0.)); +#1216 = PLANE('',#1217); +#1217 = AXIS2_PLACEMENT_3D('',#1218,#1219,#1220); +#1218 = CARTESIAN_POINT('',(0.403056515455,3.2,-33.34517655273)); +#1219 = DIRECTION('',(0.,1.,0.)); +#1220 = DIRECTION('',(1.,0.,0.)); +#1221 = ADVANCED_FACE('',(#1222),#1247,.T.); +#1222 = FACE_BOUND('',#1223,.T.); +#1223 = EDGE_LOOP('',(#1224,#1232,#1240,#1246)); +#1224 = ORIENTED_EDGE('',*,*,#1225,.F.); +#1225 = EDGE_CURVE('',#1226,#1096,#1228,.T.); +#1226 = VERTEX_POINT('',#1227); +#1227 = CARTESIAN_POINT('',(16.626582997737,0.,-8.940188245231)); +#1228 = LINE('',#1229,#1230); +#1229 = CARTESIAN_POINT('',(16.626582997737,-22.,-8.940188245231)); +#1230 = VECTOR('',#1231,1.); +#1231 = DIRECTION('',(0.,1.,0.)); +#1232 = ORIENTED_EDGE('',*,*,#1233,.T.); +#1233 = EDGE_CURVE('',#1226,#1234,#1236,.T.); +#1234 = VERTEX_POINT('',#1235); +#1235 = CARTESIAN_POINT('',(-5.329070518201E-15,0.,-8.903751135252)); +#1236 = LINE('',#1237,#1238); +#1237 = CARTESIAN_POINT('',(-18.54556462154,1.7763568394E-15, + -8.863107566442)); +#1238 = VECTOR('',#1239,1.); +#1239 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#1240 = ORIENTED_EDGE('',*,*,#1241,.T.); +#1241 = EDGE_CURVE('',#1234,#1098,#1242,.T.); +#1242 = LINE('',#1243,#1244); +#1243 = CARTESIAN_POINT('',(-5.329070518201E-15,-22.,-8.903751135252)); +#1244 = VECTOR('',#1245,1.); +#1245 = DIRECTION('',(0.,1.,0.)); +#1246 = ORIENTED_EDGE('',*,*,#1095,.F.); +#1247 = PLANE('',#1248); +#1248 = AXIS2_PLACEMENT_3D('',#1249,#1250,#1251); +#1249 = CARTESIAN_POINT('',(8.237581109188,-22.,-8.921803528809)); +#1250 = DIRECTION('',(-2.19152081707E-03,0.,-0.999997598615)); +#1251 = DIRECTION('',(-0.999997598615,0.,2.19152081707E-03)); +#1252 = ADVANCED_FACE('',(#1253),#1271,.T.); +#1253 = FACE_BOUND('',#1254,.T.); +#1254 = EDGE_LOOP('',(#1255,#1263,#1269,#1270)); +#1255 = ORIENTED_EDGE('',*,*,#1256,.F.); +#1256 = EDGE_CURVE('',#1257,#1106,#1259,.T.); +#1257 = VERTEX_POINT('',#1258); +#1258 = CARTESIAN_POINT('',(19.029295926024,0.,-17.63009960955)); +#1259 = LINE('',#1260,#1261); +#1260 = CARTESIAN_POINT('',(19.029295926024,-22.,-17.63009960955)); +#1261 = VECTOR('',#1262,1.); +#1262 = DIRECTION('',(0.,1.,0.)); +#1263 = ORIENTED_EDGE('',*,*,#1264,.T.); +#1264 = EDGE_CURVE('',#1257,#1226,#1265,.T.); +#1265 = LINE('',#1266,#1267); +#1266 = CARTESIAN_POINT('',(23.053273013696,0.,-32.18365022821)); +#1267 = VECTOR('',#1268,1.); +#1268 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#1269 = ORIENTED_EDGE('',*,*,#1225,.T.); +#1270 = ORIENTED_EDGE('',*,*,#1105,.F.); +#1271 = PLANE('',#1272); +#1272 = AXIS2_PLACEMENT_3D('',#1273,#1274,#1275); +#1273 = CARTESIAN_POINT('',(17.956031892536,-22.,-13.7484168618)); +#1274 = DIRECTION('',(-0.963836182336,0.,-0.26649542889)); +#1275 = DIRECTION('',(-0.26649542889,0.,0.963836182336)); +#1276 = ADVANCED_FACE('',(#1277),#1295,.T.); +#1277 = FACE_BOUND('',#1278,.T.); +#1278 = EDGE_LOOP('',(#1279,#1287,#1288,#1289)); +#1279 = ORIENTED_EDGE('',*,*,#1280,.T.); +#1280 = EDGE_CURVE('',#1281,#1257,#1283,.T.); +#1281 = VERTEX_POINT('',#1282); +#1282 = CARTESIAN_POINT('',(22.059435554995,0.,-3.734519760785)); +#1283 = LINE('',#1284,#1285); +#1284 = CARTESIAN_POINT('',(12.741012548745,1.7763568394E-15, + -46.46683800444)); +#1285 = VECTOR('',#1286,1.); +#1286 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#1287 = ORIENTED_EDGE('',*,*,#1256,.T.); +#1288 = ORIENTED_EDGE('',*,*,#1113,.F.); +#1289 = ORIENTED_EDGE('',*,*,#1290,.F.); +#1290 = EDGE_CURVE('',#1281,#1114,#1291,.T.); +#1291 = LINE('',#1292,#1293); +#1292 = CARTESIAN_POINT('',(22.059435554995,-22.,-3.734519760785)); +#1293 = VECTOR('',#1294,1.); +#1294 = DIRECTION('',(0.,1.,0.)); +#1295 = PLANE('',#1296); +#1296 = AXIS2_PLACEMENT_3D('',#1297,#1298,#1299); +#1297 = CARTESIAN_POINT('',(20.484588228021,-22.,-10.95643672209)); +#1298 = DIRECTION('',(0.977039526026,0.,-0.213058124893)); +#1299 = DIRECTION('',(-0.213058124893,0.,-0.977039526026)); +#1300 = ADVANCED_FACE('',(#1301),#1319,.T.); +#1301 = FACE_BOUND('',#1302,.T.); +#1302 = EDGE_LOOP('',(#1303,#1311,#1312,#1313)); +#1303 = ORIENTED_EDGE('',*,*,#1304,.T.); +#1304 = EDGE_CURVE('',#1305,#1281,#1307,.T.); +#1305 = VERTEX_POINT('',#1306); +#1306 = CARTESIAN_POINT('',(-21.72552223146,0.,-3.734519760785)); +#1307 = LINE('',#1308,#1309); +#1308 = CARTESIAN_POINT('',(-22.63692080725,0.,-3.734519760785)); +#1309 = VECTOR('',#1310,1.); +#1310 = DIRECTION('',(1.,0.,0.)); +#1311 = ORIENTED_EDGE('',*,*,#1290,.T.); +#1312 = ORIENTED_EDGE('',*,*,#1121,.F.); +#1313 = ORIENTED_EDGE('',*,*,#1314,.F.); +#1314 = EDGE_CURVE('',#1305,#1122,#1315,.T.); +#1315 = LINE('',#1316,#1317); +#1316 = CARTESIAN_POINT('',(-21.72552223146,-22.,-3.734519760785)); +#1317 = VECTOR('',#1318,1.); +#1318 = DIRECTION('',(0.,1.,0.)); +#1319 = PLANE('',#1320); +#1320 = AXIS2_PLACEMENT_3D('',#1321,#1322,#1323); +#1321 = CARTESIAN_POINT('',(0.19111316645,-22.,-3.734519760785)); +#1322 = DIRECTION('',(0.,0.,1.)); +#1323 = DIRECTION('',(0.,-1.,0.)); +#1324 = ADVANCED_FACE('',(#1325),#1343,.T.); +#1325 = FACE_BOUND('',#1326,.T.); +#1326 = EDGE_LOOP('',(#1327,#1335,#1336,#1337)); +#1327 = ORIENTED_EDGE('',*,*,#1328,.T.); +#1328 = EDGE_CURVE('',#1329,#1305,#1331,.T.); +#1329 = VERTEX_POINT('',#1330); +#1330 = CARTESIAN_POINT('',(-21.72552223146,0.,-8.903751135252)); +#1331 = LINE('',#1332,#1333); +#1332 = CARTESIAN_POINT('',(-21.72552223146,0.,-38.64614663299)); +#1333 = VECTOR('',#1334,1.); +#1334 = DIRECTION('',(0.,0.,1.)); +#1335 = ORIENTED_EDGE('',*,*,#1314,.T.); +#1336 = ORIENTED_EDGE('',*,*,#1129,.F.); +#1337 = ORIENTED_EDGE('',*,*,#1338,.F.); +#1338 = EDGE_CURVE('',#1329,#1130,#1339,.T.); +#1339 = LINE('',#1340,#1341); +#1340 = CARTESIAN_POINT('',(-21.72552223146,-22.,-8.903751135252)); +#1341 = VECTOR('',#1342,1.); +#1342 = DIRECTION('',(0.,1.,0.)); +#1343 = PLANE('',#1344); +#1344 = AXIS2_PLACEMENT_3D('',#1345,#1346,#1347); +#1345 = CARTESIAN_POINT('',(-21.72552223146,-22.,-6.319135448019)); +#1346 = DIRECTION('',(-1.,0.,0.)); +#1347 = DIRECTION('',(0.,1.,0.)); +#1348 = ADVANCED_FACE('',(#1349),#1360,.T.); +#1349 = FACE_BOUND('',#1350,.T.); +#1350 = EDGE_LOOP('',(#1351,#1357,#1358,#1359)); +#1351 = ORIENTED_EDGE('',*,*,#1352,.T.); +#1352 = EDGE_CURVE('',#1234,#1329,#1353,.T.); +#1353 = LINE('',#1354,#1355); +#1354 = CARTESIAN_POINT('',(-28.21385794834,0.,-8.903751135252)); +#1355 = VECTOR('',#1356,1.); +#1356 = DIRECTION('',(-1.,0.,0.)); +#1357 = ORIENTED_EDGE('',*,*,#1338,.T.); +#1358 = ORIENTED_EDGE('',*,*,#1137,.F.); +#1359 = ORIENTED_EDGE('',*,*,#1241,.F.); +#1360 = PLANE('',#1361); +#1361 = AXIS2_PLACEMENT_3D('',#1362,#1363,#1364); +#1362 = CARTESIAN_POINT('',(-10.96276111573,-22.,-8.903751135252)); +#1363 = DIRECTION('',(0.,0.,-1.)); +#1364 = DIRECTION('',(0.,1.,0.)); +#1365 = ADVANCED_FACE('',(#1366),#1385,.T.); +#1366 = FACE_BOUND('',#1367,.T.); +#1367 = EDGE_LOOP('',(#1368,#1377,#1383,#1384)); +#1368 = ORIENTED_EDGE('',*,*,#1369,.T.); +#1369 = EDGE_CURVE('',#1370,#1370,#1372,.T.); +#1370 = VERTEX_POINT('',#1371); +#1371 = CARTESIAN_POINT('',(21.163799345768,0.,-48.00951684793)); +#1372 = CIRCLE('',#1373,4.735522705283); +#1373 = AXIS2_PLACEMENT_3D('',#1374,#1375,#1376); +#1374 = CARTESIAN_POINT('',(16.428276640485,0.,-48.00951684793)); +#1375 = DIRECTION('',(-0.,1.,0.)); +#1376 = DIRECTION('',(1.,0.,0.)); +#1377 = ORIENTED_EDGE('',*,*,#1378,.T.); +#1378 = EDGE_CURVE('',#1370,#1146,#1379,.T.); +#1379 = LINE('',#1380,#1381); +#1380 = CARTESIAN_POINT('',(21.163799345768,-22.,-48.00951684793)); +#1381 = VECTOR('',#1382,1.); +#1382 = DIRECTION('',(0.,1.,0.)); +#1383 = ORIENTED_EDGE('',*,*,#1145,.F.); +#1384 = ORIENTED_EDGE('',*,*,#1378,.F.); +#1385 = CYLINDRICAL_SURFACE('',#1386,4.735522705283); +#1386 = AXIS2_PLACEMENT_3D('',#1387,#1388,#1389); +#1387 = CARTESIAN_POINT('',(16.428276640485,-22.,-48.00951684793)); +#1388 = DIRECTION('',(0.,1.,0.)); +#1389 = DIRECTION('',(1.,0.,0.)); +#1390 = ADVANCED_FACE('',(#1391),#1416,.F.); +#1391 = FACE_BOUND('',#1392,.F.); +#1392 = EDGE_LOOP('',(#1393,#1403,#1409,#1410)); +#1393 = ORIENTED_EDGE('',*,*,#1394,.T.); +#1394 = EDGE_CURVE('',#1395,#1397,#1399,.T.); +#1395 = VERTEX_POINT('',#1396); +#1396 = CARTESIAN_POINT('',(1.480297366167E-15,11.242400581089, + -46.71869179633)); +#1397 = VERTEX_POINT('',#1398); +#1398 = CARTESIAN_POINT('',(3.256654205567E-15,17.8572529153, + -18.39898295202)); +#1399 = LINE('',#1400,#1401); +#1400 = CARTESIAN_POINT('',(2.6645352591E-15,18.133069549222, + -17.21814831317)); +#1401 = VECTOR('',#1402,1.); +#1402 = DIRECTION('',(5.275122655165E-17,0.227455280238,0.97378852709)); +#1403 = ORIENTED_EDGE('',*,*,#1404,.F.); +#1404 = EDGE_CURVE('',#1175,#1397,#1405,.T.); +#1405 = LINE('',#1406,#1407); +#1406 = CARTESIAN_POINT('',(5.649679875255,3.602918464526, + -13.21082950266)); +#1407 = VECTOR('',#1408,1.); +#1408 = DIRECTION('',(-0.349023821871,0.880598971639,-0.320511814002)); +#1409 = ORIENTED_EDGE('',*,*,#1174,.T.); +#1410 = ORIENTED_EDGE('',*,*,#1411,.T.); +#1411 = EDGE_CURVE('',#1177,#1395,#1412,.T.); +#1412 = LINE('',#1413,#1414); +#1413 = CARTESIAN_POINT('',(1.103762571829,7.940067898719, + -47.92064259636)); +#1414 = VECTOR('',#1415,1.); +#1415 = DIRECTION('',(-0.299648208284,0.896513522642,0.326304236859)); +#1416 = PLANE('',#1417); +#1417 = AXIS2_PLACEMENT_3D('',#1418,#1419,#1420); +#1418 = CARTESIAN_POINT('',(5.823691883056,3.068404028665, + -13.45978839622)); +#1419 = DIRECTION('',(0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#1420 = DIRECTION('',(-0.340781908463,0.939692620786,2.907695487825E-02) + ); +#1421 = ADVANCED_FACE('',(#1422),#1432,.F.); +#1422 = FACE_BOUND('',#1423,.F.); +#1423 = EDGE_LOOP('',(#1424,#1425,#1431)); +#1424 = ORIENTED_EDGE('',*,*,#1404,.T.); +#1425 = ORIENTED_EDGE('',*,*,#1426,.T.); +#1426 = EDGE_CURVE('',#1397,#1185,#1427,.T.); +#1427 = LINE('',#1428,#1429); +#1428 = CARTESIAN_POINT('',(-5.275833888477,4.546144602338, + -13.55413574101)); +#1429 = VECTOR('',#1430,1.); +#1430 = DIRECTION('',(-0.349023821871,-0.880598971639,0.320511814002)); +#1431 = ORIENTED_EDGE('',*,*,#1184,.T.); +#1432 = PLANE('',#1433); +#1433 = AXIS2_PLACEMENT_3D('',#1434,#1435,#1436); +#1434 = CARTESIAN_POINT('',(2.828438300639,3.068404028665, + -13.01628215822)); +#1435 = DIRECTION('',(2.88163763217E-16,0.342020143326,0.939692620786)); +#1436 = DIRECTION('',(-1.048830324052E-16,0.939692620786,-0.342020143326 + )); +#1437 = ADVANCED_FACE('',(#1438),#1449,.F.); +#1438 = FACE_BOUND('',#1439,.F.); +#1439 = EDGE_LOOP('',(#1440,#1441,#1442,#1443)); +#1440 = ORIENTED_EDGE('',*,*,#1192,.T.); +#1441 = ORIENTED_EDGE('',*,*,#1426,.F.); +#1442 = ORIENTED_EDGE('',*,*,#1394,.F.); +#1443 = ORIENTED_EDGE('',*,*,#1444,.F.); +#1444 = EDGE_CURVE('',#1193,#1395,#1445,.T.); +#1445 = LINE('',#1446,#1447); +#1446 = CARTESIAN_POINT('',(-0.871390517001,8.635298785064, + -47.66759924779)); +#1447 = VECTOR('',#1448,1.); +#1448 = DIRECTION('',(0.299648208284,0.896513522642,0.326304236859)); +#1449 = PLANE('',#1450); +#1450 = AXIS2_PLACEMENT_3D('',#1451,#1452,#1453); +#1451 = CARTESIAN_POINT('',(-5.782806207227,3.068404028665, + -13.93896851312)); +#1452 = DIRECTION('',(-0.93629059846,0.342020143326,-7.988827695448E-02) + ); +#1453 = DIRECTION('',(0.340781908463,0.939692620786,2.907695487825E-02) + ); +#1454 = ADVANCED_FACE('',(#1455),#1460,.F.); +#1455 = FACE_BOUND('',#1456,.F.); +#1456 = EDGE_LOOP('',(#1457,#1458,#1459)); +#1457 = ORIENTED_EDGE('',*,*,#1444,.T.); +#1458 = ORIENTED_EDGE('',*,*,#1411,.F.); +#1459 = ORIENTED_EDGE('',*,*,#1200,.T.); +#1460 = PLANE('',#1461); +#1461 = AXIS2_PLACEMENT_3D('',#1462,#1463,#1464); +#1462 = CARTESIAN_POINT('',(2.828438300639,3.068404028665, + -49.69378323641)); +#1463 = DIRECTION('',(0.,0.342020143326,-0.939692620786)); +#1464 = DIRECTION('',(0.,0.939692620786,0.342020143326)); +#1465 = ADVANCED_FACE('',(#1466),#1485,.T.); +#1466 = FACE_BOUND('',#1467,.T.); +#1467 = EDGE_LOOP('',(#1468,#1477,#1483,#1484)); +#1468 = ORIENTED_EDGE('',*,*,#1469,.T.); +#1469 = EDGE_CURVE('',#1470,#1470,#1472,.T.); +#1470 = VERTEX_POINT('',#1471); +#1471 = CARTESIAN_POINT('',(-11.6927539352,0.,-48.00951684793)); +#1472 = CIRCLE('',#1473,4.735522705283); +#1473 = AXIS2_PLACEMENT_3D('',#1474,#1475,#1476); +#1474 = CARTESIAN_POINT('',(-16.42827664048,0.,-48.00951684793)); +#1475 = DIRECTION('',(-0.,1.,0.)); +#1476 = DIRECTION('',(1.,0.,0.)); +#1477 = ORIENTED_EDGE('',*,*,#1478,.T.); +#1478 = EDGE_CURVE('',#1470,#1209,#1479,.T.); +#1479 = LINE('',#1480,#1481); +#1480 = CARTESIAN_POINT('',(-11.6927539352,-22.,-48.00951684793)); +#1481 = VECTOR('',#1482,1.); +#1482 = DIRECTION('',(0.,1.,0.)); +#1483 = ORIENTED_EDGE('',*,*,#1208,.F.); +#1484 = ORIENTED_EDGE('',*,*,#1478,.F.); +#1485 = CYLINDRICAL_SURFACE('',#1486,4.735522705283); +#1486 = AXIS2_PLACEMENT_3D('',#1487,#1488,#1489); +#1487 = CARTESIAN_POINT('',(-16.42827664048,-22.,-48.00951684793)); +#1488 = DIRECTION('',(0.,1.,0.)); +#1489 = DIRECTION('',(1.,0.,0.)); +#1490 = ADVANCED_FACE('',(#1491),#1499,.F.); +#1491 = FACE_BOUND('',#1492,.F.); +#1492 = EDGE_LOOP('',(#1493,#1494,#1495,#1496,#1497,#1498)); +#1493 = ORIENTED_EDGE('',*,*,#1264,.T.); +#1494 = ORIENTED_EDGE('',*,*,#1233,.T.); +#1495 = ORIENTED_EDGE('',*,*,#1352,.T.); +#1496 = ORIENTED_EDGE('',*,*,#1328,.T.); +#1497 = ORIENTED_EDGE('',*,*,#1304,.T.); +#1498 = ORIENTED_EDGE('',*,*,#1280,.T.); +#1499 = PLANE('',#1500); +#1500 = AXIS2_PLACEMENT_3D('',#1501,#1502,#1503); +#1501 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1502 = DIRECTION('',(0.,1.,0.)); +#1503 = DIRECTION('',(0.,0.,1.)); +#1504 = ADVANCED_FACE('',(#1505),#1508,.F.); +#1505 = FACE_BOUND('',#1506,.F.); +#1506 = EDGE_LOOP('',(#1507)); +#1507 = ORIENTED_EDGE('',*,*,#1369,.T.); +#1508 = PLANE('',#1509); +#1509 = AXIS2_PLACEMENT_3D('',#1510,#1511,#1512); +#1510 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1511 = DIRECTION('',(0.,1.,0.)); +#1512 = DIRECTION('',(0.,0.,1.)); +#1513 = ADVANCED_FACE('',(#1514),#1517,.F.); +#1514 = FACE_BOUND('',#1515,.F.); +#1515 = EDGE_LOOP('',(#1516)); +#1516 = ORIENTED_EDGE('',*,*,#1469,.T.); +#1517 = PLANE('',#1518); +#1518 = AXIS2_PLACEMENT_3D('',#1519,#1520,#1521); +#1519 = CARTESIAN_POINT('',(-45.46495478095,0.,-70.97315781796)); +#1520 = DIRECTION('',(0.,1.,0.)); +#1521 = DIRECTION('',(0.,0.,1.)); +#1522 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1526)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1523,#1524,#1525)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1523 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1524 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1525 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1526 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.E-06),#1523, + 'distance_accuracy_value','confusion accuracy'); +#1527 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.stl b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.stl new file mode 100644 index 0000000000..5c1f741349 Binary files /dev/null and b/docs/CAD/design/mate-connectors/BearConnector_Female_Trimmed_wall.stl differ diff --git a/docs/CAD/design/mate-connectors/DESIGN_MATE_CONNECTORS.md b/docs/CAD/design/mate-connectors/DESIGN_MATE_CONNECTORS.md new file mode 100644 index 0000000000..fe1a7a5fee --- /dev/null +++ b/docs/CAD/design/mate-connectors/DESIGN_MATE_CONNECTORS.md @@ -0,0 +1,922 @@ +# Mate connectors: aligning with the mainstream CAD systems + +Research date: 2026-08-05. Written against `orca_cad` / `Snapmaker` at the M8 state +(`CadDocument.{hpp,cpp}`, `apply_mate`, `datum_frame`, the `Mate` card in `DesignPanel.cpp`). + +**Brief:** align with the mate-connector concept as the main CAD programs actually implement it, +and be simple, unequivocal, unconfusing. Alignment is the organising principle of this document: +every recommendation is labelled either **[INDUSTRY]** — do what they all do — or **[DEVIATION]** — +we would be departing, here is why and what it costs. + +--- + +## 0. The answer in ten lines + +1. Seven systems surveyed. **Five of the seven use the same model**; two are the old world. +2. The model: a joint is defined between **two local coordinate frames**, one rigidly attached to + each part, plus **one type** naming which DOF stay free. +3. The frame is called a mate connector (Onshape), a **joint origin** (Fusion, Inventor), a joint + connector (FreeCAD 1.0). Same object, three names. +4. **Every one of them expresses every DOF about the frame's Z axis.** One axis, one convention. +5. **Five types appear in every frame-based system with identical names and identical DOF**: + Fastened/Rigid, Revolute, Slider, Cylindrical, Planar. Ball is in four of five. +6. That is not fashion — those are the classical **lower kinematic pairs**. The vocabulary converged + because the mechanics converged. +7. Our kernel is already on the right side of the line: frame-based, five types, Z-relative, + superimpose-then-relax. **The architecture needs no revisiting.** +8. Where we are out of step: connectors that are not attached to a body; an origin that can only be + a face centroid; no live preview of the two Z arrows; a mate card of abstract dropdowns. +9. Where we would knowingly deviate: refusing a second mate per body (no vendor does this — it is + forced on us by having no solver) and possibly inverting the default mate direction. +10. Biggest single win for the stated goal, and it costs no kernel work: **draw both frames and + ghost the result before Confirm.** The convention stops needing to be remembered. + +--- + +## 1. The two families + +**Constraint-based ("old CAD").** The user states pairwise *geometric relations* between raw +topology — this face coincident with that face, this axis concentric with that axis, this plane +parallel at 12 mm. Each relation removes some DOF; a numerical solver satisfies all of them at once. +Fully positioning one part typically takes **three or more mates**, and the set can be +over-constrained, under-constrained, or satisfiable in several configurations. + +**Frame-based ("mate connectors").** The user places a *local coordinate system* on each part and +states **one** relation between the two frames. The relation is not "these surfaces touch" but +"these frames coincide, except for the following DOF, which stay free." + +Onshape's help page opens by drawing exactly this line: + +> *"Mates in Onshape are different than mates in old CAD systems. Many assemblies require only one +> Onshape Mate between any two instances, as the movement (degrees of freedom) between those two +> instances is embedded in the Mate."* + +The frame-based model won for three reasons, all of which matter here: + +- **One mate per pair.** No mental arithmetic about which three constraints add up to a hinge. +- **The DOF are declared, not deduced.** A revolute mate *is* one rotation. You do not discover the + remaining freedom by dragging. +- **It needs no simultaneous solver for the common case.** Frame-to-frame alignment is a matrix + composition — precisely what `apply_mate` already does. + +> **Caveat — several vendors ship both, and "align with X" is therefore ambiguous.** **Inventor** +> kept its legacy constraints *and* added frame-based Joints in 2012; many Inventor users still build +> assemblies entirely with the old constraint stack. **Creo** has placement constraints *and* +> Mechanism connections. **FreeCAD** had constraint-based Assembly2/3 add-ons before the frame-based +> Assembly workbench shipped in 1.0. So copying "what Inventor does" means copying **one of two +> coexisting workflows**. **Onshape and Fusion 360 are the only pure frame-based examples**, and they +> are the ones to weight most heavily when the evidence conflicts. + +--- + +## 2. Field survey — seven systems + +| | Onshape | Fusion 360 | Inventor | FreeCAD 1.0 | Creo | Siemens NX | SOLIDWORKS | +|---|---|---|---|---|---|---|---| +| **Family** | Frame | Frame | Frame (+ legacy constraints) | Frame (+ legacy add-ons) | Both | Constraint | Constraint | +| **Frame object** | Mate connector | Joint origin | Joint origin | Joint connector (`Placement1/2`) | CSYS on `Weld`/`6DOF` | — | — (nearest: **mate reference**) | +| **Where it lives** | Part Studio **and** Assembly; in the feature list | Component, inside the joint | Component / inside the joint | Inside the Joint object | Part | — | Part (up to 3 named entities) | +| **Origin placement** | Inferred family on hover; `Shift` locks | Discrete **snap points**; `Ctrl` cycles | Snap points + explicit origins | Inferred, previewed on hover | Picked CSYS | Picked entities | Picked entities | +| **Orientation control** | Primary axis (Z) + secondary axis; flip + 90° reorient | Flip, angle, offsets | Flip, angle, offsets | `Placement1/2` + `Offset1/2` | CSYS + offset | — | — | +| **Type inference** | No — explicit | No — explicit | **Yes — "Automatic"** from picked geometry | No | No | No | Partial (mate reference type) | +| **Solver** | Yes, simultaneous — *"order won't affect a Mate"* | Yes | Yes | Yes (Ondsel) | Yes | Yes | Yes | +| **Reuse across instances** | **Yes** — a Part Studio connector exists on every instance | Weak | Partial | Per-joint | Interfaces | Product Interface | Mate references auto-mate on insert | + +Three observations that shape everything below. + +- **Every frame-based system reduced the type list by an order of magnitude** relative to SOLIDWORKS + (7–13 vs ~25) and lost nothing. That is not simplification-by-omission; it is what happens when the + DOF live in the mate instead of being assembled from constraints. +- **Every one of them defines its types relative to a single axis.** Slider translates along Z, + Revolute rotates about Z, Cylindrical does both, Planar translates in X/Y and rotates about Z. + One axis carries the whole vocabulary. +- **Onshape alone treats the connector as a first-class, reusable, named object** — and that is also + where its worst usability complaints come from (§4). + +--- + +## 3. The type vocabulary — cross-system table + +DOF = degrees of freedom left **free**, stated about/along the connector Z. + +| DOF | Onshape | Fusion 360 | Inventor | FreeCAD 1.0 | Creo | **Ours today** | +|---|---|---|---|---|---|---| +| 0 | Fastened | Rigid | Rigid | Fixed | Rigid / Weld | **Fastened** ✅ | +| 1 — rot Z | Revolute | Revolute | Rotational | Revolute | Pin | **Revolute** ✅ | +| 1 — trans Z | Slider | Slider | Slider | Slider | Slider | **Slider** ✅ | +| 2 — rot + trans Z | Cylindrical | Cylindrical | Cylindrical | Cylindrical | Cylinder | **Cylindrical** ✅ | +| 3 — trans XY + rot Z | Planar | Planar | Planar | *(Parallel+Distance)* | Planar | **Planar** ✅ | +| 3 — rot XYZ | Ball | Ball | Ball | Ball | Ball | — | +| 2 — different axes | Pin slot | Pin-Slot | — | — | Slot / Bearing | — | +| 1 — coupled | Screw | — | — | Screw | — | — | +| 4 | Parallel | — | — | Parallel | — | — | +| other | Tangent, Width, Group | As-built | Automatic | Perpendicular, Angle, Distance, Gears, Belt, RackPinion | General, 6DOF | — | + +**Five types appear in every frame-based system, with the same name and the same DOF.** Those five +are the industry's common denominator, and they are exactly `mate_kind` 0–4 as already implemented. +Ball is in four of five. Everything past that is a long tail no two vendors agree on. + +### Why the convergence is a fact, not a fashion + +A rigid-body placement is an element of SE(3). A mate leaves some set of relative motions free. For +the mate to behave the same throughout its range — for a hinge to be a hinge at every angle — that +free set must be **closed under composition**: two allowed motions must compose to an allowed motion. +A closed set of motions is a **subgroup** of SE(3). + +The subgroups corresponding to physical surface-on-surface contact are the classical **six lower +pairs** (Reuleaux): + +| Pair | Free motion relative to Z | DOF | +|---|---|---| +| Revolute (R) | rotation about Z | 1 | +| Prismatic / slider (P) | translation along Z | 1 | +| Helical / screw (H) | coupled rotation + translation | 1 | +| Cylindrical (C) | rotation about **and** translation along Z | 2 | +| Planar (E/G) | translation in X,Y + rotation about Z | 3 | +| Spherical / ball (S) | rotation about X, Y, Z | 3 | + +Plus the two trivial ends: identity (0 DOF — **fastened**) and all of SE(3) (6 DOF — floating, i.e. +no mate). Hervé's Lie-subgroup analysis of the displacement group is the standard reference for +treating these as the algebraic building blocks of mechanism synthesis. + +**Consequence.** Anything outside this table is either (a) a *composition* needing a solver, or +(b) not a joint at all but a *measurement*: + +- Onshape's **Parallel** (4 DOF), **Tangent**, **Width**, **Pin slot**, and FreeCAD's **Distance / + Angle / Perpendicular** are constraints, not pairs — their free set is not a subgroup, so they only + make sense alongside a simultaneous solver. +- **Gear, Belt, Rack-and-pinion** are *relations between two mates*, a different object entirely. +- **Screw (H)** is a legitimate lower pair but needs a pitch parameter and is rare in printed parts. + +So the vendors' shared five, the lower pairs, and our `mate_kind` 0–4 are the same list arrived at +three ways. **[INDUSTRY] Stop looking for missing types and spend the budget on the connector.** + +--- + +## 4. What they all agree on — adopt verbatim + +Deviating from any of these makes an experienced user's intuition *wrong*, which is the operational +definition of "confusing". + +**A1 [INDUSTRY] — The connector is a full right-handed frame.** +Origin + Z (primary) + X (secondary). Onshape and Fusion expose exactly these two axis controls and +nothing else. A point cannot express spin; an axis cannot express clocking. +*Status: we comply* — `DatumCoordSys` carries origin/x/y and derives Z. + +**A2 [INDUSTRY] — Z is the joint axis; every DOF is about or along Z.** +Revolute rotates about Z. Slider translates along Z. Planar's free plane is normal to Z. Offsets run +along Z. This single rule is what makes the system learnable: **one axis to look at, and its meaning +never changes.** +*Status: we comply* — `mate_offset` along A's z, `mate_angle` about A's z. + +**A3 [INDUSTRY] — Mating superimposes the two frames; the type then relaxes specific DOF.** +FreeCAD states it most plainly: *"the second connector is superimposed on the first connector by +default and may change its position according to the joint type."* Fastened is not a special case — +it is the base case with nothing relaxed. +*Status: we comply* — `T = M_A · Rz · Tz · F · M_B⁻¹`, looser kinds relaxing from there. + +**A4 [INDUSTRY] — The connector belongs to a part and moves with it.** +Onshape: a connector defined in a Part Studio *"is available for reuse on every instance of that part +in every assembly in which it is instanced."* It is part geometry, not assembly geometry. +*Status: **violated**.* `CoordSysType::PointWorld` is a bare world XYZ with `X = world X` and no +`coordsys_body`. Such a connector does not follow its part. See §6 G1. + +**A5 [INDUSTRY] — Selection order is meaningful and must be visible.** +One connector is the reference; the other is driven onto it. Onshape spells out that offsets are +measured *"from the second Mate connector selected to the first"*, and that reversing the order +flips the sign. +*Status: complied with in the data model* (`mate_cs_a` fixed, `mate_cs_b` moves) *but not in the UI* — +two dropdowns labelled A and B do not tell the user which part is about to jump. + +**A6 [INDUSTRY] — Flip and re-clock live in the mate dialog, always.** +Onshape: *"Click the arrow icon to flip the direction of the primary axis. Click the Reorient +secondary axis icon to rotate the secondary axis in 90-degree increments."* +*Status: partial.* We have `mate_flip` (Z reversal). We have `mate_angle` as a free number — strictly +more powerful than 90° steps, and much worse to *use*: the common case is "it came in a quarter turn +out", and typing 90 is a worse gesture than pressing a button. + +**A7 [INDUSTRY] — DOF are shown, not inferred by the user.** +Onshape animates each mate's remaining DOF on demand; Fusion and Inventor name the DOF in the type +list. Our dropdown text already does this in words ("free spin + axial slide"). Keep it. + +**A8 [INDUSTRY] — Free DOF are preserved from the current placement, not zeroed.** +Onshape: a Planar mate aligns the frames *"but they are not restricted to this location with respect +to their degrees of freedom."* +*Status: we comply* — and it must be *said*, because a Planar mate that leaves the part where it was +looks like a mate that did nothing. + +--- + +## 5. Where they diverge — who to copy, and why + +### D1 — Where the connector's origin comes from + +| | Behaviour | +|---|---| +| **Fusion 360** | Discrete **snap points** only: vertex, edge midpoint, face centre, arc centre. `Ctrl` cycles the candidates under the cursor. A circle icon denotes a vertex, a triangle a midpoint. "Between two faces" is a separate explicit option. | +| **Onshape** | Infers a *family* on hover — centroid, every vertex, every edge midpoint, every arc centre, the centroids of interior regions (holes, slots), and the virtual sharps of conical faces. `Shift` locks the current candidate. | +| **Inventor** | Snap points, plus explicit joint origins for awkward cases. | +| **FreeCAD 1.0** | Hovering previews where the connector will land before you commit. | +| **Ours** | Always the **face centroid**. No alternative exists. | + +Onshape's richness has a cost its own documentation admits: *"The suggested locations are based on +the underlying geometry of the part and changing the geometry will change the location of the Mate. +This can be undesirable in certain situations."* On the forum this shows up as connectors that move +or break on edit — the classic topological-naming failure. Fusion's discrete set is poorer and far +more predictable. + +> **[INDUSTRY] Copy Fusion's candidate *set*.** A small, closed, enumerable set — **face centroid, +> vertex, edge midpoint, arc/circle centre** — each drawn before commit, with the card naming which is +> in use ("Origin: edge midpoint"). This is our largest expressiveness gap: a face centroid alone +> cannot place a hinge pin on a corner boss. It is also the one place where copying the *simpler* +> vendor is clearly right. +> +> **Open sub-choice — how the candidate is chosen.** Three options, in increasing order of magic: +> (1) **explicit dropdown** in the card after picking the face — no hover behaviour at all; +> (2) **Fusion's `Ctrl` cycling** through candidates under the cursor; (3) **Onshape's hover +> inference**. Kimi's independent review argued for (1) on the grounds that hover is exactly where +> both vendors' instability complaints originate, and that a dropdown gets ~90% of the expressiveness +> with none of the hover-guess debugging. That is a fair reading and (1) is the cheapest to build and +> the easiest to make unequivocal. **Recommendation: build (1) first; if hover is added later, let it +> *pre-fill the dropdown* rather than silently create an implicit connector** — which also keeps R2 +> (one kind of connector) intact. + +### D2 — Explicit type, or inferred from the geometry? + +Inventor is the only surveyed system that infers: *"Rotational is selected if the two selected +origins are circular. Cylindrical if the two selected origins are points on a cylinder. Ball if +points on a sphere. Rigid for all other origin selections."* Onshape and Fusion require an explicit +choice. + +> **[INDUSTRY, Inventor] Do both, in Inventor's order.** Infer a *default* type from what was picked, +> then show it in an editable control. Inference is what makes the tool feel like it understands the +> geometry; the visible, editable result is what keeps it unequivocal. Pure inference with no visible +> type is the confusing option; a pure dropdown with no default is the tedious one. This also fits +> the Design tab's geometry-first charter exactly: point at a bore, get Revolute offered. + +### D3 — How the Z-direction ambiguity is resolved + +This is the specific failure the brief is aimed at. A former IT trainer stated it precisely on the +Onshape forum: + +> *"There is always the risk that users will build their own conceptual models of how software works +> which may not match the designer's concept. The result is usually a poor user experience and many +> mistakes… for a good (say) Fixed mate to occur do the Z axes of the two mates have to be pointing +> in the same direction… Alternatively, should they be facing each other?"* + +He is asking the right question and **no vendor's documentation answers it.** Onshape's own advice — +*"if the behavior is not what you expected, try flipping the primary and/or secondary axis"* — is +trial and error. This is a gap in the industry, not a convention to copy. + +> **[INDUSTRY, method] Resolve it with live preview, not documentation.** FreeCAD previews the +> connector on hover; Onshape and Fusion both draw the frames. Draw **both** Z arrows the moment the +> second connector is picked, and ghost the resulting placement *before* Confirm. The convention then +> never has to be remembered because it is on screen. +> +> **[DEVIATION, optional] Name the two cases in the user's words** rather than in axis-speak: +> "the two faces come together" vs "the axes run the same way". No surveyed vendor does this — they +> all ship a flip arrow. It is a small, low-risk improvement on the state of the art, and it is +> separable from the default-direction question in §8 D1. + +### D4 — Named, reusable connectors on the part + +Onshape: connectors created in the Part Studio are reused on every instance in every assembly. +SOLIDWORKS' **mate reference** reaches the same end by another route: up to three named entities +(primary/secondary/tertiary) baked into the part so it auto-mates on drag-and-drop — and a *named* +mate reference seeks out a matching name on insertion. That naming trick is how a library of +fasteners assembles itself. + +> **[INDUSTRY] Out of scope now, but do not preclude it.** Give connectors a stable, user-visible +> name at creation. One string today; expensive to add once documents exist in the wild. + +--- + +## 6. Confusion catalogue + +Documented ways real implementations confuse people. Each is a requirement in disguise. + +**C1 — Which way does Z point?** See D3. If a user has to ask once, they will mis-predict a hundred +times. + +**C2 — The roll is unspecified.** Aligning Z leaves one rotation about Z undetermined. Something must +pin it, and if that something is world-derived, the frame does not rotate with its part. **This +codebase shipped exactly this bug** (`en4`): a face-only connector took Z from the face +normal but X from `coordsys_x_hint`, a world constant, so Fastened and Slider claimed to lock an +orientation the frame could not see. Fixed 2026-07-26 by deriving X from the face's own first usable +edge — but note the fix's own caveat: *"replaying an older document whose face-only connector fed a +mate can now place that body differently."* Roll conventions are load-bearing, and changing one is a +document-format change. + +**C3 — The origin drifts.** See D1. + +**C4 — Implicit and explicit connectors are not the same thing.** On the Onshape forum, implicit +connectors are reported to change their query structure when a feature is edited and re-accepted, and +are unusable in places explicit ones work. Two things called by one name that behave differently is a +permanent tax. + +**C5 — Which part moves?** A frame alignment is asymmetric. If the UI does not say which frame is +driven, the user finds out by watching the wrong part jump. + +**C6 — Which direction is a positive offset?** Onshape measures *"from the second Mate connector +selected to the first"* — the sign depends on pick order, and swapping the picks flips it. Documented +behaviour, documented surprise. + +**C7 — One intent, several mates.** The SOLIDWORKS failure: expressing "this shaft is in this hole, +resting on this shoulder" as three constraints, then discovering the solver picked the mirror +configuration. Frame-based systems fix this by construction; the requirement is not to reintroduce it. + +**C8 — Degenerate frames.** A circular face has no usable in-plane edge direction; a cylinder seam +projects to nothing; a picked edge parallel to Z gives a zero cross product. `datum_frame` handles all +three with fallbacks — the requirement is that a fallback be *visible*, because a silent fallback is +C2 wearing a different hat. + +**C9 — Order dependence without a solver.** Onshape can say *"Onshape solves Mates simultaneously so +order won't affect a Mate."* A system that composes transforms in tree order cannot say that. Two +mates driving one body means the second wins and the first is a lie on screen. + +**C10 — Mirrors and patterns.** A mirrored instance has a left-handed frame. Blindly mirroring a +connector gives a frame whose Z still points "out" but whose handedness flipped, so every rotation +runs backwards. Cheap to handle now, miserable to retrofit. + +--- + +## 7. Requirements + +Labelled **[INDUSTRY]** (what the frame-based systems do) or **[DEVIATION]** (we would depart). + +### Definition + +**R1 [INDUSTRY] — A mate connector is a frame attached to exactly one body.** No body, no connector. +*Test:* creating a connector without a body is rejected at creation, not at mate time. +→ **`CoordSysType::PointWorld` violates this.** It is a datum wearing a connector's name. + +**R2 [INDUSTRY] — One kind of connector, not two.** No "implicit" connector that behaves differently +from an explicit one. If hover inference is offered, hovering *creates* an ordinary connector. +*Why:* C4. *Test:* everything that accepts a connector accepts any connector. + +**R3 [INDUSTRY] — A mate names exactly one subgroup of free motion.** Fastened (0), Revolute (1), +Slider (1), Cylindrical (2), Planar (3), optionally Ball (3). *Why:* §3. *Test:* every type's free +set is closed; no type is "A and also B". + +### Orientation + +**R4 [INDUSTRY] — Everything is about Z. Say so once, in the UI.** *Test:* no mate parameter refers +to any other axis. + +**R5 [DEVIATION] — Z is the outward material direction, and mates default to FACING.** +A mate would drive B's Z onto **−A's Z** by default, so picking two faces that should touch makes +them touch with no options changed. *Why:* it is the whole of C1. +**Cost and caveat:** this inverts today's default (`mate_flip=false` currently *aligns*), and I could +not establish from any vendor's documentation what their default actually is — the forum question in +D3 went unanswered precisely because it is undocumented. So this is marked a deviation on the honest +grounds that **I cannot prove the industry agrees with it.** If D3's live preview lands first, the +default matters much less, because the user sees the outcome before committing. See §9 D1. + +**R6 [DEVIATION] — Name the two directions; do not ship a boolean called "flip".** +`Direction: Facing | Aligned`. Every surveyed vendor ships a flip arrow instead. A boolean requires +remembering what unticked means; two named values do not. Low risk, small improvement on the state of +the art. + +**R7 [INDUSTRY] — Roll is picked, or a stored quarter turn. Never world-derived.** +X from a referenced edge or in-plane direction; failing that, a deterministic body-attached seed, with +**Rotate 90°** offered as a stored integer 0–3 on top (this is Onshape's "reorient secondary axis", +A6). *Why:* C2 and the world-constant bug this project already shipped. *Test:* rotate the parent +body by any angle; the connector's X rotates with it — *this test already exists* ("a face-only frame +rotates with its body"). + +**R8 [INDUSTRY] — A degenerate roll is reported, not absorbed.** *Test:* a connector on a full +cylindrical face reports "roll undefined — pick a direction" rather than silently taking a fallback. + +### Placement + +**R9 [INDUSTRY, Fusion] — Origin comes from a small closed set of named candidates.** +**Face centroid, arc/circle centre, edge midpoint, vertex.** Four. Each stored as +`(kind, topological reference)` and resolved at rebuild. *Why:* D1. *Test:* the stored kind is visible +in the card; a rebuild either resolves it or raises an error. + +**R10 [INDUSTRY] — An unresolvable reference is an error, never a silent relocation.** +*Test:* delete the referenced face; the mate reports "connector A: face not found" and the body stays +where it was. + +### Semantics without a solver + +**R11 [DEVIATION] — A body is driven by at most one mate. The second is refused.** +**No surveyed system does this** — they all have solvers and all accept many mates per body. It is +forced on us by tree-order composition: a second mate on the same body silently overrides the first +and the screen shows a configuration satisfying only one stated intent (C9). *Test:* creating a +second mate whose moving body already has one is rejected, naming the existing mate. +This is the single largest departure in this document. See §9 D4. + +> **A tempting misreading, checked and rejected.** It is easy to find the claim that Onshape mandates +> *"exactly one Mate between any two instances"*, which would make R11 an industry agreement rather +> than a deviation. **The Onshape page does not say that.** It says *"**Many assemblies require only** +> one Onshape Mate between any two instances"* and then lists, as an explicit remedy, *"**Use more +> than one Mate if necessary.**"* One mate per pair is Onshape's *typical case*, not its rule. R11 +> remains a deviation and must be justified on our own architecture, not on theirs. + +**R11a [DEVIATION] — The refusal list.** With no solver, these are unsupportable and must be refused +rather than half-done: a second mate on an already-driven body; cycles (A→B, B→A); closed loops +(A→B, A→C, B→C); relations *between* mates (gear, belt, rack-and-pinion, screw coupling); **joint +limits**, which nothing can enforce without a solver; and **dragging a body to exercise a free DOF**, +which requires keeping the body on the allowed manifold. Motion analysis and animation follow from the +same lack. *Requirement:* none of these may appear in the UI as something that half-works. + +**R12 [DEVIATION] — The mate graph is an acyclic forest rooted at fixed bodies.** A body reached by +no mate is fixed; cycles are refused. Same root cause as R11. *Test:* A→B, B→A rejected at creation. + +**R13 [INDUSTRY] — Free DOF are preserved from the current placement, and the user is told.** +Behaviour already matches Onshape (A8); the telling does not. *Test:* the card for any type with +DOF > 0 says which motions remain and that dragging exercises them. + +**R14 [INDUSTRY] — State what mirroring does to a connector.** +*Checked in the code:* `datum_frame` ends with a Gram-Schmidt forcing a right-handed frame +(`ds.x = Y.cross(Z)`), so a connector resolved on a mirrored body comes out **right-handed, not +mirror-imaged**. Z follows the mirrored face's outward normal, X follows a mirrored edge, handedness +is re-imposed. Defensible — a mate on the mirrored part still turns the way its type says — but it +means a mirrored sub-assembly is *not* the mirror image of the original in its rotation sense. +*Requirement:* document it and pin it with a test. *Why:* C10. + +### Feedback — the part that actually removes confusion + +**R15 [INDUSTRY] — Before Confirm, the card answers four questions in words.** Which body moves; +which way Z points on each connector; how many DOF remain; what the offset is measured from. + +**R16 [INDUSTRY] — Draw both frames live, with Z distinguishable, and ghost the result.** +Two triads with Z rendered differently from X/Y (length, arrowhead, colour). *Why:* D3 — the fastest +way to make a convention unequivocal is to show it. *Test:* both Z directions are readable in a +screenshot. + +**R17 [INDUSTRY] — Show the DOF budget per body.** "Body 2: 1 of 6 DOF free (rotation about Z)." +The most educational readout in any assembly system, and free to compute here — the type *is* the DOF +count. *Test:* the number changes when the type changes. + +**R18 [DEVIATION] — Refuse loudly and name the alternative.** Where something is out of scope (a +second mate, a tangency, a gear ratio), say what is unsupported and what to do instead. Vendors do not +need this because their solvers accept the input. *Test:* no refusal message ends without a suggested +next action. + +--- + +## 8. Minimal specification, and gap analysis + +### The connector + +``` +MateConnector + body int required, ≥ 0 (R1) + origin_kind enum FaceCentroid | ArcCentre | EdgeMidpoint | Vertex (R9) + origin_ref topo ref face / edge / vertex index on that body + z_source implied by origin_kind: face normal, arc axis, edge tangent + roll_ref topo ref optional in-plane edge; else deterministic seed (R7) + roll_quarters int 0..3 stored quarter turns on top of the seed (R7, A6) + flip_z bool reverse Z at the connector + name string stable, user-visible (D4) +``` + +`flip_z` is a property of the **connector**, chosen once when it is made — not a per-mate +afterthought. Keeping connector-flip and mate-direction separate is what stops the "which flip do I +tick?" question. + +### The mate + +``` +Mate + kind enum Fastened | Revolute | Slider | Cylindrical | Planar [| Ball] (R3) + fixed connector A — its body does not move + moving connector B — its body is driven (A5, C5) + direction enum Facing | Aligned (R5, R6) + offset mm along A's Z, measured A → B — state this in the label (C6) + angle deg about A's Z (R4) +``` + +Within one field of what exists. + +### Gaps against today + +Source of record: `CadDocument.hpp:26,247-252,298-310`; `CadDocument.cpp:1669` (`datum_frame`), +`:2961` (`apply_mate`), `:1302` (`add_mate`); `DesignPanel.cpp:2671-2709` (the Mate card). + +| # | Gap | Severity | Ref | +|---|---|---|---| +| G1 | `PointWorld` connectors are not attached to a body and their X is a world constant | **High — data model** | A4/R1 | +| G2 | Origin is always the face centroid; no vertex / edge-midpoint / arc-centre snap | **High — expressiveness** | D1/R9 | +| G3 | No live preview of the two Z arrows or of the resulting placement | **High — this is the brief** | D3/R16 | +| G4 | Mate card is two abstract dropdowns; nothing says which body moves | High — charter + A5 | R15 | +| G5 | No joint-type inference from the picked geometry | Medium — feel | D2 | +| G6 | `add_mate` validates nothing — no one-mate-per-body, no cycle check | Medium | R11/R12 | +| G7 | No `Ball` type | Low | §3 | +| G8 | Re-clocking needs a typed angle; no 90° step control | Low, cheap | A6/R7 | +| G9 | Degenerate roll falls back silently | Low | C8/R8 | +| G10 | Connectors have no stable user-facing name | Low now, expensive later | D4 | + +**Already aligned — do not "fix" these:** the five types and their DOF; the frame definition (A1); +Z as the joint axis (A2); superimpose-then-relax (A3); the fixed/moving asymmetry in the data model +(A5); DOF wording in the type list (A7); free-DOF preservation (A8); right-handed frames under mirror +(R14); and `en4`'s fix, which put roll derivation on the body where it belongs (C2). + +**The pattern worth naming: the kernel is in good shape and the concept is under-explained.** Half the +requirements here are wording and drawing, not geometry. The two real engineering items are R9 (origin +candidates) and R11/R12 (the mate-graph rules). + +### Expensive-to-retrofit decisions — get these right in the data model now + +Changing any of these after documents exist in the wild costs a migration, not an edit. + +1. **Topological reference stability.** Storing raw face/edge indices is brittle — editing a body + renumbers faces. Either persistent topology IDs, or store the named origin *kind* plus a + deterministic search that re-finds the same geometric intent on rebuild. The latter is cheaper and + probably sufficient here; it is also what makes R10's "error, never silent relocation" enforceable. +2. **Connector ownership** (R1). Remove `PointWorld` or bind it to a body. Do this first. +3. **Mate direction semantics** (R5/D1). Inverting the default rewrites the meaning of every saved + mate. +4. **Roll representation** (R7). "First usable edge" is better than world-X but still fragile. Store + an explicit roll reference plus quarter turns. +5. **Coordinate convention** — Z = joint axis, X = roll reference. Changing this after release + invalidates every mate. +6. **Units** — offset in mm, angle in degrees. Never change. +7. **Mirror handedness** (R14) — document the decision, do not let it stay an accident. +8. **Flat body index vs. a component tree.** Mates currently reference bodies in a flat vector. If + **sub-assemblies** are ever in scope, mates must reference nodes in a tree instead. Retrofitting + this is painful and it is the one item on this list not already implied elsewhere in the document — + **decide now whether nested assemblies are in scope.** +9. **Serialization field semantics.** Adding fields is easy; redefining `mate_flip` or + `coordsys_x_hint` is not. +10. **The one-mate-per-body rule** (R11). Enforce at creation. Relaxing it later by adding a solver is + straightforward; allowing many mates now and discovering later that they silently conflict is not. + +--- + +## 8b. The visual shape of the connector — polarity and verse + +Researched separately (2026-08-05) by downloading and **looking at** the vendors' own figures, not +by reading their prose. Files kept alongside this document in `doc/design/mate-connectors/`. + +### What the systems actually draw + +**Onshape** — verified from `planarfacemateconnectors.png`, `cylindricalmateconnectors.png`, +`linearedgemateconnectors.png`, `mateconnector-planarpoints.png`, `matepointiconLG.png`: + +> **A small circle with one quadrant filled, plus three short coloured axis arms (X red, Y green, +> Z blue).** + +Three parts, each doing one job: + +| Element | What it says | +|---|---| +| The **circle** | "I am a frame, and this is my XY plane." | +| The **filled quadrant** | **The roll.** The shaded sector is the +X/+Y quadrant. | +| The **coloured arms** | The three axis directions, Z distinguished by colour. | + +The quadrant is the cleverest part of the whole design and it is easy to miss. The figure +`matepointreorientsecondaryaxis.png` shows three connectors side by side with the quadrant in three +different rotations — **it is the live readout of "reorient secondary axis in 90° increments" (A6).** +One glyph element makes the otherwise-invisible clocking visible, and makes the 90° button's effect +legible before you commit. The toolbar icon `matepointiconLG.png` is that same circle-with-a-quadrant, +so the symbol is consistent from toolbar to viewport. + +Candidate snap points, before you choose one, are drawn as **plain small white dots** on the model +(clear in `mateconnector-planarpoints.png`: dots at every corner and edge midpoint). Candidate and +committed are deliberately different weights — dots propose, the circle-and-triad commits. + +**FreeCAD 1.0** — verbatim from the wiki: *"Connectors are local coordinate systems and are marked by +a symbol with three axes (X, Y, Z) and a circle representing the XY-plane."* Same core as Onshape — +circle plus triad — **without** the quadrant. + +**Fusion 360** — the joint origin glyph, plus a documented icon language for *candidates*: *"A circle +denotes a vertex, and a triangle denotes a midpoint."* Shape encodes what kind of point it is. + +**Convergent core:** *circle for the XY plane + coloured triad*. Onshape alone adds the roll quadrant. + +### What none of them draw — and it is exactly what was asked for + +**Nothing in any vendor's glyph says which connector is the reference and which one is about to +move.** Both ends of a mate are drawn identically. That is confusion C5 ("which part moves?") left +unsolved in the visual language, and it is why the honest recommendation earlier was a live ghost — +the ghost compensates for a glyph that does not carry the information. + +So the two things asked for split cleanly, and only one of them is solved upstream: + +- **Verse** (*verso* — which way it points): **solved**. Z has a colour and a direction. +- **Polarity** (which end receives, which end inserts; who is anchored, who travels): **unsolved + everywhere.** This is open ground, and getting it right is a genuine improvement rather than a + deviation to justify. + +### Our starting point + +**We draw nothing.** `resolve_datum_coordsys()` (`CadDocument.cpp:1749`) has exactly one consumer in +the entire tree — `McpControl.cpp:1310`, the agent socket. A mate connector is today visible only to +a program. The glyph is unbuilt, so there is no migration cost to designing it properly now. + +### Proposed glyph: the magnet + +Adopt Onshape's proven core, then add the missing polarity with a metaphor that carries its own +instructions. + +``` + ▲ solid cone on +Z ONLY ← verse + | + ────●──── ← the disc = XY plane, ● = exact origin + ▨ quadrant filled ← roll / clocking, steps 90° +``` + +**Rule 1 — verse: draw +Z and never −Z.** A single stem with a cone head, on the positive side only. +No stem below the disc. A double-headed axis is the one thing that guarantees the question gets asked; +an arrow that exists on one side only cannot be misread. Length is asymmetric on purpose. + +**Rule 2 — roll: keep Onshape's quadrant.** Filled sector = the +X/+Y quadrant. It rotates in 90° +steps with the reorient control (A6/R7). This is aligned *and* it is the only in-glyph answer to +"where is X?", which matters because Fastened and Slider lock the clocking. + +**Rule 3 — polarity: solid cone travels, open collar receives.** +- The **driven** connector (B, on the body that will move) draws a **solid filled cone** — the plug. +- The **fixed** connector (A) draws an **open ring / hollow cone outline** — the socket. + +Same silhouette, so they read as a matched pair; opposite fill, so which one is about to jump is +answerable at a glance and without a legend. Plug-into-socket is the one mechanical metaphor every +user of this tool already has in their hands. + +**Rule 4 — the pair reads as a magnet.** Draw a dashed line joining the two origins the moment both +are picked. Two poles, one field line. And because a magnet's north seeks a south, **"facing" becomes +the self-evident default** — which quietly settles open decision D1 (§9) on visual grounds rather than +on a convention nobody can look up. If the glyph looks like a magnet, nobody has to be told that two +faces which touch have opposed normals. + +**Rule 5 — three states, three weights.** + +| State | Drawing | +|---|---| +| **Candidate** (hover) | small dot only — Onshape's white dots; shape may encode kind, Fusion-style | +| **Picked** | full glyph: disc + quadrant + cone | +| **Degenerate roll** (C8/R8) | the quadrant is drawn **hollow/hatched** — "roll undefined, pick a direction" | + +That last row is worth the trouble: it turns R8 from a message nobody reads into a mark you cannot +miss, and it costs one branch in the renderer. + +**Rule 6 — do not reuse the existing triad.** The bed-centre world triad +(`DesignCanvas.cpp:65`, `set_axes_at_bed_center`) and the move gizmo are already three-coloured arrows. +The connector must not be a fourth set of RGB arrows or the viewport becomes unreadable. The disc and +the quadrant are what distinguish it; keep the arms short, and consider drawing only Z on the +committed glyph, with X/Y implied by the quadrant. + +### Built and judged in the viewport, not in a mock + +The browser mock that first accompanied this section was the wrong instrument and its proportions +were meaningless: **every gizmo in this codebase is sized in SCREEN PIXELS** via `upp = 1/zoom` +(`render_shell_gizmo` uses `15.0 * upp`, `render_hole_gizmo` `9.0 * upp` for its cube). A connector +is a symbol, not a part — it must not shrink with the model. Nothing about that is visible in SVG. + +The glyph was therefore implemented and driven on the rig. Screenshots: `g-0*.png`, left in the workspace `artifacts/shots/` and not moved into the repo. +Five findings, none of which a mock could have produced: + +**F1 — Three axis arms lose to one.** Rendered side by side (`ORCA_CAD_GLYPH=A` vs default), the +Onshape-style RGB trio crowds a 22 px disc: the arrowheads are as large as the disc, they bury the +gold quadrant, and at an oblique angle the three heads pile into a coloured smudge. Worse, **it is +indistinguishable from the move gizmo and the bed triad**, which are already RGB arrow trios in this +viewport. One-sided Z wins on evidence, not taste. (`g-01-zoom.png` vs `g-02-zoom.png`.) + +**F2 — Polarity works, and colour does more of the work than fill.** A filled blue head against an +open grey outline head is readable instantly at 22 px (`g-03-zoom.png`). But the fill difference is +the *second* cue; the colour split carries it. Keep both — fill survives greyscale and colour-blind +palettes, colour survives small size. + +**F3 — Depth off floats, depth on tears.** With `GL_DEPTH_TEST` off, connectors on faces pointing +*away* from the camera still drew their discs over the solid, so the part looked covered in frames +that were really on its back. Turning depth on fixed that and immediately caused **z-fighting**: the +disc is exactly coplanar with its face, and came out as a broken dotted arc. The fix is depth **on** +plus a sub-pixel lift along Z (`0.7 * upp`), scaled by `upp` so it never becomes a visible gap on +zoom-in. Both failure modes are in the images (`g-03` torn, `g-04` clean). + +**F4 — The quadrant is the first thing to die at a grazing angle.** On a face seen nearly edge-on the +disc foreshortens to a sliver and the fan collapses into a blob (`g-01-zoom.png`, lower-right glyph). +The roll is exactly the information that is hardest to read when you most need it. Not yet solved — +see the open item below. + +**F5 — Roll-undefined in red is too loud.** It works, but it makes the *least* important connector +the most eye-catching thing on screen. Amber, or the same grey with a hatched quadrant, is enough. + +Also surfaced while testing, and unrelated to the glyph: `add_mate` accepted a mate between two +connectors **on the same body**, which is meaningless, and duly transformed the body relative to +itself. Concrete instance of gap G6. + +**Still untested:** a true grazing view (the view-cube click missed), a connector on a curved face, +and behaviour when a connector overlaps the move gizmo. F4 is the open design question — the disc may +need to billboard its *quadrant* while keeping the disc in-plane, which is a compromise no surveyed +vendor makes and which should be tried before being adopted. + +### What this costs + +A renderer for `resolve_datum_coordsys()` — which does not exist and has to be written whatever glyph +is chosen — plus one dashed line and three fill states. No kernel work. It is the same piece of work +as G3 (live preview), and doing them together is what makes the mate card honest. + +--- + +## 8c. The "faceted ridge dome" proposal — built, rendered, judged + +A colleague proposed replacing the flat disc with an **asymmetric low-poly solid**: a faceted +prismatic wedge with a dominant longitudinal ridge that **slopes** from a tall steep back to a long +shallow front, plus a male protrusion / female pocket pair with a 0.2 mm clearance. + +It was built rather than discussed. `faceted_ridge_key.scad` (this folder) (6 vertices, 7 faces), +verified as a closed manifold, exported through OpenSCAD, and flat-shaded from five directions with +`render_key.py` / `render_stl.py`. Sheets: `rk-sheet.png`, `cmp-sheet.png`. + +### The verdict: the shape is right, the male/female polarity cue is not + +**It solves F4, decisively.** The grazing view — where the flat disc dies, its quadrant collapsing to +a blob — is the view where this shape is *most* legible: the tall back and long shallow front are +unmistakable in silhouette. At a grazing angle the silhouette IS the information, and this solid's +silhouette is maximally informative there. That is a real, evidence-backed win over what is currently +in the code. + +**Down the mating axis (+Z) it also reads well**, which matters because that is the natural viewing +direction when you are looking at a face you intend to mate. + +**One degenerate view, and it is not the one I predicted.** I expected the ±X views (along the ridge) +to be silhouette-ambiguous, resolved only by shading. Wrong: front and back are clearly *different* — +the front shows several facets, the back is a **single flat featureless triangle**. So they are not +confusable, but the view from directly behind the tall end tells you nothing about roll or slope. +A second blind spot remains untested: from below the base, where the protrusion is hidden behind its +own face. + +**The female half fails, and much harder than expected.** Rendered with flat shading and no outlines — +the honest test, since a viewport draws no black edges — a recessed pocket is *invisible*: iso and +grazing show a plain block with a hairline; straight down the axis shows a **completely blank +rectangle**. The interior faces are lit almost identically to the top face and are occluded by the rim +from most angles. As a polarity cue, male/female therefore works in exactly one direction and returns +nothing in the other. + +> **Conclusion: do not overload shape with all three jobs.** Let the solid carry **verse and roll**, +> where it is excellent, and carry **polarity on a second channel** — colour plus the filled/open head +> that already tested well at 22 px (F2). Drawing the fixed connector as an outline/wireframe of the +> same solid is the variant worth trying; drawing it as a pocket is not. + +### Two premises in the brief are wrong + +**"Avoid curved surfaces to optimise rendering computations / rapid mesh processing."** Not a reason +for a viewport glyph. There are 2–20 connectors on screen, the renderer pushes `GLModel` triangles +directly, and it performs no CSG or mesh processing at all. **The real argument for flat facets is +legibility**: hard normals give distinct value steps between adjacent facets, and the renders confirm +that is exactly what makes the shape readable from an arbitrary angle. Keep the constraint, fix the +justification. (For a *printed* part the original justification is sound for a different reason: flat +facets slice without the stair-stepping a tessellated curve produces.) + +**"0.2 mm clearance for smooth mechanical mating."** Meaningless for a glyph. A symbol mates with +nothing, and every gizmo here is sized in screen pixels via `upp`, so a millimetre tolerance has no +referent. This is the strongest signal that **the brief was written for a physical printed part**, +not for a viewport symbol — as are "scannable" and "mechanical mating". See the open question below. + +### Two defects the build caught that discussion would not have + +1. **The flank quads are not planar.** Written as `[0,3,5,4]` and `[1,4,5,2]` the base edge and the + ridge edge are skew, so the four corners do not share a plane — my own first draft asserted the + opposite in a comment. Left as quads, the tessellator picks the fold direction, the "flat facet" + promise is broken by an unspecified crease, and two exporters can disagree about the shape. Fixed + by triangulating explicitly (7 faces, Euler 6 − 11 + 7 = 2). +2. **The pocket punched through its own plate.** A 4.5 mm key against a 3 mm demo plate gives a + through-hole, not a pocket. Minimum stock = height + clearance + pocket depth + a wall. + +Also worth recording: the first female render was misleading because the debug renderer outlined +*every* triangle, so a flat top face triangulated by CGAL looked like a faceted dome. The instrument +lied before the geometry did. Conclusions were only drawn after outlines were removed. + +### Second opinion, and the one disagreement worth resolving + +Kimi reviewed the proposal independently and **rejected it for the viewport**. It agreed on the two +wrong premises, agreed the female pocket is unreadable, and added the useful framing that a +screen-constant symbol and a model-constant part feature are two different design spaces that cannot +be served by one geometry. It also noted correctly that there is **no single scalar** that removes +ambiguity from every view: you need one asymmetry in the base plane (for top-down roll) and one out +of plane (the ridge slope, for front/back). Our base is scalene, so it has both. + +Its central objection was numeric and testable: *"at 22 px with 6–8 facets each facet is 3–7 px wide, +that is at the aliasing limit … minimum useful size is roughly 32–48 px, which is not compatible with +a 22 px screen-constant symbol."* My own renders were ~300 px, so the claim was unaddressed by my +evidence and would have killed the concept if true. + +**Rendered at 22, 32 and 48 px (`size-test.png`), it is false for this shape.** At 22 px all three +views still read: the grazing view shows the tall back and shallow front unmistakably, and the +down-axis view keeps a strong dark/light split. The reason Kimi's arithmetic does not apply is that +this solid presents only **four or five large facets with high value contrast**, not eight small ones — +the silhouette does most of the work, and silhouettes survive downsampling far better than facet +detail does. + +*Honest limit on that result:* the test renderer has no anti-aliasing, no perspective, one directional +light, and no background. Readable at 22 px against white is not the same as readable at 22 px on top +of a shaded gold part next to the move gizmo. That case still needs the rig. + +**Where I do not follow Kimi:** its recommendation is to **billboard** the existing flat glyph so it +never turns edge-on. That kills F4 by construction, but a billboarded frame cannot show the frame's +orientation *in place* — which is the entire reason the disc is a disc and not a dot — and it is what +no surveyed CAD system does; Onshape, Fusion and FreeCAD all draw the frame in the geometry. Worth +prototyping as an option, not worth adopting on argument. + +### Open question for Tommaso + +**Is this a viewport glyph or a printable alignment feature?** The vertex logic is identical either +way; only the units and the clearance change, and the `.scad` file states both readings. But the +answer decides whether `clr`/`depth` are real millimetres or meaningless, and whether the geometry +scales with the model or stays screen-constant. The brief's own language points at "physical", the +conversation it arrived in points at "glyph". + +--- + +## 9. Decisions for you + +**D1 — Invert the default direction to Facing?** [DEVIATION, R5] +It changes the meaning of every stored document containing a mate. Options: (a) invert and migrate, +writing `direction=Aligned` where `mate_flip` was false; (b) invert only for new mates and store +`direction` explicitly from now on. (b) is safer and costs one field. Note this project has taken one +such semantic hit knowingly before — the `en4` fix — and the golden fixture survived, so the +migration path is a known quantity. **If G3 (live preview) lands first, this matters much less.** + +**D2 — How far to take origin candidates?** [R9] +Four kinds is the Fusion-aligned recommendation. Two (face centroid + arc centre) would cover "sit on +a face" and "go down a hole" — most printed-part assembly — at a third of the work. Where do you want +to stop? + +**D3 — Ball mate: in or out?** +In four of five frame-based systems, so including it is the aligned choice. Out is defensible for +printable mechanical parts. Cheap either way — align origins, leave orientation free. Kimi's review +argued **out**: a true ball joint is hard to print and hard to use without a roll reference, and a +Fastened connector at the ball centre approximates it. + +**D3a — Should Planar be dropped?** [dissent worth recording] +Kimi's independent review recommended **removing Planar** and shipping four types, on the grounds that +"slide on a flat surface" is rarely how printed mechanisms work — you usually want a rail or a hinge — +and that Planar is the type most likely to confuse a user who expected "put this flat on that" and got +a part free to slide. It further ranked the honest minimum as **three**: Fastened, Revolute, Slider, +with Cylindrical useful and decomposable. +**I do not agree, and the reason is alignment.** Planar appears in every frame-based system surveyed, +it is a genuine lower pair, it is already implemented and tested, and removing it is a document-format +change made in exchange for nothing. The confusion Kimi names is real but it is a *feedback* problem — +it is exactly what R17 (show the DOF budget) and R13 (say that free DOF are preserved) exist to fix. +Recorded here because it is a legitimate reading of the same evidence and the call is yours. + +**D4 — Is refusing a second mate per body acceptable?** [DEVIATION, R11 — the big one] +It is the honest consequence of having no solver, and it is what makes the tool predictable. But **no +mainstream system behaves this way**, so it is the point where an experienced user's intuition will +break. It means a part cannot be constrained by two independent relationships — "in this hole *and* +resting on this shoulder" must be expressed by placing one connector correctly rather than by two +mates. If that trade is unacceptable, the answer is a solver, and the scope of this document changes +entirely. + +There is a strong argument that the trade is not merely acceptable but *correct for this product*: +the Design tab lives inside a slicer, and most of its users are positioning parts for printing rather +than building working mechanisms. For layout-and-export, tree-order composition is genuinely enough, +and adding a solver to look like Onshape would buy complexity nobody asked for. The rule to publish is +then simple and defensible: **one mate per moving body, acyclic, no relations between mates** — with +R18's loud refusals carrying the honesty. + +--- + +## Sources + +**Onshape** — [Mate Connector](https://cad.onshape.com/help/Content/PartStudio/mate_connector.htm) · +[Mates](https://cad.onshape.com/help/Content/Assembly/mates.htm) · +[Fastened](https://cad.onshape.com/help/Content/Assembly/fastened_mate.htm) · +[Revolute](https://cad.onshape.com/help/Content/Assembly/revolute_mate.htm) · +[Slider](https://cad.onshape.com/help/Content/Assembly/slider_mate.htm) · +[Cylindrical](https://cad.onshape.com/help/Content/Assembly/cylindrical_mate.htm) · +[Planar](https://cad.onshape.com/help/Content/Assembly/planar_mate.htm) · +[Ball](https://cad.onshape.com/help/Content/Assembly/ball_mate.htm) · +[Parallel](https://cad.onshape.com/help/Content/Assembly/parallel_mate.htm) · +[Tangent](https://cad.onshape.com/help/Content/Assembly/tangent_mate.htm) · +[Pin Slot](https://cad.onshape.com/help/Content/Assembly/pin_slot_mate.htm) · +[5 things you can do with mate connectors in Part Studios](https://www.onshape.com/en/resource-center/tech-tips/tech-tip-5-things-you-can-do-with-mate-connectors-in-onshape-part-studios) + +**Onshape forum** — [The concept behind Mates Z Axes](https://forum.onshape.com/discussion/22828/the-concept-behind-mates-z-axes) (C1/D3) · +[Implicit mate connectors act differently than explicit ones](https://forum.onshape.com/discussion/15736/implicit-mate-connectors-act-differently-than-explicit-ones) (C4) · +[Efficiently set mate connectors](https://forum.onshape.com/discussion/13133/efficiently-set-mate-connectors) + +**Fusion 360** — [Joint types](https://help.autodesk.com/cloudhelp/ENU/Fusion-Assemble/files/GUID-8818AE31-958A-4A59-989B-9875A174C67A.htm) · +[Joint origins](https://help.autodesk.com/view/fusion360/ENU/?guid=ASM-JOINT-ORIGIN) · +[Joints vs. Mates in Fusion](https://www.autodesk.com/products/fusion-360/blog/joints-mates-moving-fusion/) · +[Joint tips — snap points and Ctrl cycling](https://mgfx.co.za/blog/engineering-manufacturing-design/fusion-360-joint-tips/) + +**Inventor** — [Create Joints Reference](https://help.autodesk.com/cloudhelp/2026/ENU/Inventor-Help/files/GUID-6AA68E8F-7C97-4806-8483-3941DE915E70.htm) · +[Use Joint to define and manage relationships](https://knowledge.autodesk.com/support/inventor-products/learn-explore/caas/CloudHelp/cloudhelp/2014/ENU/Inventor/files/GUID-21DC3336-5C51-42C1-90FB-4299CD66E0C6-htm.html) (type inference, D2) + +**FreeCAD 1.0** — [Assembly Workbench](https://wiki.freecad.org/Assembly_Workbench) · +[Fixed Joint properties](https://wiki.freecad.org/Assembly_CreateJointFixed) + +**Creo** — [About Predefined Constraint Sets](https://support.ptc.com/help/creo/creo_pma/r12/usascii/assembly/asm/About_Predefined_Constraint_Sets.html) + +**Siemens NX** — [Assembly constraints](https://learnnx.com/lesson/siemens-nx-assemblies-assembly-constraints/) + +**SOLIDWORKS** — [Mate References](https://help.solidworks.com/2025/English/SolidWorks/sldworks/c_Mate_References_Overview_SWassy.htm) · +[Creating and using mate references](https://blogs.solidworks.com/tech/2019/07/creating-and-using-mate-references.html) + +**Theory** — [Hervé, The Lie group of rigid body displacements, a fundamental tool for mechanism design](https://www.sciencedirect.com/science/article/abs/pii/S0094114X98000512) · +[Joint kinematics — the six lower pairs and their DOF](https://erc-bpgc.github.io/handbook/mechanical/Joint%20Kinematics/) · +[ISO 10303-105 — Kinematics (STEP integrated resource)](https://www.iso.org/standard/78589.html) + +**Internal** — `en4` (closed 2026-07-26, fixes C2 here) · `CadDocument.cpp:1669` +`datum_frame` · `CadDocument.cpp:2961` `apply_mate` · `CadDocument.cpp:1302` `add_mate` + +**Second opinion** — an independent review by Kimi Code (2026-08-05) contributed the +vendors-ship-both caveat (§1), the explicit-dropdown option for origin choice (D1), the expanded +refusal list (R11a), the retrofit list (§8), and the dissents recorded at D3/D3a. One of its claims — +that Onshape mandates *"exactly one Mate between any two instances"* — **was checked against the +source and is wrong**; the correction is recorded at R11 because it is a misreading that would +otherwise turn our largest deviation into a false agreement. diff --git a/docs/CAD/design/mate-connectors/bear-01-view.png b/docs/CAD/design/mate-connectors/bear-01-view.png new file mode 100644 index 0000000000..eb57aaeefe Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-01-view.png differ diff --git a/docs/CAD/design/mate-connectors/bear-02-view.png b/docs/CAD/design/mate-connectors/bear-02-view.png new file mode 100644 index 0000000000..46b6d834fa Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-02-view.png differ diff --git a/docs/CAD/design/mate-connectors/bear-02-zoom.png b/docs/CAD/design/mate-connectors/bear-02-zoom.png new file mode 100644 index 0000000000..437adaee9d Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-02-zoom.png differ diff --git a/docs/CAD/design/mate-connectors/bear-flat.png b/docs/CAD/design/mate-connectors/bear-flat.png new file mode 100644 index 0000000000..16375b9d5c Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-flat.png differ diff --git a/docs/CAD/design/mate-connectors/bear-sil-cmp.png b/docs/CAD/design/mate-connectors/bear-sil-cmp.png new file mode 100644 index 0000000000..eb2f283f95 Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-sil-cmp.png differ diff --git a/docs/CAD/design/mate-connectors/bear-sil.png b/docs/CAD/design/mate-connectors/bear-sil.png new file mode 100644 index 0000000000..2b6e51067e Binary files /dev/null and b/docs/CAD/design/mate-connectors/bear-sil.png differ diff --git a/docs/CAD/design/mate-connectors/bear.step b/docs/CAD/design/mate-connectors/bear.step new file mode 100644 index 0000000000..a61f1b22c0 --- /dev/null +++ b/docs/CAD/design/mate-connectors/bear.step @@ -0,0 +1,1020 @@ +ISO-10303-21; +HEADER; +/* Generated by software containing ST-Developer + * from STEP Tools, Inc. (www.steptools.com) + */ +/* OPTION: using custom renumber hook */ + +FILE_DESCRIPTION( +/* description */ ('STEP AP242 Edition 2', +'CAx-IF Rec.Pracs.---Representation and Presentation of Product Manufa +cturing Information (PMI)---4.0---2014-10-13', +'CAx-IF Rec.Pracs.---3D Tessellated Geometry---0.4---2014-09-14','2;1', +'CAx-IF Rec.Pracs.---User Defined Attributes---1.5---2016-08-15'), +/* implementation_level */ '2;1'); + +FILE_NAME( +/* name */ 'Part Studio 1 - Part 1', +/* time_stamp */ '2026-08-05T08:27:36Z', +/* author */ (''), +/* organization */ (''), +/* preprocessor_version */ 'ST-DEVELOPER v20', +/* originating_system */ 'ONSHAPE BY PTC INC, 1.218', +/* authorisation */ ' '); + +FILE_SCHEMA (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF { 1 0 10303 442 3 1 4 }')); +ENDSEC; + +DATA; +#10=SHAPE_REPRESENTATION_RELATIONSHIP('','',#598,#11); +#11=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#596),#960); +#12=CYLINDRICAL_SURFACE('',#620,0.00144852813742385); +#13=CYLINDRICAL_SURFACE('',#622,0.005); +#14=CYLINDRICAL_SURFACE('',#625,0.00585404496296467); +#15=CYLINDRICAL_SURFACE('',#627,0.00585404496296468); +#16=CYLINDRICAL_SURFACE('',#634,0.00493552270528336); +#17=CYLINDRICAL_SURFACE('',#635,0.00493552270528336); +#18=CIRCLE('',#601,0.00493552270528336); +#19=CIRCLE('',#602,0.00585404496296468); +#20=CIRCLE('',#603,0.00585404496296467); +#21=CIRCLE('',#604,0.005); +#22=CIRCLE('',#605,0.00144852813742385); +#23=CIRCLE('',#606,0.00493552270528336); +#24=CIRCLE('',#608,0.00144852813742385); +#25=CIRCLE('',#609,0.005); +#26=CIRCLE('',#610,0.00585404496296467); +#27=CIRCLE('',#611,0.00585404496296468); +#28=CIRCLE('',#612,0.00493552270528336); +#29=CIRCLE('',#613,0.00493552270528336); +#30=ORIENTED_EDGE('',*,*,#188,.T.); +#31=ORIENTED_EDGE('',*,*,#189,.T.); +#32=ORIENTED_EDGE('',*,*,#190,.T.); +#33=ORIENTED_EDGE('',*,*,#191,.T.); +#34=ORIENTED_EDGE('',*,*,#192,.T.); +#35=ORIENTED_EDGE('',*,*,#193,.T.); +#36=ORIENTED_EDGE('',*,*,#194,.T.); +#37=ORIENTED_EDGE('',*,*,#195,.F.); +#38=ORIENTED_EDGE('',*,*,#196,.F.); +#39=ORIENTED_EDGE('',*,*,#197,.T.); +#40=ORIENTED_EDGE('',*,*,#198,.F.); +#41=ORIENTED_EDGE('',*,*,#199,.T.); +#42=ORIENTED_EDGE('',*,*,#200,.F.); +#43=ORIENTED_EDGE('',*,*,#201,.T.); +#44=ORIENTED_EDGE('',*,*,#202,.T.); +#45=ORIENTED_EDGE('',*,*,#203,.F.); +#46=ORIENTED_EDGE('',*,*,#204,.T.); +#47=ORIENTED_EDGE('',*,*,#205,.F.); +#48=ORIENTED_EDGE('',*,*,#206,.T.); +#49=ORIENTED_EDGE('',*,*,#207,.F.); +#50=ORIENTED_EDGE('',*,*,#208,.F.); +#51=ORIENTED_EDGE('',*,*,#209,.F.); +#52=ORIENTED_EDGE('',*,*,#210,.F.); +#53=ORIENTED_EDGE('',*,*,#211,.F.); +#54=ORIENTED_EDGE('',*,*,#212,.F.); +#55=ORIENTED_EDGE('',*,*,#213,.F.); +#56=ORIENTED_EDGE('',*,*,#214,.F.); +#57=ORIENTED_EDGE('',*,*,#215,.F.); +#58=ORIENTED_EDGE('',*,*,#216,.F.); +#59=ORIENTED_EDGE('',*,*,#217,.F.); +#60=ORIENTED_EDGE('',*,*,#218,.F.); +#61=ORIENTED_EDGE('',*,*,#219,.T.); +#62=ORIENTED_EDGE('',*,*,#220,.T.); +#63=ORIENTED_EDGE('',*,*,#221,.F.); +#64=ORIENTED_EDGE('',*,*,#222,.T.); +#65=ORIENTED_EDGE('',*,*,#223,.T.); +#66=ORIENTED_EDGE('',*,*,#224,.T.); +#67=ORIENTED_EDGE('',*,*,#225,.T.); +#68=ORIENTED_EDGE('',*,*,#226,.T.); +#69=ORIENTED_EDGE('',*,*,#227,.F.); +#70=ORIENTED_EDGE('',*,*,#228,.T.); +#71=ORIENTED_EDGE('',*,*,#229,.F.); +#72=ORIENTED_EDGE('',*,*,#230,.T.); +#73=ORIENTED_EDGE('',*,*,#231,.F.); +#74=ORIENTED_EDGE('',*,*,#232,.F.); +#75=ORIENTED_EDGE('',*,*,#233,.T.); +#76=ORIENTED_EDGE('',*,*,#234,.F.); +#77=ORIENTED_EDGE('',*,*,#235,.T.); +#78=ORIENTED_EDGE('',*,*,#236,.F.); +#79=ORIENTED_EDGE('',*,*,#237,.T.); +#80=ORIENTED_EDGE('',*,*,#238,.F.); +#81=ORIENTED_EDGE('',*,*,#239,.T.); +#82=ORIENTED_EDGE('',*,*,#195,.T.); +#83=ORIENTED_EDGE('',*,*,#240,.F.); +#84=ORIENTED_EDGE('',*,*,#222,.F.); +#85=ORIENTED_EDGE('',*,*,#241,.T.); +#86=ORIENTED_EDGE('',*,*,#210,.T.); +#87=ORIENTED_EDGE('',*,*,#242,.F.); +#88=ORIENTED_EDGE('',*,*,#223,.F.); +#89=ORIENTED_EDGE('',*,*,#240,.T.); +#90=ORIENTED_EDGE('',*,*,#209,.T.); +#91=ORIENTED_EDGE('',*,*,#243,.F.); +#92=ORIENTED_EDGE('',*,*,#224,.F.); +#93=ORIENTED_EDGE('',*,*,#242,.T.); +#94=ORIENTED_EDGE('',*,*,#208,.T.); +#95=ORIENTED_EDGE('',*,*,#244,.F.); +#96=ORIENTED_EDGE('',*,*,#225,.F.); +#97=ORIENTED_EDGE('',*,*,#243,.T.); +#98=ORIENTED_EDGE('',*,*,#207,.T.); +#99=ORIENTED_EDGE('',*,*,#245,.F.); +#100=ORIENTED_EDGE('',*,*,#226,.F.); +#101=ORIENTED_EDGE('',*,*,#244,.T.); +#102=ORIENTED_EDGE('',*,*,#206,.F.); +#103=ORIENTED_EDGE('',*,*,#246,.F.); +#104=ORIENTED_EDGE('',*,*,#227,.T.); +#105=ORIENTED_EDGE('',*,*,#245,.T.); +#106=ORIENTED_EDGE('',*,*,#205,.T.); +#107=ORIENTED_EDGE('',*,*,#247,.F.); +#108=ORIENTED_EDGE('',*,*,#228,.F.); +#109=ORIENTED_EDGE('',*,*,#246,.T.); +#110=ORIENTED_EDGE('',*,*,#204,.F.); +#111=ORIENTED_EDGE('',*,*,#248,.F.); +#112=ORIENTED_EDGE('',*,*,#229,.T.); +#113=ORIENTED_EDGE('',*,*,#247,.T.); +#114=ORIENTED_EDGE('',*,*,#203,.T.); +#115=ORIENTED_EDGE('',*,*,#249,.F.); +#116=ORIENTED_EDGE('',*,*,#230,.F.); +#117=ORIENTED_EDGE('',*,*,#248,.T.); +#118=ORIENTED_EDGE('',*,*,#202,.F.); +#119=ORIENTED_EDGE('',*,*,#250,.F.); +#120=ORIENTED_EDGE('',*,*,#231,.T.); +#121=ORIENTED_EDGE('',*,*,#249,.T.); +#122=ORIENTED_EDGE('',*,*,#201,.F.); +#123=ORIENTED_EDGE('',*,*,#251,.F.); +#124=ORIENTED_EDGE('',*,*,#232,.T.); +#125=ORIENTED_EDGE('',*,*,#250,.T.); +#126=ORIENTED_EDGE('',*,*,#200,.T.); +#127=ORIENTED_EDGE('',*,*,#252,.F.); +#128=ORIENTED_EDGE('',*,*,#233,.F.); +#129=ORIENTED_EDGE('',*,*,#251,.T.); +#130=ORIENTED_EDGE('',*,*,#199,.F.); +#131=ORIENTED_EDGE('',*,*,#253,.F.); +#132=ORIENTED_EDGE('',*,*,#234,.T.); +#133=ORIENTED_EDGE('',*,*,#252,.T.); +#134=ORIENTED_EDGE('',*,*,#198,.T.); +#135=ORIENTED_EDGE('',*,*,#254,.F.); +#136=ORIENTED_EDGE('',*,*,#235,.F.); +#137=ORIENTED_EDGE('',*,*,#253,.T.); +#138=ORIENTED_EDGE('',*,*,#197,.F.); +#139=ORIENTED_EDGE('',*,*,#255,.F.); +#140=ORIENTED_EDGE('',*,*,#236,.T.); +#141=ORIENTED_EDGE('',*,*,#254,.T.); +#142=ORIENTED_EDGE('',*,*,#196,.T.); +#143=ORIENTED_EDGE('',*,*,#241,.F.); +#144=ORIENTED_EDGE('',*,*,#237,.F.); +#145=ORIENTED_EDGE('',*,*,#255,.T.); +#146=ORIENTED_EDGE('',*,*,#219,.F.); +#147=ORIENTED_EDGE('',*,*,#256,.F.); +#148=ORIENTED_EDGE('',*,*,#257,.T.); +#149=ORIENTED_EDGE('',*,*,#258,.F.); +#150=ORIENTED_EDGE('',*,*,#256,.T.); +#151=ORIENTED_EDGE('',*,*,#218,.T.); +#152=ORIENTED_EDGE('',*,*,#259,.F.); +#153=ORIENTED_EDGE('',*,*,#221,.T.); +#154=ORIENTED_EDGE('',*,*,#260,.F.); +#155=ORIENTED_EDGE('',*,*,#259,.T.); +#156=ORIENTED_EDGE('',*,*,#257,.F.); +#157=ORIENTED_EDGE('',*,*,#258,.T.); +#158=ORIENTED_EDGE('',*,*,#260,.T.); +#159=ORIENTED_EDGE('',*,*,#220,.F.); +#160=ORIENTED_EDGE('',*,*,#238,.T.); +#161=ORIENTED_EDGE('',*,*,#194,.F.); +#162=ORIENTED_EDGE('',*,*,#239,.F.); +#163=ORIENTED_EDGE('',*,*,#211,.T.); +#164=ORIENTED_EDGE('',*,*,#261,.T.); +#165=ORIENTED_EDGE('',*,*,#212,.T.); +#166=ORIENTED_EDGE('',*,*,#262,.F.); +#167=ORIENTED_EDGE('',*,*,#189,.F.); +#168=ORIENTED_EDGE('',*,*,#262,.T.); +#169=ORIENTED_EDGE('',*,*,#217,.T.); +#170=ORIENTED_EDGE('',*,*,#263,.F.); +#171=ORIENTED_EDGE('',*,*,#190,.F.); +#172=ORIENTED_EDGE('',*,*,#263,.T.); +#173=ORIENTED_EDGE('',*,*,#216,.T.); +#174=ORIENTED_EDGE('',*,*,#264,.F.); +#175=ORIENTED_EDGE('',*,*,#191,.F.); +#176=ORIENTED_EDGE('',*,*,#264,.T.); +#177=ORIENTED_EDGE('',*,*,#215,.T.); +#178=ORIENTED_EDGE('',*,*,#265,.F.); +#179=ORIENTED_EDGE('',*,*,#192,.F.); +#180=ORIENTED_EDGE('',*,*,#265,.T.); +#181=ORIENTED_EDGE('',*,*,#214,.T.); +#182=ORIENTED_EDGE('',*,*,#266,.F.); +#183=ORIENTED_EDGE('',*,*,#193,.F.); +#184=ORIENTED_EDGE('',*,*,#266,.T.); +#185=ORIENTED_EDGE('',*,*,#213,.T.); +#186=ORIENTED_EDGE('',*,*,#261,.F.); +#187=ORIENTED_EDGE('',*,*,#188,.F.); +#188=EDGE_CURVE('',#267,#268,#321,.T.); +#189=EDGE_CURVE('',#268,#269,#322,.T.); +#190=EDGE_CURVE('',#269,#270,#323,.T.); +#191=EDGE_CURVE('',#270,#271,#324,.T.); +#192=EDGE_CURVE('',#271,#272,#325,.T.); +#193=EDGE_CURVE('',#272,#267,#326,.T.); +#194=EDGE_CURVE('',#273,#273,#18,.T.); +#195=EDGE_CURVE('',#274,#275,#327,.T.); +#196=EDGE_CURVE('',#276,#274,#328,.T.); +#197=EDGE_CURVE('',#276,#277,#329,.T.); +#198=EDGE_CURVE('',#278,#277,#19,.T.); +#199=EDGE_CURVE('',#278,#279,#330,.T.); +#200=EDGE_CURVE('',#280,#279,#20,.T.); +#201=EDGE_CURVE('',#280,#281,#331,.T.); +#202=EDGE_CURVE('',#281,#282,#332,.T.); +#203=EDGE_CURVE('',#283,#282,#21,.T.); +#204=EDGE_CURVE('',#283,#284,#333,.T.); +#205=EDGE_CURVE('',#285,#284,#22,.T.); +#206=EDGE_CURVE('',#285,#286,#334,.T.); +#207=EDGE_CURVE('',#287,#286,#335,.T.); +#208=EDGE_CURVE('',#288,#287,#336,.T.); +#209=EDGE_CURVE('',#289,#288,#337,.T.); +#210=EDGE_CURVE('',#275,#289,#338,.T.); +#211=EDGE_CURVE('',#290,#290,#23,.F.); +#212=EDGE_CURVE('',#291,#292,#339,.T.); +#213=EDGE_CURVE('',#293,#291,#340,.T.); +#214=EDGE_CURVE('',#294,#293,#341,.T.); +#215=EDGE_CURVE('',#295,#294,#342,.T.); +#216=EDGE_CURVE('',#296,#295,#343,.T.); +#217=EDGE_CURVE('',#292,#296,#344,.T.); +#218=EDGE_CURVE('',#297,#298,#345,.F.); +#219=EDGE_CURVE('',#297,#299,#346,.T.); +#220=EDGE_CURVE('',#299,#300,#347,.T.); +#221=EDGE_CURVE('',#298,#300,#348,.F.); +#222=EDGE_CURVE('',#301,#302,#349,.T.); +#223=EDGE_CURVE('',#302,#303,#350,.T.); +#224=EDGE_CURVE('',#303,#304,#351,.T.); +#225=EDGE_CURVE('',#304,#305,#352,.T.); +#226=EDGE_CURVE('',#305,#306,#353,.T.); +#227=EDGE_CURVE('',#307,#306,#354,.T.); +#228=EDGE_CURVE('',#307,#308,#24,.T.); +#229=EDGE_CURVE('',#309,#308,#355,.T.); +#230=EDGE_CURVE('',#309,#310,#25,.T.); +#231=EDGE_CURVE('',#311,#310,#356,.T.); +#232=EDGE_CURVE('',#312,#311,#357,.T.); +#233=EDGE_CURVE('',#312,#313,#26,.T.); +#234=EDGE_CURVE('',#314,#313,#358,.T.); +#235=EDGE_CURVE('',#314,#315,#27,.T.); +#236=EDGE_CURVE('',#316,#315,#359,.T.); +#237=EDGE_CURVE('',#316,#301,#360,.T.); +#238=EDGE_CURVE('',#317,#317,#28,.T.); +#239=EDGE_CURVE('',#318,#318,#29,.T.); +#240=EDGE_CURVE('',#302,#275,#361,.T.); +#241=EDGE_CURVE('',#301,#274,#362,.T.); +#242=EDGE_CURVE('',#303,#289,#363,.T.); +#243=EDGE_CURVE('',#304,#288,#364,.T.); +#244=EDGE_CURVE('',#305,#287,#365,.T.); +#245=EDGE_CURVE('',#306,#286,#366,.T.); +#246=EDGE_CURVE('',#307,#285,#367,.T.); +#247=EDGE_CURVE('',#308,#284,#368,.T.); +#248=EDGE_CURVE('',#309,#283,#369,.T.); +#249=EDGE_CURVE('',#310,#282,#370,.T.); +#250=EDGE_CURVE('',#311,#281,#371,.T.); +#251=EDGE_CURVE('',#312,#280,#372,.T.); +#252=EDGE_CURVE('',#313,#279,#373,.T.); +#253=EDGE_CURVE('',#314,#278,#374,.T.); +#254=EDGE_CURVE('',#315,#277,#375,.T.); +#255=EDGE_CURVE('',#316,#276,#376,.T.); +#256=EDGE_CURVE('',#319,#297,#377,.F.); +#257=EDGE_CURVE('',#319,#299,#378,.T.); +#258=EDGE_CURVE('',#319,#320,#379,.F.); +#259=EDGE_CURVE('',#320,#298,#380,.T.); +#260=EDGE_CURVE('',#320,#300,#381,.F.); +#261=EDGE_CURVE('',#268,#291,#382,.T.); +#262=EDGE_CURVE('',#269,#292,#383,.T.); +#263=EDGE_CURVE('',#270,#296,#384,.T.); +#264=EDGE_CURVE('',#271,#295,#385,.T.); +#265=EDGE_CURVE('',#272,#294,#386,.T.); +#266=EDGE_CURVE('',#267,#293,#387,.T.); +#267=VERTEX_POINT('',#798); +#268=VERTEX_POINT('',#799); +#269=VERTEX_POINT('',#801); +#270=VERTEX_POINT('',#803); +#271=VERTEX_POINT('',#805); +#272=VERTEX_POINT('',#807); +#273=VERTEX_POINT('',#810); +#274=VERTEX_POINT('',#812); +#275=VERTEX_POINT('',#813); +#276=VERTEX_POINT('',#815); +#277=VERTEX_POINT('',#817); +#278=VERTEX_POINT('',#819); +#279=VERTEX_POINT('',#821); +#280=VERTEX_POINT('',#823); +#281=VERTEX_POINT('',#825); +#282=VERTEX_POINT('',#827); +#283=VERTEX_POINT('',#829); +#284=VERTEX_POINT('',#831); +#285=VERTEX_POINT('',#833); +#286=VERTEX_POINT('',#835); +#287=VERTEX_POINT('',#837); +#288=VERTEX_POINT('',#839); +#289=VERTEX_POINT('',#841); +#290=VERTEX_POINT('',#844); +#291=VERTEX_POINT('',#847); +#292=VERTEX_POINT('',#848); +#293=VERTEX_POINT('',#850); +#294=VERTEX_POINT('',#852); +#295=VERTEX_POINT('',#854); +#296=VERTEX_POINT('',#856); +#297=VERTEX_POINT('',#859); +#298=VERTEX_POINT('',#860); +#299=VERTEX_POINT('',#862); +#300=VERTEX_POINT('',#864); +#301=VERTEX_POINT('',#867); +#302=VERTEX_POINT('',#868); +#303=VERTEX_POINT('',#870); +#304=VERTEX_POINT('',#872); +#305=VERTEX_POINT('',#874); +#306=VERTEX_POINT('',#876); +#307=VERTEX_POINT('',#878); +#308=VERTEX_POINT('',#880); +#309=VERTEX_POINT('',#882); +#310=VERTEX_POINT('',#884); +#311=VERTEX_POINT('',#886); +#312=VERTEX_POINT('',#888); +#313=VERTEX_POINT('',#890); +#314=VERTEX_POINT('',#892); +#315=VERTEX_POINT('',#894); +#316=VERTEX_POINT('',#896); +#317=VERTEX_POINT('',#899); +#318=VERTEX_POINT('',#901); +#319=VERTEX_POINT('',#936); +#320=VERTEX_POINT('',#940); +#321=LINE('',#797,#388); +#322=LINE('',#800,#389); +#323=LINE('',#802,#390); +#324=LINE('',#804,#391); +#325=LINE('',#806,#392); +#326=LINE('',#808,#393); +#327=LINE('',#811,#394); +#328=LINE('',#814,#395); +#329=LINE('',#816,#396); +#330=LINE('',#820,#397); +#331=LINE('',#824,#398); +#332=LINE('',#826,#399); +#333=LINE('',#830,#400); +#334=LINE('',#834,#401); +#335=LINE('',#836,#402); +#336=LINE('',#838,#403); +#337=LINE('',#840,#404); +#338=LINE('',#842,#405); +#339=LINE('',#846,#406); +#340=LINE('',#849,#407); +#341=LINE('',#851,#408); +#342=LINE('',#853,#409); +#343=LINE('',#855,#410); +#344=LINE('',#857,#411); +#345=LINE('',#858,#412); +#346=LINE('',#861,#413); +#347=LINE('',#863,#414); +#348=LINE('',#865,#415); +#349=LINE('',#866,#416); +#350=LINE('',#869,#417); +#351=LINE('',#871,#418); +#352=LINE('',#873,#419); +#353=LINE('',#875,#420); +#354=LINE('',#877,#421); +#355=LINE('',#881,#422); +#356=LINE('',#885,#423); +#357=LINE('',#887,#424); +#358=LINE('',#891,#425); +#359=LINE('',#895,#426); +#360=LINE('',#897,#427); +#361=LINE('',#903,#428); +#362=LINE('',#904,#429); +#363=LINE('',#906,#430); +#364=LINE('',#908,#431); +#365=LINE('',#910,#432); +#366=LINE('',#912,#433); +#367=LINE('',#914,#434); +#368=LINE('',#916,#435); +#369=LINE('',#918,#436); +#370=LINE('',#920,#437); +#371=LINE('',#922,#438); +#372=LINE('',#924,#439); +#373=LINE('',#926,#440); +#374=LINE('',#928,#441); +#375=LINE('',#930,#442); +#376=LINE('',#932,#443); +#377=LINE('',#935,#444); +#378=LINE('',#937,#445); +#379=LINE('',#939,#446); +#380=LINE('',#941,#447); +#381=LINE('',#943,#448); +#382=LINE('',#948,#449); +#383=LINE('',#949,#450); +#384=LINE('',#951,#451); +#385=LINE('',#953,#452); +#386=LINE('',#955,#453); +#387=LINE('',#957,#454); +#388=VECTOR('',#646,1.); +#389=VECTOR('',#647,1.); +#390=VECTOR('',#648,1.); +#391=VECTOR('',#649,1.); +#392=VECTOR('',#650,1.); +#393=VECTOR('',#651,1.); +#394=VECTOR('',#654,1.); +#395=VECTOR('',#655,1.); +#396=VECTOR('',#656,1.); +#397=VECTOR('',#659,1.); +#398=VECTOR('',#662,1.); +#399=VECTOR('',#663,1.); +#400=VECTOR('',#666,1.); +#401=VECTOR('',#669,1.); +#402=VECTOR('',#670,1.); +#403=VECTOR('',#671,1.); +#404=VECTOR('',#672,1.); +#405=VECTOR('',#673,1.); +#406=VECTOR('',#678,1.); +#407=VECTOR('',#679,1.); +#408=VECTOR('',#680,1.); +#409=VECTOR('',#681,1.); +#410=VECTOR('',#682,1.); +#411=VECTOR('',#683,1.); +#412=VECTOR('',#684,1.); +#413=VECTOR('',#685,1.); +#414=VECTOR('',#686,1.); +#415=VECTOR('',#687,1.); +#416=VECTOR('',#688,1.); +#417=VECTOR('',#689,1.); +#418=VECTOR('',#690,1.); +#419=VECTOR('',#691,1.); +#420=VECTOR('',#692,1.); +#421=VECTOR('',#693,1.); +#422=VECTOR('',#696,1.); +#423=VECTOR('',#699,1.); +#424=VECTOR('',#700,1.); +#425=VECTOR('',#703,1.); +#426=VECTOR('',#706,1.); +#427=VECTOR('',#707,1.); +#428=VECTOR('',#714,1.); +#429=VECTOR('',#715,1.); +#430=VECTOR('',#718,1.); +#431=VECTOR('',#721,1.); +#432=VECTOR('',#724,1.); +#433=VECTOR('',#727,1.); +#434=VECTOR('',#730,1.); +#435=VECTOR('',#733,1.); +#436=VECTOR('',#736,1.); +#437=VECTOR('',#739,1.); +#438=VECTOR('',#742,1.); +#439=VECTOR('',#745,1.); +#440=VECTOR('',#748,1.); +#441=VECTOR('',#751,1.); +#442=VECTOR('',#754,1.); +#443=VECTOR('',#757,1.); +#444=VECTOR('',#762,1.); +#445=VECTOR('',#763,1.); +#446=VECTOR('',#766,1.); +#447=VECTOR('',#767,1.); +#448=VECTOR('',#770,1.); +#449=VECTOR('',#779,1.); +#450=VECTOR('',#780,1.); +#451=VECTOR('',#783,1.); +#452=VECTOR('',#786,1.); +#453=VECTOR('',#789,1.); +#454=VECTOR('',#792,1.); +#455=EDGE_LOOP('',(#30,#31,#32,#33,#34,#35)); +#456=EDGE_LOOP('',(#36)); +#457=EDGE_LOOP('',(#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#47,#48,#49, +#50,#51,#52)); +#458=EDGE_LOOP('',(#53)); +#459=EDGE_LOOP('',(#54,#55,#56,#57,#58,#59)); +#460=EDGE_LOOP('',(#60,#61,#62,#63)); +#461=EDGE_LOOP('',(#64,#65,#66,#67,#68,#69,#70,#71,#72,#73,#74,#75,#76, +#77,#78,#79)); +#462=EDGE_LOOP('',(#80)); +#463=EDGE_LOOP('',(#81)); +#464=EDGE_LOOP('',(#82,#83,#84,#85)); +#465=EDGE_LOOP('',(#86,#87,#88,#89)); +#466=EDGE_LOOP('',(#90,#91,#92,#93)); +#467=EDGE_LOOP('',(#94,#95,#96,#97)); +#468=EDGE_LOOP('',(#98,#99,#100,#101)); +#469=EDGE_LOOP('',(#102,#103,#104,#105)); +#470=EDGE_LOOP('',(#106,#107,#108,#109)); +#471=EDGE_LOOP('',(#110,#111,#112,#113)); +#472=EDGE_LOOP('',(#114,#115,#116,#117)); +#473=EDGE_LOOP('',(#118,#119,#120,#121)); +#474=EDGE_LOOP('',(#122,#123,#124,#125)); +#475=EDGE_LOOP('',(#126,#127,#128,#129)); +#476=EDGE_LOOP('',(#130,#131,#132,#133)); +#477=EDGE_LOOP('',(#134,#135,#136,#137)); +#478=EDGE_LOOP('',(#138,#139,#140,#141)); +#479=EDGE_LOOP('',(#142,#143,#144,#145)); +#480=EDGE_LOOP('',(#146,#147,#148)); +#481=EDGE_LOOP('',(#149,#150,#151,#152)); +#482=EDGE_LOOP('',(#153,#154,#155)); +#483=EDGE_LOOP('',(#156,#157,#158,#159)); +#484=EDGE_LOOP('',(#160)); +#485=EDGE_LOOP('',(#161)); +#486=EDGE_LOOP('',(#162)); +#487=EDGE_LOOP('',(#163)); +#488=EDGE_LOOP('',(#164,#165,#166,#167)); +#489=EDGE_LOOP('',(#168,#169,#170,#171)); +#490=EDGE_LOOP('',(#172,#173,#174,#175)); +#491=EDGE_LOOP('',(#176,#177,#178,#179)); +#492=EDGE_LOOP('',(#180,#181,#182,#183)); +#493=EDGE_LOOP('',(#184,#185,#186,#187)); +#494=FACE_BOUND('',#455,.T.); +#495=FACE_BOUND('',#456,.T.); +#496=FACE_BOUND('',#457,.T.); +#497=FACE_BOUND('',#458,.T.); +#498=FACE_BOUND('',#459,.T.); +#499=FACE_BOUND('',#460,.T.); +#500=FACE_BOUND('',#461,.T.); +#501=FACE_BOUND('',#462,.T.); +#502=FACE_BOUND('',#463,.T.); +#503=FACE_BOUND('',#464,.T.); +#504=FACE_BOUND('',#465,.T.); +#505=FACE_BOUND('',#466,.T.); +#506=FACE_BOUND('',#467,.T.); +#507=FACE_BOUND('',#468,.T.); +#508=FACE_BOUND('',#469,.T.); +#509=FACE_BOUND('',#470,.T.); +#510=FACE_BOUND('',#471,.T.); +#511=FACE_BOUND('',#472,.T.); +#512=FACE_BOUND('',#473,.T.); +#513=FACE_BOUND('',#474,.T.); +#514=FACE_BOUND('',#475,.T.); +#515=FACE_BOUND('',#476,.T.); +#516=FACE_BOUND('',#477,.T.); +#517=FACE_BOUND('',#478,.T.); +#518=FACE_BOUND('',#479,.T.); +#519=FACE_BOUND('',#480,.T.); +#520=FACE_BOUND('',#481,.T.); +#521=FACE_BOUND('',#482,.T.); +#522=FACE_BOUND('',#483,.T.); +#523=FACE_BOUND('',#484,.T.); +#524=FACE_BOUND('',#485,.T.); +#525=FACE_BOUND('',#486,.T.); +#526=FACE_BOUND('',#487,.T.); +#527=FACE_BOUND('',#488,.T.); +#528=FACE_BOUND('',#489,.T.); +#529=FACE_BOUND('',#490,.T.); +#530=FACE_BOUND('',#491,.T.); +#531=FACE_BOUND('',#492,.T.); +#532=FACE_BOUND('',#493,.T.); +#533=PLANE('',#600); +#534=PLANE('',#607); +#535=PLANE('',#614); +#536=PLANE('',#615); +#537=PLANE('',#616); +#538=PLANE('',#617); +#539=PLANE('',#618); +#540=PLANE('',#619); +#541=PLANE('',#621); +#542=PLANE('',#623); +#543=PLANE('',#624); +#544=PLANE('',#626); +#545=PLANE('',#628); +#546=PLANE('',#629); +#547=PLANE('',#630); +#548=PLANE('',#631); +#549=PLANE('',#632); +#550=PLANE('',#633); +#551=PLANE('',#636); +#552=PLANE('',#637); +#553=PLANE('',#638); +#554=PLANE('',#639); +#555=PLANE('',#640); +#556=PLANE('',#641); +#557=ADVANCED_FACE('',(#494,#495,#496,#497),#533,.F.); +#558=ADVANCED_FACE('',(#498,#499,#500,#501,#502),#534,.T.); +#559=ADVANCED_FACE('',(#503),#535,.F.); +#560=ADVANCED_FACE('',(#504),#536,.F.); +#561=ADVANCED_FACE('',(#505),#537,.F.); +#562=ADVANCED_FACE('',(#506),#538,.F.); +#563=ADVANCED_FACE('',(#507),#539,.F.); +#564=ADVANCED_FACE('',(#508),#540,.T.); +#565=ADVANCED_FACE('',(#509),#12,.T.); +#566=ADVANCED_FACE('',(#510),#541,.T.); +#567=ADVANCED_FACE('',(#511),#13,.T.); +#568=ADVANCED_FACE('',(#512),#542,.T.); +#569=ADVANCED_FACE('',(#513),#543,.T.); +#570=ADVANCED_FACE('',(#514),#14,.T.); +#571=ADVANCED_FACE('',(#515),#544,.T.); +#572=ADVANCED_FACE('',(#516),#15,.T.); +#573=ADVANCED_FACE('',(#517),#545,.T.); +#574=ADVANCED_FACE('',(#518),#546,.F.); +#575=ADVANCED_FACE('',(#519),#547,.T.); +#576=ADVANCED_FACE('',(#520),#548,.T.); +#577=ADVANCED_FACE('',(#521),#549,.T.); +#578=ADVANCED_FACE('',(#522),#550,.T.); +#579=ADVANCED_FACE('',(#523,#524),#16,.F.); +#580=ADVANCED_FACE('',(#525,#526),#17,.F.); +#581=ADVANCED_FACE('',(#527),#551,.F.); +#582=ADVANCED_FACE('',(#528),#552,.F.); +#583=ADVANCED_FACE('',(#529),#553,.F.); +#584=ADVANCED_FACE('',(#530),#554,.F.); +#585=ADVANCED_FACE('',(#531),#555,.F.); +#586=ADVANCED_FACE('',(#532),#556,.F.); +#587=CLOSED_SHELL('',(#557,#558,#559,#560,#561,#562,#563,#564,#565,#566, +#567,#568,#569,#570,#571,#572,#573,#574,#575,#576,#577,#578,#579,#580,#581, +#582,#583,#584,#585,#586)); +#588=STYLED_ITEM('',(#589),#596); +#589=PRESENTATION_STYLE_ASSIGNMENT((#590)); +#590=SURFACE_STYLE_USAGE(.BOTH.,#591); +#591=SURFACE_SIDE_STYLE('',(#592)); +#592=SURFACE_STYLE_FILL_AREA(#593); +#593=FILL_AREA_STYLE('',(#594)); +#594=FILL_AREA_STYLE_COLOUR('',#595); +#595=COLOUR_RGB('',0.917647058823529,0.917647058823529,0.917647058823529); +#596=MANIFOLD_SOLID_BREP('Part 1',#587); +#597=SHAPE_DEFINITION_REPRESENTATION(#965,#598); +#598=SHAPE_REPRESENTATION('Part 1',(#599),#960); +#599=AXIS2_PLACEMENT_3D('',#795,#642,#643); +#600=AXIS2_PLACEMENT_3D('',#796,#644,#645); +#601=AXIS2_PLACEMENT_3D('',#809,#652,#653); +#602=AXIS2_PLACEMENT_3D('',#818,#657,#658); +#603=AXIS2_PLACEMENT_3D('',#822,#660,#661); +#604=AXIS2_PLACEMENT_3D('',#828,#664,#665); +#605=AXIS2_PLACEMENT_3D('',#832,#667,#668); +#606=AXIS2_PLACEMENT_3D('',#843,#674,#675); +#607=AXIS2_PLACEMENT_3D('',#845,#676,#677); +#608=AXIS2_PLACEMENT_3D('',#879,#694,#695); +#609=AXIS2_PLACEMENT_3D('',#883,#697,#698); +#610=AXIS2_PLACEMENT_3D('',#889,#701,#702); +#611=AXIS2_PLACEMENT_3D('',#893,#704,#705); +#612=AXIS2_PLACEMENT_3D('',#898,#708,#709); +#613=AXIS2_PLACEMENT_3D('',#900,#710,#711); +#614=AXIS2_PLACEMENT_3D('',#902,#712,#713); +#615=AXIS2_PLACEMENT_3D('',#905,#716,#717); +#616=AXIS2_PLACEMENT_3D('',#907,#719,#720); +#617=AXIS2_PLACEMENT_3D('',#909,#722,#723); +#618=AXIS2_PLACEMENT_3D('',#911,#725,#726); +#619=AXIS2_PLACEMENT_3D('',#913,#728,#729); +#620=AXIS2_PLACEMENT_3D('',#915,#731,#732); +#621=AXIS2_PLACEMENT_3D('',#917,#734,#735); +#622=AXIS2_PLACEMENT_3D('',#919,#737,#738); +#623=AXIS2_PLACEMENT_3D('',#921,#740,#741); +#624=AXIS2_PLACEMENT_3D('',#923,#743,#744); +#625=AXIS2_PLACEMENT_3D('',#925,#746,#747); +#626=AXIS2_PLACEMENT_3D('',#927,#749,#750); +#627=AXIS2_PLACEMENT_3D('',#929,#752,#753); +#628=AXIS2_PLACEMENT_3D('',#931,#755,#756); +#629=AXIS2_PLACEMENT_3D('',#933,#758,#759); +#630=AXIS2_PLACEMENT_3D('',#934,#760,#761); +#631=AXIS2_PLACEMENT_3D('',#938,#764,#765); +#632=AXIS2_PLACEMENT_3D('',#942,#768,#769); +#633=AXIS2_PLACEMENT_3D('',#944,#771,#772); +#634=AXIS2_PLACEMENT_3D('',#945,#773,#774); +#635=AXIS2_PLACEMENT_3D('',#946,#775,#776); +#636=AXIS2_PLACEMENT_3D('',#947,#777,#778); +#637=AXIS2_PLACEMENT_3D('',#950,#781,#782); +#638=AXIS2_PLACEMENT_3D('',#952,#784,#785); +#639=AXIS2_PLACEMENT_3D('',#954,#787,#788); +#640=AXIS2_PLACEMENT_3D('',#956,#790,#791); +#641=AXIS2_PLACEMENT_3D('',#958,#793,#794); +#642=DIRECTION('',(0.,0.,1.)); +#643=DIRECTION('',(1.,0.,0.)); +#644=DIRECTION('',(0.,1.,0.)); +#645=DIRECTION('',(1.,0.,0.)); +#646=DIRECTION('',(-0.266495428889882,0.,0.963836182336396)); +#647=DIRECTION('',(-0.999997598615371,0.,0.00219152081706934)); +#648=DIRECTION('',(-1.,0.,0.)); +#649=DIRECTION('',(0.,0.,1.)); +#650=DIRECTION('',(1.,0.,0.)); +#651=DIRECTION('',(-0.213058124893242,0.,-0.977039526025931)); +#652=DIRECTION('',(0.,1.,0.)); +#653=DIRECTION('',(1.,0.,0.)); +#654=DIRECTION('',(-0.303682828230025,0.,-0.952773183836643)); +#655=DIRECTION('',(0.707106781186547,0.,-0.707106781186548)); +#656=DIRECTION('',(-1.,0.,0.)); +#657=DIRECTION('',(0.,1.,0.)); +#658=DIRECTION('',(1.,0.,0.)); +#659=DIRECTION('',(-0.707106781186547,0.,-0.707106781186548)); +#660=DIRECTION('',(0.,1.,0.)); +#661=DIRECTION('',(1.,0.,0.)); +#662=DIRECTION('',(0.303682828230025,0.,-0.952773183836643)); +#663=DIRECTION('',(-0.718602345804687,0.,-0.695421216676628)); +#664=DIRECTION('',(0.,1.,0.)); +#665=DIRECTION('',(1.,0.,0.)); +#666=DIRECTION('',(0.695421216676628,0.,-0.718602345804686)); +#667=DIRECTION('',(0.,1.,0.)); +#668=DIRECTION('',(1.,0.,0.)); +#669=DIRECTION('',(0.718602345804687,0.,0.695421216676628)); +#670=DIRECTION('',(-1.,0.,0.)); +#671=DIRECTION('',(-0.718602345804687,0.,0.695421216676628)); +#672=DIRECTION('',(-0.695421216676628,0.,-0.718602345804686)); +#673=DIRECTION('',(0.718602345804687,0.,-0.695421216676628)); +#674=DIRECTION('',(0.,1.,0.)); +#675=DIRECTION('',(1.,0.,0.)); +#676=DIRECTION('',(0.,1.,0.)); +#677=DIRECTION('',(1.,0.,0.)); +#678=DIRECTION('',(-0.999997598615371,0.,0.00219152081706934)); +#679=DIRECTION('',(-0.266495428889882,0.,0.963836182336396)); +#680=DIRECTION('',(-0.213058124893242,0.,-0.977039526025931)); +#681=DIRECTION('',(1.,0.,0.)); +#682=DIRECTION('',(0.,0.,1.)); +#683=DIRECTION('',(-1.,0.,0.)); +#684=DIRECTION('',(0.085015328616355,0.,0.996379643459386)); +#685=DIRECTION('',(-1.,0.,3.06657471648694E-16)); +#686=DIRECTION('',(0.085015328616355,0.,-0.996379643459386)); +#687=DIRECTION('',(1.,0.,0.)); +#688=DIRECTION('',(-0.303682828230025,0.,-0.952773183836643)); +#689=DIRECTION('',(0.718602345804687,0.,-0.695421216676628)); +#690=DIRECTION('',(-0.695421216676628,0.,-0.718602345804686)); +#691=DIRECTION('',(-0.718602345804687,0.,0.695421216676628)); +#692=DIRECTION('',(-1.,0.,0.)); +#693=DIRECTION('',(0.718602345804687,0.,0.695421216676628)); +#694=DIRECTION('',(0.,1.,0.)); +#695=DIRECTION('',(1.,0.,0.)); +#696=DIRECTION('',(0.695421216676628,0.,-0.718602345804686)); +#697=DIRECTION('',(0.,1.,0.)); +#698=DIRECTION('',(1.,0.,0.)); +#699=DIRECTION('',(-0.718602345804687,0.,-0.695421216676628)); +#700=DIRECTION('',(0.303682828230025,0.,-0.952773183836643)); +#701=DIRECTION('',(0.,1.,0.)); +#702=DIRECTION('',(1.,0.,0.)); +#703=DIRECTION('',(-0.707106781186547,0.,-0.707106781186548)); +#704=DIRECTION('',(0.,1.,0.)); +#705=DIRECTION('',(1.,0.,0.)); +#706=DIRECTION('',(-1.,0.,0.)); +#707=DIRECTION('',(0.707106781186547,0.,-0.707106781186548)); +#708=DIRECTION('',(0.,1.,0.)); +#709=DIRECTION('',(1.,0.,0.)); +#710=DIRECTION('',(0.,-1.,0.)); +#711=DIRECTION('',(1.,0.,0.)); +#712=DIRECTION('',(-0.952773183836643,0.,0.303682828230025)); +#713=DIRECTION('',(0.303682828230025,0.,0.952773183836643)); +#714=DIRECTION('',(0.,-1.,0.)); +#715=DIRECTION('',(0.,-1.,0.)); +#716=DIRECTION('',(-0.695421216676628,0.,-0.718602345804686)); +#717=DIRECTION('',(-0.718602345804687,0.,0.695421216676628)); +#718=DIRECTION('',(0.,-1.,0.)); +#719=DIRECTION('',(-0.718602345804686,0.,0.695421216676628)); +#720=DIRECTION('',(0.695421216676628,0.,0.718602345804686)); +#721=DIRECTION('',(0.,-1.,0.)); +#722=DIRECTION('',(0.695421216676628,0.,0.718602345804687)); +#723=DIRECTION('',(0.718602345804687,0.,-0.695421216676628)); +#724=DIRECTION('',(0.,-1.,0.)); +#725=DIRECTION('',(0.,0.,1.)); +#726=DIRECTION('',(0.,-1.,0.)); +#727=DIRECTION('',(0.,-1.,0.)); +#728=DIRECTION('',(0.695421216676628,0.,-0.718602345804686)); +#729=DIRECTION('',(-0.718602345804687,0.,-0.695421216676628)); +#730=DIRECTION('',(0.,-1.,0.)); +#731=DIRECTION('',(0.,-1.,0.)); +#732=DIRECTION('',(-1.,0.,0.)); +#733=DIRECTION('',(0.,-1.,0.)); +#734=DIRECTION('',(-0.718602345804686,0.,-0.695421216676628)); +#735=DIRECTION('',(-0.695421216676628,0.,0.718602345804686)); +#736=DIRECTION('',(0.,-1.,0.)); +#737=DIRECTION('',(0.,-1.,0.)); +#738=DIRECTION('',(-1.,0.,0.)); +#739=DIRECTION('',(0.,-1.,0.)); +#740=DIRECTION('',(-0.695421216676628,0.,0.718602345804686)); +#741=DIRECTION('',(0.718602345804687,0.,0.695421216676628)); +#742=DIRECTION('',(0.,-1.,0.)); +#743=DIRECTION('',(-0.952773183836643,0.,-0.303682828230025)); +#744=DIRECTION('',(-0.303682828230025,0.,0.952773183836643)); +#745=DIRECTION('',(0.,-1.,0.)); +#746=DIRECTION('',(0.,-1.,0.)); +#747=DIRECTION('',(-1.,0.,0.)); +#748=DIRECTION('',(0.,-1.,0.)); +#749=DIRECTION('',(-0.707106781186548,0.,0.707106781186547)); +#750=DIRECTION('',(0.707106781186547,0.,0.707106781186548)); +#751=DIRECTION('',(0.,-1.,0.)); +#752=DIRECTION('',(0.,-1.,0.)); +#753=DIRECTION('',(-1.,0.,0.)); +#754=DIRECTION('',(0.,-1.,0.)); +#755=DIRECTION('',(0.,0.,1.)); +#756=DIRECTION('',(0.,-1.,0.)); +#757=DIRECTION('',(0.,-1.,0.)); +#758=DIRECTION('',(-0.707106781186548,0.,-0.707106781186547)); +#759=DIRECTION('',(-0.707106781186547,0.,0.707106781186548)); +#760=DIRECTION('',(2.88163763217142E-16,0.342020143325668,0.939692620785908)); +#761=DIRECTION('',(-1.04883032405173E-16,0.939692620785908,-0.342020143325668)); +#762=DIRECTION('',(-0.349023821871155,0.88059897163896,-0.320511814002009)); +#763=DIRECTION('',(-0.349023821871155,-0.88059897163896,0.320511814002009)); +#764=DIRECTION('',(0.93629059846008,0.342020143325668,-0.0798882769544779)); +#765=DIRECTION('',(-0.340781908462758,0.939692620785908,0.0290769548782445)); +#766=DIRECTION('',(5.27512265516559E-18,0.227455280238187,0.973788527089824)); +#767=DIRECTION('',(0.29964820828413,-0.89651352264206,-0.326304236858849)); +#768=DIRECTION('',(0.,0.342020143325668,-0.939692620785908)); +#769=DIRECTION('',(0.,0.939692620785908,0.342020143325668)); +#770=DIRECTION('',(0.29964820828413,0.89651352264206,0.326304236858849)); +#771=DIRECTION('',(-0.93629059846008,0.342020143325668,-0.0798882769544778)); +#772=DIRECTION('',(0.340781908462758,0.939692620785908,0.0290769548782445)); +#773=DIRECTION('',(0.,1.,0.)); +#774=DIRECTION('',(1.,0.,0.)); +#775=DIRECTION('',(0.,1.,0.)); +#776=DIRECTION('',(1.,0.,0.)); +#777=DIRECTION('',(-0.00219152081706934,0.,-0.999997598615371)); +#778=DIRECTION('',(-0.999997598615371,0.,0.00219152081706934)); +#779=DIRECTION('',(0.,1.,0.)); +#780=DIRECTION('',(0.,1.,0.)); +#781=DIRECTION('',(0.,0.,-1.)); +#782=DIRECTION('',(0.,1.,0.)); +#783=DIRECTION('',(0.,1.,0.)); +#784=DIRECTION('',(-1.,0.,0.)); +#785=DIRECTION('',(0.,1.,0.)); +#786=DIRECTION('',(0.,1.,0.)); +#787=DIRECTION('',(0.,0.,1.)); +#788=DIRECTION('',(0.,-1.,0.)); +#789=DIRECTION('',(0.,1.,0.)); +#790=DIRECTION('',(0.977039526025931,0.,-0.213058124893242)); +#791=DIRECTION('',(-0.213058124893242,0.,-0.977039526025931)); +#792=DIRECTION('',(0.,1.,0.)); +#793=DIRECTION('',(-0.963836182336396,0.,-0.266495428889882)); +#794=DIRECTION('',(-0.266495428889882,0.,0.963836182336396)); +#795=CARTESIAN_POINT('',(0.,0.,0.)); +#796=CARTESIAN_POINT('',(0.000403056515455171,0.,-0.0333451765527338)); +#797=CARTESIAN_POINT('',(0.0215502388783335,0.,-0.0274980963778158)); +#798=CARTESIAN_POINT('',(0.0190522437020891,0.,-0.0184635769333528)); +#799=CARTESIAN_POINT('',(0.0164742856100485,0.,-0.00913985496181237)); +#800=CARTESIAN_POINT('',(0.000456180040532926,0.,-0.00910475086570832)); +#801=CARTESIAN_POINT('',(-5.20417042793042E-18,0.,-0.00910375113525243)); +#802=CARTESIAN_POINT('',(0.000403056515455171,0.,-0.00910375113525243)); +#803=CARTESIAN_POINT('',(-0.0219255222314632,0.,-0.00910375113525243)); +#804=CARTESIAN_POINT('',(-0.0219255222314632,0.,-0.0333451765527338)); +#805=CARTESIAN_POINT('',(-0.0219255222314632,0.,-0.00353451976078464)); +#806=CARTESIAN_POINT('',(0.000403056515455171,0.,-0.00353451976078464)); +#807=CARTESIAN_POINT('',(0.0223077485643632,0.,-0.00353451976078463)); +#808=CARTESIAN_POINT('',(0.0151078407072698,0.,-0.0365517753273105)); +#809=CARTESIAN_POINT('',(-0.016428276640485,0.,-0.0480095168479337)); +#810=CARTESIAN_POINT('',(-0.0114927539352016,0.,-0.0480095168479337)); +#811=CARTESIAN_POINT('',(0.0343907974147891,0.,-0.0311671147355531)); +#812=CARTESIAN_POINT('',(0.0420710678118655,0.,-0.00707106781186548)); +#813=CARTESIAN_POINT('',(0.0267105270177126,0.,-0.0552631616592407)); +#814=CARTESIAN_POINT('',(0.0385355339059327,0.,-0.00353553390593274)); +#815=CARTESIAN_POINT('',(0.035,0.,0.)); +#816=CARTESIAN_POINT('',(-0.016287587590799,0.,0.)); +#817=CARTESIAN_POINT('',(-0.0325751751815982,0.,-1.56125112837912E-17)); +#818=CARTESIAN_POINT('',(-0.0325751751815982,0.,-0.0058540449629647)); +#819=CARTESIAN_POINT('',(-0.0367146100722814,0.,-0.00171461007228142)); +#820=CARTESIAN_POINT('',(-0.0381324773904776,0.,-0.00313247739047756)); +#821=CARTESIAN_POINT('',(-0.0395503447086737,0.,-0.00455034470867372)); +#822=CARTESIAN_POINT('',(-0.0354109098179905,0.,-0.008689779599357)); +#823=CARTESIAN_POINT('',(-0.0409884868756772,0.,-0.0104675525302958)); +#824=CARTESIAN_POINT('',(-0.0338495069466949,0.,-0.0328653570947683)); +#825=CARTESIAN_POINT('',(-0.0267105270177126,0.,-0.0552631616592407)); +#826=CARTESIAN_POINT('',(-0.0277692838722956,0.,-0.056287764465337)); +#827=CARTESIAN_POINT('',(-0.0288280407268787,0.,-0.0573123672714333)); +#828=CARTESIAN_POINT('',(-0.0253509346434956,0.,-0.0609053790004567)); +#829=CARTESIAN_POINT('',(-0.0289439463725189,0.,-0.0643824850838399)); +#830=CARTESIAN_POINT('',(-0.0283309052949746,0.,-0.0650159612358953)); +#831=CARTESIAN_POINT('',(-0.0277178642174302,0.,-0.0656494373879507)); +#832=CARTESIAN_POINT('',(-0.0266769484999133,0.,-0.0646421001882331)); +#833=CARTESIAN_POINT('',(-0.0256696113001957,0.,-0.06568301590575)); +#834=CARTESIAN_POINT('',(-0.0231412794977803,0.,-0.0632362446302832)); +#835=CARTESIAN_POINT('',(-0.0206129476953649,0.,-0.0607894733548164)); +#836=CARTESIAN_POINT('',(0.0103064738476824,0.,-0.0607894733548164)); +#837=CARTESIAN_POINT('',(0.0206129476953649,0.,-0.0607894733548164)); +#838=CARTESIAN_POINT('',(0.0236617373565387,0.,-0.063739913230142)); +#839=CARTESIAN_POINT('',(0.0267105270177126,0.,-0.0666903531054676)); +#840=CARTESIAN_POINT('',(0.0295657897368073,0.,-0.063739913230142)); +#841=CARTESIAN_POINT('',(0.0324210524559021,0.,-0.0607894733548164)); +#842=CARTESIAN_POINT('',(0.0295657897368073,0.,-0.0580263175070286)); +#843=CARTESIAN_POINT('',(0.016428276640485,0.,-0.0480095168479337)); +#844=CARTESIAN_POINT('',(0.0213637993457684,0.,-0.0480095168479337)); +#845=CARTESIAN_POINT('',(0.000403056515455171,0.003,-0.0333451765527338)); +#846=CARTESIAN_POINT('',(0.00823714280502423,0.003,-0.0091218030485324)); +#847=CARTESIAN_POINT('',(0.0164742856100485,0.003,-0.00913985496181237)); +#848=CARTESIAN_POINT('',(-5.20417042793042E-18,0.003,-0.00910375113525243)); +#849=CARTESIAN_POINT('',(0.0177632646560688,0.003,-0.0138017159475826)); +#850=CARTESIAN_POINT('',(0.0190522437020891,0.003,-0.0184635769333528)); +#851=CARTESIAN_POINT('',(0.0206799961332261,0.003,-0.0109990483470687)); +#852=CARTESIAN_POINT('',(0.0223077485643632,0.003,-0.00353451976078463)); +#853=CARTESIAN_POINT('',(0.000191113166449982,0.003,-0.00353451976078464)); +#854=CARTESIAN_POINT('',(-0.0219255222314632,0.003,-0.00353451976078464)); +#855=CARTESIAN_POINT('',(-0.0219255222314632,0.003,-0.00631913544801854)); +#856=CARTESIAN_POINT('',(-0.0219255222314632,0.003,-0.00910375113525243)); +#857=CARTESIAN_POINT('',(-0.0109627611157316,0.003,-0.00910375113525243)); +#858=CARTESIAN_POINT('',(0.00563643376336433,0.003,-0.0134438107408346)); +#859=CARTESIAN_POINT('',(0.00565687660127879,0.003,-0.0132042206823826)); +#860=CARTESIAN_POINT('',(0.0025594683829695,0.003,-0.0495058447122574)); +#861=CARTESIAN_POINT('',(0.00282843830063939,0.003,-0.0132042206823826)); +#862=CARTESIAN_POINT('',(-0.00565687660127879,0.003,-0.0132042206823826)); +#863=CARTESIAN_POINT('',(-0.00559554808753541,0.003,-0.0139229908577385)); +#864=CARTESIAN_POINT('',(-0.0025594683829695,0.003,-0.0495058447122574)); +#865=CARTESIAN_POINT('',(0.00282843830063939,0.003,-0.0495058447122574)); +#866=CARTESIAN_POINT('',(0.0343907974147891,0.003,-0.0311671147355531)); +#867=CARTESIAN_POINT('',(0.0420710678118655,0.003,-0.00707106781186548)); +#868=CARTESIAN_POINT('',(0.0267105270177126,0.003,-0.0552631616592407)); +#869=CARTESIAN_POINT('',(0.0295657897368073,0.003,-0.0580263175070286)); +#870=CARTESIAN_POINT('',(0.0324210524559021,0.003,-0.0607894733548164)); +#871=CARTESIAN_POINT('',(0.0295657897368073,0.003,-0.063739913230142)); +#872=CARTESIAN_POINT('',(0.0267105270177126,0.003,-0.0666903531054676)); +#873=CARTESIAN_POINT('',(0.0236617373565387,0.003,-0.063739913230142)); +#874=CARTESIAN_POINT('',(0.0206129476953649,0.003,-0.0607894733548164)); +#875=CARTESIAN_POINT('',(0.0103064738476824,0.003,-0.0607894733548164)); +#876=CARTESIAN_POINT('',(-0.0206129476953649,0.003,-0.0607894733548164)); +#877=CARTESIAN_POINT('',(-0.0231412794977803,0.003,-0.0632362446302832)); +#878=CARTESIAN_POINT('',(-0.0256696113001957,0.003,-0.06568301590575)); +#879=CARTESIAN_POINT('',(-0.0266769484999133,0.003,-0.0646421001882331)); +#880=CARTESIAN_POINT('',(-0.0277178642174302,0.003,-0.0656494373879507)); +#881=CARTESIAN_POINT('',(-0.0283309052949746,0.003,-0.0650159612358953)); +#882=CARTESIAN_POINT('',(-0.0289439463725189,0.003,-0.0643824850838399)); +#883=CARTESIAN_POINT('',(-0.0253509346434956,0.003,-0.0609053790004567)); +#884=CARTESIAN_POINT('',(-0.0288280407268787,0.003,-0.0573123672714333)); +#885=CARTESIAN_POINT('',(-0.0277692838722956,0.003,-0.056287764465337)); +#886=CARTESIAN_POINT('',(-0.0267105270177126,0.003,-0.0552631616592407)); +#887=CARTESIAN_POINT('',(-0.0338495069466949,0.003,-0.0328653570947683)); +#888=CARTESIAN_POINT('',(-0.0409884868756772,0.003,-0.0104675525302958)); +#889=CARTESIAN_POINT('',(-0.0354109098179905,0.003,-0.008689779599357)); +#890=CARTESIAN_POINT('',(-0.0395503447086737,0.003,-0.00455034470867372)); +#891=CARTESIAN_POINT('',(-0.0381324773904776,0.003,-0.00313247739047756)); +#892=CARTESIAN_POINT('',(-0.0367146100722814,0.003,-0.00171461007228142)); +#893=CARTESIAN_POINT('',(-0.0325751751815982,0.003,-0.0058540449629647)); +#894=CARTESIAN_POINT('',(-0.0325751751815982,0.003,-1.56125112837912E-17)); +#895=CARTESIAN_POINT('',(-0.016287587590799,0.003,0.)); +#896=CARTESIAN_POINT('',(0.035,0.003,0.)); +#897=CARTESIAN_POINT('',(0.0385355339059327,0.003,-0.00353553390593274)); +#898=CARTESIAN_POINT('',(-0.016428276640485,0.003,-0.0480095168479337)); +#899=CARTESIAN_POINT('',(-0.0114927539352016,0.003,-0.0480095168479337)); +#900=CARTESIAN_POINT('',(0.016428276640485,0.003,-0.0480095168479337)); +#901=CARTESIAN_POINT('',(0.0213637993457684,0.003,-0.0480095168479337)); +#902=CARTESIAN_POINT('',(0.0343907974147891,0.003,-0.0311671147355531)); +#903=CARTESIAN_POINT('',(0.0267105270177126,0.003,-0.0552631616592407)); +#904=CARTESIAN_POINT('',(0.0420710678118655,0.003,-0.00707106781186548)); +#905=CARTESIAN_POINT('',(0.0295657897368073,0.003,-0.0580263175070286)); +#906=CARTESIAN_POINT('',(0.0324210524559021,0.003,-0.0607894733548164)); +#907=CARTESIAN_POINT('',(0.0295657897368073,0.003,-0.063739913230142)); +#908=CARTESIAN_POINT('',(0.0267105270177126,0.003,-0.0666903531054676)); +#909=CARTESIAN_POINT('',(0.0236617373565387,0.003,-0.063739913230142)); +#910=CARTESIAN_POINT('',(0.0206129476953649,0.003,-0.0607894733548164)); +#911=CARTESIAN_POINT('',(0.0103064738476824,0.003,-0.0607894733548164)); +#912=CARTESIAN_POINT('',(-0.0206129476953649,0.003,-0.0607894733548164)); +#913=CARTESIAN_POINT('',(-0.0231412794977803,0.003,-0.0632362446302832)); +#914=CARTESIAN_POINT('',(-0.0256696113001957,0.003,-0.06568301590575)); +#915=CARTESIAN_POINT('',(-0.0266769484999133,0.003,-0.0646421001882331)); +#916=CARTESIAN_POINT('',(-0.0277178642174302,0.003,-0.0656494373879507)); +#917=CARTESIAN_POINT('',(-0.0283309052949746,0.003,-0.0650159612358953)); +#918=CARTESIAN_POINT('',(-0.0289439463725189,0.003,-0.0643824850838399)); +#919=CARTESIAN_POINT('',(-0.0253509346434956,0.003,-0.0609053790004567)); +#920=CARTESIAN_POINT('',(-0.0288280407268787,0.003,-0.0573123672714333)); +#921=CARTESIAN_POINT('',(-0.0277692838722956,0.003,-0.056287764465337)); +#922=CARTESIAN_POINT('',(-0.0267105270177126,0.003,-0.0552631616592407)); +#923=CARTESIAN_POINT('',(-0.0338495069466949,0.003,-0.0328653570947683)); +#924=CARTESIAN_POINT('',(-0.0409884868756772,0.003,-0.0104675525302958)); +#925=CARTESIAN_POINT('',(-0.0354109098179905,0.003,-0.008689779599357)); +#926=CARTESIAN_POINT('',(-0.0395503447086737,0.003,-0.00455034470867372)); +#927=CARTESIAN_POINT('',(-0.0381324773904776,0.003,-0.00313247739047756)); +#928=CARTESIAN_POINT('',(-0.0367146100722814,0.003,-0.00171461007228142)); +#929=CARTESIAN_POINT('',(-0.0325751751815982,0.003,-0.0058540449629647)); +#930=CARTESIAN_POINT('',(-0.0325751751815982,0.003,-1.56125112837912E-17)); +#931=CARTESIAN_POINT('',(-0.016287587590799,0.003,0.)); +#932=CARTESIAN_POINT('',(0.035,0.003,0.)); +#933=CARTESIAN_POINT('',(0.0385355339059327,0.003,-0.00353553390593274)); +#934=CARTESIAN_POINT('',(0.00282843830063939,0.003,-0.0132042206823826)); +#935=CARTESIAN_POINT('',(0.00531232295588997,0.00386932056435923,-0.0135206274918448)); +#936=CARTESIAN_POINT('',(-1.3010426069826E-18,0.0172724920352672,-0.0183989829520213)); +#937=CARTESIAN_POINT('',(-0.00462321566511233,0.00560796169307769,-0.0141534411107693)); +#938=CARTESIAN_POINT('',(0.00563643376336433,0.003,-0.0134438107408346)); +#939=CARTESIAN_POINT('',(0.,0.0176316294050728,-0.0168614330213291)); +#940=CARTESIAN_POINT('',(-2.16840434497101E-19,0.0106576397010564,-0.0467186917963377)); +#941=CARTESIAN_POINT('',(0.0025836189360135,0.00292774427884215,-0.0495321436440143)); +#942=CARTESIAN_POINT('',(0.00282843830063939,0.003,-0.0495058447122574)); +#943=CARTESIAN_POINT('',(-0.00207569336721363,0.0044474000896754,-0.0489790341625413)); +#944=CARTESIAN_POINT('',(-0.00559554808753541,0.003,-0.0139229908577385)); +#945=CARTESIAN_POINT('',(-0.016428276640485,-0.022,-0.0480095168479337)); +#946=CARTESIAN_POINT('',(0.016428276640485,-0.022,-0.0480095168479337)); +#947=CARTESIAN_POINT('',(0.00823714280502423,-0.022,-0.0091218030485324)); +#948=CARTESIAN_POINT('',(0.0164742856100485,-0.022,-0.00913985496181237)); +#949=CARTESIAN_POINT('',(-5.20417042793042E-18,-0.022,-0.00910375113525243)); +#950=CARTESIAN_POINT('',(-0.0109627611157316,-0.022,-0.00910375113525243)); +#951=CARTESIAN_POINT('',(-0.0219255222314632,-0.022,-0.00910375113525243)); +#952=CARTESIAN_POINT('',(-0.0219255222314632,-0.022,-0.00631913544801854)); +#953=CARTESIAN_POINT('',(-0.0219255222314632,-0.022,-0.00353451976078464)); +#954=CARTESIAN_POINT('',(0.000191113166449982,-0.022,-0.00353451976078464)); +#955=CARTESIAN_POINT('',(0.0223077485643632,-0.022,-0.00353451976078463)); +#956=CARTESIAN_POINT('',(0.0206799961332261,-0.022,-0.0109990483470687)); +#957=CARTESIAN_POINT('',(0.0190522437020891,-0.022,-0.0184635769333528)); +#958=CARTESIAN_POINT('',(0.0177632646560688,-0.022,-0.0138017159475826)); +#959=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#588), +#960); +#960=( +GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#961)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#964,#963,#962)) +REPRESENTATION_CONTEXT('Part 1','TOP_LEVEL_ASSEMBLY_PART') +); +#961=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-8),#964, +'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model'); +#962=( +NAMED_UNIT(*) +SI_UNIT($,.STERADIAN.) +SOLID_ANGLE_UNIT() +); +#963=( +NAMED_UNIT(*) +PLANE_ANGLE_UNIT() +SI_UNIT($,.RADIAN.) +); +#964=( +LENGTH_UNIT() +NAMED_UNIT(*) +SI_UNIT($,.METRE.) +); +#965=PRODUCT_DEFINITION_SHAPE('','',#966); +#966=PRODUCT_DEFINITION('','',#968,#967); +#967=PRODUCT_DEFINITION_CONTEXT('',#974,'design'); +#968=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#970, + .NOT_KNOWN.); +#969=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#970)); +#970=PRODUCT('Part 1','Part 1','Part 1',(#972)); +#971=PRODUCT_CATEGORY('',''); +#972=PRODUCT_CONTEXT('',#974,'mechanical'); +#973=APPLICATION_PROTOCOL_DEFINITION('international standard', +'ap242_managed_model_based_3d_engineering',2020,#974); +#974=APPLICATION_CONTEXT('managed model based 3d engineering'); +ENDSEC; +END-ISO-10303-21; diff --git a/docs/CAD/design/mate-connectors/bear_glyph_table.h b/docs/CAD/design/mate-connectors/bear_glyph_table.h new file mode 100644 index 0000000000..c26631e7e0 --- /dev/null +++ b/docs/CAD/design/mate-connectors/bear_glyph_table.h @@ -0,0 +1,30 @@ +// Emitted by doc/design/mate-connectors/emit_glyph_table.py from bear.step — do not hand-edit. +// Normalised to the part's bounding span and centred: the renderer scales by one radius. +static const Vec2d kBearOutline[] = { // 12 verts, RDP eps 0.030, CCW + {+0.3842, +0.3294}, {+0.3156, +0.4002}, {+0.2424, +0.3294}, + {-0.2524, +0.3294}, {-0.3377, +0.3877}, {-0.3693, +0.3298}, + {-0.3256, +0.2631}, {-0.4893, -0.3337}, {-0.3960, -0.4002}, + {+0.4151, -0.4002}, {+0.5000, -0.3154}, {+0.3156, +0.2631}, +}; +static const Vec2d kBearChin[] = { // the CHIN BAR, flat. The muzzle is relief — see kBearCrest. + {-0.2682, -0.3578}, {+0.2628, -0.3578}, {+0.2237, -0.1786}, +}; +// {cx, cy, r}: two eyes, then the cheek dot that carries handedness (wi3z). +static const Vec3d kBearMarks[] = { + {-0.1997, +0.1760, +0.0590}, + {+0.1947, +0.1760, +0.0590}, + {+0.2797, +0.0760, +0.0380}, +}; +// THE MUZZLE, lifted off the mesh: a tapered wedge, base quad + crest edge, 6 facets. +// This is the only feature standing along +Z and the only one still legible edge-on. +static const double kBearPlateZ = +0.0360; +static const Vec2d kBearSnoutBase[] = { // CCW from the nose end + {-0.0727, -0.2417}, + {+0.0630, -0.2417}, + {+0.0259, +0.1939}, + {-0.0356, +0.1939}, +}; +static const Vec3d kBearCrest[] = { // nose (tall) -> tail (short) + {-0.0048, -0.1793, +0.2073}, + {-0.0048, +0.1605, +0.1279}, +}; diff --git a/docs/CAD/design/mate-connectors/bear_mesh.json b/docs/CAD/design/mate-connectors/bear_mesh.json new file mode 100644 index 0000000000..4bfb6aa361 --- /dev/null +++ b/docs/CAD/design/mate-connectors/bear_mesh.json @@ -0,0 +1 @@ +{"v": [[-36.7146, 0.0, -1.7146], [-36.0624, 0.0, -1.152], [-36.5065, 0.0, -1.5165], [-36.2889, 0.0, -1.3288], [-39.9409, 0.0, -4.9818], [-40.1196, 0.0, -5.2115], [-39.751, 0.0, -4.7612], [-39.5503, 0.0, -4.5503], [-35.8275, 0.0, -0.9866], [-35.3348, 0.0, -0.6912], [-35.5848, 0.0, -0.8329], [-40.4417, 0.0, -5.6962], [-40.5842, 0.0, -5.95], [-40.2867, 0.0, -5.4499], [-35.0781, 0.0, -0.5621], [-40.714, 0.0, -6.2105], [-34.5473, 0.0, -0.3422], [-34.8154, 0.0, -0.4456], [-40.8307, 0.0, -6.4772], [-40.934, 0.0, -6.7493], [-41.0236, 0.0, -7.0262], [-33.9976, 0.0, -0.1754], [-34.2745, 0.0, -0.2521], [-41.161, 0.0, -7.5917], [-41.2085, 0.0, -7.8789], [-41.0994, 0.0, -7.3072], [-33.149, 0.0, -0.0282], [-33.7172, 0.0, -0.1125], [-33.4341, 0.0, -0.0634], [-32.8624, 0.0, -0.0071], [-32.5752, 0.0, -0.0], [-41.2544, 0.0, -9.0404], [-41.2298, 0.0, -9.3304], [-41.2646, 0.0, -8.7495], [-41.2604, 0.0, -8.4585], [-41.2417, 0.0, -8.168], [-41.1908, 0.0, -9.6189], [-41.1374, 0.0, -9.905], [-41.07, 0.0, -10.1881], [-40.9885, 0.0, -10.4676], [-21.9255, 0.0, -9.1038], [-21.9255, 0.0, -3.5345], [-20.0463, 0.0, -44.6525], [-19.8744, 0.0, -44.4763], [-19.694, 0.0, -44.309], [-20.2091, 0.0, -44.837], [-19.5055, 0.0, -44.1508], [-20.3625, 0.0, -45.0294], [-19.3094, 0.0, -44.0022], [-20.5062, 0.0, -45.2292], [-19.106, 0.0, -43.8635], [-20.6397, 0.0, -45.436], [-18.896, 0.0, -43.7352], [-20.7628, 0.0, -45.6491], [-18.6799, 0.0, -43.6175], [-20.875, 0.0, -45.8681], [-18.4582, 0.0, -43.5108], [-20.9762, 0.0, -46.0924], [-18.2314, 0.0, -43.4152], [-21.0662, 0.0, -46.3215], [-18.0002, 0.0, -43.331], [-17.765, 0.0, -43.2585], [-17.5265, 0.0, -43.1977], [22.3077, 0.0, -3.5345], [-17.2853, 0.0, -43.149], [-17.042, 0.0, -43.1123], [-16.7971, 0.0, -43.0878], [-16.5513, 0.0, -43.0755], [-16.3052, 0.0, -43.0755], [-16.0594, 0.0, -43.0878], [-15.8146, 0.0, -43.1123], [-15.5712, 0.0, -43.149], [-15.33, 0.0, -43.1977], [-0.0, 0.0, -9.1038], [-15.0915, 0.0, -43.2585], [-14.8564, 0.0, -43.331], [-21.2112, 0.0, -49.2274], [-26.7105, 0.0, -55.2632], [-21.1445, 0.0, -49.4643], [-21.2659, 0.0, -48.9875], [-21.3087, 0.0, -48.7451], [-21.3393, 0.0, -48.5009], [-21.3577, 0.0, -48.2555], [-21.3638, 0.0, -48.0095], [-21.3577, 0.0, -47.7635], [-21.3393, 0.0, -47.5181], [-21.3087, 0.0, -47.2739], [-21.2659, 0.0, -47.0316], [-21.2112, 0.0, -46.7916], [-21.1445, 0.0, -46.5547], [-21.0662, 0.0, -49.6976], [-14.6251, 0.0, -43.4152], [-20.9762, 0.0, -49.9266], [-14.3984, 0.0, -43.5108], [-20.875, 0.0, -50.151], [-14.1766, 0.0, -43.6175], [-20.7628, 0.0, -50.37], [-13.9605, 0.0, -43.7352], [-20.6397, 0.0, -50.5831], [-13.7505, 0.0, -43.8635], [-20.5062, 0.0, -50.7898], [-13.5472, 0.0, -44.0022], [-20.3625, 0.0, -50.9896], [-13.351, 0.0, -44.1508], [-20.2091, 0.0, -51.182], [-13.1625, 0.0, -44.309], [-20.0463, 0.0, -51.3665], [-19.8744, 0.0, -51.5427], [-19.694, 0.0, -51.7101], [-19.5055, 0.0, -51.8683], [-19.3094, 0.0, -52.0169], [-19.106, 0.0, -52.1555], [35.0, 0.0, 0.0], [19.0522, 0.0, -18.4636], [16.4743, 0.0, -9.1399], [-27.6672, 0.0, -65.6993], [-27.6141, 0.0, -65.7466], [-27.7179, 0.0, -65.6494], [-27.5588, 0.0, -65.7913], [-27.4419, 0.0, -65.8722], [-27.3806, 0.0, -65.9082], [-27.5013, 0.0, -65.8332], [-27.3177, 0.0, -65.9412], [-27.2531, 0.0, -65.9711], [-27.1872, 0.0, -65.9978], [-27.1201, 0.0, -66.0212], [-27.0519, 0.0, -66.0413], [-26.9828, 0.0, -66.058], [-26.9129, 0.0, -66.0713], [-26.8425, 0.0, -66.0811], [-26.7007, 0.0, -66.0904], [-26.7717, 0.0, -66.0875], [-26.6296, 0.0, -66.0899], [-26.4879, 0.0, -66.0782], [-26.4177, 0.0, -66.0672], [-26.5586, 0.0, -66.0858], [-26.3481, 0.0, -66.0528], [-26.2792, 0.0, -66.035], [-26.2114, 0.0, -66.0138], [-26.1446, 0.0, -65.9893], [-26.0792, 0.0, -65.9615], [-26.0151, 0.0, -65.9306], [-25.9527, 0.0, -65.8966], [-25.892, 0.0, -65.8595], [-25.8332, 0.0, -65.8196], [-25.7765, 0.0, -65.7767], [-25.7219, 0.0, -65.7312], [-25.6696, 0.0, -65.683], [-28.9439, 0.0, -64.3825], [-29.1102, 0.0, -64.202], [-29.2675, 0.0, -64.0136], [-29.4153, 0.0, -63.8176], [-29.5533, 0.0, -63.6147], [-29.6811, 0.0, -63.4052], [-29.7986, 0.0, -63.1898], [-29.9053, 0.0, -62.9688], [-30.0011, 0.0, -62.7428], [-30.0856, 0.0, -62.5124], [-30.1588, 0.0, -62.2782], [-30.2204, 0.0, -62.0406], [-30.2702, 0.0, -61.8003], [-30.3082, 0.0, -61.5579], [-30.3342, 0.0, -61.3138], [-30.3483, 0.0, -61.0688], [-30.3503, 0.0, -60.8234], [-30.3402, 0.0, -60.5782], [-30.3182, 0.0, -60.3338], [-30.2841, 0.0, -60.0908], [-30.2382, 0.0, -59.8497], [-30.1805, 0.0, -59.6111], [-30.1112, 0.0, -59.3757], [-30.0304, 0.0, -59.144], [-29.9383, 0.0, -58.9165], [-29.8352, 0.0, -58.6938], [-29.7213, 0.0, -58.4764], [-29.5969, 0.0, -58.2649], [-13.7505, 0.0, -52.1555], [-20.6129, 0.0, -60.7895], [-13.5472, 0.0, -52.0169], [-13.9605, 0.0, -52.2838], [-14.1766, 0.0, -52.4015], [-14.3984, 0.0, -52.5083], [-14.6251, 0.0, -52.6039], [-14.8564, 0.0, -52.688], [-15.0915, 0.0, -52.7606], [-15.33, 0.0, -52.8213], [-15.5712, 0.0, -52.8701], [-15.8146, 0.0, -52.9067], [-16.0594, 0.0, -52.9312], [-16.3052, 0.0, -52.9435], [-16.5513, 0.0, -52.9435], [-16.7971, 0.0, -52.9312], [-17.042, 0.0, -52.9067], [-17.2853, 0.0, -52.8701], [-17.5265, 0.0, -52.8213], [-17.765, 0.0, -52.7606], [-18.0002, 0.0, -52.688], [-18.2314, 0.0, -52.6039], [-18.4582, 0.0, -52.5083], [-18.6799, 0.0, -52.4015], [-18.896, 0.0, -52.2838], [-29.4622, 0.0, -58.0598], [-29.3176, 0.0, -57.8615], [-29.1635, 0.0, -57.6705], [-29.0002, 0.0, -57.4873], [-28.828, 0.0, -57.3124], [42.0711, 0.0, -7.0711], [-12.9821, 0.0, -44.4763], [12.9821, 0.0, -44.4763], [-12.8103, 0.0, -44.6525], [12.8103, 0.0, -44.6525], [-12.6474, 0.0, -44.837], [13.1625, 0.0, -44.309], [12.6474, 0.0, -44.837], [13.351, 0.0, -44.1508], [-12.494, 0.0, -45.0294], [12.494, 0.0, -45.0294], [13.5472, 0.0, -44.0022], [-12.3504, 0.0, -45.2292], [12.3504, 0.0, -45.2292], [-12.2168, 0.0, -45.436], [13.7505, 0.0, -43.8635], [-12.0938, 0.0, -45.6491], [12.2168, 0.0, -45.436], [13.9605, 0.0, -43.7352], [12.0938, 0.0, -45.6491], [14.1766, 0.0, -43.6175], [-11.9815, 0.0, -45.8681], [11.9815, 0.0, -45.8681], [14.3984, 0.0, -43.5108], [-11.8803, 0.0, -46.0924], [11.8803, 0.0, -46.0924], [14.6251, 0.0, -43.4152], [11.7904, 0.0, -46.3215], [-11.7904, 0.0, -46.3215], [-11.712, 0.0, -46.5547], [14.8564, 0.0, -43.331], [11.712, 0.0, -46.5547], [15.0915, 0.0, -43.2585], [-11.6454, 0.0, -46.7916], [11.6454, 0.0, -46.7916], [15.33, 0.0, -43.1977], [-11.5906, 0.0, -47.0316], [11.5906, 0.0, -47.0316], [15.5712, 0.0, -43.149], [-11.5479, 0.0, -47.2739], [11.5479, 0.0, -47.2739], [15.8146, 0.0, -43.1123], [-11.5173, 0.0, -47.5181], [11.5173, 0.0, -47.5181], [16.0594, 0.0, -43.0878], [11.4989, 0.0, -47.7635], [-11.4989, 0.0, -47.7635], [16.3052, 0.0, -43.0755], [11.4928, 0.0, -48.0095], [-11.4928, 0.0, -48.0095], [16.5513, 0.0, -43.0755], [-11.4989, 0.0, -48.2555], [11.4989, 0.0, -48.2555], [-11.5173, 0.0, -48.5009], [16.7971, 0.0, -43.0878], [11.5173, 0.0, -48.5009], [-11.5479, 0.0, -48.7451], [17.042, 0.0, -43.1123], [11.5479, 0.0, -48.7451], [17.2853, 0.0, -43.149], [11.5906, 0.0, -48.9875], [-11.5906, 0.0, -48.9875], [17.5265, 0.0, -43.1977], [11.6454, 0.0, -49.2274], [-11.6454, 0.0, -49.2274], [17.765, 0.0, -43.2585], [-11.712, 0.0, -49.4643], [11.712, 0.0, -49.4643], [-11.7904, 0.0, -49.6976], [18.0002, 0.0, -43.331], [11.7904, 0.0, -49.6976], [18.2314, 0.0, -43.4152], [-11.8803, 0.0, -49.9266], [11.8803, 0.0, -49.9266], [18.4582, 0.0, -43.5108], [-11.9815, 0.0, -50.151], [11.9815, 0.0, -50.151], [18.6799, 0.0, -43.6175], [-12.0938, 0.0, -50.37], [12.0938, 0.0, -50.37], [18.896, 0.0, -43.7352], [-12.2168, 0.0, -50.5831], [12.2168, 0.0, -50.5831], [-12.3504, 0.0, -50.7898], [19.106, 0.0, -43.8635], [12.3504, 0.0, -50.7898], [19.3094, 0.0, -44.0022], [-12.494, 0.0, -50.9896], [12.494, 0.0, -50.9896], [19.5055, 0.0, -44.1508], [-12.6474, 0.0, -51.182], [12.6474, 0.0, -51.182], [-12.8103, 0.0, -51.3665], [19.694, 0.0, -44.309], [12.8103, 0.0, -51.3665], [-12.9821, 0.0, -51.5427], [19.8744, 0.0, -44.4763], [-13.1625, 0.0, -51.7101], [12.9821, 0.0, -51.5427], [20.0463, 0.0, -44.6525], [13.1625, 0.0, -51.7101], [20.2091, 0.0, -44.837], [13.351, 0.0, -51.8683], [-13.351, 0.0, -51.8683], [20.3625, 0.0, -45.0294], [13.5472, 0.0, -52.0169], [20.5062, 0.0, -45.2292], [20.6397, 0.0, -45.436], [20.7628, 0.0, -45.6491], [20.875, 0.0, -45.8681], [20.9762, 0.0, -46.0924], [20.6129, 0.0, -60.7895], [18.896, 0.0, -52.2838], [19.106, 0.0, -52.1555], [18.6799, 0.0, -52.4015], [18.4582, 0.0, -52.5083], [18.2314, 0.0, -52.6039], [18.0002, 0.0, -52.688], [17.765, 0.0, -52.7606], [17.5265, 0.0, -52.8213], [17.2853, 0.0, -52.8701], [17.042, 0.0, -52.9067], [16.7971, 0.0, -52.9312], [16.5513, 0.0, -52.9435], [16.3052, 0.0, -52.9435], [16.0594, 0.0, -52.9312], [15.8146, 0.0, -52.9067], [15.5712, 0.0, -52.8701], [15.33, 0.0, -52.8213], [15.0915, 0.0, -52.7606], [14.8564, 0.0, -52.688], [14.6251, 0.0, -52.6039], [14.3984, 0.0, -52.5083], [14.1766, 0.0, -52.4015], [13.9605, 0.0, -52.2838], [13.7505, 0.0, -52.1555], [26.7105, 0.0, -55.2632], [21.3577, 0.0, -48.2555], [21.3638, 0.0, -48.0095], [21.3393, 0.0, -48.5009], [21.3087, 0.0, -48.7451], [21.2659, 0.0, -48.9875], [21.2112, 0.0, -49.2274], [21.1445, 0.0, -49.4643], [21.0662, 0.0, -49.6976], [20.9762, 0.0, -49.9266], [20.875, 0.0, -50.151], [20.7628, 0.0, -50.37], [20.6397, 0.0, -50.5831], [20.5062, 0.0, -50.7898], [20.3625, 0.0, -50.9896], [20.2091, 0.0, -51.182], [20.0463, 0.0, -51.3665], [19.8744, 0.0, -51.5427], [19.694, 0.0, -51.7101], [21.0662, 0.0, -46.3215], [19.5055, 0.0, -51.8683], [21.1445, 0.0, -46.5547], [19.3094, 0.0, -52.0169], [21.2112, 0.0, -46.7916], [21.2659, 0.0, -47.0316], [21.3087, 0.0, -47.2739], [21.3393, 0.0, -47.5181], [21.3577, 0.0, -47.7635], [26.7105, 0.0, -66.6904], [32.4211, 0.0, -60.7895], [-40.1196, 3.0, -5.2115], [-39.9409, 3.0, -4.9818], [-39.751, 3.0, -4.7612], [-39.5503, 3.0, -4.5503], [-35.3348, 3.0, -0.6912], [-35.8275, 3.0, -0.9866], [-35.5848, 3.0, -0.8329], [-36.0624, 3.0, -1.152], [-40.714, 3.0, -6.2105], [-40.5842, 3.0, -5.95], [-40.4417, 3.0, -5.6962], [-40.2867, 3.0, -5.4499], [-34.5473, 3.0, -0.3422], [-35.0781, 3.0, -0.5621], [-34.8154, 3.0, -0.4456], [-41.0236, 3.0, -7.0262], [-40.934, 3.0, -6.7493], [-40.8307, 3.0, -6.4772], [-33.9976, 3.0, -0.1754], [-34.2745, 3.0, -0.2521], [-36.5065, 3.0, -1.5165], [-36.2889, 3.0, -1.3288], [-41.2085, 3.0, -7.8789], [-41.161, 3.0, -7.5917], [-41.0994, 3.0, -7.3072], [-33.149, 3.0, -0.0282], [-33.7172, 3.0, -0.1125], [-33.4341, 3.0, -0.0634], [-36.7146, 3.0, -1.7146], [-41.2417, 3.0, -8.168], [-32.8624, 3.0, -0.0071], [-32.5752, 3.0, -0.0], [-41.2298, 3.0, -9.3304], [-41.2544, 3.0, -9.0404], [-41.2646, 3.0, -8.7495], [-41.2604, 3.0, -8.4585], [-41.07, 3.0, -10.1881], [-41.1374, 3.0, -9.905], [-41.1908, 3.0, -9.6189], [-40.9885, 3.0, -10.4676], [-21.9255, 3.0, -9.1038], [-21.9255, 3.0, -3.5345], [5.6569, 3.0, -13.2042], [-5.6569, 3.0, -13.2042], [-0.0, 3.0, -9.1038], [-20.0463, 3.0, -44.6525], [-19.8744, 3.0, -44.4763], [-19.694, 3.0, -44.309], [-20.2091, 3.0, -44.837], [-19.5055, 3.0, -44.1508], [-20.3625, 3.0, -45.0294], [-19.3094, 3.0, -44.0022], [-20.5062, 3.0, -45.2292], [-19.106, 3.0, -43.8635], [-20.6397, 3.0, -45.436], [-18.896, 3.0, -43.7352], [-20.7628, 3.0, -45.6491], [-18.6799, 3.0, -43.6175], [-20.875, 3.0, -45.8681], [-18.4582, 3.0, -43.5108], [-20.9762, 3.0, -46.0924], [-18.2314, 3.0, -43.4152], [-21.0662, 3.0, -46.3215], [-18.0002, 3.0, -43.331], [-17.765, 3.0, -43.2585], [16.4743, 3.0, -9.1399], [-17.5265, 3.0, -43.1977], [22.3077, 3.0, -3.5345], [-17.2853, 3.0, -43.149], [-17.042, 3.0, -43.1123], [-16.7971, 3.0, -43.0878], [-16.5513, 3.0, -43.0755], [-16.3052, 3.0, -43.0755], [-16.0594, 3.0, -43.0878], [-15.8146, 3.0, -43.1123], [-15.5712, 3.0, -43.149], [-15.33, 3.0, -43.1977], [-15.0915, 3.0, -43.2585], [-14.8564, 3.0, -43.331], [-26.7105, 3.0, -55.2632], [-21.2112, 3.0, -49.2274], [-21.1445, 3.0, -49.4643], [-21.2659, 3.0, -48.9875], [-21.3087, 3.0, -48.7451], [-21.3393, 3.0, -48.5009], [-21.3577, 3.0, -48.2555], [-21.3638, 3.0, -48.0095], [-21.3577, 3.0, -47.7635], [-21.3393, 3.0, -47.5181], [-21.3087, 3.0, -47.2739], [-21.2659, 3.0, -47.0316], [-21.2112, 3.0, -46.7916], [-21.1445, 3.0, -46.5547], [-21.0662, 3.0, -49.6976], [-14.6251, 3.0, -43.4152], [-20.9762, 3.0, -49.9266], [-14.3984, 3.0, -43.5108], [-20.875, 3.0, -50.151], [-14.1766, 3.0, -43.6175], [-20.7628, 3.0, -50.37], [-13.9605, 3.0, -43.7352], [-20.6397, 3.0, -50.5831], [-13.7505, 3.0, -43.8635], [-20.5062, 3.0, -50.7898], [-13.5472, 3.0, -44.0022], [-20.3625, 3.0, -50.9896], [-13.351, 3.0, -44.1508], [-20.2091, 3.0, -51.182], [-13.1625, 3.0, -44.309], [-20.0463, 3.0, -51.3665], [-12.9821, 3.0, -44.4763], [-19.8744, 3.0, -51.5427], [-19.694, 3.0, -51.7101], [-19.5055, 3.0, -51.8683], [-19.3094, 3.0, -52.0169], [-19.106, 3.0, -52.1555], [35.0, 3.0, 0.0], [19.0522, 3.0, -18.4636], [-27.6141, 3.0, -65.7466], [-27.6672, 3.0, -65.6993], [-27.7179, 3.0, -65.6494], [-27.5588, 3.0, -65.7913], [-27.3806, 3.0, -65.9082], [-27.4419, 3.0, -65.8722], [-27.5013, 3.0, -65.8332], [-27.2531, 3.0, -65.9711], [-27.3177, 3.0, -65.9412], [-27.1872, 3.0, -65.9978], [-27.0519, 3.0, -66.0413], [-27.1201, 3.0, -66.0212], [-26.9129, 3.0, -66.0713], [-26.9828, 3.0, -66.058], [-26.8425, 3.0, -66.0811], [-26.7007, 3.0, -66.0904], [-26.7717, 3.0, -66.0875], [-26.5586, 3.0, -66.0858], [-26.6296, 3.0, -66.0899], [-26.2792, 3.0, -66.035], [-26.3481, 3.0, -66.0528], [-26.4177, 3.0, -66.0672], [-26.4879, 3.0, -66.0782], [-26.1446, 3.0, -65.9893], [-26.2114, 3.0, -66.0138], [-26.0792, 3.0, -65.9615], [-25.9527, 3.0, -65.8966], [-26.0151, 3.0, -65.9306], [-25.8332, 3.0, -65.8196], [-25.892, 3.0, -65.8595], [-25.7765, 3.0, -65.7767], [-25.6696, 3.0, -65.683], [-25.7219, 3.0, -65.7312], [-28.9439, 3.0, -64.3825], [-29.1102, 3.0, -64.202], [-29.2675, 3.0, -64.0136], [-29.4153, 3.0, -63.8176], [-29.5533, 3.0, -63.6147], [-29.6811, 3.0, -63.4052], [-29.7986, 3.0, -63.1898], [-29.9053, 3.0, -62.9688], [-30.0011, 3.0, -62.7428], [-30.0856, 3.0, -62.5124], [-30.1588, 3.0, -62.2782], [-30.2204, 3.0, -62.0406], [-30.2702, 3.0, -61.8003], [-30.3082, 3.0, -61.5579], [-30.3342, 3.0, -61.3138], [-30.3483, 3.0, -61.0688], [-30.3503, 3.0, -60.8234], [-30.3402, 3.0, -60.5782], [-30.3182, 3.0, -60.3338], [-30.2841, 3.0, -60.0908], [-30.2382, 3.0, -59.8497], [-30.1805, 3.0, -59.6111], [-30.1112, 3.0, -59.3757], [-30.0304, 3.0, -59.144], [-29.9383, 3.0, -58.9165], [-29.8352, 3.0, -58.6938], [-29.7213, 3.0, -58.4764], [-29.5969, 3.0, -58.2649], [-20.6129, 3.0, -60.7895], [-13.9605, 3.0, -52.2838], [-13.7505, 3.0, -52.1555], [-14.1766, 3.0, -52.4015], [-14.3984, 3.0, -52.5083], [-14.6251, 3.0, -52.6039], [-14.8564, 3.0, -52.688], [-15.0915, 3.0, -52.7606], [-15.33, 3.0, -52.8213], [-15.5712, 3.0, -52.8701], [-15.8146, 3.0, -52.9067], [-16.0594, 3.0, -52.9312], [-16.3052, 3.0, -52.9435], [-16.5513, 3.0, -52.9435], [-16.7971, 3.0, -52.9312], [-17.042, 3.0, -52.9067], [-17.2853, 3.0, -52.8701], [-17.5265, 3.0, -52.8213], [-17.765, 3.0, -52.7606], [-18.0002, 3.0, -52.688], [-18.2314, 3.0, -52.6039], [-18.4582, 3.0, -52.5083], [-18.6799, 3.0, -52.4015], [-18.896, 3.0, -52.2838], [-29.4622, 3.0, -58.0598], [-29.3176, 3.0, -57.8615], [-29.1635, 3.0, -57.6705], [-29.0002, 3.0, -57.4873], [-28.828, 3.0, -57.3124], [-2.5595, 3.0, -49.5058], [-11.4989, 3.0, -48.2555], [-11.4928, 3.0, -48.0095], [-11.5173, 3.0, -48.5009], [-11.5479, 3.0, -48.7451], [-11.5906, 3.0, -48.9875], [-11.6454, 3.0, -49.2274], [-11.712, 3.0, -49.4643], [-11.7904, 3.0, -49.6976], [-11.8803, 3.0, -49.9266], [-11.9815, 3.0, -50.151], [-12.8103, 3.0, -44.6525], [-12.0938, 3.0, -50.37], [-12.6474, 3.0, -44.837], [-12.2168, 3.0, -50.5831], [-12.494, 3.0, -45.0294], [-12.3504, 3.0, -50.7898], [-12.3504, 3.0, -45.2292], [-12.494, 3.0, -50.9896], [-12.2168, 3.0, -45.436], [-12.6474, 3.0, -51.182], [-12.0938, 3.0, -45.6491], [-12.8103, 3.0, -51.3665], [-11.9815, 3.0, -45.8681], [-12.9821, 3.0, -51.5427], [-11.8803, 3.0, -46.0924], [-13.1625, 3.0, -51.7101], [-11.7904, 3.0, -46.3215], [-13.351, 3.0, -51.8683], [-11.712, 3.0, -46.5547], [-13.5472, 3.0, -52.0169], [-11.6454, 3.0, -46.7916], [-11.5906, 3.0, -47.0316], [-11.5479, 3.0, -47.2739], [-11.5173, 3.0, -47.5181], [-11.4989, 3.0, -47.7635], [42.0711, 3.0, -7.0711], [2.5595, 3.0, -49.5058], [12.9821, 3.0, -44.4763], [12.8103, 3.0, -44.6525], [13.1625, 3.0, -44.309], [12.6474, 3.0, -44.837], [13.351, 3.0, -44.1508], [12.494, 3.0, -45.0294], [13.5472, 3.0, -44.0022], [12.3504, 3.0, -45.2292], [13.7505, 3.0, -43.8635], [12.2168, 3.0, -45.436], [13.9605, 3.0, -43.7352], [12.0938, 3.0, -45.6491], [14.1766, 3.0, -43.6175], [11.9815, 3.0, -45.8681], [14.3984, 3.0, -43.5108], [11.8803, 3.0, -46.0924], [14.6251, 3.0, -43.4152], [11.7904, 3.0, -46.3215], [14.8564, 3.0, -43.331], [11.712, 3.0, -46.5547], [15.0915, 3.0, -43.2585], [11.6454, 3.0, -46.7916], [15.33, 3.0, -43.1977], [11.5906, 3.0, -47.0316], [15.5712, 3.0, -43.149], [11.5479, 3.0, -47.2739], [15.8146, 3.0, -43.1123], [11.5173, 3.0, -47.5181], [16.0594, 3.0, -43.0878], [11.4989, 3.0, -47.7635], [16.3052, 3.0, -43.0755], [11.4928, 3.0, -48.0095], [16.5513, 3.0, -43.0755], [11.4989, 3.0, -48.2555], [16.7971, 3.0, -43.0878], [11.5173, 3.0, -48.5009], [17.042, 3.0, -43.1123], [11.5479, 3.0, -48.7451], [17.2853, 3.0, -43.149], [11.5906, 3.0, -48.9875], [17.5265, 3.0, -43.1977], [11.6454, 3.0, -49.2274], [17.765, 3.0, -43.2585], [11.712, 3.0, -49.4643], [18.0002, 3.0, -43.331], [11.7904, 3.0, -49.6976], [18.2314, 3.0, -43.4152], [11.8803, 3.0, -49.9266], [18.4582, 3.0, -43.5108], [11.9815, 3.0, -50.151], [18.6799, 3.0, -43.6175], [12.0938, 3.0, -50.37], [18.896, 3.0, -43.7352], [12.2168, 3.0, -50.5831], [19.106, 3.0, -43.8635], [12.3504, 3.0, -50.7898], [19.3094, 3.0, -44.0022], [12.494, 3.0, -50.9896], [19.5055, 3.0, -44.1508], [12.6474, 3.0, -51.182], [19.694, 3.0, -44.309], [12.8103, 3.0, -51.3665], [19.8744, 3.0, -44.4763], [12.9821, 3.0, -51.5427], [20.0463, 3.0, -44.6525], [13.1625, 3.0, -51.7101], [20.2091, 3.0, -44.837], [13.351, 3.0, -51.8683], [20.3625, 3.0, -45.0294], [13.5472, 3.0, -52.0169], [20.5062, 3.0, -45.2292], [13.7505, 3.0, -52.1555], [20.6397, 3.0, -45.436], [20.7628, 3.0, -45.6491], [20.875, 3.0, -45.8681], [20.9762, 3.0, -46.0924], [20.6129, 3.0, -60.7895], [13.9605, 3.0, -52.2838], [14.1766, 3.0, -52.4015], [14.3984, 3.0, -52.5083], [14.6251, 3.0, -52.6039], [14.8564, 3.0, -52.688], [15.0915, 3.0, -52.7606], [15.33, 3.0, -52.8213], [15.5712, 3.0, -52.8701], [15.8146, 3.0, -52.9067], [16.0594, 3.0, -52.9312], [16.3052, 3.0, -52.9435], [16.5513, 3.0, -52.9435], [16.7971, 3.0, -52.9312], [17.042, 3.0, -52.9067], [17.2853, 3.0, -52.8701], [17.5265, 3.0, -52.8213], [17.765, 3.0, -52.7606], [18.0002, 3.0, -52.688], [18.2314, 3.0, -52.6039], [18.4582, 3.0, -52.5083], [18.6799, 3.0, -52.4015], [18.896, 3.0, -52.2838], [19.106, 3.0, -52.1555], [26.7105, 3.0, -55.2632], [21.3638, 3.0, -48.0095], [21.3577, 3.0, -47.7635], [21.3393, 3.0, -47.5181], [21.3087, 3.0, -47.2739], [21.2659, 3.0, -47.0316], [21.2112, 3.0, -46.7916], [21.1445, 3.0, -46.5547], [19.3094, 3.0, -52.0169], [21.0662, 3.0, -46.3215], [19.5055, 3.0, -51.8683], [19.694, 3.0, -51.7101], [19.8744, 3.0, -51.5427], [20.0463, 3.0, -51.3665], [20.2091, 3.0, -51.182], [20.3625, 3.0, -50.9896], [20.5062, 3.0, -50.7898], [20.6397, 3.0, -50.5831], [20.7628, 3.0, -50.37], [20.875, 3.0, -50.151], [20.9762, 3.0, -49.9266], [21.0662, 3.0, -49.6976], [21.1445, 3.0, -49.4643], [21.2112, 3.0, -49.2274], [21.2659, 3.0, -48.9875], [21.3087, 3.0, -48.7451], [21.3393, 3.0, -48.5009], [21.3577, 3.0, -48.2555], [26.7105, 3.0, -66.6904], [32.4211, 3.0, -60.7895], [-0.0, 17.2725, -18.399], [-0.0, 10.6576, -46.7187]], "f": [[0, 1, 2], [2, 1, 3], [4, 5, 6], [6, 5, 7], [8, 9, 10], [11, 12, 13], [13, 12, 5], [8, 14, 9], [1, 14, 8], [12, 15, 5], [14, 16, 17], [18, 19, 15], [19, 20, 15], [5, 20, 7], [15, 20, 5], [16, 21, 22], [14, 21, 16], [1, 21, 14], [23, 24, 25], [25, 24, 20], [21, 26, 27], [27, 26, 28], [1, 26, 21], [0, 26, 1], [0, 29, 26], [0, 30, 29], [31, 32, 33], [33, 32, 34], [34, 32, 35], [36, 37, 32], [24, 38, 20], [32, 38, 35], [37, 38, 32], [35, 38, 24], [20, 39, 7], [38, 39, 20], [7, 39, 0], [0, 40, 30], [39, 40, 0], [30, 40, 41], [39, 42, 43], [43, 44, 39], [39, 45, 42], [44, 46, 39], [39, 47, 45], [46, 48, 39], [39, 49, 47], [39, 50, 40], [48, 50, 39], [39, 51, 49], [50, 52, 40], [39, 53, 51], [52, 54, 40], [39, 55, 53], [54, 56, 40], [39, 57, 55], [56, 58, 40], [39, 59, 57], [58, 60, 40], [60, 61, 40], [61, 62, 40], [41, 63, 30], [62, 64, 40], [64, 65, 40], [65, 66, 40], [66, 67, 40], [67, 68, 40], [68, 69, 40], [69, 70, 40], [70, 71, 40], [71, 72, 40], [40, 72, 73], [72, 74, 73], [74, 75, 73], [76, 77, 78], [79, 77, 76], [80, 77, 79], [81, 77, 80], [82, 77, 81], [83, 77, 82], [84, 77, 83], [85, 77, 84], [86, 77, 85], [87, 77, 86], [88, 77, 87], [89, 77, 88], [59, 77, 89], [39, 77, 59], [77, 90, 78], [75, 91, 73], [77, 92, 90], [91, 93, 73], [77, 94, 92], [93, 95, 73], [77, 96, 94], [95, 97, 73], [77, 98, 96], [97, 99, 73], [77, 100, 98], [99, 101, 73], [77, 102, 100], [101, 103, 73], [77, 104, 102], [103, 105, 73], [77, 106, 104], [77, 107, 106], [77, 108, 107], [77, 109, 108], [77, 110, 109], [77, 111, 110], [63, 112, 30], [73, 113, 114], [115, 116, 117], [116, 118, 117], [119, 120, 121], [121, 120, 118], [122, 123, 120], [118, 123, 117], [120, 123, 118], [123, 124, 117], [125, 126, 124], [124, 126, 117], [127, 128, 126], [128, 129, 126], [129, 130, 126], [131, 130, 129], [130, 132, 126], [133, 134, 135], [135, 134, 132], [132, 136, 126], [134, 136, 132], [137, 138, 136], [138, 139, 136], [139, 140, 136], [140, 141, 136], [142, 143, 141], [141, 143, 136], [143, 144, 136], [136, 145, 126], [144, 145, 136], [146, 147, 145], [145, 147, 126], [117, 147, 148], [148, 147, 149], [149, 147, 150], [150, 147, 151], [151, 147, 152], [152, 147, 153], [153, 147, 154], [154, 147, 155], [155, 147, 156], [156, 147, 157], [157, 147, 158], [158, 147, 159], [159, 147, 160], [160, 147, 161], [161, 147, 162], [162, 147, 163], [163, 147, 164], [164, 147, 165], [165, 147, 166], [166, 147, 167], [167, 147, 168], [168, 147, 169], [169, 147, 170], [170, 147, 171], [171, 147, 172], [172, 147, 173], [173, 147, 174], [174, 147, 175], [126, 147, 117], [176, 177, 178], [179, 177, 176], [180, 177, 179], [181, 177, 180], [182, 177, 181], [183, 177, 182], [184, 177, 183], [185, 177, 184], [186, 177, 185], [187, 177, 186], [188, 177, 187], [189, 177, 188], [190, 177, 189], [191, 177, 190], [192, 177, 191], [193, 177, 192], [194, 177, 193], [195, 177, 194], [77, 177, 111], [196, 177, 195], [197, 177, 196], [198, 177, 197], [199, 177, 198], [200, 177, 199], [111, 177, 200], [175, 177, 201], [201, 177, 202], [202, 177, 203], [203, 177, 204], [204, 177, 205], [205, 177, 77], [147, 177, 175], [113, 206, 63], [63, 206, 112], [207, 208, 105], [209, 210, 207], [211, 210, 209], [207, 210, 208], [105, 212, 73], [208, 212, 105], [211, 213, 210], [212, 214, 73], [215, 216, 211], [211, 216, 213], [73, 217, 113], [214, 217, 73], [218, 219, 215], [220, 219, 218], [215, 219, 216], [217, 221, 113], [222, 223, 220], [220, 223, 219], [221, 224, 113], [222, 225, 223], [224, 226, 113], [227, 228, 222], [222, 228, 225], [226, 229, 113], [230, 231, 227], [227, 231, 228], [229, 232, 113], [230, 233, 231], [234, 233, 230], [235, 233, 234], [232, 236, 113], [235, 237, 233], [236, 238, 113], [239, 240, 235], [235, 240, 237], [238, 241, 113], [242, 243, 239], [239, 243, 240], [241, 244, 113], [245, 246, 242], [242, 246, 243], [244, 247, 113], [248, 249, 245], [245, 249, 246], [247, 250, 113], [248, 251, 249], [252, 251, 248], [250, 253, 113], [252, 254, 251], [255, 254, 252], [253, 256, 113], [257, 258, 255], [259, 258, 257], [255, 258, 254], [256, 260, 113], [259, 261, 258], [262, 261, 259], [260, 263, 113], [262, 264, 261], [263, 265, 113], [262, 266, 264], [267, 266, 262], [265, 268, 113], [267, 269, 266], [270, 269, 267], [268, 271, 113], [272, 273, 270], [274, 273, 272], [270, 273, 269], [271, 275, 113], [274, 276, 273], [275, 277, 113], [278, 279, 274], [274, 279, 276], [277, 280, 113], [281, 282, 278], [278, 282, 279], [280, 283, 113], [284, 285, 281], [281, 285, 282], [283, 286, 113], [287, 288, 284], [289, 288, 287], [284, 288, 285], [286, 290, 113], [289, 291, 288], [290, 292, 113], [293, 294, 289], [289, 294, 291], [292, 295, 113], [296, 297, 293], [298, 297, 296], [293, 297, 294], [295, 299, 113], [298, 300, 297], [301, 300, 298], [299, 302, 113], [303, 304, 301], [301, 304, 300], [302, 305, 113], [303, 306, 304], [305, 307, 113], [303, 308, 306], [309, 308, 303], [178, 308, 309], [113, 310, 206], [307, 310, 113], [178, 311, 308], [310, 312, 206], [312, 313, 206], [313, 314, 206], [314, 315, 206], [315, 316, 206], [177, 317, 178], [318, 317, 319], [320, 317, 318], [321, 317, 320], [322, 317, 321], [323, 317, 322], [324, 317, 323], [325, 317, 324], [326, 317, 325], [327, 317, 326], [178, 317, 311], [328, 317, 327], [329, 317, 328], [330, 317, 329], [331, 317, 330], [332, 317, 331], [333, 317, 332], [334, 317, 333], [335, 317, 334], [336, 317, 335], [337, 317, 336], [338, 317, 337], [339, 317, 338], [340, 317, 339], [341, 317, 340], [311, 317, 341], [316, 342, 206], [343, 342, 344], [345, 342, 343], [346, 342, 345], [347, 342, 346], [348, 342, 347], [349, 342, 348], [350, 342, 349], [351, 342, 350], [352, 342, 351], [353, 342, 352], [354, 342, 353], [355, 342, 354], [356, 342, 355], [357, 342, 356], [317, 342, 319], [358, 342, 357], [359, 342, 358], [360, 342, 359], [361, 342, 316], [362, 342, 360], [363, 342, 361], [364, 342, 362], [365, 342, 363], [319, 342, 364], [366, 342, 365], [367, 342, 366], [368, 342, 367], [369, 342, 368], [344, 342, 369], [342, 370, 371], [317, 370, 342], [372, 373, 374], [372, 374, 375], [376, 377, 378], [376, 379, 377], [380, 381, 382], [380, 382, 383], [380, 383, 372], [384, 385, 386], [387, 380, 372], [387, 388, 389], [387, 389, 380], [387, 372, 375], [390, 379, 376], [390, 376, 385], [390, 384, 391], [390, 385, 384], [390, 392, 393], [390, 393, 379], [394, 395, 396], [394, 396, 387], [397, 390, 398], [397, 398, 399], [397, 392, 390], [397, 400, 392], [401, 387, 375], [401, 394, 387], [402, 400, 397], [403, 400, 402], [404, 405, 406], [404, 406, 407], [404, 407, 401], [408, 401, 375], [408, 404, 401], [408, 409, 410], [408, 410, 404], [411, 408, 375], [411, 375, 400], [412, 411, 400], [412, 400, 403], [412, 403, 413], [414, 415, 416], [417, 411, 418], [419, 418, 411], [420, 411, 417], [421, 419, 411], [422, 411, 420], [423, 421, 411], [424, 411, 422], [425, 411, 412], [425, 423, 411], [426, 411, 424], [427, 425, 412], [428, 411, 426], [429, 427, 412], [430, 411, 428], [431, 429, 412], [432, 411, 430], [433, 431, 412], [434, 411, 432], [435, 433, 412], [436, 435, 412], [437, 414, 416], [438, 436, 412], [439, 413, 403], [440, 438, 412], [441, 440, 412], [442, 441, 412], [443, 442, 412], [443, 412, 415], [444, 443, 415], [445, 444, 415], [446, 445, 415], [447, 446, 415], [448, 447, 415], [449, 448, 415], [450, 449, 415], [451, 411, 434], [451, 452, 453], [451, 454, 452], [451, 455, 454], [451, 456, 455], [451, 457, 456], [451, 458, 457], [451, 459, 458], [451, 460, 459], [451, 461, 460], [451, 462, 461], [451, 463, 462], [451, 464, 463], [451, 434, 464], [465, 451, 453], [466, 450, 415], [467, 451, 465], [468, 466, 415], [469, 451, 467], [470, 468, 415], [471, 451, 469], [472, 470, 415], [473, 451, 471], [474, 472, 415], [475, 451, 473], [476, 474, 415], [477, 451, 475], [478, 476, 415], [479, 451, 477], [480, 478, 415], [481, 451, 479], [482, 480, 415], [483, 451, 481], [484, 451, 483], [485, 451, 484], [486, 451, 485], [487, 451, 486], [488, 439, 403], [489, 414, 437], [490, 491, 492], [493, 490, 492], [494, 495, 496], [494, 496, 493], [497, 493, 492], [497, 498, 494], [497, 494, 493], [499, 497, 492], [500, 501, 499], [500, 499, 492], [502, 503, 500], [504, 502, 500], [505, 506, 504], [505, 504, 500], [507, 508, 505], [509, 510, 511], [509, 511, 512], [509, 512, 507], [513, 514, 509], [515, 507, 505], [515, 509, 507], [515, 513, 509], [516, 517, 515], [516, 515, 505], [518, 519, 516], [518, 516, 505], [520, 505, 500], [520, 518, 505], [521, 522, 520], [521, 500, 492], [521, 492, 523], [521, 520, 500], [521, 523, 524], [521, 524, 525], [521, 525, 526], [521, 526, 527], [521, 527, 528], [521, 528, 529], [521, 529, 530], [521, 530, 531], [521, 531, 532], [521, 532, 533], [521, 533, 534], [521, 534, 535], [521, 535, 536], [521, 536, 537], [521, 537, 538], [521, 538, 539], [521, 539, 540], [521, 540, 541], [521, 541, 542], [521, 542, 543], [521, 543, 544], [521, 544, 545], [521, 545, 546], [521, 546, 547], [521, 547, 548], [521, 548, 549], [521, 549, 550], [551, 552, 553], [551, 554, 552], [551, 555, 554], [551, 556, 555], [551, 557, 556], [551, 558, 557], [551, 559, 558], [551, 560, 559], [551, 561, 560], [551, 562, 561], [551, 563, 562], [551, 564, 563], [551, 451, 487], [551, 565, 564], [551, 566, 565], [551, 567, 566], [551, 568, 567], [551, 569, 568], [551, 570, 569], [551, 571, 570], [551, 572, 571], [551, 573, 572], [551, 574, 573], [551, 487, 574], [551, 550, 575], [551, 575, 576], [551, 576, 577], [551, 577, 578], [551, 578, 579], [551, 579, 451], [551, 521, 550], [580, 482, 415], [580, 581, 582], [580, 583, 581], [580, 584, 583], [580, 585, 584], [580, 586, 585], [580, 587, 586], [580, 588, 587], [580, 589, 588], [580, 590, 589], [580, 591, 482], [580, 592, 590], [580, 593, 591], [580, 594, 592], [580, 595, 593], [580, 596, 594], [580, 597, 595], [580, 598, 596], [580, 599, 597], [580, 600, 598], [580, 601, 599], [580, 602, 600], [580, 603, 601], [580, 604, 602], [580, 605, 603], [580, 606, 604], [580, 607, 605], [580, 608, 606], [580, 609, 607], [580, 610, 608], [580, 611, 609], [580, 553, 610], [580, 612, 611], [580, 613, 612], [580, 614, 613], [580, 615, 614], [580, 582, 615], [580, 551, 553], [616, 439, 488], [616, 489, 439], [617, 551, 580], [618, 617, 414], [619, 617, 618], [620, 618, 414], [621, 617, 619], [622, 620, 414], [623, 617, 621], [624, 622, 414], [625, 617, 623], [626, 624, 414], [627, 617, 625], [628, 626, 414], [629, 617, 627], [630, 414, 489], [630, 628, 414], [631, 617, 629], [632, 630, 489], [633, 617, 631], [634, 632, 489], [635, 617, 633], [636, 634, 489], [637, 617, 635], [638, 636, 489], [639, 617, 637], [640, 638, 489], [641, 617, 639], [642, 640, 489], [643, 617, 641], [644, 642, 489], [645, 617, 643], [646, 644, 489], [647, 617, 645], [648, 646, 489], [649, 617, 647], [650, 648, 489], [651, 617, 649], [652, 650, 489], [653, 617, 651], [654, 652, 489], [655, 617, 653], [656, 654, 489], [657, 617, 655], [658, 656, 489], [659, 617, 657], [660, 658, 489], [661, 617, 659], [662, 660, 489], [663, 617, 661], [664, 662, 489], [665, 617, 663], [666, 664, 489], [667, 617, 665], [668, 666, 489], [669, 617, 667], [670, 668, 489], [671, 617, 669], [672, 670, 489], [673, 617, 671], [674, 672, 489], [675, 617, 673], [676, 674, 489], [677, 617, 675], [678, 676, 489], [679, 617, 677], [680, 678, 489], [681, 617, 679], [682, 680, 489], [683, 617, 681], [684, 682, 489], [685, 617, 683], [686, 489, 616], [686, 684, 489], [687, 617, 685], [688, 686, 616], [689, 617, 687], [690, 688, 616], [691, 690, 616], [692, 691, 616], [693, 692, 616], [694, 617, 689], [694, 689, 695], [694, 695, 696], [694, 696, 697], [694, 697, 698], [694, 698, 699], [694, 699, 700], [694, 700, 701], [694, 701, 702], [694, 702, 703], [694, 703, 704], [694, 704, 705], [694, 705, 706], [694, 706, 707], [694, 707, 708], [694, 708, 709], [694, 709, 710], [694, 710, 711], [694, 711, 712], [694, 712, 713], [694, 713, 714], [694, 714, 715], [694, 715, 716], [694, 716, 717], [694, 551, 617], [718, 693, 616], [718, 694, 717], [718, 719, 720], [718, 720, 721], [718, 721, 722], [718, 722, 723], [718, 723, 724], [718, 724, 725], [718, 717, 726], [718, 725, 727], [718, 726, 728], [718, 727, 693], [718, 728, 729], [718, 729, 730], [718, 730, 731], [718, 731, 732], [718, 732, 733], [718, 733, 734], [718, 734, 735], [718, 735, 736], [718, 736, 737], [718, 737, 738], [718, 738, 739], [718, 739, 740], [718, 740, 741], [718, 741, 742], [718, 742, 743], [718, 743, 744], [718, 744, 745], [718, 745, 719], [746, 718, 747], [746, 694, 718], [412, 416, 415], [718, 616, 342], [342, 616, 206], [747, 718, 371], [371, 718, 342], [746, 747, 370], [370, 747, 371], [694, 746, 317], [317, 746, 370], [694, 317, 551], [551, 317, 177], [147, 551, 177], [521, 551, 147], [115, 117, 492], [115, 492, 491], [116, 491, 490], [116, 115, 491], [118, 490, 493], [118, 116, 490], [121, 493, 496], [121, 118, 493], [119, 496, 495], [119, 121, 496], [120, 495, 494], [120, 119, 495], [122, 494, 498], [122, 120, 494], [123, 122, 498], [123, 498, 497], [124, 123, 497], [124, 499, 501], [124, 497, 499], [125, 124, 501], [126, 125, 501], [126, 501, 500], [127, 126, 500], [127, 503, 502], [127, 500, 503], [128, 127, 502], [129, 128, 502], [129, 502, 504], [131, 129, 504], [131, 504, 506], [130, 131, 506], [130, 506, 505], [132, 130, 505], [132, 505, 508], [135, 132, 508], [135, 507, 512], [135, 508, 507], [133, 512, 511], [133, 135, 512], [134, 133, 511], [136, 510, 509], [136, 511, 510], [136, 134, 511], [137, 509, 514], [137, 136, 509], [138, 137, 514], [139, 514, 513], [139, 138, 514], [140, 513, 515], [140, 139, 513], [141, 515, 517], [141, 140, 515], [142, 516, 519], [142, 517, 516], [142, 141, 517], [143, 142, 519], [144, 519, 518], [144, 143, 519], [145, 518, 520], [145, 144, 518], [146, 520, 522], [146, 145, 520], [147, 522, 521], [147, 146, 522], [492, 117, 148], [523, 492, 148], [204, 205, 579], [204, 579, 578], [203, 578, 577], [203, 204, 578], [202, 577, 576], [202, 203, 577], [201, 576, 575], [201, 202, 576], [175, 575, 550], [175, 201, 575], [174, 550, 549], [174, 175, 550], [173, 549, 548], [173, 174, 549], [172, 173, 548], [172, 548, 547], [171, 172, 547], [171, 547, 546], [170, 171, 546], [170, 546, 545], [169, 170, 545], [169, 545, 544], [168, 169, 544], [168, 544, 543], [167, 168, 543], [167, 542, 541], [167, 543, 542], [166, 167, 541], [165, 166, 541], [165, 541, 540], [164, 165, 540], [164, 540, 539], [163, 164, 539], [163, 539, 538], [162, 163, 538], [162, 538, 537], [161, 537, 536], [161, 162, 537], [160, 536, 535], [160, 161, 536], [159, 160, 535], [159, 535, 534], [158, 533, 532], [158, 534, 533], [158, 159, 534], [157, 158, 532], [156, 532, 531], [156, 157, 532], [155, 531, 530], [155, 156, 531], [154, 529, 528], [154, 530, 529], [154, 155, 530], [153, 154, 528], [152, 528, 527], [152, 153, 528], [151, 527, 526], [151, 152, 527], [150, 526, 525], [150, 151, 526], [149, 525, 524], [149, 150, 525], [148, 524, 523], [148, 149, 524], [451, 205, 77], [451, 579, 205], [411, 77, 39], [411, 451, 77], [6, 7, 375], [6, 375, 374], [4, 374, 373], [4, 6, 374], [5, 372, 383], [5, 373, 372], [5, 4, 373], [13, 5, 383], [11, 383, 382], [11, 13, 383], [12, 382, 381], [12, 11, 382], [15, 381, 380], [15, 12, 381], [18, 389, 388], [18, 380, 389], [18, 15, 380], [19, 18, 388], [20, 388, 387], [20, 19, 388], [25, 387, 396], [25, 20, 387], [23, 396, 395], [23, 25, 396], [24, 23, 395], [24, 394, 401], [24, 395, 394], [35, 24, 401], [34, 35, 401], [34, 401, 407], [33, 34, 407], [33, 407, 406], [31, 33, 406], [31, 405, 404], [31, 406, 405], [32, 31, 404], [36, 404, 410], [36, 32, 404], [37, 36, 410], [37, 410, 409], [38, 409, 408], [38, 37, 409], [39, 408, 411], [39, 38, 408], [400, 7, 0], [400, 375, 7], [29, 30, 403], [29, 403, 402], [26, 402, 397], [26, 29, 402], [28, 397, 399], [28, 26, 397], [27, 398, 390], [27, 399, 398], [27, 28, 399], [21, 27, 390], [22, 390, 391], [22, 21, 390], [16, 391, 384], [16, 22, 391], [17, 384, 386], [17, 16, 384], [14, 386, 385], [14, 17, 386], [9, 385, 376], [9, 14, 385], [10, 376, 378], [10, 9, 376], [8, 377, 379], [8, 378, 377], [8, 10, 378], [1, 8, 379], [3, 379, 393], [3, 1, 379], [2, 393, 392], [2, 3, 393], [0, 392, 400], [0, 2, 392], [112, 488, 403], [112, 403, 30], [616, 112, 206], [616, 488, 112], [748, 415, 414], [414, 617, 749], [748, 414, 749], [749, 617, 580], [749, 415, 748], [749, 580, 415], [582, 581, 255], [255, 581, 257], [257, 583, 259], [259, 583, 262], [581, 583, 257], [583, 584, 262], [262, 585, 267], [267, 585, 270], [584, 585, 262], [270, 586, 272], [585, 586, 270], [586, 587, 272], [272, 588, 274], [587, 588, 272], [274, 589, 278], [278, 589, 281], [588, 589, 274], [589, 590, 281], [281, 592, 284], [590, 592, 281], [592, 594, 284], [284, 594, 287], [594, 596, 287], [287, 596, 289], [596, 598, 289], [289, 598, 293], [598, 600, 293], [293, 600, 296], [600, 602, 296], [296, 602, 298], [602, 604, 298], [298, 604, 301], [604, 606, 301], [301, 606, 303], [606, 608, 303], [303, 608, 309], [608, 610, 309], [309, 610, 178], [610, 553, 178], [178, 553, 176], [176, 553, 179], [553, 552, 179], [552, 554, 179], [179, 554, 180], [180, 554, 181], [554, 555, 181], [181, 556, 182], [182, 556, 183], [555, 556, 181], [556, 557, 183], [183, 558, 184], [557, 558, 183], [184, 559, 185], [185, 559, 186], [558, 559, 184], [186, 560, 187], [559, 560, 186], [560, 561, 187], [187, 562, 188], [188, 562, 189], [561, 562, 187], [562, 563, 189], [189, 564, 190], [190, 564, 191], [563, 564, 189], [564, 565, 191], [191, 566, 192], [192, 566, 193], [565, 566, 191], [566, 567, 193], [567, 568, 193], [193, 568, 194], [568, 569, 194], [194, 569, 195], [569, 570, 195], [195, 570, 196], [570, 571, 196], [196, 571, 197], [571, 572, 197], [197, 572, 198], [198, 572, 199], [572, 573, 199], [573, 574, 199], [199, 574, 200], [574, 487, 200], [200, 487, 111], [487, 486, 111], [111, 486, 110], [486, 485, 110], [110, 485, 109], [485, 484, 109], [109, 484, 108], [484, 483, 108], [108, 483, 107], [483, 481, 107], [107, 481, 106], [481, 479, 106], [106, 479, 104], [479, 477, 104], [104, 477, 102], [477, 475, 102], [102, 475, 100], [475, 473, 100], [100, 473, 98], [473, 471, 98], [98, 471, 96], [471, 469, 96], [96, 469, 94], [469, 467, 94], [94, 467, 92], [467, 465, 92], [92, 465, 90], [465, 453, 90], [90, 453, 78], [78, 452, 76], [453, 452, 78], [76, 454, 79], [452, 454, 76], [79, 455, 80], [454, 455, 79], [80, 456, 81], [455, 456, 80], [456, 457, 81], [81, 457, 82], [457, 458, 82], [82, 458, 83], [458, 459, 83], [83, 459, 84], [459, 460, 84], [84, 460, 85], [460, 461, 85], [85, 461, 86], [461, 462, 86], [86, 462, 87], [462, 463, 87], [87, 463, 88], [463, 464, 88], [88, 464, 89], [464, 434, 89], [89, 434, 59], [434, 432, 59], [59, 432, 57], [432, 430, 57], [57, 430, 55], [430, 428, 55], [55, 428, 53], [428, 426, 53], [53, 426, 51], [51, 424, 49], [426, 424, 51], [49, 422, 47], [424, 422, 49], [47, 420, 45], [422, 420, 47], [45, 417, 42], [420, 417, 45], [42, 418, 43], [417, 418, 42], [43, 419, 44], [418, 419, 43], [44, 421, 46], [419, 421, 44], [46, 423, 48], [421, 423, 46], [48, 425, 50], [423, 425, 48], [50, 427, 52], [425, 427, 50], [52, 429, 54], [427, 429, 52], [54, 431, 56], [429, 431, 54], [56, 433, 58], [431, 433, 56], [433, 435, 58], [58, 435, 60], [435, 436, 60], [60, 436, 61], [436, 438, 61], [61, 438, 62], [438, 440, 62], [62, 440, 64], [64, 441, 65], [440, 441, 64], [65, 442, 66], [66, 442, 67], [441, 442, 65], [442, 443, 67], [67, 444, 68], [443, 444, 67], [68, 445, 69], [444, 445, 68], [69, 446, 70], [445, 446, 69], [70, 447, 71], [446, 447, 70], [71, 448, 72], [72, 448, 74], [447, 448, 71], [448, 449, 74], [74, 450, 75], [449, 450, 74], [75, 466, 91], [450, 466, 75], [91, 468, 93], [93, 468, 95], [466, 468, 91], [468, 470, 95], [95, 472, 97], [470, 472, 95], [97, 474, 99], [472, 474, 97], [99, 476, 101], [101, 476, 103], [474, 476, 99], [476, 478, 103], [103, 480, 105], [105, 480, 207], [478, 480, 103], [480, 482, 207], [207, 591, 209], [482, 591, 207], [591, 593, 209], [209, 593, 211], [593, 595, 211], [211, 595, 215], [595, 597, 215], [215, 597, 218], [597, 599, 218], [218, 599, 220], [599, 601, 220], [220, 601, 222], [601, 603, 222], [222, 603, 227], [603, 605, 227], [227, 605, 230], [605, 607, 230], [230, 607, 234], [607, 609, 234], [234, 609, 235], [609, 611, 235], [235, 611, 239], [611, 612, 239], [239, 612, 242], [612, 613, 242], [242, 613, 245], [245, 614, 248], [613, 614, 245], [614, 615, 248], [248, 615, 252], [252, 582, 255], [615, 582, 252], [719, 745, 344], [344, 745, 343], [343, 744, 345], [745, 744, 343], [345, 743, 346], [744, 743, 345], [346, 742, 347], [743, 742, 346], [347, 741, 348], [742, 741, 347], [348, 740, 349], [741, 740, 348], [349, 739, 350], [740, 739, 349], [350, 738, 351], [739, 738, 350], [351, 737, 352], [738, 737, 351], [352, 736, 353], [737, 736, 352], [736, 735, 353], [353, 735, 354], [735, 734, 354], [354, 734, 355], [734, 733, 355], [355, 733, 356], [733, 732, 356], [356, 732, 357], [732, 731, 357], [357, 731, 358], [731, 730, 358], [358, 730, 359], [730, 729, 359], [359, 729, 360], [729, 728, 360], [360, 728, 362], [728, 726, 362], [362, 726, 364], [726, 717, 364], [364, 717, 319], [717, 716, 319], [319, 716, 318], [716, 715, 318], [318, 715, 320], [320, 714, 321], [715, 714, 320], [321, 713, 322], [714, 713, 321], [322, 712, 323], [713, 712, 322], [323, 711, 324], [712, 711, 323], [324, 710, 325], [711, 710, 324], [325, 709, 326], [710, 709, 325], [326, 708, 327], [709, 708, 326], [327, 707, 328], [708, 707, 327], [328, 706, 329], [707, 706, 328], [329, 705, 330], [706, 705, 329], [330, 704, 331], [705, 704, 330], [331, 703, 332], [704, 703, 331], [332, 702, 333], [703, 702, 332], [333, 701, 334], [702, 701, 333], [701, 700, 334], [334, 700, 335], [700, 699, 335], [335, 699, 336], [699, 698, 336], [336, 698, 337], [698, 697, 337], [337, 697, 338], [697, 696, 338], [338, 696, 339], [696, 695, 339], [339, 695, 340], [695, 689, 340], [340, 689, 341], [689, 687, 341], [341, 687, 311], [687, 685, 311], [311, 685, 308], [685, 683, 308], [308, 683, 306], [683, 681, 306], [306, 681, 304], [681, 679, 304], [304, 679, 300], [679, 677, 300], [300, 677, 297], [677, 675, 297], [297, 675, 294], [675, 673, 294], [294, 673, 291], [673, 671, 291], [291, 671, 288], [671, 669, 288], [288, 669, 285], [669, 667, 285], [285, 667, 282], [667, 665, 282], [282, 665, 279], [665, 663, 279], [279, 663, 276], [663, 661, 276], [276, 661, 273], [273, 659, 269], [661, 659, 273], [269, 657, 266], [659, 657, 269], [266, 655, 264], [657, 655, 266], [264, 653, 261], [655, 653, 264], [653, 651, 261], [261, 651, 258], [651, 649, 258], [258, 649, 254], [649, 647, 254], [254, 647, 251], [647, 645, 251], [251, 645, 249], [645, 643, 249], [249, 643, 246], [643, 641, 246], [246, 641, 243], [641, 639, 243], [243, 639, 240], [639, 637, 240], [240, 637, 237], [637, 635, 237], [237, 635, 233], [635, 633, 233], [233, 633, 231], [633, 631, 231], [231, 631, 228], [631, 629, 228], [228, 629, 225], [223, 627, 219], [629, 627, 225], [225, 627, 223], [627, 625, 219], [219, 623, 216], [625, 623, 219], [216, 621, 213], [623, 621, 216], [213, 619, 210], [210, 619, 208], [621, 619, 213], [619, 618, 208], [208, 620, 212], [618, 620, 208], [212, 622, 214], [214, 622, 217], [620, 622, 212], [622, 624, 217], [217, 626, 221], [624, 626, 217], [221, 628, 224], [626, 628, 221], [224, 630, 226], [628, 630, 224], [226, 632, 229], [229, 632, 232], [630, 632, 226], [632, 634, 232], [634, 636, 232], [232, 636, 236], [236, 636, 238], [636, 638, 238], [238, 638, 241], [638, 640, 241], [241, 642, 244], [640, 642, 241], [244, 644, 247], [642, 644, 244], [247, 646, 250], [644, 646, 247], [250, 648, 253], [646, 648, 250], [253, 650, 256], [648, 650, 253], [256, 652, 260], [260, 652, 263], [650, 652, 256], [652, 654, 263], [263, 656, 265], [654, 656, 263], [265, 658, 268], [268, 658, 271], [656, 658, 265], [658, 660, 271], [271, 662, 275], [660, 662, 271], [275, 664, 277], [662, 664, 275], [277, 666, 280], [664, 666, 277], [280, 668, 283], [666, 668, 280], [283, 670, 286], [668, 670, 283], [286, 672, 290], [670, 672, 286], [290, 674, 292], [672, 674, 290], [292, 676, 295], [674, 676, 292], [295, 678, 299], [299, 678, 302], [676, 678, 295], [678, 680, 302], [302, 682, 305], [305, 682, 307], [680, 682, 302], [682, 684, 307], [684, 686, 307], [307, 686, 310], [686, 688, 310], [310, 688, 312], [688, 690, 312], [312, 690, 313], [690, 691, 313], [313, 691, 314], [691, 692, 314], [314, 692, 315], [315, 692, 316], [692, 693, 316], [693, 727, 316], [316, 727, 361], [727, 725, 361], [361, 725, 363], [725, 724, 363], [363, 724, 365], [724, 723, 365], [365, 723, 366], [723, 722, 366], [366, 722, 367], [722, 721, 367], [367, 721, 368], [368, 720, 369], [721, 720, 368], [369, 719, 344], [720, 719, 369], [437, 73, 114], [437, 416, 73], [40, 73, 412], [73, 416, 412], [40, 412, 41], [41, 412, 413], [439, 63, 413], [413, 63, 41], [63, 489, 113], [439, 489, 63], [113, 437, 114], [489, 437, 113]]} \ No newline at end of file diff --git a/docs/CAD/design/mate-connectors/bear_outline.json b/docs/CAD/design/mate-connectors/bear_outline.json new file mode 100644 index 0000000000..21b420c616 --- /dev/null +++ b/docs/CAD/design/mate-connectors/bear_outline.json @@ -0,0 +1 @@ +{"outer": [[26.711, -55.263], [42.071, -7.071], [35.0, -0.0], [-32.575, 0.0], [-33.717, -0.112], [-34.815, -0.446], [-35.828, -0.987], [-36.715, -1.715], [-39.55, -4.55], [-40.35, -5.547], [-40.914, -6.694], [-41.216, -7.937], [-41.241, -9.215], [-40.988, -10.468], [-26.711, -55.263], [-28.828, -57.312], [-29.64, -58.335], [-30.159, -59.532], [-30.35, -60.823], [-30.201, -62.12], [-29.721, -63.334], [-28.944, -64.382], [-27.718, -65.649], [-27.075, -66.035], [-26.325, -66.047], [-25.67, -65.683], [-20.613, -60.789], [20.613, -60.789], [26.711, -66.69], [32.421, -60.789], [26.711, -55.263]], "holes": [{"pts": [[19.052, -18.464], [16.474, -9.14], [-0.0, -9.104], [-21.926, -9.104], [-21.926, -3.535], [22.308, -3.535], [19.052, -18.464]], "cx": 4.719, "cz": -10.192, "d": 44.234}, {"pts": [[-11.493, -48.01], [-11.676, -49.341], [-12.211, -50.574], [-13.06, -51.617], [-14.158, -52.392], [-15.424, -52.842], [-16.765, -52.934], [-18.081, -52.66], [-19.274, -52.042], [-20.257, -51.124], [-20.955, -49.976], [-21.318, -48.682], [-21.318, -47.337], [-20.955, -46.043], [-20.257, -44.895], [-19.274, -43.977], [-18.081, -43.359], [-16.765, -43.085], [-15.424, -43.177], [-14.158, -43.627], [-13.06, -44.402], [-12.211, -45.445], [-11.676, -46.678], [-11.493, -48.01]], "cx": -16.223, "cz": -48.01, "d": 9.825}, {"pts": [[21.364, -48.01], [21.181, -49.341], [20.645, -50.574], [19.797, -51.617], [18.699, -52.392], [17.432, -52.842], [16.091, -52.934], [14.775, -52.66], [13.582, -52.042], [12.6, -51.124], [11.901, -49.976], [11.539, -48.682], [11.539, -47.337], [11.901, -46.043], [12.6, -44.895], [13.582, -43.977], [14.775, -43.359], [16.091, -43.085], [17.432, -43.177], [18.699, -43.627], [19.797, -44.402], [20.645, -45.445], [21.181, -46.678], [21.364, -48.01]], "cx": 16.634, "cz": -48.01, "d": 9.825}]} \ No newline at end of file diff --git a/docs/CAD/design/mate-connectors/circularmateconnectors.png b/docs/CAD/design/mate-connectors/circularmateconnectors.png new file mode 100644 index 0000000000..3150a5667b Binary files /dev/null and b/docs/CAD/design/mate-connectors/circularmateconnectors.png differ diff --git a/docs/CAD/design/mate-connectors/cmp-sheet.png b/docs/CAD/design/mate-connectors/cmp-sheet.png new file mode 100644 index 0000000000..1d67ae31ed Binary files /dev/null and b/docs/CAD/design/mate-connectors/cmp-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/connector-glyph-proposal.html b/docs/CAD/design/mate-connectors/connector-glyph-proposal.html new file mode 100644 index 0000000000..2a8475ee24 --- /dev/null +++ b/docs/CAD/design/mate-connectors/connector-glyph-proposal.html @@ -0,0 +1,299 @@ + + + + + +Mate connector glyph — polarity and verse + + + +

+ +
+
Orca Design · assembly
+

Mate connector glyph — polarity and verse

+

+ Onshape's core (disc + roll quadrant + Z arrow) is adopted unchanged because it is proven and + aligned. The addition is polarity — which connector is anchored and + which one travels — which no surveyed CAD system encodes in its glyph. +

+
+ +

The three jobs of the glyph

+
+
+
+ + + + +
+
Disc — the XY plane
+

Says “I am a frame, and this is the plane I sit in.” The dot is the exact origin.

+
+ +
+
+ + + + + +
+
Quadrant — the roll
+

+ The filled sector is the +X/+Y quadrant. It steps 90° with the reorient control, so the + clocking that Fastened and Slider lock is visible before you commit. +

+
+ +
+
+ + + + + + + +
+
Arrow — the verse
+

+ Drawn on +Z only. Nothing below the disc. A double-headed axis is what + makes people ask which way it points; a one-sided arrow cannot be misread. +

+
+
+ +

Polarity — the part nobody else draws

+
+
+
+ + + + + + + + +
+
Fixed — the socket
+

+ Hollow head, muted colour. This body does not move. It receives. +

+
+ +
+
+ + + + + + + +
+
Driven — the plug
+

+ Solid head, active colour. This body is the one that jumps. It inserts. +

+
+ +
+
+ + + + + + + + + + + + +
+
Roll undefined
+

+ Hatched quadrant, dashed disc: a circular face or a seam gave no usable direction. Says + “pick a direction” without a dialog. +

+
+
+ +

The pair reads as a magnet

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + fixed · receives + driven · inserts + +
+

+ Two arrows nose to nose. Because a magnet's north seeks a south, “facing” is the + self-evident default — which settles open decision D1 on visual grounds instead of a + convention nobody can look up. Nothing has to be remembered: the picture is the rule. + The dashed line is what makes the two glyphs read as one object. +

+
+ +

States

+
+ + + + + + + + + + + + + + + + + + + + + +
StateDrawingWhy
Candidate (hover)small dot onlyOnshape draws plain white dots at every corner and midpoint. Dots propose; the full glyph commits.
Pickeddisc + quadrant + coneThe committed frame, with roll and verse both readable.
Roll undefinedhatched quadrant, dashed discTurns requirement R8 from a message nobody reads into a mark you cannot miss.
+
+ +

Constraints on the drawing

+
+

+ Do not make it a fourth RGB triad. The bed-centre world triad + (DesignCanvas.cpp:65) and the move gizmo are already three coloured arrows. The disc + and the quadrant are what tell a connector apart from those — keep the arms short, and consider + drawing only Z on the committed glyph, with X and Y implied by the quadrant. +

+
+ roll quadrant + Z / driven + fixed + roll undefined +
+
+ +
+ + diff --git a/docs/CAD/design/mate-connectors/coplanar_test.py b/docs/CAD/design/mate-connectors/coplanar_test.py new file mode 100644 index 0000000000..ea02ed3c80 --- /dev/null +++ b/docs/CAD/design/mate-connectors/coplanar_test.py @@ -0,0 +1,68 @@ +# Does the connector pair let two hosts sit COPLANAR, or does it hold them apart? +# +# The male's flat back is the plane Y=0 and all its relief rises to +Y. So Y=0 is the natural +# mating datum: everything the male adds lives on one side of it. The test below builds two dummy +# host plates that meet on that plane -- one with the male FUSED on, one with the cavity CUT in -- +# and measures whether they touch, interfere, or stand apart. +# +# It also emits the artifact that makes this work in practice: a CUTTER solid (the male grown by +# the clearance) that you subtract from any host. A standalone female block cannot keep two hosts +# coplanar, because its own floor material stands between them; a cavity can. +# +# Run: /snap/bin/freecad.cmd coplanar_test.py + +import os +import FreeCAD as App +import Part +from FreeCAD import Vector + +HERE = os.path.dirname(os.path.abspath(__file__)) +MALE = os.path.join(HERE, "bear.step") +CLEAR = 0.20 + +male = Part.Shape(); male.read(MALE); male = male.Solids[0] +bb = male.BoundBox +print(f"male relief: Y {bb.YMin:.3f} .. {bb.YMax:.3f} -> datum plane Y=0, all relief on +Y") + +# the flat back face, and proof it is the whole silhouette sitting on Y=0 +back = max((f for f in male.Faces + if abs(f.CenterOfMass.y) < 1e-6 and abs(abs(f.normalAt(0, 0).y) - 1) < 1e-6), + key=lambda f: f.Area) +print(f"back face : {back.Area:.1f} mm2 on Y=0 -- this is the contact surface") + +# ---- the cutter: the male grown by the clearance, poking 0.2 mm proud so the boolean is clean +cutter = male.makeOffsetShape(CLEAR, 1e-6, False, False, 0, 2, False).Solids[0] +cb = cutter.BoundBox +print(f"cutter : Y {cb.YMin:.3f} .. {cb.YMax:.3f}, {cutter.Volume/1000:.2f} cm3") + +# ---- two dummy hosts meeting on Y = 0 +W, H = 120.0, 100.0 +hostA = Part.makeBox(W, 10.0, H, Vector(-W/2, -10.0, -15.0)) # occupies Y -10..0 +hostB = Part.makeBox(W, 30.0, H, Vector(-W/2, 0.0, -15.0)) # occupies Y 0..30 + +partA = hostA.fuse(male) # male stands proud of A's face +partB = hostB.cut(cutter) # cavity sunk into B from its face + +print(f"\npart A (host + male) : {partA.Volume/1000:.2f} cm3") +print(f"part B (host - cutter) : {partB.Volume/1000:.2f} cm3") + +# ---- the question ------------------------------------------------------------------ +inter = partA.common(partB) +iv = inter.Volume if inter.Solids else 0.0 +gap = partA.distToShape(partB)[0] +print(f"\nRESULT interference A vs B : {iv:.6f} mm3 (0 = they do not collide)") +print(f"RESULT closest approach : {gap:.4f} mm (0 = the host faces are touching)") + +# are the two host faces actually on the same plane? +fa = [f for f in partA.Faces if abs(f.CenterOfMass.y) < 1e-9 and abs(abs(f.normalAt(0,0).y)-1) < 1e-6] +fb = [f for f in partB.Faces if abs(f.CenterOfMass.y) < 1e-9 and abs(abs(f.normalAt(0,0).y)-1) < 1e-6] +print(f"RESULT A has {len(fa)} face(s) lying exactly on Y=0, total {sum(f.Area for f in fa):.1f} mm2") +print(f"RESULT B has {len(fb)} face(s) lying exactly on Y=0, total {sum(f.Area for f in fb):.1f} mm2") +print("RESULT -> the hosts meet on Y=0: COPLANAR" if fa and fb and iv < 1e-3 + else "RESULT -> NOT coplanar") + +doc = App.newDocument("Cutter") +o = doc.addObject("Part::Feature", "BearConnector_Cutter"); o.Shape = cutter +doc.recompute() +Part.export([o], os.path.join(HERE, "BearConnector_Cutter.step")) +print(f"\nwrote BearConnector_Cutter.step -- subtract this from any host to get the socket") diff --git a/docs/CAD/design/mate-connectors/cylindricalmateconnectors.png b/docs/CAD/design/mate-connectors/cylindricalmateconnectors.png new file mode 100644 index 0000000000..e4c1cebcf9 Binary files /dev/null and b/docs/CAD/design/mate-connectors/cylindricalmateconnectors.png differ diff --git a/docs/CAD/design/mate-connectors/emit_glyph_table.py b/docs/CAD/design/mate-connectors/emit_glyph_table.py new file mode 100644 index 0000000000..6e0fd29e32 --- /dev/null +++ b/docs/CAD/design/mate-connectors/emit_glyph_table.py @@ -0,0 +1,97 @@ +"""Emit the simplified bear as a C++ table for the viewport glyph — wi3z. + +Everything is normalised to the part's own bounding span and centred, so the renderer scales by +one radius R in screen pixels and nothing here carries millimetres. Emitting rather than +hand-authoring keeps the glyph and the printed part from drifting apart: rerun this and the table +follows the STEP. +""" +import json, math, os +HERE = os.path.dirname(os.path.abspath(__file__)) +D = json.load(open(os.path.join(HERE, "bear_outline.json"))) + +def unit_frame(pts_sets): + allp=[p for s in pts_sets for p in s] + xs=[p[0] for p in allp]; ys=[p[1] for p in allp] + cx,cy=(min(xs)+max(xs))/2,(min(ys)+max(ys))/2 + span=max(max(xs)-min(xs), max(ys)-min(ys)) + return cx,cy,span + +outer=[(x,-z) for x,z in D["outer"]] +holes=[[(x,-z) for x,z in h["pts"]] for h in D["holes"]] +CX,CY,SPAN = unit_frame([outer]+holes) +U=lambda pts:[((x-CX)/SPAN,(y-CY)/SPAN) for x,y in pts] +OUT=U(outer) +EYES=[U(h) for h,m in zip(holes,D["holes"]) if m["d"]<20] +MUZ =U([h for h,m in zip(holes,D["holes"]) if m["d"]>=20][0]) + +def rdp(p,eps): + if len(p)<3: return p + ax,ay=p[0]; bx,by=p[-1]; dx,dy=bx-ax,by-ay; n=math.hypot(dx,dy) + best,bi=-1.0,0 + for i in range(1,len(p)-1): + px,py=p[i] + d=abs(dx*(ay-py)-(ax-px)*dy)/n if n>1e-12 else math.hypot(px-ax,py-ay) + if d>best: best,bi=d,i + if best<=eps: return [p[0],p[-1]] + return rdp(p[:bi+1],eps)[:-1]+rdp(p[bi:],eps) +def simp(p,eps): + r=rdp(p+[p[0]],eps); return r[:-1] + +OUT_S = simp(OUT,.030) # 22 verts, the size the study settled on +# wind counter-clockwise so the renderer's normals come out facing +Z +def area2(p): return sum(p[i][0]*p[(i+1)%len(p)][1]-p[(i+1)%len(p)][0]*p[i][1] for i in range(len(p))) +if area2(OUT_S) < 0: OUT_S = OUT_S[::-1] + +def centroid(p): return (sum(q[0] for q in p)/len(p), sum(q[1] for q in p)/len(p)) +E=[] +for e in EYES: + c=centroid(e); r=(max(p[0] for p in e)-min(p[0] for p in e))/2 + E.append((c[0],c[1],r)) +E.sort() + +lo=min(p[1] for p in MUZ); hi=max(p[1] for p in MUZ) +bottom=[p for p in MUZ if p[1] < lo+0.06*(hi-lo)] +apex=max(MUZ,key=lambda p:p[1]) +TRI=[min(bottom),max(bottom),apex] +if area2(TRI)<0: TRI=TRI[::-1] + +# the cheek dot: the handedness mark adopted after the mirror-difference study +DOT=(E[1][0]+0.085, E[1][1]-0.10, 0.038) + +# THE MUZZLE. Six facets lifted straight off the mesh -- every facet touching anything above the +# 3 mm plate. Do NOT recompute the base from height*tan(draft): the first version did and produced +# a needle, because the real base OVERHANGS the crest at both ends (0.062 at the nose, 0.034 at the +# tail) and it is that overhang that makes it a tapered wedge instead of a blade. +PLATE = 0.036 # 3.00 / 83.34 +SNOUT_BASE = ((-0.0727, -0.2417), (+0.0630, -0.2417), # nose end, 0.136 wide + (+0.0259, +0.1939), (-0.0356, +0.1939)) # tail end, 0.062 wide +CREST = ((-0.0048, -0.1793, 0.2073), (-0.0048, +0.1605, 0.1279)) + +def fmt(v): return f"{v:+.4f}" +L=[] +L.append(f"// Emitted by doc/design/mate-connectors/emit_glyph_table.py from bear.step — do not hand-edit.") +L.append(f"// Normalised to the part's bounding span and centred: the renderer scales by one radius.") +L.append(f"static const Vec2d kBearOutline[] = {{ // {len(OUT_S)} verts, RDP eps 0.030, CCW") +for i in range(0,len(OUT_S),3): + row=", ".join(f"{{{fmt(x)}, {fmt(y)}}}" for x,y in OUT_S[i:i+3]) + L.append(" "+row+",") +L.append("};") +L.append(f"static const Vec2d kBearChin[] = {{ // the CHIN BAR, flat. The muzzle is relief — see kBearCrest.") +L.append(" "+", ".join(f"{{{fmt(x)}, {fmt(y)}}}" for x,y in TRI)+",") +L.append("};") +L.append("// {cx, cy, r}: two eyes, then the cheek dot that carries handedness (wi3z).") +L.append("static const Vec3d kBearMarks[] = {") +for cx,cy,r in E: L.append(f" {{{fmt(cx)}, {fmt(cy)}, {fmt(r)}}},") +L.append(f" {{{fmt(DOT[0])}, {fmt(DOT[1])}, {fmt(DOT[2])}}},") +L.append("};") +L.append("// THE MUZZLE, lifted off the mesh: a tapered wedge, base quad + crest edge, 6 facets.") +L.append("// This is the only feature standing along +Z and the only one still legible edge-on.") +L.append(f"static const double kBearPlateZ = {PLATE:+.4f};") +L.append("static const Vec2d kBearSnoutBase[] = { // CCW from the nose end") +for x,y in SNOUT_BASE: L.append(f" {{{fmt(x)}, {fmt(y)}}},") +L.append("};") +L.append("static const Vec3d kBearCrest[] = { // nose (tall) -> tail (short)") +for x,y,z in CREST: L.append(f" {{{fmt(x)}, {fmt(y)}, {fmt(z)}}},") +L.append("};") +open(os.path.join(HERE,"bear_glyph_table.h"),"w").write("\n".join(L)+"\n") +print("\n".join(L)) diff --git a/docs/CAD/design/mate-connectors/extract_outline.py b/docs/CAD/design/mate-connectors/extract_outline.py new file mode 100644 index 0000000000..720223c6b1 --- /dev/null +++ b/docs/CAD/design/mate-connectors/extract_outline.py @@ -0,0 +1,65 @@ +# Pull the bear's true silhouette and feature positions out of the supplied male B-rep, so the +# simplification study starts from measured geometry instead of a tracing of the flat drawing. +# +# The part's native frame (make_female.py): flat back on Y=0, relief rising to Y=+17.27, the FACE +# carried by X and Z. So the face plane is XZ and the silhouette is the outline projected along Y. +import os, json +import Part + +HERE = os.path.dirname(os.path.abspath(__file__)) +s = Part.Shape(); s.read(os.path.join(HERE, "bear.step")) +sol = s.Solids[0] +bb = sol.BoundBox +print(f"bbox X {bb.XMin:.2f}..{bb.XMax:.2f} Y {bb.YMin:.2f}..{bb.YMax:.2f} Z {bb.ZMin:.2f}..{bb.ZMax:.2f}") + +# The back plate face: the planar face whose normal is -Y and which sits at Y=YMin. Its outer wire +# IS the silhouette; its inner wires are the eye holes. +best = None +for f in sol.Faces: + if f.Surface.__class__.__name__ != "Plane": + continue + n = f.Surface.Axis + if abs(abs(n.y) - 1.0) > 1e-6: + continue + c = f.CenterOfMass + if best is None or c.y < best[0]: + best = (c.y, f) +y, face = best +print(f"back plate at Y={y:.3f} wires={len(face.Wires)} area={face.Area:.1f} mm2") + +def wire_pts(w, tol=0.05): + # ORDER MATTERS and w.Edges does not carry it: OCC hands the edges back in whatever order the + # face stored them, so concatenating their discretisations gives a scrambled ring. The first + # version of this script did exactly that and emitted an outline with 7 duplicated points and + # twice the perimeter it should have. OrderedEdges walks the wire, and each edge is reversed + # when its own orientation runs against the walk. + pts = [] + for e in w.OrderedEdges: + d = e.discretize(Deflection=tol) + if e.Orientation == "Reversed": + d = list(reversed(d)) + for p in d: + pts.append((round(p.x, 3), round(p.z, 3))) + # drop consecutive duplicates + out = [pts[0]] + for p in pts[1:]: + if abs(p[0]-out[-1][0]) > 1e-4 or abs(p[1]-out[-1][1]) > 1e-4: + out.append(p) + return out + +data = {"outer": None, "holes": []} +outer = face.OuterWire +data["outer"] = wire_pts(outer) +for w in face.Wires: + if w.isSame(outer): + continue + pts = wire_pts(w) + xs = [p[0] for p in pts]; zs = [p[1] for p in pts] + data["holes"].append({"pts": pts, + "cx": round(sum(xs)/len(xs), 3), "cz": round(sum(zs)/len(zs), 3), + "d": round(max(xs)-min(xs), 3)}) + print(f" hole: centre ({data['holes'][-1]['cx']}, {data['holes'][-1]['cz']}) dia {data['holes'][-1]['d']}") + +print(f"outer wire: {len(data['outer'])} points") +json.dump(data, open(os.path.join(HERE, "bear_outline.json"), "w")) +print("WROTE bear_outline.json") diff --git a/docs/CAD/design/mate-connectors/faceted_ridge_key.scad b/docs/CAD/design/mate-connectors/faceted_ridge_key.scad new file mode 100644 index 0000000000..3eb60064fb --- /dev/null +++ b/docs/CAD/design/mate-connectors/faceted_ridge_key.scad @@ -0,0 +1,140 @@ +// Faceted ridge key — asymmetric male/female alignment feature, flat facets only. +// +// 6 vertices, 7 faces, one closed manifold. Euler check: V - E + F = 6 - 11 + 7 = 2. +// No spheres, no cylinders, no splines, no fillets. +// +// THE FLANKS ARE TRIANGULATED EXPLICITLY, and that is not cosmetic. Written as quads +// [0,3,5,4] and [1,4,5,2] they are NOT planar — the base edge and the ridge edge are +// skew, so the four corners do not share a plane. A checker caught this after the first +// draft claimed the opposite. Left as quads, the tessellator picks the fold direction for +// you, which means the "flat facet" promise is broken by an unspecified crease and two +// exporters can disagree about the shape. Splitting them here fixes the crease at +// back-bottom -> front-ridge, which keeps the rear peak's triangle large and clean. +// +// FRAME CONVENTION (matches the CAD mate connector it is derived from): +// +Z the mating axis — the feature protrudes along it +// +X the roll reference — the ridge runs along it, low end forward +// +Y completes the right-handed frame +// +// WHAT BREAKS WHICH SYMMETRY +// rotational about Z ....... the ridge (elongation along X) +// 180 deg about Z .......... the ridge SLOPE: tall steep back, long shallow front +// mirror across XZ ......... deliberately NOT broken. Handedness is fixed by convention, +// so +Y is implied once Z and X are known. Breaking it would +// add a facet and buy nothing. +// +// KNOWN AMBIGUITY, stated rather than hidden: viewed exactly ALONG the ridge (+/-X, +// orthographic), the silhouette is the same isoceles triangle from front and back. Front +// and back are then distinguished by SHADING only — the long shallow front face catches +// light differently from the steep back face. If the target renderer is flat-shaded with a +// single headlight, verify this case before committing to the shape. + +// ---------------------------------------------------------------- parameters +L = 12.0; // overall length along the ridge (X) +W = 4.0; // half-width at the BACK +tf = 0.45; // front taper: front half-width = W * tf +H = 4.5; // peak height at the rear <-- the single dimension controlling asymmetry +pr = 0.22; // rear ridge position, fraction of L from the back +pf = 0.62; // front ridge position, fraction of L from the back +hf = 0.35; // front ridge height, fraction of H + +// Clearance is a PHYSICAL quantity and only means anything if this is a printed part. +// See the note at the bottom: for a viewport glyph it is meaningless. +clr = 0.20; // per-face clearance, mm +depth = 0.40; // extra pocket depth so the male never bottoms out before it seats + +Wf = W * tf; +xr0 = -L/2 + L * pr; +xr1 = -L/2 + L * pf; +Hf = H * hf; + +// ---------------------------------------------------------------- geometry +// Vertex order is fixed and referenced by the face table; do not reorder. +// 0 back-left 1 back-right 2 front-right 3 front-left +// 4 REAR PEAK (tall) 5 front ridge (low) +function ridge_pts(l, w, wf, h, hfr, x0, x1) = [ + [-l/2, -w, 0 ], // 0 + [-l/2, w, 0 ], // 1 + [ l/2, wf, 0 ], // 2 + [ l/2, -wf, 0 ], // 3 + [ x0, 0, h ], // 4 rear peak + [ x1, 0, hfr] // 5 front ridge, low +]; + +// OpenSCAD wants each face wound CLOCKWISE seen from OUTSIDE. The right-hand-rule +// outward-normal (CCW) form is given in the comment for anyone porting to STL/OCC, +// where the opposite convention is the usual one. +RIDGE_FACES = [ + [3, 2, 1, 0], // base (CCW-outward: [0,1,2,3]) planar, all z=0 + [1, 4, 0], // back (CCW-outward: [0,4,1]) steep + [5, 3, 0], // flank -Y a (CCW-outward: [0,3,5]) + [4, 5, 0], // flank -Y b (CCW-outward: [0,5,4]) + [5, 4, 1], // flank +Y a (CCW-outward: [1,4,5]) + [2, 5, 1], // flank +Y b (CCW-outward: [1,5,2]) + [5, 2, 3] // front (CCW-outward: [3,2,5]) long, shallow +]; + +module ridge_key(l = L, w = W, wf = Wf, h = H, hfr = Hf, x0 = xr0, x1 = xr1) { + polyhedron(points = ridge_pts(l, w, wf, h, hfr, x0, x1), + faces = RIDGE_FACES, + convexity = 3); +} + +// MALE: the protrusion, nominal size. +module ridge_key_male() { ridge_key(); } + +// FEMALE: the pocket. Grown by `clr` on every side and sunk `depth` deeper. +// +// HONEST LIMITATION: this grows the key by scaling its defining dimensions, which is NOT a +// true uniform surface offset — on the shallow front face the normal clearance comes out +// smaller than `clr`, because that face is far from perpendicular to every axis it is +// scaled along. A true offset needs minkowski() with a small cube, which is exact and slow, +// or an explicit per-face plane push, which is exact and fiddly. For a keying feature whose +// job is angular registration rather than a press fit, the approximation is the right trade +// — but do not quote this pocket as holding 0.2 mm everywhere, because it does not. +module ridge_key_female() { + translate([0, 0, -depth]) + ridge_key(l = L + 2*clr, + w = W + clr, + wf = Wf + clr, + h = H + clr + depth, + hfr = Hf + clr + depth, + x0 = xr0, + x1 = xr1); +} + +// ---------------------------------------------------------------- demo +// Left: the male key on its plate. Right: the plate with the pocket cut. +PLATE = [30, 18, 3]; + +module plate_with_male() { + translate([-PLATE[0]/2, -PLATE[1]/2, -PLATE[2]]) cube(PLATE); + ridge_key_male(); +} + +module plate_with_female() { + difference() { + translate([-PLATE[0]/2, -PLATE[1]/2, -PLATE[2]]) cube(PLATE); + ridge_key_female(); + } +} + +translate([-20, 0, 0]) plate_with_male(); +translate([ 20, 0, 0]) plate_with_female(); + +// ---------------------------------------------------------------- note on the two readings +// This file is written for the PHYSICAL reading: a printable alignment key, where `clr` and +// `depth` are real millimetres and flat facets genuinely help — they slice without the +// stair-stepping a tessellated curve produces, and they print without support on the +// shallow front face. +// +// If the intent is instead the VIEWPORT GLYPH for a CAD mate connector, then: +// - `clr` and `depth` are meaningless: a symbol does not mate with anything; +// - all dimensions must become SCREEN PIXELS scaled by upp = 1/zoom, because every gizmo +// in that viewport is screen-constant and must not shrink with the model; +// - "low-poly for rendering performance" is not a real reason at ~2-20 glyphs per frame. +// The real reason to keep flat facets there is LEGIBILITY: hard normals give distinct +// value steps between facets, and that is what lets a 22-px solid read as an oriented +// object instead of a grey blob. +// The vertex logic above is identical under both readings. Only the units and the clearance +// change. diff --git a/docs/CAD/design/mate-connectors/fem-0.png b/docs/CAD/design/mate-connectors/fem-0.png new file mode 100644 index 0000000000..391881e72a Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-0.png differ diff --git a/docs/CAD/design/mate-connectors/fem-1.png b/docs/CAD/design/mate-connectors/fem-1.png new file mode 100644 index 0000000000..c329d20bea Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-1.png differ diff --git a/docs/CAD/design/mate-connectors/fem-2.png b/docs/CAD/design/mate-connectors/fem-2.png new file mode 100644 index 0000000000..a32f2ffbf1 Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-2.png differ diff --git a/docs/CAD/design/mate-connectors/fem-3.png b/docs/CAD/design/mate-connectors/fem-3.png new file mode 100644 index 0000000000..f21ae3f98b Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-3.png differ diff --git a/docs/CAD/design/mate-connectors/fem-sheet.png b/docs/CAD/design/mate-connectors/fem-sheet.png new file mode 100644 index 0000000000..add56590a1 Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/fem-sheet2.png b/docs/CAD/design/mate-connectors/fem-sheet2.png new file mode 100644 index 0000000000..879b4295fb Binary files /dev/null and b/docs/CAD/design/mate-connectors/fem-sheet2.png differ diff --git a/docs/CAD/design/mate-connectors/female.stl b/docs/CAD/design/mate-connectors/female.stl new file mode 100644 index 0000000000..57b0ef6d20 --- /dev/null +++ b/docs/CAD/design/mate-connectors/female.stl @@ -0,0 +1,226 @@ +solid OpenSCAD_Model + facet normal 1 -0 0 + outer loop + vertex 15 -9 0 + vertex 15 9 -8 + vertex 15 9 0 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 15 9 -8 + vertex 15 -9 0 + vertex 15 -9 -8 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15 9 0 + vertex 5.3246 1.63218 0 + vertex 15 -9 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15 9 0 + vertex -4.79494 3.42759 0 + vertex 5.3246 1.63218 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15 9 0 + vertex -5.97725 3.87059 0 + vertex -4.79494 3.42759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.97725 3.87059 0 + vertex -15 9 0 + vertex -5.97725 -3.87059 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -15 9 0 + vertex -5.97725 3.87059 0 + vertex 15 9 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.3246 -1.63218 0 + vertex 15 -9 0 + vertex 5.3246 1.63218 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.79494 -3.42759 0 + vertex 15 -9 0 + vertex 5.3246 -1.63218 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.97725 -3.87059 0 + vertex 15 -9 0 + vertex -4.79494 -3.42759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.97725 -3.87059 0 + vertex -15 -9 0 + vertex 15 -9 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15 -9 0 + vertex -5.97725 -3.87059 0 + vertex -15 9 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15 -9 -8 + vertex 15 9 -8 + vertex 15 -9 -8 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 15 9 -8 + vertex -15 -9 -8 + vertex -15 9 -8 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -15 -9 -8 + vertex -15 9 0 + vertex -15 9 -8 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -15 9 0 + vertex -15 -9 -8 + vertex -15 -9 0 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 15 9 -8 + vertex -15 9 0 + vertex 15 9 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -15 9 0 + vertex 15 9 -8 + vertex -15 9 -8 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -15 -9 -8 + vertex 15 -9 0 + vertex -15 -9 0 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 15 -9 0 + vertex -15 -9 -8 + vertex 15 -9 -8 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.2 4.2 -0.4 + vertex 6.2 -2 -0.4 + vertex 6.2 2 -0.4 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.2 -2 -0.4 + vertex -6.2 4.2 -0.4 + vertex -6.2 -4.2 -0.4 + endloop + endfacet + facet normal 0.873667 0 -0.486524 + outer loop + vertex -5.97725 -3.87059 0 + vertex -6.2 4.2 -0.4 + vertex -5.97725 3.87059 0 + endloop + endfacet + facet normal 0.873667 0 -0.486524 + outer loop + vertex -6.2 4.2 -0.4 + vertex -5.97725 -3.87059 0 + vertex -6.2 -4.2 -0.4 + endloop + endfacet + facet normal -0.107146 0.603912 -0.789816 + outer loop + vertex 6.2 -2 -0.4 + vertex -4.79494 -3.42759 0 + vertex 5.3246 -1.63218 0 + endloop + endfacet + facet normal -0.107147 0.603918 -0.789812 + outer loop + vertex -4.79494 -3.42759 0 + vertex 6.2 -2 -0.4 + vertex -6.2 -4.2 -0.4 + endloop + endfacet + facet normal -0.304068 0.811519 -0.498978 + outer loop + vertex -4.79494 -3.42759 0 + vertex -6.2 -4.2 -0.4 + vertex -5.97725 -3.87059 0 + endloop + endfacet + facet normal -0.304068 -0.811519 -0.498978 + outer loop + vertex -5.97725 3.87059 0 + vertex -6.2 4.2 -0.4 + vertex -4.79494 3.42759 0 + endloop + endfacet + facet normal -0.107146 -0.603912 -0.789816 + outer loop + vertex -4.79494 3.42759 0 + vertex 6.2 2 -0.4 + vertex 5.3246 1.63218 0 + endloop + endfacet + facet normal -0.107147 -0.603918 -0.789812 + outer loop + vertex 6.2 2 -0.4 + vertex -4.79494 3.42759 0 + vertex -6.2 4.2 -0.4 + endloop + endfacet + facet normal -0.415603 0 -0.909546 + outer loop + vertex 5.3246 -1.63218 0 + vertex 6.2 2 -0.4 + vertex 6.2 -2 -0.4 + endloop + endfacet + facet normal -0.415603 0 -0.909546 + outer loop + vertex 6.2 2 -0.4 + vertex 5.3246 -1.63218 0 + vertex 5.3246 1.63218 0 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/docs/CAD/design/mate-connectors/female_only.scad b/docs/CAD/design/mate-connectors/female_only.scad new file mode 100644 index 0000000000..89f83b4655 --- /dev/null +++ b/docs/CAD/design/mate-connectors/female_only.scad @@ -0,0 +1,12 @@ +// Female half alone, for the legibility test: is a recessed faceted pocket readable in a +// shaded view, or does a concave feature just read as a dark hole with no orientation? +use + +// The plate must be THICKER than the key is tall, or the "pocket" is a through-hole. The +// first version used 3 mm against a 4.5 mm key and cut straight through — caught only by +// rendering it. Minimum stock = H + clearance + pocket depth + a wall to print against. +PLATE = [30, 18, 8]; +difference() { + translate([-PLATE[0]/2, -PLATE[1]/2, -PLATE[2]]) cube(PLATE); + ridge_key_female(); +} diff --git a/docs/CAD/design/mate-connectors/fit_check.py b/docs/CAD/design/mate-connectors/fit_check.py new file mode 100644 index 0000000000..5a9ee01063 --- /dev/null +++ b/docs/CAD/design/mate-connectors/fit_check.py @@ -0,0 +1,20 @@ +# Measure the assembled fit between the supplied male and the generated female. +# This is the number that matters: the minimum gap in the seated position. +# Run: /snap/bin/freecad.cmd fit_check.py +import os +import Part + +HERE = os.path.dirname(os.path.abspath(__file__)) +male = Part.Shape(); male.read(os.path.join(HERE, "bear.step")) +fem = Part.Shape(); fem.read(os.path.join(HERE, "BearConnector_Female.step")) +male, fem = male.Solids[0], fem.Solids[0] + +d = male.distToShape(fem) +print(f"RESULT minimum gap male<->female, seated: {d[0]:.4f} mm (design clearance 0.20)") + +c = male.common(fem) +print(f"RESULT interference volume: {(c.Volume if c.Solids else 0.0):.6f} mm3") + +p = d[1][0][0] +print(f"RESULT tightest point on the male: ({p.x:.2f}, {p.y:.2f}, {p.z:.2f})") +print(f"RESULT male {male.Volume/1000:.2f} cm3 / female {fem.Volume/1000:.2f} cm3") diff --git a/docs/CAD/design/mate-connectors/glyph-preview.png b/docs/CAD/design/mate-connectors/glyph-preview.png new file mode 100644 index 0000000000..5e62c9a17f Binary files /dev/null and b/docs/CAD/design/mate-connectors/glyph-preview.png differ diff --git a/docs/CAD/design/mate-connectors/glyph_preview.py b/docs/CAD/design/mate-connectors/glyph_preview.py new file mode 100644 index 0000000000..e339e6bdab --- /dev/null +++ b/docs/CAD/design/mate-connectors/glyph_preview.py @@ -0,0 +1,99 @@ +"""Render the SIMPLIFIED glyph exactly as render_mate_face() draws it — x0kd. + +This is the panel the study was missing. simplify_study.py measured a FLAT outline and +relief_sheet.py measured the FULL 1508-facet part; neither showed the simplified glyph WITH its +relief, which is what the code actually draws and the only thing that answers "is the snout still +protruding". Same facet list, same painter order, same camera-fixed lambert as the C++. +""" +import math, os +from PIL import Image, ImageDraw + +HERE = os.path.dirname(os.path.abspath(__file__)) +T = open(os.path.join(HERE, "bear_glyph_table.h")).read() +def grab(name, n): + body = T.split(name + "[] = {")[1].split("};")[0] + body = "\n".join(l.split("//")[0] for l in body.splitlines()) + out = [] + for tok in body.replace("\n", " ").split("},"): + tok = tok.strip().lstrip("{").strip() + if not tok: continue + v = [float(x) for x in tok.replace("{", "").split(",")[:n]] + if len(v) == n: out.append(tuple(v)) + return out +OUT = grab("kBearOutline", 2) +CHIN = grab("kBearChin", 2) # NB: this table entry is the CHIN BAR, not the snout +MARKS = grab("kBearMarks", 3) +CREST = grab("kBearCrest", 3) +SBASE = grab("kBearSnoutBase", 2) +PLATE = float(T.split("kBearPlateZ = ")[1].split(";")[0]) + + +def facets(): + F = [] + n = len(OUT) + for i in range(n): # plate sides -> the grazing silhouette + a, b = OUT[i], OUT[(i+1) % n] + F.append(([(a[0],a[1],0.0),(b[0],b[1],0.0),(b[0],b[1],PLATE),(a[0],a[1],PLATE)], "body", True)) + F.append(([(x,y,PLATE) for x,y in OUT], "body", True)) # plate top + zm = PLATE + 0.004 + for cx,cy,r in MARKS: # eyes + cheek dot + F.append(([(cx+r*math.cos(2*math.pi*i/12), cy+r*math.sin(2*math.pi*i/12), zm) for i in range(12)], "mark", False)) + F.append(([(x,y,zm) for x,y in CHIN], "mark", False)) # chin bar + A, B = CREST # THE MUZZLE: base quad + crest + nl=(SBASE[0][0],SBASE[0][1],PLATE); nr=(SBASE[1][0],SBASE[1][1],PLATE) + tr=(SBASE[2][0],SBASE[2][1],PLATE); tl=(SBASE[3][0],SBASE[3][1],PLATE) + F += [([nl,tl,B,A],"body",True), # left flank + ([nr,A,B,tr],"body",True), # right flank + ([nl,A,nr],"body",True), # nose cap, sloping because the base overhangs the crest + ([tr,B,tl],"body",True)] # tail cap + return F +FACETS = facets() + +BODY=(0.42,0.46,0.52); MARK=(0.126,0.138,0.156) +def render(px, elev_deg, ss=8): + S=px*ss; a=math.radians(elev_deg); ca,sa=math.cos(a),math.sin(a) + # camera orbits down; the connector's +Z (relief) tips toward the horizon + xf=lambda p:(p[0], p[1]*sa + p[2]*ca, -p[1]*ca + p[2]*sa) + light=(-0.70,0.30,0.45) + img=Image.new("RGB",(S,S),(24,27,32)); d=ImageDraw.Draw(img) + tris=[] + for pts,kind,shade in FACETS: + q=[xf(p) for p in pts] + tris.append((sum(v[2] for v in q)/len(q), q, kind, shade)) + tris.sort(key=lambda t:t[0]) # far first + for _,q,kind,shade in tris: + (x0,y0,z0),(x1,y1,z1),(x2,y2,z2)=q[0],q[1],q[2] + ux,uy,uz=x1-x0,y1-y0,z1-z0; vx,vy,vz=x2-x0,y2-y0,z2-z0 + nx,ny,nz=uy*vz-uz*vy, uz*vx-ux*vz, ux*vy-uy*vx + nn=math.sqrt(nx*nx+ny*ny+nz*nz) or 1.0 + nx,ny,nz=nx/nn,ny/nn,nz/nn + if nz<0: nx,ny,nz=-nx,-ny,-nz + base=BODY if kind=="body" else MARK + k=(0.42+0.58*max(0.0,nx*light[0]+ny*light[1]+nz*light[2])) if shade else 1.0 + col=tuple(min(255,int(255*c*k)) for c in base) + d.polygon([(S/2+p[0]*S*0.92, S/2-p[1]*S*0.92) for p in q], fill=col) + return img.resize((px,px), Image.LANCZOS) + +SIZES=[22,32,48]; ELEVS=[(90,"flat on"),(47,"47"),(16,"16"),(6,"6")] +pad,cell=8,58 +W=pad+len(SIZES)*len(ELEVS)*cell+pad; H=pad+cell+pad +sheet=Image.new("RGB",(W,H),(24,27,32)) +for ci,(e,_) in enumerate(ELEVS): + for si,px in enumerate(SIZES): + g=render(px,e) + sheet.paste(g, (pad+(ci*len(SIZES)+si)*cell+(cell-px)//2, pad+(cell-px)//2)) +sheet.resize((W*2,H*2), Image.NEAREST).save(os.path.join(HERE,"glyph-preview.png")) + +# how much of the glyph is the snout: render with and without the tent and diff +def render_no_tent(px, elev): + global FACETS + keep=FACETS; FACETS=FACETS[:-4] + try: return render(px, elev) + finally: FACETS=keep +print(f"{'elev':>8} {'lit px@32':>10} {'snout px':>9} {'snout share':>12}") +for e,_ in ELEVS: + a=render(32,e); b=render_no_tent(32,e) + la=sum(1 for p in a.get_flattened_data() if p!=(24,27,32)) + diff=sum(1 for p,q in zip(a.get_flattened_data(), b.get_flattened_data()) if p!=q) + print(f"{e:>8} {la:>10} {diff:>9} {100.0*diff/max(1,la):>11.1f}%") +print("WROTE glyph-preview.png") diff --git a/docs/CAD/design/mate-connectors/glyph_probe.py b/docs/CAD/design/mate-connectors/glyph_probe.py new file mode 100644 index 0000000000..f4d48fdd6c --- /dev/null +++ b/docs/CAD/design/mate-connectors/glyph_probe.py @@ -0,0 +1,143 @@ +# Mate-connector glyph probe — built as REAL solids on REAL mechanical geometry, +# so the shape can be judged in a 3D viewport instead of in a browser mock. +# +# Four polarity treatments, side by side on one bracket: +# A Onshape baseline ...... ring + roll quadrant + three short axis arms +# B solid cone ............ ring + quadrant + one-sided Z arrow, filled head (driven) +# C hollow collar ......... ring + quadrant + one-sided Z arrow, shell head (fixed) +# D pin / cup ............. polarity by RELIEF: a raised pin vs a sunk cup +# +# D is the one that only a 3D test can settle: in a shaded viewport, solid-vs-hollow is a +# weak cue that depends on angle and lighting, while convex-vs-concave is a strong one -- +# and male/female is the mechanical language for polarity anyway. +# +# Scale note: in the real viewport gizmos are screen-constant (~15-40 px via upp = 1/zoom). +# At a zoom where a 60 mm part fills ~600 px, 40 px is about 4 mm, so R = 4.5 mm here. + +import FreeCAD as App +import FreeCADGui as Gui +import Part +from FreeCAD import Vector + +DOC = "GlyphProbe" +for d in list(App.listDocuments()): + App.closeDocument(d) +doc = App.newDocument(DOC) + +R = 4.5 # disc radius, the module everything scales from +GOLD = (0.93, 0.66, 0.09) +BLUE = (0.18, 0.44, 0.93) +GREY = (0.42, 0.46, 0.52) +RED = (0.85, 0.29, 0.24) +GREEN = (0.23, 0.65, 0.35) + +def add(name, shape, color, transparency=0): + o = doc.addObject("Part::Feature", name) + o.Shape = shape + o.ViewObject.ShapeColor = color + o.ViewObject.LineColor = color + o.ViewObject.PointColor = color + o.ViewObject.Transparency = transparency + return o + +def frame(origin, zdir, xdir): + """Right-handed placement matrix from origin + Z + X (X orthonormalised against Z).""" + z = Vector(*zdir); z.normalize() + xr = Vector(*xdir) + x = xr.sub(Vector(z).multiply(z.dot(xr))); x.normalize() + y = z.cross(x) + return App.Matrix(x.x, y.x, z.x, origin[0], + x.y, y.y, z.y, origin[1], + x.z, y.z, z.z, origin[2], + 0, 0, 0, 1) + +# ---------------------------------------------------------------- the bracket +plate = Part.makeBox(120, 46, 8) +bore = Part.makeCylinder(7, 40, Vector(96, 23, -6)) # a real bore, curved face +boss = Part.makeCylinder(11, 7, Vector(96, 23, 8)) +part = plate.fuse(boss).cut(bore) +add("Bracket", part, (0.60, 0.63, 0.66)) + +# ---------------------------------------------------------------- glyph pieces +def ring(t=None): + t = t or R * 0.10 + return Part.makeCylinder(R, t).cut(Part.makeCylinder(R * 0.84, t)) + +def quadrant(t=None): + t = t or R * 0.10 + return Part.makeCylinder(R * 0.84, t, Vector(0, 0, 0), Vector(0, 0, 1), 90) + +def stem(L=None, r=None): + return Part.makeCylinder(r or R * 0.09, L or R * 2.3) + +def solid_head(): + return Part.makeCone(R * 0.32, 0, R * 0.80, Vector(0, 0, R * 2.3)) + +def shell_head(): + outer = Part.makeCone(R * 0.32, 0, R * 0.80, Vector(0, 0, R * 2.3)) + inner = Part.makeCone(R * 0.22, 0, R * 0.62, Vector(0, 0, R * 2.3)) + return outer.cut(inner) + +def short_axis(direction, L=None): + L = L or R * 1.15 + return Part.makeCylinder(R * 0.07, L, Vector(0, 0, 0), Vector(*direction)) + +def place(shape, m): + s = shape.copy() + s.transformShape(m) + return s + +# ---------------------------------------------------------------- the variants +def variant_A(tag, origin): # Onshape baseline + m = frame(origin, (0, 0, 1), (1, 0, 0)) + add(tag + "_ring", place(ring(), m), GREY) + add(tag + "_quad", place(quadrant(), m), GOLD) + add(tag + "_x", place(short_axis((1, 0, 0)), m), RED) + add(tag + "_y", place(short_axis((0, 1, 0)), m), GREEN) + add(tag + "_z", place(short_axis((0, 0, 1), R * 1.6), m), BLUE) + +def variant_B(tag, origin, zdir=(0, 0, 1)): # solid cone = driven + m = frame(origin, zdir, (1, 0, 0)) + add(tag + "_ring", place(ring(), m), BLUE) + add(tag + "_quad", place(quadrant(), m), GOLD) + add(tag + "_body", place(stem().fuse(solid_head()), m), BLUE) + +def variant_C(tag, origin, zdir=(0, 0, 1)): # hollow collar = fixed + m = frame(origin, zdir, (1, 0, 0)) + add(tag + "_ring", place(ring(), m), GREY) + add(tag + "_quad", place(quadrant(), m), GOLD) + add(tag + "_body", place(stem().fuse(shell_head()), m), GREY) + +def variant_D_pin(tag, origin, zdir=(0, 0, 1)): # polarity by relief: raised PIN + m = frame(origin, zdir, (1, 0, 0)) + pin = Part.makeCylinder(R * 0.30, R * 1.5).fuse( + Part.makeCone(R * 0.30, 0, R * 0.55, Vector(0, 0, R * 1.5))) + add(tag + "_ring", place(ring(), m), BLUE) + add(tag + "_quad", place(quadrant(), m), GOLD) + add(tag + "_pin", place(pin, m), BLUE) + +def variant_D_cup(tag, origin, zdir=(0, 0, 1)): # polarity by relief: sunk CUP + m = frame(origin, zdir, (1, 0, 0)) + cup = Part.makeCylinder(R * 0.62, R * 0.9).cut( + Part.makeCylinder(R * 0.40, R * 0.9, Vector(0, 0, -0.01))) + add(tag + "_ring", place(ring(), m), GREY) + add(tag + "_quad", place(quadrant(), m), GOLD) + add(tag + "_cup", place(cup, m), GREY) + +# four treatments across the plate, all on the same flat face, same Z +variant_A("A", (14, 30, 8)) +variant_B("B", (40, 30, 8)) +variant_C("C", (64, 30, 8)) +variant_D_pin("Dpin", (14, 10, 8)) +variant_D_cup("Dcup", (40, 10, 8)) + +# the hard cases, which is the whole reason for doing this in 3D: +variant_B("Bore", (96, 23, 15)) # on the boss above a bore +variant_B("Edge", (64, 0, 8), (0, -0.7071, 0.7071)) # tilted, on an edge, oblique Z + +doc.recompute() + +v = Gui.activeDocument().activeView() +v.viewIsometric() +Gui.SendMsgToActiveView("ViewFit") +App.Console.PrintMessage("glyph probe built: %d objects\n" % len(doc.Objects)) diff --git a/docs/CAD/design/mate-connectors/handedness-sheet.png b/docs/CAD/design/mate-connectors/handedness-sheet.png new file mode 100644 index 0000000000..b44c370328 Binary files /dev/null and b/docs/CAD/design/mate-connectors/handedness-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/handedness.py b/docs/CAD/design/mate-connectors/handedness.py new file mode 100644 index 0000000000..68fa07bb55 --- /dev/null +++ b/docs/CAD/design/mate-connectors/handedness.py @@ -0,0 +1,112 @@ +"""Give the bear a handedness mark that survives rasterisation — wi3z, Tommaso's call 2. + +The study showed the left/right cue lives in sub-millimetre corner radii and is therefore invisible +at glyph size: one pixel is 2.6 mm at 32 px. Roll and verse are safe; handedness is not. + +THE MEASURE IS THE QUESTION ITSELF. Render the glyph, render its mirror image, and count how many +pixels differ. If a human is to tell left from right, the two must differ on screen; a candidate +that scores near zero is invisible however elegant it looks in CAD. Reported as a percentage of the +glyph's own lit area, so the sizes are comparable. +""" +import json, math, os +from PIL import Image, ImageDraw, ImageChops + +HERE = os.path.dirname(os.path.abspath(__file__)) +D = json.load(open(os.path.join(HERE, "bear_outline.json"))) +def unit(pts): + p = [(x, -z) for x, z in pts] + return p +outer = unit(D["outer"]); holes = [unit(h["pts"]) for h in D["holes"]] +ALL = outer + [p for h in holes for p in h] +xs=[p[0] for p in ALL]; ys=[p[1] for p in ALL] +CX,CY = (min(xs)+max(xs))/2,(min(ys)+max(ys))/2 +SPAN = max(max(xs)-min(xs), max(ys)-min(ys)) +U = lambda pts: [((x-CX)/SPAN,(y-CY)/SPAN) for x,y in pts] +OUT = U(outer) +EYES = [U(h) for h,m in zip(holes, D["holes"]) if m["d"] < 20] +MUZ = U([h for h,m in zip(holes, D["holes"]) if m["d"] >= 20][0]) + +def rdp(pts, eps): + if len(pts) < 3: return pts + ax,ay=pts[0]; bx,by=pts[-1]; dx,dy=bx-ax,by-ay + n=math.hypot(dx,dy); best,bi=-1.0,0 + for i in range(1,len(pts)-1): + px,py=pts[i] + d=abs(dx*(ay-py)-(ax-px)*dy)/n if n>1e-12 else math.hypot(px-ax,py-ay) + if d>best: best,bi=d,i + if best<=eps: return [pts[0],pts[-1]] + return rdp(pts[:bi+1],eps)[:-1]+rdp(pts[bi:],eps) +def simp(pts,eps): + r=rdp(pts+[pts[0]],eps); return r[:-1] + +BASE = simp(OUT, .030) # the 22-vertex outline the study settled on +def centroid(p): return (sum(q[0] for q in p)/len(p), sum(q[1] for q in p)/len(p)) +def circ(cx,cy,r,n=16): return [(cx+r*math.cos(2*math.pi*i/n), cy+r*math.sin(2*math.pi*i/n)) for i in range(n)] +EYE_D = [] +for e in EYES: + c=centroid(e); r=(max(p[0] for p in e)-min(p[0] for p in e))/2 + EYE_D.append((c[0],c[1],r)) +EYE_D.sort() # [0] = left (x<0), [1] = right + +TOP = max(p[1] for p in BASE) +H = TOP - min(p[1] for p in BASE) +def ear_tip(sign): + cands=[p for p in BASE if p[1] > TOP-0.18*H and (p[0]*sign) > 0] + return max(cands, key=lambda p: p[0]*sign) if cands else None +LT, RT = ear_tip(-1), ear_tip(+1) + +def notch(tip, sign, k=0.085): + """A wedge bitten out of one ear — background-filled, exactly how the eyes are already drawn.""" + x,y = tip + return [(x, y+0.02), (x - sign*k, y - k*0.55), (x + sign*k*0.15, y - k*1.05)] + +CANDS = { + "H0 none": dict(cuts=[], eyes=EYE_D), + "H1 notch R ear": dict(cuts=[notch(RT, +1)], eyes=EYE_D), + "H2 notch both": dict(cuts=[notch(RT, +1), notch(LT, -1, 0.045)], eyes=EYE_D), + "H3 cheek dot": dict(cuts=[circ(EYE_D[1][0]+0.085, EYE_D[1][1]-0.10, 0.038)], eyes=EYE_D), + "H4 uneven eyes": dict(cuts=[], eyes=[EYE_D[0], (EYE_D[1][0], EYE_D[1][1], EYE_D[1][2]*1.55)]), +} + +def render(c, px, ss=8, mirror=False): + S=px*ss; img=Image.new("L",(S,S),0); d=ImageDraw.Draw(img) + m = lambda p: (S/2 + (-p[0] if mirror else p[0])*S*0.92, S/2 - p[1]*S*0.92) + d.polygon([m(p) for p in BASE], fill=255) + d.polygon([m(p) for p in MUZ], fill=0) + for cx,cy,r in c["eyes"]: + a=m((cx-r,cy+r)); b=m((cx+r,cy-r)) + d.ellipse([min(a[0],b[0]), min(a[1],b[1]), max(a[0],b[0]), max(a[1],b[1])], fill=0) + for cut in c["cuts"]: + d.polygon([m(p) for p in cut], fill=0) + return img.resize((px,px), Image.LANCZOS) + +SIZES=[22,32,48] +print(f"{'candidate':16} " + " ".join(f"{s}px" for s in SIZES) + " (pixels differing from own mirror, % of lit area)") +print("-"*84) +scores={} +for name,c in CANDS.items(): + row=[] + for px in SIZES: + a=render(c,px); b=render(c,px,mirror=True) + diff=ImageChops.difference(a,b) + nd=sum(1 for v in diff.getdata() if v>40) + lit=sum(1 for v in a.getdata() if v>40) or 1 + row.append(100.0*nd/lit) + scores[name]=row + print(f"{name:16} " + " ".join(f"{v:5.1f}" for v in row)) + +pad,cell=8,58 +W=pad+len(SIZES)*2*cell+pad; Hh=pad+len(CANDS)*cell+pad +sheet=Image.new("RGB",(W,Hh),(24,27,32)) +for r,(name,c) in enumerate(CANDS.items()): + for mi,mir in enumerate((False,True)): + for si,px in enumerate(SIZES): + g=render(c,px,mirror=mir) + tile=Image.new("RGB",(px,px),(24,27,32)) + tile.paste(Image.new("RGB",(px,px),(237,168,23)),(0,0),g) + x=pad+(mi*len(SIZES)+si)*cell+(cell-px)//2 + y=pad+r*cell+(cell-px)//2 + sheet.paste(tile,(x,y)) +sheet.resize((W*2,Hh*2), Image.NEAREST).save(os.path.join(HERE,"handedness-sheet.png")) +print("\nleft block = as drawn, right block = mirrored. rows: " + ", ".join(CANDS)) +print("WROTE handedness-sheet.png") diff --git a/docs/CAD/design/mate-connectors/linearedgemateconnectors.png b/docs/CAD/design/mate-connectors/linearedgemateconnectors.png new file mode 100644 index 0000000000..fd5e64190d Binary files /dev/null and b/docs/CAD/design/mate-connectors/linearedgemateconnectors.png differ diff --git a/docs/CAD/design/mate-connectors/make_female.py b/docs/CAD/design/mate-connectors/make_female.py new file mode 100644 index 0000000000..ccb38426bf --- /dev/null +++ b/docs/CAD/design/mate-connectors/make_female.py @@ -0,0 +1,135 @@ +# Build the complementary FEMALE for BearConnector.step. +# +# Method: take the supplied male B-rep as-is, grow it by a uniform clearance, and subtract that +# from a block. Working on the real solid rather than re-modelling the bear is the whole point — +# the pocket is then exactly complementary by construction, including every deliberate asymmetry. +# +# The offset uses join=2 (Intersection), which extends the adjacent planes and meets them at a +# sharp corner. For a faceted part that is the correct join: the arc join would round every convex +# edge and blunt the very cues the design depends on. +# +# THE MALE'S NATIVE FRAME: the flat back is the plane Y=0 and the relief rises to Y=+17.27. +# X and Z carry the face (83.34 x 66.69). The frame is kept exactly as supplied so that male and +# female drop into the same assembly without anyone having to re-orient one of them. +# Insertion is therefore along +Y, and the pocket must OPEN on the Y=0 plane. +# +# A first version of this script assumed the relief ran along +Z, built the block around the wrong +# axis, and produced a sealed cavity with no way in. It passed a "male does not intersect female" +# check, because that only tests the seated position and says nothing about whether the part can +# get there. The straight-pull test below is what catches it. +# +# Run: /snap/bin/freecad.cmd make_female.py + +import os, sys, math +import FreeCAD as App +import Part + +HERE = os.path.dirname(os.path.abspath(__file__)) +MALE = os.path.join(HERE, "bear.step") +OUT_STEP = os.path.join(HERE, "BearConnector_Female.step") + +CLEAR = 0.20 # per-face clearance, mm +WALL = 4.0 # material around the pocket, mm +FLOOR = 3.0 # material behind the deepest point of the pocket, mm + +male = Part.Shape(); male.read(MALE) +if len(male.Solids) != 1: + print(f"FAIL: expected 1 solid in the male, found {len(male.Solids)}"); sys.exit(1) +male = male.Solids[0] +bb = male.BoundBox +print(f"male : {bb.XLength:.2f} (X) x {bb.YLength:.2f} (Y) x {bb.ZLength:.2f} (Z) mm, " + f"{len(male.Faces)} faces, {male.Volume/1000:.2f} cm3") +print(f" relief runs Y {bb.YMin:.2f} .. {bb.YMax:.2f} -> insertion along +Y, mouth at Y={bb.YMin:.2f}") + +# ---- 1. can the male even be withdrawn along the insertion axis? ---------------------- +# Ray-cast a grid along +Y through the tessellated male and count crossings. A straight pull is +# possible only if no ray enters the solid more than once; a second entry is an undercut. +verts, facets = male.tessellate(0.15) +V = [(v.x, v.y, v.z) for v in verts] +worst, undercut_pts = 0, 0 +NX = NZ = 90 +for i in range(NX): + x = bb.XMin + (i + 0.5) * bb.XLength / NX + for j in range(NZ): + z = bb.ZMin + (j + 0.5) * bb.ZLength / NZ + hits = 0 + for (ia, ib, ic) in facets: # ray (x, *, z) along +Y vs triangle + ax, ay, az = V[ia]; bx, by, bz = V[ib]; cx, cy, cz = V[ic] + # 2D point-in-triangle in the XZ plane + d = (bz - cz) * (ax - cx) + (cx - bx) * (az - cz) + if abs(d) < 1e-12: continue + u = ((bz - cz) * (x - cx) + (cx - bx) * (z - cz)) / d + v = ((cz - az) * (x - cx) + (ax - cx) * (z - cz)) / d + if u < 0 or v < 0 or u + v > 1: continue + hits += 1 + worst = max(worst, hits) + if hits > 2: undercut_pts += 1 +print(f"pull : max crossings along +Y = {worst}, undercut samples = {undercut_pts}/{NX*NZ}") +if undercut_pts: + print("FAIL: the male has an undercut along +Y; a straight pocket cannot release it") + sys.exit(1) +print(" no undercut -> a straight-pull pocket works") + +# ---- 2. grow the male by the clearance ----------------------------------------------- +grown = None +for join, name in ((2, "Intersection"), (1, "Tangent"), (0, "Arc")): + try: + g = male.makeOffsetShape(CLEAR, 1e-6, False, False, 0, join, False) + if g.isValid() and g.Solids: + grown = g.Solids[0]; print(f"offset: join={name}, {grown.Volume/1000:.2f} cm3"); break + except Exception as e: + print(f"offset: join={name} failed -- {e}") +if grown is None: + print("FAIL: could not offset the male; refusing to emit a zero-clearance pocket"); sys.exit(1) + +# ---- 3. the block: walls in X and Z, depth in +Y, OPEN at the Y=0 mouth --------------- +gb = grown.BoundBox +y_mouth = bb.YMin # the male's flat back plane +depth = gb.YMax - y_mouth +block = Part.makeBox(gb.XLength + 2*WALL, depth + FLOOR, gb.ZLength + 2*WALL, + App.Vector(gb.XMin - WALL, y_mouth, gb.ZMin - WALL)) +print(f"block : {gb.XLength + 2*WALL:.2f} x {depth + FLOOR:.2f} x {gb.ZLength + 2*WALL:.2f} mm, " + f"mouth on the Y={y_mouth:.2f} plane") + +female = block.cut(grown) + +# ---- 4. verify -------------------------------------------------------------------------- +ok = True +if not female.isValid(): print("FAIL: invalid shape"); ok = False +if len(female.Solids) != 1: print(f"FAIL: {len(female.Solids)} solids"); ok = False + +clash = male.common(female) +cv = clash.Volume if clash.Solids else 0.0 +print(f"check : male ∩ female = {cv:.6f} mm3 (seated fit, must be ~0)") +if cv > 1e-3: print("FAIL: male collides with female"); ok = False + +# the mouth must actually be open: the pocket has to reach the Y=y_mouth face of the block +mouth_face_area = 0.0 +for f in female.Faces: + c = f.CenterOfMass + if abs(c.y - y_mouth) < 1e-6: + mouth_face_area += f.Area +solid_mouth = (gb.XLength + 2*WALL) * (gb.ZLength + 2*WALL) +open_area = solid_mouth - mouth_face_area +print(f"check : mouth plane -- material {mouth_face_area:.1f} mm2, opening {open_area:.1f} mm2 " + f"({100*open_area/solid_mouth:.1f}% of the face)") +if open_area < 100: + print("FAIL: the pocket is sealed -- the male cannot be inserted"); ok = False + +cavity = block.Volume - female.Volume +print(f"check : cavity {cavity/1000:.2f} cm3 vs male {male.Volume/1000:.2f} cm3 " + f"-> clearance shell {(cavity-male.Volume)/1000:.2f} cm3") +if cavity < male.Volume: print("FAIL: cavity smaller than the male"); ok = False + +if not ok: + print("\nREFUSING to write the STEP"); sys.exit(1) + +doc = App.newDocument("Female") +obj = doc.addObject("Part::Feature", "BearConnector_Female") +obj.Shape = female +doc.recompute() +Part.export([obj], OUT_STEP) +fb = female.BoundBox +print(f"\nwrote {OUT_STEP}") +print(f"female: {fb.XLength:.2f} x {fb.YLength:.2f} x {fb.ZLength:.2f} mm, " + f"{len(female.Faces)} faces, {female.Volume/1000:.2f} cm3") diff --git a/docs/CAD/design/mate-connectors/mate-connector-virtual-sharp.png b/docs/CAD/design/mate-connectors/mate-connector-virtual-sharp.png new file mode 100644 index 0000000000..f9a80c1e10 Binary files /dev/null and b/docs/CAD/design/mate-connectors/mate-connector-virtual-sharp.png differ diff --git a/docs/CAD/design/mate-connectors/mateconnector-planarcentroid.png b/docs/CAD/design/mate-connectors/mateconnector-planarcentroid.png new file mode 100644 index 0000000000..16ca1c01e6 Binary files /dev/null and b/docs/CAD/design/mate-connectors/mateconnector-planarcentroid.png differ diff --git a/docs/CAD/design/mate-connectors/mateconnector-planarpoints.png b/docs/CAD/design/mate-connectors/mateconnector-planarpoints.png new file mode 100644 index 0000000000..d952ddc1f0 Binary files /dev/null and b/docs/CAD/design/mate-connectors/mateconnector-planarpoints.png differ diff --git a/docs/CAD/design/mate-connectors/matepointiconLG.png b/docs/CAD/design/mate-connectors/matepointiconLG.png new file mode 100644 index 0000000000..2f3022d116 Binary files /dev/null and b/docs/CAD/design/mate-connectors/matepointiconLG.png differ diff --git a/docs/CAD/design/mate-connectors/matepointreorientsecondaryaxis.png b/docs/CAD/design/mate-connectors/matepointreorientsecondaryaxis.png new file mode 100644 index 0000000000..bd65a9f40e Binary files /dev/null and b/docs/CAD/design/mate-connectors/matepointreorientsecondaryaxis.png differ diff --git a/docs/CAD/design/mate-connectors/muzzle_variants.py b/docs/CAD/design/mate-connectors/muzzle_variants.py new file mode 100644 index 0000000000..f4c9ab33b5 --- /dev/null +++ b/docs/CAD/design/mate-connectors/muzzle_variants.py @@ -0,0 +1,71 @@ +"""The muzzle has to READ, not just be present — wi3z. + +Faithfully scaled, the part's ridge is 11.3 mm on an 83 mm face: 13.6 % of the width. At glyph +size that is a scratch. A glyph is a symbol, not a scale model, so the question is how much +emphasis it takes before the only +Z feature actually reads. Variants, all with the same crest +geometry, differing only in width and colour. +""" +import math, os, importlib.util +from PIL import Image, ImageDraw +spec=importlib.util.spec_from_file_location("gp","glyph_preview.py") +gp=importlib.util.module_from_spec(spec); spec.loader.exec_module(gp) + +OUT, CHIN, MARKS, CREST, SBASE, PLATE = gp.OUT, gp.CHIN, gp.MARKS, gp.CREST, gp.SBASE, gp.PLATE +BODY=(0.42,0.46,0.52); MARK=(0.126,0.138,0.156); GOLD=(0.93,0.66,0.09) + +def facets(widen=1.0, muzzle_gold=False): + F=[]; n=len(OUT) + for i in range(n): + a,b=OUT[i],OUT[(i+1)%n] + F.append(([(a[0],a[1],0.0),(b[0],b[1],0.0),(b[0],b[1],PLATE),(a[0],a[1],PLATE)],BODY,True)) + F.append(([(x,y,PLATE) for x,y in OUT],BODY,True)) + zm=PLATE+0.004 + for cx,cy,r in MARKS: + F.append(([(cx+r*math.cos(2*math.pi*i/12),cy+r*math.sin(2*math.pi*i/12),zm) for i in range(12)],MARK,False)) + F.append(([(x,y,zm) for x,y in CHIN],MARK,False)) + A,B=CREST + w=lambda p:(p[0]*widen,p[1],PLATE) + nl,nr,tr,tl=(w(SBASE[0]),w(SBASE[1]),w(SBASE[2]),w(SBASE[3])) + col = GOLD if muzzle_gold else BODY + F+=[([nl,tl,B,A],col,True),([nr,A,B,tr],col,True), + ([nl,A,nr],col,True), ([tr,B,tl],col,True)] + return F + +def render(F, px, elev, ss=8): + S=px*ss; a=math.radians(elev); ca,sa=math.cos(a),math.sin(a) + xf=lambda p:(p[0],p[1]*sa+p[2]*ca,-p[1]*ca+p[2]*sa) + light=(-0.70,0.30,0.45) + img=Image.new("RGB",(S,S),(24,27,32)); d=ImageDraw.Draw(img) + tris=sorted(((sum(v[2] for v in [xf(q) for q in pts])/len(pts),[xf(q) for q in pts],c,sh) + for pts,c,sh in F), key=lambda t:t[0]) + for _,q,base,shade in tris: + (x0,y0,z0),(x1,y1,z1),(x2,y2,z2)=q[0],q[1],q[2] + ux,uy,uz=x1-x0,y1-y0,z1-z0; vx,vy,vz=x2-x0,y2-y0,z2-z0 + nx,ny,nz=uy*vz-uz*vy,uz*vx-ux*vz,ux*vy-uy*vx + L=math.sqrt(nx*nx+ny*ny+nz*nz) or 1.0; nx,ny,nz=nx/L,ny/L,nz/L + if nz<0: nx,ny,nz=-nx,-ny,-nz + k=(0.42+0.58*max(0.0,nx*light[0]+ny*light[1]+nz*light[2])) if shade else 1.0 + d.polygon([(S/2+p[0]*S*0.92,S/2-p[1]*S*0.92) for p in q], + fill=tuple(min(255,int(255*c*k)) for c in base)) + return img.resize((px,px),Image.LANCZOS) + +VAR=[("V1 faithful", 1.0, False), + ("V2 gold muzzle", 1.0, True), + ("V3 gold + 1.8x wide",1.8, True), + ("V4 body + 1.8x wide",1.8, False)] +big=Image.new("RGB",(4*250+30,4*140+30),(24,27,32)) +for r,(name,wd,gold) in enumerate(VAR): + F=facets(wd,gold) + for c,e in enumerate((90,47,16,6)): + big.paste(render(F,120,e),(15+c*250+60,15+r*140+10)) +big.save("/tmp/muzzle-variants.png") +for name,wd,gold in VAR: + F=facets(wd,gold); F0=[f for f in F][:-4] + row=[] + for e in (90,16,6): + a=render(F,32,e); b=render(F0,32,e) + la=sum(1 for p in a.get_flattened_data() if p!=(24,27,32)) + df=sum(1 for p,q in zip(a.get_flattened_data(),b.get_flattened_data()) if p!=q) + row.append(f"{100.0*df/max(1,la):5.1f}%") + print(f"{name:22} muzzle share at 90/16/6 deg: " + " ".join(row)) +print("WROTE /tmp/muzzle-variants.png") diff --git a/docs/CAD/design/mate-connectors/planarfacemateconnectors.png b/docs/CAD/design/mate-connectors/planarfacemateconnectors.png new file mode 100644 index 0000000000..9fea27ab2b Binary files /dev/null and b/docs/CAD/design/mate-connectors/planarfacemateconnectors.png differ diff --git a/docs/CAD/design/mate-connectors/relief-sheet.png b/docs/CAD/design/mate-connectors/relief-sheet.png new file mode 100644 index 0000000000..0c6d0d11f0 Binary files /dev/null and b/docs/CAD/design/mate-connectors/relief-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/relief_sheet.py b/docs/CAD/design/mate-connectors/relief_sheet.py new file mode 100644 index 0000000000..4b8bc6aa74 --- /dev/null +++ b/docs/CAD/design/mate-connectors/relief_sheet.py @@ -0,0 +1,99 @@ +"""Flat glyph vs 3D relief, at the elevations that killed the disc — wi3z. + +The flat study collapsed at 16 deg because anything drawn IN the connector's plane foreshortens by +sin(elevation). This renders the SAME bear as its real relief (1508 facets off the supplied male) +with a simple lambert shade, so the silhouette does the work at a grazing angle. Two rows, same +sizes, same elevations, so the comparison is direct. +""" +import json, math, os +from PIL import Image, ImageDraw + +HERE = os.path.dirname(os.path.abspath(__file__)) +M = json.load(open(os.path.join(HERE, "bear_mesh.json"))) +V, F = M["v"], M["f"] + +# Part frame: face carried by X (right) and Z (down-negative), relief along +Y. +P = [(v[0], -v[2], v[1]) for v in V] # -> (x right, y up, z out of the face) +xs=[p[0] for p in P]; ys=[p[1] for p in P]; zs=[p[2] for p in P] +CX,CY,CZ = (min(xs)+max(xs))/2, (min(ys)+max(ys))/2, (min(zs)+max(zs))/2 +SPAN = max(max(xs)-min(xs), max(ys)-min(ys)) +P = [((x-CX)/SPAN, (y-CY)/SPAN, (z-CZ)/SPAN) for x,y,z in P] + +def shade(px, elev_deg, supersample=8): + """Camera orbits down from straight-on (90) to grazing (small). Rotate about the screen x-axis.""" + S = px*supersample + a = math.radians(elev_deg) + ca, sa = math.cos(a), math.sin(a) + # view: rotate the model so the face normal tips away from the camera + def xf(p): + x,y,z = p + return (x, y*sa + z*ca, -y*ca + z*sa) # third component = depth toward camera + Q = [xf(p) for p in P] + img = Image.new("L", (S,S), 0) + d = ImageDraw.Draw(img) + order = [] + for tri in F: + a3 = [Q[i] for i in tri] + order.append((sum(v[2] for v in a3)/3.0, tri, a3)) + order.sort(key=lambda t: t[0]) # painter: far first + light = (-0.35, 0.55, 0.76) + for _, tri, a3 in order: + (x0,y0,z0),(x1,y1,z1),(x2,y2,z2) = a3 + ux,uy,uz = x1-x0, y1-y0, z1-z0 + vx,vy,vz = x2-x0, y2-y0, z2-z0 + nx,ny,nz = uy*vz-uz*vy, uz*vx-ux*vz, ux*vy-uy*vx + n = math.sqrt(nx*nx+ny*ny+nz*nz) or 1.0 + nx,ny,nz = nx/n, ny/n, nz/n + if nz < 0: nx,ny,nz = -nx,-ny,-nz # face the camera + lam = max(0.0, nx*light[0] + ny*light[1] + nz*light[2]) + val = int(70 + 185*lam) + pts = [(S/2 + x*S*0.92, S/2 - y*S*0.92) for x,y,_ in a3] + d.polygon(pts, fill=val) + return img.resize((px,px), Image.LANCZOS) + +# flat outline, for the side-by-side +D = json.load(open(os.path.join(HERE, "bear_outline.json"))) +def unit(pts): + p=[(x,-z) for x,z in pts] + return [((x-CX)/SPAN,(y-CY)/SPAN) for x,y in p] +OUT = unit(D["outer"]) +HOLES = [unit(h["pts"]) for h in D["holes"]] + +def flat(px, elev_deg, supersample=8): + S=px*supersample + img=Image.new("L",(S,S),0); d=ImageDraw.Draw(img) + k=math.sin(math.radians(elev_deg)) + m=lambda p:(S/2+p[0]*S*0.92, S/2-p[1]*S*0.92*k) + d.polygon([m(p) for p in OUT], fill=255) + for h in HOLES: d.polygon([m(p) for p in h], fill=0) + return img.resize((px,px), Image.LANCZOS) + +SIZES=[22,32,48]; ELEVS=[(90,"flat on"),(47,"47"),(16,"16"),(6,"6")] +pad,cell=8,58 +W=pad+len(SIZES)*len(ELEVS)*cell+pad; H=pad+2*cell+pad +sheet=Image.new("RGB",(W,H),(24,27,32)) +for r,fn in enumerate((flat, shade)): + for ci,(elev,_) in enumerate(ELEVS): + for si,px in enumerate(SIZES): + g=fn(px,elev) + tile=Image.new("RGB",(px,px),(24,27,32)) + if fn is flat: + tile.paste(Image.new("RGB",(px,px),(237,168,23)),(0,0),g) + else: + gg=g.convert("L") + tile=Image.merge("RGB",(gg.point(lambda v:min(255,int(v*1.00))), + gg.point(lambda v:int(v*0.71)), + gg.point(lambda v:int(v*0.16)))) + x=pad+(ci*len(SIZES)+si)*cell+(cell-px)//2 + y=pad+r*cell+(cell-px)//2 + sheet.paste(tile,(x,y)) +sheet.resize((W*2,H*2), Image.NEAREST).save(os.path.join(HERE,"relief-sheet.png")) + +# how much ink survives — the same measure used on the disc glyph +print(f"{'elev':>6} {'flat px@32':>11} {'relief px@32':>13}") +for elev,_ in ELEVS: + f32=flat(32,elev); s32=shade(32,elev) + fi=sum(1 for v in f32.getdata() if v>40) + si=sum(1 for v in s32.getdata() if v>40) + print(f"{elev:>6} {fi:>11} {si:>13}") +print("WROTE relief-sheet.png") diff --git a/docs/CAD/design/mate-connectors/relief_test.py b/docs/CAD/design/mate-connectors/relief_test.py new file mode 100644 index 0000000000..3fb83b2a8e --- /dev/null +++ b/docs/CAD/design/mate-connectors/relief_test.py @@ -0,0 +1,9 @@ +# Export the real male's relief as a triangle mesh, so the grazing test uses the actual geometry. +import os, json +import Part +HERE = os.path.dirname(os.path.abspath(__file__)) +s = Part.Shape(); s.read(os.path.join(HERE, "bear.step")) +verts, facets = s.Solids[0].tessellate(0.25) +V = [[round(p.x,4), round(p.y,4), round(p.z,4)] for p in verts] +json.dump({"v": V, "f": facets}, open(os.path.join(HERE, "bear_mesh.json"), "w")) +print(f"verts {len(V)} facets {len(facets)}") diff --git a/docs/CAD/design/mate-connectors/render_key.py b/docs/CAD/design/mate-connectors/render_key.py new file mode 100644 index 0000000000..eb4bcdbd99 --- /dev/null +++ b/docs/CAD/design/mate-connectors/render_key.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +"""Flat-shade the faceted ridge key from several camera directions. + +The point is not a pretty picture. It is one question: does a low-poly solid, flat-shaded, +let a human read its orientation from an arbitrary viewpoint -- and specifically, is the +view ALONG the ridge ambiguous between front and back, as the geometry suggests it must be +in silhouette? + +Flat shading (one normal per facet, no smoothing) is deliberate: it is what the concept +claims to rely on, and it is what a CAD viewport with hard normals actually produces. +""" +import numpy as np +from PIL import Image, ImageDraw + +# ---- the key, same numbers as faceted_ridge_key.scad +L, W, tf, H, pr, pf, hf = 12.0, 4.0, 0.45, 4.5, 0.22, 0.62, 0.35 +Wf, xr0, xr1, Hf = W * tf, -L / 2 + L * pr, -L / 2 + L * pf, H * hf + +V = np.array([(-L/2, -W, 0), (-L/2, W, 0), (L/2, Wf, 0), (L/2, -Wf, 0), + (xr0, 0, H), (xr1, 0, Hf)], dtype=float) +F = [[0, 1, 2, 3], [0, 4, 1], [0, 3, 5], [0, 5, 4], [1, 4, 5], [1, 5, 2], [3, 2, 5]] + +LIGHT = np.array([0.35, -0.5, 0.78]) # a headlight-ish key light +LIGHT /= np.linalg.norm(LIGHT) + + +def look_at(eye, target, up=(0, 0, 1)): + f = np.array(target, float) - np.array(eye, float) + f /= np.linalg.norm(f) + up = np.array(up, float) + if abs(np.dot(f, up)) > 0.999: + up = np.array([0, 1, 0], float) + r = np.cross(f, up); r /= np.linalg.norm(r) + u = np.cross(r, f) + return r, u, f + + +def render(eye, target, path, size=(620, 460), scale=26.0, label=""): + r, u, f = look_at(eye, target) + eye = np.array(eye, float) + cam = np.stack([r, u, f]) # world -> camera rows + P = (V - eye) @ cam.T # orthographic: x,y screen, z depth + + w, h = size + img = Image.new("RGB", size, (238, 240, 243)) + d = ImageDraw.Draw(img) + + def to_px(p): + return (w / 2 + p[0] * scale, h / 2 - p[1] * scale) + + faces = [] + for face in F: + pts = V[face] + n = np.cross(pts[1] - pts[0], pts[2] - pts[0]) + n /= np.linalg.norm(n) + centre = pts.mean(axis=0) + if np.dot(n, centre - eye) > 0: # back-face cull + continue + depth = P[face][:, 2].mean() + lam = max(0.0, float(np.dot(n, LIGHT))) + shade = 0.22 + 0.78 * lam # flat: ONE value for the whole facet + col = tuple(int(255 * shade * c) for c in (0.86, 0.72, 0.35)) + faces.append((depth, [to_px(P[i]) for i in face], col)) + + for _, poly, col in sorted(faces, key=lambda t: -t[0]): # painter's algorithm + d.polygon(poly, fill=col) + + if label: + d.rectangle([8, 8, 8 + 9 * len(label), 30], fill=(255, 255, 255)) + d.text((14, 14), label, fill=(20, 20, 20)) + img.save(path) + return path + + +if __name__ == "__main__": + t = (0, 0, H * 0.35) + views = [ + ((26, -22, 20), "iso: the reference view"), + ((30, 0, 6), "ALONG +X (from the FRONT, low end)"), + ((-30, 0, 6), "ALONG -X (from the BACK, tall end)"), + ((0, 0, 34), "ALONG +Z (straight down the mating axis)"), + ((2, -32, 5), "ALONG -Y (broadside, grazing)"), + ] + for i, (eye, lab) in enumerate(views): + print(render(eye, t, f"rk-{i}.png", label=lab)) diff --git a/docs/CAD/design/mate-connectors/render_stl.py b/docs/CAD/design/mate-connectors/render_stl.py new file mode 100644 index 0000000000..16ad0e92a9 --- /dev/null +++ b/docs/CAD/design/mate-connectors/render_stl.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +"""Flat-shade an ASCII/binary STL from several directions. + +Used to answer one question with a picture instead of an argument: does a RECESSED faceted +pocket read as an oriented feature, or does a concave feature collapse into a dark hole? +""" +import struct +import sys +import numpy as np +from PIL import Image, ImageDraw + +LIGHT = np.array([0.35, -0.5, 0.78]); LIGHT /= np.linalg.norm(LIGHT) + + +def load_stl(path): + data = open(path, "rb").read() + if data[:5] == b"solid" and b"facet" in data[:2000]: + tris, cur = [], [] + for line in data.decode("ascii", "ignore").splitlines(): + s = line.split() + if s and s[0] == "vertex": + cur.append([float(x) for x in s[1:4]]) + if len(cur) == 3: + tris.append(cur); cur = [] + return np.array(tris, dtype=float) + n = struct.unpack(" 0.999: up = np.array([0, 1.0, 0]) + r = np.cross(f, up); r /= np.linalg.norm(r) + u = np.cross(r, f) + cam = np.stack([r, u, f]) + + w, h = size + img = Image.new("RGB", size, (238, 240, 243)); d = ImageDraw.Draw(img) + faces = [] + for t in tris: + n = np.cross(t[1] - t[0], t[2] - t[0]) + ln = np.linalg.norm(n) + if ln < 1e-12: continue + n /= ln + c = t.mean(axis=0) + if np.dot(n, c - eye) > 0: continue # cull back faces + P = (t - eye) @ cam.T + lam = max(0.0, float(np.dot(n, LIGHT))) + shade = 0.20 + 0.80 * lam + col = tuple(int(255 * shade * ch) for ch in (0.86, 0.72, 0.35)) + poly = [(w / 2 + p[0] * scale, h / 2 - p[1] * scale) for p in P] + faces.append((P[:, 2].mean(), poly, col)) + for _, poly, col in sorted(faces, key=lambda x: -x[0]): + d.polygon(poly, fill=col) + if label: + d.rectangle([8, 8, 8 + 9 * len(label), 30], fill=(255, 255, 255)) + d.text((14, 14), label, fill=(20, 20, 20)) + img.save(path) + + +if __name__ == "__main__": + tris = load_stl(sys.argv[1]) + print("triangles:", len(tris)) + views = [((26, -22, 20), "iso"), ((0, 0, 34), "straight down +Z"), + ((4, -30, 9), "grazing"), ((-28, -10, 12), "from the tall end")] + for i, (eye, lab) in enumerate(views): + render(tris, eye, (0, 0, 0), f"fem-{i}.png", label=f"FEMALE POCKET — {lab}") + print(f"fem-{i}.png") diff --git a/docs/CAD/design/mate-connectors/rk-0.png b/docs/CAD/design/mate-connectors/rk-0.png new file mode 100644 index 0000000000..1d7208238a Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-0.png differ diff --git a/docs/CAD/design/mate-connectors/rk-1.png b/docs/CAD/design/mate-connectors/rk-1.png new file mode 100644 index 0000000000..282bd0a2fe Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-1.png differ diff --git a/docs/CAD/design/mate-connectors/rk-2.png b/docs/CAD/design/mate-connectors/rk-2.png new file mode 100644 index 0000000000..75d83e1402 Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-2.png differ diff --git a/docs/CAD/design/mate-connectors/rk-3.png b/docs/CAD/design/mate-connectors/rk-3.png new file mode 100644 index 0000000000..eccdf94807 Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-3.png differ diff --git a/docs/CAD/design/mate-connectors/rk-4.png b/docs/CAD/design/mate-connectors/rk-4.png new file mode 100644 index 0000000000..794fd4bd97 Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-4.png differ diff --git a/docs/CAD/design/mate-connectors/rk-back.png b/docs/CAD/design/mate-connectors/rk-back.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/CAD/design/mate-connectors/rk-front.png b/docs/CAD/design/mate-connectors/rk-front.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/CAD/design/mate-connectors/rk-iso.png b/docs/CAD/design/mate-connectors/rk-iso.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/CAD/design/mate-connectors/rk-sheet.png b/docs/CAD/design/mate-connectors/rk-sheet.png new file mode 100644 index 0000000000..e785a02839 Binary files /dev/null and b/docs/CAD/design/mate-connectors/rk-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/simplify-sheet.png b/docs/CAD/design/mate-connectors/simplify-sheet.png new file mode 100644 index 0000000000..9c05180c59 Binary files /dev/null and b/docs/CAD/design/mate-connectors/simplify-sheet.png differ diff --git a/docs/CAD/design/mate-connectors/simplify_study.py b/docs/CAD/design/mate-connectors/simplify_study.py new file mode 100644 index 0000000000..c0bbcf63ab --- /dev/null +++ b/docs/CAD/design/mate-connectors/simplify_study.py @@ -0,0 +1,142 @@ +"""Reduce the bear face to the fewest marks that still read at glyph size — wi3z. + +Geometry comes from bear_outline.json, which extract_outline.py pulled off the supplied male +B-rep's back plate: the outer wire IS the silhouette, the inner wires are the two eyes and the +muzzle opening. Nothing here is traced by eye. + +The glyph is drawn IN the connector's plane, so a grazing view foreshortens it along one axis by +sin(elevation) — exactly what collapsed the disc's roll quadrant to 3 pixels at 10 deg. Every +candidate is therefore rendered at three elevations as well as three pixel sizes. +""" +import json, math, os +from PIL import Image, ImageDraw + +HERE = os.path.dirname(os.path.abspath(__file__)) +D = json.load(open(os.path.join(HERE, "bear_outline.json"))) + +def norm(pts): + """Part frame (X right, Z down-negative) -> glyph frame (x right, y up), centred, unit height.""" + p = [(x, -z) for x, z in pts] + return p + +outer = norm(D["outer"]) +holes = [norm(h["pts"]) for h in D["holes"]] +# the two Ø9.8 wires are the eyes; the wide one is the muzzle +eyes = [h for h, meta in zip(holes, D["holes"]) if meta["d"] < 20] +muzzle = [h for h, meta in zip(holes, D["holes"]) if meta["d"] >= 20] + +ALL = outer + [p for h in holes for p in h] +xs = [p[0] for p in ALL]; ys = [p[1] for p in ALL] +CX, CY = (min(xs)+max(xs))/2, (min(ys)+max(ys))/2 +SPAN = max(max(xs)-min(xs), max(ys)-min(ys)) +def to_unit(pts): return [((x-CX)/SPAN, (y-CY)/SPAN) for x, y in pts] + +def rdp(pts, eps): + """Douglas-Peucker. Vertex count is the honest measure of 'how simplified'.""" + if len(pts) < 3: return pts + ax, ay = pts[0]; bx, by = pts[-1] + dx, dy = bx-ax, by-ay + n = math.hypot(dx, dy) + best, bi = -1.0, 0 + for i in range(1, len(pts)-1): + px, py = pts[i] + d = abs(dx*(ay-py) - (ax-px)*dy)/n if n > 1e-12 else math.hypot(px-ax, py-ay) + if d > best: best, bi = d, i + if best <= eps: + return [pts[0], pts[-1]] + return rdp(pts[:bi+1], eps)[:-1] + rdp(pts[bi:], eps) + +def simp_closed(pts, eps): + r = rdp(pts + [pts[0]], eps) + return r[:-1] + +def centroid(pts): + return (sum(p[0] for p in pts)/len(pts), sum(p[1] for p in pts)/len(pts)) + +U_OUT = to_unit(outer) +U_EYE = [to_unit(e) for e in eyes] +U_MUZ = [to_unit(m) for m in muzzle] + +def eye_dots(scale=1.0): + out = [] + for e in U_EYE: + cx, cy = centroid(e) + r = max(max(p[0] for p in e)-min(p[0] for p in e), + max(p[1] for p in e)-min(p[1] for p in e))/2*scale + out.append((cx, cy, r)) + return out + +def muzzle_tri(): + """The muzzle reduced to one filled triangle: its two lower corners and its apex.""" + m = U_MUZ[0] + lo = min(p[1] for p in m); hi = max(p[1] for p in m) + bottom = [p for p in m if p[1] < lo + 0.06*(hi-lo)] + apex = max(m, key=lambda p: p[1]) + return [min(bottom), max(bottom), apex] + +CANDIDATES = { + "C0 full": dict(out=U_OUT, eyes=eye_dots(), muz=U_MUZ[0]), + "C1 eps .004": dict(out=simp_closed(U_OUT, .004), eyes=eye_dots(), muz=simp_closed(U_MUZ[0], .004)), + "C2 eps .012": dict(out=simp_closed(U_OUT, .012), eyes=eye_dots(), muz=muzzle_tri()), + "C3 eps .030": dict(out=simp_closed(U_OUT, .030), eyes=eye_dots(1.15), muz=muzzle_tri()), + "C4 no eyes": dict(out=simp_closed(U_OUT, .012), eyes=[], muz=muzzle_tri()), +} + +def sym_report(pts, tol=0.02): + """Trivial symmetry group is the property doing the work. If a simplification restores a + mirror or a 180 deg rotation, that simplification is wrong.""" + def match(tf): + t = [tf(p) for p in pts] + hit = 0 + for q in t: + if min(math.hypot(q[0]-p[0], q[1]-p[1]) for p in pts) <= tol: hit += 1 + return hit, len(pts) + return { + "mirror-x": match(lambda p: (-p[0], p[1])), + "mirror-y": match(lambda p: ( p[0], -p[1])), + "rot-180": match(lambda p: (-p[0], -p[1])), + } + +def render(c, px, elev_deg, supersample=8): + S = px*supersample + img = Image.new("L", (S, S), 0) + d = ImageDraw.Draw(img) + k = math.sin(math.radians(elev_deg)) + def m(p): + return (S/2 + p[0]*S*0.92, S/2 - p[1]*S*0.92*k) + d.polygon([m(p) for p in c["out"]], fill=255) + if c["muz"]: d.polygon([m(p) for p in c["muz"]], fill=0) + for cx, cy, r in c["eyes"]: + a = m((cx-r, cy+r)); b = m((cx+r, cy-r)) + d.ellipse([a[0], a[1], b[0], b[1]], fill=0) + return img.resize((px, px), Image.LANCZOS) + +print(f"{'candidate':14} {'verts':>6} {'marks':>6} symmetry (matched/total, lower is better)") +print("-"*78) +for name, c in CANDIDATES.items(): + s = sym_report(c["out"]) + marks = 1 + (1 if c["muz"] else 0) + len(c["eyes"]) + sym = " ".join(f"{k} {v[0]}/{v[1]}" for k, v in s.items()) + print(f"{name:14} {len(c['out']):6} {marks:6} {sym}") + +SIZES = [22, 32, 48] +ELEVS = [(90, "flat on"), (47, "47 deg"), (16, "16 deg"), (6, "6 deg")] +pad, cell = 8, 56 +W = pad + len(SIZES)*len(ELEVS)*cell + pad +H = pad + len(CANDIDATES)*cell + pad +sheet = Image.new("RGB", (W, H), (24, 27, 32)) +for r, (name, c) in enumerate(CANDIDATES.items()): + for ci, (elev, _) in enumerate(ELEVS): + for si, px in enumerate(SIZES): + g = render(c, px, elev) + tile = Image.new("RGB", (px, px), (24, 27, 32)) + gold = Image.new("RGB", (px, px), (237, 168, 23)) + tile.paste(gold, (0, 0), g) + x = pad + (ci*len(SIZES)+si)*cell + (cell-px)//2 + y = pad + r*cell + (cell-px)//2 + sheet.paste(tile, (x, y)) +sheet = sheet.resize((W*2, H*2), Image.NEAREST) +sheet.save(os.path.join(HERE, "simplify-sheet.png")) +print("\ncolumns: " + " | ".join(f"{e[1]} @ 22/32/48px" for e in ELEVS)) +print("rows: " + ", ".join(CANDIDATES)) +print("WROTE simplify-sheet.png") diff --git a/docs/CAD/design/mate-connectors/size-test.png b/docs/CAD/design/mate-connectors/size-test.png new file mode 100644 index 0000000000..941f76ffb8 Binary files /dev/null and b/docs/CAD/design/mate-connectors/size-test.png differ diff --git a/docs/CAD/design/mate-connectors/sz-22-down+Z.png b/docs/CAD/design/mate-connectors/sz-22-down+Z.png new file mode 100644 index 0000000000..85cbf9ba4e Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-22-down+Z.png differ diff --git a/docs/CAD/design/mate-connectors/sz-22-grazing.png b/docs/CAD/design/mate-connectors/sz-22-grazing.png new file mode 100644 index 0000000000..047f2c6e06 Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-22-grazing.png differ diff --git a/docs/CAD/design/mate-connectors/sz-22-iso.png b/docs/CAD/design/mate-connectors/sz-22-iso.png new file mode 100644 index 0000000000..55b8a13eed Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-22-iso.png differ diff --git a/docs/CAD/design/mate-connectors/sz-32-down+Z.png b/docs/CAD/design/mate-connectors/sz-32-down+Z.png new file mode 100644 index 0000000000..683fc3d0aa Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-32-down+Z.png differ diff --git a/docs/CAD/design/mate-connectors/sz-32-grazing.png b/docs/CAD/design/mate-connectors/sz-32-grazing.png new file mode 100644 index 0000000000..92e17ca09a Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-32-grazing.png differ diff --git a/docs/CAD/design/mate-connectors/sz-32-iso.png b/docs/CAD/design/mate-connectors/sz-32-iso.png new file mode 100644 index 0000000000..1fe0ccb091 Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-32-iso.png differ diff --git a/docs/CAD/design/mate-connectors/sz-48-down+Z.png b/docs/CAD/design/mate-connectors/sz-48-down+Z.png new file mode 100644 index 0000000000..ec451714ff Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-48-down+Z.png differ diff --git a/docs/CAD/design/mate-connectors/sz-48-grazing.png b/docs/CAD/design/mate-connectors/sz-48-grazing.png new file mode 100644 index 0000000000..524c8e5343 Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-48-grazing.png differ diff --git a/docs/CAD/design/mate-connectors/sz-48-iso.png b/docs/CAD/design/mate-connectors/sz-48-iso.png new file mode 100644 index 0000000000..e0ed208b64 Binary files /dev/null and b/docs/CAD/design/mate-connectors/sz-48-iso.png differ diff --git a/docs/CAD/design/mate-connectors/t-+0.1-0.png b/docs/CAD/design/mate-connectors/t-+0.1-0.png new file mode 100644 index 0000000000..b0c09ef253 Binary files /dev/null and b/docs/CAD/design/mate-connectors/t-+0.1-0.png differ diff --git a/docs/CAD/design/mate-connectors/t-+0.1-1.png b/docs/CAD/design/mate-connectors/t-+0.1-1.png new file mode 100644 index 0000000000..782cd16c0d Binary files /dev/null and b/docs/CAD/design/mate-connectors/t-+0.1-1.png differ diff --git a/docs/CAD/design/mate-connectors/t-+1.6-0.png b/docs/CAD/design/mate-connectors/t-+1.6-0.png new file mode 100644 index 0000000000..f3b37f6697 Binary files /dev/null and b/docs/CAD/design/mate-connectors/t-+1.6-0.png differ diff --git a/docs/CAD/design/mate-connectors/t-+1.6-1.png b/docs/CAD/design/mate-connectors/t-+1.6-1.png new file mode 100644 index 0000000000..731e092769 Binary files /dev/null and b/docs/CAD/design/mate-connectors/t-+1.6-1.png differ diff --git a/docs/CAD/design/mate-connectors/trim-cmp.png b/docs/CAD/design/mate-connectors/trim-cmp.png new file mode 100644 index 0000000000..8dcc0c973f Binary files /dev/null and b/docs/CAD/design/mate-connectors/trim-cmp.png differ diff --git a/docs/CAD/design/mate-connectors/trim_female.py b/docs/CAD/design/mate-connectors/trim_female.py new file mode 100644 index 0000000000..2753e4a3a8 --- /dev/null +++ b/docs/CAD/design/mate-connectors/trim_female.py @@ -0,0 +1,74 @@ +# Trim the boxy frame off the female so its outer shape is the bear face itself. +# +# Method: take the male's flat back face (the plane Y=0 -- that face IS the bear silhouette), +# offset its OUTER wire outward in 2D, extrude the result along the insertion axis, and keep only +# the part of the female inside it. Everything outside is the block frame and goes away. +# +# NOTE ON THE NUMBER. The pocket's side walls stand at +0.20 mm from the male outline, because that +# is the clearance. A trim boundary at +0.10 mm therefore falls INSIDE them by 0.10 mm and removes +# the side wall entirely rather than leaving a thin one. The script runs the requested value and +# then measures what is actually left, so the outcome is a number rather than an opinion; it also +# emits a second variant at an offset that leaves a printable wall, for comparison. +# +# Run: /snap/bin/freecad.cmd trim_female.py + +import os, sys +import FreeCAD as App +import Part +from FreeCAD import Vector + +HERE = os.path.dirname(os.path.abspath(__file__)) +MALE = os.path.join(HERE, "bear.step") +FEMALE = os.path.join(HERE, "BearConnector_Female.step") + +REQUESTED = 0.10 # as asked +CLEARANCE = 0.20 # what the pocket was built with +SAFE_WALL = 1.60 # a wall that survives an FDM nozzle: clearance + ~1.4 mm + +male = Part.Shape(); male.read(MALE); male = male.Solids[0] +fem = Part.Shape(); fem.read(FEMALE); fem = fem.Solids[0] +print(f"female in : {fem.Volume/1000:.2f} cm3, {len(fem.Faces)} faces") + +# --- the bear silhouette: the male's flat back face at Y = 0 +back = None +for f in male.Faces: + n = f.normalAt(0, 0) + if abs(f.CenterOfMass.y) < 1e-6 and abs(abs(n.y) - 1.0) < 1e-6: + if back is None or f.Area > back.Area: + back = f +if back is None: + print("FAIL: could not find the flat back face at Y=0"); sys.exit(1) +print(f"silhouette: back face area {back.Area:.1f} mm2, {len(back.Wires)} wires " + f"(outer + {len(back.Wires)-1} holes: eyes and mouth)") + +fb = fem.BoundBox +y0, y1 = fb.YMin - 5.0, fb.YMax + 5.0 + +def trimmed(offset): + """keep only the part of the female inside the silhouette grown by `offset`""" + wire = back.OuterWire + grown = wire.makeOffset2D(offset, join=2, fill=False, openResult=False, intersection=True) + face = Part.Face(Part.Wire(grown.Edges)) + prism = face.extrude(Vector(0, y1 - y0, 0)) + prism.translate(Vector(0, y0 - face.CenterOfMass.y, 0)) + return fem.common(prism) + +for tag, off, out in (("requested", REQUESTED, "BearConnector_Female_Trimmed.step"), + ("safe wall", SAFE_WALL, "BearConnector_Female_Trimmed_wall.step")): + r = trimmed(off) + if not r.Solids: + print(f"\n{tag} (+{off:.2f} mm): NOTHING LEFT"); continue + wall = off - CLEARANCE + # is there any material left at the level of the pocket's side wall? + sec = r.section(Part.makePlane(400, 400, Vector(-200, 1.5, -200), Vector(0, 1, 0))) + perim = sum(e.Length for e in sec.Edges) + print(f"\n{tag} (+{off:.2f} mm) wall = {wall:+.2f} mm") + print(f" volume {r.Volume/1000:.2f} cm3, {len(r.Solids)} solid(s), {len(r.Faces)} faces") + print(f" section through the pocket wall at Y=1.5: {perim:.1f} mm of edge") + if wall <= 0: + print(f" -> the trim cuts {abs(wall):.2f} mm INSIDE the pocket wall: no side wall remains") + doc = App.newDocument(tag.replace(" ", "_")) + o = doc.addObject("Part::Feature", "Female") + o.Shape = r; doc.recompute() + Part.export([o], os.path.join(HERE, out)) + print(f" wrote {out}") diff --git a/docs/CAD/design/mate-connectors/verify_trimmed.py b/docs/CAD/design/mate-connectors/verify_trimmed.py new file mode 100644 index 0000000000..81f6f3fea1 --- /dev/null +++ b/docs/CAD/design/mate-connectors/verify_trimmed.py @@ -0,0 +1,25 @@ +# Check both trimmed females still fit the male, and export STLs for a visual comparison. +# Run: /snap/bin/freecad.cmd verify_trimmed.py +import os +import Mesh, Part + +HERE = os.path.dirname(os.path.abspath(__file__)) +male = Part.Shape(); male.read(os.path.join(HERE, "bear.step")); male = male.Solids[0] + +for name in ("BearConnector_Female_Trimmed", "BearConnector_Female_Trimmed_wall"): + p = os.path.join(HERE, name + ".step") + s = Part.Shape(); s.read(p); s = s.Solids[0] + d = male.distToShape(s)[0] + c = male.common(s) + cv = c.Volume if c.Solids else 0.0 + bb = s.BoundBox + print(f"{name}") + print(f" {bb.XLength:.2f} x {bb.YLength:.2f} x {bb.ZLength:.2f} mm, {s.Volume/1000:.2f} cm3, " + f"{len(s.Faces)} faces, valid={s.isValid()}") + print(f" gap to male {d:.4f} mm, interference {cv:.6f} mm3") + m = Mesh.Mesh(); m.addFacets([tuple(t) for t in s.tessellate(0.12)[1]] and + [(s.tessellate(0.12)[0][a], s.tessellate(0.12)[0][b], + s.tessellate(0.12)[0][c2]) + for a, b, c2 in s.tessellate(0.12)[1]]) + m.write(os.path.join(HERE, name + ".stl")) + print(f" wrote {name}.stl ({m.CountFacets} facets)") diff --git a/docs/CAD/design_tab.md b/docs/CAD/design_tab.md new file mode 100644 index 0000000000..1be0a2ea33 --- /dev/null +++ b/docs/CAD/design_tab.md @@ -0,0 +1,333 @@ +# The Design tab + +Object-driven parametric CAD inside the slicer. Point at geometry; the geometry offers the +verbs that apply to it. Selection comes first and the tool consumes it. Draw a sketch, +constrain it, turn it into a solid, refine it, and send it straight to Prepare — without +leaving for another application and coming back through an STL. + +The model is a **recipe**, not a mesh. Every action becomes a feature in a tree that is +replayed from the start whenever anything changes, so editing a dimension you set twenty +steps ago rebuilds everything downstream. The geometry kernel is OCCT, which the slicer +already ships for STEP import. + +--- + +## Getting started + +1. Open the **Design** tab. +2. Click a face or a reference plane in the viewport, then press `Shift+S` (Sketch). The offer + opens with the sketch tools on it. +3. Draw a closed profile, then press **✓ Confirm** in the floating action bar. +4. With the sketch selected, press `Shift+E` (Extrude). +5. Press **Commit to Plate** to hand the solid to Prepare. + +The status line under the toolbar is the thing to watch: it says what the current tool is +waiting for. When no plane is picked it reads *"Click a face or a reference plane in the +viewport, then a sketch tool"*; once one is picked it reads *"Sketching on — pick a +tool"*. It is also where a refusal explains itself. + +--- + +## Selecting + +- One left-click selects what is under the cursor. There is no click-cycling through + face → edge → body. +- A click near a corner takes the corner, not the face behind it. +- Left-drag sweeps a rubber band, and a rubber band takes the whole body. +- An open sketch line can be clicked, even where it bounds a region. +- Double-click a sketch stroke to edit it — the gesture belongs on the geometry. +- Editing a dimension's value **updates** that dimension instead of adding a second one next + to it. +- The floating chrome that belongs to a sketch leaves with the sketch when it ends. +- Sketching happens on the face you clicked, first click. +- A sketch whose entities form no wire **fails** instead of extruding a default box. A + subtraction that removes nothing is reported as an error instead of a silent success. + +--- + +## The offer + +Right-click on the geometry, released without moving the mouse (an 8 px budget — a +right-drag that orbits the camera does not open it). Left-click still only selects, so +pointing at things stays quiet. + +The offer also opens by itself the moment you press Sketch on a face or plane, showing the +sketch tools — the app hands you the tools directly. + +**Eight families, always in this fixed order:** Create, Add material, Remove, Dress-up, +Repeat, Transform, Reference, Modify. + +- A family with at least one applicable verb shows it. Several applicable verbs collapse + into a submenu under the family name. +- A family with nothing applicable is **shown greyed in place, with the reason** — e.g. + *"Create — Click a face or a reference plane in the viewport, then a sketch tool"*. It is + not hidden. A control that cannot be used still says what it is and what you would have to + do first. +- Inside a sketch the offer shows the sketch verbs; outside it shows the feature verbs. + +**Document-level actions never enter the offer**, because they act on the document and not +on a selection: Import STEP, Import mesh, Text, SVG, Export STEP, Commit to Plate, Undo, +Redo, Variables, Section view, Origin planes, World axes. They live in the toolbar. + +--- + +## Keyboard + +Single letters drive sketch tools **while a sketch is open**; Shift+letter drives feature +tools and single letters drive view toggles **when no sketch is open**. The two maps are +selected by the mode, not by whether a sketch session is running. + +### Sketch (while a sketch is open) + +| Key | Tool | +|---|---| +| `L` | Line — click start, then end | +| `R` | Rectangle — click two opposite corners | +| `C` | Circle — click centre, then radius | +| `A` | Arc — click start, end, then a point | +| `S` | Slot — two centreline ends, then width | +| `E` | Ellipse — centre, major end, minor point | +| `B` | Spline — click control points | +| `P` | Point — click to place | +| `G` | Polygon — click centre, then a vertex | +| `D` | Dimension — click 2 points or an entity | +| `T` | Trim — click a segment to trim it | +| `X` | Extend — click a line/arc to extend it | +| `O` | Offset — pick an entity, drag the distance | +| `M` | Mirror — pick axis, then entities | +| `F` | Fillet — pick two lines, set the radius | +| `H` | Chamfer — pick two lines, set the distance | +| `K` | Constrain — finish the live sketch and enter constrain | +| `Q` | Construction toggle — draw the next entity as construction geometry | +| `Del` | Delete the selected sketch entity | +| `Esc` | Cancel the live tool | + +### Feature (when no sketch is open) + +| Key | Tool | +|---|---| +| `Shift+S` | Sketch | +| `Shift+E` | Extrude — extrude a profile, or push/pull a picked face | +| `Shift+R` | Revolve | +| `Shift+W` | Sweep | +| `Shift+L` | Loft | +| `Shift+N` | Pattern | +| `Shift+G` | Surface Extrude | +| `Shift+J` | Surface Revolve | +| `Shift+O` | Surface Loft | +| `Shift+Q` | Surface Fill | +| `Shift+U` | Surface Offset | +| `Shift+V` | Thicken Surface | +| `Shift+P` | Plane | +| `Shift+A` | Axis | +| `Shift+C` | Coord Sys | +| `Shift+Y` | Transform | +| `Shift+Z` | Mirror | +| `Shift+B` | Boolean | +| `Shift+X` | Cut | +| `Shift+F` | Fillet / Chamfer | +| `Shift+D` | Draft | +| `Shift+K` | Shell | +| `Shift+H` | Hole | +| `Shift+T` | Thread | +| `Shift+I` | Import STEP | +| `Shift+M` | Import mesh | + +### View toggles (single letters, when no sketch is open) + +| Key | Action | +|---|---| +| `Home` | Axonometric view, fitted to the model | +| `P` | Origin planes on/off | +| `A` | World axes on/off | +| `X` | Section view on/off | + +While the section is on: `PageUp` / `PageDown` move the cut plane, `F` flips which half is +kept. With no section on, `F` is Place on Face — lay the picked face flat on the bed. + +--- + +## Sketching + +A sketch is a closed (or open) 2D profile on a plane or on a flat face of an existing body. +Press `Shift+S`, click the face or plane you want to sketch on, and draw. The toolbar and +the offer both carry the sketch tools. + +**Entities:** line, polyline, rectangle (corner / centre / oblique / rounded), circle +(centre-radius / 2-point / 3-point), arc (centre-point / 3-point / tangent), ellipse and +elliptical arc, polygon (inscribed / circumscribed), slot (straight / arc), spline, point, +and text. + +**Editing:** move, rotate, scale, trim, extend, offset, mirror, and linear or polar arrays. + +**Constraints:** coincident, horizontal, vertical, parallel, perpendicular, tangent, equal, +concentric, midpoint, symmetric, fix, plus dimensional radius, diameter, distance and angle. +The solver reports the remaining degrees of freedom and tells you when a sketch is fully +constrained — or when a constraint conflicts with one already there. + +Sketches stay editable. Selecting one in the feature tree reopens it with its dimensions +live. + +--- + +## Building solids + +Grouped in the toolbar by what they do, one concept per drawer. + +### Add material +| Tool | Shortcut | What it does | +|---|---|---| +| Extrude | `Shift+E` | Extrude a profile, or push/pull a face already on a body | +| Revolve | `Shift+R` | Revolve a profile about an axis | +| Sweep | `Shift+W` | Sweep a profile along a path — including a helix, for springs and augers | +| Loft | `Shift+L` | Skin between two or more profiles | +| Thicken | — | Offset a solid face into a thin plate as a new body | +| Rib | — | Grow a stiffening wall from an open sketch line, fused to a body | + +Extrude offers blind, symmetric, two-sided, through-all and up-to-face end conditions, plus +a draft angle on the side wall, and can add, subtract, intersect or start a new body. + +### Surface +Sheet bodies — surfaces with no thickness — for shapes that are easier to build as skins and +solidify afterwards. + +| Tool | Shortcut | +|---|---| +| Surface Extrude | `Shift+G` | +| Surface Revolve | `Shift+J` | +| Surface Loft | `Shift+O` | +| Surface Fill | `Shift+Q` | +| Surface Offset | `Shift+U` | +| Thicken Surface | `Shift+V` | + +Thicken Surface is how a sheet becomes a printable solid. + +### Dress-up +| Tool | Shortcut | +|---|---| +| Fillet / Chamfer | `Shift+F` | +| Draft (taper a face) | `Shift+D` | +| Shell | `Shift+K` | +| Delete Face | — | + +Delete Face removes faces and heals the solid — useful for stripping a feature off an +imported part. + +### Holes +**Hole** (`Shift+H`) drills simple, counterbored or countersunk holes, with an ISO/ANSI +standards table so you can ask for an M6 clearance hole instead of computing a diameter. +**Thread** (`Shift+T`) cuts a real helical thread into a bore or onto a shaft. + +### Placement +Operations that move a body without changing its shape: **Transform** (`Shift+Y`), +**Mirror** (`Shift+Z`), and **Mate** for assemblies. + +### Combining +**Boolean** (`Shift+B`) unions, subtracts or intersects two bodies. **Cut** (`Shift+X`) +splits a body with a plane. **Pattern** (`Shift+N`) repeats a body linearly, in a circle, or +along a curve. + +--- + +## Reference geometry + +Datum features carry no material; they exist to give later features something to attach to. + +- **Plane** (`Shift+P`) — offset, tilted, midplane, tangent, through two edges, or coincident +- **Axis** (`Shift+A`) — two points, a face normal, a cylinder centreline, the intersection of + two planes, or along an edge +- **Coord Sys** (`Shift+C`) — a full frame, from a world point or from a face plus a + direction edge +- **Helix** — a helical curve to sweep along +- **Project** — project a body's edges onto a plane as sketch geometry + +On the Coord Sys tool, picking a direction **edge** is worth the extra click: without one the +frame takes its X from the face's first edge, which is deterministic but not necessarily the +direction you meant. + +--- + +## Assemblies + +**Mate** aligns two coordinate systems and moves one body onto the other. Five kinds: + +| Kind | Leaves free | +|---|---| +| Fastened | nothing — 6 DOF locked | +| Planar | sliding in the plane | +| Revolute | rotation about the axis | +| Slider | sliding along the axis | +| Cylindrical | rotation *and* sliding | + +**Check interference** reports every overlapping pair of solids with the overlapping volume, +so a clash is a number rather than an impression. Bodies that merely touch enclose no volume +and are not reported. + +--- + +## Variables and expressions + +Define named variables and drive dimensions from them. Any numeric field accepts an +expression — `width/2`, `wall*3` — and everything re-evaluates on recompute. Change one +variable and the whole model follows. + +--- + +## Import and export + +**Import STEP** brings in a real B-rep solid, not a mesh: its faces and edges can be filleted, +shelled and cut like anything modelled here. + +**Import mesh** (STL/OBJ) converts triangles to a B-rep body and tells you honestly what it +got — whether the result is a closed solid or an open shell, with the boundary and +non-manifold edge counts. A large mesh becomes a large number of faces, which is slow to +edit; the importer warns before you commit to it. + +**Export STEP** writes the model out for another CAD tool. + +**Commit to Plate** sends the solid to Prepare for slicing. The whole feature recipe is saved +inside the 3MF, so reopening the project restores the editable model rather than a frozen +mesh. + +--- + +## View controls + +**Section view** (`X`) hides half the model so you can see inside — `PageUp`/`PageDown` move +the plane, `F` flips which half is kept. **Place on Face** (`F`, when section is off) lays a +picked face flat on the bed. Origin planes (`P`) and world axes (`A`) can be toggled on while +you orient yourself. + +--- + +## Known limitations + +Being straight about the edges, so nobody discovers them the hard way: + +- **Rib** needs a sketch containing an explicit open line. A parametric rectangle sketch + carries no individual entities, so Rib cannot use one. +- **Surface Loft** and **Surface Fill** have kernel tests but have not been exercised by hand. +- Card wiring for 9 of the 16 late-wired tools has never been click-tested. +- Mate resolves by composing transforms directly. There is no 3D assembly solver, so mates + are applied in order rather than solved simultaneously, and mate limits are not implemented. +- Move-face and replace-face are not implemented — OCCT offers no clean primitive for them. +- There is no automated GUI test in CI. Every behaviour above is traced to code and to a + hand pass, not to a synthetic click. + +--- + +## Where the code lives + +| Path | Role | +|---|---| +| `src/libslic3r/CAD/CadDocument.*` | the feature recipe and its replay | +| `src/libslic3r/CAD/GeometryEngine.*` | OCCT wrapper — faces, edges, booleans, healing | +| `src/libslic3r/CAD/SketchEngine.*` | profile → wire → solid | +| `src/libslic3r/CAD/SketchSolver.*` | constraint solving, over the vendored solver | +| `src/libslic3r/slvs/` | vendored 2D constraint solver (GPLv3) | +| `src/slic3r/GUI/CAD/DesignPanel.*` | the tab: toolbar, cards, feature tree | +| `src/slic3r/GUI/CAD/DesignCanvas.*` | viewport integration | +| `src/slic3r/GUI/CAD/DesignSketchTool.*` | in-canvas sketching | + +Build with `-DSLIC3R_CAD=ON` (the default). With it OFF the tab is not compiled and the deps +prefix matches upstream exactly — see [cad_dependency_weight.md](cad_dependency_weight.md). diff --git a/docs/CAD/design_tab_pr_description.md b/docs/CAD/design_tab_pr_description.md new file mode 100644 index 0000000000..a6d67f0e7c --- /dev/null +++ b/docs/CAD/design_tab_pr_description.md @@ -0,0 +1,73 @@ +# Design (CAD) tab — upstream pull request + +## What this adds + +A sketch-first parametric CAD tab inside the slicer. The workflow is direct: +sketch → constrain → solid features → commit to plate. The whole feature recipe is +persisted inside the 3MF, so reopening restores an editable model rather than a frozen mesh. + +- Kernel: OCCT, which upstream already links for STEP import — see + [cad_dependency_weight.md](docs/cad_dependency_weight.md) +- Constraint solver: vendored SolveSpace `libslvs` subset +- Interaction model: object-driven — point at geometry, the geometry offers the verbs that + apply to it; see [cad_ux_guidelines.md](docs/cad_ux_guidelines.md) +- Full user-facing documentation: [design_tab.md](docs/design_tab.md) + +## Why it belongs in the slicer + +Every round trip through an external CAD tool costs a file export, a re-import, and the +design intent that both steps discard. A part modified after slicing should return to its +feature history, not to a mesh. Keeping the CAD model inside the slicer preserves that +loop — the nozzle diameter, the build volume and the material are known at design time. + +For the integration case in full: [design_tab_upstream_portability.md](docs/design_tab_upstream_portability.md). + +## How it is built + +The `SLIC3R_CAD` CMake flag (default ON) gates the entire tab. With it OFF the tab is not +compiled and the deps prefix matches upstream exactly — the dependency diff is one line in +OCCT's CMake: `BUILD_MODULE_ModelingAlgorithms=OFF → ON`. + +Measured cost table: [cad_dependency_weight.md](docs/cad_dependency_weight.md). + +## Diff shape + + + +Against merge-base `d6cb667b894f`: + + 306 files changed, 83032 insertions(+), 777 deletions(-) + +350 commits, of which 284 are new files and 37 modify upstream files. 99.3 % of the diff +is new code. The negotiable surface is the 37 modified files. + +## Tests + +205 `TEST_CASE` blocks across 6 new test source files. This counts assertions written, not +assertions passed — a run needs a build. + +`scripts/CAD/run-kernel-tests.sh` is the headless verification contract: it builds only +`libslic3r_tests` (not the GUI app), needs no display, and exit 0 means the CAD suite +passed. It now runs with **no exclusions** — both cases that used to be quarantined (the +circle-line tangency solver abort and the internal-thread reference) are fixed. + +## Licensing + +The vendored solver in `src/libslic3r/slvs/` is **GPL-3.0** (see `src/libslic3r/slvs/LICENSE`), +not LGPL. The combined work is distributable under AGPL-3.0. See the Licensing section of +[design_tab_upstream_portability.md](docs/design_tab_upstream_portability.md) for the +AGPLv3/GPLv3 compatibility argument; this point should be confirmed with upstream explicitly. + +## Not verified + +- Card wiring for 9 of the 16 late-wired tools was never click-tested. +- There is no automated GUI test in CI. A green kernel run says nothing about the GUI — + synthetic clicks never drift, so the test suite and the viewport are two separate realities. +- The click-test defect rate has **not converged**: a second pass found no new defects, but + four further days of work found five more. The earlier pass is not evidence of stability. + +## Reviewer's map + +See the [Where the code lives](docs/design_tab.md#where-the-code-lives) table in the user +doc for the file-to-role mapping, and [docs/ux/tool_atlas.json](docs/ux/tool_atlas.json) as +the generated-from source of `src/slic3r/GUI/CAD/DesignOffer.hpp`. diff --git a/docs/CAD/design_tab_upstream_portability.md b/docs/CAD/design_tab_upstream_portability.md new file mode 100644 index 0000000000..a7e9cd84ed --- /dev/null +++ b/docs/CAD/design_tab_upstream_portability.md @@ -0,0 +1,162 @@ +# Design (CAD) tab — upstream integration brief + +**Question:** can the Design tab (sketch-first parametric CAD: sketch → constrain → +extrude/revolve/fillet/hole/thread/shell, multi-body, undo, 3MF persistence) land in +mainline OrcaSlicer? + +**Answer: yes, and the ask is far smaller than previously believed.** OCCT is *already* +an OrcaSlicer dependency. We are not asking upstream to adopt a new library; we are +asking it to widen one it already builds, at a measured cost of **3.77 MiB on Windows**. + +> ### Corrections to the 2026-06-21 assessment +> That revision was written before the persistence work landed and got two load-bearing +> facts wrong. Both are corrected here from direct measurement of the branch: +> +> 1. **"The real blocker: OCCT … a dependency mainline OrcaSlicer has never carried."** +> **False.** `deps/OCCT/` exists at the merge-base and upstream links it from +> `Format/STEP.cpp`, `Format/svg.cpp`, and `Shape/TextShape.cpp`. Our entire +> dependency diff is **one line**: `BUILD_MODULE_ModelingAlgorithms=OFF → ON`. +> 2. **"vendored SolveSpace solver … LGPL."** **False.** `src/libslic3r/slvs/LICENSE` is +> **GPL-3.0**, not LGPL. This is fine (see Licensing) but must not be misstated. +> +> It also claimed "no changes to Model" — no longer true; 3MF recipe persistence adds one +> `std::string` to `Model`. + +## Measured shape of the change + +Against merge-base `449a4cf9fc` (34 commits ahead): + +| | files | lines | +|---|---:|---:| +| **New files** | 138 | +61,720 | +| **Modified upstream files** | 23 | +457 / −75 | +| **Deleted upstream files** | 0 | — | + +The 62 kLOC headline is inflated by localization. The feature itself: + +| area | LOC | files | +|---|---:|---:| +| kernel (`src/libslic3r/`) | 15,828 | 37 | +| GUI (`src/slic3r/`) | 19,544 | 14 | +| tests (Catch2) | 2,567 | 6 | +| i18n (unrelated; strip from the CAD PR) | 23,438 | 77 | + +**99.3 % of the diff is new files.** The negotiable surface is 457 added lines across 23 +files, and nothing upstream is deleted. The largest single hook is `GLCanvas3D.cpp` +(+110/−2): an `m_design_sketch_tool` member plus render/mouse/key hooks, **every one +already null-guarded** — which is why the compile-time gate below is cheap. + +No changes to the slicing pipeline (Print/PrintObject/Layer/GCode), Tab, or the +printer-profile/config system. + +## The dependency ask, precisely + +Not "adopt OCCT" — **widen the existing OCCT build**: + +```diff +- -DBUILD_MODULE_ModelingAlgorithms=OFF ++ -DBUILD_MODULE_ModelingAlgorithms=ON +``` + +Cost, measured from the shipped Windows artifact (42 OCCT DLLs, 45.43 MiB total): + +| toolkit | size | note | +|---|---:|---| +| `TKFillet.dll` | 2.02 MiB | only exists with the flag ON | +| `TKOffset.dll` | 1.75 MiB | only exists with the flag ON | +| **delta** | **3.77 MiB** | Windows only (OCCT is Shared on Win, Static elsewhere) | + +`TKBool` is *not* part of the delta — upstream's `DataExchange` already pulls it in +transitively. On macOS/Linux OCCT links statically, so the cost is only the code actually +referenced, not a 3.77 MiB floor. + +**Unmeasured, and we should measure before the call:** clean-deps build-time delta with +the flag ON vs OFF, and the resulting CI runner-minute cost. Do not guess these at him. + +## Licensing + +- Vendored solver `src/libslic3r/slvs/` — **GPL-3.0**, 9,339 LOC, © Jonathan Westhues, + a self-contained subset of SolveSpace (`libslvs`). No external dependencies. +- OrcaSlicer — **AGPL-3.0** (`LICENSE.txt`). + +GPLv3 §13 expressly permits combining a GPLv3 work with an AGPLv3 work; AGPLv3 §13 grants +the converse. The combined work is distributable under AGPL-3.0 with the solver's GPLv3 +terms preserved. This is a favourable direction (GPLv3 → into an AGPLv3 project), but it +is a point to **confirm explicitly with upstream**, not to assert unilaterally. + +Open question for SoftFever: keep the solver **vendored** (current: pinned, no submodule, +no external build) or move it to `deps/` as a fetched external? Vendoring costs us +upstream-sync burden; `deps/` costs build complexity. + +## The one irreversible decision: the 3MF format + +Persistence adds an **optional** archive entry and one field: + +```cpp +// Model.hpp +std::string cad_recipe; // empty for non-CAD projects +``` + +``` +Metadata/orca_cad.bin // written only when cad_recipe is non-empty +``` + +Readers that do not know the entry ignore it; writers skip it entirely when empty. So +existing projects are bit-identical and old readers are unaffected. Good. + +**But the moment upstream ships this, it owns forward-compatibility forever.** Three +things should be settled *before* the first release, because none can be changed after: + +1. **Name.** Renamed to `Metadata/orca_cad.bin`. +2. **Encoding.** The recipe is an opaque **cereal `PortableBinaryArchive`** blob whose + layout is the field order of `CadFeature::serialize`. Portable across endianness and + word size — *not* across a field reorder. Append-only is currently a convention held by + discipline, not by any check. +3. **Embedded BRep.** `Import` features embed OCCT's ASCII BRep for the imported solid, + which couples saved project files to an OCCT BRep revision. Alternative: re-import from + the source STEP and store only a reference. Worth deciding deliberately. + +**Concrete gap we should close before the call.** `test_caddocument.cpp` covers the +in-memory round-trip and correctly refuses a version-999 blob — but there is **no +checked-in v1 fixture on disk**. A reordered field in `CadFeature::serialize` would pass +the entire suite while silently breaking every previously-saved project. Ship a golden +`.bin` fixture generated today plus a test that loads it; that is the only thing that will +hold the format still once real users have files. + +## Proposed PR decomposition + +35 kLOC in one PR is not reviewable. Behind the flag, slices 1–4 are behaviour-neutral for +existing users: + +1. **Build gate + OCCT flag + Windows packaging guard.** `-DSLIC3R_CAD=ON/OFF`, default + **OFF**. Flips `ModelingAlgorithms=ON`. Includes the guard that asserts every linked + OCCT toolkit has a shipped DLL (already on both forks: `546cef5f42`). ← *this is what + makes SoftFever's "parallel build" a one-line CI matrix entry.* +2. **Vendored `slvs` solver** + its Catch2 tests. No GUI, no OCCT. +3. **CAD kernel** (`CadDocument`, `SketchEngine`, `GeometryEngine`, `Sketch*`) + kernel + tests. Headless, no GUI. +4. **3MF recipe persistence** + golden-fixture regression test. +5. **GUI Design tab** (`DesignPanel`, `DesignCanvas`, `DesignSketchTool`, `GLGizmoSketch`) + + the 23 upstream hooks. + +## Agenda for the call + +Questions only SoftFever can answer: + +- Does OrcaSlicer *want* to be a CAD-integrated slicer? (Strategic; everything else is mechanical.) +- Default of `SLIC3R_CAD` at merge time, and when it flips ON. +- Vendored solver vs `deps/` external; and confirmation of the GPLv3/AGPLv3 combination. +- Project-file format: neutral name, encoding, embedded-BRep policy, and who owns v1 forward-compat. +- Undo/redo: the Design tab has its own stack; integrate with Orca's snapshot system or keep separate? +- Does he want the i18n work (Romanian, +23 kLOC) as a wholly separate PR? (Yes, almost certainly.) + +## Verdict + +Portability **high**. The prior "does upstream want OCCT" framing was wrong — OCCT is +already there. What remains is a 3.77 MiB dependency widening, a compile-time gate that +the existing null-guards make cheap, and one file-format decision that must be made before +the first release rather than after. + +--- +*Revised 2026-07-10 from direct measurement of `cad-mainline` @ `546cef5f42` vs upstream +merge-base `449a4cf9fc`. Supersedes the 2026-06-21 read-only assessment.* diff --git a/docs/CAD/rig_build_traps.md b/docs/CAD/rig_build_traps.md new file mode 100644 index 0000000000..b620b244d9 --- /dev/null +++ b/docs/CAD/rig_build_traps.md @@ -0,0 +1,151 @@ +# Rig build traps + +The build rig is two long-lived containers, `snapmaker-gui` and `orcacad-gui`, one per fork. Each +mounts only its fork's build volume (`snapmaker_buildcache` / `orcacad_buildcache`) at +`/OrcaSlicer/build`, its fork's `resources/`, and a shots directory — nothing else. They run the +binary; they do not build it. Rebuild with `scripts/CAD/build-gui.sh`. + +| fork repo | project() | deps image | build volume | GUI container | binary | +|---|---|---|---|---|---| +| `Snapmaker` | `Snapmaker_Orca` | `snapmaker-deps` | `snapmaker_buildcache` | `snapmaker-gui` | `snapmaker-orca` | +| `orca_cad` | `OrcaSlicer` | `orcacad-deps` | `orcacad_buildcache` | `orcacad-gui` | `orca-slicer` | + +`scripts/CAD/build-gui.sh` exists alongside `scripts/CAD/build-gui-incremental.sh` for one reason: it does a +target-only `ninja` into the volume the GUI rig launches from, so a session can test a single +change without a full repackage, whereas `build-gui-incremental.sh` runs the full packaged build. +Both start a throwaway container from the deps image with the live repo mounted over the baked +tree — never build inside the GUI container (Trap 1). + +Every trap below has already cost about a session to re-derive, once each. They are recorded now +so no fresh session pays them again. Symptoms, causes, and exact recovery commands follow. + +--- + +## Trap 1 — never configure inside the GUI container + +**Symptom.** After building inside the GUI container, the fork's targets no longer exist; ninja +reports an unknown target, and `orca-slicer` / `OrcaSlicer` have been replaced by +`snapmaker-orca` / `Snapmaker_Orca`. + +**Cause.** The GUI image's baked `/OrcaSlicer` tree is the Jun-13 Snapmaker-derived source +(`project(Snapmaker_Orca)`, executable `snapmaker-orca`). `orcacad-deps` is layered on +`snapmaker-deps`, so even on the mainline fork the baked tree is the other fork's. A `cmake .` +there reconfigures the shared build dir under the wrong project name. + +**Fix.** Build only via `scripts/CAD/build-gui.sh`, which starts a throwaway container from the deps +image with the live repo mounted over the baked tree — `src`, `resources`, `cmake`, `deps_src`, +`localization`, `CMakeLists.txt`, `version.inc` — and writes into the same volume the rig +launches from. + +--- + +## Trap 2 — stale `NLopt_DIR` in CMakeCache + +**Symptom.** Configure fails with `Cannot find NLopt library 'nlopt_cxx' in '/lib'`. + +**Cause.** `cmake/modules/FindNLopt.cmake:26` is `set(NLopt_DIR $ENV{NLOPT})`. With `NLOPT` +unset that expands to `set(NLopt_DIR)` — zero arguments — which *unsets the normal variable* and +lets a leftover CACHE entry of the same name (e.g. `/lib/cmake/nlopt`) show through the +following `if(NOT NLopt_DIR)`. The `else()` branch then searches for `nlopt_cxx` under +`${NLopt_DIR}/lib` with `NO_DEFAULT_PATH`, while the deps prefix ships plain `nlopt`. + +**Fix.** From inside the build dir: + + cmake -U NLopt_DIR -U NLopt_LIBS . + +Do **not** `sed` the entry out of `CMakeCache.txt` — deleting a line breaks the cache parser. + +--- + +## Trap 3 — the image lacks `deps_src/pybind11` + +**Symptom.** Configure aborts with `pybind11 headers not found in /OrcaSlicer/deps_src/pybind11. +Did you initialize submodules?` (the `FATAL_ERROR` guarding `PYBIND11_SOURCE_DIR` in the mainline +fork's root `CMakeLists.txt`, near line 948). + +**Cause.** The deps image predates that requirement. Only the mainline (`orca_cad`) fork has +`deps_src/pybind11` and the requirement; Snapmaker has neither. + +**Fix.** Mount `deps_src` over the baked tree — `scripts/CAD/build-gui.sh` does. Corollary: mounting a +Snapmaker tree into an `orcacad-deps` build reproduces this error exactly. + +--- + +## Trap 4 — `OCCT_LIBS` lags one configure + +**Symptom.** A wall of undefined references to `TopOpeBRepBuild` symbols. It reads as a broken +OCCT installation. It is not. + +**Cause.** `src/libslic3r/CMakeLists.txt:603` does +`set(OCCT_LIBS "${OCCT_LIBS}" CACHE INTERNAL "OCCT toolkits linked by libslic3r")` at the END of +its own configure, while the consumer in the root `CMakeLists.txt` (`if (NOT OCCT_LIBS)` … +`foreach (_tk IN LISTS OCCT_LIBS)`) reads whatever is already in the cache. The first reconfigure +after the `TKFillet TKOffset` prepend (`src/libslic3r/CMakeLists.txt:599`) therefore links the +previous list and drops `TKBool`/`TKOffset`. + +**Fix.** Configure twice. `scripts/CAD/build-gui.sh` runs `cmake .` twice for exactly this reason; if +you ever configure by hand, run it twice. + +--- + +## Trap 5 — `SLIC3R_CAD=ON` in the cache, macro never defined + +**Symptom.** The build succeeds and links, but the Design tab is simply absent — or it fails with +`class GLCanvas3D has no member named set_design_sketch_tool`. + +**Cause.** The cache carries `SLIC3R_CAD=ON`, but the root `CMakeLists.txt` actually configured is +a stale baked copy that predates the gate and never runs `add_definitions(-DSLIC3R_CAD)` (the +gate is `if (SLIC3R_CAD)` / `add_definitions(-DSLIC3R_CAD)` in the root list — line 179/180 in +Snapmaker, 319/320 in orca_cad). Every `#ifdef SLIC3R_CAD` block therefore compiles out while the +option still reads ON. + +**Fix.** Always mount the live `CMakeLists.txt` and `cmake/` — never inherit them from the image. +This is why `scripts/CAD/build-gui-incremental.sh`, `scripts/CAD/run-kernel-tests.sh` and `scripts/CAD/build-gui.sh` +all mount both. + +--- + +## The binary the rig actually launches + +`ninja ` writes `/OrcaSlicer/build/src/Release/`; only `build_linux.sh` +additionally packages to `/OrcaSlicer/build/package/bin/`. `orca_cad`'s +`scripts/CAD/start-headless-gui.sh` defaults `BIN` to `src/Release/orca-slicer`, but Snapmaker's defaults to +`package/bin/snapmaker-orca`. So after a target-only rebuild on Snapmaker, launching +`start-headless-gui.sh` with its default runs the **stale packaged** binary — the change under test is +invisible and the session hunts a phantom. Pass `BIN` explicitly: + + docker exec -e BIN=/OrcaSlicer/build/src/Release/snapmaker-orca snapmaker-gui /OrcaSlicer/scripts/CAD/start-headless-gui.sh + +`scripts/CAD/build-gui.sh` prints the correct line for the current fork when it finishes. + +Note also that the GUI containers do **not** mount `scripts/`: `/OrcaSlicer/scripts` inside them +is the baked copy, so a local edit to `start-headless-gui.sh` has no effect until you +`docker cp scripts/CAD/start-headless-gui.sh :/OrcaSlicer/scripts/`. + +--- + +## Trap 6 — `src/Release/` resolves resources to `build/resources`, which may not exist + +The binary derives `resources_dir()` from its own location, so the `src/Release/` one looks in +`/OrcaSlicer/build/resources` while the packaged one looks inside `build/package/`. Only the +packaging step creates the latter; nothing creates the former. Without it the app fails every +`Failed to add custom font ".../build/resources/fonts/…"`, logs `Health check is not running`, +and **exits 255 with nothing on stdout** — which reads exactly like a crash in whatever you just +changed. Measured 2026-08-02: an hour was nearly spent bisecting a GUI change that was fine. + +`build/` is the shared cache volume, so one symlink fixes it permanently, and pointing it at the +bind-mounted repo tree means the rig also picks up new `resources/images/*.svg` without a rebuild: + + docker exec -gui ln -sfn /OrcaSlicer/resources /OrcaSlicer/build/resources + +Tell the two apart before debugging: a resource failure dies in the first second with no window; +a real fault in your code gets past the version banner. Compare +`~/.config//log/.log.0` against a known-good run — 47 lines versus 340 is the tell. + +## Trap 7 — a single-instance app plus a path-matched `pkill` + +`start-headless-gui.sh` used to kill by `"$BIN"`, while its own `app_pid()` matched by BASENAME. Launch +with a `BIN` that differs from the running instance's path and the old process survives, keeps +the single-instance lock, and the new one exits seconds after loading fonts — then `status` +reports the *stale* pid as a healthy session. Fixed by killing on the basename; `status` now also +prints `binary : $(readlink -f /proc//exe)`. **Read that line before trusting a screenshot.** diff --git a/docs/CAD/ux/interaction-model.md b/docs/CAD/ux/interaction-model.md new file mode 100644 index 0000000000..2041978ea0 --- /dev/null +++ b/docs/CAD/ux/interaction-model.md @@ -0,0 +1,144 @@ +# Design tab — interaction model + +The contract for Esc, the right mouse button, and the states between them. Code that changes any +of the three changes this file in the same commit. + +## 1. The state machine + +`src/slic3r/GUI/CAD/DesignInteraction.hpp` — a four-level LIFO stack. The enum value *is* the +depth, so "which level does this press belong to" is a comparison rather than a chain of +special cases spread over three files. + +```cpp +enum class CadLevel : int { + Idle = 0, // nothing transient is up: Esc clears the selection + Tool = 1, // a feature card / armed sketch tool / constrain session: Esc exits it + Gesture = 2, // an uncommitted delta (entity being drawn, body being dragged): Esc reverts it + Transient = 3, // a value field or a popup menu: Esc closes just that +}; + +struct CadInteractionState { // the four bits routing actually needs + bool value_field_open{false}; + bool gesture_active{false}; + bool tool_armed{false}; + bool has_selection{false}; +}; + +constexpr CadLevel cad_escape_level(const CadInteractionState& s) +{ + if (s.value_field_open) return CadLevel::Transient; + if (s.gesture_active) return CadLevel::Gesture; + if (s.tool_armed) return CadLevel::Tool; + return CadLevel::Idle; +} +``` + +The rule is a `constexpr` free function over a POD, not a method on the panel, so the ordering +that is the entire contract is checkable without a window, a GL context or an event loop. Five +`static_assert`s in the header do exactly that, at compile time. + +**Strict invariant.** No level of Esc deletes a feature, discards a sketch that holds geometry, +or rolls history back. Destroying work needs a gesture that says so: + +| To destroy | Gesture | +|---|---| +| a feature | Delete / Backspace on an explicit selection | +| a drawn sketch | the ribbon's ✗ Cancel, which asks first | +| the last committed change | Ctrl+Z | + +## 2. Event routing + +**`OnKeyDown(WXK_ESCAPE)`** — `DesignPanel`'s `wxEVT_CHAR_HOOK`, one line: + +```cpp +if (key == WXK_ESCAPE) { escape(); return; } +``` + +Every Esc in the tab goes through it, whatever holds focus. `DesignPanel::escape_level()` answers +the four questions of `CadInteractionState` about this panel; `DesignPanel::escape()` acts on the +one level that answer names, and on no other: + +| Level | What one press does | What it must not touch | +|---|---|---| +| `Transient` | close the value field (`cancel_value` / `inline_cancel`) | the tool, which stays armed | +| `Gesture` | drop the clicks of the entity being drawn, or put a moved body back at the pose it had when the gizmo appeared | everything already committed | +| `Tool` | discard a feature card's *candidate*; drop an armed sketch tool to Select; end Constrain | committed features; entities already drawn | +| `Idle` | clear the selection (model and sketch); leave a sketch session **only if it is empty** | a sketch holding geometry — it is left through Finish or Cancel | + +A sketch *session* is deliberately not a `Tool`. It is the environment the Idle level lives in, +which is what makes the destructive path unrepresentable rather than merely unlikely. + +**`OnRightDown` / `OnRightUp`** — `DesignCanvas::set_on_context_menu`, bound after `GLCanvas3D`'s +own handlers so it can consume the event before them: + +```cpp +RIGHT_DOWN: remember the press position and the clock, then Skip() // the canvas still seeds the orbit + +RIGHT_UP: terminated = sketch_tool.take_right_consumed(); // read-and-clear, always + is_click = drift <= 3 px && dt <= 200 ms; // both budgets, or it was navigation + if (callback && !terminated && !inline_busy && is_click) { + select_at_screen(press.x, press.y); // raycast at the PRESS, not the release + on_context_menu(ClientToScreen(press)); + return; // consumed + } + Skip(); // orbit / pan / the handlers underneath +``` + +Two independent budgets because the two failure modes are independent: drift alone still popped a +menu at the end of a slow, careful orbit. `take_right_consumed()` is how a right-click that +already meant something to the armed sketch tool (terminate a chain, drop an edit-op) declines to +also mean "open a menu". + +## 3. Transition table + +`sel` = something is picked. Blank = the input does nothing at that state. + +| State | Left-click | Right-click | Esc | Enter | +|---|---|---|---|---| +| **Idle — model view** | pick / escalate the pick | offer menu for what is under the cursor | clear the selection | — | +| **Idle — sketch, empty** | pick | sketch offer menu | leave the session (nothing to lose) | Finish sketch | +| **Idle — sketch, drawn** | pick | sketch offer menu | clear the selection; status says the sketch is kept | Finish sketch | +| **Tool — feature card** | pick the card's next reference | offer menu | discard the candidate, close the card | commit the feature | +| **Tool — sketch tool armed** | place the first point | drop the tool to Select | drop the tool to Select | — | +| **Tool — constrain** | pick an entity | offer menu | end the session | apply | +| **Gesture — drawing** | place the next point | terminate the chain (keep what is drawn) | drop the in-progress entity, tool stays armed | commit the entity as drawn | +| **Gesture — moving a body** | drop the body here | end the move | revert to the pose at move-start | keep the placement | +| **Transient — value field** | — | — | close the field, tool stays armed | commit the value, advance the chain | +| **Transient — popup menu** | run the entry | — | close the menu | run the highlighted entry | +| **any** | — | — | *never* deletes, discards or rolls back | — | + +Right-hold-and-drag is not in the table on purpose: past 3 px or 200 ms it is navigation, and +navigation does not transition the state machine. + +## 4. Visual scaffolding + +Entering a sketch changes three things at once, so the state is legible from across the room: + +- **Banner.** A teal strip across the top of the viewport: `Editing: Sketch N · N = look normal to + the plane · Finish or Cancel in the toolbar`. Indicator only — Confirm and Cancel stay on the one + ribbon action bar, per the Design UX contract. It is a sibling above the canvas, not a floating + child over it: a child window over a `wxGLCanvas` is a native window on GTK and does not reliably + stack over GL, and this banner's job is to be unmissable rather than clever. +- **The printer bed is muted.** A plate grid and a sketch grid are the same visual language, and + reading one as the other is how a sketch gets drawn against the wrong reference. The view + checkbox remains the stored preference and is restored on the way out; ticking it mid-sketch + still shows the bed, because that is a deliberate act and this is only a default. +- **`N` looks normal to the plane**, keeping the current zoom, with the plane's own y axis as up. + Sketch key map only — in Feature mode the navigator orb owns orientation. + +## 5. Context menu content + +The offer is generated from `docs/CAD/ux/tool_atlas.json`; its 8-row shape and permanent row +indices are ratified and are not changed here. Checked against the per-context vocabularies asked +for in the 2026-09-05 interaction brief, the atlas already carries all of them except two, both on +a planar face: + +| Asked for | Status | +|---|---| +| Revolve on a planar face | **not offered, and should not be**: `revolve` accepts `sk_loop` only, because the kernel takes a sketch profile — a face is not one | +| Offset Face | offered as **Thicken** (`thicken`, accepts `face_planar`); `surf_offset` is the sheet-body verb and accepts `body_sheet` | + +View and document actions — Zoom to Fit, View Isometric, Clear Selection, Finish Sketch, Normal to +Sketch — stay in chrome by the atlas's own rule: the offer describes verbs that consume a +*selection*, and these act on the document or the camera. Esc covers Clear Selection, `N` covers +Normal to Sketch, and the ribbon covers Finish. diff --git a/docs/CAD/ux/mockups/cmp_12__edge_str.svg b/docs/CAD/ux/mockups/cmp_12__edge_str.svg new file mode 100644 index 0000000000..3e641e90ec --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_12__edge_str.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 12 slotsDress-up2Pattern on CurveReference3Straight edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/cmp_12__face_planar.svg b/docs/CAD/ux/mockups/cmp_12__face_planar.svg new file mode 100644 index 0000000000..85809d5bf6 --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_12__face_planar.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 12 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/cmp_12__sk_line.svg b/docs/CAD/ux/mockups/cmp_12__sk_line.svg new file mode 100644 index 0000000000..6535c9fe77 --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_12__sk_line.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 12 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line \ No newline at end of file diff --git a/docs/CAD/ux/mockups/cmp_8__edge_str.svg b/docs/CAD/ux/mockups/cmp_8__edge_str.svg new file mode 100644 index 0000000000..2c41ce74fc --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_8__edge_str.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 8 slotsDress-up2Pattern on CurveReference3Straight edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/cmp_8__face_planar.svg b/docs/CAD/ux/mockups/cmp_8__face_planar.svg new file mode 100644 index 0000000000..5a58e2fb72 --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_8__face_planar.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/cmp_8__sk_line.svg b/docs/CAD/ux/mockups/cmp_8__sk_line.svg new file mode 100644 index 0000000000..4ca4000d59 --- /dev/null +++ b/docs/CAD/ux/mockups/cmp_8__sk_line.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__art.svg b/docs/CAD/ux/mockups/fresh__art.svg new file mode 100644 index 0000000000..a54dd49b43 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__art.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetText / imported art selected — pick what to do with itFresh document · 8 slotsABCModify2Text / imported art \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__art__modify.svg b/docs/CAD/ux/mockups/fresh__art__modify.svg new file mode 100644 index 0000000000..184611c682 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__art__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsABCDeleteDelEditText / imported art · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__bodies_2.svg b/docs/CAD/ux/mockups/fresh__bodies_2.svg new file mode 100644 index 0000000000..f282bef03a --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__bodies_2.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetTwo bodies selected — pick what to do with itFresh document · 8 slotsMeasureDeleteDelTwo bodies \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__body_sheet.svg b/docs/CAD/ux/mockups/fresh__body_sheet.svg new file mode 100644 index 0000000000..635b2f6aa6 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__body_sheet.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSheet body selected — pick what to do with itFresh document · 8 slotsMeasureModify2Sheet body \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__body_sheet__modify.svg b/docs/CAD/ux/mockups/fresh__body_sheet__modify.svg new file mode 100644 index 0000000000..0cd330046d --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__body_sheet__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditSheet body · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__body_solid.svg b/docs/CAD/ux/mockups/fresh__body_solid.svg new file mode 100644 index 0000000000..ef21e2b8e2 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__body_solid.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSolid body selected — pick what to do with itFresh document · 8 slotsMeasureModify2Solid body \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__body_solid__modify.svg b/docs/CAD/ux/mockups/fresh__body_solid__modify.svg new file mode 100644 index 0000000000..8b5d1485a0 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__body_solid__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditSolid body · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__coordsys.svg b/docs/CAD/ux/mockups/fresh__coordsys.svg new file mode 100644 index 0000000000..e20d08d000 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__coordsys.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCoordinate system selected — pick what to do with itFresh document · 8 slotsModify2Coordinate system \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__coordsys__modify.svg b/docs/CAD/ux/mockups/fresh__coordsys__modify.svg new file mode 100644 index 0000000000..b6b4871d16 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__coordsys__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditCoordinate system · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__datum_axis.svg b/docs/CAD/ux/mockups/fresh__datum_axis.svg new file mode 100644 index 0000000000..8174807ceb --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__datum_axis.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetDatum axis selected — pick what to do with itFresh document · 8 slotsModify2Datum axis \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__datum_axis__modify.svg b/docs/CAD/ux/mockups/fresh__datum_axis__modify.svg new file mode 100644 index 0000000000..cba7005358 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__datum_axis__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditDatum axis · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__datum_plane.svg b/docs/CAD/ux/mockups/fresh__datum_plane.svg new file mode 100644 index 0000000000..ffabd59969 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__datum_plane.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetDatum plane selected — pick what to do with itFresh document · 8 slotsSketchShift+SReference2Modify2Datum plane \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__datum_plane__modify.svg b/docs/CAD/ux/mockups/fresh__datum_plane__modify.svg new file mode 100644 index 0000000000..9ac26e4ce1 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__datum_plane__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditDatum plane · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__datum_plane__reference.svg b/docs/CAD/ux/mockups/fresh__datum_plane__reference.svg new file mode 100644 index 0000000000..b42479441a --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__datum_plane__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsPlaneShift+PHelixDatum plane · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__edge_circ.svg b/docs/CAD/ux/mockups/fresh__edge_circ.svg new file mode 100644 index 0000000000..3e72544c04 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__edge_circ.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCircular edge selected — pick what to do with itFresh document · 8 slotsMeasureCircular edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__edge_str.svg b/docs/CAD/ux/mockups/fresh__edge_str.svg new file mode 100644 index 0000000000..c4e54d5335 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__edge_str.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetStraight edge selected — pick what to do with itFresh document · 8 slotsReference3Straight edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__edge_str__reference.svg b/docs/CAD/ux/mockups/fresh__edge_str__reference.svg new file mode 100644 index 0000000000..80dd7a877a --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__edge_str__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsMeasurePlaneShift+PAxisShift+AStraight edge · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__face_cyl.svg b/docs/CAD/ux/mockups/fresh__face_cyl.svg new file mode 100644 index 0000000000..d2335e4177 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__face_cyl.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCylindrical face selected — pick what to do with itFresh document · 8 slotsReference3EditCylindrical face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__face_cyl__reference.svg b/docs/CAD/ux/mockups/fresh__face_cyl__reference.svg new file mode 100644 index 0000000000..7cb83afb56 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__face_cyl__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsMeasureAxisShift+AHelixCylindrical face · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__face_other.svg b/docs/CAD/ux/mockups/fresh__face_other.svg new file mode 100644 index 0000000000..d8dcfb96ab --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__face_other.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCurved face selected — pick what to do with itFresh document · 8 slotsMeasureEditCurved face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__face_planar.svg b/docs/CAD/ux/mockups/fresh__face_planar.svg new file mode 100644 index 0000000000..a66268fc9a --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__face_planar.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetPlanar face selected — pick what to do with itFresh document · 8 slotsSketchShift+SExtrudeShift+EReference4EditPlanar face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__face_planar__reference.svg b/docs/CAD/ux/mockups/fresh__face_planar__reference.svg new file mode 100644 index 0000000000..9aa608a5e7 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__face_planar__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsCoord SysShift+CMeasurePlaneShift+PAxisShift+APlanar face · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__none.svg b/docs/CAD/ux/mockups/fresh__none.svg new file mode 100644 index 0000000000..56ac028b74 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__none.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetClick a face or a reference plane, then a toolFresh document · 8 slotsSketchShift+SReference4Nothing selected \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__none__reference.svg b/docs/CAD/ux/mockups/fresh__none__reference.svg new file mode 100644 index 0000000000..0492aa6de0 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__none__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsCoord SysShift+CHelixPlaneShift+PAxisShift+ANothing selected · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_2ent.svg b/docs/CAD/ux/mockups/fresh__sk_2ent.svg new file mode 100644 index 0000000000..dd02122149 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_2ent.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetTwo sketch entities selected — pick what to do with itFresh document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Two sketch entities \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_2ent__create.svg b/docs/CAD/ux/mockups/fresh__sk_2ent__create.svg new file mode 100644 index 0000000000..98e984bff2 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_2ent__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCreate — pick oneFresh document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Two sketch entities · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_2ent__dressup.svg b/docs/CAD/ux/mockups/fresh__sk_2ent__dressup.svg new file mode 100644 index 0000000000..926594bb86 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_2ent__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetDress-up — pick oneFresh document · 8 slotsFilletFChamferHTwo sketch entities · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_2ent__modify.svg b/docs/CAD/ux/mockups/fresh__sk_2ent__modify.svg new file mode 100644 index 0000000000..242332967e --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_2ent__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelExtendXTwo sketch entities · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_2ent__reference.svg b/docs/CAD/ux/mockups/fresh__sk_2ent__reference.svg new file mode 100644 index 0000000000..aa105c3a9e --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_2ent__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsConstructionQDimensionDConstrainKTwo sketch entities · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_arc.svg b/docs/CAD/ux/mockups/fresh__sk_arc.svg new file mode 100644 index 0000000000..0712508411 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_arc.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSketch arc or circle selected — pick what to do with itFresh document · 8 slotsCreate9OffsetOTrimTMirrorMMoveReference3Modify2Sketch arc or circle \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_arc__create.svg b/docs/CAD/ux/mockups/fresh__sk_arc__create.svg new file mode 100644 index 0000000000..d22d916e60 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_arc__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCreate — pick oneFresh document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch arc or circle · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_arc__modify.svg b/docs/CAD/ux/mockups/fresh__sk_arc__modify.svg new file mode 100644 index 0000000000..cf3fc2450f --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_arc__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelExtendXSketch arc or circle · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_arc__reference.svg b/docs/CAD/ux/mockups/fresh__sk_arc__reference.svg new file mode 100644 index 0000000000..cfbe0a1042 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_arc__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsConstructionQDimensionDConstrainKSketch arc or circle · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_line.svg b/docs/CAD/ux/mockups/fresh__sk_line.svg new file mode 100644 index 0000000000..e40d823e13 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_line.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSketch line selected — pick what to do with itFresh document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_line__create.svg b/docs/CAD/ux/mockups/fresh__sk_line__create.svg new file mode 100644 index 0000000000..1a6f7b561c --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_line__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCreate — pick oneFresh document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch line · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_line__dressup.svg b/docs/CAD/ux/mockups/fresh__sk_line__dressup.svg new file mode 100644 index 0000000000..3fce662ba1 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_line__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetDress-up — pick oneFresh document · 8 slotsFilletFChamferHSketch line · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_line__modify.svg b/docs/CAD/ux/mockups/fresh__sk_line__modify.svg new file mode 100644 index 0000000000..26318535ef --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_line__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelExtendXSketch line · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_line__reference.svg b/docs/CAD/ux/mockups/fresh__sk_line__reference.svg new file mode 100644 index 0000000000..2abc91fc99 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_line__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsConstructionQDimensionDConstrainKSketch line · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_loop.svg b/docs/CAD/ux/mockups/fresh__sk_loop.svg new file mode 100644 index 0000000000..58eaa9e4fb --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_loop.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetClosed sketch loop selected — pick what to do with itFresh document · 8 slotsAdd material5Modify2Closed sketch loop \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_loop__add.svg b/docs/CAD/ux/mockups/fresh__sk_loop__add.svg new file mode 100644 index 0000000000..c6e6c90701 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_loop__add.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetAdd material — pick oneFresh document · 8 slotsExtrudeShift+ERevolveShift+RSurface ExtrudeShift+GSurface RevolveSurface FillClosed sketch loop · Add material \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_loop__modify.svg b/docs/CAD/ux/mockups/fresh__sk_loop__modify.svg new file mode 100644 index 0000000000..416e62d7cd --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_loop__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetModify — pick oneFresh document · 8 slotsDeleteDelEditClosed sketch loop · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_none.svg b/docs/CAD/ux/mockups/fresh__sk_none.svg new file mode 100644 index 0000000000..ce7604c47d --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_none.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSketch, nothing picked selected — pick what to do with itFresh document · 8 slotsCreate9Reference2Sketch, nothing picked \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_none__create.svg b/docs/CAD/ux/mockups/fresh__sk_none__create.svg new file mode 100644 index 0000000000..06994f9517 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_none__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCreate — pick oneFresh document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch, nothing picked · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_none__reference.svg b/docs/CAD/ux/mockups/fresh__sk_none__reference.svg new file mode 100644 index 0000000000..e4e558bbd9 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_none__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsDimensionDConstructionQSketch, nothing picked · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_point.svg b/docs/CAD/ux/mockups/fresh__sk_point.svg new file mode 100644 index 0000000000..65acf94ac7 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_point.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetSketch point selected — pick what to do with itFresh document · 8 slotsCreate9MoveReference2DeleteDelSketch point \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_point__create.svg b/docs/CAD/ux/mockups/fresh__sk_point__create.svg new file mode 100644 index 0000000000..fbe094d147 --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_point__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetCreate — pick oneFresh document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch point · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__sk_point__reference.svg b/docs/CAD/ux/mockups/fresh__sk_point__reference.svg new file mode 100644 index 0000000000..8b02eba29f --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__sk_point__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsDimensionDConstrainKSketch point · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__vertex.svg b/docs/CAD/ux/mockups/fresh__vertex.svg new file mode 100644 index 0000000000..1e1661d6aa --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__vertex.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetVertex selected — pick what to do with itFresh document · 8 slotsReference4Vertex \ No newline at end of file diff --git a/docs/CAD/ux/mockups/fresh__vertex__reference.svg b/docs/CAD/ux/mockups/fresh__vertex__reference.svg new file mode 100644 index 0000000000..aad3d46b6e --- /dev/null +++ b/docs/CAD/ux/mockups/fresh__vertex__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetReference — pick oneFresh document · 8 slotsCoord SysShift+CMeasurePlaneShift+PAxisShift+AVertex · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/gen_offer_mockups.py b/docs/CAD/ux/mockups/gen_offer_mockups.py new file mode 100644 index 0000000000..6ddd4caae4 --- /dev/null +++ b/docs/CAD/ux/mockups/gen_offer_mockups.py @@ -0,0 +1,884 @@ +#!/usr/bin/env python3 +"""Render the object-driven tool offer from docs/ux/tool_atlas.json. + +Fork-neutral on purpose: this file and everything it emits name no product, so the +two forks carry byte-identical copies (the charter itself is the only doc that +substitutes the product name). + +Every mockup in docs/ux/mockups/ and the review page docs/ux/offer_atlas.html are +generated by this script. Nothing is hand-drawn: the point of the offer is that a +tool's address never changes, and a human drawing 40-odd states by hand is exactly +how an address quietly changes. + + python3 docs/ux/mockups/gen_offer_mockups.py + +It fails loudly rather than rendering a broken map: an unknown slot, an unknown +selection id in `accepts`, or one address holding two different verbs for the same +selection is an error, not a warning. + +SVG on purpose. There is no rsvg/inkscape/cairosvg on the build box and +ImageMagick would rasterise through its own weak internal renderer; SVG renders +exactly in a browser at any zoom and stays diffable in git. Rasterise later if +slides need it. +""" + +import json +import re +import math +import os +import sys +from collections import defaultdict + +HERE = os.path.dirname(os.path.abspath(__file__)) +UX = os.path.dirname(HERE) +ATLAS = os.path.join(UX, "tool_atlas.json") + +# The reach target from the charter (L11 / 6.1): if the ring plus a real part do not +# fit here, the design has failed before it is built. +W, H = 1366, 768 + +C = { + "app": "#1a1d21", "chrome": "#23272d", "panel": "#20242a", "line": "#31363d", + "vp0": "#2f353d", "vp1": "#242930", "grid": "#333a43", + "text": "#e7ecf1", "muted": "#8e9aa7", "dim": "#5f6a76", + "top": "#93a1b1", "left": "#6f7b89", "right": "#5a6472", "edge": "#39414b", + "hi": "#f5a623", "hi_soft": "#f5a62333", "sheet": "#7fa8c9", + "ring": "#171a1e", "chip": "#2e343c", "chip_line": "#3c444e", + "key": "#454f5b", "accent": "#4f9bd9", "empty": "#2a2f36", +} + + +# ---------------------------------------------------------------- glyphs +# Each glyph draws inside a 24x24 box centred on (0,0) — i.e. -12..12. +def _g(body): + return body + + +GLYPHS = { + # model + "sketch": '', + "extrude": '', + "revolve": '', + "sweep": '', + "loft": '', + "thicken": '', + "rib": '', + "boolean": '', + "hole": '', + "thread": '', + "shell": '', + "cut": '', + "split": '', + "fillet": '', + "chamfer": '', + "draft": '', + "surf_off": '', + "pattern": '', + "mirror": '', + "pat_curve": '', + "move": '', + "mate": '', + "align": '', + "plane": '', + "axis": '', + "csys": '', + "helix": '', + "project": '', + "measure": '', + "mass": '', + "interfere": '', + "edit": '', + "del_face": '', + "colour": '', + "delete": '', + # sketch primitives + "sk_line": '', + "sk_rect": '', + "sk_circle": '', + "sk_arc": '', + "sk_slot": '', + "sk_ell": '', + "sk_spline": '', + "sk_poly": '', + "sk_point": '', + "sk_offset": '', + "sk_trim": '', + "sk_ext": '', + "sk_mir": '', + "sk_move": '', + "sk_dim": '', + "sk_lock": '', + "sk_constr": '', + # families (used when a slot holds more than one verb) + "fam_create": '', + "fam_add": '', + "fam_remove": '', + "fam_dressup": '', + "fam_repeat": '', + "fam_transform": '', + "fam_reference": '', + # Deliberately NOT the bare pencil: create/sketch already owns that shape and the two slots + # are adjacent (N and NW). A pencil over a solid reads as "change the thing that exists". + "fam_modify": '' + '', +} + +VERB_GLYPH = { + "sketch": "sketch", "extrude": "extrude", "revolve": "revolve", "sweep": "sweep", + "loft": "loft", "thicken": "thicken", "rib": "rib", "boolean": "boolean", + "surf_extrude": "extrude", "surf_revolve": "revolve", "surf_loft": "loft", + "surf_fill": "surf_off", "thicken_surf": "thicken", "hole": "hole", "thread": "thread", + "shell": "shell", "cut": "cut", "split": "split", "fillet": "fillet", + "chamfer": "chamfer", "draft": "draft", "surf_offset": "surf_off", + "pattern": "pattern", "mirror": "mirror", "pat_curve": "pat_curve", + "transform": "move", "mate": "mate", "align": "align", "plane": "plane", + "axis": "axis", "coordsys_v": "csys", "helix": "helix", "project": "project", + "measure": "measure", "mass_props": "mass", "interference": "interfere", + "edit_feature": "edit", "delete_face": "del_face", "colour": "colour", "delete": "delete", + "sk_line_t": "sk_line", "sk_rect": "sk_rect", "sk_circle": "sk_circle", + "sk_arc_t": "sk_arc", "sk_slot": "sk_slot", "sk_ellipse": "sk_ell", + "sk_spline": "sk_spline", "sk_polygon": "sk_poly", "sk_point_t": "sk_point", + "sk_offset": "sk_offset", "sk_trim": "sk_trim", "sk_fillet": "fillet", + "sk_chamfer": "chamfer", "sk_mirror": "sk_mir", "sk_move": "sk_move", + "sk_dimension": "sk_dim", "sk_constrain": "sk_lock", "sk_construct": "sk_constr", + "sk_extend": "sk_ext", "sk_delete": "delete", +} + + +def glyph(name, cx, cy, colour, scale=1.0, sw=1.6): + body = GLYPHS.get(name, '') + return (f'{body}') + + +# ---------------------------------------------------------------- iso scene +COS30, SIN30 = math.cos(math.radians(30)), math.sin(math.radians(30)) + + +def iso(x, y, z, ox, oy, s=1.0): + return (ox + (x - y) * COS30 * s, oy + (x + y) * SIN30 * s - z * s) + + +def poly(pts, fill, stroke=None, extra=""): + d = " ".join(f"{x:.1f},{y:.1f}" for x, y in pts) + # Only emit our own stroke-width when the caller has not supplied one: a duplicate + # attribute is last-one-wins in a browser but invalid markup, and it is exactly the + # kind of thing a stricter renderer refuses outright. + if stroke: + st = f' stroke="{stroke}"' + ("" if "stroke-width" in extra else ' stroke-width="1"') + else: + st = ' stroke="none"' + return f'' + + +def box(ox, oy, w=150, d=105, h=52, s=1.0, hi=None): + """Three visible faces of a box. `hi` names the face/edge to highlight.""" + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + top = [P(0, 0, h), P(w, 0, h), P(w, d, h), P(0, d, h)] + left = [P(0, d, h), P(w, d, h), P(w, d, 0), P(0, d, 0)] + right = [P(w, 0, h), P(w, d, h), P(w, d, 0), P(w, 0, 0)] + out = [ + poly(left, C["left"], C["edge"]), + poly(right, C["right"], C["edge"]), + poly(top, C["hi"] if hi == "top" else C["top"], C["edge"]), + ] + if hi == "top": + out.append(poly(top, "none", "#ffd07a", ' stroke-width="2.5"')) + if hi == "front_edge": + a, b = P(0, d, h), P(w, d, h) + out.append(f'') + if hi == "vertex": + v = P(w, d, h) + out.append(f'') + if hi == "whole": + out.append(poly(top, "none", "#ffd07a", ' stroke-width="2.5"')) + out.append(poly(left, "none", "#ffd07a", ' stroke-width="2.5"')) + out.append(poly(right, "none", "#ffd07a", ' stroke-width="2.5"')) + return "".join(out), P + + +def bore(P, cx, cy, h, r=22, s=1.0, hi=False): + """A cylindrical bore through the top face, drawn as ellipse + wall.""" + c = P(cx, cy, h) + rx, ry = r * COS30 * 2 * s, r * SIN30 * 2 * s + col = C["hi"] if hi else "#20252b" + wall = C["hi"] if hi == "wall" else "#3b434d" + return (f'' + f'' + + (f'' if hi else "")), c + + +def scene(kind, ox, oy): + """Return (svg, anchor) for a selection kind. Anchor = where the ring centres.""" + s = 1.0 + if kind == "origin": + # A document with nothing in it: the three origin planes are all there is to click. + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + g = poly([P(-70, -70, 0), P(70, -70, 0), P(70, 70, 0), P(-70, 70, 0)], + "#4f9bd91f", "#4f9bd977", ' stroke-width="1.5" stroke-dasharray="6 4"') + g += poly([P(-70, 0, -70), P(70, 0, -70), P(70, 0, 70), P(-70, 0, 70)], + "#e05c5c14", "#e05c5c66", ' stroke-width="1.5" stroke-dasharray="6 4"') + g += poly([P(0, -70, -70), P(0, 70, -70), P(0, 70, 70), P(0, -70, 70)], + "#5ce07a14", "#5ce07a66", ' stroke-width="1.5" stroke-dasharray="6 4"') + return g, P(0, 0, 0) + if kind == "empty": + g, P = box(ox, oy, s=s) + return g, P(75, 52, 26) + if kind == "box_top": + g, P = box(ox, oy, s=s, hi="top") + return g, P(75, 52, 52) + if kind == "box_whole": + g, P = box(ox, oy, s=s, hi="whole") + return g, P(75, 52, 26) + if kind == "box_edge": + g, P = box(ox, oy, s=s, hi="front_edge") + return g, P(75, 105, 52) + if kind == "box_vertex": + g, P = box(ox, oy, s=s, hi="vertex") + return g, P(150, 105, 52) + if kind in ("box_bore", "box_bore_rim"): + g, P = box(ox, oy, s=s) + b, c = bore(P, 75, 52, 52, hi=("wall" if kind == "box_bore" else True)) + return g + b, c + if kind == "box_fillet_face": + g, P = box(ox, oy, s=s) + a, b = P(0, 0, 52), P(0, 105, 52) + g += (f'') + return g, P(0, 52, 52) + if kind == "sheet": + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + pts = [P(0, 0, 40), P(150, 0, 55), P(150, 105, 30), P(0, 105, 18)] + return (poly(pts, C["sheet"], "#ffd07a", ' stroke-width="2.5" opacity="0.85"'), + P(75, 52, 36)) + if kind == "two_boxes": + g1, P1 = box(ox - 60, oy - 10, w=110, d=80, h=44, hi="whole") + g2, P2 = box(ox + 70, oy + 26, w=95, d=70, h=60, hi="whole") + return g1 + g2, (ox + 42, oy + 6) + if kind == "datum": + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + g, _ = box(ox, oy, s=s) + pts = [P(-25, -25, 70), P(175, -25, 70), P(175, 130, 70), P(-25, 130, 70)] + g += poly(pts, "#4f9bd933", C["hi"], ' stroke-width="2.5" stroke-dasharray="6 4"') + return g, P(75, 52, 70) + if kind == "axis": + g, P = box(ox, oy, s=s) + a, b = P(-30, 52, 52), P(180, 52, 52) + g += (f'') + return g, P(75, 52, 52) + if kind == "csys": + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + g, _ = box(ox, oy, s=s) + o = P(0, 0, 52) + for tgt, col in ((P(60, 0, 52), "#e05c5c"), (P(0, 60, 52), "#5ce07a"), (P(0, 0, 112), "#5c9ce0")): + g += (f'') + g += f'' + return g, o + if kind == "art": + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + g, _ = box(ox, oy, s=s) + c = P(75, 52, 52) + g += (f'' + f'ABC') + return g, c + if kind == "loop": + P = lambda x, y, z: iso(x, y, z, ox, oy, s) + g, _ = box(ox, oy, s=s) + pts = [P(28, 22, 52), P(122, 22, 52), P(122, 83, 52), P(28, 83, 52)] + g += poly(pts, C["hi_soft"], C["hi"], ' stroke-width="3"') + return g, P(75, 52, 52) + # --- sketch mode: flat, camera normal to the plane + gx, gy = ox - 30, oy - 10 + grid = "".join( + f'' + for i in range(11)) + "".join( + f'' + for i in range(16)) + if kind == "sk_empty": + return grid, (gx, gy) + if kind == "sk_line": + return (grid + f'' + f'' + f'', (gx, gy + 10)) + if kind == "sk_arc": + return (grid + f'', (gx, gy)) + if kind == "sk_point": + return (grid + f'', (gx, gy)) + if kind == "sk_two": + return (grid + f'' + f'', (gx, gy + 5)) + return grid, (gx, gy) + + +# ---------------------------------------------------------------- app chrome +def chrome(title, status, mode="model", empty_doc=False): + tabs = ["Prepare", "Preview", "Design"] + g = [f'', + f'' + f'' + f'', + f'', + f''] + x = 24 + for t in tabs: + on = (t == "Design") + g.append(f'{t}') + if on: + g.append(f'') + x += len(t) * 9 + 34 + # toolbar + g.append(f'' + f'') + fams = (["sketch", "extrude", "hole", "fillet", "pattern", "boolean", "plane", "move", "measure"] + if mode == "model" else + ["sk_line", "sk_rect", "sk_circle", "sk_arc", "sk_slot", "sk_spline", "sk_dim", "sk_trim", "sk_lock"]) + for i, gl in enumerate(fams): + cx = 40 + i * 46 + g.append(f'') + g.append(glyph(gl, cx, 68, C["muted"], 0.62, 1.7)) + # left rail + g.append(f'' + f'') + g.append(f'FEATURES') + # A "fresh document" mockup that shows six existing features is a lie, and it is the one + # state the group will look at hardest — it is the first-run picture (B5). + tree = ([] if empty_doc else + [("Sketch1", 0), ("Extrude1", 0), ("Hole1", 1), ("Fillet1", 1), ("Sketch2", 0), ("Extrude2", 0)]) + if empty_doc: + g.append(f'nothing yet') + for i, (n, ind) in enumerate(tree): + yy = 150 + i * 26 + g.append(glyph("sketch" if n.startswith("Sketch") else "extrude", 30 + ind * 14, yy - 4, C["dim"], 0.42, 1.8)) + g.append(f'{n}') + # status bar + g.append(f'' + f'{status}') + g.append(f'{title}') + return "".join(g) + + +# ---------------------------------------------------------------- the ring +def ring(cx, cy, items, capacity, sel_name, radius=134): + """items: dict angle_index -> (glyph, label, key, count) or None for an empty slot.""" + # The scrim is deliberately faint. §4.1: the offer "never blocks the view of what it acts + # on" — at 0.55 the disc swallowed the very face the ring was opened on, which is the rule + # failing in its own mockup. + g = [f'', + f'', + f''] + step = 360.0 / capacity + for i in range(capacity): + ang = math.radians(-90 + i * step) + px, py = cx + radius * math.cos(ang), cy + radius * math.sin(ang) + it = items.get(i) + if not it: + g.append(f'') + continue + gl, label, key, count = it + g.append(f'') + g.append(glyph(gl, px, py - 2, C["text"], 0.92, 1.7)) + g.append(f'{label}') + if key: + kw = 13 + len(key) * 6.6 + g.append(f'' + f'{key}') + if count and count > 1: + g.append(f'' + f'{count}') + # The selection name sits on the LOWER rim of the centre hole, not above it: above, it + # landed on top of the north slot's shortcut chip and hid it. Below, the pick stays + # visible through the hole and the pill is clear of the south chip at cy+104. + w = 13 + len(sel_name) * 6.9 + g.append(f'' + f'{sel_name}') + return "".join(g) + + +# ---------------------------------------------------------------- enumeration +def load(): + with open(ATLAS, encoding="utf-8") as f: + return json.load(f) + + +def validate(A): + slot_ids = {s["id"] for s in A["slots"]} + sel_ids = {s["id"] for s in A["selections"]} + errs = [] + seen = {} + for v in A["verbs"]: + if v["slot"] not in slot_ids: + errs.append(f'{v["id"]}: unknown slot {v["slot"]!r}') + for a in v["accepts"]: + if a not in sel_ids: + errs.append(f'{v["id"]}: accepts unknown selection {a!r}') + if v["id"] in seen: + errs.append(f'{v["id"]}: duplicate verb id') + seen[v["id"]] = v["slot"] + if errs: + sys.exit("tool_atlas.json is inconsistent:\n " + "\n ".join(errs)) + return slot_ids, sel_ids + + +def eligible(A, sel_id, doc): + sel = next(s for s in A["selections"] if s["id"] == sel_id) + out = [] + for v in A["verbs"]: + if v.get("mode", "model") != sel["mode"]: + continue + if sel_id not in v["accepts"]: + continue + n = v.get("needs") or {} + if n.get("bodies", 0) > doc["bodies"]: + continue + if n.get("sketches", 0) > doc["sketches"]: + continue + if n.get("sheet") and not doc["sheet"]: + continue + out.append(v) + return out + + +def by_slot(A, verbs): + order = [s["id"] for s in A["slots"]] + d = defaultdict(list) + for v in verbs: + d[v["slot"]].append(v) + return {k: d[k] for k in order if d[k]} + + +def ring_items(A, grouped): + order = [s["id"] for s in A["slots"]] + slot_label = {s["id"]: s["label"] for s in A["slots"]} + items = {} + for i, sid in enumerate(order): + vs = grouped.get(sid) + if not vs: + continue + if len(vs) == 1: + v = vs[0] + items[i] = (VERB_GLYPH.get(v["id"], "fam_" + sid), v["name"], v.get("key"), 1) + else: + items[i] = ("fam_" + sid, slot_label[sid], None, len(vs)) + return items + + +# ---------------------------------------------------------------- rendering +def menu(cx, cy, header, rows, submenu=None, sub_at=None): + """Vertical list form of the offer. rows: (glyph, name, key, count, enabled, reason). + + The invariant is unchanged — a verb has one permanent row index, and rows that do not + apply are DISABLED IN PLACE, never removed. What changes against the ring is what an + unavailable slot can say: an empty circle says nothing, a greyed row says its own name + and the reason it is grey, in the words the product already ships. + """ + RW, RH, HD = 324, 34, 38 + # The reason line is the whole point of a disabled row, so it must FIT: at 10px italic a + # glyph is ~4.9px, and anything past the box edge is a promise the layout does not keep. + fit = int((RW - 62) / 4.9) + x, y = cx + 26, cy - 30 + h = HD + len(rows) * RH + 10 + if y + h > H - 44: + y = max(100, H - 44 - h) + g = [f'', + f'', + f'{header.upper()}', + f''] + # a leader from the pick point to the menu, so the list is visibly ABOUT that geometry + g.insert(0, f'') + g.insert(0, f'') + for i, (gl, name, key, count, on, reason) in enumerate(rows): + ry = y + HD + i * RH + op = "1" if on else "0.34" + if on and i == 0: + g.append(f'') + g.append(f'') + g.append(glyph(gl, x + 26, ry + RH / 2, C["text"], 0.72, 1.7)) + g.append(f'{name}') + if key: + kw = 13 + len(key) * 6.6 + g.append(f'' + f'{key}') + elif count and count > 1: + g.append(f'') + g.append(f'{count}') + g.append('') + if not on and reason: + r = reason if len(reason) <= fit else reason[:fit - 1].rstrip(" ,—-") + "…" + g.append(f'{r}') + if submenu: + sy = y + HD + (sub_at or 0) * RH - 6 + sh = 12 + len(submenu) * RH + sx = x + RW + 8 + g.append(f'') + g.append(f'') + for i, (gl, name, key, _c, on, _r) in enumerate(submenu): + ry = sy + 6 + i * RH + g.append(f'') + g.append(glyph(gl, sx + 24, ry + RH / 2, C["text"], 0.72, 1.7)) + g.append(f'{name}') + if key: + kw = 13 + len(key) * 6.6 + g.append(f'' + f'{key}') + g.append('') + return "".join(g) + + +OVERFLOWS = [] # (selection, doc state, family, verbs that did not fit the sub-ring) + + +def svg_doc(inner): + return (f'{inner}') + + +def render_list_state(A, sel, doc, expand=None): + """The vertical-list form: every family row always present, in the same order, with the + ones that do not apply disabled and carrying their reason.""" + verbs = eligible(A, sel["id"], doc) + grouped = by_slot(A, verbs) + fresh = doc["bodies"] == 0 and doc["sketches"] == 0 + shape = "origin" if (fresh and sel["shape"] == "empty") else sel["shape"] + art, (ax, ay) = scene(shape, 620, 360) + rows, sub, sub_at = [], None, None + for idx, s in enumerate(A["slots"]): + vs = grouped.get(s["id"], []) + if len(vs) == 1: + v = vs[0] + rows.append((VERB_GLYPH.get(v["id"], "fam_" + s["id"]), v["name"], v.get("key"), 1, True, None)) + elif len(vs) > 1: + rows.append(("fam_" + s["id"], s["label"], None, len(vs), True, None)) + if expand == s["id"]: + sub_at = idx + sub = [(VERB_GLYPH.get(v["id"], "fam_" + s["id"]), v["name"], v.get("key"), 1, True, None) + for v in vs] + else: + # Disabled in place, with the product's own refusal text — the thing an empty + # slot in the ring could never say. + cands = [v for v in A["verbs"] + if v["slot"] == s["id"] and v.get("mode", "model") == sel["mode"]] + why = next((v["refusal"] for v in cands if v.get("refusal")), None) + rows.append(("fam_" + s["id"], s["label"], None, 0, False, why)) + status = ("Right-click the geometry to see what you can do with it" if not expand + else f'{sel["name"]} — pick one') + inner = chrome(f'{doc["name"]} · vertical list', status, sel["mode"], empty_doc=fresh) + inner += art + inner += menu(ax, ay, sel["name"], rows, sub, sub_at) + return svg_doc(inner) + + +def render_state(A, sel, doc, capacity=8, secondary=None): + verbs = eligible(A, sel["id"], doc) + grouped = by_slot(A, verbs) + anchor_x, anchor_y = 810, 400 + fresh = doc["bodies"] == 0 and doc["sketches"] == 0 + shape = "origin" if (fresh and sel["shape"] == "empty") else sel["shape"] + art, (ax, ay) = scene(shape, anchor_x - 90, anchor_y - 40) + if secondary: + vs = grouped[secondary] + # A sub-ring ANCHORS ON ITS PARENT'S DIRECTION. Fanning from north instead put Extrude + # at N — Create's address in the primary map — so the second level contradicted the + # first. Anchored, an address is two consistent strokes: Add material is NE, and the + # first verb of Add material is NE again. + base = [s["id"] for s in A["slots"]].index(secondary) + overflow = [] + if len(vs) > capacity: + # Do NOT wrap: (base+i) % capacity would quietly put verb 9 on top of verb 1, which + # is the invariant failing silently — the one outcome worse than an ugly ring. Show + # what fits, mark the rest, and report it. + overflow = vs[capacity - 1:] + vs = vs[:capacity - 1] + items = {(base + i) % capacity: + (VERB_GLYPH.get(v["id"], "fam_" + secondary), v["name"], v.get("key"), 1) + for i, v in enumerate(vs)} + if overflow: + items[(base + capacity - 1) % capacity] = ("fam_" + secondary, "More", None, len(overflow)) + OVERFLOWS.append((sel["name"], doc["id"], secondary, [v["name"] for v in overflow])) + label = next(s["label"] for s in A["slots"] if s["id"] == secondary) + sel_name = f'{sel["name"]} · {label}' + status = f'{label} — pick one' + else: + items = ring_items(A, grouped) + sel_name = sel["name"] + status = ("Click a face or a reference plane, then a tool" + if sel["id"] == "none" else f'{sel["name"]} selected — pick what to do with it') + inner = chrome(f'{doc["name"]} · {capacity} slots', status, sel["mode"], empty_doc=fresh) + inner += art + inner += ring(ax, ay, items, capacity, sel_name) + return svg_doc(inner), verbs, grouped + + +def main(): + A = load() + validate(A) + docs = {d["id"]: d for d in A["doc_states"]} + outdir = HERE + rows, files = [], [] + total_primary = total_secondary = 0 + fill_sum = fill_n = 0 + + for d in A["doc_states"]: + for sel in A["selections"]: + svg, verbs, grouped = render_state(A, sel, d) + name = f'{d["id"]}__{sel["id"]}.svg' + with open(os.path.join(outdir, name), "w", encoding="utf-8") as f: + f.write(svg) + files.append((name, f'{sel["name"]} — {d["name"]}')) + total_primary += 1 + fill_sum += len(grouped) + fill_n += 1 + secondaries = [] + for sid, vs in grouped.items(): + if len(vs) > 1: + s2, _, _ = render_state(A, sel, d, secondary=sid) + n2 = f'{d["id"]}__{sel["id"]}__{sid}.svg' + with open(os.path.join(outdir, n2), "w", encoding="utf-8") as f: + f.write(s2) + label = next(s["label"] for s in A["slots"] if s["id"] == sid) + files.append((n2, f'{sel["name"]} — {label} ring')) + secondaries.append(sid) + total_secondary += 1 + rows.append({ + "doc": d["name"], "sel": sel["name"], "mode": sel["mode"], + "verbs": len(verbs), "slots": len(grouped), + "second": len(secondaries), + "detail": {sid: [v["name"] for v in vs] for sid, vs in grouped.items()}, + }) + + # Form-factor comparison: the SAME state as a ring and as a vertical list. + for sid in ("face_planar", "edge_str", "body_solid", "sk_line", "none"): + sel = next(s for s in A["selections"] if s["id"] == sid) + d = docs["fresh"] if sid == "none" else docs["rich"] + with open(os.path.join(outdir, f"list__{sid}.svg"), "w", encoding="utf-8") as f: + f.write(render_list_state(A, sel, d)) + for sid, fam in (("face_planar", "add"), ("sk_none", "create")): + sel = next(s for s in A["selections"] if s["id"] == sid) + with open(os.path.join(outdir, f"list__{sid}__{fam}.svg"), "w", encoding="utf-8") as f: + f.write(render_list_state(A, sel, docs["rich"], expand=fam)) + + # comparison sheet: 8 vs 12 slots on the same three selections + for cap in (8, 12): + for sid in ("face_planar", "edge_str", "sk_line"): + sel = next(s for s in A["selections"] if s["id"] == sid) + svg, _, _ = render_state(A, sel, docs["rich"], capacity=cap) + n = f'cmp_{cap}__{sid}.svg' + with open(os.path.join(outdir, n), "w", encoding="utf-8") as f: + f.write(svg) + + write_atlas(A, rows, files, total_primary, total_secondary, + fill_sum / max(1, fill_n)) + print(f"{total_primary} primary + {total_secondary} secondary = " + f"{total_primary+total_secondary} offer states rendered") + print(f"mean populated slots per primary ring: {fill_sum/max(1,fill_n):.2f} of 8") + if OVERFLOWS: + seen = {(f, tuple(v)) for _, _, f, v in OVERFLOWS} + print(f"OVERFLOW: {len(OVERFLOWS)} sub-rings did not fit 8 slots — " + f"{len(seen)} distinct case(s):") + for f, v in sorted(seen): + print(f" {f}: {', '.join(v)} pushed behind 'More'") + + +def write_atlas(A, rows, files, n_prim, n_sec, mean_fill): + gui_missing = [v["name"] for v in A["verbs"] if not v.get("gui", True)] + esc = lambda s: (s.replace("&", "&").replace("<", "<").replace(">", ">")) + cards = "".join( + f'
{esc(t)}
{esc(t)}
' + for n, t in files) + cmp8 = "".join(f'
' + f'
8 slots — {s}
' + for s in ("face_planar", "edge_str", "sk_line")) + cmp12 = "".join(f'
' + f'
12 slots — {s}
' + for s in ("face_planar", "edge_str", "sk_line")) + if OVERFLOWS: + cases = sorted({(f, tuple(v)) for _, _, f, v in OVERFLOWS}) + over_html = ("Measured, not predicted: " + "; ".join( + f'the {esc(f)} sub-ring needs {8 + len(v)} addresses, so ' + f'{esc(", ".join(v))} {"is" if len(v) == 1 else "are"} pushed behind a “More” slot' + for f, v in cases) + + ". This is the decision the ring size actually turns on — either a verb moves to " + "another family, or the tail goes to a third level, or the ring is not eight. " + "It affects sketch mode only; every model-mode family fits.") + else: + over_html = "No sub-ring exceeds the ring capacity. Eight slots is sufficient everywhere." + trs = "".join( + f'{esc(r["sel"])}{esc(r["doc"])}{r["verbs"]}' + f'{r["slots"]}/8{r["second"]}' + f'{esc(" · ".join(k + ": " + ", ".join(v) for k, v in r["detail"].items()))}' + for r in rows) + html = f"""Design tab — offer atlas + +
+

The offer — atlas of every state

+

Every state of the object-driven tool offer, generated from + docs/ux/tool_atlas.json. The invariant under test: a verb has one address, that + address is the same in every selection where it appears, and slots that do not apply are drawn + empty rather than compacted.

+
+
{len(A["verbs"])}verbs mapped
+
{len(A["selections"])}selection kinds
+
{n_prim}primary rings
+
{n_sec}secondary rings
+
{n_prim+n_sec}states total
+
{mean_fill:.1f}/8mean slots filled
+
{len(gui_missing)}verbs with no GUI yet
+
+
+
+

Decision 0 — ring or vertical list

+

The live question. Both forms carry the SAME map and the same invariant — fixed order, never + re-sorted, nothing compacted; only the geometry differs. Left-click selects; right-click opens the + offer. What the list buys: a disabled row can state its own reason in the words the product + already ships, where an empty slot in a ring is mute; nine sketch primitives fit without an + overflow; shortcuts line up in a readable column; long translated names fit; and it is navigable + by arrow key and by screen reader, which a radial is not. What it costs: no equidistant flick + gesture, and travel to the last row is longer than to the nearest direction. Pairs below — + list first, the same state as a ring second.

+ +

Decision 1 — ring capacity

+

The same three selections at eight and at twelve. Eight keeps 45° between neighbours, which is + the reliable eyes-free pointing threshold and maps 1:1 to the numpad; twelve buys direct addresses + for more verbs at 30° spacing and positions that stop being nameable.

+
{cmp8}
+
{cmp12}
+ +

Decision 2 — one map or one per mode

+

These renders use ONE shared map: sketch verbs occupy the same eight families as model verbs, + so dress-up is south-east whether you picked a solid edge or a sketch line. Compare the sketch-mode + states below against the model-mode ones — if a verb that exists in both modes ever appears at two + addresses, the shared map has failed and the split map is the answer.

+ +

The matrix — every selection, every document state

+
+ + {trs} +
SelectionDocumentVerbsSlots2nd ringsWhat lands where
+ +

Overflow — the one place eight slots is not enough

+

{over_html}

+ +

Not in the offer

+

{esc(", ".join(A["chrome_only"]["items"]))} — these act on the document, not on a selection, + so they stay in chrome. Verbs with kernel support but no GUI today, which still hold an address: + {esc(", ".join(gui_missing))}.

+ +

All states

+
{cards}
+
+""" + with open(os.path.join(UX, "offer_atlas.html"), "w", encoding="utf-8") as f: + f.write(html) + + # A second, SELF-CONTAINED copy for review outside the repo: the artifact host blocks + # every external request, so relative would silently show nothing. Curated + # rather than all 113 states — the whole set inlined is 1.5 MB, which is a poor thing to + # send to the low-end machine this design is meant to serve (6.1). + def inline(name): + p = os.path.join(HERE, name) + if not os.path.exists(p): + return "" + s = open(p, encoding="utf-8").read() + return s.replace("{inline(n)}
{esc(t)}
' + for n, t in picks if inline(n)) + head, _, tail = html.partition('

All states

') + # The comparison grids in the head use , which resolves to nothing + # once the page is served on its own. Inline those too rather than shipping empty frames. + head = re.sub(r']*>', + lambda m: inline(m.group(1)), head) + inline_html = head + '

The states

\n
' + figs + '
\n' + with open(os.path.join(UX, "offer_atlas_inline.html"), "w", encoding="utf-8") as f: + f.write(inline_html) + + +if __name__ == "__main__": + main() diff --git a/docs/CAD/ux/mockups/gen_offer_table.py b/docs/CAD/ux/mockups/gen_offer_table.py new file mode 100644 index 0000000000..9744f9288b --- /dev/null +++ b/docs/CAD/ux/mockups/gen_offer_table.py @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 +"""Emit the C++ offer table from docs/ux/tool_atlas.json. + + python3 docs/ux/mockups/gen_offer_table.py + +The map exists ONCE. The mockups and the shipping menu read the same rows in the same +order from the same file, so a drawing and the product cannot drift apart — which is the +only way row constancy (charter 4.1) survives contact with a codebase. + +Output: src/slic3r/GUI/CAD/DesignOffer.hpp, checked in and never hand-edited. +""" + +import json +import os +import sys + +HERE = os.path.dirname(os.path.abspath(__file__)) +UX = os.path.dirname(HERE) +# One dirname more than you would expect: this generator lives at docs/CAD/ux/mockups/, +# not docs/ux/mockups/, since the design docs moved into the CAD subfolder (bbd1989e1e). +# With the old count REPO resolved to docs/, so OUT pointed at docs/src/.../DesignOffer.hpp, +# which does not exist -- and --check then diffed the real generated table against an empty +# file and reported the whole 189-line header as a difference. +REPO = os.path.dirname(os.path.dirname(os.path.dirname(UX))) +ATLAS = os.path.join(UX, "tool_atlas.json") +OUT = os.path.join(REPO, "src", "slic3r", "GUI", "CAD", "DesignOffer.hpp") + +# selection id -> C++ enumerator +ENUM = { + "none": "None", "face_planar": "FacePlanar", "face_cyl": "FaceCyl", + "face_other": "FaceOther", "edge_str": "EdgeStr", "edge_circ": "EdgeCirc", + "vertex": "Vertex", "body_solid": "BodySolid", "body_sheet": "BodySheet", + "bodies_2": "Bodies2", "datum_plane": "DatumPlane", "datum_axis": "DatumAxis", + "coordsys": "CoordSys", "art": "Art", "sk_loop": "SkLoop", "sk_none": "SkNone", + "sk_line": "SkLine", "sk_arc": "SkArc", "sk_point": "SkPoint", "sk_2ent": "Sk2Ent", +} + + +def cstr(s): + if s is None: + return "nullptr" + return '"' + s.replace("\\", "\\\\").replace('"', '\\"') + '"' + + +def main(): + A = json.load(open(ATLAS, encoding="utf-8")) + sels = [s["id"] for s in A["selections"]] + assert all(s in ENUM for s in sels), [s for s in sels if s not in ENUM] + slots = [s["id"] for s in A["slots"]] + + lines = [ + "// GENERATED FILE — DO NOT EDIT.", + "// Source: docs/ux/tool_atlas.json Generator: docs/ux/mockups/gen_offer_table.py", + "//", + "// The object-driven tool offer (charter 4.1): every verb has ONE row index, that index", + "// is the same in every selection it appears in, and verbs that do not apply are shown", + "// disabled in place with their reason rather than removed. Row order was ratified", + "// 2026-07-31; changing an index is a breaking change to every user's muscle memory.", + "#ifndef slic3r_GUI_DesignOffer_hpp_", + "#define slic3r_GUI_DesignOffer_hpp_", + "", + "#include ", + "", + "namespace Slic3r { namespace GUI {", + "", + "// What the viewport has selected. Ordered as in tool_atlas.json; the bitmask in", + "// OfferVerb::accepts indexes these.", + "enum class OfferSel : int {", + ] + for i, s in enumerate(sels): + lines.append(f" {ENUM[s]} = {i},") + lines += [ + f" Count = {len(sels)}", + "};", + "", + "inline uint32_t offer_bit(OfferSel s) { return 1u << int(s); }", + "", + "// One row of the offer. `action` routes to the code that already implements the verb:", + '// "key:S+E" -> m_keys_feature[SHIFT(\'E\')]', + '// "key:L" -> m_keys_sketch[\'L\']', + '// "fly:material#4" -> row 4 of the "material" feature flyout', + '// "btn:delete" -> a standalone toolbar button', + "// nullptr -> kernel support exists, no GUI path yet (row shows disabled)", + "struct OfferVerb {", + " const char* id;", + " const char* name; // drawing-office word (L10); translated at use with wxGetTranslation", + " int row; // 0..7, the ratified index — NEVER reorder", + " const char* key; // shortcut shown in the row, or nullptr", + " const char* action;", + " const char* refusal; // why this row is greyed, in the product's own words", + " uint32_t accepts; // bitmask over OfferSel", + " int need_bodies;", + " int need_sketches;", + " bool need_sheet;", + " bool sketch_mode; // belongs to the sketch-mode vocabulary, not the model one", + " // Second level INSIDE a row, for tools that come in variants: \"Rectangle\" holds corner,", + " // centre, oblique and rounded. nullptr = sits directly in the row. Keeps the row's own", + " // address fixed (L4.1) while the variants hang one level below it, mirroring the toolbar's", + " // grouping instead of flattening 19 create tools into one wall.", + " const char* family;", + " const char* icon; // resources/images name, or nullptr — the offer draws it beside the row", + " const char* hint; // what the verb does / what to click; shown on hover", + "};", + "", + "// Row labels, in ratified order.", + "static const char* const kOfferRowNames[] = {", + ] + for s in A["slots"]: + lines.append(f' "{s["label"]}",') + lines += [ + "};", + f"static const int kOfferRowCount = {len(slots)};", + "", + "static const OfferVerb kOfferVerbs[] = {", + ] + # A verb the user can PICK must say what it does. Fail loudly rather than ship a + # bare name — the offer is now the only door to these tools. + blind = [v["id"] for v in A["verbs"] if v.get("action") and not v.get("hint")] + assert not blind, f"wired verbs with no hint: {blind}" + for v in A["verbs"]: + # A verb may carry a NOTE: the reason it exists, emitted as a C++ comment above its row. + # Without somewhere to put it, a rationale written into the generated header is deleted by + # the next regeneration — which is how the model-mode "Constrain sketch" row came to exist + # in the header and not in the atlas at all (ziam). The map exists once; so does + # the explanation. + for ln in ([v["note"]] if isinstance(v.get("note"), str) else v.get("note") or []): + lines.append(f" // {ln}") + mask = 0 + for a in v["accepts"]: + mask |= 1 << sels.index(a) + n = v.get("needs") or {} + lines.append( + " {%s, %s, %d, %s, %s, %s, 0x%08xu, %d, %d, %s, %s, %s, %s, %s}," % ( + cstr(v["id"]), cstr(v["name"]), slots.index(v["slot"]), + cstr(v.get("key")), cstr(v.get("action")), cstr(v.get("refusal")), + mask, n.get("bodies", 0), n.get("sketches", 0), + "true" if n.get("sheet") else "false", + "true" if v.get("mode") == "sketch" else "false", + cstr(v.get("family")), cstr(v.get("icon")), cstr(v.get("hint")))) + lines += [ + "};", + f"static const int kOfferVerbCount = {len(A['verbs'])};", + "", + "}} // namespace Slic3r::GUI", + "", + "#endif // slic3r_GUI_DesignOffer_hpp_", + "", + ] + text = "\n".join(lines) + # --check: prove the checked-in header IS what this generator produces, and change nothing. + # The header calls itself GENERATED and was hand-edited anyway; a claim like that is only + # worth having if something enforces it, so run-all-checks.sh runs this on every gate. + if "--check" in sys.argv: + have = open(OUT, encoding="utf-8").read() if os.path.exists(OUT) else "" + if have == text: + print(f"{os.path.relpath(OUT, REPO)} matches tool_atlas.json") + return 0 + import difflib + d = list(difflib.unified_diff(have.splitlines(), text.splitlines(), + "checked-in", "generated", lineterm="", n=1)) + print(f"{os.path.relpath(OUT, REPO)} DIFFERS from tool_atlas.json:") + print("\n".join(d[:60])) + return 1 + with open(OUT, "w", encoding="utf-8") as f: + f.write(text) + wired = sum(1 for v in A["verbs"] if v.get("action")) + print(f"wrote {os.path.relpath(OUT, REPO)}: {len(A['verbs'])} verbs, " + f"{len(slots)} rows, {wired} wired to existing actions") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/docs/CAD/ux/mockups/list__body_solid.svg b/docs/CAD/ux/mockups/list__body_solid.svg new file mode 100644 index 0000000000..ec3b3a84f4 --- /dev/null +++ b/docs/CAD/ux/mockups/list__body_solid.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSOLID BODYCreateClick a face or a reference plane in the viewport, t…Add materialCreate a sketch, or pick a solid face, firstRemove3Dress-up2Repeat3MoveShift+YReference3Modify3 \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__edge_str.svg b/docs/CAD/ux/mockups/list__edge_str.svg new file mode 100644 index 0000000000..3942000d25 --- /dev/null +++ b/docs/CAD/ux/mockups/list__edge_str.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSTRAIGHT EDGECreateClick a face or a reference plane in the viewport, t…Add materialCreate a sketch, or pick a solid face, firstRemovePick a face or a plane to drill intoDress-up2Pattern on CurveTransformTransform needs a body — add or import one firstReference3ModifyDelete Face needs a body — add or import one first \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__face_planar.svg b/docs/CAD/ux/mockups/list__face_planar.svg new file mode 100644 index 0000000000..5ff6892902 --- /dev/null +++ b/docs/CAD/ux/mockups/list__face_planar.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listPLANAR FACESketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2 \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__face_planar__add.svg b/docs/CAD/ux/mockups/list__face_planar__add.svg new file mode 100644 index 0000000000..fb80f2a5c7 --- /dev/null +++ b/docs/CAD/ux/mockups/list__face_planar__add.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face — pick oneWorking document · vertical listPLANAR FACESketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2ExtrudeShift+EThicken \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__none.svg b/docs/CAD/ux/mockups/list__none.svg new file mode 100644 index 0000000000..1e68606383 --- /dev/null +++ b/docs/CAD/ux/mockups/list__none.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESnothing yetRight-click the geometry to see what you can do with itFresh document · vertical listNOTHING SELECTEDSketchShift+SAdd materialCreate a sketch, or pick a solid face, firstRemovePick a face or a plane to drill intoDress-upPick an edge to roundRepeatCreate a solid body to pattern firstTransformTransform needs a body — add or import one firstReference4ModifyDelete Face needs a body — add or import one first \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__sk_line.svg b/docs/CAD/ux/mockups/list__sk_line.svg new file mode 100644 index 0000000000..1b1c2e9cd2 --- /dev/null +++ b/docs/CAD/ux/mockups/list__sk_line.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSKETCH LINECreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2 \ No newline at end of file diff --git a/docs/CAD/ux/mockups/list__sk_none__create.svg b/docs/CAD/ux/mockups/list__sk_none__create.svg new file mode 100644 index 0000000000..0b41268fa6 --- /dev/null +++ b/docs/CAD/ux/mockups/list__sk_none__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch, nothing picked — pick oneWorking document · vertical listSKETCH, NOTHING PICKEDCreate9Add materialRemoveDress-upRepeatTransformReference2ModifyLineLRectangleRCircleCArcASlotSEllipseESplineBPolygonGPointP \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__art.svg b/docs/CAD/ux/mockups/rich__art.svg new file mode 100644 index 0000000000..e835ed1ce0 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__art.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Text / imported art selected — pick what to do with itWorking document · 8 slotsABCPatternShift+NMoveShift+YModify2Text / imported art \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__art__modify.svg b/docs/CAD/ux/mockups/rich__art__modify.svg new file mode 100644 index 0000000000..4c8cdef2b5 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__art__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsABCDeleteDelEditText / imported art · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__bodies_2.svg b/docs/CAD/ux/mockups/rich__bodies_2.svg new file mode 100644 index 0000000000..a977b7f1de --- /dev/null +++ b/docs/CAD/ux/mockups/rich__bodies_2.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Two bodies selected — pick what to do with itWorking document · 8 slotsCombineShift+BMateReference2DeleteDelTwo bodies \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__bodies_2__reference.svg b/docs/CAD/ux/mockups/rich__bodies_2__reference.svg new file mode 100644 index 0000000000..1bfbac0db0 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__bodies_2__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsMeasureInterferenceTwo bodies · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_sheet.svg b/docs/CAD/ux/mockups/rich__body_sheet.svg new file mode 100644 index 0000000000..a1cc27808d --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_sheet.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sheet body selected — pick what to do with itWorking document · 8 slotsThicken SurfaceSurface OffsetMoveShift+YMeasureModify3Sheet body \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_sheet__modify.svg b/docs/CAD/ux/mockups/rich__body_sheet__modify.svg new file mode 100644 index 0000000000..7ce8dbee54 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_sheet__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsColourDeleteDelEditSheet body · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid.svg b/docs/CAD/ux/mockups/rich__body_solid.svg new file mode 100644 index 0000000000..e958532347 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Solid body selected — pick what to do with itWorking document · 8 slotsRemove3Dress-up2Repeat3MoveShift+YReference3Modify3Solid body \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid__dressup.svg b/docs/CAD/ux/mockups/rich__body_solid__dressup.svg new file mode 100644 index 0000000000..7a9ceed334 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletShift+FChamferSolid body · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid__modify.svg b/docs/CAD/ux/mockups/rich__body_solid__modify.svg new file mode 100644 index 0000000000..7a6340d40f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsColourDeleteDelEditSolid body · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid__reference.svg b/docs/CAD/ux/mockups/rich__body_solid__reference.svg new file mode 100644 index 0000000000..27639836c6 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsMassProjectMeasureSolid body · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid__remove.svg b/docs/CAD/ux/mockups/rich__body_solid__remove.svg new file mode 100644 index 0000000000..edbddb7115 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid__remove.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Remove — pick oneWorking document · 8 slotsShellShift+KCutShift+XSplitSolid body · Remove \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__body_solid__repeat.svg b/docs/CAD/ux/mockups/rich__body_solid__repeat.svg new file mode 100644 index 0000000000..74dd67c7de --- /dev/null +++ b/docs/CAD/ux/mockups/rich__body_solid__repeat.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Repeat — pick oneWorking document · 8 slotsPatternShift+NMirrorShift+ZPattern on CurveSolid body · Repeat \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__coordsys.svg b/docs/CAD/ux/mockups/rich__coordsys.svg new file mode 100644 index 0000000000..8cef106106 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__coordsys.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Coordinate system selected — pick what to do with itWorking document · 8 slotsMateModify2Coordinate system \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__coordsys__modify.svg b/docs/CAD/ux/mockups/rich__coordsys__modify.svg new file mode 100644 index 0000000000..92eb28d3dc --- /dev/null +++ b/docs/CAD/ux/mockups/rich__coordsys__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelEditCoordinate system · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_axis.svg b/docs/CAD/ux/mockups/rich__datum_axis.svg new file mode 100644 index 0000000000..c9da648ab7 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_axis.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Datum axis selected — pick what to do with itWorking document · 8 slotsModify2Datum axis \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_axis__modify.svg b/docs/CAD/ux/mockups/rich__datum_axis__modify.svg new file mode 100644 index 0000000000..fd0ae80c52 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_axis__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelEditDatum axis · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_plane.svg b/docs/CAD/ux/mockups/rich__datum_plane.svg new file mode 100644 index 0000000000..8ef88bd9a3 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_plane.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Datum plane selected — pick what to do with itWorking document · 8 slotsSketchShift+SRemove2MirrorShift+ZReference3Modify2Datum plane \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_plane__modify.svg b/docs/CAD/ux/mockups/rich__datum_plane__modify.svg new file mode 100644 index 0000000000..39e5cad41e --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_plane__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelEditDatum plane · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_plane__reference.svg b/docs/CAD/ux/mockups/rich__datum_plane__reference.svg new file mode 100644 index 0000000000..bae3119b6b --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_plane__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsProjectPlaneShift+PHelixDatum plane · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__datum_plane__remove.svg b/docs/CAD/ux/mockups/rich__datum_plane__remove.svg new file mode 100644 index 0000000000..c98b33ad31 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__datum_plane__remove.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Remove — pick oneWorking document · 8 slotsHoleShift+HCutShift+XDatum plane · Remove \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__edge_circ.svg b/docs/CAD/ux/mockups/rich__edge_circ.svg new file mode 100644 index 0000000000..1d07291623 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__edge_circ.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Circular edge selected — pick what to do with itWorking document · 8 slotsThreadShift+TDress-up2MeasureCircular edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__edge_circ__dressup.svg b/docs/CAD/ux/mockups/rich__edge_circ__dressup.svg new file mode 100644 index 0000000000..b315fc2e22 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__edge_circ__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletShift+FChamferCircular edge · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__edge_str.svg b/docs/CAD/ux/mockups/rich__edge_str.svg new file mode 100644 index 0000000000..2c41ce74fc --- /dev/null +++ b/docs/CAD/ux/mockups/rich__edge_str.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 8 slotsDress-up2Pattern on CurveReference3Straight edge \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__edge_str__dressup.svg b/docs/CAD/ux/mockups/rich__edge_str__dressup.svg new file mode 100644 index 0000000000..8e674c044f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__edge_str__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletShift+FChamferStraight edge · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__edge_str__reference.svg b/docs/CAD/ux/mockups/rich__edge_str__reference.svg new file mode 100644 index 0000000000..bc99ca6a13 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__edge_str__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsMeasurePlaneShift+PAxisShift+AStraight edge · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_cyl.svg b/docs/CAD/ux/mockups/rich__face_cyl.svg new file mode 100644 index 0000000000..3c2860373f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_cyl.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Cylindrical face selected — pick what to do with itWorking document · 8 slotsThreadShift+TReference3Modify2Cylindrical face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_cyl__modify.svg b/docs/CAD/ux/mockups/rich__face_cyl__modify.svg new file mode 100644 index 0000000000..9f573682ad --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_cyl__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDelete FaceEditCylindrical face · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_cyl__reference.svg b/docs/CAD/ux/mockups/rich__face_cyl__reference.svg new file mode 100644 index 0000000000..a62be81de8 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_cyl__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsMeasureAxisShift+AHelixCylindrical face · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_other.svg b/docs/CAD/ux/mockups/rich__face_other.svg new file mode 100644 index 0000000000..e5cff4eee5 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_other.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Curved face selected — pick what to do with itWorking document · 8 slotsThickenDraftShift+DMeasureModify2Curved face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_other__modify.svg b/docs/CAD/ux/mockups/rich__face_other__modify.svg new file mode 100644 index 0000000000..8b5fcfd63f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_other__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDelete FaceEditCurved face · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar.svg b/docs/CAD/ux/mockups/rich__face_planar.svg new file mode 100644 index 0000000000..5a58e2fb72 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__add.svg b/docs/CAD/ux/mockups/rich__face_planar__add.svg new file mode 100644 index 0000000000..82acc85038 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__add.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Add material — pick oneWorking document · 8 slotsExtrudeShift+EThickenPlanar face · Add material \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__dressup.svg b/docs/CAD/ux/mockups/rich__face_planar__dressup.svg new file mode 100644 index 0000000000..8d32b9f212 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletShift+FChamferDraftShift+DPlanar face · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__modify.svg b/docs/CAD/ux/mockups/rich__face_planar__modify.svg new file mode 100644 index 0000000000..bffd218131 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDelete FaceEditPlanar face · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__reference.svg b/docs/CAD/ux/mockups/rich__face_planar__reference.svg new file mode 100644 index 0000000000..4682f1e7b1 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsCoord SysShift+CProjectMeasurePlaneShift+PAxisShift+APlanar face · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__remove.svg b/docs/CAD/ux/mockups/rich__face_planar__remove.svg new file mode 100644 index 0000000000..b77a5a0c50 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__remove.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Remove — pick oneWorking document · 8 slotsHoleShift+HShellShift+KPlanar face · Remove \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__face_planar__transform.svg b/docs/CAD/ux/mockups/rich__face_planar__transform.svg new file mode 100644 index 0000000000..2e27983c8b --- /dev/null +++ b/docs/CAD/ux/mockups/rich__face_planar__transform.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Transform — pick oneWorking document · 8 slotsMateAlign toPlanar face · Transform \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__none.svg b/docs/CAD/ux/mockups/rich__none.svg new file mode 100644 index 0000000000..4e8a9dc640 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__none.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Click a face or a reference plane, then a toolWorking document · 8 slotsSketchShift+SReference4Nothing selected \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__none__reference.svg b/docs/CAD/ux/mockups/rich__none__reference.svg new file mode 100644 index 0000000000..14c47c4b27 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__none__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsCoord SysShift+CHelixPlaneShift+PAxisShift+ANothing selected · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_2ent.svg b/docs/CAD/ux/mockups/rich__sk_2ent.svg new file mode 100644 index 0000000000..738b01ecf2 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_2ent.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Two sketch entities selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Two sketch entities \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_2ent__create.svg b/docs/CAD/ux/mockups/rich__sk_2ent__create.svg new file mode 100644 index 0000000000..6d27ffa34a --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_2ent__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Two sketch entities · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_2ent__dressup.svg b/docs/CAD/ux/mockups/rich__sk_2ent__dressup.svg new file mode 100644 index 0000000000..929520b8d2 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_2ent__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletFChamferHTwo sketch entities · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_2ent__modify.svg b/docs/CAD/ux/mockups/rich__sk_2ent__modify.svg new file mode 100644 index 0000000000..d8be7c2d4f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_2ent__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelExtendXTwo sketch entities · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_2ent__reference.svg b/docs/CAD/ux/mockups/rich__sk_2ent__reference.svg new file mode 100644 index 0000000000..9ffc2592a8 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_2ent__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsConstructionQDimensionDConstrainKTwo sketch entities · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_arc.svg b/docs/CAD/ux/mockups/rich__sk_arc.svg new file mode 100644 index 0000000000..d470369f1a --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_arc.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch arc or circle selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTMirrorMMoveReference3Modify2Sketch arc or circle \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_arc__create.svg b/docs/CAD/ux/mockups/rich__sk_arc__create.svg new file mode 100644 index 0000000000..1f901596ec --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_arc__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch arc or circle · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_arc__modify.svg b/docs/CAD/ux/mockups/rich__sk_arc__modify.svg new file mode 100644 index 0000000000..52f9d7d3e5 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_arc__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelExtendXSketch arc or circle · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_arc__reference.svg b/docs/CAD/ux/mockups/rich__sk_arc__reference.svg new file mode 100644 index 0000000000..53e949c184 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_arc__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsConstructionQDimensionDConstrainKSketch arc or circle · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_line.svg b/docs/CAD/ux/mockups/rich__sk_line.svg new file mode 100644 index 0000000000..4ca4000d59 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_line.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_line__create.svg b/docs/CAD/ux/mockups/rich__sk_line__create.svg new file mode 100644 index 0000000000..c37f2d0e45 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_line__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch line · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_line__dressup.svg b/docs/CAD/ux/mockups/rich__sk_line__dressup.svg new file mode 100644 index 0000000000..29e86762d2 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_line__dressup.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Dress-up — pick oneWorking document · 8 slotsFilletFChamferHSketch line · Dress-up \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_line__modify.svg b/docs/CAD/ux/mockups/rich__sk_line__modify.svg new file mode 100644 index 0000000000..b9775b7d94 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_line__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelExtendXSketch line · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_line__reference.svg b/docs/CAD/ux/mockups/rich__sk_line__reference.svg new file mode 100644 index 0000000000..6eb1ef621f --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_line__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsConstructionQDimensionDConstrainKSketch line · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_loop.svg b/docs/CAD/ux/mockups/rich__sk_loop.svg new file mode 100644 index 0000000000..c07d1c09c3 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_loop.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Closed sketch loop selected — pick what to do with itWorking document · 8 slotsAdd material8PatternShift+NModify2Closed sketch loop \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_loop__add.svg b/docs/CAD/ux/mockups/rich__sk_loop__add.svg new file mode 100644 index 0000000000..bf9f429b81 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_loop__add.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Add material — pick oneWorking document · 8 slotsSurface FillExtrudeShift+ERevolveShift+RSweepShift+WLoftShift+LSurface ExtrudeShift+GSurface RevolveSurface LoftClosed sketch loop · Add material \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_loop__modify.svg b/docs/CAD/ux/mockups/rich__sk_loop__modify.svg new file mode 100644 index 0000000000..c466379c9e --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_loop__modify.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Modify — pick oneWorking document · 8 slotsDeleteDelEditClosed sketch loop · Modify \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_none.svg b/docs/CAD/ux/mockups/rich__sk_none.svg new file mode 100644 index 0000000000..ffe49ab9a0 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_none.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch, nothing picked selected — pick what to do with itWorking document · 8 slotsCreate9Reference2Sketch, nothing picked \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_none__create.svg b/docs/CAD/ux/mockups/rich__sk_none__create.svg new file mode 100644 index 0000000000..c9a2bc698d --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_none__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch, nothing picked · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_none__reference.svg b/docs/CAD/ux/mockups/rich__sk_none__reference.svg new file mode 100644 index 0000000000..cc9d465fa4 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_none__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsDimensionDConstructionQSketch, nothing picked · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_point.svg b/docs/CAD/ux/mockups/rich__sk_point.svg new file mode 100644 index 0000000000..f089787bca --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_point.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch point selected — pick what to do with itWorking document · 8 slotsCreate9MoveReference2DeleteDelSketch point \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_point__create.svg b/docs/CAD/ux/mockups/rich__sk_point__create.svg new file mode 100644 index 0000000000..5d2070a6c5 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_point__create.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch point · Create \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__sk_point__reference.svg b/docs/CAD/ux/mockups/rich__sk_point__reference.svg new file mode 100644 index 0000000000..e090382a24 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__sk_point__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsDimensionDConstrainKSketch point · Reference \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__vertex.svg b/docs/CAD/ux/mockups/rich__vertex.svg new file mode 100644 index 0000000000..f37bbd7d47 --- /dev/null +++ b/docs/CAD/ux/mockups/rich__vertex.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Vertex selected — pick what to do with itWorking document · 8 slotsReference4Vertex \ No newline at end of file diff --git a/docs/CAD/ux/mockups/rich__vertex__reference.svg b/docs/CAD/ux/mockups/rich__vertex__reference.svg new file mode 100644 index 0000000000..ceabba032e --- /dev/null +++ b/docs/CAD/ux/mockups/rich__vertex__reference.svg @@ -0,0 +1 @@ +PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsCoord SysShift+CMeasurePlaneShift+PAxisShift+AVertex · Reference \ No newline at end of file diff --git a/docs/CAD/ux/offer_atlas.html b/docs/CAD/ux/offer_atlas.html new file mode 100644 index 0000000000..35c4f5860c --- /dev/null +++ b/docs/CAD/ux/offer_atlas.html @@ -0,0 +1,78 @@ +Design tab — offer atlas + +
+

The offer — atlas of every state

+

Every state of the object-driven tool offer, generated from + docs/ux/tool_atlas.json. The invariant under test: a verb has one address, that + address is the same in every selection where it appears, and slots that do not apply are drawn + empty rather than compacted.

+
+
60verbs mapped
+
20selection kinds
+
40primary rings
+
73secondary rings
+
113states total
+
3.5/8mean slots filled
+
5verbs with no GUI yet
+
+
+
+

Decision 0 — ring or vertical list

+

The live question. Both forms carry the SAME map and the same invariant — fixed order, never + re-sorted, nothing compacted; only the geometry differs. Left-click selects; right-click opens the + offer. What the list buys: a disabled row can state its own reason in the words the product + already ships, where an empty slot in a ring is mute; nine sketch primitives fit without an + overflow; shortcuts line up in a readable column; long translated names fit; and it is navigable + by arrow key and by screen reader, which a radial is not. What it costs: no equidistant flick + gesture, and travel to the last row is longer than to the nearest direction. Pairs below — + list first, the same state as a ring second.

+ +

Decision 1 — ring capacity

+

The same three selections at eight and at twelve. Eight keeps 45° between neighbours, which is + the reliable eyes-free pointing threshold and maps 1:1 to the numpad; twelve buys direct addresses + for more verbs at 30° spacing and positions that stop being nameable.

+
8 slots — face_planar
8 slots — edge_str
8 slots — sk_line
+
12 slots — face_planar
12 slots — edge_str
12 slots — sk_line
+ +

Decision 2 — one map or one per mode

+

These renders use ONE shared map: sketch verbs occupy the same eight families as model verbs, + so dress-up is south-east whether you picked a solid edge or a sketch line. Compare the sketch-mode + states below against the model-mode ones — if a verb that exists in both modes ever appears at two + addresses, the shared map has failed and the split map is the answer.

+ +

The matrix — every selection, every document state

+
+ + +
SelectionDocumentVerbsSlots2nd ringsWhat lands where
Nothing selectedWorking document52/81create: Sketch · reference: Plane, Axis, Coord Sys, Helix
Planar faceWorking document188/86create: Sketch · add: Extrude, Thicken · remove: Hole, Shell · dressup: Fillet, Chamfer, Draft · repeat: Pattern · transform: Mate, Align to · reference: Plane, Axis, Coord Sys, Project, Measure · modify: Edit, Delete Face
Cylindrical faceWorking document63/82remove: Thread · reference: Axis, Helix, Measure · modify: Edit, Delete Face
Curved faceWorking document54/81add: Thicken · dressup: Draft · reference: Measure · modify: Edit, Delete Face
Straight edgeWorking document63/82dressup: Fillet, Chamfer · repeat: Pattern on Curve · reference: Plane, Axis, Measure
Circular edgeWorking document43/81remove: Thread · dressup: Fillet, Chamfer · reference: Measure
VertexWorking document41/81reference: Plane, Axis, Coord Sys, Measure
Solid bodyWorking document156/85remove: Shell, Cut, Split · dressup: Fillet, Chamfer · repeat: Pattern, Mirror, Pattern on Curve · transform: Move · reference: Project, Measure, Mass · modify: Edit, Colour, Delete
Sheet bodyWorking document75/81add: Thicken Surface · dressup: Surface Offset · transform: Move · reference: Measure · modify: Edit, Colour, Delete
Two bodiesWorking document54/81add: Combine · transform: Mate · reference: Measure, Interference · modify: Delete
Datum planeWorking document95/83create: Sketch · remove: Hole, Cut · repeat: Mirror · reference: Plane, Helix, Project · modify: Edit, Delete
Datum axisWorking document21/81modify: Edit, Delete
Coordinate systemWorking document32/81transform: Mate · modify: Edit, Delete
Text / imported artWorking document43/81repeat: Pattern · transform: Move · modify: Edit, Delete
Closed sketch loopWorking document113/82add: Extrude, Revolve, Sweep, Loft, Surface Extrude, Surface Revolve, Surface Loft, Surface Fill · repeat: Pattern · modify: Edit, Delete
Sketch, nothing pickedWorking document112/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · reference: Dimension, Construction
Sketch lineWorking document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch arc or circleWorking document187/83create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch pointWorking document134/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · transform: Move · reference: Dimension, Constrain · modify: Delete
Two sketch entitiesWorking document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Nothing selectedFresh document52/81create: Sketch · reference: Plane, Axis, Coord Sys, Helix
Planar faceFresh document74/81create: Sketch · add: Extrude · reference: Plane, Axis, Coord Sys, Measure · modify: Edit
Cylindrical faceFresh document42/81reference: Axis, Helix, Measure · modify: Edit
Curved faceFresh document22/80reference: Measure · modify: Edit
Straight edgeFresh document31/81reference: Plane, Axis, Measure
Circular edgeFresh document11/80reference: Measure
VertexFresh document41/81reference: Plane, Axis, Coord Sys, Measure
Solid bodyFresh document32/81reference: Measure · modify: Edit, Delete
Sheet bodyFresh document32/81reference: Measure · modify: Edit, Delete
Two bodiesFresh document22/80reference: Measure · modify: Delete
Datum planeFresh document53/82create: Sketch · reference: Plane, Helix · modify: Edit, Delete
Datum axisFresh document21/81modify: Edit, Delete
Coordinate systemFresh document21/81modify: Edit, Delete
Text / imported artFresh document21/81modify: Edit, Delete
Closed sketch loopFresh document72/82add: Extrude, Revolve, Surface Extrude, Surface Revolve, Surface Fill · modify: Edit, Delete
Sketch, nothing pickedFresh document112/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · reference: Dimension, Construction
Sketch lineFresh document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch arc or circleFresh document187/83create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch pointFresh document134/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · transform: Move · reference: Dimension, Constrain · modify: Delete
Two sketch entitiesFresh document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
+ +

Overflow — the one place eight slots is not enough

+

Measured, not predicted: the create sub-ring needs 10 addresses, so Polygon, Point are pushed behind a “More” slot. This is the decision the ring size actually turns on — either a verb moves to another family, or the tail goes to a third level, or the ring is not eight. It affects sketch mode only; every model-mode family fits.

+ +

Not in the offer

+

Import STEP, Import mesh, Text, SVG, Export STEP, Commit to Plate, Undo, Redo, Variables, Section view, Origin planes, World axes — these act on the document, not on a selection, + so they stay in chrome. Verbs with kernel support but no GUI today, which still hold an address: + Split, Pattern on Curve, Align to, Measure, Interference.

+ +

All states

+
Nothing selected — Working document
Nothing selected — Working document
Nothing selected — Reference ring
Nothing selected — Reference ring
Planar face — Working document
Planar face — Working document
Planar face — Add material ring
Planar face — Add material ring
Planar face — Remove ring
Planar face — Remove ring
Planar face — Dress-up ring
Planar face — Dress-up ring
Planar face — Transform ring
Planar face — Transform ring
Planar face — Reference ring
Planar face — Reference ring
Planar face — Modify ring
Planar face — Modify ring
Cylindrical face — Working document
Cylindrical face — Working document
Cylindrical face — Reference ring
Cylindrical face — Reference ring
Cylindrical face — Modify ring
Cylindrical face — Modify ring
Curved face — Working document
Curved face — Working document
Curved face — Modify ring
Curved face — Modify ring
Straight edge — Working document
Straight edge — Working document
Straight edge — Dress-up ring
Straight edge — Dress-up ring
Straight edge — Reference ring
Straight edge — Reference ring
Circular edge — Working document
Circular edge — Working document
Circular edge — Dress-up ring
Circular edge — Dress-up ring
Vertex — Working document
Vertex — Working document
Vertex — Reference ring
Vertex — Reference ring
Solid body — Working document
Solid body — Working document
Solid body — Remove ring
Solid body — Remove ring
Solid body — Dress-up ring
Solid body — Dress-up ring
Solid body — Repeat ring
Solid body — Repeat ring
Solid body — Reference ring
Solid body — Reference ring
Solid body — Modify ring
Solid body — Modify ring
Sheet body — Working document
Sheet body — Working document
Sheet body — Modify ring
Sheet body — Modify ring
Two bodies — Working document
Two bodies — Working document
Two bodies — Reference ring
Two bodies — Reference ring
Datum plane — Working document
Datum plane — Working document
Datum plane — Remove ring
Datum plane — Remove ring
Datum plane — Reference ring
Datum plane — Reference ring
Datum plane — Modify ring
Datum plane — Modify ring
Datum axis — Working document
Datum axis — Working document
Datum axis — Modify ring
Datum axis — Modify ring
Coordinate system — Working document
Coordinate system — Working document
Coordinate system — Modify ring
Coordinate system — Modify ring
Text / imported art — Working document
Text / imported art — Working document
Text / imported art — Modify ring
Text / imported art — Modify ring
Closed sketch loop — Working document
Closed sketch loop — Working document
Closed sketch loop — Add material ring
Closed sketch loop — Add material ring
Closed sketch loop — Modify ring
Closed sketch loop — Modify ring
Sketch, nothing picked — Working document
Sketch, nothing picked — Working document
Sketch, nothing picked — Create ring
Sketch, nothing picked — Create ring
Sketch, nothing picked — Reference ring
Sketch, nothing picked — Reference ring
Sketch line — Working document
Sketch line — Working document
Sketch line — Create ring
Sketch line — Create ring
Sketch line — Dress-up ring
Sketch line — Dress-up ring
Sketch line — Reference ring
Sketch line — Reference ring
Sketch line — Modify ring
Sketch line — Modify ring
Sketch arc or circle — Working document
Sketch arc or circle — Working document
Sketch arc or circle — Create ring
Sketch arc or circle — Create ring
Sketch arc or circle — Reference ring
Sketch arc or circle — Reference ring
Sketch arc or circle — Modify ring
Sketch arc or circle — Modify ring
Sketch point — Working document
Sketch point — Working document
Sketch point — Create ring
Sketch point — Create ring
Sketch point — Reference ring
Sketch point — Reference ring
Two sketch entities — Working document
Two sketch entities — Working document
Two sketch entities — Create ring
Two sketch entities — Create ring
Two sketch entities — Dress-up ring
Two sketch entities — Dress-up ring
Two sketch entities — Reference ring
Two sketch entities — Reference ring
Two sketch entities — Modify ring
Two sketch entities — Modify ring
Nothing selected — Fresh document
Nothing selected — Fresh document
Nothing selected — Reference ring
Nothing selected — Reference ring
Planar face — Fresh document
Planar face — Fresh document
Planar face — Reference ring
Planar face — Reference ring
Cylindrical face — Fresh document
Cylindrical face — Fresh document
Cylindrical face — Reference ring
Cylindrical face — Reference ring
Curved face — Fresh document
Curved face — Fresh document
Straight edge — Fresh document
Straight edge — Fresh document
Straight edge — Reference ring
Straight edge — Reference ring
Circular edge — Fresh document
Circular edge — Fresh document
Vertex — Fresh document
Vertex — Fresh document
Vertex — Reference ring
Vertex — Reference ring
Solid body — Fresh document
Solid body — Fresh document
Solid body — Modify ring
Solid body — Modify ring
Sheet body — Fresh document
Sheet body — Fresh document
Sheet body — Modify ring
Sheet body — Modify ring
Two bodies — Fresh document
Two bodies — Fresh document
Datum plane — Fresh document
Datum plane — Fresh document
Datum plane — Reference ring
Datum plane — Reference ring
Datum plane — Modify ring
Datum plane — Modify ring
Datum axis — Fresh document
Datum axis — Fresh document
Datum axis — Modify ring
Datum axis — Modify ring
Coordinate system — Fresh document
Coordinate system — Fresh document
Coordinate system — Modify ring
Coordinate system — Modify ring
Text / imported art — Fresh document
Text / imported art — Fresh document
Text / imported art — Modify ring
Text / imported art — Modify ring
Closed sketch loop — Fresh document
Closed sketch loop — Fresh document
Closed sketch loop — Add material ring
Closed sketch loop — Add material ring
Closed sketch loop — Modify ring
Closed sketch loop — Modify ring
Sketch, nothing picked — Fresh document
Sketch, nothing picked — Fresh document
Sketch, nothing picked — Create ring
Sketch, nothing picked — Create ring
Sketch, nothing picked — Reference ring
Sketch, nothing picked — Reference ring
Sketch line — Fresh document
Sketch line — Fresh document
Sketch line — Create ring
Sketch line — Create ring
Sketch line — Dress-up ring
Sketch line — Dress-up ring
Sketch line — Reference ring
Sketch line — Reference ring
Sketch line — Modify ring
Sketch line — Modify ring
Sketch arc or circle — Fresh document
Sketch arc or circle — Fresh document
Sketch arc or circle — Create ring
Sketch arc or circle — Create ring
Sketch arc or circle — Reference ring
Sketch arc or circle — Reference ring
Sketch arc or circle — Modify ring
Sketch arc or circle — Modify ring
Sketch point — Fresh document
Sketch point — Fresh document
Sketch point — Create ring
Sketch point — Create ring
Sketch point — Reference ring
Sketch point — Reference ring
Two sketch entities — Fresh document
Two sketch entities — Fresh document
Two sketch entities — Create ring
Two sketch entities — Create ring
Two sketch entities — Dress-up ring
Two sketch entities — Dress-up ring
Two sketch entities — Reference ring
Two sketch entities — Reference ring
Two sketch entities — Modify ring
Two sketch entities — Modify ring
+
diff --git a/docs/CAD/ux/offer_atlas_inline.html b/docs/CAD/ux/offer_atlas_inline.html new file mode 100644 index 0000000000..3bbfb1b303 --- /dev/null +++ b/docs/CAD/ux/offer_atlas_inline.html @@ -0,0 +1,77 @@ +Design tab — offer atlas + +
+

The offer — atlas of every state

+

Every state of the object-driven tool offer, generated from + docs/ux/tool_atlas.json. The invariant under test: a verb has one address, that + address is the same in every selection where it appears, and slots that do not apply are drawn + empty rather than compacted.

+
+
60verbs mapped
+
20selection kinds
+
40primary rings
+
73secondary rings
+
113states total
+
3.5/8mean slots filled
+
5verbs with no GUI yet
+
+
+
+

Decision 0 — ring or vertical list

+

The live question. Both forms carry the SAME map and the same invariant — fixed order, never + re-sorted, nothing compacted; only the geometry differs. Left-click selects; right-click opens the + offer. What the list buys: a disabled row can state its own reason in the words the product + already ships, where an empty slot in a ring is mute; nine sketch primitives fit without an + overflow; shortcuts line up in a readable column; long translated names fit; and it is navigable + by arrow key and by screen reader, which a radial is not. What it costs: no equidistant flick + gesture, and travel to the last row is longer than to the nearest direction. Pairs below — + list first, the same state as a ring second.

+ +

Decision 1 — ring capacity

+

The same three selections at eight and at twelve. Eight keeps 45° between neighbours, which is + the reliable eyes-free pointing threshold and maps 1:1 to the numpad; twelve buys direct addresses + for more verbs at 30° spacing and positions that stop being nameable.

+
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
8 slots — face_planar
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 8 slotsDress-up2Pattern on CurveReference3Straight edge
8 slots — edge_str
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line
8 slots — sk_line
+
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 12 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
12 slots — face_planar
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 12 slotsDress-up2Pattern on CurveReference3Straight edge
12 slots — edge_str
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 12 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line
12 slots — sk_line
+ +

Decision 2 — one map or one per mode

+

These renders use ONE shared map: sketch verbs occupy the same eight families as model verbs, + so dress-up is south-east whether you picked a solid edge or a sketch line. Compare the sketch-mode + states below against the model-mode ones — if a verb that exists in both modes ever appears at two + addresses, the shared map has failed and the split map is the answer.

+ +

The matrix — every selection, every document state

+
+ + +
SelectionDocumentVerbsSlots2nd ringsWhat lands where
Nothing selectedWorking document52/81create: Sketch · reference: Plane, Axis, Coord Sys, Helix
Planar faceWorking document188/86create: Sketch · add: Extrude, Thicken · remove: Hole, Shell · dressup: Fillet, Chamfer, Draft · repeat: Pattern · transform: Mate, Align to · reference: Plane, Axis, Coord Sys, Project, Measure · modify: Edit, Delete Face
Cylindrical faceWorking document63/82remove: Thread · reference: Axis, Helix, Measure · modify: Edit, Delete Face
Curved faceWorking document54/81add: Thicken · dressup: Draft · reference: Measure · modify: Edit, Delete Face
Straight edgeWorking document63/82dressup: Fillet, Chamfer · repeat: Pattern on Curve · reference: Plane, Axis, Measure
Circular edgeWorking document43/81remove: Thread · dressup: Fillet, Chamfer · reference: Measure
VertexWorking document41/81reference: Plane, Axis, Coord Sys, Measure
Solid bodyWorking document156/85remove: Shell, Cut, Split · dressup: Fillet, Chamfer · repeat: Pattern, Mirror, Pattern on Curve · transform: Move · reference: Project, Measure, Mass · modify: Edit, Colour, Delete
Sheet bodyWorking document75/81add: Thicken Surface · dressup: Surface Offset · transform: Move · reference: Measure · modify: Edit, Colour, Delete
Two bodiesWorking document54/81add: Combine · transform: Mate · reference: Measure, Interference · modify: Delete
Datum planeWorking document95/83create: Sketch · remove: Hole, Cut · repeat: Mirror · reference: Plane, Helix, Project · modify: Edit, Delete
Datum axisWorking document21/81modify: Edit, Delete
Coordinate systemWorking document32/81transform: Mate · modify: Edit, Delete
Text / imported artWorking document43/81repeat: Pattern · transform: Move · modify: Edit, Delete
Closed sketch loopWorking document113/82add: Extrude, Revolve, Sweep, Loft, Surface Extrude, Surface Revolve, Surface Loft, Surface Fill · repeat: Pattern · modify: Edit, Delete
Sketch, nothing pickedWorking document112/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · reference: Dimension, Construction
Sketch lineWorking document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch arc or circleWorking document187/83create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch pointWorking document134/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · transform: Move · reference: Dimension, Constrain · modify: Delete
Two sketch entitiesWorking document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Nothing selectedFresh document52/81create: Sketch · reference: Plane, Axis, Coord Sys, Helix
Planar faceFresh document74/81create: Sketch · add: Extrude · reference: Plane, Axis, Coord Sys, Measure · modify: Edit
Cylindrical faceFresh document42/81reference: Axis, Helix, Measure · modify: Edit
Curved faceFresh document22/80reference: Measure · modify: Edit
Straight edgeFresh document31/81reference: Plane, Axis, Measure
Circular edgeFresh document11/80reference: Measure
VertexFresh document41/81reference: Plane, Axis, Coord Sys, Measure
Solid bodyFresh document32/81reference: Measure · modify: Edit, Delete
Sheet bodyFresh document32/81reference: Measure · modify: Edit, Delete
Two bodiesFresh document22/80reference: Measure · modify: Delete
Datum planeFresh document53/82create: Sketch · reference: Plane, Helix · modify: Edit, Delete
Datum axisFresh document21/81modify: Edit, Delete
Coordinate systemFresh document21/81modify: Edit, Delete
Text / imported artFresh document21/81modify: Edit, Delete
Closed sketch loopFresh document72/82add: Extrude, Revolve, Surface Extrude, Surface Revolve, Surface Fill · modify: Edit, Delete
Sketch, nothing pickedFresh document112/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · reference: Dimension, Construction
Sketch lineFresh document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch arc or circleFresh document187/83create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
Sketch pointFresh document134/82create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · transform: Move · reference: Dimension, Constrain · modify: Delete
Two sketch entitiesFresh document208/84create: Line, Rectangle, Circle, Arc, Slot, Ellipse, Spline, Polygon, Point · add: Offset · remove: Trim · dressup: Fillet, Chamfer · repeat: Mirror · transform: Move · reference: Dimension, Constrain, Construction · modify: Extend, Delete
+ +

Overflow — the one place eight slots is not enough

+

Measured, not predicted: the create sub-ring needs 10 addresses, so Polygon, Point are pushed behind a “More” slot. This is the decision the ring size actually turns on — either a verb moves to another family, or the tail goes to a third level, or the ring is not eight. It affects sketch mode only; every model-mode family fits.

+ +

Not in the offer

+

Import STEP, Import mesh, Text, SVG, Export STEP, Commit to Plate, Undo, Redo, Variables, Section view, Origin planes, World axes — these act on the document, not on a selection, + so they stay in chrome. Verbs with kernel support but no GUI today, which still hold an address: + Split, Pattern on Curve, Align to, Measure, Interference.

+ +

The states

+
PreparePreviewDesignFEATURESnothing yetClick a face or a reference plane, then a toolFresh document · 8 slotsSketchShift+SReference4Nothing selected
Fresh document, nothing selected — the first-run picture
PreparePreviewDesignFEATURESnothing yetRight-click the geometry to see what you can do with itFresh document · vertical listNOTHING SELECTEDSketchShift+SAdd materialCreate a sketch, or pick a solid face, firstRemovePick a face or a plane to drill intoDress-upPick an edge to roundRepeatCreate a solid body to pattern firstTransformTransform needs a body — add or import one firstReference4ModifyDelete Face needs a body — add or import one first
LIST · fresh document — every family present, the unavailable ones say why
PreparePreviewDesignFEATURESnothing yetClick a face or a reference plane, then a toolFresh document · 8 slotsSketchShift+SReference4Nothing selected
RING · the same state — an empty slot cannot say anything
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listPLANAR FACESketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2
LIST · planar face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
RING · planar face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch, nothing picked — pick oneWorking document · vertical listSKETCH, NOTHING PICKEDCreate9Add materialRemoveDress-upRepeatTransformReference2ModifyLineLRectangleRCircleCArcASlotSEllipseESplineBPolygonGPointP
LIST · sketch Create submenu — all 9 primitives fit, no overflow
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch, nothing picked · Create
RING · the same submenu — 2 verbs pushed behind “More”
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face — pick oneWorking document · vertical listPLANAR FACESketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2ExtrudeShift+EThicken
LIST · planar face, Add material submenu
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Add material — pick oneWorking document · 8 slotsExtrudeShift+EThickenPlanar face · Add material
RING · planar face, Add material sub-ring
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSOLID BODYCreateClick a face or a reference plane in the viewport, t…Add materialCreate a sketch, or pick a solid face, firstRemove3Dress-up2Repeat3MoveShift+YReference3Modify3
LIST · solid body
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSTRAIGHT EDGECreateClick a face or a reference plane in the viewport, t…Add materialCreate a sketch, or pick a solid face, firstRemovePick a face or a plane to drill intoDress-up2Pattern on CurveTransformTransform needs a body — add or import one firstReference3ModifyDelete Face needs a body — add or import one first
LIST · straight edge
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Right-click the geometry to see what you can do with itWorking document · vertical listSKETCH LINECreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2
LIST · sketch line
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Click a face or a reference plane, then a toolWorking document · 8 slotsSketchShift+SReference4Nothing selected
RING · Nothing selected
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
RING · Planar face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Cylindrical face selected — pick what to do with itWorking document · 8 slotsThreadShift+TReference3Modify2Cylindrical face
RING · Cylindrical face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Curved face selected — pick what to do with itWorking document · 8 slotsThickenDraftShift+DMeasureModify2Curved face
RING · Curved face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Straight edge selected — pick what to do with itWorking document · 8 slotsDress-up2Pattern on CurveReference3Straight edge
RING · Straight edge
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Circular edge selected — pick what to do with itWorking document · 8 slotsThreadShift+TDress-up2MeasureCircular edge
RING · Circular edge
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Vertex selected — pick what to do with itWorking document · 8 slotsReference4Vertex
RING · Vertex
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Solid body selected — pick what to do with itWorking document · 8 slotsRemove3Dress-up2Repeat3MoveShift+YReference3Modify3Solid body
RING · Solid body
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sheet body selected — pick what to do with itWorking document · 8 slotsThicken SurfaceSurface OffsetMoveShift+YMeasureModify3Sheet body
RING · Sheet body
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Two bodies selected — pick what to do with itWorking document · 8 slotsCombineShift+BMateReference2DeleteDelTwo bodies
RING · Two bodies
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Datum plane selected — pick what to do with itWorking document · 8 slotsSketchShift+SRemove2MirrorShift+ZReference3Modify2Datum plane
RING · Datum plane
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Datum axis selected — pick what to do with itWorking document · 8 slotsModify2Datum axis
RING · Datum axis
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Coordinate system selected — pick what to do with itWorking document · 8 slotsMateModify2Coordinate system
RING · Coordinate system
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Text / imported art selected — pick what to do with itWorking document · 8 slotsABCPatternShift+NMoveShift+YModify2Text / imported art
RING · Text / imported art
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Closed sketch loop selected — pick what to do with itWorking document · 8 slotsAdd material8PatternShift+NModify2Closed sketch loop
RING · Closed sketch loop
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch, nothing picked selected — pick what to do with itWorking document · 8 slotsCreate9Reference2Sketch, nothing picked
RING · Sketch, nothing picked
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line
RING · Sketch line
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch arc or circle selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTMirrorMMoveReference3Modify2Sketch arc or circle
RING · Sketch arc or circle
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch point selected — pick what to do with itWorking document · 8 slotsCreate9MoveReference2DeleteDelSketch point
RING · Sketch point
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Two sketch entities selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Two sketch entities
RING · Two sketch entities
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Add material — pick oneWorking document · 8 slotsExtrudeShift+EThickenPlanar face · Add material
Planar face · Add material sub-ring
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Reference — pick oneWorking document · 8 slotsCoord SysShift+CProjectMeasurePlaneShift+PAxisShift+APlanar face · Reference
Planar face · Reference sub-ring
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Create — pick oneWorking document · 8 slotsLineLRectangleRCircleCArcASlotSEllipseESplineBMore2Sketch, nothing picked · Create
Sketch · Create sub-ring (the overflow case)
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Remove — pick oneWorking document · 8 slotsShellShift+KCutShift+XSplitSolid body · Remove
Solid body · Remove sub-ring
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 8 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
8 slots — planar face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Planar face selected — pick what to do with itWorking document · 12 slotsSketchShift+SAdd material2Remove2Dress-up3PatternShift+NTransform2Reference5Modify2Planar face
12 slots — planar face
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 8 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line
8 slots — sketch line
PreparePreviewDesignFEATURESSketch1Extrude1Hole1Fillet1Sketch2Extrude2Sketch line selected — pick what to do with itWorking document · 12 slotsCreate9OffsetOTrimTDress-up2MirrorMMoveReference3Modify2Sketch line
12 slots — sketch line
diff --git a/docs/CAD/ux/tool_atlas.json b/docs/CAD/ux/tool_atlas.json new file mode 100644 index 0000000000..94709f2057 --- /dev/null +++ b/docs/CAD/ux/tool_atlas.json @@ -0,0 +1,2213 @@ +{ + "_comment": [ + "Source of truth for the object-driven tool offer (see docs/cad_ux_guidelines.md 4.1).", + "Every verb, the selections it accepts, the document state it needs, and its fixed", + "compass address. Extracted from the code, not from memory:", + " verbs + shortcuts + refusal messages -> src/slic3r/GUI/CAD/DesignPanel.cpp (feat_dropdown", + " call sites at 524/662/734/790/874/904, sk_key table at 369-400, m_keys_feature)", + " kernel coverage -> src/libslic3r/CAD/CadDocument.hpp (enum CadFeatureType)", + " headless coverage -> src/slic3r/GUI/CAD/McpControl.cpp (method == \"...\")", + " selection kinds -> src/slic3r/GUI/CAD/DesignCanvas.hpp (the on_*_selected callbacks)", + "gen_offer_mockups.py reads this file; the eventual C++ offer table is generated from it", + "too, so the map exists once." + ], + "slots": [ + { + "id": "create", + "pos": "N", + "angle": 270, + "label": "Create", + "why": "makes new geometry from nothing you have yet" + }, + { + "id": "add", + "pos": "NE", + "angle": 315, + "label": "Add material", + "why": "grows solid or sheet material" + }, + { + "id": "remove", + "pos": "E", + "angle": 0, + "label": "Remove", + "why": "takes material away Shell lives here by decision of 2026-08-01, not by oversight." + }, + { + "id": "dressup", + "pos": "SE", + "angle": 45, + "label": "Fillet / chamfer / draft", + "why": "finishes faces and edges without changing the shape's intent; named for the tools it holds, not for the trade word. RATIFIED 2026-08-01: Shell stays in Remove and Delete Face in Modify — this row is deliberately NOT the same set as the toolbar's dressup dropdown, which groups all five. Shell hollows a solid, so it belongs with the verbs that take material away. Do not re-open: a verb's row is its address and reordering breaks learned reach." + }, + { + "id": "repeat", + "pos": "S", + "angle": 90, + "label": "Repeat", + "why": "copies what exists" + }, + { + "id": "transform", + "pos": "SW", + "angle": 135, + "label": "Transform", + "why": "moves without changing shape" + }, + { + "id": "reference", + "pos": "W", + "angle": 180, + "label": "Reference", + "why": "makes datums, curves and measurements" + }, + { + "id": "modify", + "pos": "NW", + "angle": 225, + "label": "Modify", + "why": "edits or removes what is already there" + } + ], + "selections": [ + { + "id": "none", + "name": "Nothing selected", + "mode": "model", + "shape": "empty" + }, + { + "id": "face_planar", + "name": "Planar face", + "mode": "model", + "shape": "box_top" + }, + { + "id": "face_cyl", + "name": "Cylindrical face", + "mode": "model", + "shape": "box_bore" + }, + { + "id": "face_other", + "name": "Curved face", + "mode": "model", + "shape": "box_fillet_face" + }, + { + "id": "edge_str", + "name": "Straight edge", + "mode": "model", + "shape": "box_edge" + }, + { + "id": "edge_circ", + "name": "Circular edge", + "mode": "model", + "shape": "box_bore_rim" + }, + { + "id": "vertex", + "name": "Vertex", + "mode": "model", + "shape": "box_vertex" + }, + { + "id": "body_solid", + "name": "Solid body", + "mode": "model", + "shape": "box_whole" + }, + { + "id": "body_sheet", + "name": "Sheet body", + "mode": "model", + "shape": "sheet" + }, + { + "id": "bodies_2", + "name": "Two bodies", + "mode": "model", + "shape": "two_boxes" + }, + { + "id": "datum_plane", + "name": "Datum plane", + "mode": "model", + "shape": "datum" + }, + { + "id": "datum_axis", + "name": "Datum axis", + "mode": "model", + "shape": "axis" + }, + { + "id": "coordsys", + "name": "Coordinate system", + "mode": "model", + "shape": "csys" + }, + { + "id": "art", + "name": "Text / imported art", + "mode": "model", + "shape": "art" + }, + { + "id": "sk_loop", + "name": "Closed sketch loop", + "mode": "model", + "shape": "loop" + }, + { + "id": "sk_none", + "name": "Sketch, nothing picked", + "mode": "sketch", + "shape": "sk_empty" + }, + { + "id": "sk_line", + "name": "Sketch line", + "mode": "sketch", + "shape": "sk_line" + }, + { + "id": "sk_arc", + "name": "Sketch arc or circle", + "mode": "sketch", + "shape": "sk_arc" + }, + { + "id": "sk_point", + "name": "Sketch point", + "mode": "sketch", + "shape": "sk_point" + }, + { + "id": "sk_2ent", + "name": "Two sketch entities", + "mode": "sketch", + "shape": "sk_two" + } + ], + "doc_states": [ + { + "id": "rich", + "name": "Working document", + "bodies": 2, + "sketches": 2, + "sheet": true, + "note": "two solids, two sketches, one sheet body — everything doc-gated is legal" + }, + { + "id": "fresh", + "name": "Fresh document", + "bodies": 0, + "sketches": 0, + "sheet": false, + "note": "nothing built yet — shows how much of the ring is empty on first open" + } + ], + "verbs": [ + { + "id": "sketch", + "name": "Sketch", + "slot": "create", + "key": "Shift+S", + "feature": "Sketch", + "mcp": null, + "accepts": [ + "face_planar", + "datum_plane", + "none" + ], + "needs": {}, + "refusal": "Click a face or a reference plane in the viewport, then a sketch tool", + "gui": true, + "action": "key:S+S", + "icon": "design_sketch", + "hint": "Click a face or a reference plane, then pick a drawing tool" + }, + { + "id": "extrude", + "name": "Extrude", + "slot": "add", + "key": "Shift+E", + "feature": "Extrude", + "mcp": "extrude", + "accepts": [ + "sk_loop", + "face_planar" + ], + "needs": {}, + "refusal": "Create a sketch, or pick a solid face, first", + "gui": true, + "action": "key:S+E", + "icon": "design_extrude", + "hint": "Extrude a sketch profile, or push/pull a picked face" + }, + { + "id": "revolve", + "name": "Revolve", + "slot": "add", + "key": "Shift+R", + "feature": "Revolve", + "mcp": "revolve", + "accepts": [ + "sk_loop" + ], + "needs": {}, + "refusal": "Create a sketch profile to revolve first", + "gui": true, + "action": "key:S+R", + "icon": "design_revolve", + "hint": "Revolve a profile about an axis" + }, + { + "id": "sweep", + "name": "Sweep", + "slot": "add", + "key": "Shift+W", + "feature": "Sweep", + "mcp": null, + "accepts": [ + "sk_loop" + ], + "needs": { + "sketches": 2 + }, + "refusal": "Create a profile sketch to sweep first", + "gui": true, + "action": "key:S+W", + "icon": "design_sweep", + "hint": "Sweep a profile along a path" + }, + { + "id": "loft", + "name": "Loft", + "slot": "add", + "key": "Shift+L", + "feature": "Loft", + "mcp": null, + "accepts": [ + "sk_loop" + ], + "needs": { + "sketches": 2 + }, + "refusal": "Create at least two profile sketches to loft", + "gui": true, + "action": "key:S+L", + "icon": "design_loft", + "hint": "Loft (skin) between two or more profiles" + }, + { + "id": "thicken", + "name": "Thicken", + "slot": "add", + "key": null, + "feature": "Thicken", + "mcp": "thicken", + "accepts": [ + "face_planar", + "face_other" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Thicken needs a solid body — add or import one first", + "gui": true, + "action": "fly:material#4", + "icon": "design_thicken", + "hint": "Offset a solid face into a thin plate (new body)" + }, + { + "id": "rib", + "name": "Rib", + "slot": "add", + "key": null, + "feature": "Rib", + "mcp": "rib", + "accepts": [ + "sk_line" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Rib needs a solid body — add or import one first", + "gui": true, + "action": "fly:material#5", + "icon": "design_rib", + "hint": "Grow a thin wall from an open sketch line, fused to a body" + }, + { + "id": "boolean", + "name": "Union", + "slot": "add", + "key": "Shift+B", + "feature": "Boolean", + "mcp": "boolean", + "accepts": [ + "bodies_2" + ], + "needs": { + "bodies": 2 + }, + "refusal": "Boolean needs two bodies — create or import a second solid", + "gui": true, + "action": "btn:bool#0", + "icon": "design_boolean", + "hint": "Fuse the tool body into the target — one solid, no seam" + }, + { + "id": "bool_subtract", + "name": "Subtract", + "slot": "add", + "key": null, + "feature": "Boolean", + "mcp": null, + "accepts": [ + "bodies_2" + ], + "needs": { + "bodies": 2 + }, + "refusal": "Boolean needs two bodies — create or import a second solid", + "gui": true, + "action": "btn:bool#1", + "mode": null, + "icon": "design_boolean", + "hint": "Cut the tool body out of the target" + }, + { + "id": "bool_intersect", + "name": "Intersect", + "slot": "add", + "key": null, + "feature": "Boolean", + "mcp": null, + "accepts": [ + "bodies_2" + ], + "needs": { + "bodies": 2 + }, + "refusal": "Boolean needs two bodies — create or import a second solid", + "gui": true, + "action": "btn:bool#2", + "mode": null, + "icon": "design_boolean", + "hint": "Keep only where the two bodies overlap" + }, + { + "id": "surf_extrude", + "name": "Surface Extrude", + "slot": "add", + "key": "Shift+G", + "feature": "SurfaceExtrude", + "mcp": "surface_extrude", + "accepts": [ + "sk_loop" + ], + "needs": {}, + "refusal": "Create a sketch first", + "gui": true, + "action": "key:S+G", + "icon": "design_extrude", + "hint": "Extrude a sketch into a sheet body (no end caps)" + }, + { + "id": "surf_revolve", + "name": "Surface Revolve", + "slot": "add", + "key": null, + "feature": "SurfaceRevolve", + "mcp": "surface_revolve", + "accepts": [ + "sk_loop" + ], + "needs": {}, + "refusal": "Create a sketch profile to revolve first", + "gui": true, + "action": "fly:surface#1", + "icon": "design_revolve", + "hint": "Revolve a sketch profile into a sheet body" + }, + { + "id": "surf_loft", + "name": "Surface Loft", + "slot": "add", + "key": null, + "feature": "SurfaceLoft", + "mcp": "surface_loft", + "accepts": [ + "sk_loop" + ], + "needs": { + "sketches": 2 + }, + "refusal": "Create at least two profile sketches to loft", + "gui": true, + "action": "fly:surface#2", + "icon": "design_loft", + "hint": "Loft (skin) between 2+ profiles, open (no end caps)" + }, + { + "id": "surf_fill", + "name": "Surface Fill", + "slot": "add", + "key": null, + "feature": "SurfaceFill", + "mcp": "surface_fill", + "accepts": [ + "sk_loop" + ], + "needs": {}, + "refusal": "Create a closed sketch first", + "gui": true, + "action": "fly:surface#3", + "icon": "design_surface", + "hint": "Fill a sketch boundary with a smooth face" + }, + { + "id": "thicken_surf", + "name": "Thicken Surface", + "slot": "add", + "key": null, + "feature": "ThickenSurface", + "mcp": "thicken_surface", + "accepts": [ + "body_sheet" + ], + "needs": { + "sheet": true + }, + "refusal": "target is not a sheet body", + "gui": true, + "action": "fly:surface#5", + "icon": "design_thicken", + "hint": "Thicken a sheet body into a solid" + }, + { + "id": "hole", + "name": "Hole", + "slot": "remove", + "key": "Shift+H", + "feature": "Hole", + "mcp": "hole", + "accepts": [ + "face_planar", + "datum_plane" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pick a face or a plane to drill into", + "gui": true, + "action": "key:S+H", + "icon": "design_hole", + "hint": "Drill a hole, centred on a picked face or placed on a plane" + }, + { + "id": "thread", + "name": "Thread", + "slot": "remove", + "key": "Shift+T", + "feature": "Thread", + "mcp": null, + "accepts": [ + "face_cyl", + "edge_circ" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pick a cylindrical surface (bore / outer) or a circular edge for a thread", + "gui": true, + "action": "key:S+T", + "icon": "design_thread", + "hint": "Thread a cylindrical surface (inner bore / outer) or a circular edge" + }, + { + "id": "shell", + "name": "Shell", + "slot": "remove", + "key": "Shift+K", + "feature": "Shell", + "mcp": "shell", + "accepts": [ + "face_planar", + "body_solid" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Shell needs a solid body", + "gui": true, + "action": "key:S+K", + "icon": "design_shell", + "hint": "Hollow the body to a wall thickness, opening a picked face" + }, + { + "id": "cut", + "name": "Cut", + "slot": "remove", + "key": "Shift+X", + "feature": "Cut", + "mcp": null, + "accepts": [ + "body_solid", + "datum_plane", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Create a solid body to cut first", + "gui": true, + "action": "key:S+X", + "icon": "design_cut", + "hint": "Trim the body with a plane — drag the offset arrow; keep one half or both" + }, + { + "id": "split", + "name": "Split", + "slot": "remove", + "key": null, + "feature": "Cut", + "mcp": "split", + "accepts": [ + "body_solid", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Split needs a solid body", + "gui": false, + "action": null, + "icon": null, + "hint": "Split the body along a picked face into two solids" + }, + { + "id": "fillet", + "name": "Fillet", + "slot": "dressup", + "key": "Shift+F", + "feature": "Fillet", + "mcp": "fillet", + "accepts": [ + "edge_str", + "edge_circ", + "face_planar", + "body_solid" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pick an edge to round", + "gui": true, + "action": "btn:dress#0", + "icon": "design_filletedge", + "hint": "Pick an edge, then drag the radius arrow or type it" + }, + { + "id": "chamfer", + "name": "Chamfer", + "slot": "dressup", + "key": null, + "feature": "Chamfer", + "mcp": "chamfer", + "accepts": [ + "edge_str", + "edge_circ", + "face_planar", + "body_solid" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pick an edge to bevel", + "gui": true, + "action": "btn:dress#1", + "icon": "design_chamfer", + "hint": "Pick an edge, then drag the distance arrow or type it" + }, + { + "id": "draft", + "name": "Draft", + "slot": "dressup", + "key": "Shift+D", + "feature": "Draft", + "mcp": "draft", + "accepts": [ + "face_planar", + "face_other" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pick a face to taper", + "gui": true, + "action": "key:S+D", + "icon": "design_draft", + "hint": "Tilt a picked face by a draft angle" + }, + { + "id": "surf_offset", + "name": "Surface Offset", + "slot": "dressup", + "key": null, + "feature": "SurfaceOffset", + "mcp": "surface_offset", + "accepts": [ + "body_sheet" + ], + "needs": { + "sheet": true + }, + "refusal": "target is not a sheet body", + "gui": true, + "action": "fly:surface#4", + "icon": "design_offset", + "hint": "Offset a sheet body's shell by a signed distance" + }, + { + "id": "pattern", + "name": "Linear pattern", + "slot": "repeat", + "key": "Shift+N", + "feature": "Pattern", + "mcp": "pattern", + "accepts": [ + "body_solid", + "face_planar", + "sk_loop", + "art" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Create a solid body to pattern first", + "gui": true, + "action": "btn:pat#0", + "icon": "design_array", + "hint": "Repeat the body along a direction — drag the spacing, set the count" + }, + { + "id": "pattern_circular", + "name": "Circular pattern", + "slot": "repeat", + "key": null, + "feature": "Pattern", + "mcp": null, + "accepts": [ + "body_solid", + "face_planar", + "sk_loop", + "art" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Create a solid body to pattern first", + "gui": true, + "action": "btn:pat#1", + "mode": null, + "icon": "design_polararray", + "hint": "Repeat the body around an axis — set the count and sweep" + }, + { + "id": "mirror", + "name": "Mirror", + "slot": "repeat", + "key": "Shift+Z", + "feature": "Mirror", + "mcp": "mirror", + "accepts": [ + "body_solid", + "datum_plane", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Mirror needs a body — add or import one first", + "gui": true, + "action": "key:S+Z", + "icon": "design_mirror", + "hint": "Reflect a body about a plane" + }, + { + "id": "pat_curve", + "name": "Pattern on Curve", + "slot": "repeat", + "key": null, + "feature": "Pattern", + "mcp": "pattern_on_curve", + "accepts": [ + "body_solid", + "edge_str" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Pattern on curve needs a body and a curve", + "gui": false, + "action": null, + "icon": null, + "hint": "Repeat the body along a picked curve" + }, + { + "id": "transform", + "name": "Move", + "slot": "transform", + "key": "Shift+Y", + "feature": "Transform", + "mcp": "transform", + "accepts": [ + "body_solid", + "body_sheet", + "art", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Transform needs a body — add or import one first", + "gui": true, + "action": "key:S+Y", + "icon": "design_move", + "hint": "Move and/or rotate an existing body" + }, + { + "id": "mate", + "name": "Mate", + "slot": "transform", + "key": null, + "feature": "Mate", + "mcp": "mate", + "accepts": [ + "coordsys", + "bodies_2", + "face_planar" + ], + "needs": { + "bodies": 2 + }, + "refusal": "A mate needs two coordinate systems", + "gui": true, + "action": "fly:placement#2", + "icon": "design_c_coincident", + "hint": "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" + }, + { + "id": "align", + "name": "Align to", + "slot": "transform", + "key": null, + "feature": "Transform", + "mcp": "transform", + "accepts": [ + "face_planar" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Align needs a body", + "gui": false, + "action": null, + "icon": null, + "hint": "Align the body to a picked face or plane" + }, + { + "id": "plane", + "name": "Plane", + "slot": "reference", + "key": "Shift+P", + "feature": "Plane", + "mcp": null, + "accepts": [ + "none", + "face_planar", + "edge_str", + "datum_plane", + "vertex" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:S+P", + "icon": "design_plane", + "hint": "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" + }, + { + "id": "axis", + "name": "Axis", + "slot": "reference", + "key": "Shift+A", + "feature": "Axis", + "mcp": "axis", + "accepts": [ + "none", + "face_planar", + "face_cyl", + "edge_str", + "vertex" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:S+A", + "icon": "design_line", + "hint": "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" + }, + { + "id": "coordsys_v", + "name": "Coord Sys", + "slot": "reference", + "key": "Shift+C", + "feature": "CoordSys", + "mcp": "coordsys", + "accepts": [ + "none", + "face_planar", + "vertex" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:S+C", + "icon": "design_point", + "hint": "Datum coordinate system (world point, or face + direction edge)" + }, + { + "id": "helix", + "name": "Helix", + "slot": "reference", + "key": null, + "feature": "Helix", + "mcp": "helix", + "accepts": [ + "none", + "datum_plane", + "face_cyl" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:plane#3", + "icon": "design_thread", + "hint": "Helical curve (spring path) — use as a sweep path for coils / springs / augers" + }, + { + "id": "project", + "name": "Project", + "slot": "reference", + "key": null, + "feature": "Project", + "mcp": "project", + "accepts": [ + "body_solid", + "face_planar", + "datum_plane" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Project needs a body — add or import one first", + "gui": true, + "action": "fly:plane#4", + "icon": "design_sketch", + "hint": "Project body edges onto a plane as sketch entities" + }, + { + "id": "measure", + "name": "Measure", + "slot": "reference", + "key": null, + "feature": null, + "mcp": "measure", + "accepts": [ + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex", + "body_solid", + "body_sheet", + "bodies_2", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": false, + "action": null, + "icon": null, + "hint": "Measure between the picked points, edges or faces" + }, + { + "id": "mass_props", + "name": "Mass", + "slot": "reference", + "key": null, + "feature": null, + "mcp": "mass_properties", + "accepts": [ + "body_solid", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": null, + "gui": true, + "action": "btn:mass", + "icon": "info", + "hint": "Report the volume and surface area of the selected body" + }, + { + "id": "interference", + "name": "Interference", + "slot": "reference", + "key": null, + "feature": null, + "mcp": "check_interference", + "accepts": [ + "bodies_2" + ], + "needs": { + "bodies": 2 + }, + "refusal": null, + "gui": false, + "action": null, + "icon": null, + "hint": "Check whether two bodies overlap — reports, changes nothing" + }, + { + "id": "edit_feature", + "name": "Edit", + "slot": "modify", + "key": null, + "feature": null, + "mcp": "set_feature_expr", + "accepts": [ + "body_solid", + "face_planar", + "face_cyl", + "face_other", + "sk_loop", + "art", + "datum_plane", + "datum_axis", + "coordsys", + "body_sheet" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:edit", + "icon": "design_edit", + "hint": "Reopen the selected feature to change what it was made from" + }, + { + "id": "rename", + "name": "Rename…", + "slot": "modify", + "key": "F2", + "feature": "Tree", + "mcp": null, + "mode": "model", + "accepts": [ + "sk_loop", + "body_solid" + ], + "needs": {}, + "refusal": "Select a feature, or a body, to rename it", + "gui": true, + "action": "btn:rename", + "icon": null, + "hint": "Give this feature a name you will recognise in the tree (a body takes its name from the feature that makes it)" + }, + { + "id": "delete_face", + "name": "Delete Face", + "slot": "modify", + "key": null, + "feature": "DeleteFace", + "mcp": "delete_face", + "accepts": [ + "face_planar", + "face_cyl", + "face_other" + ], + "needs": { + "bodies": 1 + }, + "refusal": "Delete Face needs a body — add or import one first", + "gui": true, + "action": "fly:dressup#3", + "icon": "design_delete", + "hint": "Remove faces from a body and heal the solid" + }, + { + "id": "colour", + "name": "Colour", + "slot": "modify", + "key": null, + "feature": null, + "mcp": null, + "accepts": [ + "body_solid", + "body_sheet", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "refusal": null, + "gui": true, + "action": "btn:colour", + "icon": "color_palette", + "hint": "Set the selected body's display colour" + }, + { + "id": "delete", + "name": "Delete", + "slot": "modify", + "key": "Del", + "feature": null, + "mcp": null, + "accepts": [ + "sk_loop", + "art", + "datum_plane", + "datum_axis", + "coordsys", + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:delete", + "icon": "design_delete", + "hint": "Delete what is selected" + }, + { + "id": "delete_body", + "name": "Delete Body", + "slot": "modify", + "key": null, + "action": "btn:delete_body", + "refusal": null, + "accepts": [ + "body_solid", + "body_sheet", + "face_planar", + "face_cyl", + "face_other", + "edge_str", + "edge_circ", + "vertex" + ], + "needs": { + "bodies": 1 + }, + "mode": "model", + "family": null, + "icon": "design_delete", + "hint": "Delete this whole body — removes the feature it was made from" + }, + { + "id": "sk_line_t", + "name": "Line", + "slot": "create", + "key": "L", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:L", + "family": "Line", + "icon": "design_line", + "hint": "Line — click start, then end" + }, + { + "id": "sk_polyline", + "name": "Polyline", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_line#1", + "mode": "sketch", + "family": "Line", + "icon": "design_polyline", + "hint": "Click points; click the first point to close the loop, right-click to end it open" + }, + { + "id": "sk_rect", + "name": "Corner rectangle", + "slot": "create", + "key": "R", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:R", + "family": "Rectangle", + "icon": "design_rect", + "hint": "Rectangle — click two opposite corners" + }, + { + "id": "sk_rect_center", + "name": "Centre rectangle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_rect#1", + "mode": "sketch", + "family": "Rectangle", + "icon": "design_crect", + "hint": "Click center, then a corner" + }, + { + "id": "sk_rect_oblique", + "name": "Oblique rectangle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_rect#2", + "mode": "sketch", + "family": "Rectangle", + "icon": "design_rect_oblique", + "hint": "Click two corners of one edge, then a point for the width" + }, + { + "id": "sk_rect_rounded", + "name": "Rounded rectangle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_rect#3", + "mode": "sketch", + "family": "Rectangle", + "icon": "design_rect_rounded", + "hint": "Click two opposite corners, then a point for the corner radius" + }, + { + "id": "sk_circle", + "name": "Centre circle", + "slot": "create", + "key": "C", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:C", + "family": "Circle", + "icon": "design_circle", + "hint": "Circle — click center, then radius" + }, + { + "id": "sk_circle_2pt", + "name": "2-point circle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_circle#1", + "mode": "sketch", + "family": "Circle", + "icon": "design_circle2pt", + "hint": "Click two ends of the diameter" + }, + { + "id": "sk_circle_3pt", + "name": "3-point circle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_circle#2", + "mode": "sketch", + "family": "Circle", + "icon": "design_circle3pt", + "hint": "Click three points on the circle" + }, + { + "id": "sk_arc_t", + "name": "3-point arc", + "slot": "create", + "key": "A", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:A", + "family": "Arc", + "icon": "design_arc3pt", + "hint": "Arc — click start, end, then a point" + }, + { + "id": "sk_arc_tangent", + "name": "Tangent arc", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_arc3pt#1", + "mode": "sketch", + "family": "Arc", + "icon": "design_tangentarc", + "hint": "Click start (on the last entity) then end" + }, + { + "id": "sk_arc_center", + "name": "Centre-point arc", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_arc3pt#2", + "mode": "sketch", + "family": "Arc", + "icon": "design_arc_center", + "hint": "Click center, then start, then a point for the end angle" + }, + { + "id": "sk_slot", + "name": "Slot", + "slot": "create", + "key": "S", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:S", + "family": "Slot", + "icon": "design_slot", + "hint": "Slot — two centerline ends, then end radius" + }, + { + "id": "sk_slot_arc", + "name": "Arc slot", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_slot#1", + "mode": "sketch", + "family": "Slot", + "icon": "design_slot_arc", + "hint": "Click center, start, end, then a point for the width" + }, + { + "id": "sk_ellipse", + "name": "Ellipse", + "slot": "create", + "key": "E", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:E", + "family": "Ellipse", + "icon": "design_ellipse", + "hint": "Ellipse — center, major end, minor point" + }, + { + "id": "sk_ellipse_arc", + "name": "Elliptical arc", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_ellipse#1", + "mode": "sketch", + "family": "Ellipse", + "icon": "design_ellipse_arc", + "hint": "Click center, major-axis end, minor point, then arc start and end" + }, + { + "id": "sk_spline", + "name": "Spline", + "slot": "create", + "key": "B", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:B", + "icon": "design_bspline", + "hint": "Spline — click control points" + }, + { + "id": "sk_poly_3", + "name": "Triangle", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#3", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Triangle — click centre, then a vertex" + }, + { + "id": "sk_poly_4", + "name": "Square", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#4", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Square — click centre, then a vertex" + }, + { + "id": "sk_poly_5", + "name": "Pentagon", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#5", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Pentagon — click centre, then a vertex" + }, + { + "id": "sk_polygon", + "name": "Hexagon", + "slot": "create", + "key": "G", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#6", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Hexagon — click centre, then a vertex" + }, + { + "id": "sk_poly_8", + "name": "Octagon", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#8", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Octagon — click centre, then a vertex" + }, + { + "id": "sk_poly_12", + "name": "Dodecagon", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:poly#12", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Dodecagon — click centre, then a vertex" + }, + { + "id": "sk_poly_inscribed", + "name": "Inscribed", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:polyfit#0", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Measure the polygon to its corners (inscribed)" + }, + { + "id": "sk_poly_circumscribed", + "name": "Circumscribed", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:polyfit#1", + "mode": "sketch", + "family": "Polygon", + "icon": "design_polygon", + "hint": "Measure the polygon to its flats (circumscribed)" + }, + { + "id": "sk_point_t", + "name": "Point", + "slot": "create", + "key": "P", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:P", + "icon": "design_point", + "hint": "Point — click to place" + }, + { + "id": "sk_text", + "name": "Text", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:text", + "mode": "sketch", + "icon": "design_text", + "hint": "Type text; its outline is added to this sketch as editable lines" + }, + { + "id": "sk_svg", + "name": "SVG", + "slot": "create", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_none", + "sk_point", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:svg", + "mode": "sketch", + "icon": "design_svg", + "hint": "Import an SVG outline into this sketch as editable lines" + }, + { + "id": "sk_offset", + "name": "Offset", + "slot": "add", + "key": "O", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:O", + "icon": "design_offset", + "hint": "Offset — pick an entity, drag the distance" + }, + { + "id": "sk_trim", + "name": "Trim", + "slot": "remove", + "key": "T", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:T", + "icon": "design_trim", + "hint": "Trim — click a segment to trim it" + }, + { + "id": "sk_fillet", + "name": "Fillet", + "slot": "dressup", + "key": "F", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:F", + "icon": "design_filletedge", + "hint": "Fillet — pick two lines, set the radius" + }, + { + "id": "sk_chamfer", + "name": "Chamfer", + "slot": "dressup", + "key": "H", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:H", + "icon": "design_chamfer", + "hint": "Chamfer — pick two lines, set the distance" + }, + { + "id": "sk_array", + "name": "Linear array", + "slot": "repeat", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_array#0", + "mode": "sketch", + "family": "Array", + "icon": "design_array", + "hint": "Pick entities, drag the spacing handle, click the count; click empty to apply" + }, + { + "id": "sk_array_polar", + "name": "Polar array", + "slot": "repeat", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_array#1", + "mode": "sketch", + "family": "Array", + "icon": "design_polararray", + "hint": "Pick entities, drag the sweep handle, click the count; click empty to apply" + }, + { + "id": "sk_mirror", + "name": "Mirror", + "slot": "repeat", + "key": "M", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:M", + "icon": "design_mirror", + "hint": "Mirror — pick axis, then entities" + }, + { + "id": "sk_move", + "name": "Move", + "slot": "transform", + "key": null, + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_move#0", + "family": "Move", + "icon": "design_move", + "hint": "Pick entities, then drag the handle or click the distance; click empty to apply" + }, + { + "id": "sk_rotate", + "name": "Rotate", + "slot": "transform", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_move#1", + "mode": "sketch", + "family": "Move", + "icon": "design_rotate", + "hint": "Pick entities, then drag around the pivot or click the angle; click empty to apply" + }, + { + "id": "sk_scale", + "name": "Scale", + "slot": "transform", + "key": null, + "feature": "Sketch", + "mcp": null, + "accepts": [ + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "fly:design_move#2", + "mode": "sketch", + "family": "Move", + "icon": "design_scale", + "hint": "Pick entities, then drag the handle or click the factor; click empty to apply" + }, + { + "id": "sk_dimension", + "name": "Dimension", + "slot": "reference", + "key": "D", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:D", + "icon": "design_dimension", + "hint": "Dimension — click 2 points or an entity" + }, + { + "id": "sk_constrain", + "name": "Constrain", + "slot": "reference", + "key": "K", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:K", + "icon": "design_constrain", + "hint": "Constrain the selected sketch entities to each other" + }, + { + "id": "constrain", + "name": "Constrain sketch", + "slot": "modify", + "key": null, + "feature": "Sketch", + "mcp": null, + "mode": "model", + "accepts": [ + "sk_loop" + ], + "needs": { + "sketches": 1 + }, + "refusal": "Select a sketch to constrain it", + "gui": true, + "action": "btn:constrain", + "icon": "design_constrain", + "hint": "Add dimensions and relations (coincident, tangent, parallel...) to the selected sketch", + "note": [ + "Same verb, model-mode vocabulary: offered when a SKETCH is selected (bit 14, SkLoop), the", + "state a user is in right after finishing one. Without this row the only way in was the", + "toolbar icon, and constraints read as absent — see the Onshape-comparison report." + ] + }, + { + "id": "sk_construct", + "name": "Construction", + "slot": "reference", + "key": "Q", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_none", + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:Q", + "icon": null, + "hint": "Toggle construction: geometry that guides but is never built" + }, + { + "id": "sk_extend", + "name": "Extend", + "slot": "modify", + "key": "X", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:X", + "icon": "design_extend", + "hint": "Extend — click a line/arc to extend it" + }, + { + "id": "sk_delete", + "name": "Delete", + "slot": "modify", + "key": "Del", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line", + "sk_arc", + "sk_point", + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "btn:sk_delete", + "icon": "design_delete", + "hint": "Delete the selected sketch entities" + }, + { + "id": "sk_length", + "name": "Length…", + "slot": "modify", + "key": "V", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_line" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:V", + "icon": "design_dimension", + "hint": "Type the length of this line", + "note": [ + "Typing the defining number of the element you pointed at. Three rows rather than one so", + "each names the quantity in the drawing-office word for THAT element; all three land on", + "the same handler, because dimension_kind() already resolves the quantity from the", + "selection. Without these, an element's own numbers were reachable only by arming the", + "Dimension tool and re-picking geometry that was already selected." + ] + }, + { + "id": "sk_radius", + "name": "Radius / diameter…", + "slot": "modify", + "key": "V", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_arc" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:V", + "icon": "design_dimension", + "hint": "Type the radius of this arc, or the diameter of this circle" + }, + { + "id": "sk_angdist", + "name": "Angle / distance…", + "slot": "modify", + "key": "V", + "feature": "Sketch", + "mcp": null, + "mode": "sketch", + "accepts": [ + "sk_2ent" + ], + "needs": {}, + "refusal": null, + "gui": true, + "action": "key:V", + "icon": "design_dimension", + "hint": "Type the angle between two lines, or the distance between the two picks" + } + ], + "chrome_only": { + "_why": "document-level actions act on the DOCUMENT, not on a selection, so they stay in chrome and never enter the offer (see 4.1) Text and SVG were removed from this list 2026-08-01: they create a Sketch feature on the picked face, so they consume a selection like any other Create verb.", + "items": [ + "Import STEP", + "Import mesh", + "Export STEP", + "Commit to Plate", + "Undo", + "Redo", + "Variables", + "Section view", + "Origin planes", + "World axes" + ] + }, + "_ratified": "Row order ratified 2026-07-31 by Tommaso. Changing an index is a breaking change (charter 4.1)." +} diff --git a/docs/HLSD/deferred-page-construction.md b/docs/HLSD/deferred-page-construction.md new file mode 100644 index 0000000000..6a25d16fc3 --- /dev/null +++ b/docs/HLSD/deferred-page-construction.md @@ -0,0 +1,137 @@ +# Deferred Page Construction: High Level Design + +## Why it exists + +The main window is a notebook of tabs, and only one of them is on screen when the first +frame appears. Others are opened later in the session, some never, and some only exist +for certain printers. Building every tab before the first frame makes each startup pay for +tabs the user may never open. + +This subsystem builds a tab the first time it is shown, and builds the rest in small units +while the user is idle after startup. Startup pays only for what the first frame shows, +the other tabs are usually ready before anyone opens them, and a click that lands in the +middle of the idle build waits for one unit at most. Work that is not a tab, such as a +dialog or the 3D view's GL resources, uses the same machinery. + +## The parts + +The parts are independent. A holder can hold anything a factory makes, a placeholder page +is a holder with a widget, a staged object can live outside a holder, and the scheduler +knows none of them; it runs tasks, which the main window makes from the holders. + +### The holder: `Lazy` + +A holder keeps one object and the factory that makes it. The rest of the app reads the +object if it exists, makes sure it exists now when about to show or navigate to it, or runs +something once it exists. A type with one instance in the app gets these as statics +through `LazyInstance`, so callers need no reference to the main window, and all of them +are harmless while no holder exists. + +The holder guarantees that callers see the object only once it is completely built. A +build cannot re-enter itself, so a nested request finds nothing yet, and a factory that +returns null or a unit that throws leaves the holder and the scheduler able to carry on. +The holder does not own the object; its wx parent does, as for any window. The holder has +no wx dependency and is unit-tested. + +### The placeholder page: `LazyPage` + +The notebook needs a page object for a tab to exist and for tabs to be inserted and +removed by pointer, and the placeholder is that object. It builds the real panel inside +itself the first time it is shown and forwards showing and hiding afterwards, so a panel's +own show handling stays its activation hook. Nothing builds while the main window is +hidden; the window's first show builds the start page. A page that is out of the book is +not prebuilt. A panel built while its page is hidden stays hidden, and gets the theming +the window applied before the panel existed. + +### Staged construction: `StagedBuild` + +A constructor too big to be one unit builds a skeleton and queues the rest as steps, which +run one per unit. A child panel's steps can be forwarded to its parent, and the parent is +complete only once the child is. Nothing may use what a step builds before the last step +has run, so staged panels follow these constraints: + +- members created in steps start out null, so a partly built panel can be destroyed; +- timers, event handlers and destructors that touch step content check that the panel is + complete first; +- nothing takes focus while off screen, since a unit may run while the user is typing + elsewhere; +- a widget added by a step keeps its place in the sizer through an empty slot the skeleton + creates. + +### The scheduler: `IdleScheduler` and `PrebuildQueue` + +The queue holds tasks in order, and a slice runs units of the first pending task until +the task finishes, the time budget is spent, or input arrives. It has no wx dependency and +is unit-tested with a fake clock. A task whose work goes away, such as a tab removed from +the book, is skipped, and becomes pending again if the work comes back. + +A slice runs only once the user has been idle for a short quiet time, and each slice is its +own timer message, so paint, timers and input queued in between are handled before the +next slice. Posting slices as pending events would not do that, because wx drains every +pending event before the next native message. On GTK a timer that is always due starves +the lower-priority sources that repaint and deliver posted events, so slices are a few +milliseconds apart. On Windows a slice also waits while the native queue holds input, +not counting mouse moves, which Windows synthesizes whenever a window appears under the +cursor. A slice never runs inside a `wxYield()`, where it would build pages in the middle of +the code that yielded. A unit cannot be interrupted, so the largest unit bounds how long a +click can wait. +When nothing is pending the timer stops and the subsystem costs nothing. + +The main window owns the scheduler because it owns what the tasks build, and clearing the +queue with the window keeps a task from outliving its object. Each owner provides its own +tasks, such as a tab, a dialog, the Prepare tab's settings page one option group at a +time, the Prepare page's layout at the size the book gives its pages, or the 3D view's GL +resources. + +### The 3D view's GL resources + +OpenGL is loaded on the Prepare tab's canvas. When the start page is not Prepare, loading +it is an idle task that makes the context current on the hidden canvas, so the start page +paints first and Prepare never appears. Loading it on a shown canvas under `Freeze()` holds +back the start page's paint, and on GTK `Freeze()` cannot hide the canvas, which is a +native child window or a Wayland subsurface drawn outside GTK. A hidden Windows child +window keeps its device context, macOS attaches the context to a hidden view, and GTK +creates the canvas's surface when the widget is realized, so on GTK the task realizes the +canvas first. If the context cannot be made current, the canvas's first render loads the +resources. + +## Rules + +**Before the first frame.** Only the start page and the Prepare tab's plater are built +before the first frame. Everything else goes through a holder. + +**Reaching a lazy object.** Callers use the type's statics. Reading it if built is for +things the object can live without, such as a rescale, a color change or a status refresh. +Making sure it exists is for navigating to it or showing it. Running something once it is +built is for state it would not fetch for itself on construction. A panel that pulls its +state when constructed only ever needs to be read if built. + +**Unit size.** A unit should fit in one slice on a fast machine. A constructor over that is +staged, and a single widget over it is accepted unless the widget itself can be split. + +**Order.** Tasks run cheapest and most likely to be opened first. Each holder's order is +given where it is created, with gaps so a new task fits between its neighbors. A negative +order is never prebuilt, for something few sessions open that costs more to build unasked +than it saves. + +## Adopting it + +A lazy tab needs a panel type deriving from `LazyInstance`, a placeholder page the main +window creates once with its order and registers for the idle build, and every use of the +panel outside the main window going through the statics. Its constructor has to cope with +the main window already existing and the user being busy elsewhere, so it takes no focus +while off screen, and it does all of its own setup, since the main window does nothing to a +panel after creating it. + +To stage a heavy constructor, keep the skeleton in the constructor, move the rest into +steps in its original order, and follow the staged-construction constraints. Measure the +units; a step that is still one big widget is split inside the widget or accepted. + +## Verifying + +The log lists the queue when it is registered, reports each completed task at info level +and each slice and unit at debug level, and reports every on-demand build with its units +and time. A task's completion line counts only the slice it finished in. A run from the +configured start page should show every registered task complete in order, with no unit +longer than intended. A click on a tab during the idle build should show an on-demand +build for what was left, with the slices resuming once the user is idle again. diff --git a/docs/HLSD/filament_id.md b/docs/HLSD/filament_id.md index 0aaf845909..122dfb6fdb 100644 --- a/docs/HLSD/filament_id.md +++ b/docs/HLSD/filament_id.md @@ -9,7 +9,7 @@ OrcaFilamentLibrary (OFL), Qidi, or Snapmaker bundle. The granularity is the nam 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` +**How it is generated:** an id is computed, never invented. `scripts/orca_profile_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 @@ -34,23 +34,19 @@ This page is the rule for authoring `filament_id` in system profiles > [!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. +> `python scripts/orca_profile_tool.py generate-id`; one already in the tree has one — inherit it. -## The design, in two pieces +## The design 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. +the system is built to make them impossible: 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. +CI holds every id in the tree to that rule, so the profiles themselves are the whole record of +which products exist and which bundles ship them. ## Who consumes the id @@ -160,8 +156,8 @@ key needed). Tuning a generic material → **join the OrcaFilamentLibrary filame 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 + **by design**, applied by `generate-id` (preview with `--dry-run`, confine with `--vendor`); + 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. @@ -170,7 +166,7 @@ key needed). Tuning a generic material → **join the OrcaFilamentLibrary filame ## 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`): +(the `setting_id` half of `scripts/orca_profile_tool.py generate-id`): ```text FILAMENT_ID_NAMESPACE = uuid5(setting-id NAMESPACE, "filament_id") @@ -196,13 +192,13 @@ Snapmaker bundles alike; the OFL generic `Generic/PLA/Generic PLA` mints `OFDSrz 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 +Nothing but the triple feeds the mint — not the rest of the tree, 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 +is a mismatch `check` reports and `generate-id` 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 +few thousand products); nothing salts past it: `check` reports it naming both products, +`generate-id` 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 @@ -212,80 +208,76 @@ 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. +python scripts/orca_profile_tool.py generate-id --dry-run # 2. preview the ids — writes nothing +python scripts/orca_profile_tool.py generate-id # 3. apply them to the profile file(s) +python scripts/orca_profile_tool.py check # 4. validate — everything CI checks ``` -`--generate` makes every filament's id equal the mint of its own +`generate-id` 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 +mismatching id is the one case left to the author — check 2b 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 +exactly when it already equals the one id its triple mints, and a collision (check 2d) 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. +loudly), and a no-op on a tree that already passes `check`. - `--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 + 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 ` previews just that bundle. +- `--dry-run` reports what the run would do and writes nothing, so + `generate-id --dry-run --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. + `resources/profiles`). -**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. +The tool's other commands maintain the tree around the ids: `fix` normalises profile files, +`trim` drops files no `.json` list references, and `update-index` rebuilds those lists. +They do not touch ids; `--help` documents them. + +**Identity fixes need no separate command.** `generate-id` 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 and run `generate-id` (confine it with +`--vendor`, preview it with `--dry-run`). 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. +the instruction to run `python scripts/orca_profile_tool.py generate-id`. -## Reserved namespaces — never mint or hand-write into +## Ids other systems compose -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. +Every filament profile carries a minted id, with no exceptions and no spellings held back for +anyone. There is therefore no reserved namespace to respect and no bundle that owns one: an id +some other system composes for its own purposes is simply not the mint of a triple, so it +cannot be a system profile's `filament_id`, and the format check rejects it for that reason +alone — same error, same remedy, whoever wrote it. -| 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 | +Three such spaces exist around us, and are worth recognising so nobody mistakes one for an id +to copy into a profile: -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___` 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. +- **Bambu's `GF*` catalog.** Bambu's device / RFID / cloud catalog is external and opaque. 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. Note that `GF` is a *prefix*, not a namespace the tree + avoids: BBL's authoritative `setting_id` values include `GF`-prefixed ones, and + `resources/profiles/blacklist.json` and `BBL/filament/filaments_color_codes.json` both + reference Bambu catalog ids by design. The rule is about `filament_id` and nothing else. +- **Qidi's `QD_*` protocol ids.** The Qidi box composes `QD___` 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`. 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. +- **`P` + 7 hex chars, and `"null"`.** What `CreatePresetsDialog.cpp` gives a filament a *user* + creates. Those are user presets, not system profiles, and the two never meet in the tree. ## The Bambu catalog map @@ -337,7 +329,7 @@ OrcaFilamentLibrary. **135 is the number to expect at every regeneration** — 1 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 +**Check 4** lives in `check_filament_ids`, so profile CI runs it alongside the other three. 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)` @@ -426,23 +418,14 @@ 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. +`scripts/orca_profile_tool.py check`. Every check judges the tree against the rules on this +page and nothing else — there is no recorded id state to match and 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. +- **Format** — every id occurring in the tree is `OF` + 6 base62 chars. No exceptions, not + even BBL. - **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 @@ -450,8 +433,6 @@ The checks, in brief: 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. @@ -461,16 +442,14 @@ The checks, in brief: 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. +A profile that declares an id no triple mints — a Bambu catalog id, a composed Qidi one, a +hand-typed value, whatever its vendor — fails the format check. For a Bambu-cataloged product +the catalog map is where the correspondence belongs. Two products sharing one id are caught by +the identity check whether the id is declared or inherited. -`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). +The same `check` run 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 @@ -488,21 +467,21 @@ ambiguity check behind structure rule 3. `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. + `python scripts/orca_profile_tool.py generate-id` 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 ` (preview with `--dry-run`), then `--update-snapshot`, and commit - the profile and snapshot diffs together. The id re-derives from the corrected identity, and + `generate-id --vendor ` (preview with `--dry-run`), and commit the result. 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 ` (preview with `--dry-run`), then - `--update-snapshot`. The id follows the new filament name; as with any identity fix, the old id + preset *name* resolving), then `generate-id --vendor ` (preview with `--dry-run`). 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. +- **Can I reuse a `QD_*` id for a Qidi profile?** No — it is not a mint, so it is not a + `filament_id`. Those values are composed by the box 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_profile_tool.py generate-id` and + commit the result. 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). diff --git a/docs/HLSD/keyboard-shortcuts.md b/docs/HLSD/keyboard-shortcuts.md new file mode 100644 index 0000000000..7cfc72c30f --- /dev/null +++ b/docs/HLSD/keyboard-shortcuts.md @@ -0,0 +1,132 @@ +# Keyboard Shortcuts + +## Why it exists + +Key events arrive in several windows (the main frame's char hook, the 3D canvases, the +gizmo manager and the object list), and the same keys are shown again in menu labels, +toolbar tooltips, gizmo names and the shortcuts dialog. The registry is the one table all +of them read. Each binding is defined once; dispatchers look key events up there, labels +are derived from it, and a change the user makes updates all of them. + +## Data model + +`KeyChord` (`src/slic3r/GUI/KeyChord.hpp`) is one key press: the key code as +`wxEVT_KEY_DOWN` reports it, plus the `wxMOD_*` modifiers held with it. It has two +text forms. The canonical one (`Ctrl+Shift+S`) is platform-neutral and doubles as the wx +accelerator string and the config format. The display one uses translated modifier +names and the command and option glyphs on macOS. `KeyChord::from_event()` turns any wx +key event into the same key code and modifiers, so a chord recorded in the dialog is +equal to the chord a dispatcher builds from the key press. + +`Shortcut` is the enum of every user-facing binding. `shortcut_table` in +`src/slic3r/GUI/Shortcuts.cpp` gives each one a config key, a description, a context +mask, a default chord, a `repeatable` flag and a `modifier_variants` flag, in the order +the dialog lists them; a `static_assert` keeps the table and the enum in step. + +`ShortcutRegistry` overlays the user's overrides on the defaults and keeps a +chord-to-shortcut index for lookups. It reads and writes the `shortcuts` section of +`AppConfig`. Only overrides are stored, so a default can change between releases +without touching anyone's config; `none` records a shortcut the user unbound. + +## Contexts + +A key press is looked up in the context of the window that received it. + +| Context | Dispatcher | Examples | +|--------------|-----------------------------------------------------------|-------------------------------| +| `Global` | `MainFrame`'s `wxEVT_CHAR_HOOK`, before any child sees it | New project, camera views | +| `Plater` | `GLCanvas3D` of the 3D and assembly views | Arrange, gizmo activation | +| `Preview` | `GLCanvas3D` of the G-code preview | One-layer mode, jump to layer | +| `ObjectList` | the object list | Copy, delete, auto drop | +| `Painting` | `GLGizmosManager` while a painting gizmo is open | Circle, sphere, fill tools | + +A shortcut can belong to several contexts, which is how copy and paste are a single +binding for the canvas and the object list. Two shortcuts can share a chord when their +contexts do not overlap; `C` is the cut gizmo in the 3D view, the G-code window in the +preview and the circle tool while painting. A Global chord is dispatched before every +other context, so the dialog treats it as conflicting with all of them. + +A Global shortcut has to include Ctrl or Alt or use a key that types nothing, since a +bare printable key in the frame hook would swallow that character in every text field. +The dialog refuses such chords and `ShortcutRegistry::load()` drops them from the config. +Space counts as typing. The speed dial's default is the one bare Space, and +`MainFrame` leaves it to a focused control that uses Space itself (text fields, buttons, +combo boxes), so it opens the dial from the canvases and the tab strip only. + +## Which event a chord matches + +Letters, digits and special keys match on `wxEVT_KEY_DOWN`. Its key codes do not depend +on the keyboard layout: the key labelled `Q` on an AZERTY keyboard and the key in the +same position under a Cyrillic layout both report `Q`. Numpad keys fold onto their main +keyboard equivalents, so `Ctrl+1` and `Ctrl+Numpad 1` are one binding. + +Punctuation matches on `wxEVT_CHAR`, because only the char event knows which character +a key produced under the active layout. `+` is Shift and `=` on a US keyboard and a key +of its own on a German one, and the binding means the character in both cases. The +canvas looks a key up on key-down first and, when nothing matched, once more on the char +event, for punctuation chords only. The dialog records chords the same way: a printable +non-alphanumeric key pressed with nothing but Shift is taken from the char event that +follows. + +wxGTK does not report key auto-repeat, so the canvases share one record of the keys +seen going down and swallow the repeats of every shortcut not marked `repeatable`. Zoom +and undo repeat, for example; a toggle such as Tab does not. The record is shared because +a shortcut can move the focus to another canvas while its key is still held; a key +released while no canvas had the focus is dropped on the next press. + +A few shortcuts have `modifier_variants`: Shift or Ctrl added to their binding selects a +step of the same action (1 mm and camera-space moves of the selection, five-step slider +moves). Only a binding without Shift or Ctrl of its own has steps, so no two bindings +share one. `ShortcutRegistry::match()` looks the exact chord up first and only then, when +nothing is bound to it, looks for such a shortcut whose binding is the chord minus those +modifiers, reporting which were added; a binding on Ctrl+Shift+key therefore wins over +the combined step. The Shift and Ctrl steps themselves are reserved. `step_owner()` names +the shortcut they belong to, the capture dialog refuses to assign them, and +`conflicts()` reports exact chords only. A binding made before its key became a stepping +key keeps its chord and shadows that one step. A move or rotation of the selection +started from the keyboard runs until the key that started it is released, or the +canvas loses focus, so a held key is one undo step. + +## Labels + +Menu labels, toolbar tooltips, gizmo names, the context menu and the shortcuts dialog +read the registry, so a rebinding shows up in all of them. Each tracked menu item keeps +its base label; `MainFrame::update_shortcut_labels()` appends the current binding +again after an edit, which also installs the new wx accelerator. + +A chord that is unsafe as a menu accelerator, meaning a bare printable key, is appended +to the label as plain text so the menu cannot take it away from text fields. The macOS +edit menu shows its clipboard and undo entries that way, because a system-menu key +equivalent for Cmd+C would run instead of the text field's own copy. + +On macOS the object list receives no key events at all, so its bindings are installed as +a `wxAcceleratorTable`, regenerated from the registry after each edit. + +## Editing + +The shortcuts dialog has a page per context, each opening with a line that says when its +keys apply. A page lists the shortcuts under the headings of `section_table`, with the +fixed keys that cannot change (mouse buttons, the step modifiers, Esc, the digit keys +that pick a filament) sorted into the same sections. The mouse drag rows describe the +camera actions chosen in Preferences; their button opens Preferences > Control with that +option scrolled into view and focused, instead of editing a key. +Editing a row opens a capture dialog that records the next chord, names the shortcuts it +would take the chord from, and on confirmation unbinds those and binds this one. +Resetting a row asks the same question when its default is now held by another +shortcut, so a reset cannot leave two shortcuts on one chord. Each change is written to +the config at once and pushed to the menus, tooltips and accelerator tables through +`GUI_App::on_shortcuts_changed()`. The dialog opens from the Help menu and Preferences > +Control on the Global page, and from the `?` key on the page of the view that received it. + +## Adding a shortcut + +1. Add the enum value to `Shortcut` and its row to `shortcut_table`, in the position + the dialog should list it; the row's section heading is the `section_table` entry + above it, so a new section needs an entry there too. Pick a default that does not + collide inside its contexts; the `[Shortcuts]` tests check every default against the + others. +2. Handle it in the dispatcher of its context: `MainFrame::handle_global_shortcut`, + `GLCanvas3D::handle_shortcut`, `ObjectList::dispatch_shortcut`, or a gizmo's + `on_tool_shortcut`. A gizmo that opens on a key sets `m_shortcut` in its constructor. +3. Where the UI shows the key, ask the registry (`display()` for tooltips, + `accelerator()` for menu labels); no label holds a literal key name. diff --git a/docs/HLSD/multiline-infill.md b/docs/HLSD/multiline-infill.md new file mode 100644 index 0000000000..d644b197eb --- /dev/null +++ b/docs/HLSD/multiline-infill.md @@ -0,0 +1,123 @@ +# Multiline infill — High Level Design + +## Purpose and scope + +`fill_multiline` prints every sparse infill wall as N adjacent lines instead of +one, so a wall is `d1 = N * spacing` thick. Only internal sparse infill uses it. +Each pattern first builds its single-line centerlines at N times the usual line +spacing (so the density holds), and `multiline_fill()` then replaces each +centerline by the lines of that wall: the centerline itself when N is odd, and +closed outlines around it at every `spacing` out to `d1 / 2`. The outlines are +clipped to the fill region contracted by half a line width, then connected like +any other infill. + +Outlines of centerlines that cross each other overlap at every crossing, which +over-extrudes the wall intersections. The line-crossing patterns Grid, +Triangles, Tri-hexagon and Cubic therefore build centerlines that never cross +(`FillRectilinear::fill_surface_trapezoidal()`), and so do Adaptive Cubic and +Support Cubic (`FillAdaptive`); the other patterns outline their usual +centerlines. + +## Non-crossing centerlines + +The crossing lines are resolved into x-monotone paths, the levels of the line +arrangement: walking along x, the k-th path is always the k-th line from the +bottom. At every crossing, the two paths bounce off each other instead of +passing through. Adjacent paths meet only at crossings, so their outlines touch +there and nowhere overlap. + +Where two paths meet, each is cut short by a line perpendicular to the bisector +of its bend, `d1 / 2` from the crossing. The two cut segments are parallel and +`d1` apart, so the outermost lines of the two walls sit exactly `spacing` apart, +like the lines inside a wall. Where three lines meet at one point, the middle +path runs straight through and the outer two are cut `d1` from it. + +Each pattern builds its rows along x in a rotated frame. Grid lines run at ±45° +there, and its rows are trapezoid waves that transpose on alternate layers. The three families of Triangles, Tri-hexagon and +Cubic run at 0°, 60° and 120°. Those rows rotate by 120° every layer about a +3-fold center of the arrangement, so each family takes every role in turn. +The pattern is phased on fixed positions, so it lines up across layers and +across the regions of one layer. Rounding the corners with +`sparse_infill_smooth_factor` happens before `multiline_fill()`. + +## Cubic + +Single-line Cubic draws the three families at the same spacing `h` and shifts +them with z: by `+dx`, `-dx` and `+dx`, `dx = z / sqrt(2)`. The multiline paths +follow the same lines. In the frame where one family is horizontal, the other two +cross in rows `h` apart, alternating by half a period, at height +`tau = -3 * dx (mod h)` above the horizontal line below them. The crossings split +every band between horizontal lines into up-pointing triangles of height `tau`, +down-pointing triangles of height `h - tau`, and hexagons. At `tau = 0` (and `h`) +all three families meet at common points, as in Triangles. At `tau = h / 2` the +triangles are equal, as in Tri-hexagon. The origin of that frame is always a +3-fold center, whatever z is, so the per-layer rotation keeps the lines in place. + +Each band holds two paths that touch at its crossings: the upper one takes the +V below the crossing and runs along the top horizontal line, and the lower one +takes the inverted V above it and runs along the bottom line. Both are the same function +of `tau`, the lower one mirrored with `h - tau`. `cubic_upper_level()` builds one +period of the upper path as the lower envelope of five lines, clipped from below: + +- the two slanted lines through the crossings, +- the horizontal line, lowered when the triangle above it is less than `1.5 * d1` high, +- the two chamfers where the path turns onto and off the horizontal line, `d1 / 2` + from those crossings, +- the flat cut into the V at the crossing. + +The cut height `clamp(tau - d1 / 2, 0, h - d1) + d1` is what makes the pattern +continuous in z. While both triangles are at least `1.5 * d1` high, every +crossing is a pair of bends `d1 / 2` from it, as in Tri-hexagon. When a triangle +is thinner, its three paths stack like a triple crossing. The path through it +flattens toward its base line and lies on it once the triangle is under `d1 / 2` +high, and the paths beside it are pushed `d1` away. The layout thus reaches the +Triangles one where the families meet. Adjacent paths stay at least `d1` apart +at every `tau` and at every density up to 100%. + +## Adaptive Cubic + +Adaptive Cubic and Support Cubic take their lines from an octree of cubes +standing on a corner. On each layer every cube cuts its three mid-planes into +segments of the same three 60° families as Cubic, but the pattern is not +periodic. Smaller cubes near the surface add finer lines, and a finer line ends +where it meets the wall of its coarser cube, so the lines form crossings and +T-junctions. `FillAdaptive::multiline_paths()` builds the paths from these +segments directly, for each fill region and within `4 * d1` of it. + +At a crossing the two paths bounce as in Cubic. At a T-junction the through line +runs straight on and the path of the ending line stops there. Every path still +runs left to right in the frame where one family is horizontal, and that family +rotates with the layer. + +Every line of every cube size lies on one fine lattice, so crossings closer than +a few `d1` are the corners of one small triangle of that lattice, as in Cubic. +The cuts follow the Cubic rules without a closed formula: + +- The two bends of a crossing are cut `d1` apart, `d1 / 2` each, perpendicular + to their bisector, so their walls touch. A cut goes no further than the path + end, and the other bend takes the rest of `d1`. +- At the tip of a small triangle, between the two slanted families, a cut also + goes no further than the neighbouring bend turning the other way, and the + path beyond that bend is kept a wall away from it. The bends onto the + horizontal family are not limited this way: pushing their paths apart would + open gaps between walls that should touch. +- A cut moves the path only where the cut line lies beyond it, near its bend. + The sharp bends between the two slanted families are cut after the bends onto + the horizontal family, so the tip of a small triangle wins, as in Cubic. +- A path stopping at a T-junction is trimmed until it is `d1` less half a line + spacing from every other path, so that its end overlaps the wall it stops on + by half a line and bonds to it. The paths are trimmed one at a time against + the others as already trimmed, so two ends facing each other meet instead of + both backing off. A path stopping on the line of another is trimmed before + that one, so it gives way and the other still reaches the line it stops on. A + second round trims every path again from its full length, so an end grows + back where the ends it gave way to were trimmed later, and a last round only + shortens them, keeping them that far apart. Paths shorter than `d1` are left + out. +- A line that ends on another less than `2 * d1` past a crossing stops at that + crossing instead, the shorter one where both do. The path along such a stub + would be trimmed away, leaving a hole between the walls that were cut to + touch it. + +Short paths enclosed by coarser lines still print as closed outlines, but most +paths run on across several cells. diff --git a/docs/HLSD/preset-cache.md b/docs/HLSD/preset-cache.md index 6e693dbd6f..666e452f1e 100644 --- a/docs/HLSD/preset-cache.md +++ b/docs/HLSD/preset-cache.md @@ -76,9 +76,10 @@ and the count of errors the original parse hit. Each entry is one preset **in source form**: what its JSON sub-file states and nothing that resolving it derives — the preset's own config diff, the name of the preset it -inherits, and the parse metadata (name, sub-path, description, instantiation, setting -and filament ids, renames). Non-instantiated base presets are stored too; the children -that inherit from them cannot resolve without them. +inherits, the names of the presets it includes, and the parse metadata (name, sub-path, +description, instantiation, setting and filament ids, renames). Non-instantiated base +presets are stored too; the children that inherit from or include them cannot resolve +without them. **The payload names its own keys.** The dictionary holds the distinct `opt_key`s the file uses, the `ConfigOptionType` each was written as, and the distinct enum *value @@ -161,9 +162,9 @@ cache nothing can invalidate is worse than no cache. Vendors load in a fixed order, because filament inheritance crosses exactly one boundary: any vendor's filament may inherit from the shared Orca filament library, -and nothing else reaches across vendors. The library therefore goes first, alone; -every other vendor follows in parallel, resolving against it; and the results are -merged in a stable order: +and nothing else reaches across vendors — an `include` is always vendor-local. The +library therefore goes first, alone; every other vendor follows in parallel, resolving +against it; and the results are merged in a stable order: ```mermaid flowchart LR @@ -211,13 +212,16 @@ and its cache was never written back. Serving from a cache is not a memory-image restore. The entries are deserialized and then installed one by one — inheritance resolved against the presets installed before -them and the currently loaded filament library, configs flattened onto the collection -defaults, validated and registered — by the same function the JSON path calls straight -after parsing a sub-file. The two paths share everything below the parse, which is what -makes a cache-loaded bundle indistinguishable from a JSON-loaded one by construction -rather than by test coverage. Installation also rebuilds each preset's file path from -the local data directory, so a shipped cache never carries the generating machine's -paths. +them and the currently loaded filament library, includes layered in, configs flattened +onto the collection defaults, validated and registered — by the same function the JSON +path calls straight after parsing a sub-file. An `include` layers what the included +base states, between the parent and the preset's own keys: the base's diff against the +default, taken when the base itself was installed and before the per-variant padding +`inherits` sees, so only what a template sets reaches the presets including it. The two +paths share everything below the parse, which is what makes a cache-loaded bundle +indistinguishable from a JSON-loaded one by construction rather than by test coverage. +Installation also rebuilds each preset's file path from the local data directory, so a +shipped cache never carries the generating machine's paths. App upgrades work because a cache normally survives one. Only a deliberate `CACHE_VERSION` bump makes an installed cache unreadable, and that is handled at diff --git a/docs/HLSD/prime-tower-sparse-layers.md b/docs/HLSD/prime-tower-sparse-layers.md new file mode 100644 index 0000000000..19802c9169 --- /dev/null +++ b/docs/HLSD/prime-tower-sparse-layers.md @@ -0,0 +1,197 @@ +# Prime tower sparse layers — High Level Design + +## Purpose and scope + +A prime tower exists to absorb filament changes, but it is planned on every +object layer below the topmost change, not only on the layers that purge. The +layers in between carry no filament change and print nothing but a block of the +tower's own footprint to keep its top level. They are called sparse layers, and +on a print with few changes they are most of the tower: they cost time, filament +and a travel to the tower on every layer. + +Two settings trade that cost against something else. `wipe_tower_no_sparse_layers` +drops them, which sinks the tower below the model. `wipe_tower_sparse_layers_combination` +merges runs of them into fewer, thicker layers, which keeps the tower level with +the model. Both are off by default, and with both off the tower prints one layer +per object layer as it always has. + +The decisions belong to tower planning and G-code emission. They do not change +sliced object geometry, but they do change the emitted G-code, the filament and +time estimates, and — for the compacted case — whether a plate is printable at +all. Changing either setting invalidates the tower step. + +## What a sparse layer is + +`ToolOrdering::fill_wipe_tower_partitions` counts the filament changes per layer +and propagates that count downwards, so every layer below the topmost change is +marked as carrying a tower. It then fills any gap between two tower layers, so +the tower is continuous from the bed to its last purge. `wipe_tower_layer_height` +is the distance from the previous tower layer, which is the object's layer height +whenever the tower prints on every layer. + +`Print::_make_wipe_tower` plans one tower layer per such object layer. A layer +whose only call keeps the current filament leaves no toolchange in the plan, and +the layer it generates is a single result whose initial and new tool are equal. +That is what `wipe_tower_layer_is_sparse` recognises, and it is the unit both +settings work on. + +The plan stays one entry per tower layer in every case. The G-code emitter walks +`WipeTowerData::tool_changes` by layer index, advancing once per object layer +that carries a tower, so a planner that removed entries would silently shift +every later layer onto the wrong tower geometry. Layers that print nothing are +therefore still planned and still generated; they are marked, and the emitter +drops them. + +## Shared rules + +Tower planning, G-code emission and the plate validation all have to agree about +which layers print and where. They ask one set of free functions, declared beside +the tower classes, rather than each re-deriving the answer from the raw options: + +- `wipe_tower_sparse_layers_skipped` — whether sparse layers are really dropped. + Smooth timelapse and clumping detection park the nozzle on the tower every + layer, so with either of them on no layer is ever dropped and the option reads + as off everywhere. +- `wipe_tower_sparse_layers_combined` — whether runs are really merged. The same + two rule it out, and so does `wipe_tower_no_sparse_layers`: dropping the layers + outright is the stronger answer to the same problem, so the two settings are + exclusive and the GUI greys out the second while the first is on. +- `wipe_tower_layer_is_sparse`, `wipe_tower_layer_is_combined_away` — per-layer + questions the emitter asks about generated results. +- `compute_compacted_wipe_tower_z` — the tower's print z per planned layer when + it is compacted. +- `combine_sparse_wipe_tower_layers` and its `combine_sparse_wipe_tower_plan` + wrapper — the merge rule, applied to either generator's plan. + +Both tower generators are driven through these. `WipeTower` (Type 1, the block +tower) and `WipeTower2` (Type 2, the default) keep separate plans with the same +per-layer shape — print z, layer height, toolchanges, and a `combined_away` flag +— so one template covers both. + +## Dropping sparse layers + +With `wipe_tower_no_sparse_layers`, the tower only grows on layers that carry a +real change. It therefore falls one layer height behind the object for every +sparse layer, and by the top of a tall print it can sit far below the model. The +nozzle has to reach down to it at each purge. + +`compute_compacted_wipe_tower_z` derives that z once, from the generated results, +so the emitter and the validator cannot disagree. Emission descends to it, but +only once the nozzle is parked over the tower: descending while still over the +model would drive the nozzle into the print, so a descent that would do that is +deferred until after the travel to the tower. Extrusions emitted without an +explicit z — the nozzle-change wipe in particular — are pulled down to the +compacted z for the same reason. + +Reaching down is only safe if nothing tall stands near the tower. `Print.hpp` +carries the clearance rule: a keep-out zone grown from the tower's footprint by +the spiral z-hop envelope, and a per-object limit on how high an object may rise +near it, tiered by the nozzle cone, the head body, the rod and the lid. The same +rule serves the precise check on real extrusions, the pre-slice estimate that +feeds the plater, and the outlines the plater draws while an object is dragged, +so that the ring the user sees touches the object's outline exactly when the +check trips. + +## Merging sparse layers + +With `wipe_tower_sparse_layers_combination`, no layer is dropped and nothing is +compacted: the tower keeps following the object, and the nozzle never descends. +Instead a run of consecutive sparse layers prints once, on the run's last layer, +at the accumulated height of everything it covers — the same way infill +combination merges sparse infill. The layers below it in the run print nothing. + +`combine_sparse_wipe_tower_plan` runs before the tower's depths are planned, +because the heights it rewrites feed the extrusion flow of every later pass. It +raises `height` in place on the layer that prints a run and sets `combined_away` +on the rest; generation then proceeds unchanged, and the flag is copied onto the +results so the emitter can drop them. + +Four constraints shape the rule: + +- **Whole layers only.** A tower layer is entered at the object's z, so a merged + layer has to end on an object layer boundary. The merged height is therefore a + sum of whole layer heights, never a clamped value. +- **The nozzle's maximum layer height.** A run stops growing as soon as one more + layer would pass `max_layer_height` for the nozzle printing it — three quarters + of the nozzle diameter when that is left at 0, as elsewhere in slicing. The cap + is read through the filament-to-nozzle map, since `max_layer_height` is per + nozzle while the tower indexes filaments. This is what makes the setting inert + at common layer heights: two 0.2 mm layers are 0.4 mm and do not fit under a + 0.3 mm maximum, so nothing merges until the layer height is 0.15 mm or below, + or the maximum is raised. +- **A filament change purges at its own z.** A layer with a real change can + neither be merged away nor absorb the run below it, so a run always ends on its + own last sparse layer and the change above it is untouched. +- **The first layer stays on the bed.** It carries the brim and is never merged. + +A run holds one filament throughout — that is what makes it sparse — so the cap +is uniform across it, and the tower reserves depth only for the purges above a +layer, so a run has one footprint and the merged layer covers exactly the area +the layers it replaces would have. + +## Emission and accounting + +`WipeTowerIntegration` drops a layer whose results are marked, for both settings, +through the same `ignore_sparse` path in `tool_change` and +`is_empty_wipe_tower_gcode`. A dropped layer emits no travel to the tower and no +extrusion. + +Filament used is accumulated by the generators while they write, so a layer that +will be dropped must not be charged. Type 1 asks `layer_is_printed` at each of +its accumulation points; Type 2 guards the equivalent block in `finish_layer`, +which also stops a merged-away layer from adding height of its own — the layer +that prints the run carries all of it. + +A merged layer is the only case where the tower's layer height differs from the +object layer it sits on, and therefore the only case where the height the +exporter already emitted for that layer is wrong for the tower. Both generators +do declare a height, but each hardcodes a tag dialect — the block tower forces +the BBL tag, the other writes the compatible one — while the G-code processor +reads only the tag its printer uses. On a non-BBL printer with a Type 1 tower the +declaration is dropped, and the merged layer is drawn and costed as a thin one. +`WipeTowerIntegration::tower_height_tag` therefore declares it at export time, +where the printer is known, and only when the tower's own G-code does not already +carry the tag that will be read. The object's height returns on the next object +path, because emission forces the processor role to the tower on any layer that +carries one. + +## Constraints + +A layer that prints nothing prints nothing at all, including any interface work +the tower planner scheduled there. The Type 1 block planner marks a layer as a +contact layer when a filament category stops or starts being used relative to the +layer below, and a sparse layer immediately above a change qualifies. Merging a +run, like dropping its layers, replaces that interface with the run's single +layer. Both settings are off by default for this among other reasons. + +Neither setting changes what the tower is for. A plate that needs a tower on +every layer — smooth timelapse, clumping detection — gets one, and the settings +read as off rather than compacting or merging in one place and not another. + +## Implementation and verification + +- [WipeTower.hpp](../../src/libslic3r/GCode/WipeTower.hpp) declares the shared + rules and the plan-merging template; + [WipeTower.cpp](../../src/libslic3r/GCode/WipeTower.cpp) implements them and + the Type 1 tower, [WipeTower2.cpp](../../src/libslic3r/GCode/WipeTower2.cpp) + the Type 2 tower. +- [ToolOrdering.cpp](../../src/libslic3r/GCode/ToolOrdering.cpp) decides which + layers carry a tower at all, and + [Print.cpp](../../src/libslic3r/Print.cpp) plans it and runs the clearance + check whose rule lives in [Print.hpp](../../src/libslic3r/Print.hpp). +- [GCode.cpp](../../src/libslic3r/GCode.cpp) emits the tower, drops the layers + that print nothing, and declares a merged layer's height; + [PrintConfig.cpp](../../src/libslic3r/PrintConfig.cpp) defines the settings and + [ConfigManipulation.cpp](../../src/slic3r/GUI/ConfigManipulation.cpp) their + mutual exclusion. +- [GLCanvas3D.cpp](../../src/slic3r/GUI/GLCanvas3D.cpp) and + [PartPlate.cpp](../../src/slic3r/GUI/PartPlate.cpp) draw the compacted tower's + keep-out outlines live while the user drags. +- [Rule tests](../../tests/libslic3r/test_wipe_tower.cpp) cover the gating of + both settings, the per-layer predicates, the compacted z, the merge rule's run + flushing, height conservation, the nozzle cap and the first-layer exemption, + and the clearance geometry the plater draws. +- [Slicing tests](../../tests/fff_print/test_wipe_tower.cpp) slice a real print + and check that a run folds, that the tower still covers the object exactly + once, that a run too thin for the cap is left alone, and that a merged layer + declares its height in the tag the printer's processor reads. diff --git a/docs/HLSD/wipe-inward.md b/docs/HLSD/wipe-inward.md new file mode 100644 index 0000000000..9f1c617cc3 --- /dev/null +++ b/docs/HLSD/wipe-inward.md @@ -0,0 +1,170 @@ +# Wipe inward — High Level Design + +## Purpose and scope + +Wipe inward reduces reheating of fresh plastic and visible seam artifacts by +moving the hot nozzle toward adjacent printed material during the external-wall +wipe. Wipe marks are especially visible at layer heights below 0.1 mm. +The option applies only to wipes after external walls, including walls around +holes. It does not offset wipes after inner walls, infill or supports. For an +outer contour the move is inward; for a hole it is away from the hole, toward +the surrounding material. The path must remain supported by material that is +already present when the wipe executes. + +The operation belongs to G-code generation. It uses extrusion paths, their actual +widths and their print order. Changing its settings invalidates G-code export +while preserving the sliced geometry. + +## Settings and eligibility + +`wipe_inward` defaults to disabled and requires Wipe while retracting to be +enabled for the active filament. `wipe_inward_distance` defaults to 50% of the +actual external-wall extrusion width; it also accepts an absolute distance in +millimeters. Using the path width makes Auto width and Arachne's variable widths +meaningful. The effective offset is limited by that width and the spacing to the +adjacent wall. A zero distance disables the offset. + +Only external perimeters with a suitable, previously printed inner perimeter +are eligible. A configured wall count alone cannot establish eligibility: +the local geometry may contain fewer walls, and walls scheduled later do not +provide support. Outer/Inner wall order therefore normally retains the regular +wipe path. + +Retraction and pressure advance calibrations disable inward wiping so it cannot +mask the behavior being measured. The calibration settings turn it off, and +G-code generation enforces this even if a profile or object override enables it. + +## Path selection and support + +The planner identifies an adjacent inner perimeter on the material side of the +outgoing wall. Contour winding and the distinction between outer contours and +holes establish a preferred direction; local printed geometry resolves ambiguous +or self-touching contours. + +Candidate paths offset or translate the portion needed for the configured wipe +distance. A wide seam gap can prevent a supported forward path; following the +incoming printed wall backwards is also a candidate. If translating that wall +cannot provide a complete wipe around a curve, the planner tries an offset of +the reversed wall. Direction checks allow coordinate-rounding error at a +perpendicular entry, while rejecting actual backtracking. The planner checks the +complete executable path, including its connector from the nozzle position, +against the current and earlier printed perimeters. Nearby endpoints alone do +not establish support across a gap. + +Each region accumulates its printed perimeter prefix once, in extrusion order. +Every entity contributes its geometry only after it is printed, and the prefix +is discarded when the region ends. This collection is skipped when inward wiping +is disabled or its configured distance is zero. A mixed inner-wall loop remains +an eligible target even when its first path is an overhang: ordinary inner-wall +paths elsewhere in the loop identify it. Likewise, an external loop with an +overhanging start remains eligible when other segments identify the external +wall. It is available for support checks but is not an inner-wall target. +Candidate-specific support filtering and AABB trees are built only for eligible +external loops, then reused across their candidate paths. + +Material-side validation applies with or without a seam gap. Along each +candidate, local wall normals point toward the adjacent printed inner wall; +samples on the opposite side are rejected even when they remain close enough +to the external wall to pass the support check. This uses the open wall geometry +without treating it as a closed polygon. Full paths at a zero-gap seam also +retain clearance from the external wall after their initial connector. At a +clipped corner, another branch can be closer than the requested offset, so +material-side and support checks apply without that additional clearance rule. + +An accepted candidate replaces the stored wipe path as a whole. A short direct +inward move is also eligible when longer candidates fail validation. It may +waive full wall clearance, but must pass the material-side check. Its initial +direction is checked from the actual nozzle position after any loop pre-move; +the original wall endpoint is retained separately for intersection checks. It takes +priority over the alternate offset when the preferred and translated paths +are unusable. A longer reversed path may replace the selected candidate only +when its distance to the target inner wall is no worse within tolerance. + +## Fallback to the regular wipe + +The original wipe path is retained when: + +- No suitable adjacent inner wall has already been printed near the seam. This + includes single-wall areas, locally missing inner walls and normally Outer/Inner + wall order. A distant wall or a wall on the air side does not qualify. +- The requested or available offset, or the configured wipe distance, is zero + or too small at the geometry's coordinate precision. +- Degenerate geometry prevents construction of a usable candidate, or all + candidates fail the checks for printed support, direction, wall clearance or + the connector from the actual nozzle position. This can occur at tight corners, + narrow features or seam gaps. + +Corners and seam gaps do not automatically trigger fallback: an offset, +translated, reversed or short direct inward path may still be valid. The regular +wipe is retained only when no candidate is accepted. + +Fallback uses the path and retraction rules for `wipe_inward` disabled. +Wipe while retracting must still be enabled for a wipe to occur; `wipe_on_loops` +remains controlled by its own setting. + +## Interaction with Wipe on loop + +`wipe_on_loops` is an independent option that makes a short move before leaving +an external loop. It can operate with `wipe_inward` disabled. When both options +are enabled, its destination is the starting position for the inward wipe. + +The loop move samples the outgoing and incoming paths by distance across path +boundaries. The sampling distance is bounded by the nozzle diameter and one +quarter of the total path length. It samples the outgoing path at up to 20% of +the nozzle diameter and rotates that point around the seam through one third +of the material-side corner angle. For a closed square outer contour, this +produces a move of 20% of the nozzle diameter at 30 degrees into the corner. +Coincident samples or degenerate angles suppress the move. + +The nozzle position stored by G-code generation must match the emitted loop +move. Both travel planning and wipe execution depend on this position, including +when Wipe inward is disabled. + +With a seam gap, a loop move may advance past the inward offset's original entry. +If that alone makes the connector backtrack, the entry advances to the nozzle's +projection on the offset. The planner extends the source as needed to preserve +the configured wipe length and validates the new connector and complete path. +Joins that already backtrack across the seam gap are not adjusted this way. + +## Execution and retraction + +The stored wipe path uses a sentinel first point. Execution starts from the +actual nozzle position and proceeds to the second stored point. Path selection, +support validation and wipe-length calculation must all use this same executable +geometry, especially after a Wipe on loop move. + +An accepted inward path executes at the end of the external loop, after any +Wipe on loop move, without retracting filament. It consumes the stored path and +updates the nozzle position before travel planning. A short travel to the next +wall cannot discard this wipe or force a retraction or Z-hop. Subsequent travel +uses the normal minimum-travel threshold and retraction/lift settings from the +new position. The regular wipe, including fallback, remains deferred until a +normal retraction uses it. + +Retraction is divided into portions before, during and after wiping. The amount +that can be retracted during the wipe depends on its executable length, wipe +speed and the active filament's retraction speed. Fractional retraction speeds +are retained in this calculation. For a 2 mm wipe at 100 mm/s and a retraction +speed of 25.5 mm/s, the wipe can retract 0.51 mm. With a total retraction of 0.8 mm +and both before/after percentages set to zero, the remaining 0.29 mm is retracted +before wiping. This split applies to regular deferred wipes, including fallback; +an accepted inward wipe executes separately without retraction. + +## Implementation and verification + +- [GCode.cpp](../../src/libslic3r/GCode.cpp) integrates path selection, nozzle + position and retraction; [Print.cpp](../../src/libslic3r/Print.cpp) controls + invalidation, and [PrintConfig.cpp](../../src/libslic3r/PrintConfig.cpp) defines + the settings. +- [WipePathHelpers](../../src/libslic3r/GCode/WipePathHelpers.hpp) implements path + sampling, offset selection and support checks. +- [Geometry tests](../../tests/libslic3r/test_wipe_path.cpp) cover support, + degenerate paths, contour and hole orientations, and exact loop-move geometry + across path subdivisions. +- [FFF tests](../../tests/fff_print/test_wipe.cpp) cover emitted trajectories, + fallback, minimum-travel retraction and Z-hop rules, and export invalidation. + With Wipe inward disabled, they check the loop move's direction and magnitude + for Classic and Arachne, the subsequent wipe's start and length, and fractional + retraction splitting in absolute and relative E modes. + Loop-move checks use reserved role/wipe markers and extrusion state, and run + with human-readable G-code comments both enabled and disabled. diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index db62fb4443..fa09e82104 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2293,15 +2293,6 @@ msgstr "" msgid "%s has been removed." msgstr "" -msgid "Switching application language" -msgstr "" - -msgid "Select the language" -msgstr "" - -msgid "Language" -msgstr "" - #, possible-c-format, possible-boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "" @@ -2329,6 +2320,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "" +msgid "Plugins refreshed." +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "" @@ -3488,10 +3492,12 @@ msgstr "" msgid "Switch track at Filament Track Switch" msgstr "" -msgid "The maximum temperature cannot exceed " +#, possible-c-format, possible-boost-format +msgid "The maximum temperature cannot exceed %d" msgstr "" -msgid "The minmum temperature should not be less than " +#, possible-c-format, possible-boost-format +msgid "The minimum temperature should not be less than %d" msgstr "" msgid "Type to filter..." @@ -3911,6 +3917,21 @@ msgstr "" msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "" @@ -4324,6 +4345,12 @@ msgid "" "Error message: %1%" msgstr "" +#, possible-boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" + #, possible-boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "" @@ -4571,6 +4598,9 @@ msgid "" "No - Cancel enabling spiral mode" msgstr "" +msgid "N/A" +msgstr "" + msgid "Printing" msgstr "" @@ -4993,10 +5023,10 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "" #, possible-c-format, possible-boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "" + +msgid "%" msgstr "" #, possible-boost-format @@ -5019,22 +5049,16 @@ msgstr "" msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "" -msgid "N/A" -msgstr "" - msgid "System agents" msgstr "" -msgid "No plugin selected" -msgstr "" - msgid "Add plugin" msgstr "" -msgid "Select plugin" +msgid "Remove plugin" msgstr "" -msgid "Remove plugin" +msgid "No plugin selected" msgstr "" msgid "Configure" @@ -5290,13 +5314,16 @@ msgstr "" msgid "Regroup filament" msgstr "" -msgid "up to" +#, possible-boost-format +msgid "up to %1% mm" msgstr "" -msgid "above" +#, possible-boost-format +msgid "above %1% mm" msgstr "" -msgid "from" +#, possible-boost-format +msgid "from %1% to %2% mm" msgstr "" msgid "Usage" @@ -5357,9 +5384,6 @@ msgctxt "Noun" msgid "Print" msgstr "" -msgid "Printer" -msgstr "" - msgid "Time Estimation" msgstr "" @@ -5530,10 +5554,13 @@ msgctxt "Camera View" msgid "Right" msgstr "" -msgid "Add" +msgid "Add plate" msgstr "" -msgid "Add plate" +msgid "Split to objects" +msgstr "" + +msgid "Add" msgstr "" msgid "Auto orient all/selected objects" @@ -5548,9 +5575,6 @@ msgstr "" msgid "Arrange objects on selected plates" msgstr "" -msgid "Split to objects" -msgstr "" - msgid "Assembly View" msgstr "" @@ -5605,6 +5629,9 @@ msgstr "" msgid "Wireframe" msgstr "" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "" @@ -5807,6 +5834,9 @@ msgstr "" msgid "Logging" msgstr "" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "" @@ -5951,6 +5981,12 @@ msgstr "" msgid "Save current project as" msgstr "" +msgid "Publish 3MF" +msgstr "" + +msgid "Export a 3MF file with the selected settings embedded" +msgstr "" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "" @@ -6132,6 +6168,9 @@ msgstr "" msgid "View" msgstr "" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "" @@ -7023,6 +7062,231 @@ msgstr "" msgid "Please refer to Wiki before use->" msgstr "" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "" + +msgid "Export 3MF" +msgstr "" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "" @@ -7178,6 +7442,12 @@ msgctxt "Layers" msgid "Bottom" msgstr "" +msgid "This setting does not specify a plugin capability type." +msgstr "" + +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "" + msgid "Plugin Selection" msgstr "" @@ -7619,9 +7889,6 @@ msgstr "" msgid "Collapse sidebar" msgstr "" -msgid "Tab" -msgstr "" - #, possible-c-format, possible-boost-format msgid "Loading file: %s" msgstr "" @@ -7696,6 +7963,12 @@ msgstr "" msgid "Customized Preset" msgstr "" +msgid "Some published settings could not be applied:" +msgstr "" + +msgid "Some filament slots were changed:" +msgstr "" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "" @@ -7800,18 +8073,12 @@ msgstr "" msgid "Delete Object" msgstr "" -msgid "Delete All Objects" -msgstr "" - msgid "Reset Project" msgstr "" msgid "The selected object couldn't be split." msgstr "" -msgid "Split to Objects" -msgstr "" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "" @@ -8074,6 +8341,17 @@ msgstr "" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "" +msgid "Publish 3MF file as:" +msgstr "" + +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" + +msgid "Publish" +msgstr "" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "" @@ -8271,9 +8549,6 @@ msgstr "" msgid "Language selection" msgstr "" -msgid "Switching application language while some presets are modified." -msgstr "" - msgid "Asia-Pacific" msgstr "" @@ -8367,6 +8642,9 @@ msgstr "" msgid "General" msgstr "" +msgid "Language" +msgstr "" + msgid "Metric" msgstr "" @@ -8549,6 +8827,33 @@ msgstr "" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "" @@ -8624,6 +8929,12 @@ msgstr "" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "" @@ -8645,6 +8956,15 @@ msgstr "" msgid "Set the action that dragging the right mouse button should perform." msgstr "" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "" @@ -8738,10 +9058,38 @@ msgid "" "Set to 0 for unlimited frame rate." msgstr "" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "" -msgid "Displays current viewport FPS in the top-right corner." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." msgstr "" msgid "G-code Preview" @@ -8756,9 +9104,6 @@ msgstr "" msgid "Dimmed layer brightness" msgstr "" -msgid "%" -msgstr "" - msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" "99% is barely darkened, 0% renders them black. Capped at 99% because 100% would be the same as disabling the option." @@ -9124,9 +9469,6 @@ msgstr "" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "" -msgid "Publish" -msgstr "" - msgid "Publish was canceled" msgstr "" @@ -9142,6 +9484,60 @@ msgstr "" msgid "Jump to webpage" msgstr "" +msgid "Material" +msgstr "" + +msgid "Mixed filament" +msgstr "" + +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Filament %d (mixed)" +msgstr "" + +#, possible-boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "" + +#, possible-boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "" + +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "" + +msgid "Publish anyway" +msgstr "" + +msgid "Publish 3MF..." +msgstr "" + +msgid "Select which settings to be published in the 3MF file" +msgstr "" + +msgid "Video Guide" +msgstr "" + +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "" + +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "" + +msgid "Publish this filament slot in the 3MF file" +msgstr "" + +msgid "Full Publish" +msgstr "" + +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "" + +msgid "Filter non-selected" +msgstr "" + #, possible-c-format, possible-boost-format msgid "Save %s as" msgstr "" @@ -9158,6 +9554,9 @@ msgstr "" msgid "Detach from parent" msgstr "" +msgid "Save without parent" +msgstr "" + msgid "Unique preset" msgstr "" @@ -9214,6 +9613,132 @@ msgstr "" msgid "Simply switch to \"%1%\"" msgstr "" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s tabs" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s matches" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "" + +msgid "Hide details" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "" @@ -9807,9 +10332,15 @@ msgstr "" msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "" +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "" +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "" + msgid "Still print by object?" msgstr "" @@ -10158,9 +10689,6 @@ msgstr "" msgid "Printable space" msgstr "" -msgid "Printer Agent" -msgstr "" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "" @@ -10520,12 +11048,6 @@ msgstr "" msgid "Capabilities" msgstr "" -msgid "Left: " -msgstr "" - -msgid "Right: " -msgstr "" - msgid "Show all presets (including incompatible)" msgstr "" @@ -10891,55 +11413,37 @@ msgstr "" msgid "Configuration package changed" msgstr "" -msgid "Toolbar" -msgstr "" - -msgid "Objects list" -msgstr "" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "" - -msgid "Paste from clipboard" -msgstr "" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "" - -msgid "Switch table page" -msgstr "" - -msgid "Show keyboard shortcuts list" -msgstr "" - -msgid "Global shortcuts" -msgstr "" - msgid "Pan View" msgstr "" msgid "Rotate View" msgstr "" -msgid "Middle mouse button" +#, possible-c-format, possible-boost-format +msgid "Use %s or %s, or a key that does not type a character." msgstr "" -msgid "Zoom View" +msgctxt "Keyboard Shortcut" +msgid "Key" msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +msgid "Left mouse" msgstr "" -msgid "Auto orients all objects on the active plate." +msgid "Available anywhere in the window, even while typing in a text field." msgstr "" -msgid "Collapse/Expand the sidebar" +msgid "Run a speed dial favorite while the dial is open" msgstr "" -msgid "Any arrow" +msgctxt "Keyboard Shortcut" +msgid "Tab" msgstr "" -msgid "Movement in camera space" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." msgstr "" msgid "Select a part" @@ -10951,127 +11455,28 @@ msgstr "" msgid "Select objects by rectangle" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "" - -msgid "Move selection 10mm in positive Y direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "" - -msgid "Move selection 10mm in negative Y direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "" - -msgid "Move selection 10mm in negative X direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "" - -msgid "Move selection 10mm in positive X direction" +msgid "Keyboard 1-9: set filament for object/part" msgstr "" msgid "Movement step set to 1mm" msgstr "" -msgid "Keyboard 1-9: set filament for object/part" +msgid "Movement in camera space" msgstr "" -msgid "Camera view - Default" +msgid "Middle mouse" msgstr "" -msgid "Camera view - Top" +msgid "Right mouse" msgstr "" -msgid "Camera view - Bottom" +msgid "Zoom View" msgstr "" -msgid "Camera view - Front" +msgid "Painting" msgstr "" -msgid "Camera view - Behind" -msgstr "" - -msgid "Camera Angle - Left side" -msgstr "" - -msgid "Camera Angle - Right side" -msgstr "" - -msgid "Select all objects" -msgstr "" - -msgid "Gizmo move" -msgstr "" - -msgid "Gizmo rotate" -msgstr "" - -msgid "Gizmo scale" -msgstr "" - -msgid "Gizmo place face on bed" -msgstr "" - -msgid "Gizmo cut" -msgstr "" - -msgid "Gizmo mesh boolean" -msgstr "" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "" - -msgid "Gizmo SLA support points" -msgstr "" - -msgid "Gizmo FDM paint-on seam" -msgstr "" - -msgid "Gizmo text emboss/engrave" -msgstr "" - -msgid "Gizmo measure" -msgstr "" - -msgid "Gizmo assemble" -msgstr "" - -msgid "Gizmo brim ears" -msgstr "" - -msgid "Zoom in" -msgstr "" - -msgid "Zoom out" -msgstr "" - -msgid "Toggle printable for object/part" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "" - -msgid "Switch between Prepare/Preview" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "" - -msgid "Open actions speed dial" -msgstr "" - -msgid "Plater" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." msgstr "" msgid "Move: press to snap by 1mm" @@ -11083,13 +11488,17 @@ msgstr "" msgid "Support/Color Painting: adjust section position" msgstr "" -msgid "Gizmo" +msgid "Objects list" +msgstr "" + +msgid "Available while the object list has focus." msgstr "" msgid "Set extruder number for the objects and parts" msgstr "" -msgid "Delete objects, parts, modifiers" +msgctxt "Keyboard Shortcut" +msgid "Space" msgstr "" msgid "Select the object/part and press space to change the name" @@ -11101,42 +11510,47 @@ msgstr "" msgid "Select the object/part and mouse click to change the name" msgstr "" -msgid "Objects List" -msgstr "" - -msgid "Vertical slider - Move active thumb Up" -msgstr "" - -msgid "Vertical slider - Move active thumb Down" -msgstr "" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "" - -msgid "On/Off G-code window" +msgid "Available while the 3D view on the Preview tab has focus." msgstr "" msgid "Move slider 5x faster" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Home" +msgid "Scroll slider 5x faster" msgstr "" -msgid "Horizontal slider - Move to start position" +msgid "Not customizable" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "End" +#, possible-c-format, possible-boost-format +msgid "%s is assigned to %s. Reassign it to %s?" msgstr "" -msgid "Horizontal slider - Move to last position" +#, possible-c-format, possible-boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Already assigned to %s. Press OK to reassign it." msgstr "" msgid "Release Note" @@ -11329,15 +11743,19 @@ msgstr "" msgid "Copying of file %1% to %2% failed: %3%" msgstr "" +msgid "Downloading new vendor profile(s): " +msgstr "" + +#, possible-boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "" + +msgid "Failed to download vendor profile(s): " +msgstr "" + msgid "Please check any unsaved changes before updating the configuration." msgstr "" -msgid "Configuration package: " -msgstr "" - -msgid " updated to " -msgstr "" - msgid "Open G-code file:" msgstr "" @@ -11393,10 +11811,12 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "" -msgid "Grouping error: " +#, possible-boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" msgstr "" -msgid " can not be placed in the " +#, possible-boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" msgstr "" msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -11510,6 +11930,9 @@ msgstr "" msgid "%1% is too tall, and collisions will be caused." msgstr "" +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "" @@ -11832,6 +12255,9 @@ msgstr "" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "" +msgid "Printer Agent" +msgstr "" + msgid "Select the network agent implementation for printer communication." msgstr "" @@ -12680,6 +13106,9 @@ msgstr "" msgid "Concentric" msgstr "" +msgid "Spiral Inset" +msgstr "" + msgid "Hilbert Curve" msgstr "" @@ -12749,7 +13178,7 @@ msgid "Top surface fill order" msgstr "" msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" @@ -12758,7 +13187,7 @@ msgid "Bottom surface fill order" msgstr "" msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" @@ -12846,6 +13275,12 @@ msgstr "" msgid "Clockwise" msgstr "" +msgid "Distance to rod" +msgstr "" + +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "" + msgid "Height to rod" msgstr "" @@ -14796,6 +15231,15 @@ msgstr "" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "" +msgid "Print unsupported walls last" +msgstr "" + +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" + msgid "Outer walls" msgstr "" @@ -15205,6 +15649,27 @@ msgstr "" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "" +msgid "Wipe inward" +msgstr "" + +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" + +msgid "Wipe inward distance" +msgstr "" + +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" + msgid "Wipe before external loop" msgstr "" @@ -15385,7 +15850,7 @@ msgstr "" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "" -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." msgstr "" msgid "Start G-code" @@ -15445,7 +15910,7 @@ msgstr "" msgid "No sparse layers (beta)" msgstr "" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." msgstr "" msgid "Prime all printing extruders" @@ -15466,6 +15931,24 @@ msgstr "" msgid "Cyclic" msgstr "" +msgid "Cyclic order" +msgstr "" + +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" + +msgid "Apply cyclic order to first layer" +msgstr "" + +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" + msgid "Slice gap closing radius" msgstr "" @@ -15475,9 +15958,6 @@ msgstr "" msgid "Slicing Mode" msgstr "" -msgid "Other" -msgstr "" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "" @@ -16308,9 +16788,6 @@ msgstr "" msgid " not in range " msgstr "" -msgid "Export 3MF" -msgstr "" - msgid "This exports the project as a 3MF file." msgstr "" @@ -16326,9 +16803,6 @@ msgstr "" msgid "Load cached slicing data from directory." msgstr "" -msgid "Export STL" -msgstr "" - msgid "Export the objects as single STL." msgstr "" @@ -16380,6 +16854,12 @@ msgstr "" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "" +msgid "Strict mode" +msgstr "" + +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "" + msgid "Normative check" msgstr "" @@ -16392,10 +16872,22 @@ msgstr "" msgid "This outputs the model’s information." msgstr "" +msgid "Inspect mesh (JSON to stdout)" +msgstr "" + +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "" + +msgid "Inspect paint (JSON to stdout)" +msgstr "" + +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "" + msgid "Export Settings" msgstr "" -msgid "This exports settings to a file." +msgid "This exports settings to a file. Use - to write them to stdout." msgstr "" msgid "Send progress to pipe" @@ -16452,6 +16944,24 @@ msgstr "" msgid "Rotation angle around the Y axis in degrees." msgstr "" +msgid "Ground largest face" +msgstr "" + +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + +msgid "Ground face by normal" +msgstr "" + +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + +msgid "Ground face at point" +msgstr "" + +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + msgid "Scale the model by a float factor." msgstr "" @@ -16749,12 +17259,36 @@ msgstr "" msgid "Total length of filament used in the print." msgstr "" -msgid "Print time (seconds)" +msgid "Print time (total seconds)" msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "" @@ -16978,9 +17512,6 @@ msgstr "" msgid "This OBJ file couldn't be read because it's empty." msgstr "" -msgid "Max Volumetric Speed Calibration" -msgstr "" - msgid "Manage Result" msgstr "" @@ -17727,9 +18258,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "" -msgid "Flow Ratio Calibration" -msgstr "" - msgid "Calibration Test Type" msgstr "" @@ -18441,6 +18969,9 @@ msgstr "" msgid "Success!" msgstr "" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "" @@ -19337,6 +19868,15 @@ msgstr "" msgid "Skipping objects." msgstr "" +msgid "Material Ratio" +msgstr "" + +msgid "Model Height" +msgstr "" + +msgid "Ratio" +msgstr "" + msgid "Select Filament" msgstr "" @@ -19368,12 +19908,6 @@ msgstr "" msgid "Error: %s" msgstr "" -msgid "Show details" -msgstr "" - -msgid "Hide details" -msgstr "" - msgid "Version to install:" msgstr "" @@ -19573,10 +20107,12 @@ msgstr "" msgid "Drying-Dehumidifying" msgstr "" -msgid " maximum drying temperature is " +#, possible-c-format, possible-boost-format +msgid "%s maximum drying temperature is %d°C." msgstr "" -msgid " minimum drying temperature is " +#, possible-c-format, possible-boost-format +msgid "%s minimum drying temperature is %d°C." msgstr "" msgid "This filament may not be completely dried." @@ -19690,6 +20226,2488 @@ msgstr "" msgid "The filament model is unknown. A random filament preset will be used." msgstr "" +msgid "Construction" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, possible-c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, possible-c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketch %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, possible-c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Edge %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, possible-c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid " · %d picked" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, possible-c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "feature %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d shown" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Fix %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Lock X %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, possible-c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, possible-c-format +msgid "Redo (%zu more)" +msgstr "" + +#, possible-c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "" + +msgid "Select all objects" +msgstr "" + +msgid "Paste from clipboard" +msgstr "" + +msgid "Toggle printable for object/part" +msgstr "" + +msgid "Move selection 10mm in negative X direction" +msgstr "" + +msgid "Move selection 10mm in positive X direction" +msgstr "" + +msgid "Move selection 10mm in positive Y direction" +msgstr "" + +msgid "Move selection 10mm in negative Y direction" +msgstr "" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "" + +msgid "Gizmo rotate" +msgstr "" + +msgid "Gizmo scale" +msgstr "" + +msgid "Gizmo place face on bed" +msgstr "" + +msgid "Gizmo cut" +msgstr "" + +msgid "Gizmo mesh boolean" +msgstr "" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "" + +msgid "Gizmo measure" +msgstr "" + +msgid "Gizmo assemble" +msgstr "" + +msgid "Gizmo brim ears" +msgstr "" + +msgid "Vertical slider - Move active thumb Up" +msgstr "" + +msgid "Vertical slider - Move active thumb Down" +msgstr "" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "" + +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + +msgid "Camera view - Default" +msgstr "" + +msgid "Camera view - Top" +msgstr "" + +msgid "Camera view - Bottom" +msgstr "" + +msgid "Camera view - Front" +msgstr "" + +msgid "Camera view - Behind" +msgstr "" + +msgid "Camera Angle - Left side" +msgstr "" + +msgid "Camera Angle - Right side" +msgstr "" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "" + +msgid "Zoom out" +msgstr "" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "" + +msgid "Switch between Prepare/Preview" +msgstr "" + +msgid "Collapse/Expand the sidebar" +msgstr "" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "Precise wall\nDid you know that turning on precise wall can improve precision and layer consistency?" msgstr "" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 2b42f300ac..dbd0272542 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2025-03-15 10:55+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -2522,15 +2522,6 @@ msgstr "Hi ha una actualització disponible. Obriu el quadre de diàleg del paqu msgid "%s has been removed." msgstr "%s s'ha eliminat." -msgid "Switching application language" -msgstr "Canvi d'idioma de l'aplicació" - -msgid "Select the language" -msgstr "Seleccioneu l'idioma" - -msgid "Language" -msgstr "Idioma" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2568,6 +2559,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "No s'ha pogut obrir el quadre de diàleg de Connectors (error desconegut)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal de connectors" @@ -3784,11 +3788,15 @@ msgstr "Retirar el filament actual al Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Canviar de via al Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "La temperatura màxima no pot superar " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "La temperatura màxima no pot superar %d" -msgid "The minmum temperature should not be less than " -msgstr "La temperatura mínima no hauria de ser inferior a " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "La temperatura mínima no hauria de ser inferior a %d" # AI Translated msgid "Type to filter..." @@ -4249,6 +4257,21 @@ msgstr "OrcaSlicer va néixer amb aquest mateix esperit, inspirant-se en PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Avui, OrcaSlicer és el laminador de codi obert més utilitzat i amb un desenvolupament més actiu de la comunitat d'impressió 3D. Moltes de les seves innovacions han estat adoptades per altres laminadors, cosa que el converteix en una força motriu per a tot el sector." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impressora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Configuració de materials AMS" @@ -4689,6 +4712,15 @@ msgstr "" "Error en copiar el codi-G temporal al codi-G de sortida. Potser la targeta SD està bloquejada contra escriptura?\n" "Missatge d'error: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Ha fallat la còpia del codi-G temporal al codi-G de sortida.\n" +"Missatge d'error: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Error en copiar el codi-G temporal al codi-G de sortida. Hi pot haver un problema amb el dispositiu de destinació, intenteu exportar novament o utilitzeu un dispositiu diferent. El codi-G de sortida malmès és a %1%.tmp." @@ -4995,6 +5027,9 @@ msgstr "" "Sí: canviar aquesta configuració i activar el mode d'espiral automàticament\n" "No - Renunciar a utilitzar el mode espiral aquesta vegada" +msgid "N/A" +msgstr "N/D" + msgid "Printing" msgstr "Imprimint" @@ -5427,14 +5462,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "El valor %s està fora de rang. El rang vàlid és de %d a %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"És %s%% or %s %s?\n" -"SÍ per %s%%.\n" -"NO per %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "És %s%% or %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5456,29 +5488,22 @@ msgstr "Patró no vàlid. Utilitzeu N, N#K, o una llista separada per comes amb msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Format no vàlid. Format vectorial esperat: \"%1%\"" -msgid "N/A" -msgstr "N/D" - # AI Translated msgid "System agents" msgstr "Agents del sistema" -# AI Translated -msgid "No plugin selected" -msgstr "Cap connector seleccionat" - # AI Translated msgid "Add plugin" msgstr "Afegir connector" -# AI Translated -msgid "Select plugin" -msgstr "Seleccionar connector" - # AI Translated msgid "Remove plugin" msgstr "Eliminar connector" +# AI Translated +msgid "No plugin selected" +msgstr "Cap connector seleccionat" + # AI Translated msgid "Configure" msgstr "Configurar" @@ -5737,14 +5762,20 @@ msgstr "Estableix a l'òptim" msgid "Regroup filament" msgstr "Reagrupa filaments" -msgid "up to" -msgstr "fins a" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "fins a %1% mm" -msgid "above" -msgstr "sobre" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "per sobre de %1% mm" -msgid "from" -msgstr "des de" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "de %1% a %2% mm" msgid "Usage" msgstr "Ús" @@ -5806,9 +5837,6 @@ msgctxt "Noun" msgid "Print" msgstr "Imprimir" -msgid "Printer" -msgstr "Impressora" - msgid "Time Estimation" msgstr "Estimació temporal" @@ -5987,12 +6015,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Dreta" -msgid "Add" -msgstr "Afegir" - msgid "Add plate" msgstr "Afegir placa" +msgid "Split to objects" +msgstr "Separar en objectes" + +msgid "Add" +msgstr "Afegir" + msgid "Auto orient all/selected objects" msgstr "Auto-orientació tots/seleccionats objectes" @@ -6005,9 +6036,6 @@ msgstr "Ordenar tots els objectes" msgid "Arrange objects on selected plates" msgstr "Ordenar els objectes en plaques seleccionades" -msgid "Split to objects" -msgstr "Separar en objectes" - msgid "Assembly View" msgstr "Vista de muntatge" @@ -6064,6 +6092,9 @@ msgstr "Contorn" msgid "Wireframe" msgstr "Malla alàmbrica" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Vista realista" @@ -6273,6 +6304,9 @@ msgstr "Tancant l'aplicació mentre s'han modificat alguns perfils." msgid "Logging" msgstr "Registrant" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparació" @@ -6421,6 +6455,14 @@ msgstr "Desa el projecte com a" msgid "Save current project as" msgstr "Desar el projecte actual com" +# AI Translated +msgid "Publish 3MF" +msgstr "Publicar 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exportar un fitxer 3MF amb la configuració seleccionada incrustada" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importar 3MF STL/STEP/SVG/OBJ/AMF" @@ -6603,6 +6645,9 @@ msgstr "Edita" msgid "View" msgstr "Vista" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "Paquet de perfils" @@ -7540,6 +7585,234 @@ msgstr "No tornis a mostrar aquest diàleg" msgid "Please refer to Wiki before use->" msgstr "Consulteu la Wiki abans d'usar ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibratge de Velocitat Volumètrica Màxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Calibratge de la relació de flux" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Suprimir tots els objectes" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Separar en objectes" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "S'ha desconnectat el ratolí 3D." @@ -7704,6 +7977,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Inferior" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Aquesta opció no especifica cap tipus de capacitat del connector." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Aquesta opció especifica un tipus de capacitat del connector no reconegut: " + # AI Translated msgid "Plugin Selection" msgstr "Selecció de connectors" @@ -8191,10 +8472,6 @@ msgstr "Expandir la barra lateral" msgid "Collapse sidebar" msgstr "Replegar barra lateral" -# AI Translated -msgid "Tab" -msgstr "Pestanya" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Carregant fitxer: %s" @@ -8275,6 +8552,14 @@ msgstr "Confirmeu que els Codis-G d'aquests perfils són segurs per evitar danys msgid "Customized Preset" msgstr "Perfil personalitzat" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "No s'han pogut aplicar algunes opcions publicades:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "S'han canviat algunes ranures de filament:" + # AI Translated msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Els noms dels components dins del fitxer STEP no tenen format UTF-8!" @@ -8395,10 +8680,6 @@ msgstr "" msgid "Delete Object" msgstr "Suprimir l'objecte" -# AI Translated -msgid "Delete All Objects" -msgstr "Suprimir tots els objectes" - # AI Translated msgid "Reset Project" msgstr "Restablir el projecte" @@ -8406,10 +8687,6 @@ msgstr "Restablir el projecte" msgid "The selected object couldn't be split." msgstr "L'objecte seleccionat no s'ha pogut partir." -# AI Translated -msgid "Split to Objects" -msgstr "Separar en objectes" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Voleu desactivar la caiguda automàtica per conservar el posicionament en Z?\n" @@ -8687,6 +8964,21 @@ msgstr "Desa el fitxer Laminat com a:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "El fitxer %s s'ha enviat a l'emmagatzematge de la impressora i es pot visualitzar a la impressora." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publicar el fitxer 3MF com a:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"No s'ha pogut exportar el fitxer 3MF publicat.\n" +"Comproveu si la carpeta existeix en línia o si altres programes tenen el fitxer obert." + +msgid "Publish" +msgstr "Publicar" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "El tipus de broquet no està establert. Establiu el broquet i torneu-ho a provar." @@ -8901,9 +9193,6 @@ msgstr "Voleu continuar?" msgid "Language selection" msgstr "Selecció d'idiomes" -msgid "Switching application language while some presets are modified." -msgstr "Canviant l'idioma de l'aplicació mentre es modifiquen alguns perfils." - msgid "Asia-Pacific" msgstr "Àsia-Pacífic" @@ -9009,6 +9298,9 @@ msgstr "Ruta de la Instància Actual: " msgid "General" msgstr "General" +msgid "Language" +msgstr "Idioma" + msgid "Metric" msgstr "Mètric" @@ -9217,6 +9509,33 @@ msgstr "Gestió multidispositiu" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Amb aquesta opció habilitada, podeu enviar una tasca a diversos dispositius alhora i gestionar múltiples dispositius." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Finestra emergent per seleccionar el mode d'agrupació de filaments" @@ -9298,6 +9617,12 @@ msgstr "Zoom invers del ratolí" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si està habilitat, inverteix la direcció del zoom amb la roda del ratolí." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panoràmica" @@ -9326,6 +9651,15 @@ msgstr "Arrossegament amb el botó dret del ratolí" msgid "Set the action that dragging the right mouse button should perform." msgstr "Estableix l'acció que ha de fer l'arrossegament amb el botó dret del ratolí." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Esborra la meva elecció a..." @@ -9450,13 +9784,40 @@ msgstr "" "Limita la velocitat de fotogrames de la vista per reduir la càrrega de la GPU i el consum.\n" "Establiu-ho a 0 per a una velocitat de fotogrames sense límit." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Mostrar la superposició d'FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Mostra els FPS actuals de la vista a la cantonada superior dreta." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9474,9 +9835,6 @@ msgstr "En desplaçar el control lliscant de capes a la previsualització lamina msgid "Dimmed layer brightness" msgstr "Brillantor de les capes enfosquides" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9880,9 +10238,6 @@ msgstr "Anar a la pàgina web de publicació de models" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Nota: La preparació pot trigar uns quants minuts. Si us plau, sigui pacient." -msgid "Publish" -msgstr "Publicar" - msgid "Publish was canceled" msgstr "La publicació ha estat cancel·lada" @@ -9898,6 +10253,76 @@ msgstr "Carregant dades" msgid "Jump to webpage" msgstr "Anar a la pàgina web" +# AI Translated +msgid "Material" +msgstr "Material" + +# AI Translated +msgid "Mixed filament" +msgstr "Filament mixt" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Alguns filaments mixtos depenen de filaments que no es publicaran:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (mixt)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% necessita %2%, que no està activat." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% necessita %2%, el material del qual no es publicarà." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Per publicar un filament mixt, activeu tots els filaments que fa servir i trieu Publicació completa o compliu el seu requisit de Tipus." + +# AI Translated +msgid "Publish anyway" +msgstr "Publicar igualment" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publicar 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Seleccioneu quines opcions es publicaran al fitxer 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filament mixt - es publica com un conjunt quan se selecciona \"Activar\" a dalt" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publicar aquest filament mixt i activar + publicar completament els seus filaments components" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publicar aquesta ranura de filament al fitxer 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Publicació completa" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Incrustar tot el filament d'aquesta ranura al fitxer 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrar els no seleccionats" + #, c-format, boost-format msgid "Save %s as" msgstr "Desar %s com a" @@ -9915,6 +10340,10 @@ msgstr "Copia en aquest perfil tots els valors heretats del perfil pare i elimin msgid "Detach from parent" msgstr "Desvincula del pare" +# AI Translated +msgid "Save without parent" +msgstr "Desar sense pare" + # AI Translated msgid "Unique preset" msgstr "Perfil únic" @@ -9974,6 +10403,133 @@ msgstr "Per a \"%1%\", afegir \"%2%\" com a perfil nou" msgid "Simply switch to \"%1%\"" msgstr "Simplement canviar a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Altre" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Mostra detalls" + +# AI Translated +msgid "Hide details" +msgstr "Amagar els detalls" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tasca cancel·lada" @@ -10622,9 +11178,17 @@ msgstr "Es necessita una torre de purga per a la detecció d'acumulació. Pot ha msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Activar tant l'alçada Z precisa com la torre de purga pot causar errors de tall. Voleu activar l'alçada Z precisa igualment?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "El timelapse suau necessita una Torre de Purga a cada capa, cosa que no és compatible amb \"Sense capes poc denses\". S'ha desactivat \"Sense capes poc denses\"." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "La Torre de Purga és necessària per a un timelapse suau. Pot haver-hi defectes en el model sense Torre de Purga. Vols habilitar la Torre de Purga?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Sense capes poc denses\" no és compatible amb el timelapse suau, que necessita una Torre de Purga a cada capa. El timelapse ha canviat al mode tradicional." + msgid "Still print by object?" msgstr "Continuar imprimint per objecte?" @@ -11002,9 +11566,6 @@ msgstr "Perfils de processos compatibles" msgid "Printable space" msgstr "Espai imprimible" -msgid "Printer Agent" -msgstr "Agent de la impressora" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Seleccioneu la implementació de l'agent de xarxa per a la comunicació amb la impressora. Els agents disponibles es registren a l'inici." @@ -11425,14 +11986,6 @@ msgstr "Nombre d'extrusors" msgid "Capabilities" msgstr "Capacitats" -# AI Translated -msgid "Left: " -msgstr "Esquerra: " - -# AI Translated -msgid "Right: " -msgstr "Dreta: " - msgid "Show all presets (including incompatible)" msgstr "Mostra tots els perfils ( inclosos els incompatibles )" @@ -11820,30 +12373,6 @@ msgstr "El paquet de configuració s'ha canviat a la Guia de Configuració anter msgid "Configuration package changed" msgstr "S'ha canviat el paquet de configuració" -msgid "Toolbar" -msgstr "Barra d’eines" - -msgid "Objects list" -msgstr "Llista d'objectes" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importar dades de geometria des de fitxers STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Enganxa des del porta-retalls" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Mostrar/Amagar quadre de diàleg Configuració de Dispositius 3Dconnexion" - -msgid "Switch table page" -msgstr "Canviar de pàgina de taula" - -msgid "Show keyboard shortcuts list" -msgstr "Mostrar la llista de dreceres de teclat" - -msgid "Global shortcuts" -msgstr "Dreceres Globals" - # AI Translated msgid "Pan View" msgstr "Desplaçament de la vista" @@ -11852,28 +12381,33 @@ msgstr "Desplaçament de la vista" msgid "Rotate View" msgstr "Rotació de la vista" -# AI Translated -msgid "Middle mouse button" -msgstr "Botó central del ratolí" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" # AI Translated -msgid "Zoom View" -msgstr "Zoom de la vista" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Orienta/alinea automàticament els objectes seleccionats o tots els objectes. Si hi ha objectes seleccionats, només orientarà/alinearà els seleccionats. En cas contrari, orientarà/alinearà tots els objectes del projecte actual." +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Orienta/alinea automàticament tots els objectes de la placa actual." - -msgid "Collapse/Expand the sidebar" -msgstr "Replegar/Expandir barra lateral" - -msgid "Any arrow" -msgstr "Qualsevol fletxa" - -msgid "Movement in camera space" -msgstr "Moviment a l'espai de la càmera" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Seleccionar una peça" @@ -11884,136 +12418,30 @@ msgstr "Seleccionar múltiples objectes" msgid "Select objects by rectangle" msgstr "Seleccionar objectes per rectangle" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Fletxa amunt" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Moure la selecció 10 mm en direcció Y positiva" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Fletxa avall" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Moure la selecció 10 mm en direcció Y negativa" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Fletxa esquerra" - -msgid "Move selection 10mm in negative X direction" -msgstr "Moure la selecció 10 mm en direcció X negativa" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Fletxa dreta" - -msgid "Move selection 10mm in positive X direction" -msgstr "Moure la selecció 10 mm en direcció X positiva" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "teclat 1-9: establir filament per a objecte/peça" msgid "Movement step set to 1mm" msgstr "Pas de moviment configurat a 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "teclat 1-9: establir filament per a objecte/peça" +msgid "Movement in camera space" +msgstr "Moviment a l'espai de la càmera" -msgid "Camera view - Default" -msgstr "Vista de càmera - Predeterminada" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Vista de càmera - Part Superior" - -msgid "Camera view - Bottom" -msgstr "Vista de càmera - Part Inferior" - -msgid "Camera view - Front" -msgstr "Vista de càmera - Frontal" - -msgid "Camera view - Behind" -msgstr "Vista de càmera - Darrere" - -msgid "Camera Angle - Left side" -msgstr "Angle de càmera - Costat Esquerre" - -msgid "Camera Angle - Right side" -msgstr "Angle de càmera - Costat Dret" - -msgid "Select all objects" -msgstr "Seleccionar tots els objectes" - -msgid "Gizmo move" -msgstr "Gizmo de Moviment" - -msgid "Gizmo rotate" -msgstr "Gizmo de Rotació" - -msgid "Gizmo scale" -msgstr "Gizmo d'Escala" - -msgid "Gizmo place face on bed" -msgstr "Gizmo de recolzament sobre la Cara a la placa" - -msgid "Gizmo cut" -msgstr "Gizmo de Tall" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo booleà de malla" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Eina FDM per a pell difusa pintada" - -msgid "Gizmo SLA support points" -msgstr "Gizmo de Punts de suport SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Eina de Pintat de costures FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo de text en relleu/gravat" - -msgid "Gizmo measure" -msgstr "Gizmo mesurar" - -msgid "Gizmo assemble" -msgstr "Gizmo ensamblar" - -msgid "Gizmo brim ears" -msgstr "Gizmo orelles de la Vora d'Adherència" - -msgid "Zoom in" -msgstr "Augmentar zoom" - -msgid "Zoom out" -msgstr "Reduir zoom" +msgid "Right mouse" +msgstr "" # AI Translated -msgid "Toggle printable for object/part" -msgstr "Commutar la impressibilitat de l'objecte/peça" +msgid "Zoom View" +msgstr "Zoom de la vista" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" +msgid "Painting" +msgstr "" -msgid "Switch between Prepare/Preview" -msgstr "Canviar entre Preparar/Previsualitzar" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espai" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Obrir el marcatge ràpid d'accions" - -msgid "Plater" -msgstr "Plataforma" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Moure: Clicka per ajustar en passos d'1 mm" @@ -12024,15 +12452,19 @@ msgstr "Suport/Pintat de color: configuració del radi de la ploma" msgid "Support/Color Painting: adjust section position" msgstr "Suport/Pintat de color: configuració de la posició de la secció" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Llista d'objectes" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Establir el número d'extrusor per als objectes i les peces" -msgid "Delete objects, parts, modifiers" -msgstr "Eliminar objectes, peces, modificadors" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espai" msgid "Select the object/part and press space to change the name" msgstr "Seleccioneu l'objecte/peça i premeu espai per canviar-ne el nom" @@ -12043,45 +12475,48 @@ msgstr "Feu clic amb el ratolí" msgid "Select the object/part and mouse click to change the name" msgstr "Seleccioneu l'objecte/peça i feu clic amb el ratolí per canviar el nom" -msgid "Objects List" -msgstr "Llista d'Objectes" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Barra de desplaçament Vertical - Mou el barra de desplaçament actiu cap Amunt" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Barra de desplaçament Vertical - Mou el barra de desplaçament actiu cap Avall" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Barra de desplaçament Horitzontal - Mou el barra de desplaçament actiu cap a l'Esquerra" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Barra de desplaçament Horitzontal - Mou la barra de desplaçament activa cap a la Dreta" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Activar/desactivar el mode de capa única de la barra de desplaçament vertical" - -msgid "On/Off G-code window" -msgstr "Activar/Desactivar finestra de Codi-G" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Moure la barra de desplaçament 5 vegades més ràpid" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Inici" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Control lliscant horitzontal - Mou fins a la posició inicial" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Fi" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Control lliscant horitzontal - Mou a l'última posició" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Notes de la versió" @@ -12285,15 +12720,22 @@ msgstr "Reparació cancel·lada" msgid "Copying of file %1% to %2% failed: %3%" msgstr "La còpia del fitxer %1% a %2% ha fallat: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "S'estan descarregant perfils de fabricant nous: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Paquet de configuració: %1% actualitzat a %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "No s'han pogut descarregar els perfils de fabricant: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Cal comprovar els canvis no desats abans de les actualitzacions de configuració." -msgid "Configuration package: " -msgstr "Paquet de configuració: " - -msgid " updated to " -msgstr " actualitzat a " - msgid "Open G-code file:" msgstr "Obre el fitxer de Codi-G:" @@ -12358,11 +12800,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "L'Input Shaping només és compatible amb Klipper, RepRapFirmware i Marlin 2." -msgid "Grouping error: " -msgstr "Error d'agrupació: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Error d'agrupació: %1% no es pot col·locar al broquet esquerre" -msgid " can not be placed in the " -msgstr " no es pot col·locar al " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Error d'agrupació: %1% no es pot col·locar al broquet dret" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12477,6 +12923,10 @@ msgstr "%1% està massa a prop d'altres i es poden produir col·lisions." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% és massa alt i es provocaran col·lisions." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "La posició relativa del model i la Torre de Purga no compleix els requisits de la funció \"Sense capes poc denses\". Ajusteu-ne les posicions relatives, reduïu l'alçada del model o desactiveu \"Sense capes poc denses\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " està massa a prop de l'àrea d'exclusió, pot haver-hi col·lisions en imprimir." @@ -12841,6 +13291,9 @@ msgstr "Utilitzar 3MF en lloc de G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Activeu-ho si la impressora accepta un fitxer 3MF com a treball d'impressió. Quan està activat, Orca Slicer envia el fitxer laminat com a .gcode.3mf, en lloc d'un fitxer .gcode simple." +msgid "Printer Agent" +msgstr "Agent de la impressora" + msgid "Select the network agent implementation for printer communication." msgstr "Seleccioneu la implementació de l'agent de xarxa per a la comunicació amb la impressora." @@ -13917,6 +14370,10 @@ msgstr "Alineat Rectilini" msgid "Concentric" msgstr "Concèntric" +# AI Translated +msgid "Spiral Inset" +msgstr "Espiral interior" + msgid "Hilbert Curve" msgstr "Corba de Hilbert" @@ -14008,13 +14465,13 @@ msgstr "Ordre d'emplenament de la superfície superior" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direcció en què s'omplen les superfícies superiors quan s'utilitza un patró centrat (Concèntric, Acords d'Arquimedes, Octograma en Espiral).\n" -"Cap a fora comença al centre de la superfície, de manera que l'excés de material es desplaça cap a la vora, on és menys visible. Cap a dins comença a la vora i acaba amb les corbes tancades del centre.\n" -"Per defecte utilitza l'ordenació pel camí més curt, que pot anar en qualsevol direcció." +"Direcció en què s'omplen les superfícies superiors quan es fa servir un patró basat en el centre (Concèntric, Espiral interior, Acords d'Arquimedes, Octograma en Espiral).\n" +"Cap a fora comença al centre de la superfície, de manera que el material sobrant s'empeny cap a la vora, on és menys visible. Cap a dins comença a la vora i acaba amb les corbes tancades del centre.\n" +"Per defecte fa servir l'ordre del camí més curt, que pot anar en qualsevol dels dos sentits." # AI Translated msgid "Bottom surface fill order" @@ -14022,13 +14479,13 @@ msgstr "Ordre d'emplenament de la superfície inferior" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direcció en què s'omplen les superfícies inferiors quan s'utilitza un patró centrat (Concèntric, Acords d'Arquimedes, Octograma en Espiral).\n" -"Cap a dins comença cada superfície amb les corbes exteriors més amples, cosa que millora l'adherència de la capa inicial en plaques on les corbes tancades del centre poden no adherir-se. Cap a fora comença al centre i desplaça l'excés de material cap a la vora.\n" -"Per defecte utilitza l'ordenació pel camí més curt, que pot anar en qualsevol direcció." +"Direcció en què s'omplen les superfícies inferiors quan es fa servir un patró basat en el centre (Concèntric, Espiral interior, Acords d'Arquimedes, Octograma en Espiral).\n" +"Cap a dins comença cada superfície per les corbes exteriors més amples, cosa que millora l'adhesió de la capa inicial en llits on les corbes tancades del centre poden no agafar-se. Cap a fora comença al centre i empeny el material sobrant cap a la vora.\n" +"Per defecte fa servir l'ordre del camí més curt, que pot anar en qualsevol dels dos sentits." msgid "Internal solid infill pattern" msgstr "Patró de farciment sòlid intern" @@ -14133,6 +14590,14 @@ msgstr "En sentit contrari a les agulles del rellotge" msgid "Clockwise" msgstr "En el sentit de les agulles del rellotge" +# AI Translated +msgid "Distance to rod" +msgstr "Distància a la barra" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Distància horitzontal de la punta del broquet a la vora més llunyana de la barra. Es fa servir per evitar col·lisions en la impressió per objecte." + msgid "Height to rod" msgstr "Alçada a la tija" @@ -16351,6 +16816,20 @@ msgstr "Detectar voladís de perímetre" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Detectar el percentatge de voladís en relació amb l'amplada de la línia i utilitzar una velocitat diferent per imprimir. Per al voladís del 100%%, s'utilitza la velocitat de pont." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Imprimir al final els perímetres sense suport" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Els bucles de perímetre que queden completament a l'aire s'imprimeixen quan alguna cosa els pot sostenir:\n" +"s'extrudeixen després dels altres perímetres de la seva illa, començant pel més interior, sigui quin sigui l'ordre de perímetres.\n" +"Un bucle que només poden ancorar els ponts d'aquesta capa espera que s'imprimeixin aquests ponts, mentre que un bucle que va al costat d'un perímetre amb suport manté el seu lloc abans del farciment, que el necessita com a ancoratge." + # AI Translated msgid "Outer walls" msgstr "Perímetres exteriors" @@ -16799,6 +17278,39 @@ msgstr "Neteja en bucles" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Per minimitzar la visibilitat de la costura en una extrusió de bucle tancat, s'executa un petit moviment cap a l'interior abans que l'extrusora surti del bucle." +# AI Translated +msgid "Wipe inward" +msgstr "Netejar cap a dins" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Només s'aplica als perímetres exteriors, inclosos els contorns dels forats. Durant la neteja mou el broquet calent cap als perímetres interiors ja impresos per reduir el reescalfament del plàstic acabat d'imprimir i les marques de costura.\n" +"\n" +"És especialment útil amb alçades de capa per sota de 0,1 mm, on les marques de neteja es veuen més.\n" +"\n" +"Fa servir la neteja normal si no hi ha cap perímetre interior contigu ja imprès (zones d'un sol perímetre o ordre de perímetres Exterior/Interior) o si no es troba cap trajectòria cap a dins amb suport, per exemple a cantonades tancades o a buits de la costura." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Distància de neteja cap a dins" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Distància que es desplaça la trajectòria de neteja allunyant-se del perímetre exterior, indicada en mil·límetres o com a percentatge de l'amplada d'extrusió real del perímetre exterior.\n" +"\n" +"Per exemple, 50% desplaça la trajectòria la meitat de l'amplada del perímetre exterior. El desplaçament efectiu està limitat tant per l'amplada real del perímetre exterior com per l'espai disponible fins al perímetre contigu, de manera que els valors per sobre de 100% o una distància absoluta equivalent no tenen cap efecte addicional. Poseu-hi 0 per desactivar el desplaçament." + msgid "Wipe before external loop" msgstr "Netejar abans del bucle extern" @@ -16999,8 +17511,8 @@ msgstr "Passos de preescalfament" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Inseriu diverses ordres de preescalfament (p. ex., M104.1). Només útil per a Prusa XL. Per a altres impressores, poseu-la a 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code escrit al començament del fitxer de sortida, abans de qualsevol altre contingut. Útil per afegir metadades que el firmware de la impressora llegeix de les primeres línies del fitxer (p. ex. temps d'impressió estimat, ús de filament). Admet espais reservats com {print_time_sec} i {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Codi-G inicial" @@ -17063,8 +17575,9 @@ msgstr "Recull la nova eina sense esperar que arribi a la temperatura d'impressi msgid "No sparse layers (beta)" msgstr "Sense capes poc denses( beta )" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Si està habilitat, la Torre de Purga no s'imprimeix en capes sense canvis d'eina. En capes amb canvi d'eina, l'extrusor es desplaçarà cap avall per imprimir la Torre de Purga. L'usuari és responsable de garantir que no hi hagi col·lisió amb la impressió." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Si s'activa, la Torre de Purga no s'imprimirà a les capes sense canvis d'eina. A les capes amb un canvi d'eina, l'extrusor baixarà per imprimir la Torre de Purga, de manera que la torre queda per sota del model i el capçal ha de baixar fins a ella. Es rebutgen les disposicions en què això xocaria amb un objecte ja imprès. No té cap efecte amb el timelapse suau ni amb la detecció d'obstruccions al broquet, que necessiten una torre a cada capa." msgid "Prime all printing extruders" msgstr "Purgar tots els extrusors d'impressió" @@ -17090,6 +17603,34 @@ msgstr "" msgid "Cyclic" msgstr "Cíclic" +# AI Translated +msgid "Cyclic order" +msgstr "Ordre cíclic" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Seqüència de filaments personalitzada que fa servir l'ordre cíclic de canvis d'eina, com a números de filament separats per comes (p. ex. \"3,2,1,4\").\n" +"Cada capa imprimeix els seus filaments seguint aquesta seqüència; els filaments que no hi consten s'imprimeixen al final, en ordre ascendent.\n" +"Deixeu-ho buit per recórrer els filaments en ordre ascendent." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Aplicar l'ordre cíclic a la capa inicial" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Aplica l'ordre cíclic de canvis d'eina també a la capa inicial.\n" +"Per defecte està desactivat, perquè la capa inicial s'ordena en lloc d'això per aconseguir la millor adhesió al llit: els filaments que imprimeixen detalls petits i fràgils de la capa inicial s'imprimeixen al final, de manera que els canvis d'eina i els recorreguts posteriors tenen menys probabilitats d'arrencar aquestes peces mal ancorades. Aquest ordre de la capa inicial també respecta una seqüència de filaments personalitzada per a la capa inicial quan se n'ha definit una. L'avantatge de l'ordre cíclic (els canvis d'eina addicionals donen a cada capa més temps per refredar-se) no s'aplica a la capa inicial, que s'imprimeix a poc a poc i calenta per afavorir l'adhesió.\n" +"Activeu-ho només si necessiteu exactament la mateixa seqüència d'eines a totes les capes, inclosa la primera, a costa d'aquesta optimització de l'adhesió." + msgid "Slice gap closing radius" msgstr "Radi de tancament dels buits en laminar" @@ -17099,9 +17640,6 @@ msgstr "Les esquerdes de menys de dues vegades el radi de tancament de buits s'o msgid "Slicing Mode" msgstr "Mode de laminat" -msgid "Other" -msgstr "Altre" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Utilitzeu \"Parell-imparell\" per als models d'avió 3DLabPrint. Utilitzeu \"Tancar forats\" per tancar tots els forats del model." @@ -18047,9 +18585,6 @@ msgstr "amplada de línia massa gran " msgid " not in range " msgstr " fora de rang " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportar projecte a 3MF." @@ -18065,9 +18600,6 @@ msgstr "Carregar dades de laminació" msgid "Load cached slicing data from directory." msgstr "Carregar les dades de laminació a la memòria cau des del directori" -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exportar tots els objectes com a un STL." @@ -18119,6 +18651,14 @@ msgstr "No comprovar" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "No executar cap comprovació de validesa, com ara la comprovació de conflictes de trajectòria al Codi-G." +# AI Translated +msgid "Strict mode" +msgstr "Mode estricte" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Surt amb un codi diferent de zero quan el llescat genera un avís no crític que altrament només es registraria, com ara un model que necessita suports mentre els suports estan desactivats. Feu-ho servir en CI o en processos automatitzats que mai no han de lliurar un llescat subtilment defectuós. Cadascun d'aquests avisos també apareix amb una classe estable a la matriu `warnings` de result.json, que només s'escriu a Linux. No es pot combinar amb --no-check, que omet la comprovació de suports." + msgid "Normative check" msgstr "Comprovació normativa" @@ -18131,11 +18671,28 @@ msgstr "Informació del model de sortida" msgid "This outputs the model’s information." msgstr "Emet la informació del model." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Inspeccionar la malla (JSON a stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Escriu a stdout un resum JSON de cada objecte carregat i després surt: les seves capses contenidores i les cares de l'envolupant convexa sobre les quals es pot recolzar, amb les normals, àrees i centres corresponents. Aquestes són les cares entre les quals trien les opcions --ground-*. Alternativa llegible per màquina a --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Inspeccionar el pintat (JSON a stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Escriu un resum JSON estructurat de cada capa pintada (suports, costura, color MMU, pell difusa) ja desada al model carregat — nombre de facetes, àrea de superfície i capsa contenidora local a la malla per a cada estat — i després surt. Alternativa llegible per màquina a obrir les eines de pintat a la interfície." + msgid "Export Settings" msgstr "Exportar Configuració" -msgid "This exports settings to a file." -msgstr "Exporta la configuració a un fitxer." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Això exporta la configuració a un fitxer. Feu servir - per escriure-la a stdout." msgid "Send progress to pipe" msgstr "Envia el progrés a la canalització" @@ -18191,6 +18748,30 @@ msgstr "Rotar al voltant de l'eix Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Angle de rotació al voltant de l'eix Y en graus." +# AI Translated +msgid "Ground largest face" +msgstr "Recolzar sobre la cara més gran" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Recolza cada objecte sobre la cara més gran de la seva envolupant convexa i el deixa caure sobre el llit. Entre cares igual de grans es conserva la que ja mira cap avall. Els objectes sense una cara prou gran per recolzar-s'hi es deixen tal com estan. Les transformacions s'apliquen en l'ordre de la línia d'ordres, de manera que es respecten les rotacions indicades abans d'aquesta opció. --orient 1 s'executa després de totes les transformacions i substitueix l'orientació." + +# AI Translated +msgid "Ground face by normal" +msgstr "Recolzar sobre la cara segons la normal" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Recolza cada objecte sobre la cara de l'envolupant convexa la normal exterior de la qual sigui més propera a la direcció NX,NY,NZ i el deixa caure sobre el llit. La direcció és en coordenades de l'objecte, que inclouen les rotacions indicades abans d'aquesta opció i coincideixen amb els eixos de la safata llevat que el fitxer d'entrada giri l'objecte. Per exemple, 1,0,0 recolza l'objecte sobre el seu costat +X. --orient 1 s'executa després de totes les transformacions i substitueix l'orientació." + +# AI Translated +msgid "Ground face at point" +msgstr "Recolzar sobre la cara en un punt" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Recolza cada objecte sobre la cara de l'envolupant convexa que conté el punt X,Y,Z i el deixa caure sobre el llit. El punt és en coordenades de l'objecte, que inclouen les rotacions indicades abans d'aquesta opció; --inspect-mesh indica els centres de les cares en aquestes coordenades. Els objectes sense una cara així es deixen tal com estan, i l'execució falla si cap objecte en té. --orient 1 s'executa després de totes les transformacions i substitueix l'orientació." + msgid "Scale the model by a float factor." msgstr "Escala el model amb un factor flotant" @@ -18490,12 +19071,36 @@ msgstr "Filament usat" msgid "Total length of filament used in the print." msgstr "Longitud total de filament utilitzat a la impressió." -msgid "Print time (seconds)" -msgstr "Temps d'impressió (segons)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Temps d'impressió estimat total en segons. Substituït pel valor real durant el post-processament." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Longitud del filament (metres)" @@ -18726,9 +19331,6 @@ msgstr "El fitxer conté índex de vèrtex no vàlid." msgid "This OBJ file couldn't be read because it's empty." msgstr "Aquest fitxer OBJ no s'ha pogut llegir perquè està buit." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibratge de Velocitat Volumètrica Màxima" - msgid "Manage Result" msgstr "Gestionar els resultats" @@ -19577,10 +20179,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: valors alts poden causar desplaçament de capes (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Calibratge de la relació de flux" - # AI Translated msgid "Calibration Test Type" msgstr "Tipus de prova de calibratge" @@ -20376,6 +20974,9 @@ msgstr "No s'ha detectat cap sessió vàlida. Voleu continuar amb l'inici de ses msgid "Success!" msgstr "Èxit!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Estàs segur de tancar sessió?" @@ -21387,6 +21988,18 @@ msgstr "Aquesta acció no es pot desfer. Continuar?" msgid "Skipping objects." msgstr "Ometent objectes." +# AI Translated +msgid "Material Ratio" +msgstr "Proporció de material" + +# AI Translated +msgid "Model Height" +msgstr "Alçada del model" + +# AI Translated +msgid "Ratio" +msgstr "Proporció" + msgid "Select Filament" msgstr "Seleccioneu filament" @@ -21419,13 +22032,6 @@ msgstr "El connector de xarxa Bambu és necessari per a les funcions del núvol, msgid "Error: %s" msgstr "Error: %s" -msgid "Show details" -msgstr "Mostra detalls" - -# AI Translated -msgid "Hide details" -msgstr "Amagar els detalls" - msgid "Version to install:" msgstr "Versió a instal·lar:" @@ -21670,12 +22276,14 @@ msgid "Drying-Dehumidifying" msgstr "Assecatge - Deshumidificació" # AI Translated -msgid " maximum drying temperature is " -msgstr " la temperatura màxima d'assecatge és " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "La temperatura màxima d'assecatge de %s és %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " la temperatura mínima d'assecatge és " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "La temperatura mínima d'assecatge de %s és %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21820,6 +22428,2495 @@ msgstr "El filament pot no ser compatible amb la configuració actual de la màq msgid "The filament model is unknown. A random filament preset will be used." msgstr "El model de filament és desconegut. S'utilitzarà un perfil de filament aleatori." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Final" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Esborrar" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Inici" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Fi" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Fletxa esquerra" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Fletxa dreta" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Fletxa amunt" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Fletxa avall" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importar dades de geometria des de fitxers STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Seleccionar tots els objectes" + +msgid "Paste from clipboard" +msgstr "Enganxa des del porta-retalls" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Commutar la impressibilitat de l'objecte/peça" + +msgid "Move selection 10mm in negative X direction" +msgstr "Moure la selecció 10 mm en direcció X negativa" + +msgid "Move selection 10mm in positive X direction" +msgstr "Moure la selecció 10 mm en direcció X positiva" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Moure la selecció 10 mm en direcció Y positiva" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Moure la selecció 10 mm en direcció Y negativa" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo de Moviment" + +msgid "Gizmo rotate" +msgstr "Gizmo de Rotació" + +msgid "Gizmo scale" +msgstr "Gizmo d'Escala" + +msgid "Gizmo place face on bed" +msgstr "Gizmo de recolzament sobre la Cara a la placa" + +msgid "Gizmo cut" +msgstr "Gizmo de Tall" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo booleà de malla" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Eina de Pintat de costures FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Eina FDM per a pell difusa pintada" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo de text en relleu/gravat" + +msgid "Gizmo measure" +msgstr "Gizmo mesurar" + +msgid "Gizmo assemble" +msgstr "Gizmo ensamblar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orelles de la Vora d'Adherència" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Barra de desplaçament Vertical - Mou el barra de desplaçament actiu cap Amunt" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Barra de desplaçament Vertical - Mou el barra de desplaçament actiu cap Avall" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Barra de desplaçament Horitzontal - Mou el barra de desplaçament actiu cap a l'Esquerra" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Barra de desplaçament Horitzontal - Mou la barra de desplaçament activa cap a la Dreta" + +msgid "Horizontal slider - Move to start position" +msgstr "Control lliscant horitzontal - Mou fins a la posició inicial" + +msgid "Horizontal slider - Move to last position" +msgstr "Control lliscant horitzontal - Mou a l'última posició" + +msgid "Camera view - Default" +msgstr "Vista de càmera - Predeterminada" + +msgid "Camera view - Top" +msgstr "Vista de càmera - Part Superior" + +msgid "Camera view - Bottom" +msgstr "Vista de càmera - Part Inferior" + +msgid "Camera view - Front" +msgstr "Vista de càmera - Frontal" + +msgid "Camera view - Behind" +msgstr "Vista de càmera - Darrere" + +msgid "Camera Angle - Left side" +msgstr "Angle de càmera - Costat Esquerre" + +msgid "Camera Angle - Right side" +msgstr "Angle de càmera - Costat Dret" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Augmentar zoom" + +msgid "Zoom out" +msgstr "Reduir zoom" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Mostrar/Amagar quadre de diàleg Configuració de Dispositius 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Activar/Desactivar finestra de Codi-G" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Activar/desactivar el mode de capa única de la barra de desplaçament vertical" + +msgid "Switch between Prepare/Preview" +msgstr "Canviar entre Preparar/Previsualitzar" + +msgid "Collapse/Expand the sidebar" +msgstr "Replegar/Expandir barra lateral" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Mostrar la llista de dreceres de teclat" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22121,6 +25218,158 @@ msgstr "" "Evitar la deformació( warping )\n" "Sabíeu que quan imprimiu materials propensos a deformar-se, com ara l'ABS, augmentar adequadament la temperatura del llit pot reduir la probabilitat de deformació?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Pestanya" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Mostra els FPS actuals de la vista a la cantonada superior dreta." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki de Publicar 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Guia en vídeo de Publicar 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Barra d’eines" + +#~ msgid "Switch table page" +#~ msgstr "Canviar de pàgina de taula" + +#~ msgid "Global shortcuts" +#~ msgstr "Dreceres Globals" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Botó central del ratolí" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Orienta/alinea automàticament els objectes seleccionats o tots els objectes. Si hi ha objectes seleccionats, només orientarà/alinearà els seleccionats. En cas contrari, orientarà/alinearà tots els objectes del projecte actual." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Orienta/alinea automàticament tots els objectes de la placa actual." + +#~ msgid "Any arrow" +#~ msgstr "Qualsevol fletxa" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo de Punts de suport SLA" + +#~ msgid "Plater" +#~ msgstr "Plataforma" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Eliminar objectes, peces, modificadors" + +#~ msgid "Objects List" +#~ msgstr "Llista d'Objectes" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code escrit al començament del fitxer de sortida, abans de qualsevol altre contingut. Útil per afegir metadades que el firmware de la impressora llegeix de les primeres línies del fitxer (p. ex. temps d'impressió estimat, ús de filament). Admet espais reservats com {print_time_sec} i {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Temps d'impressió (segons)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Obrir el marcatge ràpid d'accions" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Esquerra: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Dreta: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "La temperatura màxima no pot superar " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "La temperatura mínima no hauria de ser inferior a " + +#~ msgid "up to" +#~ msgstr "fins a" + +#~ msgid "above" +#~ msgstr "sobre" + +#~ msgid "from" +#~ msgstr "des de" + +#~ msgid "Configuration package: " +#~ msgstr "Paquet de configuració: " + +#~ msgid " updated to " +#~ msgstr " actualitzat a " + +#~ msgid "Grouping error: " +#~ msgstr "Error d'agrupació: " + +#~ msgid " can not be placed in the " +#~ msgstr " no es pot col·locar al " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " la temperatura màxima d'assecatge és " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " la temperatura mínima d'assecatge és " + +# AI Translated +#~ msgid "needs" +#~ msgstr "necessita" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "no activat" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "material no publicat" + +#~ msgid "Select the language" +#~ msgstr "Seleccioneu l'idioma" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Seleccionar connector" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direcció en què s'omplen les superfícies superiors quan s'utilitza un patró centrat (Concèntric, Acords d'Arquimedes, Octograma en Espiral).\n" +#~ "Cap a fora comença al centre de la superfície, de manera que l'excés de material es desplaça cap a la vora, on és menys visible. Cap a dins comença a la vora i acaba amb les corbes tancades del centre.\n" +#~ "Per defecte utilitza l'ordenació pel camí més curt, que pot anar en qualsevol direcció." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direcció en què s'omplen les superfícies inferiors quan s'utilitza un patró centrat (Concèntric, Acords d'Arquimedes, Octograma en Espiral).\n" +#~ "Cap a dins comença cada superfície amb les corbes exteriors més amples, cosa que millora l'adherència de la capa inicial en plaques on les corbes tancades del centre poden no adherir-se. Cap a fora comença al centre i desplaça l'excés de material cap a la vora.\n" +#~ "Per defecte utilitza l'ordenació pel camí més curt, que pot anar en qualsevol direcció." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Si està habilitat, la Torre de Purga no s'imprimeix en capes sense canvis d'eina. En capes amb canvi d'eina, l'extrusor es desplaçarà cap avall per imprimir la Torre de Purga. L'usuari és responsable de garantir que no hi hagi col·lisió amb la impressió." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exporta la configuració a un fitxer." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "La visualització en directe nativa de Wayland requereix el sink de vídeo GTK de GStreamer. Instal·leu el connector gtksink per a GStreamer i reinicieu l'OrcaSlicer." @@ -22175,9 +25424,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordre d'impressió dins d'una sola capa" -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frontal" @@ -22187,9 +25433,6 @@ msgstr "" #~ msgid "Enter" #~ msgstr "Retorn" -#~ msgid "Del" -#~ msgstr "Esborrar" - #~ msgid "Backspace" #~ msgstr "Retrocés" @@ -22205,9 +25448,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Fletxa cap a la dreta" -#~ msgid "End" -#~ msgstr "Final" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index d2ef18cd2a..41eeda79fd 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: Jakub Hencl\n" "Language-Team: \n" @@ -2482,15 +2482,6 @@ msgstr "Je k dispozici aktualizace. Otevřete dialog balíčku předvoleb a prov msgid "%s has been removed." msgstr "%s bylo odstraněno." -msgid "Switching application language" -msgstr "Přepnutí jazyka aplikace" - -msgid "Select the language" -msgstr "Zvolte jazyk" - -msgid "Language" -msgstr "Jazyk" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2528,6 +2519,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nepodařilo se otevřít dialog Pluginy (neznámá chyba)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminál pluginu" @@ -3751,11 +3755,15 @@ msgstr "Vytáhnout aktuální filament zpět na Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Přepnout dráhu na Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "Maximální teplota nesmí překročit " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Maximální teplota nesmí překročit %d" -msgid "The minmum temperature should not be less than " -msgstr "Minimální teplota nesmí být nižší než " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Minimální teplota nesmí být nižší než %d" # AI Translated msgid "Type to filter..." @@ -4204,6 +4212,21 @@ msgstr "OrcaSlicer vznikl ve stejném duchu a vycházel z projektů PrusaSlicer, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Dnes je OrcaSlicer nejpoužívanějším a nejaktivněji vyvíjeným open-source slicerem v komunitě 3D tisku. Mnoho jeho inovací převzaly i další slicery, díky čemuž se stal hnací silou celého odvětví." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Tiskárna" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Nastavení materiálů AMS" @@ -4649,6 +4672,15 @@ msgstr "" "Kopírování dočasného G-kódu do výstupního G-kódu selhalo. Možná je SD karta uzamčená pro zápis?\n" "Chybová zpráva: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Kopírování dočasného G-kódu do výstupního G-kódu selhalo.\n" +"Chybová zpráva: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Kopírování dočasného G-kódu do výstupního G-kódu selhalo. Může být problém s cílovým zařízením, zkuste prosím exportovat znovu nebo použijte jiné zařízení. Poškozený výstupní G-kód je na %1%.tmp." @@ -4953,6 +4985,10 @@ msgstr "" "Ano – změnit tato nastavení a automaticky povolit spirálový režim\n" "Ne – tentokrát nepoužít spirálový režim" +# AI Translated +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Tisk" @@ -5383,14 +5419,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Hodnota %s je mimo rozsah. Platný rozsah je od %d do %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Je to %s%% nebo %s %s?\n" -"ANO pro %s%%,\n" -"NE pro %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Je to %s%% nebo %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5412,30 +5445,22 @@ msgstr "Neplatný vzor. Použijte N, N#K nebo seznam oddělený čárkami s voli msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Neplatný formát. Očekávaný vektorový formát: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "Systémoví agenti" -# AI Translated -msgid "No plugin selected" -msgstr "Není vybrán žádný plugin" - # AI Translated msgid "Add plugin" msgstr "Přidat plugin" -# AI Translated -msgid "Select plugin" -msgstr "Vybrat plugin" - # AI Translated msgid "Remove plugin" msgstr "Odebrat plugin" +# AI Translated +msgid "No plugin selected" +msgstr "Není vybrán žádný plugin" + # AI Translated msgid "Configure" msgstr "Konfigurovat" @@ -5696,14 +5721,20 @@ msgstr "Nastavit optimální" msgid "Regroup filament" msgstr "Znovu seskupit filament" -msgid "up to" -msgstr "až do" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "až do %1% mm" -msgid "above" -msgstr "nad" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "nad %1% mm" -msgid "from" -msgstr "Od" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "od %1% do %2% mm" msgid "Usage" msgstr "Využití" @@ -5763,9 +5794,6 @@ msgctxt "Noun" msgid "Print" msgstr "Tisk" -msgid "Printer" -msgstr "Tiskárna" - msgid "Time Estimation" msgstr "Odhad času" @@ -5948,12 +5976,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Pravý" -msgid "Add" -msgstr "Přidat" - msgid "Add plate" msgstr "Přidat desku" +msgid "Split to objects" +msgstr "Rozdělit na objekty" + +msgid "Add" +msgstr "Přidat" + msgid "Auto orient all/selected objects" msgstr "Automaticky orientovat všechny/vybrané objekty" @@ -5966,9 +5997,6 @@ msgstr "Rozložit všechny objekty" msgid "Arrange objects on selected plates" msgstr "Rozložit objekty na vybraných deskách" -msgid "Split to objects" -msgstr "Rozdělit na objekty" - msgid "Assembly View" msgstr "Zobrazení sestavy" @@ -6026,6 +6054,9 @@ msgstr "Obrys" msgid "Wireframe" msgstr "Drátový model" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Realistické zobrazení" @@ -6235,6 +6266,9 @@ msgstr "Zavírání aplikace, když jsou upraveny některé předvolby." msgid "Logging" msgstr "Protokolování" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Připravit" @@ -6382,6 +6416,14 @@ msgstr "Uložit projekt jako" msgid "Save current project as" msgstr "Uložit aktuální projekt jako" +# AI Translated +msgid "Publish 3MF" +msgstr "Publikovat 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exportovat soubor 3MF s vloženými vybranými nastaveními" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importovat 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6568,6 +6610,9 @@ msgstr "Upravit" msgid "View" msgstr "Zobrazit" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Balík předvoleb" @@ -7507,6 +7552,233 @@ msgstr "Tento dialog již nezobrazovat" msgid "Please refer to Wiki before use->" msgstr "Před použitím si přečtěte Wiki ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportovat STL" + +msgid "Export 3MF" +msgstr "Exportovat 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibrace maximální objemové rychlosti" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Kalibrace průtokového poměru" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Odstranit všechny objekty" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Rozdělit na objekty" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D myš odpojena." @@ -7671,6 +7943,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Spodní" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Toto nastavení neurčuje typ schopnosti pluginu." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Toto nastavení určuje neznámý typ schopnosti pluginu: " + # AI Translated msgid "Plugin Selection" msgstr "Výběr pluginů" @@ -8159,10 +8439,6 @@ msgstr "Rozbalit postranní panel" msgid "Collapse sidebar" msgstr "Sbalit postranní panel" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Načítání souboru: %s" @@ -8237,6 +8513,14 @@ msgstr "Potvrďte prosím, že je G-code v těchto předvolbách bezpečný, aby msgid "Customized Preset" msgstr "Přizpůsobená předvolba" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Některá publikovaná nastavení nebylo možné použít:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Některé sloty filamentu byly změněny:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Názvy komponent v souboru STEP nejsou ve formátu UTF-8!" @@ -8356,10 +8640,6 @@ msgstr "" msgid "Delete Object" msgstr "Odstranit objekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Odstranit všechny objekty" - # AI Translated msgid "Reset Project" msgstr "Resetovat projekt" @@ -8367,10 +8647,6 @@ msgstr "Resetovat projekt" msgid "The selected object couldn't be split." msgstr "Zvolený objekt nelze rozdělit." -# AI Translated -msgid "Split to Objects" -msgstr "Rozdělit na objekty" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Zakázat automatické položení pro zachování pozice v ose Z?\n" @@ -8647,6 +8923,21 @@ msgstr "Uložit rozřezaný soubor jako:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Soubor %s byl odeslán do úložiště tiskárny a lze jej zobrazit na tiskárně." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publikovat soubor 3MF jako:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Export publikovaného souboru 3MF selhal.\n" +"Zkontrolujte prosím, zda složka existuje online, nebo zda soubor nemají otevřený jiné programy." + +msgid "Publish" +msgstr "Publikovat" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Typ trysky není nastaven. Nastavte prosím trysku a zkuste to znovu." @@ -8859,9 +9150,6 @@ msgstr "Chcete pokračovat?" msgid "Language selection" msgstr "Výběr jazyka" -msgid "Switching application language while some presets are modified." -msgstr "Přepnutí jazyka aplikace, když jsou některé předvolby upraveny." - msgid "Asia-Pacific" msgstr "Asie-Pacifik" @@ -8967,6 +9255,9 @@ msgstr "Cesta k aktuální instanci: " msgid "General" msgstr "Obecné" +msgid "Language" +msgstr "Jazyk" + msgid "Metric" msgstr "Metrika" @@ -9171,6 +9462,33 @@ msgstr "Správa více zařízení" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Pokud je tato volba povolena, můžete odeslat úlohu na více zařízení současně a spravovat více zařízení." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Zobrazit dialog pro výběr režimu seskupení filamentů" @@ -9253,6 +9571,12 @@ msgstr "Změnit směr přibližování myší" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Je-li povoleno, obrátí se směr přiblížení kolečkem myši." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Posun" @@ -9281,6 +9605,15 @@ msgstr "Tažení pravým tlačítkem myši" msgid "Set the action that dragging the right mouse button should perform." msgstr "Nastavte akci, kterou má provádět tažení pravým tlačítkem myši." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Vymazat mou volbu pro..." @@ -9405,13 +9738,40 @@ msgstr "" "Omezuje snímkovou frekvenci zobrazení, aby se snížila zátěž GPU a spotřeba energie.\n" "Nastavte 0 pro neomezenou snímkovou frekvenci." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Zobrazit překryv s FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Zobrazuje aktuální FPS zobrazení v pravém horním rohu." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9429,9 +9789,6 @@ msgstr "Při posouvání posuvníku vrstev v náhledu po slicování vykresluje msgid "Dimmed layer brightness" msgstr "Jas ztmavených vrstev" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9828,9 +10185,6 @@ msgstr "Přejít na webovou stránku publikace modelu" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Poznámka: Příprava může trvat několik minut. Buďte prosím trpěliví." -msgid "Publish" -msgstr "Publikovat" - msgid "Publish was canceled" msgstr "Publikování bylo zrušeno" @@ -9846,6 +10200,76 @@ msgstr "Nahrávání dat" msgid "Jump to webpage" msgstr "Přejít na webovou stránku" +# AI Translated +msgid "Material" +msgstr "Materiál" + +# AI Translated +msgid "Mixed filament" +msgstr "Míchaný filament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Některé míchané filamenty závisejí na filamentech, které nebudou publikovány:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (míchaný)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% vyžaduje %2%, který není povolen." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% vyžaduje %2%, jehož materiál nebude publikován." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Chcete-li publikovat míchaný filament, povolte každý filament, který používá, a zvolte Úplné publikování nebo splňte jeho požadavek Typ." + +# AI Translated +msgid "Publish anyway" +msgstr "Přesto publikovat" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publikovat 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Vyberte, která nastavení se mají publikovat v souboru 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Míchaný filament - publikuje se jako celek, pokud je výše zvoleno \"Povolit\"" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publikovat tento míchaný filament a povolit + úplně publikovat jeho složkové filamenty" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publikovat tento slot filamentu v souboru 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Úplné publikování" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Vložit celý filament tohoto slotu do souboru 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrovat nevybrané" + #, c-format, boost-format msgid "Save %s as" msgstr "Uložit %s jako" @@ -9864,6 +10288,10 @@ msgstr "Zkopíruje do této předvolby všechny hodnoty zděděné z nadřazené msgid "Detach from parent" msgstr "Oddělit od nadřazeného" +# AI Translated +msgid "Save without parent" +msgstr "Uložit bez nadřazeného" + # AI Translated msgid "Unique preset" msgstr "Samostatná předvolba" @@ -9923,6 +10351,134 @@ msgstr "Pro \"%1%\" přidat \"%2%\" jako novou předvolbu" msgid "Simply switch to \"%1%\"" msgstr "Jednoduše přepněte na \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Ostatní" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "Zobrazit podrobnosti" + +# AI Translated +msgid "Hide details" +msgstr "Skrýt podrobnosti" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Úloha zrušena" @@ -10570,9 +11126,17 @@ msgstr "Pro detekci shlukování je vyžadována čistící věž. Bez čistíc msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Povolení přesné výšky Z i čistící věže může způsobit chyby slicování. Chcete přesto povolit přesnou výšku Z?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Plynulý časosběr vyžaduje čistící věž na každé vrstvě, což není slučitelné s možností \"Žádné řídké vrstvy\". Možnost \"Žádné řídké vrstvy\" byla vypnuta." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Pro hladký časosběr je potřeba základní věž. Model může mít vady bez základní věže. Chcete povolit základní věž?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "Možnost \"Žádné řídké vrstvy\" není slučitelná s plynulým časosběrem, který vyžaduje čistící věž na každé vrstvě. Časosběr byl přepnut do tradičního režimu." + msgid "Still print by object?" msgstr "Stále tisknout po objektu?" @@ -10951,10 +11515,6 @@ msgstr "Kompatibilní procesní profily" msgid "Printable space" msgstr "Tisknutelný prostor" -# AI Translated -msgid "Printer Agent" -msgstr "Agent tiskárny" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Vyberte implementaci síťového agenta pro komunikaci s tiskárnou. Dostupní agenti jsou registrováni při spuštění." @@ -11370,14 +11930,6 @@ msgstr "Počet extrudérů" msgid "Capabilities" msgstr "Možnosti" -# AI Translated -msgid "Left: " -msgstr "Levý: " - -# AI Translated -msgid "Right: " -msgstr "Pravý: " - msgid "Show all presets (including incompatible)" msgstr "Zobrazit všechny předvolby (včetně nekompatibilních)" @@ -11807,57 +12359,39 @@ msgstr "Konfigurační balíček byl změněn v předchozím průvodci nastaven msgid "Configuration package changed" msgstr "Balíček konfigurace byl změněn" -msgid "Toolbar" -msgstr "Panel nástrojů" - -msgid "Objects list" -msgstr "Seznam objektů" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importovat geometrická data ze souborů STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Vložit ze schránky" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Zobrazit/Skrýt dialog nastavení zařízení 3Dconnexion" - -msgid "Switch table page" -msgstr "Přepnout stránku tabulky" - -msgid "Show keyboard shortcuts list" -msgstr "Zobrazit seznam klávesových zkratek" - -msgid "Global shortcuts" -msgstr "Globální klávesové zkratky" - msgid "Pan View" msgstr "Posun pohledu" msgid "Rotate View" msgstr "Otočit pohled" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "Prostřední tlačítko myši" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "Přiblížení pohledu" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Automaticky orientuje vybrané nebo všechny objekty. Pokud jsou vybrané objekty, orientuje pouze tyto. Jinak orientuje všechny objekty v aktuálním projektu." - -msgid "Auto orients all objects on the active plate." -msgstr "Automaticky orientuje všechny objekty na aktivní desce." - -msgid "Collapse/Expand the sidebar" -msgstr "Sbalit/rozbalit postranní panel" - -msgid "Any arrow" -msgstr "Libovolná šipka" - -msgid "Movement in camera space" -msgstr "Pohyb v prostoru kamery" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Vyberte část" @@ -11868,136 +12402,29 @@ msgstr "Vyberte více objektů" msgid "Select objects by rectangle" msgstr "Vyberte objekty obdélníkem" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Šipka nahoru" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Přesuňte výběr o 10 mm v kladném směru osy Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Šipka dolů" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Přesuňte výběr o 10 mm v záporném směru osy Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Šipka vlevo" - -msgid "Move selection 10mm in negative X direction" -msgstr "Přesuňte výběr o 10 mm v záporném směru osy X" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Šipka vpravo" - -msgid "Move selection 10mm in positive X direction" -msgstr "Přesuňte výběr o 10 mm v kladném směru osy X" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Klávesy 1–9: nastavit filament pro objekt/část" msgid "Movement step set to 1mm" msgstr "Krok pohybu nastaven na 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Klávesy 1–9: nastavit filament pro objekt/část" +msgid "Movement in camera space" +msgstr "Pohyb v prostoru kamery" -msgid "Camera view - Default" -msgstr "Pohled kamery – výchozí" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Pohled kamery – shora" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Pohled kamery – zespodu" +msgid "Zoom View" +msgstr "Přiblížení pohledu" -msgid "Camera view - Front" -msgstr "Pohled kamery – zepředu" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Pohled kamery – zezadu" - -msgid "Camera Angle - Left side" -msgstr "Úhel kamery – levá strana" - -msgid "Camera Angle - Right side" -msgstr "Úhel kamery – pravá strana" - -msgid "Select all objects" -msgstr "Vybrat všechny objekty" - -msgid "Gizmo move" -msgstr "Gizmo posouvat" - -msgid "Gizmo rotate" -msgstr "Gizmo otočit" - -msgid "Gizmo scale" -msgstr "Gizmo změnit měřítko" - -msgid "Gizmo place face on bed" -msgstr "Gizmo umístit plochu na podložku" - -msgid "Gizmo cut" -msgstr "Gizmo řezat" - -# AI Translated -msgid "Gizmo mesh boolean" -msgstr "Gizmo booleovské operace se sítí" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM malování efektu chlupatého povrchu" - -msgid "Gizmo SLA support points" -msgstr "Gizmo SLA podpůrné body" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM malování švu" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo text vystouplý/gravírovaný" - -msgid "Gizmo measure" -msgstr "Gizmo měření" - -msgid "Gizmo assemble" -msgstr "Gizmo sestavit" - -msgid "Gizmo brim ears" -msgstr "Gizmo ouška lemu" - -msgid "Zoom in" -msgstr "Přiblížit" - -msgid "Zoom out" -msgstr "Oddálit" - -msgid "Toggle printable for object/part" -msgstr "Přepnout tisknutelnost objektu/části" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Přepnout mezi Přípravou/Náhledem" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Mezerník" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Otevřít rychlou nabídku akcí" - -msgid "Plater" -msgstr "Deska" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Pohyb: stiskněte pro posun o 1 mm" @@ -12008,15 +12435,19 @@ msgstr "Podpora/barva malování: nastavení poloměru pera" msgid "Support/Color Painting: adjust section position" msgstr "Podpora/barva malování: nastavení pozice úseku" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Seznam objektů" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Nastavit číslo extruderu pro objekty a části" -msgid "Delete objects, parts, modifiers" -msgstr "Smazat objekty, části, modifikátory" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Mezerník" msgid "Select the object/part and press space to change the name" msgstr "Vyberte objekt/část a stiskněte mezerník pro změnu názvu" @@ -12027,45 +12458,48 @@ msgstr "Kliknutí myší" msgid "Select the object/part and mouse click to change the name" msgstr "Vyberte objekt/část a klikněte myší pro změnu názvu" -msgid "Objects List" -msgstr "Seznam objektů" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Vertikální posuvník – Posuňte aktivní jezdec nahoru" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Vertikální posuvník – posuňte aktivní jezdec dolů" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Vodorovný posuvník – posunout aktivní jezdec vlevo" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Vodorovný posuvník – posunout aktivní jezdec vpravo" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Zapnout/vypnout režim jedné vrstvy na vertikálním posuvníku" - -msgid "On/Off G-code window" -msgstr "Zapnout/vypnout okno G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Posouvejte posuvník 5× rychleji" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Vodorovný posuvník – přesunout na začátek" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Vodorovný posuvník – přesunout na poslední pozici" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Poznámky k vydání" @@ -12269,15 +12703,22 @@ msgstr "Oprava zrušena" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Kopírování souboru %1% do %2% selhalo: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Stahování nových profilů dodavatelů: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Balíček konfigurace: %1% aktualizováno na %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Stažení profilů dodavatelů selhalo: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Nejprve je třeba zkontrolovat neuložené změny před aktualizací konfigurace." -msgid "Configuration package: " -msgstr "Balíček konfigurace: " - -msgid " updated to " -msgstr " aktualizováno na " - msgid "Open G-code file:" msgstr "Otevřít G-code soubor:" @@ -12337,11 +12778,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input Shaping je podporován pouze v Klipperu, RepRapFirmware a Marlinu 2" -msgid "Grouping error: " -msgstr "Chyba seskupení: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Chyba seskupení: %1% nelze umístit do levé trysky" -msgid " can not be placed in the " -msgstr " nelze umístit do " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Chyba seskupení: %1% nelze umístit do pravé trysky" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12456,6 +12901,10 @@ msgstr "%1% je příliš blízko ostatním, může dojít ke kolizím." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% je příliš vysoký, může dojít ke kolizím." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Vzájemná poloha modelu a čistící věže nesplňuje požadavky funkce \"Žádné řídké vrstvy\". Upravte prosím jejich vzájemnou polohu, snižte výšku modelu nebo vypněte možnost \"Žádné řídké vrstvy\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " je příliš blízko oblasti vyloučení, při tisku mohou nastat kolize." @@ -12819,6 +13268,10 @@ msgstr "Použít 3MF místo G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Zapněte, pokud tiskárna přijímá jako tiskovou úlohu soubor 3MF. Je-li zapnuto, odešle Orca Slicer slicovaný soubor jako .gcode.3mf místo prostého souboru .gcode." +# AI Translated +msgid "Printer Agent" +msgstr "Agent tiskárny" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Vyberte implementaci síťového agenta pro komunikaci s tiskárnou." @@ -13882,6 +14335,10 @@ msgstr "Zarovnaná pravoúhlá" msgid "Concentric" msgstr "Koncentrický" +# AI Translated +msgid "Spiral Inset" +msgstr "Spirálový odsaz" + msgid "Hilbert Curve" msgstr "Hilbertova křivka" @@ -13973,13 +14430,13 @@ msgstr "Pořadí vyplňování horního povrchu" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Směr, ve kterém jsou horní povrchy vyplňovány při použití vzoru vycházejícího ze středu (Koncentrický, Archimédovy akordy, Oktagramová spirála).\n" -"Ven začíná ve středu povrchu, takže je přebytečný materiál vytlačen k okraji, kde je nejméně viditelný. Dovnitř začíná u okraje a končí těsnými oblouky ve středu.\n" -"Výchozí používá řazení podle nejkratší dráhy, které může probíhat v obou směrech." +"Směr, ve kterém se vyplňují horní povrchy při použití vzoru vycházejícího ze středu (Koncentrický, Spirálový odsaz, Archimédovy akordy, Oktagramová spirála).\n" +"Ven začíná ve středu povrchu, takže se přebytečný materiál vytlačuje k okraji, kde je nejméně vidět. Dovnitř začíná u okraje a končí těsnými oblouky ve středu.\n" +"Výchozí používá řazení podle nejkratší cesty, které může probíhat v obou směrech." # AI Translated msgid "Bottom surface fill order" @@ -13987,13 +14444,13 @@ msgstr "Pořadí vyplňování spodního povrchu" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Směr, ve kterém jsou spodní povrchy vyplňovány při použití vzoru vycházejícího ze středu (Koncentrický, Archimédovy akordy, Oktagramová spirála).\n" -"Dovnitř začíná každý povrch širšími vnějšími oblouky, což zlepšuje přilnavost první vrstvy na podložkách, kde se těsné oblouky ve středu nemusí přichytit. Ven začíná ve středu a přebytečný materiál vytlačuje k okraji.\n" -"Výchozí používá řazení podle nejkratší dráhy, které může probíhat v obou směrech." +"Směr, ve kterém se vyplňují spodní povrchy při použití vzoru vycházejícího ze středu (Koncentrický, Spirálový odsaz, Archimédovy akordy, Oktagramová spirála).\n" +"Dovnitř začíná každý povrch širšími vnějšími oblouky, což zlepšuje přilnavost počáteční vrstvy na podložkách, kde se těsné oblouky ve středu nemusí uchytit. Ven začíná ve středu a vytlačuje přebytečný materiál k okraji.\n" +"Výchozí používá řazení podle nejkratší cesty, které může probíhat v obou směrech." msgid "Internal solid infill pattern" msgstr "Vzor vnitřní plné výplně" @@ -14096,6 +14553,14 @@ msgstr "Proti směru hodinových ručiček" msgid "Clockwise" msgstr "Po směru hodinových ručiček" +# AI Translated +msgid "Distance to rod" +msgstr "Vzdálenost k tyči" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Vodorovná vzdálenost špičky trysky ke vzdálenější hraně tyče. Používá se pro vyhýbání se kolizím při tisku podle objektu." + msgid "Height to rod" msgstr "Výška k tyči" @@ -16292,6 +16757,20 @@ msgstr "Detekovat převislou stěnu" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Detekuje procento převisu vzhledem k šířce čáry a použije odlišnou rychlost tisku. Pro 100%% převis je použita rychlost mostů." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Tisknout nepodepřené stěny jako poslední" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Smyčky stěn, které leží zcela ve vzduchu, se tisknou až ve chvíli, kdy je má co udržet:\n" +"extrudují se po ostatních stěnách svého ostrůvku, nejprve ta nejvnitřnější, bez ohledu na pořadí stěn.\n" +"Smyčka, kterou dokážou ukotvit pouze můstky této vrstvy, čeká, až budou tyto můstky vytištěny, zatímco smyčka vedoucí podél podepřené stěny si ponechá své místo před výplní, která ji potřebuje jako ukotvení." + # AI Translated msgid "Outer walls" msgstr "Vnější stěny" @@ -16736,6 +17215,39 @@ msgstr "Očištění na okruzích" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Pro minimalizaci viditelnosti stehu v uzavřené smyčce extruze je před opuštěním smyčky tryskou proveden malý pohyb směrem dovnitř." +# AI Translated +msgid "Wipe inward" +msgstr "Očištění dovnitř" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Platí pouze pro vnější stěny včetně obrysů otvorů. Během očištění posouvá horkou trysku směrem k již vytištěným vnitřním stěnám, aby se omezilo opětovné zahřívání čerstvě vytištěného plastu a stopy po švu.\n" +"\n" +"Obzvláště užitečné při výškách vrstvy pod 0,1 mm, kde jsou stopy po očištění výraznější.\n" +"\n" +"Použije běžné očištění, pokud není žádná sousední vnitřní stěna již vytištěná (oblasti s jedinou stěnou nebo pořadí stěn Vnější/Vnitřní) nebo pokud nelze najít podepřenou dráhu dovnitř, například v ostrých rozích nebo v mezerách švu." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Vzdálenost očištění dovnitř" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Vzdálenost, o kterou se dráha očištění posune od vnějšího obvodu, uvedená v milimetrech nebo jako procento skutečné šířky extruze vnější stěny.\n" +"\n" +"Například 50% posune dráhu o polovinu šířky vnější stěny. Účinný posun je omezen jak skutečnou šířkou vnější stěny, tak dostupnou mezerou k sousední stěně, takže hodnoty nad 100% nebo odpovídající absolutní vzdálenost už nemají další účinek. Nastavením na 0 posun vypnete." + msgid "Wipe before external loop" msgstr "Očištění před vnějším okruhem" @@ -16938,8 +17450,8 @@ msgstr "Kroky předehřevu" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Vložte více příkazů pro předehřev (např. M104.1). Pouze pro Prusa XL. U ostatních tiskáren nastavte na 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code zapsaný na úplný začátek výstupního souboru před jakýkoli další obsah. Užitečné pro přidání metadat, která firmware tiskárny čte z prvních řádků souboru (např. odhadovaná doba tisku nebo spotřeba filamentu). Podporuje zástupné proměnné jako {print_time_sec} a {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" # AI Translated msgid "Start G-code" @@ -17003,8 +17515,9 @@ msgstr "Vyzvedne nový nástroj, aniž by čekal na dosažení tiskové teploty, msgid "No sparse layers (beta)" msgstr "Žádné řídké vrstvy (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Je-li povoleno, věž na očištění trysky se nebude tisknout na vrstvách bez změny nástroje. Na vrstvách s výměnou nástroje pojede extruder dolů k tisku věže na očištění trysky. Uživatel je zodpovědný za zajištění, že nedojde ke kolizi s tiskem." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Pokud je povoleno, čistící věž se nebude tisknout na vrstvách bez změny nástroje. Na vrstvách se změnou nástroje extruder sjede dolů, aby čistící věž vytiskl, takže věž skončí pod modelem a tisková hlava k ní musí dosáhnout dolů. Rozvržení, kde by to znamenalo kolizi s již vytištěným objektem, jsou odmítnuta. Nemá vliv při plynulém časosběru ani při detekci nánosů na trysce, které vyžadují věž na každé vrstvě." msgid "Prime all printing extruders" msgstr "Připravit všechny tiskové extrudery" @@ -17030,6 +17543,34 @@ msgstr "" msgid "Cyclic" msgstr "Cyklické" +# AI Translated +msgid "Cyclic order" +msgstr "Cyklické pořadí" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Vlastní posloupnost filamentů použitá cyklickým řazením změn nástroje, jako čísla filamentů oddělená čárkami (např. \"3,2,1,4\").\n" +"Každá vrstva tiskne své filamenty podle této posloupnosti; filamenty, které v ní nejsou uvedeny, se tisknou jako poslední, ve vzestupném pořadí.\n" +"Ponechte prázdné, chcete-li filamenty procházet ve vzestupném pořadí." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Použít cyklické pořadí na počáteční vrstvu" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Použije cyklické pořadí změn nástroje také na počáteční vrstvu.\n" +"Ve výchozím nastavení je vypnuto, protože počáteční vrstva se místo toho řadí pro nejlepší přilnavost k podložce: filamenty, které tisknou malé, křehké prvky počáteční vrstvy, se tisknou jako poslední, takže následné změny nástroje a přejezdy tyto slabě ukotvené části s menší pravděpodobností urazí. Toto pořadí počáteční vrstvy také respektuje vlastní posloupnost filamentů pro počáteční vrstvu, je-li nastavena. Přínos cyklického pořadí (další změny nástroje dávají každé vrstvě více času na vychladnutí) se na počáteční vrstvu nevztahuje, protože se tiskne pomalu a horká kvůli přilnavosti.\n" +"Povolte to pouze tehdy, pokud potřebujete přesně stejnou posloupnost nástrojů na každé vrstvě včetně první, za cenu této optimalizace přilnavosti." + msgid "Slice gap closing radius" msgstr "Poloměr uzavření mezery řezu" @@ -17039,9 +17580,6 @@ msgstr "Trhliny menší než 2x poloměr uzavření mezery jsou při řezání t msgid "Slicing Mode" msgstr "Režim slicingu" -msgid "Other" -msgstr "Ostatní" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Použijte \"Sudý-lichý\" pro modely letadel 3DLabPrint. Použijte \"Zavřít díry\" pro uzavření všech otvorů v modelu." @@ -17967,9 +18505,6 @@ msgstr "příliš velká šířka čáry " msgid " not in range " msgstr " není v rozsahu " -msgid "Export 3MF" -msgstr "Exportovat 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportovat projekt jako 3MF." @@ -17985,9 +18520,6 @@ msgstr "Načíst data řezu" msgid "Load cached slicing data from directory." msgstr "Načíst uložená data řezu z adresáře." -msgid "Export STL" -msgstr "Exportovat STL" - msgid "Export the objects as single STL." msgstr "Exportovat objekty jako jeden STL." @@ -18041,6 +18573,14 @@ msgstr "Bez kontroly" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Nespouštějte žádné kontroly platnosti, například kontrolu konfliktů dráhy G-kódu." +# AI Translated +msgid "Strict mode" +msgstr "Přísný režim" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Skončí s nenulovým návratovým kódem, pokud slicování vyvolá nekritické varování, které by se jinak pouze zapsalo do protokolu, například model vyžadující podpory, zatímco jsou podpory vypnuté. Použijte v CI nebo ve skriptovaných procesech, které nikdy nesmí dodat nenápadně vadný výsledek slicování. Každé takové varování je navíc uvedeno se stabilní třídou v poli `warnings` souboru result.json, který se zapisuje pouze na Linuxu. Nelze kombinovat s --no-check, který přeskakuje kontrolu podpor." + msgid "Normative check" msgstr "Normativní kontrola" @@ -18053,11 +18593,28 @@ msgstr "Informace o výstupním modelu" msgid "This outputs the model’s information." msgstr "Zobrazit informace o modelu." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Prozkoumat síť (JSON na stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Vypíše na stdout souhrn JSON pro každý načtený objekt a poté skončí: jeho ohraničující kvádry a stěny konvexní obálky, na které jej lze položit, včetně jejich normál, obsahů a středů. Právě z těchto stěn vybírají volby --ground-*. Strojově čitelná alternativa k --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Prozkoumat malování (JSON na stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Vypíše strukturovaný souhrn JSON každé malované vrstvy (podpory, šev, barva MMU, fuzzy skin) již uložené v načteném modelu — počet facet, plochu povrchu a ohraničující kvádr v souřadnicích sítě pro každý stav — a poté skončí. Strojově čitelná alternativa k otevření malovacích nástrojů v rozhraní." + msgid "Export Settings" msgstr "Exportovat nastavení" -msgid "This exports settings to a file." -msgstr "Exportovat nastavení do souboru." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Toto exportuje nastavení do souboru. Použijte - pro zápis na stdout." msgid "Send progress to pipe" msgstr "Odesílat průběh do pipe" @@ -18113,6 +18670,30 @@ msgstr "Otočit kolem osy Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Úhel rotace kolem osy Y ve stupních." +# AI Translated +msgid "Ground largest face" +msgstr "Položit na největší stěnu" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Položí každý objekt na největší stěnu jeho konvexní obálky a spustí jej na podložku. Ze stejně velkých stěn se zachová ta, která již směřuje dolů. Objekty bez stěny dostatečně velké na to, aby na ní mohly spočívat, zůstanou beze změny. Transformace se provádějí v pořadí zadání na příkazové řádce, takže rotace uvedené před touto volbou jsou respektovány. --orient 1 se spouští po všech transformacích a nahrazuje orientaci." + +# AI Translated +msgid "Ground face by normal" +msgstr "Položit na stěnu podle normály" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Položí každý objekt na tu stěnu konvexní obálky, jejíž vnější normála je nejblíže směru NX,NY,NZ, a spustí jej na podložku. Směr je v souřadnicích objektu, které zahrnují rotace uvedené před touto volbou a odpovídají osám podložky, pokud vstupní soubor objekt neotáčí. Například 1,0,0 postaví objekt na jeho stranu +X. --orient 1 se spouští po všech transformacích a nahrazuje orientaci." + +# AI Translated +msgid "Ground face at point" +msgstr "Položit na stěnu v bodě" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Položí každý objekt na tu stěnu konvexní obálky, která obsahuje bod X,Y,Z, a spustí jej na podložku. Bod je v souřadnicích objektu, které zahrnují rotace uvedené před touto volbou; --inspect-mesh uvádí středy stěn v těchto souřadnicích. Objekty bez takové stěny zůstanou beze změny a běh selže, pokud ji nemá žádný objekt. --orient 1 se spouští po všech transformacích a nahrazuje orientaci." + msgid "Scale the model by a float factor." msgstr "Změnit měřítko modelu podle desetinného faktoru." @@ -18412,12 +18993,36 @@ msgstr "Použitý filament" msgid "Total length of filament used in the print." msgstr "Celková délka filamentu použitého při tisku." -msgid "Print time (seconds)" -msgstr "Doba tisku (sekundy)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Celková odhadovaná doba tisku v sekundách. Během následného zpracování bude nahrazena skutečnou hodnotou." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Délka filamentu (metry)" @@ -18648,9 +19253,6 @@ msgstr "Soubor obsahuje neplatný index vrcholu." msgid "This OBJ file couldn't be read because it's empty." msgstr "Tento soubor OBJ nelze načíst, protože je prázdný." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibrace maximální objemové rychlosti" - msgid "Manage Result" msgstr "Správa výsledku" @@ -19497,9 +20099,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "POZNÁMKA: Vysoké hodnoty mohou způsobit posun vrstev (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Kalibrace průtokového poměru" - msgid "Calibration Test Type" msgstr "Typ kalibračního testu" @@ -20293,6 +20892,9 @@ msgstr "Nebyla zjištěna platná relace. Pokračovat přihlášením do 3DPrint msgid "Success!" msgstr "Úspěch!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Opravdu se chcete odhlásit?" @@ -21331,6 +21933,18 @@ msgstr "Tuto akci nelze vrátit zpět. Pokračovat?" msgid "Skipping objects." msgstr "Přeskakování objektů." +# AI Translated +msgid "Material Ratio" +msgstr "Poměr materiálu" + +# AI Translated +msgid "Model Height" +msgstr "Výška modelu" + +# AI Translated +msgid "Ratio" +msgstr "Poměr" + # AI Translated msgid "Select Filament" msgstr "Vybrat filament" @@ -21372,14 +21986,6 @@ msgstr "Síťový plug-in Bambu je nutný pro cloudové funkce, vyhledávání t msgid "Error: %s" msgstr "Chyba: %s" -# AI Translated -msgid "Show details" -msgstr "Zobrazit podrobnosti" - -# AI Translated -msgid "Hide details" -msgstr "Skrýt podrobnosti" - # AI Translated msgid "Version to install:" msgstr "Verze k instalaci:" @@ -21645,12 +22251,14 @@ msgid "Drying-Dehumidifying" msgstr "Sušení – odvlhčování" # AI Translated -msgid " maximum drying temperature is " -msgstr " maximální teplota sušení je " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Maximální teplota sušení pro %s je %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " minimální teplota sušení je " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Minimální teplota sušení pro %s je %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21800,6 +22408,2495 @@ msgstr "Filament nemusí být kompatibilní s aktuálním nastavením stroje. Po msgid "The filament model is unknown. A random filament preset will be used." msgstr "Model filamentu je neznámý. Použije se náhodná předvolba filamentu." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Konec" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dole" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Šipka vlevo" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Šipka vpravo" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Šipka nahoru" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Šipka dolů" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importovat geometrická data ze souborů STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Vybrat všechny objekty" + +msgid "Paste from clipboard" +msgstr "Vložit ze schránky" + +msgid "Toggle printable for object/part" +msgstr "Přepnout tisknutelnost objektu/části" + +msgid "Move selection 10mm in negative X direction" +msgstr "Přesuňte výběr o 10 mm v záporném směru osy X" + +msgid "Move selection 10mm in positive X direction" +msgstr "Přesuňte výběr o 10 mm v kladném směru osy X" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Přesuňte výběr o 10 mm v kladném směru osy Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Přesuňte výběr o 10 mm v záporném směru osy Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo posouvat" + +msgid "Gizmo rotate" +msgstr "Gizmo otočit" + +msgid "Gizmo scale" +msgstr "Gizmo změnit měřítko" + +msgid "Gizmo place face on bed" +msgstr "Gizmo umístit plochu na podložku" + +msgid "Gizmo cut" +msgstr "Gizmo řezat" + +# AI Translated +msgid "Gizmo mesh boolean" +msgstr "Gizmo booleovské operace se sítí" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM malování švu" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM malování efektu chlupatého povrchu" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo text vystouplý/gravírovaný" + +msgid "Gizmo measure" +msgstr "Gizmo měření" + +msgid "Gizmo assemble" +msgstr "Gizmo sestavit" + +msgid "Gizmo brim ears" +msgstr "Gizmo ouška lemu" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Vertikální posuvník – Posuňte aktivní jezdec nahoru" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Vertikální posuvník – posuňte aktivní jezdec dolů" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Vodorovný posuvník – posunout aktivní jezdec vlevo" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Vodorovný posuvník – posunout aktivní jezdec vpravo" + +msgid "Horizontal slider - Move to start position" +msgstr "Vodorovný posuvník – přesunout na začátek" + +msgid "Horizontal slider - Move to last position" +msgstr "Vodorovný posuvník – přesunout na poslední pozici" + +msgid "Camera view - Default" +msgstr "Pohled kamery – výchozí" + +msgid "Camera view - Top" +msgstr "Pohled kamery – shora" + +msgid "Camera view - Bottom" +msgstr "Pohled kamery – zespodu" + +msgid "Camera view - Front" +msgstr "Pohled kamery – zepředu" + +msgid "Camera view - Behind" +msgstr "Pohled kamery – zezadu" + +msgid "Camera Angle - Left side" +msgstr "Úhel kamery – levá strana" + +msgid "Camera Angle - Right side" +msgstr "Úhel kamery – pravá strana" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Přiblížit" + +msgid "Zoom out" +msgstr "Oddálit" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Zobrazit/Skrýt dialog nastavení zařízení 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Zapnout/vypnout okno G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Zapnout/vypnout režim jedné vrstvy na vertikálním posuvníku" + +msgid "Switch between Prepare/Preview" +msgstr "Přepnout mezi Přípravou/Náhledem" + +msgid "Collapse/Expand the sidebar" +msgstr "Sbalit/rozbalit postranní panel" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Zobrazit seznam klávesových zkratek" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22102,6 +25199,158 @@ msgstr "" "Zamezte kroucení\n" "Víte, že při tisku materiálů náchylných ke kroucení, jako je ABS, může vhodné zvýšení teploty vyhřívané desky snížit pravděpodobnost kroucení?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Zobrazuje aktuální FPS zobrazení v pravém horním rohu." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki k publikování 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Videonávod k publikování 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Panel nástrojů" + +#~ msgid "Switch table page" +#~ msgstr "Přepnout stránku tabulky" + +#~ msgid "Global shortcuts" +#~ msgstr "Globální klávesové zkratky" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Prostřední tlačítko myši" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Automaticky orientuje vybrané nebo všechny objekty. Pokud jsou vybrané objekty, orientuje pouze tyto. Jinak orientuje všechny objekty v aktuálním projektu." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Automaticky orientuje všechny objekty na aktivní desce." + +#~ msgid "Any arrow" +#~ msgstr "Libovolná šipka" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo SLA podpůrné body" + +#~ msgid "Plater" +#~ msgstr "Deska" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Smazat objekty, části, modifikátory" + +#~ msgid "Objects List" +#~ msgstr "Seznam objektů" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code zapsaný na úplný začátek výstupního souboru před jakýkoli další obsah. Užitečné pro přidání metadat, která firmware tiskárny čte z prvních řádků souboru (např. odhadovaná doba tisku nebo spotřeba filamentu). Podporuje zástupné proměnné jako {print_time_sec} a {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Doba tisku (sekundy)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Otevřít rychlou nabídku akcí" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Levý: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Pravý: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Maximální teplota nesmí překročit " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Minimální teplota nesmí být nižší než " + +#~ msgid "up to" +#~ msgstr "až do" + +#~ msgid "above" +#~ msgstr "nad" + +#~ msgid "from" +#~ msgstr "Od" + +#~ msgid "Configuration package: " +#~ msgstr "Balíček konfigurace: " + +#~ msgid " updated to " +#~ msgstr " aktualizováno na " + +#~ msgid "Grouping error: " +#~ msgstr "Chyba seskupení: " + +#~ msgid " can not be placed in the " +#~ msgstr " nelze umístit do " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " maximální teplota sušení je " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " minimální teplota sušení je " + +# AI Translated +#~ msgid "needs" +#~ msgstr "vyžaduje" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "není povoleno" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materiál není publikován" + +#~ msgid "Select the language" +#~ msgstr "Zvolte jazyk" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Vybrat plugin" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Směr, ve kterém jsou horní povrchy vyplňovány při použití vzoru vycházejícího ze středu (Koncentrický, Archimédovy akordy, Oktagramová spirála).\n" +#~ "Ven začíná ve středu povrchu, takže je přebytečný materiál vytlačen k okraji, kde je nejméně viditelný. Dovnitř začíná u okraje a končí těsnými oblouky ve středu.\n" +#~ "Výchozí používá řazení podle nejkratší dráhy, které může probíhat v obou směrech." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Směr, ve kterém jsou spodní povrchy vyplňovány při použití vzoru vycházejícího ze středu (Koncentrický, Archimédovy akordy, Oktagramová spirála).\n" +#~ "Dovnitř začíná každý povrch širšími vnějšími oblouky, což zlepšuje přilnavost první vrstvy na podložkách, kde se těsné oblouky ve středu nemusí přichytit. Ven začíná ve středu a přebytečný materiál vytlačuje k okraji.\n" +#~ "Výchozí používá řazení podle nejkratší dráhy, které může probíhat v obou směrech." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Je-li povoleno, věž na očištění trysky se nebude tisknout na vrstvách bez změny nástroje. Na vrstvách s výměnou nástroje pojede extruder dolů k tisku věže na očištění trysky. Uživatel je zodpovědný za zajištění, že nedojde ke kolizi s tiskem." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exportovat nastavení do souboru." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Nativní živý náhled ve Waylandu vyžaduje video sink GStreamer GTK. Nainstalujte prosím plugin gtksink pro GStreamer a poté restartujte OrcaSlicer." @@ -22161,9 +25410,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Pořadí tisku v rámci jedné vrstvy." -#~ msgid "Bottom" -#~ msgstr "Dole" - #~ msgid "Front" #~ msgstr "Předek" @@ -22182,9 +25428,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Šipka vpravo" -#~ msgid "End" -#~ msgstr "Konec" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 4ff61fb6ea..62fa086efa 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -2430,15 +2430,6 @@ msgstr "Es ist ein Update verfügbar. Öffnen Sie den Profilbündel-Dialog, um e msgid "%s has been removed." msgstr "%s wurde entfernt." -msgid "Switching application language" -msgstr "Wechsel der Sprache" - -msgid "Select the language" -msgstr "Sprache wählen" - -msgid "Language" -msgstr "Sprache" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2476,6 +2467,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Öffnen des Plugins-Dialogs fehlgeschlagen (unbekannter Fehler)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Plugin-Terminal" @@ -3680,11 +3684,15 @@ msgstr "Aktuelles Filament am Filament Track Switch zurückziehen" msgid "Switch track at Filament Track Switch" msgstr "Spur am Filament Track Switch wechseln" -msgid "The maximum temperature cannot exceed " -msgstr "Die maximale Temperatur darf nicht überschritten werden " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Die maximale Temperatur darf %d nicht überschreiten" -msgid "The minmum temperature should not be less than " -msgstr "Die minimale Temperatur sollte nicht weniger als " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Die minimale Temperatur darf %d nicht unterschreiten" msgid "Type to filter..." msgstr "Tippen zum Filtern..." @@ -4117,6 +4125,21 @@ msgstr "OrcaSlicer begann in diesem gleichen Geist, indem es von PrusaSlicer, Ba msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Heute ist OrcaSlicer der am weitesten verbreitete und aktiv entwickelte Open-Source-Slicer in der 3D-Druck-Community. Viele seiner Innovationen wurden von anderen Slicern übernommen und treiben die gesamte Industrie voran." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Drucker" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Material Einstellung" @@ -4556,6 +4579,15 @@ msgstr "" "Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist fehlgeschlagen. Ist die SD-Karte schreibgeschützt?\n" "Fehlermeldung: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist fehlgeschlagen.\n" +"Fehlermeldung: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist fehlgeschlagen. Es könnte ein Problem mit dem Zielgerät geben. Versuchen Sie es erneut oder verwenden Sie ein anderes Gerät. Der beschädigte Ausgabe-G-Code befindet sich in %1%.tmp." @@ -4859,6 +4891,9 @@ msgstr "" "Ja - Diese Einstellungen ändern und den Spiralmodus automatisch aktivieren\n" "Nein - Spiralmodus nicht aktivieren" +msgid "N/A" +msgstr "Nicht verfügbar" + msgid "Printing" msgstr "Drucken" @@ -5289,14 +5324,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Wert %s ist außerhalb des Bereichs. Der gültige Bereich liegt zwischen %d und %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Heißt es %s%% oder %s %s?\n" -"Ja für %s%%, \n" -"Nein für %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Heißt es %s%% oder %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5318,29 +5350,22 @@ msgstr "Ungültiges Muster. Verwenden Sie N, N#K oder eine durch Kommas getrennt msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Ungültiges Format. Erwartetes Vektorformat: \"%1%\"" -msgid "N/A" -msgstr "Nicht verfügbar" - # AI Translated msgid "System agents" msgstr "Systemagenten" -# AI Translated -msgid "No plugin selected" -msgstr "Kein Plugin ausgewählt" - # AI Translated msgid "Add plugin" msgstr "Plugin hinzufügen" -# AI Translated -msgid "Select plugin" -msgstr "Plugin auswählen" - # AI Translated msgid "Remove plugin" msgstr "Plugin entfernen" +# AI Translated +msgid "No plugin selected" +msgstr "Kein Plugin ausgewählt" + # AI Translated msgid "Configure" msgstr "Konfigurieren" @@ -5596,14 +5621,20 @@ msgstr "Auf optimal setzen" msgid "Regroup filament" msgstr "Filament neu gruppieren" -msgid "up to" -msgstr "bis zu" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "bis zu %1% mm" -msgid "above" -msgstr "über" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "über %1% mm" -msgid "from" -msgstr "von" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "von %1% bis %2% mm" msgid "Usage" msgstr "Nutzung" @@ -5663,9 +5694,6 @@ msgctxt "Noun" msgid "Print" msgstr "aktuelle Platte drucken" -msgid "Printer" -msgstr "Drucker" - msgid "Time Estimation" msgstr "Geschätzte Zeit" @@ -5845,12 +5873,15 @@ msgctxt "Camera View" msgid "Right" msgstr "rechts" -msgid "Add" -msgstr "Hinzufügen" - msgid "Add plate" msgstr "Druckplatte hinzufügen" +msgid "Split to objects" +msgstr "In Objekte trennen" + +msgid "Add" +msgstr "Hinzufügen" + msgid "Auto orient all/selected objects" msgstr "Alle/ausgewählte Objekte automatische Ausrichtung" @@ -5863,9 +5894,6 @@ msgstr "Alle Objekte anordnen" msgid "Arrange objects on selected plates" msgstr "Objekte auf ausgewählten Druckplatten anordnen" -msgid "Split to objects" -msgstr "In Objekte trennen" - msgid "Assembly View" msgstr "Montageansicht" @@ -5921,6 +5949,9 @@ msgstr "Umriss" msgid "Wireframe" msgstr "Gittermodell" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Realistische Ansicht" @@ -6128,6 +6159,9 @@ msgstr "Schließen der Anwendung, während einige Profileinstellungen geändert msgid "Logging" msgstr "Protokollierung" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Vorbereiten" @@ -6274,6 +6308,14 @@ msgstr "Projekt speichern als" msgid "Save current project as" msgstr "Aktuelles Projekt speichern als" +# AI Translated +msgid "Publish 3MF" +msgstr "3MF veröffentlichen" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Eine 3MF-Datei mit den ausgewählten eingebetteten Einstellungen exportieren" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importiere 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6456,6 +6498,9 @@ msgstr "Bearbeiten" msgid "View" msgstr "Ansicht" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Vorlagen-Bundle" @@ -7384,6 +7429,233 @@ msgstr "Diesen Dialog nicht erneut anzeigen" msgid "Please refer to Wiki before use->" msgstr "Bitte lesen Sie vor der Verwendung das Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportiere STL" + +msgid "Export 3MF" +msgstr "3mf exportieren" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Maximale volumetrische Geschwindigkeitskalibrierung" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Flussratenkalibrierung" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Alle Objekte löschen" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "In Objekte aufteilen" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-Maus nicht angeschlossen." @@ -7541,6 +7813,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Untere" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Diese Einstellung gibt keinen Plugin-Fähigkeitstyp an." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Diese Einstellung gibt einen unbekannten Plugin-Fähigkeitstyp an: " + # AI Translated msgid "Plugin Selection" msgstr "Plugin-Auswahl" @@ -8027,10 +8307,6 @@ msgstr "Seitenleiste erweitern" msgid "Collapse sidebar" msgstr "Seitenleiste reduzieren" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Datei wird geladen: %s" @@ -8107,6 +8383,14 @@ msgstr "Bitte bestätigen Sie, dass die G-Codes innerhalb dieser Profile sicher msgid "Customized Preset" msgstr "Benutzerdefinierte Profile" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Einige veröffentlichte Einstellungen konnten nicht angewendet werden:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Einige Filament-Steckplätze wurden geändert:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Der Name der Komponenten in der Step-Datei ist nicht im UTF-8-Format!" @@ -8226,10 +8510,6 @@ msgstr "" msgid "Delete Object" msgstr "Objekt löschen" -# AI Translated -msgid "Delete All Objects" -msgstr "Alle Objekte löschen" - # AI Translated msgid "Reset Project" msgstr "Projekt zurücksetzen" @@ -8237,10 +8517,6 @@ msgstr "Projekt zurücksetzen" msgid "The selected object couldn't be split." msgstr "Das ausgewählte Objekt konnte nicht geteilt werden." -# AI Translated -msgid "Split to Objects" -msgstr "In Objekte aufteilen" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Auto-Drop deaktivieren, um die Z-Positionierung beizubehalten?\n" @@ -8519,6 +8795,21 @@ msgstr "Geslicte Datei speichern unter:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Die Datei %s wurde an den Speicher des Druckers gesendet und kann auf dem Drucker angezeigt werden." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MF-Datei veröffentlichen als:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Die veröffentlichte 3MF-Datei konnte nicht exportiert werden.\n" +"Bitte prüfen Sie, ob der Ordner online liegt oder ob andere Programme die Datei geöffnet haben." + +msgid "Publish" +msgstr "Veröffentlichen" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Die Düsenart ist nicht eingestellt. Bitte stellen Sie die Düse ein und versuchen Sie es erneut." @@ -8731,9 +9022,6 @@ msgstr "Möchten Sie fortfahren?" msgid "Language selection" msgstr "Sprachauswahl" -msgid "Switching application language while some presets are modified." -msgstr "Umschalten der Anwendungssprache, während einige Profile geändert werden." - msgid "Asia-Pacific" msgstr "Asien-Pazifik" @@ -8838,6 +9126,9 @@ msgstr "Aktueller Instanzpfad: " msgid "General" msgstr "Allgemein" +msgid "Language" +msgstr "Sprache" + msgid "Metric" msgstr "Metrisch" @@ -9042,6 +9333,33 @@ msgstr "Multi-Geräte-Verwaltung" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Wenn diese Option aktiviert ist, können Sie eine Aufgabe gleichzeitig an mehrere Geräte senden und mehrere Geräte verwalten." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Popup zum Auswählen des Filament-Gruppierungsmodus" @@ -9123,6 +9441,12 @@ msgstr "Maus-Zoom umkehren" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Wenn aktiviert, wird die Richtung des Zooms mit dem Mausrad umgekehrt." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Schwenken" @@ -9144,6 +9468,15 @@ msgstr "Rechte Maustaste drücken" msgid "Set the action that dragging the right mouse button should perform." msgstr "Legen Sie die Aktion fest, die das Ziehen der rechten Maustaste ausführen soll." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Meine Auswahl löschen bei ..." @@ -9254,11 +9587,39 @@ msgstr "" "Begrenzt die Bildrate des Viewports, um die GPU-Auslastung und den Energieverbrauch zu reduzieren.\n" "Auf 0 setzen für unbegrenzte Bildrate." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "FPS-Overlay anzeigen" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Zeigt die aktuelle FPS des Viewports in der oberen rechten Ecke an." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9276,9 +9637,6 @@ msgstr "Beim Bewegen des Schichtreglers in der geslicten Vorschau werden die Sch msgid "Dimmed layer brightness" msgstr "Helligkeit abgedunkelter Schichten" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9662,9 +10020,6 @@ msgstr "Zur Modellveröffentlichungs-Webseite springen" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Hinweis: Die Vorbereitung kann einige Minuten dauern. Bitte haben Sie Geduld." -msgid "Publish" -msgstr "Veröffentlichen" - msgid "Publish was canceled" msgstr "Veröffentlichung wurde abgebrochen" @@ -9680,6 +10035,76 @@ msgstr "Daten werden hochgeladen" msgid "Jump to webpage" msgstr "Zu einer Website springen" +# AI Translated +msgid "Material" +msgstr "Material" + +# AI Translated +msgid "Mixed filament" +msgstr "Mischfilament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Einige Mischfilamente benötigen Filamente, die nicht veröffentlicht werden:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (gemischt)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% benötigt %2%, das nicht aktiviert ist." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% benötigt %2%, dessen Material nicht veröffentlicht wird." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Um ein Mischfilament zu veröffentlichen, aktivieren Sie jedes von ihm verwendete Filament und wählen Sie Vollständig veröffentlichen oder erfüllen Sie dessen Typ-Anforderung." + +# AI Translated +msgid "Publish anyway" +msgstr "Trotzdem veröffentlichen" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MF veröffentlichen..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Wählen Sie aus, welche Einstellungen in der 3MF-Datei veröffentlicht werden" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Mischfilament - wird als Ganzes veröffentlicht, wenn oben \"Aktivieren\" ausgewählt ist" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Dieses Mischfilament veröffentlichen und seine Komponentenfilamente aktivieren + vollständig veröffentlichen" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Diesen Filament-Steckplatz in der 3MF-Datei veröffentlichen" + +# AI Translated +msgid "Full Publish" +msgstr "Vollständig veröffentlichen" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Das gesamte Filament dieses Steckplatzes in die 3MF-Datei einbetten" + +# AI Translated +msgid "Filter non-selected" +msgstr "Nicht ausgewählte filtern" + #, c-format, boost-format msgid "Save %s as" msgstr "%s speichern als" @@ -9697,6 +10122,10 @@ msgstr "Kopiert alle vom übergeordneten Profil geerbten Werte in dieses Profil msgid "Detach from parent" msgstr "Vom übergeordneten Element trennen" +# AI Translated +msgid "Save without parent" +msgstr "Ohne übergeordnetes Element speichern" + # AI Translated msgid "Unique preset" msgstr "Eigenständiges Profil" @@ -9756,6 +10185,133 @@ msgstr "Für \"%1%\", fügen Sie \"%2%\" als neues Profil hinzu" msgid "Simply switch to \"%1%\"" msgstr "Wechseln Sie einfach zu \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Sonstiges" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Zeige Details" + +# AI Translated +msgid "Hide details" +msgstr "Details ausblenden" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Auftrag abgebrochen" @@ -10397,9 +10953,17 @@ msgstr "Reinigungsturm ist für die Erkennung von Klumpen erforderlich. Ohne Rei msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Das Aktivieren von sowohl präziser Z-Höhe als auch Reinigungsturm kann zu Slicing-Fehlern führen. Möchten Sie trotzdem die präzise Z-Höhe aktivieren?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Der Smooth-Zeitraffer benötigt auf jeder Schicht einen Reinigungsturm und ist daher nicht mit \"Keine dünnen Schichten\" kompatibel. \"Keine dünnen Schichten\" wurde deaktiviert." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Für den gewählten Zeitraffermodus ist ein Reinigungsturm erforderlich. Ohne Reinigungsturm kann es zu Fehlern am Modell kommen. Möchten Sie den Reinigungsturm aktivieren?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Keine dünnen Schichten\" ist nicht mit dem Smooth-Zeitraffer kompatibel, der auf jeder Schicht einen Reinigungsturm benötigt. Der Zeitraffer wurde auf den traditionellen Modus umgestellt." + msgid "Still print by object?" msgstr "Trotzdem nach Objekt drucken?" @@ -10769,9 +11333,6 @@ msgstr "Kompatible Prozessprofile" msgid "Printable space" msgstr "Druckbarer Raum" -msgid "Printer Agent" -msgstr "Drucker-Agent" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Wählen Sie die Implementierung des Netzwerkagenten für die Druckerkommunikation. Verfügbare Agenten werden beim Start registriert." @@ -11173,12 +11734,6 @@ msgstr "Anzahl der Extruder" msgid "Capabilities" msgstr "Fähigkeiten" -msgid "Left: " -msgstr "Links: " - -msgid "Right: " -msgstr "Rechts: " - msgid "Show all presets (including incompatible)" msgstr "Alle Profile anzeigen (auch inkompatible)" @@ -11563,56 +12118,39 @@ msgstr "Das Konfigurationspaket wurde im vorherigen Konfigurationsleitfaden geä msgid "Configuration package changed" msgstr "Konfigurationspaket geändert" -msgid "Toolbar" -msgstr "Werkzeugleiste" - -msgid "Objects list" -msgstr "Liste der Objekte" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importiere Geometriedaten aus STL/STEP/3MF/OBJ/AMF-Dateien" - -msgid "Paste from clipboard" -msgstr "Aus Zwischenablage einfügen" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Dialogfeld für 3Dconnexion Geräteeinstellungen anzeigen/ausblenden" - -msgid "Switch table page" -msgstr "Seitenwechsel" - -msgid "Show keyboard shortcuts list" -msgstr "Liste der Tastaturkürzel anzeigen" - -msgid "Global shortcuts" -msgstr "Globale Tastaturkürzel" - msgid "Pan View" msgstr "Ansicht verschieben" msgid "Rotate View" msgstr "Ansicht drehen" -msgid "Middle mouse button" -msgstr "Mittlere Maustaste" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Ansicht zoomen" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Diese Funktion richtet ausgewählte Objekte oder alle Objekte automatisch aus. Wenn es ausgewählte Objekte gibt, werden nur die ausgewählten Objekte ausgerichtet. Andernfalls werden alle Objekte auf das aktuelle Projekt ausgerichtet." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Diese Funktion richtet alle Objekte auf der aktuellen Druckplatte ausgerichtet." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Seitenleiste zu-/aufklappen" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Beliebiger Pfeil" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Bewegung im Kameraraum" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Teil auswählen" @@ -11623,135 +12161,29 @@ msgstr "Mehrere Objekte auswählen" msgid "Select objects by rectangle" msgstr "Objekte per Rechteck auswählen" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Pfeil nach oben" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Auswahl 10 mm in positiver Y-Richtung verschieben" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Pfeil nach unten" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Auswahl 10 mm in negativer Y-Richtung verschieben" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Pfeil nach links" - -msgid "Move selection 10mm in negative X direction" -msgstr "Auswahl 10 mm in negativer X-Richtung verschieben" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Pfeil nach rechts" - -msgid "Move selection 10mm in positive X direction" -msgstr "Auswahl 10 mm in positiver X-Richtung verschieben" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Tastatur 1-9: Filament für Objekt/Teil einstellen" msgid "Movement step set to 1mm" msgstr "Bewegungsschritt auf 1 mm eingestellt" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Tastatur 1-9: Filament für Objekt/Teil einstellen" +msgid "Movement in camera space" +msgstr "Bewegung im Kameraraum" -msgid "Camera view - Default" -msgstr "Kameraperspektive - Standard" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kameraperspektive - Oben" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kameraperspektive - Unten" +msgid "Zoom View" +msgstr "Ansicht zoomen" -msgid "Camera view - Front" -msgstr "Kameraperspektive - Vorderseite" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kameraperspektive - Hinten" - -msgid "Camera Angle - Left side" -msgstr "Kameraperspektive - Links" - -msgid "Camera Angle - Right side" -msgstr "Kameraperspektive - Rechts" - -msgid "Select all objects" -msgstr "Alle Objekte auswählen" - -msgid "Gizmo move" -msgstr "Bewegen" - -msgid "Gizmo rotate" -msgstr "Rotieren" - -msgid "Gizmo scale" -msgstr "Skalieren" - -msgid "Gizmo place face on bed" -msgstr "Fläche auf druckbett platzieren" - -msgid "Gizmo cut" -msgstr "Trennen" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo mesh-boolesche" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "FDM Pinsel auf Fuzzy Oberfläche" - -msgid "Gizmo SLA support points" -msgstr "SLA Stützpunkte" - -msgid "Gizmo FDM paint-on seam" -msgstr "FDM Naht aufmalen" - -msgid "Gizmo text emboss/engrave" -msgstr "Text prägen/gravieren" - -msgid "Gizmo measure" -msgstr "Gizmo messen" - -msgid "Gizmo assemble" -msgstr "Gizmo Zusammenbauen" - -msgid "Gizmo brim ears" -msgstr "Gizmo mausohren" - -msgid "Zoom in" -msgstr "Vergrößern" - -msgid "Zoom out" -msgstr "Verkleinern" - -msgid "Toggle printable for object/part" -msgstr "Druckbar für Objekt/Teil umschalten" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Zwischen Vorbereiten/ Vorschau wechseln" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Leertaste" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Aktions-Schnellwahl öffnen" - -msgid "Plater" -msgstr "Druckplatte" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Verschieben: Drücken, um in 1 mm einzurasten" @@ -11762,14 +12194,19 @@ msgstr "Stützen/Farbmalen: Stiftradius einstellen" msgid "Support/Color Painting: adjust section position" msgstr "Stützen/Farbmalen: Position des Abschnitts anpassen" -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Liste der Objekte" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Extrudernummer für die Objekte und Teile einstellen" -msgid "Delete objects, parts, modifiers" -msgstr "Objekte, Teile, Modifikatoren löschen" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Leertaste" msgid "Select the object/part and press space to change the name" msgstr "Wähle das Objekt/Teil aus und drücke die Leertaste, um den Namen zu ändern" @@ -11780,45 +12217,48 @@ msgstr "Mausklick" msgid "Select the object/part and mouse click to change the name" msgstr "Wähle das Objekt/Teil aus und klicke mit der Maus, um den Namen zu ändern" -msgid "Objects List" -msgstr "Objektliste" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Vertikaler Schieberegler - Aktiven Schieber nach oben bewegen" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Vertikaler Schieberegler - Aktiven Schieber nach unten bewegen" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Horizontaler Schieberegler - Aktiven Schieber nach links bewegen" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Horizontaler Schieberegler - Aktiven Schieber nach rechts bewegen" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Ein/Aus Einschichtmodus des vertikalen Schiebereglers" - -msgid "On/Off G-code window" -msgstr "Ein-/Ausblenden des G-Code-Fensters" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Schieberegler 5x schneller bewegen" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Pos1" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Horizontaler Schieberegler - Zur Startposition bewegen" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Ende" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Horizontaler Schieberegler - Zur letzten Position bewegen" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Hinweis zur Veröffentlichung" @@ -12016,15 +12456,22 @@ msgstr "Reparatur abgebrochen" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Kopieren der Datei %1% nach %2% fehlgeschlagen: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Neue Herstellerprofile werden heruntergeladen: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Konfigurationspaket: %1% aktualisiert auf %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Herstellerprofile konnten nicht heruntergeladen werden: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Vor der Aktualisierung der Konfiguration müssen die nicht gespeicherten Änderungen überprüft werden." -msgid "Configuration package: " -msgstr "Konfigurationspaket:" - -msgid " updated to " -msgstr " aktualisiert auf " - msgid "Open G-code file:" msgstr "Öffne G-Code-Datei:" @@ -12084,11 +12531,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input Shaping wird nur von Klipper, RepRapFirmware und Marlin 2 unterstützt" -msgid "Grouping error: " -msgstr "Gruppierungsfehler: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Gruppierungsfehler: %1% kann nicht in der linken Düse platziert werden" -msgid " can not be placed in the " -msgstr " kann nicht platziert werden in der " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Gruppierungsfehler: %1% kann nicht in der rechten Düse platziert werden" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12202,6 +12653,10 @@ msgstr "%1% ist zu nah an anderen, was Kollisionen verursachen kann." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% ist zu hoch und es kommt zu Kollisionen." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Die relative Position von Modell und Reinigungsturm erfüllt nicht die Anforderungen der Funktion \"Keine dünnen Schichten\". Bitte passen Sie ihre relative Position an, verringern Sie die Modellhöhe oder deaktivieren Sie \"Keine dünnen Schichten\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " befindet sich zu nahe an einem Sperrbereich. Beim Drucken kann es zu Kollisionen kommen." @@ -12547,6 +13002,9 @@ msgstr "Benutze 3MF statt G-Code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Aktivieren Sie diese Option, wenn der Drucker eine 3MF-Datei als Druckauftrag akzeptiert. Wenn aktiviert, sendet Orca Slicer die geslicete Datei als .gcode.3mf, anstatt als einfache .gcode-Datei." +msgid "Printer Agent" +msgstr "Drucker-Agent" + msgid "Select the network agent implementation for printer communication." msgstr "Wählen Sie die Netzwerk-Agent-Implementierung für die Druckerkommunikation aus." @@ -13591,6 +14049,10 @@ msgstr "Geradlinig ausgerichtet" msgid "Concentric" msgstr "Konzentrisch" +# AI Translated +msgid "Spiral Inset" +msgstr "Spiralversatz" + msgid "Hilbert Curve" msgstr "Hilbert-Kurve" @@ -13682,13 +14144,13 @@ msgstr "Füllreihenfolge der oberen Oberfläche" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Richtung, in der obere Oberflächen gefüllt werden, wenn ein mittenbasiertes Muster (Konzentrisch, Archimedische Akkorde, Oktagramm Spirale) verwendet wird.\n" -"Nach außen beginnt in der Mitte der Oberfläche, sodass überschüssiges Material zum Rand geschoben wird, wo es am wenigsten sichtbar ist. Nach innen beginnt am Rand und endet mit den engen Kurven in der Mitte.\n" -"Standard verwendet die Sortierung nach kürzestem Pfad, die in beide Richtungen verlaufen kann." +"Richtung, in der obere Flächen gefüllt werden, wenn ein zentrumsbasiertes Muster verwendet wird (Konzentrisch, Spiralversatz, Archimedische Akkorde, Oktagramm Spirale).\n" +"Nach außen beginnt in der Mitte der Fläche, sodass überschüssiges Material zum Rand gedrückt wird, wo es am wenigsten sichtbar ist. Nach innen beginnt am Rand und endet mit den engen Kurven in der Mitte.\n" +"Standard verwendet die Reihenfolge des kürzesten Weges, die in beide Richtungen verlaufen kann." # AI Translated msgid "Bottom surface fill order" @@ -13696,13 +14158,13 @@ msgstr "Füllreihenfolge der unteren Oberfläche" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Richtung, in der untere Oberflächen gefüllt werden, wenn ein mittenbasiertes Muster (Konzentrisch, Archimedische Akkorde, Oktagramm Spirale) verwendet wird.\n" -"Nach innen beginnt jede Oberfläche mit den breiteren äußeren Kurven, was die Haftung der ersten Schicht auf Druckbetten verbessert, auf denen die engen Kurven in der Mitte möglicherweise nicht haften. Nach außen beginnt in der Mitte und schiebt überschüssiges Material zum Rand.\n" -"Standard verwendet die Sortierung nach kürzestem Pfad, die in beide Richtungen verlaufen kann." +"Richtung, in der untere Flächen gefüllt werden, wenn ein zentrumsbasiertes Muster verwendet wird (Konzentrisch, Spiralversatz, Archimedische Akkorde, Oktagramm Spirale).\n" +"Nach innen beginnt jede Fläche mit den weiteren äußeren Kurven, was die Haftung der ersten Schicht auf Druckbetten verbessert, auf denen die engen Kurven in der Mitte möglicherweise nicht haften. Nach außen beginnt in der Mitte und drückt überschüssiges Material zum Rand.\n" +"Standard verwendet die Reihenfolge des kürzesten Weges, die in beide Richtungen verlaufen kann." msgid "Internal solid infill pattern" msgstr "Muster für das interne feste Füllmuster" @@ -13805,6 +14267,14 @@ msgstr "Gegen den Uhrzeigersinn" msgid "Clockwise" msgstr "Im Uhrzeigersinn" +# AI Translated +msgid "Distance to rod" +msgstr "Abstand zur Stange" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Horizontaler Abstand der Düsenspitze zur entfernteren Kante der Stange. Wird zur Kollisionsvermeidung beim Drucken nach Objekt verwendet." + msgid "Height to rod" msgstr "Höhe zur Führung" @@ -15859,7 +16329,7 @@ msgid "Min print speed" msgstr "Minimale Druckgeschwindigkeit" msgid "The minimum print speed to which the printer slows down to maintain the minimum layer time defined above when the slowdown for better layer cooling is enabled." -msgstr "Das minimale Drucktempo, bei dem der Drucker verlangsamt wird, um die oben definierte minimale Schichtzeit einzuhalten, wenn die Verlangsamung für eine bessere Schichtkühlung aktiviert ist." +msgstr "Die minimale Druckgeschwindigkeit, auf die der Drucker verlangsamt wird, um die oben definierte minimale Schichtzeit einzuhalten, wenn die Verlangsamung für eine bessere Schichtkühlung aktiviert ist." msgid "The diameter of nozzle." msgstr "Düsendurchmesser" @@ -15958,6 +16428,20 @@ msgstr "Erkennen von Wandüberhängen" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Erkennt den Prozentsatz des Überhangs im Verhältnis zur Linienbreite und verwenden hierfür eine unterschiedliche Druckgeschwindigkeiten. Bei einem 100%% Überhang wird die Brückengeschwindigkeit verwendet." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Nicht gestützte Wände zuletzt drucken" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Wandschleifen, die vollständig in der Luft liegen, werden erst gedruckt, wenn etwas sie halten kann:\n" +"Sie werden nach den übrigen Wänden ihrer Insel extrudiert, die innerste zuerst, unabhängig von der Wandreihenfolge.\n" +"Eine Schleife, die nur von den Überbrückungen dieser Schicht verankert werden kann, wartet, bis diese Überbrückungen gedruckt sind, während eine Schleife, die neben einer gestützten Wand verläuft, ihren Platz vor der Füllung behält, die sie als Verankerung benötigt." + msgid "Outer walls" msgstr "Äußere Wände" @@ -16399,6 +16883,39 @@ msgstr "Wischbewegung nach innen" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Um die Sichtbarkeit der Naht in einer geschlossenen Schleifen-Extrusion zu minimieren, wird vor dem Verlassen der Schleife eine kleine Bewegung nach innen ausgeführt." +# AI Translated +msgid "Wipe inward" +msgstr "Reinigen nach innen" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Gilt nur für Außenwände, einschließlich Lochkonturen. Bewegt die heiße Düse beim Reinigen in Richtung bereits gedruckter innerer Wände, um das erneute Aufschmelzen frisch gedruckten Kunststoffs und Nahtmarkierungen zu verringern.\n" +"\n" +"Besonders nützlich bei Schichthöhen unter 0,1 mm, wo Reinigungsspuren deutlicher sichtbar sind.\n" +"\n" +"Verwendet die normale Reinigung, wenn keine angrenzende innere Wand bereits gedruckt ist (Bereiche mit nur einer Wand oder die Wandreihenfolge Außen/Innen) oder wenn kein gestützter Weg nach innen gefunden werden kann, zum Beispiel an engen Ecken oder Nahtlücken." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Abstand für Reinigen nach innen" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Der Abstand, um den der Reinigungsweg vom Außenperimeter weg verschoben wird, angegeben in Millimetern oder als Prozentsatz der tatsächlichen Extrusionsbreite der Außenwand.\n" +"\n" +"Zum Beispiel verschiebt 50% den Weg um die halbe Außenwandbreite. Der wirksame Versatz wird sowohl durch die tatsächliche Außenwandbreite als auch durch den verfügbaren Abstand zur benachbarten Wand begrenzt, sodass Werte über 100% oder ein entsprechender absoluter Abstand keine zusätzliche Wirkung haben. Auf 0 setzen, um den Versatz zu deaktivieren." + msgid "Wipe before external loop" msgstr "Wischbewegung vor äußerer Schleife" @@ -16598,8 +17115,8 @@ msgstr "Vorheizschritte" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Fügen Sie mehrere Vorheizbefehle ein (z.B. M104.1). Nur nützlich für Prusa XL. Für andere Drucker bitte auf 1 setzen." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-Code, der ganz oben in die Ausgabedatei geschrieben wird, vor allen anderen Inhalten. Nützlich zum Hinzufügen von Metadaten, die die Druckerfirmware aus den ersten Zeilen der Datei liest (z.B. geschätzte Druckzeit, Filamentverbrauch). Unterstützt Platzhalter wie {print_time_sec} und {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" # AI Translated msgid "Start G-code" @@ -16661,8 +17178,9 @@ msgstr "Nimmt das neue Werkzeug auf, ohne auf das Erreichen der Drucktemperatur msgid "No sparse layers (beta)" msgstr "Keine dünnen Schichten (Beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Wenn aktiviert, wird der Reinigungsturm nicht auf Schichten ohne Werkzeugwechsel gedruckt. Auf Schichten mit einem Werkzeugwechsel wird der Extruder nach unten fahren, um den Reinigungsturm zu drucken. Der Benutzer ist dafür verantwortlich, dass es keine Kollision mit dem Druck gibt." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Wenn aktiviert, wird der Reinigungsturm auf Schichten ohne Werkzeugwechsel nicht gedruckt. Auf Schichten mit einem Werkzeugwechsel fährt der Extruder nach unten, um den Reinigungsturm zu drucken, sodass der Turm unterhalb des Modells endet und der Werkzeugkopf zu ihm hinuntergreifen muss. Anordnungen, bei denen das mit einem bereits gedruckten Objekt kollidieren würde, werden abgelehnt. Hat keine Wirkung beim Smooth-Zeitraffer oder bei der Düsenverstopfungserkennung, die auf jeder Schicht einen Turm benötigen." msgid "Prime all printing extruders" msgstr "Reinige alle Druckextruder" @@ -16688,6 +17206,34 @@ msgstr "" msgid "Cyclic" msgstr "Zyklisch" +# AI Translated +msgid "Cyclic order" +msgstr "Zyklische Reihenfolge" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Benutzerdefinierte Filamentreihenfolge für die zyklische Werkzeugwechsel-Reihenfolge, als durch Kommas getrennte Filamentnummern (z. B. \"3,2,1,4\").\n" +"Jede Schicht druckt ihre Filamente in dieser Reihenfolge; nicht aufgeführte Filamente werden zuletzt gedruckt, in aufsteigender Reihenfolge.\n" +"Leer lassen, um die Filamente in aufsteigender Reihenfolge zu durchlaufen." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Zyklische Reihenfolge auf erste Schicht anwenden" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Wendet die zyklische Werkzeugwechsel-Reihenfolge auch auf die erste Schicht an.\n" +"Standardmäßig ist dies deaktiviert, weil die erste Schicht stattdessen für die beste Druckbetthaftung sortiert wird: Filamente, die kleine, empfindliche Elemente der ersten Schicht drucken, werden zuletzt gedruckt, sodass die folgenden Werkzeugwechsel und Eilgänge diese schwach verankerten Teile seltener losreißen. Diese Reihenfolge der ersten Schicht berücksichtigt auch eine benutzerdefinierte Filamentreihenfolge für die erste Schicht, sofern eine festgelegt ist. Der Vorteil der zyklischen Reihenfolge (zusätzliche Werkzeugwechsel geben jeder Schicht mehr Zeit zum Abkühlen) gilt nicht für die erste Schicht, die für die Haftung langsam und heiß gedruckt wird.\n" +"Aktivieren Sie dies nur, wenn Sie auf jeder Schicht einschließlich der ersten exakt dieselbe Werkzeugreihenfolge benötigen, auf Kosten dieser Haftungsoptimierung." + msgid "Slice gap closing radius" msgstr "Slice-Lückenschlussradius" @@ -16697,9 +17243,6 @@ msgstr "Risse, die kleiner als das 2-fache des Lückenschlussradius sind, werden msgid "Slicing Mode" msgstr "Slicing-Modus" -msgid "Other" -msgstr "Sonstiges" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Verwenden Sie \"Gerade-ungerade\" für 3DLabPrint-Flugzeugmodelle. Verwenden Sie \"Löcher schließen\", um alle Löcher im Modell zu schließen." @@ -17618,9 +18161,6 @@ msgstr "Zu große Linienbreite" msgid " not in range " msgstr "nicht im Bereich" -msgid "Export 3MF" -msgstr "3mf exportieren" - msgid "This exports the project as a 3MF file." msgstr "Projekt als 3MF exportieren." @@ -17636,9 +18176,6 @@ msgstr "Slicing-Daten laden" msgid "Load cached slicing data from directory." msgstr "Zwischengespeicherte Slicing-Daten aus dem Verzeichnis laden" -msgid "Export STL" -msgstr "Exportiere STL" - msgid "Export the objects as single STL." msgstr "Exportieren Sie die Objekte als einzelne STL." @@ -17690,6 +18227,14 @@ msgstr "Keine Überprüfung" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Führe keine Gültigkeitsprüfungen durch, wie beispielsweise die Überprüfung von G-Code-Pfadkonflikten." +# AI Translated +msgid "Strict mode" +msgstr "Strikter Modus" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Beendet sich mit einem Rückgabewert ungleich null, wenn das Slicen eine nicht kritische Warnung auslöst, die sonst nur protokolliert wird, etwa ein Modell, das Stützen benötigt, während Stützen deaktiviert sind. Verwenden Sie dies in CI- oder Skript-Pipelines, die niemals einen unbemerkt fehlerhaften Slice ausliefern sollen. Jede solche Warnung wird zusätzlich mit einer stabilen Klasse im Array `warnings` von result.json aufgeführt, das nur unter Linux geschrieben wird. Kann nicht mit --no-check kombiniert werden, das die Stützenprüfung überspringt." + msgid "Normative check" msgstr "Normative Überprüfung" @@ -17702,11 +18247,28 @@ msgstr "Ausgabe Modellinformationen" msgid "This outputs the model’s information." msgstr "Geben Sie die Informationen des Modells aus." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Mesh prüfen (JSON nach stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Gibt eine JSON-Zusammenfassung jedes geladenen Objekts nach stdout aus und beendet sich dann: seine Begrenzungsrahmen und die Flächen der konvexen Hülle, auf die es gelegt werden kann, mit deren Normalen, Flächeninhalten und Mittelpunkten. Dies sind die Flächen, aus denen die Optionen --ground-* auswählen. Maschinenlesbare Alternative zu --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Bemalung prüfen (JSON nach stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Gibt eine strukturierte JSON-Zusammenfassung jeder bereits im geladenen Modell gespeicherten Bemalungsebene (Stützen, Naht, MMU-Farbe, Fuzzy skin) aus — Facettenanzahl, Oberfläche und mesh-lokaler Begrenzungsrahmen je Zustand — und beendet sich dann. Maschinenlesbare Alternative zum Öffnen der Mal-Gizmos in der Benutzeroberfläche." + msgid "Export Settings" msgstr "Einstellungen exportieren" -msgid "This exports settings to a file." -msgstr "Einstellungen in eine Datei exportieren." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Exportiert die Einstellungen in eine Datei. Verwenden Sie -, um sie nach stdout zu schreiben." msgid "Send progress to pipe" msgstr "Fortschritt an die Leitung senden" @@ -17762,6 +18324,30 @@ msgstr "Rotieren um Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Rotationswinkel um die Y-Achse in Grad." +# AI Translated +msgid "Ground largest face" +msgstr "Auf größte Fläche legen" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt jedes Objekt auf die größte Fläche seiner konvexen Hülle und lässt es auf das Druckbett fallen. Bei gleich großen Flächen wird die bereits nach unten zeigende beibehalten. Objekte ohne eine ausreichend große Auflagefläche bleiben unverändert. Transformationen werden in der Reihenfolge der Befehlszeile ausgeführt, sodass vor dieser Option angegebene Drehungen berücksichtigt werden. --orient 1 läuft nach allen Transformationen und ersetzt die Ausrichtung." + +# AI Translated +msgid "Ground face by normal" +msgstr "Auf Fläche nach Normale legen" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt jedes Objekt auf die Fläche der konvexen Hülle, deren äußere Normale der Richtung NX,NY,NZ am nächsten kommt, und lässt es auf das Druckbett fallen. Die Richtung ist in Objektkoordinaten angegeben, die die vor dieser Option angegebenen Drehungen enthalten und den Achsen des Druckbetts entsprechen, sofern die Eingabedatei das Objekt nicht dreht. Zum Beispiel stellt 1,0,0 das Objekt auf seine +X-Seite. --orient 1 läuft nach allen Transformationen und ersetzt die Ausrichtung." + +# AI Translated +msgid "Ground face at point" +msgstr "Auf Fläche an Punkt legen" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt jedes Objekt auf die Fläche der konvexen Hülle, die den Punkt X,Y,Z enthält, und lässt es auf das Druckbett fallen. Der Punkt ist in Objektkoordinaten angegeben, die die vor dieser Option angegebenen Drehungen enthalten; --inspect-mesh gibt Flächenmittelpunkte in diesen an. Objekte ohne eine solche Fläche bleiben unverändert, und der Durchlauf schlägt fehl, wenn kein Objekt eine solche hat. --orient 1 läuft nach allen Transformationen und ersetzt die Ausrichtung." + msgid "Scale the model by a float factor." msgstr "Skalierung des Modells um einen Faktor" @@ -18059,12 +18645,36 @@ msgstr "Genutztes Filament" msgid "Total length of filament used in the print." msgstr "Gesamtlänge des im Druck verwendeten Filaments." -msgid "Print time (seconds)" -msgstr "Druckzeit (Sekunden)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Gesammt geschätzte Druckzeit in Sekunden. Ersetzt durch den tatsächlichen Wert während der Nachbearbeitung." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Filamentlänge (Meter)" @@ -18295,9 +18905,6 @@ msgstr "Die Datei enthält einen ungültigen Scheitelpunktindex." msgid "This OBJ file couldn't be read because it's empty." msgstr "Diese OBJ-Datei konnte nicht gelesen werden, da sie leer ist." -msgid "Max Volumetric Speed Calibration" -msgstr "Maximale volumetrische Geschwindigkeitskalibrierung" - msgid "Manage Result" msgstr "Ergebnis verwalten" @@ -19139,9 +19746,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "Hinweis: Hohe Werte können zu Schichverschiebungen führen (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Flussratenkalibrierung" - msgid "Calibration Test Type" msgstr "Kalibrierungstesttyp" @@ -19904,6 +20508,9 @@ msgstr "Keine gültige Sitzung erkannt. Mit dem Login bei 3DPrinterOS fortfahren msgid "Success!" msgstr "Erfolgreich!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Sind Sie sicher, dass Sie sich abmelden möchten?" @@ -20816,6 +21423,18 @@ msgstr "Diese Aktion kann nicht rückgängig gemacht werden. Fortsetzen?" msgid "Skipping objects." msgstr "Objekte werden übersprungen." +# AI Translated +msgid "Material Ratio" +msgstr "Materialanteil" + +# AI Translated +msgid "Model Height" +msgstr "Modellhöhe" + +# AI Translated +msgid "Ratio" +msgstr "Anteil" + msgid "Select Filament" msgstr "Filament auswählen" @@ -20847,13 +21466,6 @@ msgstr "Das Bambu Netzwerk Plug-in ist erforderlich für Cloud-Funktionen, Druck msgid "Error: %s" msgstr "Fehler: %s" -msgid "Show details" -msgstr "Zeige Details" - -# AI Translated -msgid "Hide details" -msgstr "Details ausblenden" - msgid "Version to install:" msgstr "Version zum Installieren:" @@ -21072,12 +21684,14 @@ msgid "Drying-Dehumidifying" msgstr "Trocknung – Entfeuchten" # AI Translated -msgid " maximum drying temperature is " -msgstr " maximale Trocknungstemperatur ist " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Die maximale Trocknungstemperatur von %s beträgt %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " minimale Trocknungstemperatur ist " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Die minimale Trocknungstemperatur von %s beträgt %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21222,6 +21836,2494 @@ msgstr "Das Filament ist möglicherweise nicht mit den aktuellen Geräteeinstell msgid "The filament model is unknown. A random filament preset will be used." msgstr "Das Filamentprofil ist unbekannt. Es wird ein zufälliges Filamentprofil verwendet." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Ende" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Unten" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Entf" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Pos1" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Ende" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Pfeil nach links" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Pfeil nach rechts" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Pfeil nach oben" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Pfeil nach unten" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importiere Geometriedaten aus STL/STEP/3MF/OBJ/AMF-Dateien" + +msgid "Select all objects" +msgstr "Alle Objekte auswählen" + +msgid "Paste from clipboard" +msgstr "Aus Zwischenablage einfügen" + +msgid "Toggle printable for object/part" +msgstr "Druckbar für Objekt/Teil umschalten" + +msgid "Move selection 10mm in negative X direction" +msgstr "Auswahl 10 mm in negativer X-Richtung verschieben" + +msgid "Move selection 10mm in positive X direction" +msgstr "Auswahl 10 mm in positiver X-Richtung verschieben" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Auswahl 10 mm in positiver Y-Richtung verschieben" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Auswahl 10 mm in negativer Y-Richtung verschieben" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Bewegen" + +msgid "Gizmo rotate" +msgstr "Rotieren" + +msgid "Gizmo scale" +msgstr "Skalieren" + +msgid "Gizmo place face on bed" +msgstr "Fläche auf druckbett platzieren" + +msgid "Gizmo cut" +msgstr "Trennen" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh-boolesche" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "FDM Naht aufmalen" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "FDM Pinsel auf Fuzzy Oberfläche" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Text prägen/gravieren" + +msgid "Gizmo measure" +msgstr "Gizmo messen" + +msgid "Gizmo assemble" +msgstr "Gizmo Zusammenbauen" + +msgid "Gizmo brim ears" +msgstr "Gizmo mausohren" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Vertikaler Schieberegler - Aktiven Schieber nach oben bewegen" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Vertikaler Schieberegler - Aktiven Schieber nach unten bewegen" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Horizontaler Schieberegler - Aktiven Schieber nach links bewegen" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Horizontaler Schieberegler - Aktiven Schieber nach rechts bewegen" + +msgid "Horizontal slider - Move to start position" +msgstr "Horizontaler Schieberegler - Zur Startposition bewegen" + +msgid "Horizontal slider - Move to last position" +msgstr "Horizontaler Schieberegler - Zur letzten Position bewegen" + +msgid "Camera view - Default" +msgstr "Kameraperspektive - Standard" + +msgid "Camera view - Top" +msgstr "Kameraperspektive - Oben" + +msgid "Camera view - Bottom" +msgstr "Kameraperspektive - Unten" + +msgid "Camera view - Front" +msgstr "Kameraperspektive - Vorderseite" + +msgid "Camera view - Behind" +msgstr "Kameraperspektive - Hinten" + +msgid "Camera Angle - Left side" +msgstr "Kameraperspektive - Links" + +msgid "Camera Angle - Right side" +msgstr "Kameraperspektive - Rechts" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Vergrößern" + +msgid "Zoom out" +msgstr "Verkleinern" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Dialogfeld für 3Dconnexion Geräteeinstellungen anzeigen/ausblenden" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Ein-/Ausblenden des G-Code-Fensters" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Ein/Aus Einschichtmodus des vertikalen Schiebereglers" + +msgid "Switch between Prepare/Preview" +msgstr "Zwischen Vorbereiten/ Vorschau wechseln" + +msgid "Collapse/Expand the sidebar" +msgstr "Seitenleiste zu-/aufklappen" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Liste der Tastaturkürzel anzeigen" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21522,6 +24624,153 @@ msgstr "" "Verwerfungen vermeiden\n" "Wussten Sie, dass beim Drucken von Materialien, die zu Verwerfungen neigen, wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die Wahrscheinlichkeit von Verwerfungen verringert werden kann?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Zeigt die aktuelle FPS des Viewports in der oberen rechten Ecke an." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki: 3MF veröffentlichen" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Videoanleitung: 3MF veröffentlichen" + +#~ msgid "Toolbar" +#~ msgstr "Werkzeugleiste" + +#~ msgid "Switch table page" +#~ msgstr "Seitenwechsel" + +#~ msgid "Global shortcuts" +#~ msgstr "Globale Tastaturkürzel" + +#~ msgid "Middle mouse button" +#~ msgstr "Mittlere Maustaste" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Diese Funktion richtet ausgewählte Objekte oder alle Objekte automatisch aus. Wenn es ausgewählte Objekte gibt, werden nur die ausgewählten Objekte ausgerichtet. Andernfalls werden alle Objekte auf das aktuelle Projekt ausgerichtet." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Diese Funktion richtet alle Objekte auf der aktuellen Druckplatte ausgerichtet." + +#~ msgid "Any arrow" +#~ msgstr "Beliebiger Pfeil" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLA Stützpunkte" + +#~ msgid "Plater" +#~ msgstr "Druckplatte" + +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Objekte, Teile, Modifikatoren löschen" + +#~ msgid "Objects List" +#~ msgstr "Objektliste" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-Code, der ganz oben in die Ausgabedatei geschrieben wird, vor allen anderen Inhalten. Nützlich zum Hinzufügen von Metadaten, die die Druckerfirmware aus den ersten Zeilen der Datei liest (z.B. geschätzte Druckzeit, Filamentverbrauch). Unterstützt Platzhalter wie {print_time_sec} und {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Druckzeit (Sekunden)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Aktions-Schnellwahl öffnen" + +#~ msgid "Left: " +#~ msgstr "Links: " + +#~ msgid "Right: " +#~ msgstr "Rechts: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Die maximale Temperatur darf nicht überschritten werden " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Die minimale Temperatur sollte nicht weniger als " + +#~ msgid "up to" +#~ msgstr "bis zu" + +#~ msgid "above" +#~ msgstr "über" + +#~ msgid "from" +#~ msgstr "von" + +#~ msgid "Configuration package: " +#~ msgstr "Konfigurationspaket:" + +#~ msgid " updated to " +#~ msgstr " aktualisiert auf " + +#~ msgid "Grouping error: " +#~ msgstr "Gruppierungsfehler: " + +#~ msgid " can not be placed in the " +#~ msgstr " kann nicht platziert werden in der " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " maximale Trocknungstemperatur ist " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " minimale Trocknungstemperatur ist " + +# AI Translated +#~ msgid "needs" +#~ msgstr "benötigt" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "nicht aktiviert" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "Material nicht veröffentlicht" + +#~ msgid "Select the language" +#~ msgstr "Sprache wählen" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Plugin auswählen" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Richtung, in der obere Oberflächen gefüllt werden, wenn ein mittenbasiertes Muster (Konzentrisch, Archimedische Akkorde, Oktagramm Spirale) verwendet wird.\n" +#~ "Nach außen beginnt in der Mitte der Oberfläche, sodass überschüssiges Material zum Rand geschoben wird, wo es am wenigsten sichtbar ist. Nach innen beginnt am Rand und endet mit den engen Kurven in der Mitte.\n" +#~ "Standard verwendet die Sortierung nach kürzestem Pfad, die in beide Richtungen verlaufen kann." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Richtung, in der untere Oberflächen gefüllt werden, wenn ein mittenbasiertes Muster (Konzentrisch, Archimedische Akkorde, Oktagramm Spirale) verwendet wird.\n" +#~ "Nach innen beginnt jede Oberfläche mit den breiteren äußeren Kurven, was die Haftung der ersten Schicht auf Druckbetten verbessert, auf denen die engen Kurven in der Mitte möglicherweise nicht haften. Nach außen beginnt in der Mitte und schiebt überschüssiges Material zum Rand.\n" +#~ "Standard verwendet die Sortierung nach kürzestem Pfad, die in beide Richtungen verlaufen kann." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Wenn aktiviert, wird der Reinigungsturm nicht auf Schichten ohne Werkzeugwechsel gedruckt. Auf Schichten mit einem Werkzeugwechsel wird der Extruder nach unten fahren, um den Reinigungsturm zu drucken. Der Benutzer ist dafür verantwortlich, dass es keine Kollision mit dem Druck gibt." + +#~ msgid "This exports settings to a file." +#~ msgstr "Einstellungen in eine Datei exportieren." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Native Wayland Liveview erfordert das GStreamer GTK Video Sink. Bitte installieren Sie das gtksink-Plugin für GStreamer und starten Sie OrcaSlicer neu." @@ -21574,9 +24823,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Druckreihenfolge innerhalb einer einzelnen Schicht" -#~ msgid "Bottom" -#~ msgstr "Unten" - #~ msgid "Front" #~ msgstr "Vorne" @@ -21589,9 +24835,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Entf" - #~ msgid "Backspace" #~ msgstr "Rücktaste" @@ -21607,9 +24850,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pfeil rechts" -#~ msgid "End" -#~ msgstr "Ende" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 67d4d196d4..12ae826e67 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-06-17 15:44-0300\n" "Last-Translator: Alexandre Folle de Menezes\n" "Language-Team: \n" @@ -2289,15 +2289,6 @@ msgstr "" msgid "%s has been removed." msgstr "" -msgid "Switching application language" -msgstr "" - -msgid "Select the language" -msgstr "" - -msgid "Language" -msgstr "" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "" @@ -2325,6 +2316,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "" @@ -3484,10 +3488,12 @@ msgstr "" msgid "Switch track at Filament Track Switch" msgstr "" -msgid "The maximum temperature cannot exceed " +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" msgstr "" -msgid "The minmum temperature should not be less than " +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" msgstr "" msgid "Type to filter..." @@ -3907,6 +3913,21 @@ msgstr "" msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "" @@ -4320,6 +4341,12 @@ msgid "" "Error message: %1%" msgstr "" +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "" @@ -4567,6 +4594,9 @@ msgid "" "No - Cancel enabling spiral mode" msgstr "" +msgid "N/A" +msgstr "" + msgid "Printing" msgstr "" @@ -4989,10 +5019,10 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "" #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "" + +msgid "%" msgstr "" #, boost-format @@ -5015,22 +5045,16 @@ msgstr "" msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "" -msgid "N/A" -msgstr "" - msgid "System agents" msgstr "" -msgid "No plugin selected" -msgstr "" - msgid "Add plugin" msgstr "" -msgid "Select plugin" +msgid "Remove plugin" msgstr "" -msgid "Remove plugin" +msgid "No plugin selected" msgstr "" msgid "Configure" @@ -5286,13 +5310,16 @@ msgstr "" msgid "Regroup filament" msgstr "" -msgid "up to" +#, boost-format +msgid "up to %1% mm" msgstr "" -msgid "above" +#, boost-format +msgid "above %1% mm" msgstr "" -msgid "from" +#, boost-format +msgid "from %1% to %2% mm" msgstr "" msgid "Usage" @@ -5353,9 +5380,6 @@ msgctxt "Noun" msgid "Print" msgstr "" -msgid "Printer" -msgstr "" - msgid "Time Estimation" msgstr "" @@ -5526,10 +5550,13 @@ msgctxt "Camera View" msgid "Right" msgstr "" -msgid "Add" +msgid "Add plate" msgstr "" -msgid "Add plate" +msgid "Split to objects" +msgstr "" + +msgid "Add" msgstr "" msgid "Auto orient all/selected objects" @@ -5544,9 +5571,6 @@ msgstr "" msgid "Arrange objects on selected plates" msgstr "" -msgid "Split to objects" -msgstr "" - msgid "Assembly View" msgstr "" @@ -5601,6 +5625,9 @@ msgstr "" msgid "Wireframe" msgstr "" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "" @@ -5803,6 +5830,9 @@ msgstr "" msgid "Logging" msgstr "" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "" @@ -5947,6 +5977,12 @@ msgstr "" msgid "Save current project as" msgstr "" +msgid "Publish 3MF" +msgstr "" + +msgid "Export a 3MF file with the selected settings embedded" +msgstr "" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "" @@ -6128,6 +6164,9 @@ msgstr "" msgid "View" msgstr "" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "" @@ -7019,6 +7058,231 @@ msgstr "" msgid "Please refer to Wiki before use->" msgstr "" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "" + +msgid "Export 3MF" +msgstr "" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "" @@ -7174,6 +7438,12 @@ msgctxt "Layers" msgid "Bottom" msgstr "" +msgid "This setting does not specify a plugin capability type." +msgstr "" + +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "" + msgid "Plugin Selection" msgstr "" @@ -7615,9 +7885,6 @@ msgstr "" msgid "Collapse sidebar" msgstr "" -msgid "Tab" -msgstr "" - #, c-format, boost-format msgid "Loading file: %s" msgstr "" @@ -7692,6 +7959,12 @@ msgstr "" msgid "Customized Preset" msgstr "" +msgid "Some published settings could not be applied:" +msgstr "" + +msgid "Some filament slots were changed:" +msgstr "" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "" @@ -7796,18 +8069,12 @@ msgstr "" msgid "Delete Object" msgstr "" -msgid "Delete All Objects" -msgstr "" - msgid "Reset Project" msgstr "" msgid "The selected object couldn't be split." msgstr "" -msgid "Split to Objects" -msgstr "" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "" @@ -8070,6 +8337,17 @@ msgstr "" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "" +msgid "Publish 3MF file as:" +msgstr "" + +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" + +msgid "Publish" +msgstr "" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "" @@ -8267,9 +8545,6 @@ msgstr "" msgid "Language selection" msgstr "" -msgid "Switching application language while some presets are modified." -msgstr "" - msgid "Asia-Pacific" msgstr "" @@ -8363,6 +8638,9 @@ msgstr "" msgid "General" msgstr "" +msgid "Language" +msgstr "" + msgid "Metric" msgstr "" @@ -8545,6 +8823,33 @@ msgstr "" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "" @@ -8620,6 +8925,12 @@ msgstr "" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "" @@ -8641,6 +8952,15 @@ msgstr "" msgid "Set the action that dragging the right mouse button should perform." msgstr "" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "" @@ -8734,10 +9054,38 @@ msgid "" "Set to 0 for unlimited frame rate." msgstr "" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "" -msgid "Displays current viewport FPS in the top-right corner." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." msgstr "" msgid "G-code Preview" @@ -8752,9 +9100,6 @@ msgstr "" msgid "Dimmed layer brightness" msgstr "" -msgid "%" -msgstr "" - msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" "99% is barely darkened, 0% renders them black. Capped at 99% because 100% would be the same as disabling the option." @@ -9120,9 +9465,6 @@ msgstr "" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "" -msgid "Publish" -msgstr "" - msgid "Publish was canceled" msgstr "" @@ -9138,6 +9480,60 @@ msgstr "" msgid "Jump to webpage" msgstr "" +msgid "Material" +msgstr "" + +msgid "Mixed filament" +msgstr "" + +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "" + +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "" + +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "" + +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "" + +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "" + +msgid "Publish anyway" +msgstr "" + +msgid "Publish 3MF..." +msgstr "" + +msgid "Select which settings to be published in the 3MF file" +msgstr "" + +msgid "Video Guide" +msgstr "" + +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "" + +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "" + +msgid "Publish this filament slot in the 3MF file" +msgstr "" + +msgid "Full Publish" +msgstr "" + +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "" + +msgid "Filter non-selected" +msgstr "" + #, c-format, boost-format msgid "Save %s as" msgstr "" @@ -9154,6 +9550,9 @@ msgstr "" msgid "Detach from parent" msgstr "" +msgid "Save without parent" +msgstr "" + msgid "Unique preset" msgstr "" @@ -9210,6 +9609,132 @@ msgstr "" msgid "Simply switch to \"%1%\"" msgstr "" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "" + +msgid "Hide details" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "" @@ -9803,9 +10328,15 @@ msgstr "" msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "" +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "" +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "" + msgid "Still print by object?" msgstr "" @@ -10154,9 +10685,6 @@ msgstr "" msgid "Printable space" msgstr "" -msgid "Printer Agent" -msgstr "" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "" @@ -10516,12 +11044,6 @@ msgstr "" msgid "Capabilities" msgstr "" -msgid "Left: " -msgstr "" - -msgid "Right: " -msgstr "" - msgid "Show all presets (including incompatible)" msgstr "" @@ -10887,55 +11409,37 @@ msgstr "" msgid "Configuration package changed" msgstr "" -msgid "Toolbar" -msgstr "" - -msgid "Objects list" -msgstr "" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "" - -msgid "Paste from clipboard" -msgstr "" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "" - -msgid "Switch table page" -msgstr "" - -msgid "Show keyboard shortcuts list" -msgstr "" - -msgid "Global shortcuts" -msgstr "" - msgid "Pan View" msgstr "" msgid "Rotate View" msgstr "" -msgid "Middle mouse button" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." msgstr "" -msgid "Zoom View" +msgctxt "Keyboard Shortcut" +msgid "Key" msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +msgid "Left mouse" msgstr "" -msgid "Auto orients all objects on the active plate." +msgid "Available anywhere in the window, even while typing in a text field." msgstr "" -msgid "Collapse/Expand the sidebar" +msgid "Run a speed dial favorite while the dial is open" msgstr "" -msgid "Any arrow" +msgctxt "Keyboard Shortcut" +msgid "Tab" msgstr "" -msgid "Movement in camera space" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." msgstr "" msgid "Select a part" @@ -10947,127 +11451,28 @@ msgstr "" msgid "Select objects by rectangle" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "" - -msgid "Move selection 10mm in positive Y direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "" - -msgid "Move selection 10mm in negative Y direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "" - -msgid "Move selection 10mm in negative X direction" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "" - -msgid "Move selection 10mm in positive X direction" +msgid "Keyboard 1-9: set filament for object/part" msgstr "" msgid "Movement step set to 1mm" msgstr "" -msgid "Keyboard 1-9: set filament for object/part" +msgid "Movement in camera space" msgstr "" -msgid "Camera view - Default" +msgid "Middle mouse" msgstr "" -msgid "Camera view - Top" +msgid "Right mouse" msgstr "" -msgid "Camera view - Bottom" +msgid "Zoom View" msgstr "" -msgid "Camera view - Front" +msgid "Painting" msgstr "" -msgid "Camera view - Behind" -msgstr "" - -msgid "Camera Angle - Left side" -msgstr "" - -msgid "Camera Angle - Right side" -msgstr "" - -msgid "Select all objects" -msgstr "" - -msgid "Gizmo move" -msgstr "" - -msgid "Gizmo rotate" -msgstr "" - -msgid "Gizmo scale" -msgstr "" - -msgid "Gizmo place face on bed" -msgstr "" - -msgid "Gizmo cut" -msgstr "" - -msgid "Gizmo mesh boolean" -msgstr "" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "" - -msgid "Gizmo SLA support points" -msgstr "" - -msgid "Gizmo FDM paint-on seam" -msgstr "" - -msgid "Gizmo text emboss/engrave" -msgstr "" - -msgid "Gizmo measure" -msgstr "" - -msgid "Gizmo assemble" -msgstr "" - -msgid "Gizmo brim ears" -msgstr "" - -msgid "Zoom in" -msgstr "" - -msgid "Zoom out" -msgstr "" - -msgid "Toggle printable for object/part" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "" - -msgid "Switch between Prepare/Preview" -msgstr "" - -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "" - -msgid "Open actions speed dial" -msgstr "" - -msgid "Plater" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." msgstr "" msgid "Move: press to snap by 1mm" @@ -11079,13 +11484,17 @@ msgstr "" msgid "Support/Color Painting: adjust section position" msgstr "" -msgid "Gizmo" +msgid "Objects list" +msgstr "" + +msgid "Available while the object list has focus." msgstr "" msgid "Set extruder number for the objects and parts" msgstr "" -msgid "Delete objects, parts, modifiers" +msgctxt "Keyboard Shortcut" +msgid "Space" msgstr "" msgid "Select the object/part and press space to change the name" @@ -11097,42 +11506,47 @@ msgstr "" msgid "Select the object/part and mouse click to change the name" msgstr "" -msgid "Objects List" -msgstr "" - -msgid "Vertical slider - Move active thumb Up" -msgstr "" - -msgid "Vertical slider - Move active thumb Down" -msgstr "" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "" - -msgid "On/Off G-code window" +msgid "Available while the 3D view on the Preview tab has focus." msgstr "" msgid "Move slider 5x faster" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Home" +msgid "Scroll slider 5x faster" msgstr "" -msgid "Horizontal slider - Move to start position" +msgid "Not customizable" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" msgstr "" -msgid "Horizontal slider - Move to last position" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." msgstr "" msgid "Release Note" @@ -11325,15 +11739,19 @@ msgstr "" msgid "Copying of file %1% to %2% failed: %3%" msgstr "" +msgid "Downloading new vendor profile(s): " +msgstr "" + +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "" + +msgid "Failed to download vendor profile(s): " +msgstr "" + msgid "Please check any unsaved changes before updating the configuration." msgstr "" -msgid "Configuration package: " -msgstr "" - -msgid " updated to " -msgstr "" - msgid "Open G-code file:" msgstr "" @@ -11389,10 +11807,12 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "" -msgid "Grouping error: " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" msgstr "" -msgid " can not be placed in the " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" msgstr "" msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -11506,6 +11926,9 @@ msgstr "" msgid "%1% is too tall, and collisions will be caused." msgstr "" +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "" @@ -11828,6 +12251,9 @@ msgstr "" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "" +msgid "Printer Agent" +msgstr "" + msgid "Select the network agent implementation for printer communication." msgstr "" @@ -12676,6 +13102,9 @@ msgstr "" msgid "Concentric" msgstr "" +msgid "Spiral Inset" +msgstr "" + msgid "Hilbert Curve" msgstr "" @@ -12745,7 +13174,7 @@ msgid "Top surface fill order" msgstr "" msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" @@ -12754,7 +13183,7 @@ msgid "Bottom surface fill order" msgstr "" msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" @@ -12842,6 +13271,12 @@ msgstr "" msgid "Clockwise" msgstr "" +msgid "Distance to rod" +msgstr "" + +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "" + msgid "Height to rod" msgstr "" @@ -14792,6 +15227,15 @@ msgstr "" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "" +msgid "Print unsupported walls last" +msgstr "" + +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" + msgid "Outer walls" msgstr "" @@ -15201,6 +15645,27 @@ msgstr "" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "" +msgid "Wipe inward" +msgstr "" + +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" + +msgid "Wipe inward distance" +msgstr "" + +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" + msgid "Wipe before external loop" msgstr "" @@ -15381,7 +15846,7 @@ msgstr "" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "" -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." msgstr "" msgid "Start G-code" @@ -15441,7 +15906,7 @@ msgstr "" msgid "No sparse layers (beta)" msgstr "" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." msgstr "" msgid "Prime all printing extruders" @@ -15462,6 +15927,24 @@ msgstr "" msgid "Cyclic" msgstr "" +msgid "Cyclic order" +msgstr "" + +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" + +msgid "Apply cyclic order to first layer" +msgstr "" + +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" + msgid "Slice gap closing radius" msgstr "" @@ -15471,9 +15954,6 @@ msgstr "" msgid "Slicing Mode" msgstr "" -msgid "Other" -msgstr "" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "" @@ -16304,9 +16784,6 @@ msgstr "" msgid " not in range " msgstr "" -msgid "Export 3MF" -msgstr "" - msgid "This exports the project as a 3MF file." msgstr "" @@ -16322,9 +16799,6 @@ msgstr "" msgid "Load cached slicing data from directory." msgstr "" -msgid "Export STL" -msgstr "" - msgid "Export the objects as single STL." msgstr "" @@ -16376,6 +16850,12 @@ msgstr "" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "" +msgid "Strict mode" +msgstr "" + +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "" + msgid "Normative check" msgstr "" @@ -16388,10 +16868,22 @@ msgstr "" msgid "This outputs the model’s information." msgstr "" +msgid "Inspect mesh (JSON to stdout)" +msgstr "" + +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "" + +msgid "Inspect paint (JSON to stdout)" +msgstr "" + +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "" + msgid "Export Settings" msgstr "" -msgid "This exports settings to a file." +msgid "This exports settings to a file. Use - to write them to stdout." msgstr "" msgid "Send progress to pipe" @@ -16448,6 +16940,24 @@ msgstr "" msgid "Rotation angle around the Y axis in degrees." msgstr "" +msgid "Ground largest face" +msgstr "" + +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + +msgid "Ground face by normal" +msgstr "" + +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + +msgid "Ground face at point" +msgstr "" + +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "" + msgid "Scale the model by a float factor." msgstr "" @@ -16745,12 +17255,36 @@ msgstr "" msgid "Total length of filament used in the print." msgstr "" -msgid "Print time (seconds)" +msgid "Print time (total seconds)" msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "" @@ -16974,9 +17508,6 @@ msgstr "" msgid "This OBJ file couldn't be read because it's empty." msgstr "" -msgid "Max Volumetric Speed Calibration" -msgstr "" - msgid "Manage Result" msgstr "" @@ -17723,9 +18254,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "" -msgid "Flow Ratio Calibration" -msgstr "" - msgid "Calibration Test Type" msgstr "" @@ -18437,6 +18965,9 @@ msgstr "" msgid "Success!" msgstr "" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "" @@ -19333,6 +19864,15 @@ msgstr "" msgid "Skipping objects." msgstr "" +msgid "Material Ratio" +msgstr "" + +msgid "Model Height" +msgstr "" + +msgid "Ratio" +msgstr "" + msgid "Select Filament" msgstr "" @@ -19364,12 +19904,6 @@ msgstr "" msgid "Error: %s" msgstr "" -msgid "Show details" -msgstr "" - -msgid "Hide details" -msgstr "" - msgid "Version to install:" msgstr "" @@ -19569,10 +20103,12 @@ msgstr "" msgid "Drying-Dehumidifying" msgstr "" -msgid " maximum drying temperature is " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." msgstr "" -msgid " minimum drying temperature is " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." msgstr "" msgid "This filament may not be completely dried." @@ -19686,6 +20222,2488 @@ msgstr "" msgid "The filament model is unknown. A random filament preset will be used." msgstr "" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "" + +msgid "Select all objects" +msgstr "" + +msgid "Paste from clipboard" +msgstr "" + +msgid "Toggle printable for object/part" +msgstr "" + +msgid "Move selection 10mm in negative X direction" +msgstr "" + +msgid "Move selection 10mm in positive X direction" +msgstr "" + +msgid "Move selection 10mm in positive Y direction" +msgstr "" + +msgid "Move selection 10mm in negative Y direction" +msgstr "" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "" + +msgid "Gizmo rotate" +msgstr "" + +msgid "Gizmo scale" +msgstr "" + +msgid "Gizmo place face on bed" +msgstr "" + +msgid "Gizmo cut" +msgstr "" + +msgid "Gizmo mesh boolean" +msgstr "" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "" + +msgid "Gizmo measure" +msgstr "" + +msgid "Gizmo assemble" +msgstr "" + +msgid "Gizmo brim ears" +msgstr "" + +msgid "Vertical slider - Move active thumb Up" +msgstr "" + +msgid "Vertical slider - Move active thumb Down" +msgstr "" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "" + +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + +msgid "Camera view - Default" +msgstr "" + +msgid "Camera view - Top" +msgstr "" + +msgid "Camera view - Bottom" +msgstr "" + +msgid "Camera view - Front" +msgstr "" + +msgid "Camera view - Behind" +msgstr "" + +msgid "Camera Angle - Left side" +msgstr "" + +msgid "Camera Angle - Right side" +msgstr "" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "" + +msgid "Zoom out" +msgstr "" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "" + +msgid "Switch between Prepare/Preview" +msgstr "" + +msgid "Collapse/Expand the sidebar" +msgstr "" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index bc8e1e9f79..4c2a634e3c 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: Ian A. Bassi <>\n" "Language-Team: \n" @@ -2356,15 +2356,6 @@ msgstr "Hay una actualización disponible. Abra el cuadro de diálogo del paquet msgid "%s has been removed." msgstr "Se ha eliminado %s." -msgid "Switching application language" -msgstr "Cambiando el idioma de la aplicación" - -msgid "Select the language" -msgstr "Seleccionar el idioma" - -msgid "Language" -msgstr "Idioma" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "No se pudo cambiar Orca Slicer al idioma %s." @@ -2396,6 +2387,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "No se pudo abrir el cuadro de diálogo de plugins (error desconocido)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Terminal de plugins" @@ -3562,11 +3566,15 @@ msgstr "Retirar el filamento actual en el Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Cambiar de vía en el Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "La temperatura máxima no puede superar " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "La temperatura máxima no puede superar %d" -msgid "The minmum temperature should not be less than " -msgstr "La temperatura mínima no debe ser inferior a " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "La temperatura mínima no debe ser inferior a %d" msgid "Type to filter..." msgstr "Escribe para filtrar..." @@ -3996,6 +4004,21 @@ msgstr "OrcaSlicer nació con ese mismo espíritu, inspirándose en PrusaSlicer, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Hoy en día, OrcaSlicer es el programa de corte de código abierto más utilizado y con mayor desarrollo activo en la comunidad de la impresión 3D. Muchas de sus innovaciones han sido adoptadas por otros programas de corte, lo que lo convierte en un motor impulsor de todo el sector." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impresora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Ajustes de materiales AMS" @@ -4426,6 +4449,15 @@ msgstr "" "Error al copiar el G-Code temporal en el G-Code de salida. ¿Quizás la tarjeta SD está protegida contra escritura?\n" "Mensaje de error: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Error al copiar el código G temporal al código G de salida.\n" +"Mensaje de error: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "La copia del G-Code temporal al G-Code de salida ha fallado. Puede haber un problema con el dispositivo de destino, intenta exportar nuevamente o usa un dispositivo diferente. El G-Code de salida dañado está en %1%.tmp." @@ -4729,6 +4761,9 @@ msgstr "" "Sí - Cambiar estos ajustes y activar el modo espiral automáticamente\n" "No - Dejar de usar el modo espiral esta vez" +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Imprimiendo" @@ -5153,14 +5188,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "El valor %s está fuera de rango. El rango válido es de %d a %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"¿Es %s%% o %s %s?\n" -"SÍ para %s%%, \n" -"NO para %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "¿Es %s%% o %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5182,24 +5214,18 @@ msgstr "Patrón inválido. Use N, N#K, o una lista separada por comas con #K opc msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Formato inválido. Formato de vector esperado: \"%1%\"" -msgid "N/A" -msgstr "N/A" - msgid "System agents" msgstr "Agentes del sistema" -msgid "No plugin selected" -msgstr "Ningún plugin seleccionado" - msgid "Add plugin" msgstr "Añadir plugin" -msgid "Select plugin" -msgstr "Seleccionar plugin" - msgid "Remove plugin" msgstr "Eliminar plugin" +msgid "No plugin selected" +msgstr "Ningún plugin seleccionado" + msgid "Configure" msgstr "Configurar" @@ -5453,14 +5479,20 @@ msgstr "Ajustar a óptimo" msgid "Regroup filament" msgstr "Reagrupar filamentos" -msgid "up to" -msgstr "hasta" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "hasta %1% mm" -msgid "above" -msgstr "sobre" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "por encima de %1% mm" -msgid "from" -msgstr "desde" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "de %1% a %2% mm" msgid "Usage" msgstr "Uso" @@ -5520,9 +5552,6 @@ msgctxt "Noun" msgid "Print" msgstr "Impresión" -msgid "Printer" -msgstr "Impresora" - msgid "Time Estimation" msgstr "Tiempo Estimado" @@ -5700,12 +5729,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Derecha" -msgid "Add" -msgstr "Añadir" - msgid "Add plate" msgstr "Añadir cama" +msgid "Split to objects" +msgstr "Separar en objetos" + +msgid "Add" +msgstr "Añadir" + msgid "Auto orient all/selected objects" msgstr "Orientar automáticamente todos/seleccionados objetos" @@ -5718,9 +5750,6 @@ msgstr "Ordenar todos los objetos" msgid "Arrange objects on selected plates" msgstr "Organizar los objetos en las camas seleccionadas" -msgid "Split to objects" -msgstr "Separar en objetos" - msgid "Assembly View" msgstr "Vista de Emsamblado" @@ -5775,6 +5804,9 @@ msgstr "Contorno" msgid "Wireframe" msgstr "Malla alámbrica" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Vista realista" @@ -5983,6 +6015,9 @@ msgstr "Cerrando la aplicación tras haber modificado algunos perfiles." msgid "Logging" msgstr "Registrando" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparar" @@ -6129,6 +6164,14 @@ msgstr "Guardar proyecto como" msgid "Save current project as" msgstr "Guardar el proyecto actual como" +# AI Translated +msgid "Publish 3MF" +msgstr "Publicar 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exportar un archivo 3MF con los ajustes seleccionados incrustados" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6310,6 +6353,9 @@ msgstr "Edición" msgid "View" msgstr "Vista" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Paquete de perfiles" @@ -7229,6 +7275,231 @@ msgstr "No mostrar este mensaje de nuevo" msgid "Please refer to Wiki before use->" msgstr "Consulte la Wiki antes de usar->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "Exportar Archivo laminado" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibración de Velocidad Volumétrica Máxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibración de factor de flujo" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Borrar todos los objetos" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Separar en objetos" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Ratón 3D desconectado." @@ -7386,6 +7657,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Inferior" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Este ajuste no especifica un tipo de capacidad de plugin." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Este ajuste especifica un tipo de capacidad de plugin no reconocido: " + msgid "Plugin Selection" msgstr "Selección de plugins" @@ -7833,9 +8112,6 @@ msgstr "Expandir barra lateral" msgid "Collapse sidebar" msgstr "Colapsar barra lateral" -msgid "Tab" -msgstr "Pestaña" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Cargando archivo: %s" @@ -7910,6 +8186,14 @@ msgstr "¡Por favor, confirme que el G-Code dentro de los perfiles son seguros p msgid "Customized Preset" msgstr "Perfil Personalizado" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Algunos ajustes publicados no se han podido aplicar:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Se han cambiado algunas ranuras de filamento:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "¡El nombre de los componentes dentro del archivo de pasos no tiene formato UTF-8!" @@ -8024,18 +8308,12 @@ msgstr "" msgid "Delete Object" msgstr "Borrar objeto" -msgid "Delete All Objects" -msgstr "Borrar todos los objetos" - msgid "Reset Project" msgstr "Reiniciar proyecto" msgid "The selected object couldn't be split." msgstr "El objeto seleccionado no ha podido ser dividido." -msgid "Split to Objects" -msgstr "Separar en objetos" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "¿Desactivar la caída automática para mantener la posición en el eje Z?\n" @@ -8305,6 +8583,21 @@ msgstr "Guardar el archivo laminado como:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "El archivo %s ha sido mandado al almacenamiento de la impresora y puede ser visualizado en la impresora." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publicar archivo 3MF como:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"No se ha podido exportar el archivo 3MF publicado.\n" +"Compruebe si la carpeta existe en línea o si otros programas tienen el archivo abierto." + +msgid "Publish" +msgstr "Publicar" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "El tipo de boquilla no está establecido. Configure la boquilla e inténtelo de nuevo." @@ -8506,9 +8799,6 @@ msgstr "¿Quieres continuar?" msgid "Language selection" msgstr "Selección de idiomas" -msgid "Switching application language while some presets are modified." -msgstr "Cambiando idioma de la aplicación mientras se modifican algunos perfiles." - msgid "Asia-Pacific" msgstr "Asia-Pacífico" @@ -8613,6 +8903,9 @@ msgstr "Ruta de Instancia Actual: " msgid "General" msgstr "General" +msgid "Language" +msgstr "Idioma" + msgid "Metric" msgstr "Métrico" @@ -8809,6 +9102,33 @@ msgstr "Gestión multidispositivo" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Con esta opción activada, puede enviar una tarea a varios dispositivos al mismo tiempo y gestionar varios dispositivos." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Ventana emergente para seleccionar el modo de agrupación de filamentos" @@ -8890,6 +9210,12 @@ msgstr "Invertir el zoom del ratón" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si se activa, invierte la dirección del zoom con la rueda del ratón." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Desplazamiento" @@ -8911,6 +9237,15 @@ msgstr "Arrastrar con el botón derecho del ratón" msgid "Set the action that dragging the right mouse button should perform." msgstr "Establece la acción que se debe realizar al arrastrar el botón derecho del ratón." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Limpiar mi elección en..." @@ -9019,11 +9354,39 @@ msgstr "" "Limita la frecuencia de fotogramas de la ventana gráfica para reducir la carga de la GPU y el consumo de energía.\n" "Establece el valor en 0 para una frecuencia de fotogramas ilimitada." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Mostrar FPS en pantalla" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Muestra los FPS en la esquina superior derecha." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" msgid "G-code Preview" msgstr "Vista previa del G-code" @@ -9038,9 +9401,6 @@ msgstr "Al desplazar el control deslizante de capas en la vista previa laminada, msgid "Dimmed layer brightness" msgstr "Brillo de las capas atenuadas" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9419,9 +9779,6 @@ msgstr "Ir a la página web de publicación de modelos" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Nota: La preparación puede llevar varios minutos. Por favor, sea paciente." -msgid "Publish" -msgstr "Publicar" - msgid "Publish was canceled" msgstr "La publicación fue cancelada" @@ -9437,6 +9794,76 @@ msgstr "Cargando datos" msgid "Jump to webpage" msgstr "Ir a la página web" +# AI Translated +msgid "Material" +msgstr "Material" + +# AI Translated +msgid "Mixed filament" +msgstr "Filamento mixto" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Algunos filamentos mixtos dependen de filamentos que no se publicarán:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filamento %d (mixto)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% necesita %2%, que no está habilitado." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% necesita %2%, cuyo material no se publicará." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Para publicar un filamento mixto, habilite todos los filamentos que utiliza y elija Publicación completa o cumpla su requisito de Tipo." + +# AI Translated +msgid "Publish anyway" +msgstr "Publicar de todos modos" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publicar 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Seleccione qué ajustes se publicarán en el archivo 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filamento mixto - se publica como un conjunto cuando se selecciona \"Habilitar\" arriba" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publicar este filamento mixto y habilitar + publicar completamente sus filamentos componentes" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publicar esta ranura de filamento en el archivo 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Publicación completa" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Incrustar el filamento completo de esta ranura en el archivo 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrar no seleccionados" + #, c-format, boost-format msgid "Save %s as" msgstr "Guardar %s como" @@ -9454,6 +9881,10 @@ msgstr "Copia en este perfil todos los valores heredados del perfil padre y elim msgid "Detach from parent" msgstr "Separar del elemento padre" +# AI Translated +msgid "Save without parent" +msgstr "Guardar sin elemento padre" + # AI Translated msgid "Unique preset" msgstr "Perfil único" @@ -9513,6 +9944,132 @@ msgstr "Para \"%1%\", añada \"%2%\" como un nuevo perfil" msgid "Simply switch to \"%1%\"" msgstr "Simplemente cambia a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Otro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Mostrar detalles" + +msgid "Hide details" +msgstr "Ocultar detalles" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tarea cancelada" @@ -10114,9 +10671,17 @@ msgstr "La torre de purga es necesaria para la detección de aglomeraciones. Pue msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Habilitar tanto la altura Z precisa como la torre de purga puede causar errores de laminado. ¿Desea habilitar la altura Z precisa?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "El timelapse suave necesita una torre de purga en cada capa, lo que no es compatible con \"Sin capas de baja densidad\". Se ha desactivado \"Sin capas de baja densidad\"." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "La torre de purga es necesaria para que el timelapse sea suave. Puede haber defectos en el modelo sin torre de purga. ¿Desea activar la torre de purga?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Sin capas de baja densidad\" no es compatible con el timelapse suave, que necesita una torre de purga en cada capa. El timelapse ha cambiado al modo tradicional." + msgid "Still print by object?" msgstr "¿Seguir imprimiendo por objeto?" @@ -10481,9 +11046,6 @@ msgstr "Perfiles de proceso compatibles" msgid "Printable space" msgstr "Espacio imprimible" -msgid "Printer Agent" -msgstr "Agente de impresora" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Seleccione la implementación del agente de red para la comunicación con la impresora. Los agentes disponibles se registran al iniciar el sistema." @@ -10882,12 +11444,6 @@ msgstr "Número de extrusores" msgid "Capabilities" msgstr "Capacidades" -msgid "Left: " -msgstr "Izquierda: " - -msgid "Right: " -msgstr "Derecha: " - msgid "Show all presets (including incompatible)" msgstr "Mostrar todos los perfiles (incluyendo los compatibles)" @@ -11265,56 +11821,38 @@ msgstr "El paquete de configuración se cambia en la Guía de configuración ant msgid "Configuration package changed" msgstr "Paquete de configuración cambiado" -msgid "Toolbar" -msgstr "Barra de herramientas" - -msgid "Objects list" -msgstr "Lista de objetos" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importar datos de geometría de los archivos STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Pegar desde el portapapeles" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Mostrar/Ocultar el diálogo de ajustes de los dispositivos 3Dconnexion" - -msgid "Switch table page" -msgstr "Cambiar de página de tabla" - -msgid "Show keyboard shortcuts list" -msgstr "Muestra lista de atajos de teclado" - -msgid "Global shortcuts" -msgstr "Atajos globales" - msgid "Pan View" msgstr "Movimiento de la vista" msgid "Rotate View" msgstr "Rotación de vista" -msgid "Middle mouse button" -msgstr "Botón central del ratón" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Zoom de vista" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Orienta automáticamente los objetos seleccionados o todos los objetos. Si hay objetos seleccionados, sólo orienta los seleccionados. En caso contrario, orientará todos los objetos del proyecto actual." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Orienta automáticamente todos los objetos de la placa actual." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Ocultar/Expandir barra lateral" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "⌘+Cualquier flecha" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Movimiento en el espacio de la cámara" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Seleccionar una pieza" @@ -11325,128 +11863,29 @@ msgstr "Seleccionar varios objetos" msgid "Select objects by rectangle" msgstr "Seleccionar objetos por rectángulo" -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Flecha arriba" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Mover la selección 10 mm en dirección Y positiva" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Flecha abajo" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Mover la selección 10 mm en dirección Y negativa" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Flecha izquierda" - -msgid "Move selection 10mm in negative X direction" -msgstr "Mover la selección 10 mm en dirección X negativa" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Flecha derecha" - -msgid "Move selection 10mm in positive X direction" -msgstr "Mover la selección 10 mm en dirección X positiva" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Teclado 1-9: ajustar el filamento para el objeto/pieza" msgid "Movement step set to 1mm" msgstr "Paso de movimiento configurado a 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Teclado 1-9: ajustar el filamento para el objeto/pieza" +msgid "Movement in camera space" +msgstr "Movimiento en el espacio de la cámara" -msgid "Camera view - Default" -msgstr "Vista de la cámara - Por defecto" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Vista de la cámara - Parte Superior" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Vista de la cámara - Parte inferior" +msgid "Zoom View" +msgstr "Zoom de vista" -msgid "Camera view - Front" -msgstr "Vista de la cámara - Frontal" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Vista de la cámara - Posterior" - -msgid "Camera Angle - Left side" -msgstr "Ángulo de la cámara - Lado izquierdo" - -msgid "Camera Angle - Right side" -msgstr "Ángulo de la cámara - Lado derecho" - -msgid "Select all objects" -msgstr "Seleccionar todos los objetos" - -msgid "Gizmo move" -msgstr "Herramienta de movimiento" - -msgid "Gizmo rotate" -msgstr "Herramienta de rotación" - -msgid "Gizmo scale" -msgstr "Herramienta de escala" - -msgid "Gizmo place face on bed" -msgstr "Herramienta de situar cara en cama" - -msgid "Gizmo cut" -msgstr "Herramienta de corte" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo buleana de malla" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Herramienta FDM para pintar piel rugosa" - -msgid "Gizmo SLA support points" -msgstr "Herramienta de puntos de soporte SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Herramienta de pintado de costuras FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Herramienta de texto en relieve/grabado" - -msgid "Gizmo measure" -msgstr "Gizmo medir" - -msgid "Gizmo assemble" -msgstr "Gizmo ensamblar" - -msgid "Gizmo brim ears" -msgstr "Gizmo orejas de borde" - -msgid "Zoom in" -msgstr "Acercar" - -msgid "Zoom out" -msgstr "Alejar" - -msgid "Toggle printable for object/part" -msgstr "Activar/desactivar la impresión para el objeto/pieza" - -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Cambiar entre Preparar/Previsualizar" - -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espacio" - -msgid "Open actions speed dial" -msgstr "Abrir el menú rápido de acciones" - -msgid "Plater" -msgstr "Cama" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Mover: pulsar para ajustar 1mm" @@ -11457,14 +11896,18 @@ msgstr "Soporte/Pintado en color: ajuste del radio del pincel" msgid "Support/Color Painting: adjust section position" msgstr "Soporte/Pintado de color: ajuste de la posición de la sección" -msgid "Gizmo" -msgstr "Herramienta" +msgid "Objects list" +msgstr "Lista de objetos" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Ajustar el número de extrusor para los objetos y las piezas" -msgid "Delete objects, parts, modifiers" -msgstr "Eliminar objetos, piezas, modificadores" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espacio" msgid "Select the object/part and press space to change the name" msgstr "Seleccione el objeto/pieza y pulse la barra espaciadora para cambiar el nombre" @@ -11475,43 +11918,48 @@ msgstr "Clic del ratón" msgid "Select the object/part and mouse click to change the name" msgstr "Seleccione el objeto/pieza y haga clic con el ratón para cambiar el nombre" -msgid "Objects List" -msgstr "Lista de Objetos" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Control deslizante vertical - Mover el pulgar activo hacia Arriba" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Control deslizante vertical - Mover el pulgar activo hacia Abajo" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Izquierda" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Derecha" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Activar/Desactivar el modo de una capa del control deslizante vertical" - -msgid "On/Off G-code window" -msgstr "Activar/Desactivar ventana de G-Code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Mover el deslizador 5 veces más rápido" -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Inicio" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Deslizador horizontal - Desplazarse a la posición inicial" +msgid "Not customizable" +msgstr "" -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Fin" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Deslizador horizontal - Desplazarse a la última posición" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Notas de versión" @@ -11705,15 +12153,22 @@ msgstr "Reparación cancelada" msgid "Copying of file %1% to %2% failed: %3%" msgstr "La copia del archivo %1% a %2% falló: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Descargando nuevos perfiles de fabricante: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Paquete de configuración: %1% actualizado a %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "No se han podido descargar los perfiles de fabricante: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Es necesario comprobar los cambios no guardados antes de actualizar la configuración." -msgid "Configuration package: " -msgstr "Paquete de configuración: " - -msgid " updated to " -msgstr " Actualizado a " - msgid "Open G-code file:" msgstr "Abrir archivo G-Code:" @@ -11773,11 +12228,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping solo es compatible con Klipper, RepRapFirmware y Marlin 2." -msgid "Grouping error: " -msgstr "Error de agrupación: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Error de agrupación: %1% no se puede colocar en la boquilla izquierda" -msgid " can not be placed in the " -msgstr " no se puede colocar en el " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Error de agrupación: %1% no se puede colocar en la boquilla derecha" msgid "Group error in manual mode. Please check nozzle count or regroup." msgstr "Error de agrupación en modo manual. Compruebe el número de boquillas o vuelva a agrupar." @@ -11890,6 +12349,10 @@ msgstr "%1% está demasiado cerca de otros, y pueden producirse colisiones." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% es demasiado alto, y se producirán colisiones." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "La posición relativa del modelo y la torre de purga no cumple los requisitos de la función \"Sin capas de baja densidad\". Ajuste sus posiciones relativas, reduzca la altura del modelo o desactive \"Sin capas de baja densidad\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " está muy cerca del área de exclusión, puede conllevar colisiones cuando se imprime." @@ -12225,6 +12688,9 @@ msgstr "Utiliza 3MF en lugar de G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Activa esta opción si la impresora admite un archivo 3MF como trabajo de impresión. Cuando está activada, Orca Slicer envía el archivo cortado como un archivo .gcode.3mf, en lugar de como un archivo .gcode convencional." +msgid "Printer Agent" +msgstr "Agente de impresora" + msgid "Select the network agent implementation for printer communication." msgstr "Seleccione la implementación del agente de red para la comunicación con la impresora." @@ -13270,6 +13736,10 @@ msgstr "Rectilíneo Alineado" msgid "Concentric" msgstr "Concéntrico" +# AI Translated +msgid "Spiral Inset" +msgstr "Espiral interior" + msgid "Hilbert Curve" msgstr "Curva de Hilbert" @@ -13349,26 +13819,28 @@ msgstr "" msgid "Top surface fill order" msgstr "Orden de relleno de la superficie superior" +# AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Dirección en la que se rellenan las superficies superiores al usar un patrón basado en el centro (Concéntrico, Cuerdas de Arquímedes, Espiral de octograma).\n" -"Hacia afuera comienza en el centro de la superficie, de modo que cualquier exceso de material se empuja hacia el borde, donde es menos visible. Hacia adentro comienza en el borde y termina con las curvas cerradas del centro.\n" -"Por defecto usa el orden de ruta más corta, que puede ir en cualquier dirección." +"Dirección en la que se rellenan las superficies superiores cuando se usa un patrón basado en el centro (Concéntrico, Espiral interior, Espiral de Arquímedes, Espiral Octagonal).\n" +"Hacia fuera empieza en el centro de la superficie, de modo que el material sobrante se empuja hacia el borde, donde resulta menos visible. Hacia dentro empieza en el borde y termina con las curvas cerradas del centro.\n" +"Por defecto usa el orden de ruta más corta, que puede recorrerse en cualquiera de los dos sentidos." msgid "Bottom surface fill order" msgstr "Orden de relleno de la superficie inferior" +# AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Dirección en la que se rellenan las superficies inferiores al usar un patrón basado en el centro (Concéntrico, Cuerdas de Arquímedes, Espiral de octograma).\n" -"Hacia adentro comienza cada superficie con las curvas exteriores más amplias, lo que mejora la adherencia de la primera capa en las camas donde las curvas cerradas del centro pueden no adherirse. Hacia afuera comienza en el centro, empujando cualquier exceso de material hacia el borde.\n" -"Por defecto usa el orden de ruta más corta, que puede ir en cualquier dirección." +"Dirección en la que se rellenan las superficies inferiores cuando se usa un patrón basado en el centro (Concéntrico, Espiral interior, Espiral de Arquímedes, Espiral Octagonal).\n" +"Hacia dentro empieza cada superficie por las curvas exteriores más amplias, lo que mejora la adhesión de la capa inicial en camas donde las curvas cerradas del centro pueden no agarrar. Hacia fuera empieza en el centro y empuja el material sobrante hacia el borde.\n" +"Por defecto usa el orden de ruta más corta, que puede recorrerse en cualquiera de los dos sentidos." msgid "Internal solid infill pattern" msgstr "Patrón de relleno sólido interno" @@ -13467,6 +13939,14 @@ msgstr "En sentido contrario a las agujas del reloj" msgid "Clockwise" msgstr "En el sentido de las agujas del reloj" +# AI Translated +msgid "Distance to rod" +msgstr "Distancia a la varilla" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Distancia horizontal de la punta de la boquilla al borde más alejado de la varilla. Se usa para evitar colisiones en la impresión por objeto." + msgid "Height to rod" msgstr "Altura a la barra" @@ -15593,6 +16073,20 @@ msgstr "Detectar perímetros en voladizo" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Detecta el porcentaje de voladizo en relación con el ancho de línea y utiliza diferentes velocidades para imprimir. Para el 100%% de voladizo, se utiliza la velocidad de puente." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Imprimir al final los perímetros sin soporte" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Los bucles de perímetro que quedan completamente en el aire se imprimen cuando algo puede sostenerlos:\n" +"se extruyen después de los demás perímetros de su isla, empezando por el más interno, sea cual sea el orden de perímetros.\n" +"Un bucle que solo pueden anclar los puentes de esta capa espera a que se impriman esos puentes, mientras que un bucle que discurre junto a un perímetro con soporte mantiene su lugar antes del relleno, que lo necesita como anclaje." + msgid "Outer walls" msgstr "Paredes exteriores" @@ -16020,6 +16514,39 @@ msgstr "Purgado en contornos curvos" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Para minimizar la visibilidad de la costura en un contorno curvo cerrado, se ejecuta un pequeño movimiento hacia dentro antes de que el extrusor abandone la curva." +# AI Translated +msgid "Wipe inward" +msgstr "Purgado hacia dentro" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Se aplica solo a los perímetros externos, incluidos los contornos de los agujeros. Durante el purgado mueve la boquilla caliente hacia los perímetros internos ya impresos para reducir el recalentamiento del plástico recién depositado y las marcas de costura.\n" +"\n" +"Es especialmente útil con alturas de capa por debajo de 0,1 mm, donde las marcas de purgado se ven más.\n" +"\n" +"Usa el purgado normal si no hay ningún perímetro interno contiguo ya impreso (zonas de un solo perímetro u orden de perímetros Exterior/Interior) o si no se encuentra ninguna trayectoria hacia dentro con apoyo, por ejemplo en esquinas cerradas o huecos de costura." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Distancia de purgado hacia dentro" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Distancia que se desplaza la trayectoria de purgado alejándose del perímetro externo, indicada en milímetros o como porcentaje del ancho de extrusión real del perímetro externo.\n" +"\n" +"Por ejemplo, 50% desplaza la trayectoria la mitad del ancho del perímetro externo. El desplazamiento efectivo está limitado tanto por el ancho real del perímetro externo como por el espacio disponible hasta el perímetro contiguo, por lo que valores por encima de 100% o una distancia absoluta equivalente no tienen ningún efecto adicional. Ponga 0 para desactivar el desplazamiento." + msgid "Wipe before external loop" msgstr "Purgado antes del bucle externo" @@ -16217,8 +16744,8 @@ msgstr "Pasos de precalentamiento" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Insertar múltiples comandos de precalentamiento (por ejemplo, M104.1). Sólo útil para Prusa XL. Para otras impresoras, por favor ajústar a 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code escrito en la parte superior del archivo de salida, antes de cualquier otro contenido. Útil para añadir metadatos que el firmware de la impresora lea desde las primeras líneas del archivo (por ejemplo, tiempo estimado de impresión, uso de filamento). Soporta marcadores como {print_time_sec} y {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "G-Code inicial" @@ -16279,8 +16806,9 @@ msgstr "Recoge la nueva herramienta sin esperar a que alcance la temperatura de msgid "No sparse layers (beta)" msgstr "Sin capas de baja densidad (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Sí está activado, la torre de purga no se imprimirá en las capa sin cambio de cabezal. En las capas con cambio de cabezal, viajará hacía abajo para imprimir la torre de purga. El usuario es responsable de asegurarse que no hay colisiones con la impresión." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Si se habilita, la torre de purga no se imprimirá en las capas sin cambios de herramienta. En las capas con un cambio de herramienta, el extrusor bajará para imprimir la torre de purga, de modo que la torre queda por debajo del modelo y el cabezal tiene que descender hasta ella. Se rechazan las disposiciones en las que eso chocaría con un objeto ya impreso. No tiene efecto con el timelapse suave ni con la detección de atascos en la boquilla, que necesitan una torre en cada capa." msgid "Prime all printing extruders" msgstr "Purgar todos los extrusores" @@ -16303,6 +16831,34 @@ msgstr "" msgid "Cyclic" msgstr "Cíclico" +# AI Translated +msgid "Cyclic order" +msgstr "Orden cíclico" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Secuencia de filamentos personalizada que usa el orden cíclico de cambios de herramienta, como números de filamento separados por comas (p. ej. \"3,2,1,4\").\n" +"Cada capa imprime sus filamentos siguiendo esta secuencia; los filamentos no incluidos se imprimen al final, en orden ascendente.\n" +"Déjelo vacío para recorrer los filamentos en orden ascendente." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Aplicar el orden cíclico a la capa inicial" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Aplica el orden cíclico de cambios de herramienta también a la capa inicial.\n" +"Por defecto está desactivado, porque la capa inicial se ordena en su lugar para lograr la mejor adhesión a la cama: los filamentos que imprimen detalles pequeños y frágiles de la capa inicial se imprimen al final, de modo que los cambios de herramienta y desplazamientos posteriores tienen menos probabilidad de arrancar esas piezas mal ancladas. Este orden de la capa inicial también respeta una secuencia de filamentos personalizada para la capa inicial cuando se ha definido. La ventaja del orden cíclico (los cambios de herramienta adicionales dan a cada capa más tiempo para enfriarse) no se aplica a la capa inicial, que se imprime despacio y caliente para favorecer la adhesión.\n" +"Active esta opción solo si necesita exactamente la misma secuencia de herramientas en todas las capas, incluida la primera, a costa de esa optimización de la adhesión." + msgid "Slice gap closing radius" msgstr "Radio de cierre de laminado" @@ -16312,9 +16868,6 @@ msgstr "Las grietas más pequeñas que 2x el radio de cierre se rellenan durante msgid "Slicing Mode" msgstr "Modo de laminado" -msgid "Other" -msgstr "Otro" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Utilice \"Par-impar\" para los modelos de avión de 3DLabPrint. Utilice \"Cerrar orificios\" para cerrar todos los orificios del modelo." @@ -17216,9 +17769,6 @@ msgstr "ancho de línea excesivo " msgid " not in range " msgstr " fuera de rango " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportar el proyecto como 3MF." @@ -17234,9 +17784,6 @@ msgstr "Cargar datos de laminado" msgid "Load cached slicing data from directory." msgstr "Cargar datos de laminado en caché desde el directorio." -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exportar los objetos como un único STL." @@ -17288,6 +17835,14 @@ msgstr "No comprobar" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "No ejecute ninguna comprobación de validez, como la comprobación de conflictos de ruta de G-Code." +# AI Translated +msgid "Strict mode" +msgstr "Modo estricto" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Sale con un código distinto de cero cuando el laminado genera un aviso no crítico que de otro modo solo se registraría, como un modelo que necesita soportes mientras los soportes están desactivados. Úselo en CI o en procesos automatizados que nunca deban entregar un laminado sutilmente defectuoso. Cada uno de esos avisos también aparece con una clase estable en el array `warnings` de result.json, que solo se escribe en Linux. No se puede combinar con --no-check, que omite la comprobación de soportes." + msgid "Normative check" msgstr "Comprobación de normativa" @@ -17300,11 +17855,28 @@ msgstr "Información del modelo de salida" msgid "This outputs the model’s information." msgstr "Salida de la información del modelo." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Inspeccionar malla (JSON por stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Imprime por stdout un resumen JSON de cada objeto cargado y después sale: sus cajas envolventes y las caras de su envolvente convexa sobre las que puede apoyarse, con sus normales, áreas y centros. Estas son las caras entre las que eligen las opciones --ground-*. Alternativa legible por máquina a --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Inspeccionar pintado (JSON por stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Imprime un resumen JSON estructurado de cada capa pintada (soportes, costura, color MMU, piel rugosa) ya guardada en el modelo cargado — número de facetas, área de superficie y caja envolvente local a la malla por cada estado — y después sale. Alternativa legible por máquina a abrir las herramientas de pintado en la interfaz." + msgid "Export Settings" msgstr "Ajustes de exportación" -msgid "This exports settings to a file." -msgstr "Exporta los ajustes a un archivo." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Esto exporta los ajustes a un archivo. Use - para escribirlos por stdout." msgid "Send progress to pipe" msgstr "Enviar el progreso a la tubería" @@ -17360,6 +17932,30 @@ msgstr "Rotar alrededor de Y" msgid "Rotation angle around the Y axis in degrees." msgstr "El ángulo de rotación alrededor del eje Y en grados." +# AI Translated +msgid "Ground largest face" +msgstr "Apoyar sobre la cara mayor" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoya cada objeto sobre la cara mayor de su envolvente convexa y lo deja caer sobre la cama. Entre caras igual de grandes se conserva la que ya mira hacia abajo. Los objetos sin una cara lo bastante grande para apoyarse se dejan como están. Las transformaciones se aplican en el orden de la línea de órdenes, por lo que se respetan las rotaciones indicadas antes de esta opción. --orient 1 se ejecuta después de todas las transformaciones y sustituye la orientación." + +# AI Translated +msgid "Ground face by normal" +msgstr "Apoyar sobre la cara según la normal" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoya cada objeto sobre la cara de su envolvente convexa cuya normal exterior sea la más próxima a la dirección NX,NY,NZ y lo deja caer sobre la cama. La dirección está en coordenadas del objeto, que incluyen las rotaciones indicadas antes de esta opción y coinciden con los ejes de la bandeja salvo que el archivo de entrada rote el objeto. Por ejemplo, 1,0,0 apoya el objeto sobre su lado +X. --orient 1 se ejecuta después de todas las transformaciones y sustituye la orientación." + +# AI Translated +msgid "Ground face at point" +msgstr "Apoyar sobre la cara en un punto" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoya cada objeto sobre la cara de su envolvente convexa que contiene el punto X,Y,Z y lo deja caer sobre la cama. El punto está en coordenadas del objeto, que incluyen las rotaciones indicadas antes de esta opción; --inspect-mesh indica los centros de las caras en esas coordenadas. Los objetos sin una cara así se dejan como están, y la ejecución falla si ningún objeto tiene una. --orient 1 se ejecuta después de todas las transformaciones y sustituye la orientación." + msgid "Scale the model by a float factor." msgstr "Escala el modelo por un factor de flotación." @@ -17657,12 +18253,36 @@ msgstr "Filamento usado" msgid "Total length of filament used in the print." msgstr "Longitud total de filamento utilizado en la impresión." -msgid "Print time (seconds)" -msgstr "Tiempo de impresión (segundos)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Tiempo total estimado de impresión en segundos. Reemplazado con valor real durante el post-procesamiento." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Longitud de filamento (metros)" @@ -17893,9 +18513,6 @@ msgstr "El archivo contiene un índice de vértices no válido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Este archivo OBJ no se ha podido leer porque está vacío." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibración de Velocidad Volumétrica Máxima" - msgid "Manage Result" msgstr "Administrar Resultados" @@ -18741,9 +19358,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: Valores altos pueden causar desplazamiento de capa (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibración de factor de flujo" - msgid "Calibration Test Type" msgstr "Tipo de calibración" @@ -19502,6 +20116,9 @@ msgstr "No se ha detectado una sesión válida. ¿Desea iniciar sesión en 3DPri msgid "Success!" msgstr "¡Éxito!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "¿Estás seguro de cerrar la sesión?" @@ -20409,6 +21026,18 @@ msgstr "Esta acción no se puede deshacer. ¿Continuar?" msgid "Skipping objects." msgstr "Omitiendo objetos." +# AI Translated +msgid "Material Ratio" +msgstr "Proporción de material" + +# AI Translated +msgid "Model Height" +msgstr "Altura del modelo" + +# AI Translated +msgid "Ratio" +msgstr "Proporción" + msgid "Select Filament" msgstr "Seleccionar Filamento" @@ -20440,12 +21069,6 @@ msgstr "El Plug-in de Bambu Network es necesario para las funciones en la nube, msgid "Error: %s" msgstr "Error: %s" -msgid "Show details" -msgstr "Mostrar detalles" - -msgid "Hide details" -msgstr "Ocultar detalles" - msgid "Version to install:" msgstr "Versión a instalar:" @@ -20648,11 +21271,15 @@ msgstr "Secado - Calentamiento" msgid "Drying-Dehumidifying" msgstr "Secado - Deshumidificación" -msgid " maximum drying temperature is " -msgstr " la temperatura máxima de secado es " +# AI Translated +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "La temperatura máxima de secado de %s es %d°C." -msgid " minimum drying temperature is " -msgstr " la temperatura mínima de secado es " +# AI Translated +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "La temperatura mínima de secado de %s es %d°C." msgid "This filament may not be completely dried." msgstr "Es posible que este filamento no esté completamente seco." @@ -20765,6 +21392,2488 @@ msgstr "Es posible que el filamento no sea compatible con la configuración de l msgid "The filament model is unknown. A random filament preset will be used." msgstr "Modelo de filamento desconocido. Se utilizará la configuración de filamento genérico. Se utilizará una configuración de filamento aleatorio." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Final" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Borrar" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Inicio" + +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Fin" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Flecha izquierda" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Flecha derecha" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Flecha arriba" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Flecha abajo" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importar datos de geometría de los archivos STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Seleccionar todos los objetos" + +msgid "Paste from clipboard" +msgstr "Pegar desde el portapapeles" + +msgid "Toggle printable for object/part" +msgstr "Activar/desactivar la impresión para el objeto/pieza" + +msgid "Move selection 10mm in negative X direction" +msgstr "Mover la selección 10 mm en dirección X negativa" + +msgid "Move selection 10mm in positive X direction" +msgstr "Mover la selección 10 mm en dirección X positiva" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Mover la selección 10 mm en dirección Y positiva" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Mover la selección 10 mm en dirección Y negativa" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Herramienta de movimiento" + +msgid "Gizmo rotate" +msgstr "Herramienta de rotación" + +msgid "Gizmo scale" +msgstr "Herramienta de escala" + +msgid "Gizmo place face on bed" +msgstr "Herramienta de situar cara en cama" + +msgid "Gizmo cut" +msgstr "Herramienta de corte" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo buleana de malla" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Herramienta de pintado de costuras FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Herramienta FDM para pintar piel rugosa" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Herramienta de texto en relieve/grabado" + +msgid "Gizmo measure" +msgstr "Gizmo medir" + +msgid "Gizmo assemble" +msgstr "Gizmo ensamblar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orejas de borde" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Control deslizante vertical - Mover el pulgar activo hacia Arriba" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Control deslizante vertical - Mover el pulgar activo hacia Abajo" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Izquierda" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Control deslizante horizontal - Mover el pulgar activo hacia la Derecha" + +msgid "Horizontal slider - Move to start position" +msgstr "Deslizador horizontal - Desplazarse a la posición inicial" + +msgid "Horizontal slider - Move to last position" +msgstr "Deslizador horizontal - Desplazarse a la última posición" + +msgid "Camera view - Default" +msgstr "Vista de la cámara - Por defecto" + +msgid "Camera view - Top" +msgstr "Vista de la cámara - Parte Superior" + +msgid "Camera view - Bottom" +msgstr "Vista de la cámara - Parte inferior" + +msgid "Camera view - Front" +msgstr "Vista de la cámara - Frontal" + +msgid "Camera view - Behind" +msgstr "Vista de la cámara - Posterior" + +msgid "Camera Angle - Left side" +msgstr "Ángulo de la cámara - Lado izquierdo" + +msgid "Camera Angle - Right side" +msgstr "Ángulo de la cámara - Lado derecho" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Acercar" + +msgid "Zoom out" +msgstr "Alejar" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Mostrar/Ocultar el diálogo de ajustes de los dispositivos 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Activar/Desactivar ventana de G-Code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Activar/Desactivar el modo de una capa del control deslizante vertical" + +msgid "Switch between Prepare/Preview" +msgstr "Cambiar entre Preparar/Previsualizar" + +msgid "Collapse/Expand the sidebar" +msgstr "Ocultar/Expandir barra lateral" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Muestra lista de atajos de teclado" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21065,6 +24174,146 @@ msgstr "" "Evita la deformación\n" "¿Sabías que al imprimir materiales propensos a la deformación como el ABS, aumentar adecuadamente la temperatura de la cama térmica puede reducir la probabilidad de deformaciones?" +#~ msgid "Tab" +#~ msgstr "Pestaña" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Muestra los FPS en la esquina superior derecha." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki de Publicar 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Guía en vídeo de Publicar 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Barra de herramientas" + +#~ msgid "Switch table page" +#~ msgstr "Cambiar de página de tabla" + +#~ msgid "Global shortcuts" +#~ msgstr "Atajos globales" + +#~ msgid "Middle mouse button" +#~ msgstr "Botón central del ratón" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Orienta automáticamente los objetos seleccionados o todos los objetos. Si hay objetos seleccionados, sólo orienta los seleccionados. En caso contrario, orientará todos los objetos del proyecto actual." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Orienta automáticamente todos los objetos de la placa actual." + +#~ msgid "Any arrow" +#~ msgstr "⌘+Cualquier flecha" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Herramienta de puntos de soporte SLA" + +#~ msgid "Plater" +#~ msgstr "Cama" + +#~ msgid "Gizmo" +#~ msgstr "Herramienta" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Eliminar objetos, piezas, modificadores" + +#~ msgid "Objects List" +#~ msgstr "Lista de Objetos" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code escrito en la parte superior del archivo de salida, antes de cualquier otro contenido. Útil para añadir metadatos que el firmware de la impresora lea desde las primeras líneas del archivo (por ejemplo, tiempo estimado de impresión, uso de filamento). Soporta marcadores como {print_time_sec} y {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Tiempo de impresión (segundos)" + +#~ msgid "Open actions speed dial" +#~ msgstr "Abrir el menú rápido de acciones" + +#~ msgid "Left: " +#~ msgstr "Izquierda: " + +#~ msgid "Right: " +#~ msgstr "Derecha: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "La temperatura máxima no puede superar " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "La temperatura mínima no debe ser inferior a " + +#~ msgid "up to" +#~ msgstr "hasta" + +#~ msgid "above" +#~ msgstr "sobre" + +#~ msgid "from" +#~ msgstr "desde" + +#~ msgid "Configuration package: " +#~ msgstr "Paquete de configuración: " + +#~ msgid " updated to " +#~ msgstr " Actualizado a " + +#~ msgid "Grouping error: " +#~ msgstr "Error de agrupación: " + +#~ msgid " can not be placed in the " +#~ msgstr " no se puede colocar en el " + +#~ msgid " maximum drying temperature is " +#~ msgstr " la temperatura máxima de secado es " + +#~ msgid " minimum drying temperature is " +#~ msgstr " la temperatura mínima de secado es " + +# AI Translated +#~ msgid "needs" +#~ msgstr "necesita" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "no habilitado" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "material no publicado" + +#~ msgid "Select the language" +#~ msgstr "Seleccionar el idioma" + +#~ msgid "Select plugin" +#~ msgstr "Seleccionar plugin" + +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Dirección en la que se rellenan las superficies superiores al usar un patrón basado en el centro (Concéntrico, Cuerdas de Arquímedes, Espiral de octograma).\n" +#~ "Hacia afuera comienza en el centro de la superficie, de modo que cualquier exceso de material se empuja hacia el borde, donde es menos visible. Hacia adentro comienza en el borde y termina con las curvas cerradas del centro.\n" +#~ "Por defecto usa el orden de ruta más corta, que puede ir en cualquier dirección." + +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Dirección en la que se rellenan las superficies inferiores al usar un patrón basado en el centro (Concéntrico, Cuerdas de Arquímedes, Espiral de octograma).\n" +#~ "Hacia adentro comienza cada superficie con las curvas exteriores más amplias, lo que mejora la adherencia de la primera capa en las camas donde las curvas cerradas del centro pueden no adherirse. Hacia afuera comienza en el centro, empujando cualquier exceso de material hacia el borde.\n" +#~ "Por defecto usa el orden de ruta más corta, que puede ir en cualquier dirección." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Sí está activado, la torre de purga no se imprimirá en las capa sin cambio de cabezal. En las capas con cambio de cabezal, viajará hacía abajo para imprimir la torre de purga. El usuario es responsable de asegurarse que no hay colisiones con la impresión." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exporta los ajustes a un archivo." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "La función de visualización en directo nativa de Wayland requiere el receptor de vídeo GTK de GStreamer. Instale el plugin gtksink para GStreamer y, a continuación, reinicie OrcaSlicer." @@ -21114,9 +24363,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Orden de impresión dentro de cada capa." -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frontal" @@ -21129,9 +24375,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Borrar" - #~ msgid "Backspace" #~ msgstr "Retroceso" @@ -21147,9 +24390,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Flecha hacia derecha" -#~ msgid "End" -#~ msgstr "Final" - #~ msgid "Hotend" #~ msgstr "Hotend" @@ -24096,9 +27336,6 @@ msgstr "" #~ msgid "Error at line %1%:\n" #~ msgstr "Error en la línea %1%:\n" -#~ msgid "Export Sliced File" -#~ msgstr "Exportar Archivo laminado" - #~ msgid "Export current Sliced file" #~ msgstr "Exportar el archivo laminado actual" diff --git a/localization/i18n/eu/OrcaSlicer_eu.po b/localization/i18n/eu/OrcaSlicer_eu.po index 9ee2e6451d..c5f7363361 100644 --- a/localization/i18n/eu/OrcaSlicer_eu.po +++ b/localization/i18n/eu/OrcaSlicer_eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-07-20 13:33+0200\n" "Last-Translator: Manu Goiogana \n" "Language-Team: \n" @@ -2390,15 +2390,6 @@ msgstr "Eguneratze bat dago erabilgarri. Ireki aurrezarpen-paketeen elkarrizketa msgid "%s has been removed." msgstr "%s kendu da." -msgid "Switching application language" -msgstr "Aplikazioaren hizkuntza aldatzen" - -msgid "Select the language" -msgstr "Hautatu hizkuntza" - -msgid "Language" -msgstr "Hizkuntza" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "Ezin izan da OrcaSlicer %s hizkuntzara aldatu." @@ -2430,6 +2421,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Ezin izan da pluginen elkarrizketa-koadroa ireki (errore ezezaguna)" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Plugin-terminala" @@ -3601,11 +3605,15 @@ msgstr "Atzera erakarri uneko filamentua Filament Track Switch-en" msgid "Switch track at Filament Track Switch" msgstr "Aldatu bidea Filament Track Switch-en" -msgid "The maximum temperature cannot exceed " -msgstr "Gehieneko tenperaturak ezin du hau gainditu: " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Gehieneko tenperaturak ezin du %d gainditu" -msgid "The minmum temperature should not be less than " -msgstr "Gutxieneko tenperaturak ezin du hau baino txikiagoa izan: " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Gutxieneko tenperaturak ezin du %d baino txikiagoa izan" msgid "Type to filter..." msgstr "Idatzi iragazteko..." @@ -4035,6 +4043,21 @@ msgstr "OrcaSlicer espiritu berean sortu zen, PrusaSlicer, BambuStudio, SuperSli msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Gaur egun, OrcaSlicer 3D inprimaketaren komunitatean gehien erabiltzen eta aktiboen garatzen den kode irekiko xerratzailea da. Haren berrikuntza asko beste xerratzaile batzuek bereganatu dituzte, eta industria osoaren eragile nagusietako bat bihurtu da." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Inprimagailua" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Materialen Ezarpena" @@ -4472,6 +4495,15 @@ msgstr "" "Aldi baterako G-code-a irteerako G-code-an kopiatzeak huts egin du. Agian SD txartela idazteko blokeatuta dago?\n" "Errore- mezua: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Huts egin du aldi baterako G-kodea irteerako G-kodera kopiatzeak.\n" +"Errore-mezua: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Aldi baterako G-code-a irteerako G-code-an kopiatzeak huts egin du. Arazoak egon daitezke helburuko gailuarekin, saiatu berriro esportatzen edo beste gailu bat erabiltzen. Hondatutako irteerako G-code-a hemen da: %1%.tmp." @@ -4771,6 +4803,9 @@ msgstr "" "Bai - Aldatu ezarpen hauek eta gaitu espiral/loreontzi modua automatikoki\n" "Ez - Utzi bertan behera espiral modua gaitzea" +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Inprimatzen" @@ -5201,14 +5236,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "%s balioa tartetik kanpo dago. Baliozko tartea %d eta %d artekoa da." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%% edo %s %s da?\n" -"BAI %s%%-(r)entzat,\n" -"EZ %s %s-(r)entzat." +msgid "Is it %s%% or %s %s?" +msgstr "%s%% edo %s %s da?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5231,24 +5263,18 @@ msgstr "Patroi baliogabea. Erabili N, N#K edo komaz bereizitako zerrenda bat, sa msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Formatuak ez du balio. Espero den formatu bektoriala: \"%1%\"" -msgid "N/A" -msgstr "N/A" - msgid "System agents" msgstr "Sistema-agenteak" -msgid "No plugin selected" -msgstr "Ez da pluginik hautatu" - msgid "Add plugin" msgstr "Gehitu plugina" -msgid "Select plugin" -msgstr "Hautatu plugina" - msgid "Remove plugin" msgstr "Kendu plugina" +msgid "No plugin selected" +msgstr "Ez da pluginik hautatu" + msgid "Configure" msgstr "Konfiguratu" @@ -5502,14 +5528,20 @@ msgstr "Ezarri optimo gisa" msgid "Regroup filament" msgstr "Taldekatu berriro filamentua" -msgid "up to" -msgstr "honaino" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "%1% mm arte" -msgid "above" -msgstr "honen gainean" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "%1% mm-tik gora" -msgid "from" -msgstr "hemendik" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "%1% mm-tik %2% mm-ra" msgid "Usage" msgstr "Erabilera" @@ -5569,9 +5601,6 @@ msgctxt "Noun" msgid "Print" msgstr "Inprimaketa" -msgid "Printer" -msgstr "Inprimagailua" - msgid "Time Estimation" msgstr "Denbora zenbatespena" @@ -5750,12 +5779,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Eskuinekoa" -msgid "Add" -msgstr "Gehitu" - msgid "Add plate" msgstr "Plaka gehitu" +msgid "Split to objects" +msgstr "Objektuetan zatitu" + +msgid "Add" +msgstr "Gehitu" + msgid "Auto orient all/selected objects" msgstr "Automatikoki orientatu hautatutako objektuak/objektu guztiak" @@ -5768,9 +5800,6 @@ msgstr "Antolatu objektu guztiak" msgid "Arrange objects on selected plates" msgstr "Antolatu hautatutako plaketako objektu guztiak" -msgid "Split to objects" -msgstr "Objektuetan zatitu" - msgid "Assembly View" msgstr "Multzoaren Ikuspegia" @@ -5825,6 +5854,9 @@ msgstr "Ingerada" msgid "Wireframe" msgstr "Alanbre-egitura" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Ikuspegi errealista" @@ -6029,6 +6061,9 @@ msgstr "Aplikazioa ixten, aurrezarpen batzuk aldatu ondoren." msgid "Logging" msgstr "Saioa hasten" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Prestatu" @@ -6175,6 +6210,14 @@ msgstr "Gorde proiektua honela" msgid "Save current project as" msgstr "Gorde uneko proiektua honela" +# AI Translated +msgid "Publish 3MF" +msgstr "Argitaratu 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Esportatu 3MF fitxategi bat hautatutako ezarpenak kapsulatuta dituela" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Inportatu 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6357,6 +6400,9 @@ msgstr "Editatu" msgid "View" msgstr "Bista" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Aurrezarpen-paketea" @@ -7276,6 +7322,231 @@ msgstr "Ez erakutsi elkarrizketa-koadro hau berriro" msgid "Please refer to Wiki before use->" msgstr "Kontsultatu Wikia erabili aurretik ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Esportatu STL" + +msgid "Export 3MF" +msgstr "Esportatu 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Gehieneko abiadura bolumetrikoaren kalibrazioa" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Fluxu-erlazioaren kalibrazioa" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Ezabatu objektu guztiak" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Banatu objektutan" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Sagua deskonektatuta." @@ -7433,6 +7704,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Behea" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Ezarpen honek ez du plugin-gaitasun motarik zehazten." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Ezarpen honek ezagutzen ez den plugin-gaitasun mota bat zehazten du: " + msgid "Plugin Selection" msgstr "Plugin-hautaketa" @@ -7910,9 +8189,6 @@ msgstr "Zabaldu alboko barra" msgid "Collapse sidebar" msgstr "Tolestu alboko barra" -msgid "Tab" -msgstr "Fitxa" - #, c-format, boost-format msgid "Loading file: %s" msgstr "%s fitxategia kargatzen" @@ -7988,6 +8264,14 @@ msgstr "Berretsi aurrezarpen hauetako G-codea segurua dela, makinari kalterik ez msgid "Customized Preset" msgstr "Aurrezarpen pertsonalizatua" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Argitaratutako ezarpen batzuk ezin izan dira aplikatu:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Filamentu-erreten batzuk aldatu dira:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "STEP fitxategiko osagai-izena(k) ez dago/daude UTF-8 formatuan!" @@ -8103,18 +8387,12 @@ msgstr "" msgid "Delete Object" msgstr "Ezabatu objektua" -msgid "Delete All Objects" -msgstr "Ezabatu objektu guztiak" - msgid "Reset Project" msgstr "Berrezarri proiektua" msgid "The selected object couldn't be split." msgstr "Hautatutako objektua ezin izan da zatitu." -msgid "Split to Objects" -msgstr "Banatu objektutan" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Auto-Drop desgaitu Z posizioa mantentzeko?\n" @@ -8388,6 +8666,21 @@ msgstr "Gorde xerratutako fitxategia honela:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "%s fitxategia inprimagailuaren biltegiratze-eremura bidali da eta inprimagailuan ikus daiteke." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Argitaratu 3MF fitxategia honela:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Huts egin du argitaratutako 3MF fitxategia esportatzeak.\n" +"Egiaztatu karpeta linean dagoen edo beste programa batzuek fitxategia irekita duten." + +msgid "Publish" +msgstr "Argitaratu" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Pita mota ez dago ezarrita. Ezarri pita eta saiatu berriro." @@ -8587,9 +8880,6 @@ msgstr "Jarraitu nahi duzu?" msgid "Language selection" msgstr "Hizkuntza-hautaketa" -msgid "Switching application language while some presets are modified." -msgstr "Aplikazioaren hizkuntza aldatzen ari da aurrezarpen batzuk aldatuta dauden bitartean." - msgid "Asia-Pacific" msgstr "Asia-Pazifikoa" @@ -8694,6 +8984,9 @@ msgstr "Uneko instantziaren bide-izena: " msgid "General" msgstr "Orokorra" +msgid "Language" +msgstr "Hizkuntza" + msgid "Metric" msgstr "Metrikoa" @@ -8890,6 +9183,33 @@ msgstr "Gailu anitzen kudeaketa" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Aukera hau gaituta, zeregin bat hainbat gailutara bidali eta hainbat gailu kudea ditzakezu aldi berean." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Erakutsi filamentuak taldekatzeko modua hautatzeko leihoa" @@ -8971,6 +9291,12 @@ msgstr "Alderantzikatu saguaren zooma" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Gaituta badago, saguaren gurpilarekin zoomaren norabidea alderantzikatzen du." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Desplazatu" @@ -8992,6 +9318,15 @@ msgstr "Saguaren eskuineko botoiarekin arrastatu" msgid "Set the action that dragging the right mouse button should perform." msgstr "Ezarri saguaren eskuineko botoia arrastatzean egin beharreko ekintza." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Garbitu nire aukera hemen..." @@ -9100,11 +9435,39 @@ msgstr "" "Ikuspegiaren fotograma-tasa mugatzen du GPUaren karga eta energia-kontsumoa murrizteko.\n" "Ezarri 0 fotograma-tasa mugagabea erabiltzeko." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Erakutsi FPS gainjartzea" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Uneko ikuspegiaren FPSa goiko eskuineko izkinan erakusten du." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9122,9 +9485,6 @@ msgstr "Xerratutako aurrebistan geruza-graduatzailea mugitzean, unekoaren azpiko msgid "Dimmed layer brightness" msgstr "Ilundutako geruzen distira" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9505,9 +9865,6 @@ msgstr "Joan modeloa argitaratzeko web-orrira" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Oharra: prestaketak minutu batzuk iraun ditzake. Izan pazientzia." -msgid "Publish" -msgstr "Argitaratu" - msgid "Publish was canceled" msgstr "Argitaratzea bertan behera utzi da" @@ -9523,6 +9880,76 @@ msgstr "Datuak igotzen" msgid "Jump to webpage" msgstr "Joan web-orrira" +# AI Translated +msgid "Material" +msgstr "Materiala" + +# AI Translated +msgid "Mixed filament" +msgstr "Filamentu nahasia" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Filamentu nahasi batzuk argitaratuko ez diren filamentuen mende daude:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "%d filamentua (nahasia)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% filamentuak %2% behar du, baina ez dago gaituta." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% filamentuak %2% behar du, baina haren materiala ez da argitaratuko." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Filamentu nahasi bat argitaratzeko, gaitu erabiltzen dituen filamentu guztiak eta hautatu Argitalpen osoa edo bete bere Mota baldintza." + +# AI Translated +msgid "Publish anyway" +msgstr "Argitaratu hala ere" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Argitaratu 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Hautatu zein ezarpen argitaratuko diren 3MF fitxategian" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filamentu nahasia - osorik argitaratzen da goian \"Gaitu\" hautatuta dagoenean" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Argitaratu filamentu nahasi hau eta gaitu + argitaratu osorik bere osagai diren filamentuak" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Argitaratu filamentu-erreten hau 3MF fitxategian" + +# AI Translated +msgid "Full Publish" +msgstr "Argitalpen osoa" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Kapsulatu erreten honetako filamentu osoa 3MF fitxategian" + +# AI Translated +msgid "Filter non-selected" +msgstr "Iragazi hautatu gabeak" + #, c-format, boost-format msgid "Save %s as" msgstr "Gorde %s honela" @@ -9540,6 +9967,10 @@ msgstr "Aurrezarpen honetara gurasoaren balio heredatu guztiak kopiatzen ditu et msgid "Detach from parent" msgstr "Bereizi gurasotik" +# AI Translated +msgid "Save without parent" +msgstr "Gorde gurasorik gabe" + # AI Translated msgid "Unique preset" msgstr "Aurrezarpen bakarra" @@ -9599,6 +10030,133 @@ msgstr "\"%1%\"(e)n, gehitu \"%2%\" aurrezarpen berri gisa" msgid "Simply switch to \"%1%\"" msgstr "Aldatu \"%1%\"(e)ra soilik" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Bestelakoak" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Erakutsi xehetasunak" + +# AI Translated +msgid "Hide details" +msgstr "Ezkutatu xehetasunak" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Zeregina bertan behera utzi da" @@ -10221,9 +10779,17 @@ msgstr "Purgatze-dorrea behar da material-metaketa detektatzeko. Modeloak akatsa msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Z altuera zehatza eta purgatze-dorrea batera gaitzeak xerratze-erroreak eragin ditzake. Hala ere Z altuera zehatza gaitu nahi duzu?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Timelapse leunak purgatze-dorrea behar du geruza guztietan, eta hori ez da bateragarria \"Geruza bakandurik ez\" aukerarekin. \"Geruza bakandurik ez\" desaktibatu da." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Purgatze-dorrea behar da timelapse leunaren modurako. Modeloak akatsak izan ditzake purgatze-dorrerik gabe. Purgatze-dorrea gaitu nahi duzu?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Geruza bakandurik ez\" ez da bateragarria timelapse leunarekin, horrek purgatze-dorrea behar baitu geruza guztietan. Timelapsea modu tradizionalera aldatu da." + msgid "Still print by object?" msgstr "Objektuka inprimatu hala ere?" @@ -10593,9 +11159,6 @@ msgstr "Prozesu-profil bateragarriak" msgid "Printable space" msgstr "Inprimatzeko espazioa" -msgid "Printer Agent" -msgstr "Inprimagailu-agentea" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Hautatu sare-agentearen inplementazioa inprimagailuarekin komunikatzeko. Erabilgarri dauden agenteak abioan erregistratzen dira." @@ -10989,12 +11552,6 @@ msgstr "Estrusore kopurua" msgid "Capabilities" msgstr "Gaitasunak" -msgid "Left: " -msgstr "Ezkerra: " - -msgid "Right: " -msgstr "Eskuina: " - msgid "Show all presets (including incompatible)" msgstr "Erakutsi aurrezarpen guztiak (bateraezinak barne)" @@ -11375,56 +11932,39 @@ msgstr "Konfigurazio-paketea aldatu da aurreko Konfigurazio Gidan" msgid "Configuration package changed" msgstr "Konfigurazio-paketea aldatu da" -msgid "Toolbar" -msgstr "Tresna-barra" - -msgid "Objects list" -msgstr "Objektuen zerrenda" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Inportatu geometriaren datuak STL/STEP/3MF/OBJ/AMF fitxategietatik" - -msgid "Paste from clipboard" -msgstr "Itsatsi arbeletik" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Erakutsi/Ezkutatu 3Dconnexion gailuen ezarpenen elkarrizketa-koadroa" - -msgid "Switch table page" -msgstr "Aldatu taula-orria" - -msgid "Show keyboard shortcuts list" -msgstr "Erakutsi teklatu-lasterbideen zerrenda" - -msgid "Global shortcuts" -msgstr "Lasterbide globalak" - msgid "Pan View" msgstr "Mugitu ikuspegia" msgid "Rotate View" msgstr "Biratu ikuspegia" -msgid "Middle mouse button" -msgstr "Saguaren erdiko botoia" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Zooma ikuspegian" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Hautatutako objektuak edo objektu guztiak automatikoki orientatzen ditu. Objektuak hautatuta badaude, hautatutakoak bakarrik orientatzen ditu. Bestela, uneko proiektuko objektu guztiak orientatuko ditu." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Objektu guztiak automatikoki orientatzen ditu plaka aktiboan." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Tolestu/Zabaldu alboko barra" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Edozein gezi" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Mugimendua kameraren espazioan" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Hautatu pieza bat" @@ -11435,134 +11975,29 @@ msgstr "Hautatu objektu bat baino gehiago" msgid "Select objects by rectangle" msgstr "Hautatu objektuak laukizuzen bidez" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Gora gezia" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Mugitu hautapena 10 mm Y noranzko positiboan" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Behera gezia" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Mugitu hautapena 10 mm Y noranzko negatiboan" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Ezkerrera gezia" - -msgid "Move selection 10mm in negative X direction" -msgstr "Mugitu hautapena 10 mm X noranzko negatiboan" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Eskuinera gezia" - -msgid "Move selection 10mm in positive X direction" -msgstr "Mugitu hautapena 10 mm X noranzko positiboan" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "1-9 teklak: ezarri filamentua objektuari/piezari" msgid "Movement step set to 1mm" msgstr "Mugimendu-urratsa 1 mm-an ezarri da" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "1-9 teklak: ezarri filamentua objektuari/piezari" +msgid "Movement in camera space" +msgstr "Mugimendua kameraren espazioan" -msgid "Camera view - Default" -msgstr "Kameraren ikuspegia - Lehenetsia" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kameraren ikuspegia - Goia" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kameraren ikuspegia - Behea" +msgid "Zoom View" +msgstr "Zooma ikuspegian" -msgid "Camera view - Front" -msgstr "Kameraren ikuspegia - Aurrea" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kameraren ikuspegia - Atzea" - -msgid "Camera Angle - Left side" -msgstr "Kameraren angelua - Ezker aldea" - -msgid "Camera Angle - Right side" -msgstr "Kameraren angelua - Eskuin aldea" - -msgid "Select all objects" -msgstr "Hautatu objektu guztiak" - -msgid "Gizmo move" -msgstr "Mugitzeko tresna" - -msgid "Gizmo rotate" -msgstr "Biraketa tresna" - -msgid "Gizmo scale" -msgstr "Eskalarako tresna" - -msgid "Gizmo place face on bed" -msgstr "Aurpegia ohean kokatzeko tresna" - -msgid "Gizmo cut" -msgstr "Ebakitzeko tresna" - -msgid "Gizmo mesh boolean" -msgstr "Sare boolearrerako tresna" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "FDM gainazal zimurra margotzeko tresna" - -msgid "Gizmo SLA support points" -msgstr "SLA euskarri-puntuentzako tresna" - -msgid "Gizmo FDM paint-on seam" -msgstr "FDM josturak margotzeko tresna" - -msgid "Gizmo text emboss/engrave" -msgstr "Testua erliebean/grabatuta ipintzeko tresna" - -msgid "Gizmo measure" -msgstr "Neurtzeko tresna" - -msgid "Gizmo assemble" -msgstr "Muntatzeko tresna" - -msgid "Gizmo brim ears" -msgstr "Belarri ertzen tresna" - -msgid "Zoom in" -msgstr "Zooma handitu" - -msgid "Zoom out" -msgstr "Txikiagotu zooma" - -msgid "Toggle printable for object/part" -msgstr "Txandakatu objektuaren/piezaren inprimagarritasuna" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Aldatu Prestatu/Aurrebista artean" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Zuriunea" - -msgid "Open actions speed dial" -msgstr "Ekintzen markatze azkarra ireki" - -msgid "Plater" -msgstr "Plaka-antolatzailea" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Mugitu: sakatu 1 mm-ko jauzietan atxikitzeko" @@ -11573,14 +12008,19 @@ msgstr "Euskarri/Kolore margotzea: doitu boligrafoaren erradioa" msgid "Support/Color Painting: adjust section position" msgstr "Euskarri/Kolore-margotzea: doitu sekzioaren posizioa" -msgid "Gizmo" -msgstr "Tresna" +msgid "Objects list" +msgstr "Objektuen zerrenda" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Ezarri objektuen eta piezen estrusore zenbakia" -msgid "Delete objects, parts, modifiers" -msgstr "Ezabatu objektuak, piezak eta aldatzaileak" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Zuriunea" msgid "Select the object/part and press space to change the name" msgstr "Hautatu objektua/partea eta sakatu zuriunea izena aldatzeko" @@ -11591,45 +12031,48 @@ msgstr "Saguaren klika" msgid "Select the object/part and mouse click to change the name" msgstr "Hautatu objektua/pieza eta egin klik izena aldatzeko" -msgid "Objects List" -msgstr "Objektuen zerrenda" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Graduatzaile bertikala - Mugitu hatz aktiboa gora" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Graduatzaile bertikala - Mugitu hatz aktiboa behera" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Graduatzaile horizontala - Mugitu hatz aktiboa ezkerrera" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Graduatzaile horizontala - Mugitu hatz aktiboa eskuinera" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Aktibatu/Desaktibatu graduatzaile bertikalaren geruza bakarreko modua" - -msgid "On/Off G-code window" -msgstr "G-code leihoa aktibatu/desaktibatu" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Mugitu graduatzailea 5 aldiz azkarrago" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Hasiera" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Graduatzaile horizontala - Mugitu hasierako posiziora" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Amaiera" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Graduatzaile horizontala - Mugitu azken posiziora" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Argitalpen-oharra" @@ -11825,15 +12268,22 @@ msgstr "Konponketa bertan behera utzi da" msgid "Copying of file %1% to %2% failed: %3%" msgstr "%1% fitxategia %2% helmugara kopiatzeak huts egin du: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Hornitzaileen profil berriak deskargatzen: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Konfigurazio-paketea: %1% %2% bertsiora eguneratu da" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Huts egin du hornitzaileen profilak deskargatzeak: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Egiaztatu gorde gabeko aldaketarik dagoen konfigurazioa eguneratu aurretik." -msgid "Configuration package: " -msgstr "Konfigurazio-paketea: " - -msgid " updated to " -msgstr " hona eguneratu da: " - msgid "Open G-code file:" msgstr "Ireki G-code fitxategia:" @@ -11893,11 +12343,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Sarrera-moldaketa Klipperrek, RepRapFirmwarek eta Marlin 2k soilik onartzen dute." -msgid "Grouping error: " -msgstr "Taldekatze-errorea: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Taldekatze-errorea: %1% ezin da ezkerreko pitan jarri" -msgid " can not be placed in the " -msgstr " ezin da hemen kokatu: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Taldekatze-errorea: %1% ezin da eskuineko pitan jarri" msgid "Group error in manual mode. Please check nozzle count or regroup." msgstr "Taldekatze-errorea eskuzko moduan. Egiaztatu pita kopurua edo taldekatu berriro." @@ -12010,6 +12464,10 @@ msgstr "%1% besteetatik gertuegi dago, eta talkak sor daitezke." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% altuegia da, eta talkak sortuko dira." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Modeloaren eta purgatze-dorrearen kokapen erlatiboak ez ditu betetzen \"Geruza bakandurik ez\" funtzioaren baldintzak. Doitu haien kokapen erlatiboa, jaitsi modeloaren altuera edo desaktibatu \"Geruza bakandurik ez\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " baztertze-eremutik gertuegi dago; talkak egon daitezke inprimatzean." @@ -12356,6 +12814,9 @@ msgstr "Erabili 3MF G-codearen ordez" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Gaitu aukera hau inprimagailuak 3MF fitxategi bat inprimatze-lan gisa onartzen badu. Gaituta dagoenean, OrcaSlicerrek xerratutako fitxategia .gcode.3mf gisa bidaltzen du, .gcode fitxategi arrunt baten ordez." +msgid "Printer Agent" +msgstr "Inprimagailu-agentea" + msgid "Select the network agent implementation for printer communication." msgstr "Hautatu inprimagailuarekin komunikatzeko sare-agentearen inplementazioa." @@ -13403,6 +13864,10 @@ msgstr "Lerrozuzen lerrokatua" msgid "Concentric" msgstr "Kontzentrikoa" +# AI Translated +msgid "Spiral Inset" +msgstr "Kiribil-barneratzea" + msgid "Hilbert Curve" msgstr "Hilbert kurba" @@ -13488,26 +13953,26 @@ msgstr "Goiko gainazala betetzeko ordena" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Goiko gainazalak betetzen diren noranzkoa zentroan oinarritutako patroia erabiltzen denean (Kontzentrikoa, Arkimedesen kordak, Oktagrama-kiribila).\n" -"Kanporanzkoa erdialdean hasten da, beraz, gehiegizko materiala gutxien ikusten den ertzera bultzatzen da. Barruranzkoa ertzean hasten da eta erdian kurba estuekin amaitzen da.\n" -"Lehenetsiak bide laburreneko ordena erabiltzen du, zeina norabide batean zein bestean ibil daitekeen." +"Goiko gainazalak zein norabidetan betetzen diren erdigunetik abiatzen den patroi bat erabiltzean (Kontzentrikoa, Kiribil-barneratzea, Arkimedesen kordak, Oktagrama-kiribila).\n" +"Kanporantz gainazalaren erdigunean hasten da, eta, hala, soberako materiala ertzerantz bultzatzen da, non gutxien ikusten den. Barrurantz ertzean hasten da eta erdiguneko kurba estuekin amaitzen da.\n" +"Lehenetsia bide laburrenaren ordena erabiltzen du, eta bi norabideetako edozeinetan joan daiteke." msgid "Bottom surface fill order" msgstr "Beheko gainazala betetzeko ordena" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Beheko gainazalak betetzen diren noranzkoa zentroan oinarritutako patroia erabiltzen denean (Kontzentrikoa, Arkimedesen kordak, Oktagrama-kiribila).\n" -"Barruranzkoa hasten da gainazal bakoitza kanpoko kurba zabalagoekin, eta horrek lehen geruzaren atxikimendua hobetzen du erdiko kurba estuak itsatsi ez daitezkeen inprimatze-plaketan. Kanporanzkoa erdialdean hasten da, gehiegizko materiala ertzera bultzatuz.\n" -"Lehenetsiak bide laburreneko ordena erabiltzen du, zeina norabide batean zein bestean ibil daitekeen." +"Beheko gainazalak zein norabidetan betetzen diren erdigunetik abiatzen den patroi bat erabiltzean (Kontzentrikoa, Kiribil-barneratzea, Arkimedesen kordak, Oktagrama-kiribila).\n" +"Barrurantz gainazal bakoitza kanpoko kurba zabalagoekin hasten da, eta horrek lehen geruzaren itsaspena hobetzen du erdiguneko kurba estuak ondo itsasten ez diren oheetan. Kanporantz erdigunean hasten da, eta soberako materiala ertzerantz bultzatzen du.\n" +"Lehenetsia bide laburrenaren ordena erabiltzen du, eta bi norabideetako edozeinetan joan daiteke." # AI Translated msgid "Internal solid infill pattern" @@ -13609,6 +14074,14 @@ msgstr "Erlojuaren kontrako noranzkoa" msgid "Clockwise" msgstr "Erlojuaren noranzkoa" +# AI Translated +msgid "Distance to rod" +msgstr "Barrarainoko distantzia" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Pitaren muturretik barraren urrunen dagoen ertzerainoko distantzia horizontala. Objektuka inprimatzean talkak saihesteko erabiltzen da." + msgid "Height to rod" msgstr "Hagaxkarainoko altuera" @@ -15763,6 +16236,20 @@ msgstr "Detektatu irtengune-hormak" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Honek irtenguneen ehunekoa detektatzen du lerro-zabalerarekiko eta abiadura desberdina erabiltzen du. 100%%-eko irtengunean zubi-abiadura erabiltzen da." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Inprimatu azkenik euskarririk gabeko hormak" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Erabat airean dauden hormako begiztak zerbaitek eutsi diezaiekeenean inprimatzen dira:\n" +"beren uhartearen gainerako hormen ondoren estruitzen dira, barrukoenetik hasita, hormen ordena edozein dela ere.\n" +"Geruza honetako zubiek soilik ainguratu dezaketen begizta batek zubi horiek inprimatu arte itxaroten du; euskarria duen horma baten ondotik doan begiztak, berriz, betegarriaren aurreko lekuari eusten dio, betegarriak aingura gisa behar baitu." + msgid "Outer walls" msgstr "Kanpoko hormak" @@ -16192,6 +16679,39 @@ msgstr "Garbitu begiztetan" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Begizta itxiko estrusio batean josturaren ikusgarritasuna minimizatzeko, barruranzko mugimendu txiki bat egiten da estrusoreak begizta utzi aurretik." +# AI Translated +msgid "Wipe inward" +msgstr "Purgatu barrurantz" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Kanpoko hormei soilik aplikatzen zaie, zuloen mugak barne. Purgatzean pita beroa jada inprimatutako barruko hormetarantz mugitzen du, inprimatu berri den plastikoa berriro berotzea eta jostura-markak murrizteko.\n" +"\n" +"Bereziki erabilgarria da 0,1 mm-tik beherako geruza-altueretan, non purgatze-markak nabarmenago ikusten diren.\n" +"\n" +"Purgatze arrunta erabiltzen du ondoko barruko hormarik jada inprimatuta ez badago (horma bakarreko eremuak edo Kanpokoa/Barrukoa hormen ordena) edo euskarria duen barrurako biderik aurkitzen ez bada, adibidez izkina estuetan edo josturako hutsuneetan." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Barrurako purgatze-distantzia" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Purgatze-bidea kanpoko perimetrotik zenbat desplazatzen den, milimetrotan edo kanpoko hormaren benetako estrusio-zabaleraren ehuneko gisa adierazita.\n" +"\n" +"Adibidez, 50% bideak kanpoko hormaren zabaleraren erdia desplazatzen du. Desplazamendu eraginkorra mugatuta dago bai kanpoko hormaren benetako zabaleragatik bai ondoko hormarainoko tarte erabilgarriagatik; beraz, 100% baino handiagoko balioek edo baliokidea den distantzia absolutu batek ez dute eragin gehigarririk. Ezarri 0 desplazamendua desgaitzeko." + msgid "Wipe before external loop" msgstr "Garbitu kanpoko begizta baino lehen" @@ -16389,8 +16909,8 @@ msgstr "Aurrez berotzeko urratsak" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Txertatu aurrez berotzeko hainbat komando (adib. M104.1). Prusa XL-rakobakarrik da erabilgarria. Beste inprimagailuetarako, ezarri 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "Irteerako fitxategiaren hasiera-hasieran idatzitako G-codea, beste edozein eduki baino lehen. Inprimagailuaren firmwareak fitxategiaren lehen lerroetatik irakurtzen dituen metadatuak gehitzeko erabilgarria da (adibidez, zenbatetsitako inprimatze-denbora edo filamentuen erabilera). {print_time_sec} eta {used_filament_length} moduko leku-markak onartzen ditu." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Hasierako G-codea" @@ -16451,8 +16971,9 @@ msgstr "Hartu erreminta berria inprimatze-tenperaturara iritsi arte itxaron gabe msgid "No sparse layers (beta)" msgstr "Geruza bakandurik ez (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Gaituta badago, purgatze-dorrea ez da inprimatuko tresna-aldaketarik ez duten geruzetan. Tresna-aldaketa duten geruzetan, estrusorea beherantz mugituko da purgatze-dorrea inprimatzeko. Erabiltzailearen ardura da inprimaketarekin talkarik ez dagoela ziurtatzea." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Gaituz gero, purgatze-dorrea ez da inprimatuko erreminta-aldaketarik ez duten geruzetan. Erreminta-aldaketa duten geruzetan, estrusorea behera joango da purgatze-dorrea inprimatzera; beraz, dorrea modeloaren azpian geratzen da eta inprimatze-buruak beheraino iritsi behar du. Jada inprimatutako objektu batekin talka egingo luketen antolamenduak baztertu egiten dira. Ez du eraginik timelapse leunarekin edo pitaren pilaketa-detekzioarekin, horiek geruza guztietan dorrea behar baitute." msgid "Prime all printing extruders" msgstr "Primatu inprimatzeko estrusore guztiak" @@ -16475,6 +16996,34 @@ msgstr "" msgid "Cyclic" msgstr "Ziklikoa" +# AI Translated +msgid "Cyclic order" +msgstr "Ordena ziklikoa" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Erreminta-aldaketen ordena ziklikoak erabiltzen duen filamentu-sekuentzia pertsonalizatua, filamentu-zenbakiak komaz bereizita (adib. \"3,2,1,4\").\n" +"Geruza bakoitzak sekuentzia horri jarraituz inprimatzen ditu bere filamentuak; zerrendatu gabeko filamentuak azkenik inprimatzen dira, gorantz ordenatuta.\n" +"Utzi hutsik filamentuak gorantz ordenatuta zeharkatzeko." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Aplikatu ordena ziklikoa lehen geruzari" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Erreminta-aldaketen ordena ziklikoa lehen geruzari ere aplikatzen dio.\n" +"Lehenespenez desgaituta dago, lehen geruza ohean ahalik eta ondoen itsasteko ordenatzen baita: lehen geruzako elementu txiki eta hauskorrak inprimatzen dituzten filamentuak azkenik inprimatzen dira, hala ondorengo erreminta-aldaketek eta desplazamenduek nekezago askatuko baitituzte ahul ainguratutako zati horiek. Lehen geruzaren ordena horrek lehen geruzarako filamentu-sekuentzia pertsonalizatua ere errespetatzen du, ezarrita badago. Ordena ziklikoaren onura (erreminta-aldaketa gehigarriek geruza bakoitzari hozteko denbora gehiago ematen diote) ez da lehen geruzari aplikatzen, itsaspenagatik astiro eta bero inprimatzen baita.\n" +"Gaitu hau soilik geruza guztietan, lehena barne, erreminta-sekuentzia zehatz-mehatz bera behar baduzu, itsaspen-optimizazio hori galtzearen truke." + msgid "Slice gap closing radius" msgstr "Xerraketan tartea ixteko erradioa" @@ -16484,9 +17033,6 @@ msgstr "Tartea ixteko erradioaren bikoitza baino txikiagoak diren pitzadurak bet msgid "Slicing Mode" msgstr "Xerratze-modua" -msgid "Other" -msgstr "Bestelakoak" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Erabili \"Bikoiti-bakoiti\" 3DLabPrint hegazkin-modeloetarako. Erabili \"Itxi zuloak\" modeloko zulo guztiak ixteko." @@ -17397,9 +17943,6 @@ msgstr "lerro-zabalera handiegia " msgid " not in range " msgstr " ez dago tartean " -msgid "Export 3MF" -msgstr "Esportatu 3MF" - msgid "This exports the project as a 3MF file." msgstr "Honek proiektua 3MF gisa esportatzen du." @@ -17415,9 +17958,6 @@ msgstr "Kargatu xerratze-datuak" msgid "Load cached slicing data from directory." msgstr "Kargatu cachean gordetako xerratze-datuak direktoriotik." -msgid "Export STL" -msgstr "Esportatu STL" - msgid "Export the objects as single STL." msgstr "Esportatu objektuak STL bakar gisa." @@ -17469,6 +18009,14 @@ msgstr "Egiaztapenik ez" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Ez exekutatu baliozkotasun-egiaztapenik, hala nola G-code bideen gatazken egiaztapena." +# AI Translated +msgid "Strict mode" +msgstr "Modu zorrotza" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Zerorik bestelako kode batekin irteten da xerratzeak larria ez den abisu bat sortzen duenean, bestela erregistroan soilik jasoko litzatekeena; adibidez, euskarria behar duen modelo bat euskarria desgaituta dagoenean. Erabili hau inoiz ezkutuko akatsik duen xerratzerik eman behar ez duten CI edo script bidezko prozesuetan. Horrelako abisu bakoitza result.json fitxategiko `warnings` array-an ere zerrendatzen da klase egonkor batekin; fitxategi hori Linuxen soilik idazten da. Ezin da --no-check aukerarekin konbinatu, horrek euskarrien egiaztapena saltatzen baitu." + msgid "Normative check" msgstr "Arauzko egiaztapena" @@ -17481,11 +18029,28 @@ msgstr "Irteerako modeloaren informazioa" msgid "This outputs the model’s information." msgstr "Atera modeloaren informazioa ateratzen du honek." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Aztertu sarea (JSON stdout-era)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Kargatutako objektu bakoitzaren JSON laburpena stdout-era idazten du eta gero irten egiten da: bere muga-kutxak eta jarri daitekeen oskol ganbileko aurpegiak, haien normalak, azalerak eta erdiguneak barne. --ground-* aukerek aurpegi horien artean egiten dute hautua. --info aukeraren ordezko makina-irakurgarria." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Aztertu margoketa (JSON stdout-era)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Kargatutako modeloan jada gordeta dagoen margotutako geruza bakoitzaren (euskarriak, jostura, MMU kolorea, gainazal zimurra) JSON laburpen egituratua idazten du — egoera bakoitzeko aurpegi kopurua, gainazal-azalera eta sarearekiko muga-kutxa — eta gero irten egiten da. Interfazean margoketa-tresnak irekitzearen ordezko makina-irakurgarria." + msgid "Export Settings" msgstr "Esportatu ezarpenak" -msgid "This exports settings to a file." -msgstr "Honek ezarpenak fitxategi batera esportatzen ditu." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Honek ezarpenak fitxategi batera esportatzen ditu. Erabili - stdout-era idazteko." msgid "Send progress to pipe" msgstr "Bidali aurrerapena pipe-ra" @@ -17541,6 +18106,30 @@ msgstr "Biratu Y inguruan" msgid "Rotation angle around the Y axis in degrees." msgstr "Y ardatzaren inguruko biraketa-angelua, gradutan." +# AI Translated +msgid "Ground largest face" +msgstr "Jarri aurpegirik handienaren gainean" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Objektu bakoitza bere oskol ganbileko aurpegirik handienaren gainean jartzen du eta ohera erortzen uzten du. Tamaina bereko aurpegien artean, jada beherantz begira dagoena mantentzen da. Bermatzeko behar bezain aurpegi handirik ez duten objektuak dauden bezala uzten dira. Eraldaketak komando-lerroaren ordenan exekutatzen dira; beraz, aukera honen aurretik emandako biraketak errespetatzen dira. --orient 1 eraldaketa guztien ondoren exekutatzen da eta orientazioa ordezkatzen du." + +# AI Translated +msgid "Ground face by normal" +msgstr "Jarri aurpegiaren gainean normalaren arabera" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Objektu bakoitza kanporako normala NX,NY,NZ norabidetik hurbilen duen oskol ganbileko aurpegiaren gainean jartzen du eta ohera erortzen uzten du. Norabidea objektuaren koordenatuetan adierazten da; horiek aukera honen aurretik emandako biraketak barne hartzen dituzte eta plataformaren ardatzekin bat datoz, sarrerako fitxategiak objektua biratzen ez badu behintzat. Adibidez, 1,0,0 balioak objektua bere +X aldearen gainean jartzen du zutik. --orient 1 eraldaketa guztien ondoren exekutatzen da eta orientazioa ordezkatzen du." + +# AI Translated +msgid "Ground face at point" +msgstr "Jarri puntu bateko aurpegiaren gainean" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Objektu bakoitza X,Y,Z puntua duen oskol ganbileko aurpegiaren gainean jartzen du eta ohera erortzen uzten du. Puntua objektuaren koordenatuetan adierazten da; horiek aukera honen aurretik emandako biraketak barne hartzen dituzte, eta --inspect-mesh aukerak koordenatu horietan ematen ditu aurpegien erdiguneak. Horrelako aurpegirik ez duten objektuak dauden bezala uzten dira, eta exekuzioak huts egiten du objektu bakar batek ere ez badu horrelakorik. --orient 1 eraldaketa guztien ondoren exekutatzen da eta orientazioa ordezkatzen du." + msgid "Scale the model by a float factor." msgstr "Eskalatu modeloa koma mugikorreko faktore baten bidez." @@ -17838,12 +18427,36 @@ msgstr "Erabilitako filamentua" msgid "Total length of filament used in the print." msgstr "Inprimaketan erabilitako filamentuen luzera osoa." -msgid "Print time (seconds)" -msgstr "Inprimatze-denbora (segundoak)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Kalkulatutako guztizko inprimatze-denbora, segundotan. Benetako balioarekin ordezten da osteko prozesatzean." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Filamentuaren luzera (metroak)" @@ -18074,9 +18687,6 @@ msgstr "Fitxategiak erpin-indize baliogabea du." msgid "This OBJ file couldn't be read because it's empty." msgstr "OBJ fitxategi hau ezin izan da irakurri, hutsik dagoelako." -msgid "Max Volumetric Speed Calibration" -msgstr "Gehieneko abiadura bolumetrikoaren kalibrazioa" - msgid "Manage Result" msgstr "Kudeatu emaitza" @@ -18923,9 +19533,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "OHARRA: balio handiek geruza-desplazamendua eragin dezakete (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Fluxu-erlazioaren kalibrazioa" - msgid "Calibration Test Type" msgstr "Kalibrazio-probaren mota" @@ -19684,6 +20291,9 @@ msgstr "Ez da baliozko saiorik detektatu. 3DPrinterOS-en saioa hasi nahi duzu?" msgid "Success!" msgstr "Ondo egin da!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Ziur saioa amaitu nahi duzula?" @@ -20596,6 +21206,18 @@ msgstr "Ekintza hau ezin da desegin. Jarraitu?" msgid "Skipping objects." msgstr "Objektuak saltatzen." +# AI Translated +msgid "Material Ratio" +msgstr "Material-proportzioa" + +# AI Translated +msgid "Model Height" +msgstr "Modeloaren altuera" + +# AI Translated +msgid "Ratio" +msgstr "Proportzioa" + msgid "Select Filament" msgstr "Hautatu filamentua" @@ -20627,13 +21249,6 @@ msgstr "Bambu sareko plugina beharrezkoa da hodeiko funtzioetarako, inprimagailu msgid "Error: %s" msgstr "Errorea: %s" -msgid "Show details" -msgstr "Erakutsi xehetasunak" - -# AI Translated -msgid "Hide details" -msgstr "Ezkutatu xehetasunak" - msgid "Version to install:" msgstr "Instalatu beharreko bertsioa:" @@ -20837,11 +21452,15 @@ msgstr "Lehortzen-Berotzen" msgid "Drying-Dehumidifying" msgstr "Lehortzen-Hezetasuna kentzen" -msgid " maximum drying temperature is " -msgstr " lehortze-tenperatura maximoa da " +# AI Translated +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s: gehieneko lehortze-tenperatura %d°C da." -msgid " minimum drying temperature is " -msgstr " lehortze-tenperatura minimoa da " +# AI Translated +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s: gutxieneko lehortze-tenperatura %d°C da." msgid "This filament may not be completely dried." msgstr "Baliteke filamentu hau erabat lehortuta ez egotea." @@ -20954,6 +21573,2494 @@ msgstr "Baliteke filamentua uneko makinaren ezarpenekin bateragarria ez izatea. msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filamentu-modeloa ezezaguna da. Ausazko filamentuen aurrezarpen bat erabiliko da." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Amaiera" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Behekoa" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Ezabatu" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Hasiera" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Amaiera" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Ezkerrera gezia" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Eskuinera gezia" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Gora gezia" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Behera gezia" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Inportatu geometriaren datuak STL/STEP/3MF/OBJ/AMF fitxategietatik" + +msgid "Select all objects" +msgstr "Hautatu objektu guztiak" + +msgid "Paste from clipboard" +msgstr "Itsatsi arbeletik" + +msgid "Toggle printable for object/part" +msgstr "Txandakatu objektuaren/piezaren inprimagarritasuna" + +msgid "Move selection 10mm in negative X direction" +msgstr "Mugitu hautapena 10 mm X noranzko negatiboan" + +msgid "Move selection 10mm in positive X direction" +msgstr "Mugitu hautapena 10 mm X noranzko positiboan" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Mugitu hautapena 10 mm Y noranzko positiboan" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Mugitu hautapena 10 mm Y noranzko negatiboan" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Mugitzeko tresna" + +msgid "Gizmo rotate" +msgstr "Biraketa tresna" + +msgid "Gizmo scale" +msgstr "Eskalarako tresna" + +msgid "Gizmo place face on bed" +msgstr "Aurpegia ohean kokatzeko tresna" + +msgid "Gizmo cut" +msgstr "Ebakitzeko tresna" + +msgid "Gizmo mesh boolean" +msgstr "Sare boolearrerako tresna" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "FDM josturak margotzeko tresna" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "FDM gainazal zimurra margotzeko tresna" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Testua erliebean/grabatuta ipintzeko tresna" + +msgid "Gizmo measure" +msgstr "Neurtzeko tresna" + +msgid "Gizmo assemble" +msgstr "Muntatzeko tresna" + +msgid "Gizmo brim ears" +msgstr "Belarri ertzen tresna" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Graduatzaile bertikala - Mugitu hatz aktiboa gora" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Graduatzaile bertikala - Mugitu hatz aktiboa behera" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Graduatzaile horizontala - Mugitu hatz aktiboa ezkerrera" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Graduatzaile horizontala - Mugitu hatz aktiboa eskuinera" + +msgid "Horizontal slider - Move to start position" +msgstr "Graduatzaile horizontala - Mugitu hasierako posiziora" + +msgid "Horizontal slider - Move to last position" +msgstr "Graduatzaile horizontala - Mugitu azken posiziora" + +msgid "Camera view - Default" +msgstr "Kameraren ikuspegia - Lehenetsia" + +msgid "Camera view - Top" +msgstr "Kameraren ikuspegia - Goia" + +msgid "Camera view - Bottom" +msgstr "Kameraren ikuspegia - Behea" + +msgid "Camera view - Front" +msgstr "Kameraren ikuspegia - Aurrea" + +msgid "Camera view - Behind" +msgstr "Kameraren ikuspegia - Atzea" + +msgid "Camera Angle - Left side" +msgstr "Kameraren angelua - Ezker aldea" + +msgid "Camera Angle - Right side" +msgstr "Kameraren angelua - Eskuin aldea" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Zooma handitu" + +msgid "Zoom out" +msgstr "Txikiagotu zooma" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Erakutsi/Ezkutatu 3Dconnexion gailuen ezarpenen elkarrizketa-koadroa" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "G-code leihoa aktibatu/desaktibatu" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Aktibatu/Desaktibatu graduatzaile bertikalaren geruza bakarreko modua" + +msgid "Switch between Prepare/Preview" +msgstr "Aldatu Prestatu/Aurrebista artean" + +msgid "Collapse/Expand the sidebar" +msgstr "Tolestu/Zabaldu alboko barra" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Erakutsi teklatu-lasterbideen zerrenda" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21254,6 +24361,148 @@ msgstr "" "Saihestu okertzea\n" "Ba al zenekien ABS bezalako okertzeko joera duten materialak inprimatzean ohe beroaren tenperatura egoki igotzeak okertzeko probabilitatea murriztu dezakeela?" +#~ msgid "Tab" +#~ msgstr "Fitxa" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Uneko ikuspegiaren FPSa goiko eskuineko izkinan erakusten du." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF argitaratzeko wikia" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF argitaratzeko bideo-gida" + +#~ msgid "Toolbar" +#~ msgstr "Tresna-barra" + +#~ msgid "Switch table page" +#~ msgstr "Aldatu taula-orria" + +#~ msgid "Global shortcuts" +#~ msgstr "Lasterbide globalak" + +#~ msgid "Middle mouse button" +#~ msgstr "Saguaren erdiko botoia" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Hautatutako objektuak edo objektu guztiak automatikoki orientatzen ditu. Objektuak hautatuta badaude, hautatutakoak bakarrik orientatzen ditu. Bestela, uneko proiektuko objektu guztiak orientatuko ditu." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Objektu guztiak automatikoki orientatzen ditu plaka aktiboan." + +#~ msgid "Any arrow" +#~ msgstr "Edozein gezi" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLA euskarri-puntuentzako tresna" + +#~ msgid "Plater" +#~ msgstr "Plaka-antolatzailea" + +#~ msgid "Gizmo" +#~ msgstr "Tresna" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Ezabatu objektuak, piezak eta aldatzaileak" + +#~ msgid "Objects List" +#~ msgstr "Objektuen zerrenda" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "Irteerako fitxategiaren hasiera-hasieran idatzitako G-codea, beste edozein eduki baino lehen. Inprimagailuaren firmwareak fitxategiaren lehen lerroetatik irakurtzen dituen metadatuak gehitzeko erabilgarria da (adibidez, zenbatetsitako inprimatze-denbora edo filamentuen erabilera). {print_time_sec} eta {used_filament_length} moduko leku-markak onartzen ditu." + +#~ msgid "Print time (seconds)" +#~ msgstr "Inprimatze-denbora (segundoak)" + +#~ msgid "Open actions speed dial" +#~ msgstr "Ekintzen markatze azkarra ireki" + +#~ msgid "Left: " +#~ msgstr "Ezkerra: " + +#~ msgid "Right: " +#~ msgstr "Eskuina: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Gehieneko tenperaturak ezin du hau gainditu: " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Gutxieneko tenperaturak ezin du hau baino txikiagoa izan: " + +#~ msgid "up to" +#~ msgstr "honaino" + +#~ msgid "above" +#~ msgstr "honen gainean" + +#~ msgid "from" +#~ msgstr "hemendik" + +#~ msgid "Configuration package: " +#~ msgstr "Konfigurazio-paketea: " + +#~ msgid " updated to " +#~ msgstr " hona eguneratu da: " + +#~ msgid "Grouping error: " +#~ msgstr "Taldekatze-errorea: " + +#~ msgid " can not be placed in the " +#~ msgstr " ezin da hemen kokatu: " + +#~ msgid " maximum drying temperature is " +#~ msgstr " lehortze-tenperatura maximoa da " + +#~ msgid " minimum drying temperature is " +#~ msgstr " lehortze-tenperatura minimoa da " + +# AI Translated +#~ msgid "needs" +#~ msgstr "honakoa behar du:" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "ez dago gaituta" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materiala ez dago argitaratuta" + +#~ msgid "Select the language" +#~ msgstr "Hautatu hizkuntza" + +#~ msgid "Select plugin" +#~ msgstr "Hautatu plugina" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Goiko gainazalak betetzen diren noranzkoa zentroan oinarritutako patroia erabiltzen denean (Kontzentrikoa, Arkimedesen kordak, Oktagrama-kiribila).\n" +#~ "Kanporanzkoa erdialdean hasten da, beraz, gehiegizko materiala gutxien ikusten den ertzera bultzatzen da. Barruranzkoa ertzean hasten da eta erdian kurba estuekin amaitzen da.\n" +#~ "Lehenetsiak bide laburreneko ordena erabiltzen du, zeina norabide batean zein bestean ibil daitekeen." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Beheko gainazalak betetzen diren noranzkoa zentroan oinarritutako patroia erabiltzen denean (Kontzentrikoa, Arkimedesen kordak, Oktagrama-kiribila).\n" +#~ "Barruranzkoa hasten da gainazal bakoitza kanpoko kurba zabalagoekin, eta horrek lehen geruzaren atxikimendua hobetzen du erdiko kurba estuak itsatsi ez daitezkeen inprimatze-plaketan. Kanporanzkoa erdialdean hasten da, gehiegizko materiala ertzera bultzatuz.\n" +#~ "Lehenetsiak bide laburreneko ordena erabiltzen du, zeina norabide batean zein bestean ibil daitekeen." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Gaituta badago, purgatze-dorrea ez da inprimatuko tresna-aldaketarik ez duten geruzetan. Tresna-aldaketa duten geruzetan, estrusorea beherantz mugituko da purgatze-dorrea inprimatzeko. Erabiltzailearen ardura da inprimaketarekin talkarik ez dagoela ziurtatzea." + +#~ msgid "This exports settings to a file." +#~ msgstr "Honek ezarpenak fitxategi batera esportatzen ditu." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Waylanden jatorrizko zuzeneko ikuspegiak GStreamer GTK bideo-hustubidea behar du. Instalatu GStreamerrerako gtksink plugina eta berrabiarazi OrcaSlicer." @@ -21303,9 +24552,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Geruza bakarreko inprimatze-ordena." -#~ msgid "Bottom" -#~ msgstr "Behekoa" - #~ msgid "Front" #~ msgstr "Aurrekoa" @@ -21318,9 +24564,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Ezabatu" - #~ msgid "Backspace" #~ msgstr "Atzera-tekla" @@ -21336,9 +24579,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Eskuin gezia" -#~ msgid "End" -#~ msgstr "Amaiera" - #~ msgid "Hotend" #~ msgstr "Hotend-a" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index e56aee63a7..51e021d073 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -2414,15 +2414,6 @@ msgstr "Une mise à jour est disponible. Ouvrez la boîte de dialogue du paquet msgid "%s has been removed." msgstr "%s a été supprimé." -msgid "Switching application language" -msgstr "Changer la langue de l'application" - -msgid "Select the language" -msgstr "Sélectionner la langue" - -msgid "Language" -msgstr "Langue" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "Le passage d’Orca Slicer à la langue %s a échoué." @@ -2457,6 +2448,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Échec de l'ouverture de la boîte de dialogue des plugins (erreur inconnue)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal des plugins" @@ -3637,11 +3641,15 @@ msgstr "Rétracter le filament actuel au Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Changer de voie au Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "La température maximale ne peut pas dépasser " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "La température maximale ne peut pas dépasser %d" -msgid "The minmum temperature should not be less than " -msgstr "La température minimale ne doit pas être inférieure à " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "La température minimale ne doit pas être inférieure à %d" msgid "Type to filter..." msgstr "Saisissez du texte pour filtrer…" @@ -4072,6 +4080,21 @@ msgstr "OrcaSlicer est né dans ce même esprit, en s’inspirant de PrusaSlicer msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Aujourd’hui, OrcaSlicer est le slicer open-source le plus utilisé et le plus activement développé de la communauté de l’impression 3D. Beaucoup de ses innovations ont été adoptées par d’autres slicers, ce qui en fait une force motrice pour toute l’industrie." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Imprimante" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Réglage des matériaux AMS" @@ -4509,6 +4532,15 @@ msgstr "" "La copie du G-code temporaire vers le G-code de sortie a échoué. La carte SD est peut-être bloquée en écriture ?\n" "Message d’erreur : %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"La copie du G-code temporaire vers le G-code de sortie a échoué.\n" +"Message d'erreur : %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "La copie du G-code temporaire vers le G-code de sortie a échoué. Il se peut qu’il y ait un problème avec le dispositif cible, veuillez essayer d’exporter à nouveau ou d’utiliser un autre périphérique. Le G-code de sortie corrompu se trouve dans %1%.tmp." @@ -4809,6 +4841,9 @@ msgstr "" "Oui - Modifiez ces paramètres et activez automatiquement le mode spirale/vase\n" "Non - Annuler l'activation du mode spirale" +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Impression" @@ -5239,14 +5274,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "La valeur %s est hors plage. La plage valide est comprise entre %d et %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Est-ce %s%% ou %s %s ?\n" -"OUI pour %s%%, \n" -"NON pour %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Est-ce %s%% ou %s %s ?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5268,29 +5300,22 @@ msgstr "Motif invalide. Utilisez N, N#K, ou une liste séparée par des virgules msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Format invalide. Format vectoriel attendu : \"%1%\"" -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "Agents système" -# AI Translated -msgid "No plugin selected" -msgstr "Aucun plugin sélectionné" - # AI Translated msgid "Add plugin" msgstr "Ajouter un plugin" -# AI Translated -msgid "Select plugin" -msgstr "Sélectionner un plugin" - # AI Translated msgid "Remove plugin" msgstr "Supprimer le plugin" +# AI Translated +msgid "No plugin selected" +msgstr "Aucun plugin sélectionné" + # AI Translated msgid "Configure" msgstr "Configurer" @@ -5546,14 +5571,20 @@ msgstr "Définir comme optimal" msgid "Regroup filament" msgstr "Regrouper les filaments" -msgid "up to" -msgstr "jusqu’à" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "jusqu’à %1% mm" -msgid "above" -msgstr "plus que" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "au-dessus de %1% mm" -msgid "from" -msgstr "de" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "de %1% à %2% mm" msgid "Usage" msgstr "Utilisation" @@ -5613,9 +5644,6 @@ msgctxt "Noun" msgid "Print" msgstr "Imprimer" -msgid "Printer" -msgstr "Imprimante" - msgid "Time Estimation" msgstr "Estimation de temps" @@ -5794,12 +5822,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Droite" -msgid "Add" -msgstr "Ajouter" - msgid "Add plate" msgstr "Ajouter un plateau" +msgid "Split to objects" +msgstr "Diviser en objets individuels" + +msgid "Add" +msgstr "Ajouter" + msgid "Auto orient all/selected objects" msgstr "Orientation automatique de tous les objets sélectionnés" @@ -5812,9 +5843,6 @@ msgstr "Organiser tous les objets" msgid "Arrange objects on selected plates" msgstr "Organiser les objets sur les plaques sélectionnées" -msgid "Split to objects" -msgstr "Diviser en objets individuels" - msgid "Assembly View" msgstr "Vue de l'assemblage" @@ -5869,6 +5897,9 @@ msgstr "Contour" msgid "Wireframe" msgstr "Fil de fer" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Vue réaliste" @@ -6077,6 +6108,9 @@ msgstr "Fermeture de l'application pendant que certains préréglages sont modif msgid "Logging" msgstr "Enregistrement" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Préparer" @@ -6223,6 +6257,14 @@ msgstr "Enregistrer le projet sous" msgid "Save current project as" msgstr "Enregistrer le projet actuel sous" +# AI Translated +msgid "Publish 3MF" +msgstr "Publier 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exporter un fichier 3MF avec les réglages sélectionnés intégrés" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importer des fichiers 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6405,6 +6447,9 @@ msgstr "Édition" msgid "View" msgstr "Affichage" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Paquet de préréglages" @@ -7327,6 +7372,231 @@ msgstr "Ne plus afficher cette boîte de dialogue" msgid "Please refer to Wiki before use->" msgstr "Veuillez consulter le Wiki avant utilisation ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exporter STL" + +msgid "Export 3MF" +msgstr "Exporter 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibration de la vitesse volumétrique maximale" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibration du rapport de débit" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Supprimer tous les objets" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Scinder en objets" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Souris 3D déconnectée." @@ -7484,6 +7754,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Inférieur" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Ce réglage ne précise pas de type de capacité de plugin." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Ce réglage précise un type de capacité de plugin non reconnu : " + # AI Translated msgid "Plugin Selection" msgstr "Sélection des plugins" @@ -7967,9 +8245,6 @@ msgstr "Agrandir la barre latérale" msgid "Collapse sidebar" msgstr "Réduire la barre latérale" -msgid "Tab" -msgstr "Onglet" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Chargement du fichier : %s" @@ -8044,6 +8319,14 @@ msgstr "Veuillez vous assurer que les G-codes de ces préréglages sont sûrs af msgid "Customized Preset" msgstr "Préréglage personnalisé" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Certains réglages publiés n'ont pas pu être appliqués :" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Certains emplacements de filament ont été modifiés :" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Le nom des composants dans le fichier STEP n'est pas au format UTF-8 !" @@ -8160,18 +8443,12 @@ msgstr "" msgid "Delete Object" msgstr "Supprimer l’objet" -msgid "Delete All Objects" -msgstr "Supprimer tous les objets" - msgid "Reset Project" msgstr "Réinitialiser le projet" msgid "The selected object couldn't be split." msgstr "L'objet sélectionné n'a pas pu être divisé." -msgid "Split to Objects" -msgstr "Scinder en objets" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Désactiver le dépôt automatique pour préserver le positionnement en Z ?\n" @@ -8445,6 +8722,21 @@ msgstr "Enregistrer le fichier découpé sous :" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Le fichier %s a été envoyé vers l'espace de stockage de l'imprimante et peut être visualisé sur l'imprimante." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publier le fichier 3MF sous :" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Échec de l'exportation du fichier 3MF publié.\n" +"Veuillez vérifier si le dossier existe en ligne ou si d'autres programmes ont le fichier ouvert." + +msgid "Publish" +msgstr "Publier" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Le type de buse n'est pas défini. Veuillez définir la buse et réessayer." @@ -8655,9 +8947,6 @@ msgstr "Voulez-vous continuer ?" msgid "Language selection" msgstr "Sélection de la langue" -msgid "Switching application language while some presets are modified." -msgstr "Changement de langue de l’application alors que certains préréglages sont modifiés." - msgid "Asia-Pacific" msgstr "Asie-Pacifique" @@ -8762,6 +9051,9 @@ msgstr "Chemin d’accès à l’instance courante : " msgid "General" msgstr "Général" +msgid "Language" +msgstr "Langue" + msgid "Metric" msgstr "Métrique" @@ -8958,6 +9250,33 @@ msgstr "Gestion multi appareils" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Si cette option est activée, vous pouvez envoyer une tâche à plusieurs appareils en même temps et gérer plusieurs appareils." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Fenêtre contextuelle pour sélectionner le mode de regroupement des filaments" @@ -9039,6 +9358,12 @@ msgstr "Inverser le zoom de la souris" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si cette option est activée, elle inverse le sens du zoom avec la molette de la souris." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Panoramique" @@ -9060,6 +9385,15 @@ msgstr "Glisser avec le bouton droit de la souris" msgid "Set the action that dragging the right mouse button should perform." msgstr "Définit l’action effectuée en faisant glisser le bouton droit de la souris." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Effacer mon choix sur…" @@ -9170,11 +9504,39 @@ msgstr "" "Limite la fréquence d’images de la vue pour réduire la charge du GPU et la consommation d’énergie.\n" "Réglez sur 0 pour une fréquence d’images illimitée." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Afficher la superposition des FPS" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Affiche les FPS actuels de la vue dans le coin supérieur droit." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9192,9 +9554,6 @@ msgstr "Lors du défilement du curseur de couche dans l'aperçu découpé, affic msgid "Dimmed layer brightness" msgstr "Luminosité des couches assombries" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9576,9 +9935,6 @@ msgstr "Accéder à la page internet de publication des modèles" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Remarque : La préparation peut prendre plusieurs minutes. Veuillez patienter." -msgid "Publish" -msgstr "Publier" - msgid "Publish was canceled" msgstr "La publication a été annulée" @@ -9594,6 +9950,76 @@ msgstr "Téléversement des données" msgid "Jump to webpage" msgstr "Ouvrir la page internet" +# AI Translated +msgid "Material" +msgstr "Matériau" + +# AI Translated +msgid "Mixed filament" +msgstr "Filament mixte" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Certains filaments mixtes dépendent de filaments qui ne seront pas publiés :" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (mixte)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% nécessite %2%, qui n'est pas activé." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% nécessite %2%, dont le matériau ne sera pas publié." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Pour publier un filament mixte, activez chacun des filaments qu'il utilise et choisissez Publication complète ou satisfaites son exigence de Type." + +# AI Translated +msgid "Publish anyway" +msgstr "Publier quand même" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publier 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Sélectionnez les réglages à publier dans le fichier 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filament mixte - publié dans son ensemble lorsque « Activer » est coché ci-dessus" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publier ce filament mixte, puis activer + publier entièrement ses filaments composants" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publier cet emplacement de filament dans le fichier 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Publication complète" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Intégrer l'ensemble du filament de cet emplacement dans le fichier 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrer les éléments non sélectionnés" + #, c-format, boost-format msgid "Save %s as" msgstr "Enregistrer %s sous" @@ -9611,6 +10037,10 @@ msgstr "Copie dans ce préréglage toutes les valeurs héritées du préréglage msgid "Detach from parent" msgstr "Détacher du parent" +# AI Translated +msgid "Save without parent" +msgstr "Enregistrer sans parent" + # AI Translated msgid "Unique preset" msgstr "Préréglage unique" @@ -9670,6 +10100,133 @@ msgstr "Pour \"%1%\", ajoutez \"%2%\" comme nouveau préréglage" msgid "Simply switch to \"%1%\"" msgstr "Passez simplement à \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Autre" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Afficher les détails" + +# AI Translated +msgid "Hide details" +msgstr "Masquer les détails" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tâche annulée" @@ -10312,9 +10869,17 @@ msgstr "Une tour d'amorçage est requise pour la détection d'agglomération. Il msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "L'activation simultanée de la hauteur Z précise et de la tour d'amorçage peut provoquer des erreurs de tranchage. Voulez-vous quand même activer la hauteur Z précise ?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Le timelapse fluide nécessite une tour d’amorçage à chaque couche, ce qui est incompatible avec « Pas de couches éparses ». « Pas de couches éparses » a été désactivé." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Une tour d’amorçage est requise pour le mode timelapse fluide. Le modèle peut présenter des défauts sans tour d’amorçage. Voulez-vous activer la tour d’amorçage ?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "« Pas de couches éparses » est incompatible avec le timelapse fluide, qui nécessite une tour d’amorçage à chaque couche. Le timelapse est repassé en mode traditionnel." + msgid "Still print by object?" msgstr "Vous imprimez toujours par objet ?" @@ -10683,9 +11248,6 @@ msgstr "Profils de traitement compatibles" msgid "Printable space" msgstr "Espace imprimable" -msgid "Printer Agent" -msgstr "Agent d'imprimante" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Sélectionner l'implémentation de l'agent réseau pour la communication avec l'imprimante. Les agents disponibles sont enregistrés au démarrage." @@ -11084,12 +11646,6 @@ msgstr "Nombre d'extrudeurs" msgid "Capabilities" msgstr "Fonctionnalités" -msgid "Left: " -msgstr "Gauche : " - -msgid "Right: " -msgstr "Droite : " - msgid "Show all presets (including incompatible)" msgstr "Afficher tous les préréglages (y compris incompatibles)" @@ -11471,56 +12027,39 @@ msgstr "Le paquet de configuration a été modifié dans le guide de configurati msgid "Configuration package changed" msgstr "Package de configuration modifié" -msgid "Toolbar" -msgstr "Barre d'outils" - -msgid "Objects list" -msgstr "Liste des objets" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importez des données de géométrie à partir de fichiers STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Coller depuis le presse-papier" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Afficher/Masquer la boîte de dialogue des paramètres des périphériques 3Dconnexion" - -msgid "Switch table page" -msgstr "Page du tableau de commutation" - -msgid "Show keyboard shortcuts list" -msgstr "Afficher la liste des raccourcis clavier" - -msgid "Global shortcuts" -msgstr "Raccourcis globaux" - msgid "Pan View" msgstr "Déplacement de la vue" msgid "Rotate View" msgstr "Rotation de la vue" -msgid "Middle mouse button" -msgstr "Bouton central de la souris" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Zoom de la vue" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Oriente automatiquement les objets sélectionnés ou tous les objets. S’il y a des objets sélectionnés, seuls ceux-ci sont orientés. Sinon, tous les objets du projet en cours sont orientés." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Oriente automatiquement tous les objets de la plaque actuelle." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Réduire/développer la barre latérale" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Toutes les flèches" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Mouvement dans l'espace de la caméra" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Sélectionner une pièce" @@ -11531,135 +12070,29 @@ msgstr "Sélectionner plusieurs objets" msgid "Select objects by rectangle" msgstr "Sélectionner les objets par rectangle" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Flèche haut" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Déplacer la sélection de 10 mm dans la direction positive Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Flèche bas" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Déplacer la sélection de 10 mm dans la direction négative Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Flèche gauche" - -msgid "Move selection 10mm in negative X direction" -msgstr "Déplacer la sélection de 10 mm dans la direction négative X" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Flèche droite" - -msgid "Move selection 10mm in positive X direction" -msgstr "Déplacer la sélection de 10 mm dans la direction positive X" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "clavier 1-9 : définir le filament pour l'objet/la pièce" msgid "Movement step set to 1mm" msgstr "Pas du mouvement réglé sur 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "clavier 1-9 : définir le filament pour l'objet/la pièce" +msgid "Movement in camera space" +msgstr "Mouvement dans l'espace de la caméra" -msgid "Camera view - Default" -msgstr "Vue caméra - Par défaut" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Vue caméra - Haut" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Vue caméra - Bas" +msgid "Zoom View" +msgstr "Zoom de la vue" -msgid "Camera view - Front" -msgstr "Vue de la caméra - Avant" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Vue caméra - Derrière" - -msgid "Camera Angle - Left side" -msgstr "Angle de caméra - Côté gauche" - -msgid "Camera Angle - Right side" -msgstr "Angle de caméra - Côté droit" - -msgid "Select all objects" -msgstr "Sélectionner tous les objets" - -msgid "Gizmo move" -msgstr "Gizmo déplacer" - -msgid "Gizmo rotate" -msgstr "Gizmo pivoter" - -msgid "Gizmo scale" -msgstr "Gizmo redimensionner" - -msgid "Gizmo place face on bed" -msgstr "Gizmo placer la face sur le plateau" - -msgid "Gizmo cut" -msgstr "Gizmo couper" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo booléennes" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Outil FDM de surface irrégulière peinte" - -msgid "Gizmo SLA support points" -msgstr "Gizmo Point de support SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo Peinture de la couture FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo embosser/graver du texte" - -msgid "Gizmo measure" -msgstr "Gizmo mesurer" - -msgid "Gizmo assemble" -msgstr "Gizmo assembler" - -msgid "Gizmo brim ears" -msgstr "Gizmo bordure à oreilles" - -msgid "Zoom in" -msgstr "Zoom avant" - -msgid "Zoom out" -msgstr "Zoom arrière" - -msgid "Toggle printable for object/part" -msgstr "Basculer l’état imprimable de l’objet/de la pièce" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Basculer entre Préparer/Aperçu" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espace" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Ouvrir le menu d'actions rapides" - -msgid "Plater" -msgstr "Plateau" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Déplacer : appuyez pour aligner de 1 mm" @@ -11670,14 +12103,19 @@ msgstr "Support/Peinture couleur : ajustez le rayon du stylet" msgid "Support/Color Painting: adjust section position" msgstr "Support/Peinture couleur : ajuster la position de la section" -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Liste des objets" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Définir le numéro d'extrudeur pour les objets et les pièces" -msgid "Delete objects, parts, modifiers" -msgstr "Supprimer des objets, des pièces, des modificateurs" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espace" msgid "Select the object/part and press space to change the name" msgstr "Sélectionnez l'objet/la pièce et appuyez sur espace pour changer le nom" @@ -11688,45 +12126,48 @@ msgstr "Clic de souris" msgid "Select the object/part and mouse click to change the name" msgstr "Sélectionnez l'objet/la pièce et cliquez avec la souris pour changer le nom" -msgid "Objects List" -msgstr "Liste des objets" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Barre de défilement verticale - Déplacer le curseur actif vers le Haut" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Barre de défilement verticale - Déplacer le curseur actif vers le Bas" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Barre de défilement horizontale - Déplacer le curseur actif vers la Gauche" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Barre de défilement horizontale - Déplacer le curseur actif vers la Droite" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "On/Off mode couche unique de la barre de défilement verticale" - -msgid "On/Off G-code window" -msgstr "On/Off Fenêtre G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Déplacez le curseur 5 fois plus vite" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Début" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Curseur horizontal - Déplacement vers la position de départ" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Fin" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Curseur horizontal - Déplacer vers la dernière position" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Note de version" @@ -11923,15 +12364,22 @@ msgstr "Réparation annulée" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Échec de la copie du fichier %1% vers %2% : %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Téléchargement des nouveaux profils de fabricant : " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Paquet de configuration : %1% mis à jour en %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Échec du téléchargement des profils de fabricant : " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Besoin de vérifier les modifications non enregistrées avant les mises à jour de configuration." -msgid "Configuration package: " -msgstr "Paquet de configuration : " - -msgid " updated to " -msgstr " mis à jour en " - msgid "Open G-code file:" msgstr "Ouvrir un fichier G-code :" @@ -11991,11 +12439,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "La mise en forme du signal n’est prise en charge que par Klipper, RepRapFirmware et Marlin 2" -msgid "Grouping error: " -msgstr "Erreur de regroupement : " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Erreur de regroupement : %1% ne peut pas être placé dans la buse gauche" -msgid " can not be placed in the " -msgstr " ne peut pas être placé dans le/la " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Erreur de regroupement : %1% ne peut pas être placé dans la buse droite" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12109,6 +12561,10 @@ msgstr "%1% est trop proche des autres, cela pourrait provoquer des collisions." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% est trop grand, cela pourrait provoquer des collisions." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "La position relative du modèle et de la tour d’amorçage ne répond pas aux exigences de la fonction « Pas de couches éparses ». Veuillez ajuster leurs positions relatives, réduire la hauteur du modèle ou désactiver « Pas de couches éparses »." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " est trop proche d'une zone d'exclusion, il peut y avoir des collisions lors de l'impression." @@ -12452,6 +12908,9 @@ msgstr "Utiliser le 3MF au lieu du G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Activez ceci si l’imprimante accepte un fichier 3MF comme tâche d’impression. Lorsque cette option est activée, Orca Slicer envoie le fichier découpé au format .gcode.3mf au lieu d’un simple fichier .gcode." +msgid "Printer Agent" +msgstr "Agent d'imprimante" + msgid "Select the network agent implementation for printer communication." msgstr "Sélectionner l'implémentation de l'agent réseau pour la communication avec l'imprimante." @@ -13497,6 +13956,10 @@ msgstr "Rectiligne Aligné" msgid "Concentric" msgstr "Concentrique" +# AI Translated +msgid "Spiral Inset" +msgstr "Spirale décalée" + msgid "Hilbert Curve" msgstr "Courbe de Hilbert" @@ -13588,13 +14051,13 @@ msgstr "Ordre de remplissage de la surface supérieure" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direction dans laquelle les surfaces supérieures sont remplies lors de l'utilisation d'un motif centré (Concentrique, Cordes d'Archimède, Spirale d'octogramme).\n" -"Vers l'extérieur commence au centre de la surface, de sorte que tout excès de matière est poussé vers le bord où il est le moins visible. Vers l'intérieur commence au bord et se termine par les courbes serrées au centre.\n" -"Par défaut utilise un ordonnancement par chemin le plus court, qui peut aller dans les deux sens." +"Sens dans lequel les surfaces supérieures sont remplies avec un motif partant du centre (Concentrique, Spirale décalée, Spirale d'Archimède, Spirale Octagramme).\n" +"Vers l'extérieur commence au centre de la surface, ce qui repousse l'excédent de matière vers le bord, là où il est le moins visible. Vers l'intérieur commence au bord et se termine par les courbes serrées du centre.\n" +"Défaut utilise l'ordre du chemin le plus court, qui peut aller dans un sens comme dans l'autre." # AI Translated msgid "Bottom surface fill order" @@ -13602,13 +14065,13 @@ msgstr "Ordre de remplissage de la surface inférieure" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direction dans laquelle les surfaces inférieures sont remplies lors de l'utilisation d'un motif centré (Concentrique, Cordes d'Archimède, Spirale d'octogramme).\n" -"Vers l'intérieur commence chaque surface par les courbes extérieures plus larges, ce qui améliore l'adhérence de la première couche sur les plateaux où les courbes serrées au centre peuvent ne pas adhérer. Vers l'extérieur commence au centre, poussant tout excès de matière vers le bord.\n" -"Par défaut utilise un ordonnancement par chemin le plus court, qui peut aller dans les deux sens." +"Sens dans lequel les surfaces inférieures sont remplies avec un motif partant du centre (Concentrique, Spirale décalée, Spirale d'Archimède, Spirale Octagramme).\n" +"Vers l'intérieur commence chaque surface par les courbes extérieures les plus larges, ce qui améliore l'adhérence de la couche initiale sur les plateaux où les courbes serrées du centre risquent de ne pas accrocher. Vers l'extérieur commence au centre et repousse l'excédent de matière vers le bord.\n" +"Défaut utilise l'ordre du chemin le plus court, qui peut aller dans un sens comme dans l'autre." msgid "Internal solid infill pattern" msgstr "Motif de remplissage plein interne" @@ -13707,6 +14170,14 @@ msgstr "Sens inverse des aiguilles d’une montre" msgid "Clockwise" msgstr "Dans le sens des aiguilles d’une montre" +# AI Translated +msgid "Distance to rod" +msgstr "Distance à la tige" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Distance horizontale entre la pointe de la buse et le bord le plus éloigné de la tige. Utilisée pour éviter les collisions lors de l'impression par objet." + msgid "Height to rod" msgstr "Hauteur jusqu’à la tige" @@ -15859,6 +16330,20 @@ msgstr "Détecter les parois en surplomb" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Détectez le pourcentage de surplomb par rapport à la largeur de la ligne et utilisez une vitesse différente pour imprimer. Pour un surplomb de 100%% la vitesse du pont est utilisée." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Imprimer les parois sans support en dernier" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Les boucles de paroi entièrement en l'air ne sont imprimées qu'une fois que quelque chose peut les soutenir :\n" +"elles sont extrudées après les autres parois de leur îlot, la plus intérieure d'abord, quel que soit l'ordre des parois.\n" +"Une boucle que seuls les ponts de cette couche peuvent ancrer attend que ces ponts soient imprimés, tandis qu'une boucle longeant une paroi soutenue garde sa place avant le remplissage, qui en a besoin comme ancrage." + msgid "Outer walls" msgstr "Parois extérieures" @@ -16295,6 +16780,39 @@ msgstr "Essuyer sur les boucles" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Pour minimiser la visibilité de la couture dans une extrusion en boucle fermée, un petit mouvement vers l’intérieur est exécuté avant que la buse ne quitte la boucle." +# AI Translated +msgid "Wipe inward" +msgstr "Essuyage vers l'intérieur" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"S'applique uniquement aux parois extérieures, contours des trous compris. Déplace la buse chaude vers les parois intérieures déjà imprimées pendant l'essuyage, afin de limiter le réchauffement du plastique fraîchement déposé et les marques de couture.\n" +"\n" +"Particulièrement utile pour des hauteurs de couche inférieures à 0,1 mm, où les marques d'essuyage sont plus visibles.\n" +"\n" +"Utilise l'essuyage normal si aucune paroi intérieure adjacente n'est déjà imprimée (zones à paroi unique ou ordre des parois Extérieur/Intérieur), ou si aucun chemin vers l'intérieur soutenu n'est trouvé, par exemple dans les angles serrés ou aux interruptions de couture." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Distance d'essuyage vers l'intérieur" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Distance dont le chemin d'essuyage est décalé par rapport au périmètre extérieur, exprimée en millimètres ou en pourcentage de la largeur d'extrusion réelle de la paroi extérieure.\n" +"\n" +"Par exemple, 50% décale le chemin de la moitié de la largeur de la paroi extérieure. Le décalage effectif est limité à la fois par la largeur réelle de la paroi extérieure et par l'espace disponible jusqu'à la paroi adjacente : les valeurs supérieures à 100% ou une distance absolue équivalente n'ont donc aucun effet supplémentaire. Mettez 0 pour désactiver le décalage." + msgid "Wipe before external loop" msgstr "Essuyer avant la boucle externe" @@ -16494,8 +17012,8 @@ msgstr "Étapes de préchauffage" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Insérer plusieurs commandes de préchauffage (par exemple M104.1). Uniquement utile pour la Prusa XL. Pour les autres imprimantes, veuillez le régler sur 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code écrit tout en haut du fichier de sortie, avant tout autre contenu. Utile pour ajouter des métadonnées que le firmware de l'imprimante lit depuis les premières lignes du fichier (ex. temps d'impression estimé, utilisation du filament). Prend en charge les espaces réservés comme {print_time_sec} et {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "G-code de démarrage" @@ -16556,8 +17074,9 @@ msgstr "Prend le nouvel outil sans attendre qu’il atteigne la température d msgid "No sparse layers (beta)" msgstr "Pas de couches éparses (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Si cette option est activée, la tour d’essuyage ne sera pas imprimée sur les couches sans changement d’outil. Sur les couches avec changement d’outil, l’extrudeur se déplacera vers le bas pour imprimer la tour d’essuyage. L’utilisateur est responsable de s’assurer qu’il n’y a pas de collision avec l’impression." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Si cette option est activée, la tour d'essuyage n'est pas imprimée sur les couches sans changement d'outil. Sur les couches comportant un changement d'outil, l'extrudeur descend pour imprimer la tour d'essuyage : la tour se retrouve donc sous le modèle et la tête d'outil doit descendre jusqu'à elle. Les dispositions où cela entrerait en collision avec un objet déjà imprimé sont rejetées. Sans effet avec le timelapse fluide ou la détection d'agglomération de la buse, qui nécessitent une tour à chaque couche." msgid "Prime all printing extruders" msgstr "Amorcer tous les extrudeurs d’impression" @@ -16583,6 +17102,34 @@ msgstr "" msgid "Cyclic" msgstr "Cyclique" +# AI Translated +msgid "Cyclic order" +msgstr "Ordre cyclique" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Séquence de filaments personnalisée utilisée par l'ordre cyclique des changements d'outil, sous forme de numéros de filament séparés par des virgules (par ex. « 3,2,1,4 »).\n" +"Chaque couche imprime ses filaments en suivant cette séquence ; les filaments non listés sont imprimés en dernier, par ordre croissant.\n" +"Laissez vide pour parcourir les filaments par ordre croissant." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Appliquer l'ordre cyclique à la couche initiale" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Applique également l'ordre cyclique des changements d'outil à la couche initiale.\n" +"Cette option est désactivée par défaut, car la couche initiale est au contraire ordonnée pour la meilleure adhérence au plateau : les filaments qui impriment de petits détails fragiles de la couche initiale sont imprimés en dernier, si bien que les changements d'outil et déplacements suivants risquent moins de décoller ces parties faiblement ancrées. Cet ordre de la couche initiale respecte aussi une séquence de filaments personnalisée pour la couche initiale lorsqu'elle est définie. L'avantage de l'ordre cyclique (les changements d'outil supplémentaires laissent à chaque couche plus de temps pour refroidir) ne s'applique pas à la couche initiale, imprimée lentement et à chaud pour l'adhérence.\n" +"N'activez cette option que si vous avez besoin exactement de la même séquence d'outils sur chaque couche, y compris la première, au prix de cette optimisation de l'adhérence." + msgid "Slice gap closing radius" msgstr "Rayon de fermeture de l’écart des tranches" @@ -16592,9 +17139,6 @@ msgstr "Les fissures plus petites que 2x le rayon de fermeture de l’espace son msgid "Slicing Mode" msgstr "Mode de découpe" -msgid "Other" -msgstr "Autre" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez « Fermer les trous » pour fermer tous les trous du modèle." @@ -17509,9 +18053,6 @@ msgstr "largeur de ligne trop grande " msgid " not in range " msgstr " hors plage " -msgid "Export 3MF" -msgstr "Exporter 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exporter le projet au format 3MF." @@ -17527,9 +18068,6 @@ msgstr "Charger les données de tranchage" msgid "Load cached slicing data from directory." msgstr "Charger les données de tranchage mises en cache à partir du répertoire" -msgid "Export STL" -msgstr "Exporter STL" - msgid "Export the objects as single STL." msgstr "Exporter les objets en tant que STL unique." @@ -17581,6 +18119,14 @@ msgstr "Pas de vérification" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Ne pas effectuer de contrôle de validité, tel que le contrôle des conflits de parcours de G-code." +# AI Translated +msgid "Strict mode" +msgstr "Mode strict" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Termine avec un code de retour non nul lorsque le découpage émet un avertissement non critique qui ne serait autrement que consigné, par exemple un modèle nécessitant des supports alors que les supports sont désactivés. À utiliser en intégration continue ou dans des chaînes de traitement automatisées qui ne doivent jamais livrer un découpage subtilement défectueux. Chacun de ces avertissements est également listé avec une classe stable dans le tableau `warnings` de result.json, écrit uniquement sous Linux. Ne peut pas être combiné avec --no-check, qui saute la vérification des supports." + msgid "Normative check" msgstr "Contrôle normatif" @@ -17593,11 +18139,28 @@ msgstr "Information du Modèle de Sortie" msgid "This outputs the model’s information." msgstr "Sortie des informations du modèle." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Inspecter le maillage (JSON sur stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Affiche sur stdout un résumé JSON de chaque objet chargé, puis quitte : ses boîtes englobantes et les faces de son enveloppe convexe sur lesquelles il peut reposer, avec leurs normales, aires et centres. Ce sont les faces parmi lesquelles choisissent les options --ground-*. Alternative exploitable par une machine à --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Inspecter la peinture (JSON sur stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Affiche un résumé JSON structuré de chaque couche peinte (supports, couture, couleur MMU, surface irrégulière) déjà enregistrée sur le modèle chargé — nombre de facettes, aire de surface et boîte englobante locale au maillage pour chaque état — puis quitte. Alternative exploitable par une machine à l'ouverture des gizmos de peinture dans l'interface." + msgid "Export Settings" msgstr "Paramètres d'exportation" -msgid "This exports settings to a file." -msgstr "Exporter les paramètres vers un fichier." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Exporte les réglages vers un fichier. Utilisez - pour les écrire sur stdout." msgid "Send progress to pipe" msgstr "Envoyer la progression à la queue" @@ -17653,6 +18216,30 @@ msgstr "Rotation autour de l’axe Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Angle de rotation autour de l’axe Y en degrés." +# AI Translated +msgid "Ground largest face" +msgstr "Poser sur la plus grande face" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Pose chaque objet sur la plus grande face de son enveloppe convexe et le fait tomber sur le plateau. Parmi des faces de même taille, celle déjà tournée vers le bas est conservée. Les objets dépourvus d'une face assez grande pour reposer dessus sont laissés tels quels. Les transformations s'appliquent dans l'ordre de la ligne de commande : les rotations indiquées avant cette option sont donc respectées. --orient 1 s'exécute après toutes les transformations et remplace l'orientation." + +# AI Translated +msgid "Ground face by normal" +msgstr "Poser sur la face selon la normale" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Pose chaque objet sur la face de son enveloppe convexe dont la normale extérieure est la plus proche de la direction NX,NY,NZ et le fait tomber sur le plateau. La direction est exprimée dans les coordonnées de l'objet, qui incluent les rotations indiquées avant cette option et correspondent aux axes du plateau, sauf si le fichier d'entrée fait pivoter l'objet. Par exemple, 1,0,0 pose l'objet sur sa face +X. --orient 1 s'exécute après toutes les transformations et remplace l'orientation." + +# AI Translated +msgid "Ground face at point" +msgstr "Poser sur la face en un point" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Pose chaque objet sur la face de son enveloppe convexe qui contient le point X,Y,Z et le fait tomber sur le plateau. Le point est exprimé dans les coordonnées de l'objet, qui incluent les rotations indiquées avant cette option ; --inspect-mesh donne les centres des faces dans ces coordonnées. Les objets dépourvus d'une telle face sont laissés tels quels, et l'exécution échoue si aucun objet n'en possède. --orient 1 s'exécute après toutes les transformations et remplace l'orientation." + msgid "Scale the model by a float factor." msgstr "Mettre à l'échelle le modèle par un facteur flottant" @@ -17950,12 +18537,36 @@ msgstr "Filament utilisé" msgid "Total length of filament used in the print." msgstr "Longueur totale de filament utilisé dans l'impression." -msgid "Print time (seconds)" -msgstr "Temps d'impression (secondes)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Temps d'impression total estimé en secondes. Remplacé par la valeur réelle lors du post-traitement." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Longueur de filament (mètres)" @@ -18186,9 +18797,6 @@ msgstr "Le fichier contient un index de sommets non valide." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ce fichier OBJ n'a pas pu être lu car il est vide." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibration de la vitesse volumétrique maximale" - msgid "Manage Result" msgstr "Gérer le résultat" @@ -19033,9 +19641,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTE : Des valeurs élevées peuvent causer un décalage de couche (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibration du rapport de débit" - msgid "Calibration Test Type" msgstr "Type de test de calibration" @@ -19796,6 +20401,9 @@ msgstr "Aucune session valide détectée. Procéder à la connexion à 3DPrinter msgid "Success!" msgstr "Succès !" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Voulez-vous vraiment vous déconnecter ?" @@ -20708,6 +21316,18 @@ msgstr "Cette action ne peut pas être annulée. Continuer ?" msgid "Skipping objects." msgstr "Ignorer des objets." +# AI Translated +msgid "Material Ratio" +msgstr "Proportion de matériau" + +# AI Translated +msgid "Model Height" +msgstr "Hauteur du modèle" + +# AI Translated +msgid "Ratio" +msgstr "Proportion" + msgid "Select Filament" msgstr "Sélectionner le filament" @@ -20739,13 +21359,6 @@ msgstr "Le plug-in réseau Bambu est requis pour les fonctionnalités cloud, la msgid "Error: %s" msgstr "Erreur : %s" -msgid "Show details" -msgstr "Afficher les détails" - -# AI Translated -msgid "Hide details" -msgstr "Masquer les détails" - msgid "Version to install:" msgstr "Version à installer :" @@ -20962,12 +21575,14 @@ msgid "Drying-Dehumidifying" msgstr "Séchage - Déshumidification" # AI Translated -msgid " maximum drying temperature is " -msgstr " la température de séchage maximale est de " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "La température de séchage maximale de %s est de %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " la température de séchage minimale est de " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "La température de séchage minimale de %s est de %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21112,6 +21727,2494 @@ msgstr "Le filament peut ne pas être compatible avec les paramètres actuels de msgid "The filament model is unknown. A random filament preset will be used." msgstr "Le modèle de filament est inconnu. Un préréglage de filament aléatoire sera utilisé." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Fin" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dessous" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Eff" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Début" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Fin" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Flèche gauche" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Flèche droite" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Flèche haut" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Flèche bas" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importez des données de géométrie à partir de fichiers STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Sélectionner tous les objets" + +msgid "Paste from clipboard" +msgstr "Coller depuis le presse-papier" + +msgid "Toggle printable for object/part" +msgstr "Basculer l’état imprimable de l’objet/de la pièce" + +msgid "Move selection 10mm in negative X direction" +msgstr "Déplacer la sélection de 10 mm dans la direction négative X" + +msgid "Move selection 10mm in positive X direction" +msgstr "Déplacer la sélection de 10 mm dans la direction positive X" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Déplacer la sélection de 10 mm dans la direction positive Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Déplacer la sélection de 10 mm dans la direction négative Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo déplacer" + +msgid "Gizmo rotate" +msgstr "Gizmo pivoter" + +msgid "Gizmo scale" +msgstr "Gizmo redimensionner" + +msgid "Gizmo place face on bed" +msgstr "Gizmo placer la face sur le plateau" + +msgid "Gizmo cut" +msgstr "Gizmo couper" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo booléennes" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo Peinture de la couture FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Outil FDM de surface irrégulière peinte" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo embosser/graver du texte" + +msgid "Gizmo measure" +msgstr "Gizmo mesurer" + +msgid "Gizmo assemble" +msgstr "Gizmo assembler" + +msgid "Gizmo brim ears" +msgstr "Gizmo bordure à oreilles" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Barre de défilement verticale - Déplacer le curseur actif vers le Haut" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Barre de défilement verticale - Déplacer le curseur actif vers le Bas" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Barre de défilement horizontale - Déplacer le curseur actif vers la Gauche" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Barre de défilement horizontale - Déplacer le curseur actif vers la Droite" + +msgid "Horizontal slider - Move to start position" +msgstr "Curseur horizontal - Déplacement vers la position de départ" + +msgid "Horizontal slider - Move to last position" +msgstr "Curseur horizontal - Déplacer vers la dernière position" + +msgid "Camera view - Default" +msgstr "Vue caméra - Par défaut" + +msgid "Camera view - Top" +msgstr "Vue caméra - Haut" + +msgid "Camera view - Bottom" +msgstr "Vue caméra - Bas" + +msgid "Camera view - Front" +msgstr "Vue de la caméra - Avant" + +msgid "Camera view - Behind" +msgstr "Vue caméra - Derrière" + +msgid "Camera Angle - Left side" +msgstr "Angle de caméra - Côté gauche" + +msgid "Camera Angle - Right side" +msgstr "Angle de caméra - Côté droit" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Zoom avant" + +msgid "Zoom out" +msgstr "Zoom arrière" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Afficher/Masquer la boîte de dialogue des paramètres des périphériques 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "On/Off Fenêtre G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "On/Off mode couche unique de la barre de défilement verticale" + +msgid "Switch between Prepare/Preview" +msgstr "Basculer entre Préparer/Aperçu" + +msgid "Collapse/Expand the sidebar" +msgstr "Réduire/développer la barre latérale" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Afficher la liste des raccourcis clavier" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21412,6 +24515,152 @@ msgstr "" "Éviter la déformation\n" "Saviez-vous que lors de l’impression de matériaux susceptibles de se déformer, tels que l’ABS, une augmentation appropriée de la température du plateau chauffant peut réduire la probabilité de déformation?" +#~ msgid "Tab" +#~ msgstr "Onglet" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Affiche les FPS actuels de la vue dans le coin supérieur droit." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki de Publier 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Guide vidéo de Publier 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Barre d'outils" + +#~ msgid "Switch table page" +#~ msgstr "Page du tableau de commutation" + +#~ msgid "Global shortcuts" +#~ msgstr "Raccourcis globaux" + +#~ msgid "Middle mouse button" +#~ msgstr "Bouton central de la souris" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Oriente automatiquement les objets sélectionnés ou tous les objets. S’il y a des objets sélectionnés, seuls ceux-ci sont orientés. Sinon, tous les objets du projet en cours sont orientés." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Oriente automatiquement tous les objets de la plaque actuelle." + +#~ msgid "Any arrow" +#~ msgstr "Toutes les flèches" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo Point de support SLA" + +#~ msgid "Plater" +#~ msgstr "Plateau" + +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Supprimer des objets, des pièces, des modificateurs" + +#~ msgid "Objects List" +#~ msgstr "Liste des objets" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code écrit tout en haut du fichier de sortie, avant tout autre contenu. Utile pour ajouter des métadonnées que le firmware de l'imprimante lit depuis les premières lignes du fichier (ex. temps d'impression estimé, utilisation du filament). Prend en charge les espaces réservés comme {print_time_sec} et {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Temps d'impression (secondes)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Ouvrir le menu d'actions rapides" + +#~ msgid "Left: " +#~ msgstr "Gauche : " + +#~ msgid "Right: " +#~ msgstr "Droite : " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "La température maximale ne peut pas dépasser " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "La température minimale ne doit pas être inférieure à " + +#~ msgid "up to" +#~ msgstr "jusqu’à" + +#~ msgid "above" +#~ msgstr "plus que" + +#~ msgid "from" +#~ msgstr "de" + +#~ msgid "Configuration package: " +#~ msgstr "Paquet de configuration : " + +#~ msgid " updated to " +#~ msgstr " mis à jour en " + +#~ msgid "Grouping error: " +#~ msgstr "Erreur de regroupement : " + +#~ msgid " can not be placed in the " +#~ msgstr " ne peut pas être placé dans le/la " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " la température de séchage maximale est de " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " la température de séchage minimale est de " + +# AI Translated +#~ msgid "needs" +#~ msgstr "nécessite" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "non activé" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "matériau non publié" + +#~ msgid "Select the language" +#~ msgstr "Sélectionner la langue" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Sélectionner un plugin" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direction dans laquelle les surfaces supérieures sont remplies lors de l'utilisation d'un motif centré (Concentrique, Cordes d'Archimède, Spirale d'octogramme).\n" +#~ "Vers l'extérieur commence au centre de la surface, de sorte que tout excès de matière est poussé vers le bord où il est le moins visible. Vers l'intérieur commence au bord et se termine par les courbes serrées au centre.\n" +#~ "Par défaut utilise un ordonnancement par chemin le plus court, qui peut aller dans les deux sens." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direction dans laquelle les surfaces inférieures sont remplies lors de l'utilisation d'un motif centré (Concentrique, Cordes d'Archimède, Spirale d'octogramme).\n" +#~ "Vers l'intérieur commence chaque surface par les courbes extérieures plus larges, ce qui améliore l'adhérence de la première couche sur les plateaux où les courbes serrées au centre peuvent ne pas adhérer. Vers l'extérieur commence au centre, poussant tout excès de matière vers le bord.\n" +#~ "Par défaut utilise un ordonnancement par chemin le plus court, qui peut aller dans les deux sens." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Si cette option est activée, la tour d’essuyage ne sera pas imprimée sur les couches sans changement d’outil. Sur les couches avec changement d’outil, l’extrudeur se déplacera vers le bas pour imprimer la tour d’essuyage. L’utilisateur est responsable de s’assurer qu’il n’y a pas de collision avec l’impression." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exporter les paramètres vers un fichier." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "L’aperçu en direct natif sous Wayland nécessite le récepteur vidéo GStreamer GTK. Veuillez installer le plugin gtksink pour GStreamer, puis redémarrer OrcaSlicer." @@ -21464,9 +24713,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordre d’impression au sein d’une même couche" -#~ msgid "Bottom" -#~ msgstr "Dessous" - #~ msgid "Front" #~ msgstr "Avant" @@ -21479,9 +24725,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Échap" -#~ msgid "Del" -#~ msgstr "Eff" - #~ msgid "Backspace" #~ msgstr "Retour arrière" @@ -21497,9 +24740,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Flèche Droite" -#~ msgid "End" -#~ msgstr "Fin" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index a15d471073..4e1f233351 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2460,15 +2460,6 @@ msgstr "Frissítés érhető el. Nyisd meg a beállításcsomag párbeszédablak msgid "%s has been removed." msgstr "%s eltávolítva." -msgid "Switching application language" -msgstr "Alkalmazás nyelvének váltása" - -msgid "Select the language" -msgstr "Válaszd ki a nyelvet" - -msgid "Language" -msgstr "Nyelv" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2506,6 +2497,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nem sikerült megnyitni a Bővítmények párbeszédablakot (ismeretlen hiba)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Bővítményterminál" @@ -3712,11 +3716,15 @@ msgstr "Az aktuális filament visszahúzása a Filament Track Switch-nél" msgid "Switch track at Filament Track Switch" msgstr "Sáv váltása a Filament Track Switch-nél" -msgid "The maximum temperature cannot exceed " -msgstr "A maximális hőmérséklet nem haladhatja meg ezt: " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "A maximális hőmérséklet nem haladhatja meg ezt: %d" -msgid "The minmum temperature should not be less than " -msgstr "A minimális hőmérséklet nem lehet kevesebb ennél: " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "A minimális hőmérséklet nem lehet kevesebb ennél: %d" # AI Translated msgid "Type to filter..." @@ -4161,6 +4169,21 @@ msgstr "Az OrcaSlicer ugyanebben a szellemben indult, a PrusaSlicer, a BambuStud msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Ma az OrcaSlicer a legszélesebb körben használt és legaktívabban fejlesztett nyílt forráskódú szeletelő a 3D nyomtatási közösségben. Sok újítását más szeletelők is átvették, így az egész iparág hajtóereje." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Nyomtató" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS anyagok beállítása" @@ -4603,6 +4626,15 @@ msgstr "" "Nem sikerült az ideiglenes G-kódot a kimeneti G-kódba másolni. Lehet, hogy az SD-kártya írásvédett?\n" "Hibaüzenet: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Az ideiglenes G-kód másolása a kimeneti G-kódba nem sikerült.\n" +"Hibaüzenet: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Nem sikerült az ideiglenes G-kódot a kimeneti G-kódba másolni. Probléma lehet a céleszközzel. Kérlek, exportáld újra, vagy használj másik eszközt. A sérült kimeneti G-kód helye: %1%.tmp." @@ -4905,6 +4937,10 @@ msgstr "" "Igen - Módosítsd ezeket a beállításokat, és automatikusan kapcsold be a spirál módot\n" "Nem - Most ne kapcsold be a spirál módot" +# AI Translated +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Nyomtatás" @@ -5335,14 +5371,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "%s érték tartományon kívül van. Az érvényes tartomány: %d - %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%% vagy %s %s?\n" -"IGEN %s%%, \n" -"NEM %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "%s%% vagy %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5364,30 +5397,22 @@ msgstr "Érvénytelen minta. Használj N, N#K formátumot, vagy vesszővel elvá msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Érvénytelen formátum. Elvárt vektor formátum: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "Rendszerügynökök" -# AI Translated -msgid "No plugin selected" -msgstr "Nincs kiválasztott bővítmény" - # AI Translated msgid "Add plugin" msgstr "Bővítmény hozzáadása" -# AI Translated -msgid "Select plugin" -msgstr "Bővítmény kiválasztása" - # AI Translated msgid "Remove plugin" msgstr "Bővítmény eltávolítása" +# AI Translated +msgid "No plugin selected" +msgstr "Nincs kiválasztott bővítmény" + # AI Translated msgid "Configure" msgstr "Konfigurálás" @@ -5643,14 +5668,20 @@ msgstr "Beállítás optimálisra" msgid "Regroup filament" msgstr "Filamentek újracsoportosítása" -msgid "up to" -msgstr "legfeljebb" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "legfeljebb %1% mm" -msgid "above" -msgstr "felett" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "%1% mm felett" -msgid "from" -msgstr "ettől" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "%1% mm-től %2% mm-ig" msgid "Usage" msgstr "Használat" @@ -5710,9 +5741,6 @@ msgctxt "Noun" msgid "Print" msgstr "Nyomtatás" -msgid "Printer" -msgstr "Nyomtató" - msgid "Time Estimation" msgstr "Időbecslés" @@ -5891,12 +5919,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Jobb" -msgid "Add" -msgstr "Hozzáadás" - msgid "Add plate" msgstr "Tálca hozzáadása" +msgid "Split to objects" +msgstr "Felosztás objektumokra" + +msgid "Add" +msgstr "Hozzáadás" + msgid "Auto orient all/selected objects" msgstr "Az összes/kiválasztott objektum automatikus tájolása" @@ -5909,9 +5940,6 @@ msgstr "Összes objektum elrendezése" msgid "Arrange objects on selected plates" msgstr "Objektumok elrendezése a kiválasztott tálcákon" -msgid "Split to objects" -msgstr "Felosztás objektumokra" - msgid "Assembly View" msgstr "Összeszerelési nézet" @@ -5968,6 +5996,9 @@ msgstr "Körvonal" msgid "Wireframe" msgstr "Drótváz" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Valósághű nézet" @@ -6177,6 +6208,9 @@ msgstr "Alkalmazás bezárása egyes beállítások módosítása közben." msgid "Logging" msgstr "Naplózás" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Előkészítés" @@ -6325,6 +6359,14 @@ msgstr "Projekt mentése másként" msgid "Save current project as" msgstr "Jelenlegi projekt mentése másként" +# AI Translated +msgid "Publish 3MF" +msgstr "3MF közzététele" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "3MF fájl exportálása a kiválasztott beállítások beágyazásával" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importálás 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6507,6 +6549,9 @@ msgstr "Szerkesztés" msgid "View" msgstr "Nézet" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Beállításcsomag" @@ -7438,6 +7483,233 @@ msgstr "Ne jelenjen meg többé ez a párbeszédablak" msgid "Please refer to Wiki before use->" msgstr "Használat előtt nézd meg a Wikit ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL exportálása" + +msgid "Export 3MF" +msgstr "3MF exportálása" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Max. volumetrikus sebesség kalibrálása" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Anyagáramlás kalibrálás" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Összes objektum törlése" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Felosztás objektumokra" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Mouse csatlakoztatva." @@ -7598,6 +7870,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Alsó" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Ez a beállítás nem ad meg bővítményképesség-típust." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Ez a beállítás ismeretlen bővítményképesség-típust ad meg: " + # AI Translated msgid "Plugin Selection" msgstr "Bővítmény kiválasztása" @@ -8081,10 +8361,6 @@ msgstr "Az oldalsáv kibontása" msgid "Collapse sidebar" msgstr "&Az oldalsáv összecsukása" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Fájl betöltése: %s" @@ -8159,6 +8435,14 @@ msgstr "Kérlek, győződj meg arról, hogy a beállításokban található G-k msgid "Customized Preset" msgstr "Egyedi beállítás" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Néhány közzétett beállítást nem sikerült alkalmazni:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Néhány filamenthely megváltozott:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "A STEP fájlon belüli komponens neve nem UTF-8 formátumban van!" @@ -8280,10 +8564,6 @@ msgstr "" msgid "Delete Object" msgstr "Objektum törlése" -# AI Translated -msgid "Delete All Objects" -msgstr "Összes objektum törlése" - # AI Translated msgid "Reset Project" msgstr "Projekt visszaállítása" @@ -8291,10 +8571,6 @@ msgstr "Projekt visszaállítása" msgid "The selected object couldn't be split." msgstr "A kijelölt objektumot nem lehet feldarabolni." -# AI Translated -msgid "Split to Objects" -msgstr "Felosztás objektumokra" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Letiltja az Auto-Drop funkciót a Z pozicionálás megőrzéséhez?\n" @@ -8571,6 +8847,21 @@ msgstr "Szeletelt fájl mentése mint:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "A(z) %s fájlt elküldtük a nyomtató tárhelyére. A fájl a nyomtatón tekinthető meg." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MF fájl közzététele mint:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"A közzétett 3MF fájl exportálása nem sikerült.\n" +"Ellenőrizd, hogy a mappa elérhető-e online, illetve hogy más program nem tartja-e nyitva a fájlt." + +msgid "Publish" +msgstr "Közzététel" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "A fúvókatípus nincs beállítva. Állítsd be a fúvókát, majd próbáld újra." @@ -8783,9 +9074,6 @@ msgstr "Szeretnéd folytatni?" msgid "Language selection" msgstr "Nyelv kiválasztása" -msgid "Switching application language while some presets are modified." -msgstr "Alkalmazás nyelvének átváltása, miközben egyes beállítások módosultak." - msgid "Asia-Pacific" msgstr "Ázsia-Csendes-óceáni térség" @@ -8890,6 +9178,9 @@ msgstr "Jelenlegi példány útvonala: " msgid "General" msgstr "Általános" +msgid "Language" +msgstr "Nyelv" + msgid "Metric" msgstr "Metrikus" @@ -9094,6 +9385,33 @@ msgstr "Többeszközös kezelés" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Ezzel az opcióval egyszerre több eszközre küldhetsz feladatot és több eszközt kezelhetsz." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Felugró ablak a filamentcsoportosítási mód kiválasztásához" @@ -9175,6 +9493,12 @@ msgstr "Fordított egér-nagyítás" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Ha engedélyezve van, megfordítja az egérgörgős nagyítás irányát." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Pásztázás" @@ -9196,6 +9520,15 @@ msgstr "Jobb egérhúzás" msgid "Set the action that dragging the right mouse button should perform." msgstr "Állítsd be a jobb egérgomb húzásával végrehajtandó műveletet." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Választásom törlése ennél..." @@ -9312,11 +9645,39 @@ msgstr "" "Korlátozza a nézetablak képsebességét a GPU terhelés és az energiafogyasztás csökkentése érdekében.\n" "Állítsd 0-ra a korlátlan képkockasebességhez." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "FPS fedvény megjelenítése" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Megjeleníti az aktuális nézetablak FPS-t a jobb felső sarokban." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9334,9 +9695,6 @@ msgstr "A rétegcsúszka mozgatásakor a szeletelt előnézetben az aktuális r msgid "Dimmed layer brightness" msgstr "Elhalványított rétegek fényereje" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9736,9 +10094,6 @@ msgstr "Ugrás a modell közzététele weboldalra" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Megjegyzés: Az előkészítés több percig is eltarthat. Kérlek, várj." -msgid "Publish" -msgstr "Közzététel" - msgid "Publish was canceled" msgstr "A közzététel törlésre került" @@ -9754,6 +10109,76 @@ msgstr "Adatok feltöltése" msgid "Jump to webpage" msgstr "Ugrás a weboldalra" +# AI Translated +msgid "Material" +msgstr "Anyag" + +# AI Translated +msgid "Mixed filament" +msgstr "Kevert filament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Néhány kevert filament olyan filamentektől függ, amelyek nem lesznek közzétéve:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "%d. filament (kevert)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% a következőt igényli: %2%, amely nincs engedélyezve." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% a következőt igényli: %2%, amelynek az anyaga nem lesz közzétéve." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Kevert filament közzétételéhez engedélyezd az összes általa használt filamentet, és válaszd a Teljes közzétételt, vagy teljesítsd a Típus követelményét." + +# AI Translated +msgid "Publish anyway" +msgstr "Közzététel mindenképp" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MF közzététele..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Válaszd ki, mely beállítások kerüljenek közzétételre a 3MF fájlban" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Kevert filament - egészében kerül közzétételre, ha fent az \"Engedélyezve\" be van jelölve" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Ennek a kevert filamentnek a közzététele, valamint az összetevő filamentjeinek engedélyezése + teljes közzététele" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Ennek a filamenthelynek a közzététele a 3MF fájlban" + +# AI Translated +msgid "Full Publish" +msgstr "Teljes közzététel" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Ennek a helynek a teljes filamentjét beágyazza a 3MF fájlba" + +# AI Translated +msgid "Filter non-selected" +msgstr "Nem kijelöltek szűrése" + #, c-format, boost-format msgid "Save %s as" msgstr "%s mentése" @@ -9771,6 +10196,10 @@ msgstr "Az összes örökölt értéket átmásolja a szülő előbeállításb msgid "Detach from parent" msgstr "Leválasztás a szülőről" +# AI Translated +msgid "Save without parent" +msgstr "Mentés szülő nélkül" + # AI Translated msgid "Unique preset" msgstr "Önálló előbeállítás" @@ -9830,6 +10259,133 @@ msgstr "Ehhez: \"%1%\", add hozzá \"%2%\"-t új beállításként" msgid "Simply switch to \"%1%\"" msgstr "Csak válts a(z) \"%1%\"-ra" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Egyéb" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Részletek megjelenítése" + +# AI Translated +msgid "Hide details" +msgstr "Részletek elrejtése" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Feladat megszakítva" @@ -10477,9 +11033,17 @@ msgstr "A csomósodás-észleléshez szükség van a törlőtoronyra. Nélküle msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "A pontos Z magasság és a törlőtorony egyidejű engedélyezése szeletelési hibákat okozhat. Továbbra is engedélyezi a pontos Z magasságot?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "A sima Timelapse-hez minden rétegen törlőtorony kell, ami nem használható a \"Nincsenek ritka rétegek\" beállítással együtt. A \"Nincsenek ritka rétegek\" kikapcsolva." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "A sima Timelapse módhoz törlőtorony szükséges. Nélküle hibák jelenhetnek meg a nyomtatott tárgyon. Bekapcsolod a törlőtornyot?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "A \"Nincsenek ritka rétegek\" nem használható a sima Timelapse-szel, amelyhez minden rétegen törlőtorony kell. A Timelapse hagyományos módra váltott." + msgid "Still print by object?" msgstr "Továbbra is tárgyanként szeretnél nyomtatni?" @@ -10855,9 +11419,6 @@ msgstr "Kompatibilis folyamatprofilok" msgid "Printable space" msgstr "Nyomtatási terület" -msgid "Printer Agent" -msgstr "Nyomtatóügynök" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Válaszd ki a nyomtatóval való kommunikációhoz használt hálózati ügynököt. Az elérhető ügynököket indításkor regisztrálja a rendszer." @@ -11262,14 +11823,6 @@ msgstr "Extruderek száma" msgid "Capabilities" msgstr "Képességek" -# AI Translated -msgid "Left: " -msgstr "Bal: " - -# AI Translated -msgid "Right: " -msgstr "Jobb: " - msgid "Show all presets (including incompatible)" msgstr "Minden beállítás megjelenítése (beleértve az inkompatibiliseket is)" @@ -11655,56 +12208,39 @@ msgstr "A konfigurációs csomag az előző konfigurációs útmutatóban módos msgid "Configuration package changed" msgstr "Konfigurációs csomag megváltozott" -msgid "Toolbar" -msgstr "Eszköztár" - -msgid "Objects list" -msgstr "Objektumok listája" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Geometriai adatok importálása STL/STEP/3MF/OBJ/AMF fájlokból" - -msgid "Paste from clipboard" -msgstr "Beillesztés a vágólapról" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "3Dconnexion-eszközbeállítások párbeszédablak megjelenítése/elrejtése" - -msgid "Switch table page" -msgstr "Váltás táblázatra" - -msgid "Show keyboard shortcuts list" -msgstr "Gyorsgombok listájának megjelenítése" - -msgid "Global shortcuts" -msgstr "Globális gyorsbillentyűk" - msgid "Pan View" msgstr "Pásztázó nézet" msgid "Rotate View" msgstr "Forgató nézet" -msgid "Middle mouse button" -msgstr "Középső egérgomb" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Nagyító nézet" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Automatikusan beállítja a kijelölt objektumok vagy az összes objektum tájolását. Ha vannak kijelölt objektumok, akkor csak a kijelölteket, ellenkező esetben pedig a projektben levő összes objektumot orientálja." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Automatikusan orientálja az aktuális tálcán levő összes objektumot." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Az oldalsáv összecsukása/kinyitása" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Bármelyik nyílbillentyű" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Mozgás a kameratérben" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Válassz egy tárgyat" @@ -11715,135 +12251,29 @@ msgstr "Több objektum kijelölése" msgid "Select objects by rectangle" msgstr "Objektumok kijelölése téglalapok alapján" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Felfelé nyíl" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Kijelölés mozgatása 10 mm-rel pozitív Y irányban" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Lefelé nyíl" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Kijelölés mozgatása 10 mm-rel negatív Y irányban" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Balra nyíl" - -msgid "Move selection 10mm in negative X direction" -msgstr "Kijelölés mozgatása 10 mm-rel negatív X irányban" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Jobbra nyíl" - -msgid "Move selection 10mm in positive X direction" -msgstr "Kijelölés mozgatása 10 mm-rel pozitív X irányban" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "filament hozzárendelése az objektumhoz/tárgyhoz" msgid "Movement step set to 1mm" msgstr "Mozgatás lépéstávolsága 1mm-re állítva" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "filament hozzárendelése az objektumhoz/tárgyhoz" +msgid "Movement in camera space" +msgstr "Mozgás a kameratérben" -msgid "Camera view - Default" -msgstr "Kameranézet - Alapértelmezett" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kameranézet - Felülről" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kameranézet - Alulról" +msgid "Zoom View" +msgstr "Nagyító nézet" -msgid "Camera view - Front" -msgstr "Kameranézet - Elölről" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kameranézet - Hátulról" - -msgid "Camera Angle - Left side" -msgstr "Kameranézet - Bal oldal" - -msgid "Camera Angle - Right side" -msgstr "Kameranézet - Jobb oldal" - -msgid "Select all objects" -msgstr "Összes objektum kijelölése" - -msgid "Gizmo move" -msgstr "Gizmo mozgatás" - -msgid "Gizmo rotate" -msgstr "Gizmo forgatás" - -msgid "Gizmo scale" -msgstr "Gizmo átméretezés" - -msgid "Gizmo place face on bed" -msgstr "Gizmo felület asztalra illesztése" - -msgid "Gizmo cut" -msgstr "Gizmo vágás" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo modellháló logikai műveletek" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM barázdált felület festése" - -msgid "Gizmo SLA support points" -msgstr "Gizmo SLA támaszpontok" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM varrat festés" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo szöveg dombornyomás/gravírozás" - -msgid "Gizmo measure" -msgstr "Gizmo mérés" - -msgid "Gizmo assemble" -msgstr "Gizmo összeállítás" - -msgid "Gizmo brim ears" -msgstr "Gizmo peremfülek" - -msgid "Zoom in" -msgstr "Zoom közelítés" - -msgid "Zoom out" -msgstr "Zoom távolítás" - -msgid "Toggle printable for object/part" -msgstr "Nyomtathatóság váltása objektumhoz/alkatrészhez" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Váltás előkészítés/előnézet között" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Szóköz" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Műveletek gyorsmenüjének megnyitása" - -msgid "Plater" -msgstr "Tálca" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Mozgatás: lenyomva 1 mm-es lépésekre illeszt" @@ -11854,15 +12284,19 @@ msgstr "Támasz/Színfestés: toll méretének beállítása" msgid "Support/Color Painting: adjust section position" msgstr "Támasz/Színfestés: metszet pozíciójának beállítása" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Objektumok listája" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Extruder szám beállítása az objektumok és tárgyak számára" -msgid "Delete objects, parts, modifiers" -msgstr "Objektumok, tárgyak, módosítók törlése" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Szóköz" msgid "Select the object/part and press space to change the name" msgstr "Válaszd ki az objektumot vagy alkatrészt, majd nyomd meg a szóközt a név megváltoztatásához" @@ -11873,45 +12307,48 @@ msgstr "Egérkattintás" msgid "Select the object/part and mouse click to change the name" msgstr "Válaszd ki az objektumot vagy alkatrészt, majd kattints a nevére az átnevezéshez" -msgid "Objects List" -msgstr "Tárgyak listája" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Függőleges csúszka - Az aktív csúszka felfelé mozgatása" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Függőleges csúszka - Az aktív csúszka lefelé mozgatása" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Vízszintes csúszka - Az aktív csúszka balra mozgatása" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Vízszintes csúszka - Az aktív csúszka jobbra mozgatása" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Függőleges csúszka egyréteges módjának ki/bekapcsolása" - -msgid "On/Off G-code window" -msgstr "G-kód ablak be/ki" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Csúszka 5x gyorsabb mozgatása" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Vízszintes csúszka - Ugrás a kezdőpozícióra" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Vízszintes csúszka - Ugrás az utolsó pozícióra" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Verzióinformáció" @@ -12113,15 +12550,22 @@ msgstr "Javítás megszakítva" msgid "Copying of file %1% to %2% failed: %3%" msgstr "%1% fájl másolása sikertelen a következő helyre: %2% Hiba: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Új gyártói profilok letöltése: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Konfigurációs csomag: %1% frissítve erre: %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Nem sikerült letölteni a gyártói profilokat: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Kérlek, ellenőrizd a nem mentett módosításokat a konfiguráció frissítése előtt." -msgid "Configuration package: " -msgstr "Konfigurációs csomag: " - -msgid " updated to " -msgstr " frissítve erre: " - msgid "Open G-code file:" msgstr "G-kód fájl megnyitása:" @@ -12181,11 +12625,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "A rezgéskompenzációt csak a Klipper, a RepRapFirmware és a Marlin 2 támogatja" -msgid "Grouping error: " -msgstr "Csoportosítási hiba: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Csoportosítási hiba: %1% nem helyezhető a bal fúvókába" -msgid " can not be placed in the " -msgstr " nem helyezhető ide: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Csoportosítási hiba: %1% nem helyezhető a jobb fúvókába" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12299,6 +12747,10 @@ msgstr "%1% túl közel van más tárgyakhoz, a nyomtatás során előfordulhatn msgid "%1% is too tall, and collisions will be caused." msgstr "%1% túl magas, a nyomtatás során előfordulhatnak ütközések." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "A modell és a törlőtorony egymáshoz viszonyított helyzete nem felel meg a \"Nincsenek ritka rétegek\" funkció követelményeinek. Módosítsd az egymáshoz viszonyított helyzetüket, csökkentsd a modell magasságát, vagy kapcsold ki a \"Nincsenek ritka rétegek\" beállítást." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " túl közel van a tiltott területhez, a nyomtatás során előfordulhatnak ütközések." @@ -12659,6 +13111,9 @@ msgstr "3MF használata G-kód helyett" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Kapcsold be, ha a nyomtató 3MF fájlt fogad el nyomtatási feladatként. Bekapcsolva az Orca Slicer a szeletelt fájlt .gcode.3mf formátumban küldi el egyszerű .gcode fájl helyett." +msgid "Printer Agent" +msgstr "Nyomtatóügynök" + msgid "Select the network agent implementation for printer communication." msgstr "Válaszd ki a nyomtató kommunikációjához használt hálózati ügynök implementációját." @@ -13720,6 +14175,10 @@ msgstr "Igazított vonal" msgid "Concentric" msgstr "Koncentrikus" +# AI Translated +msgid "Spiral Inset" +msgstr "Spirális behúzás" + msgid "Hilbert Curve" msgstr "Hilbert-görbe" @@ -13811,13 +14270,13 @@ msgstr "Felső felület kitöltési sorrendje" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Az az irány, amelyben a felső felületek kitöltése történik középpont alapú mintázat (Koncentrikus, Archimédeszi vonalak, Nyolcágú spirál) használatakor.\n" -"A Kifelé a felület közepén kezd, így a felesleges anyag a szélek felé tolódik, ahol a legkevésbé látszik. A Befelé a szélén kezd, és a középen lévő szűk ívekkel fejeződik be.\n" -"Az Alapértelmezett a legrövidebb útvonal szerinti sorrendet használja, amely bármelyik irányba haladhat." +"Az az irány, amelyben a felső felületek kitöltése történik középpontból induló mintázat esetén (Koncentrikus, Spirális behúzás, Archimédeszi vonalak, Nyolcágú spirál).\n" +"A Kifelé a felület közepén indul, így a felesleges anyag a szélek felé tolódik, ahol a legkevésbé látszik. A Befelé a szélen indul, és a középen lévő szűk ívekkel ér véget.\n" +"Az Alapértelmezett a legrövidebb út szerinti sorrendet használja, amely bármelyik irányba haladhat." # AI Translated msgid "Bottom surface fill order" @@ -13825,13 +14284,13 @@ msgstr "Alsó felület kitöltési sorrendje" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Az az irány, amelyben az alsó felületek kitöltése történik középpont alapú mintázat (Koncentrikus, Archimédeszi vonalak, Nyolcágú spirál) használatakor.\n" -"A Befelé minden felületet a szélesebb külső ívekkel kezd, ami javítja az első réteg tapadását azokon az asztalokon, ahol a középen lévő szűk ívek nem tapadnak meg jól. A Kifelé a közepén kezd, a felesleges anyagot a szélek felé tolva.\n" -"Az Alapértelmezett a legrövidebb útvonal szerinti sorrendet használja, amely bármelyik irányba haladhat." +"Az az irány, amelyben az alsó felületek kitöltése történik középpontból induló mintázat esetén (Koncentrikus, Spirális behúzás, Archimédeszi vonalak, Nyolcágú spirál).\n" +"A Befelé minden felületet a szélesebb külső ívekkel kezd, ami javítja a kezdőréteg tapadását azokon az asztalokon, amelyeken a középen lévő szűk ívek esetleg nem tapadnak meg. A Kifelé a közepén indul, és a felesleges anyagot a szélek felé tolja.\n" +"Az Alapértelmezett a legrövidebb út szerinti sorrendet használja, amely bármelyik irányba haladhat." # AI Translated msgid "Internal solid infill pattern" @@ -13935,6 +14394,14 @@ msgstr "Óramutató járásával ellentétes" msgid "Clockwise" msgstr "Óramutató járásával megegyező" +# AI Translated +msgid "Distance to rod" +msgstr "Távolság a rúdtól" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "A fúvóka hegyének vízszintes távolsága a rúd távolabbi élétől. Ütközés elkerülésére szolgál tárgyankénti nyomtatás esetén." + msgid "Height to rod" msgstr "Magasság a rúdig" @@ -16113,6 +16580,20 @@ msgstr "Túlnyúló falak felismerése" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Felismeri a túlnyúlás százalékos arányát a vonalszélességhez viszonyítva, és más sebességet használ. A 100%%-os túlnyúlás esetén az áthidaláshoz beállított sebességet használja." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Alátámasztatlan falak nyomtatása utoljára" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"A teljesen a levegőben lévő falhurkok csak akkor kerülnek nyomtatásra, amikor már van, ami megtartsa őket:\n" +"a szigetük többi fala után kerülnek extrudálásra, a legbelsővel kezdve, függetlenül a falak sorrendjétől.\n" +"Az a hurok, amelyet csak az adott réteg áthidalásai tudnak rögzíteni, megvárja, amíg ezek az áthidalások kinyomtatásra kerülnek, míg egy alátámasztott fal mellett futó hurok megtartja a helyét a kitöltés előtt, amelynek rögzítésként szüksége van rá." + # AI Translated msgid "Outer walls" msgstr "Külső falak" @@ -16553,6 +17034,39 @@ msgstr "Törlés hurkokon" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "A varrat láthatóságának csökkentéséhez zárt hurok extrudálásnál egy kis befelé irányuló mozgás történik, mielőtt az extruder elhagyná a hurkot." +# AI Translated +msgid "Wipe inward" +msgstr "Törlés befelé" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Csak a külső falakra vonatkozik, beleértve a furatok kontúrjait is. Törlés közben a forró fúvókát a már kinyomtatott belső falak felé mozgatja, hogy csökkentse a frissen nyomtatott műanyag újramelegedését és a varratnyomokat.\n" +"\n" +"Különösen hasznos 0,1 mm alatti rétegmagasságnál, ahol a törlésnyomok jobban látszanak.\n" +"\n" +"A szokásos törlést használja, ha nincs még kinyomtatott szomszédos belső fal (egyfalú területek vagy Külső/Belső falsorrend), illetve ha nem található alátámasztott befelé vezető útvonal, például szűk sarkoknál vagy varrathézagoknál." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Törlés befelé távolsága" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Az a távolság, amennyivel a törlési útvonal eltolódik a külső kerülettől, milliméterben vagy a külső fal tényleges extrudálási szélességének százalékában megadva.\n" +"\n" +"Például az 50% a külső fal szélességének felével tolja el az útvonalat. A tényleges eltolást korlátozza a külső fal tényleges szélessége és a szomszédos falig rendelkezésre álló hely is, ezért a 100% feletti értékeknek vagy az ezzel egyenértékű abszolút távolságnak nincs további hatása. Az eltolás kikapcsolásához állítsd 0-ra." + msgid "Wipe before external loop" msgstr "Törlés a külső hurok előtt" @@ -16756,8 +17270,8 @@ msgstr "Előmelegítési lépések" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Több előmelegítési parancs beszúrása (pl. M104.1). Ez csak a Prusa XL esetén hasznos. Más nyomtatóknál állítsd 1-re." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "A kimeneti fájl legelejére írt G-kód, minden más tartalom előtt. Hasznos olyan metaadatok hozzáadására, amelyeket a nyomtató firmware-e a fájl első soraiból olvas ki (pl. becsült nyomtatási idő, filamentfelhasználás). Támogatja az olyan helyőrzőket, mint a {print_time_sec} és a {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Kezdő G-kód" @@ -16818,8 +17332,9 @@ msgstr "Felveszi az új szerszámot anélkül, hogy megvárná a nyomtatási hő msgid "No sparse layers (beta)" msgstr "Nincsenek ritka rétegek (béta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Ha engedélyezed, nem készül törlőtorony azokon a rétegeken, ahol nincs szerszámváltás. A szerszámváltást tartalmazó rétegeknél az extruder az aktuális magasság alá süllyed a törlőtorony nyomtatásához. Ügyelj arra, hogy ez ne okozzon ütközést a nyomtatás során." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Ha be van kapcsolva, a törlőtorony nem kerül nyomtatásra azokon a rétegeken, ahol nincs eszközváltás. Az eszközváltást tartalmazó rétegeken az extruder lefelé mozdul, hogy kinyomtassa a törlőtornyot, így a torony a modell alá kerül, és a szerszámfejnek le kell nyúlnia hozzá. Azok az elrendezések, ahol ez ütközne egy már kinyomtatott tárggyal, elutasításra kerülnek. Nincs hatása sima Timelapse vagy fúvókalerakódás-érzékelés esetén, mert ezekhez minden rétegen kell torony." msgid "Prime all printing extruders" msgstr "Az összes nyomtató extruder előkészítése" @@ -16845,6 +17360,34 @@ msgstr "" msgid "Cyclic" msgstr "Ciklikus" +# AI Translated +msgid "Cyclic order" +msgstr "Ciklikus sorrend" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"A ciklikus eszközváltási sorrend által használt egyéni filamentsorrend, vesszővel elválasztott filamentszámokként (pl. \"3,2,1,4\").\n" +"Minden réteg ezt a sorrendet követve nyomtatja a filamentjeit; a fel nem sorolt filamentek utoljára kerülnek nyomtatásra, növekvő sorrendben.\n" +"Hagyd üresen, ha a filamenteket növekvő sorrendben szeretnéd végigjárni." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Ciklikus sorrend alkalmazása a kezdőrétegre" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"A ciklikus eszközváltási sorrendet a kezdőrétegre is alkalmazza.\n" +"Alapértelmezés szerint ki van kapcsolva, mert a kezdőréteg helyette a legjobb asztalra tapadás érdekében kerül sorba rendezésre: azok a filamentek, amelyek kicsi, törékeny kezdőréteg-elemeket nyomtatnak, utoljára kerülnek sorra, így a következő eszközváltások és mozgások kisebb eséllyel szakítják le ezeket a gyengén rögzített részeket. Ez a kezdőréteg-sorrend figyelembe veszi a kezdőréteghez beállított egyéni filamentsorrendet is, ha van ilyen. A ciklikus sorrend előnye (a további eszközváltások több időt adnak minden rétegnek a hűlésre) nem érvényes a kezdőrétegre, amely a tapadás érdekében lassan és forrón készül.\n" +"Csak akkor kapcsold be, ha pontosan ugyanarra az eszközsorrendre van szükséged minden rétegen, beleértve az elsőt is, ezen tapadásoptimalizálás rovására." + msgid "Slice gap closing radius" msgstr "Szeletelési hézag lezárási sugara" @@ -16854,9 +17397,6 @@ msgstr "A háromszögháló szeletelésekor kitölti a hézagzárási sugár ké msgid "Slicing Mode" msgstr "Szeletelési mód" -msgid "Other" -msgstr "Egyéb" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Használd a \"Páros-páratlan\" opciót a 3DLabPrint repülőgépmodellekhez. Használd a \"Hézagok lezárása\" lehetőséget a modell összes házagának lezárásához." @@ -17782,9 +18322,6 @@ msgstr "túl nagy vonalszélesség " msgid " not in range " msgstr " nincs a tartományban " -msgid "Export 3MF" -msgstr "3MF exportálása" - msgid "This exports the project as a 3MF file." msgstr "Projekt exportálása 3MF formátumban." @@ -17800,9 +18337,6 @@ msgstr "Szeletelési adatok betöltése" msgid "Load cached slicing data from directory." msgstr "Gyorsítótárazott szeletelési adatok betöltése mappából" -msgid "Export STL" -msgstr "STL exportálása" - msgid "Export the objects as single STL." msgstr "Az objektumok exportálása egyetlen STL fájlként." @@ -17854,6 +18388,14 @@ msgstr "Nincs ellenőrzés" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Ne futtass érvényességi ellenőrzéseket, például G-kód útvonalütközés-ellenőrzést." +# AI Translated +msgid "Strict mode" +msgstr "Szigorú mód" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Nem nulla kilépési kóddal lép ki, ha a szeletelés olyan nem kritikus figyelmeztetést ad, amely egyébként csak naplózásra kerülne, például ha egy modellhez támasz kellene, miközben a támasz ki van kapcsolva. Használd CI-ben vagy szkriptelt folyamatokban, amelyek soha nem adhatnak ki észrevétlenül hibás szeletelést. Minden ilyen figyelmeztetés stabil osztállyal szerepel a result.json `warnings` tömbjében is, amely csak Linuxon készül el. Nem használható a --no-check kapcsolóval együtt, amely kihagyja a támaszellenőrzést." + msgid "Normative check" msgstr "Normatív ellenőrzés" @@ -17866,11 +18408,28 @@ msgstr "Kimeneti modell információ" msgid "This outputs the model’s information." msgstr "Kimeneti modell információ." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Háló vizsgálata (JSON a stdout-ra)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Kiír a stdout-ra egy JSON összegzést minden betöltött tárgyról, majd kilép: a befoglaló dobozait és a konvex burok azon lapjait, amelyekre lefektethető, ezek normálisaival, területével és középpontjával együtt. Ezek közül a lapok közül választanak a --ground-* kapcsolók. Az --info géppel olvasható alternatívája." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Festés vizsgálata (JSON a stdout-ra)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Kiír egy strukturált JSON összegzést a betöltött modellen már tárolt minden festett rétegről (támaszok, varrat, MMU-szín, barázdált felület) — állapotonkénti lapszám, felület és a hálóhoz viszonyított befoglaló doboz —, majd kilép. A festőeszközök felületen történő megnyitásának géppel olvasható alternatívája." + msgid "Export Settings" msgstr "Beállítások exportálása" -msgid "This exports settings to a file." -msgstr "Beállítások exportálása egy fájlba." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Ez fájlba exportálja a beállításokat. A - használatával a stdout-ra írja őket." msgid "Send progress to pipe" msgstr "Folyamat elküldése" @@ -17926,6 +18485,30 @@ msgstr "Forgatás Y körül" msgid "Rotation angle around the Y axis in degrees." msgstr "Az Y tengely körüli forgatási szög fokban." +# AI Translated +msgid "Ground largest face" +msgstr "Fektetés a legnagyobb lapra" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Minden tárgyat a konvex burkának legnagyobb lapjára fektet, és ráejti az asztalra. Az egyforma méretű lapok közül a már lefelé néző marad. Azok a tárgyak, amelyeknek nincs elég nagy lapjuk a megtámaszkodáshoz, változatlanok maradnak. Az átalakítások a parancssori sorrendben futnak, így az ezen kapcsoló előtt megadott forgatások érvényesülnek. Az --orient 1 az összes átalakítás után fut, és felülírja a tájolást." + +# AI Translated +msgid "Ground face by normal" +msgstr "Fektetés lapra normális szerint" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Minden tárgyat a konvex burok azon lapjára fektet, amelynek kifelé mutató normálisa a legközelebb van az NX,NY,NZ irányhoz, és ráejti az asztalra. Az irány a tárgy koordinátáiban értendő, amelyek tartalmazzák az ezen kapcsoló előtt megadott forgatásokat, és megegyeznek az asztal tengelyeivel, hacsak a bemeneti fájl el nem forgatja a tárgyat. Például az 1,0,0 a +X oldalára állítja a tárgyat. Az --orient 1 az összes átalakítás után fut, és felülírja a tájolást." + +# AI Translated +msgid "Ground face at point" +msgstr "Fektetés pontban lévő lapra" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Minden tárgyat a konvex burok azon lapjára fektet, amely tartalmazza az X,Y,Z pontot, és ráejti az asztalra. A pont a tárgy koordinátáiban értendő, amelyek tartalmazzák az ezen kapcsoló előtt megadott forgatásokat; az --inspect-mesh ezekben adja meg a lapok középpontját. Azok a tárgyak, amelyeknek nincs ilyen lapjuk, változatlanok maradnak, és a futás hibával áll le, ha egyetlen tárgynak sincs ilyen lapja. Az --orient 1 az összes átalakítás után fut, és felülírja a tájolást." + msgid "Scale the model by a float factor." msgstr "A modell méretezése egy lebegő tényezővel" @@ -18225,12 +18808,36 @@ msgstr "Használt filament" msgid "Total length of filament used in the print." msgstr "A nyomtatás során felhasznált filament teljes hossza." -msgid "Print time (seconds)" -msgstr "Nyomtatási idő (másodperc)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "A teljes becsült nyomtatási idő másodpercben. Az utófeldolgozás során a tényleges értékre cserélődik." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Filament hossza (méter)" @@ -18461,9 +19068,6 @@ msgstr "A fájl érvénytelen csúcsindexet tartalmaz." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ez az OBJ fájl nem olvasható be, mert üres." -msgid "Max Volumetric Speed Calibration" -msgstr "Max. volumetrikus sebesség kalibrálása" - msgid "Manage Result" msgstr "Eredmények kezelése" @@ -19309,9 +19913,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "MEGJEGYZÉS: A magas értékek rétegeltolódást okozhatnak (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Anyagáramlás kalibrálás" - msgid "Calibration Test Type" msgstr "Kalibrációs teszt típusa" @@ -20104,6 +20705,9 @@ msgstr "Nem található érvényes munkamenet. Folytatod a bejelentkezést a 3DP msgid "Success!" msgstr "Sikerült!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Biztosan kijelentkezel?" @@ -21110,6 +21714,18 @@ msgstr "Ez a művelet nem vonható vissza. Folytatod?" msgid "Skipping objects." msgstr "Objektumok kihagyása." +# AI Translated +msgid "Material Ratio" +msgstr "Anyagarány" + +# AI Translated +msgid "Model Height" +msgstr "Modellmagasság" + +# AI Translated +msgid "Ratio" +msgstr "Arány" + msgid "Select Filament" msgstr "Filament kiválasztása" @@ -21141,13 +21757,6 @@ msgstr "A Bambu hálózati bővítmény szükséges a felhőfunkciókhoz, a nyom msgid "Error: %s" msgstr "Hiba: %s" -msgid "Show details" -msgstr "Részletek megjelenítése" - -# AI Translated -msgid "Hide details" -msgstr "Részletek elrejtése" - msgid "Version to install:" msgstr "Telepítendő verzió:" @@ -21392,12 +22001,14 @@ msgid "Drying-Dehumidifying" msgstr "Szárítás – páramentesítés" # AI Translated -msgid " maximum drying temperature is " -msgstr " maximális szárítási hőmérséklete " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s maximális szárítási hőmérséklete %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " minimális szárítási hőmérséklete " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s minimális szárítási hőmérséklete %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21542,6 +22153,2494 @@ msgstr "Előfordulhat, hogy a filament nem kompatibilis a jelenlegi gépbeállí msgid "The filament model is unknown. A random filament preset will be used." msgstr "A filament modellje ismeretlen. Egy véletlenszerű filamentbeállítást használ." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Vége" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Alul" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Balra nyíl" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Jobbra nyíl" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Felfelé nyíl" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Lefelé nyíl" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Geometriai adatok importálása STL/STEP/3MF/OBJ/AMF fájlokból" + +msgid "Select all objects" +msgstr "Összes objektum kijelölése" + +msgid "Paste from clipboard" +msgstr "Beillesztés a vágólapról" + +msgid "Toggle printable for object/part" +msgstr "Nyomtathatóság váltása objektumhoz/alkatrészhez" + +msgid "Move selection 10mm in negative X direction" +msgstr "Kijelölés mozgatása 10 mm-rel negatív X irányban" + +msgid "Move selection 10mm in positive X direction" +msgstr "Kijelölés mozgatása 10 mm-rel pozitív X irányban" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Kijelölés mozgatása 10 mm-rel pozitív Y irányban" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Kijelölés mozgatása 10 mm-rel negatív Y irányban" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo mozgatás" + +msgid "Gizmo rotate" +msgstr "Gizmo forgatás" + +msgid "Gizmo scale" +msgstr "Gizmo átméretezés" + +msgid "Gizmo place face on bed" +msgstr "Gizmo felület asztalra illesztése" + +msgid "Gizmo cut" +msgstr "Gizmo vágás" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo modellháló logikai műveletek" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM varrat festés" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM barázdált felület festése" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo szöveg dombornyomás/gravírozás" + +msgid "Gizmo measure" +msgstr "Gizmo mérés" + +msgid "Gizmo assemble" +msgstr "Gizmo összeállítás" + +msgid "Gizmo brim ears" +msgstr "Gizmo peremfülek" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Függőleges csúszka - Az aktív csúszka felfelé mozgatása" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Függőleges csúszka - Az aktív csúszka lefelé mozgatása" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Vízszintes csúszka - Az aktív csúszka balra mozgatása" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Vízszintes csúszka - Az aktív csúszka jobbra mozgatása" + +msgid "Horizontal slider - Move to start position" +msgstr "Vízszintes csúszka - Ugrás a kezdőpozícióra" + +msgid "Horizontal slider - Move to last position" +msgstr "Vízszintes csúszka - Ugrás az utolsó pozícióra" + +msgid "Camera view - Default" +msgstr "Kameranézet - Alapértelmezett" + +msgid "Camera view - Top" +msgstr "Kameranézet - Felülről" + +msgid "Camera view - Bottom" +msgstr "Kameranézet - Alulról" + +msgid "Camera view - Front" +msgstr "Kameranézet - Elölről" + +msgid "Camera view - Behind" +msgstr "Kameranézet - Hátulról" + +msgid "Camera Angle - Left side" +msgstr "Kameranézet - Bal oldal" + +msgid "Camera Angle - Right side" +msgstr "Kameranézet - Jobb oldal" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Zoom közelítés" + +msgid "Zoom out" +msgstr "Zoom távolítás" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "3Dconnexion-eszközbeállítások párbeszédablak megjelenítése/elrejtése" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "G-kód ablak be/ki" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Függőleges csúszka egyréteges módjának ki/bekapcsolása" + +msgid "Switch between Prepare/Preview" +msgstr "Váltás előkészítés/előnézet között" + +msgid "Collapse/Expand the sidebar" +msgstr "Az oldalsáv összecsukása/kinyitása" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Gyorsgombok listájának megjelenítése" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21843,6 +24942,156 @@ msgstr "" "Kunkorodás elkerülése\n" "Tudtad, hogy a kunkorodásra hajlamos anyagok (például ABS) nyomtatásakor az asztal hőmérsékletének növelése csökkentheti a kunkorodás valószínűségét?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Megjeleníti az aktuális nézetablak FPS-t a jobb felső sarokban." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF közzététele wiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF közzététele videós útmutató" + +#~ msgid "Toolbar" +#~ msgstr "Eszköztár" + +#~ msgid "Switch table page" +#~ msgstr "Váltás táblázatra" + +#~ msgid "Global shortcuts" +#~ msgstr "Globális gyorsbillentyűk" + +#~ msgid "Middle mouse button" +#~ msgstr "Középső egérgomb" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Automatikusan beállítja a kijelölt objektumok vagy az összes objektum tájolását. Ha vannak kijelölt objektumok, akkor csak a kijelölteket, ellenkező esetben pedig a projektben levő összes objektumot orientálja." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Automatikusan orientálja az aktuális tálcán levő összes objektumot." + +#~ msgid "Any arrow" +#~ msgstr "Bármelyik nyílbillentyű" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo SLA támaszpontok" + +#~ msgid "Plater" +#~ msgstr "Tálca" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Objektumok, tárgyak, módosítók törlése" + +#~ msgid "Objects List" +#~ msgstr "Tárgyak listája" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "A kimeneti fájl legelejére írt G-kód, minden más tartalom előtt. Hasznos olyan metaadatok hozzáadására, amelyeket a nyomtató firmware-e a fájl első soraiból olvas ki (pl. becsült nyomtatási idő, filamentfelhasználás). Támogatja az olyan helyőrzőket, mint a {print_time_sec} és a {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Nyomtatási idő (másodperc)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Műveletek gyorsmenüjének megnyitása" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Bal: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Jobb: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "A maximális hőmérséklet nem haladhatja meg ezt: " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "A minimális hőmérséklet nem lehet kevesebb ennél: " + +#~ msgid "up to" +#~ msgstr "legfeljebb" + +#~ msgid "above" +#~ msgstr "felett" + +#~ msgid "from" +#~ msgstr "ettől" + +#~ msgid "Configuration package: " +#~ msgstr "Konfigurációs csomag: " + +#~ msgid " updated to " +#~ msgstr " frissítve erre: " + +#~ msgid "Grouping error: " +#~ msgstr "Csoportosítási hiba: " + +#~ msgid " can not be placed in the " +#~ msgstr " nem helyezhető ide: " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " maximális szárítási hőmérséklete " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " minimális szárítási hőmérséklete " + +# AI Translated +#~ msgid "needs" +#~ msgstr "ehhez kell" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "nincs engedélyezve" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "az anyag nincs közzétéve" + +#~ msgid "Select the language" +#~ msgstr "Válaszd ki a nyelvet" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Bővítmény kiválasztása" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Az az irány, amelyben a felső felületek kitöltése történik középpont alapú mintázat (Koncentrikus, Archimédeszi vonalak, Nyolcágú spirál) használatakor.\n" +#~ "A Kifelé a felület közepén kezd, így a felesleges anyag a szélek felé tolódik, ahol a legkevésbé látszik. A Befelé a szélén kezd, és a középen lévő szűk ívekkel fejeződik be.\n" +#~ "Az Alapértelmezett a legrövidebb útvonal szerinti sorrendet használja, amely bármelyik irányba haladhat." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Az az irány, amelyben az alsó felületek kitöltése történik középpont alapú mintázat (Koncentrikus, Archimédeszi vonalak, Nyolcágú spirál) használatakor.\n" +#~ "A Befelé minden felületet a szélesebb külső ívekkel kezd, ami javítja az első réteg tapadását azokon az asztalokon, ahol a középen lévő szűk ívek nem tapadnak meg jól. A Kifelé a közepén kezd, a felesleges anyagot a szélek felé tolva.\n" +#~ "Az Alapértelmezett a legrövidebb útvonal szerinti sorrendet használja, amely bármelyik irányba haladhat." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Ha engedélyezed, nem készül törlőtorony azokon a rétegeken, ahol nincs szerszámváltás. A szerszámváltást tartalmazó rétegeknél az extruder az aktuális magasság alá süllyed a törlőtorony nyomtatásához. Ügyelj arra, hogy ez ne okozzon ütközést a nyomtatás során." + +#~ msgid "This exports settings to a file." +#~ msgstr "Beállítások exportálása egy fájlba." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "A natív Wayland élőképhez a GStreamer GTK videonyelő szükséges. Telepítsd a gtksink beépülő modult a GStreamerhez, majd indítsd újra az OrcaSlicert." @@ -21895,9 +25144,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Nyomtatási sorrend egyetlen rétegen belül." -#~ msgid "Bottom" -#~ msgstr "Alul" - #~ msgid "Front" #~ msgstr "Elöl" @@ -21919,9 +25165,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Jobbra nyíl" -#~ msgid "End" -#~ msgstr "Vége" - #~ msgid "Hotend" #~ msgstr "Fejegység" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 9af642f536..f17bfc5ba3 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2466,15 +2466,6 @@ msgstr "È disponibile un aggiornamento. Apri la finestra di dialogo del bundle msgid "%s has been removed." msgstr "%s è stato rimosso." -msgid "Switching application language" -msgstr "Cambio lingua applicazione" - -msgid "Select the language" -msgstr "Seleziona la lingua" - -msgid "Language" -msgstr "Lingua" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2512,6 +2503,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Impossibile aprire la finestra di dialogo Plugin (errore sconosciuto)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminale plugin" @@ -3715,11 +3719,15 @@ msgstr "Ritira il filamento attuale sul Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Cambia traccia sul Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "La temperatura massima non può superare " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "La temperatura massima non può superare %d" -msgid "The minmum temperature should not be less than " -msgstr "La temperatura minima non deve essere inferiore a " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "La temperatura minima non deve essere inferiore a %d" # AI Translated msgid "Type to filter..." @@ -4164,6 +4172,21 @@ msgstr "OrcaSlicer è nato con lo stesso spirito, traendo ispirazione da PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Oggi, OrcaSlicer è il programma di sezionamento a sorgente aperta più utilizzato e attivamente sviluppato nella comunità della stampa 3D. Molte delle sue innovazioni sono state adottate da altri programmi di stampa, rendendolo un punto di riferimento per l'intero settore." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Stampante" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Impostazione materiali AMS" @@ -4605,6 +4628,15 @@ msgstr "" "Copia del G-code temporaneo sul G-code di uscita non riuscita. Forse la scheda SD è protetta da scrittura?\n" "Messaggio di errore: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Copia del G-code temporaneo nel G-code di output non riuscita.\n" +"Messaggio di errore: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Copia del G-code temporaneo nel G-code di uscita non riuscita. Potrebbe esserci un problema nel dispositivo di destinazione. Prova ad esportare di nuovo o usa un dispositivo diverso. Il file G-code corrotto è su %1%.tmp." @@ -4907,6 +4939,9 @@ msgstr "" "Sì - Modifica queste impostazioni ed abilita la modalità spirale automaticamente\n" "No - Annulla l'attivazione della modalità a spirale" +msgid "N/A" +msgstr "N/D" + msgid "Printing" msgstr "Stampa" @@ -5337,14 +5372,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Il valore %s è fuori intervallo. L'intervallo valido è da %d a %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"È %s%% o %s %s?\n" -"Sì per %s%%, \n" -"NO per %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "È %s%% o %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5366,29 +5398,22 @@ msgstr "Schema non valido. Utilizzare N, N#K o un elenco separato da virgole con msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Formato non valido. Formato vettoriale previsto: \"%1%\"" -msgid "N/A" -msgstr "N/D" - # AI Translated msgid "System agents" msgstr "Agenti di sistema" -# AI Translated -msgid "No plugin selected" -msgstr "Nessun plugin selezionato" - # AI Translated msgid "Add plugin" msgstr "Aggiungi plugin" -# AI Translated -msgid "Select plugin" -msgstr "Seleziona plugin" - # AI Translated msgid "Remove plugin" msgstr "Rimuovi plugin" +# AI Translated +msgid "No plugin selected" +msgstr "Nessun plugin selezionato" + # AI Translated msgid "Configure" msgstr "Configura" @@ -5644,14 +5669,20 @@ msgstr "Imposta al valore ottimale" msgid "Regroup filament" msgstr "Raggruppa nuovamente i filamenti" -msgid "up to" -msgstr "fino a" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "fino a %1% mm" -msgid "above" -msgstr "sopra" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "sopra %1% mm" -msgid "from" -msgstr "da" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "da %1% a %2% mm" msgid "Usage" msgstr "Utilizzo" @@ -5711,9 +5742,6 @@ msgctxt "Noun" msgid "Print" msgstr "Stampa" -msgid "Printer" -msgstr "Stampante" - msgid "Time Estimation" msgstr "Tempo stimato" @@ -5892,12 +5920,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Destra" -msgid "Add" -msgstr "Aggiungi" - msgid "Add plate" msgstr "Aggiungi piatto" +msgid "Split to objects" +msgstr "Dividi in oggetti" + +msgid "Add" +msgstr "Aggiungi" + msgid "Auto orient all/selected objects" msgstr "Orientamento automatico tutti/selezionati oggetti" @@ -5910,9 +5941,6 @@ msgstr "Disponi tutti gli oggetti" msgid "Arrange objects on selected plates" msgstr "Disponi gli oggetti sui piatti selezionati" -msgid "Split to objects" -msgstr "Dividi in oggetti" - msgid "Assembly View" msgstr "Vista di montaggio" @@ -5969,6 +5997,9 @@ msgstr "Contorno" msgid "Wireframe" msgstr "Modello reticolato" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Vista realistica" @@ -6179,6 +6210,9 @@ msgstr "Chiusura dell'applicazione durante la modifica di alcuni profili." msgid "Logging" msgstr "Accesso" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Prepara" @@ -6327,6 +6361,14 @@ msgstr "Salva progetto con nome" msgid "Save current project as" msgstr "Salva progetto corrente con nome" +# AI Translated +msgid "Publish 3MF" +msgstr "Pubblica 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Esporta un file 3MF con le impostazioni selezionate incorporate" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importa 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6509,6 +6551,9 @@ msgstr "Modifica" msgid "View" msgstr "Vista" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Pacchetto profili" @@ -7441,6 +7486,233 @@ msgstr "Non mostrare più questa finestra di dialogo" msgid "Please refer to Wiki before use->" msgstr "Fare riferimento alla Wiki prima dell'uso ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Esporta STL" + +msgid "Export 3MF" +msgstr "Esporta 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibrazione della velocità volumetrica massima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibrazione flusso di stampa" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Elimina tutti gli oggetti" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dividi in oggetti" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mouse 3D disconnesso." @@ -7602,6 +7874,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Inferiore" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Questa impostazione non specifica un tipo di funzionalità del plugin." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Questa impostazione specifica un tipo di funzionalità del plugin non riconosciuto: " + # AI Translated msgid "Plugin Selection" msgstr "Selezione plugin" @@ -8085,10 +8365,6 @@ msgstr "Espandi barra laterale" msgid "Collapse sidebar" msgstr "Riduci barra laterale" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Caricamento file: %s" @@ -8163,6 +8439,14 @@ msgstr "Si prega di confermare che i G-code all'interno di questi profili sono s msgid "Customized Preset" msgstr "Profilo personalizzato" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Alcune impostazioni pubblicate non sono state applicate:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Alcuni slot filamento sono stati modificati:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Il nome dei componenti all'interno del file STEP non è in formato UTF-8!" @@ -8280,10 +8564,6 @@ msgstr "" msgid "Delete Object" msgstr "Elimina oggetto" -# AI Translated -msgid "Delete All Objects" -msgstr "Elimina tutti gli oggetti" - # AI Translated msgid "Reset Project" msgstr "Reimposta progetto" @@ -8291,10 +8571,6 @@ msgstr "Reimposta progetto" msgid "The selected object couldn't be split." msgstr "L'oggetto selezionato non può essere diviso." -# AI Translated -msgid "Split to Objects" -msgstr "Dividi in oggetti" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Disabilitare la funzione di Rilascio automatico per preservare il posizionamento sull'asse Z?\n" @@ -8570,6 +8846,21 @@ msgstr "Salva file elaborato con nome:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Il file %s è stato inviato alla memoria della stampante e può essere visualizzato da lì." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Pubblica il file 3MF come:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Esportazione del file 3MF pubblicato non riuscita.\n" +"Verifica se la cartella esiste online o se altri programmi hanno il file aperto." + +msgid "Publish" +msgstr "Pubblica" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Il tipo di ugello non è impostato. Impostare l'ugello e riprovare." @@ -8784,9 +9075,6 @@ msgstr "Vuoi continuare?" msgid "Language selection" msgstr "Selezione lingua" -msgid "Switching application language while some presets are modified." -msgstr "Cambio lingua applicazione durante la modifica di alcuni profili." - msgid "Asia-Pacific" msgstr "Asia-Pacifico" @@ -8892,6 +9180,9 @@ msgstr "Percorso istanza attuale: " msgid "General" msgstr "Generale" +msgid "Language" +msgstr "Lingua" + msgid "Metric" msgstr "Metrico" @@ -9096,6 +9387,33 @@ msgstr "Gestione multi-dispositivo" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Abilitando questa opzione, puoi inviare un'attività a più dispositivi contemporaneamente e gestire più dispositivi." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Popup per selezionare la modalità di raggruppamento filamenti" @@ -9177,6 +9495,12 @@ msgstr "Inverti zoom del mouse" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Se abilitato, inverte la direzione dell'ingrandimento con la rotellina del mouse." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panoramica" @@ -9205,6 +9529,15 @@ msgstr "Trascinamento con il tasto destro del mouse" msgid "Set the action that dragging the right mouse button should perform." msgstr "Imposta l'azione che deve eseguire il trascinamento con il tasto destro del mouse." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Cancella la mia scelta su..." @@ -9329,13 +9662,40 @@ msgstr "" "Limita la frequenza dei fotogrammi della vista per ridurre il carico della GPU e il consumo energetico.\n" "Imposta a 0 per una frequenza dei fotogrammi illimitata." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Mostra overlay FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Mostra gli FPS correnti della vista nell'angolo in alto a destra." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9353,9 +9713,6 @@ msgstr "Quando si scorre il cursore degli strati nell'anteprima elaborata, gli s msgid "Dimmed layer brightness" msgstr "Luminosità degli strati attenuati" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9754,9 +10111,6 @@ msgstr "Vai alla pagina web di pubblicazione del modello" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Nota: la preparazione può richiedere alcuni minuti. Si prega di avere pazienza." -msgid "Publish" -msgstr "Pubblica" - msgid "Publish was canceled" msgstr "La pubblicazione è stata annullata" @@ -9772,6 +10126,76 @@ msgstr "Caricamento dati" msgid "Jump to webpage" msgstr "Vai alla pagina web" +# AI Translated +msgid "Material" +msgstr "Materiale" + +# AI Translated +msgid "Mixed filament" +msgstr "Filamento misto" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Alcuni filamenti misti dipendono da filamenti che non verranno pubblicati:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filamento %d (misto)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% richiede %2%, che non è abilitato." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% richiede %2%, il cui materiale non verrà pubblicato." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Per pubblicare un filamento misto, abilita ogni filamento che utilizza e scegli Pubblicazione completa oppure soddisfa il suo requisito Tipo." + +# AI Translated +msgid "Publish anyway" +msgstr "Pubblica comunque" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Pubblica 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Seleziona quali impostazioni pubblicare nel file 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filamento misto - pubblicato per intero quando sopra è selezionato \"Abilita\"" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Pubblica questo filamento misto e abilita + pubblica per intero i suoi filamenti componenti" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Pubblica questo slot filamento nel file 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Pubblicazione completa" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Incorpora l'intero filamento di questo slot nel file 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtra non selezionati" + #, c-format, boost-format msgid "Save %s as" msgstr "Salva %s con nome" @@ -9789,6 +10213,10 @@ msgstr "Copia in questo profilo tutti i valori ereditati dal profilo padre e rim msgid "Detach from parent" msgstr "Scollega dal genitore" +# AI Translated +msgid "Save without parent" +msgstr "Salva senza genitore" + # AI Translated msgid "Unique preset" msgstr "Profilo unico" @@ -9848,6 +10276,133 @@ msgstr "Per \"%1%\", aggiungere \"%2%\" come nuovo profilo" msgid "Simply switch to \"%1%\"" msgstr "Passa semplicemente a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Altro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Mostra dettagli" + +# AI Translated +msgid "Hide details" +msgstr "Nascondi dettagli" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Attività annullata" @@ -10493,9 +11048,17 @@ msgstr "È necessaria una torre di spurgo per il rilevamento degli ammassi. Potr msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "L'abilitazione sia dell'altezza Z precisa che della torre di spurgo potrebbe causare errori di slicing. Vuoi comunque abilitare l'altezza Z precisa?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Il timelapse fluido richiede una torre di spurgo su ogni strato, il che non è compatibile con \"Nessuno strato sparso\". \"Nessuno strato sparso\" è stato disattivato." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "È necessaria una torre di spurgo per una modalità timelapse fluida. Potrebbero esserci dei difetti sul modello senza una torre di spurgo. Vuoi abilitare la torre di spurgo?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Nessuno strato sparso\" non è compatibile con il timelapse fluido, che richiede una torre di spurgo su ogni strato. Il timelapse è passato alla modalità tradizionale." + msgid "Still print by object?" msgstr "Stampare ancora per oggetto?" @@ -10869,9 +11432,6 @@ msgstr "Profili di processo compatibili" msgid "Printable space" msgstr "Spazio di stampa" -msgid "Printer Agent" -msgstr "Agente stampante" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Selezionare l'implementazione dell'agente di rete per la comunicazione con la stampante. Gli agenti disponibili vengono registrati all'avvio." @@ -11280,14 +11840,6 @@ msgstr "Numero di estrusori" msgid "Capabilities" msgstr "Caratteristiche" -# AI Translated -msgid "Left: " -msgstr "Sinistra: " - -# AI Translated -msgid "Right: " -msgstr "Destra: " - msgid "Show all presets (including incompatible)" msgstr "Mostra tutti i profili (compresi quelli non compatibili)" @@ -11675,57 +12227,39 @@ msgstr "Il pacchetto di configurazione è stato modificato nella precedente Guid msgid "Configuration package changed" msgstr "Pacchetto di configurazione modificato" -msgid "Toolbar" -msgstr "Barra degli strumenti" - -msgid "Objects list" -msgstr "Elenco oggetti" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importa geometrie da file STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Incolla dagli appunti" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Mostra/nascondi la finestra di dialogo delle impostazioni dei dispositivi 3Dconnexion" - -msgid "Switch table page" -msgstr "Cambia pagina tabella" - -msgid "Show keyboard shortcuts list" -msgstr "Mostra elenco scorciatoie da tastiera" - -msgid "Global shortcuts" -msgstr "Scorciatoie globali" - msgid "Pan View" msgstr "Vista panoramica" msgid "Rotate View" msgstr "Ruota vista" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "Tasto centrale del mouse" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "Vista Zoom" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Questo orienta automaticamente gli oggetti selezionati o tutti gli oggetti. Se ci sono oggetti selezionati, orienta solo quelli selezionati. Altrimenti, orienterà tutti gli elementi nel progetto corrente." - -msgid "Auto orients all objects on the active plate." -msgstr "Questo orienta tutti gli oggetti nel piatto corrente." - -msgid "Collapse/Expand the sidebar" -msgstr "Riduci/Espandi barra laterale" - -msgid "Any arrow" -msgstr "Qualsiasi freccia" - -msgid "Movement in camera space" -msgstr "Movimento nello spazio della telecamera" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Seleziona parte" @@ -11736,135 +12270,29 @@ msgstr "Seleziona più oggetti" msgid "Select objects by rectangle" msgstr "Seleziona oggetti per rettangolo" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Freccia su" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Sposta selezione di 10 mm in direzione Y positiva" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Freccia giù" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Sposta selezione di 10 mm in direzione Y negativa" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Freccia sinistra" - -msgid "Move selection 10mm in negative X direction" -msgstr "Sposta selezione di 10 mm in direzione X negativa" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Freccia destra" - -msgid "Move selection 10mm in positive X direction" -msgstr "Sposta selezione di 10 mm in direzione X positiva" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Tastiera 1-9: imposta il filamento per l'oggetto/parte" msgid "Movement step set to 1mm" msgstr "Passo movimento impostato a 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Tastiera 1-9: imposta il filamento per l'oggetto/parte" +msgid "Movement in camera space" +msgstr "Movimento nello spazio della telecamera" -msgid "Camera view - Default" -msgstr "Vista telecamera - Predefinito" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Vista telecamera - In Alto" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Vista telecamera - In Basso" +msgid "Zoom View" +msgstr "Vista Zoom" -msgid "Camera view - Front" -msgstr "Vista telecamera - Anteriore" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Vista telecamera - Posteriore" - -msgid "Camera Angle - Left side" -msgstr "Angolo della camera - Lato sinistro" - -msgid "Camera Angle - Right side" -msgstr "Angolo della camera - Lato destro" - -msgid "Select all objects" -msgstr "Seleziona tutti gli oggetti" - -msgid "Gizmo move" -msgstr "Strumento Muovi" - -msgid "Gizmo rotate" -msgstr "Strumento Ruota" - -msgid "Gizmo scale" -msgstr "Strumento Scala" - -msgid "Gizmo place face on bed" -msgstr "Strumento posiziona faccia sul piatto" - -msgid "Gizmo cut" -msgstr "Strumento Taglia" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo maglia booleana" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Strumento FDM per superficie ruvida dipinta" - -msgid "Gizmo SLA support points" -msgstr "Strumento Punti di supporto SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Strumento Dipingi cucitura FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Strumento testo in rilievo/incisione" - -msgid "Gizmo measure" -msgstr "Gizmo misura" - -msgid "Gizmo assemble" -msgstr "Gizmo assemblaggio" - -msgid "Gizmo brim ears" -msgstr "Gizmo tese ad orecchio" - -msgid "Zoom in" -msgstr "Ingrandisci" - -msgid "Zoom out" -msgstr "Rimpicciolisci" - -msgid "Toggle printable for object/part" -msgstr "Attiva/disattiva stampa per oggetto/parte" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Passa tra Prepara e Anteprima" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spazio" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Apri la selezione rapida delle azioni" - -msgid "Plater" -msgstr "Piatto" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Sposta: premi per muovere di 1 mm" @@ -11875,14 +12303,19 @@ msgstr "Supporto/Pittura a colori: regola il raggio della penna" msgid "Support/Color Painting: adjust section position" msgstr "Supporto/Pittura a colori: regola la posizione della sezione" -msgid "Gizmo" -msgstr "Strumento" +msgid "Objects list" +msgstr "Elenco oggetti" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Imposta il numero dell'estrusore per gli oggetti e le parti" -msgid "Delete objects, parts, modifiers" -msgstr "Elimina oggetti, parti, modificatori" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spazio" msgid "Select the object/part and press space to change the name" msgstr "Seleziona l'oggetto/la parte e premi la barra spaziatrice per modificare il nome" @@ -11893,45 +12326,48 @@ msgstr "Clic del mouse" msgid "Select the object/part and mouse click to change the name" msgstr "Seleziona l'oggetto/la parte e fai clic con il mouse per modificare il nome" -msgid "Objects List" -msgstr "Elenco oggetti" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Cursore di scorrimento verticale - Solleva cursore attivo" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Cursore di scorrimento verticale - Abbassa cursore attivo" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Cursore di scorrimento orizzontale - Sposta a sinistra il cursore attivo" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Cursore di scorrimento orizzontale - Sposta a destra il cursore attivo" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Attiva/Disattiva modalità singolo strato del cursore di scorrimento verticale" - -msgid "On/Off G-code window" -msgstr "Attiva/Disattiva finestra G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Sposta il cursore 5 volte più velocemente" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Cursore di scorrimento orizzontale - Sposta alla posizione iniziale" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "Fine" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Cursore di scorrimento orizzontale - Sposta alla posizione finale" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Note di rilascio" @@ -12134,15 +12570,22 @@ msgstr "Riparazione annullata" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Copia del file %1% su %2% non riuscita: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Download dei nuovi profili produttore: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Pacchetto di configurazione: %1% aggiornato a %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Download dei profili produttore non riuscito: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Controllare le modifiche non salvate prima di aggiornare la configurazione." -msgid "Configuration package: " -msgstr "Pacchetto di configurazione: " - -msgid " updated to " -msgstr " aggiornato a " - msgid "Open G-code file:" msgstr "Apri un file G-code:" @@ -12202,11 +12645,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "La compensazione della risonanza è supportata solo da Klipper, RepRapFirmware e Marlin 2" -msgid "Grouping error: " -msgstr "Errore di raggruppamento: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Errore di raggruppamento: %1% non può essere collocato nell'ugello sinistro" -msgid " can not be placed in the " -msgstr " non può essere posizionato nel " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Errore di raggruppamento: %1% non può essere collocato nell'ugello destro" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12320,6 +12767,10 @@ msgstr "%1% è troppo vicino ad altri oggetti e potrebbe causare collisioni." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% è troppo alto e si verificheranno collisioni." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "La posizione relativa del modello e della torre di spurgo non soddisfa i requisiti della funzione \"Nessuno strato sparso\". Modifica le loro posizioni relative, riduci l'altezza del modello oppure disattiva \"Nessuno strato sparso\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " è troppo vicino all'area di esclusione e potrebbero verificarsi collisioni durante la stampa." @@ -12679,6 +13130,9 @@ msgstr "Usa 3MF invece di G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Abilita questa opzione se la stampante accetta un file 3MF come processo di stampa. Quando è abilitata, Orca Slicer invia il file elaborato come .gcode.3mf, invece di un semplice file .gcode." +msgid "Printer Agent" +msgstr "Agente stampante" + msgid "Select the network agent implementation for printer communication." msgstr "Selezionare l'implementazione dell'agente di rete per la comunicazione con la stampante." @@ -13740,6 +14194,10 @@ msgstr "Rettilineo allineato" msgid "Concentric" msgstr "Concentrico" +# AI Translated +msgid "Spiral Inset" +msgstr "Spirale interna" + msgid "Hilbert Curve" msgstr "Curva di Hilbert" @@ -13831,13 +14289,13 @@ msgstr "Ordine di riempimento della superficie superiore" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direzione in cui vengono riempite le superfici superiori quando si utilizza un motivo basato sul centro (Concentrico, Corde di Archimede, Spirale a ottagramma).\n" -"Verso l'esterno inizia dal centro della superficie, in modo che il materiale in eccesso venga spinto verso il bordo dove è meno visibile. Verso l'interno inizia dal bordo e termina con le curve strette al centro.\n" -"L'impostazione predefinita utilizza l'ordinamento a percorso più breve, che può procedere in entrambe le direzioni." +"Direzione in cui vengono riempite le superfici superiori quando si usa un motivo che parte dal centro (Concentrico, Spirale interna, Corde di Archimede, Spirale a ottogramma).\n" +"Verso l'esterno parte dal centro della superficie, così il materiale in eccesso viene spinto verso il bordo, dove è meno visibile. Verso l'interno parte dal bordo e termina con le curve strette al centro.\n" +"Predefinito usa l'ordinamento del percorso più breve, che può procedere in entrambe le direzioni." # AI Translated msgid "Bottom surface fill order" @@ -13845,13 +14303,13 @@ msgstr "Ordine di riempimento della superficie inferiore" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direzione in cui vengono riempite le superfici inferiori quando si utilizza un motivo basato sul centro (Concentrico, Corde di Archimede, Spirale a ottagramma).\n" -"Verso l'interno inizia ogni superficie con le curve esterne più ampie, il che migliora l'adesione del primo strato sui piatti di stampa dove le curve strette al centro potrebbero non aderire. Verso l'esterno inizia dal centro, spingendo il materiale in eccesso verso il bordo.\n" -"L'impostazione predefinita utilizza l'ordinamento a percorso più breve, che può procedere in entrambe le direzioni." +"Direzione in cui vengono riempite le superfici inferiori quando si usa un motivo che parte dal centro (Concentrico, Spirale interna, Corde di Archimede, Spirale a ottogramma).\n" +"Verso l'interno inizia ogni superficie con le curve esterne più ampie, migliorando l'adesione del primo strato sui piatti su cui le curve strette al centro potrebbero non aderire. Verso l'esterno parte dal centro e spinge il materiale in eccesso verso il bordo.\n" +"Predefinito usa l'ordinamento del percorso più breve, che può procedere in entrambe le direzioni." msgid "Internal solid infill pattern" msgstr "Motivo riempimento solido interno" @@ -13954,6 +14412,14 @@ msgstr "Senso antiorario" msgid "Clockwise" msgstr "Senso orario" +# AI Translated +msgid "Distance to rod" +msgstr "Distanza dall'asta" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Distanza orizzontale tra la punta dell'ugello e il bordo più lontano dell'asta. Usata per evitare collisioni nella stampa per oggetto." + msgid "Height to rod" msgstr "Altezza asta" @@ -16132,6 +16598,20 @@ msgstr "Rileva pareti sporgenti" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Rileva la percentuale di sporgenza rispetto alla larghezza della parete e utilizza un velocità di stampa differente. Per una sporgenza del 100%%, viene utilizzata la velocità dei ponti." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Stampa per ultime le pareti non supportate" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"I perimetri di stampa che si trovano interamente in aria vengono stampati solo quando qualcosa può sostenerli:\n" +"sono estrusi dopo le altre pareti della loro isola, partendo dalla più interna, qualunque sia l'ordine delle pareti.\n" +"Un perimetro che solo i ponti di questo strato possono ancorare attende che tali ponti siano stampati, mentre un perimetro che corre accanto a una parete supportata mantiene il suo posto prima del riempimento, che lo richiede come ancoraggio." + # AI Translated msgid "Outer walls" msgstr "Pareti esterne" @@ -16576,6 +17056,39 @@ msgstr "Spurgo sui perimetri di stampa" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Per ridurre al minimo la visibilità della cucitura in un'estrusione ad anello chiuso, viene eseguito un piccolo movimento verso l'interno prima che l'estrusore lasci il perimetro." +# AI Translated +msgid "Wipe inward" +msgstr "Spurgo verso l'interno" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Si applica solo alle pareti esterne, inclusi i contorni dei fori. Durante lo spurgo sposta l'ugello caldo verso le pareti interne già stampate, per ridurre il riscaldamento della plastica appena depositata e i segni di cucitura.\n" +"\n" +"Particolarmente utile con altezze strato inferiori a 0,1 mm, dove i segni di spurgo sono più visibili.\n" +"\n" +"Usa lo spurgo normale se nessuna parete interna adiacente è già stata stampata (zone a parete singola oppure ordine delle pareti Esterna/Interna) o se non si trova un percorso verso l'interno che sia supportato, ad esempio in angoli stretti o in corrispondenza di interruzioni della cucitura." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Distanza di spurgo verso l'interno" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Distanza di cui il percorso di spurgo viene spostato rispetto al perimetro esterno, espressa in millimetri o in percentuale della larghezza di estrusione effettiva della parete esterna.\n" +"\n" +"Ad esempio, 50% sposta il percorso di metà della larghezza della parete esterna. Lo spostamento effettivo è limitato sia dalla larghezza effettiva della parete esterna sia dallo spazio disponibile fino alla parete adiacente, perciò valori superiori a 100% o una distanza assoluta equivalente non hanno alcun effetto aggiuntivo. Imposta 0 per disattivare lo spostamento." + msgid "Wipe before external loop" msgstr "Spurgo prima del perimetro esterno" @@ -16778,8 +17291,8 @@ msgstr "Fasi preriscaldamento" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Inserisci più comandi di preriscaldamento (ad esempio M104.1). Utile solo per Prusa XL. Per altre stampanti, impostalo su 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code scritto all'inizio del file di output, prima di qualsiasi altro contenuto. Utile per aggiungere metadati che il firmware della stampante legge dalle prime righe del file (ad es. tempo di stampa stimato, utilizzo filamento). Supporta segnaposto come {print_time_sec} e {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "G-code iniziale" @@ -16842,8 +17355,9 @@ msgstr "Preleva la nuova testina senza attendere che raggiunga la temperatura di msgid "No sparse layers (beta)" msgstr "Nessuno strato sparso (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Se abilitata, la torre di spurgo non verrà stampata sugli strati in cui non viene effettuato alcun cambio di testina. Sui strati con un cambio di testina, l'estrusore si sposterà verso il basso per stampare la torre di spurgo. L'utente dovrà accertarsi che non avvengano collisioni con la stampa." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Se abilitata, la torre di spurgo non viene stampata sugli strati senza cambi testina. Sugli strati con un cambio testina l'estrusore scende per stampare la torre di spurgo, perciò la torre finisce sotto il modello e la testa di stampa deve abbassarsi fino ad essa. Le disposizioni in cui ciò comporterebbe una collisione con un oggetto già stampato vengono rifiutate. Non ha effetto con il timelapse fluido o con il rilevamento degli ammassi sull'ugello, che richiedono una torre su ogni strato." msgid "Prime all printing extruders" msgstr "Prepara tutti gli estrusori di stampa" @@ -16869,6 +17383,34 @@ msgstr "" msgid "Cyclic" msgstr "Ciclico" +# AI Translated +msgid "Cyclic order" +msgstr "Ordine ciclico" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Sequenza di filamenti personalizzata usata dall'ordinamento ciclico dei cambi testina, come numeri di filamento separati da virgole (ad es. \"3,2,1,4\").\n" +"Ogni strato stampa i suoi filamenti seguendo questa sequenza; i filamenti non elencati vengono stampati per ultimi, in ordine crescente.\n" +"Lascia vuoto per scorrere i filamenti in ordine crescente." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Applica l'ordine ciclico al primo strato" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Applica l'ordine ciclico dei cambi testina anche al primo strato.\n" +"Per impostazione predefinita è disattivato, perché il primo strato viene invece ordinato per la migliore adesione al piatto: i filamenti che stampano dettagli piccoli e fragili del primo strato vengono stampati per ultimi, così i cambi testina e gli spostamenti successivi hanno meno probabilità di staccare quelle parti ancorate debolmente. Questo ordine del primo strato rispetta anche una sequenza di filamenti personalizzata per il primo strato, quando ne è impostata una. Il vantaggio dell'ordine ciclico (i cambi testina aggiuntivi danno a ogni strato più tempo per raffreddarsi) non si applica al primo strato, che viene stampato lentamente e caldo per l'adesione.\n" +"Abilita questa opzione solo se ti serve esattamente la stessa sequenza di testine su ogni strato, incluso il primo, a scapito di quell'ottimizzazione dell'adesione." + msgid "Slice gap closing radius" msgstr "Raggio di chiusura spazi vuoti" @@ -16878,9 +17420,6 @@ msgstr "Le fessure più piccole di 2 volte il raggio di chiusura degli spazi vuo msgid "Slicing Mode" msgstr "Modalità elaborazione" -msgid "Other" -msgstr "Altro" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Usa \"Pari-dispari\" per modelli di aeroplano 3DLabPrint. Utilizza \"Chiudi fori\" per chiudere tutti i fori del modello." @@ -17805,9 +18344,6 @@ msgstr "larghezza della linea troppo grande " msgid " not in range " msgstr " fuori portata " -msgid "Export 3MF" -msgstr "Esporta 3MF" - msgid "This exports the project as a 3MF file." msgstr "Esporta il progetto come file 3MF." @@ -17823,9 +18359,6 @@ msgstr "Carica dati elaborati" msgid "Load cached slicing data from directory." msgstr "Carica i dati di elaborazione memorizzati nella cache dalla directory." -msgid "Export STL" -msgstr "Esporta STL" - msgid "Export the objects as single STL." msgstr "Esporta gli oggetti in un singolo STL." @@ -17877,6 +18410,14 @@ msgstr "Nessun controllo" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Non eseguire alcun controllo di validità, come il controllo dei conflitti di percorso del G-code." +# AI Translated +msgid "Strict mode" +msgstr "Modalità rigorosa" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Termina con un codice di uscita diverso da zero quando l'elaborazione genera un avviso non critico che altrimenti verrebbe solo registrato, ad esempio un modello che richiede supporti mentre i supporti sono disattivati. Usala in CI o in pipeline automatizzate che non devono mai consegnare un'elaborazione sottilmente difettosa. Ciascuno di questi avvisi è inoltre elencato con una classe stabile nell'array `warnings` di result.json, che viene scritto solo su Linux. Non può essere combinata con --no-check, che salta il controllo dei supporti." + msgid "Normative check" msgstr "Controllo normativo" @@ -17889,11 +18430,28 @@ msgstr "Informazioni modello di output" msgid "This outputs the model’s information." msgstr "Fornisce le informazioni del modello." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Ispeziona mesh (JSON su stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Stampa su stdout un riepilogo JSON di ogni oggetto caricato, poi esce: i suoi riquadri di delimitazione e le facce dell'inviluppo convesso su cui può appoggiarsi, con le relative normali, aree e centri. Sono queste le facce tra cui scelgono le opzioni --ground-*. Alternativa leggibile da una macchina a --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Ispeziona pittura (JSON su stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Stampa un riepilogo JSON strutturato di ogni livello dipinto (supporti, cucitura, colore MMU, superficie ruvida) già memorizzato nel modello caricato — numero di facce, area della superficie e riquadro di delimitazione locale alla mesh per ciascuno stato — poi esce. Alternativa leggibile da una macchina all'apertura degli strumenti di pittura nell'interfaccia." + msgid "Export Settings" msgstr "Esporta impostazioni" -msgid "This exports settings to a file." -msgstr "Esporta le impostazioni in un file." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Esporta le impostazioni in un file. Usa - per scriverle su stdout." msgid "Send progress to pipe" msgstr "Invia l'avanzamento al pipe" @@ -17949,6 +18507,30 @@ msgstr "Ruota attorno ad Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Angolo di rotazione attorno all'asse Y in gradi." +# AI Translated +msgid "Ground largest face" +msgstr "Appoggia sulla faccia più grande" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Appoggia ogni oggetto sulla faccia più grande del suo inviluppo convesso e lo fa cadere sul piatto. Tra facce di uguale dimensione viene mantenuta quella già rivolta verso il basso. Gli oggetti privi di una faccia abbastanza grande su cui appoggiarsi restano invariati. Le trasformazioni vengono applicate nell'ordine della riga di comando, perciò le rotazioni indicate prima di questa opzione sono rispettate. --orient 1 viene eseguito dopo tutte le trasformazioni e sostituisce l'orientamento." + +# AI Translated +msgid "Ground face by normal" +msgstr "Appoggia sulla faccia per normale" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Appoggia ogni oggetto sulla faccia dell'inviluppo convesso la cui normale esterna è più vicina alla direzione NX,NY,NZ e lo fa cadere sul piatto. La direzione è espressa nelle coordinate dell'oggetto, che includono le rotazioni indicate prima di questa opzione e coincidono con gli assi del piatto a meno che il file di input non ruoti l'oggetto. Ad esempio, 1,0,0 appoggia l'oggetto sul suo lato +X. --orient 1 viene eseguito dopo tutte le trasformazioni e sostituisce l'orientamento." + +# AI Translated +msgid "Ground face at point" +msgstr "Appoggia sulla faccia in un punto" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Appoggia ogni oggetto sulla faccia dell'inviluppo convesso che contiene il punto X,Y,Z e lo fa cadere sul piatto. Il punto è espresso nelle coordinate dell'oggetto, che includono le rotazioni indicate prima di questa opzione; --inspect-mesh riporta i centri delle facce in tali coordinate. Gli oggetti privi di una faccia simile restano invariati e l'esecuzione fallisce se nessun oggetto ne ha una. --orient 1 viene eseguito dopo tutte le trasformazioni e sostituisce l'orientamento." + msgid "Scale the model by a float factor." msgstr "Ridimensiona il modello in base a un fattore decimale." @@ -18248,12 +18830,36 @@ msgstr "Filamento usato" msgid "Total length of filament used in the print." msgstr "Lunghezza totale di filamento utilizzato nella stampa." -msgid "Print time (seconds)" -msgstr "Tempo di stampa (secondi)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Tempo di stampa stimato totale in secondi. Sostituito con il valore effettivo durante la post-elaborazione." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Lunghezza filamento (metri)" @@ -18484,9 +19090,6 @@ msgstr "Il file contiene un indice dei vertici non valido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Impossibile leggere il file OBJ perché è vuoto." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibrazione della velocità volumetrica massima" - msgid "Manage Result" msgstr "Gestisci risultato" @@ -19331,9 +19934,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: valori elevati possono causare spostamento degli strati (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibrazione flusso di stampa" - msgid "Calibration Test Type" msgstr "Tipo test calibrazione" @@ -20122,6 +20722,9 @@ msgstr "Nessuna sessione valida rilevata. Procedere con l'accesso a 3DPrinterOS? msgid "Success!" msgstr "Successo!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Sei sicuro di volerti disconnettere?" @@ -21134,6 +21737,18 @@ msgstr "Questa azione non può essere annullata. Continuare?" msgid "Skipping objects." msgstr "Salto degli oggetti." +# AI Translated +msgid "Material Ratio" +msgstr "Proporzione materiale" + +# AI Translated +msgid "Model Height" +msgstr "Altezza modello" + +# AI Translated +msgid "Ratio" +msgstr "Proporzione" + msgid "Select Filament" msgstr "Seleziona filamento" @@ -21165,13 +21780,6 @@ msgstr "Il modulo di rete Bambu è necessario per le funzionalità cloud, il ril msgid "Error: %s" msgstr "Errore: %s" -msgid "Show details" -msgstr "Mostra dettagli" - -# AI Translated -msgid "Hide details" -msgstr "Nascondi dettagli" - msgid "Version to install:" msgstr "Versione da installare:" @@ -21416,12 +22024,14 @@ msgid "Drying-Dehumidifying" msgstr "Essiccazione - Deumidificazione" # AI Translated -msgid " maximum drying temperature is " -msgstr " la temperatura massima di essiccazione è " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "La temperatura massima di essiccazione di %s è %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " la temperatura minima di essiccazione è " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "La temperatura minima di essiccazione di %s è %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21566,6 +22176,2494 @@ msgstr "Il filamento potrebbe non essere compatibile con le impostazioni corrent msgid "The filament model is unknown. A random filament preset will be used." msgstr "Il modello di filamento è sconosciuto. Verrà utilizzato un profilo filamento casuale." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Fine" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferiore" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Elimina" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "Fine" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Freccia sinistra" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Freccia destra" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Freccia su" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Freccia giù" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importa geometrie da file STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Seleziona tutti gli oggetti" + +msgid "Paste from clipboard" +msgstr "Incolla dagli appunti" + +msgid "Toggle printable for object/part" +msgstr "Attiva/disattiva stampa per oggetto/parte" + +msgid "Move selection 10mm in negative X direction" +msgstr "Sposta selezione di 10 mm in direzione X negativa" + +msgid "Move selection 10mm in positive X direction" +msgstr "Sposta selezione di 10 mm in direzione X positiva" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Sposta selezione di 10 mm in direzione Y positiva" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Sposta selezione di 10 mm in direzione Y negativa" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Strumento Muovi" + +msgid "Gizmo rotate" +msgstr "Strumento Ruota" + +msgid "Gizmo scale" +msgstr "Strumento Scala" + +msgid "Gizmo place face on bed" +msgstr "Strumento posiziona faccia sul piatto" + +msgid "Gizmo cut" +msgstr "Strumento Taglia" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo maglia booleana" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Strumento Dipingi cucitura FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Strumento FDM per superficie ruvida dipinta" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Strumento testo in rilievo/incisione" + +msgid "Gizmo measure" +msgstr "Gizmo misura" + +msgid "Gizmo assemble" +msgstr "Gizmo assemblaggio" + +msgid "Gizmo brim ears" +msgstr "Gizmo tese ad orecchio" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Cursore di scorrimento verticale - Solleva cursore attivo" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Cursore di scorrimento verticale - Abbassa cursore attivo" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Cursore di scorrimento orizzontale - Sposta a sinistra il cursore attivo" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Cursore di scorrimento orizzontale - Sposta a destra il cursore attivo" + +msgid "Horizontal slider - Move to start position" +msgstr "Cursore di scorrimento orizzontale - Sposta alla posizione iniziale" + +msgid "Horizontal slider - Move to last position" +msgstr "Cursore di scorrimento orizzontale - Sposta alla posizione finale" + +msgid "Camera view - Default" +msgstr "Vista telecamera - Predefinito" + +msgid "Camera view - Top" +msgstr "Vista telecamera - In Alto" + +msgid "Camera view - Bottom" +msgstr "Vista telecamera - In Basso" + +msgid "Camera view - Front" +msgstr "Vista telecamera - Anteriore" + +msgid "Camera view - Behind" +msgstr "Vista telecamera - Posteriore" + +msgid "Camera Angle - Left side" +msgstr "Angolo della camera - Lato sinistro" + +msgid "Camera Angle - Right side" +msgstr "Angolo della camera - Lato destro" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Ingrandisci" + +msgid "Zoom out" +msgstr "Rimpicciolisci" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Mostra/nascondi la finestra di dialogo delle impostazioni dei dispositivi 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Attiva/Disattiva finestra G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Attiva/Disattiva modalità singolo strato del cursore di scorrimento verticale" + +msgid "Switch between Prepare/Preview" +msgstr "Passa tra Prepara e Anteprima" + +msgid "Collapse/Expand the sidebar" +msgstr "Riduci/Espandi barra laterale" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Mostra elenco scorciatoie da tastiera" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21867,6 +24965,157 @@ msgstr "" "Evita le deformazioni\n" "Sapevi che quando si stampano materiali soggetti a deformazioni come l'ABS, aumentare in modo appropriato la temperatura del piano riscaldato può ridurre la probabilità di deformazione?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Mostra gli FPS correnti della vista nell'angolo in alto a destra." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki di Pubblica 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Guida video di Pubblica 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Barra degli strumenti" + +#~ msgid "Switch table page" +#~ msgstr "Cambia pagina tabella" + +#~ msgid "Global shortcuts" +#~ msgstr "Scorciatoie globali" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Tasto centrale del mouse" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Questo orienta automaticamente gli oggetti selezionati o tutti gli oggetti. Se ci sono oggetti selezionati, orienta solo quelli selezionati. Altrimenti, orienterà tutti gli elementi nel progetto corrente." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Questo orienta tutti gli oggetti nel piatto corrente." + +#~ msgid "Any arrow" +#~ msgstr "Qualsiasi freccia" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Strumento Punti di supporto SLA" + +#~ msgid "Plater" +#~ msgstr "Piatto" + +#~ msgid "Gizmo" +#~ msgstr "Strumento" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Elimina oggetti, parti, modificatori" + +#~ msgid "Objects List" +#~ msgstr "Elenco oggetti" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code scritto all'inizio del file di output, prima di qualsiasi altro contenuto. Utile per aggiungere metadati che il firmware della stampante legge dalle prime righe del file (ad es. tempo di stampa stimato, utilizzo filamento). Supporta segnaposto come {print_time_sec} e {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Tempo di stampa (secondi)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Apri la selezione rapida delle azioni" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Sinistra: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Destra: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "La temperatura massima non può superare " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "La temperatura minima non deve essere inferiore a " + +#~ msgid "up to" +#~ msgstr "fino a" + +#~ msgid "above" +#~ msgstr "sopra" + +#~ msgid "from" +#~ msgstr "da" + +#~ msgid "Configuration package: " +#~ msgstr "Pacchetto di configurazione: " + +#~ msgid " updated to " +#~ msgstr " aggiornato a " + +#~ msgid "Grouping error: " +#~ msgstr "Errore di raggruppamento: " + +#~ msgid " can not be placed in the " +#~ msgstr " non può essere posizionato nel " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " la temperatura massima di essiccazione è " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " la temperatura minima di essiccazione è " + +# AI Translated +#~ msgid "needs" +#~ msgstr "richiede" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "non abilitato" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materiale non pubblicato" + +#~ msgid "Select the language" +#~ msgstr "Seleziona la lingua" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Seleziona plugin" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direzione in cui vengono riempite le superfici superiori quando si utilizza un motivo basato sul centro (Concentrico, Corde di Archimede, Spirale a ottagramma).\n" +#~ "Verso l'esterno inizia dal centro della superficie, in modo che il materiale in eccesso venga spinto verso il bordo dove è meno visibile. Verso l'interno inizia dal bordo e termina con le curve strette al centro.\n" +#~ "L'impostazione predefinita utilizza l'ordinamento a percorso più breve, che può procedere in entrambe le direzioni." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direzione in cui vengono riempite le superfici inferiori quando si utilizza un motivo basato sul centro (Concentrico, Corde di Archimede, Spirale a ottagramma).\n" +#~ "Verso l'interno inizia ogni superficie con le curve esterne più ampie, il che migliora l'adesione del primo strato sui piatti di stampa dove le curve strette al centro potrebbero non aderire. Verso l'esterno inizia dal centro, spingendo il materiale in eccesso verso il bordo.\n" +#~ "L'impostazione predefinita utilizza l'ordinamento a percorso più breve, che può procedere in entrambe le direzioni." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Se abilitata, la torre di spurgo non verrà stampata sugli strati in cui non viene effettuato alcun cambio di testina. Sui strati con un cambio di testina, l'estrusore si sposterà verso il basso per stampare la torre di spurgo. L'utente dovrà accertarsi che non avvengano collisioni con la stampa." + +#~ msgid "This exports settings to a file." +#~ msgstr "Esporta le impostazioni in un file." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "La funzione di visualizzazione in tempo reale nativa di Wayland richiede il ricevitore video GTK di GStreamer. Installare il modulo gtksink per GStreamer e riavviare OrcaSlicer." @@ -21919,9 +25168,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordine di stampa all'interno di un singolo strato." -#~ msgid "Bottom" -#~ msgstr "Inferiore" - #~ msgid "Front" #~ msgstr "Frontale" @@ -21931,9 +25177,6 @@ msgstr "" #~ msgid "Enter" #~ msgstr "Invio" -#~ msgid "Del" -#~ msgstr "Elimina" - #~ msgid "Arrow Up" #~ msgstr "Freccia Su" @@ -21946,9 +25189,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Freccia Destra" -#~ msgid "End" -#~ msgstr "Fine" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 8ee8813f1d..3601d3add0 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2473,15 +2473,6 @@ msgstr "アップデートが利用可能です。プリセットバンドルの msgid "%s has been removed." msgstr "%sを削除しました。" -msgid "Switching application language" -msgstr "アプリケーション言語の切り替え" - -msgid "Select the language" -msgstr "言語を選択" - -msgid "Language" -msgstr "言語" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2519,6 +2510,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "プラグインダイアログを開けませんでした (不明なエラー)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "プラグインターミナル" @@ -3729,11 +3733,15 @@ msgstr "Filament Track Switchで現在のフィラメントを引き戻す" msgid "Switch track at Filament Track Switch" msgstr "Filament Track Switchでトラックを切り替える" -msgid "The maximum temperature cannot exceed " -msgstr "最高温度は次の値を超えることはできません " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "最高温度は %d を超えることはできません" -msgid "The minmum temperature should not be less than " -msgstr "最低温度は次の値を下回ることはできません " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "最低温度は %d を下回ることはできません" # AI Translated msgid "Type to filter..." @@ -4174,6 +4182,21 @@ msgstr "OrcaSlicerも同じ精神のもと、PrusaSlicer、BambuStudio、SuperSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "現在、OrcaSlicerは3Dプリントコミュニティで最も広く使われ、最も活発に開発されているオープンソースのスライサーです。その革新の多くは他のスライサーにも採用され、業界全体を牽引する存在となっています。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "プリンター" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS素材設定" @@ -4612,6 +4635,15 @@ msgstr "" "一時的なGコードの出力Gコードへのコピーに失敗しました。 もしかしたらSDカードが書き込みロックされていませんか?\n" "エラーメッセージ:%1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"一時G-codeから出力G-codeへのコピーに失敗しました。\n" +"エラーメッセージ: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "一時Gコードの出力Gコードへのコピーに失敗しました。 ターゲットデバイスに問題がある可能性があります。もう一度エクスポートするか、別のデバイスを使用してみてください。 破損した出力Gコードは%1%.tmpにあります。" @@ -4920,6 +4952,10 @@ msgstr "" "はい - 変更して、スパイラルモードを有効にします\n" "いいえ - 変更せず、スパイラルモードを有効しません" +# AI Translated +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "造形中" @@ -5350,13 +5386,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "値%sは範囲外です。有効な範囲は%dから%dです。" #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%% か、それとも %s %sですか?\n" -"%s%% の場合ははい、 %s %s はいいえ。" +msgid "Is it %s%% or %s %s?" +msgstr "%s%% か、それとも %s %sですか?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5378,30 +5412,22 @@ msgstr "無効なパターンです。N、N#K、またはオプション#K付き msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "無効なフォーマット、%1%であるはずです。" -# AI Translated -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "システムエージェント" -# AI Translated -msgid "No plugin selected" -msgstr "プラグインが選択されていません" - # AI Translated msgid "Add plugin" msgstr "プラグインを追加" -# AI Translated -msgid "Select plugin" -msgstr "プラグインを選択" - # AI Translated msgid "Remove plugin" msgstr "プラグインを削除" +# AI Translated +msgid "No plugin selected" +msgstr "プラグインが選択されていません" + # AI Translated msgid "Configure" msgstr "設定" @@ -5658,14 +5684,20 @@ msgstr "最適に設定" msgid "Regroup filament" msgstr "フィラメントを再グルーピング" -msgid "up to" -msgstr "最大" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "%1% mm まで" -msgid "above" -msgstr "以上" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "%1% mm 以上" -msgid "from" -msgstr "から" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "%1% mm から %2% mm まで" msgid "Usage" msgstr "使用量" @@ -5726,9 +5758,6 @@ msgctxt "Noun" msgid "Print" msgstr "造形する" -msgid "Printer" -msgstr "プリンター" - msgid "Time Estimation" msgstr "予測時間" @@ -5908,12 +5937,15 @@ msgctxt "Camera View" msgid "Right" msgstr "右" -msgid "Add" -msgstr "追加" - msgid "Add plate" msgstr "プレートを追加" +msgid "Split to objects" +msgstr "オブジェクトに分割" + +msgid "Add" +msgstr "追加" + msgid "Auto orient all/selected objects" msgstr "すべてのオブジェクト/選択したオブジェクトの方向を自動設定する" @@ -5926,9 +5958,6 @@ msgstr "全てをレイアウト" msgid "Arrange objects on selected plates" msgstr "選択したプレートをレイアウト" -msgid "Split to objects" -msgstr "オブジェクトに分割" - msgid "Assembly View" msgstr "組立て" @@ -5985,6 +6014,9 @@ msgstr "アウトライン" msgid "Wireframe" msgstr "ワイヤフレーム" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "リアルビュー" @@ -6188,6 +6220,9 @@ msgstr "プリセットが変更されたが終了します" msgid "Logging" msgstr "ログ" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "準備" @@ -6336,6 +6371,14 @@ msgstr "プロジェクトを名前を付けて保存" msgid "Save current project as" msgstr "プロジェクトを名前を付けて保存" +# AI Translated +msgid "Publish 3MF" +msgstr "3MFを公開" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "選択した設定を埋め込んだ3MFファイルをエクスポートします" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "3MF/STL/STEP/SVG/OBJ/AMFをインポート" @@ -6518,6 +6561,9 @@ msgstr "編集" msgid "View" msgstr "表示" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "プリセットバンドル" @@ -7449,6 +7495,235 @@ msgstr "このダイアログを再度表示しない" msgid "Please refer to Wiki before use->" msgstr "使用前にWikiを参照してください->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +# AI Translated +msgid "Export STL" +msgstr "STLをエクスポート" + +msgid "Export 3MF" +msgstr "3mf をエクスポート" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大体積速度キャリブレーション" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "流量比キャリブレーション" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "すべてのオブジェクトを削除" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "オブジェクトに分割" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Mouseが切断されました。" @@ -7608,6 +7883,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "底面" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "この設定にはプラグイン機能タイプが指定されていません。" + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "この設定には認識できないプラグイン機能タイプが指定されています: " + # AI Translated msgid "Plugin Selection" msgstr "プラグインの選択" @@ -8093,10 +8376,6 @@ msgstr "サイドバーを展開" msgid "Collapse sidebar" msgstr "サイドバーを折りたたむ" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "ファイルを読込む: %s" @@ -8177,6 +8456,14 @@ msgstr "これらのプリセット内のG-codeがマシンに損傷を与えな msgid "Customized Preset" msgstr "カスタマイズされたプリセット" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "一部の公開された設定を適用できませんでした:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "一部のフィラメントスロットが変更されました:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "ファイルのエンコーディング方式はUTF-8形式ではありません" @@ -8296,10 +8583,6 @@ msgstr "" msgid "Delete Object" msgstr "オブジェクトを削除" -# AI Translated -msgid "Delete All Objects" -msgstr "すべてのオブジェクトを削除" - # AI Translated msgid "Reset Project" msgstr "プロジェクトをリセット" @@ -8307,10 +8590,6 @@ msgstr "プロジェクトをリセット" msgid "The selected object couldn't be split." msgstr "選択したオブジェクトを分割できませんでした。" -# AI Translated -msgid "Split to Objects" -msgstr "オブジェクトに分割" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z位置を維持するために自動ドロップを無効にしますか?\n" @@ -8589,6 +8868,21 @@ msgstr "名前を付けて保存:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "%sを送信しました、プリンターにて確認できます" +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MFファイルを次の名前で公開:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"公開する3MFファイルのエクスポートに失敗しました。\n" +"フォルダーがオンラインで存在するか、他のプログラムがファイルを開いていないか確認してください。" + +msgid "Publish" +msgstr "公開する" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "ノズルタイプが設定されていません。ノズルを設定して再試行してください。" @@ -8802,9 +9096,6 @@ msgstr "続行しますか?" msgid "Language selection" msgstr "言語選択" -msgid "Switching application language while some presets are modified." -msgstr "アプリケーション言語を切り替える時に、プリセットの変更があります" - msgid "Asia-Pacific" msgstr "アジア太平洋地域" @@ -8909,6 +9200,9 @@ msgstr "現在のインスタンスのパス: " msgid "General" msgstr "一般" +msgid "Language" +msgstr "言語" + msgid "Metric" msgstr "メートル" @@ -9116,6 +9410,33 @@ msgstr "マルチデバイス管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "このオプションを有効にすると、複数のデバイスに同時にタスクを送信し、複数のデバイスを管理できます。" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "フィラメントグルーピングモード選択のポップアップ" @@ -9197,6 +9518,12 @@ msgstr "マウスの逆ズーム" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "有効にすると、マウス ホイールによるズームの方向が反転します。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "パン" @@ -9225,6 +9552,15 @@ msgstr "マウス右ドラッグ" msgid "Set the action that dragging the right mouse button should perform." msgstr "マウス右ボタンのドラッグで実行する操作を設定します。" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "選択をクリア..." @@ -9349,13 +9685,40 @@ msgstr "" "ビューポートのフレームレートを制限し、GPU負荷と消費電力を抑えます。\n" "0に設定するとフレームレートは無制限になります。" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "FPSオーバーレイを表示" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "現在のビューポートのFPSを右上に表示します。" +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9373,9 +9736,6 @@ msgstr "スライスプレビューで積層スライダーを操作する際、 msgid "Dimmed layer brightness" msgstr "暗くした積層の明るさ" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9776,9 +10136,6 @@ msgstr "モデル公開ページに移動" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "注意: 準備するには数分かかる場合があります、暫くお待ち下さい。" -msgid "Publish" -msgstr "公開する" - msgid "Publish was canceled" msgstr "公開は取り消しました" @@ -9794,6 +10151,76 @@ msgstr "データをアップロード中" msgid "Jump to webpage" msgstr "ウェブページに移動" +# AI Translated +msgid "Material" +msgstr "材料" + +# AI Translated +msgid "Mixed filament" +msgstr "混合フィラメント" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "一部の混合フィラメントは、公開されないフィラメントに依存しています:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "フィラメント %d (混合)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1%には%2%が必要ですが、有効化されていません。" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1%には%2%が必要ですが、その材料は公開されません。" + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "混合フィラメントを公開するには、使用しているすべてのフィラメントを有効にし、完全公開を選ぶか、タイプの要件を満たしてください。" + +# AI Translated +msgid "Publish anyway" +msgstr "それでも公開" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MFを公開..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "3MFファイルで公開する設定を選択してください" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "混合フィラメント - 上の「有効化」を選択すると全体が公開されます" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "この混合フィラメントを公開し、その構成フィラメントを有効化+完全公開します" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "このフィラメントスロットを3MFファイルで公開します" + +# AI Translated +msgid "Full Publish" +msgstr "完全公開" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "このスロットのフィラメント全体を3MFファイルに埋め込みます" + +# AI Translated +msgid "Filter non-selected" +msgstr "未選択を絞り込み" + #, c-format, boost-format msgid "Save %s as" msgstr "%sを名前つけて保存" @@ -9811,6 +10238,10 @@ msgstr "親プリセットから継承したすべての値をこのプリセッ msgid "Detach from parent" msgstr "親から分離" +# AI Translated +msgid "Save without parent" +msgstr "親なしで保存" + # AI Translated msgid "Unique preset" msgstr "独立したプリセット" @@ -9870,6 +10301,133 @@ msgstr "\"%1%\"に対して、\"%2%\"を新しいプリセットとして追加 msgid "Simply switch to \"%1%\"" msgstr "\"%1%\"に切り替え" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "その他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "詳細を表示" + +# AI Translated +msgid "Hide details" +msgstr "詳細を隠す" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "タスクを取消しました" @@ -10517,9 +11075,17 @@ msgstr "クランピング検出にはプライムタワーが必要です。プ msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "正確なZ高さとプライムタワーの両方を有効にすると、スライスエラーが発生する可能性があります。それでも正確なZ高さを有効にしますか?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "スムーズタイムラプスは全積層にプライムタワーが必要なため、「スパース層なし」とは併用できません。「スパース層なし」をオフにしました。" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "スムーズタイムラプスビデオを作成するにはプライムタワーが必要です。プライムタワーを有効にしますか?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "「スパース層なし」は、全積層にプライムタワーが必要なスムーズタイムラプスとは併用できません。タイムラプスを通常モードに切り替えました。" + msgid "Still print by object?" msgstr "それでもオブジェクト別に印刷しますか?" @@ -10886,9 +11452,6 @@ msgstr "互換性のあるプロセスプロファイル" msgid "Printable space" msgstr "造形可能領域" -msgid "Printer Agent" -msgstr "プリンターエージェント" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "プリンター通信用のネットワークエージェント実装を選択します。使用可能なエージェントは起動時に登録されます。" @@ -11301,14 +11864,6 @@ msgstr "エクストルーダー数" msgid "Capabilities" msgstr "能力" -# AI Translated -msgid "Left: " -msgstr "左: " - -# AI Translated -msgid "Right: " -msgstr "右: " - msgid "Show all presets (including incompatible)" msgstr "全てのプリセットを表示" @@ -11696,57 +12251,39 @@ msgstr "構成パッケージが前のコンフィグガイドに変更されま msgid "Configuration package changed" msgstr "構成パッケージが変更されました" -msgid "Toolbar" -msgstr "ツールバー" - -msgid "Objects list" -msgstr "オブジェクト一覧" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "STL/STEP/3MF/OBJ/AMFファイルからジオメトリデータをインポート" - -msgid "Paste from clipboard" -msgstr "貼り付け" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "3Dconnexion設定を表示/非表示" - -msgid "Switch table page" -msgstr "テーブルページを切り替え" - -msgid "Show keyboard shortcuts list" -msgstr "ショートカット一覧を表示" - -msgid "Global shortcuts" -msgstr "ショートカット" - msgid "Pan View" msgstr "移動" msgid "Rotate View" msgstr "回転" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "マウス中ボタン" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "ズーム" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "選択したオブジェクトまたはプロジェクト内のすべてのオブジェクトの方向を自動的に設定します。" - -msgid "Auto orients all objects on the active plate." -msgstr "現在のプレート上のすべてのオブジェクトの方向を自動的に設定します。" - -msgid "Collapse/Expand the sidebar" -msgstr "サイドバーを展開/隠す" - -msgid "Any arrow" -msgstr "任意の矢印キー" - -msgid "Movement in camera space" -msgstr "オブジェクト移動" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "パーツを選択" @@ -11757,136 +12294,29 @@ msgstr "複数のオブジェクトを選択" msgid "Select objects by rectangle" msgstr "矩形でオブジェクトを選択" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "↑" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Y方向 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "↓" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Y方向 -10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "←" - -msgid "Move selection 10mm in negative X direction" -msgstr "X方向 -10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "→" - -msgid "Move selection 10mm in positive X direction" -msgstr "X方向 10mm" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "キー1-9: オブジェクト/パーツのフィラメントを設定" msgid "Movement step set to 1mm" msgstr "移動ステップを1mmに設定" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "キー1-9: オブジェクト/パーツのフィラメントを設定" +msgid "Movement in camera space" +msgstr "オブジェクト移動" -msgid "Camera view - Default" -msgstr "デフォルト" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "トップ" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "底面" +msgid "Zoom View" +msgstr "ズーム" -msgid "Camera view - Front" -msgstr "正面" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "背面" - -msgid "Camera Angle - Left side" -msgstr "左側" - -msgid "Camera Angle - Right side" -msgstr "右側" - -msgid "Select all objects" -msgstr "すべてのオブジェクトを選択" - -msgid "Gizmo move" -msgstr "移動" - -msgid "Gizmo rotate" -msgstr "回転" - -msgid "Gizmo scale" -msgstr "スケール" - -msgid "Gizmo place face on bed" -msgstr "底面選択" - -msgid "Gizmo cut" -msgstr "カット" - -msgid "Gizmo mesh boolean" -msgstr "メッシュブール" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "ギズモ FDMファジースキンペイント" - -msgid "Gizmo SLA support points" -msgstr "SLAサポートポイント" - -msgid "Gizmo FDM paint-on seam" -msgstr "継ぎ目ペイント" - -msgid "Gizmo text emboss/engrave" -msgstr "ギズモ・テキストのエンボス/エングレーブ" - -msgid "Gizmo measure" -msgstr "測る" - -msgid "Gizmo assemble" -msgstr "組立てる" - -msgid "Gizmo brim ears" -msgstr "ブリム" - -msgid "Zoom in" -msgstr "ズームイン" - -msgid "Zoom out" -msgstr "縮小" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "オブジェクト/パーツの印刷可否を切り替え" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "準備/プレビュー間の切り替え" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "アクションスピードダイヤルを開く" - -msgid "Plater" -msgstr "準備" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "1mm単位で移動" @@ -11897,15 +12327,19 @@ msgstr "サポート/色塗り: 半径のサイズ" msgid "Support/Color Painting: adjust section position" msgstr "サポート/色塗り: 断面の位置" -# AI Translated -msgid "Gizmo" -msgstr "ギズモ" +msgid "Objects list" +msgstr "オブジェクト一覧" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "オブジェクトとパーツ造形用の押出機番号を設定" -msgid "Delete objects, parts, modifiers" -msgstr "オブジェクト、パーツ、モディファイヤを削除" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "オブジェクト/パーツを選択し、名前を変更します" @@ -11916,45 +12350,48 @@ msgstr "マウスクリック" msgid "Select the object/part and mouse click to change the name" msgstr "オブジェクト/パーツを選択し、名前を変更します" -msgid "Objects List" -msgstr "オブジェクト一覧" - -msgid "Vertical slider - Move active thumb Up" -msgstr "垂直スライダー" - -msgid "Vertical slider - Move active thumb Down" -msgstr "垂直スライダー" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "水平スライダー (左)" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "水平スライダー (右)" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "垂直スライダーの1レイヤーモードのオン/オフ" - -msgid "On/Off G-code window" -msgstr "G-codeウィンドウのオン/オフ" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "5x" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "水平スライダー - 開始位置に移動" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "水平スライダー - 最後の位置に移動" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "リリースノート" @@ -12160,15 +12597,22 @@ msgstr "修復を取消しました" msgid "Copying of file %1% to %2% failed: %3%" msgstr "ファイル %1% を %2% へのコピーが失敗しました (%3%)" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "新しいベンダープロファイルをダウンロード中: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "設定パッケージ: %1% を %2% に更新しました" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "ベンダープロファイルのダウンロードに失敗しました: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "構成を更新する前に、未保存の変更をご確認ください" -msgid "Configuration package: " -msgstr "設定パッケージ: " - -msgid " updated to " -msgstr " を更新しました " - msgid "Open G-code file:" msgstr "G-codeファイルを開く" @@ -12232,11 +12676,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "インプットシェーピングはKlipper、RepRapFirmware、Marlin 2のみが対応しています。" -msgid "Grouping error: " -msgstr "グルーピングエラー: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "グルーピングエラー: %1% は左ノズルに配置できません" -msgid " can not be placed in the " -msgstr " に配置できません " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "グルーピングエラー: %1% は右ノズルに配置できません" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12350,6 +12798,10 @@ msgstr "%1% は他のオブジェクトと近すぎるため、衝突の可能 msgid "%1% is too tall, and collisions will be caused." msgstr "%1% は高すぎます、衝突の可能性があります。" +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "モデルとプライムタワーの相対位置が「スパース層なし」機能の要件を満たしていません。相対位置を調整するか、モデルの高さを下げるか、「スパース層なし」をオフにしてください。" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "が除外領域に近すぎます。衝突の可能性があります。" @@ -12722,6 +13174,9 @@ msgstr "G-codeの代わりに3MFを使用" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "プリンターが印刷ジョブとして3MFファイルを受け付ける場合に有効にします。有効にすると、Orca Slicerはスライス済みファイルを通常の.gcodeファイルではなく.gcode.3mfとして送信します。" +msgid "Printer Agent" +msgstr "プリンターエージェント" + msgid "Select the network agent implementation for printer communication." msgstr "プリンター通信用のネットワークエージェント実装を選択します。" @@ -13831,6 +14286,10 @@ msgstr "整列直線" msgid "Concentric" msgstr "同心" +# AI Translated +msgid "Spiral Inset" +msgstr "スパイラルインセット" + msgid "Hilbert Curve" msgstr "ヒルベルト曲線" @@ -13924,13 +14383,13 @@ msgstr "上面の充填順序" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"中心を基準とするパターン (同心円、アルキメデス弦、八芒星スパイラル) を使用する場合に、上面を充填する方向です。\n" -"外向きは面の中心から始まるため、余分な材料が最も目立たない縁へ押し出されます。内向きは縁から始まり、中心の細かいカーブで終わります。\n" -"デフォルトは最短経路順で、どちらの方向にもなり得ます。" +"中心を起点とするパターン(同心、スパイラルインセット、アルキメデス螺旋、オクタグラムスパイラル)を使用する場合の、トップ面を充填する方向です。\n" +"外側は面の中心から始まるため、余分な材料は最も目立たない縁へ押し出されます。内側は縁から始まり、中心の細かいカーブで終わります。\n" +"デフォルトは最短経路順を使用し、どちらの方向にも進むことがあります。" # AI Translated msgid "Bottom surface fill order" @@ -13938,13 +14397,13 @@ msgstr "底面の充填順序" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"中心を基準とするパターン (同心円、アルキメデス弦、八芒星スパイラル) を使用する場合に、底面を充填する方向です。\n" -"内向きは各面を幅の広い外側のカーブから始めるため、中心の細かいカーブが定着しにくいベッドでも1層目の密着性が向上します。外向きは中心から始まり、余分な材料を縁へ押し出します。\n" -"デフォルトは最短経路順で、どちらの方向にもなり得ます。" +"中心を起点とするパターン(同心、スパイラルインセット、アルキメデス螺旋、オクタグラムスパイラル)を使用する場合の、底面を充填する方向です。\n" +"内側は各面を幅の広い外側のカーブから始めるため、中心の細かいカーブが定着しにくいベッドでも1層目の接着が改善します。外側は中心から始まり、余分な材料を縁へ押し出します。\n" +"デフォルトは最短経路順を使用し、どちらの方向にも進むことがあります。" msgid "Internal solid infill pattern" msgstr "内部ソリッドインフィルパターン" @@ -14053,6 +14512,14 @@ msgstr "反時計回り" msgid "Clockwise" msgstr "時計回り" +# AI Translated +msgid "Distance to rod" +msgstr "ロッドまでの距離" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "ノズル先端からロッドの遠い側の端までの水平距離です。オブジェクト順の造形で衝突を回避するために使用されます。" + msgid "Height to rod" msgstr "レールまでの高さ" @@ -16392,6 +16859,20 @@ msgstr "オーバーハングを検出" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "この設定により、線幅に対するオーバーハングの割合を検出し、異なる速度で造形します。100%%のオーバーハングの場合、ブリッジの速度が使用されます。" +# AI Translated +msgid "Print unsupported walls last" +msgstr "支えのない壁を最後に造形" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"完全に宙に浮いている壁面ループは、支えとなるものができてから造形されます。\n" +"壁の順序にかかわらず、同じアイランドの他の壁の後に、最も内側から順に押し出されます。\n" +"この積層のブリッジだけが固定できるループは、それらのブリッジが造形されるまで待ちます。一方、支えのある壁に沿って走るループは、それをアンカーとして必要とするインフィルの前という位置を保ちます。" + # AI Translated msgid "Outer walls" msgstr "外壁" @@ -16884,6 +17365,39 @@ msgstr "ループ上でワイプ" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "閉ループ押出における継ぎ目を目立たなくするため、押出機がループを離れる前にわずかに内側へ移動します。" +# AI Translated +msgid "Wipe inward" +msgstr "内側へ拭き上げ" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"穴の輪郭を含む外壁にのみ適用されます。拭き上げ中に高温のノズルを造形済みの内壁へ向かって動かし、造形したばかりの樹脂の再加熱と継ぎ目の跡を抑えます。\n" +"\n" +"拭き上げの跡が目立ちやすい積層ピッチ0.1 mm未満で特に有効です。\n" +"\n" +"隣接する内壁がまだ造形されていない場合(壁が1本のみの領域や、壁の順序が外側/内側の場合)、または細かい角や継ぎ目の隙間などで支えのある内向きの経路が見つからない場合は、通常の拭き上げを使用します。" + +# AI Translated +msgid "Wipe inward distance" +msgstr "内側への拭き上げ距離" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"拭き上げ経路を外周から離す距離で、ミリメートルまたは実際の外壁の押出線幅に対する割合で指定します。\n" +"\n" +"例えば50%では、経路を外壁幅の半分だけずらします。実効オフセットは実際の外壁幅と隣接する壁までの利用可能な間隔の両方で制限されるため、100%を超える値や同等の絶対距離を指定しても追加の効果はありません。0に設定するとオフセットは無効になります。" + # AI Translated msgid "Wipe before external loop" msgstr "外周ループ前のワイプ" @@ -17114,9 +17628,8 @@ msgstr "予熱ステップ数" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "複数の予熱コマンド (M104.1など) を挿入します。Prusa XLでのみ有効です。その他のプリンターでは1に設定してください。" -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "出力ファイルの先頭、他のどの内容よりも前に書き込まれるG-codeです。プリンターのファームウェアがファイル先頭の数行から読み取るメタデータ (推定印刷時間、フィラメント使用量など) を追加するのに便利です。{print_time_sec}や{used_filament_length}などのプレースホルダーに対応しています。" +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "スタートG-code" @@ -17186,8 +17699,9 @@ msgstr "印刷温度に達するのを待たずに新しいツールを取り付 msgid "No sparse layers (beta)" msgstr "スパース層なし (ベータ)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "有効にすると、ツール変更がない場合にワイプタワーをプリントしなくなります。 ワイプタワーの高さが同期しなくなりますので、ツールチェンジのあるレイヤーでは、エクストルーダーがプリント面より下方に移動してワイプタワーをプリントするケースもあります。 この場合、プリントした部分との衝突がないことをご自身で確認しておく必要があります。" +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "有効にすると、ツール交換のない積層ではワイプタワーを造形しません。ツール交換のある積層では押出機が下降してワイプタワーを造形するため、タワーはモデルより下に位置し、ツールヘッドがそこまで下りる必要があります。造形済みのオブジェクトと衝突するような配置は拒否されます。全積層にタワーが必要なスムーズタイムラプスやノズル付着検出では効果がありません。" msgid "Prime all printing extruders" msgstr "全てのエクストルーダーでプライムを実施" @@ -17213,6 +17727,34 @@ msgstr "" msgid "Cyclic" msgstr "循環" +# AI Translated +msgid "Cyclic order" +msgstr "循環順" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"循環ツール交換順で使用するカスタムフィラメント順序です。フィラメント番号をカンマ区切りで指定します(例: 「3,2,1,4」)。\n" +"各積層はこの順序に従ってフィラメントを造形します。記載のないフィラメントは最後に、昇順で造形されます。\n" +"空欄のままにすると、フィラメントを昇順で巡回します。" + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "循環順を1層目にも適用" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"循環ツール交換順を1層目にも適用します。\n" +"既定では無効です。1層目は代わりにベッド接着が最良になるよう並べ替えられるためです。1層目の小さく壊れやすい部分を造形するフィラメントを最後に回すことで、その後のツール交換や移動が、弱く固定された部分を剥がしにくくなります。この1層目の順序は、1層目用のカスタムフィラメント順序が設定されていればそれも尊重します。循環順の利点(ツール交換が増えることで各積層の冷却時間が長くなる)は、接着のために低速かつ高温で造形される1層目には当てはまりません。\n" +"接着の最適化を犠牲にしてでも、1層目を含む全積層でまったく同じツール順序が必要な場合にのみ有効にしてください。" + msgid "Slice gap closing radius" msgstr "隙間充填半径" @@ -17223,9 +17765,6 @@ msgstr "三角メッシュのスライス時に、隙間閉じ半径の2倍よ msgid "Slicing Mode" msgstr "スライシングモード" -msgid "Other" -msgstr "その他" - # AI Translated msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "3DLabPrintの飛行機モデルには「偶奇」を使用してください。モデル内のすべての穴を閉じるには「穴を閉じる」を使用してください。" @@ -18203,9 +18742,6 @@ msgstr "線幅が大きすぎます" msgid " not in range " msgstr "範囲外 " -msgid "Export 3MF" -msgstr "3mf をエクスポート" - msgid "This exports the project as a 3MF file." msgstr "プロジェクトを3MF式で出力" @@ -18221,10 +18757,6 @@ msgstr "スライスデータを読込み" msgid "Load cached slicing data from directory." msgstr "スライスデータを読込み" -# AI Translated -msgid "Export STL" -msgstr "STLをエクスポート" - # AI Translated msgid "Export the objects as single STL." msgstr "オブジェクトを単一のSTLとしてエクスポートします。" @@ -18286,6 +18818,14 @@ msgstr "チェックなし" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "G-codeパスの競合チェックなど、いかなる妥当性チェックも実行しません。" +# AI Translated +msgid "Strict mode" +msgstr "厳格モード" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "サポートが無効なのにサポートが必要なモデルなど、通常はログに記録されるだけの重大でない警告がスライス時に発生した場合、ゼロ以外の終了コードで終了します。わずかに壊れたスライス結果を決して出荷してはならないCIやスクリプト処理で使用してください。そうした警告はいずれも、Linuxでのみ書き出されるresult.jsonの`warnings`配列に、安定したクラス名とともに列挙されます。サポート確認を省略する--no-checkとは併用できません。" + # AI Translated msgid "Normative check" msgstr "規範チェック" @@ -18300,11 +18840,28 @@ msgstr "出力モデル情報" msgid "This outputs the model’s information." msgstr "出力するモデル情報です。" +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "メッシュを検査 (JSONをstdoutへ)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "読み込んだ各オブジェクトのJSON要約をstdoutに出力して終了します。バウンディングボックスと、設置できる凸包の面、およびそれらの法線・面積・中心が含まれます。--ground-*オプションはこれらの面から選択します。--infoの機械可読版です。" + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "ペイントを検査 (JSONをstdoutへ)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "読み込んだモデルに保存済みの各ペイント層(サポート、継ぎ目、MMUカラー、ファジー壁面)について、状態ごとの面数・表面積・メッシュ座標系のバウンディングボックスを構造化JSONで出力して終了します。GUIでペイントギズモを開く操作の機械可読版です。" + msgid "Export Settings" msgstr "エクスポート設定" -msgid "This exports settings to a file." -msgstr "設定をファイルにエクスポートします。" +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "設定をファイルにエクスポートします。- を指定するとstdoutに書き出します。" msgid "Send progress to pipe" msgstr "パイプに進捗を送信" @@ -18365,6 +18922,30 @@ msgstr "Y軸周りの回転" msgid "Rotation angle around the Y axis in degrees." msgstr "Y軸を中心とした回転角(度単位)。" +# AI Translated +msgid "Ground largest face" +msgstr "最大面を接地" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "各オブジェクトを凸包の最大面で接地させ、ベッドへ落とします。同じ大きさの面が複数ある場合は、すでに下を向いている面が保持されます。載せられるだけの大きさの面がないオブジェクトはそのまま残ります。変換はコマンドラインの順に実行されるため、このオプションより前に指定した回転は尊重されます。--orient 1 はすべての変換の後に実行され、向きを置き換えます。" + +# AI Translated +msgid "Ground face by normal" +msgstr "法線で面を接地" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "各オブジェクトを、外向き法線が方向 NX,NY,NZ に最も近い凸包の面で接地させ、ベッドへ落とします。方向はオブジェクト座標系で指定します。この座標系はこのオプションより前に指定した回転を含み、入力ファイルがオブジェクトを回転していない限りプレートの軸と一致します。例えば 1,0,0 はオブジェクトを +X 側で立たせます。--orient 1 はすべての変換の後に実行され、向きを置き換えます。" + +# AI Translated +msgid "Ground face at point" +msgstr "指定点の面を接地" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "各オブジェクトを、点 X,Y,Z を含む凸包の面で接地させ、ベッドへ落とします。点はオブジェクト座標系で指定します。この座標系はこのオプションより前に指定した回転を含み、--inspect-mesh はこの座標系で面の中心を報告します。該当する面がないオブジェクトはそのまま残り、どのオブジェクトにも該当面がない場合は実行が失敗します。--orient 1 はすべての変換の後に実行され、向きを置き換えます。" + msgid "Scale the model by a float factor." msgstr "指定した比率で伸縮する" @@ -18706,14 +19287,37 @@ msgstr "フィラメント使用量" msgid "Total length of filament used in the print." msgstr "プリントに使用されるフィラメントの全長。" -# AI Translated -msgid "Print time (seconds)" -msgstr "印刷時間 (秒)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "推定される総印刷時間 (秒) です。後処理時に実際の値に置き換えられます。" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "フィラメント長 (メートル)" @@ -18951,9 +19555,6 @@ msgstr "ファイルに無効な頂点インデックスが含まれています msgid "This OBJ file couldn't be read because it's empty." msgstr "このOBJファイルは空なので読み込めませんでした。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大体積速度キャリブレーション" - msgid "Manage Result" msgstr "結果を管理" @@ -19834,10 +20435,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意: 値が大きいとレイヤーずれが発生する場合があります (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "流量比キャリブレーション" - # AI Translated msgid "Calibration Test Type" msgstr "キャリブレーションテストのタイプ" @@ -20638,6 +21235,9 @@ msgstr "有効なセッションが検出されませんでした。3DPrinterOS msgid "Success!" msgstr "成功!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "本当にログアウトしますか?" @@ -21678,6 +22278,18 @@ msgstr "この操作は元に戻せません。続行しますか?" msgid "Skipping objects." msgstr "オブジェクトをスキップ中。" +# AI Translated +msgid "Material Ratio" +msgstr "材料比率" + +# AI Translated +msgid "Model Height" +msgstr "モデル高さ" + +# AI Translated +msgid "Ratio" +msgstr "比率" + msgid "Select Filament" msgstr "フィラメントを選択" @@ -21709,13 +22321,6 @@ msgstr "Bambuネットワークプラグインはクラウド機能、プリン msgid "Error: %s" msgstr "エラー: %s" -msgid "Show details" -msgstr "詳細を表示" - -# AI Translated -msgid "Hide details" -msgstr "詳細を隠す" - msgid "Version to install:" msgstr "インストールするバージョン:" @@ -21960,12 +22565,14 @@ msgid "Drying-Dehumidifying" msgstr "乾燥 - 除湿" # AI Translated -msgid " maximum drying temperature is " -msgstr " の最高乾燥温度は " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s の最高乾燥温度は %d°C です。" # AI Translated -msgid " minimum drying temperature is " -msgstr " の最低乾燥温度は " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s の最低乾燥温度は %d°C です。" # AI Translated msgid "This filament may not be completely dried." @@ -22110,6 +22717,2495 @@ msgstr "フィラメントが現在のマシン設定と互換性がない可能 msgid "The filament model is unknown. A random filament preset will be used." msgstr "フィラメントモデルが不明です。ランダムなフィラメントプリセットが使用されます。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "終了" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底面" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "←" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "→" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "↑" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "↓" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "STL/STEP/3MF/OBJ/AMFファイルからジオメトリデータをインポート" + +msgid "Select all objects" +msgstr "すべてのオブジェクトを選択" + +msgid "Paste from clipboard" +msgstr "貼り付け" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "オブジェクト/パーツの印刷可否を切り替え" + +msgid "Move selection 10mm in negative X direction" +msgstr "X方向 -10mm" + +msgid "Move selection 10mm in positive X direction" +msgstr "X方向 10mm" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Y方向 10mm" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Y方向 -10mm" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "移動" + +msgid "Gizmo rotate" +msgstr "回転" + +msgid "Gizmo scale" +msgstr "スケール" + +msgid "Gizmo place face on bed" +msgstr "底面選択" + +msgid "Gizmo cut" +msgstr "カット" + +msgid "Gizmo mesh boolean" +msgstr "メッシュブール" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "継ぎ目ペイント" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "ギズモ FDMファジースキンペイント" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "ギズモ・テキストのエンボス/エングレーブ" + +msgid "Gizmo measure" +msgstr "測る" + +msgid "Gizmo assemble" +msgstr "組立てる" + +msgid "Gizmo brim ears" +msgstr "ブリム" + +msgid "Vertical slider - Move active thumb Up" +msgstr "垂直スライダー" + +msgid "Vertical slider - Move active thumb Down" +msgstr "垂直スライダー" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "水平スライダー (左)" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "水平スライダー (右)" + +msgid "Horizontal slider - Move to start position" +msgstr "水平スライダー - 開始位置に移動" + +msgid "Horizontal slider - Move to last position" +msgstr "水平スライダー - 最後の位置に移動" + +msgid "Camera view - Default" +msgstr "デフォルト" + +msgid "Camera view - Top" +msgstr "トップ" + +msgid "Camera view - Bottom" +msgstr "底面" + +msgid "Camera view - Front" +msgstr "正面" + +msgid "Camera view - Behind" +msgstr "背面" + +msgid "Camera Angle - Left side" +msgstr "左側" + +msgid "Camera Angle - Right side" +msgstr "右側" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "ズームイン" + +msgid "Zoom out" +msgstr "縮小" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "3Dconnexion設定を表示/非表示" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "G-codeウィンドウのオン/オフ" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "垂直スライダーの1レイヤーモードのオン/オフ" + +msgid "Switch between Prepare/Preview" +msgstr "準備/プレビュー間の切り替え" + +msgid "Collapse/Expand the sidebar" +msgstr "サイドバーを展開/隠す" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "ショートカット一覧を表示" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + # AI Translated #: resources/data/hints.ini: [hint:Precise wall] msgid "" @@ -22422,6 +25518,160 @@ msgstr "" "反りを避ける\n" "ABSのような反りやすい素材を印刷する場合、ヒートベッドの温度を適切に上げることで、反りが発生する確率を下げることができることをご存知ですか?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "現在のビューポートのFPSを右上に表示します。" + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF公開のWiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF公開のビデオガイド" + +#~ msgid "Toolbar" +#~ msgstr "ツールバー" + +#~ msgid "Switch table page" +#~ msgstr "テーブルページを切り替え" + +#~ msgid "Global shortcuts" +#~ msgstr "ショートカット" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "マウス中ボタン" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "選択したオブジェクトまたはプロジェクト内のすべてのオブジェクトの方向を自動的に設定します。" + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "現在のプレート上のすべてのオブジェクトの方向を自動的に設定します。" + +#~ msgid "Any arrow" +#~ msgstr "任意の矢印キー" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLAサポートポイント" + +#~ msgid "Plater" +#~ msgstr "準備" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "ギズモ" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "オブジェクト、パーツ、モディファイヤを削除" + +#~ msgid "Objects List" +#~ msgstr "オブジェクト一覧" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "出力ファイルの先頭、他のどの内容よりも前に書き込まれるG-codeです。プリンターのファームウェアがファイル先頭の数行から読み取るメタデータ (推定印刷時間、フィラメント使用量など) を追加するのに便利です。{print_time_sec}や{used_filament_length}などのプレースホルダーに対応しています。" + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "印刷時間 (秒)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "アクションスピードダイヤルを開く" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "左: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "右: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "最高温度は次の値を超えることはできません " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "最低温度は次の値を下回ることはできません " + +#~ msgid "up to" +#~ msgstr "最大" + +#~ msgid "above" +#~ msgstr "以上" + +#~ msgid "from" +#~ msgstr "から" + +#~ msgid "Configuration package: " +#~ msgstr "設定パッケージ: " + +#~ msgid " updated to " +#~ msgstr " を更新しました " + +#~ msgid "Grouping error: " +#~ msgstr "グルーピングエラー: " + +#~ msgid " can not be placed in the " +#~ msgstr " に配置できません " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " の最高乾燥温度は " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " の最低乾燥温度は " + +# AI Translated +#~ msgid "needs" +#~ msgstr "が必要" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "未有効" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "材料が未公開" + +#~ msgid "Select the language" +#~ msgstr "言語を選択" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "プラグインを選択" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "中心を基準とするパターン (同心円、アルキメデス弦、八芒星スパイラル) を使用する場合に、上面を充填する方向です。\n" +#~ "外向きは面の中心から始まるため、余分な材料が最も目立たない縁へ押し出されます。内向きは縁から始まり、中心の細かいカーブで終わります。\n" +#~ "デフォルトは最短経路順で、どちらの方向にもなり得ます。" + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "中心を基準とするパターン (同心円、アルキメデス弦、八芒星スパイラル) を使用する場合に、底面を充填する方向です。\n" +#~ "内向きは各面を幅の広い外側のカーブから始めるため、中心の細かいカーブが定着しにくいベッドでも1層目の密着性が向上します。外向きは中心から始まり、余分な材料を縁へ押し出します。\n" +#~ "デフォルトは最短経路順で、どちらの方向にもなり得ます。" + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "有効にすると、ツール変更がない場合にワイプタワーをプリントしなくなります。 ワイプタワーの高さが同期しなくなりますので、ツールチェンジのあるレイヤーでは、エクストルーダーがプリント面より下方に移動してワイプタワーをプリントするケースもあります。 この場合、プリントした部分との衝突がないことをご自身で確認しておく必要があります。" + +#~ msgid "This exports settings to a file." +#~ msgstr "設定をファイルにエクスポートします。" + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "ネイティブWaylandのライブビューにはGStreamer GTKビデオシンクが必要です。GStreamer用のgtksinkプラグインをインストールし、OrcaSlicerを再起動してください。" @@ -22480,9 +25730,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "単一レイヤー内の印刷順序。" -#~ msgid "Bottom" -#~ msgstr "底面" - #~ msgid "Front" #~ msgstr "正面" @@ -22501,9 +25748,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "→" -#~ msgid "End" -#~ msgstr "終了" - #~ msgid "Hotend" #~ msgstr "ホットエンド" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index c415c90195..e05554dab8 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2025-06-02 17:12+0900\n" "Last-Translator: crwusiz \n" "Language-Team: \n" @@ -2481,15 +2481,6 @@ msgstr "사용 가능한 업데이트가 있습니다. 사전 설정 번들 대 msgid "%s has been removed." msgstr "%s이(가) 제거되었습니다." -msgid "Switching application language" -msgstr "응용 프로그램 언어 전환" - -msgid "Select the language" -msgstr "언어 선택" - -msgid "Language" -msgstr "언어" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2527,6 +2518,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "플러그인 대화 상자를 열지 못했습니다(알 수 없는 오류)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "플러그인 터미널" @@ -3729,11 +3733,15 @@ msgstr "Filament Track Switch에서 현재 필라멘트 되감기" msgid "Switch track at Filament Track Switch" msgstr "Filament Track Switch에서 트랙 전환" -msgid "The maximum temperature cannot exceed " -msgstr "최대 온도는 다음 값을 초과할 수 없습니다 " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "최대 온도는 %d을(를) 초과할 수 없습니다" -msgid "The minmum temperature should not be less than " -msgstr "최소 온도는 다음 값보다 낮아서는 안 됩니다 " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "최소 온도는 %d보다 낮을 수 없습니다" # AI Translated msgid "Type to filter..." @@ -4181,6 +4189,21 @@ msgstr "OrcaSlicer도 같은 정신으로 시작하여 PrusaSlicer, BambuStudio, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "오늘날 OrcaSlicer는 3D 프린팅 커뮤니티에서 가장 널리 사용되고 가장 활발하게 개발되는 오픈 소스 슬라이서입니다. 그 혁신 가운데 다수가 다른 슬라이서에도 채택되어 업계 전체를 이끄는 원동력이 되고 있습니다." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "프린터" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 재료 설정" @@ -4627,6 +4650,15 @@ msgstr "" "임시 Gcode를 출력 Gcode로 복사하지 못했습니다. SD 카드가 쓰기 잠겨 있나요?\n" "오류 메시지입니다: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"임시 G-code를 출력 G-code로 복사하지 못했습니다.\n" +"오류 메시지: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "임시 Gcode를 출력 Gcode로 복사하지 못했습니다. 대상 장치에 문제가 있을 수 있으니 다시 내보내거나 다른 장치를 사용해 보세요. 손상된 출력 Gcode는 %1%.tmp에 있습니다." @@ -4931,6 +4963,10 @@ msgstr "" "예 - 이 설정을 변경하고 나선 모드를 자동으로 활성화합니다\n" "아니오 - 이번에는 나선 모드 사용을 포기합니다" +# AI Translated +msgid "N/A" +msgstr "해당 없음" + msgid "Printing" msgstr "출력 중" @@ -5361,14 +5397,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "값 %s이 범위를 벗어났습니다. 유효한 범위는 %d에서 %d까지입니다." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%% 또는 %s %s입니까?\n" -"%s%%에 대해 예,\n" -"%s %s에 대해 아니요." +msgid "Is it %s%% or %s %s?" +msgstr "%s%% 또는 %s %s입니까?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5390,30 +5423,22 @@ msgstr "잘못된 패턴입니다. N, N#K 또는 항목당 선택적 #K가 있 msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "잘못된 형식입니다. 필요한 벡터 형식: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "해당 없음" - # AI Translated msgid "System agents" msgstr "시스템 에이전트" -# AI Translated -msgid "No plugin selected" -msgstr "선택된 플러그인 없음" - # AI Translated msgid "Add plugin" msgstr "플러그인 추가" -# AI Translated -msgid "Select plugin" -msgstr "플러그인 선택" - # AI Translated msgid "Remove plugin" msgstr "플러그인 제거" +# AI Translated +msgid "No plugin selected" +msgstr "선택된 플러그인 없음" + # AI Translated msgid "Configure" msgstr "구성" @@ -5670,14 +5695,20 @@ msgstr "최적으로 설정" msgid "Regroup filament" msgstr "필라멘트 재그룹핑" -msgid "up to" -msgstr "까지" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "%1% mm까지" -msgid "above" -msgstr "위에" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "%1% mm 이상" -msgid "from" -msgstr "부터" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "%1% mm에서 %2% mm까지" msgid "Usage" msgstr "사용량" @@ -5739,9 +5770,6 @@ msgctxt "Noun" msgid "Print" msgstr "출력" -msgid "Printer" -msgstr "프린터" - msgid "Time Estimation" msgstr "추정 시간" @@ -5921,12 +5949,15 @@ msgctxt "Camera View" msgid "Right" msgstr "오른쪽" -msgid "Add" -msgstr "추가" - msgid "Add plate" msgstr "플레이트 추가" +msgid "Split to objects" +msgstr "객체로 분할" + +msgid "Add" +msgstr "추가" + msgid "Auto orient all/selected objects" msgstr "모든/선택한 객체 자동 방향 지정" @@ -5939,9 +5970,6 @@ msgstr "모든 객체 정렬" msgid "Arrange objects on selected plates" msgstr "선택한 플레이트의 객체 정렬" -msgid "Split to objects" -msgstr "객체로 분할" - msgid "Assembly View" msgstr "조립 보기" @@ -5998,6 +6026,9 @@ msgstr "외곽선" msgid "Wireframe" msgstr "와이어프레임" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "사실적 보기" @@ -6203,6 +6234,9 @@ msgstr "일부 사전 설정을 수정하는 동안 응용 프로그램을 닫 msgid "Logging" msgstr "로깅" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "준비 하기" @@ -6350,6 +6384,14 @@ msgstr "프로젝트 다른 이름으로 저장" msgid "Save current project as" msgstr "현재 프로젝트 다른 이름으로 저장" +# AI Translated +msgid "Publish 3MF" +msgstr "3MF 게시" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "선택한 설정이 포함된 3MF 파일을 내보냅니다" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "3MF/STL/STEP/SVG/OBJ/AMF 가져오기" @@ -6532,6 +6574,9 @@ msgstr "편집" msgid "View" msgstr "시점" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "사전 설정 번들" @@ -7462,6 +7507,234 @@ msgstr "이 대화 상자를 다시 표시하지 마세요." msgid "Please refer to Wiki before use->" msgstr "사용하기 전에 Wiki를 참조하십시오->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL 내보내기" + +msgid "Export 3MF" +msgstr "3MF 내보내기" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "최대 압출 속도 교정" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "압출량 비율 교정" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "모든 객체 삭제" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "객체로 분할" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D 마우스가 분리됨." @@ -7621,6 +7894,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "하부" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "이 설정은 플러그인 기능 유형을 지정하지 않습니다." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "이 설정은 인식할 수 없는 플러그인 기능 유형을 지정합니다: " + # AI Translated msgid "Plugin Selection" msgstr "플러그인 선택" @@ -8109,10 +8390,6 @@ msgstr "사이드바 확장" msgid "Collapse sidebar" msgstr "사이드바 접기" -# AI Translated -msgid "Tab" -msgstr "탭" - #, c-format, boost-format msgid "Loading file: %s" msgstr "파일 로드 중: %s" @@ -8195,6 +8472,14 @@ msgstr "이러한 사전 설정 내의 Gcode가 기계 손상을 방지할 수 msgid "Customized Preset" msgstr "사용자 정의 프리셋" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "일부 게시된 설정을 적용할 수 없습니다:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "일부 필라멘트 슬롯이 변경되었습니다:" + # AI Translated msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "STEP 파일 내부의 구성 요소 이름이 UTF-8 형식이 아닙니다!" @@ -8318,10 +8603,6 @@ msgstr "" msgid "Delete Object" msgstr "객체 삭제" -# AI Translated -msgid "Delete All Objects" -msgstr "모든 객체 삭제" - # AI Translated msgid "Reset Project" msgstr "프로젝트 초기화" @@ -8329,10 +8610,6 @@ msgstr "프로젝트 초기화" msgid "The selected object couldn't be split." msgstr "선택한 객체를 분할할 수 없습니다." -# AI Translated -msgid "Split to Objects" -msgstr "객체로 분할" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z 위치를 유지하기 위해 자동 내려놓기를 비활성화하시겠습니까?\n" @@ -8622,6 +8899,21 @@ msgstr "슬라이스 파일을 다음으로 저장:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "%s 파일이 프린터의 저장 공간으로 전송되었으며 프린터에서 볼 수 있습니다." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MF 파일을 다음 이름으로 게시:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"게시할 3MF 파일을 내보내지 못했습니다.\n" +"폴더가 온라인에 있는지, 또는 다른 프로그램이 해당 파일을 열어 두었는지 확인하세요." + +msgid "Publish" +msgstr "게시" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "노즐 유형이 설정되지 않았습니다. 노즐을 설정하고 다시 시도하세요." @@ -8837,9 +9129,6 @@ msgstr "계속하시겠습니까?" msgid "Language selection" msgstr "언어 선택" -msgid "Switching application language while some presets are modified." -msgstr "일부 사전 설정이 수정되는 동안 응용 프로그램 언어를 전환합니다." - msgid "Asia-Pacific" msgstr "아시아 태평양" @@ -8953,6 +9242,9 @@ msgstr "현재 인스턴스 경로: " msgid "General" msgstr "일반" +msgid "Language" +msgstr "언어" + msgid "Metric" msgstr "미터법" @@ -9178,6 +9470,33 @@ msgstr "다중 장치 관리" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "활성화하면 여러 장치에 동시에 작업을 보내고 여러 장치를 관리할 수 있습니다." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "필라멘트 그룹화 모드를 선택하기 위한 팝업" @@ -9268,6 +9587,12 @@ msgstr "역방향 마우스 줌" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "활성화되면 마우스 휠을 사용하여 확대/축소 방향을 반대로 바꿉니다." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "화면 이동" @@ -9296,6 +9621,15 @@ msgstr "마우스 오른쪽 버튼 드래그" msgid "Set the action that dragging the right mouse button should perform." msgstr "마우스 오른쪽 버튼을 드래그할 때 수행할 동작을 설정합니다." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "다음 항목에 대한 선택 지우기..." @@ -9424,13 +9758,40 @@ msgstr "" "뷰포트의 프레임 속도를 제한하여 GPU 부하와 전력 사용량을 줄입니다.\n" "0으로 설정하면 프레임 속도가 무제한이 됩니다." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "FPS 오버레이 표시" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "현재 뷰포트의 FPS를 오른쪽 위 모서리에 표시합니다." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9448,9 +9809,6 @@ msgstr "슬라이스된 미리보기에서 레이어 슬라이더를 움직일 msgid "Dimmed layer brightness" msgstr "어둡게 표시된 레이어의 밝기" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9865,9 +10223,6 @@ msgstr "모델 게시 웹 페이지로 이동" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "참고: 준비하는 데 몇 분 정도 걸릴 수 있습니다. 조금만 기다려 주십시오." -msgid "Publish" -msgstr "게시" - msgid "Publish was canceled" msgstr "게시가 취소되었습니다" @@ -9884,6 +10239,76 @@ msgstr "데이터 업로드 중" msgid "Jump to webpage" msgstr "웹 페이지로 이동" +# AI Translated +msgid "Material" +msgstr "재료" + +# AI Translated +msgid "Mixed filament" +msgstr "혼합 필라멘트" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "일부 혼합 필라멘트는 게시되지 않을 필라멘트에 의존합니다:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "필라멘트 %d (혼합)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1%에는 %2%이(가) 필요하지만 활성화되어 있지 않습니다." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1%에는 %2%이(가) 필요하지만 해당 재료는 게시되지 않습니다." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "혼합 필라멘트를 게시하려면 사용하는 모든 필라멘트를 활성화하고 전체 게시를 선택하거나 유형 요구 사항을 충족하세요." + +# AI Translated +msgid "Publish anyway" +msgstr "그래도 게시" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MF 게시..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "3MF 파일에 게시할 설정을 선택하세요" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "혼합 필라멘트 - 위에서 \"활성화\"를 선택하면 전체가 게시됩니다" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "이 혼합 필라멘트를 게시하고 구성 필라멘트를 활성화 + 전체 게시합니다" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "이 필라멘트 슬롯을 3MF 파일에 게시합니다" + +# AI Translated +msgid "Full Publish" +msgstr "전체 게시" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "이 슬롯의 필라멘트 전체를 3MF 파일에 포함합니다" + +# AI Translated +msgid "Filter non-selected" +msgstr "선택되지 않은 항목 필터링" + #, c-format, boost-format msgid "Save %s as" msgstr "%s을(를) 다음으로 저장" @@ -9902,6 +10327,10 @@ msgstr "상위 사전 설정에서 상속한 모든 값을 이 사전 설정으 msgid "Detach from parent" msgstr "상위 항목에서 분리" +# AI Translated +msgid "Save without parent" +msgstr "상위 항목 없이 저장" + # AI Translated msgid "Unique preset" msgstr "독립 사전 설정" @@ -9961,6 +10390,134 @@ msgstr "%1%에 대해, %2%를 새 사전 설정으로 추가합니다" msgid "Simply switch to \"%1%\"" msgstr "\"%1%\"로 단순 전환" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "기타" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "세부 정보 표시" + +# AI Translated +msgid "Hide details" +msgstr "세부 정보 숨기기" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "작업이 취소됨" @@ -10616,10 +11173,18 @@ msgstr "뭉침 감지에는 프라임 타워가 필요합니다. 프라임 타 msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "정밀 Z 높이와 프라임 타워를 함께 활성화하면 슬라이싱 오류가 발생할 수 있습니다. 그래도 정밀 Z 높이를 활성화하시겠습니까?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "스무드 타임랩스는 모든 레이어에 프라임 타워가 필요하므로 \"희소 레이어 없음\"과 함께 사용할 수 없습니다. \"희소 레이어 없음\"이 해제되었습니다." + # AI Translated msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "유연 모드 타임랩스를 위해서는 프라임 타워가 필요합니다. 프라임 타워가 없는 모델에는 결함이 있을 수 있습니다. 프라임 타워를 활성화하시겠습니까?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"희소 레이어 없음\"은 모든 레이어에 프라임 타워가 필요한 스무드 타임랩스와 함께 사용할 수 없습니다. 타임랩스가 기존 모드로 전환되었습니다." + msgid "Still print by object?" msgstr "아직도 객체별로 출력하시나요?" @@ -10996,10 +11561,6 @@ msgstr "호환 프로세스 사전설정" msgid "Printable space" msgstr "출력 가능 공간" -# AI Translated -msgid "Printer Agent" -msgstr "프린터 에이전트" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "프린터 통신에 사용할 네트워크 에이전트 구현을 선택합니다. 사용 가능한 에이전트는 시작 시 등록됩니다." @@ -11424,14 +11985,6 @@ msgstr "익스트루더 수" msgid "Capabilities" msgstr "성능" -# AI Translated -msgid "Left: " -msgstr "왼쪽: " - -# AI Translated -msgid "Right: " -msgstr "오른쪽: " - msgid "Show all presets (including incompatible)" msgstr "모든 사전 설정 표시(호환되지 않는 설정 포함)" @@ -11830,57 +12383,39 @@ msgstr "이전 구성 가이드에서 구성 패키지가 변경되었습니다" msgid "Configuration package changed" msgstr "구성 패키지가 변경됨" -msgid "Toolbar" -msgstr "도구 모음" - -msgid "Objects list" -msgstr "객체 목록" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "STL/STEP/3MF/OBJ/AMF 파일에서 형상 데이터 가져오기" - -msgid "Paste from clipboard" -msgstr "클립보드에서 붙여넣기" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "3D 연결 장치 설정 표시/숨기기 대화상자" - -msgid "Switch table page" -msgstr "테이블 페이지 전환" - -msgid "Show keyboard shortcuts list" -msgstr "키보드 단축키 목록 보기" - -msgid "Global shortcuts" -msgstr "전역 단축키" - msgid "Pan View" msgstr "보기 이동" msgid "Rotate View" msgstr "보기 회전" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "마우스 가운데 버튼" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "줌 뷰" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "선택한 객체 또는 모든 객체의 방향을 자동으로 조정합니다. 선택한 객체가 있는 경우 선택한 객체만 조정되고, 그렇지 않은 경우 프로젝트의 모든 객체가 조정됩니다." - -msgid "Auto orients all objects on the active plate." -msgstr "현재 플레이트에 있는 모든 객체의 방향을 자동으로 지정합니다." - -msgid "Collapse/Expand the sidebar" -msgstr "사이드바 접기/펼치기" - -msgid "Any arrow" -msgstr "모든 화살표" - -msgid "Movement in camera space" -msgstr "카메라 공간에서 이동" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "부품 선택" @@ -11891,138 +12426,30 @@ msgstr "여러 객체 선택" msgid "Select objects by rectangle" msgstr "사각형으로 객체 선택" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "↑" - -msgid "Move selection 10mm in positive Y direction" -msgstr "선택 항목을 +Y 방향으로 10mm 이동" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "↓" - -msgid "Move selection 10mm in negative Y direction" -msgstr "선택 항목을 -Y 방향으로 10mm 이동" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "←" - -msgid "Move selection 10mm in negative X direction" -msgstr "선택 항목을 -X 방향으로 10mm 이동" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "→" - -msgid "Move selection 10mm in positive X direction" -msgstr "선택 항목을 +X 방향으로 10mm 이동" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "키보드 1-9: 객체/부품에 필라멘트 할당" # AI Translated msgid "Movement step set to 1mm" msgstr "이동 단위를 1mm로 설정" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "키보드 1-9: 객체/부품에 필라멘트 할당" +msgid "Movement in camera space" +msgstr "카메라 공간에서 이동" -msgid "Camera view - Default" -msgstr "카메라 시점 - 기본" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "카메라 시점 - 위" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "카메라 시점 - 아래" +msgid "Zoom View" +msgstr "줌 뷰" -msgid "Camera view - Front" -msgstr "카메라 시점 - 앞" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "카메라 시점 - 뒤" - -msgid "Camera Angle - Left side" -msgstr "카메라 각도 - 좌측" - -msgid "Camera Angle - Right side" -msgstr "카메라 각도 - 우측" - -msgid "Select all objects" -msgstr "모든 객체 선택" - -msgid "Gizmo move" -msgstr "변형도구 이동" - -msgid "Gizmo rotate" -msgstr "변형도구 회전" - -msgid "Gizmo scale" -msgstr "변형도구 배율" - -msgid "Gizmo place face on bed" -msgstr "변형도구 바닥면 선택" - -msgid "Gizmo cut" -msgstr "변형도구 잘라내기" - -msgid "Gizmo mesh boolean" -msgstr "변형도구 합집합/차집합/교집합" - -# AI Translated -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "변형도구 FDM 퍼지 스킨 칠하기" - -msgid "Gizmo SLA support points" -msgstr "변형도구 서포트 칠하기" - -msgid "Gizmo FDM paint-on seam" -msgstr "변형도구 재봉선 칠하기" - -msgid "Gizmo text emboss/engrave" -msgstr "변형도구 - 텍스트 엠보싱/인그레이빙" - -msgid "Gizmo measure" -msgstr "변형도구 측정" - -msgid "Gizmo assemble" -msgstr "변형도구 병합" - -msgid "Gizmo brim ears" -msgstr "변형도구 브림 귀" - -msgid "Zoom in" -msgstr "확대" - -msgid "Zoom out" -msgstr "축소" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "객체/부품의 출력 가능 여부 전환" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "준비 하기/미리 보기 전환" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "작업 스피드 다이얼 열기" - -msgid "Plater" -msgstr "출력판" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "이동: 눌러서 1mm씩 이동" @@ -12033,14 +12460,19 @@ msgstr "서포트/색상 칠하기: 펜 반경 조정" msgid "Support/Color Painting: adjust section position" msgstr "서포트/색상 칠하기: 단면 위치 조정" -msgid "Gizmo" -msgstr "변형도구" +msgid "Objects list" +msgstr "객체 목록" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "객체 및 부품에 대한 압출기 번호 설정" -msgid "Delete objects, parts, modifiers" -msgstr "객체, 부품, 수정자 삭제" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "객체/부품을 선택하고 스페이스바를 눌러 이름을 변경합니다" @@ -12051,45 +12483,48 @@ msgstr "마우스 클릭" msgid "Select the object/part and mouse click to change the name" msgstr "객체/부품을 선택하고 마우스를 클릭하여 이름을 변경합니다" -msgid "Objects List" -msgstr "객체 목록" - -msgid "Vertical slider - Move active thumb Up" -msgstr "수직 슬라이더 - 활성 레이어 위로 이동" - -msgid "Vertical slider - Move active thumb Down" -msgstr "수직 슬라이더 - 활성 레이어 아래로 이동" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "수평 슬라이더 - 활성 라인 왼쪽으로 이동" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "수평 슬라이더 - 활성 라인 오른쪽으로 이동" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "수직 슬라이더의 한 레이어 모드 켜기/끄기" - -msgid "On/Off G-code window" -msgstr "Gcode 창 켜기/끄기" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "슬라이더를 5배 빠르게 이동" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "수평 슬라이더 - 시작 위치로 이동" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "수평 슬라이더 - 마지막 위치로 이동" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "릴리스 노트" @@ -12294,15 +12729,22 @@ msgstr "수리 취소됨" msgid "Copying of file %1% to %2% failed: %3%" msgstr "파일 %1%를 %2%으로 복사 실패: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "새 제조사 프로파일 다운로드 중: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "구성 패키지: %1%이(가) %2%(으)로 업데이트되었습니다" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "제조사 프로파일을 다운로드하지 못했습니다: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "구성 업데이트 전에 저장되지 않은 변경 사항을 확인해야 합니다." -msgid "Configuration package: " -msgstr "구성 패키지: " - -msgid " updated to " -msgstr " 로 업데이트되었습니다 " - msgid "Open G-code file:" msgstr "Gcode 파일 열기:" @@ -12367,11 +12809,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "인풋 셰이핑은 Klipper, RepRapFirmware, Marlin 2에서만 지원됩니다." -msgid "Grouping error: " -msgstr "그룹화 오류입니다:" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "그룹화 오류: %1%은(는) 왼쪽 노즐에 배치할 수 없습니다" -msgid " can not be placed in the " -msgstr " 에 배치할 수 없습니다" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "그룹화 오류: %1%은(는) 오른쪽 노즐에 배치할 수 없습니다" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12486,6 +12932,10 @@ msgstr "%1% 이(가) 다른 객체와 너무 가까워 출력 시 충돌이 발 msgid "%1% is too tall, and collisions will be caused." msgstr "%1% 이(가) 너무 높아서 충돌이 출력 시 발생할 수 있습니다." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "모델과 프라임 타워의 상대 위치가 \"희소 레이어 없음\" 기능의 요구 사항을 충족하지 않습니다. 상대 위치를 조정하거나 모델 높이를 낮추거나 \"희소 레이어 없음\"을 해제하세요." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " 이(가) 제외 영역에 너무 가깝습니다. 출력 시 충돌이 발생 할 수 있습니다." @@ -12860,6 +13310,10 @@ msgstr "G-code 대신 3MF 사용" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "프린터가 출력 작업으로 3MF 파일을 허용하는 경우 이 옵션을 활성화하십시오. 활성화하면 Orca Slicer가 슬라이스된 파일을 일반 .gcode 파일 대신 .gcode.3mf로 전송합니다." +# AI Translated +msgid "Printer Agent" +msgstr "프린터 에이전트" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "프린터 통신에 사용할 네트워크 에이전트 구현을 선택합니다." @@ -13959,6 +14413,10 @@ msgstr "정렬된 직선" msgid "Concentric" msgstr "동심" +# AI Translated +msgid "Spiral Inset" +msgstr "나선형 인셋" + msgid "Hilbert Curve" msgstr "힐베르트 곡선" @@ -14052,13 +14510,13 @@ msgstr "상단 표면 채우기 순서" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"중심 기반 패턴(동심원, 아르키메데스 현, 팔각별 나선)을 사용할 때 상단 표면을 채우는 방향입니다.\n" -"바깥쪽은 표면 중앙에서 시작하므로 남는 재료가 가장 눈에 덜 띄는 가장자리로 밀려납니다. 안쪽은 가장자리에서 시작하여 중앙의 좁은 곡선에서 끝납니다.\n" -"기본값은 최단 경로 순서를 사용하며 어느 방향으로든 진행될 수 있습니다." +"중심에서 시작하는 패턴(동심, 나선형 인셋, 아르키메데스 코드, 팔각 나선형)을 사용할 때 상단 표면을 채우는 방향입니다.\n" +"바깥쪽은 표면 중앙에서 시작하므로 남는 재료가 가장 눈에 덜 띄는 가장자리로 밀려납니다. 안쪽은 가장자리에서 시작해 중앙의 좁은 곡선으로 끝납니다.\n" +"기본값은 최단 경로 순서를 사용하며, 어느 방향으로든 진행될 수 있습니다." # AI Translated msgid "Bottom surface fill order" @@ -14066,13 +14524,13 @@ msgstr "하단 표면 채우기 순서" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"중심 기반 패턴(동심원, 아르키메데스 현, 팔각별 나선)을 사용할 때 하단 표면을 채우는 방향입니다.\n" -"안쪽은 각 표면을 더 넓은 바깥쪽 곡선에서 시작하므로, 중앙의 좁은 곡선이 잘 붙지 않는 빌드 플레이트에서 초기 레이어 접착력이 향상됩니다. 바깥쪽은 중앙에서 시작하여 남는 재료를 가장자리로 밀어냅니다.\n" -"기본값은 최단 경로 순서를 사용하며 어느 방향으로든 진행될 수 있습니다." +"중심에서 시작하는 패턴(동심, 나선형 인셋, 아르키메데스 코드, 팔각 나선형)을 사용할 때 하단 표면을 채우는 방향입니다.\n" +"안쪽은 각 표면을 더 넓은 바깥쪽 곡선부터 시작하므로, 중앙의 좁은 곡선이 잘 붙지 않는 베드에서 초기 레이어 안착이 개선됩니다. 바깥쪽은 중앙에서 시작해 남는 재료를 가장자리로 밀어냅니다.\n" +"기본값은 최단 경로 순서를 사용하며, 어느 방향으로든 진행될 수 있습니다." msgid "Internal solid infill pattern" msgstr "꽉찬 내부 채우기 패턴" @@ -14176,6 +14634,14 @@ msgstr "시계 반대 방향" msgid "Clockwise" msgstr "시계방향" +# AI Translated +msgid "Distance to rod" +msgstr "로드까지의 거리" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "노즐 끝에서 로드의 먼 쪽 가장자리까지의 수평 거리입니다. 객체별 출력에서 충돌을 피하는 데 사용됩니다." + msgid "Height to rod" msgstr "레일까지의 높이" @@ -16428,6 +16894,20 @@ msgstr "오버행 벽 감지" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "선 너비에 비례하여 오버행 백분율을 감지하고 다른 속도를 사용하여 출력합니다. 100%% 오버행의 경우 브릿지 속도가 사용됩니다." +# AI Translated +msgid "Print unsupported walls last" +msgstr "지지되지 않는 벽을 마지막에 출력" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"완전히 공중에 떠 있는 벽 루프는 이를 받쳐 줄 것이 생긴 뒤에 출력됩니다.\n" +"벽 순서와 관계없이 같은 섬의 다른 벽들보다 나중에, 가장 안쪽부터 압출됩니다.\n" +"이 레이어의 브릿지만이 고정할 수 있는 루프는 해당 브릿지가 출력될 때까지 기다리고, 지지되는 벽을 따라 지나가는 루프는 이를 고정점으로 필요로 하는 채우기보다 앞선 자리를 유지합니다." + # AI Translated msgid "Outer walls" msgstr "외벽" @@ -16879,6 +17359,39 @@ msgstr "루프에서 노즐 청소" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "폐쇄 루프 압출에서 재봉선의 가시성을 최소화하기 위해 압출기가 루프를 떠나기 전에 안쪽으로의 작은 이동이 실행됩니다." +# AI Translated +msgid "Wipe inward" +msgstr "안쪽으로 노즐 청소" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"구멍 경계를 포함한 외벽에만 적용됩니다. 노즐 청소 중 뜨거운 노즐을 이미 출력된 내벽 쪽으로 이동시켜, 갓 출력된 플라스틱의 재가열과 재봉선 자국을 줄입니다.\n" +"\n" +"청소 자국이 더 잘 보이는 0.1 mm 미만의 레이어 높이에서 특히 유용합니다.\n" +"\n" +"인접한 내벽이 아직 출력되지 않았거나(벽이 하나뿐인 영역 또는 외벽/내벽 순서), 좁은 모서리나 재봉선 간격 등에서 지지되는 안쪽 경로를 찾을 수 없는 경우에는 일반 노즐 청소를 사용합니다." + +# AI Translated +msgid "Wipe inward distance" +msgstr "안쪽 노즐 청소 거리" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"노즐 청소 경로를 외곽 둘레에서 밀어내는 거리로, 밀리미터 또는 실제 외벽 압출 너비에 대한 백분율로 지정합니다.\n" +"\n" +"예를 들어 50%는 경로를 외벽 너비의 절반만큼 이동시킵니다. 실제 오프셋은 실제 외벽 너비와 인접한 벽까지의 여유 간격 모두에 의해 제한되므로, 100%를 넘는 값이나 그에 상응하는 절대 거리를 지정해도 추가 효과가 없습니다. 오프셋을 끄려면 0으로 설정하세요." + msgid "Wipe before external loop" msgstr "외부 루프 전 닦아내기" @@ -17083,9 +17596,8 @@ msgstr "예열 단계" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "여러 예열 명령(예: M104.1)을 삽입하세요. Prusa XL에만 유용합니다. 다른 프린터의 경우 1로 설정하세요." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "출력 파일의 가장 앞부분, 다른 모든 내용보다 먼저 기록되는 G-code입니다. 프린터 펌웨어가 파일의 첫 줄에서 읽는 메타데이터(예: 예상 출력 시간, 필라멘트 사용량)를 추가하는 데 유용합니다. {print_time_sec}, {used_filament_length}와 같은 자리 표시자를 지원합니다." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "시작 Gcode" @@ -17149,8 +17661,9 @@ msgstr "출력 온도에 도달할 때까지 기다리지 않고 새 툴을 집 msgid "No sparse layers (beta)" msgstr "희소 레이어 없음(베타)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "활성화되면 툴 체인지 없이 레이어에 프라임 타워가 출력되지 않습니다. 툴 체인지가 있는 레이어에서는 압출기가 아래쪽으로 이동하여 프라임 타워를 출력합니다. 출력물과의 충돌이 없는지 확인하는 것은 사용자의 책임입니다." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "활성화하면 툴체인지가 없는 레이어에서는 프라임 타워가 출력되지 않습니다. 툴체인지가 있는 레이어에서는 압출기가 아래로 이동해 프라임 타워를 출력하므로, 타워가 모델보다 아래에 놓이고 툴헤드가 거기까지 내려가야 합니다. 이미 출력된 객체와 충돌하게 되는 배치는 거부됩니다. 모든 레이어에 타워가 필요한 스무드 타임랩스나 노즐 클럼핑 감지에서는 효과가 없습니다." msgid "Prime all printing extruders" msgstr "모든 활성화된 압출기 프라이밍" @@ -17176,6 +17689,34 @@ msgstr "" msgid "Cyclic" msgstr "순환" +# AI Translated +msgid "Cyclic order" +msgstr "순환 순서" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"순환 툴체인지 순서에서 사용하는 사용자 지정 필라멘트 순서로, 필라멘트 번호를 쉼표로 구분해 지정합니다(예: \"3,2,1,4\").\n" +"각 레이어는 이 순서에 따라 필라멘트를 출력하며, 목록에 없는 필라멘트는 오름차순으로 마지막에 출력됩니다.\n" +"비워 두면 필라멘트를 오름차순으로 순환합니다." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "초기 레이어에도 순환 순서 적용" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"순환 툴체인지 순서를 초기 레이어에도 적용합니다.\n" +"기본적으로 꺼져 있는데, 초기 레이어는 대신 베드 안착이 가장 잘 되도록 정렬되기 때문입니다. 초기 레이어의 작고 약한 형상을 출력하는 필라멘트를 마지막에 출력하면, 이어지는 툴체인지와 이동 동작이 약하게 고정된 부분을 떨어뜨릴 가능성이 줄어듭니다. 이 초기 레이어 순서는 초기 레이어용 사용자 지정 필라멘트 순서가 설정되어 있으면 그것도 따릅니다. 순환 순서의 이점(툴체인지가 늘어나 각 레이어의 냉각 시간이 길어지는 것)은 안착을 위해 느리고 뜨겁게 출력되는 초기 레이어에는 해당하지 않습니다.\n" +"안착 최적화를 포기하더라도 초기 레이어를 포함한 모든 레이어에서 정확히 같은 툴 순서가 필요한 경우에만 활성화하세요." + msgid "Slice gap closing radius" msgstr "슬라이스 간격 폐쇄 반경" @@ -17185,9 +17726,6 @@ msgstr "간격 폐쇄 반경의 2배보다 작은 균열은 삼각형 메시 슬 msgid "Slicing Mode" msgstr "슬라이싱 모드" -msgid "Other" -msgstr "기타" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "3DLabPrint 비행기 모델에는 \"짝수-홀수\"를 사용하세요. \"구멍 닫기\"를 사용하여 모델의 모든 구멍을 닫습니다." @@ -18137,9 +18675,6 @@ msgstr "너무 넓은 선 너비 " msgid " not in range " msgstr " 범위를 벗어남 " -msgid "Export 3MF" -msgstr "3MF 내보내기" - msgid "This exports the project as a 3MF file." msgstr "프로젝트를 3MF로 내보내기." @@ -18155,9 +18690,6 @@ msgstr "슬라이싱 데이터 로드" msgid "Load cached slicing data from directory." msgstr "디렉토리에 캐시된 슬라이싱 데이터 로드" -msgid "Export STL" -msgstr "STL 내보내기" - msgid "Export the objects as single STL." msgstr "객체를 단일 STL로 내보냅니다." @@ -18209,6 +18741,14 @@ msgstr "확인 안 함" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Gcode 경로 충돌 검사와 같은 유효성 검사를 실행하지 마십시오." +# AI Translated +msgid "Strict mode" +msgstr "엄격 모드" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "서포트가 꺼져 있는데 서포트가 필요한 모델처럼, 평소에는 로그에만 남는 치명적이지 않은 경고가 슬라이싱 중에 발생하면 0이 아닌 코드로 종료합니다. 미묘하게 잘못된 슬라이싱 결과를 절대 내보내면 안 되는 CI나 스크립트 파이프라인에서 사용하세요. 그러한 경고는 Linux에서만 기록되는 result.json의 `warnings` 배열에도 고정된 분류와 함께 나열됩니다. 서포트 검사를 건너뛰는 --no-check와 함께 사용할 수 없습니다." + msgid "Normative check" msgstr "표준 검사" @@ -18221,11 +18761,28 @@ msgstr "모델 정보 출력" msgid "This outputs the model’s information." msgstr "모델 정보를 출력합니다." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "메시 검사 (JSON을 stdout으로)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "불러온 각 객체의 JSON 요약을 stdout으로 출력한 뒤 종료합니다: 경계 상자와 올려놓을 수 있는 볼록 껍질 면, 그리고 각 면의 법선, 면적, 중심이 포함됩니다. --ground-* 옵션이 선택하는 대상이 바로 이 면들입니다. --info의 기계 판독용 대안입니다." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "페인팅 검사 (JSON을 stdout으로)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "불러온 모델에 이미 저장된 모든 페인팅 레이어(서포트, 재봉선, MMU 색상, 퍼지 스킨)에 대해 상태별 면 개수, 표면적, 메시 기준 경계 상자를 구조화된 JSON으로 출력한 뒤 종료합니다. GUI에서 페인팅 도구를 여는 작업의 기계 판독용 대안입니다." + msgid "Export Settings" msgstr "설정 내보내기" -msgid "This exports settings to a file." -msgstr "설정을 파일로 내보내기." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "설정을 파일로 내보냅니다. -를 사용하면 stdout으로 출력합니다." msgid "Send progress to pipe" msgstr "진행 상황을 파이프로 보내기" @@ -18281,6 +18838,30 @@ msgstr "Y를 중심으로 회전" msgid "Rotation angle around the Y axis in degrees." msgstr "Y축을 중심으로 한 회전 각도입니다." +# AI Translated +msgid "Ground largest face" +msgstr "가장 큰 면으로 안착" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "각 객체를 볼록 껍질의 가장 큰 면으로 눕히고 베드로 떨어뜨립니다. 크기가 같은 면이 여럿이면 이미 아래를 향한 면이 유지됩니다. 올려놓을 만큼 큰 면이 없는 객체는 그대로 둡니다. 변환은 명령줄 순서대로 실행되므로 이 옵션보다 앞에 지정한 회전은 유지됩니다. --orient 1은 모든 변환 뒤에 실행되어 방향을 대체합니다." + +# AI Translated +msgid "Ground face by normal" +msgstr "법선 기준 면으로 안착" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "각 객체를 바깥쪽 법선이 방향 NX,NY,NZ에 가장 가까운 볼록 껍질 면으로 눕히고 베드로 떨어뜨립니다. 방향은 객체 좌표계 기준이며, 이 좌표계는 이 옵션보다 앞에 지정한 회전을 포함하고, 입력 파일이 객체를 회전시키지 않는 한 플레이트 축과 일치합니다. 예를 들어 1,0,0은 객체를 +X 쪽으로 세웁니다. --orient 1은 모든 변환 뒤에 실행되어 방향을 대체합니다." + +# AI Translated +msgid "Ground face at point" +msgstr "지정 지점의 면으로 안착" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "각 객체를 점 X,Y,Z를 포함하는 볼록 껍질 면으로 눕히고 베드로 떨어뜨립니다. 점은 객체 좌표계 기준이며, 이 좌표계는 이 옵션보다 앞에 지정한 회전을 포함합니다. --inspect-mesh는 이 좌표계로 면 중심을 알려줍니다. 그러한 면이 없는 객체는 그대로 두며, 어떤 객체에도 해당 면이 없으면 실행이 실패합니다. --orient 1은 모든 변환 뒤에 실행되어 방향을 대체합니다." + msgid "Scale the model by a float factor." msgstr "부동 소수점 계수로 모델 크기 조정" @@ -18593,14 +19174,37 @@ msgstr "사용된 필라멘트" msgid "Total length of filament used in the print." msgstr "출력에 사용된 필라멘트의 총 길이입니다." -# AI Translated -msgid "Print time (seconds)" -msgstr "출력 시간(초)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "초 단위의 총 예상 출력 시간입니다. 후처리 중에 실제 값으로 대체됩니다." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "필라멘트 길이(미터)" @@ -18833,9 +19437,6 @@ msgstr "파일에 잘못된 꼭지점 인덱스가 포함되어 있습니다." msgid "This OBJ file couldn't be read because it's empty." msgstr "이 OBJ 파일은 비어 있어서 읽을 수 없습니다." -msgid "Max Volumetric Speed Calibration" -msgstr "최대 압출 속도 교정" - msgid "Manage Result" msgstr "결과 관리" @@ -19718,10 +20319,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "참고: 값이 크면 레이어 밀림이 발생할 수 있습니다 (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "압출량 비율 교정" - # AI Translated msgid "Calibration Test Type" msgstr "교정 테스트 유형" @@ -20515,6 +21112,9 @@ msgstr "유효한 세션이 감지되지 않았습니다. 3DPrinterOS에 로그 msgid "Success!" msgstr "성공!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "정말 로그아웃하시겠습니까?" @@ -21536,6 +22136,18 @@ msgstr "이 작업은 취소할 수 없습니다. 계속하시겠습니까?" msgid "Skipping objects." msgstr "물체 건너뛰기" +# AI Translated +msgid "Material Ratio" +msgstr "재료 비율" + +# AI Translated +msgid "Model Height" +msgstr "모델 높이" + +# AI Translated +msgid "Ratio" +msgstr "비율" + msgid "Select Filament" msgstr "필라멘트 선택" @@ -21572,14 +22184,6 @@ msgstr "클라우드 기능, 프린터 검색, 원격 출력에는 Bambu 네트 msgid "Error: %s" msgstr "오류: %s" -# AI Translated -msgid "Show details" -msgstr "세부 정보 표시" - -# AI Translated -msgid "Hide details" -msgstr "세부 정보 숨기기" - # AI Translated msgid "Version to install:" msgstr "설치할 버전:" @@ -21837,12 +22441,14 @@ msgid "Drying-Dehumidifying" msgstr "건조-제습" # AI Translated -msgid " maximum drying temperature is " -msgstr " 최대 건조 온도는 " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s의 최대 건조 온도는 %d°C입니다." # AI Translated -msgid " minimum drying temperature is " -msgstr " 최소 건조 온도는 " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s의 최소 건조 온도는 %d°C입니다." # AI Translated msgid "This filament may not be completely dried." @@ -21987,6 +22593,2496 @@ msgstr "필라멘트가 현재 기기 설정과 호환되지 않을 수 있습 msgid "The filament model is unknown. A random filament preset will be used." msgstr "미지의 필라멘트 모델. 무작위 필라멘트 사전 설정이 사용됩니다." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "끝" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "아래" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "←" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "→" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "↑" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "↓" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "STL/STEP/3MF/OBJ/AMF 파일에서 형상 데이터 가져오기" + +msgid "Select all objects" +msgstr "모든 객체 선택" + +msgid "Paste from clipboard" +msgstr "클립보드에서 붙여넣기" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "객체/부품의 출력 가능 여부 전환" + +msgid "Move selection 10mm in negative X direction" +msgstr "선택 항목을 -X 방향으로 10mm 이동" + +msgid "Move selection 10mm in positive X direction" +msgstr "선택 항목을 +X 방향으로 10mm 이동" + +msgid "Move selection 10mm in positive Y direction" +msgstr "선택 항목을 +Y 방향으로 10mm 이동" + +msgid "Move selection 10mm in negative Y direction" +msgstr "선택 항목을 -Y 방향으로 10mm 이동" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "변형도구 이동" + +msgid "Gizmo rotate" +msgstr "변형도구 회전" + +msgid "Gizmo scale" +msgstr "변형도구 배율" + +msgid "Gizmo place face on bed" +msgstr "변형도구 바닥면 선택" + +msgid "Gizmo cut" +msgstr "변형도구 잘라내기" + +msgid "Gizmo mesh boolean" +msgstr "변형도구 합집합/차집합/교집합" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "변형도구 재봉선 칠하기" + +# AI Translated +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "변형도구 FDM 퍼지 스킨 칠하기" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "변형도구 - 텍스트 엠보싱/인그레이빙" + +msgid "Gizmo measure" +msgstr "변형도구 측정" + +msgid "Gizmo assemble" +msgstr "변형도구 병합" + +msgid "Gizmo brim ears" +msgstr "변형도구 브림 귀" + +msgid "Vertical slider - Move active thumb Up" +msgstr "수직 슬라이더 - 활성 레이어 위로 이동" + +msgid "Vertical slider - Move active thumb Down" +msgstr "수직 슬라이더 - 활성 레이어 아래로 이동" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "수평 슬라이더 - 활성 라인 왼쪽으로 이동" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "수평 슬라이더 - 활성 라인 오른쪽으로 이동" + +msgid "Horizontal slider - Move to start position" +msgstr "수평 슬라이더 - 시작 위치로 이동" + +msgid "Horizontal slider - Move to last position" +msgstr "수평 슬라이더 - 마지막 위치로 이동" + +msgid "Camera view - Default" +msgstr "카메라 시점 - 기본" + +msgid "Camera view - Top" +msgstr "카메라 시점 - 위" + +msgid "Camera view - Bottom" +msgstr "카메라 시점 - 아래" + +msgid "Camera view - Front" +msgstr "카메라 시점 - 앞" + +msgid "Camera view - Behind" +msgstr "카메라 시점 - 뒤" + +msgid "Camera Angle - Left side" +msgstr "카메라 각도 - 좌측" + +msgid "Camera Angle - Right side" +msgstr "카메라 각도 - 우측" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "확대" + +msgid "Zoom out" +msgstr "축소" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "3D 연결 장치 설정 표시/숨기기 대화상자" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Gcode 창 켜기/끄기" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "수직 슬라이더의 한 레이어 모드 켜기/끄기" + +msgid "Switch between Prepare/Preview" +msgstr "준비 하기/미리 보기 전환" + +msgid "Collapse/Expand the sidebar" +msgstr "사이드바 접기/펼치기" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "키보드 단축키 목록 보기" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22289,6 +25385,159 @@ msgstr "" "뒤틀림 방지\n" "ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "탭" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "현재 뷰포트의 FPS를 오른쪽 위 모서리에 표시합니다." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF 게시 위키" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF 게시 비디오 가이드" + +#~ msgid "Toolbar" +#~ msgstr "도구 모음" + +#~ msgid "Switch table page" +#~ msgstr "테이블 페이지 전환" + +#~ msgid "Global shortcuts" +#~ msgstr "전역 단축키" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "마우스 가운데 버튼" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "선택한 객체 또는 모든 객체의 방향을 자동으로 조정합니다. 선택한 객체가 있는 경우 선택한 객체만 조정되고, 그렇지 않은 경우 프로젝트의 모든 객체가 조정됩니다." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "현재 플레이트에 있는 모든 객체의 방향을 자동으로 지정합니다." + +#~ msgid "Any arrow" +#~ msgstr "모든 화살표" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "변형도구 서포트 칠하기" + +#~ msgid "Plater" +#~ msgstr "출력판" + +#~ msgid "Gizmo" +#~ msgstr "변형도구" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "객체, 부품, 수정자 삭제" + +#~ msgid "Objects List" +#~ msgstr "객체 목록" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "출력 파일의 가장 앞부분, 다른 모든 내용보다 먼저 기록되는 G-code입니다. 프린터 펌웨어가 파일의 첫 줄에서 읽는 메타데이터(예: 예상 출력 시간, 필라멘트 사용량)를 추가하는 데 유용합니다. {print_time_sec}, {used_filament_length}와 같은 자리 표시자를 지원합니다." + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "출력 시간(초)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "작업 스피드 다이얼 열기" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "왼쪽: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "오른쪽: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "최대 온도는 다음 값을 초과할 수 없습니다 " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "최소 온도는 다음 값보다 낮아서는 안 됩니다 " + +#~ msgid "up to" +#~ msgstr "까지" + +#~ msgid "above" +#~ msgstr "위에" + +#~ msgid "from" +#~ msgstr "부터" + +#~ msgid "Configuration package: " +#~ msgstr "구성 패키지: " + +#~ msgid " updated to " +#~ msgstr " 로 업데이트되었습니다 " + +#~ msgid "Grouping error: " +#~ msgstr "그룹화 오류입니다:" + +#~ msgid " can not be placed in the " +#~ msgstr " 에 배치할 수 없습니다" + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " 최대 건조 온도는 " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " 최소 건조 온도는 " + +# AI Translated +#~ msgid "needs" +#~ msgstr "필요" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "활성화되지 않음" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "재료 미게시" + +#~ msgid "Select the language" +#~ msgstr "언어 선택" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "플러그인 선택" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "중심 기반 패턴(동심원, 아르키메데스 현, 팔각별 나선)을 사용할 때 상단 표면을 채우는 방향입니다.\n" +#~ "바깥쪽은 표면 중앙에서 시작하므로 남는 재료가 가장 눈에 덜 띄는 가장자리로 밀려납니다. 안쪽은 가장자리에서 시작하여 중앙의 좁은 곡선에서 끝납니다.\n" +#~ "기본값은 최단 경로 순서를 사용하며 어느 방향으로든 진행될 수 있습니다." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "중심 기반 패턴(동심원, 아르키메데스 현, 팔각별 나선)을 사용할 때 하단 표면을 채우는 방향입니다.\n" +#~ "안쪽은 각 표면을 더 넓은 바깥쪽 곡선에서 시작하므로, 중앙의 좁은 곡선이 잘 붙지 않는 빌드 플레이트에서 초기 레이어 접착력이 향상됩니다. 바깥쪽은 중앙에서 시작하여 남는 재료를 가장자리로 밀어냅니다.\n" +#~ "기본값은 최단 경로 순서를 사용하며 어느 방향으로든 진행될 수 있습니다." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "활성화되면 툴 체인지 없이 레이어에 프라임 타워가 출력되지 않습니다. 툴 체인지가 있는 레이어에서는 압출기가 아래쪽으로 이동하여 프라임 타워를 출력합니다. 출력물과의 충돌이 없는지 확인하는 것은 사용자의 책임입니다." + +#~ msgid "This exports settings to a file." +#~ msgstr "설정을 파일로 내보내기." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "네이티브 Wayland 실시간 보기에는 GStreamer GTK 비디오 싱크가 필요합니다. GStreamer용 gtksink 플러그인을 설치한 후 OrcaSlicer를 다시 시작하십시오." @@ -22344,9 +25593,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "단일 레이어 내의 출력 순서" -#~ msgid "Bottom" -#~ msgstr "아래" - #~ msgid "Front" #~ msgstr "앞" @@ -22365,9 +25611,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "화살표 오른쪽으로" -#~ msgid "End" -#~ msgstr "끝" - #~ msgid "Hotend" #~ msgstr "핫엔드" diff --git a/localization/i18n/list.txt b/localization/i18n/list.txt index 5174679abf..ef049fa48e 100644 --- a/localization/i18n/list.txt +++ b/localization/i18n/list.txt @@ -125,6 +125,7 @@ src/slic3r/GUI/ThermalPreconditioningDialog.hpp src/slic3r/GUI/Jobs/SLAImportJob.cpp src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp src/slic3r/GUI/AboutDialog.cpp +src/slic3r/GUI/ActionRegistry.cpp src/slic3r/GUI/AMSMaterialsSetting.cpp src/slic3r/GUI/ExtrusionCalibration.cpp src/slic3r/GUI/AmsMappingPopup.cpp @@ -136,6 +137,7 @@ src/slic3r/GUI/BackgroundSlicingProcess.cpp src/slic3r/GUI/BedShapeDialog.cpp src/slic3r/GUI/BedShapeDialog.hpp src/slic3r/GUI/ConfigManipulation.cpp +src/slic3r/GUI/ConfigValueFormatter.cpp src/slic3r/GUI/DeviceManager.cpp src/slic3r/GUI/DeviceErrorDialog.cpp src/slic3r/GUI/ExtraRenderers.cpp @@ -158,6 +160,7 @@ src/slic3r/GUI/SelectMachinePop.cpp src/slic3r/GUI/StatusPanel.cpp src/slic3r/GUI/Monitor.cpp src/slic3r/GUI/MsgDialog.cpp +src/slic3r/GUI/NativeCommands.cpp src/slic3r/GUI/NotificationManager.hpp src/slic3r/GUI/NotificationManager.cpp src/slic3r/GUI/ObjectDataViewModel.cpp @@ -175,8 +178,11 @@ src/slic3r/GUI/ProgressStatusBar.cpp src/slic3r/GUI/PlateSettingsDialog.cpp src/slic3r/GUI/PrivacyUpdateDialog.cpp src/slic3r/GUI/PublishDialog.cpp +src/slic3r/GUI/PublishSettingsDialog.cpp src/slic3r/GUI/SavePresetDialog.cpp src/slic3r/GUI/Search.cpp +src/slic3r/GUI/SettingsIndex.cpp +src/slic3r/GUI/SpeedDialDialog.cpp src/slic3r/GUI/Selection.cpp src/slic3r/GUI/SelectMachine.cpp src/slic3r/GUI/PrePrintChecker.cpp @@ -244,6 +250,7 @@ src/slic3r/GUI/TroubleshootDialog.cpp src/slic3r/Utils/3DPrinterOS.cpp src/slic3r/Utils/AstroBox.cpp src/slic3r/Utils/Duet.cpp +src/slic3r/Utils/UltiMaker.cpp src/slic3r/Utils/FlashAir.cpp src/slic3r/Utils/MKS.cpp src/slic3r/Utils/Moonraker.cpp @@ -289,3 +296,9 @@ src/slic3r/GUI/PrinterWebViewHandler.cpp src/slic3r/GUI/AMSDryControl.cpp src/slic3r/GUI/AMSDryControl.hpp src/libslic3r/PresetBundle.cpp +src/slic3r/GUI/CAD/DesignPanel.cpp +src/slic3r/GUI/CAD/SketchInlineEditor.cpp +src/slic3r/GUI/Gizmos/GLGizmoPrimitive.cpp +src/slic3r/GUI/Gizmos/GLGizmoSketch.cpp +src/slic3r/GUI/KeyChord.cpp +src/slic3r/GUI/Shortcuts.cpp diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po index b3458ec0e4..1765ad1cc1 100644 --- a/localization/i18n/lt/OrcaSlicer_lt.po +++ b/localization/i18n/lt/OrcaSlicer_lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-07-02 14:13+0300\n" "Last-Translator: Gintaras Kučinskas \n" "Language-Team: \n" @@ -2449,15 +2449,6 @@ msgstr "Yra prieinamas atnaujinimas. Atidarykite profilių paketo dialogo langą msgid "%s has been removed." msgstr "%s buvo pašalintas." -msgid "Switching application language" -msgstr "Perjungiama programos kalba" - -msgid "Select the language" -msgstr "Pasirinkite kalbą" - -msgid "Language" -msgstr "Kalba" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2495,6 +2486,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nepavyko atidaryti papildinių dialogo lango (nežinoma klaida)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Papildinio terminalas" @@ -3703,11 +3707,15 @@ msgstr "Ištraukite dabartinę giją ties Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Perjunkite takelį ties Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "Maksimali temperatūra negali viršyti " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Maksimali temperatūra negali viršyti %d" -msgid "The minmum temperature should not be less than " -msgstr "Minimali temperatūra neturi būti mažesnė nei " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Minimali temperatūra neturi būti mažesnė nei %d" msgid "Type to filter..." msgstr "Įveskite tekstą filtravimui..." @@ -4151,6 +4159,21 @@ msgstr "„OrcaSlicer“ buvo sukurtas vadovaujantis ta pačia dvasia, remiantis msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Šiandien „OrcaSlicer“ yra plačiausiai naudojama ir aktyviausiai tobulinama atvirojo kodo paruošimo spausdinimui (slicer) programa 3D spausdinimo bendruomenėje.. Daugelis jos naujovių buvo perimtos kitų pjaustymo programų, todėl ji tapo visos pramonės varomąja jėga." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Spausdintuvas" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS medžiagų nuostatos" @@ -4589,6 +4612,15 @@ msgstr "" "Nepavyko nukopijuoti laikinojo G-kodo į išvesties G-kodą. Gal draudžiama įrašinėti į SD kortelę?\n" "Klaidos pranešimas: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Nepavyko nukopijuoti laikinojo G kodo į išvesties G kodą.\n" +"Klaidos pranešimas: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Nepavyko nukopijuoti laikinojo G-kodo į išvesties G-kodą. Gali kilti problemų dėl tikslinio įrenginio. Bandykite eksportuoti dar kartą arba naudokite kitą įrenginį. Sugadintas išvesties G-kodas yra %1%.tmp." @@ -4893,6 +4925,9 @@ msgstr "" "Taip – pakeisti šiuos nustatymus ir automatiškai įjungti spiralinį režimą\n" "Ne – nenaudoti spiralinio režimo" +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Spausdinimas" @@ -5323,14 +5358,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Reikšmė %s yra už ribų. Galimas diapazonas yra nuo %d iki %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Ar tai %s%% ar %s %s?\n" -"TAIP %s%%, \n" -"NE %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Ar tai %s%% ar %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5352,29 +5384,22 @@ msgstr "Neteisingas šablonas. Naudokite N, N#K arba kableliais atskirtą sąra msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Netinkamas formatas. Tinkamas vektorinis formatas: \"%1%\"" -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "Sisteminiai agentai" -# AI Translated -msgid "No plugin selected" -msgstr "Nepasirinktas joks papildinys" - # AI Translated msgid "Add plugin" msgstr "Pridėti papildinį" -# AI Translated -msgid "Select plugin" -msgstr "Pasirinkti papildinį" - # AI Translated msgid "Remove plugin" msgstr "Pašalinti papildinį" +# AI Translated +msgid "No plugin selected" +msgstr "Nepasirinktas joks papildinys" + # AI Translated msgid "Configure" msgstr "Konfigūruoti" @@ -5630,14 +5655,20 @@ msgstr "Nustatyti į optimalų" msgid "Regroup filament" msgstr "Pergrupuoti gijas" -msgid "up to" -msgstr "iki" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "iki %1% mm" -msgid "above" -msgstr "virš" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "virš %1% mm" -msgid "from" -msgstr "nuo" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "nuo %1% iki %2% mm" msgid "Usage" msgstr "Naudojimas" @@ -5697,9 +5728,6 @@ msgctxt "Noun" msgid "Print" msgstr "Spausdinti" -msgid "Printer" -msgstr "Spausdintuvas" - msgid "Time Estimation" msgstr "Laiko įvertis (skaičiavimas)" @@ -5883,12 +5911,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Dešinė" -msgid "Add" -msgstr "Įtraukti" - msgid "Add plate" msgstr "Įtraukti plokštę" +msgid "Split to objects" +msgstr "Padalinti į objektus" + +msgid "Add" +msgstr "Įtraukti" + msgid "Auto orient all/selected objects" msgstr "Automatiškai orientuoti visus / pasirinktus objektus" @@ -5901,9 +5932,6 @@ msgstr "Išdėstyti visus objektus" msgid "Arrange objects on selected plates" msgstr "Išdėstyti objektus pasirinktose plokštėse" -msgid "Split to objects" -msgstr "Padalinti į objektus" - msgid "Assembly View" msgstr "Surinkimo vaizdas" @@ -5958,6 +5986,9 @@ msgstr "Kontūras" msgid "Wireframe" msgstr "Rodyti karkasinį vaizdą" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Realistiškas vaizdas" @@ -6166,6 +6197,9 @@ msgstr "Programa uždaroma, nors kai kurie profiliai yra pakeisti." msgid "Logging" msgstr "Registravimas" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Paruošimas" @@ -6312,6 +6346,14 @@ msgstr "Įrašyti projektą kaip" msgid "Save current project as" msgstr "Įrašyti dabartinį projektą kaip" +# AI Translated +msgid "Publish 3MF" +msgstr "Talpinti 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Eksportuoti 3MF failą su įterptais pasirinktais parametrais" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importuoti 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6494,6 +6536,9 @@ msgstr "Redaguoti" msgid "View" msgstr "Vaizdas" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Profilių rinkinys" @@ -7422,6 +7467,233 @@ msgstr "Daugiau nerodyti šio dialogo lango" msgid "Please refer to Wiki before use->" msgstr "Prieš naudodami peržiūrėkite „Wiki“ ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Eksportuoti STL" + +msgid "Export 3MF" +msgstr "Eksportuoti 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Didžiausio tūrinio greičio kalibravimas" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Srauto santykio kalibravimas" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Ištrinti visus objektus" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Skaidyti į objektus" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D pelė atjungta." @@ -7585,6 +7857,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Apatinis" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Šis parametras nenurodo papildinio gebos tipo." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Šis parametras nurodo neatpažintą papildinio gebos tipą: " + # AI Translated msgid "Plugin Selection" msgstr "Papildinio pasirinkimas" @@ -8076,9 +8356,6 @@ msgstr "Išskleisti šoninę juostą" msgid "Collapse sidebar" msgstr "Sutraukti šoninę juostą" -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Įkeliamas failas: %s" @@ -8153,6 +8430,14 @@ msgstr "Patvirtinkite, kad šiuose profiliuose esantis G-kodas yra saugus, kad i msgid "Customized Preset" msgstr "Pritaikytas profilis" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Kai kurių patalpintų parametrų pritaikyti nepavyko:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Kai kurie gijų lizdai buvo pakeisti:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Komponentų pavadinimai STEP faile nėra UTF-8 formato!" @@ -8272,10 +8557,6 @@ msgstr "" msgid "Delete Object" msgstr "Ištrinti objektą" -# AI Translated -msgid "Delete All Objects" -msgstr "Ištrinti visus objektus" - # AI Translated msgid "Reset Project" msgstr "Atkurti projektą" @@ -8283,10 +8564,6 @@ msgstr "Atkurti projektą" msgid "The selected object couldn't be split." msgstr "Pasirinkto objekto negalima suskaidyti." -# AI Translated -msgid "Split to Objects" -msgstr "Skaidyti į objektus" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Išjungti automatinį nuleidimą, kad būtų išsaugota Z pozicija?\n" @@ -8564,6 +8841,21 @@ msgstr "Išsaugoti susluoksniuotą failą kaip:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Failas %s išsiųstas į spausdintuvo laikmeną ir gali būti peržiūrimas spausdintuve." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Talpinti 3MF failą kaip:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Nepavyko eksportuoti patalpinto 3MF failo.\n" +"Patikrinkite, ar aplankas pasiekiamas internete ir ar failo neturi atvėrusios kitos programos." + +msgid "Publish" +msgstr "Talpinti" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Purkštuko tipas nenustatytas. Nustatykite purkštuką ir bandykite dar kartą." @@ -8774,9 +9066,6 @@ msgstr "Ar norite tęsti?" msgid "Language selection" msgstr "Kalbos pasirinkimas" -msgid "Switching application language while some presets are modified." -msgstr "Keičiama programos kalba, kai yra pakeistų profilių." - msgid "Asia-Pacific" msgstr "Azija-Ramusis vandenynas" @@ -8881,6 +9170,9 @@ msgstr "Dabartinės versijos kelias: " msgid "General" msgstr "Bendras" +msgid "Language" +msgstr "Kalba" + msgid "Metric" msgstr "Metrinė" @@ -9077,6 +9369,33 @@ msgstr "Kelių įrenginių valdymas" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Kai įjungta ši funkcija, jūs galite siųsti užduotį keliems įrenginiams vienu metu, taip apt kontroliuoti keletą įrenginių." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Iššokantis langas gijų grupavimo režimui pasirinkti" @@ -9158,6 +9477,12 @@ msgstr "Apversti pelės didinimą" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Jei įjungta, apverčia didinimo ar mažinimo kryptį pelės ratuku." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Slinkimas" @@ -9179,6 +9504,15 @@ msgstr "Vilkti dešiniuoju pelės mygtuku" msgid "Set the action that dragging the right mouse button should perform." msgstr "Nustatykite veiksmą, kuris turi būti atliktas, velkant dešinįjį pelės mygtuką." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Išvalyti mano pasirinkimą..." @@ -9287,11 +9621,39 @@ msgid "" "Set to 0 for unlimited frame rate." msgstr "Riboja vaizdo srities kadrų dažnį, kad sumažintų vaizdo plokštės (GPU) apkrovą ir energijos sąnaudas. Įveskite 0, jei kadrų dažnis neribojamas." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Rodyti KPS (FPS) indikatorių" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Viršutiniame dešiniajame kampe rodo esamą vaizdo srities kadrų dažnį." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9309,9 +9671,6 @@ msgstr "Slenkant sluoksnių slankiklį pjaustytoje peržiūroje, atvaizduoti že msgid "Dimmed layer brightness" msgstr "Pritemdytų sluoksnių ryškumas" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9693,9 +10052,6 @@ msgstr "Pereiti į modelio talpinimo interneto puslapį" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Pastaba: paruošimas gali užtrukti kelias minutes. Būkite kantrūs." -msgid "Publish" -msgstr "Talpinti" - msgid "Publish was canceled" msgstr "Publikavimas buvo atšauktas" @@ -9711,6 +10067,76 @@ msgstr "Įkeliami duomenys" msgid "Jump to webpage" msgstr "Pereiti į interneto puslapį" +# AI Translated +msgid "Material" +msgstr "Medžiaga" + +# AI Translated +msgid "Mixed filament" +msgstr "Mišri gija" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Kai kurios mišrios gijos priklauso nuo gijų, kurios nebus patalpintos:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Gija %d (mišri)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% reikalauja %2%, kuri nėra įjungta." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% reikalauja %2%, kurios medžiaga nebus paskelbta." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Norėdami patalpinti mišrią giją, įjunkite kiekvieną jos naudojamą giją ir pasirinkite Pilną talpinimą arba įvykdykite jos Tipo reikalavimą." + +# AI Translated +msgid "Publish anyway" +msgstr "Vis tiek talpinti" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Talpinti 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Pasirinkite, kuriuos parametrus talpinti 3MF faile" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Mišri gija - talpinama kaip visuma, kai viršuje pasirinkta \"Įjungti\"" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Talpinti šią mišrią giją ir įjungti + pilnai patalpinti jos sudedamąsias gijas" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Talpinti šį gijos lizdą 3MF faile" + +# AI Translated +msgid "Full Publish" +msgstr "Pilnas talpinimas" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Įterpti visą šio lizdo giją į 3MF failą" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtruoti nepasirinktus" + #, c-format, boost-format msgid "Save %s as" msgstr "Išsaugoti %s kaip" @@ -9728,6 +10154,10 @@ msgstr "Nukopijuoja į šį profilį visas iš pirminio profilio paveldėtas rei msgid "Detach from parent" msgstr "Atskirti nuo tėvinio profilio" +# AI Translated +msgid "Save without parent" +msgstr "Išsaugoti be tėvinio profilio" + # AI Translated msgid "Unique preset" msgstr "Savarankiškas profilis" @@ -9787,6 +10217,133 @@ msgstr "Profilio „%1%“ atveju, pridėti „%2%“ kaip naują profilį" msgid "Simply switch to \"%1%\"" msgstr "Paprasčiausiai persijunkite į \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Kita" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Rodyti išsamiau" + +# AI Translated +msgid "Hide details" +msgstr "Slėpti išsamią informaciją" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Užduotis atšaukta" @@ -10430,9 +10987,17 @@ msgstr "Norint aptikti gumbų susidarymą, reikalingas valymo bokštas. Be valym msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Įjungus ir tikslų Z aukštį, ir valymo bokštą, gali kilti sluoksniavimo klaidų. Ar vis tiek norite įjungti tikslų Z aukštį?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Sklandžiam pakadriniam filmavimui (timelapse) reikia valymo bokšto kiekviename sluoksnyje, o tai nesuderinama su parinktimi \"Nėra retų sluoksnių\". Parinktis \"Nėra retų sluoksnių\" buvo išjungta." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Norint sklandžiai įrašyti laiko tarpų (timelapse) vaizdo įrašą, reikalingas valymo bokštas. Be valymo bokšto modelyje gali atsirasti defektų. Ar norite įjungti valymo bokštą?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "Parinktis \"Nėra retų sluoksnių\" nesuderinama su sklandžiu pakadriniu filmavimu (timelapse), kuriam reikia valymo bokšto kiekviename sluoksnyje. Pakadrinis filmavimas perjungtas į tradicinį režimą." + msgid "Still print by object?" msgstr "Vis dar spausdinti pagal objektą?" @@ -10805,9 +11370,6 @@ msgstr "Suderinami apdorojimo profiliai" msgid "Printable space" msgstr "Erdvė spausdinimui" -msgid "Printer Agent" -msgstr "Spausdintuvo agentas" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Pasirinkite tinklo agento modulį ryšiui su spausdintuvu palaikyti. Prieinami agentai užregistruojami paleidimo metu." @@ -11210,12 +11772,6 @@ msgstr "Ekstruderių skaičius" msgid "Capabilities" msgstr "Galimybės" -msgid "Left: " -msgstr "Kairė:" - -msgid "Right: " -msgstr "Dešinė:" - msgid "Show all presets (including incompatible)" msgstr "Rodyti visus profilius (įskaitant nesuderinamus)" @@ -11600,56 +12156,39 @@ msgstr "Konfigūracijos paketas buvo pakeistas ankstesniame konfigūravimo vadov msgid "Configuration package changed" msgstr "Pakeistas konfigūracijos paketas" -msgid "Toolbar" -msgstr "Įrankių juosta" - -msgid "Objects list" -msgstr "Objektų sąrašas" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importuoti geometrijos duomenis iš STL/STEP/3MF/OBJ/AMF failų" - -msgid "Paste from clipboard" -msgstr "Įklijuoti iš mainų srities" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Rodyti/slėpti 3DConnexion įrenginių nustatymų dialogo langą" - -msgid "Switch table page" -msgstr "Perjungti lentelės puslapį" - -msgid "Show keyboard shortcuts list" -msgstr "Rodyti sparčiųjų klavišų sąrašą" - -msgid "Global shortcuts" -msgstr "Bendrieji spartieji klavišai" - msgid "Pan View" msgstr "Vaizdo stūmimas (panoraminis vaizdas)" msgid "Rotate View" msgstr "Vaizdo pasukimas" -msgid "Middle mouse button" -msgstr "Vidurinis pelės mygtukas" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Vaizdo mastelio keitimas (zoom)" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Automatiškai orientuoja pasirinktus objektus arba visus objektus. Jei yra pasirinkti objektai, orientuoja tik pasirinktus. Kitais atvejais orientuoja visus esamo projekto objektus." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Automatiškai orientuoja visus objektus aktyvioje plokštėje." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Sutraukti / išskleisti šoninę juostą" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Bet kuri rodyklė" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Judėjimas kameros erdvėje" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Pasirinkti dalį" @@ -11660,135 +12199,29 @@ msgstr "Pasirinkite kelis objektus" msgid "Select objects by rectangle" msgstr "Pasirinkti objektus stačiakampio rėmeliu" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Rodyklė aukštyn" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Perkelti pasirinkimą 10 mm teigiama Y kryptimi" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Rodyklė žemyn" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Perkelti pasirinkimą 10 mm neigiama Y kryptimi" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Rodyklė kairėn" - -msgid "Move selection 10mm in negative X direction" -msgstr "Perkelti pasirinkimą 10 mm neigiama X kryptimi" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Rodyklė dešinėn" - -msgid "Move selection 10mm in positive X direction" -msgstr "Perkelti pasirinkimą 10 mm teigiama X kryptimi" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Klaviatūra 1-9: nustatyti objekto/dalies giją" msgid "Movement step set to 1mm" msgstr "Judėjimo žingsnis nustatytas į 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Klaviatūra 1-9: nustatyti objekto/dalies giją" +msgid "Movement in camera space" +msgstr "Judėjimas kameros erdvėje" -msgid "Camera view - Default" -msgstr "Kameros vaizdas - Numatytasis" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kameros vaizdas - Viršus" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kameros vaizdas - Apačia" +msgid "Zoom View" +msgstr "Vaizdo mastelio keitimas (zoom)" -msgid "Camera view - Front" -msgstr "Kameros vaizdas - Priekis" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kameros vaizdas – iš galo" - -msgid "Camera Angle - Left side" -msgstr "Kameros kampas – iš kairės" - -msgid "Camera Angle - Right side" -msgstr "Kameros kampas – iš dešinės" - -msgid "Select all objects" -msgstr "Pasirinkti visus objektus" - -msgid "Gizmo move" -msgstr "Perkėlimo manipuliatorius" - -msgid "Gizmo rotate" -msgstr "Pasukimo manipuliatorius" - -msgid "Gizmo scale" -msgstr "Mastelio keitimo manipuliatorius" - -msgid "Gizmo place face on bed" -msgstr "Paviršiaus dėjimo ant pagrindo manipuliatorius" - -msgid "Gizmo cut" -msgstr "Pjovimo manipuliatorius" - -msgid "Gizmo mesh boolean" -msgstr "Loginių tinklelio veiksmų (Boolean) manipuliatorius" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "FDM užtepamo grublėto paviršiaus (fuzzy skin) manipuliatorius" - -msgid "Gizmo SLA support points" -msgstr "SLA atramų taškų manipuliatorius" - -msgid "Gizmo FDM paint-on seam" -msgstr "FDM užtepamos siūlės (seam) manipuliatorius" - -msgid "Gizmo text emboss/engrave" -msgstr "Teksto iškėlimo ir įspaudimo (emboss/engrave) manipuliatorius" - -msgid "Gizmo measure" -msgstr "Matavimo manipuliatorius" - -msgid "Gizmo assemble" -msgstr "Surinkimo manipuliatorius" - -msgid "Gizmo brim ears" -msgstr "Krašto „auselių“ (brim ears) manipuliatorius" - -msgid "Zoom in" -msgstr "Padidinti" - -msgid "Zoom out" -msgstr "Nutolinti" - -msgid "Toggle printable for object/part" -msgstr "Perjungti objekto / dalies spausdinimą" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Perjungimas tarp Paruošti / Peržiūrėti" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Tarpas" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Atidaryti veiksmų greitosios prieigos meniu" - -msgid "Plater" -msgstr "Plokštė" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Perkėlimas: paspauskite, kad pritrauktumėte kas 1 mm" @@ -11799,14 +12232,19 @@ msgstr "Atramų ir spalvų užtepimas: keisti teptuko spindulį" msgid "Support/Color Painting: adjust section position" msgstr "Atramų ir spalvų užtepimas: keisti pjūvio padėtį" -msgid "Gizmo" -msgstr "Manipuliatorius" +msgid "Objects list" +msgstr "Objektų sąrašas" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Nustatykite ekstruderio numerį objektams ir dalims" -msgid "Delete objects, parts, modifiers" -msgstr "Ištrinti objektus, dalis, modifikatorius" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Tarpas" msgid "Select the object/part and press space to change the name" msgstr "Pasirinkite objektą ir (arba) dalį ir paspauskite tarpo klavišą, kad pakeistumėte pavadinimą" @@ -11817,45 +12255,48 @@ msgstr "Pelės paspaudimas" msgid "Select the object/part and mouse click to change the name" msgstr "Pasirinkite objektą/dalį ir spustelėkite pele, kad pakeistumėte pavadinimą" -msgid "Objects List" -msgstr "Objektų sąrašas" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Vertikalus slankiklis – kelti aktyvų žymeklį aukštyn" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Vertikalus slankiklis – nuleisti aktyvų žymeklį žemyn" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Horizontalus slankiklis – stumti aktyvų žymeklį kairėn" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Horizontalus slankiklis – stumti aktyvų žymeklį dešinėn" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Vertikalaus slankiklio vieno sluoksnio režimas įjungimas / išjungimas" - -msgid "On/Off G-code window" -msgstr "G-kodo lango įjungimas / išjungimas" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Judinkite slankiklį 5 kartus greičiau" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Horizontalus slankiklis – perkelti į pradinę padėtį" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Horizontalus slankiklis – perkelti į paskutinę padėtį" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Versijos pastabos (Release notes)" @@ -12054,15 +12495,22 @@ msgstr "Taisymas atšauktas" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Failo %1% kopijavimas į %2% nepavyko: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Atsisiunčiami nauji gamintojų profiliai: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Konfigūracijos paketas: %1% atnaujintas į %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Nepavyko atsisiųsti gamintojų profilių: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Prieš atnaujinant konfigūraciją reikia patikrinti neišsaugotus pakeitimus." -msgid "Configuration package: " -msgstr "Konfigūracijos paketas: " - -msgid " updated to " -msgstr " atnaujintas į " - msgid "Open G-code file:" msgstr "Atidaryti G-kodo failą:" @@ -12122,11 +12570,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "„Input shaping“ funkcija palaikoma tik „Klipper“, „RepRapFirmware“ ir „Marlin 2“ programinėje aparatinėje įrangoje" -msgid "Grouping error: " -msgstr "Grupavimo klaida: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Grupavimo klaida: %1% negalima įdėti į kairįjį purkštuką" -msgid " can not be placed in the " -msgstr "negali būti įkeltas į " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Grupavimo klaida: %1% negalima įdėti į dešinįjį purkštuką" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12240,6 +12692,10 @@ msgstr "%1% yra per arti kitų, todėl gali įvykti susidūrimas." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% yra per aukštas, todėl įvyks susidūrimai." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Modelio ir valymo bokšto tarpusavio padėtis neatitinka funkcijos \"Nėra retų sluoksnių\" reikalavimų. Pakoreguokite jų tarpusavio padėtį, sumažinkite modelio aukštį arba išjunkite parinktį \"Nėra retų sluoksnių\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " yra per arti uždraustosios zonos, spausdinant gali įvykti susidūrimų." @@ -12585,6 +13041,9 @@ msgstr "Vietoj G-kodo naudoti 3MF" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Įjunkite, jei spausdintuvas spausdinimo užduotims priima 3MF failus. Kai įjungta, „Orca Slicer“ sugeneruotą failą siunčia kaip „.gcode.3mf“, o ne kaip paprastą „.gcode“ failą." +msgid "Printer Agent" +msgstr "Spausdintuvo agentas" + msgid "Select the network agent implementation for printer communication." msgstr "Pasirinkite tinklo agento modulį ryšiui su spausdintuvu palaikyti." @@ -13629,6 +14088,10 @@ msgstr "Sulygiuotas tiesiaeigis" msgid "Concentric" msgstr "Koncentrinis" +# AI Translated +msgid "Spiral Inset" +msgstr "Spiralinis poslinkis" + msgid "Hilbert Curve" msgstr "Hilberto kreivė" @@ -13720,13 +14183,13 @@ msgstr "Viršutinio paviršiaus užpildymo tvarka" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Kryptis, kuria užpildomi viršutiniai paviršiai naudojant į centrą orientuotą raštą (koncentrinį, Archimedo stygų, Oktogramos spiralės).\n" -"„Į išorę“ prasideda paviršiaus centre, todėl bet koks perteklinė medžiaga stumiama link krašto, kur ji mažiausiai matoma. „Į vidų“ prasideda nuo krašto ir baigiasi ankštomis kreivėmis centre.\n" -"Numatytoji tvarka naudoja trumpiausio kelio rikiavimą, kuris gali vykti bet kuria kryptimi." +"Kryptis, kuria užpildomi viršutiniai paviršiai naudojant nuo centro einantį raštą (Koncentrinis, Spiralinis poslinkis, Archimedo akordai, Oktagramos spiralė).\n" +"Į išorę pradeda nuo paviršiaus centro, todėl medžiagos perteklius stumiamas link krašto, kur jis mažiausiai matomas. Į vidų pradeda nuo krašto ir baigia ankštais posūkiais centre.\n" +"Numatytasis naudoja trumpiausio kelio eiliškumą, kuris gali eiti bet kuria kryptimi." # AI Translated msgid "Bottom surface fill order" @@ -13734,13 +14197,13 @@ msgstr "Apatinio paviršiaus užpildymo tvarka" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Kryptis, kuria užpildomi apatiniai paviršiai naudojant į centrą orientuotą raštą (koncentrinį, Archimedo stygų, Oktogramos spiralės).\n" -"„Į vidų“ pradeda kiekvieną paviršių platesnėmis išorinėmis kreivėmis, o tai pagerina pirmojo sluoksnio sukibimą ant pagrindų, kur ankštos kreivės centre gali nesilaikyti. „Į išorę“ prasideda centre, stumdama bet kokią perteklinę medžiagą link krašto.\n" -"Numatytoji tvarka naudoja trumpiausio kelio rikiavimą, kuris gali vykti bet kuria kryptimi." +"Kryptis, kuria užpildomi apatiniai paviršiai naudojant nuo centro einantį raštą (Koncentrinis, Spiralinis poslinkis, Archimedo akordai, Oktagramos spiralė).\n" +"Į vidų pradeda kiekvieną paviršių nuo platesnių išorinių posūkių, o tai pagerina pirmojo sluoksnio sukibimą su pagrindais, prie kurių ankšti posūkiai centre gali nepriliptų. Į išorę pradeda nuo centro ir stumia medžiagos perteklių link krašto.\n" +"Numatytasis naudoja trumpiausio kelio eiliškumą, kuris gali eiti bet kuria kryptimi." msgid "Internal solid infill pattern" msgstr "Vidinio tvirto užpildo raštas" @@ -13839,6 +14302,14 @@ msgstr "Prieš laikrodžio rodyklę" msgid "Clockwise" msgstr "Pagal laikrodžio rodyklę" +# AI Translated +msgid "Distance to rod" +msgstr "Atstumas iki strypo" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Horizontalus atstumas nuo purkštuko galiuko iki tolimesnio strypo krašto. Naudojamas susidūrimams išvengti spausdinant objektą po objekto." + msgid "Height to rod" msgstr "Aukštis iki ašies (strypo)" @@ -15994,6 +16465,20 @@ msgstr "Aptikti iškyšų sieneles" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Nustatykite iškyšos procentinę dalį, palyginti su linijos pločiu, ir naudokite skirtingą spausdinimo greitį. Jei iškyša 100%%, naudojamas tilto greitis." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Neatremtas sieneles spausdinti paskutines" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Sienelės kontūrai, esantys visiškai ore, spausdinami tik tada, kai juos yra kam palaikyti:\n" +"jie išspaudžiami po kitų savo salos sienelių, pradedant nuo vidinės, nepriklausomai nuo sienelių eiliškumo.\n" +"Kontūras, kurį gali įtvirtinti tik šio sluoksnio tiltai, laukia, kol tie tiltai bus atspausdinti, o kontūras, einantis šalia atremtos sienelės, išlaiko savo vietą prieš užpildą, kuriam jis reikalingas kaip įtvirtinimas." + msgid "Outer walls" msgstr "Išorinės sienelės" @@ -16427,6 +16912,39 @@ msgstr "Nuvalyti kilpas" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Siekiant sumažinti siūlės matomumą uždaroje ekstruzijos kilpoje, prieš ekstruderiui išeinant iš kilpos atliekamas nedidelis judesys į vidų." +# AI Translated +msgid "Wipe inward" +msgstr "Valymas į vidų" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Taikoma tik išorinėms sienelėms, įskaitant skylių kontūrus. Valymo metu karštą purkštuką patraukia link jau atspausdintų vidinių sienelių, kad sumažintų ką tik atspausdinto plastiko pakartotinį įkaitimą ir siūlės žymes.\n" +"\n" +"Ypač naudinga esant mažesniam nei 0,1 mm sluoksnio aukščiui, kai valymo žymės labiau matomos.\n" +"\n" +"Naudoja įprastą valymą, jei nėra jau atspausdintos gretimos vidinės sienelės (vienos sienelės sritys arba sienelių eiliškumas Išorinis / vidinis) arba jei nepavyksta rasti atremto kelio į vidų, pavyzdžiui, ankštuose kampuose ar siūlės tarpuose." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Valymo į vidų atstumas" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Atstumas, kuriuo valymo kelias pastumiamas nuo išorinio kontūro, nurodomas milimetrais arba procentais nuo faktinio išorinės sienelės išspaudimo pločio.\n" +"\n" +"Pavyzdžiui, 50% pastumia kelią per pusę išorinės sienelės pločio. Faktinį poslinkį riboja tiek tikrasis išorinės sienelės plotis, tiek laisvas tarpas iki gretimos sienelės, todėl didesnės nei 100% reikšmės ar joms lygiavertis absoliutus atstumas papildomo poveikio neturi. Nustatykite 0, kad poslinkis būtų išjungtas." + msgid "Wipe before external loop" msgstr "Valymas prieš išorinį kontūrą" @@ -16626,8 +17144,8 @@ msgstr "Įkaitinimo etapai" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Įterpkite kelias įkaitinimo komandas (pvz., M104.1). Naudinga tik „Prusa XL“. Kitiems spausdintuvams nustatykite 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-kodas, įrašomas pačiame išvesties failo viršuje, prieš bet kokį kitą turinį. Naudingas įterpti metaduomenims, kuriuos spausdintuvo aparatinė programinė įranga nuskaito iš pirmųjų failo eilučių (pvz., numatomą spausdinimo laiką, gijos sąnaudas). Palaiko kintamuosius (placeholders), tokius kaip {print_time_sec} ir {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Pradžios G-kodas" @@ -16688,8 +17206,9 @@ msgstr "Paima naują įrankį nelaukdamas, kol jis pasieks spausdinimo temperat msgid "No sparse layers (beta)" msgstr "Nėra retų sluoksnių (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Jei įjungta, valymo bokštas nebus spausdinamas tuose sluoksniuose, kur įrankis nekeičiamas. Sluoksniuose, kur įrankis keičiamas, ekstruderis nusileis žemyn atspausdinti valymo bokšto dalies. Naudotojas pats atsako už tai, kad ekstruderis nesusidurtų su spaudiniu." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Jei įjungta, valymo bokštas nebus spausdinamas sluoksniuose be įrankio keitimų. Sluoksniuose su įrankio keitimu ekstruderis nusileis žemyn, kad atspausdintų valymo bokštą, todėl bokštas atsiduria žemiau modelio ir spausdinimo galvutė turi prie jo pasiekti žemyn. Išdėstymai, kuriuose tai susidurtų su jau atspausdintu objektu, atmetami. Neveikia esant sklandžiam pakadriniam filmavimui ar purkštuko apnašų aptikimui, nes jiems reikia bokšto kiekviename sluoksnyje." msgid "Prime all printing extruders" msgstr "Paruošti (prime) visus spausdinimo ekstruderius" @@ -16715,6 +17234,34 @@ msgstr "" msgid "Cyclic" msgstr "Ciklinė" +# AI Translated +msgid "Cyclic order" +msgstr "Ciklinis eiliškumas" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Pasirinktinė gijų seka, naudojama cikliniame įrankių keitimo eiliškume, kaip kableliais atskirti gijų numeriai (pvz., \"3,2,1,4\").\n" +"Kiekvienas sluoksnis spausdina savo gijas pagal šią seką; nenurodytos gijos spausdinamos paskutinės, didėjimo tvarka.\n" +"Palikite tuščią, kad gijos būtų perrenkamos didėjimo tvarka." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Taikyti ciklinį eiliškumą pirmajam sluoksniui" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Taiko ciklinį įrankių keitimo eiliškumą ir pirmajam sluoksniui.\n" +"Pagal numatytuosius nustatymus tai išjungta, nes pirmasis sluoksnis vietoj to išdėstomas siekiant geriausio sukibimo su pagrindu: gijos, kuriomis spausdinamos mažos, trapios pirmojo sluoksnio detalės, spausdinamos paskutinės, todėl tolesni įrankių keitimai ir tuščiosios eigos rečiau nuplėšia tas silpnai įtvirtintas dalis. Šis pirmojo sluoksnio eiliškumas taip pat atsižvelgia į pirmojo sluoksnio pasirinktinę gijų seką, jei ji nustatyta. Ciklinio eiliškumo nauda (papildomi įrankių keitimai kiekvienam sluoksniui suteikia daugiau laiko atvėsti) pirmajam sluoksniui negalioja, nes jis spausdinamas lėtai ir karštas dėl sukibimo.\n" +"Įjunkite tai tik tuomet, jei jums reikia tiksliai tokios pačios įrankių sekos kiekviename sluoksnyje, įskaitant pirmąjį, aukojant šį sukibimo optimizavimą." + msgid "Slice gap closing radius" msgstr "Sluoksniavimo tarpo uždarymo spindulys" @@ -16724,9 +17271,6 @@ msgstr "Plyšiai, mažesni nei 2x tarpo uždarymo spindulys, užpildomi trikampi msgid "Slicing Mode" msgstr "Sluoksniavimo režimas" -msgid "Other" -msgstr "Kita" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "„3DLabPrint“ lėktuvų modeliams naudokite „Lyginis-nelyginis“. Naudokite „Uždaryti kiaurymes“, kad uždarytumėte visas modelio kiaurymes." @@ -17657,9 +18201,6 @@ msgstr "per didelis linijos plotis " msgid " not in range " msgstr " nepatenka į intervalą " -msgid "Export 3MF" -msgstr "Eksportuoti 3MF" - msgid "This exports the project as a 3MF file." msgstr "Tai eksportuoja projektą kaip 3MF failą." @@ -17675,9 +18216,6 @@ msgstr "Įkelti sluoksniavimo duomenis" msgid "Load cached slicing data from directory." msgstr "Įkelti į talpyklą įrašytus sluoksniavimo duomenis iš katalogo." -msgid "Export STL" -msgstr "Eksportuoti STL" - msgid "Export the objects as single STL." msgstr "Eksportuoti visus objektus kaip vieną STL." @@ -17729,6 +18267,14 @@ msgstr "Netikrinama" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Nevykdyti jokių tinkamumo patikrinimų, pavyzdžiui, G-kodo (G-code) trajektorijų konfliktų patikros." +# AI Translated +msgid "Strict mode" +msgstr "Griežtas režimas" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Baigia darbą su ne nuliniu kodu, kai sluoksniuojant pateikiamas nekritinis įspėjimas, kuris kitu atveju būtų tik užregistruotas žurnale, pavyzdžiui, modelis, kuriam reikia atramų, kai atramos išjungtos. Naudokite tai CI arba scenarijais valdomuose procesuose, kurie niekada neturėtų pateikti nepastebimai sugadinto rezultato. Kiekvienas toks įspėjimas taip pat nurodomas su pastoviu klasės vardu result.json masyve `warnings`, kuris rašomas tik Linux sistemoje. Negalima derinti su --no-check, kuris praleidžia atramų patikrą." + msgid "Normative check" msgstr "Normatyvinė patikra" @@ -17741,11 +18287,28 @@ msgstr "Išvesti modelio informaciją" msgid "This outputs the model’s information." msgstr "Tai išveda modelio informaciją." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Tikrinti tinklelį (JSON į stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Išveda į stdout JSON santrauką apie kiekvieną įkeltą objektą ir baigia darbą: jo ribojančius gretasienius ir iškiliojo apvalkalo sienas, ant kurių jį galima paguldyti, su jų normalėmis, plotais ir centrais. Būtent iš šių sienų renkasi --ground-* parinktys. Kompiuterio skaitoma alternatyva --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Tikrinti piešinį (JSON į stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Išveda struktūrizuotą JSON santrauką apie kiekvieną piešimo sluoksnį (atramos, siūlė, MMU spalva, grublėtas paviršius), jau įrašytą į įkeltą modelį — sienelių skaičių, paviršiaus plotą ir ribojantį gretasienį tinklelio koordinatėmis kiekvienai būsenai — ir baigia darbą. Kompiuterio skaitoma alternatyva piešimo įrankių atvėrimui sąsajoje." + msgid "Export Settings" msgstr "Eksportavimo nustatymai" -msgid "This exports settings to a file." -msgstr "Tai eksportuoja nustatymus į failą." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Tai eksportuoja parametrus į failą. Naudokite -, kad jie būtų įrašyti į stdout." msgid "Send progress to pipe" msgstr "Siųsti pažangą į kanalą" @@ -17801,6 +18364,30 @@ msgstr "Pasukti aplink Y ašį" msgid "Rotation angle around the Y axis in degrees." msgstr "Sukimosi kampas aplink Y ašį laipsniais." +# AI Translated +msgid "Ground largest face" +msgstr "Guldyti ant didžiausios sienos" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Paguldo kiekvieną objektą ant didžiausios jo iškiliojo apvalkalo sienos ir nuleidžia jį ant pagrindo. Iš vienodo dydžio sienų paliekama ta, kuri jau nukreipta žemyn. Objektai, neturintys pakankamai didelės sienos atsiremti, paliekami tokie, kokie yra. Transformacijos vykdomos komandų eilutės tvarka, todėl prieš šią parinktį nurodyti pasukimai išlaikomi. --orient 1 vykdoma po visų transformacijų ir pakeičia orientaciją." + +# AI Translated +msgid "Ground face by normal" +msgstr "Guldyti ant sienos pagal normalę" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Paguldo kiekvieną objektą ant tos iškiliojo apvalkalo sienos, kurios išorinė normalė arčiausia krypties NX,NY,NZ, ir nuleidžia jį ant pagrindo. Kryptis nurodoma objekto koordinatėmis, kurios apima prieš šią parinktį nurodytus pasukimus ir sutampa su pagrindo ašimis, nebent įvesties failas objektą pasuka. Pavyzdžiui, 1,0,0 pastato objektą ant jo +X pusės. --orient 1 vykdoma po visų transformacijų ir pakeičia orientaciją." + +# AI Translated +msgid "Ground face at point" +msgstr "Guldyti ant sienos taške" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Paguldo kiekvieną objektą ant tos iškiliojo apvalkalo sienos, kurioje yra taškas X,Y,Z, ir nuleidžia jį ant pagrindo. Taškas nurodomas objekto koordinatėmis, kurios apima prieš šią parinktį nurodytus pasukimus; --inspect-mesh pateikia sienų centrus būtent jomis. Objektai, neturintys tokios sienos, paliekami tokie, kokie yra, o vykdymas nepavyksta, jei tokios sienos neturi nė vienas objektas. --orient 1 vykdoma po visų transformacijų ir pakeičia orientaciją." + msgid "Scale the model by a float factor." msgstr "Keisti modelio mastelį pagal slankiojo kablelio koeficientą." @@ -18100,12 +18687,36 @@ msgstr "Naudota gija" msgid "Total length of filament used in the print." msgstr "Bendras viso spausdinimo metu sunaudotos gijos ilgis." -msgid "Print time (seconds)" -msgstr "Spausdinimo laikas (sekundėmis)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Bendras numatomas spausdinimo laikas sekundėmis. Papildomo apdorojimo (post-processing) metu pakeičiama faktine reikšme." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Gijos ilgis (metrais)" @@ -18336,9 +18947,6 @@ msgstr "Faile yra neteisingas viršūnių indeksas." msgid "This OBJ file couldn't be read because it's empty." msgstr "Šio OBJ failo nepavyko perskaityti, nes jis tuščias." -msgid "Max Volumetric Speed Calibration" -msgstr "Didžiausio tūrinio greičio kalibravimas" - msgid "Manage Result" msgstr "Tvarkyti rezultatus" @@ -19186,9 +19794,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "PASTABA: didelės reikšmės gali lemti sluoksnių poslinkį (Layer shift) (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Srauto santykio kalibravimas" - msgid "Calibration Test Type" msgstr "Kalibravimo testo tipas" @@ -19953,6 +20558,9 @@ msgstr "Nerasta galiojančios sesijos. Prisijungti prie „3DPrinterOS“?" msgid "Success!" msgstr "Pavyko!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Ar tikrai norite atsijungti?" @@ -20865,6 +21473,18 @@ msgstr "Šio veiksmo atšaukti nebus galima. Tęsti?" msgid "Skipping objects." msgstr "Praleidžiami objektai." +# AI Translated +msgid "Material Ratio" +msgstr "Medžiagos santykis" + +# AI Translated +msgid "Model Height" +msgstr "Modelio aukštis" + +# AI Translated +msgid "Ratio" +msgstr "Santykis" + msgid "Select Filament" msgstr "Pasirinkti giją" @@ -20896,13 +21516,6 @@ msgstr "„Bambu“ tinklo papildinys yra būtinas, kad veiktų debesijos funkci msgid "Error: %s" msgstr "Klaida: %s" -msgid "Show details" -msgstr "Rodyti išsamiau" - -# AI Translated -msgid "Hide details" -msgstr "Slėpti išsamią informaciją" - msgid "Version to install:" msgstr "Diegiama versija:" @@ -21119,12 +21732,14 @@ msgid "Drying-Dehumidifying" msgstr "Džiovinimas – sausinimas" # AI Translated -msgid " maximum drying temperature is " -msgstr " didžiausia džiovinimo temperatūra yra " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Didžiausia %s džiovinimo temperatūra yra %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " mažiausia džiovinimo temperatūra yra " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Mažiausia %s džiovinimo temperatūra yra %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21269,6 +21884,2494 @@ msgstr "Gija gali būti nesuderinama su dabartiniais įrenginio nustatymais. Bus msgid "The filament model is unknown. A random filament preset will be used." msgstr "Gijos modelis nežinomas. Bus naudojamas atsitiktinis gijos profilis." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Pabaiga" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Apačia" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Del" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Rodyklė kairėn" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Rodyklė dešinėn" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Rodyklė aukštyn" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Rodyklė žemyn" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importuoti geometrijos duomenis iš STL/STEP/3MF/OBJ/AMF failų" + +msgid "Select all objects" +msgstr "Pasirinkti visus objektus" + +msgid "Paste from clipboard" +msgstr "Įklijuoti iš mainų srities" + +msgid "Toggle printable for object/part" +msgstr "Perjungti objekto / dalies spausdinimą" + +msgid "Move selection 10mm in negative X direction" +msgstr "Perkelti pasirinkimą 10 mm neigiama X kryptimi" + +msgid "Move selection 10mm in positive X direction" +msgstr "Perkelti pasirinkimą 10 mm teigiama X kryptimi" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Perkelti pasirinkimą 10 mm teigiama Y kryptimi" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Perkelti pasirinkimą 10 mm neigiama Y kryptimi" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Perkėlimo manipuliatorius" + +msgid "Gizmo rotate" +msgstr "Pasukimo manipuliatorius" + +msgid "Gizmo scale" +msgstr "Mastelio keitimo manipuliatorius" + +msgid "Gizmo place face on bed" +msgstr "Paviršiaus dėjimo ant pagrindo manipuliatorius" + +msgid "Gizmo cut" +msgstr "Pjovimo manipuliatorius" + +msgid "Gizmo mesh boolean" +msgstr "Loginių tinklelio veiksmų (Boolean) manipuliatorius" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "FDM užtepamos siūlės (seam) manipuliatorius" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "FDM užtepamo grublėto paviršiaus (fuzzy skin) manipuliatorius" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Teksto iškėlimo ir įspaudimo (emboss/engrave) manipuliatorius" + +msgid "Gizmo measure" +msgstr "Matavimo manipuliatorius" + +msgid "Gizmo assemble" +msgstr "Surinkimo manipuliatorius" + +msgid "Gizmo brim ears" +msgstr "Krašto „auselių“ (brim ears) manipuliatorius" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Vertikalus slankiklis – kelti aktyvų žymeklį aukštyn" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Vertikalus slankiklis – nuleisti aktyvų žymeklį žemyn" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Horizontalus slankiklis – stumti aktyvų žymeklį kairėn" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Horizontalus slankiklis – stumti aktyvų žymeklį dešinėn" + +msgid "Horizontal slider - Move to start position" +msgstr "Horizontalus slankiklis – perkelti į pradinę padėtį" + +msgid "Horizontal slider - Move to last position" +msgstr "Horizontalus slankiklis – perkelti į paskutinę padėtį" + +msgid "Camera view - Default" +msgstr "Kameros vaizdas - Numatytasis" + +msgid "Camera view - Top" +msgstr "Kameros vaizdas - Viršus" + +msgid "Camera view - Bottom" +msgstr "Kameros vaizdas - Apačia" + +msgid "Camera view - Front" +msgstr "Kameros vaizdas - Priekis" + +msgid "Camera view - Behind" +msgstr "Kameros vaizdas – iš galo" + +msgid "Camera Angle - Left side" +msgstr "Kameros kampas – iš kairės" + +msgid "Camera Angle - Right side" +msgstr "Kameros kampas – iš dešinės" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Padidinti" + +msgid "Zoom out" +msgstr "Nutolinti" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Rodyti/slėpti 3DConnexion įrenginių nustatymų dialogo langą" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "G-kodo lango įjungimas / išjungimas" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Vertikalaus slankiklio vieno sluoksnio režimas įjungimas / išjungimas" + +msgid "Switch between Prepare/Preview" +msgstr "Perjungimas tarp Paruošti / Peržiūrėti" + +msgid "Collapse/Expand the sidebar" +msgstr "Sutraukti / išskleisti šoninę juostą" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Rodyti sparčiųjų klavišų sąrašą" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21569,6 +24672,152 @@ msgstr "" "Venkite deformacijų (warping)\n" "Ar žinojote, kad spausdinant medžiagas, kurios yra linkusios trauktis ir riestis (pvz., ABS), tinkamas kaitinamojo pagrindo temperatūros padidinimas gali sumažinti deformacijų (warping) tikimybę?" +#~ msgid "Tab" +#~ msgstr "Tab" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Viršutiniame dešiniajame kampe rodo esamą vaizdo srities kadrų dažnį." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF talpinimo wiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF talpinimo vaizdo vadovas" + +#~ msgid "Toolbar" +#~ msgstr "Įrankių juosta" + +#~ msgid "Switch table page" +#~ msgstr "Perjungti lentelės puslapį" + +#~ msgid "Global shortcuts" +#~ msgstr "Bendrieji spartieji klavišai" + +#~ msgid "Middle mouse button" +#~ msgstr "Vidurinis pelės mygtukas" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Automatiškai orientuoja pasirinktus objektus arba visus objektus. Jei yra pasirinkti objektai, orientuoja tik pasirinktus. Kitais atvejais orientuoja visus esamo projekto objektus." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Automatiškai orientuoja visus objektus aktyvioje plokštėje." + +#~ msgid "Any arrow" +#~ msgstr "Bet kuri rodyklė" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLA atramų taškų manipuliatorius" + +#~ msgid "Plater" +#~ msgstr "Plokštė" + +#~ msgid "Gizmo" +#~ msgstr "Manipuliatorius" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Ištrinti objektus, dalis, modifikatorius" + +#~ msgid "Objects List" +#~ msgstr "Objektų sąrašas" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-kodas, įrašomas pačiame išvesties failo viršuje, prieš bet kokį kitą turinį. Naudingas įterpti metaduomenims, kuriuos spausdintuvo aparatinė programinė įranga nuskaito iš pirmųjų failo eilučių (pvz., numatomą spausdinimo laiką, gijos sąnaudas). Palaiko kintamuosius (placeholders), tokius kaip {print_time_sec} ir {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Spausdinimo laikas (sekundėmis)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Atidaryti veiksmų greitosios prieigos meniu" + +#~ msgid "Left: " +#~ msgstr "Kairė:" + +#~ msgid "Right: " +#~ msgstr "Dešinė:" + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Maksimali temperatūra negali viršyti " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Minimali temperatūra neturi būti mažesnė nei " + +#~ msgid "up to" +#~ msgstr "iki" + +#~ msgid "above" +#~ msgstr "virš" + +#~ msgid "from" +#~ msgstr "nuo" + +#~ msgid "Configuration package: " +#~ msgstr "Konfigūracijos paketas: " + +#~ msgid " updated to " +#~ msgstr " atnaujintas į " + +#~ msgid "Grouping error: " +#~ msgstr "Grupavimo klaida: " + +#~ msgid " can not be placed in the " +#~ msgstr "negali būti įkeltas į " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " didžiausia džiovinimo temperatūra yra " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " mažiausia džiovinimo temperatūra yra " + +# AI Translated +#~ msgid "needs" +#~ msgstr "reikalauja" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "neįjungta" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "medžiaga nepatalpinta" + +#~ msgid "Select the language" +#~ msgstr "Pasirinkite kalbą" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Pasirinkti papildinį" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Kryptis, kuria užpildomi viršutiniai paviršiai naudojant į centrą orientuotą raštą (koncentrinį, Archimedo stygų, Oktogramos spiralės).\n" +#~ "„Į išorę“ prasideda paviršiaus centre, todėl bet koks perteklinė medžiaga stumiama link krašto, kur ji mažiausiai matoma. „Į vidų“ prasideda nuo krašto ir baigiasi ankštomis kreivėmis centre.\n" +#~ "Numatytoji tvarka naudoja trumpiausio kelio rikiavimą, kuris gali vykti bet kuria kryptimi." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Kryptis, kuria užpildomi apatiniai paviršiai naudojant į centrą orientuotą raštą (koncentrinį, Archimedo stygų, Oktogramos spiralės).\n" +#~ "„Į vidų“ pradeda kiekvieną paviršių platesnėmis išorinėmis kreivėmis, o tai pagerina pirmojo sluoksnio sukibimą ant pagrindų, kur ankštos kreivės centre gali nesilaikyti. „Į išorę“ prasideda centre, stumdama bet kokią perteklinę medžiagą link krašto.\n" +#~ "Numatytoji tvarka naudoja trumpiausio kelio rikiavimą, kuris gali vykti bet kuria kryptimi." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Jei įjungta, valymo bokštas nebus spausdinamas tuose sluoksniuose, kur įrankis nekeičiamas. Sluoksniuose, kur įrankis keičiamas, ekstruderis nusileis žemyn atspausdinti valymo bokšto dalies. Naudotojas pats atsako už tai, kad ekstruderis nesusidurtų su spaudiniu." + +#~ msgid "This exports settings to a file." +#~ msgstr "Tai eksportuoja nustatymus į failą." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Tiesioginei „Native Wayland“ peržiūrai reikalingas „GStreamer GTK“ vaizdo sinchronizatorius (video sink). Įdiekite „GStreamer“ skirtą „gtksink“ papildinį, tada iš naujo paleiskite „OrcaSlicer“." @@ -21623,9 +24872,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Elementų spausdinimo eiliškumas vieno sluoksnio ribose." -#~ msgid "Bottom" -#~ msgstr "Apačia" - #~ msgid "Front" #~ msgstr "Priekis" @@ -21638,9 +24884,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Del" - #~ msgid "Backspace" #~ msgstr "Backspace" @@ -21656,9 +24899,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Rodyklė dešinėn" -#~ msgid "End" -#~ msgstr "Pabaiga" - #~ msgid "Hotend" #~ msgstr "Kaitinimo blokas (Hotend)" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 4fd3601c0e..82486003ef 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2679,15 +2679,6 @@ msgstr "Er is een update beschikbaar. Open het dialoogvenster voor de voorinstel msgid "%s has been removed." msgstr "%s is verwijderd." -msgid "Switching application language" -msgstr "De taal van de applicatie wordt aangepast" - -msgid "Select the language" -msgstr "Kies de taal" - -msgid "Language" -msgstr "Taal" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2725,6 +2716,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Openen van het dialoogvenster Plug-ins is mislukt (onbekende fout)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Plug-in-terminal" @@ -4033,12 +4037,14 @@ msgid "Switch track at Filament Track Switch" msgstr "Van baan wisselen bij de Filament Track Switch" # AI Translated -msgid "The maximum temperature cannot exceed " -msgstr "De maximumtemperatuur mag niet hoger zijn dan " +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "De maximumtemperatuur mag niet hoger zijn dan %d" # AI Translated -msgid "The minmum temperature should not be less than " -msgstr "De minimumtemperatuur mag niet lager zijn dan " +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "De minimumtemperatuur mag niet lager zijn dan %d" # AI Translated msgid "Type to filter..." @@ -4532,6 +4538,22 @@ msgstr "OrcaSlicer begon in diezelfde geest en putte uit PrusaSlicer, BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Vandaag de dag is OrcaSlicer de meest gebruikte en actiefst ontwikkelde open-source slicer in de 3D-printgemeenschap. Veel van zijn innovaties zijn overgenomen door andere slicers, waardoor het een drijvende kracht is voor de hele branche." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +# AI Translated +msgid "Printer" +msgstr "Printer" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Materiaal instellingen" @@ -5010,6 +5032,15 @@ msgstr "" "Fout bij het exporteren naar output-G-code. Is de SD-kaart geblokkeerd tegen schrijven?\n" "Foutbericht: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Het kopiëren van de tijdelijke G-code naar de uitvoer-G-code is mislukt.\n" +"Foutmelding: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Fout bij het exporteren naar output-G-code. Het probleem ligt mogelijk bij het doelapparaat. Probeer het opnieuw te exporteren of gebruik een ander apparat. De beschadigde G-code is opgeslagen als %1%.tmp." @@ -5325,6 +5356,9 @@ msgstr "" "Ja - Pas de instellingen aan en zet de vaas modus automatisch aan\n" "Nee - Pas de vaas modus deze keer niet toe" +msgid "N/A" +msgstr "N/B" + msgid "Printing" msgstr "Printen" @@ -5829,14 +5863,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Waarde %s valt buiten het bereik. Het geldige bereik loopt van %d tot %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Is het %s%% or %s %s?\n" -"JA voor %s%%, \n" -"NEE voor %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Is het %s%% or %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5861,29 +5892,22 @@ msgstr "Ongeldig patroon. Gebruik N, N#K of een door komma's gescheiden lijst me msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Onjuist formaat. Het Vector formaat wordt verwacht: \"%1%\"" -msgid "N/A" -msgstr "N/B" - # AI Translated msgid "System agents" msgstr "Systeemagenten" -# AI Translated -msgid "No plugin selected" -msgstr "Geen plug-in geselecteerd" - # AI Translated msgid "Add plugin" msgstr "Plug-in toevoegen" -# AI Translated -msgid "Select plugin" -msgstr "Plug-in selecteren" - # AI Translated msgid "Remove plugin" msgstr "Plug-in verwijderen" +# AI Translated +msgid "No plugin selected" +msgstr "Geen plug-in geselecteerd" + # AI Translated msgid "Configure" msgstr "Configureren" @@ -6160,14 +6184,20 @@ msgstr "Op optimaal instellen" msgid "Regroup filament" msgstr "Filamenten opnieuw groeperen" -msgid "up to" -msgstr "tot" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "tot %1% mm" -msgid "above" -msgstr "Boven" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "boven %1% mm" -msgid "from" -msgstr "Van" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "van %1% tot %2% mm" msgid "Usage" msgstr "Gebruik" @@ -6230,10 +6260,6 @@ msgctxt "Noun" msgid "Print" msgstr "Print" -# AI Translated -msgid "Printer" -msgstr "Printer" - msgid "Time Estimation" msgstr "Geschatte duur" @@ -6428,12 +6454,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Rechts" -msgid "Add" -msgstr "Toevoegen" - msgid "Add plate" msgstr "Printbed toevoegen" +msgid "Split to objects" +msgstr "Opsplitsen in objecten" + +msgid "Add" +msgstr "Toevoegen" + msgid "Auto orient all/selected objects" msgstr "Automatisch oriënteren alle/geselecteerde objecten" @@ -6446,9 +6475,6 @@ msgstr "Alle objecten rangschikken" msgid "Arrange objects on selected plates" msgstr "Rangschikt de objecten op de gelecteerde printbedden" -msgid "Split to objects" -msgstr "Opsplitsen in objecten" - msgid "Assembly View" msgstr "Montageweergave" @@ -6507,6 +6533,9 @@ msgstr "Omtrek" msgid "Wireframe" msgstr "Draadmodel" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Realistische weergave" @@ -6737,6 +6766,9 @@ msgstr "Applicatie sluiten terwijl sommige voorinstellingen zijn gewijzigd." msgid "Logging" msgstr "Vastleggen" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Voorbereiden" @@ -6888,6 +6920,14 @@ msgstr "Bewaar project als" msgid "Save current project as" msgstr "Bewaar huidig project als" +# AI Translated +msgid "Publish 3MF" +msgstr "3MF publiceren" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Een 3MF-bestand exporteren met de geselecteerde instellingen erin ingesloten" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "3MF/STL/STEP/SVG/OBJ/AMF importeren" @@ -7090,6 +7130,9 @@ msgstr "Bewerken" msgid "View" msgstr "Weergave" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "Voorinstellingenbundel" @@ -8109,6 +8152,234 @@ msgstr "Dit dialoogvenster niet meer tonen" msgid "Please refer to Wiki before use->" msgstr "Raadpleeg de wiki vóór gebruik->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL exporteren" + +msgid "Export 3MF" +msgstr "Exporteer 3mf" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibratie van maximale volumetrische snelheid" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibratie van de flow verhouding" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Alle objecten verwijderen" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Splitsen naar objecten" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-muis losgekoppeld." @@ -8273,6 +8544,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Onderste" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Deze instelling geeft geen type plug-infunctionaliteit op." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Deze instelling geeft een niet-herkend type plug-infunctionaliteit op: " + # AI Translated msgid "Plugin Selection" msgstr "Plug-inselectie" @@ -8812,10 +9091,6 @@ msgstr "Zijbalk uitklappen" msgid "Collapse sidebar" msgstr "Zijbalk inklappen" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Bestand laden: %s" @@ -8904,6 +9179,14 @@ msgstr "Controleer of de G-codes in deze presets veilig zijn om schade aan de ma msgid "Customized Preset" msgstr "Aangepaste voorinstelling" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Sommige gepubliceerde instellingen konden niet worden toegepast:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Sommige filamentsleuven zijn gewijzigd:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Naam van componenten in step-bestand is niet UTF-8-formaat!" @@ -9029,10 +9312,6 @@ msgstr "" msgid "Delete Object" msgstr "Object verwijderen" -# AI Translated -msgid "Delete All Objects" -msgstr "Alle objecten verwijderen" - # AI Translated msgid "Reset Project" msgstr "Project terugzetten" @@ -9040,10 +9319,6 @@ msgstr "Project terugzetten" msgid "The selected object couldn't be split." msgstr "Het geselecteerde object kan niet opgesplitst worden." -# AI Translated -msgid "Split to Objects" -msgstr "Splitsen naar objecten" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Automatisch laten vallen uitschakelen om de Z-positie te behouden?\n" @@ -9339,6 +9614,21 @@ msgstr "Bewaar het geslicede bestand als:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Het bestand %s is naar de opslagruimte van de printer gestuurd en kan op de printer worden bekeken." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MF-bestand publiceren als:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Het exporteren van het gepubliceerde 3MF-bestand is mislukt.\n" +"Controleer of de map online bestaat of dat andere programma's het bestand geopend hebben." + +msgid "Publish" +msgstr "Publiceren" + # AI Translated msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Het mondstuktype is niet ingesteld. Stel het mondstuk in en probeer het opnieuw." @@ -9579,9 +9869,6 @@ msgstr "Wilt u doorgaan?" msgid "Language selection" msgstr "Taal selectie" -msgid "Switching application language while some presets are modified." -msgstr "De taal van de toepassing aanpaasen terwijl sommige voorinstellingen zijn aangepast." - msgid "Asia-Pacific" msgstr "Azië-Pacific" @@ -9696,6 +9983,9 @@ msgstr "Huidig instancepad: " msgid "General" msgstr "Algemeen" +msgid "Language" +msgstr "Taal" + msgid "Metric" msgstr "Metrisch" @@ -9927,6 +10217,33 @@ msgstr "Beheer van meerdere apparaten" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Met deze optie ingeschakeld kunt u een taak tegelijkertijd naar meerdere apparaten sturen en meerdere apparaten beheren." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Pop-up om de filamentgroeperingsmodus te kiezen" @@ -10019,6 +10336,12 @@ msgstr "Omgekeerde muiszoom" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Als deze optie is ingeschakeld, wordt de zoomrichting met het muiswiel omgedraaid." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Pannen" @@ -10047,6 +10370,15 @@ msgstr "Slepen met rechtermuisknop" msgid "Set the action that dragging the right mouse button should perform." msgstr "Stel de actie in die het slepen met de rechtermuisknop moet uitvoeren." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "Mijn keuze wissen voor..." @@ -10176,13 +10508,40 @@ msgstr "" "Beperkt de framesnelheid van de viewport om de GPU-belasting en het stroomverbruik te verlagen.\n" "Stel in op 0 voor een onbeperkte framesnelheid." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "FPS-overlay tonen" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Toont de huidige FPS van de viewport in de rechterbovenhoek." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -10200,9 +10559,6 @@ msgstr "Bij het verschuiven van de laagschuifregelaar in de slicevoorvertoning w msgid "Dimmed layer brightness" msgstr "Helderheid van gedimde lagen" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -10626,9 +10982,6 @@ msgstr "Ga naar de website om het model te publiceren" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Notitie: het voorbereiden kan enkele minuten duren. Even geduld alstublieft." -msgid "Publish" -msgstr "Publiceren" - msgid "Publish was canceled" msgstr "Het publiceren is geannuleerd" @@ -10645,6 +10998,76 @@ msgstr "Gegevens uploaden" msgid "Jump to webpage" msgstr "Ga naar de website" +# AI Translated +msgid "Material" +msgstr "Materiaal" + +# AI Translated +msgid "Mixed filament" +msgstr "Gemengd filament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Sommige gemengde filamenten zijn afhankelijk van filamenten die niet worden gepubliceerd:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (gemengd)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% heeft %2% nodig, dat niet is ingeschakeld." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% heeft %2% nodig, waarvan het materiaal niet wordt gepubliceerd." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Om een gemengd filament te publiceren, schakel je elk filament in dat het gebruikt en kies je Volledig publiceren of voldoe je aan de Type-vereiste ervan." + +# AI Translated +msgid "Publish anyway" +msgstr "Toch publiceren" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MF publiceren..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Selecteer welke instellingen in het 3MF-bestand worden gepubliceerd" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Gemengd filament - wordt als geheel gepubliceerd wanneer hierboven \"Inschakelen\" is geselecteerd" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Dit gemengde filament publiceren en de samenstellende filamenten inschakelen + volledig publiceren" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Deze filamentsleuf publiceren in het 3MF-bestand" + +# AI Translated +msgid "Full Publish" +msgstr "Volledig publiceren" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Het volledige filament van deze sleuf insluiten in het 3MF-bestand" + +# AI Translated +msgid "Filter non-selected" +msgstr "Niet-geselecteerde filteren" + #, c-format, boost-format msgid "Save %s as" msgstr "Bewaar %s als" @@ -10663,6 +11086,10 @@ msgstr "Kopieert alle overgeërfde waarden van de bovenliggende voorinstelling n msgid "Detach from parent" msgstr "Losmaken van bovenliggend element" +# AI Translated +msgid "Save without parent" +msgstr "Opslaan zonder bovenliggend element" + # AI Translated msgid "Unique preset" msgstr "Unieke voorinstelling" @@ -10722,6 +11149,134 @@ msgstr "Voor \"%1%\", dient \"%2%\" toegevoegd te worden als nieuwe voorinstelli msgid "Simply switch to \"%1%\"" msgstr "Schakel eenvoudig over naar \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Anders" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "Details tonen" + +# AI Translated +msgid "Hide details" +msgstr "Details verbergen" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Taak geannuleerd" @@ -11433,9 +11988,17 @@ msgstr "Voor klontdetectie is een prime toren vereist. Zonder prime toren kunnen msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Het inschakelen van zowel precieze Z-hoogte als de spoeltoren kan slicefouten veroorzaken. Wilt u precieze Z-hoogte nog steeds inschakelen?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Vloeiende timelapse heeft op elke laag een prime toren nodig, wat niet samengaat met \"Geen dunne lagen\". \"Geen dunne lagen\" is uitgeschakeld." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Een prime-toren is vereist voor een vloeiende timelapse-modus. Er kunnen gebreken ontstaan aan het model zonder prime-toren. Wilt u de prime-toren inschakelen?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Geen dunne lagen\" gaat niet samen met vloeiende timelapse, die op elke laag een prime toren nodig heeft. De timelapse is overgeschakeld naar de traditionele modus." + msgid "Still print by object?" msgstr "Print je nog steeds per object?" @@ -11824,10 +12387,6 @@ msgstr "Geschikte proces profielen" msgid "Printable space" msgstr "Ruimte waarbinnen geprint kan worden" -# AI Translated -msgid "Printer Agent" -msgstr "Printeragent" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Selecteer de implementatie van de netwerkagent voor de communicatie met de printer. Beschikbare agenten worden bij het opstarten geregistreerd." @@ -12268,14 +12827,6 @@ msgstr "Aantal extruders" msgid "Capabilities" msgstr "Mogelijkheden" -# AI Translated -msgid "Left: " -msgstr "Links: " - -# AI Translated -msgid "Right: " -msgstr "Rechts: " - msgid "Show all presets (including incompatible)" msgstr "Toon alle presets (inclusief incompatibele)" @@ -12725,60 +13276,39 @@ msgstr "Het configuratiebestand is aangepast in de vorige Config Guide" msgid "Configuration package changed" msgstr "Het configuratiepakket is gewijzigd" -msgid "Toolbar" -msgstr "Gereedschapsbalk" - -msgid "Objects list" -msgstr "Object lijst" - -# AI Translated -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importeer geometriegegevens uit STL-/STEP-/3MF-/OBJ-/AMF-bestanden" - -msgid "Paste from clipboard" -msgstr "Plakken vanuit klembord" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Dialoogvenster met instellingen voor 3Dconnexion-apparaten weergeven/verbergen" - -msgid "Switch table page" -msgstr "Schakeltabel pagina" - -msgid "Show keyboard shortcuts list" -msgstr "Toon lijst met sneltoetsen" - -msgid "Global shortcuts" -msgstr "Globale snelkoppelingen" - msgid "Pan View" msgstr "Panweergave" msgid "Rotate View" msgstr "Weergave roteren" -# AI Translated -msgid "Middle mouse button" -msgstr "Middelste muisknop" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Zoom weergave" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Oriënteert automatisch geselecteerde objecten of alle objecten. Als er geselecteerde objecten zijn, oriënteert het alleen de geselecteerde objecten. Anders worden alle objecten van het project georiënteerd." +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" # AI Translated -msgid "Auto orients all objects on the active plate." -msgstr "Oriënteert alle objecten op het actieve printbed automatisch." +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Collapse/Expand the sidebar" -msgstr "De menubalk in-/uitschuiven" +msgid "Switch to the next main tab" +msgstr "" -# AI Translated -msgid "Any arrow" -msgstr "Willekeurige pijltoets" - -msgid "Movement in camera space" -msgstr "Beweging in cameragebied" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Selecteer een onderdeel" @@ -12789,139 +13319,29 @@ msgstr "Selecteer meerdere objecten" msgid "Select objects by rectangle" msgstr "Objecten selecteren door rechthoek" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Pijl omhoog" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Verplaats de selectie 10mm in een positieve Y richting" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Pijl omlaag" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Verplaats de selectie 10mm in een negatieve Y richting" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Pijl links" - -msgid "Move selection 10mm in negative X direction" -msgstr "Verplaats de selectie 10mm in een negatieve X richting" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Pijl rechts" - -msgid "Move selection 10mm in positive X direction" -msgstr "Verplaats de selectie 10mm in een positieve X richting" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Toets 1-9: kies filament voor het object/onderdeel" msgid "Movement step set to 1mm" msgstr "Bewegingsinterval ingesteld op 1mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Toets 1-9: kies filament voor het object/onderdeel" +msgid "Movement in camera space" +msgstr "Beweging in cameragebied" -msgid "Camera view - Default" -msgstr "Camera hoek - Standaard" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Camera hoek - Bovenkant" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Camera hoek - Onderkant" +msgid "Zoom View" +msgstr "Zoom weergave" -msgid "Camera view - Front" -msgstr "Camera hoek - Voorkant" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Camera hoek - Achter" - -msgid "Camera Angle - Left side" -msgstr "Camera hoek - Linker zijde" - -msgid "Camera Angle - Right side" -msgstr "Camera hoek - Rechter zijde" - -msgid "Select all objects" -msgstr "Selecteer alle objecten" - -msgid "Gizmo move" -msgstr "Gizmo bewegen" - -msgid "Gizmo rotate" -msgstr "Gizmo roteren" - -msgid "Gizmo scale" -msgstr "Gizmo schalen" - -msgid "Gizmo place face on bed" -msgstr "Gizmo plaats gebied op het bed" - -msgid "Gizmo cut" -msgstr "Gizmo snijden" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo mesh booleaan" - -# AI Translated -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM vage buitenkant schilderen" - -msgid "Gizmo SLA support points" -msgstr "Gizmo SLA-ondersteuningspunten" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM seam schilderen" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo tekst reliëf/graveren" - -msgid "Gizmo measure" -msgstr "Gizmo maatregel" - -msgid "Gizmo assemble" -msgstr "Gizmo monteren" - -msgid "Gizmo brim ears" -msgstr "Gizmo rand oren" - -# AI Translated -msgid "Zoom in" -msgstr "Inzoomen" - -msgid "Zoom out" -msgstr "Zoom uit" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Printbaar in-/uitschakelen voor object/onderdeel" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -# AI Translated -msgid "Switch between Prepare/Preview" -msgstr "Wisselen tussen Voorbereiden/Voorvertoning" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spatie" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Snelmenu met acties openen" - -msgid "Plater" -msgstr "Plaat" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Verplaatsen: druk om 1 mm te verplaatsen" @@ -12932,15 +13352,19 @@ msgstr "Support/kleur intekenen: pas de pen diameter aan" msgid "Support/Color Painting: adjust section position" msgstr "Support/kleur intekenen: pas de sectie positie aan" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Object lijst" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Stel het extrudernnumer in voor de objecten en onderdelen" -msgid "Delete objects, parts, modifiers" -msgstr "Verwijder objecten, onderdelen, aanpassingen" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spatie" msgid "Select the object/part and press space to change the name" msgstr "Selecteer het object/onderdeel en druk op de spatiebalk om de naam aan te passen" @@ -12951,48 +13375,48 @@ msgstr "Muisklik" msgid "Select the object/part and mouse click to change the name" msgstr "Selecteer het object/onderdeel en rechtermuisklik om de naam aan te passen" -msgid "Objects List" -msgstr "Objecten lijst" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Verticale schuifregelaar - Actieve thumb omhoog bewegen" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Verticale schuifregelaar - Actieve thumb omlaag bewegen" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Horizontale schuifbalk - Beweeg actieve duim naar links" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Horizontale schuifbalk - Beweeg actieve duim naar rechts" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Aan/uit één laagmodus van de verticale schuifregelaar" - -# AI Translated -msgid "On/Off G-code window" -msgstr "G-code-venster aan/uit" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Schuifregelaar 5x sneller verplaatsen" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -# AI Translated -msgid "Horizontal slider - Move to start position" -msgstr "Horizontale schuifregelaar - Naar de startpositie" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -# AI Translated -msgid "Horizontal slider - Move to last position" -msgstr "Horizontale schuifregelaar - Naar de laatste positie" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Release-opmerkingen" @@ -13218,17 +13642,22 @@ msgstr "Repareren geannuleerd" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Het kopieeren van bestand %1% naar %2% is mislukt: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Nieuwe leveranciersprofielen downloaden: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Configuratiepakket: %1% bijgewerkt naar %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Downloaden van leveranciersprofielen mislukt: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Controleer niet-opgeslagen wijzigingen voordat u de configuratie bijwerkt." -# AI Translated -msgid "Configuration package: " -msgstr "Configuratiepakket: " - -# AI Translated -msgid " updated to " -msgstr " bijgewerkt naar " - msgid "Open G-code file:" msgstr "Open G-code bestand:" @@ -13296,12 +13725,14 @@ msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping wordt alleen ondersteund door Klipper, RepRapFirmware en Marlin 2." # AI Translated -msgid "Grouping error: " -msgstr "Groeperingsfout: " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Groeperingsfout: %1% kan niet in de linker nozzle worden geplaatst" # AI Translated -msgid " can not be placed in the " -msgstr " kan niet worden geplaatst in de " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Groeperingsfout: %1% kan niet in de rechter nozzle worden geplaatst" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -13416,6 +13847,10 @@ msgstr "%1% staat te dicht bij anderen en er kunnen botsingen ontstaan." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% is te hoog en er kunnen botsingen ontstaan." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "De onderlinge positie van het model en de prime toren voldoet niet aan de eisen van de functie \"Geen dunne lagen\". Pas hun onderlinge posities aan, verlaag de modelhoogte of schakel \"Geen dunne lagen\" uit." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "is te dicht bij het uitsluitingsgebied, er botsingen optreden tijdens het printen." @@ -13811,6 +14246,10 @@ msgstr "3MF gebruiken in plaats van G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Schakel dit in als de printer een 3MF-bestand als printopdracht accepteert. Indien ingeschakeld verzendt Orca Slicer het geslicede bestand als een .gcode.3mf in plaats van als een gewoon .gcode-bestand." +# AI Translated +msgid "Printer Agent" +msgstr "Printeragent" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Selecteer de implementatie van de netwerkagent voor de communicatie met de printer." @@ -14975,6 +15414,10 @@ msgstr "Uitgelijnd Rechtlijnig" msgid "Concentric" msgstr "Concentrisch" +# AI Translated +msgid "Spiral Inset" +msgstr "Spiraalinzet" + # AI Translated msgid "Hilbert Curve" msgstr "Hilbertkromme" @@ -15072,12 +15515,12 @@ msgstr "Vulvolgorde bovenoppervlak" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Richting waarin bovenoppervlakken worden gevuld bij gebruik van een patroon dat vanuit het midden werkt (Concentrisch, Archimedische koorden, Octagramspiraal).\n" -"Naar buiten begint in het midden van het oppervlak, zodat overtollig materiaal naar de rand wordt geduwd, waar het het minst zichtbaar is. Naar binnen begint aan de rand en eindigt met de krappe bochten in het midden.\n" +"Richting waarin bovenvlakken worden gevuld bij een patroon dat vanuit het midden werkt (Concentrisch, Spiraalinzet, Archimedische koorden, Octagram Spiraal).\n" +"Naar buiten begint in het midden van het vlak, zodat overtollig materiaal naar de rand wordt geduwd, waar het het minst opvalt. Naar binnen begint aan de rand en eindigt met de krappe bochten in het midden.\n" "Standaard gebruikt de volgorde van het kortste pad, die beide kanten op kan lopen." # AI Translated @@ -15086,12 +15529,12 @@ msgstr "Vulvolgorde onderoppervlak" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Richting waarin onderoppervlakken worden gevuld bij gebruik van een patroon dat vanuit het midden werkt (Concentrisch, Archimedische koorden, Octagramspiraal).\n" -"Naar binnen begint elk oppervlak met de bredere buitenbochten, wat de hechting van de eerste laag verbetert op printbedden waar de krappe bochten in het midden mogelijk niet hechten. Naar buiten begint in het midden en duwt overtollig materiaal naar de rand.\n" +"Richting waarin ondervlakken worden gevuld bij een patroon dat vanuit het midden werkt (Concentrisch, Spiraalinzet, Archimedische koorden, Octagram Spiraal).\n" +"Naar binnen begint elk vlak met de bredere buitenste bochten, wat de hechting van de eerste laag verbetert op printbedden waar de krappe bochten in het midden mogelijk niet plakken. Naar buiten begint in het midden en duwt overtollig materiaal naar de rand.\n" "Standaard gebruikt de volgorde van het kortste pad, die beide kanten op kan lopen." msgid "Internal solid infill pattern" @@ -15209,6 +15652,14 @@ msgstr "Tegen de klok in" msgid "Clockwise" msgstr "Met de klok mee" +# AI Translated +msgid "Distance to rod" +msgstr "Afstand tot de stang" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Horizontale afstand van de punt van het mondstuk tot de verste rand van de stang. Wordt gebruikt om botsingen te vermijden bij printen op basis van object." + msgid "Height to rod" msgstr "Hoogte tot geleider" @@ -17665,6 +18116,20 @@ msgstr "Overhange wand detecteren" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Dit maakt het mogelijk om het overhangpercentage ten opzichte van de lijnbreedte te detecteren en gebruikt verschillende snelheden om af te drukken. Voor 100%% overhang wordt de brugsnelheid gebruikt." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Niet-ondersteunde wanden als laatste printen" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Wandlussen die volledig in de lucht liggen, worden pas geprint zodra iets ze kan dragen:\n" +"ze worden geëxtrudeerd na de andere wanden van hun eiland, de binnenste eerst, ongeacht de wandvolgorde.\n" +"Een lus die alleen de bruggen van deze laag kunnen verankeren, wacht tot die bruggen geprint zijn, terwijl een lus die langs een ondersteunde wand loopt zijn plek vóór de vulling behoudt, die hem als verankering nodig heeft." + # AI Translated msgid "Outer walls" msgstr "Buitenste wanden" @@ -18172,6 +18637,39 @@ msgstr "Vegen bij lussen" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Om de zichtbaarheid van de naad bij een gesloten lusextrusie te minimaliseren, wordt er een kleine beweging naar binnen uitgevoerd voordat de extruder de lus verlaat." +# AI Translated +msgid "Wipe inward" +msgstr "Naar binnen vegen" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Geldt alleen voor buitenwanden, inclusief gatcontouren. Beweegt het hete mondstuk tijdens het vegen naar reeds geprinte binnenwanden, om het opnieuw opwarmen van vers geprint plastic en naadsporen te beperken.\n" +"\n" +"Vooral nuttig bij laaghoogtes onder 0,1 mm, waar veegsporen beter zichtbaar zijn.\n" +"\n" +"Gebruikt het gewone vegen als er nog geen aangrenzende binnenwand geprint is (gebieden met één wand of de wandvolgorde Buiten/Binnen), of als er geen ondersteund pad naar binnen gevonden kan worden, bijvoorbeeld bij krappe hoeken of onderbrekingen in de naad." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Afstand voor naar binnen vegen" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"De afstand waarover het veegpad van de buitenste omtrek af wordt verschoven, opgegeven in millimeters of als percentage van de werkelijke extrusiebreedte van de buitenwand.\n" +"\n" +"Bijvoorbeeld: 50% verschuift het pad over de helft van de breedte van de buitenwand. De effectieve verschuiving wordt begrensd door zowel de werkelijke breedte van de buitenwand als de beschikbare ruimte tot de aangrenzende wand, dus waarden boven 100% of een gelijkwaardige absolute afstand hebben geen extra effect. Stel in op 0 om de verschuiving uit te schakelen." + # AI Translated msgid "Wipe before external loop" msgstr "Vegen vóór de externe lus" @@ -18403,9 +18901,8 @@ msgstr "Voorverwarmstappen" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Voeg meerdere voorverwarmopdrachten in (bijv. M104.1). Alleen nuttig voor de Prusa XL. Stel dit voor andere printers in op 1." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code die helemaal bovenaan het uitvoerbestand wordt geschreven, vóór alle andere inhoud. Nuttig voor het toevoegen van metagegevens die de printerfirmware uit de eerste regels van het bestand leest (bijv. geschatte printtijd, filamentverbruik). Ondersteunt plaatshouders zoals {print_time_sec} en {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" # AI Translated msgid "Start G-code" @@ -18479,8 +18976,9 @@ msgstr "Pakt het nieuwe gereedschap op zonder te wachten tot het de printtempera msgid "No sparse layers (beta)" msgstr "Geen dunne lagen (bèta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Het afveegblok wordt niet geprint bij lagen zonder toolwisselingen als dit is ingeschakeld. Op lagen met een toolwissel zal de extruder neerwaarts bewegen naar het afveegblok. De gebruiker is verantwoordelijk voor eventuele botsingen met de print." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Indien ingeschakeld wordt het afveegblok niet geprint op lagen zonder gereedschapswissels. Op lagen met een gereedschapswissel beweegt de extruder omlaag om het afveegblok te printen, zodat het blok onder het model uitkomt en de printkop ernaartoe omlaag moet reiken. Opstellingen waarbij dat zou botsen met een al geprint voorwerp worden afgewezen. Heeft geen effect bij vloeiende timelapse of klontdetectie, die op elke laag een blok nodig hebben." msgid "Prime all printing extruders" msgstr "Veeg alle printextruders af" @@ -18506,6 +19004,34 @@ msgstr "" msgid "Cyclic" msgstr "Cyclisch" +# AI Translated +msgid "Cyclic order" +msgstr "Cyclische volgorde" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Aangepaste filamentvolgorde die door de cyclische gereedschapswisselvolgorde wordt gebruikt, als filamentnummers gescheiden door komma's (bijv. \"3,2,1,4\").\n" +"Elke laag print zijn filamenten volgens deze volgorde; niet vermelde filamenten worden als laatste geprint, in oplopende volgorde.\n" +"Laat leeg om de filamenten in oplopende volgorde te doorlopen." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Cyclische volgorde toepassen op de eerste laag" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Past de cyclische gereedschapswisselvolgorde ook toe op de eerste laag.\n" +"Standaard staat dit uit, omdat de eerste laag juist wordt geordend voor de beste printbed hechting: filamenten die kleine, kwetsbare details van de eerste laag printen, worden als laatste geprint, zodat de daaropvolgende gereedschapswissels en verplaatsingen die zwak verankerde delen minder snel losstoten. Deze volgorde van de eerste laag houdt ook rekening met een aangepaste filamentvolgorde voor de eerste laag, als die is ingesteld. Het voordeel van de cyclische volgorde (extra gereedschapswissels geven elke laag meer tijd om af te koelen) geldt niet voor de eerste laag, die langzaam en heet wordt geprint voor de hechting.\n" +"Schakel dit alleen in als je op elke laag, inclusief de eerste, exact dezelfde gereedschapsvolgorde nodig hebt, ten koste van die hechtingsoptimalisatie." + msgid "Slice gap closing radius" msgstr "Sluitingsradius van de gap" @@ -18515,9 +19041,6 @@ msgstr "Scheuren kleiner dan 2x de sluitradius van de spleet worden opgevuld tij msgid "Slicing Mode" msgstr "Slicing-modus" -msgid "Other" -msgstr "Anders" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Gebruik „Even-Oneven” voor 3DLabPrint-vliegtuigmodellen. Gebruik „Gaten sluiten” om alle gaten in het model te sluiten." @@ -19533,9 +20056,6 @@ msgstr "te grote lijnbreedte " msgid " not in range " msgstr " niet in bereik " -msgid "Export 3MF" -msgstr "Exporteer 3mf" - msgid "This exports the project as a 3MF file." msgstr "Dit exporteert het project als 3MF." @@ -19551,9 +20071,6 @@ msgstr "Laad slicinggegevens" msgid "Load cached slicing data from directory." msgstr "Laad slicinggegevens in de cache uit de directory" -msgid "Export STL" -msgstr "STL exporteren" - # AI Translated msgid "Export the objects as single STL." msgstr "Exporteer de objecten als één STL." @@ -19614,6 +20131,14 @@ msgstr "Geen controle" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Voer geen geldigheidscontroles uit, zoals de controle op conflicten tussen G-code-paden." +# AI Translated +msgid "Strict mode" +msgstr "Strikte modus" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Sluit af met een andere waarde dan nul wanneer het slicen een niet-kritieke waarschuwing oplevert die anders alleen gelogd wordt, zoals een model dat ondersteuning nodig heeft terwijl ondersteuning uitstaat. Gebruik dit in CI of in geautomatiseerde pipelines die nooit een subtiel kapotte slice mogen opleveren. Elke zo'n waarschuwing staat ook met een stabiele klasse in de array `warnings` van result.json, die alleen op Linux wordt geschreven. Kan niet worden gecombineerd met --no-check, dat de ondersteuningscontrole overslaat." + # AI Translated msgid "Normative check" msgstr "Normatieve controle" @@ -19628,11 +20153,28 @@ msgstr "Model informatie weergeven" msgid "This outputs the model’s information." msgstr "Dit geeft de informatie van het model weer." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Mesh inspecteren (JSON naar stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Print een JSON-samenvatting van elk geladen voorwerp naar stdout en sluit dan af: de begrenzingskaders en de vlakken van de convexe omhulling waarop het kan rusten, met hun normalen, oppervlakten en middelpunten. Dit zijn de vlakken waaruit de opties --ground-* kiezen. Machineleesbaar alternatief voor --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Beschildering inspecteren (JSON naar stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Print een gestructureerde JSON-samenvatting van elke beschilderde laag (ondersteuning, naad, MMU-kleur, vage buitenkant) die al op het geladen model is opgeslagen — aantal facetten, oppervlakte en mesh-lokaal begrenzingskader per toestand — en sluit dan af. Machineleesbaar alternatief voor het openen van de schildergizmo's in de interface." + msgid "Export Settings" msgstr "Exporteer instellingen" -msgid "This exports settings to a file." -msgstr "Exporteer instellingen naar een bestand" +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Dit exporteert instellingen naar een bestand. Gebruik - om ze naar stdout te schrijven." msgid "Send progress to pipe" msgstr "Stuur voortgang naar pipe" @@ -19691,6 +20233,30 @@ msgstr "Draai over de Y-as" msgid "Rotation angle around the Y axis in degrees." msgstr "Rotatiehoek rond de Y-as in graden." +# AI Translated +msgid "Ground largest face" +msgstr "Op grootste vlak leggen" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt elk voorwerp op het grootste vlak van zijn convexe omhulling en laat het op het printbed zakken. Van even grote vlakken blijft het vlak dat al omlaag wijst behouden. Voorwerpen zonder een vlak dat groot genoeg is om op te rusten, blijven zoals ze zijn. Transformaties worden uitgevoerd in de volgorde van de opdrachtregel, dus rotaties die vóór deze optie zijn opgegeven worden gerespecteerd. --orient 1 draait na alle transformaties en vervangt de oriëntatie." + +# AI Translated +msgid "Ground face by normal" +msgstr "Op vlak volgens normaal leggen" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt elk voorwerp op het vlak van de convexe omhulling waarvan de naar buiten gerichte normaal het dichtst bij de richting NX,NY,NZ ligt, en laat het op het printbed zakken. De richting is in voorwerpcoördinaten, die de vóór deze optie opgegeven rotaties bevatten en overeenkomen met de assen van het printbed, tenzij het invoerbestand het voorwerp draait. Bijvoorbeeld: 1,0,0 zet het voorwerp op zijn +X-zijde. --orient 1 draait na alle transformaties en vervangt de oriëntatie." + +# AI Translated +msgid "Ground face at point" +msgstr "Op vlak bij punt leggen" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Legt elk voorwerp op het vlak van de convexe omhulling dat het punt X,Y,Z bevat, en laat het op het printbed zakken. Het punt is in voorwerpcoördinaten, die de vóór deze optie opgegeven rotaties bevatten; --inspect-mesh geeft de middelpunten van vlakken in die coördinaten. Voorwerpen zonder zo'n vlak blijven zoals ze zijn, en de uitvoering mislukt als geen enkel voorwerp er een heeft. --orient 1 draait na alle transformaties en vervangt de oriëntatie." + msgid "Scale the model by a float factor." msgstr "Schaal het model met een float-factor" @@ -20072,14 +20638,37 @@ msgstr "Verbruikt filament" msgid "Total length of filament used in the print." msgstr "Totale lengte filament die in de print is gebruikt." -# AI Translated -msgid "Print time (seconds)" -msgstr "Printtijd (seconden)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Totale geschatte printtijd in seconden. Wordt tijdens de nabewerking vervangen door de werkelijke waarde." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "Filamentlengte (meters)" @@ -20368,9 +20957,6 @@ msgstr "Het bestand bevat een ongeldige hoekpuntindex." msgid "This OBJ file couldn't be read because it's empty." msgstr "Dit OBJ-bestand kon niet worden gelezen omdat het leeg is." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibratie van maximale volumetrische snelheid" - msgid "Manage Result" msgstr "Resultaat beheren" @@ -21279,10 +21865,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "LET OP: hoge waarden kunnen laagverschuiving veroorzaken (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibratie van de flow verhouding" - # AI Translated msgid "Calibration Test Type" msgstr "Type kalibratietest" @@ -22110,6 +22692,9 @@ msgstr "Er is geen geldige sessie gedetecteerd. Doorgaan met inloggen op 3DPrint msgid "Success!" msgstr "Succes!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Weet u zeker dat u wilt uitloggen?" @@ -23245,6 +23830,18 @@ msgstr "Deze actie kan niet ongedaan worden gemaakt. Doorgaan?" msgid "Skipping objects." msgstr "Objecten worden overgeslagen." +# AI Translated +msgid "Material Ratio" +msgstr "Materiaalverhouding" + +# AI Translated +msgid "Model Height" +msgstr "Modelhoogte" + +# AI Translated +msgid "Ratio" +msgstr "Verhouding" + msgid "Select Filament" msgstr "Selecteer filament" @@ -23280,14 +23877,6 @@ msgstr "De Bambu-netwerkplug-in is vereist voor cloudfuncties, het vinden van pr msgid "Error: %s" msgstr "Fout: %s" -# AI Translated -msgid "Show details" -msgstr "Details tonen" - -# AI Translated -msgid "Hide details" -msgstr "Details verbergen" - # AI Translated msgid "Version to install:" msgstr "Te installeren versie:" @@ -23553,12 +24142,14 @@ msgid "Drying-Dehumidifying" msgstr "Drogen - ontvochtigen" # AI Translated -msgid " maximum drying temperature is " -msgstr " de maximale droogtemperatuur is " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "De maximale droogtemperatuur van %s is %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " de minimale droogtemperatuur is " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "De minimale droogtemperatuur van %s is %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -23708,6 +24299,2502 @@ msgstr "Het filament is mogelijk niet compatibel met de huidige machine-instelli msgid "The filament model is unknown. A random filament preset will be used." msgstr "Het filamentmodel is onbekend. Er wordt een willekeurige filamentvoorinstelling gebruikt." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Einde" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Onderkant" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Pijl links" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Pijl rechts" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Pijl omhoog" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Pijl omlaag" + +# AI Translated +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importeer geometriegegevens uit STL-/STEP-/3MF-/OBJ-/AMF-bestanden" + +msgid "Select all objects" +msgstr "Selecteer alle objecten" + +msgid "Paste from clipboard" +msgstr "Plakken vanuit klembord" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Printbaar in-/uitschakelen voor object/onderdeel" + +msgid "Move selection 10mm in negative X direction" +msgstr "Verplaats de selectie 10mm in een negatieve X richting" + +msgid "Move selection 10mm in positive X direction" +msgstr "Verplaats de selectie 10mm in een positieve X richting" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Verplaats de selectie 10mm in een positieve Y richting" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Verplaats de selectie 10mm in een negatieve Y richting" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo bewegen" + +msgid "Gizmo rotate" +msgstr "Gizmo roteren" + +msgid "Gizmo scale" +msgstr "Gizmo schalen" + +msgid "Gizmo place face on bed" +msgstr "Gizmo plaats gebied op het bed" + +msgid "Gizmo cut" +msgstr "Gizmo snijden" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh booleaan" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM seam schilderen" + +# AI Translated +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM vage buitenkant schilderen" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo tekst reliëf/graveren" + +msgid "Gizmo measure" +msgstr "Gizmo maatregel" + +msgid "Gizmo assemble" +msgstr "Gizmo monteren" + +msgid "Gizmo brim ears" +msgstr "Gizmo rand oren" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Verticale schuifregelaar - Actieve thumb omhoog bewegen" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Verticale schuifregelaar - Actieve thumb omlaag bewegen" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Horizontale schuifbalk - Beweeg actieve duim naar links" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Horizontale schuifbalk - Beweeg actieve duim naar rechts" + +# AI Translated +msgid "Horizontal slider - Move to start position" +msgstr "Horizontale schuifregelaar - Naar de startpositie" + +# AI Translated +msgid "Horizontal slider - Move to last position" +msgstr "Horizontale schuifregelaar - Naar de laatste positie" + +msgid "Camera view - Default" +msgstr "Camera hoek - Standaard" + +msgid "Camera view - Top" +msgstr "Camera hoek - Bovenkant" + +msgid "Camera view - Bottom" +msgstr "Camera hoek - Onderkant" + +msgid "Camera view - Front" +msgstr "Camera hoek - Voorkant" + +msgid "Camera view - Behind" +msgstr "Camera hoek - Achter" + +msgid "Camera Angle - Left side" +msgstr "Camera hoek - Linker zijde" + +msgid "Camera Angle - Right side" +msgstr "Camera hoek - Rechter zijde" + +msgid "Camera view - Current plate" +msgstr "" + +# AI Translated +msgid "Zoom in" +msgstr "Inzoomen" + +msgid "Zoom out" +msgstr "Zoom uit" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Dialoogvenster met instellingen voor 3Dconnexion-apparaten weergeven/verbergen" + +msgid "Show/Hide wireframe" +msgstr "" + +# AI Translated +msgid "On/Off G-code window" +msgstr "G-code-venster aan/uit" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Aan/uit één laagmodus van de verticale schuifregelaar" + +# AI Translated +msgid "Switch between Prepare/Preview" +msgstr "Wisselen tussen Voorbereiden/Voorvertoning" + +msgid "Collapse/Expand the sidebar" +msgstr "De menubalk in-/uitschuiven" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Toon lijst met sneltoetsen" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -24009,6 +27096,168 @@ msgstr "" "Kromtrekken voorkomen\n" "Wist je dat bij het printen van materialen die gevoelig zijn voor kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het warmtebed de kans op kromtrekken kan verkleinen?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Toont de huidige FPS van de viewport in de rechterbovenhoek." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki over 3MF publiceren" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Videohandleiding over 3MF publiceren" + +#~ msgid "Toolbar" +#~ msgstr "Gereedschapsbalk" + +#~ msgid "Switch table page" +#~ msgstr "Schakeltabel pagina" + +#~ msgid "Global shortcuts" +#~ msgstr "Globale snelkoppelingen" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Middelste muisknop" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Oriënteert automatisch geselecteerde objecten of alle objecten. Als er geselecteerde objecten zijn, oriënteert het alleen de geselecteerde objecten. Anders worden alle objecten van het project georiënteerd." + +# AI Translated +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Oriënteert alle objecten op het actieve printbed automatisch." + +# AI Translated +#~ msgid "Any arrow" +#~ msgstr "Willekeurige pijltoets" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo SLA-ondersteuningspunten" + +#~ msgid "Plater" +#~ msgstr "Plaat" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Verwijder objecten, onderdelen, aanpassingen" + +#~ msgid "Objects List" +#~ msgstr "Objecten lijst" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code die helemaal bovenaan het uitvoerbestand wordt geschreven, vóór alle andere inhoud. Nuttig voor het toevoegen van metagegevens die de printerfirmware uit de eerste regels van het bestand leest (bijv. geschatte printtijd, filamentverbruik). Ondersteunt plaatshouders zoals {print_time_sec} en {used_filament_length}." + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "Printtijd (seconden)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Snelmenu met acties openen" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Links: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Rechts: " + +# AI Translated +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "De maximumtemperatuur mag niet hoger zijn dan " + +# AI Translated +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "De minimumtemperatuur mag niet lager zijn dan " + +#~ msgid "up to" +#~ msgstr "tot" + +#~ msgid "above" +#~ msgstr "Boven" + +#~ msgid "from" +#~ msgstr "Van" + +# AI Translated +#~ msgid "Configuration package: " +#~ msgstr "Configuratiepakket: " + +# AI Translated +#~ msgid " updated to " +#~ msgstr " bijgewerkt naar " + +# AI Translated +#~ msgid "Grouping error: " +#~ msgstr "Groeperingsfout: " + +# AI Translated +#~ msgid " can not be placed in the " +#~ msgstr " kan niet worden geplaatst in de " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " de maximale droogtemperatuur is " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " de minimale droogtemperatuur is " + +# AI Translated +#~ msgid "needs" +#~ msgstr "heeft nodig" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "niet ingeschakeld" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materiaal niet gepubliceerd" + +#~ msgid "Select the language" +#~ msgstr "Kies de taal" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Plug-in selecteren" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Richting waarin bovenoppervlakken worden gevuld bij gebruik van een patroon dat vanuit het midden werkt (Concentrisch, Archimedische koorden, Octagramspiraal).\n" +#~ "Naar buiten begint in het midden van het oppervlak, zodat overtollig materiaal naar de rand wordt geduwd, waar het het minst zichtbaar is. Naar binnen begint aan de rand en eindigt met de krappe bochten in het midden.\n" +#~ "Standaard gebruikt de volgorde van het kortste pad, die beide kanten op kan lopen." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Richting waarin onderoppervlakken worden gevuld bij gebruik van een patroon dat vanuit het midden werkt (Concentrisch, Archimedische koorden, Octagramspiraal).\n" +#~ "Naar binnen begint elk oppervlak met de bredere buitenbochten, wat de hechting van de eerste laag verbetert op printbedden waar de krappe bochten in het midden mogelijk niet hechten. Naar buiten begint in het midden en duwt overtollig materiaal naar de rand.\n" +#~ "Standaard gebruikt de volgorde van het kortste pad, die beide kanten op kan lopen." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Het afveegblok wordt niet geprint bij lagen zonder toolwisselingen als dit is ingeschakeld. Op lagen met een toolwissel zal de extruder neerwaarts bewegen naar het afveegblok. De gebruiker is verantwoordelijk voor eventuele botsingen met de print." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exporteer instellingen naar een bestand" + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Voor de native Wayland-liveview is de GStreamer GTK-videosink nodig. Installeer de gtksink-plug-in voor GStreamer en start OrcaSlicer opnieuw." @@ -24068,9 +27317,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Printvolgorde binnen één laag." -#~ msgid "Bottom" -#~ msgstr "Onderkant" - #~ msgid "Front" #~ msgstr "Voorkant" @@ -24089,9 +27335,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pijl naar rechts" -#~ msgid "End" -#~ msgstr "Einde" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 0f6fa10e3b..f5097f1ef5 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.3.0-rc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga <>\n" "Language-Team: \n" @@ -2512,15 +2512,6 @@ msgstr "Dostępna jest aktualizacja. Otwórz okno pakietu profili, aby ją zains msgid "%s has been removed." msgstr "%s został usunięty." -msgid "Switching application language" -msgstr "Zmiana języka aplikacji" - -msgid "Select the language" -msgstr "Wybierz język" - -msgid "Language" -msgstr "Język" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2558,6 +2549,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nie udało się otworzyć okna wtyczek (nieznany błąd)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal wtyczek" @@ -3791,11 +3795,15 @@ msgstr "Wycofaj bieżący filament na Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Przełącz tor na Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "Maksymalna temperatura nie może przekroczyć " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Maksymalna temperatura nie może przekroczyć %d" -msgid "The minmum temperature should not be less than " -msgstr "Minimalna temperatura nie powinna być mniejsza niż " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Minimalna temperatura nie powinna być mniejsza niż %d" # AI Translated msgid "Type to filter..." @@ -4256,6 +4264,21 @@ msgstr "OrcaSlicer powstał w tym samym duchu, czerpiąc z PrusaSlicer, BambuStu msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Dziś OrcaSlicer jest najczęściej używanym i najaktywniej rozwijanym otwartoźródłowym slicerem w społeczności druku 3D. Wiele jego innowacji zostało przejętych przez inne slicery, co czyni go siłą napędową całej branży." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Drukarka" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Ustawienia filamentów AMS" @@ -4704,6 +4727,15 @@ msgstr "" "Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Być może karta SD jest zablokowana do zapisu?\n" "Komunikat błędu: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Skopiowanie tymczasowego G-code do wyjściowego G-code nie powiodło się.\n" +"Komunikat błędu: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Może być problem z urządzeniem docelowym, spróbuj ponownie wyeksportować lub użyć innego urządzenia. Uszkodzony plik wyjściowego G-code znajduje się w pliku %1%.tmp." @@ -5013,6 +5045,10 @@ msgstr "" "Tak - Zmień te ustawienia automatycznie i włącz tryb Wazy\n" "Nie - Zrezygnuj tym razem z używania trybu Wazy" +# AI Translated +msgid "N/A" +msgstr "Nie dotyczy" + msgid "Printing" msgstr "Drukowanie" @@ -5449,14 +5485,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Wartość %s jest spoza zakresu. Poprawny zakres wynosi od %d do %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Czy to %s%% czy %s %s?\n" -"TAK dla %s%%,\n" -"NIE dla %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Czy to %s%% czy %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5480,30 +5513,22 @@ msgstr "Nieprawidłowy wzorzec. Użyj N, N#K lub listy rozdzielonej przecinkami msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Nieprawidłowy format. Oczekiwano formatu wektorowego: „%1%”" -# AI Translated -msgid "N/A" -msgstr "Nie dotyczy" - # AI Translated msgid "System agents" msgstr "Agenci systemowi" -# AI Translated -msgid "No plugin selected" -msgstr "Nie wybrano wtyczki" - # AI Translated msgid "Add plugin" msgstr "Dodaj wtyczkę" -# AI Translated -msgid "Select plugin" -msgstr "Wybierz wtyczkę" - # AI Translated msgid "Remove plugin" msgstr "Usuń wtyczkę" +# AI Translated +msgid "No plugin selected" +msgstr "Nie wybrano wtyczki" + # AI Translated msgid "Configure" msgstr "Konfiguruj" @@ -5767,14 +5792,20 @@ msgstr "Ustaw na optymalne" msgid "Regroup filament" msgstr "Zmień grupowanie filamentu" -msgid "up to" -msgstr "do" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "do %1% mm" -msgid "above" -msgstr "powyżej" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "powyżej %1% mm" -msgid "from" -msgstr "od" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "od %1% do %2% mm" # AI Translated msgid "Usage" @@ -5836,9 +5867,6 @@ msgctxt "Noun" msgid "Print" msgstr "Drukuj" -msgid "Printer" -msgstr "Drukarka" - msgid "Time Estimation" msgstr "Szacowany czas" @@ -6019,12 +6047,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Prawy" -msgid "Add" -msgstr "Dodaj" - msgid "Add plate" msgstr "Dodaj płytę" +msgid "Split to objects" +msgstr "Podziel na obiekty" + +msgid "Add" +msgstr "Dodaj" + msgid "Auto orient all/selected objects" msgstr "Automatyczna orientacja wszystkie/wybrane obiekty" @@ -6037,9 +6068,6 @@ msgstr "Rozmieść wszystkie obiekty" msgid "Arrange objects on selected plates" msgstr "Rozmieść obiekty na wybranych płytach" -msgid "Split to objects" -msgstr "Podziel na obiekty" - msgid "Assembly View" msgstr "Widok montażu" @@ -6102,6 +6130,9 @@ msgstr "kontur" msgid "Wireframe" msgstr "Siatka" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Widok realistyczny" @@ -6320,6 +6351,9 @@ msgstr "Zamykanie aplikacji podczas modyfikacji niektórych ustawień." msgid "Logging" msgstr "Logowanie" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Przygotowanie" @@ -6469,6 +6503,14 @@ msgstr "Zapisz projekt jako" msgid "Save current project as" msgstr "Zapisz bieżący projekt jako" +# AI Translated +msgid "Publish 3MF" +msgstr "Opublikuj 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Eksportuj plik 3MF z osadzonymi wybranymi ustawieniami" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importuj 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6655,6 +6697,9 @@ msgstr "Edycja" msgid "View" msgstr "Widok" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "Pakiet profili" @@ -7610,6 +7655,234 @@ msgstr "Nie pokazuj tego okna dialogowego ponownie" msgid "Please refer to Wiki before use->" msgstr "Przed użyciem zapoznaj się z Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Eksportuj STL" + +msgid "Export 3MF" +msgstr "Eksportuj 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibracja Maks. Prędkości Przepływu" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibracja współczynnika przepływu" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Usuń wszystkie obiekty" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Podziel na obiekty" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mysz 3D niepodłączona." @@ -7779,6 +8052,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Dół" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "To ustawienie nie określa typu funkcji wtyczki." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "To ustawienie określa nierozpoznany typ funkcji wtyczki: " + # AI Translated msgid "Plugin Selection" msgstr "Wybór wtyczek" @@ -8268,9 +8549,6 @@ msgstr "Rozwiń pasek boczny" msgid "Collapse sidebar" msgstr "Zwiń pasek boczny" -msgid "Tab" -msgstr "Karty" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Wczytywanie pliku: %s" @@ -8353,6 +8631,14 @@ msgstr "Proszę potwierdź, że G-code w tych profilach jest bezpieczny, aby zap msgid "Customized Preset" msgstr "Dostosowany profil" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Niektórych opublikowanych ustawień nie udało się zastosować:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Niektóre gniazda filamentu zostały zmienione:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Nazwa komponentów w pliku step nie jest w formacie UTF-8!" @@ -8474,10 +8760,6 @@ msgstr "" msgid "Delete Object" msgstr "Usuń obiekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Usuń wszystkie obiekty" - # AI Translated msgid "Reset Project" msgstr "Zresetuj projekt" @@ -8485,10 +8767,6 @@ msgstr "Zresetuj projekt" msgid "The selected object couldn't be split." msgstr "Nie można podzielić wybranego obiektu." -# AI Translated -msgid "Split to Objects" -msgstr "Podziel na obiekty" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Wyłączyć automatyczne opuszczanie, aby zachować pozycję Z?\n" @@ -8779,6 +9057,21 @@ msgstr "Zapisz plik po wykonaniu cięcia jako:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Plik %s został wysłany do pamięci drukarki i można go obejrzeć na urządzeniu." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Opublikuj plik 3MF jako:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Nie udało się wyeksportować opublikowanego pliku 3MF.\n" +"Sprawdź, czy folder istnieje w trybie online lub czy inne programy nie mają otwartego tego pliku." + +msgid "Publish" +msgstr "Opublikuj" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Nie ustawiono typu dyszy Wprowadź ustawienia dyszy i spróbuj ponownie." @@ -8993,9 +9286,6 @@ msgstr "Czy kontynuować?" msgid "Language selection" msgstr "Wybór języka" -msgid "Switching application language while some presets are modified." -msgstr "Zmiana języka aplikacji przy jednoczesnym istniejących zmodyfikowanych ustawieniach." - msgid "Asia-Pacific" msgstr "Azja i Pacyfik" @@ -9109,6 +9399,9 @@ msgstr "Aktualna ścieżka instancji: " msgid "General" msgstr "Ogólne" +msgid "Language" +msgstr "Język" + msgid "Metric" msgstr "Metryczne" @@ -9333,6 +9626,33 @@ msgstr "Obsługiwanie wielu urządzeń" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Umożliwia wysyłanie zadania do wielu urządzeń jednocześnie i zarządzanie nimi." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Okno dialogowe do wyboru trybu grupowania filamentów" @@ -9423,6 +9743,12 @@ msgstr "Odwrócone przybliżanie myszką" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Odwraca kierunek przybliżania kółkiem myszy." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Przesuwanie" @@ -9451,6 +9777,15 @@ msgstr "Przeciąganie prawym przyciskiem myszy" msgid "Set the action that dragging the right mouse button should perform." msgstr "Ustaw akcję wykonywaną przy przeciąganiu prawym przyciskiem myszy." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "Wyczyść mój wybór dla..." @@ -9579,13 +9914,40 @@ msgstr "" "Ogranicza liczbę klatek w widoku, aby zmniejszyć obciążenie GPU i zużycie energii.\n" "Ustaw 0, aby nie ograniczać liczby klatek." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Pokaż nakładkę FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Wyświetla bieżącą wartość FPS widoku w prawym górnym rogu." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9603,9 +9965,6 @@ msgstr "Podczas przewijania suwaka warstw w podglądzie po cięciu renderuj wars msgid "Dimmed layer brightness" msgstr "Jasność przyciemnionych warstw" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -10021,9 +10380,6 @@ msgstr "Przejdź do strony publikacji modelu" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Uwaga: Przygotowanie może zająć kilka minut. Proszę o cierpliwość." -msgid "Publish" -msgstr "Opublikuj" - msgid "Publish was canceled" msgstr "Publikacja została anulowana" @@ -10040,6 +10396,76 @@ msgstr "Przesyłanie danych" msgid "Jump to webpage" msgstr "Przejdź na stronę" +# AI Translated +msgid "Material" +msgstr "Materiał" + +# AI Translated +msgid "Mixed filament" +msgstr "Filament mieszany" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Niektóre filamenty mieszane zależą od filamentów, które nie zostaną opublikowane:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (mieszany)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% wymaga %2%, który nie jest włączony." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% wymaga %2%, którego materiał nie zostanie opublikowany." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Aby opublikować filament mieszany, włącz każdy filament, którego używa, i wybierz Pełną publikację lub spełnij jego wymaganie Rodzaju." + +# AI Translated +msgid "Publish anyway" +msgstr "Opublikuj mimo to" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Opublikuj 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Wybierz, które ustawienia zostaną opublikowane w pliku 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filament mieszany - publikowany w całości, gdy powyżej zaznaczono \"Włącz\"" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Opublikuj ten filament mieszany oraz włącz + opublikuj w całości jego filamenty składowe" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Opublikuj to gniazdo filamentu w pliku 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Pełna publikacja" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Osadź cały filament z tego gniazda w pliku 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtruj niezaznaczone" + #, c-format, boost-format msgid "Save %s as" msgstr "Zapisz %s jako" @@ -10058,6 +10484,10 @@ msgstr "Kopiuje do tego profilu wszystkie wartości odziedziczone z profilu nadr msgid "Detach from parent" msgstr "Odłącz od elementu nadrzędnego" +# AI Translated +msgid "Save without parent" +msgstr "Zapisz bez elementu nadrzędnego" + # AI Translated msgid "Unique preset" msgstr "Profil niezależny" @@ -10117,6 +10547,134 @@ msgstr "Dla „%1%” dodaj „%2%” jako nowy szablon" msgid "Simply switch to \"%1%\"" msgstr "Po prostu przełącz na „%1%”" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Inne" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "Pokaż szczegóły" + +# AI Translated +msgid "Hide details" +msgstr "Ukryj szczegóły" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Zadanie anulowane" @@ -10781,9 +11339,17 @@ msgstr "Wykrywanie zlepiania wymaga wieży czyszczącej. Bez wieży czyszczącej msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Jednoczesne włączenie precyzyjnej wysokości Z i wieży czyszczącej może powodować błędy cięcia. Czy nadal chcesz włączyć precyzyjną wysokość Z?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Płynny timelapse wymaga wieży czyszczącej na każdej warstwie, co nie jest zgodne z opcją \"Warstwy bez czyszczenia\". Opcja \"Warstwy bez czyszczenia\" została wyłączona." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Wieża czyszcząca jest wymagana dla płynnego timelapse. Możliwe są wady na modelu bez wieży czyszczącej. Czy włączyć wieżę czyszczącą?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "Opcja \"Warstwy bez czyszczenia\" nie jest zgodna z płynnym timelapse, który wymaga wieży czyszczącej na każdej warstwie. Timelapse został przełączony w tryb tradycyjny." + msgid "Still print by object?" msgstr "Czy nadal drukować według obiektu?" @@ -11168,10 +11734,6 @@ msgstr "Kompatybilne profile procesów" msgid "Printable space" msgstr "Przestrzeń do druku" -# AI Translated -msgid "Printer Agent" -msgstr "Agent drukarki" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Wybierz implementację agenta sieciowego do komunikacji z drukarką. Dostępni agenci są rejestrowani przy uruchamianiu." @@ -11600,14 +12162,6 @@ msgstr "Liczba ekstruderów" msgid "Capabilities" msgstr "Możliwości" -# AI Translated -msgid "Left: " -msgstr "Lewy: " - -# AI Translated -msgid "Right: " -msgstr "Prawy: " - msgid "Show all presets (including incompatible)" msgstr "Pokaż wszystkie profile (łącznie z niekompatybilnymi)" @@ -12003,57 +12557,39 @@ msgstr "Pakiet konfiguracyjny został zmieniony w poprzednim Przewodniku konfigu msgid "Configuration package changed" msgstr "Zmieniono pakiet konfiguracyjny" -msgid "Toolbar" -msgstr "Pasek narzędzi" - -msgid "Objects list" -msgstr "Lista obiektów" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Import danych geometrycznych z plików STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Wklej z schowka" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Pokaż/ukryj okno dialogowe ustawień urządzeń 3Dconnexion" - -msgid "Switch table page" -msgstr "Przełącz stronę tabeli" - -msgid "Show keyboard shortcuts list" -msgstr "Pokaż listę skrótów klawiszowych" - -msgid "Global shortcuts" -msgstr "Globalne skróty" - msgid "Pan View" msgstr "Przesuń widok" msgid "Rotate View" msgstr "Obróć widok" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "Środkowy przycisk myszy" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "Powiększ widok" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym razie ustawi wszystkie obiekty bieżącego projektu." - -msgid "Auto orients all objects on the active plate." -msgstr "Ta funkcja automatycznie ustawia orientację wszystkie obiekty na aktualnej płycie roboczej." - -msgid "Collapse/Expand the sidebar" -msgstr "Zwiń/Rozwiń pasek boczny" - -msgid "Any arrow" -msgstr "Dowolna strzałka" - -msgid "Movement in camera space" -msgstr "Ruch w przestrzeni kamery" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Wybierz część" @@ -12064,136 +12600,29 @@ msgstr "Wybierz wiele obiektów" msgid "Select objects by rectangle" msgstr "Wybierz obiekty prostokątem" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Strzałka w górę" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Przesuń wybrane o 10 mm w kierunku dodatnim osi Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Strzałka w dół" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Przesuń wybrane o 10 mm w kierunku ujemnym osi Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Strzałka w lewo" - -msgid "Move selection 10mm in negative X direction" -msgstr "Przesuń wybrane o 10 mm w kierunku ujemnym osi X" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Strzałka w prawo" - -msgid "Move selection 10mm in positive X direction" -msgstr "Przesuń wybrane o 10 mm w kierunku dodatnim osi X" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "klawiatura 1-9: ustaw filament dla obiektu/części" msgid "Movement step set to 1mm" msgstr "Ustaw krok ruchu na 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "klawiatura 1-9: ustaw filament dla obiektu/części" +msgid "Movement in camera space" +msgstr "Ruch w przestrzeni kamery" -msgid "Camera view - Default" -msgstr "Widok kamery - Domyślny" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Widok kamery - Z góry" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Widok kamery - Z dołu" +msgid "Zoom View" +msgstr "Powiększ widok" -msgid "Camera view - Front" -msgstr "Widok kamery - Z przodu" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Widok kamery - Z tyłu" - -msgid "Camera Angle - Left side" -msgstr "Kąt kamery - Lewa strona" - -msgid "Camera Angle - Right side" -msgstr "Kąt kamery - Prawa strona" - -msgid "Select all objects" -msgstr "Wybierz wszystkie obiekty" - -msgid "Gizmo move" -msgstr "Przenoszenie za pomocą „uchwytów”" - -msgid "Gizmo rotate" -msgstr "Obracanie za pomocą „uchwytów”" - -msgid "Gizmo scale" -msgstr "Skalowanie za pomocą „uchwytów”" - -msgid "Gizmo place face on bed" -msgstr "Położenie na płaszczyźnie za pomocą „uchwytów”" - -msgid "Gizmo cut" -msgstr "Cięcie za pomocą „uchwytów”" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo operacje boolowskie na siatce" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Uchwyt malowania Fuzzy Skin FDM" - -msgid "Gizmo SLA support points" -msgstr "Punkty podpór SLA za pomocą „uchwytów”" - -msgid "Gizmo FDM paint-on seam" -msgstr "Uchwyt malowania szwu FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Uchwyt wytłaczania/grawerowania tekstu" - -msgid "Gizmo measure" -msgstr "Gizmo mierzyć" - -msgid "Gizmo assemble" -msgstr "Gizmo montować" - -msgid "Gizmo brim ears" -msgstr "Gizmo uszy brim" - -msgid "Zoom in" -msgstr "Przybliżenie" - -msgid "Zoom out" -msgstr "Oddalenie" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Przełącz drukowalność obiektu/części" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Przełączanie między przygotowaniem/podglądem" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spacja" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Otwórz szybkie menu akcji" - -msgid "Plater" -msgstr "Płyta" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Przesuń: naciśnij, aby przyciągnąć co 1 mm" @@ -12204,14 +12633,19 @@ msgstr "Podpory/Kolorowanie: dostosuj promień pędzla" msgid "Support/Color Painting: adjust section position" msgstr "Podpory/Kolorowanie: dostosuj pozycję sekcji" -msgid "Gizmo" -msgstr "Uchwyt" +msgid "Objects list" +msgstr "Lista obiektów" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Ustaw numer extrudera dla obiektów i części" -msgid "Delete objects, parts, modifiers" -msgstr "Usuń obiekty, części, modyfikatory" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spacja" msgid "Select the object/part and press space to change the name" msgstr "Wybierz obiekt/część i naciśnij spację, aby zmienić nazwę" @@ -12222,45 +12656,48 @@ msgstr "Kliknięcie myszą" msgid "Select the object/part and mouse click to change the name" msgstr "Wybierz obiekt/część i kliknij myszą, aby zmienić nazwę" -msgid "Objects List" -msgstr "Lista obiektów" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Pionowy suwak - Przesuń aktywny punkt w górę" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Pionowy suwak - Przesuń aktywny punkt w dół" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Poziomy suwak - Przesuń aktywny punkt w lewo" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Poziomy suwak - Przesuń aktywny punkt w prawo" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Włącz/wyłącz wyświetlanie jednej warstwy suwaka pionowego" - -msgid "On/Off G-code window" -msgstr "Włącz/Wyłącz okno G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Przesuń suwak 5x szybciej" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Suwak poziomy - Przesuń do pozycji początkowej" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Suwak poziomy - Przesuń do ostatniej pozycji" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Informacje o wydaniu" @@ -12466,15 +12903,22 @@ msgstr "Naprawa anulowana" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Nie udało się skopiować pliku %1% do %2%: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Pobieranie nowych profili producentów: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Pakiet konfiguracyjny: %1% zaktualizowany do %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Nie udało się pobrać profili producentów: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Należy sprawdzić niezapisane zmiany przed aktualizacją konfiguracji." -msgid "Configuration package: " -msgstr "Pakiet konfiguracyjny:" - -msgid " updated to " -msgstr " aktualizacja do " - msgid "Open G-code file:" msgstr "Otwórz plik G-code:" @@ -12538,11 +12982,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping jest obsługiwany tylko przez Klipper, RepRapFirmware i Marlin 2." -msgid "Grouping error: " -msgstr "Błąd grupowania: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Błąd grupowania: %1% nie może zostać umieszczony w lewej dyszy" -msgid " can not be placed in the " -msgstr " nie może być umieszczony w " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Błąd grupowania: %1% nie może zostać umieszczony w prawej dyszy" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12657,6 +13105,10 @@ msgstr "%1% jest zbyt blisko innych, mogą wystąpić kolizje." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% jest zbyt wysoki, mogą wystąpić kolizje." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Wzajemne położenie modelu i wieży czyszczącej nie spełnia wymagań funkcji \"Warstwy bez czyszczenia\". Zmień ich wzajemne położenie, zmniejsz wysokość modelu albo wyłącz opcję \"Warstwy bez czyszczenia\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas drukowania." @@ -13029,6 +13481,10 @@ msgstr "Użyj 3MF zamiast G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Włącz tę opcję, jeśli drukarka przyjmuje plik 3MF jako zadanie druku. Po włączeniu Orca Slicer wysyła plik po cięciu jako .gcode.3mf zamiast zwykłego pliku .gcode." +# AI Translated +msgid "Printer Agent" +msgstr "Agent drukarki" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Wybierz implementację agenta sieciowego do komunikacji z drukarką." @@ -14132,6 +14588,10 @@ msgstr "Wyrównany prostoliniowy" msgid "Concentric" msgstr "Koncentryczny" +# AI Translated +msgid "Spiral Inset" +msgstr "Spirala do wewnątrz" + msgid "Hilbert Curve" msgstr "Krzywa Hilberta" @@ -14225,13 +14685,13 @@ msgstr "Kolejność wypełniania górnej powierzchni" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Kierunek wypełniania górnych powierzchni przy użyciu wzoru opartego na środku (Koncentryczny, Cięciwy Archimedesa, Spirala Octagram).\n" +"Kierunek wypełniania górnych powierzchni przy wzorze rozchodzącym się od środka (Koncentryczny, Spirala do wewnątrz, Struny Archimedesa, Spirala oktagramu).\n" "Na zewnątrz zaczyna od środka powierzchni, dzięki czemu nadmiar materiału jest wypychany ku krawędzi, gdzie jest najmniej widoczny. Do wewnątrz zaczyna od krawędzi i kończy ciasnymi łukami na środku.\n" -"Domyślnie używana jest kolejność najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." +"Domyślny używa kolejności najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." # AI Translated msgid "Bottom surface fill order" @@ -14239,13 +14699,13 @@ msgstr "Kolejność wypełniania dolnej powierzchni" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Kierunek wypełniania dolnych powierzchni przy użyciu wzoru opartego na środku (Koncentryczny, Cięciwy Archimedesa, Spirala Octagram).\n" -"Do wewnątrz rozpoczyna każdą powierzchnię od szerszych łuków zewnętrznych, co poprawia przyczepność pierwszej warstwy na stołach, do których ciasne łuki na środku mogą nie przylegać. Na zewnątrz zaczyna od środka, wypychając nadmiar materiału ku krawędzi.\n" -"Domyślnie używana jest kolejność najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." +"Kierunek wypełniania dolnych powierzchni przy wzorze rozchodzącym się od środka (Koncentryczny, Spirala do wewnątrz, Struny Archimedesa, Spirala oktagramu).\n" +"Do wewnątrz zaczyna każdą powierzchnię od szerszych łuków zewnętrznych, co poprawia przyczepność pierwszej warstwy na stołach, na których ciasne łuki na środku mogą się nie przykleić. Na zewnątrz zaczyna od środka i wypycha nadmiar materiału ku krawędzi.\n" +"Domyślny używa kolejności najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." msgid "Internal solid infill pattern" msgstr "Wzór wewnętrznego pełnego wypełnienia" @@ -14348,6 +14808,14 @@ msgstr "Przeciwnie" msgid "Clockwise" msgstr "Zgodnie" +# AI Translated +msgid "Distance to rod" +msgstr "Odległość do pręta" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Odległość pozioma czubka dyszy od dalszej krawędzi pręta. Używana do unikania kolizji przy druku wg obiektu." + msgid "Height to rod" msgstr "Odległość od prowadnicy" @@ -16600,6 +17068,20 @@ msgstr "Wykrywanie ścian nawisu" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Określ procentowy udział nawisów w stosunku do szerokości ekstruzji i użyj różnych prędkości do druku. Dla 100%% nawisów, zostanie użyta prędkość mostu." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Drukuj niepodparte ściany na końcu" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Pętle ścian leżące w całości w powietrzu są drukowane dopiero wtedy, gdy coś może je utrzymać:\n" +"są wytłaczane po pozostałych ścianach swojej wyspy, począwszy od najbardziej wewnętrznej, niezależnie od kolejności ścian.\n" +"Pętla, którą mogą zakotwiczyć tylko mosty tej warstwy, czeka na wydrukowanie tych mostów, natomiast pętla biegnąca wzdłuż podpartej ściany zachowuje swoje miejsce przed wypełnieniem, które potrzebuje jej jako zakotwiczenia." + # AI Translated msgid "Outer walls" msgstr "Ściany zewnętrzne" @@ -17050,6 +17532,39 @@ msgstr "Czyszczenie na pętlach" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Aby zminimalizować widoczność szwu w ekstruzji zamkniętej pętli, przed opuszczeniem pętli przez extruder wykonuje się mały ruch do wewnątrz." +# AI Translated +msgid "Wipe inward" +msgstr "Wycieranie do wewnątrz" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Dotyczy wyłącznie ścian zewnętrznych, w tym obrysów otworów. Podczas wycierania przesuwa gorącą dyszę w stronę wydrukowanych już ścian wewnętrznych, aby ograniczyć ponowne nagrzewanie świeżo wydrukowanego tworzywa i ślady szwu.\n" +"\n" +"Szczególnie przydatne przy wysokościach warstwy poniżej 0,1 mm, gdzie ślady wycierania są bardziej widoczne.\n" +"\n" +"Używa zwykłego wycierania, jeśli żadna sąsiednia ściana wewnętrzna nie została jeszcze wydrukowana (obszary o pojedynczej ścianie lub kolejność ścian Zewnętrzna/wewnętrzna) albo jeśli nie można znaleźć podpartej ścieżki do wewnątrz, na przykład w ciasnych narożnikach lub przerwach szwu." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Odległość wycierania do wewnątrz" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Odległość, o jaką ścieżka wycierania zostaje przesunięta od zewnętrznego obrysu, podana w milimetrach lub jako procent rzeczywistej szerokości ekstruzji zewnętrznej ściany.\n" +"\n" +"Na przykład 50% przesuwa ścieżkę o połowę szerokości zewnętrznej ściany. Skuteczne przesunięcie jest ograniczone zarówno rzeczywistą szerokością zewnętrznej ściany, jak i dostępnym odstępem do sąsiedniej ściany, więc wartości powyżej 100% lub równoważna odległość bezwzględna nie dają dodatkowego efektu. Ustaw 0, aby wyłączyć przesunięcie." + msgid "Wipe before external loop" msgstr "Wycieranie przed zewnętrzną pętlą" @@ -17257,9 +17772,8 @@ msgstr "Kroki wstępnego podgrzewania" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Wprowadź wiele poleceń dotyczących podgrzewania (np. M104.1). Funkcja ta działa tylko w drukarce Prusa XL. Dla pozostałych drukarek ustaw wartość na 1." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code zapisywany na samej górze pliku wyjściowego, przed jakąkolwiek inną treścią. Przydatny do dodawania metadanych, które oprogramowanie sprzętowe drukarki odczytuje z pierwszych wierszy pliku (np. szacowany czas druku, zużycie filamentu). Obsługuje symbole zastępcze, takie jak {print_time_sec} i {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Początkowy G-code" @@ -17326,8 +17840,9 @@ msgstr "Pobiera nowe narzędzie bez czekania, aż osiągnie temperaturę druku, msgid "No sparse layers (beta)" msgstr "Warstwy bez czyszczenia (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Jeśli włączone to wieża czyszcząca nie będzie drukowana na warstwach, na których nie ma zmian koloru. Na kolejnych warstwach ze zmianami koloru ekstruder zjedzie w dół, aby kontynuować czyszczenie na wieży. Pamiętaj, że to użytkownik musi upewnić się, że nie dojdzie do kolizji głowicy z wydrukiem." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Jeśli opcja jest włączona, wieża czyszcząca nie będzie drukowana na warstwach bez zmian narzędzia. Na warstwach ze zmianą narzędzia ekstruder zjedzie w dół, aby wydrukować wieżę czyszczącą, przez co wieża znajdzie się poniżej modelu, a głowica musi po nią sięgnąć w dół. Układy, w których doszłoby przy tym do kolizji z już wydrukowanym obiektem, są odrzucane. Nie działa przy płynnym timelapse ani przy wykrywaniu nalotu na dyszy, które wymagają wieży na każdej warstwie." msgid "Prime all printing extruders" msgstr "Wyczyść wszystkie używane ekstrudery" @@ -17353,6 +17868,34 @@ msgstr "" msgid "Cyclic" msgstr "Cykliczna" +# AI Translated +msgid "Cyclic order" +msgstr "Kolejność cykliczna" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Własna sekwencja filamentów używana przez cykliczną kolejność zmian narzędzia, jako numery filamentów oddzielone przecinkami (np. \"3,2,1,4\").\n" +"Każda warstwa drukuje swoje filamenty zgodnie z tą sekwencją; filamenty niewymienione są drukowane na końcu, w kolejności rosnącej.\n" +"Pozostaw puste, aby przechodzić przez filamenty w kolejności rosnącej." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Zastosuj kolejność cykliczną do pierwszej warstwy" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Stosuje cykliczną kolejność zmian narzędzia również do pierwszej warstwy.\n" +"Domyślnie jest to wyłączone, ponieważ pierwsza warstwa jest zamiast tego układana pod kątem najlepszej przyczepności do podłoża: filamenty drukujące małe, delikatne elementy pierwszej warstwy są drukowane na końcu, dzięki czemu kolejne zmiany narzędzia i przemieszczenia rzadziej odrywają te słabo zakotwiczone fragmenty. Ta kolejność pierwszej warstwy uwzględnia też własną sekwencję filamentów dla pierwszej warstwy, jeśli została ustawiona. Korzyść z kolejności cyklicznej (dodatkowe zmiany narzędzia dają każdej warstwie więcej czasu na ostygnięcie) nie dotyczy pierwszej warstwy, która jest drukowana wolno i gorąco dla przyczepności.\n" +"Włącz tę opcję tylko wtedy, gdy potrzebujesz dokładnie tej samej sekwencji narzędzi na każdej warstwie, łącznie z pierwszą, kosztem tej optymalizacji przyczepności." + msgid "Slice gap closing radius" msgstr "Promień zamykania szpar" @@ -17362,9 +17905,6 @@ msgstr "Szpary mniejsze niż dwukrotność wartości parametru „promień zamyk msgid "Slicing Mode" msgstr "Tryb cięcia" -msgid "Other" -msgstr "Inne" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Użyj „Parzysto-nieparzysty” dla modeli samolotów 3DLabPrint. Użyj „Zamknij otwory” do zamknięcia wszystkich otworów w modelu." @@ -18316,9 +18856,6 @@ msgstr "zbyt duża szerokość linii " msgid " not in range " msgstr " nie w zakresie " -msgid "Export 3MF" -msgstr "Eksportuj 3MF" - msgid "This exports the project as a 3MF file." msgstr "Eksportuj projekt jako 3MF." @@ -18334,9 +18871,6 @@ msgstr "Wczytaj dane cięcia" msgid "Load cached slicing data from directory." msgstr "Załaduj buforowane dane slicowania z katalogu" -msgid "Export STL" -msgstr "Eksportuj STL" - msgid "Export the objects as single STL." msgstr "Eksportuj obiekty jako jeden plik STL." @@ -18388,6 +18922,14 @@ msgstr "Brak sprawdzania" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Nie uruchamiaj żadnych testów poprawności, takich jak sprawdzanie konfliktów ścieżek G-code." +# AI Translated +msgid "Strict mode" +msgstr "Tryb ścisły" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Kończy działanie z kodem różnym od zera, gdy cięcie zgłosi niekrytyczne ostrzeżenie, które w przeciwnym razie trafiłoby tylko do dziennika, na przykład model wymagający podpór przy wyłączonych podporach. Używaj tego w CI lub w zautomatyzowanych procesach, które nigdy nie powinny wypuścić subtelnie wadliwego cięcia. Każde takie ostrzeżenie jest też wymienione ze stabilną klasą w tablicy `warnings` pliku result.json, zapisywanego wyłącznie w systemie Linux. Nie można łączyć z --no-check, które pomija kontrolę podpór." + msgid "Normative check" msgstr "Kontrola normatywna" @@ -18400,11 +18942,28 @@ msgstr "Informacje o modelu wyjściowym" msgid "This outputs the model’s information." msgstr "Wyświetl informacje o modelu." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Sprawdź siatkę (JSON na stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Wypisuje na stdout podsumowanie JSON każdego wczytanego obiektu, a następnie kończy działanie: jego prostopadłościany otaczające oraz ściany otoczki wypukłej, na których może spoczywać, wraz z ich normalnymi, polami i środkami. To właśnie spośród tych ścian wybierają opcje --ground-*. Czytelna maszynowo alternatywa dla --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Sprawdź malowanie (JSON na stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Wypisuje ustrukturyzowane podsumowanie JSON każdej malowanej warstwy (podpory, szew, kolor MMU, skóra fuzzy) już zapisanej we wczytanym modelu — liczba ścianek, pole powierzchni i prostopadłościan otaczający w układzie siatki dla każdego stanu — a następnie kończy działanie. Czytelna maszynowo alternatywa dla otwierania narzędzi malowania w interfejsie." + msgid "Export Settings" msgstr "Ustawienia eksportu" -msgid "This exports settings to a file." -msgstr "Eksportuj ustawienia do pliku." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "To eksportuje ustawienia do pliku. Użyj -, aby zapisać je na stdout." msgid "Send progress to pipe" msgstr "Wyślij postęp do rury" @@ -18460,6 +19019,30 @@ msgstr "Obróć wokół osi Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Kąt obrotu wokół osi Y w stopniach." +# AI Translated +msgid "Ground largest face" +msgstr "Oprzyj na największej ścianie" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Kładzie każdy obiekt na największej ścianie jego otoczki wypukłej i opuszcza go na stół. Spośród ścian o równej wielkości zachowywana jest ta, która już jest skierowana w dół. Obiekty bez ściany wystarczająco dużej, by na niej spocząć, pozostają bez zmian. Przekształcenia wykonywane są w kolejności z wiersza poleceń, więc obroty podane przed tą opcją są respektowane. --orient 1 działa po wszystkich przekształceniach i zastępuje orientację." + +# AI Translated +msgid "Ground face by normal" +msgstr "Oprzyj na ścianie wg normalnej" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Kładzie każdy obiekt na tej ścianie otoczki wypukłej, której normalna zewnętrzna jest najbliższa kierunkowi NX,NY,NZ, i opuszcza go na stół. Kierunek podawany jest we współrzędnych obiektu, które uwzględniają obroty podane przed tą opcją i pokrywają się z osiami stołu, o ile plik wejściowy nie obraca obiektu. Na przykład 1,0,0 stawia obiekt na jego stronie +X. --orient 1 działa po wszystkich przekształceniach i zastępuje orientację." + +# AI Translated +msgid "Ground face at point" +msgstr "Oprzyj na ścianie w punkcie" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Kładzie każdy obiekt na tej ścianie otoczki wypukłej, która zawiera punkt X,Y,Z, i opuszcza go na stół. Punkt podawany jest we współrzędnych obiektu, które uwzględniają obroty podane przed tą opcją; --inspect-mesh podaje środki ścian w tych współrzędnych. Obiekty bez takiej ściany pozostają bez zmian, a przebieg kończy się niepowodzeniem, jeśli żaden obiekt jej nie ma. --orient 1 działa po wszystkich przekształceniach i zastępuje orientację." + msgid "Scale the model by a float factor." msgstr "Skaluj model przez czynnik zmiennoprzecinkowy" @@ -18769,14 +19352,37 @@ msgstr "Użyty filament" msgid "Total length of filament used in the print." msgstr "Całkowita długość filamentu użytego w wydruku." -# AI Translated -msgid "Print time (seconds)" -msgstr "Czas druku (sekundy)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Całkowity szacowany czas druku w sekundach. Zastępowany rzeczywistą wartością podczas postprocessingu." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "Długość filamentu (metry)" @@ -19009,9 +19615,6 @@ msgstr "Plik zawiera nieprawidłowy indeks wierzchołka." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ten plik OBJ nie mógł zostać odczytany, ponieważ jest pusty." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibracja Maks. Prędkości Przepływu" - msgid "Manage Result" msgstr "Zarządzanie Wynikiem" @@ -19896,10 +20499,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "UWAGA: wysokie wartości mogą powodować przesunięcie warstw (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibracja współczynnika przepływu" - # AI Translated msgid "Calibration Test Type" msgstr "Typ testu kalibracyjnego" @@ -20699,6 +21298,9 @@ msgstr "Nie wykryto prawidłowej sesji. Kontynuować logowaniem do 3DPrinterOS?" msgid "Success!" msgstr "Powodzenie!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Czy na pewno wylogować?" @@ -21723,6 +22325,18 @@ msgstr "Tego działania nie będzie można cofnąć. Kontynuować?" msgid "Skipping objects." msgstr "Pomijanie obiektów." +# AI Translated +msgid "Material Ratio" +msgstr "Udział materiału" + +# AI Translated +msgid "Model Height" +msgstr "Wysokość modelu" + +# AI Translated +msgid "Ratio" +msgstr "Udział" + msgid "Select Filament" msgstr "Wybierz filament" @@ -21758,14 +22372,6 @@ msgstr "Wtyczka Bambu Network jest wymagana do funkcji chmurowych, wykrywania dr msgid "Error: %s" msgstr "Błąd: %s" -# AI Translated -msgid "Show details" -msgstr "Pokaż szczegóły" - -# AI Translated -msgid "Hide details" -msgstr "Ukryj szczegóły" - # AI Translated msgid "Version to install:" msgstr "Wersja do zainstalowania:" @@ -22015,12 +22621,14 @@ msgid "Drying-Dehumidifying" msgstr "Suszenie — osuszanie" # AI Translated -msgid " maximum drying temperature is " -msgstr " maksymalna temperatura suszenia to " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Maksymalna temperatura suszenia dla %s to %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " minimalna temperatura suszenia to " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Minimalna temperatura suszenia dla %s to %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -22165,6 +22773,2495 @@ msgstr "Filament może być niezgodny z bieżącymi ustawieniami urządzenia. U msgid "The filament model is unknown. A random filament preset will be used." msgstr "Model filamentu jest nieznany. Losowy profil filamentu zostanie użyty" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "Offset" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Koniec" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dół" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Strzałka w lewo" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Strzałka w prawo" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Strzałka w górę" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Strzałka w dół" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Import danych geometrycznych z plików STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Wybierz wszystkie obiekty" + +msgid "Paste from clipboard" +msgstr "Wklej z schowka" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Przełącz drukowalność obiektu/części" + +msgid "Move selection 10mm in negative X direction" +msgstr "Przesuń wybrane o 10 mm w kierunku ujemnym osi X" + +msgid "Move selection 10mm in positive X direction" +msgstr "Przesuń wybrane o 10 mm w kierunku dodatnim osi X" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Przesuń wybrane o 10 mm w kierunku dodatnim osi Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Przesuń wybrane o 10 mm w kierunku ujemnym osi Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Przenoszenie za pomocą „uchwytów”" + +msgid "Gizmo rotate" +msgstr "Obracanie za pomocą „uchwytów”" + +msgid "Gizmo scale" +msgstr "Skalowanie za pomocą „uchwytów”" + +msgid "Gizmo place face on bed" +msgstr "Położenie na płaszczyźnie za pomocą „uchwytów”" + +msgid "Gizmo cut" +msgstr "Cięcie za pomocą „uchwytów”" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo operacje boolowskie na siatce" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Uchwyt malowania szwu FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Uchwyt malowania Fuzzy Skin FDM" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Uchwyt wytłaczania/grawerowania tekstu" + +msgid "Gizmo measure" +msgstr "Gizmo mierzyć" + +msgid "Gizmo assemble" +msgstr "Gizmo montować" + +msgid "Gizmo brim ears" +msgstr "Gizmo uszy brim" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Pionowy suwak - Przesuń aktywny punkt w górę" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Pionowy suwak - Przesuń aktywny punkt w dół" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Poziomy suwak - Przesuń aktywny punkt w lewo" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Poziomy suwak - Przesuń aktywny punkt w prawo" + +msgid "Horizontal slider - Move to start position" +msgstr "Suwak poziomy - Przesuń do pozycji początkowej" + +msgid "Horizontal slider - Move to last position" +msgstr "Suwak poziomy - Przesuń do ostatniej pozycji" + +msgid "Camera view - Default" +msgstr "Widok kamery - Domyślny" + +msgid "Camera view - Top" +msgstr "Widok kamery - Z góry" + +msgid "Camera view - Bottom" +msgstr "Widok kamery - Z dołu" + +msgid "Camera view - Front" +msgstr "Widok kamery - Z przodu" + +msgid "Camera view - Behind" +msgstr "Widok kamery - Z tyłu" + +msgid "Camera Angle - Left side" +msgstr "Kąt kamery - Lewa strona" + +msgid "Camera Angle - Right side" +msgstr "Kąt kamery - Prawa strona" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Przybliżenie" + +msgid "Zoom out" +msgstr "Oddalenie" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Pokaż/ukryj okno dialogowe ustawień urządzeń 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Włącz/Wyłącz okno G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Włącz/wyłącz wyświetlanie jednej warstwy suwaka pionowego" + +msgid "Switch between Prepare/Preview" +msgstr "Przełączanie między przygotowaniem/podglądem" + +msgid "Collapse/Expand the sidebar" +msgstr "Zwiń/Rozwiń pasek boczny" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Pokaż listę skrótów klawiszowych" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22466,6 +25563,158 @@ msgstr "" "Unikaj odkształceń\n" "Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń?" +#~ msgid "Tab" +#~ msgstr "Karty" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Wyświetla bieżącą wartość FPS widoku w prawym górnym rogu." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki publikowania 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Poradnik wideo publikowania 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Pasek narzędzi" + +#~ msgid "Switch table page" +#~ msgstr "Przełącz stronę tabeli" + +#~ msgid "Global shortcuts" +#~ msgstr "Globalne skróty" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Środkowy przycisk myszy" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym razie ustawi wszystkie obiekty bieżącego projektu." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Ta funkcja automatycznie ustawia orientację wszystkie obiekty na aktualnej płycie roboczej." + +#~ msgid "Any arrow" +#~ msgstr "Dowolna strzałka" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Punkty podpór SLA za pomocą „uchwytów”" + +#~ msgid "Plater" +#~ msgstr "Płyta" + +#~ msgid "Gizmo" +#~ msgstr "Uchwyt" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Usuń obiekty, części, modyfikatory" + +#~ msgid "Objects List" +#~ msgstr "Lista obiektów" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code zapisywany na samej górze pliku wyjściowego, przed jakąkolwiek inną treścią. Przydatny do dodawania metadanych, które oprogramowanie sprzętowe drukarki odczytuje z pierwszych wierszy pliku (np. szacowany czas druku, zużycie filamentu). Obsługuje symbole zastępcze, takie jak {print_time_sec} i {used_filament_length}." + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "Czas druku (sekundy)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Otwórz szybkie menu akcji" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Lewy: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Prawy: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Maksymalna temperatura nie może przekroczyć " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Minimalna temperatura nie powinna być mniejsza niż " + +#~ msgid "up to" +#~ msgstr "do" + +#~ msgid "above" +#~ msgstr "powyżej" + +#~ msgid "from" +#~ msgstr "od" + +#~ msgid "Configuration package: " +#~ msgstr "Pakiet konfiguracyjny:" + +#~ msgid " updated to " +#~ msgstr " aktualizacja do " + +#~ msgid "Grouping error: " +#~ msgstr "Błąd grupowania: " + +#~ msgid " can not be placed in the " +#~ msgstr " nie może być umieszczony w " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " maksymalna temperatura suszenia to " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " minimalna temperatura suszenia to " + +# AI Translated +#~ msgid "needs" +#~ msgstr "wymaga" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "nie włączony" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materiał nieopublikowany" + +#~ msgid "Select the language" +#~ msgstr "Wybierz język" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Wybierz wtyczkę" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Kierunek wypełniania górnych powierzchni przy użyciu wzoru opartego na środku (Koncentryczny, Cięciwy Archimedesa, Spirala Octagram).\n" +#~ "Na zewnątrz zaczyna od środka powierzchni, dzięki czemu nadmiar materiału jest wypychany ku krawędzi, gdzie jest najmniej widoczny. Do wewnątrz zaczyna od krawędzi i kończy ciasnymi łukami na środku.\n" +#~ "Domyślnie używana jest kolejność najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Kierunek wypełniania dolnych powierzchni przy użyciu wzoru opartego na środku (Koncentryczny, Cięciwy Archimedesa, Spirala Octagram).\n" +#~ "Do wewnątrz rozpoczyna każdą powierzchnię od szerszych łuków zewnętrznych, co poprawia przyczepność pierwszej warstwy na stołach, do których ciasne łuki na środku mogą nie przylegać. Na zewnątrz zaczyna od środka, wypychając nadmiar materiału ku krawędzi.\n" +#~ "Domyślnie używana jest kolejność najkrótszej ścieżki, która może przebiegać w dowolnym kierunku." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Jeśli włączone to wieża czyszcząca nie będzie drukowana na warstwach, na których nie ma zmian koloru. Na kolejnych warstwach ze zmianami koloru ekstruder zjedzie w dół, aby kontynuować czyszczenie na wieży. Pamiętaj, że to użytkownik musi upewnić się, że nie dojdzie do kolizji głowicy z wydrukiem." + +#~ msgid "This exports settings to a file." +#~ msgstr "Eksportuj ustawienia do pliku." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Natywny podgląd na żywo w Wayland wymaga ujścia wideo GStreamer GTK. Zainstaluj wtyczkę gtksink dla GStreamer, a następnie uruchom ponownie OrcaSlicer." @@ -22521,9 +25770,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według listy obiektów" -#~ msgid "Bottom" -#~ msgstr "Dół" - #~ msgid "Front" #~ msgstr "Przód" @@ -22548,9 +25794,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Strzałka w prawo" -#~ msgid "End" -#~ msgstr "Koniec" - #~ msgid "Hotend" #~ msgstr "Hotend" @@ -25012,9 +28255,6 @@ msgstr "" #~ msgid "Preview hollowed and drilled model" #~ msgstr "Podgląd drążenia/wiercenia" -#~ msgid "Offset" -#~ msgstr "Offset" - #~ msgid "Closing distance" #~ msgstr "Dystans domykania" @@ -25353,15 +28593,6 @@ msgstr "" #~ msgid "Low-temperature filament (PLA/PETG/TPU) is loaded in the extruder. In order to avoid extruder clogging, it is not allowed to set the chamber temperature above 45℃." #~ msgstr "W ekstruzorze jest załadowany filament o niskiej temperaturze (PLA/PETG/TPU). Aby uniknąć zatkania ekstruzora, nie wolno ustawiać temperatury komory powyżej 45℃." -#~ msgid "" -#~ "Is it %s%% or %s %s?\n" -#~ "YES for %s%%,\n" -#~ "NO for %s %s." -#~ msgstr "" -#~ "Czy to %s%% czy %s %s?\n" -#~ "TAK dla %s%%,\n" -#~ "NIE dla %s %s." - #~ msgid "Allow multiple materials on the same plate" #~ msgstr "Pozwól na kilka filamentów na tej samej płycie" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 0d9698d746..67758b8b9d 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-07-26 11:14-0300\n" "Last-Translator: Alexandre Folle de Menezes\n" "Language-Team: Portuguese, Brazilian\n" @@ -2128,7 +2128,7 @@ msgid "" "OrcaSlicer has attempted to recreate the configuration file.\n" "Please note, application settings will be lost, but printer profiles will not be affected." msgstr "" -"O arquivo de configuração do OrcaSlicer pode estar corrompido e não pode ser analisado.\n" +"O arquivo de configuração do OrcaSlicer pode estar corrompido e não pode ser processado.\n" "O OrcaSlicer tentou recriar o arquivo de configuração.\n" "Por favor, note que as configurações do aplicativo serão perdidas, mas os perfis de impressora não serão afetados." @@ -2356,15 +2356,6 @@ msgstr "Há uma atualização disponível. Abra a caixa de diálogo do pacote de msgid "%s has been removed." msgstr "%s foi removido." -msgid "Switching application language" -msgstr "Alternando o idioma do aplicativo" - -msgid "Select the language" -msgstr "Selecione o idioma" - -msgid "Language" -msgstr "Idioma" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "Falha ao mudar o idioma do OrcaSlicer para %s." @@ -2397,6 +2388,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Falha ao abrir a caixa de diálogo de Plugins (erro desconhecido)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal de plugin" @@ -3573,11 +3577,15 @@ msgstr "Recuar o filamento atual no Filament Track Switch" msgid "Switch track at Filament Track Switch" msgstr "Trocar de trilha no Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "A temperatura máxima não pode exceder " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "A temperatura máxima não pode exceder %d" -msgid "The minmum temperature should not be less than " -msgstr "A temperatura mínima não pode ser menor do que " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "A temperatura mínima não pode ser menor do que %d" msgid "Type to filter..." msgstr "Digite para filtrar…" @@ -4007,6 +4015,21 @@ msgstr "O OrcaSlicer começou com esse mesmo espírito, inspirando-se no PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Atualmente, o OrcaSlicer é o fatiador de código aberto mais utilizado e ativamente desenvolvido na comunidade de impressão 3D. Muitas de suas inovações foram adotadas por outros fatiadores, tornando-o uma força motriz para toda a indústria." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impressora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Configuração de Materiais AMS" @@ -4443,6 +4466,15 @@ msgstr "" "A cópia do G-code temporário para o G-code de saída falhou. Talvez o cartão SD esteja travado pra escrita?\n" "Mensagem de erro: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Falha ao copiar o G-code temporário para o G-code de saída.\n" +"Mensagem de erro: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "A cópia do G-code temporário para o G-code de saída falhou. Pode haver problema com o dispositivo de destino, por favor tente exportar novamente ou usar outro dispositivo. O G-code de saída corrompido está em %1%.tmp." @@ -4743,6 +4775,9 @@ msgstr "" "Sim - Alterar essas configurações e ativar o modo espiral/vaso automaticamente\n" "Não - Cancelar ativação do modo espiral" +msgid "N/A" +msgstr "N/D" + msgid "Printing" msgstr "Imprimindo" @@ -5167,14 +5202,12 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Valor %s está fora do intervalo. O intervalo válido é de %d para %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"É %s%% ou %s %s?\n" -"SIM para %s%%, \n" -"NÃO para %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "É %s%% ou %s %s?" + +# AI Translated +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5196,24 +5229,18 @@ msgstr "Padrão inválido. Use N, N#K, ou uma lista separa por vírgulas com #K msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Formato inválido. Formato de vetor esperado: \"%1%\"" -msgid "N/A" -msgstr "N/D" - msgid "System agents" msgstr "Agentes do sistema" -msgid "No plugin selected" -msgstr "Nenhum plugin selecionado" - msgid "Add plugin" msgstr "Adicionar plugin" -msgid "Select plugin" -msgstr "Selecionar plugin" - msgid "Remove plugin" msgstr "Remover plugin" +msgid "No plugin selected" +msgstr "Nenhum plugin selecionado" + msgid "Configure" msgstr "Configurar" @@ -5468,14 +5495,20 @@ msgstr "Definir para Ideal" msgid "Regroup filament" msgstr "Reagrupar filamento" -msgid "up to" -msgstr "até" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "até %1% mm" -msgid "above" -msgstr "acima" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "acima de %1% mm" -msgid "from" -msgstr "de" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "de %1% a %2% mm" msgid "Usage" msgstr "Uso" @@ -5535,9 +5568,6 @@ msgctxt "Noun" msgid "Print" msgstr "Impressão" -msgid "Printer" -msgstr "Impressora" - msgid "Time Estimation" msgstr "Estimativa de Tempo" @@ -5715,12 +5745,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Direita" -msgid "Add" -msgstr "Adicionar" - msgid "Add plate" msgstr "Adicionar placa" +msgid "Split to objects" +msgstr "Dividir em objetos" + +msgid "Add" +msgstr "Adicionar" + msgid "Auto orient all/selected objects" msgstr "Orientação automática todos/selecionados objetos" @@ -5733,9 +5766,6 @@ msgstr "Organizar todos os objetos" msgid "Arrange objects on selected plates" msgstr "Organizar objetos nas placas selecionadas" -msgid "Split to objects" -msgstr "Dividir em objetos" - msgid "Assembly View" msgstr "Vista de Montagem" @@ -5791,6 +5821,9 @@ msgstr "Contorno" msgid "Wireframe" msgstr "Malha" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Visualização Realista" @@ -5999,6 +6032,9 @@ msgstr "Fechando o aplicativo enquanto algumas predefinições são modificadas. msgid "Logging" msgstr "Registro" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparar" @@ -6145,6 +6181,14 @@ msgstr "Salvar projeto como" msgid "Save current project as" msgstr "Salvar o projeto atual como" +# AI Translated +msgid "Publish 3MF" +msgstr "Publicar 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exportar um arquivo 3MF com as configurações selecionadas incorporadas" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6326,6 +6370,9 @@ msgstr "Editar" msgid "View" msgstr "Visualizar" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Pacote de Predefinições" @@ -6671,7 +6718,7 @@ msgid "Failed to fetch model information from printer." msgstr "Falha ao obter informação do modelo da impressora." msgid "Failed to parse model information." -msgstr "Falha ao analisar a informação do modelo." +msgstr "Falha ao processar a informação do modelo." msgid "The .gcode.3mf file contains no G-code data. Please slice it with Orca Slicer and export a new .gcode.3mf file." msgstr "O arquivo .gcode.3mf não contém dados de G-code. Por favor, fatie com Orca Slicer e exporte um novo arquivo .gcode.3mf." @@ -7247,6 +7294,232 @@ msgstr "Não mostrar esse diálogo novamente" msgid "Please refer to Wiki before use->" msgstr "Consulte o Wiki antes de usar->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibração de Velocidade Volumétrica Máxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibração de Taxa de Fluxo" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Excluir Todos os Objetos" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dividir em objetos" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mouse 3D desconectado." @@ -7404,6 +7677,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Inferior" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Esta configuração não especifica um tipo de recurso de plugin." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Esta configuração especifica um tipo de recurso de plugin não reconhecido: " + msgid "Plugin Selection" msgstr "Seleção de plugins" @@ -7864,9 +8145,6 @@ msgstr "Expandir barra lateral" msgid "Collapse sidebar" msgstr "Recolher barra lateral" -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Carregando arquivo: %s" @@ -7941,6 +8219,14 @@ msgstr "Por favor, confirme se o G-code dentro dessas predefinições é seguro msgid "Customized Preset" msgstr "Predefinição Personalizada" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Algumas configurações publicadas não puderam ser aplicadas:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Alguns espaços de filamento foram alterados:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Os nomes dos componentes dentro do arquivo STEP não estão no formato UTF-8!" @@ -8058,19 +8344,12 @@ msgstr "" msgid "Delete Object" msgstr "Excluir Objeto" -msgid "Delete All Objects" -msgstr "Excluir Todos os Objetos" - msgid "Reset Project" msgstr "Redefinir Projeto" msgid "The selected object couldn't be split." msgstr "O objeto selecionado não pôde ser dividido." -# AI Translated -msgid "Split to Objects" -msgstr "Dividir em objetos" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Desativar a Queda automática para preservar o posicionamento Z?\n" @@ -8345,6 +8624,21 @@ msgstr "Salvar arquivo fatiado como:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "O arquivo %s foi enviado para o espaço de armazenamento da impressora e pode ser visualizado na impressora." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publicar arquivo 3MF como:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Falha ao exportar o arquivo 3MF publicado.\n" +"Verifique se a pasta existe online ou se outros programas estão com o arquivo aberto." + +msgid "Publish" +msgstr "Publicar" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "O tipo de bico não está configurado. Configure o bico e tente novamente." @@ -8549,9 +8843,6 @@ msgstr "Você deseja continuar?" msgid "Language selection" msgstr "Seleção de idioma" -msgid "Switching application language while some presets are modified." -msgstr "Alternando idioma do aplicativo enquanto algumas predefinições são modificadas." - msgid "Asia-Pacific" msgstr "Ásia-Pacífico" @@ -8618,7 +8909,7 @@ msgstr "" "\n" "Deseja baixar e instalar esta versão agora?\n" "\n" -"Observação: o aplicativo pode precisar ser reiniciado após a instalação." +"Nota: o aplicativo pode precisar ser reiniciado após a instalação." msgid "Download Network Plug-in" msgstr "Baixar Plug-in de Rede" @@ -8656,6 +8947,9 @@ msgstr "Caminho da Instância Atual: " msgid "General" msgstr "Geral" +msgid "Language" +msgstr "Idioma" + msgid "Metric" msgstr "Métrico" @@ -8860,6 +9154,33 @@ msgstr "Gerenciamento de multi dispositivos" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Com esta opção habilitada, você pode enviar uma tarefa para vários dispositivos ao mesmo tempo e gerenciar vários dispositivos." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Abrir seleção do modo de agrupamento de filamento" @@ -8941,6 +9262,12 @@ msgstr "Inverter zoom do mouse" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Se ativo, inverte a direção de zoom com a roda do mouse." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Mover" @@ -8962,6 +9289,15 @@ msgstr "Arrastar com Mouse Direito" msgid "Set the action that dragging the right mouse button should perform." msgstr "Defina a ação que arrastar com o botão direito do mouse deve executar." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Limpar minha escolha em…" @@ -9072,11 +9408,39 @@ msgstr "" "Limita a taxa de quadros da janela de visualização para reduzir a carga da GPU e o consumo de energia.\n" "Defina como 0 para taxa de quadros ilimitada." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Mostrar painel de FPS" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Exibe o FPS atual da janela de visualização no canto superior direito." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" msgid "G-code Preview" msgstr "Pré-visualização de G-code" @@ -9093,10 +9457,6 @@ msgstr "Ao mover o controle deslizante de camadas na pré-visualização fatiada msgid "Dimmed layer brightness" msgstr "Brilho das camadas escurecidas" -# AI Translated -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9116,7 +9476,7 @@ msgid "" "Note: When Stealth Mode is enabled, your user profiles will not be backed up to Orca Cloud." msgstr "" "Isso desativa todos os recursos da nuvem, incluindo a sincronização de perfis do Orca Cloud. Usuários que preferem trabalhar totalmente offline podem ativar esta opção.\n" -"Observação: quando o Modo Furtivo está ativado, seus perfis de usuário não serão copiados para o Orca Cloud." +"Nota: quando o Modo Furtivo está ativado, seus perfis de usuário não serão copiados para o Orca Cloud." msgid "Hide login side panel" msgstr "Ocultar painel lateral de autenticação" @@ -9478,9 +9838,6 @@ msgstr "Ir para a página web de publicação de modelos" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Nota: A preparação pode levar vários minutos. Por favor, seja paciente." -msgid "Publish" -msgstr "Publicar" - msgid "Publish was canceled" msgstr "Publicação cancelada" @@ -9496,6 +9853,76 @@ msgstr "Enviando dados" msgid "Jump to webpage" msgstr "Ir para a página web" +# AI Translated +msgid "Material" +msgstr "Material" + +# AI Translated +msgid "Mixed filament" +msgstr "Filamento misto" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Alguns filamentos mistos dependem de filamentos que não serão publicados:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filamento %d (misto)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% precisa de %2%, que não está ativado." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% precisa de %2%, cujo material não será publicado." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Para publicar um filamento misto, ative todos os filamentos que ele usa e escolha Publicação completa ou atenda ao seu requisito de Tipo." + +# AI Translated +msgid "Publish anyway" +msgstr "Publicar mesmo assim" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publicar 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Selecione quais configurações serão publicadas no arquivo 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filamento misto - publicado por inteiro quando \"Ativar\" acima está selecionado" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publicar este filamento misto e ativar + publicar por inteiro seus filamentos componentes" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publicar este espaço de filamento no arquivo 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Publicação completa" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Incorporar o filamento inteiro deste espaço no arquivo 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrar não selecionados" + #, c-format, boost-format msgid "Save %s as" msgstr "Salvar %s como" @@ -9513,6 +9940,10 @@ msgstr "Copia para esta predefinição todos os valores herdados da predefiniç msgid "Detach from parent" msgstr "Separar do pai" +# AI Translated +msgid "Save without parent" +msgstr "Salvar sem pai" + # AI Translated msgid "Unique preset" msgstr "Predefinição única" @@ -9572,6 +10003,132 @@ msgstr "Para \"%1%\", adicione \"%2%\" como uma nova predefinição" msgid "Simply switch to \"%1%\"" msgstr "Simplesmente mude para \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Outro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Mostrar detalhes" + +msgid "Hide details" +msgstr "Esconder detalhes" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tarefa cancelada" @@ -9701,7 +10258,6 @@ msgstr "A impressora falhou ao gerar a tabela de mapeamento automático do bico msgid "The current nozzle mapping may produce an extra %0.2f g of waste." msgstr "O mapeamento de bicos atual pode gerar um desperdício adicional de %0.2f g." -# AI Translated #, c-format, boost-format msgid "Recommended filament arrangement saves %s->" msgstr "A disposição de filamento recomendada economiza %s->" @@ -9760,7 +10316,6 @@ msgstr "Este processo determina os valores de fluxo dinâmico para melhorar a qu msgid "Internal" msgstr "Interno" -# AI Translated #, c-format, boost-format msgid "%s space less than 20MB. Timelapse may not save properly. You can turn it off or" msgstr "%s com espaço inferior a 20MB. O timelapse pode não ser salvo corretamente. Você pode desativá-lo ou" @@ -9768,15 +10323,12 @@ msgstr "%s com espaço inferior a 20MB. O timelapse pode não ser salvo corretam msgid "Clean up files" msgstr "Limpar arquivos" -# AI Translated msgid "Low internal storage. This timelapse will overwrite the oldest video files." msgstr "Armazenamento interno baixo. Este timelapse substituirá os arquivos de vídeo mais antigos." -# AI Translated msgid "Low external storage. This timelapse will overwrite the oldest video files." msgstr "Armazenamento externo baixo. Este timelapse substituirá os arquivos de vídeo mais antigos." -# AI Translated msgid "Insufficient external storage for time-lapse photography. Connect to computer to delete files, or use a larger memory card." msgstr "Armazenamento externo insuficiente para fotografia time-lapse. Conecte ao computador para excluir arquivos ou use um cartão de memória maior." @@ -9812,7 +10364,6 @@ msgstr "Atualizando informações dos hotends (%d/%d)." msgid "There are not enough available hotends currently." msgstr "Não há hotends disponíveis em quantidade suficiente no momento." -# AI Translated msgid "Please complete the hotend rack setup and try again." msgstr "Por favor, conclua a configuração do rack de hotend e tente novamente." @@ -9829,11 +10380,9 @@ msgstr "As informações reportadas sobre o hotend podem não ser confiáveis." msgid "The printer has no nozzle matching the slicing file (%s)." msgstr "A impressora não possui um bico compatível com o arquivo de fatiamento (%s)." -# AI Translated msgid "Please install a matching nozzle in the hotend rack, or set the corresponding printer preset while slicing." msgstr "Por favor, instale um bico compatível no rack de hotend, ou defina a predefinição de impressora correspondente ao fatiar." -# AI Translated msgid "The toolhead and hotend rack are full. Please remove at least one hotend before printing." msgstr "A cabeça da ferramenta e o rack de hotend estão cheios. Por favor, remova pelo menos um hotend antes de imprimir." @@ -9859,24 +10408,19 @@ msgstr "ambas extrusoras" msgid "The hardness of current material (%s) exceeds the hardness of %s(%s). Please verify the nozzle or material settings and try again." msgstr "A dureza do material atual (%s) excede a dureza de %s(%s). Verifique as configurações do bico ou do material e tente novamente." -# AI Translated msgid "Your current firmware version cannot start this print job. Please update to the latest version and try again." msgstr "Sua versão atual do firmware não pode iniciar este trabalho de impressão. Atualize para a versão mais recente e tente novamente." -# AI Translated #, c-format, boost-format msgid "The hardness of current material (%s) exceeds the hardness of %s(%s). It may cause nozzle wear, leading to material leakage and unstable flow. Please exercise caution when using it." msgstr "A dureza do material atual (%s) excede a dureza de %s(%s). Isso pode causar desgaste do bico, levando a vazamento de material e fluxo instável. Tenha cuidado ao usá-lo." -# AI Translated msgid "Some filaments may switch between extruders during printing. Manual K-value calibration cannot be applied throughout the entire print, which may affect print quality. Enabling Flow Dynamics Calibration is recommended." msgstr "Alguns filamentos podem alternar entre extrusoras durante a impressão. A calibração manual do valor K não pode ser aplicada durante toda a impressão, o que pode afetar a qualidade da impressão. Recomenda-se ativar a Calibração de Dinâmica de Fluxo." -# AI Translated msgid "There is stringing-prone filament in this file. For best print quality, we recommend switching nozzle clumping detection to Auto mode." -msgstr "Há filamento propenso a fiapos neste arquivo. Para a melhor qualidade de impressão, recomendamos alternar a detecção de aglomeração no bico para o modo Automático." +msgstr "Há filamento propenso a criar fios neste arquivo. Para a melhor qualidade de impressão, recomendamos alternar a detecção de aglomeração no bico para o modo Automático." -# AI Translated msgid "If 'Dynamic Flow Calibration' is set to Auto/On, the system will use the manual calibration value or the default value and skip the flow calibration process. You can perform a manual flow calibration for TPU filament on the 'Calibration' page." msgstr "Se a 'Calibração de Fluxo Dinâmico' estiver definida como Automático/Ativado, o sistema usará o valor de calibração manual ou o valor padrão e ignorará o processo de calibração de fluxo. Você pode realizar uma calibração de fluxo manual para filamento TPU na página 'Calibração'." @@ -9983,7 +10527,6 @@ msgstr "Desative a calibração de fluxo dinâmico para habilitar o valor de flu msgid "This printer does not support printing all plates." msgstr "Esta impressora não suporta a imprimir todas as placas." -# AI Translated #, c-format, boost-format msgid "The current firmware supports a maximum of %s materials. You can either reduce the number of materials to %s or fewer on the Preparation Page, or try updating the firmware. If you are still restricted after the update, please wait for subsequent firmware support." msgstr "O firmware atual suporta no máximo %s materiais. Você pode reduzir o número de materiais para %s ou menos na Página de Preparação, ou tentar atualizar o firmware. Se ainda estiver restrito após a atualização, aguarde o suporte de firmware subsequente." @@ -9991,11 +10534,9 @@ msgstr "O firmware atual suporta no máximo %s materiais. Você pode reduzir o n msgid "The type of external filament is unknown or does not match with the filament type in the slicing file. Please make sure you have installed the correct filament in the external spool." msgstr "O tipo de filamento externo é desconhecido ou não corresponde ao tipo de filamento no arquivo de fatiamento. Certifique-se de ter instalado o filamento correto no carretel externo." -# AI Translated msgid "TPU 90A/TPU 85A are too soft. It is recommended to perform manual flow calibration on the 'Calibration' page. If 'Dynamic Flow Calibration' is set to auto/on, the system will use the previous calibration value and skip the flow calibration process." msgstr "TPU 90A/TPU 85A são muito macios. Recomenda-se realizar a calibração de fluxo manual na página 'Calibração'. Se a 'Calibração de Fluxo Dinâmico' estiver definida como automático/ativado, o sistema usará o valor de calibração anterior e ignorará o processo de calibração de fluxo." -# AI Translated msgid "The filament in the AMS may be insufficient for this print. Please refill or replace it." msgstr "O filamento no AMS pode ser insuficiente para esta impressão. Por favor, reabasteça ou substitua-o." @@ -10072,7 +10613,7 @@ msgid "Failed to post ticket to server" msgstr "Falha ao enviar o ticket para o servidor" msgid "Failed to parse login report reason" -msgstr "Falha ao analisar o motivo do relatório de login" +msgstr "Falha ao processar o motivo do relatório de login" msgid "Receive login report timeout" msgstr "Limite de tempo excedido ao receber o relatório de login" @@ -10168,11 +10709,9 @@ msgstr "Excluir esta predefinição" msgid "Search in preset" msgstr "Pesquisar nas predefinições" -# AI Translated msgid "Synchronization of different extruder drives or nozzle volume types is not supported." msgstr "A sincronização de diferentes acionamentos de extrusora ou tipos de volume do bico não é suportada." -# AI Translated msgid "Synchronize the modification of parameters to the corresponding parameters of another extruder." msgstr "Sincroniza a modificação de parâmetros com os parâmetros correspondentes de outra extrusora." @@ -10197,9 +10736,17 @@ msgstr "Uma torre de purga é necessária para a detecção de aglomeração. Po msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Habilitar a altura Z precisa e a torre de preparação juntas pode causar erros de fatiamento. Deseja habilitar a altura Z precisa mesmo assim?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "O timelapse suave precisa de uma torre de purga em todas as camadas, o que não é compatível com \"Sem camadas esparsas\". \"Sem camadas esparsas\" foi desativado." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Uma torre de purga é necessária para um timelapse suave. Pode haver falhas no modelo sem a torre de purga. Deseja ativar a torre de purga?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Sem camadas esparsas\" não é compatível com o timelapse suave, que precisa de uma torre de purga em todas as camadas. O timelapse foi alterado para o modo tradicional." + msgid "Still print by object?" msgstr "Ainda imprimir por objeto?" @@ -10242,7 +10789,7 @@ msgid "Are you sure you want to enable this option?" msgstr "Tem certeza de que deseja habilitar esta opção?" msgid "Infill patterns are typically designed to handle rotation automatically to ensure proper printing and achieve their intended effects (e.g., Gyroid, Cubic). Rotating the current sparse infill pattern may lead to insufficient support. Please proceed with caution and thoroughly check for any potential printing issues. Are you sure you want to enable this option?" -msgstr "Padrões de preenchimento são projetados para lidar com a rotação automaticamente para garantir a impressão adequada e atingir os efeitos pretendidos (Ex. Giroide, Cúbico). Girar o padrão de preenchimento esparso atual pode causar suporte insuficiente. Prossiga com cautela e verifique cuidadosamente se há possíveis problemas de impressão. Tem certeza de que deseja habilitar esta opção?" +msgstr "Padrões de preenchimento são projetados para lidar com a rotação automaticamente para garantir a impressão adequada e atingir os efeitos pretendidos (ex.: Giroide, Cúbico). Girar o padrão de preenchimento esparso atual pode causar suporte insuficiente. Prossiga com cautela e verifique cuidadosamente se há possíveis problemas de impressão. Tem certeza de que deseja habilitar esta opção?" msgid "Experimental feature: Retracting and cutting off the filament at a greater distance during filament changes to minimize flush. Although it can notably reduce flush, it may also elevate the risk of nozzle clogs or other printing complications." msgstr "Funcionalidade experimental: Retrair e cortar o filamento a uma distância maior durante mudanças de filamento para minimizar a purga. Embora possa reduzir notavelmente a purga, ele também pode elevar o risco de bolhas no bico ou outras complicações de impressão." @@ -10405,7 +10952,6 @@ msgstr "G-code de mudança de tipo de extrusão" msgid "Post-processing Scripts" msgstr "Scripts de pós-processamento" -# AI Translated msgid "Slicing Pipeline Plugin" msgstr "Plugin de Pipeline de Fatiamento" @@ -10459,9 +11005,8 @@ msgstr "Temperatura da câmara de impressão" msgid "Chamber temperature" msgstr "Temperatura da câmara" -# AI Translated msgid "Target chamber temperature, and the minimal chamber temperature at which printing should start" -msgstr "Temperatura da câmara alvo, e a temperatura mínima da câmara na qual a impressão deve começar" +msgstr "Temperatura alvo da câmara, e a temperatura mínima da câmara na qual a impressão deve começar" msgid "Target" msgstr "Alvo" @@ -10568,9 +11113,6 @@ msgstr "Perfis de processo compatíveis" msgid "Printable space" msgstr "Espaço de impressão" -msgid "Printer Agent" -msgstr "Agente de Impressora" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Selecione a implementação do agente de rede para comunicação com a impressora. Os agentes disponíveis são registrados na inicialização." @@ -10699,7 +11241,6 @@ msgstr "Limites de altura da camada" msgid "Z-Hop" msgstr "Z-Hop" -# AI Translated msgid "" "The Retract before wipe option could be only 100% when using the Firmware Retraction mode.\n" "\n" @@ -10970,12 +11511,6 @@ msgstr "Número de extrusoras" msgid "Capabilities" msgstr "Capacidades" -msgid "Left: " -msgstr "Esquerda: " - -msgid "Right: " -msgstr "Direita: " - msgid "Show all presets (including incompatible)" msgstr "Mostrar todas as predefinições (incluindo as incompatíveis)" @@ -11007,7 +11542,6 @@ msgstr "Se ativo, este diálogo pode ser usado para transferir valores seleciona msgid "One of the presets does not exist" msgstr "Uma das predefinições não existe" -# AI Translated msgid "Compared presets has different printer technology" msgstr "As predefinições comparadas têm tecnologia de impressora diferente" @@ -11342,9 +11876,8 @@ msgstr "Entrar" msgid "Login failed. Please try again." msgstr "Falha no login. Tente novamente." -# AI Translated msgid "parse json failed" -msgstr "falha ao analisar o json" +msgstr "falha ao processar o json" msgid "[Action Required] " msgstr "[Ação Necessária] " @@ -11358,56 +11891,38 @@ msgstr "O pacote de configuração é alterado no Guia de Configuração anterio msgid "Configuration package changed" msgstr "Pacote de configuração alterado" -msgid "Toolbar" -msgstr "Barra de Ferramentas" - -msgid "Objects list" -msgstr "Lista de objetos" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importar dados de geometria de arquivos STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Colar da área de transferência" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Mostrar/Ocultar diálogo de configurações de dispositivos 3Dconnexion" - -msgid "Switch table page" -msgstr "Trocar página da tabela" - -msgid "Show keyboard shortcuts list" -msgstr "Mostrar lista de atalhos de teclado" - -msgid "Global shortcuts" -msgstr "Atalhos globais" - msgid "Pan View" msgstr "Mover Vista" msgid "Rotate View" msgstr "Rotacionar Vista" -msgid "Middle mouse button" -msgstr "Botão do meio do mouse" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Aproximar Vista" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Orienta automaticamente os objetos selecionados ou todos os objetos. Se houver objetos selecionados, ele apenas orientará os selecionados. Caso contrário, ele orientará todos os objetos do projeto atual." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Orienta automaticamente todos os objetos na placa atual." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Recolher/Expandir a barra lateral" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Qualquer seta" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Movimento no espaço da câmera" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Selecionar uma peça" @@ -11418,129 +11933,29 @@ msgstr "Selecionar vários objetos" msgid "Select objects by rectangle" msgstr "Selecionar objetos por retângulo" -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Seta para Cima" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Mover seleção 10mm na direção Y positiva" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Seta para Baixo" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Mover seleção 10mm na direção Y negativa" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Seta para Esquerda" - -msgid "Move selection 10mm in negative X direction" -msgstr "Mover seleção 10mm na direção X negativa" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Seta para Direita" - -msgid "Move selection 10mm in positive X direction" -msgstr "Mover seleção 10mm na direção X positiva" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Teclado 1-9: ajustar filamento para objeto/peça" msgid "Movement step set to 1mm" msgstr "Passo de movimento definido para 1mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Teclado 1-9: ajustar filamento para objeto/peça" +msgid "Movement in camera space" +msgstr "Movimento no espaço da câmera" -msgid "Camera view - Default" -msgstr "Vista da câmera - Padrão" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Vista da câmera - Superior" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Vista da câmera - Inferior" +msgid "Zoom View" +msgstr "Aproximar Vista" -msgid "Camera view - Front" -msgstr "Vista da câmera - Frontal" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Vista da câmera - Posterior" - -msgid "Camera Angle - Left side" -msgstr "Ângulo da câmera - Lado esquerdo" - -msgid "Camera Angle - Right side" -msgstr "Ângulo da câmera - Lado direito" - -msgid "Select all objects" -msgstr "Selecionar todos os objetos" - -msgid "Gizmo move" -msgstr "Gizmo mover" - -msgid "Gizmo rotate" -msgstr "Gizmo rotacionar" - -msgid "Gizmo scale" -msgstr "Gizmo escala" - -msgid "Gizmo place face on bed" -msgstr "Gizmo posicionar face na mesa" - -msgid "Gizmo cut" -msgstr "Gizmo cortar" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo malha booleana" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo de pintura de textura difusa FDM" - -msgid "Gizmo SLA support points" -msgstr "Gizmo de pontos de suporte SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo de pintura de costura FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo Texturizar/gravar texto" - -msgid "Gizmo measure" -msgstr "Gizmo medir" - -msgid "Gizmo assemble" -msgstr "Gizmo montar" - -msgid "Gizmo brim ears" -msgstr "Gizmo orelhas da borda" - -msgid "Zoom in" -msgstr "Aproximar zoom" - -msgid "Zoom out" -msgstr "Afastar zoom" - -msgid "Toggle printable for object/part" -msgstr "Alternar modo de impressão para objeto/peça" - -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Alternar entre Preparar/Pré-visualizar" - -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espaço" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Abrir menu rápido de ações" - -msgid "Plater" -msgstr "Mesa" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Mover: pressione para ajustar em 1mm" @@ -11551,14 +11966,18 @@ msgstr "Suporte/Pintura em cores: ajustar o raio da caneta" msgid "Support/Color Painting: adjust section position" msgstr "Suporte/Pintura em cores: ajustar a posição da seção" -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Lista de objetos" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Definir o número da extrusora para os objetos e peças" -msgid "Delete objects, parts, modifiers" -msgstr "Excluir objetos, peças, modificadores" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espaço" msgid "Select the object/part and press space to change the name" msgstr "Selecione o objeto/peça e pressione espaço para mudar o nome" @@ -11569,43 +11988,48 @@ msgstr "Clique do mouse" msgid "Select the object/part and mouse click to change the name" msgstr "Selecione o objeto/peça e clique do mouse para mudar o nome" -msgid "Objects List" -msgstr "Lista de Objetos" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Controle deslizante vertical - Mover o polegar ativo para cima" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Controle deslizante vertical - Mover o polegar ativo para baixo" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Controle deslizante horizontal - Mover o polegar ativo para a esquerda" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Controle deslizante horizontal - Mover o polegar ativo para a direita" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Ativar/Desativar modo de uma camada do controle deslizante vertical" - -msgid "On/Off G-code window" -msgstr "Ativar/Desativar janela de G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Mover o controle deslizante 5 vezes mais rápido" -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Barra deslizante horizontal — Mover para a posição inicial" +msgid "Not customizable" +msgstr "" -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Barra deslizante horizontal — Mover para a última posição" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Nota de lançamento" @@ -11617,11 +12041,9 @@ msgstr "informações de atualização da versão %s:" msgid "Network plug-in update" msgstr "Atualização do plug-in de rede" -# AI Translated msgid "Click OK to update the Network plug-in now. If a file is in use, the update will be applied the next time Orca Slicer launches." msgstr "Clique em OK para atualizar o plug-in de Rede agora. Se um arquivo estiver em uso, a atualização será aplicada na próxima vez que o Orca Slicer for iniciado." -# AI Translated msgid "A new Network plug-in is available. Do you want to install it?" msgstr "Um novo plug-in de Rede está disponível. Deseja instalá-lo?" @@ -11681,7 +12103,6 @@ msgstr "Nome da impressora" msgid "Where to find your printer's IP and Access Code?" msgstr "Onde encontrar o IP e o Código de Acesso da sua impressora?" -# AI Translated msgid "How to trouble shooting" msgstr "Como solucionar problemas" @@ -11803,15 +12224,22 @@ msgstr "Reparo cancelado" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Falha ao copiar o arquivo %1% para %2%: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Baixando novos perfis de fornecedor: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Pacote de configuração: %1% atualizado para %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Falha ao baixar os perfis de fornecedor: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Verifique as alterações não salvas antes de atualizar a configuração." -msgid "Configuration package: " -msgstr "Pacote de configuração: " - -msgid " updated to " -msgstr " atualizado para " - msgid "Open G-code file:" msgstr "Abrir arquivo G-code:" @@ -11829,11 +12257,9 @@ msgstr "Objeto: %1%" msgid "Parts of the object at these heights may be too thin or the object may have a faulty mesh." msgstr "Partes do objeto nessas alturas podem ser muito finas, ou o objeto pode ter uma malha com falhas." -# AI Translated msgid "Process change extrusion role G-code" msgstr "G-code de mudança de tipo de extrusão do processo" -# AI Translated msgid "Filament change extrusion role G-code" msgstr "G-code de mudança de tipo de extrusão do filamento" @@ -11873,11 +12299,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "O controle de entrada é suportado apenas pelo Klipper, RepRapFirmware e Marlin 2." -msgid "Grouping error: " -msgstr "Erro de agrupamento: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Erro de agrupamento: %1% não pode ser colocado no bico esquerdo" -msgid " can not be placed in the " -msgstr " não pode ser colocado na " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Erro de agrupamento: %1% não pode ser colocado no bico direito" msgid "Group error in manual mode. Please check nozzle count or regroup." msgstr "Erro de agrupamento no modo manual. Por favor, verifique o número de bicos ou reagrupe." @@ -11990,6 +12420,10 @@ msgstr "%1% está muito perto de outros, e colisões podem ocorrer." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% está muito alto, e ocorrerão colisões." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "A posição relativa do modelo e da torre de purga não atende aos requisitos do recurso \"Sem camadas esparsas\". Ajuste as posições relativas, reduza a altura do modelo ou desative \"Sem camadas esparsas\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " está muito perto da área de exclusão, pode haver colisões durante a impressão." @@ -12008,7 +12442,6 @@ msgstr " está muito perto de uma área de exclusão, e colisões vão ocorrer.\ msgid " is too close to clumping detection area, and collisions will be caused.\n" msgstr " está muito perto da área de detecção de aglomeração, e ocorrerão colisões.\n" -# AI Translated msgid " is partially outside the printable area, and it cannot be printed.\n" msgstr " está parcialmente fora da área imprimível, e não pode ser impresso.\n" @@ -12024,7 +12457,6 @@ msgstr "Se ainda assim desejar imprimir, você pode ativar a opção em Preferê msgid "No extrusions under current settings." msgstr "Nenhuma extrusão com as configurações atuais." -# AI Translated msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed." msgstr "Um filamento misto com gradiente está em uso, mas 'Subcamada de cor mista' está desativado. O gradiente não será impresso." @@ -12064,7 +12496,6 @@ msgstr "Você pode querer reduzir o tamanho do seu modelo ou alterar as configur msgid "Variable layer height is not supported with Organic supports." msgstr "A altura de camada variável não é suportada com suportes Orgânicos." -# AI Translated msgid "The wipe tower filament cannot be a mixed filament." msgstr "O filamento da torre de purga não pode ser um filamento misto." @@ -12333,6 +12764,9 @@ msgstr "Usar 3MF em vez de G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Ative esta opção se a impressora aceitar um arquivo 3MF como trabalho de impressão. Quando ativada, o OrcaSlicer envia o arquivo fatiado como .gcode.3mf, em vez de um arquivo .gcode comum." +msgid "Printer Agent" +msgstr "Agente de Impressora" + msgid "Select the network agent implementation for printer communication." msgstr "Selecione a implementação do agente de rede para comunicação com a impressora." @@ -12701,7 +13135,6 @@ msgstr "" msgid "Internal bridge flow ratio" msgstr "Taxa de fluxo em ponte interna" -# AI Translated msgid "" "This value governs the thickness of the internal bridge layer. This is the first layer over sparse infill so increasing it may increase strength and upper layer quality.\n" "Values above 1.0: Increase the amount of material while maintaining line spacing. This can improve line contact and strength.\n" @@ -13091,11 +13524,9 @@ msgstr "" "A geometria será decimada antes de detectar ângulos agudos. Este parâmetro indica o comprimento mínimo da divergência para a decimação.\n" "0 para desativar." -# AI Translated msgid "Brim ears outer only" -msgstr "Orelhas da borda apenas externas" +msgstr "Apenas orelhas da borda externas" -# AI Translated msgid "Generate mouse ears only on the outer contour of the model, excluding holes and enclosed sections." msgstr "Gera orelhas de rato apenas no contorno externo do modelo, excluindo furos e seções fechadas." @@ -13123,7 +13554,6 @@ msgstr "Por objeto" msgid "Intra-layer order" msgstr "Ordem intra-camada" -# AI Translated msgid "" "Order in which object instances are visited within a single layer, which controls how much travel is spent moving between them.\n" "\n" @@ -13181,7 +13611,7 @@ msgid "mm/s² or %" msgstr "mm/s² ou %" msgid "Acceleration of bridges. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the outer wall acceleration." -msgstr "Aceleração das pontes. Se o valor for expresso como uma porcentagem (por exemplo, 50%), será calculado com base na aceleração da parede externa." +msgstr "Aceleração das pontes. Se o valor for expresso como uma porcentagem (ex.: 50%), será calculado com base na aceleração da parede externa." msgid "Default filament profile" msgstr "Perfil de filamento padrão" @@ -13381,6 +13811,10 @@ msgstr "Retilíneo alinhado" msgid "Concentric" msgstr "Concêntrico" +# AI Translated +msgid "Spiral Inset" +msgstr "Espiral interna" + msgid "Hilbert Curve" msgstr "Curva de Hilbert" @@ -13460,26 +13894,28 @@ msgstr "" msgid "Top surface fill order" msgstr "Ordem de preenchimento da superfície superior" +# AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direção em que as superfícies superiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Cordas de Arquimedes, Espiral de Octograma).\n" -"Para fora começa no centro da superfície, de modo que qualquer excesso de material seja empurrado em direção à borda, onde é menos visível. Para dentro começa na borda e termina com as curvas fechadas no centro.\n" -"O padrão usa a ordenação de caminho mais curto, que pode seguir em qualquer direção." +"Direção em que as superfícies superiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Espiral interna, Cordas Arquimedeanas, Espiral de Octagrama).\n" +"Para Fora começa no centro da superfície, de modo que o material excedente é empurrado para a borda, onde fica menos visível. Para Dentro começa na borda e termina com as curvas fechadas do centro.\n" +"Padrão usa a ordenação pelo caminho mais curto, que pode seguir em qualquer uma das direções." msgid "Bottom surface fill order" msgstr "Ordem de preenchimento da superfície inferior" +# AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Direção em que as superfícies inferiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Cordas de Arquimedes, Espiral de Octograma).\n" -"Para dentro começa cada superfície com as curvas externas mais largas, o que melhora a aderência da primeira camada em mesas onde as curvas fechadas no centro podem não aderir. Para fora começa no centro, empurrando qualquer excesso de material em direção à borda.\n" -"O padrão usa a ordenação de caminho mais curto, que pode seguir em qualquer direção." +"Direção em que as superfícies inferiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Espiral interna, Cordas Arquimedeanas, Espiral de Octagrama).\n" +"Para Dentro começa cada superfície pelas curvas externas mais amplas, o que melhora a adesão da primeira camada em mesas nas quais as curvas fechadas do centro podem não grudar. Para Fora começa no centro, empurrando o material excedente para a borda.\n" +"Padrão usa a ordenação pelo caminho mais curto, que pode seguir em qualquer uma das direções." msgid "Internal solid infill pattern" msgstr "Padrão de preenchimento sólido interno" @@ -13578,6 +14014,14 @@ msgstr "Anti-horário" msgid "Clockwise" msgstr "Horário" +# AI Translated +msgid "Distance to rod" +msgstr "Distância até a haste" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Distância horizontal da ponta do bico até a borda mais distante da haste. Usada para evitar colisões na impressão por objeto." + msgid "Height to rod" msgstr "Altura até a haste" @@ -13761,7 +14205,6 @@ msgstr "Tempo da camada" msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgstr "A ventoinha de resfriamento de peças será ativado para camadas cujo tempo estimado seja mais curto que esse valor. A velocidade da ventoinha é interpolada entre as velocidades mínima e máxima da ventoinha de acordo com o tempo de impressão da camada." -# AI Translated msgctxt "second" msgid "s" msgstr "s" @@ -14068,61 +14511,47 @@ msgstr "Material de suporte" msgid "Support material is commonly used to print supports and support interfaces." msgstr "O material de suporte é comumente usado para imprimir suportes e interfaces de suporte." -# AI Translated msgid "Is mixed filament" msgstr "É filamento misto" -# AI Translated msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments" msgstr "Define se este slot de filamento é um filamento misto composto por vários filamentos físicos" -# AI Translated msgid "Mixed filament components" msgstr "Componentes do filamento misto" -# AI Translated msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\"" msgstr "Índices (começando em 1) dos filamentos componentes, separados por vírgulas; ex.: \"1,3\"" -# AI Translated msgid "Mixed filament sublayer ratios" msgstr "Proporções de subcamada do filamento misto" -# AI Translated msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\"" msgstr "Valores de proporção separados por vírgulas cuja soma seja 1.0; ex.: \"0.7,0.3\"" -# AI Translated msgid "Mixed filament gradient" msgstr "Gradiente do filamento misto" -# AI Translated msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers." -msgstr "Ativa o modo de gradiente na direção Z para as subcamadas do filamento misto. Quando ativado, as proporções das subcamadas variam linearmente ao longo das camadas." +msgstr "Ativa o modo de gradiente na direção Z para as subcamadas do filamento misto. Quando ativo, as proporções das subcamadas variam linearmente ao longo das camadas." -# AI Translated msgid "Mixed filament gradient range" msgstr "Faixa do gradiente do filamento misto" -# AI Translated msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%." msgstr "Proporções inicial e final do primeiro componente no modo de gradiente. Par separado por vírgula; ex.: \"0.10,0.90\" significa de 10% a 90%." -# AI Translated msgid "Mixed filament gradient curve" msgstr "Curva do gradiente do filamento misto" -# AI Translated msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead." -msgstr "Curva personalizada opcional, no estilo do Photoshop, que mapeia o progresso em Z para a proporção do primeiro componente. Codificada como pontos de controle separados por barras verticais, no formato \"x,y\" (legado) ou \"x,y,m_in,m_out\" quando é necessário substituir a tangente (um valor vazio ou \"nan\" usa o padrão PCHIP). x está em [0,1]; y é limitado à faixa de proporção configurada; ex.: \"0,0.15|0.5,0.50|1,0.85\". Quando vazio, o gradient_range linear é usado." +msgstr "Curva personalizada opcional no estilo do Photoshop, mapeando o progresso em Z para a proporção do primeiro componente. Codificada como pontos de controle separados por barras verticais, no formato \"x,y\" (legado) ou \"x,y,m_in,m_out\" quando é necessário substituir a tangente (um valor vazio ou \"nan\" usa o padrão PCHIP). X em [0,1]; Y é limitado à faixa de proporção configurada; ex.: \"0,0.15|0.5,0.50|1,0.85\". Quando vazio, o gradient_range linear é usado no lugar." -# AI Translated msgid "Mixed filament per-part gradient" msgstr "Gradiente por peça do filamento misto" -# AI Translated msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range." -msgstr "Quando o modo de gradiente está ativado, aplica o gradiente a cada peça de uma montagem de forma independente, em vez de tratar toda a montagem como uma única faixa Z." +msgstr "Quando o modo de gradiente está ativado, aplica o gradiente a cada peça de uma montagem de forma independente em vez de tratar toda a montagem como uma única faixa Z." msgid "Filament printable" msgstr "Filamento imprimível" @@ -14213,7 +14642,7 @@ msgid "Insert solid layers" msgstr "Inserir camadas sólidas" msgid "Insert solid infill at specific layers. Use N to insert every Nth layer, N#K to insert K consecutive solid layers every N layers (K is optional, e.g. '5#' equals '5#1'), or a comma-separated list (e.g. 1,7,9) to insert at explicit layers. Layers are 1-based." -msgstr "Insere preenchimento sólido em camadas específicas. Use N para inserir a cada enésima camada, N#K para inserir K camadas sólidas consecutivas a cada enésima camada (K é opcional, ou seja, '5#' é igual a '5#1'), ou uma lista separada por vírgulas (Ex. 1,7,9) para inserir em camadas esplícitas. Camadas são baseadas em 1." +msgstr "Insere preenchimento sólido em camadas específicas. Use N para inserir a cada enésima camada, N#K para inserir K camadas sólidas consecutivas a cada enésima camada (K é opcional, ex.: '5#' é igual a '5#1'), ou uma lista separada por vírgulas (Ex. 1,7,9) para inserir em camadas esplícitas. Camadas são baseadas em 1." msgid "Fill Multiline" msgstr "Multilinhas de Preenchimento" @@ -14291,11 +14720,9 @@ msgstr "TPMS-FK" msgid "Gyroid" msgstr "Giroide" -# AI Translated msgid "Sparse infill smooth factor" msgstr "Fator de suavização do preenchimento esparso" -# AI Translated msgid "Controls how strongly sparse infill corners are rounded. 0% keeps the original sharp path, while 100% produces the largest possible curves between adjacent infill lines." msgstr "Controla o quanto os cantos do preenchimento esparso são arredondados. 0% mantém o trajeto original com cantos vivos, enquanto 100% produz as maiores curvas possíveis entre linhas de preenchimento adjacentes." @@ -14309,10 +14736,10 @@ msgid "Acceleration of inner walls." msgstr "Aceleração das paredes internas." msgid "Acceleration of sparse infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration." -msgstr "Aceleração do preenchimento esparso. Se o valor for expresso como uma porcentagem (por exemplo, 100%), será calculado com base na aceleração padrão." +msgstr "Aceleração do preenchimento esparso. Se o valor for expresso como uma porcentagem (ex.: 100%), será calculado com base na aceleração padrão." msgid "Acceleration of internal solid infill. If the value is expressed as a percentage (e.g. 100%), it will be calculated based on the default acceleration." -msgstr "Aceleração do preenchimento sólido interno. Se o valor for expresso como uma porcentagem (por exemplo, 100%), será calculado com base na aceleração padrão." +msgstr "Aceleração do preenchimento sólido interno. Se o valor for expresso como uma porcentagem (ex.: 100%), será calculado com base na aceleração padrão." msgid "This is the printing acceleration for the first layer. Using limited acceleration can improve build plate adhesion." msgstr "Esta é a aceleração para a primeira camada. Usar aceleração limitada melhorar a adesão à placa de impressão." @@ -14416,7 +14843,7 @@ msgid "" "Only available when \"No cooling for the first\" is 0.\n" "Set to -1 to disable it." msgstr "" -"Define uma velocidade exata da ventoinha para a primeira camada, substituindo todas as outras configurações de resfriamento. Útil para proteger peças impressas em 3D da cabeça da ferramenta (por exemplo, dutos ABS/ASA no estilo Voron) de uma mesa aquecida. Uma pequena quantidade de fluxo de ar resfria os dutos, sem usar o resfriamento total que pode, em certas condições, prejudicar a aderência da primeira camada.\n" +"Define uma velocidade exata da ventoinha para a primeira camada, substituindo todas as outras configurações de resfriamento. Útil para proteger peças impressas em 3D da cabeça da ferramenta (ex.: dutos ABS/ASA no estilo Voron) de uma mesa aquecida. Uma pequena quantidade de fluxo de ar resfria os dutos, sem usar o resfriamento total que pode, em certas condições, prejudicar a aderência da primeira camada.\n" "A partir da segunda camada, o resfriamento normal é retomado.\n" "Se \"Velocidade total da ventoinha na camada\" também estiver definida, a ventoinha aumenta suavemente deste valor na primeira camada até o seu alvo na camada escolhida.\n" "Disponível apenas quando \"Sem resfriamento nas primeiras\" é 0.\n" @@ -14787,7 +15214,7 @@ msgid "" "Set to 0 to deactivate." msgstr "" "Algumas ventoinhas de resfriamento de componentes não conseguem iniciar a rotação quando comandadas abaixo de um determinado ciclo de trabalho PWM. Quando definido acima de 0, qualquer comando de ventoinha de resfriamento de componentes diferente de zero será elevado para pelo menos essa porcentagem, para que a ventoinha inicie de forma confiável. Um comando de ventoinha de 0 (ventoinha desligada) é sempre atendido exatamente. Essa limitação é aplicada após cada outro cálculo da ventoinha (rampa da primeira camada, interpolação do tempo da camada, substituições de saliência/ponte/interface de suporte/alisamento), para que o dimensionamento ainda opere dentro do intervalo [este valor, 100%].\n" -"Se o seu firmware já desativa a ventoinha abaixo de um limite (por exemplo, [fan] off_below: 0.10 do Klipper desliga a ventoinha sempre que o ciclo de trabalho comandado for inferior a 10%), esta opção e o limite do firmware devem idealmente ser definidos com o mesmo valor. A correspondência entre eles (por exemplo, off_below: 0.10 no Klipper e 10% aqui) garante que o fatiador nunca emita um valor diferente de zero que o firmware emitiria a velocidade cai silenciosamente e a ventoinha nunca recebe um valor abaixo daquele que você sabe que ela pode realmente atingir.\n" +"Se o seu firmware já desativa a ventoinha abaixo de um limite (por exemplo, [fan] off_below: 0.10 do Klipper desliga a ventoinha sempre que o ciclo de trabalho comandado for inferior a 10%), esta opção e o limite do firmware devem idealmente ser definidos com o mesmo valor. A correspondência entre eles (ex.: off_below: 0.10 no Klipper e 10% aqui) garante que o fatiador nunca emita um valor diferente de zero que o firmware emitiria a velocidade cai silenciosamente e a ventoinha nunca recebe um valor abaixo daquele que você sabe que ela pode realmente atingir.\n" "Defina como 0 para desativar." msgid "Time cost" @@ -14834,13 +15261,11 @@ msgstr "Com que tipo de G-code a impressora é compatível." msgid "Klipper" msgstr "Klipper" -# AI Translated msgid "Skip G-code config block" msgstr "Omitir o bloco de configuração do G-code" -# AI Translated msgid "Do not write the CONFIG_BLOCK (slicer configuration key/value pairs) into the G-code file. This can help with printers whose firmware crashes when parsing these comment lines (e.g. Anycubic go-klipper). Note: the G-code file will no longer contain slicer settings, so importing it back into OrcaSlicer will not restore the configuration." -msgstr "Não grava o CONFIG_BLOCK (os pares chave/valor da configuração do fatiador) no arquivo G-code. Isso pode ajudar com impressoras cujo firmware trava ao interpretar essas linhas de comentário (por exemplo, Anycubic go-klipper). Observação: o arquivo G-code não conterá mais as configurações do fatiador, então importá-lo de volta no OrcaSlicer não restaurará a configuração." +msgstr "Não grava o CONFIG_BLOCK (os pares chave/valor da configuração do fatiador) no arquivo G-code. Isso pode ajudar com impressoras cujo firmware trava ao interpretar essas linhas de comentário (ex.: Anycubic go-klipper). Nota: o arquivo G-code não conterá mais as configurações do fatiador, então importá-lo de volta no OrcaSlicer não restaurará a configuração." msgid "Pellet Modded Printer" msgstr "Impressora Modificada para Pellets" @@ -14888,13 +15313,13 @@ msgid "Sparse infill rotation template" msgstr "Gabarito de rotação de preenchimento esparso" msgid "Rotate the sparse infill direction per layer using a template of angles. Enter comma-separated degrees (e.g., '0,30,60,90'). Angles are applied in order by layer and repeat when the list ends. Advanced syntax is supported: '+5' rotates +5° every layer; '+5#5' rotates +5° every 5 layers. See the Wiki for details. When a template is set, the standard infill direction setting is ignored. Note: some infill patterns (e.g., Gyroid) control rotation themselves; use with care." -msgstr "Gira a direção do preenchimento esparso por camada usando um gabarito de ângulos. Insira graus separados por vírgula (por exemplo, '0, 30, 60, 90'). Os ângulos são aplicados em ordem por camada e repetidos quando a lista termina. Sintaxe avançada suportada: '+5' gira +5° a cada camada; '+5#5' gira +5° a cada 5 camadas. Consulte a Wiki para obter detalhes. Quando um modelo é definido, a configuração padrão de direção do preenchimento é ignorada. Observação: alguns padrões de preenchimento (por exemplo, Giróide) tem seu próprio controle de rotação, use com cuidado." +msgstr "Gira a direção do preenchimento esparso por camada usando um gabarito de ângulos. Insira graus separados por vírgula (ex.: '0,30,60,90'). Os ângulos são aplicados em ordem por camada e repetidos quando a lista termina. Sintaxe avançada suportada: '+5' gira +5° a cada camada; '+5#5' gira +5° a cada 5 camadas. Consulte a Wiki para obter detalhes. Quando um modelo é definido, a configuração padrão de direção do preenchimento é ignorada. Nota: alguns padrões de preenchimento (ex.: Giróide) tem seu próprio controle de rotação, use com cuidado." msgid "Solid infill rotation template" msgstr "Gabarito de rotação de preenchimento sólido" msgid "This parameter adds a rotation of solid infill direction to each layer according to the specified template. The template is a comma-separated list of angles in degrees, e.g. '0,90'. The first angle is applied to the first layer, the second angle to the second layer, and so on. If there are more layers than angles, the angles will be repeated. Note that not all solid infill patterns support rotation." -msgstr "Este parâmetro adiciona uma rotação da direção do preenchimento sólido a cada camada, de acordo com o gabarito especificado. O gabarito é uma lista de ângulos em graus separados por vírgulas, por exemplo, '0,90'. O primeiro ângulo é aplicado à primeira camada, o segundo ângulo à segunda camada e assim por diante. Se houver mais camadas do que ângulos, os ângulos serão repetidos. Observe que nem todos os padrões de preenchimento sólido suportam rotação." +msgstr "Este parâmetro adiciona uma rotação da direção do preenchimento sólido a cada camada, de acordo com o gabarito especificado. O gabarito é uma lista de ângulos em graus separados por vírgulas, como '0,90'. O primeiro ângulo é aplicado à primeira camada, o segundo ângulo à segunda camada e assim por diante. Se houver mais camadas do que ângulos, os ângulos serão repetidos. Observe que nem todos os padrões de preenchimento sólido suportam rotação." msgid "Skeleton infill density" msgstr "Densidade de preenchimento de esqueleto" @@ -15360,7 +15785,6 @@ msgstr "Força máxima do eixo Y" msgid "The allowed maximum output force of Y axis" msgstr "A força máxima de saída permitida do eixo Y" -# AI Translated msgctxt "Newton" msgid "N" msgstr "N" @@ -15371,7 +15795,6 @@ msgstr "Massa da mesa do eixo Y" msgid "The machine bed mass load of Y axis" msgstr "A carga de massa da mesa do equipamento no eixo Y" -# AI Translated msgctxt "gram" msgid "g" msgstr "g" @@ -15722,6 +16145,20 @@ msgstr "Detectar paredes salientes" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Isso detecta a porcentagem relativa de saliência em relação a largura do perímetro e usa uma velocidade diferente de impressão. Para saliências 100%%, a velocidade de ponte é usada." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Imprimir por último as paredes sem suporte" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Voltas de parede que ficam inteiramente no ar só são impressas quando algo pode sustentá-las:\n" +"elas são extrudadas depois das demais paredes da sua ilha, da mais interna para fora, seja qual for a ordem das paredes.\n" +"Uma volta que somente as pontes desta camada conseguem ancorar aguarda até que essas pontes sejam impressas, enquanto uma volta que corre ao lado de uma parede apoiada mantém seu lugar antes do preenchimento, que precisa dela como ancoragem." + msgid "Outer walls" msgstr "Paredes externas" @@ -15896,7 +16333,7 @@ msgid "Z-hop height" msgstr "Altura de Z-hop" msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing." -msgstr "Sempre que há uma retração, o bico é levantado um pouco para criar folga entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se mover. Usar linhas em espiral para levantar Z pode evitar stringing." +msgstr "Sempre que há uma retração, o bico é levantado um pouco para criar folga entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se mover. Usar linhas em espiral para levantar Z pode evitar criação de fios." msgid "Z-hop lower boundary" msgstr "Limite inferior do Z-hop" @@ -15977,7 +16414,7 @@ msgid "Has filament switcher" msgstr "Tem trocador de filamentos" msgid "Printer has a filament switcher hardware (e.g., AMS)." -msgstr "A impressora tem um sistema de troca de filamentos (Ex.: AMS)." +msgstr "A impressora tem um sistema de troca de filamentos (ex.: AMS)." msgid "Extra length on restart" msgstr "Comprimento extra na retração" @@ -16094,7 +16531,7 @@ msgid "Scarf joint speed" msgstr "Velocidade da costura em bisel" msgid "This option sets the printing speed for scarf joints. It is recommended to print scarf joints at a slow speed (less than 100 mm/s). It's also advisable to enable 'Extrusion rate smoothing' if the set speed varies significantly from the speed of the outer or inner walls. If the speed specified here is higher than the speed of the outer or inner walls, the printer will default to the slower of the two speeds. When specified as a percentage (e.g., 80%), the speed is calculated based on the respective outer or inner wall speed. The default value is set to 100%." -msgstr "Esta opção define a velocidade de impressão para as costuras em bisel. É recomendável imprimir as costuras em bisel em uma velocidade baixa (menor que 100 mm/s). Também é aconselhável habilitar 'Suavização da taxa de extrusão' se a velocidade definida variar significativamente da velocidade das paredes externas ou internas. Se a velocidade especificada aqui for maior que a velocidade das paredes externas ou internas, a impressora utilizará a mais lenta das duas velocidades. Quando especificado como uma porcentagem (por exemplo, 80%), a velocidade é calculada com base na velocidade do perímetro externo ou interna respectiva. O valor padrão é definido como 100%." +msgstr "Esta opção define a velocidade de impressão para as costuras em bisel. É recomendável imprimir as costuras em bisel em uma velocidade baixa (menor que 100 mm/s). Também é aconselhável habilitar 'Suavização da taxa de extrusão' se a velocidade definida variar significativamente da velocidade das paredes externas ou internas. Se a velocidade especificada aqui for maior que a velocidade das paredes externas ou internas, a impressora utilizará a mais lenta das duas velocidades. Quando especificado como uma porcentagem (ex.: 80%), a velocidade é calculada com base na velocidade do perímetro externo ou interna respectiva. O valor padrão é definido como 100%." msgid "Scarf joint flow ratio" msgstr "Taxa de fluxo da costura em bisel" @@ -16148,6 +16585,39 @@ msgstr "Limpeza em voltas" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Para minimizar a visibilidade da costura em uma extrusão de volta fechada, é executado um pequeno movimento para dentro antes que a extrusora saia da volta." +# AI Translated +msgid "Wipe inward" +msgstr "Limpeza para dentro" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Aplica-se apenas às paredes externas, incluindo os contornos dos furos. Durante a limpeza, move o bico quente em direção às paredes internas já impressas, para reduzir o reaquecimento do plástico recém-depositado e as marcas de costura.\n" +"\n" +"Especialmente útil em alturas de camada abaixo de 0,1 mm, nas quais as marcas de limpeza ficam mais visíveis.\n" +"\n" +"Usa a limpeza normal se nenhuma parede interna adjacente já tiver sido impressa (áreas de parede única ou ordem de paredes Exterior/Interior) ou se nenhum caminho apoiado para dentro puder ser encontrado, por exemplo em cantos fechados ou em falhas da costura." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Distância de limpeza para dentro" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Distância pela qual o caminho de limpeza é deslocado para longe do perímetro externo, indicada em milímetros ou como porcentagem da largura de extrusão real da parede externa.\n" +"\n" +"Por exemplo, 50% desloca o caminho pela metade da largura da parede externa. O deslocamento efetivo é limitado tanto pela largura real da parede externa quanto pelo espaço disponível até a parede adjacente, de modo que valores acima de 100% ou uma distância absoluta equivalente não têm efeito adicional. Defina 0 para desativar o deslocamento." + msgid "Wipe before external loop" msgstr "Limpeza antes da volta externa" @@ -16164,7 +16634,7 @@ msgid "Wipe speed" msgstr "Velocidade de limpeza" msgid "The wipe speed is determined by the speed setting specified in this configuration. If the value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel speed setting above. The default value for this parameter is 80%." -msgstr "A velocidade de limpeza é determinada pela velocidade especificada nesta configuração. Se o valor for expresso como uma porcentagem (por exemplo, 80%), será calculado com base na configuração de velocidade de deslocamento acima. O valor padrão para este parâmetro é 80%." +msgstr "A velocidade de limpeza é determinada pela velocidade especificada nesta configuração. Se o valor for expresso como uma porcentagem (ex.: 80%), será calculado com base na configuração de velocidade de deslocamento acima. O valor padrão para este parâmetro é 80%." msgid "Skirt distance" msgstr "Distância da saia" @@ -16202,7 +16672,7 @@ msgstr "" "Um escudo de ar é útil para proteger uma impressão ABS ou ASA de deformações e desprendimento da mesa de impressão devido à corrente de ar. Geralmente, ele é necessário apenas com impressoras de estrutura aberta, ou seja, sem um gabinete.\n" "\n" "Habilitado = a saia é tão alta quanto o objeto impresso mais alto. Caso contrário, 'Altura da saia' é usada.\n" -"Observação: com o escudo de ar ativo, a saia será impressa na distância da saia do objeto. Portanto, se as bordas estiverem ativas, ela pode se cruzar com elas. Para evitar isso, aumente o valor da distância da saia.\n" +"Nota: com o escudo de ar ativo, a saia será impressa na distância da saia do objeto. Portanto, se as bordas estiverem ativas, ela pode se cruzar com elas. Para evitar isso, aumente o valor da distância da saia.\n" msgid "Enabled" msgstr "Ativado" @@ -16343,10 +16813,10 @@ msgid "Preheat steps" msgstr "Passos de pré-aquecimento" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." -msgstr "Insire múltiplos comandos de pré-aquecimento (por exemplo, M104.1). Útil apenas para Prusa XL. Para outras impressoras, defina como 1." +msgstr "Insire múltiplos comandos de pré-aquecimento (ex.: M104.1). Útil apenas para Prusa XL. Para outras impressoras, defina como 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "Código G escrito no início do arquivo de saída, antes de qualquer outro conteúdo. Útil para adicionar metadados que o firmware da impressora lê das primeiras linhas do arquivo (por exemplo, tempo estimado de impressão, consumo de filamento). Suporta marcadores como {print_time_sec} e {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "G-code Inicial" @@ -16367,7 +16837,7 @@ msgid "Manual Filament Change" msgstr "Troca Manual de Filamento" msgid "Enable this option to omit the custom Change filament G-code only at the beginning of the print. The tool change command (e.g., T0) will be skipped throughout the entire print. This is useful for manual multi-material printing, where we use M600/PAUSE to trigger the manual filament change action." -msgstr "Ative esta opção para omitir o G-code de troca de filamento personalizado apenas no início da impressão. O comando de troca de ferramenta (por exemplo, T0) será ignorado durante toda a impressão. Isso é útil para impressão manual de vários materiais, onde usamos M600/PAUSE para acionar a ação de troca manual de filamento." +msgstr "Ative esta opção para omitir o G-code de troca de filamento personalizado apenas no início da impressão. O comando de troca de ferramenta (ex.: T0) será ignorado durante toda a impressão. Isso é útil para impressão manual de vários materiais, onde usamos M600/PAUSE para acionar a ação de troca manual de filamento." msgid "Wipe tower type" msgstr "Tipo de torre de purga" @@ -16405,8 +16875,9 @@ msgstr "Pega a nova ferramenta sem esperar que ela atinja a temperatura de impre msgid "No sparse layers (beta)" msgstr "Sem camadas esparsas (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Se ativado, a torre de purga não será impressa em camadas sem troca de ferramenta. Em camadas com uma troca de ferramenta, a extrusora deslocará para baixo para imprimir a torre de purga. O usuário é responsável por garantir que não haja colisão com a impressão." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Se ativado, a torre de purga não será impressa nas camadas sem mudanças de ferramenta. Nas camadas com mudança de ferramenta, a extrusora descerá para imprimir a torre de purga, de modo que a torre fica abaixo do modelo e a cabeça da ferramenta precisa descer até ela. Disposições em que isso colidiria com um objeto já impresso são rejeitadas. Não tem efeito com o timelapse suave nem com a detecção de aglomeração no bico, que precisam de uma torre em todas as camadas." msgid "Prime all printing extruders" msgstr "Preparar todas as extrusoras de impressão" @@ -16429,6 +16900,34 @@ msgstr "" msgid "Cyclic" msgstr "Cíclico" +# AI Translated +msgid "Cyclic order" +msgstr "Ordem cíclica" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Sequência de filamentos personalizada usada pela ordenação cíclica de mudanças de ferramenta, como números de filamento separados por vírgulas (p. ex. \"3,2,1,4\").\n" +"Cada camada imprime seus filamentos seguindo esta sequência; os filamentos não listados são impressos por último, em ordem crescente.\n" +"Deixe em branco para percorrer os filamentos em ordem crescente." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Aplicar a ordem cíclica à primeira camada" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Aplica a ordem cíclica de mudanças de ferramenta também à primeira camada.\n" +"Por padrão isso fica desativado, porque a primeira camada é, em vez disso, ordenada para a melhor adesão à mesa: os filamentos que imprimem detalhes pequenos e frágeis da primeira camada são impressos por último, de modo que as mudanças de ferramenta e os deslocamentos seguintes têm menos chance de soltar essas partes fracamente ancoradas. Essa ordem da primeira camada também respeita uma sequência de filamentos personalizada para a primeira camada, quando definida. O benefício da ordem cíclica (as mudanças de ferramenta extras dão a cada camada mais tempo para esfriar) não se aplica à primeira camada, que é impressa devagar e quente para favorecer a adesão.\n" +"Ative isto apenas se você precisar exatamente da mesma sequência de ferramentas em todas as camadas, inclusive a primeira, ao custo dessa otimização de adesão." + msgid "Slice gap closing radius" msgstr "Raio de fechamento de vãos de fatiamento" @@ -16438,9 +16937,6 @@ msgstr "Frestas menores que 2x o vão de fatiamento serão preenchidas durante o msgid "Slicing Mode" msgstr "Modo de Fatiamento" -msgid "Other" -msgstr "Outro" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Usar \"Par-impar\" para modelos de avião 3DLabPrint. Use \"Fechar buracos\" para fechar todos os buracos no modelo." @@ -16923,11 +17419,9 @@ msgstr "" "\n" "Definir um valor na configuração de quantidade de retração antes da limpeza abaixo executará qualquer retração em excesso antes da limpeza, caso contrário, será realizada após." -# AI Translated msgid "Mixed color sublayer" msgstr "Subcamada de cor mista" -# AI Translated msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects." msgstr "Ativa a divisão em subcamadas de cor mista. Quando ativado, as camadas que contêm filamentos de cor mista são divididas em subcamadas para obter efeitos de mistura de cores." @@ -17338,9 +17832,6 @@ msgstr "largura de linha muito grande " msgid " not in range " msgstr " fora do intervalo " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Isso exporta o projeto como um arquivo 3MF." @@ -17356,9 +17847,6 @@ msgstr "Carregar dados de fatiamento" msgid "Load cached slicing data from directory." msgstr "Carregar dados de fatiamento em cache do diretório." -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exporte os objetos como STL único." @@ -17410,6 +17898,14 @@ msgstr "Sem verificação" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Não execute nenhuma verificação de validade, como a verificação de conflitos de caminho do G-code." +# AI Translated +msgid "Strict mode" +msgstr "Modo estrito" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Sai com código diferente de zero quando o fatiamento gera um aviso não crítico que, de outro modo, seria apenas registrado, como um modelo que precisa de suporte enquanto o suporte está desativado. Use isto em CI ou em pipelines automatizadas que nunca devem entregar um fatiamento sutilmente defeituoso. Cada um desses avisos também é listado com uma classe estável no array `warnings` do result.json, que é gravado apenas no Linux. Não pode ser combinado com --no-check, que ignora a verificação de suporte." + msgid "Normative check" msgstr "Verificação normativa" @@ -17422,11 +17918,28 @@ msgstr "Emitir Informações do Modelo" msgid "This outputs the model’s information." msgstr "Isso emite as informações do modelo." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Inspecionar malha (JSON para stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Imprime no stdout um resumo JSON de cada objeto carregado e então sai: suas caixas delimitadoras e as faces do fecho convexo sobre as quais ele pode ser apoiado, com suas normais, áreas e centros. Essas são as faces entre as quais as opções --ground-* escolhem. Alternativa legível por máquina ao --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Inspecionar pintura (JSON para stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Imprime um resumo JSON estruturado de cada camada pintada (suportes, costura, cor MMU, textura difusa) já armazenada no modelo carregado — contagem de facetas, área de superfície e caixa delimitadora local à malha por estado — e então sai. Alternativa legível por máquina a abrir as ferramentas de pintura na interface." + msgid "Export Settings" msgstr "Exportar Configurações" -msgid "This exports settings to a file." -msgstr "Isso exporta configurações para um arquivo." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Isto exporta as configurações para um arquivo. Use - para gravá-las no stdout." msgid "Send progress to pipe" msgstr "Enviar o progresso para a fila" @@ -17482,6 +17995,30 @@ msgstr "Rotacionar ao redor de Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Ângulo de rotação ao redor do Eixo Y em graus." +# AI Translated +msgid "Ground largest face" +msgstr "Apoiar na maior face" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoia cada objeto na maior face do seu fecho convexo e o solta sobre a mesa. Entre faces de mesmo tamanho, mantém-se a que já está voltada para baixo. Objetos sem uma face grande o bastante para se apoiar são deixados como estão. As transformações são aplicadas na ordem da linha de comando, portanto rotações indicadas antes desta opção são respeitadas. --orient 1 é executado depois de todas as transformações e substitui a orientação." + +# AI Translated +msgid "Ground face by normal" +msgstr "Apoiar na face pela normal" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoia cada objeto na face do fecho convexo cuja normal externa é a mais próxima da direção NX,NY,NZ e o solta sobre a mesa. A direção está em coordenadas do objeto, que incluem as rotações indicadas antes desta opção e coincidem com os eixos da mesa, a menos que o arquivo de entrada gire o objeto. Por exemplo, 1,0,0 apoia o objeto sobre o lado +X. --orient 1 é executado depois de todas as transformações e substitui a orientação." + +# AI Translated +msgid "Ground face at point" +msgstr "Apoiar na face em um ponto" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Apoia cada objeto na face do fecho convexo que contém o ponto X,Y,Z e o solta sobre a mesa. O ponto está em coordenadas do objeto, que incluem as rotações indicadas antes desta opção; --inspect-mesh informa os centros das faces nessas coordenadas. Objetos sem uma face assim são deixados como estão, e a execução falha se nenhum objeto tiver uma. --orient 1 é executado depois de todas as transformações e substitui a orientação." + msgid "Scale the model by a float factor." msgstr "Escalar o modelo por um fator decimal." @@ -17779,12 +18316,36 @@ msgstr "Fil. usado" msgid "Total length of filament used in the print." msgstr "Comprimento total de filamento usado na impressão." -msgid "Print time (seconds)" -msgstr "Tempo de impressão (segundos)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Tempo total estimado de impressão em segundos. Substituído pelo valor real durante o pós-processamento." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Comprimento do filamento (metros)" @@ -17987,9 +18548,8 @@ msgstr "A geração da malha do arquivo do modelo falhou ou não há forma váli msgid "The supplied file couldn't be read because it's empty." msgstr "O arquivo fornecido não pôde ser lido porque está vazio." -# AI Translated msgid "The file format is incompatible and cannot be parsed." -msgstr "O formato do arquivo é incompatível e não pode ser lido." +msgstr "O formato do arquivo é incompatível e não pode ser processado." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgstr "Formato de arquivo desconhecido: o arquivo de entrada deve ter extensão .stl, .obj, .amf(.xml)." @@ -17998,10 +18558,10 @@ msgid "Unknown file format: input file must have .3mf or .zip.amf extension." msgstr "Formato de arquivo desconhecido: o arquivo de entrada deve ter extensão .3mf ou .zip.amf." msgid "load_obj: failed to parse" -msgstr "load_obj: falha ao analisar" +msgstr "load_obj: falha ao processar" msgid "load mtl in obj: failed to parse" -msgstr "carregar mtl em obj: falha ao analisar" +msgstr "carregar mtl em obj: falha ao processsar" msgid "The file contains polygons with more than 4 vertices." msgstr "O arquivo contém polígonos com mais de 4 vértices." @@ -18015,9 +18575,6 @@ msgstr "O arquivo contém um índice de vértice inválido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Este arquivo OBJ não pôde ser lido porque está vazio." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibração de Velocidade Volumétrica Máxima" - msgid "Manage Result" msgstr "Gerenciar Resultado" @@ -18852,9 +19409,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: Valores altos podem causar deslocamento de camada (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibração de Taxa de Fluxo" - msgid "Calibration Test Type" msgstr "Tipo de Teste de Calibração" @@ -19115,7 +19669,7 @@ msgid "Serial" msgstr "Série" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "por exemplo, Básico, Fosco, Seda, Mármore" +msgstr "Ex.: Básico, Fosco, Seda, Mármore" msgid "Filament Preset" msgstr "Predefinição de Filamento" @@ -19615,6 +20169,9 @@ msgstr "Sessão válida não detectada. Prosseguir com o login no 3DPrinterOS?" msgid "Success!" msgstr "Sucesso!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Tem certeza de que deseja sair?" @@ -19796,7 +20353,7 @@ msgid "Error. Can't get API token for authorization" msgstr "Erro. ​​Não foi possível obter o token de API para autorização" msgid "Could not parse server response." -msgstr "Não foi possível decifrar a resposta do servidor." +msgstr "Não foi possível processar a resposta do servidor." msgid "Error saving session to file" msgstr "Erro salvando sessão para arquivo" @@ -19864,7 +20421,7 @@ msgstr "O host respondeu, mas não parece ser o Moonraker (falta o result.klippy #, c-format, boost-format msgid "Could not parse Moonraker server response: %s" -msgstr "Não foi possível analisar a resposta do servidor Moonraker: %s" +msgstr "Não foi possível processar a resposta do servidor Moonraker: %s" msgid "Connection to OctoPrint is working correctly." msgstr "A conexão com o OctoPrint funciona corretamente." @@ -20238,7 +20795,6 @@ msgstr "Removido" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgstr "Ativar atribuição inteligente de filamento: Atribui um filamento a vários bicos para maximizar a economia" -# AI Translated msgid "File Saving" msgstr "Salvamento de Arquivo" @@ -20425,7 +20981,7 @@ msgid "Connection timed out. Please check if the printer and computer network ar msgstr "Limite de tempo de conexão esgotado. Verifique se a impressora e a rede do computador estão funcionando corretamente e confirme se estão na mesma rede." msgid "The Hostname/IP/URL could not be parsed, please check it and try again." -msgstr "Não foi possível decifrar o Hostname/IP/URL; verifique-o e tente novamente." +msgstr "Não foi possível processar o Hostname/IP/URL; verifique-o e tente novamente." msgid "File/data transfer interrupted. Please check the printer and network, then try it again." msgstr "Transferência de arquivo/dados interrompida. Verifique a impressora e a rede e tente novamente." @@ -20522,6 +21078,18 @@ msgstr "Esta ação não pode ser desfeita. Continuar?" msgid "Skipping objects." msgstr "Ignorando objetos." +# AI Translated +msgid "Material Ratio" +msgstr "Proporção de Material" + +# AI Translated +msgid "Model Height" +msgstr "Altura do Modelo" + +# AI Translated +msgid "Ratio" +msgstr "Proporção" + msgid "Select Filament" msgstr "Selecionar Filamento" @@ -20553,12 +21121,6 @@ msgstr "O Plug-in de Rede Bambu é necessário para recursos de nuvem, detecçã msgid "Error: %s" msgstr "Erro: %s" -msgid "Show details" -msgstr "Mostrar detalhes" - -msgid "Hide details" -msgstr "Esconder detalhes" - msgid "Version to install:" msgstr "Versão para instalar:" @@ -20761,11 +21323,15 @@ msgstr "Secando-Aquecendo" msgid "Drying-Dehumidifying" msgstr "Secando-Desumidificando" -msgid " maximum drying temperature is " -msgstr " temperatura máxima de secagem é " +# AI Translated +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "A temperatura máxima de secagem de %s é %d°C." -msgid " minimum drying temperature is " -msgstr " temperatura mínima de secagem é " +# AI Translated +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "A temperatura mínima de secagem de %s é %d°C." msgid "This filament may not be completely dried." msgstr "Este filamento pode não estar completamente seco." @@ -20878,6 +21444,2488 @@ msgstr "O filamento pode não ser compatível com as configurações atuais da m msgid "The filament model is unknown. A random filament preset will be used." msgstr "O modelo do filamento é desconhecido. Uma predefinição de filamento aleatória será usada." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Seta para Esquerda" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Seta para Direita" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Seta para Cima" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Seta para Baixo" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importar dados de geometria de arquivos STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Selecionar todos os objetos" + +msgid "Paste from clipboard" +msgstr "Colar da área de transferência" + +msgid "Toggle printable for object/part" +msgstr "Alternar modo de impressão para objeto/peça" + +msgid "Move selection 10mm in negative X direction" +msgstr "Mover seleção 10mm na direção X negativa" + +msgid "Move selection 10mm in positive X direction" +msgstr "Mover seleção 10mm na direção X positiva" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Mover seleção 10mm na direção Y positiva" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Mover seleção 10mm na direção Y negativa" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo mover" + +msgid "Gizmo rotate" +msgstr "Gizmo rotacionar" + +msgid "Gizmo scale" +msgstr "Gizmo escala" + +msgid "Gizmo place face on bed" +msgstr "Gizmo posicionar face na mesa" + +msgid "Gizmo cut" +msgstr "Gizmo cortar" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo malha booleana" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo de pintura de costura FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo de pintura de textura difusa FDM" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo Texturizar/gravar texto" + +msgid "Gizmo measure" +msgstr "Gizmo medir" + +msgid "Gizmo assemble" +msgstr "Gizmo montar" + +msgid "Gizmo brim ears" +msgstr "Gizmo orelhas da borda" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Controle deslizante vertical - Mover o polegar ativo para cima" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Controle deslizante vertical - Mover o polegar ativo para baixo" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Controle deslizante horizontal - Mover o polegar ativo para a esquerda" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Controle deslizante horizontal - Mover o polegar ativo para a direita" + +msgid "Horizontal slider - Move to start position" +msgstr "Barra deslizante horizontal — Mover para a posição inicial" + +msgid "Horizontal slider - Move to last position" +msgstr "Barra deslizante horizontal — Mover para a última posição" + +msgid "Camera view - Default" +msgstr "Vista da câmera - Padrão" + +msgid "Camera view - Top" +msgstr "Vista da câmera - Superior" + +msgid "Camera view - Bottom" +msgstr "Vista da câmera - Inferior" + +msgid "Camera view - Front" +msgstr "Vista da câmera - Frontal" + +msgid "Camera view - Behind" +msgstr "Vista da câmera - Posterior" + +msgid "Camera Angle - Left side" +msgstr "Ângulo da câmera - Lado esquerdo" + +msgid "Camera Angle - Right side" +msgstr "Ângulo da câmera - Lado direito" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Aproximar zoom" + +msgid "Zoom out" +msgstr "Afastar zoom" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Mostrar/Ocultar diálogo de configurações de dispositivos 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Ativar/Desativar janela de G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Ativar/Desativar modo de uma camada do controle deslizante vertical" + +msgid "Switch between Prepare/Preview" +msgstr "Alternar entre Preparar/Pré-visualizar" + +msgid "Collapse/Expand the sidebar" +msgstr "Recolher/Expandir a barra lateral" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Mostrar lista de atalhos de teclado" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21178,6 +24226,146 @@ msgstr "" "Evitar empenamento\n" "Você sabia que ao imprimir materiais propensos ao empenamento como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?" +#~ msgid "Tab" +#~ msgstr "Tab" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Exibe o FPS atual da janela de visualização no canto superior direito." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Documentação de Publicar 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Guia em vídeo de Publicar 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Barra de Ferramentas" + +#~ msgid "Switch table page" +#~ msgstr "Trocar página da tabela" + +#~ msgid "Global shortcuts" +#~ msgstr "Atalhos globais" + +#~ msgid "Middle mouse button" +#~ msgstr "Botão do meio do mouse" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Orienta automaticamente os objetos selecionados ou todos os objetos. Se houver objetos selecionados, ele apenas orientará os selecionados. Caso contrário, ele orientará todos os objetos do projeto atual." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Orienta automaticamente todos os objetos na placa atual." + +#~ msgid "Any arrow" +#~ msgstr "Qualquer seta" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo de pontos de suporte SLA" + +#~ msgid "Plater" +#~ msgstr "Mesa" + +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Excluir objetos, peças, modificadores" + +#~ msgid "Objects List" +#~ msgstr "Lista de Objetos" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "Código G escrito no início do arquivo de saída, antes de qualquer outro conteúdo. Útil para adicionar metadados que o firmware da impressora lê das primeiras linhas do arquivo (ex.: tempo estimado de impressão, consumo de filamento). Suporta marcadores como {print_time_sec} e {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Tempo de impressão (segundos)" + +#~ msgid "Open actions speed dial" +#~ msgstr "Abrir menu rápido de ações" + +#~ msgid "Left: " +#~ msgstr "Esquerda: " + +#~ msgid "Right: " +#~ msgstr "Direita: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "A temperatura máxima não pode exceder " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "A temperatura mínima não pode ser menor do que " + +#~ msgid "up to" +#~ msgstr "até" + +#~ msgid "above" +#~ msgstr "acima" + +#~ msgid "from" +#~ msgstr "de" + +#~ msgid "Configuration package: " +#~ msgstr "Pacote de configuração: " + +#~ msgid " updated to " +#~ msgstr " atualizado para " + +#~ msgid "Grouping error: " +#~ msgstr "Erro de agrupamento: " + +#~ msgid " can not be placed in the " +#~ msgstr " não pode ser colocado na " + +#~ msgid " maximum drying temperature is " +#~ msgstr " temperatura máxima de secagem é " + +#~ msgid " minimum drying temperature is " +#~ msgstr " temperatura mínima de secagem é " + +# AI Translated +#~ msgid "needs" +#~ msgstr "precisa de" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "não ativado" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "material não publicado" + +#~ msgid "Select the language" +#~ msgstr "Selecione o idioma" + +#~ msgid "Select plugin" +#~ msgstr "Selecionar plugin" + +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direção em que as superfícies superiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Cordas de Arquimedes, Espiral de Octograma).\n" +#~ "Para fora começa no centro da superfície, de modo que qualquer excesso de material seja empurrado em direção à borda, onde é menos visível. Para dentro começa na borda e termina com as curvas fechadas no centro.\n" +#~ "O padrão usa a ordenação de caminho mais curto, que pode seguir em qualquer direção." + +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Direção em que as superfícies inferiores são preenchidas ao usar um padrão baseado no centro (Concêntrico, Cordas de Arquimedes, Espiral de Octograma).\n" +#~ "Para dentro começa cada superfície com as curvas externas mais largas, o que melhora a aderência da primeira camada em mesas onde as curvas fechadas no centro podem não aderir. Para fora começa no centro, empurrando qualquer excesso de material em direção à borda.\n" +#~ "O padrão usa a ordenação de caminho mais curto, que pode seguir em qualquer direção." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Se ativado, a torre de purga não será impressa em camadas sem troca de ferramenta. Em camadas com uma troca de ferramenta, a extrusora deslocará para baixo para imprimir a torre de purga. O usuário é responsável por garantir que não haja colisão com a impressão." + +#~ msgid "This exports settings to a file." +#~ msgstr "Isso exporta configurações para um arquivo." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "A visualização ao vivo nativa do Wayland requer o receptor de vídeo GTK do GStreamer. Instale o plugin gtksink para GStreamer e reinicie o OrcaSlicer." @@ -21199,15 +24387,6 @@ msgstr "" #~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)" #~ msgstr "Seu sistema não possui codecs H.264 para o GStreamer, que são necessários para reproduzir vídeos. (Tente instalar os pacotes gstreamer1.0-plugins-bad ou gstreamer1.0-libav e depois reinicie o OrcaSlicer?)" -#~ msgid "N" -#~ msgstr "N" - -#~ msgid "g" -#~ msgstr "g" - -#~ msgid "Fila Saving" -#~ msgstr "Econo Filamento" - #~ msgid "" #~ "Layer height is too small.\n" #~ "It will set to min_layer_height\n" @@ -21229,9 +24408,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordem de impressão dentro de uma única camada." -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frente" @@ -21535,7 +24711,7 @@ msgstr "" #~ "Pontes externas de menor densidade podem ajudar a melhorar a confiabilidade, pois há mais espaço para o ar circular ao redor da ponte extrudada, melhorando sua velocidade de resfriamento. O mínimo é 10%.\n" #~ "\n" #~ "Densidades mais altas podem produzir superfícies de ponte mais lisas, pois as linhas sobrepostas fornecem suporte adicional durante a impressão. O máximo é 120%.\n" -#~ "Observação: Densidade de ponte muito alta pode causar deformação ou sobrextrusão." +#~ "Nota: Densidade de ponte muito alta pode causar deformação ou sobrextrusão." #~ msgid "" #~ "Controls the density (spacing) of internal bridge lines. 100% means solid bridge. Default is 100%.\n" @@ -21580,7 +24756,7 @@ msgstr "" #~ "\n" #~ "Geralmente, é recomendável ter esta opção ativada, a menos que o resfriamento da impressora seja potente o suficiente ou a velocidade de impressão lenta o suficiente para que a curvatura do perímetro não aconteça. Se estiver imprimindo com uma alta velocidade de perímetro externo, este parâmetro pode introduzir pequenos artefatos ao desacelerar devido à grande variação nas velocidades de impressão. Se você notar artefatos, certifique-se de que seu pressure advance esteja ajustado corretamente.\n" #~ "\n" -#~ "Observação: quando esta opção estiver habilitada, os perímetros de saliência são tratados como saliências, o que significa que a velocidade de saliência é aplicada mesmo se o perímetro de saliência for parte de uma ponte. Por exemplo, quando os perímetros estiverem 100% salientes, sem nenhuma parede apoiando-os por baixo, a velocidade de saliência de 100% será aplicada." +#~ "Nota: quando esta opção estiver habilitada, os perímetros de saliência são tratados como saliências, o que significa que a velocidade de saliência é aplicada mesmo se o perímetro de saliência for parte de uma ponte. Por exemplo, quando os perímetros estiverem 100% salientes, sem nenhuma parede apoiando-os por baixo, a velocidade de saliência de 100% será aplicada." #~ msgid "If enabled, bridges are more reliable, can bridge longer distances, but may look worse. If disabled, bridges look better but are reliable just for shorter bridged distances." #~ msgstr "Se ativado, as pontes são mais confiáveis, podem cobrir distâncias maiores, mas podem parecer piores. Se desativado, as pontes ficam melhores, mas são confiáveis apenas para distâncias de ponte mais curtas." @@ -22500,7 +25676,7 @@ msgstr "" #~ msgstr "Contagem máxima de projetos recentes" #~ msgid "This parameter adds a rotation of sparse infill direction to each layer according to the specified template. The template is a comma-separated list of angles in degrees, e.g. '0,90'. The first angle is applied to the first layer, the second angle to the second layer, and so on. If there are more layers than angles, the angles will be repeated. Note that not all sparse infill patterns support rotation." -#~ msgstr "Este parâmetro adiciona uma rotação na direção do preenchimento esparso a cada camada, de acordo com o gabarito especificado. O gabarito é uma lista de ângulos em graus separados por vírgulas, por exemplo, '0,90'. O primeiro ângulo é aplicado à primeira camada, o segundo ângulo à segunda camada e assim por diante. Se houver mais camadas do que ângulos, os ângulos serão repetidos. Observe que nem todos os padrões de preenchimento esparso suportam rotação." +#~ msgstr "Este parâmetro adiciona uma rotação na direção do preenchimento esparso a cada camada, de acordo com o gabarito especificado. O gabarito é uma lista de ângulos em graus separados por vírgulas, como '0,90'. O primeiro ângulo é aplicado à primeira camada, o segundo ângulo à segunda camada e assim por diante. Se houver mais camadas do que ângulos, os ângulos serão repetidos. Observe que nem todos os padrões de preenchimento esparso suportam rotação." #~ msgid "Set Position" #~ msgstr "Definir Posição" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 112fbc2834..2d35c31a26 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-02-25 13:38+0300\n" "Last-Translator: Felix14_v2\n" "Language-Team: Felix14_v2 (ДС/ТГ: @felix14_v2, почта: aleks111001@list.ru), Andylg \n" @@ -2431,15 +2431,6 @@ msgstr "Доступно обновление. Проверьте меню па msgid "%s has been removed." msgstr "%s был удалён." -msgid "Switching application language" -msgstr "Изменение языка приложения" - -msgid "Select the language" -msgstr "Выбор языка" - -msgid "Language" -msgstr "Язык" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "Не удалось переключить язык на %s." @@ -2471,6 +2462,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Не удалось открыть меню плагинов (неизвестная ошибка)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Консоль плагина" @@ -3698,11 +3702,15 @@ msgstr "Втянуть текущий материал на Filament Track Switc msgid "Switch track at Filament Track Switch" msgstr "Переключить подачу на Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "Температура не должна превышать " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Температура не должна превышать %d" -msgid "The minmum temperature should not be less than " -msgstr "Температура не должна быть ниже " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Температура не должна быть ниже %d" msgid "Type to filter..." msgstr "Поиск..." @@ -4136,6 +4144,21 @@ msgstr "OrcaSlicer начинал свой путь с тем же замысл msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "В наши дни OrcaSlicer – самый прогрессивный и распространённый в сообществе слайсер с открытым исходным кодом. Благодаря множеству инноваций он становится основой других слайсеров и движущей силой всей индустрии 3D-печати." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Принтер" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Настройка материалов AMS" @@ -4579,6 +4602,15 @@ msgstr "" "Не удалось скопировать временный G-код в целевое расположение. Возможно, накопитель защищён от записи?\n" "Сообщение об ошибке: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Не удалось скопировать временный G-код в выходной G-код.\n" +"Сообщение об ошибке: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Не удалось скопировать временный G-код в целевое расположение. Возможно, проблема с устройством хранения, попробуйте выполнить экспорт снова или использовать другое устройство. Повреждённый выходной файл G-кода находится в %1%.tmp." @@ -4891,6 +4923,11 @@ msgid "" "No - Cancel enabling spiral mode" msgstr "Использовать эти настройки и режим вазы?" +# Не знаю, как и почему, но это, похоже, исправляет "вопросики" вместо +# символов +msgid "N/A" +msgstr "–" + msgid "Printing" msgstr "Печать" @@ -5331,14 +5368,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Значение %s выходит за пределы допустимого диапазона. Допустимый диапазон - от %d до %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Имелось ввиду %s%%? (введено %s %s)\n" -"Да – изменить на %s%%\n" -"Нет – оставить %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Имелось ввиду %s%% или %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5360,26 +5394,18 @@ msgstr "Недопустимый шаблон. Используйте N, N#K и msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Недопустимый формат. Ожидаемый векторный формат: \"%1%\"" -# Не знаю, как и почему, но это, похоже, исправляет "вопросики" вместо -# символов -msgid "N/A" -msgstr "–" - msgid "System agents" msgstr "Системные агенты" -msgid "No plugin selected" -msgstr "Плагины не выбраны" - msgid "Add plugin" msgstr "Добавить плагин" -msgid "Select plugin" -msgstr "Выбрать плагин" - msgid "Remove plugin" msgstr "Удалить плагин" +msgid "No plugin selected" +msgstr "Плагины не выбраны" + msgid "Configure" msgstr "Настроить" @@ -5662,14 +5688,20 @@ msgstr "Оптимизировать" msgid "Regroup filament" msgstr "Изменить" -msgid "up to" -msgstr "до" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "до %1% мм" -msgid "above" -msgstr "после" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "выше %1% мм" -msgid "from" -msgstr "с" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "от %1% до %2% мм" msgid "Usage" msgstr "Расход" @@ -5729,9 +5761,6 @@ msgctxt "Noun" msgid "Print" msgstr "Печать" -msgid "Printer" -msgstr "Принтер" - msgid "Time Estimation" msgstr "Оценка времени" @@ -5909,12 +5938,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Справа" -msgid "Add" -msgstr "Добавить" - msgid "Add plate" msgstr "Добавить стол" +msgid "Split to objects" +msgstr "Разделить на модели" + +msgid "Add" +msgstr "Добавить" + msgid "Auto orient all/selected objects" msgstr "Положить все/выбранные модели" @@ -5927,9 +5959,6 @@ msgstr "Расставить все модели" msgid "Arrange objects on selected plates" msgstr "Расставить модели на активном столе" -msgid "Split to objects" -msgstr "Разделить на модели" - msgid "Assembly View" msgstr "Сборочный вид" @@ -5989,6 +6018,9 @@ msgstr "Обводка выбранного" msgid "Wireframe" msgstr "Сетка модели" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Продвинутая графика" @@ -6221,6 +6253,9 @@ msgstr "Закрытие приложения, при имеющихся изм msgid "Logging" msgstr "Авторизация" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Подготовка" @@ -6378,6 +6413,14 @@ msgstr "Сохранить проект как" msgid "Save current project as" msgstr "Сохранить текущий проект как" +# AI Translated +msgid "Publish 3MF" +msgstr "Опубликовать 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Экспорт файла 3MF со встроенными выбранными настройками" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Импорт 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6561,6 +6604,9 @@ msgstr "Правка" msgid "View" msgstr "Вид" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Пакет профилей" @@ -7500,6 +7546,231 @@ msgstr "Не показывать снова" msgid "Please refer to Wiki before use->" msgstr "Перед использованием обратитесь к руководству →" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Экспорт в STL" + +msgid "Export 3MF" +msgstr "Экспорт в 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Калибровка макс. объёмного расхода" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Калибровка коэффициента потока" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Удалить все модели" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Разделить на модели" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-мышь отключена." @@ -7662,6 +7933,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Снизу" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Эта настройка не указывает тип возможности плагина." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Эта настройка указывает нераспознанный тип возможности плагина: " + msgid "Plugin Selection" msgstr "Выбор плагинов" @@ -8129,11 +8408,6 @@ msgstr "Развернуть боковую панель" msgid "Collapse sidebar" msgstr "Свернуть боковую панель" -# Название кнопки на клавиатуре, на момент 2.3.2 используется в 5 местах в -# значении названия кнопки -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Загрузка файла: %s" @@ -8212,6 +8486,14 @@ msgstr "Во избежание повреждения принтера убед msgid "Customized Preset" msgstr "Пользовательский профиль" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Некоторые опубликованные настройки не удалось применить:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Некоторые слоты материалов были изменены:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Имена компонентов внутри файла STEP не в формате UTF-8." @@ -8337,18 +8619,12 @@ msgstr "" msgid "Delete Object" msgstr "Удалить модель" -msgid "Delete All Objects" -msgstr "Удалить все модели" - msgid "Reset Project" msgstr "Сбросить проект" msgid "The selected object couldn't be split." msgstr "Невозможно разделить выбранную модель." -msgid "Split to Objects" -msgstr "Разделить на модели" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Отключить притягивание компонентов к столу для сохранения высоты?\n" @@ -8624,6 +8900,21 @@ msgstr "Сохранить нарезанный файл как:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Файл %s отправлен в память принтера и может быть просмотрен на нём." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Опубликовать файл 3MF как:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Не удалось экспортировать опубликованный файл 3MF.\n" +"Проверьте, доступна ли папка в сети и не открыт ли файл в других программах." + +msgid "Publish" +msgstr "Опубликовать" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Не указан тип сопла. Укажите его и попробуйте ещё раз." @@ -8829,9 +9120,6 @@ msgstr "Хотите продолжить?" msgid "Language selection" msgstr "Выбор языка" -msgid "Switching application language while some presets are modified." -msgstr "Смена языка приложения при изменении некоторых профилей." - msgid "Asia-Pacific" msgstr "Азиатско-Тихоокеанский" @@ -8937,6 +9225,9 @@ msgstr "Расположение: " msgid "General" msgstr "Общие" +msgid "Language" +msgstr "Язык" + msgid "Metric" msgstr "Метрическая СИ" @@ -9140,6 +9431,33 @@ msgstr "Управление несколькими устройствами Bam msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Если включено, вы сможете управлять несколькими устройствами и отправлять задания на печать на несколько устройств одновременно." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # Запрашивать выбор режима группировки? msgid "Pop up to select filament grouping mode" msgstr "Всплывающее окно для выбора режима группировки материалов" @@ -9224,6 +9542,12 @@ msgstr "Инвертировать приближение" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Инвертировать масштабирование с помощью колеса мыши." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Смещение" @@ -9245,6 +9569,15 @@ msgstr "Перетаскивание правой кнопкой мыши" msgid "Set the action that dragging the right mouse button should perform." msgstr "Действие при перемещении курсора с зажатой правой кнопкой мыши." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Сброс выбора по умолчанию" @@ -9359,11 +9692,39 @@ msgstr "" "Ограничить частоту отрисовки рабочего пространства для снижения энергопотребления и нагрузки на ГП.\n" "0 – не ограничивать частоту кадров." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "Отображать частоту кадров" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Выводить частоту кадров рабочего пространства в правом верхнем углу." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" msgid "G-code Preview" msgstr "Просмотр нарезки" @@ -9377,9 +9738,6 @@ msgstr "Затемнять слои, находящиеся ниже текущ msgid "Dimmed layer brightness" msgstr "Яркость затемнённых слоёв" -msgid "%" -msgstr "%" - msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" "99% is barely darkened, 0% renders them black. Capped at 99% because 100% would be the same as disabling the option." @@ -9770,9 +10128,6 @@ msgstr "Перейти на веб-страницу публикации мод msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Примечание: подготовка может занять несколько минут. Пожалуйста, наберитесь терпения." -msgid "Publish" -msgstr "Опубликовать" - msgid "Publish was canceled" msgstr "Публикация была отменена" @@ -9788,6 +10143,76 @@ msgstr "Отправка данных" msgid "Jump to webpage" msgstr "Перейти на страницу" +# AI Translated +msgid "Material" +msgstr "Материал" + +# AI Translated +msgid "Mixed filament" +msgstr "Смешанный материал" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Некоторые смешанные материалы зависят от материалов, которые не будут опубликованы:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Материал %d (смешанный)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% требует %2%, но он не включён." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% требует %2%, но его материал не будет опубликован." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Чтобы опубликовать смешанный материал, включите каждый используемый им материал и выберите «Полная публикация» либо выполните требование «Тип»." + +# AI Translated +msgid "Publish anyway" +msgstr "Всё равно опубликовать" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Опубликовать 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Выберите, какие настройки будут опубликованы в файле 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Смешанный материал — публикуется целиком, когда выше выбрано «Включить»" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Опубликовать этот смешанный материал и включить + полностью опубликовать его составляющие материалы" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Опубликовать этот слот материала в файле 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Полная публикация" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Встроить материал этого слота целиком в файл 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Фильтровать невыбранные" + #, c-format, boost-format msgid "Save %s as" msgstr "Сохранить %s как" @@ -9805,6 +10230,10 @@ msgstr "Копирует в этот профиль все значения, у msgid "Detach from parent" msgstr "Сделать независимым" +# AI Translated +msgid "Save without parent" +msgstr "Сохранить без родителя" + # AI Translated msgid "Unique preset" msgstr "Независимый профиль" @@ -9868,6 +10297,133 @@ msgstr "Для «%1%» добавить «%2%» как новый профиль msgid "Simply switch to \"%1%\"" msgstr "Просто переключиться на «%1%»" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Прочее" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Подробнее" + +# В информации о сетевом плагине +msgid "Hide details" +msgstr "Скрыть подробности" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Задание отменено" @@ -10481,9 +11037,17 @@ msgstr "Для обнаружения налипаний на сопле тре msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Включение «Точной высоты по Z» совместно с черновой башней может привести к ошибкам нарезки. Продолжить?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Для плавного таймлапса требуется черновая башня на каждом слое, что несовместимо с параметром «Без разреженных слоёв». Параметр «Без разреженных слоёв» отключён." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Для сглаженного таймлапса требуется черновая башня, без неё на модели могут возникнуть дефекты. Включить черновую башню?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "Параметр «Без разреженных слоёв» несовместим с плавным таймлапсом, которому требуется черновая башня на каждом слое. Таймлапс переключён в обычный режим." + msgid "Still print by object?" msgstr "Продолжить печать по очереди?" @@ -10888,9 +11452,6 @@ msgstr "Совместимые настройки" msgid "Printable space" msgstr "Область печати" -msgid "Printer Agent" -msgstr "Сетевой агент" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Реализация сетевого агента для обмена информацией с принтером. Доступные реализации определяются при запуске." @@ -11293,12 +11854,6 @@ msgstr "Количество экструдеров" msgid "Capabilities" msgstr "Возможности" -msgid "Left: " -msgstr "Левый: " - -msgid "Right: " -msgstr "Правый: " - msgid "Show all presets (including incompatible)" msgstr "Показать все профили (включая несовместимые)" @@ -11688,56 +12243,38 @@ msgstr "Пакет профилей был изменён при предыду msgid "Configuration package changed" msgstr "Пакет профилей изменён" -msgid "Toolbar" -msgstr "Панель инструментов" - -msgid "Objects list" -msgstr "Список моделей" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Импорт геометрических данных из STL/STEP/3MF/OBJ/AMF файлов" - -msgid "Paste from clipboard" -msgstr "Вставить из буфера обмена" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Показать/скрыть диалоговое окно настроек и устройств 3Dconnexion" - -msgid "Switch table page" -msgstr "Переключение между вкладками" - -msgid "Show keyboard shortcuts list" -msgstr "Показать список сочетаний клавиш" - -msgid "Global shortcuts" -msgstr "Глобальные горячие клавиши" - msgid "Pan View" msgstr "Перемещение камеры" msgid "Rotate View" msgstr "Вращение камеры" -msgid "Middle mouse button" -msgstr "Средняя кнопка мыши" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Масштабирование вида" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Попытаться положить модели на стол. При выборе отдельных моделей операция применяется только к ним." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Положить все модели только на активном столе" +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Свернуть/развернуть боковую панель" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "Любая стрелка" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "Перемещение выбранного по отношению к камере" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Выбор части модели" @@ -11748,130 +12285,29 @@ msgstr "Выбор нескольких моделей" msgid "Select objects by rectangle" msgstr "Выбор прямоугольником" -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Стрелка вверх" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Перемещение выбранного на +10 мм по оси Y" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Стрелка вниз" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Перемещение выбранного на -10 мм по оси Y" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Стрелка влево" - -msgid "Move selection 10mm in negative X direction" -msgstr "Перемещение выбранного на -10 мм по оси X" - -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Стрелка вправо" - -msgid "Move selection 10mm in positive X direction" -msgstr "Перемещение выбранного на +10 мм по оси X" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Клавиши 1-9: задать материал для модели/части модели" msgid "Movement step set to 1mm" msgstr "Зафиксировать шаг перемещения на 1 мм" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Клавиши 1-9: задать материал для модели/части модели" +msgid "Movement in camera space" +msgstr "Перемещение выбранного по отношению к камере" -msgid "Camera view - Default" -msgstr "Камера по умолчанию" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Камера сверху" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Камера снизу" +msgid "Zoom View" +msgstr "Масштабирование вида" -msgid "Camera view - Front" -msgstr "Камера спереди" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Камера сзади" - -msgid "Camera Angle - Left side" -msgstr "Камера слева" - -msgid "Camera Angle - Right side" -msgstr "Камера справа" - -msgid "Select all objects" -msgstr "Выбрать все модели" - -msgid "Gizmo move" -msgstr "Инструмент перемещения" - -msgid "Gizmo rotate" -msgstr "Инструмент вращения" - -msgid "Gizmo scale" -msgstr "Инструмент масштабирования" - -msgid "Gizmo place face on bed" -msgstr "Выбор контактной поверхности" - -msgid "Gizmo cut" -msgstr "Инструмент разрезания" - -msgid "Gizmo mesh boolean" -msgstr "Булевы операции" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Рисование нечёткой оболочки" - -msgid "Gizmo SLA support points" -msgstr "Размещение поддержек (SLA)" - -msgid "Gizmo FDM paint-on seam" -msgstr "Рисование шва (FDM)" - -msgid "Gizmo text emboss/engrave" -msgstr "Инструмент размещения текста" - -msgid "Gizmo measure" -msgstr "Инструмент измерения" - -msgid "Gizmo assemble" -msgstr "Размещение частей сборки" - -msgid "Gizmo brim ears" -msgstr "Размещение «мышиных ушек»" - -msgid "Zoom in" -msgstr "Приблизить" - -msgid "Zoom out" -msgstr "Отдалить" - -# Ошибка в оригинале – переключить печать частей невозможно, функция работает только для всей сборки -msgid "Toggle printable for object/part" -msgstr "Переключить печать модели" - -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Переключение между подготовкой и просмотром нарезки" - -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Пробел" - -msgid "Open actions speed dial" -msgstr "Открыть строку быстрых действий" - -# Plater – это название библиотеки. Используется в меню горячих клавиш в качестве заголовка сочетаний клавиш, которые работают внутри пространства Plater. Как минимум на Windows не отображается. -msgid "Plater" -msgstr "Рабочая область" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Перемещение: Фиксация перемещения на 1 мм" @@ -11882,14 +12318,18 @@ msgstr "Рисование поддержек/Шва/Покраски: регу msgid "Support/Color Painting: adjust section position" msgstr "Рисование поддержек/Шва/Покраски: регулировка положения сечения" -msgid "Gizmo" -msgstr "Инструмент" +msgid "Objects list" +msgstr "Список моделей" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Задать номер экструдера для моделей/частей" -msgid "Delete objects, parts, modifiers" -msgstr "Удаление моделей, частей, модификаторов" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Пробел" msgid "Select the object/part and press space to change the name" msgstr "Выберите модель/часть и нажмите пробел, чтобы изменить имя" @@ -11900,43 +12340,48 @@ msgstr "Левая кнопка мыши" msgid "Select the object/part and mouse click to change the name" msgstr "Выберите модель/часть и нажмите левую клавишу мыши, чтобы изменить имя" -msgid "Objects List" -msgstr "Список моделей" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вверх" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вниз" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок влево" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок вправо" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Включение/отключение функции «Режим одного слоя» у вертикального ползунка" - -msgid "On/Off G-code window" -msgstr "Показать/скрыть окно отображения G-кода" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Перемещение ползунка быстрее в 5 раз" -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Горизонтальный ползунок - перемещение в начальную позицию" +msgid "Not customizable" +msgstr "" -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Горизонтальный ползунок - перемещение в конечную позицию" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Информация о версии" @@ -12133,15 +12578,22 @@ msgstr "Восстановление отменено" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Не удалось скопировать файл %1% в %2%: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Загрузка новых профилей производителей: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Пакет профилей: %1% обновлён до %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Не удалось загрузить профили производителей: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Перед обновлением профилей необходимо проверить несохранённые изменения." -msgid "Configuration package: " -msgstr "Пакет профилей: " - -msgid " updated to " -msgstr " обновлён до " - msgid "Open G-code file:" msgstr "Выберите G-код файл:" @@ -12201,12 +12653,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping поддерживается только в Klipper, RepRapFirmware и Marlin 2." -msgid "Grouping error: " -msgstr "Ошибка группировки: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Ошибка группировки: %1% нельзя разместить в левом сопле" -# filament_type + <перевод> + extruder_name -msgid " can not be placed in the " -msgstr " нельзя заправить в " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Ошибка группировки: %1% нельзя разместить в правом сопле" msgid "Group error in manual mode. Please check nozzle count or regroup." msgstr "Ошибка группировки в ручном режиме. Проверьте количество сопел или измените группировку." @@ -12319,6 +12774,10 @@ msgstr "%1% находится слишком близко к другим, чт msgid "%1% is too tall, and collisions will be caused." msgstr "Модель «%1%» слишком высокая, что приведёт к столкновению механики." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Взаимное расположение модели и черновой башни не отвечает требованиям функции «Без разреженных слоёв». Измените их взаимное расположение, уменьшите высоту модели или отключите параметр «Без разреженных слоёв»." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " находится слишком близко к области исключения, что может привести к столкновению при печати." @@ -12670,6 +13129,9 @@ msgstr "Сжатие G-кода перед отправкой" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Рекомендуется для принтеров, поддерживающих печать из архивов 3MF. Файлы печати будут отправляться с расширением \".gcode.3mf\"." +msgid "Printer Agent" +msgstr "Сетевой агент" + msgid "Select the network agent implementation for printer communication." msgstr "Реализация сетевого агента для обмена информацией с принтером." @@ -13776,6 +14238,10 @@ msgstr "Ровный зигзаг" msgid "Concentric" msgstr "Эквидистанты" +# AI Translated +msgid "Spiral Inset" +msgstr "Спиральный отступ" + msgid "Hilbert Curve" msgstr "Кривая Гильберта" @@ -13869,28 +14335,28 @@ msgstr "" msgid "Top surface fill order" msgstr "Направление печати" +# AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Направление печати спирали/эквидистант на верхних поверхностях. Позволяет управляемо распределять избыток материала.\n" -"• По умолчанию: использовать кратчайший путь.\n" -"• Наружу: от центра шаблона к краю модели.\n" -"• Внутрь: от края модели к центру шаблона." +"Направление заполнения верхних поверхностей при использовании шаблона, идущего от центра (Эквидистанты, Спиральный отступ, Спираль Архимеда, Спиральная октаграмма).\n" +"Наружу начинает от центра поверхности, поэтому излишек материала вытесняется к краю, где он менее заметен. Внутрь начинает от края и заканчивается тесными изгибами в центре.\n" +"По умолчанию используется порядок по кратчайшему пути, который может идти в любом направлении." msgid "Bottom surface fill order" msgstr "Направление печати" +# AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Направление печати спирали/эквидистант на нижних поверхностях. Позволяет управляемо распределять избыток материала.\n" -"• По умолчанию: использовать кратчайший путь.\n" -"• Наружу: от центра шаблона к краю модели.\n" -"• Внутрь: от края модели к центру шаблона." +"Направление заполнения нижних поверхностей при использовании шаблона, идущего от центра (Эквидистанты, Спиральный отступ, Спираль Архимеда, Спиральная октаграмма).\n" +"Внутрь начинает каждую поверхность с более широких внешних изгибов, что улучшает адгезию первого слоя на столах, к которым тесные изгибы в центре могут не прилипать. Наружу начинает от центра, вытесняя излишек материала к краю.\n" +"По умолчанию используется порядок по кратчайшему пути, который может идти в любом направлении." msgid "Internal solid infill pattern" msgstr "Шаблон сплошного заполнения" @@ -14008,6 +14474,14 @@ msgstr "Против часовой стрелки" msgid "Clockwise" msgstr "По часовой стрелке" +# AI Translated +msgid "Distance to rod" +msgstr "Расстояние до штанги" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Расстояние по горизонтали от кончика сопла до дальнего края штанги. Используется для предотвращения столкновений при печати моделей по очереди." + msgid "Height to rod" msgstr "Высота до вала" @@ -16384,6 +16858,20 @@ msgstr "Обнаруживать нависающие периметры" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Использовать разную скорость печати в зависимости от выноса линии относительно её опоры. Для нависаний без опоры используется скорость печати мостов." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Печатать неподдерживаемые периметры последними" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Контуры периметров, полностью висящие в воздухе, печатаются только тогда, когда их есть чему удержать:\n" +"они выдавливаются после остальных периметров своего острова, начиная с самого внутреннего, независимо от порядка периметров.\n" +"Контур, который могут закрепить только мосты этого слоя, ждёт, пока эти мосты будут напечатаны, а контур, идущий вдоль опирающегося периметра, сохраняет своё место перед заполнением, которому он нужен как якорь." + # В секции "Материал для линий" msgid "Outer walls" msgstr "Внешние периметры" @@ -16894,6 +17382,39 @@ msgstr "" "\n" "Примечание: при отключении настройки зазор не будет заполняться остатками материала, что также может уменьшить заметность шва в сочетании с быстрым переходом к внутренним периметрам." +# AI Translated +msgid "Wipe inward" +msgstr "Очистка внутрь" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Применяется только к внешним периметрам, включая контуры отверстий. Во время очистки перемещает горячее сопло к уже напечатанным внутренним периметрам, чтобы уменьшить повторный нагрев только что напечатанного пластика и следы шва.\n" +"\n" +"Особенно полезно при высоте слоя менее 0,1 мм, где следы очистки заметнее.\n" +"\n" +"Использует обычную очистку, если рядом нет уже напечатанного внутреннего периметра (области с одним периметром или порядок периметров «Снаружи внутрь») либо если не удаётся найти опирающийся путь внутрь, например в тесных углах или разрывах шва." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Расстояние очистки внутрь" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Расстояние, на которое путь очистки смещается от внешнего периметра, задаётся в миллиметрах или в процентах от фактической ширины линии внешнего периметра.\n" +"\n" +"Например, 50% смещает путь на половину ширины внешнего периметра. Фактическое смещение ограничено как реальной шириной внешнего периметра, так и доступным промежутком до соседнего периметра, поэтому значения выше 100% или эквивалентное абсолютное расстояние не дают дополнительного эффекта. Задайте 0, чтобы отключить смещение." + # Подворот начала линии на шве, упреждающая подача перед внешним периметром, # заглубление подачи ..., смещённая подача msgid "Wipe before external loop" @@ -17119,8 +17640,8 @@ msgstr "Шагов преднагрева" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Задание нескольких команд преднагрева (например, M104.1). Полезно только для Prusa XL. Для других принтеров установите значение 1." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "Код для вставки в первые строки файла (перед началом всего остального содержимого). Полезно для добавления метаданных для считывания прошивкой принтера, таких как время печати или расход материала. Можно использовать вставку переменных (например, {print_time_sec} и {used_filament_length} соответственно)." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Стартовый G-код" @@ -17185,9 +17706,9 @@ msgstr "Забирает новый инструмент, не дожидаяс msgid "No sparse layers (beta)" msgstr "Без разреженных слоёв (beta)" -# Requires refactoring -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Если включено, черновая башня не будет печататься на слоях, где не происходит смена материала/инструмента. На слоях, где происходит смена материала, экструдер будет опускаться вниз до верхней части черновой башни, чтобы напечатать её. Слайсер не проверяет столкновения при перемещении, и пользователь сам несет ответственность за правильную настройку всех соответствующих параметров." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Если включено, черновая башня не будет печататься на слоях без смены инструмента. На слоях со сменой инструмента экструдер опустится вниз, чтобы напечатать черновую башню, поэтому башня оказывается ниже модели, и печатающей голове приходится тянуться к ней вниз. Компоновки, при которых это привело бы к столкновению с уже напечатанной моделью, отклоняются. Не действует при плавном таймлапсе и при обнаружении налипаний, которым нужна башня на каждом слое." msgid "Prime all printing extruders" msgstr "Подготовка всех печатающих экструдеров" @@ -17212,6 +17733,34 @@ msgstr "" msgid "Cyclic" msgstr "Цикличный" +# AI Translated +msgid "Cyclic order" +msgstr "Циклический порядок" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Пользовательская последовательность материалов, используемая циклическим порядком смены инструмента, в виде номеров материалов через запятую (например, «3,2,1,4»).\n" +"Каждый слой печатает свои материалы в этой последовательности; не указанные материалы печатаются последними, по возрастанию.\n" +"Оставьте пустым, чтобы перебирать материалы по возрастанию." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Применять циклический порядок к первому слою" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Применяет циклический порядок смены инструмента и к первому слою.\n" +"По умолчанию отключено, поскольку первый слой вместо этого упорядочивается для наилучшей адгезии к столу: материалы, которыми печатаются мелкие хрупкие элементы первого слоя, печатаются последними, поэтому последующие смены инструмента и перемещения реже отрывают эти слабо закреплённые части. Этот порядок первого слоя учитывает также заданную пользователем последовательность материалов для первого слоя, если она указана. Преимущество циклического порядка (дополнительные смены инструмента дают каждому слою больше времени на остывание) к первому слою не относится, так как он печатается медленно и горячим ради адгезии.\n" +"Включайте это, только если вам нужна в точности одна и та же последовательность инструментов на каждом слое, включая первый, ценой такой оптимизации адгезии." + msgid "Slice gap closing radius" msgstr "Радиус закрытия зазоров полигональной сетки" @@ -17222,9 +17771,6 @@ msgstr "Часто в импортируемых в программу моде msgid "Slicing Mode" msgstr "Режим нарезки" -msgid "Other" -msgstr "Прочее" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "" "Режим нарезки «Чётный-нечётный» применяется для моделей с намеренно нарушенной целостностью. Например, для моделей самолётов с ресурса 3DLabPrint.\n" @@ -18251,9 +18797,6 @@ msgstr "слишком большая ширина линии " msgid " not in range " msgstr " вне диапазона " -msgid "Export 3MF" -msgstr "Экспорт в 3MF" - msgid "This exports the project as a 3MF file." msgstr "Экспорт проекта в 3MF." @@ -18270,9 +18813,6 @@ msgstr "Загрузка данных о нарезке" msgid "Load cached slicing data from directory." msgstr "Загрузка кэша данных нарезки из папки." -msgid "Export STL" -msgstr "Экспорт в STL" - msgid "Export the objects as single STL." msgstr "Экспорт моделей в единый STL-файл." @@ -18328,6 +18868,14 @@ msgstr "Без проверки" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Не запускать никакие проверки валидности, такие как проверка на конфликт путей в G-коде." +# AI Translated +msgid "Strict mode" +msgstr "Строгий режим" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Завершает работу с ненулевым кодом, если при нарезке возникает некритическое предупреждение, которое иначе только записывается в журнал, например модель, которой нужны поддержки, когда поддержки отключены. Используйте это в CI или скриптовых конвейерах, которые никогда не должны выдавать незаметно испорченную нарезку. Каждое такое предупреждение также перечисляется с устойчивым классом в массиве `warnings` файла result.json, который создаётся только в Linux. Нельзя сочетать с --no-check, который пропускает проверку поддержек." + msgid "Normative check" msgstr "Нормативная проверка" @@ -18342,12 +18890,29 @@ msgstr "Информация о модели" msgid "This outputs the model’s information." msgstr "Вывод информации о модели." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Проверить полисетку (JSON в stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Выводит в stdout сводку JSON по каждой загруженной модели и завершает работу: её ограничивающие параллелепипеды и грани выпуклой оболочки, на которые её можно положить, с их нормалями, площадями и центрами. Именно из этих граней выбирают параметры --ground-*. Машиночитаемая альтернатива --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Проверить покраску (JSON в stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Выводит структурированную сводку JSON по каждому окрашенному слою (поддержки, шов, цвет MMU, нечёткая оболочка), уже сохранённому в загруженной модели, — количество граней, площадь поверхности и ограничивающий параллелепипед в координатах полисетки для каждого состояния — и завершает работу. Машиночитаемая альтернатива открытию инструментов покраски в интерфейсе." + # ??? msgid "Export Settings" msgstr "Экспорт настроек" -msgid "This exports settings to a file." -msgstr "Экспорт настроек в файл." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Экспортирует настройки в файл. Используйте -, чтобы записать их в stdout." # командная строка? нужен ли пеевод? msgid "Send progress to pipe" @@ -18407,6 +18972,30 @@ msgstr "Поворот вокруг оси Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Угол поворота вокруг оси Y в градусах." +# AI Translated +msgid "Ground largest face" +msgstr "Положить на наибольшую грань" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладёт каждую модель на наибольшую грань её выпуклой оболочки и опускает на стол. Из одинаковых по площади граней сохраняется та, что уже обращена вниз. Модели без достаточно большой грани для опоры остаются без изменений. Преобразования выполняются в порядке командной строки, поэтому повороты, заданные до этого параметра, учитываются. --orient 1 выполняется после всех преобразований и заменяет ориентацию." + +# AI Translated +msgid "Ground face by normal" +msgstr "Положить на грань по нормали" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладёт каждую модель на ту грань выпуклой оболочки, внешняя нормаль которой ближе всего к направлению NX,NY,NZ, и опускает её на стол. Направление задаётся в координатах модели, которые включают повороты, указанные до этого параметра, и совпадают с осями стола, если входной файл не поворачивает модель. Например, 1,0,0 ставит модель на сторону +X. --orient 1 выполняется после всех преобразований и заменяет ориентацию." + +# AI Translated +msgid "Ground face at point" +msgstr "Положить на грань в точке" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладёт каждую модель на ту грань выпуклой оболочки, которая содержит точку X,Y,Z, и опускает её на стол. Точка задаётся в координатах модели, которые включают повороты, указанные до этого параметра; --inspect-mesh выводит центры граней именно в них. Модели без такой грани остаются без изменений, а запуск завершается ошибкой, если такой грани нет ни у одной модели. --orient 1 выполняется после всех преобразований и заменяет ориентацию." + msgid "Scale the model by a float factor." msgstr "Масштабировать модель с помощью коэффициента." @@ -18729,8 +19318,8 @@ msgstr "Расход прутка" msgid "Total length of filament used in the print." msgstr "Общая длина прутка, затрачиваемая для печати." -msgid "Print time (seconds)" -msgstr "Время печати (в секундах)" +msgid "Print time (total seconds)" +msgstr "" # Пользователи даже не знают, что и как там слайсер у себя под капотом пост- # процессит после генерации кода до его парсинга и визуализации, не нужно этим @@ -18738,6 +19327,30 @@ msgstr "Время печати (в секундах)" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Оценка полного времени печати (в секундах). Заменяется числом при генерации G-кода." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Длина материала (в метрах)" @@ -18975,9 +19588,6 @@ msgstr "Файл содержит неверное количество верш msgid "This OBJ file couldn't be read because it's empty." msgstr "Этот OBJ файл не может быть прочитан, так как он пуст." -msgid "Max Volumetric Speed Calibration" -msgstr "Калибровка макс. объёмного расхода" - msgid "Manage Result" msgstr "Управление результатами" @@ -19832,9 +20442,6 @@ msgstr "Скорость должна быть в диапазоне от 0 до msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "Примечание: высокие значения могут привести к смещению слоёв (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Калибровка коэффициента потока" - msgid "Calibration Test Type" msgstr "Вариант калибровки" @@ -20618,6 +21225,9 @@ msgstr "Недействительная сессия. Выполнить вхо msgid "Success!" msgstr "Успешно!" +msgid "Generate API Key" +msgstr "" + # ??? Вы уверены, что хотите разлогиниться, Вы уверены, что хотите выйти из # аккаунта?" msgid "Are you sure to log out?" @@ -21541,6 +22151,18 @@ msgstr "Это действие необратимо. Продолжить?" msgid "Skipping objects." msgstr "Исключение объектов." +# AI Translated +msgid "Material Ratio" +msgstr "Доля материала" + +# AI Translated +msgid "Model Height" +msgstr "Высота модели" + +# AI Translated +msgid "Ratio" +msgstr "Доля" + msgid "Select Filament" msgstr "Выбрать материал" @@ -21572,13 +22194,6 @@ msgstr "Для удалённой печати, облачных функций msgid "Error: %s" msgstr "Ошибка: %s" -msgid "Show details" -msgstr "Подробнее" - -# В информации о сетевом плагине -msgid "Hide details" -msgstr "Скрыть подробности" - msgid "Version to install:" msgstr "Версия для установки:" @@ -21789,11 +22404,15 @@ msgstr "Сушка — нагрев" msgid "Drying-Dehumidifying" msgstr "Сушка — вывод влаги" -msgid " maximum drying temperature is " -msgstr " максимальная температура сушки — " +# AI Translated +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Максимальная температура сушки для %s — %d°C." -msgid " minimum drying temperature is " -msgstr " минимальная температура сушки — " +# AI Translated +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Минимальная температура сушки для %s — %d°C." msgid "This filament may not be completely dried." msgstr "Сушка этого материала может не быть эффективной." @@ -21920,6 +22539,2489 @@ msgstr "Материал может быть несовместим с теку msgid "The filament model is unknown. A random filament preset will be used." msgstr "Модель материала неизвестна. Будет использован случайный профиль материала." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Снизу" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Стрелка влево" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Стрелка вправо" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Стрелка вверх" + +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Стрелка вниз" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Импорт геометрических данных из STL/STEP/3MF/OBJ/AMF файлов" + +msgid "Select all objects" +msgstr "Выбрать все модели" + +msgid "Paste from clipboard" +msgstr "Вставить из буфера обмена" + +# Ошибка в оригинале – переключить печать частей невозможно, функция работает только для всей сборки +msgid "Toggle printable for object/part" +msgstr "Переключить печать модели" + +msgid "Move selection 10mm in negative X direction" +msgstr "Перемещение выбранного на -10 мм по оси X" + +msgid "Move selection 10mm in positive X direction" +msgstr "Перемещение выбранного на +10 мм по оси X" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Перемещение выбранного на +10 мм по оси Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Перемещение выбранного на -10 мм по оси Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Инструмент перемещения" + +msgid "Gizmo rotate" +msgstr "Инструмент вращения" + +msgid "Gizmo scale" +msgstr "Инструмент масштабирования" + +msgid "Gizmo place face on bed" +msgstr "Выбор контактной поверхности" + +msgid "Gizmo cut" +msgstr "Инструмент разрезания" + +msgid "Gizmo mesh boolean" +msgstr "Булевы операции" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Рисование шва (FDM)" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Рисование нечёткой оболочки" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Инструмент размещения текста" + +msgid "Gizmo measure" +msgstr "Инструмент измерения" + +msgid "Gizmo assemble" +msgstr "Размещение частей сборки" + +msgid "Gizmo brim ears" +msgstr "Размещение «мышиных ушек»" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вверх" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вниз" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок влево" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок вправо" + +msgid "Horizontal slider - Move to start position" +msgstr "Горизонтальный ползунок - перемещение в начальную позицию" + +msgid "Horizontal slider - Move to last position" +msgstr "Горизонтальный ползунок - перемещение в конечную позицию" + +msgid "Camera view - Default" +msgstr "Камера по умолчанию" + +msgid "Camera view - Top" +msgstr "Камера сверху" + +msgid "Camera view - Bottom" +msgstr "Камера снизу" + +msgid "Camera view - Front" +msgstr "Камера спереди" + +msgid "Camera view - Behind" +msgstr "Камера сзади" + +msgid "Camera Angle - Left side" +msgstr "Камера слева" + +msgid "Camera Angle - Right side" +msgstr "Камера справа" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Приблизить" + +msgid "Zoom out" +msgstr "Отдалить" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Показать/скрыть диалоговое окно настроек и устройств 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Показать/скрыть окно отображения G-кода" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Включение/отключение функции «Режим одного слоя» у вертикального ползунка" + +msgid "Switch between Prepare/Preview" +msgstr "Переключение между подготовкой и просмотром нарезки" + +msgid "Collapse/Expand the sidebar" +msgstr "Свернуть/развернуть боковую панель" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Показать список сочетаний клавиш" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22218,6 +25320,153 @@ msgstr "" "Предотвращение коробления материала\n" "Знаете ли вы, что при печати материалами, склонными к короблению, таких как ABS, повышение температуры подогреваемого стола может снизить эту вероятность?" +# Название кнопки на клавиатуре, на момент 2.3.2 используется в 5 местах в +# значении названия кнопки +#~ msgid "Tab" +#~ msgstr "Tab" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Выводить частоту кадров рабочего пространства в правом верхнем углу." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki по публикации 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Видеоруководство по публикации 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Панель инструментов" + +#~ msgid "Switch table page" +#~ msgstr "Переключение между вкладками" + +#~ msgid "Global shortcuts" +#~ msgstr "Глобальные горячие клавиши" + +#~ msgid "Middle mouse button" +#~ msgstr "Средняя кнопка мыши" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Попытаться положить модели на стол. При выборе отдельных моделей операция применяется только к ним." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Положить все модели только на активном столе" + +#~ msgid "Any arrow" +#~ msgstr "Любая стрелка" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Размещение поддержек (SLA)" + +# Plater – это название библиотеки. Используется в меню горячих клавиш в качестве заголовка сочетаний клавиш, которые работают внутри пространства Plater. Как минимум на Windows не отображается. +#~ msgid "Plater" +#~ msgstr "Рабочая область" + +#~ msgid "Gizmo" +#~ msgstr "Инструмент" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Удаление моделей, частей, модификаторов" + +#~ msgid "Objects List" +#~ msgstr "Список моделей" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "Код для вставки в первые строки файла (перед началом всего остального содержимого). Полезно для добавления метаданных для считывания прошивкой принтера, таких как время печати или расход материала. Можно использовать вставку переменных (например, {print_time_sec} и {used_filament_length} соответственно)." + +#~ msgid "Print time (seconds)" +#~ msgstr "Время печати (в секундах)" + +#~ msgid "Open actions speed dial" +#~ msgstr "Открыть строку быстрых действий" + +#~ msgid "Left: " +#~ msgstr "Левый: " + +#~ msgid "Right: " +#~ msgstr "Правый: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Температура не должна превышать " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Температура не должна быть ниже " + +#~ msgid "up to" +#~ msgstr "до" + +#~ msgid "above" +#~ msgstr "после" + +#~ msgid "from" +#~ msgstr "с" + +#~ msgid "Configuration package: " +#~ msgstr "Пакет профилей: " + +#~ msgid " updated to " +#~ msgstr " обновлён до " + +#~ msgid "Grouping error: " +#~ msgstr "Ошибка группировки: " + +# filament_type + <перевод> + extruder_name +#~ msgid " can not be placed in the " +#~ msgstr " нельзя заправить в " + +#~ msgid " maximum drying temperature is " +#~ msgstr " максимальная температура сушки — " + +#~ msgid " minimum drying temperature is " +#~ msgstr " минимальная температура сушки — " + +# AI Translated +#~ msgid "needs" +#~ msgstr "требует" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "не включён" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "материал не опубликован" + +#~ msgid "Select the language" +#~ msgstr "Выбор языка" + +#~ msgid "Select plugin" +#~ msgstr "Выбрать плагин" + +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Направление печати спирали/эквидистант на верхних поверхностях. Позволяет управляемо распределять избыток материала.\n" +#~ "• По умолчанию: использовать кратчайший путь.\n" +#~ "• Наружу: от центра шаблона к краю модели.\n" +#~ "• Внутрь: от края модели к центру шаблона." + +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Направление печати спирали/эквидистант на нижних поверхностях. Позволяет управляемо распределять избыток материала.\n" +#~ "• По умолчанию: использовать кратчайший путь.\n" +#~ "• Наружу: от центра шаблона к краю модели.\n" +#~ "• Внутрь: от края модели к центру шаблона." + +# Requires refactoring +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Если включено, черновая башня не будет печататься на слоях, где не происходит смена материала/инструмента. На слоях, где происходит смена материала, экструдер будет опускаться вниз до верхней части черновой башни, чтобы напечатать её. Слайсер не проверяет столкновения при перемещении, и пользователь сам несет ответственность за правильную настройку всех соответствующих параметров." + +#~ msgid "This exports settings to a file." +#~ msgstr "Экспорт настроек в файл." + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Для нативного отображения трансляции в Wayland требуется gtksink (плагин для GStreamer). Установите необходимый пакет плагинов и перезапустите OrcaSlicer." @@ -22267,9 +25516,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Последовательность печати моделей в пределах одного слоя." -#~ msgid "Bottom" -#~ msgstr "Снизу" - #~ msgid "Front" #~ msgstr "Спереди" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index 7ec20d136d..e05a90846b 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2767,15 +2767,6 @@ msgstr "Det finns en uppdatering tillgänglig. Öppna dialogrutan för förinst msgid "%s has been removed." msgstr "%s har tagits bort." -msgid "Switching application language" -msgstr "Byt applikationsspråk" - -msgid "Select the language" -msgstr "Välj språk" - -msgid "Language" -msgstr "Språk" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2813,6 +2804,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Det gick inte att öppna dialogrutan Insticksmoduler (okänt fel)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal för insticksmoduler" @@ -4106,12 +4110,14 @@ msgid "Switch track at Filament Track Switch" msgstr "Byt spår vid Filament Track Switch" # AI Translated -msgid "The maximum temperature cannot exceed " -msgstr "Maxtemperaturen får inte överstiga " +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Maxtemperaturen får inte överstiga %d" # AI Translated -msgid "The minmum temperature should not be less than " -msgstr "Minimitemperaturen bör inte vara lägre än " +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Minimitemperaturen bör inte vara lägre än %d" # AI Translated msgid "Type to filter..." @@ -4591,6 +4597,21 @@ msgstr "OrcaSlicer började i samma anda och hämtade från PrusaSlicer, BambuSt msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "I dag är OrcaSlicer det mest använda och mest aktivt utvecklade beredningsprogrammet med öppen källkod i 3D-utskriftscommunityn. Många av dess nyheter har tagits upp av andra program, vilket gör det till en drivkraft för hela branschen." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Skrivare" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Material Inställning" @@ -5068,6 +5089,15 @@ msgstr "" "Det gick inte att kopiera den tillfälliga G-code-filen till utdatafilen. Kanske är SD-kortet skrivskyddat?\n" "Felmeddelande: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Kopieringen av den tillfälliga G-koden till utdata-G-koden misslyckades.\n" +"Felmeddelande: %1%" + # AI Translated #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -5387,6 +5417,10 @@ msgstr "" "JA -Ändra dessa inställningar och möjliggör Spiral läge automatiskt\n" "NEJ -Avbryt Spiral läge denna gång" +# AI Translated +msgid "N/A" +msgstr "Ej tillämpligt" + msgid "Printing" msgstr "Utskrift pågår" @@ -5902,14 +5936,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Värdet %s ligger utanför intervallet. Giltigt intervall är från %d till %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Det är %s%% eller %s %s?\n" -"JA för %s%%, \n" -"NEJ för %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Det är %s%% eller %s %s?" + +msgid "%" +msgstr "%" # AI Translated #, boost-format @@ -5936,30 +5967,22 @@ msgstr "Ogiltigt mönster. Använd N, N#K eller en kommaseparerad lista med valf msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Ogiltligt format. Förväntat vector format: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "Ej tillämpligt" - # AI Translated msgid "System agents" msgstr "Systemagenter" -# AI Translated -msgid "No plugin selected" -msgstr "Ingen insticksmodul vald" - # AI Translated msgid "Add plugin" msgstr "Lägg till insticksmodul" -# AI Translated -msgid "Select plugin" -msgstr "Välj insticksmodul" - # AI Translated msgid "Remove plugin" msgstr "Ta bort insticksmodul" +# AI Translated +msgid "No plugin selected" +msgstr "Ingen insticksmodul vald" + # AI Translated msgid "Configure" msgstr "Konfigurera" @@ -6240,14 +6263,20 @@ msgstr "Ställ in på optimal" msgid "Regroup filament" msgstr "Gruppera om filament" -msgid "up to" -msgstr "upp till" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "upp till %1% mm" -msgid "above" -msgstr "över" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "över %1% mm" -msgid "from" -msgstr "från" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "från %1% till %2% mm" msgid "Usage" msgstr "Användning" @@ -6310,9 +6339,6 @@ msgctxt "Noun" msgid "Print" msgstr "Skriv ut" -msgid "Printer" -msgstr "Skrivare" - msgid "Time Estimation" msgstr "Beräknad tid" @@ -6509,12 +6535,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Höger" -msgid "Add" -msgstr "Lägg till" - msgid "Add plate" msgstr "Lägg till byggplata" +msgid "Split to objects" +msgstr "Dela upp till objekt" + +msgid "Add" +msgstr "Lägg till" + msgid "Auto orient all/selected objects" msgstr "Autoorientering alla/valda objekt" @@ -6527,9 +6556,6 @@ msgstr "Ordna alla objekt" msgid "Arrange objects on selected plates" msgstr "Ordna alla objekt på vald platta" -msgid "Split to objects" -msgstr "Dela upp till objekt" - msgid "Assembly View" msgstr "Monterings vy" @@ -6591,6 +6617,9 @@ msgstr "Kontur" msgid "Wireframe" msgstr "Trådram" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Realistisk vy" @@ -6822,6 +6851,9 @@ msgstr "Stänger Begäran medans vissa inställningar ändrats." msgid "Logging" msgstr "Loggar" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Förbered" @@ -6972,6 +7004,14 @@ msgstr "Spara Projekt som" msgid "Save current project as" msgstr "Spara nuvarande projekt som" +# AI Translated +msgid "Publish 3MF" +msgstr "Publicera 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Exportera en 3MF-fil med de valda inställningarna inbäddade" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Importera 3MF/STL/STEP/SVG/OBJ/AMF" @@ -7173,6 +7213,9 @@ msgstr "Redigera" msgid "View" msgstr "Vy" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "Förinställningspaket" @@ -8198,6 +8241,234 @@ msgstr "Visa inte den här dialogrutan igen" msgid "Please refer to Wiki before use->" msgstr "Läs wikin före användning->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportera STL" + +msgid "Export 3MF" +msgstr "Exportera 3mf" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Max volymetrisk hastighets kalibrering" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibrering av flödesförhållande" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Radera alla objekt" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dela upp i objekt" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D mus bortkopplad." @@ -8360,6 +8631,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Bottenlager" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Den här inställningen anger ingen typ av insticksmodulsfunktion." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Den här inställningen anger en okänd typ av insticksmodulsfunktion: " + # AI Translated msgid "Plugin Selection" msgstr "Val av insticksmodul" @@ -8906,10 +9185,6 @@ msgstr "Expandera sidopanelen" msgid "Collapse sidebar" msgstr "Fäll ihop sidopanelen" -# AI Translated -msgid "Tab" -msgstr "Tabb" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Laddar fil: %s" @@ -8996,6 +9271,14 @@ msgstr "Bekräfta att G-koderna i dessa inställningar är säkra för att förh msgid "Customized Preset" msgstr "Anpassad inställning" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Vissa publicerade inställningar kunde inte tillämpas:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Vissa filamentplatser har ändrats:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Komponent namnet i STEP filen är inte UTF-8 format!" @@ -9118,10 +9401,6 @@ msgstr "" msgid "Delete Object" msgstr "Radera objekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Radera alla objekt" - # AI Translated msgid "Reset Project" msgstr "Återställ projekt" @@ -9129,10 +9408,6 @@ msgstr "Återställ projekt" msgid "The selected object couldn't be split." msgstr "Det valda objektet kan inte delas." -# AI Translated -msgid "Split to Objects" -msgstr "Dela upp i objekt" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Vill du avaktivera automatiskt nedsläpp för att behålla Z-positionen?\n" @@ -9432,6 +9707,21 @@ msgstr "Spara beredningen som:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Filen %s har skickats till skrivarens lagringsutrymme och kan visas på skrivaren." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Publicera 3MF-filen som:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Det gick inte att exportera den publicerade 3MF-filen.\n" +"Kontrollera om mappen finns online eller om andra program har filen öppen." + +msgid "Publish" +msgstr "Publicera" + # AI Translated msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Nozzeltypen är inte angiven. Ange nozzeln och försök igen." @@ -9671,9 +9961,6 @@ msgstr "Fortsätta?" msgid "Language selection" msgstr "Språkval" -msgid "Switching application language while some presets are modified." -msgstr "Byter språk medans inställningarna ändras." - msgid "Asia-Pacific" msgstr "Asien-Stillahavsområdet" @@ -9793,6 +10080,9 @@ msgstr "Sökväg till aktuell instans: " msgid "General" msgstr "Allmän" +msgid "Language" +msgstr "Språk" + msgid "Metric" msgstr "Metrisk" @@ -10033,6 +10323,33 @@ msgstr "Hantering av flera enheter" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Med det här alternativet aktiverat kan du skicka en uppgift till flera enheter samtidigt och hantera flera enheter." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Visa dialogruta för val av filamentgrupperingsläge" @@ -10129,6 +10446,12 @@ msgstr "Omvänd muszoomning" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Om aktiverad, vänder zoomriktningen med mushjulet." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panorera" @@ -10157,6 +10480,15 @@ msgstr "Dra med höger musknapp" msgid "Set the action that dragging the right mouse button should perform." msgstr "Ange vilken åtgärd som ska utföras när du drar med höger musknapp." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "Rensa mitt val för..." @@ -10287,13 +10619,40 @@ msgstr "" "Begränsar vyns bildfrekvens för att minska GPU-belastning och strömförbrukning.\n" "Sätt till 0 för obegränsad bildfrekvens." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Visa FPS-överlägg" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Visar vyns aktuella FPS i det övre högra hörnet." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -10311,9 +10670,6 @@ msgstr "När du drar i lagerreglaget i den beredda förhandsgranskningen rendera msgid "Dimmed layer brightness" msgstr "Ljusstyrka för dämpade lager" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -10740,9 +11096,6 @@ msgstr "Växla till modell publicerings hemsidan" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Notera: Förberedelserna kan ta flera minuter. Vänligen vänta." -msgid "Publish" -msgstr "Publicera" - msgid "Publish was canceled" msgstr "Publiceringen avbröts" @@ -10759,6 +11112,76 @@ msgstr "Laddar upp data" msgid "Jump to webpage" msgstr "Växla till hemsidan" +# AI Translated +msgid "Material" +msgstr "Material" + +# AI Translated +msgid "Mixed filament" +msgstr "Blandat filament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Vissa blandade filament är beroende av filament som inte kommer att publiceras:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (blandat)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% behöver %2%, som inte är aktiverat." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% behöver %2%, vars material inte kommer att publiceras." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "För att publicera ett blandat filament, aktivera varje filament det använder och välj Fullständig publicering eller uppfyll dess Typ-krav." + +# AI Translated +msgid "Publish anyway" +msgstr "Publicera ändå" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Publicera 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Välj vilka inställningar som ska publiceras i 3MF-filen" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Blandat filament - publiceras i sin helhet när \"Aktivera\" ovan är valt" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Publicera det här blandade filamentet och aktivera + publicera dess ingående filament fullständigt" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Publicera den här filamentplatsen i 3MF-filen" + +# AI Translated +msgid "Full Publish" +msgstr "Fullständig publicering" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Bädda in hela filamentet från den här platsen i 3MF-filen" + +# AI Translated +msgid "Filter non-selected" +msgstr "Filtrera ej valda" + #, c-format, boost-format msgid "Save %s as" msgstr "Spara %s som" @@ -10777,6 +11200,10 @@ msgstr "Kopierar alla ärvda värden från den överordnade förinställningen t msgid "Detach from parent" msgstr "Koppla loss från överordnad" +# AI Translated +msgid "Save without parent" +msgstr "Spara utan överordnad" + # AI Translated msgid "Unique preset" msgstr "Unik förinställning" @@ -10836,6 +11263,134 @@ msgstr "För \"%1%\", lägg till \"%2%\" som ny förinställning" msgid "Simply switch to \"%1%\"" msgstr "Byta till \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Andra" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "Visa detaljer" + +# AI Translated +msgid "Hide details" +msgstr "Dölj detaljer" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Uppgift avbruten" @@ -11554,9 +12109,17 @@ msgstr "Ett prime torn krävs för klumpdetektering. Utan prime torn kan modelle msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Att aktivera både exakt Z-höjd och rengöringstornet kan orsaka skärningsfel. Vill du fortfarande aktivera exakt Z-höjd?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Jämn timelapse kräver ett prime torn på varje lager, vilket inte fungerar ihop med \"Inga glesa lager\". \"Inga glesa lager\" har stängts av." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Prime tower krävs för Smooth timelapse-läge. Det kan bli fel på modellen utan prime tower. Vill du aktivera prime tower?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Inga glesa lager\" fungerar inte ihop med jämn timelapse, som kräver ett prime torn på varje lager. Timelapse har växlat till traditionellt läge." + msgid "Still print by object?" msgstr "Fortfarande utskrift per objekt?" @@ -11982,10 +12545,6 @@ msgstr "Kompatibla process profiler" msgid "Printable space" msgstr "Utskriftsbar yta" -# AI Translated -msgid "Printer Agent" -msgstr "Skrivaragent" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Välj vilken nätverksagentimplementation som ska användas för kommunikation med skrivaren. Tillgängliga agenter registreras vid start." @@ -12431,14 +12990,6 @@ msgstr "Antal extruders" msgid "Capabilities" msgstr "Förmågor" -# AI Translated -msgid "Left: " -msgstr "Vänster: " - -# AI Translated -msgid "Right: " -msgstr "Höger: " - msgid "Show all presets (including incompatible)" msgstr "Visa alla inställningar (inklusive inkompatibla)" @@ -12890,58 +13441,39 @@ msgstr "Konfigurations paketet är ändrat i föregående Kofigurations Guide" msgid "Configuration package changed" msgstr "Konfigurations paketet är ändrat" -msgid "Toolbar" -msgstr "Verktygsfält" - -msgid "Objects list" -msgstr "Objektlista" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Importera geometri data från STL/STEP/3MF/OBJ/AMF filer" - -msgid "Paste from clipboard" -msgstr "Klistra in ifrån urklipp" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Visa/Dölj 3Dconnexion enheternas inställnings dialogruta" - -msgid "Switch table page" -msgstr "Byt tabellsida" - -msgid "Show keyboard shortcuts list" -msgstr "Visa tangentbordets genvägs lista" - -msgid "Global shortcuts" -msgstr "Övergripande genvägar" - msgid "Pan View" msgstr "Panoreringsvy" msgid "Rotate View" msgstr "Rotera vy" -# AI Translated -msgid "Middle mouse button" -msgstr "Mittersta musknappen" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "Zoomvy" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Auto placera valda objekt eller alla objekt. Om det finns valda objekt så placeras endast dem. Annars kommer den att orientera alla objekt i det aktuella projektet." +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Placera alla föremål automatiskt på aktuell tallrik." +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "Dölj/Visa meny" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" # AI Translated -msgid "Any arrow" -msgstr "Valfri piltangent" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tabb" -msgid "Movement in camera space" -msgstr "Rörelse i kamera område" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Välj del" @@ -12952,138 +13484,29 @@ msgstr "Välj flera objekt" msgid "Select objects by rectangle" msgstr "Välj objekt efter rektangel" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Uppåtpil" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Flytta markeringen 10mm i positiv Y riktning" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Nedåtpil" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Flytta markeringen 10mm i negativ Y riktning" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Vänsterpil" - -msgid "Move selection 10mm in negative X direction" -msgstr "Flytta markeringen 10mm i negativ X riktning" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Högerpil" - -msgid "Move selection 10mm in positive X direction" -msgstr "Flytta markeringen 10mm i positiv X riktning" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "tangentbord 1-9: fastställer filament för objekt/del" msgid "Movement step set to 1mm" msgstr "Rörelse steg är vald till 1mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "tangentbord 1-9: fastställer filament för objekt/del" +msgid "Movement in camera space" +msgstr "Rörelse i kamera område" -msgid "Camera view - Default" -msgstr "Kamera vy - Standard" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kamera vy - Topp" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kamera vy - Botten" +msgid "Zoom View" +msgstr "Zoomvy" -msgid "Camera view - Front" -msgstr "Kamera vy - Fram" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kamera vy - Bakom" - -msgid "Camera Angle - Left side" -msgstr "Kamera vy - Vänster sida" - -msgid "Camera Angle - Right side" -msgstr "Kamera vy - Höger sida" - -msgid "Select all objects" -msgstr "Välj alla objekt" - -msgid "Gizmo move" -msgstr "Gizmo flytta" - -msgid "Gizmo rotate" -msgstr "Gizmo rotera" - -msgid "Gizmo scale" -msgstr "Gizmo skala" - -msgid "Gizmo place face on bed" -msgstr "Gizmo placera ansiktet på byggytan" - -msgid "Gizmo cut" -msgstr "Gizmo skär" - -# AI Translated -msgid "Gizmo mesh boolean" -msgstr "Gizmo boolesk mesh-operation" - -# AI Translated -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM måla ojämn yta" - -msgid "Gizmo SLA support points" -msgstr "Gizmo SLA support punkter" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM målad söm" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo textprägling/gravering" - -msgid "Gizmo measure" -msgstr "Gizmo mäta" - -msgid "Gizmo assemble" -msgstr "Gizmo montera" - -msgid "Gizmo brim ears" -msgstr "Gizmo brätte öron" - -msgid "Zoom in" -msgstr "Zooma in" - -msgid "Zoom out" -msgstr "Zooma ut" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Växla utskrivbar för objekt/del" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tabb" - -msgid "Switch between Prepare/Preview" -msgstr "Växla mellan Förbered/Förhandsgranska" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Blanksteg" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Öppna snabbvalsmenyn för åtgärder" - -msgid "Plater" -msgstr "Plätering/Förgyllning" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Flytta: tryck för att låsa med 1mm" @@ -13094,15 +13517,19 @@ msgstr "Support/Färgläggning: justera penn radie" msgid "Support/Color Painting: adjust section position" msgstr "Support/Färgläggning:justera sektions positionen" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Objektlista" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Välj extruder nummer för objekten och delarna" -msgid "Delete objects, parts, modifiers" -msgstr "Radera objekten, delarna och anpassningar" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Blanksteg" msgid "Select the object/part and press space to change the name" msgstr "Välj objektet/delen och tryck space för att ändra namnet" @@ -13113,48 +13540,48 @@ msgstr "Mus klick" msgid "Select the object/part and mouse click to change the name" msgstr "Välj objektet/delen och mus klicka för att ändra namnet" -msgid "Objects List" -msgstr "Objekts lista" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Vertikal reglage - Flytta aktivt tryck Upp" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Vertikal reglage - Flytta aktivt tryck Ner" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Horisontell reglage - Flytta aktivt tryck Vänster" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Horisontell reglage - Flytta aktivt tryck Höger" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "På/Av 1 lager läge för det vertikala reglaget" - -# AI Translated -msgid "On/Off G-code window" -msgstr "På/av för G-code-fönstret" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Flytta reglage 5x snabbare" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -# AI Translated -msgid "Horizontal slider - Move to start position" -msgstr "Horisontellt reglage – flytta till startpositionen" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -# AI Translated -msgid "Horizontal slider - Move to last position" -msgstr "Horisontellt reglage – flytta till sista positionen" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Meddelande om utgåvan" @@ -13380,17 +13807,22 @@ msgstr "Reparation avbruten" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Kopierar fil %1% till %2% misslyckade: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Laddar ner nya leverantörsprofiler: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Konfigurationspaket: %1% uppdaterat till %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Det gick inte att ladda ner leverantörsprofiler: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Kontrollera ej sparade ändringar innan konfigureringen uppdateras." -# AI Translated -msgid "Configuration package: " -msgstr "Konfigurationspaket: " - -# AI Translated -msgid " updated to " -msgstr " uppdaterat till " - msgid "Open G-code file:" msgstr "Öppna G-kod fil:" @@ -13458,12 +13890,14 @@ msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping stöds endast av Klipper, RepRapFirmware och Marlin 2." # AI Translated -msgid "Grouping error: " -msgstr "Grupperingsfel: " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Grupperingsfel: %1% kan inte placeras i vänster nozzel" # AI Translated -msgid " can not be placed in the " -msgstr " kan inte placeras i " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Grupperingsfel: %1% kan inte placeras i höger nozzel" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -13578,6 +14012,10 @@ msgstr "%1% är för nära andra och kan orsaka kollisioner." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% är för hög, och kollisioner kommer att uppstå." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Modellens och prime tornets inbördes placering uppfyller inte kraven för funktionen \"Inga glesa lager\". Justera deras inbördes placering, sänk modellens höjd eller stäng av \"Inga glesa lager\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " är för nära undantagsområdet, det kan förekomma kollisioner vid utskrift." @@ -13980,6 +14418,10 @@ msgstr "Använd 3MF i stället för G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Aktivera detta om skrivaren tar emot en 3MF-fil som utskriftsjobb. När det är aktiverat skickar Orca Slicer den beredda filen som en .gcode.3mf i stället för en vanlig .gcode-fil." +# AI Translated +msgid "Printer Agent" +msgstr "Skrivaragent" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Välj vilken nätverksagentimplementation som ska användas för kommunikation med skrivaren." @@ -15144,6 +15586,10 @@ msgstr "Justerade Rätlinjig" msgid "Concentric" msgstr "Koncentrisk" +# AI Translated +msgid "Spiral Inset" +msgstr "Spiralinsättning" + msgid "Hilbert Curve" msgstr "Hilbert kurvan" @@ -15241,13 +15687,13 @@ msgstr "Fyllordning för ovansidan" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Riktning i vilken ovansidor fylls när ett centrumbaserat mönster används (Koncentrisk, Arkimediska kordor, Oktagramspiral).\n" -"Utåt börjar i ytans mitt, så att överskottsmaterial trycks ut mot kanten där det syns minst. Inåt börjar vid kanten och slutar med de trånga kurvorna i mitten.\n" -"Standard använder ordning efter kortaste väg, vilken kan gå i endera riktningen." +"Riktningen som toppytor fylls i när ett mönster som utgår från mitten används (Koncentrisk, Spiralinsättning, Arkimediska kordor, Oktagramspiral).\n" +"Utåt börjar i ytans mitt, så att överflödigt material trycks ut mot kanten där det syns minst. Inåt börjar vid kanten och slutar med de trånga kurvorna i mitten.\n" +"Standard använder ordningen efter kortaste väg, som kan gå åt vilket håll som helst." # AI Translated msgid "Bottom surface fill order" @@ -15255,13 +15701,13 @@ msgstr "Fyllordning för undersidan" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Riktning i vilken undersidor fylls när ett centrumbaserat mönster används (Koncentrisk, Arkimediska kordor, Oktagramspiral).\n" -"Inåt börjar varje yta med de bredare yttre kurvorna, vilket förbättrar det första lagrets vidhäftning på byggplattor där de trånga kurvorna i mitten kanske inte fastnar. Utåt börjar i mitten och trycker överskottsmaterial mot kanten.\n" -"Standard använder ordning efter kortaste väg, vilken kan gå i endera riktningen." +"Riktningen som bottenytor fylls i när ett mönster som utgår från mitten används (Koncentrisk, Spiralinsättning, Arkimediska kordor, Oktagramspiral).\n" +"Inåt börjar varje yta med de bredare yttre kurvorna, vilket förbättrar första lagrets vidhäftning på byggplattor där de trånga kurvorna i mitten kanske inte fäster. Utåt börjar i mitten och trycker ut överflödigt material mot kanten.\n" +"Standard använder ordningen efter kortaste väg, som kan gå åt vilket håll som helst." msgid "Internal solid infill pattern" msgstr "Invändigt mönster för fyllning av solida ytor" @@ -15378,6 +15824,14 @@ msgstr "Moturs" msgid "Clockwise" msgstr "Medurs" +# AI Translated +msgid "Distance to rod" +msgstr "Avstånd till stången" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Vågrätt avstånd från nozzelns spets till stångens bortre kant. Används för att undvika kollisioner vid utskrift per objekt." + msgid "Height to rod" msgstr "Höjd till axel" @@ -17875,6 +18329,20 @@ msgstr "Upptäck överhängs vägg" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Upptäck överhängs procenten i förhållande till linjebredden och använd olika hastigheter för att skriva ut. Vid 100%% överhäng, bridge/brygg hastighet användas." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Skriv ut väggar utan stöd sist" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Väggvarv som ligger helt i luften skrivs ut först när något kan hålla upp dem:\n" +"de extruderas efter de andra väggarna på sin ö, den innersta först, oavsett väggordning.\n" +"Ett varv som bara det här lagrets bridges kan förankra väntar tills dessa bridges är utskrivna, medan ett varv som löper längs en vägg med stöd behåller sin plats före ifyllnaden, som behöver det som förankring." + # AI Translated msgid "Outer walls" msgstr "Ytterväggar" @@ -18393,6 +18861,39 @@ msgstr "Torka på varv" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "För att minimera sömmens synlighet i en sluten varvextrudering görs en liten rörelse inåt innan extrudern lämnar varvet." +# AI Translated +msgid "Wipe inward" +msgstr "Torka inåt" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Gäller endast yttre väggar, inklusive hålkonturer. Flyttar den heta nozzeln mot redan utskrivna inre väggar under avtorkningen, för att minska återuppvärmningen av nyss utskriven plast och sömmärken.\n" +"\n" +"Särskilt användbart vid lagerhöjder under 0,1 mm, där avtorkningsmärken syns tydligare.\n" +"\n" +"Använder vanlig avtorkning om ingen angränsande inre vägg redan är utskriven (områden med en enda vägg eller väggordningen Yttre/Inre), eller om ingen understödd väg inåt kan hittas, till exempel i trånga hörn eller vid sömglapp." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Avstånd för torka inåt" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Avståndet som avtorkningsvägen förskjuts bort från den yttre perimetern, angivet i millimeter eller som procent av den yttre väggens faktiska extruderingsbredd.\n" +"\n" +"Till exempel förskjuter 50% vägen med halva den yttre väggens bredd. Den verkliga förskjutningen begränsas både av den yttre väggens faktiska bredd och av det tillgängliga utrymmet till den angränsande väggen, så värden över 100% eller ett motsvarande absolut avstånd har ingen ytterligare effekt. Ange 0 för att stänga av förskjutningen." + # AI Translated msgid "Wipe before external loop" msgstr "Torka före yttre varv" @@ -18626,9 +19127,8 @@ msgstr "Förvärmningssteg" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Infoga flera förvärmningskommandon (t.ex. M104.1). Endast användbart för Prusa XL. Ställ in det på 1 för andra skrivare." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code som skrivs allra överst i utdatafilen, före allt annat innehåll. Användbart för att lägga till metadata som skrivarens fasta programvara läser från filens första rader (t.ex. beräknad utskriftstid, filamentåtgång). Stöder platshållare som {print_time_sec} och {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Starta G-kod" @@ -18701,8 +19201,8 @@ msgid "No sparse layers (beta)" msgstr "Inga glesa lager (beta)" # AI Translated -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Om detta är aktiverat skrivs prime tornet inte ut på lager utan verktygsbyten. På lager med verktygsbyte flyttar extrudern nedåt för att skriva ut prime tornet. Användaren ansvarar för att det inte uppstår kollision med utskriften." +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Om detta är aktiverat skrivs prime tornet inte ut på lager utan verktygsbyten. På lager med ett verktygsbyte färdas extrudern nedåt för att skriva ut prime tornet, så att tornet hamnar under modellen och verktygshuvudet måste sträcka sig ned till det. Placeringar där detta skulle kollidera med ett redan utskrivet objekt avvisas. Har ingen effekt med jämn timelapse eller detektering av avlagringar på nozzeln, som kräver ett torn på varje lager." # AI Translated msgid "Prime all printing extruders" @@ -18730,6 +19230,34 @@ msgstr "" msgid "Cyclic" msgstr "Cyklisk" +# AI Translated +msgid "Cyclic order" +msgstr "Cyklisk ordning" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Anpassad filamentsekvens som används av den cykliska verktygsbytesordningen, som filamentnummer åtskilda med kommatecken (t.ex. \"3,2,1,4\").\n" +"Varje lager skriver ut sina filament enligt den här sekvensen; filament som inte anges skrivs ut sist, i stigande ordning.\n" +"Lämna tomt för att gå igenom filamenten i stigande ordning." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Tillämpa cyklisk ordning på första lagret" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Tillämpar den cykliska verktygsbytesordningen även på första lagret.\n" +"Detta är avstängt som standard, eftersom första lagret i stället ordnas för bästa vidhäftning mot byggplattan: filament som skriver ut små, ömtåliga detaljer i första lagret skrivs ut sist, så att efterföljande verktygsbyten och förflyttningar är mindre benägna att slå loss de svagt förankrade delarna. Den här ordningen för första lagret följer också en anpassad filamentsekvens för första lagret när en sådan är angiven. Fördelen med den cykliska ordningen (extra verktygsbyten ger varje lager mer tid att svalna) gäller inte första lagret, som skrivs ut långsamt och varmt för vidhäftningens skull.\n" +"Aktivera detta endast om du behöver exakt samma verktygssekvens på varje lager, inklusive det första, på bekostnad av den vidhäftningsoptimeringen." + msgid "Slice gap closing radius" msgstr "Bered spaltens stängningsradie" @@ -18739,9 +19267,6 @@ msgstr "Sprickor mindre än 2 x gap stängningsradie fylls under triangeln mesh msgid "Slicing Mode" msgstr "Berednings läge" -msgid "Other" -msgstr "Andra" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Använd ”Jämn-Udda” för 3DLabPrint flygplans modeller. Använd ”Stäng hål” för att stänga alla hål i modellen." @@ -19764,9 +20289,6 @@ msgstr "för stor linjebredd " msgid " not in range " msgstr " inte inom intervallet " -msgid "Export 3MF" -msgstr "Exportera 3mf" - msgid "This exports the project as a 3MF file." msgstr "Exportera projekt som 3MF." @@ -19782,9 +20304,6 @@ msgstr "Ladda berednings data" msgid "Load cached slicing data from directory." msgstr "Ladda cachad berednings data från katalogen" -msgid "Export STL" -msgstr "Exportera STL" - # AI Translated msgid "Export the objects as single STL." msgstr "Exportera objekten som en enda STL." @@ -19841,6 +20360,14 @@ msgstr "Ingen kontroll" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Utför inga giltighets kontroller, t.ex. kontroll av konflikter mellan G-kod och banor." +# AI Translated +msgid "Strict mode" +msgstr "Strikt läge" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Avslutar med en kod skild från noll när beredningen ger en icke-kritisk varning som annars bara loggas, till exempel en modell som behöver support medan support är avstängt. Använd detta i CI eller skriptade flöden som aldrig ska leverera en omärkligt trasig beredning. Varje sådan varning listas också med en stabil klass i arrayen `warnings` i result.json, som bara skrivs på Linux. Kan inte kombineras med --no-check, som hoppar över supportkontrollen." + msgid "Normative check" msgstr "Normativ kontroll" @@ -19853,11 +20380,28 @@ msgstr "Mata ut modell information" msgid "This outputs the model’s information." msgstr "Mata ut modellens information." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Inspektera mesh (JSON till stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Skriver en JSON-sammanfattning av varje inläst objekt till stdout och avslutar sedan: dess begränsningsboxar och de ytor på det konvexa höljet som det kan vila på, med deras normaler, areor och mittpunkter. Det är bland dessa ytor som alternativen --ground-* väljer. Maskinläsbart alternativ till --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Inspektera målning (JSON till stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Skriver en strukturerad JSON-sammanfattning av varje målat lager (support, söm, MMU-färg, ojämn yta) som redan är sparat på den inlästa modellen — antal facetter, ytarea och begränsningsbox i meshens koordinater per tillstånd — och avslutar sedan. Maskinläsbart alternativ till att öppna målningsverktygen i gränssnittet." + msgid "Export Settings" msgstr "Exportera inställningar" -msgid "This exports settings to a file." -msgstr "Exportera inställningar till en fil." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Detta exporterar inställningar till en fil. Använd - för att skriva dem till stdout." msgid "Send progress to pipe" msgstr "Skicka framsteg till röret (SLA)" @@ -19923,6 +20467,30 @@ msgstr "Rotera kring Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Rotationsvinkel kring Y-axeln i grader." +# AI Translated +msgid "Ground largest face" +msgstr "Lägg på största ytan" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Lägger varje objekt på den största ytan av dess konvexa hölje och släpper ned det på byggplattan. Av lika stora ytor behålls den som redan vetter nedåt. Objekt utan en yta som är stor nog att vila på lämnas som de är. Transformationer körs i kommandoradens ordning, så rotationer som anges före det här alternativet respekteras. --orient 1 körs efter alla transformationer och ersätter orienteringen." + +# AI Translated +msgid "Ground face by normal" +msgstr "Lägg på yta efter normal" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Lägger varje objekt på den yta av det konvexa höljet vars utåtriktade normal ligger närmast riktningen NX,NY,NZ och släpper ned det på byggplattan. Riktningen anges i objektets koordinater, som innefattar de rotationer som angetts före det här alternativet och som sammanfaller med byggplattans axlar om inte indatafilen roterar objektet. Till exempel ställer 1,0,0 objektet på sin +X-sida. --orient 1 körs efter alla transformationer och ersätter orienteringen." + +# AI Translated +msgid "Ground face at point" +msgstr "Lägg på yta vid punkt" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Lägger varje objekt på den yta av det konvexa höljet som innehåller punkten X,Y,Z och släpper ned det på byggplattan. Punkten anges i objektets koordinater, som innefattar de rotationer som angetts före det här alternativet; --inspect-mesh anger ytornas mittpunkter i dessa. Objekt utan en sådan yta lämnas som de är, och körningen misslyckas om inget objekt har någon. --orient 1 körs efter alla transformationer och ersätter orienteringen." + msgid "Scale the model by a float factor." msgstr "Skala modellen med en plus faktor" @@ -20306,14 +20874,37 @@ msgstr "Använt filament" msgid "Total length of filament used in the print." msgstr "Total längd filament som används i utskriften." -# AI Translated -msgid "Print time (seconds)" -msgstr "Utskriftstid (sekunder)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Total beräknad utskriftstid i sekunder. Ersätts med det faktiska värdet under efterbearbetningen." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "Filamentlängd (meter)" @@ -20589,9 +21180,6 @@ msgstr "Filen innehåller ett ogiltigt vertex index." msgid "This OBJ file couldn't be read because it's empty." msgstr "Denna OBJ fil kunde inte läsas eftersom den är tom." -msgid "Max Volumetric Speed Calibration" -msgstr "Max volymetrisk hastighets kalibrering" - msgid "Manage Result" msgstr "Hantera resultat" @@ -21511,10 +22099,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "OBS! Höga värden kan orsaka lagerförskjutning (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibrering av flödesförhållande" - # AI Translated msgid "Calibration Test Type" msgstr "Typ av kalibreringstest" @@ -22350,6 +22934,9 @@ msgstr "Ingen giltig session upptäcktes. Vill du fortsätta med inloggning till msgid "Success!" msgstr "Lyckades!" +msgid "Generate API Key" +msgstr "" + # AI Translated msgid "Are you sure to log out?" msgstr "Är du säker på att du vill logga ut?" @@ -23513,6 +24100,18 @@ msgstr "Åtgärden kan inte ångras. Vill du fortsätta?" msgid "Skipping objects." msgstr "Hoppar över objekt." +# AI Translated +msgid "Material Ratio" +msgstr "Materialandel" + +# AI Translated +msgid "Model Height" +msgstr "Modellhöjd" + +# AI Translated +msgid "Ratio" +msgstr "Andel" + msgid "Select Filament" msgstr "Välj filament" @@ -23553,14 +24152,6 @@ msgstr "Bambu Network Plug-in krävs för molnfunktioner, upptäckt av skrivare msgid "Error: %s" msgstr "Fel: %s" -# AI Translated -msgid "Show details" -msgstr "Visa detaljer" - -# AI Translated -msgid "Hide details" -msgstr "Dölj detaljer" - # AI Translated msgid "Version to install:" msgstr "Version att installera:" @@ -23827,12 +24418,14 @@ msgid "Drying-Dehumidifying" msgstr "Torkning – avfuktning" # AI Translated -msgid " maximum drying temperature is " -msgstr " maximal torktemperatur är " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Maximal torktemperatur för %s är %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " minimal torktemperatur är " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Minimal torktemperatur för %s är %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -23982,6 +24575,2500 @@ msgstr "Filamentet kanske inte är kompatibelt med de aktuella maskininställnin msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filamentmodellen är okänd. En slumpmässig filamentförinställning används." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Slut" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Botten" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Vänsterpil" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Högerpil" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Uppåtpil" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Nedåtpil" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Importera geometri data från STL/STEP/3MF/OBJ/AMF filer" + +msgid "Select all objects" +msgstr "Välj alla objekt" + +msgid "Paste from clipboard" +msgstr "Klistra in ifrån urklipp" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Växla utskrivbar för objekt/del" + +msgid "Move selection 10mm in negative X direction" +msgstr "Flytta markeringen 10mm i negativ X riktning" + +msgid "Move selection 10mm in positive X direction" +msgstr "Flytta markeringen 10mm i positiv X riktning" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Flytta markeringen 10mm i positiv Y riktning" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Flytta markeringen 10mm i negativ Y riktning" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo flytta" + +msgid "Gizmo rotate" +msgstr "Gizmo rotera" + +msgid "Gizmo scale" +msgstr "Gizmo skala" + +msgid "Gizmo place face on bed" +msgstr "Gizmo placera ansiktet på byggytan" + +msgid "Gizmo cut" +msgstr "Gizmo skär" + +# AI Translated +msgid "Gizmo mesh boolean" +msgstr "Gizmo boolesk mesh-operation" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM målad söm" + +# AI Translated +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM måla ojämn yta" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo textprägling/gravering" + +msgid "Gizmo measure" +msgstr "Gizmo mäta" + +msgid "Gizmo assemble" +msgstr "Gizmo montera" + +msgid "Gizmo brim ears" +msgstr "Gizmo brätte öron" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Vertikal reglage - Flytta aktivt tryck Upp" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Vertikal reglage - Flytta aktivt tryck Ner" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Horisontell reglage - Flytta aktivt tryck Vänster" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Horisontell reglage - Flytta aktivt tryck Höger" + +# AI Translated +msgid "Horizontal slider - Move to start position" +msgstr "Horisontellt reglage – flytta till startpositionen" + +# AI Translated +msgid "Horizontal slider - Move to last position" +msgstr "Horisontellt reglage – flytta till sista positionen" + +msgid "Camera view - Default" +msgstr "Kamera vy - Standard" + +msgid "Camera view - Top" +msgstr "Kamera vy - Topp" + +msgid "Camera view - Bottom" +msgstr "Kamera vy - Botten" + +msgid "Camera view - Front" +msgstr "Kamera vy - Fram" + +msgid "Camera view - Behind" +msgstr "Kamera vy - Bakom" + +msgid "Camera Angle - Left side" +msgstr "Kamera vy - Vänster sida" + +msgid "Camera Angle - Right side" +msgstr "Kamera vy - Höger sida" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Zooma in" + +msgid "Zoom out" +msgstr "Zooma ut" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Visa/Dölj 3Dconnexion enheternas inställnings dialogruta" + +msgid "Show/Hide wireframe" +msgstr "" + +# AI Translated +msgid "On/Off G-code window" +msgstr "På/av för G-code-fönstret" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "På/Av 1 lager läge för det vertikala reglaget" + +msgid "Switch between Prepare/Preview" +msgstr "Växla mellan Förbered/Förhandsgranska" + +msgid "Collapse/Expand the sidebar" +msgstr "Dölj/Visa meny" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Visa tangentbordets genvägs lista" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + # AI Translated #: resources/data/hints.ini: [hint:Precise wall] msgid "" @@ -24297,6 +27384,168 @@ msgstr "" "Undvik vridning\n" "Visste du att när du skriver ut material som är benägna att vrida, såsom ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten för vridning?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tabb" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Visar vyns aktuella FPS i det övre högra hörnet." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki för Publicera 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Videoguide för Publicera 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Verktygsfält" + +#~ msgid "Switch table page" +#~ msgstr "Byt tabellsida" + +#~ msgid "Global shortcuts" +#~ msgstr "Övergripande genvägar" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Mittersta musknappen" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Auto placera valda objekt eller alla objekt. Om det finns valda objekt så placeras endast dem. Annars kommer den att orientera alla objekt i det aktuella projektet." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Placera alla föremål automatiskt på aktuell tallrik." + +# AI Translated +#~ msgid "Any arrow" +#~ msgstr "Valfri piltangent" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo SLA support punkter" + +#~ msgid "Plater" +#~ msgstr "Plätering/Förgyllning" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Radera objekten, delarna och anpassningar" + +#~ msgid "Objects List" +#~ msgstr "Objekts lista" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code som skrivs allra överst i utdatafilen, före allt annat innehåll. Användbart för att lägga till metadata som skrivarens fasta programvara läser från filens första rader (t.ex. beräknad utskriftstid, filamentåtgång). Stöder platshållare som {print_time_sec} och {used_filament_length}." + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "Utskriftstid (sekunder)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Öppna snabbvalsmenyn för åtgärder" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Vänster: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Höger: " + +# AI Translated +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Maxtemperaturen får inte överstiga " + +# AI Translated +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Minimitemperaturen bör inte vara lägre än " + +#~ msgid "up to" +#~ msgstr "upp till" + +#~ msgid "above" +#~ msgstr "över" + +#~ msgid "from" +#~ msgstr "från" + +# AI Translated +#~ msgid "Configuration package: " +#~ msgstr "Konfigurationspaket: " + +# AI Translated +#~ msgid " updated to " +#~ msgstr " uppdaterat till " + +# AI Translated +#~ msgid "Grouping error: " +#~ msgstr "Grupperingsfel: " + +# AI Translated +#~ msgid " can not be placed in the " +#~ msgstr " kan inte placeras i " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " maximal torktemperatur är " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " minimal torktemperatur är " + +# AI Translated +#~ msgid "needs" +#~ msgstr "behöver" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "inte aktiverad" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "materialet är inte publicerat" + +#~ msgid "Select the language" +#~ msgstr "Välj språk" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Välj insticksmodul" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Riktning i vilken ovansidor fylls när ett centrumbaserat mönster används (Koncentrisk, Arkimediska kordor, Oktagramspiral).\n" +#~ "Utåt börjar i ytans mitt, så att överskottsmaterial trycks ut mot kanten där det syns minst. Inåt börjar vid kanten och slutar med de trånga kurvorna i mitten.\n" +#~ "Standard använder ordning efter kortaste väg, vilken kan gå i endera riktningen." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Riktning i vilken undersidor fylls när ett centrumbaserat mönster används (Koncentrisk, Arkimediska kordor, Oktagramspiral).\n" +#~ "Inåt börjar varje yta med de bredare yttre kurvorna, vilket förbättrar det första lagrets vidhäftning på byggplattor där de trånga kurvorna i mitten kanske inte fastnar. Utåt börjar i mitten och trycker överskottsmaterial mot kanten.\n" +#~ "Standard använder ordning efter kortaste väg, vilken kan gå i endera riktningen." + +# AI Translated +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Om detta är aktiverat skrivs prime tornet inte ut på lager utan verktygsbyten. På lager med verktygsbyte flyttar extrudern nedåt för att skriva ut prime tornet. Användaren ansvarar för att det inte uppstår kollision med utskriften." + +#~ msgid "This exports settings to a file." +#~ msgstr "Exportera inställningar till en fil." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Liveview i Wayland kräver GStreamers GTK-videosink. Installera insticksmodulen gtksink för GStreamer och starta sedan om OrcaSlicer." @@ -24358,9 +27607,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Utskriftsordning inom ett enskilt lager." -#~ msgid "Bottom" -#~ msgstr "Botten" - #~ msgid "Front" #~ msgstr "Framifrån" @@ -24382,9 +27628,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pil Höger" -#~ msgid "End" -#~ msgstr "Slut" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/th/OrcaSlicer_th.po b/localization/i18n/th/OrcaSlicer_th.po index 16dcb17ab1..e300799cbe 100644 --- a/localization/i18n/th/OrcaSlicer_th.po +++ b/localization/i18n/th/OrcaSlicer_th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-06-19 13:40+0700\n" "Last-Translator: Icezaza\n" "Language-Team: Thai\n" @@ -2456,15 +2456,6 @@ msgstr "มีอัปเดตพร้อมใช้งาน เปิด msgid "%s has been removed." msgstr "ลบ %s แล้ว" -msgid "Switching application language" -msgstr "การเปลี่ยนภาษาของแอปพลิเคชัน" - -msgid "Select the language" -msgstr "เลือกภาษา" - -msgid "Language" -msgstr "ภาษา" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2502,6 +2493,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "ไม่สามารถเปิดกล่องโต้ตอบปลั๊กอินได้ (ข้อผิดพลาดที่ไม่รู้จัก)" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "เทอร์มินัลปลั๊กอิน" @@ -3698,11 +3702,15 @@ msgstr "ดึงเส้นพลาสติกปัจจุบันกล msgid "Switch track at Filament Track Switch" msgstr "สลับแทร็กที่ Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "อุณหภูมิสูงสุดต้องไม่เกิน " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "อุณหภูมิสูงสุดต้องไม่เกิน %d" -msgid "The minmum temperature should not be less than " -msgstr "อุณหภูมิต่ำสุดไม่ควรต่ำกว่า" +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "อุณหภูมิต่ำสุดไม่ควรต่ำกว่า %d" msgid "Type to filter..." msgstr "พิมพ์เพื่อกรอง..." @@ -4146,6 +4154,21 @@ msgstr "OrcaSlicer เริ่มต้นด้วยจิตวิญญา msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "ปัจจุบัน OrcaSlicer เป็นตัวแบ่งส่วนข้อมูลแบบโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายและได้รับการพัฒนาอย่างแข็งขันที่สุดในชุมชนการพิมพ์ 3 มิติ นวัตกรรมหลายอย่างของบริษัทได้ถูกนำไปใช้โดยตัวแบ่งส่วนข้อมูลอื่นๆ ทำให้สิ่งนี้เป็นแรงผลักดันสำหรับอุตสาหกรรมทั้งหมด" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "เครื่องพิมพ์" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "การตั้งค่าวัสดุ AMS" @@ -4584,6 +4607,15 @@ msgstr "" "การคัดลอก G-code ชั่วคราวไปยังเอาต์พุต G-code ล้มเหลว บางทีการ์ด SD อาจถูกล็อคการเขียน?\n" "ข้อความแสดงข้อผิดพลาด: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"การคัดลอก G-code ชั่วคราวไปยัง G-code ผลลัพธ์ล้มเหลว\n" +"ข้อความแสดงข้อผิดพลาด: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "การคัดลอก G-code ชั่วคราวไปยังเอาต์พุต G-code ล้มเหลว อาจมีปัญหากับอุปกรณ์เป้าหมาย โปรดลองส่งออกอีกครั้งหรือใช้อุปกรณ์อื่น G-code เอาต์พุตที่เสียหายอยู่ที่ %1%.tmp" @@ -4887,6 +4919,9 @@ msgstr "" "ใช่ - เปลี่ยนการตั้งค่าเหล่านี้และเปิดใช้งานโหมดเกลียวโดยอัตโนมัติ\n" "ไม่ - เลิกใช้โหมดเกลียวในครั้งนี้" +msgid "N/A" +msgstr "ไม่มี" + msgid "Printing" msgstr "กำลังพิมพ์" @@ -5317,14 +5352,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "ค่า %s อยู่นอกช่วง ช่วงที่ถูกต้องคือตั้งแต่ %d ถึง %d" #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"มันคือ %s%% หรือ %s %s?\n" -"ใช่สำหรับ %s%% \n" -"ไม่ สำหรับ %s %s" +msgid "Is it %s%% or %s %s?" +msgstr "มันคือ %s%% หรือ %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5346,29 +5378,22 @@ msgstr "รูปแบบไม่ถูกต้อง ใช้ N, N#K หร msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "รูปแบบไม่ถูกต้อง รูปแบบเวกเตอร์ที่ต้องการ: \"%1%\"" -msgid "N/A" -msgstr "ไม่มี" - # AI Translated msgid "System agents" msgstr "เอเจนต์ระบบ" -# AI Translated -msgid "No plugin selected" -msgstr "ไม่ได้เลือกปลั๊กอิน" - # AI Translated msgid "Add plugin" msgstr "เพิ่มปลั๊กอิน" -# AI Translated -msgid "Select plugin" -msgstr "เลือกปลั๊กอิน" - # AI Translated msgid "Remove plugin" msgstr "ลบปลั๊กอิน" +# AI Translated +msgid "No plugin selected" +msgstr "ไม่ได้เลือกปลั๊กอิน" + # AI Translated msgid "Configure" msgstr "กำหนดค่า" @@ -5624,14 +5649,20 @@ msgstr "ตั้งค่าให้เหมาะสมที่สุด" msgid "Regroup filament" msgstr "จัดกลุ่มเส้นพลาสติกใหม่" -msgid "up to" -msgstr "สูงสุด" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "สูงสุด %1% มม." -msgid "above" -msgstr "ข้างบน" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "สูงกว่า %1% มม." -msgid "from" -msgstr "จาก" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "จาก %1% ถึง %2% มม." msgid "Usage" msgstr "การใช้งาน" @@ -5691,9 +5722,6 @@ msgctxt "Noun" msgid "Print" msgstr "พิมพ์" -msgid "Printer" -msgstr "เครื่องพิมพ์" - msgid "Time Estimation" msgstr "การประมาณเวลา" @@ -5873,12 +5901,15 @@ msgctxt "Camera View" msgid "Right" msgstr "ขวา" -msgid "Add" -msgstr "เพิ่ม" - msgid "Add plate" msgstr "เพิ่มจาน" +msgid "Split to objects" +msgstr "แยกเป็นวัตถุ" + +msgid "Add" +msgstr "เพิ่ม" + msgid "Auto orient all/selected objects" msgstr "ปรับทิศทางวัตถุทั้งหมด/ที่เลือกโดยอัตโนมัติ" @@ -5891,9 +5922,6 @@ msgstr "จัดเรียงวัตถุทั้งหมด" msgid "Arrange objects on selected plates" msgstr "จัดเรียงวัตถุบนจานที่เลือก" -msgid "Split to objects" -msgstr "แยกเป็นวัตถุ" - msgid "Assembly View" msgstr "มุมมองการประกอบ" @@ -5950,6 +5978,9 @@ msgstr "เส้นขอบ" msgid "Wireframe" msgstr "โครงลวด" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "มุมมองสมจริง" @@ -6158,6 +6189,9 @@ msgstr "การปิดแอปพลิเคชันในขณะที msgid "Logging" msgstr "การบันทึก" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "เตรียมพิมพ์" @@ -6304,6 +6338,14 @@ msgstr "บันทึกโปรเจกต์เป็น" msgid "Save current project as" msgstr "บันทึกโครงการปัจจุบันเป็น" +# AI Translated +msgid "Publish 3MF" +msgstr "เผยแพร่ 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "ส่งออกไฟล์ 3MF ที่ฝังการตั้งค่าที่เลือกไว้" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "นำเข้า 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6486,6 +6528,9 @@ msgstr "แก้ไข" msgid "View" msgstr "มุมมอง" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "ชุดที่ตั้งไว้ล่วงหน้า" @@ -7405,6 +7450,233 @@ msgstr "อย่าแสดงกล่องโต้ตอบนี้อี msgid "Please refer to Wiki before use->" msgstr "โปรดดู Wiki ก่อนใช้งาน ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "ส่งออก STL" + +msgid "Export 3MF" +msgstr "ส่งออก 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "ปรับเทียบความเร็วปริมาตรสูงสุด" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "การปรับเทียบอัตราส่วนการไหล" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "ลบวัตถุทั้งหมด" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "แยกเป็นวัตถุ" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "เมาส์ 3D ถูกตัดการเชื่อมต่อ" @@ -7558,6 +7830,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "ล่าง" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "การตั้งค่านี้ไม่ได้ระบุชนิดความสามารถของปลั๊กอิน" + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "การตั้งค่านี้ระบุชนิดความสามารถของปลั๊กอินที่ไม่รู้จัก: " + # AI Translated msgid "Plugin Selection" msgstr "การเลือกปลั๊กอิน" @@ -8041,9 +8321,6 @@ msgstr "ขยายแถบด้านข้าง" msgid "Collapse sidebar" msgstr "ยุบแถบด้านข้าง" -msgid "Tab" -msgstr "แท็บ" - #, c-format, boost-format msgid "Loading file: %s" msgstr "กำลังโหลดไฟล์: %s" @@ -8118,6 +8395,14 @@ msgstr "โปรดยืนยันว่ารหัส G ภายในค msgid "Customized Preset" msgstr "ค่าที่ตั้งไว้ล่วงหน้าที่กำหนดเอง" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "ไม่สามารถใช้การตั้งค่าที่เผยแพร่บางรายการได้:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "ช่องเส้นพลาสติกบางช่องถูกเปลี่ยนแปลง:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "ชื่อของส่วนประกอบภายในไฟล์ STEP ไม่ใช่รูปแบบ UTF-8!" @@ -8235,10 +8520,6 @@ msgstr "" msgid "Delete Object" msgstr "ลบวัตถุ" -# AI Translated -msgid "Delete All Objects" -msgstr "ลบวัตถุทั้งหมด" - # AI Translated msgid "Reset Project" msgstr "รีเซ็ตโปรเจกต์" @@ -8246,10 +8527,6 @@ msgstr "รีเซ็ตโปรเจกต์" msgid "The selected object couldn't be split." msgstr "ไม่สามารถแยกวัตถุที่เลือกได้" -# AI Translated -msgid "Split to Objects" -msgstr "แยกเป็นวัตถุ" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "ปิดการใช้งานการวางอัตโนมัติเพื่อรักษาตำแหน่ง z หรือไม่\n" @@ -8525,6 +8802,21 @@ msgstr "บันทึกไฟล์ที่สไลซ์เป็น:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "ไฟล์ %s ถูกส่งไปยังพื้นที่เก็บข้อมูลของเครื่องพิมพ์แล้ว และสามารถดูได้บนเครื่องพิมพ์" +# AI Translated +msgid "Publish 3MF file as:" +msgstr "เผยแพร่ไฟล์ 3MF เป็น:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"ส่งออกไฟล์ 3MF ที่เผยแพร่ล้มเหลว\n" +"โปรดตรวจสอบว่าโฟลเดอร์นั้นมีอยู่บนออนไลน์หรือมีโปรแกรมอื่นเปิดไฟล์นี้ค้างไว้หรือไม่" + +msgid "Publish" +msgstr "เผยแพร่" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "ไม่ได้ตั้งค่าประเภทหัวฉีด โปรดตั้งหัวฉีดแล้วลองอีกครั้ง" @@ -8735,9 +9027,6 @@ msgstr "ต้องการดำเนินการต่อหรือไ msgid "Language selection" msgstr "การเลือกภาษา" -msgid "Switching application language while some presets are modified." -msgstr "การสลับภาษาของแอปพลิเคชันในขณะที่มีการแก้ไขค่าที่ตั้งไว้บางส่วน" - msgid "Asia-Pacific" msgstr "เอเชียแปซิฟิก" @@ -8842,6 +9131,9 @@ msgstr "เส้นทางอินสแตนซ์ปัจจุบัน msgid "General" msgstr "ทั่วไป" +msgid "Language" +msgstr "ภาษา" + msgid "Metric" msgstr "เมตริก" @@ -9046,6 +9338,33 @@ msgstr "การจัดการอุปกรณ์หลายเครื msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "เมื่อเปิดใช้งานตัวเลือกนี้ คุณสามารถส่งงานไปยังอุปกรณ์หลายเครื่องพร้อมกันและจัดการอุปกรณ์หลายเครื่องได้" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "ปรากฏขึ้นเพื่อเลือกโหมดการจัดกลุ่มเส้นพลาสติก" @@ -9127,6 +9446,12 @@ msgstr "ย้อนกลับการซูมเมาส์" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "หากเปิดใช้งาน จะกลับทิศทางการซูมด้วยล้อเลื่อนของเมาส์" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "แพน" @@ -9148,6 +9473,15 @@ msgstr "ลากเมาส์ขวา" msgid "Set the action that dragging the right mouse button should perform." msgstr "ตั้งค่าการดำเนินการที่ควรดำเนินการด้วยการลากปุ่มเมาส์ขวา" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "ล้างตัวเลือกของฉันใน..." @@ -9258,11 +9592,39 @@ msgstr "" "จำกัดอัตราเฟรมวิวพอร์ตเพื่อลดภาระของ GPU และการใช้พลังงาน\n" "ตั้งค่าเป็น 0 สำหรับอัตราเฟรมไม่จำกัด" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "แสดงการซ้อนทับ FPS" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "แสดงวิวพอร์ต FPS ปัจจุบันที่มุมขวาบน" +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9280,9 +9642,6 @@ msgstr "เมื่อเลื่อนแถบเลเยอร์ในต msgid "Dimmed layer brightness" msgstr "ความสว่างของเลเยอร์ที่หรี่" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9667,9 +10026,6 @@ msgstr "ข้ามไปที่โมเดลเผยแพร่หน้ msgid "Note: The preparation may take several minutes. Please be patient." msgstr "หมายเหตุ: การเตรียมการอาจใช้เวลาหลายนาที กรุณาอดทน." -msgid "Publish" -msgstr "เผยแพร่" - msgid "Publish was canceled" msgstr "การเผยแพร่ถูกยกเลิก" @@ -9685,6 +10041,76 @@ msgstr "กำลังอัพโหลดข้อมูล" msgid "Jump to webpage" msgstr "ข้ามไปที่หน้าเว็บ" +# AI Translated +msgid "Material" +msgstr "วัสดุ" + +# AI Translated +msgid "Mixed filament" +msgstr "เส้นพลาสติกผสม" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "เส้นพลาสติกผสมบางรายการต้องอาศัยเส้นพลาสติกที่จะไม่ถูกเผยแพร่:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "เส้นพลาสติก %d (ผสม)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% ต้องใช้ %2% แต่ยังไม่ได้เปิดใช้" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% ต้องใช้ %2% แต่วัสดุของมันจะไม่ถูกเผยแพร่" + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "หากต้องการเผยแพร่เส้นพลาสติกผสม ให้เปิดใช้เส้นพลาสติกทุกเส้นที่ใช้ แล้วเลือกการเผยแพร่แบบเต็ม หรือทำตามข้อกำหนดชนิดของมัน" + +# AI Translated +msgid "Publish anyway" +msgstr "เผยแพร่ต่อไป" + +# AI Translated +msgid "Publish 3MF..." +msgstr "เผยแพร่ 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "เลือกว่าจะเผยแพร่การตั้งค่าใดในไฟล์ 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "เส้นพลาสติกผสม - เผยแพร่ทั้งชุดเมื่อเลือก \"เปิดใช้\" ด้านบน" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "เผยแพร่เส้นพลาสติกผสมนี้ และเปิดใช้ + เผยแพร่แบบเต็มสำหรับเส้นพลาสติกที่เป็นส่วนประกอบ" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "เผยแพร่ช่องเส้นพลาสติกนี้ในไฟล์ 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "การเผยแพร่แบบเต็ม" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "ฝังเส้นพลาสติกทั้งหมดของช่องนี้ลงในไฟล์ 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "กรองรายการที่ไม่ได้เลือก" + #, c-format, boost-format msgid "Save %s as" msgstr "บันทึก %s เป็น" @@ -9702,6 +10128,10 @@ msgstr "คัดลอกค่าที่สืบทอดมาจากพ msgid "Detach from parent" msgstr "แยกออกจากพรีเซ็ตแม่" +# AI Translated +msgid "Save without parent" +msgstr "บันทึกโดยไม่มีพรีเซ็ตแม่" + # AI Translated msgid "Unique preset" msgstr "พรีเซ็ตอิสระ" @@ -9761,6 +10191,133 @@ msgstr "สำหรับ \"%1%\" ให้เพิ่ม \"%2%\" เป็น msgid "Simply switch to \"%1%\"" msgstr "เพียงเปลี่ยนเป็น \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "อื่นๆ" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "แสดงรายละเอียด" + +# AI Translated +msgid "Hide details" +msgstr "ซ่อนรายละเอียด" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "ยกเลิกงานแล้ว" @@ -10406,9 +10963,17 @@ msgstr "จำเป็นต้องใช้ Prime Tower ในการต msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "การเปิดใช้งานทั้งความสูง Z ที่แม่นยำและ Prime Tower อาจทำให้เกิดข้อผิดพลาดในการแบ่งส่วน คุณยังต้องการเปิดใช้งานความสูง Z ที่แม่นยำหรือไม่" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "ไทม์แลปส์แบบราบรื่นต้องมี Prime Tower ในทุกเลเยอร์ ซึ่งใช้ร่วมกับ \"ไม่มีชั้นกระจัดกระจาย\" ไม่ได้ จึงปิด \"ไม่มีชั้นกระจัดกระจาย\" แล้ว" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "จำเป็นต้องใช้ Prime Tower สำหรับโหมดไทม์แลปส์แบบราบรื่น หากไม่มี Prime Tower อาจเกิดตำหนิบนโมเดลได้ ต้องการเปิดใช้ Prime Tower หรือไม่?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"ไม่มีชั้นกระจัดกระจาย\" ใช้ร่วมกับไทม์แลปส์แบบราบรื่นไม่ได้ เพราะไทม์แลปส์แบบราบรื่นต้องมี Prime Tower ในทุกเลเยอร์ ไทม์แลปส์จึงถูกสลับเป็นโหมดแบบดั้งเดิม" + msgid "Still print by object?" msgstr "ยังคงพิมพ์ตามวัตถุใช่ไหม" @@ -10777,9 +11342,6 @@ msgstr "โปรไฟล์กระบวนการที่เข้าก msgid "Printable space" msgstr "พื้นที่ที่สามารถพิมพ์ได้" -msgid "Printer Agent" -msgstr "ตัวแทนเครื่องพิมพ์" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "เลือกการใช้งานตัวแทนเครือข่ายสำหรับการสื่อสารของเครื่องพิมพ์ ตัวแทนที่มีอยู่จะได้รับการลงทะเบียนเมื่อเริ่มต้น" @@ -11180,14 +11742,6 @@ msgstr "จำนวนชุดดันเส้น" msgid "Capabilities" msgstr "ความสามารถ" -# AI Translated -msgid "Left: " -msgstr "ซ้าย: " - -# AI Translated -msgid "Right: " -msgstr "ขวา: " - msgid "Show all presets (including incompatible)" msgstr "แสดงค่าที่ตั้งล่วงหน้าทั้งหมด (รวมทั้งเข้ากันไม่ได้)" @@ -11572,56 +12126,39 @@ msgstr "แพ็คเกจการกำหนดค่ามีการเ msgid "Configuration package changed" msgstr "แพ็คเกจการกำหนดค่ามีการเปลี่ยนแปลง" -msgid "Toolbar" -msgstr "แถบเครื่องมือ" - -msgid "Objects list" -msgstr "รายการวัตถุ" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "นำเข้าข้อมูลเรขาคณิตจากไฟล์ STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "วางจากคลิปบอร์ด" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "แสดง/ซ่อนกล่องโต้ตอบการตั้งค่าอุปกรณ์ 3Dconnexion" - -msgid "Switch table page" -msgstr "สลับหน้าตาราง" - -msgid "Show keyboard shortcuts list" -msgstr "แสดงรายการแป้นพิมพ์ลัด" - -msgid "Global shortcuts" -msgstr "ทางลัดทั่วโลก" - msgid "Pan View" msgstr "แพนวิว" msgid "Rotate View" msgstr "หมุนมุมมอง" -msgid "Middle mouse button" -msgstr "ปุ่มกลางของเมาส์" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "ซูมดู" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "ปรับทิศทางวัตถุที่เลือกหรือวัตถุทั้งหมดโดยอัตโนมัติ หากมีวัตถุที่เลือกไว้ วัตถุนั้นจะปรับทิศทางวัตถุที่เลือกเท่านั้น มิฉะนั้นจะวางแนววัตถุทั้งหมดในโปรเจ็กต์ปัจจุบัน" +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "ปรับทิศทางวัตถุทั้งหมดบนเพลตที่ใช้งานอยู่โดยอัตโนมัติ" +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "ยุบ/ขยายแถบด้านข้าง" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "ลูกศรอะไรก็ได้" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "การเคลื่อนไหวในพื้นที่กล้อง" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "เลือกส่วนหนึ่ง" @@ -11632,135 +12169,29 @@ msgstr "เลือกหลายวัตถุ" msgid "Select objects by rectangle" msgstr "เลือกวัตถุตามสี่เหลี่ยม" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "ลูกศรขึ้น" - -msgid "Move selection 10mm in positive Y direction" -msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทางบวก Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "ลูกศรลง" - -msgid "Move selection 10mm in negative Y direction" -msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทางลบ Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "ลูกศรซ้าย" - -msgid "Move selection 10mm in negative X direction" -msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทาง X ลบ" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "ลูกศรขวา" - -msgid "Move selection 10mm in positive X direction" -msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทาง X บวก" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "แป้นพิมพ์ 1-9: ตั้งค่าเส้นพลาสติกสำหรับวัตถุ/ชิ้นส่วน" msgid "Movement step set to 1mm" msgstr "ตั้งระยะขยับเป็น 1 มม." -msgid "Keyboard 1-9: set filament for object/part" -msgstr "แป้นพิมพ์ 1-9: ตั้งค่าเส้นพลาสติกสำหรับวัตถุ/ชิ้นส่วน" +msgid "Movement in camera space" +msgstr "การเคลื่อนไหวในพื้นที่กล้อง" -msgid "Camera view - Default" -msgstr "มุมมองกล้อง - ค่าเริ่มต้น" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "มุมมองกล้อง - ด้านบน" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "มุมมองกล้อง - ด้านล่าง" +msgid "Zoom View" +msgstr "ซูมดู" -msgid "Camera view - Front" -msgstr "มุมมองกล้อง - ด้านหน้า" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "มุมมองกล้อง - ด้านหลัง" - -msgid "Camera Angle - Left side" -msgstr "มุมกล้อง - ด้านซ้าย" - -msgid "Camera Angle - Right side" -msgstr "มุมกล้อง - ด้านขวา" - -msgid "Select all objects" -msgstr "เลือกวัตถุทั้งหมด" - -msgid "Gizmo move" -msgstr "กิสโม่ย้าย" - -msgid "Gizmo rotate" -msgstr "กิสโม่หมุน" - -msgid "Gizmo scale" -msgstr "ขนาดกิสโม่" - -msgid "Gizmo place face on bed" -msgstr "กิสโมวางหน้าบนฐานพิมพ์" - -msgid "Gizmo cut" -msgstr "กิสโม่ตัด" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo mesh บูลีน" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM เพ้นท์ผิวฟัซซี" - -msgid "Gizmo SLA support points" -msgstr "จุดส่วนรองรับ Gizmo SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "รอยตะเข็บทาสี Gizmo FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "ข้อความ Gizmo นูน/แกะสลัก" - -msgid "Gizmo measure" -msgstr "เครื่องวัดกิสโม่" - -msgid "Gizmo assemble" -msgstr "กิสโมประกอบ" - -msgid "Gizmo brim ears" -msgstr "Gizmo หูขอบยึดชิ้นงาน (Brim Ears)" - -msgid "Zoom in" -msgstr "ซูมเข้า" - -msgid "Zoom out" -msgstr "ซูมออก" - -msgid "Toggle printable for object/part" -msgstr "สลับการพิมพ์สำหรับวัตถุ/ชิ้นส่วน" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "สลับระหว่างการเตรียม/ดูตัวอย่าง" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "เปิดสปีดไดอัลการดำเนินการ" - -msgid "Plater" -msgstr "เพลเตอร์" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "ย้าย: กดเพื่อสแน็ป 1 มม" @@ -11771,14 +12202,19 @@ msgstr "ส่วนรองรับ / การวาดภาพสี: ป msgid "Support/Color Painting: adjust section position" msgstr "ส่วนรองรับ / การวาดภาพสี: ปรับตำแหน่งส่วน" -msgid "Gizmo" -msgstr "กิสโม่" +msgid "Objects list" +msgstr "รายการวัตถุ" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "กำหนดหมายเลขชุดดันเส้นสำหรับวัตถุและชิ้นส่วน" -msgid "Delete objects, parts, modifiers" -msgstr "ลบวัตถุ ชิ้นส่วน ตัวดัดแปลง" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "เลือกวัตถุ/ชิ้นส่วนแล้วกด Space เพื่อเปลี่ยนชื่อ" @@ -11789,45 +12225,48 @@ msgstr "คลิกเมาส์" msgid "Select the object/part and mouse click to change the name" msgstr "เลือกวัตถุ/ชิ้นส่วนแล้วคลิกเมาส์เพื่อเปลี่ยนชื่อ" -msgid "Objects List" -msgstr "รายการวัตถุ" - -msgid "Vertical slider - Move active thumb Up" -msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ขึ้น" - -msgid "Vertical slider - Move active thumb Down" -msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ลง" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางซ้าย" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางขวา" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "เปิด/ปิดโหมดเลเยอร์เดียวของแถบเลื่อนแนวตั้ง" - -msgid "On/Off G-code window" -msgstr "เปิด/ปิดหน้าต่างรหัส G" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "เลื่อนตัวเลื่อนเร็วขึ้น 5 เท่า" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งเริ่มต้น" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งสุดท้าย" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "บันทึกประจำรุ่น" @@ -12026,15 +12465,22 @@ msgstr "ยกเลิกการซ่อมแล้ว" msgid "Copying of file %1% to %2% failed: %3%" msgstr "การคัดลอกไฟล์ %1% ถึง %2% ล้มเหลว: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "กำลังดาวน์โหลดโปรไฟล์ผู้ขายใหม่: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "แพคเกจการกำหนดค่า: %1% อัปเดตเป็น %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "ดาวน์โหลดโปรไฟล์ผู้ขายล้มเหลว: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "โปรดตรวจสอบการเปลี่ยนแปลงที่ยังไม่ได้บันทึกก่อนอัปเดตการกำหนดค่า" -msgid "Configuration package: " -msgstr "แพคเกจการกำหนดค่า:" - -msgid " updated to " -msgstr "อัปเดตเป็น" - msgid "Open G-code file:" msgstr "เปิดไฟล์ G-code:" @@ -12092,11 +12538,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "รูปร่างอินพุตรองรับเฉพาะ Klipper, RepRapFirmware และ Marlin 2 เท่านั้น" -msgid "Grouping error: " -msgstr "ข้อผิดพลาดในการจัดกลุ่ม:" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "ข้อผิดพลาดในการจัดกลุ่ม: %1% ไม่สามารถวางในหัวฉีดซ้ายได้" -msgid " can not be placed in the " -msgstr "ไม่สามารถวางใน" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "ข้อผิดพลาดในการจัดกลุ่ม: %1% ไม่สามารถวางในหัวฉีดขวาได้" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12210,6 +12660,10 @@ msgstr "%1% อยู่ใกล้ผู้อื่นมากเกิน msgid "%1% is too tall, and collisions will be caused." msgstr "%1% สูงเกินไป และจะเกิดการชนกัน" +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "ตำแหน่งสัมพัทธ์ของโมเดลกับ Prime Tower ไม่เป็นไปตามข้อกำหนดของฟังก์ชัน \"ไม่มีชั้นกระจัดกระจาย\" โปรดปรับตำแหน่งสัมพัทธ์ของทั้งสอง ลดความสูงของโมเดล หรือปิด \"ไม่มีชั้นกระจัดกระจาย\"" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "อยู่ใกล้พื้นที่แยกมากเกินไป อาจเกิดการชนกันเมื่อพิมพ์" @@ -12555,6 +13009,9 @@ msgstr "ใช้ 3MF แทน G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "เปิดใช้งานหากเครื่องพิมพ์รับไฟล์ 3MF เป็นงานพิมพ์ เมื่อเปิดใช้งาน OrcaSlicer จะส่งไฟล์ที่สไลซ์แล้วเป็น .gcode.3mf แทนไฟล์ .gcode ธรรมดา" +msgid "Printer Agent" +msgstr "ตัวแทนเครื่องพิมพ์" + msgid "Select the network agent implementation for printer communication." msgstr "เลือกการใช้งานตัวแทนเครือข่ายสำหรับการสื่อสารของเครื่องพิมพ์" @@ -13600,6 +14057,10 @@ msgstr "จัดแนวเป็นเส้นตรง" msgid "Concentric" msgstr "ศูนย์กลาง" +# AI Translated +msgid "Spiral Inset" +msgstr "เกลียวเข้าใน" + msgid "Hilbert Curve" msgstr "ฮิลเบิร์ต เคิร์ฟ" @@ -13691,13 +14152,13 @@ msgstr "ลำดับการเติมพื้นผิวด้านบ # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"ทิศทางที่พื้นผิวด้านบนถูกเติมเมื่อใช้ลวดลายแบบอิงจุดศูนย์กลาง (Concentric, Archimedean Chords, Octagram Spiral)\n" -"ออกด้านนอกเริ่มที่กึ่งกลางของพื้นผิว ดังนั้นวัสดุส่วนเกินจะถูกดันไปทางขอบซึ่งมองเห็นได้น้อยที่สุด เข้าด้านในเริ่มที่ขอบและจบด้วยเส้นโค้งแคบที่กึ่งกลาง\n" -"ค่าเริ่มต้นใช้การเรียงลำดับเส้นทางสั้นที่สุด ซึ่งอาจทำงานในทิศทางใดก็ได้" +"ทิศทางการเติมผิวด้านบนเมื่อใช้รูปแบบที่เริ่มจากศูนย์กลาง (ศูนย์กลาง, เกลียวเข้าใน, คอร์ดอาร์คิมีดีน, เกลียวแปดเหลี่ยม)\n" +"ออกด้านนอกจะเริ่มที่กึ่งกลางของผิว วัสดุส่วนเกินจึงถูกดันไปทางขอบซึ่งมองเห็นได้น้อยที่สุด เข้าด้านในจะเริ่มที่ขอบและจบด้วยเส้นโค้งแคบตรงกึ่งกลาง\n" +"ค่าเริ่มต้นใช้การเรียงตามเส้นทางที่สั้นที่สุด ซึ่งอาจเดินไปทางใดก็ได้" # AI Translated msgid "Bottom surface fill order" @@ -13705,13 +14166,13 @@ msgstr "ลำดับการเติมพื้นผิวด้านล # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"ทิศทางที่พื้นผิวด้านล่างถูกเติมเมื่อใช้ลวดลายแบบอิงจุดศูนย์กลาง (Concentric, Archimedean Chords, Octagram Spiral)\n" -"เข้าด้านในเริ่มแต่ละพื้นผิวด้วยเส้นโค้งด้านนอกที่กว้างกว่า ซึ่งช่วยเพิ่มการยึดเกาะเลเยอร์แรกบนฐานพิมพ์ที่เส้นโค้งแคบตรงกลางอาจไม่ติด ออกด้านนอกเริ่มที่กึ่งกลาง โดยดันวัสดุส่วนเกินไปทางขอบ\n" -"ค่าเริ่มต้นใช้การเรียงลำดับเส้นทางสั้นที่สุด ซึ่งอาจทำงานในทิศทางใดก็ได้" +"ทิศทางการเติมผิวด้านล่างเมื่อใช้รูปแบบที่เริ่มจากศูนย์กลาง (ศูนย์กลาง, เกลียวเข้าใน, คอร์ดอาร์คิมีดีน, เกลียวแปดเหลี่ยม)\n" +"เข้าด้านในจะเริ่มแต่ละผิวด้วยเส้นโค้งด้านนอกที่กว้างกว่า ซึ่งช่วยให้ชั้นแรกยึดเกาะดีขึ้นบนฐานพิมพ์ที่เส้นโค้งแคบตรงกึ่งกลางอาจไม่ติด ออกด้านนอกจะเริ่มที่กึ่งกลางและดันวัสดุส่วนเกินไปทางขอบ\n" +"ค่าเริ่มต้นใช้การเรียงตามเส้นทางที่สั้นที่สุด ซึ่งอาจเดินไปทางใดก็ได้" msgid "Internal solid infill pattern" msgstr "รูปแบบไส้ในของแข็งภายใน" @@ -13814,6 +14275,14 @@ msgstr "ทวนเข็มนาฬิกา" msgid "Clockwise" msgstr "ตามเข็มนาฬิกา" +# AI Translated +msgid "Distance to rod" +msgstr "ระยะถึงแกน" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "ระยะในแนวนอนจากปลายหัวฉีดถึงขอบด้านไกลของแกน ใช้สำหรับหลีกเลี่ยงการชนในการพิมพ์ตามวัตถุ" + msgid "Height to rod" msgstr "ความสูงถึงก้าน" @@ -15983,6 +16452,20 @@ msgstr "ตรวจจับผนังส่วนยื่น" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "ตรวจจับเปอร์เซ็นต์ระยะยื่นที่สัมพันธ์กับความกว้างของเส้น และใช้ความเร็วที่แตกต่างกันในการพิมพ์ สำหรับระยะยื่น 100%% จะใช้ความเร็วบริดจ์" +# AI Translated +msgid "Print unsupported walls last" +msgstr "พิมพ์ผนังที่ไม่มีส่วนรองรับเป็นลำดับสุดท้าย" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"รอบผนังที่ลอยอยู่กลางอากาศทั้งวงจะถูกพิมพ์ก็ต่อเมื่อมีสิ่งที่รองรับมันได้แล้ว:\n" +"โดยจะถูกอัดขึ้นรูปหลังผนังอื่น ๆ ของเกาะเดียวกัน เริ่มจากวงในสุด ไม่ว่าลำดับผนังจะเป็นแบบใด\n" +"รอบที่มีเพียงสะพานของเลเยอร์นี้เท่านั้นที่ยึดไว้ได้จะรอจนกว่าสะพานเหล่านั้นจะถูกพิมพ์ ส่วนรอบที่วิ่งขนานไปกับผนังที่มีส่วนรองรับจะยังคงอยู่ก่อนไส้ใน ซึ่งต้องใช้มันเป็นจุดยึด" + msgid "Outer walls" msgstr "ผนังชั้นนอก" @@ -16420,6 +16903,39 @@ msgstr "เช็ดบนลูป" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "เพื่อลดการมองเห็นรอยต่อในการอัดรีดแบบวงปิด จะมีการเคลื่อนตัวเข้าด้านในเล็กน้อยก่อนที่ชุดดันเส้นจะออกจากวง" +# AI Translated +msgid "Wipe inward" +msgstr "เช็ดเข้าด้านใน" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"ใช้กับผนังด้านนอกเท่านั้น รวมถึงขอบรู โดยจะขยับหัวฉีดที่ร้อนเข้าหาผนังด้านในที่พิมพ์ไปแล้วระหว่างการเช็ด เพื่อลดการให้ความร้อนซ้ำแก่พลาสติกที่เพิ่งพิมพ์และลดรอยตะเข็บ\n" +"\n" +"มีประโยชน์เป็นพิเศษที่ความสูงเลเยอร์ต่ำกว่า 0.1 มม. ซึ่งรอยเช็ดจะเห็นได้ชัดกว่า\n" +"\n" +"จะใช้การเช็ดแบบปกติหากยังไม่มีผนังด้านในที่อยู่ติดกันถูกพิมพ์ (พื้นที่ผนังเดี่ยว หรือลำดับผนังแบบด้านนอก/ด้านใน) หรือหากหาเส้นทางเข้าด้านในที่มีส่วนรองรับไม่ได้ เช่น ที่มุมแคบหรือช่องว่างของรอยตะเข็บ" + +# AI Translated +msgid "Wipe inward distance" +msgstr "ระยะเช็ดเข้าด้านใน" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"ระยะที่เส้นทางการเช็ดถูกเลื่อนออกจากเส้นรอบรูปด้านนอก ระบุเป็นมิลลิเมตรหรือเป็นเปอร์เซ็นต์ของความกว้างการอัดขึ้นรูปจริงของผนังด้านนอก\n" +"\n" +"ตัวอย่างเช่น 50% จะเลื่อนเส้นทางไปครึ่งหนึ่งของความกว้างผนังด้านนอก ระยะเลื่อนที่มีผลจริงถูกจำกัดทั้งโดยความกว้างจริงของผนังด้านนอกและโดยช่องว่างที่มีถึงผนังที่อยู่ติดกัน ดังนั้นค่าที่เกิน 100% หรือระยะสัมบูรณ์ที่เทียบเท่าจะไม่ให้ผลเพิ่มเติม ตั้งเป็น 0 เพื่อปิดการเลื่อน" + msgid "Wipe before external loop" msgstr "เช็ดก่อนวนรอบภายนอก" @@ -16619,8 +17135,8 @@ msgstr "อุ่นเครื่องตามขั้นตอน" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "ใส่คำสั่งอุ่นล่วงหน้าหลายคำสั่ง (เช่น M104.1) มีประโยชน์สำหรับ Prusa XL เท่านั้น สำหรับเครื่องพิมพ์อื่นๆ โปรดตั้งค่าเป็น 1" -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code เขียนไว้ที่ด้านบนสุดของไฟล์เอาต์พุต ก่อนเนื้อหาอื่นๆ มีประโยชน์สำหรับการเพิ่มข้อมูลเมตาที่เฟิร์มแวร์เครื่องพิมพ์อ่านจากบรรทัดแรกของไฟล์ (เช่น เวลาในการพิมพ์โดยประมาณ การใช้เส้นพลาสติก) รองรับตัวยึดตำแหน่ง เช่น {print_time_sec} และ {used_filament_length}" +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "เริ่ม G-code" @@ -16681,8 +17197,9 @@ msgstr "รับเครื่องมือใหม่โดยไม่ร msgid "No sparse layers (beta)" msgstr "ไม่มีชั้นกระจัดกระจาย (เบต้า)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "หากเปิดใช้งาน Wipe Tower จะไม่ถูกพิมพ์บนเลเยอร์โดยไม่มีการเปลี่ยนแปลงเครื่องมือ บนเลเยอร์ที่มีการเปลี่ยนเครื่องมือ ชุดดันเส้นจะเคลื่อนลงด้านล่างเพื่อพิมพ์ Wipe Tower ผู้ใช้มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าไม่มีการชนกันกับงานพิมพ์" +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "หากเปิดใช้ Wipe Tower จะไม่ถูกพิมพ์ในเลเยอร์ที่ไม่มีการเปลี่ยนเครื่องมือ ในเลเยอร์ที่มีการเปลี่ยนเครื่องมือ ชุดดันเส้นจะเคลื่อนลงไปพิมพ์ Wipe Tower ทำให้หอคอยอยู่ต่ำกว่าโมเดลและหัวพิมพ์ต้องยื่นลงไปหามัน การจัดวางที่จะทำให้ชนกับวัตถุที่พิมพ์ไปแล้วจะถูกปฏิเสธ ไม่มีผลเมื่อใช้ไทม์แลปส์แบบราบรื่นหรือการตรวจจับการจับตัวเป็นก้อนที่หัวฉีด ซึ่งต้องมีหอคอยในทุกเลเยอร์" msgid "Prime all printing extruders" msgstr "ใช้ชุดดันเส้นการพิมพ์ทั้งหมด" @@ -16708,6 +17225,34 @@ msgstr "" msgid "Cyclic" msgstr "Cyclic" +# AI Translated +msgid "Cyclic order" +msgstr "ลำดับแบบวนรอบ" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"ลำดับเส้นพลาสติกที่กำหนดเอง ซึ่งใช้โดยการจัดลำดับการเปลี่ยนเครื่องมือแบบวนรอบ ระบุเป็นหมายเลขเส้นพลาสติกคั่นด้วยเครื่องหมายจุลภาค (เช่น \"3,2,1,4\")\n" +"แต่ละเลเยอร์จะพิมพ์เส้นพลาสติกของตนตามลำดับนี้ ส่วนเส้นพลาสติกที่ไม่ได้ระบุไว้จะถูกพิมพ์เป็นลำดับสุดท้ายโดยเรียงจากน้อยไปมาก\n" +"เว้นว่างไว้เพื่อวนใช้เส้นพลาสติกโดยเรียงจากน้อยไปมาก" + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "ใช้ลำดับแบบวนรอบกับชั้นแรก" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"ใช้ลำดับการเปลี่ยนเครื่องมือแบบวนรอบกับชั้นแรกด้วย\n" +"โดยค่าเริ่มต้นจะปิดอยู่ เพราะชั้นแรกจะถูกจัดลำดับเพื่อการยึดเกาะฐานพิมพ์ที่ดีที่สุดแทน กล่าวคือ เส้นพลาสติกที่พิมพ์รายละเอียดเล็กและเปราะบางของชั้นแรกจะถูกพิมพ์เป็นลำดับสุดท้าย การเปลี่ยนเครื่องมือและการเดินหัวเปล่าที่ตามมาจึงมีโอกาสน้อยลงที่จะกระแทกชิ้นส่วนที่ยึดเกาะไม่แน่นเหล่านั้นให้หลุด ลำดับของชั้นแรกนี้ยังเคารพลำดับเส้นพลาสติกของชั้นแรกที่กำหนดเองด้วย หากมีการตั้งค่าไว้ ข้อดีของลำดับแบบวนรอบ (การเปลี่ยนเครื่องมือที่เพิ่มขึ้นทำให้แต่ละเลเยอร์มีเวลาเย็นตัวมากขึ้น) ไม่ใช้กับชั้นแรก ซึ่งพิมพ์อย่างช้าและร้อนเพื่อการยึดเกาะ\n" +"เปิดใช้สิ่งนี้เฉพาะเมื่อคุณต้องการลำดับเครื่องมือที่เหมือนกันทุกประการในทุกเลเยอร์รวมถึงชั้นแรก โดยยอมแลกกับการปรับแต่งการยึดเกาะดังกล่าว" + msgid "Slice gap closing radius" msgstr "รัศมีการปิดช่องว่างของ Slice" @@ -16717,9 +17262,6 @@ msgstr "รอยแตกร้าวที่มีขนาดเล็กก msgid "Slicing Mode" msgstr "โหมดการแบ่งส่วน" -msgid "Other" -msgstr "อื่นๆ" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "ใช้ \"เลขคู่\" สำหรับโมเดลเครื่องบิน 3DLabPrint ใช้ \"ปิดรู\" เพื่อปิดรูทั้งหมดในโมเดล" @@ -17649,9 +18191,6 @@ msgstr "ความกว้างของเส้นใหญ่เกิน msgid " not in range " msgstr "ไม่อยู่ในช่วง" -msgid "Export 3MF" -msgstr "ส่งออก 3MF" - msgid "This exports the project as a 3MF file." msgstr "ส่งออกโครงการเป็น 3MF" @@ -17667,9 +18206,6 @@ msgstr "โหลดข้อมูลการแบ่งส่วน" msgid "Load cached slicing data from directory." msgstr "โหลดข้อมูลการแบ่งส่วนแคชจากไดเรกทอรี" -msgid "Export STL" -msgstr "ส่งออก STL" - msgid "Export the objects as single STL." msgstr "ส่งออกวัตถุเป็น STL เดี่ยว" @@ -17721,6 +18257,14 @@ msgstr "ไม่มีเช็ค" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "อย่าทำการตรวจสอบความถูกต้องใดๆ เช่น การตรวจสอบข้อขัดแย้งของเส้นทาง G-code" +# AI Translated +msgid "Strict mode" +msgstr "โหมดเข้มงวด" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "ออกจากโปรแกรมด้วยค่าที่ไม่ใช่ศูนย์เมื่อการสไลซ์เกิดคำเตือนที่ไม่ร้ายแรง ซึ่งปกติจะถูกบันทึกลงล็อกเท่านั้น เช่น โมเดลที่ต้องการส่วนรองรับขณะที่ปิดส่วนรองรับไว้ ใช้สิ่งนี้ใน CI หรือไปป์ไลน์ที่ทำงานด้วยสคริปต์ซึ่งต้องไม่ส่งมอบผลการสไลซ์ที่เสียหายแบบสังเกตยาก คำเตือนแต่ละรายการดังกล่าวยังถูกแสดงพร้อมคลาสที่คงที่ในอาร์เรย์ `warnings` ของ result.json ซึ่งเขียนเฉพาะบน Linux เท่านั้น ใช้ร่วมกับ --no-check ไม่ได้ เพราะตัวเลือกนั้นข้ามการตรวจสอบส่วนรองรับ" + msgid "Normative check" msgstr "การตรวจสอบเชิงบรรทัดฐาน" @@ -17733,11 +18277,28 @@ msgstr "ข้อมูลรุ่นเอาท์พุต" msgid "This outputs the model’s information." msgstr "ส่งออกข้อมูลของโมเดล" +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "ตรวจสอบเมช (JSON ไปยัง stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "พิมพ์สรุป JSON ของแต่ละวัตถุที่โหลดไว้ไปยัง stdout แล้วออกจากโปรแกรม: กล่องขอบเขตของวัตถุและหน้าของเปลือกนูนที่วัตถุสามารถวางลงได้ พร้อมเวกเตอร์ตั้งฉาก พื้นที่ และจุดศูนย์กลางของหน้าเหล่านั้น หน้าเหล่านี้คือหน้าที่ตัวเลือก --ground-* เลือกใช้ เป็นทางเลือกที่เครื่องอ่านได้แทน --info" + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "ตรวจสอบการระบาย (JSON ไปยัง stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "พิมพ์สรุป JSON แบบมีโครงสร้างของทุกเลเยอร์ที่ระบายไว้ (ส่วนรองรับ, รอยตะเข็บ, สี MMU, ผิวฟัซซี) ซึ่งถูกเก็บไว้ในโมเดลที่โหลดแล้ว — จำนวนหน้า พื้นที่ผิว และกล่องขอบเขตในพิกัดของเมชในแต่ละสถานะ — แล้วออกจากโปรแกรม เป็นทางเลือกที่เครื่องอ่านได้แทนการเปิดเครื่องมือระบายในหน้าจอ" + msgid "Export Settings" msgstr "ส่งออกการตั้งค่า" -msgid "This exports settings to a file." -msgstr "ส่งออกการตั้งค่าไปยังไฟล์" +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "คำสั่งนี้ส่งออกการตั้งค่าไปยังไฟล์ ใช้ - เพื่อเขียนไปยัง stdout" msgid "Send progress to pipe" msgstr "ส่งความคืบหน้าไปป์" @@ -17793,6 +18354,30 @@ msgstr "หมุนรอบ Y" msgid "Rotation angle around the Y axis in degrees." msgstr "มุมการหมุนรอบแกน Y มีหน่วยเป็นองศา" +# AI Translated +msgid "Ground largest face" +msgstr "วางบนหน้าที่ใหญ่ที่สุด" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "วางแต่ละวัตถุลงบนหน้าที่ใหญ่ที่สุดของเปลือกนูน แล้วปล่อยลงบนฐานพิมพ์ ในบรรดาหน้าที่ใหญ่เท่ากัน จะคงหน้าที่หันลงอยู่แล้วไว้ วัตถุที่ไม่มีหน้าใหญ่พอให้วางได้จะถูกปล่อยไว้ตามเดิม การแปลงรูปทำงานตามลำดับในบรรทัดคำสั่ง การหมุนที่ระบุไว้ก่อนตัวเลือกนี้จึงถูกนำมาใช้ด้วย --orient 1 ทำงานหลังการแปลงรูปทั้งหมดและจะแทนที่การจัดวางแนว" + +# AI Translated +msgid "Ground face by normal" +msgstr "วางบนหน้าตามเวกเตอร์ตั้งฉาก" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "วางแต่ละวัตถุลงบนหน้าของเปลือกนูนที่มีเวกเตอร์ตั้งฉากด้านนอกใกล้เคียงทิศทาง NX,NY,NZ มากที่สุด แล้วปล่อยลงบนฐานพิมพ์ ทิศทางนี้อยู่ในพิกัดของวัตถุ ซึ่งรวมการหมุนที่ระบุไว้ก่อนตัวเลือกนี้ และตรงกับแกนของฐานพิมพ์ เว้นแต่ไฟล์นำเข้าจะหมุนวัตถุไว้ ตัวอย่างเช่น 1,0,0 จะตั้งวัตถุขึ้นบนด้าน +X --orient 1 ทำงานหลังการแปลงรูปทั้งหมดและจะแทนที่การจัดวางแนว" + +# AI Translated +msgid "Ground face at point" +msgstr "วางบนหน้าที่จุดที่ระบุ" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "วางแต่ละวัตถุลงบนหน้าของเปลือกนูนที่มีจุด X,Y,Z อยู่ แล้วปล่อยลงบนฐานพิมพ์ จุดนี้อยู่ในพิกัดของวัตถุ ซึ่งรวมการหมุนที่ระบุไว้ก่อนตัวเลือกนี้ โดย --inspect-mesh รายงานจุดศูนย์กลางของหน้าในพิกัดเดียวกันนี้ วัตถุที่ไม่มีหน้าดังกล่าวจะถูกปล่อยไว้ตามเดิม และการทำงานจะล้มเหลวหากไม่มีวัตถุใดมีหน้าเช่นนั้นเลย --orient 1 ทำงานหลังการแปลงรูปทั้งหมดและจะแทนที่การจัดวางแนว" + msgid "Scale the model by a float factor." msgstr "ปรับขนาดโมเดลตามปัจจัยโฟลต" @@ -18090,12 +18675,36 @@ msgstr "เส้นพลาสติกที่ใช้แล้ว" msgid "Total length of filament used in the print." msgstr "ความยาวรวมของเส้นพลาสติกที่ใช้ในการพิมพ์" -msgid "Print time (seconds)" -msgstr "เวลาในการพิมพ์ (วินาที)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "เวลาพิมพ์ทั้งหมดโดยประมาณเป็นวินาที แทนที่ด้วยค่าจริงระหว่างการประมวลผลภายหลัง" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "ความยาวเส้นพลาสติก (เมตร)" @@ -18326,9 +18935,6 @@ msgstr "ไฟล์นี้มีดัชนีจุดยอดที่ไ msgid "This OBJ file couldn't be read because it's empty." msgstr "ไฟล์ OBJ นี้ไม่สามารถอ่านได้เนื่องจากไฟล์ว่างเปล่า" -msgid "Max Volumetric Speed Calibration" -msgstr "ปรับเทียบความเร็วปริมาตรสูงสุด" - msgid "Manage Result" msgstr "จัดการผลลัพธ์" @@ -19176,9 +19782,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "หมายเหตุ: ค่าที่สูงอาจทำให้เกิดการเลื่อนเลเยอร์ (>%s)" -msgid "Flow Ratio Calibration" -msgstr "การปรับเทียบอัตราส่วนการไหล" - msgid "Calibration Test Type" msgstr "ประเภทการทดสอบการสอบเทียบ" @@ -19935,6 +20538,9 @@ msgstr "ไม่พบเซสชันที่ถูกต้อง ดำ msgid "Success!" msgstr "สำเร็จ!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "คุณแน่ใจหรือว่าจะออกจากระบบ?" @@ -20891,6 +21497,18 @@ msgstr "การทำงานนี้ไม่สามารถย้อน msgid "Skipping objects." msgstr "ข้ามวัตถุ" +# AI Translated +msgid "Material Ratio" +msgstr "สัดส่วนวัสดุ" + +# AI Translated +msgid "Model Height" +msgstr "ความสูงโมเดล" + +# AI Translated +msgid "Ratio" +msgstr "สัดส่วน" + msgid "Select Filament" msgstr "เลือกเส้นพลาสติก" @@ -20922,13 +21540,6 @@ msgstr "ปลั๊กอินเครือข่าย Bambu จำเป msgid "Error: %s" msgstr "ข้อผิดพลาด: %s" -msgid "Show details" -msgstr "แสดงรายละเอียด" - -# AI Translated -msgid "Hide details" -msgstr "ซ่อนรายละเอียด" - msgid "Version to install:" msgstr "เวอร์ชันที่จะติดตั้ง:" @@ -21147,12 +21758,14 @@ msgid "Drying-Dehumidifying" msgstr "อบแห้ง-ลดความชื้น" # AI Translated -msgid " maximum drying temperature is " -msgstr " อุณหภูมิอบแห้งสูงสุดคือ " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "อุณหภูมิอบแห้งสูงสุดของ %s คือ %d°C" # AI Translated -msgid " minimum drying temperature is " -msgstr " อุณหภูมิอบแห้งต่ำสุดคือ " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "อุณหภูมิอบแห้งต่ำสุดของ %s คือ %d°C" # AI Translated msgid "This filament may not be completely dried." @@ -21297,6 +21910,2494 @@ msgstr "เส้นพลาสติกอาจไม่เข้ากัน msgid "The filament model is unknown. A random filament preset will be used." msgstr "ไม่ทราบแบบจำลองเส้นพลาสติก ระบบจะใช้การตั้งค่าฟิลาเมนต์แบบสุ่ม" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "จบ" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "ล่าง" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "เดล" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "ลูกศรซ้าย" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "ลูกศรขวา" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "ลูกศรขึ้น" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "ลูกศรลง" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "นำเข้าข้อมูลเรขาคณิตจากไฟล์ STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "เลือกวัตถุทั้งหมด" + +msgid "Paste from clipboard" +msgstr "วางจากคลิปบอร์ด" + +msgid "Toggle printable for object/part" +msgstr "สลับการพิมพ์สำหรับวัตถุ/ชิ้นส่วน" + +msgid "Move selection 10mm in negative X direction" +msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทาง X ลบ" + +msgid "Move selection 10mm in positive X direction" +msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทาง X บวก" + +msgid "Move selection 10mm in positive Y direction" +msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทางบวก Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทางลบ Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "กิสโม่ย้าย" + +msgid "Gizmo rotate" +msgstr "กิสโม่หมุน" + +msgid "Gizmo scale" +msgstr "ขนาดกิสโม่" + +msgid "Gizmo place face on bed" +msgstr "กิสโมวางหน้าบนฐานพิมพ์" + +msgid "Gizmo cut" +msgstr "กิสโม่ตัด" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh บูลีน" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "รอยตะเข็บทาสี Gizmo FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM เพ้นท์ผิวฟัซซี" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "ข้อความ Gizmo นูน/แกะสลัก" + +msgid "Gizmo measure" +msgstr "เครื่องวัดกิสโม่" + +msgid "Gizmo assemble" +msgstr "กิสโมประกอบ" + +msgid "Gizmo brim ears" +msgstr "Gizmo หูขอบยึดชิ้นงาน (Brim Ears)" + +msgid "Vertical slider - Move active thumb Up" +msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ขึ้น" + +msgid "Vertical slider - Move active thumb Down" +msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ลง" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางซ้าย" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางขวา" + +msgid "Horizontal slider - Move to start position" +msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งเริ่มต้น" + +msgid "Horizontal slider - Move to last position" +msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งสุดท้าย" + +msgid "Camera view - Default" +msgstr "มุมมองกล้อง - ค่าเริ่มต้น" + +msgid "Camera view - Top" +msgstr "มุมมองกล้อง - ด้านบน" + +msgid "Camera view - Bottom" +msgstr "มุมมองกล้อง - ด้านล่าง" + +msgid "Camera view - Front" +msgstr "มุมมองกล้อง - ด้านหน้า" + +msgid "Camera view - Behind" +msgstr "มุมมองกล้อง - ด้านหลัง" + +msgid "Camera Angle - Left side" +msgstr "มุมกล้อง - ด้านซ้าย" + +msgid "Camera Angle - Right side" +msgstr "มุมกล้อง - ด้านขวา" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "ซูมเข้า" + +msgid "Zoom out" +msgstr "ซูมออก" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "แสดง/ซ่อนกล่องโต้ตอบการตั้งค่าอุปกรณ์ 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "เปิด/ปิดหน้าต่างรหัส G" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "เปิด/ปิดโหมดเลเยอร์เดียวของแถบเลื่อนแนวตั้ง" + +msgid "Switch between Prepare/Preview" +msgstr "สลับระหว่างการเตรียม/ดูตัวอย่าง" + +msgid "Collapse/Expand the sidebar" +msgstr "ยุบ/ขยายแถบด้านข้าง" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "แสดงรายการแป้นพิมพ์ลัด" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21597,6 +24698,154 @@ msgstr "" "หลีกเลี่ยงการบิดเบี้ยว\n" "คุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้" +#~ msgid "Tab" +#~ msgstr "แท็บ" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "แสดงวิวพอร์ต FPS ปัจจุบันที่มุมขวาบน" + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "วิกิการเผยแพร่ 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "คู่มือวีดีโอการเผยแพร่ 3MF" + +#~ msgid "Toolbar" +#~ msgstr "แถบเครื่องมือ" + +#~ msgid "Switch table page" +#~ msgstr "สลับหน้าตาราง" + +#~ msgid "Global shortcuts" +#~ msgstr "ทางลัดทั่วโลก" + +#~ msgid "Middle mouse button" +#~ msgstr "ปุ่มกลางของเมาส์" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "ปรับทิศทางวัตถุที่เลือกหรือวัตถุทั้งหมดโดยอัตโนมัติ หากมีวัตถุที่เลือกไว้ วัตถุนั้นจะปรับทิศทางวัตถุที่เลือกเท่านั้น มิฉะนั้นจะวางแนววัตถุทั้งหมดในโปรเจ็กต์ปัจจุบัน" + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "ปรับทิศทางวัตถุทั้งหมดบนเพลตที่ใช้งานอยู่โดยอัตโนมัติ" + +#~ msgid "Any arrow" +#~ msgstr "ลูกศรอะไรก็ได้" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "จุดส่วนรองรับ Gizmo SLA" + +#~ msgid "Plater" +#~ msgstr "เพลเตอร์" + +#~ msgid "Gizmo" +#~ msgstr "กิสโม่" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "ลบวัตถุ ชิ้นส่วน ตัวดัดแปลง" + +#~ msgid "Objects List" +#~ msgstr "รายการวัตถุ" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code เขียนไว้ที่ด้านบนสุดของไฟล์เอาต์พุต ก่อนเนื้อหาอื่นๆ มีประโยชน์สำหรับการเพิ่มข้อมูลเมตาที่เฟิร์มแวร์เครื่องพิมพ์อ่านจากบรรทัดแรกของไฟล์ (เช่น เวลาในการพิมพ์โดยประมาณ การใช้เส้นพลาสติก) รองรับตัวยึดตำแหน่ง เช่น {print_time_sec} และ {used_filament_length}" + +#~ msgid "Print time (seconds)" +#~ msgstr "เวลาในการพิมพ์ (วินาที)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "เปิดสปีดไดอัลการดำเนินการ" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "ซ้าย: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "ขวา: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "อุณหภูมิสูงสุดต้องไม่เกิน " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "อุณหภูมิต่ำสุดไม่ควรต่ำกว่า" + +#~ msgid "up to" +#~ msgstr "สูงสุด" + +#~ msgid "above" +#~ msgstr "ข้างบน" + +#~ msgid "from" +#~ msgstr "จาก" + +#~ msgid "Configuration package: " +#~ msgstr "แพคเกจการกำหนดค่า:" + +#~ msgid " updated to " +#~ msgstr "อัปเดตเป็น" + +#~ msgid "Grouping error: " +#~ msgstr "ข้อผิดพลาดในการจัดกลุ่ม:" + +#~ msgid " can not be placed in the " +#~ msgstr "ไม่สามารถวางใน" + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " อุณหภูมิอบแห้งสูงสุดคือ " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " อุณหภูมิอบแห้งต่ำสุดคือ " + +# AI Translated +#~ msgid "needs" +#~ msgstr "ต้องการ" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "ไม่ได้เปิดใช้" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "วัสดุยังไม่ถูกเผยแพร่" + +#~ msgid "Select the language" +#~ msgstr "เลือกภาษา" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "เลือกปลั๊กอิน" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "ทิศทางที่พื้นผิวด้านบนถูกเติมเมื่อใช้ลวดลายแบบอิงจุดศูนย์กลาง (Concentric, Archimedean Chords, Octagram Spiral)\n" +#~ "ออกด้านนอกเริ่มที่กึ่งกลางของพื้นผิว ดังนั้นวัสดุส่วนเกินจะถูกดันไปทางขอบซึ่งมองเห็นได้น้อยที่สุด เข้าด้านในเริ่มที่ขอบและจบด้วยเส้นโค้งแคบที่กึ่งกลาง\n" +#~ "ค่าเริ่มต้นใช้การเรียงลำดับเส้นทางสั้นที่สุด ซึ่งอาจทำงานในทิศทางใดก็ได้" + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "ทิศทางที่พื้นผิวด้านล่างถูกเติมเมื่อใช้ลวดลายแบบอิงจุดศูนย์กลาง (Concentric, Archimedean Chords, Octagram Spiral)\n" +#~ "เข้าด้านในเริ่มแต่ละพื้นผิวด้วยเส้นโค้งด้านนอกที่กว้างกว่า ซึ่งช่วยเพิ่มการยึดเกาะเลเยอร์แรกบนฐานพิมพ์ที่เส้นโค้งแคบตรงกลางอาจไม่ติด ออกด้านนอกเริ่มที่กึ่งกลาง โดยดันวัสดุส่วนเกินไปทางขอบ\n" +#~ "ค่าเริ่มต้นใช้การเรียงลำดับเส้นทางสั้นที่สุด ซึ่งอาจทำงานในทิศทางใดก็ได้" + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "หากเปิดใช้งาน Wipe Tower จะไม่ถูกพิมพ์บนเลเยอร์โดยไม่มีการเปลี่ยนแปลงเครื่องมือ บนเลเยอร์ที่มีการเปลี่ยนเครื่องมือ ชุดดันเส้นจะเคลื่อนลงด้านล่างเพื่อพิมพ์ Wipe Tower ผู้ใช้มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าไม่มีการชนกันกับงานพิมพ์" + +#~ msgid "This exports settings to a file." +#~ msgstr "ส่งออกการตั้งค่าไปยังไฟล์" + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Native Wayland liveview ต้องใช้ GStreamer GTK video sink โปรดติดตั้งปลั๊กอิน gtksink สำหรับ GStreamer จากนั้นรีสตาร์ท OrcaSlicer" @@ -21649,9 +24898,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "สั่งพิมพ์ภายในชั้นเดียว" -#~ msgid "Bottom" -#~ msgstr "ล่าง" - #~ msgid "Front" #~ msgstr "ด้านหน้า" @@ -21664,9 +24910,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "เดล" - #~ msgid "Backspace" #~ msgstr "แบ็คสเปซ" @@ -21682,9 +24925,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "ลูกศรขวา" -#~ msgid "End" -#~ msgstr "จบ" - #~ msgid "Hotend" #~ msgstr "ฮอตเอนด์" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 0e51b7ca9c..1f56d37744 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-08-21 23:18+0300\n" "Last-Translator: GlauTech\n" "Language-Team: \n" @@ -2480,15 +2480,6 @@ msgstr "Kullanılabilir bir güncelleme var. Güncellemek için ön ayar paketi msgid "%s has been removed." msgstr "%s kaldırıldı." -msgid "Switching application language" -msgstr "Uygulama dilini değiştirme" - -msgid "Select the language" -msgstr "Dili seçin" - -msgid "Language" -msgstr "Dil" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2526,6 +2517,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Eklentiler iletişim kutusu açılamadı (bilinmeyen hata)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Eklenti Terminali" @@ -3736,11 +3740,15 @@ msgstr "Geçerli filamenti Filament Track Switch'te geri çek" msgid "Switch track at Filament Track Switch" msgstr "Filament Track Switch'te hattı değiştir" -msgid "The maximum temperature cannot exceed " -msgstr "Maksimum sıcaklık şu değeri aşamaz: " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Maksimum sıcaklık %d değerini aşamaz" -msgid "The minmum temperature should not be less than " -msgstr "Minimum sıcaklık şu değerden az olamaz: " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Minimum sıcaklık %d değerinden az olamaz" # AI Translated msgid "Type to filter..." @@ -4200,6 +4208,21 @@ msgstr "OrcaSlicer da aynı ruhla, PrusaSlicer, BambuStudio, SuperSlicer ve Cura msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Bugün OrcaSlicer, 3D baskı topluluğunda en yaygın kullanılan ve en etkin geliştirilen açık kaynaklı dilimleyicidir. Yeniliklerinin birçoğu diğer dilimleyiciler tarafından da benimsendi ve bu da onu tüm sektör için itici bir güç haline getirdi." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Yazıcı" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Malzeme Ayarı" @@ -4643,6 +4666,15 @@ msgstr "" "Geçici G-code'un çıkış G-code'a kopyalanması başarısız oldu. Belki SD kart yazma kilitlidir.\n" "Hata mesajı: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Geçici G-code'un çıktı G-code'a kopyalanması başarısız oldu.\n" +"Hata mesajı: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Geçici G-code'un çıkış G-code'a kopyalanması başarısız oldu. Hedef cihazda sorun olabilir, lütfen tekrar dışa aktarmayı veya farklı bir cihaz kullanmayı deneyin. Bozuk çıktı G-code %1%.tmp konumunda." @@ -4949,6 +4981,10 @@ msgstr "" "Evet - Bu ayarları değiştirin ve spiral modunu otomatik olarak etkinleştirin\n" "Hayır - Bu sefer spiral modunu kullanmaktan vazgeçin" +# AI Translated +msgid "N/A" +msgstr "Yok" + msgid "Printing" msgstr "Baskı" @@ -5379,14 +5415,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Değer %s aralık dışında. Geçerli aralık %d ile %d arasındadır." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%% mi yoksa %s %s mi?\n" -"%s%% için EVET,\n" -"%s %s için HAYIR." +msgid "Is it %s%% or %s %s?" +msgstr "%s%% mi yoksa %s %s mi?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5408,30 +5441,22 @@ msgstr "Geçersiz kalıp. N, N#K veya giriş başına isteğe bağlı #K ile vir msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Geçersiz format. Beklenen vektör formatı: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "Yok" - # AI Translated msgid "System agents" msgstr "Sistem aracıları" -# AI Translated -msgid "No plugin selected" -msgstr "Eklenti seçilmedi" - # AI Translated msgid "Add plugin" msgstr "Eklenti ekle" -# AI Translated -msgid "Select plugin" -msgstr "Eklenti seç" - # AI Translated msgid "Remove plugin" msgstr "Eklentiyi kaldır" +# AI Translated +msgid "No plugin selected" +msgstr "Eklenti seçilmedi" + # AI Translated msgid "Configure" msgstr "Yapılandır" @@ -5689,14 +5714,20 @@ msgstr "Optimum'a Ayarla" msgid "Regroup filament" msgstr "Filamenti yeniden gruplandır" -msgid "up to" -msgstr "kadar" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "%1% mm'ye kadar" -msgid "above" -msgstr "üstünde" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "%1% mm üzerinde" -msgid "from" -msgstr "itibaren" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "%1% mm ile %2% mm arasında" msgid "Usage" msgstr "Kullan" @@ -5757,9 +5788,6 @@ msgctxt "Noun" msgid "Print" msgstr "Yazdır" -msgid "Printer" -msgstr "Yazıcı" - msgid "Time Estimation" msgstr "Zaman Tahmini" @@ -5939,12 +5967,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Sağ" -msgid "Add" -msgstr "Ekle" - msgid "Add plate" msgstr "Plaka ekle" +msgid "Split to objects" +msgstr "Nesnelere böl" + +msgid "Add" +msgstr "Ekle" + msgid "Auto orient all/selected objects" msgstr "Otomatik yönlendir tüm/seçili nesneler" @@ -5957,9 +5988,6 @@ msgstr "Tüm nesneleri hizala" msgid "Arrange objects on selected plates" msgstr "Seçilen plakalardaki nesneleri hizala" -msgid "Split to objects" -msgstr "Nesnelere böl" - msgid "Assembly View" msgstr "Montaj görünümü" @@ -6016,6 +6044,9 @@ msgstr "Taslak" msgid "Wireframe" msgstr "Wireframe" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Gerçekçi Görünüm" @@ -6226,6 +6257,9 @@ msgstr "Bazı ön ayarlar değiştirilirken Uygulama kapatılıyor." msgid "Logging" msgstr "Günlük kaydı" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Hazırlık" @@ -6372,6 +6406,14 @@ msgstr "Projeyi farklı kaydet" msgid "Save current project as" msgstr "Mevcut projeyi farklı kaydet" +# AI Translated +msgid "Publish 3MF" +msgstr "3MF Yayınla" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Seçilen ayarların gömülü olduğu bir 3MF dosyası dışa aktar" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "3MF/STL/STEP/SVG/OBJ/AMF'yi içe aktar" @@ -6554,6 +6596,9 @@ msgstr "Düzen" msgid "View" msgstr "Görünüm" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Ön ayar paketi" @@ -7485,6 +7530,234 @@ msgstr "Bu iletişim kutusunu bir daha gösterme" msgid "Please refer to Wiki before use->" msgstr "Lütfen kullanmadan önce Wiki'ye bakın->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL'yi dışa aktar" + +msgid "Export 3MF" +msgstr "3MF'yi dışa aktar" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Maksimum Hacimsel Hız Kalibrasyonu" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Akış Oranı Kalibrasyonu" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Tüm Nesneleri Sil" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Nesnelere Ayır" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Fare bağlantısı kesildi." @@ -7647,6 +7920,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Alt" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Bu ayar bir eklenti yeteneği türü belirtmiyor." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Bu ayar tanınmayan bir eklenti yeteneği türü belirtiyor: " + # AI Translated msgid "Plugin Selection" msgstr "Eklenti Seçimi" @@ -8131,10 +8412,6 @@ msgstr "Kenar çubuğunu genişlet" msgid "Collapse sidebar" msgstr "Kenar çubuğunu daralt" -# AI Translated -msgid "Tab" -msgstr "Sekme" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Dosya yükleniyor: %s" @@ -8215,6 +8492,14 @@ msgstr "Lütfen bu ön ayarlar içindeki G-code'larının makineye herhangi bir msgid "Customized Preset" msgstr "Özel Ayar" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Bazı yayınlanan ayarlar uygulanamadı:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Bazı filament yuvaları değiştirildi:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Step dosyasındaki bileşenlerin adı UTF-8 formatında değil!" @@ -8333,10 +8618,6 @@ msgstr "" msgid "Delete Object" msgstr "Nesneyi Sil" -# AI Translated -msgid "Delete All Objects" -msgstr "Tüm Nesneleri Sil" - # AI Translated msgid "Reset Project" msgstr "Projeyi Sıfırla" @@ -8344,10 +8625,6 @@ msgstr "Projeyi Sıfırla" msgid "The selected object couldn't be split." msgstr "Seçilen nesne bölünemedi." -# AI Translated -msgid "Split to Objects" -msgstr "Nesnelere Ayır" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z konumunu korumak için Otomatik düşürme devre dışı bırakılsın mı?\n" @@ -8624,6 +8901,21 @@ msgstr "Dilimlenmiş dosyayı şu şekilde kaydedin:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "%s dosyası yazıcının depolama alanına gönderildi ve yazıcıda görüntülenebiliyor." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "3MF dosyasını şu adla yayınla:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Yayınlanan 3MF dosyası dışa aktarılamadı.\n" +"Lütfen klasörün çevrimiçi olarak var olup olmadığını veya dosyanın başka programlarda açık olup olmadığını kontrol edin." + +msgid "Publish" +msgstr "Yayınla" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Nozul tipi ayarlanmamış. Lütfen nozulu ayarlayın ve tekrar deneyin." @@ -8837,9 +9129,6 @@ msgstr "Devam etmek istiyor musun?" msgid "Language selection" msgstr "Dil seçimi" -msgid "Switching application language while some presets are modified." -msgstr "Bazı ön ayarlar değiştirilirken uygulama dilinin değiştirilmesi." - msgid "Asia-Pacific" msgstr "Asya Pasifik" @@ -8944,6 +9233,9 @@ msgstr "Mevcut Örnek Yolu: " msgid "General" msgstr "Genel" +msgid "Language" +msgstr "Dil" + msgid "Metric" msgstr "Metrik" @@ -9151,6 +9443,33 @@ msgstr "Çoklu cihaz yönetimi" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Bu seçenek etkinleştirildiğinde, aynı anda birden fazla cihaza bir görev gönderebilir ve birden fazla cihazı yönetebilirsiniz." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Filament gruplama modunu seçmek için açılır pencere" @@ -9232,6 +9551,12 @@ msgstr "Mouse yakınlaştırmasını tersine çevir" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Etkinleştirilirse, mouse tekerleğiyle yakınlaştırmanın yönü tersine çevrilir." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Kaydır" @@ -9260,6 +9585,15 @@ msgstr "Sağ fare sürükleme" msgid "Set the action that dragging the right mouse button should perform." msgstr "Sağ fare düğmesiyle sürüklemenin gerçekleştireceği eylemi ayarlayın." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "Seçimimi Temizle" @@ -9384,13 +9718,40 @@ msgstr "" "GPU yükünü ve güç tüketimini azaltmak için görünüm penceresinin kare hızını sınırlar.\n" "Sınırsız kare hızı için 0 olarak ayarlayın." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "FPS göstergesini göster" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Geçerli görünüm penceresinin FPS değerini sağ üst köşede gösterir." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9408,9 +9769,6 @@ msgstr "Dilimlenmiş önizlemede katman kaydırıcısı gezdirilirken, geçerli msgid "Dimmed layer brightness" msgstr "Karartılmış katman parlaklığı" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9811,9 +10169,6 @@ msgstr "Model yayınlama web sayfasına git" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Not: Hazırlık birkaç dakika sürebilir. Lütfen sabırlı olun." -msgid "Publish" -msgstr "Yayınla" - msgid "Publish was canceled" msgstr "Yayınlama iptal edildi" @@ -9829,6 +10184,76 @@ msgstr "Veriler yükleniyor" msgid "Jump to webpage" msgstr "Web sayfasına atla" +# AI Translated +msgid "Material" +msgstr "Malzeme" + +# AI Translated +msgid "Mixed filament" +msgstr "Karışık filament" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Bazı karışık filamentler, yayınlanmayacak filamentlere bağlıdır:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (karışık)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% için %2% gerekiyor, ancak o etkin değil." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% için %2% gerekiyor, ancak malzemesi yayınlanmayacak." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Bir karışık filamenti yayınlamak için kullandığı her filamenti etkinleştirin ve Tam Yayınlama'yı seçin ya da Tür gereksinimini karşılayın." + +# AI Translated +msgid "Publish anyway" +msgstr "Yine de yayınla" + +# AI Translated +msgid "Publish 3MF..." +msgstr "3MF Yayınla..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "3MF dosyasında hangi ayarların yayınlanacağını seçin" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Karışık filament - yukarıdaki \"Aktif et\" seçildiğinde bir bütün olarak yayınlanır" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Bu karışık filamenti yayınla ve bileşen filamentlerini etkinleştir + tam olarak yayınla" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Bu filament yuvasını 3MF dosyasında yayınla" + +# AI Translated +msgid "Full Publish" +msgstr "Tam Yayınlama" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Bu yuvadaki filamentin tamamını 3MF dosyasına göm" + +# AI Translated +msgid "Filter non-selected" +msgstr "Seçilmeyenleri filtrele" + #, c-format, boost-format msgid "Save %s as" msgstr "%s'yi farklı kaydet" @@ -9846,6 +10271,10 @@ msgstr "Üst ön ayardan devralınan tüm değerleri bu ön ayara kopyalar ve ü msgid "Detach from parent" msgstr "Ebeveynden ayrıl" +# AI Translated +msgid "Save without parent" +msgstr "Ebeveyn olmadan kaydet" + # AI Translated msgid "Unique preset" msgstr "Bağımsız ön ayar" @@ -9905,6 +10334,133 @@ msgstr "\"%1%\" için \"%2%\"yi yeni ön ayar olarak ekleyin" msgid "Simply switch to \"%1%\"" msgstr "Kolayca \"%1%\"e geçin" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Diğer" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Ayrıntıları göster" + +# AI Translated +msgid "Hide details" +msgstr "Ayrıntıları gizle" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Görev iptal edildi" @@ -10560,9 +11116,17 @@ msgstr "Topaklanma tespiti için bir ana kule gereklidir. Prime tower olmayan mo msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Hem hassas Z yüksekliğini hem de hazırlık kulesini etkinleştirmek dilimleme hatalarına neden olabilir. Yine de hassas Z yüksekliğini etkinleştirmek istiyor musunuz?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Pürüzsüz timelapse her katmanda bir prime kulesi gerektirir; bu da \"Seyrek katman yok\" ile bağdaşmaz. \"Seyrek katman yok\" kapatıldı." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Sorunsuz hızlandırılmış çekim için Prime Tower gereklidir. Prime tower olmayan modelde kusurlar olabilir. Prime tower'ı etkinleştirmek istiyor musunuz?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Seyrek katman yok\", her katmanda bir prime kulesi gerektiren pürüzsüz timelapse ile bağdaşmaz. Timelapse geleneksel moda geçirildi." + msgid "Still print by object?" msgstr "Hala nesneye göre yazdırıyor musunuz?" @@ -10941,9 +11505,6 @@ msgstr "Uyumlu süreç profilleri" msgid "Printable space" msgstr "Plaka Ayarı" -msgid "Printer Agent" -msgstr "Yazıcı Aracısı" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Yazıcı iletişimi için ağ aracısı uygulamasını seçin. Kullanılabilir aracılar başlangıçta kaydedilir." @@ -11364,14 +11925,6 @@ msgstr "Ekstruder sayısı" msgid "Capabilities" msgstr "Yetenekler" -# AI Translated -msgid "Left: " -msgstr "Sol: " - -# AI Translated -msgid "Right: " -msgstr "Sağ: " - msgid "Show all presets (including incompatible)" msgstr "Tüm ön ayarları göster (uyumsuz olanlar dahil)" @@ -11758,57 +12311,39 @@ msgstr "Yapılandırma paketi önceki Yapılandırma Kılavuzu'nda değiştirild msgid "Configuration package changed" msgstr "Yapılandırma paketi değiştirildi" -msgid "Toolbar" -msgstr "Araç Çubuğu" - -msgid "Objects list" -msgstr "Nesne listesi" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "STL/STEP/3MF/OBJ/AMF dosyalarından geometri verilerini içe aktarın" - -msgid "Paste from clipboard" -msgstr "Panodan yapıştır" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "3Dconnexion cihazları ayarları iletişim kutusunu Göster/Gizle" - -msgid "Switch table page" -msgstr "Tablo sayfasını değiştir" - -msgid "Show keyboard shortcuts list" -msgstr "Klavye kısayolları listesini göster" - -msgid "Global shortcuts" -msgstr "Genel kısayollar" - msgid "Pan View" msgstr "Pan Görünümü" msgid "Rotate View" msgstr "Görüntüyü döndür" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "Orta fare düğmesi" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "Zoom Görünümü" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Seçilen nesneleri veya tüm nesneleri otomatik olarak yönlendirir. Seçilen nesneler varsa, yalnızca seçilenleri yönlendirir. Aksi takdirde mevcut projedeki tüm nesneler yönlendirilecektir." - -msgid "Auto orients all objects on the active plate." -msgstr "Aktif plakadaki tüm nesneleri otomatik olarak yönlendirir." - -msgid "Collapse/Expand the sidebar" -msgstr "Kenar çubuğunu daralt/genişlet" - -msgid "Any arrow" -msgstr "Herhangi bir ok" - -msgid "Movement in camera space" -msgstr "Kamera alanında hareket" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Parça seçin" @@ -11819,136 +12354,29 @@ msgstr "Birden fazla nesne seç" msgid "Select objects by rectangle" msgstr "Nesneleri dikdörtgene göre seç" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Yukarı Ok" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Seçimi pozitif Y yönünde 10 mm taşı" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Aşağı Ok" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Seçimi negatif Y yönünde 10 mm taşı" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Sol Ok" - -msgid "Move selection 10mm in negative X direction" -msgstr "Seçimi negatif X yönünde 10 mm taşı" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Sağ Ok" - -msgid "Move selection 10mm in positive X direction" -msgstr "Seçimi pozitif X yönünde 10 mm taşı" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "Klavye 1-9: nesneye/parçaya filament ata" msgid "Movement step set to 1mm" msgstr "Hareket adımı 1 mm'ye ayarlandı" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "Klavye 1-9: nesneye/parçaya filament ata" +msgid "Movement in camera space" +msgstr "Kamera alanında hareket" -msgid "Camera view - Default" -msgstr "Kamera görünümü - Varsayılan" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Kamera görünümü - Üst" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Kamera görünümü - Alt" +msgid "Zoom View" +msgstr "Zoom Görünümü" -msgid "Camera view - Front" -msgstr "Kamera görünümü - Ön" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Kamera görünümü - Arka" - -msgid "Camera Angle - Left side" -msgstr "Kamera Açısı - Sol" - -msgid "Camera Angle - Right side" -msgstr "Kamera Açısı - Sağ" - -msgid "Select all objects" -msgstr "Tüm nesneleri seç" - -msgid "Gizmo move" -msgstr "Gizmo hareket" - -msgid "Gizmo rotate" -msgstr "Gizmo döndürme" - -msgid "Gizmo scale" -msgstr "Gizmo ölçek" - -msgid "Gizmo place face on bed" -msgstr "Gizmo yüzünüzü yatağa yerleştirin" - -msgid "Gizmo cut" -msgstr "Gizmo kesim" - -msgid "Gizmo mesh boolean" -msgstr "Gizmo mesh bölme" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM boyama ile uygulanan pütürlü yüzey" - -msgid "Gizmo SLA support points" -msgstr "Gizmo SLA destek noktaları" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM boyalı dikiş" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo metin kabartma/kazıma" - -msgid "Gizmo measure" -msgstr "Gizmo ölçüm" - -msgid "Gizmo assemble" -msgstr "Gizmo birleştir" - -msgid "Gizmo brim ears" -msgstr "Gizmo lenarlık kulakları" - -msgid "Zoom in" -msgstr "Yakınlaştır" - -msgid "Zoom out" -msgstr "Uzaklaştır" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Nesne/parça için yazdırılabilirliği aç/kapat" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Hazırlama/Önizleme arasında geçiş yap" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Boşluk" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Eylem hızlı erişim menüsünü aç" - -msgid "Plater" -msgstr "Plakacı" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Hareket Ettir: 1 mm kadar yaslamak için basın" @@ -11959,15 +12387,19 @@ msgstr "Destek/Renkli Boyama: kalem yarıçapını ayarlayın" msgid "Support/Color Painting: adjust section position" msgstr "Destek/Renkli Boyama: bölüm konumunu ayarlayın" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Nesne listesi" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Nesneler ve parçalar için ekstruder numarasını ayarlayın" -msgid "Delete objects, parts, modifiers" -msgstr "Nesneleri, parçaları, değiştiricileri silin" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Boşluk" msgid "Select the object/part and press space to change the name" msgstr "Nesneyi/parçayı seçin ve adını değiştirmek için boşluk tuşuna basın" @@ -11978,45 +12410,48 @@ msgstr "Fare tıklaması" msgid "Select the object/part and mouse click to change the name" msgstr "Nesneyi/parçayı seçin ve adını değiştirmek için fareye tıklayın" -msgid "Objects List" -msgstr "Nesne Listesi" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Dikey kaydırıcı - Etkin başparmağı yukarı hareket ettir" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Dikey kaydırıcı - Etkin başparmağı Aşağı hareket ettir" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Yatay kaydırıcı - Etkin başparmağı sola taşı" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Yatay kaydırıcı - Etkin başparmağı sağa taşı" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Dikey kaydırıcının tek katman modunu açma/kapama" - -msgid "On/Off G-code window" -msgstr "G-code penceresini aç/kapat" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Kaydırıcıyı 5 kat daha hızlı hareket ettirin" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Yatay kaydırıcı - Başlangıç konumuna taşıyın" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Yatay kaydırıcı - Son konuma git" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Sürüm notu" @@ -12221,15 +12656,22 @@ msgstr "Onarım iptal edildi" msgid "Copying of file %1% to %2% failed: %3%" msgstr "%1% dosyasının %2% dosyasına kopyalanması başarısız oldu: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Yeni satıcı profilleri indiriliyor: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Yapılandırma paketi: %1% sürüm %2% olarak güncellendi" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Satıcı profilleri indirilemedi: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Yapılandırma güncellemelerinden önce kaydedilmemiş değişiklikleri kontrol etmeniz gerekir." -msgid "Configuration package: " -msgstr "Yapılandırma paketi: " - -msgid " updated to " -msgstr " güncellendi " - msgid "Open G-code file:" msgstr "G-code dosyasını açın:" @@ -12294,11 +12736,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping yalnızca Klipper, RepRapFirmware ve Marlin 2 tarafından desteklenir." -msgid "Grouping error: " -msgstr "Gruplama hatası: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Gruplama hatası: %1% sol nozula yerleştirilemez" -msgid " can not be placed in the " -msgstr " içine yerleştirilemez " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Gruplama hatası: %1% sağ nozula yerleştirilemez" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12413,6 +12859,10 @@ msgstr "%1% diğerlerine çok yakın ve çarpışmalara neden olabilir." msgid "%1% is too tall, and collisions will be caused." msgstr "%1% çok uzun ve çarpışmalara neden olacak." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Modelin ve prime kulesinin göreli konumu \"Seyrek katman yok\" özelliğinin gereksinimlerini karşılamıyor. Lütfen göreli konumlarını ayarlayın, model yüksekliğini azaltın veya \"Seyrek katman yok\" seçeneğini kapatın." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " Hariç tutma alanına çok yakın olduğundan yazdırma sırasında çarpışmalar meydana gelebilir." @@ -12778,6 +13228,9 @@ msgstr "G-code yerine 3MF kullan" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Yazıcı, baskı işi olarak 3MF dosyası kabul ediyorsa bunu etkinleştirin. Etkinleştirildiğinde Orca Slicer, dilimlenmiş dosyayı düz bir .gcode dosyası yerine .gcode.3mf olarak gönderir." +msgid "Printer Agent" +msgstr "Yazıcı Aracısı" + msgid "Select the network agent implementation for printer communication." msgstr "Yazıcı iletişimi için ağ aracısı uygulamasını seçin." @@ -13848,6 +14301,10 @@ msgstr "Hizalanmış doğrusal" msgid "Concentric" msgstr "Konsantrik" +# AI Translated +msgid "Spiral Inset" +msgstr "Spiral içe" + msgid "Hilbert Curve" msgstr "Hilbert eğrisi" @@ -13939,12 +14396,12 @@ msgstr "Üst yüzey doldurma sırası" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Merkez tabanlı bir desen (Konsantrik, Arşimet akorları, Sekizgen spiral) kullanılırken üst yüzeylerin doldurulma yönü.\n" -"Dışarı, yüzeyin merkezinden başlar; böylece fazla malzeme en az göründüğü kenara doğru itilir. İçeri kenardan başlar ve merkezdeki dar kavislerle biter.\n" +"Merkezden başlayan bir desen kullanıldığında üst yüzeylerin doldurulma yönü (Konsantrik, Spiral içe, Arşimet akorları, Sekizgen spiral).\n" +"Dışarı, yüzeyin merkezinden başlar; böylece fazla malzeme, en az göründüğü kenara doğru itilir. İçeri, kenardan başlar ve merkezdeki dar kavislerle biter.\n" "Varsayılan, her iki yönde de ilerleyebilen en kısa yol sıralamasını kullanır." # AI Translated @@ -13953,12 +14410,12 @@ msgstr "Alt yüzey doldurma sırası" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Merkez tabanlı bir desen (Konsantrik, Arşimet akorları, Sekizgen spiral) kullanılırken alt yüzeylerin doldurulma yönü.\n" -"İçeri, her yüzeye daha geniş dış kavislerle başlar; bu da merkezdeki dar kavislerin yapışmayabileceği yapı plakalarında ilk katman yapışmasını iyileştirir. Dışarı merkezden başlar ve fazla malzemeyi kenara doğru iter.\n" +"Merkezden başlayan bir desen kullanıldığında alt yüzeylerin doldurulma yönü (Konsantrik, Spiral içe, Arşimet akorları, Sekizgen spiral).\n" +"İçeri, her yüzeye daha geniş dış kavislerle başlar; bu da merkezdeki dar kavislerin tutunamayabileceği yataklarda ilk katman yapışmasını iyileştirir. Dışarı, merkezden başlar ve fazla malzemeyi kenara doğru iter.\n" "Varsayılan, her iki yönde de ilerleyebilen en kısa yol sıralamasını kullanır." msgid "Internal solid infill pattern" @@ -14064,6 +14521,14 @@ msgstr "Saat yönünün tersine" msgid "Clockwise" msgstr "Saat yönünde" +# AI Translated +msgid "Distance to rod" +msgstr "Mile mesafe" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Nozul ucunun milin uzak kenarına olan yatay mesafesi. Nesneye göre baskıda çarpışmalardan kaçınmak için kullanılır." + msgid "Height to rod" msgstr "Çubuğa kadar olan yükseklik" @@ -16283,6 +16748,20 @@ msgstr "Çıkıntılı duvarı algıla" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Çizgi genişliğine göre çıkıntı yüzdesini tespit edin ve yazdırmak için farklı hızlar kullanın. %%100 çıkıntı için köprü hızı kullanılır." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Desteklenmeyen duvarları en son yazdır" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Tamamen havada kalan duvar döngüleri, ancak onları tutabilecek bir şey oluştuğunda yazdırılır:\n" +"duvar sırası ne olursa olsun, kendi adasındaki diğer duvarlardan sonra, en içtekinden başlayarak ekstrüde edilirler.\n" +"Yalnızca bu katmanın köprülerinin sabitleyebileceği bir döngü, o köprüler yazdırılana kadar bekler; desteklenen bir duvar boyunca uzanan bir döngü ise, kendisine sabitleme olarak ihtiyaç duyan dolgudan önceki yerini korur." + # AI Translated msgid "Outer walls" msgstr "Dış duvarlar" @@ -16731,6 +17210,39 @@ msgstr "Döngülerde temizleme" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Kapalı döngü ekstrüzyonda dikişin görünürlüğünü en aza indirmek için, ekstruder döngüden ayrılmadan önce içeriye doğru küçük bir hareket gerçekleştirilir." +# AI Translated +msgid "Wipe inward" +msgstr "İçeri temizleme" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Yalnızca delik sınırları dahil olmak üzere dış duvarlara uygulanır. Temizleme sırasında sıcak nozulu yazdırılmış iç duvarlara doğru hareket ettirerek yeni yazdırılmış plastiğin yeniden ısınmasını ve dikiş izlerini azaltır.\n" +"\n" +"Özellikle temizleme izlerinin daha belirgin olduğu 0,1 mm'nin altındaki katman yüksekliklerinde yararlıdır.\n" +"\n" +"Yazdırılmış bitişik bir iç duvar yoksa (tek duvarlı alanlar veya Dış/İç duvar sırası) ya da örneğin dar köşelerde veya dikiş boşluklarında desteklenen bir içeri yol bulunamazsa normal temizlemeyi kullanır." + +# AI Translated +msgid "Wipe inward distance" +msgstr "İçeri temizleme mesafesi" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Temizleme yolunun dış çevreden uzağa kaydırıldığı mesafe; milimetre cinsinden veya dış duvarın gerçek ekstrüzyon genişliğinin yüzdesi olarak belirtilir.\n" +"\n" +"Örneğin 50%, yolu dış duvar genişliğinin yarısı kadar kaydırır. Etkin kaydırma, hem dış duvarın gerçek genişliğiyle hem de bitişik duvara olan mevcut boşlukla sınırlıdır; bu nedenle 100% üzerindeki değerlerin veya buna denk bir mutlak mesafenin ek bir etkisi olmaz. Kaydırmayı devre dışı bırakmak için 0 girin." + msgid "Wipe before external loop" msgstr "Harici döngüden önce silin" @@ -16933,8 +17445,8 @@ msgstr "Ön ısıtma adımları" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Birden fazla ön ısıtma komutu ekleyin (örn. M104.1). Yalnızca Prusa XL için kullanışlıdır. Diğer yazıcılar için lütfen 1’e ayarlayın." -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code, çıktı dosyasının en üstünde, diğer içeriklerden önce yazılır. Yazıcı ürün yazılımının dosyanın ilk satırlarından okuduğu meta verileri (ör. tahmini yazdırma süresi, filament kullanımı) eklemek için kullanışlıdır. {print_time_sec} ve {used_filament_length} gibi yer tutucuları destekler." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Başlangıç G-code" @@ -16997,8 +17509,9 @@ msgstr "Yeni takımı baskı sıcaklığına ulaşmasını beklemeden alır, sil msgid "No sparse layers (beta)" msgstr "Seyrek katman yok (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Etkinleştirilirse, silme kulesi araç değişimi olmayan katmanlarda yazdırılmayacaktır. Araç değişimi olan katmanlarda, ekstruder silme kulesini yazdırmak için aşağı doğru hareket edecektir. Baskı ile çarpışma olmamasını sağlamak kullanıcının sorumluluğundadır." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Etkinleştirilirse, silme kulesi araç değişimi olmayan katmanlarda yazdırılmaz. Araç değişimi olan katmanlarda ekstruder silme kulesini yazdırmak için aşağı doğru hareket eder; böylece kule modelin altında kalır ve baskı kafasının ona uzanması gerekir. Bunun daha önce yazdırılmış bir nesneyle çarpışmasına yol açacak yerleşimler reddedilir. Her katmanda bir kule gerektiren pürüzsüz timelapse veya nozul birikme algılamayla birlikte etkisi yoktur." msgid "Prime all printing extruders" msgstr "Tüm ekstruderleri temizle" @@ -17024,6 +17537,34 @@ msgstr "" msgid "Cyclic" msgstr "Döngüsel" +# AI Translated +msgid "Cyclic order" +msgstr "Döngüsel sıra" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Döngüsel araç değiştirme sıralamasının kullandığı özel filament dizisi; virgülle ayrılmış filament numaraları olarak (örn. \"3,2,1,4\").\n" +"Her katman filamentlerini bu diziye göre yazdırır; listelenmeyen filamentler en son, artan sırada yazdırılır.\n" +"Filamentleri artan sırada dolaşmak için boş bırakın." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Döngüsel sırayı ilk katmana uygula" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Döngüsel araç değiştirme sırasını ilk katmana da uygular.\n" +"Varsayılan olarak kapalıdır, çünkü ilk katman bunun yerine en iyi tabla yapışması için sıralanır: ilk katmanın küçük, kırılgan ayrıntılarını yazdıran filamentler en son yazdırılır; böylece sonraki araç değişimleri ve seyahat hareketlerinin bu zayıf tutunan parçaları koparma olasılığı azalır. Bu ilk katman sırası, ayarlanmışsa özel bir ilk katman filament dizisini de dikkate alır. Döngüsel sıranın faydası (fazladan araç değişimleri her katmana soğuması için daha fazla süre tanır) yapışma için yavaş ve sıcak yazdırılan ilk katman için geçerli değildir.\n" +"Bunu yalnızca her katmanda, ilki dahil, tam olarak aynı araç dizisine ihtiyaç duyuyorsanız, söz konusu yapışma optimizasyonundan vazgeçerek etkinleştirin." + msgid "Slice gap closing radius" msgstr "Dilim aralığı kapanma yarıçapı" @@ -17033,9 +17574,6 @@ msgstr "Üçgen mesh dilimleme sırasında 2x boşluk kapatma yarıçapından k msgid "Slicing Mode" msgstr "Dilimleme modu" -msgid "Other" -msgstr "Diğer" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "3DLabPrint uçak modelleri için \"Çift-tek\" seçeneğini kullanın. Modeldeki tüm delikleri kapatmak için \"Delikleri kapat\"ı kullanın." @@ -17979,9 +18517,6 @@ msgstr "çok büyük çizgi genişliği " msgid " not in range " msgstr " aralıkta değil " -msgid "Export 3MF" -msgstr "3MF'yi dışa aktar" - msgid "This exports the project as a 3MF file." msgstr "Projeyi 3MF olarak dışa aktarın." @@ -17997,9 +18532,6 @@ msgstr "Dilimleme verilerini yükle" msgid "Load cached slicing data from directory." msgstr "Önbelleğe alınmış dilimleme verilerini dizinden yükle." -msgid "Export STL" -msgstr "STL'yi dışa aktar" - msgid "Export the objects as single STL." msgstr "Nesneleri tek STL olarak dışa aktarın." @@ -18051,6 +18583,14 @@ msgstr "Kontrol yok" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "G-code yol çakışmaları kontrolü gibi herhangi bir geçerlilik kontrolü çalıştırmayın." +# AI Translated +msgid "Strict mode" +msgstr "Katı mod" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Dilimleme, aksi halde yalnızca günlüğe yazılacak kritik olmayan bir uyarı verdiğinde sıfırdan farklı bir kodla çıkar; örneğin destek kapalıyken desteğe ihtiyaç duyan bir model. Bunu, fark edilmesi güç biçimde bozuk bir dilimlemeyi asla teslim etmemesi gereken CI veya betikli iş akışlarında kullanın. Bu tür her uyarı ayrıca, yalnızca Linux'ta yazılan result.json dosyasının `warnings` dizisinde kararlı bir sınıfla listelenir. Destek kontrolünü atlayan --no-check ile birlikte kullanılamaz." + msgid "Normative check" msgstr "Normatif kontrol" @@ -18063,11 +18603,28 @@ msgstr "Çıktı Model Bilgileri" msgid "This outputs the model’s information." msgstr "Modelin bilgilerini çıktıla." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Ağı incele (stdout'a JSON)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Yüklenen her nesnenin JSON özetini stdout'a yazar ve ardından çıkar: sınırlayıcı kutuları ve üzerine yatırılabileceği dışbükey kabuk yüzleri ile bunların normalleri, alanları ve merkezleri. --ground-* seçeneklerinin arasından seçim yaptığı yüzler bunlardır. --info seçeneğinin makine tarafından okunabilir alternatifi." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Boyamayı incele (stdout'a JSON)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Yüklenen modelde halihazırda saklanan her boyalı katmanın (destekler, dikiş, MMU rengi, pütürlü yüzey) yapılandırılmış bir JSON özetini — duruma göre yüzey sayısı, yüzey alanı ve ağa göre sınırlayıcı kutu — yazar ve ardından çıkar. Arayüzde boyama araçlarını açmanın makine tarafından okunabilir alternatifi." + msgid "Export Settings" msgstr "Dışa Aktarma Ayarları" -msgid "This exports settings to a file." -msgstr "Ayarları bir dosyaya aktarın." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Bu, ayarları bir dosyaya aktarır. stdout'a yazmak için - kullanın." msgid "Send progress to pipe" msgstr "İlerlemeyi kanala gönder" @@ -18123,6 +18680,30 @@ msgstr "Y etrafında döndür" msgid "Rotation angle around the Y axis in degrees." msgstr "Y ekseni etrafında derece cinsinden dönüş açısı." +# AI Translated +msgid "Ground largest face" +msgstr "En büyük yüze yatır" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Her nesneyi dışbükey kabuğunun en büyük yüzüne yatırır ve yatağa bırakır. Eşit büyüklükteki yüzler arasından zaten aşağı bakan yüz korunur. Üzerine oturacak kadar büyük bir yüzü olmayan nesneler olduğu gibi bırakılır. Dönüşümler komut satırı sırasına göre çalışır; bu nedenle bu seçenekten önce verilen döndürmeler dikkate alınır. --orient 1 tüm dönüşümlerden sonra çalışır ve yönlendirmeyi değiştirir." + +# AI Translated +msgid "Ground face by normal" +msgstr "Normale göre yüze yatır" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Her nesneyi, dışa bakan normali NX,NY,NZ yönüne en yakın olan dışbükey kabuk yüzüne yatırır ve yatağa bırakır. Yön, bu seçenekten önce verilen döndürmeleri içeren ve giriş dosyası nesneyi döndürmediği sürece tabla eksenleriyle örtüşen nesne koordinatlarındadır. Örneğin 1,0,0 nesneyi +X tarafına dikey olarak oturtur. --orient 1 tüm dönüşümlerden sonra çalışır ve yönlendirmeyi değiştirir." + +# AI Translated +msgid "Ground face at point" +msgstr "Noktadaki yüze yatır" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Her nesneyi, X,Y,Z noktasını içeren dışbükey kabuk yüzüne yatırır ve yatağa bırakır. Nokta, bu seçenekten önce verilen döndürmeleri içeren nesne koordinatlarındadır; --inspect-mesh yüz merkezlerini bu koordinatlarda bildirir. Böyle bir yüzü olmayan nesneler olduğu gibi bırakılır ve hiçbir nesnede böyle bir yüz yoksa çalışma başarısız olur. --orient 1 tüm dönüşümlerden sonra çalışır ve yönlendirmeyi değiştirir." + msgid "Scale the model by a float factor." msgstr "Modeli kayan nokta faktörüne göre ölçeklendirin." @@ -18423,12 +19004,36 @@ msgstr "Kullanılan" msgid "Total length of filament used in the print." msgstr "Baskıda kullanılan filamentin toplam uzunluğu." -msgid "Print time (seconds)" -msgstr "Yazdırma süresi (saniye)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Saniye cinsinden toplam tahmini yazdırma süresi. Son işlem sırasında gerçek değerle değiştirilir." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Filament uzunluğu (metre)" @@ -18658,9 +19263,6 @@ msgstr "Dosya geçersiz köşe dizini içeriyor." msgid "This OBJ file couldn't be read because it's empty." msgstr "Bu OBJ dosyası boş olduğundan okunamadı." -msgid "Max Volumetric Speed Calibration" -msgstr "Maksimum Hacimsel Hız Kalibrasyonu" - msgid "Manage Result" msgstr "Sonucu Yönet" @@ -19514,10 +20116,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOT: Yüksek değerler Katman kaymasına neden olabilir (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Akış Oranı Kalibrasyonu" - # AI Translated msgid "Calibration Test Type" msgstr "Kalibrasyon Testi Tipi" @@ -20308,6 +20906,9 @@ msgstr "Geçerli oturum algılanmadı. 3DPrinterOS'a giriş yapılsın mı?" msgid "Success!" msgstr "Başarılı!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Çıkış yaptığınızdan emin misiniz?" @@ -21318,6 +21919,18 @@ msgstr "Bu eylem geri alınamaz. Devam etmek?" msgid "Skipping objects." msgstr "Nesneleri atlama." +# AI Translated +msgid "Material Ratio" +msgstr "Malzeme Oranı" + +# AI Translated +msgid "Model Height" +msgstr "Model Yüksekliği" + +# AI Translated +msgid "Ratio" +msgstr "Oran" + msgid "Select Filament" msgstr "Filament Seçin" @@ -21349,13 +21962,6 @@ msgstr "Bulut özellikleri, yazıcı keşfi ve uzaktan yazdırma için Bambu Ağ msgid "Error: %s" msgstr "Hata: %s" -msgid "Show details" -msgstr "Ayrıntıları göster" - -# AI Translated -msgid "Hide details" -msgstr "Ayrıntıları gizle" - msgid "Version to install:" msgstr "Yüklenecek sürüm:" @@ -21600,12 +22206,14 @@ msgid "Drying-Dehumidifying" msgstr "Kurutma-Nem Alma" # AI Translated -msgid " maximum drying temperature is " -msgstr " için maksimum kurutma sıcaklığı " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s için maksimum kurutma sıcaklığı %d°C'dir." # AI Translated -msgid " minimum drying temperature is " -msgstr " için minimum kurutma sıcaklığı " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s için minimum kurutma sıcaklığı %d°C'dir." # AI Translated msgid "This filament may not be completely dried." @@ -21750,6 +22358,2495 @@ msgstr "Filament mevcut makine ayarlarıyla uyumlu olmayabilir. Rastgele bir fil msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filament modeli bilinmiyor. Rastgele bir filament ön ayarı kullanılacaktır." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Son" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Alt" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Sil" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Sol Ok" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Sağ Ok" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Yukarı Ok" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Aşağı Ok" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "STL/STEP/3MF/OBJ/AMF dosyalarından geometri verilerini içe aktarın" + +msgid "Select all objects" +msgstr "Tüm nesneleri seç" + +msgid "Paste from clipboard" +msgstr "Panodan yapıştır" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Nesne/parça için yazdırılabilirliği aç/kapat" + +msgid "Move selection 10mm in negative X direction" +msgstr "Seçimi negatif X yönünde 10 mm taşı" + +msgid "Move selection 10mm in positive X direction" +msgstr "Seçimi pozitif X yönünde 10 mm taşı" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Seçimi pozitif Y yönünde 10 mm taşı" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Seçimi negatif Y yönünde 10 mm taşı" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo hareket" + +msgid "Gizmo rotate" +msgstr "Gizmo döndürme" + +msgid "Gizmo scale" +msgstr "Gizmo ölçek" + +msgid "Gizmo place face on bed" +msgstr "Gizmo yüzünüzü yatağa yerleştirin" + +msgid "Gizmo cut" +msgstr "Gizmo kesim" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh bölme" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM boyalı dikiş" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM boyama ile uygulanan pütürlü yüzey" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo metin kabartma/kazıma" + +msgid "Gizmo measure" +msgstr "Gizmo ölçüm" + +msgid "Gizmo assemble" +msgstr "Gizmo birleştir" + +msgid "Gizmo brim ears" +msgstr "Gizmo lenarlık kulakları" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Dikey kaydırıcı - Etkin başparmağı yukarı hareket ettir" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Dikey kaydırıcı - Etkin başparmağı Aşağı hareket ettir" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Yatay kaydırıcı - Etkin başparmağı sola taşı" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Yatay kaydırıcı - Etkin başparmağı sağa taşı" + +msgid "Horizontal slider - Move to start position" +msgstr "Yatay kaydırıcı - Başlangıç konumuna taşıyın" + +msgid "Horizontal slider - Move to last position" +msgstr "Yatay kaydırıcı - Son konuma git" + +msgid "Camera view - Default" +msgstr "Kamera görünümü - Varsayılan" + +msgid "Camera view - Top" +msgstr "Kamera görünümü - Üst" + +msgid "Camera view - Bottom" +msgstr "Kamera görünümü - Alt" + +msgid "Camera view - Front" +msgstr "Kamera görünümü - Ön" + +msgid "Camera view - Behind" +msgstr "Kamera görünümü - Arka" + +msgid "Camera Angle - Left side" +msgstr "Kamera Açısı - Sol" + +msgid "Camera Angle - Right side" +msgstr "Kamera Açısı - Sağ" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Yakınlaştır" + +msgid "Zoom out" +msgstr "Uzaklaştır" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "3Dconnexion cihazları ayarları iletişim kutusunu Göster/Gizle" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "G-code penceresini aç/kapat" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Dikey kaydırıcının tek katman modunu açma/kapama" + +msgid "Switch between Prepare/Preview" +msgstr "Hazırlama/Önizleme arasında geçiş yap" + +msgid "Collapse/Expand the sidebar" +msgstr "Kenar çubuğunu daralt/genişlet" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Klavye kısayolları listesini göster" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22052,6 +25149,158 @@ msgstr "" "Eğilmeyi önleyin\n" "ABS gibi bükülmeye yatkın malzemelere baskı yaparken, ısıtma yatağı sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını azaltabileceğini biliyor muydunuz?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Sekme" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Geçerli görünüm penceresinin FPS değerini sağ üst köşede gösterir." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "3MF Yayınlama Wiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "3MF Yayınlama Video Kılavuzu" + +#~ msgid "Toolbar" +#~ msgstr "Araç Çubuğu" + +#~ msgid "Switch table page" +#~ msgstr "Tablo sayfasını değiştir" + +#~ msgid "Global shortcuts" +#~ msgstr "Genel kısayollar" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Orta fare düğmesi" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Seçilen nesneleri veya tüm nesneleri otomatik olarak yönlendirir. Seçilen nesneler varsa, yalnızca seçilenleri yönlendirir. Aksi takdirde mevcut projedeki tüm nesneler yönlendirilecektir." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Aktif plakadaki tüm nesneleri otomatik olarak yönlendirir." + +#~ msgid "Any arrow" +#~ msgstr "Herhangi bir ok" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo SLA destek noktaları" + +#~ msgid "Plater" +#~ msgstr "Plakacı" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Nesneleri, parçaları, değiştiricileri silin" + +#~ msgid "Objects List" +#~ msgstr "Nesne Listesi" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code, çıktı dosyasının en üstünde, diğer içeriklerden önce yazılır. Yazıcı ürün yazılımının dosyanın ilk satırlarından okuduğu meta verileri (ör. tahmini yazdırma süresi, filament kullanımı) eklemek için kullanışlıdır. {print_time_sec} ve {used_filament_length} gibi yer tutucuları destekler." + +#~ msgid "Print time (seconds)" +#~ msgstr "Yazdırma süresi (saniye)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Eylem hızlı erişim menüsünü aç" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Sol: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Sağ: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Maksimum sıcaklık şu değeri aşamaz: " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Minimum sıcaklık şu değerden az olamaz: " + +#~ msgid "up to" +#~ msgstr "kadar" + +#~ msgid "above" +#~ msgstr "üstünde" + +#~ msgid "from" +#~ msgstr "itibaren" + +#~ msgid "Configuration package: " +#~ msgstr "Yapılandırma paketi: " + +#~ msgid " updated to " +#~ msgstr " güncellendi " + +#~ msgid "Grouping error: " +#~ msgstr "Gruplama hatası: " + +#~ msgid " can not be placed in the " +#~ msgstr " içine yerleştirilemez " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " için maksimum kurutma sıcaklığı " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " için minimum kurutma sıcaklığı " + +# AI Translated +#~ msgid "needs" +#~ msgstr "şunu gerektirir" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "etkin değil" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "malzeme yayınlanmadı" + +#~ msgid "Select the language" +#~ msgstr "Dili seçin" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Eklenti seç" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Merkez tabanlı bir desen (Konsantrik, Arşimet akorları, Sekizgen spiral) kullanılırken üst yüzeylerin doldurulma yönü.\n" +#~ "Dışarı, yüzeyin merkezinden başlar; böylece fazla malzeme en az göründüğü kenara doğru itilir. İçeri kenardan başlar ve merkezdeki dar kavislerle biter.\n" +#~ "Varsayılan, her iki yönde de ilerleyebilen en kısa yol sıralamasını kullanır." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Merkez tabanlı bir desen (Konsantrik, Arşimet akorları, Sekizgen spiral) kullanılırken alt yüzeylerin doldurulma yönü.\n" +#~ "İçeri, her yüzeye daha geniş dış kavislerle başlar; bu da merkezdeki dar kavislerin yapışmayabileceği yapı plakalarında ilk katman yapışmasını iyileştirir. Dışarı merkezden başlar ve fazla malzemeyi kenara doğru iter.\n" +#~ "Varsayılan, her iki yönde de ilerleyebilen en kısa yol sıralamasını kullanır." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Etkinleştirilirse, silme kulesi araç değişimi olmayan katmanlarda yazdırılmayacaktır. Araç değişimi olan katmanlarda, ekstruder silme kulesini yazdırmak için aşağı doğru hareket edecektir. Baskı ile çarpışma olmamasını sağlamak kullanıcının sorumluluğundadır." + +#~ msgid "This exports settings to a file." +#~ msgstr "Ayarları bir dosyaya aktarın." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Yerel Wayland canlı görüntüsü, GStreamer GTK video alıcısını gerektirir. Lütfen GStreamer için gtksink eklentisini yükleyin ve ardından OrcaSlicer'ı yeniden başlatın." @@ -22106,18 +25355,12 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Tek bir katmanda yazdırma sırası." -#~ msgid "Bottom" -#~ msgstr "Alt" - #~ msgid "Front" #~ msgstr "Ön" #~ msgid "Rear" #~ msgstr "Arka" -#~ msgid "Del" -#~ msgstr "Sil" - #~ msgid "Arrow Up" #~ msgstr "Yukarı ok" @@ -22130,9 +25373,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Sağ Yön Tuşu" -#~ msgid "End" -#~ msgstr "Son" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 3d23f7bbb1..d173e6fa5c 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: orcaslicerua\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-07-17 16:25+0300\n" "Last-Translator: Andrij Mizyk \n" "Language-Team: Ukrainian\n" @@ -2424,15 +2424,6 @@ msgstr "Доступне оновлення. Відкрийте вікно на msgid "%s has been removed." msgstr "%s вилучено." -msgid "Switching application language" -msgstr "Зміна мови програми" - -msgid "Select the language" -msgstr "Вибрати мову" - -msgid "Language" -msgstr "Мова" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "Не вдалося перемкнути Orca Slicer на мову %s." @@ -2467,6 +2458,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Не вдалося відкрити діалогове вікно плагінів (невідома помилка)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Термінал плагіна" @@ -3668,11 +3672,15 @@ msgstr "Відвести назад поточний філамент на Filam msgid "Switch track at Filament Track Switch" msgstr "Перемкнути доріжку на Filament Track Switch" -msgid "The maximum temperature cannot exceed " -msgstr "Максимальна температура не повинна перевищувати " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Максимальна температура не повинна перевищувати %d" -msgid "The minmum temperature should not be less than " -msgstr "Мінімальна температура не повинна бути нижчою ніж " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Мінімальна температура не повинна бути нижчою ніж %d" msgid "Type to filter..." msgstr "Вводьте для фільтру..." @@ -4117,6 +4125,21 @@ msgstr "OrcaSlicer народився в тому ж дусі, спираючи msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Сьогодні OrcaSlicer — це найпоширеніший і найактивніше розвинений слайсер з відкритим кодом у спільноті 3D-друку. Багато його нововведень перейняли інші слайсери, що робить його рушійною силою для всієї галузі." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Принтер" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Налаштування матеріалів AMS" @@ -4579,6 +4602,15 @@ msgstr "" "Не вдалося скопіювати тимчасовий G-код у місцезнаходження вихідного файлу G-коду. Чи може ваша SD карта захищена від запису?\n" "Повідомлення про помилку: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Не вдалося скопіювати тимчасовий G-код у вихідний G-код.\n" +"Повідомлення про помилку: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Не вдалося скопіювати тимчасовий G-код у вихідний G-код. Можливо, проблема з цільовим пристроєм, спробуйте експортувати ще раз або використати інший пристрій. Пошкоджений вихідний G-код - %1% .tmp." @@ -4887,6 +4919,9 @@ msgstr "" "Так – змінити ці налаштування та автоматично включити режим спіральна ваза\n" "Ні - цього разу відмовитися від використання режиму спіральна ваза" +msgid "N/A" +msgstr "Н/Д" + msgid "Printing" msgstr "Друк" @@ -5328,14 +5363,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Значення %s знаходиться за межами діапазону. Дійсний діапазон від %d до %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Це %s%% або %s %s?\n" -"ТАК для %s%%, \n" -"НІ для %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Це %s%% або %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5358,29 +5390,22 @@ msgstr "Некоректний шаблон. Використовуйте N, N#K msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Невірний формат. Очікуваний векторний формат: \"%1%\"" -msgid "N/A" -msgstr "Н/Д" - # AI Translated msgid "System agents" msgstr "Системні агенти" -# AI Translated -msgid "No plugin selected" -msgstr "Плагін не вибрано" - # AI Translated msgid "Add plugin" msgstr "Додати плагін" -# AI Translated -msgid "Select plugin" -msgstr "Вибрати плагін" - # AI Translated msgid "Remove plugin" msgstr "Вилучити плагін" +# AI Translated +msgid "No plugin selected" +msgstr "Плагін не вибрано" + # AI Translated msgid "Configure" msgstr "Налаштувати" @@ -5646,14 +5671,20 @@ msgstr "Встановити до оптимального" msgid "Regroup filament" msgstr "Перегрупувати філамент" -msgid "up to" -msgstr "аж до" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "до %1% мм" -msgid "above" -msgstr "вище" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "вище %1% мм" -msgid "from" -msgstr "від" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "від %1% до %2% мм" msgid "Usage" msgstr "Використання" @@ -5713,9 +5744,6 @@ msgctxt "Noun" msgid "Print" msgstr "Друк" -msgid "Printer" -msgstr "Принтер" - msgid "Time Estimation" msgstr "Оцінка часу" @@ -5898,12 +5926,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Право" -msgid "Add" -msgstr "Додати" - msgid "Add plate" msgstr "Додати пластину" +msgid "Split to objects" +msgstr "Розділити на обʼєкти" + +msgid "Add" +msgstr "Додати" + msgid "Auto orient all/selected objects" msgstr "Автоорієнтація всі/вибрані обʼєкти" @@ -5916,9 +5947,6 @@ msgstr "Впорядкувати всі обʼєкти" msgid "Arrange objects on selected plates" msgstr "Впорядкувати обʼєкти на вибраних пластинах" -msgid "Split to objects" -msgstr "Розділити на обʼєкти" - msgid "Assembly View" msgstr "Вигляд збирання" @@ -5974,6 +6002,9 @@ msgstr "Контур" msgid "Wireframe" msgstr "Каркас" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "Реалістичний вигляд" @@ -6195,6 +6226,9 @@ msgstr "Закриття програми під чвс зміни деяких msgid "Logging" msgstr "Ведення журналу" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Підготовка" @@ -6341,6 +6375,14 @@ msgstr "Зберегти проєкт як" msgid "Save current project as" msgstr "Зберегти поточний проєкт як" +# AI Translated +msgid "Publish 3MF" +msgstr "Публікувати 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Експортувати файл 3MF із вбудованими вибраними налаштуваннями" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Імпорт 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6523,6 +6565,9 @@ msgstr "Редагування" msgid "View" msgstr "Вигляд" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "Набір пресетів" @@ -7459,6 +7504,232 @@ msgstr "Більше не показувати це діалогове вікн msgid "Please refer to Wiki before use->" msgstr "Зверніться до Вікі перед використанням->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Експортувати STL" + +msgid "Export 3MF" +msgstr "Експортувати 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Максимальна калібрування об’ємної швидкості" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Калібрування коефіцієнта потоку" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Видалити всі обʼєкти" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Розділити по обʼєктах" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-миша відʼєднана." @@ -7631,6 +7902,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Низ" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Це налаштування не вказує тип можливості плагіна." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Це налаштування вказує нерозпізнаний тип можливості плагіна: " + # AI Translated msgid "Plugin Selection" msgstr "Вибір плагіна" @@ -8135,9 +8414,6 @@ msgstr "Розгорнути бічну панель" msgid "Collapse sidebar" msgstr "Згорнути бічну панель" -msgid "Tab" -msgstr "Табуляції" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Завантаження файлу: %s" @@ -8223,6 +8499,14 @@ msgstr "Будь ласка, підтвердьте, що G-коди в цих msgid "Customized Preset" msgstr "Пристосований пресет" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Деякі опубліковані налаштування не вдалося застосувати:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Деякі слоти філаменту було змінено:" + # AI Translated msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Назви компонентів усередині файлу STEP не у форматі UTF-8!" @@ -8346,18 +8630,12 @@ msgstr "" msgid "Delete Object" msgstr "Видалити обʼєкт" -msgid "Delete All Objects" -msgstr "Видалити всі обʼєкти" - msgid "Reset Project" msgstr "Скинути проєкт" msgid "The selected object couldn't be split." msgstr "Вибраний обʼєкт не може бути поділений." -msgid "Split to Objects" -msgstr "Розділити по обʼєктах" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Вимкнути авто-кидання, щоб зберегти розташування по осі Z?\n" @@ -8635,6 +8913,21 @@ msgstr "Зберегти нарізаний файл як:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "Файл %s надіслано до памʼяті принтера та доступний для перегляду на принтері." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Публікувати файл 3MF як:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Не вдалося експортувати опублікований файл 3MF.\n" +"Перевірте, чи доступна тека онлайн і чи не відкрито файл в інших програмах." + +msgid "Publish" +msgstr "Публікувати" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Тип сопла не встановлений. Будь ласка, оберіть сопло та спробуйте ще раз." @@ -8851,9 +9144,6 @@ msgstr "Ви хочете продовжувати?" msgid "Language selection" msgstr "Вибір мови" -msgid "Switching application language while some presets are modified." -msgstr "Зміна мови програми при зміні деяких профілів." - msgid "Asia-Pacific" msgstr "Азіатсько-Тихоокеанський регіон" @@ -8961,6 +9251,9 @@ msgstr "Шлях Поточної Інсталяції: " msgid "General" msgstr "Загальні" +msgid "Language" +msgstr "Мова" + msgid "Metric" msgstr "Метрика" @@ -9169,6 +9462,33 @@ msgstr "Керування кількома пристроями" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "З цією опцією ввімкненою, ви можете відправляти завдання на кілька пристроїв одночасно та керувати декількома пристроями." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Показувати вікно вибору режиму групування філаментів" @@ -9258,6 +9578,12 @@ msgstr "Зворотне масштабування мишкою" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Якщо увімкнено, змінює напрямок масштабування за допомогою коліщатка миші." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Панорамування" @@ -9283,6 +9609,15 @@ msgstr "Перетягування правою кнопкою миші" msgid "Set the action that dragging the right mouse button should perform." msgstr "Задає дію, яку має виконувати перетягування правою кнопкою миші." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "Очистити мій вибір для..." @@ -9397,13 +9732,40 @@ msgstr "" "Обмежує частоту кадрів вікна перегляду, щоб зменшити навантаження на GPU та енергоспоживання.\n" "Встановіть 0 для необмеженої частоти кадрів." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Показувати накладку FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Показує поточний FPS вікна перегляду у верхньому правому куті." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9421,9 +9783,6 @@ msgstr "Під час прокручування повзунка шарів у msgid "Dimmed layer brightness" msgstr "Яскравість затемнених шарів" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9814,9 +10173,6 @@ msgstr "Перейти на веб-сторінку публікації мод msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Примітка. Підготовка може тривати кілька хвилин. Будь ласка, будьте терплячі." -msgid "Publish" -msgstr "Публікувати" - msgid "Publish was canceled" msgstr "Публікація скасована" @@ -9832,6 +10188,76 @@ msgstr "Відвантаження даних" msgid "Jump to webpage" msgstr "Перейти на вебсторінку" +# AI Translated +msgid "Material" +msgstr "Матеріал" + +# AI Translated +msgid "Mixed filament" +msgstr "Змішаний філамент" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Деякі змішані філаменти залежать від філаментів, які не будуть опубліковані:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Філамент %d (змішаний)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% потребує %2%, але його не ввімкнено." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% потребує %2%, але його матеріал не буде опубліковано." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Щоб опублікувати змішаний філамент, увімкніть кожен філамент, який він використовує, і виберіть «Повна публікація» або виконайте його вимогу «Тип»." + +# AI Translated +msgid "Publish anyway" +msgstr "Опублікувати попри це" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Публікувати 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Виберіть, які налаштування буде опубліковано у файлі 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Змішаний філамент — публікується цілком, коли вище вибрано «Увімкнути»" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Опублікувати цей змішаний філамент та увімкнути + повністю опублікувати його складові філаменти" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Опублікувати цей слот філаменту у файлі 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Повна публікація" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Вбудувати весь філамент цього слота у файл 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Фільтрувати невибрані" + #, c-format, boost-format msgid "Save %s as" msgstr "Зберегти %s як" @@ -9850,6 +10276,10 @@ msgstr "Копіює в цей пресет усі значення, успад msgid "Detach from parent" msgstr "Відʼєднати від батьківського" +# AI Translated +msgid "Save without parent" +msgstr "Зберегти без батьківського" + # AI Translated msgid "Unique preset" msgstr "Незалежний пресет" @@ -9909,6 +10339,133 @@ msgstr "Для \"%1%\" додайте \"%2%\" як новий пресет" msgid "Simply switch to \"%1%\"" msgstr "Просто перейдіть на \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Інший" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "Показати подробиці" + +# AI Translated +msgid "Hide details" +msgstr "Сховати подробиці" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Завдання скасовано" @@ -10589,10 +11146,18 @@ msgstr "Для виявлення налипання потрібна підго msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Одночасне увімкнення точної висоти Z та підготовчої вежі може спричинити помилки нарізки. Ви все одно хочете увімкнути точну висоту Z?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Плавний таймлапс потребує підготовчої вежі на кожному шарі, що несумісно з параметром «Без розріджених шарів». Параметр «Без розріджених шарів» вимкнено." + # AI Translated msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Для плавного таймлапсу потрібна підготовча вежа. Без підготовчої вежі на моделі можуть виникати дефекти. Ви хочете увімкнути підготовчу вежу?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "Параметр «Без розріджених шарів» несумісний із плавним таймлапсом, який потребує підготовчої вежі на кожному шарі. Таймлапс перемкнено в традиційний режим." + msgid "Still print by object?" msgstr "Все одно друкувати кожен обʼєкт окремо?" @@ -10983,9 +11548,6 @@ msgstr "Сумісні профілі процесів" msgid "Printable space" msgstr "Місце для друку" -msgid "Printer Agent" -msgstr "Агент принтера" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Виберіть реалізацію мережевого агента для звʼязку з принтером. Доступні агенти реєструються під час запуску." @@ -11409,12 +11971,6 @@ msgstr "Кількість екструдерів" msgid "Capabilities" msgstr "Можливості" -msgid "Left: " -msgstr "Лівий: " - -msgid "Right: " -msgstr "Правий: " - msgid "Show all presets (including incompatible)" msgstr "Показувати всі профілі (включаючи несумісні)" @@ -11820,57 +12376,39 @@ msgstr "Пакет конфігурації змінено в попереднь msgid "Configuration package changed" msgstr "Змінено пакет конфігурації" -msgid "Toolbar" -msgstr "Панель інструментів" - -msgid "Objects list" -msgstr "Список обʼєктів" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Імпорт геометричних даних із файлів STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Вставити з буфера обміну" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Показати/приховати діалог налаштувань пристроїв 3Dconnexion" - -msgid "Switch table page" -msgstr "Перемкнути сторінку таблиці" - -msgid "Show keyboard shortcuts list" -msgstr "Показати список клавіш" - -msgid "Global shortcuts" -msgstr "Глобальні ярлики" - msgid "Pan View" msgstr "Панорамний вигляд" msgid "Rotate View" msgstr "Повернути вигляд" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + # AI Translated -msgid "Middle mouse button" -msgstr "Середня кнопка миші" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Zoom View" -msgstr "Перегляд масштабу" +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Автоматично орієнтує вибрані обʼєкти або всі обʼєкти. Якщо вибрано обʼєкти, він просто орієнтує обрані. В іншому випадку він будеОрієнтувати всі обʼєкти на поточному проєкт." - -msgid "Auto orients all objects on the active plate." -msgstr "Автоматично орієнтує всі обʼєкти на поточному диску." - -msgid "Collapse/Expand the sidebar" -msgstr "Згорнути/розгорнути бічну панель" - -msgid "Any arrow" -msgstr "Будь-яка стрілка" - -msgid "Movement in camera space" -msgstr "Рух у просторі камери" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Виберіть частину" @@ -11881,136 +12419,29 @@ msgstr "Вибрати кілька обʼєктів" msgid "Select objects by rectangle" msgstr "Виділити обʼєкти прямокутником" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Стрілка вгору" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Перемістити виділення на 10 мм у позитивному напрямку Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Стрілка вниз" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Перемістити виділення на 10 мм у негативному напрямку Y" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Стрілка вліво" - -msgid "Move selection 10mm in negative X direction" -msgstr "Перемістити виділення на 10 мм у негативному напрямку по осі X" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Стрілка вправо" - -msgid "Move selection 10mm in positive X direction" -msgstr "Перемістити виділення на 10 мм у позитивному напрямку X" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "клавіатура 1-9: встановити філамент для обʼєкта/деталі" msgid "Movement step set to 1mm" msgstr "Крок переміщення встановлено на 1 мм" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "клавіатура 1-9: встановити філамент для обʼєкта/деталі" +msgid "Movement in camera space" +msgstr "Рух у просторі камери" -msgid "Camera view - Default" -msgstr "Вигляд камери - Типовий" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Вигляд камери - Верх" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "Вигляд камери - Низ" +msgid "Zoom View" +msgstr "Перегляд масштабу" -msgid "Camera view - Front" -msgstr "Вигляд камери - Перед" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "Вигляд камери - Зад" - -msgid "Camera Angle - Left side" -msgstr "Кут камери – Лівий бік" - -msgid "Camera Angle - Right side" -msgstr "Кут камери - Правий бік" - -msgid "Select all objects" -msgstr "Вибрати всі обʼєкти" - -msgid "Gizmo move" -msgstr "Рух Gizmo" - -msgid "Gizmo rotate" -msgstr "Поворот Gizmo" - -msgid "Gizmo scale" -msgstr "Шкала Gizmo" - -msgid "Gizmo place face on bed" -msgstr "Покласти грань на стіл Gizmo" - -msgid "Gizmo cut" -msgstr "Виріз Gizmo" - -msgid "Gizmo mesh boolean" -msgstr "Булеві операції Gizmo" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo Малювання шорсткої поверхні" - -msgid "Gizmo SLA support points" -msgstr "Точки підтримки Gizmo SL" - -msgid "Gizmo FDM paint-on seam" -msgstr "Швид, що фарбується Gizmo FDM" - -msgid "Gizmo text emboss/engrave" -msgstr "Текстове тиснення/гравіювання Gizmo" - -msgid "Gizmo measure" -msgstr "виміряти Gizmo" - -msgid "Gizmo assemble" -msgstr "Зібрати Gizmo" - -msgid "Gizmo brim ears" -msgstr "Краєчки Gizmo" - -msgid "Zoom in" -msgstr "Приблизити" - -msgid "Zoom out" -msgstr "Віддалити" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Перемкнути можливість друку для обʼєкта/частини" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Переключення між Підготовка/Попередній перегляд" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Пробіл" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Відкрити панель швидких дій" - -msgid "Plater" -msgstr "Тарілка" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Переміщення: натисніть для переміщення на 1 мм" @@ -12021,14 +12452,19 @@ msgstr "Підтримка/Фарбування: регулювання раді msgid "Support/Color Painting: adjust section position" msgstr "Підтримка/Фарбування: регулювання положення секцій" -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Список обʼєктів" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Встановіть номер екструдера для обʼєктів та деталей" -msgid "Delete objects, parts, modifiers" -msgstr "Видалення обʼєктів, частин, модифікаторів" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Пробіл" msgid "Select the object/part and press space to change the name" msgstr "Виберіть обʼєкт/деталь і натисніть пробіл, щоб змінити назву" @@ -12039,45 +12475,48 @@ msgstr "Клацання миші" msgid "Select the object/part and mouse click to change the name" msgstr "Виберіть обʼєкт/деталь і клацніть, щоб змінити назву" -msgid "Objects List" -msgstr "Список обʼєктів" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Вертикальний повзунок - рух активного великого пальця вгору" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Вертикальний повзунок - Перемістити активний палець вниз" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Горизонтальний повзунок - Перемістити активний палець вліво" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Горизонтальний повзунок - Перемістити активний палець праворуч" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Увімкнення/вимкнення одношарового режиму вертикального повзунка" - -msgid "On/Off G-code window" -msgstr "Увімкнення/вимкнення вікна G-коду" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Переміщення повзунка в 5 разів швидше" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Горизонтальний повзунок - Перемістити в початкове положення" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Горизонтальний повзунок - Перемістити в останню позицію" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Примітка до випуску" @@ -12279,16 +12718,23 @@ msgstr "Ремонт скасовано" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Копіювання %1% у %2% не вдалося: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Завантаження нових профілів виробників: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Пакет конфігурації: %1% оновлено до %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Не вдалося завантажити профілі виробників: " + # AI Translated msgid "Please check any unsaved changes before updating the configuration." msgstr "Будь ласка, перевірте незбережені зміни перед оновленням конфігурації." -msgid "Configuration package: " -msgstr "Пакет конфігурації: " - -msgid " updated to " -msgstr " оновлено до " - msgid "Open G-code file:" msgstr "Відкрити файл G-коду:" @@ -12353,11 +12799,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input Shaping підтримується лише Klipper, RepRapFirmware і Marlin 2." -msgid "Grouping error: " -msgstr "Помилка групування: " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Помилка групування: %1% не можна розмістити в лівому соплі" -msgid " can not be placed in the " -msgstr " не можливо помістити у " +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Помилка групування: %1% не можна розмістити в правому соплі" msgid "Group error in manual mode. Please check nozzle count or regroup." msgstr "Помилка групування в ручному режимі. Перевірте кількість сопел або перегрупуйте." @@ -12471,6 +12921,10 @@ msgstr "%1% знаходиться надто близько до інших, щ msgid "%1% is too tall, and collisions will be caused." msgstr "%1% занадто високий, і можуть виникнути зіткнення." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Взаємне розташування моделі та підготовчої вежі не відповідає вимогам функції «Без розріджених шарів». Змініть їхнє взаємне розташування, зменште висоту моделі або вимкніть параметр «Без розріджених шарів»." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " знаходиться надто близько до зони відчуження, при друку можуть виникати колізії." @@ -12849,6 +13303,9 @@ msgstr "Використовувати 3MF замість G-коду" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Увімкніть, якщо принтер приймає файл 3MF як завдання друку. Якщо увімкнено, Orca Slicer надсилає нарізаний файл як .gcode.3mf замість звичайного файлу .gcode." +msgid "Printer Agent" +msgstr "Агент принтера" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Виберіть реалізацію мережевого агента для звʼязку з принтером." @@ -13944,6 +14401,10 @@ msgstr "Вирівняний прямолінійний" msgid "Concentric" msgstr "Концентричний" +# AI Translated +msgid "Spiral Inset" +msgstr "Спіральний відступ" + msgid "Hilbert Curve" msgstr "Крива Гільберта" @@ -14034,13 +14495,13 @@ msgstr "Порядок заповнення верхньої поверхні" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Напрямок, у якому заповнюються верхні поверхні при використанні шаблону з центром (Концентричний, Хорди Архімеда, Спіральна октограма).\n" -"Назовні починає з центру поверхні, тож надлишок матеріалу виштовхується до краю, де він найменш помітний. Усередину починає з краю та завершується щільними кривими в центрі.\n" -"Типово використовується впорядкування за найкоротшим шляхом, яке може йти в будь-якому напрямку." +"Напрямок заповнення верхніх поверхонь під час використання шаблону, що йде від центру (Концентричний, Спіральний відступ, Хорди Архімеда, Спіральна октограма).\n" +"Назовні починає від центру поверхні, тож надлишок матеріалу виштовхується до краю, де він найменш помітний. Всередину починає від краю й завершується тісними вигинами в центрі.\n" +"Типово використовується порядок за найкоротшим шляхом, який може йти в будь-якому напрямку." # AI Translated msgid "Bottom surface fill order" @@ -14048,13 +14509,13 @@ msgstr "Порядок заповнення нижньої поверхні" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Напрямок, у якому заповнюються нижні поверхні при використанні шаблону з центром (Концентричний, Хорди Архімеда, Спіральна октограма).\n" -"Усередину починає кожну поверхню з ширших зовнішніх кривих, що покращує зчеплення першого шару на столах, де щільні криві в центрі можуть не прилипати. Назовні починає з центру, виштовхуючи надлишок матеріалу до краю.\n" -"Типово використовується впорядкування за найкоротшим шляхом, яке може йти в будь-якому напрямку." +"Напрямок заповнення нижніх поверхонь під час використання шаблону, що йде від центру (Концентричний, Спіральний відступ, Хорди Архімеда, Спіральна октограма).\n" +"Всередину починає кожну поверхню з ширших зовнішніх вигинів, що поліпшує прилипання першого шару до столів, до яких тісні вигини в центрі можуть не приставати. Назовні починає від центру, виштовхуючи надлишок матеріалу до краю.\n" +"Типово використовується порядок за найкоротшим шляхом, який може йти в будь-якому напрямку." msgid "Internal solid infill pattern" msgstr "Шаблон внутрішнього суцільного заповнення" @@ -14159,6 +14620,14 @@ msgstr "Проти годинникової стрілки" msgid "Clockwise" msgstr "За годинниковою стрілкою" +# AI Translated +msgid "Distance to rod" +msgstr "Відстань до штанги" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Горизонтальна відстань від кінчика сопла до дальшого краю штанги. Використовується для уникнення зіткнень під час друку по обʼєктах." + msgid "Height to rod" msgstr "Висота до сопла" @@ -16466,6 +16935,20 @@ msgstr "Виявлення стінок що нависають" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Визначити відсоток нависання відносно до ширини лінії та використовувати для друку іншу швидкість. Для 100%%-вого нависання використовується швидкість моста." +# AI Translated +msgid "Print unsupported walls last" +msgstr "Друкувати неопорні стінки останніми" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Контури стінок, що повністю висять у повітрі, друкуються лише тоді, коли їх є чим утримати:\n" +"вони екструдуються після інших стінок свого острова, починаючи з найвнутрішнішої, незалежно від порядку стінок.\n" +"Контур, який можуть закріпити лише мости цього шару, чекає, доки ці мости буде надруковано, тоді як контур, що йде вздовж опертої стінки, зберігає своє місце перед заповненням, якому він потрібен як якір." + # AI Translated msgid "Outer walls" msgstr "Зовнішні стінки" @@ -16912,6 +17395,39 @@ msgstr "Протирати на контурах" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Щоб звести до мінімуму видимість шва при екструзії із замкнутим контуром,Невеликий рух усередину виконується до виходу екструдера з контуру." +# AI Translated +msgid "Wipe inward" +msgstr "Протирання всередину" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Застосовується лише до зовнішніх стінок, зокрема до контурів отворів. Під час протирання переміщує гаряче сопло до вже надрукованих внутрішніх стінок, щоб зменшити повторне нагрівання щойно надрукованого пластику та сліди шва.\n" +"\n" +"Особливо корисно за висоти шару менше 0,1 мм, де сліди протирання помітніші.\n" +"\n" +"Використовує звичайне протирання, якщо поруч немає вже надрукованої внутрішньої стінки (ділянки з однією стінкою або порядок стінок Зовнішня/Внутрішня) або якщо не вдається знайти опертий шлях усередину, наприклад у тісних кутах чи розривах шва." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Відстань протирання всередину" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Відстань, на яку шлях протирання зміщується від зовнішнього контуру, задається в міліметрах або у відсотках від фактичної ширини екструзії зовнішньої стінки.\n" +"\n" +"Наприклад, 50% зміщує шлях на половину ширини зовнішньої стінки. Фактичне зміщення обмежується як реальною шириною зовнішньої стінки, так і доступним проміжком до сусідньої стінки, тому значення понад 100% або еквівалентна абсолютна відстань не дають додаткового ефекту. Задайте 0, щоб вимкнути зміщення." + msgid "Wipe before external loop" msgstr "Протирати перед зовнішнім контуром" @@ -17120,9 +17636,8 @@ msgstr "Кроки підігріву" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Вставляє кілька команд попереднього нагріву (наприклад, M104.1). Корисно лише для Prusa XL. Для інших принтерів слід встановити значення 1." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-код, що записується на самому початку вихідного файлу, перед будь-яким іншим вмістом. Корисно для додавання метаданих, які прошивка принтера читає з перших рядків файлу (наприклад, орієнтовний час друку, витрата філаменту). Підтримує підстановки на кшталт {print_time_sec} та {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "Початковий G-код" @@ -17188,8 +17703,9 @@ msgstr "Бере новий інструмент, не чекаючи, доки msgid "No sparse layers (beta)" msgstr "Без розріджених шарів (бета)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Якщо увімкнено, вежа витирання не друкується на шарах без змін інструментів. На шарах із зміною інструменту екструдер рухатиметься вниз, щоб надрукувати вежу витирання. Користувач несе відповідальність за те, щоб не було зіткнення з друком." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Якщо увімкнено, вежу протирання не буде надруковано на шарах без змін інструменту. На шарах зі зміною інструменту екструдер опуститься вниз, щоб надрукувати вежу протирання, тож вежа опиняється нижче моделі, і головці доводиться тягнутися до неї вниз. Компонування, за яких це призвело б до зіткнення з уже надрукованим обʼєктом, відхиляються. Не діє за плавного таймлапсу чи виявлення налипань на соплі, яким потрібна вежа на кожному шарі." msgid "Prime all printing extruders" msgstr "Підготовка всіх друкуючих екструдерів" @@ -17214,6 +17730,34 @@ msgstr "" msgid "Cyclic" msgstr "Циклічно" +# AI Translated +msgid "Cyclic order" +msgstr "Циклічний порядок" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Власна послідовність філаментів, яку використовує циклічний порядок змін інструменту, у вигляді номерів філаментів через кому (напр. «3,2,1,4»).\n" +"Кожен шар друкує свої філаменти за цією послідовністю; філаменти, яких немає в переліку, друкуються останніми, за зростанням.\n" +"Залиште порожнім, щоб перебирати філаменти за зростанням." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Застосовувати циклічний порядок до першого шару" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Застосовує циклічний порядок змін інструменту також і до першого шару.\n" +"Типово це вимкнено, оскільки перший шар натомість упорядковується для найкращого прилипання до столу: філаменти, якими друкуються дрібні крихкі елементи першого шару, друкуються останніми, тож наступні зміни інструменту та переміщення рідше зривають ці слабко закріплені частини. Цей порядок першого шару враховує також власну послідовність філаментів для першого шару, якщо її задано. Перевага циклічного порядку (додаткові зміни інструменту дають кожному шару більше часу на охолодження) до першого шару не стосується, бо він друкується повільно й гарячим задля прилипання.\n" +"Вмикайте це, лише якщо вам потрібна точно та сама послідовність інструментів на кожному шарі, зокрема на першому, ціною цієї оптимізації прилипання." + msgid "Slice gap closing radius" msgstr "Радіус закриття пробілів під час нарізування" @@ -17223,9 +17767,6 @@ msgstr "Під час розрізання тріщини на трикутну msgid "Slicing Mode" msgstr "Режим нарізки" -msgid "Other" -msgstr "Інший" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Використовуйте «парний-непарний» для моделей літаків 3DLabPrint. Використовуйте «Закрити отвори», щоб закрити всі отвори в моделі." @@ -18188,9 +18729,6 @@ msgstr "надто велика ширина лінії " msgid " not in range " msgstr " не в зоні " -msgid "Export 3MF" -msgstr "Експортувати 3MF" - msgid "This exports the project as a 3MF file." msgstr "Експортувати проєкт як 3MF." @@ -18206,9 +18744,6 @@ msgstr "Завантажити дані про нарізку" msgid "Load cached slicing data from directory." msgstr "Завантажити кешовані дані нарізки з каталогу" -msgid "Export STL" -msgstr "Експортувати STL" - msgid "Export the objects as single STL." msgstr "Експортувати обʼєкти як єдиний STL." @@ -18261,6 +18796,14 @@ msgstr "Без перевірки" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Не виконувати жодних перевірок дійсності, наприклад перевірку конфліктів шляхів G-коду." +# AI Translated +msgid "Strict mode" +msgstr "Суворий режим" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Завершує роботу з ненульовим кодом, коли нарізка видає некритичне попередження, яке інакше лише записується в журнал, наприклад модель, що потребує підтримок, коли підтримки вимкнено. Використовуйте це в CI або скриптових конвеєрах, які ніколи не мають видавати непомітно зіпсовану нарізку. Кожне таке попередження також наводиться зі сталим класом у масиві `warnings` файлу result.json, який створюється лише в Linux. Не можна поєднувати з --no-check, який пропускає перевірку підтримок." + msgid "Normative check" msgstr "Нормативна перевірка" @@ -18273,11 +18816,28 @@ msgstr "Вихідна інформація про модель" msgid "This outputs the model’s information." msgstr "Виведіть інформацію про модель." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Перевірити сітку (JSON у stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "Виводить у stdout зведення JSON щодо кожного завантаженого обʼєкта й завершує роботу: його обмежувальні паралелепіпеди та грані опуклої оболонки, на які його можна покласти, з їхніми нормалями, площами й центрами. Саме з цих граней вибирають параметри --ground-*. Машиночитна альтернатива --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Перевірити малювання (JSON у stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "Виводить структуроване зведення JSON щодо кожного намальованого шару (підтримки, шов, колір MMU, шорстка поверхня), уже збереженого в завантаженій моделі, — кількість граней, площу поверхні та обмежувальний паралелепіпед у координатах сітки для кожного стану — і завершує роботу. Машиночитна альтернатива відкриттю інструментів малювання в інтерфейсі." + msgid "Export Settings" msgstr "Експортувати налаштування" -msgid "This exports settings to a file." -msgstr "Експортувати налаштування у файл." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Це експортує налаштування у файл. Використовуйте -, щоб записати їх у stdout." msgid "Send progress to pipe" msgstr "Надіслати прогрес до каналу" @@ -18333,6 +18893,30 @@ msgstr "Обертати навколо осі Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Кут обертання навколо осі Y у градусах." +# AI Translated +msgid "Ground largest face" +msgstr "Покласти на найбільшу грань" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладе кожен обʼєкт на найбільшу грань його опуклої оболонки й опускає його на стіл. З однакових за площею граней зберігається та, що вже обернена донизу. Обʼєкти без достатньо великої грані для опори лишаються без змін. Перетворення виконуються в порядку командного рядка, тож повороти, задані до цього параметра, враховуються. --orient 1 виконується після всіх перетворень і замінює орієнтацію." + +# AI Translated +msgid "Ground face by normal" +msgstr "Покласти на грань за нормаллю" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладе кожен обʼєкт на ту грань опуклої оболонки, зовнішня нормаль якої найближча до напрямку NX,NY,NZ, і опускає його на стіл. Напрямок задається в координатах обʼєкта, які включають повороти, задані до цього параметра, і збігаються з осями столу, якщо вхідний файл не повертає обʼєкт. Наприклад, 1,0,0 ставить обʼєкт на його бік +X. --orient 1 виконується після всіх перетворень і замінює орієнтацію." + +# AI Translated +msgid "Ground face at point" +msgstr "Покласти на грань у точці" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Кладе кожен обʼєкт на ту грань опуклої оболонки, що містить точку X,Y,Z, і опускає його на стіл. Точка задається в координатах обʼєкта, які включають повороти, задані до цього параметра; --inspect-mesh подає центри граней саме в них. Обʼєкти без такої грані лишаються без змін, а запуск завершується помилкою, якщо такої грані немає в жодного обʼєкта. --orient 1 виконується після всіх перетворень і замінює орієнтацію." + msgid "Scale the model by a float factor." msgstr "Масштабуйте модель за допомогою плаваючого коефіцієнта" @@ -18641,13 +19225,37 @@ msgstr "Філамент, що використовується" msgid "Total length of filament used in the print." msgstr "Загальна довжина філаменту, використаної під час друку." -msgid "Print time (seconds)" -msgstr "Час друку (в секундах)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Загальний орієнтовний час друку в секундах. Замінюється фактичним значенням під час постобробки." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "Довжина філаменту (в метрах)" @@ -18880,9 +19488,6 @@ msgstr "У файлі містяться недійсний індекс вер msgid "This OBJ file couldn't be read because it's empty." msgstr "Цей файл формату OBJ не може бути прочитаний через те, що він порожній." -msgid "Max Volumetric Speed Calibration" -msgstr "Максимальна калібрування об’ємної швидкості" - msgid "Manage Result" msgstr "Керування результатом" @@ -19768,10 +20373,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "ПРИМІТКА: високі значення можуть спричинити зсув шарів (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Калібрування коефіцієнта потоку" - msgid "Calibration Test Type" msgstr "Тип тесту калібрування" @@ -20557,6 +21158,9 @@ msgstr "Дійсний сеанс не виявлено. Продовжити в msgid "Success!" msgstr "Успішно!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Ви впевнені, що вийшли?" @@ -21495,6 +22099,18 @@ msgstr "Дію не можливо завершити. Продовжити?" msgid "Skipping objects." msgstr "Пропускання обʼєктів." +# AI Translated +msgid "Material Ratio" +msgstr "Частка матеріалу" + +# AI Translated +msgid "Model Height" +msgstr "Висота моделі" + +# AI Translated +msgid "Ratio" +msgstr "Частка" + msgid "Select Filament" msgstr "Вибрати філамент" @@ -21526,13 +22142,6 @@ msgstr "Мережевий плагін Bambu потрібен для можли msgid "Error: %s" msgstr "Помилка: %s" -msgid "Show details" -msgstr "Показати подробиці" - -# AI Translated -msgid "Hide details" -msgstr "Сховати подробиці" - msgid "Version to install:" msgstr "Версія для встановлення:" @@ -21758,12 +22367,14 @@ msgid "Drying-Dehumidifying" msgstr "Сушіння — осушення" # AI Translated -msgid " maximum drying temperature is " -msgstr " максимальна температура сушіння — " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Максимальна температура сушіння для %s — %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " мінімальна температура сушіння — " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Мінімальна температура сушіння для %s — %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -21908,6 +22519,2495 @@ msgstr "Цей філамент може бути несумісним з пот msgid "The filament model is unknown. A random filament preset will be used." msgstr "Модель філамента невідома. Буде використаний випадковий пресет філамента" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Кінець" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Низ" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Видалити" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Стрілка вліво" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Стрілка вправо" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Стрілка вгору" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Стрілка вниз" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Імпорт геометричних даних із файлів STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Вибрати всі обʼєкти" + +msgid "Paste from clipboard" +msgstr "Вставити з буфера обміну" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Перемкнути можливість друку для обʼєкта/частини" + +msgid "Move selection 10mm in negative X direction" +msgstr "Перемістити виділення на 10 мм у негативному напрямку по осі X" + +msgid "Move selection 10mm in positive X direction" +msgstr "Перемістити виділення на 10 мм у позитивному напрямку X" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Перемістити виділення на 10 мм у позитивному напрямку Y" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Перемістити виділення на 10 мм у негативному напрямку Y" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Рух Gizmo" + +msgid "Gizmo rotate" +msgstr "Поворот Gizmo" + +msgid "Gizmo scale" +msgstr "Шкала Gizmo" + +msgid "Gizmo place face on bed" +msgstr "Покласти грань на стіл Gizmo" + +msgid "Gizmo cut" +msgstr "Виріз Gizmo" + +msgid "Gizmo mesh boolean" +msgstr "Булеві операції Gizmo" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Швид, що фарбується Gizmo FDM" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo Малювання шорсткої поверхні" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Текстове тиснення/гравіювання Gizmo" + +msgid "Gizmo measure" +msgstr "виміряти Gizmo" + +msgid "Gizmo assemble" +msgstr "Зібрати Gizmo" + +msgid "Gizmo brim ears" +msgstr "Краєчки Gizmo" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Вертикальний повзунок - рух активного великого пальця вгору" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Вертикальний повзунок - Перемістити активний палець вниз" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Горизонтальний повзунок - Перемістити активний палець вліво" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Горизонтальний повзунок - Перемістити активний палець праворуч" + +msgid "Horizontal slider - Move to start position" +msgstr "Горизонтальний повзунок - Перемістити в початкове положення" + +msgid "Horizontal slider - Move to last position" +msgstr "Горизонтальний повзунок - Перемістити в останню позицію" + +msgid "Camera view - Default" +msgstr "Вигляд камери - Типовий" + +msgid "Camera view - Top" +msgstr "Вигляд камери - Верх" + +msgid "Camera view - Bottom" +msgstr "Вигляд камери - Низ" + +msgid "Camera view - Front" +msgstr "Вигляд камери - Перед" + +msgid "Camera view - Behind" +msgstr "Вигляд камери - Зад" + +msgid "Camera Angle - Left side" +msgstr "Кут камери – Лівий бік" + +msgid "Camera Angle - Right side" +msgstr "Кут камери - Правий бік" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Приблизити" + +msgid "Zoom out" +msgstr "Віддалити" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Показати/приховати діалог налаштувань пристроїв 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Увімкнення/вимкнення вікна G-коду" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Увімкнення/вимкнення одношарового режиму вертикального повзунка" + +msgid "Switch between Prepare/Preview" +msgstr "Переключення між Підготовка/Попередній перегляд" + +msgid "Collapse/Expand the sidebar" +msgstr "Згорнути/розгорнути бічну панель" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Показати список клавіш" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22213,6 +25313,155 @@ msgstr "" "Уникнення деформації\n" "Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як ABS, відповідне підвищення температури столу може зменшити ймовірність деформації?" +#~ msgid "Tab" +#~ msgstr "Табуляції" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Показує поточний FPS вікна перегляду у верхньому правому куті." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Енциклопедія з публікації 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Відеопосібник з публікації 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Панель інструментів" + +#~ msgid "Switch table page" +#~ msgstr "Перемкнути сторінку таблиці" + +#~ msgid "Global shortcuts" +#~ msgstr "Глобальні ярлики" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Середня кнопка миші" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Автоматично орієнтує вибрані обʼєкти або всі обʼєкти. Якщо вибрано обʼєкти, він просто орієнтує обрані. В іншому випадку він будеОрієнтувати всі обʼєкти на поточному проєкт." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Автоматично орієнтує всі обʼєкти на поточному диску." + +#~ msgid "Any arrow" +#~ msgstr "Будь-яка стрілка" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Точки підтримки Gizmo SL" + +#~ msgid "Plater" +#~ msgstr "Тарілка" + +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Видалення обʼєктів, частин, модифікаторів" + +#~ msgid "Objects List" +#~ msgstr "Список обʼєктів" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-код, що записується на самому початку вихідного файлу, перед будь-яким іншим вмістом. Корисно для додавання метаданих, які прошивка принтера читає з перших рядків файлу (наприклад, орієнтовний час друку, витрата філаменту). Підтримує підстановки на кшталт {print_time_sec} та {used_filament_length}." + +#~ msgid "Print time (seconds)" +#~ msgstr "Час друку (в секундах)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Відкрити панель швидких дій" + +#~ msgid "Left: " +#~ msgstr "Лівий: " + +#~ msgid "Right: " +#~ msgstr "Правий: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Максимальна температура не повинна перевищувати " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Мінімальна температура не повинна бути нижчою ніж " + +#~ msgid "up to" +#~ msgstr "аж до" + +#~ msgid "above" +#~ msgstr "вище" + +#~ msgid "from" +#~ msgstr "від" + +#~ msgid "Configuration package: " +#~ msgstr "Пакет конфігурації: " + +#~ msgid " updated to " +#~ msgstr " оновлено до " + +#~ msgid "Grouping error: " +#~ msgstr "Помилка групування: " + +#~ msgid " can not be placed in the " +#~ msgstr " не можливо помістити у " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " максимальна температура сушіння — " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " мінімальна температура сушіння — " + +# AI Translated +#~ msgid "needs" +#~ msgstr "потребує" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "не увімкнено" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "матеріал не опубліковано" + +#~ msgid "Select the language" +#~ msgstr "Вибрати мову" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Вибрати плагін" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Напрямок, у якому заповнюються верхні поверхні при використанні шаблону з центром (Концентричний, Хорди Архімеда, Спіральна октограма).\n" +#~ "Назовні починає з центру поверхні, тож надлишок матеріалу виштовхується до краю, де він найменш помітний. Усередину починає з краю та завершується щільними кривими в центрі.\n" +#~ "Типово використовується впорядкування за найкоротшим шляхом, яке може йти в будь-якому напрямку." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Напрямок, у якому заповнюються нижні поверхні при використанні шаблону з центром (Концентричний, Хорди Архімеда, Спіральна октограма).\n" +#~ "Усередину починає кожну поверхню з ширших зовнішніх кривих, що покращує зчеплення першого шару на столах, де щільні криві в центрі можуть не прилипати. Назовні починає з центру, виштовхуючи надлишок матеріалу до краю.\n" +#~ "Типово використовується впорядкування за найкоротшим шляхом, яке може йти в будь-якому напрямку." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Якщо увімкнено, вежа витирання не друкується на шарах без змін інструментів. На шарах із зміною інструменту екструдер рухатиметься вниз, щоб надрукувати вежу витирання. Користувач несе відповідальність за те, щоб не було зіткнення з друком." + +#~ msgid "This exports settings to a file." +#~ msgstr "Експортувати налаштування у файл." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Нативний перегляд у Wayland потребує відеоприймача GStreamer GTK. Встановіть плагін gtksink для GStreamer, а потім перезапустіть OrcaSlicer." @@ -22266,9 +25515,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Друк замовлення в один шар" -#~ msgid "Bottom" -#~ msgstr "Низ" - #~ msgid "Front" #~ msgstr "Перед" @@ -22281,9 +25527,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Видалити" - #~ msgid "Backspace" #~ msgstr "Назад" @@ -22299,9 +25542,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Стрілка праворуч" -#~ msgid "End" -#~ msgstr "Кінець" - #~ msgid "Hotend" #~ msgstr "Хотенд" diff --git a/localization/i18n/vi/OrcaSlicer_vi.po b/localization/i18n/vi/OrcaSlicer_vi.po index 8ec3447568..8c6349c923 100644 --- a/localization/i18n/vi/OrcaSlicer_vi.po +++ b/localization/i18n/vi/OrcaSlicer_vi.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2025-10-02 17:43+0700\n" "Last-Translator: \n" "Language-Team: hainguyen.ts13@gmail.com\n" @@ -2568,15 +2568,6 @@ msgstr "Có bản cập nhật khả dụng. Hãy mở hộp thoại gói cài msgid "%s has been removed." msgstr "%s đã bị xóa." -msgid "Switching application language" -msgstr "Đang chuyển ngôn ngữ ứng dụng" - -msgid "Select the language" -msgstr "Chọn ngôn ngữ" - -msgid "Language" -msgstr "Ngôn ngữ" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2614,6 +2605,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Không thể mở hộp thoại Plugin (lỗi không xác định)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal plugin" @@ -3880,12 +3884,14 @@ msgid "Switch track at Filament Track Switch" msgstr "Chuyển đường dẫn tại Filament Track Switch" # AI Translated -msgid "The maximum temperature cannot exceed " -msgstr "Nhiệt độ tối đa không được vượt quá " +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "Nhiệt độ tối đa không được vượt quá %d" # AI Translated -msgid "The minmum temperature should not be less than " -msgstr "Nhiệt độ tối thiểu không được thấp hơn " +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "Nhiệt độ tối thiểu không được thấp hơn %d" # AI Translated msgid "Type to filter..." @@ -4371,6 +4377,21 @@ msgstr "OrcaSlicer khởi đầu với cùng tinh thần đó, kế thừa từ msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Ngày nay, OrcaSlicer là phần mềm slice mã nguồn mở được sử dụng rộng rãi nhất và phát triển tích cực nhất trong cộng đồng in 3D. Nhiều đổi mới của nó đã được các phần mềm slice khác áp dụng, khiến nó trở thành động lực thúc đẩy cả ngành." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Máy in" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Cài đặt vật liệu AMS" @@ -4836,6 +4857,15 @@ msgstr "" "Sao chép G-code tạm thời sang G-code đầu ra thất bại. Có thể thẻ SD bị khóa ghi?\n" "Thông báo lỗi: %1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"Sao chép G-code tạm sang G-code đầu ra thất bại.\n" +"Thông báo lỗi: %1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "Sao chép G-code tạm thời sang G-code đầu ra thất bại. Có thể có vấn đề với thiết bị đích, vui lòng thử xuất lại hoặc dùng thiết bị khác. G-code đầu ra bị hỏng ở %1%.tmp." @@ -5143,6 +5173,10 @@ msgstr "" "Yes - Thay đổi các cài đặt này và bật chế độ spiral tự động\n" "No - Từ bỏ dùng chế độ spiral lần này" +# AI Translated +msgid "N/A" +msgstr "N/A" + msgid "Printing" msgstr "Đang in" @@ -5632,14 +5666,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Giá trị %s nằm ngoài phạm vi. Phạm vi hợp lệ từ %d đến %d." #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"Là %s%% hay %s %s?\n" -"YES cho %s%%, \n" -"NO cho %s %s." +msgid "Is it %s%% or %s %s?" +msgstr "Là %s%% hay %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5661,30 +5692,22 @@ msgstr "Mẫu không hợp lệ. Dùng N, N#K, hoặc danh sách phân cách d msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Định dạng không hợp lệ. Mong đợi định dạng vector: \"%1%\"" -# AI Translated -msgid "N/A" -msgstr "N/A" - # AI Translated msgid "System agents" msgstr "Tác nhân hệ thống" -# AI Translated -msgid "No plugin selected" -msgstr "Chưa chọn plugin" - # AI Translated msgid "Add plugin" msgstr "Thêm plugin" -# AI Translated -msgid "Select plugin" -msgstr "Chọn plugin" - # AI Translated msgid "Remove plugin" msgstr "Xóa plugin" +# AI Translated +msgid "No plugin selected" +msgstr "Chưa chọn plugin" + # AI Translated msgid "Configure" msgstr "Cấu hình" @@ -5966,14 +5989,20 @@ msgstr "Đặt về mức tối ưu" msgid "Regroup filament" msgstr "Nhóm lại filament" -msgid "up to" -msgstr "lên đến" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "lên đến %1% mm" -msgid "above" -msgstr "trên" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "trên %1% mm" -msgid "from" -msgstr "từ" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "từ %1% đến %2% mm" msgid "Usage" msgstr "Sử dụng" @@ -6035,9 +6064,6 @@ msgctxt "Noun" msgid "Print" msgstr "In" -msgid "Printer" -msgstr "Máy in" - msgid "Time Estimation" msgstr "Ước tính thời gian" @@ -6227,12 +6253,15 @@ msgctxt "Camera View" msgid "Right" msgstr "Phải" -msgid "Add" -msgstr "Thêm" - msgid "Add plate" msgstr "Thêm plate" +msgid "Split to objects" +msgstr "Tách thành vật thể" + +msgid "Add" +msgstr "Thêm" + msgid "Auto orient all/selected objects" msgstr "Tự động định hướng tất cả/các vật thể đã chọn" @@ -6245,9 +6274,6 @@ msgstr "Sắp xếp tất cả vật thể" msgid "Arrange objects on selected plates" msgstr "Sắp xếp vật thể trên các plate đã chọn" -msgid "Split to objects" -msgstr "Tách thành vật thể" - msgid "Assembly View" msgstr "Chế độ xem lắp ráp" @@ -6310,6 +6336,9 @@ msgstr "Đường viền" msgid "Wireframe" msgstr "Khung dây" +msgid "X-Ray" +msgstr "" + # AI Translated msgid "Realistic View" msgstr "Chế độ xem thực tế" @@ -6541,6 +6570,9 @@ msgstr "Đang đóng ứng dụng trong khi một số preset được sửa đ msgid "Logging" msgstr "Ghi nhật ký" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Chuẩn bị" @@ -6689,6 +6721,14 @@ msgstr "Lưu dự án thành" msgid "Save current project as" msgstr "Lưu dự án hiện tại thành" +# AI Translated +msgid "Publish 3MF" +msgstr "Xuất bản 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "Xuất một tệp 3MF có nhúng các cài đặt đã chọn" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "Nhập 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6875,6 +6915,9 @@ msgstr "Chỉnh sửa" msgid "View" msgstr "Xem" +msgid "Open Speed Dial" +msgstr "" + # AI Translated msgid "Preset Bundle" msgstr "Gói cài đặt sẵn" @@ -7857,6 +7900,234 @@ msgstr "Không hiển thị hộp thoại này nữa" msgid "Please refer to Wiki before use->" msgstr "Vui lòng tham khảo Wiki trước khi dùng->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Xuất STL" + +msgid "Export 3MF" +msgstr "Xuất 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Hiệu chỉnh tốc độ thể tích tối đa" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Hiệu chỉnh tỷ lệ lưu lượng" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Xóa tất cả vật thể" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Tách thành các vật thể" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Chuột 3D đã ngắt kết nối." @@ -8016,6 +8287,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "Dưới" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "Cài đặt này không chỉ định loại năng lực plugin." + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "Cài đặt này chỉ định một loại năng lực plugin không nhận dạng được: " + # AI Translated msgid "Plugin Selection" msgstr "Chọn plugin" @@ -8544,10 +8823,6 @@ msgstr "Mở rộng thanh bên" msgid "Collapse sidebar" msgstr "Thu gọn thanh bên" -# AI Translated -msgid "Tab" -msgstr "Tab" - #, c-format, boost-format msgid "Loading file: %s" msgstr "Đang tải file: %s" @@ -8629,6 +8904,14 @@ msgstr "Vui lòng xác nhận G-code trong các preset này an toàn để ngăn msgid "Customized Preset" msgstr "Preset tùy chỉnh" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "Không thể áp dụng một số cài đặt đã xuất bản:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "Một số khe filament đã bị thay đổi:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "Tên của các thành phần bên trong file STEP không phải định dạng UTF-8!" @@ -8751,10 +9034,6 @@ msgstr "" msgid "Delete Object" msgstr "Xóa vật thể" -# AI Translated -msgid "Delete All Objects" -msgstr "Xóa tất cả vật thể" - # AI Translated msgid "Reset Project" msgstr "Đặt lại dự án" @@ -8762,10 +9041,6 @@ msgstr "Đặt lại dự án" msgid "The selected object couldn't be split." msgstr "Đối tượng đã chọn không thể được tách." -# AI Translated -msgid "Split to Objects" -msgstr "Tách thành các vật thể" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Tắt Tự động thả để giữ nguyên vị trí Z?\n" @@ -9056,6 +9331,21 @@ msgstr "Lưu file đã slice dưới dạng:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "File %s đã được gửi đến không gian lưu trữ của máy in và có thể được xem trên máy in." +# AI Translated +msgid "Publish 3MF file as:" +msgstr "Xuất bản tệp 3MF thành:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"Xuất tệp 3MF đã xuất bản thất bại.\n" +"Vui lòng kiểm tra xem thư mục có tồn tại trực tuyến không, hoặc có chương trình khác đang mở tệp này không." + +msgid "Publish" +msgstr "Xuất bản" + # AI Translated msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "Chưa đặt loại đầu phun. Vui lòng đặt đầu phun rồi thử lại." @@ -9286,9 +9576,6 @@ msgstr "Bạn có muốn tiếp tục?" msgid "Language selection" msgstr "Chọn ngôn ngữ" -msgid "Switching application language while some presets are modified." -msgstr "Đang chuyển đổi ngôn ngữ ứng dụng trong khi một số preset đã được chỉnh sửa." - msgid "Asia-Pacific" msgstr "Châu Á-Thái Bình Dương" @@ -9404,6 +9691,9 @@ msgstr "Đường dẫn phiên bản hiện tại: " msgid "General" msgstr "Chung" +msgid "Language" +msgstr "Ngôn ngữ" + msgid "Metric" msgstr "Hệ mét" @@ -9632,6 +9922,33 @@ msgstr "Quản lý nhiều thiết bị" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Với tùy chọn này được bật, bạn có thể gửi tác vụ đến nhiều thiết bị cùng lúc và quản lý nhiều thiết bị." +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Hiện cửa sổ để chọn chế độ nhóm filament" @@ -9722,6 +10039,12 @@ msgstr "Đảo ngược thu phóng chuột" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Nếu được bật, đảo ngược hướng thu phóng bằng con lăn chuột." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Di chuyển khung nhìn" @@ -9750,6 +10073,15 @@ msgstr "Kéo chuột phải" msgid "Set the action that dragging the right mouse button should perform." msgstr "Đặt hành động sẽ thực hiện khi kéo nút chuột phải." +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + # AI Translated msgid "Clear my choice on..." msgstr "Xóa lựa chọn của tôi về..." @@ -9879,13 +10211,40 @@ msgstr "" "Giới hạn tốc độ khung hình của khung nhìn để giảm tải GPU và mức tiêu thụ điện.\n" "Đặt 0 để không giới hạn tốc độ khung hình." +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + # AI Translated msgid "Show FPS overlay" msgstr "Hiện lớp phủ FPS" -# AI Translated -msgid "Displays current viewport FPS in the top-right corner." -msgstr "Hiển thị FPS hiện tại của khung nhìn ở góc trên bên phải." +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9903,9 +10262,6 @@ msgstr "Khi kéo thanh trượt lớp trong bản xem trước đã slice, kết msgid "Dimmed layer brightness" msgstr "Độ sáng của lớp bị làm mờ" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -10326,9 +10682,6 @@ msgstr "Chuyển đến trang web xuất bản model" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "Lưu ý: Chuẩn bị có thể mất vài phút. Vui lòng kiên nhẫn." -msgid "Publish" -msgstr "Xuất bản" - msgid "Publish was canceled" msgstr "Xuất bản đã bị hủy" @@ -10345,6 +10698,76 @@ msgstr "Đang tải dữ liệu lên" msgid "Jump to webpage" msgstr "Chuyển đến trang web" +# AI Translated +msgid "Material" +msgstr "Vật liệu" + +# AI Translated +msgid "Mixed filament" +msgstr "Filament pha trộn" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "Một số filament pha trộn phụ thuộc vào các filament sẽ không được xuất bản:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "Filament %d (pha trộn)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% cần %2%, nhưng filament này chưa được bật." + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% cần %2%, nhưng vật liệu của nó sẽ không được xuất bản." + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "Để xuất bản một filament pha trộn, hãy bật mọi filament mà nó sử dụng rồi chọn Xuất bản đầy đủ, hoặc đáp ứng yêu cầu Loại của nó." + +# AI Translated +msgid "Publish anyway" +msgstr "Vẫn xuất bản" + +# AI Translated +msgid "Publish 3MF..." +msgstr "Xuất bản 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "Chọn những cài đặt sẽ được xuất bản trong tệp 3MF" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "Filament pha trộn - được xuất bản trọn bộ khi chọn \"Bật\" ở trên" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "Xuất bản filament pha trộn này và bật + xuất bản đầy đủ các filament thành phần của nó" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "Xuất bản khe filament này trong tệp 3MF" + +# AI Translated +msgid "Full Publish" +msgstr "Xuất bản đầy đủ" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "Nhúng toàn bộ filament của khe này vào tệp 3MF" + +# AI Translated +msgid "Filter non-selected" +msgstr "Lọc mục chưa chọn" + #, c-format, boost-format msgid "Save %s as" msgstr "Lưu %s dưới dạng" @@ -10363,6 +10786,10 @@ msgstr "Sao chép tất cả các giá trị kế thừa từ preset cha vào pr msgid "Detach from parent" msgstr "Tách khỏi vật thể cha" +# AI Translated +msgid "Save without parent" +msgstr "Lưu không kèm vật thể cha" + # AI Translated msgid "Unique preset" msgstr "Preset độc lập" @@ -10422,6 +10849,134 @@ msgstr "Cho \"%1%\", thêm \"%2%\" như một preset mới" msgid "Simply switch to \"%1%\"" msgstr "Đơn giản chuyển sang \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Khác" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +# AI Translated +msgid "Show details" +msgstr "Hiện chi tiết" + +# AI Translated +msgid "Hide details" +msgstr "Ẩn chi tiết" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tác vụ đã hủy" @@ -11125,9 +11680,17 @@ msgstr "Prime tower là bắt buộc để phát hiện vón cục. Nếu không msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "Bật cả chiều cao Z chính xác và tháp mồi có thể gây ra lỗi cắt lớp. Bạn vẫn muốn bật chiều cao Z chính xác?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "Timelapse mượt cần prime tower ở mọi lớp, điều này không tương thích với \"Không có lớp thưa\". \"Không có lớp thưa\" đã được tắt." + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "Cần có prime tower để timelapse mượt. Có thể có khuyết điểm trên model nếu không có prime tower. Bạn có muốn bật prime tower?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "\"Không có lớp thưa\" không tương thích với timelapse mượt, vốn cần prime tower ở mọi lớp. Timelapse đã chuyển sang chế độ truyền thống." + msgid "Still print by object?" msgstr "Vẫn in theo đối tượng?" @@ -11501,10 +12064,6 @@ msgstr "Hồ sơ quy trình tương thích" msgid "Printable space" msgstr "Không gian in" -# AI Translated -msgid "Printer Agent" -msgstr "Tác nhân máy in" - # AI Translated msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "Chọn cách triển khai tác nhân mạng cho việc giao tiếp với máy in. Các tác nhân khả dụng được đăng ký khi khởi động." @@ -11928,14 +12487,6 @@ msgstr "Số lượng đầu đùn" msgid "Capabilities" msgstr "Khả năng" -# AI Translated -msgid "Left: " -msgstr "Trái: " - -# AI Translated -msgid "Right: " -msgstr "Phải: " - msgid "Show all presets (including incompatible)" msgstr "Hiển thị tất cả preset (bao gồm cả không tương thích)" @@ -12373,30 +12924,6 @@ msgstr "Gói cấu hình đã được thay đổi trong hướng dẫn cấu h msgid "Configuration package changed" msgstr "Gói cấu hình đã thay đổi" -msgid "Toolbar" -msgstr "Thanh công cụ" - -msgid "Objects list" -msgstr "Danh sách đối tượng" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "Nhập dữ liệu hình học từ file STL/STEP/3MF/OBJ/AMF" - -msgid "Paste from clipboard" -msgstr "Dán từ clipboard" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "Hiển thị/Ẩn hộp thoại cài đặt thiết bị 3Dconnexion" - -msgid "Switch table page" -msgstr "Chuyển trang bảng" - -msgid "Show keyboard shortcuts list" -msgstr "Hiển thị danh sách phím tắt" - -msgid "Global shortcuts" -msgstr "Phím tắt toàn cục" - # AI Translated msgid "Pan View" msgstr "Di chuyển khung nhìn" @@ -12405,28 +12932,33 @@ msgstr "Di chuyển khung nhìn" msgid "Rotate View" msgstr "Xoay khung nhìn" -# AI Translated -msgid "Middle mouse button" -msgstr "Nút chuột giữa" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" + +msgid "Left mouse" +msgstr "" + +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" + +msgid "Run a speed dial favorite while the dial is open" +msgstr "" # AI Translated -msgid "Zoom View" -msgstr "Thu phóng khung nhìn" +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "Tự động định hướng đối tượng đã chọn hoặc tất cả đối tượng. Nếu có đối tượng đã chọn, nó chỉ định hướng những đối tượng đã chọn. Nếu không, nó sẽ định hướng tất cả đối tượng trong dự án hiện tại." +msgid "Switch to the next main tab" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "Tự động định hướng tất cả đối tượng trên bản đang hoạt động." - -msgid "Collapse/Expand the sidebar" -msgstr "Thu gọn/Mở rộng thanh bên" - -msgid "Any arrow" -msgstr "Phím mũi tên bất kỳ" - -msgid "Movement in camera space" -msgstr "Di chuyển trong không gian camera" +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "Chọn một phần" @@ -12437,137 +12969,30 @@ msgstr "Chọn nhiều đối tượng" msgid "Select objects by rectangle" msgstr "Chọn đối tượng bằng hình chữ nhật" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Mũi tên lên" - -msgid "Move selection 10mm in positive Y direction" -msgstr "Di chuyển lựa chọn 10 mm theo hướng Y dương" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Mũi tên xuống" - -msgid "Move selection 10mm in negative Y direction" -msgstr "Di chuyển lựa chọn 10 mm theo hướng Y âm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Mũi tên trái" - -msgid "Move selection 10mm in negative X direction" -msgstr "Di chuyển lựa chọn 10 mm theo hướng X âm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Mũi tên phải" - -msgid "Move selection 10mm in positive X direction" -msgstr "Di chuyển lựa chọn 10 mm theo hướng X dương" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "bàn phím 1-9: đặt filament cho đối tượng/phần" msgid "Movement step set to 1mm" msgstr "Bước di chuyển được đặt thành 1 mm" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "bàn phím 1-9: đặt filament cho đối tượng/phần" +msgid "Movement in camera space" +msgstr "Di chuyển trong không gian camera" -msgid "Camera view - Default" -msgstr "Chế độ xem camera - Mặc định" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "Chế độ xem camera - Trên" - -msgid "Camera view - Bottom" -msgstr "Chế độ xem camera - Dưới" - -msgid "Camera view - Front" -msgstr "Chế độ xem camera - Trước" - -msgid "Camera view - Behind" -msgstr "Chế độ xem camera - Sau" - -msgid "Camera Angle - Left side" -msgstr "Góc camera - Bên trái" - -msgid "Camera Angle - Right side" -msgstr "Góc camera - Bên phải" - -msgid "Select all objects" -msgstr "Chọn tất cả đối tượng" - -msgid "Gizmo move" -msgstr "Gizmo di chuyển" - -msgid "Gizmo rotate" -msgstr "Gizmo xoay" - -msgid "Gizmo scale" -msgstr "Gizmo tỷ lệ" - -msgid "Gizmo place face on bed" -msgstr "Gizmo đặt mặt lên bàn" - -msgid "Gizmo cut" -msgstr "Gizmo cắt" +msgid "Right mouse" +msgstr "" # AI Translated -msgid "Gizmo mesh boolean" -msgstr "Gizmo boolean lưới" +msgid "Zoom View" +msgstr "Thu phóng khung nhìn" -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM tô fuzzy skin" +msgid "Painting" +msgstr "" -msgid "Gizmo SLA support points" -msgstr "Gizmo điểm support SLA" - -msgid "Gizmo FDM paint-on seam" -msgstr "Gizmo FDM tô seam" - -msgid "Gizmo text emboss/engrave" -msgstr "Gizmo văn bản emboss/khắc" - -msgid "Gizmo measure" -msgstr "Gizmo đo" - -msgid "Gizmo assemble" -msgstr "Gizmo lắp ráp" - -msgid "Gizmo brim ears" -msgstr "Gizmo tai viền" - -msgid "Zoom in" -msgstr "Phóng to" - -msgid "Zoom out" -msgstr "Thu nhỏ" - -# AI Translated -msgid "Toggle printable for object/part" -msgstr "Bật/tắt khả năng in cho vật thể/phần" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "Chuyển đổi giữa Chuẩn bị/Xem trước" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Mở vòng quay thao tác nhanh" - -msgid "Plater" -msgstr "Bàn in" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "Di chuyển: nhấn để bám theo 1mm" @@ -12578,15 +13003,19 @@ msgstr "Tô support/màu: điều chỉnh bán kính bút" msgid "Support/Color Painting: adjust section position" msgstr "Tô support/màu: điều chỉnh vị trí phần" -# AI Translated -msgid "Gizmo" -msgstr "Gizmo" +msgid "Objects list" +msgstr "Danh sách đối tượng" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "Đặt số extruder cho đối tượng và phần" -msgid "Delete objects, parts, modifiers" -msgstr "Xóa đối tượng, phần, modifier" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "Chọn đối tượng/phần và nhấn phím cách để thay đổi tên" @@ -12597,45 +13026,48 @@ msgstr "Nhấp chuột" msgid "Select the object/part and mouse click to change the name" msgstr "Chọn đối tượng/phần và nhấp chuột để thay đổi tên" -msgid "Objects List" -msgstr "Danh sách đối tượng" - -msgid "Vertical slider - Move active thumb Up" -msgstr "Thanh trượt dọc - Di chuyển nút hoạt động lên" - -msgid "Vertical slider - Move active thumb Down" -msgstr "Thanh trượt dọc - Di chuyển nút hoạt động xuống" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "Thanh trượt ngang - Di chuyển nút hoạt động sang trái" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "Thanh trượt ngang - Di chuyển nút hoạt động sang phải" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "Bật/Tắt chế độ một lớp của thanh trượt dọc" - -msgid "On/Off G-code window" -msgstr "Bật/Tắt cửa sổ G-code" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "Di chuyển thanh trượt nhanh hơn 5 lần" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "Thanh trượt ngang - Di chuyển đến vị trí bắt đầu" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "Thanh trượt ngang - Di chuyển đến vị trí cuối cùng" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "Ghi chú phát hành" @@ -12851,15 +13283,22 @@ msgstr "Sửa chữa đã hủy" msgid "Copying of file %1% to %2% failed: %3%" msgstr "Sao chép file %1% sang %2% thất bại: %3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "Đang tải xuống hồ sơ nhà cung cấp mới: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "Gói cấu hình: %1% đã cập nhật lên %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "Tải xuống hồ sơ nhà cung cấp thất bại: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "Cần kiểm tra các thay đổi chưa lưu trước khi cập nhật cấu hình." -msgid "Configuration package: " -msgstr "Gói cấu hình: " - -msgid " updated to " -msgstr " đã cập nhật lên " - msgid "Open G-code file:" msgstr "Mở file G-code:" @@ -12926,12 +13365,14 @@ msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "Input shaping chỉ được Klipper, RepRapFirmware và Marlin 2 hỗ trợ." # AI Translated -msgid "Grouping error: " -msgstr "Lỗi nhóm: " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "Lỗi nhóm: %1% không thể đặt vào đầu phun trái" # AI Translated -msgid " can not be placed in the " -msgstr " không thể được đặt vào " +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "Lỗi nhóm: %1% không thể đặt vào đầu phun phải" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -13046,6 +13487,10 @@ msgstr "%1% quá gần các đối tượng khác, và có thể gây va chạm. msgid "%1% is too tall, and collisions will be caused." msgstr "%1% quá cao, và sẽ gây va chạm." +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "Vị trí tương đối giữa mô hình và prime tower không đáp ứng yêu cầu của tính năng \"Không có lớp thưa\". Vui lòng điều chỉnh vị trí tương đối của chúng, hạ chiều cao mô hình, hoặc tắt \"Không có lớp thưa\"." + msgid " is too close to exclusion area, there may be collisions when printing." msgstr " quá gần vùng loại trừ, có thể có va chạm khi in." @@ -13420,6 +13865,10 @@ msgstr "Dùng 3MF thay cho G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "Bật tùy chọn này nếu máy in nhận file 3MF làm tác vụ in. Khi bật, Orca Slicer sẽ gửi file đã slice dưới dạng .gcode.3mf thay vì file .gcode thuần." +# AI Translated +msgid "Printer Agent" +msgstr "Tác nhân máy in" + # AI Translated msgid "Select the network agent implementation for printer communication." msgstr "Chọn cách triển khai tác nhân mạng cho việc giao tiếp với máy in." @@ -14511,6 +14960,10 @@ msgstr "Thẳng hàng căn chỉnh" msgid "Concentric" msgstr "Đồng tâm" +# AI Translated +msgid "Spiral Inset" +msgstr "Xoắn ốc thụt vào" + msgid "Hilbert Curve" msgstr "Đường cong Hilbert" @@ -14602,13 +15055,13 @@ msgstr "Thứ tự lấp bề mặt trên" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Hướng lấp các bề mặt trên khi dùng mẫu dựa trên tâm (Đồng tâm, Dây cung Archimedes, Xoắn ốc bát giác).\n" -"Ra ngoài bắt đầu từ tâm bề mặt, nhờ đó vật liệu dư bị đẩy về phía mép nơi ít nhìn thấy nhất. Vào trong bắt đầu từ mép và kết thúc bằng các đường cong hẹp ở tâm.\n" -"Mặc định dùng thứ tự đường đi ngắn nhất, có thể chạy theo hướng bất kỳ." +"Hướng lấp đầy các bề mặt trên khi dùng mẫu xuất phát từ tâm (Đồng tâm, Xoắn ốc thụt vào, Dây cung Archimedes, Xoắn ốc bát giác).\n" +"Ra ngoài bắt đầu từ tâm bề mặt, nên vật liệu dư bị đẩy về phía mép, nơi ít lộ nhất. Vào trong bắt đầu từ mép và kết thúc bằng những đường cong hẹp ở tâm.\n" +"Mặc định dùng thứ tự theo đường đi ngắn nhất, có thể chạy theo hướng nào cũng được." # AI Translated msgid "Bottom surface fill order" @@ -14616,13 +15069,13 @@ msgstr "Thứ tự lấp bề mặt dưới" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"Hướng lấp các bề mặt dưới khi dùng mẫu dựa trên tâm (Đồng tâm, Dây cung Archimedes, Xoắn ốc bát giác).\n" -"Vào trong bắt đầu mỗi bề mặt bằng các đường cong ngoài rộng hơn, giúp cải thiện độ bám lớp đầu tiên trên những bàn in mà các đường cong hẹp ở tâm có thể không dính. Ra ngoài bắt đầu từ tâm, đẩy vật liệu dư về phía mép.\n" -"Mặc định dùng thứ tự đường đi ngắn nhất, có thể chạy theo hướng bất kỳ." +"Hướng lấp đầy các bề mặt dưới khi dùng mẫu xuất phát từ tâm (Đồng tâm, Xoắn ốc thụt vào, Dây cung Archimedes, Xoắn ốc bát giác).\n" +"Vào trong bắt đầu mỗi bề mặt bằng những đường cong ngoài rộng hơn, giúp lớp đầu tiên bám tốt hơn trên các bàn in mà những đường cong hẹp ở tâm có thể không dính. Ra ngoài bắt đầu từ tâm, đẩy vật liệu dư về phía mép.\n" +"Mặc định dùng thứ tự theo đường đi ngắn nhất, có thể chạy theo hướng nào cũng được." msgid "Internal solid infill pattern" msgstr "Mẫu infill đặc bên trong" @@ -14726,6 +15179,14 @@ msgstr "Ngược chiều kim đồng hồ" msgid "Clockwise" msgstr "Cùng chiều kim đồng hồ" +# AI Translated +msgid "Distance to rod" +msgstr "Khoảng cách tới thanh" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "Khoảng cách ngang từ mũi đầu phun tới mép xa hơn của thanh. Dùng để tránh va chạm khi in theo đối tượng." + msgid "Height to rod" msgstr "Chiều cao đến thanh" @@ -17000,6 +17461,20 @@ msgstr "Phát hiện thành nhô" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "Phát hiện phần trăm nhô tương đối với độ rộng đường và sử dụng tốc độ khác nhau để in. Đối với phần nhô 100%%, tốc độ cầu được sử dụng." +# AI Translated +msgid "Print unsupported walls last" +msgstr "In các thành không được đỡ sau cùng" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"Các vòng wall nằm hoàn toàn lơ lửng trên không chỉ được in khi đã có thứ gì đó giữ được chúng:\n" +"chúng được đùn sau các thành khác trong cùng đảo, bắt đầu từ vòng trong cùng, bất kể thứ tự thành là gì.\n" +"Một vòng mà chỉ các cầu của lớp này mới neo được sẽ đợi cho tới khi các cầu đó được in, trong khi một vòng chạy dọc theo một thành có điểm tựa vẫn giữ vị trí của nó trước infill, vốn cần nó làm điểm neo." + # AI Translated msgid "Outer walls" msgstr "Thành ngoài" @@ -17449,6 +17924,39 @@ msgstr "Lau trên vòng" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "Để giảm thiểu khả năng nhìn thấy đường nối trong đùn vòng kín, một chuyển động vào trong nhỏ được thực hiện trước khi extruder rời khỏi vòng." +# AI Translated +msgid "Wipe inward" +msgstr "Lau vào trong" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"Chỉ áp dụng cho các thành ngoài, kể cả biên của lỗ. Trong lúc lau, đầu phun nóng được đưa về phía các thành trong đã in để giảm việc nung lại phần nhựa vừa in và giảm vết đường nối.\n" +"\n" +"Đặc biệt hữu ích ở chiều cao lớp dưới 0,1 mm, nơi vết lau dễ thấy hơn.\n" +"\n" +"Dùng cách lau thông thường nếu chưa có thành trong liền kề nào được in (vùng chỉ có một thành hoặc thứ tự thành Ngoài/Trong), hoặc nếu không tìm được đường đi vào trong có điểm tựa, ví dụ ở các góc hẹp hay khe hở đường nối." + +# AI Translated +msgid "Wipe inward distance" +msgstr "Khoảng cách lau vào trong" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"Khoảng cách mà đường lau được dịch ra xa khỏi chu vi ngoài, tính bằng milimét hoặc theo phần trăm độ rộng đùn thực tế của thành ngoài.\n" +"\n" +"Ví dụ, 50% dịch đường đi một nửa độ rộng thành ngoài. Độ dịch thực tế bị giới hạn bởi cả độ rộng thật của thành ngoài lẫn khoảng trống còn lại tới thành liền kề, nên các giá trị trên 100% hoặc khoảng cách tuyệt đối tương đương sẽ không có thêm tác dụng. Đặt 0 để tắt việc dịch chuyển." + msgid "Wipe before external loop" msgstr "Lau trước vòng ngoài" @@ -17652,9 +18160,8 @@ msgstr "Bước làm nóng trước" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "Chèn nhiều lệnh làm nóng trước (ví dụ M104.1). Chỉ hữu ích cho Prusa XL. Đối với các máy in khác, vui lòng đặt nó thành 1." -# AI Translated -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code được ghi ở ngay đầu file xuất, trước mọi nội dung khác. Hữu ích để thêm siêu dữ liệu mà firmware máy in đọc từ những dòng đầu tiên của file (ví dụ thời gian in ước tính, lượng filament sử dụng). Hỗ trợ các trình giữ chỗ như {print_time_sec} và {used_filament_length}." +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "G-code bắt đầu" @@ -17718,8 +18225,9 @@ msgstr "Lấy công cụ mới mà không chờ nó đạt nhiệt độ in, di msgid "No sparse layers (beta)" msgstr "Không có lớp thưa (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Nếu được bật, wipe tower sẽ không được in trên các lớp không có thay đổi công cụ. Trên các lớp có thay đổi công cụ, extruder sẽ di chuyển xuống để in wipe tower. Người dùng chịu trách nhiệm đảm bảo không có va chạm với bản in." +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "Nếu bật, wipe tower sẽ không được in ở những lớp không có đổi công cụ. Ở những lớp có đổi công cụ, extruder sẽ đi xuống để in wipe tower, nên tháp nằm thấp hơn mô hình và đầu công cụ phải với xuống tới đó. Những bố trí khiến điều này va chạm với một vật thể đã in sẽ bị từ chối. Không có tác dụng với timelapse mượt hoặc phát hiện đóng cục ở đầu phun, vì chúng cần có tháp ở mọi lớp." msgid "Prime all printing extruders" msgstr "Nạp tất cả extruder in" @@ -17745,6 +18253,34 @@ msgstr "" msgid "Cyclic" msgstr "Tuần hoàn" +# AI Translated +msgid "Cyclic order" +msgstr "Thứ tự vòng lặp" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"Trình tự filament tùy chỉnh mà thứ tự đổi công cụ theo vòng lặp sử dụng, viết dưới dạng các số filament ngăn cách bằng dấu phẩy (ví dụ \"3,2,1,4\").\n" +"Mỗi lớp in các filament của nó theo trình tự này; các filament không được liệt kê sẽ in sau cùng, theo thứ tự tăng dần.\n" +"Để trống để luân phiên các filament theo thứ tự tăng dần." + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "Áp dụng thứ tự vòng lặp cho lớp đầu tiên" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"Áp dụng thứ tự đổi công cụ theo vòng lặp cho cả lớp đầu tiên.\n" +"Mặc định tùy chọn này tắt, vì lớp đầu tiên được sắp xếp theo hướng bám dính đế tốt nhất: những filament in các chi tiết nhỏ, mỏng manh của lớp đầu tiên sẽ được in sau cùng, nhờ đó các lần đổi công cụ và di chuyển tiếp theo ít có khả năng làm bong những phần bám yếu đó. Thứ tự lớp đầu tiên này cũng tôn trọng trình tự filament tùy chỉnh cho lớp đầu tiên nếu có thiết lập. Lợi ích của thứ tự vòng lặp (thêm lần đổi công cụ giúp mỗi lớp có nhiều thời gian nguội hơn) không áp dụng cho lớp đầu tiên, vốn được in chậm và nóng để bám dính.\n" +"Chỉ bật tùy chọn này nếu bạn cần đúng cùng một trình tự công cụ ở mọi lớp, kể cả lớp đầu, đánh đổi bằng việc mất tối ưu bám dính nói trên." + msgid "Slice gap closing radius" msgstr "Bán kính đóng khe slice" @@ -17754,9 +18290,6 @@ msgstr "Vết nứt nhỏ hơn 2x bán kính đóng khe được lấp trong sli msgid "Slicing Mode" msgstr "Chế độ slice" -msgid "Other" -msgstr "Khác" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "Sử dụng \"Chẵn-lẻ\" cho model máy bay 3DLabPrint. Sử dụng \"Đóng lỗ\" để đóng tất cả các lỗ trong model." @@ -18717,9 +19250,6 @@ msgstr "độ rộng đường quá lớn " msgid " not in range " msgstr " không trong phạm vi " -msgid "Export 3MF" -msgstr "Xuất 3MF" - msgid "This exports the project as a 3MF file." msgstr "Xuất dự án dưới dạng 3MF." @@ -18735,9 +19265,6 @@ msgstr "Nạp dữ liệu slice" msgid "Load cached slicing data from directory." msgstr "Nạp dữ liệu slice đã lưu từ thư mục." -msgid "Export STL" -msgstr "Xuất STL" - msgid "Export the objects as single STL." msgstr "Xuất các đối tượng dưới dạng STL đơn." @@ -18789,6 +19316,14 @@ msgstr "Không kiểm tra" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "Không chạy bất kỳ kiểm tra tính hợp lệ nào, chẳng hạn như kiểm tra xung đột đường dẫn G-code." +# AI Translated +msgid "Strict mode" +msgstr "Chế độ nghiêm ngặt" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "Thoát với mã khác 0 khi việc slice phát sinh một cảnh báo không nghiêm trọng mà bình thường chỉ được ghi log, chẳng hạn mô hình cần support trong khi support đang tắt. Hãy dùng trong CI hoặc các quy trình chạy bằng script vốn không bao giờ được xuất ra kết quả slice hỏng một cách khó nhận ra. Mỗi cảnh báo như vậy cũng được liệt kê kèm một lớp ổn định trong mảng `warnings` của result.json, tệp chỉ được ghi trên Linux. Không thể kết hợp với --no-check, tùy chọn bỏ qua việc kiểm tra support." + msgid "Normative check" msgstr "Kiểm tra quy chuẩn" @@ -18801,11 +19336,28 @@ msgstr "Xuất thông tin model" msgid "This outputs the model’s information." msgstr "Xuất thông tin của model." +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "Kiểm tra lưới (JSON ra stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "In ra stdout bản tóm tắt JSON của từng vật thể đã nạp rồi thoát: các hộp bao của nó và các mặt bao lồi mà nó có thể nằm lên, kèm pháp tuyến, diện tích và tâm của chúng. Đây chính là những mặt mà các tùy chọn --ground-* lựa chọn. Lựa chọn thay thế đọc được bằng máy cho --info." + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "Kiểm tra phần vẽ (JSON ra stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "In bản tóm tắt JSON có cấu trúc của mọi lớp đã vẽ (support, đường nối, màu MMU, fuzzy skin) đang được lưu trên mô hình đã nạp — số mặt, diện tích bề mặt và hộp bao theo tọa độ lưới cho từng trạng thái — rồi thoát. Lựa chọn thay thế đọc được bằng máy cho việc mở các gizmo vẽ trong giao diện." + msgid "Export Settings" msgstr "Xuất cài đặt" -msgid "This exports settings to a file." -msgstr "Xuất cài đặt vào file." +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "Lệnh này xuất cài đặt ra một tệp. Dùng - để ghi chúng ra stdout." msgid "Send progress to pipe" msgstr "Gửi tiến trình đến pipe" @@ -18861,6 +19413,30 @@ msgstr "Xoay xung quanh Y" msgid "Rotation angle around the Y axis in degrees." msgstr "Góc xoay xung quanh trục Y tính bằng độ." +# AI Translated +msgid "Ground largest face" +msgstr "Đặt lên mặt lớn nhất" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Đặt mỗi vật thể lên mặt lớn nhất của bao lồi rồi thả xuống bàn in. Trong số các mặt lớn bằng nhau, mặt đang hướng xuống sẽ được giữ lại. Những vật thể không có mặt đủ lớn để nằm lên sẽ được giữ nguyên. Các phép biến đổi chạy theo thứ tự trên dòng lệnh, nên các phép xoay đặt trước tùy chọn này vẫn được tôn trọng. --orient 1 chạy sau tất cả các phép biến đổi và thay thế hướng đặt." + +# AI Translated +msgid "Ground face by normal" +msgstr "Đặt lên mặt theo pháp tuyến" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Đặt mỗi vật thể lên mặt của bao lồi có pháp tuyến hướng ra ngoài gần nhất với hướng NX,NY,NZ rồi thả xuống bàn in. Hướng này tính theo tọa độ vật thể, vốn đã bao gồm các phép xoay đặt trước tùy chọn này và trùng với các trục của bàn in trừ khi tệp đầu vào có xoay vật thể. Ví dụ, 1,0,0 dựng vật thể lên mặt +X của nó. --orient 1 chạy sau tất cả các phép biến đổi và thay thế hướng đặt." + +# AI Translated +msgid "Ground face at point" +msgstr "Đặt lên mặt tại điểm" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "Đặt mỗi vật thể lên mặt của bao lồi có chứa điểm X,Y,Z rồi thả xuống bàn in. Điểm này tính theo tọa độ vật thể, vốn đã bao gồm các phép xoay đặt trước tùy chọn này; --inspect-mesh báo tâm các mặt theo đúng hệ tọa độ đó. Những vật thể không có mặt như vậy sẽ được giữ nguyên, và lần chạy sẽ thất bại nếu không vật thể nào có mặt đó. --orient 1 chạy sau tất cả các phép biến đổi và thay thế hướng đặt." + msgid "Scale the model by a float factor." msgstr "Tỷ lệ model theo hệ số số thực." @@ -19172,14 +19748,37 @@ msgstr "Filament đã dùng" msgid "Total length of filament used in the print." msgstr "Tổng độ dài filament dùng trong bản in." -# AI Translated -msgid "Print time (seconds)" -msgstr "Thời gian in (giây)" +msgid "Print time (total seconds)" +msgstr "" # AI Translated msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "Tổng thời gian in ước tính tính bằng giây. Được thay bằng giá trị thực tế trong quá trình hậu xử lý." +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + # AI Translated msgid "Filament length (meters)" msgstr "Độ dài filament (mét)" @@ -19413,9 +20012,6 @@ msgstr "File chứa chỉ số đỉnh không hợp lệ." msgid "This OBJ file couldn't be read because it's empty." msgstr "File OBJ này không thể đọc được vì nó trống." -msgid "Max Volumetric Speed Calibration" -msgstr "Hiệu chỉnh tốc độ thể tích tối đa" - msgid "Manage Result" msgstr "Quản lý kết quả" @@ -20299,10 +20895,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "LƯU Ý: Giá trị cao có thể gây dịch lớp (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Hiệu chỉnh tỷ lệ lưu lượng" - # AI Translated msgid "Calibration Test Type" msgstr "Loại bài kiểm tra hiệu chỉnh" @@ -21105,6 +21697,9 @@ msgstr "Không phát hiện phiên hợp lệ. Tiếp tục đăng nhập vào 3 msgid "Success!" msgstr "Thành công!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "Bạn có chắc chắn đăng xuất không?" @@ -22165,6 +22760,18 @@ msgstr "Thao tác này không thể hoàn tác. Tiếp tục?" msgid "Skipping objects." msgstr "Đang bỏ qua các vật thể." +# AI Translated +msgid "Material Ratio" +msgstr "Tỉ lệ vật liệu" + +# AI Translated +msgid "Model Height" +msgstr "Chiều cao mô hình" + +# AI Translated +msgid "Ratio" +msgstr "Tỉ lệ" + # AI Translated msgid "Select Filament" msgstr "Chọn filament" @@ -22206,14 +22813,6 @@ msgstr "Bambu Network Plug-in là bắt buộc cho các tính năng cloud, phát msgid "Error: %s" msgstr "Lỗi: %s" -# AI Translated -msgid "Show details" -msgstr "Hiện chi tiết" - -# AI Translated -msgid "Hide details" -msgstr "Ẩn chi tiết" - # AI Translated msgid "Version to install:" msgstr "Phiên bản sẽ cài đặt:" @@ -22480,12 +23079,14 @@ msgid "Drying-Dehumidifying" msgstr "Sấy - Hút ẩm" # AI Translated -msgid " maximum drying temperature is " -msgstr " nhiệt độ sấy tối đa là " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "Nhiệt độ sấy tối đa của %s là %d°C." # AI Translated -msgid " minimum drying temperature is " -msgstr " nhiệt độ sấy tối thiểu là " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "Nhiệt độ sấy tối thiểu của %s là %d°C." # AI Translated msgid "This filament may not be completely dried." @@ -22635,6 +23236,2496 @@ msgstr "Filament có thể không tương thích với cài đặt máy hiện t msgid "The filament model is unknown. A random filament preset will be used." msgstr "Không rõ mẫu filament. Một cài đặt sẵn filament ngẫu nhiên sẽ được dùng." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Kết thúc" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dưới" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Mũi tên trái" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Mũi tên phải" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Mũi tên lên" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Mũi tên xuống" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "Nhập dữ liệu hình học từ file STL/STEP/3MF/OBJ/AMF" + +msgid "Select all objects" +msgstr "Chọn tất cả đối tượng" + +msgid "Paste from clipboard" +msgstr "Dán từ clipboard" + +# AI Translated +msgid "Toggle printable for object/part" +msgstr "Bật/tắt khả năng in cho vật thể/phần" + +msgid "Move selection 10mm in negative X direction" +msgstr "Di chuyển lựa chọn 10 mm theo hướng X âm" + +msgid "Move selection 10mm in positive X direction" +msgstr "Di chuyển lựa chọn 10 mm theo hướng X dương" + +msgid "Move selection 10mm in positive Y direction" +msgstr "Di chuyển lựa chọn 10 mm theo hướng Y dương" + +msgid "Move selection 10mm in negative Y direction" +msgstr "Di chuyển lựa chọn 10 mm theo hướng Y âm" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "Gizmo di chuyển" + +msgid "Gizmo rotate" +msgstr "Gizmo xoay" + +msgid "Gizmo scale" +msgstr "Gizmo tỷ lệ" + +msgid "Gizmo place face on bed" +msgstr "Gizmo đặt mặt lên bàn" + +msgid "Gizmo cut" +msgstr "Gizmo cắt" + +# AI Translated +msgid "Gizmo mesh boolean" +msgstr "Gizmo boolean lưới" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "Gizmo FDM tô seam" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM tô fuzzy skin" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "Gizmo văn bản emboss/khắc" + +msgid "Gizmo measure" +msgstr "Gizmo đo" + +msgid "Gizmo assemble" +msgstr "Gizmo lắp ráp" + +msgid "Gizmo brim ears" +msgstr "Gizmo tai viền" + +msgid "Vertical slider - Move active thumb Up" +msgstr "Thanh trượt dọc - Di chuyển nút hoạt động lên" + +msgid "Vertical slider - Move active thumb Down" +msgstr "Thanh trượt dọc - Di chuyển nút hoạt động xuống" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "Thanh trượt ngang - Di chuyển nút hoạt động sang trái" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "Thanh trượt ngang - Di chuyển nút hoạt động sang phải" + +msgid "Horizontal slider - Move to start position" +msgstr "Thanh trượt ngang - Di chuyển đến vị trí bắt đầu" + +msgid "Horizontal slider - Move to last position" +msgstr "Thanh trượt ngang - Di chuyển đến vị trí cuối cùng" + +msgid "Camera view - Default" +msgstr "Chế độ xem camera - Mặc định" + +msgid "Camera view - Top" +msgstr "Chế độ xem camera - Trên" + +msgid "Camera view - Bottom" +msgstr "Chế độ xem camera - Dưới" + +msgid "Camera view - Front" +msgstr "Chế độ xem camera - Trước" + +msgid "Camera view - Behind" +msgstr "Chế độ xem camera - Sau" + +msgid "Camera Angle - Left side" +msgstr "Góc camera - Bên trái" + +msgid "Camera Angle - Right side" +msgstr "Góc camera - Bên phải" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "Phóng to" + +msgid "Zoom out" +msgstr "Thu nhỏ" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Hiển thị/Ẩn hộp thoại cài đặt thiết bị 3Dconnexion" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "Bật/Tắt cửa sổ G-code" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "Bật/Tắt chế độ một lớp của thanh trượt dọc" + +msgid "Switch between Prepare/Preview" +msgstr "Chuyển đổi giữa Chuẩn bị/Xem trước" + +msgid "Collapse/Expand the sidebar" +msgstr "Thu gọn/Mở rộng thanh bên" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "Hiển thị danh sách phím tắt" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22936,6 +26027,164 @@ msgstr "" "Tránh cong vênh\n" "Bạn có biết rằng khi in vật liệu dễ cong vênh như ABS, tăng nhiệt độ bàn nóng một cách thích hợp có thể giảm xác suất cong vênh không?" +# AI Translated +#~ msgid "Tab" +#~ msgstr "Tab" + +# AI Translated +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "Hiển thị FPS hiện tại của khung nhìn ở góc trên bên phải." + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "Wiki về Xuất bản 3MF" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "Hướng dẫn video về Xuất bản 3MF" + +#~ msgid "Toolbar" +#~ msgstr "Thanh công cụ" + +#~ msgid "Switch table page" +#~ msgstr "Chuyển trang bảng" + +#~ msgid "Global shortcuts" +#~ msgstr "Phím tắt toàn cục" + +# AI Translated +#~ msgid "Middle mouse button" +#~ msgstr "Nút chuột giữa" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "Tự động định hướng đối tượng đã chọn hoặc tất cả đối tượng. Nếu có đối tượng đã chọn, nó chỉ định hướng những đối tượng đã chọn. Nếu không, nó sẽ định hướng tất cả đối tượng trong dự án hiện tại." + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "Tự động định hướng tất cả đối tượng trên bản đang hoạt động." + +#~ msgid "Any arrow" +#~ msgstr "Phím mũi tên bất kỳ" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "Gizmo điểm support SLA" + +#~ msgid "Plater" +#~ msgstr "Bàn in" + +# AI Translated +#~ msgid "Gizmo" +#~ msgstr "Gizmo" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "Xóa đối tượng, phần, modifier" + +#~ msgid "Objects List" +#~ msgstr "Danh sách đối tượng" + +# AI Translated +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code được ghi ở ngay đầu file xuất, trước mọi nội dung khác. Hữu ích để thêm siêu dữ liệu mà firmware máy in đọc từ những dòng đầu tiên của file (ví dụ thời gian in ước tính, lượng filament sử dụng). Hỗ trợ các trình giữ chỗ như {print_time_sec} và {used_filament_length}." + +# AI Translated +#~ msgid "Print time (seconds)" +#~ msgstr "Thời gian in (giây)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Mở vòng quay thao tác nhanh" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "Trái: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "Phải: " + +# AI Translated +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "Nhiệt độ tối đa không được vượt quá " + +# AI Translated +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "Nhiệt độ tối thiểu không được thấp hơn " + +#~ msgid "up to" +#~ msgstr "lên đến" + +#~ msgid "above" +#~ msgstr "trên" + +#~ msgid "from" +#~ msgstr "từ" + +#~ msgid "Configuration package: " +#~ msgstr "Gói cấu hình: " + +#~ msgid " updated to " +#~ msgstr " đã cập nhật lên " + +# AI Translated +#~ msgid "Grouping error: " +#~ msgstr "Lỗi nhóm: " + +# AI Translated +#~ msgid " can not be placed in the " +#~ msgstr " không thể được đặt vào " + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " nhiệt độ sấy tối đa là " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " nhiệt độ sấy tối thiểu là " + +# AI Translated +#~ msgid "needs" +#~ msgstr "cần" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "chưa bật" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "vật liệu chưa xuất bản" + +#~ msgid "Select the language" +#~ msgstr "Chọn ngôn ngữ" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "Chọn plugin" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Hướng lấp các bề mặt trên khi dùng mẫu dựa trên tâm (Đồng tâm, Dây cung Archimedes, Xoắn ốc bát giác).\n" +#~ "Ra ngoài bắt đầu từ tâm bề mặt, nhờ đó vật liệu dư bị đẩy về phía mép nơi ít nhìn thấy nhất. Vào trong bắt đầu từ mép và kết thúc bằng các đường cong hẹp ở tâm.\n" +#~ "Mặc định dùng thứ tự đường đi ngắn nhất, có thể chạy theo hướng bất kỳ." + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "Hướng lấp các bề mặt dưới khi dùng mẫu dựa trên tâm (Đồng tâm, Dây cung Archimedes, Xoắn ốc bát giác).\n" +#~ "Vào trong bắt đầu mỗi bề mặt bằng các đường cong ngoài rộng hơn, giúp cải thiện độ bám lớp đầu tiên trên những bàn in mà các đường cong hẹp ở tâm có thể không dính. Ra ngoài bắt đầu từ tâm, đẩy vật liệu dư về phía mép.\n" +#~ "Mặc định dùng thứ tự đường đi ngắn nhất, có thể chạy theo hướng bất kỳ." + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "Nếu được bật, wipe tower sẽ không được in trên các lớp không có thay đổi công cụ. Trên các lớp có thay đổi công cụ, extruder sẽ di chuyển xuống để in wipe tower. Người dùng chịu trách nhiệm đảm bảo không có va chạm với bản in." + +#~ msgid "This exports settings to a file." +#~ msgstr "Xuất cài đặt vào file." + # AI Translated #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "Xem trực tiếp trên Wayland thuần cần GStreamer GTK video sink. Vui lòng cài đặt plugin gtksink cho GStreamer, sau đó khởi động lại OrcaSlicer." @@ -22990,9 +26239,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Thứ tự in trong một lớp đơn." -#~ msgid "Bottom" -#~ msgstr "Dưới" - #~ msgid "Front" #~ msgstr "Trước" @@ -23011,9 +26257,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Mũi tên phải" -#~ msgid "End" -#~ msgstr "Kết thúc" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 81cd5a402b..a86678a8c2 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2026-06-11 12:37-0300\n" "Last-Translator: Handle \n" "Language-Team: \n" @@ -2361,15 +2361,6 @@ msgstr "有更新可用。打开预设包对话框进行更新。" msgid "%s has been removed." msgstr "%s 已被移除。" -msgid "Switching application language" -msgstr "切换应用程序语言" - -msgid "Select the language" -msgstr "选择语言" - -msgid "Language" -msgstr "语言" - #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." msgstr "切换 Orca Slicer 语言到 %s 失败。" @@ -2402,6 +2393,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "无法打开插件对话框(未知错误)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "插件终端" @@ -3574,11 +3578,15 @@ msgstr "退回变轨器的当前耗材" msgid "Switch track at Filament Track Switch" msgstr "变轨器开关切换" -msgid "The maximum temperature cannot exceed " -msgstr "最高温度不可超过 " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "最高温度不可超过 %d" -msgid "The minmum temperature should not be less than " -msgstr "最低温度不可低于 " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "最低温度不可低于 %d" msgid "Type to filter..." msgstr "输入以筛选……" @@ -4007,6 +4015,21 @@ msgstr "OrcaSlicer 也始于同样的精神,汲取了 PrusaSlicer、BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "如今,OrcaSlicer 是 3D 打印社区中使用最广泛、开发最活跃的开源切片软件。它的许多创新已被其他切片软件采用,成为推动整个行业发展的力量。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "打印机" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 材料设置" @@ -4439,6 +4462,15 @@ msgstr "" "将临时 G-Code 复制到输出 G-Code 失败。也许 SD 卡被写锁定了?\n" "错误消息:%1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"将临时 G-code 复制到输出 G-code 失败。\n" +"错误信息:%1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "将临时 G-Code 复制到输出 G-Code 失败。目标设备可能有问题,请再次尝试导出或使用其他设备。损坏的输出 G-Code 在 %1%.tmp。" @@ -4743,6 +4775,9 @@ msgstr "" "是 - 自动调整这些设置并开启旋转模式\n" "否 - 暂不使用旋转模式" +msgid "N/A" +msgstr "不适用" + msgid "Printing" msgstr "打印中" @@ -5173,14 +5208,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "值 %s 超出了范围,有效的范围是从 %d 到 %d 。" #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"%s%%还是%s %s?\n" -"是:%s%%\n" -"否:%s %s" +msgid "Is it %s%% or %s %s?" +msgstr "%s%%还是%s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5202,29 +5234,22 @@ msgstr "无效的模式。请使用 N、N#K 或逗号分隔的列表(每个条 msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "无效格式,应该是\"%1%\"这种数组格式" -msgid "N/A" -msgstr "不适用" - # AI Translated msgid "System agents" msgstr "系统代理" -# AI Translated -msgid "No plugin selected" -msgstr "未选择插件" - # AI Translated msgid "Add plugin" msgstr "添加插件" -# AI Translated -msgid "Select plugin" -msgstr "选择插件" - # AI Translated msgid "Remove plugin" msgstr "移除插件" +# AI Translated +msgid "No plugin selected" +msgstr "未选择插件" + # AI Translated msgid "Configure" msgstr "配置" @@ -5480,14 +5505,20 @@ msgstr "设置为最佳" msgid "Regroup filament" msgstr "重新组合耗材丝" -msgid "up to" -msgstr "达到" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "最高 %1% mm" -msgid "above" -msgstr "高于" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "高于 %1% mm" -msgid "from" -msgstr "从" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "从 %1% mm 到 %2% mm" msgid "Usage" msgstr "用法" @@ -5547,9 +5578,6 @@ msgctxt "Noun" msgid "Print" msgstr "打印" -msgid "Printer" -msgstr "打印机" - msgid "Time Estimation" msgstr "时间预估" @@ -5729,12 +5757,15 @@ msgctxt "Camera View" msgid "Right" msgstr "右" -msgid "Add" -msgstr "添加" - msgid "Add plate" msgstr "添加新盘" +msgid "Split to objects" +msgstr "拆分为对象" + +msgid "Add" +msgstr "添加" + msgid "Auto orient all/selected objects" msgstr "自动定位所有/选定的对象" @@ -5747,9 +5778,6 @@ msgstr "全局整理" msgid "Arrange objects on selected plates" msgstr "单盘整理" -msgid "Split to objects" -msgstr "拆分为对象" - msgid "Assembly View" msgstr "装配体视图" @@ -5805,6 +5833,9 @@ msgstr "轮廓线" msgid "Wireframe" msgstr "线框" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "写实渲染" @@ -6013,6 +6044,9 @@ msgstr "正在关闭应用程序,部分预设已修改。" msgid "Logging" msgstr "日志" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "准备" @@ -6159,6 +6193,14 @@ msgstr "项目另存为" msgid "Save current project as" msgstr "项目另存为" +# AI Translated +msgid "Publish 3MF" +msgstr "发布 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "导出内嵌所选设置的 3MF 文件" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "导入 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6341,6 +6383,9 @@ msgstr "编辑" msgid "View" msgstr "视图" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "预设包" @@ -7259,6 +7304,231 @@ msgstr "不再显示此对话框?" msgid "Please refer to Wiki before use->" msgstr "使用前请参考 Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "导出STL文件" + +msgid "Export 3MF" +msgstr "导出 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大体积流量校准" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "流量比校准" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "删除所有对象" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "拆分为对象" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D鼠标断连。" @@ -7411,6 +7681,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "底部" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "此设置未指定插件能力类型。" + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "此设置指定了无法识别的插件能力类型: " + msgid "Plugin Selection" msgstr "插件选择" @@ -7872,9 +8150,6 @@ msgstr "展开侧边栏" msgid "Collapse sidebar" msgstr "折叠边栏" -msgid "Tab" -msgstr "标签" - #, c-format, boost-format msgid "Loading file: %s" msgstr "加载文件:%s" @@ -7949,6 +8224,14 @@ msgstr "请确认这些预设中的G-codes是否安全,以防止对机器造 msgid "Customized Preset" msgstr "自定义的预设" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "部分已发布的设置无法应用:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "部分耗材丝槽位已更改:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "STEP 文件中的部件名称不是 UTF-8 格式!" @@ -8068,18 +8351,12 @@ msgstr "" msgid "Delete Object" msgstr "删除对象" -msgid "Delete All Objects" -msgstr "删除所有对象" - msgid "Reset Project" msgstr "重置项目" msgid "The selected object couldn't be split." msgstr "选中的模型不可分裂。" -msgid "Split to Objects" -msgstr "拆分为对象" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "禁用自动落板以保留 Z 轴定位?\n" @@ -8354,6 +8631,21 @@ msgstr "切片文件另存为:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "文件%s已经发送到打印机的存储空间,可以在打印机上浏览。" +# AI Translated +msgid "Publish 3MF file as:" +msgstr "发布 3MF 文件为:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"导出发布的 3MF 文件失败。\n" +"请检查该文件夹是否在线可用,或文件是否被其他程序打开。" + +msgid "Publish" +msgstr "发布" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "未设置喷嘴类型。请设置喷嘴并重试。" @@ -8564,9 +8856,6 @@ msgstr "是否继续?" msgid "Language selection" msgstr "语言选择" -msgid "Switching application language while some presets are modified." -msgstr "在切换应用语言之前发现某些参数预设有更改。" - msgid "Asia-Pacific" msgstr "亚太" @@ -8664,6 +8953,9 @@ msgstr "当前实例路径" msgid "General" msgstr "常规" +msgid "Language" +msgstr "语言" + msgid "Metric" msgstr "公制(Metric)" @@ -8868,6 +9160,33 @@ msgstr "多设备管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "启用此选项后,您可以同时向多个设备发送任务并管理多个设备。" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "弹出选择耗材丝分组模式" @@ -8949,6 +9268,12 @@ msgstr "反转鼠标缩放" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "如果启用,使用鼠标滚轮缩放的方向会反转。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "平移" @@ -8970,6 +9295,15 @@ msgstr "鼠标右键拖动" msgid "Set the action that dragging the right mouse button should perform." msgstr "设置拖动鼠标右键时应执行的操作。" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "清除我的选择..." @@ -9080,11 +9414,39 @@ msgstr "" "限制视口帧率以降低 GPU 负载和功耗。\n" "设置为 0 表示不限制帧率。" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "显示 FPS 叠加层" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "在右上角显示当前视口的 FPS。" +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9102,9 +9464,6 @@ msgstr "在切片预览中拖动图层滑块时,将当前图层下方的图层 msgid "Dimmed layer brightness" msgstr "调暗图层的亮度" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9489,9 +9848,6 @@ msgstr "跳转到发布页面" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "提示:发布前需要一些准备时间,请耐心等待。" -msgid "Publish" -msgstr "发布" - msgid "Publish was canceled" msgstr "发布已取消" @@ -9507,6 +9863,76 @@ msgstr "正在上传数据" msgid "Jump to webpage" msgstr "跳转到网页" +# AI Translated +msgid "Material" +msgstr "材料" + +# AI Translated +msgid "Mixed filament" +msgstr "混合耗材丝" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "部分混合耗材丝依赖于不会被发布的耗材丝:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "耗材丝 %d(混合)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% 需要 %2%,但它未开启。" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% 需要 %2%,但其材料不会被发布。" + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "要发布混合耗材丝,请开启它所使用的每一种耗材丝,并选择“完整发布”或满足其“类型”要求。" + +# AI Translated +msgid "Publish anyway" +msgstr "仍然发布" + +# AI Translated +msgid "Publish 3MF..." +msgstr "发布 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "选择要在 3MF 文件中发布的设置" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "混合耗材丝 - 在上方选择“开启”后将整体发布" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "发布此混合耗材丝,并开启 + 完整发布其组成耗材丝" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "在 3MF 文件中发布此耗材丝槽位" + +# AI Translated +msgid "Full Publish" +msgstr "完整发布" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "将此槽位的整条耗材丝内嵌到 3MF 文件中" + +# AI Translated +msgid "Filter non-selected" +msgstr "筛选未选项" + #, c-format, boost-format msgid "Save %s as" msgstr "另存%s为" @@ -9524,6 +9950,10 @@ msgstr "将父预设继承的所有数值复制到当前预设,并解除继承 msgid "Detach from parent" msgstr "与父级分离" +# AI Translated +msgid "Save without parent" +msgstr "不保留父级另存" + # AI Translated msgid "Unique preset" msgstr "独立预设" @@ -9583,6 +10013,133 @@ msgstr "为“%1%”,添加“%2%”为一个新预设" msgid "Simply switch to \"%1%\"" msgstr "直接切换到“%1%”" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "其他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "显示详情" + +# AI Translated +msgid "Hide details" +msgstr "隐藏详情" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "任务已取消" @@ -10194,9 +10751,17 @@ msgstr "结块检测需要 Prime 塔。没有主塔的模型可能存在缺陷 msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "同时启用精确Z高度和擦拭塔可能会导致切片错误。您仍然要启用精确Z高度吗?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "平滑模式的延时摄影需要每层都有擦拭塔,因此与“无稀疏层”不兼容。“无稀疏层”已关闭。" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "平滑模式的延时摄影需要擦料塔,否则打印件上可能会有瑕疵。您想打开擦料塔吗?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "“无稀疏层”与平滑模式的延时摄影不兼容,后者需要每层都有擦拭塔。延时摄影已切换为传统模式。" + msgid "Still print by object?" msgstr "仍然按对象打印吗?" @@ -10566,9 +11131,6 @@ msgstr "兼容的切片配置" msgid "Printable space" msgstr "可打印区域" -msgid "Printer Agent" -msgstr "打印机代理" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "为打印机通信选择网络代理。可用的代理将在启动时列出。" @@ -10970,14 +11532,6 @@ msgstr "挤出机数量" msgid "Capabilities" msgstr "能力" -# AI Translated -msgid "Left: " -msgstr "左: " - -# AI Translated -msgid "Right: " -msgstr "右: " - msgid "Show all presets (including incompatible)" msgstr "显示所有预设(包括不兼容的)" @@ -11361,59 +11915,39 @@ msgstr "参数配置包在之前的配置向导中发生了变更" msgid "Configuration package changed" msgstr "参数配置包发生变更" -msgid "Toolbar" -msgstr "工具栏" - -msgid "Objects list" -msgstr "对象列表" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "从STL/STEP/3MF/OBJ/AMF文件中导入几何数据" - -msgid "Paste from clipboard" -msgstr "从剪切板粘贴" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "显示/隐藏 3Dconnexion设备的设置对话框" - -msgid "Switch table page" -msgstr "切换标签页" - -msgid "Show keyboard shortcuts list" -msgstr "显示键盘快捷键列表" - -msgid "Global shortcuts" -msgstr "全局快捷键" - msgid "Pan View" msgstr "移动视角" msgid "Rotate View" msgstr "旋转视角" -msgid "Middle mouse button" -msgstr "鼠标中键" - -msgid "Zoom View" -msgstr "缩放视角" - -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." msgstr "" -"自动调整选定零件/所有零件的方向,\n" -"有选定零件时调整选定零件的朝向,\n" -"没有选择零件时调整当项目所有零件的朝向" -msgid "Auto orients all objects on the active plate." -msgstr "自动调整活动盘上的所有物体的方向。" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "收起/展开 侧边栏" +msgid "Left mouse" +msgstr "" -msgid "Any arrow" -msgstr "任意箭头" +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Movement in camera space" -msgstr "沿相机视角移动对象" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" + +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "选择单个零件" @@ -11424,139 +11958,29 @@ msgstr "选择多个对象" msgid "Select objects by rectangle" msgstr "框选多个零件" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "↑" - -# AI Translated -msgid "Move selection 10mm in positive Y direction" -msgstr "将所选项沿 Y 轴正方向移动 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "↓" - -# AI Translated -msgid "Move selection 10mm in negative Y direction" -msgstr "将所选项沿 Y 轴负方向移动 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "←" - -# AI Translated -msgid "Move selection 10mm in negative X direction" -msgstr "将所选项沿 X 轴负方向移动 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "→" - -# AI Translated -msgid "Move selection 10mm in positive X direction" -msgstr "将所选项沿 X 轴正方向移动 10mm" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "按键1-9:设置对象/零件的耗材丝" msgid "Movement step set to 1mm" msgstr "沿X、Y轴以1mm为步进移动对象" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "按键1-9:设置对象/零件的耗材丝" +msgid "Movement in camera space" +msgstr "沿相机视角移动对象" -msgid "Camera view - Default" -msgstr "摄像机视角 - 默认" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "摄像机视角 - 顶部" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "摄像机视角 - 底部" +msgid "Zoom View" +msgstr "缩放视角" -msgid "Camera view - Front" -msgstr "摄像机视角 - 正面" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "摄像机视角 - 后面" - -msgid "Camera Angle - Left side" -msgstr "摄像机视角 - 左面" - -msgid "Camera Angle - Right side" -msgstr "摄像机视角 - 右面" - -msgid "Select all objects" -msgstr "选择所有对象" - -msgid "Gizmo move" -msgstr "线框移动" - -msgid "Gizmo rotate" -msgstr "旋转物件" - -msgid "Gizmo scale" -msgstr "线框缩放" - -msgid "Gizmo place face on bed" -msgstr "选择底面" - -msgid "Gizmo cut" -msgstr "剪切物件" - -msgid "Gizmo mesh boolean" -msgstr "线框网格布尔操作" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM手绘绒毛表面" - -msgid "Gizmo SLA support points" -msgstr "SLA支撑点" - -msgid "Gizmo FDM paint-on seam" -msgstr "FDM涂装接缝" - -msgid "Gizmo text emboss/engrave" -msgstr "线框文本浮雕/雕刻" - -msgid "Gizmo measure" -msgstr "线框测量" - -msgid "Gizmo assemble" -msgstr "线框组合" - -msgid "Gizmo brim ears" -msgstr "线框耳状帽檐" - -msgid "Zoom in" -msgstr "放大" - -msgid "Zoom out" -msgstr "缩小" - -msgid "Toggle printable for object/part" -msgstr "切换对象/零件的可打印状态" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "准备/预览之间的切换" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "打开快捷操作盘" - -msgid "Plater" -msgstr "准备" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "移动:以1mm为步进移动" @@ -11567,14 +11991,19 @@ msgstr "支撑/颜色绘制:调节画笔半径" msgid "Support/Color Painting: adjust section position" msgstr "支撑/色彩绘制:调节剖面位置" -msgid "Gizmo" -msgstr "小工具" +msgid "Objects list" +msgstr "对象列表" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "设置对象、零件使用的挤出机编号" -msgid "Delete objects, parts, modifiers" -msgstr "删除对象、零件、修改器" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "选中对象、零件,按空格可修改名称" @@ -11585,45 +12014,48 @@ msgstr "鼠标点击" msgid "Select the object/part and mouse click to change the name" msgstr "选中对象、零件,双击零件名可修改名称" -msgid "Objects List" -msgstr "对象列表" - -msgid "Vertical slider - Move active thumb Up" -msgstr "垂直滑动条 - 向上移动一层" - -msgid "Vertical slider - Move active thumb Down" -msgstr "垂直滑动条 - 向下移动一层" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "水平滑动条 - 向左移动一步" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "水平滑动条 - 向右移动一步" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "开启/关闭垂直滑动条的单层模式" - -msgid "On/Off G-code window" -msgstr "开启/关闭G-code窗口" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "5倍速移动滑动条" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "水平滑块 - 移动到起始位置" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "水平滑块 - 移动到末尾位置" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "更新说明" @@ -11822,15 +12254,22 @@ msgstr "修复被取消" msgid "Copying of file %1% to %2% failed: %3%" msgstr "从%1%拷贝文件到%2%失败:%3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "正在下载新的供应商配置: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "配置包:%1% 已更新到 %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "下载供应商配置失败: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "需要在配置更新之前检查没有保存的参数修改。" -msgid "Configuration package: " -msgstr "配置包:" - -msgid " updated to " -msgstr "更新到" - msgid "Open G-code file:" msgstr "打开G-code文件:" @@ -11890,11 +12329,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "输入整形仅受 Klipper、RepRapFirmware 和 Marlin 2 支持" -msgid "Grouping error: " -msgstr "分组错误:" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "分组错误:%1% 无法放入左喷嘴" -msgid " can not be placed in the " -msgstr "不能放置在" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "分组错误:%1% 无法放入右喷嘴" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12008,6 +12451,10 @@ msgstr "%1%离其它对象太近,可能会发生碰撞。" msgid "%1% is too tall, and collisions will be caused." msgstr "%1%太高,会发生碰撞。" +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "模型与擦拭塔的相对位置不满足“无稀疏层”功能的要求。请调整两者的相对位置、降低模型高度,或关闭“无稀疏层”。" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "离不可打印区域太近,打印时可能会发生碰撞。" @@ -12351,6 +12798,9 @@ msgstr "使用 3MF 代替 G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "如果打印机接受 3MF 文件作为打印任务,请启用此选项。启用后,Orca Slicer 将以 .gcode.3mf 格式发送切片文件,而不是普通的 .gcode 文件。" +msgid "Printer Agent" +msgstr "打印机代理" + msgid "Select the network agent implementation for printer communication." msgstr "选择打印机通信的网络代理实施。" @@ -13357,6 +13807,10 @@ msgstr "直线排列" msgid "Concentric" msgstr "同心" +# AI Translated +msgid "Spiral Inset" +msgstr "螺旋内缩" + msgid "Hilbert Curve" msgstr "希尔伯特曲线" @@ -13452,13 +13906,13 @@ msgstr "顶面填充顺序" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"使用基于中心的图案(同心、阿基米德和弦、八角螺旋)时填充顶面的方向。\n" -"向外从表面中心开始,因此多余的材料会被推向边缘等最不显眼的位置。向内从边缘开始,并以中心处的紧密曲线结束。\n" -"默认使用最短路径排序,可能沿任一方向进行。" +"使用以中心为起点的图案(同心、螺旋内缩、阿基米德和弦、八角螺旋)时,顶面的填充方向。\n" +"向外从表面中心开始,多余的材料会被推向边缘,在那里最不显眼。向内从边缘开始,以中心处的紧密曲线结束。\n" +"默认使用最短路径排序,方向可能是两者中的任意一种。" # AI Translated msgid "Bottom surface fill order" @@ -13466,13 +13920,13 @@ msgstr "底面填充顺序" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"使用基于中心的图案(同心、阿基米德和弦、八角螺旋)时填充底面的方向。\n" -"向内以较宽的外侧曲线开始每个表面,这可以改善在热床上的首层附着,因为中心处的紧密曲线可能无法粘牢。向外从中心开始,将多余的材料推向边缘。\n" -"默认使用最短路径排序,可能沿任一方向进行。" +"使用以中心为起点的图案(同心、螺旋内缩、阿基米德和弦、八角螺旋)时,底面的填充方向。\n" +"向内让每个表面从较宽的外侧曲线开始,可改善首层在热床上的粘接,尤其当中心处的紧密曲线不易粘牢时。向外从中心开始,将多余的材料推向边缘。\n" +"默认使用最短路径排序,方向可能是两者中的任意一种。" msgid "Internal solid infill pattern" msgstr "内部实心填充图案" @@ -13575,6 +14029,14 @@ msgstr "逆时针" msgid "Clockwise" msgstr "顺时针" +# AI Translated +msgid "Distance to rod" +msgstr "到杆的距离" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "喷嘴尖端到杆较远一侧边缘的水平距离。用于逐件打印时的避障。" + msgid "Height to rod" msgstr "到横杆高度" @@ -15739,6 +16201,20 @@ msgstr "识别悬垂外墙" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "检测悬垂相对于线宽的百分比,并应用不同的速度打印。100%%的悬垂将使用桥接速度。" +# AI Translated +msgid "Print unsupported walls last" +msgstr "最后打印无支撑的墙" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"完全悬空的墙闭环会等到有东西能够承托它们时才打印:\n" +"无论墙的顺序如何,它们都在同一岛屿的其他墙之后挤出,从最内侧开始。\n" +"只能由本层桥接锚定的闭环会等待这些桥接打印完成;而沿着有支撑的墙延伸的闭环则保持在填充之前的位置,因为填充需要它作为锚点。" + msgid "Outer walls" msgstr "外墙" @@ -16178,6 +16654,39 @@ msgstr "闭环擦拭" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "为了最大限度地减少闭环挤出中接缝的可见性,在挤出机离开环之前,会向内执行一个小小的移动。" +# AI Translated +msgid "Wipe inward" +msgstr "向内擦拭" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"仅适用于外墙,包括孔洞边界。擦拭时将高温喷嘴移向已打印的内墙,以减少刚打印塑料的二次受热和接缝痕迹。\n" +"\n" +"在层高低于 0.1 mm 时尤其有用,此时擦拭痕迹更明显。\n" +"\n" +"若相邻内墙尚未打印(单墙区域或外墙/内墙顺序),或找不到有支撑的向内路径(例如在锐角或接缝间隙处),则使用常规擦拭。" + +# AI Translated +msgid "Wipe inward distance" +msgstr "向内擦拭距离" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"擦拭路径偏离外墙轮廓的距离,以毫米或实际外墙挤出宽度的百分比指定。\n" +"\n" +"例如,50% 会将路径偏移外墙宽度的一半。实际偏移量同时受实际外墙宽度和到相邻墙的可用间距限制,因此超过 100% 的值或等效的绝对距离不会产生额外效果。设为 0 可禁用偏移。" + msgid "Wipe before external loop" msgstr "额外的外墙打印前擦拭" @@ -16377,8 +16886,8 @@ msgstr "预热步骤" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "插入多个预热命令(例如 M104.1)。仅适用于 Prusa XL。对于其他打印机,请将其设置为 1。" -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code 写在输出文件的最顶部,位于任何其他内容之前。对于添加打印机固件从文件第一行读取的元数据(例如估计打印时间、耗材使用情况)很有用。支持 {print_time_sec} 和 {used_filament_length} 等占位符。" +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "起始G-code" @@ -16439,8 +16948,9 @@ msgstr "拾取新工具头后不等待其达到打印温度,直接移动到擦 msgid "No sparse layers (beta)" msgstr "无稀疏层 (实验功能)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "如果启用,将不会在没有换色的层打印擦拭塔。存在换色的层时,挤出机将降低高度打印擦拭塔。用户应该确保不会与打印内容发生冲突。" +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "启用后,擦拭塔不会在没有换料的层上打印。在有换料的层上,挤出机会向下移动去打印擦拭塔,因此塔会低于模型,工具头必须向下伸到它那里。若这样会与已打印的对象发生碰撞,则该布局会被拒绝。对平滑模式的延时摄影或喷嘴结块检测无效,因为它们需要每层都有塔。" msgid "Prime all printing extruders" msgstr "所有挤出机画线" @@ -16466,6 +16976,34 @@ msgstr "" msgid "Cyclic" msgstr "循环" +# AI Translated +msgid "Cyclic order" +msgstr "循环顺序" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"循环换料排序所使用的自定义耗材丝序列,以逗号分隔的耗材丝编号表示(例如“3,2,1,4”)。\n" +"每一层按此序列打印其耗材丝;未列出的耗材丝最后打印,并按升序排列。\n" +"留空则按升序循环使用各耗材丝。" + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "对首层应用循环顺序" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"将循环换料顺序同样应用于首层。\n" +"默认关闭,因为首层改为按最佳热床粘接排序:打印首层细小脆弱特征的耗材丝会最后打印,这样后续的换料和空驶就不易将这些附着薄弱的部分蹭掉。若设置了自定义首层耗材丝序列,该首层顺序也会遵循它。循环顺序的好处(额外的换料让每层有更多冷却时间)并不适用于首层,因为首层为了粘接会以慢速高温打印。\n" +"仅当你需要包括首层在内的每一层都使用完全相同的换料顺序时才启用此项,代价是失去上述粘接优化。" + msgid "Slice gap closing radius" msgstr "切片间隙闭合半径" @@ -16475,9 +17013,6 @@ msgstr "在三角形网格切片过程中,小于2倍间隙闭合半径的裂 msgid "Slicing Mode" msgstr "切片模式" -msgid "Other" -msgstr "其他" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "对3DLabPrint的飞机模型使用 \"奇偶\"。使用 \"闭孔 \"来关闭模型上的所有孔。" @@ -17399,9 +17934,6 @@ msgstr "线宽过大" msgid " not in range " msgstr " 不在合理范围内" -msgid "Export 3MF" -msgstr "导出 3MF" - msgid "This exports the project as a 3MF file." msgstr "导出项目为 3MF。" @@ -17417,9 +17949,6 @@ msgstr "导入切片数据" msgid "Load cached slicing data from directory." msgstr "从目录导入缓存的切片数据" -msgid "Export STL" -msgstr "导出STL文件" - msgid "Export the objects as single STL." msgstr "将对象导出为单个STL。" @@ -17471,6 +18000,14 @@ msgstr "不进行检查" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "不运行任何有效性检查,例如G-code路径冲突检查。" +# AI Translated +msgid "Strict mode" +msgstr "严格模式" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "当切片产生原本仅记入日志的非严重警告时(例如禁用支撑却需要支撑的模型),以非零状态码退出。请在绝不能交付存在隐蔽缺陷切片结果的 CI 或脚本流程中使用。每条此类警告还会以稳定的类别列在 result.json 的 `warnings` 数组中,该文件仅在 Linux 上生成。不能与 --no-check 同时使用,后者会跳过支撑检查。" + msgid "Normative check" msgstr "规范性检查" @@ -17483,11 +18020,28 @@ msgstr "输出模型信息" msgid "This outputs the model’s information." msgstr "输出模型的信息。" +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "检查网格(JSON 输出到 stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "将每个已加载对象的 JSON 摘要输出到 stdout,然后退出:包括其包围盒,以及可供放置的凸包面及其法线、面积和中心。--ground-* 选项正是从这些面中选择。--info 的机器可读替代方案。" + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "检查绘制(JSON 输出到 stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "输出已加载模型上已保存的每个绘制图层(支撑、接缝、MMU 颜色、绒毛表面)的结构化 JSON 摘要 — 每种状态的面片数量、表面积和网格局部包围盒 — 然后退出。在图形界面中打开绘制工具的机器可读替代方案。" + msgid "Export Settings" msgstr "导出配置" -msgid "This exports settings to a file." -msgstr "导出配置到文件。" +# AI Translated +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "将设置导出到文件。使用 - 可将其写入 stdout。" msgid "Send progress to pipe" msgstr "将进度发送到管道" @@ -17543,6 +18097,30 @@ msgstr "绕 Y 旋转" msgid "Rotation angle around the Y axis in degrees." msgstr "绕 Y 轴的旋转角度(以度为单位)" +# AI Translated +msgid "Ground largest face" +msgstr "以最大面着床" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "将每个对象以其凸包的最大面放置,并落到热床上。若有多个同样大的面,则保留已经朝下的那一个。没有足够大可供放置的面的对象保持原样。变换按命令行中的先后顺序执行,因此在此选项之前给出的旋转会被保留。--orient 1 在所有变换之后执行,并会替换朝向。" + +# AI Translated +msgid "Ground face by normal" +msgstr "按法线以指定面着床" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "将每个对象以其凸包中外法线最接近方向 NX,NY,NZ 的面放置,并落到热床上。该方向使用对象坐标系,其中包含在此选项之前给出的旋转;除非输入文件旋转了该对象,否则它与打印板的坐标轴一致。例如,1,0,0 会让对象以 +X 面站立。--orient 1 在所有变换之后执行,并会替换朝向。" + +# AI Translated +msgid "Ground face at point" +msgstr "以指定点所在面着床" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "将每个对象以其凸包中包含点 X,Y,Z 的面放置,并落到热床上。该点使用对象坐标系,其中包含在此选项之前给出的旋转;--inspect-mesh 报告的面中心也使用该坐标系。没有此类面的对象保持原样;若所有对象都没有此类面,则本次运行失败。--orient 1 在所有变换之后执行,并会替换朝向。" + msgid "Scale the model by a float factor." msgstr "根据因数缩放模型" @@ -17841,12 +18419,36 @@ msgstr "已用耗材" msgid "Total length of filament used in the print." msgstr "打印中使用的耗材的总长度。" -msgid "Print time (seconds)" -msgstr "打印耗时(秒)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "预计总打印耗时(以秒为单位)。在后处理时将替换为实际值。" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "耗材长度(米)" @@ -18078,9 +18680,6 @@ msgstr "该文件包含无效的顶点索引。" msgid "This OBJ file couldn't be read because it's empty." msgstr "无法读取该OBJ文件,因为该文件内容为空。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大体积流量校准" - msgid "Manage Result" msgstr "管理结果" @@ -18926,9 +19525,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意:较高的值可能会导致层移位 (>%s)" -msgid "Flow Ratio Calibration" -msgstr "流量比校准" - msgid "Calibration Test Type" msgstr "校准测试类型" @@ -19685,6 +20281,9 @@ msgstr "未检测到有效会话。是否继续登录 3DPrinterOS?" msgid "Success!" msgstr "成功!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "您确定要登出吗?" @@ -20639,6 +21238,18 @@ msgstr "此操作无法撤消。继续?" msgid "Skipping objects." msgstr "跳过对象。" +# AI Translated +msgid "Material Ratio" +msgstr "材料比例" + +# AI Translated +msgid "Model Height" +msgstr "模型高度" + +# AI Translated +msgid "Ratio" +msgstr "比例" + msgid "Select Filament" msgstr "选择耗材" @@ -20670,13 +21281,6 @@ msgstr "Bambu 网络插件用于云功能、打印机发现和远程打印。" msgid "Error: %s" msgstr "错误:%s" -msgid "Show details" -msgstr "显示详情" - -# AI Translated -msgid "Hide details" -msgstr "隐藏详情" - msgid "Version to install:" msgstr "将安装的版本:" @@ -20895,12 +21499,14 @@ msgid "Drying-Dehumidifying" msgstr "干燥-除湿" # AI Translated -msgid " maximum drying temperature is " -msgstr " 最高干燥温度为 " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s 的最高干燥温度为 %d°C。" # AI Translated -msgid " minimum drying temperature is " -msgstr " 最低干燥温度为 " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s 的最低干燥温度为 %d°C。" # AI Translated msgid "This filament may not be completely dried." @@ -21045,6 +21651,2498 @@ msgstr "此耗材可能与当前设备设置不兼容,将使用随机耗材预 msgid "The filament model is unknown. A random filament preset will be used." msgstr "此耗材可能于当前设备设置不兼容,将使用随机耗材预设。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "结束" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底部" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "删除" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "←" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "→" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "↑" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "↓" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "从STL/STEP/3MF/OBJ/AMF文件中导入几何数据" + +msgid "Select all objects" +msgstr "选择所有对象" + +msgid "Paste from clipboard" +msgstr "从剪切板粘贴" + +msgid "Toggle printable for object/part" +msgstr "切换对象/零件的可打印状态" + +# AI Translated +msgid "Move selection 10mm in negative X direction" +msgstr "将所选项沿 X 轴负方向移动 10mm" + +# AI Translated +msgid "Move selection 10mm in positive X direction" +msgstr "将所选项沿 X 轴正方向移动 10mm" + +# AI Translated +msgid "Move selection 10mm in positive Y direction" +msgstr "将所选项沿 Y 轴正方向移动 10mm" + +# AI Translated +msgid "Move selection 10mm in negative Y direction" +msgstr "将所选项沿 Y 轴负方向移动 10mm" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "线框移动" + +msgid "Gizmo rotate" +msgstr "旋转物件" + +msgid "Gizmo scale" +msgstr "线框缩放" + +msgid "Gizmo place face on bed" +msgstr "选择底面" + +msgid "Gizmo cut" +msgstr "剪切物件" + +msgid "Gizmo mesh boolean" +msgstr "线框网格布尔操作" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "FDM涂装接缝" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM手绘绒毛表面" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "线框文本浮雕/雕刻" + +msgid "Gizmo measure" +msgstr "线框测量" + +msgid "Gizmo assemble" +msgstr "线框组合" + +msgid "Gizmo brim ears" +msgstr "线框耳状帽檐" + +msgid "Vertical slider - Move active thumb Up" +msgstr "垂直滑动条 - 向上移动一层" + +msgid "Vertical slider - Move active thumb Down" +msgstr "垂直滑动条 - 向下移动一层" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "水平滑动条 - 向左移动一步" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "水平滑动条 - 向右移动一步" + +msgid "Horizontal slider - Move to start position" +msgstr "水平滑块 - 移动到起始位置" + +msgid "Horizontal slider - Move to last position" +msgstr "水平滑块 - 移动到末尾位置" + +msgid "Camera view - Default" +msgstr "摄像机视角 - 默认" + +msgid "Camera view - Top" +msgstr "摄像机视角 - 顶部" + +msgid "Camera view - Bottom" +msgstr "摄像机视角 - 底部" + +msgid "Camera view - Front" +msgstr "摄像机视角 - 正面" + +msgid "Camera view - Behind" +msgstr "摄像机视角 - 后面" + +msgid "Camera Angle - Left side" +msgstr "摄像机视角 - 左面" + +msgid "Camera Angle - Right side" +msgstr "摄像机视角 - 右面" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "放大" + +msgid "Zoom out" +msgstr "缩小" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "显示/隐藏 3Dconnexion设备的设置对话框" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "开启/关闭G-code窗口" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "开启/关闭垂直滑动条的单层模式" + +msgid "Switch between Prepare/Preview" +msgstr "准备/预览之间的切换" + +msgid "Collapse/Expand the sidebar" +msgstr "收起/展开 侧边栏" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "显示键盘快捷键列表" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21345,6 +24443,157 @@ msgstr "" "避免翘曲\n" "您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。" +#~ msgid "Tab" +#~ msgstr "标签" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "在右上角显示当前视口的 FPS。" + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "发布 3MF Wiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "发布 3MF 视频指南" + +#~ msgid "Toolbar" +#~ msgstr "工具栏" + +#~ msgid "Switch table page" +#~ msgstr "切换标签页" + +#~ msgid "Global shortcuts" +#~ msgstr "全局快捷键" + +#~ msgid "Middle mouse button" +#~ msgstr "鼠标中键" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "" +#~ "自动调整选定零件/所有零件的方向,\n" +#~ "有选定零件时调整选定零件的朝向,\n" +#~ "没有选择零件时调整当项目所有零件的朝向" + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "自动调整活动盘上的所有物体的方向。" + +#~ msgid "Any arrow" +#~ msgstr "任意箭头" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLA支撑点" + +#~ msgid "Plater" +#~ msgstr "准备" + +#~ msgid "Gizmo" +#~ msgstr "小工具" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "删除对象、零件、修改器" + +#~ msgid "Objects List" +#~ msgstr "对象列表" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code 写在输出文件的最顶部,位于任何其他内容之前。对于添加打印机固件从文件第一行读取的元数据(例如估计打印时间、耗材使用情况)很有用。支持 {print_time_sec} 和 {used_filament_length} 等占位符。" + +#~ msgid "Print time (seconds)" +#~ msgstr "打印耗时(秒)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "打开快捷操作盘" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "左: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "右: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "最高温度不可超过 " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "最低温度不可低于 " + +#~ msgid "up to" +#~ msgstr "达到" + +#~ msgid "above" +#~ msgstr "高于" + +#~ msgid "from" +#~ msgstr "从" + +#~ msgid "Configuration package: " +#~ msgstr "配置包:" + +#~ msgid " updated to " +#~ msgstr "更新到" + +#~ msgid "Grouping error: " +#~ msgstr "分组错误:" + +#~ msgid " can not be placed in the " +#~ msgstr "不能放置在" + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " 最高干燥温度为 " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " 最低干燥温度为 " + +# AI Translated +#~ msgid "needs" +#~ msgstr "需要" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "未开启" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "材料未发布" + +#~ msgid "Select the language" +#~ msgstr "选择语言" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "选择插件" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "使用基于中心的图案(同心、阿基米德和弦、八角螺旋)时填充顶面的方向。\n" +#~ "向外从表面中心开始,因此多余的材料会被推向边缘等最不显眼的位置。向内从边缘开始,并以中心处的紧密曲线结束。\n" +#~ "默认使用最短路径排序,可能沿任一方向进行。" + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "使用基于中心的图案(同心、阿基米德和弦、八角螺旋)时填充底面的方向。\n" +#~ "向内以较宽的外侧曲线开始每个表面,这可以改善在热床上的首层附着,因为中心处的紧密曲线可能无法粘牢。向外从中心开始,将多余的材料推向边缘。\n" +#~ "默认使用最短路径排序,可能沿任一方向进行。" + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "如果启用,将不会在没有换色的层打印擦拭塔。存在换色的层时,挤出机将降低高度打印擦拭塔。用户应该确保不会与打印内容发生冲突。" + +#~ msgid "This exports settings to a file." +#~ msgstr "导出配置到文件。" + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "原生 Wayland 实时画面需要 GStreamer GTK 视频接收器。请安装 GStreamer 的 gtksink 插件,然后重启 OrcaSlicer。" @@ -21399,9 +24648,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "同一层内的打印顺序" -#~ msgid "Bottom" -#~ msgstr "底部" - #~ msgid "Front" #~ msgstr "前面" @@ -21414,9 +24660,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "删除" - #~ msgid "Backspace" #~ msgstr "回退键" @@ -21432,9 +24675,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "右箭头" -#~ msgid "End" -#~ msgstr "结束" - #~ msgid "Hotend" #~ msgstr "热端" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index ded90c8950..734d547ac9 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-02 09:39-0300\n" +"POT-Creation-Date: 2026-09-22 17:02+0800\n" "PO-Revision-Date: 2025-11-28 13:48-0600\n" "Last-Translator: tntchn <15895303+tntchn@users.noreply.github.com>\n" "Language-Team: \n" @@ -2425,15 +2425,6 @@ msgstr "有可用的更新。請開啟預設組合對話框進行更新。" msgid "%s has been removed." msgstr "%s 已移除。" -msgid "Switching application language" -msgstr "切換應用程式語言" - -msgid "Select the language" -msgstr "選擇語言" - -msgid "Language" -msgstr "語言" - # AI Translated #, c-format, boost-format msgid "Switching Orca Slicer to language %s failed." @@ -2471,6 +2462,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "無法開啟外掛對話框(未知錯誤)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "外掛終端機" @@ -3672,11 +3676,15 @@ msgstr "在 Filament Track Switch 退回目前線材" msgid "Switch track at Filament Track Switch" msgstr "在 Filament Track Switch 切換軌道" -msgid "The maximum temperature cannot exceed " -msgstr "最高溫度不能超過 " +# AI Translated +#, c-format, boost-format +msgid "The maximum temperature cannot exceed %d" +msgstr "最高溫度不能超過 %d" -msgid "The minmum temperature should not be less than " -msgstr "最低溫度不應低於 " +# AI Translated +#, c-format, boost-format +msgid "The minimum temperature should not be less than %d" +msgstr "最低溫度不應低於 %d" msgid "Type to filter..." msgstr "輸入以篩選..." @@ -4109,6 +4117,21 @@ msgstr "OrcaSlicer 也源於同樣的精神,汲取了 PrusaSlicer、BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "如今,OrcaSlicer 是 3D 列印社群中使用最廣泛、開發最活躍的開源切片軟體。它的許多創新已被其他切片軟體採用,使其成為推動整個產業的動力。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "列印裝置" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 線材設定" @@ -4552,6 +4575,15 @@ msgstr "" "錯誤訊息:%1%將臨時的 G-code 複製到輸出的 G-code 失敗 ,也許 SD 卡寫入被鎖定?\n" "錯誤訊息:%1%" +# AI Translated +#, boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed.\n" +"Error message: %1%" +msgstr "" +"將暫存 G-code 複製到輸出 G-code 失敗。\n" +"錯誤訊息:%1%" + #, boost-format msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." msgstr "將臨時 G-code 複製到輸出 G-code 時失敗。目標裝置可能存在問題,請嘗試再次匯出或使用不同的裝置。損壞的 G-code 已輸出為 %1%.tmp。將臨時 G-code 複製到輸出 G-code 時失敗。目標裝置可能存在問題,請嘗試再次匯出或使用不同的裝置。損壞的 G-code 已輸出為 %1%.tmp。" @@ -4872,6 +4904,9 @@ msgstr "" "是 - 自動調整這些設定並啟用花瓶模式\n" "否 - 不使用花瓶模式" +msgid "N/A" +msgstr "不適用" + msgid "Printing" msgstr "列印中" @@ -5302,14 +5337,11 @@ msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "數值 %s 超出範圍。有效範圍是從 %d 到 %d。" #, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" -"YES for %s%%, \n" -"NO for %s %s." -msgstr "" -"是 %s%% 還是 %s %s?\n" -"選『是』代表 %s%%,\n" -"選『否』代表 %s %s。" +msgid "Is it %s%% or %s %s?" +msgstr "是 %s%% 還是 %s %s?" + +msgid "%" +msgstr "%" #, boost-format msgid "Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" @@ -5331,29 +5363,22 @@ msgstr "無效的格式。請使用 N、N#K 或逗號分隔的清單,每個項 msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "無效格式,應該是「%1%」這種格式" -msgid "N/A" -msgstr "不適用" - # AI Translated msgid "System agents" msgstr "系統代理程式" -# AI Translated -msgid "No plugin selected" -msgstr "未選擇外掛" - # AI Translated msgid "Add plugin" msgstr "新增外掛" -# AI Translated -msgid "Select plugin" -msgstr "選擇外掛" - # AI Translated msgid "Remove plugin" msgstr "移除外掛" +# AI Translated +msgid "No plugin selected" +msgstr "未選擇外掛" + # AI Translated msgid "Configure" msgstr "設定" @@ -5609,14 +5634,20 @@ msgstr "設為最佳" msgid "Regroup filament" msgstr "重新分組線材" -msgid "up to" -msgstr "達到" +# AI Translated +#, boost-format +msgid "up to %1% mm" +msgstr "最高 %1% mm" -msgid "above" -msgstr "高於" +# AI Translated +#, boost-format +msgid "above %1% mm" +msgstr "高於 %1% mm" -msgid "from" -msgstr "從" +# AI Translated +#, boost-format +msgid "from %1% to %2% mm" +msgstr "從 %1% mm 到 %2% mm" msgid "Usage" msgstr "使用情況" @@ -5676,9 +5707,6 @@ msgctxt "Noun" msgid "Print" msgstr "列印" -msgid "Printer" -msgstr "列印裝置" - msgid "Time Estimation" msgstr "時間預估" @@ -5858,12 +5886,15 @@ msgctxt "Camera View" msgid "Right" msgstr "右" -msgid "Add" -msgstr "新增" - msgid "Add plate" msgstr "新增列印板" +msgid "Split to objects" +msgstr "拆分為物件" + +msgid "Add" +msgstr "新增" + msgid "Auto orient all/selected objects" msgstr "自動旋轉所有/選取物件的方向" @@ -5876,9 +5907,6 @@ msgstr "全域整理" msgid "Arrange objects on selected plates" msgstr "在選定的列印板上排列物件" -msgid "Split to objects" -msgstr "拆分為物件" - msgid "Assembly View" msgstr "組裝視角" @@ -5934,6 +5962,9 @@ msgstr "輪廓線" msgid "Wireframe" msgstr "線框" +msgid "X-Ray" +msgstr "" + msgid "Realistic View" msgstr "擬真檢視" @@ -6143,6 +6174,9 @@ msgstr "正在關閉應用程式,部分預設已修改。" msgid "Logging" msgstr "日誌" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "準備" @@ -6289,6 +6323,14 @@ msgstr "另存專案為" msgid "Save current project as" msgstr "將目前專案另存為" +# AI Translated +msgid "Publish 3MF" +msgstr "發布 3MF" + +# AI Translated +msgid "Export a 3MF file with the selected settings embedded" +msgstr "匯出內嵌所選設定的 3MF 檔案" + msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgstr "匯入 3MF/STL/STEP/SVG/OBJ/AMF" @@ -6471,6 +6513,9 @@ msgstr "編輯" msgid "View" msgstr "視角" +msgid "Open Speed Dial" +msgstr "" + msgid "Preset Bundle" msgstr "設定檔組" @@ -7396,6 +7441,233 @@ msgstr "不要再顯示此提示" msgid "Please refer to Wiki before use->" msgstr "使用前請參考 Wiki ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "匯出為 STL 檔案" + +msgid "Export 3MF" +msgstr "匯出為 3MF 檔案" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大體積流量校正" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "流量比例校正" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "刪除所有物件" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "分割為物件" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D 滑鼠已中斷連線。" @@ -7550,6 +7822,14 @@ msgctxt "Layers" msgid "Bottom" msgstr "底部" +# AI Translated +msgid "This setting does not specify a plugin capability type." +msgstr "此設定未指定外掛能力類型。" + +# AI Translated +msgid "This setting specifies an unrecognized plugin capability type: " +msgstr "此設定指定了無法識別的外掛能力類型: " + # AI Translated msgid "Plugin Selection" msgstr "外掛選擇" @@ -8033,9 +8313,6 @@ msgstr "展開側邊欄" msgid "Collapse sidebar" msgstr "折疊側邊欄" -msgid "Tab" -msgstr "分頁" - #, c-format, boost-format msgid "Loading file: %s" msgstr "載入檔案:%s" @@ -8110,6 +8387,14 @@ msgstr "請確認這些預設中的 G-code 是安全的,以防止對列印裝 msgid "Customized Preset" msgstr "自訂預設" +# AI Translated +msgid "Some published settings could not be applied:" +msgstr "部分已發布的設定無法套用:" + +# AI Translated +msgid "Some filament slots were changed:" +msgstr "部分線材槽位已變更:" + msgid "Component name(s) inside step file not in UTF-8 format!" msgstr "STEP 檔案內部元件的名稱不是 UTF-8 格式!" @@ -8229,10 +8514,6 @@ msgstr "" msgid "Delete Object" msgstr "刪除物件" -# AI Translated -msgid "Delete All Objects" -msgstr "刪除所有物件" - # AI Translated msgid "Reset Project" msgstr "重設專案" @@ -8240,10 +8521,6 @@ msgstr "重設專案" msgid "The selected object couldn't be split." msgstr "選取的模型不可分割。" -# AI Translated -msgid "Split to Objects" -msgstr "分割為物件" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "停用自動落板以保留 Z 定位?\n" @@ -8520,6 +8797,21 @@ msgstr "切片檔案另存為:" msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." msgstr "檔案 %s 已經傳送到列印裝置的儲存空間,可以在列印裝置上瀏覽。" +# AI Translated +msgid "Publish 3MF file as:" +msgstr "發布 3MF 檔案為:" + +# AI Translated +msgid "" +"Failed to export the published 3MF file.\n" +"Please check whether the folder exists online or if other programs have the file open." +msgstr "" +"匯出已發布的 3MF 檔案失敗。\n" +"請檢查該資料夾是否在線上可用,或檔案是否被其他程式開啟。" + +msgid "Publish" +msgstr "發布" + msgid "The nozzle type is not set. Please set the nozzle and try again." msgstr "噴嘴類型尚未設定。請設定噴嘴後再試一次。" @@ -8730,9 +9022,6 @@ msgstr "是否繼續?" msgid "Language selection" msgstr "語言選擇" -msgid "Switching application language while some presets are modified." -msgstr "在切換應用程式語言之前發現某些參數預設有更改。" - msgid "Asia-Pacific" msgstr "亞太" @@ -8837,6 +9126,9 @@ msgstr "目前實例路徑:" msgid "General" msgstr "一般" +msgid "Language" +msgstr "語言" + msgid "Metric" msgstr "公制" @@ -9041,6 +9333,33 @@ msgstr "多臺裝置管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "啟用時可以同時傳送到並管理多個機臺。" +msgid "Open the Speed Dial from the keyboard" +msgstr "" + +msgid "When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "彈出視窗選擇線材分組模式" @@ -9122,6 +9441,12 @@ msgstr "反轉滑鼠滾輪縮放方向" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "啟用後,改變滑鼠滾輪縮放方向。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "平移" @@ -9143,6 +9468,15 @@ msgstr "滑鼠右鍵拖曳" msgid "Set the action that dragging the right mouse button should perform." msgstr "設定拖曳滑鼠右鍵時應執行的動作。" +msgid "Keyboard" +msgstr "" + +msgid "Keyboard shortcuts" +msgstr "" + +msgid "Choose the key for each action." +msgstr "" + msgid "Clear my choice on..." msgstr "清除我的選擇於..." @@ -9253,11 +9587,39 @@ msgstr "" "限制視埠影格率以降低 GPU 負載與耗電量。\n" "設為 0 表示不限制影格率。" +msgid "Reuse the 3D scene while idle" +msgstr "" + +msgid "" +"Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" +"and reuses the previous frame's scene instead. Reduces GPU load.\n" +"Disable it if the viewport shows stale or missing contents.\n" +"\n" +"Takes effect immediately." +msgstr "" + +msgid "Skip unchanged frames" +msgstr "" + +msgid "" +"Skips drawing a frame altogether when it would be identical to the one already on screen.\n" +"Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" +"Disable it if a hover highlight, tooltip or animation stops updating.\n" +"\n" +"Takes effect immediately." +msgstr "" + msgid "Show FPS overlay" msgstr "顯示 FPS 疊加層" -msgid "Displays current viewport FPS in the top-right corner." -msgstr "在右上角顯示目前視埠的 FPS。" +msgid "Displays rendering counts in the top-right corner of the viewport." +msgstr "" + +msgid "FPS: frames presented to the screen per second." +msgstr "" + +msgid "3D: frames per second that redrew the 3D scene." +msgstr "" # AI Translated msgid "G-code Preview" @@ -9275,9 +9637,6 @@ msgstr "在切片預覽中拖曳層滑桿時,將目前層以下的各層算繪 msgid "Dimmed layer brightness" msgstr "變暗層的亮度" -msgid "%" -msgstr "%" - # AI Translated msgid "" "How brightly the dimmed layers are rendered when \"Dim lower layers\" is enabled.\n" @@ -9662,9 +10021,6 @@ msgstr "發布頁面" msgid "Note: The preparation may take several minutes. Please be patient." msgstr "提示:發布前需要一些準備時間,請耐心等待。" -msgid "Publish" -msgstr "發布" - msgid "Publish was canceled" msgstr "發布已取消" @@ -9680,6 +10036,76 @@ msgstr "正在上傳資料" msgid "Jump to webpage" msgstr "跳至網頁" +# AI Translated +msgid "Material" +msgstr "材料" + +# AI Translated +msgid "Mixed filament" +msgstr "混合線材" + +# AI Translated +msgid "Some mixed filaments rely on filaments that will not be published:" +msgstr "部分混合線材依賴不會被發布的線材:" + +# AI Translated +#, c-format, boost-format +msgid "Filament %d (mixed)" +msgstr "線材 %d(混合)" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, which is not enabled." +msgstr "%1% 需要 %2%,但它未啟用。" + +# AI Translated +#, boost-format +msgid "%1% needs %2%, whose material will not be published." +msgstr "%1% 需要 %2%,但其材料不會被發布。" + +# AI Translated +msgid "To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement." +msgstr "若要發布混合線材,請啟用它所使用的每一種線材,並選擇「完整發布」或滿足其「類型」需求。" + +# AI Translated +msgid "Publish anyway" +msgstr "仍要發布" + +# AI Translated +msgid "Publish 3MF..." +msgstr "發布 3MF..." + +# AI Translated +msgid "Select which settings to be published in the 3MF file" +msgstr "選擇要在 3MF 檔案中發布的設定" + +msgid "Video Guide" +msgstr "" + +# AI Translated +msgid "Mixed filament - published as a whole when \"Enable\" above is selected" +msgstr "混合線材 - 在上方選擇「啟用」後將整體發布" + +# AI Translated +msgid "Publish this mixed filament and enable + Full Publish its component filaments" +msgstr "發布此混合線材,並啟用 + 完整發布其組成線材" + +# AI Translated +msgid "Publish this filament slot in the 3MF file" +msgstr "在 3MF 檔案中發布此線材槽位" + +# AI Translated +msgid "Full Publish" +msgstr "完整發布" + +# AI Translated +msgid "Embed the entire filament of this slot in the 3MF file" +msgstr "將此槽位的整條線材內嵌到 3MF 檔案中" + +# AI Translated +msgid "Filter non-selected" +msgstr "篩選未選項" + #, c-format, boost-format msgid "Save %s as" msgstr "另存 %s 為" @@ -9697,6 +10123,10 @@ msgstr "將父配置繼承的所有數值複製到目前的配置,並解除繼 msgid "Detach from parent" msgstr "從父預設分離" +# AI Translated +msgid "Save without parent" +msgstr "不保留父預設另存" + # AI Translated msgid "Unique preset" msgstr "獨立配置" @@ -9756,6 +10186,133 @@ msgstr "為「%1%」,增加「%2%」為一個新預設" msgid "Simply switch to \"%1%\"" msgstr "直接切換到「%1%」" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "其他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +msgid "Show details" +msgstr "顯示詳細資訊" + +# AI Translated +msgid "Hide details" +msgstr "隱藏詳細資料" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "任務已取消" @@ -10400,9 +10957,17 @@ msgstr "堵塞偵測需要換料塔。若沒有換料塔,列印物件上可能 msgid "Enabling both precise Z height and the prime tower may cause slicing errors. Do you still want to enable precise Z height?" msgstr "同時啟用精確 Z 高度和擦拭塔可能會導致切片錯誤。您仍然要啟用精確 Z 高度嗎?" +# AI Translated +msgid "Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". \"No sparse layers\" has been turned off." +msgstr "平滑模式的縮時攝影需要每層都有換料塔,因此與「取消稀疏層」不相容。「取消稀疏層」已關閉。" + msgid "A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower?" msgstr "平滑模式的縮時錄影需要換料塔,否則列印物件上可能會有瑕疵。您是否要啟用換料塔?" +# AI Translated +msgid "\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. Timelapse has been switched to traditional mode." +msgstr "「取消稀疏層」與平滑模式的縮時攝影不相容,後者需要每層都有換料塔。縮時攝影已切換為傳統模式。" + msgid "Still print by object?" msgstr "持續逐件列印?" @@ -10772,9 +11337,6 @@ msgstr "相容的切片設定" msgid "Printable space" msgstr "可列印區域" -msgid "Printer Agent" -msgstr "列印裝置代理" - msgid "Select the network agent implementation for printer communication. Available agents are registered at startup." msgstr "選擇列印裝置通訊的網路代理實施。可用代理在啟動時註冊。" @@ -11176,14 +11738,6 @@ msgstr "擠出機數量" msgid "Capabilities" msgstr "能力" -# AI Translated -msgid "Left: " -msgstr "左: " - -# AI Translated -msgid "Right: " -msgstr "右: " - msgid "Show all presets (including incompatible)" msgstr "顯示所有預設(包括不相容的)" @@ -11569,56 +12123,39 @@ msgstr "設定檔在之前的設定引導過程中已改變" msgid "Configuration package changed" msgstr "設定檔已改變" -msgid "Toolbar" -msgstr "工具欄" - -msgid "Objects list" -msgstr "物件清單" - -msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" -msgstr "從 STL/STEP/3MF/OBJ/AMF 檔案中匯入幾何模型" - -msgid "Paste from clipboard" -msgstr "從剪貼簿貼上" - -msgid "Show/Hide 3Dconnexion devices settings dialog" -msgstr "顯示/隱藏 3Dconnexion 裝置的設定對話框" - -msgid "Switch table page" -msgstr "切換表單頁面" - -msgid "Show keyboard shortcuts list" -msgstr "顯示鍵盤快速鍵清單" - -msgid "Global shortcuts" -msgstr "全域快速鍵" - msgid "Pan View" msgstr "移動視角" msgid "Rotate View" msgstr "旋轉視角" -msgid "Middle mouse button" -msgstr "滑鼠中鍵" +#, c-format, boost-format +msgid "Use %s or %s, or a key that does not type a character." +msgstr "" -msgid "Zoom View" -msgstr "縮放視角" +msgctxt "Keyboard Shortcut" +msgid "Key" +msgstr "" -msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." -msgstr "自動旋轉選取的物件或所有物件的方向。當有物件被選取時,僅自動旋轉選取的物件。無選取的物件時,會自動旋轉專案中的所有物件。" +msgid "Left mouse" +msgstr "" -msgid "Auto orients all objects on the active plate." -msgstr "自動旋轉目前板上所有物件的方向" +msgid "Available anywhere in the window, even while typing in a text field." +msgstr "" -msgid "Collapse/Expand the sidebar" -msgstr "摺疊/展開 側邊欄" +msgid "Run a speed dial favorite while the dial is open" +msgstr "" -msgid "Any arrow" -msgstr "任意方向鍵" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Tab" +msgstr "Tab" -msgid "Movement in camera space" -msgstr "沿相機視角移動物件" +msgid "Switch to the next main tab" +msgstr "" + +msgid "Available while the 3D view on the Prepare tab has focus." +msgstr "" msgid "Select a part" msgstr "選擇單一零件" @@ -11629,139 +12166,29 @@ msgstr "選擇多個物件" msgid "Select objects by rectangle" msgstr "框選多個零件" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Up" -msgstr "Arrow Up" - -# AI Translated -msgid "Move selection 10mm in positive Y direction" -msgstr "將選取物件沿 Y 軸正方向移動 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Down" -msgstr "Arrow Down" - -# AI Translated -msgid "Move selection 10mm in negative Y direction" -msgstr "將選取物件沿 Y 軸負方向移動 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Left" -msgstr "Arrow Left" - -# AI Translated -msgid "Move selection 10mm in negative X direction" -msgstr "將選取物件沿 X 軸負方向移動 10mm" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Arrow Right" -msgstr "Arrow Right" - -# AI Translated -msgid "Move selection 10mm in positive X direction" -msgstr "將選取物件沿 X 軸正方向移動 10mm" +msgid "Keyboard 1-9: set filament for object/part" +msgstr "按鍵 1~9:設定物件/零件的線材" msgid "Movement step set to 1mm" msgstr "沿 X、Y 軸以 1mm 為單位步進移動" -msgid "Keyboard 1-9: set filament for object/part" -msgstr "按鍵 1~9:設定物件/零件的線材" +msgid "Movement in camera space" +msgstr "沿相機視角移動物件" -msgid "Camera view - Default" -msgstr "攝影機視角 - 預設" +msgid "Middle mouse" +msgstr "" -msgid "Camera view - Top" -msgstr "攝影機視角 - 頂部" +msgid "Right mouse" +msgstr "" -msgid "Camera view - Bottom" -msgstr "攝影機視角 - 底部" +msgid "Zoom View" +msgstr "縮放視角" -msgid "Camera view - Front" -msgstr "攝影機視角 - 前面" +msgid "Painting" +msgstr "" -msgid "Camera view - Behind" -msgstr "攝影機視角 - 後面" - -msgid "Camera Angle - Left side" -msgstr "攝影機視角 - 左面" - -msgid "Camera Angle - Right side" -msgstr "攝影機視角 - 右面" - -msgid "Select all objects" -msgstr "選擇所有物件" - -msgid "Gizmo move" -msgstr "線框移動" - -msgid "Gizmo rotate" -msgstr "旋轉物件" - -msgid "Gizmo scale" -msgstr "線框縮放" - -msgid "Gizmo place face on bed" -msgstr "選擇底面" - -msgid "Gizmo cut" -msgstr "切割物件" - -msgid "Gizmo mesh boolean" -msgstr "線框網格布林運算" - -msgid "Gizmo FDM paint-on fuzzy skin" -msgstr "Gizmo FDM 塗刷絨毛表面效果" - -msgid "Gizmo SLA support points" -msgstr "SLA 支撐點" - -msgid "Gizmo FDM paint-on seam" -msgstr "FDM 塗裝接縫" - -msgid "Gizmo text emboss/engrave" -msgstr "浮雕/雕刻文字工具" - -msgid "Gizmo measure" -msgstr "測量" - -msgid "Gizmo assemble" -msgstr "組裝" - -msgid "Gizmo brim ears" -msgstr "擴邊耳工具" - -msgid "Zoom in" -msgstr "放大" - -msgid "Zoom out" -msgstr "縮小" - -msgid "Toggle printable for object/part" -msgstr "切換物件/零件的可列印屬性" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Tab" -msgstr "Tab" - -msgid "Switch between Prepare/Preview" -msgstr "在準備/預覽模式之中切換" - -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "開啟操作快捷選單" - -msgid "Plater" -msgstr "準備" +msgid "Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting." +msgstr "" msgid "Move: press to snap by 1mm" msgstr "移動:以 1mm 為單位步進移動" @@ -11772,14 +12199,19 @@ msgstr "支撐/顏色繪製:調整筆刷半徑" msgid "Support/Color Painting: adjust section position" msgstr "支撐/色彩繪製:調整剖面位置" -msgid "Gizmo" -msgstr "浮雕" +msgid "Objects list" +msgstr "物件清單" + +msgid "Available while the object list has focus." +msgstr "" msgid "Set extruder number for the objects and parts" msgstr "設定物件、零件使用的擠出機編號" -msgid "Delete objects, parts, modifiers" -msgstr "刪除物件、零件、修改器" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" msgid "Select the object/part and press space to change the name" msgstr "選取物件、零件,按空格可修改名稱" @@ -11790,45 +12222,48 @@ msgstr "滑鼠點選" msgid "Select the object/part and mouse click to change the name" msgstr "選取物件或零件,雙擊可修改名稱" -msgid "Objects List" -msgstr "物件清單" - -msgid "Vertical slider - Move active thumb Up" -msgstr "垂直滑動條 - 向上移動一層" - -msgid "Vertical slider - Move active thumb Down" -msgstr "垂直滑動條 - 向下移動一層" - -msgid "Horizontal slider - Move active thumb Left" -msgstr "水平滑動條 - 向左移動一步" - -msgid "Horizontal slider - Move active thumb Right" -msgstr "水平滑動條 - 向右移動一步" - -msgid "On/Off one layer mode of the vertical slider" -msgstr "開啟/關閉垂直滑動條的單層模式" - -msgid "On/Off G-code window" -msgstr "開啟/關閉 G-code 視窗" +msgid "Available while the 3D view on the Preview tab has focus." +msgstr "" msgid "Move slider 5x faster" msgstr "5 倍速移動滑動條" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Home" -msgstr "Home" +msgid "Scroll slider 5x faster" +msgstr "" -msgid "Horizontal slider - Move to start position" -msgstr "水平滑動條 - 移動到起始位置" +msgid "Not customizable" +msgstr "" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "End" -msgstr "End" +#, c-format, boost-format +msgid "%s is assigned to %s. Reassign it to %s?" +msgstr "" -msgid "Horizontal slider - Move to last position" -msgstr "水平滑動條 - 移動到最後位置" +#, c-format, boost-format +msgid "The default %s is assigned to %s. Reassign it to %s?" +msgstr "" + +msgid "Global shortcuts also apply while typing." +msgstr "" + +msgid "A key that types a character cannot be a global shortcut." +msgstr "" + +msgid "Esc cancels, Enter confirms." +msgstr "" + +#, c-format, boost-format +msgid "" +"Press the new shortcut for\n" +"\"%s\"" +msgstr "" + +#, c-format, boost-format +msgid "Already used as a step of %s." +msgstr "" + +#, c-format, boost-format +msgid "Already assigned to %s. Press OK to reassign it." +msgstr "" msgid "Release Note" msgstr "更新說明" @@ -12026,15 +12461,22 @@ msgstr "修復被取消" msgid "Copying of file %1% to %2% failed: %3%" msgstr "從 %1% 複製檔案到 %2% 失敗:%3%" +# AI Translated +msgid "Downloading new vendor profile(s): " +msgstr "正在下載新的廠牌設定檔: " + +# AI Translated +#, boost-format +msgid "Configuration package: %1% updated to %2%" +msgstr "設定檔:%1% 已更新到 %2%" + +# AI Translated +msgid "Failed to download vendor profile(s): " +msgstr "下載廠牌設定檔失敗: " + msgid "Please check any unsaved changes before updating the configuration." msgstr "在設定更新之前需要檢查未儲存的設定變更。" -msgid "Configuration package: " -msgstr "設定檔:" - -msgid " updated to " -msgstr "更新到 " - msgid "Open G-code file:" msgstr "開啟 G-code 檔案:" @@ -12094,11 +12536,15 @@ msgstr "" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2." msgstr "輸入整形僅受 Klipper、RepRapFirmware 和 Marlin 2 支援" -msgid "Grouping error: " -msgstr "分組錯誤:" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the left nozzle" +msgstr "分組錯誤:%1% 無法放入左噴嘴" -msgid " can not be placed in the " -msgstr "無法放置於" +# AI Translated +#, boost-format +msgid "Grouping error: %1% cannot be placed in the right nozzle" +msgstr "分組錯誤:%1% 無法放入右噴嘴" # AI Translated msgid "Group error in manual mode. Please check nozzle count or regroup." @@ -12212,6 +12658,10 @@ msgstr "%1% 離其它物件太近,可能會發生碰撞。" msgid "%1% is too tall, and collisions will be caused." msgstr "%1% 太高,會發生碰撞。" +# AI Translated +msgid "The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"." +msgstr "模型與換料塔的相對位置不符合「取消稀疏層」功能的需求。請調整兩者的相對位置、降低模型高度,或關閉「取消稀疏層」。" + msgid " is too close to exclusion area, there may be collisions when printing." msgstr "離淨空區域太近,列印時可能會發生碰撞。" @@ -12555,6 +13005,9 @@ msgstr "使用 3MF 取代 G-code" msgid "Enable this if the printer accepts a 3MF file as the print job. When enabled, Orca Slicer sends the sliced file as a .gcode.3mf, instead of a plain .gcode file." msgstr "若列印裝置接受 3MF 檔案作為列印作業,請啟用此選項。啟用後,Orca Slicer 會將切片後的檔案以 .gcode.3mf 形式傳送,而非單純的 .gcode 檔案。" +msgid "Printer Agent" +msgstr "列印裝置代理" + msgid "Select the network agent implementation for printer communication." msgstr "選擇用於列印裝置通訊的網路代理實作。" @@ -13572,6 +14025,10 @@ msgstr "直線排列" msgid "Concentric" msgstr "同心" +# AI Translated +msgid "Spiral Inset" +msgstr "螺旋內縮" + msgid "Hilbert Curve" msgstr "希爾伯特曲線" @@ -13663,13 +14120,13 @@ msgstr "頂面填充順序" # AI Translated msgid "" -"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which top surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"使用以中心為基礎的圖樣(同心、阿基米德弦線、八角星螺旋)時,頂面填充的方向。\n" -"「向外」從表面中心開始,因此多餘的材料會被推向最不明顯的邊緣。「向內」從邊緣開始,並以中心的緊密曲線結束。\n" -"預設使用最短路徑排序,方向可能為任一種。" +"使用以中心為起點的圖案(同心、螺旋內縮、阿基米德和弦、八角螺旋)時,頂面的填充方向。\n" +"向外從表面中心開始,多餘的材料會被推向邊緣,在該處最不明顯。向內從邊緣開始,並以中心處的緊密曲線結束。\n" +"預設使用最短路徑排序,方向可能為兩者之一。" # AI Translated msgid "Bottom surface fill order" @@ -13677,13 +14134,13 @@ msgstr "底面填充順序" # AI Translated msgid "" -"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +"Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Spiral Inset, Archimedean Chords, Octagram Spiral).\n" "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" "Default uses shortest-path ordering, which may run in either direction." msgstr "" -"使用以中心為基礎的圖樣(同心、阿基米德弦線、八角星螺旋)時,底面填充的方向。\n" -"「向內」讓每個表面從較寬的外側曲線開始,可改善中心緊密曲線可能無法附著的列印板上的第一層附著。「向外」從中心開始,將多餘的材料推向邊緣。\n" -"預設使用最短路徑排序,方向可能為任一種。" +"使用以中心為起點的圖案(同心、螺旋內縮、阿基米德和弦、八角螺旋)時,底面的填充方向。\n" +"向內讓每個表面從較寬的外側曲線開始,可改善首層在列印板上的黏著,尤其當中心處的緊密曲線不易黏牢時。向外從中心開始,將多餘的材料推向邊緣。\n" +"預設使用最短路徑排序,方向可能為兩者之一。" msgid "Internal solid infill pattern" msgstr "內部實心填充圖案" @@ -13782,6 +14239,14 @@ msgstr "逆時針" msgid "Clockwise" msgstr "順時針" +# AI Translated +msgid "Distance to rod" +msgstr "至桿件的距離" + +# AI Translated +msgid "Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing." +msgstr "噴嘴尖端到桿件較遠一側邊緣的水平距離。用於逐件列印時的避障。" + msgid "Height to rod" msgstr "到橫杆高度" @@ -15946,6 +16411,20 @@ msgstr "偵測懸空外牆" msgid "This detects the overhang percentage relative to line width and uses a different speed to print. For 100%% overhang, bridging speed is used." msgstr "偵測懸空相對於線寬的百分比,並套用不同的速度列印。100%% 的懸空將使用橋接速度。" +# AI Translated +msgid "Print unsupported walls last" +msgstr "最後列印無支撐的牆" + +# AI Translated +msgid "" +"Wall loops that lie entirely in mid air are printed once something can hold them:\n" +"they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" +"A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running alongside a supported wall keeps its place before the infill, which needs it as an anchor." +msgstr "" +"完全懸空的牆迴圈會等到有東西能夠承托它們時才列印:\n" +"無論牆的順序為何,它們都在同一島嶼的其他牆之後擠出,從最內側開始。\n" +"只能由本層橋接錨定的迴圈會等待這些橋接列印完成;而沿著有支撐的牆延伸的迴圈則保持在填充之前的位置,因為填充需要它作為錨點。" + msgid "Outer walls" msgstr "外牆" @@ -16381,6 +16860,39 @@ msgstr "閉環擦拭" msgid "To minimize the visibility of the seam in a closed loop extrusion, a small inward movement is executed before the extruder leaves the loop." msgstr "為了降低閉環擠出中接縫的可見性,在擠出機退出閉環前會進行一次微小的內縮移動。" +# AI Translated +msgid "Wipe inward" +msgstr "向內擦拭" + +# AI Translated +msgid "" +"Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n" +"\n" +"Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n" +"\n" +"Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or Outer/Inner wall order), or if no supported inward path can be found, for example at tight corners or seam gaps." +msgstr "" +"僅適用於外牆,包括孔洞邊界。擦拭時將高溫噴嘴移向已列印的內牆,以減少剛列印塑膠的二次受熱與接縫痕跡。\n" +"\n" +"在層高低於 0.1 mm 時特別有用,此時擦拭痕跡更明顯。\n" +"\n" +"若相鄰內牆尚未列印(單牆區域或外牆/內牆順序),或找不到有支撐的向內路徑(例如在銳角或接縫間隙處),則使用一般擦拭。" + +# AI Translated +msgid "Wipe inward distance" +msgstr "向內擦拭距離" + +# AI Translated +#, no-c-format, no-boost-format +msgid "" +"The distance the wipe path is shifted away from the external perimeter, specified in millimeters or as a percentage of the actual outer-wall extrusion width.\n" +"\n" +"For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited by both the actual outer-wall width and the available spacing to the adjacent wall, so values above 100% or an equivalent absolute distance have no additional effect. Set to 0 to disable the offset." +msgstr "" +"擦拭路徑偏離外牆輪廓的距離,以公釐或實際外牆擠出寬度的百分比指定。\n" +"\n" +"例如,50% 會將路徑偏移外牆寬度的一半。實際偏移量同時受實際外牆寬度與到相鄰牆的可用間距限制,因此超過 100% 的值或等效的絕對距離不會產生額外效果。設為 0 可停用偏移。" + msgid "Wipe before external loop" msgstr "外牆迴圈前的擦拭動作" @@ -16573,8 +17085,8 @@ msgstr "預熱階段" msgid "Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. For other printers, please set it to 1." msgstr "插入多條預熱指令(例如:M104.1)。此功能僅適用於 Prusa XL。其他列印裝置請將其設為 1。" -msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." -msgstr "G-code 寫在輸出檔案的最頂部,位於任何其他內容之前。對於新增列印裝置韌體從檔案第一行讀取的中繼資料(例如估計列印時間、線材使用情況)很有用。支援 {print_time_sec} 和 {used_filament_length} 等預留位置。" +msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}." +msgstr "" msgid "Start G-code" msgstr "起始 G-code" @@ -16635,8 +17147,9 @@ msgstr "取用新工具時不等待其達到列印溫度,先移動到換料塔 msgid "No sparse layers (beta)" msgstr "取消稀疏層(Beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "啟用此選項後,換料塔將不會在沒有工具更換的層中列印。在有工具更換的層中,擠出機將向下移動以列印換料塔。請使用者自行確保清洗塔與列印物之間不會發生碰撞。" +# AI Translated +msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower, so the tower ends up below the model and the toolhead has to reach down to it. Layouts where that would collide with an already printed object are rejected. Has no effect with smooth timelapse or clumping detection, which need a tower on every layer." +msgstr "啟用後,換料塔不會在沒有換工具的層上列印。在有換工具的層上,擠出機會向下移動去列印換料塔,因此塔會低於模型,工具頭必須向下伸到該處。若這樣會與已列印的物件發生碰撞,該配置將被拒絕。對平滑模式的縮時攝影或噴嘴結塊偵測無效,因為它們需要每層都有塔。" msgid "Prime all printing extruders" msgstr "所有擠出機畫線" @@ -16662,6 +17175,34 @@ msgstr "" msgid "Cyclic" msgstr "循環" +# AI Translated +msgid "Cyclic order" +msgstr "循環順序" + +# AI Translated +msgid "" +"Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" +"Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" +"Leave empty to cycle through the filaments in ascending order." +msgstr "" +"循環換工具排序所使用的自訂線材序列,以逗號分隔的線材編號表示(例如「3,2,1,4」)。\n" +"每一層依此序列列印其線材;未列出的線材最後列印,並依遞增順序排列。\n" +"留空則依遞增順序循環使用各線材。" + +# AI Translated +msgid "Apply cyclic order to first layer" +msgstr "對首層套用循環順序" + +# AI Translated +msgid "" +"Applies the cyclic toolchange order to the first layer as well.\n" +"By default this is disabled, because the first layer is instead ordered for the best bed adhesion: filaments that print small, fragile first-layer features are printed last, so the following tool changes and travel moves are less likely to knock those weakly anchored parts loose. This first-layer order also honors a custom first layer filament sequence when one is set. The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply to the first layer, which is printed slowly and hot for adhesion.\n" +"Enable this only if you need the exact same tool sequence on every layer, including the first, at the cost of that adhesion optimization." +msgstr "" +"將循環換工具順序同樣套用於首層。\n" +"預設為關閉,因為首層改為依最佳列印板黏著排序:列印首層細小脆弱特徵的線材會最後列印,如此後續的換工具與空駛就不易將這些附著薄弱的部分蹭掉。若已設定自訂首層線材序列,此首層順序也會遵循它。循環順序的好處(額外的換工具讓每層有更多冷卻時間)並不適用於首層,因為首層為了黏著會以慢速高溫列印。\n" +"僅當你需要包含首層在內的每一層都使用完全相同的換工具順序時才啟用此項,代價是失去上述黏著最佳化。" + msgid "Slice gap closing radius" msgstr "切片間隙閉合半徑" @@ -16671,9 +17212,6 @@ msgstr "在三角網格切片過程中,寬度小於 2 倍間隙閉合半徑的 msgid "Slicing Mode" msgstr "切片模式" -msgid "Other" -msgstr "其他" - msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." msgstr "針對 3DLabPrint 飛機模型,請選擇『奇偶』模式。若需閉合模型中的所有孔洞,請啟用『閉合孔洞』選項。" @@ -17587,9 +18125,6 @@ msgstr "線寬過大" msgid " not in range " msgstr " 不在合理的區間" -msgid "Export 3MF" -msgstr "匯出為 3MF 檔案" - msgid "This exports the project as a 3MF file." msgstr "將專案匯出為 3MF 檔案。" @@ -17605,9 +18140,6 @@ msgstr "載入切片資料" msgid "Load cached slicing data from directory." msgstr "從資料夾載入快取的切片資料" -msgid "Export STL" -msgstr "匯出為 STL 檔案" - msgid "Export the objects as single STL." msgstr "將所有物件匯出為單一 STL 檔案。" @@ -17659,6 +18191,14 @@ msgstr "不檢查" msgid "Do not run any validity checks, such as G-code path conflicts check." msgstr "不要執行任何有效性檢查,如 G-code 路徑衝突檢查。" +# AI Translated +msgid "Strict mode" +msgstr "嚴格模式" + +# AI Translated +msgid "Exit non-zero when slicing raises a non-critical warning that is otherwise only logged, such as a model that needs support while support is disabled. Use this in CI or scripted pipelines that should never ship a subtly broken slice. Each such warning is also listed with a stable class in the `warnings` array of result.json, which is written on Linux only. Cannot be combined with --no-check, which skips the support check." +msgstr "當切片產生原本僅記入日誌的非嚴重警告時(例如停用支撐卻需要支撐的模型),以非零狀態碼結束。請在絕不能交付存在隱蔽缺陷切片結果的 CI 或指令碼流程中使用。每一則此類警告還會以穩定的類別列在 result.json 的 `warnings` 陣列中,該檔案僅在 Linux 上產生。不能與 --no-check 同時使用,後者會略過支撐檢查。" + msgid "Normative check" msgstr "規範符合性偵測" @@ -17671,12 +18211,28 @@ msgstr "輸出模型資訊" msgid "This outputs the model’s information." msgstr "輸出模型資訊。" +# AI Translated +msgid "Inspect mesh (JSON to stdout)" +msgstr "檢查網格(JSON 輸出至 stdout)" + +# AI Translated +msgid "Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the convex hull faces it can be laid on, with their normals, areas and centers. These are the faces the --ground-* options choose from. Machine-readable alternative to --info." +msgstr "將每個已載入物件的 JSON 摘要輸出至 stdout,然後結束:包括其邊界框,以及可供放置的凸包面及其法線、面積與中心。--ground-* 選項正是從這些面中選擇。--info 的機器可讀替代方案。" + +# AI Translated +msgid "Inspect paint (JSON to stdout)" +msgstr "檢查繪製(JSON 輸出至 stdout)" + +# AI Translated +msgid "Print a structured JSON summary of every painted layer (supports, seam, MMU color, fuzzy-skin) already stored on the loaded model — per-state facet count, surface area, and mesh-local bounding box — then exit. Machine-readable alternative to opening the paint gizmos in the GUI." +msgstr "輸出已載入模型上已儲存的每個繪製圖層(支撐、接縫、MMU 顏色、絨毛表面)的結構化 JSON 摘要 — 每種狀態的面片數量、表面積與網格局部邊界框 — 然後結束。在圖形介面中開啟繪製工具的機器可讀替代方案。" + msgid "Export Settings" msgstr "匯出設定" # AI Translated -msgid "This exports settings to a file." -msgstr "將設定匯出至檔案。" +msgid "This exports settings to a file. Use - to write them to stdout." +msgstr "將設定匯出至檔案。使用 - 可將其寫入 stdout。" msgid "Send progress to pipe" msgstr "將進度傳送到 Pipe" @@ -17732,6 +18288,30 @@ msgstr "繞 Y 旋轉" msgid "Rotation angle around the Y axis in degrees." msgstr "繞 Y 軸的旋轉角度(以度為單位)。" +# AI Translated +msgid "Ground largest face" +msgstr "以最大面著床" + +# AI Translated +msgid "Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large faces, the one already facing down is kept. Objects without a face large enough to rest on are left as they are. Transforms run in command-line order, so rotations given before this option are respected. --orient 1 runs after all transforms and replaces the orientation." +msgstr "將每個物件以其凸包的最大面放置,並落到列印板上。若有多個同樣大的面,則保留已經朝下的那一個。沒有足夠大可供放置的面的物件維持原狀。變換依命令列中的先後順序執行,因此在此選項之前給定的旋轉會被保留。--orient 1 在所有變換之後執行,並會取代定向。" + +# AI Translated +msgid "Ground face by normal" +msgstr "依法線以指定面著床" + +# AI Translated +msgid "Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ and drop it onto the bed. The direction is in object coordinates, which include the rotations given before this option and match the plate axes unless the input file rotates the object. For example, 1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation." +msgstr "將每個物件以其凸包中外法線最接近方向 NX,NY,NZ 的面放置,並落到列印板上。該方向使用物件座標系,其中包含在此選項之前給定的旋轉;除非輸入檔案旋轉了該物件,否則它與列印板的座標軸一致。例如,1,0,0 會讓物件以 +X 面站立。--orient 1 在所有變換之後執行,並會取代定向。" + +# AI Translated +msgid "Ground face at point" +msgstr "以指定點所在面著床" + +# AI Translated +msgid "Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. The point is in object coordinates, which include the rotations given before this option; --inspect-mesh reports face centers in them. Objects without such a face are left as they are, and the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation." +msgstr "將每個物件以其凸包中包含點 X,Y,Z 的面放置,並落到列印板上。該點使用物件座標系,其中包含在此選項之前給定的旋轉;--inspect-mesh 回報的面中心也使用該座標系。沒有此類面的物件維持原狀;若所有物件都沒有此類面,則本次執行失敗。--orient 1 在所有變換之後執行,並會取代定向。" + msgid "Scale the model by a float factor." msgstr "依浮點數比例縮放模型" @@ -18029,12 +18609,36 @@ msgstr "使用的線材" msgid "Total length of filament used in the print." msgstr "列印所使用的線材總長度" -msgid "Print time (seconds)" -msgstr "列印時間(秒)" +msgid "Print time (total seconds)" +msgstr "" msgid "Total estimated print time in seconds. Replaced with actual value during post-processing." msgstr "預估列印總時間(秒)。後處理時將以實際值取代" +msgid "Print time (days component)" +msgstr "" + +msgid "Estimated print time day component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (hours component)" +msgstr "" + +msgid "Estimated print time hour component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (minutes component)" +msgstr "" + +msgid "Estimated print time minute component (normal mode). Replaced with actual value during post-processing." +msgstr "" + +msgid "Print time (seconds component)" +msgstr "" + +msgid "Estimated print time second component (normal mode). Replaced with actual value during post-processing." +msgstr "" + msgid "Filament length (meters)" msgstr "線材長度(公尺)" @@ -18265,9 +18869,6 @@ msgstr "檔案包含無效的頂點索引。" msgid "This OBJ file couldn't be read because it's empty." msgstr "無法讀取此 OBJ 檔案,因為它是空的。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大體積流量校正" - msgid "Manage Result" msgstr "管理結果" @@ -19113,9 +19714,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意:較高的值可能會導致層移位 (>%s)" -msgid "Flow Ratio Calibration" -msgstr "流量比例校正" - msgid "Calibration Test Type" msgstr "校正測試類型" @@ -19876,6 +20474,9 @@ msgstr "未偵測到有效的工作階段。要繼續登入 3DPrinterOS 嗎?" msgid "Success!" msgstr "成功!" +msgid "Generate API Key" +msgstr "" + msgid "Are you sure to log out?" msgstr "確認要登出嗎?" @@ -20832,6 +21433,18 @@ msgstr "此操作無法撤消。繼續?" msgid "Skipping objects." msgstr "跳過物件。" +# AI Translated +msgid "Material Ratio" +msgstr "材料比例" + +# AI Translated +msgid "Model Height" +msgstr "模型高度" + +# AI Translated +msgid "Ratio" +msgstr "比例" + msgid "Select Filament" msgstr "選擇線材" @@ -20863,13 +21476,6 @@ msgstr "Bambu 網路外掛程式用於雲端功能、印表機探索和遠端列 msgid "Error: %s" msgstr "錯誤:%s" -msgid "Show details" -msgstr "顯示詳細資訊" - -# AI Translated -msgid "Hide details" -msgstr "隱藏詳細資料" - msgid "Version to install:" msgstr "將安裝的版本:" @@ -21088,12 +21694,14 @@ msgid "Drying-Dehumidifying" msgstr "烘乾—除濕" # AI Translated -msgid " maximum drying temperature is " -msgstr " 最高烘乾溫度為 " +#, c-format, boost-format +msgid "%s maximum drying temperature is %d°C." +msgstr "%s 的最高烘乾溫度為 %d°C。" # AI Translated -msgid " minimum drying temperature is " -msgstr " 最低烘乾溫度為 " +#, c-format, boost-format +msgid "%s minimum drying temperature is %d°C." +msgstr "%s 的最低烘乾溫度為 %d°C。" # AI Translated msgid "This filament may not be completely dried." @@ -21238,6 +21846,2498 @@ msgstr "線材可能與目前的列印裝置設定不相容,將使用隨機線 msgid "The filament model is unknown. A random filament preset will be used." msgstr "線材型號未知,將使用隨機線材預設。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "結束" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底部" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "刪除" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Enter a number" +msgstr "" + +msgid "Not a number" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "Ins" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Home" +msgstr "Home" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "End" +msgstr "End" + +msgctxt "Keyboard Shortcut" +msgid "PgUp" +msgstr "" + +msgctxt "Keyboard Shortcut" +msgid "PgDn" +msgstr "" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Left" +msgstr "Arrow Left" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Right" +msgstr "Arrow Right" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Up" +msgstr "Arrow Up" + +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Arrow Down" +msgstr "Arrow Down" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "從 STL/STEP/3MF/OBJ/AMF 檔案中匯入幾何模型" + +msgid "Select all objects" +msgstr "選擇所有物件" + +msgid "Paste from clipboard" +msgstr "從剪貼簿貼上" + +msgid "Toggle printable for object/part" +msgstr "切換物件/零件的可列印屬性" + +# AI Translated +msgid "Move selection 10mm in negative X direction" +msgstr "將選取物件沿 X 軸負方向移動 10mm" + +# AI Translated +msgid "Move selection 10mm in positive X direction" +msgstr "將選取物件沿 X 軸正方向移動 10mm" + +# AI Translated +msgid "Move selection 10mm in positive Y direction" +msgstr "將選取物件沿 Y 軸正方向移動 10mm" + +# AI Translated +msgid "Move selection 10mm in negative Y direction" +msgstr "將選取物件沿 Y 軸負方向移動 10mm" + +msgid "Rotate selection 45 degrees counterclockwise" +msgstr "" + +msgid "Rotate selection 45 degrees clockwise" +msgstr "" + +msgid "Gizmo move" +msgstr "線框移動" + +msgid "Gizmo rotate" +msgstr "旋轉物件" + +msgid "Gizmo scale" +msgstr "線框縮放" + +msgid "Gizmo place face on bed" +msgstr "選擇底面" + +msgid "Gizmo cut" +msgstr "切割物件" + +msgid "Gizmo mesh boolean" +msgstr "線框網格布林運算" + +msgid "Gizmo FDM paint-on supports" +msgstr "" + +msgid "Gizmo FDM paint-on seam" +msgstr "FDM 塗裝接縫" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM 塗刷絨毛表面效果" + +msgid "Gizmo multi-material painting" +msgstr "" + +msgid "Gizmo text emboss/engrave" +msgstr "浮雕/雕刻文字工具" + +msgid "Gizmo measure" +msgstr "測量" + +msgid "Gizmo assemble" +msgstr "組裝" + +msgid "Gizmo brim ears" +msgstr "擴邊耳工具" + +msgid "Vertical slider - Move active thumb Up" +msgstr "垂直滑動條 - 向上移動一層" + +msgid "Vertical slider - Move active thumb Down" +msgstr "垂直滑動條 - 向下移動一層" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "水平滑動條 - 向左移動一步" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "水平滑動條 - 向右移動一步" + +msgid "Horizontal slider - Move to start position" +msgstr "水平滑動條 - 移動到起始位置" + +msgid "Horizontal slider - Move to last position" +msgstr "水平滑動條 - 移動到最後位置" + +msgid "Camera view - Default" +msgstr "攝影機視角 - 預設" + +msgid "Camera view - Top" +msgstr "攝影機視角 - 頂部" + +msgid "Camera view - Bottom" +msgstr "攝影機視角 - 底部" + +msgid "Camera view - Front" +msgstr "攝影機視角 - 前面" + +msgid "Camera view - Behind" +msgstr "攝影機視角 - 後面" + +msgid "Camera Angle - Left side" +msgstr "攝影機視角 - 左面" + +msgid "Camera Angle - Right side" +msgstr "攝影機視角 - 右面" + +msgid "Camera view - Current plate" +msgstr "" + +msgid "Zoom in" +msgstr "放大" + +msgid "Zoom out" +msgstr "縮小" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "顯示/隱藏 3Dconnexion 裝置的設定對話框" + +msgid "Show/Hide wireframe" +msgstr "" + +msgid "On/Off G-code window" +msgstr "開啟/關閉 G-code 視窗" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "開啟/關閉垂直滑動條的單層模式" + +msgid "Switch between Prepare/Preview" +msgstr "在準備/預覽模式之中切換" + +msgid "Collapse/Expand the sidebar" +msgstr "摺疊/展開 側邊欄" + +msgid "Open the speed dial" +msgstr "" + +msgid "Reload the device page" +msgstr "" + +msgid "Show keyboard shortcuts list" +msgstr "顯示鍵盤快速鍵清單" + +msgid "Slicing and printing" +msgstr "" + +msgid "Editing" +msgstr "" + +msgid "Placement" +msgstr "" + +msgid "Gizmos" +msgstr "" + +msgid "Sliders" +msgstr "" + +msgid "Painting tools" +msgstr "" + +msgid "Application" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21559,6 +24659,155 @@ msgstr "" "避免翹曲\n" "您知道嗎?當列印容易翹曲的材料(如 ABS)時,適當提高熱床溫度可以降低翹曲的機率。" +#~ msgid "Tab" +#~ msgstr "分頁" + +#~ msgid "Displays current viewport FPS in the top-right corner." +#~ msgstr "在右上角顯示目前視埠的 FPS。" + +# AI Translated +#~ msgid "Publish 3MF Wiki" +#~ msgstr "發布 3MF Wiki" + +# AI Translated +#~ msgid "Publish 3MF Video Guide" +#~ msgstr "發布 3MF 影片指南" + +#~ msgid "Toolbar" +#~ msgstr "工具欄" + +#~ msgid "Switch table page" +#~ msgstr "切換表單頁面" + +#~ msgid "Global shortcuts" +#~ msgstr "全域快速鍵" + +#~ msgid "Middle mouse button" +#~ msgstr "滑鼠中鍵" + +#~ msgid "Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project." +#~ msgstr "自動旋轉選取的物件或所有物件的方向。當有物件被選取時,僅自動旋轉選取的物件。無選取的物件時,會自動旋轉專案中的所有物件。" + +#~ msgid "Auto orients all objects on the active plate." +#~ msgstr "自動旋轉目前板上所有物件的方向" + +#~ msgid "Any arrow" +#~ msgstr "任意方向鍵" + +#~ msgid "Gizmo SLA support points" +#~ msgstr "SLA 支撐點" + +#~ msgid "Plater" +#~ msgstr "準備" + +#~ msgid "Gizmo" +#~ msgstr "浮雕" + +#~ msgid "Delete objects, parts, modifiers" +#~ msgstr "刪除物件、零件、修改器" + +#~ msgid "Objects List" +#~ msgstr "物件清單" + +#~ msgid "G-code written at the very top of the output file, before any other content. Useful for adding metadata that printer firmware reads from the first lines of the file (e.g. estimated print time, filament usage). Supports placeholders like {print_time_sec} and {used_filament_length}." +#~ msgstr "G-code 寫在輸出檔案的最頂部,位於任何其他內容之前。對於新增列印裝置韌體從檔案第一行讀取的中繼資料(例如估計列印時間、線材使用情況)很有用。支援 {print_time_sec} 和 {used_filament_length} 等預留位置。" + +#~ msgid "Print time (seconds)" +#~ msgstr "列印時間(秒)" + +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "開啟操作快捷選單" + +# AI Translated +#~ msgid "Left: " +#~ msgstr "左: " + +# AI Translated +#~ msgid "Right: " +#~ msgstr "右: " + +#~ msgid "The maximum temperature cannot exceed " +#~ msgstr "最高溫度不能超過 " + +#~ msgid "The minmum temperature should not be less than " +#~ msgstr "最低溫度不應低於 " + +#~ msgid "up to" +#~ msgstr "達到" + +#~ msgid "above" +#~ msgstr "高於" + +#~ msgid "from" +#~ msgstr "從" + +#~ msgid "Configuration package: " +#~ msgstr "設定檔:" + +#~ msgid " updated to " +#~ msgstr "更新到 " + +#~ msgid "Grouping error: " +#~ msgstr "分組錯誤:" + +#~ msgid " can not be placed in the " +#~ msgstr "無法放置於" + +# AI Translated +#~ msgid " maximum drying temperature is " +#~ msgstr " 最高烘乾溫度為 " + +# AI Translated +#~ msgid " minimum drying temperature is " +#~ msgstr " 最低烘乾溫度為 " + +# AI Translated +#~ msgid "needs" +#~ msgstr "需要" + +# AI Translated +#~ msgid "not enabled" +#~ msgstr "未啟用" + +# AI Translated +#~ msgid "material not published" +#~ msgstr "材料未發布" + +#~ msgid "Select the language" +#~ msgstr "選擇語言" + +# AI Translated +#~ msgid "Select plugin" +#~ msgstr "選擇外掛" + +# AI Translated +#~ msgid "" +#~ "Direction in which top surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Outward starts at the center of the surface, so any excess material is pushed towards the edge where it is least visible. Inward starts at the edge and ends with the tight curves at the center.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "使用以中心為基礎的圖樣(同心、阿基米德弦線、八角星螺旋)時,頂面填充的方向。\n" +#~ "「向外」從表面中心開始,因此多餘的材料會被推向最不明顯的邊緣。「向內」從邊緣開始,並以中心的緊密曲線結束。\n" +#~ "預設使用最短路徑排序,方向可能為任一種。" + +# AI Translated +#~ msgid "" +#~ "Direction in which bottom surfaces are filled when using a center-based pattern (Concentric, Archimedean Chords, Octagram Spiral).\n" +#~ "Inward starts each surface with the wider outer curves, which improves first layer adhesion on build plates where the tight curves at the center may not stick. Outward starts at the center, pushing any excess material towards the edge.\n" +#~ "Default uses shortest-path ordering, which may run in either direction." +#~ msgstr "" +#~ "使用以中心為基礎的圖樣(同心、阿基米德弦線、八角星螺旋)時,底面填充的方向。\n" +#~ "「向內」讓每個表面從較寬的外側曲線開始,可改善中心緊密曲線可能無法附著的列印板上的第一層附著。「向外」從中心開始,將多餘的材料推向邊緣。\n" +#~ "預設使用最短路徑排序,方向可能為任一種。" + +#~ msgid "If enabled, the wipe tower will not be printed on layers with no tool changes. On layers with a tool change, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +#~ msgstr "啟用此選項後,換料塔將不會在沒有工具更換的層中列印。在有工具更換的層中,擠出機將向下移動以列印換料塔。請使用者自行確保清洗塔與列印物之間不會發生碰撞。" + +# AI Translated +#~ msgid "This exports settings to a file." +#~ msgstr "將設定匯出至檔案。" + #~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer." #~ msgstr "原生 Wayland 即時檢視需要 GStreamer GTK 視訊接收器。請為 GStreamer 安裝 gtksink 外掛程式,然後重新啟動 OrcaSlicer。" @@ -21611,9 +24860,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "每一層的列印順序" -#~ msgid "Bottom" -#~ msgstr "底部" - #~ msgid "Front" #~ msgstr "前面" @@ -21626,9 +24872,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "刪除" - #~ msgid "Backspace" #~ msgstr "Backspace" @@ -21644,9 +24887,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "右箭頭" -#~ msgid "End" -#~ msgstr "結束" - #~ msgid "Hotend" #~ msgstr "熱端" diff --git a/resources/data/hints.ini b/resources/data/hints.ini index 15d2758551..a71fb868f9 100644 --- a/resources/data/hints.ini +++ b/resources/data/hints.ini @@ -75,7 +75,7 @@ documentation_link = https://www.orcaslicer.com/wiki/material_temperatures#print [hint:Calibration] text = Calibration\nDid you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer. -documentation_link = https://www.orcaslicer.com/wiki/calibration +documentation_link = https://www.orcaslicer.com/wiki/calibration_guide [hint:Auxiliary fan] text = Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan? diff --git a/resources/images/action_default.svg b/resources/images/action_default.svg new file mode 100644 index 0000000000..118f4792a6 --- /dev/null +++ b/resources/images/action_default.svg @@ -0,0 +1,2 @@ + + diff --git a/resources/images/color_palette.svg b/resources/images/color_palette.svg new file mode 100644 index 0000000000..8448a364aa --- /dev/null +++ b/resources/images/color_palette.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/resources/images/design_arc3pt.svg b/resources/images/design_arc3pt.svg new file mode 100644 index 0000000000..1b40569b4f --- /dev/null +++ b/resources/images/design_arc3pt.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_arc_center.svg b/resources/images/design_arc_center.svg new file mode 100644 index 0000000000..e4c85febfc --- /dev/null +++ b/resources/images/design_arc_center.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_array.svg b/resources/images/design_array.svg new file mode 100644 index 0000000000..d29da47bd7 --- /dev/null +++ b/resources/images/design_array.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_boolean.svg b/resources/images/design_boolean.svg new file mode 100644 index 0000000000..97813cf2eb --- /dev/null +++ b/resources/images/design_boolean.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/design_bspline.svg b/resources/images/design_bspline.svg new file mode 100644 index 0000000000..16a5dc9b31 --- /dev/null +++ b/resources/images/design_bspline.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_angle.svg b/resources/images/design_c_angle.svg new file mode 100644 index 0000000000..2359b23b6a --- /dev/null +++ b/resources/images/design_c_angle.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_coincident.svg b/resources/images/design_c_coincident.svg new file mode 100644 index 0000000000..83ab602eca --- /dev/null +++ b/resources/images/design_c_coincident.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_collinear.svg b/resources/images/design_c_collinear.svg new file mode 100644 index 0000000000..28b8b6a8cd --- /dev/null +++ b/resources/images/design_c_collinear.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_concentric.svg b/resources/images/design_c_concentric.svg new file mode 100644 index 0000000000..9861381b58 --- /dev/null +++ b/resources/images/design_c_concentric.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_diameter.svg b/resources/images/design_c_diameter.svg new file mode 100644 index 0000000000..8e3766c4dc --- /dev/null +++ b/resources/images/design_c_diameter.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_dist_x.svg b/resources/images/design_c_dist_x.svg new file mode 100644 index 0000000000..e811a58df6 --- /dev/null +++ b/resources/images/design_c_dist_x.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_dist_y.svg b/resources/images/design_c_dist_y.svg new file mode 100644 index 0000000000..5aefec85ee --- /dev/null +++ b/resources/images/design_c_dist_y.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_equal.svg b/resources/images/design_c_equal.svg new file mode 100644 index 0000000000..f0657b74b0 --- /dev/null +++ b/resources/images/design_c_equal.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_equal_radius.svg b/resources/images/design_c_equal_radius.svg new file mode 100644 index 0000000000..4d7ccf2c5c --- /dev/null +++ b/resources/images/design_c_equal_radius.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_fix.svg b/resources/images/design_c_fix.svg new file mode 100644 index 0000000000..b64024286e --- /dev/null +++ b/resources/images/design_c_fix.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_horizontal.svg b/resources/images/design_c_horizontal.svg new file mode 100644 index 0000000000..9804a8ad82 --- /dev/null +++ b/resources/images/design_c_horizontal.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_midpoint.svg b/resources/images/design_c_midpoint.svg new file mode 100644 index 0000000000..6646a6cc1e --- /dev/null +++ b/resources/images/design_c_midpoint.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_parallel.svg b/resources/images/design_c_parallel.svg new file mode 100644 index 0000000000..cc78f9c452 --- /dev/null +++ b/resources/images/design_c_parallel.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_perpendicular.svg b/resources/images/design_c_perpendicular.svg new file mode 100644 index 0000000000..9a67cebb2b --- /dev/null +++ b/resources/images/design_c_perpendicular.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_radius.svg b/resources/images/design_c_radius.svg new file mode 100644 index 0000000000..5e1f1cdadf --- /dev/null +++ b/resources/images/design_c_radius.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_sym_h.svg b/resources/images/design_c_sym_h.svg new file mode 100644 index 0000000000..4e152787b1 --- /dev/null +++ b/resources/images/design_c_sym_h.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_sym_v.svg b/resources/images/design_c_sym_v.svg new file mode 100644 index 0000000000..f4cd99371a --- /dev/null +++ b/resources/images/design_c_sym_v.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_symmetric.svg b/resources/images/design_c_symmetric.svg new file mode 100644 index 0000000000..7a539be9a3 --- /dev/null +++ b/resources/images/design_c_symmetric.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_tangent.svg b/resources/images/design_c_tangent.svg new file mode 100644 index 0000000000..e82d23240d --- /dev/null +++ b/resources/images/design_c_tangent.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_c_vertical.svg b/resources/images/design_c_vertical.svg new file mode 100644 index 0000000000..98526e93d7 --- /dev/null +++ b/resources/images/design_c_vertical.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_chamfer.svg b/resources/images/design_chamfer.svg new file mode 100644 index 0000000000..861f7b819a --- /dev/null +++ b/resources/images/design_chamfer.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_check.svg b/resources/images/design_check.svg new file mode 100644 index 0000000000..82d5edd48e --- /dev/null +++ b/resources/images/design_check.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_circle.svg b/resources/images/design_circle.svg new file mode 100644 index 0000000000..edc74b13ea --- /dev/null +++ b/resources/images/design_circle.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_circle2pt.svg b/resources/images/design_circle2pt.svg new file mode 100644 index 0000000000..844b0797eb --- /dev/null +++ b/resources/images/design_circle2pt.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_circle3pt.svg b/resources/images/design_circle3pt.svg new file mode 100644 index 0000000000..6fdbab2474 --- /dev/null +++ b/resources/images/design_circle3pt.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_constrain.svg b/resources/images/design_constrain.svg new file mode 100644 index 0000000000..cc9be6ca9b --- /dev/null +++ b/resources/images/design_constrain.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_construction.svg b/resources/images/design_construction.svg new file mode 100644 index 0000000000..89d10f424d --- /dev/null +++ b/resources/images/design_construction.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_crect.svg b/resources/images/design_crect.svg new file mode 100644 index 0000000000..9e2ece0c24 --- /dev/null +++ b/resources/images/design_crect.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_cut.svg b/resources/images/design_cut.svg new file mode 100644 index 0000000000..3f68a7002e --- /dev/null +++ b/resources/images/design_cut.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/design_delete.svg b/resources/images/design_delete.svg new file mode 100644 index 0000000000..f5d5c6a1c7 --- /dev/null +++ b/resources/images/design_delete.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_dimension.svg b/resources/images/design_dimension.svg new file mode 100644 index 0000000000..f456abb6fc --- /dev/null +++ b/resources/images/design_dimension.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_draft.svg b/resources/images/design_draft.svg new file mode 100644 index 0000000000..2957584cb8 --- /dev/null +++ b/resources/images/design_draft.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_dressup.svg b/resources/images/design_dressup.svg new file mode 100644 index 0000000000..cc2a09250e --- /dev/null +++ b/resources/images/design_dressup.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_edit.svg b/resources/images/design_edit.svg new file mode 100644 index 0000000000..4de84fc390 --- /dev/null +++ b/resources/images/design_edit.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_ellipse.svg b/resources/images/design_ellipse.svg new file mode 100644 index 0000000000..1f946eb5fa --- /dev/null +++ b/resources/images/design_ellipse.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_ellipse_arc.svg b/resources/images/design_ellipse_arc.svg new file mode 100644 index 0000000000..e9cd4aa66a --- /dev/null +++ b/resources/images/design_ellipse_arc.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_extend.svg b/resources/images/design_extend.svg new file mode 100644 index 0000000000..9d4934fada --- /dev/null +++ b/resources/images/design_extend.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_extrude.svg b/resources/images/design_extrude.svg new file mode 100644 index 0000000000..8137336fb2 --- /dev/null +++ b/resources/images/design_extrude.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_eye.svg b/resources/images/design_eye.svg new file mode 100644 index 0000000000..97296c7465 --- /dev/null +++ b/resources/images/design_eye.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_filletedge.svg b/resources/images/design_filletedge.svg new file mode 100644 index 0000000000..435d7c2cb9 --- /dev/null +++ b/resources/images/design_filletedge.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_hole.svg b/resources/images/design_hole.svg new file mode 100644 index 0000000000..35128ef51e --- /dev/null +++ b/resources/images/design_hole.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_line.svg b/resources/images/design_line.svg new file mode 100644 index 0000000000..afb644ba3f --- /dev/null +++ b/resources/images/design_line.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_loft.svg b/resources/images/design_loft.svg new file mode 100644 index 0000000000..4529b52554 --- /dev/null +++ b/resources/images/design_loft.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_mirror.svg b/resources/images/design_mirror.svg new file mode 100644 index 0000000000..0a9642f8f3 --- /dev/null +++ b/resources/images/design_mirror.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_move.svg b/resources/images/design_move.svg new file mode 100644 index 0000000000..dba4f4f4c2 --- /dev/null +++ b/resources/images/design_move.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_movedown.svg b/resources/images/design_movedown.svg new file mode 100644 index 0000000000..89c442dc6e --- /dev/null +++ b/resources/images/design_movedown.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_moveup.svg b/resources/images/design_moveup.svg new file mode 100644 index 0000000000..b2fe5ec127 --- /dev/null +++ b/resources/images/design_moveup.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_offset.svg b/resources/images/design_offset.svg new file mode 100644 index 0000000000..74758ad0ba --- /dev/null +++ b/resources/images/design_offset.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_pattern.svg b/resources/images/design_pattern.svg new file mode 100644 index 0000000000..c07708509b --- /dev/null +++ b/resources/images/design_pattern.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_plane.svg b/resources/images/design_plane.svg new file mode 100644 index 0000000000..8a3886158f --- /dev/null +++ b/resources/images/design_plane.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_point.svg b/resources/images/design_point.svg new file mode 100644 index 0000000000..dd5d750545 --- /dev/null +++ b/resources/images/design_point.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_polararray.svg b/resources/images/design_polararray.svg new file mode 100644 index 0000000000..5e91d49f73 --- /dev/null +++ b/resources/images/design_polararray.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_polygon.svg b/resources/images/design_polygon.svg new file mode 100644 index 0000000000..de5cfd6f20 --- /dev/null +++ b/resources/images/design_polygon.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_polyline.svg b/resources/images/design_polyline.svg new file mode 100644 index 0000000000..96538abea7 --- /dev/null +++ b/resources/images/design_polyline.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_rect.svg b/resources/images/design_rect.svg new file mode 100644 index 0000000000..67b70cc6a1 --- /dev/null +++ b/resources/images/design_rect.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_rect_oblique.svg b/resources/images/design_rect_oblique.svg new file mode 100644 index 0000000000..5d252ca677 --- /dev/null +++ b/resources/images/design_rect_oblique.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_rect_rounded.svg b/resources/images/design_rect_rounded.svg new file mode 100644 index 0000000000..a8c7022c87 --- /dev/null +++ b/resources/images/design_rect_rounded.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_revolve.svg b/resources/images/design_revolve.svg new file mode 100644 index 0000000000..3a0e87f6f4 --- /dev/null +++ b/resources/images/design_revolve.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_rib.svg b/resources/images/design_rib.svg new file mode 100644 index 0000000000..b481e38d23 --- /dev/null +++ b/resources/images/design_rib.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_rotate.svg b/resources/images/design_rotate.svg new file mode 100644 index 0000000000..5a9b48ebfe --- /dev/null +++ b/resources/images/design_rotate.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_scale.svg b/resources/images/design_scale.svg new file mode 100644 index 0000000000..5a53562ba3 --- /dev/null +++ b/resources/images/design_scale.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_select.svg b/resources/images/design_select.svg new file mode 100644 index 0000000000..6f2e4f4ae9 --- /dev/null +++ b/resources/images/design_select.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_shell.svg b/resources/images/design_shell.svg new file mode 100644 index 0000000000..aa11b572e6 --- /dev/null +++ b/resources/images/design_shell.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_sketch.svg b/resources/images/design_sketch.svg new file mode 100644 index 0000000000..102a9fe493 --- /dev/null +++ b/resources/images/design_sketch.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_slot.svg b/resources/images/design_slot.svg new file mode 100644 index 0000000000..f1c72f8c54 --- /dev/null +++ b/resources/images/design_slot.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_slot_arc.svg b/resources/images/design_slot_arc.svg new file mode 100644 index 0000000000..f17ab89144 --- /dev/null +++ b/resources/images/design_slot_arc.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_step.svg b/resources/images/design_step.svg new file mode 100644 index 0000000000..4bdf7811ff --- /dev/null +++ b/resources/images/design_step.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_surface.svg b/resources/images/design_surface.svg new file mode 100644 index 0000000000..1299dd1a97 --- /dev/null +++ b/resources/images/design_surface.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_svg.svg b/resources/images/design_svg.svg new file mode 100644 index 0000000000..34a0685153 --- /dev/null +++ b/resources/images/design_svg.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_sweep.svg b/resources/images/design_sweep.svg new file mode 100644 index 0000000000..f1cc301b1e --- /dev/null +++ b/resources/images/design_sweep.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_tangentarc.svg b/resources/images/design_tangentarc.svg new file mode 100644 index 0000000000..9e53da5c8e --- /dev/null +++ b/resources/images/design_tangentarc.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_text.svg b/resources/images/design_text.svg new file mode 100644 index 0000000000..78da223f62 --- /dev/null +++ b/resources/images/design_text.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_thicken.svg b/resources/images/design_thicken.svg new file mode 100644 index 0000000000..bfcd356cfa --- /dev/null +++ b/resources/images/design_thicken.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_thread.svg b/resources/images/design_thread.svg new file mode 100644 index 0000000000..9bff4d778b --- /dev/null +++ b/resources/images/design_thread.svg @@ -0,0 +1 @@ + diff --git a/resources/images/design_trim.svg b/resources/images/design_trim.svg new file mode 100644 index 0000000000..405e9fe3c4 --- /dev/null +++ b/resources/images/design_trim.svg @@ -0,0 +1 @@ + diff --git a/resources/images/edit_12px.svg b/resources/images/edit_12px.svg new file mode 100644 index 0000000000..b77ddc2b4e --- /dev/null +++ b/resources/images/edit_12px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/menu_publish.svg b/resources/images/menu_publish.svg new file mode 100644 index 0000000000..e444623e33 --- /dev/null +++ b/resources/images/menu_publish.svg @@ -0,0 +1 @@ + diff --git a/resources/images/param_add.svg b/resources/images/param_add.svg index 71ea5092af..b00140b68a 100644 --- a/resources/images/param_add.svg +++ b/resources/images/param_add.svg @@ -1,8 +1,4 @@ - - - - Layer 1 - - - - + + + + \ No newline at end of file diff --git a/resources/images/tab_design_active.svg b/resources/images/tab_design_active.svg new file mode 100644 index 0000000000..36ffc87ee5 --- /dev/null +++ b/resources/images/tab_design_active.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/toolbar_modifier_cube_dark.svg b/resources/images/toolbar_modifier_cube_dark.svg new file mode 100644 index 0000000000..7e20cd0dd5 --- /dev/null +++ b/resources/images/toolbar_modifier_cube_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/toolbar_sketch.svg b/resources/images/toolbar_sketch.svg new file mode 100644 index 0000000000..351b3e7924 --- /dev/null +++ b/resources/images/toolbar_sketch.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/resources/images/toolbar_sketch_dark.svg b/resources/images/toolbar_sketch_dark.svg new file mode 100644 index 0000000000..e5cf8d6859 --- /dev/null +++ b/resources/images/toolbar_sketch_dark.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/resources/profiles/Afinia.json b/resources/profiles/Afinia.json index 517d0148c3..e65ced0f68 100644 --- a/resources/profiles/Afinia.json +++ b/resources/profiles/Afinia.json @@ -1,6 +1,6 @@ { "name": "Afinia", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "Afinia configurations", "machine_model_list": [ diff --git a/resources/profiles/Afinia/machine/Afinia H+1(HS).json b/resources/profiles/Afinia/machine/Afinia H+1(HS).json index fc724895ef..87e6a0e6a6 100644 --- a/resources/profiles/Afinia/machine/Afinia H+1(HS).json +++ b/resources/profiles/Afinia/machine/Afinia H+1(HS).json @@ -8,5 +8,5 @@ "bed_model": "", "bed_texture": "", "hotend_model": "", - "default_materials": "Afinia ABS;Afinia PLA" + "default_materials": "Afinia ABS@HS;Afinia PLA@HS" } diff --git a/resources/profiles/Afinia/machine/fdm_afinia_common.json b/resources/profiles/Afinia/machine/fdm_afinia_common.json index 9a567074ca..2ddf8bbd40 100644 --- a/resources/profiles/Afinia/machine/fdm_afinia_common.json +++ b/resources/profiles/Afinia/machine/fdm_afinia_common.json @@ -1,9 +1,9 @@ { "type": "machine", "name": "fdm_afinia_common", + "inherits": "fdm_machine_common", "from": "system", "instantiation": "false", - "inherits": "fdm_machine_common", "gcode_flavor": "klipper", "machine_max_acceleration_e": [ "5000", @@ -117,15 +117,12 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ "1" ], - "default_filament_profile": [ - "" - ], + "default_filament_profile": [], "default_print_profile": "0.20mm Standard @Afinia H+1(HS)", "bed_exclude_area": [ "0x0" diff --git a/resources/profiles/Afinia/machine/fdm_machine_common.json b/resources/profiles/Afinia/machine/fdm_machine_common.json index d4a5c3be25..fbe40f97e3 100644 --- a/resources/profiles/Afinia/machine/fdm_machine_common.json +++ b/resources/profiles/Afinia/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Afinia/process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json index 571fdf3e01..8f1a939266 100644 --- a/resources/profiles/Afinia/process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.18mm Fine @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a smaller layer height and results in smoother surface and higher printing quality.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Afinia H+1(HS) 0.6 nozzle" ] diff --git a/resources/profiles/Afinia/process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json index 1d984a149d..3a3c297454 100644 --- a/resources/profiles/Afinia/process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.24mm Standard @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a balanced layer height for good quality and reasonable printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Afinia H+1(HS) 0.6 nozzle" ] diff --git a/resources/profiles/Afinia/process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json index 187bb12009..ed544ebe3f 100644 --- a/resources/profiles/Afinia/process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.30mm Standard @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Afinia H+1(HS) 0.6 nozzle" ] diff --git a/resources/profiles/Afinia/process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json index 63fc4df090..6a87a835c9 100644 --- a/resources/profiles/Afinia/process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.30mm Strength @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height with optimized settings for stronger parts.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "sparse_infill_density": "25%", "wall_loops": "3", "compatible_printers": [ diff --git a/resources/profiles/Afinia/process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json index c693fc468b..0417c687ec 100644 --- a/resources/profiles/Afinia/process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.36mm Draft @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a bigger layer height for faster printing but with more visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Afinia H+1(HS) 0.6 nozzle" ] diff --git a/resources/profiles/Afinia/process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json b/resources/profiles/Afinia/process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json index e9f4057178..5dcb70660c 100644 --- a/resources/profiles/Afinia/process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json +++ b/resources/profiles/Afinia/process/0.42mm Extra Draft @Afinia H+1(HS) 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has the biggest layer height for fastest printing but with very visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Afinia H+1(HS) 0.6 nozzle" ] diff --git a/resources/profiles/Afinia/process/fdm_process_afinia_common.json b/resources/profiles/Afinia/process/fdm_process_afinia_common.json index 04c0e678ec..803080ada3 100644 --- a/resources/profiles/Afinia/process/fdm_process_afinia_common.json +++ b/resources/profiles/Afinia/process/fdm_process_afinia_common.json @@ -21,7 +21,6 @@ "top_surface_acceleration": "2000", "initial_layer_acceleration": "500", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_line_width": "0.5", "initial_layer_speed": "50", "initial_layer_infill_speed": "90", diff --git a/resources/profiles/Afinia/process/fdm_process_common.json b/resources/profiles/Afinia/process/fdm_process_common.json index ca4d181e78..26eb3a50a0 100644 --- a/resources/profiles/Afinia/process/fdm_process_common.json +++ b/resources/profiles/Afinia/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "50", diff --git a/resources/profiles/Anker.json b/resources/profiles/Anker.json index 098b1df003..945378db9c 100644 --- a/resources/profiles/Anker.json +++ b/resources/profiles/Anker.json @@ -1,6 +1,6 @@ { "name": "Anker", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "Anker configurations", "machine_model_list": [ diff --git a/resources/profiles/Anker/machine/Anker M5 All-Metal Hot End.json b/resources/profiles/Anker/machine/Anker M5 All-Metal Hot End.json index 7fade72381..d88abdbda4 100644 --- a/resources/profiles/Anker/machine/Anker M5 All-Metal Hot End.json +++ b/resources/profiles/Anker/machine/Anker M5 All-Metal Hot End.json @@ -7,5 +7,5 @@ "family": "Anker", "machine_tech": "FFF", "model_id": "V8111v2", - "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker" + "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker;Generic PLA @Anker 0.2 nozzle;Generic PLA @Anker 0.25 nozzle" } diff --git a/resources/profiles/Anker/machine/Anker M5.json b/resources/profiles/Anker/machine/Anker M5.json index 5c9839d1ff..6cafaebd42 100644 --- a/resources/profiles/Anker/machine/Anker M5.json +++ b/resources/profiles/Anker/machine/Anker M5.json @@ -7,5 +7,5 @@ "family": "Anker", "machine_tech": "FFF", "model_id": "V8111", - "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker" + "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker;Generic PLA @Anker 0.2 nozzle;Generic PLA @Anker 0.25 nozzle" } diff --git a/resources/profiles/Anker/machine/Anker M5C.json b/resources/profiles/Anker/machine/Anker M5C.json index cf539851e5..91cd139cd8 100644 --- a/resources/profiles/Anker/machine/Anker M5C.json +++ b/resources/profiles/Anker/machine/Anker M5C.json @@ -7,5 +7,5 @@ "family": "Anker", "machine_tech": "FFF", "model_id": "V81101C3", - "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker" + "default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker;Generic PLA @Anker 0.2 nozzle;Generic PLA @Anker 0.25 nozzle" } diff --git a/resources/profiles/Anker/machine/fdm_machine_common.json b/resources/profiles/Anker/machine/fdm_machine_common.json index 76e4568f42..b486b69bc1 100644 --- a/resources/profiles/Anker/machine/fdm_machine_common.json +++ b/resources/profiles/Anker/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "extruder_offset": [ "0x0" ], - "silent_mode": "0", "machine_max_acceleration_e": [ "4000" ], diff --git a/resources/profiles/Anker/machine/fdm_marlin_common.json b/resources/profiles/Anker/machine/fdm_marlin_common.json index 4db7d1aef0..23dd8ea7c5 100644 --- a/resources/profiles/Anker/machine/fdm_marlin_common.json +++ b/resources/profiles/Anker/machine/fdm_marlin_common.json @@ -6,6 +6,7 @@ "instantiation": "false", "gcode_flavor": "marlin2", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n", + "file_start_gcode": ";TIME:{print_time_sec}s", "machine_start_gcode": "M4899 T3 ; Enable v3 jerk and S-curve acceleration \nM104 S150 ; Set hotend temp to 150 degrees to prevent ooze\nM190 S{first_layer_bed_temperature[0]} ; set and wait for bed temp to stabilize\nM109 S{first_layer_temperature[0]} ; set final nozzle temp to stabilize\nG28 ;Home\n;LAYER_COUNT:{total_layer_count}", "machine_end_gcode": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM18", "change_filament_gcode": "M600", diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 205fd359d8..bb0eedbd91 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -1,6 +1,6 @@ { "name": "Anycubic", - "version": "02.04.00.03", + "version": "02.04.00.07", "force_update": "0", "description": "Anycubic configurations", "machine_model_list": [ @@ -48,6 +48,10 @@ "name": "Anycubic Kobra 3 Max", "sub_path": "machine/Anycubic Kobra 3 Max.json" }, + { + "name": "Anycubic Kobra 3 V2", + "sub_path": "machine/Anycubic Kobra 3 V2.json" + }, { "name": "Anycubic Kobra Max", "sub_path": "machine/Anycubic Kobra Max.json" @@ -64,10 +68,10 @@ "name": "Anycubic Kobra S1", "sub_path": "machine/Anycubic Kobra S1.json" }, - { - "name": "Anycubic Kobra S1 Max", - "sub_path": "machine/Anycubic Kobra S1 Max.json" - }, + { + "name": "Anycubic Kobra S1 Max", + "sub_path": "machine/Anycubic Kobra S1 Max.json" + }, { "name": "Anycubic Kobra X", "sub_path": "machine/Anycubic Kobra X.json" @@ -90,6 +94,10 @@ "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" }, + { + "name": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, { "name": "0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle", "sub_path": "process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json" @@ -98,6 +106,18 @@ "name": "0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.08mm Standard @Anycubic Kobra X", "sub_path": "process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json" @@ -106,6 +126,14 @@ "name": "0.10mm Detail @Anycubic Kobra 3 0.2 nozzle", "sub_path": "process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json" }, + { + "name": "0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle", + "sub_path": "process/0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, { "name": "0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle", "sub_path": "process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json" @@ -126,10 +154,26 @@ "name": "0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.12mm Standard @Anycubic Kobra X", "sub_path": "process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, { "name": "0.15mm Optimal @Anycubic 4MaxPro2", "sub_path": "process/0.15mm Optimal @Anycubic 4MaxPro2.json" @@ -162,6 +206,10 @@ "name": "0.15mm Optimal @Anycubic i3MegaS", "sub_path": "process/0.15mm Optimal @Anycubic i3MegaS.json" }, + { + "name": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.16mm High Quality @Anycubic Kobra X", "sub_path": "process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json" @@ -182,10 +230,18 @@ "name": "0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle", "sub_path": "process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" }, + { + "name": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.16mm Standard @Anycubic Kobra X", "sub_path": "process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json" @@ -194,6 +250,14 @@ "name": "0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle", "sub_path": "process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json" }, + { + "name": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.20mm High Quality @Anycubic Kobra X", "sub_path": "process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json" @@ -242,6 +306,10 @@ "name": "0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle", "sub_path": "process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" @@ -250,6 +318,10 @@ "name": "0.20mm Standard @Anycubic Kobra S1 0.4 nozzle", "sub_path": "process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Anycubic Kobra X", "sub_path": "process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json" @@ -294,6 +366,22 @@ "name": "0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "0.24mm Standard @Anycubic Kobra X", "sub_path": "process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json" @@ -310,10 +398,18 @@ "name": "0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle", "sub_path": "process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" }, + { + "name": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "0.28mm Standard @Anycubic Kobra X", "sub_path": "process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json" @@ -362,14 +458,30 @@ "name": "0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle", "sub_path": "process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, { "name": "0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle", "sub_path": "process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json" }, + { + "name": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, { "name": "0.40mm Standard @Anycubic Kobra 3 0.8 nozzle", "sub_path": "process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json" @@ -378,110 +490,62 @@ "name": "0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle", "sub_path": "process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json" }, + { + "name": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, { "name": "0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json" }, - { - "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - - { - "name": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - - { - "name": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" + { + "name": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" }, - { - "name": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - - { - "name": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" - } - + { + "name": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "process/0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json" + } ], "filament_list": [ { @@ -532,10 +596,30 @@ "name": "Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "filament/Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic ABS @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic ABS @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic ABS @Anycubic Kobra X 0.4 nozzle.json" @@ -552,10 +636,30 @@ "name": "Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "filament/Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic ASA @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic ASA @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic ASA @Anycubic Kobra X 0.4 nozzle.json" @@ -564,6 +668,46 @@ "name": "Generic ASA @Anycubic", "sub_path": "filament/Generic ASA @Anycubic.json" }, + { + "name": "Anycubic PA @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PA @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PA @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Fiberon PA6-CF20 @Anycubic Kobra S1", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json" + }, { "name": "Generic PA @Anycubic", "sub_path": "filament/Generic PA @Anycubic.json" @@ -573,16 +717,56 @@ "sub_path": "filament/Generic PA-CF @Anycubic.json" }, { - "name": "Fiberon PA6-CF20 @Anycubic Kobra S1", - "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json" + "name": "Anycubic PC @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PC @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PC @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.8 nozzle.json" }, { "name": "Generic PC @Anycubic", "sub_path": "filament/Generic PC @Anycubic.json" }, { - "name": "Generic PETG @Anycubic", - "sub_path": "filament/Generic PETG @Anycubic.json" + "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" }, { "name": "Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle", @@ -596,14 +780,54 @@ "name": "Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "filament/Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic PETG @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PETG @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PETG @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Generic PETG @Anycubic", + "sub_path": "filament/Generic PETG @Anycubic.json" + }, + { + "name": "Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "Generic PETG @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Generic PETG @Anycubic Kobra X 0.4 nozzle.json" @@ -612,14 +836,6 @@ "name": "Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle.json" }, - { - "name": "Generic PLA @Anycubic", - "sub_path": "filament/Generic PLA @Anycubic.json" - }, - { - "name": "Generic PLA-CF @Anycubic", - "sub_path": "filament/Generic PLA-CF @Anycubic.json" - }, { "name": "Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle.json" @@ -632,14 +848,62 @@ "name": "Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, { "name": "Anycubic PLA @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, + { + "name": "Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic PLA Glow @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra X 0.4 nozzle.json" @@ -648,10 +912,26 @@ "name": "Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA High Speed @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra X 0.4 nozzle.json" @@ -660,26 +940,94 @@ "name": "Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, { "name": "Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA Matte @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, + { + "name": "Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA Silk @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Translucent @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Translucent @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, { "name": "Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle.json" @@ -688,10 +1036,30 @@ "name": "Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Generic PLA @Anycubic", + "sub_path": "filament/Generic PLA @Anycubic.json" + }, + { + "name": "Generic PLA-CF @Anycubic", + "sub_path": "filament/Generic PLA-CF @Anycubic.json" + }, { "name": "Panchroma PLA @Anycubic Kobra S1", "sub_path": "filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json" @@ -705,21 +1073,53 @@ "sub_path": "filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json" }, { - "name": "Generic PVA @Anycubic", - "sub_path": "filament/Generic PVA @Anycubic.json" + "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.8 nozzle.json" }, { "name": "Anycubic PVA @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PVA @Anycubic Kobra X 0.4 nozzle.json" }, { - "name": "Generic TPU @Anycubic", - "sub_path": "filament/Generic TPU @Anycubic.json" + "name": "Generic PVA @Anycubic", + "sub_path": "filament/Generic PVA @Anycubic.json" }, { "name": "Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle", "sub_path": "filament/Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle.json" }, + { + "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, + { + "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic TPU 95A @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra X 0.4 nozzle.json" @@ -736,14 +1136,34 @@ "name": "Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "filament/Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "filament/Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle.json" + }, { "name": "Anycubic TPU @Anycubic Kobra S1 0.4 nozzle", "sub_path": "filament/Anycubic TPU @Anycubic Kobra S1 0.4 nozzle.json" }, + { + "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic TPU for ACE @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Generic TPU @Anycubic", + "sub_path": "filament/Generic TPU @Anycubic.json" + }, { "name": "Generic ABS @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Generic ABS @Anycubic Kobra 3 0.4 nozzle.json" @@ -756,6 +1176,22 @@ "name": "Anycubic PETG @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Anycubic PETG @Anycubic Kobra 3 0.4 nozzle.json" }, + { + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, + { + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle.json" + }, { "name": "Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle", "sub_path": "filament/Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle.json" @@ -796,6 +1232,18 @@ "name": "Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle.json" }, + { + "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle.json" @@ -816,302 +1264,22 @@ "name": "Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle.json" }, + { + "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Generic TPU @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PA @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PC @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic PLA Translucent @Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "filament/Anycubic PLA Translucent @Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - - { - "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - - { - "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PA @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PC @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - - { - "name": "Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic ABS @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic ABS @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic ASA @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic ASA @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PA @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PA @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PA6-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PA6-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PAHT-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PC @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PC @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PC-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PC-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PC-GF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PC-GF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PEBA @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PEBA @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PET-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PET-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA Glow @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA Glow @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA High Speed @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA Matte @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA Matte @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA Silk @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA Silk @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA+ @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PLA-CF @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PLA-CF @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic PVA @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic PVA @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic TPU 95A @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic TPU 95A @Anycubic Kobra S1 Max 0.8 nozzle.json" - }, - { - "name": "Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "filament/Anycubic TPU for ACE @Anycubic Kobra S1 Max 0.8 nozzle.json" - } - + } ], "machine_list": [ { @@ -1182,6 +1350,22 @@ "name": "Anycubic Kobra 3 Max 0.8 nozzle", "sub_path": "machine/Anycubic Kobra 3 Max 0.8 nozzle.json" }, + { + "name": "Anycubic Kobra 3 V2 0.2 nozzle", + "sub_path": "machine/Anycubic Kobra 3 V2 0.2 nozzle.json" + }, + { + "name": "Anycubic Kobra 3 V2 0.4 nozzle", + "sub_path": "machine/Anycubic Kobra 3 V2 0.4 nozzle.json" + }, + { + "name": "Anycubic Kobra 3 V2 0.6 nozzle", + "sub_path": "machine/Anycubic Kobra 3 V2 0.6 nozzle.json" + }, + { + "name": "Anycubic Kobra 3 V2 0.8 nozzle", + "sub_path": "machine/Anycubic Kobra 3 V2 0.8 nozzle.json" + }, { "name": "Anycubic Kobra Max 0.4 nozzle", "sub_path": "machine/Anycubic Kobra Max 0.4 nozzle.json" @@ -1198,22 +1382,22 @@ "name": "Anycubic Kobra S1 0.4 nozzle", "sub_path": "machine/Anycubic Kobra S1 0.4 nozzle.json" }, - { - "name": "Anycubic Kobra S1 Max 0.4 nozzle", - "sub_path": "machine/Anycubic Kobra S1 Max 0.4 nozzle.json" - }, - { - "name": "Anycubic Kobra S1 Max 0.25 nozzle", - "sub_path": "machine/Anycubic Kobra S1 Max 0.25 nozzle.json" - }, - { - "name": "Anycubic Kobra S1 Max 0.6 nozzle", - "sub_path": "machine/Anycubic Kobra S1 Max 0.6 nozzle.json" - }, - { - "name": "Anycubic Kobra S1 Max 0.8 nozzle", - "sub_path": "machine/Anycubic Kobra S1 Max 0.8 nozzle.json" - }, + { + "name": "Anycubic Kobra S1 Max 0.25 nozzle", + "sub_path": "machine/Anycubic Kobra S1 Max 0.25 nozzle.json" + }, + { + "name": "Anycubic Kobra S1 Max 0.4 nozzle", + "sub_path": "machine/Anycubic Kobra S1 Max 0.4 nozzle.json" + }, + { + "name": "Anycubic Kobra S1 Max 0.6 nozzle", + "sub_path": "machine/Anycubic Kobra S1 Max 0.6 nozzle.json" + }, + { + "name": "Anycubic Kobra S1 Max 0.8 nozzle", + "sub_path": "machine/Anycubic Kobra S1 Max 0.8 nozzle.json" + }, { "name": "Anycubic Kobra X 0.4 nozzle", "sub_path": "machine/Anycubic Kobra X 0.4 nozzle.json" diff --git a/resources/profiles/Anycubic/Anycubic Kobra 3 Max_buildplate_model.stl b/resources/profiles/Anycubic/Anycubic Kobra 3 Max_buildplate_model.stl index 3360c21b00..3fd5c5a4d8 100644 Binary files a/resources/profiles/Anycubic/Anycubic Kobra 3 Max_buildplate_model.stl and b/resources/profiles/Anycubic/Anycubic Kobra 3 Max_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra 3 Max_cover.png b/resources/profiles/Anycubic/Anycubic Kobra 3 Max_cover.png index 91fc0d2b51..b2d2f30993 100644 Binary files a/resources/profiles/Anycubic/Anycubic Kobra 3 Max_cover.png and b/resources/profiles/Anycubic/Anycubic Kobra 3 Max_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_model.stl b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_model.stl new file mode 100644 index 0000000000..12b2e0b5cc Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_model.stl differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_texture.svg b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_texture.svg new file mode 100644 index 0000000000..906abf59da --- /dev/null +++ b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_buildplate_texture.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/profiles/Anycubic/Anycubic Kobra 3 V2_cover.png b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_cover.png new file mode 100644 index 0000000000..a1700488ca Binary files /dev/null and b/resources/profiles/Anycubic/Anycubic Kobra 3 V2_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra S1 Max_cover.png b/resources/profiles/Anycubic/Anycubic Kobra S1 Max_cover.png index 9a6079ae9b..3b391c89cc 100644 Binary files a/resources/profiles/Anycubic/Anycubic Kobra S1 Max_cover.png and b/resources/profiles/Anycubic/Anycubic Kobra S1 Max_cover.png differ diff --git a/resources/profiles/Anycubic/Anycubic Kobra X_cover.png b/resources/profiles/Anycubic/Anycubic Kobra X_cover.png index 112d7c4015..1adfef896a 100644 Binary files a/resources/profiles/Anycubic/Anycubic Kobra X_cover.png and b/resources/profiles/Anycubic/Anycubic Kobra X_cover.png differ diff --git a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle.json index 99d8da0f4b..884c07a791 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle.json index 95d5884132..1a67149acc 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -204,9 +201,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle.json index 3a6e2c9073..644fbe9f06 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..0c138787fb --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "LXkKhWH9YcYPr3IT", + "filament_id": "OF223rZv", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic ABS @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "ABS" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "5" + ], + "nozzle_temperature": [ + "250" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "5" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.05" + ], + "filament_deretraction_speed": [ + "80" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "80" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "100" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "15" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "25" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra S1 0.4 nozzle.json index f49664c14b..4aaf07851e 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ABS @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 0.4 nozzle.json index 790d365ee5..2356b2b46f 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle.json index 05d943ece7..6e4a5981cf 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -204,9 +201,6 @@ "filament_type": [ "ASA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle.json index 2a43e7b355..44aecae10a 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "ASA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..5d0fa038b1 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "cWBQa7XzDl3czIOs", + "filament_id": "OF0yFLkY", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic ASA @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "ASA" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "270" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "5" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.04" + ], + "filament_deretraction_speed": [ + "80" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "80" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "100" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "15" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra S1 0.4 nozzle.json index 1b038f7ba0..a86f5cf27f 100644 --- a/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic ASA @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle.json index 2d5c70f60b..61c9ae06bb 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PEBA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 0.4 nozzle.json index 213ee1ce70..271c2cbd31 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle.json index fbab6ab82c..ae2c4ea617 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle.json index 5966ceb3dd..21a6dab470 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -204,9 +201,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle.json index 13c1aae54f..b170d4234f 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..90af3ce5d6 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "suyxKj9qKLtpBhhU", + "filament_id": "OFo6n2pB", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PETG @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PETG" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "230" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "5" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "15" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "80" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "80" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "6" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "25" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Sovol/filament/Sovol Zero PETG HS Nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle.json similarity index 55% rename from resources/profiles/Sovol/filament/Sovol Zero PETG HS Nozzle.json rename to resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle.json index ce68719ba9..a1986b5403 100644 --- a/resources/profiles/Sovol/filament/Sovol Zero PETG HS Nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -1,77 +1,69 @@ { "type": "filament", - "name": "Sovol Zero PETG HS Nozzle", - "inherits": "Generic PETG @System", + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle", "from": "system", - "setting_id": "AfxHmpdOkMDJa2fk", - "filament_id": "OFymnal9", + "setting_id": "0uOqeEk5YgyZH4Yy", + "filament_id": "OFo6n2pB", "instantiation": "true", + "filament_settings_id": [ + "Anycubic PETG @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_type": [ + "PETG" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], "filament_flow_ratio": [ - "0.98" + "0.96" ], - "enable_pressure_advance": "1", - "pressure_advance": "0.048", "filament_max_volumetric_speed": [ - "15" - ], - "nozzle_temperature_initial_layer": [ - "265" + "8" ], "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_range_low": [ "230" ], - "nozzle_temperature_range_high": [ - "280" + "close_fan_the_first_x_layers": [ + "3" ], - "hot_plate_temp": [ - "85" - ], - "hot_plate_temp_initial_layer": [ - "85" + "fan_cooling_layer_time": [ + "30" ], "fan_min_speed": [ "10" ], - "fan_max_speed": [ - "40" - ], - "fan_cooling_layer_time": [ - "50" + "filament_density": [ + "1.23" ], "full_fan_speed_layer": [ - "3" + "0" ], - "slow_down_layer_time": [ - "10" + "hot_plate_temp": [ + "75" ], - "slow_down_min_speed": [ - "10" + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "210" ], "overhang_fan_speed": [ - "70" + "80" ], "overhang_fan_threshold": [ "10%" ], + "slow_down_layer_time": [ + "10" + ], "temperature_vitrification": [ - "60" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "filament_retraction_length": [ - "0.5" - ], - "filament_z_hop": [ - "0.4" - ], - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "50", - "complete_print_exhaust_fan_speed": "50", - "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "70" ] } diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..3d0a4b9bd5 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle", + "from": "system", + "setting_id": "OOOjWFMFhP1fMhFf", + "filament_id": "OFo6n2pB", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PETG @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PETG" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "220" + ], + "filament_retraction_length": [ + "0.8" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_initial_layer": [ + "220" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 0.4 nozzle.json index 85edb1eca9..a1ea9ea067 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json index 7fb1d1f66c..4852093cda 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -324,12 +324,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json index 64ec8774b0..16d4b54568 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -318,12 +318,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json index ea95c2b1c5..ebc7e8e514 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -324,12 +324,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json index a2cd9ecc5e..978c51007e 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -324,12 +324,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra X 0.4 nozzle.json index b0c543cebf..e2c6e84c1b 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG @Anycubic Kobra X 0.4 nozzle.json @@ -309,12 +309,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json index bbe7575b49..0774881a2b 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -318,12 +318,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json index d78fcc1d27..e3a405e192 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -324,12 +324,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json index cc3e8a15fc..e28e2d859e 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PETG-CF @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -324,12 +324,6 @@ "slow_down_min_speed": [ "10" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle.json index 7faa84782c..3d41b19d51 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Neo 0.4 nozzle.json index 583473ed30..427d09ec0b 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle.json index 8e531b88a4..fdbd1987cb 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle.json index 01b3d45f23..c06ecd26e7 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.2 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.2 nozzle.json index 2898403b36..8263451aa2 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.2 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.2 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.4 nozzle.json index a4e34756ec..36149ebfcb 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.6 nozzle.json index af7e374dc7..8de722c472 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.6 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.8 nozzle.json index 5c8936316f..35173c7c21 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 0.8 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle.json index 504a4b382c..3c612d7aca 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle.json index df464f2fa9..2a33fab35f 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle.json index 4e60bf4527..e08e57acf0 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle.json new file mode 100644 index 0000000000..5b61836862 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "uJRZr6orTVm79FeE", + "filament_id": "OFmjN2bc", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "nozzle_temperature": [ + "230" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.2 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..7410bbfeba --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "udLvkeYZ9Av7GkDz", + "filament_id": "OFmjN2bc", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..0d66e734c8 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "W69H1Vca3f74FfYj", + "filament_id": "OFmjN2bc", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "220" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..606dd8226e --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "TR27JCwXxHeVhVHN", + "filament_id": "OFmjN2bc", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "205" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "60" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json index 80c120870e..7c49813853 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra S1 0.4 nozzle.json index 43ec857824..bb8d9f2424 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra S1 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..3dfec3c3bc --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "i0FTxiH68CKHiLLT", + "filament_id": "OF80Qbpq", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..65679ac989 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,258 @@ +{ + "type": "filament", + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XHa1HSjh0RjAo0nz", + "filament_id": "OF80Qbpq", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_layer_time_BRASS": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..08e21b72e0 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,261 @@ +{ + "type": "filament", + "name": "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "iRVPFxNMEfkCDnMh", + "filament_id": "OF80Qbpq", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Galaxy @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_max_speed_BRASS": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "fan_min_speed_BRASS": [ + "100" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle.json index 9cb1eef59f..ee4ba7f373 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..66cf8a05c9 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "itTckVFabfsVbNBK", + "filament_id": "OF5PtjTp", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA Glow @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.2" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "40" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "0%" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "60" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "9" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle.json index 5b069135b3..4a8f9c4fff 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle.json index eb59d710e0..18baed2def 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..2b60cad961 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "YLxoiuRDXBWLQYw4", + "filament_id": "OFjVOWfJ", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA High Speed @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "205" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.035" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle.json index 9b37a8911c..dab5df7d46 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle.json index 03ea837c0c..50ab8dc649 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..3986f89867 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "JwcCfY4XVCRJaDeS", + "filament_id": "OFCSyK66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..785c0dfd4d --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Sjw7irNgwCZMfWS3", + "filament_id": "OFCSyK66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..58d6fe6a48 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "HeQwxU4T2W1V0LM3", + "filament_id": "OFCSyK66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Marble @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.035" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle.json index 474deb3deb..c0b72e9dc8 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle.json index 7dad057149..ddd4e1d96c 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..f776c75f34 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "H3PIqeTzjvtFQXYv", + "filament_id": "OFIE3vOf", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA Matte @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..4dd266e868 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4zmGMIi6jHJhU4c6", + "filament_id": "OF5F0S66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..465eb87b45 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "wLkJ1CJgdWnT4NoJ", + "filament_id": "OF5F0S66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..51f0cb0fc1 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "kkcDxmDe6F9fwhoJ", + "filament_id": "OF5F0S66", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Metal @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.035" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle.json index d7832ced4c..655ce81b7c 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..78bd6c1b49 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "QRl3zpmacQ8D8aNX", + "filament_id": "OFCp3Bgo", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA SE @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle.json index 9aebb3860e..48fa611ab1 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..2459b95221 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "qF5SGZKoINokZfx2", + "filament_id": "OFFwJWea", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "7.2" + ], + "nozzle_temperature": [ + "220" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..f338aff0d4 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle", + "from": "system", + "setting_id": "6aUrszW2Dj8CNYIp", + "filament_id": "OFFwJWea", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "7.2" + ], + "nozzle_temperature": [ + "220" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "pressure_advance": [ + "0.025" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..5bc5216bc0 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle", + "from": "system", + "setting_id": "f8K19ebfxiXji84y", + "filament_id": "OFFwJWea", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Silk @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "7.2" + ], + "nozzle_temperature": [ + "220" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "80" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "pressure_advance": [ + "0.025" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle.json index 166e46e620..89813c64cc 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle.json index 0ea21e81ed..ab7642a285 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..6899156d04 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,273 @@ +{ + "type": "filament", + "name": "Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NTs7c6NqAudTl9wk", + "filament_id": "OF7c9fln", + "instantiation": "true", + "filament_settings_id": [ + "Anycubic PLA Translucent @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_vendor": [ + "Anycubic" + ], + "filament_type": [ + "PLA" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "dont_slow_down_outer_wall": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_cooling_layer_time_BRASS": [ + "100" + ], + "fan_max_speed": [ + "80" + ], + "fan_max_speed_BRASS": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "fan_min_speed_BRASS": [ + "70" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_BRASS": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_layer_time_BRASS": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle.json index 59fd701496..9f28aa798a 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle.json @@ -111,9 +111,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -183,9 +180,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle.json index a80ab1d88f..fd51691282 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle.json index d31d75f532..a44bbfac9d 100644 --- a/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle.json index 5141d90404..9831c55484 100644 --- a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "TPU" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle.json index d6b5217879..d38d83684b 100644 --- a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -204,9 +201,6 @@ "filament_type": [ "TPU" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle.json index a5f6e735b0..5972bc0d37 100644 --- a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "TPU" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..b2748a9149 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "filament", + "name": "Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "oSWtTJpng3ERixPJ", + "filament_id": "OFMsDGbs", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic TPU @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "filament_type": [ + "TPU" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "3.2" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "High Temp Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode\n" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "0" + ], + "filament_multitool_ramming_volume": [ + "0" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "0%" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "pressure_advance": [ + "0.05" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra S1 0.4 nozzle.json index d17fd1217a..e1649e5b0b 100644 --- a/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Anycubic TPU @Anycubic Kobra S1 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Generic ABS @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Generic ABS @Anycubic Kobra 3 0.4 nozzle.json index 988340c1eb..0f273afbef 100644 --- a/resources/profiles/Anycubic/filament/Generic ABS @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Generic ABS @Anycubic Kobra 3 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json index e025d0587c..b44b6ecc11 100644 --- a/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -318,12 +318,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra X 0.4 nozzle.json index 78925acad9..0f238e5a5b 100644 --- a/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Generic PETG @Anycubic Kobra X 0.4 nozzle.json @@ -309,12 +309,6 @@ "slow_down_min_speed": [ "20" ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], "support_material_interface_fan_speed": [ "-1" ], diff --git a/resources/profiles/Anycubic/filament/Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle.json index a81795f7c0..1a2368dcfd 100644 --- a/resources/profiles/Anycubic/filament/Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -120,9 +120,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "28" ], @@ -204,9 +201,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Anycubic/filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json index 369198b146..6b5dc78c98 100644 --- a/resources/profiles/Anycubic/filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Anycubic/filament/fdm_filament_pet.json b/resources/profiles/Anycubic/filament/fdm_filament_pet.json index 62af7c89ed..56671ade0d 100644 --- a/resources/profiles/Anycubic/filament/fdm_filament_pet.json +++ b/resources/profiles/Anycubic/filament/fdm_filament_pet.json @@ -25,6 +25,12 @@ "hot_plate_temp_initial_layer": [ "80" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "slow_down_for_layer_cooling": [ "1" ], diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max 0.4 nozzle.json index 9497594f62..663294b14b 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max 0.4 nozzle.json @@ -197,7 +197,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max.json index f28ac191b3..c0d013f4ae 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Max.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra 2 Max_buildplate_model.stl", "bed_texture": "Anycubic Kobra 2 Max_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra 2 Max 0.4 nozzle;Generic ABS @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PETG @Anycubic Kobra 2 Max 0.4 nozzle;Generic TPU @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra 2 Max 0.4 nozzle;Anycubic PLA Slik @Anycubic Kobra 2 Max 0.4 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra 2 Max 0.4 nozzle;Generic ABS @System;Generic TPU @System" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Neo 0.4 nozzle.json index f3d67776af..43e6d317ef 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -201,7 +201,6 @@ "100" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus 0.4 nozzle.json index 1cce9bddff..bbf71349cf 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus 0.4 nozzle.json @@ -204,7 +204,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus.json index 9db9eec174..30b4b2c084 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Plus.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra 2 Plus_buildplate_model.stl", "bed_texture": "Anycubic Kobra 2 Plus_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra 2 Plus 0.4 nozzle;Generic ABS @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PETG @Anycubic Kobra 2 Plus 0.4 nozzle;Generic TPU @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra 2 Plus 0.4 nozzle;Anycubic PLA Slik @Anycubic Kobra 2 Plus 0.4 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra 2 Plus 0.4 nozzle;Generic ABS @System;Generic TPU @System" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro 0.4 nozzle.json index 690f77a01c..64e1da1fb9 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -202,7 +202,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro.json index 87a629fea2..e278a2357f 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 2 Pro.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra 2 Pro_buildplate_model.stl", "bed_texture": "Anycubic Kobra 2 Pro_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra 2 Pro 0.4 nozzle;Generic ABS @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PETG @Anycubic Kobra 2 Pro 0.4 nozzle;Generic TPU @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra 2 Pro 0.4 nozzle;Anycubic PLA Slik @Anycubic Kobra 2 Pro 0.4 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra 2 Pro 0.4 nozzle;Generic ABS @System;Generic TPU @System" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.2 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.2 nozzle.json index cbd4a67cfb..0543b1818f 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.2 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.2 nozzle.json @@ -208,7 +208,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.4 nozzle.json index 624233053e..e3cc91d26b 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.4 nozzle.json @@ -210,7 +210,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.6 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.6 nozzle.json index d613138128..ec4e3ef986 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.6 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.6 nozzle.json @@ -208,7 +208,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.8 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.8 nozzle.json index 60b3864454..4e67d80ac1 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.8 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 0.8 nozzle.json @@ -208,7 +208,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json index dbb112bfae..ed52a91b21 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json @@ -20,15 +20,15 @@ "Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle", "Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle", "Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle", - "Generic PLA @Anycubic Kobra 3 Max 0.4 nozzle", - "Generic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle", + "Generic PLA @Anycubic", + "Generic PLA Silk @System", "Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle", "Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle", "Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle", "Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle", - "Generic ABS @Anycubic Kobra 3 Max 0.4 nozzle", - "Generic PETG @Anycubic Kobra 3 Max 0.4 nozzle", - "Generic TPU @Anycubic Kobra 3 Max 0.4 nozzle" + "Generic ABS @Anycubic", + "Generic PETG @Anycubic", + "Generic TPU @Anycubic" ], "disable_m73": "0", "gcode_flavor": "klipper", @@ -252,7 +252,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "1", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json index 272d19cd75..811abb2d5f 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json @@ -222,7 +222,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "1", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json index 993258d59b..41c5a6c2a3 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json @@ -225,7 +225,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "1", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max.json index 03047b45ea..990c65bae9 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max.json @@ -9,5 +9,5 @@ "bed_texture": "Anycubic Kobra 3 Max_buildplate_texture.svg", "default_bed_type": "Textured PEI Plate", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle;Generic PLA @Anycubic Kobra 3 Max 0.4 nozzle;Generic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle;Generic ABS @Anycubic Kobra 3 Max 0.4 nozzle;Generic PETG @Anycubic Kobra 3 Max 0.4 nozzle;Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle;Generic TPU @Anycubic Kobra 3 Max 0.4 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic PLA @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic PLA High Speed @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Luminous @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 3 Max 0.4 nozzle;Generic PLA @Anycubic;Generic PLA Silk @System;Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic PEBA 95A @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic PETG @Anycubic Kobra 3 Max 0.8 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.4 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.6 nozzle;Anycubic TPU @Anycubic Kobra 3 Max 0.8 nozzle;Generic ABS @Anycubic;Generic PETG @Anycubic;Generic PETG Basic @Anycubic Kobra 3 Max 0.4 nozzle;Generic TPU @Anycubic" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.2 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.2 nozzle.json new file mode 100644 index 0000000000..676b43000d --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.2 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "machine", + "name": "Anycubic Kobra 3 V2 0.2 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "gaQ37xRo6J467j1y", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra 3 V2 0.2 nozzle", + "printer_model": "Anycubic Kobra 3 V2", + "printer_variant": "0.2", + "nozzle_diameter": [ + "0.2" + ], + "default_print_profile": "0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "255x0", + "255x255", + "0x255" + ], + "printable_height": "260", + "thumbnails": [ + "230x110" + ], + "thumbnails_format": "PNG", + "thumbnails_internal": [ + "512x512/PNG/top" + ], + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;;; M400 P0\nT[next_extruder] ; change extruder\n; 1\n;;; G1 E-2 F2400\n;;; G1 Z{max(toolchange_z+0.6, 5.0)} F600\n;;; G1 X271.5 F12000\n;;; G1 E-5 F600\n;;; G1 X278 F600\n;;; M400 P3530\n;;; G1 E-1 F600\n;;; G1 Z{max(toolchange_z+2.6, 7.0)} F600\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P31050\n;;; M400 P17510\n; 2\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n;;; G1 X250 F1200\n;;; M400 P0\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n; 3.1\n;;; M106 S255\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.2\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.3\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n;;; G1 Z{toolchange_z}\n;;; M400 P0\n; FLUSH_END", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "40" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G92 E0\nG1 E-2 F3600\n{if max_layer_z < max_print_height-1}G1 Z{max_layer_z+2} F900 ; Move print head further up{endif}\nG1 X250 Y220 F12000 ; present print\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107;turn off fan\nM84; disable motors\n; disable stepper motors\n\n", + "machine_load_filament_time": "42", + "machine_max_acceleration_e": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "1000", + "1000", + "1000" + ], + "machine_max_jerk_e": [ + "20", + "20", + "20" + ], + "machine_max_jerk_x": [ + "20", + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20", + "20" + ], + "machine_max_jerk_z": [ + "20", + "20", + "20" + ], + "machine_max_speed_e": [ + "600", + "300", + "780" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "15", + "10", + "26" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\nM900 K0.051\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "i3", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0.3" + ], + "retract_lift_below": [ + "258" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.8" + ], + "retraction_minimum_travel": [ + "0" + ], + "retraction_speed": [ + "40" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..8f265955c8 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,251 @@ +{ + "type": "machine", + "name": "Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "l49qdfdrHYEO04bV", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra 3 V2 0.4 nozzle", + "printer_model": "Anycubic Kobra 3 V2", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "default_print_profile": "0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "255x0", + "255x255", + "0x255" + ], + "printable_height": "260", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;;; M400 P0\nT[next_extruder] ; change extruder\n; 1\n;;; G1 E-2 F2400\n;;; G1 Z{max(toolchange_z+0.6, 5.0)} F600\n;;; G1 X271.5 F12000\n;;; G1 E-5 F600\n;;; G1 X278 F600\n;;; M400 P3530\n;;; G1 E-1 F600\n;;; G1 Z{max(toolchange_z+2.6, 7.0)} F600\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P31050\n;;; M400 P17510\n; 2\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n;;; G1 X250 F1200\n;;; M400 P0\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n; 3.1\n;;; M106 S255\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.2\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.3\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n;;; G1 Z{toolchange_z}\n;;; M400 P0\n; FLUSH_END", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "60" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400\nG92 E0 ; zero the extruder\nG1 E-2 F3600\n{if max_layer_z < max_print_height-1}G1 Z{max_layer_z+2} F900 ; Move print head further up{endif}\nG1 X250 Y220 F12000 ; present print\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107;turn off fan\nM84; disable motors\n; disable stepper motors", + "machine_load_filament_time": "42", + "machine_max_acceleration_e": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "1000", + "1000", + "1000" + ], + "machine_max_jerk_e": [ + "20", + "20", + "20" + ], + "machine_max_jerk_x": [ + "20", + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20", + "20" + ], + "machine_max_jerk_z": [ + "20", + "20", + "20" + ], + "machine_max_speed_e": [ + "600", + "300", + "780" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "15", + "10", + "26" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\nM900 K0.051\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "i3", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "259" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "1" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Slope Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..b8271d0d74 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,251 @@ +{ + "type": "machine", + "name": "Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "hQQgQT5HeCVGpBAL", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra 3 V2 0.6 nozzle", + "printer_model": "Anycubic Kobra 3 V2", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "default_print_profile": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "255x0", + "255x255", + "0x255" + ], + "printable_height": "260", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;;; M400 P0\nT[next_extruder] ; change extruder\n; 1\n;;; G1 E-2 F2400\n;;; G1 Z{max(toolchange_z+0.6, 5.0)} F600\n;;; G1 X271.5 F12000\n;;; G1 E-5 F600\n;;; G1 X278 F600\n;;; M400 P3530\n;;; G1 E-1 F600\n;;; G1 Z{max(toolchange_z+2.6, 7.0)} F600\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P31050\n;;; M400 P17510\n; 2\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n;;; G1 X250 F1200\n;;; M400 P0\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n; 3.1\n;;; M106 S255\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.2\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.3\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n;;; G1 Z{toolchange_z}\n;;; M400 P0\n; FLUSH_END", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "30" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-1 F3600 ; retract\n{if max_layer_z < max_print_height-1}G1 Z{max_layer_z+2} F600 ; Move print head further up{endif}\nG1 X250 Y220 F12000 ; present print\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107;turn off fan\nM84; disable motors\n; disable stepper motors\n\n", + "machine_load_filament_time": "42", + "machine_max_acceleration_e": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "1000", + "1000", + "1000" + ], + "machine_max_jerk_e": [ + "20", + "20", + "20" + ], + "machine_max_jerk_x": [ + "20", + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20", + "20" + ], + "machine_max_jerk_z": [ + "20", + "20", + "20" + ], + "machine_max_speed_e": [ + "600", + "300", + "780" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "15", + "10", + "26" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\nM900 K0.05\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "i3", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "259" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.8" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..11565051e6 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,255 @@ +{ + "type": "machine", + "name": "Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "LBhbohm7o4jW6OYw", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra 3 V2 0.8 nozzle", + "printer_model": "Anycubic Kobra 3 V2", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "default_print_profile": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "255x0", + "255x255", + "0x255" + ], + "printable_height": "260", + "thumbnails": [ + "230x110" + ], + "thumbnails_format": "PNG", + "thumbnails_internal": [ + "512x512/PNG/top" + ], + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;;; M400 P0\nT[next_extruder] ; change extruder\n; 1\n;;; G1 E-2 F2400\n;;; G1 Z{max(toolchange_z+0.6, 5.0)} F600\n;;; G1 X271.5 F12000\n;;; G1 E-5 F600\n;;; G1 X278 F600\n;;; M400 P3530\n;;; G1 E-1 F600\n;;; G1 Z{max(toolchange_z+2.6, 7.0)} F600\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P31050\n;;; M400 P17510\n; 2\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n;;; G1 X250 F1200\n;;; M400 P0\n;;; G1 X278 F18000\n;;; G1 X271.5 F1200\n;;; G1 E2 F300\n;;; M400 P0\n; 3.1\n;;; M106 S255\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.2\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n; 3.3\n;;; G1 X36 Y260 Z-0.8 F9600\n;;; G1 X50 Y260 Z1 F9600\n;;; G1 X86 Y260 Z1 F9600\n;;; G1 X90 Y260 Z-0.8 F9600\n;;; G1 X90 Y259 Z-0.8 F9600\n;;; G1 X86 Y259 Z1 F9600\n;;; G1 X50 Y259 Z1 F9600\n;;; G1 X36 Y259 Z-0.8 F9600\n;;; G1 Z{toolchange_z}\n;;; M400 P0\n; FLUSH_END", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_radius": "65", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-2 F3000 ; retract\n{if max_layer_z < max_print_height-1}G1 Z{max_layer_z+2} F600 ; Move print head further up{endif}\nG1 X250 Y220 F12000 ; present print\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107;turn off fan\nM84; disable motors\n; disable stepper motors\n\n", + "machine_load_filament_time": "42", + "machine_max_acceleration_e": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "1000", + "1000", + "1000" + ], + "machine_max_jerk_e": [ + "20", + "20", + "20" + ], + "machine_max_jerk_x": [ + "20", + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20", + "20" + ], + "machine_max_jerk_z": [ + "20", + "20", + "20" + ], + "machine_max_speed_e": [ + "600", + "300", + "780" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "15", + "10", + "26" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\nM900 K0.051\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "i3", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0.3" + ], + "retract_lift_below": [ + "259.6" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "1" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "40" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2.json new file mode 100644 index 0000000000..84651d79de --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 V2.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Anycubic", + "name": "Anycubic Kobra 3 V2", + "model_id": "Anycubic Kobra 3 V2", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "bed_model": "Anycubic Kobra 3 V2_buildplate_model.stl", + "bed_texture": "Anycubic Kobra 3 V2_buildplate_texture.svg", + "hotend_model": "", + "default_materials": "Anycubic PLA @Anycubic Kobra 3 V2 0.2 nozzle;Anycubic PLA @Anycubic Kobra 3 V2 0.4 nozzle;Anycubic PLA @Anycubic Kobra 3 V2 0.6 nozzle;Anycubic PLA @Anycubic Kobra 3 V2 0.8 nozzle" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3.json index b33c096a26..f87f47ad68 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra 3_buildplate_model.stl", "bed_texture": "Anycubic Kobra 3_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle;Generic ABS @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra 3 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 0.4 nozzle;Generic TPU @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle;Anycubic ASA @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA @Anycubic Kobra 3 0.2 nozzle;Anycubic PLA @Anycubic Kobra 3 0.6 nozzle;Anycubic PLA @Anycubic Kobra 3 0.8 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra 3 0.4 nozzle;Generic ABS @Anycubic Kobra 3 0.4 nozzle;Anycubic PETG @Anycubic Kobra 3 0.4 nozzle;Generic TPU @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA Slik @Anycubic Kobra 3 0.4 nozzle;Anycubic ASA @Anycubic Kobra 3 0.4 nozzle;Anycubic PLA @Anycubic Kobra 3 0.2 nozzle;Anycubic PLA @Anycubic Kobra 3 0.6 nozzle;Anycubic PLA @Anycubic Kobra 3 0.8 nozzle" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json index 41b6e7b3e1..fc99bbd49f 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json @@ -201,7 +201,6 @@ "100" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json index 25a16805e1..d940eeb745 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra Neo_buildplate_model.stl", "bed_texture": "Anycubic Kobra Neo_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Anycubic" + "default_materials": "Generic PLA @Anycubic;Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 0.4 nozzle.json index 9ca15821da..94d82b7c27 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 0.4 nozzle.json @@ -201,7 +201,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.25 nozzle.json index 7e6195aca7..8786b75afa 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,252 +1,251 @@ -{ - "type": "machine", - "name": "Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_machine_common", - "from": "system", - "setting_id": "Puudpg2z8v7I6IQA", - "instantiation": "true", - "printer_technology": "FFF", - "printer_settings_id": "Anycubic Kobra S1 Max 0.25 nozzle", - "printer_model": "Anycubic Kobra S1 Max", - "printer_variant": "0.25", - "nozzle_diameter": [ - "0.25" - ], - "default_print_profile": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "default_filament_profile": [ - "Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle" - ], - "disable_m73": "0", - "gcode_flavor": "klipper", - "printable_area": [ - "0x0", - "350x0", - "350x350", - "0x350" - ], - "printable_height": "350", - "thumbnails": "230x110/PNG", - "thumbnails_format": "PNG", - "thumbnails_internal": "512x512/PNG/top", - "thumbnails_internal_switch": "1", - "adaptive_bed_mesh_margin": "0", - "auxiliary_fan": "1", - "bbl_use_printhost": "0", - "bed_custom_model": "", - "bed_custom_texture": "", - "bed_exclude_area": [], - "bed_mesh_max": "0,0", - "bed_mesh_min": "0,0", - "bed_mesh_probe_distance": "0,0", - "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", - "best_object_pos": "0.5,0.5", - "change_extrusion_role_gcode": "", - "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", - "cooling_tube_length": "0", - "cooling_tube_retraction": "0", - "deretraction_speed": [ - "0" - ], - "emit_machine_limits_to_gcode": "1", - "enable_filament_ramming": "0", - "enable_long_retraction_when_cut": "0", - "extra_loading_move": "0", - "extruder_clearance_height_to_lid": "340", - "extruder_clearance_height_to_rod": "30", - "extruder_clearance_radius": "55", - "extruder_colour": [ - "FF4D4F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "head_wrap_detect_zone": [], - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", - "long_retractions_when_cut": [ - "0" - ], - "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "400", - "400", - "400" - ], - "machine_max_jerk_e": [ - "1", - "1", - "1" - ], - "machine_max_jerk_x": [ - "15", - "15", - "15" - ], - "machine_max_jerk_y": [ - "15", - "15", - "15" - ], - "machine_max_jerk_z": [ - "1", - "1", - "1" - ], - "machine_max_speed_e": [ - "80", - "40", - "104" - ], - "machine_max_speed_x": [ - "600", - "300", - "780" - ], - "machine_max_speed_y": [ - "600", - "300", - "780" - ], - "machine_max_speed_z": [ - "10", - "5", - "13" - ], - "machine_min_extruding_rate": [ - "0", - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0", - "0" - ], - "machine_pause_gcode": "M600", - "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", - "machine_tool_change_time": "0", - "machine_unload_filament_time": "0", - "manual_filament_change": "0", - "max_layer_height": [ - "0.18" - ], - "min_layer_height": [ - "0.05" - ], - "nozzle_height": "4", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "107", - "parking_pos_retraction": "0", - "pellet_modded_printer": "0", - "preferred_orientation": "0", - "printer_flush_multiplier": "1", - "printer_notes": "", - "printer_structure": "corexy", - "printhost_authorization_type": "key", - "printhost_ssl_ignore_revoke": "0", - "printing_by_object_gcode": "", - "purge_in_prime_tower": "0", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "348" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_on_top_layer": [ - "1" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_distances_when_cut": [ - "0" - ], - "retraction_length": [ - "0.4" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "1", - "single_extruder_multi_material": "1", - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_multi_bed_types": "1", - "template_custom_gcode": "", - "time_cost": "0", - "time_lapse_gcode": "", - "travel_slope": [ - "3" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Slope Lift" - ], - "z_offset": "0" -} +{ + "type": "machine", + "name": "Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "Puudpg2z8v7I6IQA", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra S1 Max 0.25 nozzle", + "printer_model": "Anycubic Kobra S1 Max", + "printer_variant": "0.25", + "nozzle_diameter": [ + "0.25" + ], + "default_print_profile": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "350", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "340", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_radius": "55", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "400", + "400", + "400" + ], + "machine_max_jerk_e": [ + "1", + "1", + "1" + ], + "machine_max_jerk_x": [ + "15", + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15", + "15" + ], + "machine_max_jerk_z": [ + "1", + "1", + "1" + ], + "machine_max_speed_e": [ + "80", + "40", + "104" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "10", + "5", + "13" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.18" + ], + "min_layer_height": [ + "0.05" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "corexy", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "348" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.4" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Slope Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.4 nozzle.json index 482534d2de..f0ba840124 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,252 +1,251 @@ -{ - "type": "machine", - "name": "Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_machine_common", - "from": "system", - "setting_id": "gI3IJRLKNc1fyiO6", - "instantiation": "true", - "printer_technology": "FFF", - "printer_settings_id": "Anycubic Kobra S1 Max 0.4 nozzle", - "printer_model": "Anycubic Kobra S1 Max", - "printer_variant": "0.4", - "nozzle_diameter": [ - "0.4" - ], - "default_print_profile": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "default_filament_profile": [ - "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle" - ], - "disable_m73": "0", - "gcode_flavor": "klipper", - "printable_area": [ - "0x0", - "350x0", - "350x350", - "0x350" - ], - "printable_height": "350", - "thumbnails": "230x110/PNG", - "thumbnails_format": "PNG", - "thumbnails_internal": "512x512/PNG/top", - "thumbnails_internal_switch": "1", - "adaptive_bed_mesh_margin": "0", - "auxiliary_fan": "1", - "bbl_use_printhost": "0", - "bed_custom_model": "", - "bed_custom_texture": "", - "bed_exclude_area": [], - "bed_mesh_max": "0,0", - "bed_mesh_min": "0,0", - "bed_mesh_probe_distance": "0,0", - "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", - "best_object_pos": "0.5,0.5", - "change_extrusion_role_gcode": "", - "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", - "cooling_tube_length": "0", - "cooling_tube_retraction": "0", - "deretraction_speed": [ - "0" - ], - "emit_machine_limits_to_gcode": "1", - "enable_filament_ramming": "0", - "enable_long_retraction_when_cut": "0", - "extra_loading_move": "0", - "extruder_clearance_height_to_lid": "340", - "extruder_clearance_height_to_rod": "30", - "extruder_clearance_radius": "55", - "extruder_colour": [ - "FF4D4F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "head_wrap_detect_zone": [], - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", - "long_retractions_when_cut": [ - "0" - ], - "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "400", - "400", - "400" - ], - "machine_max_jerk_e": [ - "1", - "1", - "1" - ], - "machine_max_jerk_x": [ - "15", - "15", - "15" - ], - "machine_max_jerk_y": [ - "15", - "15", - "15" - ], - "machine_max_jerk_z": [ - "1", - "1", - "1" - ], - "machine_max_speed_e": [ - "80", - "40", - "104" - ], - "machine_max_speed_x": [ - "600", - "300", - "780" - ], - "machine_max_speed_y": [ - "600", - "300", - "780" - ], - "machine_max_speed_z": [ - "10", - "5", - "13" - ], - "machine_min_extruding_rate": [ - "0", - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0", - "0" - ], - "machine_pause_gcode": "M600", - "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", - "machine_tool_change_time": "0", - "machine_unload_filament_time": "0", - "manual_filament_change": "0", - "max_layer_height": [ - "0.28" - ], - "min_layer_height": [ - "0.08" - ], - "nozzle_height": "4", - "nozzle_hrc": "0", - "nozzle_type": "hardened_steel", - "nozzle_volume": "107", - "parking_pos_retraction": "0", - "pellet_modded_printer": "0", - "preferred_orientation": "0", - "printer_flush_multiplier": "1", - "printer_notes": "", - "printer_structure": "corexy", - "printhost_authorization_type": "key", - "printhost_ssl_ignore_revoke": "0", - "printing_by_object_gcode": "", - "purge_in_prime_tower": "0", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "348" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_on_top_layer": [ - "1" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_distances_when_cut": [ - "0" - ], - "retraction_length": [ - "0.4" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "1", - "single_extruder_multi_material": "1", - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_multi_bed_types": "1", - "template_custom_gcode": "", - "time_cost": "0", - "time_lapse_gcode": "", - "travel_slope": [ - "3" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Slope Lift" - ], - "z_offset": "0" -} +{ + "type": "machine", + "name": "Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "gI3IJRLKNc1fyiO6", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra S1 Max 0.4 nozzle", + "printer_model": "Anycubic Kobra S1 Max", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "default_print_profile": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "350", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "340", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_radius": "55", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "400", + "400", + "400" + ], + "machine_max_jerk_e": [ + "1", + "1", + "1" + ], + "machine_max_jerk_x": [ + "15", + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15", + "15" + ], + "machine_max_jerk_z": [ + "1", + "1", + "1" + ], + "machine_max_speed_e": [ + "80", + "40", + "104" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "10", + "5", + "13" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "corexy", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "348" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.4" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Slope Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.6 nozzle.json index 0feeec8104..604d488bdb 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,252 +1,251 @@ -{ - "type": "machine", - "name": "Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_machine_common", - "from": "system", - "setting_id": "p7ilBBLpGn5OYr2e", - "instantiation": "true", - "printer_technology": "FFF", - "printer_settings_id": "Anycubic Kobra S1 Max 0.6 nozzle", - "printer_model": "Anycubic Kobra S1 Max", - "printer_variant": "0.6", - "nozzle_diameter": [ - "0.6" - ], - "default_print_profile": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "default_filament_profile": [ - "Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle" - ], - "disable_m73": "0", - "gcode_flavor": "klipper", - "printable_area": [ - "0x0", - "350x0", - "350x350", - "0x350" - ], - "printable_height": "350", - "thumbnails": "230x110/PNG", - "thumbnails_format": "PNG", - "thumbnails_internal": "512x512/PNG/top", - "thumbnails_internal_switch": "1", - "adaptive_bed_mesh_margin": "0", - "auxiliary_fan": "1", - "bbl_use_printhost": "0", - "bed_custom_model": "", - "bed_custom_texture": "", - "bed_exclude_area": [], - "bed_mesh_max": "0,0", - "bed_mesh_min": "0,0", - "bed_mesh_probe_distance": "0,0", - "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", - "best_object_pos": "0.5,0.5", - "change_extrusion_role_gcode": "", - "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", - "cooling_tube_length": "0", - "cooling_tube_retraction": "0", - "deretraction_speed": [ - "0" - ], - "emit_machine_limits_to_gcode": "1", - "enable_filament_ramming": "0", - "enable_long_retraction_when_cut": "0", - "extra_loading_move": "0", - "extruder_clearance_height_to_lid": "340", - "extruder_clearance_height_to_rod": "30", - "extruder_clearance_radius": "55", - "extruder_colour": [ - "FF4D4F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "head_wrap_detect_zone": [], - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", - "long_retractions_when_cut": [ - "0" - ], - "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "400", - "400", - "400" - ], - "machine_max_jerk_e": [ - "1", - "1", - "1" - ], - "machine_max_jerk_x": [ - "15", - "15", - "15" - ], - "machine_max_jerk_y": [ - "15", - "15", - "15" - ], - "machine_max_jerk_z": [ - "1", - "1", - "1" - ], - "machine_max_speed_e": [ - "80", - "40", - "104" - ], - "machine_max_speed_x": [ - "600", - "300", - "780" - ], - "machine_max_speed_y": [ - "600", - "300", - "780" - ], - "machine_max_speed_z": [ - "10", - "5", - "13" - ], - "machine_min_extruding_rate": [ - "0", - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0", - "0" - ], - "machine_pause_gcode": "M600", - "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", - "machine_tool_change_time": "0", - "machine_unload_filament_time": "0", - "manual_filament_change": "0", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "nozzle_height": "4", - "nozzle_hrc": "0", - "nozzle_type": "hardened_steel", - "nozzle_volume": "107", - "parking_pos_retraction": "0", - "pellet_modded_printer": "0", - "preferred_orientation": "0", - "printer_flush_multiplier": "1", - "printer_notes": "", - "printer_structure": "corexy", - "printhost_authorization_type": "key", - "printhost_ssl_ignore_revoke": "0", - "printing_by_object_gcode": "", - "purge_in_prime_tower": "0", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "348" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_on_top_layer": [ - "1" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_distances_when_cut": [ - "0" - ], - "retraction_length": [ - "0.4" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "1", - "single_extruder_multi_material": "1", - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_multi_bed_types": "1", - "template_custom_gcode": "", - "time_cost": "0", - "time_lapse_gcode": "", - "travel_slope": [ - "3" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Slope Lift" - ], - "z_offset": "0" -} +{ + "type": "machine", + "name": "Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "p7ilBBLpGn5OYr2e", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra S1 Max 0.6 nozzle", + "printer_model": "Anycubic Kobra S1 Max", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "default_print_profile": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "350", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "340", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_radius": "55", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "400", + "400", + "400" + ], + "machine_max_jerk_e": [ + "1", + "1", + "1" + ], + "machine_max_jerk_x": [ + "15", + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15", + "15" + ], + "machine_max_jerk_z": [ + "1", + "1", + "1" + ], + "machine_max_speed_e": [ + "80", + "40", + "104" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "10", + "5", + "13" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "corexy", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "348" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.4" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Slope Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.8 nozzle.json index 172c30885e..d51a6fc560 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,252 +1,251 @@ -{ - "type": "machine", - "name": "Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_machine_common", - "from": "system", - "setting_id": "eD3ZKZ62sl6JMvUr", - "instantiation": "true", - "printer_technology": "FFF", - "printer_settings_id": "Anycubic Kobra S1 Max 0.8 nozzle", - "printer_model": "Anycubic Kobra S1 Max", - "printer_variant": "0.8", - "nozzle_diameter": [ - "0.8" - ], - "default_print_profile": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "default_filament_profile": [ - "Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle" - ], - "disable_m73": "0", - "gcode_flavor": "klipper", - "printable_area": [ - "0x0", - "350x0", - "350x350", - "0x350" - ], - "printable_height": "350", - "thumbnails": "230x110/PNG", - "thumbnails_format": "PNG", - "thumbnails_internal": "512x512/PNG/top", - "thumbnails_internal_switch": "1", - "adaptive_bed_mesh_margin": "0", - "auxiliary_fan": "1", - "bbl_use_printhost": "0", - "bed_custom_model": "", - "bed_custom_texture": "", - "bed_exclude_area": [], - "bed_mesh_max": "0,0", - "bed_mesh_min": "0,0", - "bed_mesh_probe_distance": "0,0", - "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", - "best_object_pos": "0.5,0.5", - "change_extrusion_role_gcode": "", - "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", - "cooling_tube_length": "0", - "cooling_tube_retraction": "0", - "deretraction_speed": [ - "0" - ], - "emit_machine_limits_to_gcode": "1", - "enable_filament_ramming": "0", - "enable_long_retraction_when_cut": "0", - "extra_loading_move": "0", - "extruder_clearance_height_to_lid": "340", - "extruder_clearance_height_to_rod": "30", - "extruder_clearance_radius": "55", - "extruder_colour": [ - "FF4D4F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "head_wrap_detect_zone": [], - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", - "long_retractions_when_cut": [ - "0" - ], - "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "400", - "400", - "400" - ], - "machine_max_jerk_e": [ - "1", - "1", - "1" - ], - "machine_max_jerk_x": [ - "15", - "15", - "15" - ], - "machine_max_jerk_y": [ - "15", - "15", - "15" - ], - "machine_max_jerk_z": [ - "1", - "1", - "1" - ], - "machine_max_speed_e": [ - "80", - "40", - "104" - ], - "machine_max_speed_x": [ - "600", - "300", - "780" - ], - "machine_max_speed_y": [ - "600", - "300", - "780" - ], - "machine_max_speed_z": [ - "10", - "5", - "13" - ], - "machine_min_extruding_rate": [ - "0", - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0", - "0" - ], - "machine_pause_gcode": "M600", - "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", - "machine_tool_change_time": "0", - "machine_unload_filament_time": "0", - "manual_filament_change": "0", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "nozzle_height": "4", - "nozzle_hrc": "0", - "nozzle_type": "hardened_steel", - "nozzle_volume": "107", - "parking_pos_retraction": "0", - "pellet_modded_printer": "0", - "preferred_orientation": "0", - "printer_flush_multiplier": "1", - "printer_notes": "", - "printer_structure": "corexy", - "printhost_authorization_type": "key", - "printhost_ssl_ignore_revoke": "0", - "printing_by_object_gcode": "", - "purge_in_prime_tower": "0", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "348" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_on_top_layer": [ - "1" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_distances_when_cut": [ - "0" - ], - "retraction_length": [ - "0.4" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "1", - "single_extruder_multi_material": "1", - "support_air_filtration": "0", - "support_chamber_temp_control": "1", - "support_multi_bed_types": "1", - "template_custom_gcode": "", - "time_cost": "0", - "time_lapse_gcode": "", - "travel_slope": [ - "3" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Slope Lift" - ], - "z_offset": "0" -} +{ + "type": "machine", + "name": "Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "eD3ZKZ62sl6JMvUr", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra S1 Max 0.8 nozzle", + "printer_model": "Anycubic Kobra S1 Max", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "default_print_profile": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "default_filament_profile": [ + "Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle" + ], + "disable_m73": "0", + "gcode_flavor": "klipper", + "printable_area": [ + "0x0", + "350x0", + "350x350", + "0x350" + ], + "printable_height": "350", + "thumbnails": "230x110/PNG", + "thumbnails_format": "PNG", + "thumbnails_internal": "512x512/PNG/top", + "thumbnails_internal_switch": "1", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "{if layer_num==0} ; PURGE LINE\nM204 P500\nSET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=9\nG1 Z0.75 F900 ; for object exclusion\nG1 X135 Y352 F18000\nG1 Z.25 F900\nG1 E0.8 F2400\nG1 E0.6 F2400\nG1 F3000\nG1 X205 Y352 E3.72454\nG1 X205 Y352.45 E.0252\nG1 X135 Y352.45 E3.72454\nG1 X135 Y352.02 E.02305\nG1 Z0.5 F600\n{endif}\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "; FLUSH_START\n;@2026-04-03 S1M\n;;; M400 P0\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n{local flush_length_= flush_length}\n{local loops_=max(1,int((flush_length_+89.9) / 90))}\n{local extrude_length_=flush_length_ / loops_}\n{local time_flush_=int(extrude_length_ * loops_ * 300)}\n;;; M400 P{time_flush_} ; ={flush_length_}*300\n\n; retract and z hop\n; G1 E-0.4 F2400\n; G1 Z{toolchange_z+0.6} F600\n\n; MOVE_TO_IMPACT_POSITION\n;;; G1 X352 Y23 F18000\n;;; G1 X356.5 F6000\n;;; M400\n\n; cut filament\n;;; G1 Y13\n;;; G1 Y23 F600\n;;; M400 P76250\n;;; M400 P35780\n\nT[next_extruder] ; change extruder\n\n; MOVE_TO_PRE_SWEEP_POSITION_SAFE\n;;; G1 Y0 F12000\n;;; G1 X0 F12000\n\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; MOVE_TO_PRE_SWEEP_POSITION\n;;; G1 Y375 F12000\n;;; G1 X105 F12000\n;;; M400\n\n; MOVE_TO_SWEEP_POSITION\n;;; G1 X87 F6000\n;;; G1 Y375 F12000\n;;; M400\n\n; EXIT_THROW_POSITION\n;;; G1 Z{toolchange_z+2.1} F6000\n;;; G1 X105 F12000\n;;; G1 Y352 F12000\n;;; G1 Z{toolchange_z} F600\n;;; G1 E0.4 F2400\n;;; M400\n;_GP_INLINE_ESTIMATED_PRINTING_TIME_PLACEHOLDER\n; FLUSH_END\n", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "340", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_radius": "55", + "extruder_colour": [ + "FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M400\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM141 S0 ; turn off box temperature\nM106 P1 S0 ; turn off fan\nM106 P2 S0\nM106 P3 S0\nM84; disable motors \n; disable stepper motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "400", + "400", + "400" + ], + "machine_max_jerk_e": [ + "1", + "1", + "1" + ], + "machine_max_jerk_x": [ + "15", + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15", + "15" + ], + "machine_max_jerk_z": [ + "1", + "1", + "1" + ], + "machine_max_speed_e": [ + "80", + "40", + "104" + ], + "machine_max_speed_x": [ + "600", + "300", + "780" + ], + "machine_max_speed_y": [ + "600", + "300", + "780" + ], + "machine_max_speed_z": [ + "10", + "5", + "13" + ], + "machine_min_extruding_rate": [ + "0", + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": "G9111 bedTemp=[first_layer_bed_temperature] extruderTemp=[first_layer_temperature[initial_tool]]\nM117\n; print_bed_min = {print_bed_min[0]},{print_bed_min[1]}\n; print_bed_max = {print_bed_max[0]},{print_bed_max[1]}\n; print_bed_size = {print_bed_size[0]},{print_bed_size[1]}\n; first_layer_print_min = {first_layer_print_min[0]},{first_layer_print_min[1]}\n; first_layer_print_max = {first_layer_print_max[0]},{first_layer_print_max[1]}\n; first_layer_print_size = {first_layer_print_size[0]},{first_layer_print_size[1]}\n; first_layer_fan_speed = 2, {int(additional_cooling_fan_speed[initial_tool] * 255 / 100)}", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "107", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printer_flush_multiplier": "1", + "printer_notes": "", + "printer_structure": "corexy", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "348" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "0" + ], + "retraction_length": [ + "0.4" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Slope Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max.json index c47f2e7fa2..0f35afd33f 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1 Max.json @@ -1,12 +1,12 @@ -{ - "type": "machine_model", - "machine_tech": "FFF", - "family": "Anycubic", - "name": "Anycubic Kobra S1 Max", - "model_id": "Anycubic Kobra S1 Max", - "nozzle_diameter": "0.4;0.25;0.6;0.8", - "bed_model": "Anycubic Kobra S1 Max_buildplate_model.stl", - "bed_texture": "Anycubic Kobra S1 Max_buildplate_texture.svg", - "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle" -} +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Anycubic", + "name": "Anycubic Kobra S1 Max", + "model_id": "Anycubic Kobra S1 Max", + "nozzle_diameter": "0.4;0.25;0.6;0.8", + "bed_model": "Anycubic Kobra S1 Max_buildplate_model.stl", + "bed_texture": "Anycubic Kobra S1 Max_buildplate_texture.svg", + "hotend_model": "", + "default_materials": "Anycubic PLA @Anycubic Kobra S1 Max 0.4 nozzle;Anycubic PLA @Anycubic Kobra S1 Max 0.25 nozzle;Anycubic PLA @Anycubic Kobra S1 Max 0.6 nozzle;Anycubic PLA @Anycubic Kobra S1 Max 0.8 nozzle" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra S1.json b/resources/profiles/Anycubic/machine/Anycubic Kobra S1.json index 07b3b61536..45a7404183 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra S1.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra S1.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Kobra S1_buildplate_model.stl", "bed_texture": "Anycubic Kobra S1_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Anycubic PLA @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA SE @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle;Anycubic PETG @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra S1 0.4 nozzle;Anycubic ASA @Anycubic Kobra S1 0.4 nozzle;Anycubic ABS @Anycubic Kobra S1 0.4 nozzle;Anycubic ASA @Anycubic Kobra S1 0.4 nozzle;Anycubic PA @Anycubic Kobra S1 0.4 nozzle;Anycubic PC @Anycubic Kobra S1 0.4 nozzle;Anycubic PETG @Anycubic Kobra S1 0.4 nozzle;Anycubic PVA @Anycubic Kobra S1 0.4 nozzle;Anycubic TPU @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle" + "default_materials": "Anycubic PLA @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra S1 0.4 nozzle;Anycubic PETG @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle;Anycubic ASA @Anycubic Kobra S1 0.4 nozzle;Anycubic ABS @Anycubic Kobra S1 0.4 nozzle;Anycubic ASA @Anycubic Kobra S1 0.4 nozzle;Anycubic PETG @Anycubic Kobra S1 0.4 nozzle;Anycubic TPU @Anycubic Kobra S1 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra S1 0.4 nozzle" } diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra X 0.4 nozzle.json index 5dc35e5584..8e2952b123 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra X 0.4 nozzle.json @@ -14,7 +14,19 @@ ], "default_print_profile": "0.20mm Standard @Anycubic Kobra X 0.4 nozzle;0.08mm Standard @Anycubic Kobra X 0.4 nozzle", "default_filament_profile": [ - "Anycubic PLA @Anycubic Kobra X 0.4 nozzle;Anycubic ABS @Anycubic Kobra X 0.4 nozzle;Anycubic ASA @Anycubic Kobra X 0.4 nozzle;Anycubic PETG @Anycubic Kobra X 0.4 nozzle;Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle;Anycubic PLA Glow @Anycubic Kobra X 0.4 nozzle;Anycubic PLA High Speed @Anycubic Kobra X 0.4 nozzle;Anycubic PLA Matte @Anycubic Kobra X 0.4 nozzle;Anycubic PLA Silk @Anycubic Kobra X 0.4 nozzle;Anycubic PVA @Anycubic Kobra X 0.4 nozzle;Anycubic TPU 95A @Anycubic Kobra X 0.4 nozzle;Anycubic TPU for ACE @Anycubic Kobra X 0.4 nozzle;Anycubic Generetic PETG @Anycubic Kobra X 0.4 nozzle" + "Anycubic PLA @Anycubic Kobra X 0.4 nozzle", + "Anycubic ABS @Anycubic Kobra X 0.4 nozzle", + "Anycubic ASA @Anycubic Kobra X 0.4 nozzle", + "Anycubic PETG @Anycubic Kobra X 0.4 nozzle", + "Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle", + "Anycubic PLA Glow @Anycubic Kobra X 0.4 nozzle", + "Anycubic PLA High Speed @Anycubic Kobra X 0.4 nozzle", + "Anycubic PLA Matte @Anycubic Kobra X 0.4 nozzle", + "Anycubic PLA Silk @Anycubic Kobra X 0.4 nozzle", + "Anycubic PVA @Anycubic Kobra X 0.4 nozzle", + "Anycubic TPU 95A @Anycubic Kobra X 0.4 nozzle", + "Anycubic TPU for ACE @Anycubic Kobra X 0.4 nozzle", + "Generic PETG @Anycubic Kobra X 0.4 nozzle" ], "disable_m73": "0", "gcode_flavor": "klipper", @@ -188,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "1", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Predator.json b/resources/profiles/Anycubic/machine/Anycubic Predator.json index a3b100c166..b4490d79f9 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Predator.json +++ b/resources/profiles/Anycubic/machine/Anycubic Predator.json @@ -8,5 +8,5 @@ "bed_model": "Anycubic Predator_buildplate_model.stl", "bed_texture": "Anycubic Predator_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Anycubic;Generic PLA @Anycubic;Generic PLA-CF @Anycubic;Generic PETG @Anycubic;Generic TPU @Anycubic;Generic ASA @Anycubic;Generic PC @Anycubic;Generic PVA @Anycubic;Generic PA @Anycubic;Generic PA-CF @Anycubic" + "default_materials": "Generic ABS @Anycubic;Generic PLA @Anycubic;Generic PLA-CF @Anycubic;Generic PETG @Anycubic;Generic TPU @Anycubic;Generic ASA @Anycubic;Generic PC @Anycubic;Generic PVA @Anycubic;Generic PA @Anycubic;Generic PA-CF @Anycubic;Generic PLA @System" } diff --git a/resources/profiles/Anycubic/machine/fdm_machine_common.json b/resources/profiles/Anycubic/machine/fdm_machine_common.json index c4ff46a6bf..ac44b6a964 100644 --- a/resources/profiles/Anycubic/machine/fdm_machine_common.json +++ b/resources/profiles/Anycubic/machine/fdm_machine_common.json @@ -126,7 +126,6 @@ "deretraction_speed": [ "30" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", diff --git a/resources/profiles/Anycubic/process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json index 6ba2afe3b3..80fd42d391 100644 --- a/resources/profiles/Anycubic/process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/process/0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "bZRQrVuJgsKO0PYK", - "instantiation": "true", - "print_settings_id": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "layer_height": "0.06", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.25 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "50", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.3", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.15", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.3", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "2000", - "internal_solid_infill_line_width": "0.27", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.27", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.27", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.3", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.06", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.27", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.06", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.27", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "4", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "bZRQrVuJgsKO0PYK", + "instantiation": "true", + "print_settings_id": "0.06mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "layer_height": "0.06", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.25 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.3", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.15", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.3", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.27", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.3", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.06", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.27", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.06", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.27", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json index 54a0df5369..5670e7a135 100644 --- a/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "7", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index a4a88b3149..6c8575201a 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..511a72b1ad --- /dev/null +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "9yiDozcVDSxKkz4V", + "instantiation": "true", + "print_settings_id": "0.08mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.08", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "350", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "10000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "450", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.08", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "15", + "support_top_z_distance": "0.08", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json index 5626bb449c..7b045f6b74 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "bfq9DtBsHIrbsZfD", - "instantiation": "true", - "print_settings_id": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "layer_height": "0.08", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.25 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "50", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.3", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.15", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.3", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "2000", - "internal_solid_infill_line_width": "0.27", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.27", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.27", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.3", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.08", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.27", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.08", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.27", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "4", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "bfq9DtBsHIrbsZfD", + "instantiation": "true", + "print_settings_id": "0.08mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "layer_height": "0.08", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.25 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.3", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.15", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.3", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.27", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.3", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.08", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.27", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.08", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.27", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index e49ba929c0..386505ff8e 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "E2tI71ShF3oOgMME", - "instantiation": "true", - "print_settings_id": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.08", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "7", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "80", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "120", - "ironing_angle": "-1", - "ironing_flow": "8%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "60", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.08", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "15", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.08", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "9", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "E2tI71ShF3oOgMME", + "instantiation": "true", + "print_settings_id": "0.08mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.08", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "80", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "120", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.08", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "15", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.08", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "9", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json index 2b02de44b3..ec1137ad11 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json b/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json index 1e8c4a2c90..b508189668 100644 --- a/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json +++ b/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "5", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle.json b/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle.json new file mode 100644 index 0000000000..7a92f74fc1 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "eSyZsnWMuOyokoLr", + "instantiation": "true", + "print_settings_id": "0.10mm Standard @Anycubic Kobra 3 V2 0.2 nozzle", + "layer_height": "0.1", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.2 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.25", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.22", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.22", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "120", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.22", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.22", + "outer_wall_speed": "80", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.22", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "150", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.22", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.22", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "15000", + "travel_jerk": "12", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json index 14fe54d530..58a70cf403 100644 --- a/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/process/0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "OmytVExIkdNyyyKT", - "instantiation": "true", - "print_settings_id": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "layer_height": "0.1", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.25 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "50", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.3", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.15", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.3", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "2000", - "internal_solid_infill_line_width": "0.27", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.27", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.27", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.3", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.1", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.27", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.1", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.27", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "4", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "OmytVExIkdNyyyKT", + "instantiation": "true", + "print_settings_id": "0.10mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "layer_height": "0.1", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.25 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.3", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.15", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.3", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.27", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.3", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.27", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.27", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json index 6fd6f1ace7..95a383016b 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json index a33932e016..d6f37a93c0 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "5", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json index c8d7c6f284..39acfedd36 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..7e4f2c0a00 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,58 @@ +{ + "type": "process", + "name": "0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "from": "system", + "setting_id": "HqXRokM0mAA691LV", + "instantiation": "true", + "print_settings_id": "0.12mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.12", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "bottom_shell_thickness": "0", + "bridge_acceleration": "2000", + "bridge_speed": "30", + "brim_type": "auto_brim", + "default_acceleration": "5000", + "default_jerk": "9", + "gap_infill_speed": "180", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "50", + "inner_wall_acceleration": "4000", + "inner_wall_jerk": "9", + "inner_wall_speed": "150", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_speed": "180", + "ironing_flow": "10%", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_speed": "60", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "prime_tower_width": "35", + "raft_first_layer_expansion": "5", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "small_perimeter_speed": "50%", + "sparse_infill_acceleration": "5000", + "sparse_infill_speed": "180", + "support_interface_top_layers": "2", + "support_threshold_angle": "20", + "top_bottom_infill_wall_overlap": "15%", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_speed": "150", + "travel_acceleration": "5000", + "travel_jerk": "9", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wipe_on_loops": "0", + "wipe_tower_extra_spacing": "120%" +} diff --git a/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json index 0a67e8371a..1ffa05956a 100644 --- a/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 38fd80bfae..7bd3131f87 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..0cb9844f79 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "NCKx6glFcaEOhqZC", + "instantiation": "true", + "print_settings_id": "0.12mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.12", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "350", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "130", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "30%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "10000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "430", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.12", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "3", + "support_line_width": "0.42", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "20", + "support_top_z_distance": "0.12", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json index b20feba94a..f01d005bf4 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "z8TDucaoilYiK8V1", - "instantiation": "true", - "print_settings_id": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "layer_height": "0.12", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.25 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "50", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.3", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.15", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.3", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "2000", - "internal_solid_infill_line_width": "0.27", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.27", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.27", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.3", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.12", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.27", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.12", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.27", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "4", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "z8TDucaoilYiK8V1", + "instantiation": "true", + "print_settings_id": "0.12mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "layer_height": "0.12", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.25 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.3", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.15", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.3", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.27", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.3", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.12", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.27", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.12", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.27", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index 99957845b8..33fcd005e4 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "D1bJFkXoVSZ2QLSA", - "instantiation": "true", - "print_settings_id": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.12", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "180", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "180", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "60", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "180", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.12", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "20", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.12", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "D1bJFkXoVSZ2QLSA", + "instantiation": "true", + "print_settings_id": "0.12mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.12", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "180", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "180", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "180", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.12", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "20", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.12", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json index 29dd4e03f9..73acca4322 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json b/resources/profiles/Anycubic/process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json index b31c2c5af4..15b3b89ad7 100644 --- a/resources/profiles/Anycubic/process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json +++ b/resources/profiles/Anycubic/process/0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "Hl64YdObrtpqJM2s", - "instantiation": "true", - "print_settings_id": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", - "layer_height": "0.14", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.25 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "5", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "50", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.3", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.15", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.3", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "2000", - "internal_solid_infill_line_width": "0.27", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.27", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.27", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.3", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.14", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.27", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.14", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.27", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "120", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "4", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "Hl64YdObrtpqJM2s", + "instantiation": "true", + "print_settings_id": "0.14mm Standard @Anycubic Kobra S1 Max 0.25 nozzle", + "layer_height": "0.14", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.25 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.3", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.15", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.3", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.27", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.3", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.14", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.27", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.14", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "7", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.27", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "4", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json index 35c1d4b30a..be2f8b3e9a 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "2Qq27PfeoCqMAZKw", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json index ff48fca663..0facf331d1 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fcqsKbEsGbAs6rUU", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra.json index e74fae9dad..ae5f046053 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "E1VHkuwE0sHTzmb2", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json index 3618dac281..84b0eb87fe 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7H2BzvHgy0o9nc1g", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json index a14a4961dd..8b6af27046 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ukTEpT2XRtJyGKUp", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json index e974680931..27c3ca627f 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "3Gu40CNOXnzDsZfD", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json index 0da034eeb7..0cfc8e7463 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ln2Zw2E5e3Azq3nc", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json index b4647a7c39..15a208302e 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "zKGotAmWJTB14cT8", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..8927b82909 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "process", + "name": "0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "from": "system", + "setting_id": "mVDCX89vYKfBA57g", + "instantiation": "true", + "print_settings_id": "0.16mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.16", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "bottom_shell_thickness": "0", + "bridge_acceleration": "2000", + "default_acceleration": "4000", + "default_jerk": "9", + "infill_anchor_max": "20", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "50", + "inner_wall_acceleration": "4000", + "inner_wall_jerk": "9", + "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_speed": "200", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_speed": "150", + "overhang_1_4_speed": "60", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "prime_tower_width": "30", + "raft_first_layer_expansion": "5", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "small_perimeter_speed": "50%", + "sparse_infill_acceleration": "4000", + "sparse_infill_speed": "200", + "support_line_width": "0.42", + "support_threshold_angle": "25", + "top_bottom_infill_wall_overlap": "15%", + "travel_acceleration": "4000", + "travel_jerk": "9", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wipe_on_loops": "0", + "wipe_tower_extra_spacing": "120%" +} diff --git a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json index 04c0b4d8e5..e8180a0034 100644 --- a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "Hiz2L1qh67izjl1e", - "instantiation": "true", - "print_settings_id": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.16", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "4000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "250", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "0", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "200", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "2000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "60", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "200", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.16", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "25", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.16", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "6", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "Hiz2L1qh67izjl1e", + "instantiation": "true", + "print_settings_id": "0.16mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.16", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "4000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": "200", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.16", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "25", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.16", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "6", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json index 055dc89ed1..d195a61226 100644 --- a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json index 13f0e7e127..283d8c72b4 100644 --- a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json index 469c3c4ba3..8d8e8222e5 100644 --- a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "4", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index aab5a3f23c..e4d3bc3a19 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "4", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 09ff8e393c..02f7fccb93 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..d63e7aef13 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "ut3FZjM7h3doFjRg", + "instantiation": "true", + "print_settings_id": "0.16mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.16", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "10000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "130", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "30%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "5000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "300", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.16", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "25", + "support_top_z_distance": "0.16", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "6", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index 4b83264a1d..596f35c405 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "4", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index edf43e2875..eeee68080f 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "Yl10d32pjposFVu9", - "instantiation": "true", - "print_settings_id": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.16", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "250", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "300", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "250", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "350", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.16", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "25", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.16", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "6", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "200", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "Yl10d32pjposFVu9", + "instantiation": "true", + "print_settings_id": "0.16mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.16", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "250", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "350", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.16", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "25", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.16", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "6", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json index 664f118e3d..0b682648d7 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index ac80f014ab..f6c96e3155 100644 --- a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json index 4b2fd1df30..bcd1decabe 100644 --- a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "Y55zuAyFSNMHZlCt", - "instantiation": "true", - "print_settings_id": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "layer_height": "0.18", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.6 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "5000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.62", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.3", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.62", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.62", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.62", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.62", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.62", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.18", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.62", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.18", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.62", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "5000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "Y55zuAyFSNMHZlCt", + "instantiation": "true", + "print_settings_id": "0.18mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "layer_height": "0.18", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.18", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.62", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.18", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "5000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..a20341393e --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,57 @@ +{ + "type": "process", + "name": "0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "from": "system", + "setting_id": "V7T6yBxuQzWucCpA", + "instantiation": "true", + "print_settings_id": "0.20mm High Quality @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.2", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "bottom_shell_thickness": "0", + "bridge_acceleration": "4000", + "bridge_speed": "50", + "brim_object_gap": "0.1", + "brim_width": "5", + "default_acceleration": "4000", + "default_jerk": "9", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "50", + "inner_wall_acceleration": "4000", + "inner_wall_jerk": "9", + "inner_wall_speed": "150", + "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_speed": "250", + "ironing_flow": "10%", + "outer_wall_acceleration": "2000", + "outer_wall_jerk": "9", + "outer_wall_speed": "60", + "overhang_4_4_speed": "10", + "prime_tower_width": "30", + "raft_first_layer_expansion": "5", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "sparse_infill_acceleration": "4000", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "270", + "support_line_width": "0.42", + "support_threshold_angle": "30", + "top_bottom_infill_wall_overlap": "15%", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_speed": "200", + "travel_acceleration": "4000", + "travel_jerk": "9", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wipe_on_loops": "0", + "wipe_tower_extra_spacing": "120%" +} diff --git a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json index f276232436..2f639acd63 100644 --- a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "M7CigEUqzwefI8ed", - "instantiation": "true", - "print_settings_id": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.2", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "250", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "250", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "250", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.2", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "5", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "200", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0.05" -} +{ + "type": "process", + "name": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "M7CigEUqzwefI8ed", + "instantiation": "true", + "print_settings_id": "0.20mm High Quality @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.2", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "250", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "250", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "5", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0.05" +} diff --git a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json index 75fb6457ea..425e43b467 100644 --- a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json index f0e718b0ff..d446d567b7 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "4fNa2Y66ms9j0vdh", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json index b92ce992ca..6f1b6475cf 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "4tYPv79lny7OAesb", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json index 0e65291255..4180755994 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index dc555a5838..ca551062d5 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json index 863a0a0af9..747646cb59 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json index 96fa4642c9..7476d37ea1 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json index 5573902ecf..8e94d72687 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 58b0b90e5e..827ef63836 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index b1af0fb13d..48307606ae 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..c3c4c21855 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "K5se4jnf2XHJNkEQ", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.2", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "10000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "130", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "130", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "30%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "5000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "300", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "5", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "130", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index 0626025cc4..8c1a97ff5e 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json index 6a02522e0e..f345acb65d 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json @@ -127,8 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "1", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index 4a00460633..2fef8f1bb5 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "h9txQrwg5GiCgORR", - "instantiation": "true", - "print_settings_id": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.2", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "250", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "300", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "250", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "300", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.2", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "5", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "200", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0.05" -} +{ + "type": "process", + "name": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "h9txQrwg5GiCgORR", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.2", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "250", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "300", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "5", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0.05" +} diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json index cbe349b771..3afbbb25f8 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra.json index c9d3e750a3..393233a992 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "PCsMHJ36HdywhVBA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json index b68731cb78..c0a529e50c 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dd3a8DNtunKVpWWY", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json index 77e3b32b80..b1a00dda27 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pqXeGE9OxboQGBMi", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json index 326db3295d..365a863cb5 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ZnZf41QpEAXorp2U", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json index 341ece7bef..e6e5f5ab8a 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jvz2LYWpcGJVgzZn", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json index d0eb582143..d6ffbab4a9 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lI7dHvKmsEmoSw1k", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json index 2ac098d8a7..48a7d490b4 100644 --- a/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 587aaecfe8..63324007cc 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 548f9050fc..fdebb701a7 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index aef03dc9b2..a367b48df4 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..7bf100714b --- /dev/null +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "cg8f6Q9o8nRePSC9", + "instantiation": "true", + "print_settings_id": "0.24mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.24", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "200", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "10000", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "30%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "5000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "200", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "35", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "180", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..5c93071727 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "from": "system", + "setting_id": "DhqKrBJZh4W22xna", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.24mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "layer_height": "0.24", + "brim_type": "auto_brim", + "default_acceleration": "6000", + "default_jerk": "9", + "elefant_foot_compensation": "0.1", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "outer_wall_jerk": "9", + "raft_first_layer_expansion": "5", + "sparse_infill_acceleration": "6000", + "support_threshold_angle": "30", + "top_bottom_infill_wall_overlap": "15%", + "travel_acceleration": "10000", + "travel_jerk": "9" +} diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index 28aeb2a4a6..338d36d1ac 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "NDu3QAQvTHNboRRR", - "instantiation": "true", - "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.24", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "230", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "230", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "230", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "35", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "230", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "35", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.2", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "4", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "200", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "NDu3QAQvTHNboRRR", + "instantiation": "true", + "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.24", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "230", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "230", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "230", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "230", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "35", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json index de6d9f4c09..4363919787 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "ehgM1Fri1VLP8d2m", - "instantiation": "true", - "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "layer_height": "0.24", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.6 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "5000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.62", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.3", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.62", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.62", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.62", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.62", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.62", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.62", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.62", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "5000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "ehgM1Fri1VLP8d2m", + "instantiation": "true", + "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "layer_height": "0.24", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.62", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "5000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json index 8d42e7ab86..48b693bb69 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "9oyIahCs4Md5T140", - "instantiation": "true", - "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "layer_height": "0.24", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.8 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.15", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "100", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "50", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.82", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.4", - "initial_layer_speed": "30", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.82", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.82", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.82", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "0", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.82", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "5", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "5", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.82", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "50", - "support_interface_top_layers": "2", - "support_line_width": "0.82", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "9oyIahCs4Md5T140", + "instantiation": "true", + "print_settings_id": "0.24mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "layer_height": "0.24", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json index e4ca7f3027..33f4c80798 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json index dcb8ee9848..f314b9f3b4 100644 --- a/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index a256d2e635..893f1af1e3 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 5deb25af55..255b805b88 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -136,8 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -198,7 +195,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json new file mode 100644 index 0000000000..8d99d7720e --- /dev/null +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "Qe8XQonRxfA8Jei1", + "instantiation": "true", + "print_settings_id": "0.28mm Standard @Anycubic Kobra 3 V2 0.4 nozzle", + "layer_height": "0.28", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "2000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "200", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "10000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "180", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "0%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "30%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "5000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "60%", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "180", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index 7b19ca18ba..108a9202ab 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json index 213c1bd438..e4839e61bb 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle.json @@ -1,320 +1,317 @@ -{ - "type": "process", - "name": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "P21QEQqy7DYRu61b", - "instantiation": "true", - "print_settings_id": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", - "layer_height": "0.28", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.4 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "200", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "100", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.5", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "50", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "200", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "50%", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_pattern": "zig-zag", - "internal_solid_infill_speed": "200", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.42", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "35", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "1", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.45", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "200", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "0", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.42", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "150", - "support_style": "default", - "support_threshold_angle": "40", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.2", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "1", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "4", - "top_shell_thickness": "1", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "200", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_bridging": "10", - "wipe_tower_cone_angle": "15", - "wipe_tower_extra_flow": "100%", - "wipe_tower_extra_spacing": "120%", - "wipe_tower_filament": "0", - "wipe_tower_max_purge_speed": "90", - "wipe_tower_no_sparse_layers": "0", - "wipe_tower_rotation_angle": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "P21QEQqy7DYRu61b", + "instantiation": "true", + "print_settings_id": "0.28mm Standard @Anycubic Kobra S1 Max 0.4 nozzle", + "layer_height": "0.28", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "200", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "50%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "40", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.2", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_spacing": "120%", + "wipe_tower_filament": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json index debbe6e0cf..d22e3ef4f4 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json index fa16040b96..46dd14c923 100644 --- a/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "0%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json index 974306bcd2..0b3e4b84c8 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "SnMGK6A5jGzj9KAm", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json index 0fd1a8efeb..d4d629ba75 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "B0Ar6gbysEbWId84", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra.json index 3ec6a42418..505c1f10b6 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jzWHjr9rKzgX2mbz", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json index 18456d7b99..9193fc6aaa 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "IWsii200XlEuhz3n", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json index bb3ddf9389..0535084c51 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "IB9gk84SYRkMza9u", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json index 4190064c90..33f3822993 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lSoaR17JUQSesbgG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json index e72286dd06..a21298d85c 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pXawQlRvbdiJJANG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json index 70bb8ad91e..d1a4fc798a 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7PNQ3S9tucM5wFyj", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json index 03ed5252c7..2b4da65c06 100644 --- a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 4820247cd2..c76f636af6 100644 --- a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..b5873f5a6e --- /dev/null +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "13ES5eks7VTR3G2E", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "layer_height": "0.3", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "500", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "20", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "10000", + "inner_wall_jerk": "15", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "0", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "15", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "35", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "10", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "10000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "100", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "80", + "support_interface_top_layers": "3", + "support_line_width": "0.62", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "5000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "15000", + "travel_jerk": "12", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "150%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json index 1c8042a175..02a1b0466f 100644 --- a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "O8vKonzzc8WA5pYY", - "instantiation": "true", - "print_settings_id": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "layer_height": "0.3", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.6 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "5000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.62", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.3", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.62", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.62", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.62", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.62", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "4", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.62", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.62", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "0", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.62", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "O8vKonzzc8WA5pYY", + "instantiation": "true", + "print_settings_id": "0.30mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "layer_height": "0.3", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.62", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index 745f784736..0faa168582 100644 --- a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..938312f46e --- /dev/null +++ b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "from": "system", + "setting_id": "avPzsOBN3DnXTaol", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.32mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "layer_height": "0.32", + "initial_layer_print_height": "0.32", + "inner_wall_speed": "120", + "outer_wall_speed": "80", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "30", + "top_solid_infill_flow_ratio": "0.95" +} diff --git a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json index 10b86fe268..34542cfb19 100644 --- a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "0bCUIOLe0kqiwAIZ", - "instantiation": "true", - "print_settings_id": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "layer_height": "0.32", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.8 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.15", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "100", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "50", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.82", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.4", - "initial_layer_speed": "30", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.82", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.82", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.82", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.82", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "5", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "5", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.82", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "50", - "support_interface_top_layers": "2", - "support_line_width": "0.82", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "0bCUIOLe0kqiwAIZ", + "instantiation": "true", + "print_settings_id": "0.32mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "layer_height": "0.32", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 93ff4febe6..62bce8d582 100644 --- a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json new file mode 100644 index 0000000000..d10161ced6 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "inherits": "0.30mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "from": "system", + "setting_id": "7pIVSig189FDjOMY", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.36mm Standard @Anycubic Kobra 3 V2 0.6 nozzle", + "layer_height": "0.36", + "brim_type": "auto_brim", + "default_acceleration": "6000", + "default_jerk": "9", + "elefant_foot_compensation": "0.1", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "9", + "outer_wall_jerk": "9", + "raft_first_layer_expansion": "5", + "sparse_infill_acceleration": "6000", + "support_threshold_angle": "30", + "top_bottom_infill_wall_overlap": "15%", + "travel_acceleration": "10000", + "travel_jerk": "9" +} diff --git a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json index 66eb279711..81d042d0e8 100644 --- a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "ii1Ycsf3xI93uZy9", - "instantiation": "true", - "print_settings_id": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "layer_height": "0.36", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.6 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "5000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.62", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.3", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.62", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.62", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.62", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.62", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.62", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.62", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.62", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "5000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "ii1Ycsf3xI93uZy9", + "instantiation": "true", + "print_settings_id": "0.36mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "layer_height": "0.36", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.62", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "5000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json index 1130f63061..b29ffd16ef 100644 --- a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json @@ -13,7 +13,6 @@ ], "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "1", "alternate_extra_wall": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", @@ -128,7 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index fadd6675d3..0002ce4d9b 100644 --- a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..1de694f388 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,289 @@ +{ + "type": "process", + "name": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "0yxg7c5tH07ZMIL4", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "layer_height": "0.4", + "compatible_printers": [ + "Anycubic Kobra 3 V2 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "5000", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "6000", + "default_jerk": "20", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "0", + "inner_wall_jerk": "15", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "10000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "0", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "15", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "35", + "prime_volume": "20", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "5000", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "3dhoneycomb", + "sparse_infill_speed": "100", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "0", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "80", + "support_interface_top_layers": "3", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "0.97", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "12", + "travel_speed": "350", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "1.5", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "150%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json index 1085832db4..0c68a35165 100644 --- a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "O5xBpGApHGyVlyLw", - "instantiation": "true", - "print_settings_id": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "layer_height": "0.4", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.8 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.15", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "0", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "0", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "100", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "50", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.82", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.4", - "initial_layer_speed": "30", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.82", - "inner_wall_speed": "120", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.82", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.82", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.82", - "outer_wall_speed": "60", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "5", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "5", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "40", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.82", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "50", - "support_interface_top_layers": "2", - "support_line_width": "0.82", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "O5xBpGApHGyVlyLw", + "instantiation": "true", + "print_settings_id": "0.40mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "layer_height": "0.4", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "120", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 12b7ec1ebf..f890e66ae7 100644 --- a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json index f11acb406f..7233849603 100644 --- a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "rPalfYXk0fCx0yjv", - "instantiation": "true", - "print_settings_id": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", - "layer_height": "0.42", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.6 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.1", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "5000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "50", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "60", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.62", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.3", - "initial_layer_speed": "40", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.62", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.62", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.62", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "1", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.62", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.62", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "80", - "support_interface_top_layers": "2", - "support_line_width": "0.62", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.62", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "5000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "rPalfYXk0fCx0yjv", + "instantiation": "true", + "print_settings_id": "0.42mm Standard @Anycubic Kobra S1 Max 0.6 nozzle", + "layer_height": "0.42", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.6 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "5000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.62", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "5000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index 98b75e6a31..4ae39e9b01 100644 --- a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -146,8 +146,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", @@ -209,7 +207,6 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", "internal_solid_filament_id": "0", diff --git a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json new file mode 100644 index 0000000000..c01e2d63f3 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "inherits": "0.40mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "from": "system", + "setting_id": "2cCCPfRX7H33XrMb", + "instantiation": "true", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "print_settings_id": "0.48mm Standard @Anycubic Kobra 3 V2 0.8 nozzle", + "layer_height": "0.48", + "initial_layer_print_height": "0.48", + "inner_wall_speed": "180", + "outer_wall_speed": "140", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "30", + "top_solid_infill_flow_ratio": "0.95" +} diff --git a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json index 88705184ec..34cd6518ab 100644 --- a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "y0r7Q7PMNRH8ujFF", - "instantiation": "true", - "print_settings_id": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "layer_height": "0.48", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.8 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.15", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "100", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "50", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.82", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.4", - "initial_layer_speed": "30", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.82", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.82", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.82", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "0", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.82", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "5", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "5", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.82", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "50", - "support_interface_top_layers": "2", - "support_line_width": "0.82", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "y0r7Q7PMNRH8ujFF", + "instantiation": "true", + "print_settings_id": "0.48mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "layer_height": "0.48", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json index 84ab9fa483..bdd7741e0b 100644 --- a/resources/profiles/Anycubic/process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle.json @@ -1,323 +1,320 @@ -{ - "type": "process", - "name": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "rOL0gJh6Y7pDsBnk", - "instantiation": "true", - "print_settings_id": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", - "layer_height": "0.56", - "compatible_printers": [ - "Anycubic Kobra S1 Max 0.8 nozzle" - ], - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "50%", - "alternate_extra_wall": "0", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bottom_solid_infill_flow_ratio": "1", - "bottom_surface_pattern": "monotonic", - "bridge_acceleration": "50%", - "bridge_angle": "0", - "bridge_density": "100%", - "bridge_flow": "1", - "bridge_no_support": "0", - "bridge_speed": "30", - "brim_ears_detection_length": "1", - "brim_ears_max_angle": "125", - "brim_object_gap": "0.15", - "brim_type": "auto_brim", - "brim_width": "5", - "compatible_printers_condition": "", - "counterbore_hole_bridging": "none", - "default_acceleration": "10000", - "default_jerk": "9", - "detect_narrow_internal_solid_infill": "1", - "detect_overhang_wall": "1", - "detect_thin_wall": "1", - "dont_filter_internal_bridges": "disabled", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "elefant_foot_compensation_layers": "1", - "enable_arc_fitting": "0", - "enable_extra_bridge_layer": "disabled", - "enable_overhang_speed": "1", - "enable_prime_tower": "1", - "enable_support": "0", - "enforce_support_layers": "0", - "ensure_vertical_shell_thickness": "ensure_all", - "exclude_object": "1", - "extra_perimeters_on_overhangs": "1", - "extrusion_rate_smoothing_external_perimeter_only": "0", - "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", - "filter_out_gap_fill": "0", - "flush_into_infill": "0", - "flush_into_objects": "0", - "flush_into_support": "1", - "fuzzy_skin": "none", - "fuzzy_skin_first_layer": "0", - "fuzzy_skin_noise_type": "classic", - "fuzzy_skin_octaves": "4", - "fuzzy_skin_persistence": "0.5", - "fuzzy_skin_point_distance": "0.8", - "fuzzy_skin_scale": "1", - "fuzzy_skin_thickness": "0.3", - "gap_fill_target": "topbottom", - "gap_infill_speed": "100", - "gcode_add_line_number": "0", - "gcode_comments": "0", - "gcode_label_objects": "1", - "hole_to_polyhole": "0", - "hole_to_polyhole_threshold": "0.01", - "hole_to_polyhole_twisted": "1", - "independent_support_layer_height": "1", - "infill_anchor": "400%", - "infill_anchor_max": "20", - "infill_combination": "0", - "infill_combination_max_layer_height": "100%", - "infill_direction": "45", - "infill_jerk": "9", - "infill_wall_overlap": "15%", - "initial_layer_acceleration": "500", - "initial_layer_infill_speed": "50", - "initial_layer_jerk": "9", - "initial_layer_line_width": "0.82", - "initial_layer_min_bead_width": "85%", - "initial_layer_print_height": "0.4", - "initial_layer_speed": "30", - "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "5000", - "inner_wall_jerk": "9", - "inner_wall_line_width": "0.82", - "inner_wall_speed": "150", - "interface_shells": "0", - "interlocking_beam": "0", - "interlocking_beam_layer_count": "2", - "interlocking_beam_width": "0.8", - "interlocking_boundary_avoidance": "2", - "interlocking_depth": "2", - "interlocking_orientation": "22.5", - "internal_bridge_angle": "0", - "internal_bridge_density": "100%", - "internal_bridge_flow": "1", - "internal_bridge_speed": "150%", - "internal_solid_infill_acceleration": "5000", - "internal_solid_infill_line_width": "0.82", - "internal_solid_infill_pattern": "monotonic", - "internal_solid_infill_speed": "150", - "ironing_angle": "-1", - "ironing_flow": "10%", - "ironing_inset": "0", - "ironing_pattern": "zig-zag", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "is_infill_first": "0", - "lattice_angle_1": "-45", - "lattice_angle_2": "45", - "line_width": "0.82", - "make_overhang_printable": "0", - "make_overhang_printable_angle": "55", - "make_overhang_printable_hole_size": "0", - "max_bridge_length": "10", - "max_travel_detour_distance": "0", - "max_volumetric_extrusion_rate_slope": "0", - "max_volumetric_extrusion_rate_slope_segment_length": "3", - "min_bead_width": "85%", - "min_feature_size": "25%", - "min_length_factor": "0.5", - "min_skirt_length": "0", - "min_width_top_surface": "300%", - "minimum_sparse_infill_area": "15", - "mmu_segmented_region_interlocking_depth": "0", - "mmu_segmented_region_max_width": "0", - "notes": "", - "only_one_wall_first_layer": "0", - "only_one_wall_top": "0", - "ooze_prevention": "0", - "outer_wall_acceleration": "5000", - "outer_wall_jerk": "9", - "outer_wall_line_width": "0.82", - "outer_wall_speed": "120", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "5", - "overhang_reverse": "0", - "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "5", - "post_process": [], - "precise_outer_wall": "0", - "precise_z_height": "0", - "preheat_steps": "1", - "preheat_time": "0", - "prime_tower_brim_width": "5", - "prime_tower_extra_rib_length": "0", - "prime_tower_fillet_wall": "1", - "prime_tower_flat_ironing": "0", - "prime_tower_infill_gap": "150%", - "prime_tower_max_speed": "90", - "prime_tower_rib_wall": "1", - "prime_tower_rib_width": "8", - "prime_tower_skip_points": "1", - "prime_tower_width": "30", - "prime_volume": "30", - "print_flow_ratio": "1", - "print_order": "default", - "print_sequence": "by layer", - "raft_contact_distance": "0.1", - "raft_expansion": "1.5", - "raft_first_layer_density": "90%", - "raft_first_layer_expansion": "5", - "raft_layers": "0", - "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", - "resolution": "0.012", - "role_based_wipe_speed": "1", - "rotate_solid_infill_direction": "1", - "scarf_angle_threshold": "155", - "scarf_joint_flow_ratio": "1", - "scarf_joint_speed": "30", - "scarf_overhang_threshold": "40%", - "seam_gap": "10%", - "seam_position": "aligned", - "seam_slope_conditional": "1", - "seam_slope_entire_loop": "0", - "seam_slope_inner_walls": "1", - "seam_slope_min_length": "10", - "seam_slope_start_height": "10%", - "seam_slope_steps": "10", - "seam_slope_type": "none", - "single_extruder_multi_material_priming": "0", - "single_loop_draft_shield": "0", - "skirt_distance": "2", - "skirt_height": "1", - "skirt_loops": "0", - "skirt_speed": "50", - "skirt_start_angle": "-135", - "skirt_type": "combined", - "slice_closing_radius": "0.049", - "slicing_mode": "regular", - "slow_down_layers": "0", - "slowdown_for_curled_perimeters": "0", - "small_area_infill_flow_compensation": "0", - "small_area_infill_flow_compensation_model": [ - "0,0", - "\n0.2,0.4444", - "\n0.4,0.6145", - "\n0.6,0.7059", - "\n0.8,0.7619", - "\n1.5,0.8571", - "\n2,0.8889", - "\n3,0.9231", - "\n5,0.9520", - "\n10,1" - ], - "small_perimeter_speed": "50%", - "small_perimeter_threshold": "0", - "smooth_coefficient": "80", - "smooth_speed_discontinuity_area": "1", - "solid_infill_direction": "45", - "solid_infill_filament": "1", - "sparse_infill_acceleration": "100%", - "sparse_infill_density": "15%", - "sparse_infill_filament": "1", - "sparse_infill_line_width": "0.82", - "sparse_infill_pattern": "grid", - "sparse_infill_speed": "100", - "spiral_finishing_flow_ratio": "0", - "spiral_mode": "0", - "spiral_mode_max_xy_smoothing": "200%", - "spiral_mode_smooth": "0", - "spiral_starting_flow_ratio": "0", - "staggered_inner_seams": "0", - "standby_temperature_delta": "-5", - "support_angle": "0", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2.5", - "support_bottom_interface_spacing": "0.5", - "support_bottom_z_distance": "0.2", - "support_critical_regions_only": "0", - "support_expansion": "0", - "support_filament": "0", - "support_interface_bottom_layers": "2", - "support_interface_filament": "0", - "support_interface_loop_pattern": "0", - "support_interface_not_for_body": "1", - "support_interface_pattern": "auto", - "support_interface_spacing": "0.5", - "support_interface_speed": "50", - "support_interface_top_layers": "2", - "support_line_width": "0.82", - "support_object_first_layer_gap": "0.2", - "support_object_xy_distance": "0.35", - "support_on_build_plate_only": "1", - "support_remove_small_overhang": "1", - "support_speed": "100", - "support_style": "default", - "support_threshold_angle": "30", - "support_threshold_overlap": "50%", - "support_top_z_distance": "0.25", - "support_type": "tree(auto)", - "thick_bridges": "0", - "thick_internal_bridges": "0", - "timelapse_type": "0", - "top_bottom_infill_wall_overlap": "15%", - "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "top_solid_infill_flow_ratio": "1", - "top_surface_acceleration": "2000", - "top_surface_jerk": "9", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonicline", - "top_surface_speed": "150", - "travel_acceleration": "10000", - "travel_jerk": "9", - "travel_speed": "300", - "travel_speed_z": "0", - "tree_support_adaptive_layer_height": "1", - "tree_support_angle_slow": "25", - "tree_support_auto_brim": "1", - "tree_support_branch_angle": "45", - "tree_support_branch_angle_organic": "40", - "tree_support_branch_diameter": "2", - "tree_support_branch_diameter_angle": "5", - "tree_support_branch_diameter_organic": "2", - "tree_support_branch_distance": "5", - "tree_support_branch_distance_organic": "1", - "tree_support_brim_width": "3", - "tree_support_tip_diameter": "0.8", - "tree_support_top_rate": "30%", - "tree_support_wall_count": "0", - "wall_direction": "auto", - "wall_distribution_count": "1", - "wall_filament": "1", - "wall_generator": "classic", - "wall_loops": "2", - "wall_sequence": "inner wall/outer wall", - "wall_transition_angle": "10", - "wall_transition_filter_deviation": "25%", - "wall_transition_length": "100%", - "wipe_before_external_loop": "0", - "wipe_on_loops": "0", - "wipe_speed": "80%", - "wipe_tower_extra_flow": "100%", - "wipe_tower_filament": "0", - "wipe_tower_no_sparse_layers": "0", - "wiping_volumes_extruders": [ - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70", - "70" - ], - "xy_contour_compensation": "0", - "xy_hole_compensation": "0" -} +{ + "type": "process", + "name": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "rOL0gJh6Y7pDsBnk", + "instantiation": "true", + "print_settings_id": "0.56mm Standard @Anycubic Kobra S1 Max 0.8 nozzle", + "layer_height": "0.56", + "compatible_printers": [ + "Anycubic Kobra S1 Max 0.8 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "10000", + "default_jerk": "9", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{timestamp}-{if plate_name==\"\" then input_filename_base+\"_plate\" else plate_name endif}{\"(\"+plate_number+\")\"}_{filament_type[initial_tool]}_{layer_height}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lattice_angle_1": "-45", + "lattice_angle_2": "45", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "0", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "9", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "120", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "5", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "preheat_steps": "1", + "preheat_time": "0", + "prime_tower_brim_width": "5", + "prime_tower_extra_rib_length": "0", + "prime_tower_fillet_wall": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_max_speed": "90", + "prime_tower_rib_wall": "1", + "prime_tower_rib_width": "8", + "prime_tower_skip_points": "1", + "prime_tower_width": "30", + "prime_volume": "30", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "5", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "30", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "1", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "1", + "seam_slope_min_length": "10", + "seam_slope_start_height": "10%", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "smooth_speed_discontinuity_area": "1", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "spiral_finishing_flow_ratio": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.25", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "15%", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "150", + "travel_acceleration": "10000", + "travel_jerk": "9", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_extra_flow": "100%", + "wipe_tower_filament": "0", + "wipe_tower_no_sparse_layers": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Anycubic/process/fdm_process_common.json b/resources/profiles/Anycubic/process/fdm_process_common.json index 868bbc1a2e..f813b8fa7f 100644 --- a/resources/profiles/Anycubic/process/fdm_process_common.json +++ b/resources/profiles/Anycubic/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -78,7 +77,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", diff --git a/resources/profiles/Artillery.json b/resources/profiles/Artillery.json index 66a3a05247..180622cf3a 100644 --- a/resources/profiles/Artillery.json +++ b/resources/profiles/Artillery.json @@ -1,6 +1,6 @@ { "name": "Artillery", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "Artillery configurations", "machine_model_list": [ diff --git a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.2 nozzle.json b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.2 nozzle.json index e5617c4fe6..f168beb458 100644 --- a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.2 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.2 nozzle.json @@ -439,7 +439,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.4 nozzle.json index a265906570..626b3d23ab 100644 --- a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.4 nozzle.json @@ -199,7 +199,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.6 nozzle.json b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.6 nozzle.json index 85be2e70be..c052fb721f 100644 --- a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.6 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.6 nozzle.json @@ -439,7 +439,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.8 nozzle.json b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.8 nozzle.json index db91e5320b..1a0d950914 100644 --- a/resources/profiles/Artillery/machine/Artillery M1 Pro 0.8 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery M1 Pro 0.8 nozzle.json @@ -439,7 +439,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery M1 Pro.json b/resources/profiles/Artillery/machine/Artillery M1 Pro.json index b7e4c1baaa..9b1e63a89d 100644 --- a/resources/profiles/Artillery/machine/Artillery M1 Pro.json +++ b/resources/profiles/Artillery/machine/Artillery M1 Pro.json @@ -10,5 +10,5 @@ "hotend_model": "", "default_bed_type": "Textured PEI Plate", "not_support_bed_type": "Engineering Plate;Textured Cool Plate;Smooth PEI Plate", - "default_materials": "Artillery PLA Basic;Artillery ABS;Artillery ASA;Artillery PA;Artillery PA-CF;Artillery PC;Artillery PET;Artillery PETG Basic;Artillery PETG-CF;Artillery PLA Basic;Artillery PLA Matte;Artillery PLA Silk;Artillery PLA-CF;Artillery PVA;Artillery TPU;Artillery PLA" + "default_materials": "Artillery PLA Basic @Artillery M1 Pro 0.4 nozzle;Artillery ABS @Artillery M1 Pro 0.4 nozzle;Artillery ASA @Artillery M1 Pro 0.4 nozzle;Artillery PA @Artillery M1 Pro 0.4 nozzle;Artillery PA-CF @Artillery M1 Pro 0.4 nozzle;Artillery PC @Artillery M1 Pro 0.4 nozzle;Artillery PET @Artillery M1 Pro 0.4 nozzle;Artillery PETG Basic @Artillery M1 Pro 0.4 nozzle;Artillery PETG-CF @Artillery M1 Pro 0.4 nozzle;Artillery PLA Matte @Artillery M1 Pro 0.4 nozzle;Artillery PLA Silk @Artillery M1 Pro 0.4 nozzle;Artillery PLA-CF @Artillery M1 Pro 0.4 nozzle;Artillery PVA @Artillery M1 Pro 0.4 nozzle;Artillery TPU @Artillery M1 Pro 0.4 nozzle;Artillery PLA Basic @Artillery M1 Pro 0.2 nozzle;Artillery PLA Basic @Artillery M1 Pro 0.6 nozzle;Artillery PLA Basic @Artillery M1 Pro 0.8 nozzle" } diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json index 42e66ff875..98af67eaa7 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json @@ -196,7 +196,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json index 3b12ce6ede..4a961d2113 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json @@ -196,7 +196,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json index b9013a99bf..0e2d82e209 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json @@ -196,7 +196,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json index 4642e015a1..2102a9e857 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json @@ -196,7 +196,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Artillery/machine/fdm_machine_common.json b/resources/profiles/Artillery/machine/fdm_machine_common.json index fcf2e2670b..e5e5341b22 100644 --- a/resources/profiles/Artillery/machine/fdm_machine_common.json +++ b/resources/profiles/Artillery/machine/fdm_machine_common.json @@ -126,7 +126,6 @@ "deretraction_speed": [ "30" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", diff --git a/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json index a1175a96f5..a336001bbe 100644 --- a/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json @@ -137,7 +137,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json index 929fafed81..17279f7852 100644 --- a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json index 5a53fa08fd..d2c323a468 100644 --- a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json index a7647a1f00..2f6d888558 100644 --- a/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json @@ -135,7 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json index b6f6ae5347..e5f12b7fb4 100644 --- a/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -134,7 +134,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json index 8112e2e609..6490399347 100644 --- a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "lF4fXJjfALsU4vVF", "name": "0.15mm Optimal @Artillery Genius Pro", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "lF4fXJjfALsU4vVF", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json index 9a6cac5bec..7c54deaa45 100644 --- a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "vo47lgntuWkTLKZb", "name": "0.15mm Optimal @Artillery Genius", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "vo47lgntuWkTLKZb", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.15", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json index 238359be48..b2a81b40fa 100644 --- a/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -135,7 +135,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json index 25d53a28f7..9617aac2c8 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "XEpSP538KuWRSmGA", "name": "0.16mm Optimal @Artillery Hornet", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "XEpSP538KuWRSmGA", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json index a31ce771ad..adacdcf7fd 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json @@ -138,7 +138,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json index 06244e2d4a..355c6078d5 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "3bBfTCC809w3YcXr", "name": "0.16mm Optimal @Artillery X1", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "3bBfTCC809w3YcXr", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json index 99516c7732..9a91eb82a4 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "CsTy51kncEm8X0yJ", "name": "0.20mm Standard @Artillery Genius Pro", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "CsTy51kncEm8X0yJ", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json index 0a36259661..6ef1ed280e 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "lzsTJzIBChXesgUG", "name": "0.20mm Standard @Artillery Genius", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "lzsTJzIBChXesgUG", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json index b8eecf1f0f..8c846f2996 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "i2UAXXKCEaBJmX5R", "name": "0.20mm Standard @Artillery Hornet", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "i2UAXXKCEaBJmX5R", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json index 3baeec4a3b..02851bc832 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json @@ -141,7 +141,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json index fcb3b2fea1..a32ba399ff 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "A2tF591xYPxvYPYn", "name": "0.20mm Standard @Artillery X1", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "A2tF591xYPxvYPYn", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json index 815e9b00c0..bff0dadb1a 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "Uuco1eKObqt1aypG", "name": "0.20mm Standard @Artillery X2", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "Uuco1eKObqt1aypG", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json index b13efe200b..4a18b18ad0 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json index 264a3e5f15..472b2cdb30 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json index 8bf69da267..0df8955ecd 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json index 56f172e941..3462f3c7f3 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json index 837e4eb6a7..f74639343a 100644 --- a/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json @@ -136,7 +136,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json index 33893b53df..c01ebe2271 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "vK3z8VB7eFi5wSEy", "name": "0.24mm Draft @Artillery Hornet", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "vK3z8VB7eFi5wSEy", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json index d175fb9f9d..6c3911a578 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json index 5f3c183e51..d6d80212ce 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json index 38a240bad5..4b2d68d114 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json index 6abc742265..fee39f4d0b 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "pMfIpILEXxTfa574", "name": "0.24mm Draft @Artillery X1", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "pMfIpILEXxTfa574", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json index 500c492659..851b63d27d 100644 --- a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "OGYrkEdpgzTfzZLw", "name": "0.25mm Draft @Artillery Genius Pro", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "OGYrkEdpgzTfzZLw", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json index f17fd83593..1489269c39 100644 --- a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "UditC85gTRgxvpSp", "name": "0.25mm Draft @Artillery Genius", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_common", - "adaptive_layer_height": "1", + "from": "system", + "setting_id": "UditC85gTRgxvpSp", + "instantiation": "true", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json index 6540876295..efee8340aa 100644 --- a/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json @@ -136,7 +136,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Artillery/process/fdm_process_common.json b/resources/profiles/Artillery/process/fdm_process_common.json index c74a84adbb..976ff7cf68 100644 --- a/resources/profiles/Artillery/process/fdm_process_common.json +++ b/resources/profiles/Artillery/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -78,7 +77,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index 9641788cf7..44354ce026 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -1,9 +1,9 @@ { "name": "Bambulab", "url": "http://www.bambulab.com/Parameters/vendor/BBL.json", - "version": "02.01.00.24", + "version": "02.08.00.10", "force_update": "0", - "description": "BBL configurations", + "description": "the initial version of BBL configurations", "machine_model_list": [ { "name": "Bambu Lab A1", @@ -62,6 +62,8802 @@ "sub_path": "machine/Bambu Lab X2D.json" } ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_template_direct_bowden", + "sub_path": "filament/fdm_filament_template_direct_bowden.json" + }, + { + "name": "fdm_filament_template_direct_bowden_e3d", + "sub_path": "filament/fdm_filament_template_direct_bowden_e3d.json" + }, + { + "name": "fdm_filament_template_direct_dual", + "sub_path": "filament/fdm_filament_template_direct_dual.json" + }, + { + "name": "fdm_filament_template_direct_dual_e3d", + "sub_path": "filament/fdm_filament_template_direct_dual_e3d.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_bvoh", + "sub_path": "filament/fdm_filament_bvoh.json" + }, + { + "name": "fdm_filament_eva", + "sub_path": "filament/fdm_filament_eva.json" + }, + { + "name": "fdm_filament_hips", + "sub_path": "filament/fdm_filament_hips.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pctg", + "sub_path": "filament/fdm_filament_pctg.json" + }, + { + "name": "fdm_filament_pe", + "sub_path": "filament/fdm_filament_pe.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pha", + "sub_path": "filament/fdm_filament_pha.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_pp", + "sub_path": "filament/fdm_filament_pp.json" + }, + { + "name": "fdm_filament_ppa", + "sub_path": "filament/fdm_filament_ppa.json" + }, + { + "name": "fdm_filament_pps", + "sub_path": "filament/fdm_filament_pps.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "Bambu ABS @base", + "sub_path": "filament/Bambu ABS @base.json" + }, + { + "name": "Bambu ABS-GF @base", + "sub_path": "filament/Bambu ABS-GF @base.json" + }, + { + "name": "Bambu Support for ABS @base", + "sub_path": "filament/Bambu Support for ABS @base.json" + }, + { + "name": "Generic ABS @base", + "sub_path": "filament/Generic ABS @base.json" + }, + { + "name": "PolyLite ABS @base", + "sub_path": "filament/PolyLite ABS @base.json" + }, + { + "name": "Bambu ASA @base", + "sub_path": "filament/Bambu ASA @base.json" + }, + { + "name": "Bambu ASA-Aero @base", + "sub_path": "filament/Bambu ASA-Aero @base.json" + }, + { + "name": "Bambu ASA-CF @base", + "sub_path": "filament/Bambu ASA-CF @base.json" + }, + { + "name": "Generic ASA @base", + "sub_path": "filament/Generic ASA @base.json" + }, + { + "name": "PolyLite ASA @base", + "sub_path": "filament/PolyLite ASA @base.json" + }, + { + "name": "Generic BVOH @base", + "sub_path": "filament/Generic BVOH @base.json" + }, + { + "name": "Generic EVA @base", + "sub_path": "filament/Generic EVA @base.json" + }, + { + "name": "Generic HIPS @base", + "sub_path": "filament/Generic HIPS @base.json" + }, + { + "name": "Bambu PA-CF @base", + "sub_path": "filament/Bambu PA-CF @base.json" + }, + { + "name": "Bambu PA6-CF @base", + "sub_path": "filament/Bambu PA6-CF @base.json" + }, + { + "name": "Bambu PA6-GF @base", + "sub_path": "filament/Bambu PA6-GF @base.json" + }, + { + "name": "Bambu PAHT-CF @base", + "sub_path": "filament/Bambu PAHT-CF @base.json" + }, + { + "name": "Bambu Support For PA/PET @base", + "sub_path": "filament/Bambu Support For PA PET @base.json" + }, + { + "name": "Bambu Support G @base", + "sub_path": "filament/Bambu Support G @base.json" + }, + { + "name": "Fiberon PA12-CF @base", + "sub_path": "filament/Polymaker/Fiberon PA12-CF @base.json" + }, + { + "name": "Fiberon PA6-CF @base", + "sub_path": "filament/Polymaker/Fiberon PA6-CF @base.json" + }, + { + "name": "Fiberon PA6-GF @base", + "sub_path": "filament/Polymaker/Fiberon PA6-GF @base.json" + }, + { + "name": "Fiberon PA612-CF @base", + "sub_path": "filament/Polymaker/Fiberon PA612-CF @base.json" + }, + { + "name": "Generic PA @base", + "sub_path": "filament/Generic PA @base.json" + }, + { + "name": "Generic PA-CF @base", + "sub_path": "filament/Generic PA-CF @base.json" + }, + { + "name": "Bambu PC @base", + "sub_path": "filament/Bambu PC @base.json" + }, + { + "name": "Bambu PC FR @base", + "sub_path": "filament/Bambu PC FR @base.json" + }, + { + "name": "Generic PC @base", + "sub_path": "filament/Generic PC @base.json" + }, + { + "name": "Generic PCTG @base", + "sub_path": "filament/Generic PCTG @base.json" + }, + { + "name": "Generic PE @base", + "sub_path": "filament/Generic PE @base.json" + }, + { + "name": "Generic PE-CF @base", + "sub_path": "filament/Generic PE-CF @base.json" + }, + { + "name": "Bambu PET-CF @base", + "sub_path": "filament/Bambu PET-CF @base.json" + }, + { + "name": "Bambu PETG Basic @base", + "sub_path": "filament/Bambu PETG Basic @base.json" + }, + { + "name": "Bambu PETG HF @base", + "sub_path": "filament/Bambu PETG HF @base.json" + }, + { + "name": "Bambu PETG Matte @base", + "sub_path": "filament/Bambu PETG Matte @base.json" + }, + { + "name": "Bambu PETG Translucent @base", + "sub_path": "filament/Bambu PETG Translucent @base.json" + }, + { + "name": "Bambu PETG-CF @base", + "sub_path": "filament/Bambu PETG-CF @base.json" + }, + { + "name": "Fiberon PET-CF @base", + "sub_path": "filament/Polymaker/Fiberon PET-CF @base.json" + }, + { + "name": "Fiberon PETG-ESD @base", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @base.json" + }, + { + "name": "Fiberon PETG-rCF @base", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF @base.json" + }, + { + "name": "Generic PETG @base", + "sub_path": "filament/Generic PETG @base.json" + }, + { + "name": "Generic PETG HF @base", + "sub_path": "filament/Generic PETG HF @base.json" + }, + { + "name": "Generic PETG-CF @base", + "sub_path": "filament/Generic PETG-CF @base.json" + }, + { + "name": "PolyLite PETG @base", + "sub_path": "filament/PolyLite PETG @base.json" + }, + { + "name": "SUNLU PETG @base", + "sub_path": "filament/SUNLU/SUNLU PETG @base.json" + }, + { + "name": "Generic PHA @base", + "sub_path": "filament/Generic PHA @base.json" + }, + { + "name": "Bambu PLA Aero @base", + "sub_path": "filament/Bambu PLA Aero @base.json" + }, + { + "name": "Bambu PLA Basic @base", + "sub_path": "filament/Bambu PLA Basic @base.json" + }, + { + "name": "Bambu PLA Dynamic @base", + "sub_path": "filament/Bambu PLA Dynamic @base.json" + }, + { + "name": "Bambu PLA Galaxy @base", + "sub_path": "filament/Bambu PLA Galaxy @base.json" + }, + { + "name": "Bambu PLA Glow @base", + "sub_path": "filament/Bambu PLA Glow @base.json" + }, + { + "name": "Bambu PLA Lite @base", + "sub_path": "filament/Bambu PLA Lite @base.json" + }, + { + "name": "Bambu PLA Marble @base", + "sub_path": "filament/Bambu PLA Marble @base.json" + }, + { + "name": "Bambu PLA Matte @base", + "sub_path": "filament/Bambu PLA Matte @base.json" + }, + { + "name": "Bambu PLA Metal @base", + "sub_path": "filament/Bambu PLA Metal @base.json" + }, + { + "name": "Bambu PLA Pure @base", + "sub_path": "filament/Bambu PLA Pure @base.json" + }, + { + "name": "Bambu PLA Silk @base", + "sub_path": "filament/Bambu PLA Silk @base.json" + }, + { + "name": "Bambu PLA Silk+ @base", + "sub_path": "filament/Bambu PLA Silk+ @base.json" + }, + { + "name": "Bambu PLA Sparkle @base", + "sub_path": "filament/Bambu PLA Sparkle @base.json" + }, + { + "name": "Bambu PLA Tough @base", + "sub_path": "filament/Bambu PLA Tough @base.json" + }, + { + "name": "Bambu PLA Tough+ @base", + "sub_path": "filament/Bambu PLA Tough+ @base.json" + }, + { + "name": "Bambu PLA Translucent @base", + "sub_path": "filament/Bambu PLA Translucent @base.json" + }, + { + "name": "Bambu PLA Wood @base", + "sub_path": "filament/Bambu PLA Wood @base.json" + }, + { + "name": "Bambu PLA-CF @base", + "sub_path": "filament/Bambu PLA-CF @base.json" + }, + { + "name": "Bambu Support For PLA @base", + "sub_path": "filament/Bambu Support For PLA @base.json" + }, + { + "name": "Bambu Support For PLA/PETG @base", + "sub_path": "filament/Bambu Support For PLA-PETG @base.json" + }, + { + "name": "Bambu Support W @base", + "sub_path": "filament/Bambu Support W @base.json" + }, + { + "name": "Generic PLA @base", + "sub_path": "filament/Generic PLA @base.json" + }, + { + "name": "Generic PLA High Speed @base", + "sub_path": "filament/Generic PLA High Speed @base.json" + }, + { + "name": "Generic PLA Silk @base", + "sub_path": "filament/Generic PLA Silk @base.json" + }, + { + "name": "Generic PLA-CF @base", + "sub_path": "filament/Generic PLA-CF @base.json" + }, + { + "name": "Overture Matte PLA @base", + "sub_path": "filament/Overture Matte PLA @base.json" + }, + { + "name": "Overture PLA @base", + "sub_path": "filament/Overture PLA @base.json" + }, + { + "name": "PolyLite PLA @base", + "sub_path": "filament/PolyLite PLA @base.json" + }, + { + "name": "PolyTerra PLA @base", + "sub_path": "filament/PolyTerra PLA @base.json" + }, + { + "name": "SUNLU PLA Marble @base", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @base.json" + }, + { + "name": "SUNLU PLA Matte @base", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @base.json" + }, + { + "name": "SUNLU PLA+ 2.0 @base", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @base.json" + }, + { + "name": "SUNLU PLA+ @base", + "sub_path": "filament/SUNLU/SUNLU PLA+ @base.json" + }, + { + "name": "SUNLU Silk PLA+ @base", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @base.json" + }, + { + "name": "SUNLU Wood PLA @base", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @base.json" + }, + { + "name": "eSUN PLA+ @base", + "sub_path": "filament/eSUN PLA+ @base.json" + }, + { + "name": "Generic PP @base", + "sub_path": "filament/Generic PP @base.json" + }, + { + "name": "Generic PP-CF @base", + "sub_path": "filament/Generic PP-CF @base.json" + }, + { + "name": "Generic PP-GF @base", + "sub_path": "filament/Generic PP-GF @base.json" + }, + { + "name": "Bambu PPA-CF @base", + "sub_path": "filament/Bambu PPA-CF @base.json" + }, + { + "name": "Generic PPA-CF @base", + "sub_path": "filament/Generic PPA-CF @base.json" + }, + { + "name": "Generic PPA-GF @base", + "sub_path": "filament/Generic PPA-GF @base.json" + }, + { + "name": "Bambu PPS-CF @base", + "sub_path": "filament/Bambu PPS-CF @base.json" + }, + { + "name": "Generic PPS @base", + "sub_path": "filament/Generic PPS @base.json" + }, + { + "name": "Generic PPS-CF @base", + "sub_path": "filament/Generic PPS-CF @base.json" + }, + { + "name": "Bambu PVA @base", + "sub_path": "filament/Bambu PVA @base.json" + }, + { + "name": "Generic PVA @base", + "sub_path": "filament/Generic PVA @base.json" + }, + { + "name": "Bambu TPU 85A @base", + "sub_path": "filament/Bambu TPU 85A @base.json" + }, + { + "name": "Bambu TPU 90A @base", + "sub_path": "filament/Bambu TPU 90A @base.json" + }, + { + "name": "Bambu TPU 95A @base", + "sub_path": "filament/Bambu TPU 95A @base.json" + }, + { + "name": "Bambu TPU 95A HF @base", + "sub_path": "filament/Bambu TPU 95A HF @base.json" + }, + { + "name": "Bambu TPU for AMS @base", + "sub_path": "filament/Bambu TPU for AMS @base.json" + }, + { + "name": "Generic TPU @base", + "sub_path": "filament/Generic TPU @base.json" + }, + { + "name": "Generic TPU for AMS @base", + "sub_path": "filament/Generic TPU for AMS @base.json" + }, + { + "name": "Bambu ABS @BBL A1", + "sub_path": "filament/Bambu ABS @BBL A1.json" + }, + { + "name": "Bambu ABS @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2C", + "sub_path": "filament/Bambu ABS @BBL H2C.json" + }, + { + "name": "Bambu ABS @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2D", + "sub_path": "filament/Bambu ABS @BBL H2D.json" + }, + { + "name": "Bambu ABS @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2DP", + "sub_path": "filament/Bambu ABS @BBL H2DP.json" + }, + { + "name": "Bambu ABS @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2S", + "sub_path": "filament/Bambu ABS @BBL H2S.json" + }, + { + "name": "Bambu ABS @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P1P", + "sub_path": "filament/P1P/Bambu ABS @BBL P1P.json" + }, + { + "name": "Bambu ABS @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu ABS @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P1S 0.4 nozzle", + "sub_path": "filament/Bambu ABS @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P2S", + "sub_path": "filament/Bambu ABS @BBL P2S.json" + }, + { + "name": "Bambu ABS @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X1C", + "sub_path": "filament/Bambu ABS @BBL X1C.json" + }, + { + "name": "Bambu ABS @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu ABS @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X1E", + "sub_path": "filament/Bambu ABS @BBL X1E.json" + }, + { + "name": "Bambu ABS @BBL X1E 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X1E 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL X1E 0.8 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X2D", + "sub_path": "filament/Bambu ABS @BBL X2D.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu ABS-GF @BBL A1", + "sub_path": "filament/Bambu ABS-GF @BBL A1.json" + }, + { + "name": "Bambu ABS-GF @BBL H2C", + "sub_path": "filament/Bambu ABS-GF @BBL H2C.json" + }, + { + "name": "Bambu ABS-GF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu ABS-GF @BBL H2D", + "sub_path": "filament/Bambu ABS-GF @BBL H2D.json" + }, + { + "name": "Bambu ABS-GF @BBL H2DP", + "sub_path": "filament/Bambu ABS-GF @BBL H2DP.json" + }, + { + "name": "Bambu ABS-GF @BBL H2S", + "sub_path": "filament/Bambu ABS-GF @BBL H2S.json" + }, + { + "name": "Bambu ABS-GF @BBL P1P", + "sub_path": "filament/Bambu ABS-GF @BBL P1P.json" + }, + { + "name": "Bambu ABS-GF @BBL P2S", + "sub_path": "filament/Bambu ABS-GF @BBL P2S.json" + }, + { + "name": "Bambu ABS-GF @BBL X1C", + "sub_path": "filament/Bambu ABS-GF @BBL X1C.json" + }, + { + "name": "Bambu ABS-GF @BBL X2D", + "sub_path": "filament/Bambu ABS-GF @BBL X2D.json" + }, + { + "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL A1", + "sub_path": "filament/Bambu Support for ABS @BBL A1.json" + }, + { + "name": "Bambu Support for ABS @BBL H2C", + "sub_path": "filament/Bambu Support for ABS @BBL H2C.json" + }, + { + "name": "Bambu Support for ABS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2D", + "sub_path": "filament/Bambu Support for ABS @BBL H2D.json" + }, + { + "name": "Bambu Support for ABS @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2DP", + "sub_path": "filament/Bambu Support for ABS @BBL H2DP.json" + }, + { + "name": "Bambu Support for ABS @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2S", + "sub_path": "filament/Bambu Support for ABS @BBL H2S.json" + }, + { + "name": "Bambu Support for ABS @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL P2S", + "sub_path": "filament/Bambu Support for ABS @BBL P2S.json" + }, + { + "name": "Bambu Support for ABS @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL X1C", + "sub_path": "filament/Bambu Support for ABS @BBL X1C.json" + }, + { + "name": "Bambu Support for ABS @BBL X2D", + "sub_path": "filament/Bambu Support for ABS @BBL X2D.json" + }, + { + "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Support for ABS @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Generic ABS", + "sub_path": "filament/Generic ABS.json" + }, + { + "name": "Generic ABS @0.2 nozzle", + "sub_path": "filament/Generic ABS @0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL A1", + "sub_path": "filament/Generic ABS @BBL A1.json" + }, + { + "name": "Generic ABS @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2C", + "sub_path": "filament/Generic ABS @BBL H2C.json" + }, + { + "name": "Generic ABS @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic ABS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2D", + "sub_path": "filament/Generic ABS @BBL H2D.json" + }, + { + "name": "Generic ABS @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic ABS @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic ABS @BBL P1P", + "sub_path": "filament/P1P/Generic ABS @BBL P1P.json" + }, + { + "name": "Generic ABS @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL P2S", + "sub_path": "filament/Generic ABS @BBL P2S.json" + }, + { + "name": "Generic ABS @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL X2D", + "sub_path": "filament/Generic ABS @BBL X2D.json" + }, + { + "name": "Generic ABS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic ABS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL A1", + "sub_path": "filament/PolyLite ABS @BBL A1.json" + }, + { + "name": "PolyLite ABS @BBL A1 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL H2D", + "sub_path": "filament/PolyLite ABS @BBL H2D.json" + }, + { + "name": "PolyLite ABS @BBL H2D 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL H2D 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL H2DP", + "sub_path": "filament/PolyLite ABS @BBL H2DP.json" + }, + { + "name": "PolyLite ABS @BBL H2DP 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL P1P", + "sub_path": "filament/PolyLite ABS @BBL P1P.json" + }, + { + "name": "PolyLite ABS @BBL X1C", + "sub_path": "filament/PolyLite ABS @BBL X1C.json" + }, + { + "name": "PolyLite ABS @BBL X1E", + "sub_path": "filament/PolyLite ABS @BBL X1E.json" + }, + { + "name": "PolyLite ABS @BBL X1E 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL A1 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL A1 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL A1 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL A1 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2C", + "sub_path": "filament/Bambu ASA @BBL H2C.json" + }, + { + "name": "Bambu ASA @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2S", + "sub_path": "filament/Bambu ASA @BBL H2S.json" + }, + { + "name": "Bambu ASA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu ASA @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1 0.6 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1 0.6 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1C", + "sub_path": "filament/Bambu ASA @BBL X1C.json" + }, + { + "name": "Bambu ASA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1C 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1C 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1E", + "sub_path": "filament/Bambu ASA @BBL X1E.json" + }, + { + "name": "Bambu ASA @BBL X1E 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X1E 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL X1E 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X2D", + "sub_path": "filament/Bambu ASA @BBL X2D.json" + }, + { + "name": "Bambu ASA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu ASA @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu ASA-Aero @BBL A1", + "sub_path": "filament/Bambu ASA-Aero @BBL A1.json" + }, + { + "name": "Bambu ASA-Aero @BBL H2C", + "sub_path": "filament/Bambu ASA-Aero @BBL H2C.json" + }, + { + "name": "Bambu ASA-Aero @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-Aero @BBL H2D", + "sub_path": "filament/Bambu ASA-Aero @BBL H2D.json" + }, + { + "name": "Bambu ASA-Aero @BBL H2DP", + "sub_path": "filament/Bambu ASA-Aero @BBL H2DP.json" + }, + { + "name": "Bambu ASA-Aero @BBL H2S", + "sub_path": "filament/Bambu ASA-Aero @BBL H2S.json" + }, + { + "name": "Bambu ASA-Aero @BBL P1P", + "sub_path": "filament/Bambu ASA-Aero @BBL P1P.json" + }, + { + "name": "Bambu ASA-Aero @BBL P2S", + "sub_path": "filament/Bambu ASA-Aero @BBL P2S.json" + }, + { + "name": "Bambu ASA-Aero @BBL X1C", + "sub_path": "filament/Bambu ASA-Aero @BBL X1C.json" + }, + { + "name": "Bambu ASA-Aero @BBL X2D", + "sub_path": "filament/Bambu ASA-Aero @BBL X2D.json" + }, + { + "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL A1", + "sub_path": "filament/Bambu ASA-CF @BBL A1.json" + }, + { + "name": "Bambu ASA-CF @BBL A1 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2C", + "sub_path": "filament/Bambu ASA-CF @BBL H2C.json" + }, + { + "name": "Bambu ASA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL H2S", + "sub_path": "filament/Bambu ASA-CF @BBL H2S.json" + }, + { + "name": "Bambu ASA-CF @BBL P1P", + "sub_path": "filament/Bambu ASA-CF @BBL P1P.json" + }, + { + "name": "Bambu ASA-CF @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL X1C", + "sub_path": "filament/Bambu ASA-CF @BBL X1C.json" + }, + { + "name": "Bambu ASA-CF @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu ASA-CF @BBL X2D", + "sub_path": "filament/Bambu ASA-CF @BBL X2D.json" + }, + { + "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic ASA", + "sub_path": "filament/Generic ASA.json" + }, + { + "name": "Generic ASA @0.2 nozzle", + "sub_path": "filament/Generic ASA @0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL A1", + "sub_path": "filament/Generic ASA @BBL A1.json" + }, + { + "name": "Generic ASA @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2C", + "sub_path": "filament/Generic ASA @BBL H2C.json" + }, + { + "name": "Generic ASA @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic ASA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2D", + "sub_path": "filament/Generic ASA @BBL H2D.json" + }, + { + "name": "Generic ASA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic ASA @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic ASA @BBL P1P", + "sub_path": "filament/P1P/Generic ASA @BBL P1P.json" + }, + { + "name": "Generic ASA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL P2S", + "sub_path": "filament/Generic ASA @BBL P2S.json" + }, + { + "name": "Generic ASA @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL X2D", + "sub_path": "filament/Generic ASA @BBL X2D.json" + }, + { + "name": "Generic ASA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic ASA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL A1", + "sub_path": "filament/PolyLite ASA @BBL A1.json" + }, + { + "name": "PolyLite ASA @BBL A1 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL H2D", + "sub_path": "filament/PolyLite ASA @BBL H2D.json" + }, + { + "name": "PolyLite ASA @BBL H2D 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL H2DP", + "sub_path": "filament/PolyLite ASA @BBL H2DP.json" + }, + { + "name": "PolyLite ASA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL P1P", + "sub_path": "filament/PolyLite ASA @BBL P1P.json" + }, + { + "name": "PolyLite ASA @BBL X1C", + "sub_path": "filament/PolyLite ASA @BBL X1C.json" + }, + { + "name": "PolyLite ASA @BBL X1E", + "sub_path": "filament/PolyLite ASA @BBL X1E.json" + }, + { + "name": "Generic BVOH @BBL A1", + "sub_path": "filament/Generic BVOH @BBL A1.json" + }, + { + "name": "Generic BVOH @BBL A1M", + "sub_path": "filament/Generic BVOH @BBL A1M.json" + }, + { + "name": "Generic BVOH @BBL A2L", + "sub_path": "filament/Generic BVOH @BBL A2L.json" + }, + { + "name": "Generic BVOH @BBL H2C", + "sub_path": "filament/Generic BVOH @BBL H2C.json" + }, + { + "name": "Generic BVOH @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic BVOH @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic BVOH @BBL H2D", + "sub_path": "filament/Generic BVOH @BBL H2D.json" + }, + { + "name": "Generic BVOH @BBL H2DP", + "sub_path": "filament/Generic BVOH @BBL H2DP.json" + }, + { + "name": "Generic BVOH @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic BVOH @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic BVOH @BBL P2S", + "sub_path": "filament/Generic BVOH @BBL P2S.json" + }, + { + "name": "Generic BVOH @BBL X1C", + "sub_path": "filament/Generic BVOH @BBL X1C.json" + }, + { + "name": "Generic BVOH @BBL X2D", + "sub_path": "filament/Generic BVOH @BBL X2D.json" + }, + { + "name": "Generic BVOH @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic BVOH @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic EVA @BBL A1", + "sub_path": "filament/Generic EVA @BBL A1.json" + }, + { + "name": "Generic EVA @BBL A1M", + "sub_path": "filament/Generic EVA @BBL A1M.json" + }, + { + "name": "Generic EVA @BBL A2L", + "sub_path": "filament/Generic EVA @BBL A2L.json" + }, + { + "name": "Generic EVA @BBL H2C", + "sub_path": "filament/Generic EVA @BBL H2C.json" + }, + { + "name": "Generic EVA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic EVA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic EVA @BBL H2D", + "sub_path": "filament/Generic EVA @BBL H2D.json" + }, + { + "name": "Generic EVA @BBL H2DP", + "sub_path": "filament/Generic EVA @BBL H2DP.json" + }, + { + "name": "Generic EVA @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic EVA @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic EVA @BBL P2S", + "sub_path": "filament/Generic EVA @BBL P2S.json" + }, + { + "name": "Generic EVA @BBL X1C", + "sub_path": "filament/Generic EVA @BBL X1C.json" + }, + { + "name": "Generic EVA @BBL X2D", + "sub_path": "filament/Generic EVA @BBL X2D.json" + }, + { + "name": "Generic EVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic EVA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic HIPS @BBL A1", + "sub_path": "filament/Generic HIPS @BBL A1.json" + }, + { + "name": "Generic HIPS @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL A1M", + "sub_path": "filament/Generic HIPS @BBL A1M.json" + }, + { + "name": "Generic HIPS @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL A2L", + "sub_path": "filament/Generic HIPS @BBL A2L.json" + }, + { + "name": "Generic HIPS @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2C", + "sub_path": "filament/Generic HIPS @BBL H2C.json" + }, + { + "name": "Generic HIPS @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2D", + "sub_path": "filament/Generic HIPS @BBL H2D.json" + }, + { + "name": "Generic HIPS @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2DP", + "sub_path": "filament/Generic HIPS @BBL H2DP.json" + }, + { + "name": "Generic HIPS @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic HIPS @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic HIPS @BBL P2S", + "sub_path": "filament/Generic HIPS @BBL P2S.json" + }, + { + "name": "Generic HIPS @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL X1C", + "sub_path": "filament/Generic HIPS @BBL X1C.json" + }, + { + "name": "Generic HIPS @BBL X1C 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL X2D", + "sub_path": "filament/Generic HIPS @BBL X2D.json" + }, + { + "name": "Generic HIPS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic HIPS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PA-CF @BBL A1", + "sub_path": "filament/Bambu PA-CF @BBL A1.json" + }, + { + "name": "Bambu PA-CF @BBL H2C", + "sub_path": "filament/Bambu PA-CF @BBL H2C.json" + }, + { + "name": "Bambu PA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PA-CF @BBL H2D", + "sub_path": "filament/Bambu PA-CF @BBL H2D.json" + }, + { + "name": "Bambu PA-CF @BBL H2DP", + "sub_path": "filament/Bambu PA-CF @BBL H2DP.json" + }, + { + "name": "Bambu PA-CF @BBL H2S", + "sub_path": "filament/Bambu PA-CF @BBL H2S.json" + }, + { + "name": "Bambu PA-CF @BBL P1P", + "sub_path": "filament/P1P/Bambu PA-CF @BBL P1P.json" + }, + { + "name": "Bambu PA-CF @BBL P2S", + "sub_path": "filament/Bambu PA-CF @BBL P2S.json" + }, + { + "name": "Bambu PA-CF @BBL X1C", + "sub_path": "filament/Bambu PA-CF @BBL X1C.json" + }, + { + "name": "Bambu PA-CF @BBL X1E", + "sub_path": "filament/Bambu PA-CF @BBL X1E.json" + }, + { + "name": "Bambu PA-CF @BBL X2D", + "sub_path": "filament/Bambu PA-CF @BBL X2D.json" + }, + { + "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL A1", + "sub_path": "filament/Bambu PA6-CF @BBL A1.json" + }, + { + "name": "Bambu PA6-CF @BBL H2C", + "sub_path": "filament/Bambu PA6-CF @BBL H2C.json" + }, + { + "name": "Bambu PA6-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2D", + "sub_path": "filament/Bambu PA6-CF @BBL H2D.json" + }, + { + "name": "Bambu PA6-CF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2DP", + "sub_path": "filament/Bambu PA6-CF @BBL H2DP.json" + }, + { + "name": "Bambu PA6-CF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2S", + "sub_path": "filament/Bambu PA6-CF @BBL H2S.json" + }, + { + "name": "Bambu PA6-CF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL P2S", + "sub_path": "filament/Bambu PA6-CF @BBL P2S.json" + }, + { + "name": "Bambu PA6-CF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL X1C", + "sub_path": "filament/Bambu PA6-CF @BBL X1C.json" + }, + { + "name": "Bambu PA6-CF @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL X1E", + "sub_path": "filament/Bambu PA6-CF @BBL X1E.json" + }, + { + "name": "Bambu PA6-CF @BBL X2D", + "sub_path": "filament/Bambu PA6-CF @BBL X2D.json" + }, + { + "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PA6-CF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PA6-GF @BBL A1", + "sub_path": "filament/Bambu PA6-GF @BBL A1.json" + }, + { + "name": "Bambu PA6-GF @BBL H2C", + "sub_path": "filament/Bambu PA6-GF @BBL H2C.json" + }, + { + "name": "Bambu PA6-GF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PA6-GF @BBL H2D", + "sub_path": "filament/Bambu PA6-GF @BBL H2D.json" + }, + { + "name": "Bambu PA6-GF @BBL H2DP", + "sub_path": "filament/Bambu PA6-GF @BBL H2DP.json" + }, + { + "name": "Bambu PA6-GF @BBL H2S", + "sub_path": "filament/Bambu PA6-GF @BBL H2S.json" + }, + { + "name": "Bambu PA6-GF @BBL P1P", + "sub_path": "filament/Bambu PA6-GF @BBL P1P.json" + }, + { + "name": "Bambu PA6-GF @BBL P2S", + "sub_path": "filament/Bambu PA6-GF @BBL P2S.json" + }, + { + "name": "Bambu PA6-GF @BBL X1C", + "sub_path": "filament/Bambu PA6-GF @BBL X1C.json" + }, + { + "name": "Bambu PA6-GF @BBL X2D", + "sub_path": "filament/Bambu PA6-GF @BBL X2D.json" + }, + { + "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL A1", + "sub_path": "filament/Bambu PAHT-CF @BBL A1.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2C", + "sub_path": "filament/Bambu PAHT-CF @BBL H2C.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2D", + "sub_path": "filament/Bambu PAHT-CF @BBL H2D.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2DP", + "sub_path": "filament/Bambu PAHT-CF @BBL H2DP.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2S", + "sub_path": "filament/Bambu PAHT-CF @BBL H2S.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL P1P", + "sub_path": "filament/P1P/Bambu PAHT-CF @BBL P1P.json" + }, + { + "name": "Bambu PAHT-CF @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PAHT-CF @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL P2S", + "sub_path": "filament/Bambu PAHT-CF @BBL P2S.json" + }, + { + "name": "Bambu PAHT-CF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL X1C", + "sub_path": "filament/Bambu PAHT-CF @BBL X1C.json" + }, + { + "name": "Bambu PAHT-CF @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL X2D", + "sub_path": "filament/Bambu PAHT-CF @BBL X2D.json" + }, + { + "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PAHT-CF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PA/PET @BBL A1", + "sub_path": "filament/Bambu Support For PA PET @BBL A1.json" + }, + { + "name": "Bambu Support For PA/PET @BBL H2C", + "sub_path": "filament/Bambu Support For PA PET @BBL H2C.json" + }, + { + "name": "Bambu Support For PA/PET @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support For PA/PET @BBL H2D", + "sub_path": "filament/Bambu Support For PA PET @BBL H2D.json" + }, + { + "name": "Bambu Support For PA/PET @BBL H2DP", + "sub_path": "filament/Bambu Support For PA PET @BBL H2DP.json" + }, + { + "name": "Bambu Support For PA/PET @BBL H2S", + "sub_path": "filament/Bambu Support For PA PET @BBL H2S.json" + }, + { + "name": "Bambu Support For PA/PET @BBL P1P", + "sub_path": "filament/P1P/Bambu Support For PA PET @BBL P1P.json" + }, + { + "name": "Bambu Support For PA/PET @BBL P2S", + "sub_path": "filament/Bambu Support For PA PET @BBL P2S.json" + }, + { + "name": "Bambu Support For PA/PET @BBL X1C", + "sub_path": "filament/Bambu Support For PA PET @BBL X1C.json" + }, + { + "name": "Bambu Support For PA/PET @BBL X2D", + "sub_path": "filament/Bambu Support For PA PET @BBL X2D.json" + }, + { + "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Support G @BBL A1", + "sub_path": "filament/Bambu Support G @BBL A1.json" + }, + { + "name": "Bambu Support G @BBL H2C", + "sub_path": "filament/Bambu Support G @BBL H2C.json" + }, + { + "name": "Bambu Support G @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support G @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support G @BBL H2D", + "sub_path": "filament/Bambu Support G @BBL H2D.json" + }, + { + "name": "Bambu Support G @BBL H2DP", + "sub_path": "filament/Bambu Support G @BBL H2DP.json" + }, + { + "name": "Bambu Support G @BBL H2S", + "sub_path": "filament/Bambu Support G @BBL H2S.json" + }, + { + "name": "Bambu Support G @BBL P1P", + "sub_path": "filament/P1P/Bambu Support G @BBL P1P.json" + }, + { + "name": "Bambu Support G @BBL P2S", + "sub_path": "filament/Bambu Support G @BBL P2S.json" + }, + { + "name": "Bambu Support G @BBL X1C", + "sub_path": "filament/Bambu Support G @BBL X1C.json" + }, + { + "name": "Bambu Support G @BBL X1E", + "sub_path": "filament/Bambu Support G @BBL X1E.json" + }, + { + "name": "Bambu Support G @BBL X2D", + "sub_path": "filament/Bambu Support G @BBL X2D.json" + }, + { + "name": "Bambu Support G @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support G @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Fiberon PA12-CF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL H2D.json" + }, + { + "name": "Fiberon PA12-CF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL X1C.json" + }, + { + "name": "Fiberon PA6-CF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL H2D.json" + }, + { + "name": "Fiberon PA6-CF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL X1C.json" + }, + { + "name": "Fiberon PA6-GF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL H2D.json" + }, + { + "name": "Fiberon PA6-GF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL X1C.json" + }, + { + "name": "Fiberon PA612-CF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL H2D.json" + }, + { + "name": "Fiberon PA612-CF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL X1C.json" + }, + { + "name": "Generic PA", + "sub_path": "filament/Generic PA.json" + }, + { + "name": "Generic PA @BBL H2C", + "sub_path": "filament/Generic PA @BBL H2C.json" + }, + { + "name": "Generic PA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PA @BBL H2D", + "sub_path": "filament/Generic PA @BBL H2D.json" + }, + { + "name": "Generic PA @BBL H2DP", + "sub_path": "filament/Generic PA @BBL H2DP.json" + }, + { + "name": "Generic PA @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PA @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PA @BBL P1P", + "sub_path": "filament/P1P/Generic PA @BBL P1P.json" + }, + { + "name": "Generic PA @BBL P2S", + "sub_path": "filament/Generic PA @BBL P2S.json" + }, + { + "name": "Generic PA @BBL X2D", + "sub_path": "filament/Generic PA @BBL X2D.json" + }, + { + "name": "Generic PA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PA-CF", + "sub_path": "filament/Generic PA-CF.json" + }, + { + "name": "Generic PA-CF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PA-CF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PA-CF @BBL P1P", + "sub_path": "filament/P1P/Generic PA-CF @BBL P1P.json" + }, + { + "name": "Generic PA-CF @BBL P2S", + "sub_path": "filament/Generic PA-CF @BBL P2S.json" + }, + { + "name": "Generic PA-CF @BBL X2D", + "sub_path": "filament/Generic PA-CF @BBL X2D.json" + }, + { + "name": "Generic PA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL A1", + "sub_path": "filament/Bambu PC @BBL A1.json" + }, + { + "name": "Bambu PC @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2C", + "sub_path": "filament/Bambu PC @BBL H2C.json" + }, + { + "name": "Bambu PC @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PC @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PC @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2S", + "sub_path": "filament/Bambu PC @BBL H2S.json" + }, + { + "name": "Bambu PC @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL P1P", + "sub_path": "filament/P1P/Bambu PC @BBL P1P.json" + }, + { + "name": "Bambu PC @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PC @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PC @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1C", + "sub_path": "filament/Bambu PC @BBL X1C.json" + }, + { + "name": "Bambu PC @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1E", + "sub_path": "filament/Bambu PC @BBL X1E.json" + }, + { + "name": "Bambu PC @BBL X1E 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1E 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL X1E 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL X1E 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL X1E 0.8 nozzle.json" + }, + { + "name": "Bambu PC @BBL X2D", + "sub_path": "filament/Bambu PC @BBL X2D.json" + }, + { + "name": "Bambu PC @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PC @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL A1", + "sub_path": "filament/Bambu PC FR @BBL A1.json" + }, + { + "name": "Bambu PC FR @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2C", + "sub_path": "filament/Bambu PC FR @BBL H2C.json" + }, + { + "name": "Bambu PC FR @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL H2S", + "sub_path": "filament/Bambu PC FR @BBL H2S.json" + }, + { + "name": "Bambu PC FR @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P1P", + "sub_path": "filament/Bambu PC FR @BBL P1P.json" + }, + { + "name": "Bambu PC FR @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P1S", + "sub_path": "filament/Bambu PC FR @BBL P1S.json" + }, + { + "name": "Bambu PC FR @BBL P1S 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P1S 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P1S 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P1S 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1C", + "sub_path": "filament/Bambu PC FR @BBL X1C.json" + }, + { + "name": "Bambu PC FR @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1E", + "sub_path": "filament/Bambu PC FR @BBL X1E.json" + }, + { + "name": "Bambu PC FR @BBL X1E 0.2 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1E 0.6 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1E 0.6 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X1E 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X1E 0.8 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X2D", + "sub_path": "filament/Bambu PC FR @BBL X2D.json" + }, + { + "name": "Bambu PC FR @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Generic PC", + "sub_path": "filament/Generic PC.json" + }, + { + "name": "Generic PC @0.2 nozzle", + "sub_path": "filament/Generic PC @0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL A1", + "sub_path": "filament/Generic PC @BBL A1.json" + }, + { + "name": "Generic PC @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL H2C", + "sub_path": "filament/Generic PC @BBL H2C.json" + }, + { + "name": "Generic PC @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PC @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PC @BBL H2D", + "sub_path": "filament/Generic PC @BBL H2D.json" + }, + { + "name": "Generic PC @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL H2S", + "sub_path": "filament/Generic PC @BBL H2S.json" + }, + { + "name": "Generic PC @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL P1P", + "sub_path": "filament/P1P/Generic PC @BBL P1P.json" + }, + { + "name": "Generic PC @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL X2D", + "sub_path": "filament/Generic PC @BBL X2D.json" + }, + { + "name": "Generic PC @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PC @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PCTG @BBL A1", + "sub_path": "filament/Generic PCTG @BBL A1.json" + }, + { + "name": "Generic PCTG @BBL A1M", + "sub_path": "filament/Generic PCTG @BBL A1M.json" + }, + { + "name": "Generic PCTG @BBL A2L", + "sub_path": "filament/Generic PCTG @BBL A2L.json" + }, + { + "name": "Generic PCTG @BBL H2C", + "sub_path": "filament/Generic PCTG @BBL H2C.json" + }, + { + "name": "Generic PCTG @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PCTG @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PCTG @BBL H2D", + "sub_path": "filament/Generic PCTG @BBL H2D.json" + }, + { + "name": "Generic PCTG @BBL H2DP", + "sub_path": "filament/Generic PCTG @BBL H2DP.json" + }, + { + "name": "Generic PCTG @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PCTG @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PCTG @BBL P2S", + "sub_path": "filament/Generic PCTG @BBL P2S.json" + }, + { + "name": "Generic PCTG @BBL X1C", + "sub_path": "filament/Generic PCTG @BBL X1C.json" + }, + { + "name": "Generic PCTG @BBL X2D", + "sub_path": "filament/Generic PCTG @BBL X2D.json" + }, + { + "name": "Generic PCTG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PCTG @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PE @BBL A1", + "sub_path": "filament/Generic PE @BBL A1.json" + }, + { + "name": "Generic PE @BBL A1M", + "sub_path": "filament/Generic PE @BBL A1M.json" + }, + { + "name": "Generic PE @BBL A2L", + "sub_path": "filament/Generic PE @BBL A2L.json" + }, + { + "name": "Generic PE @BBL H2C", + "sub_path": "filament/Generic PE @BBL H2C.json" + }, + { + "name": "Generic PE @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PE @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PE @BBL H2D", + "sub_path": "filament/Generic PE @BBL H2D.json" + }, + { + "name": "Generic PE @BBL H2DP", + "sub_path": "filament/Generic PE @BBL H2DP.json" + }, + { + "name": "Generic PE @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PE @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PE @BBL P2S", + "sub_path": "filament/Generic PE @BBL P2S.json" + }, + { + "name": "Generic PE @BBL X1C", + "sub_path": "filament/Generic PE @BBL X1C.json" + }, + { + "name": "Generic PE @BBL X2D", + "sub_path": "filament/Generic PE @BBL X2D.json" + }, + { + "name": "Generic PE @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PE @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PE-CF @BBL A1", + "sub_path": "filament/Generic PE-CF @BBL A1.json" + }, + { + "name": "Generic PE-CF @BBL A1M", + "sub_path": "filament/Generic PE-CF @BBL A1M.json" + }, + { + "name": "Generic PE-CF @BBL A2L", + "sub_path": "filament/Generic PE-CF @BBL A2L.json" + }, + { + "name": "Generic PE-CF @BBL H2C", + "sub_path": "filament/Generic PE-CF @BBL H2C.json" + }, + { + "name": "Generic PE-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PE-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PE-CF @BBL H2D", + "sub_path": "filament/Generic PE-CF @BBL H2D.json" + }, + { + "name": "Generic PE-CF @BBL H2DP", + "sub_path": "filament/Generic PE-CF @BBL H2DP.json" + }, + { + "name": "Generic PE-CF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PE-CF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PE-CF @BBL P2S", + "sub_path": "filament/Generic PE-CF @BBL P2S.json" + }, + { + "name": "Generic PE-CF @BBL X1C", + "sub_path": "filament/Generic PE-CF @BBL X1C.json" + }, + { + "name": "Generic PE-CF @BBL X2D", + "sub_path": "filament/Generic PE-CF @BBL X2D.json" + }, + { + "name": "Generic PE-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PE-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PET-CF @BBL A1", + "sub_path": "filament/Bambu PET-CF @BBL A1.json" + }, + { + "name": "Bambu PET-CF @BBL H2C", + "sub_path": "filament/Bambu PET-CF @BBL H2C.json" + }, + { + "name": "Bambu PET-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PET-CF @BBL H2D", + "sub_path": "filament/Bambu PET-CF @BBL H2D.json" + }, + { + "name": "Bambu PET-CF @BBL H2DP", + "sub_path": "filament/Bambu PET-CF @BBL H2DP.json" + }, + { + "name": "Bambu PET-CF @BBL H2S", + "sub_path": "filament/Bambu PET-CF @BBL H2S.json" + }, + { + "name": "Bambu PET-CF @BBL P1P", + "sub_path": "filament/P1P/Bambu PET-CF @BBL P1P.json" + }, + { + "name": "Bambu PET-CF @BBL P2S", + "sub_path": "filament/Bambu PET-CF @BBL P2S.json" + }, + { + "name": "Bambu PET-CF @BBL X1C", + "sub_path": "filament/Bambu PET-CF @BBL X1C.json" + }, + { + "name": "Bambu PET-CF @BBL X1E", + "sub_path": "filament/Bambu PET-CF @BBL X1E.json" + }, + { + "name": "Bambu PET-CF @BBL X2D", + "sub_path": "filament/Bambu PET-CF @BBL X2D.json" + }, + { + "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A1", + "sub_path": "filament/Bambu PETG Basic @BBL A1.json" + }, + { + "name": "Bambu PETG Basic @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A1M 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2C", + "sub_path": "filament/Bambu PETG Basic @BBL H2C.json" + }, + { + "name": "Bambu PETG Basic @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2S", + "sub_path": "filament/Bambu PETG Basic @BBL H2S.json" + }, + { + "name": "Bambu PETG Basic @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X1C", + "sub_path": "filament/Bambu PETG Basic @BBL X1C.json" + }, + { + "name": "Bambu PETG Basic @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D", + "sub_path": "filament/Bambu PETG Basic @BBL X2D.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A1", + "sub_path": "filament/Bambu PETG HF @BBL A1.json" + }, + { + "name": "Bambu PETG HF @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A1M", + "sub_path": "filament/Bambu PETG HF @BBL A1M.json" + }, + { + "name": "Bambu PETG HF @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A2L", + "sub_path": "filament/Bambu PETG HF @BBL A2L.json" + }, + { + "name": "Bambu PETG HF @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2C", + "sub_path": "filament/Bambu PETG HF @BBL H2C.json" + }, + { + "name": "Bambu PETG HF @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2S", + "sub_path": "filament/Bambu PETG HF @BBL H2S.json" + }, + { + "name": "Bambu PETG HF @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P1P 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P1S 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X1C", + "sub_path": "filament/Bambu PETG HF @BBL X1C.json" + }, + { + "name": "Bambu PETG HF @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X2D", + "sub_path": "filament/Bambu PETG HF @BBL X2D.json" + }, + { + "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A1", + "sub_path": "filament/Bambu PETG Matte @BBL A1.json" + }, + { + "name": "Bambu PETG Matte @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A1M 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A1M 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2C", + "sub_path": "filament/Bambu PETG Matte @BBL H2C.json" + }, + { + "name": "Bambu PETG Matte @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2S", + "sub_path": "filament/Bambu PETG Matte @BBL H2S.json" + }, + { + "name": "Bambu PETG Matte @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P1P 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P1P 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL X1C", + "sub_path": "filament/Bambu PETG Matte @BBL X1C.json" + }, + { + "name": "Bambu PETG Matte @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL X2D", + "sub_path": "filament/Bambu PETG Matte @BBL X2D.json" + }, + { + "name": "Bambu PETG Matte @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Matte @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Matte @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1", + "sub_path": "filament/Bambu PETG Translucent @BBL A1.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1M", + "sub_path": "filament/Bambu PETG Translucent @BBL A1M.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A2L", + "sub_path": "filament/Bambu PETG Translucent @BBL A2L.json" + }, + { + "name": "Bambu PETG Translucent @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2C", + "sub_path": "filament/Bambu PETG Translucent @BBL H2C.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2S", + "sub_path": "filament/Bambu PETG Translucent @BBL H2S.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X1C", + "sub_path": "filament/Bambu PETG Translucent @BBL X1C.json" + }, + { + "name": "Bambu PETG Translucent @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL A1 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL A1M", + "sub_path": "filament/Bambu PETG-CF @BBL A1M.json" + }, + { + "name": "Bambu PETG-CF @BBL A2L", + "sub_path": "filament/Bambu PETG-CF @BBL A2L.json" + }, + { + "name": "Bambu PETG-CF @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2C", + "sub_path": "filament/Bambu PETG-CF @BBL H2C.json" + }, + { + "name": "Bambu PETG-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2S", + "sub_path": "filament/Bambu PETG-CF @BBL H2S.json" + }, + { + "name": "Bambu PETG-CF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL P1P", + "sub_path": "filament/P1P/Bambu PETG-CF @BBL P1P.json" + }, + { + "name": "Bambu PETG-CF @BBL P1P 0.4 nozzle", + "sub_path": "filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL X1C", + "sub_path": "filament/Bambu PETG-CF @BBL X1C.json" + }, + { + "name": "Bambu PETG-CF @BBL X1C 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL X2D", + "sub_path": "filament/Bambu PETG-CF @BBL X2D.json" + }, + { + "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Fiberon PET-CF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL H2D.json" + }, + { + "name": "Fiberon PET-CF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL X1C.json" + }, + { + "name": "Fiberon PETG-ESD @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json" + }, + { + "name": "Fiberon PETG-ESD @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json" + }, + { + "name": "Fiberon PETG-rCF @BBL H2D", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json" + }, + { + "name": "Fiberon PETG-rCF @BBL X1C", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json" + }, + { + "name": "Generic PETG", + "sub_path": "filament/Generic PETG.json" + }, + { + "name": "Generic PETG @0.2 nozzle", + "sub_path": "filament/Generic PETG @0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL A1", + "sub_path": "filament/Generic PETG @BBL A1.json" + }, + { + "name": "Generic PETG @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL A1M", + "sub_path": "filament/Generic PETG @BBL A1M.json" + }, + { + "name": "Generic PETG @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL A2L", + "sub_path": "filament/Generic PETG @BBL A2L.json" + }, + { + "name": "Generic PETG @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL H2C", + "sub_path": "filament/Generic PETG @BBL H2C.json" + }, + { + "name": "Generic PETG @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PETG @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PETG @BBL H2D", + "sub_path": "filament/Generic PETG @BBL H2D.json" + }, + { + "name": "Generic PETG @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL H2DP", + "sub_path": "filament/Generic PETG @BBL H2DP.json" + }, + { + "name": "Generic PETG @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL H2S", + "sub_path": "filament/Generic PETG @BBL H2S.json" + }, + { + "name": "Generic PETG @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL P1P", + "sub_path": "filament/P1P/Generic PETG @BBL P1P.json" + }, + { + "name": "Generic PETG @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL P2S", + "sub_path": "filament/Generic PETG @BBL P2S.json" + }, + { + "name": "Generic PETG @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL X2D", + "sub_path": "filament/Generic PETG @BBL X2D.json" + }, + { + "name": "Generic PETG @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL A1", + "sub_path": "filament/Generic PETG HF @BBL A1.json" + }, + { + "name": "Generic PETG HF @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL A1M", + "sub_path": "filament/Generic PETG HF @BBL A1M.json" + }, + { + "name": "Generic PETG HF @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL A2L", + "sub_path": "filament/Generic PETG HF @BBL A2L.json" + }, + { + "name": "Generic PETG HF @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2C", + "sub_path": "filament/Generic PETG HF @BBL H2C.json" + }, + { + "name": "Generic PETG HF @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2D", + "sub_path": "filament/Generic PETG HF @BBL H2D.json" + }, + { + "name": "Generic PETG HF @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2DP", + "sub_path": "filament/Generic PETG HF @BBL H2DP.json" + }, + { + "name": "Generic PETG HF @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL P1P", + "sub_path": "filament/Generic PETG HF @BBL P1P.json" + }, + { + "name": "Generic PETG HF @BBL P1P 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL P1S 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL P1S 0.6 nozzle", + "sub_path": "filament/Generic PETG HF @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL P2S", + "sub_path": "filament/Generic PETG HF @BBL P2S.json" + }, + { + "name": "Generic PETG HF @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL P2S 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL X1 0.6 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X1 0.6 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL X1C", + "sub_path": "filament/Generic PETG HF @BBL X1C.json" + }, + { + "name": "Generic PETG HF @BBL X1C 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL X2D", + "sub_path": "filament/Generic PETG HF @BBL X2D.json" + }, + { + "name": "Generic PETG HF @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PETG-CF @BBL A1", + "sub_path": "filament/Generic PETG-CF @BBL A1.json" + }, + { + "name": "Generic PETG-CF @BBL A1M", + "sub_path": "filament/P1P/Generic PETG-CF @BBL A1M.json" + }, + { + "name": "Generic PETG-CF @BBL A2L", + "sub_path": "filament/Generic PETG-CF @BBL A2L.json" + }, + { + "name": "Generic PETG-CF @BBL H2C", + "sub_path": "filament/Generic PETG-CF @BBL H2C.json" + }, + { + "name": "Generic PETG-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PETG-CF @BBL H2D", + "sub_path": "filament/Generic PETG-CF @BBL H2D.json" + }, + { + "name": "Generic PETG-CF @BBL H2DP", + "sub_path": "filament/Generic PETG-CF @BBL H2DP.json" + }, + { + "name": "Generic PETG-CF @BBL H2S", + "sub_path": "filament/Generic PETG-CF @BBL H2S.json" + }, + { + "name": "Generic PETG-CF @BBL P1P", + "sub_path": "filament/P1P/Generic PETG-CF @BBL P1P.json" + }, + { + "name": "Generic PETG-CF @BBL P2S", + "sub_path": "filament/Generic PETG-CF @BBL P2S.json" + }, + { + "name": "Generic PETG-CF @BBL X1C", + "sub_path": "filament/Generic PETG-CF @BBL X1C.json" + }, + { + "name": "Generic PETG-CF @BBL X2D", + "sub_path": "filament/Generic PETG-CF @BBL X2D.json" + }, + { + "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL A1", + "sub_path": "filament/PolyLite PETG @BBL A1.json" + }, + { + "name": "PolyLite PETG @BBL A1 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL A1M", + "sub_path": "filament/PolyLite PETG @BBL A1M.json" + }, + { + "name": "PolyLite PETG @BBL H2D", + "sub_path": "filament/PolyLite PETG @BBL H2D.json" + }, + { + "name": "PolyLite PETG @BBL H2D 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL H2D 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL H2DP", + "sub_path": "filament/PolyLite PETG @BBL H2DP.json" + }, + { + "name": "PolyLite PETG @BBL H2DP 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL H2S", + "sub_path": "filament/PolyLite PETG @BBL H2S.json" + }, + { + "name": "PolyLite PETG @BBL H2S 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL H2S 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL P1P", + "sub_path": "filament/PolyLite PETG @BBL P1P.json" + }, + { + "name": "PolyLite PETG @BBL X1C", + "sub_path": "filament/PolyLite PETG @BBL X1C.json" + }, + { + "name": "SUNLU PETG @BBL A1", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1.json" + }, + { + "name": "SUNLU PETG @BBL A1 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json" + }, + { + "name": "SUNLU PETG @BBL A1 0.8 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json" + }, + { + "name": "SUNLU PETG @BBL A1M 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json" + }, + { + "name": "SUNLU PETG @BBL A1M 0.4 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M.json" + }, + { + "name": "SUNLU PETG @BBL A1M 0.8 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json" + }, + { + "name": "SUNLU PETG @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C.json" + }, + { + "name": "SUNLU PETG @BBL X1C 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json" + }, + { + "name": "SUNLU PETG @BBL X1C 0.8 nozzle", + "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Generic PHA @BBL A1", + "sub_path": "filament/Generic PHA @BBL A1.json" + }, + { + "name": "Generic PHA @BBL A1M", + "sub_path": "filament/Generic PHA @BBL A1M.json" + }, + { + "name": "Generic PHA @BBL A2L", + "sub_path": "filament/Generic PHA @BBL A2L.json" + }, + { + "name": "Generic PHA @BBL H2C", + "sub_path": "filament/Generic PHA @BBL H2C.json" + }, + { + "name": "Generic PHA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PHA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PHA @BBL H2D", + "sub_path": "filament/Generic PHA @BBL H2D.json" + }, + { + "name": "Generic PHA @BBL H2DP", + "sub_path": "filament/Generic PHA @BBL H2DP.json" + }, + { + "name": "Generic PHA @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PHA @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PHA @BBL P2S", + "sub_path": "filament/Generic PHA @BBL P2S.json" + }, + { + "name": "Generic PHA @BBL X1C", + "sub_path": "filament/Generic PHA @BBL X1C.json" + }, + { + "name": "Generic PHA @BBL X2D", + "sub_path": "filament/Generic PHA @BBL X2D.json" + }, + { + "name": "Generic PHA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PHA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Aero @BBL A1", + "sub_path": "filament/Bambu PLA Aero @BBL A1.json" + }, + { + "name": "Bambu PLA Aero @BBL A1M", + "sub_path": "filament/Bambu PLA Aero @BBL A1M.json" + }, + { + "name": "Bambu PLA Aero @BBL A2L", + "sub_path": "filament/Bambu PLA Aero @BBL A2L.json" + }, + { + "name": "Bambu PLA Aero @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Aero @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Aero @BBL H2C", + "sub_path": "filament/Bambu PLA Aero @BBL H2C.json" + }, + { + "name": "Bambu PLA Aero @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Aero @BBL H2D", + "sub_path": "filament/Bambu PLA Aero @BBL H2D.json" + }, + { + "name": "Bambu PLA Aero @BBL H2DP", + "sub_path": "filament/Bambu PLA Aero @BBL H2DP.json" + }, + { + "name": "Bambu PLA Aero @BBL H2S", + "sub_path": "filament/Bambu PLA Aero @BBL H2S.json" + }, + { + "name": "Bambu PLA Aero @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Aero @BBL P1P.json" + }, + { + "name": "Bambu PLA Aero @BBL P2S", + "sub_path": "filament/Bambu PLA Aero @BBL P2S.json" + }, + { + "name": "Bambu PLA Aero @BBL X1", + "sub_path": "filament/Bambu PLA Aero @BBL X1.json" + }, + { + "name": "Bambu PLA Aero @BBL X1C", + "sub_path": "filament/Bambu PLA Aero @BBL X1C.json" + }, + { + "name": "Bambu PLA Aero @BBL X2D", + "sub_path": "filament/Bambu PLA Aero @BBL X2D.json" + }, + { + "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A1", + "sub_path": "filament/Bambu PLA Basic @BBL A1.json" + }, + { + "name": "Bambu PLA Basic @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A1M", + "sub_path": "filament/Bambu PLA Basic @BBL A1M.json" + }, + { + "name": "Bambu PLA Basic @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2C", + "sub_path": "filament/Bambu PLA Basic @BBL H2C.json" + }, + { + "name": "Bambu PLA Basic @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2D", + "sub_path": "filament/Bambu PLA Basic @BBL H2D.json" + }, + { + "name": "Bambu PLA Basic @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2DP", + "sub_path": "filament/Bambu PLA Basic @BBL H2DP.json" + }, + { + "name": "Bambu PLA Basic @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2S", + "sub_path": "filament/Bambu PLA Basic @BBL H2S.json" + }, + { + "name": "Bambu PLA Basic @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Basic @BBL P1P.json" + }, + { + "name": "Bambu PLA Basic @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Basic @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P1S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P2S", + "sub_path": "filament/Bambu PLA Basic @BBL P2S.json" + }, + { + "name": "Bambu PLA Basic @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X1", + "sub_path": "filament/Bambu PLA Basic @BBL X1.json" + }, + { + "name": "Bambu PLA Basic @BBL X1C", + "sub_path": "filament/Bambu PLA Basic @BBL X1C.json" + }, + { + "name": "Bambu PLA Basic @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A1", + "sub_path": "filament/Bambu PLA Dynamic @BBL A1.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A1M", + "sub_path": "filament/Bambu PLA Dynamic @BBL A1M.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A2L", + "sub_path": "filament/Bambu PLA Dynamic @BBL A2L.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2C", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2C.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2D", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2D.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2DP", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2S", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2S.json" + }, + { + "name": "Bambu PLA Dynamic @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P1P", + "sub_path": "filament/Bambu PLA Dynamic @BBL P1P.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P2S", + "sub_path": "filament/Bambu PLA Dynamic @BBL P2S.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X1C", + "sub_path": "filament/Bambu PLA Dynamic @BBL X1C.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X2D", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A1", + "sub_path": "filament/Bambu PLA Galaxy @BBL A1.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A1M", + "sub_path": "filament/Bambu PLA Galaxy @BBL A1M.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A2L", + "sub_path": "filament/Bambu PLA Galaxy @BBL A2L.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2C", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2C.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2D", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2D.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2DP", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2S", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2S.json" + }, + { + "name": "Bambu PLA Galaxy @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P1P", + "sub_path": "filament/Bambu PLA Galaxy @BBL P1P.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P2S", + "sub_path": "filament/Bambu PLA Galaxy @BBL P2S.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X1C", + "sub_path": "filament/Bambu PLA Galaxy @BBL X1C.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X2D", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL A1", + "sub_path": "filament/Bambu PLA Glow @BBL A1.json" + }, + { + "name": "Bambu PLA Glow @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL A1M", + "sub_path": "filament/Bambu PLA Glow @BBL A1M.json" + }, + { + "name": "Bambu PLA Glow @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL H2C", + "sub_path": "filament/Bambu PLA Glow @BBL H2C.json" + }, + { + "name": "Bambu PLA Glow @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL H2D", + "sub_path": "filament/Bambu PLA Glow @BBL H2D.json" + }, + { + "name": "Bambu PLA Glow @BBL H2DP", + "sub_path": "filament/Bambu PLA Glow @BBL H2DP.json" + }, + { + "name": "Bambu PLA Glow @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL H2S", + "sub_path": "filament/Bambu PLA Glow @BBL H2S.json" + }, + { + "name": "Bambu PLA Glow @BBL P1P", + "sub_path": "filament/Bambu PLA Glow @BBL P1P.json" + }, + { + "name": "Bambu PLA Glow @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL P2S", + "sub_path": "filament/Bambu PLA Glow @BBL P2S.json" + }, + { + "name": "Bambu PLA Glow @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X1", + "sub_path": "filament/Bambu PLA Glow @BBL X1.json" + }, + { + "name": "Bambu PLA Glow @BBL X1C", + "sub_path": "filament/Bambu PLA Glow @BBL X1C.json" + }, + { + "name": "Bambu PLA Glow @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X1E", + "sub_path": "filament/Bambu PLA Glow @BBL X1E.json" + }, + { + "name": "Bambu PLA Glow @BBL X2D", + "sub_path": "filament/Bambu PLA Glow @BBL X2D.json" + }, + { + "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A1", + "sub_path": "filament/Bambu PLA Lite @BBL A1.json" + }, + { + "name": "Bambu PLA Lite @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A1M", + "sub_path": "filament/Bambu PLA Lite @BBL A1M.json" + }, + { + "name": "Bambu PLA Lite @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2C", + "sub_path": "filament/Bambu PLA Lite @BBL H2C.json" + }, + { + "name": "Bambu PLA Lite @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2D", + "sub_path": "filament/Bambu PLA Lite @BBL H2D.json" + }, + { + "name": "Bambu PLA Lite @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2S", + "sub_path": "filament/Bambu PLA Lite @BBL H2S.json" + }, + { + "name": "Bambu PLA Lite @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P1P", + "sub_path": "filament/Bambu PLA Lite @BBL P1P.json" + }, + { + "name": "Bambu PLA Lite @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X1C", + "sub_path": "filament/Bambu PLA Lite @BBL X1C.json" + }, + { + "name": "Bambu PLA Lite @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D", + "sub_path": "filament/Bambu PLA Lite @BBL X2D.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL A1", + "sub_path": "filament/Bambu PLA Marble @BBL A1.json" + }, + { + "name": "Bambu PLA Marble @BBL A1M", + "sub_path": "filament/Bambu PLA Marble @BBL A1M.json" + }, + { + "name": "Bambu PLA Marble @BBL A2L", + "sub_path": "filament/Bambu PLA Marble @BBL A2L.json" + }, + { + "name": "Bambu PLA Marble @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL H2C", + "sub_path": "filament/Bambu PLA Marble @BBL H2C.json" + }, + { + "name": "Bambu PLA Marble @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL H2D", + "sub_path": "filament/Bambu PLA Marble @BBL H2D.json" + }, + { + "name": "Bambu PLA Marble @BBL H2DP", + "sub_path": "filament/Bambu PLA Marble @BBL H2DP.json" + }, + { + "name": "Bambu PLA Marble @BBL H2S", + "sub_path": "filament/Bambu PLA Marble @BBL H2S.json" + }, + { + "name": "Bambu PLA Marble @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Marble @BBL P1P.json" + }, + { + "name": "Bambu PLA Marble @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Marble @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL P2S", + "sub_path": "filament/Bambu PLA Marble @BBL P2S.json" + }, + { + "name": "Bambu PLA Marble @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL X1", + "sub_path": "filament/Bambu PLA Marble @BBL X1.json" + }, + { + "name": "Bambu PLA Marble @BBL X1C", + "sub_path": "filament/Bambu PLA Marble @BBL X1C.json" + }, + { + "name": "Bambu PLA Marble @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Marble @BBL X2D", + "sub_path": "filament/Bambu PLA Marble @BBL X2D.json" + }, + { + "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A1", + "sub_path": "filament/Bambu PLA Matte @BBL A1.json" + }, + { + "name": "Bambu PLA Matte @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A1M", + "sub_path": "filament/Bambu PLA Matte @BBL A1M.json" + }, + { + "name": "Bambu PLA Matte @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2C", + "sub_path": "filament/Bambu PLA Matte @BBL H2C.json" + }, + { + "name": "Bambu PLA Matte @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2D", + "sub_path": "filament/Bambu PLA Matte @BBL H2D.json" + }, + { + "name": "Bambu PLA Matte @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2DP", + "sub_path": "filament/Bambu PLA Matte @BBL H2DP.json" + }, + { + "name": "Bambu PLA Matte @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2S", + "sub_path": "filament/Bambu PLA Matte @BBL H2S.json" + }, + { + "name": "Bambu PLA Matte @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Matte @BBL P1P.json" + }, + { + "name": "Bambu PLA Matte @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Matte @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P1S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P2S", + "sub_path": "filament/Bambu PLA Matte @BBL P2S.json" + }, + { + "name": "Bambu PLA Matte @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X1", + "sub_path": "filament/Bambu PLA Matte @BBL X1.json" + }, + { + "name": "Bambu PLA Matte @BBL X1C", + "sub_path": "filament/Bambu PLA Matte @BBL X1C.json" + }, + { + "name": "Bambu PLA Matte @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D", + "sub_path": "filament/Bambu PLA Matte @BBL X2D.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL A1", + "sub_path": "filament/Bambu PLA Metal @BBL A1.json" + }, + { + "name": "Bambu PLA Metal @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL A1M", + "sub_path": "filament/Bambu PLA Metal @BBL A1M.json" + }, + { + "name": "Bambu PLA Metal @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL A2L", + "sub_path": "filament/Bambu PLA Metal @BBL A2L.json" + }, + { + "name": "Bambu PLA Metal @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL H2C", + "sub_path": "filament/Bambu PLA Metal @BBL H2C.json" + }, + { + "name": "Bambu PLA Metal @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL H2D", + "sub_path": "filament/Bambu PLA Metal @BBL H2D.json" + }, + { + "name": "Bambu PLA Metal @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL H2DP", + "sub_path": "filament/Bambu PLA Metal @BBL H2DP.json" + }, + { + "name": "Bambu PLA Metal @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL H2S", + "sub_path": "filament/Bambu PLA Metal @BBL H2S.json" + }, + { + "name": "Bambu PLA Metal @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Metal @BBL P1P.json" + }, + { + "name": "Bambu PLA Metal @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Metal @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL P2S", + "sub_path": "filament/Bambu PLA Metal @BBL P2S.json" + }, + { + "name": "Bambu PLA Metal @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL X1", + "sub_path": "filament/Bambu PLA Metal @BBL X1.json" + }, + { + "name": "Bambu PLA Metal @BBL X1C", + "sub_path": "filament/Bambu PLA Metal @BBL X1C.json" + }, + { + "name": "Bambu PLA Metal @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL X2D", + "sub_path": "filament/Bambu PLA Metal @BBL X2D.json" + }, + { + "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A1", + "sub_path": "filament/Bambu PLA Pure @BBL A1.json" + }, + { + "name": "Bambu PLA Pure @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A1M", + "sub_path": "filament/Bambu PLA Pure @BBL A1M.json" + }, + { + "name": "Bambu PLA Pure @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A2L", + "sub_path": "filament/Bambu PLA Pure @BBL A2L.json" + }, + { + "name": "Bambu PLA Pure @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2C", + "sub_path": "filament/Bambu PLA Pure @BBL H2C.json" + }, + { + "name": "Bambu PLA Pure @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2D", + "sub_path": "filament/Bambu PLA Pure @BBL H2D.json" + }, + { + "name": "Bambu PLA Pure @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2DP", + "sub_path": "filament/Bambu PLA Pure @BBL H2DP.json" + }, + { + "name": "Bambu PLA Pure @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2S", + "sub_path": "filament/Bambu PLA Pure @BBL H2S.json" + }, + { + "name": "Bambu PLA Pure @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P1P", + "sub_path": "filament/Bambu PLA Pure @BBL P1P.json" + }, + { + "name": "Bambu PLA Pure @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P1P 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P1P 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X1C", + "sub_path": "filament/Bambu PLA Pure @BBL X1C.json" + }, + { + "name": "Bambu PLA Pure @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Pure @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Pure @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A1", + "sub_path": "filament/Bambu PLA Silk @BBL A1.json" + }, + { + "name": "Bambu PLA Silk @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A1M", + "sub_path": "filament/Bambu PLA Silk @BBL A1M.json" + }, + { + "name": "Bambu PLA Silk @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL H2C", + "sub_path": "filament/Bambu PLA Silk @BBL H2C.json" + }, + { + "name": "Bambu PLA Silk @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL H2D", + "sub_path": "filament/Bambu PLA Silk @BBL H2D.json" + }, + { + "name": "Bambu PLA Silk @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL H2DP", + "sub_path": "filament/Bambu PLA Silk @BBL H2DP.json" + }, + { + "name": "Bambu PLA Silk @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL H2S", + "sub_path": "filament/Bambu PLA Silk @BBL H2S.json" + }, + { + "name": "Bambu PLA Silk @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Silk @BBL P1P.json" + }, + { + "name": "Bambu PLA Silk @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL P2S", + "sub_path": "filament/Bambu PLA Silk @BBL P2S.json" + }, + { + "name": "Bambu PLA Silk @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL X1", + "sub_path": "filament/Bambu PLA Silk @BBL X1.json" + }, + { + "name": "Bambu PLA Silk @BBL X1C", + "sub_path": "filament/Bambu PLA Silk @BBL X1C.json" + }, + { + "name": "Bambu PLA Silk @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL X2D", + "sub_path": "filament/Bambu PLA Silk @BBL X2D.json" + }, + { + "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A1", + "sub_path": "filament/Bambu PLA Silk+ @BBL A1.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A1M", + "sub_path": "filament/Bambu PLA Silk+ @BBL A1M.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2C", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2C.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2D", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2D.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2DP", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2S", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2S.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P1P", + "sub_path": "filament/Bambu PLA Silk+ @BBL P1P.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P1S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P1S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P2S", + "sub_path": "filament/Bambu PLA Silk+ @BBL P2S.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X1", + "sub_path": "filament/Bambu PLA Silk+ @BBL X1.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X1C", + "sub_path": "filament/Bambu PLA Silk+ @BBL X1C.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL A1", + "sub_path": "filament/Bambu PLA Sparkle @BBL A1.json" + }, + { + "name": "Bambu PLA Sparkle @BBL A1M", + "sub_path": "filament/Bambu PLA Sparkle @BBL A1M.json" + }, + { + "name": "Bambu PLA Sparkle @BBL A2L", + "sub_path": "filament/Bambu PLA Sparkle @BBL A2L.json" + }, + { + "name": "Bambu PLA Sparkle @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL H2C", + "sub_path": "filament/Bambu PLA Sparkle @BBL H2C.json" + }, + { + "name": "Bambu PLA Sparkle @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL H2D", + "sub_path": "filament/Bambu PLA Sparkle @BBL H2D.json" + }, + { + "name": "Bambu PLA Sparkle @BBL H2DP", + "sub_path": "filament/Bambu PLA Sparkle @BBL H2DP.json" + }, + { + "name": "Bambu PLA Sparkle @BBL H2S", + "sub_path": "filament/Bambu PLA Sparkle @BBL H2S.json" + }, + { + "name": "Bambu PLA Sparkle @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Sparkle @BBL P1P.json" + }, + { + "name": "Bambu PLA Sparkle @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Sparkle @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL P2S", + "sub_path": "filament/Bambu PLA Sparkle @BBL P2S.json" + }, + { + "name": "Bambu PLA Sparkle @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X1", + "sub_path": "filament/Bambu PLA Sparkle @BBL X1.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X1C", + "sub_path": "filament/Bambu PLA Sparkle @BBL X1C.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X2D", + "sub_path": "filament/Bambu PLA Sparkle @BBL X2D.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL A1", + "sub_path": "filament/Bambu PLA Tough @BBL A1.json" + }, + { + "name": "Bambu PLA Tough @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL A1M", + "sub_path": "filament/Bambu PLA Tough @BBL A1M.json" + }, + { + "name": "Bambu PLA Tough @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL A2L", + "sub_path": "filament/Bambu PLA Tough @BBL A2L.json" + }, + { + "name": "Bambu PLA Tough @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL H2C", + "sub_path": "filament/Bambu PLA Tough @BBL H2C.json" + }, + { + "name": "Bambu PLA Tough @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL H2D", + "sub_path": "filament/Bambu PLA Tough @BBL H2D.json" + }, + { + "name": "Bambu PLA Tough @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL H2DP", + "sub_path": "filament/Bambu PLA Tough @BBL H2DP.json" + }, + { + "name": "Bambu PLA Tough @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL H2S", + "sub_path": "filament/Bambu PLA Tough @BBL H2S.json" + }, + { + "name": "Bambu PLA Tough @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Tough @BBL P1P.json" + }, + { + "name": "Bambu PLA Tough @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL P2S", + "sub_path": "filament/Bambu PLA Tough @BBL P2S.json" + }, + { + "name": "Bambu PLA Tough @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL X1", + "sub_path": "filament/Bambu PLA Tough @BBL X1.json" + }, + { + "name": "Bambu PLA Tough @BBL X1C", + "sub_path": "filament/Bambu PLA Tough @BBL X1C.json" + }, + { + "name": "Bambu PLA Tough @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL X2D", + "sub_path": "filament/Bambu PLA Tough @BBL X2D.json" + }, + { + "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A1", + "sub_path": "filament/Bambu PLA Tough+ @BBL A1.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A1M", + "sub_path": "filament/Bambu PLA Tough+ @BBL A1M.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A2L 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2C", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2C.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2D", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2D.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2DP", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2S", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2S.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA Tough+ @BBL P1P.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P1P 0.6 nozzle", + "sub_path": "filament/P1P/Bambu PLA Tough+ @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P2S", + "sub_path": "filament/Bambu PLA Tough+ @BBL P2S.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X1", + "sub_path": "filament/Bambu PLA Tough+ @BBL X1.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X1C", + "sub_path": "filament/Bambu PLA Tough+ @BBL X1C.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1", + "sub_path": "filament/Bambu PLA Translucent @BBL A1.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1M", + "sub_path": "filament/Bambu PLA Translucent @BBL A1M.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A2L", + "sub_path": "filament/Bambu PLA Translucent @BBL A2L.json" + }, + { + "name": "Bambu PLA Translucent @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2C", + "sub_path": "filament/Bambu PLA Translucent @BBL H2C.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2D", + "sub_path": "filament/Bambu PLA Translucent @BBL H2D.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2DP", + "sub_path": "filament/Bambu PLA Translucent @BBL H2DP.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2S", + "sub_path": "filament/Bambu PLA Translucent @BBL H2S.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P1P", + "sub_path": "filament/Bambu PLA Translucent @BBL P1P.json" + }, + { + "name": "Bambu PLA Translucent @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P1P 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X1C", + "sub_path": "filament/Bambu PLA Translucent @BBL X1C.json" + }, + { + "name": "Bambu PLA Translucent @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL A1", + "sub_path": "filament/Bambu PLA Wood @BBL A1.json" + }, + { + "name": "Bambu PLA Wood @BBL A1M", + "sub_path": "filament/Bambu PLA Wood @BBL A1M.json" + }, + { + "name": "Bambu PLA Wood @BBL A2L", + "sub_path": "filament/Bambu PLA Wood @BBL A2L.json" + }, + { + "name": "Bambu PLA Wood @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL H2C", + "sub_path": "filament/Bambu PLA Wood @BBL H2C.json" + }, + { + "name": "Bambu PLA Wood @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL H2D", + "sub_path": "filament/Bambu PLA Wood @BBL H2D.json" + }, + { + "name": "Bambu PLA Wood @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL H2DP", + "sub_path": "filament/Bambu PLA Wood @BBL H2DP.json" + }, + { + "name": "Bambu PLA Wood @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL H2S", + "sub_path": "filament/Bambu PLA Wood @BBL H2S.json" + }, + { + "name": "Bambu PLA Wood @BBL P1P", + "sub_path": "filament/Bambu PLA Wood @BBL P1P.json" + }, + { + "name": "Bambu PLA Wood @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL P2S", + "sub_path": "filament/Bambu PLA Wood @BBL P2S.json" + }, + { + "name": "Bambu PLA Wood @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL X1", + "sub_path": "filament/Bambu PLA Wood @BBL X1.json" + }, + { + "name": "Bambu PLA Wood @BBL X1C", + "sub_path": "filament/Bambu PLA Wood @BBL X1C.json" + }, + { + "name": "Bambu PLA Wood @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA Wood @BBL X2D", + "sub_path": "filament/Bambu PLA Wood @BBL X2D.json" + }, + { + "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL A1", + "sub_path": "filament/Bambu PLA-CF @BBL A1.json" + }, + { + "name": "Bambu PLA-CF @BBL A1 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL A1M", + "sub_path": "filament/Bambu PLA-CF @BBL A1M.json" + }, + { + "name": "Bambu PLA-CF @BBL A1M 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL A2L", + "sub_path": "filament/Bambu PLA-CF @BBL A2L.json" + }, + { + "name": "Bambu PLA-CF @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2C", + "sub_path": "filament/Bambu PLA-CF @BBL H2C.json" + }, + { + "name": "Bambu PLA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2S", + "sub_path": "filament/Bambu PLA-CF @BBL H2S.json" + }, + { + "name": "Bambu PLA-CF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL P1P", + "sub_path": "filament/P1P/Bambu PLA-CF @BBL P1P.json" + }, + { + "name": "Bambu PLA-CF @BBL P1P 0.8 nozzle", + "sub_path": "filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL P2S 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL X1C", + "sub_path": "filament/Bambu PLA-CF @BBL X1C.json" + }, + { + "name": "Bambu PLA-CF @BBL X1C 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL X2D", + "sub_path": "filament/Bambu PLA-CF @BBL X2D.json" + }, + { + "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA-CF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL A1", + "sub_path": "filament/Bambu Support For PLA @BBL A1.json" + }, + { + "name": "Bambu Support For PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL A1M", + "sub_path": "filament/Bambu Support For PLA @BBL A1M.json" + }, + { + "name": "Bambu Support For PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL A2L", + "sub_path": "filament/Bambu Support For PLA @BBL A2L.json" + }, + { + "name": "Bambu Support For PLA @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2C", + "sub_path": "filament/Bambu Support For PLA @BBL H2C.json" + }, + { + "name": "Bambu Support For PLA @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2D", + "sub_path": "filament/Bambu Support For PLA @BBL H2D.json" + }, + { + "name": "Bambu Support For PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2DP", + "sub_path": "filament/Bambu Support For PLA @BBL H2DP.json" + }, + { + "name": "Bambu Support For PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2S", + "sub_path": "filament/Bambu Support For PLA @BBL H2S.json" + }, + { + "name": "Bambu Support For PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL P1P", + "sub_path": "filament/P1P/Bambu Support For PLA @BBL P1P.json" + }, + { + "name": "Bambu Support For PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL P2S", + "sub_path": "filament/Bambu Support For PLA @BBL P2S.json" + }, + { + "name": "Bambu Support For PLA @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL X1C", + "sub_path": "filament/Bambu Support For PLA @BBL X1C.json" + }, + { + "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D", + "sub_path": "filament/Bambu Support For PLA @BBL X2D.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A1", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A1M", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1M.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A2L", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A2L.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2C", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2D", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2DP", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2S", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P1P", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P1P.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P2S", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X1C", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X1C.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu Support W @BBL A1", + "sub_path": "filament/Bambu Support W @BBL A1.json" + }, + { + "name": "Bambu Support W @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL A1M", + "sub_path": "filament/Bambu Support W @BBL A1M.json" + }, + { + "name": "Bambu Support W @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL A2L", + "sub_path": "filament/Bambu Support W @BBL A2L.json" + }, + { + "name": "Bambu Support W @BBL A2L 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL H2C", + "sub_path": "filament/Bambu Support W @BBL H2C.json" + }, + { + "name": "Bambu Support W @BBL H2C 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu Support W @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Support W @BBL H2D", + "sub_path": "filament/Bambu Support W @BBL H2D.json" + }, + { + "name": "Bambu Support W @BBL H2D 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL H2DP", + "sub_path": "filament/Bambu Support W @BBL H2DP.json" + }, + { + "name": "Bambu Support W @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL H2S", + "sub_path": "filament/Bambu Support W @BBL H2S.json" + }, + { + "name": "Bambu Support W @BBL H2S 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL P1P", + "sub_path": "filament/P1P/Bambu Support W @BBL P1P.json" + }, + { + "name": "Bambu Support W @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL P2S", + "sub_path": "filament/Bambu Support W @BBL P2S.json" + }, + { + "name": "Bambu Support W @BBL P2S 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL X1", + "sub_path": "filament/Bambu Support W @BBL X1.json" + }, + { + "name": "Bambu Support W @BBL X1C", + "sub_path": "filament/Bambu Support W @BBL X1C.json" + }, + { + "name": "Bambu Support W @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL X2D", + "sub_path": "filament/Bambu Support W @BBL X2D.json" + }, + { + "name": "Bambu Support W @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support W @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PLA", + "sub_path": "filament/Generic PLA.json" + }, + { + "name": "Generic PLA @0.2 nozzle", + "sub_path": "filament/Generic PLA @0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL A1", + "sub_path": "filament/Generic PLA @BBL A1.json" + }, + { + "name": "Generic PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL A1M", + "sub_path": "filament/Generic PLA @BBL A1M.json" + }, + { + "name": "Generic PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL A2L", + "sub_path": "filament/Generic PLA @BBL A2L.json" + }, + { + "name": "Generic PLA @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL H2C", + "sub_path": "filament/Generic PLA @BBL H2C.json" + }, + { + "name": "Generic PLA @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PLA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PLA @BBL H2D", + "sub_path": "filament/Generic PLA @BBL H2D.json" + }, + { + "name": "Generic PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL H2DP", + "sub_path": "filament/Generic PLA @BBL H2DP.json" + }, + { + "name": "Generic PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL H2S", + "sub_path": "filament/Generic PLA @BBL H2S.json" + }, + { + "name": "Generic PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL P1P", + "sub_path": "filament/P1P/Generic PLA @BBL P1P.json" + }, + { + "name": "Generic PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL P2S", + "sub_path": "filament/Generic PLA @BBL P2S.json" + }, + { + "name": "Generic PLA @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL X2D", + "sub_path": "filament/Generic PLA @BBL X2D.json" + }, + { + "name": "Generic PLA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL A1", + "sub_path": "filament/Generic PLA High Speed @BBL A1.json" + }, + { + "name": "Generic PLA High Speed @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL A1M", + "sub_path": "filament/Generic PLA High Speed @BBL A1M.json" + }, + { + "name": "Generic PLA High Speed @BBL A2L", + "sub_path": "filament/Generic PLA High Speed @BBL A2L.json" + }, + { + "name": "Generic PLA High Speed @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL H2C", + "sub_path": "filament/Generic PLA High Speed @BBL H2C.json" + }, + { + "name": "Generic PLA High Speed @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL H2D", + "sub_path": "filament/Generic PLA High Speed @BBL H2D.json" + }, + { + "name": "Generic PLA High Speed @BBL H2D 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL H2DP", + "sub_path": "filament/Generic PLA High Speed @BBL H2DP.json" + }, + { + "name": "Generic PLA High Speed @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL H2S", + "sub_path": "filament/Generic PLA High Speed @BBL H2S.json" + }, + { + "name": "Generic PLA High Speed @BBL H2S 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL P1P", + "sub_path": "filament/Generic PLA High Speed @BBL P1P.json" + }, + { + "name": "Generic PLA High Speed @BBL P2S", + "sub_path": "filament/Generic PLA High Speed @BBL P2S.json" + }, + { + "name": "Generic PLA High Speed @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL X1C", + "sub_path": "filament/Generic PLA High Speed @BBL X1C.json" + }, + { + "name": "Generic PLA High Speed @BBL X2D", + "sub_path": "filament/Generic PLA High Speed @BBL X2D.json" + }, + { + "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PLA Silk", + "sub_path": "filament/Generic PLA Silk.json" + }, + { + "name": "Generic PLA Silk @BBL A1", + "sub_path": "filament/Generic PLA Silk @BBL A1.json" + }, + { + "name": "Generic PLA Silk @BBL A1M", + "sub_path": "filament/Generic PLA Silk @BBL A1M.json" + }, + { + "name": "Generic PLA Silk @BBL A2L", + "sub_path": "filament/Generic PLA Silk @BBL A2L.json" + }, + { + "name": "Generic PLA Silk @BBL H2C", + "sub_path": "filament/Generic PLA Silk @BBL H2C.json" + }, + { + "name": "Generic PLA Silk @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PLA Silk @BBL H2D", + "sub_path": "filament/Generic PLA Silk @BBL H2D.json" + }, + { + "name": "Generic PLA Silk @BBL H2DP", + "sub_path": "filament/Generic PLA Silk @BBL H2DP.json" + }, + { + "name": "Generic PLA Silk @BBL H2S", + "sub_path": "filament/Generic PLA Silk @BBL H2S.json" + }, + { + "name": "Generic PLA Silk @BBL P1P", + "sub_path": "filament/P1P/Generic PLA Silk @BBL P1P.json" + }, + { + "name": "Generic PLA Silk @BBL P2S", + "sub_path": "filament/Generic PLA Silk @BBL P2S.json" + }, + { + "name": "Generic PLA Silk @BBL X2D", + "sub_path": "filament/Generic PLA Silk @BBL X2D.json" + }, + { + "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PLA-CF", + "sub_path": "filament/Generic PLA-CF.json" + }, + { + "name": "Generic PLA-CF @BBL A1", + "sub_path": "filament/Generic PLA-CF @BBL A1.json" + }, + { + "name": "Generic PLA-CF @BBL A1M", + "sub_path": "filament/Generic PLA-CF @BBL A1M.json" + }, + { + "name": "Generic PLA-CF @BBL A2L", + "sub_path": "filament/Generic PLA-CF @BBL A2L.json" + }, + { + "name": "Generic PLA-CF @BBL H2C", + "sub_path": "filament/Generic PLA-CF @BBL H2C.json" + }, + { + "name": "Generic PLA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PLA-CF @BBL H2D", + "sub_path": "filament/Generic PLA-CF @BBL H2D.json" + }, + { + "name": "Generic PLA-CF @BBL H2DP", + "sub_path": "filament/Generic PLA-CF @BBL H2DP.json" + }, + { + "name": "Generic PLA-CF @BBL H2S", + "sub_path": "filament/Generic PLA-CF @BBL H2S.json" + }, + { + "name": "Generic PLA-CF @BBL P1P", + "sub_path": "filament/P1P/Generic PLA-CF @BBL P1P.json" + }, + { + "name": "Generic PLA-CF @BBL P2S", + "sub_path": "filament/Generic PLA-CF @BBL P2S.json" + }, + { + "name": "Generic PLA-CF @BBL X2D", + "sub_path": "filament/Generic PLA-CF @BBL X2D.json" + }, + { + "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL A1", + "sub_path": "filament/Overture Matte PLA @BBL A1.json" + }, + { + "name": "Overture Matte PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL A1M", + "sub_path": "filament/Overture Matte PLA @BBL A1M.json" + }, + { + "name": "Overture Matte PLA @BBL H2D", + "sub_path": "filament/Overture Matte PLA @BBL H2D.json" + }, + { + "name": "Overture Matte PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL H2DP", + "sub_path": "filament/Overture Matte PLA @BBL H2DP.json" + }, + { + "name": "Overture Matte PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL H2S", + "sub_path": "filament/Overture Matte PLA @BBL H2S.json" + }, + { + "name": "Overture Matte PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL P1P", + "sub_path": "filament/Overture Matte PLA @BBL P1P.json" + }, + { + "name": "Overture Matte PLA @BBL X1", + "sub_path": "filament/Overture Matte PLA @BBL X1.json" + }, + { + "name": "Overture Matte PLA @BBL X1C", + "sub_path": "filament/Overture Matte PLA @BBL X1C.json" + }, + { + "name": "Overture PLA @BBL A1", + "sub_path": "filament/Overture PLA @BBL A1.json" + }, + { + "name": "Overture PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL A1M", + "sub_path": "filament/Overture PLA @BBL A1M.json" + }, + { + "name": "Overture PLA @BBL H2D", + "sub_path": "filament/Overture PLA @BBL H2D.json" + }, + { + "name": "Overture PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL H2DP", + "sub_path": "filament/Overture PLA @BBL H2DP.json" + }, + { + "name": "Overture PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL H2S", + "sub_path": "filament/Overture PLA @BBL H2S.json" + }, + { + "name": "Overture PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL P1P", + "sub_path": "filament/Overture PLA @BBL P1P.json" + }, + { + "name": "Overture PLA @BBL X1", + "sub_path": "filament/Overture PLA @BBL X1.json" + }, + { + "name": "Overture PLA @BBL X1C", + "sub_path": "filament/Overture PLA @BBL X1C.json" + }, + { + "name": "PolyLite PLA @BBL A1", + "sub_path": "filament/PolyLite PLA @BBL A1.json" + }, + { + "name": "PolyLite PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL A1M", + "sub_path": "filament/PolyLite PLA @BBL A1M.json" + }, + { + "name": "PolyLite PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL H2D", + "sub_path": "filament/PolyLite PLA @BBL H2D.json" + }, + { + "name": "PolyLite PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL H2DP", + "sub_path": "filament/PolyLite PLA @BBL H2DP.json" + }, + { + "name": "PolyLite PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL H2S", + "sub_path": "filament/PolyLite PLA @BBL H2S.json" + }, + { + "name": "PolyLite PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL P1P", + "sub_path": "filament/P1P/PolyLite PLA @BBL P1P.json" + }, + { + "name": "PolyLite PLA @BBL X1", + "sub_path": "filament/PolyLite PLA @BBL X1.json" + }, + { + "name": "PolyLite PLA @BBL X1C", + "sub_path": "filament/PolyLite PLA @BBL X1C.json" + }, + { + "name": "PolyTerra PLA @BBL A1", + "sub_path": "filament/PolyTerra PLA @BBL A1.json" + }, + { + "name": "PolyTerra PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL A1M", + "sub_path": "filament/PolyTerra PLA @BBL A1M.json" + }, + { + "name": "PolyTerra PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL H2D", + "sub_path": "filament/PolyTerra PLA @BBL H2D.json" + }, + { + "name": "PolyTerra PLA @BBL H2D 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL H2D 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL H2DP", + "sub_path": "filament/PolyTerra PLA @BBL H2DP.json" + }, + { + "name": "PolyTerra PLA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL H2S", + "sub_path": "filament/PolyTerra PLA @BBL H2S.json" + }, + { + "name": "PolyTerra PLA @BBL H2S 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL P1P", + "sub_path": "filament/P1P/PolyTerra PLA @BBL P1P.json" + }, + { + "name": "PolyTerra PLA @BBL X1", + "sub_path": "filament/PolyTerra PLA @BBL X1.json" + }, + { + "name": "PolyTerra PLA @BBL X1C", + "sub_path": "filament/PolyTerra PLA @BBL X1C.json" + }, + { + "name": "SUNLU PLA Marble @BBL A1", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL A1.json" + }, + { + "name": "SUNLU PLA Marble @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL A1M.json" + }, + { + "name": "SUNLU PLA Marble @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL P1P.json" + }, + { + "name": "SUNLU PLA Marble @BBL X1", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL X1.json" + }, + { + "name": "SUNLU PLA Marble @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL X1C.json" + }, + { + "name": "SUNLU PLA Matte @BBL A1", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1.json" + }, + { + "name": "SUNLU PLA Matte @BBL A1 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA Matte @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1M.json" + }, + { + "name": "SUNLU PLA Matte @BBL A1M 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA Matte @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL P1P.json" + }, + { + "name": "SUNLU PLA Matte @BBL P1P 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA Matte @BBL X1", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1.json" + }, + { + "name": "SUNLU PLA Matte @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1C.json" + }, + { + "name": "SUNLU PLA Matte @BBL X1C 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL A1", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL X1", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json" + }, + { + "name": "SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ @BBL A1", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1.json" + }, + { + "name": "SUNLU PLA+ @BBL A1 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1M.json" + }, + { + "name": "SUNLU PLA+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL P1P.json" + }, + { + "name": "SUNLU PLA+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "SUNLU PLA+ @BBL X1", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1.json" + }, + { + "name": "SUNLU PLA+ @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1C.json" + }, + { + "name": "SUNLU PLA+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL A1", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL A1 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL X1", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json" + }, + { + "name": "SUNLU Silk PLA+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "SUNLU Wood PLA @BBL A1", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL A1.json" + }, + { + "name": "SUNLU Wood PLA @BBL A1M", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL A1M.json" + }, + { + "name": "SUNLU Wood PLA @BBL P1P", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL P1P.json" + }, + { + "name": "SUNLU Wood PLA @BBL X1", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL X1.json" + }, + { + "name": "SUNLU Wood PLA @BBL X1C", + "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL X1C.json" + }, + { + "name": "eSUN PLA+ @BBL A1", + "sub_path": "filament/eSUN PLA+ @BBL A1.json" + }, + { + "name": "eSUN PLA+ @BBL A1 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL A1M", + "sub_path": "filament/eSUN PLA+ @BBL A1M.json" + }, + { + "name": "eSUN PLA+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL H2D", + "sub_path": "filament/eSUN PLA+ @BBL H2D.json" + }, + { + "name": "eSUN PLA+ @BBL H2D 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL H2D 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL H2DP", + "sub_path": "filament/eSUN PLA+ @BBL H2DP.json" + }, + { + "name": "eSUN PLA+ @BBL H2DP 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL H2S", + "sub_path": "filament/eSUN PLA+ @BBL H2S.json" + }, + { + "name": "eSUN PLA+ @BBL H2S 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL P1P", + "sub_path": "filament/P1P/eSUN PLA+ @BBL P1P.json" + }, + { + "name": "eSUN PLA+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "eSUN PLA+ @BBL X1", + "sub_path": "filament/eSUN PLA+ @BBL X1.json" + }, + { + "name": "eSUN PLA+ @BBL X1C", + "sub_path": "filament/eSUN PLA+ @BBL X1C.json" + }, + { + "name": "eSUN PLA+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/eSUN PLA+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Generic PP @BBL A1", + "sub_path": "filament/Generic PP @BBL A1.json" + }, + { + "name": "Generic PP @BBL A1M", + "sub_path": "filament/Generic PP @BBL A1M.json" + }, + { + "name": "Generic PP @BBL A2L", + "sub_path": "filament/Generic PP @BBL A2L.json" + }, + { + "name": "Generic PP @BBL H2C", + "sub_path": "filament/Generic PP @BBL H2C.json" + }, + { + "name": "Generic PP @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PP @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PP @BBL H2D", + "sub_path": "filament/Generic PP @BBL H2D.json" + }, + { + "name": "Generic PP @BBL H2DP", + "sub_path": "filament/Generic PP @BBL H2DP.json" + }, + { + "name": "Generic PP @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PP @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PP @BBL P2S", + "sub_path": "filament/Generic PP @BBL P2S.json" + }, + { + "name": "Generic PP @BBL X1C", + "sub_path": "filament/Generic PP @BBL X1C.json" + }, + { + "name": "Generic PP @BBL X2D", + "sub_path": "filament/Generic PP @BBL X2D.json" + }, + { + "name": "Generic PP @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PP-CF @BBL A1", + "sub_path": "filament/Generic PP-CF @BBL A1.json" + }, + { + "name": "Generic PP-CF @BBL H2C", + "sub_path": "filament/Generic PP-CF @BBL H2C.json" + }, + { + "name": "Generic PP-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PP-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PP-CF @BBL H2D", + "sub_path": "filament/Generic PP-CF @BBL H2D.json" + }, + { + "name": "Generic PP-CF @BBL H2DP", + "sub_path": "filament/Generic PP-CF @BBL H2DP.json" + }, + { + "name": "Generic PP-CF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PP-CF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PP-CF @BBL P2S", + "sub_path": "filament/Generic PP-CF @BBL P2S.json" + }, + { + "name": "Generic PP-CF @BBL X1C", + "sub_path": "filament/Generic PP-CF @BBL X1C.json" + }, + { + "name": "Generic PP-CF @BBL X2D", + "sub_path": "filament/Generic PP-CF @BBL X2D.json" + }, + { + "name": "Generic PP-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PP-GF @BBL A1", + "sub_path": "filament/Generic PP-GF @BBL A1.json" + }, + { + "name": "Generic PP-GF @BBL H2C", + "sub_path": "filament/Generic PP-GF @BBL H2C.json" + }, + { + "name": "Generic PP-GF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PP-GF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PP-GF @BBL H2D", + "sub_path": "filament/Generic PP-GF @BBL H2D.json" + }, + { + "name": "Generic PP-GF @BBL H2DP", + "sub_path": "filament/Generic PP-GF @BBL H2DP.json" + }, + { + "name": "Generic PP-GF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PP-GF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PP-GF @BBL P2S", + "sub_path": "filament/Generic PP-GF @BBL P2S.json" + }, + { + "name": "Generic PP-GF @BBL X1C", + "sub_path": "filament/Generic PP-GF @BBL X1C.json" + }, + { + "name": "Generic PP-GF @BBL X2D", + "sub_path": "filament/Generic PP-GF @BBL X2D.json" + }, + { + "name": "Generic PP-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP-GF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PPA-CF @BBL H2C", + "sub_path": "filament/Bambu PPA-CF @BBL H2C.json" + }, + { + "name": "Bambu PPA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PPA-CF @BBL H2D", + "sub_path": "filament/Bambu PPA-CF @BBL H2D.json" + }, + { + "name": "Bambu PPA-CF @BBL H2DP", + "sub_path": "filament/Bambu PPA-CF @BBL H2DP.json" + }, + { + "name": "Bambu PPA-CF @BBL H2S", + "sub_path": "filament/Bambu PPA-CF @BBL H2S.json" + }, + { + "name": "Bambu PPA-CF @BBL P2S", + "sub_path": "filament/Bambu PPA-CF @BBL P2S.json" + }, + { + "name": "Bambu PPA-CF @BBL X1C", + "sub_path": "filament/Bambu PPA-CF @BBL X1C.json" + }, + { + "name": "Bambu PPA-CF @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu PPA-CF @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu PPA-CF @BBL X1E", + "sub_path": "filament/Bambu PPA-CF @BBL X1E.json" + }, + { + "name": "Bambu PPA-CF @BBL X2D", + "sub_path": "filament/Bambu PPA-CF @BBL X2D.json" + }, + { + "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PPA-CF @BBL H2C", + "sub_path": "filament/Generic PPA-CF @BBL H2C.json" + }, + { + "name": "Generic PPA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PPA-CF @BBL H2D", + "sub_path": "filament/Generic PPA-CF @BBL H2D.json" + }, + { + "name": "Generic PPA-CF @BBL H2DP", + "sub_path": "filament/Generic PPA-CF @BBL H2DP.json" + }, + { + "name": "Generic PPA-CF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PPA-CF @BBL P2S", + "sub_path": "filament/Generic PPA-CF @BBL P2S.json" + }, + { + "name": "Generic PPA-CF @BBL X1C", + "sub_path": "filament/Generic PPA-CF @BBL X1C.json" + }, + { + "name": "Generic PPA-CF @BBL X1E", + "sub_path": "filament/Generic PPA-CF @BBL X1E.json" + }, + { + "name": "Generic PPA-CF @BBL X2D", + "sub_path": "filament/Generic PPA-CF @BBL X2D.json" + }, + { + "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic PPA-GF @BBL H2C", + "sub_path": "filament/Generic PPA-GF @BBL H2C.json" + }, + { + "name": "Generic PPA-GF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PPA-GF @BBL H2D", + "sub_path": "filament/Generic PPA-GF @BBL H2D.json" + }, + { + "name": "Generic PPA-GF @BBL H2DP", + "sub_path": "filament/Generic PPA-GF @BBL H2DP.json" + }, + { + "name": "Generic PPA-GF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PPA-GF @BBL P2S", + "sub_path": "filament/Generic PPA-GF @BBL P2S.json" + }, + { + "name": "Generic PPA-GF @BBL X1C", + "sub_path": "filament/Generic PPA-GF @BBL X1C.json" + }, + { + "name": "Generic PPA-GF @BBL X1E", + "sub_path": "filament/Generic PPA-GF @BBL X1E.json" + }, + { + "name": "Generic PPA-GF @BBL X2D", + "sub_path": "filament/Generic PPA-GF @BBL X2D.json" + }, + { + "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PPS-CF @BBL H2C", + "sub_path": "filament/Bambu PPS-CF @BBL H2C.json" + }, + { + "name": "Bambu PPS-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PPS-CF @BBL H2D", + "sub_path": "filament/Bambu PPS-CF @BBL H2D.json" + }, + { + "name": "Bambu PPS-CF @BBL H2DP", + "sub_path": "filament/Bambu PPS-CF @BBL H2DP.json" + }, + { + "name": "Bambu PPS-CF @BBL H2S", + "sub_path": "filament/Bambu PPS-CF @BBL H2S.json" + }, + { + "name": "Bambu PPS-CF @BBL X1E", + "sub_path": "filament/Bambu PPS-CF @BBL X1E.json" + }, + { + "name": "Generic PPS @BBL H2C", + "sub_path": "filament/Generic PPS @BBL H2C.json" + }, + { + "name": "Generic PPS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PPS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PPS @BBL H2D", + "sub_path": "filament/Generic PPS @BBL H2D.json" + }, + { + "name": "Generic PPS @BBL H2DP", + "sub_path": "filament/Generic PPS @BBL H2DP.json" + }, + { + "name": "Generic PPS @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PPS @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PPS @BBL X1E", + "sub_path": "filament/Generic PPS @BBL X1E.json" + }, + { + "name": "Generic PPS-CF @BBL H2C", + "sub_path": "filament/Generic PPS-CF @BBL H2C.json" + }, + { + "name": "Generic PPS-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PPS-CF @BBL H2D", + "sub_path": "filament/Generic PPS-CF @BBL H2D.json" + }, + { + "name": "Generic PPS-CF @BBL H2DP", + "sub_path": "filament/Generic PPS-CF @BBL H2DP.json" + }, + { + "name": "Generic PPS-CF @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PPS-CF @BBL X1E", + "sub_path": "filament/Generic PPS-CF @BBL X1E.json" + }, + { + "name": "Bambu PVA @BBL A1", + "sub_path": "filament/Bambu PVA @BBL A1.json" + }, + { + "name": "Bambu PVA @BBL A1 0.2 nozzle", + "sub_path": "filament/Bambu PVA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Bambu PVA @BBL A1M", + "sub_path": "filament/Bambu PVA @BBL A1M.json" + }, + { + "name": "Bambu PVA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Bambu PVA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Bambu PVA @BBL A2L", + "sub_path": "filament/Bambu PVA @BBL A2L.json" + }, + { + "name": "Bambu PVA @BBL H2C", + "sub_path": "filament/Bambu PVA @BBL H2C.json" + }, + { + "name": "Bambu PVA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2D", + "sub_path": "filament/Bambu PVA @BBL H2D.json" + }, + { + "name": "Bambu PVA @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2DP", + "sub_path": "filament/Bambu PVA @BBL H2DP.json" + }, + { + "name": "Bambu PVA @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2S", + "sub_path": "filament/Bambu PVA @BBL H2S.json" + }, + { + "name": "Bambu PVA @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu PVA @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu PVA @BBL P1P", + "sub_path": "filament/Bambu PVA @BBL P1P.json" + }, + { + "name": "Bambu PVA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PVA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PVA @BBL P2S", + "sub_path": "filament/Bambu PVA @BBL P2S.json" + }, + { + "name": "Bambu PVA @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu PVA @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu PVA @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu PVA @BBL X1C", + "sub_path": "filament/Bambu PVA @BBL X1C.json" + }, + { + "name": "Bambu PVA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PVA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PVA @BBL X2D", + "sub_path": "filament/Bambu PVA @BBL X2D.json" + }, + { + "name": "Bambu PVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PVA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PVA @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PVA @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Generic PVA", + "sub_path": "filament/Generic PVA.json" + }, + { + "name": "Generic PVA @0.2 nozzle", + "sub_path": "filament/Generic PVA @0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL A1", + "sub_path": "filament/Generic PVA @BBL A1.json" + }, + { + "name": "Generic PVA @BBL A1 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL A1M", + "sub_path": "filament/Generic PVA @BBL A1M.json" + }, + { + "name": "Generic PVA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL A2L", + "sub_path": "filament/Generic PVA @BBL A2L.json" + }, + { + "name": "Generic PVA @BBL A2L 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL A2L 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL H2C", + "sub_path": "filament/Generic PVA @BBL H2C.json" + }, + { + "name": "Generic PVA @BBL H2C 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL H2C 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PVA @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PVA @BBL H2D", + "sub_path": "filament/Generic PVA @BBL H2D.json" + }, + { + "name": "Generic PVA @BBL H2DP", + "sub_path": "filament/Generic PVA @BBL H2DP.json" + }, + { + "name": "Generic PVA @BBL H2S 0.4 nozzle", + "sub_path": "filament/Generic PVA @BBL H2S 0.4 nozzle.json" + }, + { + "name": "Generic PVA @BBL P1P", + "sub_path": "filament/P1P/Generic PVA @BBL P1P.json" + }, + { + "name": "Generic PVA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL P2S", + "sub_path": "filament/Generic PVA @BBL P2S.json" + }, + { + "name": "Generic PVA @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL X2D", + "sub_path": "filament/Generic PVA @BBL X2D.json" + }, + { + "name": "Generic PVA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PVA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL H2C", + "sub_path": "filament/Bambu TPU 85A @BBL H2C.json" + }, + { + "name": "Bambu TPU 85A @BBL H2D", + "sub_path": "filament/Bambu TPU 85A @BBL H2D.json" + }, + { + "name": "Bambu TPU 85A @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL H2DP", + "sub_path": "filament/Bambu TPU 85A @BBL H2DP.json" + }, + { + "name": "Bambu TPU 85A @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL H2S", + "sub_path": "filament/Bambu TPU 85A @BBL H2S.json" + }, + { + "name": "Bambu TPU 85A @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL P1P", + "sub_path": "filament/Bambu TPU 85A @BBL P1P.json" + }, + { + "name": "Bambu TPU 85A @BBL P2S", + "sub_path": "filament/Bambu TPU 85A @BBL P2S.json" + }, + { + "name": "Bambu TPU 85A @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 85A @BBL X1C", + "sub_path": "filament/Bambu TPU 85A @BBL X1C.json" + }, + { + "name": "Bambu TPU 85A @BBL X2D", + "sub_path": "filament/Bambu TPU 85A @BBL X2D.json" + }, + { + "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL A1", + "sub_path": "filament/Bambu TPU 90A @BBL A1.json" + }, + { + "name": "Bambu TPU 90A @BBL A1M", + "sub_path": "filament/Bambu TPU 90A @BBL A1M.json" + }, + { + "name": "Bambu TPU 90A @BBL A2L", + "sub_path": "filament/Bambu TPU 90A @BBL A2L.json" + }, + { + "name": "Bambu TPU 90A @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2C", + "sub_path": "filament/Bambu TPU 90A @BBL H2C.json" + }, + { + "name": "Bambu TPU 90A @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2D", + "sub_path": "filament/Bambu TPU 90A @BBL H2D.json" + }, + { + "name": "Bambu TPU 90A @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2DP", + "sub_path": "filament/Bambu TPU 90A @BBL H2DP.json" + }, + { + "name": "Bambu TPU 90A @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2S", + "sub_path": "filament/Bambu TPU 90A @BBL H2S.json" + }, + { + "name": "Bambu TPU 90A @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL P1P", + "sub_path": "filament/Bambu TPU 90A @BBL P1P.json" + }, + { + "name": "Bambu TPU 90A @BBL P2S", + "sub_path": "filament/Bambu TPU 90A @BBL P2S.json" + }, + { + "name": "Bambu TPU 90A @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL X1C", + "sub_path": "filament/Bambu TPU 90A @BBL X1C.json" + }, + { + "name": "Bambu TPU 90A @BBL X2D", + "sub_path": "filament/Bambu TPU 90A @BBL X2D.json" + }, + { + "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A @BBL A1", + "sub_path": "filament/Bambu TPU 95A @BBL A1.json" + }, + { + "name": "Bambu TPU 95A @BBL A1M", + "sub_path": "filament/Bambu TPU 95A @BBL A1M.json" + }, + { + "name": "Bambu TPU 95A @BBL A2L", + "sub_path": "filament/Bambu TPU 95A @BBL A2L.json" + }, + { + "name": "Bambu TPU 95A @BBL H2C", + "sub_path": "filament/Bambu TPU 95A @BBL H2C.json" + }, + { + "name": "Bambu TPU 95A @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 95A @BBL H2D", + "sub_path": "filament/Bambu TPU 95A @BBL H2D.json" + }, + { + "name": "Bambu TPU 95A @BBL H2DP", + "sub_path": "filament/Bambu TPU 95A @BBL H2DP.json" + }, + { + "name": "Bambu TPU 95A @BBL H2S", + "sub_path": "filament/Bambu TPU 95A @BBL H2S.json" + }, + { + "name": "Bambu TPU 95A @BBL P1P", + "sub_path": "filament/P1P/Bambu TPU 95A @BBL P1P.json" + }, + { + "name": "Bambu TPU 95A @BBL P2S", + "sub_path": "filament/Bambu TPU 95A @BBL P2S.json" + }, + { + "name": "Bambu TPU 95A @BBL X1", + "sub_path": "filament/Bambu TPU 95A @BBL X1.json" + }, + { + "name": "Bambu TPU 95A @BBL X1C", + "sub_path": "filament/Bambu TPU 95A @BBL X1C.json" + }, + { + "name": "Bambu TPU 95A @BBL X2D", + "sub_path": "filament/Bambu TPU 95A @BBL X2D.json" + }, + { + "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL A1", + "sub_path": "filament/Bambu TPU 95A HF @BBL A1.json" + }, + { + "name": "Bambu TPU 95A HF @BBL A1M", + "sub_path": "filament/Bambu TPU 95A HF @BBL A1M.json" + }, + { + "name": "Bambu TPU 95A HF @BBL A2L", + "sub_path": "filament/Bambu TPU 95A HF @BBL A2L.json" + }, + { + "name": "Bambu TPU 95A HF @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2C", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2C.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2D", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2D.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2DP", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2DP.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2S", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2S.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL P1P", + "sub_path": "filament/Bambu TPU 95A HF @BBL P1P.json" + }, + { + "name": "Bambu TPU 95A HF @BBL P1S", + "sub_path": "filament/Bambu TPU 95A HF @BBL P1S.json" + }, + { + "name": "Bambu TPU 95A HF @BBL P2S", + "sub_path": "filament/Bambu TPU 95A HF @BBL P2S.json" + }, + { + "name": "Bambu TPU 95A HF @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X1", + "sub_path": "filament/Bambu TPU 95A HF @BBL X1.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X1C", + "sub_path": "filament/Bambu TPU 95A HF @BBL X1C.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X1E", + "sub_path": "filament/Bambu TPU 95A HF @BBL X1E.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X2D", + "sub_path": "filament/Bambu TPU 95A HF @BBL X2D.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL A1", + "sub_path": "filament/Bambu TPU for AMS @BBL A1.json" + }, + { + "name": "Bambu TPU for AMS @BBL A1M", + "sub_path": "filament/Bambu TPU for AMS @BBL A1M.json" + }, + { + "name": "Bambu TPU for AMS @BBL A2L", + "sub_path": "filament/Bambu TPU for AMS @BBL A2L.json" + }, + { + "name": "Bambu TPU for AMS @BBL A2L 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL A2L 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2C", + "sub_path": "filament/Bambu TPU for AMS @BBL H2C.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2C 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2C 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2D", + "sub_path": "filament/Bambu TPU for AMS @BBL H2D.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2D 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2D 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2D 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2DP", + "sub_path": "filament/Bambu TPU for AMS @BBL H2DP.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2DP 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2DP 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2DP 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2DP 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2S", + "sub_path": "filament/Bambu TPU for AMS @BBL H2S.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL H2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL H2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL P1P", + "sub_path": "filament/Bambu TPU for AMS @BBL P1P.json" + }, + { + "name": "Bambu TPU for AMS @BBL P1P 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL P1P 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL P2S", + "sub_path": "filament/Bambu TPU for AMS @BBL P2S.json" + }, + { + "name": "Bambu TPU for AMS @BBL P2S 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL P2S 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL P2S 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL P2S 0.8 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL X1C", + "sub_path": "filament/Bambu TPU for AMS @BBL X1C.json" + }, + { + "name": "Bambu TPU for AMS @BBL X1C 0.6 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL X1C 0.6 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL X2D", + "sub_path": "filament/Bambu TPU for AMS @BBL X2D.json" + }, + { + "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU for AMS @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL X2D 0.8 nozzle.json" + }, + { + "name": "Generic TPU", + "sub_path": "filament/Generic TPU.json" + }, + { + "name": "Generic TPU @BBL H2C", + "sub_path": "filament/Generic TPU @BBL H2C.json" + }, + { + "name": "Generic TPU @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic TPU @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic TPU @BBL H2D", + "sub_path": "filament/Generic TPU @BBL H2D.json" + }, + { + "name": "Generic TPU @BBL H2DP", + "sub_path": "filament/Generic TPU @BBL H2DP.json" + }, + { + "name": "Generic TPU @BBL P1P", + "sub_path": "filament/P1P/Generic TPU @BBL P1P.json" + }, + { + "name": "Generic TPU @BBL P2S", + "sub_path": "filament/Generic TPU @BBL P2S.json" + }, + { + "name": "Generic TPU @BBL X2D", + "sub_path": "filament/Generic TPU @BBL X2D.json" + }, + { + "name": "Generic TPU @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic TPU @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic TPU for AMS @BBL A1", + "sub_path": "filament/Generic TPU for AMS @BBL A1.json" + }, + { + "name": "Generic TPU for AMS @BBL A1M", + "sub_path": "filament/Generic TPU for AMS @BBL A1M.json" + }, + { + "name": "Generic TPU for AMS @BBL A2L", + "sub_path": "filament/Generic TPU for AMS @BBL A2L.json" + }, + { + "name": "Generic TPU for AMS @BBL H2C", + "sub_path": "filament/Generic TPU for AMS @BBL H2C.json" + }, + { + "name": "Generic TPU for AMS @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic TPU for AMS @BBL H2D", + "sub_path": "filament/Generic TPU for AMS @BBL H2D.json" + }, + { + "name": "Generic TPU for AMS @BBL H2DP", + "sub_path": "filament/Generic TPU for AMS @BBL H2DP.json" + }, + { + "name": "Generic TPU for AMS @BBL H2S", + "sub_path": "filament/Generic TPU for AMS @BBL H2S.json" + }, + { + "name": "Generic TPU for AMS @BBL P1P", + "sub_path": "filament/Generic TPU for AMS @BBL P1P.json" + }, + { + "name": "Generic TPU for AMS @BBL P2S", + "sub_path": "filament/Generic TPU for AMS @BBL P2S.json" + }, + { + "name": "Generic TPU for AMS @BBL X1C", + "sub_path": "filament/Generic TPU for AMS @BBL X1C.json" + }, + { + "name": "Generic TPU for AMS @BBL X2D", + "sub_path": "filament/Generic TPU for AMS @BBL X2D.json" + }, + { + "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Generic ABS @BBL H2DP", + "sub_path": "filament/Generic ABS @BBL H2DP.json" + }, + { + "name": "Generic ABS @BBL X1E", + "sub_path": "filament/Generic ABS @BBL X1E.json" + }, + { + "name": "Generic ABS @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL X1E 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL X1E 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL P1P 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @BBL X1C 0.2 nozzle", + "sub_path": "filament/PolyLite ABS @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL H2DP", + "sub_path": "filament/Generic ASA @BBL H2DP.json" + }, + { + "name": "Generic ASA @BBL X1E", + "sub_path": "filament/Generic ASA @BBL X1E.json" + }, + { + "name": "Generic ASA @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL X1E 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL X1E 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL P1P 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL X1C 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "PolyLite ASA @BBL X1E 0.2 nozzle", + "sub_path": "filament/PolyLite ASA @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Generic PA @BBL A1", + "sub_path": "filament/Generic PA @BBL A1.json" + }, + { + "name": "Generic PA-CF @BBL A1", + "sub_path": "filament/Generic PA-CF @BBL A1.json" + }, + { + "name": "Generic PA-CF @BBL H2C", + "sub_path": "filament/Generic PA-CF @BBL H2C.json" + }, + { + "name": "Generic PA-CF @BBL H2C 0.4 nozzle", + "sub_path": "filament/Generic PA-CF @BBL H2C 0.4 nozzle.json" + }, + { + "name": "Generic PA-CF @BBL H2D", + "sub_path": "filament/Generic PA-CF @BBL H2D.json" + }, + { + "name": "Generic PA-CF @BBL H2DP", + "sub_path": "filament/Generic PA-CF @BBL H2DP.json" + }, + { + "name": "Generic PA-CF @BBL X1E", + "sub_path": "filament/Generic PA-CF @BBL X1E.json" + }, + { + "name": "Bambu PC @BBL P1S", + "sub_path": "filament/Bambu PC @BBL P1S.json" + }, + { + "name": "Bambu PC @BBL P1S 0.2 nozzle", + "sub_path": "filament/Bambu PC @BBL P1S 0.2 nozzle.json" + }, + { + "name": "Bambu PC @BBL P1S 0.6 nozzle", + "sub_path": "filament/Bambu PC @BBL P1S 0.6 nozzle.json" + }, + { + "name": "Bambu PC @BBL P1S 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL P1S 0.8 nozzle.json" + }, + { + "name": "Generic PC @BBL H2DP", + "sub_path": "filament/Generic PC @BBL H2DP.json" + }, + { + "name": "Generic PC @BBL P1S", + "sub_path": "filament/Generic PC @BBL P1S.json" + }, + { + "name": "Generic PC @BBL P2S", + "sub_path": "filament/Generic PC @BBL P2S.json" + }, + { + "name": "Generic PC @BBL X1E", + "sub_path": "filament/Generic PC @BBL X1E.json" + }, + { + "name": "Generic PC @BBL H2DP 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL H2DP 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL P1S 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL P1S 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL P2S 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL P2S 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL X1E 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL A1M 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL A1M 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL A1M 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL P1P 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyLite PETG @BBL X1C 0.2 nozzle", + "sub_path": "filament/PolyLite PETG @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL P1P 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X1 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X1C 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Glow @BBL X1E 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL A1M 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL P1P 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL X1C 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Matte PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture Matte PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/PolyLite PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyTerra PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/PolyTerra PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 95A HF @BBL H2DP 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json" + }, + { + "name": "Generic TPU @BBL A1", + "sub_path": "filament/Generic TPU @BBL A1.json" + }, + { + "name": "Generic TPU @BBL A1M", + "sub_path": "filament/Generic TPU @BBL A1M.json" + }, + { + "name": "Generic TPU @BBL A2L", + "sub_path": "filament/Generic TPU @BBL A2L.json" + }, + { + "name": "Generic TPU @BBL H2S", + "sub_path": "filament/Generic TPU @BBL H2S.json" + } + ], + "machine_list": [ + { + "name": "Bambu Lab A1 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab A1 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab A1 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab A1 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab A1 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.2 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1P 0.2 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.6 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1P 0.6 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1P 0.8 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1P 0.8 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.2 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1S 0.2 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.6 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1S 0.6 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P1S 0.8 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P1S 0.8 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode.json" + }, + { + "name": "Bambu Lab X1 0.2 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 0.2 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab X1 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab X1 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab X1 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab X1 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab X1 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab X1 0.6 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 0.6 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 0.8 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 0.8 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.2 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1E 0.2 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.6 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1E 0.6 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X1E 0.8 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X1E 0.8 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle template change_filament_gcode", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle template change_filament_gcode.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle template layer_change_gcode", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle template layer_change_gcode.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle template machine_end_gcode", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle template machine_end_gcode.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle template machine_start_gcode", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle template machine_start_gcode.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle template time_lapse_gcode", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle template time_lapse_gcode.json" + }, + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_bbl_3dp_001_common", + "sub_path": "machine/fdm_bbl_3dp_001_common.json" + }, + { + "name": "fdm_bbl_3dp_002_common", + "sub_path": "machine/fdm_bbl_3dp_002_common.json" + }, + { + "name": "Bambu Lab A1 0.4 nozzle", + "sub_path": "machine/Bambu Lab A1 0.4 nozzle.json" + }, + { + "name": "Bambu Lab A1 mini 0.4 nozzle", + "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle.json" + }, + { + "name": "Bambu Lab A2L 0.4 nozzle", + "sub_path": "machine/Bambu Lab A2L 0.4 nozzle.json" + }, + { + "name": "Bambu Lab H2S 0.4 nozzle", + "sub_path": "machine/Bambu Lab H2S 0.4 nozzle.json" + }, + { + "name": "Bambu Lab P1P 0.4 nozzle", + "sub_path": "machine/Bambu Lab P1P 0.4 nozzle.json" + }, + { + "name": "Bambu Lab P1S 0.4 nozzle", + "sub_path": "machine/Bambu Lab P1S 0.4 nozzle.json" + }, + { + "name": "Bambu Lab P2S 0.4 nozzle", + "sub_path": "machine/Bambu Lab P2S 0.4 nozzle.json" + }, + { + "name": "Bambu Lab X1 0.4 nozzle", + "sub_path": "machine/Bambu Lab X1 0.4 nozzle.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.4 nozzle", + "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle.json" + }, + { + "name": "Bambu Lab X1E 0.4 nozzle", + "sub_path": "machine/Bambu Lab X1E 0.4 nozzle.json" + }, + { + "name": "Bambu Lab H2C 0.4 nozzle", + "sub_path": "machine/Bambu Lab H2C 0.4 nozzle.json" + }, + { + "name": "Bambu Lab H2D 0.4 nozzle", + "sub_path": "machine/Bambu Lab H2D 0.4 nozzle.json" + }, + { + "name": "Bambu Lab H2D Pro 0.4 nozzle", + "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle.json" + }, + { + "name": "Bambu Lab X2D 0.4 nozzle", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle.json" + }, + { + "name": "Bambu Lab A1 0.2 nozzle", + "sub_path": "machine/Bambu Lab A1 0.2 nozzle.json" + }, + { + "name": "Bambu Lab A1 0.6 nozzle", + "sub_path": "machine/Bambu Lab A1 0.6 nozzle.json" + }, + { + "name": "Bambu Lab A1 0.8 nozzle", + "sub_path": "machine/Bambu Lab A1 0.8 nozzle.json" + }, + { + "name": "Bambu Lab A1 mini 0.2 nozzle", + "sub_path": "machine/Bambu Lab A1 mini 0.2 nozzle.json" + }, + { + "name": "Bambu Lab A1 mini 0.6 nozzle", + "sub_path": "machine/Bambu Lab A1 mini 0.6 nozzle.json" + }, + { + "name": "Bambu Lab A1 mini 0.8 nozzle", + "sub_path": "machine/Bambu Lab A1 mini 0.8 nozzle.json" + }, + { + "name": "Bambu Lab A2L 0.2 nozzle", + "sub_path": "machine/Bambu Lab A2L 0.2 nozzle.json" + }, + { + "name": "Bambu Lab A2L 0.6 nozzle", + "sub_path": "machine/Bambu Lab A2L 0.6 nozzle.json" + }, + { + "name": "Bambu Lab A2L 0.8 nozzle", + "sub_path": "machine/Bambu Lab A2L 0.8 nozzle.json" + }, + { + "name": "Bambu Lab H2S 0.2 nozzle", + "sub_path": "machine/Bambu Lab H2S 0.2 nozzle.json" + }, + { + "name": "Bambu Lab H2S 0.6 nozzle", + "sub_path": "machine/Bambu Lab H2S 0.6 nozzle.json" + }, + { + "name": "Bambu Lab H2S 0.8 nozzle", + "sub_path": "machine/Bambu Lab H2S 0.8 nozzle.json" + }, + { + "name": "Bambu Lab P1P 0.2 nozzle", + "sub_path": "machine/Bambu Lab P1P 0.2 nozzle.json" + }, + { + "name": "Bambu Lab P1P 0.6 nozzle", + "sub_path": "machine/Bambu Lab P1P 0.6 nozzle.json" + }, + { + "name": "Bambu Lab P1P 0.8 nozzle", + "sub_path": "machine/Bambu Lab P1P 0.8 nozzle.json" + }, + { + "name": "Bambu Lab P1S 0.2 nozzle", + "sub_path": "machine/Bambu Lab P1S 0.2 nozzle.json" + }, + { + "name": "Bambu Lab P1S 0.6 nozzle", + "sub_path": "machine/Bambu Lab P1S 0.6 nozzle.json" + }, + { + "name": "Bambu Lab P1S 0.8 nozzle", + "sub_path": "machine/Bambu Lab P1S 0.8 nozzle.json" + }, + { + "name": "Bambu Lab P2S 0.2 nozzle", + "sub_path": "machine/Bambu Lab P2S 0.2 nozzle.json" + }, + { + "name": "Bambu Lab P2S 0.6 nozzle", + "sub_path": "machine/Bambu Lab P2S 0.6 nozzle.json" + }, + { + "name": "Bambu Lab P2S 0.8 nozzle", + "sub_path": "machine/Bambu Lab P2S 0.8 nozzle.json" + }, + { + "name": "Bambu Lab X1 0.2 nozzle", + "sub_path": "machine/Bambu Lab X1 0.2 nozzle.json" + }, + { + "name": "Bambu Lab X1 0.6 nozzle", + "sub_path": "machine/Bambu Lab X1 0.6 nozzle.json" + }, + { + "name": "Bambu Lab X1 0.8 nozzle", + "sub_path": "machine/Bambu Lab X1 0.8 nozzle.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.2 nozzle", + "sub_path": "machine/Bambu Lab X1 Carbon 0.2 nozzle.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.6 nozzle", + "sub_path": "machine/Bambu Lab X1 Carbon 0.6 nozzle.json" + }, + { + "name": "Bambu Lab X1 Carbon 0.8 nozzle", + "sub_path": "machine/Bambu Lab X1 Carbon 0.8 nozzle.json" + }, + { + "name": "Bambu Lab X1E 0.2 nozzle", + "sub_path": "machine/Bambu Lab X1E 0.2 nozzle.json" + }, + { + "name": "Bambu Lab X1E 0.6 nozzle", + "sub_path": "machine/Bambu Lab X1E 0.6 nozzle.json" + }, + { + "name": "Bambu Lab X1E 0.8 nozzle", + "sub_path": "machine/Bambu Lab X1E 0.8 nozzle.json" + }, + { + "name": "Bambu Lab H2C 0.2 nozzle", + "sub_path": "machine/Bambu Lab H2C 0.2 nozzle.json" + }, + { + "name": "Bambu Lab H2C 0.6 nozzle", + "sub_path": "machine/Bambu Lab H2C 0.6 nozzle.json" + }, + { + "name": "Bambu Lab H2C 0.8 nozzle", + "sub_path": "machine/Bambu Lab H2C 0.8 nozzle.json" + }, + { + "name": "Bambu Lab H2D 0.2 nozzle", + "sub_path": "machine/Bambu Lab H2D 0.2 nozzle.json" + }, + { + "name": "Bambu Lab H2D 0.6 nozzle", + "sub_path": "machine/Bambu Lab H2D 0.6 nozzle.json" + }, + { + "name": "Bambu Lab H2D 0.8 nozzle", + "sub_path": "machine/Bambu Lab H2D 0.8 nozzle.json" + }, + { + "name": "Bambu Lab H2D Pro 0.2 nozzle", + "sub_path": "machine/Bambu Lab H2D Pro 0.2 nozzle.json" + }, + { + "name": "Bambu Lab H2D Pro 0.6 nozzle", + "sub_path": "machine/Bambu Lab H2D Pro 0.6 nozzle.json" + }, + { + "name": "Bambu Lab H2D Pro 0.8 nozzle", + "sub_path": "machine/Bambu Lab H2D Pro 0.8 nozzle.json" + }, + { + "name": "Bambu Lab X2D 0.2 nozzle", + "sub_path": "machine/Bambu Lab X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Lab X2D 0.6 nozzle", + "sub_path": "machine/Bambu Lab X2D 0.6 nozzle.json" + }, + { + "name": "Bambu Lab X2D 0.8 nozzle", + "sub_path": "machine/Bambu Lab X2D 0.8 nozzle.json" + } + ], "process_list": [ { "name": "fdm_process_common", @@ -251,6 +9047,10 @@ "name": "0.08mm Extra Fine @BBL H2DP 0.2 nozzle", "sub_path": "process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json" }, + { + "name": "0.08mm High Quality @BBL H2C 0.2 nozzle", + "sub_path": "process/0.08mm High Quality @BBL H2C 0.2 nozzle.json" + }, { "name": "0.08mm High Quality @BBL X2D 0.2 nozzle", "sub_path": "process/0.08mm High Quality @BBL X2D 0.2 nozzle.json" @@ -263,10 +9063,18 @@ "name": "0.08mm Extra Fine @BBL H2DP", "sub_path": "process/0.08mm Extra Fine @BBL H2DP.json" }, + { + "name": "0.08mm High Quality @BBL H2C", + "sub_path": "process/0.08mm High Quality @BBL H2C.json" + }, { "name": "0.08mm High Quality @BBL X2D", "sub_path": "process/0.08mm High Quality @BBL X2D.json" }, + { + "name": "0.10mm Standard @BBL H2C 0.2 nozzle", + "sub_path": "process/0.10mm Standard @BBL H2C 0.2 nozzle.json" + }, { "name": "0.10mm Standard @BBL H2D 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL H2D 0.2 nozzle.json" @@ -279,6 +9087,10 @@ "name": "0.10mm Standard @BBL X2D 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL X2D 0.2 nozzle.json" }, + { + "name": "0.12mm Balanced Quality @BBL H2C 0.2 nozzle", + "sub_path": "process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json" + }, { "name": "0.12mm Balanced Quality @BBL H2D 0.2 nozzle", "sub_path": "process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json" @@ -299,6 +9111,10 @@ "name": "0.12mm Fine @BBL H2DP", "sub_path": "process/0.12mm Fine @BBL H2DP.json" }, + { + "name": "0.12mm High Quality @BBL H2C", + "sub_path": "process/0.12mm High Quality @BBL H2C.json" + }, { "name": "0.12mm High Quality @BBL X2D", "sub_path": "process/0.12mm High Quality @BBL X2D.json" @@ -311,10 +9127,18 @@ "name": "0.16mm Balanced Quality @BBL H2DP", "sub_path": "process/0.16mm Balanced Quality @BBL H2DP.json" }, + { + "name": "0.16mm High Quality @BBL H2C", + "sub_path": "process/0.16mm High Quality @BBL H2C.json" + }, { "name": "0.16mm High Quality @BBL X2D", "sub_path": "process/0.16mm High Quality @BBL X2D.json" }, + { + "name": "0.16mm Standard @BBL H2C", + "sub_path": "process/0.16mm Standard @BBL H2C.json" + }, { "name": "0.16mm Standard @BBL H2D", "sub_path": "process/0.16mm Standard @BBL H2D.json" @@ -327,6 +9151,10 @@ "name": "0.16mm Standard @BBL X2D", "sub_path": "process/0.16mm Standard @BBL X2D.json" }, + { + "name": "0.18mm Balanced Quality @BBL H2C 0.6 nozzle", + "sub_path": "process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json" + }, { "name": "0.18mm Balanced Quality @BBL H2D 0.6 nozzle", "sub_path": "process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json" @@ -347,10 +9175,18 @@ "name": "0.20mm Balanced Strength @BBL H2DP", "sub_path": "process/0.20mm Balanced Strength @BBL H2DP.json" }, + { + "name": "0.20mm High Quality @BBL H2C", + "sub_path": "process/0.20mm High Quality @BBL H2C.json" + }, { "name": "0.20mm High Quality @BBL X2D", "sub_path": "process/0.20mm High Quality @BBL X2D.json" }, + { + "name": "0.20mm Standard @BBL H2C", + "sub_path": "process/0.20mm Standard @BBL H2C.json" + }, { "name": "0.20mm Standard @BBL H2D", "sub_path": "process/0.20mm Standard @BBL H2D.json" @@ -363,6 +9199,10 @@ "name": "0.20mm Standard @BBL X2D", "sub_path": "process/0.20mm Standard @BBL X2D.json" }, + { + "name": "0.24mm Standard @BBL H2C", + "sub_path": "process/0.24mm Standard @BBL H2C.json" + }, { "name": "0.24mm Standard @BBL H2D", "sub_path": "process/0.24mm Standard @BBL H2D.json" @@ -375,10 +9215,18 @@ "name": "0.24mm Standard @BBL X2D", "sub_path": "process/0.24mm Standard @BBL X2D.json" }, + { + "name": "0.24mm Balanced Quality @BBL H2C 0.6 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL H2C 0.6 nozzle.json" + }, { "name": "0.24mm Balanced Quality @BBL X2D 0.6 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json" }, + { + "name": "0.24mm Balanced Strength @BBL H2C 0.6 nozzle", + "sub_path": "process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json" + }, { "name": "0.24mm Balanced Strength @BBL H2D 0.6 nozzle", "sub_path": "process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json" @@ -387,6 +9235,10 @@ "name": "0.24mm Balanced Strength @BBL H2DP 0.6 nozzle", "sub_path": "process/0.24mm Balanced Strength @BBL H2DP 0.6 nozzle.json" }, + { + "name": "0.24mm Balanced Quality @BBL H2C 0.8 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json" + }, { "name": "0.24mm Balanced Quality @BBL H2D 0.8 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL H2D 0.8 nozzle.json" @@ -399,6 +9251,10 @@ "name": "0.24mm Balanced Quality @BBL X2D 0.8 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json" }, + { + "name": "0.30mm Standard @BBL H2C 0.6 nozzle", + "sub_path": "process/0.30mm Standard @BBL H2C 0.6 nozzle.json" + }, { "name": "0.30mm Standard @BBL H2D 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL H2D 0.6 nozzle.json" @@ -411,10 +9267,18 @@ "name": "0.30mm Standard @BBL X2D 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL X2D 0.6 nozzle.json" }, + { + "name": "0.32mm Balanced Quality @BBL H2C 0.8 nozzle", + "sub_path": "process/0.32mm Balanced Quality @BBL H2C 0.8 nozzle.json" + }, { "name": "0.32mm Balanced Quality @BBL X2D 0.8 nozzle", "sub_path": "process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json" }, + { + "name": "0.32mm Balanced Strength @BBL H2C 0.8 nozzle", + "sub_path": "process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json" + }, { "name": "0.32mm Balanced Strength @BBL H2D 0.8 nozzle", "sub_path": "process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json" @@ -423,6 +9287,10 @@ "name": "0.32mm Balanced Strength @BBL H2DP 0.8 nozzle", "sub_path": "process/0.32mm Balanced Strength @BBL H2DP 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @BBL H2C 0.8 nozzle", + "sub_path": "process/0.40mm Standard @BBL H2C 0.8 nozzle.json" + }, { "name": "0.40mm Standard @BBL H2D 0.8 nozzle", "sub_path": "process/0.40mm Standard @BBL H2D 0.8 nozzle.json" @@ -491,6 +9359,10 @@ "name": "0.08mm High Quality @BBL A1M", "sub_path": "process/0.08mm High Quality @BBL A1M.json" }, + { + "name": "0.08mm High Quality @BBL A2L", + "sub_path": "process/0.08mm High Quality @BBL A2L.json" + }, { "name": "0.08mm High Quality @BBL H2S", "sub_path": "process/0.08mm High Quality @BBL H2S.json" @@ -515,6 +9387,10 @@ "name": "0.08mm High Quality @BBL A1M 0.2 nozzle", "sub_path": "process/0.08mm High Quality @BBL A1M 0.2 nozzle.json" }, + { + "name": "0.08mm High Quality @BBL A2L 0.2 nozzle", + "sub_path": "process/0.08mm High Quality @BBL A2L 0.2 nozzle.json" + }, { "name": "0.08mm High Quality @BBL H2S 0.2 nozzle", "sub_path": "process/0.08mm High Quality @BBL H2S 0.2 nozzle.json" @@ -571,6 +9447,10 @@ "name": "0.10mm Standard @BBL A1M 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL A1M 0.2 nozzle.json" }, + { + "name": "0.10mm Standard @BBL A2L 0.2 nozzle", + "sub_path": "process/0.10mm Standard @BBL A2L 0.2 nozzle.json" + }, { "name": "0.10mm Standard @BBL H2S 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL H2S 0.2 nozzle.json" @@ -611,6 +9491,10 @@ "name": "0.12mm High Quality @BBL A1M", "sub_path": "process/0.12mm High Quality @BBL A1M.json" }, + { + "name": "0.12mm High Quality @BBL A2L", + "sub_path": "process/0.12mm High Quality @BBL A2L.json" + }, { "name": "0.12mm High Quality @BBL H2S", "sub_path": "process/0.12mm High Quality @BBL H2S.json" @@ -627,6 +9511,10 @@ "name": "0.12mm High Quality @BBL X1C", "sub_path": "process/0.12mm High Quality @BBL X1C.json" }, + { + "name": "0.12mm Balanced Quality @BBL A2L 0.2 nozzle", + "sub_path": "process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json" + }, { "name": "0.12mm Balanced Quality @BBL H2S 0.2 nozzle", "sub_path": "process/0.12mm Balanced Quality @BBL H2S 0.2 nozzle.json" @@ -675,6 +9563,10 @@ "name": "0.16mm High Quality @BBL A1M", "sub_path": "process/0.16mm High Quality @BBL A1M.json" }, + { + "name": "0.16mm High Quality @BBL A2L", + "sub_path": "process/0.16mm High Quality @BBL A2L.json" + }, { "name": "0.16mm High Quality @BBL H2S", "sub_path": "process/0.16mm High Quality @BBL H2S.json" @@ -707,6 +9599,10 @@ "name": "0.16mm Optimal @BBL X1C", "sub_path": "process/0.16mm Optimal @BBL X1C.json" }, + { + "name": "0.16mm Standard @BBL A2L", + "sub_path": "process/0.16mm Standard @BBL A2L.json" + }, { "name": "0.16mm Standard @BBL H2S", "sub_path": "process/0.16mm Standard @BBL H2S.json" @@ -715,6 +9611,10 @@ "name": "0.16mm Standard @BBL P2S", "sub_path": "process/0.16mm Standard @BBL P2S.json" }, + { + "name": "0.18mm Balanced Quality @BBL A2L 0.6 nozzle", + "sub_path": "process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json" + }, { "name": "0.18mm Balanced Quality @BBL H2S 0.6 nozzle", "sub_path": "process/0.18mm Balanced Quality @BBL H2S 0.6 nozzle.json" @@ -739,6 +9639,10 @@ "name": "0.18mm Standard @BBL X1C 0.6 nozzle", "sub_path": "process/0.18mm Standard @BBL X1C 0.6 nozzle.json" }, + { + "name": "0.20mm High Quality @BBL A2L", + "sub_path": "process/0.20mm High Quality @BBL A2L.json" + }, { "name": "0.20mm High Quality @BBL H2S", "sub_path": "process/0.20mm High Quality @BBL H2S.json" @@ -755,6 +9659,10 @@ "name": "0.20mm Standard @BBL A1M", "sub_path": "process/0.20mm Standard @BBL A1M.json" }, + { + "name": "0.20mm Standard @BBL A2L", + "sub_path": "process/0.20mm Standard @BBL A2L.json" + }, { "name": "0.20mm Standard @BBL H2S", "sub_path": "process/0.20mm Standard @BBL H2S.json" @@ -771,6 +9679,10 @@ "name": "0.20mm Standard @BBL X1C", "sub_path": "process/0.20mm Standard @BBL X1C.json" }, + { + "name": "0.20mm Steady @BBL A2L", + "sub_path": "process/0.20mm Steady @BBL A2L.json" + }, { "name": "0.20mm Strength @BBL A1", "sub_path": "process/0.20mm Strength @BBL A1.json" @@ -803,6 +9715,10 @@ "name": "0.24mm Draft @BBL X1C", "sub_path": "process/0.24mm Draft @BBL X1C.json" }, + { + "name": "0.24mm Standard @BBL A2L", + "sub_path": "process/0.24mm Standard @BBL A2L.json" + }, { "name": "0.24mm Standard @BBL H2S", "sub_path": "process/0.24mm Standard @BBL H2S.json" @@ -811,6 +9727,10 @@ "name": "0.24mm Standard @BBL P2S", "sub_path": "process/0.24mm Standard @BBL P2S.json" }, + { + "name": "0.24mm Balanced Quality @BBL A2L 0.6 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json" + }, { "name": "0.24mm Balanced Quality @BBL H2S 0.6 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL H2S 0.6 nozzle.json" @@ -835,6 +9755,10 @@ "name": "0.24mm Standard @BBL X1C 0.6 nozzle", "sub_path": "process/0.24mm Standard @BBL X1C 0.6 nozzle.json" }, + { + "name": "0.24mm Balanced Quality @BBL A2L 0.8 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json" + }, { "name": "0.24mm Balanced Quality @BBL H2S 0.8 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL H2S 0.8 nozzle.json" @@ -883,6 +9807,10 @@ "name": "0.30mm Standard @BBL A1M 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL A1M 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @BBL A2L 0.6 nozzle", + "sub_path": "process/0.30mm Standard @BBL A2L 0.6 nozzle.json" + }, { "name": "0.30mm Standard @BBL H2S 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL H2S 0.6 nozzle.json" @@ -919,6 +9847,10 @@ "name": "0.30mm Strength @BBL X1C 0.6 nozzle", "sub_path": "process/0.30mm Strength @BBL X1C 0.6 nozzle.json" }, + { + "name": "0.32mm Balanced Quality @BBL A2L 0.8 nozzle", + "sub_path": "process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json" + }, { "name": "0.32mm Balanced Quality @BBL H2S 0.8 nozzle", "sub_path": "process/0.32mm Balanced Quality @BBL H2S 0.8 nozzle.json" @@ -967,6 +9899,10 @@ "name": "0.40mm Standard @BBL A1M 0.8 nozzle", "sub_path": "process/0.40mm Standard @BBL A1M 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @BBL A2L 0.8 nozzle", + "sub_path": "process/0.40mm Standard @BBL A2L 0.8 nozzle.json" + }, { "name": "0.40mm Standard @BBL H2S 0.8 nozzle", "sub_path": "process/0.40mm Standard @BBL H2S 0.8 nozzle.json" @@ -1034,10490 +9970,6 @@ { "name": "0.56mm Standard @BBL X1C 0.8 nozzle", "sub_path": "process/0.56mm Standard @BBL X1C 0.8 nozzle.json" - }, - { - "name": "0.08mm High Quality @BBL A2L", - "sub_path": "process/0.08mm High Quality @BBL A2L.json" - }, - { - "name": "0.08mm High Quality @BBL A2L 0.2 nozzle", - "sub_path": "process/0.08mm High Quality @BBL A2L 0.2 nozzle.json" - }, - { - "name": "0.08mm High Quality @BBL H2C", - "sub_path": "process/0.08mm High Quality @BBL H2C.json" - }, - { - "name": "0.08mm High Quality @BBL H2C 0.2 nozzle", - "sub_path": "process/0.08mm High Quality @BBL H2C 0.2 nozzle.json" - }, - { - "name": "0.10mm Standard @BBL A2L 0.2 nozzle", - "sub_path": "process/0.10mm Standard @BBL A2L 0.2 nozzle.json" - }, - { - "name": "0.10mm Standard @BBL H2C 0.2 nozzle", - "sub_path": "process/0.10mm Standard @BBL H2C 0.2 nozzle.json" - }, - { - "name": "0.12mm Balanced Quality @BBL A2L 0.2 nozzle", - "sub_path": "process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json" - }, - { - "name": "0.12mm Balanced Quality @BBL H2C 0.2 nozzle", - "sub_path": "process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json" - }, - { - "name": "0.12mm High Quality @BBL A2L", - "sub_path": "process/0.12mm High Quality @BBL A2L.json" - }, - { - "name": "0.12mm High Quality @BBL H2C", - "sub_path": "process/0.12mm High Quality @BBL H2C.json" - }, - { - "name": "0.16mm High Quality @BBL A2L", - "sub_path": "process/0.16mm High Quality @BBL A2L.json" - }, - { - "name": "0.16mm High Quality @BBL H2C", - "sub_path": "process/0.16mm High Quality @BBL H2C.json" - }, - { - "name": "0.16mm Standard @BBL A2L", - "sub_path": "process/0.16mm Standard @BBL A2L.json" - }, - { - "name": "0.16mm Standard @BBL H2C", - "sub_path": "process/0.16mm Standard @BBL H2C.json" - }, - { - "name": "0.18mm Balanced Quality @BBL A2L 0.6 nozzle", - "sub_path": "process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json" - }, - { - "name": "0.18mm Balanced Quality @BBL H2C 0.6 nozzle", - "sub_path": "process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json" - }, - { - "name": "0.20mm High Quality @BBL A2L", - "sub_path": "process/0.20mm High Quality @BBL A2L.json" - }, - { - "name": "0.20mm High Quality @BBL H2C", - "sub_path": "process/0.20mm High Quality @BBL H2C.json" - }, - { - "name": "0.20mm Standard @BBL A2L", - "sub_path": "process/0.20mm Standard @BBL A2L.json" - }, - { - "name": "0.20mm Standard @BBL H2C", - "sub_path": "process/0.20mm Standard @BBL H2C.json" - }, - { - "name": "0.20mm Steady @BBL A2L", - "sub_path": "process/0.20mm Steady @BBL A2L.json" - }, - { - "name": "0.24mm Balanced Quality @BBL A2L 0.6 nozzle", - "sub_path": "process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json" - }, - { - "name": "0.24mm Balanced Quality @BBL A2L 0.8 nozzle", - "sub_path": "process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json" - }, - { - "name": "0.24mm Balanced Quality @BBL H2C 0.8 nozzle", - "sub_path": "process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json" - }, - { - "name": "0.24mm Balanced Strength @BBL H2C 0.6 nozzle", - "sub_path": "process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json" - }, - { - "name": "0.24mm Standard @BBL A2L", - "sub_path": "process/0.24mm Standard @BBL A2L.json" - }, - { - "name": "0.24mm Standard @BBL H2C", - "sub_path": "process/0.24mm Standard @BBL H2C.json" - }, - { - "name": "0.30mm Standard @BBL A2L 0.6 nozzle", - "sub_path": "process/0.30mm Standard @BBL A2L 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @BBL H2C 0.6 nozzle", - "sub_path": "process/0.30mm Standard @BBL H2C 0.6 nozzle.json" - }, - { - "name": "0.32mm Balanced Quality @BBL A2L 0.8 nozzle", - "sub_path": "process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json" - }, - { - "name": "0.32mm Balanced Strength @BBL H2C 0.8 nozzle", - "sub_path": "process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @BBL A2L 0.8 nozzle", - "sub_path": "process/0.40mm Standard @BBL A2L 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @BBL H2C 0.8 nozzle", - "sub_path": "process/0.40mm Standard @BBL H2C 0.8 nozzle.json" - } - ], - "filament_list": [ - { - "name": "COEX PCTG PRIME @BBL X1C", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL X1C.json" - }, - { - "name": "COEX PCTG PRIME @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX PCTG PRIME @BBL X1C 0.8 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json" - }, - { - "name": "COEX PETG @BBL X1C", - "sub_path": "filament/COEX/COEX PETG @BBL X1C.json" - }, - { - "name": "COEX PETG @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX PETG @BBL X1C 0.8 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL X1C 0.8 nozzle.json" - }, - { - "name": "COEX PLA @BBL A1M", - "sub_path": "filament/COEX/COEX PLA @BBL A1M.json" - }, - { - "name": "COEX PLA @BBL P1P", - "sub_path": "filament/COEX/COEX PLA @BBL P1P.json" - }, - { - "name": "COEX PLA @BBL X1C", - "sub_path": "filament/COEX/COEX PLA @BBL X1C.json" - }, - { - "name": "fdm_filament_common", - "sub_path": "filament/fdm_filament_common.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1M 0.4 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1M.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1M 0.8 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json" - }, - { - "name": "COEX PETG @BBL A1M 0.4 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL A1M.json" - }, - { - "name": "COEX PETG @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX PETG @BBL A1M 0.8 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL A1M 0.8 nozzle.json" - }, - { - "name": "COEX PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "COEX PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "FusRock ABS-GF @base", - "sub_path": "filament/FusRock/FusRock ABS-GF @base.json" - }, - { - "name": "fdm_filament_abs", - "sub_path": "filament/fdm_filament_abs.json" - }, - { - "name": "fdm_filament_asa", - "sub_path": "filament/fdm_filament_asa.json" - }, - { - "name": "fdm_filament_bvoh", - "sub_path": "filament/fdm_filament_bvoh.json" - }, - { - "name": "fdm_filament_eva", - "sub_path": "filament/fdm_filament_eva.json" - }, - { - "name": "fdm_filament_hips", - "sub_path": "filament/fdm_filament_hips.json" - }, - { - "name": "fdm_filament_pa", - "sub_path": "filament/fdm_filament_pa.json" - }, - { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, - { - "name": "fdm_filament_pctg", - "sub_path": "filament/fdm_filament_pctg.json" - }, - { - "name": "fdm_filament_pe", - "sub_path": "filament/fdm_filament_pe.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, - { - "name": "fdm_filament_pha", - "sub_path": "filament/fdm_filament_pha.json" - }, - { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" - }, - { - "name": "fdm_filament_pp", - "sub_path": "filament/fdm_filament_pp.json" - }, - { - "name": "fdm_filament_ppa", - "sub_path": "filament/fdm_filament_ppa.json" - }, - { - "name": "fdm_filament_pps", - "sub_path": "filament/fdm_filament_pps.json" - }, - { - "name": "fdm_filament_pva", - "sub_path": "filament/fdm_filament_pva.json" - }, - { - "name": "fdm_filament_sbs", - "sub_path": "filament/fdm_filament_sbs.json" - }, - { - "name": "fdm_filament_tpu", - "sub_path": "filament/fdm_filament_tpu.json" - }, - { - "name": "FusRock ABS-GF @BBL A1", - "sub_path": "filament/FusRock/FusRock ABS-GF @BBL A1.json" - }, - { - "name": "FusRock ABS-GF @BBL H2D", - "sub_path": "filament/FusRock/FusRock ABS-GF @BBL H2D.json" - }, - { - "name": "FusRock ABS-GF @BBL P1P", - "sub_path": "filament/FusRock/FusRock ABS-GF @BBL P1P.json" - }, - { - "name": "FusRock ABS-GF @BBL X1C", - "sub_path": "filament/FusRock/FusRock ABS-GF @BBL X1C.json" - }, - { - "name": "BETA ABS @base", - "sub_path": "filament/BETA/BETA ABS @base.json" - }, - { - "name": "Bambu ABS @base", - "sub_path": "filament/Bambu ABS @base.json" - }, - { - "name": "Bambu ABS-GF @base", - "sub_path": "filament/Bambu ABS-GF @base.json" - }, - { - "name": "Bambu Support for ABS @base", - "sub_path": "filament/Bambu Support for ABS @base.json" - }, - { - "name": "Generic ABS @base", - "sub_path": "filament/Generic ABS @base.json" - }, - { - "name": "PolyLite ABS @base", - "sub_path": "filament/Polymaker/PolyLite ABS @base.json" - }, - { - "name": "BETA ASA @base", - "sub_path": "filament/BETA/BETA ASA @base.json" - }, - { - "name": "Bambu ASA @base", - "sub_path": "filament/Bambu ASA @base.json" - }, - { - "name": "Bambu ASA-Aero @base", - "sub_path": "filament/Bambu ASA-Aero @base.json" - }, - { - "name": "Bambu ASA-CF @base", - "sub_path": "filament/Bambu ASA-CF @base.json" - }, - { - "name": "Generic ASA @base", - "sub_path": "filament/Generic ASA @base.json" - }, - { - "name": "PolyLite ASA @base", - "sub_path": "filament/Polymaker/PolyLite ASA @base.json" - }, - { - "name": "Generic BVOH @base", - "sub_path": "filament/Generic BVOH @base.json" - }, - { - "name": "Generic EVA @base", - "sub_path": "filament/Generic EVA @base.json" - }, - { - "name": "BETA HIPS @base", - "sub_path": "filament/BETA/BETA HIPS @base.json" - }, - { - "name": "Generic HIPS @base", - "sub_path": "filament/Generic HIPS @base.json" - }, - { - "name": "BETA PAHT-CF @base", - "sub_path": "filament/BETA/BETA PAHT-CF @base.json" - }, - { - "name": "Bambu PA-CF @base", - "sub_path": "filament/Bambu PA-CF @base.json" - }, - { - "name": "Bambu PA6-CF @base", - "sub_path": "filament/Bambu PA6-CF @base.json" - }, - { - "name": "Bambu PA6-GF @base", - "sub_path": "filament/Bambu PA6-GF @base.json" - }, - { - "name": "Bambu PAHT-CF @base", - "sub_path": "filament/Bambu PAHT-CF @base.json" - }, - { - "name": "Bambu Support For PA/PET @base", - "sub_path": "filament/Bambu Support For PA PET @base.json" - }, - { - "name": "Bambu Support G @base", - "sub_path": "filament/Bambu Support G @base.json" - }, - { - "name": "Fiberon PA12-CF @base", - "sub_path": "filament/Polymaker/Fiberon PA12-CF @base.json" - }, - { - "name": "Fiberon PA12-CF10 @base", - "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @base.json" - }, - { - "name": "Fiberon PA6-CF @base", - "sub_path": "filament/Polymaker/Fiberon PA6-CF @base.json" - }, - { - "name": "Fiberon PA6-CF20 @base", - "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @base.json" - }, - { - "name": "Fiberon PA6-GF @base", - "sub_path": "filament/Polymaker/Fiberon PA6-GF @base.json" - }, - { - "name": "Fiberon PA6-GF25 @base", - "sub_path": "filament/Polymaker/Fiberon PA6-GF25 @base.json" - }, - { - "name": "Fiberon PA612-CF @base", - "sub_path": "filament/Polymaker/Fiberon PA612-CF @base.json" - }, - { - "name": "Fiberon PA612-CF15 @base", - "sub_path": "filament/Polymaker/Fiberon PA612-CF15 @base.json" - }, - { - "name": "Generic PA @base", - "sub_path": "filament/Generic PA @base.json" - }, - { - "name": "Generic PA-CF @base", - "sub_path": "filament/Generic PA-CF @base.json" - }, - { - "name": "Bambu PC @base", - "sub_path": "filament/Bambu PC @base.json" - }, - { - "name": "Bambu PC FR @base", - "sub_path": "filament/Bambu PC FR @base.json" - }, - { - "name": "Generic PC @base", - "sub_path": "filament/Generic PC @base.json" - }, - { - "name": "Generic PCTG @base", - "sub_path": "filament/Generic PCTG @base.json" - }, - { - "name": "Generic PE @base", - "sub_path": "filament/Generic PE @base.json" - }, - { - "name": "Generic PE-CF @base", - "sub_path": "filament/Generic PE-CF @base.json" - }, - { - "name": "BETA PETG @base", - "sub_path": "filament/BETA/BETA PETG @base.json" - }, - { - "name": "BETA PETG Fluorescence @base", - "sub_path": "filament/BETA/BETA PETG Fluorescence @base.json" - }, - { - "name": "BETA PETG Glitter @base", - "sub_path": "filament/BETA/BETA PETG Glitter @base.json" - }, - { - "name": "BETA PETG Glow @base", - "sub_path": "filament/BETA/BETA PETG Glow @base.json" - }, - { - "name": "BETA PETG Gradient @base", - "sub_path": "filament/BETA/BETA PETG Gradient @base.json" - }, - { - "name": "BETA PETG HF @base", - "sub_path": "filament/BETA/BETA PETG HF @base.json" - }, - { - "name": "BETA PETG Heat Color Change @base", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @base.json" - }, - { - "name": "BETA PETG Marble @base", - "sub_path": "filament/BETA/BETA PETG Marble @base.json" - }, - { - "name": "BETA PETG Matte @base", - "sub_path": "filament/BETA/BETA PETG Matte @base.json" - }, - { - "name": "BETA PETG Metallic @base", - "sub_path": "filament/BETA/BETA PETG Metallic @base.json" - }, - { - "name": "BETA PETG Transparent @base", - "sub_path": "filament/BETA/BETA PETG Transparent @base.json" - }, - { - "name": "BETA PETG UV Color Change @base", - "sub_path": "filament/BETA/BETA PETG UV Color Change @base.json" - }, - { - "name": "BETA PETG-CF @base", - "sub_path": "filament/BETA/BETA PETG-CF @base.json" - }, - { - "name": "BETA PETG-GF @base", - "sub_path": "filament/BETA/BETA PETG-GF @base.json" - }, - { - "name": "Bambu PET-CF @base", - "sub_path": "filament/Bambu PET-CF @base.json" - }, - { - "name": "Bambu PETG Basic @base", - "sub_path": "filament/Bambu PETG Basic @base.json" - }, - { - "name": "Bambu PETG HF @base", - "sub_path": "filament/Bambu PETG HF @base.json" - }, - { - "name": "Bambu PETG Translucent @base", - "sub_path": "filament/Bambu PETG Translucent @base.json" - }, - { - "name": "Bambu PETG-CF @base", - "sub_path": "filament/Bambu PETG-CF @base.json" - }, - { - "name": "Fiberon PET-CF @base", - "sub_path": "filament/Polymaker/Fiberon PET-CF @base.json" - }, - { - "name": "Fiberon PET-CF17 @base", - "sub_path": "filament/Polymaker/Fiberon PET-CF17 @base.json" - }, - { - "name": "Fiberon PETG-ESD @base", - "sub_path": "filament/Polymaker/Fiberon PETG-ESD @base.json" - }, - { - "name": "Fiberon PETG-rCF @base", - "sub_path": "filament/Polymaker/Fiberon PETG-rCF @base.json" - }, - { - "name": "Fiberon PETG-rCF08 @base", - "sub_path": "filament/Polymaker/Fiberon PETG-rCF08 @base.json" - }, - { - "name": "Generic PETG @base", - "sub_path": "filament/Generic PETG @base.json" - }, - { - "name": "Generic PETG HF @base", - "sub_path": "filament/Generic PETG HF @base.json" - }, - { - "name": "Generic PETG-CF @base", - "sub_path": "filament/Generic PETG-CF @base.json" - }, - { - "name": "PolyLite PETG @base", - "sub_path": "filament/Polymaker/PolyLite PETG @base.json" - }, - { - "name": "SUNLU PETG @base", - "sub_path": "filament/SUNLU/SUNLU PETG @base.json" - }, - { - "name": "Generic PHA @base", - "sub_path": "filament/Generic PHA @base.json" - }, - { - "name": "BETA PLA Basic @base", - "sub_path": "filament/BETA/BETA PLA Basic @base.json" - }, - { - "name": "BETA PLA Chameleon @base", - "sub_path": "filament/BETA/BETA PLA Chameleon @base.json" - }, - { - "name": "BETA PLA Fluorescence @base", - "sub_path": "filament/BETA/BETA PLA Fluorescence @base.json" - }, - { - "name": "BETA PLA Glitter @base", - "sub_path": "filament/BETA/BETA PLA Glitter @base.json" - }, - { - "name": "BETA PLA Glow @base", - "sub_path": "filament/BETA/BETA PLA Glow @base.json" - }, - { - "name": "BETA PLA Gradient @base", - "sub_path": "filament/BETA/BETA PLA Gradient @base.json" - }, - { - "name": "BETA PLA Heat Color Change @base", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @base.json" - }, - { - "name": "BETA PLA High Speed @base", - "sub_path": "filament/BETA/BETA PLA High Speed @base.json" - }, - { - "name": "BETA PLA High Temp @base", - "sub_path": "filament/BETA/BETA PLA High Temp @base.json" - }, - { - "name": "BETA PLA Marble @base", - "sub_path": "filament/BETA/BETA PLA Marble @base.json" - }, - { - "name": "BETA PLA Matte @base", - "sub_path": "filament/BETA/BETA PLA Matte @base.json" - }, - { - "name": "BETA PLA Metal @base", - "sub_path": "filament/BETA/BETA PLA Metal @base.json" - }, - { - "name": "BETA PLA Metallic @base", - "sub_path": "filament/BETA/BETA PLA Metallic @base.json" - }, - { - "name": "BETA PLA PRO @base", - "sub_path": "filament/BETA/BETA PLA PRO @base.json" - }, - { - "name": "BETA PLA Silk @base", - "sub_path": "filament/BETA/BETA PLA Silk @base.json" - }, - { - "name": "BETA PLA Silk+ @base", - "sub_path": "filament/BETA/BETA PLA Silk+ @base.json" - }, - { - "name": "BETA PLA Transparent @base", - "sub_path": "filament/BETA/BETA PLA Transparent @base.json" - }, - { - "name": "BETA PLA UV Color Change @base", - "sub_path": "filament/BETA/BETA PLA UV Color Change @base.json" - }, - { - "name": "BETA PLA Wood @base", - "sub_path": "filament/BETA/BETA PLA Wood @base.json" - }, - { - "name": "BETA PLA Youth @base", - "sub_path": "filament/BETA/BETA PLA Youth @base.json" - }, - { - "name": "BETA PLA-CF @base", - "sub_path": "filament/BETA/BETA PLA-CF @base.json" - }, - { - "name": "Bambu PLA Aero @base", - "sub_path": "filament/Bambu PLA Aero @base.json" - }, - { - "name": "Bambu PLA Basic @base", - "sub_path": "filament/Bambu PLA Basic @base.json" - }, - { - "name": "Bambu PLA Dynamic @base", - "sub_path": "filament/Bambu PLA Dynamic @base.json" - }, - { - "name": "Bambu PLA Galaxy @base", - "sub_path": "filament/Bambu PLA Galaxy @base.json" - }, - { - "name": "Bambu PLA Glow @base", - "sub_path": "filament/Bambu PLA Glow @base.json" - }, - { - "name": "Bambu PLA Lite @base", - "sub_path": "filament/Bambu PLA Lite @base.json" - }, - { - "name": "Bambu PLA Marble @base", - "sub_path": "filament/Bambu PLA Marble @base.json" - }, - { - "name": "Bambu PLA Matte @base", - "sub_path": "filament/Bambu PLA Matte @base.json" - }, - { - "name": "Bambu PLA Metal @base", - "sub_path": "filament/Bambu PLA Metal @base.json" - }, - { - "name": "Bambu PLA Silk @base", - "sub_path": "filament/Bambu PLA Silk @base.json" - }, - { - "name": "Bambu PLA Silk+ @base", - "sub_path": "filament/Bambu PLA Silk+ @base.json" - }, - { - "name": "Bambu PLA Sparkle @base", - "sub_path": "filament/Bambu PLA Sparkle @base.json" - }, - { - "name": "Bambu PLA Tough @base", - "sub_path": "filament/Bambu PLA Tough @base.json" - }, - { - "name": "Bambu PLA Tough+ @base", - "sub_path": "filament/Bambu PLA Tough+ @base.json" - }, - { - "name": "Bambu PLA Translucent @base", - "sub_path": "filament/Bambu PLA Translucent @base.json" - }, - { - "name": "Bambu PLA Wood @base", - "sub_path": "filament/Bambu PLA Wood @base.json" - }, - { - "name": "Bambu PLA-CF @base", - "sub_path": "filament/Bambu PLA-CF @base.json" - }, - { - "name": "Bambu Support For PLA @base", - "sub_path": "filament/Bambu Support For PLA @base.json" - }, - { - "name": "Bambu Support For PLA/PETG @base", - "sub_path": "filament/Bambu Support For PLA-PETG @base.json" - }, - { - "name": "Bambu Support W @base", - "sub_path": "filament/Bambu Support W @base.json" - }, - { - "name": "Generic PLA @base", - "sub_path": "filament/Generic PLA @base.json" - }, - { - "name": "Generic PLA High Speed @base", - "sub_path": "filament/Generic PLA High Speed @base.json" - }, - { - "name": "Generic PLA Silk @base", - "sub_path": "filament/Generic PLA Silk @base.json" - }, - { - "name": "Generic PLA-CF @base", - "sub_path": "filament/Generic PLA-CF @base.json" - }, - { - "name": "Numakers PLA+ @base", - "sub_path": "filament/Numakers/Numakers PLA+ @base.json" - }, - { - "name": "Overture Matte PLA @base", - "sub_path": "filament/Overture/Overture Matte PLA @base.json" - }, - { - "name": "Overture PLA @base", - "sub_path": "filament/Overture/Overture PLA @base.json" - }, - { - "name": "Overture PLA Pro @base", - "sub_path": "filament/Overture/Overture PLA Pro @base.json" - }, - { - "name": "Panchroma CoPE @base", - "sub_path": "filament/Polymaker/Panchroma CoPE @base.json" - }, - { - "name": "Panchroma PLA @base", - "sub_path": "filament/Polymaker/Panchroma PLA @base.json" - }, - { - "name": "Panchroma PLA Celestial @base", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @base.json" - }, - { - "name": "Panchroma PLA Galaxy @base", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @base.json" - }, - { - "name": "Panchroma PLA Glow @base", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @base.json" - }, - { - "name": "Panchroma PLA Luminous @base", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @base.json" - }, - { - "name": "Panchroma PLA Marble @base", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @base.json" - }, - { - "name": "Panchroma PLA Matte @base", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @base.json" - }, - { - "name": "Panchroma PLA Metallic @base", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @base.json" - }, - { - "name": "Panchroma PLA Neon @base", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @base.json" - }, - { - "name": "Panchroma PLA Satin @base", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @base.json" - }, - { - "name": "Panchroma PLA Silk @base", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @base.json" - }, - { - "name": "Panchroma PLA Starlight @base", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @base.json" - }, - { - "name": "Panchroma PLA Temp Shift @base", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @base.json" - }, - { - "name": "Panchroma PLA Translucent @base", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @base.json" - }, - { - "name": "Panchroma PLA UV Shift @base", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @base.json" - }, - { - "name": "PolyLite CosPLA @base", - "sub_path": "filament/Polymaker/PolyLite CosPLA @base.json" - }, - { - "name": "PolyLite PLA @base", - "sub_path": "filament/Polymaker/PolyLite PLA @base.json" - }, - { - "name": "PolyLite PLA Galaxy @base", - "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @base.json" - }, - { - "name": "PolyLite PLA Glow @base", - "sub_path": "filament/Polymaker/PolyLite PLA Glow @base.json" - }, - { - "name": "PolyLite PLA Luminous @base", - "sub_path": "filament/Polymaker/PolyLite PLA Luminous @base.json" - }, - { - "name": "PolyLite PLA Neon @base", - "sub_path": "filament/Polymaker/PolyLite PLA Neon @base.json" - }, - { - "name": "PolyLite PLA Pro @base", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @base.json" - }, - { - "name": "PolyLite PLA Starlight @base", - "sub_path": "filament/Polymaker/PolyLite PLA Starlight @base.json" - }, - { - "name": "PolyLite PLA Translucent @base", - "sub_path": "filament/Polymaker/PolyLite PLA Translucent @base.json" - }, - { - "name": "PolyTerra PLA @base", - "sub_path": "filament/Polymaker/PolyTerra PLA @base.json" - }, - { - "name": "PolyTerra PLA Marble @base", - "sub_path": "filament/Polymaker/PolyTerra PLA Marble @base.json" - }, - { - "name": "PolyTerra PLA+ @base", - "sub_path": "filament/Polymaker/PolyTerra PLA+ @base.json" - }, - { - "name": "Polymaker HT-PLA @base", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @base.json" - }, - { - "name": "Polymaker HT-PLA-GF @base", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @base.json" - }, - { - "name": "SUNLU PLA Marble @base", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @base.json" - }, - { - "name": "SUNLU PLA Matte @base", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @base.json" - }, - { - "name": "SUNLU PLA+ 2.0 @base", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @base.json" - }, - { - "name": "SUNLU PLA+ @base", - "sub_path": "filament/SUNLU/SUNLU PLA+ @base.json" - }, - { - "name": "SUNLU Silk PLA+ @base", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @base.json" - }, - { - "name": "SUNLU Wood PLA @base", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @base.json" - }, - { - "name": "eSUN PLA+ @base", - "sub_path": "filament/eSUN/eSUN PLA+ @base.json" - }, - { - "name": "Generic PP @base", - "sub_path": "filament/Generic PP @base.json" - }, - { - "name": "Generic PP-CF @base", - "sub_path": "filament/Generic PP-CF @base.json" - }, - { - "name": "Generic PP-GF @base", - "sub_path": "filament/Generic PP-GF @base.json" - }, - { - "name": "Bambu PPA-CF @base", - "sub_path": "filament/Bambu PPA-CF @base.json" - }, - { - "name": "Generic PPA-CF @base", - "sub_path": "filament/Generic PPA-CF @base.json" - }, - { - "name": "Generic PPA-GF @base", - "sub_path": "filament/Generic PPA-GF @base.json" - }, - { - "name": "Bambu PPS-CF @base", - "sub_path": "filament/Bambu PPS-CF @base.json" - }, - { - "name": "Generic PPS @base", - "sub_path": "filament/Generic PPS @base.json" - }, - { - "name": "Generic PPS-CF @base", - "sub_path": "filament/Generic PPS-CF @base.json" - }, - { - "name": "Bambu PVA @base", - "sub_path": "filament/Bambu PVA @base.json" - }, - { - "name": "Generic PVA @base", - "sub_path": "filament/Generic PVA @base.json" - }, - { - "name": "Generic SBS @base", - "sub_path": "filament/Generic SBS @base.json" - }, - { - "name": "BETA PEBA 90A @base", - "sub_path": "filament/BETA/BETA PEBA 90A @base.json" - }, - { - "name": "BETA TPU 90A @base", - "sub_path": "filament/BETA/BETA TPU 90A @base.json" - }, - { - "name": "BETA TPU 95A @base", - "sub_path": "filament/BETA/BETA TPU 95A @base.json" - }, - { - "name": "BETA TPU 98A @base", - "sub_path": "filament/BETA/BETA TPU 98A @base.json" - }, - { - "name": "BETA TPU Matte @base", - "sub_path": "filament/BETA/BETA TPU Matte @base.json" - }, - { - "name": "Bambu TPU 85A @base", - "sub_path": "filament/Bambu TPU 85A @base.json" - }, - { - "name": "Bambu TPU 90A @base", - "sub_path": "filament/Bambu TPU 90A @base.json" - }, - { - "name": "Bambu TPU 95A @base", - "sub_path": "filament/Bambu TPU 95A @base.json" - }, - { - "name": "Bambu TPU 95A HF @base", - "sub_path": "filament/Bambu TPU 95A HF @base.json" - }, - { - "name": "Bambu TPU for AMS @base", - "sub_path": "filament/Bambu TPU for AMS @base.json" - }, - { - "name": "Generic TPU @base", - "sub_path": "filament/Generic TPU @base.json" - }, - { - "name": "Generic TPU for AMS @base", - "sub_path": "filament/Generic TPU for AMS @base.json" - }, - { - "name": "BETA ABS @BBL A1", - "sub_path": "filament/BETA/BETA ABS @BBL A1.json" - }, - { - "name": "BETA ABS @BBL H2D", - "sub_path": "filament/BETA/BETA ABS @BBL H2D.json" - }, - { - "name": "BETA ABS @BBL P1P", - "sub_path": "filament/BETA/BETA ABS @BBL P1P.json" - }, - { - "name": "BETA ABS @BBL X1C", - "sub_path": "filament/BETA/BETA ABS @BBL X1C.json" - }, - { - "name": "Bambu ABS @BBL A1", - "sub_path": "filament/Bambu ABS @BBL A1.json" - }, - { - "name": "Bambu ABS @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2D", - "sub_path": "filament/Bambu ABS @BBL H2D.json" - }, - { - "name": "Bambu ABS @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2DP", - "sub_path": "filament/Bambu ABS @BBL H2DP.json" - }, - { - "name": "Bambu ABS @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2S", - "sub_path": "filament/Bambu ABS @BBL H2S.json" - }, - { - "name": "Bambu ABS @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL P1P", - "sub_path": "filament/P1P/Bambu ABS @BBL P1P.json" - }, - { - "name": "Bambu ABS @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL P2S", - "sub_path": "filament/Bambu ABS @BBL P2S.json" - }, - { - "name": "Bambu ABS @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu ABS @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X1C", - "sub_path": "filament/Bambu ABS @BBL X1C.json" - }, - { - "name": "Bambu ABS @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X1E", - "sub_path": "filament/Bambu ABS @BBL X1E.json" - }, - { - "name": "Bambu ABS @BBL X1E 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X1E 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL X1E 0.8 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X2D", - "sub_path": "filament/Bambu ABS @BBL X2D.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu ABS-GF @BBL A1", - "sub_path": "filament/Bambu ABS-GF @BBL A1.json" - }, - { - "name": "Bambu ABS-GF @BBL H2D", - "sub_path": "filament/Bambu ABS-GF @BBL H2D.json" - }, - { - "name": "Bambu ABS-GF @BBL H2DP", - "sub_path": "filament/Bambu ABS-GF @BBL H2DP.json" - }, - { - "name": "Bambu ABS-GF @BBL H2S", - "sub_path": "filament/Bambu ABS-GF @BBL H2S.json" - }, - { - "name": "Bambu ABS-GF @BBL P1P", - "sub_path": "filament/Bambu ABS-GF @BBL P1P.json" - }, - { - "name": "Bambu ABS-GF @BBL P2S", - "sub_path": "filament/Bambu ABS-GF @BBL P2S.json" - }, - { - "name": "Bambu ABS-GF @BBL X1C", - "sub_path": "filament/Bambu ABS-GF @BBL X1C.json" - }, - { - "name": "Bambu ABS-GF @BBL X2D", - "sub_path": "filament/Bambu ABS-GF @BBL X2D.json" - }, - { - "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support for ABS @BBL A1", - "sub_path": "filament/Bambu Support for ABS @BBL A1.json" - }, - { - "name": "Bambu Support for ABS @BBL H2D", - "sub_path": "filament/Bambu Support for ABS @BBL H2D.json" - }, - { - "name": "Bambu Support for ABS @BBL H2DP", - "sub_path": "filament/Bambu Support for ABS @BBL H2DP.json" - }, - { - "name": "Bambu Support for ABS @BBL H2S", - "sub_path": "filament/Bambu Support for ABS @BBL H2S.json" - }, - { - "name": "Bambu Support for ABS @BBL P2S", - "sub_path": "filament/Bambu Support for ABS @BBL P2S.json" - }, - { - "name": "Bambu Support for ABS @BBL X1C", - "sub_path": "filament/Bambu Support for ABS @BBL X1C.json" - }, - { - "name": "Bambu Support for ABS @BBL X2D", - "sub_path": "filament/Bambu Support for ABS @BBL X2D.json" - }, - { - "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic ABS", - "sub_path": "filament/Generic ABS.json" - }, - { - "name": "Generic ABS @0.2 nozzle", - "sub_path": "filament/Generic ABS @0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL A1", - "sub_path": "filament/Generic ABS @BBL A1.json" - }, - { - "name": "Generic ABS @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2D", - "sub_path": "filament/Generic ABS @BBL H2D.json" - }, - { - "name": "Generic ABS @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic ABS @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic ABS @BBL P1P", - "sub_path": "filament/P1P/Generic ABS @BBL P1P.json" - }, - { - "name": "Generic ABS @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL P2S", - "sub_path": "filament/Generic ABS @BBL P2S.json" - }, - { - "name": "Generic ABS @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL X2D", - "sub_path": "filament/Generic ABS @BBL X2D.json" - }, - { - "name": "Generic ABS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth ABS rABS", - "sub_path": "filament/addnorth/addnorth ABS rABS.json" - }, - { - "name": "PolyLite ABS @BBL A1", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL A1.json" - }, - { - "name": "PolyLite ABS @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @BBL H2D", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL H2D.json" - }, - { - "name": "PolyLite ABS @BBL H2D 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL H2D 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @BBL H2DP", - "sub_path": "filament/PolyLite ABS @BBL H2DP.json" - }, - { - "name": "PolyLite ABS @BBL H2DP 0.2 nozzle", - "sub_path": "filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL P1P.json" - }, - { - "name": "PolyLite ABS @BBL X1C", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL X1C.json" - }, - { - "name": "PolyLite ABS @BBL X1E", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL X1E.json" - }, - { - "name": "PolyLite ABS @BBL X1E 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL X1E 0.2 nozzle.json" - }, - { - "name": "BETA ASA @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA ASA @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA ASA @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL A1 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL A1 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL A1 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL A1 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2S", - "sub_path": "filament/Bambu ASA @BBL H2S.json" - }, - { - "name": "Bambu ASA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu ASA @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu ASA @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1C", - "sub_path": "filament/Bambu ASA @BBL X1C.json" - }, - { - "name": "Bambu ASA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1C 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1C 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1E", - "sub_path": "filament/Bambu ASA @BBL X1E.json" - }, - { - "name": "Bambu ASA @BBL X1E 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X1E 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL X1E 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X2D", - "sub_path": "filament/Bambu ASA @BBL X2D.json" - }, - { - "name": "Bambu ASA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-Aero @BBL A1", - "sub_path": "filament/Bambu ASA-Aero @BBL A1.json" - }, - { - "name": "Bambu ASA-Aero @BBL H2D", - "sub_path": "filament/Bambu ASA-Aero @BBL H2D.json" - }, - { - "name": "Bambu ASA-Aero @BBL H2DP", - "sub_path": "filament/Bambu ASA-Aero @BBL H2DP.json" - }, - { - "name": "Bambu ASA-Aero @BBL H2S", - "sub_path": "filament/Bambu ASA-Aero @BBL H2S.json" - }, - { - "name": "Bambu ASA-Aero @BBL P1P", - "sub_path": "filament/Bambu ASA-Aero @BBL P1P.json" - }, - { - "name": "Bambu ASA-Aero @BBL P2S", - "sub_path": "filament/Bambu ASA-Aero @BBL P2S.json" - }, - { - "name": "Bambu ASA-Aero @BBL X1C", - "sub_path": "filament/Bambu ASA-Aero @BBL X1C.json" - }, - { - "name": "Bambu ASA-Aero @BBL X2D", - "sub_path": "filament/Bambu ASA-Aero @BBL X2D.json" - }, - { - "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL A1", - "sub_path": "filament/Bambu ASA-CF @BBL A1.json" - }, - { - "name": "Bambu ASA-CF @BBL A1 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2S", - "sub_path": "filament/Bambu ASA-CF @BBL H2S.json" - }, - { - "name": "Bambu ASA-CF @BBL P1P", - "sub_path": "filament/Bambu ASA-CF @BBL P1P.json" - }, - { - "name": "Bambu ASA-CF @BBL P1P 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL X1C", - "sub_path": "filament/Bambu ASA-CF @BBL X1C.json" - }, - { - "name": "Bambu ASA-CF @BBL X1C 0.6 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL X2D", - "sub_path": "filament/Bambu ASA-CF @BBL X2D.json" - }, - { - "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic ASA", - "sub_path": "filament/Generic ASA.json" - }, - { - "name": "Generic ASA @0.2 nozzle", - "sub_path": "filament/Generic ASA @0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL A1", - "sub_path": "filament/Generic ASA @BBL A1.json" - }, - { - "name": "Generic ASA @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2D", - "sub_path": "filament/Generic ASA @BBL H2D.json" - }, - { - "name": "Generic ASA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic ASA @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic ASA @BBL P1P", - "sub_path": "filament/P1P/Generic ASA @BBL P1P.json" - }, - { - "name": "Generic ASA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL P2S", - "sub_path": "filament/Generic ASA @BBL P2S.json" - }, - { - "name": "Generic ASA @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL X2D", - "sub_path": "filament/Generic ASA @BBL X2D.json" - }, - { - "name": "Generic ASA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic ASA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL A1", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL A1.json" - }, - { - "name": "PolyLite ASA @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL H2D", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL H2D.json" - }, - { - "name": "PolyLite ASA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL H2DP", - "sub_path": "filament/PolyLite ASA @BBL H2DP.json" - }, - { - "name": "PolyLite ASA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL P1P.json" - }, - { - "name": "PolyLite ASA @BBL X1C", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL X1C.json" - }, - { - "name": "PolyLite ASA @BBL X1E", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL X1E.json" - }, - { - "name": "Generic BVOH @BBL A1", - "sub_path": "filament/Generic BVOH @BBL A1.json" - }, - { - "name": "Generic BVOH @BBL A1M", - "sub_path": "filament/Generic BVOH @BBL A1M.json" - }, - { - "name": "Generic BVOH @BBL H2D", - "sub_path": "filament/Generic BVOH @BBL H2D.json" - }, - { - "name": "Generic BVOH @BBL H2DP", - "sub_path": "filament/Generic BVOH @BBL H2DP.json" - }, - { - "name": "Generic BVOH @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic BVOH @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic BVOH @BBL P2S", - "sub_path": "filament/Generic BVOH @BBL P2S.json" - }, - { - "name": "Generic BVOH @BBL X1C", - "sub_path": "filament/Generic BVOH @BBL X1C.json" - }, - { - "name": "Generic BVOH @BBL X2D", - "sub_path": "filament/Generic BVOH @BBL X2D.json" - }, - { - "name": "Generic BVOH @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic BVOH @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic EVA @BBL A1", - "sub_path": "filament/Generic EVA @BBL A1.json" - }, - { - "name": "Generic EVA @BBL A1M", - "sub_path": "filament/Generic EVA @BBL A1M.json" - }, - { - "name": "Generic EVA @BBL H2D", - "sub_path": "filament/Generic EVA @BBL H2D.json" - }, - { - "name": "Generic EVA @BBL H2DP", - "sub_path": "filament/Generic EVA @BBL H2DP.json" - }, - { - "name": "Generic EVA @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic EVA @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic EVA @BBL P2S", - "sub_path": "filament/Generic EVA @BBL P2S.json" - }, - { - "name": "Generic EVA @BBL X1C", - "sub_path": "filament/Generic EVA @BBL X1C.json" - }, - { - "name": "Generic EVA @BBL X2D", - "sub_path": "filament/Generic EVA @BBL X2D.json" - }, - { - "name": "Generic EVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic EVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "BETA HIPS @BBL H2D", - "sub_path": "filament/BETA/BETA HIPS @BBL H2D.json" - }, - { - "name": "BETA HIPS @BBL X1C", - "sub_path": "filament/BETA/BETA HIPS @BBL X1C.json" - }, - { - "name": "Generic HIPS @BBL A1", - "sub_path": "filament/Generic HIPS @BBL A1.json" - }, - { - "name": "Generic HIPS @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL A1M", - "sub_path": "filament/Generic HIPS @BBL A1M.json" - }, - { - "name": "Generic HIPS @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2D", - "sub_path": "filament/Generic HIPS @BBL H2D.json" - }, - { - "name": "Generic HIPS @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2DP", - "sub_path": "filament/Generic HIPS @BBL H2DP.json" - }, - { - "name": "Generic HIPS @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic HIPS @BBL P2S", - "sub_path": "filament/Generic HIPS @BBL P2S.json" - }, - { - "name": "Generic HIPS @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL X1C", - "sub_path": "filament/Generic HIPS @BBL X1C.json" - }, - { - "name": "Generic HIPS @BBL X1C 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL X2D", - "sub_path": "filament/Generic HIPS @BBL X2D.json" - }, - { - "name": "Generic HIPS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic HIPS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "BETA PAHT-CF @BBL H2D", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL H2D.json" - }, - { - "name": "BETA PAHT-CF @BBL P1P", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL P1P.json" - }, - { - "name": "BETA PAHT-CF @BBL X1C", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL X1C.json" - }, - { - "name": "Bambu PA-CF @BBL A1", - "sub_path": "filament/Bambu PA-CF @BBL A1.json" - }, - { - "name": "Bambu PA-CF @BBL H2D", - "sub_path": "filament/Bambu PA-CF @BBL H2D.json" - }, - { - "name": "Bambu PA-CF @BBL H2DP", - "sub_path": "filament/Bambu PA-CF @BBL H2DP.json" - }, - { - "name": "Bambu PA-CF @BBL H2S", - "sub_path": "filament/Bambu PA-CF @BBL H2S.json" - }, - { - "name": "Bambu PA-CF @BBL P1P", - "sub_path": "filament/P1P/Bambu PA-CF @BBL P1P.json" - }, - { - "name": "Bambu PA-CF @BBL P2S", - "sub_path": "filament/Bambu PA-CF @BBL P2S.json" - }, - { - "name": "Bambu PA-CF @BBL X1C", - "sub_path": "filament/Bambu PA-CF @BBL X1C.json" - }, - { - "name": "Bambu PA-CF @BBL X1E", - "sub_path": "filament/Bambu PA-CF @BBL X1E.json" - }, - { - "name": "Bambu PA-CF @BBL X2D", - "sub_path": "filament/Bambu PA-CF @BBL X2D.json" - }, - { - "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-CF @BBL A1", - "sub_path": "filament/Bambu PA6-CF @BBL A1.json" - }, - { - "name": "Bambu PA6-CF @BBL H2D", - "sub_path": "filament/Bambu PA6-CF @BBL H2D.json" - }, - { - "name": "Bambu PA6-CF @BBL H2DP", - "sub_path": "filament/Bambu PA6-CF @BBL H2DP.json" - }, - { - "name": "Bambu PA6-CF @BBL H2S", - "sub_path": "filament/Bambu PA6-CF @BBL H2S.json" - }, - { - "name": "Bambu PA6-CF @BBL P2S", - "sub_path": "filament/Bambu PA6-CF @BBL P2S.json" - }, - { - "name": "Bambu PA6-CF @BBL X1C", - "sub_path": "filament/Bambu PA6-CF @BBL X1C.json" - }, - { - "name": "Bambu PA6-CF @BBL X1E", - "sub_path": "filament/Bambu PA6-CF @BBL X1E.json" - }, - { - "name": "Bambu PA6-CF @BBL X2D", - "sub_path": "filament/Bambu PA6-CF @BBL X2D.json" - }, - { - "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-GF @BBL A1", - "sub_path": "filament/Bambu PA6-GF @BBL A1.json" - }, - { - "name": "Bambu PA6-GF @BBL H2D", - "sub_path": "filament/Bambu PA6-GF @BBL H2D.json" - }, - { - "name": "Bambu PA6-GF @BBL H2DP", - "sub_path": "filament/Bambu PA6-GF @BBL H2DP.json" - }, - { - "name": "Bambu PA6-GF @BBL H2S", - "sub_path": "filament/Bambu PA6-GF @BBL H2S.json" - }, - { - "name": "Bambu PA6-GF @BBL P1P", - "sub_path": "filament/Bambu PA6-GF @BBL P1P.json" - }, - { - "name": "Bambu PA6-GF @BBL P2S", - "sub_path": "filament/Bambu PA6-GF @BBL P2S.json" - }, - { - "name": "Bambu PA6-GF @BBL X1C", - "sub_path": "filament/Bambu PA6-GF @BBL X1C.json" - }, - { - "name": "Bambu PA6-GF @BBL X2D", - "sub_path": "filament/Bambu PA6-GF @BBL X2D.json" - }, - { - "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PAHT-CF @BBL A1", - "sub_path": "filament/Bambu PAHT-CF @BBL A1.json" - }, - { - "name": "Bambu PAHT-CF @BBL H2D", - "sub_path": "filament/Bambu PAHT-CF @BBL H2D.json" - }, - { - "name": "Bambu PAHT-CF @BBL H2DP", - "sub_path": "filament/Bambu PAHT-CF @BBL H2DP.json" - }, - { - "name": "Bambu PAHT-CF @BBL H2S", - "sub_path": "filament/Bambu PAHT-CF @BBL H2S.json" - }, - { - "name": "Bambu PAHT-CF @BBL P1P", - "sub_path": "filament/P1P/Bambu PAHT-CF @BBL P1P.json" - }, - { - "name": "Bambu PAHT-CF @BBL P2S", - "sub_path": "filament/Bambu PAHT-CF @BBL P2S.json" - }, - { - "name": "Bambu PAHT-CF @BBL X1C", - "sub_path": "filament/Bambu PAHT-CF @BBL X1C.json" - }, - { - "name": "Bambu PAHT-CF @BBL X2D", - "sub_path": "filament/Bambu PAHT-CF @BBL X2D.json" - }, - { - "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PA/PET @BBL A1", - "sub_path": "filament/Bambu Support For PA PET @BBL A1.json" - }, - { - "name": "Bambu Support For PA/PET @BBL H2D", - "sub_path": "filament/Bambu Support For PA PET @BBL H2D.json" - }, - { - "name": "Bambu Support For PA/PET @BBL H2DP", - "sub_path": "filament/Bambu Support For PA PET @BBL H2DP.json" - }, - { - "name": "Bambu Support For PA/PET @BBL H2S", - "sub_path": "filament/Bambu Support For PA PET @BBL H2S.json" - }, - { - "name": "Bambu Support For PA/PET @BBL P1P", - "sub_path": "filament/P1P/Bambu Support For PA PET @BBL P1P.json" - }, - { - "name": "Bambu Support For PA/PET @BBL P2S", - "sub_path": "filament/Bambu Support For PA PET @BBL P2S.json" - }, - { - "name": "Bambu Support For PA/PET @BBL X1C", - "sub_path": "filament/Bambu Support For PA PET @BBL X1C.json" - }, - { - "name": "Bambu Support For PA/PET @BBL X2D", - "sub_path": "filament/Bambu Support For PA PET @BBL X2D.json" - }, - { - "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support G @BBL A1", - "sub_path": "filament/Bambu Support G @BBL A1.json" - }, - { - "name": "Bambu Support G @BBL H2D", - "sub_path": "filament/Bambu Support G @BBL H2D.json" - }, - { - "name": "Bambu Support G @BBL H2DP", - "sub_path": "filament/Bambu Support G @BBL H2DP.json" - }, - { - "name": "Bambu Support G @BBL H2S", - "sub_path": "filament/Bambu Support G @BBL H2S.json" - }, - { - "name": "Bambu Support G @BBL P1P", - "sub_path": "filament/P1P/Bambu Support G @BBL P1P.json" - }, - { - "name": "Bambu Support G @BBL P2S", - "sub_path": "filament/Bambu Support G @BBL P2S.json" - }, - { - "name": "Bambu Support G @BBL X1C", - "sub_path": "filament/Bambu Support G @BBL X1C.json" - }, - { - "name": "Bambu Support G @BBL X1E", - "sub_path": "filament/Bambu Support G @BBL X1E.json" - }, - { - "name": "Bambu Support G @BBL X2D", - "sub_path": "filament/Bambu Support G @BBL X2D.json" - }, - { - "name": "Bambu Support G @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support G @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Fiberon PA12-CF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL H2D.json" - }, - { - "name": "Fiberon PA12-CF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL X1C.json" - }, - { - "name": "Fiberon PA12-CF10 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json" - }, - { - "name": "Fiberon PA6-CF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL H2D.json" - }, - { - "name": "Fiberon PA6-CF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL X1C.json" - }, - { - "name": "Fiberon PA6-CF20 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json" - }, - { - "name": "Fiberon PA6-GF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL H2D.json" - }, - { - "name": "Fiberon PA6-GF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL X1C.json" - }, - { - "name": "Fiberon PA6-GF25 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json" - }, - { - "name": "Fiberon PA612-CF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL H2D.json" - }, - { - "name": "Fiberon PA612-CF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL X1C.json" - }, - { - "name": "Fiberon PA612-CF15 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json" - }, - { - "name": "Generic PA", - "sub_path": "filament/Generic PA.json" - }, - { - "name": "Generic PA @BBL H2D", - "sub_path": "filament/Generic PA @BBL H2D.json" - }, - { - "name": "Generic PA @BBL H2DP", - "sub_path": "filament/Generic PA @BBL H2DP.json" - }, - { - "name": "Generic PA @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PA @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PA @BBL P1P", - "sub_path": "filament/P1P/Generic PA @BBL P1P.json" - }, - { - "name": "Generic PA @BBL P2S", - "sub_path": "filament/Generic PA @BBL P2S.json" - }, - { - "name": "Generic PA @BBL X2D", - "sub_path": "filament/Generic PA @BBL X2D.json" - }, - { - "name": "Generic PA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PA Adura", - "sub_path": "filament/addnorth/addnorth PA Adura.json" - }, - { - "name": "addnorth PA Adura FDA", - "sub_path": "filament/addnorth/addnorth PA Adura FDA.json" - }, - { - "name": "addnorth PA6 Addlantis", - "sub_path": "filament/addnorth/addnorth PA6 Addlantis.json" - }, - { - "name": "addnorth PVDF Adamant S1", - "sub_path": "filament/addnorth/addnorth PVDF Adamant S1.json" - }, - { - "name": "Generic PA-CF", - "sub_path": "filament/Generic PA-CF.json" - }, - { - "name": "Generic PA-CF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PA-CF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PA-CF @BBL P1P", - "sub_path": "filament/P1P/Generic PA-CF @BBL P1P.json" - }, - { - "name": "Generic PA-CF @BBL P2S", - "sub_path": "filament/Generic PA-CF @BBL P2S.json" - }, - { - "name": "Generic PA-CF @BBL X2D", - "sub_path": "filament/Generic PA-CF @BBL X2D.json" - }, - { - "name": "Generic PA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PA-CF Adura X", - "sub_path": "filament/addnorth/addnorth PA-CF Adura X.json" - }, - { - "name": "Bambu PC @BBL A1", - "sub_path": "filament/Bambu PC @BBL A1.json" - }, - { - "name": "Bambu PC @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PC @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PC @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2S", - "sub_path": "filament/Bambu PC @BBL H2S.json" - }, - { - "name": "Bambu PC @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL P1P", - "sub_path": "filament/P1P/Bambu PC @BBL P1P.json" - }, - { - "name": "Bambu PC @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PC @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1C", - "sub_path": "filament/Bambu PC @BBL X1C.json" - }, - { - "name": "Bambu PC @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1C 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL X1C 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1E", - "sub_path": "filament/Bambu PC @BBL X1E.json" - }, - { - "name": "Bambu PC @BBL X1E 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1E 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL X1E 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL X1E 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL X1E 0.8 nozzle.json" - }, - { - "name": "Bambu PC @BBL X2D", - "sub_path": "filament/Bambu PC @BBL X2D.json" - }, - { - "name": "Bambu PC @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PC @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL A1", - "sub_path": "filament/Bambu PC FR @BBL A1.json" - }, - { - "name": "Bambu PC FR @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2S", - "sub_path": "filament/Bambu PC FR @BBL H2S.json" - }, - { - "name": "Bambu PC FR @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P1P", - "sub_path": "filament/Bambu PC FR @BBL P1P.json" - }, - { - "name": "Bambu PC FR @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P1S", - "sub_path": "filament/Bambu PC FR @BBL P1S.json" - }, - { - "name": "Bambu PC FR @BBL P1S 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P1S 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P1S 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P1S 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P1S 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P1S 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1C", - "sub_path": "filament/Bambu PC FR @BBL X1C.json" - }, - { - "name": "Bambu PC FR @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1C 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1C 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1E", - "sub_path": "filament/Bambu PC FR @BBL X1E.json" - }, - { - "name": "Bambu PC FR @BBL X1E 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1E 0.6 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1E 0.6 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X1E 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X1E 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X2D", - "sub_path": "filament/Bambu PC FR @BBL X2D.json" - }, - { - "name": "Bambu PC FR @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Generic PC", - "sub_path": "filament/Generic PC.json" - }, - { - "name": "Generic PC @0.2 nozzle", - "sub_path": "filament/Generic PC @0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL A1", - "sub_path": "filament/Generic PC @BBL A1.json" - }, - { - "name": "Generic PC @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL H2D", - "sub_path": "filament/Generic PC @BBL H2D.json" - }, - { - "name": "Generic PC @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL H2S", - "sub_path": "filament/Generic PC @BBL H2S.json" - }, - { - "name": "Generic PC @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL P1P", - "sub_path": "filament/P1P/Generic PC @BBL P1P.json" - }, - { - "name": "Generic PC @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL X2D", - "sub_path": "filament/Generic PC @BBL X2D.json" - }, - { - "name": "Generic PC @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PC @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PC BLend HT LCF", - "sub_path": "filament/addnorth/addnorth PC BLend HT LCF.json" - }, - { - "name": "Generic PCTG @BBL A1", - "sub_path": "filament/Generic PCTG @BBL A1.json" - }, - { - "name": "Generic PCTG @BBL A1M", - "sub_path": "filament/Generic PCTG @BBL A1M.json" - }, - { - "name": "Generic PCTG @BBL H2D", - "sub_path": "filament/Generic PCTG @BBL H2D.json" - }, - { - "name": "Generic PCTG @BBL H2DP", - "sub_path": "filament/Generic PCTG @BBL H2DP.json" - }, - { - "name": "Generic PCTG @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PCTG @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PCTG @BBL P2S", - "sub_path": "filament/Generic PCTG @BBL P2S.json" - }, - { - "name": "Generic PCTG @BBL X1C", - "sub_path": "filament/Generic PCTG @BBL X1C.json" - }, - { - "name": "Generic PCTG @BBL X2D", - "sub_path": "filament/Generic PCTG @BBL X2D.json" - }, - { - "name": "Generic PCTG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PCTG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PE @BBL A1", - "sub_path": "filament/Generic PE @BBL A1.json" - }, - { - "name": "Generic PE @BBL A1M", - "sub_path": "filament/Generic PE @BBL A1M.json" - }, - { - "name": "Generic PE @BBL H2D", - "sub_path": "filament/Generic PE @BBL H2D.json" - }, - { - "name": "Generic PE @BBL H2DP", - "sub_path": "filament/Generic PE @BBL H2DP.json" - }, - { - "name": "Generic PE @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PE @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PE @BBL P2S", - "sub_path": "filament/Generic PE @BBL P2S.json" - }, - { - "name": "Generic PE @BBL X1C", - "sub_path": "filament/Generic PE @BBL X1C.json" - }, - { - "name": "Generic PE @BBL X2D", - "sub_path": "filament/Generic PE @BBL X2D.json" - }, - { - "name": "Generic PE @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PE @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PE-CF @BBL A1", - "sub_path": "filament/Generic PE-CF @BBL A1.json" - }, - { - "name": "Generic PE-CF @BBL A1M", - "sub_path": "filament/Generic PE-CF @BBL A1M.json" - }, - { - "name": "Generic PE-CF @BBL H2D", - "sub_path": "filament/Generic PE-CF @BBL H2D.json" - }, - { - "name": "Generic PE-CF @BBL H2DP", - "sub_path": "filament/Generic PE-CF @BBL H2DP.json" - }, - { - "name": "Generic PE-CF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PE-CF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PE-CF @BBL P2S", - "sub_path": "filament/Generic PE-CF @BBL P2S.json" - }, - { - "name": "Generic PE-CF @BBL X1C", - "sub_path": "filament/Generic PE-CF @BBL X1C.json" - }, - { - "name": "Generic PE-CF @BBL X2D", - "sub_path": "filament/Generic PE-CF @BBL X2D.json" - }, - { - "name": "Generic PE-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PE-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG @BBL A1", - "sub_path": "filament/BETA/BETA PETG @BBL A1.json" - }, - { - "name": "BETA PETG @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG @BBL X1C", - "sub_path": "filament/BETA/BETA PETG @BBL X1C.json" - }, - { - "name": "BETA PETG Fluorescence @BBL A1", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1.json" - }, - { - "name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Fluorescence @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL X1C.json" - }, - { - "name": "BETA PETG Glitter @BBL A1", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1.json" - }, - { - "name": "BETA PETG Glitter @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glitter @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glitter @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL X1C.json" - }, - { - "name": "BETA PETG Glow @BBL A1", - "sub_path": "filament/BETA/BETA PETG Glow @BBL A1.json" - }, - { - "name": "BETA PETG Glow @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glow @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glow @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Glow @BBL X1C.json" - }, - { - "name": "BETA PETG Gradient @BBL A1", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1.json" - }, - { - "name": "BETA PETG Gradient @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Gradient @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Gradient @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL X1C.json" - }, - { - "name": "BETA PETG HF @BBL A1", - "sub_path": "filament/BETA/BETA PETG HF @BBL A1.json" - }, - { - "name": "BETA PETG HF @BBL A1M", - "sub_path": "filament/BETA/BETA PETG HF @BBL A1M.json" - }, - { - "name": "BETA PETG HF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG HF @BBL X1C", - "sub_path": "filament/BETA/BETA PETG HF @BBL X1C.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL X1C.json" - }, - { - "name": "BETA PETG Marble @BBL A1", - "sub_path": "filament/BETA/BETA PETG Marble @BBL A1.json" - }, - { - "name": "BETA PETG Marble @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Marble @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Marble @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Marble @BBL X1C.json" - }, - { - "name": "BETA PETG Matte @BBL A1", - "sub_path": "filament/BETA/BETA PETG Matte @BBL A1.json" - }, - { - "name": "BETA PETG Matte @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Matte @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Matte @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Matte @BBL X1C.json" - }, - { - "name": "BETA PETG Metallic @BBL A1", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1.json" - }, - { - "name": "BETA PETG Metallic @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Metallic @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Metallic @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL X1C.json" - }, - { - "name": "BETA PETG Transparent @BBL A1", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1.json" - }, - { - "name": "BETA PETG Transparent @BBL A1M", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1M.json" - }, - { - "name": "BETA PETG Transparent @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Transparent @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL X1C.json" - }, - { - "name": "BETA PETG UV Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1.json" - }, - { - "name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG UV Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL X1C.json" - }, - { - "name": "BETA PETG-CF @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL P1P 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL P1P 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json" - }, - { - "name": "Bambu PET-CF @BBL A1", - "sub_path": "filament/Bambu PET-CF @BBL A1.json" - }, - { - "name": "Bambu PET-CF @BBL H2D", - "sub_path": "filament/Bambu PET-CF @BBL H2D.json" - }, - { - "name": "Bambu PET-CF @BBL H2DP", - "sub_path": "filament/Bambu PET-CF @BBL H2DP.json" - }, - { - "name": "Bambu PET-CF @BBL H2S", - "sub_path": "filament/Bambu PET-CF @BBL H2S.json" - }, - { - "name": "Bambu PET-CF @BBL P1P", - "sub_path": "filament/P1P/Bambu PET-CF @BBL P1P.json" - }, - { - "name": "Bambu PET-CF @BBL P2S", - "sub_path": "filament/Bambu PET-CF @BBL P2S.json" - }, - { - "name": "Bambu PET-CF @BBL X1C", - "sub_path": "filament/Bambu PET-CF @BBL X1C.json" - }, - { - "name": "Bambu PET-CF @BBL X1E", - "sub_path": "filament/Bambu PET-CF @BBL X1E.json" - }, - { - "name": "Bambu PET-CF @BBL X2D", - "sub_path": "filament/Bambu PET-CF @BBL X2D.json" - }, - { - "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A1", - "sub_path": "filament/Bambu PETG Basic @BBL A1.json" - }, - { - "name": "Bambu PETG Basic @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A1M 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A1M 0.8 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2S", - "sub_path": "filament/Bambu PETG Basic @BBL H2S.json" - }, - { - "name": "Bambu PETG Basic @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X1C", - "sub_path": "filament/Bambu PETG Basic @BBL X1C.json" - }, - { - "name": "Bambu PETG Basic @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D", - "sub_path": "filament/Bambu PETG Basic @BBL X2D.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A1", - "sub_path": "filament/Bambu PETG HF @BBL A1.json" - }, - { - "name": "Bambu PETG HF @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A1M", - "sub_path": "filament/Bambu PETG HF @BBL A1M.json" - }, - { - "name": "Bambu PETG HF @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A1M 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2S", - "sub_path": "filament/Bambu PETG HF @BBL H2S.json" - }, - { - "name": "Bambu PETG HF @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X1C", - "sub_path": "filament/Bambu PETG HF @BBL X1C.json" - }, - { - "name": "Bambu PETG HF @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X2D", - "sub_path": "filament/Bambu PETG HF @BBL X2D.json" - }, - { - "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1", - "sub_path": "filament/Bambu PETG Translucent @BBL A1.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1M", - "sub_path": "filament/Bambu PETG Translucent @BBL A1M.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A1M 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2S", - "sub_path": "filament/Bambu PETG Translucent @BBL H2S.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X1C", - "sub_path": "filament/Bambu PETG Translucent @BBL X1C.json" - }, - { - "name": "Bambu PETG Translucent @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A1 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A1M", - "sub_path": "filament/Bambu PETG-CF @BBL A1M.json" - }, - { - "name": "Bambu PETG-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL H2S", - "sub_path": "filament/Bambu PETG-CF @BBL H2S.json" - }, - { - "name": "Bambu PETG-CF @BBL P1P", - "sub_path": "filament/P1P/Bambu PETG-CF @BBL P1P.json" - }, - { - "name": "Bambu PETG-CF @BBL P1P 0.4 nozzle", - "sub_path": "filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL X1C", - "sub_path": "filament/Bambu PETG-CF @BBL X1C.json" - }, - { - "name": "Bambu PETG-CF @BBL X1C 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D", - "sub_path": "filament/Bambu PETG-CF @BBL X2D.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Fiberon PET-CF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL H2D.json" - }, - { - "name": "Fiberon PET-CF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL X1C.json" - }, - { - "name": "Fiberon PET-CF17 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PET-CF17 @BBL X1.json" - }, - { - "name": "Fiberon PETG-ESD @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json" - }, - { - "name": "Fiberon PETG-ESD @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL X1.json" - }, - { - "name": "Fiberon PETG-ESD @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json" - }, - { - "name": "Fiberon PETG-rCF @BBL H2D", - "sub_path": "filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json" - }, - { - "name": "Fiberon PETG-rCF @BBL X1C", - "sub_path": "filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json" - }, - { - "name": "Fiberon PETG-rCF08 @BBL X1", - "sub_path": "filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json" - }, - { - "name": "Generic PETG", - "sub_path": "filament/Generic PETG.json" - }, - { - "name": "Generic PETG @0.2 nozzle", - "sub_path": "filament/Generic PETG @0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL A1", - "sub_path": "filament/Generic PETG @BBL A1.json" - }, - { - "name": "Generic PETG @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL A1M", - "sub_path": "filament/Generic PETG @BBL A1M.json" - }, - { - "name": "Generic PETG @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL H2D", - "sub_path": "filament/Generic PETG @BBL H2D.json" - }, - { - "name": "Generic PETG @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL H2DP", - "sub_path": "filament/Generic PETG @BBL H2DP.json" - }, - { - "name": "Generic PETG @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL H2S", - "sub_path": "filament/Generic PETG @BBL H2S.json" - }, - { - "name": "Generic PETG @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL P1P", - "sub_path": "filament/P1P/Generic PETG @BBL P1P.json" - }, - { - "name": "Generic PETG @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL P2S", - "sub_path": "filament/Generic PETG @BBL P2S.json" - }, - { - "name": "Generic PETG @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL X2D", - "sub_path": "filament/Generic PETG @BBL X2D.json" - }, - { - "name": "Generic PETG @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PETG Base", - "sub_path": "filament/addnorth/addnorth PETG Base.json" - }, - { - "name": "addnorth PETG ESD", - "sub_path": "filament/addnorth/addnorth PETG ESD.json" - }, - { - "name": "addnorth PETG Economy", - "sub_path": "filament/addnorth/addnorth PETG Economy.json" - }, - { - "name": "addnorth PETG Flame v0", - "sub_path": "filament/addnorth/addnorth PETG Flame v0.json" - }, - { - "name": "addnorth PETG PRO Matte", - "sub_path": "filament/addnorth/addnorth PETG PRO Matte.json" - }, - { - "name": "addnorth PETG rPETG Matte", - "sub_path": "filament/addnorth/addnorth PETG rPETG Matte.json" - }, - { - "name": "Generic PETG HF @BBL A1", - "sub_path": "filament/Generic PETG HF @BBL A1.json" - }, - { - "name": "Generic PETG HF @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL A1M", - "sub_path": "filament/Generic PETG HF @BBL A1M.json" - }, - { - "name": "Generic PETG HF @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2D", - "sub_path": "filament/Generic PETG HF @BBL H2D.json" - }, - { - "name": "Generic PETG HF @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2DP", - "sub_path": "filament/Generic PETG HF @BBL H2DP.json" - }, - { - "name": "Generic PETG HF @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL P1P", - "sub_path": "filament/Generic PETG HF @BBL P1P.json" - }, - { - "name": "Generic PETG HF @BBL P1P 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL P2S", - "sub_path": "filament/Generic PETG HF @BBL P2S.json" - }, - { - "name": "Generic PETG HF @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL P2S 0.4 nozzle", - "sub_path": "filament/Generic PETG HF @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL X1C", - "sub_path": "filament/Generic PETG HF @BBL X1C.json" - }, - { - "name": "Generic PETG HF @BBL X1C 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL X2D", - "sub_path": "filament/Generic PETG HF @BBL X2D.json" - }, - { - "name": "Generic PETG HF @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PETG-CF @BBL A1", - "sub_path": "filament/Generic PETG-CF @BBL A1.json" - }, - { - "name": "Generic PETG-CF @BBL A1M", - "sub_path": "filament/P1P/Generic PETG-CF @BBL A1M.json" - }, - { - "name": "Generic PETG-CF @BBL H2D", - "sub_path": "filament/Generic PETG-CF @BBL H2D.json" - }, - { - "name": "Generic PETG-CF @BBL H2DP", - "sub_path": "filament/Generic PETG-CF @BBL H2DP.json" - }, - { - "name": "Generic PETG-CF @BBL H2S", - "sub_path": "filament/Generic PETG-CF @BBL H2S.json" - }, - { - "name": "Generic PETG-CF @BBL P1P", - "sub_path": "filament/P1P/Generic PETG-CF @BBL P1P.json" - }, - { - "name": "Generic PETG-CF @BBL P2S", - "sub_path": "filament/Generic PETG-CF @BBL P2S.json" - }, - { - "name": "Generic PETG-CF @BBL X1C", - "sub_path": "filament/Generic PETG-CF @BBL X1C.json" - }, - { - "name": "Generic PETG-CF @BBL X2D", - "sub_path": "filament/Generic PETG-CF @BBL X2D.json" - }, - { - "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PETG-CF Rigid X", - "sub_path": "filament/addnorth/addnorth PETG-CF Rigid X.json" - }, - { - "name": "PolyLite PETG @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL A1.json" - }, - { - "name": "PolyLite PETG @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL A1M.json" - }, - { - "name": "PolyLite PETG @BBL H2D", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL H2D.json" - }, - { - "name": "PolyLite PETG @BBL H2D 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL H2D 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL H2DP", - "sub_path": "filament/PolyLite PETG @BBL H2DP.json" - }, - { - "name": "PolyLite PETG @BBL H2DP 0.2 nozzle", - "sub_path": "filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL H2S", - "sub_path": "filament/PolyLite PETG @BBL H2S.json" - }, - { - "name": "PolyLite PETG @BBL H2S 0.2 nozzle", - "sub_path": "filament/PolyLite PETG @BBL H2S 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL P1P.json" - }, - { - "name": "PolyLite PETG @BBL X1C", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL X1C.json" - }, - { - "name": "SUNLU PETG @BBL A1", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1.json" - }, - { - "name": "SUNLU PETG @BBL A1 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json" - }, - { - "name": "SUNLU PETG @BBL A1 0.8 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json" - }, - { - "name": "SUNLU PETG @BBL A1M 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json" - }, - { - "name": "SUNLU PETG @BBL A1M 0.4 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M.json" - }, - { - "name": "SUNLU PETG @BBL A1M 0.8 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json" - }, - { - "name": "SUNLU PETG @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C.json" - }, - { - "name": "SUNLU PETG @BBL X1C 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU PETG @BBL X1C 0.8 nozzle", - "sub_path": "filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Generic PHA @BBL A1", - "sub_path": "filament/Generic PHA @BBL A1.json" - }, - { - "name": "Generic PHA @BBL A1M", - "sub_path": "filament/Generic PHA @BBL A1M.json" - }, - { - "name": "Generic PHA @BBL H2D", - "sub_path": "filament/Generic PHA @BBL H2D.json" - }, - { - "name": "Generic PHA @BBL H2DP", - "sub_path": "filament/Generic PHA @BBL H2DP.json" - }, - { - "name": "Generic PHA @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PHA @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PHA @BBL P2S", - "sub_path": "filament/Generic PHA @BBL P2S.json" - }, - { - "name": "Generic PHA @BBL X1C", - "sub_path": "filament/Generic PHA @BBL X1C.json" - }, - { - "name": "Generic PHA @BBL X2D", - "sub_path": "filament/Generic PHA @BBL X2D.json" - }, - { - "name": "Generic PHA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PHA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "BETA PLA Basic @BBL A1", - "sub_path": "filament/BETA/BETA PLA Basic @BBL A1.json" - }, - { - "name": "BETA PLA Basic @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Basic @BBL A1M.json" - }, - { - "name": "BETA PLA Basic @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Basic @BBL H2D.json" - }, - { - "name": "BETA PLA Basic @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Basic @BBL P1P.json" - }, - { - "name": "BETA PLA Basic @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Basic @BBL X1C.json" - }, - { - "name": "BETA PLA Chameleon @BBL A1", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1.json" - }, - { - "name": "BETA PLA Chameleon @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1M.json" - }, - { - "name": "BETA PLA Chameleon @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL H2D.json" - }, - { - "name": "BETA PLA Chameleon @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL P1P.json" - }, - { - "name": "BETA PLA Chameleon @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL X1C.json" - }, - { - "name": "BETA PLA Fluorescence @BBL A1", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1.json" - }, - { - "name": "BETA PLA Fluorescence @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1M.json" - }, - { - "name": "BETA PLA Fluorescence @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL H2D.json" - }, - { - "name": "BETA PLA Fluorescence @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL P1P.json" - }, - { - "name": "BETA PLA Fluorescence @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL X1C.json" - }, - { - "name": "BETA PLA Glitter @BBL A1", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1.json" - }, - { - "name": "BETA PLA Glitter @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1M.json" - }, - { - "name": "BETA PLA Glitter @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL H2D.json" - }, - { - "name": "BETA PLA Glitter @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL P1P.json" - }, - { - "name": "BETA PLA Glitter @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL X1C.json" - }, - { - "name": "BETA PLA Glow @BBL A1", - "sub_path": "filament/BETA/BETA PLA Glow @BBL A1.json" - }, - { - "name": "BETA PLA Glow @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Glow @BBL A1M.json" - }, - { - "name": "BETA PLA Glow @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Glow @BBL H2D.json" - }, - { - "name": "BETA PLA Glow @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Glow @BBL P1P.json" - }, - { - "name": "BETA PLA Glow @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Glow @BBL X1C.json" - }, - { - "name": "BETA PLA Gradient @BBL A1", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1.json" - }, - { - "name": "BETA PLA Gradient @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1M.json" - }, - { - "name": "BETA PLA Gradient @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL H2D.json" - }, - { - "name": "BETA PLA Gradient @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL P1P.json" - }, - { - "name": "BETA PLA Gradient @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL X1C.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1M.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL H2D.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL P1P.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL X1C.json" - }, - { - "name": "BETA PLA High Speed @BBL A1", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1.json" - }, - { - "name": "BETA PLA High Speed @BBL A1M", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1M.json" - }, - { - "name": "BETA PLA High Speed @BBL H2D", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL H2D.json" - }, - { - "name": "BETA PLA High Speed @BBL P1P", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL P1P.json" - }, - { - "name": "BETA PLA High Speed @BBL X1C", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL X1C.json" - }, - { - "name": "BETA PLA High Temp @BBL A1", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1.json" - }, - { - "name": "BETA PLA High Temp @BBL A1M", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1M.json" - }, - { - "name": "BETA PLA High Temp @BBL H2D", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL H2D.json" - }, - { - "name": "BETA PLA High Temp @BBL P1P", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL P1P.json" - }, - { - "name": "BETA PLA High Temp @BBL X1C", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL X1C.json" - }, - { - "name": "BETA PLA Marble @BBL A1", - "sub_path": "filament/BETA/BETA PLA Marble @BBL A1.json" - }, - { - "name": "BETA PLA Marble @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Marble @BBL A1M.json" - }, - { - "name": "BETA PLA Marble @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Marble @BBL H2D.json" - }, - { - "name": "BETA PLA Marble @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Marble @BBL P1P.json" - }, - { - "name": "BETA PLA Marble @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Marble @BBL X1C.json" - }, - { - "name": "BETA PLA Matte @BBL A1", - "sub_path": "filament/BETA/BETA PLA Matte @BBL A1.json" - }, - { - "name": "BETA PLA Matte @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Matte @BBL A1M.json" - }, - { - "name": "BETA PLA Matte @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Matte @BBL H2D.json" - }, - { - "name": "BETA PLA Matte @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Matte @BBL P1P.json" - }, - { - "name": "BETA PLA Matte @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Matte @BBL X1C.json" - }, - { - "name": "BETA PLA Metal @BBL A1", - "sub_path": "filament/BETA/BETA PLA Metal @BBL A1.json" - }, - { - "name": "BETA PLA Metal @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Metal @BBL A1M.json" - }, - { - "name": "BETA PLA Metal @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Metal @BBL H2D.json" - }, - { - "name": "BETA PLA Metal @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Metal @BBL P1P.json" - }, - { - "name": "BETA PLA Metal @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Metal @BBL X1C.json" - }, - { - "name": "BETA PLA Metallic @BBL A1", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1.json" - }, - { - "name": "BETA PLA Metallic @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1M.json" - }, - { - "name": "BETA PLA Metallic @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL H2D.json" - }, - { - "name": "BETA PLA Metallic @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL P1P.json" - }, - { - "name": "BETA PLA Metallic @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL X1C.json" - }, - { - "name": "BETA PLA PRO @BBL A1", - "sub_path": "filament/BETA/BETA PLA PRO @BBL A1.json" - }, - { - "name": "BETA PLA PRO @BBL A1M", - "sub_path": "filament/BETA/BETA PLA PRO @BBL A1M.json" - }, - { - "name": "BETA PLA PRO @BBL H2D", - "sub_path": "filament/BETA/BETA PLA PRO @BBL H2D.json" - }, - { - "name": "BETA PLA PRO @BBL P1P", - "sub_path": "filament/BETA/BETA PLA PRO @BBL P1P.json" - }, - { - "name": "BETA PLA PRO @BBL X1C", - "sub_path": "filament/BETA/BETA PLA PRO @BBL X1C.json" - }, - { - "name": "BETA PLA Silk @BBL A1", - "sub_path": "filament/BETA/BETA PLA Silk @BBL A1.json" - }, - { - "name": "BETA PLA Silk @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Silk @BBL A1M.json" - }, - { - "name": "BETA PLA Silk @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Silk @BBL H2D.json" - }, - { - "name": "BETA PLA Silk @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Silk @BBL P1P.json" - }, - { - "name": "BETA PLA Silk @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Silk @BBL X1C.json" - }, - { - "name": "BETA PLA Silk+ @BBL A1", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1.json" - }, - { - "name": "BETA PLA Silk+ @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1M.json" - }, - { - "name": "BETA PLA Silk+ @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL H2D.json" - }, - { - "name": "BETA PLA Silk+ @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL P1P.json" - }, - { - "name": "BETA PLA Silk+ @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL X1C.json" - }, - { - "name": "BETA PLA Transparent @BBL A1", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1.json" - }, - { - "name": "BETA PLA Transparent @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1M.json" - }, - { - "name": "BETA PLA Transparent @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL H2D.json" - }, - { - "name": "BETA PLA Transparent @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL P1P.json" - }, - { - "name": "BETA PLA Transparent @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL X1C.json" - }, - { - "name": "BETA PLA UV Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1.json" - }, - { - "name": "BETA PLA UV Color Change @BBL A1M", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1M.json" - }, - { - "name": "BETA PLA UV Color Change @BBL H2D", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL H2D.json" - }, - { - "name": "BETA PLA UV Color Change @BBL P1P", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL P1P.json" - }, - { - "name": "BETA PLA UV Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL X1C.json" - }, - { - "name": "BETA PLA Wood @BBL A1", - "sub_path": "filament/BETA/BETA PLA Wood @BBL A1.json" - }, - { - "name": "BETA PLA Wood @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Wood @BBL A1M.json" - }, - { - "name": "BETA PLA Wood @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Wood @BBL H2D.json" - }, - { - "name": "BETA PLA Wood @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Wood @BBL P1P.json" - }, - { - "name": "BETA PLA Wood @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Wood @BBL X1C.json" - }, - { - "name": "BETA PLA Youth @BBL A1", - "sub_path": "filament/BETA/BETA PLA Youth @BBL A1.json" - }, - { - "name": "BETA PLA Youth @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Youth @BBL A1M.json" - }, - { - "name": "BETA PLA Youth @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Youth @BBL H2D.json" - }, - { - "name": "BETA PLA Youth @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Youth @BBL P1P.json" - }, - { - "name": "BETA PLA Youth @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Youth @BBL X1C.json" - }, - { - "name": "BETA PLA-CF @BBL A1", - "sub_path": "filament/BETA/BETA PLA-CF @BBL A1.json" - }, - { - "name": "BETA PLA-CF @BBL A1M", - "sub_path": "filament/BETA/BETA PLA-CF @BBL A1M.json" - }, - { - "name": "BETA PLA-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PLA-CF @BBL P1P", - "sub_path": "filament/BETA/BETA PLA-CF @BBL P1P.json" - }, - { - "name": "BETA PLA-CF @BBL X1C", - "sub_path": "filament/BETA/BETA PLA-CF @BBL X1C.json" - }, - { - "name": "Bambu PLA Aero @BBL A1", - "sub_path": "filament/Bambu PLA Aero @BBL A1.json" - }, - { - "name": "Bambu PLA Aero @BBL A1M", - "sub_path": "filament/Bambu PLA Aero @BBL A1M.json" - }, - { - "name": "Bambu PLA Aero @BBL H2D", - "sub_path": "filament/Bambu PLA Aero @BBL H2D.json" - }, - { - "name": "Bambu PLA Aero @BBL H2DP", - "sub_path": "filament/Bambu PLA Aero @BBL H2DP.json" - }, - { - "name": "Bambu PLA Aero @BBL H2S", - "sub_path": "filament/Bambu PLA Aero @BBL H2S.json" - }, - { - "name": "Bambu PLA Aero @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Aero @BBL P1P.json" - }, - { - "name": "Bambu PLA Aero @BBL P2S", - "sub_path": "filament/Bambu PLA Aero @BBL P2S.json" - }, - { - "name": "Bambu PLA Aero @BBL X1", - "sub_path": "filament/Bambu PLA Aero @BBL X1.json" - }, - { - "name": "Bambu PLA Aero @BBL X1C", - "sub_path": "filament/Bambu PLA Aero @BBL X1C.json" - }, - { - "name": "Bambu PLA Aero @BBL X2D", - "sub_path": "filament/Bambu PLA Aero @BBL X2D.json" - }, - { - "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A1", - "sub_path": "filament/Bambu PLA Basic @BBL A1.json" - }, - { - "name": "Bambu PLA Basic @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A1M", - "sub_path": "filament/Bambu PLA Basic @BBL A1M.json" - }, - { - "name": "Bambu PLA Basic @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2D", - "sub_path": "filament/Bambu PLA Basic @BBL H2D.json" - }, - { - "name": "Bambu PLA Basic @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2DP", - "sub_path": "filament/Bambu PLA Basic @BBL H2DP.json" - }, - { - "name": "Bambu PLA Basic @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2S", - "sub_path": "filament/Bambu PLA Basic @BBL H2S.json" - }, - { - "name": "Bambu PLA Basic @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Basic @BBL P1P.json" - }, - { - "name": "Bambu PLA Basic @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL P2S", - "sub_path": "filament/Bambu PLA Basic @BBL P2S.json" - }, - { - "name": "Bambu PLA Basic @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X1", - "sub_path": "filament/Bambu PLA Basic @BBL X1.json" - }, - { - "name": "Bambu PLA Basic @BBL X1C", - "sub_path": "filament/Bambu PLA Basic @BBL X1C.json" - }, - { - "name": "Bambu PLA Basic @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D", - "sub_path": "filament/Bambu PLA Basic @BBL X2D.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A1", - "sub_path": "filament/Bambu PLA Dynamic @BBL A1.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A1M", - "sub_path": "filament/Bambu PLA Dynamic @BBL A1M.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2D", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2D.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2DP", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2S", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2S.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL P1P", - "sub_path": "filament/Bambu PLA Dynamic @BBL P1P.json" - }, - { - "name": "Bambu PLA Dynamic @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL P2S", - "sub_path": "filament/Bambu PLA Dynamic @BBL P2S.json" - }, - { - "name": "Bambu PLA Dynamic @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X1C", - "sub_path": "filament/Bambu PLA Dynamic @BBL X1C.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A1", - "sub_path": "filament/Bambu PLA Galaxy @BBL A1.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A1M", - "sub_path": "filament/Bambu PLA Galaxy @BBL A1M.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2D", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2D.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2DP", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2S", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2S.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL P1P", - "sub_path": "filament/Bambu PLA Galaxy @BBL P1P.json" - }, - { - "name": "Bambu PLA Galaxy @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL P2S", - "sub_path": "filament/Bambu PLA Galaxy @BBL P2S.json" - }, - { - "name": "Bambu PLA Galaxy @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X1C", - "sub_path": "filament/Bambu PLA Galaxy @BBL X1C.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL A1", - "sub_path": "filament/Bambu PLA Glow @BBL A1.json" - }, - { - "name": "Bambu PLA Glow @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL A1M", - "sub_path": "filament/Bambu PLA Glow @BBL A1M.json" - }, - { - "name": "Bambu PLA Glow @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL H2D", - "sub_path": "filament/Bambu PLA Glow @BBL H2D.json" - }, - { - "name": "Bambu PLA Glow @BBL H2DP", - "sub_path": "filament/Bambu PLA Glow @BBL H2DP.json" - }, - { - "name": "Bambu PLA Glow @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL H2S", - "sub_path": "filament/Bambu PLA Glow @BBL H2S.json" - }, - { - "name": "Bambu PLA Glow @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL P1P", - "sub_path": "filament/Bambu PLA Glow @BBL P1P.json" - }, - { - "name": "Bambu PLA Glow @BBL P2S", - "sub_path": "filament/Bambu PLA Glow @BBL P2S.json" - }, - { - "name": "Bambu PLA Glow @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X1", - "sub_path": "filament/Bambu PLA Glow @BBL X1.json" - }, - { - "name": "Bambu PLA Glow @BBL X1C", - "sub_path": "filament/Bambu PLA Glow @BBL X1C.json" - }, - { - "name": "Bambu PLA Glow @BBL X1E", - "sub_path": "filament/Bambu PLA Glow @BBL X1E.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D", - "sub_path": "filament/Bambu PLA Glow @BBL X2D.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A1", - "sub_path": "filament/Bambu PLA Lite @BBL A1.json" - }, - { - "name": "Bambu PLA Lite @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A1M", - "sub_path": "filament/Bambu PLA Lite @BBL A1M.json" - }, - { - "name": "Bambu PLA Lite @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2D", - "sub_path": "filament/Bambu PLA Lite @BBL H2D.json" - }, - { - "name": "Bambu PLA Lite @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2S", - "sub_path": "filament/Bambu PLA Lite @BBL H2S.json" - }, - { - "name": "Bambu PLA Lite @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL P1P", - "sub_path": "filament/Bambu PLA Lite @BBL P1P.json" - }, - { - "name": "Bambu PLA Lite @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X1C", - "sub_path": "filament/Bambu PLA Lite @BBL X1C.json" - }, - { - "name": "Bambu PLA Lite @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D", - "sub_path": "filament/Bambu PLA Lite @BBL X2D.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL A1", - "sub_path": "filament/Bambu PLA Marble @BBL A1.json" - }, - { - "name": "Bambu PLA Marble @BBL A1M", - "sub_path": "filament/Bambu PLA Marble @BBL A1M.json" - }, - { - "name": "Bambu PLA Marble @BBL H2D", - "sub_path": "filament/Bambu PLA Marble @BBL H2D.json" - }, - { - "name": "Bambu PLA Marble @BBL H2DP", - "sub_path": "filament/Bambu PLA Marble @BBL H2DP.json" - }, - { - "name": "Bambu PLA Marble @BBL H2S", - "sub_path": "filament/Bambu PLA Marble @BBL H2S.json" - }, - { - "name": "Bambu PLA Marble @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Marble @BBL P1P.json" - }, - { - "name": "Bambu PLA Marble @BBL P2S", - "sub_path": "filament/Bambu PLA Marble @BBL P2S.json" - }, - { - "name": "Bambu PLA Marble @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL X1", - "sub_path": "filament/Bambu PLA Marble @BBL X1.json" - }, - { - "name": "Bambu PLA Marble @BBL X1C", - "sub_path": "filament/Bambu PLA Marble @BBL X1C.json" - }, - { - "name": "Bambu PLA Marble @BBL X2D", - "sub_path": "filament/Bambu PLA Marble @BBL X2D.json" - }, - { - "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A1", - "sub_path": "filament/Bambu PLA Matte @BBL A1.json" - }, - { - "name": "Bambu PLA Matte @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A1M", - "sub_path": "filament/Bambu PLA Matte @BBL A1M.json" - }, - { - "name": "Bambu PLA Matte @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2D", - "sub_path": "filament/Bambu PLA Matte @BBL H2D.json" - }, - { - "name": "Bambu PLA Matte @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2DP", - "sub_path": "filament/Bambu PLA Matte @BBL H2DP.json" - }, - { - "name": "Bambu PLA Matte @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2S", - "sub_path": "filament/Bambu PLA Matte @BBL H2S.json" - }, - { - "name": "Bambu PLA Matte @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Matte @BBL P1P.json" - }, - { - "name": "Bambu PLA Matte @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL P2S", - "sub_path": "filament/Bambu PLA Matte @BBL P2S.json" - }, - { - "name": "Bambu PLA Matte @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X1", - "sub_path": "filament/Bambu PLA Matte @BBL X1.json" - }, - { - "name": "Bambu PLA Matte @BBL X1C", - "sub_path": "filament/Bambu PLA Matte @BBL X1C.json" - }, - { - "name": "Bambu PLA Matte @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D", - "sub_path": "filament/Bambu PLA Matte @BBL X2D.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL A1", - "sub_path": "filament/Bambu PLA Metal @BBL A1.json" - }, - { - "name": "Bambu PLA Metal @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL A1M", - "sub_path": "filament/Bambu PLA Metal @BBL A1M.json" - }, - { - "name": "Bambu PLA Metal @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL H2D", - "sub_path": "filament/Bambu PLA Metal @BBL H2D.json" - }, - { - "name": "Bambu PLA Metal @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL H2DP", - "sub_path": "filament/Bambu PLA Metal @BBL H2DP.json" - }, - { - "name": "Bambu PLA Metal @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL H2S", - "sub_path": "filament/Bambu PLA Metal @BBL H2S.json" - }, - { - "name": "Bambu PLA Metal @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Metal @BBL P1P.json" - }, - { - "name": "Bambu PLA Metal @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL P2S", - "sub_path": "filament/Bambu PLA Metal @BBL P2S.json" - }, - { - "name": "Bambu PLA Metal @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL X1", - "sub_path": "filament/Bambu PLA Metal @BBL X1.json" - }, - { - "name": "Bambu PLA Metal @BBL X1C", - "sub_path": "filament/Bambu PLA Metal @BBL X1C.json" - }, - { - "name": "Bambu PLA Metal @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D", - "sub_path": "filament/Bambu PLA Metal @BBL X2D.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A1", - "sub_path": "filament/Bambu PLA Silk @BBL A1.json" - }, - { - "name": "Bambu PLA Silk @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A1M", - "sub_path": "filament/Bambu PLA Silk @BBL A1M.json" - }, - { - "name": "Bambu PLA Silk @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL H2D", - "sub_path": "filament/Bambu PLA Silk @BBL H2D.json" - }, - { - "name": "Bambu PLA Silk @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL H2DP", - "sub_path": "filament/Bambu PLA Silk @BBL H2DP.json" - }, - { - "name": "Bambu PLA Silk @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL H2S", - "sub_path": "filament/Bambu PLA Silk @BBL H2S.json" - }, - { - "name": "Bambu PLA Silk @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Silk @BBL P1P.json" - }, - { - "name": "Bambu PLA Silk @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL P2S", - "sub_path": "filament/Bambu PLA Silk @BBL P2S.json" - }, - { - "name": "Bambu PLA Silk @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL X1", - "sub_path": "filament/Bambu PLA Silk @BBL X1.json" - }, - { - "name": "Bambu PLA Silk @BBL X1C", - "sub_path": "filament/Bambu PLA Silk @BBL X1C.json" - }, - { - "name": "Bambu PLA Silk @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D", - "sub_path": "filament/Bambu PLA Silk @BBL X2D.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A1", - "sub_path": "filament/Bambu PLA Silk+ @BBL A1.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A1M", - "sub_path": "filament/Bambu PLA Silk+ @BBL A1M.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2D", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2D.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2DP", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2S", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2S.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P1P", - "sub_path": "filament/Bambu PLA Silk+ @BBL P1P.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P2S", - "sub_path": "filament/Bambu PLA Silk+ @BBL P2S.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X1", - "sub_path": "filament/Bambu PLA Silk+ @BBL X1.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X1C", - "sub_path": "filament/Bambu PLA Silk+ @BBL X1C.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL A1", - "sub_path": "filament/Bambu PLA Sparkle @BBL A1.json" - }, - { - "name": "Bambu PLA Sparkle @BBL A1M", - "sub_path": "filament/Bambu PLA Sparkle @BBL A1M.json" - }, - { - "name": "Bambu PLA Sparkle @BBL H2D", - "sub_path": "filament/Bambu PLA Sparkle @BBL H2D.json" - }, - { - "name": "Bambu PLA Sparkle @BBL H2DP", - "sub_path": "filament/Bambu PLA Sparkle @BBL H2DP.json" - }, - { - "name": "Bambu PLA Sparkle @BBL H2S", - "sub_path": "filament/Bambu PLA Sparkle @BBL H2S.json" - }, - { - "name": "Bambu PLA Sparkle @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Sparkle @BBL P1P.json" - }, - { - "name": "Bambu PLA Sparkle @BBL P2S", - "sub_path": "filament/Bambu PLA Sparkle @BBL P2S.json" - }, - { - "name": "Bambu PLA Sparkle @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X1", - "sub_path": "filament/Bambu PLA Sparkle @BBL X1.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X1C", - "sub_path": "filament/Bambu PLA Sparkle @BBL X1C.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X2D", - "sub_path": "filament/Bambu PLA Sparkle @BBL X2D.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL A1", - "sub_path": "filament/Bambu PLA Tough @BBL A1.json" - }, - { - "name": "Bambu PLA Tough @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL A1M", - "sub_path": "filament/Bambu PLA Tough @BBL A1M.json" - }, - { - "name": "Bambu PLA Tough @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL H2D", - "sub_path": "filament/Bambu PLA Tough @BBL H2D.json" - }, - { - "name": "Bambu PLA Tough @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL H2DP", - "sub_path": "filament/Bambu PLA Tough @BBL H2DP.json" - }, - { - "name": "Bambu PLA Tough @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL H2S", - "sub_path": "filament/Bambu PLA Tough @BBL H2S.json" - }, - { - "name": "Bambu PLA Tough @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Tough @BBL P1P.json" - }, - { - "name": "Bambu PLA Tough @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL P2S", - "sub_path": "filament/Bambu PLA Tough @BBL P2S.json" - }, - { - "name": "Bambu PLA Tough @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL X1", - "sub_path": "filament/Bambu PLA Tough @BBL X1.json" - }, - { - "name": "Bambu PLA Tough @BBL X1C", - "sub_path": "filament/Bambu PLA Tough @BBL X1C.json" - }, - { - "name": "Bambu PLA Tough @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D", - "sub_path": "filament/Bambu PLA Tough @BBL X2D.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A1", - "sub_path": "filament/Bambu PLA Tough+ @BBL A1.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A1M", - "sub_path": "filament/Bambu PLA Tough+ @BBL A1M.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2D", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2D.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2DP", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2S", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2S.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA Tough+ @BBL P1P.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P2S", - "sub_path": "filament/Bambu PLA Tough+ @BBL P2S.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X1", - "sub_path": "filament/Bambu PLA Tough+ @BBL X1.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X1C", - "sub_path": "filament/Bambu PLA Tough+ @BBL X1C.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1", - "sub_path": "filament/Bambu PLA Translucent @BBL A1.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1M", - "sub_path": "filament/Bambu PLA Translucent @BBL A1M.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A1M 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2D", - "sub_path": "filament/Bambu PLA Translucent @BBL H2D.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2DP", - "sub_path": "filament/Bambu PLA Translucent @BBL H2DP.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2S", - "sub_path": "filament/Bambu PLA Translucent @BBL H2S.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P1P", - "sub_path": "filament/Bambu PLA Translucent @BBL P1P.json" - }, - { - "name": "Bambu PLA Translucent @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P1P 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X1C", - "sub_path": "filament/Bambu PLA Translucent @BBL X1C.json" - }, - { - "name": "Bambu PLA Translucent @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL A1", - "sub_path": "filament/Bambu PLA Wood @BBL A1.json" - }, - { - "name": "Bambu PLA Wood @BBL A1M", - "sub_path": "filament/Bambu PLA Wood @BBL A1M.json" - }, - { - "name": "Bambu PLA Wood @BBL H2D", - "sub_path": "filament/Bambu PLA Wood @BBL H2D.json" - }, - { - "name": "Bambu PLA Wood @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL H2DP", - "sub_path": "filament/Bambu PLA Wood @BBL H2DP.json" - }, - { - "name": "Bambu PLA Wood @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL H2S", - "sub_path": "filament/Bambu PLA Wood @BBL H2S.json" - }, - { - "name": "Bambu PLA Wood @BBL P1P", - "sub_path": "filament/Bambu PLA Wood @BBL P1P.json" - }, - { - "name": "Bambu PLA Wood @BBL P2S", - "sub_path": "filament/Bambu PLA Wood @BBL P2S.json" - }, - { - "name": "Bambu PLA Wood @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL X1", - "sub_path": "filament/Bambu PLA Wood @BBL X1.json" - }, - { - "name": "Bambu PLA Wood @BBL X1C", - "sub_path": "filament/Bambu PLA Wood @BBL X1C.json" - }, - { - "name": "Bambu PLA Wood @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL X2D", - "sub_path": "filament/Bambu PLA Wood @BBL X2D.json" - }, - { - "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL A1", - "sub_path": "filament/Bambu PLA-CF @BBL A1.json" - }, - { - "name": "Bambu PLA-CF @BBL A1 0.8 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL A1M", - "sub_path": "filament/Bambu PLA-CF @BBL A1M.json" - }, - { - "name": "Bambu PLA-CF @BBL A1M 0.8 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2S", - "sub_path": "filament/Bambu PLA-CF @BBL H2S.json" - }, - { - "name": "Bambu PLA-CF @BBL P1P", - "sub_path": "filament/P1P/Bambu PLA-CF @BBL P1P.json" - }, - { - "name": "Bambu PLA-CF @BBL P1P 0.8 nozzle", - "sub_path": "filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL P2S 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL X1C", - "sub_path": "filament/Bambu PLA-CF @BBL X1C.json" - }, - { - "name": "Bambu PLA-CF @BBL X1C 0.8 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL X2D", - "sub_path": "filament/Bambu PLA-CF @BBL X2D.json" - }, - { - "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL A1", - "sub_path": "filament/Bambu Support For PLA @BBL A1.json" - }, - { - "name": "Bambu Support For PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL A1M", - "sub_path": "filament/Bambu Support For PLA @BBL A1M.json" - }, - { - "name": "Bambu Support For PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL H2D", - "sub_path": "filament/Bambu Support For PLA @BBL H2D.json" - }, - { - "name": "Bambu Support For PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL H2DP", - "sub_path": "filament/Bambu Support For PLA @BBL H2DP.json" - }, - { - "name": "Bambu Support For PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL H2S", - "sub_path": "filament/Bambu Support For PLA @BBL H2S.json" - }, - { - "name": "Bambu Support For PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL P1P", - "sub_path": "filament/P1P/Bambu Support For PLA @BBL P1P.json" - }, - { - "name": "Bambu Support For PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL P2S", - "sub_path": "filament/Bambu Support For PLA @BBL P2S.json" - }, - { - "name": "Bambu Support For PLA @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL X1C", - "sub_path": "filament/Bambu Support For PLA @BBL X1C.json" - }, - { - "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D", - "sub_path": "filament/Bambu Support For PLA @BBL X2D.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A1", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A1M", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1M.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2D", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2DP", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2S", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL P1P", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL P1P.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL P2S", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X1C", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X1C.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support W @BBL A1", - "sub_path": "filament/Bambu Support W @BBL A1.json" - }, - { - "name": "Bambu Support W @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL A1M", - "sub_path": "filament/Bambu Support W @BBL A1M.json" - }, - { - "name": "Bambu Support W @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL H2D", - "sub_path": "filament/Bambu Support W @BBL H2D.json" - }, - { - "name": "Bambu Support W @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL H2DP", - "sub_path": "filament/Bambu Support W @BBL H2DP.json" - }, - { - "name": "Bambu Support W @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL H2S", - "sub_path": "filament/Bambu Support W @BBL H2S.json" - }, - { - "name": "Bambu Support W @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL P1P", - "sub_path": "filament/P1P/Bambu Support W @BBL P1P.json" - }, - { - "name": "Bambu Support W @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL P2S", - "sub_path": "filament/Bambu Support W @BBL P2S.json" - }, - { - "name": "Bambu Support W @BBL P2S 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL X1", - "sub_path": "filament/Bambu Support W @BBL X1.json" - }, - { - "name": "Bambu Support W @BBL X1C", - "sub_path": "filament/Bambu Support W @BBL X1C.json" - }, - { - "name": "Bambu Support W @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL X2D", - "sub_path": "filament/Bambu Support W @BBL X2D.json" - }, - { - "name": "Bambu Support W @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support W @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PLA", - "sub_path": "filament/Generic PLA.json" - }, - { - "name": "Generic PLA @0.2 nozzle", - "sub_path": "filament/Generic PLA @0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL A1", - "sub_path": "filament/Generic PLA @BBL A1.json" - }, - { - "name": "Generic PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL A1M", - "sub_path": "filament/Generic PLA @BBL A1M.json" - }, - { - "name": "Generic PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL H2D", - "sub_path": "filament/Generic PLA @BBL H2D.json" - }, - { - "name": "Generic PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL H2DP", - "sub_path": "filament/Generic PLA @BBL H2DP.json" - }, - { - "name": "Generic PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL H2S", - "sub_path": "filament/Generic PLA @BBL H2S.json" - }, - { - "name": "Generic PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL P1P", - "sub_path": "filament/P1P/Generic PLA @BBL P1P.json" - }, - { - "name": "Generic PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL P2S", - "sub_path": "filament/Generic PLA @BBL P2S.json" - }, - { - "name": "Generic PLA @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL X2D", - "sub_path": "filament/Generic PLA @BBL X2D.json" - }, - { - "name": "Generic PLA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PLA E-PLA", - "sub_path": "filament/addnorth/addnorth PLA E-PLA.json" - }, - { - "name": "addnorth PLA Economy", - "sub_path": "filament/addnorth/addnorth PLA Economy.json" - }, - { - "name": "addnorth PLA HT-PLA PRO Matte", - "sub_path": "filament/addnorth/addnorth PLA HT-PLA PRO Matte.json" - }, - { - "name": "addnorth PLA Textura", - "sub_path": "filament/addnorth/addnorth PLA Textura.json" - }, - { - "name": "addnorth PLA Wood", - "sub_path": "filament/addnorth/addnorth PLA Wood.json" - }, - { - "name": "addnorth PLA X-PLA", - "sub_path": "filament/addnorth/addnorth PLA X-PLA.json" - }, - { - "name": "addnorth PLA rPLA RE-ADD", - "sub_path": "filament/addnorth/addnorth PLA rPLA RE-ADD.json" - }, - { - "name": "Generic PLA High Speed @BBL A1", - "sub_path": "filament/Generic PLA High Speed @BBL A1.json" - }, - { - "name": "Generic PLA High Speed @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL A1M", - "sub_path": "filament/Generic PLA High Speed @BBL A1M.json" - }, - { - "name": "Generic PLA High Speed @BBL H2D", - "sub_path": "filament/Generic PLA High Speed @BBL H2D.json" - }, - { - "name": "Generic PLA High Speed @BBL H2D 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL H2DP", - "sub_path": "filament/Generic PLA High Speed @BBL H2DP.json" - }, - { - "name": "Generic PLA High Speed @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL H2S", - "sub_path": "filament/Generic PLA High Speed @BBL H2S.json" - }, - { - "name": "Generic PLA High Speed @BBL H2S 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL P1P", - "sub_path": "filament/Generic PLA High Speed @BBL P1P.json" - }, - { - "name": "Generic PLA High Speed @BBL P2S", - "sub_path": "filament/Generic PLA High Speed @BBL P2S.json" - }, - { - "name": "Generic PLA High Speed @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL X1C", - "sub_path": "filament/Generic PLA High Speed @BBL X1C.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D", - "sub_path": "filament/Generic PLA High Speed @BBL X2D.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PLA X-PLA High Speed", - "sub_path": "filament/addnorth/addnorth PLA X-PLA High Speed.json" - }, - { - "name": "Generic PLA Silk", - "sub_path": "filament/Generic PLA Silk.json" - }, - { - "name": "Generic PLA Silk @BBL A1", - "sub_path": "filament/Generic PLA Silk @BBL A1.json" - }, - { - "name": "Generic PLA Silk @BBL A1M", - "sub_path": "filament/Generic PLA Silk @BBL A1M.json" - }, - { - "name": "Generic PLA Silk @BBL H2D", - "sub_path": "filament/Generic PLA Silk @BBL H2D.json" - }, - { - "name": "Generic PLA Silk @BBL H2DP", - "sub_path": "filament/Generic PLA Silk @BBL H2DP.json" - }, - { - "name": "Generic PLA Silk @BBL H2S", - "sub_path": "filament/Generic PLA Silk @BBL H2S.json" - }, - { - "name": "Generic PLA Silk @BBL P1P", - "sub_path": "filament/P1P/Generic PLA Silk @BBL P1P.json" - }, - { - "name": "Generic PLA Silk @BBL P2S", - "sub_path": "filament/Generic PLA Silk @BBL P2S.json" - }, - { - "name": "Generic PLA Silk @BBL X2D", - "sub_path": "filament/Generic PLA Silk @BBL X2D.json" - }, - { - "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PLA Premium Silk", - "sub_path": "filament/addnorth/addnorth PLA Premium Silk.json" - }, - { - "name": "Generic PLA-CF", - "sub_path": "filament/Generic PLA-CF.json" - }, - { - "name": "Generic PLA-CF @BBL A1", - "sub_path": "filament/Generic PLA-CF @BBL A1.json" - }, - { - "name": "Generic PLA-CF @BBL A1M", - "sub_path": "filament/Generic PLA-CF @BBL A1M.json" - }, - { - "name": "Generic PLA-CF @BBL H2D", - "sub_path": "filament/Generic PLA-CF @BBL H2D.json" - }, - { - "name": "Generic PLA-CF @BBL H2DP", - "sub_path": "filament/Generic PLA-CF @BBL H2DP.json" - }, - { - "name": "Generic PLA-CF @BBL H2S", - "sub_path": "filament/Generic PLA-CF @BBL H2S.json" - }, - { - "name": "Generic PLA-CF @BBL P1P", - "sub_path": "filament/P1P/Generic PLA-CF @BBL P1P.json" - }, - { - "name": "Generic PLA-CF @BBL P2S", - "sub_path": "filament/Generic PLA-CF @BBL P2S.json" - }, - { - "name": "Generic PLA-CF @BBL X2D", - "sub_path": "filament/Generic PLA-CF @BBL X2D.json" - }, - { - "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth PLA-CF Carbon Fiber", - "sub_path": "filament/addnorth/addnorth PLA-CF Carbon Fiber.json" - }, - { - "name": "Numakers PLA+ @BBL A1", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL A1.json" - }, - { - "name": "Numakers PLA+ @BBL A1 0.2 nozzle", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "Numakers PLA+ @BBL A1M", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL A1M.json" - }, - { - "name": "Numakers PLA+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Numakers PLA+ @BBL P1P", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL P1P.json" - }, - { - "name": "Numakers PLA+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Numakers PLA+ @BBL X1", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL X1.json" - }, - { - "name": "Numakers PLA+ @BBL X1C", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL X1C.json" - }, - { - "name": "Numakers PLA+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/Numakers/Numakers PLA+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL A1", - "sub_path": "filament/Overture/Overture Matte PLA @BBL A1.json" - }, - { - "name": "Overture Matte PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Matte PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL A1M", - "sub_path": "filament/Overture/Overture Matte PLA @BBL A1M.json" - }, - { - "name": "Overture Matte PLA @BBL H2D", - "sub_path": "filament/Overture Matte PLA @BBL H2D.json" - }, - { - "name": "Overture Matte PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL H2DP", - "sub_path": "filament/Overture Matte PLA @BBL H2DP.json" - }, - { - "name": "Overture Matte PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL H2S", - "sub_path": "filament/Overture Matte PLA @BBL H2S.json" - }, - { - "name": "Overture Matte PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL P1P", - "sub_path": "filament/Overture/Overture Matte PLA @BBL P1P.json" - }, - { - "name": "Overture Matte PLA @BBL X1", - "sub_path": "filament/Overture/Overture Matte PLA @BBL X1.json" - }, - { - "name": "Overture Matte PLA @BBL X1C", - "sub_path": "filament/Overture/Overture Matte PLA @BBL X1C.json" - }, - { - "name": "Overture PLA @BBL A1", - "sub_path": "filament/Overture/Overture PLA @BBL A1.json" - }, - { - "name": "Overture PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL A1M", - "sub_path": "filament/Overture/Overture PLA @BBL A1M.json" - }, - { - "name": "Overture PLA @BBL H2D", - "sub_path": "filament/Overture PLA @BBL H2D.json" - }, - { - "name": "Overture PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Overture PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL H2DP", - "sub_path": "filament/Overture PLA @BBL H2DP.json" - }, - { - "name": "Overture PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Overture PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL H2S", - "sub_path": "filament/Overture PLA @BBL H2S.json" - }, - { - "name": "Overture PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/Overture PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL P1P", - "sub_path": "filament/Overture/Overture PLA @BBL P1P.json" - }, - { - "name": "Overture PLA @BBL X1", - "sub_path": "filament/Overture/Overture PLA @BBL X1.json" - }, - { - "name": "Overture PLA @BBL X1C", - "sub_path": "filament/Overture/Overture PLA @BBL X1C.json" - }, - { - "name": "Overture PLA Pro @BBL A1", - "sub_path": "filament/Overture/Overture PLA Pro @BBL A1.json" - }, - { - "name": "Overture PLA Pro @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA Pro @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture PLA Pro @BBL A1M", - "sub_path": "filament/Overture/Overture PLA Pro @BBL A1M.json" - }, - { - "name": "Overture PLA Pro @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA Pro @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture PLA Pro @BBL P1P", - "sub_path": "filament/Overture/Overture PLA Pro @BBL P1P.json" - }, - { - "name": "Overture PLA Pro @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA Pro @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture PLA Pro @BBL X1", - "sub_path": "filament/Overture/Overture PLA Pro @BBL X1.json" - }, - { - "name": "Overture PLA Pro @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA Pro @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture PLA Pro @BBL X1C", - "sub_path": "filament/Overture/Overture PLA Pro @BBL X1C.json" - }, - { - "name": "Overture PLA Pro @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA Pro @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma CoPE @BBL A1", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL A1.json" - }, - { - "name": "Panchroma CoPE @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma CoPE @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL A1M.json" - }, - { - "name": "Panchroma CoPE @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma CoPE @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL P1P.json" - }, - { - "name": "Panchroma CoPE @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma CoPE @BBL X1", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL X1.json" - }, - { - "name": "Panchroma CoPE @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma CoPE @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL X1C.json" - }, - { - "name": "Panchroma CoPE @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma CoPE @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL A1.json" - }, - { - "name": "Panchroma PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL A1M.json" - }, - { - "name": "Panchroma PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL P1P.json" - }, - { - "name": "Panchroma PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL X1.json" - }, - { - "name": "Panchroma PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL X1C.json" - }, - { - "name": "Panchroma PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Celestial @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL A1.json" - }, - { - "name": "Panchroma PLA Celestial @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Celestial @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json" - }, - { - "name": "Panchroma PLA Celestial @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Celestial @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json" - }, - { - "name": "Panchroma PLA Celestial @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Celestial @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL X1.json" - }, - { - "name": "Panchroma PLA Celestial @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Celestial @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL X1C.json" - }, - { - "name": "Panchroma PLA Celestial @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL X1C.json" - }, - { - "name": "Panchroma PLA Galaxy @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Glow @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL A1.json" - }, - { - "name": "Panchroma PLA Glow @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Glow @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL A1M.json" - }, - { - "name": "Panchroma PLA Glow @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Glow @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL P1P.json" - }, - { - "name": "Panchroma PLA Glow @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Glow @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL X1.json" - }, - { - "name": "Panchroma PLA Glow @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Glow @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL X1C.json" - }, - { - "name": "Panchroma PLA Glow @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Luminous @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL A1.json" - }, - { - "name": "Panchroma PLA Luminous @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Luminous @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json" - }, - { - "name": "Panchroma PLA Luminous @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Luminous @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json" - }, - { - "name": "Panchroma PLA Luminous @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Luminous @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL X1.json" - }, - { - "name": "Panchroma PLA Luminous @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Luminous @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL X1C.json" - }, - { - "name": "Panchroma PLA Luminous @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Marble @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL A1.json" - }, - { - "name": "Panchroma PLA Marble @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Marble @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL A1M.json" - }, - { - "name": "Panchroma PLA Marble @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Marble @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL P1P.json" - }, - { - "name": "Panchroma PLA Marble @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Marble @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL X1.json" - }, - { - "name": "Panchroma PLA Marble @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Marble @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL X1C.json" - }, - { - "name": "Panchroma PLA Marble @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Matte @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL A1.json" - }, - { - "name": "Panchroma PLA Matte @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Matte @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL A1M.json" - }, - { - "name": "Panchroma PLA Matte @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Matte @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL P1P.json" - }, - { - "name": "Panchroma PLA Matte @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Matte @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL X1.json" - }, - { - "name": "Panchroma PLA Matte @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Matte @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL X1C.json" - }, - { - "name": "Panchroma PLA Matte @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Metallic @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL A1.json" - }, - { - "name": "Panchroma PLA Metallic @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Metallic @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json" - }, - { - "name": "Panchroma PLA Metallic @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Metallic @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json" - }, - { - "name": "Panchroma PLA Metallic @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Metallic @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL X1.json" - }, - { - "name": "Panchroma PLA Metallic @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Metallic @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL X1C.json" - }, - { - "name": "Panchroma PLA Metallic @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Neon @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL A1.json" - }, - { - "name": "Panchroma PLA Neon @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Neon @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL A1M.json" - }, - { - "name": "Panchroma PLA Neon @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Neon @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL P1P.json" - }, - { - "name": "Panchroma PLA Neon @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Neon @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL X1.json" - }, - { - "name": "Panchroma PLA Neon @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Neon @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL X1C.json" - }, - { - "name": "Panchroma PLA Neon @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Satin @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL A1.json" - }, - { - "name": "Panchroma PLA Satin @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Satin @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL A1M.json" - }, - { - "name": "Panchroma PLA Satin @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Satin @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL P1P.json" - }, - { - "name": "Panchroma PLA Satin @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Satin @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL X1.json" - }, - { - "name": "Panchroma PLA Satin @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Satin @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL X1C.json" - }, - { - "name": "Panchroma PLA Satin @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Silk @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL A1.json" - }, - { - "name": "Panchroma PLA Silk @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Silk @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL A1M.json" - }, - { - "name": "Panchroma PLA Silk @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Silk @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL P1P.json" - }, - { - "name": "Panchroma PLA Silk @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Silk @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL X1.json" - }, - { - "name": "Panchroma PLA Silk @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Silk @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL X1C.json" - }, - { - "name": "Panchroma PLA Silk @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Starlight @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL A1.json" - }, - { - "name": "Panchroma PLA Starlight @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Starlight @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json" - }, - { - "name": "Panchroma PLA Starlight @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Starlight @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json" - }, - { - "name": "Panchroma PLA Starlight @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Starlight @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL X1.json" - }, - { - "name": "Panchroma PLA Starlight @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Starlight @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL X1C.json" - }, - { - "name": "Panchroma PLA Starlight @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL A1.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL X1.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C.json" - }, - { - "name": "Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Translucent @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL A1.json" - }, - { - "name": "Panchroma PLA Translucent @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Translucent @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json" - }, - { - "name": "Panchroma PLA Translucent @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Translucent @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json" - }, - { - "name": "Panchroma PLA Translucent @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Translucent @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL X1.json" - }, - { - "name": "Panchroma PLA Translucent @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA Translucent @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL X1C.json" - }, - { - "name": "Panchroma PLA Translucent @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL A1", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL A1M", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL P1P", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL X1", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL X1C", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL X1C.json" - }, - { - "name": "Panchroma PLA UV Shift @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json" - }, - { - "name": "PolyLite CosPLA @BBL A1", - "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL A1.json" - }, - { - "name": "PolyLite CosPLA @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL A1M.json" - }, - { - "name": "PolyLite CosPLA @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL P1P.json" - }, - { - "name": "PolyLite CosPLA @BBL X1", - "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL X1.json" - }, - { - "name": "PolyLite PLA @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL A1.json" - }, - { - "name": "PolyLite PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL A1M.json" - }, - { - "name": "PolyLite PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL H2D", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL H2D.json" - }, - { - "name": "PolyLite PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL H2DP", - "sub_path": "filament/PolyLite PLA @BBL H2DP.json" - }, - { - "name": "PolyLite PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL H2S", - "sub_path": "filament/PolyLite PLA @BBL H2S.json" - }, - { - "name": "PolyLite PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/PolyLite PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL P1P", - "sub_path": "filament/P1P/PolyLite PLA @BBL P1P.json" - }, - { - "name": "PolyLite PLA @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL X1.json" - }, - { - "name": "PolyLite PLA @BBL X1C", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL X1C.json" - }, - { - "name": "PolyLite PLA Galaxy @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json" - }, - { - "name": "PolyLite PLA Galaxy @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json" - }, - { - "name": "PolyLite PLA Galaxy @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json" - }, - { - "name": "PolyLite PLA Galaxy @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json" - }, - { - "name": "PolyLite PLA Glow @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL A1.json" - }, - { - "name": "PolyLite PLA Glow @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL A1M.json" - }, - { - "name": "PolyLite PLA Glow @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL P1P.json" - }, - { - "name": "PolyLite PLA Glow @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL X1.json" - }, - { - "name": "PolyLite PLA Luminous @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL A1.json" - }, - { - "name": "PolyLite PLA Luminous @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json" - }, - { - "name": "PolyLite PLA Luminous @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json" - }, - { - "name": "PolyLite PLA Luminous @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL X1.json" - }, - { - "name": "PolyLite PLA Neon @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL A1.json" - }, - { - "name": "PolyLite PLA Neon @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL A1M.json" - }, - { - "name": "PolyLite PLA Neon @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL P1P.json" - }, - { - "name": "PolyLite PLA Neon @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL X1.json" - }, - { - "name": "PolyLite PLA Pro @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL A1.json" - }, - { - "name": "PolyLite PLA Pro @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA Pro @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL A1M.json" - }, - { - "name": "PolyLite PLA Pro @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA Pro @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL P1P.json" - }, - { - "name": "PolyLite PLA Pro @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA Pro @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL X1.json" - }, - { - "name": "PolyLite PLA Pro @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL X1 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA Pro @BBL X1C", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL X1C.json" - }, - { - "name": "PolyLite PLA Pro @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA Starlight @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL A1.json" - }, - { - "name": "PolyLite PLA Starlight @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json" - }, - { - "name": "PolyLite PLA Starlight @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json" - }, - { - "name": "PolyLite PLA Starlight @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL X1.json" - }, - { - "name": "PolyLite PLA Translucent @BBL A1", - "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL A1.json" - }, - { - "name": "PolyLite PLA Translucent @BBL A1M", - "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json" - }, - { - "name": "PolyLite PLA Translucent @BBL P1P", - "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json" - }, - { - "name": "PolyLite PLA Translucent @BBL X1", - "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL X1.json" - }, - { - "name": "PolyTerra PLA @BBL A1", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL A1.json" - }, - { - "name": "PolyTerra PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL A1M", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL A1M.json" - }, - { - "name": "PolyTerra PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL H2D", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL H2D.json" - }, - { - "name": "PolyTerra PLA @BBL H2D 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL H2D 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL H2DP", - "sub_path": "filament/PolyTerra PLA @BBL H2DP.json" - }, - { - "name": "PolyTerra PLA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL H2S", - "sub_path": "filament/PolyTerra PLA @BBL H2S.json" - }, - { - "name": "PolyTerra PLA @BBL H2S 0.2 nozzle", - "sub_path": "filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL P1P", - "sub_path": "filament/P1P/PolyTerra PLA @BBL P1P.json" - }, - { - "name": "PolyTerra PLA @BBL X1", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL X1.json" - }, - { - "name": "PolyTerra PLA @BBL X1C", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL X1C.json" - }, - { - "name": "PolyTerra PLA Marble @BBL A1", - "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL A1.json" - }, - { - "name": "PolyTerra PLA Marble @BBL A1M", - "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json" - }, - { - "name": "PolyTerra PLA Marble @BBL P1P", - "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json" - }, - { - "name": "PolyTerra PLA Marble @BBL X1", - "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL X1.json" - }, - { - "name": "PolyTerra PLA+ @BBL A1", - "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL A1.json" - }, - { - "name": "PolyTerra PLA+ @BBL A1M", - "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL A1M.json" - }, - { - "name": "PolyTerra PLA+ @BBL P1P", - "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL P1P.json" - }, - { - "name": "PolyTerra PLA+ @BBL X1", - "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL X1.json" - }, - { - "name": "Polymaker HT-PLA @BBL A1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL A1.json" - }, - { - "name": "Polymaker HT-PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA @BBL A1M", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL A1M.json" - }, - { - "name": "Polymaker HT-PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA @BBL P1P", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL P1P.json" - }, - { - "name": "Polymaker HT-PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA @BBL X1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL X1.json" - }, - { - "name": "Polymaker HT-PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA @BBL X1C", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL X1C.json" - }, - { - "name": "Polymaker HT-PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL A1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL A1.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL A1 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL A1M", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL P1P", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL X1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL X1.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL X1 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL X1C", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C.json" - }, - { - "name": "Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA Marble @BBL A1", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL A1.json" - }, - { - "name": "SUNLU PLA Marble @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL A1M.json" - }, - { - "name": "SUNLU PLA Marble @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL P1P.json" - }, - { - "name": "SUNLU PLA Marble @BBL X1", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL X1.json" - }, - { - "name": "SUNLU PLA Marble @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU Marble PLA @BBL X1C.json" - }, - { - "name": "SUNLU PLA Matte @BBL A1", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1.json" - }, - { - "name": "SUNLU PLA Matte @BBL A1 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA Matte @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1M.json" - }, - { - "name": "SUNLU PLA Matte @BBL A1M 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA Matte @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL P1P.json" - }, - { - "name": "SUNLU PLA Matte @BBL P1P 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA Matte @BBL X1", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1.json" - }, - { - "name": "SUNLU PLA Matte @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1C.json" - }, - { - "name": "SUNLU PLA Matte @BBL X1C 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL A1", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL X1", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json" - }, - { - "name": "SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ @BBL A1", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1.json" - }, - { - "name": "SUNLU PLA+ @BBL A1 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1M.json" - }, - { - "name": "SUNLU PLA+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL P1P.json" - }, - { - "name": "SUNLU PLA+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "SUNLU PLA+ @BBL X1", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1.json" - }, - { - "name": "SUNLU PLA+ @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1C.json" - }, - { - "name": "SUNLU PLA+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL A1", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL A1 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL X1", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json" - }, - { - "name": "SUNLU Silk PLA+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "SUNLU Wood PLA @BBL A1", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL A1.json" - }, - { - "name": "SUNLU Wood PLA @BBL A1M", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL A1M.json" - }, - { - "name": "SUNLU Wood PLA @BBL P1P", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL P1P.json" - }, - { - "name": "SUNLU Wood PLA @BBL X1", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL X1.json" - }, - { - "name": "SUNLU Wood PLA @BBL X1C", - "sub_path": "filament/SUNLU/SUNLU Wood PLA @BBL X1C.json" - }, - { - "name": "eSUN PLA+ @BBL A1", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL A1.json" - }, - { - "name": "eSUN PLA+ @BBL A1 0.2 nozzle", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL A1M", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL A1M.json" - }, - { - "name": "eSUN PLA+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL H2D", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL H2D.json" - }, - { - "name": "eSUN PLA+ @BBL H2D 0.2 nozzle", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL H2D 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL H2DP", - "sub_path": "filament/eSUN PLA+ @BBL H2DP.json" - }, - { - "name": "eSUN PLA+ @BBL H2DP 0.2 nozzle", - "sub_path": "filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL H2S", - "sub_path": "filament/eSUN PLA+ @BBL H2S.json" - }, - { - "name": "eSUN PLA+ @BBL H2S 0.2 nozzle", - "sub_path": "filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL P1P", - "sub_path": "filament/P1P/eSUN PLA+ @BBL P1P.json" - }, - { - "name": "eSUN PLA+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "eSUN PLA+ @BBL X1", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL X1.json" - }, - { - "name": "eSUN PLA+ @BBL X1C", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL X1C.json" - }, - { - "name": "eSUN PLA+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/eSUN/eSUN PLA+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic PP @BBL A1", - "sub_path": "filament/Generic PP @BBL A1.json" - }, - { - "name": "Generic PP @BBL A1M", - "sub_path": "filament/Generic PP @BBL A1M.json" - }, - { - "name": "Generic PP @BBL H2D", - "sub_path": "filament/Generic PP @BBL H2D.json" - }, - { - "name": "Generic PP @BBL H2DP", - "sub_path": "filament/Generic PP @BBL H2DP.json" - }, - { - "name": "Generic PP @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PP @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PP @BBL P2S", - "sub_path": "filament/Generic PP @BBL P2S.json" - }, - { - "name": "Generic PP @BBL X1C", - "sub_path": "filament/Generic PP @BBL X1C.json" - }, - { - "name": "Generic PP @BBL X2D", - "sub_path": "filament/Generic PP @BBL X2D.json" - }, - { - "name": "Generic PP @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PP-CF @BBL A1", - "sub_path": "filament/Generic PP-CF @BBL A1.json" - }, - { - "name": "Generic PP-CF @BBL H2D", - "sub_path": "filament/Generic PP-CF @BBL H2D.json" - }, - { - "name": "Generic PP-CF @BBL H2DP", - "sub_path": "filament/Generic PP-CF @BBL H2DP.json" - }, - { - "name": "Generic PP-CF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PP-CF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PP-CF @BBL P2S", - "sub_path": "filament/Generic PP-CF @BBL P2S.json" - }, - { - "name": "Generic PP-CF @BBL X1C", - "sub_path": "filament/Generic PP-CF @BBL X1C.json" - }, - { - "name": "Generic PP-CF @BBL X2D", - "sub_path": "filament/Generic PP-CF @BBL X2D.json" - }, - { - "name": "Generic PP-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PP-GF @BBL A1", - "sub_path": "filament/Generic PP-GF @BBL A1.json" - }, - { - "name": "Generic PP-GF @BBL H2D", - "sub_path": "filament/Generic PP-GF @BBL H2D.json" - }, - { - "name": "Generic PP-GF @BBL H2DP", - "sub_path": "filament/Generic PP-GF @BBL H2DP.json" - }, - { - "name": "Generic PP-GF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PP-GF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PP-GF @BBL P2S", - "sub_path": "filament/Generic PP-GF @BBL P2S.json" - }, - { - "name": "Generic PP-GF @BBL X1C", - "sub_path": "filament/Generic PP-GF @BBL X1C.json" - }, - { - "name": "Generic PP-GF @BBL X2D", - "sub_path": "filament/Generic PP-GF @BBL X2D.json" - }, - { - "name": "Generic PP-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PPA-CF @BBL H2D", - "sub_path": "filament/Bambu PPA-CF @BBL H2D.json" - }, - { - "name": "Bambu PPA-CF @BBL H2DP", - "sub_path": "filament/Bambu PPA-CF @BBL H2DP.json" - }, - { - "name": "Bambu PPA-CF @BBL H2S", - "sub_path": "filament/Bambu PPA-CF @BBL H2S.json" - }, - { - "name": "Bambu PPA-CF @BBL P2S", - "sub_path": "filament/Bambu PPA-CF @BBL P2S.json" - }, - { - "name": "Bambu PPA-CF @BBL X1C", - "sub_path": "filament/Bambu PPA-CF @BBL X1C.json" - }, - { - "name": "Bambu PPA-CF @BBL X1E", - "sub_path": "filament/Bambu PPA-CF @BBL X1E.json" - }, - { - "name": "Bambu PPA-CF @BBL X2D", - "sub_path": "filament/Bambu PPA-CF @BBL X2D.json" - }, - { - "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PPA-CF @BBL H2D", - "sub_path": "filament/Generic PPA-CF @BBL H2D.json" - }, - { - "name": "Generic PPA-CF @BBL H2DP", - "sub_path": "filament/Generic PPA-CF @BBL H2DP.json" - }, - { - "name": "Generic PPA-CF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PPA-CF @BBL P2S", - "sub_path": "filament/Generic PPA-CF @BBL P2S.json" - }, - { - "name": "Generic PPA-CF @BBL X1C", - "sub_path": "filament/Generic PPA-CF @BBL X1C.json" - }, - { - "name": "Generic PPA-CF @BBL X1E", - "sub_path": "filament/Generic PPA-CF @BBL X1E.json" - }, - { - "name": "Generic PPA-CF @BBL X2D", - "sub_path": "filament/Generic PPA-CF @BBL X2D.json" - }, - { - "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PPA-GF @BBL H2D", - "sub_path": "filament/Generic PPA-GF @BBL H2D.json" - }, - { - "name": "Generic PPA-GF @BBL H2DP", - "sub_path": "filament/Generic PPA-GF @BBL H2DP.json" - }, - { - "name": "Generic PPA-GF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PPA-GF @BBL P2S", - "sub_path": "filament/Generic PPA-GF @BBL P2S.json" - }, - { - "name": "Generic PPA-GF @BBL X1C", - "sub_path": "filament/Generic PPA-GF @BBL X1C.json" - }, - { - "name": "Generic PPA-GF @BBL X1E", - "sub_path": "filament/Generic PPA-GF @BBL X1E.json" - }, - { - "name": "Generic PPA-GF @BBL X2D", - "sub_path": "filament/Generic PPA-GF @BBL X2D.json" - }, - { - "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PPS-CF @BBL H2D", - "sub_path": "filament/Bambu PPS-CF @BBL H2D.json" - }, - { - "name": "Bambu PPS-CF @BBL H2DP", - "sub_path": "filament/Bambu PPS-CF @BBL H2DP.json" - }, - { - "name": "Bambu PPS-CF @BBL H2S", - "sub_path": "filament/Bambu PPS-CF @BBL H2S.json" - }, - { - "name": "Bambu PPS-CF @BBL X1E", - "sub_path": "filament/Bambu PPS-CF @BBL X1E.json" - }, - { - "name": "Generic PPS @BBL H2D", - "sub_path": "filament/Generic PPS @BBL H2D.json" - }, - { - "name": "Generic PPS @BBL H2DP", - "sub_path": "filament/Generic PPS @BBL H2DP.json" - }, - { - "name": "Generic PPS @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PPS @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PPS @BBL X1E", - "sub_path": "filament/Generic PPS @BBL X1E.json" - }, - { - "name": "Generic PPS-CF @BBL H2D", - "sub_path": "filament/Generic PPS-CF @BBL H2D.json" - }, - { - "name": "Generic PPS-CF @BBL H2DP", - "sub_path": "filament/Generic PPS-CF @BBL H2DP.json" - }, - { - "name": "Generic PPS-CF @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PPS-CF @BBL X1E", - "sub_path": "filament/Generic PPS-CF @BBL X1E.json" - }, - { - "name": "Bambu PVA @BBL A1", - "sub_path": "filament/Bambu PVA @BBL A1.json" - }, - { - "name": "Bambu PVA @BBL A1 0.2 nozzle", - "sub_path": "filament/Bambu PVA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Bambu PVA @BBL A1M", - "sub_path": "filament/Bambu PVA @BBL A1M.json" - }, - { - "name": "Bambu PVA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Bambu PVA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Bambu PVA @BBL H2D", - "sub_path": "filament/Bambu PVA @BBL H2D.json" - }, - { - "name": "Bambu PVA @BBL H2DP", - "sub_path": "filament/Bambu PVA @BBL H2DP.json" - }, - { - "name": "Bambu PVA @BBL H2S", - "sub_path": "filament/Bambu PVA @BBL H2S.json" - }, - { - "name": "Bambu PVA @BBL P1P", - "sub_path": "filament/Bambu PVA @BBL P1P.json" - }, - { - "name": "Bambu PVA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PVA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PVA @BBL P2S", - "sub_path": "filament/Bambu PVA @BBL P2S.json" - }, - { - "name": "Bambu PVA @BBL X1C", - "sub_path": "filament/Bambu PVA @BBL X1C.json" - }, - { - "name": "Bambu PVA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PVA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PVA @BBL X2D", - "sub_path": "filament/Bambu PVA @BBL X2D.json" - }, - { - "name": "Bambu PVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PVA", - "sub_path": "filament/Generic PVA.json" - }, - { - "name": "Generic PVA @0.2 nozzle", - "sub_path": "filament/Generic PVA @0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL A1", - "sub_path": "filament/Generic PVA @BBL A1.json" - }, - { - "name": "Generic PVA @BBL A1 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL A1M", - "sub_path": "filament/Generic PVA @BBL A1M.json" - }, - { - "name": "Generic PVA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL H2D", - "sub_path": "filament/Generic PVA @BBL H2D.json" - }, - { - "name": "Generic PVA @BBL H2DP", - "sub_path": "filament/Generic PVA @BBL H2DP.json" - }, - { - "name": "Generic PVA @BBL H2S 0.4 nozzle", - "sub_path": "filament/Generic PVA @BBL H2S 0.4 nozzle.json" - }, - { - "name": "Generic PVA @BBL P1P", - "sub_path": "filament/P1P/Generic PVA @BBL P1P.json" - }, - { - "name": "Generic PVA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL P2S", - "sub_path": "filament/Generic PVA @BBL P2S.json" - }, - { - "name": "Generic PVA @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL X2D", - "sub_path": "filament/Generic PVA @BBL X2D.json" - }, - { - "name": "Generic PVA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic SBS", - "sub_path": "filament/Generic SBS.json" - }, - { - "name": "BETA PEBA 90A @BBL A1", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1.json" - }, - { - "name": "BETA PEBA 90A @BBL A1M", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1M.json" - }, - { - "name": "BETA PEBA 90A @BBL H2D", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL H2D.json" - }, - { - "name": "BETA PEBA 90A @BBL P1P", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL P1P.json" - }, - { - "name": "BETA PEBA 90A @BBL X1C", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL X1C.json" - }, - { - "name": "BETA TPU 90A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 90A @BBL A1.json" - }, - { - "name": "BETA TPU 90A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 90A @BBL A1M.json" - }, - { - "name": "BETA TPU 90A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 90A @BBL H2D.json" - }, - { - "name": "BETA TPU 90A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 90A @BBL P1P.json" - }, - { - "name": "BETA TPU 90A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 90A @BBL X1C.json" - }, - { - "name": "BETA TPU 95A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 95A @BBL A1.json" - }, - { - "name": "BETA TPU 95A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 95A @BBL A1M.json" - }, - { - "name": "BETA TPU 95A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 95A @BBL H2D.json" - }, - { - "name": "BETA TPU 95A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 95A @BBL P1P.json" - }, - { - "name": "BETA TPU 95A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 95A @BBL X1C.json" - }, - { - "name": "BETA TPU 98A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 98A @BBL A1.json" - }, - { - "name": "BETA TPU 98A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 98A @BBL A1M.json" - }, - { - "name": "BETA TPU 98A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 98A @BBL H2D.json" - }, - { - "name": "BETA TPU 98A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 98A @BBL P1P.json" - }, - { - "name": "BETA TPU 98A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 98A @BBL X1C.json" - }, - { - "name": "BETA TPU Matte @BBL A1", - "sub_path": "filament/BETA/BETA TPU Matte @BBL A1.json" - }, - { - "name": "BETA TPU Matte @BBL A1M", - "sub_path": "filament/BETA/BETA TPU Matte @BBL A1M.json" - }, - { - "name": "BETA TPU Matte @BBL H2D", - "sub_path": "filament/BETA/BETA TPU Matte @BBL H2D.json" - }, - { - "name": "BETA TPU Matte @BBL P1P", - "sub_path": "filament/BETA/BETA TPU Matte @BBL P1P.json" - }, - { - "name": "BETA TPU Matte @BBL X1C", - "sub_path": "filament/BETA/BETA TPU Matte @BBL X1C.json" - }, - { - "name": "Bambu TPU 85A @BBL H2D", - "sub_path": "filament/Bambu TPU 85A @BBL H2D.json" - }, - { - "name": "Bambu TPU 85A @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL H2DP", - "sub_path": "filament/Bambu TPU 85A @BBL H2DP.json" - }, - { - "name": "Bambu TPU 85A @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL H2S", - "sub_path": "filament/Bambu TPU 85A @BBL H2S.json" - }, - { - "name": "Bambu TPU 85A @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL P1P", - "sub_path": "filament/Bambu TPU 85A @BBL P1P.json" - }, - { - "name": "Bambu TPU 85A @BBL P2S", - "sub_path": "filament/Bambu TPU 85A @BBL P2S.json" - }, - { - "name": "Bambu TPU 85A @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL X1C", - "sub_path": "filament/Bambu TPU 85A @BBL X1C.json" - }, - { - "name": "Bambu TPU 85A @BBL X2D", - "sub_path": "filament/Bambu TPU 85A @BBL X2D.json" - }, - { - "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL A1", - "sub_path": "filament/Bambu TPU 90A @BBL A1.json" - }, - { - "name": "Bambu TPU 90A @BBL A1M", - "sub_path": "filament/Bambu TPU 90A @BBL A1M.json" - }, - { - "name": "Bambu TPU 90A @BBL H2D", - "sub_path": "filament/Bambu TPU 90A @BBL H2D.json" - }, - { - "name": "Bambu TPU 90A @BBL H2D 0.6 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2DP", - "sub_path": "filament/Bambu TPU 90A @BBL H2DP.json" - }, - { - "name": "Bambu TPU 90A @BBL H2DP 0.6 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2S", - "sub_path": "filament/Bambu TPU 90A @BBL H2S.json" - }, - { - "name": "Bambu TPU 90A @BBL H2S 0.6 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2S 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL P1P", - "sub_path": "filament/Bambu TPU 90A @BBL P1P.json" - }, - { - "name": "Bambu TPU 90A @BBL P2S", - "sub_path": "filament/Bambu TPU 90A @BBL P2S.json" - }, - { - "name": "Bambu TPU 90A @BBL P2S 0.6 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL P2S 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL X1C", - "sub_path": "filament/Bambu TPU 90A @BBL X1C.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D", - "sub_path": "filament/Bambu TPU 90A @BBL X2D.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 95A @BBL A1", - "sub_path": "filament/Bambu TPU 95A @BBL A1.json" - }, - { - "name": "Bambu TPU 95A @BBL A1M", - "sub_path": "filament/Bambu TPU 95A @BBL A1M.json" - }, - { - "name": "Bambu TPU 95A @BBL H2D", - "sub_path": "filament/Bambu TPU 95A @BBL H2D.json" - }, - { - "name": "Bambu TPU 95A @BBL H2DP", - "sub_path": "filament/Bambu TPU 95A @BBL H2DP.json" - }, - { - "name": "Bambu TPU 95A @BBL H2S", - "sub_path": "filament/Bambu TPU 95A @BBL H2S.json" - }, - { - "name": "Bambu TPU 95A @BBL P1P", - "sub_path": "filament/P1P/Bambu TPU 95A @BBL P1P.json" - }, - { - "name": "Bambu TPU 95A @BBL P2S", - "sub_path": "filament/Bambu TPU 95A @BBL P2S.json" - }, - { - "name": "Bambu TPU 95A @BBL X1", - "sub_path": "filament/Bambu TPU 95A @BBL X1.json" - }, - { - "name": "Bambu TPU 95A @BBL X1C", - "sub_path": "filament/Bambu TPU 95A @BBL X1C.json" - }, - { - "name": "Bambu TPU 95A @BBL X2D", - "sub_path": "filament/Bambu TPU 95A @BBL X2D.json" - }, - { - "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL A1", - "sub_path": "filament/Bambu TPU 95A HF @BBL A1.json" - }, - { - "name": "Bambu TPU 95A HF @BBL A1M", - "sub_path": "filament/Bambu TPU 95A HF @BBL A1M.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2D", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2D.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2DP", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2DP.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2DP 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2S", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2S.json" - }, - { - "name": "Bambu TPU 95A HF @BBL P1P", - "sub_path": "filament/Bambu TPU 95A HF @BBL P1P.json" - }, - { - "name": "Bambu TPU 95A HF @BBL P1S", - "sub_path": "filament/Bambu TPU 95A HF @BBL P1S.json" - }, - { - "name": "Bambu TPU 95A HF @BBL P2S", - "sub_path": "filament/Bambu TPU 95A HF @BBL P2S.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X1", - "sub_path": "filament/Bambu TPU 95A HF @BBL X1.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X1C", - "sub_path": "filament/Bambu TPU 95A HF @BBL X1C.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X1E", - "sub_path": "filament/Bambu TPU 95A HF @BBL X1E.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X2D", - "sub_path": "filament/Bambu TPU 95A HF @BBL X2D.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU for AMS @BBL A1", - "sub_path": "filament/Bambu TPU for AMS @BBL A1.json" - }, - { - "name": "Bambu TPU for AMS @BBL A1M", - "sub_path": "filament/Bambu TPU for AMS @BBL A1M.json" - }, - { - "name": "Bambu TPU for AMS @BBL H2D", - "sub_path": "filament/Bambu TPU for AMS @BBL H2D.json" - }, - { - "name": "Bambu TPU for AMS @BBL H2DP", - "sub_path": "filament/Bambu TPU for AMS @BBL H2DP.json" - }, - { - "name": "Bambu TPU for AMS @BBL H2S", - "sub_path": "filament/Bambu TPU for AMS @BBL H2S.json" - }, - { - "name": "Bambu TPU for AMS @BBL P1P", - "sub_path": "filament/Bambu TPU for AMS @BBL P1P.json" - }, - { - "name": "Bambu TPU for AMS @BBL P2S", - "sub_path": "filament/Bambu TPU for AMS @BBL P2S.json" - }, - { - "name": "Bambu TPU for AMS @BBL X1C", - "sub_path": "filament/Bambu TPU for AMS @BBL X1C.json" - }, - { - "name": "Bambu TPU for AMS @BBL X2D", - "sub_path": "filament/Bambu TPU for AMS @BBL X2D.json" - }, - { - "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic TPU", - "sub_path": "filament/Generic TPU.json" - }, - { - "name": "Generic TPU @BBL H2D", - "sub_path": "filament/Generic TPU @BBL H2D.json" - }, - { - "name": "Generic TPU @BBL H2DP", - "sub_path": "filament/Generic TPU @BBL H2DP.json" - }, - { - "name": "Generic TPU @BBL P1P", - "sub_path": "filament/P1P/Generic TPU @BBL P1P.json" - }, - { - "name": "Generic TPU @BBL P2S", - "sub_path": "filament/Generic TPU @BBL P2S.json" - }, - { - "name": "Generic TPU @BBL X2D", - "sub_path": "filament/Generic TPU @BBL X2D.json" - }, - { - "name": "Generic TPU @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic TPU @BBL X2D 0.4 nozzle.json" - }, - { - "name": "addnorth TPU EasyFlex", - "sub_path": "filament/addnorth/addnorth TPU EasyFlex.json" - }, - { - "name": "addnorth TPU Pro Matte 85A", - "sub_path": "filament/addnorth/addnorth TPU Pro Matte 85A.json" - }, - { - "name": "addnorth TPU Pro Matte 95A", - "sub_path": "filament/addnorth/addnorth TPU Pro Matte 95A.json" - }, - { - "name": "Generic TPU for AMS @BBL A1", - "sub_path": "filament/Generic TPU for AMS @BBL A1.json" - }, - { - "name": "Generic TPU for AMS @BBL A1M", - "sub_path": "filament/Generic TPU for AMS @BBL A1M.json" - }, - { - "name": "Generic TPU for AMS @BBL H2D", - "sub_path": "filament/Generic TPU for AMS @BBL H2D.json" - }, - { - "name": "Generic TPU for AMS @BBL H2DP", - "sub_path": "filament/Generic TPU for AMS @BBL H2DP.json" - }, - { - "name": "Generic TPU for AMS @BBL H2S", - "sub_path": "filament/Generic TPU for AMS @BBL H2S.json" - }, - { - "name": "Generic TPU for AMS @BBL P1P", - "sub_path": "filament/Generic TPU for AMS @BBL P1P.json" - }, - { - "name": "Generic TPU for AMS @BBL P2S", - "sub_path": "filament/Generic TPU for AMS @BBL P2S.json" - }, - { - "name": "Generic TPU for AMS @BBL X1C", - "sub_path": "filament/Generic TPU for AMS @BBL X1C.json" - }, - { - "name": "Generic TPU for AMS @BBL X2D", - "sub_path": "filament/Generic TPU for AMS @BBL X2D.json" - }, - { - "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2DP", - "sub_path": "filament/Generic ABS @BBL H2DP.json" - }, - { - "name": "Generic ABS @BBL X1E", - "sub_path": "filament/Generic ABS @BBL X1E.json" - }, - { - "name": "Generic ABS @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL X1E 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL X1E 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ABS @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2DP", - "sub_path": "filament/Generic ASA @BBL H2DP.json" - }, - { - "name": "Generic ASA @BBL X1E", - "sub_path": "filament/Generic ASA @BBL X1E.json" - }, - { - "name": "Generic ASA @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL X1E 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL X1E 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "PolyLite ASA @BBL X1E 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite ASA @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Generic PA @BBL A1", - "sub_path": "filament/Generic PA @BBL A1.json" - }, - { - "name": "Generic PA-CF @BBL A1", - "sub_path": "filament/Generic PA-CF @BBL A1.json" - }, - { - "name": "Generic PA-CF @BBL H2D", - "sub_path": "filament/Generic PA-CF @BBL H2D.json" - }, - { - "name": "Generic PA-CF @BBL H2DP", - "sub_path": "filament/Generic PA-CF @BBL H2DP.json" - }, - { - "name": "Generic PA-CF @BBL X1E", - "sub_path": "filament/Generic PA-CF @BBL X1E.json" - }, - { - "name": "Bambu PC @BBL P1S", - "sub_path": "filament/Bambu PC @BBL P1S.json" - }, - { - "name": "Bambu PC @BBL P1S 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL P1S 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL P1S 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL P1S 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL P1S 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL P1S 0.8 nozzle.json" - }, - { - "name": "Generic PC @BBL H2DP", - "sub_path": "filament/Generic PC @BBL H2DP.json" - }, - { - "name": "Generic PC @BBL P1S", - "sub_path": "filament/Generic PC @BBL P1S.json" - }, - { - "name": "Generic PC @BBL P2S", - "sub_path": "filament/Generic PC @BBL P2S.json" - }, - { - "name": "Generic PC @BBL X1E", - "sub_path": "filament/Generic PC @BBL X1E.json" - }, - { - "name": "Generic PC @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL P1S 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL P1S 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL P2S 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL P2S 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL X1E 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A1M 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL A1M 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL A1M 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL P1P 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyLite PETG @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PETG @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL P1P 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X1 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X1C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X1E 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL A1M 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL P1P 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL X1C 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Matte PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Matte PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Matte PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Matte PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyLite PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "PolyTerra PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Polymaker/PolyTerra PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Generic TPU @BBL A1", - "sub_path": "filament/Generic TPU @BBL A1.json" - }, - { - "name": "Generic TPU @BBL A1M", - "sub_path": "filament/Generic TPU @BBL A1M.json" - }, - { - "name": "Generic TPU @BBL H2S", - "sub_path": "filament/Generic TPU @BBL H2S.json" - }, - { - "name": "AliZ PA-CF @P1-X1", - "sub_path": "filament/AliZ/AliZ PA-CF @P1-X1.json" - }, - { - "name": "AliZ PETG @P1-X1", - "sub_path": "filament/AliZ/AliZ PETG @P1-X1.json" - }, - { - "name": "AliZ PETG-CF @P1-X1", - "sub_path": "filament/AliZ/AliZ PETG-CF @P1-X1.json" - }, - { - "name": "AliZ PETG-Metal @P1-X1", - "sub_path": "filament/AliZ/AliZ PETG-Metal @P1-X1.json" - }, - { - "name": "AliZ PLA @P1-X1", - "sub_path": "filament/AliZ/AliZ PLA @P1-X1.json" - }, - { - "name": "COEX ABS @BBL X1", - "sub_path": "filament/COEX/COEX ABS @BBL X1.json" - }, - { - "name": "COEX ABS @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX ABS @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX ABS @BBL X1C", - "sub_path": "filament/COEX/COEX ABS @BBL X1C.json" - }, - { - "name": "COEX ABS @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX ABS @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX ABS PRIME @BBL X1", - "sub_path": "filament/COEX/COEX ABS PRIME @BBL X1.json" - }, - { - "name": "COEX ABS PRIME @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX ABS PRIME @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX ABS PRIME @BBL X1C", - "sub_path": "filament/COEX/COEX ABS PRIME @BBL X1C.json" - }, - { - "name": "COEX ABS PRIME @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX ABS PRIME @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX ASA PRIME @BBL X1", - "sub_path": "filament/COEX/COEX ASA PRIME @BBL X1.json" - }, - { - "name": "COEX ASA PRIME @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX ASA PRIME @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX ASA PRIME @BBL X1C", - "sub_path": "filament/COEX/COEX ASA PRIME @BBL X1C.json" - }, - { - "name": "COEX ASA PRIME @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX ASA PRIME @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX NYLEX PA6-CF @BBL X1C", - "sub_path": "filament/COEX/COEX NYLEX PA6-CF @BBL X1C.json" - }, - { - "name": "COEX NYLEX UNFILLED @BBL X1C", - "sub_path": "filament/COEX/COEX NYLEX UNFILLED @BBL X1C.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX PCTG PRIME @BBL A1 0.8 nozzle", - "sub_path": "filament/COEX/COEX PCTG PRIME @BBL A1 0.8 nozzle.json" - }, - { - "name": "COEX PETG @BBL A1", - "sub_path": "filament/COEX/COEX PETG @BBL A1.json" - }, - { - "name": "COEX PETG @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX PETG @BBL A1 0.8 nozzle", - "sub_path": "filament/COEX/COEX PETG @BBL A1 0.8 nozzle.json" - }, - { - "name": "COEX PLA @BBL A1", - "sub_path": "filament/COEX/COEX PLA @BBL A1.json" - }, - { - "name": "COEX PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX PLA @BBL X1", - "sub_path": "filament/COEX/COEX PLA @BBL X1.json" - }, - { - "name": "COEX PLA PRIME @BBL A1", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL A1.json" - }, - { - "name": "COEX PLA PRIME @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX PLA PRIME @BBL A1M", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL A1M.json" - }, - { - "name": "COEX PLA PRIME @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX PLA PRIME @BBL P1P", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL P1P.json" - }, - { - "name": "COEX PLA PRIME @BBL P1P 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL P1P 0.2 nozzle.json" - }, - { - "name": "COEX PLA PRIME @BBL X1", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL X1.json" - }, - { - "name": "COEX PLA PRIME @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX PLA PRIME @BBL X1C", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL X1C.json" - }, - { - "name": "COEX PLA PRIME @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA PRIME @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX PLA+Silk @BBL A1", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL A1.json" - }, - { - "name": "COEX PLA+Silk @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX PLA+Silk @BBL A1M", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL A1M.json" - }, - { - "name": "COEX PLA+Silk @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX PLA+Silk @BBL P1P", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL P1P.json" - }, - { - "name": "COEX PLA+Silk @BBL P1P 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL P1P 0.2 nozzle.json" - }, - { - "name": "COEX PLA+Silk @BBL X1", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL X1.json" - }, - { - "name": "COEX PLA+Silk @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX PLA+Silk @BBL X1C", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL X1C.json" - }, - { - "name": "COEX PLA+Silk @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX PLA+Silk @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX TPE 30D @BBL A1", - "sub_path": "filament/COEX/COEX TPE 30D @BBL A1.json" - }, - { - "name": "COEX TPE 30D @BBL A1M", - "sub_path": "filament/COEX/COEX TPE 30D @BBL A1M.json" - }, - { - "name": "COEX TPE 30D @BBL P1P", - "sub_path": "filament/COEX/COEX TPE 30D @BBL P1P.json" - }, - { - "name": "COEX TPE 30D @BBL X1", - "sub_path": "filament/COEX/COEX TPE 30D @BBL X1.json" - }, - { - "name": "COEX TPE 30D @BBL X1C", - "sub_path": "filament/COEX/COEX TPE 30D @BBL X1C.json" - }, - { - "name": "COEX TPE 40D @BBL A1", - "sub_path": "filament/COEX/COEX TPE 40D @BBL A1.json" - }, - { - "name": "COEX TPE 40D @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 40D @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX TPE 40D @BBL A1M", - "sub_path": "filament/COEX/COEX TPE 40D @BBL A1M.json" - }, - { - "name": "COEX TPE 40D @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 40D @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX TPE 40D @BBL P1P", - "sub_path": "filament/COEX/COEX TPE 40D @BBL P1P.json" - }, - { - "name": "COEX TPE 40D @BBL P1P 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 40D @BBL P1P 0.2 nozzle.json" - }, - { - "name": "COEX TPE 40D @BBL X1", - "sub_path": "filament/COEX/COEX TPE 40D @BBL X1.json" - }, - { - "name": "COEX TPE 40D @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 40D @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX TPE 40D @BBL X1C", - "sub_path": "filament/COEX/COEX TPE 40D @BBL X1C.json" - }, - { - "name": "COEX TPE 40D @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 40D @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX TPE 60D @BBL A1", - "sub_path": "filament/COEX/COEX TPE 60D @BBL A1.json" - }, - { - "name": "COEX TPE 60D @BBL A1 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 60D @BBL A1 0.2 nozzle.json" - }, - { - "name": "COEX TPE 60D @BBL A1M", - "sub_path": "filament/COEX/COEX TPE 60D @BBL A1M.json" - }, - { - "name": "COEX TPE 60D @BBL A1M 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 60D @BBL A1M 0.2 nozzle.json" - }, - { - "name": "COEX TPE 60D @BBL P1P", - "sub_path": "filament/COEX/COEX TPE 60D @BBL P1P.json" - }, - { - "name": "COEX TPE 60D @BBL P1P 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 60D @BBL P1P 0.2 nozzle.json" - }, - { - "name": "COEX TPE 60D @BBL X1", - "sub_path": "filament/COEX/COEX TPE 60D @BBL X1.json" - }, - { - "name": "COEX TPE 60D @BBL X1 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 60D @BBL X1 0.2 nozzle.json" - }, - { - "name": "COEX TPE 60D @BBL X1C", - "sub_path": "filament/COEX/COEX TPE 60D @BBL X1C.json" - }, - { - "name": "COEX TPE 60D @BBL X1C 0.2 nozzle", - "sub_path": "filament/COEX/COEX TPE 60D @BBL X1C 0.2 nozzle.json" - }, - { - "name": "COEX TPU 60A @BBL X1C", - "sub_path": "filament/COEX/COEX TPU 60A @BBL X1C.json" - }, - { - "name": "Overture ASA @BBL X1", - "sub_path": "filament/Overture/Overture ASA @BBL X1.json" - }, - { - "name": "Overture ASA @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture ASA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture ASA @BBL X1C", - "sub_path": "filament/Overture/Overture ASA @BBL X1C.json" - }, - { - "name": "Overture ASA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture ASA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Air PLA @BBL A1", - "sub_path": "filament/Overture/Overture Air PLA @BBL A1.json" - }, - { - "name": "Overture Air PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Air PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Air PLA @BBL A1M", - "sub_path": "filament/Overture/Overture Air PLA @BBL A1M.json" - }, - { - "name": "Overture Air PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Air PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Air PLA @BBL P1P", - "sub_path": "filament/Overture/Overture Air PLA @BBL P1P.json" - }, - { - "name": "Overture Air PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Air PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Air PLA @BBL X1", - "sub_path": "filament/Overture/Overture Air PLA @BBL X1.json" - }, - { - "name": "Overture Air PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Air PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture Air PLA @BBL X1C", - "sub_path": "filament/Overture/Overture Air PLA @BBL X1C.json" - }, - { - "name": "Overture Air PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Air PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Easy PLA @BBL A1", - "sub_path": "filament/Overture/Overture Easy PLA @BBL A1.json" - }, - { - "name": "Overture Easy PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Easy PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Easy PLA @BBL A1M", - "sub_path": "filament/Overture/Overture Easy PLA @BBL A1M.json" - }, - { - "name": "Overture Easy PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Easy PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Easy PLA @BBL P1P", - "sub_path": "filament/Overture/Overture Easy PLA @BBL P1P.json" - }, - { - "name": "Overture Easy PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Easy PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Easy PLA @BBL X1", - "sub_path": "filament/Overture/Overture Easy PLA @BBL X1.json" - }, - { - "name": "Overture Easy PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Easy PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture Easy PLA @BBL X1C", - "sub_path": "filament/Overture/Overture Easy PLA @BBL X1C.json" - }, - { - "name": "Overture Easy PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Easy PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Rock PLA @BBL A1", - "sub_path": "filament/Overture/Overture Rock PLA @BBL A1.json" - }, - { - "name": "Overture Rock PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Rock PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Rock PLA @BBL A1M", - "sub_path": "filament/Overture/Overture Rock PLA @BBL A1M.json" - }, - { - "name": "Overture Rock PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Rock PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Rock PLA @BBL P1P", - "sub_path": "filament/Overture/Overture Rock PLA @BBL P1P.json" - }, - { - "name": "Overture Rock PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Rock PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Rock PLA @BBL X1", - "sub_path": "filament/Overture/Overture Rock PLA @BBL X1.json" - }, - { - "name": "Overture Rock PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Rock PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture Rock PLA @BBL X1C", - "sub_path": "filament/Overture/Overture Rock PLA @BBL X1C.json" - }, - { - "name": "Overture Rock PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Rock PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Silk PLA @BBL A1", - "sub_path": "filament/Overture/Overture Silk PLA @BBL A1.json" - }, - { - "name": "Overture Silk PLA @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Silk PLA @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Silk PLA @BBL A1M", - "sub_path": "filament/Overture/Overture Silk PLA @BBL A1M.json" - }, - { - "name": "Overture Silk PLA @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Silk PLA @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Silk PLA @BBL P1P", - "sub_path": "filament/Overture/Overture Silk PLA @BBL P1P.json" - }, - { - "name": "Overture Silk PLA @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Silk PLA @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Silk PLA @BBL X1", - "sub_path": "filament/Overture/Overture Silk PLA @BBL X1.json" - }, - { - "name": "Overture Silk PLA @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Silk PLA @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture Silk PLA @BBL X1C", - "sub_path": "filament/Overture/Overture Silk PLA @BBL X1C.json" - }, - { - "name": "Overture Silk PLA @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Silk PLA @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture Super PLA+ @BBL A1", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL A1.json" - }, - { - "name": "Overture Super PLA+ @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture Super PLA+ @BBL A1M", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL A1M.json" - }, - { - "name": "Overture Super PLA+ @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture Super PLA+ @BBL P1P", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL P1P.json" - }, - { - "name": "Overture Super PLA+ @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture Super PLA+ @BBL X1", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL X1.json" - }, - { - "name": "Overture Super PLA+ @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture Super PLA+ @BBL X1C", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL X1C.json" - }, - { - "name": "Overture Super PLA+ @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture Super PLA+ @BBL X1C 0.2 nozzle.json" - }, - { - "name": "Overture TPU @BBL A1", - "sub_path": "filament/Overture/Overture TPU @BBL A1.json" - }, - { - "name": "Overture TPU @BBL A1 0.2 nozzle", - "sub_path": "filament/Overture/Overture TPU @BBL A1 0.2 nozzle.json" - }, - { - "name": "Overture TPU @BBL A1M", - "sub_path": "filament/Overture/Overture TPU @BBL A1M.json" - }, - { - "name": "Overture TPU @BBL A1M 0.2 nozzle", - "sub_path": "filament/Overture/Overture TPU @BBL A1M 0.2 nozzle.json" - }, - { - "name": "Overture TPU @BBL P1P", - "sub_path": "filament/Overture/Overture TPU @BBL P1P.json" - }, - { - "name": "Overture TPU @BBL P1P 0.2 nozzle", - "sub_path": "filament/Overture/Overture TPU @BBL P1P 0.2 nozzle.json" - }, - { - "name": "Overture TPU @BBL X1", - "sub_path": "filament/Overture/Overture TPU @BBL X1.json" - }, - { - "name": "Overture TPU @BBL X1 0.2 nozzle", - "sub_path": "filament/Overture/Overture TPU @BBL X1 0.2 nozzle.json" - }, - { - "name": "Overture TPU @BBL X1C", - "sub_path": "filament/Overture/Overture TPU @BBL X1C.json" - }, - { - "name": "Overture TPU @BBL X1C 0.2 nozzle", - "sub_path": "filament/Overture/Overture TPU @BBL X1C 0.2 nozzle.json" - }, - { - "name": "fdm_filament_dual_common", - "sub_path": "filament/fdm_filament_dual_common.json" - }, - { - "name": "Bambu ABS @BBL H2C", - "sub_path": "filament/Bambu ABS @BBL H2C.json" - }, - { - "name": "Bambu ABS @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu ABS-GF @BBL H2C", - "sub_path": "filament/Bambu ABS-GF @BBL H2C.json" - }, - { - "name": "Bambu ABS-GF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2C", - "sub_path": "filament/Bambu ASA @BBL H2C.json" - }, - { - "name": "Bambu ASA @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu ASA @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu ASA @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu ASA-Aero @BBL H2C", - "sub_path": "filament/Bambu ASA-Aero @BBL H2C.json" - }, - { - "name": "Bambu ASA-Aero @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL H2C", - "sub_path": "filament/Bambu ASA-CF @BBL H2C.json" - }, - { - "name": "Bambu ASA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PA-CF @BBL H2C", - "sub_path": "filament/Bambu PA-CF @BBL H2C.json" - }, - { - "name": "Bambu PA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-CF @BBL H2C", - "sub_path": "filament/Bambu PA6-CF @BBL H2C.json" - }, - { - "name": "Bambu PA6-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-GF @BBL H2C", - "sub_path": "filament/Bambu PA6-GF @BBL H2C.json" - }, - { - "name": "Bambu PA6-GF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PAHT-CF @BBL H2C", - "sub_path": "filament/Bambu PAHT-CF @BBL H2C.json" - }, - { - "name": "Bambu PAHT-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2C", - "sub_path": "filament/Bambu PC @BBL H2C.json" - }, - { - "name": "Bambu PC @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PC @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu PC @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu PC @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2C", - "sub_path": "filament/Bambu PC FR @BBL H2C.json" - }, - { - "name": "Bambu PC FR @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PET-CF @BBL H2C", - "sub_path": "filament/Bambu PET-CF @BBL H2C.json" - }, - { - "name": "Bambu PET-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2C", - "sub_path": "filament/Bambu PETG Basic @BBL H2C.json" - }, - { - "name": "Bambu PETG Basic @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A2L", - "sub_path": "filament/Bambu PETG HF @BBL A2L.json" - }, - { - "name": "Bambu PETG HF @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2C", - "sub_path": "filament/Bambu PETG HF @BBL H2C.json" - }, - { - "name": "Bambu PETG HF @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A2L", - "sub_path": "filament/Bambu PETG Translucent @BBL A2L.json" - }, - { - "name": "Bambu PETG Translucent @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2C", - "sub_path": "filament/Bambu PETG Translucent @BBL H2C.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A2L", - "sub_path": "filament/Bambu PETG-CF @BBL A2L.json" - }, - { - "name": "Bambu PETG-CF @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL H2C", - "sub_path": "filament/Bambu PETG-CF @BBL H2C.json" - }, - { - "name": "Bambu PETG-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Aero @BBL A2L", - "sub_path": "filament/Bambu PLA Aero @BBL A2L.json" - }, - { - "name": "Bambu PLA Aero @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Aero @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Aero @BBL H2C", - "sub_path": "filament/Bambu PLA Aero @BBL H2C.json" - }, - { - "name": "Bambu PLA Aero @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2C", - "sub_path": "filament/Bambu PLA Basic @BBL H2C.json" - }, - { - "name": "Bambu PLA Basic @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A2L", - "sub_path": "filament/Bambu PLA Dynamic @BBL A2L.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2C", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2C.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A2L", - "sub_path": "filament/Bambu PLA Galaxy @BBL A2L.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2C", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2C.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL H2C", - "sub_path": "filament/Bambu PLA Glow @BBL H2C.json" - }, - { - "name": "Bambu PLA Glow @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2C", - "sub_path": "filament/Bambu PLA Lite @BBL H2C.json" - }, - { - "name": "Bambu PLA Lite @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL A2L", - "sub_path": "filament/Bambu PLA Marble @BBL A2L.json" - }, - { - "name": "Bambu PLA Marble @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL H2C", - "sub_path": "filament/Bambu PLA Marble @BBL H2C.json" - }, - { - "name": "Bambu PLA Marble @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2C", - "sub_path": "filament/Bambu PLA Matte @BBL H2C.json" - }, - { - "name": "Bambu PLA Matte @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL A2L", - "sub_path": "filament/Bambu PLA Metal @BBL A2L.json" - }, - { - "name": "Bambu PLA Metal @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL H2C", - "sub_path": "filament/Bambu PLA Metal @BBL H2C.json" - }, - { - "name": "Bambu PLA Metal @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Pure @base", - "sub_path": "filament/Bambu PLA Pure @base.json" - }, - { - "name": "Bambu PLA Pure @BBL A2L", - "sub_path": "filament/Bambu PLA Pure @BBL A2L.json" - }, - { - "name": "Bambu PLA Pure @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2C", - "sub_path": "filament/Bambu PLA Pure @BBL H2C.json" - }, - { - "name": "Bambu PLA Pure @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2D", - "sub_path": "filament/Bambu PLA Pure @BBL H2D.json" - }, - { - "name": "Bambu PLA Pure @BBL H2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2DP", - "sub_path": "filament/Bambu PLA Pure @BBL H2DP.json" - }, - { - "name": "Bambu PLA Pure @BBL H2DP 0.2 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2DP 0.8 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Pure @BBL H2S", - "sub_path": "filament/Bambu PLA Pure @BBL H2S.json" - }, - { - "name": "Bambu PLA Pure @BBL H2S 0.2 nozzle", - "sub_path": "filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL H2C", - "sub_path": "filament/Bambu PLA Silk @BBL H2C.json" - }, - { - "name": "Bambu PLA Silk @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2C", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2C.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL A2L", - "sub_path": "filament/Bambu PLA Sparkle @BBL A2L.json" - }, - { - "name": "Bambu PLA Sparkle @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL H2C", - "sub_path": "filament/Bambu PLA Sparkle @BBL H2C.json" - }, - { - "name": "Bambu PLA Sparkle @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL A2L", - "sub_path": "filament/Bambu PLA Tough @BBL A2L.json" - }, - { - "name": "Bambu PLA Tough @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL H2C", - "sub_path": "filament/Bambu PLA Tough @BBL H2C.json" - }, - { - "name": "Bambu PLA Tough @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A2L 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2C", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2C.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2C 0.6 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL H2C 0.8 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A2L", - "sub_path": "filament/Bambu PLA Translucent @BBL A2L.json" - }, - { - "name": "Bambu PLA Translucent @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2C", - "sub_path": "filament/Bambu PLA Translucent @BBL H2C.json" - }, - { - "name": "Bambu PLA Translucent @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL A2L", - "sub_path": "filament/Bambu PLA Wood @BBL A2L.json" - }, - { - "name": "Bambu PLA Wood @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL H2C", - "sub_path": "filament/Bambu PLA Wood @BBL H2C.json" - }, - { - "name": "Bambu PLA Wood @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL A2L", - "sub_path": "filament/Bambu PLA-CF @BBL A2L.json" - }, - { - "name": "Bambu PLA-CF @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL H2C", - "sub_path": "filament/Bambu PLA-CF @BBL H2C.json" - }, - { - "name": "Bambu PLA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PPA-CF @BBL H2C", - "sub_path": "filament/Bambu PPA-CF @BBL H2C.json" - }, - { - "name": "Bambu PPA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PPS-CF @BBL H2C", - "sub_path": "filament/Bambu PPS-CF @BBL H2C.json" - }, - { - "name": "Bambu PPS-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu PVA @BBL A2L", - "sub_path": "filament/Bambu PVA @BBL A2L.json" - }, - { - "name": "Bambu PVA @BBL H2C", - "sub_path": "filament/Bambu PVA @BBL H2C.json" - }, - { - "name": "Bambu PVA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu PVA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PA/PET @BBL H2C", - "sub_path": "filament/Bambu Support For PA PET @BBL H2C.json" - }, - { - "name": "Bambu Support For PA/PET @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL A2L", - "sub_path": "filament/Bambu Support For PLA @BBL A2L.json" - }, - { - "name": "Bambu Support For PLA @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL H2C", - "sub_path": "filament/Bambu Support For PLA @BBL H2C.json" - }, - { - "name": "Bambu Support For PLA @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A2L", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A2L.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2C", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support G @BBL H2C", - "sub_path": "filament/Bambu Support G @BBL H2C.json" - }, - { - "name": "Bambu Support G @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support G @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support W @BBL A2L", - "sub_path": "filament/Bambu Support W @BBL A2L.json" - }, - { - "name": "Bambu Support W @BBL A2L 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL H2C", - "sub_path": "filament/Bambu Support W @BBL H2C.json" - }, - { - "name": "Bambu Support W @BBL H2C 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support W @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Support for ABS @BBL H2C", - "sub_path": "filament/Bambu Support for ABS @BBL H2C.json" - }, - { - "name": "Bambu Support for ABS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL H2C", - "sub_path": "filament/Bambu TPU 85A @BBL H2C.json" - }, - { - "name": "Bambu TPU 90A @BBL A2L", - "sub_path": "filament/Bambu TPU 90A @BBL A2L.json" - }, - { - "name": "Bambu TPU 90A @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL H2C", - "sub_path": "filament/Bambu TPU 90A @BBL H2C.json" - }, - { - "name": "Bambu TPU 90A @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A @BBL A2L", - "sub_path": "filament/Bambu TPU 95A @BBL A2L.json" - }, - { - "name": "Bambu TPU 95A @BBL H2C", - "sub_path": "filament/Bambu TPU 95A @BBL H2C.json" - }, - { - "name": "Bambu TPU 95A @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL A2L", - "sub_path": "filament/Bambu TPU 95A HF @BBL A2L.json" - }, - { - "name": "Bambu TPU 95A HF @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2C", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2C.json" - }, - { - "name": "Bambu TPU 95A HF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Bambu TPU for AMS @BBL A2L", - "sub_path": "filament/Bambu TPU for AMS @BBL A2L.json" - }, - { - "name": "Bambu TPU for AMS @BBL A2L 0.6 nozzle", - "sub_path": "filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json" - }, - { - "name": "Bambu TPU for AMS @BBL A2L 0.8 nozzle", - "sub_path": "filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json" - }, - { - "name": "Bambu TPU for AMS @BBL H2C", - "sub_path": "filament/Bambu TPU for AMS @BBL H2C.json" - }, - { - "name": "Bambu TPU for AMS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2C", - "sub_path": "filament/Generic ABS @BBL H2C.json" - }, - { - "name": "Generic ABS @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic ABS @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2C", - "sub_path": "filament/Generic ASA @BBL H2C.json" - }, - { - "name": "Generic ASA @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic ASA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic BVOH @BBL A2L", - "sub_path": "filament/Generic BVOH @BBL A2L.json" - }, - { - "name": "Generic BVOH @BBL H2C", - "sub_path": "filament/Generic BVOH @BBL H2C.json" - }, - { - "name": "Generic BVOH @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic BVOH @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic EVA @BBL A2L", - "sub_path": "filament/Generic EVA @BBL A2L.json" - }, - { - "name": "Generic EVA @BBL H2C", - "sub_path": "filament/Generic EVA @BBL H2C.json" - }, - { - "name": "Generic EVA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic EVA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic HIPS @BBL A2L", - "sub_path": "filament/Generic HIPS @BBL A2L.json" - }, - { - "name": "Generic HIPS @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2C", - "sub_path": "filament/Generic HIPS @BBL H2C.json" - }, - { - "name": "Generic HIPS @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic HIPS @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PA @BBL H2C", - "sub_path": "filament/Generic PA @BBL H2C.json" - }, - { - "name": "Generic PA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PA-CF @BBL H2C", - "sub_path": "filament/Generic PA-CF @BBL H2C.json" - }, - { - "name": "Generic PA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PC @BBL H2C", - "sub_path": "filament/Generic PC @BBL H2C.json" - }, - { - "name": "Generic PC @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PC @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PCTG @BBL A2L", - "sub_path": "filament/Generic PCTG @BBL A2L.json" - }, - { - "name": "Generic PCTG @BBL H2C", - "sub_path": "filament/Generic PCTG @BBL H2C.json" - }, - { - "name": "Generic PCTG @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PCTG @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PE @BBL A2L", - "sub_path": "filament/Generic PE @BBL A2L.json" - }, - { - "name": "Generic PE @BBL H2C", - "sub_path": "filament/Generic PE @BBL H2C.json" - }, - { - "name": "Generic PE @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PE @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PE-CF @BBL A2L", - "sub_path": "filament/Generic PE-CF @BBL A2L.json" - }, - { - "name": "Generic PE-CF @BBL H2C", - "sub_path": "filament/Generic PE-CF @BBL H2C.json" - }, - { - "name": "Generic PE-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PE-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PETG @BBL A2L", - "sub_path": "filament/Generic PETG @BBL A2L.json" - }, - { - "name": "Generic PETG @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL H2C", - "sub_path": "filament/Generic PETG @BBL H2C.json" - }, - { - "name": "Generic PETG @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PETG @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL A2L", - "sub_path": "filament/Generic PETG HF @BBL A2L.json" - }, - { - "name": "Generic PETG HF @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2C", - "sub_path": "filament/Generic PETG HF @BBL H2C.json" - }, - { - "name": "Generic PETG HF @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PETG HF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PETG-CF @BBL A2L", - "sub_path": "filament/Generic PETG-CF @BBL A2L.json" - }, - { - "name": "Generic PETG-CF @BBL H2C", - "sub_path": "filament/Generic PETG-CF @BBL H2C.json" - }, - { - "name": "Generic PETG-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PHA @BBL A2L", - "sub_path": "filament/Generic PHA @BBL A2L.json" - }, - { - "name": "Generic PHA @BBL H2C", - "sub_path": "filament/Generic PHA @BBL H2C.json" - }, - { - "name": "Generic PHA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PHA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PLA @BBL A2L", - "sub_path": "filament/Generic PLA @BBL A2L.json" - }, - { - "name": "Generic PLA @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL H2C", - "sub_path": "filament/Generic PLA @BBL H2C.json" - }, - { - "name": "Generic PLA @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PLA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL A2L", - "sub_path": "filament/Generic PLA High Speed @BBL A2L.json" - }, - { - "name": "Generic PLA High Speed @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL H2C", - "sub_path": "filament/Generic PLA High Speed @BBL H2C.json" - }, - { - "name": "Generic PLA High Speed @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PLA Silk @BBL A2L", - "sub_path": "filament/Generic PLA Silk @BBL A2L.json" - }, - { - "name": "Generic PLA Silk @BBL H2C", - "sub_path": "filament/Generic PLA Silk @BBL H2C.json" - }, - { - "name": "Generic PLA Silk @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PLA-CF @BBL A2L", - "sub_path": "filament/Generic PLA-CF @BBL A2L.json" - }, - { - "name": "Generic PLA-CF @BBL H2C", - "sub_path": "filament/Generic PLA-CF @BBL H2C.json" - }, - { - "name": "Generic PLA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PP @BBL A2L", - "sub_path": "filament/Generic PP @BBL A2L.json" - }, - { - "name": "Generic PP @BBL H2C", - "sub_path": "filament/Generic PP @BBL H2C.json" - }, - { - "name": "Generic PP @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PP @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PP-CF @BBL H2C", - "sub_path": "filament/Generic PP-CF @BBL H2C.json" - }, - { - "name": "Generic PP-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PP-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PP-GF @BBL H2C", - "sub_path": "filament/Generic PP-GF @BBL H2C.json" - }, - { - "name": "Generic PP-GF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PP-GF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PPA-CF @BBL H2C", - "sub_path": "filament/Generic PPA-CF @BBL H2C.json" - }, - { - "name": "Generic PPA-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PPA-GF @BBL H2C", - "sub_path": "filament/Generic PPA-GF @BBL H2C.json" - }, - { - "name": "Generic PPA-GF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PPS @BBL H2C", - "sub_path": "filament/Generic PPS @BBL H2C.json" - }, - { - "name": "Generic PPS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PPS @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PPS-CF @BBL H2C", - "sub_path": "filament/Generic PPS-CF @BBL H2C.json" - }, - { - "name": "Generic PPS-CF @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic PVA @BBL A2L", - "sub_path": "filament/Generic PVA @BBL A2L.json" - }, - { - "name": "Generic PVA @BBL A2L 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL A2L 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL H2C", - "sub_path": "filament/Generic PVA @BBL H2C.json" - }, - { - "name": "Generic PVA @BBL H2C 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL H2C 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic PVA @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic TPU @BBL A2L", - "sub_path": "filament/Generic TPU @BBL A2L.json" - }, - { - "name": "Generic TPU @BBL H2C", - "sub_path": "filament/Generic TPU @BBL H2C.json" - }, - { - "name": "Generic TPU @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic TPU @BBL H2C 0.4 nozzle.json" - }, - { - "name": "Generic TPU for AMS @BBL A2L", - "sub_path": "filament/Generic TPU for AMS @BBL A2L.json" - }, - { - "name": "Generic TPU for AMS @BBL H2C", - "sub_path": "filament/Generic TPU for AMS @BBL H2C.json" - }, - { - "name": "Generic TPU for AMS @BBL H2C 0.4 nozzle", - "sub_path": "filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json" - } - ], - "machine_list": [ - { - "name": "fdm_machine_common", - "sub_path": "machine/fdm_machine_common.json" - }, - { - "name": "fdm_bbl_3dp_001_common", - "sub_path": "machine/fdm_bbl_3dp_001_common.json" - }, - { - "name": "fdm_bbl_3dp_002_common", - "sub_path": "machine/fdm_bbl_3dp_002_common.json" - }, - { - "name": "Bambu Lab A1 0.4 nozzle", - "sub_path": "machine/Bambu Lab A1 0.4 nozzle.json" - }, - { - "name": "Bambu Lab A1 mini 0.4 nozzle", - "sub_path": "machine/Bambu Lab A1 mini 0.4 nozzle.json" - }, - { - "name": "Bambu Lab H2S 0.4 nozzle", - "sub_path": "machine/Bambu Lab H2S 0.4 nozzle.json" - }, - { - "name": "Bambu Lab P1P 0.4 nozzle", - "sub_path": "machine/Bambu Lab P1P 0.4 nozzle.json" - }, - { - "name": "Bambu Lab P1S 0.4 nozzle", - "sub_path": "machine/Bambu Lab P1S 0.4 nozzle.json" - }, - { - "name": "Bambu Lab P2S 0.4 nozzle", - "sub_path": "machine/Bambu Lab P2S 0.4 nozzle.json" - }, - { - "name": "Bambu Lab X1 0.4 nozzle", - "sub_path": "machine/Bambu Lab X1 0.4 nozzle.json" - }, - { - "name": "Bambu Lab X1 Carbon 0.4 nozzle", - "sub_path": "machine/Bambu Lab X1 Carbon 0.4 nozzle.json" - }, - { - "name": "Bambu Lab X1E 0.4 nozzle", - "sub_path": "machine/Bambu Lab X1E 0.4 nozzle.json" - }, - { - "name": "Bambu Lab H2D 0.4 nozzle", - "sub_path": "machine/Bambu Lab H2D 0.4 nozzle.json" - }, - { - "name": "Bambu Lab H2D Pro 0.4 nozzle", - "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle.json" - }, - { - "name": "Bambu Lab X2D 0.4 nozzle", - "sub_path": "machine/Bambu Lab X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Lab A1 0.2 nozzle", - "sub_path": "machine/Bambu Lab A1 0.2 nozzle.json" - }, - { - "name": "Bambu Lab A1 0.6 nozzle", - "sub_path": "machine/Bambu Lab A1 0.6 nozzle.json" - }, - { - "name": "Bambu Lab A1 0.8 nozzle", - "sub_path": "machine/Bambu Lab A1 0.8 nozzle.json" - }, - { - "name": "Bambu Lab A1 mini 0.2 nozzle", - "sub_path": "machine/Bambu Lab A1 mini 0.2 nozzle.json" - }, - { - "name": "Bambu Lab A1 mini 0.6 nozzle", - "sub_path": "machine/Bambu Lab A1 mini 0.6 nozzle.json" - }, - { - "name": "Bambu Lab A1 mini 0.8 nozzle", - "sub_path": "machine/Bambu Lab A1 mini 0.8 nozzle.json" - }, - { - "name": "Bambu Lab H2S 0.2 nozzle", - "sub_path": "machine/Bambu Lab H2S 0.2 nozzle.json" - }, - { - "name": "Bambu Lab H2S 0.6 nozzle", - "sub_path": "machine/Bambu Lab H2S 0.6 nozzle.json" - }, - { - "name": "Bambu Lab H2S 0.8 nozzle", - "sub_path": "machine/Bambu Lab H2S 0.8 nozzle.json" - }, - { - "name": "Bambu Lab P1P 0.2 nozzle", - "sub_path": "machine/Bambu Lab P1P 0.2 nozzle.json" - }, - { - "name": "Bambu Lab P1P 0.6 nozzle", - "sub_path": "machine/Bambu Lab P1P 0.6 nozzle.json" - }, - { - "name": "Bambu Lab P1P 0.8 nozzle", - "sub_path": "machine/Bambu Lab P1P 0.8 nozzle.json" - }, - { - "name": "Bambu Lab P1S 0.2 nozzle", - "sub_path": "machine/Bambu Lab P1S 0.2 nozzle.json" - }, - { - "name": "Bambu Lab P1S 0.6 nozzle", - "sub_path": "machine/Bambu Lab P1S 0.6 nozzle.json" - }, - { - "name": "Bambu Lab P1S 0.8 nozzle", - "sub_path": "machine/Bambu Lab P1S 0.8 nozzle.json" - }, - { - "name": "Bambu Lab P2S 0.2 nozzle", - "sub_path": "machine/Bambu Lab P2S 0.2 nozzle.json" - }, - { - "name": "Bambu Lab P2S 0.6 nozzle", - "sub_path": "machine/Bambu Lab P2S 0.6 nozzle.json" - }, - { - "name": "Bambu Lab P2S 0.8 nozzle", - "sub_path": "machine/Bambu Lab P2S 0.8 nozzle.json" - }, - { - "name": "Bambu Lab X1 0.2 nozzle", - "sub_path": "machine/Bambu Lab X1 0.2 nozzle.json" - }, - { - "name": "Bambu Lab X1 0.6 nozzle", - "sub_path": "machine/Bambu Lab X1 0.6 nozzle.json" - }, - { - "name": "Bambu Lab X1 0.8 nozzle", - "sub_path": "machine/Bambu Lab X1 0.8 nozzle.json" - }, - { - "name": "Bambu Lab X1 Carbon 0.2 nozzle", - "sub_path": "machine/Bambu Lab X1 Carbon 0.2 nozzle.json" - }, - { - "name": "Bambu Lab X1 Carbon 0.6 nozzle", - "sub_path": "machine/Bambu Lab X1 Carbon 0.6 nozzle.json" - }, - { - "name": "Bambu Lab X1 Carbon 0.8 nozzle", - "sub_path": "machine/Bambu Lab X1 Carbon 0.8 nozzle.json" - }, - { - "name": "Bambu Lab X1E 0.2 nozzle", - "sub_path": "machine/Bambu Lab X1E 0.2 nozzle.json" - }, - { - "name": "Bambu Lab X1E 0.6 nozzle", - "sub_path": "machine/Bambu Lab X1E 0.6 nozzle.json" - }, - { - "name": "Bambu Lab X1E 0.8 nozzle", - "sub_path": "machine/Bambu Lab X1E 0.8 nozzle.json" - }, - { - "name": "Bambu Lab H2D 0.2 nozzle", - "sub_path": "machine/Bambu Lab H2D 0.2 nozzle.json" - }, - { - "name": "Bambu Lab H2D 0.6 nozzle", - "sub_path": "machine/Bambu Lab H2D 0.6 nozzle.json" - }, - { - "name": "Bambu Lab H2D 0.8 nozzle", - "sub_path": "machine/Bambu Lab H2D 0.8 nozzle.json" - }, - { - "name": "Bambu Lab H2D Pro 0.2 nozzle", - "sub_path": "machine/Bambu Lab H2D Pro 0.2 nozzle.json" - }, - { - "name": "Bambu Lab H2D Pro 0.6 nozzle", - "sub_path": "machine/Bambu Lab H2D Pro 0.6 nozzle.json" - }, - { - "name": "Bambu Lab H2D Pro 0.8 nozzle", - "sub_path": "machine/Bambu Lab H2D Pro 0.8 nozzle.json" - }, - { - "name": "Bambu Lab X2D 0.2 nozzle", - "sub_path": "machine/Bambu Lab X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Lab X2D 0.6 nozzle", - "sub_path": "machine/Bambu Lab X2D 0.6 nozzle.json" - }, - { - "name": "Bambu Lab X2D 0.8 nozzle", - "sub_path": "machine/Bambu Lab X2D 0.8 nozzle.json" - }, - { - "name": "Bambu Lab A2L 0.4 nozzle", - "sub_path": "machine/Bambu Lab A2L 0.4 nozzle.json" - }, - { - "name": "Bambu Lab A2L 0.2 nozzle", - "sub_path": "machine/Bambu Lab A2L 0.2 nozzle.json" - }, - { - "name": "Bambu Lab A2L 0.6 nozzle", - "sub_path": "machine/Bambu Lab A2L 0.6 nozzle.json" - }, - { - "name": "Bambu Lab A2L 0.8 nozzle", - "sub_path": "machine/Bambu Lab A2L 0.8 nozzle.json" - }, - { - "name": "Bambu Lab H2C 0.4 nozzle", - "sub_path": "machine/Bambu Lab H2C 0.4 nozzle.json" - }, - { - "name": "Bambu Lab H2C 0.2 nozzle", - "sub_path": "machine/Bambu Lab H2C 0.2 nozzle.json" - }, - { - "name": "Bambu Lab H2C 0.6 nozzle", - "sub_path": "machine/Bambu Lab H2C 0.6 nozzle.json" - }, - { - "name": "Bambu Lab H2C 0.8 nozzle", - "sub_path": "machine/Bambu Lab H2C 0.8 nozzle.json" } ] } diff --git a/resources/profiles/BBL/Bambu Lab H2D Pro_cover.png b/resources/profiles/BBL/Bambu Lab H2D Pro_cover.png index d45e231794..3eb7b4cc07 100644 Binary files a/resources/profiles/BBL/Bambu Lab H2D Pro_cover.png and b/resources/profiles/BBL/Bambu Lab H2D Pro_cover.png differ diff --git a/resources/profiles/BBL/Bambu Lab H2S_cover.png b/resources/profiles/BBL/Bambu Lab H2S_cover.png index 70a048d50a..d2c5718d95 100644 Binary files a/resources/profiles/BBL/Bambu Lab H2S_cover.png and b/resources/profiles/BBL/Bambu Lab H2S_cover.png differ diff --git a/resources/profiles/BBL/Bambu Lab P2S_cover.png b/resources/profiles/BBL/Bambu Lab P2S_cover.png index 30982b863a..febba125ee 100644 Binary files a/resources/profiles/BBL/Bambu Lab P2S_cover.png and b/resources/profiles/BBL/Bambu Lab P2S_cover.png differ diff --git a/resources/profiles/BBL/Bambu Lab X2D_cover.png b/resources/profiles/BBL/Bambu Lab X2D_cover.png index fa4b9cf8fe..7478f9007f 100644 Binary files a/resources/profiles/BBL/Bambu Lab X2D_cover.png and b/resources/profiles/BBL/Bambu Lab X2D_cover.png differ diff --git a/resources/profiles/BBL/bbl-3dp-A1M.stl b/resources/profiles/BBL/bbl-3dp-A1M.stl index d31997c36a..ccdc7982e0 100644 Binary files a/resources/profiles/BBL/bbl-3dp-A1M.stl and b/resources/profiles/BBL/bbl-3dp-A1M.stl differ diff --git a/resources/profiles/BBL/bbl-3dp-H2C.stl b/resources/profiles/BBL/bbl-3dp-H2C.stl index 4588514dd5..0936bd1d33 100644 Binary files a/resources/profiles/BBL/bbl-3dp-H2C.stl and b/resources/profiles/BBL/bbl-3dp-H2C.stl differ diff --git a/resources/profiles/BBL/bbl-3dp-H2D.stl b/resources/profiles/BBL/bbl-3dp-H2D.stl index cf4a3db0f0..5c81ba64bb 100644 Binary files a/resources/profiles/BBL/bbl-3dp-H2D.stl and b/resources/profiles/BBL/bbl-3dp-H2D.stl differ diff --git a/resources/profiles/BBL/bbl-3dp-O1S.stl b/resources/profiles/BBL/bbl-3dp-O1S.stl index 151303d573..d69a50bcd6 100644 Binary files a/resources/profiles/BBL/bbl-3dp-O1S.stl and b/resources/profiles/BBL/bbl-3dp-O1S.stl differ diff --git a/resources/profiles/BBL/bbl-3dp-X1.stl b/resources/profiles/BBL/bbl-3dp-X1.stl index 08675caed6..6823cdb229 100644 Binary files a/resources/profiles/BBL/bbl-3dp-X1.stl and b/resources/profiles/BBL/bbl-3dp-X1.stl differ diff --git a/resources/profiles/BBL/bbl-3dp-hotend.stl b/resources/profiles/BBL/bbl-3dp-hotend.stl index 6b2aba77fa..4138160ec0 100644 Binary files a/resources/profiles/BBL/bbl-3dp-hotend.stl and b/resources/profiles/BBL/bbl-3dp-hotend.stl differ diff --git a/resources/profiles/BBL/cli_config.json b/resources/profiles/BBL/cli_config.json index 5aa010c355..4aea0a0404 100644 --- a/resources/profiles/BBL/cli_config.json +++ b/resources/profiles/BBL/cli_config.json @@ -1,767 +1,851 @@ { - "printer": { - "Bambu Lab A1": { - "machine_limits": { - "cli_safe_acceleration_e": "0,0", - "cli_safe_acceleration_extruding": "0,0", - "cli_safe_acceleration_retracting": "0,0", - "cli_safe_acceleration_travel": "6000,6000", - "cli_safe_acceleration_x": "6000,6000", - "cli_safe_acceleration_y": "6000,6000", - "cli_safe_acceleration_z": "0,0", - "cli_safe_jerk_e": "0,0", - "cli_safe_jerk_x": "0,0", - "cli_safe_jerk_y": "0,0", - "cli_safe_jerk_z": "0,0", - "cli_safe_speed_e": "0,0", - "cli_safe_speed_x": "0,0", - "cli_safe_speed_y": "0,0", - "cli_safe_speed_z": "0,0" - }, - "downward_check": { - "Bambu Lab A1 0.2 nozzle": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab A1 0.4 nozzle": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab A1 0.6 nozzle": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab A1 0.8 nozzle": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab A1 mini": { - "machine_limits": { - "cli_safe_acceleration_e": "0,0", - "cli_safe_acceleration_extruding": "0,0", - "cli_safe_acceleration_retracting": "0,0", - "cli_safe_acceleration_travel": "6000,6000", - "cli_safe_acceleration_x": "6000,6000", - "cli_safe_acceleration_y": "6000,6000", - "cli_safe_acceleration_z": "0,0", - "cli_safe_jerk_e": "0,0", - "cli_safe_jerk_x": "0,0", - "cli_safe_jerk_y": "0,0", - "cli_safe_jerk_z": "0,0", - "cli_safe_speed_e": "0,0", - "cli_safe_speed_x": "0,0", - "cli_safe_speed_y": "0,0", - "cli_safe_speed_z": "0,0" - }, - "downward_check": { - "Bambu Lab A1 mini 0.2 nozzle": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab A1 mini 0.4 nozzle": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab A1 mini 0.6 nozzle": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab A1 mini 0.8 nozzle": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab X1": { - "downward_check": { - "Bambu Lab X1 0.2 nozzle": [ - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab X1 0.4 nozzle": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab X1 0.6 nozzle": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab X1 0.8 nozzle": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab X1 Carbon": { - "downward_check": { - "Bambu Lab X1 Carbon 0.2 nozzle": [ - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab X1 Carbon 0.4 nozzle": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab X1 Carbon 0.6 nozzle": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab X1 Carbon 0.8 nozzle": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab X1E": { - "downward_check": { - "Bambu Lab X1E 0.2 nozzle": [ - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab X1E 0.4 nozzle": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab X1E 0.6 nozzle": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab X1E 0.8 nozzle": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab P1P": { - "downward_check": { - "Bambu Lab P1P 0.2 nozzle": [ - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab P1P 0.4 nozzle": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab P1P 0.6 nozzle": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab P1P 0.8 nozzle": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab P1S": { - "downward_check": { - "Bambu Lab P1S 0.2 nozzle": [ - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab P1S 0.4 nozzle": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab P1S 0.6 nozzle": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab P1S 0.8 nozzle": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab H2D": { - "downward_check": { - "Bambu Lab H2D 0.2 nozzle": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab H2D 0.4 nozzle": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab H2D 0.6 nozzle": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab H2D 0.8 nozzle": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab H2D Pro": { - "downward_check": { - "Bambu Lab H2D Pro 0.2 nozzle": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab H2D Pro 0.4 nozzle": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab H2D Pro 0.6 nozzle": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab H2D Pro 0.8 nozzle": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab H2S": { - "downward_check": { - "Bambu Lab H2S 0.2 nozzle": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab H2S 0.4 nozzle": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab H2S 0.6 nozzle": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab H2S 0.8 nozzle": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab P2S": { - "downward_check": { - "Bambu Lab P2S 0.2 nozzle": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab P2S 0.4 nozzle": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab P2S 0.6 nozzle": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab P2S 0.8 nozzle": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - }, - "Bambu Lab X2D": { - "downward_check": { - "Bambu Lab X2D 0.2 nozzle": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab H2C 0.2 nozzle" - ], - "Bambu Lab X2D 0.4 nozzle": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab H2C 0.4 nozzle" - ], - "Bambu Lab X2D 0.6 nozzle": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab H2C 0.6 nozzle" - ], - "Bambu Lab X2D 0.8 nozzle": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ] - } - }, - "Bambu Lab H2C": { - "downward_check": { - "Bambu Lab H2C 0.2 nozzle": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle", - "Bambu Lab A2L 0.2 nozzle" - ], - "Bambu Lab H2C 0.4 nozzle": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle", - "Bambu Lab A2L 0.4 nozzle" - ], - "Bambu Lab H2C 0.6 nozzle": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab A2L 0.6 nozzle" - ], - "Bambu Lab H2C 0.8 nozzle": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ] - } - }, - "Bambu Lab A2L": { - "machine_limits": { - "cli_safe_acceleration_e": "0,0", - "cli_safe_acceleration_extruding": "0,0", - "cli_safe_acceleration_retracting": "0,0", - "cli_safe_acceleration_travel": "8000,8000", - "cli_safe_acceleration_x": "6000,6000", - "cli_safe_acceleration_y": "6000,6000", - "cli_safe_acceleration_z": "0,0", - "cli_safe_jerk_e": "0,0", - "cli_safe_jerk_x": "0,0", - "cli_safe_jerk_y": "0,0", - "cli_safe_jerk_z": "0,0", - "cli_safe_speed_e": "0,0", - "cli_safe_speed_x": "0,0", - "cli_safe_speed_y": "0,0", - "cli_safe_speed_z": "0,0" - }, - "downward_check": { - "Bambu Lab A2L 0.2 nozzle": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab A1 mini 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab H2C 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab X2D 0.2 nozzle" - ], - "Bambu Lab A2L 0.4 nozzle": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2C 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab X2D 0.4 nozzle" - ], - "Bambu Lab A2L 0.6 nozzle": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab X2D 0.6 nozzle" - ], - "Bambu Lab A2L 0.8 nozzle": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2C 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ] - } - } - } + "printer": { + "Bambu Lab A1": { + "machine_limits": { + "cli_safe_acceleration_e": "0,0", + "cli_safe_acceleration_extruding": "0,0", + "cli_safe_acceleration_retracting": "0,0", + "cli_safe_acceleration_travel": "6000,6000", + "cli_safe_acceleration_x": "6000,6000", + "cli_safe_acceleration_y": "6000,6000", + "cli_safe_acceleration_z": "0,0", + "cli_safe_jerk_e": "0,0", + "cli_safe_jerk_x": "0,0", + "cli_safe_jerk_y": "0,0", + "cli_safe_jerk_z": "0,0", + "cli_safe_speed_e": "0,0", + "cli_safe_speed_x": "0,0", + "cli_safe_speed_y": "0,0", + "cli_safe_speed_z": "0,0" + }, + "downward_check": { + "Bambu Lab A1 0.2 nozzle": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle" + ], + "Bambu Lab A1 0.4 nozzle": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle" + ], + "Bambu Lab A1 0.6 nozzle": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle" + ], + "Bambu Lab A1 0.8 nozzle": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ] + } + }, + "Bambu Lab A1 mini": { + "machine_limits": { + "cli_safe_acceleration_e": "0,0", + "cli_safe_acceleration_extruding": "0,0", + "cli_safe_acceleration_retracting": "0,0", + "cli_safe_acceleration_travel": "6000,6000", + "cli_safe_acceleration_x": "6000,6000", + "cli_safe_acceleration_y": "6000,6000", + "cli_safe_acceleration_z": "0,0", + "cli_safe_jerk_e": "0,0", + "cli_safe_jerk_x": "0,0", + "cli_safe_jerk_y": "0,0", + "cli_safe_jerk_z": "0,0", + "cli_safe_speed_e": "0,0", + "cli_safe_speed_x": "0,0", + "cli_safe_speed_y": "0,0", + "cli_safe_speed_z": "0,0" + }, + "downward_check": { + "Bambu Lab A1 mini 0.2 nozzle": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle" + ], + "Bambu Lab A1 mini 0.4 nozzle": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle" + ], + "Bambu Lab A1 mini 0.6 nozzle": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle" + ], + "Bambu Lab A1 mini 0.8 nozzle": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ] + } + }, + "Bambu Lab X1": { + "downward_check": { + "Bambu Lab X1 0.2 nozzle": [ + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab X1 0.4 nozzle": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab X1 0.6 nozzle": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab X1 0.8 nozzle": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab X1 Carbon": { + "downward_check": { + "Bambu Lab X1 Carbon 0.2 nozzle": [ + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab X1 Carbon 0.4 nozzle": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab X1 Carbon 0.6 nozzle": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab X1 Carbon 0.8 nozzle": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab X1E": { + "downward_check": { + "Bambu Lab X1E 0.2 nozzle": [ + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab X1E 0.4 nozzle": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab X1E 0.6 nozzle": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab X1E 0.8 nozzle": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab P1P": { + "downward_check": { + "Bambu Lab P1P 0.2 nozzle": [ + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab P1P 0.4 nozzle": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab P1P 0.6 nozzle": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab P1P 0.8 nozzle": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab P1S": { + "downward_check": { + "Bambu Lab P1S 0.2 nozzle": [ + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab P1S 0.4 nozzle": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab P1S 0.6 nozzle": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab P1S 0.8 nozzle": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab H2D": { + "downward_check": { + "Bambu Lab H2D 0.2 nozzle": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab H2D 0.4 nozzle": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab H2D 0.6 nozzle": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab H2D 0.8 nozzle": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab H2D Pro": { + "downward_check": { + "Bambu Lab H2D Pro 0.2 nozzle": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab H2D Pro 0.4 nozzle": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab H2D Pro 0.6 nozzle": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab H2D Pro 0.8 nozzle": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab H2S": { + "downward_check": { + "Bambu Lab H2S 0.2 nozzle": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab H2S 0.4 nozzle": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab H2S 0.6 nozzle": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab H2S 0.8 nozzle": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab P2S": { + "downward_check": { + "Bambu Lab P2S 0.2 nozzle": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab P2S 0.4 nozzle": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab P2S 0.6 nozzle": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab P2S 0.8 nozzle": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab H2C": { + "downward_check": { + "Bambu Lab H2C 0.2 nozzle": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab H2C 0.4 nozzle": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab H2C 0.6 nozzle": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab H2C 0.8 nozzle": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab X2D": { + "downward_check": { + "Bambu Lab X2D 0.2 nozzle": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "Bambu Lab X2D 0.4 nozzle": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "Bambu Lab X2D 0.6 nozzle": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ], + "Bambu Lab X2D 0.8 nozzle": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] + } + }, + "Bambu Lab A2L": { + "machine_limits": { + "cli_safe_acceleration_e": "0,0", + "cli_safe_acceleration_extruding": "0,0", + "cli_safe_acceleration_retracting": "0,0", + "cli_safe_acceleration_travel": "8000,8000", + "cli_safe_acceleration_x": "6000,6000", + "cli_safe_acceleration_y": "6000,6000", + "cli_safe_acceleration_z": "0,0", + "cli_safe_jerk_e": "0,0", + "cli_safe_jerk_x": "0,0", + "cli_safe_jerk_y": "0,0", + "cli_safe_jerk_z": "0,0", + "cli_safe_speed_e": "0,0", + "cli_safe_speed_x": "0,0", + "cli_safe_speed_y": "0,0", + "cli_safe_speed_z": "0,0" + }, + "downward_check": { + "Bambu Lab A2L 0.2 nozzle": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab A1 mini 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle" + ], + "Bambu Lab A2L 0.4 nozzle": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle" + ], + "Bambu Lab A2L 0.6 nozzle": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle" + ], + "Bambu Lab A2L 0.8 nozzle": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ] + } + } + } } diff --git a/resources/profiles/BBL/filament/BETA/BETA ABS @base.json b/resources/profiles/BBL/filament/BETA/BETA ABS @base.json deleted file mode 100644 index bbed068703..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA ABS @base.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "filament", - "name": "BETA ABS @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFjUXn67", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_cost": [ - "24.99" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "7.4" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA HIPS @base.json b/resources/profiles/BBL/filament/BETA/BETA HIPS @base.json deleted file mode 100644 index 4d244f9fe1..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA HIPS @base.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "filament", - "name": "BETA HIPS @base", - "inherits": "fdm_filament_hips", - "from": "system", - "filament_id": "OFlmxlDG", - "instantiation": "false", - "filament_is_support": [ - "1" - ], - "filament_vendor": [ - "BETA" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @base.json b/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @base.json deleted file mode 100644 index 1c140e3720..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @base.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "type": "filament", - "name": "BETA PAHT-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OF6qw3Wb", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "94.99" - ], - "filament_density": [ - "1.06" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "BETA" - ], - "full_fan_speed_layer": [ - "2" - ], - "impact_strength_z": [ - "13.3" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "180" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @base.json b/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @base.json deleted file mode 100644 index fe1d3cd5b6..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @base.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "type": "filament", - "name": "BETA PEBA 90A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFI2MKy7", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "59.99" - ], - "filament_max_volumetric_speed": [ - "2.8" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "87.3" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "slow_down_layer_time": [ - "14" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @base.json b/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @base.json deleted file mode 100644 index 7b93695099..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "filament", - "name": "BETA PLA High Speed @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF3PDEw3", - "instantiation": "false", - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_vendor": [ - "BETA" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @base.json b/resources/profiles/BBL/filament/BETA/BETA TPU 90A @base.json deleted file mode 100644 index bba256fd74..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @base.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "type": "filament", - "name": "BETA TPU 90A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OF6Yn69v", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "59.99" - ], - "filament_max_volumetric_speed": [ - "2.8" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "87.3" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "slow_down_layer_time": [ - "14" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @base.json b/resources/profiles/BBL/filament/BETA/BETA TPU 95A @base.json deleted file mode 100644 index 87f7757c3f..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @base.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "filament", - "name": "BETA TPU 95A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFK7830e", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @base.json b/resources/profiles/BBL/filament/BETA/BETA TPU 98A @base.json deleted file mode 100644 index cd106a6bf6..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @base.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "filament", - "name": "BETA TPU 98A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFzaq7Yg", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ] -} diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @base.json b/resources/profiles/BBL/filament/BETA/BETA TPU Matte @base.json deleted file mode 100644 index 272e9be1ed..0000000000 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @base.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "type": "filament", - "name": "BETA TPU Matte @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OF4QZANi", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "59.99" - ], - "filament_max_volumetric_speed": [ - "2.8" - ], - "filament_vendor": [ - "BETA" - ], - "impact_strength_z": [ - "87.3" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "slow_down_layer_time": [ - "14" - ] -} diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL A1 0.2 nozzle.json index 436551f825..3282b698e7 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu ABS @BBL A1 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_08", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL A1 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_08", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL A1.json b/resources/profiles/BBL/filament/Bambu ABS @BBL A1.json index 50a6b5b49b..434551b4ab 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL A1.json @@ -1,43 +1,46 @@ { - "type": "filament", - "name": "Bambu ABS @BBL A1", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_07", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL A1", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_07", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.2 nozzle.json index 476af5f5f2..fd561c9b02 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.2 nozzle.json @@ -1,210 +1,113 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2C 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_23", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2C 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_23", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.6 nozzle.json index d045691a69..43827c7a5e 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.6 nozzle.json @@ -1,204 +1,141 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2C 0.6 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_34", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2C 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_34", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "30", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.8 nozzle.json index e06502611f..7fd3b25a7e 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C 0.8 nozzle.json @@ -1,204 +1,127 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2C 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_35", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2C 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_35", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C.json index dde059f080..410db132d7 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2C.json @@ -1,204 +1,141 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2C", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_22", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.6" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2C", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_22", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_retraction_length": [ + "0.4", + "0.6", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.2 nozzle.json index d88b92f803..e357dc5e05 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.2 nozzle.json @@ -1,134 +1,83 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2D 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_12", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2D 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_12", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.6 nozzle.json index 9775ec7727..328543f9c0 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.6 nozzle.json @@ -1,138 +1,109 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2D 0.6 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_29", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_id": [ - "1", - "1" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2D 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_29", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.8 nozzle.json index c2e36ce885..5d75f70a48 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D 0.8 nozzle.json @@ -1,134 +1,99 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2D 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_13", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2D 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_13", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D.json index 5f76cd7b7b..dcbe4c9c9b 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2D.json @@ -1,134 +1,109 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2D", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_11", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2D", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_11", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.2 nozzle.json index 49577af9aa..afb7d2af99 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,53 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2DP 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_17", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2DP 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_17", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.6 nozzle.json index eb037b997a..5ed4484f7f 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.6 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2DP 0.6 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_31", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2DP 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_31", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.8 nozzle.json index 2d62fb219b..5f5a3435d7 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2DP 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_18", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2DP 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_18", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP.json index c8b70f19cc..ed170c8a30 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2DP.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2DP", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_16", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2DP", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_16", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.2 nozzle.json index e7756331db..6f18702239 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.2 nozzle.json @@ -1,143 +1,104 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2S 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_25", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2S 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_25", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.6 nozzle.json index c7611051e5..d995f5cf2f 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.6 nozzle.json @@ -1,140 +1,125 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2S 0.6 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_33", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2S 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_33", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.8 nozzle.json index 0c5ee84975..af38270fbb 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S 0.8 nozzle.json @@ -1,140 +1,113 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2S 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_32", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL H2S 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_32", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S.json b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S.json index 821c81cb29..35a8d05943 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL H2S.json @@ -1,140 +1,125 @@ { - "type": "filament", - "name": "Bambu ABS @BBL H2S", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_24", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ABS @BBL H2S", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_24", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..d2b3ac673b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.4 nozzle.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "Bambu ABS @BBL P1S 0.4 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_38", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.6 nozzle.json new file mode 100644 index 0000000000..df087aa06b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P1S 0.6 nozzle.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "Bambu ABS @BBL P1S 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_39", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.2 nozzle.json index 4ea2a820a8..0c48231b9e 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.2 nozzle.json @@ -1,174 +1,93 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P2S 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_14", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "fan_min_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL P2S 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_14", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_min_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.6 nozzle.json index 7a68865cc7..6627fb2e62 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.6 nozzle.json @@ -1,174 +1,105 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P2S 0.6 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_36", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ABS @BBL P2S 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_36", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "35", + "16" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.8 nozzle.json index 1d362722c4..bb2c6c215c 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S 0.8 nozzle.json @@ -1,177 +1,93 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P2S 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_15", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL P2S 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_15", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S.json b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S.json index df806f0816..2b3151df5f 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL P2S.json @@ -1,174 +1,108 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P2S", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_10", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "25" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ABS @BBL P2S", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_10", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_min": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "25", + "16" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "hole_limit_max": [ + "0.1319" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.2 nozzle.json index f932ecd24e..ef901b0dc1 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.2 nozzle.json @@ -1,127 +1,58 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1C 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_00", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1C 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_00", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..b7d3a06ea2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.6 nozzle.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "name": "Bambu ABS @BBL X1C 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_40", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.8 nozzle.json index a48f1f1dad..c25c690d8b 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C 0.8 nozzle.json @@ -1,130 +1,58 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1C 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_01", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1C 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_01", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C.json index 3a34dff1b3..4632ca054f 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1C.json @@ -1,130 +1,74 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1C", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1C", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.2 nozzle.json index 21fd5d6c6f..63b7b1ea67 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.2 nozzle.json @@ -1,125 +1,56 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1E 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_05", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1E 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_05", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.8 nozzle.json index bd5a55a77c..5022a70244 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E 0.8 nozzle.json @@ -1,128 +1,56 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1E 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_06", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1E 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_06", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E.json index c70dc81a06..996212ace3 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X1E.json @@ -1,126 +1,61 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X1E", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_04", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X1E", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_04", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.2 nozzle.json index d8cc33038d..31edcc6add 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.2 nozzle.json @@ -1,299 +1,134 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X2D 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_min_speed": [ - "80" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X2D 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_20", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.4 nozzle.json index 127196b764..e647fa477c 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.4 nozzle.json @@ -1,299 +1,163 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X2D 0.4 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "25", - "16", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ABS @BBL X2D 0.4 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_09", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "25", + "16", + "16", + "18", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.8 nozzle.json index d62909130b..ab10c78829 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D 0.8 nozzle.json @@ -1,299 +1,134 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X2D 0.8 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_30", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "35", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL X2D 0.8 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_30", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "35", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D.json b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D.json index 5c8d0db73f..6a0850497b 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu ABS @BBL X2D.json @@ -1,299 +1,160 @@ { - "type": "filament", - "name": "Bambu ABS @BBL X2D", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0124" - ], - "counter_coef_3": [ - "0.0241" - ], - "counter_limit_max": [ - "0.3341" - ], - "counter_limit_min": [ - "0.0241" - ], - "fan_max_speed": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "35", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0008" - ], - "hole_coef_3": [ - "0.1319" - ], - "hole_limit_max": [ - "0.1319" - ], - "hole_limit_min": [ - "0.1119" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ABS @BBL X2D", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_19", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0124" + ], + "counter_coef_3": [ + "0.0241" + ], + "counter_limit_max": [ + "0.3341" + ], + "counter_limit_min": [ + "0.0241" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "35", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0008" + ], + "hole_coef_3": [ + "0.1319" + ], + "hole_limit_max": [ + "0.1319" + ], + "hole_limit_min": [ + "0.1119" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ABS @base.json b/resources/profiles/BBL/filament/Bambu ABS @base.json index 5f395440eb..9762539779 100644 --- a/resources/profiles/BBL/filament/Bambu ABS @base.json +++ b/resources/profiles/BBL/filament/Bambu ABS @base.json @@ -1,21 +1,21 @@ { - "type": "filament", - "name": "Bambu ABS @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFhuaUQB", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_cost": [ - "24.99" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "7.4" - ] -} + "type": "filament", + "name": "Bambu ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFhuaUQB", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_cost": [ + "15.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "7.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL A1.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL A1.json index ce54312a12..aee4e52a01 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL A1", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_02", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL A1", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_02", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json index 101af4fbd3..2a22b2c56c 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,86 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL H2C 0.4 nozzle", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL H2C 0.4 nozzle", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C.json index b4aa3eabe8..debf0cdb10 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2C.json @@ -1,175 +1,87 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL H2C", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL H2C", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2D.json index aede062e59..1e29218693 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2D.json @@ -1,130 +1,61 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL H2D", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL H2D", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2DP.json index 4687bbc34e..fbb310bb0c 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL H2DP", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL H2DP", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2S.json index b55d5009ad..e97591813c 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL H2S.json @@ -1,130 +1,71 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL H2S", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL H2S", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P1P.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P1P.json index 92a613d31e..391dde6b68 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P1P.json @@ -1,121 +1,52 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL P1P", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL P1P", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_01", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P2S.json index 83c7e86a21..0e8b03a063 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL P2S.json @@ -1,170 +1,70 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL P2S", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_04", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL P2S", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_04", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X1C.json index 84fa26686c..9da7b387f0 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X1C.json @@ -1,130 +1,61 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL X1C", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL X1C", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_00", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json index 83718ceffb..4eb2b0ed73 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json @@ -1,266 +1,103 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "1", - "1", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "1", + "1", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D.json index dc684ed111..0feee7871a 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @BBL X2D.json @@ -1,267 +1,104 @@ { - "type": "filament", - "name": "Bambu ABS-GF @BBL X2D", - "inherits": "Bambu ABS-GF @base", - "from": "system", - "setting_id": "GFSB50_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "1", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @BBL X2D", + "inherits": "Bambu ABS-GF @base", + "from": "system", + "setting_id": "GFSB50_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "1", + "nil", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ABS-GF @base.json b/resources/profiles/BBL/filament/Bambu ABS-GF @base.json index a14581034d..92aaa864c3 100644 --- a/resources/profiles/BBL/filament/Bambu ABS-GF @base.json +++ b/resources/profiles/BBL/filament/Bambu ABS-GF @base.json @@ -1,45 +1,45 @@ { - "type": "filament", - "name": "Bambu ABS-GF @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFknl9Iz", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "12" - ], - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.08" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "ABS-GF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "5.3" - ], - "overhang_fan_speed": [ - "30" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "4" - ] -} + "type": "filament", + "name": "Bambu ABS-GF @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFknl9Iz", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_cooling_layer_time": [ + "12" + ], + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "26.99" + ], + "filament_density": [ + "1.08" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "ABS-GF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "5.3" + ], + "overhang_fan_speed": [ + "30" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "4" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.2 nozzle.json index e8bf20f799..52d1c45a6b 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.2 nozzle.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Bambu ASA @BBL A1 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_10", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL A1 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_10", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.4 nozzle.json index 47ee685e30..97017c4fa3 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.4 nozzle.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Bambu ASA @BBL A1 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL A1 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.6 nozzle.json index 61b62b138d..8aa9d6f38b 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL A1 0.6 nozzle.json @@ -1,21 +1,21 @@ { - "type": "filament", - "name": "Bambu ASA @BBL A1 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_08", - "instantiation": "true", - "fan_min_speed": [ - "25" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL A1 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_08", + "instantiation": "true", + "fan_min_speed": [ + "25" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.2 nozzle.json index 0265544a71..d219538b6d 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.2 nozzle.json @@ -1,201 +1,104 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2C 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_24", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "85" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2C 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_24", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "85" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.6 nozzle.json index 6dd2e76bce..4607a76875 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.6 nozzle.json @@ -1,198 +1,135 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2C 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_37", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "85" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2C 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_37", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "25", + "30", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "85" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.8 nozzle.json index f0597a6b6b..9e423a7cd8 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C 0.8 nozzle.json @@ -1,198 +1,121 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2C 0.8 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_38", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "85" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2C 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_38", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "25", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "85" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C.json index c9a9653a42..dd929d197a 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2C.json @@ -1,198 +1,135 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2C", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_23", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.6" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "85" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2C", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_23", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_retraction_length": [ + "0.4", + "0.6", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "85" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.2 nozzle.json index 1f1678b52b..97240d7f90 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.2 nozzle.json @@ -1,128 +1,77 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2D 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_12", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2D 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_12", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.4 nozzle.json index a081558c0a..156abeec8c 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.4 nozzle.json @@ -1,149 +1,103 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2D 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_13", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.007" - ], - "counter_coef_3": [ - "0.003" - ], - "counter_limit_max": [ - "0.1" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.006" - ], - "hole_coef_3": [ - "0.25" - ], - "hole_limit_min": [ - "-0.088" - ], - "hole_limit_max": [ - "0.14" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2D 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_13", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.6 nozzle.json index fdb51cedba..73850c5f55 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.6 nozzle.json @@ -1,128 +1,103 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2D 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_11", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2D 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_11", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.8 nozzle.json index 6c16c18dc7..b10ab76104 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2D 0.8 nozzle.json @@ -1,132 +1,97 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2D 0.8 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_33", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_id": [ - "1", - "1" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2D 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_33", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_extruder_id": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.2 nozzle.json index e728c14b86..1225a33407 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2DP 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_18", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2DP 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_18", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.4 nozzle.json index 2d7a3e0b78..9e778800b9 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.4 nozzle.json @@ -1,149 +1,84 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2DP 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_19", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.007" - ], - "counter_coef_3": [ - "0.003" - ], - "counter_limit_max": [ - "0.1" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.006" - ], - "hole_coef_3": [ - "0.25" - ], - "hole_limit_min": [ - "-0.088" - ], - "hole_limit_max": [ - "0.14" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2DP 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_19", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.007" + ], + "counter_coef_3": [ + "0.003" + ], + "counter_limit_max": [ + "0.1" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.006" + ], + "hole_coef_3": [ + "0.25" + ], + "hole_limit_max": [ + "0.14" + ], + "hole_limit_min": [ + "-0.088" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.6 nozzle.json index 6ff818396f..37552482a1 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.6 nozzle.json @@ -1,128 +1,63 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2DP 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_17", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2DP 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_17", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.8 nozzle.json index 7904005cab..9fb3fc0ddc 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2DP 0.8 nozzle.json @@ -1,128 +1,63 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2DP 0.8 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_34", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2DP 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_34", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.2 nozzle.json index 14b6adc4e3..540af08837 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,95 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2S 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_27", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2S 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_27", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.6 nozzle.json index 1bc719e589..3b583b2865 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.6 nozzle.json @@ -1,134 +1,119 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2S 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_36", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2S 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_36", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.8 nozzle.json index 9723a3756f..9c15cc5cc3 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S 0.8 nozzle.json @@ -1,134 +1,107 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2S 0.8 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_35", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL H2S 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_35", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S.json b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S.json index 99be696bec..b36583a6e4 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL H2S.json @@ -1,134 +1,119 @@ { - "type": "filament", - "name": "Bambu ASA @BBL H2S", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_26", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu ASA @BBL H2S", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_26", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.2 nozzle.json index cf15742854..d93ebff0f4 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.2 nozzle.json @@ -1,192 +1,101 @@ { - "type": "filament", - "name": "Bambu ASA @BBL P2S 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_15", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL P2S 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_15", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.4 nozzle.json index 11ab00acb8..8751a771b7 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.4 nozzle.json @@ -1,186 +1,102 @@ { - "type": "filament", - "name": "Bambu ASA @BBL P2S 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_16", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "25" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ASA @BBL P2S 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_16", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "25", + "18" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.6 nozzle.json index 3ae3da7e29..6b8e36bb44 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.6 nozzle.json @@ -1,189 +1,115 @@ { - "type": "filament", - "name": "Bambu ASA @BBL P2S 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_14", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "65" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_min_speed": [ - "25" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ASA @BBL P2S 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_14", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_min": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.8 nozzle.json index b9b1974d28..284e476b53 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL P2S 0.8 nozzle.json @@ -1,186 +1,91 @@ { - "type": "filament", - "name": "Bambu ASA @BBL P2S 0.8 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_32", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_min_speed": [ - "25" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL P2S 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_32", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.2 nozzle.json index 0f942eb9c0..d7fa4d563a 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.2 nozzle.json @@ -1,119 +1,50 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_03", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_03", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.6 nozzle.json index f3ab38a4c2..63e38090f7 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1 0.6 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1 0.6 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_04", - "instantiation": "true", - "fan_min_speed": [ - "25" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_speed": [ - "0.4", - "0.4" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "V" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1 0.6 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_04", + "instantiation": "true", + "fan_min_speed": [ + "25" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_speed": [ + "0.4", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp_initial_layer": [ + "V" + ], + "compatible_printers": [ + "Bambu Lab X1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.2 nozzle.json index 03c9bd988a..442ccbdfc5 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.2 nozzle.json @@ -1,121 +1,52 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1C 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1C 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_01", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.4 nozzle.json index aba1ae8e63..358a7e83c0 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.4 nozzle.json @@ -1,126 +1,65 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1C 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1C 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C.json index 043405a082..ab1677285e 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1C.json @@ -1,127 +1,66 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1C", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_00", - "instantiation": "true", - "fan_min_speed": [ - "25" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1C", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_00", + "instantiation": "true", + "fan_min_speed": [ + "25" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.2 nozzle.json index 434e5b3169..bf2df2143a 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.2 nozzle.json @@ -1,119 +1,50 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1E 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_06", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1E 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_06", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.4 nozzle.json index 8200afe8b1..9080ee1bb6 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E 0.4 nozzle.json @@ -1,119 +1,50 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1E 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_07", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1E 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_07", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E.json index 3a45999811..9336323c61 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X1E.json @@ -1,123 +1,54 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X1E", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_05", - "instantiation": "true", - "fan_min_speed": [ - "25" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X1E", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_05", + "instantiation": "true", + "fan_min_speed": [ + "25" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.2 nozzle.json index a2d4ee198c..ae13ba1ba3 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.2 nozzle.json @@ -1,293 +1,128 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X2D 0.2 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA @BBL X2D 0.2 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_21", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.4 nozzle.json index 0049bdd6bd..f5aedbd3c7 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.4 nozzle.json @@ -1,293 +1,157 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X2D 0.4 nozzle", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "18", - "25", - "18", - "20" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ASA @BBL X2D 0.4 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_22", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "18", + "25", + "18", + "18", + "20", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..4bf30b3fce --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D 0.8 nozzle.json @@ -0,0 +1,149 @@ +{ + "type": "filament", + "name": "Bambu ASA @BBL X2D 0.8 nozzle", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_50", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "8.0", + "12", + "8.0" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D.json b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D.json index b3b5e73c4c..38c96bff13 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu ASA @BBL X2D.json @@ -1,297 +1,157 @@ { - "type": "filament", - "name": "Bambu ASA @BBL X2D", - "inherits": "Bambu ASA @base", - "from": "system", - "setting_id": "GFSB01_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0094" - ], - "counter_coef_3": [ - "-0.0092" - ], - "counter_limit_max": [ - "0.2258" - ], - "counter_limit_min": [ - "-0.0092" - ], - "fan_min_speed": [ - "25" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "18", - "35", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "0.0013" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1586" - ], - "hole_limit_min": [ - "0.1261" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu ASA @BBL X2D", + "inherits": "Bambu ASA @base", + "from": "system", + "setting_id": "GFSB01_20", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0094" + ], + "counter_coef_3": [ + "-0.0092" + ], + "counter_limit_max": [ + "0.2258" + ], + "counter_limit_min": [ + "-0.0092" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0013" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1586" + ], + "hole_limit_min": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu ASA @base.json b/resources/profiles/BBL/filament/Bambu ASA @base.json index 5e66d50419..e1314043ef 100644 --- a/resources/profiles/BBL/filament/Bambu ASA @base.json +++ b/resources/profiles/BBL/filament/Bambu ASA @base.json @@ -1,57 +1,54 @@ { - "type": "filament", - "name": "Bambu ASA @base", - "inherits": "fdm_filament_asa", - "from": "system", - "filament_id": "OFfBpSRI", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "35" - ], - "filament_cost": [ - "31.99" - ], - "filament_density": [ - "1.05" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "impact_strength_z": [ - "4.9" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ] -} + "type": "filament", + "name": "Bambu ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "OFfBpSRI", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "35" + ], + "filament_cost": [ + "26.99" + ], + "filament_density": [ + "1.05" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL A1.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL A1.json index 08c89cd1d2..ceca584ce1 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL A1", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_02", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL A1", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json index 54d58171c5..f26386bdfc 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C 0.4 nozzle.json @@ -1,174 +1,116 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL H2C 0.4 nozzle", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL H2C 0.4 nozzle", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "5", + "5", + "5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C.json index af6afa3b7b..c9d84e07dc 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2C.json @@ -1,175 +1,117 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL H2C", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL H2C", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "5", + "5", + "5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2D.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2D.json index 0e2e74f3f3..50e18b0199 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2D.json @@ -1,130 +1,66 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL H2D", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL H2D", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2DP.json index f77d850506..2b4239fd68 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2DP.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL H2DP", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL H2DP", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2S.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2S.json index 3c76624c3d..8d5c0248b2 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL H2S.json @@ -1,130 +1,96 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL H2S", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL H2S", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5" + ], + "filament_wipe_distance": [ + "5", + "5", + "5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P1P.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P1P.json index 00ea67fa8e..b6dbf0022b 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P1P.json @@ -1,121 +1,60 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL P1P", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL P1P", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "1.5", + "1.5" + ], + "filament_wipe_distance": [ + "5", + "5" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P2S.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P2S.json index 832871142c..3a8ecc97b9 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL P2S.json @@ -1,170 +1,90 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL P2S", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_04", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL P2S", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_04", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5" + ], + "filament_wipe_distance": [ + "5", + "5", + "5" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X1C.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X1C.json index f434bea9f5..8b6bc1aadb 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X1C.json @@ -1,130 +1,69 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL X1C", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "1.5", - "1.5" - ], - "filament_wipe_distance": [ - "5", - "5" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL X1C", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "1.5", + "1.5" + ], + "filament_wipe_distance": [ + "5", + "5" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json index 4e948ec55a..68d386090f 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json @@ -1,269 +1,114 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.5", - "1.5", - "1.5", - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "5", - "5", - "5", - "5" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift", - "Normal Lift", - "Normal Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.52", - "0.52", - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "3", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52", + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "6", + "12", + "6", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5", + "1.5", + "1.5", + "1.5" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe_distance": [ + "5", + "5", + "5", + "5", + "5", + "5" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D.json index 7b2293c644..1d7084126f 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @BBL X2D.json @@ -1,270 +1,115 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @BBL X2D", - "inherits": "Bambu ASA-Aero @base", - "from": "system", - "setting_id": "GFSB02_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.5", - "1.5", - "1.5", - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "5", - "5", - "5", - "5" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Normal Lift", - "Normal Lift", - "Normal Lift", - "Normal Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.52", - "0.52", - "0.52", - "0.52" - ], - "filament_max_volumetric_speed": [ - "3", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @BBL X2D", + "inherits": "Bambu ASA-Aero @base", + "from": "system", + "setting_id": "GFSB02_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.52", + "0.52", + "0.52", + "0.52", + "0.52", + "0.52" + ], + "filament_max_volumetric_speed": [ + "3", + "12", + "3", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "1.5", + "1.5", + "1.5", + "1.5" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "filament_wipe_distance": [ + "5", + "5", + "5", + "5", + "5", + "5" + ], + "filament_z_hop_types": [ + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift", + "Normal Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "6", + "3", + "6", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-Aero @base.json b/resources/profiles/BBL/filament/Bambu ASA-Aero @base.json index 43c69be716..e922b2c7df 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-Aero @base.json +++ b/resources/profiles/BBL/filament/Bambu ASA-Aero @base.json @@ -1,66 +1,66 @@ { - "type": "filament", - "name": "Bambu ASA-Aero @base", - "inherits": "fdm_filament_asa", - "from": "system", - "filament_id": "OFXzQ4yL", - "instantiation": "false", - "description": "This filament is only used to print models with a low density usually, and some special parameters are required. To get better printing quality, please refer to this wiki: ASA Aero Printing Guide.", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "49.99" - ], - "filament_density": [ - "0.99" - ], - "filament_flow_ratio": [ - "0.52" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "ASA-AERO" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_wipe_distance": [ - "5" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "filament_dev_drying_cooling_temperature": [ - "70" - ], - "impact_strength_z": [ - "3.4" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "overhang_fan_speed": [ - "50" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "5" - ] -} + "type": "filament", + "name": "Bambu ASA-Aero @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "OFXzQ4yL", + "instantiation": "false", + "description": "This filament is only used to print models with a low density usually, and some special parameters are required. To get better printing quality, please refer to this wiki: ASA Aero Printing Guide.", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "46.99" + ], + "filament_density": [ + "0.99" + ], + "filament_dev_drying_cooling_temperature": [ + "70" + ], + "filament_flow_ratio": [ + "0.52" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "ASA-AERO" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_wipe_distance": [ + "5" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "impact_strength_z": [ + "3.4" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "overhang_fan_speed": [ + "50" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json index 10dddf6434..442f2b6230 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1 0.6 nozzle.json @@ -1,12 +1,12 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL A1 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_05", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL A1 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_05", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1.json index 11fc104be5..70c164accf 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL A1.json @@ -1,11 +1,11 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL A1", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_04", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL A1", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_04", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json index f6b7e6dc8c..64db4fe9eb 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C 0.4 nozzle.json @@ -1,180 +1,102 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_14", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "235", - "235" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "95" - ], - "textured_plate_temp": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_14", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_pre_cooling_temperature_nc": [ + "235", + "235", + "235" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "1.2" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "95" + ], + "textured_plate_temp": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C.json index 7ae4df95b1..0cf8596dca 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2C.json @@ -1,175 +1,97 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2C", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_15", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "235", - "235" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "95" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2C", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_pre_cooling_temperature_nc": [ + "235", + "235", + "235" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "1.2" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "95" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json index ee9d7d06af..53c44ddc9c 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.4 nozzle.json @@ -1,134 +1,75 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2D 0.4 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_06", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "textured_plate_temp": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2D 0.4 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json index 73f350f6b6..37dc06bc9e 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2D 0.6 nozzle.json @@ -1,129 +1,70 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2D 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2D 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json index 1e385a3161..b3050aecc6 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.4 nozzle.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2DP 0.4 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "textured_plate_temp": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2DP 0.4 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json index c6c3132087..a10dd2783f 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2DP 0.6 nozzle.json @@ -1,129 +1,56 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2DP 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_11", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_11", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2S.json index 90b0e34558..9700df7ca0 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL H2S.json @@ -1,130 +1,81 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL H2S", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL H2S", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json index 046e09c964..65e12dfc7d 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P 0.6 nozzle.json @@ -1,120 +1,57 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL P1P 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_03", - "instantiation": "true", - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL P1P 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_03", + "instantiation": "true", + "filament_flow_ratio": [ + "0.89", + "0.89" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "overhang_fan_speed": [ + "90" + ], + "pre_start_fan_time": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P.json index 565b571732..9f5fb5e0e1 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P1P.json @@ -1,119 +1,56 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL P1P", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL P1P", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.89", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "overhang_fan_speed": [ + "90" + ], + "pre_start_fan_time": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json index d104343ea6..eb7f04ca4e 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.4 nozzle.json @@ -1,186 +1,76 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL P2S 0.4 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_08", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL P2S 0.4 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_08", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json index b12aa7333d..49b0a84c3c 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL P2S 0.6 nozzle.json @@ -1,187 +1,77 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL P2S 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_09", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL P2S 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_09", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json index b534868de7..3c55f436ea 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json @@ -1,126 +1,63 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL X1C 0.6 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL X1C 0.6 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.89", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "overhang_fan_speed": [ + "90" + ], + "pre_start_fan_time": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C.json index 89f32a24fd..0057078bcb 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X1C.json @@ -1,122 +1,59 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL X1C", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL X1C", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.89", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "overhang_fan_speed": [ + "90" + ], + "pre_start_fan_time": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json index 1f43c3e688..086b33b549 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json @@ -1,269 +1,98 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.9", - "0.9", - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "275" - ], - "nozzle_temperature": [ - "275", - "275", - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275", - "275", - "275" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9", + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil", + "1.2", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "275" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D.json index 9352ed31ad..c221226aa0 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @BBL X2D.json @@ -1,270 +1,99 @@ { - "type": "filament", - "name": "Bambu ASA-CF @BBL X2D", - "inherits": "Bambu ASA-CF @base", - "from": "system", - "setting_id": "GFSB51_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.9", - "0.9", - "0.9", - "0.9" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "275" - ], - "nozzle_temperature": [ - "275", - "275", - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275", - "275", - "275" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu ASA-CF @BBL X2D", + "inherits": "Bambu ASA-CF @base", + "from": "system", + "setting_id": "GFSB51_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.9", + "0.9", + "0.9", + "0.9", + "0.9", + "0.9" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "nil", + "1.2", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "275" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu ASA-CF @base.json b/resources/profiles/BBL/filament/Bambu ASA-CF @base.json index bf957889b6..210bdbf04a 100644 --- a/resources/profiles/BBL/filament/Bambu ASA-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu ASA-CF @base.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu ASA-CF @base", - "inherits": "fdm_filament_asa", - "from": "system", - "filament_id": "OF0wBGNx", - "instantiation": "false", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "25" - ], - "filament_cost": [ - "36.99" - ], - "filament_density": [ - "1.02" - ], - "filament_flow_ratio": [ - "0.9" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_type": [ - "ASA-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], + "type": "filament", + "name": "Bambu ASA-CF @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "OF0wBGNx", + "instantiation": "false", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "25" + ], + "filament_cost": [ + "33.99" + ], + "filament_density": [ + "1.02" + ], "filament_dev_drying_cooling_temperature": [ "95" ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "impact_strength_z": [ - "9.4" - ], - "nozzle_temperature": [ - "275" - ], - "nozzle_temperature_initial_layer": [ - "275" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "108" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ] -} + "filament_flow_ratio": [ + "0.9" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_type": [ + "ASA-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "impact_strength_z": [ + "9.4" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "108" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL A1.json index 6e1281bb2f..7f19de7665 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL A1.json @@ -1,31 +1,34 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL A1", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL A1", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json index 4cc1673410..ffc578ba28 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C 0.4 nozzle.json @@ -1,171 +1,88 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C.json index 3182fc7db5..446a08eff1 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2C.json @@ -1,172 +1,89 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL H2C", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL H2C", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2D.json index 00a6b5f08e..cee8d53842 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2D.json @@ -1,130 +1,66 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL H2D", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL H2D", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2DP.json index 9dc3c985b2..760fc62815 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2DP.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL H2DP", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL H2DP", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2S.json index e8db9dabc1..b1a9ff5a1b 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL H2S.json @@ -1,142 +1,91 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL H2S", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "full_fan_speed_layer": [ - "2" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL H2S", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL P2S.json index a5321a628a..5459a2e484 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL P2S.json @@ -1,182 +1,85 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL P2S", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_03", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "full_fan_speed_layer": [ - "2" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL P2S", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_03", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1C.json index e3ebff6b9e..52af58d8ba 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1C.json @@ -1,139 +1,69 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL X1C", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN00", - "instantiation": "true", - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "fan_cooling_layer_time": [ - "5" - ], - "full_fan_speed_layer": [ - "2" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL X1C", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1E.json index 9539b0ba39..b12f9f014e 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X1E.json @@ -1,136 +1,66 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL X1E", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "full_fan_speed_layer": [ - "2" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL X1E", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json index 57bfcb4d75..4cd5698e7f 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json @@ -1,281 +1,102 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_fan_full_speed_layer": [ - "2" - ], - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_05", + "instantiation": "true", + "additional_fan_full_speed_layer": [ + "2" + ], + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "full_fan_speed_layer": [ + "2" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D.json index c9f8772c79..384d2e4f3b 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @BBL X2D.json @@ -1,282 +1,103 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL X2D", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN03_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_fan_full_speed_layer": [ - "2" - ], - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL X2D", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN03_06", + "instantiation": "true", + "additional_fan_full_speed_layer": [ + "2" + ], + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "full_fan_speed_layer": [ + "2" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA-CF @base.json b/resources/profiles/BBL/filament/Bambu PA-CF @base.json index 47e1cc6ae1..56438fdc74 100644 --- a/resources/profiles/BBL/filament/Bambu PA-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PA-CF @base.json @@ -1,42 +1,42 @@ { - "type": "filament", - "name": "Bambu PA-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFFNYwWR", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_cost": [ - "84.99" - ], - "filament_density": [ - "1.09" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "5.7" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "170" - ] -} + "type": "filament", + "name": "Bambu PA-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFFNYwWR", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_cost": [ + "84.99" + ], + "filament_density": [ + "1.09" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "5.7" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "170" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL A1.json index 6a6b84d57d..c8ad4d3ae3 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL A1", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_00", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-CF @BBL A1", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json index 55082c4c58..d5f0e48284 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.4 nozzle.json @@ -1,198 +1,115 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0016" - ], - "counter_coef_3": [ - "0.0031" - ], - "counter_limit_max": [ - "0.0031" - ], - "counter_limit_min": [ - "-0.038" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "235", - "235" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.2194" - ], - "hole_limit_max": [ - "0.2194" - ], - "hole_limit_min": [ - "0.092" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "counter_limit_max": [ + "0.0031" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "235", + "235", + "235" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "hole_limit_max": [ + "0.2194" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..298e08ad9e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C 0.8 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2C 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "235", + "235" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C.json index 52ef42a778..efe4561e5b 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2C.json @@ -1,199 +1,115 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL H2C", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0016" - ], - "counter_coef_3": [ - "0.0031" - ], - "counter_limit_max": [ - "0.0031" - ], - "counter_limit_min": [ - "-0.038" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "235", - "235" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.2194" - ], - "hole_limit_max": [ - "0.2194" - ], - "hole_limit_min": [ - "0.092" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL H2C", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "235", + "235", + "235" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..81af096616 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.6 nozzle.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2D 0.6 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_19", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..6734c692af --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D 0.8 nozzle.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2D 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D.json index 5c42b34f22..7af66f7591 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2D.json @@ -1,139 +1,88 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL H2D", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-CF @BBL H2D", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..4c103b0344 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..1109cf18b9 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP.json index 8eddde5255..3296ee17fc 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2DP.json @@ -1,139 +1,60 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL H2DP", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_06", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL H2DP", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..7865bb6c73 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.6 nozzle.json @@ -0,0 +1,110 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2S 0.6 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_23", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..08ad4903ca --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL H2S 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_24", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S.json index 02c509c54b..0b4d91befa 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL H2S.json @@ -1,130 +1,98 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL H2S", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL H2S", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..1f5d9d345e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.6 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL P2S 0.6 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_25", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..3c469c04ec --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL P2S 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_26", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S.json index 34b1c150dd..8fe541f028 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL P2S.json @@ -1,170 +1,92 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL P2S", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_05", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL P2S", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_05", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..55fc6dc7fe --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C 0.6 nozzle.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL X1C 0.6 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_13", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "10" + ], + "filament_retraction_length": [ + "nil", + "0.6" + ], + "filament_z_hop": [ + "nil", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C.json index fea98c0cd9..a3bd80d4ad 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C.json @@ -1,130 +1,59 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL X1C", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-CF @BBL X1C", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "10" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1E.json index 221461bf4d..7dc61e0a97 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL X1E", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-CF @BBL X1E", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json index 0d4b65e724..2f8844aac0 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json @@ -1,302 +1,147 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_01", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0016" - ], - "counter_coef_3": [ - "0.0031" - ], - "counter_limit_max": [ - "0.0031" - ], - "counter_limit_min": [ - "-0.038" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "275" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.2194" - ], - "hole_limit_max": [ - "0.2194" - ], - "hole_limit_min": [ - "0.092" - ], - "nozzle_temperature": [ - "275", - "275", - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275", - "275", - "275" - ], - "overhang_fan_speed": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_01", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "1", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "275" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "overhang_fan_speed": [ + "55" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..facf99db42 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D 0.8 nozzle.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Bambu PA6-CF @BBL X2D 0.8 nozzle", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_27", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "275" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "275", + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D.json index 133ef2ee2d..ac8ddec3e2 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @BBL X2D.json @@ -1,294 +1,138 @@ { - "type": "filament", - "name": "Bambu PA6-CF @BBL X2D", - "inherits": "Bambu PA6-CF @base", - "from": "system", - "setting_id": "GFSN05_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0016" - ], - "counter_coef_3": [ - "0.0031" - ], - "counter_limit_max": [ - "0.0031" - ], - "counter_limit_min": [ - "-0.038" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "275" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.2194" - ], - "hole_limit_max": [ - "0.2194" - ], - "hole_limit_min": [ - "0.092" - ], - "nozzle_temperature": [ - "275", - "275", - "275", - "275" - ], - "nozzle_temperature_initial_layer": [ - "275", - "275", - "275", - "275" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PA6-CF @BBL X2D", + "inherits": "Bambu PA6-CF @base", + "from": "system", + "setting_id": "GFSN05_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0016" + ], + "counter_coef_3": [ + "0.0031" + ], + "counter_limit_max": [ + "0.0031" + ], + "counter_limit_min": [ + "-0.038" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "nil", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "275" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.2194" + ], + "hole_limit_max": [ + "0.2194" + ], + "hole_limit_min": [ + "0.092" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "275", + "275", + "275", + "275", + "275", + "275" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PA6-CF @base.json b/resources/profiles/BBL/filament/Bambu PA6-CF @base.json index 0bb143c6ef..a61d8babea 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PA6-CF @base.json @@ -1,51 +1,51 @@ { - "type": "filament", - "name": "Bambu PA6-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFniMuTN", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "79.99" - ], - "filament_density": [ - "1.10" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "15.5" - ], - "nozzle_temperature": [ - "275" - ], - "nozzle_temperature_initial_layer": [ - "275" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "170" - ] -} + "type": "filament", + "name": "Bambu PA6-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFniMuTN", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "76.99" + ], + "filament_density": [ + "1.10" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "15.5" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "170" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL A1.json index 1ed3942c27..76b7da4332 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL A1.json @@ -1,22 +1,22 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL A1", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "10.5" - ], - "nozzle_temperature": [ - "265" - ], - "nozzle_temperature_initial_layer": [ - "265" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL A1", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "10.5" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json index 0b1d7c52eb..9b62b86c31 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,96 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "225", - "225" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "225", + "225", + "225" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C.json index 749ace320a..c998ace674 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2C.json @@ -1,175 +1,97 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL H2C", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "225", - "225" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL H2C", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "225", + "225", + "225" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2D.json index d18edfcde0..8f41c7c44c 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2D.json @@ -1,130 +1,71 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL H2D", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL H2D", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2DP.json index 5a19b9d6d7..1b07db3f0f 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2DP.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL H2DP", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL H2DP", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265" + ], + "retraction_distances_when_ec": [ + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2S.json index d0886c7a65..31f74a0214 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL H2S.json @@ -1,130 +1,76 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL H2S", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL H2S", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P1P.json index db4e431667..03fbe7dba3 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P1P.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL P1P", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL P1P", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P2S.json index 0f45ef0971..88ec94b226 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL P2S.json @@ -1,170 +1,70 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL P2S", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_04", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL P2S", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_04", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X1C.json index 1ae1285e50..4aabf6b9ee 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL X1C", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL X1C", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json index 14e7f3ba63..d6d658b84c 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json @@ -1,266 +1,95 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5", - "10.5", - "10.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "265" - ], - "nozzle_temperature": [ - "265", - "265", - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265", - "265", - "265" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5", + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "1", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "265" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "265", + "265", + "265", + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265", + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D.json index 83b90323f8..40283e5149 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @BBL X2D.json @@ -1,267 +1,96 @@ { - "type": "filament", - "name": "Bambu PA6-GF @BBL X2D", - "inherits": "Bambu PA6-GF @base", - "from": "system", - "setting_id": "GFSN08_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5", - "10.5", - "10.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "265" - ], - "nozzle_temperature": [ - "265", - "265", - "265", - "265" - ], - "nozzle_temperature_initial_layer": [ - "265", - "265", - "265", - "265" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @BBL X2D", + "inherits": "Bambu PA6-GF @base", + "from": "system", + "setting_id": "GFSN08_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5", + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "nil", + "1", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "265" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "265", + "265", + "265", + "265", + "265", + "265" + ], + "nozzle_temperature_initial_layer": [ + "265", + "265", + "265", + "265", + "265", + "265" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PA6-GF @base.json b/resources/profiles/BBL/filament/Bambu PA6-GF @base.json index 2f9a674e54..b1c0f4db86 100644 --- a/resources/profiles/BBL/filament/Bambu PA6-GF @base.json +++ b/resources/profiles/BBL/filament/Bambu PA6-GF @base.json @@ -1,48 +1,51 @@ { - "type": "filament", - "name": "Bambu PA6-GF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFNk8bxk", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "59.99" - ], - "filament_density": [ - "1.14" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA-GF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "full_fan_speed_layer": [ - "2" - ], - "impact_strength_z": [ - "4.1" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "180" - ] -} + "type": "filament", + "name": "Bambu PA6-GF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFNk8bxk", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "additional_fan_full_speed_layer": [ + "2" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "56.99" + ], + "filament_density": [ + "1.14" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-GF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "full_fan_speed_layer": [ + "2" + ], + "impact_strength_z": [ + "4.1" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "180" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL A1.json index f6a2d95cc5..c925657b6d 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL A1", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_00", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PAHT-CF @BBL A1", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json index 98bada741c..8e75eae01b 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.4 nozzle.json @@ -1,198 +1,115 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_06", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.002" - ], - "counter_coef_3": [ - "-0.055" - ], - "counter_limit_max": [ - "-0.005" - ], - "counter_limit_min": [ - "-0.055" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.1686" - ], - "hole_limit_max": [ - "0.19" - ], - "hole_limit_min": [ - "0.1686" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_min": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_min": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..f0f47e1320 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C 0.8 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2C 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C.json index fea3dea1a3..01c84f593d 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2C.json @@ -1,199 +1,115 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL H2C", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.002" - ], - "counter_coef_3": [ - "-0.055" - ], - "counter_limit_max": [ - "-0.005" - ], - "counter_limit_min": [ - "-0.055" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.1686" - ], - "hole_limit_max": [ - "0.19" - ], - "hole_limit_min": [ - "0.1686" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2C", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..7d675689e5 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.6 nozzle.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2D 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00545" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..4b70ace7c5 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D 0.8 nozzle.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2D 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00545" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D.json index e4bb40d3c6..6639b62a14 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2D.json @@ -1,139 +1,88 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL H2D", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_01", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.00545" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2D", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_01", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..88e3ea08c7 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_23", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00545" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..7fcc74104b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_24", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00545" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP.json index 2ff3440853..c9f352bb43 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2DP.json @@ -1,139 +1,60 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL H2DP", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.00545" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2DP", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.00545" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..186c1118cd --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.6 nozzle.json @@ -0,0 +1,110 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2S 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_25", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..f974d4c426 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2S 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_26", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S.json index ced8efb784..ee24f90784 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL H2S.json @@ -1,130 +1,98 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL H2S", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL H2S", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..6bf14f208f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.6 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL P2S 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_27", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..256de3bf41 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL P2S 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_28", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S.json index 388db9c1ef..1adc791245 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL P2S.json @@ -1,170 +1,92 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL P2S", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_02", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL P2S", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_02", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..bccc102d2d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C 0.6 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL X1C 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_retraction_length": [ + "nil", + "1.2" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C.json index ac1cb704af..f8bfc2d417 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL X1C", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PAHT-CF @BBL X1C", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json index 32a05382ba..0f02b6ea95 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json @@ -1,299 +1,120 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_04", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.002" - ], - "counter_coef_3": [ - "-0.055" - ], - "counter_limit_max": [ - "-0.005" - ], - "counter_limit_min": [ - "-0.055" - ], - "fan_max_speed": [ - "45" - ], - "fan_min_speed": [ - "25" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.1686" - ], - "hole_limit_max": [ - "0.19" - ], - "hole_limit_min": [ - "0.1686" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "overhang_fan_speed": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "fan_max_speed": [ + "45" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "overhang_fan_speed": [ + "60" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..d4a2c11570 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D 0.8 nozzle.json @@ -0,0 +1,113 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL X2D 0.8 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_29", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D.json index 89c68e9c33..39fc532026 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @BBL X2D.json @@ -1,291 +1,111 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL X2D", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.002" - ], - "counter_coef_3": [ - "-0.055" - ], - "counter_limit_max": [ - "-0.005" - ], - "counter_limit_min": [ - "-0.055" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.1686" - ], - "hole_limit_max": [ - "0.19" - ], - "hole_limit_min": [ - "0.1686" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PAHT-CF @BBL X2D", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.002" + ], + "counter_coef_3": [ + "-0.055" + ], + "counter_limit_max": [ + "-0.005" + ], + "counter_limit_min": [ + "-0.055" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.1686" + ], + "hole_limit_max": [ + "0.19" + ], + "hole_limit_min": [ + "0.1686" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PAHT-CF @base.json b/resources/profiles/BBL/filament/Bambu PAHT-CF @base.json index 80c0599caa..4a1d43c5f2 100644 --- a/resources/profiles/BBL/filament/Bambu PAHT-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PAHT-CF @base.json @@ -1,51 +1,54 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OF2VFe4J", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "94.99" - ], - "filament_density": [ - "1.06" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "full_fan_speed_layer": [ - "2" - ], + "type": "filament", + "name": "Bambu PAHT-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OF2VFe4J", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "additional_fan_full_speed_layer": [ + "2" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "91.99" + ], + "filament_density": [ + "1.06" + ], "filament_dev_chamber_drying_time": [ "16" ], - "impact_strength_z": [ - "13.3" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "180" - ] -} + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "full_fan_speed_layer": [ + "2" + ], + "impact_strength_z": [ + "13.3" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "180" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL A1 0.2 nozzle.json index e59e2fe946..790ddb7c4a 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PC @BBL A1 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_13", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL A1 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_13", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL A1.json b/resources/profiles/BBL/filament/Bambu PC @BBL A1.json index 69742e339f..fa10655ee8 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PC @BBL A1", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_14", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL A1", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_14", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.2 nozzle.json index 77cc5e92db..a3ba75304a 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.2 nozzle.json @@ -1,204 +1,111 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2C 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_33", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2C 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_33", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.6 nozzle.json index 6b8f2211d5..b53e6eaf93 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.6 nozzle.json @@ -1,204 +1,141 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2C 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_40", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2C 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_40", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "25", + "30", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.8 nozzle.json index 366352bae8..f4f455a8b2 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2C 0.8 nozzle.json @@ -1,204 +1,127 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2C 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_41", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "25", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2C 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_41", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "25", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2C.json index 12b7201a0f..b2bb924ca0 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2C.json @@ -1,204 +1,141 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2C", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_34", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retraction_length": [ - "0.4", - "0.6" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2C", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_34", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_retraction_length": [ + "0.4", + "0.6", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.2 nozzle.json index 4f832f4dfb..fea45a13bd 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.2 nozzle.json @@ -1,134 +1,87 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2D 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_21", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2D 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.4 nozzle.json index 395b12cf5d..7877739470 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.4 nozzle.json @@ -1,134 +1,114 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2D 0.4 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_15", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2D 0.4 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.6 nozzle.json index 85f22b1870..50a080979a 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.6 nozzle.json @@ -1,134 +1,114 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2D 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_23", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2D 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_23", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.8 nozzle.json index a4682f124e..37aa3eb857 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2D 0.8 nozzle.json @@ -1,134 +1,103 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2D 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_22", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2D 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.2 nozzle.json index b3f3ea8e80..55575cee0b 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_28", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_28", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.4 nozzle.json index 208eb081f2..4f843feadd 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.4 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_27", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_27", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.6 nozzle.json index cd00977aba..1417c3c5a0 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.6 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_30", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_30", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.8 nozzle.json index a8f41a0449..01f3c1431f 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_29", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_29", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.2 nozzle.json index f17b3105aa..8b6b883bb6 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.2 nozzle.json @@ -1,131 +1,96 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2S 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_17", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2S 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_17", + "instantiation": "true", + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.6 nozzle.json index 43806d8491..21a6b513d5 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.6 nozzle.json @@ -1,134 +1,124 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2S 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_38", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2S 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_38", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.8 nozzle.json index 11d2ca73d6..6564a05f22 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2S 0.8 nozzle.json @@ -1,134 +1,111 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2S 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_39", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL H2S 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_39", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PC @BBL H2S.json index a4a62b2304..0a6ae94079 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL H2S.json @@ -1,134 +1,124 @@ { - "type": "filament", - "name": "Bambu PC @BBL H2S", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PC @BBL H2S", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "20", + "35", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.2 nozzle.json index f5f0aae33e..4190eb1836 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.2 nozzle.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1S 0.2 nozzle", - "inherits": "Bambu PC @BBL X1C 0.2 nozzle", - "from": "system", - "setting_id": "GFSC00_06", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1S 0.2 nozzle", + "inherits": "Bambu PC @BBL X1C 0.2 nozzle", + "from": "system", + "setting_id": "GFSC00_06", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.6 nozzle.json index 8d15033586..0e0857954a 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.6 nozzle.json @@ -1,29 +1,45 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1S 0.6 nozzle", - "inherits": "Bambu PC @BBL X1C 0.6 nozzle", - "from": "system", - "setting_id": "GFSC00_08", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1S 0.6 nozzle", + "inherits": "Bambu PC @BBL X1C 0.6 nozzle", + "from": "system", + "setting_id": "GFSC00_08", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_flow_ratio": [ + "0.94", + "0.945" + ], + "filament_retraction_length": [ + "nil", + "0.45" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.8 nozzle.json index 0bb8824525..144a5cae30 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P1S 0.8 nozzle.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1S 0.8 nozzle", - "inherits": "Bambu PC @BBL X1C 0.8 nozzle", - "from": "system", - "setting_id": "GFSC00_07", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1S 0.8 nozzle", + "inherits": "Bambu PC @BBL X1C 0.8 nozzle", + "from": "system", + "setting_id": "GFSC00_07", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P1S.json b/resources/profiles/BBL/filament/Bambu PC @BBL P1S.json index eb9a5eaa40..4d6730fde8 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P1S.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P1S.json @@ -1,29 +1,33 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1S", - "inherits": "Bambu PC @BBL X1C", - "from": "system", - "setting_id": "GFSC00_05", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1S", + "inherits": "Bambu PC @BBL X1C", + "from": "system", + "setting_id": "GFSC00_05", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_max_volumetric_speed": [ + "18", + "29" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.4 nozzle.json index 23bea78851..37390058bf 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.4 nozzle.json @@ -1,189 +1,113 @@ { - "type": "filament", - "name": "Bambu PC @BBL P2S 0.4 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_20", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PC @BBL P2S 0.4 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "30", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.6 nozzle.json index 642dd4919e..0e8d81de92 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.6 nozzle.json @@ -1,149 +1,138 @@ { - "type": "filament", - "name": "Bambu PC @BBL P2S 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_26", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "40", - "40" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PC @BBL P2S 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_26", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_min": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "40", + "40", + "40" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_min": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.8 nozzle.json index 6f79279667..27a717ab89 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL P2S 0.8 nozzle.json @@ -1,149 +1,108 @@ { - "type": "filament", - "name": "Bambu PC @BBL P2S 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_25", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P2S 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_25", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.2 nozzle.json index a0052d4ee4..b2227e037e 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.2 nozzle.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1C 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_02", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1C 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_02", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.6 nozzle.json index 6b86eb6cc3..e8b0cf29d0 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.6 nozzle.json @@ -1,126 +1,65 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1C 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_01", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1C 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_01", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.945" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.45" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.8 nozzle.json index a7e0cc8222..7b18784bc6 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1C 0.8 nozzle.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1C 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_00", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1C 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_00", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1C.json index dfe60f0ab3..2462d8ccb9 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1C.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1C", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1C", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "29" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.2 nozzle.json index a0078a3dbb..8cab064d11 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.2 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1E 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1E 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.6 nozzle.json index 0409996248..6166c3653e 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.6 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1E 0.6 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1E 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.8 nozzle.json index 0ee8891ad2..299637f67d 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1E 0.8 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1E 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_11", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1E 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_11", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PC @BBL X1E.json index a2bad02c4b..a0f287e1e5 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X1E.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC @BBL X1E", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X1E", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.4 nozzle.json index 4b4fb66fc0..ef08e157a6 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.4 nozzle.json @@ -1,302 +1,158 @@ { - "type": "filament", - "name": "Bambu PC @BBL X2D 0.4 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "55" - ], - "fan_min_speed": [ - "25" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "30", - "18", - "20" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PC @BBL X2D 0.4 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "55" + ], + "fan_min_speed": [ + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "30", + "18", + "18", + "20", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "120" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.8 nozzle.json index 00d22e5e27..45a270ee3a 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X2D 0.8 nozzle.json @@ -1,296 +1,125 @@ { - "type": "filament", - "name": "Bambu PC @BBL X2D 0.8 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_37", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "35", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC @BBL X2D 0.8 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_37", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PC @BBL X2D.json index 8e388cacbe..dfd7ca334f 100644 --- a/resources/profiles/BBL/filament/Bambu PC @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PC @BBL X2D.json @@ -1,296 +1,149 @@ { - "type": "filament", - "name": "Bambu PC @BBL X2D", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_31", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "0.0081" - ], - "counter_coef_3": [ - "0.0183" - ], - "counter_limit_max": [ - "0.2208" - ], - "counter_limit_min": [ - "0.0183" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "35", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "hole_coef_2": [ - "0.0009" - ], - "hole_coef_3": [ - "0.0725" - ], - "hole_limit_max": [ - "0.095" - ], - "hole_limit_min": [ - "0.0725" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PC @BBL X2D", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_31", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "0.0081" + ], + "counter_coef_3": [ + "0.0183" + ], + "counter_limit_max": [ + "0.2208" + ], + "counter_limit_min": [ + "0.0183" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "35", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "hole_coef_2": [ + "0.0009" + ], + "hole_coef_3": [ + "0.0725" + ], + "hole_limit_max": [ + "0.095" + ], + "hole_limit_min": [ + "0.0725" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PC @base.json b/resources/profiles/BBL/filament/Bambu PC @base.json index ee235b17d6..bb6ffcaafd 100644 --- a/resources/profiles/BBL/filament/Bambu PC @base.json +++ b/resources/profiles/BBL/filament/Bambu PC @base.json @@ -1,20 +1,23 @@ { - "type": "filament", - "name": "Bambu PC @base", - "inherits": "fdm_filament_pc", - "from": "system", - "filament_id": "OFKhMPeX", - "instantiation": "false", - "filament_vendor": [ - "Bambu Lab" - ], - "filament_cost": [ - "39.99" - ], - "filament_flow_ratio": [ - "0.94" - ], - "impact_strength_z": [ - "9.0" - ] -} + "type": "filament", + "name": "Bambu PC @base", + "inherits": "fdm_filament_pc", + "from": "system", + "filament_id": "OFKhMPeX", + "instantiation": "false", + "filament_cost": [ + "36.99" + ], + "filament_density": [ + "1.185" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "9.0" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL A1 0.2 nozzle.json index d6ff51600a..4906468b1c 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL A1 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_15", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL A1 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_15", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL A1.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL A1.json index 337247b285..a26fd5f556 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL A1", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_14", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL A1", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_14", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.2 nozzle.json index 2753dcaf30..ffde022ea3 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.2 nozzle.json @@ -1,180 +1,87 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2C 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_32", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2C 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_32", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.4 nozzle.json index 660d134ea6..fcf1a079ce 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C 0.4 nozzle.json @@ -1,180 +1,117 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2C 0.4 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_31", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2C 0.4 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_31", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C.json index d5ee574f47..957304bc2a 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2C.json @@ -1,181 +1,118 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2C", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_33", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "90" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2C", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_33", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.2 nozzle.json index 2ae2f4ed31..e768297ad6 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2D 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_17", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2D 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_17", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.4 nozzle.json index 7c34976c60..75dffbd64b 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.4 nozzle.json @@ -1,134 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2D 0.4 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2D 0.4 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.6 nozzle.json index a366b531e8..e30efad3f5 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.6 nozzle.json @@ -1,134 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2D 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_18", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2D 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.8 nozzle.json index ea9a6e584a..9806d53088 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2D 0.8 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2D 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_19", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2D 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_19", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json index dadb07a4f8..d61c1da460 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_25", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_25", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json index 774db3dc5e..8902b0bd27 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.4 nozzle.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_24", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_24", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json index aa4b83bd64..0ba2dc14ed 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.6 nozzle.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_26", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_26", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json index 0872db982f..1b1768ef51 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_27", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_27", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S 0.2 nozzle.json index 373788d188..ebcb2129dd 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S 0.2 nozzle.json @@ -1,134 +1,75 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2S 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_35", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2S 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_35", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S.json index d27a54971c..cf9963a435 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL H2S.json @@ -1,136 +1,102 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL H2S", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_34", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL H2S", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_34", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P 0.2 nozzle.json index 44dec2a9ee..b9e028b071 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P 0.2 nozzle.json @@ -1,146 +1,73 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1P 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_09", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1P 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_09", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P.json index 176477533c..50c66f2864 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1P.json @@ -1,148 +1,75 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1P", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_08", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1P", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_08", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.2 nozzle.json index 47f67143b6..472acab285 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.2 nozzle.json @@ -1,143 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1S 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_05", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1S 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_05", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.6 nozzle.json index 4626cde396..1089e6e4d7 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.6 nozzle.json @@ -1,143 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1S 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_06", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1S 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_06", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.8 nozzle.json index c792e9c63a..a8d3cea654 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S 0.8 nozzle.json @@ -1,143 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1S 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_07", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1S 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_07", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S.json index 0f4534446c..0150515d70 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P1S.json @@ -1,143 +1,70 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P1S", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_04", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P1S", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_04", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.4 nozzle.json index f1e5980a4f..ea21badf01 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.4 nozzle.json @@ -1,189 +1,89 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P2S 0.4 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_20", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P2S 0.4 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.6 nozzle.json index f5e1916e48..ae0a394959 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.6 nozzle.json @@ -1,189 +1,94 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P2S 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_22", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P2S 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.8 nozzle.json index 82ec0320ed..6698de66a4 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL P2S 0.8 nozzle.json @@ -1,189 +1,88 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL P2S 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_23", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL P2S 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_23", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.2 nozzle.json index 6a82227f4b..a58b3a34fc 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.2 nozzle.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1C 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_03", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1C 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_03", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.6 nozzle.json index 00bb8c1fff..5f9fc6b9f8 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.6 nozzle.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1C 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_01", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1C 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_01", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.8 nozzle.json index bbaa240d26..bf7f605858 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C 0.8 nozzle.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1C 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_02", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1C 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_02", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C.json index 1a0540d7a3..c30bef59b3 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1C.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1C", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_00", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1C", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_00", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.2 nozzle.json index 8711327d5a..d786e82f33 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.2 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1E 0.2 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_11", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1E 0.2 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_11", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.6 nozzle.json index de3a6e75b3..f5545427f1 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.6 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1E 0.6 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1E 0.6 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.8 nozzle.json index 8cb2b75c22..050855f467 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E 0.8 nozzle.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1E 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_13", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1E 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E.json index e7cf3e2627..5314f3101a 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X1E.json @@ -1,128 +1,55 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X1E", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X1E", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.4 nozzle.json index e855d956c7..ccdeb880a0 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.4 nozzle.json @@ -1,272 +1,125 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X2D 0.4 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_28", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X2D 0.4 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_28", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.8 nozzle.json index 305ddb6c5b..5c58c59432 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D 0.8 nozzle.json @@ -1,272 +1,101 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X2D 0.8 nozzle", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_40", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X2D 0.8 nozzle", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_40", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D.json index b57e2d3411..9dd52a836f 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @BBL X2D.json @@ -1,272 +1,125 @@ { - "type": "filament", - "name": "Bambu PC FR @BBL X2D", - "inherits": "Bambu PC FR @base", - "from": "system", - "setting_id": "GFSC01_29", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PC FR @BBL X2D", + "inherits": "Bambu PC FR @base", + "from": "system", + "setting_id": "GFSC01_29", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PC FR @base.json b/resources/profiles/BBL/filament/Bambu PC FR @base.json index 0ee463d08f..2f9e91dd67 100644 --- a/resources/profiles/BBL/filament/Bambu PC FR @base.json +++ b/resources/profiles/BBL/filament/Bambu PC FR @base.json @@ -1,23 +1,23 @@ { - "type": "filament", - "name": "Bambu PC FR @base", - "inherits": "fdm_filament_pc", - "from": "system", - "filament_id": "OFg57Nmc", - "instantiation": "false", - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.19" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "8" - ] -} + "type": "filament", + "name": "Bambu PC FR @base", + "inherits": "fdm_filament_pc", + "from": "system", + "filament_id": "OFg57Nmc", + "instantiation": "false", + "filament_cost": [ + "51.99" + ], + "filament_density": [ + "1.19" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "8" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL A1.json index c6cae1f9d5..38cf590364 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL A1.json @@ -1,19 +1,49 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL A1", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_01", - "instantiation": "true", - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL A1", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_flow_ratio": [ + "0.9555" + ], + "filament_max_volumetric_speed": [ + "5" + ], + "filament_overhang_2_4_speed": [ + "35" + ], + "filament_overhang_3_4_speed": [ + "35" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json index 622e10d1a1..4633db0021 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C 0.4 nozzle.json @@ -1,204 +1,151 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_08", - "instantiation": "true", - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "-0.0004" - ], - "counter_coef_3": [ - "-0.0156" - ], - "counter_limit_max": [ - "-0.015" - ], - "counter_limit_min": [ - "-0.025" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "5", - "5" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0003" - ], - "hole_coef_3": [ - "0.1741" - ], - "hole_limit_max": [ - "0.174" - ], - "hole_limit_min": [ - "0.167" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_08", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "5", + "5" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "10", + "10" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C.json index ed779934d1..cee2b21e4d 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2C.json @@ -1,208 +1,155 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL H2C", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_09", - "instantiation": "true", - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "-0.0004" - ], - "counter_coef_3": [ - "-0.0156" - ], - "counter_limit_max": [ - "-0.015" - ], - "counter_limit_min": [ - "-0.025" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "5", - "5" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0003" - ], - "hole_coef_3": [ - "0.1741" - ], - "hole_limit_max": [ - "0.174" - ], - "hole_limit_min": [ - "0.167" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL H2C", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_09", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "5", + "5" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "10", + "10" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2D.json index 7d2a224c52..204fcc2b98 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2D.json @@ -1,154 +1,129 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL H2D", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_02", - "instantiation": "true", - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "0.0075" - ], - "counter_coef_3": [ - "-0.052" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.012" - ], - "hole_coef_3": [ - "0.35043" - ], - "hole_limit_min": [ - "0.07" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL H2D", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_02", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30" + ], + "filament_prime_volume": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "10", + "10" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2DP.json index dee0d35351..d6a563e31f 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2DP.json @@ -1,154 +1,104 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL H2DP", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_05", - "instantiation": "true", - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "0.0075" - ], - "counter_coef_3": [ - "-0.052" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.012" - ], - "hole_coef_3": [ - "0.35043" - ], - "hole_limit_min": [ - "0.07" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL H2DP", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_05", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "0.0075" + ], + "counter_coef_3": [ + "-0.052" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.012" + ], + "hole_coef_3": [ + "0.35043" + ], + "hole_limit_min": [ + "0.07" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "10" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2S.json index 7735a8231c..9eb410e996 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL H2S.json @@ -1,142 +1,139 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL H2S", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL H2S", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL P2S.json index c738120a0d..8d5f30f117 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL P2S.json @@ -1,179 +1,130 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL P2S", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_03", - "instantiation": "true", - "chamber_temperatures": [ - "50" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL P2S", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_03", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1C.json index 646e6412ea..e119b37000 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1C.json @@ -1,133 +1,84 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL X1C", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL X1C", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_flow_ratio": [ + "0.9555", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1E.json index 221e74b1a1..2e750018cf 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X1E.json @@ -1,130 +1,81 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL X1E", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL X1E", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_flow_ratio": [ + "0.9555", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json index ec8b228fbb..55a854c514 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json @@ -1,311 +1,170 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "-0.0004" - ], - "counter_coef_3": [ - "-0.0156" - ], - "counter_limit_max": [ - "-0.015" - ], - "counter_limit_min": [ - "-0.025" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "45" - ], - "fan_min_speed": [ - "25" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0003" - ], - "hole_coef_3": [ - "0.1741" - ], - "hole_limit_max": [ - "0.174" - ], - "hole_limit_min": [ - "0.167" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "overhang_fan_speed": [ - "50" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_06", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8", + "8", + "8", + "8", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30", + "30", + "30", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D.json index f9b90f58ab..277b655bf1 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @BBL X2D.json @@ -1,309 +1,163 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL X2D", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "50" - ], - "counter_coef_2": [ - "-0.0004" - ], - "counter_coef_3": [ - "-0.0156" - ], - "counter_limit_max": [ - "-0.015" - ], - "counter_limit_min": [ - "-0.025" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "hole_coef_2": [ - "-0.0003" - ], - "hole_coef_3": [ - "0.1741" - ], - "hole_limit_max": [ - "0.174" - ], - "hole_limit_min": [ - "0.167" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL X2D", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_07", + "instantiation": "true", + "chamber_temperatures": [ + "50" + ], + "counter_coef_2": [ + "-0.0004" + ], + "counter_coef_3": [ + "-0.0156" + ], + "counter_limit_max": [ + "-0.015" + ], + "counter_limit_min": [ + "-0.025" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.9555", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8", + "8", + "8", + "8", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50", + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30", + "30", + "30", + "30", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "hole_coef_2": [ + "-0.0003" + ], + "hole_coef_3": [ + "0.1741" + ], + "hole_limit_max": [ + "0.174" + ], + "hole_limit_min": [ + "0.167" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0", + "0", + "0", + "0", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PET-CF @base.json b/resources/profiles/BBL/filament/Bambu PET-CF @base.json index c84d423f0e..71a669f723 100644 --- a/resources/profiles/BBL/filament/Bambu PET-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PET-CF @base.json @@ -1,52 +1,40 @@ { - "type": "filament", - "name": "Bambu PET-CF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFHa48An", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "84.99" - ], - "filament_density": [ - "1.29" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "800" - ], - "filament_dev_chamber_drying_bed_temperature": [ - "90" + "type": "filament", + "name": "Bambu PET-CF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFHa48An", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_adhesiveness_category": [ + "800" + ], + "filament_cost": [ + "81.99" + ], + "filament_density": [ + "1.29" ], "filament_dev_ams_drying_ams_limitations": [ "1" @@ -54,67 +42,82 @@ "filament_dev_ams_drying_heat_distortion_temperature": [ "165" ], - "filament_dev_drying_cooling_temperature": [ - "150" - ], "filament_dev_ams_drying_temperature": [ "65", "80", "65", "80" ], + "filament_dev_chamber_drying_bed_temperature": [ + "90" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], "filament_dev_drying_softening_temperature": [ "150" ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "impact_strength_z": [ - "4.5" - ], - "nozzle_temperature_range_low": [ - "260" - ], - "nozzle_temperature_range_high": [ - "290" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "required_nozzle_HRC": [ - "40" - ], - "supertack_plate_temp": [ - "80" - ], - "supertack_plate_temp_initial_layer": [ - "80" - ], - "slow_down_layer_time": [ - "2" - ], - "temperature_vitrification": [ - "185" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "impact_strength_z": [ + "4.5" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "pre_start_fan_time": [ + "2" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "2" + ], + "supertack_plate_temp": [ + "80" + ], + "supertack_plate_temp_initial_layer": [ + "80" + ], + "temperature_vitrification": [ + "185" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json index a77a117965..0bd8b9dbdf 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "35" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json index 72e51b3f39..ee66fc15fd 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1 0.8 nozzle.json @@ -1,54 +1,54 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1 0.8 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_08", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "pre_start_fan_time": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_08", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "pre_start_fan_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1.json index 3f40e826aa..04fafe66e9 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1.json @@ -1,50 +1,53 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_06", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_06", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json index 4d6485baca..35d1d7ba99 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1M 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "35" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1M 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json index 16138a89ca..be54cd2c9c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.4 nozzle.json @@ -1,50 +1,53 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1M 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_03", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1M 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_03", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json index 2f812a4535..b4790e22e0 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A1M 0.8 nozzle.json @@ -1,54 +1,54 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A1M 0.8 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_05", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "pre_start_fan_time": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A1M 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_05", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "pre_start_fan_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json index cf66b0831f..6aad5c0b5c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.2 nozzle.json @@ -1,74 +1,74 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A2L 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_26", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "255" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_overhang_4_4_speed": [ - "30" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "1" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A2L 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_26", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "255" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_overhang_4_4_speed": [ + "30" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json index a0868f4ba7..0fa7607469 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.4 nozzle.json @@ -1,74 +1,74 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A2L 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_33", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_bridge_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_overhang_4_4_speed": [ - "20" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "overhang_fan_speed": [ - "50" - ], - "override_process_overhang_speed": [ - "1" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A2L 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_33", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_bridge_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_overhang_4_4_speed": [ + "20" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json index a8142340e5..09a1c88d84 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.6 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A2L 0.6 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_43", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A2L 0.6 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_43", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json index c7b58973cd..6e6a8af01c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL A2L 0.8 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL A2L 0.8 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_27", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL A2L 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_27", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json index 855946e799..1767dc81c5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.2 nozzle.json @@ -1,183 +1,86 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2C 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_24", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "210", - "210" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2C 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_24", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json index 65cdb48cd0..9611d1f270 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.4 nozzle.json @@ -1,186 +1,123 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2C 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_23", - "instantiation": "true", - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_change_length": [ - "4" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "21" - ], - "filament_pre_cooling_temperature_nc": [ - "210", - "210" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2C 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_23", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "18" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210", + "210" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..f84645846a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C 0.8 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL H2C 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_44", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C.json index a329a80c3b..1b09bc58f6 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2C.json @@ -1,181 +1,122 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2C", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_25", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "21", - "28" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "210", - "210" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2C", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_25", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "21" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json index 17d9507008..bc8b057d8a 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.2 nozzle.json @@ -1,138 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2D 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_15", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2D 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_15", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json index 8cadbdb29f..a2fd083bc2 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.4 nozzle.json @@ -1,138 +1,92 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2D 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_09", - "instantiation": "true", - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2D 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_09", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json index 5412b73209..22ad00b017 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.6 nozzle.json @@ -1,136 +1,91 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2D 0.6 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_16", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "28" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "255" - ], - "nozzle_temperature_initial_layer": [ - "245", - "255" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2D 0.6 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_16", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "250", + "255", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..122c8a04cc --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2D 0.8 nozzle.json @@ -0,0 +1,97 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL H2D 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_45", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json index 1b8658937b..36bb96bd39 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.2 nozzle.json @@ -1,138 +1,62 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_20", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_20", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json index fdf36b445d..c2a14583c4 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.4 nozzle.json @@ -1,138 +1,77 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_19", - "instantiation": "true", - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_19", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "18", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json index 8e8679dfb1..53a228357b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.6 nozzle.json @@ -1,136 +1,75 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_21", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "28" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "255" - ], - "nozzle_temperature_initial_layer": [ - "245", - "255" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_21", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..50663c56b2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_46", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json index 450303dee5..7c16a6a6c9 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.2 nozzle.json @@ -1,138 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2S 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_11", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL H2S 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_11", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json index ef961d0710..48fdf41ed8 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.6 nozzle.json @@ -1,178 +1,94 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2S 0.6 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_32", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "28" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "2", - "2" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2S 0.6 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_32", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..3887491880 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S 0.8 nozzle.json @@ -0,0 +1,96 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL H2S 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_47", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S.json index 08523d6ed9..a640e8927f 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL H2S.json @@ -1,135 +1,112 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL H2S", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_10", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "18", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "2", - "2" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL H2S", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_10", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json index ff103cd3e7..c718d3d5a3 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.2 nozzle.json @@ -1,138 +1,71 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL P2S 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_17", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL P2S 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_17", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json index 34f6fb644e..8c24685000 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.4 nozzle.json @@ -1,135 +1,95 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL P2S 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_14", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL P2S 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_14", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json index c39ac4aa82..1b5a5fb77e 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.6 nozzle.json @@ -1,136 +1,100 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL P2S 0.6 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_18", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "23" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL P2S 0.6 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_18", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "21", + "23", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..0bcf1a6a65 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL P2S 0.8 nozzle.json @@ -0,0 +1,99 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL P2S 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_48", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "23" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json index 8f0ef2cd52..9d1f36e9f3 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.2 nozzle.json @@ -1,136 +1,59 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X1C 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_00", - "instantiation": "true", - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL X1C 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_00", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json index 734ed32095..b7a18afcd6 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json @@ -1,138 +1,84 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X1C 0.8 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_02", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL X1C 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_02", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C.json index 41861cef81..a43717b952 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X1C.json @@ -1,130 +1,75 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X1C", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_01", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL X1C", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_01", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json index d1062bae38..69852348e4 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json @@ -1,278 +1,131 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "250" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "250", - "250", - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_13", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "3", + "3" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json index fb53d02912..c6cba824fd 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json @@ -1,278 +1,140 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "15", - "21", - "15", - "15" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "250" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "250", - "250", - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_12", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "15", + "21", + "15", + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..bf242cb1c1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D 0.8 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Bambu PETG Basic @BBL X2D 0.8 nozzle", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_49", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "16", + "23", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D.json index 699cf9611e..829448ab91 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @BBL X2D.json @@ -1,279 +1,137 @@ { - "type": "filament", - "name": "Bambu PETG Basic @BBL X2D", - "inherits": "Bambu PETG Basic @base", - "from": "system", - "setting_id": "GFSG00_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "23", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "250" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "250", - "250", - "250", - "250" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Basic @BBL X2D", + "inherits": "Bambu PETG Basic @base", + "from": "system", + "setting_id": "GFSG00_22", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "23", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Basic @base.json b/resources/profiles/BBL/filament/Bambu PETG Basic @base.json index 619483a4b4..190dd69298 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Basic @base.json +++ b/resources/profiles/BBL/filament/Bambu PETG Basic @base.json @@ -1,96 +1,87 @@ { - "type": "filament", - "name": "Bambu PETG Basic @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFFvzqcd", - "instantiation": "false", - "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_prime_volume_nc": [ - "60" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length": [ - "10" - ], - "filament_change_length_nc": [ - "10" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "impact_strength_z": [ - "13.6" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "override_process_overhang_speed": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PETG Basic @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFFvzqcd", + "instantiation": "false", + "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_change_length_nc": [ + "10" + ], + "filament_cost": [ + "13.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "impact_strength_z": [ + "13.6" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.2 nozzle.json index 77f6e452d3..d089948098 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.8 nozzle.json index ffb7a658bc..6dc3ba8f3c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1 0.8 nozzle.json @@ -1,45 +1,45 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1.json index 0b5b8b61ef..7f430d4393 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json index fd3b52c2db..4ba45d6b8a 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1M 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1M 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json index 0b13bb78e9..479e3ddd49 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M 0.8 nozzle.json @@ -1,45 +1,45 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1M 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1M 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M.json index 62169f35db..a638fb49e0 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A1M.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A1M", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A1M", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json index 210184c7ee..7ef3f24ad1 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.2 nozzle.json @@ -1,77 +1,77 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A2L 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_26", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_overhang_4_4_speed": [ - "30" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "1" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A2L 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_26", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_overhang_4_4_speed": [ + "30" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json index f816e7f742..7e34d59fe7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.6 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A2L 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_49", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A2L 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_49", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json index eff5d65efc..7798ceef64 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L 0.8 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A2L 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_27", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A2L 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_27", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L.json index bf03c0b74e..412c60c69c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL A2L.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL A2L", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_28", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "240" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "7" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL A2L", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_28", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "240" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "7" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json index 6e43d2467d..0fbf4068cb 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.2 nozzle.json @@ -1,216 +1,119 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2C 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_24", - "instantiation": "true", - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2C 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_24", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json index 03f2f3c393..71292a2121 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.6 nozzle.json @@ -1,216 +1,158 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2C 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_33", - "instantiation": "true", - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "30", - "35" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "2", - "2" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2C 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_33", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "30", + "35", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json index d035ce27b3..6be40ba26d 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C 0.8 nozzle.json @@ -1,216 +1,143 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2C 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_34", - "instantiation": "true", - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "30", - "35" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "2", - "2" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2C 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_34", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "30", + "35" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C.json index 78644d0987..77226518e4 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2C.json @@ -1,216 +1,158 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2C", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_25", - "instantiation": "true", - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_tower_ironing_area": [ - "8" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "2", - "2" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.6" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2C", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_25", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "25", + "35", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.6", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json index 3953c3f68b..d7e22db57d 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.2 nozzle.json @@ -1,143 +1,95 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2D 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_14", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2D 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_14", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json index fabc0cd48e..e53509cfa5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.4 nozzle.json @@ -1,164 +1,124 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2D 0.4 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_09", - "instantiation": "true", - "counter_coef_2": [ - "0.007" - ], - "counter_coef_3": [ - "0.003" - ], - "counter_limit_max": [ - "0.1" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "fan_max_speed": [ - "30" - ], - "hole_coef_2": [ - "-0.006" - ], - "hole_coef_3": [ - "0.1" - ], - "hole_limit_min": [ - "0.1" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2D 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_09", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json index e19fb77cf7..4ebbc2da27 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.6 nozzle.json @@ -1,143 +1,126 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2D 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_15", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2D 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_15", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json index bf0e49095f..20402f5724 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2D 0.8 nozzle.json @@ -1,147 +1,119 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2D 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_29", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_id": [ - "1", - "1" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2D 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_29", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_extruder_id": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json index 6a8237d798..e0eaa5b1f4 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.2 nozzle.json @@ -1,143 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_20", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_20", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json index 50b1586b33..7fec884516 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.4 nozzle.json @@ -1,161 +1,102 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_19", - "instantiation": "true", - "counter_coef_2": [ - "0.007" - ], - "counter_coef_3": [ - "0.003" - ], - "counter_limit_max": [ - "0.1" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.006" - ], - "hole_coef_3": [ - "0.1" - ], - "hole_limit_min": [ - "0.1" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_19", + "instantiation": "true", + "counter_coef_2": [ + "0.007" + ], + "counter_coef_3": [ + "0.003" + ], + "counter_limit_max": [ + "0.1" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.006" + ], + "hole_coef_3": [ + "0.1" + ], + "hole_limit_min": [ + "0.1" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json index f72a06450b..9a75d0fb5c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.6 nozzle.json @@ -1,143 +1,88 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_21", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_21", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json index abab8e9e03..d4f215c1f2 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2DP 0.8 nozzle.json @@ -1,143 +1,88 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_30", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "0.2", - "0.2" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_30", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json index 776c191ccf..ecfadc5c2f 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.2 nozzle.json @@ -1,146 +1,110 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2S 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2S 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_11", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json index f77ac4b413..a06b5d9f2a 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.6 nozzle.json @@ -1,146 +1,134 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2S 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_32", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2S 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_32", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json index 8e41f3d065..2c38bb2fd7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S 0.8 nozzle.json @@ -1,146 +1,122 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2S 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_31", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL H2S 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_31", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S.json index 192286470e..1fc3f03964 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL H2S.json @@ -1,146 +1,134 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL H2S", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "overhang_fan_speed": [ - "100" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL H2S", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_10", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "100" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1P 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1P 0.4 nozzle.json new file mode 100644 index 0000000000..c50087e617 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1P 0.4 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PETG HF @BBL P1P 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_35", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95", + "0.952" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..782a19a045 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P1S 0.4 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PETG HF @BBL P1S 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_36", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95", + "0.952" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json index 2395c2dfb2..7160dd0f0d 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.2 nozzle.json @@ -1,183 +1,127 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL P2S 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "40" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "0", - "0" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL P2S 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "40" + ], + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "0", + "0" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json index 9f5ed9fb53..4ff218f195 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.4 nozzle.json @@ -1,180 +1,138 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL P2S 0.4 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_16", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "240", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "0", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL P2S 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_16", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_min": [ + "0.01" + ], + "counter_limit_max": [ + "0.15" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_flush_temp": [ + "240", + "0", + "240" + ], + "filament_max_volumetric_speed": [ + "21", + "30", + "21" + ], + "filament_retraction_distances_when_cut": [ + "0", + "10", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_min": [ + "0.09" + ], + "hole_limit_max": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json index 8caf08af09..10b8b449d7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.6 nozzle.json @@ -1,181 +1,133 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL P2S 0.6 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_18", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL P2S 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_18", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "21", + "35", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..f214212555 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "Bambu PETG HF @BBL P2S 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_50", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json index c75cac18d1..52cf7e42be 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.2 nozzle.json @@ -1,138 +1,66 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X1C 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL X1C 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..5461db84fe --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.6 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PETG HF @BBL X1C 0.6 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_37", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95", + "0.952" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json index c5247a5fb3..e0df40dfcc 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json @@ -1,143 +1,82 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X1C 0.8 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL X1C 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95", + "0.952" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C.json index 5e9eb16394..38d2d0a11b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X1C.json @@ -1,138 +1,76 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X1C", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL X1C", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95", + "0.952" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json index 07bd51a1a9..20e69622e7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json @@ -1,311 +1,170 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_13", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "3", + "3" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json index 381ae65dd5..81ffc9bf01 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json @@ -1,311 +1,178 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "21", - "30", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_12", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "21", + "30", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "50" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..6db5064f92 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D 0.8 nozzle.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "Bambu PETG HF @BBL X2D 0.8 nozzle", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_51", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "21", + "35", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D.json index e7e516b72a..84f2ede658 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @BBL X2D.json @@ -1,312 +1,178 @@ { - "type": "filament", - "name": "Bambu PETG HF @BBL X2D", - "inherits": "Bambu PETG HF @base", - "from": "system", - "setting_id": "GFSG02_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0058" - ], - "counter_coef_3": [ - "0.0107" - ], - "counter_limit_max": [ - "0.15" - ], - "counter_limit_min": [ - "0.01" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "21", - "35", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "filament_tower_ironing_area": [ - "8" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0042" - ], - "hole_coef_3": [ - "0.2006" - ], - "hole_limit_max": [ - "0.2" - ], - "hole_limit_min": [ - "0.09" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG HF @BBL X2D", + "inherits": "Bambu PETG HF @base", + "from": "system", + "setting_id": "GFSG02_22", + "instantiation": "true", + "counter_coef_2": [ + "0.0058" + ], + "counter_coef_3": [ + "0.0107" + ], + "counter_limit_max": [ + "0.15" + ], + "counter_limit_min": [ + "0.01" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "21", + "35", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0042" + ], + "hole_coef_3": [ + "0.2006" + ], + "hole_limit_max": [ + "0.2" + ], + "hole_limit_min": [ + "0.09" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG HF @base.json b/resources/profiles/BBL/filament/Bambu PETG HF @base.json index 1c12d679fd..fefe42ac28 100644 --- a/resources/profiles/BBL/filament/Bambu PETG HF @base.json +++ b/resources/profiles/BBL/filament/Bambu PETG HF @base.json @@ -1,89 +1,89 @@ { - "type": "filament", - "name": "Bambu PETG HF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFovEIbw", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.28" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_change_length": [ - "12" - ], - "filament_prime_volume": [ - "30" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "impact_strength_z": [ - "10.6" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PETG HF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFovEIbw", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_change_length": [ + "12" + ], + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.28" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "impact_strength_z": [ + "10.6" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..e2bbaa0e7b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.2 nozzle.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.8" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.8 nozzle.json new file mode 100644 index 0000000000..f410300947 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1 0.8 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_01", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "pre_start_fan_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1.json new file mode 100644 index 0000000000..f212c248e8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_02", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..5f3b510aa8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.2 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1M 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.4 nozzle.json new file mode 100644 index 0000000000..733839d8d8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.4 nozzle.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1M 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_04", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.8 nozzle.json new file mode 100644 index 0000000000..a3c52ef081 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A1M 0.8 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A1M 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_05", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "pre_start_fan_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.2 nozzle.json new file mode 100644 index 0000000000..be6d4bb72b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.2 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A2L 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_flush_temp_fast": [ + "255" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_overhang_4_4_speed": [ + "30" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.4 nozzle.json new file mode 100644 index 0000000000..366438e579 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.4 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A2L 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_07", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_bridge_speed": [ + "50" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_overhang_4_4_speed": [ + "20" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.6 nozzle.json new file mode 100644 index 0000000000..b614953750 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.6 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A2L 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_08", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.8 nozzle.json new file mode 100644 index 0000000000..b659affbc2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL A2L 0.8 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL A2L 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_09", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.2 nozzle.json new file mode 100644 index 0000000000..11e340a26f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.2 nozzle.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2C 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_10", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.96", + "0.95" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.6", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.4 nozzle.json new file mode 100644 index 0000000000..1feb3bc3d1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.4 nozzle.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2C 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_11", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.96", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "15", + "21", + "21" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.6", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..57ada86690 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C 0.8 nozzle.json @@ -0,0 +1,125 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2C 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_12", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.96", + "0.97" + ], + "filament_max_volumetric_speed": [ + "15", + "28" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.6", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C.json new file mode 100644 index 0000000000..c848448b3b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2C.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2C", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_13", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.96", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "15", + "28", + "28" + ], + "filament_pre_cooling_temperature_nc": [ + "210", + "210", + "210" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.6", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..a50efe69d3 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.2 nozzle.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2D 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_14", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "nil" + ], + "filament_retraction_speed": [ + "30", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.4 nozzle.json new file mode 100644 index 0000000000..037dbb39fc --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.4 nozzle.json @@ -0,0 +1,105 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2D 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_15", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "21" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "30", + "nil", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..a60362042d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.6 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2D 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_16", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "28" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4", + "0.4" + ], + "filament_retraction_minimum_travel": [ + "30", + "nil", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..003c19bb28 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2D 0.8 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2D 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_17", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4" + ], + "filament_retraction_speed": [ + "30", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.2 nozzle.json new file mode 100644 index 0000000000..8ba7e1fd4e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.2 nozzle.json @@ -0,0 +1,79 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_18", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "nil" + ], + "filament_retraction_minimum_travel": [ + "30", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.4 nozzle.json new file mode 100644 index 0000000000..201b082b3f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.4 nozzle.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_19", + "instantiation": "true", + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "30", + "nil", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..292a5d108e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,99 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_20", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "28" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "30", + "nil", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..085e159b28 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_21", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.4" + ], + "filament_retraction_speed": [ + "30", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.2 nozzle.json new file mode 100644 index 0000000000..ca2e8219fa --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.2 nozzle.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2S 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_22", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..052d7c8068 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2S 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_23", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "21", + "28", + "28" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..3346abab97 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S 0.8 nozzle.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2S 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_24", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "21", + "28" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S.json new file mode 100644 index 0000000000..0f95f15edd --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL H2S.json @@ -0,0 +1,109 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL H2S", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_25", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "18", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "2", + "2", + "2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..4f6e6b260a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.2 nozzle.json @@ -0,0 +1,75 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P1P 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_49", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.4 nozzle.json new file mode 100644 index 0000000000..793997445f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.4 nozzle.json @@ -0,0 +1,87 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P1P 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_50", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..6c379dd43d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P1P 0.6 nozzle.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P1P 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_51", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.2 nozzle.json new file mode 100644 index 0000000000..8f17112e84 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.2 nozzle.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P2S 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_38", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_overhang_2_4_speed": [ + "80", + "50" + ], + "filament_overhang_3_4_speed": [ + "50", + "30" + ], + "filament_overhang_4_4_speed": [ + "50", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "filament_tower_ironing_area": [ + "8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.4 nozzle.json new file mode 100644 index 0000000000..252bc6f136 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.4 nozzle.json @@ -0,0 +1,116 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P2S 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_39", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "13", + "15", + "15" + ], + "filament_overhang_2_4_speed": [ + "80", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "50", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "50", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "240", + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..4297e9278c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.6 nozzle.json @@ -0,0 +1,121 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P2S 0.6 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_40", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "15", + "23", + "23" + ], + "filament_overhang_2_4_speed": [ + "80", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "50", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "50", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..df51c24fd2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL P2S 0.8 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL P2S 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_41", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "15", + "23" + ], + "filament_overhang_2_4_speed": [ + "80", + "50" + ], + "filament_overhang_3_4_speed": [ + "50", + "30" + ], + "filament_overhang_4_4_speed": [ + "50", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "40" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..31a5b61e21 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.2 nozzle.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X1C 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_42", + "instantiation": "true", + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.8", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.8 nozzle.json new file mode 100644 index 0000000000..23db5e43c6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C 0.8 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X1C 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_43", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop": [ + "0.2", + "0.2" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C.json new file mode 100644 index 0000000000..e56d030427 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X1C.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X1C", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_44", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_density": [ + "1.37" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.8", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "255" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.2 nozzle.json new file mode 100644 index 0000000000..0e56e63a37 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.2 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X2D 0.2 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_45", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "270", + "250", + "270" + ], + "nozzle_temperature_initial_layer": [ + "245", + "260", + "245", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.4 nozzle.json new file mode 100644 index 0000000000..a95be25e66 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.4 nozzle.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X2D 0.4 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_46", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "13", + "21", + "21", + "13", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "overhang_fan_speed": [ + "50" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..9b9fa384c8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D 0.8 nozzle.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X2D 0.8 nozzle", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_47", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "15", + "23", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D.json new file mode 100644 index 0000000000..8e90a43b96 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @BBL X2D.json @@ -0,0 +1,140 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @BBL X2D", + "inherits": "Bambu PETG Matte @base", + "from": "system", + "setting_id": "GFSG03_48", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_density": [ + "1.37" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "15", + "23", + "23", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "250" + ], + "filament_tower_ironing_area": [ + "8" + ], + "filament_wipe": [ + "1", + "nil", + "nil", + "1", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "nil", + "1", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "nil", + "Spiral Lift", + "nil", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "250", + "250", + "250", + "250", + "250" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Matte @base.json b/resources/profiles/BBL/filament/Bambu PETG Matte @base.json new file mode 100644 index 0000000000..e77d26ff44 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Matte @base.json @@ -0,0 +1,81 @@ +{ + "type": "filament", + "name": "Bambu PETG Matte @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFdyfQvU", + "instantiation": "false", + "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "13.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "fins_extrude_safe_temp": [ + "71" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "impact_strength_z": [ + "13.6" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json index 8bd14c3bd5..198b9a28d5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.2 nozzle.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_10", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_10", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json index 55abf064e9..3426bf7c8b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1 0.8 nozzle.json @@ -1,36 +1,36 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1 0.8 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_04", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.2" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_04", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.2" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1.json index 8a8eca0950..6e90b91ace 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_05", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_05", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json index eba8d34a37..20b6ea94f3 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.2 nozzle.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1M 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_09", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1M 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_09", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json index 380eafe49e..30a198a138 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M 0.8 nozzle.json @@ -1,36 +1,36 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1M 0.8 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_03", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.2" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1M 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_03", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.2" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M.json index 745dfc66c1..21a2f05d11 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A1M.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A1M", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_02", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A1M", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_02", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json index 5fef31f50e..3fdd0e40e2 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.2 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A2L 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_25", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "30" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_overhang_4_4_speed": [ - "30" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "override_process_overhang_speed": [ - "1" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A2L 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_25", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_overhang_4_4_speed": [ + "30" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json index 01a5670ad7..7ea69b881b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.6 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A2L 0.6 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_39", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.2" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A2L 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_39", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.2" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json index 38e23138e8..047a206bc7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L 0.8 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A2L 0.8 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_26", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.2" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A2L 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_26", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.2" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L.json index a0d99401ce..456fff0650 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL A2L.json @@ -1,35 +1,35 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL A2L", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_27", - "instantiation": "true", - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.3" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL A2L", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_27", + "instantiation": "true", + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.3" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json index f487455df3..8676d31a7e 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.2 nozzle.json @@ -1,183 +1,86 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2C 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_24", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2C 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_24", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json index 6223c186b6..9f5c3828de 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.4 nozzle.json @@ -1,183 +1,120 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2C 0.4 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_22", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2C 0.4 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_22", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..75ac270250 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C 0.8 nozzle.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2C 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_40", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "55" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C.json index 8b297c56a0..73e0247e95 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2C.json @@ -1,190 +1,126 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2C", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_23", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2C", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_23", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json index d00b48c40c..d09cf4c4b0 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.2 nozzle.json @@ -1,131 +1,58 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2D 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_12", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2D 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_12", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json index 66edd30e59..397f3e23d5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.4 nozzle.json @@ -1,131 +1,68 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2D 0.4 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_06", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2D 0.4 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_06", + "instantiation": "true", + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "1" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json index 33da1709c3..0c2c4df008 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.6 nozzle.json @@ -1,138 +1,69 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2D 0.6 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_11", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2D 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_11", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..66e2bbd006 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2D 0.8 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2D 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_41", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json index cf917140b2..507f540dbb 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,52 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_18", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_18", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json index 500a637fe9..86db719213 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.4 nozzle.json @@ -1,131 +1,52 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_16", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_16", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json index 058e42275c..236296a6ce 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.6 nozzle.json @@ -1,138 +1,58 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_17", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_17", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..fc0bf555ea --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_42", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json index d30bf8f17d..aa135e98a1 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.2 nozzle.json @@ -1,131 +1,70 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2S 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_28", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2S 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_28", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..0d08cc4211 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.6 nozzle.json @@ -0,0 +1,105 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2S 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_44", + "instantiation": "true", + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..5b4ba7cfcd --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S 0.8 nozzle.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2S 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_45", + "instantiation": "true", + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S.json index 05639f7279..abe1b07138 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL H2S.json @@ -1,133 +1,93 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL H2S", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_08", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL H2S", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_08", + "instantiation": "true", + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json index a117aa2b88..af938e3c2b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.2 nozzle.json @@ -1,177 +1,86 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL P2S 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "20" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "50", - "50" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL P2S 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "20" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_retraction_speed": [ + "50", + "50" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json index 109cd2c78b..1fb907c675 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.4 nozzle.json @@ -1,168 +1,74 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL P2S 0.4 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_13", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.3", - "0.3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL P2S 0.4 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_13", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.3", + "0.3", + "0.3" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json index 0d51292baf..27b5f3a1fd 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.6 nozzle.json @@ -1,175 +1,80 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL P2S 0.6 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_14", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.2", - "0.2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL P2S 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_14", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.2", + "0.2", + "0.2" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..cfbc2d52a7 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL P2S 0.8 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL P2S 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_43", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.2", + "0.2" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json index 26854fbe03..007fe57c4f 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.2 nozzle.json @@ -1,126 +1,57 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X1C 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_07", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.3", - "0.3" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL X1C 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_07", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.3", + "0.3" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..536a9742dc --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.6 nozzle.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "Bambu PETG Translucent @BBL X1C 0.6 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_30", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.3", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_z_hop": [ + "nil", + "0.5" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json index 4a996e9d73..3ec40f01c5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json @@ -1,137 +1,65 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X1C 0.8 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_01", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.2", - "0.2" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL X1C 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_01", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.2", + "0.2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C.json index 5b1f468a06..3103acd859 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X1C.json @@ -1,126 +1,57 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X1C", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.3", - "0.3" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL X1C", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_00", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.3", + "0.3" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json index 5da7bcc5dc..5d5cb6d173 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json @@ -1,281 +1,134 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_cooling_fan_speed": [ - "20" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250", - "250", - "250" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "20" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "3", + "3" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json index 0d2604da26..974b3528d6 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json @@ -1,278 +1,140 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_cooling_fan_speed": [ - "10" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250", - "250", - "250" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json index dd05df3f9d..4281c834f7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json @@ -1,275 +1,110 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_29", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250", - "250", - "250" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_29", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D.json index 8c65dd98f6..aca3950f6e 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @BBL X2D.json @@ -1,275 +1,134 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @BBL X2D", - "inherits": "Bambu PETG Translucent @base", - "from": "system", - "setting_id": "GFSG01_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250", - "250", - "250" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG Translucent @BBL X2D", + "inherits": "Bambu PETG Translucent @base", + "from": "system", + "setting_id": "GFSG01_20", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG Translucent @base.json b/resources/profiles/BBL/filament/Bambu PETG Translucent @base.json index 372c2e5c26..3553e5fc39 100644 --- a/resources/profiles/BBL/filament/Bambu PETG Translucent @base.json +++ b/resources/profiles/BBL/filament/Bambu PETG Translucent @base.json @@ -1,84 +1,84 @@ { - "type": "filament", - "name": "Bambu PETG Translucent @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFwPrlCM", - "instantiation": "false", - "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "impact_strength_z": [ - "7.2" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PETG Translucent @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFwPrlCM", + "instantiation": "false", + "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "impact_strength_z": [ + "7.2" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json index 51d9883b07..4ad1c37417 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json @@ -1,32 +1,32 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A1 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A1 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json index 64face1005..edf85380a3 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1 0.8 nozzle.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A1 0.8 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A1 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json index bcbf1974e2..4545a6f2a9 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M 0.4 nozzle.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A1M 0.4 nozzle", - "inherits": "Bambu PETG-CF @BBL A1M", - "from": "system", - "setting_id": "GFSG50_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "9" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A1M 0.4 nozzle", + "inherits": "Bambu PETG-CF @BBL A1M", + "from": "system", + "setting_id": "GFSG50_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M.json index 5a237120e3..7852889288 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A1M.json @@ -1,24 +1,24 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A1M", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A1M", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_00", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json index 6b9e61c9de..2425defd7b 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.4 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A2L 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_20", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "255" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "0" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A2L 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_20", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "255" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json index 8c9bd1abc8..ecd9cdfe42 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L 0.8 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A2L 0.8 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_29", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_flush_temp_fast": [ - "255" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "0" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A2L 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_29", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_flush_temp_fast": [ + "255" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L.json index 62edee9abe..980c26433e 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL A2L.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL A2L", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_23", - "instantiation": "true", - "fan_min_speed": [ - "20" - ], - "filament_flush_temp_fast": [ - "255" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_speed": [ - "50" - ], - "pre_start_fan_time": [ - "0" - ], - "supertack_plate_temp": [ - "65" - ], - "supertack_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL A2L", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_23", + "instantiation": "true", + "fan_min_speed": [ + "20" + ], + "filament_flush_temp_fast": [ + "255" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_speed": [ + "50" + ], + "pre_start_fan_time": [ + "0" + ], + "supertack_plate_temp": [ + "65" + ], + "supertack_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json index 8b9caf8008..4de1312338 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.4 nozzle.json @@ -1,213 +1,120 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_19", - "instantiation": "true", - "counter_coef_2": [ - "0.0022" - ], - "counter_coef_3": [ - "-0.0178" - ], - "counter_limit_max": [ - "0.036" - ], - "counter_limit_min": [ - "-0.0178" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0014" - ], - "hole_coef_3": [ - "0.11" - ], - "hole_limit_max": [ - "0.11" - ], - "hole_limit_min": [ - "0.075" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_19", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_min": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "hole_limit_max": [ + "0.11" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..f327384244 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C 0.8 nozzle.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL H2C 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_30", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "55" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C.json index 3320eda7ec..fa1cab99a7 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2C.json @@ -1,214 +1,120 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2C", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_18", - "instantiation": "true", - "counter_coef_2": [ - "0.0022" - ], - "counter_coef_3": [ - "-0.0178" - ], - "counter_limit_max": [ - "0.036" - ], - "counter_limit_min": [ - "-0.0178" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0014" - ], - "hole_coef_3": [ - "0.11" - ], - "hole_limit_max": [ - "0.11" - ], - "hole_limit_min": [ - "0.075" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "supertack_plate_temp": [ - "60" - ], - "supertack_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "55" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL H2C", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_18", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "55" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json index c6bce7e4f6..cf5ed3198f 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.4 nozzle.json @@ -1,155 +1,98 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2D 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_08", - "instantiation": "true", - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0112" - ], - "counter_limit_max": [ - "0.065" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0121" - ], - "hole_coef_3": [ - "0.145" - ], - "hole_limit_min": [ - "0.068" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL H2D 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_08", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "0.8" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json index 67c79ab59e..347a56d4bf 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.6 nozzle.json @@ -1,138 +1,93 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2D 0.6 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL H2D 0.6 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_07", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..4ae2558fb2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2D 0.8 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL H2D 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_31", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json index 186c8f205a..93bb7ca67d 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.4 nozzle.json @@ -1,155 +1,76 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_15", - "instantiation": "true", - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0112" - ], - "counter_limit_max": [ - "0.065" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0121" - ], - "hole_coef_3": [ - "0.145" - ], - "hole_limit_min": [ - "0.068" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_15", + "instantiation": "true", + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0112" + ], + "counter_limit_max": [ + "0.065" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0121" + ], + "hole_coef_3": [ + "0.145" + ], + "hole_limit_min": [ + "0.068" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json index 8ac5da7556..62bc309cfa 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.6 nozzle.json @@ -1,138 +1,58 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_14", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_14", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..62b7d54979 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_32", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..236fa4d02d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.6 nozzle.json @@ -0,0 +1,115 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL H2S 0.6 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_34", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..c9ce999176 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S 0.8 nozzle.json @@ -0,0 +1,108 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL H2S 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_35", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S.json index 7815f24d48..f85e5e820c 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL H2S.json @@ -1,139 +1,103 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL H2S", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_09", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL H2S", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_09", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json index a937565714..f7987b06fe 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.4 nozzle.json @@ -1,177 +1,102 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL P2S 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_13", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL P2S 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_13", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_min": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "hole_limit_max": [ + "0.11" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json index 0d163230f6..3958df13ad 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.6 nozzle.json @@ -1,178 +1,102 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL P2S 0.6 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_12", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL P2S 0.6 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_12", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..7239839b3d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,106 @@ +{ + "type": "filament", + "name": "Bambu PETG-CF @BBL P2S 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_33", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json index ab9879c43d..c136712f57 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL X1C 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL X1C 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "11.5", + "20" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_wipe": [ + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "275" + ], + "nozzle_temperature_initial_layer": [ + "255", + "275" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C.json index 769e236e4f..e953110fe0 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C.json @@ -1,138 +1,73 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL X1C", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL X1C", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "11.5", + "20" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json index 63502e9f99..24b3775fd5 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json @@ -1,305 +1,132 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0022" - ], - "counter_coef_3": [ - "-0.0178" - ], - "counter_limit_max": [ - "0.036" - ], - "counter_limit_min": [ - "-0.0178" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5", - "11.5", - "11.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0014" - ], - "hole_coef_3": [ - "0.11" - ], - "hole_limit_max": [ - "0.11" - ], - "hole_limit_min": [ - "0.075" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_17", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5", + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json index b048455936..378ad209c9 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json @@ -1,305 +1,140 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0022" - ], - "counter_coef_3": [ - "-0.0178" - ], - "counter_limit_max": [ - "0.036" - ], - "counter_limit_min": [ - "-0.0178" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5", - "11.5", - "11.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0014" - ], - "hole_coef_3": [ - "0.11" - ], - "hole_limit_max": [ - "0.11" - ], - "hole_limit_min": [ - "0.075" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_22", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D.json index 5870af7871..f6e03276e0 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @BBL X2D.json @@ -1,305 +1,164 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL X2D", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0022" - ], - "counter_coef_3": [ - "-0.0178" - ], - "counter_limit_max": [ - "0.036" - ], - "counter_limit_min": [ - "-0.0178" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5", - "11.5", - "11.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0014" - ], - "hole_coef_3": [ - "0.11" - ], - "hole_limit_max": [ - "0.11" - ], - "hole_limit_min": [ - "0.075" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PETG-CF @BBL X2D", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_16", + "instantiation": "true", + "counter_coef_2": [ + "0.0022" + ], + "counter_coef_3": [ + "-0.0178" + ], + "counter_limit_max": [ + "0.036" + ], + "counter_limit_min": [ + "-0.0178" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5", + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0014" + ], + "hole_coef_3": [ + "0.11" + ], + "hole_limit_max": [ + "0.11" + ], + "hole_limit_min": [ + "0.075" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PETG-CF @base.json b/resources/profiles/BBL/filament/Bambu PETG-CF @base.json index 9c1d80768d..7e7f358275 100644 --- a/resources/profiles/BBL/filament/Bambu PETG-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PETG-CF @base.json @@ -1,83 +1,80 @@ { - "type": "filament", - "name": "Bambu PETG-CF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFTRZ8Y4", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "impact_strength_z": [ - "10.7" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "6" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFTRZ8Y4", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "31.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "impact_strength_z": [ + "10.7" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1.json index ab97729a9b..14def75264 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL A1", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL A1", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1M.json index a2f8508e47..7d6397aa15 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL A1M", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_03", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL A1M", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_03", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json index 92de474c10..8a3db40176 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.6 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json index b39e87297d..62f719ddbc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L 0.8 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L.json index e9962474ad..6bd9e86e48 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL A2L.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL A2L", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL A2L", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json index 580c187b4e..ed720d6732 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C 0.4 nozzle.json @@ -1,183 +1,105 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C.json index b6072e3359..0d5865af10 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2C.json @@ -1,184 +1,106 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL H2C", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL H2C", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2D.json index 632181c07f..43a47a4722 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2D.json @@ -1,139 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL H2D", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_05", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL H2D", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_05", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2DP.json index 9a356915f8..4f30395743 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2DP.json @@ -1,139 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL H2DP", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL H2DP", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2S.json index 0613ea8a73..3a651c0105 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL H2S.json @@ -1,142 +1,93 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL H2S", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "0", - "0" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL H2S", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL P2S.json index 77fc44385b..f2ea01ad72 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL P2S.json @@ -1,179 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL P2S", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL P2S", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1.json index 8a351c19c0..9e5ac03bf3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1.json @@ -1,127 +1,54 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL X1", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_00", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL X1", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_00", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1C.json index 8425041516..9fe7a958e1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X1C.json @@ -1,136 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL X1C", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_01", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL X1C", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_01", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json index 75d5e2d631..40f718ed86 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json @@ -1,284 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "0.6", - "0.6", - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "3", - "6", - "6", - "6" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6", + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "3", + "6", + "3", + "6", + "6", + "6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D.json index d9663b8c24..d3472e210f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @BBL X2D.json @@ -1,285 +1,106 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL X2D", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_10", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "0.6", - "0.6", - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "3", - "6", - "6", - "6" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL X2D", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "0.6", + "0.6", + "0.6", + "0.6", + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "3", + "6", + "3", + "6", + "6", + "6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Aero @base.json b/resources/profiles/BBL/filament/Bambu PLA Aero @base.json index b941bed495..8eb1170260 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Aero @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Aero @base.json @@ -1,51 +1,48 @@ { - "type": "filament", - "name": "Bambu PLA Aero @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFBSW57R", - "instantiation": "false", - "description": "This filament is only used to print models with a low density usually, and some special parameters are required. To get better printing quality, please refer to this wiki: Instructions for printing RC model with foaming PLA (PLA Aero).", - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "44.99" - ], - "filament_density": [ - "1.21" - ], - "filament_flow_ratio": [ - "0.6" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PLA-AERO" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "impact_strength_z": [ - "3.1" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFBSW57R", + "instantiation": "false", + "description": "This filament is only used to print models with a low density usually, and some special parameters are required. To get better printing quality, please refer to this wiki: Instructions for printing RC model with foaming PLA (PLA Aero).", + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.21" + ], + "filament_flow_ratio": [ + "0.6" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PLA-AERO" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "3.1" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json index 860a9f92c0..c3498b9c96 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1.json index 438869b04e..eb8c3297f8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A1", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A1", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json index 08c8eebd9c..704542fa89 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M.json index 871e60e85c..c353bff9ac 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A1M.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A1M", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A1M", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json index c82796d415..2df44cca2d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.2 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json index f7b52810e6..0be9255970 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.4 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json index 880f94a58c..1d40774b1b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.6 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_50", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_50", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json index bafc3729fc..3075bac717 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL A2L 0.8 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_51", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_51", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json index 2f1ab7ef04..07ee98f7e6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.2 nozzle.json @@ -1,213 +1,124 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json index 39bc94d00a..63a6a766b0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.6 nozzle.json @@ -1,213 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2C 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_31", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2C 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_31", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json index 402f3cddd0..a8f668860c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C 0.8 nozzle.json @@ -1,213 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2C 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_32", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_32", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C.json index 1e6c1643eb..fb7e781c55 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2C.json @@ -1,213 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2C", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.8" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2C", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.8", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json index 44b42d7c71..53dfefb6b8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.2 nozzle.json @@ -1,143 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json index 15420e0dba..b201c04ae8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.6 nozzle.json @@ -1,159 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2D 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_27", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_id": [ - "1", - "1" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json index f941c59ada..155afbbc68 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D 0.8 nozzle.json @@ -1,143 +1,115 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D.json index 9717bc1843..0cb3530b9c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2D.json @@ -1,155 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2D", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2D", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json index cf46f6077e..9c49c6d367 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.2 nozzle.json @@ -1,143 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json index a581d77531..2efcf62609 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.6 nozzle.json @@ -1,155 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_28", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json index 9abe36c35d..ded3b4e3d9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP 0.8 nozzle.json @@ -1,143 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP.json index 85660b9ad0..6df1b590b0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2DP.json @@ -1,155 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2DP", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2DP", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json index b2e85e89b3..a26fae8231 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.2 nozzle.json @@ -1,140 +1,108 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json index 4ba61fe097..5e8717b0fc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.6 nozzle.json @@ -1,143 +1,136 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2S 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_30", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json index 4d9e200ce2..fcfed64523 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S 0.8 nozzle.json @@ -1,143 +1,123 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2S 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_29", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S.json index 78ba481815..2b26b5a33b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL H2S.json @@ -1,140 +1,133 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL H2S", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_05", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL H2S", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_05", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..9b647c0605 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.4 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL P1S 0.4 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_34", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.6 nozzle.json new file mode 100644 index 0000000000..fb9f4a9816 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P1S 0.6 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL P1S 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_35", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json index e1a2432769..cec82f1394 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.2 nozzle.json @@ -1,171 +1,104 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_15", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json index 79a6dc18ec..093ad31bcd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.6 nozzle.json @@ -1,171 +1,121 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_26", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "40", + "21" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json index 8826267425..1d462e3afe 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S 0.8 nozzle.json @@ -1,171 +1,112 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_16", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S.json index 199c5311c6..6d36f1d3f7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL P2S.json @@ -1,171 +1,106 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P2S", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL P2S", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_11", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_min": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "40", + "21" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "hole_limit_max": [ + "0.12" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1.json index 50a09c0b3d..ff5dabd8bd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X1", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA04", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL X1", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA04", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json index 6ae9993dab..562e34ec84 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..da5b604de1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.6 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_33", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json index 567fa2a16b..0b8ad7bb27 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json index da7167b84c..ddfe8cd5d9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json @@ -1,127 +1,67 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X1C", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL X1C", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json index 872033281b..7745d8f761 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json @@ -1,299 +1,158 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_20", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json index fec7aeb1e5..6ce14a3d78 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json @@ -1,296 +1,163 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "40", - "21", - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_08", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "40", + "21", + "21", + "30", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.6 nozzle.json new file mode 100644 index 0000000000..080c549be8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.6 nozzle.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL X2D 0.6 nozzle", + "renamed_from": "Bambu PLA Basic @BBL X2D", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_09", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "40", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..0d8be7315e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D 0.8 nozzle.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_55", + "instantiation": "true", + "counter_coef_2": [ + "0.0025" + ], + "counter_coef_3": [ + "0.014" + ], + "counter_limit_max": [ + "0.076" + ], + "counter_limit_min": [ + "0.014" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "21", + "40", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.12" + ], + "hole_limit_max": [ + "0.12" + ], + "hole_limit_min": [ + "0.05" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D.json deleted file mode 100644 index 7c9963249a..0000000000 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @BBL X2D.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "type": "filament", - "name": "Bambu PLA Basic @BBL X2D", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0025" - ], - "counter_coef_3": [ - "0.014" - ], - "counter_limit_max": [ - "0.076" - ], - "counter_limit_min": [ - "0.014" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "40", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.12" - ], - "hole_limit_max": [ - "0.12" - ], - "hole_limit_min": [ - "0.05" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} diff --git a/resources/profiles/BBL/filament/Bambu PLA Basic @base.json b/resources/profiles/BBL/filament/Bambu PLA Basic @base.json index 6d25d0ece0..3a3f68a157 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Basic @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Basic @base.json @@ -1,48 +1,38 @@ { - "type": "filament", - "name": "Bambu PLA Basic @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFoiVqVM", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "10%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "filament_change_length": [ - "5" - ], - "filament_prime_volume": [ - "30" - ], - "impact_strength_z": [ - "13.8" - ], - "compatible_printers": [], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFoiVqVM", + "instantiation": "false", + "filament_change_length": [ + "5" + ], + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "13.8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json index 17373d31d6..576ebf073d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1.json index 9ac7dbb2a1..ae738f0ba2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A1", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A1", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json index 7540d6b075..32aecc1f97 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M.json index da0ddaa688..ab90c081c8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A1M.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A1M", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A1M", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json index 4b224de8c0..fa3bf8b447 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.2 nozzle.json @@ -1,53 +1,53 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_26", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json index 4d5e335fef..4b1e0366d7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.6 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_39", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_39", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json index db108940ed..3884c8766b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L 0.8 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_40", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_40", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L.json index 7755b48018..4a493cb8cf 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL A2L.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL A2L", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_27", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL A2L", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json index a12fc3a6a5..31708faa3f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.2 nozzle.json @@ -1,186 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_25", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_25", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json index f8209c2c99..203111f93d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C.json index 4fadfcf5ba..d6ae035131 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2C", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2C", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json index ad4a7ca427..94e60d2b28 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json index 549d8c70b7..73f707ce8f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D 0.8 nozzle.json @@ -1,134 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D.json index b034a222d0..a55cfd5a4b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2D.json @@ -1,135 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2D", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2D", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json index dda21c0f10..bff31010ae 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json index 7f73e2caea..cf17ea5af0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP.json index 0b8f861fce..32df6b69fd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2DP.json @@ -1,135 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2DP", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2DP", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json index 34e3593313..2e4df09afb 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S 0.2 nozzle.json @@ -1,140 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S.json index 43924594d4..6bd6a008d5 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL H2S.json @@ -1,142 +1,114 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL H2S", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL H2S", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json index 097b10358d..92b19310cb 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..6f4d0fdbdc --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_31", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P.json index 42178239a9..8dd853022d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P1P.json @@ -1,142 +1,84 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL P1P", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P1P", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json index 7e14fddd41..518fe6e7fe 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.2 nozzle.json @@ -1,171 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json index 898144cda5..1abdfa6de7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S 0.8 nozzle.json @@ -1,171 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S.json index fe8fcda52c..bd304790b6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL P2S.json @@ -1,172 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL P2S", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL P2S", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json index 073a22e994..8cfe61e78c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.2 nozzle.json @@ -1,125 +1,52 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..98eb99862f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.6 nozzle.json @@ -0,0 +1,66 @@ +{ + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_28", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json index 70e423ff23..2a16080567 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json @@ -1,125 +1,52 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C.json index ae5aa03881..d6137cff59 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X1C.json @@ -1,129 +1,70 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X1C", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X1C", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json index 57e56acc27..436ec93e94 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json @@ -1,275 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json index 5e22e07c12..18f6abcda7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json @@ -1,272 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D.json index 5a9f3939d1..c632d75d48 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @BBL X2D.json @@ -1,273 +1,132 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @BBL X2D", - "inherits": "Bambu PLA Dynamic @base", - "from": "system", - "setting_id": "GFSA13_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @BBL X2D", + "inherits": "Bambu PLA Dynamic @base", + "from": "system", + "setting_id": "GFSA13_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Dynamic @base.json b/resources/profiles/BBL/filament/Bambu PLA Dynamic @base.json index b21b156082..12a51695d8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Dynamic @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Dynamic @base.json @@ -1,23 +1,23 @@ { - "type": "filament", - "name": "Bambu PLA Dynamic @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFDGigEI", - "instantiation": "false", - "filament_cost": [ - "31.99" - ], - "filament_density": [ - "1.26" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "20.8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Dynamic @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFDGigEI", + "instantiation": "false", + "filament_cost": [ + "31.99" + ], + "filament_density": [ + "1.26" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "20.8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json index 34af54c59d..19c1fd43af 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1.json index 3ca1876828..75fc1db5ee 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A1", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A1", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json index 865161413b..d011a0b4bf 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M.json index 48cbcfc541..e4a749d675 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A1M.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A1M", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A1M", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json index 0e8d20c597..43add8445c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_26", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json index 76e3315dc2..d74bfea08a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.6 nozzle.json @@ -1,59 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_39", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_39", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json index 971d39bb47..3cc6a7ebd8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L 0.8 nozzle.json @@ -1,59 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_40", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_40", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L.json index a29da01908..f73a831eb4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL A2L.json @@ -1,59 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL A2L", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_27", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL A2L", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json index fe15dcefb2..d7d9738881 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.2 nozzle.json @@ -1,186 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_25", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_25", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json index 76b79659ed..5fdb9b941f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C.json index 59ec370472..3c4a3181fd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2C", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2C", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json index a681eb11e5..5594ddd436 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json index 3fa5d9c823..b6f6057712 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D 0.8 nozzle.json @@ -1,134 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D.json index b026cdd803..742304d148 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2D.json @@ -1,135 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2D", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2D", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json index 6b030eb631..d3db19b02b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json index ba876fce99..19f76bd953 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP.json index e16f9732fb..e4f3c42060 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2DP.json @@ -1,135 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2DP", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2DP", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json index ea970f53ce..c9beecd89c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S 0.2 nozzle.json @@ -1,143 +1,90 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S.json index efc03eac1b..91d24f8332 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL H2S.json @@ -1,145 +1,117 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL H2S", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL H2S", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json index cc0886295d..7aa84eccd3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..b5d4190792 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_31", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P.json index 36814597d0..2c0bd7a5fe 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P1P.json @@ -1,142 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL P1P", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P1P", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json index 77febb1f11..049e3ad804 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.2 nozzle.json @@ -1,177 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json index f5bd3fc62b..bc138e1df2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S 0.8 nozzle.json @@ -1,171 +1,76 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S.json index 967a1e89ea..52fe7324be 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL P2S.json @@ -1,175 +1,86 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL P2S", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL P2S", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json index 750134520f..3332e1c8c8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..753b8c25b8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.6 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_28", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json index 323c3bb7de..89ecc60c27 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_02", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C.json index 99c0479f7e..19e30e5fb0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X1C.json @@ -1,129 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X1C", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X1C", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json index 8b154c0518..2a2a610ca9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json @@ -1,275 +1,134 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_22", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json index 0d4ed1815e..692021b2fc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D.json index 50cd6aa79b..714741368f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @BBL X2D.json @@ -1,273 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @BBL X2D", - "inherits": "Bambu PLA Galaxy @base", - "from": "system", - "setting_id": "GFSA15_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @BBL X2D", + "inherits": "Bambu PLA Galaxy @base", + "from": "system", + "setting_id": "GFSA15_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Galaxy @base.json b/resources/profiles/BBL/filament/Bambu PLA Galaxy @base.json index baeb6a1ab8..b26152dd2a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Galaxy @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Galaxy @base.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PLA Galaxy @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFQ3e56w", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.19" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "5.8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Galaxy @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFQ3e56w", + "instantiation": "false", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.19" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "5.8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json index 2de9cd5931..8763639cdd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1.json index a95509758b..4fa331e1b9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A1", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A1", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json index dc0dd63d0f..c0e753700a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_17", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_17", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M.json index 750fd2b9de..898241b43e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A1M", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_16", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A1M", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_16", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json index decfd9b658..30222be57c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.4 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_27", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json index c980532cd1..01fed6905c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.6 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_38", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_38", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json index cedfcdf86c..57d8ea3bab 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL A2L 0.8 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_39", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_39", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json index 8558adc1ee..f0601b5374 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C.json index 20c231beff..7130e8e127 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2C", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2C", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2D.json index c9ed5e4e72..f79d057d10 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2D.json @@ -1,136 +1,98 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2D", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2D", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json index 896ec8c7c8..0faa39a293 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP.json index 52f111fc26..f8edcb3f46 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2DP.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2DP", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2DP", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S 0.2 nozzle.json deleted file mode 100644 index 24009ae53e..0000000000 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S 0.2 nozzle.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "type": "filament", - "name": "Bambu PLA Glow @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S.json index 85445c0e64..4530262350 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL H2S.json @@ -1,145 +1,118 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL H2S", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL H2S", + "renamed_from": "Bambu PLA Glow @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json index 64a05d2e66..34d9c80622 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.2 nozzle.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Glow @BBL P1P", - "from": "system", - "setting_id": "GFSA12_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Glow @BBL P1P", + "from": "system", + "setting_id": "GFSA12_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..930f3a2160 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Glow @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_33", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P.json index 82d3513632..0d37c339c1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P1P.json @@ -1,142 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P1P", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P1P", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json index 531cd9cb1e..1ac8c17a57 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.2 nozzle.json @@ -1,174 +1,83 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json index 4597af5b89..588e83309f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.6 nozzle.json @@ -1,174 +1,105 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_28", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.6", - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "0", - "0" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.6", + "0.6", + "0.6" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json index f843fc6c95..4eb1100b6b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S 0.8 nozzle.json @@ -1,171 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_29", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_29", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S.json index 833d53771c..43a636a896 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL P2S.json @@ -1,174 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL P2S", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL P2S", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json index de724b771e..553b1ef680 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1 0.2 nozzle.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1 0.2 nozzle", - "inherits": "Bambu PLA Glow @BBL X1", - "from": "system", - "setting_id": "GFSA12_09", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab X1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1 0.2 nozzle", + "inherits": "Bambu PLA Glow @BBL X1", + "from": "system", + "setting_id": "GFSA12_09", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1.json index 247fc5c97e..16013c4055 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_08", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_08", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json index 86fdf20128..c78067c23a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Glow @BBL X1C", - "from": "system", - "setting_id": "GFSA12_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Glow @BBL X1C", + "from": "system", + "setting_id": "GFSA12_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..821066a1f4 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C 0.6 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PLA Glow @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_30", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C.json index bd1fd2232e..68493f889e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1C.json @@ -1,127 +1,76 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1C", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1C", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json index ea7cbdd476..85b566349a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1E 0.2 nozzle", - "inherits": "Bambu PLA Glow @BBL X1E", - "from": "system", - "setting_id": "GFSA12_05", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1E 0.2 nozzle", + "inherits": "Bambu PLA Glow @BBL X1E", + "from": "system", + "setting_id": "GFSA12_05", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E.json index 6aca99dc3b..f86d91bf11 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X1E.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X1E", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_04", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X1E", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_04", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json index 4ae6b67df7..f67c1b406b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json @@ -1,64 +1,137 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Glow @BBL X1C", - "from": "system", - "setting_id": "GFSA12_22", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_printable": [ - "0" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "retraction_distances_when_ec": [ - "3", - "3" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_printable": [ + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json index 826f5db868..cd89ac6bbc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D.json index 2f4bad282c..f5e3247ead 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @BBL X2D.json @@ -1,273 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Glow @BBL X2D", - "inherits": "Bambu PLA Glow @base", - "from": "system", - "setting_id": "GFSA12_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @BBL X2D", + "inherits": "Bambu PLA Glow @base", + "from": "system", + "setting_id": "GFSA12_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Glow @base.json b/resources/profiles/BBL/filament/Bambu PLA Glow @base.json index 7556361f81..8226894db3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Glow @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Glow @base.json @@ -1,32 +1,32 @@ { - "type": "filament", - "name": "Bambu PLA Glow @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFEkPBwx", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "19.8" - ], - "temperature_vitrification": [ - "45" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Glow @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFEkPBwx", + "instantiation": "false", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "19.8" + ], + "required_nozzle_HRC": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json index 256a62a56d..59f6662ccd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1 0.2 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1.json index f3d08f5ab3..5c01a99100 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A1", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A1", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json index b91ec4a8b8..0648aac9d2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M 0.2 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M.json index 4161408b26..1f8c8c5f22 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A1M.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A1M", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A1M", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json index be2d2d0309..79d0231180 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.2 nozzle.json @@ -1,77 +1,77 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_21", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json index 6e4d34f6f6..a72f2aecac 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.4 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_22", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json index 91d868c8d0..8bd86cc2f0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.6 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_39", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_39", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json index 390387cce7..b09c45cf36 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL A2L 0.8 nozzle.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_40", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_40", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json index bef804d79e..938f70ef5f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.2 nozzle.json @@ -1,198 +1,109 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json index 45a9cba268..a435869e4d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.4 nozzle.json @@ -1,213 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "1.01", - "1.01" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_retraction_length": [ - "0.4", - "0.8" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0081" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_min": [ + "-0.4" + ], + "counter_limit_max": [ + "0.05" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "1.01", + "1.01", + "1.01" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_retraction_length": [ + "0.4", + "0.8", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0081" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..b10f90036d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C 0.8 nozzle.json @@ -0,0 +1,152 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_44", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1.01", + "1.01" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C.json index 5c1d65e758..a30e801edd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2C.json @@ -1,214 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2C", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "1.01", - "1.01" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0081" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL H2C", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "1.01", + "1.01", + "1.01" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json index 8ba8d5847c..fcd3c66c1c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.2 nozzle.json @@ -1,149 +1,84 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..fbb2fb9994 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.6 nozzle.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_45", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json index 6d6cb1db6d..fb7b165418 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D 0.8 nozzle.json @@ -1,149 +1,115 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D.json index ed89da9c6e..f7bcb1ad8f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2D.json @@ -1,165 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2D", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2D", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json index 51079b5a89..3844c578ee 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.2 nozzle.json @@ -1,149 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_30", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json index 06adfb14d1..e2aea610ee 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.4 nozzle.json @@ -1,164 +1,109 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_27", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json index 62ac9cfbae..758129964a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.6 nozzle.json @@ -1,164 +1,109 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_28", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json index cd59790f33..924d3416d2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2DP 0.8 nozzle.json @@ -1,149 +1,94 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_29", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json index f2417539a7..c28b9c1e67 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.2 nozzle.json @@ -1,140 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..e1580f9a56 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.6 nozzle.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_46", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..a1435c6c6f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S 0.8 nozzle.json @@ -0,0 +1,111 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_47", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S.json index ff2794f1af..da3587b191 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL H2S.json @@ -1,142 +1,112 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL H2S", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "20", - "30" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL H2S", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "20", + "30", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json index e935a0de91..897af5a38f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..a270dea0ab --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P 0.6 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_34", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P.json index 17c8cb629e..e7a9400504 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P1P.json @@ -1,142 +1,96 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P1P", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL P1P", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json index 6a04db26bd..9fa4716211 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.2 nozzle.json @@ -1,168 +1,77 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json index c4db23999b..b7173ec6fd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.4 nozzle.json @@ -1,168 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P2S 0.4 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL P2S 0.4 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.01", + "0.98", + "1.01" + ], + "filament_max_volumetric_speed": [ + "16", + "40", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "18", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json index e8437c376c..93276abfa2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.6 nozzle.json @@ -1,168 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "40", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json index 9738cd919e..3e7034724b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL P2S 0.8 nozzle.json @@ -1,168 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_26", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json index 8730cd4c0b..dadf938879 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..0ba97e92b1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.6 nozzle.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_31", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json index e8e60c657c..cc8e3aafd8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_02", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C.json index 6dcacd02a0..00ece6ec72 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X1C.json @@ -1,129 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X1C", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL X1C", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json index 31210a2d44..fa3cbb9c55 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json @@ -1,275 +1,134 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json index c2ff288751..53dc610c25 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1.029", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "40", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.029", + "0.98", + "1.029", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "40", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..33ca9178ff --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D 0.8 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Bambu PLA Lite @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_48", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "16", + "40", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D.json index fb392361e4..82f5fb2a27 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @BBL X2D.json @@ -1,273 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Lite @BBL X2D", - "inherits": "Bambu PLA Lite @base", - "from": "system", - "setting_id": "GFSA18_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "40", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Lite @BBL X2D", + "inherits": "Bambu PLA Lite @base", + "from": "system", + "setting_id": "GFSA18_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "40", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Lite @base.json b/resources/profiles/BBL/filament/Bambu PLA Lite @base.json index 4a21717d9e..1a74521338 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Lite @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Lite @base.json @@ -1,44 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Lite @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFnfxTvi", - "instantiation": "false", - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.40" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "6.6" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Lite @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFnfxTvi", + "instantiation": "false", + "filament_cost": [ + "18.99" + ], + "filament_density": [ + "1.40" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "6.6" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1.json index b752b8a869..1452831345 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL A1", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL A1", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1M.json index 83ceb3a359..c53cde99c5 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A1M.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL A1M", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL A1M", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json index 594122a3e3..1015ec00c0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.6 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json index 4aca94fe0d..2843aa8280 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L 0.8 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L.json index cf3b42820c..b2983ef119 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL A2L.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL A2L", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL A2L", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json index ef426cb255..1cdc32a534 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C.json index 4055a4021e..6840297c89 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL H2C", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL H2C", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2D.json index 8bdb5beb00..47f56786ac 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2D.json @@ -1,136 +1,98 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL H2D", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL H2D", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2DP.json index a1ee864da0..a12b15a930 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2DP.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL H2DP", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL H2DP", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2S.json index 51db0ee82d..077bbab752 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL H2S.json @@ -1,145 +1,117 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL H2S", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL H2S", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json index f313c05331..61be85f4aa 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S 0.8 nozzle.json @@ -1,174 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S.json index 09dfb9ecbf..28071dfd7c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL P2S.json @@ -1,175 +1,86 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL P2S", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL P2S", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1.json index 4dba8032bc..1bffa6b66b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL X1", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL X1", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..2c55f8c681 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C 0.6 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PLA Marble @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_15", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C.json index f07ebe22e1..681a71eade 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X1C.json @@ -1,130 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL X1C", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL X1C", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json index 1a285d0cca..e8004a8a96 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D.json index e1f7f6f18b..1caa8e0ec0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @BBL X2D.json @@ -1,273 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL X2D", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL X2D", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Marble @base.json b/resources/profiles/BBL/filament/Bambu PLA Marble @base.json index 4c9ecb2ff5..6669b42d96 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Marble @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Marble @base.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Bambu PLA Marble @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF9OlTWH", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.22" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "6.5" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OF9OlTWH", + "instantiation": "false", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.22" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "6.5" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json index cf043fc050..243fdbface 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1.json index 5a47157b33..4a06b0cfcc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A1", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A1", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json index 41532d323e..ae8731e6c4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M.json index acd4791ec4..157576d182 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A1M.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A1M", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A1M", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json index 3434f4e252..7965c9dd02 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json index d9f4a5e0c5..db067ed80f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.4 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "24" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json index 3e4bec2ae7..4a5a1095fc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.6 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_44", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "1" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_44", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "1" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json index a68950ebb2..6517427208 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL A2L 0.8 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_45", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_45", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json index cf9b4b85ce..8b970d07f2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.2 nozzle.json @@ -1,213 +1,124 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json index b613b0aea6..7ff6555cec 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.6 nozzle.json @@ -1,213 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2C 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_31", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2C 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_31", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json index 0e60307815..9bcd43edb4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C 0.8 nozzle.json @@ -1,213 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2C 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_32", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_32", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C.json index 58464d719b..06643057f8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2C.json @@ -1,213 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2C", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.8" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2C", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_retraction_length": [ + "0.4", + "0.8", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json index 78bd6ad0a1..b190108aed 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.2 nozzle.json @@ -1,143 +1,102 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json index 783b7d04a0..be51abe9d3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.6 nozzle.json @@ -1,165 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2D 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_27", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_id": [ - "1", - "1" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json index 03ed06c5f3..3ada24f209 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D 0.8 nozzle.json @@ -1,143 +1,118 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D.json index 327ca4982f..2a0b55932e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2D.json @@ -1,161 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2D", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_05", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2D", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_05", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "31" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json index bcabadcc3c..f69cf85eca 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.2 nozzle.json @@ -1,143 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json index 0eaeecced3..477bf3492a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.6 nozzle.json @@ -1,161 +1,106 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_28", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json index 3592ee9216..85a1fbcf4f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP 0.8 nozzle.json @@ -1,143 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP.json index a12465e381..08a123c6c4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2DP.json @@ -1,161 +1,106 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2DP", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.06" - ], - "counter_coef_3": [ - "-0.32" - ], - "counter_limit_min": [ - "-0.4" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "35" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2DP", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.06" + ], + "counter_coef_3": [ + "-0.32" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.4" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "35" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json index de41437dde..eeea4e7a78 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.2 nozzle.json @@ -1,137 +1,108 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json index 6cf6262e97..6c611715da 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.6 nozzle.json @@ -1,140 +1,136 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2S 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_30", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40", + "30" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json index d71ddd97b0..0c38e3d228 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S 0.8 nozzle.json @@ -1,140 +1,123 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2S 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_29", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "30", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "30", + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S.json index d1a2406f98..f794e7e0f5 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL H2S.json @@ -1,137 +1,133 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL H2S", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "25", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL H2S", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "25", + "40", + "25" + ], + "filament_prime_volume": [ + "30" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..9065c06e4c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.4 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Matte @BBL P1S 0.4 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_34", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.6 nozzle.json new file mode 100644 index 0000000000..df45e15bfb --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P1S 0.6 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Matte @BBL P1S 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_35", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json index 864fd08701..7af0bca0ae 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.2 nozzle.json @@ -1,174 +1,119 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "0", - "0" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "0", + "0" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json index a8dfd5c044..8845412d00 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.6 nozzle.json @@ -1,174 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_26", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "22", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "40", + "22" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json index d0f2aad651..369c15e2cd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S 0.8 nozzle.json @@ -1,174 +1,115 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "22", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S.json index 47c29030b0..85051a2210 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL P2S.json @@ -1,174 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P2S", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "22", - "40" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "0", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL P2S", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_min": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.01", + "0.98", + "1.01" + ], + "filament_max_volumetric_speed": [ + "22", + "40", + "22" + ], + "filament_retraction_distances_when_cut": [ + "0", + "10", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "hole_limit_max": [ + "0.1116" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1.json index 71d6c01418..0f652bab76 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X1", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA05", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL X1", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA05", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json index 8ff99d2c90..053b788985 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..737b16ff2a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.6 nozzle.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Bambu PLA Matte @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_33", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.6" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json index c9611be68c..6e90773f8f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C.json index f24ab7836c..09eeed982a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X1C.json @@ -1,127 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X1C", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL X1C", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json index b34707d2fe..229a26caff 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json @@ -1,299 +1,158 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_20", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json index a598fe2ee9..ad344cf7c7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json @@ -1,296 +1,163 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1.006", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "22", - "40", - "22", - "25" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_09", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.006", + "0.98", + "1.006", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "40", + "22", + "22", + "25", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..9b7b3d49e5 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D 0.8 nozzle.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Bambu PLA Matte @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_49", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "22", + "40", + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D.json index 727ba0f6aa..9f1f6b7dbe 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @BBL X2D.json @@ -1,297 +1,163 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL X2D", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_11", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.0066" - ], - "counter_limit_max": [ - "0.082" - ], - "counter_limit_min": [ - "0.0066" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "22", - "40", - "22", - "22" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0026" - ], - "hole_coef_3": [ - "0.1116" - ], - "hole_limit_max": [ - "0.1116" - ], - "hole_limit_min": [ - "0.046" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Matte @BBL X2D", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_11", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.0066" + ], + "counter_limit_max": [ + "0.082" + ], + "counter_limit_min": [ + "0.0066" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "40", + "22", + "22", + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0026" + ], + "hole_coef_3": [ + "0.1116" + ], + "hole_limit_max": [ + "0.1116" + ], + "hole_limit_min": [ + "0.046" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Matte @base.json b/resources/profiles/BBL/filament/Bambu PLA Matte @base.json index e98b6c3633..e5e552d9fd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Matte @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Matte @base.json @@ -1,38 +1,32 @@ { - "type": "filament", - "name": "Bambu PLA Matte @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFXIbw5D", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "impact_strength_z": [ - "6.6" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFXIbw5D", + "instantiation": "false", + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "6.6" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json index 9c6d0f5c22..06e56bced1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1.json index 8a752ef028..b4fcb8fcb5 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A1", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A1", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json index b88ef9fff6..f3f5d36e40 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M.json index c0973a90fc..fce4ffa817 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A1M", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A1M", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json index 7362252ecd..e66ae6d862 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.2 nozzle.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_22", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json index df84dabb95..066f53bc5b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.6 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_37", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_37", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json index 3b3e4459c2..af365bc1d8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L 0.8 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_38", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_38", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L.json index 9eba89e942..9d9e62d282 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL A2L.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL A2L", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL A2L", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json index 5bfe6de92a..d500051bb1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.2 nozzle.json @@ -1,186 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json index 4ac0996ec9..75b221dcd3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C.json index fde942ad58..1ec6730b1a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2C", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2C", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json index a492831a50..f32321f179 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D.json index 6d66995bd5..933953be98 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2D.json @@ -1,136 +1,98 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2D", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2D", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json index 8b0958cf1e..c3d438baa2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP.json index 51ce68a56e..87e11db490 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2DP.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2DP", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2DP", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json index 44c1ea4df4..e437ccd9f9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S 0.2 nozzle.json @@ -1,140 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S.json index 7ee5ea8d79..9c5648425d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL H2S.json @@ -1,142 +1,114 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL H2S", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL H2S", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json index c412967d43..d178683ef1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.2 nozzle.json @@ -1,177 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json index b5fb8098b8..7c26b3e980 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.6 nozzle.json @@ -1,177 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json index a317e4d5cb..8211ae0b54 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S 0.8 nozzle.json @@ -1,177 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_25", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_25", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S.json index 6b75c8735d..5478a77797 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL P2S.json @@ -1,174 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P2S", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P2S", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1.json index bfb349d52b..6b95f9a597 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X1", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X1", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json index c5fbe05d03..31d3f0f368 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json @@ -1,125 +1,52 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..098b7435e6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C 0.6 nozzle.json @@ -0,0 +1,66 @@ +{ + "type": "filament", + "name": "Bambu PLA Metal @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_28", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C.json index 70816bef29..197e07ca4d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X1C.json @@ -1,130 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X1C", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X1C", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json index d88aa17534..ceb5c15240 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json @@ -1,275 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json index 533a24b7dd..143ca8436f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json @@ -1,272 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D.json index 14469bc7e8..eadce2649f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @BBL X2D.json @@ -1,276 +1,135 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL X2D", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL X2D", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Metal @base.json b/resources/profiles/BBL/filament/Bambu PLA Metal @base.json index 9a12d97f4d..adf2d779e5 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Metal @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Metal @base.json @@ -1,30 +1,27 @@ { - "type": "filament", - "name": "Bambu PLA Metal @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFrKLeE3", - "instantiation": "false", - "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "impact_strength_z": [ - "16.8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFrKLeE3", + "instantiation": "false", + "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "16.8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..63ea4f3754 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.2 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.8 nozzle.json new file mode 100644 index 0000000000..9440a91732 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1 0.8 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1.json new file mode 100644 index 0000000000..245ccd3c3d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..7569bf572c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.2 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.8 nozzle.json new file mode 100644 index 0000000000..fab321d37f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M 0.8 nozzle.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1M 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M.json new file mode 100644 index 0000000000..0577eca47c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A1M.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL A1M", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json index f910eba123..62ebcc0ad4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.2 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "filament_overhang_4_4_speed": [ - "30" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "25" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_overhang_4_4_speed": [ + "30" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "25" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json index 290e941ac8..1da1c1a536 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.6 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_41", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_41", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json index d642e84cfd..e42d908fff 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L 0.8 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L.json index b5ce60acd9..3410271a51 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL A2L.json @@ -1,53 +1,53 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL A2L", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL A2L", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json index 2a4b3a6fa4..2fce1d0a33 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.2 nozzle.json @@ -1,183 +1,90 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.6 nozzle.json new file mode 100644 index 0000000000..54866db466 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.6 nozzle.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2C 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_42", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..88ab702e3e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C 0.8 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_43", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C.json index a53085235d..8a01b018c3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2C.json @@ -1,182 +1,117 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2C", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle", - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Pure @BBL H2C", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json index d3b7f06b97..e30e6203b4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.2 nozzle.json @@ -1,171 +1,70 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..8126977f4b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.6 nozzle.json @@ -0,0 +1,107 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_44", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json index a26b9ba6b3..aa981c5177 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D 0.8 nozzle.json @@ -1,169 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D.json index 0d9e3429b2..002589887f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2D.json @@ -1,168 +1,90 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2D", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2D", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json index 1b87e764ab..27c1be9d5f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.2 nozzle.json @@ -1,171 +1,66 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..66a86f93ae --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_45", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json index d4148f9f02..dc62f9cecc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP 0.8 nozzle.json @@ -1,169 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP.json index f9ecfa7a20..516cb30a90 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2DP.json @@ -1,168 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2DP", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Pure @BBL H2DP", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json index ad2e498940..1206f03c01 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.2 nozzle.json @@ -1,171 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..9a14fb210c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.6 nozzle.json @@ -0,0 +1,113 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_46", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..a780734dc8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S 0.8 nozzle.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_47", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S.json index dccdd17135..a3ce5df6ea 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL H2S.json @@ -1,171 +1,101 @@ { - "type": "filament", - "name": "Bambu PLA Pure @BBL H2S", - "inherits": "Bambu PLA Pure @base", - "from": "system", - "setting_id": "GFSA19_18", - "instantiation": "true", - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Pure @BBL H2S", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_18", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..9c77055180 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.2 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_23", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.8 nozzle.json new file mode 100644 index 0000000000..18d8fd4a8a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P 0.8 nozzle.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P1P 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_24", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P.json new file mode 100644 index 0000000000..ff2ff52185 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P1P.json @@ -0,0 +1,87 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P1P", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_25", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.2 nozzle.json new file mode 100644 index 0000000000..053c0cc82a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.2 nozzle.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.4 nozzle.json new file mode 100644 index 0000000000..cf2c8c5584 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.4 nozzle.json @@ -0,0 +1,106 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P2S 0.4 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_27", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..081ae17a81 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.6 nozzle.json @@ -0,0 +1,105 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..51b2957e47 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL P2S 0.8 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..c86ce1f957 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.2 nozzle.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_30", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.8 nozzle.json new file mode 100644 index 0000000000..8598235140 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C 0.8 nozzle.json @@ -0,0 +1,73 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_31", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C.json new file mode 100644 index 0000000000..95fec82c2f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X1C.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X1C", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_32", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.2 nozzle.json new file mode 100644 index 0000000000..32120fd0c8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.2 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_33", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.4 nozzle.json new file mode 100644 index 0000000000..b6079ea5d2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.4 nozzle.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_34", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.6 nozzle.json new file mode 100644 index 0000000000..358b0ff624 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.6 nozzle.json @@ -0,0 +1,142 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X2D 0.6 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_35", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..73a363cfab --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @BBL X2D 0.8 nozzle.json @@ -0,0 +1,116 @@ +{ + "type": "filament", + "name": "Bambu PLA Pure @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Pure @base", + "from": "system", + "setting_id": "GFSA19_36", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Pure @base.json b/resources/profiles/BBL/filament/Bambu PLA Pure @base.json index f947b2efaa..78d099c98b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Pure @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Pure @base.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PLA Pure @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFTHDCqA", - "instantiation": "false", - "filament_cost": [ - "21.99" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Pure @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFTHDCqA", + "instantiation": "false", + "filament_cost": [ + "16.99" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json index 0e8d593d3c..5072942f14 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1.json index 4e05663ee9..bfb8d47b04 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A1", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A1", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json index 5b68a42896..e70a76f872 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M.json index 3fffe5cdd4..06f8c99d79 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A1M", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A1M", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json index 3f6fb8e7b7..7fe2facbff 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.2 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json index d2dec88c9f..0860d194dc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.4 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json index 6124848c0f..d082cd0f9e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.6 nozzle.json @@ -1,53 +1,53 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_33", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_33", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json index ee0d0c82cf..fa256f250f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL A2L 0.8 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_34", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_34", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json index 3257a921d8..5f6ac11da9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.2 nozzle.json @@ -1,207 +1,118 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json index f5903cea1f..d738fa5afd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C 0.4 nozzle.json @@ -1,207 +1,149 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C.json index e46f139763..e690d6b168 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2C.json @@ -1,208 +1,150 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2C", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_23", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2C", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json index 545ea517eb..c14f4c2f2b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D 0.2 nozzle.json @@ -1,140 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D.json index 2d1698855d..991a51de13 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2D.json @@ -1,160 +1,116 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2D", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.02" - ], - "counter_coef_3": [ - "-0.01" - ], - "counter_limit_min": [ - "-0.05" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2D", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_min": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json index 609e1f2707..7a619beb01 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP 0.2 nozzle.json @@ -1,140 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP.json index f161206d68..3a26b9d69e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2DP.json @@ -1,160 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2DP", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.02" - ], - "counter_coef_3": [ - "-0.01" - ], - "counter_limit_min": [ - "-0.05" - ], - "counter_limit_max": [ - "0.05" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2DP", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.02" + ], + "counter_coef_3": [ + "-0.01" + ], + "counter_limit_max": [ + "0.05" + ], + "counter_limit_min": [ + "-0.05" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json index 055130de7d..ad5e9778c7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S 0.2 nozzle.json @@ -1,140 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_min": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "hole_limit_max": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S.json index 5b678d971f..6221528724 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL H2S.json @@ -1,142 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL H2S", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL H2S", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_min": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "hole_limit_max": [ + "0.1261" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json index c6450cc408..3600a41bbb 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.2 nozzle.json @@ -1,177 +1,96 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json index 061877363a..71b9f5522b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.6 nozzle.json @@ -1,177 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_26", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4" + ], + "filament_wipe": [ + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json index 3584dbf145..95374a8d59 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S 0.8 nozzle.json @@ -1,177 +1,112 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_27", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "filament_wipe": [ + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S.json index 0ad5711704..a650da3329 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL P2S.json @@ -1,177 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P2S", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "80" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P2S", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "80" + ], + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4" + ], + "filament_wipe": [ + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1.json index ac5ed481f2..2f8703e79d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X1", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X1", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json index 4263063102..1c1a4ea93f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json @@ -1,125 +1,52 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C.json index f0440d3ece..1d409b3705 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X1C.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X1C", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X1C", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json index 280a747d47..25cef68be3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json @@ -1,302 +1,149 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_13", + "instantiation": "true", + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json index 2cc9b50bb7..2ff4aa3612 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json @@ -1,302 +1,163 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "200", - "200", - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_14", + "instantiation": "true", + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D.json index 0d10764e68..909d2120be 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @BBL X2D.json @@ -1,303 +1,164 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL X2D", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_20", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "200", - "200", - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0036" - ], - "counter_coef_3": [ - "-0.0218" - ], - "counter_limit_max": [ - "0.0682" - ], - "counter_limit_min": [ - "-0.0218" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0037" - ], - "hole_coef_3": [ - "0.1261" - ], - "hole_limit_max": [ - "0.1261" - ], - "hole_limit_min": [ - "0.0336" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL X2D", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_20", + "instantiation": "true", + "counter_coef_2": [ + "0.0036" + ], + "counter_coef_3": [ + "-0.0218" + ], + "counter_limit_max": [ + "0.0682" + ], + "counter_limit_min": [ + "-0.0218" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0037" + ], + "hole_coef_3": [ + "0.1261" + ], + "hole_limit_max": [ + "0.1261" + ], + "hole_limit_min": [ + "0.0336" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk @base.json b/resources/profiles/BBL/filament/Bambu PLA Silk @base.json index da20a689ee..8c5b125548 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk @base.json @@ -1,45 +1,45 @@ { - "type": "filament", - "name": "Bambu PLA Silk @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFEGNJD4", - "instantiation": "false", - "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "impact_strength_z": [ - "4.6" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFEGNJD4", + "instantiation": "false", + "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "4.6" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json index c7780b06d6..d8b23125e6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1.json index ad3d18d919..568c97495e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A1", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A1", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json index 25a61e7b69..3255f3d44d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M.json index 2317485b5c..5fa8cf6301 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A1M.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A1M", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A1M", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json index 92f6c76bc0..9cc7845814 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json index 30f3feec05..0347bce2ac 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.4 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json index 4f9eeba4ba..b04c94cbab 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.6 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_35", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_35", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json index 2b09d71fe9..d25680f000 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL A2L 0.8 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_36", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_36", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json index 558486b5d4..6d0f939e60 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.2 nozzle.json @@ -1,189 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json index 3773cbe45d..40b37f32b9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.4 nozzle.json @@ -1,189 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "2", - "2" - ], - "filament_ramming_travel_time_nc": [ - "2", - "2" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "2", + "2", + "2" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..4d460cde49 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C 0.8 nozzle.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_40", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "2", + "2" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C.json index d2f8d19124..e3a787b51c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2C.json @@ -1,190 +1,126 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2C", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "2", - "2" - ], - "filament_ramming_travel_time_nc": [ - "2", - "2" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2C", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "2", + "2", + "2" + ], + "filament_ramming_travel_time_nc": [ + "2", + "2", + "2" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json index 65770e0167..80791f03c7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.2 nozzle.json @@ -1,146 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..8c97969bf2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.6 nozzle.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_41", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..f8508cd0f9 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D 0.8 nozzle.json @@ -0,0 +1,111 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_42", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D.json index 9ec6409c7e..a1e9d5a6a9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2D.json @@ -1,148 +1,96 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2D", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2D", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json index ae9a3c0354..6ef42bcf5f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.2 nozzle.json @@ -1,146 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..acb22ba23a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,107 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_43", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..a4b9e799a4 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,107 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_44", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP.json index cc048f4ec3..cba3b52ae0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2DP.json @@ -1,148 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2DP", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2DP", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json index 1353b51526..b1bf42971c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.2 nozzle.json @@ -1,146 +1,81 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..8868530a19 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.6 nozzle.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_45", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..7e3270c32a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S 0.8 nozzle.json @@ -0,0 +1,109 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_46", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S.json index 7e46d5ca0f..7d143d2360 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL H2S.json @@ -1,148 +1,111 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL H2S", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL H2S", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json index 8ae8d24e3c..81c2083b09 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_04", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..ede41b7ea6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P 0.6 nozzle.json @@ -0,0 +1,67 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_30", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P.json index 89c2d0177e..19a3e6a26a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1P.json @@ -1,142 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P1P", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_03", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P1P", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_03", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..624d96182b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.4 nozzle.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P1S 0.4 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_29", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "30" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "30" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.6 nozzle.json new file mode 100644 index 0000000000..da488c277e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P1S 0.6 nozzle.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P1S 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_28", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "30" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "30" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json index 64451175bd..05f3286f11 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.2 nozzle.json @@ -1,183 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json index eab7affb62..c5a9dd880a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.6 nozzle.json @@ -1,180 +1,105 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "0.4", - "0.4" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_z_hop": [ + "0.4", + "0.4", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json index b891ac0051..1285d9a709 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S 0.8 nozzle.json @@ -1,180 +1,83 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_26", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S.json index 964f180227..027b694a64 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL P2S.json @@ -1,183 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL P2S", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "80" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL P2S", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "80" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1.json index ccdcc80dcb..db84ef6e8f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X1", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X1", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json index 8b8a12d926..223de5df5f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json @@ -1,131 +1,58 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..99696df05a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C 0.6 nozzle.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_27", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "30" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "nil", + "0.6" + ], + "filament_retraction_speed": [ + "nil", + "30" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C.json index 313a55cdce..2a800db9e1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X1C.json @@ -1,136 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X1C", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X1C", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json index df46de0024..cab7d6cad2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json @@ -1,284 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json index ffbd1f363e..a8bec02327 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json @@ -1,281 +1,142 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "200", - "200", - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "3", - "3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "3", + "3", + "3" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..d9f3f30add --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D 0.8 nozzle.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_47", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200", + "200" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D.json index 419eabdc03..b43c1d1844 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @BBL X2D.json @@ -1,282 +1,142 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @BBL X2D", - "inherits": "Bambu PLA Silk+ @base", - "from": "system", - "setting_id": "GFSA06_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "200", - "200", - "200", - "200" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Silk+ @BBL X2D", + "inherits": "Bambu PLA Silk+ @base", + "from": "system", + "setting_id": "GFSA06_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Silk+ @base.json b/resources/profiles/BBL/filament/Bambu PLA Silk+ @base.json index 17a7e21b79..6714b35375 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Silk+ @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Silk+ @base.json @@ -1,39 +1,36 @@ { - "type": "filament", - "name": "Bambu PLA Silk+ @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFUanySo", - "instantiation": "false", - "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "8.5" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Silk+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFUanySo", + "instantiation": "false", + "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "8.5" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1.json index 79e55a3169..04ac842952 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL A1", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL A1", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1M.json index 2fa3ae04de..e961b1fcd6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL A1M", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL A1M", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json index 8e133e78f2..2f0acae25a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.6 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json index 4b7c37e987..a9e854d9b6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L 0.8 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L.json index e3d2d6b7a1..33ace09427 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL A2L.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL A2L", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL A2L", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json index 7cdd1dd269..d635be71a7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C.json index 8be484d1e4..59f9880889 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL H2C", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL H2C", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2D.json index daa0c39db1..452a69ed7d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2D.json @@ -1,136 +1,98 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL H2D", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL H2D", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2DP.json index 1456f4353b..8339de1440 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2DP.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL H2DP", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL H2DP", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2S.json index 3f5a87a026..53ce3da06c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL H2S.json @@ -1,145 +1,117 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL H2S", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL H2S", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json index ce386a6a07..8368e4c558 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.6 nozzle.json @@ -1,177 +1,93 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.6", - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.6", + "0.6", + "0.6" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json index 58eac67281..65cba64fe1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S 0.8 nozzle.json @@ -1,174 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S.json index 6edd2b7bbd..2aea67b9b3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL P2S.json @@ -1,174 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL P2S", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL P2S", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1.json index e5c703ee07..b527db03e4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL X1", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL X1", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..8edff08abf --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C 0.6 nozzle.json @@ -0,0 +1,66 @@ +{ + "type": "filament", + "name": "Bambu PLA Sparkle @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_16", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C.json index 320f07764c..b971229939 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X1C.json @@ -1,130 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL X1C", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL X1C", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json index 9f041ca69d..8899893ddb 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json @@ -1,272 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D.json index 5bf2d292d6..d002d0e6ec 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @BBL X2D.json @@ -1,276 +1,135 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL X2D", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL X2D", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Sparkle @base.json b/resources/profiles/BBL/filament/Bambu PLA Sparkle @base.json index 6ecad9584e..d0a645f165 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Sparkle @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Sparkle @base.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFDxfPgH", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "10.3" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFDxfPgH", + "instantiation": "false", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "10.3" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json index 91c2a7951b..f18a4df2c8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1.json index 92cfd83431..f443261748 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A1", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A1", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json index b3466ee3c9..fe8e01f774 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M.json index a95888721c..35183f713b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A1M.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A1M", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A1M", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json index 048ab331a3..420b7a91a9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L 0.2 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L.json index c223f15301..cb25cff6ca 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL A2L.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL A2L", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL A2L", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json index bcb81af9f8..afc18f86e9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.2 nozzle.json @@ -1,186 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json index 2f63485604..395e917d6d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C 0.4 nozzle.json @@ -1,204 +1,146 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.024" - ], - "counter_limit_max": [ - "0.1" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2041" - ], - "hole_limit_min": [ - "0.08" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.024" + ], + "counter_limit_max": [ + "0.1" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.2041" + ], + "hole_limit_min": [ + "0.08" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C.json index 99a43532bd..687135999b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2C.json @@ -1,205 +1,147 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2C", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.024" - ], - "counter_limit_max": [ - "0.1" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2041" - ], - "hole_limit_min": [ - "0.08" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2C", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.024" + ], + "counter_limit_max": [ + "0.1" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.2041" + ], + "hole_limit_min": [ + "0.08" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json index 4b45f4fe05..2f2c0fac71 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D.json index c5770de509..e7a65b1697 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2D.json @@ -1,154 +1,116 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2D", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_06", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.024" - ], - "counter_limit_max": [ - "0.1" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2041" - ], - "hole_limit_min": [ - "0.08" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2D", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_06", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.024" + ], + "counter_limit_max": [ + "0.1" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.2041" + ], + "hole_limit_min": [ + "0.08" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json index f6bd13e744..18b446e8db 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP.json index a0e115bff0..3b89d63f14 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2DP.json @@ -1,154 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2DP", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_15", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.024" - ], - "counter_limit_max": [ - "0.1" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0081" - ], - "hole_coef_3": [ - "0.2041" - ], - "hole_limit_min": [ - "0.08" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2DP", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_15", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.024" + ], + "counter_limit_max": [ + "0.1" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0081" + ], + "hole_coef_3": [ + "0.2041" + ], + "hole_limit_min": [ + "0.08" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json index c5b677c0f2..935d868854 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S 0.2 nozzle.json @@ -1,140 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S.json index de820209ad..0f202955c9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL H2S.json @@ -1,142 +1,114 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL H2S", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL H2S", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json index 4360b92608..6f9359930c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S 0.2 nozzle.json @@ -1,171 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S.json index a719c24f79..026e245fe7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL P2S.json @@ -1,173 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL P2S", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL P2S", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1.json index 44a3a8ccd3..1b357860f3 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X1", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X1", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json index 4fc157f4a2..c7afdd6a60 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json @@ -1,125 +1,52 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C.json index 5d2d8d305a..f250ad8e99 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X1C.json @@ -1,131 +1,58 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X1C", - "renamed_from": "Bambu PLA Impact @BBL X1C", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X1C", + "renamed_from": "Bambu PLA Impact @BBL X1C", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json index e47ebf91a4..783771d07e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json @@ -1,275 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json index fb61fc0555..6f3492d94c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json @@ -1,272 +1,99 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D.json index d6a6c3e64a..712763b1b7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @BBL X2D.json @@ -1,273 +1,132 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL X2D", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL X2D", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough @base.json b/resources/profiles/BBL/filament/Bambu PLA Tough @base.json index 09b71a842d..ef45e53c17 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough @base.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu PLA Tough @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFaQMgRH", - "instantiation": "false", - "filament_cost": [ - "28.99" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "impact_strength_z": [ - "12.3" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFaQMgRH", + "instantiation": "false", + "filament_cost": [ + "28.99" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_scarf_seam_type": [ + "none" + ], + "impact_strength_z": [ + "12.3" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json index e9f3e10be7..e99518ff40 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_00", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_00", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1.json index 226e372557..c87e1b3c59 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A1", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_01", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A1", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_01", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json index 1cf0b12abf..2b8ab78db2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_02", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_02", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M.json index 7367eb1c3c..9a61607c47 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A1M.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A1M", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_03", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A1M", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_03", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json index 1de9892a2a..3d95f85ff1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json index 31c694aeb9..3163c3c906 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.4 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A2L 0.4 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A2L 0.4 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json index 8d6f6b9258..fb6e589539 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.6 nozzle.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_47", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_47", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json index 3272f7c892..0d03c808c2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL A2L 0.8 nozzle.json @@ -1,59 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_48", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "245" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_48", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "245" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json index 4fdd5b2f3c..4dddeede4f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.2 nozzle.json @@ -1,180 +1,91 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_21", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json index c33c99a53f..8ea86729b7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.6 nozzle.json @@ -1,192 +1,134 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2C 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_22", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_3": [ - "0.18" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2C 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_22", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_3": [ + "0.18" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json index 903335f325..e1c4a1853f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C 0.8 nozzle.json @@ -1,192 +1,119 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2C 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_23", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_3": [ - "0.18" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_23", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_3": [ + "0.18" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C.json index a12d2cd987..ee7aa68a18 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2C.json @@ -1,192 +1,134 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2C", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_24", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_3": [ - "0.18" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2C", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_24", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_3": [ + "0.18" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json index bfb1b063ff..b0b1356406 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.2 nozzle.json @@ -1,162 +1,66 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json index 9e55dc49ad..a55438aa3a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.6 nozzle.json @@ -1,174 +1,105 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2D 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_05", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_05", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json index 2d8fdd75cc..84b80f79a7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D 0.8 nozzle.json @@ -1,162 +1,94 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_06", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D.json index 28fc29155d..23aee02dfc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2D.json @@ -1,174 +1,105 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2D", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_07", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2D", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_07", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json index b2d1c4376a..c8c5f19e1c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.2 nozzle.json @@ -1,162 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json index 9481fd8afe..8b046bf504 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.6 nozzle.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_09", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_09", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json index 6fe54ee06b..d35ab9dd0c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP 0.8 nozzle.json @@ -1,162 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP.json index e0a4c9e780..5e85337111 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2DP.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2DP", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_11", - "instantiation": "true", - "counter_coef_2": [ - "0.003" - ], - "counter_coef_3": [ - "0.01" - ], - "counter_limit_max": [ - "0.088" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "hole_coef_3": [ - "0.18" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2DP", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_11", + "instantiation": "true", + "counter_coef_2": [ + "0.003" + ], + "counter_coef_3": [ + "0.01" + ], + "counter_limit_max": [ + "0.088" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_3": [ + "0.18" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json index 900e80fcfd..d1f203959e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.2 nozzle.json @@ -1,134 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json index a1ffa854ef..8023fe75fc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.6 nozzle.json @@ -1,134 +1,103 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2S 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json index 6511b6677e..949c8e6452 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S 0.8 nozzle.json @@ -1,134 +1,90 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2S 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S.json index f28accada3..4dcda1d0d8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL H2S.json @@ -1,134 +1,103 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL H2S", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL H2S", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json index 9762d53285..22e089b33a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.2 nozzle.json @@ -1,171 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json index c38094415a..a6b1d03f76 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.6 nozzle.json @@ -1,171 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_26", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_26", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json index 2524702b32..4315da6996 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S 0.8 nozzle.json @@ -1,171 +1,88 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_27", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S.json index b2cc2849d5..6454b9885f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL P2S.json @@ -1,171 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P2S", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_28", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P2S", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1.json index cb2b3784b6..80e7689736 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1.json @@ -1,133 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X1", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_29", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X1", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json index 3131968642..4e7fed4867 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_30", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_30", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..4eac2ec84a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.6 nozzle.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_37", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json index fdc21498a0..7f7ede7a6f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_31", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_31", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C.json index 35812c70ea..47ef6f0b56 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X1C.json @@ -1,127 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X1C", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_32", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X1C", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_32", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json index 00908fcc1b..be2f3c593b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json @@ -1,275 +1,134 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "1.0084", - "1.0084", - "1.0084", - "1.0084" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "1.0084", + "1.0084", + "1.0084", + "1.0084" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json index 541368a581..d520d07e28 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1.0084", - "1.0084", - "1.0084", - "1.0084" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.0084", + "1.0084", + "1.0084", + "1.0084", + "1.0084", + "1.0084" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..bf000bd0b1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D 0.8 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_52", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1.0084", + "1.0084", + "1.0084", + "1.0084" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D.json index aadd4ae6db..f10ee7baa9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @BBL X2D.json @@ -1,273 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL X2D", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1.0084", - "1.0084", - "1.0084", - "1.0084" - ], - "filament_max_volumetric_speed": [ - "21", - "21", - "21", - "21" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "245" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "245", - "245", - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245", - "245", - "245" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Tough+ @BBL X2D", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1.0084", + "1.0084", + "1.0084", + "1.0084", + "1.0084", + "1.0084" + ], + "filament_max_volumetric_speed": [ + "21", + "21", + "21", + "21", + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "245" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245", + "245", + "245", + "245", + "245" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Tough+ @base.json b/resources/profiles/BBL/filament/Bambu PLA Tough+ @base.json index ccc534d02f..3aeaf90be1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Tough+ @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Tough+ @base.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF342jVN", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "80" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.21" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_change_length": [ - "5" - ], - "filament_prime_volume": [ - "30" - ], - "impact_strength_z": [ - "13.8" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OF342jVN", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "80" + ], + "filament_change_length": [ + "5" + ], + "filament_cost": [ + "20.99" + ], + "filament_density": [ + "1.21" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_prime_volume": [ + "30" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "13.8" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json index 8623b0876b..8031d53b68 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json index 08a0412f63..b8aec9875a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1 0.8 nozzle.json @@ -1,42 +1,42 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1.json index 64e2e08784..83de977eed 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json index 7733c402fa..06761f55e9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1M 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1M 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json index e55d837499..95056fe081 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M 0.8 nozzle.json @@ -1,42 +1,42 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1M 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1M 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M.json index 8e95a39c60..1838161dab 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A1M.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A1M", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_09", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_retract_before_wipe": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A1M", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_09", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_retract_before_wipe": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json index d485c9ce20..21d9e8ee0d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A2L 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "filament_overhang_4_4_speed": [ - "35" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "25" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A2L 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_overhang_4_4_speed": [ + "35" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json index 0944ef86cf..4e3a0a6b0c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.6 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_42", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_42", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json index 452a5fbd73..36e01fc851 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L 0.8 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L.json index 0f59f4d269..5833c872c0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL A2L.json @@ -1,59 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL A2L", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_20", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_retract_before_wipe": [ - "0" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL A2L", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json index 1bf9f40acc..743a5d09aa 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.2 nozzle.json @@ -1,189 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2C 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_30", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2C 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.6 nozzle.json new file mode 100644 index 0000000000..bf8d33de15 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.6 nozzle.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2C 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_43", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..7c19dbe1a7 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C 0.8 nozzle.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_44", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C.json index 1a4a5607ab..6a059d251b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2C.json @@ -1,191 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2C", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_29", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle", - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2C", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json index 2f9bba7021..f955f7d6cc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.2 nozzle.json @@ -1,131 +1,66 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2D 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2D 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..595316f8b8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.6 nozzle.json @@ -0,0 +1,107 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_45", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json index f8a994f832..6fd684b73d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D 0.8 nozzle.json @@ -1,132 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D.json index f2bfcc1efb..ccfd220ee1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2D.json @@ -1,131 +1,93 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2D", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2D", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "1" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json index 413e9ec1d4..4463cff56e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2DP 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_33", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2DP 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_33", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..d4e2e52372 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,97 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_46", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json index 0bfcba025f..995c2349d4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP 0.8 nozzle.json @@ -1,132 +1,76 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_32", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_32", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP.json index 150f5e1da3..eb7ff81269 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2DP.json @@ -1,131 +1,76 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2DP", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_31", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2DP", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_31", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\nM145 P0 ; set airduct mode to cooling mode\nM142 P1 R35 S40 U0.3 V0.5 ; set chamber autocooling" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json index 7ea5aedb49..8ee80929b7 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.2 nozzle.json @@ -1,143 +1,90 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2S 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2S 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..264712fbc9 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.6 nozzle.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_47", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_change_length": [ + "4" + ], + "filament_prime_volume": [ + "30" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..398d122abe --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S 0.8 nozzle.json @@ -0,0 +1,115 @@ +{ + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_48", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_change_length": [ + "4" + ], + "filament_prime_volume": [ + "30" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S.json index d0e6f37a75..5a1f621995 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL H2S.json @@ -1,146 +1,116 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL H2S", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_15", - "instantiation": "true", - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL H2S", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_15", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json index 99a44c1be4..00bc9dac11 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.2 nozzle.json @@ -1,143 +1,74 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json index 95e0eb7a6a..670d60514e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P 0.8 nozzle.json @@ -1,144 +1,75 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P1P 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL P1P 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P.json index c9271463e7..7ae191d7af 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P1P.json @@ -1,143 +1,74 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P1P", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL P1P", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json index 076db70bc1..f4d864f29e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.2 nozzle.json @@ -1,180 +1,97 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P2S 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL P2S 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json index bb50b18639..c09cce8eaf 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.4 nozzle.json @@ -1,178 +1,89 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P2S 0.4 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_21", - "instantiation": "true", - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL P2S 0.4 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_21", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json index 505f25435e..2725f38791 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.6 nozzle.json @@ -1,177 +1,98 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "50", - "50" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "filament_retraction_speed": [ + "50", + "50", + "50" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json index 97a3b7a1fa..fda701016e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL P2S 0.8 nozzle.json @@ -1,174 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json index 6f85e21a93..56c2cb1916 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.2 nozzle.json @@ -1,128 +1,59 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X1C 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL X1C 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json index c2d3a11dfb..41f54caeb0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json @@ -1,132 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_01", - "instantiation": "true", - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C.json index d615e497f8..cfe114c228 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X1C.json @@ -1,129 +1,60 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X1C", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_00", - "instantiation": "true", - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "filament_retract_before_wipe": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL X1C", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_00", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retract_before_wipe": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json index 08c0253238..9ff9f3c7c9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json @@ -1,275 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_25", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "5", - "5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "50", - "50" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "0", - "0", - "0", - "0" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "nozzle_temperature": [ - "250", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "250", - "220", - "220", - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "nil", + "5", + "5" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "50", + "50" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "250", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "250", + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json index 9bf012934e..8fbd944596 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json @@ -1,276 +1,151 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_26", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "0", - "0", - "0", - "0" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_26", + "instantiation": "true", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json index 536cdf9cb1..2efa9652d0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json @@ -1,275 +1,150 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_27", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "0", - "0", - "0", - "0" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] + "type": "filament", + "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json index 2372de3573..e8bba0ada4 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json @@ -1,275 +1,122 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", - "inherits": "Bambu PLA Translucent @base", - "from": "system", - "setting_id": "GFSA17_28", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "0", - "0", - "0", - "0" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA Translucent @base", + "from": "system", + "setting_id": "GFSA17_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_before_wipe": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Translucent @base.json b/resources/profiles/BBL/filament/Bambu PLA Translucent @base.json index ada0a501fc..4f56335925 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Translucent @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Translucent @base.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Bambu PLA Translucent @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFFbSnCD", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.22" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Translucent @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFFbSnCD", + "instantiation": "false", + "filament_cost": [ + "15.99" + ], + "filament_density": [ + "1.22" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1.json index f958bca57e..f72128847a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL A1", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL A1", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1M.json index 9e4b22e6b2..545faea7b9 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL A1M", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL A1M", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json index 787b2451b6..50c03e0547 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.6 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_28", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json index 05c3a08907..0b98e00740 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L 0.8 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_29", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_29", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L.json index 7cef051eef..d5f3807b40 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL A2L.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL A2L", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL A2L", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json index 08a53b3639..2165790d3a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C 0.4 nozzle.json @@ -1,186 +1,128 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C.json index b776afff56..1d718aa068 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2C.json @@ -1,187 +1,129 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2C", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_15", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2C", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_15", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json index edaa93a997..6b91602197 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D 0.8 nozzle.json @@ -1,134 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2D 0.8 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D.json index 706f9c88d9..de485c58fa 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2D.json @@ -1,135 +1,91 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2D", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2D", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json index fc33dd9654..5fb03cf144 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP 0.8 nozzle.json @@ -1,134 +1,79 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2DP 0.8 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP.json index 4891afcd12..da0d1f7d95 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2DP.json @@ -1,135 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2DP", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2DP", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2S.json index 06f54cf7a5..8d45019fdd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL H2S.json @@ -1,142 +1,108 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL H2S", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL H2S", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..abb60dfc31 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P 0.6 nozzle.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "Bambu PLA Wood @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_23", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P.json index 646e929ab3..16208882d0 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P1P.json @@ -1,145 +1,95 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL P1P", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL P1P", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json index a92009e5f3..4c504bbafd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.6 nozzle.json @@ -1,171 +1,87 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json index 85ae8f3ad5..d7c9a22f24 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S 0.8 nozzle.json @@ -1,171 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL P2S 0.8 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S.json index 1131d01f2d..5af85c28bf 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL P2S.json @@ -1,171 +1,82 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL P2S", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL P2S", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1.json index f2114546da..7d6e298556 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL X1", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL X1", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..ffde82d2c1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.6 nozzle.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Bambu PLA Wood @BBL X1C 0.6 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_20", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json index 70f575a7c1..977ebeb89d 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json @@ -1,121 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C.json index 23f90e8f83..7036b20490 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X1C.json @@ -1,124 +1,73 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL X1C", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL X1C", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json index 4aaed174be..f46c1cfd3c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json @@ -1,272 +1,139 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1", - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1", - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D.json index 39592384b1..e1c15f187c 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @BBL X2D.json @@ -1,273 +1,140 @@ { - "type": "filament", - "name": "Bambu PLA Wood @BBL X2D", - "inherits": "Bambu PLA Wood @base", - "from": "system", - "setting_id": "GFSA16_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "0.4", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @BBL X2D", + "inherits": "Bambu PLA Wood @base", + "from": "system", + "setting_id": "GFSA16_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "0.4", + "nil", + "0.4", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA Wood @base.json b/resources/profiles/BBL/filament/Bambu PLA Wood @base.json index 3ba638569b..74ae15237b 100644 --- a/resources/profiles/BBL/filament/Bambu PLA Wood @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA Wood @base.json @@ -1,38 +1,35 @@ { - "type": "filament", - "name": "Bambu PLA Wood @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFMjtqTC", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.21" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "5.6" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA Wood @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFMjtqTC", + "instantiation": "false", + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.21" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "5.6" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json index f1b5154e11..7b86bec58f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1 0.8 nozzle.json @@ -1,51 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A1 0.8 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A1 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1.json index ef5bca4197..f27abc0df2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A1", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A1", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json index 0d4a58004b..af10570429 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M 0.8 nozzle.json @@ -1,51 +1,51 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A1M 0.8 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A1M 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M.json index a29ff89a84..06b3e679e2 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A1M.json @@ -1,50 +1,50 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A1M", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A1M", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json index b7a7b77290..f0b60f5564 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.6 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A2L 0.6 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_25", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A2L 0.6 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_25", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json index 9857537218..4e72987fc8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L 0.8 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A2L 0.8 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "230" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A2L 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "230" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L.json index 92e1c027d4..5b9242bdfc 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL A2L.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL A2L", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_20", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_bridge_speed": [ - "50" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_overhang_4_4_speed": [ - "25" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "1" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL A2L", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_bridge_speed": [ + "50" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_overhang_4_4_speed": [ + "25" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "overhang_fan_threshold": [ + "25%" + ], + "override_process_overhang_speed": [ + "1" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json index 46bbb2e021..353bf122ac 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.4 nozzle.json @@ -1,198 +1,120 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_18", - "instantiation": "true", - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "0.0224" - ], - "counter_limit_max": [ - "0.03" - ], - "counter_limit_min": [ - "0.0224" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.1173" - ], - "hole_limit_max": [ - "0.1173" - ], - "hole_limit_min": [ - "0.048" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_18", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_min": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "hole_limit_max": [ + "0.1173" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..b041ea0a2e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C 0.8 nozzle.json @@ -0,0 +1,121 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL H2C 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_26", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C.json index a347580105..0a1cb74fde 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2C.json @@ -1,199 +1,120 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2C", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_17", - "instantiation": "true", - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "0.0224" - ], - "counter_limit_max": [ - "0.03" - ], - "counter_limit_min": [ - "0.0224" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.1173" - ], - "hole_limit_max": [ - "0.1173" - ], - "hole_limit_min": [ - "0.048" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL H2C", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_17", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json index 24b979d574..f2bdb2d88e 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.4 nozzle.json @@ -1,146 +1,111 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2D 0.4 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_08", - "instantiation": "true", - "counter_coef_2": [ - "0.012" - ], - "counter_coef_3": [ - "-0.063" - ], - "counter_limit_max": [ - "0.07" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0103" - ], - "hole_coef_3": [ - "0.1974" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL H2D 0.4 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_08", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.8" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json index 1286e0a222..8e0446d557 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.6 nozzle.json @@ -1,132 +1,111 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2D 0.6 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL H2D 0.6 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_06", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..51397da3a0 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2D 0.8 nozzle.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL H2D 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_27", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json index 556896028c..5a7b4b5592 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.4 nozzle.json @@ -1,146 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2DP 0.4 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_14", - "instantiation": "true", - "counter_coef_2": [ - "0.012" - ], - "counter_coef_3": [ - "-0.063" - ], - "counter_limit_max": [ - "0.07" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hole_coef_2": [ - "-0.0103" - ], - "hole_coef_3": [ - "0.1974" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL H2DP 0.4 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_14", + "instantiation": "true", + "counter_coef_2": [ + "0.012" + ], + "counter_coef_3": [ + "-0.063" + ], + "counter_limit_max": [ + "0.07" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "hole_coef_2": [ + "-0.0103" + ], + "hole_coef_3": [ + "0.1974" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json index b5f6428cd3..693fe62b53 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.6 nozzle.json @@ -1,132 +1,70 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2DP 0.6 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..0abb0fc42b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_prime_volume": [ + "45" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..0d9ecda7af --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.6 nozzle.json @@ -0,0 +1,113 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL H2S 0.6 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_29", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..24ca8956d1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S 0.8 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL H2S 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_30", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S.json index 48a25e7369..dc6c4235a8 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL H2S.json @@ -1,133 +1,101 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL H2S", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL H2S", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_07", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json index 7f0eef288d..7d10faad60 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.4 nozzle.json @@ -1,171 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL P2S 0.4 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL P2S 0.4 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_12", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_min": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "hole_limit_max": [ + "0.1173" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json index a31825ef69..86e583ec10 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.6 nozzle.json @@ -1,172 +1,100 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL P2S 0.6 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL P2S 0.6 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_09", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..d18a238e59 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,102 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL P2S 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_32", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json index 9958beef7c..4222f682b1 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json @@ -1,129 +1,76 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL X1C 0.8 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_02", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL X1C 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C.json index 006f9ec2f3..44d4745a0a 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X1C.json @@ -1,125 +1,68 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL X1C", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL X1C", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.975" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "15", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json index f3b1a6b992..66eb0e92b6 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json @@ -1,296 +1,155 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "0.0224" - ], - "counter_limit_max": [ - "0.03" - ], - "counter_limit_min": [ - "0.0224" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15", - "15", - "15" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.1173" - ], - "hole_limit_max": [ - "0.1173" - ], - "hole_limit_min": [ - "0.048" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_16", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15", + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..b8bfb13c3f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D 0.8 nozzle.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Bambu PLA-CF @BBL X2D 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_31", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D.json index 6da39af155..c2d777dffd 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @BBL X2D.json @@ -1,297 +1,131 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL X2D", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "0.0224" - ], - "counter_limit_max": [ - "0.03" - ], - "counter_limit_min": [ - "0.0224" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "hole_coef_2": [ - "-0.0028" - ], - "hole_coef_3": [ - "0.1173" - ], - "hole_limit_max": [ - "0.1173" - ], - "hole_limit_min": [ - "0.048" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PLA-CF @BBL X2D", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_15", + "instantiation": "true", + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "0.0224" + ], + "counter_limit_max": [ + "0.03" + ], + "counter_limit_min": [ + "0.0224" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "hole_coef_2": [ + "-0.0028" + ], + "hole_coef_3": [ + "0.1173" + ], + "hole_limit_max": [ + "0.1173" + ], + "hole_limit_min": [ + "0.048" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PLA-CF @base.json b/resources/profiles/BBL/filament/Bambu PLA-CF @base.json index 5567889cae..89dafe790f 100644 --- a/resources/profiles/BBL/filament/Bambu PLA-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PLA-CF @base.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu PLA-CF @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFEswT5W", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "1.22" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "7.8" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "required_nozzle_HRC": [ - "40" - ], - "supertack_plate_temp": [ - "50" - ], - "supertack_plate_temp_initial_layer": [ - "50" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFEswT5W", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "31.99" + ], + "filament_density": [ + "1.22" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "7.8" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp": [ + "50" + ], + "supertack_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json index 48da23e4a8..6e02ac3559 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C 0.4 nozzle.json @@ -1,201 +1,118 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0036" - ], - "counter_coef_3": [ - "-0.0075" - ], - "counter_limit_max": [ - "-0.0975" - ], - "counter_limit_min": [ - "-0.0075" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.1702" - ], - "hole_limit_max": [ - "0.17" - ], - "hole_limit_min": [ - "0.04" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C.json index fa07fa6f21..62785a4973 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2C.json @@ -1,202 +1,119 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL H2C", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0036" - ], - "counter_coef_3": [ - "-0.0075" - ], - "counter_limit_max": [ - "-0.0975" - ], - "counter_limit_min": [ - "-0.0075" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.1702" - ], - "hole_limit_max": [ - "0.17" - ], - "hole_limit_min": [ - "0.04" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL H2C", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2D.json index 5bed5e35c6..b33cf373bd 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2D.json @@ -1,133 +1,93 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL H2D", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL H2D", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2DP.json index b3afbb85a3..6e1e7d2e3e 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL H2DP", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL H2DP", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2S.json index 758ccec8a3..265f402207 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL H2S.json @@ -1,130 +1,100 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL H2S", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL H2S", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_min": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_min": [ + "0.04" + ], + "hole_limit_max": [ + "0.17" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL P2S.json index 452adc0f10..fca2ea793b 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL P2S.json @@ -1,176 +1,100 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL P2S", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_03", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL P2S", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_03", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..e39241b82e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C 0.6 nozzle.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "Bambu PPA-CF @BBL X1C 0.6 nozzle", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_10", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_retraction_length": [ + "nil", + "1.2" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C.json index e102dd285c..3a38733b59 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1C.json @@ -1,130 +1,59 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL X1C", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL X1C", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_retraction_length": [ + "nil", + "1.2" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1E.json index 0d94702ab6..d0ce626589 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL X1E", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_01", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL X1E", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_01", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json index 81b06932d4..ace32ed399 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json @@ -1,296 +1,117 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0036" - ], - "counter_coef_3": [ - "-0.0075" - ], - "counter_limit_max": [ - "-0.0975" - ], - "counter_limit_min": [ - "-0.0075" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.1702" - ], - "hole_limit_max": [ - "0.17" - ], - "hole_limit_min": [ - "0.04" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D.json index b6818e58a5..e05f66fa42 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @BBL X2D.json @@ -1,297 +1,118 @@ { - "type": "filament", - "name": "Bambu PPA-CF @BBL X2D", - "inherits": "Bambu PPA-CF @base", - "from": "system", - "setting_id": "GFSN06_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "counter_coef_2": [ - "-0.0036" - ], - "counter_coef_3": [ - "-0.0075" - ], - "counter_limit_max": [ - "-0.0975" - ], - "counter_limit_min": [ - "-0.0075" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "hole_coef_2": [ - "-0.0051" - ], - "hole_coef_3": [ - "0.1702" - ], - "hole_limit_max": [ - "0.17" - ], - "hole_limit_min": [ - "0.04" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @BBL X2D", + "inherits": "Bambu PPA-CF @base", + "from": "system", + "setting_id": "GFSN06_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "counter_coef_2": [ + "-0.0036" + ], + "counter_coef_3": [ + "-0.0075" + ], + "counter_limit_max": [ + "-0.0975" + ], + "counter_limit_min": [ + "-0.0075" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "hole_coef_2": [ + "-0.0051" + ], + "hole_coef_3": [ + "0.1702" + ], + "hole_limit_max": [ + "0.17" + ], + "hole_limit_min": [ + "0.04" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPA-CF @base.json b/resources/profiles/BBL/filament/Bambu PPA-CF @base.json index 48355afad1..0e3303cb6b 100644 --- a/resources/profiles/BBL/filament/Bambu PPA-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PPA-CF @base.json @@ -1,12 +1,15 @@ { - "type": "filament", - "name": "Bambu PPA-CF @base", - "inherits": "fdm_filament_ppa", - "from": "system", - "filament_id": "OF54B0S0", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "impact_strength_z": [ - "4.3" - ] -} + "type": "filament", + "name": "Bambu PPA-CF @base", + "inherits": "fdm_filament_ppa", + "from": "system", + "filament_id": "OF54B0S0", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_cost": [ + "195.99" + ], + "impact_strength_z": [ + "4.3" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json index 310768f7bb..0f7a14b29f 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C 0.4 nozzle.json @@ -1,201 +1,113 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL H2C 0.4 nozzle", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_03", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "-0.0033" - ], - "counter_limit_max": [ - "0.0036" - ], - "counter_limit_min": [ - "-0.0033" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0033" - ], - "hole_coef_3": [ - "0.1176" - ], - "hole_limit_max": [ - "0.1176" - ], - "hole_limit_min": [ - "0.035" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL H2C 0.4 nozzle", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_03", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "-0.0033" + ], + "counter_limit_max": [ + "0.0036" + ], + "counter_limit_min": [ + "-0.0033" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0033" + ], + "hole_coef_3": [ + "0.1176" + ], + "hole_limit_max": [ + "0.1176" + ], + "hole_limit_min": [ + "0.035" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C.json index 90d3ea985f..14dd27807e 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2C.json @@ -1,202 +1,114 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL H2C", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_04", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.0003" - ], - "counter_coef_3": [ - "-0.0033" - ], - "counter_limit_max": [ - "0.0036" - ], - "counter_limit_min": [ - "-0.0033" - ], - "filament_change_length": [ - "4" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "hole_coef_2": [ - "-0.0033" - ], - "hole_coef_3": [ - "0.1176" - ], - "hole_limit_max": [ - "0.1176" - ], - "hole_limit_min": [ - "0.035" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "temperature_vitrification": [ - "150" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL H2C", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_04", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "-0.0033" + ], + "counter_limit_max": [ + "0.0036" + ], + "counter_limit_min": [ + "-0.0033" + ], + "filament_change_length": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "hole_coef_2": [ + "-0.0033" + ], + "hole_coef_3": [ + "0.1176" + ], + "hole_limit_max": [ + "0.1176" + ], + "hole_limit_min": [ + "0.035" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "temperature_vitrification": [ + "150" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2D.json index 967b382cda..c2be6f2981 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2D.json @@ -1,142 +1,88 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL H2D", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_01", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL H2D", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_01", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "-0.0033" + ], + "counter_limit_max": [ + "0.0036" + ], + "counter_limit_min": [ + "-0.0033" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_prime_volume": [ + "30" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0033" + ], + "hole_coef_3": [ + "0.1176" + ], + "hole_limit_max": [ + "0.1176" + ], + "hole_limit_min": [ + "0.035" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2DP.json index 85a1dcf4db..a18c42afc6 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2DP.json @@ -1,142 +1,61 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL H2DP", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_02", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "counter_coef_2": [ - "0.00565" - ], - "counter_coef_3": [ - "-0.0202" - ], - "counter_limit_max": [ - "0.03" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL H2DP", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_02", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.00565" + ], + "counter_coef_3": [ + "-0.0202" + ], + "counter_limit_max": [ + "0.03" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2S.json index 33c5fdb730..a30b757154 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL H2S.json @@ -1,130 +1,95 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL H2S", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_05", - "instantiation": "true", - "chamber_temperatures": [ - "65" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL H2S", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_05", + "instantiation": "true", + "chamber_temperatures": [ + "65" + ], + "counter_coef_2": [ + "0.0003" + ], + "counter_coef_3": [ + "-0.0033" + ], + "counter_limit_min": [ + "-0.0033" + ], + "counter_limit_max": [ + "0.0036" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_change_length": [ + "4" + ], + "hole_coef_2": [ + "-0.0033" + ], + "hole_coef_3": [ + "0.1176" + ], + "hole_limit_min": [ + "0.035" + ], + "hole_limit_max": [ + "0.1176" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL X1E.json index 0b381700e6..16cf559f1b 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @BBL X1E.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Bambu PPS-CF @BBL X1E", - "inherits": "Bambu PPS-CF @base", - "from": "system", - "setting_id": "GFST02_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @BBL X1E", + "inherits": "Bambu PPS-CF @base", + "from": "system", + "setting_id": "GFST02_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PPS-CF @base.json b/resources/profiles/BBL/filament/Bambu PPS-CF @base.json index 3985fcbe02..0a48d3543c 100644 --- a/resources/profiles/BBL/filament/Bambu PPS-CF @base.json +++ b/resources/profiles/BBL/filament/Bambu PPS-CF @base.json @@ -1,42 +1,42 @@ { - "type": "filament", - "name": "Bambu PPS-CF @base", - "inherits": "fdm_filament_pps", - "from": "system", - "filament_id": "OF4RvVuU", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "175" - ], - "filament_density": [ - "1.26" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PPS-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "2.8" - ], - "nozzle_temperature_range_low": [ - "310" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "40" - ], - "temperature_vitrification": [ - "220" - ] -} + "type": "filament", + "name": "Bambu PPS-CF @base", + "inherits": "fdm_filament_pps", + "from": "system", + "filament_id": "OF4RvVuU", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "169.32" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "2.8" + ], + "nozzle_temperature_range_low": [ + "310" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "40" + ], + "temperature_vitrification": [ + "220" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL A1 0.2 nozzle.json index c3fc5949cb..8a3536fec4 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL A1 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PVA @BBL A1 0.2 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL A1 0.2 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL A1.json b/resources/profiles/BBL/filament/Bambu PVA @BBL A1.json index 79f6b10740..67809d1d1d 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL A1.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PVA @BBL A1", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL A1", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL A1M 0.2 nozzle.json index e53cb64460..6dccfe59de 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL A1M 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu PVA @BBL A1M 0.2 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL A1M 0.2 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL A1M.json b/resources/profiles/BBL/filament/Bambu PVA @BBL A1M.json index 4b6abcbe98..84c4dff149 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL A1M.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Bambu PVA @BBL A1M", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL A1M", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL A2L.json b/resources/profiles/BBL/filament/Bambu PVA @BBL A2L.json index 1738b4cd44..2d44398a94 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL A2L.json @@ -1,55 +1,55 @@ { - "type": "filament", - "name": "Bambu PVA @BBL A2L", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_23", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "240" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL A2L", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_23", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "240" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.4 nozzle.json index 2de71b03f5..2d3bbc69a2 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.4 nozzle.json @@ -1,177 +1,99 @@ { - "type": "filament", - "name": "Bambu PVA @BBL H2C 0.4 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PVA @BBL H2C 0.4 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..9f53d23671 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C 0.8 nozzle.json @@ -0,0 +1,100 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2C 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_28", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2C.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C.json index dfe286ab95..6b228e64c4 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2C.json @@ -1,178 +1,99 @@ { - "type": "filament", - "name": "Bambu PVA @BBL H2C", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PVA @BBL H2C", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..1c80ea9175 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2D 0.6 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_29", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..e2bc140e43 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D 0.8 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2D 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_30", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2D.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D.json index 5ee8e2b854..039a893fcc 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2D.json @@ -1,133 +1,66 @@ { - "type": "filament", - "name": "Bambu PVA @BBL H2D", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL H2D", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..f8e2817dd6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2DP 0.6 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_31", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..c1f4135e0d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2DP 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_32", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP.json index f6640bb13a..22a98ea65f 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2DP.json @@ -1,133 +1,58 @@ { - "type": "filament", - "name": "Bambu PVA @BBL H2DP", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PVA @BBL H2DP", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..28f3ae374f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2S 0.6 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_36", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..840b8da742 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S 0.8 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL H2S 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_37", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL H2S.json b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S.json index 99323c95b1..b2f03d3f71 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL H2S.json @@ -1,133 +1,71 @@ { - "type": "filament", - "name": "Bambu PVA @BBL H2S", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_20", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu PVA @BBL H2S", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL P1P 0.2 nozzle.json index c7e87f6c24..597e2d83ba 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu PVA @BBL P1P 0.2 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL P1P 0.2 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL P1P.json b/resources/profiles/BBL/filament/Bambu PVA @BBL P1P.json index 33df6781bc..4c98d516d1 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Bambu PVA @BBL P1P", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL P1P", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..f585aa6396 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL P2S 0.6 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_33", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..d6782c9504 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S 0.8 nozzle.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL P2S 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_34", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL P2S.json b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S.json index 7b69e1ffaa..dcf65dc1ea 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL P2S.json @@ -1,173 +1,71 @@ { - "type": "filament", - "name": "Bambu PVA @BBL P2S", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PVA @BBL P2S", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL X1C 0.2 nozzle.json index 8ac8473163..14dca0c469 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL X1C 0.2 nozzle.json @@ -1,122 +1,49 @@ { - "type": "filament", - "name": "Bambu PVA @BBL X1C 0.2 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL X1C 0.2 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL X1C.json b/resources/profiles/BBL/filament/Bambu PVA @BBL X1C.json index 335ff38766..c54b3d4ed7 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL X1C.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu PVA @BBL X1C", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PVA @BBL X1C", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.4 nozzle.json index a23bdf153c..7b8c06759d 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Bambu PVA @BBL X2D 0.4 nozzle", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PVA @BBL X2D 0.4 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..c12758141f --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D 0.8 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu PVA @BBL X2D 0.8 nozzle", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_35", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu PVA @BBL X2D.json b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D.json index 71151cf8e6..771634beda 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu PVA @BBL X2D.json @@ -1,273 +1,93 @@ { - "type": "filament", - "name": "Bambu PVA @BBL X2D", - "inherits": "Bambu PVA @base", - "from": "system", - "setting_id": "GFSS04_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu PVA @BBL X2D", + "inherits": "Bambu PVA @base", + "from": "system", + "setting_id": "GFSS04_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu PVA @base.json b/resources/profiles/BBL/filament/Bambu PVA @base.json index 1c6e0f2201..327bbf73a1 100644 --- a/resources/profiles/BBL/filament/Bambu PVA @base.json +++ b/resources/profiles/BBL/filament/Bambu PVA @base.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "Bambu PVA @base", - "inherits": "fdm_filament_pva", - "from": "system", - "filament_id": "OFzyIxba", - "instantiation": "false", - "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", - "filament_cost": [ - "79.98" - ], - "filament_density": [ - "1.27" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "slow_down_layer_time": [ - "7" - ], - "slow_down_min_speed": [ - "20" - ] -} + "type": "filament", + "name": "Bambu PVA @base", + "inherits": "fdm_filament_pva", + "from": "system", + "filament_id": "OFzyIxba", + "instantiation": "false", + "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", + "filament_cost": [ + "73.98" + ], + "filament_density": [ + "1.27" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "20" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL A1.json index 4427832ec4..8a477d87ec 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL A1", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_02", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL A1", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json index 9492cfe2fc..957b4d0114 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C 0.4 nozzle.json @@ -1,174 +1,96 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C.json index cfe8734400..2e4b5d0455 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2C.json @@ -1,175 +1,97 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL H2C", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL H2C", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2D.json index c7b5b55465..0b9cf45682 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2D.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL H2D", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL H2D", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2DP.json index 4261166266..e1a428af28 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2DP.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL H2DP", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL H2DP", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2S.json index dcde393538..eb90486d2c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL H2S.json @@ -1,130 +1,70 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL H2S", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL H2S", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL P2S.json index 496a4c2d57..21492b5673 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL P2S.json @@ -1,170 +1,70 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL P2S", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_04", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL P2S", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_04", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json index bdeddb678f..22e7897bfc 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL X1C", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL X1C", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json index 46283ebba8..864a3a15cd 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json @@ -1,269 +1,90 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280", - "280", - "280" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D.json index 506c188475..4106ff746d 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @BBL X2D.json @@ -1,270 +1,91 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL X2D", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280", - "280", - "280" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL X2D", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json b/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json index 70724ff11f..0f4c717ebd 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json +++ b/resources/profiles/BBL/filament/Bambu Support For PA PET @base.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFMTK0UC", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "fan_cooling_layer_time": [ - "10" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "1.22" - ], - "filament_is_support": [ - "1" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "703" - ], + "type": "filament", + "name": "Bambu Support For PA/PET @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFMTK0UC", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "fan_cooling_layer_time": [ + "10" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.22" + ], + "filament_is_support": [ + "1" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_adhesiveness_category": [ + "703" + ], "filament_dev_chamber_drying_time": [ "16" ], @@ -42,16 +42,16 @@ "filament_dev_drying_softening_temperature": [ "85" ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "required_nozzle_HRC": [ - "3" - ], - "slow_down_layer_time": [ - "6" - ] -} + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_layer_time": [ + "6" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json index f860127756..c6bef4c77e 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A1 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A1 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1.json index 09a786b1c5..da962db9cb 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A1", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A1", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json index 811c38f3ef..f02e4de3c2 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A1M 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A1M 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M.json index d483afe734..4a73ea4aca 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A1M.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A1M", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A1M", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json index fefb849bb0..5a8c05f41c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.2 nozzle.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A2L 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_23", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A2L 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_23", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json index 33bc2071f4..42afb75252 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.6 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A2L 0.6 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_32", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A2L 0.6 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_32", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json index fb8f803e75..377e78d044 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L 0.8 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A2L 0.8 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_33", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A2L 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_33", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L.json index e4435583c1..f616b22b35 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL A2L.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL A2L", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_24", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL A2L", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_24", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json index 725eb7afbf..50022ade4b 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.2 nozzle.json @@ -1,186 +1,97 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2C 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_20", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL H2C 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_20", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json index 7186e97169..c8b6e555c3 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.4 nozzle.json @@ -1,186 +1,108 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_21", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..6186fbbfb1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C 0.8 nozzle.json @@ -0,0 +1,109 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2C 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_34", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C.json index a98e4e44c6..ccdcb88f8b 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2C.json @@ -1,187 +1,108 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2C", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_22", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL H2C", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json index 8d0e7028e2..9ffdfdde10 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.2 nozzle.json @@ -1,140 +1,69 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2D 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL H2D 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..0157469f7b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.6 nozzle.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2D 0.6 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_35", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..18f993668b --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D 0.8 nozzle.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2D 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_36", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D.json index 3ff5a8b3c5..224744fbe2 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2D.json @@ -1,142 +1,76 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2D", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL H2D", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json index b42223fd66..6d3d64f4e4 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.2 nozzle.json @@ -1,140 +1,69 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2DP 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL H2DP 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..96927d4949 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,81 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2DP 0.6 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_37", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..1790f3dc7e --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,81 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2DP 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_38", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP.json index a2e1bdc4f6..ddf96b9502 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2DP.json @@ -1,142 +1,69 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2DP", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL H2DP", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json index c17dd50e41..c3bc4b262f 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.2 nozzle.json @@ -1,140 +1,81 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2S 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL H2S 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..e1a5cabe18 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.6 nozzle.json @@ -0,0 +1,98 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2S 0.6 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_39", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..3c6c49d850 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S 0.8 nozzle.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL H2S 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_40", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S.json index 9545e3d9cb..9a65ce122d 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL H2S.json @@ -1,142 +1,86 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL H2S", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL H2S", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json index 1858c1400d..67d1b7513c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.2 nozzle.json @@ -1,177 +1,78 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL P2S 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL P2S 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..9e64493ce5 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.6 nozzle.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL P2S 0.6 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_41", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..2ddb2fd157 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S 0.8 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL P2S 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_42", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S.json index a7d8283743..6665caec1e 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL P2S.json @@ -1,173 +1,77 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL P2S", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL P2S", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json index 2de6cd45de..74ccf5548c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json @@ -1,122 +1,49 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json index a188f11fcb..a1050cd162 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X1C.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL X1C", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL X1C", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_02", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json index 4a29bf79fe..3876e3f08a 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json @@ -1,272 +1,83 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json index 82731fa9e9..f6241c25d3 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json @@ -1,278 +1,99 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..48a9ea046a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D 0.8 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA @BBL X2D 0.8 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_43", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D.json index 8d3929fed5..50c702e6a4 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @BBL X2D.json @@ -1,273 +1,93 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL X2D", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA @BBL X2D", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA @base.json b/resources/profiles/BBL/filament/Bambu Support For PLA @base.json index 495291a3cf..aba549b864 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA @base.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA @base.json @@ -1,31 +1,28 @@ { - "type": "filament", - "name": "Bambu Support For PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFAnyRUI", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "filament_cost": [ - "69.98" - ], - "filament_density": [ - "1.30" - ], - "filament_is_support": [ - "1" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "702" + "type": "filament", + "name": "Bambu Support For PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFAnyRUI", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "filament_adhesiveness_category": [ + "702" + ], + "filament_cost": [ + "39.98" + ], + "filament_density": [ + "1.30" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "50" ], "filament_dev_ams_drying_temperature": [ "60", @@ -33,16 +30,19 @@ "50", "50" ], - "filament_dev_ams_drying_heat_distortion_temperature": [ - "50" - ], "filament_dev_drying_softening_temperature": [ "55" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + ], + "filament_is_support": [ + "1" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json index 42d6db6223..db0f6ce2f1 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A1 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_07", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A1 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_07", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1.json index decef700d6..e0cb4210a7 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A1", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_06", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A1", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_06", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json index 6cf17252db..90920ebe8c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A1M 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_05", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A1M 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_05", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M.json index 05f3bfa985..fcbd1bb645 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A1M", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_04", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A1M", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_04", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json index 84b2f49104..a3cd0a70f0 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L 0.2 nozzle.json @@ -1,53 +1,53 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A2L 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_22", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "210" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A2L 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_22", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "210" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L.json index e3d6f909b4..714c839c33 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL A2L.json @@ -1,49 +1,49 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL A2L", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_23", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "210" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL A2L", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_23", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "210" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json index 89b94f0622..00c26d3422 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.2 nozzle.json @@ -1,180 +1,91 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2C 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_19", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "supertack_plate_temp": [ - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2C 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_19", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "supertack_plate_temp": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json index 784fea9e45..4af8d221ba 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.4 nozzle.json @@ -1,180 +1,102 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_17", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "supertack_plate_temp": [ - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_17", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "supertack_plate_temp": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..9cc5df6520 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C 0.8 nozzle.json @@ -0,0 +1,103 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2C 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_31", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C.json index 1bbef82d84..bc71874b44 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2C.json @@ -1,181 +1,102 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2C", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_18", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "supertack_plate_temp": [ - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2C", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_18", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json index bdebe07335..600ea2a5e3 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.2 nozzle.json @@ -1,134 +1,60 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2D 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_09", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2D 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_09", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..0b5f655fcb --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.6 nozzle.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2D 0.6 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_32", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..38dfd26575 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D 0.8 nozzle.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2D 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_33", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D.json index 698a644a63..658e24aee0 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2D.json @@ -1,136 +1,73 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2D", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_08", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2D", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_08", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "220", + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json index 31d5651149..ca040b0b4b 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,60 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2DP 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_13", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_13", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..2ee8345749 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.6 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_39", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..6834cf6a30 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2DP 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_40", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP.json index ac0a8df2af..3d97fa3d3e 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2DP.json @@ -1,136 +1,60 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2DP", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_12", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2DP", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_12", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json index f9183fc382..0279d24189 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.2 nozzle.json @@ -1,134 +1,72 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2S 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_21", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2S 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_21", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..c16fbebfef --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.6 nozzle.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2S 0.6 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_34", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..8bd6e13725 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S 0.8 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2S 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_35", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S.json index ad86a460f4..34a50ef5c8 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL H2S.json @@ -1,136 +1,77 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL H2S", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_20", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL H2S", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_20", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json index 9e473560f6..854ab19880 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL P1P 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_03", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P1P 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_03", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P.json index 272ea0515d..c2da61c41c 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P1P.json @@ -1,139 +1,74 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL P1P", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_02", - "instantiation": "true", - "eng_plate_temp": [ - "65" - ], - "eng_plate_temp_initial_layer": [ - "65" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P1P", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_02", + "instantiation": "true", + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json index 2a05c968b9..32a5f9cdaa 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.2 nozzle.json @@ -1,171 +1,73 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL P2S 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_11", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P2S 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_11", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..b080aa58f1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P2S 0.6 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_36", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..a1cf1530a4 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S 0.8 nozzle.json @@ -0,0 +1,81 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P2S 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_37", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S.json index 53748045b1..880ec62cc8 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL P2S.json @@ -1,173 +1,79 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL P2S", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_10", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL P2S", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_10", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json index cf5d8c5006..d3d09d97a1 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json @@ -1,128 +1,63 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL X1C 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_01", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X1C 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_01", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C.json index 036657f387..3d6512aa13 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X1C.json @@ -1,136 +1,71 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL X1C", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_00", - "instantiation": "true", - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X1C", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_00", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json index 75f649146b..10709e5ec1 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json @@ -1,275 +1,95 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_extruder_compatibility": [ - "24" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_16", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "24" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json index a55c1c8ef3..9e5c65749b 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json @@ -1,272 +1,104 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_14", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..03e8f04d76 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D 0.8 nozzle.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X2D 0.8 nozzle", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_38", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "60", + "60", + "50", + "50" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D.json index 6acc6ad0bf..9cfbde810a 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @BBL X2D.json @@ -1,273 +1,104 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @BBL X2D", - "inherits": "Bambu Support For PLA/PETG @base", - "from": "system", - "setting_id": "GFSS05_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support For PLA/PETG @BBL X2D", + "inherits": "Bambu Support For PLA/PETG @base", + "from": "system", + "setting_id": "GFSS05_15", + "instantiation": "true", + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @base.json b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @base.json index 6a6ff6aa6b..d4bfb77aab 100644 --- a/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @base.json +++ b/resources/profiles/BBL/filament/Bambu Support For PLA-PETG @base.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Bambu Support For PLA/PETG @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFIfnzxC", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "69.98" - ], - "filament_density": [ - "1.19" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "705" + "type": "filament", + "name": "Bambu Support For PLA/PETG @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFIfnzxC", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "63.98" + ], + "filament_density": [ + "1.19" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_adhesiveness_category": [ + "705" ], "filament_dev_chamber_drying_bed_temperature": [ "80" @@ -47,29 +47,29 @@ ], "filament_dev_drying_softening_temperature": [ "55" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "slow_down_layer_time": [ - "8" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ] -} + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "slow_down_layer_time": [ + "8" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support G @BBL A1.json index a2e728b26c..bb28afc0fa 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Bambu Support G @BBL A1", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_01", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL A1", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support G @BBL H2C 0.4 nozzle.json index 00c4001de7..bd669dd7ca 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL H2C 0.4 nozzle.json @@ -1,174 +1,96 @@ { - "type": "filament", - "name": "Bambu Support G @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support G @BBL H2C.json index 8237c4f297..6796582027 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL H2C.json @@ -1,175 +1,97 @@ { - "type": "filament", - "name": "Bambu Support G @BBL H2C", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL H2C", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support G @BBL H2D.json index 0b8d4a1ffd..bf5156f0d6 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL H2D.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "Bambu Support G @BBL H2D", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL H2D", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support G @BBL H2DP.json index a20e1599d4..b95357fd32 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL H2DP.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Bambu Support G @BBL H2DP", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL H2DP", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support G @BBL H2S.json index f7a1d459de..18617a17dc 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL H2S.json @@ -1,130 +1,70 @@ { - "type": "filament", - "name": "Bambu Support G @BBL H2S", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL H2S", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support G @BBL P2S.json index 848c02a81c..37046fc70b 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL P2S.json @@ -1,167 +1,67 @@ { - "type": "filament", - "name": "Bambu Support G @BBL P2S", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL P2S", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support G @BBL X1C.json index 273f0cde20..bbb6df001d 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL X1C.json @@ -1,127 +1,54 @@ { - "type": "filament", - "name": "Bambu Support G @BBL X1C", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL X1C", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL X1E.json b/resources/profiles/BBL/filament/Bambu Support G @BBL X1E.json index 9baf0de057..4672cda4c0 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Bambu Support G @BBL X1E", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL X1E", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support G @BBL X2D 0.4 nozzle.json index 4238d60d8e..b9e3ff0c56 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Bambu Support G @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280", - "280", - "280" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support G @BBL X2D.json index 5da2ec0c7c..99748688e1 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support G @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Bambu Support G @BBL X2D", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280", - "280", - "280" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL X2D", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support G @base.json b/resources/profiles/BBL/filament/Bambu Support G @base.json index 38c7f500f5..7cf9fc5ca1 100644 --- a/resources/profiles/BBL/filament/Bambu Support G @base.json +++ b/resources/profiles/BBL/filament/Bambu Support G @base.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Bambu Support G @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFQHiNJs", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "fan_cooling_layer_time": [ - "10" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "1.22" - ], - "filament_is_support": [ - "1" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "701" + "type": "filament", + "name": "Bambu Support G @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFQHiNJs", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "fan_cooling_layer_time": [ + "10" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.22" + ], + "filament_is_support": [ + "1" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_adhesiveness_category": [ + "701" ], "filament_dev_chamber_drying_time": [ "16" @@ -41,17 +41,17 @@ ], "filament_dev_drying_softening_temperature": [ "85" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "required_nozzle_HRC": [ - "3" - ], - "slow_down_layer_time": [ - "6" - ] -} + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_layer_time": [ + "6" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A1 0.2 nozzle.json index c921528678..6dfc9bf96e 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A1 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A1 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A1 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A1.json index 55e6b7ea0a..b5c4e7b7f8 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A1.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A1", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A1", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A1M 0.2 nozzle.json index e85ec02e3a..96c226d8e0 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A1M 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A1M 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A1M 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A1M.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A1M.json index 5c870fd292..51efafdccf 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A1M.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A1M", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A1M", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A2L 0.2 nozzle.json index 74810aaeb7..01b6abe4e7 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A2L 0.2 nozzle.json @@ -1,56 +1,56 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A2L 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_20", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "240" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A2L 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_20", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "240" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL A2L.json b/resources/profiles/BBL/filament/Bambu Support W @BBL A2L.json index 64e2cbb5d3..7d52265879 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL A2L.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Bambu Support W @BBL A2L", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_21", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_temp_fast": [ - "220" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL A2L", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_21", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "220" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.2 nozzle.json index 2a9e1eb28a..f2a1dd4faa 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.2 nozzle.json @@ -1,180 +1,91 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2C 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_19", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2C 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.4 nozzle.json index e84c9efefa..a141e719b8 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C 0.4 nozzle.json @@ -1,180 +1,102 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C.json index cfd8dcf4b2..5b448140c8 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2C.json @@ -1,181 +1,103 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2C", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "supertack_plate_temp": [ - "40" - ], - "supertack_plate_temp_initial_layer": [ - "40" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2C", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2D 0.2 nozzle.json index fcd2d7d52b..8651d60951 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2D 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2D 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2D 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2D.json index b752b636e9..bbab8a9b04 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2D.json @@ -1,136 +1,72 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2D", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2D", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP 0.2 nozzle.json index 7b1d2cba34..5d2410e4c4 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP 0.2 nozzle.json @@ -1,134 +1,63 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2DP 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2DP 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP.json index 20163bae32..82807fa583 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2DP.json @@ -1,136 +1,65 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2DP", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2DP", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2S 0.2 nozzle.json index 5e0f2e54b7..0c9ad96894 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2S 0.2 nozzle.json @@ -1,140 +1,85 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2S 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2S 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support W @BBL H2S.json index 30f2947e0c..e1bb915584 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL H2S.json @@ -1,142 +1,93 @@ { - "type": "filament", - "name": "Bambu Support W @BBL H2S", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL H2S", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL P2S 0.2 nozzle.json index af8729821d..336cca1ec8 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL P2S 0.2 nozzle.json @@ -1,171 +1,72 @@ { - "type": "filament", - "name": "Bambu Support W @BBL P2S 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL P2S 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support W @BBL P2S.json index 829856bd84..077265db71 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL P2S.json @@ -1,173 +1,79 @@ { - "type": "filament", - "name": "Bambu Support W @BBL P2S", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL P2S", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "supertack_plate_temp": [ + "40" + ], + "supertack_plate_temp_initial_layer": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X1.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X1.json index 096cd6fa5a..520d5cd793 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X1.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X1", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X1", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS02", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X1C 0.2 nozzle.json index 57385b560c..4f2b3f0120 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X1C 0.2 nozzle.json @@ -1,122 +1,49 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X1C 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X1C 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X1C.json index 0d27ffda6c..92e8ea9022 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X1C.json @@ -1,127 +1,54 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X1C", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X1C", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.2 nozzle.json index 45979d042a..1154670bd3 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.2 nozzle.json @@ -1,272 +1,83 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X2D 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X2D 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.4 nozzle.json index 3bc7956c2d..97599b236c 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D.json index c51b414b40..8146c61633 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support W @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Bambu Support W @BBL X2D", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_11", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL X2D", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support W @base.json b/resources/profiles/BBL/filament/Bambu Support W @base.json index 1391587ef0..da7a2e7591 100644 --- a/resources/profiles/BBL/filament/Bambu Support W @base.json +++ b/resources/profiles/BBL/filament/Bambu Support W @base.json @@ -1,39 +1,39 @@ { - "type": "filament", - "name": "Bambu Support W @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFsHSVZc", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "filament_cost": [ - "69.98" - ], - "filament_density": [ - "1.30" - ], - "filament_is_support": [ - "1" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_adhesiveness_category": [ - "700" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Bambu Support W @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFsHSVZc", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "filament_cost": [ + "69.98" + ], + "filament_density": [ + "1.30" + ], + "filament_is_support": [ + "1" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_adhesiveness_category": [ + "700" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL A1.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL A1.json index 2a4de54a1a..52655bf9fb 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL A1", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_01", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support for ABS @BBL A1", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_01", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json index 0466c80f16..99b5ef2be7 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.4 nozzle.json @@ -1,174 +1,86 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL H2C 0.4 nozzle", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL H2C 0.4 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..db205f0769 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C 0.8 nozzle.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2C 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_14", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "75" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C.json index 3760f214ee..554ffa9475 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2C.json @@ -1,175 +1,86 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL H2C", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL H2C", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..26caca6e30 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.6 nozzle.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2D 0.6 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..f0106252de --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D 0.8 nozzle.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2D 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D.json index 1e83ac14fa..a2e8f70d1f 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2D.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL H2D", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu Support for ABS @BBL H2D", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..34ea19621a --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2DP 0.6 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_17", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..3537f29325 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2DP 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP.json index f611960602..fd1f329f0d 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2DP.json @@ -1,130 +1,47 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL H2DP", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL H2DP", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..bf0fc86691 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.6 nozzle.json @@ -0,0 +1,75 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2S 0.6 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_19", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..fc939c2ddc --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S 0.8 nozzle.json @@ -0,0 +1,67 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL H2S 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S.json index 03cde4ad6f..64bca9215d 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL H2S.json @@ -1,130 +1,63 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL H2S", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL H2S", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..efa5fbedf2 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.6 nozzle.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL P2S 0.6 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_21", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..d0ebd6307d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S 0.8 nozzle.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL P2S 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_22", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S.json index 95e1c6d602..67492a22da 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL P2S.json @@ -1,170 +1,68 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL P2S", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_03", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL P2S", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_03", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X1C.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X1C.json index 2c3c1a543c..5ee757619a 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X1C.json @@ -1,133 +1,64 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL X1C", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support for ABS @BBL X1C", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_00", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json index 89e8556c2f..0882985ee0 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json @@ -1,266 +1,95 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..0e52093caa --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D 0.8 nozzle.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "name": "Bambu Support for ABS @BBL X2D 0.8 nozzle", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_23", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "4", + "12", + "4" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D.json b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D.json index a9fae6e28f..c5de9aa8ef 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @BBL X2D.json @@ -1,267 +1,95 @@ { - "type": "filament", - "name": "Bambu Support for ABS @BBL X2D", - "inherits": "Bambu Support for ABS @base", - "from": "system", - "setting_id": "GFSS06_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu Support for ABS @BBL X2D", + "inherits": "Bambu Support for ABS @base", + "from": "system", + "setting_id": "GFSS06_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu Support for ABS @base.json b/resources/profiles/BBL/filament/Bambu Support for ABS @base.json index 25f62a07c3..18400b5404 100644 --- a/resources/profiles/BBL/filament/Bambu Support for ABS @base.json +++ b/resources/profiles/BBL/filament/Bambu Support for ABS @base.json @@ -1,48 +1,48 @@ { - "type": "filament", - "name": "Bambu Support for ABS @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFf6mfQO", - "instantiation": "false", - "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "29.98" - ], - "filament_density": [ - "1.16" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "filament_adhesiveness_category": [ - "706" + "type": "filament", + "name": "Bambu Support for ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFf6mfQO", + "instantiation": "false", + "description": "This is a non-water-soluble support filament, and usually it is only for the support structure and not for the model body. To get better printing quality, please refer to this wiki: Printing Tips for Support Filament and Support Function.", + "fan_max_speed": [ + "30" + ], + "filament_adhesiveness_category": [ + "706" + ], + "filament_cost": [ + "23.98" + ], + "filament_density": [ + "1.16" ], "filament_dev_ams_drying_time": [ "12", "4", "12", "4" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "90" - ] -} + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "90" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json index 160b3cd5b9..05d3bf0141 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.6 nozzle.json @@ -1,77 +1,77 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL A2L 0.6 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_18", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_pre_cooling_temperature": [ - "195" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "20" - ], - "filament_ramming_volumetric_speed": [ - "0.55" - ], - "filament_retraction_length": [ - "1.3" - ], - "filament_support_printable": [ - "2" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL A2L 0.6 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_18", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_pre_cooling_temperature": [ + "195" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.55" + ], + "filament_retraction_length": [ + "1.3" + ], + "filament_support_printable": [ + "2" + ], + "impact_strength_z": [ + "88.7" + ], + "long_retractions_when_ec": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json index bf04a2f638..9f80ff8060 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL A2L 0.8 nozzle.json @@ -1,80 +1,80 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL A2L 0.8 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_pre_cooling_temperature": [ - "195" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "20" - ], - "filament_ramming_volumetric_speed": [ - "0.55" - ], - "filament_retraction_length": [ - "1" - ], - "filament_support_printable": [ - "2" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1" - ], - "nozzle_temperature": [ - "215" - ], - "nozzle_temperature_initial_layer": [ - "215" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "pre_start_fan_time": [ - "0" - ], - "retraction_distances_when_ec": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL A2L 0.8 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_pre_cooling_temperature": [ + "195" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.55" + ], + "filament_retraction_length": [ + "1" + ], + "filament_support_printable": [ + "2" + ], + "impact_strength_z": [ + "88.7" + ], + "long_retractions_when_ec": [ + "1" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "pre_start_fan_time": [ + "0" + ], + "retraction_distances_when_ec": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2C.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2C.json index c9c84d7b30..50da178634 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2C.json @@ -1,199 +1,151 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2C", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_05", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.55", - "0.55" - ], - "filament_printable": [ - "2" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "185", - "185" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "impact_strength_z": [ - "88.7" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2C", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_05", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "2.2" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55", + "0.55" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.55", + "0.55", + "0.55" + ], + "filament_printable": [ + "2" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "185", + "185", + "185" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json index 635ab2556c..4a4cfb2e1e 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D 0.4 nozzle.json @@ -1,101 +1,116 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2D 0.4 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "50" - ], - "filament_extruder_variant": [ - "Direct Drive TPU High Flow" - ], - "filament_flow_ratio": [ - "1.1" - ], - "filament_long_retractions_when_cut": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2.5" - ], - "filament_pre_cooling_temperature": [ - "195" - ], - "filament_printable": [ - "2" - ], - "filament_ramming_travel_time": [ - "20" - ], - "filament_ramming_volumetric_speed": [ - "0.55" - ], - "filament_retraction_length": [ - "2.3" - ], - "filament_retraction_speed": [ - "20" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.6" - ], - "filament_z_hop_types": [ - "Auto Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2D 0.4 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_17", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_extruder_variant": [ + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.5" + ], + "filament_overhang_2_4_speed": [ + "25" + ], + "filament_overhang_3_4_speed": [ + "25" + ], + "filament_overhang_4_4_speed": [ + "20" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_pre_cooling_temperature": [ + "195" + ], + "filament_printable": [ + "2" + ], + "filament_ramming_travel_time": [ + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.55" + ], + "filament_retraction_length": [ + "2.3" + ], + "filament_retraction_speed": [ + "20" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.6" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "long_retractions_when_ec": [ + "1" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "1" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D.json index 7a35448013..a1c364a9ec 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2D.json @@ -1,171 +1,291 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2D", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_02", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "50" - ], - "filament_flow_ratio": [ - "1", - "1", - "1.03" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2", - "4.8" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55", - "0.55" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2.3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "40" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "0.4" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Auto Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225", - "235" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2D", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_02", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "50", + "10" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1.03", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "4.8", + "2.2" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "25", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "25", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "20", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "25", + "10" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_printable": [ + "2" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55", + "0.55", + "0.55" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "2.3", + "2" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "40", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "0.4", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Auto Lift", + "nil" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "225", + "225", + "235", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "235", + "225" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "40", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json index ff23d0e23b..8834843065 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP 0.4 nozzle.json @@ -1,101 +1,116 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2DP 0.4 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "50" - ], - "filament_extruder_variant": [ - "Direct Drive TPU High Flow" - ], - "filament_flow_ratio": [ - "1.1" - ], - "filament_long_retractions_when_cut": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2.5" - ], - "filament_pre_cooling_temperature": [ - "195" - ], - "filament_printable": [ - "2" - ], - "filament_ramming_travel_time": [ - "20" - ], - "filament_ramming_volumetric_speed": [ - "0.55" - ], - "filament_retraction_length": [ - "2.3" - ], - "filament_retraction_speed": [ - "20" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.6" - ], - "filament_z_hop_types": [ - "Auto Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2DP 0.4 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_extruder_variant": [ + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.5" + ], + "filament_overhang_2_4_speed": [ + "25" + ], + "filament_overhang_3_4_speed": [ + "25" + ], + "filament_overhang_4_4_speed": [ + "20" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "filament_pre_cooling_temperature": [ + "195" + ], + "filament_printable": [ + "2" + ], + "filament_ramming_travel_time": [ + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.55" + ], + "filament_retraction_length": [ + "2.3" + ], + "filament_retraction_speed": [ + "20" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.6" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "long_retractions_when_ec": [ + "1" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "1" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP.json index eda8e4f60e..5afdd55df6 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2DP.json @@ -1,171 +1,249 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2DP", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_03", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "50" - ], - "filament_flow_ratio": [ - "1", - "1", - "1.03" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2", - "4.8" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55", - "0.55" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2.3" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "40" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "0.4" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Auto Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225", - "235" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2DP", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_03", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "50" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1.03" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "4.8" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "25" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "25" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "20" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "25" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_printable": [ + "2" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55", + "0.55" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "2.3" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "40" + ], + "filament_wipe": [ + "nil", + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "1" + ], + "filament_z_hop": [ + "nil", + "nil", + "0.4" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Auto Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "225", + "225", + "235" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "235" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "40" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json index 608802a6a2..493fb2004d 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.6 nozzle.json @@ -1,168 +1,115 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2S 0.6 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_8", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "volumetric_speed_coefficients": [ - "12.4717 -2.8601 9.7830 2.9503 3.9235 -1.8644", - "12.4717 -2.8601 9.7830 2.9503 3.9235 -1.8644" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2S 0.6 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_8", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55", + "0.55" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "volumetric_speed_coefficients": [ + "12.4717 -2.8601 9.7830 2.9503 3.9235 -1.8644", + "12.4717 -2.8601 9.7830 2.9503 3.9235 -1.8644", + "12.4717 -2.8601 9.7830 2.9503 3.9235 -1.8644" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json index 257d518996..b39cbdfe34 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S 0.8 nozzle.json @@ -1,140 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2S 0.8 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_9", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "5", - "5" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "5", - "5" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "volumetric_speed_coefficients": [ - "6.6221 -1.8351 5.4532 2.6077 3.1996 -1.9564", - "6.6221 -1.8351 5.4532 2.6077 3.1996 -1.9564" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2S 0.8 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_9", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "5", + "5" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3", + "3" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_retraction_speed": [ + "5", + "5" + ], + "filament_wipe": [ + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "volumetric_speed_coefficients": [ + "6.6221 -1.8351 5.4532 2.6077 3.1996 -1.9564", + "6.6221 -1.8351 5.4532 2.6077 3.1996 -1.9564" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S.json index 8ccd07d3c8..32401c7021 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL H2S.json @@ -1,140 +1,117 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL H2S", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "0.55", - "0.55" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "30" - ], - "volumetric_speed_coefficients": [ - "-72.1736 -8.8086 10.6201 29.6592 9.9286 -3.3920", - "-72.1736 -8.8086 10.6201 29.6592 9.9286 -3.3920" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL H2S", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_ramming_volumetric_speed": [ + "0.55", + "0.55", + "0.55" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "30", + "30", + "30" + ], + "volumetric_speed_coefficients": [ + "-72.1736 -8.8086 10.6201 29.6592 9.9286 -3.3920", + "-72.1736 -8.8086 10.6201 29.6592 9.9286 -3.3920", + "-72.1736 -8.8086 10.6201 29.6592 9.9286 -3.3920" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P1P.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P1P.json index fbdfb1d84e..61a640f9f4 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P1P.json @@ -1,120 +1,47 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL P1P", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2.2", - "2.2" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL P1P", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2.2", + "2.2" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json index 860a2da6b9..b2ee2d8b7c 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S 0.8 nozzle.json @@ -1,168 +1,57 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL P2S 0.8 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_10", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.2", - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL P2S 0.8 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_10", + "instantiation": "true", + "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2" + ], + "filament_prime_volume": [ + "60" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S.json index 7c139e896c..44fd0998eb 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL P2S.json @@ -1,168 +1,68 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL P2S", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_06", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL P2S", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_06", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "2.2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json index 41d325d219..b24ff17409 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json @@ -1,126 +1,53 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL X1C", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2.2", - "2.2" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL X1C", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2.2", + "2.2" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json index 0bde7eb2e4..eb47c12591 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json @@ -1,278 +1,83 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_21", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.2", - "1.2", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2", - "2.2", - "2.2" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "225" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "225", - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225", - "225" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_21", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "2.2", + "2.2" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "225" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D.json b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D.json index df1e421aad..69367399c0 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @BBL X2D.json @@ -1,278 +1,107 @@ { - "type": "filament", - "name": "Bambu TPU 85A @BBL X2D", - "inherits": "Bambu TPU 85A @base", - "from": "system", - "setting_id": "GFSU04_04", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "200", - "200", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.2", - "2.2", - "2.2", - "2.2" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "225" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "225", - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225", - "225" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @BBL X2D", + "inherits": "Bambu TPU 85A @base", + "from": "system", + "setting_id": "GFSU04_04", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.2", + "2.2", + "2.2", + "2.2", + "2.2", + "2.2" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "2", + "2", + "2", + "0.4", + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "200", + "200", + "200", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "225" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 85A @base.json b/resources/profiles/BBL/filament/Bambu TPU 85A @base.json index fc7f67bc45..d38f1b3da6 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 85A @base.json +++ b/resources/profiles/BBL/filament/Bambu TPU 85A @base.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "Bambu TPU 85A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFlfuj2k", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "44.99" - ], - "filament_density": [ - "1.18" - ], - "filament_max_volumetric_speed": [ - "2.2" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "slow_down_layer_time": [ - "20" - ] -} + "type": "filament", + "name": "Bambu TPU 85A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFlfuj2k", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.18" + ], + "filament_max_volumetric_speed": [ + "2.2" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_layer_time": [ + "20" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1.json index 71f9bc7bd8..72beca2f7b 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL A1", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_04", - "instantiation": "true", - "filament_density": [ - "1.22" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL A1", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_04", + "instantiation": "true", + "filament_density": [ + "1.22" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1M.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1M.json index 7e86089fbb..0aca42745f 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A1M.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL A1M", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_05", - "instantiation": "true", - "filament_density": [ - "1.22" - ], - "hot_plate_temp": [ - "30" - ], - "hot_plate_temp_initial_layer": [ - "30" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "textured_plate_temp": [ - "30" - ], - "textured_plate_temp_initial_layer": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL A1M", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_05", + "instantiation": "true", + "filament_density": [ + "1.22" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json index a3097b65c0..a9e2cf1890 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.6 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL A2L 0.6 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_28", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.22" - ], - "filament_max_volumetric_speed": [ - "4.5" - ], - "filament_overhang_totally_speed": [ - "20" - ], - "filament_retraction_length": [ - "0.8" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "25" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL A2L 0.6 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_28", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "4.5" + ], + "filament_overhang_totally_speed": [ + "20" + ], + "filament_retraction_length": [ + "0.8" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "25" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json index 8d6283b83d..fa6f028ab6 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L 0.8 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL A2L 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_32", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.22" - ], - "filament_max_volumetric_speed": [ - "4.5" - ], - "filament_overhang_totally_speed": [ - "25" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature": [ - "205" - ], - "nozzle_temperature_initial_layer": [ - "205" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL A2L 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_32", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "4.5" + ], + "filament_overhang_totally_speed": [ + "25" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L.json index 7e2c12fdca..c05d4c9aea 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL A2L.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL A2L", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_12", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.22" - ], - "filament_retraction_length": [ - "1" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL A2L", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_12", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.22" + ], + "filament_retraction_length": [ + "1" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json index 621055a250..9a41e06a29 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C 0.4 nozzle.json @@ -1,195 +1,152 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2C 0.4 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.7", - "0.7" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "185", - "185" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "impact_strength_z": [ - "88.7" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "30", - "30" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2C 0.4 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.7", + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "185", + "185", + "185" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "30", + "30", + "30" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C.json index d96ebeb009..28f6778d20 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2C.json @@ -1,196 +1,153 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2C", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.7", - "0.7" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "185", - "185" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "impact_strength_z": [ - "88.7" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2C", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.7", + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "185", + "185", + "185" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json index 2efb672844..feb9db8a13 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.6 nozzle.json @@ -1,205 +1,290 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2D 0.6 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_24", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "25", - "25", - "30" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_flow_ratio": [ - "1.05", - "1.05", - "1.08" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "5.6" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10", - "10" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.6", - "0.6", - "1.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "30" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "225", - "225", - "220" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "25", - "25", - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2D 0.6 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "25", + "25", + "30", + "25" + ], + "filament_flow_ratio": [ + "1.05", + "1.05", + "1.08", + "1.05" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "5.6", + "2.8" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "0.6", + "0.6", + "1.8", + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "30", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "30", + "25" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature": [ + "225", + "225", + "220", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "220", + "225" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25", + "50", + "25" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json index 347b10121c..b1a45e6d9a 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D 0.8 nozzle.json @@ -1,171 +1,94 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2D 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_26", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "25", - "25" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "1.05", - "1.05" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_pre_cooling_temperature": [ - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.2", - "0.2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "25", - "25" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2D 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "25", + "25" + ], + "filament_flow_ratio": [ + "1.05", + "1.05" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8" + ], + "filament_pre_cooling_temperature": [ + "195", + "195" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "0.2", + "0.2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D.json index e51fc63586..f2d39bc05c 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2D.json @@ -1,170 +1,290 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2D", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_02", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "30" - ], - "filament_flow_ratio": [ - "1", - "1", - "1.05" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "5.6" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7", - "0.7" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "30" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "2" - ], - "filament_z_hop": [ - "nil", - "nil", - "0.4" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Slope Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2D", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_02", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "30", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_cost": [ + "38.99" + ], + "filament_deretraction_speed": [ + "25", + "25", + "30", + "25" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1.05", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "5.6", + "2.8" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "30", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "2.8", + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "30", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "2", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "0.4", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Slope Lift", + "Spiral Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25", + "50", + "25" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json index 8fee266af3..cb24fbdbdd 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.6 nozzle.json @@ -1,205 +1,248 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2DP 0.6 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_25", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "25", - "25", - "30" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_flow_ratio": [ - "1.05", - "1.05", - "1.08" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "5.6" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10", - "10" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.6", - "0.6", - "1.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "30" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Spiral Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "225", - "225", - "220" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "25", - "25", - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2DP 0.6 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_25", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "25", + "25", + "30" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1.05", + "1.05", + "1.08" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "5.6" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "30" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "30" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "30" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "0.6", + "0.6", + "1.8" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "30" + ], + "filament_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "225", + "225", + "220" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25", + "50" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json index bc2728217d..6f8fc61c4e 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP 0.8 nozzle.json @@ -1,171 +1,94 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2DP 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_27", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "25", - "25" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flow_ratio": [ - "1.05", - "1.05" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_pre_cooling_temperature": [ - "195", - "195" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_preheat_temperature_delta": [ - "10", - "10" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.2", - "0.2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "25", - "25" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2DP 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "25", + "25" + ], + "filament_flow_ratio": [ + "1.05", + "1.05" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8" + ], + "filament_pre_cooling_temperature": [ + "195", + "195" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "0.2", + "0.2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP.json index 52c6c8e3c8..a77efbc6d7 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2DP.json @@ -1,170 +1,248 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2DP", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_03", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "30" - ], - "filament_flow_ratio": [ - "1", - "1", - "1.05" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "5.6" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7", - "0.7" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "30" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "2" - ], - "filament_z_hop": [ - "nil", - "nil", - "0.4" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Slope Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "195", - "195", - "195" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "impact_strength_z": [ - "88.7" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2DP", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_03", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_cost": [ + "38.99" + ], + "filament_deretraction_speed": [ + "25", + "25", + "30" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1.05" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "5.6" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "30" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "30" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "30" + ], + "filament_pre_cooling_temperature": [ + "195", + "195", + "195" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "1.5", + "1.5", + "2.8" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "30" + ], + "filament_wipe": [ + "nil", + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "2" + ], + "filament_z_hop": [ + "nil", + "nil", + "0.4" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Slope Lift" + ], + "impact_strength_z": [ + "88.7" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "25", + "25", + "50" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json index ae9da2933e..c56c11ff05 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.6 nozzle.json @@ -1,140 +1,107 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2S 0.6 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "5.6", - "5.6" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "volumetric_speed_coefficients": [ - "85.1441 -0.1306 48.4938 -43.6862 -5.8088 5.5653", - "85.1441 -0.1306 48.4938 -43.6862 -5.8088 5.5653" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2S 0.6 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5.6", + "5.6", + "5.6" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "30", + "30", + "30" + ], + "volumetric_speed_coefficients": [ + "85.1441 -0.1306 48.4938 -43.6862 -5.8088 5.5653", + "85.1441 -0.1306 48.4938 -43.6862 -5.8088 5.5653", + "85.1441 -0.1306 48.4938 -43.6862 -5.8088 5.5653" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json index 8b4a090877..d6358536a6 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S 0.8 nozzle.json @@ -1,140 +1,95 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2S 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "5", - "5" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "5.6", - "5.6" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "5", - "5" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "volumetric_speed_coefficients": [ - "48.0137 -0.3915 27.3862 -32.3779 -3.9738 5.2809", - "48.0137 -0.3915 27.3862 -32.3779 -3.9738 5.2809" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2S 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5.6", + "5.6" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "0.6", + "0.6" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "18" + ], + "slow_down_min_speed": [ + "12", + "12" + ], + "volumetric_speed_coefficients": [ + "48.0137 -0.3915 27.3862 -32.3779 -3.9738 5.2809", + "48.0137 -0.3915 27.3862 -32.3779 -3.9738 5.2809" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S.json index a0a432569e..0cae43b7ab 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL H2S.json @@ -1,140 +1,107 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL H2S", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "5.6", - "5.6" - ], - "filament_ramming_volumetric_speed": [ - "0.7", - "0.7" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "30" - ], - "volumetric_speed_coefficients": [ - "-20.9250 -1.8134 71.7462 1.9816 0.5060 -0.1901", - "-20.9250 -1.8134 71.7462 1.9816 0.5060 -0.1901" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL H2S", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "5.6", + "5.6", + "5.6" + ], + "filament_ramming_volumetric_speed": [ + "0.7", + "0.7", + "0.7" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "30", + "30", + "30" + ], + "volumetric_speed_coefficients": [ + "-20.9250 -1.8134 71.7462 1.9816 0.5060 -0.1901", + "-20.9250 -1.8134 71.7462 1.9816 0.5060 -0.1901", + "-20.9250 -1.8134 71.7462 1.9816 0.5060 -0.1901" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P1P.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P1P.json index decf0510fc..e061018fc9 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P1P.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL P1P", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL P1P", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2.8", + "2.8" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json index ce3a3c1c9e..b294fbacc4 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.6 nozzle.json @@ -1,171 +1,86 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL P2S 0.6 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_16", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.6", - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "0", - "0" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL P2S 0.6 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_16", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.6", + "0.6", + "0.6" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "0", + "0", + "0" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json index 7424760d4d..1c890a8ad9 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S 0.8 nozzle.json @@ -1,171 +1,54 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL P2S 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_17", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1.2", - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL P2S 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_17", + "instantiation": "true", + "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "1.2", + "1.2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S.json index ca32c1cb12..1942641481 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL P2S.json @@ -1,171 +1,71 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL P2S", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "1", - "1" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL P2S", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "1", + "1", + "1" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json index df4538dc7e..d6978f2776 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json @@ -1,130 +1,68 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL X1C", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2.8", - "2.8" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL X1C", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2.8", + "2.8" + ], + "filament_retraction_length": [ + "0.8", + "0.4" + ], + "filament_flow_ratio": [ + "1.029", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_z_hop": [ + "0.6", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json index a408dd51f2..849ff6609c 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json @@ -1,278 +1,107 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift", - "Auto Lift", - "Auto Lift" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "2.8", - "2.8" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "225" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "225", - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225", - "225" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_06", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8", + "2.8", + "2.8", + "2.8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "225" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json index 4596dc5cfc..675c288c03 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json @@ -1,281 +1,104 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.5", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "2.8", - "2.8" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "225" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "225", - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225", - "225" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_15", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8", + "2.8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.5", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "225" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "nil" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "nil" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D.json b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D.json index d41e9b3574..d9af1d226f 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @BBL X2D.json @@ -1,281 +1,126 @@ { - "type": "filament", - "name": "Bambu TPU 90A @BBL X2D", - "inherits": "Bambu TPU 90A @base", - "from": "system", - "setting_id": "GFSU03_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.5", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "nil", - "1", - "nil" - ], - "filament_wipe_distance": [ - "1", - "nil", - "1", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "nil", - "Spiral Lift", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2.8", - "2.8", - "2.8", - "2.8" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "225" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "225", - "225", - "225", - "225" - ], - "nozzle_temperature_initial_layer": [ - "225", - "225", - "225", - "225" - ], - "slow_down_for_layer_cooling": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @BBL X2D", + "inherits": "Bambu TPU 90A @base", + "from": "system", + "setting_id": "GFSU03_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2.8", + "2.8", + "2.8", + "2.8", + "2.8", + "2.8" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.5", + "nil", + "0.5", + "nil", + "nil", + "nil" + ], + "filament_tower_interface_print_temp": [ + "225" + ], + "filament_wipe": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_wipe_distance": [ + "1", + "nil", + "1", + "1", + "nil", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "nil", + "Spiral Lift", + "Spiral Lift", + "nil", + "Spiral Lift" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "nozzle_temperature_initial_layer": [ + "225", + "225", + "225", + "225", + "225", + "225" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 90A @base.json b/resources/profiles/BBL/filament/Bambu TPU 90A @base.json index 2f2ae95b02..583c17a63d 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 90A @base.json +++ b/resources/profiles/BBL/filament/Bambu TPU 90A @base.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "Bambu TPU 90A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFtkLO6q", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "59.99" - ], - "filament_max_volumetric_speed": [ - "2.8" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "87.3" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "slow_down_layer_time": [ - "14" - ] -} + "type": "filament", + "name": "Bambu TPU 90A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFtkLO6q", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "38.99" + ], + "filament_max_volumetric_speed": [ + "2.8" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "87.3" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_layer_time": [ + "14" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json index 6e003d4717..1210ba985d 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL A1", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.6" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL A1", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.6" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1M.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1M.json index 3a0cce1e89..eefb04f274 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1M.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL A1M", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.6" - ], - "hot_plate_temp": [ - "30" - ], - "hot_plate_temp_initial_layer": [ - "30" - ], - "textured_plate_temp": [ - "30" - ], - "textured_plate_temp_initial_layer": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL A1M", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.6" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A2L.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A2L.json index 767dc230ac..70c758c99c 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL A2L.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL A2L", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_11", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_max_volumetric_speed": [ - "3.6" - ], - "pre_start_fan_time": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL A2L", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_11", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_max_volumetric_speed": [ + "3.6" + ], + "pre_start_fan_time": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json index 252bc0a1bb..bbd0dbc809 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C 0.4 nozzle.json @@ -1,180 +1,137 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL H2C 0.4 nozzle", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "0.9", - "0.9" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.9", - "0.9" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL H2C 0.4 nozzle", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6" + ], + "filament_ramming_volumetric_speed": [ + "0.9", + "0.9", + "0.9" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.9", + "0.9", + "0.9" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C.json index 5ba6a6ae92..20331454b3 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2C.json @@ -1,181 +1,138 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL H2C", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "0.9", - "0.9" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.9", - "0.9" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL H2C", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6" + ], + "filament_ramming_volumetric_speed": [ + "0.9", + "0.9", + "0.9" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.9", + "0.9", + "0.9" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2D.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2D.json index 5c2937c6fb..fa3cb556e2 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2D.json @@ -1,166 +1,283 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL H2D", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_03", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "0.9", - "0.9", - "0.9" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL H2D", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_03", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6", + "3.6" + ], + "filament_ramming_volumetric_speed": [ + "0.9", + "0.9", + "0.9", + "0.9" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "2", + "2" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2DP.json index a347feaa73..b2c79b2b94 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2DP.json @@ -1,166 +1,241 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL H2DP", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "0.9", - "0.9", - "0.9" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL H2DP", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.9", + "0.9", + "0.9" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2S.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2S.json index 0e6c571c17..af483d6b70 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL H2S.json @@ -1,142 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL H2S", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "0.9", - "0.9" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL H2S", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6" + ], + "filament_ramming_volumetric_speed": [ + "0.9", + "0.9", + "0.9" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL P2S.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL P2S.json index f3726eaa93..240ebd5486 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL P2S", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_05", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL P2S", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_05", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1.json index 2d726ce148..c64d5188c5 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL X1", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL X1", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.6", + "3.6" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json index b134616a28..2cc7fbb6f3 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json @@ -1,127 +1,54 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL X1C", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL X1C", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.6", + "3.6" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json index d99f6acf2d..f17756a8b3 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json @@ -1,278 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_02", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_02", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6", + "3.6", + "3.6", + "3.6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D.json b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D.json index 14091161d3..4aab4ed5fe 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @BBL X2D.json @@ -1,279 +1,100 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL X2D", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL X2D", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.6", + "3.6", + "3.6", + "3.6", + "3.6", + "3.6" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A @base.json b/resources/profiles/BBL/filament/Bambu TPU 95A @base.json index 7d94b0256c..82787c65ea 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A @base.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A @base.json @@ -1,27 +1,27 @@ { - "type": "filament", - "name": "Bambu TPU 95A @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFVCkX5w", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "88.7" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFVCkX5w", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json index 6654c53566..bf8526e1bf 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL A1", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_06", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_speed": [ - "nil" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL A1", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_06", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_speed": [ + "nil" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1M.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1M.json index 658003f5bd..a02dcb29ea 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1M.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL A1M", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_05", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_speed": [ - "nil" - ], - "hot_plate_temp": [ - "30" - ], - "hot_plate_temp_initial_layer": [ - "30" - ], - "textured_plate_temp": [ - "30" - ], - "textured_plate_temp_initial_layer": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL A1M", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_05", + "instantiation": "true", + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_speed": [ + "nil" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json index 27926d79eb..a9f31bef41 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.6 nozzle.json @@ -1,35 +1,35 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL A2L 0.6 nozzle", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_24", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "50" - ], - "filament_retraction_length": [ - "2.5" - ], - "filament_retraction_speed": [ - "100" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL A2L 0.6 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_24", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_retraction_length": [ + "2.5" + ], + "filament_retraction_speed": [ + "100" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json index e332366dad..b4eacb1a62 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L 0.8 nozzle.json @@ -1,35 +1,35 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL A2L 0.8 nozzle", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_25", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "50" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_speed": [ - "100" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL A2L 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_25", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "100" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L.json index 4a0835012a..44bcddd47b 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A2L.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL A2L", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_15", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "50" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_speed": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_min_speed": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL A2L", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_15", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_min_speed": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json index f451928fb0..e482736c0e 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.4 nozzle.json @@ -1,183 +1,140 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2C 0.4 nozzle", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_13", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "3.0", - "3.0" - ], - "filament_ramming_volumetric_speed_nc": [ - "3.0", - "3.0" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2C 0.4 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_13", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0", + "3.0" + ], + "filament_ramming_volumetric_speed_nc": [ + "3.0", + "3.0", + "3.0" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..d2368268d3 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C 0.8 nozzle.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2C 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0" + ], + "filament_ramming_volumetric_speed_nc": [ + "3.0", + "3.0" + ], + "filament_retract_length_nc": [ + "10", + "10" + ], + "filament_retraction_length": [ + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "70" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C.json index 347c0fc4d7..52fdb8633b 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2C.json @@ -1,184 +1,140 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2C", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_14", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "3.0", - "3.0" - ], - "filament_ramming_volumetric_speed_nc": [ - "3.0", - "3.0" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2C", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_14", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0", + "3.0" + ], + "filament_ramming_volumetric_speed_nc": [ + "3.0", + "3.0", + "3.0" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json index b061a22065..38726b7410 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.4 nozzle.json @@ -1,46 +1,65 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2D 0.4 nozzle", - "inherits": "Bambu TPU 95A HF @BBL H2D", - "from": "system", - "setting_id": "GFSU00_20", - "instantiation": "true", - "filament_deretraction_speed": [ - "10", - "10", - "50" - ], - "filament_retraction_length": [ - "2", - "2", - "0.8" - ], - "filament_retraction_speed": [ - "10", - "10", - "50" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Slope Lift" - ], - "nozzle_temperature": [ - "230", - "230", - "240" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "240" - ], - "slow_down_min_speed": [ - "10", - "10", - "40" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2D 0.4 nozzle", + "inherits": "Bambu TPU 95A HF @BBL H2D", + "from": "system", + "setting_id": "GFSU00_20", + "instantiation": "true", + "filament_deretraction_speed": [ + "10", + "10", + "50", + "10" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "filament_retraction_length": [ + "2", + "2", + "0.8", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "50", + "10" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Slope Lift", + "nil" + ], + "filament_bridge_speed": [ + "25", + "25", + "50", + "25" + ], + "nozzle_temperature": [ + "230", + "230", + "240", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "240", + "230" + ], + "slow_down_min_speed": [ + "10", + "10", + "40", + "10" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..04662c4e58 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2D 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0" + ], + "filament_retraction_length": [ + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D.json index 57f8ff236f..e4333a1576 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2D.json @@ -1,165 +1,281 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2D", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "40" - ], - "filament_flow_ratio": [ - "1", - "1", - "0.99" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "16" - ], - "filament_ramming_volumetric_speed": [ - "3.0", - "3.0", - "3.0" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "40" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230", - "235" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2D", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "40", + "10" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "0.99", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "16", + "12" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "25", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "25", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "25", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "25", + "10" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0", + "3.0", + "3.0" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "0.4", + "2" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "40", + "10" + ], + "filament_wipe": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "1", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Spiral Lift", + "nil" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "230", + "230", + "235", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "235", + "230" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "30", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json index c99895e092..721fae1b45 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.4 nozzle.json @@ -1,51 +1,56 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2DP 0.4 nozzle", - "inherits": "Bambu TPU 95A HF @BBL H2DP", - "from": "system", - "setting_id": "GFSU00_21", - "instantiation": "true", - "filament_deretraction_speed": [ - "10", - "10", - "50" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "16" - ], - "filament_retraction_length": [ - "2", - "2", - "0.8" - ], - "filament_retraction_speed": [ - "10", - "10", - "50" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Slope Lift" - ], - "nozzle_temperature": [ - "230", - "230", - "240" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "240" - ], - "slow_down_min_speed": [ - "10", - "10", - "40" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2DP 0.4 nozzle", + "inherits": "Bambu TPU 95A HF @BBL H2DP", + "from": "system", + "setting_id": "GFSU00_21", + "instantiation": "true", + "filament_bridge_speed": [ + "25", + "25", + "50" + ], + "filament_deretraction_speed": [ + "10", + "10", + "50" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "16" + ], + "filament_retraction_length": [ + "2", + "2", + "0.8" + ], + "filament_retraction_speed": [ + "10", + "10", + "50" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Slope Lift" + ], + "nozzle_temperature": [ + "230", + "230", + "240" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "240" + ], + "slow_down_min_speed": [ + "10", + "10", + "40" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..68762079c0 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2DP 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0" + ], + "filament_retraction_length": [ + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP.json index 181e7f9931..d0b0b6191f 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2DP.json @@ -1,165 +1,239 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2DP", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10", - "40" - ], - "filament_flow_ratio": [ - "1", - "1", - "0.99" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "3.0", - "3.0", - "3.0" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10", - "40" - ], - "filament_wipe": [ - "nil", - "nil", - "1" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "1" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230", - "235" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2DP", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "40" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "0.99" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "16" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "25" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "25" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "25" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "25" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "20" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "3.0", + "3.0", + "3.0" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "2", + "2", + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "10", + "10", + "40" + ], + "filament_wipe": [ + "nil", + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "1" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "Spiral Lift" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "230", + "230", + "235" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "235" + ], + "override_process_overhang_speed": [ + "0", + "0", + "1" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "30" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..c9afffaaf8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.6 nozzle.json @@ -0,0 +1,109 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2S 0.6 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..bbe70e2225 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S 0.8 nozzle.json @@ -0,0 +1,96 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2S 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "3", + "3" + ], + "filament_retraction_length": [ + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S.json index b48e66e6ae..82964bc87a 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL H2S.json @@ -1,142 +1,97 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL H2S", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "3", - "3" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "2", - "2" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "10", - "10" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL H2S", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_retraction_length": [ + "2", + "2", + "2" + ], + "filament_retraction_speed": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1P.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1P.json index 5cb160ae36..1a3cef67ba 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1P.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL P1P", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_02", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL P1P", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_02", + "instantiation": "true", + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json index e13dd4b154..7710412bc5 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL P1S", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_03", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL P1S", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_03", + "instantiation": "true", + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..949d9c0906 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.6 nozzle.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL P2S 0.6 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_31", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..a2665f6707 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S 0.8 nozzle.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL P2S 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_32", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S.json index 23b20373bb..ab6761cea9 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P2S.json @@ -1,176 +1,74 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL P2S", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL P2S", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1.json index df952405f8..41b3e48dfc 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL X1", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_01", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X1", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_01", + "instantiation": "true", + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json index 9f700cf01f..7bef00ce3f 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL X1C", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_00", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X1C", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_00", + "instantiation": "true", + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1E.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1E.json index e5a5db367f..b855400979 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1E.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL X1E", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_04", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X1E", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_04", + "instantiation": "true", + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json index b9ab2be6e6..f29d6d6f42 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json @@ -1,278 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8", - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..7b2087f6a4 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X2D 0.8 nozzle", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_33", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D.json index 8fd01e296c..c44f6842fc 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X2D.json @@ -1,279 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @BBL X2D", - "inherits": "Bambu TPU 95A HF @base", - "from": "system", - "setting_id": "GFSU00_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8", - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_extruder_compatibility": [ - "8" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU 95A HF @BBL X2D", + "inherits": "Bambu TPU 95A HF @base", + "from": "system", + "setting_id": "GFSU00_12", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "8" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU 95A HF @base.json b/resources/profiles/BBL/filament/Bambu TPU 95A HF @base.json index 9f977eb5b2..d13561f288 100644 --- a/resources/profiles/BBL/filament/Bambu TPU 95A HF @base.json +++ b/resources/profiles/BBL/filament/Bambu TPU 95A HF @base.json @@ -1,39 +1,39 @@ { - "type": "filament", - "name": "Bambu TPU 95A HF @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFvKUnLh", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "10" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retraction_length": [ - "2" - ], - "filament_retraction_speed": [ - "10" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "86.3" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ] -} + "type": "filament", + "name": "Bambu TPU 95A HF @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFvKUnLh", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "38.99" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_speed": [ + "10" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "86.3" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json index 5e46c3fc96..a892637409 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL A1", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_02", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_speed": [ - "nil" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL A1", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_02", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_speed": [ + "nil" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1M.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1M.json index 47baba277b..5d6371640b 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1M.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1M.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL A1M", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_03", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_speed": [ - "nil" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL A1M", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_03", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_speed": [ + "nil" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json index f4d92511dd..cbb5ed89f9 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.6 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL A2L 0.6 nozzle", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_21", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "90" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "19" - ], - "slow_down_min_speed": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL A2L 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_21", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "90" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "19" + ], + "slow_down_min_speed": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json index 02a3c85695..e05f85cd65 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L 0.8 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL A2L 0.8 nozzle", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_22", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "90" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "16" - ], - "slow_down_min_speed": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL A2L 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_22", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "90" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L.json index 3338821e07..f7558a1f12 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A2L.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL A2L", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_12", - "instantiation": "true", - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "pre_start_fan_time": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "35" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL A2L", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_12", + "instantiation": "true", + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "pre_start_fan_time": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "35" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json index 68b634336d..73f4e42208 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.4 nozzle.json @@ -1,186 +1,123 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL H2C 0.4 nozzle", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "4.5", - "4.5" - ], - "filament_ramming_volumetric_speed_nc": [ - "4.5", - "4.5" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2C 0.4 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_ramming_volumetric_speed_nc": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..0e54a2e1d5 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C 0.8 nozzle.json @@ -0,0 +1,121 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2C 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_25", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_ramming_volumetric_speed_nc": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "temperature_vitrification": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C.json index 2eca7e2354..74253e1452 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2C.json @@ -1,187 +1,123 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL H2C", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "4.5", - "4.5" - ], - "filament_ramming_volumetric_speed_nc": [ - "4.5", - "4.5" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2C", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_ramming_volumetric_speed_nc": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.6 nozzle.json new file mode 100644 index 0000000000..24405af162 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.6 nozzle.json @@ -0,0 +1,99 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2D 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_26", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.8 nozzle.json new file mode 100644 index 0000000000..cc9f65412d --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D 0.8 nozzle.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2D 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_27", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_preheat_temperature_delta": [ + "10", + "10" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D.json index 2762b73aed..22d29a0b08 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2D.json @@ -1,139 +1,82 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL H2D", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "4.5", - "4.5" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2D", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.6 nozzle.json new file mode 100644 index 0000000000..728ec60720 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.6 nozzle.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2DP 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_28", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.8 nozzle.json new file mode 100644 index 0000000000..405b96caa6 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP 0.8 nozzle.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2DP 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_29", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP.json index b4ca419611..641c6bd8b2 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2DP.json @@ -1,139 +1,72 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL H2DP", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "4.5", - "4.5" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2DP", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.6 nozzle.json new file mode 100644 index 0000000000..3791a37dfb --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.6 nozzle.json @@ -0,0 +1,129 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2S 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_24", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_ramming_volumetric_speed_nc": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.8 nozzle.json new file mode 100644 index 0000000000..785f6512f1 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S 0.8 nozzle.json @@ -0,0 +1,115 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2S 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_23", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_change_length": [ + "4" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5" + ], + "filament_ramming_volumetric_speed_nc": [ + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S.json index f497204aa0..195742bdb0 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL H2S.json @@ -1,145 +1,90 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL H2S", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "4.5", - "4.5" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL H2S", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "4.5", + "4.5", + "4.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..bf9b7554f8 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P 0.6 nozzle.json @@ -0,0 +1,61 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL P1P 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_16", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.97", + "0.975" + ], + "filament_max_volumetric_speed": [ + "18", + "6" + ], + "filament_retraction_length": [ + "0.4", + "0.2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P.json index e62c1e698b..80d40378a7 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P1P.json @@ -1,127 +1,53 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL P1P", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_01", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL P1P", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_01", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.6 nozzle.json new file mode 100644 index 0000000000..4f2c364ef4 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.6 nozzle.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL P2S 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_30", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.8 nozzle.json new file mode 100644 index 0000000000..fe6a92f21c --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S 0.8 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL P2S 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_31", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S.json index db5c9e608c..bf1249ebcb 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL P2S.json @@ -1,182 +1,80 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL P2S", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_05", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL P2S", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_05", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C 0.6 nozzle.json new file mode 100644 index 0000000000..f7e164fe81 --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C 0.6 nozzle.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL X1C 0.6 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_13", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.97", + "0.975" + ], + "filament_max_volumetric_speed": [ + "18", + "6" + ], + "filament_retraction_length": [ + "0.4", + "0.2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json index 6ad9b4e263..45b784e741 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json @@ -1,130 +1,55 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL X1C", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_00", - "instantiation": "true", - "fan_max_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @BBL X1C", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_00", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json index bb7ebd7daf..696a79e84a 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json @@ -1,278 +1,102 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.2", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.97", - "0.97", - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97", + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.2", + "0.4", + "0.2", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "temperature_vitrification": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.8 nozzle.json new file mode 100644 index 0000000000..116476ceeb --- /dev/null +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D 0.8 nozzle.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Bambu TPU for AMS @BBL X2D 0.8 nozzle", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_32", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97", + "0.97" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D.json index e5357ea399..ee378baeff 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X2D.json @@ -1,279 +1,99 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @BBL X2D", - "inherits": "Bambu TPU for AMS @base", - "from": "system", - "setting_id": "GFSU02_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "40" - ], - "filament_extruder_compatibility": [ - "16" - ], - "filament_flow_ratio": [ - "0.97", - "0.97", - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] + "type": "filament", + "name": "Bambu TPU for AMS @BBL X2D", + "inherits": "Bambu TPU for AMS @base", + "from": "system", + "setting_id": "GFSU02_08", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_extruder_compatibility": [ + "16" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97", + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/BBL/filament/Bambu TPU for AMS @base.json b/resources/profiles/BBL/filament/Bambu TPU for AMS @base.json index 5f0b03329f..d4830a3c60 100644 --- a/resources/profiles/BBL/filament/Bambu TPU for AMS @base.json +++ b/resources/profiles/BBL/filament/Bambu TPU for AMS @base.json @@ -1,66 +1,66 @@ { - "type": "filament", - "name": "Bambu TPU for AMS @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFIBbYO5", - "instantiation": "false", - "description": "If you are to print a kind of soft TPU, please don't slice with this profile, and it is only for TPU that has high enough hardness (not less than 55D) and is compatible with the AMS. To get better printing quality, please refer to this wiki: TPU printing guide.", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "38.99" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "10" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_length": [ - "2" - ], - "filament_retraction_speed": [ - "10" - ], - "filament_type": [ - "TPU-AMS" - ], - "filament_vendor": [ - "Bambu Lab" - ], - "impact_strength_z": [ - "9.6" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ] -} + "type": "filament", + "name": "Bambu TPU for AMS @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFIBbYO5", + "instantiation": "false", + "description": "If you are to print a kind of soft TPU, please don't slice with this profile, and it is only for TPU that has high enough hardness (not less than 55D) and is compatible with the AMS. To get better printing quality, please refer to this wiki: TPU printing guide.", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_speed": [ + "10" + ], + "filament_type": [ + "TPU-AMS" + ], + "filament_vendor": [ + "Bambu Lab" + ], + "impact_strength_z": [ + "9.6" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @base.json b/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @base.json deleted file mode 100644 index 95a8fd47ea..0000000000 --- a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @base.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "FusRock ABS-GF @base", - "inherits": "fdm_filament_common", - "from": "system", - "filament_id": "OFmn9NZL", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials(https://wiki.fusrock.com).", - "filament_extruder_variant": [ - "Direct Drive Standard" - ], - "filament_adhesiveness_category": [ - "200" - ], - "filament_type": [ - "ABS-GF" - ], - "filament_vendor": [ - "FusRock" - ], - "filament_flow_ratio": [ - "0.92" - ], - "filament_density": [ - "1.08" - ], - "filament_cost": [ - "13" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "cool_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "supertack_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "eng_plate_temp": [ - "105" - ], - "hot_plate_temp_initial_layer": [ - "105" - ], - "hot_plate_temp": [ - "105" - ], - "textured_plate_temp_initial_layer": [ - "105" - ], - "textured_plate_temp": [ - "105" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature": [ - "270" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "fan_min_speed": [ - "10" - ], - "fan_cooling_layer_time": [ - "12" - ], - "fan_max_speed": [ - "30" - ], - "slow_down_layer_time": [ - "4" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_min_speed": [ - "20" - ], - "enable_overhang_bridge_fan": [ - "1" - ], - "overhang_fan_threshold": [ - "10%" - ], - "overhang_threshold_participating_cooling": [ - "100%" - ], - "overhang_fan_speed": [ - "30" - ], - "pre_start_fan_time": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "activate_air_filtration": [ - "1" - ], - "during_print_exhaust_fan_speed": [ - "30" - ], - "complete_print_exhaust_fan_speed": [ - "10" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Spiral Lift" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ], - "filament_notes": "//EN\n1.Be sure to read it carefully before using (https://wiki.fusrock.com).\n2.When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials(https://wiki.fusrock.com).\\n3.Thank you for choosing us FusRock.\n*This setting may not be able to adapt to all models. In some cases, you need to modify and adjust the parameters by yourself to improve the printing effect.\n*FusRock 3D printing filaments are intended for general-purpose printing and have been tested under standard conditions. However, the performance and safety of printed objects are affected by multiple factors, including printing parameters, model design, usage environment, and the specific application.\n*By using FusRock materials, the user acknowledges and agrees to independently evaluate whether the printed parts are suitable for their intended use, and assumes all associated risks.\n*FusRock shall not be held liable for any damage, injury, or loss that may result from the use of printed products made with our materials, including but not limited to structural failure, functional defects, or safety hazards under actual usage conditions.Before applying printed parts in any critical, functional, or commercial context, thorough testing must be conducted. Except for the certifications explicitly stated for specific FusRock materials, our products are not certified for medical, aerospace, or life-support applications.\n//CN\n1.使用前请务必仔细阅读(https://wiki.fusrock.com)。\n2.打印该耗材时,可能会出现喷嘴堵塞、拉丝、翘边以及层间附着力不足等问题。为了获得更好的打印效果,请参考此维基页面:高温 / 工程材料打印技巧(https://wiki.fusrock.com)。\n3.感谢您选择FusRock。\n*此设置不一定能够适配所有模型,存在部分情况下需要您自行修改调整参数来提升打印效果。\n*FusRock 3D打印耗材适用于通用打印用途,已在标准条件下进行测试。然而,打印成品的性能与安全性受多种因素影响,包括打印参数、模型设计、使用环境及实际用途。\n*使用FusRock材料即表示用户已知悉并同意,自行评估打印件是否适用于其具体应用,并承担由此产生的全部风险。\n*FusRock对使用本公司耗材打印的产品在实际应用中可能导致的任何损害、伤害或损失不承担任何责任,包括但不限于结构失效、功能异常或使用环境中的安全隐患。在将打印件应用于关键、功能性或商业性场景前,请务必进行充分测试。除FusRock已标明材料所获得的各项认证资质外,FusRock产品未取得医疗、航天或生命支持系统认证资质。", - "impact_strength_z": [ - "5.3" - ] -} diff --git a/resources/profiles/BBL/filament/Generic ABS @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @0.2 nozzle.json index b37a33a8fe..ea692b1849 100644 --- a/resources/profiles/BBL/filament/Generic ABS @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @0.2 nozzle.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic ABS @0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL A1 0.2 nozzle.json index 094d26bee1..a094891d38 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL A1 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "filament", - "name": "Generic ABS @BBL A1 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_06", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL A1 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_06", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL A1.json b/resources/profiles/BBL/filament/Generic ABS @BBL A1.json index b2a4909f9c..4c9b38b183 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL A1.json @@ -1,34 +1,37 @@ { - "type": "filament", - "name": "Generic ABS @BBL A1", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_05", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL A1", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_05", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retraction_length": [ + "0.4" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.2 nozzle.json index 921bd56b9f..a95f8b7000 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.2 nozzle.json @@ -1,180 +1,83 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2C 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_18", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2C 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.4 nozzle.json index 1fd81f53d5..1262f2e87b 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2C 0.4 nozzle.json @@ -1,171 +1,108 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2C 0.4 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2C 0.4 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2C.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2C.json index e14004572f..4b2f542fdf 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2C.json @@ -1,172 +1,109 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2C", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_17", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "230", - "230" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2C", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_17", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "230", + "230", + "230" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2D 0.2 nozzle.json index 567b30c430..9495615771 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2D 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2D 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2D 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2D.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2D.json index 242cd40643..9a813fd06d 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2D.json @@ -1,130 +1,55 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2D", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2D", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2DP 0.2 nozzle.json index 0f3b6c1505..034c767566 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2DP 0.2 nozzle", - "inherits": "Generic ABS @0.2 nozzle", - "from": "system", - "setting_id": "GFSB99_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2DP 0.2 nozzle", + "inherits": "Generic ABS @0.2 nozzle", + "from": "system", + "setting_id": "GFSB99_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2DP.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2DP.json index ba21cde063..808befc013 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2DP", - "inherits": "Generic ABS", - "from": "system", - "setting_id": "GFSB99_11", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2DP", + "inherits": "Generic ABS", + "from": "system", + "setting_id": "GFSB99_11", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.2 nozzle.json index bc238da9d2..e412d22e80 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.2 nozzle.json @@ -1,131 +1,62 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2S 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_22", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2S 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "40" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.4 nozzle.json index 1bffdc2ba7..4e19da6ed8 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL H2S 0.4 nozzle.json @@ -1,127 +1,82 @@ { - "type": "filament", - "name": "Generic ABS @BBL H2S 0.4 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_21", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL H2S 0.4 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL P2S 0.2 nozzle.json index a94d0c097a..04624095b8 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL P2S 0.2 nozzle.json @@ -1,165 +1,56 @@ { - "type": "filament", - "name": "Generic ABS @BBL P2S 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL P2S 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL P2S.json b/resources/profiles/BBL/filament/Generic ABS @BBL P2S.json index 73300b11d2..b03f98831f 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL P2S.json @@ -1,167 +1,62 @@ { - "type": "filament", - "name": "Generic ABS @BBL P2S", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL P2S", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL X1E 0.2 nozzle.json index 3117363a52..946ef8f492 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL X1E 0.2 nozzle.json @@ -1,119 +1,42 @@ { - "type": "filament", - "name": "Generic ABS @BBL X1E 0.2 nozzle", - "inherits": "Generic ABS @0.2 nozzle", - "from": "system", - "setting_id": "GFSB99_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL X1E 0.2 nozzle", + "inherits": "Generic ABS @0.2 nozzle", + "from": "system", + "setting_id": "GFSB99_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL X1E.json b/resources/profiles/BBL/filament/Generic ABS @BBL X1E.json index f57c4510a2..5043419305 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL X1E.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic ABS @BBL X1E", - "inherits": "Generic ABS", - "from": "system", - "setting_id": "GFSB99_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL X1E", + "inherits": "Generic ABS", + "from": "system", + "setting_id": "GFSB99_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.2 nozzle.json index 4854d1c98b..7ef8a9eea3 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.2 nozzle.json @@ -1,266 +1,77 @@ { - "type": "filament", - "name": "Generic ABS @BBL X2D 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL X2D 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.4 nozzle.json index 7840aa4d8a..c4f4f032bd 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic ABS @BBL X2D 0.4 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "15", - "15", - "15", - "15" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL X2D 0.4 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15", + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @BBL X2D.json b/resources/profiles/BBL/filament/Generic ABS @BBL X2D.json index 354570652b..296f60a32c 100644 --- a/resources/profiles/BBL/filament/Generic ABS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic ABS @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic ABS @BBL X2D", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "15", - "15", - "15", - "15" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "270" - ], - "nozzle_temperature": [ - "270", - "270", - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ABS @BBL X2D", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_14", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15", + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "270" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS @base.json b/resources/profiles/BBL/filament/Generic ABS @base.json index d15a7cdfea..c38d4f371a 100644 --- a/resources/profiles/BBL/filament/Generic ABS @base.json +++ b/resources/profiles/BBL/filament/Generic ABS @base.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic ABS @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFY9muEs", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ] -} + "type": "filament", + "name": "Generic ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFY9muEs", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ABS.json b/resources/profiles/BBL/filament/Generic ABS.json index 40cfb23b7a..b740793514 100644 --- a/resources/profiles/BBL/filament/Generic ABS.json +++ b/resources/profiles/BBL/filament/Generic ABS.json @@ -1,22 +1,25 @@ { - "type": "filament", - "name": "Generic ABS", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "15" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retraction_length": [ + "0.4" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @0.2 nozzle.json index 535f48bf18..7e26d7bb66 100644 --- a/resources/profiles/BBL/filament/Generic ASA @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @0.2 nozzle.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic ASA @0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL A1 0.2 nozzle.json index d0d0a96895..9830140547 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL A1 0.2 nozzle.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic ASA @BBL A1 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL A1 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL A1.json b/resources/profiles/BBL/filament/Generic ASA @BBL A1.json index 1ec63fb6f8..282fab2763 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Generic ASA @BBL A1", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_04", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL A1", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_04", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.2 nozzle.json index 777de9e63b..54194fbb21 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.2 nozzle.json @@ -1,177 +1,80 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2C 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "220", - "220" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2C 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "220", + "220" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.4 nozzle.json index 0fbf7075a8..4fdada67bf 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2C 0.4 nozzle.json @@ -1,174 +1,111 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2C 0.4 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_17", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "220", - "220" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2C 0.4 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_17", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "220", + "220", + "220" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2C.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2C.json index c454519dcb..090c4aff5f 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2C.json @@ -1,175 +1,112 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2C", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_18", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "220", - "220" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2C", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "220", + "220", + "220" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2D 0.2 nozzle.json index 910c35b01d..5b34e05140 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2D 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2D 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2D 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2D.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2D.json index bab8005821..0ff6405d9d 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2D.json @@ -1,130 +1,55 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2D", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_06", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2D", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2DP 0.2 nozzle.json index b5a978207b..d18f10b86c 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2DP 0.2 nozzle", - "inherits": "Generic ASA @0.2 nozzle", - "from": "system", - "setting_id": "GFSB98_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2DP 0.2 nozzle", + "inherits": "Generic ASA @0.2 nozzle", + "from": "system", + "setting_id": "GFSB98_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2DP.json index f7b48b9538..cf40a83df7 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2DP", - "inherits": "Generic ASA", - "from": "system", - "setting_id": "GFSB98_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2DP", + "inherits": "Generic ASA", + "from": "system", + "setting_id": "GFSB98_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.2 nozzle.json index a7ae370b40..600499309e 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.2 nozzle.json @@ -1,146 +1,77 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2S 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_22", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2S 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.4 nozzle.json index 78479bbcf6..76f6c346c0 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL H2S 0.4 nozzle.json @@ -1,148 +1,103 @@ { - "type": "filament", - "name": "Generic ASA @BBL H2S 0.4 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_21", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL H2S 0.4 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL P2S 0.2 nozzle.json index 2a070f1652..5541d06861 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL P2S 0.2 nozzle.json @@ -1,183 +1,74 @@ { - "type": "filament", - "name": "Generic ASA @BBL P2S 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL P2S 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL P2S.json b/resources/profiles/BBL/filament/Generic ASA @BBL P2S.json index 9bf5026339..91646bd08f 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL P2S.json @@ -1,185 +1,80 @@ { - "type": "filament", - "name": "Generic ASA @BBL P2S", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL P2S", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL X1E 0.2 nozzle.json index 750118d31d..348c3e8e9e 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL X1E 0.2 nozzle.json @@ -1,119 +1,42 @@ { - "type": "filament", - "name": "Generic ASA @BBL X1E 0.2 nozzle", - "inherits": "Generic ASA @0.2 nozzle", - "from": "system", - "setting_id": "GFSB98_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL X1E 0.2 nozzle", + "inherits": "Generic ASA @0.2 nozzle", + "from": "system", + "setting_id": "GFSB98_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL X1E.json b/resources/profiles/BBL/filament/Generic ASA @BBL X1E.json index 1225e33b6a..0e0d8a0997 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL X1E.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic ASA @BBL X1E", - "inherits": "Generic ASA", - "from": "system", - "setting_id": "GFSB98_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL X1E", + "inherits": "Generic ASA", + "from": "system", + "setting_id": "GFSB98_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.2 nozzle.json index 84de220839..e53dae7455 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.2 nozzle.json @@ -1,266 +1,77 @@ { - "type": "filament", - "name": "Generic ASA @BBL X2D 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "2", - "2", - "2", - "2" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL X2D 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2", + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.4 nozzle.json index 4c17d0b666..ee7d814947 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic ASA @BBL X2D 0.4 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL X2D 0.4 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_14", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @BBL X2D.json b/resources/profiles/BBL/filament/Generic ASA @BBL X2D.json index 40c72ceee4..f2613130f1 100644 --- a/resources/profiles/BBL/filament/Generic ASA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic ASA @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic ASA @BBL X2D", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic ASA @BBL X2D", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA @base.json b/resources/profiles/BBL/filament/Generic ASA @base.json index 699fc64f7c..d860a37821 100644 --- a/resources/profiles/BBL/filament/Generic ASA @base.json +++ b/resources/profiles/BBL/filament/Generic ASA @base.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "Generic ASA @base", - "inherits": "fdm_filament_asa", - "from": "system", - "filament_id": "OFLPAxz3", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ] -} + "type": "filament", + "name": "Generic ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "OFLPAxz3", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic ASA.json b/resources/profiles/BBL/filament/Generic ASA.json index d5b6456db8..7e56eb37af 100644 --- a/resources/profiles/BBL/filament/Generic ASA.json +++ b/resources/profiles/BBL/filament/Generic ASA.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Generic ASA", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL A1.json b/resources/profiles/BBL/filament/Generic BVOH @BBL A1.json index 065a899291..c719bc4f8d 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Generic BVOH @BBL A1", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_02", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL A1", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL A1M.json b/resources/profiles/BBL/filament/Generic BVOH @BBL A1M.json index c3e7ea8742..c7c2bb1fbc 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL A1M.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Generic BVOH @BBL A1M", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_01", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL A1M", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL A2L.json b/resources/profiles/BBL/filament/Generic BVOH @BBL A2L.json index 2e2d66ea50..f90124864b 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL A2L.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Generic BVOH @BBL A2L", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_10", - "instantiation": "true", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL A2L", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_10", + "instantiation": "true", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic BVOH @BBL H2C 0.4 nozzle.json index bb5ed16dbe..2238cbdae1 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL H2C 0.4 nozzle.json @@ -1,177 +1,94 @@ { - "type": "filament", - "name": "Generic BVOH @BBL H2C 0.4 nozzle", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL H2C 0.4 nozzle", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL H2C.json b/resources/profiles/BBL/filament/Generic BVOH @BBL H2C.json index 6bdf0d5c99..6ad4f65689 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL H2C.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic BVOH @BBL H2C", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL H2C", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL H2D.json b/resources/profiles/BBL/filament/Generic BVOH @BBL H2D.json index 359f483a81..b6a467b3a0 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Generic BVOH @BBL H2D", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_03", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL H2D", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_03", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL H2DP.json b/resources/profiles/BBL/filament/Generic BVOH @BBL H2DP.json index 2133d66a0d..0e0c3a994b 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic BVOH @BBL H2DP", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL H2DP", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic BVOH @BBL H2S 0.4 nozzle.json index 8f9c236520..f6e2599e15 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL H2S 0.4 nozzle.json @@ -1,136 +1,76 @@ { - "type": "filament", - "name": "Generic BVOH @BBL H2S 0.4 nozzle", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL H2S 0.4 nozzle", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL P2S.json b/resources/profiles/BBL/filament/Generic BVOH @BBL P2S.json index b924559101..51e7f4f88f 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Generic BVOH @BBL P2S", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL P2S", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL X1C.json b/resources/profiles/BBL/filament/Generic BVOH @BBL X1C.json index 122196177a..278d9943ca 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Generic BVOH @BBL X1C", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL X1C", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic BVOH @BBL X2D 0.4 nozzle.json index a76d2f3bc8..b9321b9892 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Generic BVOH @BBL X2D 0.4 nozzle", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL X2D 0.4 nozzle", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @BBL X2D.json b/resources/profiles/BBL/filament/Generic BVOH @BBL X2D.json index feeb341891..b36508c030 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic BVOH @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic BVOH @BBL X2D", - "inherits": "Generic BVOH @base", - "from": "system", - "setting_id": "GFSS97_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic BVOH @BBL X2D", + "inherits": "Generic BVOH @base", + "from": "system", + "setting_id": "GFSS97_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic BVOH @base.json b/resources/profiles/BBL/filament/Generic BVOH @base.json index 4a0fdf358e..da0a8da1bb 100644 --- a/resources/profiles/BBL/filament/Generic BVOH @base.json +++ b/resources/profiles/BBL/filament/Generic BVOH @base.json @@ -1,11 +1,11 @@ { - "type": "filament", - "name": "Generic BVOH @base", - "inherits": "fdm_filament_bvoh", - "from": "system", - "filament_id": "OFo2UF2C", - "instantiation": "false", - "filament_adhesiveness_category": [ - "797" - ] -} + "type": "filament", + "name": "Generic BVOH @base", + "inherits": "fdm_filament_bvoh", + "from": "system", + "filament_id": "OFo2UF2C", + "instantiation": "false", + "filament_adhesiveness_category": [ + "797" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL A1.json b/resources/profiles/BBL/filament/Generic EVA @BBL A1.json index a6d8267096..1090e57594 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic EVA @BBL A1", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic EVA @BBL A1", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL A1M.json b/resources/profiles/BBL/filament/Generic EVA @BBL A1M.json index c0cae7fd4a..9d903da18d 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL A1M.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic EVA @BBL A1M", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "filament", + "name": "Generic EVA @BBL A1M", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL A2L.json b/resources/profiles/BBL/filament/Generic EVA @BBL A2L.json index 7f8afc4732..39d644ab35 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL A2L.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic EVA @BBL A2L", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_11", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic EVA @BBL A2L", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_11", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic EVA @BBL H2C 0.4 nozzle.json index d20e6c6608..614d08e93f 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic EVA @BBL H2C 0.4 nozzle", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_08", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL H2C 0.4 nozzle", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_08", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL H2C.json b/resources/profiles/BBL/filament/Generic EVA @BBL H2C.json index 5c32ec697a..91349159f1 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic EVA @BBL H2C", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_09", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL H2C", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_09", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL H2D.json b/resources/profiles/BBL/filament/Generic EVA @BBL H2D.json index 7c3a40e926..f71bc5f2d2 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic EVA @BBL H2D", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL H2D", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic EVA @BBL H2DP.json index 0bcb1c622d..1a845320ad 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic EVA @BBL H2DP", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_05", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL H2DP", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic EVA @BBL H2S 0.4 nozzle.json index ded79988ba..1effe071b2 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic EVA @BBL H2S 0.4 nozzle", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_12", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "40" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL H2S 0.4 nozzle", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_12", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL P2S.json b/resources/profiles/BBL/filament/Generic EVA @BBL P2S.json index 352bef9f8d..d59dd359af 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic EVA @BBL P2S", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_04", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL P2S", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL X1C.json b/resources/profiles/BBL/filament/Generic EVA @BBL X1C.json index 4de66e4b21..3e54162ac4 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic EVA @BBL X1C", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic EVA @BBL X1C", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic EVA @BBL X2D 0.4 nozzle.json index 02e31aa051..3f3277cb67 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic EVA @BBL X2D 0.4 nozzle", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL X2D 0.4 nozzle", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @BBL X2D.json b/resources/profiles/BBL/filament/Generic EVA @BBL X2D.json index 9730666950..3e447fb433 100644 --- a/resources/profiles/BBL/filament/Generic EVA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic EVA @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic EVA @BBL X2D", - "inherits": "Generic EVA @base", - "from": "system", - "setting_id": "GFSR99_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic EVA @BBL X2D", + "inherits": "Generic EVA @base", + "from": "system", + "setting_id": "GFSR99_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic EVA @base.json b/resources/profiles/BBL/filament/Generic EVA @base.json index 79308d5d37..987b77013d 100644 --- a/resources/profiles/BBL/filament/Generic EVA @base.json +++ b/resources/profiles/BBL/filament/Generic EVA @base.json @@ -1,83 +1,86 @@ { - "type": "filament", - "name": "Generic EVA @base", - "inherits": "fdm_filament_eva", - "from": "system", - "filament_id": "OFCD8qiU", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "21.99" - ], - "filament_density": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_low": [ - "175" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic EVA @base", + "inherits": "fdm_filament_eva", + "from": "system", + "filament_id": "OFCD8qiU", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_low": [ + "175" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A1 0.2 nozzle.json index fc12cd457b..9a75038819 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A1 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A1 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_05", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A1 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_05", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A1.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A1.json index b5c3f5a664..7ca8bbc16a 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A1.json @@ -1,31 +1,31 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A1", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_04", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A1", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_04", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A1M 0.2 nozzle.json index 07ca51b896..a2200be03c 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A1M 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A1M 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_03", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A1M 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_03", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A1M.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A1M.json index 78e10ef103..11c1000c23 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A1M.json @@ -1,31 +1,31 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A1M", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_02", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A1M", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_02", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A2L 0.2 nozzle.json index 88c952b8d6..bbb755bf1e 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A2L 0.2 nozzle.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A2L 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_18", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A2L 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_18", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL A2L.json b/resources/profiles/BBL/filament/Generic HIPS @BBL A2L.json index 9af02ee93a..7d51372d31 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL A2L.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic HIPS @BBL A2L", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_19", - "instantiation": "true", - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL A2L", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_19", + "instantiation": "true", + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.2 nozzle.json index 06ce0cbc13..bf887ab1a9 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.2 nozzle.json @@ -1,171 +1,78 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2C 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_17", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2C 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_17", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.4 nozzle.json index da9c295fc8..f55bddf14f 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C 0.4 nozzle.json @@ -1,171 +1,88 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2C 0.4 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_15", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2C 0.4 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_15", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C.json index 71ab193857..c4699ac65a 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2C.json @@ -1,172 +1,89 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2C", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_16", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "75" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2C", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_16", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "200", + "200", + "200" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "75" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2D 0.2 nozzle.json index 719d29fdfa..2cf9a6067f 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2D 0.2 nozzle.json @@ -1,125 +1,48 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2D 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_07", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2D 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_07", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2D.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2D.json index ff10ca843d..c198e26682 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2D.json @@ -1,127 +1,57 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2D", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_06", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2D", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_06", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP 0.2 nozzle.json index f37ed54947..c27f7b5a17 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP 0.2 nozzle.json @@ -1,125 +1,48 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2DP 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_11", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2DP 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_11", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP.json index 00f330d6ab..a534eca8c3 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2DP.json @@ -1,127 +1,50 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2DP", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2DP", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.2 nozzle.json index 75df44fcfe..4f7a78c954 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.2 nozzle.json @@ -1,119 +1,54 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2S 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_21", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2S 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_21", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.4 nozzle.json index 0701193a90..c290b8755f 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL H2S 0.4 nozzle.json @@ -1,121 +1,61 @@ { - "type": "filament", - "name": "Generic HIPS @BBL H2S 0.4 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_20", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL H2S 0.4 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_20", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL P2S 0.2 nozzle.json index 2dc6447076..7ce3c7c1cc 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL P2S 0.2 nozzle.json @@ -1,165 +1,60 @@ { - "type": "filament", - "name": "Generic HIPS @BBL P2S 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_09", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL P2S 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_09", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL P2S.json b/resources/profiles/BBL/filament/Generic HIPS @BBL P2S.json index d1e020aa46..86e6d953b3 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL P2S.json @@ -1,167 +1,67 @@ { - "type": "filament", - "name": "Generic HIPS @BBL P2S", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_08", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL P2S", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_08", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL X1C 0.2 nozzle.json index 7810d59b2e..47de7f95d7 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL X1C 0.2 nozzle.json @@ -1,123 +1,50 @@ { - "type": "filament", - "name": "Generic HIPS @BBL X1C 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL X1C 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL X1C.json b/resources/profiles/BBL/filament/Generic HIPS @BBL X1C.json index 842f64c74e..d69f4ca1e2 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Generic HIPS @BBL X1C", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL X1C", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.2 nozzle.json index 16d3e96621..4c8a2cb705 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.2 nozzle.json @@ -1,266 +1,77 @@ { - "type": "filament", - "name": "Generic HIPS @BBL X2D 0.2 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL X2D 0.2 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_14", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.4 nozzle.json index bd1986896c..2b340b6ac0 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic HIPS @BBL X2D 0.4 nozzle", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_12", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL X2D 0.4 nozzle", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_12", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D.json b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D.json index 940072f4a5..8bea0ce705 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic HIPS @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic HIPS @BBL X2D", - "inherits": "Generic HIPS @base", - "from": "system", - "setting_id": "GFSS98_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic HIPS @BBL X2D", + "inherits": "Generic HIPS @base", + "from": "system", + "setting_id": "GFSS98_13", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic HIPS @base.json b/resources/profiles/BBL/filament/Generic HIPS @base.json index a0df005ecc..5ec83e7881 100644 --- a/resources/profiles/BBL/filament/Generic HIPS @base.json +++ b/resources/profiles/BBL/filament/Generic HIPS @base.json @@ -1,11 +1,11 @@ { - "type": "filament", - "name": "Generic HIPS @base", - "inherits": "fdm_filament_hips", - "from": "system", - "filament_id": "OFsFon5l", - "instantiation": "false", - "filament_is_support": [ - "1" - ] -} + "type": "filament", + "name": "Generic HIPS @base", + "inherits": "fdm_filament_hips", + "from": "system", + "filament_id": "OFsFon5l", + "instantiation": "false", + "filament_is_support": [ + "1" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL A1.json b/resources/profiles/BBL/filament/Generic PA @BBL A1.json index 93a713df83..a995a42b31 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL A1.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PA @BBL A1", - "inherits": "Generic PA", - "from": "system", - "setting_id": "GFSN99_00", - "instantiation": "true", - "chamber_temperatures": [ - "0" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA @BBL A1", + "inherits": "Generic PA", + "from": "system", + "setting_id": "GFSN99_00", + "instantiation": "true", + "chamber_temperatures": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA @BBL H2C 0.4 nozzle.json index eeb46a95ff..267b5c24bf 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL H2C 0.4 nozzle.json @@ -1,171 +1,88 @@ { - "type": "filament", - "name": "Generic PA @BBL H2C 0.4 nozzle", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_06", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "220", - "220" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "temperature_vitrification": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA @BBL H2C 0.4 nozzle", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_06", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "220", + "220", + "220" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "temperature_vitrification": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL H2C.json b/resources/profiles/BBL/filament/Generic PA @BBL H2C.json index 65615430e6..211a60ca2c 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL H2C.json @@ -1,172 +1,89 @@ { - "type": "filament", - "name": "Generic PA @BBL H2C", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_07", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "220", - "220" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "temperature_vitrification": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA @BBL H2C", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_07", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "220", + "220", + "220" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "temperature_vitrification": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL H2D.json b/resources/profiles/BBL/filament/Generic PA @BBL H2D.json index 9e594ddb90..5d2382b5e1 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL H2D.json @@ -1,127 +1,57 @@ { - "type": "filament", - "name": "Generic PA @BBL H2D", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_01", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA @BBL H2D", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_01", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PA @BBL H2DP.json index 62287a716e..dbaee5f823 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL H2DP.json @@ -1,127 +1,50 @@ { - "type": "filament", - "name": "Generic PA @BBL H2DP", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_03", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "4", - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA @BBL H2DP", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_03", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA @BBL H2S 0.4 nozzle.json index 7fee81fd11..17d650e3d9 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL H2S 0.4 nozzle.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "Generic PA @BBL H2S 0.4 nozzle", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_12", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA @BBL H2S 0.4 nozzle", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_12", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "temperature_vitrification": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL P2S.json b/resources/profiles/BBL/filament/Generic PA @BBL P2S.json index fea73f2950..46e2fe4c59 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL P2S.json @@ -1,164 +1,59 @@ { - "type": "filament", - "name": "Generic PA @BBL P2S", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_02", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA @BBL P2S", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_02", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA @BBL X2D 0.4 nozzle.json index f8703664fe..06005616ac 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL X2D 0.4 nozzle.json @@ -1,263 +1,76 @@ { - "type": "filament", - "name": "Generic PA @BBL X2D 0.4 nozzle", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_04", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA @BBL X2D 0.4 nozzle", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_04", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @BBL X2D.json b/resources/profiles/BBL/filament/Generic PA @BBL X2D.json index 081a982513..fb5410d411 100644 --- a/resources/profiles/BBL/filament/Generic PA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PA @BBL X2D.json @@ -1,264 +1,77 @@ { - "type": "filament", - "name": "Generic PA @BBL X2D", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN99_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "260" - ], - "nozzle_temperature": [ - "260", - "260", - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260", - "260", - "260" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA @BBL X2D", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN99_05", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "260" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260", + "260", + "260", + "260" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA @base.json b/resources/profiles/BBL/filament/Generic PA @base.json index e6dad20449..bba2bff54b 100644 --- a/resources/profiles/BBL/filament/Generic PA @base.json +++ b/resources/profiles/BBL/filament/Generic PA @base.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Generic PA @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFg8ndtj", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "chamber_temperatures": [ - "60" - ], - "fan_cooling_layer_time": [ - "65" - ], - "fan_max_speed": [ - "85" - ], - "fan_min_speed": [ - "40" - ], - "filament_max_volumetric_speed": [ - "12" - ], + "type": "filament", + "name": "Generic PA @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFg8ndtj", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "65" + ], + "fan_max_speed": [ + "85" + ], + "fan_min_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "12" + ], "filament_dev_ams_drying_temperature": [ "65", "80", @@ -36,31 +36,31 @@ "filament_dev_drying_softening_temperature": [ "85" ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "95" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "3" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ] -} + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL A1.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL A1.json index 1950571c28..d35160d2be 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL A1.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL A1", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_01", - "instantiation": "true", - "temperature_vitrification": [ - "108" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL A1", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_01", + "instantiation": "true", + "temperature_vitrification": [ + "108" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C 0.4 nozzle.json index 830430cea4..05d7a22c85 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "130" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "130" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C.json index aa932ea447..c33ae0a90c 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2C.json @@ -1,175 +1,92 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL H2C", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "130" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL H2C", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "130" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2D.json index 9c295df735..47b846b4a8 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2D.json @@ -1,130 +1,60 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL H2D", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL H2D", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2DP.json index 125b577d1a..c4a8fbb2c8 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2DP.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL H2DP", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL H2DP", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2S 0.4 nozzle.json index 7af66ea34f..a6797dac4b 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL H2S 0.4 nozzle.json @@ -1,133 +1,73 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL H2S 0.4 nozzle", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN98_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "130" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL H2S 0.4 nozzle", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN98_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "130" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL P2S.json index f675bb6803..e6a74c5ef4 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL P2S.json @@ -1,167 +1,67 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL P2S", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN98_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL P2S", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN98_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL X1E.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL X1E.json index fbac5ee6d3..4f8e4e863b 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL X1E", - "inherits": "Generic PA-CF", - "from": "system", - "setting_id": "GFSN98_00", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL X1E", + "inherits": "Generic PA-CF", + "from": "system", + "setting_id": "GFSN98_00", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D 0.4 nozzle.json index e799f4bee8..8b70453f51 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN98_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN98_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D.json index 55a9e5601f..67f2112489 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL X2D", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN98_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL X2D", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN98_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF @base.json b/resources/profiles/BBL/filament/Generic PA-CF @base.json index 7c77ffe482..756d98b928 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PA-CF @base.json @@ -1,33 +1,36 @@ { - "type": "filament", - "name": "Generic PA-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFQLcbps", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_type": [ - "PA-CF" - ], - "full_fan_speed_layer": [ - "2" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "170" - ] -} + "type": "filament", + "name": "Generic PA-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFQLcbps", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_type": [ + "PA-CF" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "170" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA-CF.json b/resources/profiles/BBL/filament/Generic PA-CF.json index eaef22a467..d316826ea5 100644 --- a/resources/profiles/BBL/filament/Generic PA-CF.json +++ b/resources/profiles/BBL/filament/Generic PA-CF.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Generic PA-CF", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA-CF", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PA.json b/resources/profiles/BBL/filament/Generic PA.json index c543dfb5d2..ef3aa6526b 100644 --- a/resources/profiles/BBL/filament/Generic PA.json +++ b/resources/profiles/BBL/filament/Generic PA.json @@ -1,22 +1,22 @@ { - "type": "filament", - "name": "Generic PA", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN98", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN98", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @0.2 nozzle.json index 1f91e7819b..2aaddc1d97 100644 --- a/resources/profiles/BBL/filament/Generic PC @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @0.2 nozzle.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic PC @0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL A1 0.2 nozzle.json index 9c086ee516..12484bcf7f 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PC @BBL A1 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_08", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL A1 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_08", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL A1.json b/resources/profiles/BBL/filament/Generic PC @BBL A1.json index d27d005aa7..8da1f25885 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PC @BBL A1", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_07", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL A1", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_07", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.2 nozzle.json index a3aad0310b..a8ed1fae09 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.2 nozzle.json @@ -1,174 +1,81 @@ { - "type": "filament", - "name": "Generic PC @BBL H2C 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_20", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2C 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_20", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.4 nozzle.json index 96341294ac..3cbc4d7d04 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2C 0.4 nozzle.json @@ -1,174 +1,111 @@ { - "type": "filament", - "name": "Generic PC @BBL H2C 0.4 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_21", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2C 0.4 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_21", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2C.json b/resources/profiles/BBL/filament/Generic PC @BBL H2C.json index df406fff54..3f41a55f11 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2C.json @@ -1,175 +1,112 @@ { - "type": "filament", - "name": "Generic PC @BBL H2C", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_22", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "240", - "240" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2C", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_22", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "240", + "240", + "240" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL H2D 0.2 nozzle.json index f8364ea552..c999776cf7 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2D 0.2 nozzle.json @@ -1,128 +1,51 @@ { - "type": "filament", - "name": "Generic PC @BBL H2D 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2D 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2D.json b/resources/profiles/BBL/filament/Generic PC @BBL H2D.json index b896cb1d8e..47fb014f54 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2D.json @@ -1,130 +1,60 @@ { - "type": "filament", - "name": "Generic PC @BBL H2D", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_10", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2D", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_10", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL H2DP 0.2 nozzle.json index 30fefeea16..68becb1906 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,51 @@ { - "type": "filament", - "name": "Generic PC @BBL H2DP 0.2 nozzle", - "inherits": "Generic PC @0.2 nozzle", - "from": "system", - "setting_id": "GFSC99_15", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2DP 0.2 nozzle", + "inherits": "Generic PC @0.2 nozzle", + "from": "system", + "setting_id": "GFSC99_15", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PC @BBL H2DP.json index 3909e3f0af..8b75dc13d4 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2DP.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Generic PC @BBL H2DP", - "inherits": "Generic PC", - "from": "system", - "setting_id": "GFSC99_16", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2DP", + "inherits": "Generic PC", + "from": "system", + "setting_id": "GFSC99_16", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL H2S 0.2 nozzle.json index 68bce60e54..c50fc3489b 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2S 0.2 nozzle.json @@ -1,131 +1,66 @@ { - "type": "filament", - "name": "Generic PC @BBL H2S 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2S 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL H2S.json b/resources/profiles/BBL/filament/Generic PC @BBL H2S.json index 86d8644b6e..b425c60f05 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL H2S.json @@ -1,133 +1,93 @@ { - "type": "filament", - "name": "Generic PC @BBL H2S", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_11", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PC @BBL H2S", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_11", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL P1S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL P1S 0.2 nozzle.json index 1cb8865544..1a384446d0 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL P1S 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Generic PC @BBL P1S 0.2 nozzle", - "inherits": "Generic PC @0.2 nozzle", - "from": "system", - "setting_id": "GFSC99_03", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL P1S 0.2 nozzle", + "inherits": "Generic PC @0.2 nozzle", + "from": "system", + "setting_id": "GFSC99_03", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL P1S.json b/resources/profiles/BBL/filament/Generic PC @BBL P1S.json index eddd0f3b07..19b146fcb8 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL P1S.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL P1S.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Generic PC @BBL P1S", - "inherits": "Generic PC", - "from": "system", - "setting_id": "GFSC99_04", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL P1S", + "inherits": "Generic PC", + "from": "system", + "setting_id": "GFSC99_04", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL P2S 0.2 nozzle.json index 9462fe110a..7a9760120a 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL P2S 0.2 nozzle.json @@ -1,183 +1,78 @@ { - "type": "filament", - "name": "Generic PC @BBL P2S 0.2 nozzle", - "inherits": "Generic PC @0.2 nozzle", - "from": "system", - "setting_id": "GFSC99_13", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PC @BBL P2S 0.2 nozzle", + "inherits": "Generic PC @0.2 nozzle", + "from": "system", + "setting_id": "GFSC99_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL P2S.json b/resources/profiles/BBL/filament/Generic PC @BBL P2S.json index 2ebfebc7d8..54960ffdb6 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL P2S.json @@ -1,185 +1,85 @@ { - "type": "filament", - "name": "Generic PC @BBL P2S", - "inherits": "Generic PC", - "from": "system", - "setting_id": "GFSC99_14", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PC @BBL P2S", + "inherits": "Generic PC", + "from": "system", + "setting_id": "GFSC99_14", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL X1E 0.2 nozzle.json index ab5cb290e1..931d3b1495 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL X1E 0.2 nozzle.json @@ -1,122 +1,49 @@ { - "type": "filament", - "name": "Generic PC @BBL X1E 0.2 nozzle", - "inherits": "Generic PC @0.2 nozzle", - "from": "system", - "setting_id": "GFSC99_05", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL X1E 0.2 nozzle", + "inherits": "Generic PC @0.2 nozzle", + "from": "system", + "setting_id": "GFSC99_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL X1E.json b/resources/profiles/BBL/filament/Generic PC @BBL X1E.json index 98787f054e..80e9a6c901 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Generic PC @BBL X1E", - "inherits": "Generic PC", - "from": "system", - "setting_id": "GFSC99_06", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL X1E", + "inherits": "Generic PC", + "from": "system", + "setting_id": "GFSC99_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.2 nozzle.json index a78168d21c..758091daa3 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.2 nozzle.json @@ -1,266 +1,77 @@ { - "type": "filament", - "name": "Generic PC @BBL X2D 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PC @BBL X2D 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_17", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.4 nozzle.json index f0af348f0e..2b9331cbe1 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic PC @BBL X2D 0.4 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PC @BBL X2D 0.4 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_18", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @BBL X2D.json b/resources/profiles/BBL/filament/Generic PC @BBL X2D.json index dcc901e61d..934e618447 100644 --- a/resources/profiles/BBL/filament/Generic PC @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PC @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic PC @BBL X2D", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.94", - "0.94", - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "280" - ], - "nozzle_temperature": [ - "280", - "280", - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270", - "270", - "270" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PC @BBL X2D", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_19", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.94", + "0.94", + "0.94", + "0.94", + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "280" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "280", + "280", + "280", + "280", + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270", + "270", + "270", + "270", + "270" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC @base.json b/resources/profiles/BBL/filament/Generic PC @base.json index b61c2296b5..4226a49f5d 100644 --- a/resources/profiles/BBL/filament/Generic PC @base.json +++ b/resources/profiles/BBL/filament/Generic PC @base.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic PC @base", - "inherits": "fdm_filament_pc", - "from": "system", - "filament_id": "OFLakOUI", - "instantiation": "false", - "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "16" - ] -} + "type": "filament", + "name": "Generic PC @base", + "inherits": "fdm_filament_pc", + "from": "system", + "filament_id": "OFLakOUI", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "16" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PC.json b/resources/profiles/BBL/filament/Generic PC.json index 5c31679456..6e8cbc2c6e 100644 --- a/resources/profiles/BBL/filament/Generic PC.json +++ b/resources/profiles/BBL/filament/Generic PC.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PC", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PC", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL A1.json b/resources/profiles/BBL/filament/Generic PCTG @BBL A1.json index 0d50315158..0d7ddda1cb 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL A1.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Generic PCTG @BBL A1", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_01", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL A1", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL A1M.json b/resources/profiles/BBL/filament/Generic PCTG @BBL A1M.json index 1009d7e522..3f02a3a3e8 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL A1M.json @@ -1,13 +1,13 @@ { - "type": "filament", - "name": "Generic PCTG @BBL A1M", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_02", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL A1M", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL A2L.json b/resources/profiles/BBL/filament/Generic PCTG @BBL A2L.json index 4908632fd1..0188b6396f 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL A2L.json @@ -1,19 +1,19 @@ { - "type": "filament", - "name": "Generic PCTG @BBL A2L", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_10", - "instantiation": "true", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL A2L", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_10", + "instantiation": "true", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PCTG @BBL H2C 0.4 nozzle.json index 8c4b384ba1..cc4ccc4df7 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL H2C 0.4 nozzle.json @@ -1,171 +1,78 @@ { - "type": "filament", - "name": "Generic PCTG @BBL H2C 0.4 nozzle", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_08", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL H2C 0.4 nozzle", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_08", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL H2C.json b/resources/profiles/BBL/filament/Generic PCTG @BBL H2C.json index 1111bf79dd..a6d2f7b961 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL H2C.json @@ -1,172 +1,79 @@ { - "type": "filament", - "name": "Generic PCTG @BBL H2C", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_09", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL H2C", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_09", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL H2D.json b/resources/profiles/BBL/filament/Generic PCTG @BBL H2D.json index 6b12183d0d..6c4652cdd7 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL H2D.json @@ -1,127 +1,47 @@ { - "type": "filament", - "name": "Generic PCTG @BBL H2D", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_03", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL H2D", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_03", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PCTG @BBL H2DP.json index 76b8c3a828..2fba98ad14 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL H2DP.json @@ -1,127 +1,42 @@ { - "type": "filament", - "name": "Generic PCTG @BBL H2DP", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_05", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL H2DP", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_05", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PCTG @BBL H2S 0.4 nozzle.json index 4d93a98047..7ba47da8ea 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL H2S 0.4 nozzle.json @@ -1,130 +1,60 @@ { - "type": "filament", - "name": "Generic PCTG @BBL H2S 0.4 nozzle", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_11", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "60" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL H2S 0.4 nozzle", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_11", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL P2S.json b/resources/profiles/BBL/filament/Generic PCTG @BBL P2S.json index 0931564b87..dc6f419172 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL P2S.json @@ -1,167 +1,57 @@ { - "type": "filament", - "name": "Generic PCTG @BBL P2S", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_04", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL P2S", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_04", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL X1C.json b/resources/profiles/BBL/filament/Generic PCTG @BBL X1C.json index 1380331a77..38af07cac9 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL X1C.json @@ -1,133 +1,52 @@ { - "type": "filament", - "name": "Generic PCTG @BBL X1C", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL X1C", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PCTG @BBL X2D 0.4 nozzle.json index df0ea56d94..9468465fc3 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL X2D 0.4 nozzle.json @@ -1,266 +1,79 @@ { - "type": "filament", - "name": "Generic PCTG @BBL X2D 0.4 nozzle", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL X2D 0.4 nozzle", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_06", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @BBL X2D.json b/resources/profiles/BBL/filament/Generic PCTG @BBL X2D.json index df1601a0d1..f27677f209 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PCTG @BBL X2D.json @@ -1,267 +1,80 @@ { - "type": "filament", - "name": "Generic PCTG @BBL X2D", - "inherits": "Generic PCTG @base", - "from": "system", - "setting_id": "GFSG97_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PCTG @BBL X2D", + "inherits": "Generic PCTG @base", + "from": "system", + "setting_id": "GFSG97_07", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PCTG @base.json b/resources/profiles/BBL/filament/Generic PCTG @base.json index 2eea3496a3..f4b8444275 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @base.json +++ b/resources/profiles/BBL/filament/Generic PCTG @base.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Generic PCTG @base", - "inherits": "fdm_filament_pctg", - "from": "system", - "filament_id": "OFu1evlr", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "28.99" - ], - "filament_density": [ - "1.29" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "6" - ], + "type": "filament", + "name": "Generic PCTG @base", + "inherits": "fdm_filament_pctg", + "from": "system", + "filament_id": "OFu1evlr", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "28.99" + ], + "filament_density": [ + "1.29" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "6" + ], "filament_dev_chamber_drying_bed_temperature": [ "80" ], @@ -66,37 +66,37 @@ "filament_dev_drying_softening_temperature": [ "60" ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "90" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "90" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL A1.json b/resources/profiles/BBL/filament/Generic PE @BBL A1.json index 570275aa34..39e2445109 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PE @BBL A1", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE @BBL A1", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL A1M.json b/resources/profiles/BBL/filament/Generic PE @BBL A1M.json index a8ce6f5860..c1127d4123 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL A1M.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PE @BBL A1M", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE @BBL A1M", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL A2L.json b/resources/profiles/BBL/filament/Generic PE @BBL A2L.json index 010887c67a..831832b034 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL A2L.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PE @BBL A2L", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_10", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PE @BBL A2L", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_10", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE @BBL H2C 0.4 nozzle.json index 2fdd6dfb3b..0620cbf5c5 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PE @BBL H2C 0.4 nozzle", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_08", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE @BBL H2C 0.4 nozzle", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_08", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL H2C.json b/resources/profiles/BBL/filament/Generic PE @BBL H2C.json index 84601671d0..9f8d92f68d 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic PE @BBL H2C", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_09", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE @BBL H2C", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_09", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL H2D.json b/resources/profiles/BBL/filament/Generic PE @BBL H2D.json index d3ab2a6d47..4488fc82b9 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic PE @BBL H2D", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE @BBL H2D", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PE @BBL H2DP.json index 204e484f6c..0764a31a50 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic PE @BBL H2DP", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_05", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE @BBL H2DP", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE @BBL H2S 0.4 nozzle.json index 5abcc9fb83..63fa707cc9 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic PE @BBL H2S 0.4 nozzle", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_11", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE @BBL H2S 0.4 nozzle", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_11", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL P2S.json b/resources/profiles/BBL/filament/Generic PE @BBL P2S.json index 8527b90373..beda73d06f 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic PE @BBL P2S", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_04", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE @BBL P2S", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL X1C.json b/resources/profiles/BBL/filament/Generic PE @BBL X1C.json index 4875f9950a..b6c33141eb 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic PE @BBL X1C", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE @BBL X1C", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE @BBL X2D 0.4 nozzle.json index 5db7dad391..639d0db200 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PE @BBL X2D 0.4 nozzle", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE @BBL X2D 0.4 nozzle", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @BBL X2D.json b/resources/profiles/BBL/filament/Generic PE @BBL X2D.json index 1d33204d49..57d7b3f760 100644 --- a/resources/profiles/BBL/filament/Generic PE @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PE @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic PE @BBL X2D", - "inherits": "Generic PE @base", - "from": "system", - "setting_id": "GFSP99_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8", - "8", - "8" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE @BBL X2D", + "inherits": "Generic PE @base", + "from": "system", + "setting_id": "GFSP99_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8", + "8", + "8", + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE @base.json b/resources/profiles/BBL/filament/Generic PE @base.json index d9bdfc84a5..f286dabbd4 100644 --- a/resources/profiles/BBL/filament/Generic PE @base.json +++ b/resources/profiles/BBL/filament/Generic PE @base.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PE @base", - "inherits": "fdm_filament_pe", - "from": "system", - "filament_id": "OFPklMI1", - "instantiation": "false", - "filament_cost": [ - "40.99" - ], - "filament_density": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_adhesiveness_category": [ - "901" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "175" - ], - "temperature_vitrification": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PE @base", + "inherits": "fdm_filament_pe", + "from": "system", + "filament_id": "OFPklMI1", + "instantiation": "false", + "filament_cost": [ + "40.99" + ], + "filament_density": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_adhesiveness_category": [ + "901" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "175" + ], + "temperature_vitrification": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL A1.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL A1.json index 8fb197041f..50584fff90 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL A1", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL A1", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL A1M.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL A1M.json index f01619fe37..2e3b4b4bf4 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL A1M.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL A1M", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL A1M", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL A2L.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL A2L.json index 49e57d939f..163a86dbc6 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL A2L.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL A2L", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_10", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL A2L", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_10", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C 0.4 nozzle.json index 5e444e7926..76b9551c6d 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C 0.4 nozzle.json @@ -1,177 +1,94 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C.json index 47ec6b69cf..4d48c0d584 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2C.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL H2C", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "170", - "170" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL H2C", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "170", + "170", + "170" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2D.json index e9e7db6446..3af5c5c3d2 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL H2D", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_03", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL H2D", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_03", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2DP.json index e545f0fac7..455af49506 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL H2DP", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL H2DP", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2S 0.4 nozzle.json index 01f3d21dc3..2e65986a1f 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL H2S 0.4 nozzle.json @@ -1,136 +1,76 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL H2S 0.4 nozzle", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL H2S 0.4 nozzle", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL P2S.json index b713f1a3ec..9b7a6166db 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL P2S", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL P2S", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL X1C.json index 6413db2fdb..a8ba7158f4 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL X1C.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL X1C", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL X1C", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D 0.4 nozzle.json index a4d7d0aa2a..92a476c117 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D.json index 630ad14c1e..01a9694628 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PE-CF @BBL X2D", - "inherits": "Generic PE-CF @base", - "from": "system", - "setting_id": "GFSP98_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "210" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "210", - "210", - "210", - "210" - ], - "nozzle_temperature_initial_layer": [ - "210", - "210", - "210", - "210" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PE-CF @BBL X2D", + "inherits": "Generic PE-CF @base", + "from": "system", + "setting_id": "GFSP98_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "210" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210", + "210", + "210", + "210", + "210" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PE-CF @base.json b/resources/profiles/BBL/filament/Generic PE-CF @base.json index 655a30e41e..d638297441 100644 --- a/resources/profiles/BBL/filament/Generic PE-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PE-CF @base.json @@ -1,41 +1,41 @@ { - "type": "filament", - "name": "Generic PE-CF @base", - "inherits": "fdm_filament_pe", - "from": "system", - "filament_id": "OFd0Fv0k", - "instantiation": "false", - "filament_cost": [ - "65.99" - ], - "filament_density": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PE-CF" - ], - "filament_adhesiveness_category": [ - "901" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "175" - ], - "temperature_vitrification": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PE-CF @base", + "inherits": "fdm_filament_pe", + "from": "system", + "filament_id": "OFd0Fv0k", + "instantiation": "false", + "filament_cost": [ + "65.99" + ], + "filament_density": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PE-CF" + ], + "filament_adhesiveness_category": [ + "901" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "175" + ], + "temperature_vitrification": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @0.2 nozzle.json index d308ac9d7e..0c415d9844 100644 --- a/resources/profiles/BBL/filament/Generic PETG @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @0.2 nozzle.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "Generic PETG @0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL A1 0.2 nozzle.json index 2e371d99f9..8be927cabe 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A1 0.2 nozzle.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Generic PETG @BBL A1 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A1 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A1.json b/resources/profiles/BBL/filament/Generic PETG @BBL A1.json index 00a50550fe..ef9cc612fb 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic PETG @BBL A1", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A1", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL A1M 0.2 nozzle.json index 462dfb4049..7abc1a0652 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A1M 0.2 nozzle.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PETG @BBL A1M 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A1M 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A1M.json b/resources/profiles/BBL/filament/Generic PETG @BBL A1M.json index 5c31f2eacb..83ce33ee7b 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A1M.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PETG @BBL A1M", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A1M", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL A2L 0.2 nozzle.json index bfce104d88..84808dd0d7 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A2L 0.2 nozzle.json @@ -1,26 +1,26 @@ { - "type": "filament", - "name": "Generic PETG @BBL A2L 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_21", - "instantiation": "true", - "filament_flush_temp_fast": [ - "255" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A2L 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_21", + "instantiation": "true", + "filament_flush_temp_fast": [ + "255" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL A2L.json b/resources/profiles/BBL/filament/Generic PETG @BBL A2L.json index 62f2c876b5..64d95945d1 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL A2L.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Generic PETG @BBL A2L", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_22", - "instantiation": "true", - "filament_flush_temp_fast": [ - "255" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PETG @BBL A2L", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_22", + "instantiation": "true", + "filament_flush_temp_fast": [ + "255" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.2 nozzle.json index e252904409..fb92858690 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.2 nozzle.json @@ -1,174 +1,81 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2C 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_20", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2C 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_20", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.4 nozzle.json index 2d726beb14..45204a656a 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2C 0.4 nozzle.json @@ -1,174 +1,116 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2C 0.4 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_18", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2C 0.4 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_18", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2C.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2C.json index e853d20f76..e73b442d97 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2C.json @@ -1,175 +1,117 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2C", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_19", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2C", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_19", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2D 0.2 nozzle.json index f52322b556..f15490d650 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2D 0.2 nozzle.json @@ -1,125 +1,44 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2D 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_06", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2D 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_06", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2D.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2D.json index f71227f3f4..f69e5c6ad3 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2D.json @@ -1,127 +1,52 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2D", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_05", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2D", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_05", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2DP 0.2 nozzle.json index 3b4d4fda65..9b3db34823 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2DP 0.2 nozzle.json @@ -1,125 +1,44 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2DP 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_14", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2DP 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_14", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2DP.json index e4b22419c3..6cbef8f4ce 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2DP.json @@ -1,127 +1,46 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2DP", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_13", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2DP", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_13", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2S 0.2 nozzle.json index 79ef05bdd0..94c8446116 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2S 0.2 nozzle.json @@ -1,125 +1,56 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2S 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_08", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2S 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_08", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL H2S.json b/resources/profiles/BBL/filament/Generic PETG @BBL H2S.json index a761a4afb3..154c1094d8 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL H2S.json @@ -1,127 +1,82 @@ { - "type": "filament", - "name": "Generic PETG @BBL H2S", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_07", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL H2S", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_07", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL P2S 0.2 nozzle.json index 033a2aaf0d..ca225ca3ac 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL P2S 0.2 nozzle.json @@ -1,165 +1,56 @@ { - "type": "filament", - "name": "Generic PETG @BBL P2S 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_12", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL P2S 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_12", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL P2S.json b/resources/profiles/BBL/filament/Generic PETG @BBL P2S.json index d676dda67a..f3138a608d 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL P2S.json @@ -1,167 +1,62 @@ { - "type": "filament", - "name": "Generic PETG @BBL P2S", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_09", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL P2S", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_09", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.2 nozzle.json index 952532b483..82240ccef4 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.2 nozzle.json @@ -1,266 +1,77 @@ { - "type": "filament", - "name": "Generic PETG @BBL X2D 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL X2D 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_17", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.4 nozzle.json index 44ea0d462b..82f9a99de7 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic PETG @BBL X2D 0.4 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL X2D 0.4 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_15", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @BBL X2D.json b/resources/profiles/BBL/filament/Generic PETG @BBL X2D.json index 0ffb3c2ec0..a304ef6972 100644 --- a/resources/profiles/BBL/filament/Generic PETG @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PETG @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic PETG @BBL X2D", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG @BBL X2D", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_16", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG @base.json b/resources/profiles/BBL/filament/Generic PETG @base.json index 9fce0893ce..8d7b2da4fa 100644 --- a/resources/profiles/BBL/filament/Generic PETG @base.json +++ b/resources/profiles/BBL/filament/Generic PETG @base.json @@ -1,65 +1,65 @@ { - "type": "filament", - "name": "Generic PETG @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFYPdQJh", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFYPdQJh", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1 0.2 nozzle.json index 3dcc9b8fb4..099dfcc30a 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1 0.2 nozzle.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A1 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_05", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A1 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_05", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1.json index 14bfa688a6..5f7c2112c0 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A1", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_04", - "instantiation": "true", - "filament_retraction_length": [ - "0.4" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A1", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_04", + "instantiation": "true", + "filament_retraction_length": [ + "0.4" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M 0.2 nozzle.json index 84972c2cd7..0b499781ae 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M 0.2 nozzle.json @@ -1,11 +1,11 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A1M 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_07", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A1M 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_07", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M.json index 26a86d9d36..233d6f0d96 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A1M.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A1M", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_06", - "instantiation": "true", - "filament_retraction_length": [ - "0.4" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A1M", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_06", + "instantiation": "true", + "filament_retraction_length": [ + "0.4" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L 0.2 nozzle.json index 2599094d1e..10770bd12e 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L 0.2 nozzle.json @@ -1,23 +1,23 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A2L 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_20", - "instantiation": "true", - "filament_flush_temp_fast": [ - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A2L 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_20", + "instantiation": "true", + "filament_flush_temp_fast": [ + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L.json index 6c1582d465..dcaedaf69c 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL A2L.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL A2L", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_21", - "instantiation": "true", - "filament_flush_temp_fast": [ - "220" - ], - "filament_retraction_length": [ - "0.4" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL A2L", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_21", + "instantiation": "true", + "filament_flush_temp_fast": [ + "220" + ], + "filament_retraction_length": [ + "0.4" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.2 nozzle.json index d4b72d6747..bd018277f2 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.2 nozzle.json @@ -1,174 +1,77 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2C 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_19", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "205", - "205" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "pre_start_fan_time": [ - "2" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2C 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_19", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "205", + "205" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "pre_start_fan_time": [ + "2" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.4 nozzle.json index 450f208606..62636d5e82 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,111 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2C 0.4 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_17", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2C 0.4 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_17", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C.json index e603865aff..da1017048e 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2C.json @@ -1,175 +1,112 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2C", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_18", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.97", - "0.97" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2C", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_18", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.97", + "0.97", + "0.97" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D 0.2 nozzle.json index 1cea9673b0..600d96f045 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D 0.2 nozzle.json @@ -1,125 +1,40 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2D 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_09", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2D 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_09", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D.json index be2f636abe..2818415ba3 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2D.json @@ -1,127 +1,52 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2D", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_08", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2D", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_08", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json index 24db4dfdcb..fd48dad992 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP 0.2 nozzle.json @@ -1,125 +1,40 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2DP 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_13", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2DP 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_13", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP.json index 60f9c5b472..00943fdd36 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2DP.json @@ -1,127 +1,46 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2DP", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_12", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2DP", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_12", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.2 nozzle.json index e3da519133..30bf4eb540 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.2 nozzle.json @@ -1,119 +1,46 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2S 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_23", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2S 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_23", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.4 nozzle.json index ef0e4c2484..510a7cf7f0 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL H2S 0.4 nozzle.json @@ -1,121 +1,71 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL H2S 0.4 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_22", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL H2S 0.4 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_22", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P 0.2 nozzle.json index 4c4f4a6473..f1c4f5ed06 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P 0.2 nozzle.json @@ -1,119 +1,38 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL P1P 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL P1P 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P.json index 8c6ad70b29..77b10307b9 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1P.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL P1P", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_02", - "instantiation": "true", - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL P1P", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_02", + "instantiation": "true", + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.4 nozzle.json new file mode 100644 index 0000000000..1b95667681 --- /dev/null +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.4 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Generic PETG HF @BBL P1S 0.4 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_26", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.6 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.6 nozzle.json new file mode 100644 index 0000000000..e001db1b67 --- /dev/null +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P1S 0.6 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Generic PETG HF @BBL P1S 0.6 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_25", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.2 nozzle.json index 7b4ee0feb9..e2bc00bfb5 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.2 nozzle.json @@ -1,165 +1,52 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL P2S 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_11", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL P2S 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_11", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.4 nozzle.json index ae267ccb31..8dcec1db76 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S 0.4 nozzle.json @@ -1,165 +1,66 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL P2S 0.4 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_24", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "240", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL P2S 0.4 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_24", + "instantiation": "true", + "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flush_temp": [ + "240", + "0", + "240" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S.json index 7e2184289b..cbe50861cd 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL P2S.json @@ -1,166 +1,61 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL P2S", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL P2S", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X1 0.6 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1 0.6 nozzle.json new file mode 100644 index 0000000000..b91dcf6873 --- /dev/null +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1 0.6 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Generic PETG HF @BBL X1 0.6 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_27", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C 0.2 nozzle.json index d15b26a5ec..afb1f036d1 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C 0.2 nozzle.json @@ -1,122 +1,41 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL X1C 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL X1C 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C.json index 1232d758ef..c667488f82 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X1C.json @@ -1,130 +1,48 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL X1C", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_00", - "instantiation": "true", - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL X1C", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_00", + "instantiation": "true", + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.2 nozzle.json index fab213e03d..0131943783 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.2 nozzle.json @@ -1,266 +1,71 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL X2D 0.2 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL X2D 0.2 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_16", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.4 nozzle.json index 0aa0826fcd..d4cfdc9fc9 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL X2D 0.4 nozzle", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL X2D 0.4 nozzle", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_14", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D.json index 0e9381abae..3ff655ec13 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic PETG HF @BBL X2D", - "inherits": "Generic PETG HF @base", - "from": "system", - "setting_id": "GFSG96_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG HF @BBL X2D", + "inherits": "Generic PETG HF @base", + "from": "system", + "setting_id": "GFSG96_15", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG HF @base.json b/resources/profiles/BBL/filament/Generic PETG HF @base.json index c756285013..1212ab9f41 100644 --- a/resources/profiles/BBL/filament/Generic PETG HF @base.json +++ b/resources/profiles/BBL/filament/Generic PETG HF @base.json @@ -1,71 +1,71 @@ { - "type": "filament", - "name": "Generic PETG HF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OF7lOgYF", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.28" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "25" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PETG HF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OF7lOgYF", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.28" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "25" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL A1.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL A1.json index d15b2594ca..ce31f210d3 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL A1", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL A1", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL A2L.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL A2L.json index 3936c4b090..3ea13e1da8 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL A2L.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL A2L", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_11", - "instantiation": "true", - "filament_flush_temp_fast": [ - "255" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL A2L", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_11", + "instantiation": "true", + "filament_flush_temp_fast": [ + "255" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json index 50e41672f4..e2dc6c43da 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C 0.4 nozzle.json @@ -1,183 +1,90 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C.json index 26119cd309..fffb6a6e49 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2C.json @@ -1,184 +1,91 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL H2C", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_09", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "215", - "215" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "temperature_vitrification": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL H2C", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_09", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "215", + "215", + "215" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "temperature_vitrification": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2D.json index 293180b9cd..063d30a279 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2D.json @@ -1,139 +1,59 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL H2D", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL H2D", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2DP.json index 2d551d5f46..d0e4ff8752 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2DP.json @@ -1,139 +1,54 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL H2DP", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL H2DP", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2S.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2S.json index f5c0d4fdff..585f656ab1 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL H2S.json @@ -1,139 +1,74 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL H2S", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "0" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL H2S", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "nil", + "0", + "nil" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL P2S.json index 077f1e0c8c..e1944cca5d 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL P2S.json @@ -1,179 +1,69 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL P2S", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL P2S", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X1C.json index 3fca9e53f9..46dda5c26d 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X1C.json @@ -1,142 +1,61 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL X1C", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG50", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL X1C", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG50", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json index 8d09db5733..73db99b2ce 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json @@ -1,278 +1,91 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5", - "11.5", - "11.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5", + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D.json index 63ecfe6fa5..2309a91389 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @BBL X2D.json @@ -1,279 +1,92 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL X2D", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5", - "11.5", - "11.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "255" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "255", - "255", - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255", - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL X2D", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5", + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "255" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255", + "255", + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG-CF @base.json b/resources/profiles/BBL/filament/Generic PETG-CF @base.json index 4f2f6ed3f9..0cf0faa3c9 100644 --- a/resources/profiles/BBL/filament/Generic PETG-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PETG-CF @base.json @@ -1,74 +1,74 @@ { - "type": "filament", - "name": "Generic PETG-CF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFoYSJKi", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG-CF" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PETG-CF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFoYSJKi", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PETG.json b/resources/profiles/BBL/filament/Generic PETG.json index 3f04b02a3f..4052484a56 100644 --- a/resources/profiles/BBL/filament/Generic PETG.json +++ b/resources/profiles/BBL/filament/Generic PETG.json @@ -1,22 +1,22 @@ { - "type": "filament", - "name": "Generic PETG", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL A1.json b/resources/profiles/BBL/filament/Generic PHA @BBL A1.json index 41cd622c87..32f3fd84a9 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PHA @BBL A1", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PHA @BBL A1", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL A1M.json b/resources/profiles/BBL/filament/Generic PHA @BBL A1M.json index 881d4cd47b..a3c6158000 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL A1M.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PHA @BBL A1M", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PHA @BBL A1M", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL A2L.json b/resources/profiles/BBL/filament/Generic PHA @BBL A2L.json index 6fa1b48bde..55c1640f2a 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL A2L.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PHA @BBL A2L", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_10", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle", - "Bambu Lab A2L 0.4 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PHA @BBL A2L", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_10", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PHA @BBL H2C 0.4 nozzle.json index f2217f38f2..df3bf156db 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PHA @BBL H2C 0.4 nozzle", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_08", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL H2C 0.4 nozzle", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_08", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL H2C.json b/resources/profiles/BBL/filament/Generic PHA @BBL H2C.json index ba9d4b46ce..1bcacd3c03 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic PHA @BBL H2C", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_09", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL H2C", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_09", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL H2D.json b/resources/profiles/BBL/filament/Generic PHA @BBL H2D.json index af8836c575..43fd6c61be 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic PHA @BBL H2D", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL H2D", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PHA @BBL H2DP.json index 21574e4ee1..373ff783a0 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic PHA @BBL H2DP", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_05", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL H2DP", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PHA @BBL H2S 0.4 nozzle.json index b9ab3740c2..3e46256165 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic PHA @BBL H2S 0.4 nozzle", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_11", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "45" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL H2S 0.4 nozzle", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_11", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL P2S.json b/resources/profiles/BBL/filament/Generic PHA @BBL P2S.json index 9b156885d0..8d85a309e6 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic PHA @BBL P2S", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_04", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL P2S", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL X1C.json b/resources/profiles/BBL/filament/Generic PHA @BBL X1C.json index e5cb995ec6..2a7fd6891d 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic PHA @BBL X1C", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PHA @BBL X1C", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PHA @BBL X2D 0.4 nozzle.json index d385da7295..aee19ed325 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PHA @BBL X2D 0.4 nozzle", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL X2D 0.4 nozzle", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @BBL X2D.json b/resources/profiles/BBL/filament/Generic PHA @BBL X2D.json index e46a4dde77..a9a9b06986 100644 --- a/resources/profiles/BBL/filament/Generic PHA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PHA @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic PHA @BBL X2D", - "inherits": "Generic PHA @base", - "from": "system", - "setting_id": "GFSR98_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PHA @BBL X2D", + "inherits": "Generic PHA @base", + "from": "system", + "setting_id": "GFSR98_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PHA @base.json b/resources/profiles/BBL/filament/Generic PHA @base.json index fe2373ff7c..c78cbd9a6e 100644 --- a/resources/profiles/BBL/filament/Generic PHA @base.json +++ b/resources/profiles/BBL/filament/Generic PHA @base.json @@ -1,8 +1,8 @@ { - "type": "filament", - "name": "Generic PHA @base", - "inherits": "fdm_filament_pha", - "from": "system", - "filament_id": "OF74KeQR", - "instantiation": "false" -} + "type": "filament", + "name": "Generic PHA @base", + "inherits": "fdm_filament_pha", + "from": "system", + "filament_id": "OF74KeQR", + "instantiation": "false" +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @0.2 nozzle.json index aa26520b18..deefbc71d4 100644 --- a/resources/profiles/BBL/filament/Generic PLA @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @0.2 nozzle.json @@ -1,23 +1,23 @@ { - "type": "filament", - "name": "Generic PLA @0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "type": "filament", + "name": "Generic PLA @0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.6" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL A1 0.2 nozzle.json index 150e05abb7..b8a5916bc3 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PLA @BBL A1 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A1 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A1.json b/resources/profiles/BBL/filament/Generic PLA @BBL A1.json index a921481845..864344b169 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A1.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Generic PLA @BBL A1", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A1", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL A1M 0.2 nozzle.json index 30a5984880..5d3c65d906 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PLA @BBL A1M 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A1M 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A1M.json b/resources/profiles/BBL/filament/Generic PLA @BBL A1M.json index 7592e4d054..783863506c 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A1M.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Generic PLA @BBL A1M", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A1M", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL A2L 0.2 nozzle.json index f5207ee1d0..a39086e72a 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A2L 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "Generic PLA @BBL A2L 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A2L 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL A2L.json b/resources/profiles/BBL/filament/Generic PLA @BBL A2L.json index d5c951a78f..30427dea0c 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL A2L.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Generic PLA @BBL A2L", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_24", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA @BBL A2L", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_24", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.2 nozzle.json index 02dd3a5f48..634dc781c4 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.2 nozzle.json @@ -1,180 +1,91 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2C 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_22", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2C 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_22", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.4 nozzle.json index 468699489e..9489ef729a 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2C 0.4 nozzle.json @@ -1,180 +1,122 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2C 0.4 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2C 0.4 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2C.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2C.json index 5e0433e39a..334c18e36c 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2C.json @@ -1,181 +1,123 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2C", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2C", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2D 0.2 nozzle.json index 23d0426d92..1b21eb75be 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2D 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2D 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2D 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2D.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2D.json index 02ae1c7228..92d1d6d5c7 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2D", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2D", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2DP 0.2 nozzle.json index 7b9e9d498b..7fec3e7924 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2DP 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2DP 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2DP.json index a82e91dff2..86f0e63424 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2DP", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2DP", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2S 0.2 nozzle.json index 06e2434064..c04a5a7f1d 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2S 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2S 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL H2S.json b/resources/profiles/BBL/filament/Generic PLA @BBL H2S.json index 440384f4e7..d43e487d30 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL H2S.json @@ -1,136 +1,96 @@ { - "type": "filament", - "name": "Generic PLA @BBL H2S", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL H2S", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL P2S 0.2 nozzle.json index e74986f789..2fdaa256f9 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL P2S 0.2 nozzle.json @@ -1,171 +1,66 @@ { - "type": "filament", - "name": "Generic PLA @BBL P2S 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL P2S 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL P2S.json b/resources/profiles/BBL/filament/Generic PLA @BBL P2S.json index 2272e1b769..1590ded45a 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Generic PLA @BBL P2S", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL P2S", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.2 nozzle.json index e4869e8bdd..0c2606bf20 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.2 nozzle.json @@ -1,272 +1,83 @@ { - "type": "filament", - "name": "Generic PLA @BBL X2D 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_19", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6", - "1.6", - "1.6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL X2D 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_19", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6", + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.4 nozzle.json index 0459c3fd56..d24b8e890c 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Generic PLA @BBL X2D 0.4 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL X2D 0.4 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @BBL X2D.json b/resources/profiles/BBL/filament/Generic PLA @BBL X2D.json index 5504d3dd84..1faa70bed2 100644 --- a/resources/profiles/BBL/filament/Generic PLA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PLA @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PLA @BBL X2D", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_18", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA @BBL X2D", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA @base.json b/resources/profiles/BBL/filament/Generic PLA @base.json index 8e166fe212..285c3aa9eb 100644 --- a/resources/profiles/BBL/filament/Generic PLA @base.json +++ b/resources/profiles/BBL/filament/Generic PLA @base.json @@ -1,18 +1,18 @@ { - "type": "filament", - "name": "Generic PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFDSrzZ8", - "instantiation": "false", - "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", - "filament_flow_ratio": [ - "0.98" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFDSrzZ8", + "instantiation": "false", + "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", + "filament_flow_ratio": [ + "0.98" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json index fbfb00551d..5e696d1ef1 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A1 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A1 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1.json index 2f4b1e6e3d..08abf18047 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A1", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A1", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json index 74a56574b5..b043e52658 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M 0.2 nozzle.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A1M 0.2 nozzle", - "inherits": "Generic PLA High Speed @BBL A1M", - "from": "system", - "setting_id": "GFSL95_07", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A1M 0.2 nozzle", + "inherits": "Generic PLA High Speed @BBL A1M", + "from": "system", + "setting_id": "GFSL95_07", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M.json index cab5fbbedc..a052820c45 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A1M", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A1M", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json index a10f03de18..868cae23cf 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A2L 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_22", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "40" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A2L 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_22", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "40" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L.json index d3bf1ac5b8..88ff48657c 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL A2L.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL A2L", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_23", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "6" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL A2L", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_23", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json index 5a8a52641a..736f9d5b73 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.2 nozzle.json @@ -1,180 +1,91 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2C 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_21", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2C 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_21", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json index e3114fb4a5..1978b96cf3 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C 0.4 nozzle.json @@ -1,183 +1,125 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2C 0.4 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_19", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2C 0.4 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_19", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C.json index bdb8905b0d..e7083107ef 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2C.json @@ -1,184 +1,126 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2C", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_20", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2C", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_20", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json index d9f2031f98..81eb3070fb 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2D 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2D 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D.json index 2b61d46727..98e43fec75 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2D.json @@ -1,136 +1,66 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2D", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2D", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json index ec808a7446..6420060c97 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2DP 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2DP 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP.json index 8191d93f7f..04df3f4e6f 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2DP.json @@ -1,136 +1,59 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2DP", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_14", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2DP", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json index 745a286152..23633f4ce4 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2S 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2S 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S.json index 79b0dead71..97706a18ab 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL H2S.json @@ -1,139 +1,99 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL H2S", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL H2S", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json index 8b71e5209b..ae9b7cd6e4 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL P1P 0.2 nozzle", - "inherits": "Generic PLA High Speed @BBL P1P", - "from": "system", - "setting_id": "GFSL95_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL P1P 0.2 nozzle", + "inherits": "Generic PLA High Speed @BBL P1P", + "from": "system", + "setting_id": "GFSL95_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P.json index a4ac9709ae..9c36600779 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL P1P", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL P1P", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json index 1f5f5644ab..ae545f8d76 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S 0.2 nozzle.json @@ -1,174 +1,69 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL P2S 0.2 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_13", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL P2S 0.2 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S.json index 546e65ce27..9e45a0db6d 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL P2S.json @@ -1,176 +1,76 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL P2S", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL P2S", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json index 9694ec5bbb..4d1639b736 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json @@ -1,18 +1,18 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL X1C 0.2 nozzle", - "inherits": "Generic PLA High Speed @BBL X1C", - "from": "system", - "setting_id": "GFSL95_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL X1C 0.2 nozzle", + "inherits": "Generic PLA High Speed @BBL X1C", + "from": "system", + "setting_id": "GFSL95_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C.json index 0248772693..0ceae719e0 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C.json @@ -1,136 +1,63 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL X1C", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL X1C", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json index df1a884f06..f963772aac 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json @@ -1,42 +1,42 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", - "inherits": "Generic PLA High Speed @BBL X1C", - "from": "system", - "setting_id": "GFSL95_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "retraction_distances_when_ec": [ - "3", - "3" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", + "inherits": "Generic PLA High Speed @BBL X1C", + "from": "system", + "setting_id": "GFSL95_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "retraction_distances_when_ec": [ + "3", + "3" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json index a094687796..198ad36a8d 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json @@ -1,275 +1,96 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_16", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "4" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D.json b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D.json index 180ace5a9f..1115381a50 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @BBL X2D.json @@ -1,276 +1,97 @@ { - "type": "filament", - "name": "Generic PLA High Speed @BBL X2D", - "inherits": "Generic PLA High Speed @base", - "from": "system", - "setting_id": "GFSL95_17", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "18", - "18", - "18", - "18" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "slow_down_layer_time": [ - "4" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @BBL X2D", + "inherits": "Generic PLA High Speed @base", + "from": "system", + "setting_id": "GFSL95_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA High Speed @base.json b/resources/profiles/BBL/filament/Generic PLA High Speed @base.json index 9fd751ae44..fc6c29c211 100644 --- a/resources/profiles/BBL/filament/Generic PLA High Speed @base.json +++ b/resources/profiles/BBL/filament/Generic PLA High Speed @base.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "Generic PLA High Speed @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFmpMwxS", - "instantiation": "false", - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "slow_down_layer_time": [ - "8" - ] -} + "type": "filament", + "name": "Generic PLA High Speed @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFmpMwxS", + "instantiation": "false", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "slow_down_layer_time": [ + "8" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1.json index e57cb22e16..0e6eb66ffc 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL A1", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "7.5" - ], - "filament_retraction_length": [ - "0.5" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL A1", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1M.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1M.json index d2e5d12bb5..ba7582a9e1 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL A1M", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "7.5" - ], - "filament_retraction_length": [ - "0.5" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL A1M", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A2L.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A2L.json index e8db9edc9a..9a5a78e075 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL A2L.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL A2L", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "filament_max_volumetric_speed": [ - "7.5" - ], - "filament_retraction_length": [ - "0.5" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL A2L", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json index 730b5e0f02..c48a46337c 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C 0.4 nozzle.json @@ -1,180 +1,122 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL H2C 0.4 nozzle", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL H2C 0.4 nozzle", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C.json index 1d75400976..61201273f0 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2C.json @@ -1,181 +1,123 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL H2C", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.99", - "0.99" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL H2C", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.99", + "0.99", + "0.99" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2D.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2D.json index 5d8001bda9..284b27ee8d 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL H2D", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_02", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL H2D", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_02", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2DP.json index d27582671e..dbbc13a500 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL H2DP", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL H2DP", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2S.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2S.json index 987ad0b4c0..100e03b3c9 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL H2S.json @@ -1,139 +1,99 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL H2S", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "1", - "1" - ], - "filament_wipe_distance": [ - "1", - "1" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "Spiral Lift", - "Spiral Lift" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL H2S", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "filament_wipe": [ + "1", + "1", + "1" + ], + "filament_wipe_distance": [ + "1", + "1", + "1" + ], + "filament_z_hop_types": [ + "Spiral Lift", + "Spiral Lift", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL P2S.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL P2S.json index 6aa7e0cc4b..28597851fb 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL P2S.json @@ -1,173 +1,78 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL P2S", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_03", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.5", - "0.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL P2S", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_03", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.5", + "0.5", + "0.5" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json index 22ac6a6d7a..bf5faa157c 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json @@ -1,272 +1,101 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5", - "7.5", - "7.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5", + "7.5", + "7.5", + "7.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.5", + "0.5", + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D.json b/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D.json index 05fa8b0263..5e82201ebf 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @BBL X2D.json @@ -1,273 +1,102 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL X2D", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL96_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.98", - "0.98", - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "7.5", - "7.5", - "7.5", - "7.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL X2D", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL96_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98", + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5", + "7.5", + "7.5", + "7.5", + "7.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.5", + "0.5", + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk @base.json b/resources/profiles/BBL/filament/Generic PLA Silk @base.json index 41bc486e88..d287b098a4 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk @base.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk @base.json @@ -1,24 +1,24 @@ { - "type": "filament", - "name": "Generic PLA Silk @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFesA6rF", - "instantiation": "false", - "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", - "filament_flow_ratio": [ - "0.98" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA Silk @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFesA6rF", + "instantiation": "false", + "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", + "filament_flow_ratio": [ + "0.98" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA Silk.json b/resources/profiles/BBL/filament/Generic PLA Silk.json index 9758fd1517..b9dce32b37 100644 --- a/resources/profiles/BBL/filament/Generic PLA Silk.json +++ b/resources/profiles/BBL/filament/Generic PLA Silk.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Generic PLA Silk", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL99_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "7.5" - ], - "filament_retraction_length": [ - "0.5" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "type": "filament", + "name": "Generic PLA Silk", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL99_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "0.5" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1.json index 540e54edd4..e53f2d35c1 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL A1", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL A1", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1M.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1M.json index 8483f075f8..b5b005424c 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL A1M", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL A1M", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A2L.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A2L.json index 9a94369480..ea16b27319 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL A2L.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL A2L", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_flush_temp_fast": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL A2L", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_flush_temp_fast": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json index 98e1f99a5b..f2aeb5d559 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C.json index 29befe21c2..f203c1b94d 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2C.json @@ -1,175 +1,92 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL H2C", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_retract_length_nc": [ - "18", - "18" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL H2C", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_retract_length_nc": [ + "18", + "18", + "18" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2D.json index 40f7ee140d..9629844415 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2D.json @@ -1,133 +1,58 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL H2D", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_02", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL H2D", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_02", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2DP.json index ab44a93115..25176e2b10 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2DP.json @@ -1,133 +1,52 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL H2DP", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL H2DP", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2S.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2S.json index 4ba41919e5..7bdd82a338 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL H2S.json @@ -1,133 +1,73 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL H2S", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "0" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL H2S", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "nil", + "0", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL P2S.json index 3d56a89a63..adef1f79ab 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL P2S.json @@ -1,173 +1,68 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL P2S", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_03", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL P2S", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_03", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json index 89b2b2c72e..07f760089c 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D.json index 823f303441..32f7c7edc2 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL X2D", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL X2D", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF @base.json b/resources/profiles/BBL/filament/Generic PLA-CF @base.json index ffbcaad864..c9194ad76b 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF @base.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PLA-CF @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFWbdGsC", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_type": [ - "PLA-CF" - ], - "required_nozzle_HRC": [ - "40" - ], - "supertack_plate_temp": [ - "50" - ], - "supertack_plate_temp_initial_layer": [ - "50" - ], - "slow_down_layer_time": [ - "7" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA-CF @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFWbdGsC", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_type": [ + "PLA-CF" + ], + "required_nozzle_HRC": [ + "40" + ], + "supertack_plate_temp": [ + "50" + ], + "supertack_plate_temp_initial_layer": [ + "50" + ], + "slow_down_layer_time": [ + "7" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA-CF.json b/resources/profiles/BBL/filament/Generic PLA-CF.json index 0ad045f0f9..198072a86d 100644 --- a/resources/profiles/BBL/filament/Generic PLA-CF.json +++ b/resources/profiles/BBL/filament/Generic PLA-CF.json @@ -1,25 +1,25 @@ { - "type": "filament", - "name": "Generic PLA-CF", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "type": "filament", + "name": "Generic PLA-CF", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PLA.json b/resources/profiles/BBL/filament/Generic PLA.json index 4b99799313..ed6d69aa8e 100644 --- a/resources/profiles/BBL/filament/Generic PLA.json +++ b/resources/profiles/BBL/filament/Generic PLA.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic PLA", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "type": "filament", + "name": "Generic PLA", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL A1.json b/resources/profiles/BBL/filament/Generic PP @BBL A1.json index 9d9aba8e63..4c4b6c1710 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PP @BBL A1", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP @BBL A1", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL A1M.json b/resources/profiles/BBL/filament/Generic PP @BBL A1M.json index db378f2fb1..3c4907f8c9 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL A1M.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PP @BBL A1M", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP @BBL A1M", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL A2L.json b/resources/profiles/BBL/filament/Generic PP @BBL A2L.json index e8ea2d9f54..11bf9a7c04 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL A2L.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PP @BBL A2L", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_11", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "pre_start_fan_time": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PP @BBL A2L", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_11", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "pre_start_fan_time": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP @BBL H2C 0.4 nozzle.json index f82945ba5d..c26dae20e7 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PP @BBL H2C 0.4 nozzle", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_09", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP @BBL H2C 0.4 nozzle", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_09", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL H2C.json b/resources/profiles/BBL/filament/Generic PP @BBL H2C.json index 7904a38119..0c440b4df4 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic PP @BBL H2C", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_10", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP @BBL H2C", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_10", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL H2D.json b/resources/profiles/BBL/filament/Generic PP @BBL H2D.json index 9f9f1a90af..2410ce3cc9 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic PP @BBL H2D", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_04", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP @BBL H2D", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PP @BBL H2DP.json index a50d682f44..b88298b5eb 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic PP @BBL H2DP", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_06", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP @BBL H2DP", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP @BBL H2S 0.4 nozzle.json index 5ba388e5ae..7bf4a1d6b4 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic PP @BBL H2S 0.4 nozzle", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_12", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP @BBL H2S 0.4 nozzle", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_12", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL P2S.json b/resources/profiles/BBL/filament/Generic PP @BBL P2S.json index 502e2baee2..0a37f15e29 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic PP @BBL P2S", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_05", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP @BBL P2S", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL X1C.json b/resources/profiles/BBL/filament/Generic PP @BBL X1C.json index 41d0a02f28..9c452c18e3 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic PP @BBL X1C", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP @BBL X1C", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP @BBL X2D 0.4 nozzle.json index 1dc84c927b..8f46f07f1d 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PP @BBL X2D 0.4 nozzle", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP @BBL X2D 0.4 nozzle", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @BBL X2D.json b/resources/profiles/BBL/filament/Generic PP @BBL X2D.json index 27a96daa13..61590c5403 100644 --- a/resources/profiles/BBL/filament/Generic PP @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PP @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic PP @BBL X2D", - "inherits": "Generic PP @base", - "from": "system", - "setting_id": "GFSP97_08", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12", - "12", - "12" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP @BBL X2D", + "inherits": "Generic PP @base", + "from": "system", + "setting_id": "GFSP97_08", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12", + "12", + "12", + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP @base.json b/resources/profiles/BBL/filament/Generic PP @base.json index 94847d67e9..218bc35093 100644 --- a/resources/profiles/BBL/filament/Generic PP @base.json +++ b/resources/profiles/BBL/filament/Generic PP @base.json @@ -1,8 +1,8 @@ { - "type": "filament", - "name": "Generic PP @base", - "inherits": "fdm_filament_pp", - "from": "system", - "filament_id": "OF1UNk9P", - "instantiation": "false" -} + "type": "filament", + "name": "Generic PP @base", + "inherits": "fdm_filament_pp", + "from": "system", + "filament_id": "OF1UNk9P", + "instantiation": "false" +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL A1.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL A1.json index b74a4ce593..3c3ad6cfd1 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL A1", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL A1", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C 0.4 nozzle.json index 31dba2afa7..8b357127db 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_07", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C.json index 1a34b1491c..777889fdd3 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL H2C", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_08", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL H2C", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_08", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2D.json index 8065f9ce90..80e603bd6d 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL H2D", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL H2D", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2DP.json index 96aa86e940..c34bcd9070 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL H2DP", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_04", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL H2DP", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2S 0.4 nozzle.json index de8f2b55e5..d4cd1841ef 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL H2S 0.4 nozzle", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_10", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL H2S 0.4 nozzle", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_10", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL P2S.json index 4fae174f0f..5c071468df 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL P2S", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL P2S", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL X1C.json index 3daa064fb8..3f7b641a99 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL X1C", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL X1C", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D 0.4 nozzle.json index 04b944dac3..b3dc273d46 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D.json index 592172649d..ce02b609b1 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic PP-CF @BBL X2D", - "inherits": "Generic PP-CF @base", - "from": "system", - "setting_id": "GFSP96_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-CF @BBL X2D", + "inherits": "Generic PP-CF @base", + "from": "system", + "setting_id": "GFSP96_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-CF @base.json b/resources/profiles/BBL/filament/Generic PP-CF @base.json index e04ee56b6d..c6c61c735b 100644 --- a/resources/profiles/BBL/filament/Generic PP-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PP-CF @base.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PP-CF @base", - "inherits": "fdm_filament_pp", - "from": "system", - "filament_id": "OFXkm8q1", - "instantiation": "false", - "filament_cost": [ - "77.99" - ], - "filament_density": [ - "1.01" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PP-CF" - ] -} + "type": "filament", + "name": "Generic PP-CF @base", + "inherits": "fdm_filament_pp", + "from": "system", + "filament_id": "OFXkm8q1", + "instantiation": "false", + "filament_cost": [ + "77.99" + ], + "filament_density": [ + "1.01" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PP-CF" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL A1.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL A1.json index 9b1e043775..b8d3231f45 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL A1.json @@ -1,14 +1,14 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL A1", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_00", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL A1", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_00", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C 0.4 nozzle.json index 2c96691c1e..70a93a056d 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C 0.4 nozzle.json @@ -1,178 +1,95 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL H2C 0.4 nozzle", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_06", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL H2C 0.4 nozzle", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_06", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C.json index 1622a69a3d..39ca551932 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2C.json @@ -1,179 +1,96 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL H2C", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_07", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "195", - "195" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "50" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL H2C", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_07", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "195", + "195", + "195" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2D.json index ad2153589d..8c55e39dc0 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2D.json @@ -1,134 +1,64 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL H2D", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_01", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL H2D", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_01", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2DP.json index 33f9777169..e82993c8d3 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2DP.json @@ -1,134 +1,57 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL H2DP", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL H2DP", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2S 0.4 nozzle.json index b4b27abbad..b9710fb002 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL H2S 0.4 nozzle.json @@ -1,137 +1,77 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL H2S 0.4 nozzle", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_9", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "50" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL H2S 0.4 nozzle", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_9", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "50" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL P2S.json index 0ee1c076ae..c1a588fc91 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL P2S.json @@ -1,174 +1,74 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL P2S", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_02", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL P2S", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_02", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL X1C.json index 7bdaadab6b..852b2b5434 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL X1C.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL X1C", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP97_03", - "instantiation": "true", - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL X1C", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP97_03", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D 0.4 nozzle.json index d6291e8f70..c2810237dd 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D 0.4 nozzle.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL X2D 0.4 nozzle", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_04", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL X2D 0.4 nozzle", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_04", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D.json index 23f2e79eba..bd2d1c3ed7 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @BBL X2D.json @@ -1,274 +1,95 @@ { - "type": "filament", - "name": "Generic PP-GF @BBL X2D", - "inherits": "Generic PP-GF @base", - "from": "system", - "setting_id": "GFSP95_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "235" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "235", - "235", - "235", - "235" - ], - "nozzle_temperature_initial_layer": [ - "235", - "235", - "235", - "235" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PP-GF @BBL X2D", + "inherits": "Generic PP-GF @base", + "from": "system", + "setting_id": "GFSP95_05", + "instantiation": "true", + "description": "This is neither a commonly used filament, nor one of Bambu filaments, and it varies a lot from brand to brand. So, it's highly recommended to ask its vendor for suitable profile before printing and adjust some parameters according to its performances.", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "235" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "nozzle_temperature_initial_layer": [ + "235", + "235", + "235", + "235", + "235", + "235" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PP-GF @base.json b/resources/profiles/BBL/filament/Generic PP-GF @base.json index 5d82e8223a..8602b343b1 100644 --- a/resources/profiles/BBL/filament/Generic PP-GF @base.json +++ b/resources/profiles/BBL/filament/Generic PP-GF @base.json @@ -1,20 +1,20 @@ { - "type": "filament", - "name": "Generic PP-GF @base", - "inherits": "fdm_filament_pp", - "from": "system", - "filament_id": "OFsijjtH", - "instantiation": "false", - "filament_cost": [ - "59.99" - ], - "filament_density": [ - "1.05" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PP-GF" - ] -} + "type": "filament", + "name": "Generic PP-GF @base", + "inherits": "fdm_filament_pp", + "from": "system", + "filament_id": "OFsijjtH", + "instantiation": "false", + "filament_cost": [ + "59.99" + ], + "filament_density": [ + "1.05" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PP-GF" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json index f5a311d686..6307ce8fd1 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C 0.4 nozzle.json @@ -1,180 +1,97 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C.json index 70355a7fd4..99fbafe181 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2C.json @@ -1,184 +1,101 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL H2C", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_printable": [ - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "70" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL H2C", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5" + ], + "filament_printable": [ + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2D.json index 42fda3ee7f..5798bede95 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2D.json @@ -1,139 +1,69 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL H2D", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL H2D", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2DP.json index a5291800ef..ab2c95d6ec 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2DP.json @@ -1,139 +1,62 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL H2DP", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL H2DP", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json index 78939aa32b..1424641376 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL H2S 0.4 nozzle.json @@ -1,136 +1,76 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL H2S 0.4 nozzle", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_9", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "70" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL H2S 0.4 nozzle", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_9", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL P2S.json index 89143e04cc..77b17fb0d8 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL P2S", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL P2S", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1C.json index 75e3c21a5b..6b543ecd14 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1C.json @@ -1,136 +1,63 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL X1C", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_00", - "instantiation": "true", - "fan_max_speed": [ - "35" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL X1C", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_00", + "instantiation": "true", + "fan_max_speed": [ + "35" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1E.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1E.json index 5570916551..636204070f 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X1E.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL X1E", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_01", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL X1E", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_01", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json index 483b8a1400..c171b03fe9 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json @@ -1,275 +1,96 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5", - "6.5", - "6.5" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5", + "6.5", + "6.5", + "6.5" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D.json index 077782b7cf..97b164c7a4 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @BBL X2D.json @@ -1,276 +1,97 @@ { - "type": "filament", - "name": "Generic PPA-CF @BBL X2D", - "inherits": "Generic PPA-CF @base", - "from": "system", - "setting_id": "GFSN97_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "fan_max_speed": [ - "35" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6.5", - "6.5", - "6.5", - "6.5" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "overhang_fan_threshold": [ - "25%" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-CF @BBL X2D", + "inherits": "Generic PPA-CF @base", + "from": "system", + "setting_id": "GFSN97_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6.5", + "6.5", + "6.5", + "6.5", + "6.5", + "6.5" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-CF @base.json b/resources/profiles/BBL/filament/Generic PPA-CF @base.json index 78ad9bca5e..03fd113b86 100644 --- a/resources/profiles/BBL/filament/Generic PPA-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PPA-CF @base.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic PPA-CF @base", - "inherits": "fdm_filament_ppa", - "from": "system", - "filament_id": "OF8tPByX", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "filament_max_volumetric_speed": [ - "6" - ], - "filament_vendor": [ - "Generic" - ] -} + "type": "filament", + "name": "Generic PPA-CF @base", + "inherits": "fdm_filament_ppa", + "from": "system", + "filament_id": "OF8tPByX", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_max_volumetric_speed": [ + "6" + ], + "filament_vendor": [ + "Generic" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json index 1b85c2abc9..9e5993d821 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C 0.4 nozzle.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL H2C 0.4 nozzle", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_07", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL H2C 0.4 nozzle", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_07", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C.json index f9d47164c5..d1c1aca5fb 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2C.json @@ -1,175 +1,92 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL H2C", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "250", - "250" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "temperature_vitrification": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL H2C", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "250", + "250", + "250" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2D.json index 7861a305fb..17ddc9fd88 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2D.json @@ -1,130 +1,60 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL H2D", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_02", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL H2D", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_02", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2DP.json index 69f266bf09..490edf6139 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2DP.json @@ -1,130 +1,53 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL H2DP", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_04", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL H2DP", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_04", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json index f85950f894..5e56752e32 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL H2S 0.4 nozzle.json @@ -1,130 +1,70 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL H2S 0.4 nozzle", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_9", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2S 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL H2S 0.4 nozzle", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_9", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "temperature_vitrification": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL P2S.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL P2S.json index 408fca5771..2bc84fad1a 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL P2S.json @@ -1,167 +1,67 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL P2S", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_03", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL P2S", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_03", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1C.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1C.json index e9bf8354f6..af08fdb97e 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1C.json @@ -1,130 +1,57 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL X1C", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL X1C", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1E.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1E.json index 40de09a1db..2b921dee14 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X1E.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL X1E", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_01", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL X1E", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_01", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json index faa187791e..f7f2359921 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json @@ -1,266 +1,87 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_05", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D.json b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D.json index dafb6822f0..57ac55b20d 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @BBL X2D.json @@ -1,267 +1,88 @@ { - "type": "filament", - "name": "Generic PPA-GF @BBL X2D", - "inherits": "Generic PPA-GF @base", - "from": "system", - "setting_id": "GFSN96_06", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "3", - "3", - "4", - "4" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "chamber_temperatures": [ - "60" - ], - "filament_flow_ratio": [ - "0.96", - "0.96", - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "6", - "6", - "6", - "6" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "290" - ], - "nozzle_temperature": [ - "290", - "290", - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290", - "290", - "290" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PPA-GF @BBL X2D", + "inherits": "Generic PPA-GF @base", + "from": "system", + "setting_id": "GFSN96_06", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96", + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "6", + "6", + "6", + "6", + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "290" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290", + "290", + "290", + "290", + "290" + ], + "retraction_distances_when_ec": [ + "3", + "3", + "3", + "4", + "4", + "4" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPA-GF @base.json b/resources/profiles/BBL/filament/Generic PPA-GF @base.json index 72ff99cd16..06129b286a 100644 --- a/resources/profiles/BBL/filament/Generic PPA-GF @base.json +++ b/resources/profiles/BBL/filament/Generic PPA-GF @base.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "Generic PPA-GF @base", - "inherits": "fdm_filament_ppa", - "from": "system", - "filament_id": "OF8Tlg47", - "instantiation": "false", - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PPA-GF" - ], - "filament_vendor": [ - "Generic" - ] -} + "type": "filament", + "name": "Generic PPA-GF @base", + "inherits": "fdm_filament_ppa", + "from": "system", + "filament_id": "OF8Tlg47", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PPA-GF" + ], + "filament_vendor": [ + "Generic" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPS @BBL H2C 0.4 nozzle.json index 145ea2ecd6..2367b12fbb 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL H2C 0.4 nozzle.json @@ -1,171 +1,83 @@ { - "type": "filament", - "name": "Generic PPS @BBL H2C 0.4 nozzle", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_03", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "temperature_vitrification": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS @BBL H2C 0.4 nozzle", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_03", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4", + "4" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "temperature_vitrification": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL H2C.json b/resources/profiles/BBL/filament/Generic PPS @BBL H2C.json index 5f90d205f1..5240e7ba6b 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL H2C.json @@ -1,172 +1,84 @@ { - "type": "filament", - "name": "Generic PPS @BBL H2C", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_04", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "temperature_vitrification": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS @BBL H2C", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_04", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4", + "4" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "temperature_vitrification": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL H2D.json b/resources/profiles/BBL/filament/Generic PPS @BBL H2D.json index be9c5e6cd0..092e0834f5 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL H2D.json @@ -1,127 +1,52 @@ { - "type": "filament", - "name": "Generic PPS @BBL H2D", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_01", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS @BBL H2D", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_01", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4", + "4" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PPS @BBL H2DP.json index c289624213..8b260eb50d 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL H2DP.json @@ -1,127 +1,46 @@ { - "type": "filament", - "name": "Generic PPS @BBL H2DP", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_02", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS @BBL H2DP", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_02", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPS @BBL H2S 0.4 nozzle.json index 21aa101939..0560dab8cb 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL H2S 0.4 nozzle.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "Generic PPS @BBL H2S 0.4 nozzle", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_5", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "temperature_vitrification": [ - "80" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2S 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PPS @BBL H2S 0.4 nozzle", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_5", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4", + "4" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "temperature_vitrification": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2S 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @BBL X1E.json b/resources/profiles/BBL/filament/Generic PPS @BBL X1E.json index f9fb032496..deace32712 100644 --- a/resources/profiles/BBL/filament/Generic PPS @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PPS @BBL X1E.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic PPS @BBL X1E", - "inherits": "Generic PPS @base", - "from": "system", - "setting_id": "GFST97_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "4", - "4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PPS @BBL X1E", + "inherits": "Generic PPS @base", + "from": "system", + "setting_id": "GFST97_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "4", + "4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS @base.json b/resources/profiles/BBL/filament/Generic PPS @base.json index 08ba73cba8..ab37ca10a9 100644 --- a/resources/profiles/BBL/filament/Generic PPS @base.json +++ b/resources/profiles/BBL/filament/Generic PPS @base.json @@ -1,9 +1,9 @@ { - "type": "filament", - "name": "Generic PPS @base", - "inherits": "fdm_filament_pps", - "from": "system", - "filament_id": "OFq9svOz", + "type": "filament", + "name": "Generic PPS @base", + "inherits": "fdm_filament_pps", + "from": "system", + "filament_id": "OFq9svOz", "instantiation": "false", "filament_dev_chamber_drying_bed_temperature": [ "90" @@ -26,4 +26,4 @@ "filament_dev_drying_softening_temperature": [ "85" ] -} +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json index 379b9fb35b..0d472038c0 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C 0.4 nozzle.json @@ -1,168 +1,80 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL H2C 0.4 nozzle", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_03", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL H2C 0.4 nozzle", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_03", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C.json index 3d2bf461d6..1f02c3f71f 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2C.json @@ -1,172 +1,84 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL H2C", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_04", - "instantiation": "true", - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_printable": [ - "1" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "280", - "280" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_min_speed": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL H2C", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_04", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_printable": [ + "1" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "280", + "280", + "280" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2D.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2D.json index fe0564d6f6..ecdb04064c 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2D.json @@ -1,130 +1,52 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL H2D", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_01", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL H2D", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_01", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2DP.json index fae35ff81c..1b93a87945 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2DP.json @@ -1,130 +1,46 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL H2DP", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_02", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_printable": [ - "1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL H2DP", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_02", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "3", + "3" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json index 07c077e7c7..634e11b2d5 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL H2S 0.4 nozzle.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL H2S 0.4 nozzle", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_5", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL H2S 0.4 nozzle", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_5", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "3", + "3", + "3" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @BBL X1E.json b/resources/profiles/BBL/filament/Generic PPS-CF @BBL X1E.json index e08e2589b6..a0ef51c9a4 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @BBL X1E.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @BBL X1E.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic PPS-CF @BBL X1E", - "inherits": "Generic PPS-CF @base", - "from": "system", - "setting_id": "GFST98_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3", - "3" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "320", - "320" - ], - "nozzle_temperature_initial_layer": [ - "320", - "320" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ] -} + "type": "filament", + "name": "Generic PPS-CF @BBL X1E", + "inherits": "Generic PPS-CF @base", + "from": "system", + "setting_id": "GFST98_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3", + "3" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "320", + "320" + ], + "nozzle_temperature_initial_layer": [ + "320", + "320" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PPS-CF @base.json b/resources/profiles/BBL/filament/Generic PPS-CF @base.json index 76aab2de8b..975c8f7da8 100644 --- a/resources/profiles/BBL/filament/Generic PPS-CF @base.json +++ b/resources/profiles/BBL/filament/Generic PPS-CF @base.json @@ -1,36 +1,36 @@ { - "type": "filament", - "name": "Generic PPS-CF @base", - "inherits": "fdm_filament_pps", - "from": "system", - "filament_id": "OF6rdQ6M", - "instantiation": "false", - "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "240" - ], - "filament_density": [ - "1.26" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_type": [ - "PPS-CF" - ], - "impact_strength_z": [ - "5.7" - ], - "nozzle_temperature_range_low": [ - "310" - ], - "required_nozzle_HRC": [ - "40" - ], - "temperature_vitrification": [ - "220" - ] -} + "type": "filament", + "name": "Generic PPS-CF @base", + "inherits": "fdm_filament_pps", + "from": "system", + "filament_id": "OF6rdQ6M", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "240" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_type": [ + "PPS-CF" + ], + "impact_strength_z": [ + "5.7" + ], + "nozzle_temperature_range_low": [ + "310" + ], + "required_nozzle_HRC": [ + "40" + ], + "temperature_vitrification": [ + "220" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @0.2 nozzle.json index 080de810fe..6df4727ea0 100644 --- a/resources/profiles/BBL/filament/Generic PVA @0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @0.2 nozzle.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "Generic PVA @0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "0.5" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "0.5" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL A1 0.2 nozzle.json index 259c55f6c5..57fca27585 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PVA @BBL A1 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A1 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A1.json b/resources/profiles/BBL/filament/Generic PVA @BBL A1.json index 7ebecdda54..5e02d05a2e 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PVA @BBL A1", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A1", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL A1M 0.2 nozzle.json index 7aac5b9503..d57e6fd726 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "Generic PVA @BBL A1M 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A1M 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A1M.json b/resources/profiles/BBL/filament/Generic PVA @BBL A1M.json index ebed9d4282..fa3e915260 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "Generic PVA @BBL A1M", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A1M", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL A2L 0.2 nozzle.json index 66a2cd7851..f0775269ed 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A2L 0.2 nozzle.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "Generic PVA @BBL A2L 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_19", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "0.5" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "40" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.2 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A2L 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_19", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "0.5" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "40" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.2 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL A2L.json b/resources/profiles/BBL/filament/Generic PVA @BBL A2L.json index 59cbcc89e4..c1d62b6e47 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL A2L.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "Generic PVA @BBL A2L", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_20", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic PVA @BBL A2L", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_20", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.2 nozzle.json index 914e544994..353ade784e 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.2 nozzle.json @@ -1,174 +1,81 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2C 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2C 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.4 nozzle.json index b8e2d6bb77..cb03660318 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2C 0.4 nozzle.json @@ -1,174 +1,91 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2C 0.4 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_17", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2C 0.4 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_17", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2C.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2C.json index 3d4ad8d48f..fed6a86989 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2C.json @@ -1,175 +1,92 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2C", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_18", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature_nc": [ - "180", - "180" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "1", - "1" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2C", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_18", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature_nc": [ + "180", + "180", + "180" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "1", + "1", + "1" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2D.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2D.json index 3cce41a26a..ce5386eb2c 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2D", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_06", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2D", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_06", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2DP.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2DP.json index ea0845834b..cac607510c 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2DP", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_12", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2DP", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_12", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL H2S 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL H2S 0.4 nozzle.json index 8b3a377650..89d27ee442 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL H2S 0.4 nozzle.json @@ -1,133 +1,68 @@ { - "type": "filament", - "name": "Generic PVA @BBL H2S 0.4 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_21", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL H2S 0.4 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_21", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL P2S 0.2 nozzle.json index af1f76b082..82438b0930 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL P2S 0.2 nozzle.json @@ -1,171 +1,62 @@ { - "type": "filament", - "name": "Generic PVA @BBL P2S 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL P2S 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL P2S.json b/resources/profiles/BBL/filament/Generic PVA @BBL P2S.json index cfda7a8aee..5fa57d0e6c 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL P2S.json @@ -1,173 +1,68 @@ { - "type": "filament", - "name": "Generic PVA @BBL P2S", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL P2S", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.2 nozzle.json index 2a197b4591..6421feeb00 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.2 nozzle.json @@ -1,272 +1,83 @@ { - "type": "filament", - "name": "Generic PVA @BBL X2D 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_13", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3", - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5", - "0.5", - "0.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL X2D 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_13", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_flush_volumetric_speed": [ + "3", + "3", + "3", + "3" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5", + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.4 nozzle.json index 214e64453a..ec9ef88cbf 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL X2D 0.4 nozzle.json @@ -1,272 +1,93 @@ { - "type": "filament", - "name": "Generic PVA @BBL X2D 0.4 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_14", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL X2D 0.4 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_14", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @BBL X2D.json b/resources/profiles/BBL/filament/Generic PVA @BBL X2D.json index 3e624721ef..4dcf0b2b02 100644 --- a/resources/profiles/BBL/filament/Generic PVA @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic PVA @BBL X2D.json @@ -1,273 +1,94 @@ { - "type": "filament", - "name": "Generic PVA @BBL X2D", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_15", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20", - "20", - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_flow_ratio": [ - "0.95", - "0.95", - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16", - "16", - "16" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "220" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "220", - "220", - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220", - "220", - "220" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic PVA @BBL X2D", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95", + "0.95", + "0.95", + "0.95" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16", + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_tower_interface_print_temp": [ + "220" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220", + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20", + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA @base.json b/resources/profiles/BBL/filament/Generic PVA @base.json index 4021f07f45..5acf0e1856 100644 --- a/resources/profiles/BBL/filament/Generic PVA @base.json +++ b/resources/profiles/BBL/filament/Generic PVA @base.json @@ -1,21 +1,21 @@ { - "type": "filament", - "name": "Generic PVA @base", - "inherits": "fdm_filament_pva", - "from": "system", - "filament_id": "OFDvXujf", - "instantiation": "false", - "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "slow_down_layer_time": [ - "7" - ], - "slow_down_min_speed": [ - "20" - ] -} + "type": "filament", + "name": "Generic PVA @base", + "inherits": "fdm_filament_pva", + "from": "system", + "filament_id": "OFDvXujf", + "instantiation": "false", + "description": "This is a water-soluble support filament, and usually it is only for the support structure and not for the model body. Printing this filament is of many requirements, and to get better printing quality, please refer to this wiki: PVA Printing Guide.", + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "20" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic PVA.json b/resources/profiles/BBL/filament/Generic PVA.json index 33fac4bccc..7db3aac32b 100644 --- a/resources/profiles/BBL/filament/Generic PVA.json +++ b/resources/profiles/BBL/filament/Generic PVA.json @@ -1,22 +1,22 @@ { - "type": "filament", - "name": "Generic PVA", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic SBS @base.json b/resources/profiles/BBL/filament/Generic SBS @base.json deleted file mode 100644 index fbf9b8a403..0000000000 --- a/resources/profiles/BBL/filament/Generic SBS @base.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "filament", - "name": "Generic SBS @base", - "inherits": "fdm_filament_sbs", - "from": "system", - "filament_id": "OFhQfUQY", - "instantiation": "false", - "filament_flow_ratio": [ - "0.98" - ], - "slow_down_layer_time": [ - "4" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Generic SBS.json b/resources/profiles/BBL/filament/Generic SBS.json deleted file mode 100644 index ffa36a9abb..0000000000 --- a/resources/profiles/BBL/filament/Generic SBS.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Generic SBS", - "inherits": "Generic SBS @base", - "from": "system", - "setting_id": "BFLSBS99-1", - "filament_id": "OFhQfUQY", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL A1.json b/resources/profiles/BBL/filament/Generic TPU @BBL A1.json index 952f31983e..9fbe338a57 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic TPU @BBL A1", - "inherits": "Generic TPU", - "from": "system", - "setting_id": "GFSU99_01", - "instantiation": "true", - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic TPU @BBL A1", + "inherits": "Generic TPU", + "from": "system", + "setting_id": "GFSU99_01", + "instantiation": "true", + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL A1M.json b/resources/profiles/BBL/filament/Generic TPU @BBL A1M.json index 15df2926d1..d5caa5640a 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL A1M.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic TPU @BBL A1M", - "inherits": "Generic TPU", - "from": "system", - "setting_id": "GFSU99_00", - "instantiation": "true", - "hot_plate_temp": [ - "30" - ], - "hot_plate_temp_initial_layer": [ - "30" - ], - "textured_plate_temp": [ - "30" - ], - "textured_plate_temp_initial_layer": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic TPU @BBL A1M", + "inherits": "Generic TPU", + "from": "system", + "setting_id": "GFSU99_00", + "instantiation": "true", + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL A2L.json b/resources/profiles/BBL/filament/Generic TPU @BBL A2L.json index 2942151d52..5b5848d0f9 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL A2L.json @@ -1,31 +1,31 @@ { - "type": "filament", - "name": "Generic TPU @BBL A2L", - "inherits": "Generic TPU", - "from": "system", - "setting_id": "GFSU99_10", - "instantiation": "true", - "hot_plate_temp": [ - "30" - ], - "hot_plate_temp_initial_layer": [ - "30" - ], - "pre_start_fan_time": [ - "2" - ], - "textured_plate_temp": [ - "30" - ], - "textured_plate_temp_initial_layer": [ - "30" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic TPU @BBL A2L", + "inherits": "Generic TPU", + "from": "system", + "setting_id": "GFSU99_10", + "instantiation": "true", + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "pre_start_fan_time": [ + "2" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic TPU @BBL H2C 0.4 nozzle.json index a977e63e1a..9dda2e9f85 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL H2C 0.4 nozzle.json @@ -1,183 +1,125 @@ { - "type": "filament", - "name": "Generic TPU @BBL H2C 0.4 nozzle", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "0.8", - "0.8" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.8", - "0.8" - ], - "filament_printable": [ - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "210", - "210" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL H2C 0.4 nozzle", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2" + ], + "filament_ramming_volumetric_speed": [ + "0.8", + "0.8", + "0.8" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.8", + "0.8", + "0.8" + ], + "filament_printable": [ + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "210", + "210", + "210" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL H2C.json b/resources/profiles/BBL/filament/Generic TPU @BBL H2C.json index d7ad1a41ab..063f446f6d 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL H2C.json @@ -1,184 +1,126 @@ { - "type": "filament", - "name": "Generic TPU @BBL H2C", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "0.8", - "0.8" - ], - "filament_ramming_volumetric_speed_nc": [ - "0.8", - "0.8" - ], - "filament_printable": [ - "2" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "210", - "210" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_retract_length_nc": [ - "10", - "10" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "pre_start_fan_time": [ - "2" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL H2C", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2" + ], + "filament_ramming_volumetric_speed": [ + "0.8", + "0.8", + "0.8" + ], + "filament_ramming_volumetric_speed_nc": [ + "0.8", + "0.8", + "0.8" + ], + "filament_printable": [ + "2" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "210", + "210", + "210" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_retract_length_nc": [ + "10", + "10", + "10" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "pre_start_fan_time": [ + "2" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL H2D.json b/resources/profiles/BBL/filament/Generic TPU @BBL H2D.json index 12844a54e6..1d2e1a447d 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL H2D.json @@ -1,166 +1,286 @@ { - "type": "filament", - "name": "Generic TPU @BBL H2D", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_02", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "0.8", - "0.8", - "0.8" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "210", - "210", - "210" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL H2D", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_02", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2", + "3.2" + ], + "filament_ramming_volumetric_speed": [ + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_printable": [ + "2" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" + ], + "filament_pre_cooling_temperature": [ + "210", + "210", + "210", + "210" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL H2DP.json b/resources/profiles/BBL/filament/Generic TPU @BBL H2DP.json index d5801a1b6a..456941431d 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL H2DP.json @@ -1,166 +1,244 @@ { - "type": "filament", - "name": "Generic TPU @BBL H2DP", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "0.8", - "0.8", - "0.8" - ], - "filament_printable": [ - "2" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive TPU High Flow" - ], - "filament_pre_cooling_temperature": [ - "210", - "210", - "210" - ], - "filament_ramming_travel_time": [ - "20", - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1" - ], - "nozzle_temperature": [ - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL H2DP", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_bridge_speed": [ + "25", + "25", + "25" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "nil" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive TPU High Flow" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10" + ], + "filament_pre_cooling_temperature": [ + "210", + "210", + "210" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_printable": [ + "2" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_volumetric_speed": [ + "0.8", + "0.8", + "0.8" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL H2S.json b/resources/profiles/BBL/filament/Generic TPU @BBL H2S.json index 0743eec7b2..be7f778869 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL H2S.json @@ -1,139 +1,81 @@ { - "type": "filament", - "name": "Generic TPU @BBL H2S", - "inherits": "Generic TPU", - "from": "system", - "setting_id": "GFSU99_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL H2S", + "inherits": "Generic TPU", + "from": "system", + "setting_id": "GFSU99_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2" + ], + "filament_retraction_length": [ + "nil", + "0.4", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL P2S.json b/resources/profiles/BBL/filament/Generic TPU @BBL P2S.json index a977d6b8bc..44d4036ade 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL P2S.json @@ -1,173 +1,73 @@ { - "type": "filament", - "name": "Generic TPU @BBL P2S", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_05", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL P2S", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_05", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic TPU @BBL X2D 0.4 nozzle.json index c971cba747..79590069a8 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL X2D 0.4 nozzle.json @@ -1,275 +1,96 @@ { - "type": "filament", - "name": "Generic TPU @BBL X2D 0.4 nozzle", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_03", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2", - "3.2", - "3.2" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL X2D 0.4 nozzle", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_03", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2", + "3.2", + "3.2", + "3.2" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @BBL X2D.json b/resources/profiles/BBL/filament/Generic TPU @BBL X2D.json index af94c4486d..4b77f2207d 100644 --- a/resources/profiles/BBL/filament/Generic TPU @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic TPU @BBL X2D.json @@ -1,276 +1,97 @@ { - "type": "filament", - "name": "Generic TPU @BBL X2D", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSU99_07", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "3.2", - "3.2", - "3.2", - "3.2" - ], - "filament_printable": [ - "1" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "240" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "240", - "240", - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240", - "240", - "240" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU @BBL X2D", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSU99_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "3.2", + "3.2", + "3.2", + "3.2", + "3.2", + "3.2" + ], + "filament_printable": [ + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "filament_tower_interface_print_temp": [ + "240" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240", + "240", + "240", + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU @base.json b/resources/profiles/BBL/filament/Generic TPU @base.json index f2bc7049aa..86ed3103b3 100644 --- a/resources/profiles/BBL/filament/Generic TPU @base.json +++ b/resources/profiles/BBL/filament/Generic TPU @base.json @@ -1,15 +1,15 @@ { - "type": "filament", - "name": "Generic TPU @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFgbpcy9", - "instantiation": "false", - "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_max_volumetric_speed": [ - "3.2" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic TPU @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFgbpcy9", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1.json index 30326518b1..b73d35817b 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL A1", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL A1", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1M.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1M.json index 298a55fe21..bcb504c038 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1M.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A1M.json @@ -1,28 +1,28 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL A1M", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL A1M", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A2L.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A2L.json index 7c76a301d8..93a62334f4 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A2L.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL A2L.json @@ -1,34 +1,34 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL A2L", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_12", - "instantiation": "true", - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab A2L 0.4 nozzle", - "Bambu Lab A2L 0.6 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ], - "filament_start_gcode": [ - "" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL A2L", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_12", + "instantiation": "true", + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "filament_start_gcode": [ + "" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json index b2ba07c308..7232187281 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C 0.4 nozzle.json @@ -1,195 +1,127 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL H2C 0.4 nozzle", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_10", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "2.63", - "2.63" - ], - "filament_ramming_volumetric_speed_nc": [ - "2.63", - "2.63" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL H2C 0.4 nozzle", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_10", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_volumetric_speed": [ + "2.63", + "2.63", + "2.63" + ], + "filament_ramming_volumetric_speed_nc": [ + "2.63", + "2.63", + "2.63" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C.json index b60988cad2..4980e672f8 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2C.json @@ -1,196 +1,128 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL H2C", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cooling_before_tower": [ - "10", - "10" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "2.63", - "2.63" - ], - "filament_ramming_volumetric_speed_nc": [ - "2.63", - "2.63" - ], - "filament_prime_volume": [ - "30" - ], - "filament_prime_volume_nc": [ - "30" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_pre_cooling_temperature_nc": [ - "190", - "190" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_ramming_travel_time_nc": [ - "20", - "20" - ], - "filament_change_length": [ - "4" - ], - "first_x_layer_fan_speed": [ - "0" - ], - "filament_change_length_nc": [ - "4" - ], - "filament_preheat_temperature_delta": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_retract_length_nc": [ - "14", - "14" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "pre_start_fan_time": [ - "2" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20", - "20" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL H2C", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_volumetric_speed": [ + "2.63", + "2.63", + "2.63" + ], + "filament_ramming_volumetric_speed_nc": [ + "2.63", + "2.63", + "2.63" + ], + "filament_prime_volume": [ + "30" + ], + "filament_prime_volume_nc": [ + "30" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_pre_cooling_temperature_nc": [ + "190", + "190", + "190" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "filament_ramming_travel_time_nc": [ + "20", + "20", + "20" + ], + "filament_change_length": [ + "4" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_change_length_nc": [ + "4" + ], + "filament_preheat_temperature_delta": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "pre_start_fan_time": [ + "2" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2D.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2D.json index f9e72de062..37f4f2ffa4 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2D.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2D.json @@ -1,151 +1,86 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL H2D", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_04", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "2.625", - "2.625" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL H2D", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_04", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_volumetric_speed": [ + "2.625", + "2.625", + "2.625" + ], + "filament_pre_cooling_temperature": [ + "200", + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20", + "20" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2DP.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2DP.json index 287c6c798d..42f65f4680 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2DP.json @@ -1,151 +1,78 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL H2DP", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_08", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "2.625", - "2.625" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "200", - "200" - ], - "filament_ramming_travel_time": [ - "20", - "20" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL H2DP", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_08", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_pre_cooling_temperature": [ + "200", + "200" + ], + "filament_ramming_travel_time": [ + "20", + "20" + ], + "filament_ramming_volumetric_speed": [ + "2.625", + "2.625" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2S.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2S.json index 00326a990e..7931394b1f 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2S.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL H2S.json @@ -1,154 +1,101 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL H2S", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "100" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "0" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL H2S", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "100" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "nil", + "0", + "nil" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P1P.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P1P.json index f1c09c8b09..437aadfa54 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P1P.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL P1P", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL P1P", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P2S.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P2S.json index d4f073c08c..24c8b552fb 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P2S.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL P2S.json @@ -1,188 +1,88 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL P2S", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_07", - "instantiation": "true", - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0" - ], - "filament_enable_overhang_speed": [ - "1", - "1" - ], - "filament_overhang_1_4_speed": [ - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "override_process_overhang_speed": [ - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL P2S", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_07", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab P2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X1C.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X1C.json index 305bdcad8b..85b053a0cd 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X1C.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X1C.json @@ -1,142 +1,69 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL X1C", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5" - ], - "filament_retraction_length": [ - "0.8", - "0.8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL X1C", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5" + ], + "filament_retraction_length": [ + "0.8", + "0.8" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json index 065efc188c..446cb91fbb 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json @@ -1,287 +1,108 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_05", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8", - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5", - "10.5", - "10.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_05", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5", + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D.json b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D.json index b345595ccd..3223336a76 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @BBL X2D.json @@ -1,288 +1,109 @@ { - "type": "filament", - "name": "Generic TPU for AMS @BBL X2D", - "inherits": "Generic TPU for AMS @base", - "from": "system", - "setting_id": "GFSU98_09", - "instantiation": "true", - "filament_adaptive_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_cooling_before_tower": [ - "10", - "10", - "10", - "10" - ], - "filament_deretraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_enable_overhang_speed": [ - "1", - "1", - "1", - "1" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "filament_flush_temp": [ - "0", - "0", - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_overhang_1_4_speed": [ - "0", - "0", - "0", - "0" - ], - "filament_overhang_2_4_speed": [ - "50", - "50", - "50", - "50" - ], - "filament_overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "filament_overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], - "filament_bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "filament_pre_cooling_temperature": [ - "0", - "0", - "0", - "0" - ], - "filament_pre_cooling_temperature_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_ramming_travel_time_nc": [ - "0", - "0", - "0", - "0" - ], - "filament_retract_length_nc": [ - "14", - "14", - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_ramming_volumetric_speed_nc": [ - "-1", - "-1", - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_length": [ - "0.8", - "0.8", - "0.8", - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil", - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil", - "nil", - "nil" - ], - "long_retractions_when_ec": [ - "1", - "1", - "1", - "1" - ], - "override_process_overhang_speed": [ - "0", - "0", - "0", - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0", - "0", - "0" - ], - "slow_down_min_speed": [ - "10", - "10", - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_flow_ratio": [ - "1", - "1", - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "10.5", - "10.5", - "10.5", - "10.5" - ], - "filament_ramming_travel_time": [ - "0", - "0", - "0", - "0" - ], - "filament_tower_interface_print_temp": [ - "230" - ], - "first_x_layer_fan_speed": [ - "40" - ], - "nozzle_temperature": [ - "230", - "230", - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230", - "230", - "230" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "10" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @BBL X2D", + "inherits": "Generic TPU for AMS @base", + "from": "system", + "setting_id": "GFSU98_09", + "instantiation": "true", + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "10.5", + "10.5", + "10.5", + "10.5", + "10.5", + "10.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8", + "0.8", + "0.8" + ], + "filament_tower_interface_print_temp": [ + "230" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "include": [ + "fdm_filament_template_direct_bowden_e3d" + ], + "nozzle_temperature": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230", + "230", + "230", + "230", + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab X2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU for AMS @base.json b/resources/profiles/BBL/filament/Generic TPU for AMS @base.json index 1432bdfbe2..307eef847b 100644 --- a/resources/profiles/BBL/filament/Generic TPU for AMS @base.json +++ b/resources/profiles/BBL/filament/Generic TPU for AMS @base.json @@ -1,30 +1,30 @@ { - "type": "filament", - "name": "Generic TPU for AMS @base", - "inherits": "fdm_filament_tpu", - "from": "system", - "filament_id": "OFmN2lvw", - "instantiation": "false", - "description": "If you are to print a kind of soft TPU, please don't slice with this profile, and it is only for TPU that has high enough hardness (not less than 55D) and is compatible with the AMS. To get better printing quality, please refer to this wiki: TPU printing guide.", - "filament_cost": [ - "41.99" - ], - "filament_density": [ - "1.26" - ], - "filament_max_volumetric_speed": [ - "10.5" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_type": [ - "TPU-AMS" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ] -} + "type": "filament", + "name": "Generic TPU for AMS @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFmN2lvw", + "instantiation": "false", + "description": "If you are to print a kind of soft TPU, please don't slice with this profile, and it is only for TPU that has high enough hardness (not less than 55D) and is compatible with the AMS. To get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "10.5" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_type": [ + "TPU-AMS" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Generic TPU.json b/resources/profiles/BBL/filament/Generic TPU.json index ee3426050e..0b2303da69 100644 --- a/resources/profiles/BBL/filament/Generic TPU.json +++ b/resources/profiles/BBL/filament/Generic TPU.json @@ -1,22 +1,22 @@ { - "type": "filament", - "name": "Generic TPU", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSR99", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic TPU", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSR99", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..a5f3c4665c --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL A1 0.2 nozzle", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1.json new file mode 100644 index 0000000000..5e362df470 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL A1", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..eaba775ddf --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M 0.2 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL A1M 0.2 nozzle", + "inherits": "Overture Matte PLA @BBL A1M", + "from": "system", + "setting_id": "GFSL05_06", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M.json new file mode 100644 index 0000000000..e76b7f24ce --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL A1M.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL A1M", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.8 nozzle", + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json index b8ce4d201d..d4ce9d9f7c 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2D 0.2 nozzle", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2D 0.2 nozzle", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D.json index 8e5b357da3..edeb9786f9 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2D", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2D", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json index e59bcd145e..3dbd87ec38 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2DP 0.2 nozzle", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2DP 0.2 nozzle", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP.json index 985133f24f..a7bc9fd687 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2DP", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2DP", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json index 8b9a9dade4..5c258fbd47 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2S 0.2 nozzle", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2S 0.2 nozzle", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S.json index 67736819f6..eb84bfac73 100644 --- a/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL H2S.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Overture Matte PLA @BBL H2S", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture Matte PLA @BBL H2S", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..66c7f1c3e1 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL P1P 0.2 nozzle", + "inherits": "Overture Matte PLA @BBL P1P", + "from": "system", + "setting_id": "GFSL05_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P.json new file mode 100644 index 0000000000..b6747d4d27 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P.json @@ -0,0 +1,69 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL P1P", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1.json new file mode 100644 index 0000000000..7f5a9e2cc2 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL X1", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..9d3ea20395 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL X1C 0.2 nozzle", + "inherits": "Overture Matte PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL05_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "compatible_printers": [ + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C.json b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C.json new file mode 100644 index 0000000000..6810da28c4 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @BBL X1C", + "inherits": "Overture Matte PLA @base", + "from": "system", + "setting_id": "GFSL05_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture Matte PLA @base.json b/resources/profiles/BBL/filament/Overture Matte PLA @base.json new file mode 100644 index 0000000000..6573c1b46b --- /dev/null +++ b/resources/profiles/BBL/filament/Overture Matte PLA @base.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Overture Matte PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFBw6eEG", + "instantiation": "false", + "filament_cost": [ + "24.52" + ], + "filament_density": [ + "1.22" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Overture" + ], + "slow_down_layer_time": [ + "6" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..de9052fdb2 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL A1 0.2 nozzle.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL A1 0.2 nozzle", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL A1.json b/resources/profiles/BBL/filament/Overture PLA @BBL A1.json new file mode 100644 index 0000000000..bffa20d601 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL A1.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL A1", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..0c5657ceb5 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL A1M 0.2 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL A1M 0.2 nozzle", + "inherits": "Overture PLA @BBL A1M", + "from": "system", + "setting_id": "GFSL04_06", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.6" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL A1M.json b/resources/profiles/BBL/filament/Overture PLA @BBL A1M.json new file mode 100644 index 0000000000..a542675287 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL A1M.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL A1M", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2D 0.2 nozzle.json index 050fc3441e..e117800ca8 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2D 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2D 0.2 nozzle", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2D 0.2 nozzle", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2D.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2D.json index 4c4a698cae..d236aeb1be 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2D.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2D.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2D", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_09", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2D", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_09", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2DP 0.2 nozzle.json index 61a22824f6..36c80d8888 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2DP 0.2 nozzle", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2DP 0.2 nozzle", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2DP.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2DP.json index 83ef11a9ea..7d5dd1217c 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2DP", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2DP", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2S 0.2 nozzle.json index 7f75638a27..015bd25840 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2S 0.2 nozzle", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2S 0.2 nozzle", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL H2S.json b/resources/profiles/BBL/filament/Overture PLA @BBL H2S.json index 00ac02bffe..e66b7c9405 100644 --- a/resources/profiles/BBL/filament/Overture PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/Overture PLA @BBL H2S.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "Overture PLA @BBL H2S", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_11", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "Overture PLA @BBL H2S", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_11", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..714d4a117d --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL P1P 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL P1P 0.2 nozzle", + "inherits": "Overture PLA @BBL P1P", + "from": "system", + "setting_id": "GFSL04_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL P1P.json b/resources/profiles/BBL/filament/Overture PLA @BBL P1P.json new file mode 100644 index 0000000000..c8ad574304 --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL P1P.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL P1P", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL X1.json b/resources/profiles/BBL/filament/Overture PLA @BBL X1.json new file mode 100644 index 0000000000..df1cab9b9c --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL X1.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL X1", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture PLA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..bdbef090ff --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL X1C 0.2 nozzle", + "inherits": "Overture PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL04_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @BBL X1C.json b/resources/profiles/BBL/filament/Overture PLA @BBL X1C.json new file mode 100644 index 0000000000..9962d88ced --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @BBL X1C.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "Overture PLA @BBL X1C", + "inherits": "Overture PLA @base", + "from": "system", + "setting_id": "GFSL04_05", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture PLA @base.json b/resources/profiles/BBL/filament/Overture PLA @base.json new file mode 100644 index 0000000000..d13d2d99de --- /dev/null +++ b/resources/profiles/BBL/filament/Overture PLA @base.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Overture PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFc3xdm9", + "instantiation": "false", + "filament_cost": [ + "24.15" + ], + "filament_density": [ + "1.2" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Overture" + ], + "slow_down_layer_time": [ + "6" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1 0.2 nozzle.json deleted file mode 100644 index 9564767b5d..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL A1 0.2 nozzle", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1.json deleted file mode 100644 index 00991ccd6e..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL A1", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M 0.2 nozzle.json deleted file mode 100644 index 57370c05ef..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL A1M 0.2 nozzle", - "inherits": "Overture Matte PLA @BBL A1M", - "from": "system", - "setting_id": "GFSL05_06", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M.json deleted file mode 100644 index db25771d09..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL A1M.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL A1M", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.8 nozzle", - "Bambu Lab A1 mini 0.6 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P 0.2 nozzle.json deleted file mode 100644 index c6c93ea0d0..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL P1P 0.2 nozzle", - "inherits": "Overture Matte PLA @BBL P1P", - "from": "system", - "setting_id": "GFSL05_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P.json deleted file mode 100644 index c73cee4cb1..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL P1P.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL P1P", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1.json deleted file mode 100644 index 25b17be464..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL X1", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C 0.2 nozzle.json deleted file mode 100644 index aee193a929..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL X1C 0.2 nozzle", - "inherits": "Overture Matte PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL05_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "compatible_printers": [ - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C.json deleted file mode 100644 index b76e80596d..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @BBL X1C.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @BBL X1C", - "inherits": "Overture Matte PLA @base", - "from": "system", - "setting_id": "GFSL05_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @base.json b/resources/profiles/BBL/filament/Overture/Overture Matte PLA @base.json deleted file mode 100644 index bccfb1f17b..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture Matte PLA @base.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Overture Matte PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFBw6eEG", - "instantiation": "false", - "filament_cost": [ - "24.52" - ], - "filament_density": [ - "1.22" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Overture" - ], - "slow_down_layer_time": [ - "6" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1 0.2 nozzle.json deleted file mode 100644 index cc2a9ccae2..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL A1 0.2 nozzle", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1.json deleted file mode 100644 index febe198ebd..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL A1", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M 0.2 nozzle.json deleted file mode 100644 index 8c2ad1cb8a..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL A1M 0.2 nozzle", - "inherits": "Overture PLA @BBL A1M", - "from": "system", - "setting_id": "GFSL04_06", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M.json deleted file mode 100644 index f3a70fa2d9..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL A1M.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL A1M", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P 0.2 nozzle.json deleted file mode 100644 index f0c7984d95..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL P1P 0.2 nozzle", - "inherits": "Overture PLA @BBL P1P", - "from": "system", - "setting_id": "GFSL04_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P.json deleted file mode 100644 index e6800d6d83..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL P1P.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL P1P", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1.json deleted file mode 100644 index 642af0098e..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL X1", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C 0.2 nozzle.json deleted file mode 100644 index 6a2dc62ebb..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL X1C 0.2 nozzle", - "inherits": "Overture PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL04_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C.json b/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C.json deleted file mode 100644 index d959fa28a8..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @BBL X1C.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @BBL X1C", - "inherits": "Overture PLA @base", - "from": "system", - "setting_id": "GFSL04_05", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA @base.json b/resources/profiles/BBL/filament/Overture/Overture PLA @base.json deleted file mode 100644 index 0f302d4798..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA @base.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFc3xdm9", - "instantiation": "false", - "filament_cost": [ - "24.15" - ], - "filament_density": [ - "1.2" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Overture" - ], - "slow_down_layer_time": [ - "6" - ] -} diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @base.json b/resources/profiles/BBL/filament/Overture/Overture PLA Pro @base.json deleted file mode 100644 index 454c36e7b0..0000000000 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Overture PLA Pro @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFxA1p01", - "instantiation": "false", - "filament_cost": [ - "26.99" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Overture" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "64" - ] -} diff --git a/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json index 13fcb80eea..dcbd382ffe 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.2 nozzle.json @@ -1,140 +1,71 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P1P 0.2 nozzle", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_02", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL P1P 0.2 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_02", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..ea6060ba15 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P 0.6 nozzle.json @@ -0,0 +1,87 @@ +{ + "type": "filament", + "name": "Bambu ABS @BBL P1P 0.6 nozzle", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_41", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P.json index df46984e46..c21004ca75 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu ABS @BBL P1P.json @@ -1,142 +1,88 @@ { - "type": "filament", - "name": "Bambu ABS @BBL P1P", - "inherits": "Bambu ABS @base", - "from": "system", - "setting_id": "GFSB00_03", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu ABS @BBL P1P", + "inherits": "Bambu ABS @base", + "from": "system", + "setting_id": "GFSB00_03", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "16", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PA-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PA-CF @BBL P1P.json index e8127557c0..b7cfc61878 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PA-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PA-CF @BBL P1P.json @@ -1,133 +1,63 @@ { - "type": "filament", - "name": "Bambu PA-CF @BBL P1P", - "inherits": "Bambu PA-CF @base", - "from": "system", - "setting_id": "GFSN00_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "full_fan_speed_layer": [ - "2" - ], - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PA-CF @BBL P1P", + "inherits": "Bambu PA-CF @base", + "from": "system", + "setting_id": "GFSN00_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..adbae88001 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P 0.6 nozzle.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "Bambu PAHT-CF @BBL P1P 0.6 nozzle", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_15", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_retraction_length": [ + "nil", + "1.2" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P.json index 3c423b8d54..9a4db4fe67 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PAHT-CF @BBL P1P.json @@ -1,121 +1,50 @@ { - "type": "filament", - "name": "Bambu PAHT-CF @BBL P1P", - "inherits": "Bambu PAHT-CF @base", - "from": "system", - "setting_id": "GFSN04_10", - "instantiation": "true", - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PAHT-CF @BBL P1P", + "inherits": "Bambu PAHT-CF @base", + "from": "system", + "setting_id": "GFSN04_10", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "12" + ], + "filament_z_hop": [ + "nil", + "0.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json index e5ce46da8d..d64fff5af9 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.2 nozzle.json @@ -1,146 +1,73 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1P 0.2 nozzle", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_03", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1P 0.2 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_03", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..bc23bb1607 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P 0.6 nozzle.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "Bambu PC @BBL P1P 0.6 nozzle", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_42", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.945" + ], + "filament_max_volumetric_speed": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.45" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P.json index 44c437f34e..0977c4fbb8 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PC @BBL P1P.json @@ -1,148 +1,74 @@ { - "type": "filament", - "name": "Bambu PC @BBL P1P", - "inherits": "Bambu PC @base", - "from": "system", - "setting_id": "GFSC00_04", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PC @BBL P1P", + "inherits": "Bambu PC @base", + "from": "system", + "setting_id": "GFSC00_04", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "18", + "29" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PET-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PET-CF @BBL P1P.json index 98651c4f20..5095859d67 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PET-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PET-CF @BBL P1P.json @@ -1,127 +1,78 @@ { - "type": "filament", - "name": "Bambu PET-CF @BBL P1P", - "inherits": "Bambu PET-CF @base", - "from": "system", - "setting_id": "GFST01_10", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PET-CF @BBL P1P", + "inherits": "Bambu PET-CF @base", + "from": "system", + "setting_id": "GFST01_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "1" + ], + "filament_flow_ratio": [ + "0.9555", + "1" + ], + "filament_max_volumetric_speed": [ + "5", + "8" + ], + "filament_overhang_2_4_speed": [ + "35", + "50" + ], + "filament_overhang_3_4_speed": [ + "35", + "30" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "overhang_fan_speed": [ + "75" + ], + "override_process_overhang_speed": [ + "1", + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "35", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json index dbbae54b48..6f21d17509 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P 0.4 nozzle.json @@ -1,131 +1,66 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL P1P 0.4 nozzle", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL P1P 0.4 nozzle", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "11.5", + "20" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_wipe": [ + "nil", + "1" + ], + "filament_wipe_distance": [ + "nil", + "2" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "275" + ], + "nozzle_temperature_initial_layer": [ + "255", + "275" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P.json index fd55dccbc0..bf140d0d31 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PETG-CF @BBL P1P.json @@ -1,132 +1,67 @@ { - "type": "filament", - "name": "Bambu PETG-CF @BBL P1P", - "inherits": "Bambu PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PETG-CF @BBL P1P", + "inherits": "Bambu PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "11.5", + "20" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Aero @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Aero @BBL P1P.json index b6281095ec..01eb23cd11 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Aero @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Aero @BBL P1P.json @@ -1,142 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Aero @BBL P1P", - "inherits": "Bambu PLA Aero @base", - "from": "system", - "setting_id": "GFSA11_02", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_flow_ratio": [ - "0.6", - "0.6" - ], - "filament_max_volumetric_speed": [ - "6", - "6" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Aero @BBL P1P", + "inherits": "Bambu PLA Aero @base", + "from": "system", + "setting_id": "GFSA11_02", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "filament_flow_ratio": [ + "0.6", + "0.6" + ], + "filament_max_volumetric_speed": [ + "6", + "6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json index 85ca50ccee..db4088ef94 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA00_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA00_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..f30ef29c1f --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Basic @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA04_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P.json index 27d856a5d6..eb897cf359 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Basic @BBL P1P.json @@ -1,142 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Basic @BBL P1P", - "inherits": "Bambu PLA Basic @base", - "from": "system", - "setting_id": "GFSA04_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Basic @BBL P1P", + "inherits": "Bambu PLA Basic @base", + "from": "system", + "setting_id": "GFSA04_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..2cbd700b75 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P 0.6 nozzle.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Bambu PLA Marble @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_18", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P.json index 4414187013..1cc0306b4b 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Marble @BBL P1P.json @@ -1,142 +1,91 @@ { - "type": "filament", - "name": "Bambu PLA Marble @BBL P1P", - "inherits": "Bambu PLA Marble @base", - "from": "system", - "setting_id": "GFSA07_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Marble @BBL P1P", + "inherits": "Bambu PLA Marble @base", + "from": "system", + "setting_id": "GFSA07_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json index 60b520ea6d..6dbead6f4d 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA01_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA01_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..6107e5ba72 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P 0.6 nozzle.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Bambu PLA Matte @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA05_28", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P.json index 84748f2fdc..a70c160320 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Matte @BBL P1P.json @@ -1,142 +1,92 @@ { - "type": "filament", - "name": "Bambu PLA Matte @BBL P1P", - "inherits": "Bambu PLA Matte @base", - "from": "system", - "setting_id": "GFSA05_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Matte @BBL P1P", + "inherits": "Bambu PLA Matte @base", + "from": "system", + "setting_id": "GFSA05_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "29" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json index 48102aeb7a..c33ce2a479 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..f0fd865b66 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PLA Metal @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_29", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P.json index b2b57bda5e..9c600caafe 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Metal @BBL P1P.json @@ -1,142 +1,84 @@ { - "type": "filament", - "name": "Bambu PLA Metal @BBL P1P", - "inherits": "Bambu PLA Metal @base", - "from": "system", - "setting_id": "GFSA02_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Metal @BBL P1P", + "inherits": "Bambu PLA Metal @base", + "from": "system", + "setting_id": "GFSA02_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "40" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "29" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "40" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json index 3300e3480b..f778eb9e23 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P 0.2 nozzle.json @@ -1,131 +1,58 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_11", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_11", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P.json index 6bd13b0ee2..972c6ca156 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Silk @BBL P1P.json @@ -1,136 +1,63 @@ { - "type": "filament", - "name": "Bambu PLA Silk @BBL P1P", - "inherits": "Bambu PLA Silk @base", - "from": "system", - "setting_id": "GFSA05_12", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Silk @BBL P1P", + "inherits": "Bambu PLA Silk @base", + "from": "system", + "setting_id": "GFSA05_12", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..eaa8896497 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PLA Sparkle @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_19", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P.json index 7e6286af3b..240da6d165 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Sparkle @BBL P1P.json @@ -1,142 +1,84 @@ { - "type": "filament", - "name": "Bambu PLA Sparkle @BBL P1P", - "inherits": "Bambu PLA Sparkle @base", - "from": "system", - "setting_id": "GFSA08_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Sparkle @BBL P1P", + "inherits": "Bambu PLA Sparkle @base", + "from": "system", + "setting_id": "GFSA08_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil", + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_max_volumetric_speed": [ + "12", + "25" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_retraction_speed": [ + "nil", + "50" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json index 020f025a80..f99ea5200f 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P.json index d065df80ee..8a1a0fd274 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough @BBL P1P.json @@ -1,142 +1,69 @@ { - "type": "filament", - "name": "Bambu PLA Tough @BBL P1P", - "inherits": "Bambu PLA Tough @base", - "from": "system", - "setting_id": "GFSA09_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough @BBL P1P", + "inherits": "Bambu PLA Tough @base", + "from": "system", + "setting_id": "GFSA09_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json index b18ea4a73d..1a0c12f0ff 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.2 nozzle.json @@ -1,143 +1,78 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P1P 0.2 nozzle", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_33", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P1P 0.2 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_33", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.6 nozzle.json new file mode 100644 index 0000000000..c090797121 --- /dev/null +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P 0.6 nozzle.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P1P 0.6 nozzle", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_38", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P.json index 3e4274de9c..b4e25f845b 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA Tough+ @BBL P1P.json @@ -1,142 +1,84 @@ { - "type": "filament", - "name": "Bambu PLA Tough+ @BBL P1P", - "inherits": "Bambu PLA Tough+ @base", - "from": "system", - "setting_id": "GFSA10_34", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "90" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "245", - "245" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA Tough+ @BBL P1P", + "inherits": "Bambu PLA Tough+ @base", + "from": "system", + "setting_id": "GFSA10_34", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "90" + ], + "filament_flow_ratio": [ + "0.98", + "0.985" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.4" + ], + "filament_z_hop": [ + "nil", + "0.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json index 8f168030d3..dcf38827ce 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P 0.8 nozzle.json @@ -1,138 +1,85 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL P1P 0.8 nozzle", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "18", - "18" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL P1P 0.8 nozzle", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "nil" + ], + "filament_max_volumetric_speed": [ + "18", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "nil" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "filament_z_hop_types": [ + "nil", + "Spiral Lift" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P.json index 52a180dbaf..82a84b4d1f 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu PLA-CF @BBL P1P.json @@ -1,137 +1,80 @@ { - "type": "filament", - "name": "Bambu PLA-CF @BBL P1P", - "inherits": "Bambu PLA-CF @base", - "from": "system", - "setting_id": "GFSA50_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle" - ] -} + "type": "filament", + "name": "Bambu PLA-CF @BBL P1P", + "inherits": "Bambu PLA-CF @base", + "from": "system", + "setting_id": "GFSA50_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.975" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "15", + "25" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "nil", + "0.8" + ], + "filament_z_hop": [ + "nil", + "0.4" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json index a5f0eb6e5f..e97c505bd5 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PA PET @BBL P1P.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu Support For PA/PET @BBL P1P", - "inherits": "Bambu Support For PA/PET @base", - "from": "system", - "setting_id": "GFSS03_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PA/PET @BBL P1P", + "inherits": "Bambu Support For PA/PET @base", + "from": "system", + "setting_id": "GFSS03_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json index 040e452f68..0a789a6941 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL P1P 0.2 nozzle", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL P1P 0.2 nozzle", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json index daa5499c31..3bbd78f489 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support For PLA @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Bambu Support For PLA @BBL P1P", - "inherits": "Bambu Support For PLA @base", - "from": "system", - "setting_id": "GFSS02_12", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support For PLA @BBL P1P", + "inherits": "Bambu Support For PLA @base", + "from": "system", + "setting_id": "GFSS02_12", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support G @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support G @BBL P1P.json index f663ce25da..1c773ec4e4 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support G @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support G @BBL P1P.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Bambu Support G @BBL P1P", - "inherits": "Bambu Support G @base", - "from": "system", - "setting_id": "GFSS01_10", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "280", - "280" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support G @BBL P1P", + "inherits": "Bambu Support G @base", + "from": "system", + "setting_id": "GFSS01_10", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json index 57a3e44664..43c99264b1 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "Bambu Support W @BBL P1P 0.2 nozzle", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS00_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL P1P 0.2 nozzle", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS00_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P.json index 55e14c5edf..ca08dc8ce3 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu Support W @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Bambu Support W @BBL P1P", - "inherits": "Bambu Support W @base", - "from": "system", - "setting_id": "GFSS02_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu Support W @BBL P1P", + "inherits": "Bambu Support W @base", + "from": "system", + "setting_id": "GFSS02_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Bambu TPU 95A @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Bambu TPU 95A @BBL P1P.json index 5550b07407..1cceb72d76 100644 --- a/resources/profiles/BBL/filament/P1P/Bambu TPU 95A @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Bambu TPU 95A @BBL P1P.json @@ -1,133 +1,60 @@ { - "type": "filament", - "name": "Bambu TPU 95A @BBL P1P", - "inherits": "Bambu TPU 95A @base", - "from": "system", - "setting_id": "GFSU01_10", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.6", - "3.6" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Bambu TPU 95A @BBL P1P", + "inherits": "Bambu TPU 95A @base", + "from": "system", + "setting_id": "GFSU01_10", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.6", + "3.6" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json index 270932c7c6..a11c8b406c 100644 --- a/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P 0.2 nozzle.json @@ -1,137 +1,60 @@ { - "type": "filament", - "name": "Generic ABS @BBL P1P 0.2 nozzle", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_02", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL P1P 0.2 nozzle", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_02", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P.json index b85c45d353..77f537261e 100644 --- a/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic ABS @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Generic ABS @BBL P1P", - "inherits": "Generic ABS @base", - "from": "system", - "setting_id": "GFSB99_01", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ABS @BBL P1P", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GFSB99_01", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_retraction_length": [ + "0.4", + "nil" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json index b8a91fa88c..73cde11821 100644 --- a/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P 0.2 nozzle.json @@ -1,119 +1,42 @@ { - "type": "filament", - "name": "Generic ASA @BBL P1P 0.2 nozzle", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_11", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL P1P 0.2 nozzle", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_11", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P.json index fc8d40a3c3..3ea5875d10 100644 --- a/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic ASA @BBL P1P.json @@ -1,121 +1,44 @@ { - "type": "filament", - "name": "Generic ASA @BBL P1P", - "inherits": "Generic ASA @base", - "from": "system", - "setting_id": "GFSB98_10", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic ASA @BBL P1P", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GFSB98_10", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PA @BBL P1P.json index 980f88f9df..250c9e8e49 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PA @BBL P1P.json @@ -1,124 +1,47 @@ { - "type": "filament", - "name": "Generic PA @BBL P1P", - "inherits": "Generic PA @base", - "from": "system", - "setting_id": "GFSN98_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "60" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA @BBL P1P", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GFSN98_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "60" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PA-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PA-CF @BBL P1P.json index f76f7cebf5..b43a11f978 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PA-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PA-CF @BBL P1P.json @@ -1,121 +1,48 @@ { - "type": "filament", - "name": "Generic PA-CF @BBL P1P", - "inherits": "Generic PA-CF @base", - "from": "system", - "setting_id": "GFSN99_10", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PA-CF @BBL P1P", + "inherits": "Generic PA-CF @base", + "from": "system", + "setting_id": "GFSN99_10", + "instantiation": "true", + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json index 149cbf751b..75837ececb 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json @@ -1,143 +1,70 @@ { - "type": "filament", - "name": "Generic PC @BBL P1P 0.2 nozzle", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_01", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL P1P 0.2 nozzle", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_01", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P.json index 704b90375d..08086f47f6 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PC @BBL P1P.json @@ -1,145 +1,72 @@ { - "type": "filament", - "name": "Generic PC @BBL P1P", - "inherits": "Generic PC @base", - "from": "system", - "setting_id": "GFSC99_02", - "instantiation": "true", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94", - "0.94" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "280", - "280" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PC @BBL P1P", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GFSC99_02", + "instantiation": "true", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94", + "0.94" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "280", + "280" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json index 7e10f704d4..92ade7e51a 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PETG @BBL P1P 0.2 nozzle", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_11", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL P1P 0.2 nozzle", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_11", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P.json index 01998b0bd0..ecca6c0709 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PETG @BBL P1P.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PETG @BBL P1P", - "inherits": "Generic PETG @base", - "from": "system", - "setting_id": "GFSG99_10", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG @BBL P1P", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GFSG99_10", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL A1M.json b/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL A1M.json index d20ebf4c8f..0037591fe8 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL A1M.json +++ b/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL A1M.json @@ -1,16 +1,16 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL A1M", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG98_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL A1M", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG98_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL P1P.json index 8aed5cdd51..fc0eb4132b 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PETG-CF @BBL P1P.json @@ -1,133 +1,52 @@ { - "type": "filament", - "name": "Generic PETG-CF @BBL P1P", - "inherits": "Generic PETG-CF @base", - "from": "system", - "setting_id": "GFSG50_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "5" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "overhang_fan_speed": [ - "100" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PETG-CF @BBL P1P", + "inherits": "Generic PETG-CF @base", + "from": "system", + "setting_id": "GFSG50_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "overhang_fan_speed": [ + "100" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json index 184f9fb820..fb08c2ca3c 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json @@ -1,140 +1,67 @@ { - "type": "filament", - "name": "Generic PLA @BBL P1P 0.2 nozzle", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic PLA @BBL P1P 0.2 nozzle", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P.json index d8b0101523..23782d1f63 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P.json @@ -1,139 +1,66 @@ { - "type": "filament", - "name": "Generic PLA @BBL P1P", - "inherits": "Generic PLA @base", - "from": "system", - "setting_id": "GFSL99_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA @BBL P1P", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GFSL99_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PLA Silk @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PLA Silk @BBL P1P.json index d5f59fdd60..e2685df9da 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PLA Silk @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PLA Silk @BBL P1P.json @@ -1,121 +1,52 @@ { - "type": "filament", - "name": "Generic PLA Silk @BBL P1P", - "inherits": "Generic PLA Silk @base", - "from": "system", - "setting_id": "GFSL99_12", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "7.5", - "7.5" - ], - "filament_retraction_length": [ - "0.5", - "0.5" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA Silk @BBL P1P", + "inherits": "Generic PLA Silk @base", + "from": "system", + "setting_id": "GFSL99_12", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "7.5", + "7.5" + ], + "filament_retraction_length": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PLA-CF @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PLA-CF @BBL P1P.json index e9bb177e32..cb5333cd10 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PLA-CF @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PLA-CF @BBL P1P.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "Generic PLA-CF @BBL P1P", - "inherits": "Generic PLA-CF @base", - "from": "system", - "setting_id": "GFSL98_10", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PLA-CF @BBL P1P", + "inherits": "Generic PLA-CF @base", + "from": "system", + "setting_id": "GFSL98_10", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json index f31777cd92..47e125476b 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "Generic PVA @BBL P1P 0.2 nozzle", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_11", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "0.5", - "0.5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL P1P 0.2 nozzle", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_11", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "0.5", + "0.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P.json index 419ccd398a..55cbed4c0f 100644 --- a/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic PVA @BBL P1P.json @@ -1,139 +1,62 @@ { - "type": "filament", - "name": "Generic PVA @BBL P1P", - "inherits": "Generic PVA @base", - "from": "system", - "setting_id": "GFSS99_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "Generic PVA @BBL P1P", + "inherits": "Generic PVA @base", + "from": "system", + "setting_id": "GFSS99_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/Generic TPU @BBL P1P.json b/resources/profiles/BBL/filament/P1P/Generic TPU @BBL P1P.json index 88e4134e96..65d2637617 100644 --- a/resources/profiles/BBL/filament/P1P/Generic TPU @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/Generic TPU @BBL P1P.json @@ -1,136 +1,63 @@ { - "type": "filament", - "name": "Generic TPU @BBL P1P", - "inherits": "Generic TPU @base", - "from": "system", - "setting_id": "GFSR99_10", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "3.2", - "3.2" - ], - "filament_retraction_length": [ - "0.4", - "0.4" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "1", - "1" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "240", - "240" - ], - "nozzle_temperature_initial_layer": [ - "240", - "240" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Generic TPU @BBL P1P", + "inherits": "Generic TPU @base", + "from": "system", + "setting_id": "GFSR99_10", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.2", + "3.2" + ], + "filament_retraction_length": [ + "0.4", + "0.4" + ], + "filament_flow_ratio": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "240", + "240" + ], + "nozzle_temperature_initial_layer": [ + "240", + "240" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json index 4fd6b666ff..c7e57b79d2 100644 --- a/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P 0.2 nozzle.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL P1P 0.2 nozzle", - "inherits": "PolyLite PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL25_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL P1P 0.2 nozzle", + "inherits": "PolyLite PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL25_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P.json index 69209bc8e4..9d5f349afb 100644 --- a/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/PolyLite PLA @BBL P1P.json @@ -1,142 +1,65 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL P1P", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL23_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL P1P", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL23_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json index fb85bceae3..c07ce9f912 100644 --- a/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P 0.2 nozzle.json @@ -1,33 +1,33 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL P1P 0.2 nozzle", - "inherits": "PolyTerra PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL24_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL P1P 0.2 nozzle", + "inherits": "PolyTerra PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL24_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P.json b/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P.json index 7c8deeb49b..69b0921119 100644 --- a/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/PolyTerra PLA @BBL P1P.json @@ -1,145 +1,72 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL P1P", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL22_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL P1P", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL22_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json index 44f181161e..07b2229f3c 100644 --- a/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json @@ -1,137 +1,64 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL P1P 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL P1P 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P.json b/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P.json index a58a910685..c035419a13 100644 --- a/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P.json +++ b/resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P.json @@ -1,142 +1,69 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL P1P", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_11", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL P1P", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_11", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..cc4c87c614 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL A1 0.2 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL A1 0.2 nozzle", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_07", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL A1.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL A1.json new file mode 100644 index 0000000000..a3b7e81cb0 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL A1.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL A1", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_06", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..2b495380a8 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D 0.2 nozzle.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL H2D 0.2 nozzle", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D.json new file mode 100644 index 0000000000..d6958015ed --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2D.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL H2D", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "270", + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json index eb3061aefd..e46a562702 100644 --- a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "PolyLite ABS @BBL H2DP 0.2 nozzle", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_13", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite ABS @BBL H2DP 0.2 nozzle", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP.json index 0b7bedab85..198c6f733a 100644 --- a/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP.json +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "PolyLite ABS @BBL H2DP", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite ABS @BBL H2DP", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..b0c5fdeea6 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL P1P 0.2 nozzle", + "inherits": "PolyLite ABS @BBL P1P", + "from": "system", + "setting_id": "GFSB60_05", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P.json new file mode 100644 index 0000000000..57d32de9a7 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL P1P.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL P1P", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_04", + "instantiation": "true", + "fan_max_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..00dfc1ce7c --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL X1C 0.2 nozzle", + "inherits": "PolyLite ABS @BBL X1C", + "from": "system", + "setting_id": "GFSB60_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C.json new file mode 100644 index 0000000000..1c7fc1b9cd --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1C.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL X1C", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E 0.2 nozzle.json new file mode 100644 index 0000000000..19c60e69a6 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E 0.2 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL X1E 0.2 nozzle", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E.json b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E.json new file mode 100644 index 0000000000..0faec54939 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @BBL X1E.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "PolyLite ABS @BBL X1E", + "inherits": "PolyLite ABS @base", + "from": "system", + "setting_id": "GFSB60_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ABS @base.json b/resources/profiles/BBL/filament/PolyLite ABS @base.json new file mode 100644 index 0000000000..fbf5115c8d --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ABS @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "PolyLite ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFOvv91M", + "instantiation": "false", + "filament_cost": [ + "26.9" + ], + "filament_density": [ + "1.03" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..9af117439b --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL A1 0.2 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL A1 0.2 nozzle", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_06", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL A1.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL A1.json new file mode 100644 index 0000000000..34b6c7aeec --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL A1", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_07", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..5561e145a5 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D 0.2 nozzle.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL H2D 0.2 nozzle", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_09", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D.json new file mode 100644 index 0000000000..6249f32a8d --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2D.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL H2D", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_08", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "13", + "13", + "13" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "260", + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json index 190a1660e0..a7d2f4c0cf 100644 --- a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP 0.2 nozzle.json @@ -1,128 +1,47 @@ { - "type": "filament", - "name": "PolyLite ASA @BBL H2DP 0.2 nozzle", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_13", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite ASA @BBL H2DP 0.2 nozzle", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_13", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP.json index e988e906e5..c783391392 100644 --- a/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "PolyLite ASA @BBL H2DP", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_12", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "13", - "13" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite ASA @BBL H2DP", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_12", + "instantiation": "true", + "chamber_temperatures": [ + "60" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "13", + "13" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..df67920c50 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL P1P 0.2 nozzle", + "inherits": "PolyLite ASA @BBL P1P", + "from": "system", + "setting_id": "GFSB61_05", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P.json new file mode 100644 index 0000000000..1c12dfe123 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL P1P.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL P1P", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "13", + "13" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..b72ce3ee14 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL X1C 0.2 nozzle", + "inherits": "PolyLite ASA @BBL X1C", + "from": "system", + "setting_id": "GFSB61_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C.json new file mode 100644 index 0000000000..f6468d59dc --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1C.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL X1C", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "13", + "13" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E 0.2 nozzle.json new file mode 100644 index 0000000000..5fbc07eba1 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL X1E 0.2 nozzle", + "inherits": "PolyLite ASA @BBL X1E", + "from": "system", + "setting_id": "GFSB61_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E.json b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E.json new file mode 100644 index 0000000000..7a38dd89e0 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @BBL X1E.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "PolyLite ASA @BBL X1E", + "inherits": "PolyLite ASA @base", + "from": "system", + "setting_id": "GFSB61_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "13", + "13" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "260", + "260" + ], + "nozzle_temperature_initial_layer": [ + "260", + "260" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite ASA @base.json b/resources/profiles/BBL/filament/PolyLite ASA @base.json new file mode 100644 index 0000000000..37321c6c18 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite ASA @base.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "PolyLite ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "OFvrXuV7", + "instantiation": "false", + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "filament_cost": [ + "23.6" + ], + "filament_density": [ + "1.02" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..abf1ba8144 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1 0.2 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL A1 0.2 nozzle", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_07", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL A1.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1.json new file mode 100644 index 0000000000..af9b277e33 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL A1", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_06", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..a7cc88d94e --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M 0.2 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL A1M 0.2 nozzle", + "inherits": "PolyLite PETG @BBL A1M", + "from": "system", + "setting_id": "GFSG60_05", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M.json new file mode 100644 index 0000000000..81ade454bf --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL A1M.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL A1M", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_04", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..cd37d7c51a --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D 0.2 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL H2D 0.2 nozzle", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_09", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D.json new file mode 100644 index 0000000000..3e90dda823 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2D.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL H2D", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_08", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json index d1282565a6..ff8daffd6e 100644 --- a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP 0.2 nozzle.json @@ -1,125 +1,44 @@ { - "type": "filament", - "name": "PolyLite PETG @BBL H2DP 0.2 nozzle", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_15", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PETG @BBL H2DP 0.2 nozzle", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_15", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP.json index 4a4e2abb5f..24fcafab4f 100644 --- a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP.json +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2DP.json @@ -1,130 +1,49 @@ { - "type": "filament", - "name": "PolyLite PETG @BBL H2DP", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_14", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PETG @BBL H2DP", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_14", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S 0.2 nozzle.json index c7bda040d6..0bdcad3735 100644 --- a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S 0.2 nozzle.json @@ -1,128 +1,63 @@ { - "type": "filament", - "name": "PolyLite PETG @BBL H2S 0.2 nozzle", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_11", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PETG @BBL H2S 0.2 nozzle", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_11", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S.json index 996592f2e0..912cb9a3ed 100644 --- a/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S.json +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL H2S.json @@ -1,130 +1,70 @@ { - "type": "filament", - "name": "PolyLite PETG @BBL H2S", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PETG @BBL H2S", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "11.5", + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "255", + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P 0.2 nozzle.json new file mode 100644 index 0000000000..6460d78cc5 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P 0.2 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL P1P 0.2 nozzle", + "inherits": "PolyLite PETG @BBL P1P", + "from": "system", + "setting_id": "GFSG60_03", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P.json new file mode 100644 index 0000000000..9b0b409cb9 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL P1P.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL P1P", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_02", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..3a20a86939 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C 0.2 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL X1C 0.2 nozzle", + "inherits": "PolyLite PETG @BBL X1C", + "from": "system", + "setting_id": "GFSG60_01", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C.json b/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C.json new file mode 100644 index 0000000000..fb7f801850 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @BBL X1C.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "PolyLite PETG @BBL X1C", + "inherits": "PolyLite PETG @base", + "from": "system", + "setting_id": "GFSG60_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11.5", + "11.5" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PETG @base.json b/resources/profiles/BBL/filament/PolyLite PETG @base.json new file mode 100644 index 0000000000..fbb0bc606f --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PETG @base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "PolyLite PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OF0UJcb6", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..8f74b11f71 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL A1 0.2 nozzle", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL A1.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1.json new file mode 100644 index 0000000000..442136617d --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL A1", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..e4370afe23 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL A1M 0.2 nozzle", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M.json new file mode 100644 index 0000000000..8394e1c7a0 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL A1M.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL A1M", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..a3a4f16430 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D 0.2 nozzle.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL H2D 0.2 nozzle", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D.json new file mode 100644 index 0000000000..1401530e33 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2D.json @@ -0,0 +1,58 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL H2D", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json index a39780c993..40cc6c44ff 100644 --- a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,50 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL H2DP 0.2 nozzle", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL H2DP 0.2 nozzle", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP.json index fd3121455c..221400c275 100644 --- a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2DP.json @@ -1,133 +1,52 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL H2DP", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL H2DP", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S 0.2 nozzle.json index e0e9a27a90..bcd5226a9e 100644 --- a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,69 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL H2S 0.2 nozzle", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL H2S 0.2 nozzle", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S.json index 412c539efe..8ff8f89d35 100644 --- a/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL H2S.json @@ -1,136 +1,76 @@ { - "type": "filament", - "name": "PolyLite PLA @BBL H2S", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyLite PLA @BBL H2S", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL00_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "15", + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL X1.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1.json new file mode 100644 index 0000000000..7fa1a7c38a --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL X1", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL23", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..9e77e960c3 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL X1C 0.2 nozzle", + "inherits": "PolyLite PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL25", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.6", + "1.6" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C.json b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C.json new file mode 100644 index 0000000000..5a48b53ef0 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @BBL X1C.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "PolyLite PLA @BBL X1C", + "inherits": "PolyLite PLA @base", + "from": "system", + "setting_id": "GFSL19", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15", + "15" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyLite PLA @base.json b/resources/profiles/BBL/filament/PolyLite PLA @base.json new file mode 100644 index 0000000000..889386ff02 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyLite PLA @base.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "PolyLite PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OF5CgdDq", + "instantiation": "false", + "filament_cost": [ + "25.4" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_vendor": [ + "Polymaker" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..8d2f7468e5 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL A1 0.2 nozzle", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1.json new file mode 100644 index 0000000000..85c3dc64d7 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL A1", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..e0d6699dfc --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL A1M 0.2 nozzle", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M.json new file mode 100644 index 0000000000..7a9187dd37 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL A1M.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL A1M", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..953eeecc26 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D 0.2 nozzle.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL H2D 0.2 nozzle", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_05", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D.json new file mode 100644 index 0000000000..7ac8e71cb9 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2D.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL H2D", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_04", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json index d49d58adb9..a6b996fa3d 100644 --- a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL H2DP 0.2 nozzle", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_11", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL H2DP 0.2 nozzle", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_11", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP.json index c3d4420887..f9923d5ca0 100644 --- a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP.json +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL H2DP", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_10", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL H2DP", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_10", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json index d8411109ca..38d5fec0ca 100644 --- a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S 0.2 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL H2S 0.2 nozzle", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_07", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL H2S 0.2 nozzle", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_07", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S.json index cb993e30f0..ee6b8e2e36 100644 --- a/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S.json +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL H2S.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "PolyTerra PLA @BBL H2S", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_06", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "PolyTerra PLA @BBL H2S", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL01_06", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "22", + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1.json new file mode 100644 index 0000000000..6ba4b8cea7 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL X1", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL22", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..c98cd55f63 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C 0.2 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL X1C 0.2 nozzle", + "inherits": "PolyTerra PLA @BBL X1C", + "from": "system", + "setting_id": "GFSL24", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C.json b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C.json new file mode 100644 index 0000000000..54103da726 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @BBL X1C.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @BBL X1C", + "inherits": "PolyTerra PLA @base", + "from": "system", + "setting_id": "GFSL18", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/PolyTerra PLA @base.json b/resources/profiles/BBL/filament/PolyTerra PLA @base.json new file mode 100644 index 0000000000..9921a87a02 --- /dev/null +++ b/resources/profiles/BBL/filament/PolyTerra PLA @base.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFW29a9R", + "instantiation": "false", + "filament_cost": [ + "25.4" + ], + "filament_density": [ + "1.31" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Polymaker" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL H2D.json index 3df18a415b..0781e6b428 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL H2D.json @@ -1,129 +1,61 @@ { - "type": "filament", - "name": "Fiberon PA12-CF @BBL H2D", - "inherits": "Fiberon PA12-CF @base", - "from": "system", - "setting_id": "GFL52_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "260", - "260" - ], - "nozzle_temperature_range_high": [ - "300", - "300" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA12-CF @BBL H2D", + "inherits": "Fiberon PA12-CF @base", + "from": "system", + "setting_id": "GFL52_10", + "instantiation": "true", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "14", + "14" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "260", + "260" + ], + "nozzle_temperature_range_high": [ + "300", + "300" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL X1C.json index 7e063562a8..77ec86e028 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @BBL X1C.json @@ -1,124 +1,47 @@ { - "type": "filament", - "name": "Fiberon PA12-CF @BBL X1C", - "inherits": "Fiberon PA12-CF @base", - "from": "system", - "setting_id": "GFSL52_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "14", - "14" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA12-CF @BBL X1C", + "inherits": "Fiberon PA12-CF @base", + "from": "system", + "setting_id": "GFSL52_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "14", + "14" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @base.json index a5aa03bf9b..53026a9fc6 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF @base.json @@ -1,71 +1,74 @@ { - "type": "filament", - "name": "Fiberon PA12-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFX0ycRQ", - "instantiation": "false", - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "100" - ], - "filament_cost": [ - "99.99" - ], - "filament_density": [ - "1.06" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_low": [ - "260" - ], - "overhang_fan_speed": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "temperature_vitrification": [ - "131" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ] -} + "type": "filament", + "name": "Fiberon PA12-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFX0ycRQ", + "instantiation": "false", + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "99.99" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "131" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL H2D.json index f68c6fbec1..0e00407d54 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL H2D.json @@ -1,129 +1,60 @@ { - "type": "filament", - "name": "Fiberon PA6-CF @BBL H2D", - "inherits": "Fiberon PA6-CF @base", - "from": "system", - "setting_id": "GFL50_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "14", - "14" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "280", - "280" - ], - "nozzle_temperature_range_high": [ - "300", - "300" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA6-CF @BBL H2D", + "inherits": "Fiberon PA6-CF @base", + "from": "system", + "setting_id": "GFL50_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "14", + "14" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "280", + "280" + ], + "nozzle_temperature_range_high": [ + "300", + "300" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL X1C.json index f5d2e10233..c44de48c6e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @BBL X1C.json @@ -1,124 +1,47 @@ { - "type": "filament", - "name": "Fiberon PA6-CF @BBL X1C", - "inherits": "Fiberon PA6-CF @base", - "from": "system", - "setting_id": "GFSL50_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "14", - "14" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA6-CF @BBL X1C", + "inherits": "Fiberon PA6-CF @base", + "from": "system", + "setting_id": "GFSL50_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "14", + "14" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @base.json index 823e8a0ff1..c17c5a8807 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF @base.json @@ -1,68 +1,68 @@ { - "type": "filament", - "name": "Fiberon PA6-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFkOviHk", - "instantiation": "false", - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "100" - ], - "filament_cost": [ - "83.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "temperature_vitrification": [ - "215" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ] -} + "type": "filament", + "name": "Fiberon PA6-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFkOviHk", + "instantiation": "false", + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "83.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "215" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL H2D.json index efd01686ae..a083fc6562 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL H2D.json @@ -1,132 +1,63 @@ { - "type": "filament", - "name": "Fiberon PA6-GF @BBL H2D", - "inherits": "Fiberon PA6-GF @base", - "from": "system", - "setting_id": "GFL51_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "280", - "280" - ], - "nozzle_temperature_range_high": [ - "300", - "300" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA6-GF @BBL H2D", + "inherits": "Fiberon PA6-GF @base", + "from": "system", + "setting_id": "GFL51_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "12" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "280", + "280" + ], + "nozzle_temperature_range_high": [ + "300", + "300" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL X1C.json index ac8b6d5cde..7716d0e93a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @BBL X1C.json @@ -1,127 +1,50 @@ { - "type": "filament", - "name": "Fiberon PA6-GF @BBL X1C", - "inherits": "Fiberon PA6-GF @base", - "from": "system", - "setting_id": "GFSL51_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA6-GF @BBL X1C", + "inherits": "Fiberon PA6-GF @base", + "from": "system", + "setting_id": "GFSL51_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @base.json index 607b1c8e00..dd2665f5ae 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF @base.json @@ -1,71 +1,74 @@ { - "type": "filament", - "name": "Fiberon PA6-GF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFwaYjL6", - "instantiation": "false", - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "fan_cooling_layer_time": [ - "15" - ], - "fan_max_speed": [ - "100" - ], - "filament_cost": [ - "63.99" - ], - "filament_density": [ - "1.2" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PA-GF" - ], - "filament_vendor": [ - "Polymaker" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "temperature_vitrification": [ - "191" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ] -} + "type": "filament", + "name": "Fiberon PA6-GF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFwaYjL6", + "instantiation": "false", + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "63.99" + ], + "filament_density": [ + "1.2" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PA-GF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "191" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL H2D.json index fafc3e6f12..cf04cac658 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL H2D.json @@ -1,129 +1,60 @@ { - "type": "filament", - "name": "Fiberon PA612-CF @BBL H2D", - "inherits": "Fiberon PA612-CF @base", - "from": "system", - "setting_id": "GFL53_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "260", - "260" - ], - "nozzle_temperature_range_high": [ - "300", - "300" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA612-CF @BBL H2D", + "inherits": "Fiberon PA612-CF @base", + "from": "system", + "setting_id": "GFL53_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "260", + "260" + ], + "nozzle_temperature_range_high": [ + "300", + "300" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL X1C.json index 2c30f1ea55..996c126b0e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @BBL X1C.json @@ -1,124 +1,51 @@ { - "type": "filament", - "name": "Fiberon PA612-CF @BBL X1C", - "inherits": "Fiberon PA612-CF @base", - "from": "system", - "setting_id": "GFSL53_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.96", - "0.96" - ], - "filament_max_volumetric_speed": [ - "8", - "8" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PA612-CF @BBL X1C", + "inherits": "Fiberon PA612-CF @base", + "from": "system", + "setting_id": "GFSL53_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96", + "0.96" + ], + "filament_max_volumetric_speed": [ + "8", + "8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @base.json index 3765f754f5..25ca59d6e4 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF @base.json @@ -1,41 +1,44 @@ { - "type": "filament", - "name": "Fiberon PA612-CF @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFS2tn6G", - "instantiation": "false", - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "94.99" - ], - "filament_density": [ - "1.06" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_vendor": [ - "Polymaker" - ], - "full_fan_speed_layer": [ - "2" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "temperature_vitrification": [ - "180" - ] -} + "type": "filament", + "name": "Fiberon PA612-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFS2tn6G", + "instantiation": "false", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "94.99" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "additional_fan_full_speed_layer": [ + "2" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "180" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json deleted file mode 100644 index 310a2229d9..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "type": "filament", - "name": "Fiberon PA612-CF15 @base", - "inherits": "fdm_filament_pa", - "from": "system", - "filament_id": "OFcBl0nJ", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "94.99" - ], - "filament_density": [ - "1.03" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "206.2" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL H2D.json index f1c0a4eb3c..853a775bfb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL H2D.json @@ -1,135 +1,66 @@ { - "type": "filament", - "name": "Fiberon PET-CF @BBL H2D", - "inherits": "Fiberon PET-CF @base", - "from": "system", - "setting_id": "GFL54_10", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "270", - "270" - ], - "nozzle_temperature_range_high": [ - "300", - "300" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "2" - ], - "temperature_vitrification": [ - "70" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PET-CF @BBL H2D", + "inherits": "Fiberon PET-CF @base", + "from": "system", + "setting_id": "GFL54_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "270", + "270" + ], + "nozzle_temperature_range_high": [ + "300", + "300" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL X1C.json index 381ed4d225..74b61e0684 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @BBL X1C.json @@ -1,124 +1,47 @@ { - "type": "filament", - "name": "Fiberon PET-CF @BBL X1C", - "inherits": "Fiberon PET-CF @base", - "from": "system", - "setting_id": "GFSL54_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "300", - "300" - ], - "nozzle_temperature_initial_layer": [ - "300", - "300" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PET-CF @BBL X1C", + "inherits": "Fiberon PET-CF @base", + "from": "system", + "setting_id": "GFSL54_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "300", + "300" + ], + "nozzle_temperature_initial_layer": [ + "300", + "300" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @base.json index 2ca2a42d04..72bd1c1e72 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF @base.json @@ -1,46 +1,46 @@ { - "type": "filament", - "name": "Fiberon PET-CF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFHWSM21", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "242" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "89.99" - ], - "filament_density": [ - "1.34" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Polymaker" - ], + "type": "filament", + "name": "Fiberon PET-CF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFHWSM21", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "242" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "89.99" + ], + "filament_density": [ + "1.34" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Polymaker" + ], "filament_adhesiveness_category": [ "800" ], @@ -65,49 +65,49 @@ "filament_dev_drying_softening_temperature": [ "150" ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_low": [ - "270" - ], - "nozzle_temperature_range_high": [ - "300" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "required_nozzle_HRC": [ - "40" - ], - "supertack_plate_temp": [ - "80" - ], - "supertack_plate_temp_initial_layer": [ - "80" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "147" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "required_nozzle_HRC": [ + "40" + ], + "supertack_plate_temp": [ + "80" + ], + "supertack_plate_temp_initial_layer": [ + "80" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "147" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json index a7a8c44207..e24fa75f9f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json @@ -1,132 +1,63 @@ { - "type": "filament", - "name": "Fiberon PETG-ESD @BBL H2D", - "inherits": "Fiberon PETG-ESD @base", - "from": "system", - "setting_id": "GFL06_10", - "instantiation": "true", - "filament_cost": [ - "29.99" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "20", - "20" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "250", - "250" - ], - "nozzle_temperature_range_high": [ - "290", - "290" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PETG-ESD @BBL H2D", + "inherits": "Fiberon PETG-ESD @base", + "from": "system", + "setting_id": "GFL06_10", + "instantiation": "true", + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "29.99" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "250", + "250" + ], + "nozzle_temperature_range_high": [ + "290", + "290" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json index 539e0f19c8..efbd277fdc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json @@ -1,127 +1,50 @@ { - "type": "filament", - "name": "Fiberon PETG-ESD @BBL X1C", - "inherits": "Fiberon PETG-ESD @base", - "from": "system", - "setting_id": "GFSL06_00", - "instantiation": "true", - "filament_cost": [ - "29.99" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "20", - "20" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "290", - "290" - ], - "nozzle_temperature_initial_layer": [ - "290", - "290" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PETG-ESD @BBL X1C", + "inherits": "Fiberon PETG-ESD @base", + "from": "system", + "setting_id": "GFSL06_00", + "instantiation": "true", + "filament_cost": [ + "29.99" + ], + "filament_max_volumetric_speed": [ + "20", + "20" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "290", + "290" + ], + "nozzle_temperature_initial_layer": [ + "290", + "290" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @base.json index b459cc68a1..1633157e93 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @base.json @@ -1,77 +1,77 @@ { - "type": "filament", - "name": "Fiberon PETG-ESD @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFcytyoA", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "15" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "290" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "76" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Fiberon PETG-ESD @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFcytyoA", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "76" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json index 5a25ec639e..bec50bda20 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL H2D.json @@ -1,138 +1,69 @@ { - "type": "filament", - "name": "Fiberon PETG-rCF @BBL H2D", - "inherits": "Fiberon PETG-rCF @base", - "from": "system", - "setting_id": "GFL55_10", - "instantiation": "true", - "fan_cooling_layer_time": [ - "15" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_low": [ - "240", - "240" - ], - "nozzle_temperature_range_high": [ - "270", - "270" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PETG-rCF @BBL H2D", + "inherits": "Fiberon PETG-rCF @base", + "from": "system", + "setting_id": "GFL55_10", + "instantiation": "true", + "fan_cooling_layer_time": [ + "15" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.24" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature_range_low": [ + "240", + "240" + ], + "nozzle_temperature_range_high": [ + "270", + "270" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json index 570446a8bf..45134d520e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json @@ -1,124 +1,47 @@ { - "type": "filament", - "name": "Fiberon PETG-rCF @BBL X1C", - "inherits": "Fiberon PETG-rCF @base", - "from": "system", - "setting_id": "GFSL55_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "270", - "270" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} + "type": "filament", + "name": "Fiberon PETG-rCF @BBL X1C", + "inherits": "Fiberon PETG-rCF @base", + "from": "system", + "setting_id": "GFSL55_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "270", + "270" + ], + "nozzle_temperature_initial_layer": [ + "270", + "270" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @base.json index f052304624..2927c4526b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF @base.json @@ -1,80 +1,80 @@ { - "type": "filament", - "name": "Fiberon PETG-rCF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OFk8t9mz", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "12" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "39.99" - ], - "filament_density": [ - "1.3" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "Fiberon PETG-rCF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFk8t9mz", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "12" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "39.99" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @base.json deleted file mode 100644 index e3e21d17a1..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma CoPE @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFqw2PQA", - "instantiation": "false", - "filament_cost": [ - "19.99" - ], - "filament_density": [ - "1.29" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "24" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "58" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @base.json deleted file mode 100644 index 5f4c2682db..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @base.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFsRDvTM", - "instantiation": "false", - "filament_cost": [ - "19.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "58" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @base.json deleted file mode 100644 index 18382eb7a0..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Celestial @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFRiYgMK", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @base.json deleted file mode 100644 index bf84a536a4..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Galaxy @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFFkCLBl", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @base.json deleted file mode 100644 index ab3032ad57..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Glow @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF0gGRWk", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @base.json deleted file mode 100644 index 14a805212e..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Luminous @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF0kCNDK", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @base.json deleted file mode 100644 index 63680ba1b7..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Marble @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFKiSMWR", - "instantiation": "false", - "filament_cost": [ - "21.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @base.json deleted file mode 100644 index 33d880ac08..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Matte @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFrOh600", - "instantiation": "false", - "filament_cost": [ - "20.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @base.json deleted file mode 100644 index 89ce745162..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Metallic @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFjb0wos", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @base.json deleted file mode 100644 index bd8f5fc0d6..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Neon @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFO1GEq6", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json deleted file mode 100644 index c8ef69cf88..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Satin @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFPkCJKE", - "instantiation": "false", - "filament_cost": [ - "20.99" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "5" - ], - "temperature_vitrification": [ - "59" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @base.json deleted file mode 100644 index 94c2cb7c0b..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Silk @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFS8lTQt", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "58" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @base.json deleted file mode 100644 index 8622a109f2..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Starlight @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFC78WGQ", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @base.json deleted file mode 100644 index d0d6f6b057..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Temp Shift @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFhASRWj", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @base.json deleted file mode 100644 index ac8842d912..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Translucent @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFCIUsWh", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @base.json deleted file mode 100644 index 986b46fd5d..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA UV Shift @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF1N1qMK", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1 0.2 nozzle.json deleted file mode 100644 index 620cc411a6..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL A1 0.2 nozzle", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_07", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1.json deleted file mode 100644 index 71f1f5a3c2..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL A1.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL A1", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_06", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D 0.2 nozzle.json deleted file mode 100644 index 3747e77ed3..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL H2D 0.2 nozzle", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D.json deleted file mode 100644 index 3e81dfee44..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL H2D.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL H2D", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P 0.2 nozzle.json deleted file mode 100644 index 04c89f69fd..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL P1P 0.2 nozzle", - "inherits": "PolyLite ABS @BBL P1P", - "from": "system", - "setting_id": "GFSB60_05", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P.json deleted file mode 100644 index 4b0d29fef5..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL P1P.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL P1P", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_04", - "instantiation": "true", - "fan_max_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.4 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C 0.2 nozzle.json deleted file mode 100644 index 45c74dfd07..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL X1C 0.2 nozzle", - "inherits": "PolyLite ABS @BBL X1C", - "from": "system", - "setting_id": "GFSB60_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C.json deleted file mode 100644 index 6dadfc535e..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1C.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL X1C", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E 0.2 nozzle.json deleted file mode 100644 index cda3af8b09..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E 0.2 nozzle.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL X1E 0.2 nozzle", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_03", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E.json deleted file mode 100644 index e936b14936..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @BBL X1E.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @BBL X1E", - "inherits": "PolyLite ABS @base", - "from": "system", - "setting_id": "GFSB60_01", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "270", - "270" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @base.json deleted file mode 100644 index 11be66397d..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ABS @base.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ABS @base", - "inherits": "fdm_filament_abs", - "from": "system", - "filament_id": "OFOvv91M", - "instantiation": "false", - "filament_cost": [ - "26.9" - ], - "filament_density": [ - "1.03" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1 0.2 nozzle.json deleted file mode 100644 index a38d211939..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL A1 0.2 nozzle", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_06", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1.json deleted file mode 100644 index ae080355e9..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL A1.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL A1", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_07", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D 0.2 nozzle.json deleted file mode 100644 index a15a835b35..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL H2D 0.2 nozzle", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_09", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D.json deleted file mode 100644 index 412217df5d..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL H2D.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL H2D", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_08", - "instantiation": "true", - "chamber_temperatures": [ - "60" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "13", - "13" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P 0.2 nozzle.json deleted file mode 100644 index c293668107..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL P1P 0.2 nozzle", - "inherits": "PolyLite ASA @BBL P1P", - "from": "system", - "setting_id": "GFSB61_05", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P.json deleted file mode 100644 index 7d1d49e8b0..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL P1P.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL P1P", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_04", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "13", - "13" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C 0.2 nozzle.json deleted file mode 100644 index 7723f33269..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL X1C 0.2 nozzle", - "inherits": "PolyLite ASA @BBL X1C", - "from": "system", - "setting_id": "GFSB61_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C.json deleted file mode 100644 index 6b3da4c0d2..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1C.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL X1C", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_max_volumetric_speed": [ - "13", - "13" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E 0.2 nozzle.json deleted file mode 100644 index ad34833c15..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL X1E 0.2 nozzle", - "inherits": "PolyLite ASA @BBL X1E", - "from": "system", - "setting_id": "GFSB61_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E.json deleted file mode 100644 index 8b637852dd..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @BBL X1E.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @BBL X1E", - "inherits": "PolyLite ASA @base", - "from": "system", - "setting_id": "GFSB61_02", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "13", - "13" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "260", - "260" - ], - "nozzle_temperature_initial_layer": [ - "260", - "260" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @base.json deleted file mode 100644 index 026efbfb61..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite ASA @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite ASA @base", - "inherits": "fdm_filament_asa", - "from": "system", - "filament_id": "OFvrXuV7", - "instantiation": "false", - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "filament_cost": [ - "23.6" - ], - "filament_density": [ - "1.02" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json deleted file mode 100644 index 92739d13bb..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite CosPLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFJgijky", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "20.99" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "59" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1 0.2 nozzle.json deleted file mode 100644 index fc1d7c9ccc..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL A1 0.2 nozzle", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_07", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1.json deleted file mode 100644 index 56ee99583a..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL A1", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_06", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.4 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M 0.2 nozzle.json deleted file mode 100644 index b096b42ff1..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL A1M 0.2 nozzle", - "inherits": "PolyLite PETG @BBL A1M", - "from": "system", - "setting_id": "GFSG60_05", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M.json deleted file mode 100644 index 0fd49e16b4..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL A1M.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL A1M", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_04", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "8" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D 0.2 nozzle.json deleted file mode 100644 index e385bf8477..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL H2D 0.2 nozzle", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_09", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D.json deleted file mode 100644 index 07d4e46768..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL H2D.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL H2D", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_08", - "instantiation": "true", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P 0.2 nozzle.json deleted file mode 100644 index d9c730cfe3..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P 0.2 nozzle.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL P1P 0.2 nozzle", - "inherits": "PolyLite PETG @BBL P1P", - "from": "system", - "setting_id": "GFSG60_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P.json deleted file mode 100644 index d38bfdc04e..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL P1P.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL P1P", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_02", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C 0.2 nozzle.json deleted file mode 100644 index 87a2c0446a..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL X1C 0.2 nozzle", - "inherits": "PolyLite PETG @BBL X1C", - "from": "system", - "setting_id": "GFSG60_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C.json deleted file mode 100644 index 5b4e022c74..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @BBL X1C.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PETG @BBL X1C", - "inherits": "PolyLite PETG @base", - "from": "system", - "setting_id": "GFSG60_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "11.5", - "11.5" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature": [ - "255", - "255" - ], - "nozzle_temperature_initial_layer": [ - "255", - "255" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1 0.2 nozzle.json deleted file mode 100644 index a994069549..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL A1 0.2 nozzle", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json deleted file mode 100644 index f52c8e2011..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL A1", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_02", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "bed_type": [ - "Cool Plate" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "2" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M 0.2 nozzle.json deleted file mode 100644 index d6612569ee..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL A1M 0.2 nozzle", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json deleted file mode 100644 index 57b3ab4e56..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL A1M", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_00", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "bed_type": [ - "Cool Plate" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "2" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D 0.2 nozzle.json deleted file mode 100644 index 020d4a28ff..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL H2D 0.2 nozzle", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D.json deleted file mode 100644 index 09d44d45bd..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL H2D.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL H2D", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL00_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json deleted file mode 100644 index 08bdd474a4..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL X1", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL23", - "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "bed_type": [ - "Cool Plate" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C 0.2 nozzle.json deleted file mode 100644 index dea4fcd538..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL X1C 0.2 nozzle", - "inherits": "PolyLite PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL25", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.6", - "1.6" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C.json deleted file mode 100644 index 12436871ac..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1C.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @BBL X1C", - "inherits": "PolyLite PLA @base", - "from": "system", - "setting_id": "GFSL19", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @base.json deleted file mode 100644 index 55ea664946..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @base.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF5CgdDq", - "instantiation": "false", - "filament_cost": [ - "25.4" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_vendor": [ - "Polymaker" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json deleted file mode 100644 index 90996083f1..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Galaxy @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFvyB0Bz", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json deleted file mode 100644 index 3a70d3a83f..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Glow @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OF5umxxT", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json deleted file mode 100644 index 14131c0348..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Luminous @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFBoSWxb", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json deleted file mode 100644 index b9fc01a700..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Neon @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFitS8al", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @base.json deleted file mode 100644 index 93c6cf8c9f..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Pro @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFF9OKoY", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.22" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "62" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json deleted file mode 100644 index 3c8a79ed3f..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Starlight @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFIxOuOu", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json deleted file mode 100644 index 9a6155e283..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "filament", - "name": "PolyLite PLA Translucent @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFy02QHU", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1 0.2 nozzle.json deleted file mode 100644 index 04497ac738..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL A1 0.2 nozzle", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M 0.2 nozzle.json deleted file mode 100644 index a8d1352806..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL A1M 0.2 nozzle", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D 0.2 nozzle.json deleted file mode 100644 index 2419d5ff05..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL H2D 0.2 nozzle", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_05", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D.json deleted file mode 100644 index 5a2083e6d1..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL H2D.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL H2D", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL01_04", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C 0.2 nozzle.json deleted file mode 100644 index 898906491a..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL X1C 0.2 nozzle", - "inherits": "PolyTerra PLA @BBL X1C", - "from": "system", - "setting_id": "GFSL24", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C.json deleted file mode 100644 index 7231c1a703..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1C.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @BBL X1C", - "inherits": "PolyTerra PLA @base", - "from": "system", - "setting_id": "GFSL18", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @base.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @base.json deleted file mode 100644 index 3b13c5b55c..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFW29a9R", - "instantiation": "false", - "filament_cost": [ - "25.4" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "Polymaker" - ] -} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json deleted file mode 100644 index ea65b41ec4..0000000000 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "type": "filament", - "name": "PolyTerra PLA Marble @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFxe4rXr", - "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "21.99" - ], - "filament_density": [ - "1.37" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "61" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_type": [ - "PLA" - ] -} diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1.json index c71d490498..b6a0c61f4e 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @BBL A1", - "inherits": "SUNLU PLA Marble @base", - "from": "system", - "setting_id": "GFSNLS06_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @BBL A1", + "inherits": "SUNLU PLA Marble @base", + "from": "system", + "setting_id": "GFSNLS06_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1M.json index e6fbcc08f4..61db76c30c 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL A1M.json @@ -1,43 +1,43 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @BBL A1M", - "inherits": "SUNLU PLA Marble @base", - "from": "system", - "setting_id": "GFSNLS06_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @BBL A1M", + "inherits": "SUNLU PLA Marble @base", + "from": "system", + "setting_id": "GFSNLS06_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL P1P.json index bb04f33946..0a103c995c 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL P1P.json @@ -1,142 +1,77 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @BBL P1P", - "inherits": "SUNLU PLA Marble @base", - "from": "system", - "setting_id": "GFSNLS06_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @BBL P1P", + "inherits": "SUNLU PLA Marble @base", + "from": "system", + "setting_id": "GFSNLS06_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1.json index d179444017..7b284a250c 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @BBL X1", - "inherits": "SUNLU PLA Marble @base", - "from": "system", - "setting_id": "GFSNLS06_00", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @BBL X1", + "inherits": "SUNLU PLA Marble @base", + "from": "system", + "setting_id": "GFSNLS06_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1C.json index 17d7143d71..3b0d6858e8 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @BBL X1C.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @BBL X1C", - "inherits": "SUNLU PLA Marble @base", - "from": "system", - "setting_id": "GFSNLS06", - "instantiation": "true", - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @BBL X1C", + "inherits": "SUNLU PLA Marble @base", + "from": "system", + "setting_id": "GFSNLS06", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @base.json index d2f34323a0..65ac195c51 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Marble PLA @base.json @@ -1,29 +1,29 @@ { - "type": "filament", - "name": "SUNLU PLA Marble @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFxUwUeW", - "instantiation": "false", - "filament_cost": [ - "31.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_vendor": [ - "SUNLU" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Marble @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFxUwUeW", + "instantiation": "false", + "filament_cost": [ + "31.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "SUNLU" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json index d22531c5be..8e75032c56 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.2 nozzle.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1 0.2 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_03", - "instantiation": "true", - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1 0.2 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_03", + "instantiation": "true", + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json index fa85784f11..82e181089b 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1 0.8 nozzle.json @@ -1,24 +1,24 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1 0.8 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_04", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1 0.8 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_04", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1.json index 452e5b37df..e58d9fe6af 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json index 8f9a075819..d3814b6e17 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.2 nozzle.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1M 0.2 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_06", - "instantiation": "true", - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1M 0.2 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_06", + "instantiation": "true", + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json index 70e66dc87f..31dc5a3066 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M 0.8 nozzle.json @@ -1,21 +1,21 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1M 0.8 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_07", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_flow_ratio": [ - "0.94" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1M 0.8 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_07", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.94" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M.json index 12862d015a..aa3c971f2a 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL A1M.json @@ -1,17 +1,17 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL A1M 0.4 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_05", - "instantiation": "true", - "filament_flow_ratio": [ - "0.94" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL A1M 0.4 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_05", + "instantiation": "true", + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json index 61b7382140..ef381a8b89 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.2 nozzle.json @@ -1,123 +1,50 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL X1C 0.2 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1", - "1" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL X1C 0.2 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1", + "1" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json index 36c3f0dace..99dc78c918 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C 0.8 nozzle.json @@ -1,134 +1,61 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL X1C 0.8 nozzle", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08_01", - "instantiation": "true", - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL X1C 0.8 nozzle", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08_01", + "instantiation": "true", + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C.json index eb8150137d..80b85c3ffc 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @BBL X1C.json @@ -1,123 +1,50 @@ { - "type": "filament", - "name": "SUNLU PETG @BBL X1C", - "inherits": "SUNLU PETG @base", - "from": "system", - "setting_id": "GFSNLS08", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "14", - "14" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "245", - "245" - ], - "nozzle_temperature_initial_layer": [ - "250", - "250" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PETG @BBL X1C", + "inherits": "SUNLU PETG @base", + "from": "system", + "setting_id": "GFSNLS08", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "14", + "14" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "250", + "250" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @base.json index 6e3eaf356e..2017491981 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PETG @base.json @@ -1,84 +1,84 @@ { - "type": "filament", - "name": "SUNLU PETG @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OF2GCW1l", - "instantiation": "false", - "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "22.99" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_vendor": [ - "SUNLU" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "temperature_vitrification": [ - "68" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OF2GCW1l", + "instantiation": "false", + "description": "To get better transparent or translucent results with the corresponding filament, please refer to this wiki: Printing tips for transparent PETG.", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "22.99" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "SUNLU" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "temperature_vitrification": [ + "68" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json index 136d9a1a32..a3784f0810 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL A1 0.2 nozzle", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL A1 0.2 nozzle", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1.json index 8d4bc7b750..c821ebfe15 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL A1", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL A1", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json index 3161d71550..b8b97dd984 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL A1M 0.2 nozzle", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_08", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL A1M 0.2 nozzle", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_08", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M.json index 3b36e5eec2..54c1a6119e 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL A1M", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL A1M", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json index da4cd0a24e..464e056c8c 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL P1P 0.2 nozzle", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL P1P 0.2 nozzle", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P.json index 00b5289533..6054f5fd07 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL P1P.json @@ -1,142 +1,77 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL P1P", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL P1P", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1.json index a21dc559f1..0715879a5e 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL X1", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_01", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL X1", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json index e47881e2f2..984234aba0 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL X1C 0.2 nozzle", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02_00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL X1C 0.2 nozzle", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C.json index 06e1cfcd50..d2f04837ed 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @BBL X1C.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @BBL X1C", - "inherits": "SUNLU PLA Matte @base", - "from": "system", - "setting_id": "GFSNLS02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "21", - "21" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @BBL X1C", + "inherits": "SUNLU PLA Matte @base", + "from": "system", + "setting_id": "GFSNLS02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "21", + "21" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @base.json index f3b92cdb2f..de4010d324 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA Matte @base.json @@ -1,53 +1,53 @@ { - "type": "filament", - "name": "SUNLU PLA Matte @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFpW4gdi", - "instantiation": "false", - "filament_cost": [ - "25.99" - ], - "filament_density": [ - "1.3" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_vendor": [ - "SUNLU" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "nozzle_temperature_range_high": [ - "245" - ], - "nozzle_temperature_range_low": [ - "205" - ], - "temperature_vitrification": [ - "54" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA Matte @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFpW4gdi", + "instantiation": "false", + "filament_cost": [ + "25.99" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_vendor": [ + "SUNLU" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "nozzle_temperature_range_high": [ + "245" + ], + "nozzle_temperature_range_low": [ + "205" + ], + "temperature_vitrification": [ + "54" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json index 746a96be8d..20a3d734d5 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL A1 0.2 nozzle", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json index 6ee2d24002..19dbeb3614 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL A1", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL A1", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json index 4089650498..a639584679 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL A1M 0.2 nozzle", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json index 03e20eeae0..8bd011b007 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL A1M", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL A1M", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json index e86690c4fa..f8329334a4 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL P1P 0.2 nozzle", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json index 59431aad39..b6bccf5151 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL P1P.json @@ -1,142 +1,77 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL P1P", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL P1P", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json index c07fa6fd28..f4095c084c 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL X1", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_00", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL X1", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json index cf1c66fdd1..15650c2e9f 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL X1C 0.2 nozzle", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json index f9b28938c4..4ba9c15f3e 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @BBL X1C.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @BBL X1C", - "inherits": "SUNLU PLA+ 2.0 @base", - "from": "system", - "setting_id": "GFSNLS04", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @BBL X1C", + "inherits": "SUNLU PLA+ 2.0 @base", + "from": "system", + "setting_id": "GFSNLS04", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "22", + "22" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @base.json index d2b1087f28..b7c3ad36f0 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ 2.0 @base.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "SUNLU PLA+ 2.0 @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFHmPYRy", - "instantiation": "false", - "filament_cost": [ - "18.99" - ], - "filament_density": [ - "1.21" - ], - "filament_flow_ratio": [ - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "filament_vendor": [ - "SUNLU" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "temperature_vitrification": [ - "54" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ 2.0 @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFHmPYRy", + "instantiation": "false", + "filament_cost": [ + "18.99" + ], + "filament_density": [ + "1.21" + ], + "filament_flow_ratio": [ + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_vendor": [ + "SUNLU" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "temperature_vitrification": [ + "54" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json index 6aeee35734..d64023ebed 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL A1 0.2 nozzle", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL A1 0.2 nozzle", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1.json index c77349c9ac..28a92ffbcd 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL A1", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL A1", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json index cec61b3a90..ab27e92d49 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL A1M 0.2 nozzle", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL A1M 0.2 nozzle", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M.json index 40488898f6..1adf40a022 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL A1M", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL A1M", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json index 5856a69870..23227067a2 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P 0.2 nozzle.json @@ -1,137 +1,72 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL P1P 0.2 nozzle", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL P1P 0.2 nozzle", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P.json index 11336bfb68..092d213cca 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL P1P.json @@ -1,142 +1,77 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL P1P", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL P1P", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1.json index b37471ed79..72d5e42f96 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL X1", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_00", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL X1", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_00", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json index 8774c874ce..8e9428f1dd 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL X1C 0.2 nozzle", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL X1C 0.2 nozzle", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03_01", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C.json index da293f6b48..d6e52505a1 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @BBL X1C.json @@ -1,127 +1,62 @@ { - "type": "filament", - "name": "SUNLU PLA+ @BBL X1C", - "inherits": "SUNLU PLA+ @base", - "from": "system", - "setting_id": "GFSNLS03", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "12", - "12" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @BBL X1C", + "inherits": "SUNLU PLA+ @base", + "from": "system", + "setting_id": "GFSNLS03", + "instantiation": "true", + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @base.json index c46fb9affc..ad0170f289 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU PLA+ @base.json @@ -1,47 +1,47 @@ { - "type": "filament", - "name": "SUNLU PLA+ @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFMUWNkp", - "instantiation": "false", - "filament_cost": [ - "18.99" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_vendor": [ - "SUNLU" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "temperature_vitrification": [ - "54" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU PLA+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFMUWNkp", + "instantiation": "false", + "filament_cost": [ + "18.99" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "SUNLU" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "temperature_vitrification": [ + "54" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json index 2f524eef2b..51aef0f369 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL A1 0.2 nozzle", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL A1 0.2 nozzle", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json index 526bc5d716..842b07f125 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL A1", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL A1", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json index 570f5a0de5..bfa3187978 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL A1M 0.2 nozzle", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_07", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL A1M 0.2 nozzle", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_07", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json index fed22243bd..470fb3880a 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL A1M.json @@ -1,37 +1,37 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL A1M", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL A1M", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json index e6c41c46c9..76ee99930e 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P 0.2 nozzle.json @@ -1,131 +1,66 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL P1P 0.2 nozzle", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_03", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.2 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL P1P 0.2 nozzle", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_03", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json index b98d0ed67f..afb63f8fd3 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL P1P.json @@ -1,136 +1,71 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL P1P", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL P1P", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json index 980359bb5a..7950b1b749 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1.json @@ -1,124 +1,59 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL X1", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL X1", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json index ed0ca92a7b..95997d7276 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C 0.2 nozzle.json @@ -1,125 +1,60 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL X1C 0.2 nozzle", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "2", - "2" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL X1C 0.2 nozzle", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "2", + "2" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json index 55e8349ec4..592744f786 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @BBL X1C.json @@ -1,130 +1,65 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @BBL X1C", - "inherits": "SUNLU Silk PLA+ @base", - "from": "system", - "setting_id": "GFSNLS05", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "230", - "230" - ], - "nozzle_temperature_initial_layer": [ - "230", - "230" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @BBL X1C", + "inherits": "SUNLU Silk PLA+ @base", + "from": "system", + "setting_id": "GFSNLS05", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "230", + "230" + ], + "nozzle_temperature_initial_layer": [ + "230", + "230" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @base.json index 22e7994783..4368a784e6 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Silk PLA+ @base.json @@ -1,54 +1,54 @@ { - "type": "filament", - "name": "SUNLU Silk PLA+ @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFpPGSKG", - "instantiation": "false", - "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "SUNLU" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "54" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Silk PLA+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFpPGSKG", + "instantiation": "false", + "description": "To make the prints get higher gloss, please dry the filament before use, and set the outer wall speed to be 40 to 60 mm/s when slicing.", + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "SUNLU" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_scarf_gap": [ + "0%" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "54" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1.json index 224f465980..67ba026aba 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @BBL A1", - "inherits": "SUNLU Wood PLA @base", - "from": "system", - "setting_id": "GFSNLS07_02", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @BBL A1", + "inherits": "SUNLU Wood PLA @base", + "from": "system", + "setting_id": "GFSNLS07_02", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1M.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1M.json index e5943c3222..5318be2d56 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL A1M.json @@ -1,40 +1,40 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @BBL A1M", - "inherits": "SUNLU Wood PLA @base", - "from": "system", - "setting_id": "GFSNLS07_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @BBL A1M", + "inherits": "SUNLU Wood PLA @base", + "from": "system", + "setting_id": "GFSNLS07_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL P1P.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL P1P.json index 5ecdb93c9c..ff61f6d3ce 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL P1P.json @@ -1,145 +1,92 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @BBL P1P", - "inherits": "SUNLU Wood PLA @base", - "from": "system", - "setting_id": "GFSNLS07_01", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "4", - "4" - ], - "filament_retraction_speed": [ - "50", - "50" - ], - "filament_deretraction_speed": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab P1P 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @BBL P1P", + "inherits": "SUNLU Wood PLA @base", + "from": "system", + "setting_id": "GFSNLS07_01", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "0", + "0" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "4", + "4" + ], + "filament_retraction_speed": [ + "50", + "50" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1.json index cd3b48f9af..ec47af1a1f 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1.json @@ -1,127 +1,74 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @BBL X1", - "inherits": "SUNLU Wood PLA @base", - "from": "system", - "setting_id": "GFSNLS07_00", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "4", - "4" - ], - "filament_retraction_speed": [ - "50", - "50" - ], - "filament_deretraction_speed": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @BBL X1", + "inherits": "SUNLU Wood PLA @base", + "from": "system", + "setting_id": "GFSNLS07_00", + "instantiation": "true", + "filament_deretraction_speed": [ + "0", + "0" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "4", + "4" + ], + "filament_retraction_speed": [ + "50", + "50" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1C.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1C.json index f99e4d0815..166a646452 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1C.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @BBL X1C.json @@ -1,127 +1,74 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @BBL X1C", - "inherits": "SUNLU Wood PLA @base", - "from": "system", - "setting_id": "GFSNLS07", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0", - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1", - "1" - ], - "filament_retraction_distances_when_cut": [ - "18", - "18" - ], - "filament_retraction_length": [ - "4", - "4" - ], - "filament_retraction_speed": [ - "50", - "50" - ], - "filament_deretraction_speed": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @BBL X1C", + "inherits": "SUNLU Wood PLA @base", + "from": "system", + "setting_id": "GFSNLS07", + "instantiation": "true", + "filament_deretraction_speed": [ + "0", + "0" + ], + "filament_flow_ratio": [ + "1.0", + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1", + "1" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_retraction_distances_when_cut": [ + "18", + "18" + ], + "filament_retraction_length": [ + "4", + "4" + ], + "filament_retraction_speed": [ + "50", + "50" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @base.json b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @base.json index e13c06ceb8..643b47bab5 100644 --- a/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @base.json +++ b/resources/profiles/BBL/filament/SUNLU/SUNLU Wood PLA @base.json @@ -1,62 +1,62 @@ { - "type": "filament", - "name": "SUNLU Wood PLA @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFLJ8S6I", - "instantiation": "false", - "filament_cost": [ - "26.99" - ], - "filament_density": [ - "1.10" - ], - "filament_flow_ratio": [ - "1.0" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_retraction_length": [ - "4" - ], - "filament_retraction_speed": [ - "50" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "SUNLU" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "5%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "195" - ], - "temperature_vitrification": [ - "54" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} + "type": "filament", + "name": "SUNLU Wood PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFLJ8S6I", + "instantiation": "false", + "filament_cost": [ + "26.99" + ], + "filament_density": [ + "1.10" + ], + "filament_flow_ratio": [ + "1.0" + ], + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "filament_retraction_length": [ + "4" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "SUNLU" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_scarf_height": [ + "5%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "195" + ], + "temperature_vitrification": [ + "54" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1 0.2 nozzle.json new file mode 100644 index 0000000000..d6e8e925bd --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL A1 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_06", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1.json new file mode 100644 index 0000000000..072c2c94cc --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL A1", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_05", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M 0.2 nozzle.json new file mode 100644 index 0000000000..ced8418038 --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M 0.2 nozzle.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL A1M 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_04", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M.json new file mode 100644 index 0000000000..9b71d17e27 --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL A1M.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL A1M", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_03", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D 0.2 nozzle.json new file mode 100644 index 0000000000..fa909a3fd2 --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D 0.2 nozzle.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL H2D 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_08", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D.json new file mode 100644 index 0000000000..a2343c6b4e --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2D.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL H2D", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_07", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json index 5089f0a41f..e9c9c8caa5 100644 --- a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP 0.2 nozzle.json @@ -1,131 +1,54 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL H2DP 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_16", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL H2DP 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_16", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP.json index f1cc7cfa13..0b1ef208ab 100644 --- a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP.json +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2DP.json @@ -1,133 +1,56 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL H2DP", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_15", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL H2DP", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_15", + "instantiation": "true", + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json index 13bc6f4cf7..eb6e63dd5c 100644 --- a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S 0.2 nozzle.json @@ -1,134 +1,73 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL H2S 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_12", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "3", - "3" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL H2S 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_12", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_volumetric_speed": [ + "3", + "3" + ], + "filament_long_retractions_when_cut": [ + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S.json index fe5752183a..0a60b92b11 100644 --- a/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S.json +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL H2S.json @@ -1,136 +1,81 @@ { - "type": "filament", - "name": "eSUN PLA+ @BBL H2S", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_09", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "75" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "0", - "0" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2S 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} + "type": "filament", + "name": "eSUN PLA+ @BBL H2S", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_09", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "75" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cooling_before_tower": [ + "10", + "10", + "10" + ], + "filament_flow_ratio": [ + "0.98", + "0.98", + "0.98" + ], + "filament_long_retractions_when_cut": [ + "0", + "0", + "0" + ], + "filament_max_volumetric_speed": [ + "16", + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual_e3d" + ], + "long_retractions_when_ec": [ + "0", + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2S 0.8 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1.json new file mode 100644 index 0000000000..df1c6a5e5d --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL X1", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_02", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C 0.2 nozzle.json new file mode 100644 index 0000000000..7e3c941a9f --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C 0.2 nozzle.json @@ -0,0 +1,49 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL X1C 0.2 nozzle", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_01", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "1.8", + "1.8" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C.json b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C.json new file mode 100644 index 0000000000..712a1335d4 --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @BBL X1C", + "inherits": "eSUN PLA+ @base", + "from": "system", + "setting_id": "GFSL03_00", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "16", + "16" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "include": [ + "fdm_filament_template_direct_dual" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "220", + "220" + ], + "nozzle_temperature_initial_layer": [ + "220", + "220" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "compatible_printers": [ + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab X1E 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN PLA+ @base.json b/resources/profiles/BBL/filament/eSUN PLA+ @base.json new file mode 100644 index 0000000000..7a40d0187f --- /dev/null +++ b/resources/profiles/BBL/filament/eSUN PLA+ @base.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "eSUN PLA+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFqINlYj", + "instantiation": "false", + "filament_cost": [ + "22.99" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "eSUN" + ], + "slow_down_layer_time": [ + "6" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1 0.2 nozzle.json deleted file mode 100644 index 7ec0d0250e..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL A1 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_06", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1.json deleted file mode 100644 index 9831a42950..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL A1", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_05", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M 0.2 nozzle.json deleted file mode 100644 index d8ad009b96..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M 0.2 nozzle.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL A1M 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_04", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M.json deleted file mode 100644 index a7ab593c50..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL A1M.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL A1M", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_03", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D 0.2 nozzle.json deleted file mode 100644 index 32f2e2c009..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D 0.2 nozzle.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL H2D 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_08", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D.json deleted file mode 100644 index 1589c492cc..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL H2D.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL H2D", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_07", - "instantiation": "true", - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "1", - "1" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "10", - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D 0.8 nozzle" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1.json deleted file mode 100644 index 553c2ea312..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL X1", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_02", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C 0.2 nozzle.json deleted file mode 100644 index e0de21b614..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C 0.2 nozzle.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL X1C 0.2 nozzle", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_01", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "1.8", - "1.8" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C.json deleted file mode 100644 index 5975af1cb2..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @BBL X1C.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @BBL X1C", - "inherits": "eSUN PLA+ @base", - "from": "system", - "setting_id": "GFSL03_00", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_max_volumetric_speed": [ - "16", - "16" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], - "compatible_printers": [ - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab X1E 0.8 nozzle" - ] -} diff --git a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @base.json b/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @base.json deleted file mode 100644 index 6820e79489..0000000000 --- a/resources/profiles/BBL/filament/eSUN/eSUN PLA+ @base.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "filament", - "name": "eSUN PLA+ @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "OFqINlYj", - "instantiation": "false", - "filament_cost": [ - "22.99" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "eSUN" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ] -} diff --git a/resources/profiles/BBL/filament/fdm_filament_abs.json b/resources/profiles/BBL/filament/fdm_filament_abs.json index 4eb47ce0bd..4b8086b836 100644 --- a/resources/profiles/BBL/filament/fdm_filament_abs.json +++ b/resources/profiles/BBL/filament/fdm_filament_abs.json @@ -1,48 +1,48 @@ { - "type": "filament", - "name": "fdm_filament_abs", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "1" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.04" - ], - "filament_max_volumetric_speed": [ - "28.6" - ], - "filament_type": [ - "ABS" - ], - "filament_adhesiveness_category": [ - "200" - ], + "type": "filament", + "name": "fdm_filament_abs", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ABS" + ], + "filament_adhesiveness_category": [ + "200" + ], "filament_dev_ams_drying_time": [ "12", "8.0", @@ -64,52 +64,52 @@ "filament_dev_drying_softening_temperature": [ "80" ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_asa.json b/resources/profiles/BBL/filament/fdm_filament_asa.json index b5ae3ad8b5..b3d8d48b54 100644 --- a/resources/profiles/BBL/filament/fdm_filament_asa.json +++ b/resources/profiles/BBL/filament/fdm_filament_asa.json @@ -1,48 +1,48 @@ { - "type": "filament", - "name": "fdm_filament_asa", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "1" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.04" - ], - "filament_max_volumetric_speed": [ - "28.6" - ], - "filament_type": [ - "ASA" - ], - "filament_adhesiveness_category": [ - "200" - ], + "type": "filament", + "name": "fdm_filament_asa", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "filament_type": [ + "ASA" + ], + "filament_adhesiveness_category": [ + "200" + ], "filament_dev_ams_drying_time": [ "12", "8.0", @@ -64,55 +64,55 @@ "filament_dev_drying_softening_temperature": [ "85" ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "impact_strength_z": [ - "4.9" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "impact_strength_z": [ + "4.9" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_bvoh.json b/resources/profiles/BBL/filament/fdm_filament_bvoh.json index ee15cc5e30..5755e3bdbb 100644 --- a/resources/profiles/BBL/filament/fdm_filament_bvoh.json +++ b/resources/profiles/BBL/filament/fdm_filament_bvoh.json @@ -1,48 +1,51 @@ { - "type": "filament", - "name": "fdm_filament_bvoh", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "69.99" - ], - "filament_density": [ - "1.13" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_type": [ - "BVOH" - ], + "type": "filament", + "name": "fdm_filament_bvoh", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "69.99" + ], + "filament_density": [ + "1.13" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "BVOH" + ], "filament_dev_chamber_drying_bed_temperature": [ "80" ], @@ -71,46 +74,46 @@ "filament_dev_drying_softening_temperature": [ "50" ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "45" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_common.json b/resources/profiles/BBL/filament/fdm_filament_common.json index caa037c74b..29f0d6a529 100644 --- a/resources/profiles/BBL/filament/fdm_filament_common.json +++ b/resources/profiles/BBL/filament/fdm_filament_common.json @@ -1,301 +1,400 @@ { - "type": "filament", - "name": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "chamber_temperatures": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "close_additional_fan_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "70" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "counter_coef_1": [ - "0" - ], - "counter_coef_2": [ - "0.008" - ], - "counter_coef_3": [ - "-0.041" - ], - "counter_limit_min": [ - "-0.035" - ], - "counter_limit_max": [ - "0.033" - ], - "circle_compensation_speed": [ - "200" - ], - "during_print_exhaust_fan_speed": [ - "70" - ], - "diameter_limit": [ - "50" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "60" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "35" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "0" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_flush_temp": [ - "0" - ], - "filament_flush_volumetric_speed": [ - "0" - ], - "filament_is_support": [ - "0" - ], - "filament_long_retractions_when_cut": [ - "nil" - ], - "filament_long_retractions_when_ec": [ - "nil" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_ramming_volumetric_speed": [ - "-1" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_tower_interface_pre_extrusion_dist": [ - "10" - ], - "filament_tower_interface_pre_extrusion_length": [ - "0" - ], - "filament_tower_ironing_area": [ - "4" - ], - "filament_tower_interface_purge_volume": [ - "20" - ], - "filament_tower_interface_print_temp": [ - "-1" - ], - "filament_printable": [ - "3" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil" - ], - "filament_retraction_distances_when_ec": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_settings_id": [ - "" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_prime_volume": [ - "45" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "additional_fan_full_speed_layer": [ - "0" - ], - "filament_extruder_variant": [ - "Direct Drive Standard" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "10%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" - ], - "filament_shrink": [ - "100%" - ], - "filament_pre_cooling_temperature": [ - "0" - ], - "filament_ramming_travel_time": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "hole_coef_1": [ - "0" - ], - "hole_coef_2": [ - "-0.008" - ], - "hole_coef_3": [ - "0.23415" - ], - "hole_limit_min": [ - "0.088" - ], - "hole_limit_max": [ - "0.22" - ], - "impact_strength_z": [ - "10" - ], - "long_retractions_when_ec": [ - "0" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature": [ - "200" - ], - "nozzle_temperature_initial_layer": [ - "200" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "95%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "3" - ], - "retraction_distances_when_ec": [ - "0" - ], - "supertack_plate_temp": [ - "45" - ], - "supertack_plate_temp_initial_layer": [ - "45" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_velocity_adaptation_factor": [ - "1" - ], - "compatible_printers": [], - "filament_start_gcode": [ - "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \nM106 P3 S0\n" - ], - "filament_adaptive_volumetric_speed": [ - "0" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0" - ] + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "chamber_temperatures": [ + "0" + ], + "circle_compensation_speed": [ + "200" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "counter_coef_1": [ + "0" + ], + "counter_coef_2": [ + "0.008" + ], + "counter_coef_3": [ + "-0.041" + ], + "counter_limit_max": [ + "0.033" + ], + "counter_limit_min": [ + "-0.035" + ], + "diameter_limit": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "filament_extruder_compatibility": [ + "0" + ], + "filament_cooling_before_tower": [ + "0" + ], + "filament_preheat_temperature_delta":[ + "0" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45.0" + ], + "filament_dev_ams_drying_temperature": [ + "40.0", + "40.0", + "40.0", + "40.0" + ], + "filament_dev_ams_drying_time": [ + "8.0", + "8.0", + "8.0", + "8.0" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "90.0" + ], + "filament_dev_chamber_drying_time": [ + "12.0" + ], + "filament_dev_drying_cooling_temperature": [ + "35.0" + ], + "filament_dev_drying_softening_temperature": [ + "40.0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_is_support": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_long_retractions_when_ec": [ + "nil" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_metal_stickiness": [ + "None" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_pre_cooling_temperature": [ + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0" + ], + "filament_prime_volume": [ + "45" + ], + "filament_prime_volume_nc": [ + "60" + ], + "filament_printable": [ + "3" + ], + "filament_ramming_travel_time_nc": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_distances_when_ec": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_settings_id": [ + "" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "additional_fan_full_speed_layer": [ + "0" + ], + "filament_scarf_height": [ + "10%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "filament_ramming_travel_time": [ + "0" + ], + "filament_retract_length_nc": [ + "14" + ], + "filament_enable_overhang_speed": [ + "1" + ], + "filament_overhang_1_4_speed": [ + "0" + ], + "filament_overhang_2_4_speed": [ + "50" + ], + "filament_overhang_3_4_speed": [ + "30" + ], + "filament_overhang_4_4_speed": [ + "10" + ], + "filament_overhang_totally_speed": [ + "10" + ], + "filament_bridge_speed": [ + "25" + ], + "filament_change_length": [ + "10" + ], + "filament_velocity_adaptation_factor": [ + "1" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "filament_ingredients_safe": "1", + "filament_emission_safe": "1", + "filament_contact_safe": "1", + "hole_coef_1": [ + "0" + ], + "hole_coef_2": [ + "-0.008" + ], + "hole_coef_3": [ + "0.23415" + ], + "hole_limit_max": [ + "0.22" + ], + "hole_limit_min": [ + "0.088" + ], + "impact_strength_z": [ + "10" + ], + "long_retractions_when_ec": [ + "0" + ], + "no_slow_down_for_cooling_on_outwalls": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "override_process_overhang_speed": [ + "0" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "cooling_slowdown_logic": [ + "uniform_cooling" + ], + "cooling_perimeter_transition_distance": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "supertack_plate_temp": [ + "45" + ], + "supertack_plate_temp_initial_layer": [ + "45" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "compatible_printers": [], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \nM106 P3 S0\n" + ] } diff --git a/resources/profiles/BBL/filament/fdm_filament_dual_common.json b/resources/profiles/BBL/filament/fdm_filament_dual_common.json deleted file mode 100644 index c36dc19ffc..0000000000 --- a/resources/profiles/BBL/filament/fdm_filament_dual_common.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "type": "filament", - "name": "fdm_filament_dual_common", - "from": "system", - "instantiation": "false", - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_max_volumetric_speed": [ - "", - "" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_prime_volume": [ - "45" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_flow_ratio": [ - "", - "" - ], - "filament_change_length": [ - "10" - ], - "nozzle_temperature": [ - "", - "" - ], - "nozzle_temperature_initial_layer": [ - "", - "" - ], - "filament_velocity_adaptation_factor": [ - "1" - ] -} diff --git a/resources/profiles/BBL/filament/fdm_filament_eva.json b/resources/profiles/BBL/filament/fdm_filament_eva.json index a3f9ab0011..8edbe3f6ff 100644 --- a/resources/profiles/BBL/filament/fdm_filament_eva.json +++ b/resources/profiles/BBL/filament/fdm_filament_eva.json @@ -1,12 +1,12 @@ { - "type": "filament", - "name": "fdm_filament_eva", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "filament_type": [ - "EVA" - ], + "type": "filament", + "name": "fdm_filament_eva", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "filament_type": [ + "EVA" + ], "filament_dev_chamber_drying_bed_temperature": [ "70" ], @@ -35,13 +35,13 @@ "filament_dev_drying_softening_temperature": [ "50" ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_hips.json b/resources/profiles/BBL/filament/fdm_filament_hips.json index 7016a866f6..ff43b5f174 100644 --- a/resources/profiles/BBL/filament/fdm_filament_hips.json +++ b/resources/profiles/BBL/filament/fdm_filament_hips.json @@ -1,44 +1,44 @@ { - "type": "filament", - "name": "fdm_filament_hips", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "90" - ], - "eng_plate_temp_initial_layer": [ - "90" - ], - "fan_cooling_layer_time": [ - "10" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "22.99" - ], - "filament_density": [ - "1.06" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_type": [ - "HIPS" - ], - "filament_adhesiveness_category": [ - "798" + "type": "filament", + "name": "fdm_filament_hips", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "10" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "22.99" + ], + "filament_density": [ + "1.06" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "HIPS" + ], + "filament_adhesiveness_category": [ + "798" ], "filament_dev_ams_drying_time": [ "12", @@ -60,50 +60,50 @@ ], "filament_dev_drying_softening_temperature": [ "80" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pa.json b/resources/profiles/BBL/filament/fdm_filament_pa.json index 61aeed66ce..361b84bf3b 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pa.json +++ b/resources/profiles/BBL/filament/fdm_filament_pa.json @@ -1,48 +1,51 @@ { - "type": "filament", - "name": "fdm_filament_pa", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "1" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_cooling_layer_time": [ - "4" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.04" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_type": [ - "PA" - ], - "filament_adhesiveness_category": [ - "400" - ], + "type": "filament", + "name": "fdm_filament_pa", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "4" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_metal_stickiness": [ + "High" + ], + "filament_type": [ + "PA" + ], + "filament_adhesiveness_category": [ + "400" + ], "filament_dev_ams_drying_time": [ "12", "12", @@ -67,52 +70,52 @@ "filament_dev_drying_softening_temperature": [ "150" ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "300" - ], - "nozzle_temperature_range_low": [ - "260" - ], - "overhang_fan_speed": [ - "30" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "108" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "30" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "108" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pc.json b/resources/profiles/BBL/filament/fdm_filament_pc.json index a73a56b440..7a61e458cc 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pc.json +++ b/resources/profiles/BBL/filament/fdm_filament_pc.json @@ -1,45 +1,45 @@ { - "type": "filament", - "name": "fdm_filament_pc", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "110" - ], - "eng_plate_temp_initial_layer": [ - "110" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.04" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_type": [ - "PC" - ], - "filament_adhesiveness_category": [ - "500" - ], + "type": "filament", + "name": "fdm_filament_pc", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_type": [ + "PC" + ], + "filament_adhesiveness_category": [ + "500" + ], "filament_dev_ams_drying_time": [ "12", "8.0", @@ -61,55 +61,55 @@ "filament_dev_drying_softening_temperature": [ "90" ], - "hot_plate_temp": [ - "110" - ], - "hot_plate_temp_initial_layer": [ - "110" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "290" - ], - "nozzle_temperature_range_low": [ - "260" - ], - "overhang_fan_speed": [ - "60" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "120" - ], - "textured_plate_temp": [ - "110" - ], - "textured_plate_temp_initial_layer": [ - "110" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "60" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "120" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pctg.json b/resources/profiles/BBL/filament/fdm_filament_pctg.json index 01810a2ddc..0f6e163ba0 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pctg.json +++ b/resources/profiles/BBL/filament/fdm_filament_pctg.json @@ -1,33 +1,36 @@ { - "type": "filament", - "name": "fdm_filament_pctg", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.27" - ], - "filament_max_volumetric_speed": [ - "25" - ], - "filament_type": [ - "PCTG" - ], + "type": "filament", + "name": "fdm_filament_pctg", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_metal_stickiness": [ + "High" + ], + "filament_type": [ + "PCTG" + ], "filament_dev_chamber_drying_bed_temperature": [ "80" ], @@ -59,46 +62,46 @@ "filament_dev_drying_softening_temperature": [ "60" ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature": [ - "255" - ], - "nozzle_temperature_initial_layer": [ - "255" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pe.json b/resources/profiles/BBL/filament/fdm_filament_pe.json index 9235c3301e..0de7d887a7 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pe.json +++ b/resources/profiles/BBL/filament/fdm_filament_pe.json @@ -1,45 +1,48 @@ { - "type": "filament", - "name": "fdm_filament_pe", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PE" - ], + "type": "filament", + "name": "fdm_filament_pe", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PE" + ], "filament_dev_chamber_drying_bed_temperature": [ "70" ], @@ -65,49 +68,49 @@ "filament_dev_drying_softening_temperature": [ "50" ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "45" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pet.json b/resources/profiles/BBL/filament/fdm_filament_pet.json index 23a8f73fe4..fe1d01694a 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pet.json +++ b/resources/profiles/BBL/filament/fdm_filament_pet.json @@ -1,36 +1,39 @@ { - "type": "filament", - "name": "fdm_filament_pet", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.27" - ], - "filament_max_volumetric_speed": [ - "25" - ], - "filament_type": [ - "PETG" - ], - "filament_adhesiveness_category": [ - "300" - ], + "type": "filament", + "name": "fdm_filament_pet", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_metal_stickiness": [ + "High" + ], + "filament_type": [ + "PETG" + ], + "filament_adhesiveness_category": [ + "300" + ], "filament_dev_chamber_drying_bed_temperature": [ "80" ], @@ -59,46 +62,46 @@ "filament_dev_drying_softening_temperature": [ "60" ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature": [ - "255" - ], - "nozzle_temperature_initial_layer": [ - "255" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "70" - ], - "supertack_plate_temp_initial_layer": [ - "70" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pha.json b/resources/profiles/BBL/filament/fdm_filament_pha.json index 2bd348e2de..8edb5389be 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pha.json +++ b/resources/profiles/BBL/filament/fdm_filament_pha.json @@ -1,45 +1,48 @@ { - "type": "filament", - "name": "fdm_filament_pha", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "27.99" - ], - "filament_density": [ - "1.24" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_type": [ - "PHA" - ], + "type": "filament", + "name": "fdm_filament_pha", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "27.99" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_type": [ + "PHA" + ], "filament_dev_chamber_drying_bed_temperature": [ "70" ], @@ -65,49 +68,49 @@ "filament_dev_drying_softening_temperature": [ "50" ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "120" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "120" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pla.json b/resources/profiles/BBL/filament/fdm_filament_pla.json index f1e1c9a244..eb0ee310d1 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pla.json +++ b/resources/profiles/BBL/filament/fdm_filament_pla.json @@ -1,47 +1,50 @@ { - "type": "filament", - "name": "fdm_filament_pla", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_scarf_gap": [ - "15%" - ], - "filament_adhesiveness_category": [ - "100" + "type": "filament", + "name": "fdm_filament_pla", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_scarf_gap": [ + "15%" + ], + "filament_adhesiveness_category": [ + "100" ], "filament_dev_chamber_drying_bed_temperature": [ "70" @@ -70,47 +73,47 @@ ], "filament_dev_drying_softening_temperature": [ "50" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "impact_strength_z": [ - "10.0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "45" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "impact_strength_z": [ + "10.0" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pp.json b/resources/profiles/BBL/filament/fdm_filament_pp.json index 2d8c3772ba..ce6b887c8a 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pp.json +++ b/resources/profiles/BBL/filament/fdm_filament_pp.json @@ -1,48 +1,51 @@ { - "type": "filament", - "name": "fdm_filament_pp", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "34.99" - ], - "filament_density": [ - "0.93" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PP" - ], - "filament_adhesiveness_category": [ - "902" - ], + "type": "filament", + "name": "fdm_filament_pp", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PP" + ], + "filament_adhesiveness_category": [ + "902" + ], "filament_dev_chamber_drying_bed_temperature": [ "70" ], @@ -71,55 +74,55 @@ "filament_dev_drying_softening_temperature": [ "55" ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature": [ - "235" - ], - "nozzle_temperature_initial_layer": [ - "235" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_ppa.json b/resources/profiles/BBL/filament/fdm_filament_ppa.json index 3bba318bc5..f14397aa6e 100644 --- a/resources/profiles/BBL/filament/fdm_filament_ppa.json +++ b/resources/profiles/BBL/filament/fdm_filament_ppa.json @@ -1,51 +1,54 @@ { - "type": "filament", - "name": "fdm_filament_ppa", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "1" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "100" - ], - "eng_plate_temp_initial_layer": [ - "100" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_type": [ - "PPA-CF" - ], - "filament_vendor": [ - "Bambu Lab" - ], + "type": "filament", + "name": "fdm_filament_ppa", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_metal_stickiness": [ + "High" + ], + "filament_type": [ + "PPA-CF" + ], + "filament_vendor": [ + "Bambu Lab" + ], "filament_dev_chamber_drying_bed_temperature": [ "100" ], @@ -55,7 +58,9 @@ "12", "12" ], - "filament_dev_ams_drying_ams_limitations": [], + "filament_dev_ams_drying_ams_limitations": [ + "-1" + ], "filament_dev_chamber_drying_time": [ "18" ], @@ -74,55 +79,55 @@ "filament_dev_drying_softening_temperature": [ "150" ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "210" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "210" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pps.json b/resources/profiles/BBL/filament/fdm_filament_pps.json index d1c6a6aed2..6df9a8f8d7 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pps.json +++ b/resources/profiles/BBL/filament/fdm_filament_pps.json @@ -1,48 +1,48 @@ { - "type": "filament", - "name": "fdm_filament_pps", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "chamber_temperatures": [ - "60" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "110" - ], - "eng_plate_temp_initial_layer": [ - "110" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "0" - ], - "filament_density": [ - "1.36" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_type": [ - "PPS" - ], - "filament_adhesiveness_category": [ - "801" - ], + "type": "filament", + "name": "fdm_filament_pps", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "chamber_temperatures": [ + "60" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "0" + ], + "filament_density": [ + "1.36" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_type": [ + "PPS" + ], + "filament_adhesiveness_category": [ + "801" + ], "filament_dev_chamber_drying_bed_temperature": [ "100" ], @@ -52,7 +52,9 @@ "12", "12" ], - "filament_dev_ams_drying_ams_limitations": [], + "filament_dev_ams_drying_ams_limitations": [ + "-1" + ], "filament_dev_ams_drying_heat_distortion_temperature": [ "165" ], @@ -68,49 +70,49 @@ "filament_dev_drying_softening_temperature": [ "150" ], - "hot_plate_temp": [ - "110" - ], - "hot_plate_temp_initial_layer": [ - "110" - ], - "nozzle_temperature": [ - "320" - ], - "nozzle_temperature_initial_layer": [ - "320" - ], - "nozzle_temperature_range_high": [ - "340" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "30" - ], - "overhang_fan_threshold": [ - "0%" - ], - "slow_down_layer_time": [ - "2" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "125" - ], - "textured_plate_temp": [ - "110" - ], - "textured_plate_temp_initial_layer": [ - "110" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "340" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "30" + ], + "overhang_fan_threshold": [ + "0%" + ], + "slow_down_layer_time": [ + "2" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "125" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_pva.json b/resources/profiles/BBL/filament/fdm_filament_pva.json index 55d83517ce..55801ab222 100644 --- a/resources/profiles/BBL/filament/fdm_filament_pva.json +++ b/resources/profiles/BBL/filament/fdm_filament_pva.json @@ -1,54 +1,57 @@ { - "type": "filament", - "name": "fdm_filament_pva", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "filament_adhesiveness_category": [ - "704" - ], + "type": "filament", + "name": "fdm_filament_pva", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "filament_adhesiveness_category": [ + "704" + ], "filament_dev_ams_drying_time": [ "12", "18", @@ -70,49 +73,49 @@ "filament_dev_drying_softening_temperature": [ "75" ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "35" - ], - "supertack_plate_temp_initial_layer": [ - "35" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "50" - ], - "temperature_vitrification": [ - "45" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "50" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden.json b/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden.json new file mode 100644 index 0000000000..152b0ade59 --- /dev/null +++ b/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden.json @@ -0,0 +1,228 @@ +{ + "type": "filament", + "name": "fdm_filament_template_direct_bowden", + "from": "system", + "instantiation": "false", + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_cooling_before_tower": [ + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta":[ + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "filament_pre_cooling_temperature": [ + "0", + "0", + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "nil" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "10", + "10", + "10", + "10" + ], + "slow_down_min_speed": [ + "10", + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden_e3d.json b/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden_e3d.json new file mode 100644 index 0000000000..dbc34809ab --- /dev/null +++ b/resources/profiles/BBL/filament/fdm_filament_template_direct_bowden_e3d.json @@ -0,0 +1,302 @@ +{ + "type": "filament", + "name": "fdm_filament_template_direct_bowden_e3d", + "from": "system", + "instantiation": "false", + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_cooling_before_tower": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Bowden Standard", + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "filament_flush_temp": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "25", + "25", + "25", + "25" + ], + "filament_pre_cooling_temperature": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14", + "14", + "14", + "14" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1", + "-1", + "-1", + "-1", + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1", + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil", + "nil", + "nil", + "nil" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "slow_down_min_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_template_direct_dual.json b/resources/profiles/BBL/filament/fdm_filament_template_direct_dual.json new file mode 100644 index 0000000000..45a531cdbb --- /dev/null +++ b/resources/profiles/BBL/filament/fdm_filament_template_direct_dual.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "fdm_filament_template_direct_dual", + "from": "system", + "instantiation": "false", + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "filament_cooling_before_tower": [ + "0", + "0" + ], + "filament_preheat_temperature_delta":[ + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_enable_overhang_speed": [ + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_temp_fast": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_flow_ratio": [ + "0.95", + "0.95" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil" + ], + "filament_overhang_1_4_speed": [ + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "override_process_overhang_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "1", + "1" + ], + "retraction_distances_when_ec": [ + "10", + "10" + ], + "slow_down_min_speed": [ + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/fdm_filament_template_direct_dual_e3d.json b/resources/profiles/BBL/filament/fdm_filament_template_direct_dual_e3d.json new file mode 100644 index 0000000000..814597c4e5 --- /dev/null +++ b/resources/profiles/BBL/filament/fdm_filament_template_direct_dual_e3d.json @@ -0,0 +1,201 @@ +{ + "type": "filament", + "name": "fdm_filament_template_direct_dual_e3d", + "from": "system", + "instantiation": "false", + "filament_adaptive_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_cooling_before_tower": [ + "0", + "0", + "0" + ], + "filament_preheat_temperature_delta":[ + "10", + "10", + "10" + ], + "filament_deretraction_speed": [ + "nil", + "nil", + "nil" + ], + "filament_enable_overhang_speed": [ + "1", + "1", + "1" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "filament_flush_temp": [ + "0", + "0", + "0" + ], + "filament_flush_temp_fast": [ + "0", + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0", + "0" + ], + "filament_flow_ratio": [ + "0.95", + "0.95", + "0.95" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_overhang_1_4_speed": [ + "0", + "0", + "0" + ], + "filament_overhang_2_4_speed": [ + "50", + "50", + "50" + ], + "filament_overhang_3_4_speed": [ + "30", + "30", + "30" + ], + "filament_overhang_4_4_speed": [ + "10", + "10", + "10" + ], + "filament_overhang_totally_speed": [ + "10", + "10", + "10" + ], + "filament_bridge_speed": [ + "25", + "25", + "25" + ], + "filament_pre_cooling_temperature": [ + "0", + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0", + "0" + ], + "filament_retract_length_nc": [ + "14", + "14", + "14" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1", + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil", + "nil" + ], + "long_retractions_when_ec": [ + "1", + "1", + "1" + ], + "override_process_overhang_speed": [ + "0", + "0", + "0" + ], + "retraction_distances_when_ec": [ + "10", + "10", + "10" + ], + "slow_down_min_speed": [ + "10", + "10", + "10" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/fdm_filament_tpu.json b/resources/profiles/BBL/filament/fdm_filament_tpu.json index d2ef5db84e..6c37a7873d 100644 --- a/resources/profiles/BBL/filament/fdm_filament_tpu.json +++ b/resources/profiles/BBL/filament/fdm_filament_tpu.json @@ -1,51 +1,57 @@ { - "type": "filament", - "name": "fdm_filament_tpu", - "inherits": "fdm_filament_common", - "from": "system", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "cool_plate_temp": [ - "30" - ], - "cool_plate_temp_initial_layer": [ - "30" - ], - "eng_plate_temp": [ - "30" - ], - "eng_plate_temp_initial_layer": [ - "30" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_type": [ - "TPU" - ], - "filament_adhesiveness_category": [ - "600" - ], + "type": "filament", + "name": "fdm_filament_tpu", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "30" + ], + "cool_plate_temp_initial_layer": [ + "30" + ], + "eng_plate_temp": [ + "30" + ], + "eng_plate_temp_initial_layer": [ + "30" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_metal_stickiness": [ + "High" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_type": [ + "TPU" + ], + "filament_adhesiveness_category": [ + "600" + ], "filament_dev_ams_drying_time": [ "12", "18", @@ -70,46 +76,46 @@ "filament_dev_drying_softening_temperature": [ "50" ], - "hot_plate_temp": [ - "35" - ], - "hot_plate_temp_initial_layer": [ - "35" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "supertack_plate_temp": [ - "0" - ], - "supertack_plate_temp_initial_layer": [ - "0" - ], - "temperature_vitrification": [ - "30" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n\n" - ] -} + "hot_plate_temp": [ + "35" + ], + "hot_plate_temp_initial_layer": [ + "35" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "30" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/filament_id_map.json b/resources/profiles/BBL/filament/filament_id_map.json new file mode 100644 index 0000000000..3e7f151a18 --- /dev/null +++ b/resources/profiles/BBL/filament/filament_id_map.json @@ -0,0 +1,242 @@ +{ + "type": "filament", + "GM004": { + "GFSN05_02": "GFSN05_13", + "GFSN04": "GFSN04_12", + "GFSN06_00": "GFSN06_10" + }, + "GM007": { + "GFSG96_00": "GFSG96_27" + }, + "GM003": { + "GFSG96_00": "GFSG96_27" + }, + "GM005": { + "GFSB00": "GFSB00_40", + "GFSN05_02": "GFSN05_13", + "GFSN04": "GFSN04_12", + "GFSG02_02": "GFSG02_37", + "GFSG01_01": "GFSG01_30", + "GFSA00": "GFSA00_33", + "GFSA13_00": "GFSA13_28", + "GFSA15_00": "GFSA15_28", + "GFSA12_00": "GFSA12_30", + "GFSA18_00": "GFSA18_31", + "GFSA07_00": "GFSA07_15", + "GFSA01": "GFSA01_33", + "GFSA02": "GFSA02_28", + "GFSA06_00": "GFSA06_27", + "GFSA08_00": "GFSA08_16", + "GFSA10_32": "GFSA10_37", + "GFSA16_00": "GFSA16_20", + "GFSN06_00": "GFSN06_10", + "GFSU02_00": "GFSU02_13" + }, + "GM006": { + "GFSG96_00": "GFSG96_27" + }, + "GM014": { + "GFSB00": "GFSB00_38", + "GFSG02_00": "GFSG02_36", + "GFSA00": "GFSA00_34", + "GFSA01": "GFSA01_34", + "GFSA06_00": "GFSA06_29", + "GFSG96_00": "GFSG96_26" + }, + "GM016": { + "GFSB00": "GFSB00_39", + "GFSA00": "GFSA00_35", + "GFSA01": "GFSA01_35", + "GFSA06_00": "GFSA06_28", + "GFSG96_00": "GFSG96_25" + }, + "GM012": { + "GFSN04_10": "GFSN04_15", + "GFSA07_10": "GFSA07_18" + }, + "GM011": { + "GFSA13_03": "GFSA13_31", + "GFSA15_03": "GFSA15_31", + "GFSA12_02": "GFSA12_33", + "GFSA18_03": "GFSA18_34", + "GFSA06_03": "GFSA06_30", + "GFSA16_03": "GFSA16_23", + "GFSU02_01": "GFSU02_16", + "GFSB00_03": "GFSB00_41", + "GFSN04_10": "GFSN04_15", + "GFSC00_04": "GFSC00_42", + "GFSA04_10": "GFSA04_11", + "GFSA07_10": "GFSA07_18", + "GFSA05_10": "GFSA05_28", + "GFSA02_10": "GFSA02_29", + "GFSA08_10": "GFSA08_19", + "GFSA10_34": "GFSA10_38" + }, + "GM013": { + "GFSG02_00": "GFSG02_35" + }, + "GM033": { + "GFSU00_08": "GFSU00_20", + "GFSU00_11": "GFSU00_21" + }, + "GM035": { + "GFSU03_02": "GFSU03_24", + "GFSN05_04": "GFSN05_19", + "GFSN04_01": "GFSN04_21", + "GFSA18_09": "GFSA18_45", + "GFSA19_12": "GFSA19_44", + "GFSA06_09": "GFSA06_41", + "GFSA17_13": "GFSA17_45", + "GFSS04_10": "GFSS04_29", + "GFSS02_07": "GFSS02_35", + "GFSS05_08": "GFSS05_32", + "GFSS06_02": "GFSS06_15", + "GFSU02_04": "GFSU02_26" + }, + "GM036": { + "GFSU03_02": "GFSU03_26", + "GFSN05_04": "GFSN05_20", + "GFSN04_01": "GFSN04_22", + "GFSG00_16": "GFSG00_45", + "GFSG01_11": "GFSG01_41", + "GFSG50_07": "GFSG50_31", + "GFSA06_09": "GFSA06_42", + "GFSA50_06": "GFSA50_27", + "GFSS04_10": "GFSS04_30", + "GFSS02_07": "GFSS02_36", + "GFSS05_08": "GFSS05_33", + "GFSS06_02": "GFSS06_16", + "GFSU00_08": "GFSU00_27", + "GFSU02_04": "GFSU02_27" + }, + "GM053": { + "GFSU03_03": "GFSU03_25", + "GFSN05_06": "GFSN05_21", + "GFSN04_03": "GFSN04_23", + "GFSA19_15": "GFSA19_45", + "GFSA06_13": "GFSA06_43", + "GFSA17_32": "GFSA17_46", + "GFSS04_14": "GFSS04_31", + "GFSS02_18": "GFSS02_37", + "GFSS05_12": "GFSS05_39", + "GFSS06_04": "GFSS06_17", + "GFSU02_06": "GFSU02_28" + }, + "GM054": { + "GFSU03_03": "GFSU03_27", + "GFSN05_06": "GFSN05_22", + "GFSN04_03": "GFSN04_24", + "GFSG00_21": "GFSG00_46", + "GFSG01_17": "GFSG01_42", + "GFSG50_14": "GFSG50_32", + "GFSA06_13": "GFSA06_44", + "GFSA50_13": "GFSA50_28", + "GFSS04_14": "GFSS04_32", + "GFSS02_18": "GFSS02_38", + "GFSS05_12": "GFSS05_40", + "GFSS06_04": "GFSS06_18", + "GFSU00_11": "GFSU00_28", + "GFSU02_06": "GFSU02_29" + }, + "GM048": { + "GFSB01_20": "GFSB01_50", + "GFSN05_07": "GFSN05_27", + "GFSN04_05": "GFSN04_29", + "GFSG00_22": "GFSG00_49", + "GFSG02_22": "GFSG02_51", + "GFSA18_13": "GFSA18_48", + "GFSA01_11": "GFSA01_49", + "GFSA06_16": "GFSA06_47", + "GFSA10_18": "GFSA10_52", + "GFSA50_15": "GFSA50_31", + "GFSS04_09": "GFSS04_35", + "GFSS02_19": "GFSS02_43", + "GFSS05_15": "GFSS05_38", + "GFSS06_06": "GFSS06_23", + "GFSU00_12": "GFSU00_33", + "GFSU02_08": "GFSU02_32", + "GFSA00_09": "GFSA00_55" + }, + "GM044": { + "GFSN05_09": "GFSN05_18", + "GFSN04_07": "GFSN04_20", + "GFSG00_25": "GFSG00_44", + "GFSG01_23": "GFSG01_40", + "GFSG50_18": "GFSG50_30", + "GFSA18_16": "GFSA18_44", + "GFSA19_10": "GFSA19_43", + "GFSA06_19": "GFSA06_40", + "GFSA17_29": "GFSA17_44", + "GFSA50_17": "GFSA50_26", + "GFSS04_18": "GFSS04_28", + "GFSS02_22": "GFSS02_34", + "GFSS05_18": "GFSS05_31", + "GFSS06_08": "GFSS06_14", + "GFSU00_14": "GFSU00_26", + "GFSU02_10": "GFSU02_25" + }, + "GM039": { + "GFSN05_10": "GFSN05_23", + "GFSN04_08": "GFSN04_25", + "GFSG01_08": "GFSG01_44", + "GFSG50_09": "GFSG50_34", + "GFSA18_18": "GFSA18_46", + "GFSA19_18": "GFSA19_46", + "GFSA06_21": "GFSA06_45", + "GFSA17_15": "GFSA17_47", + "GFSA50_07": "GFSA50_29", + "GFSS04_20": "GFSS04_36", + "GFSS02_08": "GFSS02_39", + "GFSS05_20": "GFSS05_34", + "GFSS06_09": "GFSS06_19", + "GFSU00_09": "GFSU00_29", + "GFSU02_11": "GFSU02_24" + }, + "GM040": { + "GFSN05_10": "GFSN05_24", + "GFSN04_08": "GFSN04_26", + "GFSG00_32": "GFSG00_47", + "GFSG01_08": "GFSG01_45", + "GFSG50_09": "GFSG50_35", + "GFSA18_18": "GFSA18_47", + "GFSA19_18": "GFSA19_47", + "GFSA06_21": "GFSA06_46", + "GFSA17_15": "GFSA17_48", + "GFSA50_07": "GFSA50_30", + "GFSS04_20": "GFSS04_37", + "GFSS02_08": "GFSS02_40", + "GFSS05_20": "GFSS05_35", + "GFSS06_09": "GFSS06_20", + "GFSU00_09": "GFSU00_30", + "GFSU02_11": "GFSU02_23" + }, + "GM009": { + "GFSN05_05": "GFSN05_25", + "GFSN04_02": "GFSN04_27", + "GFSS04_12": "GFSS04_33", + "GFSS02_16": "GFSS02_41", + "GFSS05_10": "GFSS05_36", + "GFSS06_03": "GFSS06_21", + "GFSU00_10": "GFSU00_31", + "GFSU02_05": "GFSU02_30" + }, + "GM018": { + "GFSN05_05": "GFSN05_26", + "GFSN04_02": "GFSN04_28", + "GFSG00_18": "GFSG00_48", + "GFSG02_18": "GFSG02_50", + "GFSG01_14": "GFSG01_43", + "GFSG50_12": "GFSG50_33", + "GFSA50_09": "GFSA50_32", + "GFSS04_12": "GFSS04_34", + "GFSS02_16": "GFSS02_42", + "GFSS05_10": "GFSS05_37", + "GFSS06_03": "GFSS06_22", + "GFSU00_10": "GFSU00_32", + "GFSU02_05": "GFSU02_31" + }, + "GM043": { + "GFSA19_10": "GFSA19_42", + "GFSA17_29": "GFSA17_43" + } +} diff --git a/resources/profiles/BBL/filament/filament_name_map.json b/resources/profiles/BBL/filament/filament_name_map.json new file mode 100644 index 0000000000..dc7168b749 --- /dev/null +++ b/resources/profiles/BBL/filament/filament_name_map.json @@ -0,0 +1,245 @@ +{ + "type": "filament", + "Bambu Lab X1 Carbon 0.8 nozzle": { + "Bambu PA6-CF @BBL X1C": "Bambu PA6-CF @BBL X1C 0.6 nozzle", + "Bambu PAHT-CF @BBL X1C": "Bambu PAHT-CF @BBL X1C 0.6 nozzle", + "Bambu PPA-CF @BBL X1C": "Bambu PPA-CF @BBL X1C 0.6 nozzle" + }, + "Bambu Lab X1 0.8 nozzle": { + "Generic PETG HF @BBL X1C": "Generic PETG HF @BBL X1 0.6 nozzle" + }, + "Bambu Lab X1 0.4 nozzle": { + "Generic PETG HF @BBL X1C": "Generic PETG HF @BBL X1 0.6 nozzle" + }, + "Bambu Lab X1 Carbon 0.6 nozzle": { + "Bambu ABS @BBL X1C": "Bambu ABS @BBL X1C 0.6 nozzle", + "Bambu PA6-CF @BBL X1C": "Bambu PA6-CF @BBL X1C 0.6 nozzle", + "Bambu PAHT-CF @BBL X1C": "Bambu PAHT-CF @BBL X1C 0.6 nozzle", + "Bambu PETG HF @BBL X1C 0.8 nozzle": "Bambu PETG HF @BBL X1C 0.6 nozzle", + "Bambu PETG Translucent @BBL X1C 0.8 nozzle": "Bambu PETG Translucent @BBL X1C 0.6 nozzle", + "Bambu PLA Basic @BBL X1C": "Bambu PLA Basic @BBL X1C 0.6 nozzle", + "Bambu PLA Dynamic @BBL X1C": "Bambu PLA Dynamic @BBL X1C 0.6 nozzle", + "Bambu PLA Galaxy @BBL X1C": "Bambu PLA Galaxy @BBL X1C 0.6 nozzle", + "Bambu PLA Glow @BBL X1C": "Bambu PLA Glow @BBL X1C 0.6 nozzle", + "Bambu PLA Lite @BBL X1C": "Bambu PLA Lite @BBL X1C 0.6 nozzle", + "Bambu PLA Marble @BBL X1C": "Bambu PLA Marble @BBL X1C 0.6 nozzle", + "Bambu PLA Matte @BBL X1C": "Bambu PLA Matte @BBL X1C 0.6 nozzle", + "Bambu PLA Metal @BBL X1C": "Bambu PLA Metal @BBL X1C 0.6 nozzle", + "Bambu PLA Silk+ @BBL X1C": "Bambu PLA Silk+ @BBL X1C 0.6 nozzle", + "Bambu PLA Sparkle @BBL X1C": "Bambu PLA Sparkle @BBL X1C 0.6 nozzle", + "Bambu PLA Tough+ @BBL X1C": "Bambu PLA Tough+ @BBL X1C 0.6 nozzle", + "Bambu PLA Wood @BBL X1C": "Bambu PLA Wood @BBL X1C 0.6 nozzle", + "Bambu PPA-CF @BBL X1C": "Bambu PPA-CF @BBL X1C 0.6 nozzle", + "Bambu TPU for AMS @BBL X1C": "Bambu TPU for AMS @BBL X1C 0.6 nozzle" + }, + "Bambu Lab X1 0.6 nozzle": { + "Generic PETG HF @BBL X1C": "Generic PETG HF @BBL X1 0.6 nozzle" + }, + "Bambu Lab P1S 0.4 nozzle": { + "Bambu ABS @BBL X1C": "Bambu ABS @BBL P1S 0.4 nozzle", + "Bambu PETG HF @BBL X1C": "Bambu PETG HF @BBL P1S 0.4 nozzle", + "Bambu PLA Basic @BBL X1C": "Bambu PLA Basic @BBL P1S 0.4 nozzle", + "Bambu PLA Matte @BBL X1C": "Bambu PLA Matte @BBL P1S 0.4 nozzle", + "Bambu PLA Silk+ @BBL X1C": "Bambu PLA Silk+ @BBL P1S 0.4 nozzle", + "Generic PETG HF @BBL X1C": "Generic PETG HF @BBL P1S 0.4 nozzle" + }, + "Bambu Lab P1S 0.6 nozzle": { + "Bambu ABS @BBL X1C": "Bambu ABS @BBL P1S 0.6 nozzle", + "Bambu PLA Basic @BBL X1C": "Bambu PLA Basic @BBL P1S 0.6 nozzle", + "Bambu PLA Matte @BBL X1C": "Bambu PLA Matte @BBL P1S 0.6 nozzle", + "Bambu PLA Silk+ @BBL X1C": "Bambu PLA Silk+ @BBL P1S 0.6 nozzle", + "Generic PETG HF @BBL X1C": "Generic PETG HF @BBL P1S 0.6 nozzle" + }, + "Bambu Lab P1P 0.8 nozzle": { + "Bambu PAHT-CF @BBL P1P": "Bambu PAHT-CF @BBL P1P 0.6 nozzle", + "Bambu PLA Marble @BBL P1P": "Bambu PLA Marble @BBL P1P 0.6 nozzle" + }, + "Bambu Lab P1P 0.6 nozzle": { + "Bambu PLA Dynamic @BBL P1P": "Bambu PLA Dynamic @BBL P1P 0.6 nozzle", + "Bambu PLA Galaxy @BBL P1P": "Bambu PLA Galaxy @BBL P1P 0.6 nozzle", + "Bambu PLA Glow @BBL P1P": "Bambu PLA Glow @BBL P1P 0.6 nozzle", + "Bambu PLA Lite @BBL P1P": "Bambu PLA Lite @BBL P1P 0.6 nozzle", + "Bambu PLA Silk+ @BBL P1P": "Bambu PLA Silk+ @BBL P1P 0.6 nozzle", + "Bambu PLA Wood @BBL P1P": "Bambu PLA Wood @BBL P1P 0.6 nozzle", + "Bambu TPU for AMS @BBL P1P": "Bambu TPU for AMS @BBL P1P 0.6 nozzle", + "Bambu ABS @BBL P1P": "Bambu ABS @BBL P1P 0.6 nozzle", + "Bambu PAHT-CF @BBL P1P": "Bambu PAHT-CF @BBL P1P 0.6 nozzle", + "Bambu PC @BBL P1P": "Bambu PC @BBL P1P 0.6 nozzle", + "Bambu PLA Basic @BBL P1P": "Bambu PLA Basic @BBL P1P 0.6 nozzle", + "Bambu PLA Marble @BBL P1P": "Bambu PLA Marble @BBL P1P 0.6 nozzle", + "Bambu PLA Matte @BBL P1P": "Bambu PLA Matte @BBL P1P 0.6 nozzle", + "Bambu PLA Metal @BBL P1P": "Bambu PLA Metal @BBL P1P 0.6 nozzle", + "Bambu PLA Sparkle @BBL P1P": "Bambu PLA Sparkle @BBL P1P 0.6 nozzle", + "Bambu PLA Tough+ @BBL P1P": "Bambu PLA Tough+ @BBL P1P 0.6 nozzle" + }, + "Bambu Lab P1P 0.4 nozzle": { + "Bambu PETG HF @BBL X1C": "Bambu PETG HF @BBL P1P 0.4 nozzle" + }, + "Bambu Lab H2D 0.4 nozzle": { + "Bambu TPU 95A HF @BBL H2D": "Bambu TPU 95A HF @BBL H2D 0.4 nozzle", + "Bambu TPU 95A HF @BBL H2DP": "Bambu TPU 95A HF @BBL H2DP 0.4 nozzle" + }, + "Bambu Lab H2D 0.6 nozzle": { + "Bambu TPU 90A @BBL H2D": "Bambu TPU 90A @BBL H2D 0.6 nozzle", + "Bambu PA6-CF @BBL H2D": "Bambu PA6-CF @BBL H2D 0.6 nozzle", + "Bambu PAHT-CF @BBL H2D": "Bambu PAHT-CF @BBL H2D 0.6 nozzle", + "Bambu PLA Lite @BBL H2D": "Bambu PLA Lite @BBL H2D 0.6 nozzle", + "Bambu PLA Pure @BBL H2D 0.8 nozzle": "Bambu PLA Pure @BBL H2D 0.6 nozzle", + "Bambu PLA Silk+ @BBL H2D": "Bambu PLA Silk+ @BBL H2D 0.6 nozzle", + "Bambu PLA Translucent @BBL H2D 0.8 nozzle": "Bambu PLA Translucent @BBL H2D 0.6 nozzle", + "Bambu PVA @BBL H2D": "Bambu PVA @BBL H2D 0.6 nozzle", + "Bambu Support For PLA @BBL H2D": "Bambu Support For PLA @BBL H2D 0.6 nozzle", + "Bambu Support For PLA/PETG @BBL H2D": "Bambu Support For PLA/PETG @BBL H2D 0.6 nozzle", + "Bambu Support for ABS @BBL H2D": "Bambu Support for ABS @BBL H2D 0.6 nozzle", + "Bambu TPU for AMS @BBL H2D": "Bambu TPU for AMS @BBL H2D 0.6 nozzle" + }, + "Bambu Lab H2D 0.8 nozzle": { + "Bambu TPU 90A @BBL H2D": "Bambu TPU 90A @BBL H2D 0.8 nozzle", + "Bambu PA6-CF @BBL H2D": "Bambu PA6-CF @BBL H2D 0.8 nozzle", + "Bambu PAHT-CF @BBL H2D": "Bambu PAHT-CF @BBL H2D 0.8 nozzle", + "Bambu PETG Basic @BBL H2D 0.6 nozzle": "Bambu PETG Basic @BBL H2D 0.8 nozzle", + "Bambu PETG Translucent @BBL H2D 0.6 nozzle": "Bambu PETG Translucent @BBL H2D 0.8 nozzle", + "Bambu PETG-CF @BBL H2D 0.6 nozzle": "Bambu PETG-CF @BBL H2D 0.8 nozzle", + "Bambu PLA Silk+ @BBL H2D": "Bambu PLA Silk+ @BBL H2D 0.8 nozzle", + "Bambu PLA-CF @BBL H2D 0.6 nozzle": "Bambu PLA-CF @BBL H2D 0.8 nozzle", + "Bambu PVA @BBL H2D": "Bambu PVA @BBL H2D 0.8 nozzle", + "Bambu Support For PLA @BBL H2D": "Bambu Support For PLA @BBL H2D 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL H2D": "Bambu Support For PLA/PETG @BBL H2D 0.8 nozzle", + "Bambu Support for ABS @BBL H2D": "Bambu Support for ABS @BBL H2D 0.8 nozzle", + "Bambu TPU 95A HF @BBL H2D": "Bambu TPU 95A HF @BBL H2D 0.8 nozzle", + "Bambu TPU for AMS @BBL H2D": "Bambu TPU for AMS @BBL H2D 0.8 nozzle" + }, + "Bambu Lab H2D Pro 0.6 nozzle": { + "Bambu TPU 90A @BBL H2DP": "Bambu TPU 90A @BBL H2DP 0.6 nozzle", + "Bambu PA6-CF @BBL H2DP": "Bambu PA6-CF @BBL H2DP 0.6 nozzle", + "Bambu PAHT-CF @BBL H2DP": "Bambu PAHT-CF @BBL H2DP 0.6 nozzle", + "Bambu PLA Pure @BBL H2DP 0.8 nozzle": "Bambu PLA Pure @BBL H2DP 0.6 nozzle", + "Bambu PLA Silk+ @BBL H2DP": "Bambu PLA Silk+ @BBL H2DP 0.6 nozzle", + "Bambu PLA Translucent @BBL H2DP 0.8 nozzle": "Bambu PLA Translucent @BBL H2DP 0.6 nozzle", + "Bambu PVA @BBL H2DP": "Bambu PVA @BBL H2DP 0.6 nozzle", + "Bambu Support For PLA @BBL H2DP": "Bambu Support For PLA @BBL H2DP 0.6 nozzle", + "Bambu Support For PLA/PETG @BBL H2DP": "Bambu Support For PLA/PETG @BBL H2DP 0.6 nozzle", + "Bambu Support for ABS @BBL H2DP": "Bambu Support for ABS @BBL H2DP 0.6 nozzle", + "Bambu TPU for AMS @BBL H2DP": "Bambu TPU for AMS @BBL H2DP 0.6 nozzle" + }, + "Bambu Lab H2D Pro 0.8 nozzle": { + "Bambu TPU 90A @BBL H2DP": "Bambu TPU 90A @BBL H2DP 0.8 nozzle", + "Bambu PA6-CF @BBL H2DP": "Bambu PA6-CF @BBL H2DP 0.8 nozzle", + "Bambu PAHT-CF @BBL H2DP": "Bambu PAHT-CF @BBL H2DP 0.8 nozzle", + "Bambu PETG Basic @BBL H2DP 0.6 nozzle": "Bambu PETG Basic @BBL H2DP 0.8 nozzle", + "Bambu PETG Translucent @BBL H2DP 0.6 nozzle": "Bambu PETG Translucent @BBL H2DP 0.8 nozzle", + "Bambu PETG-CF @BBL H2DP 0.6 nozzle": "Bambu PETG-CF @BBL H2DP 0.8 nozzle", + "Bambu PLA Silk+ @BBL H2DP": "Bambu PLA Silk+ @BBL H2DP 0.8 nozzle", + "Bambu PLA-CF @BBL H2DP 0.6 nozzle": "Bambu PLA-CF @BBL H2DP 0.8 nozzle", + "Bambu PVA @BBL H2DP": "Bambu PVA @BBL H2DP 0.8 nozzle", + "Bambu Support For PLA @BBL H2DP": "Bambu Support For PLA @BBL H2DP 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL H2DP": "Bambu Support For PLA/PETG @BBL H2DP 0.8 nozzle", + "Bambu Support for ABS @BBL H2DP": "Bambu Support for ABS @BBL H2DP 0.8 nozzle", + "Bambu TPU 95A HF @BBL H2DP": "Bambu TPU 95A HF @BBL H2DP 0.8 nozzle", + "Bambu TPU for AMS @BBL H2DP": "Bambu TPU for AMS @BBL H2DP 0.8 nozzle" + }, + "Bambu Lab X2D 0.8 nozzle": { + "Bambu ASA @BBL X2D": "Bambu ASA @BBL X2D 0.8 nozzle", + "Bambu PA6-CF @BBL X2D": "Bambu PA6-CF @BBL X2D 0.8 nozzle", + "Bambu PAHT-CF @BBL X2D": "Bambu PAHT-CF @BBL X2D 0.8 nozzle", + "Bambu PETG Basic @BBL X2D": "Bambu PETG Basic @BBL X2D 0.8 nozzle", + "Bambu PETG HF @BBL X2D": "Bambu PETG HF @BBL X2D 0.8 nozzle", + "Bambu PLA Basic @BBL X2D": "Bambu PLA Basic @BBL X2D 0.8 nozzle", + "Bambu PLA Lite @BBL X2D": "Bambu PLA Lite @BBL X2D 0.8 nozzle", + "Bambu PLA Matte @BBL X2D": "Bambu PLA Matte @BBL X2D 0.8 nozzle", + "Bambu PLA Silk+ @BBL X2D": "Bambu PLA Silk+ @BBL X2D 0.8 nozzle", + "Bambu PLA Tough+ @BBL X2D": "Bambu PLA Tough+ @BBL X2D 0.8 nozzle", + "Bambu PLA-CF @BBL X2D": "Bambu PLA-CF @BBL X2D 0.8 nozzle", + "Bambu PVA @BBL X2D": "Bambu PVA @BBL X2D 0.8 nozzle", + "Bambu Support For PLA @BBL X2D": "Bambu Support For PLA @BBL X2D 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL X2D": "Bambu Support For PLA/PETG @BBL X2D 0.8 nozzle", + "Bambu Support for ABS @BBL X2D": "Bambu Support for ABS @BBL X2D 0.8 nozzle", + "Bambu TPU 95A HF @BBL X2D": "Bambu TPU 95A HF @BBL X2D 0.8 nozzle", + "Bambu TPU for AMS @BBL X2D": "Bambu TPU for AMS @BBL X2D 0.8 nozzle" + }, + "Bambu Lab H2C 0.8 nozzle": { + "Bambu PA6-CF @BBL H2C": "Bambu PA6-CF @BBL H2C 0.8 nozzle", + "Bambu PAHT-CF @BBL H2C": "Bambu PAHT-CF @BBL H2C 0.8 nozzle", + "Bambu PETG Basic @BBL H2C": "Bambu PETG Basic @BBL H2C 0.8 nozzle", + "Bambu PETG Translucent @BBL H2C": "Bambu PETG Translucent @BBL H2C 0.8 nozzle", + "Bambu PETG-CF @BBL H2C": "Bambu PETG-CF @BBL H2C 0.8 nozzle", + "Bambu PLA Lite @BBL H2C": "Bambu PLA Lite @BBL H2C 0.8 nozzle", + "Bambu PLA Pure @BBL H2C": "Bambu PLA Pure @BBL H2C 0.8 nozzle", + "Bambu PLA Silk+ @BBL H2C": "Bambu PLA Silk+ @BBL H2C 0.8 nozzle", + "Bambu PLA Translucent @BBL H2C": "Bambu PLA Translucent @BBL H2C 0.8 nozzle", + "Bambu PLA-CF @BBL H2C": "Bambu PLA-CF @BBL H2C 0.8 nozzle", + "Bambu PVA @BBL H2C": "Bambu PVA @BBL H2C 0.8 nozzle", + "Bambu Support For PLA @BBL H2C": "Bambu Support For PLA @BBL H2C 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL H2C": "Bambu Support For PLA/PETG @BBL H2C 0.8 nozzle", + "Bambu Support for ABS @BBL H2C": "Bambu Support for ABS @BBL H2C 0.8 nozzle", + "Bambu TPU 95A HF @BBL H2C": "Bambu TPU 95A HF @BBL H2C 0.8 nozzle", + "Bambu TPU for AMS @BBL H2C": "Bambu TPU for AMS @BBL H2C 0.8 nozzle" + }, + "Bambu Lab H2S 0.6 nozzle": { + "Bambu PA6-CF @BBL H2S": "Bambu PA6-CF @BBL H2S 0.6 nozzle", + "Bambu PAHT-CF @BBL H2S": "Bambu PAHT-CF @BBL H2S 0.6 nozzle", + "Bambu PETG Translucent @BBL H2S": "Bambu PETG Translucent @BBL H2S 0.6 nozzle", + "Bambu PETG-CF @BBL H2S": "Bambu PETG-CF @BBL H2S 0.6 nozzle", + "Bambu PLA Lite @BBL H2S": "Bambu PLA Lite @BBL H2S 0.6 nozzle", + "Bambu PLA Pure @BBL H2S": "Bambu PLA Pure @BBL H2S 0.6 nozzle", + "Bambu PLA Silk+ @BBL H2S": "Bambu PLA Silk+ @BBL H2S 0.6 nozzle", + "Bambu PLA Translucent @BBL H2S": "Bambu PLA Translucent @BBL H2S 0.6 nozzle", + "Bambu PLA-CF @BBL H2S": "Bambu PLA-CF @BBL H2S 0.6 nozzle", + "Bambu PVA @BBL H2S": "Bambu PVA @BBL H2S 0.6 nozzle", + "Bambu Support For PLA @BBL H2S": "Bambu Support For PLA @BBL H2S 0.6 nozzle", + "Bambu Support For PLA/PETG @BBL H2S": "Bambu Support For PLA/PETG @BBL H2S 0.6 nozzle", + "Bambu Support for ABS @BBL H2S": "Bambu Support for ABS @BBL H2S 0.6 nozzle", + "Bambu TPU 95A HF @BBL H2S": "Bambu TPU 95A HF @BBL H2S 0.6 nozzle", + "Bambu TPU for AMS @BBL H2S": "Bambu TPU for AMS @BBL H2S 0.6 nozzle" + }, + "Bambu Lab H2S 0.8 nozzle": { + "Bambu PA6-CF @BBL H2S": "Bambu PA6-CF @BBL H2S 0.8 nozzle", + "Bambu PAHT-CF @BBL H2S": "Bambu PAHT-CF @BBL H2S 0.8 nozzle", + "Bambu PETG Basic @BBL H2S 0.6 nozzle": "Bambu PETG Basic @BBL H2S 0.8 nozzle", + "Bambu PETG Translucent @BBL H2S": "Bambu PETG Translucent @BBL H2S 0.8 nozzle", + "Bambu PETG-CF @BBL H2S": "Bambu PETG-CF @BBL H2S 0.8 nozzle", + "Bambu PLA Lite @BBL H2S": "Bambu PLA Lite @BBL H2S 0.8 nozzle", + "Bambu PLA Pure @BBL H2S": "Bambu PLA Pure @BBL H2S 0.8 nozzle", + "Bambu PLA Silk+ @BBL H2S": "Bambu PLA Silk+ @BBL H2S 0.8 nozzle", + "Bambu PLA Translucent @BBL H2S": "Bambu PLA Translucent @BBL H2S 0.8 nozzle", + "Bambu PLA-CF @BBL H2S": "Bambu PLA-CF @BBL H2S 0.8 nozzle", + "Bambu PVA @BBL H2S": "Bambu PVA @BBL H2S 0.8 nozzle", + "Bambu Support For PLA @BBL H2S": "Bambu Support For PLA @BBL H2S 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL H2S": "Bambu Support For PLA/PETG @BBL H2S 0.8 nozzle", + "Bambu Support for ABS @BBL H2S": "Bambu Support for ABS @BBL H2S 0.8 nozzle", + "Bambu TPU 95A HF @BBL H2S": "Bambu TPU 95A HF @BBL H2S 0.8 nozzle", + "Bambu TPU for AMS @BBL H2S": "Bambu TPU for AMS @BBL H2S 0.8 nozzle" + }, + "Bambu Lab P2S 0.6 nozzle": { + "Bambu PA6-CF @BBL P2S": "Bambu PA6-CF @BBL P2S 0.6 nozzle", + "Bambu PAHT-CF @BBL P2S": "Bambu PAHT-CF @BBL P2S 0.6 nozzle", + "Bambu PVA @BBL P2S": "Bambu PVA @BBL P2S 0.6 nozzle", + "Bambu Support For PLA @BBL P2S": "Bambu Support For PLA @BBL P2S 0.6 nozzle", + "Bambu Support For PLA/PETG @BBL P2S": "Bambu Support For PLA/PETG @BBL P2S 0.6 nozzle", + "Bambu Support for ABS @BBL P2S": "Bambu Support for ABS @BBL P2S 0.6 nozzle", + "Bambu TPU 95A HF @BBL P2S": "Bambu TPU 95A HF @BBL P2S 0.6 nozzle", + "Bambu TPU for AMS @BBL P2S": "Bambu TPU for AMS @BBL P2S 0.6 nozzle" + }, + "Bambu Lab P2S 0.8 nozzle": { + "Bambu PA6-CF @BBL P2S": "Bambu PA6-CF @BBL P2S 0.8 nozzle", + "Bambu PAHT-CF @BBL P2S": "Bambu PAHT-CF @BBL P2S 0.8 nozzle", + "Bambu PETG Basic @BBL P2S 0.6 nozzle": "Bambu PETG Basic @BBL P2S 0.8 nozzle", + "Bambu PETG HF @BBL P2S 0.6 nozzle": "Bambu PETG HF @BBL P2S 0.8 nozzle", + "Bambu PETG Translucent @BBL P2S 0.6 nozzle": "Bambu PETG Translucent @BBL P2S 0.8 nozzle", + "Bambu PETG-CF @BBL P2S 0.6 nozzle": "Bambu PETG-CF @BBL P2S 0.8 nozzle", + "Bambu PLA-CF @BBL P2S 0.6 nozzle": "Bambu PLA-CF @BBL P2S 0.8 nozzle", + "Bambu PVA @BBL P2S": "Bambu PVA @BBL P2S 0.8 nozzle", + "Bambu Support For PLA @BBL P2S": "Bambu Support For PLA @BBL P2S 0.8 nozzle", + "Bambu Support For PLA/PETG @BBL P2S": "Bambu Support For PLA/PETG @BBL P2S 0.8 nozzle", + "Bambu Support for ABS @BBL P2S": "Bambu Support for ABS @BBL P2S 0.8 nozzle", + "Bambu TPU 95A HF @BBL P2S": "Bambu TPU 95A HF @BBL P2S 0.8 nozzle", + "Bambu TPU for AMS @BBL P2S": "Bambu TPU for AMS @BBL P2S 0.8 nozzle" + }, + "Bambu Lab X2D 0.6 nozzle": { + "Bambu PLA Basic @BBL X2D": "Bambu PLA Basic @BBL X2D 0.6 nozzle" + }, + "Bambu Lab H2C 0.6 nozzle": { + "Bambu PLA Pure @BBL H2C": "Bambu PLA Pure @BBL H2C 0.6 nozzle", + "Bambu PLA Translucent @BBL H2C": "Bambu PLA Translucent @BBL H2C 0.6 nozzle" + } +} diff --git a/resources/profiles/BBL/filament/filaments_color_codes.json b/resources/profiles/BBL/filament/filaments_color_codes.json index 5c4cfa7570..f236cab20b 100644 --- a/resources/profiles/BBL/filament/filaments_color_codes.json +++ b/resources/profiles/BBL/filament/filaments_color_codes.json @@ -1,7081 +1,7659 @@ { - "data": [ - { - "fila_color_code": "10300", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#FF6A13FF" - ] - }, - { - "fila_color_code": "10301", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Kürbis-Orange", - "sv": "Pumpaorange", - "pt": "Abóbora Laranja", - "ko": "펌프킨 오렌지", - "ja": "パンプキン オレンジ", - "en": "Pumpkin Orange", - "ru": "Тыквенно-оранжевый", - "it": "Arancione zucca", - "fr": "Orange citrouille", - "hu": "Sütőtök", - "zh": "南瓜橙", - "nl": "Pompoenoranje", - "es": "Naranja calabaza" - }, - "fila_color": [ - "#FF9016FF" - ] - }, - { - "fila_color_code": "10602", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Blau-Grau", - "sv": "Blågrå", - "pt": "Azul-Cinza", - "ko": "블루 그레이", - "ja": "ブルー グレー", - "en": "Blue Gray", - "ru": "Серо-голубой", - "it": "Grigio blu", - "fr": "Bleu gris", - "hu": "Kékesszürke", - "zh": "蓝灰", - "nl": "Blauwgrijs", - "es": "Gris azulado" - }, - "fila_color": [ - "#5B6579FF" - ] - }, - { - "fila_color_code": "10604", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Kobaltblau", - "sv": "Koboltblå", - "pt": "Azul-cobalto", - "ko": "코발트 블루", - "ja": "コバルト ブルー", - "en": "Cobalt Blue", - "ru": "Синий кобальт", - "it": "Blu cobalto", - "fr": "Bleu cobalt", - "hu": "Kobaltkék", - "zh": "钴蓝色", - "nl": "Kobaltblauw", - "es": "Azul cobalto" - }, - "fila_color": [ - "#0056B8FF" - ] - }, - { - "fila_color_code": "10605", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Türkis", - "sv": "Turkos", - "pt": "Turquesa", - "ko": "터쿼이즈", - "ja": "ターコイズ", - "en": "Turquoise", - "ru": "Бирюзовый", - "it": "Turchese", - "fr": "Turquoise", - "hu": "Türkiz", - "zh": "松石绿", - "nl": "Turkoois", - "es": "Turquesa" - }, - "fila_color": [ - "#00B1B7FF" - ] - }, - { - "fila_color_code": "10603", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Cyan", - "sv": "Cyan", - "pt": "Ciano", - "ko": "시안", - "ja": "シアン", - "en": "Cyan", - "ru": "Голубой", - "it": "Ciano", - "fr": "Cyan", - "hu": "Cián", - "zh": "青色", - "nl": "Cyaan", - "es": "Cian" - }, - "fila_color": [ - "#0086D6FF" - ] - }, - { - "fila_color_code": "10601", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#0A2989FF" - ] - }, - { - "fila_color_code": "10103", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#8E9089FF" - ] - }, - { - "fila_color_code": "10102", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Silber", - "sv": "Silver", - "pt": "Prateado", - "ko": "실버", - "ja": "シルバー", - "en": "Silver", - "ru": "Серебристый", - "it": "Argento", - "fr": "Argenté", - "hu": "Ezüst", - "zh": "银色", - "nl": "Zilver", - "es": "Plateado" - }, - "fila_color": [ - "#A6A9AAFF" - ] - }, - { - "fila_color_code": "10104", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Hellgrau", - "sv": "Ljusgrå", - "pt": "Cinza-claro", - "ko": "라이트 그레이", - "ja": "ライト グレー", - "en": "Light Gray", - "ru": "Светло-серый", - "it": "Grigio chiaro", - "fr": "Gris clair", - "hu": "Világosszürke", - "zh": "浅灰", - "nl": "Lichtgrijs", - "es": "Gris claro" - }, - "fila_color": [ - "#D1D3D5FF" - ] - }, - { - "fila_color_code": "10105", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Dunkelgrau", - "sv": "Mörkgrå", - "pt": "Cinza-escuro", - "ko": "다크 그레이", - "ja": "ダーク グレー", - "en": "Dark Gray", - "ru": "Тёмно-серый", - "it": "Grigio scuro", - "fr": "Gris foncé", - "hu": "Sötétszürke", - "zh": "深灰", - "nl": "Donkergrijs", - "es": "Gris oscuro" - }, - "fila_color": [ - "#545454FF" - ] - }, - { - "fila_color_code": "10500", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "墨绿", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#164B35FF" - ] - }, - { - "fila_color_code": "10502", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Mistelzweig-Grün", - "sv": "Mistelgrön", - "pt": "Mistletoe Green", - "ko": "미슬토 그린", - "ja": "ミスルトー グリーン", - "en": "Mistletoe Green", - "ru": "Зелёная омела", - "it": "Verde vischio", - "fr": "Vert gui", - "hu": "Fagyöngyzöld", - "zh": "圣诞绿", - "nl": "Maretakgroen", - "es": "Verde muérdago" - }, - "fila_color": [ - "#3F8E43FF" - ] - }, - { - "fila_color_code": "10503", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Hellgrün", - "sv": "Ljusgrön", - "pt": "Verde Brilhante", - "ko": "브라이트 그린", - "ja": "ブライト グリーン", - "en": "Bright Green", - "ru": "Салатовый", - "it": "Verde brillante", - "fr": "Vert vif", - "hu": "Világoszöld", - "zh": "苹果绿", - "nl": "Felgroen", - "es": "Verde brillante" - }, - "fila_color": [ - "#BECF00FF" - ] - }, - { - "fila_color_code": "10501", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Bambusgrün", - "sv": "Bambugrön", - "pt": "Verde-bambu", - "ko": "뱀부 그린", - "ja": "バンブー グリーン", - "en": "Bambu Green", - "ru": "Зелёный бамбук", - "it": "Verde bambù", - "fr": "Vert bambou", - "hu": "Bambu-zöld", - "zh": "拓竹绿", - "nl": "Bamboegroen", - "es": "Verde bambú" - }, - "fila_color": [ - "#00AE42FF" - ] - }, - { - "fila_color_code": "10101", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "10900", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Arktisches Flüstern", - "sv": "Arktisk viskning", - "pt": "Arctic Whisper", - "ko": "아크틱 위스퍼", - "ja": "アークティック ウィスパー", - "en": "Arctic Whisper", - "ru": "Арктический шёпот", - "it": "Arctic Whisper", - "fr": "Murmure arctique", - "hu": "Sarkköri suttogás", - "zh": "蓝白渐变", - "nl": "Vleugje noordpool", - "es": "Susurro ártico" - }, - "fila_color": [ - "#FFFFFFFF", - "#9CDBD9FF" - ] - }, - { - "fila_color_code": "10901", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Sonnenbrise", - "sv": "Solbris", - "pt": "Brisa Solar", - "ko": "솔라 브리즈", - "ja": "ソーラー ブリーズ", - "en": "Solar Breeze", - "ru": "Солнечный бриз", - "it": "Solar Breeze", - "fr": "Brise solaire", - "hu": "Napszellő", - "zh": "红白渐变", - "nl": "Zonnebries", - "es": "Brisa solar" - }, - "fila_color": [ - "#E94B3CFF", - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "10902", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Meer und Wiese", - "sv": "Ocean till äng", - "pt": "Ocean to Meadow", - "ko": "오션에서 메도우로", - "ja": "オーシャン トゥ メドウ", - "en": "Ocean to Meadow", - "ru": "Из глубин к морским лугам (Ocean to Meadow)", - "it": "Azzurro/verde con gradazione", - "fr": "Océan à Prairie", - "hu": "Óceántól a rétig", - "zh": "蓝绿渐变", - "nl": "Van oceaanblauw naar weidegroen", - "es": "Del océano a la pradera" - }, - "fila_color": [ - "#307FE2FF", - "#54FF9BFF" - ] - }, - { - "fila_color_code": "10903", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Zitrus-Pink", - "sv": "Rosa citrus", - "pt": "Pink Citrus", - "ko": "핑크 시트러스", - "ja": "ピンク シトラス", - "en": "Pink Citrus", - "ru": "Розовый цитрус", - "it": "Rosa citrus", - "fr": "Agrume rose", - "hu": "Rózsaszín-citrus", - "zh": "霞光粉", - "nl": "Roze citrus", - "es": "Rosa cítrico" - }, - "fila_color": [ - "#F78F77FF", - "#E4505AFF" - ] - }, - { - "fila_color_code": "10904", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Minze-Limette", - "sv": "Mintlime", - "pt": "Menta-lima", - "ko": "민트 라임", - "ja": "ミント ライム", - "en": "Mint Lime", - "ru": "Мятный лайм", - "it": "Lime menta", - "fr": "Menthe citron vert", - "hu": "Menta-lime", - "zh": "青柠绿", - "nl": "Muntlimoen", - "es": "Lima menta" - }, - "fila_color": [ - "#4EC939FF", - "#B6FF43FF" - ] - }, - { - "fila_color_code": "10905", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Blaubeere-Bubblegum", - "sv": "Blåbärsbubbelgum", - "pt": "Chiclete de Mirtilo", - "ko": "블루베리 버블검", - "ja": "ブルーベリー バブルガム", - "en": "Blueberry Bubblegum", - "ru": "Черничная жвачка", - "it": "Mirtillo", - "fr": "Chewing-gum myrtilles", - "hu": "Áfonyás rágógumi", - "zh": "泡泡紫", - "nl": "Bosbessenkauwgum", - "es": "Chicle de arándano" - }, - "fila_color": [ - "#6FCAEFFF", - "#8573DDFF" - ] - }, - { - "fila_color_code": "10906", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Leuchtende Abenddämmerung", - "sv": "Skymningsljus", - "pt": "Brilho do Crepúsculo", - "ko": "더스크 글래어", - "ja": "ダスク グレア", - "en": "Dusk Glare", - "ru": "Сумеречный блик", - "it": "Dusk Glare", - "fr": "Éclat crépusculaire", - "hu": "Alkonyati csillámlás", - "zh": "日落橙", - "nl": "Schemerlicht", - "es": "Resplandor del crepúsculo" - }, - "fila_color": [ - "#CE4406FF", - "#ED9558FF" - ] - }, - { - "fila_color_code": "10907", - "fila_id": "GFA00", - "fila_color_type": "渐变色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Zuckerwatten-Wolke", - "sv": "Sockervaddsmoln", - "pt": "Cotton Candy Cloud", - "ko": "코튼 캔디 클라우드", - "ja": "コットン キャンディ クラウド", - "en": "Cotton Candy Cloud", - "ru": "Сахарная вата", - "it": "Zucchero filato", - "fr": "Nuage de barbe à papa", - "hu": "Vattacukorfelhő", - "zh": "多巴胺(粉蓝渐变)", - "nl": "Suikerspinwolk", - "es": "Nube de algodón de azúcar" - }, - "fila_color": [ - "#8EC9E9FF", - "#E7C1D5FF" - ] - }, - { - "fila_color_code": "10800", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Braun", - "sv": "Brun", - "pt": "Marrom", - "ko": "브라운", - "ja": "ブラウン", - "en": "Brown", - "ru": "Коричневый", - "it": "Marrone", - "fr": "Marron", - "hu": "Barna", - "zh": "棕色", - "nl": "Bruin", - "es": "Marrón" - }, - "fila_color": [ - "#9D432CFF" - ] - }, - { - "fila_color_code": "10802", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Kakaobraun", - "sv": "Kakaobrun", - "pt": "Cacau Marrom", - "ko": "코코아 브라운", - "ja": "ココア ブラウン", - "en": "Cocoa Brown", - "ru": "Коричневый какао", - "it": "Marrone cacao", - "fr": "Marron cacao", - "hu": "Kakaóbarna", - "zh": "可可棕", - "nl": "Chocoladebruin", - "es": "Marrón cacao" - }, - "fila_color": [ - "#6F5034FF" - ] - }, - { - "fila_color_code": "10201", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Beige", - "sv": "Beige", - "pt": "Bege", - "ko": "베이지", - "ja": "ベージュ", - "en": "Beige", - "ru": "Бежевый", - "it": "Beige", - "fr": "Beige", - "hu": "Bézs", - "zh": "杏色", - "nl": "Beige", - "es": "Beis" - }, - "fila_color": [ - "#F7E6DEFF" - ] - }, - { - "fila_color_code": "10203", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Pink", - "sv": "Rosa", - "pt": "Rosa", - "ko": "핑크", - "ja": "ピンク", - "en": "Pink", - "ru": "Розовый", - "it": "Rosa", - "fr": "Rose", - "hu": "Rózsaszín", - "zh": "粉色", - "nl": "Roze", - "es": "Rosa" - }, - "fila_color": [ - "#F55A74FF" - ] - }, - { - "fila_color_code": "10701", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Indigo-Violett", - "sv": "Indigolila", - "pt": "Indigo Purple", - "ko": "인디고 퍼플", - "ja": "インディゴ パープル", - "en": "Indigo Purple", - "ru": "Тёмный индиго", - "it": "Viola indaco", - "fr": "Violet indigo", - "hu": "Indigólila", - "zh": "绀紫色", - "nl": "Indigopaars", - "es": "Púrpura índigo" - }, - "fila_color": [ - "#482960FF" - ] - }, - { - "fila_color_code": "10700", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "紫色", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#5E43B7FF" - ] - }, - { - "fila_color_code": "10202", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Magenta", - "sv": "Magenta", - "pt": "Magenta", - "ko": "마젠타", - "ja": "マゼンタ", - "en": "Magenta", - "ru": "Малиновый", - "it": "Magenta", - "fr": "Magenta", - "hu": "Magenta", - "zh": "品红", - "nl": "Magenta", - "es": "Magenta" - }, - "fila_color": [ - "#EC008CFF" - ] - }, - { - "fila_color_code": "10200", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#C12E1FFF" - ] - }, - { - "fila_color_code": "10205", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Kastanienrot", - "sv": "Rödbrun", - "pt": "Maroon Red", - "ko": "마룬 레드", - "ja": "マルーン レッド", - "en": "Maroon Red", - "ru": "Бордовый", - "it": "Rosso bordeaux", - "fr": "Rouge marron", - "hu": "Gesztenyés vörös", - "zh": "胭脂红", - "nl": "Kastanjerood", - "es": "Rojo granate" - }, - "fila_color": [ - "#9D2235FF" - ] - }, - { - "fila_color_code": "10204", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Heißes Pink", - "sv": "Neonrosa", - "pt": "Rosa-choque", - "ko": "핫핑크", - "ja": "ホット ピンク", - "en": "Hot Pink", - "ru": "Ярко-розовый", - "it": "Fucsia", - "fr": "Rose vif", - "hu": "Forró rózsaszín", - "zh": "桃红色", - "nl": "Felroze", - "es": "Rosa fucsia" - }, - "fila_color": [ - "#F5547CFF" - ] - }, - { - "fila_color_code": "10100", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Jade-Weiß", - "sv": "Jadevit", - "pt": "Jade Branco", - "ko": "제이드 화이트", - "ja": "ジェイド ホワイト", - "en": "Jade White", - "ru": "Белый нефрит", - "it": "Bianco giada", - "fr": "Blanc de jade", - "hu": "Jádefehér", - "zh": "玉石白", - "nl": "Jadewit", - "es": "Blanco jade" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "10400", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#F4EE2AFF" - ] - }, - { - "fila_color_code": "10402", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Sonnenblumen-Gelb", - "sv": "Solrosgul", - "pt": "Girassol Amarelo", - "ko": "썬플라워 옐로우", - "ja": "サンフラワー イエロー", - "en": "Sunflower Yellow", - "ru": "Жёлтый подсолнух", - "it": "Giallo girasole", - "fr": "Jaune tournesol", - "hu": "Napraforgósárga", - "zh": "暖黄色", - "nl": "Zonnebloemgeel", - "es": "Amarillo girasol" - }, - "fila_color": [ - "#FEC600FF" - ] - }, - { - "fila_color_code": "10801", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Bronze", - "sv": "Brons", - "pt": "Bronze", - "ko": "브론즈", - "ja": "ブロンズ", - "en": "Bronze", - "ru": "Бронзовый", - "it": "Bronzo", - "fr": "Bronze", - "hu": "Bronz", - "zh": "青铜", - "nl": "Bronskleurig", - "es": "Bronce" - }, - "fila_color": [ - "#847D48FF" - ] - }, - { - "fila_color_code": "10401", - "fila_id": "GFA00", - "fila_color_type": "单色", - "fila_type": "PLA Basic", - "fila_color_name": { - "de": "Gold", - "sv": "Guld", - "pt": "Dourado", - "ko": "골드", - "ja": "ゴールド", - "en": "Gold", - "ru": "Золотистый", - "it": "Oro", - "fr": "Doré", - "hu": "Arany", - "zh": "金色", - "nl": "Goud", - "es": "Dorado" - }, - "fila_color": [ - "#E4BD68FF" - ] - }, - { - "fila_color_code": "11300", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Mandarine-Orange", - "sv": "Mandarinorange", - "pt": "Tangerina", - "ko": "만다린 오렌지", - "ja": "マンダリン オレンジ", - "en": "Mandarin Orange", - "ru": "Оранжевый мандарин", - "it": "Arancio mandarino", - "fr": "Mandarine", - "hu": "Mandarinsárga", - "zh": "橘橙", - "nl": "Mandarijnoranje", - "es": "Naranja Mandarina" - }, - "fila_color": [ - "#F99963FF" - ] - }, - { - "fila_color_code": "11603", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Himmelblau", - "sv": "Himmelsblå", - "pt": "Azul-celeste", - "ko": "스카이 블루", - "ja": "スカイ ブルー", - "en": "Sky Blue", - "ru": "Небесно-голубой", - "it": "Azzurro cielo", - "fr": "Bleu ciel", - "hu": "Égszínkék", - "zh": "天蓝色", - "nl": "Hemelsblauw", - "es": "Azul cielo" - }, - "fila_color": [ - "#56B7E6FF" - ] - }, - { - "fila_color_code": "11600", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Marineblau", - "sv": "Marinblå", - "pt": "Azul-marinho", - "ko": "마린 블루", - "ja": "マリン ブルー", - "en": "Marine Blue", - "ru": "Морской синий", - "it": "Blu marino", - "fr": "Bleu marine", - "hu": "Tengerkék", - "zh": "海蓝", - "nl": "Marineblauw", - "es": "Azul marino" - }, - "fila_color": [ - "#0078BFFF" - ] - }, - { - "fila_color_code": "11601", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Eisblau", - "sv": "Isblå", - "pt": "Azul-gelo", - "ko": "아이스 블루", - "ja": "アイス ブルー", - "en": "Ice Blue", - "ru": "Голубой лёд", - "it": "Blu ghiaccio", - "fr": "Bleu glacier", - "hu": "Jégkék", - "zh": "冰蓝", - "nl": "IJsblauw", - "es": "Azul hielo" - }, - "fila_color": [ - "#A3D8E1FF" - ] - }, - { - "fila_color_code": "11602", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Dunkelblau", - "sv": "Mörkblå", - "pt": "Azul-escuro", - "ko": "다크 블루", - "ja": "ダーク ブルー", - "en": "Dark Blue", - "ru": "Тёмно-синий", - "it": "Blu scuro", - "fr": "Bleu foncé", - "hu": "Sötétkék", - "zh": "暗夜蓝", - "nl": "Donkerblauw", - "es": "Azul oscuro" - }, - "fila_color": [ - "#042F56FF" - ] - }, - { - "fila_color_code": "11104", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Nardo-Grau", - "sv": "Nardogrå", - "pt": "Nardo Gray", - "ko": "나르도 그레이", - "ja": "ナルド グレイ", - "en": "Nardo Gray", - "ru": "Серый Nardo", - "it": "Grigio Nardo", - "fr": "Gris nardo", - "hu": "Matt szürke", - "zh": "枪灰色", - "nl": "Nardogrijs", - "es": "Gris nardo" - }, - "fila_color": [ - "#757575FF" - ] - }, - { - "fila_color_code": "11102", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Aschgrau", - "sv": "Askgrå", - "pt": "Ash Gray", - "ko": "애쉬 그레이", - "ja": "アッシュ グレー", - "en": "Ash Gray", - "ru": "Пепельный", - "it": "Grigio cenere", - "fr": "Gris cendré", - "hu": "Hamuszürke", - "zh": "岩石灰", - "nl": "Asgrijs", - "es": "Gris ceniza" - }, - "fila_color": [ - "#9B9EA0FF" - ] - }, - { - "fila_color_code": "11502", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Apfelgrün", - "sv": "Äppelgrön", - "pt": "Maçã-Verde", - "ko": "애플 그린", - "ja": "アップル グリーン", - "en": "Apple Green", - "ru": "Яблочный", - "it": "Verde mela", - "fr": "Vert pomme", - "hu": "Almazöld", - "zh": "果绿色", - "nl": "Appelgroen", - "es": "Verde manzana" - }, - "fila_color": [ - "#C2E189FF" - ] - }, - { - "fila_color_code": "11500", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Grasgrün", - "sv": "Gräsgrön", - "pt": "Grama Verde", - "ko": "그래스 그린", - "ja": "グラス グリーン", - "en": "Grass Green", - "ru": "Травянистый", - "it": "Verde prato", - "fr": "Vert herbacé", - "hu": "Fűzöld", - "zh": "草绿", - "nl": "Grasgroen", - "es": "Verde hierba" - }, - "fila_color": [ - "#61C680FF" - ] - }, - { - "fila_color_code": "11501", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Dunkelgrün", - "sv": "Mörkgrön", - "pt": "Verde-escuro", - "ko": "다크 그린", - "ja": "ダーク グリーン", - "en": "Dark Green", - "ru": "Тёмно-зелёный", - "it": "Verde scuro", - "fr": "Vert foncé", - "hu": "Sötétzöld", - "zh": "暗夜绿", - "nl": "Donkergroen", - "es": "Verde oscuro" - }, - "fila_color": [ - "#68724DFF" - ] - }, - { - "fila_color_code": "11101", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Kohlschwarz", - "sv": "Kolsvart", - "pt": "Carvão", - "ko": "차콜", - "ja": "チャコール", - "en": "Charcoal", - "ru": "Угольный", - "it": "Carbone", - "fr": "Anthracite", - "hu": "Faszén", - "zh": "炭黑", - "nl": "Donkergrijs", - "es": "Carbón" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "11802", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Dunkel-Schokoladenbraun", - "sv": "Mörk choklad", - "pt": "Chocolate-escuro", - "ko": "다크 초콜릿", - "ja": "ダーク チョコレート", - "en": "Dark Chocolate", - "ru": "Тёмный шоколад", - "it": "Cioccolato", - "fr": "Chocolat noir", - "hu": "Étcsokoládé", - "zh": "深棕色", - "nl": "Donkerchocoladebruin", - "es": "Chocolate oscuro" - }, - "fila_color": [ - "#4D3324FF" - ] - }, - { - "fila_color_code": "11800", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Milchkaffee-Braun", - "sv": "Lattebrun", - "pt": "Café com Leite", - "ko": "라떼 브라운", - "ja": "ラテ ブラウン", - "en": "Latte Brown", - "ru": "Латте", - "it": "Caffelatte", - "fr": "Marron latte", - "hu": "Lattebarna", - "zh": "拿铁褐", - "nl": "Lattebruin", - "es": "Marrón Latte" - }, - "fila_color": [ - "#D3B7A7FF" - ] - }, - { - "fila_color_code": "11801", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Dunkelbraun", - "sv": "Mörkbrun", - "pt": "Marrom-escuro", - "ko": "다크 브라운", - "ja": "ダーク ブラウン", - "en": "Dark Brown", - "ru": "Тёмно-коричневый", - "it": "Marrone scuro", - "fr": "Marron foncé", - "hu": "Sötétbarna", - "zh": "暗夜棕", - "nl": "Donkerbruin", - "es": "Marrón oscuro" - }, - "fila_color": [ - "#7D6556FF" - ] - }, - { - "fila_color_code": "11803", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Karamell", - "sv": "Kola", - "pt": "Caramelo", - "ko": "캐러멜", - "ja": "キャラメル", - "en": "Caramel", - "ru": "Карамельный", - "it": "Caramello", - "fr": "Caramel", - "hu": "Karamella", - "zh": "沙棕色", - "nl": "Karamel", - "es": "Caramelo" - }, - "fila_color": [ - "#AE835BFF" - ] - }, - { - "fila_color_code": "11201", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Sakura-Pink", - "sv": "Körsbärsrosa", - "pt": "Sakura Rosa", - "ko": "사쿠라 핑크", - "ja": "サクラ ピンク", - "en": "Sakura Pink", - "ru": "Розовая сакура", - "it": "Rosa sakura", - "fr": "Rose sakura", - "hu": "Szakurarózsaszín", - "zh": "樱花粉", - "nl": "Sakura-roze", - "es": "Rosa sakura" - }, - "fila_color": [ - "#E8AFCFFF" - ] - }, - { - "fila_color_code": "11700", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Flieder-Violett", - "sv": "Syrenlila", - "pt": "Lilás Roxo", - "ko": "라일락 퍼플", - "ja": "ライラック パープル", - "en": "Lilac Purple", - "ru": "Сиреневый", - "it": "Lilla", - "fr": "Violet lilas", - "hu": "Ibolya", - "zh": "丁香紫", - "nl": "Lilapaars", - "es": "Púrpura lila" - }, - "fila_color": [ - "#AE96D4FF" - ] - }, - { - "fila_color_code": "11200", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Scharlachrot", - "sv": "Scharlakansröd", - "pt": "Vermelho Escarlate", - "ko": "스칼렛 레드", - "ja": "スカーレット レッド", - "en": "Scarlet Red", - "ru": "Алый ", - "it": "Rosso scarlatto", - "fr": "Rouge écarlate", - "hu": "Skarlátvörös", - "zh": "猩红", - "nl": "Scharlakenrood", - "es": "Rojo escarlata" - }, - "fila_color": [ - "#DE4343FF" - ] - }, - { - "fila_color_code": "11203", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Terrakotta", - "sv": "Terrakotta", - "pt": "Terracota", - "ko": "테라코타", - "ja": "テラコッタ", - "en": "Terracotta", - "ru": "Терракотовый", - "it": "Terracotta", - "fr": "Terre cuite", - "hu": "Terrakotta", - "zh": "砖红色", - "nl": "Terracotta", - "es": "Terracota" - }, - "fila_color": [ - "#B15533FF" - ] - }, - { - "fila_color_code": "11204", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Pflaume", - "sv": "Plommon", - "pt": "Ameixa", - "ko": "플럼", - "ja": "プラム", - "en": "Plum", - "ru": "Сливовый", - "it": "Prugna", - "fr": "Prune", - "hu": "Szilva", - "zh": "莓果紫", - "nl": "Pruim", - "es": "Ciruela" - }, - "fila_color": [ - "#950051FF" - ] - }, - { - "fila_color_code": "11202", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Dunkelrot", - "sv": "Mörkröd", - "pt": "Vermelho-escuro", - "ko": "다크 레드", - "ja": "ダーク レッド", - "en": "Dark Red", - "ru": "Тёмно-красный", - "it": "Rosso scuro", - "fr": "Rouge foncé", - "hu": "Sötétvörös", - "zh": "暗夜红", - "nl": "Donkerrood", - "es": "Rojo oscuro" - }, - "fila_color": [ - "#BB3D43FF" - ] - }, - { - "fila_color_code": "11100", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Elfenbeinweiß", - "sv": "Elfenbensvit", - "pt": "Branco Marfim", - "ko": "아이보리 화이트", - "ja": "アイボリー ホワイト", - "en": "Ivory White", - "ru": "Слоновья кость", - "it": "Bianco avorio", - "fr": "Blanc ivoire", - "hu": "Elefántcsontfehér", - "zh": "象牙白", - "nl": "Ivoorwit", - "es": "Blanco marfil" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "11103", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Knochenweiß", - "sv": "Benvit", - "pt": "Bone White", - "ko": "본 화이트", - "ja": "ボーン ホワイト", - "en": "Bone White", - "ru": "Белая кость", - "it": "Bianco osso", - "fr": "Blanc os", - "hu": "Csontfehér", - "zh": "骨白", - "nl": "Beenwit", - "es": "Blanco hueso" - }, - "fila_color": [ - "#CBC6B8FF" - ] - }, - { - "fila_color_code": "11400", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Zitronengelb", - "sv": "Citrongul", - "pt": "Amarelo-limão", - "ko": "레몬 옐로우", - "ja": "レモン イエロー", - "en": "Lemon Yellow", - "ru": "Лимонный", - "it": "Giallo limone", - "fr": "Jaune citron", - "hu": "Citromsárga", - "zh": "柠檬黄", - "nl": "Citroengeel", - "es": "Amarillo limón" - }, - "fila_color": [ - "#F7D959FF" - ] - }, - { - "fila_color_code": "11401", - "fila_id": "GFA01", - "fila_color_type": "单色", - "fila_type": "PLA Matte", - "fila_color_name": { - "de": "Wüstenbraun", - "sv": "Ökenbrun", - "pt": "Desert Tan", - "ko": "데저트 탄", - "ja": "デザート タン", - "en": "Desert Tan", - "ru": "Песочный загар", - "it": "Sabbia", - "fr": "Brun clair du désert", - "hu": "Sivatagi cser", - "zh": "沙漠黄", - "nl": "Woestijnbruin", - "es": "Arena del desierto" - }, - "fila_color": [ - "#E8DBB7FF" - ] - }, - { - "fila_color_code": "13601", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#147BD1FF" - ] - }, - { - "fila_color_code": "13104", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Silber", - "sv": "Silver", - "pt": "Prateado", - "ko": "실버", - "ja": "シルバー", - "en": "Silver", - "ru": "Серебристый", - "it": "Argento", - "fr": "Argenté", - "hu": "Ezüst", - "zh": "银色", - "nl": "Zilver", - "es": "Plateado" - }, - "fila_color": [ - "#EAECEBFF" - ] - }, - { - "fila_color_code": "13502", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#4CE4A0FF" - ] - }, - { - "fila_color_code": "13300", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Kupfer", - "sv": "Koppar", - "pt": "Cobre", - "ko": "코퍼", - "ja": "カッパー", - "en": "Copper", - "ru": "Медный", - "it": "Rame", - "fr": "Cuivre", - "hu": "Réz", - "zh": "铜色", - "nl": "Koperkleurig", - "es": "Cobre" - }, - "fila_color": [ - "#5E4B3CFF" - ] - }, - { - "fila_color_code": "13202", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Pink", - "sv": "Rosa", - "pt": "Rosa", - "ko": "핑크", - "ja": "ピンク", - "en": "Pink", - "ru": "Розовый", - "it": "Rosa", - "fr": "Rose", - "hu": "Rózsaszín", - "zh": "粉色", - "nl": "Roze", - "es": "Rosa" - }, - "fila_color": [ - "#EEB1C1FF" - ] - }, - { - "fila_color_code": "13701", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "紫色", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#854CE4FF" - ] - }, - { - "fila_color_code": "13901", - "fila_id": "GFA05", - "fila_color_type": "多拼色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Goldenes Rosa", - "sv": "Gyllene ros", - "pt": "Rosa Dourada", - "ko": "길디드 로즈", - "ja": "ギルディッド ローズ", - "en": "Gilded Rose", - "ru": "Позолоченная роза", - "it": "Rosa con sfumature dorate", - "fr": "Rose doré", - "hu": "Aranyozott rózsa", - "zh": "金粉双色", - "nl": "Vergulde roos", - "es": "Rosa dorado" - }, - "fila_color": [ - "#FF9425FF", - "#C16784FF" - ] - }, - { - "fila_color_code": "13902", - "fila_id": "GFA05", - "fila_color_type": "多拼色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Mitternachtsglanz", - "sv": "Midnattsflamma", - "pt": "Midnight Blaze", - "ko": "미드나이트 블레이즈", - "ja": "ミッドナイト ブレイズ", - "en": "Midnight Blaze", - "ru": "Ночное пламя", - "it": "Midnight Blaze", - "fr": "Feu de minuit", - "hu": "Éjféli ragyogás", - "zh": "蓝红双色", - "nl": "Middernachtblauw", - "es": "Resplandor de medianoche" - }, - "fila_color": [ - "#0047BBFF", - "#7D1B49FF" - ] - }, - { - "fila_color_code": "13903", - "fila_id": "GFA05", - "fila_color_type": "多拼色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Neon City", - "sv": "Stadsljus", - "pt": "Cidade Neon", - "ko": "네온 시티", - "ja": "ネオン シティ", - "en": "Neon City", - "ru": "Неоновый город", - "it": "Neon City", - "fr": "Ville de Néon", - "hu": "Neonfény", - "zh": "蓝粉双色", - "nl": "Neonstad", - "es": "Ciudad de neón" - }, - "fila_color": [ - "#BB22A3FF", - "#0047BBFF" - ] - }, - { - "fila_color_code": "13904", - "fila_id": "GFA05", - "fila_color_type": "多拼色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Hawaii-Blau", - "sv": "Blå Hawaii", - "pt": "Blue Hawaii", - "ko": "블루 하와이", - "ja": "ブルー ハワイ", - "en": "Blue Hawaii", - "ru": "Гавайский голубой", - "it": "Blue Hawaii", - "fr": "Hawaï bleu", - "hu": "Kék Hawaii", - "zh": "蓝绿双色", - "nl": "Blauw Hawaï", - "es": "Azul Hawái" - }, - "fila_color": [ - "#70C884FF", - "#418FDEFF" - ] - }, - { - "fila_color_code": "13905", - "fila_id": "GFA05", - "fila_color_type": "多拼色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Dunkler Samt (Schwarz-Rot)", - "sv": "Sammetsglans (svart-röd)", - "pt": "Velvet Eclipse (Preto-Vermelho)", - "ko": "벨벳 이클립스(블랙-레드)", - "ja": "ベルベット エクリプス (ブラック レッド)", - "en": "Velvet Eclipse (Black-Red)", - "ru": "Бархатное затмение (чёрно-красный)", - "it": "Velvet Eclipse (nero/rosso)", - "fr": "Éclipse de velours (Noir-Rouge)", - "hu": "Bársony naplemente (fekete-piros)", - "zh": "灰烬红", - "nl": "Fluwelen zonsverduistering (zwart-rood)", - "es": "Eclipse de terciopelo (negro-rojo)" - }, - "fila_color": [ - "#000000FF", - "#A34342FF" - ] - }, - { - "fila_color_code": "13105", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "13401", - "fila_id": "GFA05", - "fila_color_type": "单色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "Gold", - "sv": "Guld", - "pt": "Dourado", - "ko": "골드", - "ja": "ゴールド", - "en": "Gold", - "ru": "Золотой", - "it": "Oro", - "fr": "Doré", - "hu": "Arany", - "zh": "金色", - "nl": "Goud", - "es": "Dorado" - }, - "fila_color": [ - "#E5B03DFF" - ] - }, - { - "fila_color_code": "13603", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Babyblau", - "sv": "Babyblå", - "pt": "Azul-bebê", - "ko": "베이비 블루", - "ja": "ベイビー ブルー", - "en": "Baby Blue", - "ru": "Нежно-голубой", - "it": "Blu-turchese chiaro", - "fr": "Bleu layette", - "hu": "Babakék", - "zh": "天空蓝", - "nl": "Babyblauw", - "es": "Azul bebé" - }, - "fila_color": [ - "#A8C6EEFF" - ] - }, - { - "fila_color_code": "13604", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "丝绸蓝", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#008BDAFF" - ] - }, - { - "fila_color_code": "13108", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Titangrau", - "sv": "Titangrå", - "pt": "Titan Gray", - "ko": "타이탄 그레이", - "ja": "チタン グレー", - "en": "Titan Gray", - "ru": "Титановый", - "it": "Grigio titanio", - "fr": "Gris titane", - "hu": "Titánszürke", - "zh": "钛灰色", - "nl": "Titaangrijs", - "es": "Gris titán" - }, - "fila_color": [ - "#5F6367FF" - ] - }, - { - "fila_color_code": "13109", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Silber", - "sv": "Silver", - "pt": "Prateado", - "ko": "실버", - "ja": "シルバー", - "en": "Silver", - "ru": "Серебристый", - "it": "Argento", - "fr": "Argenté", - "hu": "Ezüst", - "zh": "丝绸银", - "nl": "Zilver", - "es": "Plateado" - }, - "fila_color": [ - "#C8C8C8FF" - ] - }, - { - "fila_color_code": "13506", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Candy-Grün", - "sv": "Godisgrön", - "pt": "Candy Green", - "ko": "캔디 그린", - "ja": "キャンディ グリーン", - "en": "Candy Green", - "ru": "Зелёный леденец", - "it": "Verde caramella", - "fr": "Vert bonbon", - "hu": "Cukorkazöld", - "zh": "糖果绿", - "nl": "Snoepgroen", - "es": "Verde caramelo" - }, - "fila_color": [ - "#018814FF" - ] - }, - { - "fila_color_code": "13507", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Minze", - "sv": "Mint", - "pt": "Menta", - "ko": "민트", - "ja": "ミント", - "en": "Mint", - "ru": "Мятный", - "it": "Menta", - "fr": "Menthe", - "hu": "Menta", - "zh": "薄荷绿", - "nl": "Munt", - "es": "Menta" - }, - "fila_color": [ - "#96DCB9FF" - ] - }, - { - "fila_color_code": "13702", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "丝绸紫", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#8671CBFF" - ] - }, - { - "fila_color_code": "13205", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Candy-Rot", - "sv": "Godisröd", - "pt": "Candy Red", - "ko": "캔디 레드", - "ja": "キャンディ レッド", - "en": "Candy Red", - "ru": "Красный леденец", - "it": "Rosso caramella", - "fr": "Rouge bonbon", - "hu": "Cukorkapiros", - "zh": "糖果红", - "nl": "Snoeprood", - "es": "Rojo caramelo" - }, - "fila_color": [ - "#D02727FF" - ] - }, - { - "fila_color_code": "13206", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Gold-Rosa", - "sv": "Rödguld", - "pt": "Ouro Rosa", - "ko": "로즈 골드", - "ja": "ローズ ゴールド", - "en": "Rose Gold", - "ru": "Розовое золото", - "it": "Oro rosa", - "fr": "Doré rose", - "hu": "Rózsaarany", - "zh": "烟粉色", - "nl": "Roségoud", - "es": "Oro rosa" - }, - "fila_color": [ - "#BA9594FF" - ] - }, - { - "fila_color_code": "13207", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Pink", - "sv": "Rosa", - "pt": "Rosa", - "ko": "핑크", - "ja": "ピンク", - "en": "Pink", - "ru": "Розовый", - "it": "Rosa", - "fr": "Rose", - "hu": "Rózsaszín", - "zh": "丝绸粉", - "nl": "Roze", - "es": "Rosa" - }, - "fila_color": [ - "#F7ADA6FF" - ] - }, - { - "fila_color_code": "13110", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "丝绸白", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "13404", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Champagner", - "sv": "Champagne", - "pt": "Champagne", - "ko": "샴페인", - "ja": "シャンパン", - "en": "Champagne", - "ru": "Шампань", - "it": "Champagne", - "fr": "Champagne", - "hu": "Pezsgő", - "zh": "香槟色", - "nl": "Champagne", - "es": "Champán" - }, - "fila_color": [ - "#F3CFB2FF" - ] - }, - { - "fila_color_code": "13405", - "fila_id": "GFA06", - "fila_color_type": "单色", - "fila_type": "PLA Silk+", - "fila_color_name": { - "de": "Gold", - "sv": "Guld", - "pt": "Dourado", - "ko": "골드", - "ja": "ゴールド", - "en": "Gold", - "ru": "Золотистый", - "it": "Oro", - "fr": "Doré", - "hu": "Arany", - "zh": "丝绸金", - "nl": "Goud", - "es": "Dorado" - }, - "fila_color": [ - "#F4A925FF" - ] - }, - { - "fila_color_code": "13103", - "fila_id": "GFA07", - "fila_color_type": "单色", - "fila_type": "PLA Marble", - "fila_color_name": { - "de": "Weißer Marmor", - "sv": "Vit marmor", - "pt": "Mármore Branco", - "ko": "화이트 마블", - "ja": "ホワイト マーブル", - "en": "White Marble", - "ru": "Белый мрамор", - "it": "Marmo bianco", - "fr": "Marbre blanc", - "hu": "Fehér márvány", - "zh": "大理石", - "nl": "Wit marmer", - "es": "Mármol blanco" - }, - "fila_color": [ - "#F7F3F0FF" - ] - }, - { - "fila_color_code": "13201", - "fila_id": "GFA07", - "fila_color_type": "单色", - "fila_type": "PLA Marble", - "fila_color_name": { - "de": "Granitrot", - "sv": "Röd granit", - "pt": "Granito Vermelho", - "ko": "레드 그래나이트", - "ja": "レッド グラナイト", - "en": "Red Granite", - "ru": "Красный гранит", - "it": "Rosso granito", - "fr": "Granit rouge", - "hu": "Vörös gránit", - "zh": "砖红", - "nl": "Rood graniet", - "es": "Granate rojo" - }, - "fila_color": [ - "#AD4E38FF" - ] - }, - { - "fila_color_code": "13700", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Glitzerndes Königslila", - "sv": "Kungslila glans", - "pt": "Royal Purple Sparkle", - "ko": "로얄 퍼플 스파클", - "ja": "ロイヤル パープル スパークル", - "en": "Royal Purple Sparkle", - "ru": "Королевский фиолетовый", - "it": "Viola reale con brillantini", - "fr": "Violet royal scintillant", - "hu": "Csillámló királyi lila", - "zh": "深蓝", - "nl": "Sprankelend koningspaars", - "es": "Púrpura real brillante" - }, - "fila_color": [ - "#483D8BFF" - ] - }, - { - "fila_color_code": "13102", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Glitzerndes Schiefergrau", - "sv": "Granitgrå glans", - "pt": "Slate Gray Sparkle", - "ko": "슬레이트 그레이 스파클", - "ja": "スレート グレース パークル", - "en": "Slate Gray Sparkle", - "ru": "Сланцево-серый", - "it": "Grigio ardesia con brillantini", - "fr": "Gris ardoise scintillant", - "hu": "Csillámló palaszürke", - "zh": "灰色", - "nl": "Sprankelend leigrijs", - "es": "Gris pizarra brillante" - }, - "fila_color": [ - "#8E9089FF" - ] - }, - { - "fila_color_code": "13501", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Glitzerndes Alpengrün", - "sv": "Alpingrön glans", - "pt": "Alpine Green Sparkle", - "ko": "알파인 그린 스파클", - "ja": "アルパイン グリーン スパークル", - "en": "Alpine Green Sparkle", - "ru": "Альпийский зелёный", - "it": "Verde alpino con brillantini", - "fr": "Vert alpin scintillant", - "hu": "Alpesi csillogó zöld", - "zh": "绿色", - "nl": "Sprankelend alpengroen", - "es": "Verde alpino brillante" - }, - "fila_color": [ - "#3F5443FF" - ] - }, - { - "fila_color_code": "13101", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Glitzerndes Onyx-Schwarz", - "sv": "Onyxsvart glans", - "pt": "Onyx Black Sparkle", - "ko": "오닉스 블랙 스파클", - "ja": "オニキス ブラック スパークル", - "en": "Onyx Black Sparkle", - "ru": "Чёрный оникс", - "it": "Nero onice con brillantini", - "fr": "Onyx noir scintillant", - "hu": "Csillámló ónixfekete", - "zh": "黑色", - "nl": "Sprankelend onyxzwart", - "es": "Negro ónix brillante" - }, - "fila_color": [ - "#2D2B28FF" - ] - }, - { - "fila_color_code": "13200", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Glitzerndes Karminrot", - "sv": "Mörkröd glans", - "pt": "Crimson Red Sparkle", - "ko": "크림슨 레드 스파클", - "ja": "クリムゾン レッド スパークル", - "en": "Crimson Red Sparkle", - "ru": "Багровый красный", - "it": "Rosso cremisi con brillantini", - "fr": "Pourpre scintillant", - "hu": "Csillámló bíborvörös", - "zh": "红色", - "nl": "Sprankelend karmozijnrood", - "es": "Rojo carmesí brillante" - }, - "fila_color": [ - "#792B36FF" - ] - }, - { - "fila_color_code": "13402", - "fila_id": "GFA08", - "fila_color_type": "单色", - "fila_type": "PLA Sparkle", - "fila_color_name": { - "de": "Klassisches Glitzer-Gold", - "sv": "Klassisk guld glans", - "pt": "Classic Gold Sparkle", - "ko": "클래식 골드 스파클", - "ja": "クラシック ゴールド スパークル", - "en": "Classic Gold Sparkle", - "ru": "Античное золото", - "it": "Oro con brillantini", - "fr": "Doré classique scintillant", - "hu": "Klasszikus csillogó arany", - "zh": "金色", - "nl": "Sprankelend klassiek goud", - "es": "Dorado clásico brillante" - }, - "fila_color": [ - "#CEA629FF" - ] - }, - { - "fila_color_code": "12300", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#FF7F41FF" - ] - }, - { - "fila_color_code": "12600", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Hellblau", - "sv": "Ljusblå", - "pt": "Azul-claro", - "ko": "라이트 블루", - "ja": "ライト ブルー", - "en": "Light Blue", - "ru": "Голубой", - "it": "Azzurro chiaro", - "fr": "Bleu clair", - "hu": "Világoskék", - "zh": "浅蓝", - "nl": "Lichtblauw", - "es": "Azul claro" - }, - "fila_color": [ - "#0085ADFF" - ] - }, - { - "fila_color_code": "12700", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Lavendelblau", - "sv": "Lavendelblå", - "pt": "Azul-lavanda", - "ko": "라벤더 블루", - "ja": "ラベンダー ブルー", - "en": "Lavender Blue", - "ru": "Лавандовый", - "it": "Blu lavanda", - "fr": "Bleu lavande", - "hu": "Levendulakék", - "zh": "薰衣草紫", - "nl": "Lavendelblauw", - "es": "Azul lavanda" - }, - "fila_color": [ - "#6667ABFF" - ] - }, - { - "fila_color_code": "12102", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#515A6CFF" - ] - }, - { - "fila_color_code": "12103", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Silber", - "sv": "Silver", - "pt": "Prateado", - "ko": "실버", - "ja": "シルバー", - "en": "Silver", - "ru": "Серебристый", - "it": "Argento", - "fr": "Argenté", - "hu": "Ezüst", - "zh": "银色", - "nl": "Zilver", - "es": "Plateado" - }, - "fila_color": [ - "#898D8DFF" - ] - }, - { - "fila_color_code": "12500", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Tannengrün", - "sv": "Pinjegrön", - "pt": "Pinho Verde", - "ko": "파인 그린", - "ja": "パイン グリーン", - "en": "Pine Green", - "ru": "Зелёная сосна", - "it": "Verde pino", - "fr": "Vert pin", - "hu": "Fenyőzöld", - "zh": "松绿", - "nl": "Dennengroen", - "es": "Verde pino" - }, - "fila_color": [ - "#00482BFF" - ] - }, - { - "fila_color_code": "12101", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#25282AFF" - ] - }, - { - "fila_color_code": "12200", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Zinnoberrot", - "sv": "Vermilionröd", - "pt": "Vermelho Vermilion", - "ko": "버밀리언 레드", - "ja": "バーミリオン レッド", - "en": "Vermilion Red", - "ru": "Киноварь", - "it": "Rosso vermiglio", - "fr": "Rouge vermillon", - "hu": "Cinóbervörös", - "zh": "朱砂红", - "nl": "Vermiljoenrood", - "es": "Rojo bermellón" - }, - "fila_color": [ - "#DD3C22FF" - ] - }, - { - "fila_color_code": "12100", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#F9F7F4FF" - ] - }, - { - "fila_color_code": "12400", - "fila_id": "GFA09", - "fila_color_type": "单色", - "fila_type": "PLA Tough", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FEDB00FF" - ] - }, - { - "fila_color_code": "14104", - "fila_id": "GFA11", - "fila_color_type": "单色", - "fila_type": "PLA Aero", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#CDCECAFF" - ] - }, - { - "fila_color_code": "14103", - "fila_id": "GFA11", - "fila_color_type": "单色", - "fila_type": "PLA Aero", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "14102", - "fila_id": "GFA11", - "fila_color_type": "单色", - "fila_type": "PLA Aero", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "15300", - "fila_id": "GFA12", - "fila_color_type": "单色", - "fila_type": "PLA Glow", - "fila_color_name": { - "de": "Leuchtend-Orange", - "sv": "Orange glöd", - "pt": "Brilho Laranja", - "ko": "글로우 오렌지", - "ja": "グロー オレンジ", - "en": "Glow Orange", - "ru": "Оранжевый", - "it": "Arancione fosforescente", - "fr": "Orange éclatant", - "hu": "Ragyogó narancssárga", - "zh": "夜光橙", - "nl": "Oranje gloed", - "es": "Naranja brillante" - }, - "fila_color": [ - "#FF9D5BFF" - ] - }, - { - "fila_color_code": "15600", - "fila_id": "GFA12", - "fila_color_type": "单色", - "fila_type": "PLA Glow", - "fila_color_name": { - "de": "Leuchtend-Blau", - "sv": "Blå glöd", - "pt": "Brilho Azul", - "ko": "글로우 블루", - "ja": "グロー ブルー", - "en": "Glow Blue", - "ru": "Синий", - "it": "Blu fosforescente", - "fr": "Bleu éclatant", - "hu": "Ragyogó kék", - "zh": "夜光蓝", - "nl": "Blauwe gloed", - "es": "Azul brillante" - }, - "fila_color": [ - "#7AC0E9FF" - ] - }, - { - "fila_color_code": "15500", - "fila_id": "GFA12", - "fila_color_type": "单色", - "fila_type": "PLA Glow", - "fila_color_name": { - "de": "Leuchtend-Grün", - "sv": "Grön glöd", - "pt": "Brilho Verde", - "ko": "글로우 그린", - "ja": "グロー グリーン", - "en": "Glow Green", - "ru": "Зелёный", - "it": "Verde fosforescente", - "fr": "Vert éclatant", - "hu": "Ragyogó zöld", - "zh": "夜光绿", - "nl": "Groene gloed", - "es": "Verde brillante" - }, - "fila_color": [ - "#A1FFACFF" - ] - }, - { - "fila_color_code": "15200", - "fila_id": "GFA12", - "fila_color_type": "单色", - "fila_type": "PLA Glow", - "fila_color_name": { - "de": "Leuchtend-Pink", - "sv": "Rosa glöd", - "pt": "Rosa Brilhante", - "ko": "글로우 핑크", - "ja": "グロー ピンク", - "en": "Glow Pink", - "ru": "Розовый", - "it": "Rosa fosforescente", - "fr": "Rose éclatant", - "hu": "Ragyogó rózsaszín", - "zh": "夜光粉", - "nl": "Roze gloed", - "es": "Rosa brillante" - }, - "fila_color": [ - "#F17B8FFF" - ] - }, - { - "fila_color_code": "15400", - "fila_id": "GFA12", - "fila_color_type": "单色", - "fila_type": "PLA Glow", - "fila_color_name": { - "de": "Leuchtend-Gelb", - "sv": "Gul glöd", - "pt": "Amarelo Brilhante", - "ko": "글로우 옐로우", - "ja": "グロー イエロー", - "en": "Glow Yellow", - "ru": "Жёлтый", - "it": "Giallo fosforescente", - "fr": "Jaune éclatant", - "hu": "Ragyogó sárga", - "zh": "夜光黄", - "nl": "Gele gloed", - "es": "Amarillo brillante" - }, - "fila_color": [ - "#F8FF80FF" - ] - }, - { - "fila_color_code": "15100", - "fila_id": "GFA13", - "fila_color_type": "单色", - "fila_type": "PLA Dynamic", - "fila_color_name": { - "de": "UV-Farbwechsel – Weiß nach Koralle", - "sv": "UV-toning - vit till korall", - "pt": "Mudança de cor UV — Branco para coral", - "ko": "UV 컬러 변경 - 화이트에서 코랄로", - "ja": "UV カラー チェンジ - ホワイトからコーラル", - "en": "UV Color Changing - White to Coral", - "ru": "Белый→коралловый (под ультрафиалетом)", - "it": "Cambia colore con l'esposizione ai raggi UV - Da bianco a corallo", - "fr": "Changement de couleur UV - Blanc à corail", - "hu": "UV-színváltó – fehérről korallra", - "zh": "光变-白变粉", - "nl": "UV-kleurverandering: wit naar koraal", - "es": "De blanco a coral (Cambia con los rayos UV)" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "13602", - "fila_id": "GFA15", - "fila_color_type": "单色", - "fila_type": "PLA Galaxy", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "星河紫", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#594177FF" - ] - }, - { - "fila_color_code": "13503", - "fila_id": "GFA15", - "fila_color_type": "单色", - "fila_type": "PLA Galaxy", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "星河绿", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#3B665EFF" - ] - }, - { - "fila_color_code": "13504", - "fila_id": "GFA15", - "fila_color_type": "单色", - "fila_type": "PLA Galaxy", - "fila_color_name": { - "de": "Nebel", - "sv": "Nebulosor", - "pt": "Nebulae", - "ko": "네뷸라", - "ja": "ネビュリー", - "en": "Nebulae", - "ru": "Туманность", - "it": "Nebula", - "fr": "Nébuleuse", - "hu": "Űrbéli ködök", - "zh": "星云色", - "nl": "Nevelig", - "es": "Nebulosa" - }, - "fila_color": [ - "#424379FF" - ] - }, - { - "fila_color_code": "13203", - "fila_id": "GFA15", - "fila_color_type": "单色", - "fila_type": "PLA Galaxy", - "fila_color_name": { - "de": "Braun", - "sv": "Brun", - "pt": "Marrom", - "ko": "브라운", - "ja": "ブラウン", - "en": "Brown", - "ru": "Коричневый", - "it": "Marrone", - "fr": "Marron", - "hu": "Barna", - "zh": "星河棕", - "nl": "Bruin", - "es": "Marrón" - }, - "fila_color": [ - "#684A43FF" - ] - }, - { - "fila_color_code": "13505", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Klassische Birke", - "sv": "Klassisk björk", - "pt": "Classic Birch", - "ko": "클래식 버치", - "ja": "クラシック バーチ", - "en": "Classic Birch", - "ru": "Берёза", - "it": "Betulla", - "fr": "Bouleau classique", - "hu": "Klasszikus nyírfa", - "zh": "经典桦木", - "nl": "Klassieke berk", - "es": "Abedul clásico" - }, - "fila_color": [ - "#918669FF" - ] - }, - { - "fila_color_code": "13107", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Schwarze Walnuss", - "sv": "Svart valnöt", - "pt": "Noz preta", - "ko": "블랙 월넛", - "ja": "ブラック ウォールナット", - "en": "Black Walnut", - "ru": "Чёрный орех", - "it": "Noce nero", - "fr": "Noyer noir", - "hu": "Fekete dió", - "zh": "黑胡桃", - "nl": "Walnootzwart", - "es": "Nogal negro" - }, - "fila_color": [ - "#4F3F24FF" - ] - }, - { - "fila_color_code": "13801", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Lehmbraun", - "sv": "Lerbrun", - "pt": "Clay Brown", - "ko": "클레이 브라운", - "ja": "クレイ ブラウン", - "en": "Clay Brown", - "ru": "Коричневая глина", - "it": "Marrone argilla", - "fr": "Marron argile", - "hu": "Agyagbarna", - "zh": "陶土褐", - "nl": "Modderbruin", - "es": "Marrón arcilla" - }, - "fila_color": [ - "#995F11FF" - ] - }, - { - "fila_color_code": "13204", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Rosenholz", - "sv": "Rosenträ", - "pt": "Jacarandá", - "ko": "로즈우드", - "ja": "ローズウッド", - "en": "Rosewood", - "ru": "Палисандр", - "it": "Palissandro", - "fr": "Palissandre", - "hu": "Rózsafa", - "zh": "红木", - "nl": "Rozenhout", - "es": "Palo de rosa" - }, - "fila_color": [ - "#4C241CFF" - ] - }, - { - "fila_color_code": "13106", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Weiße Eiche", - "sv": "Vit ek", - "pt": "Carvalho Branco", - "ko": "화이트 오크", - "ja": "ホワイト オーク", - "en": "White Oak", - "ru": "Белый дуб", - "it": "Rovere bianco", - "fr": "Chêne blanc", - "hu": "Fehér tölgy", - "zh": "白橡木", - "nl": "Wit eiken", - "es": "Roble blanco" - }, - "fila_color": [ - "#D6CCA3FF" - ] - }, - { - "fila_color_code": "13403", - "fila_id": "GFA16", - "fila_color_type": "单色", - "fila_type": "PLA Wood", - "fila_color_name": { - "de": "Ockergelb", - "sv": "Ockragul", - "pt": "Amarelo-ocre", - "ko": "오커 옐로우", - "ja": "オーカー イエロー", - "en": "Ochre Yellow", - "ru": "Охра", - "it": "Giallo ocra", - "fr": "Jaune ocre", - "hu": "Okkersárga", - "zh": "赭石黄", - "nl": "Okergeel", - "es": "Amarillo ocre" - }, - "fila_color": [ - "#C98935FF" - ] - }, - { - "fila_color_code": "14601", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Königsblau", - "sv": "Kungsblå", - "pt": "Azul Royal", - "ko": "로얄 블루", - "ja": "ロイヤル ブルー", - "en": "Royal Blue", - "ru": "Королевский синий", - "it": "Blu royal", - "fr": "Bleu royal", - "hu": "Királykék", - "zh": "皇家蓝", - "nl": "Koningsblauw", - "es": "Azul real" - }, - "fila_color": [ - "#2842ADFF" - ] - }, - { - "fila_color_code": "14600", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Jeansblau", - "sv": "Jeansblå", - "pt": "Jeans Azul", - "ko": "진 블루", - "ja": "ジーンズ ブルー", - "en": "Jeans Blue", - "ru": "Джинсовый", - "it": "Blu jeans", - "fr": "Jean bleu", - "hu": "Farmerkék", - "zh": "牛仔蓝", - "nl": "Jeansblauw", - "es": "Azul vaquero" - }, - "fila_color": [ - "#6e88bcFF" - ] - }, - { - "fila_color_code": "14101", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Lava-Grau", - "sv": "Lavagrå", - "pt": "Lava Cinza", - "ko": "라바 그레이", - "ja": "ラバ グレー", - "en": "Lava Gray", - "ru": "Лавово-серый", - "it": "Grigio lava", - "fr": "Gris lave", - "hu": "Lávaszürke", - "zh": "熔岩灰", - "nl": "Lavagrijs", - "es": "Gris lava" - }, - "fila_color": [ - "#4d5054FF" - ] - }, - { - "fila_color_code": "14500", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Matcha-Grün", - "sv": "Matchagrön", - "pt": "Matcha Green", - "ko": "마차 그린", - "ja": "抹茶グリーン", - "en": "Matcha Green", - "ru": "Зелёный чай", - "it": "Verde matcha", - "fr": "Vert matcha", - "hu": "Matchazöld", - "zh": "抹茶绿", - "nl": "Matchagroen", - "es": "Verde matcha" - }, - "fila_color": [ - "#5c9748FF" - ] - }, - { - "fila_color_code": "14100", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "14700", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Iris-Violett", - "sv": "Irislila", - "pt": "Íris Roxa", - "ko": "아이리스 퍼플", - "ja": "アイリス パープル", - "en": "Iris Purple", - "ru": "Фиолетовый ирис", - "it": "Viola iris", - "fr": "Violet iris", - "hu": "Íriszlila", - "zh": "鸢尾花紫", - "nl": "Irispaars", - "es": "Púrpura iris" - }, - "fila_color": [ - "#69398EFF" - ] - }, - { - "fila_color_code": "14200", - "fila_id": "GFA50", - "fila_color_type": "单色", - "fila_type": "PLA-CF", - "fila_color_name": { - "de": "Burgunderrot", - "sv": "Vinröd", - "pt": "Burgundy Red", - "ko": "버건디 레드", - "ja": "バーガンディ レッド", - "en": "Burgundy Red", - "ru": "Красное вино", - "it": "Rosso borgogna", - "fr": "Rouge bordeaux", - "hu": "Bordó-vörös", - "zh": "勃艮第红", - "nl": "Wijnrood", - "es": "Rojo burdeos" - }, - "fila_color": [ - "#951e23FF" - ] - }, - { - "fila_color_code": "40300", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#FF6A13FF" - ] - }, - { - "fila_color_code": "40600", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#0A2CA5FF" - ] - }, - { - "fila_color_code": "40601", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Azurblau", - "sv": "Azurblå", - "pt": "Azure", - "ko": "애저", - "ja": "アズール", - "en": "Azure", - "ru": "Лазурь", - "it": "Azzurro", - "fr": "Bleu azur", - "hu": "Azúr", - "zh": "天蓝色", - "nl": "Azuurblauw", - "es": "Azul celeste" - }, - "fila_color": [ - "#489FDFFF" - ] - }, - { - "fila_color_code": "40602", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Marineblau", - "sv": "Marinblå", - "pt": "Azul-marinho", - "ko": "네이비 블루", - "ja": "ネイビー ブルー", - "en": "Navy Blue", - "ru": "Тёмно-синий", - "it": "Blu navy", - "fr": "Bleu marine", - "hu": "Tengerészkék", - "zh": "藏青色", - "nl": "Marineblauw", - "es": "Azul marino oscuro" - }, - "fila_color": [ - "#0C2340FF" - ] - }, - { - "fila_color_code": "40501", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Minze", - "sv": "Mint", - "pt": "Menta", - "ko": "민트", - "ja": "ミント", - "en": "Mint", - "ru": "Мятный", - "it": "Menta", - "fr": "Menthe", - "hu": "Menta", - "zh": "青色", - "nl": "Munt", - "es": "Menta" - }, - "fila_color": [ - "#7AE1BFFF" - ] - }, - { - "fila_color_code": "40102", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Silber", - "sv": "Silver", - "pt": "Prateado", - "ko": "실버", - "ja": "シルバー", - "en": "Silver", - "ru": "Серебристый", - "it": "Argento", - "fr": "Argenté", - "hu": "Ezüst", - "zh": "银色", - "nl": "Zilver", - "es": "Plateado" - }, - "fila_color": [ - "#87909AFF" - ] - }, - { - "fila_color_code": "40500", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Bambusgrün", - "sv": "Bambugrön", - "pt": "Verde-bambu", - "ko": "뱀부 그린", - "ja": "バンブー グリーン", - "en": "Bambu Green", - "ru": "Зелёный бамбук", - "it": "Verde bambù", - "fr": "Vert bambou", - "hu": "Bambu-zöld", - "zh": "拓竹绿", - "nl": "Bamboegroen", - "es": "Verde bambú" - }, - "fila_color": [ - "#00AE42FF" - ] - }, - { - "fila_color_code": "40502", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Olive", - "sv": "Oliv", - "pt": "Olive", - "ko": "올리브", - "ja": "オリーブ", - "en": "Olive", - "ru": "Оливковый", - "it": "Oliva", - "fr": "Olive", - "hu": "Olivazöld", - "zh": "橄榄绿", - "nl": "Olijf", - "es": "Oliva" - }, - "fila_color": [ - "#789D4AFF" - ] - }, - { - "fila_color_code": "40101", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "40701", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Lavendel", - "sv": "Lavendel", - "pt": "Lavanda", - "ko": "라벤더", - "ja": "ラベンダー", - "en": "Lavender", - "ru": "Лавандовый", - "it": "Lavanda", - "fr": "Lavande", - "hu": "Levendula", - "zh": "薰衣草紫", - "nl": "Lavendel", - "es": "Lavanda" - }, - "fila_color": [ - "#7248BDFF" - ] - }, - { - "fila_color_code": "40700", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "紫色", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#AF1685FF" - ] - }, - { - "fila_color_code": "40200", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#D32941FF" - ] - }, - { - "fila_color_code": "40100", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "40400", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FCE900FF" - ] - }, - { - "fila_color_code": "40402", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Mandarinengelb", - "sv": "Mandaringul", - "pt": "Amarelo Tangerina", - "ko": "탠저린 옐로우", - "ja": "タンジェリン イエロー", - "en": "Tangerine Yellow", - "ru": "Мандариновый", - "it": "Giallo tangerine", - "fr": "Jaune mandarine", - "hu": "Tangerin", - "zh": "橘黄", - "nl": "Feloranjegeel", - "es": "Amarillo mandarina" - }, - "fila_color": [ - "#FFC72CFF" - ] - }, - { - "fila_color_code": "40401", - "fila_id": "GFB00", - "fila_color_type": "单色", - "fila_type": "ABS", - "fila_color_name": { - "de": "Beige", - "sv": "Beige", - "pt": "Bege", - "ko": "베이지", - "ja": "ベージュ", - "en": "Beige", - "ru": "Бежевый", - "it": "Beige", - "fr": "Beige", - "hu": "Bézs", - "zh": "卡其色", - "nl": "Beige", - "es": "Beis" - }, - "fila_color": [ - "#DFD1A7FF" - ] - }, - { - "fila_color_code": "45600", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#2140B4FF" - ] - }, - { - "fila_color_code": "45102", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#8A949EFF" - ] - }, - { - "fila_color_code": "45500", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#00A6A0FF" - ] - }, - { - "fila_color_code": "45101", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "45200", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#E02928FF" - ] - }, - { - "fila_color_code": "45100", - "fila_id": "GFB01", - "fila_color_type": "单色", - "fila_type": "ASA", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFAF2FF" - ] - }, - { - "fila_color_code": "46100", - "fila_id": "GFB02", - "fila_color_type": "单色", - "fila_type": "ASA Aero", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#F5F1DDFF" - ] - }, - { - "fila_color_code": "41300", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#F48438FF" - ] - }, - { - "fila_color_code": "41600", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#0C3B95FF" - ] - }, - { - "fila_color_code": "41102", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#C6C6C6FF" - ] - }, - { - "fila_color_code": "41500", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#61BF36FF" - ] - }, - { - "fila_color_code": "41101", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "41200", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#E83100FF" - ] - }, - { - "fila_color_code": "41100", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "41400", - "fila_id": "GFB50", - "fila_color_type": "单色", - "fila_type": "ABS-GF", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FFE133FF" - ] - }, - { - "fila_color_code": "46101", - "fila_id": "GFB51", - "fila_color_type": "单色", - "fila_type": "ASA-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "60102", - "fila_id": "GFC00", - "fila_color_type": "单色", - "fila_type": "PC", - "fila_color_name": { - "de": "Klares Schwarz", - "sv": "Klar svart", - "pt": "Preto-claro", - "ko": "클리어 블랙", - "ja": "クリア ブラック", - "en": "Clear Black", - "ru": "Чистый чёрный", - "it": "Nero trasparente", - "fr": "Noir transparent", - "hu": "Tiszta fekete", - "zh": "透明黑", - "nl": "Helder zwart", - "es": "Negro transparente" - }, - "fila_color": [ - "#00000080" - ] - }, - { - "fila_color_code": "60103", - "fila_id": "GFC00", - "fila_color_type": "单色", - "fila_type": "PC", - "fila_color_name": { - "de": "Durchsichtig", - "sv": "Genomskinlig", - "pt": "Transparente", - "ko": "투명", - "ja": "トランスペアレント", - "en": "Transparent", - "ru": "Прозрачный", - "it": "Trasparente", - "fr": "Transparent", - "hu": "Áttetsző", - "zh": "透明", - "nl": "Transparant", - "es": "Translúcido" - }, - "fila_color": [ - "#FFFFFF00" - ] - }, - { - "fila_color_code": "60101", - "fila_id": "GFC00", - "fila_color_type": "单色", - "fila_type": "PC", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#686865FF" - ] - }, - { - "fila_color_code": "60100", - "fila_id": "GFC00", - "fila_color_type": "单色", - "fila_type": "PC", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "63102", - "fila_id": "GFC01", - "fila_color_type": "单色", - "fila_type": "PC FR", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#A8A8AAFF" - ] - }, - { - "fila_color_code": "63100", - "fila_id": "GFC01", - "fila_color_type": "单色", - "fila_type": "PC FR", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "63101", - "fila_id": "GFC01", - "fila_color_type": "单色", - "fila_type": "PC FR", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "30300", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#FF671FFF" - ] - }, - { - "fila_color_code": "30602", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Blauer See", - "sv": "Sjöblå", - "pt": "Lago Azul", - "ko": "레이크 블루", - "ja": "レイク ブルー", - "en": "Lake Blue", - "ru": "Голубой", - "it": "Blu lago", - "fr": "Bleu lac", - "hu": "Vízkék", - "zh": "湖蓝", - "nl": "Meerblauw", - "es": "Azul Lago" - }, - "fila_color": [ - "#0069B1FF" - ] - }, - { - "fila_color_code": "30601", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Blau-Grau", - "sv": "Blågrå", - "pt": "Azul-Cinza", - "ko": "블루 그레이", - "ja": "ブルー グレー", - "en": "Blue Gray", - "ru": "Сизый", - "it": "Grigio blu", - "fr": "Bleu gris", - "hu": "Kékesszürke", - "zh": "灰蓝", - "nl": "Blauwgrijs", - "es": "Gris azulado" - }, - "fila_color": [ - "#688197FF" - ] - }, - { - "fila_color_code": "30700", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Lila", - "sv": "Lila", - "pt": "Roxo", - "ko": "퍼플", - "ja": "パープル", - "en": "Purple", - "ru": "Пурпурный", - "it": "Viola", - "fr": "Violet", - "hu": "Lila", - "zh": "紫色", - "nl": "Paars", - "es": "Púrpura" - }, - "fila_color": [ - "#9E007EFF" - ] - }, - { - "fila_color_code": "30600", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#001489FF" - ] - }, - { - "fila_color_code": "30103", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Durchsichtig", - "sv": "Genomskinlig", - "pt": "Transparente", - "ko": "투명", - "ja": "トランスペアレント", - "en": "Transparent", - "ru": "Прозрачный", - "it": "Trasparente", - "fr": "Transparent", - "hu": "Áttetsző", - "zh": "透明", - "nl": "Transparant", - "es": "Translúcido" - }, - "fila_color": [ - "#FFFFFF00" - ] - }, - { - "fila_color_code": "30102", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#9EA2A2FF" - ] - }, - { - "fila_color_code": "30500", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#009639FF" - ] - }, - { - "fila_color_code": "30501", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Limettengrün", - "sv": "Limegrön", - "pt": "Verde-limão", - "ko": "라임 그린", - "ja": "ライム グリーン", - "en": "Lime Green", - "ru": "Салатовый", - "it": "Verde lime", - "fr": "Vert citron", - "hu": "Limezöld", - "zh": "柠檬绿", - "nl": "Limoengroen", - "es": "Verde lima" - }, - "fila_color": [ - "#7CD82BFF" - ] - }, - { - "fila_color_code": "30101", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "30200", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#D6001CFF" - ] - }, - { - "fila_color_code": "30100", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "30104", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Natur", - "sv": "Natur", - "pt": "Natureza", - "ko": "네이처", - "ja": "ネイチャー", - "en": "Nature", - "ru": "Естественный", - "it": "Naturale", - "fr": "Nature", - "hu": "Natúr", - "zh": "自然色", - "nl": "Natuurlijk", - "es": "Naturaleza" - }, - "fila_color": [ - "#F9F7F2FF" - ] - }, - { - "fila_color_code": "30400", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FCE300FF" - ] - }, - { - "fila_color_code": "30401", - "fila_id": "GFG00", - "fila_color_type": "单色", - "fila_type": "PETG Basic", - "fila_color_name": { - "de": "Gold", - "sv": "Guld", - "pt": "Dourado", - "ko": "골드", - "ja": "ゴールド", - "en": "Gold", - "ru": "Золотистый", - "it": "Oro", - "fr": "Doré", - "hu": "Arany", - "zh": "金色", - "nl": "Goud", - "es": "Dorado" - }, - "fila_color": [ - "#B28B33FF" - ] - }, - { - "fila_color_code": "32300", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Orange", - "sv": "Genomskinlig orange", - "pt": "Laranja Translúcido", - "ko": "반투명 오렌지", - "ja": "トランスルーセント オレンジ", - "en": "Translucent Orange", - "ru": "Оранжевый", - "it": "Arancione traslucido", - "fr": "Orange translucide", - "hu": "Áttetsző narancssárga", - "zh": "透明橘", - "nl": "Doorschijnend oranje", - "es": "Naranja translúcido" - }, - "fila_color": [ - "#FF911A80" - ] - }, - { - "fila_color_code": "32600", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Hellblau", - "sv": "Genomskinlig ljusblå", - "pt": "Azul-claro Translúcido", - "ko": "반투명 라이트 블루", - "ja": "トランスルーセント ライト ブルー", - "en": "Translucent Light Blue", - "ru": "Голубой", - "it": "Azzurro traslucido", - "fr": "Bleu clair translucide", - "hu": "Áttetsző világoskék", - "zh": "透明浅蓝", - "nl": "Doorschijnend lichtblauw", - "es": "Azul claro translúcido" - }, - "fila_color": [ - "#61B0FF80" - ] - }, - { - "fila_color_code": "32101", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Klar", - "sv": "Klar", - "pt": "Claro", - "ko": "클리어", - "ja": "クリア", - "en": "Clear", - "ru": "Чистый", - "it": "Trasparente", - "fr": "Transparent", - "hu": "Átlátszó", - "zh": "透明", - "nl": "Helder", - "es": "Transparente" - }, - "fila_color": [ - "#FFFFFF00" - ] - }, - { - "fila_color_code": "32100", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Grau", - "sv": "Genomskinlig grå", - "pt": "Cinza Translúcido", - "ko": "반투명 그레이", - "ja": "トランスルーセント グレー", - "en": "Translucent Gray", - "ru": "Серый", - "it": "Grigio traslucido", - "fr": "Gris translucide", - "hu": "Áttetsző szürke", - "zh": "透明灰", - "nl": "Doorschijnend grijs", - "es": "Gris translúcido" - }, - "fila_color": [ - "#8E8E8E80" - ] - }, - { - "fila_color_code": "32500", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Olivgrün", - "sv": "Genomskinlig oliv", - "pt": "Oliva Translúcido", - "ko": "반투명 올리브", - "ja": "トランスルーセント オリーブ", - "en": "Translucent Olive", - "ru": "Оливковый", - "it": "Oliva traslucido", - "fr": "Olive translucide", - "hu": "Áttetsző olivazöld", - "zh": "透明橄榄绿", - "nl": "Doorschijnend olijf", - "es": "Oliva translúcido" - }, - "fila_color": [ - "#748C4580" - ] - }, - { - "fila_color_code": "32501", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Blaugrün", - "sv": "Genomskinlig teal", - "pt": "Azul-petróleo Translúcido", - "ko": "반투명 틸", - "ja": "トランスルーセント ティール", - "en": "Translucent Teal", - "ru": "Морской", - "it": "Verde petrolio traslucido", - "fr": "Bleu sarcelle translucide", - "hu": "Áttetsző kékeszöld", - "zh": "透明浅绿", - "nl": "Doorschijnend blauwgroen", - "es": "Verde azulado translúcido" - }, - "fila_color": [ - "#77EDD780" - ] - }, - { - "fila_color_code": "32800", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Braun", - "sv": "Genomskinlig brun", - "pt": "Marrom Translúcido", - "ko": "반투명 브라운", - "ja": "トランスルーセント ブラウン", - "en": "Translucent Brown", - "ru": "Коричневый", - "it": "Marrone traslucido", - "fr": "Marron translucide", - "hu": "Áttetsző barna", - "zh": "透明茶色", - "nl": "Doorschijnend bruin", - "es": "Marrón translúcido" - }, - "fila_color": [ - "#C9A38180" - ] - }, - { - "fila_color_code": "32700", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Lila", - "sv": "Genomskinlig lila", - "pt": "Roxo Translúcido", - "ko": "반투명 퍼플", - "ja": "トランスルーセント パープル", - "en": "Translucent Purple", - "ru": "Фиолетовый", - "it": "Viola traslucido", - "fr": "Violet translucide", - "hu": "Áttetsző lila", - "zh": "透明紫", - "nl": "Doorschijnend paars", - "es": "Púrpura translúcido" - }, - "fila_color": [ - "#D6ABFF80" - ] - }, - { - "fila_color_code": "32200", - "fila_id": "GFG01", - "fila_color_type": "单色", - "fila_type": "PETG Translucent", - "fila_color_name": { - "de": "Durchsichtiges Pink", - "sv": "Genomskinlig rosa", - "pt": "Rosa Translúcido", - "ko": "반투명 핑크", - "ja": "トランスルーセント ピンク", - "en": "Translucent Pink", - "ru": "Розовый", - "it": "Rosa traslucido", - "fr": "Rose translucide", - "hu": "Áttetsző rózsaszín", - "zh": "透明粉", - "nl": "Doorschijnend roze", - "es": "Rosa translúcido" - }, - "fila_color": [ - "#F9C1BD80" - ] - }, - { - "fila_color_code": "33300", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#F75403FF" - ] - }, - { - "fila_color_code": "33600", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#002E96FF" - ] - }, - { - "fila_color_code": "33601", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Blauer See", - "sv": "Sjöblå", - "pt": "Lago Azul", - "ko": "레이크 블루", - "ja": "レイク ブルー", - "en": "Lake Blue", - "ru": "Голубой", - "it": "Blu lago", - "fr": "Bleu lac", - "hu": "Vízkék", - "zh": "湖蓝", - "nl": "Meerblauw", - "es": "Azul Lago" - }, - "fila_color": [ - "#1F79E5FF" - ] - }, - { - "fila_color_code": "33101", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#ADB1B2FF" - ] - }, - { - "fila_color_code": "33103", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Dunkelgrau", - "sv": "Mörkgrå", - "pt": "Cinza-escuro", - "ko": "다크 그레이", - "ja": "ダーク グレー", - "en": "Dark Gray", - "ru": "Тёмно-серый", - "it": "Grigio scuro", - "fr": "Gris foncé", - "hu": "Sötétszürke", - "zh": "深灰", - "nl": "Donkergrijs", - "es": "Gris oscuro" - }, - "fila_color": [ - "#515151FF" - ] - }, - { - "fila_color_code": "33500", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#00AE42FF" - ] - }, - { - "fila_color_code": "33501", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Limettengrün", - "sv": "Limegrön", - "pt": "Verde-limão", - "ko": "라임 그린", - "ja": "ライム グリーン", - "en": "Lime Green", - "ru": "Салатовый", - "it": "Verde lime", - "fr": "Vert citron", - "hu": "Limezöld", - "zh": "柠檬绿", - "nl": "Limoengroen", - "es": "Verde lima" - }, - "fila_color": [ - "#6EE53CFF" - ] - }, - { - "fila_color_code": "33502", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Waldgrün", - "sv": "Skogsgrön", - "pt": "Verde-floresta", - "ko": "포레스트 그린", - "ja": "フォレスト グリーン", - "en": "Forest Green", - "ru": "Лесной зелёный", - "it": "Verde foresta", - "fr": "Vert forêt", - "hu": "Erdőzöld", - "zh": "丛林绿", - "nl": "Bosgroen", - "es": "Verde bosque" - }, - "fila_color": [ - "#39541AFF" - ] - }, - { - "fila_color_code": "33102", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "33801", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Erdnussbraun", - "sv": "Jordnötsbrun", - "pt": "Peanut Brown", - "ko": "피넛 브라운", - "ja": "ピーナッツ ブラウン", - "en": "Peanut Brown", - "ru": "Ореховый", - "it": "Cognac", - "fr": "Marron cacahuète", - "hu": "Mogyoróbarna", - "zh": "花生棕", - "nl": "Pindabruin", - "es": "Marrón cacahuete" - }, - "fila_color": [ - "#875718FF" - ] - }, - { - "fila_color_code": "33200", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#BC0900FF" - ] - }, - { - "fila_color_code": "33100", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "33400", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FFD00BFF" - ] - }, - { - "fila_color_code": "33401", - "fila_id": "GFG02", - "fila_color_type": "单色", - "fila_type": "PETG HF", - "fila_color_name": { - "de": "Creme", - "sv": "Cremevit", - "pt": "Creme", - "ko": "크림", - "ja": "クリーム", - "en": "Cream", - "ru": "Кремовый", - "it": "Panna", - "fr": "Crème", - "hu": "Törtfehér", - "zh": "奶油白", - "nl": "Roomkleurig", - "es": "Crema" - }, - "fila_color": [ - "#F9DFB9FF" - ] - }, - { - "fila_color_code": "31600", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Indigo-Blau", - "sv": "Indigoblå", - "pt": "Indigo Blue", - "ko": "인디고 블루", - "ja": "インディゴ ブルー", - "en": "Indigo Blue", - "ru": "Индиго", - "it": "Blu indaco", - "fr": "Bleu indigo", - "hu": "Indigókék", - "zh": "靛蓝色", - "nl": "Indigoblauw", - "es": "Azul índigo" - }, - "fila_color": [ - "#324585FF" - ] - }, - { - "fila_color_code": "31101", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Titangrau", - "sv": "Titangrå", - "pt": "Titan Gray", - "ko": "타이탄 그레이", - "ja": "チタン グレー", - "en": "Titan Gray", - "ru": "Титановый", - "it": "Grigio titanio", - "fr": "Gris titane", - "hu": "Titánszürke", - "zh": "钛灰色", - "nl": "Titaangrijs", - "es": "Gris titán" - }, - "fila_color": [ - "#565656FF" - ] - }, - { - "fila_color_code": "31500", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Malachitgrün", - "sv": "Malakitgrön", - "pt": "Verde Malaquita", - "ko": "말라카이트 그린", - "ja": "マラカイト グリーン", - "en": "Malachite Green", - "ru": "Малахитовый", - "it": "Verde malachite", - "fr": "Vert malachite", - "hu": "Malachitzöld", - "zh": "孔雀绿", - "nl": "Malachietgroen", - "es": "Verde malaquita" - }, - "fila_color": [ - "#16b08eFF" - ] - }, - { - "fila_color_code": "31100", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "31700", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Lila-Violett", - "sv": "Violettlila", - "pt": "Violeta Roxo", - "ko": "바이올렛 퍼플", - "ja": "バイオレット パープル", - "en": "Violet Purple", - "ru": "Фиолетовый", - "it": "Viola", - "fr": "Violet pourpre", - "hu": "Viola", - "zh": "紫罗兰色", - "nl": "Violetpaars", - "es": "Violeta púrpura" - }, - "fila_color": [ - "#583061FF" - ] - }, - { - "fila_color_code": "31200", - "fila_id": "GFG50", - "fila_color_type": "单色", - "fila_type": "PETG-CF", - "fila_color_name": { - "de": "Ziegelrot", - "sv": "Tegelröd", - "pt": "Vermelho Tijolo", - "ko": "브릭 레드", - "ja": "ブリック レッド", - "en": "Brick Red", - "ru": "Кирпичный", - "it": "Rosso mattone", - "fr": "Rouge brique", - "hu": "Téglavörös", - "zh": "砖红色", - "nl": "Steenrood", - "es": "Rojo ladrillo" - }, - "fila_color": [ - "#9f332aFF" - ] - }, - { - "fila_color_code": "70100", - "fila_id": "GFN04", - "fila_color_type": "单色", - "fila_type": "PAHT-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "72100", - "fila_id": "GFN05", - "fila_color_type": "单色", - "fila_type": "PA6-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "73100", - "fila_id": "GFN06", - "fila_color_type": "单色", - "fila_type": "PPA-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "72600", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#75AED8FF" - ] - }, - { - "fila_color_code": "72102", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#EAEAE4FF" - ] - }, - { - "fila_color_code": "72103", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#353533FF" - ] - }, - { - "fila_color_code": "72500", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Limette", - "sv": "Lime", - "pt": "Lima", - "ko": "라임", - "ja": "ライム", - "en": "Lime", - "ru": "Салатовый", - "it": "Lime", - "fr": "Citron vert", - "hu": "Lime", - "zh": "柠檬绿", - "nl": "Limoen", - "es": "Lima" - }, - "fila_color": [ - "#C5ED48FF" - ] - }, - { - "fila_color_code": "72104", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "72800", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Braun", - "sv": "Brun", - "pt": "Marrom", - "ko": "브라운", - "ja": "ブラウン", - "en": "Brown", - "ru": "Коричневый", - "it": "Marrone", - "fr": "Marron", - "hu": "Barna", - "zh": "棕色", - "nl": "Bruin", - "es": "Marrón" - }, - "fila_color": [ - "#5B492FFF" - ] - }, - { - "fila_color_code": "72200", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Orange", - "sv": "Orange", - "pt": "Laranja", - "ko": "오렌지", - "ja": "オレンジ", - "en": "Orange", - "ru": "Оранжевый", - "it": "Arancione", - "fr": "Orange", - "hu": "Narancssárga", - "zh": "橙色", - "nl": "Oranje", - "es": "Naranja" - }, - "fila_color": [ - "#FF4800FF" - ] - }, - { - "fila_color_code": "72400", - "fila_id": "GFN08", - "fila_color_type": "单色", - "fila_type": "PA6-GF", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#FFCE00FF" - ] - }, - { - "fila_color_code": "65101", - "fila_id": "GFS02", - "fila_color_type": "单色", - "fila_type": "Support for PLA", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "65100", - "fila_id": "GFS02", - "fila_color_type": "单色", - "fila_type": "Support for PLA", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "65500", - "fila_id": "GFS03", - "fila_color_type": "单色", - "fila_type": "Support for PA/PET", - "fila_color_name": { - "de": "Grün", - "sv": "Grön", - "pt": "Verde", - "ko": "그린", - "ja": "グリーン", - "en": "Green", - "ru": "Зелёный", - "it": "Verde", - "fr": "Vert", - "hu": "Zöld", - "zh": "绿色", - "nl": "Groen", - "es": "Verde" - }, - "fila_color": [ - "#C0DF16FF" - ] - }, - { - "fila_color_code": "66400", - "fila_id": "GFS04", - "fila_color_type": "单色", - "fila_type": "PVA", - "fila_color_name": { - "de": "Klar", - "sv": "Klar", - "pt": "Claro", - "ko": "클리어", - "ja": "クリア", - "en": "Clear", - "ru": "Чистый", - "it": "Trasparente", - "fr": "Transparent", - "hu": "Átlátszó", - "zh": "透明浅黄色", - "nl": "Helder", - "es": "Transparente" - }, - "fila_color": [ - "#F0F1A880" - ] - }, - { - "fila_color_code": "65102", - "fila_id": "GFS05", - "fila_color_type": "单色", - "fila_type": "Support for PLA/PETG", - "fila_color_name": { - "de": "Natur", - "sv": "Natur", - "pt": "Natureza", - "ko": "네이처", - "ja": "ネイチャー", - "en": "Nature", - "ru": "Естественный", - "it": "Naturale", - "fr": "Nature", - "hu": "Natúr", - "zh": "半透明", - "nl": "Natuurlijk", - "es": "Naturaleza" - }, - "fila_color": [ - "#00000000" - ] - }, - { - "fila_color_code": "65103", - "fila_id": "GFS05", - "fila_color_type": "单色", - "fila_type": "Support for PLA/PETG", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "66100", - "fila_id": "GFS06", - "fila_color_type": "单色", - "fila_type": "Support for ABS", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "71100", - "fila_id": "GFT01", - "fila_color_type": "单色", - "fila_type": "PET-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "76100", - "fila_id": "GFT02", - "fila_color_type": "单色", - "fila_type": "PPS-CF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "51600", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#0072CEFF" - ] - }, - { - "fila_color_code": "51101", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#898D8DFF" - ] - }, - { - "fila_color_code": "51100", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#101820FF" - ] - }, - { - "fila_color_code": "51200", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#C8102EFF" - ] - }, - { - "fila_color_code": "51102", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "51400", - "fila_id": "GFU00", - "fila_color_type": "单色", - "fila_type": "TPU 95A HF", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#F3E600FF" - ] - }, - { - "fila_color_code": "50101", - "fila_id": "GFU01", - "fila_color_type": "单色", - "fila_type": "TPU 95A", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "50100", - "fila_id": "GFU01", - "fila_color_type": "单色", - "fila_type": "TPU 95A", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "53600", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Blau", - "sv": "Blå", - "pt": "Azul", - "ko": "블루", - "ja": "ブルー", - "en": "Blue", - "ru": "Синий", - "it": "Blu", - "fr": "Bleu", - "hu": "Kék", - "zh": "蓝色", - "nl": "Blauw", - "es": "Azul" - }, - "fila_color": [ - "#5898DDFF" - ] - }, - { - "fila_color_code": "53102", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#939393FF" - ] - }, - { - "fila_color_code": "53500", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Neongrün", - "sv": "Neongrön", - "pt": "Verde-neon", - "ko": "네온 그린", - "ja": "ネオン グリーン", - "en": "Neon Green", - "ru": "Неоновый зелёный", - "it": "Verde neon", - "fr": "Vert fluo", - "hu": "Neonzöld", - "zh": "荧光绿", - "nl": "Neongroen", - "es": "Verde neón" - }, - "fila_color": [ - "#90FF1AFF" - ] - }, - { - "fila_color_code": "53101", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Schwarz", - "sv": "Svart", - "pt": "Preto", - "ko": "블랙", - "ja": "ブラック", - "en": "Black", - "ru": "Чёрный", - "it": "Nero", - "fr": "Noir", - "hu": "Fekete", - "zh": "黑色", - "nl": "Zwart", - "es": "Negro" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "53200", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Rot", - "sv": "Röd", - "pt": "Vermelho", - "ko": "레드", - "ja": "レッド", - "en": "Red", - "ru": "Красный", - "it": "Rosso", - "fr": "Rouge", - "hu": "Piros", - "zh": "红色", - "nl": "Rood", - "es": "Rojo" - }, - "fila_color": [ - "#ED0000FF" - ] - }, - { - "fila_color_code": "53100", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Weiß", - "sv": "Vit", - "pt": "Branco", - "ko": "화이트", - "ja": "ホワイト", - "en": "White", - "ru": "Белый", - "it": "Bianco", - "fr": "Blanc", - "hu": "Fehér", - "zh": "白色", - "nl": "Wit", - "es": "Blanco" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "53400", - "fila_id": "GFU02", - "fila_color_type": "单色", - "fila_type": "TPU for AMS", - "fila_color_name": { - "de": "Gelb", - "sv": "Gul", - "pt": "Amarelo", - "ko": "옐로우", - "ja": "イエロー", - "en": "Yellow", - "ru": "Жёлтый", - "it": "Giallo", - "fr": "Jaune", - "hu": "Sárga", - "zh": "黄色", - "nl": "Geel", - "es": "Amarillo" - }, - "fila_color": [ - "#F9EF41FF" - ] - }, - { - "fila_color_code": "16100", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Black", - "ru": "Чёрный", - "it": "", - "fr": "", - "hu": "", - "zh": "黑色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "16400", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Yellow", - "ru": "Жёлтый", - "it": "", - "fr": "", - "hu": "", - "zh": "黄色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#EFE255FF" - ] - }, - { - "fila_color_code": "16103", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "White", - "ru": "Белый", - "it": "", - "fr": "", - "hu": "", - "zh": "白色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "16600", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Cyan", - "ru": "Голубой", - "it": "", - "fr": "", - "hu": "", - "zh": "天蓝色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#4DAFDAFF" - ] - }, - { - "fila_color_code": "16200", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Red", - "ru": "Красный", - "it": "", - "fr": "", - "hu": "", - "zh": "深红色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#C6001AFF" - ] - }, - { - "fila_color_code": "16101", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "Grau", - "sv": "Grå", - "pt": "Cinza", - "ko": "그레이", - "ja": "グレー", - "en": "Gray", - "ru": "Серый", - "it": "Grigio", - "fr": "Gris", - "hu": "Szürke", - "zh": "灰色", - "nl": "Grijs", - "es": "Gris" - }, - "fila_color": [ - "#999D9DFF" - ] - }, - { - "fila_color_code": "13210", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Red", - "ru": "Красный", - "it": "", - "fr": "", - "hu": "", - "zh": "透明红", - "nl": "", - "es": "" - }, - "fila_color": [ - "#B5001180" - ] - }, - { - "fila_color_code": "13211", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Cherry Pink", - "ru": "Вишнёвый", - "it": "", - "fr": "", - "hu": "", - "zh": "果冻粉", - "nl": "", - "es": "" - }, - "fila_color": [ - "#F5B6CD80" - ] - }, - { - "fila_color_code": "13301", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Orange", - "ru": "Оранжевый", - "it": "", - "fr": "", - "hu": "", - "zh": "透明橙", - "nl": "", - "es": "" - }, - "fila_color": [ - "#F74E0280" - ] - }, - { - "fila_color_code": "13410", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Mellow Yellow", - "ru": "Ярко-жёлтый", - "it": "", - "fr": "", - "hu": "", - "zh": "黄水晶", - "nl": "", - "es": "" - }, - "fila_color": [ - "#F5DBAB80" - ] - }, - { - "fila_color_code": "13510", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Light Jade", - "ru": "Светлый нефрит", - "it": "", - "fr": "", - "hu": "", - "zh": "浅青玉", - "nl": "", - "es": "" - }, - "fila_color": [ - "#96D8AF80" - ] - }, - { - "fila_color_code": "13610", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Ice Blue", - "ru": "Голубой лёд", - "it": "", - "fr": "", - "hu": "", - "zh": "冰蓝", - "nl": "", - "es": "" - }, - "fila_color": [ - "#B8CDE980" - ] - }, - { - "fila_color_code": "13611", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Blue", - "ru": "Синий", - "it": "", - "fr": "", - "hu": "", - "zh": "透明蓝", - "nl": "", - "es": "" - }, - "fila_color": [ - "#0047BB80" - ] - }, - { - "fila_color_code": "13612", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Teal", - "ru": "Морской", - "it": "", - "fr": "", - "hu": "", - "zh": "蓝绿色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#009FA180" - ] - }, - { - "fila_color_code": "13710", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Purple", - "ru": "Пурпурный", - "it": "", - "fr": "", - "hu": "", - "zh": "透明紫", - "nl": "", - "es": "" - }, - "fila_color": [ - "#8344B080" - ] - }, - { - "fila_color_code": "13711", - "fila_id": "GFA17", - "fila_color_type": "单色", - "fila_type": "PLA Translucent", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Lavender", - "ru": "Лавандовый", - "it": "", - "fr": "", - "hu": "", - "zh": "紫罗兰", - "nl": "", - "es": "" - }, - "fila_color": [ - "#B8ACD680" - ] - }, - { - "fila_color_code": "13906", - "fila_id": "GFA05", - "fila_color_type": "渐变色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "South Beach", - "ru": "Южный пляж", - "it": "", - "fr": "", - "hu": "", - "zh": "马卡龙", - "nl": "", - "es": "" - }, - "fila_color": [ - "#00918BFF", - "#F772A4FF" - ] - }, - { - "fila_color_code": "13909", - "fila_id": "GFA05", - "fila_color_type": "渐变色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Aurora Purple", - "ru": "Пурпурное сияние", - "it": "", - "fr": "", - "hu": "", - "zh": "星云紫", - "nl": "", - "es": "" - }, - "fila_color": [ - "#7F3696FF", - "#006EC9FF" - ] - }, - { - "fila_color_code": "13912", - "fila_id": "GFA05", - "fila_color_type": "渐变色", - "fila_type": "PLA Silk", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Dawn Radiance", - "ru": "Сияющий рассвет", - "it": "", - "fr": "", - "hu": "", - "zh": "浅彩虹", - "nl": "", - "es": "" - }, - "fila_color": [ - "#EC984CFF", - "#6CD4BCFF", - "#A66EB9FF", - "#D87694FF" - ] - }, - { - "fila_color_code": "51103", - "fila_id": "GFU03", - "fila_color_type": "单色", - "fila_type": "TPU 90A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Black", - "ru": "Чёрный", - "it": "", - "fr": "", - "hu": "", - "zh": "黑色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "51105", - "fila_id": "GFU03", - "fila_color_type": "单色", - "fila_type": "TPU 90A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "White", - "ru": "Белый", - "it": "", - "fr": "", - "hu": "", - "zh": "白色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "51305", - "fila_id": "GFU04", - "fila_color_type": "单色", - "fila_type": "TPU 85A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Neon Orange", - "ru": "Неоновый оранжевый", - "it": "", - "fr": "", - "hu": "", - "zh": "暖橙色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#F68B1BFF" - ] - }, - { - "fila_color_code": "51500", - "fila_id": "GFU04", - "fila_color_type": "单色", - "fila_type": "TPU 85A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Light Cyan", - "ru": "Светло-голубой", - "it": "", - "fr": "", - "hu": "", - "zh": "苍青色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#C3E2D6FF" - ] - }, - { - "fila_color_code": "51900", - "fila_id": "GFU03", - "fila_color_type": "渐变色", - "fila_type": "TPU 90A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Frozen", - "ru": "Морозный", - "it": "", - "fr": "", - "hu": "", - "zh": "冰封蓝", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFFFFFFF", - "#40B6E4FF" - ] - }, - { - "fila_color_code": "51901", - "fila_id": "GFU03", - "fila_color_type": "渐变色", - "fila_type": "TPU 90A", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Blaze", - "ru": "Пламя", - "it": "", - "fr": "", - "hu": "", - "zh": "西瓜红", - "nl": "", - "es": "" - }, - "fila_color": [ - "#D21B3CFF", - "#F1AAA8FF" - ] - }, - { - "fila_color_code": "65104", - "fila_id": "GFS02", - "fila_color_type": "单色", - "fila_type": "Support for PLA", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "White", - "ru": "Белый", - "it": "", - "fr": "", - "hu": "", - "zh": "白色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "12104", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Black", - "ru": "Чёрный", - "it": "", - "fr": "", - "hu": "", - "zh": "黑色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#000000FF" - ] - }, - { - "fila_color_code": "12105", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Gray", - "ru": "Серый", - "it": "", - "fr": "", - "hu": "", - "zh": "浅灰色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#AFB1AEFF" - ] - }, - { - "fila_color_code": "12106", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Silver", - "ru": "Серебристый", - "it": "", - "fr": "", - "hu": "", - "zh": "银色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#959698FF" - ] - }, - { - "fila_color_code": "12107", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "White", - "ru": "Белый", - "it": "", - "fr": "", - "hu": "", - "zh": "白色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFFFFFFF" - ] - }, - { - "fila_color_code": "12301", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Orange", - "ru": "Оранжевый", - "it": "", - "fr": "", - "hu": "", - "zh": "橙色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#DC3A27FF" - ] - }, - { - "fila_color_code": "12401", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Yellow", - "ru": "Жёлтый", - "it": "", - "fr": "", - "hu": "", - "zh": "亮黄色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#F4D53FFF" - ] - }, - { - "fila_color_code": "12601", - "fila_id": "GFA10", - "fila_color_type": "单色", - "fila_type": "PLA Tough+", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Cyan", - "ru": "Голубой", - "it": "", - "fr": "", - "hu": "", - "zh": "天蓝色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#009BD8FF" - ] - }, - { - "fila_color_code": "13100", - "fila_id": "GFA02", - "fila_color_type": "单色", - "fila_type": "PLA Metal", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Iron Gray Metallic", - "ru": "Серое железо", - "it": "", - "fr": "", - "hu": "", - "zh": "深空灰", - "nl": "", - "es": "" - }, - "fila_color": [ - "#43403DFF" - ] - }, - { - "fila_color_code": "13400", - "fila_id": "GFA02", - "fila_color_type": "单色", - "fila_type": "PLA Metal", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Iridium Gold Metallic", - "ru": "Золотистый иридий", - "it": "", - "fr": "", - "hu": "", - "zh": "香槟金", - "nl": "", - "es": "" - }, - "fila_color": [ - "#B39B84FF" - ] - }, - { - "fila_color_code": "13500", - "fila_id": "GFA02", - "fila_color_type": "单色", - "fila_type": "PLA Metal", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Oxide Green Metallic", - "ru": "Зелёный оксид", - "it": "", - "fr": "", - "hu": "", - "zh": "极光绿", - "nl": "", - "es": "" - }, - "fila_color": [ - "#1D7C6AFF" - ] - }, - { - "fila_color_code": "13600", - "fila_id": "GFA02", - "fila_color_type": "单色", - "fila_type": "PLA Metal", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Cobalt Blue Metallic", - "ru": "Кобальт", - "it": "", - "fr": "", - "hu": "", - "zh": "典雅蓝", - "nl": "", - "es": "" - }, - "fila_color": [ - "#39699EFF" - ] - }, - { - "fila_color_code": "13800", - "fila_id": "GFA02", - "fila_color_type": "单色", - "fila_type": "PLA Metal", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Copper Brown Metallic", - "ru": "Коричневая медь", - "it": "", - "fr": "", - "hu": "", - "zh": "咖啡金", - "nl": "", - "es": "" - }, - "fila_color": [ - "#AA6443FF" - ] - }, - { - "fila_color_code": "16601", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Blue", - "ru": "Синий", - "it": "", - "fr": "", - "hu": "", - "zh": "蓝色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#004EA8FF" - ] - }, - { - "fila_color_code": "16401", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Sunflower Yellow", - "ru": "Жёлтый подсолнух", - "it": "", - "fr": "", - "hu": "", - "zh": "橙黄色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FFB549FF" - ] - }, - { - "fila_color_code": "16501", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Green", - "ru": "Зелёный", - "it": "", - "fr": "", - "hu": "", - "zh": "绿色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#00BB31FF" - ] - }, - { - "fila_color_code": "16301", - "fila_id": "GFA18", - "fila_color_type": "单色", - "fila_type": "PLA Lite", - "fila_color_name": { - "de": "", - "sv": "", - "pt": "", - "ko": "", - "ja": "", - "en": "Orange", - "ru": "Оранжевый", - "it": "", - "fr": "", - "hu": "", - "zh": "橙色", - "nl": "", - "es": "" - }, - "fila_color": [ - "#FF671FFF" - ] - } - ], - "total": 294 -} + "data": [ + { + "fila_color_code": "10300", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "A0", + "fila_color": [ + "#FF6A13FF" + ] + }, + { + "fila_color_code": "10301", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Kürbis-Orange", + "sv": "Pumpaorange", + "pt": "Abóbora Laranja", + "ko": "펌프킨 오렌지", + "ja": "パンプキン オレンジ", + "en": "Pumpkin Orange", + "it": "Arancione zucca", + "fr": "Orange citrouille", + "hu": "Sütőtök", + "zh": "南瓜橙", + "nl": "Pompoenoranje", + "es": "Naranja calabaza" + }, + "color_code": "A1", + "fila_color": [ + "#FF9016FF" + ] + }, + { + "fila_color_code": "10602", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Blau-Grau", + "sv": "Blågrå", + "pt": "Azul-Cinza", + "ko": "블루 그레이", + "ja": "ブルー グレー", + "en": "Blue Gray", + "it": "Grigio blu", + "fr": "Bleu gris", + "hu": "Kékesszürke", + "zh": "蓝灰", + "nl": "Blauwgrijs", + "es": "Gris azulado" + }, + "color_code": "B1", + "fila_color": [ + "#5B6579FF" + ] + }, + { + "fila_color_code": "10604", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Kobaltblau", + "sv": "Koboltblå", + "pt": "Azul-cobalto", + "ko": "코발트 블루", + "ja": "コバルト ブルー", + "en": "Cobalt Blue", + "it": "Blu cobalto", + "fr": "Bleu cobalt", + "hu": "Kobaltkék", + "zh": "钴蓝色", + "nl": "Kobaltblauw", + "es": "Azul cobalto" + }, + "color_code": "B3", + "fila_color": [ + "#0056B8FF" + ] + }, + { + "fila_color_code": "10605", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Türkis", + "sv": "Turkos", + "pt": "Turquesa", + "ko": "터쿼이즈", + "ja": "ターコイズ", + "en": "Turquoise", + "it": "Turchese", + "fr": "Turquoise", + "hu": "Türkiz", + "zh": "松石绿", + "nl": "Turkoois", + "es": "Turquesa" + }, + "color_code": "B5", + "fila_color": [ + "#00B1B7FF" + ] + }, + { + "fila_color_code": "10603", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Cyan", + "sv": "Cyan", + "pt": "Ciano", + "ko": "시안", + "ja": "シアン", + "en": "Cyan", + "it": "Ciano", + "fr": "Cyan", + "hu": "Cián", + "zh": "青色", + "nl": "Cyaan", + "es": "Cian" + }, + "color_code": "B8", + "fila_color": [ + "#0086D6FF" + ] + }, + { + "fila_color_code": "10601", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B9", + "fila_color": [ + "#0A2989FF" + ] + }, + { + "fila_color_code": "10103", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#8E9089FF" + ] + }, + { + "fila_color_code": "10102", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Silber", + "sv": "Silver", + "pt": "Prateado", + "ko": "실버", + "ja": "シルバー", + "en": "Silver", + "it": "Argento", + "fr": "Argenté", + "hu": "Ezüst", + "zh": "银色", + "nl": "Zilver", + "es": "Plateado" + }, + "color_code": "D1", + "fila_color": [ + "#A6A9AAFF" + ] + }, + { + "fila_color_code": "10104", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Hellgrau", + "sv": "Ljusgrå", + "pt": "Cinza-claro", + "ko": "라이트 그레이", + "ja": "ライト グレー", + "en": "Light Gray", + "it": "Grigio chiaro", + "fr": "Gris clair", + "hu": "Világosszürke", + "zh": "浅灰", + "nl": "Lichtgrijs", + "es": "Gris claro" + }, + "color_code": "D2", + "fila_color": [ + "#D1D3D5FF" + ] + }, + { + "fila_color_code": "10105", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Dunkelgrau", + "sv": "Mörkgrå", + "pt": "Cinza-escuro", + "ko": "다크 그레이", + "ja": "ダーク グレー", + "en": "Dark Gray", + "it": "Grigio scuro", + "fr": "Gris foncé", + "hu": "Sötétszürke", + "zh": "深灰", + "nl": "Donkergrijs", + "es": "Gris oscuro" + }, + "color_code": "D3", + "fila_color": [ + "#545454FF" + ] + }, + { + "fila_color_code": "10502", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Mistelzweig-Grün", + "sv": "Mistelgrön", + "pt": "Mistletoe Green", + "ko": "미슬토 그린", + "ja": "ミスルトー グリーン", + "en": "Mistletoe Green", + "it": "Verde vischio", + "fr": "Vert gui", + "hu": "Fagyöngyzöld", + "zh": "圣诞绿", + "nl": "Maretakgroen", + "es": "Verde muérdago" + }, + "color_code": "G2", + "fila_color": [ + "#3F8E43FF" + ] + }, + { + "fila_color_code": "10503", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Hellgrün", + "sv": "Ljusgrön", + "pt": "Verde Brilhante", + "ko": "브라이트 그린", + "ja": "ブライト グリーン", + "en": "Bright Green", + "it": "Verde brillante", + "fr": "Vert vif", + "hu": "Világoszöld", + "zh": "苹果绿", + "nl": "Felgroen", + "es": "Verde brillante" + }, + "color_code": "G3", + "fila_color": [ + "#BECF00FF" + ] + }, + { + "fila_color_code": "10501", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Bambusgrün", + "sv": "Bambugrön", + "pt": "Verde-bambu", + "ko": "뱀부 그린", + "ja": "バンブー グリーン", + "en": "Bambu Green", + "it": "Verde bambù", + "fr": "Vert bambou", + "hu": "Bambu-zöld", + "zh": "拓竹绿", + "nl": "Bamboegroen", + "es": "Verde bambú" + }, + "color_code": "G6", + "fila_color": [ + "#00AE42FF" + ] + }, + { + "fila_color_code": "10101", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "10900", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Arktisches Flüstern", + "sv": "Arktisk viskning", + "pt": "Arctic Whisper", + "ko": "아크틱 위스퍼", + "ja": "アークティック ウィスパー", + "en": "Arctic Whisper", + "it": "Arctic Whisper", + "fr": "Murmure arctique", + "hu": "Sarkköri suttogás", + "zh": "蓝白渐变", + "nl": "Vleugje noordpool", + "es": "Susurro ártico" + }, + "color_code": "M0", + "fila_color": [ + "#9CDBD9FF", + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "10901", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Sonnenbrise", + "sv": "Solbris", + "pt": "Brisa Solar", + "ko": "솔라 브리즈", + "ja": "ソーラー ブリーズ", + "en": "Solar Breeze", + "it": "Solar Breeze", + "fr": "Brise solaire", + "hu": "Napszellő", + "zh": "红白渐变", + "nl": "Zonnebries", + "es": "Brisa solar" + }, + "color_code": "M1", + "fila_color": [ + "#E94B3CFF", + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "10902", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Meer und Wiese", + "sv": "Ocean till äng", + "pt": "Ocean to Meadow", + "ko": "오션에서 메도우로", + "ja": "オーシャン トゥ メドウ", + "en": "Ocean to Meadow", + "it": "Azzurro/verde con gradazione", + "fr": "Océan à Prairie", + "hu": "Óceántól a rétig", + "zh": "蓝绿渐变", + "nl": "Van oceaanblauw naar weidegroen", + "es": "Del océano a la pradera" + }, + "color_code": "M2", + "fila_color": [ + "#307FE2FF", + "#54FF9BFF" + ] + }, + { + "fila_color_code": "10903", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Zitrus-Pink", + "sv": "Rosa citrus", + "pt": "Pink Citrus", + "ko": "핑크 시트러스", + "ja": "ピンク シトラス", + "en": "Pink Citrus", + "it": "Rosa citrus", + "fr": "Agrume rose", + "hu": "Rózsaszín-citrus", + "zh": "霞光粉", + "nl": "Roze citrus", + "es": "Rosa cítrico" + }, + "color_code": "M3", + "fila_color": [ + "#F78F77FF", + "#E4505AFF" + ] + }, + { + "fila_color_code": "10904", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Minze-Limette", + "sv": "Mintlime", + "pt": "Menta-lima", + "ko": "민트 라임", + "ja": "ミント ライム", + "en": "Mint Lime", + "it": "Lime menta", + "fr": "Menthe citron vert", + "hu": "Menta-lime", + "zh": "青柠绿", + "nl": "Muntlimoen", + "es": "Lima menta" + }, + "color_code": "M4", + "fila_color": [ + "#B6FF43FF", + "#4EC939FF" + ] + }, + { + "fila_color_code": "10905", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Blaubeere-Bubblegum", + "sv": "Blåbärsbubbelgum", + "pt": "Chiclete de Mirtilo", + "ko": "블루베리 버블검", + "ja": "ブルーベリー バブルガム", + "en": "Blueberry Bubblegum", + "it": "Mirtillo", + "fr": "Chewing-gum myrtilles", + "hu": "Áfonyás rágógumi", + "zh": "泡泡紫", + "nl": "Bosbessenkauwgum", + "es": "Chicle de arándano" + }, + "color_code": "M5", + "fila_color": [ + "#6FCAEFFF", + "#8573DDFF" + ] + }, + { + "fila_color_code": "10906", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Leuchtende Abenddämmerung", + "sv": "Skymningsljus", + "pt": "Brilho do Crepúsculo", + "ko": "더스크 글래어", + "ja": "ダスク グレア", + "en": "Dusk Glare", + "it": "Dusk Glare", + "fr": "Éclat crépusculaire", + "hu": "Alkonyati csillámlás", + "zh": "日落橙", + "nl": "Schemerlicht", + "es": "Resplandor del crepúsculo" + }, + "color_code": "M6", + "fila_color": [ + "#CE4406FF", + "#ED9558FF" + ] + }, + { + "fila_color_code": "10907", + "fila_id": "GFA00", + "fila_color_type": "渐变色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Zuckerwatten-Wolke", + "sv": "Sockervaddsmoln", + "pt": "Cotton Candy Cloud", + "ko": "코튼 캔디 클라우드", + "ja": "コットン キャンディ クラウド", + "en": "Cotton Candy Cloud", + "it": "Zucchero filato", + "fr": "Nuage de barbe à papa", + "hu": "Vattacukorfelhő", + "zh": "多巴胺(粉蓝渐变)", + "nl": "Suikerspinwolk", + "es": "Nube de algodón de azúcar" + }, + "color_code": "M7", + "fila_color": [ + "#E7C1D5FF", + "#8EC9E9FF" + ] + }, + { + "fila_color_code": "10800", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Braun", + "sv": "Brun", + "pt": "Marrom", + "ko": "브라운", + "ja": "ブラウン", + "en": "Brown", + "it": "Marrone", + "fr": "Marron", + "hu": "Barna", + "zh": "棕色", + "nl": "Bruin", + "es": "Marrón" + }, + "color_code": "N0", + "fila_color": [ + "#9D432CFF" + ] + }, + { + "fila_color_code": "10802", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Kakaobraun", + "sv": "Kakaobrun", + "pt": "Cacau Marrom", + "ko": "코코아 브라운", + "ja": "ココア ブラウン", + "en": "Cocoa Brown", + "it": "Marrone cacao", + "fr": "Marron cacao", + "hu": "Kakaóbarna", + "zh": "可可棕", + "nl": "Chocoladebruin", + "es": "Marrón cacao" + }, + "color_code": "N1", + "fila_color": [ + "#6F5034FF" + ] + }, + { + "fila_color_code": "10201", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Beige", + "sv": "Beige", + "pt": "Bege", + "ko": "베이지", + "ja": "ベージュ", + "en": "Beige", + "it": "Beige", + "fr": "Beige", + "hu": "Bézs", + "zh": "杏色", + "nl": "Beige", + "es": "Beis" + }, + "color_code": "P0", + "fila_color": [ + "#F7E6DEFF" + ] + }, + { + "fila_color_code": "10203", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Pink", + "sv": "Rosa", + "pt": "Rosa", + "ko": "핑크", + "ja": "ピンク", + "en": "Pink", + "it": "Rosa", + "fr": "Rose", + "hu": "Rózsaszín", + "zh": "粉色", + "nl": "Roze", + "es": "Rosa" + }, + "color_code": "P1", + "fila_color": [ + "#F55A74FF" + ] + }, + { + "fila_color_code": "10701", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Indigo-Violett", + "sv": "Indigolila", + "pt": "Indigo Purple", + "ko": "인디고 퍼플", + "ja": "インディゴ パープル", + "en": "Indigo Purple", + "it": "Viola indaco", + "fr": "Violet indigo", + "hu": "Indigólila", + "zh": "绀紫色", + "nl": "Indigopaars", + "es": "Púrpura índigo" + }, + "color_code": "P2", + "fila_color": [ + "#482960FF" + ] + }, + { + "fila_color_code": "10700", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Lila", + "sv": "Lila", + "pt": "Roxo", + "ko": "퍼플", + "ja": "パープル", + "en": "Purple", + "it": "Viola", + "fr": "Violet", + "hu": "Lila", + "zh": "紫色", + "nl": "Paars", + "es": "Púrpura" + }, + "color_code": "P5", + "fila_color": [ + "#5E43B7FF" + ] + }, + { + "fila_color_code": "10202", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Magenta", + "sv": "Magenta", + "pt": "Magenta", + "ko": "마젠타", + "ja": "マゼンタ", + "en": "Magenta", + "it": "Magenta", + "fr": "Magenta", + "hu": "Magenta", + "zh": "品红", + "nl": "Magenta", + "es": "Magenta" + }, + "color_code": "P6", + "fila_color": [ + "#EC008CFF" + ] + }, + { + "fila_color_code": "10200", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#C12E1FFF" + ] + }, + { + "fila_color_code": "10205", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Kastanienrot", + "sv": "Rödbrun", + "pt": "Maroon Red", + "ko": "마룬 레드", + "ja": "マルーン レッド", + "en": "Maroon Red", + "it": "Rosso bordeaux", + "fr": "Rouge marron", + "hu": "Gesztenyés vörös", + "zh": "胭脂红", + "nl": "Kastanjerood", + "es": "Rojo granate" + }, + "color_code": "R2", + "fila_color": [ + "#9D2235FF" + ] + }, + { + "fila_color_code": "10204", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Heißes Pink", + "sv": "Neonrosa", + "pt": "Rosa-choque", + "ko": "핫핑크", + "ja": "ホット ピンク", + "en": "Hot Pink", + "it": "Fucsia", + "fr": "Rose vif", + "hu": "Forró rózsaszín", + "zh": "桃红色", + "nl": "Felroze", + "es": "Rosa fucsia" + }, + "color_code": "R3", + "fila_color": [ + "#F5547CFF" + ] + }, + { + "fila_color_code": "10100", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Jade-Weiß", + "sv": "Jadevit", + "pt": "Jade Branco", + "ko": "제이드 화이트", + "ja": "ジェイド ホワイト", + "en": "Jade White", + "it": "Bianco giada", + "fr": "Blanc de jade", + "hu": "Jádefehér", + "zh": "玉石白", + "nl": "Jadewit", + "es": "Blanco jade" + }, + "color_code": "W1", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "10400", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#F4EE2AFF" + ] + }, + { + "fila_color_code": "10402", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Sonnenblumen-Gelb", + "sv": "Solrosgul", + "pt": "Girassol Amarelo", + "ko": "썬플라워 옐로우", + "ja": "サンフラワー イエロー", + "en": "Sunflower Yellow", + "it": "Giallo girasole", + "fr": "Jaune tournesol", + "hu": "Napraforgósárga", + "zh": "暖黄色", + "nl": "Zonnebloemgeel", + "es": "Amarillo girasol" + }, + "color_code": "Y2", + "fila_color": [ + "#FEC600FF" + ] + }, + { + "fila_color_code": "10801", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Bronze", + "sv": "Brons", + "pt": "Bronze", + "ko": "브론즈", + "ja": "ブロンズ", + "en": "Bronze", + "it": "Bronzo", + "fr": "Bronze", + "hu": "Bronz", + "zh": "青铜", + "nl": "Bronskleurig", + "es": "Bronce" + }, + "color_code": "Y3", + "fila_color": [ + "#847D48FF" + ] + }, + { + "fila_color_code": "10401", + "fila_id": "GFA00", + "fila_color_type": "单色", + "fila_type": "PLA Basic", + "fila_color_name": { + "de": "Gold", + "sv": "Guld", + "pt": "Dourado", + "ko": "골드", + "ja": "ゴールド", + "en": "Gold", + "it": "Oro", + "fr": "Doré", + "hu": "Arany", + "zh": "金色", + "nl": "Goud", + "es": "Dorado" + }, + "color_code": "Y4", + "fila_color": [ + "#E4BD68FF" + ] + }, + { + "fila_color_code": "11300", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Mandarine-Orange", + "sv": "Mandarinorange", + "pt": "Tangerina", + "ko": "만다린 오렌지", + "ja": "マンダリン オレンジ", + "en": "Mandarin Orange", + "it": "Arancio mandarino", + "fr": "Mandarine", + "hu": "Mandarinsárga", + "zh": "橘橙", + "nl": "Mandarijnoranje", + "es": "Naranja Mandarina" + }, + "color_code": "A2", + "fila_color": [ + "#F99963FF" + ] + }, + { + "fila_color_code": "11603", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Himmelblau", + "sv": "Himmelsblå", + "pt": "Azul-celeste", + "ko": "스카이 블루", + "ja": "スカイ ブルー", + "en": "Sky Blue", + "it": "Azzurro cielo", + "fr": "Bleu ciel", + "hu": "Égszínkék", + "zh": "天蓝色", + "nl": "Hemelsblauw", + "es": "Azul cielo" + }, + "color_code": "B0", + "fila_color": [ + "#56B7E6FF" + ] + }, + { + "fila_color_code": "11600", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Marineblau", + "sv": "Marinblå", + "pt": "Azul-marinho", + "ko": "마린 블루", + "ja": "マリン ブルー", + "en": "Marine Blue", + "it": "Blu marino", + "fr": "Bleu marine", + "hu": "Tengerkék", + "zh": "海蓝", + "nl": "Marineblauw", + "es": "Azul marino" + }, + "color_code": "B3", + "fila_color": [ + "#0078BFFF" + ] + }, + { + "fila_color_code": "11601", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Eisblau", + "sv": "Isblå", + "pt": "Azul-gelo", + "ko": "아이스 블루", + "ja": "アイス ブルー", + "en": "Ice Blue", + "it": "Blu ghiaccio", + "fr": "Bleu glacier", + "hu": "Jégkék", + "zh": "冰蓝", + "nl": "IJsblauw", + "es": "Azul hielo" + }, + "color_code": "B4", + "fila_color": [ + "#A3D8E1FF" + ] + }, + { + "fila_color_code": "11602", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Dunkelblau", + "sv": "Mörkblå", + "pt": "Azul-escuro", + "ko": "다크 블루", + "ja": "ダーク ブルー", + "en": "Dark Blue", + "it": "Blu scuro", + "fr": "Bleu foncé", + "hu": "Sötétkék", + "zh": "暗夜蓝", + "nl": "Donkerblauw", + "es": "Azul oscuro" + }, + "color_code": "B6", + "fila_color": [ + "#042F56FF" + ] + }, + { + "fila_color_code": "11104", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Nardo-Grau", + "sv": "Nardogrå", + "pt": "Nardo Gray", + "ko": "나르도 그레이", + "ja": "ナルド グレイ", + "en": "Nardo Gray", + "it": "Grigio Nardo", + "fr": "Gris nardo", + "hu": "Matt szürke", + "zh": "枪灰色", + "nl": "Nardogrijs", + "es": "Gris nardo" + }, + "color_code": "D0", + "fila_color": [ + "#757575FF" + ] + }, + { + "fila_color_code": "11102", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Aschgrau", + "sv": "Askgrå", + "pt": "Ash Gray", + "ko": "애쉬 그레이", + "ja": "アッシュ グレー", + "en": "Ash Gray", + "it": "Grigio cenere", + "fr": "Gris cendré", + "hu": "Hamuszürke", + "zh": "岩石灰", + "nl": "Asgrijs", + "es": "Gris ceniza" + }, + "color_code": "D3", + "fila_color": [ + "#9B9EA0FF" + ] + }, + { + "fila_color_code": "11502", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Apfelgrün", + "sv": "Äppelgrön", + "pt": "Maçã-Verde", + "ko": "애플 그린", + "ja": "アップル グリーン", + "en": "Apple Green", + "it": "Verde mela", + "fr": "Vert pomme", + "hu": "Almazöld", + "zh": "果绿色", + "nl": "Appelgroen", + "es": "Verde manzana" + }, + "color_code": "G0", + "fila_color": [ + "#C2E189FF" + ] + }, + { + "fila_color_code": "11500", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Grasgrün", + "sv": "Gräsgrön", + "pt": "Grama Verde", + "ko": "그래스 그린", + "ja": "グラス グリーン", + "en": "Grass Green", + "it": "Verde prato", + "fr": "Vert herbacé", + "hu": "Fűzöld", + "zh": "草绿", + "nl": "Grasgroen", + "es": "Verde hierba" + }, + "color_code": "G1", + "fila_color": [ + "#61C680FF" + ] + }, + { + "fila_color_code": "11501", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Dunkelgrün", + "sv": "Mörkgrön", + "pt": "Verde-escuro", + "ko": "다크 그린", + "ja": "ダーク グリーン", + "en": "Dark Green", + "it": "Verde scuro", + "fr": "Vert foncé", + "hu": "Sötétzöld", + "zh": "暗夜绿", + "nl": "Donkergroen", + "es": "Verde oscuro" + }, + "color_code": "G7", + "fila_color": [ + "#68724DFF" + ] + }, + { + "fila_color_code": "11101", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Kohlschwarz", + "sv": "Kolsvart", + "pt": "Carvão", + "ko": "차콜", + "ja": "チャコール", + "en": "Charcoal", + "it": "Carbone", + "fr": "Anthracite", + "hu": "Faszén", + "zh": "炭黑", + "nl": "Donkergrijs", + "es": "Carbón" + }, + "color_code": "K1", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "11802", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Dunkel-Schokoladenbraun", + "sv": "Mörk choklad", + "pt": "Chocolate-escuro", + "ko": "다크 초콜릿", + "ja": "ダーク チョコレート", + "en": "Dark Chocolate", + "it": "Cioccolato", + "fr": "Chocolat noir", + "hu": "Étcsokoládé", + "zh": "深棕色", + "nl": "Donkerchocoladebruin", + "es": "Chocolate oscuro" + }, + "color_code": "N0", + "fila_color": [ + "#4D3324FF" + ] + }, + { + "fila_color_code": "11800", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Milchkaffee-Braun", + "sv": "Lattebrun", + "pt": "Café com Leite", + "ko": "라떼 브라운", + "ja": "ラテ ブラウン", + "en": "Latte Brown", + "it": "Caffelatte", + "fr": "Marron latte", + "hu": "Lattebarna", + "zh": "拿铁褐", + "nl": "Lattebruin", + "es": "Marrón Latte" + }, + "color_code": "N1", + "fila_color": [ + "#D3B7A7FF" + ] + }, + { + "fila_color_code": "11801", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Dunkelbraun", + "sv": "Mörkbrun", + "pt": "Marrom-escuro", + "ko": "다크 브라운", + "ja": "ダーク ブラウン", + "en": "Dark Brown", + "it": "Marrone scuro", + "fr": "Marron foncé", + "hu": "Sötétbarna", + "zh": "暗夜棕", + "nl": "Donkerbruin", + "es": "Marrón oscuro" + }, + "color_code": "N2", + "fila_color": [ + "#7D6556FF" + ] + }, + { + "fila_color_code": "11803", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Karamell", + "sv": "Kola", + "pt": "Caramelo", + "ko": "캐러멜", + "ja": "キャラメル", + "en": "Caramel", + "it": "Caramello", + "fr": "Caramel", + "hu": "Karamella", + "zh": "沙棕色", + "nl": "Karamel", + "es": "Caramelo" + }, + "color_code": "N3", + "fila_color": [ + "#AE835BFF" + ] + }, + { + "fila_color_code": "11201", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Sakura-Pink", + "sv": "Körsbärsrosa", + "pt": "Sakura Rosa", + "ko": "사쿠라 핑크", + "ja": "サクラ ピンク", + "en": "Sakura Pink", + "it": "Rosa sakura", + "fr": "Rose sakura", + "hu": "Szakurarózsaszín", + "zh": "樱花粉", + "nl": "Sakura-roze", + "es": "Rosa sakura" + }, + "color_code": "P3", + "fila_color": [ + "#E8AFCFFF" + ] + }, + { + "fila_color_code": "11700", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Flieder-Violett", + "sv": "Syrenlila", + "pt": "Lilás Roxo", + "ko": "라일락 퍼플", + "ja": "ライラック パープル", + "en": "Lilac Purple", + "it": "Lilla", + "fr": "Violet lilas", + "hu": "Ibolya", + "zh": "丁香紫", + "nl": "Lilapaars", + "es": "Púrpura lila" + }, + "color_code": "P4", + "fila_color": [ + "#AE96D4FF" + ] + }, + { + "fila_color_code": "11200", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Scharlachrot", + "sv": "Scharlakansröd", + "pt": "Vermelho Escarlate", + "ko": "스칼렛 레드", + "ja": "スカーレット レッド", + "en": "Scarlet Red", + "it": "Rosso scarlatto", + "fr": "Rouge écarlate", + "hu": "Skarlátvörös", + "zh": "猩红", + "nl": "Scharlakenrood", + "es": "Rojo escarlata" + }, + "color_code": "R1", + "fila_color": [ + "#DE4343FF" + ] + }, + { + "fila_color_code": "11203", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Terrakotta", + "sv": "Terrakotta", + "pt": "Terracota", + "ko": "테라코타", + "ja": "テラコッタ", + "en": "Terracotta", + "it": "Terracotta", + "fr": "Terre cuite", + "hu": "Terrakotta", + "zh": "砖红色", + "nl": "Terracotta", + "es": "Terracota" + }, + "color_code": "R2", + "fila_color": [ + "#B15533FF" + ] + }, + { + "fila_color_code": "11204", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Pflaume", + "sv": "Plommon", + "pt": "Ameixa", + "ko": "플럼", + "ja": "プラム", + "en": "Plum", + "it": "Prugna", + "fr": "Prune", + "hu": "Szilva", + "zh": "莓果紫", + "nl": "Pruim", + "es": "Ciruela" + }, + "color_code": "R3", + "fila_color": [ + "#950051FF" + ] + }, + { + "fila_color_code": "11202", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Dunkelrot", + "sv": "Mörkröd", + "pt": "Vermelho-escuro", + "ko": "다크 레드", + "ja": "ダーク レッド", + "en": "Dark Red", + "it": "Rosso scuro", + "fr": "Rouge foncé", + "hu": "Sötétvörös", + "zh": "暗夜红", + "nl": "Donkerrood", + "es": "Rojo oscuro" + }, + "color_code": "R4", + "fila_color": [ + "#BB3D43FF" + ] + }, + { + "fila_color_code": "11100", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Elfenbeinweiß", + "sv": "Elfenbensvit", + "pt": "Branco Marfim", + "ko": "아이보리 화이트", + "ja": "アイボリー ホワイト", + "en": "Ivory White", + "it": "Bianco avorio", + "fr": "Blanc ivoire", + "hu": "Elefántcsontfehér", + "zh": "象牙白", + "nl": "Ivoorwit", + "es": "Blanco marfil" + }, + "color_code": "W2", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "11103", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Knochenweiß", + "sv": "Benvit", + "pt": "Bone White", + "ko": "본 화이트", + "ja": "ボーン ホワイト", + "en": "Bone White", + "it": "Bianco osso", + "fr": "Blanc os", + "hu": "Csontfehér", + "zh": "骨白", + "nl": "Beenwit", + "es": "Blanco hueso" + }, + "color_code": "W3", + "fila_color": [ + "#CBC6B8FF" + ] + }, + { + "fila_color_code": "11400", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Zitronengelb", + "sv": "Citrongul", + "pt": "Amarelo-limão", + "ko": "레몬 옐로우", + "ja": "レモン イエロー", + "en": "Lemon Yellow", + "it": "Giallo limone", + "fr": "Jaune citron", + "hu": "Citromsárga", + "zh": "柠檬黄", + "nl": "Citroengeel", + "es": "Amarillo limón" + }, + "color_code": "Y2", + "fila_color": [ + "#F7D959FF" + ] + }, + { + "fila_color_code": "11401", + "fila_id": "GFA01", + "fila_color_type": "单色", + "fila_type": "PLA Matte", + "fila_color_name": { + "de": "Wüstenbraun", + "sv": "Ökenbrun", + "pt": "Desert Tan", + "ko": "데저트 탄", + "ja": "デザート タン", + "en": "Desert Tan", + "it": "Sabbia", + "fr": "Brun clair du désert", + "hu": "Sivatagi cser", + "zh": "沙漠黄", + "nl": "Woestijnbruin", + "es": "Arena del desierto" + }, + "color_code": "Y3", + "fila_color": [ + "#E8DBB7FF" + ] + }, + { + "fila_color_code": "13601", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#147BD1FF" + ] + }, + { + "fila_color_code": "13104", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Silber", + "sv": "Silver", + "pt": "Prateado", + "ko": "실버", + "ja": "シルバー", + "en": "Silver", + "it": "Argento", + "fr": "Argenté", + "hu": "Ezüst", + "zh": "银色", + "nl": "Zilver", + "es": "Plateado" + }, + "color_code": "D1", + "fila_color": [ + "#EAECEBFF" + ] + }, + { + "fila_color_code": "13502", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "绿色", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G1", + "fila_color": [ + "#4CE4A0FF" + ] + }, + { + "fila_color_code": "13300", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Kupfer", + "sv": "Koppar", + "pt": "Cobre", + "ko": "코퍼", + "ja": "カッパー", + "en": "Copper", + "it": "Rame", + "fr": "Cuivre", + "hu": "Réz", + "zh": "铜色", + "nl": "Koperkleurig", + "es": "Cobre" + }, + "color_code": "N4", + "fila_color": [ + "#5E4B3CFF" + ] + }, + { + "fila_color_code": "13202", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Pink", + "sv": "Rosa", + "pt": "Rosa", + "ko": "핑크", + "ja": "ピンク", + "en": "Pink", + "it": "Rosa", + "fr": "Rose", + "hu": "Rózsaszín", + "zh": "粉色", + "nl": "Roze", + "es": "Rosa" + }, + "color_code": "P3", + "fila_color": [ + "#EEB1C1FF" + ] + }, + { + "fila_color_code": "13701", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Lila", + "sv": "Lila", + "pt": "Roxo", + "ko": "퍼플", + "ja": "パープル", + "en": "Purple", + "it": "Viola", + "fr": "Violet", + "hu": "Lila", + "zh": "紫色", + "nl": "Paars", + "es": "Púrpura" + }, + "color_code": "P5", + "fila_color": [ + "#854CE4FF" + ] + }, + { + "fila_color_code": "13901", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Goldenes Rosa", + "sv": "Gyllene ros", + "pt": "Rosa Dourada", + "ko": "길디드 로즈", + "ja": "ギルディッド ローズ", + "en": "Gilded Rose", + "it": "Rosa con sfumature dorate", + "fr": "Rose doré", + "hu": "Aranyozott rózsa", + "zh": "金粉双色", + "nl": "Vergulde roos", + "es": "Rosa dorado" + }, + "color_code": "T1", + "fila_color": [ + "#FF9425FF", + "#C16784FF" + ] + }, + { + "fila_color_code": "13902", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Mitternachtsglanz", + "sv": "Midnattsflamma", + "pt": "Midnight Blaze", + "ko": "미드나이트 블레이즈", + "ja": "ミッドナイト ブレイズ", + "en": "Midnight Blaze", + "it": "Midnight Blaze", + "fr": "Feu de minuit", + "hu": "Éjféli ragyogás", + "zh": "蓝红双色", + "nl": "Middernachtblauw", + "es": "Resplandor de medianoche" + }, + "color_code": "T2", + "fila_color": [ + "#0047BBFF", + "#7D1B49FF" + ] + }, + { + "fila_color_code": "13903", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Neon City", + "sv": "Stadsljus", + "pt": "Cidade Neon", + "ko": "네온 시티", + "ja": "ネオン シティ", + "en": "Neon City", + "it": "Neon City", + "fr": "Ville de Néon", + "hu": "Neonfény", + "zh": "蓝粉双色", + "nl": "Neonstad", + "es": "Ciudad de neón" + }, + "color_code": "T3", + "fila_color": [ + "#0047BBFF", + "#BB22A3FF" + ] + }, + { + "fila_color_code": "13904", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Hawaii-Blau", + "sv": "Blå Hawaii", + "pt": "Blue Hawaii", + "ko": "블루 하와이", + "ja": "ブルー ハワイ", + "en": "Blue Hawaii", + "it": "Blue Hawaii", + "fr": "Hawaï bleu", + "hu": "Kék Hawaii", + "zh": "蓝绿双色", + "nl": "Blauw Hawaï", + "es": "Azul Hawái" + }, + "color_code": "T4", + "fila_color": [ + "#418FDEFF", + "#70C884FF" + ] + }, + { + "fila_color_code": "13905", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Dunkler Samt (Schwarz-Rot)", + "sv": "Sammetsglans (svart-röd)", + "pt": "Velvet Eclipse (Preto-Vermelho)", + "ko": "벨벳 이클립스(블랙-레드)", + "ja": "ベルベット エクリプス (ブラック レッド)", + "en": "Velvet Eclipse (Black-Red)", + "it": "Velvet Eclipse (nero/rosso)", + "fr": "Éclipse de velours (Noir-Rouge)", + "hu": "Bársony naplemente (fekete-piros)", + "zh": "灰烬红", + "nl": "Fluwelen zonsverduistering (zwart-rood)", + "es": "Eclipse de terciopelo (negro-rojo)" + }, + "color_code": "T5", + "fila_color": [ + "#000000FF", + "#A34342FF" + ] + }, + { + "fila_color_code": "13105", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "13401", + "fila_id": "GFA05", + "fila_color_type": "单色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "Gold", + "sv": "Guld", + "pt": "Dourado", + "ko": "골드", + "ja": "ゴールド", + "en": "Gold", + "it": "Oro", + "fr": "Doré", + "hu": "Arany", + "zh": "金色", + "nl": "Goud", + "es": "Dorado" + }, + "color_code": "Y4", + "fila_color": [ + "#E5B03DFF" + ] + }, + { + "fila_color_code": "13603", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Babyblau", + "sv": "Babyblå", + "pt": "Azul-bebê", + "ko": "베이비 블루", + "ja": "ベイビー ブルー", + "en": "Baby Blue", + "it": "Blu-turchese chiaro", + "fr": "Bleu layette", + "hu": "Babakék", + "zh": "天空蓝", + "nl": "Babyblauw", + "es": "Azul bebé" + }, + "color_code": "B0", + "fila_color": [ + "#A8C6EEFF" + ] + }, + { + "fila_color_code": "13604", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "丝绸蓝", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B1", + "fila_color": [ + "#008BDAFF" + ] + }, + { + "fila_color_code": "13108", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Titangrau", + "sv": "Titangrå", + "pt": "Titan Gray", + "ko": "타이탄 그레이", + "ja": "チタン グレー", + "en": "Titan Gray", + "it": "Grigio titanio", + "fr": "Gris titane", + "hu": "Titánszürke", + "zh": "钛灰色", + "nl": "Titaangrijs", + "es": "Gris titán" + }, + "color_code": "D0", + "fila_color": [ + "#5F6367FF" + ] + }, + { + "fila_color_code": "13109", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Silber", + "sv": "Silver", + "pt": "Prateado", + "ko": "실버", + "ja": "シルバー", + "en": "Silver", + "it": "Argento", + "fr": "Argenté", + "hu": "Ezüst", + "zh": "丝绸银", + "nl": "Zilver", + "es": "Plateado" + }, + "color_code": "D1", + "fila_color": [ + "#C8C8C8FF" + ] + }, + { + "fila_color_code": "13506", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Candy-Grün", + "sv": "Godisgrön", + "pt": "Candy Green", + "ko": "캔디 그린", + "ja": "キャンディ グリーン", + "en": "Candy Green", + "it": "Verde caramella", + "fr": "Vert bonbon", + "hu": "Cukorkazöld", + "zh": "糖果绿", + "nl": "Snoepgroen", + "es": "Verde caramelo" + }, + "color_code": "G0", + "fila_color": [ + "#018814FF" + ] + }, + { + "fila_color_code": "13507", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Minze", + "sv": "Mint", + "pt": "Menta", + "ko": "민트", + "ja": "ミント", + "en": "Mint", + "it": "Menta", + "fr": "Menthe", + "hu": "Menta", + "zh": "薄荷绿", + "nl": "Munt", + "es": "Menta" + }, + "color_code": "G1", + "fila_color": [ + "#96DCB9FF" + ] + }, + { + "fila_color_code": "13702", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Lila", + "sv": "Lila", + "pt": "Roxo", + "ko": "퍼플", + "ja": "パープル", + "en": "Purple", + "it": "Viola", + "fr": "Violet", + "hu": "Lila", + "zh": "丝绸紫", + "nl": "Paars", + "es": "Púrpura" + }, + "color_code": "P0", + "fila_color": [ + "#8671CBFF" + ] + }, + { + "fila_color_code": "13205", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Candy-Rot", + "sv": "Godisröd", + "pt": "Candy Red", + "ko": "캔디 레드", + "ja": "キャンディ レッド", + "en": "Candy Red", + "it": "Rosso caramella", + "fr": "Rouge bonbon", + "hu": "Cukorkapiros", + "zh": "糖果红", + "nl": "Snoeprood", + "es": "Rojo caramelo" + }, + "color_code": "R0", + "fila_color": [ + "#D02727FF" + ] + }, + { + "fila_color_code": "13206", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Gold-Rosa", + "sv": "Rödguld", + "pt": "Ouro Rosa", + "ko": "로즈 골드", + "ja": "ローズ ゴールド", + "en": "Rose Gold", + "it": "Oro rosa", + "fr": "Doré rose", + "hu": "Rózsaarany", + "zh": "烟粉色", + "nl": "Roségoud", + "es": "Oro rosa" + }, + "color_code": "R1", + "fila_color": [ + "#BA9594FF" + ] + }, + { + "fila_color_code": "13207", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Pink", + "sv": "Rosa", + "pt": "Rosa", + "ko": "핑크", + "ja": "ピンク", + "en": "Pink", + "it": "Rosa", + "fr": "Rose", + "hu": "Rózsaszín", + "zh": "丝绸粉", + "nl": "Roze", + "es": "Rosa" + }, + "color_code": "R2", + "fila_color": [ + "#F7ADA6FF" + ] + }, + { + "fila_color_code": "13110", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "丝绸白", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "13404", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Champagner", + "sv": "Champagne", + "pt": "Champagne", + "ko": "샴페인", + "ja": "シャンパン", + "en": "Champagne", + "it": "Champagne", + "fr": "Champagne", + "hu": "Pezsgő", + "zh": "香槟色", + "nl": "Champagne", + "es": "Champán" + }, + "color_code": "Y0", + "fila_color": [ + "#F3CFB2FF" + ] + }, + { + "fila_color_code": "13405", + "fila_id": "GFA06", + "fila_color_type": "单色", + "fila_type": "PLA Silk+", + "fila_color_name": { + "de": "Gold", + "sv": "Guld", + "pt": "Dourado", + "ko": "골드", + "ja": "ゴールド", + "en": "Gold", + "it": "Oro", + "fr": "Doré", + "hu": "Arany", + "zh": "丝绸金", + "nl": "Goud", + "es": "Dorado" + }, + "color_code": "Y1", + "fila_color": [ + "#F4A925FF" + ] + }, + { + "fila_color_code": "13103", + "fila_id": "GFA07", + "fila_color_type": "单色", + "fila_type": "PLA Marble", + "fila_color_name": { + "de": "Weißer Marmor", + "sv": "Vit marmor", + "pt": "Mármore Branco", + "ko": "화이트 마블", + "ja": "ホワイト マーブル", + "en": "White Marble", + "it": "Marmo bianco", + "fr": "Marbre blanc", + "hu": "Fehér márvány", + "zh": "大理石", + "nl": "Wit marmer", + "es": "Mármol blanco" + }, + "color_code": "D4", + "fila_color": [ + "#F7F3F0FF" + ] + }, + { + "fila_color_code": "13201", + "fila_id": "GFA07", + "fila_color_type": "单色", + "fila_type": "PLA Marble", + "fila_color_name": { + "de": "Granitrot", + "sv": "Röd granit", + "pt": "Granito Vermelho", + "ko": "레드 그래나이트", + "ja": "レッド グラナイト", + "en": "Red Granite", + "it": "Rosso granito", + "fr": "Granit rouge", + "hu": "Vörös gránit", + "zh": "砖红", + "nl": "Rood graniet", + "es": "Granate rojo" + }, + "color_code": "R5", + "fila_color": [ + "#AD4E38FF" + ] + }, + { + "fila_color_code": "13700", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Glitzerndes Königslila", + "sv": "Kungslila glans", + "pt": "Royal Purple Sparkle", + "ko": "로얄 퍼플 스파클", + "ja": "ロイヤル パープル スパークル", + "en": "Royal Purple Sparkle", + "it": "Viola reale con brillantini", + "fr": "Violet royal scintillant", + "hu": "Csillámló királyi lila", + "zh": "深蓝", + "nl": "Sprankelend koningspaars", + "es": "Púrpura real brillante" + }, + "color_code": "B7", + "fila_color": [ + "#483D8BFF" + ] + }, + { + "fila_color_code": "13102", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Glitzerndes Schiefergrau", + "sv": "Granitgrå glans", + "pt": "Slate Gray Sparkle", + "ko": "슬레이트 그레이 스파클", + "ja": "スレート グレース パークル", + "en": "Slate Gray Sparkle", + "it": "Grigio ardesia con brillantini", + "fr": "Gris ardoise scintillant", + "hu": "Csillámló palaszürke", + "zh": "灰色", + "nl": "Sprankelend leigrijs", + "es": "Gris pizarra brillante" + }, + "color_code": "D5", + "fila_color": [ + "#8E9089FF" + ] + }, + { + "fila_color_code": "13501", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Glitzerndes Alpengrün", + "sv": "Alpingrön glans", + "pt": "Alpine Green Sparkle", + "ko": "알파인 그린 스파클", + "ja": "アルパイン グリーン スパークル", + "en": "Alpine Green Sparkle", + "it": "Verde alpino con brillantini", + "fr": "Vert alpin scintillant", + "hu": "Alpesi csillogó zöld", + "zh": "绿色", + "nl": "Sprankelend alpengroen", + "es": "Verde alpino brillante" + }, + "color_code": "G3", + "fila_color": [ + "#3F5443FF" + ] + }, + { + "fila_color_code": "13101", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Glitzerndes Onyx-Schwarz", + "sv": "Onyxsvart glans", + "pt": "Onyx Black Sparkle", + "ko": "오닉스 블랙 스파클", + "ja": "オニキス ブラック スパークル", + "en": "Onyx Black Sparkle", + "it": "Nero onice con brillantini", + "fr": "Onyx noir scintillant", + "hu": "Csillámló ónixfekete", + "zh": "黑色", + "nl": "Sprankelend onyxzwart", + "es": "Negro ónix brillante" + }, + "color_code": "K2", + "fila_color": [ + "#2D2B28FF" + ] + }, + { + "fila_color_code": "13200", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Glitzerndes Karminrot", + "sv": "Mörkröd glans", + "pt": "Crimson Red Sparkle", + "ko": "크림슨 레드 스파클", + "ja": "クリムゾン レッド スパークル", + "en": "Crimson Red Sparkle", + "it": "Rosso cremisi con brillantini", + "fr": "Pourpre scintillant", + "hu": "Csillámló bíborvörös", + "zh": "红色", + "nl": "Sprankelend karmozijnrood", + "es": "Rojo carmesí brillante" + }, + "color_code": "R2", + "fila_color": [ + "#792B36FF" + ] + }, + { + "fila_color_code": "13402", + "fila_id": "GFA08", + "fila_color_type": "单色", + "fila_type": "PLA Sparkle", + "fila_color_name": { + "de": "Klassisches Glitzer-Gold", + "sv": "Klassisk guld glans", + "pt": "Classic Gold Sparkle", + "ko": "클래식 골드 스파클", + "ja": "クラシック ゴールド スパークル", + "en": "Classic Gold Sparkle", + "it": "Oro con brillantini", + "fr": "Doré classique scintillant", + "hu": "Klasszikus csillogó arany", + "zh": "金色", + "nl": "Sprankelend klassiek goud", + "es": "Dorado clásico brillante" + }, + "color_code": "Y1", + "fila_color": [ + "#CEA629FF" + ] + }, + { + "fila_color_code": "12300", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "A0", + "fila_color": [ + "#FF7F41FF" + ] + }, + { + "fila_color_code": "12600", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Hellblau", + "sv": "Ljusblå", + "pt": "Azul-claro", + "ko": "라이트 블루", + "ja": "ライト ブルー", + "en": "Light Blue", + "it": "Azzurro chiaro", + "fr": "Bleu clair", + "hu": "Világoskék", + "zh": "浅蓝", + "nl": "Lichtblauw", + "es": "Azul claro" + }, + "color_code": "B4", + "fila_color": [ + "#0085ADFF" + ] + }, + { + "fila_color_code": "12700", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Lavendelblau", + "sv": "Lavendelblå", + "pt": "Azul-lavanda", + "ko": "라벤더 블루", + "ja": "ラベンダー ブルー", + "en": "Lavender Blue", + "it": "Blu lavanda", + "fr": "Bleu lavande", + "hu": "Levendulakék", + "zh": "薰衣草紫", + "nl": "Lavendelblauw", + "es": "Azul lavanda" + }, + "color_code": "B5", + "fila_color": [ + "#6667ABFF" + ] + }, + { + "fila_color_code": "12102", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#515A6CFF" + ] + }, + { + "fila_color_code": "12103", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Silber", + "sv": "Silver", + "pt": "Prateado", + "ko": "실버", + "ja": "シルバー", + "en": "Silver", + "it": "Argento", + "fr": "Argenté", + "hu": "Ezüst", + "zh": "银色", + "nl": "Zilver", + "es": "Plateado" + }, + "color_code": "D1", + "fila_color": [ + "#898D8DFF" + ] + }, + { + "fila_color_code": "12500", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Tannengrün", + "sv": "Pinjegrön", + "pt": "Pinho Verde", + "ko": "파인 그린", + "ja": "パイン グリーン", + "en": "Pine Green", + "it": "Verde pino", + "fr": "Vert pin", + "hu": "Fenyőzöld", + "zh": "松绿", + "nl": "Dennengroen", + "es": "Verde pino" + }, + "color_code": "G4", + "fila_color": [ + "#00482BFF" + ] + }, + { + "fila_color_code": "12101", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#25282AFF" + ] + }, + { + "fila_color_code": "12200", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Zinnoberrot", + "sv": "Vermilionröd", + "pt": "Vermelho Vermilion", + "ko": "버밀리언 레드", + "ja": "バーミリオン レッド", + "en": "Vermilion Red", + "it": "Rosso vermiglio", + "fr": "Rouge vermillon", + "hu": "Cinóbervörös", + "zh": "朱砂红", + "nl": "Vermiljoenrood", + "es": "Rojo bermellón" + }, + "color_code": "R3", + "fila_color": [ + "#DD3C22FF" + ] + }, + { + "fila_color_code": "12100", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W3", + "fila_color": [ + "#F9F7F4FF" + ] + }, + { + "fila_color_code": "12400", + "fila_id": "GFA09", + "fila_color_type": "单色", + "fila_type": "PLA Tough", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#FEDB00FF" + ] + }, + { + "fila_color_code": "14104", + "fila_id": "GFA11", + "fila_color_type": "单色", + "fila_type": "PLA Aero", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#CDCECAFF" + ] + }, + { + "fila_color_code": "14103", + "fila_id": "GFA11", + "fila_color_type": "单色", + "fila_type": "PLA Aero", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "14102", + "fila_id": "GFA11", + "fila_color_type": "单色", + "fila_type": "PLA Aero", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "15300", + "fila_id": "GFA12", + "fila_color_type": "单色", + "fila_type": "PLA Glow", + "fila_color_name": { + "de": "Leuchtend-Orange", + "sv": "Orange glöd", + "pt": "Brilho Laranja", + "ko": "글로우 오렌지", + "ja": "グロー オレンジ", + "en": "Glow Orange", + "it": "Arancione fosforescente", + "fr": "Orange éclatant", + "hu": "Ragyogó narancssárga", + "zh": "夜光橙", + "nl": "Oranje gloed", + "es": "Naranja brillante" + }, + "color_code": "A0", + "fila_color": [ + "#FF9D5BFF" + ] + }, + { + "fila_color_code": "15600", + "fila_id": "GFA12", + "fila_color_type": "单色", + "fila_type": "PLA Glow", + "fila_color_name": { + "de": "Leuchtend-Blau", + "sv": "Blå glöd", + "pt": "Brilho Azul", + "ko": "글로우 블루", + "ja": "グロー ブルー", + "en": "Glow Blue", + "it": "Blu fosforescente", + "fr": "Bleu éclatant", + "hu": "Ragyogó kék", + "zh": "夜光蓝", + "nl": "Blauwe gloed", + "es": "Azul brillante" + }, + "color_code": "B0", + "fila_color": [ + "#7AC0E9FF" + ] + }, + { + "fila_color_code": "15500", + "fila_id": "GFA12", + "fila_color_type": "单色", + "fila_type": "PLA Glow", + "fila_color_name": { + "de": "Leuchtend-Grün", + "sv": "Grön glöd", + "pt": "Brilho Verde", + "ko": "글로우 그린", + "ja": "グロー グリーン", + "en": "Glow Green", + "it": "Verde fosforescente", + "fr": "Vert éclatant", + "hu": "Ragyogó zöld", + "zh": "夜光绿", + "nl": "Groene gloed", + "es": "Verde brillante" + }, + "color_code": "G0", + "fila_color": [ + "#A1FFACFF" + ] + }, + { + "fila_color_code": "15200", + "fila_id": "GFA12", + "fila_color_type": "单色", + "fila_type": "PLA Glow", + "fila_color_name": { + "de": "Leuchtend-Pink", + "sv": "Rosa glöd", + "pt": "Rosa Brilhante", + "ko": "글로우 핑크", + "ja": "グロー ピンク", + "en": "Glow Pink", + "it": "Rosa fosforescente", + "fr": "Rose éclatant", + "hu": "Ragyogó rózsaszín", + "zh": "夜光粉", + "nl": "Roze gloed", + "es": "Rosa brillante" + }, + "color_code": "R0", + "fila_color": [ + "#F17B8FFF" + ] + }, + { + "fila_color_code": "15400", + "fila_id": "GFA12", + "fila_color_type": "单色", + "fila_type": "PLA Glow", + "fila_color_name": { + "de": "Leuchtend-Gelb", + "sv": "Gul glöd", + "pt": "Amarelo Brilhante", + "ko": "글로우 옐로우", + "ja": "グロー イエロー", + "en": "Glow Yellow", + "it": "Giallo fosforescente", + "fr": "Jaune éclatant", + "hu": "Ragyogó sárga", + "zh": "夜光黄", + "nl": "Gele gloed", + "es": "Amarillo brillante" + }, + "color_code": "Y0", + "fila_color": [ + "#F8FF80FF" + ] + }, + { + "fila_color_code": "15100", + "fila_id": "GFA13", + "fila_color_type": "单色", + "fila_type": "PLA Dynamic", + "fila_color_name": { + "de": "UV-Farbwechsel – Weiß nach Koralle", + "sv": "UV-toning - vit till korall", + "pt": "Mudança de cor UV — Branco para coral", + "ko": "UV 컬러 변경 - 화이트에서 코랄로", + "ja": "UV カラー チェンジ - ホワイトからコーラル", + "en": "UV Color Changing - White to Coral", + "it": "Cambia colore con l'esposizione ai raggi UV - Da bianco a corallo", + "fr": "Changement de couleur UV - Blanc à corail", + "hu": "UV-színváltó – fehérről korallra", + "zh": "光变-白变粉", + "nl": "UV-kleurverandering: wit naar koraal", + "es": "De blanco a coral (Cambia con los rayos UV)" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "13602", + "fila_id": "GFA15", + "fila_color_type": "单色", + "fila_type": "PLA Galaxy", + "fila_color_name": { + "de": "Lila", + "sv": "Lila", + "pt": "Roxo", + "ko": "퍼플", + "ja": "パープル", + "en": "Purple", + "it": "Viola", + "fr": "Violet", + "hu": "Lila", + "zh": "星河紫", + "nl": "Paars", + "es": "Púrpura" + }, + "color_code": "B0", + "fila_color": [ + "#594177FF" + ] + }, + { + "fila_color_code": "13503", + "fila_id": "GFA15", + "fila_color_type": "单色", + "fila_type": "PLA Galaxy", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "星河绿", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G0", + "fila_color": [ + "#3B665EFF" + ] + }, + { + "fila_color_code": "13504", + "fila_id": "GFA15", + "fila_color_type": "单色", + "fila_type": "PLA Galaxy", + "fila_color_name": { + "de": "Nebel", + "sv": "Nebulosor", + "pt": "Nebulae", + "ko": "네뷸라", + "ja": "ネビュリー", + "en": "Nebulae", + "it": "Nebula", + "fr": "Nébuleuse", + "hu": "Űrbéli ködök", + "zh": "星云色", + "nl": "Nevelig", + "es": "Nebulosa" + }, + "color_code": "G1", + "fila_color": [ + "#424379FF" + ] + }, + { + "fila_color_code": "13203", + "fila_id": "GFA15", + "fila_color_type": "单色", + "fila_type": "PLA Galaxy", + "fila_color_name": { + "de": "Braun", + "sv": "Brun", + "pt": "Marrom", + "ko": "브라운", + "ja": "ブラウン", + "en": "Brown", + "it": "Marrone", + "fr": "Marron", + "hu": "Barna", + "zh": "星河棕", + "nl": "Bruin", + "es": "Marrón" + }, + "color_code": "R0", + "fila_color": [ + "#684A43FF" + ] + }, + { + "fila_color_code": "13505", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Klassische Birke", + "sv": "Klassisk björk", + "pt": "Classic Birch", + "ko": "클래식 버치", + "ja": "クラシック バーチ", + "en": "Classic Birch", + "it": "Betulla", + "fr": "Bouleau classique", + "hu": "Klasszikus nyírfa", + "zh": "经典桦木", + "nl": "Klassieke berk", + "es": "Abedul clásico" + }, + "color_code": "G0", + "fila_color": [ + "#918669FF" + ] + }, + { + "fila_color_code": "13107", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Schwarze Walnuss", + "sv": "Svart valnöt", + "pt": "Noz preta", + "ko": "블랙 월넛", + "ja": "ブラック ウォールナット", + "en": "Black Walnut", + "it": "Noce nero", + "fr": "Noyer noir", + "hu": "Fekete dió", + "zh": "黑胡桃", + "nl": "Walnootzwart", + "es": "Nogal negro" + }, + "color_code": "K0", + "fila_color": [ + "#4F3F24FF" + ] + }, + { + "fila_color_code": "13801", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Lehmbraun", + "sv": "Lerbrun", + "pt": "Clay Brown", + "ko": "클레이 브라운", + "ja": "クレイ ブラウン", + "en": "Clay Brown", + "it": "Marrone argilla", + "fr": "Marron argile", + "hu": "Agyagbarna", + "zh": "陶土褐", + "nl": "Modderbruin", + "es": "Marrón arcilla" + }, + "color_code": "N0", + "fila_color": [ + "#995F11FF" + ] + }, + { + "fila_color_code": "13204", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Rosenholz", + "sv": "Rosenträ", + "pt": "Jacarandá", + "ko": "로즈우드", + "ja": "ローズウッド", + "en": "Rosewood", + "it": "Palissandro", + "fr": "Palissandre", + "hu": "Rózsafa", + "zh": "红木", + "nl": "Rozenhout", + "es": "Palo de rosa" + }, + "color_code": "R0", + "fila_color": [ + "#4C241CFF" + ] + }, + { + "fila_color_code": "13106", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Weiße Eiche", + "sv": "Vit ek", + "pt": "Carvalho Branco", + "ko": "화이트 오크", + "ja": "ホワイト オーク", + "en": "White Oak", + "it": "Rovere bianco", + "fr": "Chêne blanc", + "hu": "Fehér tölgy", + "zh": "白橡木", + "nl": "Wit eiken", + "es": "Roble blanco" + }, + "color_code": "W0", + "fila_color": [ + "#D6CCA3FF" + ] + }, + { + "fila_color_code": "13403", + "fila_id": "GFA16", + "fila_color_type": "单色", + "fila_type": "PLA Wood", + "fila_color_name": { + "de": "Ockergelb", + "sv": "Ockragul", + "pt": "Amarelo-ocre", + "ko": "오커 옐로우", + "ja": "オーカー イエロー", + "en": "Ochre Yellow", + "it": "Giallo ocra", + "fr": "Jaune ocre", + "hu": "Okkersárga", + "zh": "赭石黄", + "nl": "Okergeel", + "es": "Amarillo ocre" + }, + "color_code": "Y0", + "fila_color": [ + "#C98935FF" + ] + }, + { + "fila_color_code": "14601", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Königsblau", + "sv": "Kungsblå", + "pt": "Azul Royal", + "ko": "로얄 블루", + "ja": "ロイヤル ブルー", + "en": "Royal Blue", + "it": "Blu royal", + "fr": "Bleu royal", + "hu": "Királykék", + "zh": "皇家蓝", + "nl": "Koningsblauw", + "es": "Azul real" + }, + "color_code": "B6", + "fila_color": [ + "#2842ADFF" + ] + }, + { + "fila_color_code": "14600", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Jeansblau", + "sv": "Jeansblå", + "pt": "Jeans Azul", + "ko": "진 블루", + "ja": "ジーンズ ブルー", + "en": "Jeans Blue", + "it": "Blu jeans", + "fr": "Jean bleu", + "hu": "Farmerkék", + "zh": "牛仔蓝", + "nl": "Jeansblauw", + "es": "Azul vaquero" + }, + "color_code": "B9", + "fila_color": [ + "#6e88bcFF" + ] + }, + { + "fila_color_code": "14101", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Lava-Grau", + "sv": "Lavagrå", + "pt": "Lava Cinza", + "ko": "라바 그레이", + "ja": "ラバ グレー", + "en": "Lava Gray", + "it": "Grigio lava", + "fr": "Gris lave", + "hu": "Lávaszürke", + "zh": "熔岩灰", + "nl": "Lavagrijs", + "es": "Gris lava" + }, + "color_code": "D6", + "fila_color": [ + "#4d5054FF" + ] + }, + { + "fila_color_code": "14500", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Matcha-Grün", + "sv": "Matchagrön", + "pt": "Matcha Green", + "ko": "마차 그린", + "ja": "抹茶グリーン", + "en": "Matcha Green", + "it": "Verde matcha", + "fr": "Vert matcha", + "hu": "Matchazöld", + "zh": "抹茶绿", + "nl": "Matchagroen", + "es": "Verde matcha" + }, + "color_code": "G7", + "fila_color": [ + "#5c9748FF" + ] + }, + { + "fila_color_code": "14100", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "14700", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Iris-Violett", + "sv": "Irislila", + "pt": "Íris Roxa", + "ko": "아이리스 퍼플", + "ja": "アイリス パープル", + "en": "Iris Purple", + "it": "Viola iris", + "fr": "Violet iris", + "hu": "Íriszlila", + "zh": "鸢尾花紫", + "nl": "Irispaars", + "es": "Púrpura iris" + }, + "color_code": "P7", + "fila_color": [ + "#69398EFF" + ] + }, + { + "fila_color_code": "14200", + "fila_id": "GFA50", + "fila_color_type": "单色", + "fila_type": "PLA-CF", + "fila_color_name": { + "de": "Burgunderrot", + "sv": "Vinröd", + "pt": "Burgundy Red", + "ko": "버건디 레드", + "ja": "バーガンディ レッド", + "en": "Burgundy Red", + "it": "Rosso borgogna", + "fr": "Rouge bordeaux", + "hu": "Bordó-vörös", + "zh": "勃艮第红", + "nl": "Wijnrood", + "es": "Rojo burdeos" + }, + "color_code": "R4", + "fila_color": [ + "#951e23FF" + ] + }, + { + "fila_color_code": "40300", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "A0", + "fila_color": [ + "#FF6A13FF" + ] + }, + { + "fila_color_code": "40600", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#0A2CA5FF" + ] + }, + { + "fila_color_code": "40601", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Azurblau", + "sv": "Azurblå", + "pt": "Azure", + "ko": "애저", + "ja": "アズール", + "en": "Azure", + "it": "Azzurro", + "fr": "Bleu azur", + "hu": "Azúr", + "zh": "天蓝色", + "nl": "Azuurblauw", + "es": "Azul celeste" + }, + "color_code": "B4", + "fila_color": [ + "#489FDFFF" + ] + }, + { + "fila_color_code": "40602", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Marineblau", + "sv": "Marinblå", + "pt": "Azul-marinho", + "ko": "네이비 블루", + "ja": "ネイビー ブルー", + "en": "Navy Blue", + "it": "Blu navy", + "fr": "Bleu marine", + "hu": "Tengerészkék", + "zh": "藏青色", + "nl": "Marineblauw", + "es": "Azul marino oscuro" + }, + "color_code": "B6", + "fila_color": [ + "#0C2340FF" + ] + }, + { + "fila_color_code": "40501", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Minze", + "sv": "Mint", + "pt": "Menta", + "ko": "민트", + "ja": "ミント", + "en": "Mint", + "it": "Menta", + "fr": "Menthe", + "hu": "Menta", + "zh": "青色", + "nl": "Munt", + "es": "Menta" + }, + "color_code": "B8", + "fila_color": [ + "#7AE1BFFF" + ] + }, + { + "fila_color_code": "40102", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Silber", + "sv": "Silver", + "pt": "Prateado", + "ko": "실버", + "ja": "シルバー", + "en": "Silver", + "it": "Argento", + "fr": "Argenté", + "hu": "Ezüst", + "zh": "银色", + "nl": "Zilver", + "es": "Plateado" + }, + "color_code": "D1", + "fila_color": [ + "#87909AFF" + ] + }, + { + "fila_color_code": "40500", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Bambusgrün", + "sv": "Bambugrön", + "pt": "Verde-bambu", + "ko": "뱀부 그린", + "ja": "バンブー グリーン", + "en": "Bambu Green", + "it": "Verde bambù", + "fr": "Vert bambou", + "hu": "Bambu-zöld", + "zh": "拓竹绿", + "nl": "Bamboegroen", + "es": "Verde bambú" + }, + "color_code": "G6", + "fila_color": [ + "#00AE42FF" + ] + }, + { + "fila_color_code": "40502", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Olive", + "sv": "Oliv", + "pt": "Olive", + "ko": "올리브", + "ja": "オリーブ", + "en": "Olive", + "it": "Oliva", + "fr": "Olive", + "hu": "Olivazöld", + "zh": "橄榄绿", + "nl": "Olijf", + "es": "Oliva" + }, + "color_code": "G7", + "fila_color": [ + "#789D4AFF" + ] + }, + { + "fila_color_code": "40101", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "40701", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Lavendel", + "sv": "Lavendel", + "pt": "Lavanda", + "ko": "라벤더", + "ja": "ラベンダー", + "en": "Lavender", + "it": "Lavanda", + "fr": "Lavande", + "hu": "Levendula", + "zh": "薰衣草紫", + "nl": "Lavendel", + "es": "Lavanda" + }, + "color_code": "P4", + "fila_color": [ + "#7248BDFF" + ] + }, + { + "fila_color_code": "40700", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Lila", + "sv": "Lila", + "pt": "Roxo", + "ko": "퍼플", + "ja": "パープル", + "en": "Purple", + "it": "Viola", + "fr": "Violet", + "hu": "Lila", + "zh": "紫色", + "nl": "Paars", + "es": "Púrpura" + }, + "color_code": "P6", + "fila_color": [ + "#AF1685FF" + ] + }, + { + "fila_color_code": "40200", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#D32941FF" + ] + }, + { + "fila_color_code": "40100", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "40400", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#FCE900FF" + ] + }, + { + "fila_color_code": "40402", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Mandarinengelb", + "sv": "Mandaringul", + "pt": "Amarelo Tangerina", + "ko": "탠저린 옐로우", + "ja": "タンジェリン イエロー", + "en": "Tangerine Yellow", + "it": "Giallo tangerine", + "fr": "Jaune mandarine", + "hu": "Tangerin", + "zh": "橘黄", + "nl": "Feloranjegeel", + "es": "Amarillo mandarina" + }, + "color_code": "Y1", + "fila_color": [ + "#FFC72CFF" + ] + }, + { + "fila_color_code": "40401", + "fila_id": "GFB00", + "fila_color_type": "单色", + "fila_type": "ABS", + "fila_color_name": { + "de": "Beige", + "sv": "Beige", + "pt": "Bege", + "ko": "베이지", + "ja": "ベージュ", + "en": "Beige", + "it": "Beige", + "fr": "Beige", + "hu": "Bézs", + "zh": "卡其色", + "nl": "Beige", + "es": "Beis" + }, + "color_code": "Y2", + "fila_color": [ + "#DFD1A7FF" + ] + }, + { + "fila_color_code": "45600", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#2140B4FF" + ] + }, + { + "fila_color_code": "45102", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#8A949EFF" + ] + }, + { + "fila_color_code": "45500", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "绿色", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G0", + "fila_color": [ + "#00A6A0FF" + ] + }, + { + "fila_color_code": "45101", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "45200", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#E02928FF" + ] + }, + { + "fila_color_code": "45100", + "fila_id": "GFB01", + "fila_color_type": "单色", + "fila_type": "ASA", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFAF2FF" + ] + }, + { + "fila_color_code": "46100", + "fila_id": "GFB02", + "fila_color_type": "单色", + "fila_type": "ASA Aero", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#F5F1DDFF" + ] + }, + { + "fila_color_code": "41300", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "A0", + "fila_color": [ + "#F48438FF" + ] + }, + { + "fila_color_code": "41600", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#0C3B95FF" + ] + }, + { + "fila_color_code": "41102", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#C6C6C6FF" + ] + }, + { + "fila_color_code": "41500", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "绿色", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G0", + "fila_color": [ + "#61BF36FF" + ] + }, + { + "fila_color_code": "41101", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "41200", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#E83100FF" + ] + }, + { + "fila_color_code": "41100", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "41400", + "fila_id": "GFB50", + "fila_color_type": "单色", + "fila_type": "ABS-GF", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#FFE133FF" + ] + }, + { + "fila_color_code": "46101", + "fila_id": "GFB51", + "fila_color_type": "单色", + "fila_type": "ASA-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "60102", + "fila_id": "GFC00", + "fila_color_type": "单色", + "fila_type": "PC", + "fila_color_name": { + "de": "Klares Schwarz", + "sv": "Klar svart", + "pt": "Preto-claro", + "ko": "클리어 블랙", + "ja": "クリア ブラック", + "en": "Clear Black", + "it": "Nero trasparente", + "fr": "Noir transparent", + "hu": "Tiszta fekete", + "zh": "透明黑", + "nl": "Helder zwart", + "es": "Negro transparente" + }, + "color_code": "C0", + "fila_color": [ + "#68686580" + ] + }, + { + "fila_color_code": "60103", + "fila_id": "GFC00", + "fila_color_type": "单色", + "fila_type": "PC", + "fila_color_name": { + "de": "Durchsichtig", + "sv": "Genomskinlig", + "pt": "Transparente", + "ko": "투명", + "ja": "トランスペアレント", + "en": "Transparent", + "it": "Trasparente", + "fr": "Transparent", + "hu": "Áttetsző", + "zh": "透明", + "nl": "Transparant", + "es": "Translúcido" + }, + "color_code": "C1", + "fila_color": [ + "#00000000" + ] + }, + { + "fila_color_code": "60101", + "fila_id": "GFC00", + "fila_color_type": "单色", + "fila_type": "PC", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "60100", + "fila_id": "GFC00", + "fila_color_type": "单色", + "fila_type": "PC", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "63102", + "fila_id": "GFC01", + "fila_color_type": "单色", + "fila_type": "PC FR", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#A8A8AAFF" + ] + }, + { + "fila_color_code": "63100", + "fila_id": "GFC01", + "fila_color_type": "单色", + "fila_type": "PC FR", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "63101", + "fila_id": "GFC01", + "fila_color_type": "单色", + "fila_type": "PC FR", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "32300", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Orange", + "sv": "Genomskinlig orange", + "pt": "Laranja Translúcido", + "ko": "반투명 오렌지", + "ja": "トランスルーセント オレンジ", + "en": "Translucent Orange", + "it": "Arancione traslucido", + "fr": "Orange translucide", + "hu": "Áttetsző narancssárga", + "zh": "透明橘", + "nl": "Doorschijnend oranje", + "es": "Naranja translúcido" + }, + "color_code": "A0", + "fila_color": [ + "#FF911A80" + ] + }, + { + "fila_color_code": "32600", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Hellblau", + "sv": "Genomskinlig ljusblå", + "pt": "Azul-claro Translúcido", + "ko": "반투명 라이트 블루", + "ja": "トランスルーセント ライト ブルー", + "en": "Translucent Light Blue", + "it": "Azzurro traslucido", + "fr": "Bleu clair translucide", + "hu": "Áttetsző világoskék", + "zh": "透明浅蓝", + "nl": "Doorschijnend lichtblauw", + "es": "Azul claro translúcido" + }, + "color_code": "B0", + "fila_color": [ + "#61B0FF80" + ] + }, + { + "fila_color_code": "32101", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Klar", + "sv": "Klar", + "pt": "Claro", + "ko": "클리어", + "ja": "クリア", + "en": "Clear", + "it": "Trasparente", + "fr": "Transparent", + "hu": "Átlátszó", + "zh": "透明", + "nl": "Helder", + "es": "Transparente" + }, + "color_code": "C0", + "fila_color": [ + "#00000000" + ] + }, + { + "fila_color_code": "32100", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Grau", + "sv": "Genomskinlig grå", + "pt": "Cinza Translúcido", + "ko": "반투명 그레이", + "ja": "トランスルーセント グレー", + "en": "Translucent Gray", + "it": "Grigio traslucido", + "fr": "Gris translucide", + "hu": "Áttetsző szürke", + "zh": "透明灰", + "nl": "Doorschijnend grijs", + "es": "Gris translúcido" + }, + "color_code": "D0", + "fila_color": [ + "#8E8E8E80" + ] + }, + { + "fila_color_code": "32500", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Olivgrün", + "sv": "Genomskinlig oliv", + "pt": "Oliva Translúcido", + "ko": "반투명 올리브", + "ja": "トランスルーセント オリーブ", + "en": "Translucent Olive", + "it": "Oliva traslucido", + "fr": "Olive translucide", + "hu": "Áttetsző olivazöld", + "zh": "透明橄榄绿", + "nl": "Doorschijnend olijf", + "es": "Oliva translúcido" + }, + "color_code": "G0", + "fila_color": [ + "#748C4580" + ] + }, + { + "fila_color_code": "32501", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Blaugrün", + "sv": "Genomskinlig teal", + "pt": "Azul-petróleo Translúcido", + "ko": "반투명 틸", + "ja": "トランスルーセント ティール", + "en": "Translucent Teal", + "it": "Verde petrolio traslucido", + "fr": "Bleu sarcelle translucide", + "hu": "Áttetsző kékeszöld", + "zh": "透明浅绿", + "nl": "Doorschijnend blauwgroen", + "es": "Verde azulado translúcido" + }, + "color_code": "G1", + "fila_color": [ + "#77EDD780" + ] + }, + { + "fila_color_code": "32800", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Braun", + "sv": "Genomskinlig brun", + "pt": "Marrom Translúcido", + "ko": "반투명 브라운", + "ja": "トランスルーセント ブラウン", + "en": "Translucent Brown", + "it": "Marrone traslucido", + "fr": "Marron translucide", + "hu": "Áttetsző barna", + "zh": "透明茶色", + "nl": "Doorschijnend bruin", + "es": "Marrón translúcido" + }, + "color_code": "N0", + "fila_color": [ + "#C9A38180" + ] + }, + { + "fila_color_code": "32700", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Lila", + "sv": "Genomskinlig lila", + "pt": "Roxo Translúcido", + "ko": "반투명 퍼플", + "ja": "トランスルーセント パープル", + "en": "Translucent Purple", + "it": "Viola traslucido", + "fr": "Violet translucide", + "hu": "Áttetsző lila", + "zh": "透明紫", + "nl": "Doorschijnend paars", + "es": "Púrpura translúcido" + }, + "color_code": "P0", + "fila_color": [ + "#D6ABFF80" + ] + }, + { + "fila_color_code": "32200", + "fila_id": "GFG01", + "fila_color_type": "单色", + "fila_type": "PETG Translucent", + "fila_color_name": { + "de": "Durchsichtiges Pink", + "sv": "Genomskinlig rosa", + "pt": "Rosa Translúcido", + "ko": "반투명 핑크", + "ja": "トランスルーセント ピンク", + "en": "Translucent Pink", + "it": "Rosa traslucido", + "fr": "Rose translucide", + "hu": "Áttetsző rózsaszín", + "zh": "透明粉", + "nl": "Doorschijnend roze", + "es": "Rosa translúcido" + }, + "color_code": "P1", + "fila_color": [ + "#F9C1BD80" + ] + }, + { + "fila_color_code": "33300", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "A0", + "fila_color": [ + "#F75403FF" + ] + }, + { + "fila_color_code": "33600", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#002E96FF" + ] + }, + { + "fila_color_code": "33601", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Blauer See", + "sv": "Sjöblå", + "pt": "Lago Azul", + "ko": "레이크 블루", + "ja": "レイク ブルー", + "en": "Lake Blue", + "it": "Blu lago", + "fr": "Bleu lac", + "hu": "Vízkék", + "zh": "湖蓝", + "nl": "Meerblauw", + "es": "Azul Lago" + }, + "color_code": "B1", + "fila_color": [ + "#1F79E5FF" + ] + }, + { + "fila_color_code": "33101", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#ADB1B2FF" + ] + }, + { + "fila_color_code": "33103", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Dunkelgrau", + "sv": "Mörkgrå", + "pt": "Cinza-escuro", + "ko": "다크 그레이", + "ja": "ダーク グレー", + "en": "Dark Gray", + "it": "Grigio scuro", + "fr": "Gris foncé", + "hu": "Sötétszürke", + "zh": "深灰", + "nl": "Donkergrijs", + "es": "Gris oscuro" + }, + "color_code": "D1", + "fila_color": [ + "#515151FF" + ] + }, + { + "fila_color_code": "33500", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "绿色", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G0", + "fila_color": [ + "#00AE42FF" + ] + }, + { + "fila_color_code": "33501", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Limettengrün", + "sv": "Limegrön", + "pt": "Verde-limão", + "ko": "라임 그린", + "ja": "ライム グリーン", + "en": "Lime Green", + "it": "Verde lime", + "fr": "Vert citron", + "hu": "Limezöld", + "zh": "柠檬绿", + "nl": "Limoengroen", + "es": "Verde lima" + }, + "color_code": "G1", + "fila_color": [ + "#6EE53CFF" + ] + }, + { + "fila_color_code": "33502", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Waldgrün", + "sv": "Skogsgrön", + "pt": "Verde-floresta", + "ko": "포레스트 그린", + "ja": "フォレスト グリーン", + "en": "Forest Green", + "it": "Verde foresta", + "fr": "Vert forêt", + "hu": "Erdőzöld", + "zh": "丛林绿", + "nl": "Bosgroen", + "es": "Verde bosque" + }, + "color_code": "G2", + "fila_color": [ + "#39541AFF" + ] + }, + { + "fila_color_code": "33102", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "33801", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Erdnussbraun", + "sv": "Jordnötsbrun", + "pt": "Peanut Brown", + "ko": "피넛 브라운", + "ja": "ピーナッツ ブラウン", + "en": "Peanut Brown", + "it": "Cognac", + "fr": "Marron cacahuète", + "hu": "Mogyoróbarna", + "zh": "花生棕", + "nl": "Pindabruin", + "es": "Marrón cacahuete" + }, + "color_code": "N1", + "fila_color": [ + "#875718FF" + ] + }, + { + "fila_color_code": "33200", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#BC0900FF" + ] + }, + { + "fila_color_code": "33100", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "33400", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#FFD00BFF" + ] + }, + { + "fila_color_code": "33401", + "fila_id": "GFG02", + "fila_color_type": "单色", + "fila_type": "PETG HF", + "fila_color_name": { + "de": "Creme", + "sv": "Cremevit", + "pt": "Creme", + "ko": "크림", + "ja": "クリーム", + "en": "Cream", + "it": "Panna", + "fr": "Crème", + "hu": "Törtfehér", + "zh": "奶油白", + "nl": "Roomkleurig", + "es": "Crema" + }, + "color_code": "Y1", + "fila_color": [ + "#F9DFB9FF" + ] + }, + { + "fila_color_code": "31600", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Indigo-Blau", + "sv": "Indigoblå", + "pt": "Indigo Blue", + "ko": "인디고 블루", + "ja": "インディゴ ブルー", + "en": "Indigo Blue", + "it": "Blu indaco", + "fr": "Bleu indigo", + "hu": "Indigókék", + "zh": "靛蓝色", + "nl": "Indigoblauw", + "es": "Azul índigo" + }, + "color_code": "B6", + "fila_color": [ + "#324585FF" + ] + }, + { + "fila_color_code": "31101", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Titangrau", + "sv": "Titangrå", + "pt": "Titan Gray", + "ko": "타이탄 그레이", + "ja": "チタン グレー", + "en": "Titan Gray", + "it": "Grigio titanio", + "fr": "Gris titane", + "hu": "Titánszürke", + "zh": "钛灰色", + "nl": "Titaangrijs", + "es": "Gris titán" + }, + "color_code": "D6", + "fila_color": [ + "#565656FF" + ] + }, + { + "fila_color_code": "31500", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Malachitgrün", + "sv": "Malakitgrön", + "pt": "Verde Malaquita", + "ko": "말라카이트 그린", + "ja": "マラカイト グリーン", + "en": "Malachite Green", + "it": "Verde malachite", + "fr": "Vert malachite", + "hu": "Malachitzöld", + "zh": "孔雀绿", + "nl": "Malachietgroen", + "es": "Verde malaquita" + }, + "color_code": "G7", + "fila_color": [ + "#16b08eFF" + ] + }, + { + "fila_color_code": "31100", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "31700", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Lila-Violett", + "sv": "Violettlila", + "pt": "Violeta Roxo", + "ko": "바이올렛 퍼플", + "ja": "バイオレット パープル", + "en": "Violet Purple", + "it": "Viola", + "fr": "Violet pourpre", + "hu": "Viola", + "zh": "紫罗兰色", + "nl": "Violetpaars", + "es": "Violeta púrpura" + }, + "color_code": "P7", + "fila_color": [ + "#583061FF" + ] + }, + { + "fila_color_code": "31200", + "fila_id": "GFG50", + "fila_color_type": "单色", + "fila_type": "PETG-CF", + "fila_color_name": { + "de": "Ziegelrot", + "sv": "Tegelröd", + "pt": "Vermelho Tijolo", + "ko": "브릭 레드", + "ja": "ブリック レッド", + "en": "Brick Red", + "it": "Rosso mattone", + "fr": "Rouge brique", + "hu": "Téglavörös", + "zh": "砖红色", + "nl": "Steenrood", + "es": "Rojo ladrillo" + }, + "color_code": "R4", + "fila_color": [ + "#9f332aFF" + ] + }, + { + "fila_color_code": "70100", + "fila_id": "GFN04", + "fila_color_type": "单色", + "fila_type": "PAHT-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "72100", + "fila_id": "GFN05", + "fila_color_type": "单色", + "fila_type": "PA6-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "73100", + "fila_id": "GFN06", + "fila_color_type": "单色", + "fila_type": "PPA-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "72600", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#75AED8FF" + ] + }, + { + "fila_color_code": "72102", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "D0", + "fila_color": [ + "#EAEAE4FF" + ] + }, + { + "fila_color_code": "72103", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D1", + "fila_color": [ + "#353533FF" + ] + }, + { + "fila_color_code": "72500", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Limette", + "sv": "Lime", + "pt": "Lima", + "ko": "라임", + "ja": "ライム", + "en": "Lime", + "it": "Lime", + "fr": "Citron vert", + "hu": "Lime", + "zh": "柠檬绿", + "nl": "Limoen", + "es": "Lima" + }, + "color_code": "G0", + "fila_color": [ + "#C5ED48FF" + ] + }, + { + "fila_color_code": "72104", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "72800", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Braun", + "sv": "Brun", + "pt": "Marrom", + "ko": "브라운", + "ja": "ブラウン", + "en": "Brown", + "it": "Marrone", + "fr": "Marron", + "hu": "Barna", + "zh": "棕色", + "nl": "Bruin", + "es": "Marrón" + }, + "color_code": "N0", + "fila_color": [ + "#5B492FFF" + ] + }, + { + "fila_color_code": "72200", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Orange", + "sv": "Orange", + "pt": "Laranja", + "ko": "오렌지", + "ja": "オレンジ", + "en": "Orange", + "it": "Arancione", + "fr": "Orange", + "hu": "Narancssárga", + "zh": "橙色", + "nl": "Oranje", + "es": "Naranja" + }, + "color_code": "R0", + "fila_color": [ + "#FF4800FF" + ] + }, + { + "fila_color_code": "72400", + "fila_id": "GFN08", + "fila_color_type": "单色", + "fila_type": "PA6-GF", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#FFCE00FF" + ] + }, + { + "fila_color_code": "65500", + "fila_id": "GFS03", + "fila_color_type": "单色", + "fila_type": "Support for PA/PET", + "fila_color_name": { + "de": "Grün", + "sv": "Grön", + "pt": "Verde", + "ko": "그린", + "ja": "グリーン", + "en": "Green", + "it": "Verde", + "fr": "Vert", + "hu": "Zöld", + "zh": "绿色", + "nl": "Groen", + "es": "Verde" + }, + "color_code": "G1", + "fila_color": [ + "#C0DF16FF" + ] + }, + { + "fila_color_code": "66400", + "fila_id": "GFS04", + "fila_color_type": "单色", + "fila_type": "PVA", + "fila_color_name": { + "de": "Klar", + "sv": "Klar", + "pt": "Claro", + "ko": "클리어", + "ja": "クリア", + "en": "Clear", + "it": "Trasparente", + "fr": "Transparent", + "hu": "Átlátszó", + "zh": "透明浅黄色", + "nl": "Helder", + "es": "Transparente" + }, + "color_code": "Y0", + "fila_color": [ + "#F0F1A880" + ] + }, + { + "fila_color_code": "65102", + "fila_id": "GFS05", + "fila_color_type": "单色", + "fila_type": "Support for PLA/PETG", + "fila_color_name": { + "de": "Natur", + "sv": "Natur", + "pt": "Natureza", + "ko": "네이처", + "ja": "ネイチャー", + "en": "Nature", + "it": "Naturale", + "fr": "Nature", + "hu": "Natúr", + "zh": "半透明", + "nl": "Natuurlijk", + "es": "Naturaleza" + }, + "color_code": "C0", + "fila_color": [ + "#00000000" + ] + }, + { + "fila_color_code": "65103", + "fila_id": "GFS05", + "fila_color_type": "单色", + "fila_type": "Support for PLA/PETG", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "66100", + "fila_id": "GFS06", + "fila_color_type": "单色", + "fila_type": "Support for ABS", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "71100", + "fila_id": "GFT01", + "fila_color_type": "单色", + "fila_type": "PET-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "76100", + "fila_id": "GFT02", + "fila_color_type": "单色", + "fila_type": "PPS-CF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "51600", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#0072CEFF" + ] + }, + { + "fila_color_code": "51101", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#898D8DFF" + ] + }, + { + "fila_color_code": "51100", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#101820FF" + ] + }, + { + "fila_color_code": "51200", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#C8102EFF" + ] + }, + { + "fila_color_code": "51102", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "51400", + "fila_id": "GFU00", + "fila_color_type": "单色", + "fila_type": "TPU 95A HF", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#F3E600FF" + ] + }, + { + "fila_color_code": "50101", + "fila_id": "GFU01", + "fila_color_type": "单色", + "fila_type": "TPU 95A", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "50100", + "fila_id": "GFU01", + "fila_color_type": "单色", + "fila_type": "TPU 95A", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "53600", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Blau", + "sv": "Blå", + "pt": "Azul", + "ko": "블루", + "ja": "ブルー", + "en": "Blue", + "it": "Blu", + "fr": "Bleu", + "hu": "Kék", + "zh": "蓝色", + "nl": "Blauw", + "es": "Azul" + }, + "color_code": "B0", + "fila_color": [ + "#5898DDFF" + ] + }, + { + "fila_color_code": "53102", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#939393FF" + ] + }, + { + "fila_color_code": "53500", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Neongrün", + "sv": "Neongrön", + "pt": "Verde-neon", + "ko": "네온 그린", + "ja": "ネオン グリーン", + "en": "Neon Green", + "it": "Verde neon", + "fr": "Vert fluo", + "hu": "Neonzöld", + "zh": "荧光绿", + "nl": "Neongroen", + "es": "Verde neón" + }, + "color_code": "G0", + "fila_color": [ + "#90FF1AFF" + ] + }, + { + "fila_color_code": "53101", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Schwarz", + "sv": "Svart", + "pt": "Preto", + "ko": "블랙", + "ja": "ブラック", + "en": "Black", + "it": "Nero", + "fr": "Noir", + "hu": "Fekete", + "zh": "黑色", + "nl": "Zwart", + "es": "Negro" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "53200", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Rot", + "sv": "Röd", + "pt": "Vermelho", + "ko": "레드", + "ja": "レッド", + "en": "Red", + "it": "Rosso", + "fr": "Rouge", + "hu": "Piros", + "zh": "红色", + "nl": "Rood", + "es": "Rojo" + }, + "color_code": "R0", + "fila_color": [ + "#ED0000FF" + ] + }, + { + "fila_color_code": "53100", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Weiß", + "sv": "Vit", + "pt": "Branco", + "ko": "화이트", + "ja": "ホワイト", + "en": "White", + "it": "Bianco", + "fr": "Blanc", + "hu": "Fehér", + "zh": "白色", + "nl": "Wit", + "es": "Blanco" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "53400", + "fila_id": "GFU02", + "fila_color_type": "单色", + "fila_type": "TPU for AMS", + "fila_color_name": { + "de": "Gelb", + "sv": "Gul", + "pt": "Amarelo", + "ko": "옐로우", + "ja": "イエロー", + "en": "Yellow", + "it": "Giallo", + "fr": "Jaune", + "hu": "Sárga", + "zh": "黄色", + "nl": "Geel", + "es": "Amarillo" + }, + "color_code": "Y0", + "fila_color": [ + "#F9EF41FF" + ] + }, + { + "fila_color_code": "16100", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "16400", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "黄色", + "nl": "", + "es": "" + }, + "color_code": "Y0", + "fila_color": [ + "#EFE255FF" + ] + }, + { + "fila_color_code": "16103", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "16600", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cyan", + "it": "", + "fr": "", + "hu": "", + "zh": "天蓝色", + "nl": "", + "es": "" + }, + "color_code": "B0", + "fila_color": [ + "#4DAFDAFF" + ] + }, + { + "fila_color_code": "16200", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Red", + "it": "", + "fr": "", + "hu": "", + "zh": "深红色", + "nl": "", + "es": "" + }, + "color_code": "R0", + "fila_color": [ + "#C6001AFF" + ] + }, + { + "fila_color_code": "16101", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "Grau", + "sv": "Grå", + "pt": "Cinza", + "ko": "그레이", + "ja": "グレー", + "en": "Gray", + "it": "Grigio", + "fr": "Gris", + "hu": "Szürke", + "zh": "灰色", + "nl": "Grijs", + "es": "Gris" + }, + "color_code": "D0", + "fila_color": [ + "#999D9DFF" + ] + }, + { + "fila_color_code": "13210", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Red", + "it": "", + "fr": "", + "hu": "", + "zh": "透明红", + "nl": "", + "es": "" + }, + "color_code": "R0", + "fila_color": [ + "#B5001180" + ] + }, + { + "fila_color_code": "13211", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cherry Pink", + "it": "", + "fr": "", + "hu": "", + "zh": "果冻粉", + "nl": "", + "es": "" + }, + "color_code": "R1", + "fila_color": [ + "#F5B6CD80" + ] + }, + { + "fila_color_code": "13301", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Orange", + "it": "", + "fr": "", + "hu": "", + "zh": "透明橙", + "nl": "", + "es": "" + }, + "color_code": "A0", + "fila_color": [ + "#F74E0280" + ] + }, + { + "fila_color_code": "13410", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Mellow Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "黄水晶", + "nl": "", + "es": "" + }, + "color_code": "Y0", + "fila_color": [ + "#F5DBAB80" + ] + }, + { + "fila_color_code": "13510", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Light Jade", + "it": "", + "fr": "", + "hu": "", + "zh": "浅青玉", + "nl": "", + "es": "" + }, + "color_code": "G0", + "fila_color": [ + "#96D8AF80" + ] + }, + { + "fila_color_code": "13610", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Ice Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "冰蓝", + "nl": "", + "es": "" + }, + "color_code": "B0", + "fila_color": [ + "#B8CDE980" + ] + }, + { + "fila_color_code": "13611", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "透明蓝", + "nl": "", + "es": "" + }, + "color_code": "B1", + "fila_color": [ + "#0047BB80" + ] + }, + { + "fila_color_code": "13612", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Teal", + "it": "", + "fr": "", + "hu": "", + "zh": "蓝绿色", + "nl": "", + "es": "" + }, + "color_code": "B2", + "fila_color": [ + "#009FA180" + ] + }, + { + "fila_color_code": "13710", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Purple", + "it": "", + "fr": "", + "hu": "", + "zh": "透明紫", + "nl": "", + "es": "" + }, + "color_code": "P0", + "fila_color": [ + "#8344B080" + ] + }, + { + "fila_color_code": "13711", + "fila_id": "GFA17", + "fila_color_type": "单色", + "fila_type": "PLA Translucent", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Lavender", + "it": "", + "fr": "", + "hu": "", + "zh": "紫罗兰", + "nl": "", + "es": "" + }, + "color_code": "P1", + "fila_color": [ + "#B8ACD680" + ] + }, + { + "fila_color_code": "13906", + "fila_id": "GFA05", + "fila_color_type": "渐变色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "South Beach", + "it": "", + "fr": "", + "hu": "", + "zh": "马卡龙", + "nl": "", + "es": "" + }, + "color_code": "M1", + "fila_color": [ + "#F772A4FF", + "#00918BFF" + ] + }, + { + "fila_color_code": "13909", + "fila_id": "GFA05", + "fila_color_type": "渐变色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Aurora Purple", + "it": "", + "fr": "", + "hu": "", + "zh": "星云紫", + "nl": "", + "es": "" + }, + "color_code": "M4", + "fila_color": [ + "#7F3696FF", + "#006EC9FF" + ] + }, + { + "fila_color_code": "13912", + "fila_id": "GFA05", + "fila_color_type": "渐变色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Dawn Radiance", + "it": "", + "fr": "", + "hu": "", + "zh": "浅彩虹", + "nl": "", + "es": "" + }, + "color_code": "M8", + "fila_color": [ + "#EC984CFF", + "#6CD4BCFF", + "#A66EB9FF", + "#D87694FF" + ] + }, + { + "fila_color_code": "51103", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "51105", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W1", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "51305", + "fila_id": "GFU04", + "fila_color_type": "单色", + "fila_type": "TPU 85A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Neon Orange", + "it": "", + "fr": "", + "hu": "", + "zh": "暖橙色", + "nl": "", + "es": "" + }, + "color_code": "A1", + "fila_color": [ + "#F68B1BFF" + ] + }, + { + "fila_color_code": "51500", + "fila_id": "GFU04", + "fila_color_type": "单色", + "fila_type": "TPU 85A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Light Cyan", + "it": "", + "fr": "", + "hu": "", + "zh": "苍青色", + "nl": "", + "es": "" + }, + "color_code": "G0", + "fila_color": [ + "#C3E2D6FF" + ] + }, + { + "fila_color_code": "51900", + "fila_id": "GFU03", + "fila_color_type": "渐变色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Frozen", + "it": "", + "fr": "", + "hu": "", + "zh": "冰封蓝", + "nl": "", + "es": "" + }, + "color_code": "M0", + "fila_color": [ + "#40B6E4FF", + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "51901", + "fila_id": "GFU03", + "fila_color_type": "渐变色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Blaze", + "it": "", + "fr": "", + "hu": "", + "zh": "西瓜红", + "nl": "", + "es": "" + }, + "color_code": "M1", + "fila_color": [ + "#D21B3CFF", + "#F1AAA8FF" + ] + }, + { + "fila_color_code": "65104", + "fila_id": "GFS02", + "fila_color_type": "单色", + "fila_type": "Support for PLA", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W1", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "12104", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "12105", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Gray", + "it": "", + "fr": "", + "hu": "", + "zh": "浅灰色", + "nl": "", + "es": "" + }, + "color_code": "D0", + "fila_color": [ + "#AFB1AEFF" + ] + }, + { + "fila_color_code": "12106", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Silver", + "it": "", + "fr": "", + "hu": "", + "zh": "银色", + "nl": "", + "es": "" + }, + "color_code": "D1", + "fila_color": [ + "#959698FF" + ] + }, + { + "fila_color_code": "12107", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W0", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "12301", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Orange", + "it": "", + "fr": "", + "hu": "", + "zh": "橙色", + "nl": "", + "es": "" + }, + "color_code": "A0", + "fila_color": [ + "#DC3A27FF" + ] + }, + { + "fila_color_code": "12401", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "亮黄色", + "nl": "", + "es": "" + }, + "color_code": "Y0", + "fila_color": [ + "#F4D53FFF" + ] + }, + { + "fila_color_code": "12601", + "fila_id": "GFA10", + "fila_color_type": "单色", + "fila_type": "PLA Tough+", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cyan", + "it": "", + "fr": "", + "hu": "", + "zh": "天蓝色", + "nl": "", + "es": "" + }, + "color_code": "B0", + "fila_color": [ + "#009BD8FF" + ] + }, + { + "fila_color_code": "13100", + "fila_id": "GFA02", + "fila_color_type": "单色", + "fila_type": "PLA Metal", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Iron Gray Metallic", + "it": "", + "fr": "", + "hu": "", + "zh": "深空灰", + "nl": "", + "es": "" + }, + "color_code": "D2", + "fila_color": [ + "#43403DFF" + ] + }, + { + "fila_color_code": "13400", + "fila_id": "GFA02", + "fila_color_type": "单色", + "fila_type": "PLA Metal", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Iridium Gold Metallic", + "it": "", + "fr": "", + "hu": "", + "zh": "香槟金", + "nl": "", + "es": "" + }, + "color_code": "Y1", + "fila_color": [ + "#B39B84FF" + ] + }, + { + "fila_color_code": "13500", + "fila_id": "GFA02", + "fila_color_type": "单色", + "fila_type": "PLA Metal", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Oxide Green Metallic", + "it": "", + "fr": "", + "hu": "", + "zh": "极光绿", + "nl": "", + "es": "" + }, + "color_code": "G2", + "fila_color": [ + "#1D7C6AFF" + ] + }, + { + "fila_color_code": "13600", + "fila_id": "GFA02", + "fila_color_type": "单色", + "fila_type": "PLA Metal", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cobalt Blue Metallic", + "it": "", + "fr": "", + "hu": "", + "zh": "典雅蓝", + "nl": "", + "es": "" + }, + "color_code": "B2", + "fila_color": [ + "#39699EFF" + ] + }, + { + "fila_color_code": "13800", + "fila_id": "GFA02", + "fila_color_type": "单色", + "fila_type": "PLA Metal", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Copper Brown Metallic", + "it": "", + "fr": "", + "hu": "", + "zh": "咖啡金", + "nl": "", + "es": "" + }, + "color_code": "N3", + "fila_color": [ + "#AA6443FF" + ] + }, + { + "fila_color_code": "16601", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "蓝色", + "nl": "", + "es": "" + }, + "color_code": "B1", + "fila_color": [ + "#004EA8FF" + ] + }, + { + "fila_color_code": "16401", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Sunflower Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "橙黄色", + "nl": "", + "es": "" + }, + "color_code": "Y1", + "fila_color": [ + "#FFB549FF" + ] + }, + { + "fila_color_code": "16501", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Green", + "it": "", + "fr": "", + "hu": "", + "zh": "绿色", + "nl": "", + "es": "" + }, + "color_code": "G1", + "fila_color": [ + "#00BB31FF" + ] + }, + { + "fila_color_code": "16301", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Orange", + "it": "", + "fr": "", + "hu": "", + "zh": "橙色", + "nl": "", + "es": "" + }, + "color_code": "A1", + "fila_color": [ + "#FF671FFF" + ] + }, + { + "fila_color_code": "16700", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Matte Beige", + "it": "", + "fr": "", + "hu": "", + "zh": "浅肤色", + "nl": "", + "es": "" + }, + "color_code": "P0", + "fila_color": [ + "#ECC3B2FF" + ] + }, + { + "fila_color_code": "16800", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cocoa Brown", + "it": "", + "fr": "", + "hu": "", + "zh": "棕色", + "nl": "", + "es": "" + }, + "color_code": "N0", + "fila_color": [ + "#745335FF" + ] + }, + { + "fila_color_code": "16102", + "fila_id": "GFA18", + "fila_color_type": "单色", + "fila_type": "PLA Lite", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Dark Gray", + "it": "", + "fr": "", + "hu": "", + "zh": "深灰", + "nl": "", + "es": "" + }, + "color_code": "D1", + "fila_color": [ + "#8c8b8cFF" + ] + }, + { + "fila_color_code": "13913", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Mystic Magenta", + "it": "", + "fr": "", + "hu": "", + "zh": "北极光", + "nl": "", + "es": "" + }, + "color_code": "T7", + "fila_color": [ + "#720062FF", + "#3a913fFF" + ] + }, + { + "fila_color_code": "13916", + "fila_id": "GFA05", + "fila_color_type": "多拼色", + "fila_type": "PLA Silk", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Phantom Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "幻影蓝", + "nl": "", + "es": "" + }, + "color_code": "T9", + "fila_color": [ + "#00629bFF", + "#000000FF" + ] + }, + { + "fila_color_code": "51601", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Crystal Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "水晶蓝", + "nl": "", + "es": "" + }, + "color_code": "B1", + "fila_color": [ + "#7eb4e180" + ] + }, + { + "fila_color_code": "51106", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Quicksilver", + "it": "", + "fr": "", + "hu": "", + "zh": "水银色", + "nl": "", + "es": "" + }, + "color_code": "D0", + "fila_color": [ + "#9ea2a2FF" + ] + }, + { + "fila_color_code": "51201", + "fila_id": "GFU04", + "fila_color_type": "单色", + "fila_type": "TPU 85A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Rose Beige/Flesh", + "it": "", + "fr": "", + "hu": "", + "zh": "肤色", + "nl": "", + "es": "" + }, + "color_code": "P0", + "fila_color": [ + "#F3CFB2FF" + ] + }, + { + "fila_color_code": "51700", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Grape Jelly", + "it": "", + "fr": "", + "hu": "", + "zh": "果冻紫", + "nl": "", + "es": "" + }, + "color_code": "P1", + "fila_color": [ + "#D6ABFF80" + ] + }, + { + "fila_color_code": "51107", + "fila_id": "GFU04", + "fila_color_type": "单色", + "fila_type": "TPU 85A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K0", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "51501", + "fila_id": "GFU04", + "fila_color_type": "单色", + "fila_type": "TPU 85A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Lime Green", + "it": "", + "fr": "", + "hu": "", + "zh": "苹果绿", + "nl": "", + "es": "" + }, + "color_code": "G1", + "fila_color": [ + "#CDEA80FF" + ] + }, + { + "fila_color_code": "51800", + "fila_id": "GFU03", + "fila_color_type": "单色", + "fila_type": "TPU 90A", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Cocoa Brown", + "it": "", + "fr": "", + "hu": "", + "zh": "皮革棕", + "nl": "", + "es": "" + }, + "color_code": "N0", + "fila_color": [ + "#5C4738FF" + ] + }, + { + "fila_color_code": "30105", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K00", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "30106", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W00", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "30107", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Gray", + "it": "", + "fr": "", + "hu": "", + "zh": "灰色", + "nl": "", + "es": "" + }, + "color_code": "D00", + "fila_color": [ + "#7F7E83FF" + ] + }, + { + "fila_color_code": "30402", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "黄色", + "nl": "", + "es": "" + }, + "color_code": "Y00", + "fila_color": [ + "#FCE300FF" + ] + }, + { + "fila_color_code": "30201", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Red", + "it": "", + "fr": "", + "hu": "", + "zh": "红色", + "nl": "", + "es": "" + }, + "color_code": "R00", + "fila_color": [ + "#D6001CFF" + ] + }, + { + "fila_color_code": "30603", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Reflex Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "深蓝色", + "nl": "", + "es": "" + }, + "color_code": "B00", + "fila_color": [ + "#001489FF" + ] + }, + { + "fila_color_code": "30800", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Dark Brown", + "it": "", + "fr": "", + "hu": "", + "zh": "深棕色", + "nl": "", + "es": "" + }, + "color_code": "N00", + "fila_color": [ + "#4f2c1dFF" + ] + }, + { + "fila_color_code": "30502", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Green", + "it": "", + "fr": "", + "hu": "", + "zh": "绿色", + "nl": "", + "es": "" + }, + "color_code": "G00", + "fila_color": [ + "#009639FF" + ] + }, + { + "fila_color_code": "30301", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Orange", + "it": "", + "fr": "", + "hu": "", + "zh": "橙色", + "nl": "", + "es": "" + }, + "color_code": "A00", + "fila_color": [ + "#FF671FFF" + ] + }, + { + "fila_color_code": "30503", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Pine Green", + "it": "", + "fr": "", + "hu": "", + "zh": "墨绿色", + "nl": "", + "es": "" + }, + "color_code": "G01", + "fila_color": [ + "#034638FF" + ] + }, + { + "fila_color_code": "30604", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Navy Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "湖蓝色", + "nl": "", + "es": "" + }, + "color_code": "B01", + "fila_color": [ + "#0086d6FF" + ] + }, + { + "fila_color_code": "30108", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Misty Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "蓝灰色", + "nl": "", + "es": "" + }, + "color_code": "D01", + "fila_color": [ + "#688197FF" + ] + }, + { + "fila_color_code": "30403", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Dark Beige", + "it": "", + "fr": "", + "hu": "", + "zh": "深米色", + "nl": "", + "es": "" + }, + "color_code": "Y01", + "fila_color": [ + "#dbc8b6FF" + ] + }, + { + "fila_color_code": "17100", + "fila_id": "GFA19", + "fila_color_type": "单色", + "fila_type": "PLA Pure", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Pure White", + "it": "", + "fr": "", + "hu": "", + "zh": "纯净白", + "nl": "", + "es": "" + }, + "color_code": "W00", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "17101", + "fila_id": "GFA19", + "fila_color_type": "单色", + "fila_type": "PLA Pure", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Absolute Black", + "it": "", + "fr": "", + "hu": "", + "zh": "纯净黑", + "nl": "", + "es": "" + }, + "color_code": "K00", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "17200", + "fila_id": "GFA19", + "fila_color_type": "单色", + "fila_type": "PLA Pure", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Milky Pink", + "it": "", + "fr": "", + "hu": "", + "zh": "水玉粉", + "nl": "", + "es": "" + }, + "color_code": "P00", + "fila_color": [ + "#f7ced7FF" + ] + }, + { + "fila_color_code": "17600", + "fila_id": "GFA19", + "fila_color_type": "单色", + "fila_type": "PLA Pure", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Baby Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "雪山蓝", + "nl": "", + "es": "" + }, + "color_code": "B00", + "fila_color": [ + "#a4dbe8FF" + ] + }, + { + "fila_color_code": "17300", + "fila_id": "GFA19", + "fila_color_type": "单色", + "fila_type": "PLA Pure", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Apricot", + "it": "", + "fr": "", + "hu": "", + "zh": "杏子黄", + "nl": "", + "es": "" + }, + "color_code": "A00", + "fila_color": [ + "#ffb673FF" + ] + }, + { + "fila_color_code": "30701", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Purple", + "it": "", + "fr": "", + "hu": "", + "zh": "紫色", + "nl": "", + "es": "" + }, + "color_code": "P01", + "fila_color": [ + "#8A75D1FF" + ] + }, + { + "fila_color_code": "30404", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Sunflower Yellow", + "it": "", + "fr": "", + "hu": "", + "zh": "芒果橙", + "nl": "", + "es": "" + }, + "color_code": "Y04", + "fila_color": [ + "#FFB81CFF" + ] + }, + { + "fila_color_code": "30504", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Bright Green", + "it": "", + "fr": "", + "hu": "", + "zh": "苹果绿", + "nl": "", + "es": "" + }, + "color_code": "G04", + "fila_color": [ + "#97D700FF" + ] + }, + { + "fila_color_code": "30702", + "fila_id": "GFG00", + "fila_color_type": "单色", + "fila_type": "PETG Basic", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Hot Pink", + "it": "", + "fr": "", + "hu": "", + "zh": "粉紫色", + "nl": "", + "es": "" + }, + "color_code": "P02", + "fila_color": [ + "#F277C6FF" + ] + }, + { + "fila_color_code": "35100", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "White", + "it": "", + "fr": "", + "hu": "", + "zh": "白色", + "nl": "", + "es": "" + }, + "color_code": "W00", + "fila_color": [ + "#FFFFFFFF" + ] + }, + { + "fila_color_code": "35101", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Black", + "it": "", + "fr": "", + "hu": "", + "zh": "黑色", + "nl": "", + "es": "" + }, + "color_code": "K00", + "fila_color": [ + "#000000FF" + ] + }, + { + "fila_color_code": "35500", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Lime", + "it": "", + "fr": "", + "hu": "", + "zh": "黄绿色", + "nl": "", + "es": "" + }, + "color_code": "G00", + "fila_color": [ + "#c0df16FF" + ] + }, + { + "fila_color_code": "35102", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Gray", + "it": "", + "fr": "", + "hu": "", + "zh": "灰色", + "nl": "", + "es": "" + }, + "color_code": "D00", + "fila_color": [ + "#7F7E83FF" + ] + }, + { + "fila_color_code": "35700", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Pink", + "it": "", + "fr": "", + "hu": "", + "zh": "粉色", + "nl": "", + "es": "" + }, + "color_code": "P00", + "fila_color": [ + "#FABBCBFF" + ] + }, + { + "fila_color_code": "35600", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Baby Blue", + "it": "", + "fr": "", + "hu": "", + "zh": "浅蓝色", + "nl": "", + "es": "" + }, + "color_code": "B00", + "fila_color": [ + "#B9D9EBFF" + ] + }, + { + "fila_color_code": "35702", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Violet", + "it": "", + "fr": "", + "hu": "", + "zh": "紫罗兰", + "nl": "", + "es": "" + }, + "color_code": "P02", + "fila_color": [ + "#A7A4E0FF" + ] + }, + { + "fila_color_code": "35501", + "fila_id": "GFG03", + "fila_color_type": "单色", + "fila_type": "PETG Matte", + "fila_color_name": { + "de": "", + "sv": "", + "pt": "", + "ko": "", + "ja": "", + "en": "Avocado Green", + "it": "", + "fr": "", + "hu": "", + "zh": "牛油果绿", + "nl": "", + "es": "" + }, + "color_code": "G01", + "fila_color": [ + "#bce194FF" + ] + } + ], + "total": 318 +} \ No newline at end of file diff --git a/resources/profiles/BBL/filament/support_recommended_params.json b/resources/profiles/BBL/filament/support_recommended_params.json new file mode 100644 index 0000000000..18bfcb48a7 --- /dev/null +++ b/resources/profiles/BBL/filament/support_recommended_params.json @@ -0,0 +1,263 @@ +{ + "type": "filament", + "description": "Recommended support parameters for specific material combinations. support_material_type/model_material_type can be 'name' or 'type'", + "combinations": [ + { + "model_material": "PLA", + "model_material_type": "type", + "support_material_list": [ + "Bambu Support For PLA/PETG", + "Bambu Support For PLA" + ], + "support_material_type": "name", + "priority": 3, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_style": "tree_hybrid", + "support_threshold_angle": 35, + "support_on_build_plate_only": false, + "raft_first_layer_expansion": 5.0, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "tree_support_branch_diameter": 3.0, + "tree_support_branch_diameter_angle": 7.0, + "support_interface_speed": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + } + }, + { + "model_material": "PLA", + "model_material_type": "type", + "support_material_list": [ + "PETG" + ], + "support_material_type": "type", + "priority": 1, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_style": "tree_hybrid", + "support_threshold_angle": 35, + "support_on_build_plate_only": false, + "raft_first_layer_expansion": 5.0, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "tree_support_branch_diameter": 3.0, + "tree_support_branch_diameter_angle": 7.0, + "support_interface_speed": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + } + }, + { + "model_material": "PLA", + "model_material_type": "type", + "support_material_list": [ + "PVA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_on_build_plate_only": false, + "support_top_z_distance": 0.0, + "support_bottom_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "support_object_xy_distance": 0.0 + } + }, + { + "model_material": "PETG", + "model_material_type": "type", + "support_material_list": [ + "Bambu Support For PLA/PETG" + ], + "support_material_type": "name", + "priority": 3, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_style": "tree_hybrid", + "support_threshold_angle": 35, + "support_on_build_plate_only": false, + "raft_first_layer_expansion": 5.0, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "tree_support_branch_diameter": 3.0, + "tree_support_branch_diameter_angle": 7.0, + "support_interface_speed": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + } + }, + { + "model_material": "PETG", + "model_material_type": "type", + "support_material_list": [ + "PLA" + ], + "support_material_type": "type", + "priority": 1, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_style": "tree_hybrid", + "support_threshold_angle": 35, + "support_on_build_plate_only": false, + "raft_first_layer_expansion": 5.0, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "tree_support_branch_diameter": 3.0, + "tree_support_branch_diameter_angle": 7.0, + "support_interface_speed": [ + 50.0, + 50.0, + 50.0, + 50.0 + ] + } + }, + { + "model_material": "ABS", + "model_material_type": "type", + "support_material_list": [ + "Bambu Support for ABS" + ], + "support_material_type": "name", + "priority": 3, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_on_build_plate_only": false, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "PA", + "model_material_type": "type", + "support_material_list": [ + "Bambu Support For PA/PET", + "Bambu ASA", + "Bambu ABS" + ], + "support_material_type": "name", + "priority": 3, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_style": "tree_hybrid", + "support_on_build_plate_only": false, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "TPU", + "model_material_type": "type", + "support_material_list": [ + "PLA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "enable_support": true, + "support_type": "tree(auto)", + "support_on_build_plate_only": false, + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0, + "support_object_xy_distance": 0.0 + } + }, + { + "model_material": "Bambu PA6-GF", + "model_material_type": "name", + "support_material_list": [ + "ABS" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "Bambu PET-CF", + "model_material_type": "name", + "support_material_list": [ + "ASA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "Bambu PPA-CF", + "model_material_type": "name", + "support_material_list": [ + "ASA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "Bambu PAHT-CF", + "model_material_type": "name", + "support_material_list": [ + "ASA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + }, + { + "model_material": "Bambu PA6-CF", + "model_material_type": "name", + "support_material_list": [ + "ASA" + ], + "support_material_type": "type", + "priority": 2, + "recommended_params": { + "support_top_z_distance": 0.0, + "support_interface_pattern": "rectilinear_interlaced", + "support_interface_spacing": 0.0 + } + } + ] +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.2 nozzle.json index 7dc3281418..469834f156 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.2 nozzle.json @@ -1,29 +1,32 @@ { - "type": "machine", - "name": "Bambu Lab A1 0.2 nozzle", - "inherits": "Bambu Lab A1 0.4 nozzle", - "from": "system", - "setting_id": "GM029", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab A1", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL A1 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 0.2 nozzle", + "inherits": "Bambu Lab A1 0.4 nozzle", + "from": "system", + "setting_id": "GM029", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab A1", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL A1 0.2 nozzle", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..3c415c212b --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";===== A1 20251031 =======================\nM1007 S0 ; turn off mass estimation\nG392 S0\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n\nG1 X267 F18000\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F1200\n{else}\nM620.11 S0\n{endif}\nM400\n\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nM620.10 A0 F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H[nozzle_diameter] T{flush_temperatures[next_extruder]}\n\nG1 Y128 F9000\n\n{if next_extruder < 255}\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\n\nM400\nG92 E0\nM628 S0\n\n{if flush_length_1 > 1}\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S[flush_temperatures[next_extruder]]\nM106 P1 S60\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM400\nM1002 set_filament_type:{filament_type[next_extruder]}\n{endif}\n\n{if flush_length_1 > 45 && flush_length_2 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_2 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 45 && flush_length_3 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_3 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 45 && flush_length_4 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_4 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM629\n\nM400\nM106 P1 S60\nM109 S[new_filament_temp]\nG1 E6 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM106 P1 S0\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM622.1 S0\nM9833 F{outer_wall_volumetric_speed/2.4} A0.3 ; cali dynamic extrusion compensation\nM1002 judge_flag filament_need_cali_flag\nM622 J1\n G92 E0\n G1 E-[new_retract_length_toolchange] F1800\n M400\n \n M106 P1 S178\n M400 S4\n G1 X-38.2 F18000\n G1 X-48.2 F3000\n G1 X-38.2 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-38.2 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0 \nM623\n\nM621 S[next_extruder]A\nG392 S0\n\nM1007 S1\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..42e7835633 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..ea1cf17af5 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20260513 =====================\nG392 S0 ;turn off nozzle clog detect\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\n{if !spiral_mode && print_sequence != \"by object\"}\nM1002 judge_flag timelapse_record_flag\nM622 J1\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM991 S0 P-1 ;end timelapse at safe pos\nM623\n{endif}\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n;G1 X27 F15000 ; wipe\n\n; pull back filament to AMS\nM620 S255\nG1 X267 F15000\nT255\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nM621 S255\n\nM104 S0 ; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 256}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z256 F600\n G1 Z256\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X-48 Y180 F3600\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A44 B20 L100 C49 D20 M80 E41 F20 N80\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N80\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n;=====printer finish sound=========\n\n;M17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM400\nM18 X Y Z\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..e5fc622ad8 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: A1 =========================\n;===== date: 20260513 ==================\nG392 S0\nM9833.2\n;M400\n;M73 P1.717\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\n\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A43 B10 L100 C46 D10 M70 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C43 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C41 D10 M80 E41 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E44 F10 N80\nM1006 A0 B10 L100 C49 D10 M80 E49 F10 N80\nM1006 A0 B10 L100 C0 D10 M80 E0 F10 N80\nM1006 A44 B10 L100 C48 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A43 B10 L100 C46 D10 M60 E39 F10 N80\nM1006 W\nM18 \n;=====start printer sound ===================\n\n;=====avoid end stop =================\nG91\nG380 S2 Z40 F1200\nG380 S3 Z-15 F1200\nG90\n\n;===== reset machine status =================\n;M290 X39 Y39 Z8\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.65 Y1.2 Z0.6 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;M211 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\nM1002 gcode_claim_action : 13\n\nG28 X\nG91\nG1 Z5 F1200\nG90\nG0 X128 F30000\nG0 Y254 F3000\nG91\nG1 Z-5 F1200\n\nM109 S25 H140\n\nM17 E0.3\nM83\nG1 E10 F1200\nG1 E-0.5 F30\nM17 D\n\nG28 Z P0 T140; home z with low precision,permit 300deg temperature\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n G90\n G1 Z5 F1200\nM623\n\n;M400\n;M73 P1.717\n\n;===== prepare print temperature and material ==========\nM1002 gcode_claim_action : 24\n\nM400\n;G392 S1\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on\n\nG90\nG1 X-28.5 F30000\nG1 X-48.2 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M104 S220\n{else}\n M104 S250\n{endif}\n M400\n T[initial_no_support_extruder]\n G1 X-48.2 F3000\n M400\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T220\n M109 S220 ;set nozzle to common flush temp\n{else}\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n{endif}\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M109 S220 H300\n{else}\n M109 S{flush_temperatures[initial_no_support_extruder]} H300\n{endif}\nG92 E0\nG1 E50 F200 ; lower extrusion speed to avoid clog\nM400\nM106 P1 S178\nG92 E0\nG1 E5 F200\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG92 E0\nG1 E-0.5 F300\n\nG1 X-28.5 F30000\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\n\n;G392 S0\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n;M400\n;M73 P1.717\n\n;===== auto extrude cali start =========================\nM975 S1\n;G392 S1\n\nG90\nM83\nT1000\nG1 X-48.2 Y0 Z10 F10000\nM400\nM1002 set_filament_type:UNKNOWN\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\n\nM622 J1\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_extruder]}\n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-48.2 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4} H[nozzle_diameter]\n M106 P1 S178\n M400 S7\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;G392 S0\n;===== auto extrude cali end ========================\n\n;M400\n;M73 P1.717\n\nM104 S170 ; prepare to wipe nozzle\nM106 S255 ; turn on fan\n\n;===== mech mode fast check start =====================\nM1002 gcode_claim_action : 3\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q1 A5 K0 O3\nM974 Q1 S2 P0\n\nM970.2 Q1 K1 W58 Z0.1\nM974 S2\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q0 A10 K0 O1\nM974 Q0 S2 P0\n\nM970.2 Q0 K1 W78 Z0.1\nM974 S2\n\nM975 S1\nG1 F30000\nG1 X0 Y5\nG28 X ; re-home XY\n\nG1 Z4 F1200\n\n;===== mech mode fast check end =======================\n\n;M400\n;M73 P1.717\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\n\nM975 S1\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\n;===== remove waste by touching start =====\n\nM104 S170 ; set temp down to heatbed acceptable\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nG0 X108 Y-0.5 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X110 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X112 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X114 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X116 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X118 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X120 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X122 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X124 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X126 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X128 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X130 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X132 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X134 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X136 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X138 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X140 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X142 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X144 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X146 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X148 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;===== remove waste by touching end =====\n\nG1 Z10 F1200\nG0 X118 Y261 F30000\nG1 Z5 F1200\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-50}\n\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S140 ; prepare to abl\nG0 Z5 F20000\n\nG0 X128 Y261 F20000 ; move to exposed steel surface\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z10 F1200\n\n;===== brush material wipe nozzle =====\n\nG90\nG1 Y250 F30000\nG1 X55\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X-35 F30000\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Z5.000 F1200\n\nG90\nG1 X30 Y250.000 F30000\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X35 F30000\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Z10.000 F1200\n\n;===== brush material wipe nozzle end =====\n\nG90\n;G0 X128 Y261 F20000 ; move to exposed steel surface\nG1 Y250 F30000\nG1 X138\nG1 Y261\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nM109 S140\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM211 R; pop softend status\n\n;===== wipe nozzle end ================================\n\n;M400\n;M73 P1.717\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\n\nG90\nG1 Z5 F1200\nG1 X0 Y0 F30000\nG29.2 S1 ; turn on ABL\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n\n;===== home after wipe mouth end =======================\n\n;M400\n;M73 P1.717\n\nG1 X108.000 Y-0.500 F30000\nG1 Z0.300 F1200\nM400\nG2814 Z0.32\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; prepare to print\n\n;===== nozzle load line ===============================\n;G90\n;M83\n;G1 Z5 F1200\n;G1 X88 Y-0.5 F20000\n;G1 Z0.3 F1200\n\n;M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n\n;G1 E2 F300\n;G1 X168 E4.989 F6000\n;G1 Z1 F1200\n;===== nozzle load line end ===========================\n\n;===== extrude cali test ===============================\n\nM400\n M900 S\n M900 C\n G90\n M83\n\n M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n G0 X128 E8 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\n\nM900 R\n\nM1002 judge_flag extrude_cali_flag\nM622 J1\n G90\n G1 X108.000 Y1.000 F30000\n G91\n G1 Z-0.700 F1200\n G90\n M83\n G0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\nM623\n\nG1 Z0.2\n\n;M400\n;M73 P1.717\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\n;G392 S1 ; turn on clog detection\nM1007 S1 ; turn on mass estimation\nG29.4\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..7d91e7c3b0 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";===================== date: 20250206 =====================\n{if !spiral_mode && print_sequence != \"by object\"}\n; don't support timelapse gcode in spiral_mode and by object sequence for I3 structure printer\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\nG92 E0\nG1 Z{max_layer_z + 0.4}\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-48.2 F3000 ; move to safe pos\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X0 F18000\nM623\n\n; SKIPTYPE: head_wrap_detect\nM622.1 S1\nM1002 judge_flag g39_3rd_layer_detect_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 2}\n M400\n G90\n M83\n M204 S5000\n G0 Z2 F4000\n G0 X261 Y250 F20000\n M400 P200\n G39 S1\n G0 Z2 F4000\n {endif}\n\n\n M622.1 S1\n M1002 judge_flag g39_detection_flag\n M622 J1\n {if !in_head_wrap_detect_zone}\n M622.1 S0\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n G392 S0\n M400\n G90\n M83\n M204 S5000\n G0 Z{max_layer_z + 0.4} F4000\n G39.3 S1\n G0 Z{max_layer_z + 0.4} F4000\n G392 S0\n {endif}\n M623\n {endif}\n M623\nM623\n; SKIPPABLE_END\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json index c63d8f717c..ad543aa32f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json @@ -1,80 +1,83 @@ { - "type": "machine", - "name": "Bambu Lab A1 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM030", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab A1", - "printer_variant": "0.4", - "auxiliary_fan": "0", - "bed_exclude_area": [], - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1" - ], - "default_print_profile": "0.20mm Standard @BBL A1", - "enable_long_retraction_when_cut": "2", - "extruder_clearance_dist_to_rod": "56.5", - "extruder_clearance_height_to_lid": "256", - "extruder_clearance_height_to_rod": "25", - "extruder_clearance_max_radius": "73", - "grab_length": [ - "17.4" - ], - "head_wrap_detect_zone": [ - "226x224", - "256x224", - "256x256", - "226x256" - ], - "machine_load_filament_time": "25", - "machine_max_acceleration_extruding": [ - "12000", - "12000" - ], - "machine_max_acceleration_x": [ - "12000", - "12000" - ], - "machine_max_acceleration_y": [ - "12000", - "12000" - ], - "machine_max_acceleration_z": [ - "1500", - "1500" - ], - "machine_max_jerk_e": [ - "3", - "3" - ], - "machine_max_speed_z": [ - "30", - "30" - ], - "nozzle_height": "4.76", - "nozzle_type": [ - "stainless_steel" - ], - "nozzle_volume": [ - "92" - ], - "printable_height": "256", - "printer_structure": "i3", - "retract_lift_below": [ - "255" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: A1 =========================\n;===== date: 20250822 ==================\nG392 S0\nM9833.2\n;M400\n;M73 P1.717\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\n\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A43 B10 L100 C46 D10 M70 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C43 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C41 D10 M80 E41 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E44 F10 N80\nM1006 A0 B10 L100 C49 D10 M80 E49 F10 N80\nM1006 A0 B10 L100 C0 D10 M80 E0 F10 N80\nM1006 A44 B10 L100 C48 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A43 B10 L100 C46 D10 M60 E39 F10 N80\nM1006 W\nM18 \n;=====start printer sound ===================\n\n;=====avoid end stop =================\nG91\nG380 S2 Z40 F1200\nG380 S3 Z-15 F1200\nG90\n\n;===== reset machine status =================\n;M290 X39 Y39 Z8\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.65 Y1.2 Z0.6 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;M211 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\nM1002 gcode_claim_action : 13\n\nG28 X\nG91\nG1 Z5 F1200\nG90\nG0 X128 F30000\nG0 Y254 F3000\nG91\nG1 Z-5 F1200\n\nM109 S25 H140\n\nM17 E0.3\nM83\nG1 E10 F1200\nG1 E-0.5 F30\nM17 D\n\nG28 Z P0 T140; home z with low precision,permit 300deg temperature\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n G90\n G1 Z5 F1200\nM623\n\n;M400\n;M73 P1.717\n\n;===== prepare print temperature and material ==========\nM1002 gcode_claim_action : 24\n\nM400\n;G392 S1\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on\n\nG90\nG1 X-28.5 F30000\nG1 X-48.2 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n M104 S250\n M400\n T[initial_no_support_extruder]\n G1 X-48.2 F3000\n M400\n\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM109 S{flush_temperatures[initial_no_support_extruder]} H300\nG92 E0\nG1 E50 F200 ; lower extrusion speed to avoid clog\nM400\nM106 P1 S178\nG92 E0\nG1 E5 F200\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG92 E0\nG1 E-0.5 F300\n\nG1 X-28.5 F30000\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\n\n;G392 S0\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n;M400\n;M73 P1.717\n\n;===== auto extrude cali start =========================\nM975 S1\n;G392 S1\n\nG90\nM83\nT1000\nG1 X-48.2 Y0 Z10 F10000\nM400\nM1002 set_filament_type:UNKNOWN\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\n\nM622 J1\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_extruder]}\n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-48.2 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4} H[nozzle_diameter]\n M106 P1 S178\n M400 S7\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;G392 S0\n;===== auto extrude cali end ========================\n\n;M400\n;M73 P1.717\n\nM104 S170 ; prepare to wipe nozzle\nM106 S255 ; turn on fan\n\n;===== mech mode fast check start =====================\nM1002 gcode_claim_action : 3\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q1 A5 K0 O3\nM974 Q1 S2 P0\n\nM970.2 Q1 K1 W58 Z0.1\nM974 S2\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q0 A10 K0 O1\nM974 Q0 S2 P0\n\nM970.2 Q0 K1 W78 Z0.1\nM974 S2\n\nM975 S1\nG1 F30000\nG1 X0 Y5\nG28 X ; re-home XY\n\nG1 Z4 F1200\n\n;===== mech mode fast check end =======================\n\n;M400\n;M73 P1.717\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\n\nM975 S1\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\n;===== remove waste by touching start =====\n\nM104 S170 ; set temp down to heatbed acceptable\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nG0 X108 Y-0.5 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X110 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X112 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X114 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X116 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X118 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X120 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X122 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X124 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X126 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X128 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X130 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X132 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X134 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X136 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X138 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X140 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X142 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X144 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X146 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X148 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;===== remove waste by touching end =====\n\nG1 Z10 F1200\nG0 X118 Y261 F30000\nG1 Z5 F1200\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-50}\n\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S140 ; prepare to abl\nG0 Z5 F20000\n\nG0 X128 Y261 F20000 ; move to exposed steel surface\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z10 F1200\n\n;===== brush material wipe nozzle =====\n\nG90\nG1 Y250 F30000\nG1 X55\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X-35 F30000\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Z5.000 F1200\n\nG90\nG1 X30 Y250.000 F30000\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X35 F30000\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Z10.000 F1200\n\n;===== brush material wipe nozzle end =====\n\nG90\n;G0 X128 Y261 F20000 ; move to exposed steel surface\nG1 Y250 F30000\nG1 X138\nG1 Y261\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nM109 S140\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM211 R; pop softend status\n\n;===== wipe nozzle end ================================\n\n;M400\n;M73 P1.717\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\n\nG90\nG1 Z5 F1200\nG1 X0 Y0 F30000\nG29.2 S1 ; turn on ABL\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n\n;===== home after wipe mouth end =======================\n\n;M400\n;M73 P1.717\n\nG1 X108.000 Y-0.500 F30000\nG1 Z0.300 F1200\nM400\nG2814 Z0.32\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; prepare to print\n\n;===== nozzle load line ===============================\n;G90\n;M83\n;G1 Z5 F1200\n;G1 X88 Y-0.5 F20000\n;G1 Z0.3 F1200\n\n;M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n\n;G1 E2 F300\n;G1 X168 E4.989 F6000\n;G1 Z1 F1200\n;===== nozzle load line end ===========================\n\n;===== extrude cali test ===============================\n\nM400\n M900 S\n M900 C\n G90\n M83\n\n M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n G0 X128 E8 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\n\nM900 R\n\nM1002 judge_flag extrude_cali_flag\nM622 J1\n G90\n G1 X108.000 Y1.000 F30000\n G91\n G1 Z-0.700 F1200\n G90\n M83\n G0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\nM623\n\nG1 Z0.2\n\n;M400\n;M73 P1.717\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\n;G392 S1 ; turn on clog detection\nM1007 S1 ; turn on mass estimation\nG29.4\n", - "machine_end_gcode": ";===== date: 20231229 =====================\nG392 S0 ;turn off nozzle clog detect\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\n{if !spiral_mode && print_sequence != \"by object\"}\nM1002 judge_flag timelapse_record_flag\nM622 J1\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM991 S0 P-1 ;end timelapse at safe pos\nM623\n{endif}\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n;G1 X27 F15000 ; wipe\n\n; pull back filament to AMS\nM620 S255\nG1 X267 F15000\nT255\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nM621 S255\n\nM104 S0 ; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 256}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z256 F600\n G1 Z256\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X-48 Y180 F3600\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A44 B20 L100 C49 D20 M80 E41 F20 N80\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N80\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n;=====printer finish sound=========\n\n;M17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM400\nM18 X Y Z\n\n", - "time_lapse_gcode": ";===================== date: 20250206 =====================\n{if !spiral_mode && print_sequence != \"by object\"}\n; don't support timelapse gcode in spiral_mode and by object sequence for I3 structure printer\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\nG92 E0\nG1 Z{max_layer_z + 0.4}\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-48.2 F3000 ; move to safe pos\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X0 F18000\nM623\n\n; SKIPTYPE: head_wrap_detect\nM622.1 S1\nM1002 judge_flag g39_3rd_layer_detect_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 2}\n M400\n G90\n M83\n M204 S5000\n G0 Z2 F4000\n G0 X261 Y250 F20000\n M400 P200\n G39 S1\n G0 Z2 F4000\n {endif}\n\n\n M622.1 S1\n M1002 judge_flag g39_detection_flag\n M622 J1\n {if !in_head_wrap_detect_zone}\n M622.1 S0\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n G392 S0\n M400\n G90\n M83\n M204 S5000\n G0 Z{max_layer_z + 0.4} F4000\n G39.3 S1\n G0 Z{max_layer_z + 0.4} F4000\n G392 S0\n {endif}\n M623\n {endif}\n M623\nM623\n; SKIPPABLE_END\n{endif}\n", - "change_filament_gcode": ";===== A1 20250822 =======================\nM1007 S0 ; turn off mass estimation\nG392 S0\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n\nG1 X267 F18000\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F1200\n{else}\nM620.11 S0\n{endif}\nM400\n\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nM620.10 A0 F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H[nozzle_diameter] T{flush_temperatures[next_extruder]}\n\nG1 Y128 F9000\n\n{if next_extruder < 255}\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\n\nM400\nG92 E0\nM628 S0\n\n{if flush_length_1 > 1}\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S[flush_temperatures[next_extruder]]\nM106 P1 S60\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM400\nM1002 set_filament_type:{filament_type[next_extruder]}\n{endif}\n\n{if flush_length_1 > 45 && flush_length_2 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_2 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 45 && flush_length_3 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_3 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 45 && flush_length_4 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_4 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM629\n\nM400\nM106 P1 S60\nM109 S{nozzle_temperature[next_extruder]}\nG1 E6 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nG1 X-38.2 F18000\nG1 X-48.2 F3000\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM106 P1 S0\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM622.1 S0\nM9833 F{outer_wall_volumetric_speed/2.4} A0.3 ; cali dynamic extrusion compensation\nM1002 judge_flag filament_need_cali_flag\nM622 J1\n G92 E0\n G1 E-[new_retract_length_toolchange] F1800\n M400\n \n M106 P1 S178\n M400 S4\n G1 X-38.2 F18000\n G1 X-48.2 F3000\n G1 X-38.2 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-38.2 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0 \nM623\n\nM621 S[next_extruder]A\nG392 S0\n\nM1007 S1\n" + "type": "machine", + "name": "Bambu Lab A1 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM030", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab A1", + "printer_variant": "0.4", + "auxiliary_fan": "0", + "bed_exclude_area": [], + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1" + ], + "default_print_profile": "0.20mm Standard @BBL A1", + "enable_long_retraction_when_cut": "2", + "extruder_clearance_dist_to_rod": "56.5", + "extruder_clearance_height_to_lid": "256", + "extruder_clearance_height_to_rod": "25", + "extruder_clearance_max_radius": "73", + "grab_length": [ + "17.4" + ], + "head_wrap_detect_zone": [ + "226x224", + "256x224", + "256x256", + "226x256" + ], + "include": [ + "Bambu Lab A1 0.4 nozzle template machine_start_gcode", + "Bambu Lab A1 0.4 nozzle template machine_end_gcode", + "Bambu Lab A1 0.4 nozzle template time_lapse_gcode", + "Bambu Lab A1 0.4 nozzle template change_filament_gcode", + "Bambu Lab A1 0.4 nozzle template layer_change_gcode" + ], + "machine_load_filament_time": "25", + "machine_max_acceleration_extruding": [ + "12000", + "12000" + ], + "machine_max_acceleration_x": [ + "12000", + "12000" + ], + "machine_max_acceleration_y": [ + "12000", + "12000" + ], + "machine_max_acceleration_z": [ + "1500", + "1500" + ], + "machine_max_jerk_e": [ + "3", + "3" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "nozzle_height": "4.76", + "nozzle_volume": [ + "92" + ], + "printable_height": "256", + "printer_structure": "i3", + "retract_lift_below": [ + "255" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.6 nozzle.json index e09f5e1353..dc2de73fab 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.6 nozzle.json @@ -1,29 +1,32 @@ { - "type": "machine", - "name": "Bambu Lab A1 0.6 nozzle", - "inherits": "Bambu Lab A1 0.4 nozzle", - "from": "system", - "setting_id": "GM031", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab A1", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1" - ], - "default_print_profile": "0.30mm Strength @BBL A1 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 0.6 nozzle", + "inherits": "Bambu Lab A1 0.4 nozzle", + "from": "system", + "setting_id": "GM031", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab A1", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1" + ], + "default_print_profile": "0.30mm Strength @BBL A1 0.6 nozzle", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.8 nozzle.json index 6b75929717..2d6b04082c 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.8 nozzle.json @@ -1,29 +1,32 @@ { - "type": "machine", - "name": "Bambu Lab A1 0.8 nozzle", - "inherits": "Bambu Lab A1 0.4 nozzle", - "from": "system", - "setting_id": "GM032", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab A1", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1" - ], - "default_print_profile": "0.40mm Standard @BBL A1 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 0.8 nozzle", + "inherits": "Bambu Lab A1 0.4 nozzle", + "from": "system", + "setting_id": "GM032", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab A1", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1" + ], + "default_print_profile": "0.40mm Standard @BBL A1 0.8 nozzle", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.2 nozzle.json index d43fbf3d67..bb3a2ba202 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.2 nozzle.json @@ -1,38 +1,41 @@ { - "type": "machine", - "name": "Bambu Lab A1 mini 0.2 nozzle", - "inherits": "Bambu Lab A1 mini 0.4 nozzle", - "from": "system", - "setting_id": "GM021", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab A1 mini", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1M 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL A1M 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retraction_length": [ - "0.4" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 mini 0.2 nozzle", + "inherits": "Bambu Lab A1 mini 0.4 nozzle", + "from": "system", + "setting_id": "GM021", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab A1 mini", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1M 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL A1M 0.2 nozzle", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..dc1daa8e4e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";===== A1mini 20251031 =====\nG392 S0\nM1007 S0\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n\nG1 X180 F18000\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F1200\n{else}\nM620.11 S0\n{endif}\nM400\n\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nM620.10 A0 F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H[nozzle_diameter] T{flush_temperatures[next_extruder]}\n\nG1 Y90 F9000\n\n{if next_extruder < 255}\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\n\nM400\nG92 E0\nM628 S0\n\n{if flush_length_1 > 1}\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S[flush_temperatures[next_extruder]]\nM106 P1 S60\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM400\nM1002 set_filament_type:{filament_type[next_extruder]}\n{endif}\n\n{if flush_length_1 > 45 && flush_length_2 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_2 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 45 && flush_length_3 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_3 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 45 && flush_length_4 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_4 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM629\n\nM400\nM106 P1 S60\nM109 S[new_filament_temp]\nG1 E5 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM106 P1 S0\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM622.1 S0\nM9833 F{outer_wall_volumetric_speed/2.4} A0.3 ; cali dynamic extrusion compensation\nM1002 judge_flag filament_need_cali_flag\nM622 J1\n G92 E0\n G1 E-[new_retract_length_toolchange] F1800\n M400\n \n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n M400\n M106 P1 S0 \nM623\n\nM621 S[next_extruder]A\nG392 S0\n\nM1007 S1\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..5741b3c5d4 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..9b58e6aa50 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20260513 =====================\n;turn off nozzle clog detect\nG392 S0\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\n{if !spiral_mode && print_sequence != \"by object\"}\nM1002 judge_flag timelapse_record_flag\nM622 J1\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM991 S0 P-1 ;end timelapse at safe pos\nM623\n{endif}\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n;G1 X27 F15000 ; wipe\n\n; pull back filament to AMS\nM620 S255\nG1 X181 F12000\nT255\nG1 X0 F18000\nG1 X-13.0 F3000\nG1 X0 F18000 ; wipe\nM621 S255\n\nM104 S0 ; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 180}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z180 F600\n G1 Z180\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X-13 Y180 F3600\n\nG91\nG1 Z-1 F600\nG90\nM83\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M100 E42 F20 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C46 D10 M100 E46 F10 N100\nM1006 A44 B20 L100 C39 D20 M100 E48 F20 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C39 D10 M100 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C39 D10 M100 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E48 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B20 L100 C41 D20 M100 E49 F20 N100\nM1006 A0 B20 L100 C0 D20 M100 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M100 E37 F20 N100\nM1006 W\n;=====printer finish sound=========\nM400 S1\nM18 X Y Z\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..943565b7cb --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: A1 mini =========================\n;===== date: 20260513 ==================\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S170\nM140 S[bed_temperature_initial_layer_single]\nG392 S0 ;turn off clog detect\nM9833.2\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B0 L100 C37 D10 M100 E37 F10 N100\nM1006 A0 B0 L100 C41 D10 M100 E41 F10 N100\nM1006 A0 B0 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A43 B10 L100 C39 D10 M100 E46 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C39 D10 M100 E43 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C41 D10 M100 E41 F10 N100\nM1006 A0 B0 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B0 L100 C49 D10 M100 E49 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B10 L100 C39 D10 M100 E48 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C39 D10 M100 E44 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A43 B10 L100 C39 D10 M100 E46 F10 N100\nM1006 W\nM18\n;=====avoid end stop =================\nG91\nG380 S2 Z30 F1200\nG380 S3 Z-20 F1200\nG1 Z5 F1200\nG90\n\n;===== reset machine status =================\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.7 Y0.9 Z0.5 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM83\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== prepare print temperature and material ==========\nM400\nM18\nM109 S100 H170\nM104 S170\nM400\nM17\nM400\nG28 X\n\nM211 X0 Y0 Z0 ;turn off soft endstop ; turn off soft endstop to prevent protential logic problem\n\nM975 S1 ; turn on\n\nG1 X0.0 F30000\nG1 X-13.5 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n G392 S0 ;turn on clog detect\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M104 S220\n{else}\n M104 S250\n{endif}\n M400\n T[initial_no_support_extruder]\n G1 X-13.5 F3000\n M400\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T220\n M109 S220 ;set nozzle to common flush temp\n{else}\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n{endif}\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n{if (filament_type[initial_no_support_extruder] == \"PLA\") && (nozzle_diameter != 0.2)}\n M104 S220\n{else}\n M104 S{flush_temperatures[initial_no_support_extruder]}\n{endif}\n G92 E0\n G1 E50 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n M400\n M106 P1 S178\n G92 E0\n G1 E5 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40}\n G92 E0\n G1 E-0.5 F300\n\n G1 X0 F30000\n G1 X-13.5 F3000\n G1 X0 F30000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X0 F30000\n G1 X-13.5 F3000\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40}\n G392 S0 ;turn off clog detect\nM621 S[initial_no_support_extruder]A\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== mech mode fast check============================\nM1002 gcode_claim_action : 3\nG0 X25 Y175 F20000 ; find a soft place to home\n;M104 S0\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S170\n\n; build plate detect\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n M400\nM623\n\nG1 Z5 F3000\nG1 X90 Y-1 F30000\nM400 P200\nM970.3 Q1 A7 K0 O2\nM974 Q1 S2 P0\n\nG1 X90 Y0 Z5 F30000\nM400 P200\nM970 Q0 A10 B50 C90 H15 K0 M20 O3\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X-1 Y10\nG28 X ; re-home XY\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\n\nM104 S170 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nM104 S140\nG0 X90 Y-4 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X91 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X92 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X93 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X94 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X95 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X96 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X97 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X98 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\nG1 X25 Y175 F30000.1 ;Brush material\nG1 Z0.2 F30000.1\nG1 Y185\nG91\nG1 X-30 F30000\nG1 Y-2\nG1 X27\nG1 Y1.5\nG1 X-28\nG1 Y-2\nG1 X30\nG1 Y1.5\nG1 X-30\nG90\nM83\n\nG1 Z5 F3000\nG0 X50 Y175 F20000 ; find a soft place to home\nG28 Z P0 T300; home z with low precision, permit 300deg temperature\nG29.2 S0 ; turn off ABL\n\nG0 X85 Y185 F10000 ;move to exposed steel surface and stop the nozzle\nG0 Z-1.01 F10000\nG91\n\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z5 F30000\nG1 X25 Y175 F30000.1 ;Brush material\nG1 Z0.2 F30000.1\nG1 Y185\nG91\nG1 X-30 F30000\nG1 Y-2\nG1 X27\nG1 Y1.5\nG1 X-28\nG1 Y-2\nG1 X30\nG1 Y1.5\nG1 X-30\nG90\nM83\n\nG1 Z5\nG0 X55 Y175 F20000 ; find a soft place to home\nG28 Z P0 T300; home z with low precision, permit 300deg temperature\nG29.2 S0 ; turn off ABL\n\nG1 Z10\nG1 X85 Y185\nG1 Z-1.01\nG1 X95\nG1 X90\n\nM211 R; pop softend status\n\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== wait heatbed ====================\nM1002 gcode_claim_action:54\nM104 S0\nM190 S[bed_temperature_initial_layer_single];set bed temp\nM109 S140\n\nG1 Z5 F3000\nG29.2 S1\nG1 X10 Y10 F20000\n\n;===== bed leveling ==================================\n;M1002 set_flag g29_before_print_flag=1\nM1002 judge_flag g29_before_print_flag\nM622 J1\n M1002 gcode_claim_action : 1\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28 T145\n\nM623\n\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\n\nG1 X-13.5 Y0 Z10 F10000\nG1 E1.2 F500\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{nozzle_temperature[initial_extruder]}\nM400\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\n\nG392 S0 ;turn on clog detect\n\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\nM622 J1\n M1002 gcode_claim_action : 8\n \n M400\n M900 K0.0 L1000.0 M1.0\n G90\n M83\n G0 X68 Y-4 F30000\n G0 Z0.3 F18000 ;Move to start position\n M400\n G0 X88 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X93 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X98 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X103 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X108 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X113 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 Y0 Z0 F20000\n M400\n \n G1 X-13.5 Y0 Z10 F10000\n M400\n \n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-13.5 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4} H[nozzle_diameter]\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n M400\n M106 P1 S0\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;===== extrude cali test ===============================\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\nG90\nM83\nG0 X68 Y-2.5 F30000\nG0 Z0.3 F18000 ;Move to start position\nG0 X88 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X93 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X98 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X103 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X108 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X113 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X115 Z0 F20000\nG0 Z5\nM400\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\n\nM400 ; wait all motion done before implement the emprical L parameters\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\nM1007 S1\n\n\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..03bd284f25 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";===================== date: 20250206 =====================\n{if !spiral_mode && print_sequence != \"by object\"}\n; don't support timelapse gcode in spiral_mode and by object sequence for I3 structure printer\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\nG92 E0\nG1 Z{max_layer_z + 0.4}\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X0 F18000\nM623\n\n; SKIPTYPE: head_wrap_detect\nM622.1 S1\nM1002 judge_flag g39_3rd_layer_detect_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 2}\n M400\n G90\n M83\n M204 S5000\n G0 Z2 F4000\n G0 X187 Y178 F20000\n G39 S1 X187 Y178\n G0 Z2 F4000\n {endif}\n\n\n M622.1 S1\n M1002 judge_flag g39_detection_flag\n M622 J1\n {if !in_head_wrap_detect_zone}\n M622.1 S0\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n G392 S0\n M400\n G90\n M83\n M204 S5000\n G0 Z{max_layer_z + 0.4} F4000\n G39.3 S1\n G0 Z{max_layer_z + 0.4} F4000\n G392 S0\n {endif}\n M623\n {endif}\n M623\nM623\n; SKIPPABLE_END\n{endif}\n\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle.json index 0cc3b0b8fb..c4907fd48e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.4 nozzle.json @@ -1,87 +1,89 @@ { - "type": "machine", - "name": "Bambu Lab A1 mini 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM020", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab A1 mini", - "printer_variant": "0.4", - "auxiliary_fan": "0", - "bed_exclude_area": [], - "best_object_pos": "0.7x0.5", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1M" - ], - "default_print_profile": "0.20mm Standard @BBL A1M", - "enable_long_retraction_when_cut": "2", - "extruder_clearance_dist_to_rod": "56.5", - "extruder_clearance_height_to_lid": "180", - "extruder_clearance_height_to_rod": "25", - "extruder_clearance_max_radius": "73", - "grab_length": [ - "17.4" - ], - "head_wrap_detect_zone": [ - "156x152", - "180x152", - "180x180", - "156x180" - ], - "machine_load_filament_time": "28", - "machine_max_acceleration_z": [ - "1500", - "1500" - ], - "machine_max_jerk_e": [ - "3", - "3" - ], - "machine_max_jerk_z": [ - "5", - "5" - ], - "machine_max_speed_z": [ - "30", - "30" - ], - "machine_unload_filament_time": "34", - "nozzle_height": "4.76", - "nozzle_type": [ - "stainless_steel" - ], - "nozzle_volume": [ - "92" - ], - "printable_area": [ - "0x0", - "180x0", - "180x180", - "0x180" - ], - "printable_height": "180", - "printer_structure": "i3", - "retract_lift_below": [ - "179" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: A1 mini =========================\n;===== date: 20250822 ==================\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S170\nM140 S[bed_temperature_initial_layer_single]\nG392 S0 ;turn off clog detect\nM9833.2\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B0 L100 C37 D10 M100 E37 F10 N100\nM1006 A0 B0 L100 C41 D10 M100 E41 F10 N100\nM1006 A0 B0 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A43 B10 L100 C39 D10 M100 E46 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C39 D10 M100 E43 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C41 D10 M100 E41 F10 N100\nM1006 A0 B0 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B0 L100 C49 D10 M100 E49 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B10 L100 C39 D10 M100 E48 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B0 L100 C39 D10 M100 E44 F10 N100\nM1006 A0 B0 L100 C0 D10 M100 E0 F10 N100\nM1006 A43 B10 L100 C39 D10 M100 E46 F10 N100\nM1006 W\nM18\n;=====avoid end stop =================\nG91\nG380 S2 Z30 F1200\nG380 S3 Z-20 F1200\nG1 Z5 F1200\nG90\n\n;===== reset machine status =================\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.7 Y0.9 Z0.5 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM83\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== prepare print temperature and material ==========\nM400\nM18\nM109 S100 H170\nM104 S170\nM400\nM17\nM400\nG28 X\n\nM211 X0 Y0 Z0 ;turn off soft endstop ; turn off soft endstop to prevent protential logic problem\n\nM975 S1 ; turn on\n\nG1 X0.0 F30000\nG1 X-13.5 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n G392 S0 ;turn on clog detect\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n M104 S250\n M400\n T[initial_no_support_extruder]\n G1 X-13.5 F3000\n M400\n M620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M104 S{flush_temperatures[initial_no_support_extruder]}\n G92 E0\n G1 E50 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n M400\n M106 P1 S178\n G92 E0\n G1 E5 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40}\n G92 E0\n G1 E-0.5 F300\n\n G1 X0 F30000\n G1 X-13.5 F3000\n G1 X0 F30000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X0 F30000\n G1 X-13.5 F3000\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40}\n G392 S0 ;turn off clog detect\nM621 S[initial_no_support_extruder]A\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== mech mode fast check============================\nM1002 gcode_claim_action : 3\nG0 X25 Y175 F20000 ; find a soft place to home\n;M104 S0\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S170\n\n; build plate detect\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n M400\nM623\n\nG1 Z5 F3000\nG1 X90 Y-1 F30000\nM400 P200\nM970.3 Q1 A7 K0 O2\nM974 Q1 S2 P0\n\nG1 X90 Y0 Z5 F30000\nM400 P200\nM970 Q0 A10 B50 C90 H15 K0 M20 O3\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X-1 Y10\nG28 X ; re-home XY\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\n\nM104 S170 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nM104 S140\nG0 X90 Y-4 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X91 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X92 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X93 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X94 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X95 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X96 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X97 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X98 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X99 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\nG1 X25 Y175 F30000.1 ;Brush material\nG1 Z0.2 F30000.1\nG1 Y185\nG91\nG1 X-30 F30000\nG1 Y-2\nG1 X27\nG1 Y1.5\nG1 X-28\nG1 Y-2\nG1 X30\nG1 Y1.5\nG1 X-30\nG90\nM83\n\nG1 Z5 F3000\nG0 X50 Y175 F20000 ; find a soft place to home\nG28 Z P0 T300; home z with low precision, permit 300deg temperature\nG29.2 S0 ; turn off ABL\n\nG0 X85 Y185 F10000 ;move to exposed steel surface and stop the nozzle\nG0 Z-1.01 F10000\nG91\n\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z5 F30000\nG1 X25 Y175 F30000.1 ;Brush material\nG1 Z0.2 F30000.1\nG1 Y185\nG91\nG1 X-30 F30000\nG1 Y-2\nG1 X27\nG1 Y1.5\nG1 X-28\nG1 Y-2\nG1 X30\nG1 Y1.5\nG1 X-30\nG90\nM83\n\nG1 Z5\nG0 X55 Y175 F20000 ; find a soft place to home\nG28 Z P0 T300; home z with low precision, permit 300deg temperature\nG29.2 S0 ; turn off ABL\n\nG1 Z10\nG1 X85 Y185\nG1 Z-1.01\nG1 X95\nG1 X90\n\nM211 R; pop softend status\n\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== wait heatbed ====================\nM1002 gcode_claim_action : 2\nM104 S0\nM190 S[bed_temperature_initial_layer_single];set bed temp\nM109 S140\n\nG1 Z5 F3000\nG29.2 S1\nG1 X10 Y10 F20000\n\n;===== bed leveling ==================================\n;M1002 set_flag g29_before_print_flag=1\nM1002 judge_flag g29_before_print_flag\nM622 J1\n M1002 gcode_claim_action : 1\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28 T145\n\nM623\n\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\n\nG1 X-13.5 Y0 Z10 F10000\nG1 E1.2 F500\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S{nozzle_temperature[initial_extruder]}\nM400\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\n\nG392 S0 ;turn on clog detect\n\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\nM622 J1\n M1002 gcode_claim_action : 8\n \n M400\n M900 K0.0 L1000.0 M1.0\n G90\n M83\n G0 X68 Y-4 F30000\n G0 Z0.3 F18000 ;Move to start position\n M400\n G0 X88 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X93 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X98 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X103 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X108 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X113 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 Y0 Z0 F20000\n M400\n \n G1 X-13.5 Y0 Z10 F10000\n M400\n \n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-13.5 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4} H[nozzle_diameter]\n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n M400\n M106 P1 S0\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;===== extrude cali test ===============================\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\nG90\nM83\nG0 X68 Y-2.5 F30000\nG0 Z0.3 F18000 ;Move to start position\nG0 X88 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X93 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X98 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X103 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X108 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X113 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X115 Z0 F20000\nG0 Z5\nM400\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\n\nM400 ; wait all motion done before implement the emprical L parameters\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\nM1007 S1\n\n\n\n", - "machine_end_gcode": ";===== date: 20231229 =====================\n;turn off nozzle clog detect\nG392 S0\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\n{if !spiral_mode && print_sequence != \"by object\"}\nM1002 judge_flag timelapse_record_flag\nM622 J1\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM991 S0 P-1 ;end timelapse at safe pos\nM623\n{endif}\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n;G1 X27 F15000 ; wipe\n\n; pull back filament to AMS\nM620 S255\nG1 X181 F12000\nT255\nG1 X0 F18000\nG1 X-13.0 F3000\nG1 X0 F18000 ; wipe\nM621 S255\n\nM104 S0 ; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 180}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z180 F600\n G1 Z180\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X-13 Y180 F3600\n\nG91\nG1 Z-1 F600\nG90\nM83\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M100 E42 F20 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C46 D10 M100 E46 F10 N100\nM1006 A44 B20 L100 C39 D20 M100 E48 F20 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C39 D10 M100 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C44 D10 M100 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A0 B10 L100 C39 D10 M100 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E48 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A44 B20 L100 C41 D20 M100 E49 F20 N100\nM1006 A0 B20 L100 C0 D20 M100 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M100 E37 F20 N100\nM1006 W\n;=====printer finish sound=========\nM400 S1\nM18 X Y Z\n", - "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", - "time_lapse_gcode": ";===================== date: 20250206 =====================\n{if !spiral_mode && print_sequence != \"by object\"}\n; don't support timelapse gcode in spiral_mode and by object sequence for I3 structure printer\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\nG92 E0\nG1 Z{max_layer_z + 0.4}\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X0 F18000\nM623\n\n; SKIPTYPE: head_wrap_detect\nM622.1 S1\nM1002 judge_flag g39_3rd_layer_detect_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 2}\n M400\n G90\n M83\n M204 S5000\n G0 Z2 F4000\n G0 X187 Y178 F20000\n G39 S1 X187 Y178\n G0 Z2 F4000\n {endif}\n\n\n M622.1 S1\n M1002 judge_flag g39_detection_flag\n M622 J1\n {if !in_head_wrap_detect_zone}\n M622.1 S0\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n G392 S0\n M400\n G90\n M83\n M204 S5000\n G0 Z{max_layer_z + 0.4} F4000\n G39.3 S1\n G0 Z{max_layer_z + 0.4} F4000\n G392 S0\n {endif}\n M623\n {endif}\n M623\nM623\n; SKIPPABLE_END\n{endif}\n\n\n", - "change_filament_gcode": ";===== A1mini 20250822 =====\nG392 S0\nM1007 S0\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n\nG1 X180 F18000\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F1200\n{else}\nM620.11 S0\n{endif}\nM400\n\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nM620.10 A0 F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H[nozzle_diameter] T{flush_temperatures[next_extruder]}\n\nG1 Y90 F9000\n\n{if next_extruder < 255}\n\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\n\nM400\nG92 E0\nM628 S0\n\n{if flush_length_1 > 1}\n; FLUSH_START\n; always use highest temperature to flush\nM400\nM1002 set_filament_type:UNKNOWN\nM109 S[flush_temperatures[next_extruder]]\nM106 P1 S60\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM400\nM1002 set_filament_type:{filament_type[next_extruder]}\n{endif}\n\n{if flush_length_1 > 45 && flush_length_2 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_2 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 45 && flush_length_3 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_3 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 45 && flush_length_4 > 1}\n; WIPE\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nM106 P1 S0\n{endif}\n\n{if flush_length_4 > 1}\nM106 P1 S60\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM629\n\nM400\nM106 P1 S60\nM109 S{nozzle_temperature[next_extruder]}\nG1 E5 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM400\nM106 P1 S178\nM400 S3\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nG1 X-3.5 F18000\nG1 X-13.5 F3000\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM106 P1 S0\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM622.1 S0\nM9833 F{outer_wall_volumetric_speed/2.4} A0.3 ; cali dynamic extrusion compensation\nM1002 judge_flag filament_need_cali_flag\nM622 J1\n G92 E0\n G1 E-[new_retract_length_toolchange] F1800\n M400\n \n M106 P1 S178\n M400 S7\n G1 X0 F18000\n G1 X-13.5 F3000\n G1 X0 F18000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n G1 X-13.5 F3000\n G1 X0 F12000 ;wipe and shake\n M400\n M106 P1 S0 \nM623\n\nM621 S[next_extruder]A\nG392 S0\n\nM1007 S1\n" + "type": "machine", + "name": "Bambu Lab A1 mini 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM020", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab A1 mini", + "printer_variant": "0.4", + "auxiliary_fan": "0", + "bed_exclude_area": [], + "best_object_pos": "0.7x0.5", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1M" + ], + "default_print_profile": "0.20mm Standard @BBL A1M", + "enable_long_retraction_when_cut": "2", + "extruder_clearance_dist_to_rod": "56.5", + "extruder_clearance_height_to_lid": "180", + "extruder_clearance_height_to_rod": "25", + "extruder_clearance_max_radius": "73", + "grab_length": [ + "17.4" + ], + "head_wrap_detect_zone": [ + "156x152", + "180x152", + "180x180", + "156x180" + ], + "include": [ + "Bambu Lab A1 mini 0.4 nozzle template machine_start_gcode", + "Bambu Lab A1 mini 0.4 nozzle template machine_end_gcode", + "Bambu Lab A1 mini 0.4 nozzle template layer_change_gcode", + "Bambu Lab A1 mini 0.4 nozzle template time_lapse_gcode", + "Bambu Lab A1 mini 0.4 nozzle template change_filament_gcode" + ], + "machine_load_filament_time": "28", + "machine_max_acceleration_z": [ + "1500", + "1500" + ], + "machine_max_jerk_e": [ + "3", + "3" + ], + "machine_max_jerk_z": [ + "5", + "5" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_unload_filament_time": "34", + "nozzle_height": "4.76", + "nozzle_volume": [ + "92" + ], + "printable_area": [ + "0x0", + "180x0", + "180x180", + "0x180" + ], + "printable_height": "180", + "printer_structure": "i3", + "retract_lift_below": [ + "179" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.6 nozzle.json index 53439cbb62..0bc539c678 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.6 nozzle.json @@ -1,44 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab A1 mini 0.6 nozzle", - "inherits": "Bambu Lab A1 mini 0.4 nozzle", - "from": "system", - "setting_id": "GM022", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab A1 mini", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1M" - ], - "default_print_profile": "0.30mm Standard @BBL A1M 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "nozzle_type": [ - "hardened_steel" - ], - "retraction_length": [ - "1.4" - ], - "retraction_minimum_travel": [ - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 mini 0.6 nozzle", + "inherits": "Bambu Lab A1 mini 0.4 nozzle", + "from": "system", + "setting_id": "GM022", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab A1 mini", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1M" + ], + "default_print_profile": "0.30mm Standard @BBL A1M 0.6 nozzle", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4" + ], + "retraction_minimum_travel": [ + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.8 nozzle.json index c347db6859..b0ae2d100d 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini 0.8 nozzle.json @@ -1,44 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab A1 mini 0.8 nozzle", - "inherits": "Bambu Lab A1 mini 0.4 nozzle", - "from": "system", - "setting_id": "GM023", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab A1 mini", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A1M" - ], - "default_print_profile": "0.40mm Standard @BBL A1M 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "nozzle_type": [ - "hardened_steel" - ], - "retract_length_toolchange": [ - "3" - ], - "retraction_length": [ - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A1 mini 0.8 nozzle", + "inherits": "Bambu Lab A1 mini 0.4 nozzle", + "from": "system", + "setting_id": "GM023", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab A1 mini", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A1M" + ], + "default_print_profile": "0.40mm Standard @BBL A1M 0.8 nozzle", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ], + "retraction_length": [ + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 mini.json b/resources/profiles/BBL/machine/Bambu Lab A1 mini.json index 6ebecc0ecf..064b0b21e7 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 mini.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 mini.json @@ -1,15 +1,16 @@ { - "type": "machine_model", - "name": "Bambu Lab A1 mini", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-A1M.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "image_bed_type": "mini", - "not_support_bed_type": "Smooth Cool Plate;Engineering Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "N1", - "default_materials": "Bambu PLA Matte @BBL A1M;Bambu PLA Basic @BBL A1M;Bambu PLA Silk @BBL A1M;Bambu Support For PLA @BBL A1M;Bambu TPU 95A @BBL A1M;Generic PLA @BBL A1M;Generic PLA High Speed @BBL A1M;Bambu PLA Metal @BBL A1M;Generic PETG @BBL A1M;Bambu PLA Marble @BBL A1M;Bambu PLA-CF @BBL A1M;Bambu PETG-CF @BBL A1M;Bambu PETG HF @BBL A1M" -} + "type": "machine_model", + "name": "Bambu Lab A1 mini", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-A1M.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "image_bed_type": "mini", + "not_support_bed_type": "Cool Plate;Engineering Plate", + "support_side_panel_fan": "false", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "N1", + "default_materials": "Bambu PLA Matte @BBL A1M;Bambu PLA Basic @BBL A1M;Bambu PLA Silk @BBL A1M;Bambu Support For PLA @BBL A1M;Bambu TPU 95A @BBL A1M;Generic PLA @BBL A1M;Generic PLA High Speed @BBL A1M;Bambu PLA Metal @BBL A1M;Generic PETG @BBL A1M;Bambu PLA Marble @BBL A1M;Bambu PLA-CF @BBL A1M;Bambu PETG-CF @BBL A1M;Bambu PETG HF @BBL A1M;Bambu PLA Pure @BBL A1M;Bambu PLA Basic @BBL A1M 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab A1.json b/resources/profiles/BBL/machine/Bambu Lab A1.json index efade2a7d2..d3b7597def 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1.json @@ -1,13 +1,14 @@ { - "type": "machine_model", - "name": "Bambu Lab A1", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "N2S", - "default_materials": "Bambu PLA Matte @BBL A1;Bambu PLA Basic @BBL A1;Bambu PLA Silk @BBL A1;Bambu Support For PA/PET @BBL A1;Bambu ABS @BBL A1;Bambu TPU 95A @BBL A1;Bambu PLA Tough @BBL A1;Generic PLA @BBL A1;Generic PLA High Speed @BBL A1;Generic PETG @BBL A1;Generic PVA @BBL A1;Bambu PETG HF @BBL A1" -} + "type": "machine_model", + "name": "Bambu Lab A1", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "support_side_panel_fan": "false", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "N2S", + "default_materials": "Bambu PLA Matte @BBL A1;Bambu PLA Basic @BBL A1;Bambu PLA Silk @BBL A1;Bambu Support For PA/PET @BBL A1;Bambu ABS @BBL A1;Bambu TPU 95A @BBL A1;Bambu PLA Tough @BBL A1;Generic PLA @BBL A1;Generic PLA High Speed @BBL A1;Generic PETG @BBL A1;Generic PVA @BBL A1;Bambu PETG HF @BBL A1;Bambu PLA Pure @BBL A1;Bambu PLA Basic @BBL A1 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.2 nozzle.json index afdfa19fdd..e8991904a8 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.2 nozzle.json @@ -1,37 +1,37 @@ { - "type": "machine", - "name": "Bambu Lab A2L 0.2 nozzle", - "inherits": "Bambu Lab A2L 0.4 nozzle", - "from": "system", - "setting_id": "GM055", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab A2L", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A2L 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL A2L 0.2 nozzle", - "machine_max_speed_x": [ - "500", - "200" - ], - "machine_max_speed_y": [ - "500", - "200" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retract_lift_below": [ - "326" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.2 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A2L 0.2 nozzle", + "inherits": "Bambu Lab A2L 0.4 nozzle", + "from": "system", + "setting_id": "GM055", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab A2L", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A2L 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL A2L 0.2 nozzle", + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retract_lift_below": [ + "326" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..57c4eb3421 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== A2L filament_change gcode ==========\n;===== 2026/05/26 =====\n\nM620 S[next_filament_id]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_filament_id] == 0 || z_hop_types[current_filament_id] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\") || (filament_type[current_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\") || (filament_type[next_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_filament_id] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_filament_id] E0\n{endif}\n\nM620.11 K0 I[current_filament_id] R0\n\n\nT[next_filament_id]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 80) * 7.5 + 6.5}\n\n; compensate for heating and cooling\n{if flush_length > 0}\n{if flush_temperatures[next_filament_id] > new_filament_temp}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{else}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{endif}\n{endif}\n\n; VFLUSH_END\n\n\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;disable E air printing detect\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PETG\") || (filament_type[next_filament_id] == \"PETG-CF\") || (filament_type[next_filament_id] == \"TPU\") || (filament_type[next_filament_id] == \"TPU-AMS\"))}\n G390.7 M6 G4 C3\n{else}\n G390.7 M6 G6 C3\n{endif}\n\nM620.6 I[next_filament_id] W1 ;enable ams air printing detect\n\n;Set the filament gear warning temperature\n{if (temperature_vitrification[next_filament_id] <= 50)}\n {if ((filament_ids[next_filament_id]==\"GFA05\") || (filament_ids[next_filament_id]==\"GFA06\"))}\n M142 P1 O45; set PLASILK gear warning temperature when filament change\n {else}\n M142 P1 O60; set PLA/PLACF/PLAAERO/PVA/TPU gear warning temperature when filament change\n {endif}\n{else}\n M142 P1 O100 ; set gear warning temperature when filament change\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..d53ce80cbb --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";======== A2L layer_change gcode ==========\n;===== 2026/04/29 ====\n; update layer progress\nM201 N1 Y[curr_y_acceleration_limit]\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\nM1007 L1" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..f1f28d1280 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";======== A2L end gcode ==========\n;===== 2026/07/29 =====\n\nM1003 S0\nM73 P100 R0\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\nG150.3\nG1 Y295 F3600\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM142 P1 Q0 ; turn off extruder autocool\n\nM220 S100 ; Reset feedrate magnitude\nM204.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L30 C53 D10 M30 E53 F10 N30 \nM1006 A57 B10 L30 C57 D10 M30 E57 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L30 C53 D10 M30 E53 F10 N30 \nM1006 A57 B10 L30 C57 D10 M30 E57 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L30 C48 D10 M30 E48 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L30 C60 D10 M30 E60 F10 N30 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM1007 S0" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..ca5c2c516c --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n;M1002 set_flag bed_heat_stable_wait_flag=1\n\n;======== A2L start gcode==========\n;===== 2026/07/14 =====\nT1000 O0\nM1002 gcode_claim_action : 2\n{if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M140 S65\n{else}\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n{endif}\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\nM400\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L30 C53 D9 M30 E53 F9 N30\nM1006 A56 B9 L30 C56 D9 M30 E56 F9 N30\nM1006 A61 B9 L30 C61 D9 M30 E61 F9 N30\nM1006 A53 B9 L30 C53 D9 M30 E53 F9 N30\nM1006 A56 B9 L30 C56 D9 M30 E56 F9 N30\nM1006 A61 B18 L30 C61 D18 M30 E61 F18 N30\nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n;Set the filament gear warning temperature\n{if (temperature_vitrification[initial_filament_id] <= 50)}\n {if ((filament_ids[initial_filament_id]==\"GFA05\") || (filament_ids[initial_filament_id]==\"GFA06\"))}\n M142 P1 O45; set PLASILK gear warning temperature when start\n {else}\n M142 P1 O60; set PLA/PLACF/PLAAERO/PVA/TPU gear warning temperature when start\n {endif}\n{else}\n M142 P1 O100 ; set gear warning temperature when start\n{endif}\n;===== start to heat heatbed & hotend==========\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M104 S140 A\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n M105\n G28 X Z P0 T300 W\n G150.3\n G1 Z1.3 F1200\n G150.1 F16000 ; wipe mouth to avoid filament stick to heatbed\n G90\n M400\n;===== first homing end =====\n\n\n;===== detection start =====\n;===== build_plate_detect_flag start =====\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G91\n G1 Z5 F1200\n G90\n G0 X15 F30000\n G0 Y319 F3000\n G91\n G1 Z-5 F1200\n G28 Z P0 T140\n G1 F1200\n G39.4\n G90\n G1 Z5 F1200\nM623\n;===== build_plate_detect_flag end =====\n;===== detection end =====\n\n\n;===== hotend hotbed pre-heat start =====\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A ; rise nozzle temp in advance\n\n G90\n G1 Y220 F3000 ; Put away the heated bed to prevent collisions\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single]\n {endif}\n;===== hotend hotbed pre-heat end =====\n\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n\n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\n M620.11 P0 L0 I[initial_no_support_filament_id] E0\n M620.11 K0 I[initial_no_support_filament_id] R0\n\n M620 S[initial_no_support_filament_id]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_filament_id]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M621 S[initial_no_support_filament_id]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n{if ((filament_type[initial_no_support_filament_id] == \"PETG\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\") || (filament_type[initial_no_support_filament_id] == \"TPU\") || (filament_type[initial_no_support_filament_id] == \"TPU-AMS\"))}\n G390.7 M6 G4 C3\n{else}\n G390.7 M6 G6 C3\n{endif}\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M623\n;===== auto extrude cali end =========================\n\n\n {if filament_type[initial_filament_id] == \"TPU\" || filament_type[initial_filament_id] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G0 Z1.3 F1200\n G150.2\n G150.1 F16000\n\n G91\n G1 X20 F12000 ; move away from the trash bin\n G90\n M400\n\n\n;===== wipe nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M109 S140 A\n M106 P1 S255\n G91\n G1 Z1.3 F1200\n G90\n M400 S1\n ;======== enhance brush nozzle start =====\n G150.1 F16000\n G91\n G1 Y5 F5000\n G1 X-20 F16000\n G1 Y-10 F5000\n G1 X-20 F16000\n G1 Y10 F5000\n G1 X20 F16000\n G1 Y-10 F5000\n G1 X20 F16000\n G1 Y5 F5000\n G90\n G150.1 F16000\n G150.3\n ;======== enhance brush nozzle end =====\n M106 P1 S0\n;===== wipe nozzle end =====\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 Z5 F1200\n G1 X165 Y160 F20000\n M400 P200\n M970.3 Q1 A5 K0 O3\n M970.3 Q1 B1\n M970.2 Q1 K1 W52 Z0.1 B30 ;\n M970.3 Q0 A10 K0 O1\n M970.3 Q0 B1\n M970.2 Q0 K1 W40 Z0.1 B20 ;\n M974 Q0 S2 P0\n M974 Q1 S2 P0\n M975 S1 R1 M1\n M400\n G1 X155 F3000\n G150.3\n;===== mech mode sweep end =====\n\n\n;===== bed leveling ==================================\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single] ; ensure bed temp\n {endif}\n M109 S140 A\n\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M1002 gcode_claim_action : 58\n SYNC R0 T600\n M1030 S500 ; action before has done 200s insulation\n M1030 C\n {else}\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 judge_flag bed_heat_stable_wait_flag\n M622 J1\n {if (bed_temperature_initial_layer_single > 35)}\n M1002 gcode_claim_action : 58\n G29.30 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M623\n M623\n M622 J2\n M1002 judge_flag bed_heat_stable_wait_flag\n M622 J1\n {if (bed_temperature_initial_layer_single > 35)}\n M1002 gcode_claim_action : 58\n G29.30 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M623\n M623\n {endif}\n SYNC R0 T120 ; Adjust estimated time\n\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29 R\n {else}\n {if (bed_temperature_initial_layer_single > 35)}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O1 R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O R\n {endif}\n {endif}\n M400\n M623\n\n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29 R\n {else}\n {if (bed_temperature_initial_layer_single > 35)}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O1 R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O R\n {endif}\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single] ; ensure bed temp\n {endif}\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n\n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29.1 Z{-0.03} ; for Textured PEI Plate first layer\n {else}\n G29.1 Z{-0.04} ; for Textured PEI Plate\n {endif}\n {else}\n G29.1 Z{-0.01}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n G0 X145 Y0 F24000\n M400\n G130 O0 X145 Y-0.2 Z0.8 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E20 D4\n G90\n M83\n G1 Z0.2\n M400\n;===== nozzle load line end ===========================\nM1007 S1 C1;turn on mass estimation && clear\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.005 S0.01\nM1010 Q1 B0.002 S0.01\nM1010.1 S1\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..3add10135b --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";======== A2L timelapse gcode ==========\n;===== 2026/05/09 ====\n{if !spiral_mode && print_sequence != \"by object\"}\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G1 Z{max_layer_z + 0.4} F1200\n G150.3 ; move to garbage can\n G1 Y{first_layer_center_no_wipe_tower[1]} F30000; move to safe pos\n M400\n M1004 S5 P1 ; external shutter\n M971 S11 C11 O0\n M400 P350\nM623\n; SKIPPABLE_END\n{endif}\n; SKIPPABLE_START\n; SKIPTYPE: g39_detection\n; go x0 clamping detection, clear_to_x0 = [clear_to_x0]\n{if !spiral_mode && (print_sequence != \"by object\" || clear_to_x0)}\nM1002 judge_flag g39_detection_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 1 || layer_num == 2}\n M400\n G390.7 M7 S1 Z2.5\n {endif}\n {if layer_num > 5 && layer_z <= 10 && layer_z > 0.4 && layer_num % 6 == 0}\n M400\n G390.7 M7 S1 Z2.5\n {endif}\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n M400\n G390.7 M9 S1 Z2.5\n {endif}\n M623\nM623\n{endif}\n; SKIPPABLE_END" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle.json index 93bf4afd83..4b95e9b7de 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.4 nozzle.json @@ -1,100 +1,118 @@ { - "type": "machine", - "name": "Bambu Lab A2L 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM056", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab A2L", - "printer_variant": "0.4", - "auxiliary_fan": "0", - "bed_exclude_area": [], - "default_filament_profile": [ - "Bambu PLA Basic @BBL A2L 0.4 nozzle" - ], - "default_print_profile": "0.20mm Standard @BBL A2L", - "enable_long_retraction_when_cut": "2", - "extruder_clearance_height_to_lid": "325", - "extruder_clearance_height_to_rod": "25", - "extruder_clearance_max_radius": "73", - "grab_length": [ - "17.4" - ], - "head_wrap_detect_zone": [ - "226x224", - "256x224", - "256x256", - "226x256" - ], - "machine_bed_mass_Y": "2700", - "machine_load_filament_time": "11", - "machine_max_acceleration_extruding": [ - "12000", - "12000" - ], - "machine_max_acceleration_x": [ - "12000", - "12000" - ], - "machine_max_acceleration_y": [ - "8000", - "8000" - ], - "machine_max_acceleration_z": [ - "1500", - "1500" - ], - "machine_max_force_Y": "29", - "machine_max_jerk_e": [ - "3", - "3" - ], - "machine_max_printed_mass": "2000", - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "30", - "30" - ], - "machine_unload_filament_time": "12", - "nozzle_height": "4.76", - "nozzle_type": [ - "stainless_steel" - ], - "nozzle_volume": [ - "92" - ], - "deretract_speed_extruder_change": [ - "30" - ], - "printable_area": [ - "0x0", - "330x0", - "330x320", - "0x320" - ], - "printable_height": "325", - "printer_structure": "i3", - "retract_lift_below": [ - "326" - ], - "support_fast_purge_mode": "1", - "support_object_skip_flush": "1", - "upward_compatible_machine": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n;M1002 set_flag bed_heat_stable_wait_flag=1\n\n;======== A2L start gcode==========\n;===== 2026/05/26 =====\nT1000 O0\nM1002 gcode_claim_action : 2\n{if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M140 S65\n{else}\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n{endif}\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\nM400\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L30 C53 D9 M30 E53 F9 N30\nM1006 A56 B9 L30 C56 D9 M30 E56 F9 N30\nM1006 A61 B9 L30 C61 D9 M30 E61 F9 N30\nM1006 A53 B9 L30 C53 D9 M30 E53 F9 N30\nM1006 A56 B9 L30 C56 D9 M30 E56 F9 N30\nM1006 A61 B18 L30 C61 D18 M30 E61 F18 N30\nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n;Set the filament gear warning temperature\n{if (temperature_vitrification[initial_filament_id] <= 50)}\n {if ((filament_ids[initial_filament_id]==\"GFA05\") || (filament_ids[initial_filament_id]==\"GFA06\"))}\n M142 P1 O45; set PLASILK gear warning temperature when start\n {else}\n M142 P1 O60; set PLA/PLACF/PLAAERO/PVA/TPU gear warning temperature when start\n {endif}\n{else}\n M142 P1 O100 ; set gear warning temperature when start\n{endif}\n;===== start to heat heatbed & hotend==========\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M104 S140 A\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n M105\n G28 X Z P0 T300 W\n G150.3\n G1 Z1.3 F1200\n G150.1 F16000 ; wipe mouth to avoid filament stick to heatbed\n G90\n M400\n;===== first homing end =====\n\n\n;===== detection start =====\n;===== build_plate_detect_flag start =====\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G91\n G1 Z5 F1200\n G90\n G0 X15 F30000\n G0 Y319 F3000\n G91\n G1 Z-5 F1200\n G28 Z P0 T140\n G1 F1200\n G39.4\n G90\n G1 Z5 F1200\nM623\n;===== build_plate_detect_flag end =====\n;===== detection end =====\n\n\n;===== hotend hotbed pre-heat start =====\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A ; rise nozzle temp in advance\n\n G90\n G1 Y220 F3000 ; Put away the heated bed to prevent collisions\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single]\n {endif}\n;===== hotend hotbed pre-heat end =====\n\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n\n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\n M620.11 P0 L0 I[initial_no_support_filament_id] E0\n M620.11 K0 I[initial_no_support_filament_id] R0\n\n M620 S[initial_no_support_filament_id]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_filament_id]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M621 S[initial_no_support_filament_id]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n{if ((filament_type[initial_no_support_filament_id] == \"PETG\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\") || (filament_type[initial_no_support_filament_id] == \"TPU\") || (filament_type[initial_no_support_filament_id] == \"TPU-AMS\"))}\n G390.7 M6 G4 C3\n{else}\n G390.7 M6 G6 C3\n{endif}\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M623\n;===== auto extrude cali end =========================\n\n\n {if filament_type[initial_filament_id] == \"TPU\" || filament_type[initial_filament_id] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G0 Z1.3 F1200\n G150.2\n G150.1 F16000\n\n G91\n G1 X20 F12000 ; move away from the trash bin\n G90\n M400\n\n\n;===== wipe nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M109 S140 A\n M106 P1 S255\n G91\n G1 Z1.3 F1200\n G90\n M400 S1\n ;======== enhance brush nozzle start =====\n G150.1 F16000\n G91\n G1 Y5 F5000\n G1 X-20 F16000\n G1 Y-10 F5000\n G1 X-20 F16000\n G1 Y10 F5000\n G1 X20 F16000\n G1 Y-10 F5000\n G1 X20 F16000\n G1 Y5 F5000\n G90\n G150.1 F16000\n G150.3\n ;======== enhance brush nozzle end =====\n M106 P1 S0\n;===== wipe nozzle end =====\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 Z5 F1200\n G1 X165 Y160 F20000\n M400 P200\n M970.3 Q1 A5 K0 O3\n M970.3 Q1 B1\n M970.2 Q1 K1 W52 Z0.1 B30 ;\n M970.3 Q0 A10 K0 O1\n M970.3 Q0 B1\n M970.2 Q0 K1 W40 Z0.1 B20 ;\n M974 Q0 S2 P0\n M974 Q1 S2 P0\n M975 S1 R1 M1\n M400\n G1 X155 F3000\n G150.3\n;===== mech mode sweep end =====\n\n\n;===== bed leveling ==================================\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single] ; ensure bed temp\n {endif}\n M109 S140 A\n\n\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M1002 gcode_claim_action : 58\n SYNC R0 T600\n M1030 S500 ; action before has done 200s insulation\n M1030 C\n {else}\n M1002 judge_flag bed_heat_stable_wait_flag\n M622 J1\n {if (bed_temperature_initial_layer_single > 35)}\n M1002 gcode_claim_action : 54\n G29.30 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M623\n {endif}\n SYNC R0 T120 ; Adjust estimated time\n\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29 R\n {else}\n {if (bed_temperature_initial_layer_single > 35)}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O1 R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O R\n {endif}\n {endif}\n M400\n M623\n\n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29 R\n {else}\n {if (bed_temperature_initial_layer_single > 35)}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O1 R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} O R\n {endif}\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n M190 S65\n {else}\n M190 S[bed_temperature_initial_layer_single] ; ensure bed temp\n {endif}\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n\n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if hold_chamber_temp_for_flat_print && (bed_temperature_initial_layer_single == 55)}\n G29.1 Z{-0.03} ; for Textured PEI Plate first layer\n {else}\n G29.1 Z{-0.04} ; for Textured PEI Plate\n {endif}\n {else}\n G29.1 Z{-0.01}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n G0 X145 Y0 F24000\n M400\n G130 O0 X145 Y-0.2 Z0.8 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E20 D4\n G90\n M83\n G1 Z0.2\n M400\n;===== nozzle load line end ===========================\nM1007 S1 C1;turn on mass estimation && clear\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.005 S0.01\nM1010 Q1 B0.002 S0.01\nM1010.1 S1\n", - "machine_end_gcode": ";======== A2L end gcode ==========\n;===== 2026/04/07 =====\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\nG150.3\nG1 Y295 F3600\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM142 P1 Q0 ; turn off extruder autocool\n\nM220 S100 ; Reset feedrate magnitude\nM204.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L30 C53 D10 M30 E53 F10 N30 \nM1006 A57 B10 L30 C57 D10 M30 E57 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L30 C53 D10 M30 E53 F10 N30 \nM1006 A57 B10 L30 C57 D10 M30 E57 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L30 C48 D10 M30 E48 F10 N30 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L30 C60 D10 M30 E60 F10 N30 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM1007 S0", - "layer_change_gcode": ";======== A2L layer_change gcode ==========\n;===== 2026/04/29 ====\n; update layer progress\nM201 N1 Y[curr_y_acceleration_limit]\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\nM1007 L1", - "time_lapse_gcode": ";======== A2L timelapse gcode ==========\n;===== 2026/05/09 ====\n{if !spiral_mode && print_sequence != \"by object\"}\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G1 Z{max_layer_z + 0.4} F1200\n G150.3 ; move to garbage can\n G1 Y{first_layer_center_no_wipe_tower[1]} F30000; move to safe pos\n M400\n M1004 S5 P1 ; external shutter\n M971 S11 C11 O0\n M400 P350\nM623\n; SKIPPABLE_END\n{endif}\n; SKIPPABLE_START\n; SKIPTYPE: g39_detection\n; go x0 clamping detection, clear_to_x0 = [clear_to_x0]\n{if !spiral_mode && (print_sequence != \"by object\" || clear_to_x0)}\nM1002 judge_flag g39_detection_flag\nM622 J1\n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 1 || layer_num == 2}\n M400\n G390.7 M7 S1 Z2.5\n {endif}\n {if layer_num > 5 && layer_z <= 10 && layer_z > 0.4 && layer_num % 6 == 0}\n M400\n G390.7 M7 S1 Z2.5\n {endif}\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n M400\n G390.7 M9 S1 Z2.5\n {endif}\n M623\nM623\n{endif}\n; SKIPPABLE_END", - "change_filament_gcode": ";======== A2L filament_change gcode ==========\n;===== 2026/05/26 =====\n\nM620 S[next_filament_id]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_filament_id] == 0 || z_hop_types[current_filament_id] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\") || (filament_type[current_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\") || (filament_type[next_filament_id] == \"PETG-CF\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_filament_id] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_filament_id] E0\n{endif}\n\nM620.11 K0 I[current_filament_id] R0\n\n\nT[next_filament_id]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 80) * 7.5 + 6.5}\n\n; compensate for heating and cooling\n{if flush_length > 0}\n{if flush_temperatures[next_filament_id] > new_filament_temp}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{else}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{endif}\n{endif}\n\n; VFLUSH_END\n\n\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;disable E air printing detect\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PETG\") || (filament_type[next_filament_id] == \"PETG-CF\") || (filament_type[next_filament_id] == \"TPU\") || (filament_type[next_filament_id] == \"TPU-AMS\"))}\n G390.7 M6 G4 C3\n{else}\n G390.7 M6 G6 C3\n{endif}\n\nM620.6 I[next_filament_id] W1 ;enable ams air printing detect\n\n;Set the filament gear warning temperature\n{if (temperature_vitrification[next_filament_id] <= 50)}\n {if ((filament_ids[next_filament_id]==\"GFA05\") || (filament_ids[next_filament_id]==\"GFA06\"))}\n M142 P1 O45; set PLASILK gear warning temperature when filament change\n {else}\n M142 P1 O60; set PLA/PLACF/PLAAERO/PVA/TPU gear warning temperature when filament change\n {endif}\n{else}\n M142 P1 O100 ; set gear warning temperature when filament change\n{endif}\n" + "type": "machine", + "name": "Bambu Lab A2L 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM056", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab A2L", + "printer_variant": "0.4", + "auxiliary_fan": "0", + "bed_exclude_area": [], + "bed_heat_soak_area": [ + "102x93.4", + "228x93.4", + "228x226.6", + "102x226.6", + "60x49", + "270x49", + "270x271", + "60x271" + ], + "default_filament_profile": [ + "Bambu PLA Basic @BBL A2L 0.4 nozzle" + ], + "default_print_profile": "0.20mm Standard @BBL A2L", + "default_wipe_tower_pos": "0.0x1.0", + "deretract_speed_extruder_change": [ + "30" + ], + "enable_long_retraction_when_cut": "2", + "extruder_clearance_dist_to_rod": "56.5", + "extruder_clearance_height_to_lid": "325", + "extruder_clearance_height_to_rod": "25", + "extruder_clearance_max_radius": "73", + "grab_length": [ + "17.4" + ], + "head_wrap_detect_zone": [ + "226x224", + "256x224", + "256x256", + "226x256" + ], + "include": [ + "Bambu Lab A2L 0.4 nozzle template machine_start_gcode", + "Bambu Lab A2L 0.4 nozzle template machine_end_gcode", + "Bambu Lab A2L 0.4 nozzle template layer_change_gcode", + "Bambu Lab A2L 0.4 nozzle template time_lapse_gcode", + "Bambu Lab A2L 0.4 nozzle template change_filament_gcode" + ], + "machine_bed_mass_Y": "2700", + "machine_load_filament_time": "11", + "machine_max_acceleration_extruding": [ + "12000", + "12000" + ], + "machine_max_acceleration_x": [ + "12000", + "12000" + ], + "machine_max_acceleration_y": [ + "8000", + "8000" + ], + "machine_max_acceleration_z": [ + "1500", + "1500" + ], + "machine_max_force_Y": "29", + "machine_max_jerk_e": [ + "3", + "3" + ], + "machine_max_printed_mass": "2000", + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_unload_filament_time": "12", + "nozzle_height": "4.76", + "nozzle_volume": [ + "92" + ], + "printable_area": [ + "0x0", + "330x0", + "330x320", + "0x320" + ], + "printable_height": "325", + "printer_structure": "i3", + "retract_lift_below": [ + "326" + ], + "support_fast_purge_mode": "1", + "support_object_skip_flush": "1", + "upward_compatible_machine": [ + "Bambu Lab H2S 0.4 nozzle" + ], + "default_ams_type": "2", + "ams_filament_load_time_ams": "23", + "ams_filament_load_time_ams_lite": "11", + "ams_filament_load_time_n3f_s": "18", + "ams_filament_unload_time_ams": "21", + "ams_filament_unload_time_ams_lite": "12", + "ams_filament_unload_time_n3f_s": "19" } diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.6 nozzle.json index 56a902f6a2..fa164e3b25 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.6 nozzle.json @@ -1,37 +1,37 @@ { - "type": "machine", - "name": "Bambu Lab A2L 0.6 nozzle", - "inherits": "Bambu Lab A2L 0.4 nozzle", - "from": "system", - "setting_id": "GM057", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab A2L", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A2L 0.6 nozzle" - ], - "default_print_profile": "0.30mm Standard @BBL A2L 0.6 nozzle", - "machine_max_speed_x": [ - "500", - "200" - ], - "machine_max_speed_y": [ - "500", - "200" - ], - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retract_lift_below": [ - "326" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A2L 0.6 nozzle", + "inherits": "Bambu Lab A2L 0.4 nozzle", + "from": "system", + "setting_id": "GM057", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab A2L", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A2L 0.6 nozzle" + ], + "default_print_profile": "0.30mm Standard @BBL A2L 0.6 nozzle", + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retract_lift_below": [ + "326" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A2L 0.8 nozzle.json index 20cf48518c..770a1e9987 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A2L 0.8 nozzle.json @@ -1,37 +1,37 @@ { - "type": "machine", - "name": "Bambu Lab A2L 0.8 nozzle", - "inherits": "Bambu Lab A2L 0.4 nozzle", - "from": "system", - "setting_id": "GM058", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab A2L", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL A2L 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL A2L 0.8 nozzle", - "machine_max_speed_x": [ - "500", - "200" - ], - "machine_max_speed_y": [ - "500", - "200" - ], - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_lift_below": [ - "326" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.8 nozzle" - ] + "type": "machine", + "name": "Bambu Lab A2L 0.8 nozzle", + "inherits": "Bambu Lab A2L 0.4 nozzle", + "from": "system", + "setting_id": "GM058", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab A2L", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL A2L 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL A2L 0.8 nozzle", + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_lift_below": [ + "326" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab A2L.json b/resources/profiles/BBL/machine/Bambu Lab A2L.json index b9ad344d22..fd031b21e8 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A2L.json +++ b/resources/profiles/BBL/machine/Bambu Lab A2L.json @@ -1,17 +1,18 @@ { - "type": "machine_model", - "name": "Bambu Lab A2L", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-H2C.stl", - "bed_texture": "bbl-3dp-logo.svg", - "bottom_texture_rect_longer": "45, -14.5, 240, 8", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "image_bed_type": "o", - "machine_tech": "FFF", - "model_id": "N9", - "not_support_bed_type": "Cool Plate", - "use_double_extruder_default_texture": "true", - "default_materials": "Bambu PLA Matte @BBL A2L;Bambu PLA Basic @BBL A2L;Bambu PLA Silk @BBL A2L;Bambu Support For PLA/PETG @BBL A2L;Bambu TPU 95A @BBL A2L;Bambu PLA Tough @BBL A2L;Generic PLA @BBL A2L;Generic PLA High Speed @BBL A2L;Generic PETG @BBL A2L;Generic PVA @BBL A2L;Bambu PETG HF @BBL A2L" -} + "type": "machine_model", + "name": "Bambu Lab A2L", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-H2C.stl", + "bed_texture": "bbl-3dp-logo.svg", + "bottom_texture_rect_longer": "45, -14.5, 240, 8", + "bottom_texture_rect_longer_ignore_list": "High Temp Plate;Textured PEI Plate", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "image_bed_type": "o", + "machine_tech": "FFF", + "model_id": "N9", + "not_support_bed_type": "Cool Plate", + "use_double_extruder_default_texture": "true", + "default_materials": "Bambu PLA Matte @BBL A2L 0.4 nozzle;Bambu PLA Basic @BBL A2L 0.4 nozzle;Bambu PLA Silk @BBL A2L 0.4 nozzle;Bambu Support For PLA/PETG @BBL A2L;Bambu TPU 95A @BBL A2L;Bambu PLA Tough @BBL A2L;Generic PLA @BBL A2L;Generic PLA High Speed @BBL A2L;Generic PETG @BBL A2L;Generic PVA @BBL A2L;Bambu PETG HF @BBL A2L;Bambu PLA Basic @BBL A2L 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.2 nozzle.json index 1f1f1c4314..dfa0d4fab7 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.2 nozzle.json @@ -1,38 +1,330 @@ { - "type": "machine", - "name": "Bambu Lab H2C 0.2 nozzle", - "inherits": "Bambu Lab H2C 0.4 nozzle", - "from": "system", - "setting_id": "GM042", - "instantiation": "true", - "nozzle_diameter": [ - "0.2", - "0.2" - ], - "printer_model": "Bambu Lab H2C", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2C 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL H2C 0.2 nozzle", - "max_layer_height": [ - "0.14", - "0.14" - ], - "min_layer_height": [ - "0.04", - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab A2L 0.2 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab H2C 0.2 nozzle", + "inherits": "Bambu Lab H2C 0.4 nozzle", + "from": "system", + "setting_id": "GM042", + "instantiation": "true", + "nozzle_diameter": [ + "0.2", + "0.2" + ], + "printer_model": "Bambu Lab H2C", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2C 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL H2C 0.2 nozzle", + "max_layer_height": [ + "0.14", + "0.14" + ], + "min_layer_height": [ + "0.04", + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "hotend_cooling_rate": [ + "1.6", + "1.6", + "3.4", + "3.4" + ], + "hotend_heating_rate": [ + "3.5", + "3.5", + "13.3", + "13.3" + ], + "long_retractions_when_cut": [ + "1", + "1", + "1", + "1" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "14", + "14", + "14", + "14" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..cd7b05a26e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== H2C filament_change ========\n;===== 20260413 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_filament_id]A H[next_hotend]\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if wipe_tower_center_pos_valid}\n M620.14 X[wipe_tower_center_pos_x] Y[wipe_tower_center_pos_y]\n{else}\n M620.14 X95.5 Y336\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n\nM620.15 P[filament_pre_cooling_temperature_nc[next_filament_id]]\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\nM620.11 O1 T[filament_retract_length_nc]\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\nM628 S1\n{if filament_type[current_filament_id] == \"TPU\"}\nM620.11 S0 L0 I[current_filament_id] B[current_hotend] E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_filament_id] == \"PA\") || (filament_type[current_filament_id] == \"PA-GF\")}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R4 D2 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R10 D8 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if (filament_type[current_filament_id] == \"TPU\") && (filament_map[current_filament_id] == 2) && (nozzle_volume_types[current_nozzle_id] != \"TPU High Flow\")}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\n{if (nozzle_volume_types[current_nozzle_id] == \"TPU High Flow\") && (filament_map[current_filament_id] == 2) && (filament_map[next_filament_id] == 1)}\n;sw from R2L&TPU kit, travel run a distance for sketch TPU\nG1 X30 Y30 F5000\nM400\nG1 X300 Y30 F5000\nM400\n{endif}\n\nT[next_filament_id] H[next_hotend]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if (filament_type[next_filament_id] == \"PA\") || (filament_type[next_filament_id] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; compensate for heating and cooling\n{if flush_length > 0}\n{if flush_temperatures[next_filament_id] > new_filament_temp}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{else}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{endif}\n{endif}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\n\n\nM620.10 R{new_extruder_retracted_length}\n\n{if (print_sequence == \"by object\" && !has_wipe_tower)}\nM628 S0 F1 L10.0\n; VFLUSH_START\n;VG1 E10 F[new_filament_e_feedrate]\n; VFLUSH_END\n{else}\nM628 S0\n{endif}\n;VM109 S[new_filament_temp]\n\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\n\n\nM400\n{if wipe_avoid_perimeter}\nG387 Y320 J1 F10000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG387 Y295 J1 F30000\nG387 Y265 J1 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\nM400\n{if wipe_avoid_perimeter}\nG387 Y320 J1 F10000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG387 Y295 J1 F30000\nG387 Y265 J1 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_filament_id] H[next_hotend] W1 ;enable ams air printing detect\nM620 O{toolchange_count + 1}\nM1002 gcode_claim_action : 0" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..696236228e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..e5e8e71c3c --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== machine: H2C end =====\n;====== date: 20260729 ======\n\nM1003 S0\nM73 P100 R0\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\nM640.2 R0\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n\n; pull back filament to AMS\nM620 S65535\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.11 P1 I[current_filament_id] B[current_hotend] E-14\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99\nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99\nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99\nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..5132ccee2e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: H2C =========================\n;===== date: 20260608 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99\nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1\nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\nM620 N ;enable hotend remap\nM620 T0 ;print tmpr\nM620 T1 ;sn -> pos\nM620 T2 ;filament_id\n\n;===== start to heat heatbed & hotend==========\n\n M104 O-80 A\n M140 D[bed_temperature_initial_layer_single]\n\n;===== start to heat heatbead & hotend==========\n\n;===== avoid end stop =================\nG91\nG380 S2 Z42 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ====\n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{if(cooling_filter_enabled)}\nM145.2 P0 F0\n{else}\nM145.2 P0 F1\n{endif}\n{endif}\n;==== set airduct mode ====\n\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nM640 S\nM640.1 R\nM641\nG28 X T300\nT1000\n\nG150.3\nM972 S24 P0 T2000 ; live-view camera foolproof\nM972 S46 P0 T5000 ; vortek anti-collision\nM640.1 S\nM640.4\n{if (first_non_support_filaments[0] != -1)}\nM640 S\nM640.8 T A{first_non_support_filaments[0]} H{first_non_support_hotend[0]}\nM640.7 L\nM641\n{endif}\n\n\n{if wipe_tower_center_pos_valid}\n M620.14 X[wipe_tower_center_pos_x] Y[wipe_tower_center_pos_y]\n{else}\n M620.14 X95.5 Y336\n{endif}\n\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\n\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\nM104 S0\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n\n;===== first homing end =====\n\n;===== detection start =====\n\nM1002 judge_flag build_plate_detect_flag\nM104 S0\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\nM1002 gcode_claim_action : 72 ; Hotend Type Detection\nT1001\nM972 S14 P0 T5000 ; nozzle type detection\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\nG151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Heatbed underside foreign object detection\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\nM620.11 P1 I[initial_no_support_filament_id] B[initial_no_support_hotend] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_filament_id] B[initial_no_support_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_filament_id] == \"PA\") || (filament_type[initial_no_support_filament_id] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R4 D2 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R10 D8 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM621 S[initial_no_support_filament_id]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\nM400\nM106 P1 S0\n\nG91\nG1 Y-16 F60000\nG90\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\n\nM400\n;M73 P99\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J2\n M1002 gcode_claim_action : 54\n M190 D[bed_temperature_initial_layer_single]\n\n M1002 gcode_claim_action : 39\n M620 D[initial_no_support_hotend]\n G383.3 U140 L{initial_no_support_filament_id}\nM623\n\nM622 J1\n M1002 gcode_claim_action : 54\n M190 D[bed_temperature_initial_layer_single]\n\n M1002 gcode_claim_action : 39\n M620 D[initial_no_support_hotend]\n G383 O2 U140 L{initial_no_support_filament_id}\nM623\n\n;===== xy ofst cali end =====\n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n G150.3\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n G150.3\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_filament_id]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\nM622 J0\n G91\n G1 Z5 F1200\n G90\n M1012.7\n G383.7 U140 J0\nM623\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z10 F1200\n{if (first_non_support_filaments[0] != -1) && filament_type[initial_no_support_filament_id] != \"TPU\"}\nM640 S\nM640.7 U\nM640.7 L\nM640.2 R1\nM641\n{endif}\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n M400\nM623\n\nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\nM623\n\nM622 J0\n G28 R\nM623\n\n;===== bed leveling end ================================\n\nG39.1 ; cali nozzle wrapped detection pos\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\n;============switch again==================\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend]\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_filament_id]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\nM141 S[overall_chamber_temperature]\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X165 Y160 F20000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n\n M975 S1\n;===== mech mode sweep end =====\n\n;===== wait temperature reaching the reference value =======\n\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ====\n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n {else}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{0.01}\n {endif}\n {endif}\nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation\nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n\n ========== record data ==========\n M1026\n M1012.8\n M1012.9\n G29.9\n ========== record data ==========\n\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M83\n{if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G1 X290 E10 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] H[initial_no_support_hotend] W1 ;enable ams air printing detect\nM620 O1\n\nM211 Z1\nG29.99\nM1002 gcode_claim_action : 0\nM400\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..927c2fde97 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";===== machine: H2C timelapse =====\n;======== date: 20260731 ========\n\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode && !timelapse_inline_photo}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {elsif has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n \n {if !spiral_mode && !timelapse_inline_photo}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode.json new file mode 100644 index 0000000000..4183c059cd --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode", + "instantiation": "false", + "wrapping_detection_gcode": ";===== machine: H2C =========================\n;===== date: 20251104 =====================\n\n{if !spiral_mode}\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle.json index 867e419c60..95b7be94be 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.4 nozzle.json @@ -10,12 +10,26 @@ "0.4" ], "printer_model": "Bambu Lab H2C", - "printer_variant": "0.4", "farthest_point_timelapse": "1", + "printer_variant": "0.4", "default_filament_profile": [ "Bambu PLA Basic @BBL H2C" ], "default_print_profile": "0.20mm Standard @BBL H2C", + "deretraction_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15", + "15" + ], "enable_long_retraction_when_cut": [ "2" ], @@ -23,6 +37,7 @@ "extruder_clearance_height_to_lid": "201", "extruder_clearance_height_to_rod": "47.4", "extruder_clearance_max_radius": "96", + "extruder_height_gap": "5", "extruder_printable_area": [ "0x0,325x0,325x320,0x320", "25x0,330x0,330x320,25x320" @@ -31,26 +46,174 @@ "1", "6" ], + "extruder_clearance_dist_to_rod": "50", + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow,Direct Drive E3D High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], "fan_direction": "left", "hotend_cooling_rate": [ + "1.6", "1.6", "1.6", "3.4", "3.4" ], "hotend_heating_rate": [ + "3.5", "3.5", "3.5", "13.3", "13.3" ], + "include": [ + "Bambu Lab H2C 0.4 nozzle template machine_start_gcode", + "Bambu Lab H2C 0.4 nozzle template machine_end_gcode", + "Bambu Lab H2C 0.4 nozzle template time_lapse_gcode", + "Bambu Lab H2C 0.4 nozzle template wrapping_detection_gcode", + "Bambu Lab H2C 0.4 nozzle template change_filament_gcode", + "Bambu Lab H2C 0.4 nozzle template layer_change_gcode" + ], "long_retractions_when_cut": [ "1", "1", "1", + "1", "1" ], "machine_load_filament_time": "15", + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], "machine_max_speed_x": [ "1000", "1000", @@ -59,6 +222,8 @@ "1000", "1000", "1000", + "1000", + "1000", "1000" ], "machine_max_speed_y": [ @@ -69,6 +234,8 @@ "1000", "1000", "1000", + "1000", + "1000", "1000" ], "machine_max_speed_z": [ @@ -79,9 +246,12 @@ "30", "30", "30", + "30", + "30", "30" ], "machine_unload_filament_time": "15", + "master_extruder_id": "2", "machine_max_speed_e": [ "50", "50", @@ -90,12 +260,21 @@ "50", "50", "50", + "50", + "50", "50" ], - "master_extruder_id": "2", + "nozzle_flush_dataset": [ + "1", + "2", + "2", + "1", + "2" + ], "nozzle_volume": [ "130", "133", + "133", "145", "148" ], @@ -105,35 +284,142 @@ "330x320", "0x320" ], + "printer_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0", + "0" + ], "retract_lift_below": [ "319", "319", "319", + "319", "319" ], "retraction_distances_when_cut": [ "14", "14", "14", + "14", "14" ], + "retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1", + "1" + ], "support_chamber_temp_control": "1", "support_cooling_filter": "1", + "support_object_skip_flush": "0", + "unprintable_filament_types": [ + "TPU", + "PPS-CF,PPA-CF" + ], + "wipe": [ + "1", + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2", + "2" + ], "wrapping_exclude_area": [ "145x310", "251x310", "251x326", "145x326" ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], "upward_compatible_machine": [ "Bambu Lab H2S 0.4 nozzle", "Bambu Lab H2D 0.4 nozzle", "Bambu Lab H2D Pro 0.4 nozzle", "Bambu Lab A2L 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: H2C =========================\n;===== date: 20260608 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99\nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1\nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\nM620 N ;enable hotend remap\nM620 T0 ;print tmpr\nM620 T1 ;sn -> pos\nM620 T2 ;filament_id\n\n;===== start to heat heatbed & hotend==========\n\n M104 O-80 A\n M140 D[bed_temperature_initial_layer_single]\n\n;===== start to heat heatbead & hotend==========\n\n;===== avoid end stop =================\nG91\nG380 S2 Z42 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ====\n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{if(cooling_filter_enabled)}\nM145.2 P0 F0\n{else}\nM145.2 P0 F1\n{endif}\n{endif}\n;==== set airduct mode ====\n\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nM640 S\nM640.1 R\nM641\nG28 X T300\nT1000\n\nG150.3\nM972 S24 P0 T2000 ; live-view camera foolproof\nM972 S46 P0 T5000 ; vortek anti-collision\nM640.1 S\nM640.4\n{if (first_non_support_filaments[0] != -1)}\nM640 S\nM640.8 T A{first_non_support_filaments[0]} H{first_non_support_hotend[0]}\nM640.7 L\nM641\n{endif}\n\n\n{if wipe_tower_center_pos_valid}\n M620.14 X[wipe_tower_center_pos_x] Y[wipe_tower_center_pos_y]\n{else}\n M620.14 X95.5 Y336\n{endif}\n\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\n\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\nM104 S0\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n\n;===== first homing end =====\n\n;===== detection start =====\n\nM1002 judge_flag build_plate_detect_flag\nM104 S0\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\nM1002 gcode_claim_action : 72 ; Hotend Type Detection\nT1001\nM972 S14 P0 T5000 ; nozzle type detection\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\nG151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Heatbed underside foreign object detection\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\nM620.11 P1 I[initial_no_support_filament_id] B[initial_no_support_hotend] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_filament_id] B[initial_no_support_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_filament_id] == \"PA\") || (filament_type[initial_no_support_filament_id] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R4 D2 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R10 D8 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM621 S[initial_no_support_filament_id]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\nM400\nM106 P1 S0\n\nG91\nG1 Y-16 F60000\nG90\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\n\nM400\n;M73 P99\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J2\n M1002 gcode_claim_action : 54\n M190 D[bed_temperature_initial_layer_single]\n\n M1002 gcode_claim_action : 39\n M620 D[initial_no_support_hotend]\n G383.3 U140 L{initial_no_support_filament_id}\nM623\n\nM622 J1\n M1002 gcode_claim_action : 54\n M190 D[bed_temperature_initial_layer_single]\n\n M1002 gcode_claim_action : 39\n M620 D[initial_no_support_hotend]\n G383 O2 U140 L{initial_no_support_filament_id}\nM623\n\n;===== xy ofst cali end =====\n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n G150.3\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n G150.3\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_filament_id]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\nM622 J0\n G91\n G1 Z5 F1200\n G90\n M1012.7\n G383.7 U140 J0\nM623\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z10 F1200\n{if (first_non_support_filaments[0] != -1) && filament_type[initial_no_support_filament_id] != \"TPU\"}\nM640 S\nM640.7 U\nM640.7 L\nM640.2 R1\nM641\n{endif}\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n M400\nM623\n\nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\nM623\n\nM622 J0\n G28 R\nM623\n\n;===== bed leveling end ================================\n\nG39.1 ; cali nozzle wrapped detection pos\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\n;============switch again==================\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend]\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_filament_id]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\nM141 S[overall_chamber_temperature]\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X165 Y160 F20000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n\n M975 S1\n;===== mech mode sweep end =====\n\n;===== wait temperature reaching the reference value =======\n\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ====\n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n {else}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{0.01}\n {endif}\n {endif}\nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation\nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n\n ========== record data ==========\n M1026\n M1012.8\n M1012.9\n G29.9\n ========== record data ==========\n\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M83\n{if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G1 X290 E10 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] H[initial_no_support_hotend] W1 ;enable ams air printing detect\nM620 O1\n\nM211 Z1\nG29.99\nM1002 gcode_claim_action : 0\nM400\n", - "machine_end_gcode": ";===== machine: H2C end =====\n;====== date: 20260313 ======\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\nM640.2 R0\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n\n; pull back filament to AMS\nM620 S65535\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.11 P1 I[current_filament_id] B[current_hotend] E-14\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99\nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99\nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99\nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0\nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99\nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "time_lapse_gcode": ";===== machine: H2C timelapse =====\n;======== date: 20260603 ========\n\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {elsif has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n \n {if !spiral_mode}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n", - "wrapping_detection_gcode": ";===== machine: H2C =========================\n;===== date: 20251104 =====================\n\n{if !spiral_mode}\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n{endif}\n", - "change_filament_gcode": ";======== H2C filament_change ========\n;===== 20260413 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_filament_id]A H[next_hotend]\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if wipe_tower_center_pos_valid}\n M620.14 X[wipe_tower_center_pos_x] Y[wipe_tower_center_pos_y]\n{else}\n M620.14 X95.5 Y336\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n\nM620.15 P[filament_pre_cooling_temperature_nc[next_filament_id]]\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\nM620.11 O1 T[filament_retract_length_nc]\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\nM628 S1\n{if filament_type[current_filament_id] == \"TPU\"}\nM620.11 S0 L0 I[current_filament_id] B[current_hotend] E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_filament_id] == \"PA\") || (filament_type[current_filament_id] == \"PA-GF\")}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R4 D2 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R10 D8 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if (filament_type[current_filament_id] == \"TPU\") && (filament_map[current_filament_id] == 2) && (nozzle_volume_types[current_nozzle_id] != \"TPU High Flow\")}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\n{if (nozzle_volume_types[current_nozzle_id] == \"TPU High Flow\") && (filament_map[current_filament_id] == 2) && (filament_map[next_filament_id] == 1)}\n;sw from R2L&TPU kit, travel run a distance for sketch TPU\nG1 X30 Y30 F5000\nM400\nG1 X300 Y30 F5000\nM400\n{endif}\n\nT[next_filament_id] H[next_hotend]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if (filament_type[next_filament_id] == \"PA\") || (filament_type[next_filament_id] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; compensate for heating and cooling\n{if flush_length > 0}\n{if flush_temperatures[next_filament_id] > new_filament_temp}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{else}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{endif}\n{endif}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\n\n\nM620.10 R{new_extruder_retracted_length}\n\n{if (print_sequence == \"by object\" && !has_wipe_tower)}\nM628 S0 F1 L10.0\n; VFLUSH_START\n;VG1 E10 F[new_filament_e_feedrate]\n; VFLUSH_END\n{else}\nM628 S0\n{endif}\n;VM109 S[new_filament_temp]\n\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\n\n\nM400\n{if wipe_avoid_perimeter}\nG387 Y320 J1 F10000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG387 Y295 J1 F30000\nG387 Y265 J1 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\nM400\n{if wipe_avoid_perimeter}\nG387 Y320 J1 F10000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG387 Y295 J1 F30000\nG387 Y265 J1 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_filament_id] H[next_hotend] W1 ;enable ams air printing detect\nM620 O{toolchange_count + 1}\nM1002 gcode_claim_action : 0" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.6 nozzle.json index 7174ec6f93..4860dac550 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.6 nozzle.json @@ -1,38 +1,39 @@ { - "type": "machine", - "name": "Bambu Lab H2C 0.6 nozzle", - "inherits": "Bambu Lab H2C 0.4 nozzle", - "from": "system", - "setting_id": "GM043", - "instantiation": "true", - "nozzle_diameter": [ - "0.6", - "0.6" - ], - "printer_model": "Bambu Lab H2C", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL H2C 0.6 nozzle", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2C 0.6 nozzle" - ], - "max_layer_height": [ - "0.42", - "0.42" - ], - "min_layer_height": [ - "0.12", - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4", - "1.4", - "1.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab A2L 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab H2C 0.6 nozzle", + "inherits": "Bambu Lab H2C 0.4 nozzle", + "from": "system", + "setting_id": "GM043", + "instantiation": "true", + "nozzle_diameter": [ + "0.6", + "0.6" + ], + "printer_model": "Bambu Lab H2C", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL H2C 0.6 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2C 0.6 nozzle" + ], + "max_layer_height": [ + "0.42", + "0.42" + ], + "min_layer_height": [ + "0.12", + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4", + "1.4", + "1.4", + "1.4" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2C 0.8 nozzle.json index 67da881c6d..7ff6023625 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2C 0.8 nozzle.json @@ -1,38 +1,330 @@ { - "type": "machine", - "name": "Bambu Lab H2C 0.8 nozzle", - "inherits": "Bambu Lab H2C 0.4 nozzle", - "from": "system", - "setting_id": "GM044", - "instantiation": "true", - "nozzle_diameter": [ - "0.8", - "0.8" - ], - "printer_model": "Bambu Lab H2C", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @BBL H2C 0.8 nozzle", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2C 0.8 nozzle" - ], - "max_layer_height": [ - "0.56", - "0.56" - ], - "min_layer_height": [ - "0.16", - "0.16" - ], - "retraction_length": [ - "3", - "3", - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab A2L 0.8 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab H2C 0.8 nozzle", + "inherits": "Bambu Lab H2C 0.4 nozzle", + "from": "system", + "setting_id": "GM044", + "instantiation": "true", + "nozzle_diameter": [ + "0.8", + "0.8" + ], + "printer_model": "Bambu Lab H2C", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @BBL H2C 0.8 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2C 0.8 nozzle" + ], + "max_layer_height": [ + "0.56", + "0.56" + ], + "min_layer_height": [ + "0.16", + "0.16" + ], + "retraction_length": [ + "3", + "3", + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "hotend_cooling_rate": [ + "1.6", + "1.6", + "3.4", + "3.4" + ], + "hotend_heating_rate": [ + "3.5", + "3.5", + "13.3", + "13.3" + ], + "long_retractions_when_cut": [ + "1", + "1", + "1", + "1" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "14", + "14", + "14", + "14" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2C.json b/resources/profiles/BBL/machine/Bambu Lab H2C.json index 92645a5933..287754bacc 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2C.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2C.json @@ -1,16 +1,17 @@ { - "type": "machine_model", - "name": "Bambu Lab H2C", - "nozzle_diameter": "0.2;0.4;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-H2C.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "bottom_texture_rect_longer": "45, -14.5, 240, 8", - "image_bed_type": "o", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "O1C2", - "not_support_bed_type": "Cool Plate;Smooth PEI Plate / High Temp Plate", - "default_materials": "Bambu PLA Basic @BBL H2C;Bambu PLA-CF @BBL H2C;Bambu PETG Basic @BBL H2C;Bambu ABS @BBL H2C;Bambu PETG HF @BBL H2C;Bambu PLA Silk @BBL H2C;Bambu PLA Matte @BBL H2C;Bambu PC @BBL H2C;Bambu PA-CF @BBL H2C;Bambu PLA Pure @BBL H2C" -} + "type": "machine_model", + "name": "Bambu Lab H2C", + "nozzle_diameter": "0.2;0.4;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-H2C.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "bottom_texture_rect_longer": "45, -14.5, 240, 8", + "bottom_texture_rect_longer_ignore_list": "High Temp Plate;Textured PEI Plate", + "image_bed_type": "o", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "O1C2", + "not_support_bed_type": "Cool Plate;Smooth PEI Plate / High Temp Plate", + "default_materials": "Bambu PLA Basic @BBL H2C;Bambu PLA-CF @BBL H2C;Bambu PETG Basic @BBL H2C;Bambu ABS @BBL H2C;Bambu PETG HF @BBL H2C;Bambu PLA Silk @BBL H2C;Bambu PLA Matte @BBL H2C;Bambu PC @BBL H2C;Bambu PA-CF @BBL H2C;Bambu PLA Pure @BBL H2C;Bambu PLA Basic @BBL H2C 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.2 nozzle.json index 5f4e504a7d..a49f262539 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.2 nozzle.json @@ -1,333 +1,327 @@ { - "type": "machine", - "name": "Bambu Lab H2D 0.2 nozzle", - "inherits": "Bambu Lab H2D 0.4 nozzle", - "from": "system", - "setting_id": "GM034", - "instantiation": "true", - "nozzle_diameter": [ - "0.2", - "0.2" - ], - "printer_model": "Bambu Lab H2D", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2D 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL H2D 0.2 nozzle", - "max_layer_height": [ - "0.14", - "0.14" - ], - "min_layer_height": [ - "0.04", - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ], - "deretraction_speed": [ - "30", - "30", - "30", - "30" - ], - "deretract_speed_extruder_change": [ - "15", - "15", - "15", - "15" - ], - "hotend_cooling_rate": [ - "2", - "2", - "2", - "2" - ], - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "500", - "500", - "500", - "500", - "500", - "500", - "500" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3", - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "nozzle_flush_dataset": [ - "1", - "2", - "1", - "2" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "130", - "133", - "145", - "148" - ], - "printer_extruder_id": [ - "1", - "1", - "2", - "2" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%", - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2", - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0", - "0", - "0" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319" - ], - "retract_restart_extra": [ - "0", - "0", - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0", - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1", - "1", - "1" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "retraction_minimum_travel": [ - "1", - "1", - "1", - "1" - ], - "retraction_speed": [ - "30", - "30", - "30", - "30" - ], - "wipe": [ - "1", - "1", - "1", - "1" - ], - "wipe_distance": [ - "2", - "2", - "2", - "2" - ], - "z_hop": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift", - "Auto Lift", - "Auto Lift" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow" - ] -} + "type": "machine", + "name": "Bambu Lab H2D 0.2 nozzle", + "inherits": "Bambu Lab H2D 0.4 nozzle", + "from": "system", + "setting_id": "GM034", + "instantiation": "true", + "nozzle_diameter": [ + "0.2", + "0.2" + ], + "printer_model": "Bambu Lab H2D", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2D 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL H2D 0.2 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "max_layer_height": [ + "0.14", + "0.14" + ], + "min_layer_height": [ + "0.04", + "0.04" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..5f276e3e25 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== H2D ========\n;===== 20260528 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_filament_id]A H[next_hotend]\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\nM628 S1\n{if filament_type[current_filament_id] == \"TPU\"}\nM620.11 S0 L0 I[current_filament_id] B[current_hotend] E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_filament_id] == \"PA\") || (filament_type[current_filament_id] == \"PA-GF\")}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R4 D2 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_filament_id] B[current_hotend] R10 D8 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if (filament_type[current_filament_id] == \"TPU\") && (filament_map[current_filament_id] == 2) && (nozzle_volume_types[current_nozzle_id] != \"TPU High Flow\")}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\n{if (nozzle_volume_types[current_nozzle_id] == \"TPU High Flow\") && (filament_map[current_filament_id] == 2) && (filament_map[next_filament_id] == 1)}\n;sw from R2L&TPU kit, travel run a distance for sketch TPU\nG1 X30 Y30 F5000\nM400\nG1 X300 Y30 F5000\nM400\n{endif}\n\nT[next_filament_id] H[next_hotend]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if (filament_type[next_filament_id] == \"PA\") || (filament_type[next_filament_id] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; compensate for heating and cooling\n{if flush_length > 0}\n{if flush_temperatures[next_filament_id] > new_filament_temp}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(flush_temperatures[next_filament_id]-(new_filament_temp - filament_cooling_before_tower[next_filament_id]))/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{else}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_cooling_rate[filament_map[next_filament_id]-1]}\nSYNC T{(new_filament_temp - filament_cooling_before_tower[next_filament_id] -flush_temperatures[next_filament_id])/hotend_heating_rate[filament_map[next_filament_id]-1]}\n{endif}\n{endif}\n\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\n\nM620.10 R{new_extruder_retracted_length}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_filament_id] H[next_hotend] W1 ;enable ams air printing detect\nM620 Q{toolchange_count + 1}\nM1002 gcode_claim_action : 0\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..86fc6203a6 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";======== H2D 20250710 layer_change ========\n; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..c22aa7c986 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";========== H2D end ==========\n;===== date: 2026/07/29 =====\n\nM1003 S0\nM73 P100 R0\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..519b801692 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: H2D =========================\n;===== date: 20260605 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99\nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1\nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z42 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ====\n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n {if(cooling_filter_enabled)}\n M145.2 P0 F0\n {else}\n M145.2 P0 F1\n {endif}\n{endif}\n\n;==== set airduct mode ====\n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n\n M104 S140 A\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\n\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\nM1002 gcode_claim_action : 72 ; Hotend Type Detection\nT1001\nM972 S14 P0 T5000 ; nozzle type detection\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\nG151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Heatbed underside foreign object detection\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\nM620.11 P0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_filament_id] B[initial_no_support_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_filament_id] == \"PA\") || (filament_type[initial_no_support_filament_id] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R4 D2 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R10 D8 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM621 S[initial_no_support_filament_id]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_filament_id]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n M400\nM623\n\nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\nM623\n\nM622 J0\n G28 R\nM623\n\n;===== bed leveling end ================================\n\n;===== z ofst cali start =====\n\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n\n G383 O0 M2 T140\n\n;===== z ofst cali end =====\n\nG39.1 ; cali nozzle wrapped detection pos\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} A\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\nG29.9\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\nM400\n;M73 P99\n\nM1002 gcode_claim_action : 0\nM400\n\n;============switch again==================\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM620 S[initial_no_support_filament_id]A H[initial_no_support_hotend]\nM400\nT[initial_no_support_filament_id] H[initial_no_support_hotend]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_filament_id]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ====\n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n {else}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{0.01}\n {endif}\n {endif}\n\nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation\nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M83\n{if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G1 X290 E10 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] H[initial_no_support_hotend] W1 ;enable ams air printing detect\nM620 Q1\n\nM211 Z1\nG29.99\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..d0bc930da5 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";======== H2D 20260731========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode && !timelapse_inline_photo}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M622.1 S0 ; for prev firmware, default turn off\n M1002 set_flag smooth_safe_pos_suppoprt_flag=1\n M1002 judge_flag smooth_safe_pos_suppoprt_flag\n \n M622 J0\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && timelapse_type == 0 && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n\n M622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n {endif}\n \n {if !spiral_mode && !timelapse_inline_photo}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode.json new file mode 100644 index 0000000000..c174f3658d --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode", + "instantiation": "false", + "wrapping_detection_gcode": ";======== H2D 20250729 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle.json index 6259ce4946..7102ecef5b 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.4 nozzle.json @@ -10,131 +10,15 @@ "0.4" ], "printer_model": "Bambu Lab H2D", - "printer_variant": "0.4", "farthest_point_timelapse": "1", - "enable_long_retraction_when_cut": [ - "2" - ], - "enable_pre_heating": "1", - "extruder_clearance_dist_to_rod": "50", - "extruder_clearance_height_to_lid": "201", - "extruder_clearance_height_to_rod": "47.4", - "extruder_clearance_max_radius": "96", - "extruder_printable_area": [ - "0x0,325x0,325x320,0x320", - "25x0,350x0,350x320,25x320" - ], - "fan_direction": "left", - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6", - "3.6" - ], - "machine_load_filament_time": "30", - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "machine_switch_extruder_time": "5.6", - "machine_unload_filament_time": "30", - "master_extruder_id": "2", - "nozzle_volume": [ - "130", - "133", - "145", - "148", - "148" - ], - "printable_area": [ - "0x0", - "350x0", - "350x320", - "0x320" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319", - "319" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10", - "10" - ], - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_cooling_filter": "1", - "support_object_skip_flush": "1", - "wrapping_exclude_area": [ - "145x310", - "256x310", - "256x326", - "145x326" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: H2D =========================\n;===== date: 20260116 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99 \nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99 \nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1 \nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z42 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ==== \n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n {if(cooling_filter_enabled)}\n M145.2 P0 F0\n {else}\n M145.2 P0 F1\n {endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n M104 S140 A\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\n\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\n \nM1002 judge_flag build_plate_detect_flag\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\nM1002 gcode_claim_action : 72 ; Hotend Type Detection\nT1001\nM972 S14 P0 T5000 ; nozzle type detection\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} T{filament_map[initial_no_support_extruder] % 2} ; rise temp in advance\n\nG151 P{filament_map[initial_no_support_extruder] % 2} M ; plug the heat nozzle\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Heatbed underside foreign object detection\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n\nM620.11 P0 I[initial_no_support_extruder] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_extruder] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_extruder] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_extruder] E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_extruder] == \"PA\") || (filament_type[initial_no_support_extruder] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_extruder] R4 D2 E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_extruder] R10 D8 E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_extruder]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R \n M400\n M500 ; save cali data\nM623\n \nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M500 ; save cali data\nM623\n\nM622 J0\n G28 R\nM623\n\n;===== bed leveling end ================================\n\n;===== z ofst cali start =====\n\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n\n G383 O0 M2 T140\n M500\n\n;===== z ofst cali end =====\n\nG39.1 ; cali nozzle wrapped detection pos\nM500\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n M500\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\nG29.9\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\n M500\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M500\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M500\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\nM400\n;M73 P99\n\nM1002 gcode_claim_action : 0\nM400\n\n;============switch again==================\n\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM620 S[initial_no_support_extruder]A\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_extruder]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single] \nM190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ==== \n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if nozzle_diameter[initial_no_support_extruder] == 0.2}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n {else}\n {if nozzle_diameter[initial_no_support_extruder] == 0.2}\n G29.1 Z{0.01} ; for Textured PEI Plate\n {endif}\n {endif}\n \nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation \nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M83\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n{endif}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n G1 X290 E10 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM211 Z1\nG29.99\n\n\n", - "machine_end_gcode": ";========== H2D end ==========\n;===== date: 2025/12/26 =====\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nM400\nM211 Z1\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "layer_change_gcode": ";======== H2D 20250710 layer_change ========\n; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", - "time_lapse_gcode": ";======== H2D 20260612========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M622.1 S0 ; for prev firmware, default turn off\n M1002 set_flag smooth_safe_pos_suppoprt_flag=1\n M1002 judge_flag smooth_safe_pos_suppoprt_flag\n \n M622 J0\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && timelapse_type == 0 && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n\n M622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n {endif}\n \n {if !spiral_mode}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n", - "wrapping_detection_gcode": ";======== H2D 20250729 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}\n", - "change_filament_gcode": ";======== H2D ========\n;===== 20260116 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_extruder]A\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_extruder] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_extruder] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_extruder] R0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_extruder]}\n\nM628 S1\n{if filament_type[current_extruder] == \"TPU\"}\nM620.11 S0 L0 I[current_extruder] E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_extruder] == \"PA\") || (filament_type[current_extruder] == \"PA-GF\")}\nM620.11 S1 L0 I[current_extruder] R4 D2 E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_extruder] R10 D8 E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if (filament_type[current_extruder] == \"TPU\" || filament_type[next_extruder] == \"TPU\") && (old_extruder_variant != \"Direct Drive TPU High Flow\")}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\n{if (old_extruder_variant == \"Direct Drive TPU High Flow\") && (filament_map[current_extruder] == 2) && (filament_map[next_extruder] == 1)}\n;debug log pe:{previous_extruder} ce:{current_extruder} ne:{next_extruder} oev: {old_extruder_variant} nev:{new_extruder_variant}\n;debug fm-curr:{filament_map[current_extruder]} fm-next:{filament_map[next_extruder]}\n;sw from R2L&TPU kit, travel run a distance for sketch TPU\nG1 X30 Y30 F5000\nM400\nG1 X300 Y30 F5000\nM400\n{endif}\n\nT[next_extruder]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if (filament_type[next_extruder] == \"PA\") || (filament_type[next_extruder] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\n\nM620.10 R{new_extruder_retracted_length}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{new_extruder_retracted_length}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\nM1002 gcode_claim_action : 0", + "printer_variant": "0.4", "deretraction_speed": [ "30", "30", "30", "30", + "30", + "30", "30" ], "deretract_speed_extruder_change": [ @@ -142,22 +26,64 @@ "15", "15", "15", + "15", + "15", "15" ], + "extruder_clearance_height_to_lid": "201", + "extruder_clearance_height_to_rod": "47.4", + "extruder_clearance_max_radius": "96", + "extruder_clearance_dist_to_rod": "50", + "enable_long_retraction_when_cut": [ + "2" + ], + "enable_pre_heating": "1", + "extruder_height_gap": "5", + "extruder_printable_area": [ + "0x0,325x0,325x320,0x320", + "25x0,350x0,350x320,25x320" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow,Direct Drive E3D High Flow", + "Direct Drive Standard,Direct Drive High Flow,Direct Drive TPU High Flow,Direct Drive E3D High Flow" + ], + "fan_direction": "left", "hotend_cooling_rate": [ "2", "2", "2", "2", + "2", + "2", "2" ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6", + "3.6", + "3.6", + "3.6" + ], + "include": [ + "Bambu Lab H2D 0.4 nozzle template machine_start_gcode", + "Bambu Lab H2D 0.4 nozzle template machine_end_gcode", + "Bambu Lab H2D 0.4 nozzle template layer_change_gcode", + "Bambu Lab H2D 0.4 nozzle template time_lapse_gcode", + "Bambu Lab H2D 0.4 nozzle template wrapping_detection_gcode", + "Bambu Lab H2D 0.4 nozzle template change_filament_gcode" + ], "long_retractions_when_cut": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "machine_load_filament_time": "26", "machine_max_acceleration_e": [ "5000", "5000", @@ -168,6 +94,10 @@ "5000", "5000", "5000", + "5000", + "5000", + "5000", + "5000", "5000" ], "machine_max_acceleration_extruding": [ @@ -180,6 +110,10 @@ "20000", "20000", "20000", + "20000", + "20000", + "20000", + "20000", "20000" ], "machine_max_acceleration_retracting": [ @@ -192,20 +126,12 @@ "5000", "5000", "5000", + "5000", + "5000", + "5000", + "5000", "5000" ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], "machine_max_acceleration_x": [ "20000", "20000", @@ -216,6 +142,10 @@ "20000", "20000", "20000", + "20000", + "20000", + "20000", + "20000", "20000" ], "machine_max_acceleration_y": [ @@ -228,6 +158,10 @@ "20000", "20000", "20000", + "20000", + "20000", + "20000", + "20000", "20000" ], "machine_max_acceleration_z": [ @@ -240,6 +174,10 @@ "500", "500", "500", + "500", + "500", + "500", + "500", "500" ], "machine_max_jerk_e": [ @@ -252,6 +190,10 @@ "2.5", "2.5", "2.5", + "2.5", + "2.5", + "2.5", + "2.5", "2.5" ], "machine_max_jerk_x": [ @@ -264,6 +206,10 @@ "9", "9", "9", + "9", + "9", + "9", + "9", "9" ], "machine_max_jerk_y": [ @@ -276,6 +222,10 @@ "9", "9", "9", + "9", + "9", + "9", + "9", "9" ], "machine_max_jerk_z": [ @@ -288,25 +238,124 @@ "3", "3", "3", + "3", + "3", + "3", + "3", "3" ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "machine_switch_extruder_time": "5.6", + "machine_unload_filament_time": "26", + "master_extruder_id": "2", + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], "nozzle_flush_dataset": [ "1", "2", + "2", "1", "2", + "2", "2" ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" + "nozzle_volume": [ + "130", + "133", + "133", + "145", + "148", + "148", + "148" + ], + "printable_area": [ + "0x0", + "350x0", + "350x320", + "0x320" ], "printer_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -314,15 +363,19 @@ "printer_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], "retract_before_wipe": [ "0%", "0%", "0%", "0%", + "0%", + "0%", "0%" ], "retract_length_toolchange": [ @@ -330,20 +383,17 @@ "2", "2", "2", + "2", + "2", "2" ], - "retract_lift_above": [ - "0", - "0", - "0", - "0", - "0" - ], "retract_restart_extra": [ "0", "0", "0", "0", + "0", + "0", "0" ], "retract_restart_extra_toolchange": [ @@ -351,6 +401,8 @@ "0", "0", "0", + "0", + "0", "0" ], "retract_when_changing_layer": [ @@ -358,13 +410,26 @@ "1", "1", "1", + "1", + "1", "1" ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10", + "10", + "10" + ], "retraction_length": [ "0.8", "0.8", "0.8", "0.8", + "0.8", + "0.8", "0.8" ], "retraction_minimum_travel": [ @@ -372,6 +437,8 @@ "1", "1", "1", + "1", + "1", "1" ], "retraction_speed": [ @@ -379,20 +446,53 @@ "30", "30", "30", + "30", + "30", "30" ], + "retract_lift_above": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319", + "319", + "319", + "319" + ], + "support_cooling_filter": "1", + "support_chamber_temp_control": "1", + "support_object_skip_flush": "0", "wipe": [ "1", "1", "1", "1", + "1", + "1", "1" ], + "wrapping_exclude_area": [ + "145x310", + "256x310", + "256x326", + "145x326" + ], "wipe_distance": [ "2", "2", "2", "2", + "2", + "2", "2" ], "z_hop": [ @@ -400,6 +500,8 @@ "0.4", "0.4", "0.4", + "0.4", + "0.4", "0.4" ], "z_hop_types": [ @@ -407,10 +509,11 @@ "Auto Lift", "Auto Lift", "Auto Lift", + "Auto Lift", + "Auto Lift", "Auto Lift" ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow,Direct Drive TPU High Flow" + "upward_compatible_machine": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.6 nozzle.json index 164b2a606c..3b45d9a6e7 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.6 nozzle.json @@ -1,36 +1,38 @@ { - "type": "machine", - "name": "Bambu Lab H2D 0.6 nozzle", - "inherits": "Bambu Lab H2D 0.4 nozzle", - "from": "system", - "setting_id": "GM035", - "instantiation": "true", - "nozzle_diameter": [ - "0.6", - "0.6" - ], - "printer_model": "Bambu Lab H2D", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2D 0.6 nozzle" - ], - "default_print_profile": "0.30mm Standard @BBL H2D 0.6 nozzle", - "max_layer_height": [ - "0.42", - "0.42" - ], - "min_layer_height": [ - "0.12", - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4", - "1.4", - "1.4", - "1.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab H2D 0.6 nozzle", + "inherits": "Bambu Lab H2D 0.4 nozzle", + "from": "system", + "setting_id": "GM035", + "instantiation": "true", + "nozzle_diameter": [ + "0.6", + "0.6" + ], + "printer_model": "Bambu Lab H2D", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2D 0.6 nozzle" + ], + "default_print_profile": "0.30mm Standard @BBL H2D 0.6 nozzle", + "max_layer_height": [ + "0.42", + "0.42" + ], + "min_layer_height": [ + "0.12", + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4", + "1.4", + "1.4", + "1.4", + "1.4", + "1.4" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D Pro 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D 0.8 nozzle.json index acae75a038..c5350f5c19 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D 0.8 nozzle.json @@ -1,333 +1,327 @@ { - "type": "machine", - "name": "Bambu Lab H2D 0.8 nozzle", - "inherits": "Bambu Lab H2D 0.4 nozzle", - "from": "system", - "setting_id": "GM036", - "instantiation": "true", - "nozzle_diameter": [ - "0.8", - "0.8" - ], - "printer_model": "Bambu Lab H2D", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2D 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL H2D 0.8 nozzle", - "max_layer_height": [ - "0.56", - "0.56" - ], - "min_layer_height": [ - "0.16", - "0.16" - ], - "retraction_length": [ - "3", - "3", - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ], - "deretraction_speed": [ - "30", - "30", - "30", - "30" - ], - "deretract_speed_extruder_change": [ - "15", - "15", - "15", - "15" - ], - "hotend_cooling_rate": [ - "2", - "2", - "2", - "2" - ], - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "500", - "500", - "500", - "500", - "500", - "500", - "500" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3", - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "nozzle_flush_dataset": [ - "1", - "2", - "1", - "2" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "130", - "133", - "145", - "148" - ], - "printer_extruder_id": [ - "1", - "1", - "2", - "2" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%", - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2", - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0", - "0", - "0" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319" - ], - "retract_restart_extra": [ - "0", - "0", - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0", - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1", - "1", - "1" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "retraction_minimum_travel": [ - "1", - "1", - "1", - "1" - ], - "retraction_speed": [ - "30", - "30", - "30", - "30" - ], - "wipe": [ - "1", - "1", - "1", - "1" - ], - "wipe_distance": [ - "2", - "2", - "2", - "2" - ], - "z_hop": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift", - "Auto Lift", - "Auto Lift" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow" - ] -} + "type": "machine", + "name": "Bambu Lab H2D 0.8 nozzle", + "inherits": "Bambu Lab H2D 0.4 nozzle", + "from": "system", + "setting_id": "GM036", + "instantiation": "true", + "nozzle_diameter": [ + "0.8", + "0.8" + ], + "printer_model": "Bambu Lab H2D", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2D 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL H2D 0.8 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "max_layer_height": [ + "0.56", + "0.56" + ], + "min_layer_height": [ + "0.16", + "0.16" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "retraction_length": [ + "3", + "3", + "3", + "3" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.2 nozzle.json index 2a5830740f..91172e21ee 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.2 nozzle.json @@ -1,327 +1,327 @@ { - "type": "machine", - "name": "Bambu Lab H2D Pro 0.2 nozzle", - "inherits": "Bambu Lab H2D Pro 0.4 nozzle", - "from": "system", - "setting_id": "GM052", - "instantiation": "true", - "nozzle_diameter": [ - "0.2", - "0.2" - ], - "printer_model": "Bambu Lab H2D Pro", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2DP 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL H2DP 0.2 nozzle", - "max_layer_height": [ - "0.14", - "0.14" - ], - "min_layer_height": [ - "0.04", - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.2 nozzle" - ], - "deretraction_speed": [ - "30", - "30", - "30", - "30" - ], - "hotend_cooling_rate": [ - "2", - "2", - "2", - "2" - ], - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "500", - "500", - "500", - "500", - "500", - "500", - "500" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3", - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "nozzle_flush_dataset": [ - "1", - "2", - "1", - "2" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "130", - "133", - "145", - "148" - ], - "printer_extruder_id": [ - "1", - "1", - "2", - "2" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%", - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2", - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0", - "0", - "0" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319" - ], - "retract_restart_extra": [ - "0", - "0", - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0", - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1", - "1", - "1" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "retraction_minimum_travel": [ - "1", - "1", - "1", - "1" - ], - "retraction_speed": [ - "30", - "30", - "30", - "30" - ], - "wipe": [ - "1", - "1", - "1", - "1" - ], - "wipe_distance": [ - "2", - "2", - "2", - "2" - ], - "z_hop": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift", - "Auto Lift", - "Auto Lift" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow" - ] -} + "type": "machine", + "name": "Bambu Lab H2D Pro 0.2 nozzle", + "inherits": "Bambu Lab H2D Pro 0.4 nozzle", + "from": "system", + "setting_id": "GM052", + "instantiation": "true", + "nozzle_diameter": [ + "0.2", + "0.2" + ], + "printer_model": "Bambu Lab H2D Pro", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2DP 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL H2DP 0.2 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "max_layer_height": [ + "0.14", + "0.14" + ], + "min_layer_height": [ + "0.04", + "0.04" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "retraction_length": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..88aae84286 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== H2D Pro filament ========\n;===== 20260115 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_filament_id]A\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_filament_id] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_filament_id] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] R0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\nM628 S1\n{if filament_type[current_filament_id] == \"TPU\"}\nM620.11 S0 L0 I[current_filament_id] E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_filament_id] == \"PA\") || (filament_type[current_filament_id] == \"PA-GF\")}\nM620.11 S1 L0 I[current_filament_id] R4 D2 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_filament_id] R10 D8 E-{retraction_distances_when_cut[current_filament_id]} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if (filament_type[current_filament_id] == \"TPU\" || filament_type[next_filament_id] == \"TPU\") && (nozzle_volume_types[current_nozzle_id] != \"TPU High Flow\")}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\n{if (filament_type[current_filament_id] == \"TPU\") && (filament_map[current_filament_id] == 2) && (nozzle_volume_types[current_nozzle_id] != \"TPU High Flow\")}\n;sw from R2L&TPU kit, travel run a distance for sketch TPU\nG1 X30 Y30 F5000\nM400\nG1 X300 Y30 F5000\nM400\n{endif}\n\nT[next_filament_id]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if (filament_type[next_filament_id] == \"PA\") || (filament_type[next_filament_id] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\n\nM620.10 R{new_extruder_retracted_length}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{new_extruder_retracted_length}\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_filament_id] W1 ;enable ams air printing detect\nM1002 gcode_claim_action : 0\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..f330c2a364 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";======== H2D Pro 20250725 layer_change ========\n; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..350e7676ca --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";======== H2D Pro end ========\n;===== date: 2026/07/29 =====\n\nM1003 S0\nM73 P100 R0\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..9d28e066d2 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: H2D Pro start ======\n;===== date: 20260605 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99\nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99\nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99\nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1\nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z42 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ====\n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n {if(cooling_filter_enabled)}\n M145.2 P0 F0\n {else}\n M145.2 P0 F1\n {endif}\n{endif}\n\n;==== set airduct mode ====\n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n\n M104 S140 A\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\n\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\nM1002 gcode_claim_action : 72 ; Hotend Type Detection\nT1001\nM972 S14 P0 T5000 ; nozzle type detection\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\nG151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Heatbed underside foreign object detection\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60*0.8} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\nM620.11 P0 I[initial_no_support_filament_id] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_filament_id] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_filament_id] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_filament_id] E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_filament_id] == \"PA\") || (filament_type[initial_no_support_filament_id] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_filament_id] R4 D2 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_filament_id] R10 D8 E-{retraction_distances_when_cut[initial_no_support_filament_id]} F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_filament_id]A ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_filament_id]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM621 S[initial_no_support_filament_id]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_filament_id] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_filament_id]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n M400\nM623\n\nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\nM623\n\nM622 J0\n G28 R\nM623\n\n;===== bed leveling end ================================\n\n;===== z ofst cali start =====\n\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n\n G383 O0 M2 T140\n\n;===== z ofst cali end =====\n\nG39.1 ; cali nozzle wrapped detection pos\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} A\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\nG29.9\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\nM400\n;M73 P99\n\nM1002 gcode_claim_action : 0\nM400\n\n;============switch again==================\n\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\nM620 S[initial_no_support_filament_id]A\nM400\nT[initial_no_support_filament_id]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_filament_id]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ====\n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n {else}\n {if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2}\n G29.1 Z{0.01}\n {endif}\n {endif}\n\nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation\nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M83\n{if nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.8}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n{endif}\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G1 X290 E10 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] W1 ;enable ams air printing detect\n\nM211 Z1\nG29.99\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..52e9c65a12 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";======== H2D Pro 20260731========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode && !timelapse_inline_photo}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M622.1 S0 ; for prev firmware, default turn off\n M1002 set_flag smooth_safe_pos_suppoprt_flag=1\n M1002 judge_flag smooth_safe_pos_suppoprt_flag\n \n M622 J0\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && timelapse_type == 0 && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n\n M622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n {endif}\n \n {if !spiral_mode && !timelapse_inline_photo}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode.json new file mode 100644 index 0000000000..c44fb1da14 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode", + "instantiation": "false", + "wrapping_detection_gcode": ";======== H2D Pro 20250806 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle.json index 842461e4d6..1b2565e73a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.4 nozzle.json @@ -10,129 +10,12 @@ "0.4" ], "printer_model": "Bambu Lab H2D Pro", + "farthest_point_timelapse": "1", "printer_variant": "0.4", "default_filament_profile": [ "Bambu PLA Basic @BBL H2DP" ], "default_print_profile": "0.20mm Standard @BBL H2DP", - "enable_long_retraction_when_cut": [ - "2" - ], - "enable_pre_heating": "1", - "extruder_clearance_dist_to_rod": "50", - "extruder_clearance_height_to_lid": "201", - "extruder_clearance_height_to_rod": "47.4", - "extruder_clearance_max_radius": "96", - "extruder_printable_area": [ - "0x0,325x0,325x320,0x320", - "25x0,350x0,350x320,25x320" - ], - "fan_direction": "left", - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6", - "3.6" - ], - "machine_load_filament_time": "30", - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "machine_switch_extruder_time": "5.6", - "machine_unload_filament_time": "30", - "master_extruder_id": "2", - "nozzle_volume": [ - "130", - "133", - "145", - "148", - "148" - ], - "printable_area": [ - "0x0", - "350x0", - "350x320", - "0x320" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319", - "319" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10", - "10" - ], - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_cooling_filter": "1", - "support_object_skip_flush": "1", - "wrapping_exclude_area": [ - "145x310", - "256x310", - "256x326", - "145x326" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: H2D Pro start ======\n;===== date: 20251104 =====================\n\n;M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\nM960 S10 P1 ; ext fan led\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99 \nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99 \nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1 \nM901 D4\nM481 S0 ; turn off cutter pos comp\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z27 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ==== \n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n M104 S140 A\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\n\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\n\nM972 S41 P0 T5000 ; trash can anti-collision\n\nM1009 Q1 L1\nG90\nG1 X175 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\n\n T1001\n \n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A ; rise temp in advance\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n M972 S19 P0 C0 ; heatbed presence detection\n M972 S31 P0 T5000 ; toolhead camera dirty detection\n M972 S34 P0 T5000 ; heatbed plate offset detection\nM623\n\n M972 S14 P0 ; nozzle type detection\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n\nM620.11 P0 I[initial_no_support_extruder] E0\n\n{if long_retraction_when_ec }\nM620.11 K1 I[initial_no_support_extruder] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[initial_no_support_extruder] R0\n{endif}\n\nM628 S1\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n M620.11 S0 L0 I[initial_no_support_extruder] E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{else}\n{if (filament_type[initial_no_support_extruder] == \"PA\") || (filament_type[initial_no_support_extruder] == \"PA-GF\")}\n M620.11 S1 L0 I[initial_no_support_extruder] R4 D2 E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{else}\n M620.11 S1 L0 I[initial_no_support_extruder] R10 D8 E-{retraction_distances_when_cut[initial_no_support_extruder]} F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60}\n{endif}\n{endif}\nM629\n\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_extruder]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140 A\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X175 Y160 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n \nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\nM623\n\nM622 J0\n G28\nM623\n\n;===== bed leveling end ================================\n\n;===== z ofst cali start =====\n\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n\n G383 O0 M2 T140\n M500\n\n;===== z ofst cali end =====\n\nG39.1 ; cali nozzle wrapped detection pos\nM500\n\nM400\n;M73 P99\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n M500\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\nG29.9\n\n;===== xy ofst cali start =====\n\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\n M500\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M500\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M500\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\nM400\n;M73 P99\n\nM1002 gcode_claim_action : 0\nM400\n\n;============switch again==================\n\nM211 X0 Y0 Z0 ;turn off soft endstop\nG91\nG1 Z6 F1200\nG90\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM620 S[initial_no_support_extruder]A\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM621 S[initial_no_support_extruder]A\n\n;============switch again==================\n\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single] \nM190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n ;==== set ext toodhead cooling fan ==== \n {if (min_vitrification_temperature <= 50)}\n M106 P9 S255\n {endif}\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {endif}\n \nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation \nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M83\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G1 X290 E20 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM211 Z1\nG29.99\n\n\n", - "machine_end_gcode": ";======== H2D Pro end ========\n;===== date: 2025/11/11 =====\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nM400\nM211 Z1\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nG90\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P9 S0 ; turn off ext toodhead cooling fan\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nM620 S65279\nT65279\nG150.2\nM621 S65279\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 320}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 320}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z320 F600\n G1 Z320\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "layer_change_gcode": ";======== H2D Pro 20250725 layer_change ========\n; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", - "time_lapse_gcode": ";======== H2D Pro 20260612========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n {if !spiral_mode}\n M993 A2 B2 C2\n M993 A0 B0 C0\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M622.1 S0 ; for prev firmware, default turn off\n M1002 set_flag smooth_safe_pos_suppoprt_flag=1\n M1002 judge_flag smooth_safe_pos_suppoprt_flag\n \n M622 J0\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && timelapse_type == 0 && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos && timelapse_type == 0) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n\n M622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n M83\n {endif}\n {endif}\n M623\n {endif}\n \n {if !spiral_mode}\n M993 A3 B3 C3\n {endif}\nM623\n; SKIPPABLE_END\n", - "wrapping_detection_gcode": ";======== H2D Pro 20250806 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y295 F30000\n G1 Y265 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}\n", - "change_filament_gcode": ";======== H2D Pro filament ========\n;===== 20251031 =====\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_extruder]A\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_extruder] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_extruder] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_extruder] R0\n{endif}\n\nM628 S1\n{if filament_type[current_extruder] == \"TPU\"}\nM620.11 S0 L0 I[current_extruder] E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\n{if (filament_type[current_extruder] == \"PA\") || (filament_type[current_extruder] == \"PA-GF\")}\nM620.11 S1 L0 I[current_extruder] R4 D2 E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 S1 L0 I[current_extruder] R10 D8 E-{retraction_distances_when_cut[current_extruder]} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{endif}\n{endif}\nM629\n\n{if filament_type[current_extruder] == \"TPU\" || filament_type[next_extruder] == \"TPU\"}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\nT[next_extruder]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if (filament_type[next_extruder] == \"PA\") || (filament_type[next_extruder] == \"PA-GF\")}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\n\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\nM1002 gcode_claim_action : 0", "deretraction_speed": [ "30", "30", @@ -140,6 +23,31 @@ "30", "30" ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15", + "15" + ], + "extruder_clearance_height_to_lid": "201", + "extruder_clearance_height_to_rod": "47.4", + "extruder_clearance_max_radius": "96", + "extruder_clearance_dist_to_rod": "50", + "enable_long_retraction_when_cut": [ + "2" + ], + "enable_pre_heating": "1", + "extruder_height_gap": "5", + "extruder_printable_area": [ + "0x0,325x0,325x320,0x320", + "25x0,350x0,350x320,25x320" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow,Direct Drive TPU High Flow" + ], + "fan_direction": "left", "hotend_cooling_rate": [ "2", "2", @@ -147,6 +55,21 @@ "2", "2" ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6", + "3.6" + ], + "include": [ + "Bambu Lab H2D Pro 0.4 nozzle template machine_start_gcode", + "Bambu Lab H2D Pro 0.4 nozzle template machine_end_gcode", + "Bambu Lab H2D Pro 0.4 nozzle template layer_change_gcode", + "Bambu Lab H2D Pro 0.4 nozzle template time_lapse_gcode", + "Bambu Lab H2D Pro 0.4 nozzle template wrapping_detection_gcode", + "Bambu Lab H2D Pro 0.4 nozzle template change_filament_gcode" + ], "long_retractions_when_cut": [ "0", "0", @@ -154,6 +77,7 @@ "0", "0" ], + "machine_load_filament_time": "30", "machine_max_acceleration_e": [ "5000", "5000", @@ -190,18 +114,6 @@ "5000", "5000" ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], "machine_max_acceleration_x": [ "20000", "20000", @@ -286,6 +198,69 @@ "3", "3" ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "machine_switch_extruder_time": "5.6", + "machine_unload_filament_time": "30", + "master_extruder_id": "2", + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], "nozzle_flush_dataset": [ "1", "2", @@ -293,12 +268,18 @@ "2", "2" ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" + "nozzle_volume": [ + "130", + "133", + "145", + "148", + "148" + ], + "printable_area": [ + "0x0", + "350x0", + "350x320", + "0x320" ], "printer_extruder_id": [ "1", @@ -328,13 +309,6 @@ "2", "2" ], - "retract_lift_above": [ - "0", - "0", - "0", - "0", - "0" - ], "retract_restart_extra": [ "0", "0", @@ -356,6 +330,13 @@ "1", "1" ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10", + "10" + ], "retraction_length": [ "0.8", "0.8", @@ -377,6 +358,23 @@ "30", "30" ], + "retract_lift_above": [ + "0", + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319", + "319" + ], + "support_cooling_filter": "1", + "support_chamber_temp_control": "1", + "support_object_skip_flush": "0", "wipe": [ "1", "1", @@ -384,6 +382,12 @@ "1", "1" ], + "wrapping_exclude_area": [ + "145x310", + "256x310", + "256x326", + "145x326" + ], "wipe_distance": [ "2", "2", @@ -405,8 +409,7 @@ "Auto Lift", "Auto Lift" ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow,Direct Drive TPU High Flow" + "upward_compatible_machine": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.6 nozzle.json index 218506fbfa..f948cd211f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.6 nozzle.json @@ -1,33 +1,36 @@ { - "type": "machine", - "name": "Bambu Lab H2D Pro 0.6 nozzle", - "inherits": "Bambu Lab H2D Pro 0.4 nozzle", - "from": "system", - "setting_id": "GM053", - "instantiation": "true", - "nozzle_diameter": [ - "0.6", - "0.6" - ], - "printer_model": "Bambu Lab H2D Pro", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL H2DP 0.6 nozzle", - "max_layer_height": [ - "0.42", - "0.42" - ], - "min_layer_height": [ - "0.12", - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4", - "1.4", - "1.4", - "1.4" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.6 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab H2D Pro 0.6 nozzle", + "inherits": "Bambu Lab H2D Pro 0.4 nozzle", + "from": "system", + "setting_id": "GM053", + "instantiation": "true", + "nozzle_diameter": [ + "0.6", + "0.6" + ], + "printer_model": "Bambu Lab H2D Pro", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2DP 0.6 nozzle" + ], + "default_print_profile": "0.30mm Standard @BBL H2DP 0.6 nozzle", + "max_layer_height": [ + "0.42", + "0.42" + ], + "min_layer_height": [ + "0.12", + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4", + "1.4", + "1.4", + "1.4" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.8 nozzle.json index 6722650b46..7b363c8cb2 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro 0.8 nozzle.json @@ -1,327 +1,327 @@ { - "type": "machine", - "name": "Bambu Lab H2D Pro 0.8 nozzle", - "inherits": "Bambu Lab H2D Pro 0.4 nozzle", - "from": "system", - "setting_id": "GM054", - "instantiation": "true", - "nozzle_diameter": [ - "0.8", - "0.8" - ], - "printer_model": "Bambu Lab H2D Pro", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @BBL H2DP 0.8 nozzle", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2DP 0.8 nozzle" - ], - "max_layer_height": [ - "0.56", - "0.56" - ], - "min_layer_height": [ - "0.16", - "0.16" - ], - "retraction_length": [ - "3", - "3", - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab H2D 0.8 nozzle" - ], - "deretraction_speed": [ - "30", - "30", - "30", - "30" - ], - "hotend_cooling_rate": [ - "2", - "2", - "2", - "2" - ], - "hotend_heating_rate": [ - "3.6", - "3.6", - "3.6", - "3.6" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "500", - "500", - "500", - "500", - "500", - "500", - "500" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9", - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3", - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "30" - ], - "nozzle_flush_dataset": [ - "1", - "2", - "1", - "2" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "130", - "133", - "145", - "148" - ], - "printer_extruder_id": [ - "1", - "1", - "2", - "2" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%", - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2", - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0", - "0", - "0" - ], - "retract_lift_below": [ - "319", - "319", - "319", - "319" - ], - "retract_restart_extra": [ - "0", - "0", - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0", - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1", - "1", - "1" - ], - "retraction_distances_when_cut": [ - "10", - "10", - "10", - "10" - ], - "retraction_minimum_travel": [ - "1", - "1", - "1", - "1" - ], - "retraction_speed": [ - "30", - "30", - "30", - "30" - ], - "wipe": [ - "1", - "1", - "1", - "1" - ], - "wipe_distance": [ - "2", - "2", - "2", - "2" - ], - "z_hop": [ - "0.4", - "0.4", - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift", - "Auto Lift", - "Auto Lift" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Direct Drive Standard,Direct Drive High Flow" - ] -} + "type": "machine", + "name": "Bambu Lab H2D Pro 0.8 nozzle", + "inherits": "Bambu Lab H2D Pro 0.4 nozzle", + "from": "system", + "setting_id": "GM054", + "instantiation": "true", + "nozzle_diameter": [ + "0.8", + "0.8" + ], + "printer_model": "Bambu Lab H2D Pro", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2DP 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL H2DP 0.8 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "deretract_speed_extruder_change": [ + "15", + "15", + "15", + "15" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ], + "hotend_heating_rate": [ + "3.6", + "3.6", + "3.6", + "3.6" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "max_layer_height": [ + "0.56", + "0.56" + ], + "min_layer_height": [ + "0.16", + "0.16" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "nozzle_volume": [ + "130", + "133", + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "10", + "10", + "10", + "10" + ], + "retraction_length": [ + "3", + "3", + "3", + "3" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "319", + "319", + "319", + "319" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D Pro.json b/resources/profiles/BBL/machine/Bambu Lab H2D Pro.json index 8fd12972e7..cacfa01b7e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D Pro.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D Pro.json @@ -1,15 +1,15 @@ { - "type": "machine_model", - "name": "Bambu Lab H2D Pro", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-H2D.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "image_bed_type": "o", - "not_support_bed_type": "Smooth Cool Plate;Textured Cool Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "O1E", - "default_materials": "Bambu PLA Basic @BBL H2DP;Bambu PLA-CF @BBL H2DP;Bambu PETG Basic @BBL H2DP;Bambu ABS @BBL H2DP;Bambu PETG HF @BBL H2DP;Bambu PLA Silk @BBL H2DP;Bambu PLA Matte @BBL H2DP;Bambu PC @BBL H2DP;Bambu PA-CF @BBL H2DP;Bambu PLA Pure @BBL H2DP" -} + "type": "machine_model", + "name": "Bambu Lab H2D Pro", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-H2D.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "image_bed_type": "o", + "not_support_bed_type": "Cool Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "O1E", + "default_materials": "Bambu PLA Basic @BBL H2DP;Bambu PLA-CF @BBL H2DP 0.4 nozzle;Bambu PETG Basic @BBL H2DP 0.4 nozzle;Bambu ABS @BBL H2DP;Bambu PETG HF @BBL H2DP 0.4 nozzle;Bambu PLA Silk @BBL H2DP;Bambu PLA Matte @BBL H2DP;Bambu PC @BBL H2DP 0.4 nozzle;Bambu PA-CF @BBL H2DP;Bambu PLA Pure @BBL H2DP;Bambu PLA Basic @BBL H2DP 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2D.json b/resources/profiles/BBL/machine/Bambu Lab H2D.json index 9a277c4b7e..31b0cc023e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2D.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2D.json @@ -1,16 +1,16 @@ { - "type": "machine_model", - "name": "Bambu Lab H2D", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-H2D.stl", - "bed_texture": "bbl-3dp-logo.svg", - "use_rect_grid": "true", - "default_bed_type": "Textured PEI Plate", - "image_bed_type": "o", - "not_support_bed_type": "Smooth Cool Plate;Textured Cool Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "O1D", - "default_materials": "Bambu PLA Basic @BBL H2D;Bambu PLA-CF @BBL H2D;Bambu PETG Basic @BBL H2D;Bambu ABS @BBL H2D;Bambu PETG HF @BBL H2D;Bambu PLA Silk @BBL H2D;Bambu PLA Matte @BBL H2D;Bambu PC @BBL H2D;Bambu PA-CF @BBL H2D;Bambu PLA Pure @BBL H2D" -} + "type": "machine_model", + "name": "Bambu Lab H2D", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-H2D.stl", + "bed_texture": "bbl-3dp-logo.svg", + "use_rect_grid": "true", + "default_bed_type": "Textured PEI Plate", + "image_bed_type": "o", + "not_support_bed_type": "Cool Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "O1D", + "default_materials": "Bambu PLA Basic @BBL H2D;Bambu PLA-CF @BBL H2D 0.4 nozzle;Bambu PETG Basic @BBL H2D 0.4 nozzle;Bambu ABS @BBL H2D;Bambu PETG HF @BBL H2D 0.4 nozzle;Bambu PLA Silk @BBL H2D;Bambu PLA Matte @BBL H2D;Bambu PC @BBL H2D 0.4 nozzle;Bambu PA-CF @BBL H2D;Bambu PLA Pure @BBL H2D;Bambu PLA Basic @BBL H2D 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.2 nozzle.json index b7e7230b50..1623e24690 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.2 nozzle.json @@ -1,27 +1,212 @@ { - "type": "machine", - "name": "Bambu Lab H2S 0.2 nozzle", - "inherits": "Bambu Lab H2S 0.4 nozzle", - "from": "system", - "setting_id": "GM038", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab H2S", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2S 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL H2S 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4" - ] -} + "type": "machine", + "name": "Bambu Lab H2S 0.2 nozzle", + "inherits": "Bambu Lab H2S 0.4 nozzle", + "from": "system", + "setting_id": "GM038", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab H2S", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2S 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL H2S 0.2 nozzle", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "deretraction_speed": [ + "30", + "30" + ], + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "nozzle_flush_dataset": [ + "1", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "30", + "30" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "339", + "339" + ], + "wipe_distance": [ + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..a6bf90fda6 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";===== machine: H2S filament_change =====\n;===== date: 2026/01/28 =====\n\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_extruder]A\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60*0.8} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_extruder] E0\n{endif}\n\n\n{if filament_type[current_extruder] == \"TPU\" || filament_type[next_extruder] == \"TPU\"}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_extruder]}\n\nT[next_extruder]\n\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\n\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\n\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\nM1002 gcode_claim_action : 0\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..e46a42768e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";============= H2S 20250611 =============\n; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..f8b451a7b8 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";========== H2S end ==========\n;===== date: 2026/03/13 =====\n\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nG150.3\n\nM104 S0; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (100.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 100.0 - max_layer_z/2) < 340}\n G1 Z{max_layer_z + 100.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 98.0 - max_layer_z/2}\n {else}\n G1 Z340 F600\n G1 Z340\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 340}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z340 F600\n G1 Z340\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\n\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P6 S255\nM400 S180\nM106 P6 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S127\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..900c8d4520 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: H2S =========================\n;===== date: 2026/04/21 =====================\n\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99 \nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99 \nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM1002 set_gcode_claim_speed_level 5 ;Reset speed level\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1 \nM901 D4\nM481 S0 ; turn off cutter pos comp\nG28.140 D0; reset pre-extrude z pos\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z32 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ==== \n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{if(cooling_filter_enabled)}\nM145.2 P0 F0\n{else}\nM145.2 P0 F1\n{endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n M104 S140\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.3 F18000\nT1000 O0 ;Preventing 3D Print Misalignment After Laser Operations\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\nM1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\nM972 S41 P0 T5000; trash can anti-collision\n\nM1009 Q1 L1\nG91\nG380 S2 Z30 F1200 ; lower heatbed to move toolhead\nG90\nG1 X170 Y160 F30000\nG28 Z P0 T250\nM1009 Q1 L0\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\nM104 S0 T0 ; stop hotend heating before detection\nM562 P1 E0 B1\nM18 E\nM400 P200\nM1028 S1\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n ;M1002 gcode_claim_action : 11 ; Indentifying build plate type\n M972 S19 P0 C0 ; heatbed detection\n \n M972 S31 P0 T5000; Toolhead camera detection\n \n ;M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 T5000; Plate offset detection\nM623\n\nM1028 S0\nM562 P1 E1 B1\nM17 D\n\n{if max_print_z >= 145}\nM1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\nG150.3\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise temp in advance\nG3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n{endif}\n\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60*0.8} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n\nM620.11 P0 I[initial_no_support_extruder] E0\n\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M109 S{nozzle_temperature[initial_no_support_extruder]} ; wait tmpr to extrude\n M83\n {if(nozzle_diameter == 0.8)}\n G1 E60 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {else}\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n {endif}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X275 Y300 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\nM623\n \nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\nM623\n\nM622 J0\n G28\nM623\n\n;===== bed leveling end ================================\n\nG390.1 Z; cali nozzle wrapped detection pos\n\nG90\nG1 Z5 F1200\nG1 X270 Y-0.5 F60000\nG28.140 S0 ; cali pre-extrude z pos\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\nG29.9\n\nM1002 gcode_claim_action : 0\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single] \nM190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {endif}\n \nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation \nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14 R0\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M83\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G1 X290 E20 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM211 Z1\nG29.99\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..da656213d2 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250925========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n\n{if timelapse_type == 0} ; timelapse without wipe tower\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\n\n G150.3 ; move to garbage can\n M400\n\n M1004 S5 P1 ; external shutter\n M400 P300\n\n M971 S11 C10 O0\n M400 P350\n\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n{endif}\nM623\n\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode.json new file mode 100644 index 0000000000..b994e13c5f --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode", + "instantiation": "false", + "wrapping_detection_gcode": ";======== H2S 20250105 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G390\n\n G90\n G1 Y295 F30000\n G1 Y265 F15000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle.json index 0a02a254f1..a71260a9ba 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.4 nozzle.json @@ -9,123 +9,170 @@ "0.4" ], "printer_model": "Bambu Lab H2S", + "farthest_point_timelapse": "1", "printer_variant": "0.4", "bed_exclude_area": [], "default_filament_profile": [ "Bambu PLA Basic @BBL H2S" ], "default_print_profile": "0.20mm Standard @BBL H2S", + "deretract_speed_extruder_change": [ + "30", + "30", + "30" + ], "deretraction_speed": [ + "30", "30", "30" ], "enable_long_retraction_when_cut": "2", - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], "extruder_clearance_dist_to_rod": "56", "extruder_clearance_height_to_lid": "187", "extruder_clearance_height_to_rod": "33", "extruder_clearance_max_radius": "81", + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow,Direct Drive E3D High Flow" + ], "fan_direction": "left", "hotend_cooling_rate": [ + "2", "2", "2" ], "hotend_heating_rate": [ + "2", "2", "2" ], + "include": [ + "Bambu Lab H2S 0.4 nozzle template machine_start_gcode", + "Bambu Lab H2S 0.4 nozzle template machine_end_gcode", + "Bambu Lab H2S 0.4 nozzle template time_lapse_gcode", + "Bambu Lab H2S 0.4 nozzle template change_filament_gcode", + "Bambu Lab H2S 0.4 nozzle template layer_change_gcode", + "Bambu Lab H2S 0.4 nozzle template wrapping_detection_gcode" + ], "long_retractions_when_cut": [ + "0", "0", "0" ], - "machine_max_acceleration_z": [ - "500", - "500", - "500", - "500" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_z": [ - "30", - "30", - "30", - "30" - ], - "machine_unload_filament_time": "28", "machine_max_acceleration_e": [ + "5000", + "5000", "5000", "5000", "5000", "5000" ], "machine_max_acceleration_extruding": [ + "20000", + "20000", "20000", "20000", "20000", "20000" ], "machine_max_acceleration_retracting": [ + "5000", + "5000", "5000", "5000", "5000", "5000" ], "machine_max_acceleration_travel": [ + "9000", + "9000", "9000", "9000", "9000", "9000" ], "machine_max_acceleration_x": [ + "20000", + "20000", "20000", "20000", "20000", "20000" ], "machine_max_acceleration_y": [ + "20000", + "20000", "20000", "20000", "20000", "20000" ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], "machine_max_jerk_e": [ + "2.5", + "2.5", "2.5", "2.5", "2.5", "2.5" ], "machine_max_jerk_x": [ + "9", + "9", "9", "9", "9", "9" ], "machine_max_jerk_y": [ + "9", + "9", "9", "9", "9", "9" ], "machine_max_jerk_z": [ + "3", + "3", "3", "3", "3", "3" ], "machine_max_speed_e": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30", "30", "30", "30", @@ -137,17 +184,16 @@ "machine_min_travel_rate": [ "0" ], - "nozzle_volume": [ - "145", - "148" - ], + "machine_unload_filament_time": "28", "nozzle_flush_dataset": [ "1", + "2", "2" ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" + "nozzle_volume": [ + "145", + "148", + "148" ], "printable_area": [ "0x0", @@ -157,79 +203,97 @@ ], "printable_height": "340", "printer_extruder_id": [ + "1", "1", "1" ], "printer_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_lift_below": [ - "339", - "339" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], "retract_before_wipe": [ + "0%", "0%", "0%" ], "retract_length_toolchange": [ + "2", "2", "2" ], "retract_lift_above": [ + "0", "0", "0" ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" + "retract_lift_below": [ + "339", + "339", + "339" ], "retract_restart_extra": [ + "0", "0", "0" ], "retract_restart_extra_toolchange": [ + "0", "0", "0" ], "retract_when_changing_layer": [ + "1", "1", "1" ], "retraction_distances_when_cut": [ + "18", "18", "18" ], - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "support_cooling_filter": "1", - "support_object_skip_flush": "1", - "wipe_distance": [ - "2", - "2" + "retraction_length": [ + "0.8", + "0.8", + "0.8" ], - "wipe": [ + "retraction_minimum_travel": [ + "1", "1", "1" ], + "retraction_speed": [ + "30", + "30", + "30" + ], + "support_chamber_temp_control": "1", + "support_cooling_filter": "1", + "support_object_skip_flush": "1", + "wipe": [ + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2" + ], + "wrapping_exclude_area": [ + "172.3x302", + "232.5x302", + "232.5x322", + "172.3x322" + ], "z_hop": [ + "0.4", "0.4", "0.4" ], "z_hop_types": [ + "Auto Lift", "Auto Lift", "Auto Lift" - ], - "machine_start_gcode": ";===== machine: H2S =========================\n;===== date: 2025/08/06 =====================\n\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\nM400\n;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99 \nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99 \nM1006 W\n;=====printer start sound ===================\n\n;===== reset machine status =================\nM204 S10000\nM630 S0 P0\n\nG90\nM17 D ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nG29.1 Z{+0.0} ; clear z-trim value first\nM983.1 M1 \nM901 D4\nM481 S0 ; turn off cutter pos comp\n;===== reset machine status =================\n\nM620 M ;enable remap\n\n;===== avoid end stop =================\nG91\nG380 S2 Z22 F1200\nG380 S2 Z-12 F1200\nG90\n;===== avoid end stop =================\n\n;==== set airduct mode ==== \n\n{if (overall_chamber_temperature >= 40)}\n\n M145 P1 ; set airduct mode to heating mode for heating\n M106 P2 S0 ; turn off auxiliary fan\n M106 P3 S0 ; turn off chamber fan\n\n{else}\n M145 P0 ; set airduct mode to cooling mode for cooling\n M106 P2 S178 ; turn on auxiliary fan for cooling\n M106 P3 S127 ; turn on chamber fan for cooling\n M140 S0 ; stop heatbed from heating\n\n M1002 gcode_claim_action : 29\n M191 S0 ; wait for chamber temp\n M106 P2 S0 ; turn off auxiliary fan\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 T40 U0.3 V0.5 W0.8 O40 ; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 T45 U0.3 V0.5 W0.8 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R35 S40 T45 U0.3 V0.5 W0.8 O45 L1 ; set third-party PETG chamber autocooling\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 T50 U0.3 V0.5 W0.8 O50 L1 ; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 T55 U0.3 V0.5 W0.8 O55 L1 ; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{if(cooling_filter_enabled)}\nM145.2 P0 F0\n{else}\nM145.2 P0 F1\n{endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n M104 S140\n M140 S[bed_temperature_initial_layer_single]\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n ;===== set chamber temperature ==========\n\n;===== start to heat heatbead & hotend==========\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\n;===== first homing start =====\nM1002 gcode_claim_action : 13\n\nG28 X T300\n\nG150.3 F18000\nT1000 O0 ;Preventing 3D Print Misalignment After Laser Operations\n\nG150.1 F18000 ; wipe mouth to avoid filament stick to heatbed\nG150.3 F18000\nM400 P200\nM972 S24 P0 T2000\n{if curr_bed_type==\"Textured PEI Plate\"}\nM972 S26 P0 C0\n{else}\nM972 S36 P0 C0 X1\n{endif}\nM972 S35 P0 C0\nM972 S41 P0 T5000; trash can anti-collision\n\nG90\nG1 X170 Y160 F30000\n\nG28 Z P0 T250\n\n;===== first homing end =====\n\nM400\n;M73 P99\n\n;===== detection start =====\n\n \n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} ; rise temp in advance\n\n M972 S19 P0 C0 ; heatbed detection\n\n M972 S31 P0 T5000; Toolhead camera detection\n M972 S34 P0 T5000; Plate offset detection\n;===== detection end =====\n\nM400\n;M73 P99\n\n;===== prepare print temperature and material ==========\nM400\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on input shaping\n\nG29.2 S0 ; avoid invalid abl data\n\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n\nM620.11 P0 I[initial_no_support_extruder] E0\n\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\nM1002 gcode_claim_action : 4\nM1002 set_filament_type:UNKNOWN\nM400\nT[initial_no_support_extruder]\nM400\nM628 S0\nM629\nM400\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nM400\nM106 P1 S0\n\nG29.2 S1\n;===== prepare print temperature and material ==========\n\nM400\n;M73 P99\n\n;===== auto extrude cali start =========================\nM975 S1\nM1002 judge_flag extrude_cali_flag\n\nM622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\nM623\n\nM622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\nM622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\nM623\n\n;===== auto extrude cali end =========================\n\n{if filament_type[initial_no_support_extruder] == \"TPU\"}\n G150.2\n G150.1\n G150.2\n G150.1\n G150.2\n G150.1\n{else}\n M106 P1 S0\n M400 S2\n M83\n G1 E45 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n G1 E-3 F1800\n M400 P500\n G150.2\n G150.1\n{endif}\n\nG91\nG1 Y-16 F12000 ; move away from the trash bin\nG90\n\nM400\n;M73 P99\n\n;===== wipe right nozzle start =====\n\nM1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n {if (overall_chamber_temperature >= 40)}\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder] - 80}\n {endif}\nM106 S255 ; turn on fan to cool the nozzle\n\n;===== wipe left nozzle end =====\n\nM400\n;M73 P99\n\n{if (overall_chamber_temperature >= 40)}\n M1002 gcode_claim_action : 49\n M191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\nM400\n;M73 P99\n\n;===== bed leveling ==================================\n\nM1002 judge_flag g29_before_print_flag\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nG91\nG1 Z5 F1200\nG90\nG1 X275 Y300 F30000\n\nM622 J1\n M1002 gcode_claim_action : 1\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\nM623\n \nM622 J2\n M1002 gcode_claim_action : 1\n {if has_tpu_in_first_layer}\n G29.20 A3\n G29 A1 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {else}\n G29.20 A4\n G29 A2 O X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\nM623\n\nM622 J0\n G28\nM623\n\n;===== bed leveling end ================================\n\nM400\n;M73 P99\n\nM141 S[overall_chamber_temperature]\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n\n G90\n G1 Z5 F1200\n G1 X187 Y160 F20000\n T1000\n M400 P200\n\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n\n M970.3 Q0 A5 K0 O1\n M974 Q0 S2 P0\n\n M970.2 Q2 K0 W38 Z0.01\n M974 Q2 S2 P0\n M500\n\n M975 S1\n;===== mech mode sweep end =====\n\nM400\n;M73 P99\n\nG150.3 ; move to garbage can to wait for temp\nM1026\n\nM1002 gcode_claim_action : 0\nM400\n;M73 P99\n\n;===== wait temperature reaching the reference value =======\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise to print tmpr\n\nM140 S[bed_temperature_initial_layer_single] \nM190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off fan\n M106 P2 S0 ; turn off big fan\n\n ;============set motor current==================\n M400 S1\n\n;===== wait temperature reaching the reference value =======\n\nM400\n;M73 P99\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.01} ; for Textured PEI Plate\n {endif}\n \nG150.1\n\nM975 S1 ; turn on mech mode supression\nM983.4 S1 ; turn on deformation compensation \nG29.2 S1 ; turn on pos comp\nG29.7 S1\n\nG90\nG1 Z5 F1200\nG1 Y295 F30000\nG1 Y265 F18000\n\n;===== nozzle load line ===============================\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n G1 Z5 F1200\n G1 X270 Y-0.5 F60000\n G28.14\n G29.2 S0\n G91\n G1 Z0.8 F1200\n G90\n G1 X250 F60000\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M83\n G1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G1 X290 E20 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\n G91\n G3 Z0.4 I1.217 J0 P1 F60000\n G90\n M83\n G29.2 S1 ; ensure z comp turn on\n;===== noozle load line end ===========================\n\nM400\n;M73 P99\n\nM993 A1 B1 C1 ; nozzle cam detection allowed.\n\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM211 Z1\nG29.99\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1;enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n", - "machine_end_gcode": ";===== date: 2025/02/05 =====================\n;===== H2S =====================\nG392 S0 ;turn off nozzle clog detect\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if timelapse_type == 2}\nM991 S0 P-1 ;end timelapse immediately\n{endif}\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\n\nG90\nG150.3\n\n{if timelapse_type == 1}\nM991 S0 P-1 ;end timelapse at safe pos\n{endif}\n\nM141 S0 ; turn off chamber heating\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nG150.3\n\nM104 S0; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 320}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z320 F600\n G1 Z320\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.4 S0 K0 ;disable air printing detect\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "time_lapse_gcode": ";========Date 20250611========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n\nM400\n\n{if timelapse_type == 0} ; timelapse without wipe tower\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\n\n G150.3 ; move to garbage can\n M400\n\n M1004 S5 P1 ; external shutter\n M400 P300\n\n M971 S11 C10 O0\n M400 P350\n\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y295 F30000\n G1 Y265 F18000\n{endif}\nM623\n\n; SKIPPABLE_END\n", - "change_filament_gcode": ";===== machine: H2S filament_change =====\n;===== date: 2025/08/14 =====\n\nM993 A2 B2 C2 ; nozzle cam detection allow status save.\nM993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K0 ;disable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620 S[next_extruder]A\nM1002 gcode_claim_action : 4\nM204 S9000\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\nM106 P2 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n\n{if long_retraction_when_cut}\nM620.11 P1 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 I[current_extruder] E0\n{endif}\n\n\n{if filament_type[current_extruder] == \"TPU\" || filament_type[next_extruder] == \"TPU\"}\nM620.11 H2 C331\n{else}\nM620.11 H0\n{endif}\n\nT[next_extruder]\n\n\n; VFLUSH_START\n\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\n\nSYNC T{ceil(flush_length / 125) * 5}\n\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\n\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\n\nM629\nM400\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\n\nM400\n{if wipe_avoid_perimeter}\nG1 Y320 F30000\nG1 X{wipe_avoid_pos_x} F30000\n{endif}\nG1 Y295 F30000\nG1 Y265 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n\nM993 A3 B3 C3 ; nozzle cam detection allow status restore.\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 ; disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\nM1002 gcode_claim_action : 0\n" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.6 nozzle.json index 0240681890..8b203a6579 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.6 nozzle.json @@ -1,27 +1,28 @@ { - "type": "machine", - "name": "Bambu Lab H2S 0.6 nozzle", - "inherits": "Bambu Lab H2S 0.4 nozzle", - "from": "system", - "setting_id": "GM039", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab H2S", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL H2S 0.6 nozzle", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2S 0.6 nozzle" - ], - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4" - ] -} + "type": "machine", + "name": "Bambu Lab H2S 0.6 nozzle", + "inherits": "Bambu Lab H2S 0.4 nozzle", + "from": "system", + "setting_id": "GM039", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab H2S", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL H2S 0.6 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2S 0.6 nozzle" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4", + "1.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab H2S 0.8 nozzle.json index b7aedb41bc..a3d001d6aa 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2S 0.8 nozzle.json @@ -1,27 +1,212 @@ { - "type": "machine", - "name": "Bambu Lab H2S 0.8 nozzle", - "inherits": "Bambu Lab H2S 0.4 nozzle", - "from": "system", - "setting_id": "GM040", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab H2S", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @BBL H2S 0.8 nozzle", - "default_filament_profile": [ - "Bambu PLA Basic @BBL H2S 0.8 nozzle" - ], - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retraction_length": [ - "3", - "3" - ] -} + "type": "machine", + "name": "Bambu Lab H2S 0.8 nozzle", + "inherits": "Bambu Lab H2S 0.4 nozzle", + "from": "system", + "setting_id": "GM040", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab H2S", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @BBL H2S 0.8 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL H2S 0.8 nozzle" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retraction_length": [ + "3", + "3" + ], + "deretraction_speed": [ + "30", + "30" + ], + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "nozzle_flush_dataset": [ + "1", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "30", + "30" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "145", + "148" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "339", + "339" + ], + "wipe_distance": [ + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab H2S.json b/resources/profiles/BBL/machine/Bambu Lab H2S.json index 11c2cde471..3eae9e9567 100644 --- a/resources/profiles/BBL/machine/Bambu Lab H2S.json +++ b/resources/profiles/BBL/machine/Bambu Lab H2S.json @@ -1,18 +1,20 @@ { - "type": "machine_model", - "name": "Bambu Lab H2S", - "nozzle_diameter": "0.2;0.4;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-O1S.stl", - "bed_texture": "bbl-3dp-logo.svg", - "use_double_extruder_default_texture": "true", - "bottom_texture_rect": "40,-14.5,70,8", - "default_bed_type": "Textured PEI Plate", - "image_bed_type": "o", - "not_support_bed_type": "Smooth Cool Plate;Textured Cool Plate", - "right_icon_offset_bed": "10;-5", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "O1S", - "default_materials": "Bambu PLA Basic @BBL H2S;Bambu PLA Matte @BBL H2S;Bambu PLA Tough @BBL H2S;Bambu PLA Marble @BBL H2S;Bambu PLA Metal @BBL H2S;Bambu PLA Silk @BBL H2S;Bambu TPU 95A HF @BBL H2S;Bambu PETG Basic @BBL H2S;Bambu PLA Pure @BBL H2S" -} + "type": "machine_model", + "name": "Bambu Lab H2S", + "nozzle_diameter": "0.2;0.4;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-O1S.stl", + "bed_texture": "bbl-3dp-logo.svg", + "use_double_extruder_default_texture": "true", + "bottom_texture_rect": "40,-14.5,70,8", + "bottom_texture_rect_longer": "40,-14.5,260,8", + "bottom_texture_rect_longer_ignore_list": "High Temp Plate;Textured PEI Plate", + "default_bed_type": "Textured PEI Plate", + "image_bed_type": "o", + "not_support_bed_type": "Cool Plate", + "right_icon_offset_bed": "10;-5", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "O1S", + "default_materials": "Bambu PLA Basic @BBL H2S;Bambu PLA Matte @BBL H2S;Bambu PLA Tough @BBL H2S;Bambu PLA Marble @BBL H2S;Bambu PLA Metal @BBL H2S;Bambu PLA Silk @BBL H2S;Bambu TPU 95A HF @BBL H2S;Bambu PETG Basic @BBL H2S;Bambu PLA Pure @BBL H2S;Bambu PLA Basic @BBL H2S 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..df7a462624 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.2 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.2 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json index a55651cba2..eb9a546b92 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json @@ -1,218 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab P1P 0.2 nozzle", - "inherits": "Bambu Lab P1P 0.4 nozzle", - "from": "system", - "setting_id": "GM010", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab P1P", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL P1P 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL P1P 0.2 nozzle", - "deretraction_speed": [ - "30", - "30" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.2 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1P 0.2 nozzle", + "inherits": "Bambu Lab P1P 0.4 nozzle", + "from": "system", + "setting_id": "GM010", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab P1P", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P1P 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL P1P 0.2 nozzle", + "include": [ + "Bambu Lab P1P 0.2 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..325f89c9a2 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";=P1P 20251031=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..92609c5299 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..9f54de954b --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20230428 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..d3fc2793b0 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1P-0.4 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..670ab7b3e5 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json index adb67848f4..aa8b12cebc 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json @@ -1,228 +1,243 @@ { - "type": "machine", - "name": "Bambu Lab P1P 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM013", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab P1P", - "printer_variant": "0.4", - "auxiliary_fan": "0", - "bed_exclude_area": [ - "0x0", - "18x0", - "18x28", - "0x28" - ], - "default_filament_profile": [ - "Bambu PLA Basic @BBL P1P" - ], - "default_print_profile": "0.20mm Standard @BBL P1P", - "deretraction_speed": [ - "30", - "30" - ], - "enable_long_retraction_when_cut": "2", - "extruder_offset": [ - "0x2" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "machine_unload_filament_time": "28", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_height": "4.2", - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: P1P-0.4 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", - "machine_end_gcode": ";===== date: 20230428 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", - "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n", - "change_filament_gcode": ";=P1P 20250822=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S{nozzle_temperature[next_extruder]}\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" + "type": "machine", + "name": "Bambu Lab P1P 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM013", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab P1P", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "auxiliary_fan": "0", + "bed_exclude_area": [ + "0x0", + "18x0", + "18x28", + "0x28" + ], + "default_filament_profile": [ + "Bambu PLA Basic @BBL P1P" + ], + "default_print_profile": "0.20mm Standard @BBL P1P", + "deretraction_speed": [ + "30", + "30" + ], + "enable_long_retraction_when_cut": "2", + "extruder_offset": [ + "0x2" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "include": [ + "Bambu Lab P1P 0.4 nozzle template machine_start_gcode", + "Bambu Lab P1P 0.4 nozzle template machine_end_gcode", + "Bambu Lab P1P 0.4 nozzle template time_lapse_gcode", + "Bambu Lab P1P 0.4 nozzle template change_filament_gcode", + "Bambu Lab P1P 0.4 nozzle template layer_change_gcode" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "machine_unload_filament_time": "28", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "nozzle_height": "4.2", + "nozzle_volume": [ + "107", + "107" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "retraction_length": [ + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "wipe_distance": [ + "2", + "2" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..0d92979b2e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.6 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.6 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json index 013da7a12f..a92ad68146 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json @@ -1,44 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab P1P 0.6 nozzle", - "inherits": "Bambu Lab P1P 0.4 nozzle", - "from": "system", - "setting_id": "GM011", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab P1P", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL P1P 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.6 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1P 0.6 nozzle", + "inherits": "Bambu Lab P1P 0.4 nozzle", + "from": "system", + "setting_id": "GM011", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab P1P", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL P1P 0.6 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P1P 0.6 nozzle" + ], + "include": [ + "Bambu Lab P1P 0.6 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4" + ], + "retraction_minimum_travel": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..1bb4dc652f --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1P 0.8 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.8 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json index 1911e2b60a..8e4bed700c 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json @@ -1,44 +1,45 @@ { - "type": "machine", - "name": "Bambu Lab P1P 0.8 nozzle", - "inherits": "Bambu Lab P1P 0.4 nozzle", - "from": "system", - "setting_id": "GM012", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab P1P", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @BBL P1P 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.8 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1P 0.8 nozzle", + "inherits": "Bambu Lab P1P 0.4 nozzle", + "from": "system", + "setting_id": "GM012", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab P1P", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @BBL P1P 0.8 nozzle", + "include": [ + "Bambu Lab P1P 0.8 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P.json b/resources/profiles/BBL/machine/Bambu Lab P1P.json index c5062699d6..ce92149a61 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P.json @@ -1,13 +1,14 @@ { - "type": "machine_model", - "name": "Bambu Lab P1P", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "C11", - "default_materials": "Bambu PLA Matte @BBL P1P;Bambu PLA Basic @BBL P1P;Bambu PLA-CF @BBL P1P;Bambu PETG-CF @BBL P1P;Bambu ABS @BBL P1P;Bambu PLA Silk @BBL P1P;Bambu PAHT-CF @BBL P1P;Bambu Support For PA/PET @BBL P1P;Bambu Support For PLA @BBL P1P;Generic PLA @BBL P1P;Generic PLA High Speed @BBL P1P;Generic PETG @BBL P1P;Bambu PETG HF @BBL X1C" -} + "type": "machine_model", + "name": "Bambu Lab P1P", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "support_side_panel_fan": "false", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "C11", + "default_materials": "Bambu PLA Matte @BBL P1P;Bambu PLA Basic @BBL P1P;Bambu PLA-CF @BBL P1P;Bambu PETG-CF @BBL P1P;Bambu ABS @BBL P1P;Bambu PLA Silk @BBL P1P;Bambu PAHT-CF @BBL P1P;Bambu Support For PA/PET @BBL P1P;Bambu Support For PLA @BBL P1P;Generic PLA @BBL P1P;Generic PLA High Speed @BBL P1P;Generic PETG @BBL P1P;Bambu PETG HF @BBL X1C;Bambu PLA Pure @BBL P1P;Bambu PLA Basic @BBL P1P 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..ce98968537 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.2 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.2 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json index 136fbc3a2a..36f4e4bfeb 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json @@ -1,218 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab P1S 0.2 nozzle", - "inherits": "Bambu Lab P1S 0.4 nozzle", - "from": "system", - "setting_id": "GM015", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab P1S", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", - "deretraction_speed": [ - "30", - "30" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.2 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1S 0.2 nozzle", + "inherits": "Bambu Lab P1S 0.4 nozzle", + "from": "system", + "setting_id": "GM015", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab P1S", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", + "include": [ + "Bambu Lab P1S 0.2 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..cbec41ae6a --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";=P1S 20251031=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..2004d93548 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..f30a018718 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20230428 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..fab3b107a4 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.4 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..fce7cdbddd --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json index e7d011aa54..960814b881 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json @@ -1,226 +1,243 @@ { - "type": "machine", - "name": "Bambu Lab P1S 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM014", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab P1S", - "printer_variant": "0.4", - "bed_exclude_area": [ - "0x0", - "18x0", - "18x28", - "0x28" - ], - "default_print_profile": "0.20mm Standard @BBL X1C", - "deretraction_speed": [ - "30", - "30" - ], - "enable_long_retraction_when_cut": "2", - "extruder_offset": [ - "0x2" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "fan_direction": "left", - "long_retractions_when_cut": [ - "0", - "0" - ], - "machine_unload_filament_time": "28", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_height": "4.2", - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "support_air_filtration": "1", - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.4 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", - "machine_end_gcode": ";===== date: 20230428 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", - "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END", - "change_filament_gcode": ";=P1S 20250822=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S{nozzle_temperature[next_extruder]}\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" + "type": "machine", + "name": "Bambu Lab P1S 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM014", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab P1S", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "bed_exclude_area": [ + "0x0", + "18x0", + "18x28", + "0x28" + ], + "default_print_profile": "0.20mm Standard @BBL X1C", + "deretraction_speed": [ + "30", + "30" + ], + "default_filament_profile": [ + "Bambu PLA Basic @BBL P1S 0.4 nozzle" + ], + "enable_long_retraction_when_cut": "2", + "extruder_offset": [ + "0x2" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "fan_direction": "left", + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "include": [ + "Bambu Lab P1S 0.4 nozzle template machine_start_gcode", + "Bambu Lab P1S 0.4 nozzle template machine_end_gcode", + "Bambu Lab P1S 0.4 nozzle template time_lapse_gcode", + "Bambu Lab P1S 0.4 nozzle template change_filament_gcode", + "Bambu Lab P1S 0.4 nozzle template layer_change_gcode" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "machine_unload_filament_time": "28", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "nozzle_height": "4.2", + "nozzle_volume": [ + "107", + "107" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "retraction_length": [ + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "wipe_distance": [ + "2", + "2" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..9b07c9a2b6 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.6 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.6 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json index 34e21341af..e1518a7ba4 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json @@ -1,44 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab P1S 0.6 nozzle", - "inherits": "Bambu Lab P1S 0.4 nozzle", - "from": "system", - "setting_id": "GM016", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab P1S", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.6 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1S 0.6 nozzle", + "inherits": "Bambu Lab P1S 0.4 nozzle", + "from": "system", + "setting_id": "GM016", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab P1S", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P1S 0.6 nozzle" + ], + "include": [ + "Bambu Lab P1S 0.6 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4" + ], + "retraction_minimum_travel": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..9066f0fdef --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P1S 0.8 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: P1S-0.8 ========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json index 1c78e34238..a7ee22787e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json @@ -1,47 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab P1S 0.8 nozzle", - "inherits": "Bambu Lab P1S 0.4 nozzle", - "from": "system", - "setting_id": "GM017", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab P1S", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "machine_start_gcode": ";===== machine: P1S-0.8 ========================\n;===== date: 20250822 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "type": "machine", + "name": "Bambu Lab P1S 0.8 nozzle", + "inherits": "Bambu Lab P1S 0.4 nozzle", + "from": "system", + "setting_id": "GM017", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab P1S", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", + "include": [ + "Bambu Lab P1S 0.8 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S.json b/resources/profiles/BBL/machine/Bambu Lab P1S.json index f5e81affe6..48f008b02a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S.json @@ -1,13 +1,13 @@ { - "type": "machine_model", - "name": "Bambu Lab P1S", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "C12", - "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PLA Silk @BBL X1C;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Generic PETG;Bambu PETG HF @BBL X1C" -} + "type": "machine_model", + "name": "Bambu Lab P1S", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "C12", + "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PLA Silk @BBL X1C;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Generic PETG;Bambu PETG HF @BBL X1C;Bambu PLA Pure @BBL X1C;Bambu PLA Basic @BBL X1C 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.2 nozzle.json index 8b174457f9..490fb819cc 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.2 nozzle.json @@ -1,33 +1,221 @@ { - "type": "machine", - "name": "Bambu Lab P2S 0.2 nozzle", - "inherits": "Bambu Lab P2S 0.4 nozzle", - "from": "system", - "setting_id": "GM000", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab P2S", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL P2S 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL P2S 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab P2S 0.2 nozzle", + "inherits": "Bambu Lab P2S 0.4 nozzle", + "from": "system", + "setting_id": "GM000", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab P2S", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P2S 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL P2S 0.2 nozzle", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "deretraction_speed": [ + "30", + "30" + ], + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "30", + "30" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "110", + "110" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "wipe_distance": [ + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "10000", + "10000", + "10000", + "10000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..0cb2886e39 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== P2S filament_change gcode ==========\n;===== 2026/05/15 =====\n\nM620 S[next_filament_id]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_filament_id] == 0 || z_hop_types[current_filament_id] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_filament_id] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_filament_id] E0\n{endif}\n\nM620.11 K0 I[current_filament_id] R0\n\n\nT[next_filament_id]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if filament_type[next_filament_id] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 80) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\n\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Y247 F30000\nG1 Y217 F18000\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_filament_id]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Y247 F30000\nG1 Y217 F18000\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[next_filament_id] W1 ;enable ams air printing detect\n\nG1 Y256 F18000\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_filament_id])}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer aux fan\n {endif}\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_filament_id] && additional_fan_full_speed_layer[next_filament_id] > close_additional_fan_first_x_layers[next_filament_id])}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n {endif}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {endif}\n{endif}\n{endif}\n\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_filament_id])}\n M106 P10 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer left aux fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_filament_id] && additional_fan_full_speed_layer[next_filament_id] > close_additional_fan_first_x_layers[next_filament_id])}\n M106 P10 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n{else}\n M106 P10 S{additional_cooling_fan_speed[next_filament_id]*255.0/100.0};set left aux fan\n{endif}\nM623\n\n;not set fan changing filament" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..a3f4757bea --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";======== P2S layer_change gcode ==========\n;===== 2026/05/15 ====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{else}\n{if (min_vitrification_temperature > 50)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}\n {endif}\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}; set first x_layer left aux fan\n M623\n;not reset fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[current_filament_id] && additional_fan_full_speed_layer[current_filament_id] > close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n {endif}\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n M623\n;not reset fan\n{elsif (layer_num + 1 == max(close_additional_fan_first_x_layers[current_filament_id] + 1, additional_fan_full_speed_layer[current_filament_id]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n ;not reset filter fan in Xth layer\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{additional_cooling_fan_speed[current_filament_id]*255.0/100.0}; set left aux fan\n M623\n;not reset fan\n{endif}\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..5ce7cb3c9f --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";======== P2S end gcode ==========\n;===== 2026/05/18 =====\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.1 F8000\nM621 S65535\n\nG150.3\nM104 S0 ; turn off hotend\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P2 S255\nM400 S180\nM106 P2 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..a7dee998fb --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== P2S start gcode==========\n;===== 2026/05/18 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50\nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n G90\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n\n;==== set airduct mode ====\n;==== if Chamber Cooling is necessary ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S255 ; turn on filter fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\n{else}\n{if (min_vitrification_temperature <= 50)}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n{else}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S127 ; turn on 50% filter fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PLA/TPU exhaust chamber autocooling\n{endif}\n{endif}\n;==== set airduct mode ====\n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M104 S140 A\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M972 S26 P0 C0\n M972 S42 P0 T5000\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G90\n G1 X128 Y128 F30000\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A ; rise temp in advance\n M972 S19 P0 T5000 ;plate type detection\n\n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G150.3\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} ; rise temp in advance\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n\n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\n M620.11 P0 L0 I[initial_no_support_filament_id] E0\n M620.11 K0 I[initial_no_support_filament_id] R0\n\n M620 S[initial_no_support_filament_id]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_filament_id]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M621 S[initial_no_support_filament_id]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_filament_id]}\n {if bed_temperature_initial_layer_single > 89}\n M1030 S1800\n SYNC R0 T1800\n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[initial_filament_id] == \"TPU\" || filament_type[initial_filament_id] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n\n{if filament_type[initial_filament_id] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n;===== wipe left nozzle end =====\n\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M970.2 Q1 K1 W74 Z0.01\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M970.2 Q0 K1 W74 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M623\n\n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M623\n\n M622 J0\n G28\n M623\n G29.2 S1\n G28\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n\n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M620 S[initial_no_support_filament_id]A\n M400\n T[initial_no_support_filament_id]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_filament_id]A\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 89}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.0}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.03}\n {endif}\n {endif}\n\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.8 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E12 D4\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\") ||\n(filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]};enable tpu, pla and petg clog detect\n{else}\nM1015.3 S0;disable clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_filament_id] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.023 S0.01\nM1010 Q1 B0.005 S0.01\nM1010.1 S1\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..4ba9426d02 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";======== P2S timelapes gcode ==========\n;===== 2025/06/16 ====\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\n G150.3 ; move to garbage can\n M400\n M1004 S5 P1 ; external shutter\n M400 P300\n M971 S11 C10 O0\n M400 P350\n \n G90\n G1 Z{max_layer_z + 3.0} F1200\n G1 Y247 F30000\n G1 Y217 F18000\n{endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode.json new file mode 100644 index 0000000000..97ec404494 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode", + "instantiation": "false", + "wrapping_detection_gcode": ";======== P2S 20250822 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y247 F30000\n G1 Y217 F18000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json index 96e9e51600..55119f44e5 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json @@ -9,6 +9,7 @@ "0.4" ], "printer_model": "Bambu Lab P2S", + "farthest_point_timelapse": "1", "printer_variant": "0.4", "bed_exclude_area": [], "default_filament_profile": [ @@ -16,10 +17,12 @@ ], "default_print_profile": "0.20mm Standard @BBL P2S", "deretraction_speed": [ + "30", "30", "30" ], "deretract_speed_extruder_change": [ + "30", "30", "30" ], @@ -32,67 +35,94 @@ "0X0" ], "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" + "Direct Drive Standard,Direct Drive High Flow,Direct Drive E3D High Flow" ], "fan_direction": "right", "hotend_cooling_rate": [ + "2", "2", "2" ], "hotend_heating_rate": [ + "2", "2", "2" ], + "include": [ + "Bambu Lab P2S 0.4 nozzle template machine_start_gcode", + "Bambu Lab P2S 0.4 nozzle template machine_end_gcode", + "Bambu Lab P2S 0.4 nozzle template layer_change_gcode", + "Bambu Lab P2S 0.4 nozzle template time_lapse_gcode", + "Bambu Lab P2S 0.4 nozzle template wrapping_detection_gcode", + "Bambu Lab P2S 0.4 nozzle template change_filament_gcode" + ], "long_retractions_when_cut": [ + "0", "0", "0" ], "machine_load_filament_time": "26", "machine_max_acceleration_travel": [ + "10000", + "10000", "10000", "10000", "10000", "10000" ], "machine_max_speed_x": [ - "600", - "600", - "600", - "600" + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" ], "machine_max_speed_y": [ - "600", - "600", - "600", - "600" + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" ], "machine_prepare_compensation_time": "370", "machine_unload_filament_time": "31", "machine_max_acceleration_e": [ + "5000", + "5000", "5000", "5000", "5000", "5000" ], "machine_max_acceleration_extruding": [ + "20000", + "20000", "20000", "20000", "20000", "20000" ], "machine_max_acceleration_retracting": [ + "5000", + "5000", "5000", "5000", "5000", "5000" ], "machine_max_acceleration_x": [ + "20000", + "20000", "20000", "20000", "20000", "20000" ], "machine_max_acceleration_y": [ + "20000", + "20000", "20000", "20000", "20000", @@ -100,41 +130,55 @@ ], "machine_max_acceleration_z": [ "500", - "200", - "200", - "200" + "500", + "500", + "500", + "500", + "500" ], "machine_max_jerk_e": [ + "2.5", + "2.5", "2.5", "2.5", "2.5", "2.5" ], "machine_max_jerk_x": [ + "9", + "9", "9", "9", "9", "9" ], "machine_max_jerk_y": [ + "9", + "9", "9", "9", "9", "9" ], "machine_max_jerk_z": [ + "3", + "3", "3", "3", "3", "3" ], "machine_max_speed_e": [ + "30", + "30", "30", "30", "30", "30" ], "machine_max_speed_z": [ + "20", + "20", "20", "20", "20", @@ -148,78 +192,89 @@ ], "nozzle_height": "4.2", "nozzle_volume": [ + "110", "110", "110" ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], "nozzle_flush_dataset": [ + "0", "0", "0" ], "printable_height": "256", - "auxiliary_fan": "0", - "support_air_filtration": "1", "printer_extruder_id": [ + "1", "1", "1" ], "printer_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], "retract_before_wipe": [ + "0%", "0%", "0%" ], "retract_length_toolchange": [ + "2", "2", "2" ], "retract_lift_above": [ + "0", "0", "0" ], "retract_lift_below": [ + "249", "249", "249" ], "retraction_length": [ + "0.8", "0.8", "0.8" ], "retraction_minimum_travel": [ + "1", "1", "1" ], "retraction_speed": [ + "30", "30", "30" ], "retract_restart_extra": [ + "0", "0", "0" ], "retract_restart_extra_toolchange": [ + "0", "0", "0" ], "retract_when_changing_layer": [ + "1", "1", "1" ], "retraction_distances_when_cut": [ + "18", "18", "18" ], "support_object_skip_flush": "1", "wipe_distance": [ + "2", "2", "2" ], "wipe": [ + "1", "1", "1" ], @@ -230,10 +285,12 @@ "153x235" ], "z_hop": [ + "0.4", "0.4", "0.4" ], "z_hop_types": [ + "Auto Lift", "Auto Lift", "Auto Lift" ], @@ -241,12 +298,10 @@ "Bambu Lab A1 0.4 nozzle", "Bambu Lab H2S 0.4 nozzle", "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle" + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" ], - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== P2S start gcode==========\n;===== Based on official 2026/04/21 start gcode =====\n \n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n G90\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M975 S1 ; turn on input shaping\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n;==== if Chamber Cooling is necessary ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S255 ; turn on filter fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\n{else}\n{if (min_vitrification_temperature <= 50)}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n{else}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S127 ; turn on 50% filter fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PLA/TPU exhaust chamber autocooling\n{endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M104 S140 A \n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M972 S26 P0 C0\n M972 S42 P0 T5000\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G90\n G1 X128 Y128 F30000\n G28 Z P0 T400\n M400\n;===== first homing end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A ; rise temp in advance\n M972 S19 P0 T5000 ;plate type detection\n \n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G150.3\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise temp in advance\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] E0\n M620.11 K0 I[initial_no_support_extruder] R0\n \n M620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n M1030 S1800 \n SYNC R0 T1800\n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n \n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n\n ; series of wipes to ensure the nozzle is as clean as possible to avoid potential z-drift issues.\n M104 S180\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n M106 P1 S255\n M109 S180 A\n G150.1 F8000 \n M109 S140 A\n M106 P1 S0\n G150.1 F8000\n G91\n G1 Y-16 F12000\n G1 X100 F6000\n G90\n M400\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n \n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n;===== wipe left nozzle end =====\n\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M970.2 Q1 K1 W74 Z0.01\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M970.2 Q0 K1 W74 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M623\n\n M622 J0\n ;skip to homing\n M623\n G29.2 S1\n G28\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S[nozzle_temperature_initial_layer] A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 89}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.0}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.03}\n {endif}\n {endif}\n\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\n G90\n M83\n G1 Z1\n M400\n;===== nozzle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\") || \n(filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu, pla and petg clog detect\n{else}\nM1015.3 S0;disable clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.023 S0.01\nM1010 Q1 B0.005 S0.01\nM1010.1 S1\n", - "machine_end_gcode": ";======== P2S end gcode ==========\n;===== Based on official 2026/04/01 end gcode =====\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.1 F8000\nM621 S65535\n\nG150.3\nM104 S0 ; turn off hotend\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\n;checks for activate_air_filtration_on_completion and parent flag. If enabled, the override fan speed will be used. Otherwise, the default air purification will kick in.\n\nM622 J1\n{if !activate_air_filtration[current_extruder] || (activate_air_filtration[current_extruder] && !activate_air_filtration_on_completion[current_extruder])}\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P2 S255\nM400 S180\nM106 P2 S0\n{endif}\nM623\n\nM622 J2\n{if !activate_air_filtration[current_extruder] || (activate_air_filtration[current_extruder] && !activate_air_filtration_on_completion[current_extruder])}\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\n{endif}\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n", - "layer_change_gcode": ";======== P2S layer_change gcode ==========\n;===== Based on official 2026/04/08 layer change gcode =====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{else}\n{if (min_vitrification_temperature > 50)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif} \n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_fan_the_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}\n {endif}\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}; set first x_layer left aux fan \n M623\n;not reset fan\n{elsif (layer_num + 1 < full_fan_speed_layer[current_extruder] && full_fan_speed_layer[current_extruder] > close_fan_the_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_fan_the_first_x_layers[current_extruder]) / (full_fan_speed_layer[current_extruder] - close_fan_the_first_x_layers[current_extruder])) * 255.0/100.0}\n {endif}\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_fan_the_first_x_layers[current_extruder]) / (full_fan_speed_layer[current_extruder] - close_fan_the_first_x_layers[current_extruder])) * 255.0/100.0}\n M623\n;not reset fan\n{elsif (layer_num + 1 == max(close_fan_the_first_x_layers[current_extruder] + 1, full_fan_speed_layer[current_extruder]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n ;not reset filter fan in Xth layer\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{additional_cooling_fan_speed[current_extruder]*255.0/100.0}; set left aux fan \n M623\n;not reset fan\n{endif}\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n\n", - "time_lapse_gcode": ";======== P2S timeslape gcode ==========\n;===== 2025/06/16 ====\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\n G150.3 ; move to garbage can\n M400\n M1004 S5 P1 ; external shutter\n M400 P300\n M971 S11 C10 O0\n M400 P350\n \n G90\n G1 Z{max_layer_z + 3.0} F1200\n G0 Y210 F18000\n{endif}\nM623\n; SKIPPABLE_END\n", - "wrapping_detection_gcode": ";======== P2S 20250822 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y240 F30000\n G1 Y210 F15000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}", - "change_filament_gcode": ";======== P2S filament_change gcode ==========\n;===== Based on official 2026/04/08 filament change gcode =====\n\nM620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_extruder] == 0 || z_hop_types[current_extruder] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_extruder] E0\n{endif}\n\nM620.11 K0 I[current_extruder] R0\n\n \nT[next_extruder]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if filament_type[next_extruder] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 80) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\n\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_extruder]A\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\nM1002 set_flag powerloss_resume_flag=0\nM623\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\n\nG1 Y256 F18000\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_fan_the_first_x_layers[next_extruder])}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer aux fan\n {endif}\n{elsif (layer_num + 1 < full_fan_speed_layer[next_extruder] && full_fan_speed_layer[next_extruder] > close_fan_the_first_x_layers[next_extruder])}\n {if (min_vitrification_temperature <= 50)}\n M106 P2 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_fan_the_first_x_layers[next_extruder]) / (full_fan_speed_layer[next_extruder] - close_fan_the_first_x_layers[next_extruder])) * 255.0/100.0}\n {endif}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {endif}\n{endif}\n{endif}\n\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\n{if (layer_num + 1 <= close_fan_the_first_x_layers[next_extruder])}\n M106 P10 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer left aux fan \n{elsif (layer_num + 1 < full_fan_speed_layer[next_extruder] && full_fan_speed_layer[next_extruder] > close_fan_the_first_x_layers[next_extruder])}\n M106 P10 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_fan_the_first_x_layers[next_extruder]) / (full_fan_speed_layer[next_extruder] - close_fan_the_first_x_layers[next_extruder])) * 255.0/100.0}\n{else}\n M106 P10 S{additional_cooling_fan_speed[next_extruder]*255.0/100.0};set left aux fan\n{endif}\nM623\n\n;not set fan changing filament" + "print_in_clockwise": "1" } diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.6 nozzle.json index fe42eef3f1..78764749fa 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.6 nozzle.json @@ -1,33 +1,37 @@ { - "type": "machine", - "name": "Bambu Lab P2S 0.6 nozzle", - "inherits": "Bambu Lab P2S 0.4 nozzle", - "from": "system", - "setting_id": "GM009", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab P2S", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL P2S 0.6 nozzle" - ], - "default_print_profile": "0.30mm Standard @BBL P2S 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab P2S 0.6 nozzle", + "inherits": "Bambu Lab P2S 0.4 nozzle", + "from": "system", + "setting_id": "GM009", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab P2S", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P2S 0.6 nozzle" + ], + "default_print_profile": "0.30mm Standard @BBL P2S 0.6 nozzle", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4", + "1.4" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.8 nozzle.json index c154ec6105..35dd4955d8 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.8 nozzle.json @@ -1,37 +1,221 @@ { - "type": "machine", - "name": "Bambu Lab P2S 0.8 nozzle", - "inherits": "Bambu Lab P2S 0.4 nozzle", - "from": "system", - "setting_id": "GM018", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab P2S", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL P2S 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL P2S 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab P2S 0.8 nozzle", + "inherits": "Bambu Lab P2S 0.4 nozzle", + "from": "system", + "setting_id": "GM018", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab P2S", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL P2S 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL P2S 0.8 nozzle", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "deretraction_speed": [ + "30", + "30" + ], + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "deretract_speed_extruder_change": [ + "30", + "30" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "nozzle_volume": [ + "110", + "110" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "wipe_distance": [ + "2", + "2" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "10000", + "10000", + "10000", + "10000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S.json b/resources/profiles/BBL/machine/Bambu Lab P2S.json index 19939adeff..a355fc1179 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S.json @@ -1,16 +1,16 @@ { - "type": "machine_model", - "name": "Bambu Lab P2S", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "image_bed_type": "n", - "bottom_texture_end_name": "n", - "not_support_bed_type": "Smooth Cool Plate;Textured Cool Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "N7", - "default_materials": "Bambu PLA Matte @BBL P2S;Bambu PLA Basic @BBL P2S;Bambu PLA Silk @BBL P2S;Bambu PLA Marble @BBL P2S;Bambu PLA Sparkle @BBL P2S;Generic PLA @BBL P2S;Bambu TPU 95A @BBL P2S;Bambu ABS @BBL P2S;Bambu PC @BBL P2S 0.4 nozzle" -} + "type": "machine_model", + "name": "Bambu Lab P2S", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "image_bed_type": "n", + "bottom_texture_end_name": "n", + "not_support_bed_type": "Cool Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "N7", + "default_materials": "Bambu PLA Matte @BBL P2S;Bambu PLA Basic @BBL P2S;Bambu PLA Silk @BBL P2S;Bambu PLA Marble @BBL P2S;Bambu PLA Sparkle @BBL P2S;Generic PLA @BBL P2S;Bambu TPU 95A @BBL P2S;Bambu ABS @BBL P2S;Bambu PC @BBL P2S 0.4 nozzle;Bambu PLA Pure @BBL P2S 0.4 nozzle;Bambu PLA Basic @BBL P2S 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..c814830f56 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.2 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.2 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json index 1d7363975b..0d3e449d12 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json @@ -1,218 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab X1 0.2 nozzle", - "inherits": "Bambu Lab X1 0.4 nozzle", - "from": "system", - "setting_id": "GM008", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab X1", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", - "deretraction_speed": [ - "30", - "30" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.2 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 0.2 nozzle", + "inherits": "Bambu Lab X1 0.4 nozzle", + "from": "system", + "setting_id": "GM008", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab X1", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", + "include": [ + "Bambu Lab X1 0.2 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..3167207ebe --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";=X1 20251031=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..d0a5e1716c --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20240528 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A49 B20 L100 C44 D20 M100 E41 F20 N100\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..3709f9f179 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.4 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..67d293b29f --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json index d56f1094f8..667590e658 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json @@ -1,233 +1,246 @@ { - "type": "machine", - "name": "Bambu Lab X1 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM003", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab X1", - "printer_variant": "0.4", - "auxiliary_fan": "0", - "bed_exclude_area": [ - "0x0", - "18x0", - "18x28", - "0x28" - ], - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1" - ], - "default_print_profile": "0.20mm Standard @BBL X1C", - "deretraction_speed": [ - "30", - "30" - ], - "enable_long_retraction_when_cut": [ - "2" - ], - "extruder_offset": [ - "0x2" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "fan_direction": "left", - "long_retractions_when_cut": [ - "0", - "0" - ], - "machine_unload_filament_time": "28", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_height": "4.2", - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "scan_first_layer": "1", - "support_air_filtration": "1", - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.4 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n", - "machine_end_gcode": ";===== date: 20240528 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A49 B20 L100 C44 D20 M100 E41 F20 N100\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n", - "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n", - "change_filament_gcode": ";=X1 20250822=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S{nozzle_temperature[next_extruder]}\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" + "type": "machine", + "name": "Bambu Lab X1 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM003", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab X1", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "auxiliary_fan": "0", + "bed_exclude_area": [ + "0x0", + "18x0", + "18x28", + "0x28" + ], + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1" + ], + "default_print_profile": "0.20mm Standard @BBL X1C", + "deretraction_speed": [ + "30", + "30" + ], + "enable_long_retraction_when_cut": [ + "2" + ], + "extruder_offset": [ + "0x2" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "fan_direction": "left", + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "include": [ + "Bambu Lab X1 0.4 nozzle template machine_start_gcode", + "Bambu Lab X1 0.4 nozzle template machine_end_gcode", + "Bambu Lab X1 0.4 nozzle template time_lapse_gcode", + "Bambu Lab X1 0.4 nozzle template change_filament_gcode" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "machine_unload_filament_time": "28", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "nozzle_height": "4.2", + "nozzle_volume": [ + "107", + "107" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "retraction_length": [ + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "scan_first_layer": "1", + "wipe_distance": [ + "2", + "2" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..1c3c940d86 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.6 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.6 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json index d5a6eb8a2a..6f58baa060 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json @@ -1,44 +1,45 @@ { - "type": "machine", - "name": "Bambu Lab X1 0.6 nozzle", - "inherits": "Bambu Lab X1 0.4 nozzle", - "from": "system", - "setting_id": "GM006", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab X1", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL X1 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.6 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 0.6 nozzle", + "inherits": "Bambu Lab X1 0.4 nozzle", + "from": "system", + "setting_id": "GM006", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab X1", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL X1 0.6 nozzle", + "include": [ + "Bambu Lab X1 0.6 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4" + ], + "retraction_minimum_travel": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..88f22deea6 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 0.8 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.8 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json index 090a5665e0..35ec6c6d3f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json @@ -1,44 +1,45 @@ { - "type": "machine", - "name": "Bambu Lab X1 0.8 nozzle", - "inherits": "Bambu Lab X1 0.4 nozzle", - "from": "system", - "setting_id": "GM007", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab X1", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @BBL X1 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.8 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 0.8 nozzle", + "inherits": "Bambu Lab X1 0.4 nozzle", + "from": "system", + "setting_id": "GM007", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab X1", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @BBL X1 0.8 nozzle", + "include": [ + "Bambu Lab X1 0.8 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..7e4812ce30 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.2 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json index 9ce0f9268f..33a370cc95 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json @@ -1,218 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab X1 Carbon 0.2 nozzle", - "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", - "from": "system", - "setting_id": "GM002", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab X1 Carbon", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", - "deretraction_speed": [ - "30", - "30" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1E 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.2 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.2 nozzle", + "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", + "from": "system", + "setting_id": "GM002", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab X1 Carbon", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", + "include": [ + "Bambu Lab X1 Carbon 0.2 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1E 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..1130465f85 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";=X1 20251031=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..e762dc0200 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..365adfe3de --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20240528 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A49 B20 L100 C44 D20 M100 E41 F20 N100\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..7c52887ce4 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.4 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..7af804b64f --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json index 3303ece1b0..f208c2e5fd 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json @@ -1,227 +1,241 @@ { - "type": "machine", - "name": "Bambu Lab X1 Carbon 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab X1 Carbon", - "printer_variant": "0.4", - "bed_exclude_area": [ - "0x0", - "18x0", - "18x28", - "0x28" - ], - "default_print_profile": "0.20mm Standard @BBL X1C", - "deretraction_speed": [ - "30", - "30" - ], - "enable_long_retraction_when_cut": "2", - "extruder_offset": [ - "0x2" - ], - "fan_direction": "left", - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "machine_unload_filament_time": "28", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_height": "4.2", - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "scan_first_layer": "1", - "support_air_filtration": "1", - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1E 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.4 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n", - "machine_end_gcode": ";===== date: 20240528 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A49 B20 L100 C44 D20 M100 E41 F20 N100\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N100\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n", - "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END\n", - "change_filament_gcode": ";=X1 20250822=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S{nozzle_temperature[next_extruder]}\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM001", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab X1 Carbon", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "bed_exclude_area": [ + "0x0", + "18x0", + "18x28", + "0x28" + ], + "default_print_profile": "0.20mm Standard @BBL X1C", + "deretraction_speed": [ + "30", + "30" + ], + "enable_long_retraction_when_cut": "2", + "extruder_offset": [ + "0x2" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "fan_direction": "left", + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "include": [ + "Bambu Lab X1 Carbon 0.4 nozzle template machine_start_gcode", + "Bambu Lab X1 Carbon 0.4 nozzle template machine_end_gcode", + "Bambu Lab X1 Carbon 0.4 nozzle template time_lapse_gcode", + "Bambu Lab X1 Carbon 0.4 nozzle template change_filament_gcode", + "Bambu Lab X1 Carbon 0.4 nozzle template layer_change_gcode" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "machine_unload_filament_time": "28", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "nozzle_height": "4.2", + "nozzle_volume": [ + "107", + "107" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "retraction_length": [ + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "scan_first_layer": "1", + "wipe_distance": [ + "2", + "2" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..99900d3bdb --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.6 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json index 59e54fdc44..f8d2014482 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json @@ -1,40 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab X1 Carbon 0.6 nozzle", - "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", - "from": "system", - "setting_id": "GM005", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab X1 Carbon", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1E 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.6 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.6 nozzle", + "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", + "from": "system", + "setting_id": "GM005", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab X1 Carbon", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.6 nozzle" + ], + "include": [ + "Bambu Lab X1 Carbon 0.6 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4" + ], + "retraction_minimum_travel": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1E 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..b179c1ed00 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1-0.8 ====================\n;===== date: 20251031 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json index dd8bb88c52..5112f3979a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json @@ -1,43 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab X1 Carbon 0.8 nozzle", - "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", - "from": "system", - "setting_id": "GM004", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab X1 Carbon", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1E 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "machine_start_gcode": ";===== machine: X1-0.8 ====================\n;===== date: 20250909 ==================\n;===== start printer sound ================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A46 B10 L100 C43 D10 M70 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A43 B10 L100 C0 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A41 B10 L100 C0 D10 M100 E41 F10 N100\nM1006 A44 B10 L100 C0 D10 M100 E44 F10 N100\nM1006 A49 B10 L100 C0 D10 M100 E49 F10 N100\nM1006 A0 B10 L100 C0 D10 M100 E0 F10 N100\nM1006 A48 B10 L100 C44 D10 M60 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A44 B10 L100 C0 D10 M90 E39 F10 N100\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N100\nM1006 A46 B10 L100 C43 D10 M60 E39 F10 N100\nM1006 W\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" + "type": "machine", + "name": "Bambu Lab X1 Carbon 0.8 nozzle", + "inherits": "Bambu Lab X1 Carbon 0.4 nozzle", + "from": "system", + "setting_id": "GM004", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab X1 Carbon", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", + "include": [ + "Bambu Lab X1 Carbon 0.8 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1E 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon.json index 6a504195c7..4fbc650872 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon.json @@ -1,13 +1,13 @@ { - "type": "machine_model", - "name": "Bambu Lab X1 Carbon", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "BL-P001", - "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PC @BBL X1C;Bambu TPU 95A @BBL X1C;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Bambu PETG HF @BBL X1C" -} + "type": "machine_model", + "name": "Bambu Lab X1 Carbon", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "BL-P001", + "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PC @BBL X1C;Bambu TPU 95A @BBL X1C;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Bambu PETG HF @BBL X1C;Bambu PLA Pure @BBL X1C;Bambu PLA Basic @BBL X1C 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1.json b/resources/profiles/BBL/machine/Bambu Lab X1.json index 843ddcf3a7..607302b5f8 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1.json @@ -1,13 +1,13 @@ { - "type": "machine_model", - "name": "Bambu Lab X1", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "BL-P002", - "default_materials": "Bambu PLA Matte @BBL X1;Bambu PLA Basic @BBL X1;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PLA Silk @BBL X1;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Generic PETG;Bambu PETG HF @BBL X1C" -} + "type": "machine_model", + "name": "Bambu Lab X1", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "BL-P002", + "default_materials": "Bambu PLA Matte @BBL X1;Bambu PLA Basic @BBL X1;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1C;Bambu PLA Silk @BBL X1;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PLA;Generic PLA High Speed @BBL X1C;Generic PETG;Bambu PETG HF @BBL X1C;Bambu PLA Pure @BBL X1C;Bambu PLA Basic @BBL X1C 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..c3a252568e --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.2 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1E-0.2 =========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json index b892dc36e3..5dfc7925b9 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json @@ -1,218 +1,44 @@ { - "type": "machine", - "name": "Bambu Lab X1E 0.2 nozzle", - "inherits": "Bambu Lab X1E 0.4 nozzle", - "from": "system", - "setting_id": "GM025", - "instantiation": "true", - "nozzle_diameter": [ - "0.2" - ], - "printer_model": "Bambu Lab X1E", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", - "deretraction_speed": [ - "30", - "30" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "long_retractions_when_cut": [ - "0", - "0" - ], - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_type": [ - "stainless_steel", - "stainless_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retraction_length": [ - "0.4", - "0.4" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.2 nozzle", - "Bambu Lab P1P 0.2 nozzle", - "Bambu Lab X1 0.2 nozzle", - "Bambu Lab X1 Carbon 0.2 nozzle", - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle" - ], - "machine_start_gcode": ";===== machine: X1E-0.2 =========================\n;===== date: 20250909 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" + "type": "machine", + "name": "Bambu Lab X1E 0.2 nozzle", + "inherits": "Bambu Lab X1E 0.4 nozzle", + "from": "system", + "setting_id": "GM025", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Bambu Lab X1E", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL X1C 0.2 nozzle", + "include": [ + "Bambu Lab X1E 0.2 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.04" + ], + "retraction_length": [ + "0.4", + "0.4" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.2 nozzle", + "Bambu Lab P1P 0.2 nozzle", + "Bambu Lab X1 0.2 nozzle", + "Bambu Lab X1 Carbon 0.2 nozzle", + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab X2D 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..e91ec6e911 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";=X1E 20251031=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E-[retraction_distance_when_cut] F200\nM400\n{endif}\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\nM400\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E{retraction_distance_when_cut - 2} F200\nG1 E2 F20\nM400\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..5626f5737c --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..fd577a55f6 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";===== date: 20240402 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM141 S0 ; turn off chamber \nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..e38e9ff110 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1E-0.4 =========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ====\n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..7bd08b5cae --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json index 4b2fe3c755..5171880c21 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json @@ -1,228 +1,243 @@ { - "type": "machine", - "name": "Bambu Lab X1E 0.4 nozzle", - "inherits": "fdm_bbl_3dp_001_common", - "from": "system", - "setting_id": "GM026", - "instantiation": "true", - "nozzle_diameter": [ - "0.4" - ], - "printer_model": "Bambu Lab X1E", - "printer_variant": "0.4", - "bed_exclude_area": [ - "0x0", - "18x0", - "18x28", - "0x28" - ], - "default_print_profile": "0.20mm Standard @BBL X1C", - "deretraction_speed": [ - "30", - "30" - ], - "enable_long_retraction_when_cut": "1", - "extruder_offset": [ - "0x2" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow" - ], - "fan_direction": "left", - "long_retractions_when_cut": [ - "0", - "0" - ], - "machine_unload_filament_time": "28", - "machine_max_acceleration_e": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000", - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000", - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200", - "200", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5", - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9", - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3", - "3", - "3" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_y": [ - "500", - "200", - "200", - "200" - ], - "machine_max_speed_z": [ - "20", - "20", - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "nozzle_height": "4.2", - "nozzle_type": [ - "hardened_steel", - "hardened_steel" - ], - "nozzle_volume": [ - "107", - "107" - ], - "printer_extruder_id": [ - "1", - "1" - ], - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "retract_before_wipe": [ - "0%", - "0%" - ], - "retract_length_toolchange": [ - "2", - "2" - ], - "retract_lift_above": [ - "0", - "0" - ], - "retract_lift_below": [ - "249", - "249" - ], - "retraction_length": [ - "0.8", - "0.8" - ], - "retraction_minimum_travel": [ - "1", - "1" - ], - "retraction_speed": [ - "30", - "30" - ], - "retract_restart_extra": [ - "0", - "0" - ], - "retract_restart_extra_toolchange": [ - "0", - "0" - ], - "retract_when_changing_layer": [ - "1", - "1" - ], - "retraction_distances_when_cut": [ - "18", - "18" - ], - "scan_first_layer": "1", - "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "wipe_distance": [ - "2", - "2" - ], - "wipe": [ - "1", - "1" - ], - "z_hop": [ - "0.4", - "0.4" - ], - "z_hop_types": [ - "Auto Lift", - "Auto Lift" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.4 nozzle", - "Bambu Lab P1P 0.4 nozzle", - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 Carbon 0.4 nozzle", - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle" - ], - "machine_start_gcode": ";===== machine: X1E-0.4 =========================\n;===== date: 20250909 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ====\n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y12 Z0.2 E0.577\n G0 F1200.0 X226 Y12 Z0.2 E0.275\n G0 F1200.0 X226 Y1.5 Z0.2 E0.577\n G0 F1200.0 X220 Y1.5 Z0.2 E0.330\n G0 F1200.0 X220 Y8 Z0.2 E0.358\n G0 F1200.0 X210 Y8 Z0.2 E0.549\n G0 F1200.0 X210 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E11.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E0.772 F1200.0\n G0 X45.0 E0.22 F1200.0\n G0 X35.0 Y6.0 E0.86 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n;===== purge line to wipe the nozzle ============================\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X18.0 Y2.5 Z0.8 F18000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG1 Z0.2\nG0 X239 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y12 E0.7 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n", - "machine_end_gcode": ";===== date: 20240402 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM141 S0 ; turn off chamber \nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", - "time_lapse_gcode": ";========Date 20250206========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firmware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\nM1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400\nM1004 S5 P1 ; external shutter\nM400 P300\nM971 S11 C10 O0\nG92 E0\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; SKIPPABLE_END", - "change_filament_gcode": ";=X1E 20250822=\nM620 S[next_extruder]A\nM204 S9000\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if nozzle_temperature[previous_extruder] > 142 && next_extruder < 255}\nM104 S{nozzle_temperature[previous_extruder]}\n{endif}\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E-[retraction_distance_when_cut] F200\nM400\n{endif}\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F{flush_volumetric_speeds[previous_extruder]/2.4053*60} T{flush_temperatures[previous_extruder]}\nT[next_extruder]\nM620.1 E F{flush_volumetric_speeds[next_extruder]/2.4053*60} T{flush_temperatures[next_extruder]}\n\n{if next_extruder < 255}\nM400\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E{retraction_distance_when_cut - 2} F200\nG1 E2 F20\nM400\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S{flush_temperatures[next_extruder]}\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{flush_volumetric_speeds[previous_extruder]/2.4053*60} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\n{else}\nG1 E{flush_length_1} F{flush_volumetric_speeds[previous_extruder]/2.4053*60}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{flush_volumetric_speeds[next_extruder]/2.4053*60}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S{nozzle_temperature[next_extruder]}\nG1 E2 F{flush_volumetric_speeds[next_extruder]/2.4053*60} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" + "type": "machine", + "name": "Bambu Lab X1E 0.4 nozzle", + "inherits": "fdm_bbl_3dp_001_common", + "from": "system", + "setting_id": "GM026", + "instantiation": "true", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "Bambu Lab X1E", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "bed_exclude_area": [ + "0x0", + "18x0", + "18x28", + "0x28" + ], + "default_print_profile": "0.20mm Standard @BBL X1C", + "deretraction_speed": [ + "30", + "30" + ], + "enable_long_retraction_when_cut": "1", + "extruder_offset": [ + "0x2" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow" + ], + "fan_direction": "left", + "hotend_cooling_rate": [ + "2", + "2" + ], + "hotend_heating_rate": [ + "2", + "2" + ], + "include": [ + "Bambu Lab X1E 0.4 nozzle template machine_start_gcode", + "Bambu Lab X1E 0.4 nozzle template machine_end_gcode", + "Bambu Lab X1E 0.4 nozzle template time_lapse_gcode", + "Bambu Lab X1E 0.4 nozzle template change_filament_gcode", + "Bambu Lab X1E 0.4 nozzle template layer_change_gcode" + ], + "long_retractions_when_cut": [ + "0", + "0" + ], + "machine_unload_filament_time": "28", + "machine_max_acceleration_e": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30" + ], + "machine_max_speed_x": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500", + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "nozzle_height": "4.2", + "nozzle_volume": [ + "107", + "107" + ], + "nozzle_flush_dataset": [ + "0", + "0" + ], + "printer_extruder_id": [ + "1", + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "retract_before_wipe": [ + "0%", + "0%" + ], + "retract_length_toolchange": [ + "2", + "2" + ], + "retract_lift_above": [ + "0", + "0" + ], + "retract_lift_below": [ + "249", + "249" + ], + "retraction_length": [ + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "0", + "0" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18" + ], + "scan_first_layer": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "wipe_distance": [ + "2", + "2" + ], + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab X2D 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..e1d67f8cb8 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.6 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1E-0.6 =========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json index 267ab51466..2f45cee711 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json @@ -1,40 +1,45 @@ { - "type": "machine", - "name": "Bambu Lab X1E 0.6 nozzle", - "inherits": "Bambu Lab X1E 0.4 nozzle", - "from": "system", - "setting_id": "GM027", - "instantiation": "true", - "nozzle_diameter": [ - "0.6" - ], - "printer_model": "Bambu Lab X1E", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.6 nozzle", - "Bambu Lab P1P 0.6 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 Carbon 0.6 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle" - ], - "machine_start_gcode": ";===== machine: X1E-0.6 =========================\n;===== date: 20250909 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.039\n G0 F1200.0 X226 Y12 Z0.2 E0.495\n G0 F1200.0 X226 Y1.5 Z0.2 E1.039\n G0 F1200.0 X220 Y1.5 Z0.2 E0.594\n G0 F1200.0 X220 Y8 Z0.2 E0.644\n G0 F1200.0 X210 Y8 Z0.2 E0.988\n G0 F1200.0 X210 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E19.826 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.312 F1200.0\n G0 X45.0 E0.374 F1200.0\n G0 X35.0 Y6.0 E1.460 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" + "type": "machine", + "name": "Bambu Lab X1E 0.6 nozzle", + "inherits": "Bambu Lab X1E 0.4 nozzle", + "from": "system", + "setting_id": "GM027", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Bambu Lab X1E", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @BBL X1C 0.6 nozzle", + "include": [ + "Bambu Lab X1E 0.6 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "retraction_length": [ + "1.4", + "1.4" + ], + "retraction_minimum_travel": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.6 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 Carbon 0.6 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab X2D 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..ce489cd506 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X1E 0.8 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";===== machine: X1E-0.8 =========================\n;===== date: 20251031 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action:54\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json index 4d8a9c9bd0..d2adeb9845 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json @@ -1,43 +1,48 @@ { - "type": "machine", - "name": "Bambu Lab X1E 0.8 nozzle", - "inherits": "Bambu Lab X1E 0.4 nozzle", - "from": "system", - "setting_id": "GM028", - "instantiation": "true", - "nozzle_diameter": [ - "0.8" - ], - "printer_model": "Bambu Lab X1E", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X1C 0.8 nozzle" - ], - "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_length_toolchange": [ - "3", - "3" - ], - "retraction_length": [ - "3", - "3" - ], - "upward_compatible_machine": [ - "Bambu Lab P1S 0.8 nozzle", - "Bambu Lab P1P 0.8 nozzle", - "Bambu Lab X1 0.8 nozzle", - "Bambu Lab X1 Carbon 0.8 nozzle", - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle" - ], - "machine_start_gcode": ";===== machine: X1E-0.8 =========================\n;===== date: 20250909 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} T{flush_temperatures[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y12 Z0.2 E1.154\n G0 F1200.0 X226 Y12 Z0.2 E0.550\n G0 F1200.0 X226 Y1.5 Z0.2 E1.154\n G0 F1200.0 X220 Y1.5 Z0.2 E0.660\n G0 F1200.0 X220 Y8 Z0.2 E0.716\n G0 F1200.0 X210 Y8 Z0.2 E1.098\n G0 F1200.0 X210 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E24.107 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y12 E1.420 F1200.0\n G0 X45.0 E0.404 F1200.0\n G0 X35.0 Y6.0 E1.580 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.750 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y6.75\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X215.00 Y4.750\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM104 S140\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\nM109 S{nozzle_temperature[initial_no_support_extruder]}\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n" + "type": "machine", + "name": "Bambu Lab X1E 0.8 nozzle", + "inherits": "Bambu Lab X1E 0.4 nozzle", + "from": "system", + "setting_id": "GM028", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Bambu Lab X1E", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X1C 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL X1C 0.8 nozzle", + "include": [ + "Bambu Lab X1E 0.8 nozzle template machine_start_gcode" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3", + "3" + ], + "retraction_length": [ + "3", + "3" + ], + "upward_compatible_machine": [ + "Bambu Lab P1S 0.8 nozzle", + "Bambu Lab P1P 0.8 nozzle", + "Bambu Lab X1 0.8 nozzle", + "Bambu Lab X1 Carbon 0.8 nozzle", + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E.json b/resources/profiles/BBL/machine/Bambu Lab X1E.json index d0c5f3660c..0880fc4f6e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E.json @@ -1,13 +1,13 @@ { - "type": "machine_model", - "name": "Bambu Lab X1E", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "machine_tech": "FFF", - "model_id": "C13", - "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1E;Bambu ASA @BBL X1E;Bambu PC @BBL X1E;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PPA-CF @BBL X1E;Generic PPS @BBL X1E;Generic PPS-CF @BBL X1E;Bambu PETG HF @BBL X1C" -} + "type": "machine_model", + "name": "Bambu Lab X1E", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "machine_tech": "FFF", + "model_id": "C13", + "default_materials": "Bambu PLA Matte @BBL X1C;Bambu PLA Basic @BBL X1C;Bambu PLA-CF @BBL X1C;Bambu PETG-CF @BBL X1C;Bambu ABS @BBL X1E;Bambu ASA @BBL X1E;Bambu PC @BBL X1E;Bambu PAHT-CF @BBL X1C;Bambu Support For PLA @BBL X1C;Bambu Support For PA/PET @BBL X1C;Generic PPA-CF @BBL X1E;Generic PPS @BBL X1E;Generic PPS-CF @BBL X1E;Bambu PETG HF @BBL X1C;Bambu PLA Pure @BBL X1C;Bambu PLA Basic @BBL X1C 0.2 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.2 nozzle.json index ebb6a2f83c..1a4f6d9c3d 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.2 nozzle.json @@ -1,34 +1,333 @@ { - "type": "machine", - "name": "Bambu Lab X2D 0.2 nozzle", - "inherits": "Bambu Lab X2D 0.4 nozzle", - "from": "system", - "setting_id": "GM046", - "instantiation": "true", - "nozzle_diameter": [ - "0.2", - "0.2" - ], - "printer_model": "Bambu Lab X2D", - "printer_variant": "0.2", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X2D 0.2 nozzle" - ], - "default_print_profile": "0.10mm Standard @BBL X2D 0.2 nozzle", - "max_layer_height": [ - "0.14", - "0.14" - ], - "min_layer_height": [ - "0.04", - "0.04" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.2 nozzle", - "Bambu Lab P2S 0.2 nozzle", - "Bambu Lab H2S 0.2 nozzle", - "Bambu Lab H2D 0.2 nozzle", - "Bambu Lab H2D Pro 0.2 nozzle", - "Bambu Lab H2C 0.2 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab X2D 0.2 nozzle", + "inherits": "Bambu Lab X2D 0.4 nozzle", + "from": "system", + "setting_id": "GM046", + "instantiation": "true", + "nozzle_diameter": [ + "0.2", + "0.2" + ], + "printer_model": "Bambu Lab X2D", + "printer_variant": "0.2", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X2D 0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @BBL X2D 0.2 nozzle", + "max_layer_height": [ + "0.14", + "0.14" + ], + "min_layer_height": [ + "0.04", + "0.04" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.2 nozzle", + "Bambu Lab P2S 0.2 nozzle", + "Bambu Lab H2S 0.2 nozzle", + "Bambu Lab H2D 0.2 nozzle", + "Bambu Lab H2D Pro 0.2 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab A2L 0.2 nozzle" + ], + "deretraction_speed": [ + "30", + "30", + "20", + "20" + ], + "hotend_heating_rate": [ + "1.5", + "1.5", + "1.5", + "1.5" + ], + "retraction_length": [ + "0.8", + "0.8", + "2", + "2" + ], + "retraction_speed": [ + "30", + "30", + "20", + "20" + ], + "deretract_speed_extruder_change": [ + "30", + "30", + "90", + "90" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Bowden Standard,Bowden High Flow" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "retract_lift_below": [ + "254", + "254", + "254", + "254" + ], + "machine_max_acceleration_e": [ + "30000", + "5000", + "30000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "30000", + "5000", + "30000", + "5000", + "30000", + "5000", + "30000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30", + "120", + "120", + "120", + "120" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18", + "18", + "18" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "nozzle_volume": [ + "92", + "92", + "92", + "92" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template change_filament_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template change_filament_gcode.json new file mode 100644 index 0000000000..77b94e6368 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template change_filament_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle template change_filament_gcode", + "instantiation": "false", + "change_filament_gcode": ";======== X2D filament_change gcode ==========\n;===== 2026/07/01 =====\n\nM620 S[next_filament_id]A B H[next_hotend]\n;M204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_filament_id] == 0 || z_hop_types[current_filament_id] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.22 I[next_filament_id] P1 ; enable remote extruder runout auto purge.\n\nT[next_filament_id] H[next_hotend]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if filament_type[next_filament_id] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 125) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\n\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\n\nM621 S[next_filament_id]A B\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM620.6 I[next_filament_id] H[next_hotend] W1 ;enable ams air printing detect\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;disable E air printing detect\n{endif}\n\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\nG1 Y256 F18000\n\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_filament_id])}\n M106 P2 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer fan\n\tM106 P10 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_filament_id] && additional_fan_full_speed_layer[next_filament_id] > close_additional_fan_first_x_layers[next_filament_id])}\n M106 P2 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R40 S45 U{max_additional_fan/100.0} V0.5 O50; set third-party PETG chamber \n {else}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{endif}\n{endif}\n;not set fan changing filament" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template layer_change_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template layer_change_gcode.json new file mode 100644 index 0000000000..7ce70c4556 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template layer_change_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle template layer_change_gcode", + "instantiation": "false", + "layer_change_gcode": ";======== X2D layer_change gcode ==========\n;===== 2026/07/01 =====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}\n\tM106 P10 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[current_filament_id] && additional_fan_full_speed_layer[current_filament_id] > close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 == max(close_additional_fan_first_x_layers[current_filament_id] + 1, additional_fan_full_speed_layer[current_filament_id]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R40 S45 U{max_additional_fan/100.0} V0.5 O50; set third-party PETG chamber \n {else}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_end_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_end_gcode.json new file mode 100644 index 0000000000..de16a36421 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_end_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle template machine_end_gcode", + "instantiation": "false", + "machine_end_gcode": ";======== X2D end gcode ==========\n;===== 2026/05/18 =====\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM141 S0 ; turn off chamber heating\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off remote part1 cooling fan\n\n; pull back filament to AMS\nM620 S65279 B\n; M620.11 P1 L0 I65279 E-3\nT65279\nG150.1 F8000\nM621 S65279 B\n\nM620 S65535 B\n; M620.11 P1 L0 I65535 E-4\nT65535\nG150.1 F8000\nM621 S65535 B\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P10 S255\nM400 S180\nM106 P10 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_start_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_start_gcode.json new file mode 100644 index 0000000000..bc81e16c86 --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template machine_start_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle template machine_start_gcode", + "instantiation": "false", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/06/05 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50\nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ====\n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\n {if max_print_z >= 145}\n G151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n\n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\n M620.11 P0 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_filament_id] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_filament_id] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M621 S[initial_no_support_filament_id]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_filament_id]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif}\n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[initial_filament_id] == \"TPU\" || filament_type[initial_filament_id] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[initial_filament_id] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M970.2 Q0 W73 K1 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\nG150.3\n\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single]\n M190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n\n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_filament_id] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_filament_id] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_filament_id]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 70}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.003} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.017}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_filament_id] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template time_lapse_gcode.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template time_lapse_gcode.json new file mode 100644 index 0000000000..6597ef120c --- /dev/null +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle template time_lapse_gcode.json @@ -0,0 +1,6 @@ +{ + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle template time_lapse_gcode", + "instantiation": "false", + "time_lapse_gcode": ";======== X2D timelapse gcode ========\n;======== 2026/06/03 ========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\n\nM622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {elsif has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G91\n G0 Y-20 F18000\n G90\n M83\n {endif}\n {endif}\nM623\n; SKIPPABLE_END\n" +} diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json index 0c79b7fed0..e381fbdbee 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json @@ -1,157 +1,470 @@ { - "type": "machine", - "name": "Bambu Lab X2D 0.4 nozzle", - "inherits": "fdm_bbl_3dp_002_common", - "from": "system", - "setting_id": "GM045", - "instantiation": "true", - "change_filament_gcode": "======== X2D filament_change gcode ==========\n;===== 2026/07/01 =====\n\nM620 S[next_filament_id]A B H[next_hotend]\n;M204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_filament_id] == 0 || z_hop_types[current_filament_id] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_filament_id] == \"PLA\") || (filament_type[current_filament_id] == \"PLA-CF\") || (filament_type[current_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[current_nozzle_id]} T{flush_temperatures[current_filament_id]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[next_nozzle_id] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_filament_id]/2.4053*60} L[flush_length] H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} T{flush_temperatures[next_filament_id]} P[new_filament_temp] S1\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_filament_id]}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_filament_id] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_filament_id] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_filament_id] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_filament_id]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_filament_id] B[current_hotend] R0\n{endif}\n\nM620.22 I[next_filament_id] P1 ; enable remote extruder runout auto purge.\n\nT[next_filament_id] H[next_hotend]\n\n;deretract\n{if filament_type[next_filament_id] == \"TPU\"}\n{else}\n{if filament_type[next_filament_id] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 125) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_filament_id]}\n\nM400\nM83\n{if next_filament_id < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\n\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\n\nM621 S[next_filament_id]A B\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_filament_id]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_filament_id]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM620.6 I[next_filament_id] H[next_hotend] W1 ;enable ams air printing detect\n\n{if (filament_type[next_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_filament_id] == \"PLA\") || (filament_type[next_filament_id] == \"PETG\")\n || (filament_type[next_filament_id] == \"PLA-CF\") || (filament_type[next_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[next_nozzle_id]} ;disable E air printing detect\n{endif}\n\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\nG1 Y256 F18000\n\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_filament_id])}\n M106 P2 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer fan\n\tM106 P10 S{first_x_layer_fan_speed[next_filament_id]*255.0/100.0 };set first x_layer fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_filament_id] && additional_fan_full_speed_layer[next_filament_id] > close_additional_fan_first_x_layers[next_filament_id])}\n M106 P2 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[next_filament_id] + (additional_cooling_fan_speed[next_filament_id] - first_x_layer_fan_speed[next_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_filament_id]) / max(additional_fan_full_speed_layer[next_filament_id] - close_additional_fan_first_x_layers[next_filament_id], 1)) * 255.0/100.0}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R40 S45 U{max_additional_fan/100.0} V0.5 O50; set third-party PETG chamber \n {else}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{endif}\n{endif}\n;not set fan changing filament", - "layer_change_gcode": ";======== X2D layer_change gcode ==========\n;===== 2026/07/01 =====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}\n\tM106 P10 S{first_x_layer_fan_speed[current_filament_id]*255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[current_filament_id] && additional_fan_full_speed_layer[current_filament_id] > close_additional_fan_first_x_layers[current_filament_id])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[current_filament_id] + (additional_cooling_fan_speed[current_filament_id] - first_x_layer_fan_speed[current_filament_id]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_filament_id]) / max(additional_fan_full_speed_layer[current_filament_id] - close_additional_fan_first_x_layers[current_filament_id], 1)) * 255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 == max(close_additional_fan_first_x_layers[current_filament_id] + 1, additional_fan_full_speed_layer[current_filament_id]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (!is_all_bbl_filament)}\n M142 P1 R40 S45 U{max_additional_fan/100.0} V0.5 O50; set third-party PETG chamber \n {else}\n {if (nozzle_diameter_at_nozzle_id[current_nozzle_id] == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", - "machine_end_gcode": ";======== X2D end gcode ==========\n;===== 2026/05/18 =====\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nM211 Z1\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM141 S0 ; turn off chamber heating\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off remote part1 cooling fan\n\n; pull back filament to AMS\nM620 S65279 B\n; M620.11 P1 L0 I65279 E-3\nT65279\nG150.1 F8000\nM621 S65279 B\n\nM620 S65535 B\n; M620.11 P1 L0 I65535 E-4\nT65535\nG150.1 F8000\nM621 S65535 B\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P10 S255\nM400 S180\nM106 P10 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/06/05 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50\nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50\nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50\nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ====\n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n\n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} T{filament_map[initial_no_support_filament_id] % 2} ; rise temp in advance\n\n {if max_print_z >= 145}\n G151 P{filament_map[initial_no_support_filament_id] % 2} M ; plug the heat nozzle\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n\n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG\")) && (nozzle_diameter_at_nozzle_id[initial_nozzle_id] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_filament_id]/2.4053*60} H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} T{flush_temperatures[initial_no_support_filament_id]} P{nozzle_temperature_initial_layer[initial_no_support_filament_id]} S1\n{endif}\n\n M620.11 P0 L0 I[initial_no_support_filament_id] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_filament_id] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_filament_id] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_filament_id] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M621 S[initial_no_support_filament_id]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_filament_id]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_filament_id]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif}\n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[initial_filament_id] == \"TPU\" || filament_type[initial_filament_id] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[initial_filament_id] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M970.2 Q0 W73 K1 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\nG150.3\n\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : (first_filaments[0] != -1 ? first_filaments[0] : 0))}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : (first_filaments[1] != -1 ? first_filaments[1] : 0))}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_filament_id]} L{initial_no_support_filament_id}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S{nozzle_temperature_initial_layer[initial_filament_id]} A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single]\n M190 S[bed_temperature_initial_layer_single]\n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n\n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_filament_id]}\n M620 S[initial_no_support_filament_id]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_filament_id] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_filament_id] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_filament_id]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 70}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.003} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.017}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M400 P50\n M500 D1\n M400 S3\n M109 S{nozzle_temperature_initial_layer[initial_no_support_filament_id]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_filament_id]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_filament_id] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_filament_id] == \"TPU\")}\nM1015.3 S1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]};enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_filament_id] == \"PLA\") || (filament_type[initial_no_support_filament_id] == \"PETG\")\n || (filament_type[initial_no_support_filament_id] == \"PLA-CF\") || (filament_type[initial_no_support_filament_id] == \"PETG-CF\")}\nM1015.4 S1 K1 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H{nozzle_diameter_at_nozzle_id[initial_nozzle_id]} ;disable E air printing detect\n{endif}\n\n", - "time_lapse_gcode": ";======== X2D timelapse gcode ========\n;======== 2026/06/03 ========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\n\nM622 J1\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n {endif}\n\n {if timelapse_inline_photo}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {elsif has_timelapse_safe_pos && !spiral_mode}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} U{timelapse_pos_x} V{timelapse_pos_y} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {else}\n {if spiral_mode}\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n {else}\n M9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + (farthest_point_timelapse_enabled ? 0.0 : 0.4)} S11 C10 O0 T3000\n {endif}\n {endif}\n\n {if !spiral_mode && !(has_timelapse_safe_pos) }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n G1 Z{max_layer_z + 3.0} F1200\n G91\n G0 Y-20 F18000\n G90\n M83\n {endif}\n {endif}\nM623\n; SKIPPABLE_END\n", - "nozzle_diameter": [ - "0.4", - "0.4" - ], - "printer_model": "Bambu Lab X2D", - "printer_variant": "0.4", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X2D 0.4 nozzle" - ], - "default_print_profile": "0.20mm Standard @BBL X2D", - "deretract_speed_extruder_change": [ - "30", - "30", - "90", - "90" - ], - "deretraction_speed": [ - "30", - "30", - "20", - "20" - ], - "enable_long_retraction_when_cut": "2", - "enable_pre_heating": "1", - "extruder_clearance_height_to_lid": "133", - "extruder_clearance_height_to_rod": "32.8", - "extruder_clearance_max_radius": "60", - "extruder_height_gap": "7", - "extruder_printable_area": [ - "0x0,256x0,256x256,0x256", - "20.5x0,256x0,256x256,20.5x256" - ], - "extruder_printable_height": [ - "261", - "256" - ], - "extruder_type": [ - "Direct Drive", - "Bowden" - ], - "extruder_variant_list": [ - "Direct Drive Standard,Direct Drive High Flow", - "Bowden Standard,Bowden High Flow" - ], - "fan_direction": "both", - "group_algo_with_time": "1", - "hotend_heating_rate": [ - "1.5", - "1.5", - "1.5", - "1.5" - ], - "machine_max_acceleration_e": [ - "30000", - "5000", - "30000", - "5000", - "5000", - "5000", - "5000", - "5000" - ], - "machine_max_acceleration_retracting": [ - "30000", - "5000", - "30000", - "5000", - "30000", - "5000", - "30000", - "5000" - ], - "machine_max_speed_e": [ - "30", - "30", - "30", - "30", - "120", - "120", - "120", - "120" - ], - "machine_max_speed_x": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "machine_max_speed_y": [ - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "printable_area": [ - "0x0", - "256x0", - "256x256", - "0x256 " - ], - "print_in_clockwise": "1", - "printable_height": "261", - "printer_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "retract_lift_below": [ - "254", - "254", - "254", - "254" - ], - "retraction_length": [ - "0.8", - "0.8", - "2", - "2" - ], - "retraction_speed": [ - "30", - "30", - "20", - "20" - ], - "support_chamber_temp_control": "1", - "support_air_filtration": "1", - "upward_compatible_machine": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab P2S 0.4 nozzle", - "Bambu Lab H2S 0.4 nozzle", - "Bambu Lab H2D 0.4 nozzle", - "Bambu Lab H2D Pro 0.4 nozzle", - "Bambu Lab H2C 0.4 nozzle" - ] + "type": "machine", + "name": "Bambu Lab X2D 0.4 nozzle", + "inherits": "fdm_bbl_3dp_002_common", + "from": "system", + "setting_id": "GM045", + "instantiation": "true", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printer_model": "Bambu Lab X2D", + "farthest_point_timelapse": "1", + "printer_variant": "0.4", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X2D 0.4 nozzle" + ], + "default_print_profile": "0.20mm Standard @BBL X2D", + "deretract_speed_extruder_change": [ + "30", + "30", + "30", + "90", + "90", + "90" + ], + "deretraction_speed": [ + "30", + "30", + "30", + "20", + "20", + "20" + ], + "enable_long_retraction_when_cut": "2", + "enable_pre_heating": "1", + "extruder_clearance_height_to_lid": "133", + "extruder_clearance_height_to_rod": "32.8", + "extruder_clearance_max_radius": "60", + "extruder_height_gap": "7", + "extruder_printable_area": [ + "0x0,256x0,256x256,0x256", + "20.5x0,256x0,256x256,20.5x256" + ], + "extruder_printable_height": [ + "261", + "256" + ], + "extruder_type": [ + "Direct Drive", + "Bowden" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow,Direct Drive E3D High Flow", + "Bowden Standard,Bowden High Flow,Bowden E3D High Flow" + ], + "fan_direction": "both", + "group_algo_with_time": "1", + "hotend_heating_rate": [ + "1.5", + "1.5", + "1.5", + "1.5", + "1.5", + "1.5" + ], + "include": [ + "Bambu Lab X2D 0.4 nozzle template machine_start_gcode", + "Bambu Lab X2D 0.4 nozzle template machine_end_gcode", + "Bambu Lab X2D 0.4 nozzle template layer_change_gcode", + "Bambu Lab X2D 0.4 nozzle template time_lapse_gcode", + "Bambu Lab X2D 0.4 nozzle template change_filament_gcode" + ], + "machine_max_acceleration_e": [ + "30000", + "5000", + "5000", + "30000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "30000", + "5000", + "5000", + "30000", + "5000", + "5000", + "30000", + "5000", + "5000", + "30000", + "5000", + "5000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30", + "30", + "30", + "120", + "120", + "120", + "120", + "120", + "120" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "printable_area": [ + "0x0", + "256x0", + "256x256", + "0x256 " + ], + "print_in_clockwise": "1", + "printable_height": "261", + "printer_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Bowden Standard", + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "retract_lift_below": [ + "254", + "254", + "254", + "254", + "254", + "254" + ], + "retraction_length": [ + "0.8", + "0.8", + "0.8", + "2", + "2", + "2" + ], + "retraction_speed": [ + "30", + "30", + "30", + "20", + "20", + "20" + ], + "support_chamber_temp_control": "1", + "upward_compatible_machine": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab P2S 0.4 nozzle", + "Bambu Lab H2S 0.4 nozzle", + "Bambu Lab H2D 0.4 nozzle", + "Bambu Lab H2D Pro 0.4 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab A2L 0.4 nozzle" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4", + "0.4", + "0.4" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2", + "2", + "2" + ], + "wipe": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18", + "18", + "18", + "18", + "18" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2", + "2", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%", + "0%", + "0%" + ], + "nozzle_volume": [ + "92", + "92", + "92", + "92", + "92", + "92" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "2", + "1", + "2", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2", + "2", + "2" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.6 nozzle.json index dc85dedc23..932559e5a2 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.6 nozzle.json @@ -1,34 +1,35 @@ { - "type": "machine", - "name": "Bambu Lab X2D 0.6 nozzle", - "inherits": "Bambu Lab X2D 0.4 nozzle", - "from": "system", - "setting_id": "GM047", - "instantiation": "true", - "nozzle_diameter": [ - "0.6", - "0.6" - ], - "printer_model": "Bambu Lab X2D", - "printer_variant": "0.6", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X2D" - ], - "default_print_profile": "0.30mm Standard @BBL X2D 0.6 nozzle", - "max_layer_height": [ - "0.42", - "0.42" - ], - "min_layer_height": [ - "0.12", - "0.12" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab P2S 0.6 nozzle", - "Bambu Lab H2S 0.6 nozzle", - "Bambu Lab H2D 0.6 nozzle", - "Bambu Lab H2D Pro 0.6 nozzle", - "Bambu Lab H2C 0.6 nozzle" - ] + "type": "machine", + "name": "Bambu Lab X2D 0.6 nozzle", + "inherits": "Bambu Lab X2D 0.4 nozzle", + "from": "system", + "setting_id": "GM047", + "instantiation": "true", + "nozzle_diameter": [ + "0.6", + "0.6" + ], + "printer_model": "Bambu Lab X2D", + "printer_variant": "0.6", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X2D 0.6 nozzle" + ], + "default_print_profile": "0.30mm Standard @BBL X2D 0.6 nozzle", + "max_layer_height": [ + "0.42", + "0.42" + ], + "min_layer_height": [ + "0.12", + "0.12" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab P2S 0.6 nozzle", + "Bambu Lab H2S 0.6 nozzle", + "Bambu Lab H2D 0.6 nozzle", + "Bambu Lab H2D Pro 0.6 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab A2L 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.8 nozzle.json index c6ddef3ac8..ffe98bd85e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.8 nozzle.json @@ -1,34 +1,333 @@ { - "type": "machine", - "name": "Bambu Lab X2D 0.8 nozzle", - "inherits": "Bambu Lab X2D 0.4 nozzle", - "from": "system", - "setting_id": "GM048", - "instantiation": "true", - "nozzle_diameter": [ - "0.8", - "0.8" - ], - "printer_model": "Bambu Lab X2D", - "printer_variant": "0.8", - "default_filament_profile": [ - "Bambu PLA Basic @BBL X2D" - ], - "default_print_profile": "0.40mm Standard @BBL X2D 0.8 nozzle", - "max_layer_height": [ - "0.56", - "0.56" - ], - "min_layer_height": [ - "0.16", - "0.16" - ], - "upward_compatible_machine": [ - "Bambu Lab A1 0.8 nozzle", - "Bambu Lab P2S 0.8 nozzle", - "Bambu Lab H2S 0.8 nozzle", - "Bambu Lab H2D 0.8 nozzle", - "Bambu Lab H2D Pro 0.8 nozzle", - "Bambu Lab H2C 0.8 nozzle" - ] -} + "type": "machine", + "name": "Bambu Lab X2D 0.8 nozzle", + "inherits": "Bambu Lab X2D 0.4 nozzle", + "from": "system", + "setting_id": "GM048", + "instantiation": "true", + "nozzle_diameter": [ + "0.8", + "0.8" + ], + "printer_model": "Bambu Lab X2D", + "printer_variant": "0.8", + "default_filament_profile": [ + "Bambu PLA Basic @BBL X2D 0.8 nozzle" + ], + "default_print_profile": "0.40mm Standard @BBL X2D 0.8 nozzle", + "max_layer_height": [ + "0.56", + "0.56" + ], + "min_layer_height": [ + "0.16", + "0.16" + ], + "upward_compatible_machine": [ + "Bambu Lab A1 0.8 nozzle", + "Bambu Lab P2S 0.8 nozzle", + "Bambu Lab H2S 0.8 nozzle", + "Bambu Lab H2D 0.8 nozzle", + "Bambu Lab H2D Pro 0.8 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.8 nozzle" + ], + "deretraction_speed": [ + "30", + "30", + "20", + "20" + ], + "hotend_heating_rate": [ + "1.5", + "1.5", + "1.5", + "1.5" + ], + "retraction_length": [ + "0.8", + "0.8", + "2", + "2" + ], + "retraction_speed": [ + "30", + "30", + "20", + "20" + ], + "deretract_speed_extruder_change": [ + "30", + "30", + "90", + "90" + ], + "extruder_variant_list": [ + "Direct Drive Standard,Direct Drive High Flow", + "Bowden Standard,Bowden High Flow" + ], + "printer_extruder_id": [ + "1", + "1", + "2", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "retract_lift_below": [ + "254", + "254", + "254", + "254" + ], + "machine_max_acceleration_e": [ + "30000", + "5000", + "30000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "30000", + "5000", + "30000", + "5000", + "30000", + "5000", + "30000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9", + "9", + "9", + "9", + "9", + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3", + "3", + "3", + "3", + "3", + "3", + "3" + ], + "machine_max_speed_z": [ + "20", + "20", + "20", + "20", + "20", + "20", + "20", + "20" + ], + "machine_max_speed_y": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_x": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "machine_max_speed_e": [ + "30", + "30", + "30", + "30", + "120", + "120", + "120", + "120" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "wipe": [ + "1", + "1", + "1", + "1" + ], + "retraction_minimum_travel": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18", + "18", + "18" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retract_restart_extra_toolchange": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_length_toolchange": [ + "2", + "2", + "2", + "2" + ], + "retract_before_wipe": [ + "0%", + "0%", + "0%", + "0%" + ], + "nozzle_volume": [ + "92", + "92", + "92", + "92" + ], + "nozzle_flush_dataset": [ + "1", + "2", + "1", + "2" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "hotend_cooling_rate": [ + "2", + "2", + "2", + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D.json b/resources/profiles/BBL/machine/Bambu Lab X2D.json index df2ca2c45b..ed32f5c7c9 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D.json @@ -1,18 +1,18 @@ { - "type": "machine_model", - "name": "Bambu Lab X2D", - "nozzle_diameter": "0.4;0.2;0.6;0.8", - "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", - "bed_model": "bbl-3dp-X1.stl", - "bed_texture": "bbl-3dp-logo.svg", - "image_bed_type": "n", - "bottom_texture_end_name": "n", - "bottom_texture_rect": "74,-10,148,12", - "default_bed_type": "Textured PEI Plate", - "family": "BBL-3DP", - "middle_texture_rect": "13,240,236.12,10", - "machine_tech": "FFF", - "model_id": "N6", - "not_support_bed_type": "Cool Plate", - "default_materials": "Bambu PLA Matte @BBL X2D;Bambu PLA Matte @BBL X2D 0.4 nozzle;Bambu PLA Basic @BBL X2D;Bambu PLA Basic @BBL X2D 0.4 nozzle;Bambu TPU 95A @BBL X2D;Bambu TPU 95A @BBL X2D 0.4 nozzle;Generic TPU @BBL X2D;Generic TPU @BBL X2D 0.4 nozzle;Bambu PETG Basic @BBL X2D;Bambu PETG Basic @BBL X2D 0.4 nozzle;Bambu PETG HF @BBL X2D;Bambu PETG HF @BBL X2D 0.4 nozzle;Bambu ABS @BBL X2D;Bambu ABS @BBL X2D 0.4 nozzle;Bambu PC @BBL X2D;Bambu PC @BBL X2D 0.4 nozzle" -} + "type": "machine_model", + "name": "Bambu Lab X2D", + "nozzle_diameter": "0.4;0.2;0.6;0.8", + "url": "http://www.bambulab.com/Parameters/printer_model/Bambu Lab X1 Carbon.json", + "bed_model": "bbl-3dp-X1.stl", + "bed_texture": "bbl-3dp-logo.svg", + "image_bed_type": "n", + "bottom_texture_end_name": "n", + "bottom_texture_rect": "74,-10,148,12", + "default_bed_type": "Textured PEI Plate", + "family": "BBL-3DP", + "middle_texture_rect": "13,240,236.12,10", + "machine_tech": "FFF", + "model_id": "N6", + "not_support_bed_type": "Cool Plate", + "default_materials": "Bambu PLA Matte @BBL X2D;Bambu PLA Basic @BBL X2D 0.4 nozzle;Bambu TPU 95A @BBL X2D;Generic TPU @BBL X2D;Bambu PETG Basic @BBL X2D;Bambu PETG HF @BBL X2D;Bambu ABS @BBL X2D;Bambu PC @BBL X2D;Bambu PLA Pure @BBL X2D 0.4 nozzle;Bambu PLA Basic @BBL X2D 0.2 nozzle;Bambu PLA Matte @BBL X2D 0.4 nozzle;Bambu TPU 95A @BBL X2D 0.4 nozzle;Generic TPU @BBL X2D 0.4 nozzle;Bambu PETG Basic @BBL X2D 0.4 nozzle;Bambu PETG HF @BBL X2D 0.4 nozzle;Bambu ABS @BBL X2D 0.4 nozzle;Bambu PC @BBL X2D 0.4 nozzle" +} \ No newline at end of file diff --git a/resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json b/resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json index e3670c57fd..c0ac9a1843 100644 --- a/resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json +++ b/resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json @@ -113,9 +113,6 @@ "0", "0" ], - "nozzle_type": [ - "hardened_steel" - ], "nozzle_volume": [ "107" ], diff --git a/resources/profiles/BBL/machine/fdm_bbl_3dp_002_common.json b/resources/profiles/BBL/machine/fdm_bbl_3dp_002_common.json index 841d56533c..a5eaf8c6f5 100644 --- a/resources/profiles/BBL/machine/fdm_bbl_3dp_002_common.json +++ b/resources/profiles/BBL/machine/fdm_bbl_3dp_002_common.json @@ -60,6 +60,10 @@ "0", "0" ], + "extruder_max_nozzle_count": [ + "1", + "1" + ], "head_wrap_detect_zone": [], "hotend_cooling_rate": [ "2", @@ -252,12 +256,6 @@ "1", "2" ], - "nozzle_type": [ - "hardened_steel", - "hardened_steel", - "hardened_steel", - "hardened_steel" - ], "nozzle_volume": [ "92", "92", diff --git a/resources/profiles/BBL/machine/fdm_machine_common.json b/resources/profiles/BBL/machine/fdm_machine_common.json index f793f3bc1d..1016397166 100644 --- a/resources/profiles/BBL/machine/fdm_machine_common.json +++ b/resources/profiles/BBL/machine/fdm_machine_common.json @@ -8,7 +8,6 @@ ], "printer_variant": "0.4", "auxiliary_fan": "1", - "apply_top_surface_compensation": "0", "best_object_pos": "0.5x0.5", "default_filament_profile": [], "default_print_profile": "0.16mm Optimal @BBL X1C", @@ -24,20 +23,25 @@ ], "enable_long_retraction_when_cut": "0", "enable_pre_heating": "0", - "bed_temperature_formula": "by_first_filament", + "extruder_height_gap": "0", + "extruder_offset": [ + "0x0" + ], + "fan_direction": "undefine", + "gcode_flavor": "marlin", + "grab_length": [ + "0" + ], + "group_algo_with_time": "0", + "extruder_max_nozzle_count": [ + "1" + ], "hotend_cooling_rate": [ "2" ], "hotend_heating_rate": [ "2" ], - "extruder_offset": [ - "0x0" - ], - "gcode_flavor": "marlin", - "grab_length": [ - "0" - ], "long_retractions_when_cut": [ "0" ], @@ -60,6 +64,9 @@ "machine_max_acceleration_z": [ "100" ], + "machine_max_force_Y": "0", + "machine_bed_mass_Y": "0", + "machine_max_printed_mass": "0", "machine_max_jerk_e": [ "5" ], @@ -93,6 +100,7 @@ "machine_prepare_compensation_time": "260", "machine_switch_extruder_time": "0", "machine_unload_filament_time": "29", + "machine_hotend_change_time": "0", "master_extruder_id": "1", "max_layer_height": [ "0.28" @@ -104,6 +112,7 @@ "nozzle_flush_dataset": [ "0" ], + "print_in_clockwise": "0", "printable_height": "250", "printer_settings_id": "", "printer_structure": "corexy", @@ -136,14 +145,12 @@ "60" ], "scan_first_layer": "0", - "enable_power_loss_recovery": "printer_configuration", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_cooling_filter": "0", + "support_fast_purge_mode": "0", "cooling_filter_enabled": "0", "support_chamber_temp_control": "0", - "support_fast_purge_mode": "0", "support_object_skip_flush": "0", "wipe": [ "1" @@ -157,7 +164,5 @@ "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end", "time_lapse_gcode": "", "wrapping_detection_gcode": "", - "change_filament_gcode": "", - "purge_in_prime_tower": "0", - "enable_filament_ramming": "0" + "change_filament_gcode": "" } diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json index 0cc680e2d1..225f9366ca 100644 --- a/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json @@ -1,25 +1,25 @@ { - "type": "process", - "name": "0.06mm Fine @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.06_nozzle_0.2", - "from": "system", - "setting_id": "GP084", - "instantiation": "true", - "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.06mm Fine @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.06_nozzle_0.2", + "from": "system", + "setting_id": "GP084", + "instantiation": "true", + "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json index 68c6ffe660..2782eaafee 100644 --- a/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json @@ -1,24 +1,24 @@ { - "type": "process", - "name": "0.06mm Fine @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.06_nozzle_0.2", - "from": "system", - "setting_id": "GP050", - "instantiation": "true", - "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.06mm Fine @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.06_nozzle_0.2", + "from": "system", + "setting_id": "GP050", + "instantiation": "true", + "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json index 7a2803376a..9ae841723a 100644 --- a/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "2500", "2500" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json index cb31da1441..15f6fbb663 100644 --- a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "process", - "name": "0.06mm High Quality @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.06_nozzle_0.2", - "from": "system", - "setting_id": "GP118", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in minimal layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.06mm High Quality @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.06_nozzle_0.2", + "from": "system", + "setting_id": "GP118", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in minimal layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json index d4f8971af4..8f1f3ee9fe 100644 --- a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json @@ -1,31 +1,31 @@ { - "type": "process", - "name": "0.06mm High Quality @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.06_nozzle_0.2", - "from": "system", - "setting_id": "GP117", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in minimal layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "3000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.06mm High Quality @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.06_nozzle_0.2", + "from": "system", + "setting_id": "GP117", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in minimal layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "3000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json index 49cc379d96..517fe80a9b 100644 --- a/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -96,6 +92,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json index 946d06033d..8323ef79d2 100644 --- a/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -92,11 +88,18 @@ "Direct Drive High Flow" ], "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -133,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json index 904a4c36b3..cbd74e9244 100644 --- a/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json index eb39d07cbb..c60006d3d7 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.08mm Extra Fine @BBL A1", - "inherits": "fdm_process_single_0.08", - "from": "system", - "setting_id": "GP076", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.08mm Extra Fine @BBL A1", + "inherits": "fdm_process_single_0.08", + "from": "system", + "setting_id": "GP076", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json index f663382bc1..8e31867e15 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.08mm Extra Fine @BBL A1M", - "inherits": "fdm_process_single_0.08", - "from": "system", - "setting_id": "GP049", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.08mm Extra Fine @BBL A1M", + "inherits": "fdm_process_single_0.08", + "from": "system", + "setting_id": "GP049", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D 0.2 nozzle.json index 028660c893..9178ef5c0c 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D 0.2 nozzle.json @@ -1,38 +1,39 @@ { - "type": "process", - "name": "0.08mm Extra Fine @BBL H2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP139", - "instantiation": "true", - "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm Extra Fine @BBL H2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP139", + "instantiation": "true", + "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D.json index 64624b0bec..185c792b7e 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2D.json @@ -5,32 +5,59 @@ "from": "system", "setting_id": "GP136", "instantiation": "true", - "default_acceleration": [ - "4000", - "4000", - "4000", - "4000", - "4000" - ], - "gap_infill_speed": [ + "bridge_speed": [ + "50", + "50", "50", "50", "50", "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70", - "70" + "default_acceleration": [ + "4000", + "4000", + "4000", + "4000", + "4000", + "4000", + "4000" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" ], "initial_layer_speed": [ "40", "40", "40", "40", + "40", + "40", "40" ], "inner_wall_speed": [ @@ -38,6 +65,8 @@ "120", "120", "120", + "120", + "120", "120" ], "internal_solid_infill_speed": [ @@ -45,27 +74,71 @@ "120", "120", "120", + "120", + "120", "120" ], - "outer_wall_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" ], "outer_wall_speed": [ "60", "60", "60", "60", + "60", + "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "60", "60", "60", "60", + "60", + "60", "60" ], "overhang_2_4_speed": [ @@ -73,6 +146,8 @@ "30", "30", "30", + "30", + "30", "30" ], "overhang_3_4_speed": [ @@ -80,73 +155,26 @@ "10", "10", "10", + "10", + "10", "10" ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100", - "100" - ], - "top_surface_speed": [ - "120", - "120", - "120", - "120", - "120" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], - "inner_wall_acceleration": [ - "0", - "0", - "0", - "0", - "0" - ], "overhang_4_4_speed": [ "10", "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -154,36 +182,29 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100", + "100", + "100", + "100" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -191,34 +212,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "120", + "120", + "120", + "120", + "120", + "120", + "120" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", "500", "500", + "500", + "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json index 9b3e95027b..64b7278bdd 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json @@ -1,38 +1,38 @@ { - "type": "process", - "name": "0.08mm Extra Fine @BBL H2DP 0.2 nozzle", - "inherits": "fdm_process_dual_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP040", - "instantiation": "true", - "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm Extra Fine @BBL H2DP 0.2 nozzle", + "inherits": "fdm_process_dual_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP040", + "instantiation": "true", + "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP.json index 122190afd4..08bcd98c31 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL H2DP.json @@ -5,6 +5,13 @@ "from": "system", "setting_id": "GP043", "instantiation": "true", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", @@ -12,6 +19,20 @@ "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "50", "50", @@ -40,6 +61,20 @@ "120", "120" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ "70", "70", @@ -47,6 +82,13 @@ "70", "70" ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], "outer_wall_speed": [ "60", "60", @@ -82,61 +124,6 @@ "10", "10" ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100", - "100" - ], - "top_surface_speed": [ - "120", - "120", - "120", - "120", - "120" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], - "inner_wall_acceleration": [ - "0", - "0", - "0", - "0", - "0" - ], "overhang_4_4_speed": [ "10", "10", @@ -144,6 +131,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -158,6 +147,70 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100", + "100" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -179,26 +232,12 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "top_surface_speed": [ + "120", + "120", + "120", + "120", + "120" ], "travel_acceleration": [ "10000", @@ -207,6 +246,13 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", @@ -214,11 +260,35 @@ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json index fb11c1a4bf..423b16e0df 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json @@ -26,10 +26,6 @@ "350", "350" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "350", "350" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,6 +90,14 @@ "450", "450" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json index 4894472048..4e7ba2f670 100644 --- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json +++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json @@ -26,10 +26,6 @@ "350", "350" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "350", "350" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,11 +86,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "450", "450" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json index f6e51105a2..36b8a073bb 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP119", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP119", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json index 9c183b14b9..ae14ead2b3 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL A1", - "inherits": "fdm_process_single_0.08", - "from": "system", - "setting_id": "GP102", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "gap_infill_speed": [ - "210" - ], - "inner_wall_speed": [ - "120" - ], - "internal_solid_infill_speed": [ - "150" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "150" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL A1", + "inherits": "fdm_process_single_0.08", + "from": "system", + "setting_id": "GP102", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "gap_infill_speed": [ + "210" + ], + "inner_wall_speed": [ + "120" + ], + "internal_solid_infill_speed": [ + "150" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "150" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json index 428c72b7b9..4ad1413552 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json @@ -1,31 +1,31 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP120", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "3000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP120", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer lines, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "3000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json index d125acc09d..569151b943 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL A1M", - "inherits": "fdm_process_single_0.08", - "from": "system", - "setting_id": "GP101", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "3000" - ], - "elefant_foot_compensation": "0", - "gap_infill_speed": [ - "210" - ], - "inner_wall_speed": [ - "120" - ], - "internal_solid_infill_speed": [ - "150" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "150" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL A1M", + "inherits": "fdm_process_single_0.08", + "from": "system", + "setting_id": "GP101", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "3000" + ], + "elefant_foot_compensation": "0", + "gap_infill_speed": [ + "210" + ], + "inner_wall_speed": [ + "120" + ], + "internal_solid_infill_speed": [ + "150" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "150" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L 0.2 nozzle.json index 18c97c02a0..32e0da8c6b 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L 0.2 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "4000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -33,7 +33,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "sparse_infill_pattern": "gyroid", "travel_acceleration": [ "8000" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L.json index 1c1c67efdd..702b75f0bf 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "4000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -42,13 +41,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "150" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C 0.2 nozzle.json index 6552d7b47e..ac6fe2150d 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C 0.2 nozzle.json @@ -1,45 +1,45 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL H2C 0.2 nozzle", - "inherits": "fdm_process_dual_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP243", - "instantiation": "true", - "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "outer_wall_speed": [ - "100", - "100", - "100", - "100" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL H2C 0.2 nozzle", + "inherits": "fdm_process_dual_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP243", + "instantiation": "true", + "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "outer_wall_speed": [ + "100", + "100", + "100", + "100" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C.json index be2c204f08..b237b22500 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2C.json @@ -9,6 +9,7 @@ "4000", "4000", "4000", + "4000", "4000" ], "enable_tower_interface_features": "1", @@ -16,60 +17,70 @@ "50", "50", "50", + "50", "50" ], "initial_layer_infill_speed": [ "70", "70", "70", + "70", "70" ], "initial_layer_speed": [ "40", "40", "40", + "40", "40" ], "inner_wall_speed": [ "120", "120", "120", + "120", "120" ], "internal_solid_infill_speed": [ "120", "120", "120", + "120", "120" ], "outer_wall_acceleration": [ "2000", "2000", "2000", + "2000", "2000" ], "outer_wall_speed": [ "60", "60", "60", + "60", "60" ], "overhang_1_4_speed": [ "60", "60", "60", + "60", "60" ], "overhang_2_4_speed": [ "30", "30", "30", + "30", "30" ], "overhang_3_4_speed": [ "10", "10", "10", + "10", "10" ], "prime_tower_brim_width": "-1", @@ -79,15 +90,206 @@ "100", "100", "100", + "100", "100" ], "top_surface_speed": [ "120", "120", "120", + "120", "120" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "travel_speed": [ + "500", + "500", + "500", + "500", + "500" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S 0.2 nozzle.json index a7b0dd5cdf..4396ab55aa 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S 0.2 nozzle.json @@ -6,52 +6,15 @@ "setting_id": "GP231", "instantiation": "true", "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "default_acceleration": [ - "10000", - "10000" - ], - "initial_layer_speed": [ - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_infill_speed": [ - "70", - "70" - ], - "sparse_infill_speed": [ - "100", - "100" - ], - "top_surface_speed": [ - "150", - "150" - ], "bridge_speed": [ "50", "50" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ + "default_acceleration": [ "10000", "10000" ], + "elefant_foot_compensation": "0.15", "enable_overhang_speed": [ "1", "1" @@ -60,6 +23,86 @@ "0", "0" ], + "gap_infill_speed": [ + "50", + "50" + ], + "initial_layer_speed": [ + "40", + "40" + ], + "inner_wall_speed": [ + "150", + "150" + ], + "internal_solid_infill_speed": [ + "150", + "150" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "100", + "100" + ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], + "overhang_1_4_speed": [ + "60", + "60" + ], + "overhang_2_4_speed": [ + "50", + "50" + ], + "overhang_3_4_speed": [ + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "print_extruder_id": [ + "1", + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "100", + "100" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -84,58 +127,6 @@ "100000", "100000" ], - "gap_infill_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], - "inner_wall_speed": [ - "150", - "150" - ], - "internal_solid_infill_speed": [ - "150", - "150" - ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], - "outer_wall_speed": [ - "100", - "100" - ], - "overhang_2_4_speed": [ - "50", - "50" - ], - "overhang_3_4_speed": [ - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10" - ], - "overhang_totally_speed": [ - "10", - "10" - ], - "print_extruder_id": [ - "1", - "1" - ], - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], "small_perimeter_speed": [ "50%", "50%" @@ -144,19 +135,30 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80" - ], - "support_speed": [ + "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -169,6 +171,8 @@ "80%", "80%" ], - "prime_tower_flat_ironing": "1", - "sparse_infill_pattern": "gyroid" + "monotonic_travel_into_wall": "45.0", + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S.json index 74424205a8..50b9952447 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL H2S.json @@ -5,169 +5,213 @@ "from": "system", "setting_id": "GP232", "instantiation": "true", + "bridge_speed": [ + "50", + "50", + "50" + ], "default_acceleration": [ + "4000", "4000", "4000" ], + "enable_height_slowdown": [ + "0", + "0", + "0" + ], + "enable_overhang_speed": [ + "1", + "1", + "1" + ], "gap_infill_speed": [ + "210", "210", "210" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], "initial_layer_speed": [ "50", - "50" - ], - "inner_wall_speed": [ - "120", - "120" - ], - "internal_solid_infill_speed": [ - "150", - "150" - ], - "outer_wall_acceleration": [ - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60" - ], - "overhang_1_4_speed": [ - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "150", - "150" - ], - "top_surface_speed": [ - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "top_shell_thickness": "1.0", - "bridge_speed": [ "50", "50" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], "inner_wall_acceleration": [ + "0", "0", "0" ], + "inner_wall_speed": [ + "120", + "120", + "120" + ], + "internal_solid_infill_speed": [ + "150", + "150", + "150" + ], + "monotonic_travel_into_wall": "45.0", + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], + "outer_wall_speed": [ + "60", + "60", + "60" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60" + ], + "overhang_2_4_speed": [ + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", + "10" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "150", + "150", + "150" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_shell_thickness": "1.0", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "150", + "150", + "150" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ + "500", "500", "500" ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json index 6dffdd807a..50d97550cc 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -96,6 +92,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json index 6449810abc..75e31bb3c2 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json @@ -26,6 +26,10 @@ "210", "210" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "120", "120" @@ -34,34 +38,30 @@ "150", "150" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "150", "150" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S 0.2 nozzle.json index ef8582cf08..8ca40003f3 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S 0.2 nozzle.json @@ -6,12 +6,10 @@ "setting_id": "GP204", "instantiation": "true", "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ "4000", "4000" @@ -28,22 +26,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "50", - "50" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -56,14 +42,30 @@ "6000", "6000" ], - "overhang_1_4_speed": [ + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "50", + "50" + ], + "inner_wall_acceleration": [ "0", + "0" + ], + "outer_wall_speed": [ + "60", "60" ], "outer_wall_acceleration": [ "2000", "2000" ], + "overhang_1_4_speed": [ + "0", + "60" + ], "overhang_2_4_speed": [ "60", "30" @@ -72,20 +74,12 @@ "40", "10" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_4_4_speed": [ "20", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1" @@ -94,12 +88,20 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -136,23 +138,26 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -161,14 +166,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.2 nozzle" ] diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S.json index 33bcdcb417..bd399e65a1 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P2S.json @@ -5,169 +5,211 @@ "from": "system", "setting_id": "GP205", "instantiation": "true", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "4000", "4000", "4000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "210", "210", "210" ], + "initial_layer_speed": [ + "50", + "50", + "50" + ], "inner_wall_speed": [ + "120", "120", "120" ], "internal_solid_infill_speed": [ + "150", "150", "150" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" ], "outer_wall_speed": [ + "60", "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", + "60", "60" ], "overhang_2_4_speed": [ "60", + "30", "30" ], "overhang_3_4_speed": [ "40", + "10", "10" ], "overhang_4_4_speed": [ "20", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "150", - "150" - ], - "smooth_coefficient": "1", - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "small_perimeter_speed": [ - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%" - ], - "support_speed": [ "150", "150" ], "support_interface_speed": [ + "80", "80", "80" ], - "top_surface_speed": [ + "support_speed": [ + "150", "150", "150" ], - "top_surface_pattern": "monotonic", + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "150", + "150", + "150" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ - "600", - "600" + "1000", + "1000", + "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json index 2d4a5a4aa9..43892532a2 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -92,11 +88,18 @@ "Direct Drive High Flow" ], "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -133,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json index d43fa0b542..877a682ca5 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json @@ -26,6 +26,10 @@ "210", "210" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "120", "120" @@ -34,34 +38,30 @@ "150", "150" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,7 +91,14 @@ "150", "150" ], - "smooth_coefficient": "150", + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D 0.2 nozzle.json index 7fad2321e6..05a7af7e4a 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D 0.2 nozzle.json @@ -1,71 +1,71 @@ { - "type": "process", - "name": "0.08mm High Quality @BBL X2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP216", - "instantiation": "true", - "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", - "bridge_flow": "1.5", - "bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "default_acceleration": [ - "4000", - "8000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "40", - "20", - "20" - ], - "outer_wall_acceleration": [ - "2000", - "5000", - "5000", - "5000" - ], - "outer_wall_speed": [ - "60", - "120", - "50", - "50" - ], - "overhang_2_4_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_4_4_speed": [ - "20", - "20", - "20", - "20" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm High Quality @BBL X2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP216", + "instantiation": "true", + "description": "High quality profile for 0.2mm nozzle, prioritizing print quality.", + "bridge_flow": "1.5", + "bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "default_acceleration": [ + "4000", + "8000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "20", + "20" + ], + "outer_wall_acceleration": [ + "2000", + "5000", + "5000", + "5000" + ], + "outer_wall_speed": [ + "60", + "120", + "50", + "50" + ], + "overhang_2_4_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_4_4_speed": [ + "20", + "20", + "20", + "20" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D.json index 201721da9e..dab9ea764a 100644 --- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D.json +++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X2D.json @@ -7,6 +7,8 @@ "instantiation": "true", "bridge_flow": "1.5", "bridge_speed": [ + "25", + "25", "25", "25", "25", @@ -15,6 +17,8 @@ "default_acceleration": [ "4000", "4000", + "4000", + "1000", "1000", "1000" ], @@ -22,46 +26,62 @@ "initial_layer_infill_speed": [ "70", "70", + "70", + "100", "100", "100" ], "initial_layer_speed": [ "50", "40", + "40", + "50", "50", "50" ], "inner_wall_speed": [ "120", "120", + "120", + "100", "100", "100" ], "internal_solid_infill_speed": [ "120", "120", + "120", + "100", "100", "100" ], "outer_wall_acceleration": [ "2000", "2000", + "2000", + "1000", "1000", "1000" ], "outer_wall_speed": [ "60", "60", + "60", + "50", "50", "50" ], "overhang_2_4_speed": [ + "40", + "40", "40", "40", "40", "40" ], "overhang_4_4_speed": [ + "20", + "20", "20", "20", "20", @@ -72,11 +92,23 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ + "100", + "100", "100", "100", "100", @@ -86,10 +118,14 @@ "top_surface_speed": [ "120", "120", + "120", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -97,5 +133,205 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json index 1261079a0a..cae05d9570 100644 --- a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json @@ -1,25 +1,25 @@ { - "type": "process", - "name": "0.08mm Optimal @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP085", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm Optimal @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP085", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json index 7d85a42520..22cc6b5120 100644 --- a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json @@ -1,24 +1,24 @@ { - "type": "process", - "name": "0.08mm Optimal @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.08_nozzle_0.2", - "from": "system", - "setting_id": "GP051", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.08mm Optimal @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.08_nozzle_0.2", + "from": "system", + "setting_id": "GP051", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json index 1ac71a0e27..00e6966420 100644 --- a/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "2500", "2500" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json index e63c318451..e39c982b7c 100644 --- a/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json index bdf92d4828..ae0fb564bc 100644 --- a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json @@ -1,32 +1,32 @@ { - "type": "process", - "name": "0.10mm High Quality @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP114", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in much higher printing quality, but a much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm High Quality @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP114", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in much higher printing quality, but a much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json index f05f26152e..89f0ade70d 100644 --- a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json @@ -1,31 +1,31 @@ { - "type": "process", - "name": "0.10mm High Quality @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP113", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in much higher printing quality, but a much longer printing time.", - "default_acceleration": [ - "3000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm High Quality @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP113", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in much higher printing quality, but a much longer printing time.", + "default_acceleration": [ + "3000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json index 9e79020dde..85f6814858 100644 --- a/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -96,6 +92,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json index dda11fcea8..90164e6c99 100644 --- a/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +43,26 @@ "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" ], "outer_wall_speed": [ "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0" @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -92,11 +88,18 @@ "Direct Drive High Flow" ], "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -133,34 +136,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json index e594e557e5..a62ae0dcf5 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json @@ -1,25 +1,25 @@ { - "type": "process", - "name": "0.10mm Standard @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP083", - "instantiation": "true", - "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP083", + "instantiation": "true", + "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL A1M 0.2 nozzle.json index 4f7adc8d1c..3b898e8041 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL A1M 0.2 nozzle.json @@ -1,24 +1,24 @@ { - "type": "process", - "name": "0.10mm Standard @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP039", - "instantiation": "true", - "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", - "default_acceleration": [ - "6000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP039", + "instantiation": "true", + "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", + "default_acceleration": [ + "6000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL A2L 0.2 nozzle.json index 3eeeae65e0..2ec37b0efd 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL A2L 0.2 nozzle.json @@ -10,7 +10,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -30,9 +30,6 @@ "overhang_4_4_speed": [ "35" ], - "overhang_totally_speed": [ - "25" - ], "prime_tower_brim_width": "-1", "slowdown_end_acc": [ "1000" @@ -40,7 +37,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "support_line_width": "0.4", "travel_acceleration": [ "8000" diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL H2C 0.2 nozzle.json index 2139246636..fe21267b4d 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL H2C 0.2 nozzle.json @@ -1,46 +1,46 @@ { - "type": "process", - "name": "0.10mm Standard @BBL H2C 0.2 nozzle", - "inherits": "fdm_process_dual_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP245", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "ironing_speed": "20", - "ironing_flow": "20%", - "outer_wall_speed": [ - "100", - "100", - "100", - "100" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL H2C 0.2 nozzle", + "inherits": "fdm_process_dual_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP245", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "ironing_speed": "20", + "ironing_flow": "20%", + "outer_wall_speed": [ + "100", + "100", + "100", + "100" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL H2D 0.2 nozzle.json index 72e86cbda6..ff216acf66 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL H2D 0.2 nozzle.json @@ -1,31 +1,32 @@ { - "type": "process", - "name": "0.10mm Standard @BBL H2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP123", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL H2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP123", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL H2DP 0.2 nozzle.json index 7fc4f213ae..6379498843 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL H2DP 0.2 nozzle.json @@ -1,31 +1,31 @@ { - "type": "process", - "name": "0.10mm Standard @BBL H2DP 0.2 nozzle", - "inherits": "fdm_process_dual_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP041", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL H2DP 0.2 nozzle", + "inherits": "fdm_process_dual_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP041", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL H2S 0.2 nozzle.json index 594822c2fa..6df990e59c 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL H2S 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -51,10 +39,28 @@ "150", "150" ], + "ironing_flow": "20%", + "ironing_speed": "20", "initial_layer_travel_acceleration": [ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "100", + "100" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,16 +81,8 @@ "10", "10" ], - "outer_wall_speed": [ - "100", - "100" - ], - "overhang_totally_speed": [ - "10", - "10" - ], - "prime_tower_flat_ironing": "1", "prime_tower_width": "60", + "prime_tower_flat_ironing": "1", "print_extruder_id": [ "1", "1" @@ -97,27 +95,14 @@ "100", "100" ], - "small_perimeter_speed": [ - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%" + "support_interface_speed": [ + "80", + "80" ], "support_speed": [ "150", "150" ], - "support_interface_speed": [ - "80", - "80" - ], - "smooth_coefficient": "4", "slowdown_start_height": [ "0", "0" @@ -142,14 +127,38 @@ "100000", "100000" ], - "travel_speed": [ - "1000", - "1000" + "small_perimeter_speed": [ + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%" ], "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -158,14 +167,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab H2S 0.2 nozzle" ] diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json index 9d65e320a6..2e03ae7655 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL P2S 0.2 nozzle.json index 8d545a01f4..02ec0007ec 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL P2S 0.2 nozzle.json @@ -5,12 +5,10 @@ "from": "system", "setting_id": "GP153", "instantiation": "true", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ "4000", "4000" @@ -28,22 +26,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "50", - "50" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -56,6 +42,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "50", + "50" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "100", + "100" + ], "outer_wall_acceleration": [ "2000", "2000" @@ -72,18 +74,10 @@ "40", "10" ], - "outer_wall_speed": [ - "100", - "100" - ], "overhang_4_4_speed": [ "20", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -92,11 +86,19 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -133,23 +135,26 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -158,14 +163,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.2 nozzle" ] diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json index e1078c5844..2ba56ae744 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL X2D 0.2 nozzle.json index db79e7411c..bd69dbc54d 100644 --- a/resources/profiles/BBL/process/0.10mm Standard @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.10mm Standard @BBL X2D 0.2 nozzle.json @@ -1,69 +1,69 @@ { - "type": "process", - "name": "0.10mm Standard @BBL X2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.10_nozzle_0.2", - "from": "system", - "setting_id": "GP148", - "instantiation": "true", - "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", - "bridge_flow": "1.5", - "bridge_speed": [ - "25", - "25", - "25", - "25" - ], - "default_acceleration": [ - "4000", - "10000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "20", - "20", - "20" - ], - "outer_wall_acceleration": [ - "2000", - "5000", - "4000", - "4000" - ], - "outer_wall_speed": [ - "100", - "120", - "50", - "50" - ], - "overhang_2_4_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_4_4_speed": [ - "20", - "20", - "20", - "20" - ], - "prime_tower_brim_width": "-1", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.10mm Standard @BBL X2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.10_nozzle_0.2", + "from": "system", + "setting_id": "GP148", + "instantiation": "true", + "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", + "bridge_flow": "1.5", + "bridge_speed": [ + "25", + "25", + "25", + "25" + ], + "default_acceleration": [ + "4000", + "10000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "20", + "20", + "20" + ], + "outer_wall_acceleration": [ + "2000", + "5000", + "4000", + "4000" + ], + "outer_wall_speed": [ + "100", + "120", + "50", + "50" + ], + "overhang_2_4_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_4_4_speed": [ + "20", + "20", + "20", + "20" + ], + "prime_tower_brim_width": "-1", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json index e1fbd88049..f44831cdba 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL A2L 0.2 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -27,7 +27,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json index 33691925f0..bf6f1100d6 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2C 0.2 nozzle.json @@ -1,44 +1,44 @@ { - "type": "process", - "name": "0.12mm Balanced Quality @BBL H2C 0.2 nozzle", - "inherits": "fdm_process_dual_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP246", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "outer_wall_speed": [ - "100", - "100", - "100", - "100" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Balanced Quality @BBL H2C 0.2 nozzle", + "inherits": "fdm_process_dual_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP246", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "outer_wall_speed": [ + "100", + "100", + "100", + "100" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json index 09846ad5c1..740aeea2bf 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json @@ -1,37 +1,38 @@ { - "type": "process", - "name": "0.12mm Balanced Quality @BBL H2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP140", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Balanced Quality @BBL H2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP140", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2DP 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2DP 0.2 nozzle.json index 8fc4edbc13..3105c027de 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2DP 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2DP 0.2 nozzle.json @@ -1,37 +1,37 @@ { - "type": "process", - "name": "0.12mm Balanced Quality @BBL H2DP 0.2 nozzle", - "inherits": "fdm_process_dual_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP042", - "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "40", - "40", - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Balanced Quality @BBL H2DP 0.2 nozzle", + "inherits": "fdm_process_dual_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP042", + "instantiation": "true", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "initial_layer_speed": [ + "40", + "40", + "40", + "40" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2S 0.2 nozzle.json index 62b5351a18..fe43dfd8f4 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL H2S 0.2 nozzle.json @@ -5,52 +5,15 @@ "from": "system", "setting_id": "GP233", "instantiation": "true", - "default_acceleration": [ - "10000", - "10000" - ], - "initial_layer_speed": [ - "40", - "40" - ], - "overhang_1_4_speed": [ - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.2 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_infill_speed": [ - "70", - "70" - ], - "sparse_infill_speed": [ - "100", - "100" - ], - "top_surface_speed": [ - "150", - "150" - ], "bridge_speed": [ "50", "50" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ + "default_acceleration": [ "10000", "10000" ], + "elefant_foot_compensation": "0.15", "enable_overhang_speed": [ "1", "1" @@ -59,6 +22,85 @@ "0", "0" ], + "gap_infill_speed": [ + "50", + "50" + ], + "initial_layer_speed": [ + "40", + "40" + ], + "inner_wall_speed": [ + "150", + "150" + ], + "internal_solid_infill_speed": [ + "150", + "150" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "100", + "100" + ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], + "overhang_1_4_speed": [ + "60", + "60" + ], + "overhang_2_4_speed": [ + "50", + "50" + ], + "overhang_3_4_speed": [ + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "print_extruder_id": [ + "1", + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "sparse_infill_speed": [ + "100", + "100" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -83,58 +125,6 @@ "100000", "100000" ], - "gap_infill_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], - "inner_wall_speed": [ - "150", - "150" - ], - "internal_solid_infill_speed": [ - "150", - "150" - ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], - "outer_wall_speed": [ - "100", - "100" - ], - "overhang_2_4_speed": [ - "50", - "50" - ], - "overhang_3_4_speed": [ - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10" - ], - "overhang_totally_speed": [ - "10", - "10" - ], - "print_extruder_id": [ - "1", - "1" - ], - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], "small_perimeter_speed": [ "50%", "50%" @@ -143,19 +133,30 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80" - ], - "support_speed": [ + "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -168,5 +169,8 @@ "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "monotonic_travel_into_wall": "45.0", + "compatible_printers": [ + "Bambu Lab H2S 0.2 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL P2S 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL P2S 0.2 nozzle.json index e1b48ac5b8..e3471e88b0 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL P2S 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL P2S 0.2 nozzle.json @@ -5,12 +5,10 @@ "from": "system", "setting_id": "GP206", "instantiation": "true", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ "4000", "4000" @@ -27,22 +25,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "50", - "50" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,14 +41,30 @@ "6000", "6000" ], - "overhang_1_4_speed": [ + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "50", + "50" + ], + "inner_wall_acceleration": [ "0", - "60" + "0" + ], + "outer_wall_speed": [ + "100", + "100" ], "outer_wall_acceleration": [ "2000", "2000" ], + "overhang_1_4_speed": [ + "0", + "60" + ], "overhang_2_4_speed": [ "60", "30" @@ -71,20 +73,12 @@ "40", "10" ], - "outer_wall_speed": [ - "100", - "100" - ], "overhang_4_4_speed": [ "20", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1" @@ -93,11 +87,19 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -134,23 +136,26 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -159,14 +164,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.2 nozzle" ] diff --git a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json index 0659337324..2ffb707c46 100644 --- a/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json @@ -1,68 +1,68 @@ { - "type": "process", - "name": "0.12mm Balanced Quality @BBL X2D 0.2 nozzle", - "inherits": "fdm_process_dual_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP219", - "instantiation": "true", - "default_acceleration": [ - "4000", - "8000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "40", - "40", - "20", - "20" - ], - "outer_wall_acceleration": [ - "2000", - "5000", - "5000", - "5000" - ], - "outer_wall_speed": [ - "100", - "120", - "50", - "50" - ], - "overhang_1_4_speed": [ - "60", - "60", - "0", - "0" - ], - "overhang_2_4_speed": [ - "30", - "50", - "50", - "50" - ], - "overhang_3_4_speed": [ - "10", - "30", - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Balanced Quality @BBL X2D 0.2 nozzle", + "inherits": "fdm_process_dual_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP219", + "instantiation": "true", + "default_acceleration": [ + "4000", + "8000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "40", + "40", + "20", + "20" + ], + "outer_wall_acceleration": [ + "2000", + "5000", + "5000", + "5000" + ], + "outer_wall_speed": [ + "100", + "120", + "50", + "50" + ], + "overhang_1_4_speed": [ + "60", + "60", + "0", + "0" + ], + "overhang_2_4_speed": [ + "30", + "50", + "50", + "50" + ], + "overhang_3_4_speed": [ + "10", + "30", + "30", + "30" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json index 4ff6131907..32c72fff62 100644 --- a/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json @@ -1,25 +1,25 @@ { - "type": "process", - "name": "0.12mm Draft @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP086", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Draft @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP086", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json index 49c0ce07e5..2c3c43d12a 100644 --- a/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json @@ -1,24 +1,24 @@ { - "type": "process", - "name": "0.12mm Draft @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.12_nozzle_0.2", - "from": "system", - "setting_id": "GP052", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", - "default_acceleration": [ - "6000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.12mm Draft @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.12_nozzle_0.2", + "from": "system", + "setting_id": "GP052", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", + "default_acceleration": [ + "6000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json index 1a99892c5f..46b781c4b0 100644 --- a/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "2500", "2500" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json b/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json index 9a37ca278c..3cba0cd013 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.12mm Fine @BBL A1", - "inherits": "fdm_process_single_0.12", - "from": "system", - "setting_id": "GP077", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.12mm Fine @BBL A1", + "inherits": "fdm_process_single_0.12", + "from": "system", + "setting_id": "GP077", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json b/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json index 61979a5549..3412b7726b 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.12mm Fine @BBL A1M", - "inherits": "fdm_process_single_0.12", - "from": "system", - "setting_id": "GP044", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.12mm Fine @BBL A1M", + "inherits": "fdm_process_single_0.12", + "from": "system", + "setting_id": "GP044", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL H2D.json b/resources/profiles/BBL/process/0.12mm Fine @BBL H2D.json index e9251415b4..b32a3b555b 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL H2D.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL H2D.json @@ -6,32 +6,59 @@ "setting_id": "GP142", "instantiation": "true", "bottom_shell_layers": "7", - "default_acceleration": [ - "4000", - "4000", - "4000", - "4000", - "4000" - ], - "gap_infill_speed": [ + "bridge_speed": [ + "50", + "50", "50", "50", "50", "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70", - "70" + "default_acceleration": [ + "4000", + "4000", + "4000", + "4000", + "4000", + "4000", + "4000" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" ], "initial_layer_speed": [ "40", "40", "40", "40", + "40", + "40", "40" ], "inner_wall_speed": [ @@ -39,6 +66,8 @@ "120", "120", "120", + "120", + "120", "120" ], "internal_solid_infill_speed": [ @@ -46,27 +75,71 @@ "150", "150", "150", + "150", + "150", "150" ], - "outer_wall_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" ], "outer_wall_speed": [ "60", "60", "60", "60", + "60", + "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "60", "60", "60", "60", + "60", + "60", "60" ], "overhang_2_4_speed": [ @@ -74,6 +147,8 @@ "30", "30", "30", + "30", + "30", "30" ], "overhang_3_4_speed": [ @@ -81,76 +156,26 @@ "10", "10", "10", + "10", + "10", "10" ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100", - "100" - ], - "top_color_penetration_layers": "7", - "top_shell_layers": "9", - "top_shell_thickness": "0.8", - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], - "inner_wall_acceleration": [ - "0", - "0", - "0", - "0", - "0" - ], "overhang_4_4_speed": [ "10", "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -158,36 +183,29 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100", + "100", + "100", + "100" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -195,34 +213,167 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_shell_layers": "9", + "top_color_penetration_layers": "7", + "top_shell_thickness": "0.8", + "top_surface_speed": [ + "150", + "150", + "150", + "150", + "150", + "150", + "150" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", "500", "500", + "500", + "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL H2DP.json b/resources/profiles/BBL/process/0.12mm Fine @BBL H2DP.json index 3bb1e99970..cd0298e7ad 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL H2DP.json @@ -6,6 +6,13 @@ "setting_id": "GP127", "instantiation": "true", "bottom_shell_layers": "7", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", @@ -13,6 +20,20 @@ "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "50", "50", @@ -41,6 +62,20 @@ "150", "150" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ "70", "70", @@ -48,6 +83,13 @@ "70", "70" ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], "outer_wall_speed": [ "60", "60", @@ -83,64 +125,6 @@ "10", "10" ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100", - "100" - ], - "top_shell_layers": "9", - "top_color_penetration_layers": "7", - "top_shell_thickness": "0.8", - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], - "inner_wall_acceleration": [ - "0", - "0", - "0", - "0", - "0" - ], "overhang_4_4_speed": [ "10", "10", @@ -148,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -162,6 +148,70 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100", + "100" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -183,26 +233,22 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ + "top_shell_layers": "9", + "top_color_penetration_layers": "7", + "top_shell_thickness": "0.8", + "top_surface_speed": [ "150", "150", "150", "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" ], "travel_acceleration": [ "10000", @@ -211,6 +257,13 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", @@ -218,11 +271,28 @@ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json b/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json index ee9683d868..2cbcf582e5 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json @@ -26,10 +26,6 @@ "350", "350" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "350", "350" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,6 +90,14 @@ "430", "430" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json b/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json index 24ff340202..189e13972c 100644 --- a/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json +++ b/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json @@ -26,10 +26,6 @@ "350", "350" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "350", "350" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,11 +86,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "430", "430" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json index d9caca6a9a..817744de26 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.12mm High Quality @BBL A1", - "inherits": "fdm_process_single_0.12", - "from": "system", - "setting_id": "GP106", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "gap_infill_speed": [ - "230" - ], - "inner_wall_speed": [ - "150" - ], - "internal_solid_infill_speed": [ - "180" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "180" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.12mm High Quality @BBL A1", + "inherits": "fdm_process_single_0.12", + "from": "system", + "setting_id": "GP106", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "gap_infill_speed": [ + "230" + ], + "inner_wall_speed": [ + "150" + ], + "internal_solid_infill_speed": [ + "180" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "180" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json index 14b984a971..743c00ea98 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.12mm High Quality @BBL A1M", - "inherits": "fdm_process_single_0.12", - "from": "system", - "setting_id": "GP105", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "3000" - ], - "elefant_foot_compensation": "0", - "gap_infill_speed": [ - "230" - ], - "inner_wall_speed": [ - "150" - ], - "internal_solid_infill_speed": [ - "180" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "180" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.12mm High Quality @BBL A1M", + "inherits": "fdm_process_single_0.12", + "from": "system", + "setting_id": "GP105", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "3000" + ], + "elefant_foot_compensation": "0", + "gap_infill_speed": [ + "230" + ], + "inner_wall_speed": [ + "150" + ], + "internal_solid_infill_speed": [ + "180" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "180" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL A2L.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL A2L.json index dd64b185c9..ca2cd88cd5 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL A2L.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "4000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -42,13 +41,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "180" diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL H2C.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL H2C.json index c6155c7395..68e1864560 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL H2C.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL H2C.json @@ -10,6 +10,7 @@ "4000", "4000", "4000", + "4000", "4000" ], "enable_tower_interface_features": "1", @@ -17,60 +18,70 @@ "50", "50", "50", + "50", "50" ], "initial_layer_infill_speed": [ "70", "70", "70", + "70", "70" ], "initial_layer_speed": [ "40", "40", "40", + "40", "40" ], "inner_wall_speed": [ "120", "120", "120", + "120", "120" ], "internal_solid_infill_speed": [ "150", "150", "150", + "150", "150" ], "outer_wall_acceleration": [ "2000", "2000", "2000", + "2000", "2000" ], "outer_wall_speed": [ "60", "60", "60", + "60", "60" ], "overhang_1_4_speed": [ "60", "60", "60", + "60", "60" ], "overhang_2_4_speed": [ "30", "30", "30", + "30", "30" ], "overhang_3_4_speed": [ "10", "10", "10", + "10", "10" ], "prime_tower_brim_width": "-1", @@ -80,6 +91,7 @@ "100", "100", "100", + "100", "100" ], "top_color_penetration_layers": "7", @@ -89,9 +101,199 @@ "150", "150", "150", + "150", "150" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "travel_speed": [ + "500", + "500", + "500", + "500", + "500" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL H2S.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL H2S.json index eadb61d48f..53a8985a32 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL H2S.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL H2S.json @@ -5,169 +5,213 @@ "from": "system", "setting_id": "GP234", "instantiation": "true", + "bridge_speed": [ + "50", + "50", + "50" + ], "default_acceleration": [ + "4000", "4000", "4000" ], + "enable_height_slowdown": [ + "0", + "0", + "0" + ], + "enable_overhang_speed": [ + "1", + "1", + "1" + ], "gap_infill_speed": [ + "230", "230", "230" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], "initial_layer_speed": [ "50", - "50" - ], - "inner_wall_speed": [ - "150", - "150" - ], - "internal_solid_infill_speed": [ - "180", - "180" - ], - "outer_wall_acceleration": [ - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60" - ], - "overhang_1_4_speed": [ - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "180", - "180" - ], - "top_color_penetration_layers": "7", - "top_surface_speed": [ - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" - ], - "bridge_speed": [ "50", "50" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], "inner_wall_acceleration": [ + "0", "0", "0" ], + "inner_wall_speed": [ + "150", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "180", + "180", + "180" + ], + "monotonic_travel_into_wall": "45.0", + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], + "outer_wall_speed": [ + "60", + "60", + "60" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60" + ], + "overhang_2_4_speed": [ + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", + "10" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "180", + "180", + "180" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_color_penetration_layers": "5", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "150", + "150", + "150" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ + "500", "500", "500" ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json index ea4c5fc5a0..d2a8ef5e2a 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json @@ -26,6 +26,10 @@ "230", "230" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "150", "150" @@ -34,34 +38,30 @@ "180", "180" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "180", "180" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL P2S.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL P2S.json index d1464e4305..a9c9eb7bdf 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL P2S.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL P2S.json @@ -5,170 +5,212 @@ "from": "system", "setting_id": "GP207", "instantiation": "true", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "4000", "4000", "4000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "230", "230", "230" ], + "initial_layer_speed": [ + "50", + "50", + "50" + ], "inner_wall_speed": [ + "150", "150", "150" ], "internal_solid_infill_speed": [ + "180", "180", "180" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" ], "outer_wall_speed": [ + "60", "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", + "60", "60" ], "overhang_2_4_speed": [ "60", + "30", "30" ], "overhang_3_4_speed": [ "40", + "10", "10" ], "overhang_4_4_speed": [ "20", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ + "180", "180", "180" ], - "smooth_coefficient": "1", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_color_penetration_layers": "7", + "top_color_penetration_layers": "5", "top_surface_speed": [ + "150", "150", "150" ], - "top_surface_pattern": "monotonic", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ - "600", - "600" + "1000", + "1000", + "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json index d7784db216..fe2ab3d3be 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json @@ -26,6 +26,10 @@ "230", "230" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "150", "150" @@ -34,34 +38,30 @@ "180", "180" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,7 +91,14 @@ "180", "180" ], - "smooth_coefficient": "150", + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL X2D.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL X2D.json index 38f954fd37..34ed640d32 100644 --- a/resources/profiles/BBL/process/0.12mm High Quality @BBL X2D.json +++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL X2D.json @@ -7,6 +7,8 @@ "instantiation": "true", "bridge_flow": "1.5", "bridge_speed": [ + "25", + "25", "25", "25", "25", @@ -15,6 +17,8 @@ "default_acceleration": [ "4000", "4000", + "4000", + "1000", "1000", "1000" ], @@ -22,46 +26,62 @@ "initial_layer_infill_speed": [ "105", "70", + "70", + "100", "100", "100" ], "initial_layer_speed": [ "50", "40", + "40", + "50", "50", "50" ], "inner_wall_speed": [ "150", "120", + "120", + "100", "100", "100" ], "internal_solid_infill_speed": [ "180", "150", + "150", + "100", "100", "100" ], "outer_wall_acceleration": [ "2000", "2000", + "2000", + "1000", "1000", "1000" ], "outer_wall_speed": [ "60", "60", + "60", + "50", "50", "50" ], "overhang_2_4_speed": [ + "40", + "40", "40", "40", "40", "40" ], "overhang_4_4_speed": [ + "20", + "20", "20", "20", "20", @@ -72,24 +92,40 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "150", "100", "100", + "100", + "100", "100" ], - "top_color_penetration_layers": "7", + "top_color_penetration_layers": "5", "top_surface_speed": [ "150", "150", + "150", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -97,5 +133,205 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json index d3640ed715..2523024fbc 100644 --- a/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json index 0b09340a5f..c8bae15c77 100644 --- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json @@ -1,25 +1,25 @@ { - "type": "process", - "name": "0.14mm Extra Draft @BBL A1 0.2 nozzle", - "inherits": "fdm_process_single_0.14_nozzle_0.2", - "from": "system", - "setting_id": "GP087", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "initial_layer_infill_speed": [ - "28" - ], - "initial_layer_speed": [ - "16" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.2 nozzle" - ] -} + "type": "process", + "name": "0.14mm Extra Draft @BBL A1 0.2 nozzle", + "inherits": "fdm_process_single_0.14_nozzle_0.2", + "from": "system", + "setting_id": "GP087", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "initial_layer_infill_speed": [ + "28" + ], + "initial_layer_speed": [ + "16" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json index 1d29cc9b0f..df0cdaa63c 100644 --- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json @@ -1,24 +1,24 @@ { - "type": "process", - "name": "0.14mm Extra Draft @BBL A1M 0.2 nozzle", - "inherits": "fdm_process_single_0.14_nozzle_0.2", - "from": "system", - "setting_id": "GP053", - "instantiation": "true", - "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "initial_layer_speed": [ - "16" - ], - "initial_layer_infill_speed": [ - "28" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.2 nozzle" - ] -} + "type": "process", + "name": "0.14mm Extra Draft @BBL A1M 0.2 nozzle", + "inherits": "fdm_process_single_0.14_nozzle_0.2", + "from": "system", + "setting_id": "GP053", + "instantiation": "true", + "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "initial_layer_speed": [ + "16" + ], + "initial_layer_infill_speed": [ + "28" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json index 218a787534..27bead46f0 100644 --- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "2500", "2500" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json index 54ed08993e..ad94671a99 100644 --- a/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "70", - "70" - ], "initial_layer_speed": [ "40", "40" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,6 +43,22 @@ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "70", + "70" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" + ], "outer_wall_acceleration": [ "5000", "5000" @@ -75,14 +79,6 @@ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2D.json b/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2D.json index e1196f39ed..02e5ea0d9f 100644 --- a/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2D.json +++ b/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2D.json @@ -6,18 +6,59 @@ "setting_id": "GP174", "instantiation": "true", "description": "High quality profile for 0.16mm layer height, prioritizing print quality and strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", "4000", "4000", + "4000", + "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "initial_layer_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "inner_wall_speed": [ @@ -25,96 +66,35 @@ "150", "150", "150", + "150", + "150", "150" ], "internal_solid_infill_speed": [ "180", "180", - "180", - "180", - "180" - ], - "outer_wall_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ "180", "180", "180", "180", "180" ], - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250", - "250" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500", "500", "500", + "500", + "500", "500" ], "initial_layer_infill_speed": [ @@ -122,32 +102,80 @@ "105", "105", "105", + "105", + "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], - "overhang_4_4_speed": [ + "outer_wall_speed": [ + "60", + "60", + "60", + "60", + "60", + "60", + "60" + ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60", + "60", + "60", + "60" + ], + "overhang_2_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", "10", "10", "10", "10", "10" ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -155,36 +183,29 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "180", + "180", + "180", + "180", + "180", + "180", + "180" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -192,34 +213,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "150", + "150", + "150", + "150", + "150", + "150", + "150" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", "500", "500", + "500", + "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2DP.json b/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2DP.json index a759744dac..80f0b0671d 100644 --- a/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.16mm Balanced Quality @BBL H2DP.json @@ -6,6 +6,13 @@ "setting_id": "GP129", "instantiation": "true", "description": "High quality profile for 0.16mm layer height, prioritizing print quality and strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", @@ -13,6 +20,27 @@ "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], "initial_layer_speed": [ "50", "50", @@ -34,6 +62,34 @@ "180", "180" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], "outer_wall_speed": [ "60", "60", @@ -69,75 +125,6 @@ "10", "10" ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "180", - "180", - "180", - "180", - "180" - ], - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250", - "250" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], - "inner_wall_acceleration": [ - "0", - "0", - "0", - "0", - "0" - ], "overhang_4_4_speed": [ "10", "10", @@ -145,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -159,6 +148,70 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "180", + "180", + "180", + "180", + "180" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -180,27 +233,13 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ + "top_surface_speed": [ "150", "150", "150", "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], "travel_acceleration": [ "10000", "10000", @@ -208,6 +247,13 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", @@ -215,11 +261,35 @@ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json index c2d82c45d8..4a61503a61 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.16mm High Quality @BBL A1", - "inherits": "fdm_process_single_0.16", - "from": "system", - "setting_id": "GP110", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "4000" - ], - "elefant_foot_compensation": "0.075", - "gap_infill_speed": [ - "250" - ], - "inner_wall_speed": [ - "150" - ], - "internal_solid_infill_speed": [ - "200" - ], - "outer_wall_acceleration": [ - "2000" - ], - "outer_wall_speed": [ - "60" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "200" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.16mm High Quality @BBL A1", + "inherits": "fdm_process_single_0.16", + "from": "system", + "setting_id": "GP110", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "4000" + ], + "elefant_foot_compensation": "0.075", + "gap_infill_speed": [ + "250" + ], + "inner_wall_speed": [ + "150" + ], + "internal_solid_infill_speed": [ + "200" + ], + "outer_wall_acceleration": [ + "2000" + ], + "outer_wall_speed": [ + "60" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "200" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json index c0caba2edb..1b8de9eb36 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json @@ -1,41 +1,41 @@ { - "type": "process", - "name": "0.16mm High Quality @BBL A1M", - "inherits": "fdm_process_single_0.16", - "from": "system", - "setting_id": "GP109", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time.", - "default_acceleration": [ - "3000" - ], - "elefant_foot_compensation": "0", - "gap_infill_speed": [ - "250" - ], - "inner_wall_speed": [ - "150" - ], - "internal_solid_infill_speed": [ - "200" - ], - "outer_wall_speed": [ - "60" - ], - "outer_wall_acceleration": [ - "2000" - ], - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "200" - ], - "top_surface_speed": [ - "150" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.16mm High Quality @BBL A1M", + "inherits": "fdm_process_single_0.16", + "from": "system", + "setting_id": "GP109", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, lower speeds and acceleration, and the sparse infill pattern is Gyroid. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time.", + "default_acceleration": [ + "3000" + ], + "elefant_foot_compensation": "0", + "gap_infill_speed": [ + "250" + ], + "inner_wall_speed": [ + "150" + ], + "internal_solid_infill_speed": [ + "200" + ], + "outer_wall_speed": [ + "60" + ], + "outer_wall_acceleration": [ + "2000" + ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "200" + ], + "top_surface_speed": [ + "150" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL A2L.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL A2L.json index 9b6218b86c..846de8781b 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL A2L.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "4000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -42,13 +41,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "200" diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL H2C.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL H2C.json index c5b4a93f93..6cd4abbb4f 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL H2C.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL H2C.json @@ -10,6 +10,7 @@ "4000", "4000", "4000", + "4000", "4000" ], "enable_tower_interface_features": "1", @@ -17,50 +18,58 @@ "50", "50", "50", + "50", "50" ], "inner_wall_speed": [ "150", "150", "150", + "150", "150" ], "internal_solid_infill_speed": [ "180", "180", "180", + "180", "180" ], - "ironing_speed": "20", "ironing_flow": "25%", + "ironing_speed": "20", "outer_wall_acceleration": [ "2000", "2000", "2000", + "2000", "2000" ], "outer_wall_speed": [ "60", "60", "60", + "60", "60" ], "overhang_1_4_speed": [ "60", "60", "60", + "60", "60" ], "overhang_2_4_speed": [ "30", "30", "30", + "30", "30" ], "overhang_3_4_speed": [ "10", "10", "10", + "10", "10" ], "prime_tower_brim_width": "-1", @@ -70,15 +79,220 @@ "180", "180", "180", + "180", "180" ], "top_surface_speed": [ "150", "150", "150", + "150", "150" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "travel_speed": [ + "500", + "500", + "500", + "500", + "500" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL H2S.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL H2S.json index 890ce852c5..9aa48c1f6b 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL H2S.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL H2S.json @@ -6,168 +6,214 @@ "setting_id": "GP235", "instantiation": "true", "description": "High quality profile for 0.16mm layer height, prioritizing print quality and strength.", - "default_acceleration": [ - "4000", - "4000" - ], - "initial_layer_speed": [ + "bridge_speed": [ + "50", "50", "50" ], - "inner_wall_speed": [ - "150", - "150" + "default_acceleration": [ + "4000", + "4000", + "4000" ], - "internal_solid_infill_speed": [ - "200", - "200" + "enable_height_slowdown": [ + "0", + "0", + "0" ], - "outer_wall_acceleration": [ - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60" - ], - "overhang_1_4_speed": [ - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": [ - "200", - "200" - ], - "top_surface_speed": [ - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" + "enable_overhang_speed": [ + "1", + "1", + "1" ], "gap_infill_speed": [ + "250", "250", "250" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], - "bridge_speed": [ + "initial_layer_speed": [ + "50", "50", "50" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], "inner_wall_acceleration": [ + "0", "0", "0" ], + "inner_wall_speed": [ + "150", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "200", + "200", + "200" + ], + "ironing_flow": "25%", + "ironing_speed": "20", + "monotonic_travel_into_wall": "45.0", + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], + "outer_wall_speed": [ + "60", + "60", + "60" + ], + "overhang_1_4_speed": [ + "60", + "60", + "60" + ], + "overhang_2_4_speed": [ + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", + "10" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "200", + "200", + "200" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "150", + "150", + "150" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ + "500", "500", "500" ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json index 38b6bb521b..b89509d26e 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json @@ -26,6 +26,10 @@ "250", "250" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "150", "150" @@ -34,34 +38,30 @@ "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "200", "200" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL P2S.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL P2S.json index e8c99baf95..4d6e809633 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL P2S.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL P2S.json @@ -6,169 +6,211 @@ "setting_id": "GP208", "instantiation": "true", "description": "High quality profile for 0.16mm layer height, prioritizing print quality and strength.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "4000", "4000", "4000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "250", "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50" + ], "inner_wall_speed": [ + "150", "150", "150" ], "internal_solid_infill_speed": [ + "200", "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "outer_wall_acceleration": [ - "2000", - "2000" + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" ], "outer_wall_speed": [ + "60", "60", "60" ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ + "60", "60", "60" ], "overhang_2_4_speed": [ + "30", "30", "30" ], "overhang_3_4_speed": [ + "10", "10", "10" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ + "200", "200", "200" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ + "150", "150", "150" ], - "top_surface_pattern": "monotonic", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ - "600", - "600" + "1000", + "1000", + "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json index 4906acb367..851eb8617c 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json @@ -26,6 +26,10 @@ "250", "250" ], + "initial_layer_speed": [ + "50", + "50" + ], "inner_wall_speed": [ "150", "150" @@ -34,34 +38,30 @@ "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" + "outer_wall_speed": [ + "60", + "60" ], "outer_wall_acceleration": [ "2000", "2000" ], - "outer_wall_speed": [ - "60", - "60" - ], "overhang_1_4_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,7 +91,14 @@ "200", "200" ], - "smooth_coefficient": "150", + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL X2D.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL X2D.json index 4b5cf6a1b5..ceb4632c88 100644 --- a/resources/profiles/BBL/process/0.16mm High Quality @BBL X2D.json +++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL X2D.json @@ -8,6 +8,8 @@ "description": "High quality profile for 0.16mm layer height, prioritizing print quality and strength.", "bridge_flow": "1.5", "bridge_speed": [ + "25", + "25", "25", "25", "25", @@ -16,11 +18,15 @@ "default_acceleration": [ "4000", "4000", + "4000", + "1000", "1000", "1000" ], "enable_tower_interface_features": "1", "initial_layer_speed": [ + "50", + "50", "50", "50", "50", @@ -29,34 +35,46 @@ "inner_wall_speed": [ "150", "150", + "150", + "100", "100", "100" ], "internal_solid_infill_speed": [ "180", "180", + "180", + "100", "100", "100" ], "outer_wall_acceleration": [ "2000", "2000", + "2000", + "1000", "1000", "1000" ], "outer_wall_speed": [ "60", "60", + "60", + "50", "50", "50" ], "overhang_2_4_speed": [ + "40", + "40", "40", "40", "40", "40" ], "overhang_4_4_speed": [ + "20", + "20", "20", "20", "20", @@ -67,23 +85,39 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "180", "180", + "180", + "100", "100", "100" ], "top_surface_speed": [ "150", "150", + "150", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -91,5 +125,213 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json index 17541349bf..6525558f7d 100644 --- a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json +++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.16mm Optimal @BBL A1", - "inherits": "fdm_process_single_0.16", - "from": "system", - "setting_id": "GP078", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.16mm Optimal @BBL A1", + "inherits": "fdm_process_single_0.16", + "from": "system", + "setting_id": "GP078", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json index bb129e5b79..cfc292d56e 100644 --- a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json +++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.16mm Optimal @BBL A1M", - "inherits": "fdm_process_single_0.16", - "from": "system", - "setting_id": "GP045", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.16mm Optimal @BBL A1M", + "inherits": "fdm_process_single_0.16", + "from": "system", + "setting_id": "GP045", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json index d9b1741a52..a2b0b19939 100644 --- a/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json +++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json @@ -26,10 +26,6 @@ "300", "300" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "300", "300" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,6 +90,14 @@ "330", "330" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json index 6d73a50989..247807f042 100644 --- a/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json +++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json @@ -26,10 +26,6 @@ "300", "300" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,22 +38,30 @@ "300", "300" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], "overhang_1_4_speed": [ "60", "60" @@ -70,18 +74,10 @@ "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,11 +86,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "330", "330" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL A2L.json b/resources/profiles/BBL/process/0.16mm Standard @BBL A2L.json index cfe8b823aa..99b6f0e969 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL A2L.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -27,13 +26,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL H2C.json b/resources/profiles/BBL/process/0.16mm Standard @BBL H2C.json index 6c532d3d77..cf5f5492af 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL H2C.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL H2C.json @@ -10,6 +10,7 @@ "8000", "8000", "8000", + "8000", "8000" ], "enable_tower_interface_features": "1", @@ -17,11 +18,13 @@ "50", "50", "50", + "50", "50" ], "internal_solid_infill_speed": [ "250", "300", + "300", "250", "300" ], @@ -29,24 +32,28 @@ "200", "200", "200", + "200", "200" ], "overhang_1_4_speed": [ "60", "60", "60", + "60", "60" ], "overhang_2_4_speed": [ "30", "30", "30", + "30", "30" ], "overhang_3_4_speed": [ "10", "10", "10", + "10", "10" ], "prime_tower_brim_width": "-1", @@ -54,6 +61,7 @@ "sparse_infill_speed": [ "350", "600", + "600", "350", "600" ], @@ -61,9 +69,227 @@ "1000", "1000", "1000", + "1000", "1000" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL H2D.json b/resources/profiles/BBL/process/0.16mm Standard @BBL H2D.json index 3bf6f6ae7f..58d9431dc5 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL H2D.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL H2D.json @@ -6,86 +6,95 @@ "setting_id": "GP143", "instantiation": "true", "description": "Standard profile for 0.16mm layer height, prioritizing speed.", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "8000", "8000", "8000", "8000", + "8000", + "8000", "8000" ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], "enable_overhang_speed": [ "1", "1", "1", "1", + "1", + "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "300", + "250", + "300", + "300", + "300" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", "500", "500", + "500", + "500", "500" ], "initial_layer_infill_speed": [ @@ -93,41 +102,53 @@ "105", "105", "105", + "105", + "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300", - "300" + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60", + "60", + "60", + "60" + ], "overhang_2_4_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "overhang_3_4_speed": [ @@ -135,6 +156,8 @@ "30", "30", "30", + "30", + "30", "30" ], "overhang_4_4_speed": [ @@ -142,11 +165,17 @@ "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -154,36 +183,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -191,34 +212,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" ], "top_surface_speed": [ "200", "200", "200", "200", + "200", + "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL H2DP.json b/resources/profiles/BBL/process/0.16mm Standard @BBL H2DP.json index fa625ded59..af0d5ef4cb 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL H2DP.json @@ -6,60 +6,6 @@ "setting_id": "GP128", "instantiation": "true", "description": "Standard profile for 0.16mm layer height, prioritizing speed.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_1_4_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], "bridge_speed": [ "50", "50", @@ -67,6 +13,13 @@ "50", "50" ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000", + "8000" + ], "enable_overhang_speed": [ "1", "1", @@ -74,6 +27,13 @@ "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -81,6 +41,34 @@ "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300", + "300" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", @@ -95,13 +83,6 @@ "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", @@ -109,12 +90,12 @@ "0", "0" ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300", - "300" + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" ], "outer_wall_acceleration": [ "5000", @@ -123,6 +104,13 @@ "5000", "5000" ], + "overhang_1_4_speed": [ + "60", + "60", + "60", + "60", + "60" + ], "overhang_2_4_speed": [ "50", "50", @@ -144,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -158,6 +148,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -179,27 +232,6 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], "top_surface_speed": [ "200", "200", @@ -214,11 +246,49 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL H2S.json b/resources/profiles/BBL/process/0.16mm Standard @BBL H2S.json index 34db04a866..8291be1cb1 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL H2S.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL H2S.json @@ -7,162 +7,206 @@ "instantiation": "true", "description": "Standard profile for 0.16mm layer height, prioritizing speed.", "bridge_speed": [ + "50", "50", "50" ], "default_acceleration": [ + "10000", "10000", "10000" ], - "enable_overhang_speed": [ - "1", - "1" - ], "enable_height_slowdown": [ "0", - "0" - ], - "gap_infill_speed": [ - "250", - "250" - ], - "initial_layer_speed": [ - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300" - ], - "inner_wall_speed": [ - "300", - "300" - ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ "0", "0" ], + "enable_overhang_speed": [ + "1", + "1", + "1" + ], + "gap_infill_speed": [ + "250", + "250", + "250" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], + "inner_wall_speed": [ + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "300" + ], + "monotonic_travel_into_wall": "45.0", + "outer_wall_acceleration": [ + "5000", + "5000", + "5000" + ], "outer_wall_speed": [ + "200", "200", "200" ], "overhang_1_4_speed": [ + "60", "60", "60" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_2_4_speed": [ + "30", "30", "30" ], "overhang_3_4_speed": [ + "10", "10", "10" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], - "prime_tower_flat_ironing": "1", - "sparse_infill_speed": [ - "350", - "600" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ + "slowdown_end_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], - "slowdown_end_acc": [ + "slowdown_start_acc": [ + "100000", "100000", "100000" ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" + ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_speed": [ + "350", + "600", + "600" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], - "travel_speed": [ - "1000", - "1000" - ], - "travel_acceleration": [ - "10000", - "10000" + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "top_surface_speed": [ + "200", "200", "200" ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL P2S.json b/resources/profiles/BBL/process/0.16mm Standard @BBL P2S.json index 3936f388e6..657b0b7c38 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL P2S.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL P2S.json @@ -6,168 +6,210 @@ "setting_id": "GP209", "instantiation": "true", "description": "Standard profile for 0.16mm layer height, prioritizing speed.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ "250", - "250" - ], - "internal_solid_infill_speed": [ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ + "50", "50", "50" ], "inner_wall_speed": [ + "300", "300", "300" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" + "internal_solid_infill_speed": [ + "250", + "250", + "250" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ + "200", "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000" + ], "overhang_1_4_speed": [ + "60", "60", "60" ], "overhang_2_4_speed": [ + "30", "30", "30" ], "overhang_3_4_speed": [ + "10", "10", "10" ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ + "270", "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ + "150", "150", "150" ], - "top_surface_pattern": "monotonic", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ - "600", - "600" + "1000", + "1000", + "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.16mm Standard @BBL X2D.json b/resources/profiles/BBL/process/0.16mm Standard @BBL X2D.json index d88dfcd60d..9057cd2b9f 100644 --- a/resources/profiles/BBL/process/0.16mm Standard @BBL X2D.json +++ b/resources/profiles/BBL/process/0.16mm Standard @BBL X2D.json @@ -8,6 +8,8 @@ "description": "Standard profile for 0.16mm layer height, prioritizing speed.", "bridge_flow": "1.5", "bridge_speed": [ + "25", + "25", "25", "25", "25", @@ -16,6 +18,8 @@ "default_acceleration": [ "10000", "8000", + "8000", + "1000", "1000", "1000" ], @@ -24,9 +28,13 @@ "50", "250", "250", + "250", + "250", "250" ], "initial_layer_speed": [ + "50", + "50", "50", "50", "50", @@ -35,22 +43,30 @@ "internal_solid_infill_speed": [ "250", "300", + "300", + "100", "100", "100" ], "outer_wall_speed": [ "200", "200", + "200", + "50", "50", "50" ], "overhang_2_4_speed": [ + "40", + "40", "40", "40", "40", "40" ], "overhang_4_4_speed": [ + "20", + "20", "20", "20", "20", @@ -61,12 +77,24 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "100", "100", "100" ], @@ -74,9 +102,13 @@ "150", "200", "200", + "200", + "200", "200" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -84,5 +116,221 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300", + "300" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json index 2a76dd472d..fb98427904 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL A2L 0.6 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -21,7 +21,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json index 4c0bebdccc..c10546eb03 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2C 0.6 nozzle.json @@ -10,6 +10,7 @@ "8000", "8000", "8000", + "8000", "8000" ], "enable_tower_interface_features": "1", @@ -17,36 +18,42 @@ "105", "105", "105", + "105", "105" ], "initial_layer_speed": [ "50", "50", "50", + "50", "50" ], "inner_wall_speed": [ "300", "300", "300", + "300", "300" ], "internal_solid_infill_speed": [ "250", "250", "250", + "250", "250" ], "outer_wall_speed": [ "200", "200", "200", + "200", "200" ], "overhang_3_4_speed": [ "30", "30", "30", + "30", "30" ], "prime_tower_brim_width": "-1", @@ -55,21 +62,234 @@ "350", "350", "350", + "350", "350" ], "top_surface_speed": [ "200", "200", "200", + "200", "200" ], "travel_speed": [ "1000", "1000", "1000", + "1000", "1000" ], "compatible_printers": [ "Bambu Lab H2C 0.6 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json index 8acb76fa22..fdb6aa1b45 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json @@ -11,6 +11,8 @@ "50", "50", "50", + "50", + "50", "50" ], "default_acceleration": [ @@ -18,27 +20,45 @@ "8000", "8000", "8000", + "8000", + "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], "initial_layer_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "inner_wall_speed": [ @@ -46,88 +66,71 @@ "300", "300", "300", + "300", + "300", "300" ], "internal_solid_infill_speed": [ "250", "300", + "300", "250", "300", + "300", "300" ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], "initial_layer_travel_acceleration": [ "6000", "6000", "6000", "6000", + "6000", + "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], "overhang_1_4_speed": [ @@ -135,6 +138,8 @@ "0", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ @@ -142,18 +147,35 @@ "50", "50", "50", + "50", + "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -161,36 +183,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -198,27 +212,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2DP 0.6 nozzle.json index 617f91bb1a..6f9b6e8f61 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2DP 0.6 nozzle.json @@ -20,6 +20,20 @@ "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -48,59 +62,12 @@ "300", "300" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", @@ -109,12 +76,12 @@ "500", "500" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" ], "inner_wall_acceleration": [ "0", @@ -123,6 +90,13 @@ "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", @@ -144,6 +118,13 @@ "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", @@ -151,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -165,6 +148,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -186,26 +232,12 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" ], "travel_acceleration": [ "10000", @@ -214,11 +246,49 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2S 0.6 nozzle.json index afb20240c5..e0742fac98 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL H2S 0.6 nozzle.json @@ -7,167 +7,211 @@ "instantiation": "true", "description": "High quality profile for 0.6mm nozzle, prioritizing print quality and strength.", "bridge_speed": [ + "30", "30", "30" ], "default_acceleration": [ + "10000", "10000", "10000" ], + "elefant_foot_compensation": "0.15", + "enable_height_slowdown": [ + "0", + "0", + "0" + ], + "enable_overhang_speed": [ + "1", + "1", + "1" + ], "gap_infill_speed": [ + "50", "50", "50" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], "initial_layer_speed": [ + "50", "50", "50" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "inner_wall_speed": [ + "300", "300", "300" ], "internal_solid_infill_speed": [ + "250", "250", "250" ], - "outer_wall_speed": [ - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "350" - ], - "top_surface_speed": [ - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], + "monotonic_travel_into_wall": "45.0", "outer_wall_acceleration": [ + "5000", "5000", "5000" ], + "outer_wall_speed": [ + "200", + "200", + "200" + ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_speed": [ + "350", + "350", + "350" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "200", + "200", + "200" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL P2S 0.6 nozzle.json index 1357450ea1..4d2722df04 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL P2S 0.6 nozzle.json @@ -6,168 +6,210 @@ "setting_id": "GP210", "instantiation": "true", "description": "High quality profile for 0.6mm nozzle, prioritizing print quality and strength.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "30", "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "50", "50", "50" ], + "initial_layer_speed": [ + "35", + "35", + "35" + ], "inner_wall_speed": [ + "300", "300", "300" ], "internal_solid_infill_speed": [ + "250", "250", "250" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ + "200", "200", "200" ], - "overhang_3_4_speed": [ - "15", - "15" - ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15", + "15" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ + "270", "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.6 nozzle" ] diff --git a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json index 12852d7a3c..010af18bdb 100644 --- a/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json @@ -9,12 +9,16 @@ "bridge_speed": [ "30", "50", + "50", + "30", "30", "30" ], "default_acceleration": [ "10000", "8000", + "8000", + "4000", "4000", "4000" ], @@ -22,42 +26,56 @@ "gap_infill_speed": [ "50", "250", + "250", + "50", "50", "50" ], "initial_layer_infill_speed": [ "55", "105", + "105", + "55", "55", "55" ], "initial_layer_speed": [ "35", "50", + "50", + "20", "20", "20" ], "inner_wall_speed": [ "300", "300", + "300", + "150", "150", "150" ], "internal_solid_infill_speed": [ "250", "300", + "300", + "150", "150", "150" ], "outer_wall_speed": [ "200", "200", + "200", + "50", "50", "50" ], "overhang_3_4_speed": [ "15", "30", + "30", + "15", "15", "15" ], @@ -66,22 +84,38 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "100", "100", "100" ], "top_surface_speed": [ "150", "200", + "200", + "150", "150", "150" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -89,5 +123,213 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.6 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json index 94f8bad6bc..a8c2761a81 100644 --- a/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.18mm Fine @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.18_nozzle_0.6", - "from": "system", - "setting_id": "GP088", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.18mm Fine @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.18_nozzle_0.6", + "from": "system", + "setting_id": "GP088", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json index f37ba30341..c15f066e13 100644 --- a/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.18mm Fine @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.18_nozzle_0.6", - "from": "system", - "setting_id": "GP062", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.18mm Fine @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.18_nozzle_0.6", + "from": "system", + "setting_id": "GP062", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json index f763af69b5..8adb7b6da1 100644 --- a/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json index 2d4396b050..d3ade4fa48 100644 --- a/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2D.json b/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2D.json index a58086b7ec..a7786842e9 100644 --- a/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2D.json +++ b/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2D.json @@ -7,18 +7,59 @@ "instantiation": "true", "description": "High quality profile for 0.2mm layer height, prioritizing strength and print quality.", "bottom_shell_layers": "4", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", "4000", "4000", + "4000", + "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "initial_layer_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "inner_wall_speed": [ @@ -26,89 +67,35 @@ "150", "150", "150", + "150", + "150", "150" ], "internal_solid_infill_speed": [ "200", "200", - "200", - "200", - "200" - ], - "outer_wall_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ "200", "200", "200", "200", "200" ], - "top_shell_layers": "6", - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250", - "250" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500", "500", "500", + "500", + "500", "500" ], "initial_layer_infill_speed": [ @@ -116,39 +103,80 @@ "105", "105", "105", + "105", + "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "outer_wall_speed": [ + "60", + "60", + "60", + "60", + "60", + "60", + "60" + ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0", "0", "0", + "0", + "0", "0" ], - "overhang_4_4_speed": [ + "overhang_2_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", "10", "10", "10", "10", "10" ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -156,36 +184,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -193,34 +213,165 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_shell_layers": "6", + "top_surface_speed": [ + "150", + "150", + "150", + "150", + "150", + "150", + "150" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", "500", "500", + "500", + "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2DP.json b/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2DP.json index 4f5abb11f2..f807f6375e 100644 --- a/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.20mm Balanced Strength @BBL H2DP.json @@ -7,6 +7,13 @@ "instantiation": "true", "description": "High quality profile for 0.2mm layer height, prioritizing strength and print quality.", "bottom_shell_layers": "4", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "4000", "4000", @@ -14,6 +21,27 @@ "4000", "4000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], "initial_layer_speed": [ "50", "50", @@ -35,74 +63,12 @@ "200", "200" ], - "outer_wall_speed": [ - "60", - "60", - "60", - "60", - "60" - ], - "outer_wall_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], - "overhang_2_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10", - "10", - "10", - "10" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "top_shell_layers": "6", - "top_surface_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250", - "250" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", @@ -118,13 +84,6 @@ "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", @@ -132,6 +91,20 @@ "0", "0" ], + "outer_wall_speed": [ + "60", + "60", + "60", + "60", + "60" + ], + "outer_wall_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], "overhang_1_4_speed": [ "0", "0", @@ -139,6 +112,20 @@ "0", "0" ], + "overhang_2_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], "overhang_4_4_speed": [ "10", "10", @@ -146,6 +133,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -160,6 +149,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -181,27 +233,14 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ + "top_shell_layers": "6", + "top_surface_speed": [ "150", "150", "150", "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], "travel_acceleration": [ "10000", "10000", @@ -209,6 +248,13 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", @@ -216,11 +262,35 @@ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.20mm High Quality @BBL A2L.json b/resources/profiles/BBL/process/0.20mm High Quality @BBL A2L.json index 86e4fdd103..6fbf2559c6 100644 --- a/resources/profiles/BBL/process/0.20mm High Quality @BBL A2L.json +++ b/resources/profiles/BBL/process/0.20mm High Quality @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "4000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -47,13 +46,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "sparse_infill_density": "25%", "sparse_infill_speed": [ "200" diff --git a/resources/profiles/BBL/process/0.20mm High Quality @BBL H2C.json b/resources/profiles/BBL/process/0.20mm High Quality @BBL H2C.json index 720e1cbcc7..fa5950da15 100644 --- a/resources/profiles/BBL/process/0.20mm High Quality @BBL H2C.json +++ b/resources/profiles/BBL/process/0.20mm High Quality @BBL H2C.json @@ -11,6 +11,7 @@ "4000", "4000", "4000", + "4000", "4000" ], "enable_tower_interface_features": "1", @@ -18,48 +19,56 @@ "50", "50", "50", + "50", "50" ], "inner_wall_speed": [ "150", "150", "150", + "150", "150" ], "internal_solid_infill_speed": [ "200", "200", "200", + "200", "200" ], "outer_wall_acceleration": [ "2000", "2000", "2000", + "2000", "2000" ], "outer_wall_speed": [ "60", "60", "60", + "60", "60" ], "overhang_2_4_speed": [ "30", "30", "30", + "30", "30" ], "overhang_3_4_speed": [ "10", "10", "10", + "10", "10" ], "overhang_1_4_speed": [ "60", "60", "60", + "60", "60" ], "prime_tower_brim_width": "-1", @@ -68,6 +77,7 @@ "200", "200", "200", + "200", "200" ], "top_shell_layers": "6", @@ -75,9 +85,213 @@ "150", "150", "150", + "150", "150" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "travel_speed": [ + "500", + "500", + "500", + "500", + "500" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.20mm High Quality @BBL H2S.json b/resources/profiles/BBL/process/0.20mm High Quality @BBL H2S.json index 6c26a52279..3790610f8b 100644 --- a/resources/profiles/BBL/process/0.20mm High Quality @BBL H2S.json +++ b/resources/profiles/BBL/process/0.20mm High Quality @BBL H2S.json @@ -6,168 +6,212 @@ "setting_id": "GP238", "instantiation": "true", "description": "High quality profile for 0.2mm layer height, prioritizing strength and print quality.", - "default_acceleration": [ - "4000", - "4000" - ], - "initial_layer_speed": [ + "bridge_speed": [ + "50", "50", "50" ], - "inner_wall_speed": [ - "150", - "150" + "default_acceleration": [ + "4000", + "4000", + "4000" ], - "internal_solid_infill_speed": [ - "200", - "200" + "enable_height_slowdown": [ + "0", + "0", + "0" ], - "outer_wall_acceleration": [ - "2000", - "2000" - ], - "outer_wall_speed": [ - "60", - "60" - ], - "overhang_2_4_speed": [ - "30", - "30" - ], - "overhang_3_4_speed": [ - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "200", - "200" - ], - "top_surface_speed": [ - "150", - "150" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" + "enable_overhang_speed": [ + "1", + "1", + "1" ], "gap_infill_speed": [ + "250", "250", "250" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], - "bridge_speed": [ + "initial_layer_speed": [ + "50", "50", "50" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], "inner_wall_acceleration": [ + "0", "0", "0" ], - "overhang_1_4_speed": [ + "inner_wall_speed": [ + "150", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "200", + "200", + "200" + ], + "monotonic_travel_into_wall": "45.0", + "outer_wall_acceleration": [ + "2000", + "2000", + "2000" + ], + "outer_wall_speed": [ + "60", "60", "60" ], + "overhang_1_4_speed": [ + "60", + "60", + "60" + ], + "overhang_2_4_speed": [ + "30", + "30", + "30" + ], + "overhang_3_4_speed": [ + "10", + "10", + "10" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_pattern": "gyroid", + "sparse_infill_speed": [ + "200", + "200", + "200" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "150", + "150", + "150" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ + "500", "500", "500" ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1", - "sparse_infill_pattern": "gyroid" + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.20mm High Quality @BBL P2S.json b/resources/profiles/BBL/process/0.20mm High Quality @BBL P2S.json index fc29792372..2a76fcba00 100644 --- a/resources/profiles/BBL/process/0.20mm High Quality @BBL P2S.json +++ b/resources/profiles/BBL/process/0.20mm High Quality @BBL P2S.json @@ -6,169 +6,211 @@ "setting_id": "GP211", "instantiation": "true", "description": "High quality profile for 0.2mm layer height, prioritizing strength and print quality.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "4000", "4000", "4000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "250", "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50" + ], "inner_wall_speed": [ + "150", "150", "150" ], "internal_solid_infill_speed": [ + "200", "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], + "outer_wall_speed": [ + "60", + "60", + "60" + ], "outer_wall_acceleration": [ + "2000", "2000", "2000" ], - "outer_wall_speed": [ + "overhang_1_4_speed": [ + "60", "60", "60" ], "overhang_2_4_speed": [ + "30", "30", "30" ], "overhang_3_4_speed": [ + "10", "10", "10" ], - "overhang_1_4_speed": [ - "60", - "60" - ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", + "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ + "200", "200", "200" ], - "smooth_coefficient": "4", - "sparse_infill_pattern": "gyroid", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ + "150", "150", "150" ], - "top_surface_pattern": "monotonic", + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ - "600", - "600" + "1000", + "1000", + "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.20mm High Quality @BBL X2D.json b/resources/profiles/BBL/process/0.20mm High Quality @BBL X2D.json index 7c2cb2180f..9ae8ec20fc 100644 --- a/resources/profiles/BBL/process/0.20mm High Quality @BBL X2D.json +++ b/resources/profiles/BBL/process/0.20mm High Quality @BBL X2D.json @@ -9,6 +9,8 @@ "default_acceleration": [ "4000", "4000", + "4000", + "1000", "1000", "1000" ], @@ -17,9 +19,13 @@ "50", "250", "250", + "250", + "250", "250" ], "initial_layer_speed": [ + "50", + "50", "50", "50", "50", @@ -28,24 +34,32 @@ "inner_wall_speed": [ "150", "150", + "150", + "100", "100", "100" ], "internal_solid_infill_speed": [ "200", "200", + "200", + "100", "100", "100" ], "outer_wall_acceleration": [ "2000", "2000", + "2000", + "1000", "1000", "1000" ], "outer_wall_speed": [ "60", "60", + "60", + "50", "50", "50" ], @@ -53,18 +67,24 @@ "60", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ + "30", "30", "30", "50", + "30", "30" ], "overhang_3_4_speed": [ + "10", "10", "10", "30", + "10", "10" ], "prime_tower_brim_width": "-1", @@ -72,23 +92,39 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "200", "200", + "200", + "100", "100", "100" ], "top_surface_speed": [ "150", "150", + "150", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -96,5 +132,205 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" ] } diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json b/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json index 03578962a4..b001cf6858 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.20mm Standard @BBL A1", - "inherits": "fdm_process_single_0.20", - "from": "system", - "setting_id": "GP079", - "instantiation": "true", - "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.20mm Standard @BBL A1", + "inherits": "fdm_process_single_0.20", + "from": "system", + "setting_id": "GP079", + "instantiation": "true", + "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL A1M.json b/resources/profiles/BBL/process/0.20mm Standard @BBL A1M.json index 737bfb8555..f30fb28c18 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL A1M.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.20mm Standard @BBL A1M", - "inherits": "fdm_process_single_0.20", - "from": "system", - "setting_id": "GP000", - "instantiation": "true", - "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.20mm Standard @BBL A1M", + "inherits": "fdm_process_single_0.20", + "from": "system", + "setting_id": "GP000", + "instantiation": "true", + "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL A2L.json b/resources/profiles/BBL/process/0.20mm Standard @BBL A2L.json index b26ff6f9e6..1355dbe5c9 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL A2L.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -27,13 +26,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL H2C.json b/resources/profiles/BBL/process/0.20mm Standard @BBL H2C.json index b50064fe34..560a3a6833 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL H2C.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL H2C.json @@ -10,12 +10,14 @@ "8000", "8000", "8000", + "8000", "8000" ], "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "150", + "150", "250", "150" ], @@ -23,17 +25,20 @@ "50", "50", "50", + "50", "50" ], "internal_solid_infill_speed": [ "250", "600", + "600", "250", "600" ], "inner_wall_speed": [ "300", "600", + "600", "300", "600" ], @@ -41,6 +46,7 @@ "outer_wall_speed": [ "200", "500", + "500", "200", "500" ], @@ -49,6 +55,7 @@ "sparse_infill_speed": [ "350", "600", + "600", "350", "600" ], @@ -56,9 +63,234 @@ "1000", "1000", "1000", + "1000", "1000" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL H2D.json b/resources/profiles/BBL/process/0.20mm Standard @BBL H2D.json index 967cec907a..1b3426e1a7 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL H2D.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL H2D.json @@ -6,86 +6,95 @@ "setting_id": "GP124", "instantiation": "true", "description": "Standard profile for 0.4mm nozzle, prioritizing speed.", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "8000", "8000", "8000", "8000", + "8000", + "8000", "8000" ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "600", - "250", - "600", - "600" - ], - "inner_wall_speed": [ - "300", - "600", - "300", - "600", - "600" - ], - "outer_wall_speed": [ - "200", - "500", - "200", - "500", - "500" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], "enable_overhang_speed": [ "1", "1", "1", "1", + "1", + "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "600", + "600", + "300", + "600", + "600", + "600" + ], + "internal_solid_infill_speed": [ + "250", + "600", + "600", + "250", + "600", + "600", + "600" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", "500", "500", + "500", + "500", "500" ], "initial_layer_infill_speed": [ @@ -93,27 +102,35 @@ "105", "105", "105", + "105", + "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "outer_wall_speed": [ + "200", + "500", + "500", + "200", + "500", + "500", + "500" + ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], "overhang_1_4_speed": [ @@ -121,6 +138,8 @@ "0", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ @@ -128,6 +147,8 @@ "50", "50", "50", + "50", + "50", "50" ], "overhang_3_4_speed": [ @@ -135,6 +156,8 @@ "30", "30", "30", + "30", + "30", "30" ], "overhang_4_4_speed": [ @@ -142,11 +165,17 @@ "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -154,36 +183,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -191,20 +212,98 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" ], "top_surface_speed": [ "200", "200", "200", "200", + "200", + "200", "200" ], "travel_acceleration": [ @@ -212,13 +311,65 @@ "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1.09", + "1.09" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL H2DP.json b/resources/profiles/BBL/process/0.20mm Standard @BBL H2DP.json index da67bb2b18..839ce5ea5a 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL H2DP.json @@ -6,53 +6,6 @@ "setting_id": "GP130", "instantiation": "true", "description": "Standard profile for 0.4mm nozzle, prioritizing speed.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], "bridge_speed": [ "50", "50", @@ -60,6 +13,13 @@ "50", "50" ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000", + "8000" + ], "enable_overhang_speed": [ "1", "1", @@ -67,6 +27,13 @@ "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -74,6 +41,34 @@ "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300", + "300" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", @@ -88,13 +83,6 @@ "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", @@ -102,12 +90,12 @@ "0", "0" ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300", - "300" + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" ], "outer_wall_acceleration": [ "5000", @@ -144,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -158,6 +148,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -179,27 +232,6 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], "top_surface_speed": [ "200", "200", @@ -214,11 +246,49 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1.09" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL H2S.json b/resources/profiles/BBL/process/0.20mm Standard @BBL H2S.json index ea157f757c..9e04bbd7cc 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL H2S.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL H2S.json @@ -7,164 +7,209 @@ "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", "bridge_speed": [ + "50", "50", "50" ], "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ "250", + "150", "150" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ + "50", "50", "50" ], "inner_wall_speed": [ "300", + "600", "600" ], "internal_solid_infill_speed": [ "250", + "600", "600" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], + "ironing_flow": "15%", "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ "200", + "500", "500" ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], "overhang_3_4_speed": [ + "30", "30", "30" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_flat_ironing": "1", "prime_tower_width": "60", + "prime_tower_flat_ironing": "1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "350", + "600", "600" ], - "small_perimeter_speed": [ - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%" - ], - "support_speed": [ - "150", - "150" - ], "support_interface_speed": [ + "80", "80", "80" ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "200", + "200", + "200" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], "travel_speed": [ + "1000", "1000", "1000" ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], - "top_surface_speed": [ - "200", - "200" - ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab H2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json b/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json index c3fec1fa83..2292213fe1 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json @@ -26,37 +26,37 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" ], "inner_wall_speed": [ "300", - "300" + "400" ], "internal_solid_infill_speed": [ "250", - "250" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" + "350" ], "initial_layer_travel_acceleration": [ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], "outer_wall_speed": [ "200", - "200" + "350" ], "outer_wall_acceleration": [ "5000", @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -92,7 +88,15 @@ ], "sparse_infill_speed": [ "270", - "270" + "370" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", - "200" + "300" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL P2S.json b/resources/profiles/BBL/process/0.20mm Standard @BBL P2S.json index 2c4de0d7bc..13c9f1e722 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL P2S.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL P2S.json @@ -6,166 +6,208 @@ "setting_id": "GP155", "instantiation": "true", "description": "Standard profile for 0.4mm nozzle, prioritizing speed.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "250", "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ + "50", "50", "50" ], "inner_wall_speed": [ "300", + "600", "600" ], "internal_solid_infill_speed": [ "250", + "600", "600" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ "6000", - "6000" - ], - "outer_wall_acceleration": [ "6000", "6000" ], - "outer_wall_speed": [ - "200", + "initial_layer_acceleration": [ + "500", + "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], + "outer_wall_speed": [ + "200", + "500", + "500" + ], + "outer_wall_acceleration": [ + "6000", + "6000", + "6000" + ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], "overhang_3_4_speed": [ + "30", "30", "30" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "270", + "600", "600" ], + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ + "200", "200", "200" ], - "travel_speed_z": [ - "0", - "0" + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" ], "travel_acceleration": [ + "10000", "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000" + ], + "travel_speed_z": [ + "0", + "0", + "0" + ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json b/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json index 57646a32c1..76557dd18d 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json @@ -27,37 +27,37 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" ], "inner_wall_speed": [ "300", - "300" + "400" ], "internal_solid_infill_speed": [ "250", - "250" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" + "350" ], "initial_layer_travel_acceleration": [ "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], "outer_wall_speed": [ "200", - "200" + "350" ], "outer_wall_acceleration": [ "5000", @@ -79,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,10 +87,17 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "270", - "270" + "370" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", - "200" + "300" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL X2D.json b/resources/profiles/BBL/process/0.20mm Standard @BBL X2D.json index 797add313c..925ca46bfb 100644 --- a/resources/profiles/BBL/process/0.20mm Standard @BBL X2D.json +++ b/resources/profiles/BBL/process/0.20mm Standard @BBL X2D.json @@ -10,11 +10,15 @@ "50", "50", "50", + "50", + "200", "200" ], "default_acceleration": [ "10000", "10000", + "10000", + "1000", "1000", "1000" ], @@ -22,10 +26,14 @@ "1", "1", "1", + "1", + "0", "0" ], "enable_tower_interface_features": "1", "initial_layer_speed": [ + "50", + "50", "50", "50", "50", @@ -34,53 +42,79 @@ "inner_wall_speed": [ "300", "600", + "600", + "200", "200", "200" ], "internal_solid_infill_speed": [ "250", "600", + "600", + "200", "200", "200" ], "outer_wall_acceleration": [ "5000", "5000", + "5000", + "1000", "1000", "1000" ], "outer_wall_speed": [ "200", "500", + "500", + "50", "50", "50" ], "overhang_3_4_speed": [ "30", "20", + "20", "30", + "20", "20" ], "prime_tower_brim_width": "-1", "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "200", "200", "200" ], "top_surface_acceleration": [ "2000", "2000", + "2000", + "1000", "1000", "1000" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -88,5 +122,213 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.20mm Steady @BBL A2L.json b/resources/profiles/BBL/process/0.20mm Steady @BBL A2L.json index d41f51faf1..826648ffde 100644 --- a/resources/profiles/BBL/process/0.20mm Steady @BBL A2L.json +++ b/resources/profiles/BBL/process/0.20mm Steady @BBL A2L.json @@ -14,7 +14,6 @@ "3500", "6000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1", @@ -80,10 +79,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", @@ -125,7 +120,6 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%" diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json b/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json index e925a545c0..4be40d2ded 100644 --- a/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json +++ b/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json @@ -1,26 +1,26 @@ { - "type": "process", - "name": "0.20mm Strength @BBL A1", - "inherits": "fdm_process_single_0.20", - "from": "system", - "setting_id": "GP080", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "outer_wall_speed": [ - "60" - ], - "sparse_infill_density": "25%", - "skeleton_infill_density": "25%", - "skin_infill_density": "25%", - "travel_speed": [ - "700" - ], - "wall_loops": "6", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.20mm Strength @BBL A1", + "inherits": "fdm_process_single_0.20", + "from": "system", + "setting_id": "GP080", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "outer_wall_speed": [ + "60" + ], + "sparse_infill_density": "25%", + "skeleton_infill_density": "25%", + "skin_infill_density": "25%", + "travel_speed": [ + "700" + ], + "wall_loops": "6", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL A1M.json b/resources/profiles/BBL/process/0.20mm Strength @BBL A1M.json index 4451e8f9c5..5e9a5e1eff 100644 --- a/resources/profiles/BBL/process/0.20mm Strength @BBL A1M.json +++ b/resources/profiles/BBL/process/0.20mm Strength @BBL A1M.json @@ -1,26 +1,26 @@ { - "type": "process", - "name": "0.20mm Strength @BBL A1M", - "inherits": "fdm_process_single_0.20", - "from": "system", - "setting_id": "GP046", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "outer_wall_speed": [ - "60" - ], - "sparse_infill_density": "25%", - "skeleton_infill_density": "25%", - "skin_infill_density": "25%", - "travel_speed": [ - "700" - ], - "wall_loops": "6", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.20mm Strength @BBL A1M", + "inherits": "fdm_process_single_0.20", + "from": "system", + "setting_id": "GP046", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "outer_wall_speed": [ + "60" + ], + "sparse_infill_density": "25%", + "skeleton_infill_density": "25%", + "skin_infill_density": "25%", + "travel_speed": [ + "700" + ], + "wall_loops": "6", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json b/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json index 9008bd79e2..5e6612b34f 100644 --- a/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json +++ b/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json @@ -26,10 +26,6 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "250", "250" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -97,6 +93,14 @@ "270", "270" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -133,34 +137,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json b/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json index dcb64e1ec5..e9d90bf509 100644 --- a/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json +++ b/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json @@ -26,10 +26,6 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "250", "250" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "60", "60" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,7 +86,6 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_density": "25%", "skeleton_infill_density": "25%", "skin_infill_density": "25%", @@ -98,6 +93,14 @@ "270", "270" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -134,34 +137,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json index 74c9994732..ec11105a26 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.6 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -21,7 +21,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json index 83900ad084..656ab5fe10 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL A2L 0.8 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -21,7 +21,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.6 nozzle.json new file mode 100644 index 0000000000..4498589015 --- /dev/null +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.6 nozzle.json @@ -0,0 +1,295 @@ +{ + "type": "process", + "name": "0.24mm Balanced Quality @BBL H2C 0.6 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.6", + "from": "system", + "setting_id": "GP163", + "instantiation": "true", + "description": "Strength profile for 0.6mm nozzle, prioritizing strength.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "350", + "350", + "350", + "350" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json index 0a32a82a86..e9bfa96c5e 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2C 0.8 nozzle.json @@ -1,81 +1,81 @@ { - "type": "process", - "name": "0.24mm Balanced Quality @BBL H2C 0.8 nozzle", - "inherits": "fdm_process_dual_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP253", - "instantiation": "true", - "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "350", - "350", - "350" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Balanced Quality @BBL H2C 0.8 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP253", + "instantiation": "true", + "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "350", + "350", + "350" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2D 0.8 nozzle.json index c904c653f6..a70f768b16 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2D 0.8 nozzle.json @@ -1,92 +1,93 @@ { - "type": "process", - "name": "0.24mm Balanced Quality @BBL H2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP138", - "instantiation": "true", - "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Balanced Quality @BBL H2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP138", + "instantiation": "true", + "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2DP 0.8 nozzle.json index 9ca80b6acc..c8800dd913 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2DP 0.8 nozzle.json @@ -1,92 +1,92 @@ { - "type": "process", - "name": "0.24mm Balanced Quality @BBL H2DP 0.8 nozzle", - "inherits": "fdm_process_dual_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP141", - "instantiation": "true", - "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Balanced Quality @BBL H2DP 0.8 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP141", + "instantiation": "true", + "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.6 nozzle.json index 0cdc5bb25e..022974ff89 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.6 nozzle.json @@ -7,167 +7,211 @@ "instantiation": "true", "description": "Strength profile for 0.6mm nozzle, prioritizing strength.", "bridge_speed": [ + "30", "30", "30" ], "default_acceleration": [ + "10000", "10000", "10000" ], + "elefant_foot_compensation": "0.15", + "enable_height_slowdown": [ + "0", + "0", + "0" + ], + "enable_overhang_speed": [ + "1", + "1", + "1" + ], "gap_infill_speed": [ + "50", "50", "50" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], "initial_layer_infill_speed": [ + "105", "105", "105" ], "initial_layer_speed": [ + "50", "50", "50" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "inner_wall_speed": [ + "300", "300", "300" ], "internal_solid_infill_speed": [ + "250", "250", "250" ], - "outer_wall_speed": [ - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "350" - ], - "top_surface_speed": [ - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.6 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], + "monotonic_travel_into_wall": "45.0", "outer_wall_acceleration": [ + "5000", "5000", "5000" ], + "outer_wall_speed": [ + "200", + "200", + "200" + ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_speed": [ + "350", + "350", + "350" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], + "top_surface_speed": [ + "200", + "200", + "200" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.6 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.8 nozzle.json index 098cce840c..9ef8388102 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL H2S 0.8 nozzle.json @@ -14,14 +14,19 @@ "10000", "10000" ], + "elefant_foot_compensation": "0.15", + "enable_overhang_speed": [ + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0" + ], "gap_infill_speed": [ "50", "50" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -34,10 +39,38 @@ "250", "250" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], + "overhang_1_4_speed": [ + "0", + "0" + ], + "overhang_2_4_speed": [ + "50", + "50" + ], "overhang_3_4_speed": [ "30", "30" @@ -46,39 +79,28 @@ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "print_extruder_id": [ + "1", + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], "sparse_infill_speed": [ "350", "350" ], - "top_surface_speed": [ - "200", - "200" + "support_interface_speed": [ + "80", + "80" ], - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -104,38 +126,6 @@ "100000", "100000" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], - "overhang_1_4_speed": [ - "0", - "0" - ], - "overhang_2_4_speed": [ - "50", - "50" - ], - "overhang_totally_speed": [ - "10", - "10" - ], - "print_extruder_id": [ - "1", - "1" - ], - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], "small_perimeter_speed": [ "50%", "50%" @@ -144,18 +134,29 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80" + "top_surface_speed": [ + "200", + "200" ], - "support_speed": [ - "150", - "150" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" ], "top_surface_acceleration": [ "2000", @@ -169,5 +170,8 @@ "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "monotonic_travel_into_wall": "45.0", + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.6 nozzle.json index 7b7f633040..24f35fc875 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.6 nozzle.json @@ -6,168 +6,210 @@ "setting_id": "GP213", "instantiation": "true", "description": "Strength profile for 0.6mm nozzle, prioritizing strength.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "30", "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "50", "50", "50" ], + "initial_layer_speed": [ + "35", + "35", + "35" + ], "inner_wall_speed": [ + "300", "300", "300" ], "internal_solid_infill_speed": [ + "250", "250", "250" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ + "200", "200", "200" ], - "overhang_3_4_speed": [ - "15", - "15" - ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15", + "15" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ + "270", "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.6 nozzle" ] diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.8 nozzle.json index 4a303b27d9..64c46e6414 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL P2S 0.8 nozzle.json @@ -6,12 +6,10 @@ "setting_id": "GP212", "instantiation": "true", "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ "10000", "10000" @@ -28,6 +26,10 @@ "50", "50" ], + "initial_layer_speed": [ + "35", + "35" + ], "inner_wall_speed": [ "300", "300" @@ -36,38 +38,26 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "55", + "55" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], - "overhang_3_4_speed": [ - "15", - "15" - ], - "overhang_4_4_speed": [ - "10", - "10" - ], "outer_wall_acceleration": [ "5000", "5000" @@ -80,12 +70,16 @@ "50", "50" ], - "overhang_totally_speed": [ + "overhang_3_4_speed": [ + "15", + "15" + ], + "overhang_4_4_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1" @@ -94,11 +88,19 @@ "Direct Drive Standard", "Direct Drive High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -135,22 +137,27 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "travel_speed": [ - "600", - "600" - ], + "top_surface_pattern": "monotonicline", "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -159,14 +166,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.8 nozzle" ] diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json index 28b6e84f97..f14acdfadb 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json @@ -9,12 +9,16 @@ "bridge_speed": [ "30", "50", + "50", + "30", "30", "30" ], "default_acceleration": [ "10000", "8000", + "8000", + "4000", "4000", "4000" ], @@ -22,42 +26,56 @@ "gap_infill_speed": [ "50", "250", + "250", + "50", "50", "50" ], "initial_layer_infill_speed": [ "55", "105", + "105", + "55", "55", "55" ], "initial_layer_speed": [ "35", "50", + "50", + "20", "20", "20" ], "inner_wall_speed": [ "300", "300", + "300", + "150", "150", "150" ], "internal_solid_infill_speed": [ "250", "300", + "300", + "150", "150", "150" ], "outer_wall_speed": [ "200", "200", + "200", + "50", "50", "50" ], "overhang_3_4_speed": [ "15", "30", + "30", + "15", "15", "15" ], @@ -66,22 +84,38 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "100", "100", "100" ], "top_surface_speed": [ "150", "200", + "200", + "150", "150", "150" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -89,5 +123,213 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.6 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" ] } diff --git a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json index 8656248052..da2a8b86c3 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json @@ -1,100 +1,100 @@ { - "type": "process", - "name": "0.24mm Balanced Quality @BBL X2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP226", - "instantiation": "true", - "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", - "bridge_speed": [ - "30", - "50", - "30", - "30" - ], - "default_acceleration": [ - "10000", - "8000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "gap_infill_speed": [ - "50", - "250", - "50", - "50" - ], - "initial_layer_infill_speed": [ - "55", - "105", - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "50", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "150", - "150" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "150", - "150" - ], - "outer_wall_speed": [ - "200", - "200", - "50", - "50" - ], - "overhang_3_4_speed": [ - "15", - "30", - "25", - "25" - ], - "overhang_4_4_speed": [ - "10", - "10", - "5", - "5" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "sparse_infill_speed": [ - "270", - "600", - "100", - "100" - ], - "top_surface_pattern": "monotonicline", - "top_surface_speed": [ - "150", - "200", - "150", - "150" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Balanced Quality @BBL X2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP226", + "instantiation": "true", + "description": "High quality profile for 0.8mm nozzle, prioritizing print quality.", + "bridge_speed": [ + "30", + "50", + "30", + "30" + ], + "default_acceleration": [ + "10000", + "8000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "50", + "250", + "50", + "50" + ], + "initial_layer_infill_speed": [ + "55", + "105", + "55", + "55" + ], + "initial_layer_speed": [ + "35", + "50", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "150", + "150" + ], + "outer_wall_speed": [ + "200", + "200", + "50", + "50" + ], + "overhang_3_4_speed": [ + "15", + "30", + "25", + "25" + ], + "overhang_4_4_speed": [ + "10", + "10", + "5", + "5" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "sparse_infill_speed": [ + "270", + "600", + "100", + "100" + ], + "top_surface_pattern": "monotonicline", + "top_surface_speed": [ + "150", + "200", + "150", + "150" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json index e66b7ee039..2514a1e537 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2C 0.6 nozzle.json @@ -1,87 +1,87 @@ { - "type": "process", - "name": "0.24mm Balanced Strength @BBL H2C 0.6 nozzle", - "inherits": "fdm_process_dual_0.24_nozzle_0.6", - "from": "system", - "setting_id": "GP254", - "instantiation": "true", - "description": "Strength profile for 0.6mm nozzle, prioritizing strength.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.6 nozzle" - ] -} + "type": "process", + "name": "0.24mm Balanced Strength @BBL H2C 0.6 nozzle", + "inherits": "fdm_process_dual_0.24_nozzle_0.6", + "from": "system", + "setting_id": "GP254", + "instantiation": "true", + "description": "Strength profile for 0.6mm nozzle, prioritizing strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json index 63063d0d3c..a6939904e4 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json @@ -11,6 +11,8 @@ "50", "50", "50", + "50", + "50", "50" ], "default_acceleration": [ @@ -18,27 +20,45 @@ "8000", "8000", "8000", + "8000", + "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], "initial_layer_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "inner_wall_speed": [ @@ -46,88 +66,71 @@ "300", "300", "300", + "300", + "300", "300" ], "internal_solid_infill_speed": [ "250", "300", + "300", "250", "300", + "300", "300" ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], "initial_layer_travel_acceleration": [ "6000", "6000", "6000", "6000", + "6000", + "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], "overhang_1_4_speed": [ @@ -135,6 +138,8 @@ "0", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ @@ -142,18 +147,35 @@ "50", "50", "50", + "50", + "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -161,36 +183,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -198,27 +212,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2DP 0.6 nozzle.json index 0f138b0cc6..250df469d2 100644 --- a/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Balanced Strength @BBL H2DP 0.6 nozzle.json @@ -20,6 +20,20 @@ "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -48,59 +62,12 @@ "300", "300" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", @@ -109,12 +76,12 @@ "500", "500" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" ], "inner_wall_acceleration": [ "0", @@ -123,6 +90,13 @@ "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", @@ -144,6 +118,13 @@ "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", @@ -151,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -165,6 +148,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -186,26 +232,19 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" ], "travel_acceleration": [ "10000", @@ -214,11 +253,42 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json b/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json index 70c8df6513..637e5f031c 100644 --- a/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json +++ b/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.24mm Draft @BBL A1", - "inherits": "fdm_process_single_0.24", - "from": "system", - "setting_id": "GP081", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.24mm Draft @BBL A1", + "inherits": "fdm_process_single_0.24", + "from": "system", + "setting_id": "GP081", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json b/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json index 510e60bd3a..f85bfbfd56 100644 --- a/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json +++ b/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.24mm Draft @BBL A1M", - "inherits": "fdm_process_single_0.24", - "from": "system", - "setting_id": "GP047", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.24mm Draft @BBL A1M", + "inherits": "fdm_process_single_0.24", + "from": "system", + "setting_id": "GP047", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json b/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json index 6d716dfdbf..9df641f1a7 100644 --- a/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json +++ b/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json @@ -26,10 +26,6 @@ "230", "230" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "230", "230" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,6 +90,14 @@ "230", "230" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json b/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json index 17cd1d829c..ab68c44ca7 100644 --- a/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json +++ b/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json @@ -26,10 +26,6 @@ "230", "230" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "230", "230" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,11 +86,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "230", "230" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json index 52b75c5f3a..044b7b95eb 100644 --- a/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.24mm Fine @BBL A1 0.8 nozzle", - "inherits": "fdm_process_single_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP092", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Fine @BBL A1 0.8 nozzle", + "inherits": "fdm_process_single_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP092", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json index 617a01b57b..8581ea849e 100644 --- a/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.24mm Fine @BBL A1M 0.8 nozzle", - "inherits": "fdm_process_single_0.24_nozzle_0.8", - "from": "system", - "setting_id": "GP057", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "process", + "name": "0.24mm Fine @BBL A1M 0.8 nozzle", + "inherits": "fdm_process_single_0.24_nozzle_0.8", + "from": "system", + "setting_id": "GP057", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json index 963d8945ad..468c46d138 100644 --- a/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json index 41aad2f0a4..aa437c7811 100644 --- a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.24mm Optimal @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.24_nozzle_0.6", - "from": "system", - "setting_id": "GP089", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.24mm Optimal @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.24_nozzle_0.6", + "from": "system", + "setting_id": "GP089", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json index b0c88937e6..c5503c4eab 100644 --- a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.24mm Optimal @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.24_nozzle_0.6", - "from": "system", - "setting_id": "GP054", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.24mm Optimal @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.24_nozzle_0.6", + "from": "system", + "setting_id": "GP054", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json index 5cae9a0bf0..9b22c38074 100644 --- a/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL A2L.json b/resources/profiles/BBL/process/0.24mm Standard @BBL A2L.json index f99e4ec24f..045d75a74f 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL A2L.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL A2L.json @@ -9,7 +9,6 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -27,13 +26,9 @@ "slowdown_start_acc": [ "8000" ], - "slowdown_start_height": [ - "0" - ], "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL H2C.json b/resources/profiles/BBL/process/0.24mm Standard @BBL H2C.json index 3f58cdbc04..b87fa9df45 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL H2C.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL H2C.json @@ -9,6 +9,7 @@ "8000", "8000", "8000", + "8000", "8000" ], "enable_tower_interface_features": "1", @@ -16,11 +17,13 @@ "50", "50", "50", + "50", "50" ], "internal_solid_infill_speed": [ "250", "300", + "300", "250", "300" ], @@ -28,6 +31,7 @@ "200", "200", "200", + "200", "200" ], "prime_tower_brim_width": "-1", @@ -35,6 +39,7 @@ "sparse_infill_speed": [ "350", "600", + "600", "350", "600" ], @@ -42,9 +47,248 @@ "1000", "1000", "1000", + "1000", "1000" ], "compatible_printers": [ "Bambu Lab H2C 0.4 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL H2D.json b/resources/profiles/BBL/process/0.24mm Standard @BBL H2D.json index b01b963193..d0645ccde5 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL H2D.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL H2D.json @@ -5,79 +5,95 @@ "from": "system", "setting_id": "GP144", "instantiation": "true", + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], "default_acceleration": [ "8000", "8000", "8000", "8000", + "8000", + "8000", "8000" ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.4 nozzle" - ], - "bridge_speed": [ - "50", - "50", - "50", - "50", - "50" - ], "enable_overhang_speed": [ "1", "1", "1", "1", + "1", + "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "300", + "250", + "300", + "300", + "300" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", "500", "500", + "500", + "500", "500" ], "initial_layer_infill_speed": [ @@ -85,34 +101,35 @@ "105", "105", "105", + "105", + "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300", - "300" + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], "overhang_1_4_speed": [ @@ -120,6 +137,8 @@ "0", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ @@ -127,6 +146,8 @@ "50", "50", "50", + "50", + "50", "50" ], "overhang_3_4_speed": [ @@ -134,6 +155,8 @@ "30", "30", "30", + "30", + "30", "30" ], "overhang_4_4_speed": [ @@ -141,11 +164,17 @@ "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -153,36 +182,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -190,20 +211,98 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" ], "top_surface_speed": [ "200", "200", "200", "200", + "200", + "200", "200" ], "travel_acceleration": [ @@ -211,13 +310,65 @@ "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL H2DP.json b/resources/profiles/BBL/process/0.24mm Standard @BBL H2DP.json index fb06e53278..190c95ab87 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL H2DP.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL H2DP.json @@ -5,53 +5,6 @@ "from": "system", "setting_id": "GP132", "instantiation": "true", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000", - "8000" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50", - "50" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.4 nozzle" - ], "bridge_speed": [ "50", "50", @@ -59,6 +12,13 @@ "50", "50" ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000", + "8000" + ], "enable_overhang_speed": [ "1", "1", @@ -66,6 +26,13 @@ "1", "1" ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -73,6 +40,34 @@ "250", "250" ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300", + "300" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500", @@ -87,13 +82,6 @@ "105", "105" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" - ], "inner_wall_acceleration": [ "0", "0", @@ -101,12 +89,12 @@ "0", "0" ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300", - "300" + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" ], "outer_wall_acceleration": [ "5000", @@ -143,6 +131,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -157,6 +147,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -178,27 +231,6 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" - ], "top_surface_speed": [ "200", "200", @@ -213,11 +245,49 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.4 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL H2S.json b/resources/profiles/BBL/process/0.24mm Standard @BBL H2S.json index 1807668e08..c1907cf933 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL H2S.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL H2S.json @@ -5,167 +5,211 @@ "from": "system", "setting_id": "GP241", "instantiation": "true", - "default_acceleration": [ - "10000", - "10000" - ], - "initial_layer_speed": [ + "bridge_speed": [ + "50", "50", "50" ], - "internal_solid_infill_speed": [ - "250", - "300" + "default_acceleration": [ + "10000", + "10000", + "10000" ], - "outer_wall_speed": [ - "200", - "200" + "enable_height_slowdown": [ + "0", + "0", + "0" ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600" - ], - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.4 nozzle" + "enable_overhang_speed": [ + "1", + "1", + "1" ], "gap_infill_speed": [ + "250", "250", "250" ], - "inner_wall_speed": [ - "300", - "300" + "initial_layer_acceleration": [ + "500", + "500", + "500" ], "initial_layer_infill_speed": [ + "105", "105", "105" ], - "bridge_speed": [ + "initial_layer_speed": [ + "50", "50", "50" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" - ], - "slowdown_start_height": [ - "0", - "0" - ], - "slowdown_start_speed": [ - "1000", - "1000" - ], - "slowdown_start_acc": [ - "100000", - "100000" - ], - "slowdown_end_height": [ - "400", - "400" - ], - "slowdown_end_speed": [ - "1000", - "1000" - ], - "slowdown_end_acc": [ - "100000", - "100000" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], "inner_wall_acceleration": [ + "0", "0", "0" ], + "inner_wall_speed": [ + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "300" + ], + "monotonic_travel_into_wall": "45.0", "outer_wall_acceleration": [ + "5000", "5000", "5000" ], + "outer_wall_speed": [ + "200", + "200", + "200" + ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], "overhang_3_4_speed": [ + "30", "30", "30" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "prime_tower_width": "60", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000" + ], + "slowdown_start_height": [ + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], + "sparse_infill_speed": [ + "350", + "600", + "600" + ], "support_interface_speed": [ + "80", "80", "80" ], "support_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "top_surface_speed": [ + "200", "200", "200" ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "travel_speed_z": [ + "0", "0", "0" ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "compatible_printers": [ + "Bambu Lab H2S 0.4 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL P2S.json b/resources/profiles/BBL/process/0.24mm Standard @BBL P2S.json index a6dae0a6dd..bec3147a16 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL P2S.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL P2S.json @@ -5,168 +5,210 @@ "from": "system", "setting_id": "GP214", "instantiation": "true", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "50", "50", "50" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ "250", - "250" - ], - "internal_solid_infill_speed": [ "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ + "50", "50", "50" ], "inner_wall_speed": [ + "230", "230", "230" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" + "internal_solid_infill_speed": [ + "250", + "250", + "250" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ + "200", "200", "200" ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], "overhang_3_4_speed": [ + "30", "30", "30" ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ + "270", "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ + "200", "200", "200" ], - "travel_speed_z": [ - "0", - "0" + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" ], "travel_acceleration": [ + "10000", "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000" + ], + "travel_speed_z": [ + "0", + "0", + "0" + ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.4 nozzle" ] diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json index 2cf71d9ad9..6f3e2666a1 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json index 1a639b0ad3..5a7d89eea4 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL X2D.json b/resources/profiles/BBL/process/0.24mm Standard @BBL X2D.json index fa06724591..80f9fb0384 100644 --- a/resources/profiles/BBL/process/0.24mm Standard @BBL X2D.json +++ b/resources/profiles/BBL/process/0.24mm Standard @BBL X2D.json @@ -8,11 +8,15 @@ "default_acceleration": [ "10000", "8000", + "8000", + "1000", "1000", "1000" ], "enable_tower_interface_features": "1", "initial_layer_speed": [ + "50", + "50", "50", "50", "50", @@ -21,12 +25,16 @@ "internal_solid_infill_speed": [ "250", "300", + "300", + "100", "100", "100" ], "outer_wall_speed": [ "200", "200", + "200", + "50", "50", "50" ], @@ -35,16 +43,30 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -52,5 +74,261 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.4 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200", + "200" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300", + "300", + "300" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" ] } diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json index 48c3a62ef0..b21713ffde 100644 --- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json +++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.28mm Extra Draft @BBL A1", - "inherits": "fdm_process_single_0.28", - "from": "system", - "setting_id": "GP082", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle" - ] -} + "type": "process", + "name": "0.28mm Extra Draft @BBL A1", + "inherits": "fdm_process_single_0.28", + "from": "system", + "setting_id": "GP082", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json index b6d2e920e5..a4d1cd337e 100644 --- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json +++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.28mm Extra Draft @BBL A1M", - "inherits": "fdm_process_single_0.28", - "from": "system", - "setting_id": "GP048", - "instantiation": "true", - "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle" - ] -} + "type": "process", + "name": "0.28mm Extra Draft @BBL A1M", + "inherits": "fdm_process_single_0.28", + "from": "system", + "setting_id": "GP048", + "instantiation": "true", + "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json index ca4b6a55c1..ed36d640ec 100644 --- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json +++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json @@ -26,10 +26,6 @@ "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "200", "200" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,6 +90,14 @@ "200", "200" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -130,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json index d3560f7224..c7fb145bfb 100644 --- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json +++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json @@ -26,10 +26,6 @@ "200", "200" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -42,18 +38,22 @@ "200", "200" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" @@ -78,10 +78,6 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -90,11 +86,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "200", "200" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +134,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_acceleration": [ - "2000", - "2000" - ], "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json index 7ace7d3b69..99dfef5693 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.30mm Standard @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.30_nozzle_0.6", - "from": "system", - "setting_id": "GP096", - "instantiation": "true", - "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.30mm Standard @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.30_nozzle_0.6", + "from": "system", + "setting_id": "GP096", + "instantiation": "true", + "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL A1M 0.6 nozzle.json index ab1491afdd..fa570e3115 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.30mm Standard @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.30_nozzle_0.6", - "from": "system", - "setting_id": "GP038", - "instantiation": "true", - "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.30mm Standard @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.30_nozzle_0.6", + "from": "system", + "setting_id": "GP038", + "instantiation": "true", + "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL A2L 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL A2L 0.6 nozzle.json index 4fa0523bb4..63cc41d61f 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL A2L 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL A2L 0.6 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -30,7 +30,6 @@ "slowdown_start_speed": [ "500" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL H2C 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL H2C 0.6 nozzle.json index b86a58762a..ff61238230 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL H2C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL H2C 0.6 nozzle.json @@ -10,6 +10,7 @@ "8000", "8000", "8000", + "8000", "8000" ], "enable_tower_interface_features": "1", @@ -17,29 +18,34 @@ "105", "105", "105", + "105", "105" ], "initial_layer_speed": [ "50", "50", "50", + "50", "50" ], "inner_wall_speed": [ "300", "600", + "600", "300", "600" ], "internal_solid_infill_speed": [ "250", "600", + "600", "250", "600" ], "outer_wall_speed": [ "200", "500", + "500", "200", "500" ], @@ -47,6 +53,7 @@ "30", "30", "30", + "30", "30" ], "prime_tower_brim_width": "-1", @@ -54,6 +61,7 @@ "sparse_infill_speed": [ "350", "600", + "600", "350", "600" ], @@ -61,16 +69,228 @@ "200", "200", "200", + "200", "200" ], "travel_speed": [ "1000", "1000", "1000", + "1000", "1000" ], "top_shell_layers": "4", "compatible_printers": [ "Bambu Lab H2C 0.6 nozzle" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "30", + "30", + "30", + "30", + "30" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0" + ], + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "5000", + "5000", + "5000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Direct Drive E3D High Flow", + "Direct Drive Standard", + "Direct Drive High Flow" ] } diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL H2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL H2D 0.6 nozzle.json index ce7e10a14d..85fec57c8b 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL H2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL H2D 0.6 nozzle.json @@ -11,6 +11,8 @@ "50", "50", "50", + "50", + "50", "50" ], "default_acceleration": [ @@ -18,27 +20,45 @@ "8000", "8000", "8000", + "8000", + "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "enable_tower_interface_features": "1", "gap_infill_speed": [ "250", "250", "250", "250", + "250", + "250", "250" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], "initial_layer_speed": [ "50", "50", "50", "50", + "50", + "50", "50" ], "inner_wall_speed": [ @@ -46,88 +66,71 @@ "300", "300", "300", + "300", + "300", "300" ], "internal_solid_infill_speed": [ "250", "300", + "300", "250", "300", + "300", "300" ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" - ], - "initial_layer_acceleration": [ - "500", - "500", - "500", - "500", - "500" - ], "initial_layer_travel_acceleration": [ "6000", "6000", "6000", "6000", + "6000", + "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105", + "105", + "105" + ], "inner_wall_acceleration": [ "0", "0", "0", "0", + "0", + "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", "5000", "5000", + "5000", + "5000", "5000" ], "overhang_1_4_speed": [ @@ -135,6 +138,8 @@ "0", "0", "0", + "0", + "0", "0" ], "overhang_2_4_speed": [ @@ -142,18 +147,35 @@ "50", "50", "50", + "50", + "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", "10", "10", + "10", + "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", + "1", + "2", "2", "2", "2" @@ -161,36 +183,28 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Direct Drive Standard", "Direct Drive High Flow", - "Direct Drive TPU High Flow" + "Direct Drive TPU High Flow", + "Direct Drive E3D High Flow" ], - "small_perimeter_speed": [ - "50%", - "50%", - "50%", - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0", - "0", - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%", - "100%", - "100%", - "100%" + "sparse_infill_speed": [ + "350", + "600", + "600", + "350", + "600", + "600", + "600" ], "support_interface_speed": [ "80", "80", "80", "80", + "80", + "80", "80" ], "support_speed": [ @@ -198,27 +212,164 @@ "150", "150", "150", + "150", + "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200", + "200", + "200" ], "travel_acceleration": [ "10000", "10000", "10000", "10000", + "10000", + "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1.09", + "1.09" + ], "travel_speed_z": [ "0", "0", "0", "0", + "0", + "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL H2DP 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL H2DP 0.6 nozzle.json index c141b81adf..3ff700eb52 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL H2DP 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL H2DP 0.6 nozzle.json @@ -20,6 +20,20 @@ "8000", "8000" ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0" + ], "gap_infill_speed": [ "250", "250", @@ -48,59 +62,12 @@ "300", "300" ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30", - "30" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.6 nozzle" - ], - "enable_overhang_speed": [ - "1", - "1", - "1", - "1", - "1" + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000" ], "initial_layer_acceleration": [ "500", @@ -109,12 +76,12 @@ "500", "500" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000", - "6000", - "6000", - "6000" + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105", + "105" ], "inner_wall_acceleration": [ "0", @@ -123,6 +90,13 @@ "0", "0" ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200", + "200" + ], "outer_wall_acceleration": [ "5000", "5000", @@ -144,6 +118,13 @@ "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", "10", @@ -151,6 +132,8 @@ "10", "10" ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1", @@ -165,6 +148,69 @@ "Direct Drive High Flow", "Direct Drive TPU High Flow" ], + "sparse_infill_speed": [ + "350", + "600", + "350", + "600", + "600" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000" + ], "small_perimeter_speed": [ "50%", "50%", @@ -186,26 +232,12 @@ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150", - "150" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000", - "2000" + "top_surface_speed": [ + "200", + "200", + "200", + "200", + "200" ], "travel_acceleration": [ "10000", @@ -214,11 +246,49 @@ "10000", "10000" ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1.09" + ], "travel_speed_z": [ "0", "0", "0", "0", "0" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.6 nozzle" ] } diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL H2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL H2S 0.6 nozzle.json index c3f1962e55..89319e5662 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL H2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL H2S 0.6 nozzle.json @@ -7,165 +7,210 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "bridge_speed": [ + "30", "30", "30" ], "default_acceleration": [ + "10000", "10000", "10000" ], "elefant_foot_compensation": "0.15", "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ "50", - "50" - ], - "initial_layer_infill_speed": [ - "105", - "105" - ], - "initial_layer_speed": [ "50", "50" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" + "initial_layer_speed": [ + "50", + "50", + "50" ], "inner_wall_speed": [ "300", + "600", "600" ], "internal_solid_infill_speed": [ "250", + "600", "600" ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], - "overhang_3_4_speed": [ - "30", - "30" + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], + "outer_wall_speed": [ + "200", + "500", + "500" ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "30", + "30", + "30" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "outer_wall_speed": [ - "120", - "500" - ], - "overhang_totally_speed": [ "10", "10" ], - "prime_tower_flat_ironing": "1", "prime_tower_width": "60", + "prime_tower_flat_ironing": "1", "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], "sparse_infill_speed": [ "350", + "600", "600" ], - "small_perimeter_speed": [ - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%" + "support_interface_speed": [ + "80", + "80", + "80" ], "support_speed": [ + "150", "150", "150" ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], - "support_interface_speed": [ - "80", - "80" + "small_perimeter_speed": [ + "50%", + "50%", + "50%" ], - "smooth_coefficient": "4", - "travel_speed": [ - "1000", - "1000" + "small_perimeter_threshold": [ + "0", + "0", + "0" ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%" + ], + "top_shell_layers": "4", "top_surface_speed": [ + "200", "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab H2S 0.6 nozzle" ] diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json index b8993d012d..91a3c1fcf7 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json @@ -25,39 +25,39 @@ ], "gap_infill_speed": [ "50", - "50" - ], - "initial_layer_infill_speed": [ - "55", - "55" + "30" ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", - "150" + "180" ], "internal_solid_infill_speed": [ "150", - "150" + "250" ], "initial_layer_travel_acceleration": [ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "150" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -93,7 +89,15 @@ ], "sparse_infill_speed": [ "100", - "100" + "200" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", - "150" + "80" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL P2S 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL P2S 0.6 nozzle.json index 9f4c86e17a..d745625988 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL P2S 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL P2S 0.6 nozzle.json @@ -6,167 +6,209 @@ "setting_id": "GP160", "instantiation": "true", "description": "Standard profile for 0.6mm nozzle, prioritizing speed.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ + "30", "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ + "10000", "10000", "10000" ], "elefant_foot_compensation": "0.15", "enable_overhang_speed": [ + "1", "1", "1" ], "enable_height_slowdown": [ + "0", "0", "0" ], "gap_infill_speed": [ + "50", "50", "50" ], + "initial_layer_speed": [ + "35", + "35", + "35" + ], "inner_wall_speed": [ "300", + "600", "600" ], "internal_solid_infill_speed": [ "250", + "600", "600" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" - ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "initial_layer_travel_acceleration": [ + "6000", "6000", "6000" ], + "initial_layer_acceleration": [ + "500", + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0" + ], "outer_wall_speed": [ "200", + "500", "500" ], - "overhang_3_4_speed": [ - "15", - "15" - ], "outer_wall_acceleration": [ + "5000", "5000", "5000" ], "overhang_1_4_speed": [ + "0", "0", "0" ], "overhang_2_4_speed": [ + "50", "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15", + "15" + ], "overhang_4_4_speed": [ "10", - "10" - ], - "overhang_totally_speed": [ "10", "10" ], "print_extruder_id": [ + "1", "1", "1" ], "print_extruder_variant": [ "Direct Drive Standard", - "Direct Drive High Flow" + "Direct Drive High Flow", + "Direct Drive E3D High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "270", + "600", "600" ], + "support_interface_speed": [ + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150" + ], "slowdown_start_height": [ + "0", "0", "0" ], "slowdown_start_speed": [ + "1000", "1000", "1000" ], "slowdown_start_acc": [ + "100000", "100000", "100000" ], "slowdown_end_height": [ + "400", "400", "400" ], "slowdown_end_speed": [ + "1000", "1000", "1000" ], "slowdown_end_acc": [ + "100000", "100000", "100000" ], "small_perimeter_speed": [ + "50%", "50%", "50%" ], "small_perimeter_threshold": [ + "0", "0", "0" ], "sparse_infill_acceleration": [ + "100%", "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "top_surface_pattern": "monotonic", - "travel_speed": [ - "600", - "600" - ], "top_surface_speed": [ + "150", "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000", + "1000" + ], "top_surface_acceleration": [ + "2000", "2000", "2000" ], "travel_speed_z": [ + "0", "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ + "80%", "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.6 nozzle" ] diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json index a960492fdc..035a7fbbed 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json index a76b7f9bd5..85508a9021 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json @@ -25,39 +25,39 @@ ], "gap_infill_speed": [ "50", - "50" - ], - "initial_layer_infill_speed": [ - "55", - "55" + "30" ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", - "150" + "180" ], "internal_solid_infill_speed": [ "150", - "150" + "250" ], "initial_layer_travel_acceleration": [ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "150" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,10 +87,17 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", - "100" + "200" + ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", - "150" + "80" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL X2D 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL X2D 0.6 nozzle.json index 4ef62cbbdc..b2bcc119e6 100644 --- a/resources/profiles/BBL/process/0.30mm Standard @BBL X2D 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Standard @BBL X2D 0.6 nozzle.json @@ -9,6 +9,8 @@ "default_acceleration": [ "10000", "10000", + "10000", + "4000", "4000", "4000" ], @@ -16,30 +18,40 @@ "initial_layer_speed": [ "35", "35", + "35", + "20", "20", "20" ], "inner_wall_speed": [ "300", "600", + "600", + "150", "150", "150" ], "internal_solid_infill_speed": [ "250", "600", + "600", + "150", "150", "150" ], "outer_wall_acceleration": [ "5000", "5000", + "5000", + "4000", "4000", "4000" ], "outer_wall_speed": [ "200", "500", + "500", + "50", "50", "50" ], @@ -47,16 +59,30 @@ "print_extruder_variant": [ "Direct Drive Standard", "Direct Drive High Flow", + "Direct Drive E3D High Flow", "Bowden Standard", - "Bowden High Flow" + "Bowden High Flow", + "Bowden E3D High Flow" + ], + "print_extruder_id": [ + "1", + "1", + "1", + "2", + "2", + "2" ], "sparse_infill_speed": [ "270", "600", + "600", + "100", "100", "100" ], "travel_speed": [ + "1000", + "1000", "1000", "1000", "1000", @@ -64,5 +90,245 @@ ], "compatible_printers": [ "Bambu Lab X2D 0.6 nozzle" + ], + "vertical_shell_speed": [ + "80%", + "80%", + "80%", + "80%", + "80%", + "80%" + ], + "travel_speed_z": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250", + "250", + "250" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000", + "10000", + "10000" + ], + "top_surface_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000", + "2000", + "2000" + ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "support_speed": [ + "150", + "150", + "150", + "150", + "150", + "150" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80", + "80", + "80" + ], + "sparse_infill_acceleration": [ + "100%", + "100%", + "100%", + "100%", + "100%", + "100%" + ], + "small_perimeter_threshold": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "small_perimeter_speed": [ + "50%", + "50%", + "50%", + "50%", + "50%", + "50%" + ], + "slowdown_start_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_start_height": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "slowdown_start_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "slowdown_end_speed": [ + "1000", + "1000", + "1000", + "1000", + "1000", + "1000" + ], + "slowdown_end_height": [ + "400", + "400", + "400", + "400", + "400", + "400" + ], + "slowdown_end_acc": [ + "100000", + "100000", + "100000", + "100000", + "100000", + "100000" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10", + "10", + "10" + ], + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15", + "15", + "15" + ], + "overhang_2_4_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "overhang_1_4_speed": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "inner_wall_acceleration": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "initial_layer_travel_acceleration": [ + "6000", + "6000", + "6000", + "6000", + "6000", + "6000" + ], + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55", + "55", + "55" + ], + "initial_layer_acceleration": [ + "500", + "500", + "500", + "500", + "500", + "500" + ], + "gap_infill_speed": [ + "50", + "50", + "50", + "50", + "50", + "50" + ], + "enable_overhang_speed": [ + "1", + "1", + "1", + "1", + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0", + "0", + "0", + "0", + "0" + ], + "bridge_speed": [ + "30", + "30", + "30", + "30", + "30", + "30" ] } diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json index cccc2ff9f9..0c3818df5f 100644 --- a/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json @@ -1,23 +1,23 @@ { - "type": "process", - "name": "0.30mm Strength @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.30_nozzle_0.6", - "from": "system", - "setting_id": "GP097", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "sparse_infill_density": "25%", - "skeleton_infill_density": "25%", - "skin_infill_density": "25%", - "travel_speed": [ - "700" - ], - "wall_loops": "4", - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.30mm Strength @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.30_nozzle_0.6", + "from": "system", + "setting_id": "GP097", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "sparse_infill_density": "25%", + "skeleton_infill_density": "25%", + "skin_infill_density": "25%", + "travel_speed": [ + "700" + ], + "wall_loops": "4", + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json index 111348a26c..53ca56dde6 100644 --- a/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.30mm Strength @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.30_nozzle_0.6", - "from": "system", - "setting_id": "GP061", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.30mm Strength @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.30_nozzle_0.6", + "from": "system", + "setting_id": "GP061", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json index fb8c7de72b..92598e6ea0 100644 --- a/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -98,6 +94,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -134,34 +138,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json index ab0e52733c..30c7a5b091 100644 --- a/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -94,11 +90,18 @@ "sparse_infill_density": "25%", "skeleton_infill_density": "25%", "skin_infill_density": "25%", - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -135,34 +138,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json index 20b865e2cd..520fb58498 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL A2L 0.8 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -21,7 +21,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2C 0.8 nozzle.json new file mode 100644 index 0000000000..e1ef4deb01 --- /dev/null +++ b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2C 0.8 nozzle.json @@ -0,0 +1,81 @@ +{ + "type": "process", + "name": "0.32mm Balanced Quality @BBL H2C 0.8 nozzle", + "inherits": "fdm_process_dual_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP164", + "instantiation": "true", + "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "350", + "350", + "350" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2S 0.8 nozzle.json index c7c44a1b1f..56ddf4cc97 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL H2S 0.8 nozzle.json @@ -14,14 +14,19 @@ "10000", "10000" ], + "elefant_foot_compensation": "0.15", + "enable_overhang_speed": [ + "1", + "1" + ], + "enable_height_slowdown": [ + "0", + "0" + ], "gap_infill_speed": [ "50", "50" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" @@ -34,10 +39,38 @@ "250", "250" ], + "initial_layer_travel_acceleration": [ + "6000", + "6000" + ], + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], "outer_wall_speed": [ "200", "200" ], + "outer_wall_acceleration": [ + "5000", + "5000" + ], + "overhang_1_4_speed": [ + "0", + "0" + ], + "overhang_2_4_speed": [ + "50", + "50" + ], "overhang_3_4_speed": [ "30", "30" @@ -46,39 +79,28 @@ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "prime_tower_flat_ironing": "1", + "print_extruder_id": [ + "1", + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], "sparse_infill_speed": [ "350", "350" ], - "top_surface_speed": [ - "200", - "200" + "support_interface_speed": [ + "80", + "80" ], - "travel_speed": [ - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2S 0.8 nozzle" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "travel_acceleration": [ - "10000", - "10000" - ], - "enable_overhang_speed": [ - "1", - "1" - ], - "enable_height_slowdown": [ - "0", - "0" + "support_speed": [ + "150", + "150" ], "slowdown_start_height": [ "0", @@ -104,38 +126,6 @@ "100000", "100000" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], - "outer_wall_acceleration": [ - "5000", - "5000" - ], - "overhang_1_4_speed": [ - "0", - "0" - ], - "overhang_2_4_speed": [ - "50", - "50" - ], - "overhang_totally_speed": [ - "10", - "10" - ], - "print_extruder_id": [ - "1", - "1" - ], - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], "small_perimeter_speed": [ "50%", "50%" @@ -144,18 +134,29 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%" ], - "support_interface_speed": [ - "80", - "80" + "top_surface_speed": [ + "200", + "200" ], - "support_speed": [ - "150", - "150" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" ], "top_surface_acceleration": [ "2000", @@ -169,5 +170,8 @@ "80%", "80%" ], - "prime_tower_flat_ironing": "1" + "monotonic_travel_into_wall": "45.0", + "compatible_printers": [ + "Bambu Lab H2S 0.8 nozzle" + ] } diff --git a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL P2S 0.8 nozzle.json index ffa69df36b..979edcca6e 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL P2S 0.8 nozzle.json @@ -6,12 +6,10 @@ "setting_id": "GP215", "instantiation": "true", "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ "10000", "10000" @@ -28,6 +26,10 @@ "50", "50" ], + "initial_layer_speed": [ + "35", + "35" + ], "inner_wall_speed": [ "300", "300" @@ -36,38 +38,26 @@ "250", "250" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "55", + "55" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], "outer_wall_speed": [ "200", "200" ], - "overhang_3_4_speed": [ - "15", - "15" - ], - "overhang_4_4_speed": [ - "10", - "10" - ], "outer_wall_acceleration": [ "5000", "5000" @@ -80,12 +70,16 @@ "50", "50" ], - "overhang_totally_speed": [ + "overhang_3_4_speed": [ + "15", + "15" + ], + "overhang_4_4_speed": [ "10", "10" ], - "prime_tower_brim_width": "-1", "prime_tower_width": "60", + "prime_tower_brim_width": "-1", "print_extruder_id": [ "1", "1" @@ -94,11 +88,19 @@ "Direct Drive Standard", "Direct Drive High Flow" ], + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "270", "270" ], - "smooth_coefficient": "4", + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -135,22 +137,27 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "travel_speed": [ - "600", - "600" - ], + "top_surface_pattern": "monotonicline", "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -159,14 +166,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.8 nozzle" ] diff --git a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json index 5d1cf50bc4..42f062b60c 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json @@ -1,100 +1,100 @@ { - "type": "process", - "name": "0.32mm Balanced Quality @BBL X2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP230", - "instantiation": "true", - "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", - "bridge_speed": [ - "30", - "50", - "30", - "30" - ], - "default_acceleration": [ - "10000", - "8000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "gap_infill_speed": [ - "50", - "250", - "50", - "50" - ], - "initial_layer_infill_speed": [ - "55", - "105", - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "50", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "150", - "150" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "150", - "150" - ], - "outer_wall_speed": [ - "200", - "200", - "50", - "50" - ], - "overhang_3_4_speed": [ - "15", - "30", - "25", - "25" - ], - "overhang_4_4_speed": [ - "10", - "10", - "5", - "5" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "sparse_infill_speed": [ - "270", - "600", - "100", - "100" - ], - "top_surface_pattern": "monotonicline", - "top_surface_speed": [ - "150", - "200", - "150", - "150" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Balanced Quality @BBL X2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP230", + "instantiation": "true", + "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", + "bridge_speed": [ + "30", + "50", + "30", + "30" + ], + "default_acceleration": [ + "10000", + "8000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "50", + "250", + "50", + "50" + ], + "initial_layer_infill_speed": [ + "55", + "105", + "55", + "55" + ], + "initial_layer_speed": [ + "35", + "50", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "150", + "150" + ], + "outer_wall_speed": [ + "200", + "200", + "50", + "50" + ], + "overhang_3_4_speed": [ + "15", + "30", + "25", + "25" + ], + "overhang_4_4_speed": [ + "10", + "10", + "5", + "5" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "sparse_infill_speed": [ + "270", + "600", + "100", + "100" + ], + "top_surface_pattern": "monotonicline", + "top_surface_speed": [ + "150", + "200", + "150", + "150" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json index 512bd79982..4b9b3c263c 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2C 0.8 nozzle.json @@ -1,93 +1,93 @@ { - "type": "process", - "name": "0.32mm Balanced Strength @BBL H2C 0.8 nozzle", - "inherits": "fdm_process_dual_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP257", - "instantiation": "true", - "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Balanced Strength @BBL H2C 0.8 nozzle", + "inherits": "fdm_process_dual_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP257", + "instantiation": "true", + "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json index a108887ebf..41901a7069 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json @@ -1,92 +1,93 @@ { - "type": "process", - "name": "0.32mm Balanced Strength @BBL H2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP149", - "instantiation": "true", - "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Balanced Strength @BBL H2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP149", + "instantiation": "true", + "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2DP 0.8 nozzle.json index f276560d67..af06eed31e 100644 --- a/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Balanced Strength @BBL H2DP 0.8 nozzle.json @@ -1,92 +1,92 @@ { - "type": "process", - "name": "0.32mm Balanced Strength @BBL H2DP 0.8 nozzle", - "inherits": "fdm_process_dual_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP145", - "instantiation": "true", - "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Balanced Strength @BBL H2DP 0.8 nozzle", + "inherits": "fdm_process_dual_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP145", + "instantiation": "true", + "description": "Strength profile for 0.8mm nozzle, prioritizing strength.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json index 06c01c966c..3e3dd51698 100644 --- a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.32mm Optimal @BBL A1 0.8 nozzle", - "inherits": "fdm_process_single_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP093", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Optimal @BBL A1 0.8 nozzle", + "inherits": "fdm_process_single_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP093", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json index 7ca6b47420..883bc8c2ef 100644 --- a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.32mm Optimal @BBL A1M 0.8 nozzle", - "inherits": "fdm_process_single_0.32_nozzle_0.8", - "from": "system", - "setting_id": "GP058", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "process", + "name": "0.32mm Optimal @BBL A1M 0.8 nozzle", + "inherits": "fdm_process_single_0.32_nozzle_0.8", + "from": "system", + "setting_id": "GP058", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json index 84d042d8b0..d3448ba1d6 100644 --- a/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json index b8f052e179..8f195d7dbe 100644 --- a/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json index 40deac5ead..73abfd9df9 100644 --- a/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.36mm Draft @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.36_nozzle_0.6", - "from": "system", - "setting_id": "GP090", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.36mm Draft @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.36_nozzle_0.6", + "from": "system", + "setting_id": "GP090", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json index 0b1a9b9cd8..3ced1815f0 100644 --- a/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.36mm Draft @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.36_nozzle_0.6", - "from": "system", - "setting_id": "GP055", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.36mm Draft @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.36_nozzle_0.6", + "from": "system", + "setting_id": "GP055", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json index 6a34e7b93b..6774911b11 100644 --- a/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json index bdae37307f..853ec7ef95 100644 --- a/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json index 0030d939a1..7cfc16647b 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.40mm Standard @BBL A1 0.8 nozzle", - "inherits": "fdm_process_single_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP098", - "instantiation": "true", - "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL A1 0.8 nozzle", + "inherits": "fdm_process_single_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP098", + "instantiation": "true", + "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL A1M 0.8 nozzle.json index 175ba969eb..7d5a5e2f8a 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL A1M 0.8 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.40mm Standard @BBL A1M 0.8 nozzle", - "inherits": "fdm_process_single_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP037", - "instantiation": "true", - "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL A1M 0.8 nozzle", + "inherits": "fdm_process_single_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP037", + "instantiation": "true", + "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL A2L 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL A2L 0.8 nozzle.json index c0af67dba9..14352053a6 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL A2L 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL A2L 0.8 nozzle.json @@ -9,7 +9,7 @@ "default_acceleration": [ "6000" ], - "elefant_foot_compensation": "0.075", + "elefant_foot_compensation": "0.15", "enable_arc_fitting": "0", "enable_height_slowdown": [ "1" @@ -21,7 +21,6 @@ "slowdown_end_height": [ "225" ], - "smooth_coefficient": "4", "travel_acceleration": [ "8000" ], diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL H2C 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL H2C 0.8 nozzle.json index 535f1f1a2f..c95e58755b 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL H2C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL H2C 0.8 nozzle.json @@ -1,82 +1,82 @@ { - "type": "process", - "name": "0.40mm Standard @BBL H2C 0.8 nozzle", - "inherits": "fdm_process_dual_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP258", - "instantiation": "true", - "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "enable_tower_interface_features": "1", - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "600", - "300", - "600" - ], - "internal_solid_infill_speed": [ - "250", - "600", - "250", - "600" - ], - "outer_wall_speed": [ - "200", - "500", - "200", - "500" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "top_shell_layers": "4", - "compatible_printers": [ - "Bambu Lab H2C 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL H2C 0.8 nozzle", + "inherits": "fdm_process_dual_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP258", + "instantiation": "true", + "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "600", + "300", + "600" + ], + "internal_solid_infill_speed": [ + "250", + "600", + "250", + "600" + ], + "outer_wall_speed": [ + "200", + "500", + "200", + "500" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "top_shell_layers": "4", + "compatible_printers": [ + "Bambu Lab H2C 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL H2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL H2D 0.8 nozzle.json index 3766a598a9..13b605e998 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL H2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL H2D 0.8 nozzle.json @@ -1,92 +1,93 @@ { - "type": "process", - "name": "0.40mm Standard @BBL H2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP126", - "instantiation": "true", - "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_brim_width": "-1", - "prime_tower_width": "60", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL H2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP126", + "instantiation": "true", + "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "enable_tower_interface_features": "1", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_brim_width": "-1", + "prime_tower_width": "60", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL H2DP 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL H2DP 0.8 nozzle.json index 57ba9e85b0..47f003e5cf 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL H2DP 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL H2DP 0.8 nozzle.json @@ -1,92 +1,92 @@ { - "type": "process", - "name": "0.40mm Standard @BBL H2DP 0.8 nozzle", - "inherits": "fdm_process_dual_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP147", - "instantiation": "true", - "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", - "bridge_speed": [ - "50", - "50", - "50", - "50" - ], - "default_acceleration": [ - "8000", - "8000", - "8000", - "8000" - ], - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "50", - "50", - "50", - "50" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "300", - "250", - "300" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "outer_wall_speed": [ - "200", - "200", - "200", - "200" - ], - "overhang_3_4_speed": [ - "30", - "30", - "30", - "30" - ], - "overhang_4_4_speed": [ - "10", - "10", - "10", - "10" - ], - "prime_tower_width": "60", - "prime_tower_brim_width": "-1", - "sparse_infill_speed": [ - "350", - "600", - "350", - "600" - ], - "top_surface_speed": [ - "200", - "200", - "200", - "200" - ], - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab H2D Pro 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL H2DP 0.8 nozzle", + "inherits": "fdm_process_dual_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP147", + "instantiation": "true", + "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", + "bridge_speed": [ + "50", + "50", + "50", + "50" + ], + "default_acceleration": [ + "8000", + "8000", + "8000", + "8000" + ], + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "50", + "50", + "50", + "50" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "300", + "250", + "300" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "outer_wall_speed": [ + "200", + "200", + "200", + "200" + ], + "overhang_3_4_speed": [ + "30", + "30", + "30", + "30" + ], + "overhang_4_4_speed": [ + "10", + "10", + "10", + "10" + ], + "prime_tower_width": "60", + "prime_tower_brim_width": "-1", + "sparse_infill_speed": [ + "350", + "600", + "350", + "600" + ], + "top_surface_speed": [ + "200", + "200", + "200", + "200" + ], + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab H2D Pro 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL H2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL H2S 0.8 nozzle.json index 2c4d4b26e5..8fd37314df 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL H2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL H2S 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "105", - "105" - ], "initial_layer_speed": [ "50", "50" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "300", "600" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "30", - "30" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "10", - "10" + "initial_layer_infill_speed": [ + "105", + "105" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "500" ], "outer_wall_acceleration": [ "5000", @@ -75,16 +71,16 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "500" + "overhang_3_4_speed": [ + "30", + "30" ], - "overhang_totally_speed": [ + "overhang_4_4_speed": [ "10", "10" ], - "prime_tower_flat_ironing": "1", "prime_tower_width": "60", + "prime_tower_flat_ironing": "1", "print_extruder_id": [ "1", "1" @@ -97,17 +93,9 @@ "350", "600" ], - "small_perimeter_speed": [ - "50%", - "50%" - ], - "small_perimeter_threshold": [ - "0", - "0" - ], - "sparse_infill_acceleration": [ - "100%", - "100%" + "support_interface_speed": [ + "80", + "80" ], "support_speed": [ "150", @@ -137,19 +125,39 @@ "100000", "100000" ], - "support_interface_speed": [ - "80", - "80" + "small_perimeter_speed": [ + "50%", + "50%" ], - "smooth_coefficient": "4", - "travel_speed": [ - "1000", - "1000" + "small_perimeter_threshold": [ + "0", + "0" ], + "sparse_infill_acceleration": [ + "100%", + "100%" + ], + "top_shell_layers": "4", "top_surface_speed": [ "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -158,14 +166,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab H2S 0.8 nozzle" ] diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json index 74ab7c414e..f7926a63c8 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL P2S 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL P2S 0.8 nozzle.json index e1fe009797..d3aaa84887 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL P2S 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL P2S 0.8 nozzle.json @@ -6,12 +6,10 @@ "setting_id": "GP157", "instantiation": "true", "description": "Standard profile for 0.8mm nozzle, prioritizing speed.", - "bottom_surface_pattern": "monotonicline", "bridge_speed": [ "30", "30" ], - "enable_arc_fitting": "0", "default_acceleration": [ "10000", "10000" @@ -29,6 +27,10 @@ "50", "50" ], + "initial_layer_speed": [ + "35", + "35" + ], "inner_wall_speed": [ "300", "600" @@ -37,34 +39,22 @@ "250", "600" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], - "initial_layer_speed": [ - "35", - "35" + "initial_layer_travel_acceleration": [ + "6000", + "6000" ], "initial_layer_acceleration": [ "500", "500" ], + "initial_layer_infill_speed": [ + "55", + "55" + ], "inner_wall_acceleration": [ "0", "0" ], - "initial_layer_travel_acceleration": [ - "6000", - "6000" - ], - "overhang_3_4_speed": [ - "15", - "15" - ], - "overhang_4_4_speed": [ - "10", - "10" - ], "outer_wall_speed": [ "200", "500" @@ -81,7 +71,11 @@ "50", "50" ], - "overhang_totally_speed": [ + "overhang_3_4_speed": [ + "15", + "15" + ], + "overhang_4_4_speed": [ "10", "10" ], @@ -93,11 +87,19 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "4", + "prime_tower_flat_ironing": "1", "sparse_infill_speed": [ "270", "600" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -134,22 +136,27 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], - "travel_speed": [ - "600", - "600" - ], + "top_surface_pattern": "monotonicline", "top_surface_speed": [ "150", "150" ], + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" + ], + "travel_speed": [ + "1000", + "1000" + ], "top_surface_acceleration": [ "2000", "2000" @@ -158,14 +165,11 @@ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "compatible_printers": [ "Bambu Lab P2S 0.8 nozzle" ] diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json index ce865a363b..3fe093f4f7 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json index 8777997db3..a032a0ce4d 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL X2D 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL X2D 0.8 nozzle.json index 43b4034653..e40e7677f1 100644 --- a/resources/profiles/BBL/process/0.40mm Standard @BBL X2D 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.40mm Standard @BBL X2D 0.8 nozzle.json @@ -1,81 +1,81 @@ { - "type": "process", - "name": "0.40mm Standard @BBL X2D 0.8 nozzle", - "inherits": "fdm_process_dual_0.40_nozzle_0.8", - "from": "system", - "setting_id": "GP150", - "instantiation": "true", - "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", - "default_acceleration": [ - "10000", - "10000", - "4000", - "4000" - ], - "enable_tower_interface_features": "1", - "initial_layer_speed": [ - "35", - "35", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "600", - "150", - "150" - ], - "internal_solid_infill_speed": [ - "250", - "600", - "150", - "150" - ], - "outer_wall_acceleration": [ - "5000", - "5000", - "4000", - "4000" - ], - "outer_wall_speed": [ - "200", - "500", - "50", - "50" - ], - "overhang_3_4_speed": [ - "15", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "10", - "5", - "5", - "5" - ], - "prime_tower_brim_width": "-1", - "print_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow", - "Bowden Standard", - "Bowden High Flow" - ], - "sparse_infill_speed": [ - "270", - "600", - "100", - "100" - ], - "top_surface_pattern": "monotonicline", - "travel_speed": [ - "1000", - "1000", - "1000", - "1000" - ], - "compatible_printers": [ - "Bambu Lab X2D 0.8 nozzle" - ] -} + "type": "process", + "name": "0.40mm Standard @BBL X2D 0.8 nozzle", + "inherits": "fdm_process_dual_0.40_nozzle_0.8", + "from": "system", + "setting_id": "GP150", + "instantiation": "true", + "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", + "default_acceleration": [ + "10000", + "10000", + "4000", + "4000" + ], + "enable_tower_interface_features": "1", + "initial_layer_speed": [ + "35", + "35", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "600", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "250", + "600", + "150", + "150" + ], + "outer_wall_acceleration": [ + "5000", + "5000", + "4000", + "4000" + ], + "outer_wall_speed": [ + "200", + "500", + "50", + "50" + ], + "overhang_3_4_speed": [ + "15", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "10", + "5", + "5", + "5" + ], + "prime_tower_brim_width": "-1", + "print_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow", + "Bowden Standard", + "Bowden High Flow" + ], + "sparse_infill_speed": [ + "270", + "600", + "100", + "100" + ], + "top_surface_pattern": "monotonicline", + "travel_speed": [ + "1000", + "1000", + "1000", + "1000" + ], + "compatible_printers": [ + "Bambu Lab X2D 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json index 5ec42977f7..9a1a12c2d5 100644 --- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.42mm Extra Draft @BBL A1 0.6 nozzle", - "inherits": "fdm_process_single_0.42_nozzle_0.6", - "from": "system", - "setting_id": "GP091", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.6 nozzle" - ] -} + "type": "process", + "name": "0.42mm Extra Draft @BBL A1 0.6 nozzle", + "inherits": "fdm_process_single_0.42_nozzle_0.6", + "from": "system", + "setting_id": "GP091", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json index a47a365981..995e7946b1 100644 --- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.42mm Extra Draft @BBL A1M 0.6 nozzle", - "inherits": "fdm_process_single_0.42_nozzle_0.6", - "from": "system", - "setting_id": "GP056", - "instantiation": "true", - "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.6 nozzle" - ] -} + "type": "process", + "name": "0.42mm Extra Draft @BBL A1M 0.6 nozzle", + "inherits": "fdm_process_single_0.42_nozzle_0.6", + "from": "system", + "setting_id": "GP056", + "instantiation": "true", + "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json index 54d9bb8666..7179f43bd6 100644 --- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json index f136450576..7b0306c0af 100644 --- a/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json +++ b/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,9 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "15", - "15" + "initial_layer_acceleration": [ + "500", + "500" + ], + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -71,18 +71,14 @@ "50", "50" ], + "overhang_3_4_speed": [ + "15", + "15" + ], "overhang_4_4_speed": [ "10", "10" ], - "outer_wall_speed": [ - "120", - "120" - ], - "overhang_totally_speed": [ - "10", - "10" - ], "print_extruder_id": [ "1", "1" @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json index 2131a39875..4e46c6aa0b 100644 --- a/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.48mm Draft @BBL A1 0.8 nozzle", - "inherits": "fdm_process_single_0.48_nozzle_0.8", - "from": "system", - "setting_id": "GP094", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "process", + "name": "0.48mm Draft @BBL A1 0.8 nozzle", + "inherits": "fdm_process_single_0.48_nozzle_0.8", + "from": "system", + "setting_id": "GP094", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json index 0f059c59b2..cd95a8ce15 100644 --- a/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.48mm Draft @BBL A1M 0.8 nozzle", - "inherits": "fdm_process_single_0.48_nozzle_0.8", - "from": "system", - "setting_id": "GP059", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "process", + "name": "0.48mm Draft @BBL A1M 0.8 nozzle", + "inherits": "fdm_process_single_0.48_nozzle_0.8", + "from": "system", + "setting_id": "GP059", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json index 31ede55d0c..aad6cf2dfd 100644 --- a/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json index 62122ff25d..f620fea934 100644 --- a/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json index 1114b908fa..bb2888bdd0 100644 --- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json @@ -1,19 +1,19 @@ { - "type": "process", - "name": "0.56mm Extra Draft @BBL A1 0.8 nozzle", - "inherits": "fdm_process_single_0.56_nozzle_0.8", - "from": "system", - "setting_id": "GP095", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "elefant_foot_compensation": "0.075", - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 0.8 nozzle" - ] -} + "type": "process", + "name": "0.56mm Extra Draft @BBL A1 0.8 nozzle", + "inherits": "fdm_process_single_0.56_nozzle_0.8", + "from": "system", + "setting_id": "GP095", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "elefant_foot_compensation": "0.075", + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json index c2b0a10848..0ab9ba9245 100644 --- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json @@ -1,18 +1,18 @@ { - "type": "process", - "name": "0.56mm Extra Draft @BBL A1M 0.8 nozzle", - "inherits": "fdm_process_single_0.56_nozzle_0.8", - "from": "system", - "setting_id": "GP060", - "instantiation": "true", - "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", - "default_acceleration": [ - "6000" - ], - "travel_speed": [ - "700" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.8 nozzle" - ] -} + "type": "process", + "name": "0.56mm Extra Draft @BBL A1M 0.8 nozzle", + "inherits": "fdm_process_single_0.56_nozzle_0.8", + "from": "system", + "setting_id": "GP060", + "instantiation": "true", + "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", + "default_acceleration": [ + "6000" + ], + "travel_speed": [ + "700" + ], + "compatible_printers": [ + "Bambu Lab A1 mini 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json index e98fa844d7..538a4ea1e6 100644 --- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -95,6 +91,14 @@ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -131,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json index 255af5a125..10244b33ba 100644 --- a/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json @@ -27,22 +27,10 @@ "50", "50" ], - "initial_layer_infill_speed": [ - "55", - "55" - ], "initial_layer_speed": [ "35", "35" ], - "initial_layer_acceleration": [ - "500", - "500" - ], - "inner_wall_acceleration": [ - "0", - "0" - ], "inner_wall_speed": [ "150", "150" @@ -55,13 +43,21 @@ "6000", "6000" ], - "overhang_3_4_speed": [ - "25", - "25" + "initial_layer_acceleration": [ + "500", + "500" ], - "overhang_4_4_speed": [ - "5", - "5" + "initial_layer_infill_speed": [ + "55", + "55" + ], + "inner_wall_acceleration": [ + "0", + "0" + ], + "outer_wall_speed": [ + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -75,13 +71,13 @@ "50", "50" ], - "outer_wall_speed": [ - "120", - "120" + "overhang_3_4_speed": [ + "25", + "25" ], - "overhang_totally_speed": [ - "10", - "10" + "overhang_4_4_speed": [ + "5", + "5" ], "print_extruder_id": [ "1", @@ -91,11 +87,18 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "smooth_coefficient": "150", "sparse_infill_speed": [ "100", "100" ], + "support_interface_speed": [ + "80", + "80" + ], + "support_speed": [ + "150", + "150" + ], "slowdown_start_height": [ "0", "0" @@ -132,34 +135,34 @@ "100%", "100%" ], - "support_speed": [ - "150", - "150" - ], - "support_interface_speed": [ - "80", - "80" - ], "top_surface_speed": [ "150", "150" ], - "top_surface_acceleration": [ - "2000", - "2000" + "top_solid_infill_flow_ratio": [ + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250" ], "travel_speed": [ "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000" + ], "travel_speed_z": [ "0", "0" ], - "travel_acceleration": [ - "10000", - "10000" - ], "vertical_shell_speed": [ "80%", "80%" diff --git a/resources/profiles/BBL/process/fdm_process_common.json b/resources/profiles/BBL/process/fdm_process_common.json index 6f715882cc..ecb2956698 100644 --- a/resources/profiles/BBL/process/fdm_process_common.json +++ b/resources/profiles/BBL/process/fdm_process_common.json @@ -3,11 +3,11 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "bottom_shell_layers": "3", "bottom_color_penetration_layers": "3", "bottom_shell_thickness": "0", "bottom_surface_pattern": "monotonic", + "bottom_surface_density": "100", "bridge_flow": "0.95", "bridge_no_support": "0", "bridge_speed": [ @@ -37,7 +37,9 @@ "infill_combination": "0", "infill_direction": "45", "infill_wall_overlap": "15%", + "monotonic_travel_into_wall": "0.0", "initial_layer_line_width": "0.5", + "initial_layer_infill_line_width": "0.5", "initial_layer_print_height": "0.2", "initial_layer_speed": [ "20" @@ -47,7 +49,6 @@ "40" ], "interface_shells": "0", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": [ "40" @@ -71,15 +72,13 @@ "locked_skeleton_infill_pattern": "zigzag", "max_bridge_length": "0", "max_travel_detour_distance": "0", + "avoid_crossing_wall_includes_support": "0", "minimum_sparse_infill_area": "15", "only_one_wall_top": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": [ "120" ], - "overhang_totally_speed": [ - "10" - ], "override_filament_scarf_seam_setting": "0", "pre_start_fan_time": [ "0" @@ -93,27 +92,26 @@ "prime_tower_lift_height": "-1", "prime_tower_max_speed": "90", "prime_tower_flat_ironing": "0", - "enable_tower_interface_features": "0", - "enable_tower_interface_cooldown_during_tower": "0", "raft_layers": "0", "reduce_crossing_wall": "0", - "reduce_infill_retraction": "1", + "reduce_infill_retraction_mode": "Auto", "resolution": "0.012", "scarf_angle_threshold": "155", "seam_position": "aligned", "seam_placement_away_from_overhangs": "0", "skirt_distance": "2", + "skirt_per_object": "1", "skirt_height": "1", "skirt_loops": "0", - "smooth_coefficient": "80", "sparse_infill_density": "15%", + "fill_multiline": "1", "skeleton_infill_density": "15%", "skin_infill_density": "15%", "sparse_infill_line_width": "0.45", "skin_infill_line_width": "0.45", "skin_infill_depth": "2.0", "skeleton_infill_line_width": "0.45", - "sparse_infill_pattern": "crosshatch", + "sparse_infill_pattern": "grid", "sparse_infill_speed": [ "50" ], @@ -143,33 +141,63 @@ "support_threshold_angle": "30", "support_top_z_distance": "0.2", "support_type": "tree(auto)", + "enable_support_ironing": "0", + "support_ironing_pattern": "zig-zag", + "support_ironing_speed": "30", + "support_ironing_flow": "10%", + "support_ironing_spacing": "0.15", + "support_ironing_inset": "0.0", + "support_ironing_direction": "0", "seam_slope_type": "none", "seam_slope_start_height": "10%", "seam_slope_gap": "0", "seam_slope_min_length": "10", "symmetric_infill_y_axis": "0", + "sparse_infill_lattice_angle_1": "-45", + "sparse_infill_lattice_angle_2": "45", "top_shell_layers": "3", "top_color_penetration_layers": "3", "top_shell_thickness": "0.8", "top_surface_line_width": "0.42", "top_surface_pattern": "monotonicline", + "top_surface_density": "100", "top_surface_speed": [ "30" ], + "top_solid_infill_flow_ratio": [ + "1" + ], "travel_acceleration": [ "10000" ], + "travel_short_distance_acceleration": [ + "250" + ], "travel_speed": [ "400" ], "tree_support_branch_angle": "45", "tree_support_branch_diameter": "2", - "tree_support_wall_count": "0", + "tree_support_wall_count": "-1", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", "wipe_tower_no_sparse_layers": "0", "xy_contour_compensation": "0", "xy_hole_compensation": "0", - "z_direction_outwall_speed_continuous": "0" + "z_direction_outwall_speed_continuous": "0", + "enable_tower_interface_features": "0", + "sparse_infill_filament": "0", + "wall_filament": "0", + "solid_infill_filament": "0", + "infill_instead_top_bottom_surfaces": "0", + "fuzzy_skin": "none", + "fuzzy_skin_thickness": "0.3", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_mode": "displacement", + "fuzzy_skin_scale": "1.0", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5" } diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.06_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_dual_0.06_nozzle_0.2.json index 466b5f3a11..de31d5a7d4 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.06_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.06_nozzle_0.2.json @@ -1,53 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.06_nozzle_0.2", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70" - ], - "layer_height": "0.06", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.06", - "support_line_width": "0.22", - "support_top_z_distance": "0.06", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_dual_0.06_nozzle_0.2", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70" + ], + "layer_height": "0.06", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.06", + "support_line_width": "0.22", + "support_top_z_distance": "0.06", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.2.json index 512a0e6c7d..10a7c041b2 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.2.json @@ -1,53 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.08_nozzle_0.2", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70" - ], - "layer_height": "0.08", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.08", - "support_line_width": "0.22", - "support_top_z_distance": "0.08", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_dual_0.08_nozzle_0.2", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70" + ], + "layer_height": "0.08", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.08", + "support_line_width": "0.22", + "support_top_z_distance": "0.08", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.4.json index 609bfd598f..8484f99833 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.08_nozzle_0.4.json @@ -1,55 +1,55 @@ { - "type": "process", - "name": "fdm_process_dual_0.08_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "7", - "bottom_color_penetration_layers": "7", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "ironing_flow": "8%", - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "layer_height": "0.08", - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "support_bottom_z_distance": "0.08", - "support_threshold_angle": "15", - "support_top_z_distance": "0.08", - "top_shell_layers": "9", - "top_color_penetration_layers": "9", - "top_shell_thickness": "1.0" -} + "type": "process", + "name": "fdm_process_dual_0.08_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "7", + "bottom_color_penetration_layers": "7", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "ironing_flow": "8%", + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "layer_height": "0.08", + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "support_bottom_z_distance": "0.08", + "support_threshold_angle": "15", + "support_top_z_distance": "0.08", + "top_shell_layers": "9", + "top_color_penetration_layers": "9", + "top_shell_thickness": "1.0" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.10_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_dual_0.10_nozzle_0.2.json index a39481dde0..dd333ca246 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.10_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.10_nozzle_0.2.json @@ -1,53 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.10_nozzle_0.2", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70" - ], - "layer_height": "0.1", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.1", - "support_line_width": "0.22", - "support_top_z_distance": "0.1", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_dual_0.10_nozzle_0.2", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70" + ], + "layer_height": "0.1", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.1", + "support_line_width": "0.22", + "support_top_z_distance": "0.1", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.2.json index 58ad34feff..cc9f8b2012 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.2.json @@ -1,53 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.12_nozzle_0.2", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70" - ], - "layer_height": "0.12", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.12", - "support_line_width": "0.22", - "support_top_z_distance": "0.12", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_dual_0.12_nozzle_0.2", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70" + ], + "layer_height": "0.12", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.12", + "support_line_width": "0.22", + "support_top_z_distance": "0.12", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.4.json index 60ee09e135..63b4fd4eb5 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.12_nozzle_0.4.json @@ -1,54 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.12_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "layer_height": "0.12", - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "support_bottom_z_distance": "0.12", - "support_threshold_angle": "20", - "support_top_z_distance": "0.12", - "top_shell_layers": "5", - "top_color_penetration_layers": "5", - "top_shell_thickness": "0.6" -} + "type": "process", + "name": "fdm_process_dual_0.12_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "layer_height": "0.12", + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "support_bottom_z_distance": "0.12", + "support_threshold_angle": "20", + "support_top_z_distance": "0.12", + "top_shell_layers": "5", + "top_color_penetration_layers": "5", + "top_shell_thickness": "0.6" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.14_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_dual_0.14_nozzle_0.2.json index 8e4e1c88c3..c1475f0de9 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.14_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.14_nozzle_0.2.json @@ -1,53 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.14_nozzle_0.2", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "initial_layer_infill_speed": [ - "70", - "70", - "70", - "70" - ], - "layer_height": "0.14", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.14", - "support_line_width": "0.22", - "support_top_z_distance": "0.14", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_dual_0.14_nozzle_0.2", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "initial_layer_infill_speed": [ + "70", + "70", + "70", + "70" + ], + "layer_height": "0.14", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.14", + "support_line_width": "0.22", + "support_top_z_distance": "0.14", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.16_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.16_nozzle_0.4.json index 227709be64..e898f696ba 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.16_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.16_nozzle_0.4.json @@ -1,54 +1,54 @@ { - "type": "process", - "name": "fdm_process_dual_0.16_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "4", - "bottom_color_penetration_layers": "4", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "layer_height": "0.16", - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "support_bottom_z_distance": "0.16", - "support_threshold_angle": "25", - "support_top_z_distance": "0.16", - "top_shell_layers": "6", - "top_color_penetration_layers": "6", - "top_shell_thickness": "1.0" -} + "type": "process", + "name": "fdm_process_dual_0.16_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "4", + "bottom_color_penetration_layers": "4", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "layer_height": "0.16", + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "support_bottom_z_distance": "0.16", + "support_threshold_angle": "25", + "support_top_z_distance": "0.16", + "top_shell_layers": "6", + "top_color_penetration_layers": "6", + "top_shell_thickness": "1.0" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.18_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_dual_0.18_nozzle_0.6.json index 0bb23d17ef..cd7d35631f 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.18_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.18_nozzle_0.6.json @@ -1,60 +1,61 @@ { - "type": "process", - "name": "fdm_process_dual_0.18_nozzle_0.6", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.18", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15", - "15", - "15", - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_bottom_z_distance": "0.18", - "support_line_width": "0.62", - "support_top_z_distance": "0.18", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.18_nozzle_0.6", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.18", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_bottom_z_distance": "0.18", + "support_line_width": "0.62", + "support_top_z_distance": "0.18", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.20_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.20_nozzle_0.4.json index c05b0d9b98..32599695e7 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.20_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.20_nozzle_0.4.json @@ -1,48 +1,48 @@ { - "type": "process", - "name": "fdm_process_dual_0.20_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "top_shell_layers": "5", - "top_color_penetration_layers": "5", - "top_shell_thickness": "1.0" -} + "type": "process", + "name": "fdm_process_dual_0.20_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "top_shell_layers": "5", + "top_color_penetration_layers": "5", + "top_shell_thickness": "1.0" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.4.json index 5538af711f..4348c147ac 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.4.json @@ -1,51 +1,51 @@ { - "type": "process", - "name": "fdm_process_dual_0.24_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "layer_height": "0.24", - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "support_threshold_angle": "35", - "top_shell_layers": "4", - "top_color_penetration_layers": "4", - "top_shell_thickness": "1.0", - "top_surface_line_width": "0.45" -} + "type": "process", + "name": "fdm_process_dual_0.24_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "layer_height": "0.24", + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "support_threshold_angle": "35", + "top_shell_layers": "4", + "top_color_penetration_layers": "4", + "top_shell_thickness": "1.0", + "top_surface_line_width": "0.45" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.6.json index a0cd2198dd..9c46eec3bd 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.6.json @@ -1,58 +1,59 @@ { - "type": "process", - "name": "fdm_process_dual_0.24_nozzle_0.6", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.24", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15", - "15", - "15", - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.24_nozzle_0.6", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.24", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.8.json index 2fe366bb68..cf20548536 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.24_nozzle_0.8.json @@ -1,65 +1,66 @@ { - "type": "process", - "name": "fdm_process_dual_0.24_nozzle_0.8", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.24", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "5", - "5", - "5", - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.24_nozzle_0.8", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.24", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "5", + "5", + "5", + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.28_nozzle_0.4.json b/resources/profiles/BBL/process/fdm_process_dual_0.28_nozzle_0.4.json index d1b065987b..1124d1fb2c 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.28_nozzle_0.4.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.28_nozzle_0.4.json @@ -1,51 +1,51 @@ { - "type": "process", - "name": "fdm_process_dual_0.28_nozzle_0.4", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_speed": [ - "300", - "300", - "300", - "300" - ], - "internal_solid_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "initial_layer_infill_speed": [ - "105", - "105", - "105", - "105" - ], - "layer_height": "0.28", - "sparse_infill_speed": [ - "270", - "270", - "270", - "270" - ], - "support_threshold_angle": "40", - "top_shell_layers": "4", - "top_color_penetration_layers": "4", - "top_shell_thickness": "1.0", - "top_surface_line_width": "0.45" -} + "type": "process", + "name": "fdm_process_dual_0.28_nozzle_0.4", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_speed": [ + "300", + "300", + "300", + "300" + ], + "internal_solid_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "initial_layer_infill_speed": [ + "105", + "105", + "105", + "105" + ], + "layer_height": "0.28", + "sparse_infill_speed": [ + "270", + "270", + "270", + "270" + ], + "support_threshold_angle": "40", + "top_shell_layers": "4", + "top_color_penetration_layers": "4", + "top_shell_thickness": "1.0", + "top_surface_line_width": "0.45" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.30_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_dual_0.30_nozzle_0.6.json index 3af15e170f..b5c048e4bb 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.30_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.30_nozzle_0.6.json @@ -1,58 +1,59 @@ { - "type": "process", - "name": "fdm_process_dual_0.30_nozzle_0.6", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.3", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15", - "15", - "15", - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.30_nozzle_0.6", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.3", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.32_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_dual_0.32_nozzle_0.8.json index 96f62ed044..1ada2fc45e 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.32_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.32_nozzle_0.8.json @@ -1,65 +1,66 @@ { - "type": "process", - "name": "fdm_process_dual_0.32_nozzle_0.8", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.32", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "5", - "5", - "5", - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.32_nozzle_0.8", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.32", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "5", + "5", + "5", + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.36_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_dual_0.36_nozzle_0.6.json index 322c77e321..2540101cac 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.36_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.36_nozzle_0.6.json @@ -1,58 +1,59 @@ { - "type": "process", - "name": "fdm_process_dual_0.36_nozzle_0.6", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.36", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15", - "15", - "15", - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.36_nozzle_0.6", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.36", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.40_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_dual_0.40_nozzle_0.8.json index b99854bb45..6cb42b32ed 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.40_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.40_nozzle_0.8.json @@ -1,65 +1,66 @@ { - "type": "process", - "name": "fdm_process_dual_0.40_nozzle_0.8", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.4", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "5", - "5", - "5", - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.40_nozzle_0.8", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.4", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "5", + "5", + "5", + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.42_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_dual_0.42_nozzle_0.6.json index 398536fea8..fc0050582d 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.42_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.42_nozzle_0.6.json @@ -1,58 +1,59 @@ { - "type": "process", - "name": "fdm_process_dual_0.42_nozzle_0.6", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.42", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15", - "15", - "15", - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.42_nozzle_0.6", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.42", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15", + "15", + "15", + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.48_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_dual_0.48_nozzle_0.8.json index 27bc5afa0e..74c6d15c86 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.48_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.48_nozzle_0.8.json @@ -1,65 +1,66 @@ { - "type": "process", - "name": "fdm_process_dual_0.48_nozzle_0.8", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.48", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "5", - "5", - "5", - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.48_nozzle_0.8", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.48", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "5", + "5", + "5", + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_0.56_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_dual_0.56_nozzle_0.8.json index 6837c965f4..8792ef84e8 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_0.56_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_dual_0.56_nozzle_0.8.json @@ -1,65 +1,66 @@ { - "type": "process", - "name": "fdm_process_dual_0.56_nozzle_0.8", - "inherits": "fdm_process_dual_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30", - "30", - "30", - "30" - ], - "elefant_foot_compensation": "0.15", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "20", - "20", - "20", - "20" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "initial_layer_infill_speed": [ - "55", - "55", - "55", - "55" - ], - "layer_height": "0.56", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25", - "25", - "25", - "25" - ], - "overhang_4_4_speed": [ - "5", - "5", - "5", - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100", - "100", - "100", - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150", - "150", - "150", - "150" - ] -} + "type": "process", + "name": "fdm_process_dual_0.56_nozzle_0.8", + "inherits": "fdm_process_dual_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30", + "30", + "30", + "30" + ], + "elefant_foot_compensation": "0.15", + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "20", + "20", + "20", + "20" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "initial_layer_infill_speed": [ + "55", + "55", + "55", + "55" + ], + "layer_height": "0.56", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25", + "25", + "25", + "25" + ], + "overhang_4_4_speed": [ + "5", + "5", + "5", + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100", + "100", + "100", + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150", + "150", + "150", + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_dual_common.json b/resources/profiles/BBL/process/fdm_process_dual_common.json index 95a58bfb78..1508b7620a 100644 --- a/resources/profiles/BBL/process/fdm_process_dual_common.json +++ b/resources/profiles/BBL/process/fdm_process_dual_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "enable_wrapping_detection": "0", "bridge_speed": [ "50", "50", @@ -35,6 +34,24 @@ "50", "50" ], + "initial_layer_speed": [ + "30", + "30", + "30", + "30" + ], + "inner_wall_speed": [ + "150", + "150", + "150", + "150" + ], + "internal_solid_infill_speed": [ + "150", + "150", + "150", + "150" + ], "initial_layer_travel_acceleration": [ "6000", "6000", @@ -53,29 +70,17 @@ "60", "60" ], - "initial_layer_speed": [ - "30", - "30", - "30", - "30" - ], "inner_wall_acceleration": [ "0", "0", "0", "0" ], - "inner_wall_speed": [ - "150", - "150", - "150", - "150" - ], - "internal_solid_infill_speed": [ - "150", - "150", - "150", - "150" + "outer_wall_speed": [ + "120", + "120", + "120", + "120" ], "outer_wall_acceleration": [ "5000", @@ -83,12 +88,6 @@ "5000", "5000" ], - "outer_wall_speed": [ - "120", - "120", - "120", - "120" - ], "overhang_1_4_speed": [ "0", "0", @@ -113,12 +112,7 @@ "10", "10" ], - "overhang_totally_speed": [ - "10", - "10", - "10", - "10" - ], + "prime_tower_flat_ironing": "1", "print_extruder_id": [ "1", "1", @@ -131,7 +125,24 @@ "Direct Drive Standard", "Direct Drive High Flow" ], - "prime_tower_flat_ironing": "1", + "sparse_infill_speed": [ + "250", + "250", + "250", + "250" + ], + "support_interface_speed": [ + "80", + "80", + "80", + "80" + ], + "support_speed": [ + "150", + "150", + "150", + "150" + ], "slowdown_start_height": [ "0", "0", @@ -180,55 +191,48 @@ "0", "0" ], - "smooth_coefficient": "4", "sparse_infill_acceleration": [ "100%", "100%", "100%", "100%" ], - "sparse_infill_speed": [ - "250", - "250", - "250", - "250" - ], - "support_interface_speed": [ - "80", - "80", - "80", - "80" - ], - "support_speed": [ - "150", - "150", - "150", - "150" - ], - "travel_acceleration": [ - "10000", - "10000", - "10000", - "10000" - ], - "top_surface_acceleration": [ - "2000", - "2000", - "2000", - "2000" - ], "top_surface_speed": [ "200", "200", "200", "200" ], + "top_solid_infill_flow_ratio": [ + "1", + "1", + "1", + "1" + ], + "travel_acceleration": [ + "10000", + "10000", + "10000", + "10000" + ], + "travel_short_distance_acceleration": [ + "250", + "250", + "250", + "250" + ], "travel_speed": [ "500", "500", "500", "500" ], + "top_surface_acceleration": [ + "2000", + "2000", + "2000", + "2000" + ], "travel_speed_z": [ "0", "0", @@ -241,5 +245,6 @@ "80%", "80%" ], + "monotonic_travel_into_wall": "45.0", "z_direction_outwall_speed_continuous": "1" } diff --git a/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json index 4c3a6b3404..042c2bda0d 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json @@ -1,40 +1,41 @@ { - "type": "process", - "name": "fdm_process_single_0.06_nozzle_0.2", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "initial_layer_infill_speed": [ - "70" - ], - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "40" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "layer_height": "0.06", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.06", - "support_line_width": "0.22", - "support_top_z_distance": "0.06", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_single_0.06_nozzle_0.2", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "initial_layer_infill_speed": [ + "70" + ], + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "40" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "layer_height": "0.06", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.06", + "support_line_width": "0.22", + "support_top_z_distance": "0.06", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.08.json b/resources/profiles/BBL/process/fdm_process_single_0.08.json index ea4015ae57..416c7556ae 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.08.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.08.json @@ -1,48 +1,48 @@ { - "type": "process", - "name": "fdm_process_single_0.08", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "7", - "bottom_color_penetration_layers": "7", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "350" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "350" - ], - "internal_solid_infill_speed": [ - "350" - ], - "ironing_flow": "8%", - "layer_height": "0.08", - "outer_wall_speed": [ - "200" - ], - "overhang_1_4_speed": [ - "60" - ], - "overhang_2_4_speed": [ - "30" - ], - "overhang_3_4_speed": [ - "10" - ], - "sparse_infill_speed": [ - "450" - ], - "support_bottom_z_distance": "0.08", - "support_threshold_angle": "15", - "support_top_z_distance": "0.08", - "top_shell_layers": "9", - "top_color_penetration_layers": "9" -} + "type": "process", + "name": "fdm_process_single_0.08", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "7", + "bottom_color_penetration_layers": "7", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "350" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "350" + ], + "internal_solid_infill_speed": [ + "350" + ], + "ironing_flow": "8%", + "layer_height": "0.08", + "outer_wall_speed": [ + "200" + ], + "overhang_1_4_speed": [ + "60" + ], + "overhang_2_4_speed": [ + "30" + ], + "overhang_3_4_speed": [ + "10" + ], + "sparse_infill_speed": [ + "450" + ], + "support_bottom_z_distance": "0.08", + "support_threshold_angle": "15", + "support_top_z_distance": "0.08", + "top_shell_layers": "9", + "top_color_penetration_layers": "9" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json index 1ecdb07d2f..ce740cb37d 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json @@ -1,40 +1,41 @@ { - "type": "process", - "name": "fdm_process_single_0.08_nozzle_0.2", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "initial_layer_infill_speed": [ - "70" - ], - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "40" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "layer_height": "0.08", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.08", - "support_line_width": "0.22", - "support_top_z_distance": "0.08", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_single_0.08_nozzle_0.2", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "initial_layer_infill_speed": [ + "70" + ], + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "40" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "layer_height": "0.08", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.08", + "support_line_width": "0.22", + "support_top_z_distance": "0.08", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json index 12a60401c2..a8ff4a3c4f 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json @@ -1,40 +1,41 @@ { - "type": "process", - "name": "fdm_process_single_0.10_nozzle_0.2", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "initial_layer_infill_speed": [ - "70" - ], - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "40" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "layer_height": "0.1", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.1", - "support_line_width": "0.22", - "support_top_z_distance": "0.1", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_single_0.10_nozzle_0.2", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "initial_layer_infill_speed": [ + "70" + ], + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "40" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "layer_height": "0.1", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.1", + "support_line_width": "0.22", + "support_top_z_distance": "0.1", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.12.json b/resources/profiles/BBL/process/fdm_process_single_0.12.json index 352389dd4c..b418f09dd2 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.12.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.12.json @@ -1,48 +1,48 @@ { - "type": "process", - "name": "fdm_process_single_0.12", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "350" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "350" - ], - "internal_solid_infill_speed": [ - "350" - ], - "layer_height": "0.12", - "outer_wall_speed": [ - "200" - ], - "overhang_1_4_speed": [ - "60" - ], - "overhang_2_4_speed": [ - "30" - ], - "overhang_3_4_speed": [ - "10" - ], - "sparse_infill_speed": [ - "430" - ], - "support_bottom_z_distance": "0.12", - "support_threshold_angle": "20", - "support_top_z_distance": "0.12", - "top_shell_layers": "5", - "top_color_penetration_layers": "5", - "top_shell_thickness": "0.6" -} + "type": "process", + "name": "fdm_process_single_0.12", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "350" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "350" + ], + "internal_solid_infill_speed": [ + "350" + ], + "layer_height": "0.12", + "outer_wall_speed": [ + "200" + ], + "overhang_1_4_speed": [ + "60" + ], + "overhang_2_4_speed": [ + "30" + ], + "overhang_3_4_speed": [ + "10" + ], + "sparse_infill_speed": [ + "430" + ], + "support_bottom_z_distance": "0.12", + "support_threshold_angle": "20", + "support_top_z_distance": "0.12", + "top_shell_layers": "5", + "top_color_penetration_layers": "5", + "top_shell_thickness": "0.6" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json index 0d65394274..b298d08e01 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json @@ -1,40 +1,41 @@ { - "type": "process", - "name": "fdm_process_single_0.12_nozzle_0.2", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "initial_layer_infill_speed": [ - "70" - ], - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "40" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "layer_height": "0.12", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.12", - "support_line_width": "0.22", - "support_top_z_distance": "0.12", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_single_0.12_nozzle_0.2", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "initial_layer_infill_speed": [ + "70" + ], + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "40" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "layer_height": "0.12", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.12", + "support_line_width": "0.22", + "support_top_z_distance": "0.12", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json index 48d3fa2f44..27bce376cc 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json @@ -1,40 +1,41 @@ { - "type": "process", - "name": "fdm_process_single_0.14_nozzle_0.2", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "5", - "bottom_color_penetration_layers": "5", - "bridge_flow": "1", - "initial_layer_infill_speed": [ - "70" - ], - "initial_layer_line_width": "0.25", - "initial_layer_print_height": "0.1", - "initial_layer_speed": [ - "40" - ], - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "ironing_inset": "0.11", - "layer_height": "0.14", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "sparse_infill_line_width": "0.22", - "skin_infill_line_width": "0.22", - "skeleton_infill_line_width": "0.22", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.14", - "support_line_width": "0.22", - "support_top_z_distance": "0.14", - "top_shell_layers": "7", - "top_color_penetration_layers": "7", - "top_surface_line_width": "0.22", - "top_surface_speed": [ - "150" - ], - "wall_loops": "4" -} + "type": "process", + "name": "fdm_process_single_0.14_nozzle_0.2", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "5", + "bottom_color_penetration_layers": "5", + "bridge_flow": "1", + "initial_layer_infill_speed": [ + "70" + ], + "initial_layer_line_width": "0.25", + "initial_layer_infill_line_width": "0.25", + "initial_layer_print_height": "0.1", + "initial_layer_speed": [ + "40" + ], + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "ironing_inset": "0.11", + "layer_height": "0.14", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "skin_infill_line_width": "0.22", + "skeleton_infill_line_width": "0.22", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.14", + "support_line_width": "0.22", + "support_top_z_distance": "0.14", + "top_shell_layers": "7", + "top_color_penetration_layers": "7", + "top_surface_line_width": "0.22", + "top_surface_speed": [ + "150" + ], + "wall_loops": "4" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.16.json b/resources/profiles/BBL/process/fdm_process_single_0.16.json index a288183508..a347766b0a 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.16.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.16.json @@ -1,48 +1,48 @@ { - "type": "process", - "name": "fdm_process_single_0.16", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bottom_shell_layers": "4", - "bottom_color_penetration_layers": "4", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "300" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "300" - ], - "internal_solid_infill_speed": [ - "300" - ], - "layer_height": "0.16", - "outer_wall_speed": [ - "200" - ], - "overhang_1_4_speed": [ - "60" - ], - "overhang_2_4_speed": [ - "30" - ], - "overhang_3_4_speed": [ - "10" - ], - "sparse_infill_speed": [ - "330" - ], - "support_bottom_z_distance": "0.16", - "support_threshold_angle": "25", - "support_top_z_distance": "0.16", - "top_shell_layers": "6", - "top_color_penetration_layers": "6", - "top_shell_thickness": "1.0" -} + "type": "process", + "name": "fdm_process_single_0.16", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "4", + "bottom_color_penetration_layers": "4", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "300" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "300" + ], + "internal_solid_infill_speed": [ + "300" + ], + "layer_height": "0.16", + "outer_wall_speed": [ + "200" + ], + "overhang_1_4_speed": [ + "60" + ], + "overhang_2_4_speed": [ + "30" + ], + "overhang_3_4_speed": [ + "10" + ], + "sparse_infill_speed": [ + "330" + ], + "support_bottom_z_distance": "0.16", + "support_threshold_angle": "25", + "support_top_z_distance": "0.16", + "top_shell_layers": "6", + "top_color_penetration_layers": "6", + "top_shell_thickness": "1.0" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json index 928a4ba1a4..d9d490c5c6 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json @@ -1,41 +1,42 @@ { - "type": "process", - "name": "fdm_process_single_0.18_nozzle_0.6", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "layer_height": "0.18", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100" - ], - "support_bottom_z_distance": "0.18", - "support_line_width": "0.62", - "support_top_z_distance": "0.18", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.18_nozzle_0.6", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "layer_height": "0.18", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100" + ], + "support_bottom_z_distance": "0.18", + "support_line_width": "0.62", + "support_top_z_distance": "0.18", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.20.json b/resources/profiles/BBL/process/fdm_process_single_0.20.json index 12dfa47697..7be86d5e24 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.20.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.20.json @@ -1,33 +1,33 @@ { - "type": "process", - "name": "fdm_process_single_0.20", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "250" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "300" - ], - "internal_solid_infill_speed": [ - "250" - ], - "outer_wall_speed": [ - "200" - ], - "sparse_infill_speed": [ - "270" - ], - "top_shell_layers": "5", - "top_color_penetration_layers": "5", - "top_shell_thickness": "1.0" -} + "type": "process", + "name": "fdm_process_single_0.20", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "250" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "300" + ], + "internal_solid_infill_speed": [ + "250" + ], + "outer_wall_speed": [ + "200" + ], + "sparse_infill_speed": [ + "270" + ], + "top_shell_layers": "5", + "top_color_penetration_layers": "5", + "top_shell_thickness": "1.0" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.24.json b/resources/profiles/BBL/process/fdm_process_single_0.24.json index e17fe3620a..4c87c79cb7 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.24.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.24.json @@ -1,36 +1,36 @@ { - "type": "process", - "name": "fdm_process_single_0.24", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "230" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "230" - ], - "internal_solid_infill_speed": [ - "230" - ], - "layer_height": "0.24", - "outer_wall_speed": [ - "200" - ], - "sparse_infill_speed": [ - "230" - ], - "support_threshold_angle": "35", - "top_shell_layers": "4", - "top_color_penetration_layers": "4", - "top_shell_thickness": "1.0", - "top_surface_line_width": "0.45" -} + "type": "process", + "name": "fdm_process_single_0.24", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "230" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "230" + ], + "internal_solid_infill_speed": [ + "230" + ], + "layer_height": "0.24", + "outer_wall_speed": [ + "200" + ], + "sparse_infill_speed": [ + "230" + ], + "support_threshold_angle": "35", + "top_shell_layers": "4", + "top_color_penetration_layers": "4", + "top_shell_thickness": "1.0", + "top_surface_line_width": "0.45" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json index a0f2a45f11..f1ca3158c2 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json @@ -1,39 +1,40 @@ { - "type": "process", - "name": "fdm_process_single_0.24_nozzle_0.6", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "layer_height": "0.24", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.24_nozzle_0.6", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "layer_height": "0.24", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json index 86fabec271..c8da7bffea 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json @@ -1,43 +1,44 @@ { - "type": "process", - "name": "fdm_process_single_0.24_nozzle_0.8", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "layer_height": "0.24", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25" - ], - "overhang_4_4_speed": [ - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.24_nozzle_0.8", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "layer_height": "0.24", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25" + ], + "overhang_4_4_speed": [ + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.28.json b/resources/profiles/BBL/process/fdm_process_single_0.28.json index 0e5e24b0dd..959d0c5fce 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.28.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.28.json @@ -1,36 +1,36 @@ { - "type": "process", - "name": "fdm_process_single_0.28", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "elefant_foot_compensation": "0.15", - "gap_infill_speed": [ - "200" - ], - "initial_layer_infill_speed": [ - "105" - ], - "initial_layer_speed": [ - "50" - ], - "inner_wall_speed": [ - "200" - ], - "internal_solid_infill_speed": [ - "200" - ], - "layer_height": "0.28", - "outer_wall_speed": [ - "200" - ], - "sparse_infill_speed": [ - "200" - ], - "support_threshold_angle": "40", - "top_shell_layers": "4", - "top_color_penetration_layers": "4", - "top_shell_thickness": "1.0", - "top_surface_line_width": "0.45" -} + "type": "process", + "name": "fdm_process_single_0.28", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": [ + "200" + ], + "initial_layer_infill_speed": [ + "105" + ], + "initial_layer_speed": [ + "50" + ], + "inner_wall_speed": [ + "200" + ], + "internal_solid_infill_speed": [ + "200" + ], + "layer_height": "0.28", + "outer_wall_speed": [ + "200" + ], + "sparse_infill_speed": [ + "200" + ], + "support_threshold_angle": "40", + "top_shell_layers": "4", + "top_color_penetration_layers": "4", + "top_shell_thickness": "1.0", + "top_surface_line_width": "0.45" +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json index b2cf4f8c9e..e2be1acd36 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json @@ -1,39 +1,40 @@ { - "type": "process", - "name": "fdm_process_single_0.30_nozzle_0.6", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "layer_height": "0.3", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.30_nozzle_0.6", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "layer_height": "0.3", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json index d2e0c39984..7d2cefd223 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json @@ -1,43 +1,44 @@ { - "type": "process", - "name": "fdm_process_single_0.32_nozzle_0.8", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "layer_height": "0.32", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25" - ], - "overhang_4_4_speed": [ - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.32_nozzle_0.8", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "layer_height": "0.32", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25" + ], + "overhang_4_4_speed": [ + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json index a99b9a146b..c366a84351 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json @@ -1,39 +1,40 @@ { - "type": "process", - "name": "fdm_process_single_0.36_nozzle_0.6", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "layer_height": "0.36", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.36_nozzle_0.6", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "layer_height": "0.36", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json index 663a268e1b..f8b344de32 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json @@ -1,43 +1,44 @@ { - "type": "process", - "name": "fdm_process_single_0.40_nozzle_0.8", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "layer_height": "0.4", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25" - ], - "overhang_4_4_speed": [ - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.40_nozzle_0.8", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "layer_height": "0.4", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25" + ], + "overhang_4_4_speed": [ + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json index 25d6b599f1..67f7131468 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json @@ -1,39 +1,40 @@ { - "type": "process", - "name": "fdm_process_single_0.42_nozzle_0.6", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.3", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "ironing_inset": "0.31", - "layer_height": "0.42", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "overhang_3_4_speed": [ - "15" - ], - "sparse_infill_line_width": "0.62", - "skin_infill_line_width": "0.62", - "skeleton_infill_line_width": "0.62", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.42_nozzle_0.6", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.62", + "initial_layer_infill_line_width": "0.62", + "initial_layer_print_height": "0.3", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "ironing_inset": "0.31", + "layer_height": "0.42", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "overhang_3_4_speed": [ + "15" + ], + "sparse_infill_line_width": "0.62", + "skin_infill_line_width": "0.62", + "skeleton_infill_line_width": "0.62", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json index 030c505799..c05df03512 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json @@ -1,43 +1,44 @@ { - "type": "process", - "name": "fdm_process_single_0.48_nozzle_0.8", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.31", - "layer_height": "0.48", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25" - ], - "overhang_4_4_speed": [ - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.48_nozzle_0.8", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.31", + "layer_height": "0.48", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25" + ], + "overhang_4_4_speed": [ + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json index 9cbbd608d1..fc8f01f85f 100644 --- a/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json +++ b/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json @@ -1,43 +1,44 @@ { - "type": "process", - "name": "fdm_process_single_0.56_nozzle_0.8", - "inherits": "fdm_process_single_common", - "from": "system", - "instantiation": "false", - "bridge_flow": "1", - "bridge_speed": [ - "30" - ], - "initial_layer_infill_speed": [ - "55" - ], - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.4", - "initial_layer_speed": [ - "35" - ], - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "ironing_inset": "0.41", - "layer_height": "0.56", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "overhang_3_4_speed": [ - "25" - ], - "overhang_4_4_speed": [ - "5" - ], - "sparse_infill_line_width": "0.82", - "skin_infill_line_width": "0.82", - "skeleton_infill_line_width": "0.82", - "sparse_infill_speed": [ - "100" - ], - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "top_surface_speed": [ - "150" - ] -} + "type": "process", + "name": "fdm_process_single_0.56_nozzle_0.8", + "inherits": "fdm_process_single_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "1", + "bridge_speed": [ + "30" + ], + "initial_layer_infill_speed": [ + "55" + ], + "initial_layer_line_width": "0.82", + "initial_layer_infill_line_width": "0.82", + "initial_layer_print_height": "0.4", + "initial_layer_speed": [ + "35" + ], + "inner_wall_line_width": "0.82", + "internal_solid_infill_line_width": "0.82", + "ironing_inset": "0.41", + "layer_height": "0.56", + "line_width": "0.82", + "outer_wall_line_width": "0.82", + "overhang_3_4_speed": [ + "25" + ], + "overhang_4_4_speed": [ + "5" + ], + "sparse_infill_line_width": "0.82", + "skin_infill_line_width": "0.82", + "skeleton_infill_line_width": "0.82", + "sparse_infill_speed": [ + "100" + ], + "support_line_width": "0.82", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonic", + "top_surface_speed": [ + "150" + ] +} \ No newline at end of file diff --git a/resources/profiles/BBL/process/fdm_process_single_common.json b/resources/profiles/BBL/process/fdm_process_single_common.json index 36bd1611d5..12aee19488 100644 --- a/resources/profiles/BBL/process/fdm_process_single_common.json +++ b/resources/profiles/BBL/process/fdm_process_single_common.json @@ -1,106 +1,106 @@ { - "type": "process", - "name": "fdm_process_single_common", - "inherits": "fdm_process_common", - "from": "system", - "instantiation": "false", - "bridge_speed": [ - "50" - ], - "enable_overhang_speed": [ - "1" - ], - "enable_height_slowdown": [ - "0" - ], - "gap_infill_speed": [ - "50" - ], - "initial_layer_acceleration": [ - "500" - ], - "initial_layer_infill_speed": [ - "60" - ], - "initial_layer_speed": [ - "30" - ], - "inner_wall_acceleration": [ - "0" - ], - "inner_wall_speed": [ - "150" - ], - "internal_solid_infill_speed": [ - "150" - ], - "outer_wall_acceleration": [ - "5000" - ], - "overhang_1_4_speed": [ - "0" - ], - "overhang_2_4_speed": [ - "50" - ], - "overhang_3_4_speed": [ - "30" - ], - "overhang_4_4_speed": [ - "10" - ], - "print_extruder_id": [ - "1" - ], - "print_extruder_variant": [ - "Direct Drive Standard" - ], - "slowdown_start_height": [ - "0" - ], - "slowdown_start_speed": [ - "1000" - ], - "slowdown_start_acc": [ - "100000" - ], - "slowdown_end_height": [ - "400" - ], - "slowdown_end_speed": [ - "1000" - ], - "slowdown_end_acc": [ - "100000" - ], - "small_perimeter_speed": [ - "50%" - ], - "small_perimeter_threshold": [ - "0" - ], - "sparse_infill_acceleration": [ - "100%" - ], - "sparse_infill_speed": [ - "250" - ], - "support_speed": [ - "150" - ], - "top_surface_acceleration": [ - "2000" - ], - "top_surface_speed": [ - "200" - ], - "travel_speed": [ - "500" - ], - "travel_speed_z": [ - "0" - ], - "vertical_shell_speed": [ - "80%" - ] -} + "type": "process", + "name": "fdm_process_single_common", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "bridge_speed": [ + "50" + ], + "enable_overhang_speed": [ + "1" + ], + "enable_height_slowdown": [ + "0" + ], + "gap_infill_speed": [ + "50" + ], + "initial_layer_acceleration": [ + "500" + ], + "initial_layer_infill_speed": [ + "60" + ], + "initial_layer_speed": [ + "30" + ], + "inner_wall_acceleration": [ + "0" + ], + "inner_wall_speed": [ + "150" + ], + "internal_solid_infill_speed": [ + "150" + ], + "outer_wall_acceleration": [ + "5000" + ], + "overhang_1_4_speed": [ + "0" + ], + "overhang_2_4_speed": [ + "50" + ], + "overhang_3_4_speed": [ + "30" + ], + "overhang_4_4_speed": [ + "10" + ], + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "slowdown_start_height": [ + "0" + ], + "slowdown_start_speed": [ + "1000" + ], + "slowdown_start_acc": [ + "100000" + ], + "slowdown_end_height": [ + "400" + ], + "slowdown_end_speed": [ + "1000" + ], + "slowdown_end_acc": [ + "100000" + ], + "small_perimeter_speed": [ + "50%" + ], + "small_perimeter_threshold": [ + "0" + ], + "sparse_infill_acceleration": [ + "100%" + ], + "sparse_infill_speed": [ + "250" + ], + "support_speed": [ + "150" + ], + "top_surface_acceleration": [ + "2000" + ], + "top_surface_speed": [ + "200" + ], + "travel_speed": [ + "500" + ], + "travel_speed_z": [ + "0" + ], + "vertical_shell_speed": [ + "80%" + ] +} \ No newline at end of file diff --git a/resources/profiles/BIQU.json b/resources/profiles/BIQU.json index 6c28578e82..2dd4115290 100644 --- a/resources/profiles/BIQU.json +++ b/resources/profiles/BIQU.json @@ -1,6 +1,6 @@ { "name": "BIQU", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "BIQU configurations", "machine_model_list": [ diff --git a/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json b/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json index cc0e00d7e0..93ad734a32 100644 --- a/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json +++ b/resources/profiles/BIQU/machine/BIQU Hurakan (0.4 nozzle).json @@ -134,7 +134,6 @@ "40" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE\n", diff --git a/resources/profiles/BIQU/machine/fdm_biqu_common.json b/resources/profiles/BIQU/machine/fdm_biqu_common.json index 45c676c60b..8adf13d5f9 100644 --- a/resources/profiles/BIQU/machine/fdm_biqu_common.json +++ b/resources/profiles/BIQU/machine/fdm_biqu_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/BIQU/machine/fdm_klipper_common.json b/resources/profiles/BIQU/machine/fdm_klipper_common.json index ad76cd3c5b..5ec9283827 100644 --- a/resources/profiles/BIQU/machine/fdm_klipper_common.json +++ b/resources/profiles/BIQU/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "40" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE\n", diff --git a/resources/profiles/BIQU/machine/fdm_machine_common.json b/resources/profiles/BIQU/machine/fdm_machine_common.json index 22ba444121..5355d94467 100644 --- a/resources/profiles/BIQU/machine/fdm_machine_common.json +++ b/resources/profiles/BIQU/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" diff --git a/resources/profiles/BIQU/process/fdm_process_biqu_common.json b/resources/profiles/BIQU/process/fdm_process_biqu_common.json index 901b90ae08..b2aebda8a5 100644 --- a/resources/profiles/BIQU/process/fdm_process_biqu_common.json +++ b/resources/profiles/BIQU/process/fdm_process_biqu_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/BIQU/process/fdm_process_common.json b/resources/profiles/BIQU/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/BIQU/process/fdm_process_common.json +++ b/resources/profiles/BIQU/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/BIQU/process/fdm_process_hurakan_common.json b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json index a5e106f0ed..fcd275537c 100644 --- a/resources/profiles/BIQU/process/fdm_process_hurakan_common.json +++ b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_biqu_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Blocks.json b/resources/profiles/Blocks.json index f8243c252d..f24bcb81da 100644 --- a/resources/profiles/Blocks.json +++ b/resources/profiles/Blocks.json @@ -1,6 +1,6 @@ { "name": "Blocks", - "version": "02.04.00.03", + "version": "02.04.00.04", "force_update": "0", "description": "Blocks configurations", "machine_model_list": [ diff --git a/resources/profiles/Blocks/machine/fdm_klipper_common.json b/resources/profiles/Blocks/machine/fdm_klipper_common.json index 1756ac178a..5372b42547 100644 --- a/resources/profiles/Blocks/machine/fdm_klipper_common.json +++ b/resources/profiles/Blocks/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "35" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "CHANGE_FILAMENT", "machine_pause_gcode": "PAUSE", diff --git a/resources/profiles/Blocks/machine/fdm_machine_common.json b/resources/profiles/Blocks/machine/fdm_machine_common.json index 27cde99c12..e250ba2e3c 100644 --- a/resources/profiles/Blocks/machine/fdm_machine_common.json +++ b/resources/profiles/Blocks/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Blocks/process/0.12mm Fine 0.4 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.12mm Fine 0.4 nozzle @Blocks_RF50.json index 86f9cb5adb..315256dcab 100644 --- a/resources/profiles/Blocks/process/0.12mm Fine 0.4 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.12mm Fine 0.4 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.16mm Optimal 0.4 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.16mm Optimal 0.4 nozzle @Blocks_RF50.json index ae773410b3..ca6facb720 100644 --- a/resources/profiles/Blocks/process/0.16mm Optimal 0.4 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.16mm Optimal 0.4 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.20mm Optimal 0.6 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.20mm Optimal 0.6 nozzle @Blocks_RF50.json index 7c02d847bc..b80b051a71 100644 --- a/resources/profiles/Blocks/process/0.20mm Optimal 0.6 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.20mm Optimal 0.6 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.20mm Standard 0.4 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.20mm Standard 0.4 nozzle @Blocks_RF50.json index 32beb61fe9..5c88e00c2a 100644 --- a/resources/profiles/Blocks/process/0.20mm Standard 0.4 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.20mm Standard 0.4 nozzle @Blocks_RF50.json @@ -41,7 +41,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.24mm Draft 0.4 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.24mm Draft 0.4 nozzle @Blocks_RF50.json index d9d6895c3d..edb1bfcc2d 100644 --- a/resources/profiles/Blocks/process/0.24mm Draft 0.4 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.24mm Draft 0.4 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.26mm Standard 0.6 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.26mm Standard 0.6 nozzle @Blocks_RF50.json index 6744554909..d2f853b638 100644 --- a/resources/profiles/Blocks/process/0.26mm Standard 0.6 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.26mm Standard 0.6 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.28mm Extra Draft 0.4 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.28mm Extra Draft 0.4 nozzle @Blocks_RF50.json index 0b3b324664..dd6b60d371 100644 --- a/resources/profiles/Blocks/process/0.28mm Extra Draft 0.4 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.28mm Extra Draft 0.4 nozzle @Blocks_RF50.json @@ -38,7 +38,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.30mm Optimal 0.8 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.30mm Optimal 0.8 nozzle @Blocks_RF50.json index 704d355221..9d909c1dd4 100644 --- a/resources/profiles/Blocks/process/0.30mm Optimal 0.8 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.30mm Optimal 0.8 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.32mm Draft 0.6 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.32mm Draft 0.6 nozzle @Blocks_RF50.json index 05c4c06e22..60c6eae19e 100644 --- a/resources/profiles/Blocks/process/0.32mm Draft 0.6 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.32mm Draft 0.6 nozzle @Blocks_RF50.json @@ -38,7 +38,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.38mm Extra Draft 0.6 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.38mm Extra Draft 0.6 nozzle @Blocks_RF50.json index 18d38c7c34..f28a975208 100644 --- a/resources/profiles/Blocks/process/0.38mm Extra Draft 0.6 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.38mm Extra Draft 0.6 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.38mm Standard 0.8 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.38mm Standard 0.8 nozzle @Blocks_RF50.json index b4359ae990..7b94febc1c 100644 --- a/resources/profiles/Blocks/process/0.38mm Standard 0.8 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.38mm Standard 0.8 nozzle @Blocks_RF50.json @@ -38,7 +38,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.46mm Draft 0.8 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.46mm Draft 0.8 nozzle @Blocks_RF50.json index 6e286f3309..d49633e89d 100644 --- a/resources/profiles/Blocks/process/0.46mm Draft 0.8 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.46mm Draft 0.8 nozzle @Blocks_RF50.json @@ -38,7 +38,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/0.54mm Extra Draft 0.8 nozzle @Blocks_RF50.json b/resources/profiles/Blocks/process/0.54mm Extra Draft 0.8 nozzle @Blocks_RF50.json index e0d5a486de..a0e9121ceb 100644 --- a/resources/profiles/Blocks/process/0.54mm Extra Draft 0.8 nozzle @Blocks_RF50.json +++ b/resources/profiles/Blocks/process/0.54mm Extra Draft 0.8 nozzle @Blocks_RF50.json @@ -37,7 +37,6 @@ "support_speed": "300", "detect_overhang_wall": "1", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Blocks/process/fdm_process_blocks_common.json b/resources/profiles/Blocks/process/fdm_process_blocks_common.json index 2e9e81b262..4eac1c83d7 100644 --- a/resources/profiles/Blocks/process/fdm_process_blocks_common.json +++ b/resources/profiles/Blocks/process/fdm_process_blocks_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Blocks/process/fdm_process_common 0.6 nozzle.json b/resources/profiles/Blocks/process/fdm_process_common 0.6 nozzle.json index 51ecf6c306..ef7dcc12bf 100644 --- a/resources/profiles/Blocks/process/fdm_process_common 0.6 nozzle.json +++ b/resources/profiles/Blocks/process/fdm_process_common 0.6 nozzle.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_blocks_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "brim_width": "5", diff --git a/resources/profiles/Blocks/process/fdm_process_common 0.8 nozzle.json b/resources/profiles/Blocks/process/fdm_process_common 0.8 nozzle.json index 10089234ee..6a32e4abb4 100644 --- a/resources/profiles/Blocks/process/fdm_process_common 0.8 nozzle.json +++ b/resources/profiles/Blocks/process/fdm_process_common 0.8 nozzle.json @@ -18,7 +18,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "brim_width": "5", diff --git a/resources/profiles/Blocks/process/fdm_process_common 1.0 nozzle.json b/resources/profiles/Blocks/process/fdm_process_common 1.0 nozzle.json index c1e7f74673..a09804b95d 100644 --- a/resources/profiles/Blocks/process/fdm_process_common 1.0 nozzle.json +++ b/resources/profiles/Blocks/process/fdm_process_common 1.0 nozzle.json @@ -14,7 +14,6 @@ "internal_solid_infill_line_width": "1.02", "support_line_width": "1.02", "top_surface_line_width": "1.02", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "brim_width": "5", diff --git a/resources/profiles/Blocks/process/fdm_process_common 1.2 nozzle.json b/resources/profiles/Blocks/process/fdm_process_common 1.2 nozzle.json index 292d413e96..4764a600fd 100644 --- a/resources/profiles/Blocks/process/fdm_process_common 1.2 nozzle.json +++ b/resources/profiles/Blocks/process/fdm_process_common 1.2 nozzle.json @@ -14,7 +14,6 @@ "internal_solid_infill_line_width": "1.22", "support_line_width": "1.22", "top_surface_line_width": "1.22", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "brim_width": "5", diff --git a/resources/profiles/Blocks/process/fdm_process_common.json b/resources/profiles/Blocks/process/fdm_process_common.json index e6614cb911..2caa139d1f 100644 --- a/resources/profiles/Blocks/process/fdm_process_common.json +++ b/resources/profiles/Blocks/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/CONSTRUCT3D.json b/resources/profiles/CONSTRUCT3D.json index efc7c78972..55845903b0 100644 --- a/resources/profiles/CONSTRUCT3D.json +++ b/resources/profiles/CONSTRUCT3D.json @@ -1,6 +1,6 @@ { "name": "CONSTRUCT3D", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Construct3D configurations", "machine_model_list": [ diff --git a/resources/profiles/CONSTRUCT3D/machine/fdm_machine_common.json b/resources/profiles/CONSTRUCT3D/machine/fdm_machine_common.json index 7459504984..ff5aca073b 100644 --- a/resources/profiles/CONSTRUCT3D/machine/fdm_machine_common.json +++ b/resources/profiles/CONSTRUCT3D/machine/fdm_machine_common.json @@ -22,7 +22,6 @@ "printhost_port": "", "printhost_ssl_ignore_revoke": "0", "printhost_user": "", - "silent_mode": "0", "machine_max_acceleration_e": [ "8000" ], @@ -121,7 +120,6 @@ "thumbnails": [ "160x160" ], - "z_lift_type": "Auto Lift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json b/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json index baaf57a50b..1378aca57f 100644 --- a/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json +++ b/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -81,7 +80,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Chuanying.json b/resources/profiles/Chuanying.json index f32b4f84ae..5434e13bb8 100644 --- a/resources/profiles/Chuanying.json +++ b/resources/profiles/Chuanying.json @@ -1,7 +1,7 @@ { "name": "Chuanying", "url": "", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "Chuanying configurations", "machine_model_list": [ @@ -89,14 +89,14 @@ "name": "Generic PETG @Chuanying X1 0.25 Nozzle", "sub_path": "filament/Generic PETG @Chuanying X1 0.25 Nozzle.json" }, - { - "name": "Generic PVA @Chuanying", - "sub_path": "filament/Generic PVA @Chuanying.json" - }, { "name": "Generic PLA @Chuanying X1 0.25 Nozzle", "sub_path": "filament/Generic PLA @Chuanying X1 0.25 Nozzle.json" }, + { + "name": "Generic PVA @Chuanying", + "sub_path": "filament/Generic PVA @Chuanying.json" + }, { "name": "Generic PLA-Silk @Chuanying X1 0.25 Nozzle", "sub_path": "filament/Generic PLA-Silk @Chuanying X1 0.25 Nozzle.json" diff --git a/resources/profiles/Chuanying/filament/Generic ASA @Chuanying.json b/resources/profiles/Chuanying/filament/Generic ASA @Chuanying.json index f5cc9c8419..3196464cc2 100644 --- a/resources/profiles/Chuanying/filament/Generic ASA @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic ASA @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ASA @Chuanying", - "inherits": "fdm_filament_asa", "renamed_from": "Chuanying Generic ASA", + "inherits": "fdm_filament_asa", "from": "system", "setting_id": "39OBrSE3RugtTPPR", "filament_id": "OFLPAxz3", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "0" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "2" diff --git a/resources/profiles/Chuanying/filament/Generic HIPS @Chuanying.json b/resources/profiles/Chuanying/filament/Generic HIPS @Chuanying.json index 4d8edd7298..25910a1f55 100644 --- a/resources/profiles/Chuanying/filament/Generic HIPS @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic HIPS @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic HIPS @Chuanying", - "inherits": "Generic ABS @Chuanying", "renamed_from": "Chuanying Generic HIPS", + "inherits": "Generic ABS @Chuanying", "from": "system", "setting_id": "TV3UktlnP0aTLsOZ", "filament_id": "OFsFon5l", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "HIPS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Chuanying/filament/Generic HS PLA @Chuanying.json b/resources/profiles/Chuanying/filament/Generic HS PLA @Chuanying.json index 8b0529814e..c209ab1022 100644 --- a/resources/profiles/Chuanying/filament/Generic HS PLA @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic HS PLA @Chuanying.json @@ -1,15 +1,12 @@ { "type": "filament", "name": "Generic HS PLA @Chuanying", - "inherits": "fdm_filament_pla", "renamed_from": "Chuanying Generic HS PLA", + "inherits": "fdm_filament_pla", "from": "system", "setting_id": "uw7SQpFnhFiO8i1N", "filament_id": "OFvxghTE", "instantiation": "true", - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -84,9 +81,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -159,9 +153,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Chuanying/filament/Generic PETG-CF10 @Chuanying.json b/resources/profiles/Chuanying/filament/Generic PETG-CF10 @Chuanying.json index 85d42dad84..e8c812c7d5 100644 --- a/resources/profiles/Chuanying/filament/Generic PETG-CF10 @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic PETG-CF10 @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG-CF10 @Chuanying", - "inherits": "fdm_filament_pet", "renamed_from": "Chuanying Generic PETG-CF10", + "inherits": "fdm_filament_pet", "from": "system", "setting_id": "Pr70SnbXDjOF9EvU", "filament_id": "OFO5djrM", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Chuanying/filament/Generic PLA-CF10 @Chuanying.json b/resources/profiles/Chuanying/filament/Generic PLA-CF10 @Chuanying.json index c76c4de977..46be8ddf90 100644 --- a/resources/profiles/Chuanying/filament/Generic PLA-CF10 @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic PLA-CF10 @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA-CF10 @Chuanying", - "inherits": "fdm_filament_pla", "renamed_from": "Chuanying Generic PLA-CF10", + "inherits": "fdm_filament_pla", "from": "system", "setting_id": "I4FjaXNkWl8Mr4ie", "filament_id": "OFX2zcrM", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -87,9 +84,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -162,9 +156,6 @@ "filament_type": [ "PLA-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Chuanying/filament/Generic PVA @Chuanying.json b/resources/profiles/Chuanying/filament/Generic PVA @Chuanying.json index a38af95d65..0c6abd3c0f 100644 --- a/resources/profiles/Chuanying/filament/Generic PVA @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic PVA @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PVA @Chuanying", - "inherits": "Generic PLA @Chuanying", "renamed_from": "Chuanying Generic PVA", + "inherits": "Generic PLA @Chuanying", "from": "system", "setting_id": "UTutnObeQqlZxe0B", "filament_id": "OFDvXujf", @@ -96,9 +96,6 @@ "filament_is_support": [ "1" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "PVA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Chuanying/filament/Generic TPU @Chuanying.json b/resources/profiles/Chuanying/filament/Generic TPU @Chuanying.json index 9bea6c388d..b9a325ce8c 100644 --- a/resources/profiles/Chuanying/filament/Generic TPU @Chuanying.json +++ b/resources/profiles/Chuanying/filament/Generic TPU @Chuanying.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic TPU @Chuanying", - "inherits": "fdm_filament_tpu", "renamed_from": "Chuanying Generic TPU", + "inherits": "fdm_filament_tpu", "from": "system", "setting_id": "gYsq1HqkgyfmVpvz", "filament_id": "OFgbpcy9", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Chuanying/machine/Chuanying X1.json b/resources/profiles/Chuanying/machine/Chuanying X1.json index 9e9c3f015d..c62df68589 100644 --- a/resources/profiles/Chuanying/machine/Chuanying X1.json +++ b/resources/profiles/Chuanying/machine/Chuanying X1.json @@ -8,5 +8,5 @@ "bed_model": "chuanying_x1_buildplate_model.STL", "bed_texture": "chuanying_x1_buildplate_texture.svg", "hotend_model": "chuanying_x1_hotend.STL", - "default_materials": "Generic PETG @Chuanying;Generic PLA @Chuanying" + "default_materials": "Generic PETG @Chuanying;Generic PLA @Chuanying;Generic PLA @Chuanying X1 0.25 Nozzle" } diff --git a/resources/profiles/Chuanying/machine/fdm_chuanying_common.json b/resources/profiles/Chuanying/machine/fdm_chuanying_common.json index 41d7339cf0..406b6045d0 100644 --- a/resources/profiles/Chuanying/machine/fdm_chuanying_common.json +++ b/resources/profiles/Chuanying/machine/fdm_chuanying_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Chuanying/machine/fdm_klipper_common.json b/resources/profiles/Chuanying/machine/fdm_klipper_common.json index 16fb20b900..93631dfa17 100644 --- a/resources/profiles/Chuanying/machine/fdm_klipper_common.json +++ b/resources/profiles/Chuanying/machine/fdm_klipper_common.json @@ -116,8 +116,6 @@ "deretraction_speed": [ "80" ], - "z_lift_type": "NormalLift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Chuanying/machine/fdm_machine_common.json b/resources/profiles/Chuanying/machine/fdm_machine_common.json index a751c264bb..3adc42a1ff 100644 --- a/resources/profiles/Chuanying/machine/fdm_machine_common.json +++ b/resources/profiles/Chuanying/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "0.20mm Standard @Chuanying X1", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/Chuanying/process/fdm_process_chuanying_0.20.json b/resources/profiles/Chuanying/process/fdm_process_chuanying_0.20.json index 82e196aa1e..e4ad2518a3 100644 --- a/resources/profiles/Chuanying/process/fdm_process_chuanying_0.20.json +++ b/resources/profiles/Chuanying/process/fdm_process_chuanying_0.20.json @@ -11,7 +11,6 @@ "gap_infill_speed": "200", "sparse_infill_speed": "270", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "internal_solid_infill_acceleration": "7000", "accel_to_decel_enable": "0", diff --git a/resources/profiles/Chuanying/process/fdm_process_chuanying_0.30.json b/resources/profiles/Chuanying/process/fdm_process_chuanying_0.30.json index 1a722cc07c..e2c36526ce 100644 --- a/resources/profiles/Chuanying/process/fdm_process_chuanying_0.30.json +++ b/resources/profiles/Chuanying/process/fdm_process_chuanying_0.30.json @@ -19,7 +19,6 @@ "top_surface_speed": "120", "gap_infill_speed": "150", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "internal_solid_infill_acceleration": "7000", "accel_to_decel_enable": "0", diff --git a/resources/profiles/Chuanying/process/fdm_process_chuanying_common.json b/resources/profiles/Chuanying/process/fdm_process_chuanying_common.json index 6254ffd087..ccad22dca3 100644 --- a/resources/profiles/Chuanying/process/fdm_process_chuanying_common.json +++ b/resources/profiles/Chuanying/process/fdm_process_chuanying_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "travel_acceleration": "10000", "inner_wall_acceleration": "5000", diff --git a/resources/profiles/Chuanying/process/fdm_process_common.json b/resources/profiles/Chuanying/process/fdm_process_common.json index 362b69213e..fc96799afe 100644 --- a/resources/profiles/Chuanying/process/fdm_process_common.json +++ b/resources/profiles/Chuanying/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Co Print.json b/resources/profiles/Co Print.json index e6f9fe967c..2e1ad809eb 100644 --- a/resources/profiles/Co Print.json +++ b/resources/profiles/Co Print.json @@ -1,6 +1,6 @@ { "name": "Co Print", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "CoPrint configurations", "machine_model_list": [ diff --git a/resources/profiles/Co Print/filament/Generic PLA @CoPrint.json b/resources/profiles/Co Print/filament/Generic PLA @CoPrint.json index 2a8510b3ab..5a6c5287c0 100644 --- a/resources/profiles/Co Print/filament/Generic PLA @CoPrint.json +++ b/resources/profiles/Co Print/filament/Generic PLA @CoPrint.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @CoPrint", - "inherits": "fdm_filament_pla", "renamed_from": "CoPrint Generic PLA", + "inherits": "fdm_filament_pla", "from": "system", "setting_id": "9tNsM3FhIDgKJ05R", "filament_id": "OFDSrzZ8", @@ -10,12 +10,6 @@ "filament_vendor": [ "Generic" ], - "filament_load_time": [ - "9.75" - ], - "filament_unload_time": [ - "9.75" - ], "compatible_printers": [ "Co Print ChromaSet 0.4 nozzle", "Co Print ChromaSet 0.4 nozzle - Ender-3 V3", diff --git a/resources/profiles/Co Print/filament/fdm_filament_pla.json b/resources/profiles/Co Print/filament/fdm_filament_pla.json index 203e643a85..d83834504f 100644 --- a/resources/profiles/Co Print/filament/fdm_filament_pla.json +++ b/resources/profiles/Co Print/filament/fdm_filament_pla.json @@ -173,12 +173,6 @@ "filament_unloading_speed": [ "90" ], - "filament_load_time": [ - "9.75" - ], - "filament_unload_time": [ - "9.75" - ], "filament_toolchange_delay": [ "0" ], diff --git a/resources/profiles/Co Print/machine/fdm_machine_common.json b/resources/profiles/Co Print/machine/fdm_machine_common.json index 4b04bfff04..2d0acb2170 100644 --- a/resources/profiles/Co Print/machine/fdm_machine_common.json +++ b/resources/profiles/Co Print/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Co Print/process/fdm_process_common.json b/resources/profiles/Co Print/process/fdm_process_common.json index 5d6760a85b..72aa53a2a2 100644 --- a/resources/profiles/Co Print/process/fdm_process_common.json +++ b/resources/profiles/Co Print/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "bridge_flow": "0.9031", "bridge_speed": "25", diff --git a/resources/profiles/Co Print/process/fdm_process_coprint_common.json b/resources/profiles/Co Print/process/fdm_process_coprint_common.json index c6d5478a6d..6c1b1a99ee 100644 --- a/resources/profiles/Co Print/process/fdm_process_coprint_common.json +++ b/resources/profiles/Co Print/process/fdm_process_coprint_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "bridge_flow": "0.9031", "bridge_speed": "25", diff --git a/resources/profiles/CoLiDo.json b/resources/profiles/CoLiDo.json index d0c395b348..3333d2e71c 100644 --- a/resources/profiles/CoLiDo.json +++ b/resources/profiles/CoLiDo.json @@ -1,6 +1,6 @@ { "name": "CoLiDo", - "version": "02.04.00.03", + "version": "02.04.00.06", "force_update": "0", "description": "CoLiDo configurations", "machine_model_list": [ @@ -196,6 +196,10 @@ "name": "Generic ABS @CoLiDo X16", "sub_path": "filament/Generic ABS @CoLiDo X16.json" }, + { + "name": "CoLiDo PETG @CoLiDo SR1", + "sub_path": "filament/CoLiDo PETG @CoLiDo SR1.json" + }, { "name": "Generic PETG @CoLiDo DIY 4.0", "sub_path": "filament/Generic PETG @CoLiDo DIY 4.0.json" @@ -204,18 +208,6 @@ "name": "Generic PETG @CoLiDo X16", "sub_path": "filament/Generic PETG @CoLiDo X16.json" }, - { - "name": "CoLiDo PETG @CoLiDo SR1", - "sub_path": "filament/CoLiDo PETG @CoLiDo SR1.json" - }, - { - "name": "Generic PLA @CoLiDo DIY 4.0", - "sub_path": "filament/Generic PLA @CoLiDo DIY 4.0.json" - }, - { - "name": "Generic PLA @CoLiDo X16", - "sub_path": "filament/Generic PLA @CoLiDo X16.json" - }, { "name": "CoLiDo PLA @CoLiDo SR1", "sub_path": "filament/CoLiDo PLA @CoLiDo SR1.json" @@ -228,6 +220,14 @@ "name": "CoLiDo PLA+ @CoLiDo DIY 4.0 V2", "sub_path": "filament/CoLiDo PLA+ @CoLiDo DIY 4.0 V2.json" }, + { + "name": "Generic PLA @CoLiDo DIY 4.0", + "sub_path": "filament/Generic PLA @CoLiDo DIY 4.0.json" + }, + { + "name": "Generic PLA @CoLiDo X16", + "sub_path": "filament/Generic PLA @CoLiDo X16.json" + }, { "name": "Generic TPU @CoLiDo DIY 4.0", "sub_path": "filament/Generic TPU @CoLiDo DIY 4.0.json" diff --git a/resources/profiles/CoLiDo/CoLiDo SR1_cover.png b/resources/profiles/CoLiDo/CoLiDo SR1_cover.png index 79bf3e9cfb..ca4cdca253 100644 Binary files a/resources/profiles/CoLiDo/CoLiDo SR1_cover.png and b/resources/profiles/CoLiDo/CoLiDo SR1_cover.png differ diff --git a/resources/profiles/CoLiDo/filament/fdm_filament_pla.json b/resources/profiles/CoLiDo/filament/fdm_filament_pla.json index 5939811113..92db5ad83c 100644 --- a/resources/profiles/CoLiDo/filament/fdm_filament_pla.json +++ b/resources/profiles/CoLiDo/filament/fdm_filament_pla.json @@ -85,9 +85,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -163,9 +160,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json index 8e9b4b34c5..b02f431b3e 100644 --- a/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json +++ b/resources/profiles/CoLiDo/machine/CoLiDo 160 V2 0.4 nozzle.json @@ -189,7 +189,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json index bbecec1d48..3c35344e79 100644 --- a/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json +++ b/resources/profiles/CoLiDo/machine/CoLiDo DIY 4.0 0.4 nozzle.json @@ -203,7 +203,6 @@ "20" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json b/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json index 228580eece..4110cbe15d 100644 --- a/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json +++ b/resources/profiles/CoLiDo/machine/CoLiDo X16 0.4 nozzle.json @@ -189,7 +189,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/CoLiDo/machine/fdm_klipper_common.json b/resources/profiles/CoLiDo/machine/fdm_klipper_common.json index 25eeb1c066..76dbed1936 100644 --- a/resources/profiles/CoLiDo/machine/fdm_klipper_common.json +++ b/resources/profiles/CoLiDo/machine/fdm_klipper_common.json @@ -117,14 +117,13 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ "1" ], "default_filament_profile": [ - "My Generic ABS" + "Generic ABS @CoLiDo X16" ], "default_print_profile": "0.20mm Standard @MyKlipper", "bed_exclude_area": [ diff --git a/resources/profiles/CoLiDo/machine/fdm_machine_common.json b/resources/profiles/CoLiDo/machine/fdm_machine_common.json index d4a5c3be25..fbe40f97e3 100644 --- a/resources/profiles/CoLiDo/machine/fdm_machine_common.json +++ b/resources/profiles/CoLiDo/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/CoLiDo/process/fdm_process_colido_common.json b/resources/profiles/CoLiDo/process/fdm_process_colido_common.json index 86621b85e2..ac0b89ecf6 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colido_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colido_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "30", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json index b1a9fbe2b2..ade45d3c30 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json index 63cb950583..89f7687d09 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40v2_common.json @@ -38,7 +38,6 @@ "gap_infill_speed": "100", "sparse_infill_speed": "200", "exclude_object": "1", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -103,7 +102,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json index ab06f6a756..7b12f463d5 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidosr1_common.json @@ -37,7 +37,6 @@ "gap_infill_speed": "100", "sparse_infill_speed": "200", "exclude_object": "1", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -102,7 +101,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json index ac5b507cce..66c147c002 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json @@ -133,7 +133,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/CoLiDo/process/fdm_process_common.json b/resources/profiles/CoLiDo/process/fdm_process_common.json index 916ca91f84..21b6c070fa 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", @@ -69,7 +68,5 @@ "xy_hole_compensation": "0", "xy_contour_compensation": "0", "compatible_printers": [], - "smooth_coefficient": "80", - "overhang_totally_speed": "19", "scarf_angle_threshold": "155" } diff --git a/resources/profiles/Comgrow.json b/resources/profiles/Comgrow.json index d506431ce8..e3eb237518 100644 --- a/resources/profiles/Comgrow.json +++ b/resources/profiles/Comgrow.json @@ -1,6 +1,6 @@ { "name": "Comgrow", - "version": "02.04.00.04", + "version": "02.04.00.05", "force_update": "0", "description": "Comgrow configurations", "machine_model_list": [ diff --git a/resources/profiles/Comgrow/machine/fdm_comgrow_common.json b/resources/profiles/Comgrow/machine/fdm_comgrow_common.json index ef8ce3ba93..f01aca4c88 100644 --- a/resources/profiles/Comgrow/machine/fdm_comgrow_common.json +++ b/resources/profiles/Comgrow/machine/fdm_comgrow_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "PAUSE", "machine_pause_gcode": "PAUSE", diff --git a/resources/profiles/Comgrow/machine/fdm_machine_common.json b/resources/profiles/Comgrow/machine/fdm_machine_common.json index 7bddc2a449..6c15932ff6 100644 --- a/resources/profiles/Comgrow/machine/fdm_machine_common.json +++ b/resources/profiles/Comgrow/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json index f9fe24a86e..5d63eecaeb 100644 --- a/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "VXNVLkCAnWrWUyuq", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json index 75b32fd2bc..6c716b7448 100644 --- a/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fHx55sqqkzl0l6vD", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json b/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json index 9ea2e4419a..82c4edfd04 100644 --- a/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json +++ b/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "s2ySRT9zoN0MzFMG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.20mm Optimal @Comgrow T300 0.4 - official.json b/resources/profiles/Comgrow/process/0.20mm Optimal @Comgrow T300 0.4 - official.json index a19f2568d7..85e1eb5eb8 100644 --- a/resources/profiles/Comgrow/process/0.20mm Optimal @Comgrow T300 0.4 - official.json +++ b/resources/profiles/Comgrow/process/0.20mm Optimal @Comgrow T300 0.4 - official.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "VFKy39bkuifq4aEz", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json index 4d428aca40..ad93a3003b 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "zwEXxLeBYeJlVsrU", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json index a50b6ac485..9683ba86ef 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "MwfGKEFTGptYVgVg", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json index 1ef23da2af..3db25ca6c5 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "D15fxV5mACh2XWMT", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json index d79d7afe4c..8fcbf04693 100644 --- a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "INYjczFN5gWflgRJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json index 326c4c7d26..bb7fc4f905 100644 --- a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "CDKsOIpM74w1NhsA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json index 7118e614d2..3b51d2b5aa 100644 --- a/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "gHH8QHbtpAr7iSj3", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json index 82140f2a11..012d382d6d 100644 --- a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QU9R8iFuvSrnijkO", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json index 2088fd5d01..1b345c51d8 100644 --- a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "oQkDbf0FdMb4nV0i", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json index 1f9ad6050d..f24b345690 100644 --- a/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1IxP6FaNbkCM6bz8", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.32", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json index 515bcfdde8..32958ee493 100644 --- a/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "67PM6ka97wMVLSJV", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.40", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json index bdae66b5e8..21009bb931 100644 --- a/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7fJumwUT4xqMSvYo", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.48", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json index fae10074b2..6a4d439820 100644 --- a/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "407WH0SRTXRCg7Gz", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.56", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json index b926f2ee86..04b9a6bd06 100644 --- a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json +++ b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json @@ -107,7 +107,6 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Comgrow/process/fdm_process_common.json b/resources/profiles/Comgrow/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Comgrow/process/fdm_process_common.json +++ b/resources/profiles/Comgrow/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Creality.json b/resources/profiles/Creality.json index 23b8b3799b..11647d86da 100644 --- a/resources/profiles/Creality.json +++ b/resources/profiles/Creality.json @@ -1,9 +1,13 @@ { "name": "Creality", - "version": "02.03.02.77", + "version": "02.03.02.85", "force_update": "0", "description": "Creality configurations", "machine_model_list": [ + { + "name": "Creality CR-10", + "sub_path": "machine/Creality CR-10.json" + }, { "name": "Creality CR-10 Max", "sub_path": "machine/Creality CR-10 Max.json" @@ -12,6 +16,14 @@ "name": "Creality CR-10 SE", "sub_path": "machine/Creality CR-10 SE.json" }, + { + "name": "Creality CR-10 Smart", + "sub_path": "machine/Creality CR-10 Smart.json" + }, + { + "name": "Creality CR-10 Smart Pro", + "sub_path": "machine/Creality CR-10 Smart Pro.json" + }, { "name": "Creality CR-10 V2", "sub_path": "machine/Creality CR-10 V2.json" @@ -20,6 +32,14 @@ "name": "Creality CR-10 V3", "sub_path": "machine/Creality CR-10 V3.json" }, + { + "name": "Creality CR-10S Pro V2", + "sub_path": "machine/Creality CR-10S Pro V2.json" + }, + { + "name": "Creality CR-20 Pro", + "sub_path": "machine/Creality CR-20 Pro.json" + }, { "name": "Creality CR-6 Max", "sub_path": "machine/Creality CR-6 Max.json" @@ -32,10 +52,30 @@ "name": "Creality CR-M4", "sub_path": "machine/Creality CR-M4.json" }, + { + "name": "Creality CR-M4 SE", + "sub_path": "machine/Creality CR-M4 SE.json" + }, + { + "name": "Creality Ender-2 Pro", + "sub_path": "machine/Creality Ender-2 Pro.json" + }, { "name": "Creality Ender-3", "sub_path": "machine/Creality Ender-3.json" }, + { + "name": "Creality Ender-3 Max", + "sub_path": "machine/Creality Ender-3 Max.json" + }, + { + "name": "Creality Ender-3 Max Neo", + "sub_path": "machine/Creality Ender-3 Max Neo.json" + }, + { + "name": "Creality Ender-3 Neo", + "sub_path": "machine/Creality Ender-3 Neo.json" + }, { "name": "Creality Ender-3 Pro", "sub_path": "machine/Creality Ender-3 Pro.json" @@ -52,6 +92,10 @@ "name": "Creality Ender-3 S1 Pro", "sub_path": "machine/Creality Ender-3 S1 Pro.json" }, + { + "name": "Creality Ender-3 S1 Sonic", + "sub_path": "machine/Creality Ender-3 S1 Sonic.json" + }, { "name": "Creality Ender-3 V2", "sub_path": "machine/Creality Ender-3 V2.json" @@ -100,6 +144,10 @@ "name": "Creality Ender-5 S1", "sub_path": "machine/Creality Ender-5 S1.json" }, + { + "name": "Creality Ender-5 S1 Sonic", + "sub_path": "machine/Creality Ender-5 S1 Sonic.json" + }, { "name": "Creality Ender-5S", "sub_path": "machine/Creality Ender-5S.json" @@ -116,10 +164,6 @@ "name": "Creality K1", "sub_path": "machine/Creality K1.json" }, - { - "name": "Creality K1_CFS-C", - "sub_path": "machine/Creality K1_CFS-C.json" - }, { "name": "Creality K1 Max", "sub_path": "machine/Creality K1 Max.json" @@ -145,12 +189,12 @@ "sub_path": "machine/Creality K1C_CFS-C.json" }, { - "name": "Creality K2", - "sub_path": "machine/Creality K2.json" + "name": "Creality K1_CFS-C", + "sub_path": "machine/Creality K1_CFS-C.json" }, { - "name": "Creality K2 SE", - "sub_path": "machine/Creality K2 SE.json" + "name": "Creality K2", + "sub_path": "machine/Creality K2.json" }, { "name": "Creality K2 Plus", @@ -160,13 +204,33 @@ "name": "Creality K2 Pro", "sub_path": "machine/Creality K2 Pro.json" }, + { + "name": "Creality K2 SE", + "sub_path": "machine/Creality K2 SE.json" + }, { "name": "Creality SPARKX i7", "sub_path": "machine/Creality SPARKX i7.json" }, + { + "name": "Creality Sermoon D3", + "sub_path": "machine/Creality Sermoon D3.json" + }, + { + "name": "Creality Sermoon D3 Pro", + "sub_path": "machine/Creality Sermoon D3 Pro.json" + }, + { + "name": "Creality Sermoon M300", + "sub_path": "machine/Creality Sermoon M300.json" + }, { "name": "Creality Sermoon V1", "sub_path": "machine/Creality Sermoon V1.json" + }, + { + "name": "Creality Sermoon V1 Pro", + "sub_path": "machine/Creality Sermoon V1 Pro.json" } ], "process_list": [ @@ -178,10 +242,126 @@ "name": "fdm_process_creality_common", "sub_path": "process/fdm_process_creality_common.json" }, + { + "name": "0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle", + "sub_path": "process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality CR-10 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality CR-10 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle.json" + }, + { + "name": "0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle", + "sub_path": "process/0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm HueForge @Creality Hi 0.4 nozzle", + "sub_path": "process/0.08mm HueForge @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.08mm HueForge @Creality K2 0.4 nozzle", + "sub_path": "process/0.08mm HueForge @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.08mm HueForge @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.08mm HueForge @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm HueForge @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json" + }, { "name": "0.08mm SuperDetail @Creality CR-6 0.2", "sub_path": "process/0.08mm SuperDetail @Creality CR-6 0.2.json" }, + { + "name": "0.08mm SuperDetail @Creality Hi", + "sub_path": "process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K1 (0.4 nozzle)", + "sub_path": "process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json" + }, + { + "name": "0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K1C 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K1Max (0.4 nozzle)", + "sub_path": "process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json" + }, + { + "name": "0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K2 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json" + }, { "name": "0.10mm HighDetail @Creality 0.4 CR-6 0.4", "sub_path": "process/0.10mm HighDetail @Creality CR-6 0.4.json" @@ -190,6 +370,14 @@ "name": "0.10mm HighDetail @Creality CR-M4", "sub_path": "process/0.10mm HighDetail @Creality CR-M4.json" }, + { + "name": "0.10mm HighDetail @Creality K2 Plus 0.2 nozzle", + "sub_path": "process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json" + }, + { + "name": "0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle", + "sub_path": "process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json" + }, { "name": "0.12mm Detail @Creality 0.4 CR-6", "sub_path": "process/0.12mm Detail @Creality CR-6 0.4.json" @@ -198,6 +386,22 @@ "name": "0.12mm Detail @Creality CR-6 0.2", "sub_path": "process/0.12mm Detail @Creality CR-6 0.2.json" }, + { + "name": "0.12mm Detail @Creality K2 0.4 nozzle", + "sub_path": "process/0.12mm Detail @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.12mm Detail @Creality K2 Plus 0.2 nozzle", + "sub_path": "process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Detail @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Detail @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json" + }, { "name": "0.12mm Fine @Creality CR10Max", "sub_path": "process/0.12mm Fine @Creality CR10Max.json" @@ -262,6 +466,22 @@ "name": "0.12mm Fine @Creality Ender5Pro (2019)", "sub_path": "process/0.12mm Fine @Creality Ender5Pro (2019).json" }, + { + "name": "0.12mm Fine @Creality Hi", + "sub_path": "process/0.12mm Fine @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json" + }, + { + "name": "0.12mm Standard @Creality Sermoon M300 0.4 nozzle", + "sub_path": "process/0.12mm Standard @Creality Sermoon M300 0.4 nozzle.json" + }, + { + "name": "0.14mm Optimal @Creality K2 Plus 0.2 nozzle", + "sub_path": "process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json" + }, { "name": "0.15mm Detail @Creality CR-M4", "sub_path": "process/0.15mm Detail @Creality CR-M4.json" @@ -278,6 +498,30 @@ "name": "0.15mm Optimal @Creality Ender5Pro (2019)", "sub_path": "process/0.15mm Optimal @Creality Ender5Pro (2019).json" }, + { + "name": "0.16mm Fine @Creality Ender-3 V4 0.4 nozzle", + "sub_path": "process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality CR-10 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality CR-10 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle.json" + }, { "name": "0.16mm Optimal @Creality CR-6 0.2", "sub_path": "process/0.16mm Optimal @Creality CR-6 0.2.json" @@ -294,6 +538,22 @@ "name": "0.16mm Optimal @Creality CR10V2", "sub_path": "process/0.16mm Optimal @Creality CR10V2.json" }, + { + "name": "0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle.json" + }, { "name": "0.16mm Optimal @Creality Ender3 0.2", "sub_path": "process/0.16mm Optimal @Creality Ender3 0.2.json" @@ -390,10 +650,114 @@ "name": "0.16mm Optimal @Creality Ender6", "sub_path": "process/0.16mm Optimal @Creality Ender6.json" }, + { + "name": "0.16mm Optimal @Creality Hi", + "sub_path": "process/0.16mm Optimal @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1 (0.4 nozzle)", + "sub_path": "process/0.16mm Optimal @Creality K1 (0.4 nozzle).json" + }, + { + "name": "0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1 SE", + "sub_path": "process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1C", + "sub_path": "process/0.16mm Optimal @Creality K1C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K1Max (0.4 nozzle)", + "sub_path": "process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json" + }, + { + "name": "0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K2 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Creality Sermoon D3 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Sermoon D3 0.4 nozzle.json" + }, { "name": "0.16mm Optimal @Creality Sermoon V1", "sub_path": "process/0.16mm Optimal @Creality Sermoon V1.json" }, + { + "name": "0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Standard @Creality K2 SE 0.4 nozzle", + "sub_path": "process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json" + }, + { + "name": "0.16mm Standard @Creality Sermoon M300 0.4 nozzle", + "sub_path": "process/0.16mm Standard @Creality Sermoon M300 0.4 nozzle.json" + }, + { + "name": "0.18mm Detail @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json" + }, + { + "name": "0.1mm Standard @Creality CR-M4 SE 0.4 nozzle", + "sub_path": "process/0.1mm Standard @Creality CR-M4 SE 0.4 nozzle.json" + }, + { + "name": "0.1mm Standard @Creality Hi 0.2 nozzle", + "sub_path": "process/0.1mm Standard @Creality Hi 0.2 nozzle.json" + }, + { + "name": "0.20mm High Quality @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality CR-10 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-10 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality CR-10 Smart 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-10 Smart 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality CR-20 Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-20 Pro 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality CR-6 0.4", "sub_path": "process/0.20mm Standard @Creality CR-6 0.4.json" @@ -406,6 +770,10 @@ "name": "0.20mm Standard @Creality CR-M4", "sub_path": "process/0.20mm Standard @Creality CR-M4.json" }, + { + "name": "0.20mm Standard @Creality CR-M4 SE 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality CR-M4 SE 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality CR10Max", "sub_path": "process/0.20mm Standard @Creality CR10Max.json" @@ -422,6 +790,34 @@ "name": "0.20mm Standard @Creality CR10V3 0.6", "sub_path": "process/0.20mm Standard @Creality CR10V3 0.6.json" }, + { + "name": "0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-3 Max 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-3 Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-3 V4 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality Ender3", "sub_path": "process/0.20mm Standard @Creality Ender3.json" @@ -530,14 +926,94 @@ "name": "0.20mm Standard @Creality Ender6", "sub_path": "process/0.20mm Standard @Creality Ender6.json" }, + { + "name": "0.20mm Standard @Creality Hi", + "sub_path": "process/0.20mm Standard @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K1 (0.4 nozzle)", + "sub_path": "process/0.20mm Standard @Creality K1 (0.4 nozzle).json" + }, + { + "name": "0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K1 SE", + "sub_path": "process/0.20mm Standard @Creality K1 SE 0.4.json" + }, + { + "name": "0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K1C", + "sub_path": "process/0.20mm Standard @Creality K1C 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K1Max (0.4 nozzle)", + "sub_path": "process/0.20mm Standard @Creality K1Max (0.4 nozzle).json" + }, + { + "name": "0.20mm Standard @Creality K1_CFS-C 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality K2 0.4 nozzle", "sub_path": "process/0.20mm Standard @Creality K2 0.4 nozzle.json" }, + { + "name": "0.20mm Standard @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality K2 SE 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Sermoon D3 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Sermoon D3 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Creality Sermoon M300 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Sermoon M300 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality Sermoon V1", "sub_path": "process/0.20mm Standard @Creality Sermoon V1.json" }, + { + "name": "0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle", + "sub_path": "process/0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle.json" + }, + { + "name": "0.24mm Detail @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json" + }, { "name": "0.24mm Draft @Creality CR-6 0.4", "sub_path": "process/0.24mm Draft @Creality CR-6 0.4.json" @@ -550,6 +1026,10 @@ "name": "0.24mm Draft @Creality CR10Max", "sub_path": "process/0.24mm Draft @Creality CR10Max.json" }, + { + "name": "0.24mm Draft @Creality Ender-3 V4 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json" + }, { "name": "0.24mm Draft @Creality Ender3 0.2", "sub_path": "process/0.24mm Draft @Creality Ender3 0.2.json" @@ -626,10 +1106,78 @@ "name": "0.24mm Draft @Creality Ender5Pro (2019)", "sub_path": "process/0.24mm Draft @Creality Ender5Pro (2019).json" }, + { + "name": "0.24mm Draft @Creality Hi", + "sub_path": "process/0.24mm Draft @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1 (0.4 nozzle)", + "sub_path": "process/0.24mm Draft @Creality K1 (0.4 nozzle).json" + }, + { + "name": "0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1 SE", + "sub_path": "process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1C", + "sub_path": "process/0.24mm Draft @Creality K1C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K1Max (0.4 nozzle)", + "sub_path": "process/0.24mm Draft @Creality K1Max (0.4 nozzle).json" + }, + { + "name": "0.24mm Draft @Creality K1_CFS-C 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K2 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json" + }, { "name": "0.24mm Optimal @Creality CR-6 0.8", "sub_path": "process/0.24mm Optimal @Creality CR-6 0.8.json" }, + { + "name": "0.24mm Optimal @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Standard @Creality Ender-3 V3 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Creality Ender-3 V3 0.8 nozzle.json" + }, + { + "name": "0.24mm Standard @Creality K2 SE 0.4 nozzle", + "sub_path": "process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json" + }, + { + "name": "0.24mm Standard @Creality Sermoon M300 0.4 nozzle", + "sub_path": "process/0.24mm Standard @Creality Sermoon M300 0.4 nozzle.json" + }, { "name": "0.28mm Draft @Creality Ender3 0.2", "sub_path": "process/0.28mm SuperDraft @Creality Ender3 0.2.json" @@ -662,6 +1210,10 @@ "name": "0.28mm Draft @Creality Ender3 Pro 0.8", "sub_path": "process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json" }, + { + "name": "0.28mm Standard @Creality Sermoon M300 0.4 nozzle", + "sub_path": "process/0.28mm Standard @Creality Sermoon M300 0.4 nozzle.json" + }, { "name": "0.28mm Standard @Creality Sermoon V1", "sub_path": "process/0.28mm Standard @Creality Sermoon V1.json" @@ -674,18 +1226,106 @@ "name": "0.28mm SuperDraft @Creality CR-6 0.6", "sub_path": "process/0.28mm SuperDraft @Creality CR-6 0.6.json" }, + { + "name": "0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json" + }, + { + "name": "0.28mm SuperDraft @Creality Hi 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json" + }, + { + "name": "0.28mm SuperDraft @Creality K2 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json" + }, + { + "name": "0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle", + "sub_path": "process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json" + }, + { + "name": "0.2mm Standard @Creality Ender-5 Max 0.4 nozzle", + "sub_path": "process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json" + }, + { + "name": "0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle", + "sub_path": "process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality Ender-5 Max 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality Hi", + "sub_path": "process/0.30mm Standard @Creality Hi 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality K1 (0.6 nozzle)", + "sub_path": "process/0.30mm Standard @Creality K1 (0.6 nozzle).json" + }, + { + "name": "0.30mm Standard @Creality K1 SE 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality K1C", + "sub_path": "process/0.30mm Standard @Creality K1C 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality K1Max (0.6 nozzle)", + "sub_path": "process/0.30mm Standard @Creality K1Max (0.6 nozzle).json" + }, { "name": "0.30mm Standard @Creality K2 0.6 nozzle", "sub_path": "process/0.30mm Standard @Creality K2 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality K2 Pro 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality SPARKX i7 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Creality Sermoon M300 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Creality Sermoon M300 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json" + }, { "name": "0.32mm Chunky @Creality CR-6 0.6", "sub_path": "process/0.32mm Chunky @Creality CR-6 0.6.json" }, + { + "name": "0.32mm Optimal @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json" + }, { "name": "0.32mm Standard @Creality CR-6 0.8", "sub_path": "process/0.32mm Standard @Creality CR-6 0.8.json" }, + { + "name": "0.32mm Standard @Creality Ender-3 V3 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Creality Ender-3 V3 0.8 nozzle.json" + }, + { + "name": "0.36mm Draft @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json" + }, { "name": "0.36mm SuperChunky @Creality CR-6 0.6", "sub_path": "process/0.36mm SuperChunky @Creality CR-6 0.6.json" @@ -694,10 +1334,66 @@ "name": "0.40mm Draft @Creality CR-6 0.8", "sub_path": "process/0.40mm Draft @Creality CR-6 0.8.json" }, + { + "name": "0.40mm Standard @Creality Ender-3 V3 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality Ender-3 V3 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality Ender-5 Max 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality Hi 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality Hi 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality K1 (0.8 nozzle)", + "sub_path": "process/0.40mm Standard @Creality K1 (0.8 nozzle).json" + }, + { + "name": "0.40mm Standard @Creality K1 SE 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality K1C", + "sub_path": "process/0.40mm Standard @Creality K1C 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality K1Max (0.8 nozzle)", + "sub_path": "process/0.40mm Standard @Creality K1Max (0.8 nozzle).json" + }, { "name": "0.40mm Standard @Creality K2 0.8 nozzle", "sub_path": "process/0.40mm Standard @Creality K2 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality K2 Pro 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality SPARKX i7 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Creality Sermoon M300 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Creality Sermoon M300 0.8 nozzle.json" + }, + { + "name": "0.40mm Strength @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json" + }, + { + "name": "0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle", + "sub_path": "process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json" + }, { "name": "0.44mm SuperExtraChunky @Creality CR-6 0.6", "sub_path": "process/0.44mm SuperExtraChunky @Creality CR-6 0.6.json" @@ -710,10 +1406,26 @@ "name": "0.48mm Draft @Creality CR-6 0.8", "sub_path": "process/0.48mm Draft @Creality CR-6 0.8.json" }, + { + "name": "0.48mm Draft @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Creality Ender-3 V3 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Creality Ender-3 V3 0.8 nozzle.json" + }, + { + "name": "0.56mm Standard @Creality Ender-3 V3 0.8 nozzle", + "sub_path": "process/0.56mm Standard @Creality Ender-3 V3 0.8 nozzle.json" + }, { "name": "0.56mm SuperChunky @Creality CR-6 0.8", "sub_path": "process/0.56mm SuperChunky @Creality CR-6 0.8.json" }, + { + "name": "0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle", + "sub_path": "process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json" + }, { "name": "fdm_process_common_klipper", "sub_path": "process/fdm_process_common_klipper.json" @@ -746,46 +1458,18 @@ "name": "fdm_process_creality_common_1_0", "sub_path": "process/fdm_process_creality_common_1_0.json" }, - { - "name": "0.08mm SuperDetail @Creality Hi", - "sub_path": "process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json" - }, { "name": "0.08mm SuperDetail @Creality K2 0.2 nozzle", "sub_path": "process/0.08mm SuperDetail @Creality K2 0.2 nozzle.json" }, - { - "name": "0.08mm SuperDetail @Creality K2 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle", - "sub_path": "process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json" - }, { "name": "0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle", "sub_path": "process/0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle.json" }, - { - "name": "0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.10mm HighDetail @Creality K2 0.2 nozzle", "sub_path": "process/0.10mm HighDetail @Creality K2 0.2 nozzle.json" }, - { - "name": "0.10mm HighDetail @Creality K2 Plus 0.2 nozzle", - "sub_path": "process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json" - }, { "name": "0.10mm HighDetail @Creality K2 Pro 0.2 nozzle", "sub_path": "process/0.10mm HighDetail @Creality K2 Pro 0.2 nozzle.json" @@ -794,26 +1478,10 @@ "name": "0.12mm Detail @Creality K2 0.2 nozzle", "sub_path": "process/0.12mm Detail @Creality K2 0.2 nozzle.json" }, - { - "name": "0.12mm Detail @Creality K2 0.4 nozzle", - "sub_path": "process/0.12mm Detail @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.12mm Detail @Creality K2 Plus 0.2 nozzle", - "sub_path": "process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json" - }, - { - "name": "0.12mm Detail @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json" - }, { "name": "0.12mm Detail @Creality K2 Pro 0.2 nozzle", "sub_path": "process/0.12mm Detail @Creality K2 Pro 0.2 nozzle.json" }, - { - "name": "0.12mm Detail @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.12mm Fine @Creality CR10SE 0.2", "sub_path": "process/0.12mm Fine @Creality CR10SE 0.2.json" @@ -842,10 +1510,6 @@ "name": "0.12mm Fine @Creality Ender3V3KE", "sub_path": "process/0.12mm Fine @Creality Ender3V3KE.json" }, - { - "name": "0.12mm Fine @Creality Hi", - "sub_path": "process/0.12mm Fine @Creality Hi 0.4 nozzle.json" - }, { "name": "0.12mm Fine @Creality K1 (0.4 nozzle)", "sub_path": "process/0.12mm Fine @Creality K1 (0.4 nozzle).json" @@ -866,10 +1530,6 @@ "name": "0.14mm Optimal @Creality K2 0.2 nozzle", "sub_path": "process/0.14mm Optimal @Creality K2 0.2 nozzle.json" }, - { - "name": "0.14mm Optimal @Creality K2 Plus 0.2 nozzle", - "sub_path": "process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json" - }, { "name": "0.14mm Optimal @Creality K2 Pro 0.2 nozzle", "sub_path": "process/0.14mm Optimal @Creality K2 Pro 0.2 nozzle.json" @@ -902,46 +1562,10 @@ "name": "0.16mm Optimal @Creality Ender3V3KE", "sub_path": "process/0.16mm Optimal @Creality Ender3V3KE.json" }, - { - "name": "0.16mm Optimal @Creality Hi", - "sub_path": "process/0.16mm Optimal @Creality Hi 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1 (0.4 nozzle)", - "sub_path": "process/0.16mm Optimal @Creality K1 (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Creality K1 SE", - "sub_path": "process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1C", - "sub_path": "process/0.16mm Optimal @Creality K1C 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1Max (0.4 nozzle)", - "sub_path": "process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Creality K2 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.18mm Detail @Creality K2 0.6 nozzle", "sub_path": "process/0.18mm Detail @Creality K2 0.6 nozzle.json" }, - { - "name": "0.18mm Detail @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json" - }, { "name": "0.18mm Detail @Creality K2 Pro 0.6 nozzle", "sub_path": "process/0.18mm Detail @Creality K2 Pro 0.6 nozzle.json" @@ -978,34 +1602,6 @@ "name": "0.20mm Standard @Creality Ender3V3KE", "sub_path": "process/0.20mm Standard @Creality Ender3V3KE.json" }, - { - "name": "0.20mm Standard @Creality Hi", - "sub_path": "process/0.20mm Standard @Creality Hi 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K1 (0.4 nozzle)", - "sub_path": "process/0.20mm Standard @Creality K1 (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Creality K1 SE", - "sub_path": "process/0.20mm Standard @Creality K1 SE 0.4.json" - }, - { - "name": "0.20mm Standard @Creality K1C", - "sub_path": "process/0.20mm Standard @Creality K1C 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K1Max (0.4 nozzle)", - "sub_path": "process/0.20mm Standard @Creality K1Max (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle", "sub_path": "process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json" @@ -1014,10 +1610,6 @@ "name": "0.24mm Detail @Creality K2 0.8 nozzle", "sub_path": "process/0.24mm Detail @Creality K2 0.8 nozzle.json" }, - { - "name": "0.24mm Detail @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json" - }, { "name": "0.24mm Detail @Creality K2 Pro 0.8 nozzle", "sub_path": "process/0.24mm Detail @Creality K2 Pro 0.8 nozzle.json" @@ -1050,38 +1642,6 @@ "name": "0.24mm Draft @Creality Ender3V3KE", "sub_path": "process/0.24mm Draft @Creality Ender3V3KE.json" }, - { - "name": "0.24mm Draft @Creality Hi", - "sub_path": "process/0.24mm Draft @Creality Hi 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1 (0.4 nozzle)", - "sub_path": "process/0.24mm Draft @Creality K1 (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Creality K1 SE", - "sub_path": "process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1C", - "sub_path": "process/0.24mm Draft @Creality K1C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1Max (0.4 nozzle)", - "sub_path": "process/0.24mm Draft @Creality K1Max (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Creality K2 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.24mm Optimal @Creality Ender-3 V3", "sub_path": "process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json" @@ -1110,26 +1670,10 @@ "name": "0.24mm Optimal @Creality K2 0.6 nozzle", "sub_path": "process/0.24mm Optimal @Creality K2 0.6 nozzle.json" }, - { - "name": "0.24mm Optimal @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json" - }, { "name": "0.24mm Optimal @Creality K2 Pro 0.6 nozzle", "sub_path": "process/0.24mm Optimal @Creality K2 Pro 0.6 nozzle.json" }, - { - "name": "0.28mm SuperDraft @Creality K2 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json" - }, { "name": "0.30mm Standard @Creality Ender-3 V3", "sub_path": "process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json" @@ -1138,30 +1682,6 @@ "name": "0.30mm Standard @Creality Ender-3 V3 Plus", "sub_path": "process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json" }, - { - "name": "0.30mm Standard @Creality Hi", - "sub_path": "process/0.30mm Standard @Creality Hi 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality K1 (0.6 nozzle)", - "sub_path": "process/0.30mm Standard @Creality K1 (0.6 nozzle).json" - }, - { - "name": "0.30mm Standard @Creality K1C", - "sub_path": "process/0.30mm Standard @Creality K1C 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality K1Max (0.6 nozzle)", - "sub_path": "process/0.30mm Standard @Creality K1Max (0.6 nozzle).json" - }, - { - "name": "0.30mm Standard @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality K2 Pro 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json" - }, { "name": "0.32mm Optimal @Creality K1 (0.8 nozzle)", "sub_path": "process/0.32mm Optimal @Creality K1 (0.8 nozzle).json" @@ -1178,10 +1698,6 @@ "name": "0.32mm Optimal @Creality K2 0.8 nozzle", "sub_path": "process/0.32mm Optimal @Creality K2 0.8 nozzle.json" }, - { - "name": "0.32mm Optimal @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json" - }, { "name": "0.32mm Optimal @Creality K2 Pro 0.8 nozzle", "sub_path": "process/0.32mm Optimal @Creality K2 Pro 0.8 nozzle.json" @@ -1214,46 +1730,14 @@ "name": "0.36mm Draft @Creality K2 0.6 nozzle", "sub_path": "process/0.36mm Draft @Creality K2 0.6 nozzle.json" }, - { - "name": "0.36mm Draft @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json" - }, { "name": "0.36mm Draft @Creality K2 Pro 0.6 nozzle", "sub_path": "process/0.36mm Draft @Creality K2 Pro 0.6 nozzle.json" }, - { - "name": "0.40mm Standard @Creality K1 (0.8 nozzle)", - "sub_path": "process/0.40mm Standard @Creality K1 (0.8 nozzle).json" - }, - { - "name": "0.40mm Standard @Creality K1C", - "sub_path": "process/0.40mm Standard @Creality K1C 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality K1 SE 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality K1Max (0.8 nozzle)", - "sub_path": "process/0.40mm Standard @Creality K1Max (0.8 nozzle).json" - }, - { - "name": "0.40mm Standard @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality K2 Pro 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json" - }, { "name": "0.42mm SuperDraft @Creality K2 0.6 nozzle", "sub_path": "process/0.42mm SuperDraft @Creality K2 0.6 nozzle.json" }, - { - "name": "0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json" - }, { "name": "0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle", "sub_path": "process/0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle.json" @@ -1274,10 +1758,6 @@ "name": "0.48mm Draft @Creality K2 0.8 nozzle", "sub_path": "process/0.48mm Draft @Creality K2 0.8 nozzle.json" }, - { - "name": "0.48mm Draft @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json" - }, { "name": "0.48mm Draft @Creality K2 Pro 0.8 nozzle", "sub_path": "process/0.48mm Draft @Creality K2 Pro 0.8 nozzle.json" @@ -1286,10 +1766,6 @@ "name": "0.56mm SuperDraft @Creality K2 0.8 nozzle", "sub_path": "process/0.56mm SuperDraft @Creality K2 0.8 nozzle.json" }, - { - "name": "0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json" - }, { "name": "0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle", "sub_path": "process/0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle.json" @@ -1421,210 +1897,6 @@ { "name": "0.36mm Chunky @Creality Ender5Pro (2019) 1.0", "sub_path": "process/0.36mm Chunky @Creality Ender5Pro (2019) 1.0.json" - }, - { - "name": "0.20mm Standard @Creality K1_CFS-C 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality K1 SE 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality SPARKX i7 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality SPARKX i7 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json" - }, - { - "name": "0.08mm HueForge @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.08mm HueForge @Creality K2 0.4 nozzle", - "sub_path": "process/0.08mm HueForge @Creality K2 0.4 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality Hi 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality Hi 0.8 nozzle.json" - }, - { - "name": "0.08mm HueForge @Creality Hi 0.4 nozzle", - "sub_path": "process/0.08mm HueForge @Creality Hi 0.4 nozzle.json" - }, - { - "name": "0.1mm Standard @Creality Hi 0.2 nozzle", - "sub_path": "process/0.1mm Standard @Creality Hi 0.2 nozzle.json" - }, - { - "name": "0.16mm Standard @Creality K2 SE 0.4 nozzle", - "sub_path": "process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality K2 SE 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json" - }, - { - "name": "0.24mm Standard @Creality K2 SE 0.4 nozzle", - "sub_path": "process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json" - }, - { - "name": "0.08mm HueForge @Creality K2 Pro 0.4 nozzle", - "sub_path": "process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Creality Ender-3 V4 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json" - }, - { - "name": "0.40mm Strength @Creality K2 Plus 0.8 nozzle", - "sub_path": "process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Creality K2 Plus 0.6 nozzle", - "sub_path": "process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json" - }, - { - "name": "0.08mm HueForge @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm High Quality @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Creality K2 Plus 0.4 nozzle", - "sub_path": "process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json" - }, - { - "name": "0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle", - "sub_path": "process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K1 (0.4 nozzle)", - "sub_path": "process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json" - }, - { - "name": "0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K1C 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.08mm SuperDetail @Creality K1Max (0.4 nozzle)", - "sub_path": "process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json" - }, - { - "name": "0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle", - "sub_path": "process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.16mm Fine @Creality Ender-3 V4 0.4 nozzle", - "sub_path": "process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle", - "sub_path": "process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality Ender-3 V4 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Creality K1_CFS-C 0.4 nozzle", - "sub_path": "process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json" - }, - { - "name": "0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json" - }, - { - "name": "0.28mm SuperDraft @Creality Hi 0.4 nozzle", - "sub_path": "process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json" - }, - { - "name": "0.2mm Standard @Creality Ender-5 Max 0.4 nozzle", - "sub_path": "process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json" - }, - { - "name": "0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle", - "sub_path": "process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json" - }, - { - "name": "0.30mm Standard @Creality Ender-5 Max 0.6 nozzle", - "sub_path": "process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Creality Ender-5 Max 0.8 nozzle", - "sub_path": "process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json" } ], "filament_list": [ @@ -1633,28 +1905,20 @@ "sub_path": "filament/fdm_filament_common.json" }, { - "name": "Generic ABS @Creality Ender-5Max-all", - "sub_path": "filament/Generic ABS @Creality Ender-5Max-all.json" + "name": "fdm_filament_hips", + "sub_path": "filament/fdm_filament_hips.json" }, { - "name": "Generic ASA @Creality Ender-5Max-all", - "sub_path": "filament/Generic ASA @Creality Ender-5Max-all.json" + "name": "fdm_filament_petg", + "sub_path": "filament/fdm_filament_petg.json" }, { - "name": "Generic PA @Creality Ender-5Max-all", - "sub_path": "filament/Generic PA @Creality Ender-5Max-all.json" + "name": "fdm_filament_pp", + "sub_path": "filament/fdm_filament_pp.json" }, { - "name": "Generic PETG @Creality Ender-5Max-all", - "sub_path": "filament/Generic PETG @Creality Ender-5Max-all.json" - }, - { - "name": "Generic PLA @Creality Ender-5Max-all", - "sub_path": "filament/Generic PLA @Creality Ender-5Max-all.json" - }, - { - "name": "Generic TPU @Creality Ender-5Max-all", - "sub_path": "filament/Generic TPU @Creality Ender-5Max-all.json" + "name": "fdm_filament_pps", + "sub_path": "filament/fdm_filament_pps.json" }, { "name": "Creality Hyper ABS @Ender-5Max-all", @@ -1672,6 +1936,146 @@ "name": "Creality Silk PLA @Ender-5Max-all", "sub_path": "filament/Creality Silk PLA @Ender-5Max-all.json" }, + { + "name": "Generic ABS @Creality Ender-5Max-all", + "sub_path": "filament/Generic ABS @Creality Ender-5Max-all.json" + }, + { + "name": "Generic ASA @Creality Ender-5Max-all", + "sub_path": "filament/Generic ASA @Creality Ender-5Max-all.json" + }, + { + "name": "Generic ASA-CF @K2 Plus-all", + "sub_path": "filament/Generic ASA-CF @K2 Plus-all.json" + }, + { + "name": "Generic BVOH @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic BVOH @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic BVOH @Hi-all", + "sub_path": "filament/Generic BVOH @Hi-all.json" + }, + { + "name": "Generic BVOH @K1 Max_CFS-C-all", + "sub_path": "filament/Generic BVOH @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic BVOH @K1C-all", + "sub_path": "filament/Generic BVOH @K1C-all.json" + }, + { + "name": "Generic BVOH @K1C_CFS-C-all", + "sub_path": "filament/Generic BVOH @K1C_CFS-C-all.json" + }, + { + "name": "Generic BVOH @K1_CFS-C-all", + "sub_path": "filament/Generic BVOH @K1_CFS-C-all.json" + }, + { + "name": "Generic BVOH @K2 Plus-all", + "sub_path": "filament/Generic BVOH @K2 Plus-all.json" + }, + { + "name": "Generic BVOH @K2 Pro-all", + "sub_path": "filament/Generic BVOH @K2 Pro-all.json" + }, + { + "name": "Generic BVOH @K2-all", + "sub_path": "filament/Generic BVOH @K2-all.json" + }, + { + "name": "Generic PA @Creality Ender-5Max-all", + "sub_path": "filament/Generic PA @Creality Ender-5Max-all.json" + }, + { + "name": "Generic PA6-GF @K2 Plus-all", + "sub_path": "filament/Generic PA6-GF @K2 Plus-all.json" + }, + { + "name": "Generic PCTG @K2 Plus-all", + "sub_path": "filament/Generic PCTG @K2 Plus-all.json" + }, + { + "name": "Generic PETG @Creality Ender-5Max-all", + "sub_path": "filament/Generic PETG @Creality Ender-5Max-all.json" + }, + { + "name": "Generic PETG-GF @K2 Plus-all", + "sub_path": "filament/Generic PETG-GF @K2 Plus-all.json" + }, + { + "name": "Generic PETG-GF @K2 Pro-all", + "sub_path": "filament/Generic PETG-GF @K2 Pro-all.json" + }, + { + "name": "Generic PETG-GF @K2-all", + "sub_path": "filament/Generic PETG-GF @K2-all.json" + }, + { + "name": "Generic PLA @Creality Ender-5Max-all", + "sub_path": "filament/Generic PLA @Creality Ender-5Max-all.json" + }, + { + "name": "Generic PP-CF @K2 Plus-all", + "sub_path": "filament/Generic PP-CF @K2 Plus-all.json" + }, + { + "name": "Generic PVA @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PVA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PVA @Hi-all", + "sub_path": "filament/Generic PVA @Hi-all.json" + }, + { + "name": "Generic PVA @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PVA @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PVA @K1C-all", + "sub_path": "filament/Generic PVA @K1C-all.json" + }, + { + "name": "Generic PVA @K1C_CFS-C-all", + "sub_path": "filament/Generic PVA @K1C_CFS-C-all.json" + }, + { + "name": "Generic PVA @K1_CFS-C-all", + "sub_path": "filament/Generic PVA @K1_CFS-C-all.json" + }, + { + "name": "Generic PVA @K2 Plus-all", + "sub_path": "filament/Generic PVA @K2 Plus-all.json" + }, + { + "name": "Generic PVA @K2 Pro-all", + "sub_path": "filament/Generic PVA @K2 Pro-all.json" + }, + { + "name": "Generic PVA @K2-all", + "sub_path": "filament/Generic PVA @K2-all.json" + }, + { + "name": "Generic TPU @Creality Ender-5Max-all", + "sub_path": "filament/Generic TPU @Creality Ender-5Max-all.json" + }, + { + "name": "Hyper PETG-GF @K1C-all", + "sub_path": "filament/Hyper PETG-GF @K1C-all.json" + }, + { + "name": "Hyper PETG-GF @K2 Plus-all", + "sub_path": "filament/Hyper PETG-GF @K2 Plus-all.json" + }, + { + "name": "Hyper PETG-GF @K2 Pro-all", + "sub_path": "filament/Hyper PETG-GF @K2 Pro-all.json" + }, + { + "name": "Hyper PETG-GF @K2-all", + "sub_path": "filament/Hyper PETG-GF @K2-all.json" + }, { "name": "fdm_filament_abs", "sub_path": "filament/fdm_filament_abs.json" @@ -1700,46 +2104,2718 @@ "name": "fdm_filament_tpu", "sub_path": "filament/fdm_filament_tpu.json" }, + { + "name": "Generic HIPS @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic HIPS @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic HIPS @K1 Max_CFS-C-all", + "sub_path": "filament/Generic HIPS @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic HIPS @K1C-all", + "sub_path": "filament/Generic HIPS @K1C-all.json" + }, + { + "name": "Generic HIPS @K1C_CFS-C-all", + "sub_path": "filament/Generic HIPS @K1C_CFS-C-all.json" + }, + { + "name": "Generic HIPS @K1_CFS-C-all", + "sub_path": "filament/Generic HIPS @K1_CFS-C-all.json" + }, + { + "name": "Generic HIPS @K2 Plus-all", + "sub_path": "filament/Generic HIPS @K2 Plus-all.json" + }, + { + "name": "CR-PETG @CR-10 SE-all", + "sub_path": "filament/CR-PETG @CR-10 SE-all.json" + }, + { + "name": "CR-PETG @CR-10 Smart Pro-all", + "sub_path": "filament/CR-PETG @CR-10 Smart Pro-all.json" + }, + { + "name": "CR-PETG @CR-10-all", + "sub_path": "filament/CR-PETG @CR-10-all.json" + }, + { + "name": "CR-PETG @CR-M4 SE-all", + "sub_path": "filament/CR-PETG @CR-M4 SE-all.json" + }, + { + "name": "CR-PETG @Ender-2 Pro-all", + "sub_path": "filament/CR-PETG @Ender-2 Pro-all.json" + }, + { + "name": "CR-PETG @Ender-3 S1 Plus-all", + "sub_path": "filament/CR-PETG @Ender-3 S1 Plus-all.json" + }, + { + "name": "CR-PETG @Ender-3 S1 Pro-all", + "sub_path": "filament/CR-PETG @Ender-3 S1 Pro-all.json" + }, + { + "name": "CR-PETG @Ender-3 S1 Sonic-all", + "sub_path": "filament/CR-PETG @Ender-3 S1 Sonic-all.json" + }, + { + "name": "CR-PETG @Ender-3 S1-all", + "sub_path": "filament/CR-PETG @Ender-3 S1-all.json" + }, + { + "name": "CR-PETG @Ender-3 V2-all", + "sub_path": "filament/CR-PETG @Ender-3 V2-all.json" + }, + { + "name": "CR-PETG @Ender-3 V3 KE-all", + "sub_path": "filament/CR-PETG @Ender-3 V3 KE-all.json" + }, + { + "name": "CR-PETG @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-PETG @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-PETG @Ender-3 V3-all", + "sub_path": "filament/CR-PETG @Ender-3 V3-all.json" + }, + { + "name": "CR-PETG @Ender-3 V4-all", + "sub_path": "filament/CR-PETG @Ender-3 V4-all.json" + }, + { + "name": "CR-PETG @Ender-3-all", + "sub_path": "filament/CR-PETG @Ender-3-all.json" + }, + { + "name": "CR-PETG @Ender-5 S1 Sonic-all", + "sub_path": "filament/CR-PETG @Ender-5 S1 Sonic-all.json" + }, + { + "name": "CR-PETG @Ender-5 S1-all", + "sub_path": "filament/CR-PETG @Ender-5 S1-all.json" + }, + { + "name": "CR-PETG @Hi-all", + "sub_path": "filament/CR-PETG @Hi-all.json" + }, + { + "name": "CR-PETG @K1 Max_CFS-C-all", + "sub_path": "filament/CR-PETG @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-PETG @K1 SE-all", + "sub_path": "filament/CR-PETG @K1 SE-all.json" + }, + { + "name": "CR-PETG @K1 SE_CFS-C-all", + "sub_path": "filament/CR-PETG @K1 SE_CFS-C-all.json" + }, + { + "name": "CR-PETG @K1C-all", + "sub_path": "filament/CR-PETG @K1C-all.json" + }, + { + "name": "CR-PETG @K1C_CFS-C-all", + "sub_path": "filament/CR-PETG @K1C_CFS-C-all.json" + }, + { + "name": "CR-PETG @K1_CFS-C-all", + "sub_path": "filament/CR-PETG @K1_CFS-C-all.json" + }, + { + "name": "CR-PETG @K2 Plus-all", + "sub_path": "filament/CR-PETG @K2 Plus-all.json" + }, + { + "name": "CR-PETG @K2 Pro-all", + "sub_path": "filament/CR-PETG @K2 Pro-all.json" + }, + { + "name": "CR-PETG @K2 SE-all", + "sub_path": "filament/CR-PETG @K2 SE-all.json" + }, + { + "name": "CR-PETG @K2-all", + "sub_path": "filament/CR-PETG @K2-all.json" + }, + { + "name": "CR-PETG @SPARKX i7-all", + "sub_path": "filament/CR-PETG @SPARKX i7-all.json" + }, + { + "name": "CR-PETG @Sermoon D3 Pro-all", + "sub_path": "filament/CR-PETG @Sermoon D3 Pro-all.json" + }, + { + "name": "CR-PETG @Sermoon D3-all", + "sub_path": "filament/CR-PETG @Sermoon D3-all.json" + }, + { + "name": "CR-PETG @Sermoon M300-all", + "sub_path": "filament/CR-PETG @Sermoon M300-all.json" + }, + { + "name": "CR-PETG @Sermoon V1 Pro-all", + "sub_path": "filament/CR-PETG @Sermoon V1 Pro-all.json" + }, + { + "name": "Generic PETG @CR-10 Smart-all", + "sub_path": "filament/Generic PETG @CR-10 Smart-all.json" + }, + { + "name": "Generic PETG @CR-10S Pro V2-all", + "sub_path": "filament/Generic PETG @CR-10S Pro V2-all.json" + }, + { + "name": "Generic PETG @CR-20 Pro-all", + "sub_path": "filament/Generic PETG @CR-20 Pro-all.json" + }, + { + "name": "Generic PETG @CR-6 SE-all", + "sub_path": "filament/Generic PETG @CR-6 SE-all.json" + }, + { + "name": "Generic PETG @CR-M4-all", + "sub_path": "filament/Generic PETG @CR-M4-all.json" + }, + { + "name": "Generic PETG @Ender-3 Max Neo-all", + "sub_path": "filament/Generic PETG @Ender-3 Max Neo-all.json" + }, + { + "name": "Generic PETG @Ender-3 Max-all", + "sub_path": "filament/Generic PETG @Ender-3 Max-all.json" + }, + { + "name": "Generic PETG @Ender-3 Neo-all", + "sub_path": "filament/Generic PETG @Ender-3 Neo-all.json" + }, + { + "name": "Generic PETG @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PETG @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PETG @Ender-3 V3 SE-all", + "sub_path": "filament/Generic PETG @Ender-3 V3 SE-all.json" + }, + { + "name": "Generic PETG @Ender-3 V3-all", + "sub_path": "filament/Generic PETG @Ender-3 V3-all.json" + }, + { + "name": "Generic PETG @Ender-3 V4-all", + "sub_path": "filament/Generic PETG @Ender-3 V4-all.json" + }, + { + "name": "Generic PETG @Hi-all", + "sub_path": "filament/Generic PETG @Hi-all.json" + }, + { + "name": "Generic PETG @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PETG @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PETG @K1 SE-all", + "sub_path": "filament/Generic PETG @K1 SE-all.json" + }, + { + "name": "Generic PETG @K1 SE_CFS-C-all", + "sub_path": "filament/Generic PETG @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic PETG @K1C-all", + "sub_path": "filament/Generic PETG @K1C-all.json" + }, + { + "name": "Generic PETG @K1C_CFS-C-all", + "sub_path": "filament/Generic PETG @K1C_CFS-C-all.json" + }, + { + "name": "Generic PETG @K1_CFS-C-all", + "sub_path": "filament/Generic PETG @K1_CFS-C-all.json" + }, + { + "name": "Generic PETG @K2 Plus-all", + "sub_path": "filament/Generic PETG @K2 Plus-all.json" + }, + { + "name": "Generic PETG @K2 Pro-all", + "sub_path": "filament/Generic PETG @K2 Pro-all.json" + }, + { + "name": "Generic PETG @K2 SE-all", + "sub_path": "filament/Generic PETG @K2 SE-all.json" + }, + { + "name": "Generic PETG @K2-all", + "sub_path": "filament/Generic PETG @K2-all.json" + }, + { + "name": "Generic PETG @SPARKX i7-all", + "sub_path": "filament/Generic PETG @SPARKX i7-all.json" + }, + { + "name": "Generic PETG @Sermoon M300-all", + "sub_path": "filament/Generic PETG @Sermoon M300-all.json" + }, + { + "name": "Generic PETG-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PETG-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PETG-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PETG-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PETG-CF @K1C-all", + "sub_path": "filament/Generic PETG-CF @K1C-all.json" + }, + { + "name": "Generic PETG-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PETG-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PETG-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PETG-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PETG-CF @K2 Plus-all", + "sub_path": "filament/Generic PETG-CF @K2 Plus-all.json" + }, + { + "name": "Generic PETG-CF @K2 Pro-all", + "sub_path": "filament/Generic PETG-CF @K2 Pro-all.json" + }, + { + "name": "Generic PETG-CF @K2-all", + "sub_path": "filament/Generic PETG-CF @K2-all.json" + }, + { + "name": "Generic PETG-CF @SPARKX i7-all", + "sub_path": "filament/Generic PETG-CF @SPARKX i7-all.json" + }, + { + "name": "Hyper PETG @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper PETG @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper PETG @Ender-3 V3-all", + "sub_path": "filament/Hyper PETG @Ender-3 V3-all.json" + }, + { + "name": "Hyper PETG @Ender-3 V4-all", + "sub_path": "filament/Hyper PETG @Ender-3 V4-all.json" + }, + { + "name": "Hyper PETG @Hi-all", + "sub_path": "filament/Hyper PETG @Hi-all.json" + }, + { + "name": "Hyper PETG @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper PETG @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper PETG @K1 SE-all", + "sub_path": "filament/Hyper PETG @K1 SE-all.json" + }, + { + "name": "Hyper PETG @K1 SE_CFS-C-all", + "sub_path": "filament/Hyper PETG @K1 SE_CFS-C-all.json" + }, + { + "name": "Hyper PETG @K1C-all", + "sub_path": "filament/Hyper PETG @K1C-all.json" + }, + { + "name": "Hyper PETG @K1C_CFS-C-all", + "sub_path": "filament/Hyper PETG @K1C_CFS-C-all.json" + }, + { + "name": "Hyper PETG @K1_CFS-C-all", + "sub_path": "filament/Hyper PETG @K1_CFS-C-all.json" + }, + { + "name": "Hyper PETG @K2 Plus-all", + "sub_path": "filament/Hyper PETG @K2 Plus-all.json" + }, + { + "name": "Hyper PETG @K2 Pro-all", + "sub_path": "filament/Hyper PETG @K2 Pro-all.json" + }, + { + "name": "Hyper PETG @K2 SE-all", + "sub_path": "filament/Hyper PETG @K2 SE-all.json" + }, + { + "name": "Hyper PETG @K2-all", + "sub_path": "filament/Hyper PETG @K2-all.json" + }, + { + "name": "Hyper PETG @SPARKX i7-all", + "sub_path": "filament/Hyper PETG @SPARKX i7-all.json" + }, + { + "name": "Hyper PETG @Sermoon M300-all", + "sub_path": "filament/Hyper PETG @Sermoon M300-all.json" + }, + { + "name": "Hyper PETG-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper PETG-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper PETG-CF @K1C-all", + "sub_path": "filament/Hyper PETG-CF @K1C-all.json" + }, + { + "name": "Hyper PETG-CF @K1C_CFS-C-all", + "sub_path": "filament/Hyper PETG-CF @K1C_CFS-C-all.json" + }, + { + "name": "Hyper PETG-CF @K1_CFS-C-all", + "sub_path": "filament/Hyper PETG-CF @K1_CFS-C-all.json" + }, + { + "name": "Hyper PETG-CF @K2 Plus-all", + "sub_path": "filament/Hyper PETG-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PETG-CF @K2 Pro-all", + "sub_path": "filament/Hyper PETG-CF @K2 Pro-all.json" + }, + { + "name": "Hyper PETG-CF @K2-all", + "sub_path": "filament/Hyper PETG-CF @K2-all.json" + }, + { + "name": "Hyper PETG-CF @SPARKX i7-all", + "sub_path": "filament/Hyper PETG-CF @SPARKX i7-all.json" + }, + { + "name": "Soleyin Basic PETG @Ender-3 V3 KE-all", + "sub_path": "filament/Soleyin Basic PETG @Ender-3 V3 KE-all.json" + }, + { + "name": "Soleyin Basic PETG @Ender-3 V3 Plus-all", + "sub_path": "filament/Soleyin Basic PETG @Ender-3 V3 Plus-all.json" + }, + { + "name": "Soleyin Basic PETG @Ender-3 V3 SE-all", + "sub_path": "filament/Soleyin Basic PETG @Ender-3 V3 SE-all.json" + }, + { + "name": "Soleyin Basic PETG @Ender-3 V3-all", + "sub_path": "filament/Soleyin Basic PETG @Ender-3 V3-all.json" + }, + { + "name": "Soleyin Basic PETG @Hi-all", + "sub_path": "filament/Soleyin Basic PETG @Hi-all.json" + }, + { + "name": "Soleyin Basic PETG @K1C-all", + "sub_path": "filament/Soleyin Basic PETG @K1C-all.json" + }, + { + "name": "Soleyin Basic PETG @K2 Plus-all", + "sub_path": "filament/Soleyin Basic PETG @K2 Plus-all.json" + }, + { + "name": "Soleyin Basic PETG @K2 Pro-all", + "sub_path": "filament/Soleyin Basic PETG @K2 Pro-all.json" + }, + { + "name": "Soleyin Basic PETG @K2-all", + "sub_path": "filament/Soleyin Basic PETG @K2-all.json" + }, + { + "name": "Soleyin Basic PETG @SPARKX i7-all", + "sub_path": "filament/Soleyin Basic PETG @SPARKX i7-all.json" + }, + { + "name": "Soleyin Basic PETG @Sermoon M300-all", + "sub_path": "filament/Soleyin Basic PETG @Sermoon M300-all.json" + }, + { + "name": "eSUN PETG @K2 Plus-all", + "sub_path": "filament/eSUN PETG @K2 Plus-all.json" + }, + { + "name": "eSUN PETG+HS @K2 Plus-all", + "sub_path": "filament/eSUN PETG+HS @K2 Plus-all.json" + }, + { + "name": "eSUN PETG-Basic @K2 Plus-all", + "sub_path": "filament/eSUN PETG-Basic @K2 Plus-all.json" + }, + { + "name": "Generic PP @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PP @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PP @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PP @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PP @K1C-all", + "sub_path": "filament/Generic PP @K1C-all.json" + }, + { + "name": "Generic PP @K1C_CFS-C-all", + "sub_path": "filament/Generic PP @K1C_CFS-C-all.json" + }, + { + "name": "Generic PP @K1_CFS-C-all", + "sub_path": "filament/Generic PP @K1_CFS-C-all.json" + }, + { + "name": "Generic PP @K2 Plus-all", + "sub_path": "filament/Generic PP @K2 Plus-all.json" + }, + { + "name": "Generic PP @K2 Pro-all", + "sub_path": "filament/Generic PP @K2 Pro-all.json" + }, + { + "name": "Generic PP @K2-all", + "sub_path": "filament/Generic PP @K2-all.json" + }, + { + "name": "Generic PPS @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PPS @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PPS @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PPS @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PPS @K1C-all", + "sub_path": "filament/Generic PPS @K1C-all.json" + }, + { + "name": "Generic PPS @K1C_CFS-C-all", + "sub_path": "filament/Generic PPS @K1C_CFS-C-all.json" + }, + { + "name": "Generic PPS @K1_CFS-C-all", + "sub_path": "filament/Generic PPS @K1_CFS-C-all.json" + }, + { + "name": "Generic PPS @K2 Plus-all", + "sub_path": "filament/Generic PPS @K2 Plus-all.json" + }, + { + "name": "Generic PPS-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PPS-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PPS-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PPS-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PPS-CF @K1C-all", + "sub_path": "filament/Generic PPS-CF @K1C-all.json" + }, + { + "name": "Generic PPS-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PPS-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PPS-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PPS-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PPS-CF @K2 Plus-all", + "sub_path": "filament/Generic PPS-CF @K2 Plus-all.json" + }, + { + "name": "CR-ABS @Ender-2 Pro-all", + "sub_path": "filament/CR-ABS @Ender-2 Pro-all.json" + }, + { + "name": "CR-ABS @Ender-3 S1 Plus-all", + "sub_path": "filament/CR-ABS @Ender-3 S1 Plus-all.json" + }, + { + "name": "CR-ABS @Ender-3 S1 Pro-all", + "sub_path": "filament/CR-ABS @Ender-3 S1 Pro-all.json" + }, + { + "name": "CR-ABS @Ender-3 S1 Sonic-all", + "sub_path": "filament/CR-ABS @Ender-3 S1 Sonic-all.json" + }, + { + "name": "CR-ABS @Ender-3 S1-all", + "sub_path": "filament/CR-ABS @Ender-3 S1-all.json" + }, + { + "name": "CR-ABS @Ender-3 V3 KE-all", + "sub_path": "filament/CR-ABS @Ender-3 V3 KE-all.json" + }, + { + "name": "CR-ABS @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-ABS @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-ABS @Ender-3 V3-all", + "sub_path": "filament/CR-ABS @Ender-3 V3-all.json" + }, + { + "name": "CR-ABS @Ender-3 V4-all", + "sub_path": "filament/CR-ABS @Ender-3 V4-all.json" + }, + { + "name": "CR-ABS @Ender-3-all", + "sub_path": "filament/CR-ABS @Ender-3-all.json" + }, + { + "name": "CR-ABS @Ender-5 S1 Sonic-all", + "sub_path": "filament/CR-ABS @Ender-5 S1 Sonic-all.json" + }, + { + "name": "CR-ABS @Ender-5 S1-all", + "sub_path": "filament/CR-ABS @Ender-5 S1-all.json" + }, + { + "name": "CR-ABS @Hi-all", + "sub_path": "filament/CR-ABS @Hi-all.json" + }, + { + "name": "CR-ABS @K1 Max_CFS-C-all", + "sub_path": "filament/CR-ABS @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-ABS @K1 SE-all", + "sub_path": "filament/CR-ABS @K1 SE-all.json" + }, + { + "name": "CR-ABS @K1 SE_CFS-C-all", + "sub_path": "filament/CR-ABS @K1 SE_CFS-C-all.json" + }, + { + "name": "CR-ABS @K1C-all", + "sub_path": "filament/CR-ABS @K1C-all.json" + }, + { + "name": "CR-ABS @K1C_CFS-C-all", + "sub_path": "filament/CR-ABS @K1C_CFS-C-all.json" + }, + { + "name": "CR-ABS @K1_CFS-C-all", + "sub_path": "filament/CR-ABS @K1_CFS-C-all.json" + }, + { + "name": "CR-ABS @K2 Plus-all", + "sub_path": "filament/CR-ABS @K2 Plus-all.json" + }, + { + "name": "CR-ABS @K2 Pro-all", + "sub_path": "filament/CR-ABS @K2 Pro-all.json" + }, + { + "name": "CR-ABS @K2 SE-all", + "sub_path": "filament/CR-ABS @K2 SE-all.json" + }, + { + "name": "CR-ABS @K2-all", + "sub_path": "filament/CR-ABS @K2-all.json" + }, + { + "name": "CR-ABS @Sermoon D3 Pro-all", + "sub_path": "filament/CR-ABS @Sermoon D3 Pro-all.json" + }, + { + "name": "CR-ABS @Sermoon M300-all", + "sub_path": "filament/CR-ABS @Sermoon M300-all.json" + }, + { + "name": "Generic ABS @CR-10 SE-all", + "sub_path": "filament/Generic ABS @CR-10 SE-all.json" + }, + { + "name": "Generic ABS @CR-10 Smart Pro-all", + "sub_path": "filament/Generic ABS @CR-10 Smart Pro-all.json" + }, + { + "name": "Generic ABS @CR-10 Smart-all", + "sub_path": "filament/Generic ABS @CR-10 Smart-all.json" + }, + { + "name": "Generic ABS @CR-10-all", + "sub_path": "filament/Generic ABS @CR-10-all.json" + }, + { + "name": "Generic ABS @CR-10S Pro V2-all", + "sub_path": "filament/Generic ABS @CR-10S Pro V2-all.json" + }, + { + "name": "Generic ABS @CR-20 Pro-all", + "sub_path": "filament/Generic ABS @CR-20 Pro-all.json" + }, + { + "name": "Generic ABS @CR-6 SE-all", + "sub_path": "filament/Generic ABS @CR-6 SE-all.json" + }, + { + "name": "Generic ABS @CR-M4-all", + "sub_path": "filament/Generic ABS @CR-M4-all.json" + }, { "name": "Generic ABS @Creality", "sub_path": "filament/Generic ABS @Creality.json" }, + { + "name": "Generic ABS @Ender-3 Max Neo-all", + "sub_path": "filament/Generic ABS @Ender-3 Max Neo-all.json" + }, + { + "name": "Generic ABS @Ender-3 Max-all", + "sub_path": "filament/Generic ABS @Ender-3 Max-all.json" + }, + { + "name": "Generic ABS @Ender-3 Neo-all", + "sub_path": "filament/Generic ABS @Ender-3 Neo-all.json" + }, + { + "name": "Generic ABS @Ender-3 V2-all", + "sub_path": "filament/Generic ABS @Ender-3 V2-all.json" + }, + { + "name": "Generic ABS @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic ABS @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic ABS @Ender-3 V4-all", + "sub_path": "filament/Generic ABS @Ender-3 V4-all.json" + }, + { + "name": "Generic ABS @Hi-all", + "sub_path": "filament/Generic ABS @Hi-all.json" + }, + { + "name": "Generic ABS @K1 Max_CFS-C-all", + "sub_path": "filament/Generic ABS @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic ABS @K1 SE-all", + "sub_path": "filament/Generic ABS @K1 SE-all.json" + }, + { + "name": "Generic ABS @K1 SE_CFS-C-all", + "sub_path": "filament/Generic ABS @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic ABS @K1C-all", + "sub_path": "filament/Generic ABS @K1C-all.json" + }, + { + "name": "Generic ABS @K1C_CFS-C-all", + "sub_path": "filament/Generic ABS @K1C_CFS-C-all.json" + }, + { + "name": "Generic ABS @K1_CFS-C-all", + "sub_path": "filament/Generic ABS @K1_CFS-C-all.json" + }, + { + "name": "Generic ABS @K2 Plus-all", + "sub_path": "filament/Generic ABS @K2 Plus-all.json" + }, + { + "name": "Generic ABS @K2 Pro-all", + "sub_path": "filament/Generic ABS @K2 Pro-all.json" + }, + { + "name": "Generic ABS @K2 SE-all", + "sub_path": "filament/Generic ABS @K2 SE-all.json" + }, + { + "name": "Generic ABS @K2-all", + "sub_path": "filament/Generic ABS @K2-all.json" + }, + { + "name": "Generic ABS @Sermoon D3-all", + "sub_path": "filament/Generic ABS @Sermoon D3-all.json" + }, + { + "name": "Generic ABS @Sermoon M300-all", + "sub_path": "filament/Generic ABS @Sermoon M300-all.json" + }, + { + "name": "Generic ABS @Sermoon V1 Pro-all", + "sub_path": "filament/Generic ABS @Sermoon V1 Pro-all.json" + }, + { + "name": "Hyper ABS @CR-M4 SE-all", + "sub_path": "filament/Hyper ABS @CR-M4 SE-all.json" + }, + { + "name": "Hyper ABS @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper ABS @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper ABS @Ender-3 V4-all", + "sub_path": "filament/Hyper ABS @Ender-3 V4-all.json" + }, + { + "name": "Hyper ABS @Hi-all", + "sub_path": "filament/Hyper ABS @Hi-all.json" + }, + { + "name": "Hyper ABS @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper ABS @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper ABS @K1 SE-all", + "sub_path": "filament/Hyper ABS @K1 SE-all.json" + }, + { + "name": "Hyper ABS @K1 SE_CFS-C-all", + "sub_path": "filament/Hyper ABS @K1 SE_CFS-C-all.json" + }, + { + "name": "Hyper ABS @K1C-all", + "sub_path": "filament/Hyper ABS @K1C-all.json" + }, + { + "name": "Hyper ABS @K1C_CFS-C-all", + "sub_path": "filament/Hyper ABS @K1C_CFS-C-all.json" + }, + { + "name": "Hyper ABS @K1_CFS-C-all", + "sub_path": "filament/Hyper ABS @K1_CFS-C-all.json" + }, + { + "name": "Hyper ABS @K2 Plus-all", + "sub_path": "filament/Hyper ABS @K2 Plus-all.json" + }, + { + "name": "Hyper ABS @K2 Pro-all", + "sub_path": "filament/Hyper ABS @K2 Pro-all.json" + }, + { + "name": "Hyper ABS @K2 SE-all", + "sub_path": "filament/Hyper ABS @K2 SE-all.json" + }, + { + "name": "Hyper ABS @K2-all", + "sub_path": "filament/Hyper ABS @K2-all.json" + }, + { + "name": "Hyper ABS @Sermoon M300-all", + "sub_path": "filament/Hyper ABS @Sermoon M300-all.json" + }, + { + "name": "eSUN ABS+ @K2 Plus-all", + "sub_path": "filament/eSUN ABS+ @K2 Plus-all.json" + }, { "name": "Generic ASA @Creality", "sub_path": "filament/Generic ASA @Creality.json" }, + { + "name": "Generic ASA @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic ASA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic ASA @K1 Max_CFS-C-all", + "sub_path": "filament/Generic ASA @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic ASA @K1 SE-all", + "sub_path": "filament/Generic ASA @K1 SE-all.json" + }, + { + "name": "Generic ASA @K1 SE_CFS-C-all", + "sub_path": "filament/Generic ASA @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic ASA @K1C-all", + "sub_path": "filament/Generic ASA @K1C-all.json" + }, + { + "name": "Generic ASA @K1C_CFS-C-all", + "sub_path": "filament/Generic ASA @K1C_CFS-C-all.json" + }, + { + "name": "Generic ASA @K1_CFS-C-all", + "sub_path": "filament/Generic ASA @K1_CFS-C-all.json" + }, + { + "name": "Generic ASA @K2 Plus-all", + "sub_path": "filament/Generic ASA @K2 Plus-all.json" + }, + { + "name": "Generic ASA @K2 Pro-all", + "sub_path": "filament/Generic ASA @K2 Pro-all.json" + }, + { + "name": "Generic ASA @K2 SE-all", + "sub_path": "filament/Generic ASA @K2 SE-all.json" + }, + { + "name": "Generic ASA @K2-all", + "sub_path": "filament/Generic ASA @K2-all.json" + }, + { + "name": "Generic ASA @Sermoon M300-all", + "sub_path": "filament/Generic ASA @Sermoon M300-all.json" + }, + { + "name": "HP-ASA @CR-M4 SE-all", + "sub_path": "filament/HP-ASA @CR-M4 SE-all.json" + }, + { + "name": "HP-ASA @Ender-3 V3 KE-all", + "sub_path": "filament/HP-ASA @Ender-3 V3 KE-all.json" + }, + { + "name": "HP-ASA @Ender-3 V3 Plus-all", + "sub_path": "filament/HP-ASA @Ender-3 V3 Plus-all.json" + }, + { + "name": "HP-ASA @Ender-5 S1 Sonic-all", + "sub_path": "filament/HP-ASA @Ender-5 S1 Sonic-all.json" + }, + { + "name": "HP-ASA @Ender-5 S1-all", + "sub_path": "filament/HP-ASA @Ender-5 S1-all.json" + }, + { + "name": "HP-ASA @K1 Max_CFS-C-all", + "sub_path": "filament/HP-ASA @K1 Max_CFS-C-all.json" + }, + { + "name": "HP-ASA @K1C-all", + "sub_path": "filament/HP-ASA @K1C-all.json" + }, + { + "name": "HP-ASA @K1C_CFS-C-all", + "sub_path": "filament/HP-ASA @K1C_CFS-C-all.json" + }, + { + "name": "HP-ASA @K1_CFS-C-all", + "sub_path": "filament/HP-ASA @K1_CFS-C-all.json" + }, + { + "name": "HP-ASA @K2 Plus-all", + "sub_path": "filament/HP-ASA @K2 Plus-all.json" + }, + { + "name": "HP-ASA @K2 Pro-all", + "sub_path": "filament/HP-ASA @K2 Pro-all.json" + }, + { + "name": "HP-ASA @K2 SE-all", + "sub_path": "filament/HP-ASA @K2 SE-all.json" + }, + { + "name": "HP-ASA @K2-all", + "sub_path": "filament/HP-ASA @K2-all.json" + }, + { + "name": "HP-ASA @Sermoon M300-all", + "sub_path": "filament/HP-ASA @Sermoon M300-all.json" + }, + { + "name": "eSUN ASA+ @K2 Plus-all", + "sub_path": "filament/eSUN ASA+ @K2 Plus-all.json" + }, + { + "name": "CR-Nylon @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-Nylon @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-Nylon @K1 Max_CFS-C-all", + "sub_path": "filament/CR-Nylon @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-Nylon @K1C-all", + "sub_path": "filament/CR-Nylon @K1C-all.json" + }, + { + "name": "CR-Nylon @K1C_CFS-C-all", + "sub_path": "filament/CR-Nylon @K1C_CFS-C-all.json" + }, + { + "name": "CR-Nylon @K1_CFS-C-all", + "sub_path": "filament/CR-Nylon @K1_CFS-C-all.json" + }, + { + "name": "CR-Nylon @K2 Plus-all", + "sub_path": "filament/CR-Nylon @K2 Plus-all.json" + }, + { + "name": "Generic PA @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PA @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PA @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PA @K1C-all", + "sub_path": "filament/Generic PA @K1C-all.json" + }, + { + "name": "Generic PA @K1C_CFS-C-all", + "sub_path": "filament/Generic PA @K1C_CFS-C-all.json" + }, + { + "name": "Generic PA @K1_CFS-C-all", + "sub_path": "filament/Generic PA @K1_CFS-C-all.json" + }, + { + "name": "Generic PA @K2 Plus-all", + "sub_path": "filament/Generic PA @K2 Plus-all.json" + }, + { + "name": "Generic PA @K2 Pro-all", + "sub_path": "filament/Generic PA @K2 Pro-all.json" + }, + { + "name": "Generic PA @K2-all", + "sub_path": "filament/Generic PA @K2-all.json" + }, { "name": "Generic PA-CF @Creality", "sub_path": "filament/Generic PA-CF @Creality.json" }, + { + "name": "Generic PA-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PA-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PA-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PA-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PA-CF @K1C-all", + "sub_path": "filament/Generic PA-CF @K1C-all.json" + }, + { + "name": "Generic PA-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PA-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PA-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PA-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PA-CF @K2 Plus-all", + "sub_path": "filament/Generic PA-CF @K2 Plus-all.json" + }, + { + "name": "Generic PA12-CF @K2 Plus-all", + "sub_path": "filament/Generic PA12-CF @K2 Plus-all.json" + }, + { + "name": "Generic PA6-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PA6-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PA6-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PA6-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PA6-CF @K1C-all", + "sub_path": "filament/Generic PA6-CF @K1C-all.json" + }, + { + "name": "Generic PA6-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PA6-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PA6-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PA6-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PA6-CF @K2 Plus-all", + "sub_path": "filament/Generic PA6-CF @K2 Plus-all.json" + }, + { + "name": "Generic PA6-CF @K2 Pro-all", + "sub_path": "filament/Generic PA6-CF @K2 Pro-all.json" + }, + { + "name": "Generic PA612-CF @K2 Plus-all", + "sub_path": "filament/Generic PA612-CF @K2 Plus-all.json" + }, + { + "name": "Generic PA612-CF @K2 Pro-all", + "sub_path": "filament/Generic PA612-CF @K2 Pro-all.json" + }, + { + "name": "Generic PAHT-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PAHT-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PAHT-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PAHT-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PAHT-CF @K1C-all", + "sub_path": "filament/Generic PAHT-CF @K1C-all.json" + }, + { + "name": "Generic PAHT-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PAHT-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PAHT-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PAHT-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PAHT-CF @K2 Plus-all", + "sub_path": "filament/Generic PAHT-CF @K2 Plus-all.json" + }, + { + "name": "Generic PAHT-CF @K2 Pro-all", + "sub_path": "filament/Generic PAHT-CF @K2 Pro-all.json" + }, + { + "name": "Generic PAHT-CF @K2-all", + "sub_path": "filament/Generic PAHT-CF @K2-all.json" + }, + { + "name": "Generic Support for PA @K2 Plus-all", + "sub_path": "filament/Generic Support for PA @K2 Plus-all.json" + }, + { + "name": "Hyper PA6-CF @K2 Plus-all", + "sub_path": "filament/Hyper PA6-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PA6-CF @K2 Pro-all", + "sub_path": "filament/Hyper PA6-CF @K2 Pro-all.json" + }, + { + "name": "Hyper PA612-CF @K2 Plus-all", + "sub_path": "filament/Hyper PA612-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PA612-CF @K2 Pro-all", + "sub_path": "filament/Hyper PA612-CF @K2 Pro-all.json" + }, + { + "name": "Hyper PAHT-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper PAHT-CF @K1C-all", + "sub_path": "filament/Hyper PAHT-CF @K1C-all.json" + }, + { + "name": "Hyper PAHT-CF @K1C_CFS-C-all", + "sub_path": "filament/Hyper PAHT-CF @K1C_CFS-C-all.json" + }, + { + "name": "Hyper PAHT-CF @K1_CFS-C-all", + "sub_path": "filament/Hyper PAHT-CF @K1_CFS-C-all.json" + }, + { + "name": "Hyper PAHT-CF @K2 Plus-all", + "sub_path": "filament/Hyper PAHT-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PAHT-CF @K2 Pro-all", + "sub_path": "filament/Hyper PAHT-CF @K2 Pro-all.json" + }, + { + "name": "Hyper PAHT-CF @K2-all", + "sub_path": "filament/Hyper PAHT-CF @K2-all.json" + }, + { + "name": "Hyper PPA-CF @K2 Plus-all", + "sub_path": "filament/Hyper PPA-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PPA-CF @K2 Pro-all", + "sub_path": "filament/Hyper PPA-CF @K2 Pro-all.json" + }, { "name": "Generic PC @Creality", "sub_path": "filament/Generic PC @Creality.json" }, + { + "name": "Generic PC @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PC @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PC @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PC @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PC @K1C-all", + "sub_path": "filament/Generic PC @K1C-all.json" + }, + { + "name": "Generic PC @K1C_CFS-C-all", + "sub_path": "filament/Generic PC @K1C_CFS-C-all.json" + }, + { + "name": "Generic PC @K1_CFS-C-all", + "sub_path": "filament/Generic PC @K1_CFS-C-all.json" + }, + { + "name": "Generic PC @K2 Plus-all", + "sub_path": "filament/Generic PC @K2 Plus-all.json" + }, + { + "name": "Generic PC @K2 Pro-all", + "sub_path": "filament/Generic PC @K2 Pro-all.json" + }, + { + "name": "Hyper PC @K2 Plus-all", + "sub_path": "filament/Hyper PC @K2 Plus-all.json" + }, + { + "name": "Hyper PC @K2 Pro-all", + "sub_path": "filament/Hyper PC @K2 Pro-all.json" + }, + { + "name": "Generic PET @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PET @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PET @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PET @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PET @K1C-all", + "sub_path": "filament/Generic PET @K1C-all.json" + }, + { + "name": "Generic PET @K1C_CFS-C-all", + "sub_path": "filament/Generic PET @K1C_CFS-C-all.json" + }, + { + "name": "Generic PET @K1_CFS-C-all", + "sub_path": "filament/Generic PET @K1_CFS-C-all.json" + }, + { + "name": "Generic PET @K2 Plus-all", + "sub_path": "filament/Generic PET @K2 Plus-all.json" + }, + { + "name": "Generic PET @K2 Pro-all", + "sub_path": "filament/Generic PET @K2 Pro-all.json" + }, + { + "name": "Generic PET @K2-all", + "sub_path": "filament/Generic PET @K2-all.json" + }, + { + "name": "Generic PET-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PET-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PET-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PET-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PET-CF @K1C-all", + "sub_path": "filament/Generic PET-CF @K1C-all.json" + }, + { + "name": "Generic PET-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PET-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PET-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PET-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PET-CF @K2 Plus-all", + "sub_path": "filament/Generic PET-CF @K2 Plus-all.json" + }, + { + "name": "Generic PET-CF @K2 Pro-all", + "sub_path": "filament/Generic PET-CF @K2 Pro-all.json" + }, { "name": "Generic PETG @Creality", "sub_path": "filament/Generic PETG @Creality.json" }, + { + "name": "eSUN PET-Basic @K2 Plus-all", + "sub_path": "filament/eSUN PET-Basic @K2 Plus-all.json" + }, + { + "name": "CR-PLA @CR-10-all", + "sub_path": "filament/CR-PLA @CR-10-all.json" + }, + { + "name": "CR-PLA @CR-M4 SE-all", + "sub_path": "filament/CR-PLA @CR-M4 SE-all.json" + }, + { + "name": "CR-PLA @Ender-2 Pro-all", + "sub_path": "filament/CR-PLA @Ender-2 Pro-all.json" + }, + { + "name": "CR-PLA @Ender-3 S1 Plus-all", + "sub_path": "filament/CR-PLA @Ender-3 S1 Plus-all.json" + }, + { + "name": "CR-PLA @Ender-3 S1 Pro-all", + "sub_path": "filament/CR-PLA @Ender-3 S1 Pro-all.json" + }, + { + "name": "CR-PLA @Ender-3 S1 Sonic-all", + "sub_path": "filament/CR-PLA @Ender-3 S1 Sonic-all.json" + }, + { + "name": "CR-PLA @Ender-3 S1-all", + "sub_path": "filament/CR-PLA @Ender-3 S1-all.json" + }, + { + "name": "CR-PLA @Ender-3 V2-all", + "sub_path": "filament/CR-PLA @Ender-3 V2-all.json" + }, + { + "name": "CR-PLA @Ender-3 V3 KE-all", + "sub_path": "filament/CR-PLA @Ender-3 V3 KE-all.json" + }, + { + "name": "CR-PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-PLA @Ender-3 V3 SE-all", + "sub_path": "filament/CR-PLA @Ender-3 V3 SE-all.json" + }, + { + "name": "CR-PLA @Ender-3 V3-all", + "sub_path": "filament/CR-PLA @Ender-3 V3-all.json" + }, + { + "name": "CR-PLA @Ender-3 V4-all", + "sub_path": "filament/CR-PLA @Ender-3 V4-all.json" + }, + { + "name": "CR-PLA @Ender-3-all", + "sub_path": "filament/CR-PLA @Ender-3-all.json" + }, + { + "name": "CR-PLA @Ender-5 S1 Sonic-all", + "sub_path": "filament/CR-PLA @Ender-5 S1 Sonic-all.json" + }, + { + "name": "CR-PLA @Ender-5 S1-all", + "sub_path": "filament/CR-PLA @Ender-5 S1-all.json" + }, + { + "name": "CR-PLA @Hi-all", + "sub_path": "filament/CR-PLA @Hi-all.json" + }, + { + "name": "CR-PLA @K1 Max_CFS-C-all", + "sub_path": "filament/CR-PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-PLA @K1 SE-all", + "sub_path": "filament/CR-PLA @K1 SE-all.json" + }, + { + "name": "CR-PLA @K1 SE_CFS-C-all", + "sub_path": "filament/CR-PLA @K1 SE_CFS-C-all.json" + }, + { + "name": "CR-PLA @K1C-all", + "sub_path": "filament/CR-PLA @K1C-all.json" + }, + { + "name": "CR-PLA @K1C_CFS-C-all", + "sub_path": "filament/CR-PLA @K1C_CFS-C-all.json" + }, + { + "name": "CR-PLA @K1_CFS-C-all", + "sub_path": "filament/CR-PLA @K1_CFS-C-all.json" + }, + { + "name": "CR-PLA @K2 Plus-all", + "sub_path": "filament/CR-PLA @K2 Plus-all.json" + }, + { + "name": "CR-PLA @K2 Pro-all", + "sub_path": "filament/CR-PLA @K2 Pro-all.json" + }, + { + "name": "CR-PLA @K2 SE-all", + "sub_path": "filament/CR-PLA @K2 SE-all.json" + }, + { + "name": "CR-PLA @K2-all", + "sub_path": "filament/CR-PLA @K2-all.json" + }, + { + "name": "CR-PLA @SPARKX i7-all", + "sub_path": "filament/CR-PLA @SPARKX i7-all.json" + }, + { + "name": "CR-PLA @Sermoon D3-all", + "sub_path": "filament/CR-PLA @Sermoon D3-all.json" + }, + { + "name": "CR-PLA @Sermoon M300-all", + "sub_path": "filament/CR-PLA @Sermoon M300-all.json" + }, + { + "name": "CR-PLA @Sermoon V1 Pro-all", + "sub_path": "filament/CR-PLA @Sermoon V1 Pro-all.json" + }, + { + "name": "CR-PLA Carbon @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-PLA Carbon @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-PLA Carbon @Ender-3 V3-all", + "sub_path": "filament/CR-PLA Carbon @Ender-3 V3-all.json" + }, + { + "name": "CR-PLA Carbon @K1 Max_CFS-C-all", + "sub_path": "filament/CR-PLA Carbon @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-PLA Carbon @K1C-all", + "sub_path": "filament/CR-PLA Carbon @K1C-all.json" + }, + { + "name": "CR-PLA Carbon @K1C_CFS-C-all", + "sub_path": "filament/CR-PLA Carbon @K1C_CFS-C-all.json" + }, + { + "name": "CR-PLA Carbon @K1_CFS-C-all", + "sub_path": "filament/CR-PLA Carbon @K1_CFS-C-all.json" + }, + { + "name": "CR-PLA Carbon @K2 Plus-all", + "sub_path": "filament/CR-PLA Carbon @K2 Plus-all.json" + }, + { + "name": "CR-PLA Fluo @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-PLA Fluo @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-PLA Fluo @Ender-3 V3-all", + "sub_path": "filament/CR-PLA Fluo @Ender-3 V3-all.json" + }, + { + "name": "CR-PLA Fluo @K1 Max_CFS-C-all", + "sub_path": "filament/CR-PLA Fluo @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-PLA Fluo @K1C-all", + "sub_path": "filament/CR-PLA Fluo @K1C-all.json" + }, + { + "name": "CR-PLA Fluo @K1C_CFS-C-all", + "sub_path": "filament/CR-PLA Fluo @K1C_CFS-C-all.json" + }, + { + "name": "CR-PLA Fluo @K1_CFS-C-all", + "sub_path": "filament/CR-PLA Fluo @K1_CFS-C-all.json" + }, + { + "name": "CR-PLA Fluo @K2 Plus-all", + "sub_path": "filament/CR-PLA Fluo @K2 Plus-all.json" + }, + { + "name": "CR-PLA Fluo @K2 Pro-all", + "sub_path": "filament/CR-PLA Fluo @K2 Pro-all.json" + }, + { + "name": "CR-PLA Fluo @K2-all", + "sub_path": "filament/CR-PLA Fluo @K2-all.json" + }, + { + "name": "CR-PLA Fluo @SPARKX i7-all", + "sub_path": "filament/CR-PLA Fluo @SPARKX i7-all.json" + }, + { + "name": "CR-PLA Matte @CR-10 SE-all", + "sub_path": "filament/CR-PLA Matte @CR-10 SE-all.json" + }, + { + "name": "CR-PLA Matte @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-PLA Matte @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-PLA Matte @Ender-3 V3-all", + "sub_path": "filament/CR-PLA Matte @Ender-3 V3-all.json" + }, + { + "name": "CR-PLA Matte @Ender-3 V4-all", + "sub_path": "filament/CR-PLA Matte @Ender-3 V4-all.json" + }, + { + "name": "CR-PLA Matte @K1 Max_CFS-C-all", + "sub_path": "filament/CR-PLA Matte @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-PLA Matte @K1C-all", + "sub_path": "filament/CR-PLA Matte @K1C-all.json" + }, + { + "name": "CR-PLA Matte @K1C_CFS-C-all", + "sub_path": "filament/CR-PLA Matte @K1C_CFS-C-all.json" + }, + { + "name": "CR-PLA Matte @K1_CFS-C-all", + "sub_path": "filament/CR-PLA Matte @K1_CFS-C-all.json" + }, + { + "name": "CR-PLA Matte @K2 Plus-all", + "sub_path": "filament/CR-PLA Matte @K2 Plus-all.json" + }, + { + "name": "CR-PLA Matte @K2 Pro-all", + "sub_path": "filament/CR-PLA Matte @K2 Pro-all.json" + }, + { + "name": "CR-PLA Matte @K2-all", + "sub_path": "filament/CR-PLA Matte @K2-all.json" + }, + { + "name": "CR-PLA Matte @SPARKX i7-all", + "sub_path": "filament/CR-PLA Matte @SPARKX i7-all.json" + }, + { + "name": "CR-Silk @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-Silk @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-Silk @Ender-3 V3-all", + "sub_path": "filament/CR-Silk @Ender-3 V3-all.json" + }, + { + "name": "CR-Silk @Ender-3 V4-all", + "sub_path": "filament/CR-Silk @Ender-3 V4-all.json" + }, + { + "name": "CR-Silk @Hi-all", + "sub_path": "filament/CR-Silk @Hi-all.json" + }, + { + "name": "CR-Silk @K1 Max_CFS-C-all", + "sub_path": "filament/CR-Silk @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-Silk @K1 SE-all", + "sub_path": "filament/CR-Silk @K1 SE-all.json" + }, + { + "name": "CR-Silk @K1 SE_CFS-C-all", + "sub_path": "filament/CR-Silk @K1 SE_CFS-C-all.json" + }, + { + "name": "CR-Silk @K1C-all", + "sub_path": "filament/CR-Silk @K1C-all.json" + }, + { + "name": "CR-Silk @K1C_CFS-C-all", + "sub_path": "filament/CR-Silk @K1C_CFS-C-all.json" + }, + { + "name": "CR-Silk @K1_CFS-C-all", + "sub_path": "filament/CR-Silk @K1_CFS-C-all.json" + }, + { + "name": "CR-Silk @K2 Plus-all", + "sub_path": "filament/CR-Silk @K2 Plus-all.json" + }, + { + "name": "CR-Silk @K2 Pro-all", + "sub_path": "filament/CR-Silk @K2 Pro-all.json" + }, + { + "name": "CR-Silk @K2 SE-all", + "sub_path": "filament/CR-Silk @K2 SE-all.json" + }, + { + "name": "CR-Silk @K2-all", + "sub_path": "filament/CR-Silk @K2-all.json" + }, + { + "name": "CR-Silk @SPARKX i7-all", + "sub_path": "filament/CR-Silk @SPARKX i7-all.json" + }, + { + "name": "CR-Silk @Sermoon D3-all", + "sub_path": "filament/CR-Silk @Sermoon D3-all.json" + }, + { + "name": "CR-Silk @Sermoon M300-all", + "sub_path": "filament/CR-Silk @Sermoon M300-all.json" + }, + { + "name": "CR-Wood @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-Wood @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-Wood @Ender-3 V3-all", + "sub_path": "filament/CR-Wood @Ender-3 V3-all.json" + }, + { + "name": "CR-Wood @K1 Max_CFS-C-all", + "sub_path": "filament/CR-Wood @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-Wood @K1C-all", + "sub_path": "filament/CR-Wood @K1C-all.json" + }, + { + "name": "CR-Wood @K1C_CFS-C-all", + "sub_path": "filament/CR-Wood @K1C_CFS-C-all.json" + }, + { + "name": "CR-Wood @K1_CFS-C-all", + "sub_path": "filament/CR-Wood @K1_CFS-C-all.json" + }, + { + "name": "CR-Wood @K2 Plus-all", + "sub_path": "filament/CR-Wood @K2 Plus-all.json" + }, + { + "name": "EN-PLA+ @Ender-3 V3 Plus-all", + "sub_path": "filament/EN-PLA+ @Ender-3 V3 Plus-all.json" + }, + { + "name": "EN-PLA+ @Ender-3 V3-all", + "sub_path": "filament/EN-PLA+ @Ender-3 V3-all.json" + }, + { + "name": "EN-PLA+ @K1 Max_CFS-C-all", + "sub_path": "filament/EN-PLA+ @K1 Max_CFS-C-all.json" + }, + { + "name": "EN-PLA+ @K1C-all", + "sub_path": "filament/EN-PLA+ @K1C-all.json" + }, + { + "name": "EN-PLA+ @K1C_CFS-C-all", + "sub_path": "filament/EN-PLA+ @K1C_CFS-C-all.json" + }, + { + "name": "EN-PLA+ @K1_CFS-C-all", + "sub_path": "filament/EN-PLA+ @K1_CFS-C-all.json" + }, + { + "name": "EN-PLA+ @K2 Plus-all", + "sub_path": "filament/EN-PLA+ @K2 Plus-all.json" + }, + { + "name": "EN-PLA+ @K2 Pro-all", + "sub_path": "filament/EN-PLA+ @K2 Pro-all.json" + }, + { + "name": "EN-PLA+ @K2-all", + "sub_path": "filament/EN-PLA+ @K2-all.json" + }, + { + "name": "EN-PLA+ @SPARKX i7-all", + "sub_path": "filament/EN-PLA+ @SPARKX i7-all.json" + }, + { + "name": "ENDER FAST PLA @Hi-all", + "sub_path": "filament/ENDER FAST PLA @Hi-all.json" + }, + { + "name": "ENDER FAST PLA @K2 Plus-all", + "sub_path": "filament/ENDER FAST PLA @K2 Plus-all.json" + }, + { + "name": "ENDER FAST PLA @K2 Pro-all", + "sub_path": "filament/ENDER FAST PLA @K2 Pro-all.json" + }, + { + "name": "ENDER FAST PLA @K2-all", + "sub_path": "filament/ENDER FAST PLA @K2-all.json" + }, + { + "name": "ENDER FAST PLA @SPARKX i7-all", + "sub_path": "filament/ENDER FAST PLA @SPARKX i7-all.json" + }, + { + "name": "Ender-PLA @CR-10 Smart Pro-all", + "sub_path": "filament/Ender-PLA @CR-10 Smart Pro-all.json" + }, + { + "name": "Ender-PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/Ender-PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Ender-PLA @Ender-3 V3-all", + "sub_path": "filament/Ender-PLA @Ender-3 V3-all.json" + }, + { + "name": "Ender-PLA @Ender-3 V4-all", + "sub_path": "filament/Ender-PLA @Ender-3 V4-all.json" + }, + { + "name": "Ender-PLA @Ender-5 Plus-all", + "sub_path": "filament/Ender-PLA @Ender-5 Plus-all.json" + }, + { + "name": "Ender-PLA @Hi-all", + "sub_path": "filament/Ender-PLA @Hi-all.json" + }, + { + "name": "Ender-PLA @K1 Max_CFS-C-all", + "sub_path": "filament/Ender-PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "Ender-PLA @K1C-all", + "sub_path": "filament/Ender-PLA @K1C-all.json" + }, + { + "name": "Ender-PLA @K1C_CFS-C-all", + "sub_path": "filament/Ender-PLA @K1C_CFS-C-all.json" + }, + { + "name": "Ender-PLA @K1_CFS-C-all", + "sub_path": "filament/Ender-PLA @K1_CFS-C-all.json" + }, + { + "name": "Ender-PLA @K2 Plus-all", + "sub_path": "filament/Ender-PLA @K2 Plus-all.json" + }, + { + "name": "Ender-PLA @K2 Pro-all", + "sub_path": "filament/Ender-PLA @K2 Pro-all.json" + }, + { + "name": "Ender-PLA @K2-all", + "sub_path": "filament/Ender-PLA @K2-all.json" + }, + { + "name": "Ender-PLA @SPARKX i7-all", + "sub_path": "filament/Ender-PLA @SPARKX i7-all.json" + }, + { + "name": "Generic PLA @CR-10 SE-all", + "sub_path": "filament/Generic PLA @CR-10 SE-all.json" + }, + { + "name": "Generic PLA @CR-10 Smart-all", + "sub_path": "filament/Generic PLA @CR-10 Smart-all.json" + }, + { + "name": "Generic PLA @CR-10S Pro V2-all", + "sub_path": "filament/Generic PLA @CR-10S Pro V2-all.json" + }, + { + "name": "Generic PLA @CR-20 Pro-all", + "sub_path": "filament/Generic PLA @CR-20 Pro-all.json" + }, + { + "name": "Generic PLA @CR-6 SE-all", + "sub_path": "filament/Generic PLA @CR-6 SE-all.json" + }, + { + "name": "Generic PLA @CR-M4-all", + "sub_path": "filament/Generic PLA @CR-M4-all.json" + }, { "name": "Generic PLA @Creality", "sub_path": "filament/Generic PLA @Creality.json" }, { - "name": "Generic PLA-CF @Creality", - "sub_path": "filament/Generic PLA-CF @Creality.json" + "name": "Generic PLA @Ender-3 Max Neo-all", + "sub_path": "filament/Generic PLA @Ender-3 Max Neo-all.json" + }, + { + "name": "Generic PLA @Ender-3 Max-all", + "sub_path": "filament/Generic PLA @Ender-3 Max-all.json" + }, + { + "name": "Generic PLA @Ender-3 Neo-all", + "sub_path": "filament/Generic PLA @Ender-3 Neo-all.json" + }, + { + "name": "Generic PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PLA @Ender-3 V3-all", + "sub_path": "filament/Generic PLA @Ender-3 V3-all.json" + }, + { + "name": "Generic PLA @Ender-3 V4-all", + "sub_path": "filament/Generic PLA @Ender-3 V4-all.json" + }, + { + "name": "Generic PLA @Hi-all", + "sub_path": "filament/Generic PLA @Hi-all.json" + }, + { + "name": "Generic PLA @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PLA @K1 SE-all", + "sub_path": "filament/Generic PLA @K1 SE-all.json" + }, + { + "name": "Generic PLA @K1 SE_CFS-C-all", + "sub_path": "filament/Generic PLA @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic PLA @K1C-all", + "sub_path": "filament/Generic PLA @K1C-all.json" + }, + { + "name": "Generic PLA @K1C_CFS-C-all", + "sub_path": "filament/Generic PLA @K1C_CFS-C-all.json" + }, + { + "name": "Generic PLA @K1_CFS-C-all", + "sub_path": "filament/Generic PLA @K1_CFS-C-all.json" + }, + { + "name": "Generic PLA @K2 Plus-all", + "sub_path": "filament/Generic PLA @K2 Plus-all.json" + }, + { + "name": "Generic PLA @K2 Pro-all", + "sub_path": "filament/Generic PLA @K2 Pro-all.json" + }, + { + "name": "Generic PLA @K2 SE-all", + "sub_path": "filament/Generic PLA @K2 SE-all.json" + }, + { + "name": "Generic PLA @K2-all", + "sub_path": "filament/Generic PLA @K2-all.json" + }, + { + "name": "Generic PLA @SPARKX i7-all", + "sub_path": "filament/Generic PLA @SPARKX i7-all.json" + }, + { + "name": "Generic PLA @Sermoon M300-all", + "sub_path": "filament/Generic PLA @Sermoon M300-all.json" }, { "name": "Generic PLA HF @Creality", "sub_path": "filament/Generic PLA HF @Creality.json" }, + { + "name": "Generic PLA-CF @Creality", + "sub_path": "filament/Generic PLA-CF @Creality.json" + }, + { + "name": "Generic PLA-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PLA-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PLA-CF @Ender-3 V3-all", + "sub_path": "filament/Generic PLA-CF @Ender-3 V3-all.json" + }, + { + "name": "Generic PLA-CF @Ender-3 V4-all", + "sub_path": "filament/Generic PLA-CF @Ender-3 V4-all.json" + }, + { + "name": "Generic PLA-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PLA-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PLA-CF @K1 SE-all", + "sub_path": "filament/Generic PLA-CF @K1 SE-all.json" + }, + { + "name": "Generic PLA-CF @K1 SE_CFS-C-all", + "sub_path": "filament/Generic PLA-CF @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic PLA-CF @K1C-all", + "sub_path": "filament/Generic PLA-CF @K1C-all.json" + }, + { + "name": "Generic PLA-CF @K1C_CFS-C-all", + "sub_path": "filament/Generic PLA-CF @K1C_CFS-C-all.json" + }, + { + "name": "Generic PLA-CF @K1_CFS-C-all", + "sub_path": "filament/Generic PLA-CF @K1_CFS-C-all.json" + }, + { + "name": "Generic PLA-CF @K2 Plus-all", + "sub_path": "filament/Generic PLA-CF @K2 Plus-all.json" + }, + { + "name": "Generic PLA-CF @K2 Pro-all", + "sub_path": "filament/Generic PLA-CF @K2 Pro-all.json" + }, + { + "name": "Generic PLA-CF @K2 SE-all", + "sub_path": "filament/Generic PLA-CF @K2 SE-all.json" + }, + { + "name": "Generic PLA-CF @K2-all", + "sub_path": "filament/Generic PLA-CF @K2-all.json" + }, + { + "name": "Generic PLA-CF @SPARKX i7-all", + "sub_path": "filament/Generic PLA-CF @SPARKX i7-all.json" + }, + { + "name": "Generic PLA-Silk @CR-10 SE-all", + "sub_path": "filament/Generic PLA-Silk @CR-10 SE-all.json" + }, + { + "name": "Generic PLA-Silk @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic PLA-Silk @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic PLA-Silk @Ender-3 V3-all", + "sub_path": "filament/Generic PLA-Silk @Ender-3 V3-all.json" + }, + { + "name": "Generic PLA-Silk @Ender-3 V4-all", + "sub_path": "filament/Generic PLA-Silk @Ender-3 V4-all.json" + }, + { + "name": "Generic PLA-Silk @Hi-all", + "sub_path": "filament/Generic PLA-Silk @Hi-all.json" + }, + { + "name": "Generic PLA-Silk @K1 Max_CFS-C-all", + "sub_path": "filament/Generic PLA-Silk @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic PLA-Silk @K1 SE-all", + "sub_path": "filament/Generic PLA-Silk @K1 SE-all.json" + }, + { + "name": "Generic PLA-Silk @K1 SE_CFS-C-all", + "sub_path": "filament/Generic PLA-Silk @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic PLA-Silk @K1C-all", + "sub_path": "filament/Generic PLA-Silk @K1C-all.json" + }, + { + "name": "Generic PLA-Silk @K1C_CFS-C-all", + "sub_path": "filament/Generic PLA-Silk @K1C_CFS-C-all.json" + }, + { + "name": "Generic PLA-Silk @K1_CFS-C-all", + "sub_path": "filament/Generic PLA-Silk @K1_CFS-C-all.json" + }, + { + "name": "Generic PLA-Silk @K2 Plus-all", + "sub_path": "filament/Generic PLA-Silk @K2 Plus-all.json" + }, + { + "name": "Generic PLA-Silk @K2 Pro-all", + "sub_path": "filament/Generic PLA-Silk @K2 Pro-all.json" + }, + { + "name": "Generic PLA-Silk @K2 SE-all", + "sub_path": "filament/Generic PLA-Silk @K2 SE-all.json" + }, + { + "name": "Generic PLA-Silk @K2-all", + "sub_path": "filament/Generic PLA-Silk @K2-all.json" + }, + { + "name": "Generic PLA-Silk @SPARKX i7-all", + "sub_path": "filament/Generic PLA-Silk @SPARKX i7-all.json" + }, + { + "name": "Generic PLA-Silk @Sermoon M300-all", + "sub_path": "filament/Generic PLA-Silk @Sermoon M300-all.json" + }, { "name": "Generic Speed PLA @Creality HF", "sub_path": "filament/Generic Speed PLA @Creality HF.json" }, + { + "name": "Generic Support for PLA @K2 Plus-all", + "sub_path": "filament/Generic Support for PLA @K2 Plus-all.json" + }, + { + "name": "HP Ultra PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/HP Ultra PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "HP Ultra PLA @Ender-3 V3-all", + "sub_path": "filament/HP Ultra PLA @Ender-3 V3-all.json" + }, + { + "name": "HP Ultra PLA @K1 Max_CFS-C-all", + "sub_path": "filament/HP Ultra PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "HP Ultra PLA @K1C-all", + "sub_path": "filament/HP Ultra PLA @K1C-all.json" + }, + { + "name": "HP Ultra PLA @K1C_CFS-C-all", + "sub_path": "filament/HP Ultra PLA @K1C_CFS-C-all.json" + }, + { + "name": "HP Ultra PLA @K1_CFS-C-all", + "sub_path": "filament/HP Ultra PLA @K1_CFS-C-all.json" + }, + { + "name": "HP Ultra PLA @K2 Plus-all", + "sub_path": "filament/HP Ultra PLA @K2 Plus-all.json" + }, + { + "name": "Hyper L-W PLA @Ender-3 V3 KE-all", + "sub_path": "filament/Hyper L-W PLA @Ender-3 V3 KE-all.json" + }, + { + "name": "Hyper L-W PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper L-W PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper L-W PLA @Ender-3 V3 SE-all", + "sub_path": "filament/Hyper L-W PLA @Ender-3 V3 SE-all.json" + }, + { + "name": "Hyper L-W PLA @Ender-3 V3-all", + "sub_path": "filament/Hyper L-W PLA @Ender-3 V3-all.json" + }, + { + "name": "Hyper L-W PLA @Hi-all", + "sub_path": "filament/Hyper L-W PLA @Hi-all.json" + }, + { + "name": "Hyper L-W PLA @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper L-W PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper L-W PLA @K1 SE-all", + "sub_path": "filament/Hyper L-W PLA @K1 SE-all.json" + }, + { + "name": "Hyper L-W PLA @K1 SE_CFS-C-all", + "sub_path": "filament/Hyper L-W PLA @K1 SE_CFS-C-all.json" + }, + { + "name": "Hyper L-W PLA @K1C-all", + "sub_path": "filament/Hyper L-W PLA @K1C-all.json" + }, + { + "name": "Hyper L-W PLA @K1C_CFS-C-all", + "sub_path": "filament/Hyper L-W PLA @K1C_CFS-C-all.json" + }, + { + "name": "Hyper L-W PLA @K1_CFS-C-all", + "sub_path": "filament/Hyper L-W PLA @K1_CFS-C-all.json" + }, + { + "name": "Hyper L-W PLA @K2 Plus-all", + "sub_path": "filament/Hyper L-W PLA @K2 Plus-all.json" + }, + { + "name": "Hyper L-W PLA @K2 Pro-all", + "sub_path": "filament/Hyper L-W PLA @K2 Pro-all.json" + }, + { + "name": "Hyper L-W PLA @K2-all", + "sub_path": "filament/Hyper L-W PLA @K2-all.json" + }, + { + "name": "Hyper Luminous @Ender-3 V3 KE-all", + "sub_path": "filament/Hyper Luminous @Ender-3 V3 KE-all.json" + }, + { + "name": "Hyper Luminous @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper Luminous @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper Luminous @Ender-3 V3 SE-all", + "sub_path": "filament/Hyper Luminous @Ender-3 V3 SE-all.json" + }, + { + "name": "Hyper Luminous @Ender-3 V3-all", + "sub_path": "filament/Hyper Luminous @Ender-3 V3-all.json" + }, + { + "name": "Hyper Luminous @Hi-all", + "sub_path": "filament/Hyper Luminous @Hi-all.json" + }, + { + "name": "Hyper Luminous @K1C-all", + "sub_path": "filament/Hyper Luminous @K1C-all.json" + }, + { + "name": "Hyper Luminous @K2 Plus-all", + "sub_path": "filament/Hyper Luminous @K2 Plus-all.json" + }, + { + "name": "Hyper Luminous @K2 Pro-all", + "sub_path": "filament/Hyper Luminous @K2 Pro-all.json" + }, + { + "name": "Hyper Luminous @K2-all", + "sub_path": "filament/Hyper Luminous @K2-all.json" + }, + { + "name": "Hyper Luminous @SPARKX i7-all", + "sub_path": "filament/Hyper Luminous @SPARKX i7-all.json" + }, + { + "name": "Hyper Luminous @Sermoon M300-all", + "sub_path": "filament/Hyper Luminous @Sermoon M300-all.json" + }, + { + "name": "Hyper Marble @Ender-3 V3 KE-all", + "sub_path": "filament/Hyper Marble @Ender-3 V3 KE-all.json" + }, + { + "name": "Hyper Marble @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper Marble @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper Marble @Ender-3 V3 SE-all", + "sub_path": "filament/Hyper Marble @Ender-3 V3 SE-all.json" + }, + { + "name": "Hyper Marble @Ender-3 V3-all", + "sub_path": "filament/Hyper Marble @Ender-3 V3-all.json" + }, + { + "name": "Hyper Marble @Hi-all", + "sub_path": "filament/Hyper Marble @Hi-all.json" + }, + { + "name": "Hyper Marble @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper Marble @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper Marble @K1C-all", + "sub_path": "filament/Hyper Marble @K1C-all.json" + }, + { + "name": "Hyper Marble @K1C_CFS-C-all", + "sub_path": "filament/Hyper Marble @K1C_CFS-C-all.json" + }, + { + "name": "Hyper Marble @K1_CFS-C-all", + "sub_path": "filament/Hyper Marble @K1_CFS-C-all.json" + }, + { + "name": "Hyper Marble @K2 Plus-all", + "sub_path": "filament/Hyper Marble @K2 Plus-all.json" + }, + { + "name": "Hyper Marble @K2 Pro-all", + "sub_path": "filament/Hyper Marble @K2 Pro-all.json" + }, + { + "name": "Hyper Marble @K2 SE-all", + "sub_path": "filament/Hyper Marble @K2 SE-all.json" + }, + { + "name": "Hyper Marble @K2-all", + "sub_path": "filament/Hyper Marble @K2-all.json" + }, + { + "name": "Hyper Marble @SPARKX i7-all", + "sub_path": "filament/Hyper Marble @SPARKX i7-all.json" + }, + { + "name": "Hyper Marble @Sermoon M300-all", + "sub_path": "filament/Hyper Marble @Sermoon M300-all.json" + }, + { + "name": "Hyper PLA @CR-10 SE-all", + "sub_path": "filament/Hyper PLA @CR-10 SE-all.json" + }, + { + "name": "Hyper PLA @CR-M4 SE-all", + "sub_path": "filament/Hyper PLA @CR-M4 SE-all.json" + }, + { + "name": "Hyper PLA @Ender-3 S1 Plus-all", + "sub_path": "filament/Hyper PLA @Ender-3 S1 Plus-all.json" + }, + { + "name": "Hyper PLA @Ender-3 S1 Pro-all", + "sub_path": "filament/Hyper PLA @Ender-3 S1 Pro-all.json" + }, + { + "name": "Hyper PLA @Ender-3 S1 Sonic-all", + "sub_path": "filament/Hyper PLA @Ender-3 S1 Sonic-all.json" + }, + { + "name": "Hyper PLA @Ender-3 S1-all", + "sub_path": "filament/Hyper PLA @Ender-3 S1-all.json" + }, + { + "name": "Hyper PLA @Ender-3 V3 KE-all", + "sub_path": "filament/Hyper PLA @Ender-3 V3 KE-all.json" + }, + { + "name": "Hyper PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper PLA @Ender-3 V3 SE-all", + "sub_path": "filament/Hyper PLA @Ender-3 V3 SE-all.json" + }, + { + "name": "Hyper PLA @Ender-3 V3-all", + "sub_path": "filament/Hyper PLA @Ender-3 V3-all.json" + }, + { + "name": "Hyper PLA @Ender-3 V4-all", + "sub_path": "filament/Hyper PLA @Ender-3 V4-all.json" + }, + { + "name": "Hyper PLA @Ender-3-all", + "sub_path": "filament/Hyper PLA @Ender-3-all.json" + }, + { + "name": "Hyper PLA @Ender-5 S1 Sonic-all", + "sub_path": "filament/Hyper PLA @Ender-5 S1 Sonic-all.json" + }, + { + "name": "Hyper PLA @Ender-5 S1-all", + "sub_path": "filament/Hyper PLA @Ender-5 S1-all.json" + }, + { + "name": "Hyper PLA @Hi-all", + "sub_path": "filament/Hyper PLA @Hi-all.json" + }, + { + "name": "Hyper PLA @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper PLA @K1 SE-all", + "sub_path": "filament/Hyper PLA @K1 SE-all.json" + }, + { + "name": "Hyper PLA @K1 SE_CFS-C-all", + "sub_path": "filament/Hyper PLA @K1 SE_CFS-C-all.json" + }, + { + "name": "Hyper PLA @K1C-all", + "sub_path": "filament/Hyper PLA @K1C-all.json" + }, + { + "name": "Hyper PLA @K1C_CFS-C-all", + "sub_path": "filament/Hyper PLA @K1C_CFS-C-all.json" + }, + { + "name": "Hyper PLA @K1_CFS-C-all", + "sub_path": "filament/Hyper PLA @K1_CFS-C-all.json" + }, + { + "name": "Hyper PLA @K2 Plus-all", + "sub_path": "filament/Hyper PLA @K2 Plus-all.json" + }, + { + "name": "Hyper PLA @K2 Pro-all", + "sub_path": "filament/Hyper PLA @K2 Pro-all.json" + }, + { + "name": "Hyper PLA @K2 SE-all", + "sub_path": "filament/Hyper PLA @K2 SE-all.json" + }, + { + "name": "Hyper PLA @K2-all", + "sub_path": "filament/Hyper PLA @K2-all.json" + }, + { + "name": "Hyper PLA @SPARKX i7-all", + "sub_path": "filament/Hyper PLA @SPARKX i7-all.json" + }, + { + "name": "Hyper PLA @Sermoon D3 Pro-all", + "sub_path": "filament/Hyper PLA @Sermoon D3 Pro-all.json" + }, + { + "name": "Hyper PLA @Sermoon D3-all", + "sub_path": "filament/Hyper PLA @Sermoon D3-all.json" + }, + { + "name": "Hyper PLA @Sermoon M300-all", + "sub_path": "filament/Hyper PLA @Sermoon M300-all.json" + }, + { + "name": "Hyper PLA @Sermoon V1 Pro-all", + "sub_path": "filament/Hyper PLA @Sermoon V1 Pro-all.json" + }, + { + "name": "Hyper PLA-CF @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper PLA-CF @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper PLA-CF @Ender-3 V3-all", + "sub_path": "filament/Hyper PLA-CF @Ender-3 V3-all.json" + }, + { + "name": "Hyper PLA-CF @Ender-3 V4-all", + "sub_path": "filament/Hyper PLA-CF @Ender-3 V4-all.json" + }, + { + "name": "Hyper PLA-CF @Hi-all", + "sub_path": "filament/Hyper PLA-CF @Hi-all.json" + }, + { + "name": "Hyper PLA-CF @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper PLA-CF @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper PLA-CF @K1 SE-all", + "sub_path": "filament/Hyper PLA-CF @K1 SE-all.json" + }, + { + "name": "Hyper PLA-CF @K1 SE_CFS-C-all", + "sub_path": "filament/Hyper PLA-CF @K1 SE_CFS-C-all.json" + }, + { + "name": "Hyper PLA-CF @K1C-all", + "sub_path": "filament/Hyper PLA-CF @K1C-all.json" + }, + { + "name": "Hyper PLA-CF @K1C_CFS-C-all", + "sub_path": "filament/Hyper PLA-CF @K1C_CFS-C-all.json" + }, + { + "name": "Hyper PLA-CF @K1_CFS-C-all", + "sub_path": "filament/Hyper PLA-CF @K1_CFS-C-all.json" + }, + { + "name": "Hyper PLA-CF @K2 Plus-all", + "sub_path": "filament/Hyper PLA-CF @K2 Plus-all.json" + }, + { + "name": "Hyper PLA-CF @K2 Pro-all", + "sub_path": "filament/Hyper PLA-CF @K2 Pro-all.json" + }, + { + "name": "Hyper PLA-CF @K2 SE-all", + "sub_path": "filament/Hyper PLA-CF @K2 SE-all.json" + }, + { + "name": "Hyper PLA-CF @K2-all", + "sub_path": "filament/Hyper PLA-CF @K2-all.json" + }, + { + "name": "Hyper PLA-CF @SPARKX i7-all", + "sub_path": "filament/Hyper PLA-CF @SPARKX i7-all.json" + }, + { + "name": "Hyper PLA-CF @Sermoon D3 Pro-all", + "sub_path": "filament/Hyper PLA-CF @Sermoon D3 Pro-all.json" + }, + { + "name": "Hyper PLA-CF @Sermoon M300-all", + "sub_path": "filament/Hyper PLA-CF @Sermoon M300-all.json" + }, + { + "name": "Hyper Stardust @Ender-3 V3 KE-all", + "sub_path": "filament/Hyper Stardust @Ender-3 V3 KE-all.json" + }, + { + "name": "Hyper Stardust @Ender-3 V3 Plus-all", + "sub_path": "filament/Hyper Stardust @Ender-3 V3 Plus-all.json" + }, + { + "name": "Hyper Stardust @Ender-3 V3 SE-all", + "sub_path": "filament/Hyper Stardust @Ender-3 V3 SE-all.json" + }, + { + "name": "Hyper Stardust @Ender-3 V3-all", + "sub_path": "filament/Hyper Stardust @Ender-3 V3-all.json" + }, + { + "name": "Hyper Stardust @Hi-all", + "sub_path": "filament/Hyper Stardust @Hi-all.json" + }, + { + "name": "Hyper Stardust @K1 Max_CFS-C-all", + "sub_path": "filament/Hyper Stardust @K1 Max_CFS-C-all.json" + }, + { + "name": "Hyper Stardust @K1C-all", + "sub_path": "filament/Hyper Stardust @K1C-all.json" + }, + { + "name": "Hyper Stardust @K1C_CFS-C-all", + "sub_path": "filament/Hyper Stardust @K1C_CFS-C-all.json" + }, + { + "name": "Hyper Stardust @K1_CFS-C-all", + "sub_path": "filament/Hyper Stardust @K1_CFS-C-all.json" + }, + { + "name": "Hyper Stardust @K2 Plus-all", + "sub_path": "filament/Hyper Stardust @K2 Plus-all.json" + }, + { + "name": "Hyper Stardust @K2 Pro-all", + "sub_path": "filament/Hyper Stardust @K2 Pro-all.json" + }, + { + "name": "Hyper Stardust @K2 SE-all", + "sub_path": "filament/Hyper Stardust @K2 SE-all.json" + }, + { + "name": "Hyper Stardust @K2-all", + "sub_path": "filament/Hyper Stardust @K2-all.json" + }, + { + "name": "Hyper Stardust @SPARKX i7-all", + "sub_path": "filament/Hyper Stardust @SPARKX i7-all.json" + }, + { + "name": "Hyper Stardust @Sermoon M300-all", + "sub_path": "filament/Hyper Stardust @Sermoon M300-all.json" + }, + { + "name": "Panchroma PLA Matte @K2 Plus-all", + "sub_path": "filament/Panchroma PLA Matte @K2 Plus-all.json" + }, + { + "name": "Panchroma PLA Satin @K2 Plus-all", + "sub_path": "filament/Panchroma PLA Satin @K2 Plus-all.json" + }, + { + "name": "PolySonic PLA @K2 Plus-all", + "sub_path": "filament/PolySonic PLA @K2 Plus-all.json" + }, + { + "name": "PolySonic PLA Pro @K2 Plus-all", + "sub_path": "filament/PolySonic PLA Pro @K2 Plus-all.json" + }, + { + "name": "Soleyin Ultra PLA @Ender-3 V3 KE-all", + "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V3 KE-all.json" + }, + { + "name": "Soleyin Ultra PLA @Ender-3 V3 Plus-all", + "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V3 Plus-all.json" + }, + { + "name": "Soleyin Ultra PLA @Ender-3 V3 SE-all", + "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V3 SE-all.json" + }, + { + "name": "Soleyin Ultra PLA @Ender-3 V3-all", + "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V3-all.json" + }, + { + "name": "Soleyin Ultra PLA @Ender-3 V4-all", + "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V4-all.json" + }, + { + "name": "Soleyin Ultra PLA @Hi-all", + "sub_path": "filament/Soleyin Ultra PLA @Hi-all.json" + }, + { + "name": "Soleyin Ultra PLA @K1 Max_CFS-C-all", + "sub_path": "filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json" + }, + { + "name": "Soleyin Ultra PLA @K1C-all", + "sub_path": "filament/Soleyin Ultra PLA @K1C-all.json" + }, + { + "name": "Soleyin Ultra PLA @K1C_CFS-C-all", + "sub_path": "filament/Soleyin Ultra PLA @K1C_CFS-C-all.json" + }, + { + "name": "Soleyin Ultra PLA @K1_CFS-C-all", + "sub_path": "filament/Soleyin Ultra PLA @K1_CFS-C-all.json" + }, + { + "name": "Soleyin Ultra PLA @K2 Plus-all", + "sub_path": "filament/Soleyin Ultra PLA @K2 Plus-all.json" + }, + { + "name": "Soleyin Ultra PLA @K2 Pro-all", + "sub_path": "filament/Soleyin Ultra PLA @K2 Pro-all.json" + }, + { + "name": "Soleyin Ultra PLA @K2 SE-all", + "sub_path": "filament/Soleyin Ultra PLA @K2 SE-all.json" + }, + { + "name": "Soleyin Ultra PLA @K2-all", + "sub_path": "filament/Soleyin Ultra PLA @K2-all.json" + }, + { + "name": "Soleyin Ultra PLA @SPARKX i7-all", + "sub_path": "filament/Soleyin Ultra PLA @SPARKX i7-all.json" + }, + { + "name": "Soleyin Ultra PLA @Sermoon M300-all", + "sub_path": "filament/Soleyin Ultra PLA @Sermoon M300-all.json" + }, + { + "name": "eSUN PLA+ @K2 Plus-all", + "sub_path": "filament/eSUN PLA+ @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-CF @K2 Plus-all", + "sub_path": "filament/eSUN PLA-CF @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-HS @K2 Plus-all", + "sub_path": "filament/eSUN PLA-HS @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-LW @K2 Plus-all", + "sub_path": "filament/eSUN PLA-LW @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-Lite @K2 Plus-all", + "sub_path": "filament/eSUN PLA-Lite @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-Matte @K2 Plus-all", + "sub_path": "filament/eSUN PLA-Matte @K2 Plus-all.json" + }, + { + "name": "eSUN PLA-Silk @K2 Plus-all", + "sub_path": "filament/eSUN PLA-Silk @K2 Plus-all.json" + }, + { + "name": "CR-TPU @CR-10 Smart Pro-all", + "sub_path": "filament/CR-TPU @CR-10 Smart Pro-all.json" + }, + { + "name": "CR-TPU @CR-10-all", + "sub_path": "filament/CR-TPU @CR-10-all.json" + }, + { + "name": "CR-TPU @Ender-3 V2-all", + "sub_path": "filament/CR-TPU @Ender-3 V2-all.json" + }, + { + "name": "CR-TPU @Ender-3 V3 Plus-all", + "sub_path": "filament/CR-TPU @Ender-3 V3 Plus-all.json" + }, + { + "name": "CR-TPU @Ender-3 V3-all", + "sub_path": "filament/CR-TPU @Ender-3 V3-all.json" + }, + { + "name": "CR-TPU @K1 Max_CFS-C-all", + "sub_path": "filament/CR-TPU @K1 Max_CFS-C-all.json" + }, + { + "name": "CR-TPU @K1C-all", + "sub_path": "filament/CR-TPU @K1C-all.json" + }, + { + "name": "CR-TPU @K1C_CFS-C-all", + "sub_path": "filament/CR-TPU @K1C_CFS-C-all.json" + }, + { + "name": "CR-TPU @K1_CFS-C-all", + "sub_path": "filament/CR-TPU @K1_CFS-C-all.json" + }, + { + "name": "CR-TPU @K2 Plus-all", + "sub_path": "filament/CR-TPU @K2 Plus-all.json" + }, + { + "name": "CR-TPU @K2 Pro-all", + "sub_path": "filament/CR-TPU @K2 Pro-all.json" + }, + { + "name": "CR-TPU @K2-all", + "sub_path": "filament/CR-TPU @K2-all.json" + }, + { + "name": "CR-TPU @SPARKX i7-all", + "sub_path": "filament/CR-TPU @SPARKX i7-all.json" + }, + { + "name": "CR-TPU @Sermoon D3-all", + "sub_path": "filament/CR-TPU @Sermoon D3-all.json" + }, + { + "name": "CR-TPU @Sermoon V1 Pro-all", + "sub_path": "filament/CR-TPU @Sermoon V1 Pro-all.json" + }, + { + "name": "Generic TPU 64D @K2 Plus-all", + "sub_path": "filament/Generic TPU 64D @K2 Plus-all.json" + }, + { + "name": "Generic TPU 64D @SPARKX i7-all", + "sub_path": "filament/Generic TPU 64D @SPARKX i7-all.json" + }, + { + "name": "Generic TPU @CR-10 SE-all", + "sub_path": "filament/Generic TPU @CR-10 SE-all.json" + }, { "name": "Generic TPU @Creality", "sub_path": "filament/Generic TPU @Creality.json" }, + { + "name": "Generic TPU @Ender-2 Pro-all", + "sub_path": "filament/Generic TPU @Ender-2 Pro-all.json" + }, + { + "name": "Generic TPU @Ender-3 V3 Plus-all", + "sub_path": "filament/Generic TPU @Ender-3 V3 Plus-all.json" + }, + { + "name": "Generic TPU @Ender-3 V3 SE-all", + "sub_path": "filament/Generic TPU @Ender-3 V3 SE-all.json" + }, + { + "name": "Generic TPU @Ender-3 V3-all", + "sub_path": "filament/Generic TPU @Ender-3 V3-all.json" + }, + { + "name": "Generic TPU @Ender-3 V4-all", + "sub_path": "filament/Generic TPU @Ender-3 V4-all.json" + }, + { + "name": "Generic TPU @K1 Max_CFS-C-all", + "sub_path": "filament/Generic TPU @K1 Max_CFS-C-all.json" + }, + { + "name": "Generic TPU @K1 SE-all", + "sub_path": "filament/Generic TPU @K1 SE-all.json" + }, + { + "name": "Generic TPU @K1 SE_CFS-C-all", + "sub_path": "filament/Generic TPU @K1 SE_CFS-C-all.json" + }, + { + "name": "Generic TPU @K1C-all", + "sub_path": "filament/Generic TPU @K1C-all.json" + }, + { + "name": "Generic TPU @K1C_CFS-C-all", + "sub_path": "filament/Generic TPU @K1C_CFS-C-all.json" + }, + { + "name": "Generic TPU @K1_CFS-C-all", + "sub_path": "filament/Generic TPU @K1_CFS-C-all.json" + }, + { + "name": "Generic TPU @K2 Plus-all", + "sub_path": "filament/Generic TPU @K2 Plus-all.json" + }, + { + "name": "Generic TPU @K2 Pro-all", + "sub_path": "filament/Generic TPU @K2 Pro-all.json" + }, + { + "name": "Generic TPU @K2 SE-all", + "sub_path": "filament/Generic TPU @K2 SE-all.json" + }, + { + "name": "Generic TPU @K2-all", + "sub_path": "filament/Generic TPU @K2-all.json" + }, + { + "name": "Generic TPU @SPARKX i7-all", + "sub_path": "filament/Generic TPU @SPARKX i7-all.json" + }, + { + "name": "HP-TPU @CR-M4 SE-all", + "sub_path": "filament/HP-TPU @CR-M4 SE-all.json" + }, + { + "name": "HP-TPU @Ender-3 S1 Plus-all", + "sub_path": "filament/HP-TPU @Ender-3 S1 Plus-all.json" + }, + { + "name": "HP-TPU @Ender-3 S1 Pro-all", + "sub_path": "filament/HP-TPU @Ender-3 S1 Pro-all.json" + }, + { + "name": "HP-TPU @Ender-3 S1 Sonic-all", + "sub_path": "filament/HP-TPU @Ender-3 S1 Sonic-all.json" + }, + { + "name": "HP-TPU @Ender-3 S1-all", + "sub_path": "filament/HP-TPU @Ender-3 S1-all.json" + }, + { + "name": "HP-TPU @Ender-3 V3 KE-all", + "sub_path": "filament/HP-TPU @Ender-3 V3 KE-all.json" + }, + { + "name": "HP-TPU @Ender-3 V3 Plus-all", + "sub_path": "filament/HP-TPU @Ender-3 V3 Plus-all.json" + }, + { + "name": "HP-TPU @Ender-3 V3-all", + "sub_path": "filament/HP-TPU @Ender-3 V3-all.json" + }, + { + "name": "HP-TPU @Ender-3 V4-all", + "sub_path": "filament/HP-TPU @Ender-3 V4-all.json" + }, + { + "name": "HP-TPU @Ender-5 S1 Sonic-all", + "sub_path": "filament/HP-TPU @Ender-5 S1 Sonic-all.json" + }, + { + "name": "HP-TPU @Ender-5 S1-all", + "sub_path": "filament/HP-TPU @Ender-5 S1-all.json" + }, + { + "name": "HP-TPU @Hi-all", + "sub_path": "filament/HP-TPU @Hi-all.json" + }, + { + "name": "HP-TPU @K1 Max_CFS-C-all", + "sub_path": "filament/HP-TPU @K1 Max_CFS-C-all.json" + }, + { + "name": "HP-TPU @K1 SE-all", + "sub_path": "filament/HP-TPU @K1 SE-all.json" + }, + { + "name": "HP-TPU @K1 SE_CFS-C-all", + "sub_path": "filament/HP-TPU @K1 SE_CFS-C-all.json" + }, + { + "name": "HP-TPU @K1C-all", + "sub_path": "filament/HP-TPU @K1C-all.json" + }, + { + "name": "HP-TPU @K1C_CFS-C-all", + "sub_path": "filament/HP-TPU @K1C_CFS-C-all.json" + }, + { + "name": "HP-TPU @K1_CFS-C-all", + "sub_path": "filament/HP-TPU @K1_CFS-C-all.json" + }, + { + "name": "HP-TPU @K2 Plus-all", + "sub_path": "filament/HP-TPU @K2 Plus-all.json" + }, + { + "name": "HP-TPU @K2 Pro-all", + "sub_path": "filament/HP-TPU @K2 Pro-all.json" + }, + { + "name": "HP-TPU @K2 SE-all", + "sub_path": "filament/HP-TPU @K2 SE-all.json" + }, + { + "name": "HP-TPU @K2-all", + "sub_path": "filament/HP-TPU @K2-all.json" + }, + { + "name": "HP-TPU @SPARKX i7-all", + "sub_path": "filament/HP-TPU @SPARKX i7-all.json" + }, + { + "name": "HP-TPU @Sermoon M300-all", + "sub_path": "filament/HP-TPU @Sermoon M300-all.json" + }, { "name": "Generic ABS @Creality Ender-3V3-all", "sub_path": "filament/Generic ABS @Creality Ender-3V3-all.json" @@ -1908,1933 +4984,9 @@ "name": "Generic PLA Silk @Creality K2-all", "sub_path": "filament/Generic PLA Silk @Creality K2-all.json" }, - { - "name": "fdm_filament_pp", - "sub_path": "filament/fdm_filament_pp.json" - }, - { - "name": "fdm_filament_pps", - "sub_path": "filament/fdm_filament_pps.json" - }, { "name": "fdm_filament_pva", "sub_path": "filament/fdm_filament_pva.json" - }, - { - "name": "fdm_filament_petg", - "sub_path": "filament/fdm_filament_petg.json" - }, - { - "name": "fdm_filament_hips", - "sub_path": "filament/fdm_filament_hips.json" - }, - { - "name": "CR-ABS @Ender-3 V4-all", - "sub_path": "filament/CR-ABS @Ender-3 V4-all.json" - }, - { - "name": "CR-ABS @Hi-all", - "sub_path": "filament/CR-ABS @Hi-all.json" - }, - { - "name": "CR-ABS @K1 Max_CFS-C-all", - "sub_path": "filament/CR-ABS @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-ABS @K1 SE-all", - "sub_path": "filament/CR-ABS @K1 SE-all.json" - }, - { - "name": "CR-ABS @K1 SE_CFS-C-all", - "sub_path": "filament/CR-ABS @K1 SE_CFS-C-all.json" - }, - { - "name": "CR-ABS @K1C-all", - "sub_path": "filament/CR-ABS @K1C-all.json" - }, - { - "name": "CR-ABS @K1C_CFS-C-all", - "sub_path": "filament/CR-ABS @K1C_CFS-C-all.json" - }, - { - "name": "CR-ABS @K1_CFS-C-all", - "sub_path": "filament/CR-ABS @K1_CFS-C-all.json" - }, - { - "name": "CR-ABS @K2 Plus-all", - "sub_path": "filament/CR-ABS @K2 Plus-all.json" - }, - { - "name": "CR-ABS @K2 Pro-all", - "sub_path": "filament/CR-ABS @K2 Pro-all.json" - }, - { - "name": "CR-ABS @K2 SE-all", - "sub_path": "filament/CR-ABS @K2 SE-all.json" - }, - { - "name": "CR-ABS @K2-all", - "sub_path": "filament/CR-ABS @K2-all.json" - }, - { - "name": "CR-Nylon @K1 Max_CFS-C-all", - "sub_path": "filament/CR-Nylon @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-Nylon @K1C-all", - "sub_path": "filament/CR-Nylon @K1C-all.json" - }, - { - "name": "CR-Nylon @K1C_CFS-C-all", - "sub_path": "filament/CR-Nylon @K1C_CFS-C-all.json" - }, - { - "name": "CR-Nylon @K1_CFS-C-all", - "sub_path": "filament/CR-Nylon @K1_CFS-C-all.json" - }, - { - "name": "CR-Nylon @K2 Plus-all", - "sub_path": "filament/CR-Nylon @K2 Plus-all.json" - }, - { - "name": "CR-PETG @Ender-3 V4-all", - "sub_path": "filament/CR-PETG @Ender-3 V4-all.json" - }, - { - "name": "CR-PETG @Hi-all", - "sub_path": "filament/CR-PETG @Hi-all.json" - }, - { - "name": "CR-PETG @K1 Max_CFS-C-all", - "sub_path": "filament/CR-PETG @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-PETG @K1 SE-all", - "sub_path": "filament/CR-PETG @K1 SE-all.json" - }, - { - "name": "CR-PETG @K1 SE_CFS-C-all", - "sub_path": "filament/CR-PETG @K1 SE_CFS-C-all.json" - }, - { - "name": "CR-PETG @K1C-all", - "sub_path": "filament/CR-PETG @K1C-all.json" - }, - { - "name": "CR-PETG @K1C_CFS-C-all", - "sub_path": "filament/CR-PETG @K1C_CFS-C-all.json" - }, - { - "name": "CR-PETG @K1_CFS-C-all", - "sub_path": "filament/CR-PETG @K1_CFS-C-all.json" - }, - { - "name": "CR-PETG @K2 Plus-all", - "sub_path": "filament/CR-PETG @K2 Plus-all.json" - }, - { - "name": "CR-PETG @K2 Pro-all", - "sub_path": "filament/CR-PETG @K2 Pro-all.json" - }, - { - "name": "CR-PETG @K2 SE-all", - "sub_path": "filament/CR-PETG @K2 SE-all.json" - }, - { - "name": "CR-PETG @K2-all", - "sub_path": "filament/CR-PETG @K2-all.json" - }, - { - "name": "CR-PETG @SPARKX i7-all", - "sub_path": "filament/CR-PETG @SPARKX i7-all.json" - }, - { - "name": "CR-PLA @Ender-3 V4-all", - "sub_path": "filament/CR-PLA @Ender-3 V4-all.json" - }, - { - "name": "CR-PLA @Hi-all", - "sub_path": "filament/CR-PLA @Hi-all.json" - }, - { - "name": "CR-PLA @K1 Max_CFS-C-all", - "sub_path": "filament/CR-PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-PLA @K1 SE-all", - "sub_path": "filament/CR-PLA @K1 SE-all.json" - }, - { - "name": "CR-PLA @K1 SE_CFS-C-all", - "sub_path": "filament/CR-PLA @K1 SE_CFS-C-all.json" - }, - { - "name": "CR-PLA @K1C-all", - "sub_path": "filament/CR-PLA @K1C-all.json" - }, - { - "name": "CR-PLA @K1C_CFS-C-all", - "sub_path": "filament/CR-PLA @K1C_CFS-C-all.json" - }, - { - "name": "CR-PLA @K1_CFS-C-all", - "sub_path": "filament/CR-PLA @K1_CFS-C-all.json" - }, - { - "name": "CR-PLA @K2 Plus-all", - "sub_path": "filament/CR-PLA @K2 Plus-all.json" - }, - { - "name": "CR-PLA @K2 Pro-all", - "sub_path": "filament/CR-PLA @K2 Pro-all.json" - }, - { - "name": "CR-PLA @K2 SE-all", - "sub_path": "filament/CR-PLA @K2 SE-all.json" - }, - { - "name": "CR-PLA @K2-all", - "sub_path": "filament/CR-PLA @K2-all.json" - }, - { - "name": "CR-PLA @SPARKX i7-all", - "sub_path": "filament/CR-PLA @SPARKX i7-all.json" - }, - { - "name": "CR-PLA Carbon @K1 Max_CFS-C-all", - "sub_path": "filament/CR-PLA Carbon @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-PLA Carbon @K1C-all", - "sub_path": "filament/CR-PLA Carbon @K1C-all.json" - }, - { - "name": "CR-PLA Carbon @K1C_CFS-C-all", - "sub_path": "filament/CR-PLA Carbon @K1C_CFS-C-all.json" - }, - { - "name": "CR-PLA Carbon @K1_CFS-C-all", - "sub_path": "filament/CR-PLA Carbon @K1_CFS-C-all.json" - }, - { - "name": "CR-PLA Carbon @K2 Plus-all", - "sub_path": "filament/CR-PLA Carbon @K2 Plus-all.json" - }, - { - "name": "CR-PLA Fluo @K1 Max_CFS-C-all", - "sub_path": "filament/CR-PLA Fluo @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-PLA Fluo @K1C-all", - "sub_path": "filament/CR-PLA Fluo @K1C-all.json" - }, - { - "name": "CR-PLA Fluo @K1C_CFS-C-all", - "sub_path": "filament/CR-PLA Fluo @K1C_CFS-C-all.json" - }, - { - "name": "CR-PLA Fluo @K1_CFS-C-all", - "sub_path": "filament/CR-PLA Fluo @K1_CFS-C-all.json" - }, - { - "name": "CR-PLA Fluo @K2 Plus-all", - "sub_path": "filament/CR-PLA Fluo @K2 Plus-all.json" - }, - { - "name": "CR-PLA Fluo @K2 Pro-all", - "sub_path": "filament/CR-PLA Fluo @K2 Pro-all.json" - }, - { - "name": "CR-PLA Fluo @K2-all", - "sub_path": "filament/CR-PLA Fluo @K2-all.json" - }, - { - "name": "CR-PLA Fluo @SPARKX i7-all", - "sub_path": "filament/CR-PLA Fluo @SPARKX i7-all.json" - }, - { - "name": "CR-PLA Matte @Ender-3 V4-all", - "sub_path": "filament/CR-PLA Matte @Ender-3 V4-all.json" - }, - { - "name": "CR-PLA Matte @K1 Max_CFS-C-all", - "sub_path": "filament/CR-PLA Matte @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-PLA Matte @K1C-all", - "sub_path": "filament/CR-PLA Matte @K1C-all.json" - }, - { - "name": "CR-PLA Matte @K1C_CFS-C-all", - "sub_path": "filament/CR-PLA Matte @K1C_CFS-C-all.json" - }, - { - "name": "CR-PLA Matte @K1_CFS-C-all", - "sub_path": "filament/CR-PLA Matte @K1_CFS-C-all.json" - }, - { - "name": "CR-PLA Matte @K2 Plus-all", - "sub_path": "filament/CR-PLA Matte @K2 Plus-all.json" - }, - { - "name": "CR-PLA Matte @K2 Pro-all", - "sub_path": "filament/CR-PLA Matte @K2 Pro-all.json" - }, - { - "name": "CR-PLA Matte @K2-all", - "sub_path": "filament/CR-PLA Matte @K2-all.json" - }, - { - "name": "CR-PLA Matte @SPARKX i7-all", - "sub_path": "filament/CR-PLA Matte @SPARKX i7-all.json" - }, - { - "name": "CR-Silk @Ender-3 V4-all", - "sub_path": "filament/CR-Silk @Ender-3 V4-all.json" - }, - { - "name": "CR-Silk @Hi-all", - "sub_path": "filament/CR-Silk @Hi-all.json" - }, - { - "name": "CR-Silk @K1 Max_CFS-C-all", - "sub_path": "filament/CR-Silk @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-Silk @K1 SE-all", - "sub_path": "filament/CR-Silk @K1 SE-all.json" - }, - { - "name": "CR-Silk @K1 SE_CFS-C-all", - "sub_path": "filament/CR-Silk @K1 SE_CFS-C-all.json" - }, - { - "name": "CR-Silk @K1C-all", - "sub_path": "filament/CR-Silk @K1C-all.json" - }, - { - "name": "CR-Silk @K1C_CFS-C-all", - "sub_path": "filament/CR-Silk @K1C_CFS-C-all.json" - }, - { - "name": "CR-Silk @K1_CFS-C-all", - "sub_path": "filament/CR-Silk @K1_CFS-C-all.json" - }, - { - "name": "CR-Silk @K2 Plus-all", - "sub_path": "filament/CR-Silk @K2 Plus-all.json" - }, - { - "name": "CR-Silk @K2 Pro-all", - "sub_path": "filament/CR-Silk @K2 Pro-all.json" - }, - { - "name": "CR-Silk @K2 SE-all", - "sub_path": "filament/CR-Silk @K2 SE-all.json" - }, - { - "name": "CR-Silk @K2-all", - "sub_path": "filament/CR-Silk @K2-all.json" - }, - { - "name": "CR-Silk @SPARKX i7-all", - "sub_path": "filament/CR-Silk @SPARKX i7-all.json" - }, - { - "name": "CR-TPU @K1 Max_CFS-C-all", - "sub_path": "filament/CR-TPU @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-TPU @K1C-all", - "sub_path": "filament/CR-TPU @K1C-all.json" - }, - { - "name": "CR-TPU @K1C_CFS-C-all", - "sub_path": "filament/CR-TPU @K1C_CFS-C-all.json" - }, - { - "name": "CR-TPU @K1_CFS-C-all", - "sub_path": "filament/CR-TPU @K1_CFS-C-all.json" - }, - { - "name": "CR-TPU @K2 Plus-all", - "sub_path": "filament/CR-TPU @K2 Plus-all.json" - }, - { - "name": "CR-TPU @K2 Pro-all", - "sub_path": "filament/CR-TPU @K2 Pro-all.json" - }, - { - "name": "CR-TPU @K2-all", - "sub_path": "filament/CR-TPU @K2-all.json" - }, - { - "name": "CR-TPU @SPARKX i7-all", - "sub_path": "filament/CR-TPU @SPARKX i7-all.json" - }, - { - "name": "CR-Wood @K1 Max_CFS-C-all", - "sub_path": "filament/CR-Wood @K1 Max_CFS-C-all.json" - }, - { - "name": "CR-Wood @K1C-all", - "sub_path": "filament/CR-Wood @K1C-all.json" - }, - { - "name": "CR-Wood @K1C_CFS-C-all", - "sub_path": "filament/CR-Wood @K1C_CFS-C-all.json" - }, - { - "name": "CR-Wood @K1_CFS-C-all", - "sub_path": "filament/CR-Wood @K1_CFS-C-all.json" - }, - { - "name": "CR-Wood @K2 Plus-all", - "sub_path": "filament/CR-Wood @K2 Plus-all.json" - }, - { - "name": "EN-PLA+ @K1 Max_CFS-C-all", - "sub_path": "filament/EN-PLA+ @K1 Max_CFS-C-all.json" - }, - { - "name": "EN-PLA+ @K1C-all", - "sub_path": "filament/EN-PLA+ @K1C-all.json" - }, - { - "name": "EN-PLA+ @K1C_CFS-C-all", - "sub_path": "filament/EN-PLA+ @K1C_CFS-C-all.json" - }, - { - "name": "EN-PLA+ @K1_CFS-C-all", - "sub_path": "filament/EN-PLA+ @K1_CFS-C-all.json" - }, - { - "name": "EN-PLA+ @K2 Plus-all", - "sub_path": "filament/EN-PLA+ @K2 Plus-all.json" - }, - { - "name": "EN-PLA+ @K2 Pro-all", - "sub_path": "filament/EN-PLA+ @K2 Pro-all.json" - }, - { - "name": "EN-PLA+ @K2-all", - "sub_path": "filament/EN-PLA+ @K2-all.json" - }, - { - "name": "EN-PLA+ @SPARKX i7-all", - "sub_path": "filament/EN-PLA+ @SPARKX i7-all.json" - }, - { - "name": "ENDER FAST PLA @Hi-all", - "sub_path": "filament/ENDER FAST PLA @Hi-all.json" - }, - { - "name": "ENDER FAST PLA @K2 Plus-all", - "sub_path": "filament/ENDER FAST PLA @K2 Plus-all.json" - }, - { - "name": "ENDER FAST PLA @K2 Pro-all", - "sub_path": "filament/ENDER FAST PLA @K2 Pro-all.json" - }, - { - "name": "ENDER FAST PLA @K2-all", - "sub_path": "filament/ENDER FAST PLA @K2-all.json" - }, - { - "name": "ENDER FAST PLA @SPARKX i7-all", - "sub_path": "filament/ENDER FAST PLA @SPARKX i7-all.json" - }, - { - "name": "Ender-PLA @Ender-3 V4-all", - "sub_path": "filament/Ender-PLA @Ender-3 V4-all.json" - }, - { - "name": "Ender-PLA @Hi-all", - "sub_path": "filament/Ender-PLA @Hi-all.json" - }, - { - "name": "Ender-PLA @K1 Max_CFS-C-all", - "sub_path": "filament/Ender-PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "Ender-PLA @K1C-all", - "sub_path": "filament/Ender-PLA @K1C-all.json" - }, - { - "name": "Ender-PLA @K1C_CFS-C-all", - "sub_path": "filament/Ender-PLA @K1C_CFS-C-all.json" - }, - { - "name": "Ender-PLA @K1_CFS-C-all", - "sub_path": "filament/Ender-PLA @K1_CFS-C-all.json" - }, - { - "name": "Ender-PLA @K2 Plus-all", - "sub_path": "filament/Ender-PLA @K2 Plus-all.json" - }, - { - "name": "Ender-PLA @K2 Pro-all", - "sub_path": "filament/Ender-PLA @K2 Pro-all.json" - }, - { - "name": "Ender-PLA @K2-all", - "sub_path": "filament/Ender-PLA @K2-all.json" - }, - { - "name": "Ender-PLA @SPARKX i7-all", - "sub_path": "filament/Ender-PLA @SPARKX i7-all.json" - }, - { - "name": "Generic ABS @Ender-3 V4-all", - "sub_path": "filament/Generic ABS @Ender-3 V4-all.json" - }, - { - "name": "Generic ABS @Hi-all", - "sub_path": "filament/Generic ABS @Hi-all.json" - }, - { - "name": "Generic ABS @K1 Max_CFS-C-all", - "sub_path": "filament/Generic ABS @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic ABS @K1 SE-all", - "sub_path": "filament/Generic ABS @K1 SE-all.json" - }, - { - "name": "Generic ABS @K1 SE_CFS-C-all", - "sub_path": "filament/Generic ABS @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic ABS @K1C-all", - "sub_path": "filament/Generic ABS @K1C-all.json" - }, - { - "name": "Generic ABS @K1C_CFS-C-all", - "sub_path": "filament/Generic ABS @K1C_CFS-C-all.json" - }, - { - "name": "Generic ABS @K1_CFS-C-all", - "sub_path": "filament/Generic ABS @K1_CFS-C-all.json" - }, - { - "name": "Generic ABS @K2 Plus-all", - "sub_path": "filament/Generic ABS @K2 Plus-all.json" - }, - { - "name": "Generic ABS @K2 Pro-all", - "sub_path": "filament/Generic ABS @K2 Pro-all.json" - }, - { - "name": "Generic ABS @K2 SE-all", - "sub_path": "filament/Generic ABS @K2 SE-all.json" - }, - { - "name": "Generic ABS @K2-all", - "sub_path": "filament/Generic ABS @K2-all.json" - }, - { - "name": "Generic ASA @K1 Max_CFS-C-all", - "sub_path": "filament/Generic ASA @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic ASA @K1 SE-all", - "sub_path": "filament/Generic ASA @K1 SE-all.json" - }, - { - "name": "Generic ASA @K1 SE_CFS-C-all", - "sub_path": "filament/Generic ASA @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic ASA @K1C-all", - "sub_path": "filament/Generic ASA @K1C-all.json" - }, - { - "name": "Generic ASA @K1C_CFS-C-all", - "sub_path": "filament/Generic ASA @K1C_CFS-C-all.json" - }, - { - "name": "Generic ASA @K1_CFS-C-all", - "sub_path": "filament/Generic ASA @K1_CFS-C-all.json" - }, - { - "name": "Generic ASA @K2 Plus-all", - "sub_path": "filament/Generic ASA @K2 Plus-all.json" - }, - { - "name": "Generic ASA @K2 Pro-all", - "sub_path": "filament/Generic ASA @K2 Pro-all.json" - }, - { - "name": "Generic ASA @K2 SE-all", - "sub_path": "filament/Generic ASA @K2 SE-all.json" - }, - { - "name": "Generic ASA @K2-all", - "sub_path": "filament/Generic ASA @K2-all.json" - }, - { - "name": "Generic ASA-CF @K2 Plus-all", - "sub_path": "filament/Generic ASA-CF @K2 Plus-all.json" - }, - { - "name": "Generic BVOH @Hi-all", - "sub_path": "filament/Generic BVOH @Hi-all.json" - }, - { - "name": "Generic BVOH @K1 Max_CFS-C-all", - "sub_path": "filament/Generic BVOH @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic BVOH @K1C-all", - "sub_path": "filament/Generic BVOH @K1C-all.json" - }, - { - "name": "Generic BVOH @K1C_CFS-C-all", - "sub_path": "filament/Generic BVOH @K1C_CFS-C-all.json" - }, - { - "name": "Generic BVOH @K1_CFS-C-all", - "sub_path": "filament/Generic BVOH @K1_CFS-C-all.json" - }, - { - "name": "Generic BVOH @K2 Plus-all", - "sub_path": "filament/Generic BVOH @K2 Plus-all.json" - }, - { - "name": "Generic BVOH @K2 Pro-all", - "sub_path": "filament/Generic BVOH @K2 Pro-all.json" - }, - { - "name": "Generic BVOH @K2-all", - "sub_path": "filament/Generic BVOH @K2-all.json" - }, - { - "name": "Generic HIPS @K1 Max_CFS-C-all", - "sub_path": "filament/Generic HIPS @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic HIPS @K1C-all", - "sub_path": "filament/Generic HIPS @K1C-all.json" - }, - { - "name": "Generic HIPS @K1C_CFS-C-all", - "sub_path": "filament/Generic HIPS @K1C_CFS-C-all.json" - }, - { - "name": "Generic HIPS @K1_CFS-C-all", - "sub_path": "filament/Generic HIPS @K1_CFS-C-all.json" - }, - { - "name": "Generic HIPS @K2 Plus-all", - "sub_path": "filament/Generic HIPS @K2 Plus-all.json" - }, - { - "name": "Generic PA @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PA @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PA @K1C-all", - "sub_path": "filament/Generic PA @K1C-all.json" - }, - { - "name": "Generic PA @K1C_CFS-C-all", - "sub_path": "filament/Generic PA @K1C_CFS-C-all.json" - }, - { - "name": "Generic PA @K1_CFS-C-all", - "sub_path": "filament/Generic PA @K1_CFS-C-all.json" - }, - { - "name": "Generic PA @K2 Plus-all", - "sub_path": "filament/Generic PA @K2 Plus-all.json" - }, - { - "name": "Generic PA @K2 Pro-all", - "sub_path": "filament/Generic PA @K2 Pro-all.json" - }, - { - "name": "Generic PA @K2-all", - "sub_path": "filament/Generic PA @K2-all.json" - }, - { - "name": "Generic PA-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PA-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PA-CF @K1C-all", - "sub_path": "filament/Generic PA-CF @K1C-all.json" - }, - { - "name": "Generic PA-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PA-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PA-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PA-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PA-CF @K2 Plus-all", - "sub_path": "filament/Generic PA-CF @K2 Plus-all.json" - }, - { - "name": "Generic PA12-CF @K2 Plus-all", - "sub_path": "filament/Generic PA12-CF @K2 Plus-all.json" - }, - { - "name": "Generic PA6-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PA6-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PA6-CF @K1C-all", - "sub_path": "filament/Generic PA6-CF @K1C-all.json" - }, - { - "name": "Generic PA6-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PA6-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PA6-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PA6-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PA6-CF @K2 Plus-all", - "sub_path": "filament/Generic PA6-CF @K2 Plus-all.json" - }, - { - "name": "Generic PA6-CF @K2 Pro-all", - "sub_path": "filament/Generic PA6-CF @K2 Pro-all.json" - }, - { - "name": "Generic PA6-GF @K2 Plus-all", - "sub_path": "filament/Generic PA6-GF @K2 Plus-all.json" - }, - { - "name": "Generic PA612-CF @K2 Plus-all", - "sub_path": "filament/Generic PA612-CF @K2 Plus-all.json" - }, - { - "name": "Generic PA612-CF @K2 Pro-all", - "sub_path": "filament/Generic PA612-CF @K2 Pro-all.json" - }, - { - "name": "Generic PAHT-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PAHT-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PAHT-CF @K1C-all", - "sub_path": "filament/Generic PAHT-CF @K1C-all.json" - }, - { - "name": "Generic PAHT-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PAHT-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PAHT-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PAHT-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PAHT-CF @K2 Plus-all", - "sub_path": "filament/Generic PAHT-CF @K2 Plus-all.json" - }, - { - "name": "Generic PAHT-CF @K2 Pro-all", - "sub_path": "filament/Generic PAHT-CF @K2 Pro-all.json" - }, - { - "name": "Generic PAHT-CF @K2-all", - "sub_path": "filament/Generic PAHT-CF @K2-all.json" - }, - { - "name": "Generic PC @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PC @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PC @K1C-all", - "sub_path": "filament/Generic PC @K1C-all.json" - }, - { - "name": "Generic PC @K1C_CFS-C-all", - "sub_path": "filament/Generic PC @K1C_CFS-C-all.json" - }, - { - "name": "Generic PC @K1_CFS-C-all", - "sub_path": "filament/Generic PC @K1_CFS-C-all.json" - }, - { - "name": "Generic PC @K2 Plus-all", - "sub_path": "filament/Generic PC @K2 Plus-all.json" - }, - { - "name": "Generic PC @K2 Pro-all", - "sub_path": "filament/Generic PC @K2 Pro-all.json" - }, - { - "name": "Generic PCTG @K2 Plus-all", - "sub_path": "filament/Generic PCTG @K2 Plus-all.json" - }, - { - "name": "Generic PET @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PET @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PET @K1C-all", - "sub_path": "filament/Generic PET @K1C-all.json" - }, - { - "name": "Generic PET @K1C_CFS-C-all", - "sub_path": "filament/Generic PET @K1C_CFS-C-all.json" - }, - { - "name": "Generic PET @K1_CFS-C-all", - "sub_path": "filament/Generic PET @K1_CFS-C-all.json" - }, - { - "name": "Generic PET @K2 Plus-all", - "sub_path": "filament/Generic PET @K2 Plus-all.json" - }, - { - "name": "Generic PET @K2 Pro-all", - "sub_path": "filament/Generic PET @K2 Pro-all.json" - }, - { - "name": "Generic PET @K2-all", - "sub_path": "filament/Generic PET @K2-all.json" - }, - { - "name": "Generic PET-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PET-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PET-CF @K1C-all", - "sub_path": "filament/Generic PET-CF @K1C-all.json" - }, - { - "name": "Generic PET-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PET-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PET-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PET-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PET-CF @K2 Plus-all", - "sub_path": "filament/Generic PET-CF @K2 Plus-all.json" - }, - { - "name": "Generic PET-CF @K2 Pro-all", - "sub_path": "filament/Generic PET-CF @K2 Pro-all.json" - }, - { - "name": "Generic PETG @Ender-3 V4-all", - "sub_path": "filament/Generic PETG @Ender-3 V4-all.json" - }, - { - "name": "Generic PETG @Hi-all", - "sub_path": "filament/Generic PETG @Hi-all.json" - }, - { - "name": "Generic PETG @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PETG @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PETG @K1 SE-all", - "sub_path": "filament/Generic PETG @K1 SE-all.json" - }, - { - "name": "Generic PETG @K1 SE_CFS-C-all", - "sub_path": "filament/Generic PETG @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic PETG @K1C-all", - "sub_path": "filament/Generic PETG @K1C-all.json" - }, - { - "name": "Generic PETG @K1C_CFS-C-all", - "sub_path": "filament/Generic PETG @K1C_CFS-C-all.json" - }, - { - "name": "Generic PETG @K1_CFS-C-all", - "sub_path": "filament/Generic PETG @K1_CFS-C-all.json" - }, - { - "name": "Generic PETG @K2 Plus-all", - "sub_path": "filament/Generic PETG @K2 Plus-all.json" - }, - { - "name": "Generic PETG @K2 Pro-all", - "sub_path": "filament/Generic PETG @K2 Pro-all.json" - }, - { - "name": "Generic PETG @K2 SE-all", - "sub_path": "filament/Generic PETG @K2 SE-all.json" - }, - { - "name": "Generic PETG @K2-all", - "sub_path": "filament/Generic PETG @K2-all.json" - }, - { - "name": "Generic PETG @SPARKX i7-all", - "sub_path": "filament/Generic PETG @SPARKX i7-all.json" - }, - { - "name": "Generic PETG-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PETG-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PETG-CF @K1C-all", - "sub_path": "filament/Generic PETG-CF @K1C-all.json" - }, - { - "name": "Generic PETG-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PETG-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PETG-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PETG-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PETG-CF @K2 Plus-all", - "sub_path": "filament/Generic PETG-CF @K2 Plus-all.json" - }, - { - "name": "Generic PETG-CF @K2 Pro-all", - "sub_path": "filament/Generic PETG-CF @K2 Pro-all.json" - }, - { - "name": "Generic PETG-CF @K2-all", - "sub_path": "filament/Generic PETG-CF @K2-all.json" - }, - { - "name": "Generic PETG-CF @SPARKX i7-all", - "sub_path": "filament/Generic PETG-CF @SPARKX i7-all.json" - }, - { - "name": "Generic PETG-GF @K2 Plus-all", - "sub_path": "filament/Generic PETG-GF @K2 Plus-all.json" - }, - { - "name": "Generic PETG-GF @K2 Pro-all", - "sub_path": "filament/Generic PETG-GF @K2 Pro-all.json" - }, - { - "name": "Generic PETG-GF @K2-all", - "sub_path": "filament/Generic PETG-GF @K2-all.json" - }, - { - "name": "Generic PLA @Ender-3 V4-all", - "sub_path": "filament/Generic PLA @Ender-3 V4-all.json" - }, - { - "name": "Generic PLA @Hi-all", - "sub_path": "filament/Generic PLA @Hi-all.json" - }, - { - "name": "Generic PLA @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PLA @K1 SE-all", - "sub_path": "filament/Generic PLA @K1 SE-all.json" - }, - { - "name": "Generic PLA @K1 SE_CFS-C-all", - "sub_path": "filament/Generic PLA @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic PLA @K1C-all", - "sub_path": "filament/Generic PLA @K1C-all.json" - }, - { - "name": "Generic PLA @K1C_CFS-C-all", - "sub_path": "filament/Generic PLA @K1C_CFS-C-all.json" - }, - { - "name": "Generic PLA @K1_CFS-C-all", - "sub_path": "filament/Generic PLA @K1_CFS-C-all.json" - }, - { - "name": "Generic PLA @K2 Plus-all", - "sub_path": "filament/Generic PLA @K2 Plus-all.json" - }, - { - "name": "Generic PLA @K2 Pro-all", - "sub_path": "filament/Generic PLA @K2 Pro-all.json" - }, - { - "name": "Generic PLA @K2 SE-all", - "sub_path": "filament/Generic PLA @K2 SE-all.json" - }, - { - "name": "Generic PLA @K2-all", - "sub_path": "filament/Generic PLA @K2-all.json" - }, - { - "name": "Generic PLA @SPARKX i7-all", - "sub_path": "filament/Generic PLA @SPARKX i7-all.json" - }, - { - "name": "Generic PLA-CF @Ender-3 V4-all", - "sub_path": "filament/Generic PLA-CF @Ender-3 V4-all.json" - }, - { - "name": "Generic PLA-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PLA-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PLA-CF @K1 SE-all", - "sub_path": "filament/Generic PLA-CF @K1 SE-all.json" - }, - { - "name": "Generic PLA-CF @K1 SE_CFS-C-all", - "sub_path": "filament/Generic PLA-CF @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic PLA-CF @K1C-all", - "sub_path": "filament/Generic PLA-CF @K1C-all.json" - }, - { - "name": "Generic PLA-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PLA-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PLA-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PLA-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PLA-CF @K2 Plus-all", - "sub_path": "filament/Generic PLA-CF @K2 Plus-all.json" - }, - { - "name": "Generic PLA-CF @K2 Pro-all", - "sub_path": "filament/Generic PLA-CF @K2 Pro-all.json" - }, - { - "name": "Generic PLA-CF @K2 SE-all", - "sub_path": "filament/Generic PLA-CF @K2 SE-all.json" - }, - { - "name": "Generic PLA-CF @K2-all", - "sub_path": "filament/Generic PLA-CF @K2-all.json" - }, - { - "name": "Generic PLA-CF @SPARKX i7-all", - "sub_path": "filament/Generic PLA-CF @SPARKX i7-all.json" - }, - { - "name": "Generic PLA-Silk @Ender-3 V4-all", - "sub_path": "filament/Generic PLA-Silk @Ender-3 V4-all.json" - }, - { - "name": "Generic PLA-Silk @Hi-all", - "sub_path": "filament/Generic PLA-Silk @Hi-all.json" - }, - { - "name": "Generic PLA-Silk @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PLA-Silk @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PLA-Silk @K1 SE-all", - "sub_path": "filament/Generic PLA-Silk @K1 SE-all.json" - }, - { - "name": "Generic PLA-Silk @K1 SE_CFS-C-all", - "sub_path": "filament/Generic PLA-Silk @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic PLA-Silk @K1C-all", - "sub_path": "filament/Generic PLA-Silk @K1C-all.json" - }, - { - "name": "Generic PLA-Silk @K1C_CFS-C-all", - "sub_path": "filament/Generic PLA-Silk @K1C_CFS-C-all.json" - }, - { - "name": "Generic PLA-Silk @K1_CFS-C-all", - "sub_path": "filament/Generic PLA-Silk @K1_CFS-C-all.json" - }, - { - "name": "Generic PLA-Silk @K2 Plus-all", - "sub_path": "filament/Generic PLA-Silk @K2 Plus-all.json" - }, - { - "name": "Generic PLA-Silk @K2 Pro-all", - "sub_path": "filament/Generic PLA-Silk @K2 Pro-all.json" - }, - { - "name": "Generic PLA-Silk @K2 SE-all", - "sub_path": "filament/Generic PLA-Silk @K2 SE-all.json" - }, - { - "name": "Generic PLA-Silk @K2-all", - "sub_path": "filament/Generic PLA-Silk @K2-all.json" - }, - { - "name": "Generic PLA-Silk @SPARKX i7-all", - "sub_path": "filament/Generic PLA-Silk @SPARKX i7-all.json" - }, - { - "name": "Generic PP @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PP @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PP @K1C-all", - "sub_path": "filament/Generic PP @K1C-all.json" - }, - { - "name": "Generic PP @K1C_CFS-C-all", - "sub_path": "filament/Generic PP @K1C_CFS-C-all.json" - }, - { - "name": "Generic PP @K1_CFS-C-all", - "sub_path": "filament/Generic PP @K1_CFS-C-all.json" - }, - { - "name": "Generic PP @K2 Plus-all", - "sub_path": "filament/Generic PP @K2 Plus-all.json" - }, - { - "name": "Generic PP @K2 Pro-all", - "sub_path": "filament/Generic PP @K2 Pro-all.json" - }, - { - "name": "Generic PP @K2-all", - "sub_path": "filament/Generic PP @K2-all.json" - }, - { - "name": "Generic PP-CF @K2 Plus-all", - "sub_path": "filament/Generic PP-CF @K2 Plus-all.json" - }, - { - "name": "Generic PPS @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PPS @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PPS @K1C-all", - "sub_path": "filament/Generic PPS @K1C-all.json" - }, - { - "name": "Generic PPS @K1C_CFS-C-all", - "sub_path": "filament/Generic PPS @K1C_CFS-C-all.json" - }, - { - "name": "Generic PPS @K1_CFS-C-all", - "sub_path": "filament/Generic PPS @K1_CFS-C-all.json" - }, - { - "name": "Generic PPS @K2 Plus-all", - "sub_path": "filament/Generic PPS @K2 Plus-all.json" - }, - { - "name": "Generic PPS-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PPS-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PPS-CF @K1C-all", - "sub_path": "filament/Generic PPS-CF @K1C-all.json" - }, - { - "name": "Generic PPS-CF @K1C_CFS-C-all", - "sub_path": "filament/Generic PPS-CF @K1C_CFS-C-all.json" - }, - { - "name": "Generic PPS-CF @K1_CFS-C-all", - "sub_path": "filament/Generic PPS-CF @K1_CFS-C-all.json" - }, - { - "name": "Generic PPS-CF @K2 Plus-all", - "sub_path": "filament/Generic PPS-CF @K2 Plus-all.json" - }, - { - "name": "Generic PVA @Hi-all", - "sub_path": "filament/Generic PVA @Hi-all.json" - }, - { - "name": "Generic PVA @K1 Max_CFS-C-all", - "sub_path": "filament/Generic PVA @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic PVA @K1C-all", - "sub_path": "filament/Generic PVA @K1C-all.json" - }, - { - "name": "Generic PVA @K1C_CFS-C-all", - "sub_path": "filament/Generic PVA @K1C_CFS-C-all.json" - }, - { - "name": "Generic PVA @K1_CFS-C-all", - "sub_path": "filament/Generic PVA @K1_CFS-C-all.json" - }, - { - "name": "Generic PVA @K2 Plus-all", - "sub_path": "filament/Generic PVA @K2 Plus-all.json" - }, - { - "name": "Generic PVA @K2 Pro-all", - "sub_path": "filament/Generic PVA @K2 Pro-all.json" - }, - { - "name": "Generic PVA @K2-all", - "sub_path": "filament/Generic PVA @K2-all.json" - }, - { - "name": "Generic Support for PA @K2 Plus-all", - "sub_path": "filament/Generic Support for PA @K2 Plus-all.json" - }, - { - "name": "Generic Support for PLA @K2 Plus-all", - "sub_path": "filament/Generic Support for PLA @K2 Plus-all.json" - }, - { - "name": "Generic TPU 64D @K2 Plus-all", - "sub_path": "filament/Generic TPU 64D @K2 Plus-all.json" - }, - { - "name": "Generic TPU 64D @SPARKX i7-all", - "sub_path": "filament/Generic TPU 64D @SPARKX i7-all.json" - }, - { - "name": "Generic TPU @Ender-3 V4-all", - "sub_path": "filament/Generic TPU @Ender-3 V4-all.json" - }, - { - "name": "Generic TPU @K1 Max_CFS-C-all", - "sub_path": "filament/Generic TPU @K1 Max_CFS-C-all.json" - }, - { - "name": "Generic TPU @K1 SE-all", - "sub_path": "filament/Generic TPU @K1 SE-all.json" - }, - { - "name": "Generic TPU @K1 SE_CFS-C-all", - "sub_path": "filament/Generic TPU @K1 SE_CFS-C-all.json" - }, - { - "name": "Generic TPU @K1C-all", - "sub_path": "filament/Generic TPU @K1C-all.json" - }, - { - "name": "Generic TPU @K1C_CFS-C-all", - "sub_path": "filament/Generic TPU @K1C_CFS-C-all.json" - }, - { - "name": "Generic TPU @K1_CFS-C-all", - "sub_path": "filament/Generic TPU @K1_CFS-C-all.json" - }, - { - "name": "Generic TPU @K2 Plus-all", - "sub_path": "filament/Generic TPU @K2 Plus-all.json" - }, - { - "name": "Generic TPU @K2 Pro-all", - "sub_path": "filament/Generic TPU @K2 Pro-all.json" - }, - { - "name": "Generic TPU @K2 SE-all", - "sub_path": "filament/Generic TPU @K2 SE-all.json" - }, - { - "name": "Generic TPU @K2-all", - "sub_path": "filament/Generic TPU @K2-all.json" - }, - { - "name": "Generic TPU @SPARKX i7-all", - "sub_path": "filament/Generic TPU @SPARKX i7-all.json" - }, - { - "name": "HP Ultra PLA @K1 Max_CFS-C-all", - "sub_path": "filament/HP Ultra PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "HP Ultra PLA @K1C-all", - "sub_path": "filament/HP Ultra PLA @K1C-all.json" - }, - { - "name": "HP Ultra PLA @K1C_CFS-C-all", - "sub_path": "filament/HP Ultra PLA @K1C_CFS-C-all.json" - }, - { - "name": "HP Ultra PLA @K1_CFS-C-all", - "sub_path": "filament/HP Ultra PLA @K1_CFS-C-all.json" - }, - { - "name": "HP Ultra PLA @K2 Plus-all", - "sub_path": "filament/HP Ultra PLA @K2 Plus-all.json" - }, - { - "name": "HP-ASA @K1 Max_CFS-C-all", - "sub_path": "filament/HP-ASA @K1 Max_CFS-C-all.json" - }, - { - "name": "HP-ASA @K1C-all", - "sub_path": "filament/HP-ASA @K1C-all.json" - }, - { - "name": "HP-ASA @K1C_CFS-C-all", - "sub_path": "filament/HP-ASA @K1C_CFS-C-all.json" - }, - { - "name": "HP-ASA @K1_CFS-C-all", - "sub_path": "filament/HP-ASA @K1_CFS-C-all.json" - }, - { - "name": "HP-ASA @K2 Plus-all", - "sub_path": "filament/HP-ASA @K2 Plus-all.json" - }, - { - "name": "HP-ASA @K2 Pro-all", - "sub_path": "filament/HP-ASA @K2 Pro-all.json" - }, - { - "name": "HP-ASA @K2 SE-all", - "sub_path": "filament/HP-ASA @K2 SE-all.json" - }, - { - "name": "HP-ASA @K2-all", - "sub_path": "filament/HP-ASA @K2-all.json" - }, - { - "name": "HP-TPU @Ender-3 V4-all", - "sub_path": "filament/HP-TPU @Ender-3 V4-all.json" - }, - { - "name": "HP-TPU @Hi-all", - "sub_path": "filament/HP-TPU @Hi-all.json" - }, - { - "name": "HP-TPU @K1 Max_CFS-C-all", - "sub_path": "filament/HP-TPU @K1 Max_CFS-C-all.json" - }, - { - "name": "HP-TPU @K1 SE-all", - "sub_path": "filament/HP-TPU @K1 SE-all.json" - }, - { - "name": "HP-TPU @K1 SE_CFS-C-all", - "sub_path": "filament/HP-TPU @K1 SE_CFS-C-all.json" - }, - { - "name": "HP-TPU @K1C-all", - "sub_path": "filament/HP-TPU @K1C-all.json" - }, - { - "name": "HP-TPU @K1C_CFS-C-all", - "sub_path": "filament/HP-TPU @K1C_CFS-C-all.json" - }, - { - "name": "HP-TPU @K1_CFS-C-all", - "sub_path": "filament/HP-TPU @K1_CFS-C-all.json" - }, - { - "name": "HP-TPU @K2 Plus-all", - "sub_path": "filament/HP-TPU @K2 Plus-all.json" - }, - { - "name": "HP-TPU @K2 Pro-all", - "sub_path": "filament/HP-TPU @K2 Pro-all.json" - }, - { - "name": "HP-TPU @K2 SE-all", - "sub_path": "filament/HP-TPU @K2 SE-all.json" - }, - { - "name": "HP-TPU @K2-all", - "sub_path": "filament/HP-TPU @K2-all.json" - }, - { - "name": "HP-TPU @SPARKX i7-all", - "sub_path": "filament/HP-TPU @SPARKX i7-all.json" - }, - { - "name": "Hyper ABS @Ender-3 V4-all", - "sub_path": "filament/Hyper ABS @Ender-3 V4-all.json" - }, - { - "name": "Hyper ABS @Hi-all", - "sub_path": "filament/Hyper ABS @Hi-all.json" - }, - { - "name": "Hyper ABS @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper ABS @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper ABS @K1 SE-all", - "sub_path": "filament/Hyper ABS @K1 SE-all.json" - }, - { - "name": "Hyper ABS @K1 SE_CFS-C-all", - "sub_path": "filament/Hyper ABS @K1 SE_CFS-C-all.json" - }, - { - "name": "Hyper ABS @K1C-all", - "sub_path": "filament/Hyper ABS @K1C-all.json" - }, - { - "name": "Hyper ABS @K1C_CFS-C-all", - "sub_path": "filament/Hyper ABS @K1C_CFS-C-all.json" - }, - { - "name": "Hyper ABS @K1_CFS-C-all", - "sub_path": "filament/Hyper ABS @K1_CFS-C-all.json" - }, - { - "name": "Hyper ABS @K2 Plus-all", - "sub_path": "filament/Hyper ABS @K2 Plus-all.json" - }, - { - "name": "Hyper ABS @K2 Pro-all", - "sub_path": "filament/Hyper ABS @K2 Pro-all.json" - }, - { - "name": "Hyper ABS @K2 SE-all", - "sub_path": "filament/Hyper ABS @K2 SE-all.json" - }, - { - "name": "Hyper ABS @K2-all", - "sub_path": "filament/Hyper ABS @K2-all.json" - }, - { - "name": "Hyper L-W PLA @Hi-all", - "sub_path": "filament/Hyper L-W PLA @Hi-all.json" - }, - { - "name": "Hyper L-W PLA @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper L-W PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper L-W PLA @K1 SE-all", - "sub_path": "filament/Hyper L-W PLA @K1 SE-all.json" - }, - { - "name": "Hyper L-W PLA @K1 SE_CFS-C-all", - "sub_path": "filament/Hyper L-W PLA @K1 SE_CFS-C-all.json" - }, - { - "name": "Hyper L-W PLA @K1C-all", - "sub_path": "filament/Hyper L-W PLA @K1C-all.json" - }, - { - "name": "Hyper L-W PLA @K1C_CFS-C-all", - "sub_path": "filament/Hyper L-W PLA @K1C_CFS-C-all.json" - }, - { - "name": "Hyper L-W PLA @K1_CFS-C-all", - "sub_path": "filament/Hyper L-W PLA @K1_CFS-C-all.json" - }, - { - "name": "Hyper L-W PLA @K2 Plus-all", - "sub_path": "filament/Hyper L-W PLA @K2 Plus-all.json" - }, - { - "name": "Hyper L-W PLA @K2 Pro-all", - "sub_path": "filament/Hyper L-W PLA @K2 Pro-all.json" - }, - { - "name": "Hyper L-W PLA @K2-all", - "sub_path": "filament/Hyper L-W PLA @K2-all.json" - }, - { - "name": "Hyper Luminous @Hi-all", - "sub_path": "filament/Hyper Luminous @Hi-all.json" - }, - { - "name": "Hyper Luminous @K1C-all", - "sub_path": "filament/Hyper Luminous @K1C-all.json" - }, - { - "name": "Hyper Luminous @K2 Plus-all", - "sub_path": "filament/Hyper Luminous @K2 Plus-all.json" - }, - { - "name": "Hyper Luminous @K2 Pro-all", - "sub_path": "filament/Hyper Luminous @K2 Pro-all.json" - }, - { - "name": "Hyper Luminous @K2-all", - "sub_path": "filament/Hyper Luminous @K2-all.json" - }, - { - "name": "Hyper Luminous @SPARKX i7-all", - "sub_path": "filament/Hyper Luminous @SPARKX i7-all.json" - }, - { - "name": "Hyper Marble @Hi-all", - "sub_path": "filament/Hyper Marble @Hi-all.json" - }, - { - "name": "Hyper Marble @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper Marble @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper Marble @K1C-all", - "sub_path": "filament/Hyper Marble @K1C-all.json" - }, - { - "name": "Hyper Marble @K1C_CFS-C-all", - "sub_path": "filament/Hyper Marble @K1C_CFS-C-all.json" - }, - { - "name": "Hyper Marble @K1_CFS-C-all", - "sub_path": "filament/Hyper Marble @K1_CFS-C-all.json" - }, - { - "name": "Hyper Marble @K2 Plus-all", - "sub_path": "filament/Hyper Marble @K2 Plus-all.json" - }, - { - "name": "Hyper Marble @K2 Pro-all", - "sub_path": "filament/Hyper Marble @K2 Pro-all.json" - }, - { - "name": "Hyper Marble @K2 SE-all", - "sub_path": "filament/Hyper Marble @K2 SE-all.json" - }, - { - "name": "Hyper Marble @K2-all", - "sub_path": "filament/Hyper Marble @K2-all.json" - }, - { - "name": "Hyper Marble @SPARKX i7-all", - "sub_path": "filament/Hyper Marble @SPARKX i7-all.json" - }, - { - "name": "Hyper PA6-CF @K2 Plus-all", - "sub_path": "filament/Hyper PA6-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PA6-CF @K2 Pro-all", - "sub_path": "filament/Hyper PA6-CF @K2 Pro-all.json" - }, - { - "name": "Hyper PA612-CF @K2 Plus-all", - "sub_path": "filament/Hyper PA612-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PA612-CF @K2 Pro-all", - "sub_path": "filament/Hyper PA612-CF @K2 Pro-all.json" - }, - { - "name": "Hyper PAHT-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper PAHT-CF @K1C-all", - "sub_path": "filament/Hyper PAHT-CF @K1C-all.json" - }, - { - "name": "Hyper PAHT-CF @K1C_CFS-C-all", - "sub_path": "filament/Hyper PAHT-CF @K1C_CFS-C-all.json" - }, - { - "name": "Hyper PAHT-CF @K1_CFS-C-all", - "sub_path": "filament/Hyper PAHT-CF @K1_CFS-C-all.json" - }, - { - "name": "Hyper PAHT-CF @K2 Plus-all", - "sub_path": "filament/Hyper PAHT-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PAHT-CF @K2 Pro-all", - "sub_path": "filament/Hyper PAHT-CF @K2 Pro-all.json" - }, - { - "name": "Hyper PAHT-CF @K2-all", - "sub_path": "filament/Hyper PAHT-CF @K2-all.json" - }, - { - "name": "Hyper PC @K2 Plus-all", - "sub_path": "filament/Hyper PC @K2 Plus-all.json" - }, - { - "name": "Hyper PC @K2 Pro-all", - "sub_path": "filament/Hyper PC @K2 Pro-all.json" - }, - { - "name": "Hyper PETG @Ender-3 V4-all", - "sub_path": "filament/Hyper PETG @Ender-3 V4-all.json" - }, - { - "name": "Hyper PETG @Hi-all", - "sub_path": "filament/Hyper PETG @Hi-all.json" - }, - { - "name": "Hyper PETG @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper PETG @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper PETG @K1 SE-all", - "sub_path": "filament/Hyper PETG @K1 SE-all.json" - }, - { - "name": "Hyper PETG @K1 SE_CFS-C-all", - "sub_path": "filament/Hyper PETG @K1 SE_CFS-C-all.json" - }, - { - "name": "Hyper PETG @K1C-all", - "sub_path": "filament/Hyper PETG @K1C-all.json" - }, - { - "name": "Hyper PETG @K1C_CFS-C-all", - "sub_path": "filament/Hyper PETG @K1C_CFS-C-all.json" - }, - { - "name": "Hyper PETG @K1_CFS-C-all", - "sub_path": "filament/Hyper PETG @K1_CFS-C-all.json" - }, - { - "name": "Hyper PETG @K2 Plus-all", - "sub_path": "filament/Hyper PETG @K2 Plus-all.json" - }, - { - "name": "Hyper PETG @K2 Pro-all", - "sub_path": "filament/Hyper PETG @K2 Pro-all.json" - }, - { - "name": "Hyper PETG @K2 SE-all", - "sub_path": "filament/Hyper PETG @K2 SE-all.json" - }, - { - "name": "Hyper PETG @K2-all", - "sub_path": "filament/Hyper PETG @K2-all.json" - }, - { - "name": "Hyper PETG @SPARKX i7-all", - "sub_path": "filament/Hyper PETG @SPARKX i7-all.json" - }, - { - "name": "Hyper PETG-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper PETG-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper PETG-CF @K1C-all", - "sub_path": "filament/Hyper PETG-CF @K1C-all.json" - }, - { - "name": "Hyper PETG-CF @K1C_CFS-C-all", - "sub_path": "filament/Hyper PETG-CF @K1C_CFS-C-all.json" - }, - { - "name": "Hyper PETG-CF @K1_CFS-C-all", - "sub_path": "filament/Hyper PETG-CF @K1_CFS-C-all.json" - }, - { - "name": "Hyper PETG-CF @K2 Plus-all", - "sub_path": "filament/Hyper PETG-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PETG-CF @K2 Pro-all", - "sub_path": "filament/Hyper PETG-CF @K2 Pro-all.json" - }, - { - "name": "Hyper PETG-CF @K2-all", - "sub_path": "filament/Hyper PETG-CF @K2-all.json" - }, - { - "name": "Hyper PETG-CF @SPARKX i7-all", - "sub_path": "filament/Hyper PETG-CF @SPARKX i7-all.json" - }, - { - "name": "Hyper PETG-GF @K1C-all", - "sub_path": "filament/Hyper PETG-GF @K1C-all.json" - }, - { - "name": "Hyper PETG-GF @K2 Plus-all", - "sub_path": "filament/Hyper PETG-GF @K2 Plus-all.json" - }, - { - "name": "Hyper PETG-GF @K2 Pro-all", - "sub_path": "filament/Hyper PETG-GF @K2 Pro-all.json" - }, - { - "name": "Hyper PETG-GF @K2-all", - "sub_path": "filament/Hyper PETG-GF @K2-all.json" - }, - { - "name": "Hyper PLA @Ender-3 V4-all", - "sub_path": "filament/Hyper PLA @Ender-3 V4-all.json" - }, - { - "name": "Hyper PLA @Hi-all", - "sub_path": "filament/Hyper PLA @Hi-all.json" - }, - { - "name": "Hyper PLA @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper PLA @K1 SE-all", - "sub_path": "filament/Hyper PLA @K1 SE-all.json" - }, - { - "name": "Hyper PLA @K1 SE_CFS-C-all", - "sub_path": "filament/Hyper PLA @K1 SE_CFS-C-all.json" - }, - { - "name": "Hyper PLA @K1C-all", - "sub_path": "filament/Hyper PLA @K1C-all.json" - }, - { - "name": "Hyper PLA @K1C_CFS-C-all", - "sub_path": "filament/Hyper PLA @K1C_CFS-C-all.json" - }, - { - "name": "Hyper PLA @K1_CFS-C-all", - "sub_path": "filament/Hyper PLA @K1_CFS-C-all.json" - }, - { - "name": "Hyper PLA @K2 Plus-all", - "sub_path": "filament/Hyper PLA @K2 Plus-all.json" - }, - { - "name": "Hyper PLA @K2 Pro-all", - "sub_path": "filament/Hyper PLA @K2 Pro-all.json" - }, - { - "name": "Hyper PLA @K2 SE-all", - "sub_path": "filament/Hyper PLA @K2 SE-all.json" - }, - { - "name": "Hyper PLA @K2-all", - "sub_path": "filament/Hyper PLA @K2-all.json" - }, - { - "name": "Hyper PLA @SPARKX i7-all", - "sub_path": "filament/Hyper PLA @SPARKX i7-all.json" - }, - { - "name": "Hyper PLA-CF @Ender-3 V4-all", - "sub_path": "filament/Hyper PLA-CF @Ender-3 V4-all.json" - }, - { - "name": "Hyper PLA-CF @Hi-all", - "sub_path": "filament/Hyper PLA-CF @Hi-all.json" - }, - { - "name": "Hyper PLA-CF @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper PLA-CF @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper PLA-CF @K1 SE-all", - "sub_path": "filament/Hyper PLA-CF @K1 SE-all.json" - }, - { - "name": "Hyper PLA-CF @K1 SE_CFS-C-all", - "sub_path": "filament/Hyper PLA-CF @K1 SE_CFS-C-all.json" - }, - { - "name": "Hyper PLA-CF @K1C-all", - "sub_path": "filament/Hyper PLA-CF @K1C-all.json" - }, - { - "name": "Hyper PLA-CF @K1C_CFS-C-all", - "sub_path": "filament/Hyper PLA-CF @K1C_CFS-C-all.json" - }, - { - "name": "Hyper PLA-CF @K1_CFS-C-all", - "sub_path": "filament/Hyper PLA-CF @K1_CFS-C-all.json" - }, - { - "name": "Hyper PLA-CF @K2 Plus-all", - "sub_path": "filament/Hyper PLA-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PLA-CF @K2 Pro-all", - "sub_path": "filament/Hyper PLA-CF @K2 Pro-all.json" - }, - { - "name": "Hyper PLA-CF @K2 SE-all", - "sub_path": "filament/Hyper PLA-CF @K2 SE-all.json" - }, - { - "name": "Hyper PLA-CF @K2-all", - "sub_path": "filament/Hyper PLA-CF @K2-all.json" - }, - { - "name": "Hyper PLA-CF @SPARKX i7-all", - "sub_path": "filament/Hyper PLA-CF @SPARKX i7-all.json" - }, - { - "name": "Hyper PPA-CF @K2 Plus-all", - "sub_path": "filament/Hyper PPA-CF @K2 Plus-all.json" - }, - { - "name": "Hyper PPA-CF @K2 Pro-all", - "sub_path": "filament/Hyper PPA-CF @K2 Pro-all.json" - }, - { - "name": "Hyper Stardust @Hi-all", - "sub_path": "filament/Hyper Stardust @Hi-all.json" - }, - { - "name": "Hyper Stardust @K1 Max_CFS-C-all", - "sub_path": "filament/Hyper Stardust @K1 Max_CFS-C-all.json" - }, - { - "name": "Hyper Stardust @K1C-all", - "sub_path": "filament/Hyper Stardust @K1C-all.json" - }, - { - "name": "Hyper Stardust @K1C_CFS-C-all", - "sub_path": "filament/Hyper Stardust @K1C_CFS-C-all.json" - }, - { - "name": "Hyper Stardust @K1_CFS-C-all", - "sub_path": "filament/Hyper Stardust @K1_CFS-C-all.json" - }, - { - "name": "Hyper Stardust @K2 Plus-all", - "sub_path": "filament/Hyper Stardust @K2 Plus-all.json" - }, - { - "name": "Hyper Stardust @K2 Pro-all", - "sub_path": "filament/Hyper Stardust @K2 Pro-all.json" - }, - { - "name": "Hyper Stardust @K2 SE-all", - "sub_path": "filament/Hyper Stardust @K2 SE-all.json" - }, - { - "name": "Hyper Stardust @K2-all", - "sub_path": "filament/Hyper Stardust @K2-all.json" - }, - { - "name": "Hyper Stardust @SPARKX i7-all", - "sub_path": "filament/Hyper Stardust @SPARKX i7-all.json" - }, - { - "name": "Panchroma PLA Matte @K2 Plus-all", - "sub_path": "filament/Panchroma PLA Matte @K2 Plus-all.json" - }, - { - "name": "Panchroma PLA Satin @K2 Plus-all", - "sub_path": "filament/Panchroma PLA Satin @K2 Plus-all.json" - }, - { - "name": "PolySonic PLA @K2 Plus-all", - "sub_path": "filament/PolySonic PLA @K2 Plus-all.json" - }, - { - "name": "PolySonic PLA Pro @K2 Plus-all", - "sub_path": "filament/PolySonic PLA Pro @K2 Plus-all.json" - }, - { - "name": "Soleyin Basic PETG @Hi-all", - "sub_path": "filament/Soleyin Basic PETG @Hi-all.json" - }, - { - "name": "Soleyin Basic PETG @K1C-all", - "sub_path": "filament/Soleyin Basic PETG @K1C-all.json" - }, - { - "name": "Soleyin Basic PETG @K2 Plus-all", - "sub_path": "filament/Soleyin Basic PETG @K2 Plus-all.json" - }, - { - "name": "Soleyin Basic PETG @K2 Pro-all", - "sub_path": "filament/Soleyin Basic PETG @K2 Pro-all.json" - }, - { - "name": "Soleyin Basic PETG @K2-all", - "sub_path": "filament/Soleyin Basic PETG @K2-all.json" - }, - { - "name": "Soleyin Basic PETG @SPARKX i7-all", - "sub_path": "filament/Soleyin Basic PETG @SPARKX i7-all.json" - }, - { - "name": "Soleyin Ultra PLA @Ender-3 V4-all", - "sub_path": "filament/Soleyin Ultra PLA @Ender-3 V4-all.json" - }, - { - "name": "Soleyin Ultra PLA @Hi-all", - "sub_path": "filament/Soleyin Ultra PLA @Hi-all.json" - }, - { - "name": "Soleyin Ultra PLA @K1 Max_CFS-C-all", - "sub_path": "filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json" - }, - { - "name": "Soleyin Ultra PLA @K1C-all", - "sub_path": "filament/Soleyin Ultra PLA @K1C-all.json" - }, - { - "name": "Soleyin Ultra PLA @K1C_CFS-C-all", - "sub_path": "filament/Soleyin Ultra PLA @K1C_CFS-C-all.json" - }, - { - "name": "Soleyin Ultra PLA @K1_CFS-C-all", - "sub_path": "filament/Soleyin Ultra PLA @K1_CFS-C-all.json" - }, - { - "name": "Soleyin Ultra PLA @K2 Plus-all", - "sub_path": "filament/Soleyin Ultra PLA @K2 Plus-all.json" - }, - { - "name": "Soleyin Ultra PLA @K2 Pro-all", - "sub_path": "filament/Soleyin Ultra PLA @K2 Pro-all.json" - }, - { - "name": "Soleyin Ultra PLA @K2 SE-all", - "sub_path": "filament/Soleyin Ultra PLA @K2 SE-all.json" - }, - { - "name": "Soleyin Ultra PLA @K2-all", - "sub_path": "filament/Soleyin Ultra PLA @K2-all.json" - }, - { - "name": "Soleyin Ultra PLA @SPARKX i7-all", - "sub_path": "filament/Soleyin Ultra PLA @SPARKX i7-all.json" - }, - { - "name": "eSUN ABS+ @K2 Plus-all", - "sub_path": "filament/eSUN ABS+ @K2 Plus-all.json" - }, - { - "name": "eSUN ASA+ @K2 Plus-all", - "sub_path": "filament/eSUN ASA+ @K2 Plus-all.json" - }, - { - "name": "eSUN PET-Basic @K2 Plus-all", - "sub_path": "filament/eSUN PET-Basic @K2 Plus-all.json" - }, - { - "name": "eSUN PETG @K2 Plus-all", - "sub_path": "filament/eSUN PETG @K2 Plus-all.json" - }, - { - "name": "eSUN PETG+HS @K2 Plus-all", - "sub_path": "filament/eSUN PETG+HS @K2 Plus-all.json" - }, - { - "name": "eSUN PETG-Basic @K2 Plus-all", - "sub_path": "filament/eSUN PETG-Basic @K2 Plus-all.json" - }, - { - "name": "eSUN PLA+ @K2 Plus-all", - "sub_path": "filament/eSUN PLA+ @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-CF @K2 Plus-all", - "sub_path": "filament/eSUN PLA-CF @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-HS @K2 Plus-all", - "sub_path": "filament/eSUN PLA-HS @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-LW @K2 Plus-all", - "sub_path": "filament/eSUN PLA-LW @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-Lite @K2 Plus-all", - "sub_path": "filament/eSUN PLA-Lite @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-Matte @K2 Plus-all", - "sub_path": "filament/eSUN PLA-Matte @K2 Plus-all.json" - }, - { - "name": "eSUN PLA-Silk @K2 Plus-all", - "sub_path": "filament/eSUN PLA-Silk @K2 Plus-all.json" } ], "machine_list": [ @@ -3846,6 +4998,10 @@ "name": "fdm_creality_common", "sub_path": "machine/fdm_creality_common.json" }, + { + "name": "Creality CR-10 0.4 nozzle", + "sub_path": "machine/Creality CR-10 0.4 nozzle.json" + }, { "name": "Creality CR-10 Max 0.4 nozzle", "sub_path": "machine/Creality CR-10 Max 0.4 nozzle.json" @@ -3866,6 +5022,14 @@ "name": "Creality CR-10 SE 0.8 nozzle", "sub_path": "machine/Creality CR-10 SE 0.8 nozzle.json" }, + { + "name": "Creality CR-10 Smart 0.4 nozzle", + "sub_path": "machine/Creality CR-10 Smart 0.4 nozzle.json" + }, + { + "name": "Creality CR-10 Smart Pro 0.4 nozzle", + "sub_path": "machine/Creality CR-10 Smart Pro 0.4 nozzle.json" + }, { "name": "Creality CR-10 V2 0.4 nozzle", "sub_path": "machine/Creality CR-10 V2 0.4 nozzle.json" @@ -3878,6 +5042,14 @@ "name": "Creality CR-10 V3 0.6 nozzle", "sub_path": "machine/Creality CR-10 V3 0.6 nozzle.json" }, + { + "name": "Creality CR-10S Pro V2 0.4 nozzle", + "sub_path": "machine/Creality CR-10S Pro V2 0.4 nozzle.json" + }, + { + "name": "Creality CR-20 Pro 0.4 nozzle", + "sub_path": "machine/Creality CR-20 Pro 0.4 nozzle.json" + }, { "name": "Creality CR-6 Max 0.2 nozzle", "sub_path": "machine/Creality CR-6 Max 0.2 nozzle.json" @@ -3914,6 +5086,14 @@ "name": "Creality CR-M4 0.4 nozzle", "sub_path": "machine/Creality CR-M4 0.4 nozzle.json" }, + { + "name": "Creality CR-M4 SE 0.4 nozzle", + "sub_path": "machine/Creality CR-M4 SE 0.4 nozzle.json" + }, + { + "name": "Creality Ender-2 Pro 0.4 nozzle", + "sub_path": "machine/Creality Ender-2 Pro 0.4 nozzle.json" + }, { "name": "Creality Ender-3 0.2 nozzle", "sub_path": "machine/Creality Ender-3 0.2 nozzle.json" @@ -3930,6 +5110,18 @@ "name": "Creality Ender-3 0.8 nozzle", "sub_path": "machine/Creality Ender-3 0.8 nozzle.json" }, + { + "name": "Creality Ender-3 Max 0.4 nozzle", + "sub_path": "machine/Creality Ender-3 Max 0.4 nozzle.json" + }, + { + "name": "Creality Ender-3 Max Neo 0.4 nozzle", + "sub_path": "machine/Creality Ender-3 Max Neo 0.4 nozzle.json" + }, + { + "name": "Creality Ender-3 Neo 0.4 nozzle", + "sub_path": "machine/Creality Ender-3 Neo 0.4 nozzle.json" + }, { "name": "Creality Ender-3 Pro 0.2 nozzle", "sub_path": "machine/Creality Ender-3 Pro 0.2 nozzle.json" @@ -3970,6 +5162,10 @@ "name": "Creality Ender-3 S1 Pro 0.4 nozzle", "sub_path": "machine/Creality Ender-3 S1 Pro 0.4 nozzle.json" }, + { + "name": "Creality Ender-3 S1 Sonic 0.4 nozzle", + "sub_path": "machine/Creality Ender-3 S1 Sonic 0.4 nozzle.json" + }, { "name": "Creality Ender-3 V2 0.4 nozzle", "sub_path": "machine/Creality Ender-3 V2 0.4 nozzle.json" @@ -3986,6 +5182,10 @@ "name": "Creality Ender-3 V3 0.6 nozzle", "sub_path": "machine/Creality Ender-3 V3 0.6 nozzle.json" }, + { + "name": "Creality Ender-3 V3 0.8 nozzle", + "sub_path": "machine/Creality Ender-3 V3 0.8 nozzle.json" + }, { "name": "Creality Ender-3 V3 KE 0.2 nozzle", "sub_path": "machine/Creality Ender-3 V3 KE 0.2 nozzle.json" @@ -4010,6 +5210,10 @@ "name": "Creality Ender-3 V3 Plus 0.6 nozzle", "sub_path": "machine/Creality Ender-3 V3 Plus 0.6 nozzle.json" }, + { + "name": "Creality Ender-3 V3 Plus 0.8 nozzle", + "sub_path": "machine/Creality Ender-3 V3 Plus 0.8 nozzle.json" + }, { "name": "Creality Ender-3 V3 SE 0.2 nozzle", "sub_path": "machine/Creality Ender-3 V3 SE 0.2 nozzle.json" @@ -4086,6 +5290,10 @@ "name": "Creality Ender-5 S1 0.4 nozzle", "sub_path": "machine/Creality Ender-5 S1 0.4 nozzle.json" }, + { + "name": "Creality Ender-5 S1 Sonic 0.4 nozzle", + "sub_path": "machine/Creality Ender-5 S1 Sonic 0.4 nozzle.json" + }, { "name": "Creality Ender-5S 0.4 nozzle", "sub_path": "machine/Creality Ender-5S 0.4 nozzle.json" @@ -4122,10 +5330,6 @@ "name": "Creality K1 (0.8 nozzle)", "sub_path": "machine/Creality K1 (0.8 nozzle).json" }, - { - "name": "Creality K1_CFS-C 0.4 nozzle", - "sub_path": "machine/Creality K1_CFS-C 0.4 nozzle.json" - }, { "name": "Creality K1 Max (0.4 nozzle)", "sub_path": "machine/Creality K1 Max (0.4 nozzle).json" @@ -4174,6 +5378,10 @@ "name": "Creality K1C_CFS-C 0.4 nozzle", "sub_path": "machine/Creality K1C_CFS-C 0.4 nozzle.json" }, + { + "name": "Creality K1_CFS-C 0.4 nozzle", + "sub_path": "machine/Creality K1_CFS-C 0.4 nozzle.json" + }, { "name": "Creality K2 0.2 nozzle", "sub_path": "machine/Creality K2 0.2 nozzle.json" @@ -4226,10 +5434,6 @@ "name": "Creality K2 SE 0.4 nozzle", "sub_path": "machine/Creality K2 SE 0.4 nozzle.json" }, - { - "name": "Creality Sermoon V1 0.4 nozzle", - "sub_path": "machine/Creality Sermoon V1 0.4 nozzle.json" - }, { "name": "Creality SPARKX i7 0.2 nozzle", "sub_path": "machine/Creality SPARKX i7 0.2 nozzle.json" @@ -4245,6 +5449,34 @@ { "name": "Creality SPARKX i7 0.8 nozzle", "sub_path": "machine/Creality SPARKX i7 0.8 nozzle.json" + }, + { + "name": "Creality Sermoon D3 0.4 nozzle", + "sub_path": "machine/Creality Sermoon D3 0.4 nozzle.json" + }, + { + "name": "Creality Sermoon D3 Pro 0.4 nozzle", + "sub_path": "machine/Creality Sermoon D3 Pro 0.4 nozzle.json" + }, + { + "name": "Creality Sermoon M300 0.4 nozzle", + "sub_path": "machine/Creality Sermoon M300 0.4 nozzle.json" + }, + { + "name": "Creality Sermoon M300 0.6 nozzle", + "sub_path": "machine/Creality Sermoon M300 0.6 nozzle.json" + }, + { + "name": "Creality Sermoon M300 0.8 nozzle", + "sub_path": "machine/Creality Sermoon M300 0.8 nozzle.json" + }, + { + "name": "Creality Sermoon V1 0.4 nozzle", + "sub_path": "machine/Creality Sermoon V1 0.4 nozzle.json" + }, + { + "name": "Creality Sermoon V1 Pro 0.4 nozzle", + "sub_path": "machine/Creality Sermoon V1 Pro 0.4 nozzle.json" } ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/Creality CR-10 Smart Pro_cover.png b/resources/profiles/Creality/Creality CR-10 Smart Pro_cover.png new file mode 100644 index 0000000000..c5e08d43f8 Binary files /dev/null and b/resources/profiles/Creality/Creality CR-10 Smart Pro_cover.png differ diff --git a/resources/profiles/Creality/Creality CR-10 Smart_cover.png b/resources/profiles/Creality/Creality CR-10 Smart_cover.png new file mode 100644 index 0000000000..49f7428c7b Binary files /dev/null and b/resources/profiles/Creality/Creality CR-10 Smart_cover.png differ diff --git a/resources/profiles/Creality/Creality CR-10S Pro V2_cover.png b/resources/profiles/Creality/Creality CR-10S Pro V2_cover.png new file mode 100644 index 0000000000..d618492c16 Binary files /dev/null and b/resources/profiles/Creality/Creality CR-10S Pro V2_cover.png differ diff --git a/resources/profiles/Creality/Creality CR-10_cover.png b/resources/profiles/Creality/Creality CR-10_cover.png new file mode 100644 index 0000000000..dafbcf750a Binary files /dev/null and b/resources/profiles/Creality/Creality CR-10_cover.png differ diff --git a/resources/profiles/Creality/Creality CR-20 Pro_cover.png b/resources/profiles/Creality/Creality CR-20 Pro_cover.png new file mode 100644 index 0000000000..7f27867edf Binary files /dev/null and b/resources/profiles/Creality/Creality CR-20 Pro_cover.png differ diff --git a/resources/profiles/Creality/Creality CR-M4 SE_cover.png b/resources/profiles/Creality/Creality CR-M4 SE_cover.png new file mode 100644 index 0000000000..84495c6074 Binary files /dev/null and b/resources/profiles/Creality/Creality CR-M4 SE_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-2 Pro_cover.png b/resources/profiles/Creality/Creality Ender-2 Pro_cover.png new file mode 100644 index 0000000000..882d4b7475 Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-2 Pro_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-3 Max Neo_cover.png b/resources/profiles/Creality/Creality Ender-3 Max Neo_cover.png new file mode 100644 index 0000000000..ba733c734f Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-3 Max Neo_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-3 Max_cover.png b/resources/profiles/Creality/Creality Ender-3 Max_cover.png new file mode 100644 index 0000000000..1c43c97125 Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-3 Max_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-3 Neo_cover.png b/resources/profiles/Creality/Creality Ender-3 Neo_cover.png new file mode 100644 index 0000000000..ff0967c003 Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-3 Neo_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-3 S1 Sonic_cover.png b/resources/profiles/Creality/Creality Ender-3 S1 Sonic_cover.png new file mode 100644 index 0000000000..c8f332c45c Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-3 S1 Sonic_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-3 V4_cover.png b/resources/profiles/Creality/Creality Ender-3 V4_cover.png index ac4526fed0..60b5b3d3a6 100644 Binary files a/resources/profiles/Creality/Creality Ender-3 V4_cover.png and b/resources/profiles/Creality/Creality Ender-3 V4_cover.png differ diff --git a/resources/profiles/Creality/Creality Ender-5 S1 Sonic_cover.png b/resources/profiles/Creality/Creality Ender-5 S1 Sonic_cover.png new file mode 100644 index 0000000000..9dd3eda57f Binary files /dev/null and b/resources/profiles/Creality/Creality Ender-5 S1 Sonic_cover.png differ diff --git a/resources/profiles/Creality/Creality K1 Max_CFS-C_cover.png b/resources/profiles/Creality/Creality K1 Max_CFS-C_cover.png index 52499b572b..fd7e344043 100644 Binary files a/resources/profiles/Creality/Creality K1 Max_CFS-C_cover.png and b/resources/profiles/Creality/Creality K1 Max_CFS-C_cover.png differ diff --git a/resources/profiles/Creality/Creality K1 SE_CFS-C_cover.png b/resources/profiles/Creality/Creality K1 SE_CFS-C_cover.png index f7ce98e840..6cb63c833c 100644 Binary files a/resources/profiles/Creality/Creality K1 SE_CFS-C_cover.png and b/resources/profiles/Creality/Creality K1 SE_CFS-C_cover.png differ diff --git a/resources/profiles/Creality/Creality K1C_CFS-C_cover.png b/resources/profiles/Creality/Creality K1C_CFS-C_cover.png index 2d49bc6f46..5ac50899ec 100644 Binary files a/resources/profiles/Creality/Creality K1C_CFS-C_cover.png and b/resources/profiles/Creality/Creality K1C_CFS-C_cover.png differ diff --git a/resources/profiles/Creality/Creality K1_CFS-C_cover.png b/resources/profiles/Creality/Creality K1_CFS-C_cover.png index f91158f668..e1c02f0c48 100644 Binary files a/resources/profiles/Creality/Creality K1_CFS-C_cover.png and b/resources/profiles/Creality/Creality K1_CFS-C_cover.png differ diff --git a/resources/profiles/Creality/Creality K2 SE_cover.png b/resources/profiles/Creality/Creality K2 SE_cover.png index c335885597..d5d53937fc 100644 Binary files a/resources/profiles/Creality/Creality K2 SE_cover.png and b/resources/profiles/Creality/Creality K2 SE_cover.png differ diff --git a/resources/profiles/Creality/Creality SPARKX i7_cover.png b/resources/profiles/Creality/Creality SPARKX i7_cover.png index 076d521faa..20b8042f61 100644 Binary files a/resources/profiles/Creality/Creality SPARKX i7_cover.png and b/resources/profiles/Creality/Creality SPARKX i7_cover.png differ diff --git a/resources/profiles/Creality/Creality Sermoon D3 Pro_cover.png b/resources/profiles/Creality/Creality Sermoon D3 Pro_cover.png new file mode 100644 index 0000000000..7fd3b2f18c Binary files /dev/null and b/resources/profiles/Creality/Creality Sermoon D3 Pro_cover.png differ diff --git a/resources/profiles/Creality/Creality Sermoon D3_cover.png b/resources/profiles/Creality/Creality Sermoon D3_cover.png new file mode 100644 index 0000000000..e8cb509a0e Binary files /dev/null and b/resources/profiles/Creality/Creality Sermoon D3_cover.png differ diff --git a/resources/profiles/Creality/Creality Sermoon M300_cover.png b/resources/profiles/Creality/Creality Sermoon M300_cover.png new file mode 100644 index 0000000000..4322bbf6ee Binary files /dev/null and b/resources/profiles/Creality/Creality Sermoon M300_cover.png differ diff --git a/resources/profiles/Creality/Creality Sermoon V1 Pro_cover.png b/resources/profiles/Creality/Creality Sermoon V1 Pro_cover.png new file mode 100644 index 0000000000..cbe6eaed51 Binary files /dev/null and b/resources/profiles/Creality/Creality Sermoon V1 Pro_cover.png differ diff --git a/resources/profiles/Creality/creality_SPARKX_buildplate_model.stl b/resources/profiles/Creality/creality_SPARKX_buildplate_model.stl index 91de14606e..6b9935aff5 100644 Binary files a/resources/profiles/Creality/creality_SPARKX_buildplate_model.stl and b/resources/profiles/Creality/creality_SPARKX_buildplate_model.stl differ diff --git a/resources/profiles/Creality/creality_SPARKX_buildplate_texture.svg b/resources/profiles/Creality/creality_SPARKX_buildplate_texture.svg new file mode 100644 index 0000000000..53f9ee4f54 --- /dev/null +++ b/resources/profiles/Creality/creality_SPARKX_buildplate_texture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/profiles/Creality/creality_ender3v4_buildplate_model.stl b/resources/profiles/Creality/creality_ender3v4_buildplate_model.stl new file mode 100644 index 0000000000..4e9ed9b65b Binary files /dev/null and b/resources/profiles/Creality/creality_ender3v4_buildplate_model.stl differ diff --git a/resources/profiles/Creality/creality_ender3v4_buildplate_texture.svg b/resources/profiles/Creality/creality_ender3v4_buildplate_texture.svg new file mode 100644 index 0000000000..53f9ee4f54 --- /dev/null +++ b/resources/profiles/Creality/creality_ender3v4_buildplate_texture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-2 Pro-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-2 Pro-all.json new file mode 100644 index 0000000000..fd6827f08e --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-2 Pro-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-2 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "xXPIfJOKtSIkbgSZ", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Plus-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Plus-all.json new file mode 100644 index 0000000000..183d18044a --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Plus-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 S1 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "41fKjFexWC3Zh7XZ", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Pro-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Pro-all.json new file mode 100644 index 0000000000..034b774116 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Pro-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 S1 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "SDigCIbuTDRn8b96", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Sonic-all.json new file mode 100644 index 0000000000..54b78801bb --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1 Sonic-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 S1 Sonic-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "jYdpNiDMaOz2Ay6R", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1-all.json new file mode 100644 index 0000000000..554ee258d7 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 S1-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 S1-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "5kp6VbwvXPo7Lvzg", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..9e20a85dda --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 KE-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 V3 KE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "XUzmyFDwpqu4Kfjh", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..af35c821b2 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3 Plus-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "2bvhLTGnyzWCVkPy", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3-all.json new file mode 100644 index 0000000000..b642c061d7 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V3-all.json @@ -0,0 +1,172 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3 V3-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "MQURrCD6wSxqa1jP", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "100", + "epoxy_resin_plate_temp_initial_layer": "100", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[10.0,240],[20.0,250]]", + "pressure_advance": "0.046", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3 V4-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V4-all.json index faa9404b3b..fe03c214e1 100644 --- a/resources/profiles/Creality/filament/CR-ABS @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3 V4-all.json @@ -1,177 +1,175 @@ { - "type": "filament", - "name": "CR-ABS @Ender-3 V4-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "3MchJTc47Au6MkZ0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", - "pressure_advance": "0.024", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @Ender-3 V4-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "3MchJTc47Au6MkZ0", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", + "pressure_advance": "0.024", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-3-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-3-all.json new file mode 100644 index 0000000000..2629589532 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-3-all.json @@ -0,0 +1,138 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-3-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "H4UaUhKIsHDvC918", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-5 Max-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-5 Max-all.json deleted file mode 100644 index 53d18bfeda..0000000000 --- a/resources/profiles/Creality/filament/CR-ABS @Ender-5 Max-all.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "type": "filament", - "name": "CR-ABS @Ender-5 Max-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "iCeI2obXsgQdrmmd", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "60" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..a916898419 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1 Sonic-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "p6IjY3IqwpTbVeUP", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1-all.json b/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1-all.json new file mode 100644 index 0000000000..cffd00e58e --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Ender-5 S1-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "CR-ABS @Ender-5 S1-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "JJLc8iPdvZucHYiJ", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Hi-all.json b/resources/profiles/Creality/filament/CR-ABS @Hi-all.json index 10c1cce09d..98cb5ccd2a 100644 --- a/resources/profiles/Creality/filament/CR-ABS @Hi-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @Hi-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "CR-ABS @Hi-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "OkztCpBxncDuPVQP", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "70" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @Hi-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "OkztCpBxncDuPVQP", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "70" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-ABS @K1 Max_CFS-C-all.json index 12afdde3cd..9ce194cf28 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1 Max_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-ABS @K1 Max_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "IuBXEntaBaPVFQXh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1 Max_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "IuBXEntaBaPVFQXh", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1 SE-all.json b/resources/profiles/Creality/filament/CR-ABS @K1 SE-all.json index 00340895f4..c463f498c8 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1 SE-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1 SE-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "CR-ABS @K1 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "yhGkKM6yZnFFn8IW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "yhGkKM6yZnFFn8IW", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/CR-ABS @K1 SE_CFS-C-all.json index d80c98423f..f482eba998 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1 SE_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "CR-ABS @K1 SE_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "ERk97K6VotgHJfWy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1 SE_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "ERk97K6VotgHJfWy", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1C-all.json b/resources/profiles/Creality/filament/CR-ABS @K1C-all.json index f41b1bb940..b61bdae377 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-ABS @K1C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "HaRbfdv0e9gKF3Qp", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "HaRbfdv0e9gKF3Qp", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-ABS @K1C_CFS-C-all.json index f91677ab31..8707ea2a53 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1C_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-ABS @K1C_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "jhNERXYu8aq28Ppb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1C_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "jhNERXYu8aq28Ppb", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-ABS @K1_CFS-C-all.json index b83d103747..73b8b024d1 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K1_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-ABS @K1_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "3irrf86tjxODkbIf", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K1_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "3irrf86tjxODkbIf", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-ABS @K2 Plus-all.json index d807936bfc..0cf3dfb96d 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-ABS @K2 Plus-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "5CD3YjRfabJ1lA6a", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K2 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "5CD3YjRfabJ1lA6a", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-ABS @K2 Pro-all.json index b6334a93b6..ea99164d21 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K2 Pro-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "CR-ABS @K2 Pro-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "QuBAuyBqoGyFHMpP", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle", - "Creality K2 Pro 0.6 nozzle", - "Creality K2 Pro 0.8 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K2 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "QuBAuyBqoGyFHMpP", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle", + "Creality K2 Pro 0.6 nozzle", + "Creality K2 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K2 SE-all.json b/resources/profiles/Creality/filament/CR-ABS @K2 SE-all.json index f49bf5dd93..07b9274321 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K2 SE-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K2 SE-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "CR-ABS @K2 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "8hrvutX54fd4gUGn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K2 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "8hrvutX54fd4gUGn", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @K2-all.json b/resources/profiles/Creality/filament/CR-ABS @K2-all.json index d0f92634b1..2ffd9662f3 100644 --- a/resources/profiles/Creality/filament/CR-ABS @K2-all.json +++ b/resources/profiles/Creality/filament/CR-ABS @K2-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "CR-ABS @K2-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "rvItkEWAJNGXJrVF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle", - "Creality K2 0.6 nozzle", - "Creality K2 0.8 nozzle" - ], - "filament_id": "OFGwZmgS" -} \ No newline at end of file + "type": "filament", + "name": "CR-ABS @K2-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "rvItkEWAJNGXJrVF", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle", + "Creality K2 0.6 nozzle", + "Creality K2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Sermoon D3 Pro-all.json b/resources/profiles/Creality/filament/CR-ABS @Sermoon D3 Pro-all.json new file mode 100644 index 0000000000..c6384af3b1 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Sermoon D3 Pro-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "CR-ABS @Sermoon D3 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "iYMDiv64la5GboAA", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "50" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-ABS @Sermoon M300-all.json b/resources/profiles/Creality/filament/CR-ABS @Sermoon M300-all.json new file mode 100644 index 0000000000..9c96ec28ad --- /dev/null +++ b/resources/profiles/Creality/filament/CR-ABS @Sermoon M300-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "CR-ABS @Sermoon M300-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "afINvBBB1U1PjGVB", + "filament_id": "OFGwZmgS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-Nylon @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..1b84fb8c47 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Nylon @Ender-3 V3 Plus-all.json @@ -0,0 +1,188 @@ +{ + "type": "filament", + "name": "CR-Nylon @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "JOqqaEHv9emSaO58", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @Ender-5 Max-all.json b/resources/profiles/Creality/filament/CR-Nylon @Ender-5 Max-all.json deleted file mode 100644 index e4e5cad0e8..0000000000 --- a/resources/profiles/Creality/filament/CR-Nylon @Ender-5 Max-all.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "type": "filament", - "name": "CR-Nylon @Ender-5 Max-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "HHnHotIUIBzTdckU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "100" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.9" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "50" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "5" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-Nylon @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Nylon @K1 Max_CFS-C-all.json index bc9719ad07..30c7842edb 100644 --- a/resources/profiles/Creality/filament/CR-Nylon @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Nylon @K1 Max_CFS-C-all.json @@ -1,191 +1,189 @@ { - "type": "filament", - "name": "CR-Nylon @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "vRp7fYNhHQuLUArq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "52" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFvLppPU" -} \ No newline at end of file + "type": "filament", + "name": "CR-Nylon @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "vRp7fYNhHQuLUArq", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @K1C-all.json b/resources/profiles/Creality/filament/CR-Nylon @K1C-all.json index bf9ce0c9e1..a95d8b9b3b 100644 --- a/resources/profiles/Creality/filament/CR-Nylon @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-Nylon @K1C-all.json @@ -1,192 +1,190 @@ { - "type": "filament", - "name": "CR-Nylon @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "IAXnmE8e2ADhcMZG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "52" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFvLppPU" -} \ No newline at end of file + "type": "filament", + "name": "CR-Nylon @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "IAXnmE8e2ADhcMZG", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Nylon @K1C_CFS-C-all.json index e2a7ef32fa..71b5cceb41 100644 --- a/resources/profiles/Creality/filament/CR-Nylon @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Nylon @K1C_CFS-C-all.json @@ -1,192 +1,190 @@ { - "type": "filament", - "name": "CR-Nylon @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "vIpGcKrZM6vbICRT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "52" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFvLppPU" -} \ No newline at end of file + "type": "filament", + "name": "CR-Nylon @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "vIpGcKrZM6vbICRT", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Nylon @K1_CFS-C-all.json index 48747723f0..e3b4dc6f21 100644 --- a/resources/profiles/Creality/filament/CR-Nylon @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Nylon @K1_CFS-C-all.json @@ -1,192 +1,190 @@ { - "type": "filament", - "name": "CR-Nylon @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "eb1T3avlK6EzZ5NT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "52" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "4" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFvLppPU" -} \ No newline at end of file + "type": "filament", + "name": "CR-Nylon @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "eb1T3avlK6EzZ5NT", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Nylon @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-Nylon @K2 Plus-all.json index d665bb8d16..ba322bd8c7 100644 --- a/resources/profiles/Creality/filament/CR-Nylon @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-Nylon @K2 Plus-all.json @@ -1,198 +1,196 @@ { - "type": "filament", - "name": "CR-Nylon @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "LLuS5zOOxSWnZoyb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "52" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "16" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.064", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFvLppPU" -} \ No newline at end of file + "type": "filament", + "name": "CR-Nylon @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "LLuS5zOOxSWnZoyb", + "filament_id": "OFvLppPU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "52" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.064", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @CR-10 SE-all.json b/resources/profiles/Creality/filament/CR-PETG @CR-10 SE-all.json new file mode 100644 index 0000000000..11c256bb6a --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @CR-10 SE-all.json @@ -0,0 +1,167 @@ +{ + "type": "filament", + "name": "CR-PETG @CR-10 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ca0t7XsRrFpxcL7a", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @CR-10 Smart Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @CR-10 Smart Pro-all.json new file mode 100644 index 0000000000..5efe6f65e4 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @CR-10 Smart Pro-all.json @@ -0,0 +1,133 @@ +{ + "type": "filament", + "name": "CR-PETG @CR-10 Smart Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "iB29j2vvnyfpO4tk", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @CR-10-all.json b/resources/profiles/Creality/filament/CR-PETG @CR-10-all.json new file mode 100644 index 0000000000..1756d8ab78 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @CR-10-all.json @@ -0,0 +1,133 @@ +{ + "type": "filament", + "name": "CR-PETG @CR-10-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "LHxnOzAAJr1mk5GK", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @CR-M4 SE-all.json b/resources/profiles/Creality/filament/CR-PETG @CR-M4 SE-all.json new file mode 100644 index 0000000000..f21befa548 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @CR-M4 SE-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "CR-PETG @CR-M4 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "N9vgkspyIr8EV1T8", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.9" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "0.05" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[5.0,240],[8.0,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-2 Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-2 Pro-all.json new file mode 100644 index 0000000000..d9332855b5 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-2 Pro-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "F7h6B3GqsyWLIXWk", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Plus-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Plus-all.json new file mode 100644 index 0000000000..9bc34c6d76 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Plus-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 S1 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ukQaApwo1Kafy1of", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Plus 0.4 nozzle" + ], + "filament_vendor": [ + "Creality" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Pro-all.json new file mode 100644 index 0000000000..dba7e80eda --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Pro-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 S1 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "YzCFzg5CFVXkP5mI", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Pro 0.4 nozzle" + ], + "filament_vendor": [ + "Creality" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Sonic-all.json new file mode 100644 index 0000000000..37b8d888cd --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1 Sonic-all.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 S1 Sonic-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "nhmw2HhDlNRvvccd", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ], + "filament_vendor": [ + "Creality" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1-all.json new file mode 100644 index 0000000000..ac69ab27a2 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 S1-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 S1-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "HOXafIaVQNYa5uzz", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 0.4 nozzle" + ], + "filament_vendor": [ + "Creality" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V2-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V2-all.json new file mode 100644 index 0000000000..6a07468aa6 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V2-all.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 V2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "KOU7rizOewXtUGdS", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V2 0.4 nozzle" + ], + "filament_vendor": [ + "Creality" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..1cb042c148 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 KE-all.json @@ -0,0 +1,142 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 V3 KE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "RtNydGhtx6FMjQDr", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..949c078c53 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3 Plus-all.json @@ -0,0 +1,169 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Z3uXiHTYNnlPwfXX", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3-all.json new file mode 100644 index 0000000000..d8f76c70a8 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V3-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3 V3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "jLTxg3JhZaoBjPDd", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V4-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V4-all.json index bfa6bd0bc7..82d0370573 100644 --- a/resources/profiles/Creality/filament/CR-PETG @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "CR-PETG @Ender-3 V4-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "ZucTDurgG1yttTTE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,250]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @Ender-3 V4-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ZucTDurgG1yttTTE", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,250]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-3-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-3-all.json new file mode 100644 index 0000000000..4b4843889c --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-3-all.json @@ -0,0 +1,138 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "XtRCnvDgIt3woTfm", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "8" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-5 Max-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-5 Max-all.json deleted file mode 100644 index 0514484af8..0000000000 --- a/resources/profiles/Creality/filament/CR-PETG @Ender-5 Max-all.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "CR-PETG @Ender-5 Max-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "jMfevCqhjSPahBHJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,220],[5.0,240],[10.0,250]]", - "pressure_advance": "0.05", - "filament_id": "06101", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle", - "Creality Ender-5 Max 0.6 nozzle", - "Creality Ender-5 Max 0.8 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..35ab6be5f0 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1 Sonic-all.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "kEN1rd7J0bDhpXLB", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1-all.json b/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1-all.json new file mode 100644 index 0000000000..941d436657 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Ender-5 S1-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "CR-PETG @Ender-5 S1-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "SXeN7LY4p9TpzIfK", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Hi-all.json b/resources/profiles/Creality/filament/CR-PETG @Hi-all.json index 4b3ab33892..6a37e9a7e3 100644 --- a/resources/profiles/Creality/filament/CR-PETG @Hi-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @Hi-all.json @@ -1,152 +1,150 @@ { - "type": "filament", - "name": "CR-PETG @Hi-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "DGnnBUZoF5EJdo8y", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[4.0,225],[7.0,230],[10.0,240]]", - "pressure_advance": "0.072", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.2 nozzle", - "Creality Hi 0.4 nozzle", - "Creality Hi 0.6 nozzle", - "Creality Hi 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @Hi-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "DGnnBUZoF5EJdo8y", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[4.0,225],[7.0,230],[10.0,240]]", + "pressure_advance": "0.072", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.2 nozzle", + "Creality Hi 0.4 nozzle", + "Creality Hi 0.6 nozzle", + "Creality Hi 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PETG @K1 Max_CFS-C-all.json index bc597f92b3..873e8c8174 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1 Max_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PETG @K1 Max_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "7zmI8UK4VCbkrHth", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "1" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", - "pressure_advance": "0.078", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1 Max_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "7zmI8UK4VCbkrHth", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", + "pressure_advance": "0.078", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1 SE-all.json b/resources/profiles/Creality/filament/CR-PETG @K1 SE-all.json index 1c92de9916..18de1bb62f 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1 SE-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1 SE-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "CR-PETG @K1 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "oR9hRU1vmcDXuEdN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "85" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "85" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "85" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,250]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "oR9hRU1vmcDXuEdN", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "85" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "85" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,250]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PETG @K1 SE_CFS-C-all.json index be3983b772..4732ece2ae 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1 SE_CFS-C-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "CR-PETG @K1 SE_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "O5oj2seoJOMoRQeH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "85" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "9" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "85" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "85" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,250]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1 SE_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "O5oj2seoJOMoRQeH", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "85" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "85" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,250]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1C-all.json b/resources/profiles/Creality/filament/CR-PETG @K1C-all.json index 2829598e5a..6bb86df975 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PETG @K1C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "TCoincnHkpTkdbgr", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "1" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", - "pressure_advance": "0.062", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "TCoincnHkpTkdbgr", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", + "pressure_advance": "0.062", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PETG @K1C_CFS-C-all.json index a6ee2af473..537ab817e9 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1C_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "CR-PETG @K1C_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "tEizEoyTjR2jsMjb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "1" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", - "pressure_advance": "0.062", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1C_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "tEizEoyTjR2jsMjb", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", + "pressure_advance": "0.062", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PETG @K1_CFS-C-all.json index d05baf33af..936ec3ba8c 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K1_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PETG @K1_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "GyuPdDlFigxqfNdh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "1" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", - "pressure_advance": "0.072", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K1_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "GyuPdDlFigxqfNdh", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220], [1.2,220], [1.3,250]]", + "pressure_advance": "0.072", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-PETG @K2 Plus-all.json index ead310f41c..622e88b93d 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K2 Plus-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "CR-PETG @K2 Plus-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "L9YgZiTMEbGueIUB", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K2 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "L9YgZiTMEbGueIUB", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @K2 Pro-all.json index b73011595f..a7a5eec9be 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K2 Pro-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "CR-PETG @K2 Pro-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "cpZpusYQklJHwF7C", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle", - "Creality K2 Pro 0.6 nozzle", - "Creality K2 Pro 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "cpZpusYQklJHwF7C", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle", + "Creality K2 Pro 0.6 nozzle", + "Creality K2 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K2 SE-all.json b/resources/profiles/Creality/filament/CR-PETG @K2 SE-all.json index 2137f18ef6..6c2a833714 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K2 SE-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K2 SE-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PETG @K2 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "wszfgAr4wGMhfak4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "85" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K2 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "wszfgAr4wGMhfak4", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "85" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @K2-all.json b/resources/profiles/Creality/filament/CR-PETG @K2-all.json index 16bd7c7053..c53735d1d4 100644 --- a/resources/profiles/Creality/filament/CR-PETG @K2-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @K2-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "CR-PETG @K2-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "twFraQUSFLNuYrQd", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle", - "Creality K2 0.6 nozzle", - "Creality K2 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @K2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "twFraQUSFLNuYrQd", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle", + "Creality K2 0.6 nozzle", + "Creality K2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-PETG @SPARKX i7-all.json index befe270b95..a5ae82bc50 100644 --- a/resources/profiles/Creality/filament/CR-PETG @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-PETG @SPARKX i7-all.json @@ -1,139 +1,137 @@ { - "type": "filament", - "name": "CR-PETG @SPARKX i7-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "RFW04K7trMKi3cYq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[1.0,205],[1.2,220]]", - "pressure_advance": "0.3", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.2 nozzle", - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OF3WQaKK" -} \ No newline at end of file + "type": "filament", + "name": "CR-PETG @SPARKX i7-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "RFW04K7trMKi3cYq", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[1.0,205],[1.2,220]]", + "pressure_advance": "0.3", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.2 nozzle", + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Sermoon D3 Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @Sermoon D3 Pro-all.json new file mode 100644 index 0000000000..306848cdb2 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Sermoon D3 Pro-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "CR-PETG @Sermoon D3 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "PhFJ45TOClwggKYD", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Sermoon D3-all.json b/resources/profiles/Creality/filament/CR-PETG @Sermoon D3-all.json new file mode 100644 index 0000000000..a01d9d5f21 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Sermoon D3-all.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "CR-PETG @Sermoon D3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Pw1DtBsgpbzj8P0k", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Sermoon M300-all.json b/resources/profiles/Creality/filament/CR-PETG @Sermoon M300-all.json new file mode 100644 index 0000000000..74ec78f7d1 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Sermoon M300-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-PETG @Sermoon M300-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "WaYzXCaD9MuLDXsX", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[1.0,240],[1.2,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PETG @Sermoon V1 Pro-all.json b/resources/profiles/Creality/filament/CR-PETG @Sermoon V1 Pro-all.json new file mode 100644 index 0000000000..0e8fc1df14 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PETG @Sermoon V1 Pro-all.json @@ -0,0 +1,129 @@ +{ + "type": "filament", + "name": "CR-PETG @Sermoon V1 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "yPw0Q8cZoH0z5Q5W", + "filament_id": "OF3WQaKK", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @CR-10-all.json b/resources/profiles/Creality/filament/CR-PLA @CR-10-all.json new file mode 100644 index 0000000000..33e4682f95 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @CR-10-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "CR-PLA @CR-10-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gRYsvflqQ8IIyNOu", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @CR-M4 SE-all.json b/resources/profiles/Creality/filament/CR-PLA @CR-M4 SE-all.json new file mode 100644 index 0000000000..805d435a94 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @CR-M4 SE-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "CR-PLA @CR-M4 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "tABggke8tUaNmEEh", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.9" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "0.05" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "100" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,200],[5.0,210],[8.0,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-2 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-2 Pro-all.json new file mode 100644 index 0000000000..fe31a36da7 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-2 Pro-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "pyic9IqsyOiafceu", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Plus-all.json new file mode 100644 index 0000000000..836c241ca6 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Plus-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 S1 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DyGKfjo621EQ9y3H", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Pro-all.json new file mode 100644 index 0000000000..3cf869c6f0 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Pro-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 S1 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CgGlQJsaZQNxVOTe", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Sonic-all.json new file mode 100644 index 0000000000..e6f6477240 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1 Sonic-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 S1 Sonic-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "WsUax8HKz582lvgP", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1-all.json new file mode 100644 index 0000000000..de69653dc1 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 S1-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 S1-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "q2a9vySJTktLFns3", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V2-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V2-all.json new file mode 100644 index 0000000000..3e0b41143f --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V2-all.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 V2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "0w38xo4i4Hsv1NGO", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..057c90b12e --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 KE-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "SpUnsDch11ry1O8N", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..337000232c --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "EgSHGiAjpbFer6VA", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..7e3d85b861 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3 SE-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "HE08t6PGCuot7MAy", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[2.0,185],[4.0,190],[7.0,200]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..3d4608ffd4 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V3-all.json @@ -0,0 +1,163 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NZMJjZm0Io0FYdX4", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V4-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V4-all.json index 83548daafd..5b3868f3be 100644 --- a/resources/profiles/Creality/filament/CR-PLA @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "CR-PLA @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "hy5Zpwpkx46UQlFy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "hy5Zpwpkx46UQlFy", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-3-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-3-all.json new file mode 100644 index 0000000000..7f84c2d8a5 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-3-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ZzKcZo3q8UkZOVdx", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-5 Max-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-5 Max-all.json deleted file mode 100644 index 68fa08da55..0000000000 --- a/resources/profiles/Creality/filament/CR-PLA @Ender-5 Max-all.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "type": "filament", - "name": "CR-PLA @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "sU0HCPjQoOLHPmPc", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "1", - "material_flow_temp_graph": "[[0.5,190],[1.0,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..789c851caf --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1 Sonic-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CpzRJ9b1jr2BByHJ", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1-all.json b/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1-all.json new file mode 100644 index 0000000000..f759af2774 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Ender-5 S1-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "CR-PLA @Ender-5 S1-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "mLW6hhvEaIThZZj2", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Hi-all.json b/resources/profiles/Creality/filament/CR-PLA @Hi-all.json index 0dc26b51ba..89c8609ea5 100644 --- a/resources/profiles/Creality/filament/CR-PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @Hi-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "CR-PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "2g9MEZ7yniK64tVA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.2 nozzle", - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "2g9MEZ7yniK64tVA", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.2 nozzle", + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA @K1 Max_CFS-C-all.json index 84fb331f5b..b606e1ba81 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1 Max_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "rkd11EbVutxkB4Yy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "rkd11EbVutxkB4Yy", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1 SE-all.json b/resources/profiles/Creality/filament/CR-PLA @K1 SE-all.json index 1f5d2b746a..37191e5b4b 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1 SE-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1 SE-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "CR-PLA @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "dFig6q8KlgjU4stK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "70%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dFig6q8KlgjU4stK", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA @K1 SE_CFS-C-all.json index f8517e48b5..cf13c1845e 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1 SE_CFS-C-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "CR-PLA @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "2sTv8VK78NAkgv22", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "70%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "2sTv8VK78NAkgv22", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1C-all.json b/resources/profiles/Creality/filament/CR-PLA @K1C-all.json index 092a18533d..e5f40ce73b 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "3chsaV1fugQudOqC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "3chsaV1fugQudOqC", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA @K1C_CFS-C-all.json index e564114150..8e3aff7029 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1C_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Xu46QkbGLqe9nSxT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Xu46QkbGLqe9nSxT", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA @K1_CFS-C-all.json index 2796306e7f..a9bb576d9a 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K1_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "dDLVUGD8AqxJuSb2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dDLVUGD8AqxJuSb2", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA @K2 Plus-all.json index a175fcdb46..67b418e22f 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K2 Plus-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "CR-PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "FsNcay7aLjZKGih8", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "FsNcay7aLjZKGih8", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA @K2 Pro-all.json index b30c6e90fe..c97cda56fa 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K2 Pro-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "yXWDlqzGqqIg2tbx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "yXWDlqzGqqIg2tbx", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K2 SE-all.json b/resources/profiles/Creality/filament/CR-PLA @K2 SE-all.json index 4de70e5062..c3fe4a1f36 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K2 SE-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "CR-PLA @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "j8Iaz6y4iiOw2I5n", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "j8Iaz6y4iiOw2I5n", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @K2-all.json b/resources/profiles/Creality/filament/CR-PLA @K2-all.json index 26a62766b0..fbcb4cfb49 100644 --- a/resources/profiles/Creality/filament/CR-PLA @K2-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @K2-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "7f0r4XOgIhVG2OPH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "7f0r4XOgIhVG2OPH", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-PLA @SPARKX i7-all.json index ad5aad1c66..a4cbf4f3f9 100644 --- a/resources/profiles/Creality/filament/CR-PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-PLA @SPARKX i7-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "CR-PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "G1KqKgylj61LrtiS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[1.2,220]]", - "pressure_advance": "0.032", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFp4ETDP" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "G1KqKgylj61LrtiS", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[1.2,220]]", + "pressure_advance": "0.032", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Sermoon D3-all.json b/resources/profiles/Creality/filament/CR-PLA @Sermoon D3-all.json new file mode 100644 index 0000000000..e4591247c2 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Sermoon D3-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "CR-PLA @Sermoon D3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "HGHr7BzzF2VF1cgI", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Sermoon M300-all.json b/resources/profiles/Creality/filament/CR-PLA @Sermoon M300-all.json new file mode 100644 index 0000000000..79097e7089 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Sermoon M300-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "CR-PLA @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "rYqGOIXnGXHEgXTZ", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,205],[1.0,205],[1.2,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA @Sermoon V1 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA @Sermoon V1 Pro-all.json new file mode 100644 index 0000000000..08436c9bca --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA @Sermoon V1 Pro-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "CR-PLA @Sermoon V1 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "k8A978HSNhLgfqzv", + "filament_id": "OFp4ETDP", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..b9f95c498b --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3 Plus-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "CR-PLA Carbon @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Ny1QQCvYxopOGq7P", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3-all.json new file mode 100644 index 0000000000..3d3da7f6ad --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @Ender-3 V3-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "CR-PLA Carbon @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "EqzstEZ9es8clekk", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @K1 Max_CFS-C-all.json index cfc58c9cf8..09421321fe 100644 --- a/resources/profiles/Creality/filament/CR-PLA Carbon @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @K1 Max_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Carbon @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "VzHBAqKC0WWSEga0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFrM4hdm" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Carbon @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "VzHBAqKC0WWSEga0", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @K1C-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @K1C-all.json index e6eaf070f8..ec102d33a4 100644 --- a/resources/profiles/Creality/filament/CR-PLA Carbon @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @K1C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Carbon @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "2ve6KpyKswcbHPJi", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFrM4hdm" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Carbon @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "2ve6KpyKswcbHPJi", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @K1C_CFS-C-all.json index 2e369e8a3c..1b363a0c68 100644 --- a/resources/profiles/Creality/filament/CR-PLA Carbon @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @K1C_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Carbon @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "MbgilTqqbN9QZvtq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFrM4hdm" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Carbon @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "MbgilTqqbN9QZvtq", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @K1_CFS-C-all.json index 47bfd16093..4847bc1620 100644 --- a/resources/profiles/Creality/filament/CR-PLA Carbon @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @K1_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Carbon @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "e5ACy8cJonV9q1pe", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFrM4hdm" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Carbon @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "e5ACy8cJonV9q1pe", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Carbon @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Carbon @K2 Plus-all.json index b7fb77695e..3a8c3cf1ca 100644 --- a/resources/profiles/Creality/filament/CR-PLA Carbon @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Carbon @K2 Plus-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Carbon @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ua3BCvZtfYAgH7nN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFrM4hdm" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Carbon @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ua3BCvZtfYAgH7nN", + "filament_id": "OFrM4hdm", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..473baf354e --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3 Plus-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "CR-PLA Fluo @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CGabAfjdy4b23bvd", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3-all.json new file mode 100644 index 0000000000..a8af45249c --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @Ender-3 V3-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "CR-PLA Fluo @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xkniY2GiXA6eVgP9", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K1 Max_CFS-C-all.json index ee3510a9cc..761fd855b4 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K1 Max_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "njQE4bpSlZHrCqrg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "njQE4bpSlZHrCqrg", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K1C-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K1C-all.json index 22d113814a..4bc597182f 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K1C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "eCuLoIdPsTEiLxZB", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "eCuLoIdPsTEiLxZB", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K1C_CFS-C-all.json index 59bf2e48e6..384e74eb75 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K1C_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "5vTZFUcLv6DL06Nr", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "5vTZFUcLv6DL06Nr", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K1_CFS-C-all.json index 4a3a27bfb5..ae580ced18 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K1_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "HDRiQNtbO8jZR6tW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "HDRiQNtbO8jZR6tW", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Plus-all.json index 5b3aaccd1f..4935d41c7d 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Plus-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "gKRZWt2XVBGFoQ6t", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gKRZWt2XVBGFoQ6t", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Pro-all.json index c2dbe07744..b54f3e6745 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K2 Pro-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "yGc6fpse4MyUXWXa", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "yGc6fpse4MyUXWXa", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @K2-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @K2-all.json index 98a41262c4..179e2c9421 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @K2-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @K2-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Fluo @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "BJwFbpJ8baT3vyEU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "BJwFbpJ8baT3vyEU", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Fluo @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-PLA Fluo @SPARKX i7-all.json index 759d5cbd88..69dd52a125 100644 --- a/resources/profiles/Creality/filament/CR-PLA Fluo @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Fluo @SPARKX i7-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Fluo @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "0xviyTPYLAxrpVGK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFgpQwkk" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Fluo @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "0xviyTPYLAxrpVGK", + "filament_id": "OFgpQwkk", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @CR-10 SE-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @CR-10 SE-all.json new file mode 100644 index 0000000000..291d3652e0 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Matte @CR-10 SE-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "CR-PLA Matte @CR-10 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NKcoKfmFBGE1ZRio", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..8849c9c510 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-PLA Matte @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "QvQmSZuNcXgsVOzE", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3-all.json new file mode 100644 index 0000000000..2e66b94e2b --- /dev/null +++ b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V3-all.json @@ -0,0 +1,158 @@ +{ + "type": "filament", + "name": "CR-PLA Matte @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XDalZ3Pyn4ARpJDe", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V4-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V4-all.json index 1ed05bed21..2ec7cab65d 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @Ender-3 V4-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "CR-PLA Matte @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "0edq8qWqKaGPZc1t", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "0edq8qWqKaGPZc1t", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K1 Max_CFS-C-all.json index 80373199ad..c18a9dc8c4 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K1 Max_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Matte @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ZFXelUe4vcYytBIg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ZFXelUe4vcYytBIg", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K1C-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K1C-all.json index ac4a9fc0ff..cde0fa3c9b 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K1C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Matte @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "mQDyxAEILwLuFWAw", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "mQDyxAEILwLuFWAw", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K1C_CFS-C-all.json index cd8ea92f5a..4773356cc7 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K1C_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Matte @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "38NjxetvurFFPPEy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "38NjxetvurFFPPEy", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K1_CFS-C-all.json index 1779ce9a54..76654b9172 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K1_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Matte @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "KFNeCYp4ck8diZRG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "KFNeCYp4ck8diZRG", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.1,190], [1.5,190], [1.6,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K2 Plus-all.json index ebfe70bac1..23239f3115 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-PLA Matte @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "WXOXHiNp1tvh4Y5T", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "WXOXHiNp1tvh4Y5T", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K2 Pro-all.json index 90436b9e4b..adc321314c 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K2 Pro-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Matte @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "LNN1w66GDTFxTCMq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "LNN1w66GDTFxTCMq", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @K2-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @K2-all.json index b2bc9f1bc4..9569a1ce13 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @K2-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @K2-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "CR-PLA Matte @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "nk9dxS7bcChQ26pZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "nk9dxS7bcChQ26pZ", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-PLA Matte @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-PLA Matte @SPARKX i7-all.json index 5cf37492a4..7ada0c085a 100644 --- a/resources/profiles/Creality/filament/CR-PLA Matte @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-PLA Matte @SPARKX i7-all.json @@ -1,170 +1,168 @@ { - "type": "filament", - "name": "CR-PLA Matte @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "NNx1aU5NjcyeKPec", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", - "pressure_advance": "0.23", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.2 nozzle", - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OFM0xjBG" -} \ No newline at end of file + "type": "filament", + "name": "CR-PLA Matte @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NNx1aU5NjcyeKPec", + "filament_id": "OFM0xjBG", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", + "pressure_advance": "0.23", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.2 nozzle", + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..29ed6bff6b --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-Silk @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "MIcCsrSIIFHcKg6c", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3-all.json new file mode 100644 index 0000000000..213e26cc62 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V3-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "CR-Silk @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "27Rpfmi4f1MJahL0", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "1", + "material_flow_temp_graph": "[[3.0,205],[5.0,215],[7.0,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Ender-3 V4-all.json b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V4-all.json index 494d7245c9..9f62ca07bc 100644 --- a/resources/profiles/Creality/filament/CR-Silk @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "CR-Silk @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "96xBgfns6PJljRBO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "96xBgfns6PJljRBO", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Ender-5 Max-all.json b/resources/profiles/Creality/filament/CR-Silk @Ender-5 Max-all.json deleted file mode 100644 index 41047d385c..0000000000 --- a/resources/profiles/Creality/filament/CR-Silk @Ender-5 Max-all.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "type": "filament", - "name": "CR-Silk @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "vFgKdtdiuqqrL9rk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "55", - "epoxy_resin_plate_temp_initial_layer": "55", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/CR-Silk @Hi-all.json b/resources/profiles/Creality/filament/CR-Silk @Hi-all.json index 497ddcd169..2d811b10f5 100644 --- a/resources/profiles/Creality/filament/CR-Silk @Hi-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @Hi-all.json @@ -1,145 +1,143 @@ { - "type": "filament", - "name": "CR-Silk @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "tCMjuQOR2yj66jPW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", - "pressure_advance": "0.026", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "tCMjuQOR2yj66jPW", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", + "pressure_advance": "0.026", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Silk @K1 Max_CFS-C-all.json index bffe643c8c..23e8a0762d 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1 Max_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Silk @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ljLSobQ4S3BAkBNk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ljLSobQ4S3BAkBNk", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1 SE-all.json b/resources/profiles/Creality/filament/CR-Silk @K1 SE-all.json index 39ba90b647..04624cfc25 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1 SE-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1 SE-all.json @@ -1,147 +1,145 @@ { - "type": "filament", - "name": "CR-Silk @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "jHEDkgKkZAy21Ali", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "jHEDkgKkZAy21Ali", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Silk @K1 SE_CFS-C-all.json index 33b0ddc999..0755c45631 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1 SE_CFS-C-all.json @@ -1,147 +1,145 @@ { - "type": "filament", - "name": "CR-Silk @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GbHXYf8i8km1Ox5r", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GbHXYf8i8km1Ox5r", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1C-all.json b/resources/profiles/Creality/filament/CR-Silk @K1C-all.json index 7ba2624bae..ea9fad8877 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1C-all.json @@ -1,162 +1,160 @@ { - "type": "filament", - "name": "CR-Silk @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "I4LxzBtRIwagIQUJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "I4LxzBtRIwagIQUJ", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Silk @K1C_CFS-C-all.json index ddbf57b5f2..6150166773 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1C_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Silk @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "JMpBkMELewelYBDU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "JMpBkMELewelYBDU", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Silk @K1_CFS-C-all.json index 3e0e45cd87..47b4468887 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K1_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Silk @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "dVxmGRP36D3lampi", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dVxmGRP36D3lampi", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-Silk @K2 Plus-all.json index a2320f3f4e..a157181008 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K2 Plus-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "CR-Silk @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "8mKZzYS3ykGEMqjH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8mKZzYS3ykGEMqjH", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-Silk @K2 Pro-all.json index 4c1f433c61..75c276d993 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K2 Pro-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "CR-Silk @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "KBVdrZA7bYRpGztN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "KBVdrZA7bYRpGztN", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K2 SE-all.json b/resources/profiles/Creality/filament/CR-Silk @K2 SE-all.json index 9c1415001b..b598e9df65 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K2 SE-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K2 SE-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "CR-Silk @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "0bvCEevcKO0uubLD", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,190],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "0bvCEevcKO0uubLD", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[1.2,190],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @K2-all.json b/resources/profiles/Creality/filament/CR-Silk @K2-all.json index 97e5d7da31..49486812c4 100644 --- a/resources/profiles/Creality/filament/CR-Silk @K2-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @K2-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "CR-Silk @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "MXAd3uHJUNHLFA4i", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "MXAd3uHJUNHLFA4i", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-Silk @SPARKX i7-all.json index 11a92b0357..e3c2ae9f62 100644 --- a/resources/profiles/Creality/filament/CR-Silk @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-Silk @SPARKX i7-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "CR-Silk @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "A30ICaD1Lz0cWkEH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", - "pressure_advance": "0.13", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.2 nozzle", - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OF3OMgrI" -} \ No newline at end of file + "type": "filament", + "name": "CR-Silk @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "A30ICaD1Lz0cWkEH", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", + "pressure_advance": "0.13", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.2 nozzle", + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Sermoon D3-all.json b/resources/profiles/Creality/filament/CR-Silk @Sermoon D3-all.json new file mode 100644 index 0000000000..e188c21b6e --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Silk @Sermoon D3-all.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "CR-Silk @Sermoon D3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GwhtT5VncavD9Mnc", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Silk @Sermoon M300-all.json b/resources/profiles/Creality/filament/CR-Silk @Sermoon M300-all.json new file mode 100644 index 0000000000..a9c8a6439f --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Silk @Sermoon M300-all.json @@ -0,0 +1,163 @@ +{ + "type": "filament", + "name": "CR-Silk @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "hL6B3rEviI23wR5C", + "filament_id": "OF3OMgrI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @CR-10 Smart Pro-all.json b/resources/profiles/Creality/filament/CR-TPU @CR-10 Smart Pro-all.json new file mode 100644 index 0000000000..02537b71b8 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @CR-10 Smart Pro-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "CR-TPU @CR-10 Smart Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "iOz1sN3kp22Y5TBE", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "35", + "customized_plate_temp_initial_layer": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @CR-10-all.json b/resources/profiles/Creality/filament/CR-TPU @CR-10-all.json new file mode 100644 index 0000000000..6041be6248 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @CR-10-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "CR-TPU @CR-10-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "V02QbRBaZBg3wFIn", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "35", + "customized_plate_temp_initial_layer": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @Ender-3 V2-all.json b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V2-all.json new file mode 100644 index 0000000000..38a1295fb4 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V2-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "CR-TPU @Ender-3 V2-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "vbCa5VO9C083vHVd", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..65414cbeda --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-TPU @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "7NlAEl0uRjpET60w", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3-all.json new file mode 100644 index 0000000000..5cc6b7e824 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @Ender-3 V3-all.json @@ -0,0 +1,161 @@ +{ + "type": "filament", + "name": "CR-TPU @Ender-3 V3-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "WmQ8C2t4J7YJSxdO", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-TPU @K1 Max_CFS-C-all.json index 8ad140c757..8e5ab63281 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K1 Max_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "CR-TPU @K1 Max_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "KkOkqdyd9DekhhNx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K1 Max_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "KkOkqdyd9DekhhNx", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K1C-all.json b/resources/profiles/Creality/filament/CR-TPU @K1C-all.json index 001f3c5e5c..5740a6c8fb 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K1C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "CR-TPU @K1C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "7IDbEU7GXQfJbFQz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K1C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "7IDbEU7GXQfJbFQz", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-TPU @K1C_CFS-C-all.json index 9d10ae7b5c..60f72ca75e 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K1C_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "CR-TPU @K1C_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "m33d4hGzs5ZC1faF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K1C_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "m33d4hGzs5ZC1faF", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-TPU @K1_CFS-C-all.json index 5be19a6852..526fc9daad 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K1_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "CR-TPU @K1_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "kt3VziPx3umU4Q5R", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K1_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "kt3VziPx3umU4Q5R", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-TPU @K2 Plus-all.json index b79e38758b..c68afd06dc 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K2 Plus-all.json @@ -1,170 +1,168 @@ { - "type": "filament", - "name": "CR-TPU @K2 Plus-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "KioNr9VhBOnLMtnm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.02" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.34", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K2 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "KioNr9VhBOnLMtnm", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.02" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.34", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K2 Pro-all.json b/resources/profiles/Creality/filament/CR-TPU @K2 Pro-all.json index e3ea591f17..5e1ca5fef1 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K2 Pro-all.json @@ -1,175 +1,173 @@ { - "type": "filament", - "name": "CR-TPU @K2 Pro-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "8akFfk1Evt6aKtRL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "24" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.02" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.34", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K2 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "8akFfk1Evt6aKtRL", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.02" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.34", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @K2-all.json b/resources/profiles/Creality/filament/CR-TPU @K2-all.json index a336ca1e66..5ba623ff46 100644 --- a/resources/profiles/Creality/filament/CR-TPU @K2-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @K2-all.json @@ -1,175 +1,173 @@ { - "type": "filament", - "name": "CR-TPU @K2-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "ZXIOQXEGhsUn2x8j", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "24" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @K2-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "ZXIOQXEGhsUn2x8j", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @SPARKX i7-all.json b/resources/profiles/Creality/filament/CR-TPU @SPARKX i7-all.json index 3b6e8923eb..ca5cb0fbfc 100644 --- a/resources/profiles/Creality/filament/CR-TPU @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/CR-TPU @SPARKX i7-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "CR-TPU @SPARKX i7-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "mCfhjDYJc8oh3k2X", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.12" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.34", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFG2RkhN" -} \ No newline at end of file + "type": "filament", + "name": "CR-TPU @SPARKX i7-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "mCfhjDYJc8oh3k2X", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.12" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.34", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @Sermoon D3-all.json b/resources/profiles/Creality/filament/CR-TPU @Sermoon D3-all.json new file mode 100644 index 0000000000..dcf6b60a99 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @Sermoon D3-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "CR-TPU @Sermoon D3-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "SoAsld30mkDNavBm", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "35", + "customized_plate_temp_initial_layer": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-TPU @Sermoon V1 Pro-all.json b/resources/profiles/Creality/filament/CR-TPU @Sermoon V1 Pro-all.json new file mode 100644 index 0000000000..6e73d09a10 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-TPU @Sermoon V1 Pro-all.json @@ -0,0 +1,168 @@ +{ + "type": "filament", + "name": "CR-TPU @Sermoon V1 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "HtxgDX79Zv5Oc5f2", + "filament_id": "OFG2RkhN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "35", + "customized_plate_temp_initial_layer": "35", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..46f976cf53 --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "CR-Wood @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "RUOc2G0ddCoK7iZB", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3-all.json b/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3-all.json new file mode 100644 index 0000000000..545bcc259d --- /dev/null +++ b/resources/profiles/Creality/filament/CR-Wood @Ender-3 V3-all.json @@ -0,0 +1,158 @@ +{ + "type": "filament", + "name": "CR-Wood @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Uhd78nmEHWhm9byr", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Wood @K1 Max_CFS-C-all.json index 2d59b01143..3b695ef493 100644 --- a/resources/profiles/Creality/filament/CR-Wood @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Wood @K1 Max_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "CR-Wood @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "vIzshYLqN5j6pkDn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGxC8gB" -} \ No newline at end of file + "type": "filament", + "name": "CR-Wood @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "vIzshYLqN5j6pkDn", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @K1C-all.json b/resources/profiles/Creality/filament/CR-Wood @K1C-all.json index 20477f04a9..ee30ee419d 100644 --- a/resources/profiles/Creality/filament/CR-Wood @K1C-all.json +++ b/resources/profiles/Creality/filament/CR-Wood @K1C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Wood @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zSfzwta4F6MAXAn7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFGxC8gB" -} \ No newline at end of file + "type": "filament", + "name": "CR-Wood @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zSfzwta4F6MAXAn7", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Wood @K1C_CFS-C-all.json index 95dc4f4c95..a36e476dd4 100644 --- a/resources/profiles/Creality/filament/CR-Wood @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Wood @K1C_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Wood @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "5n4iNCttBHmnXKaT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGxC8gB" -} \ No newline at end of file + "type": "filament", + "name": "CR-Wood @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "5n4iNCttBHmnXKaT", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @K1_CFS-C-all.json b/resources/profiles/Creality/filament/CR-Wood @K1_CFS-C-all.json index e029b37f79..eac27b5a22 100644 --- a/resources/profiles/Creality/filament/CR-Wood @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/CR-Wood @K1_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "CR-Wood @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "kBGvS0Npk3V5eY8j", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGxC8gB" -} \ No newline at end of file + "type": "filament", + "name": "CR-Wood @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "kBGvS0Npk3V5eY8j", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/CR-Wood @K2 Plus-all.json b/resources/profiles/Creality/filament/CR-Wood @K2 Plus-all.json index aa7a1f5eee..160a0cd258 100644 --- a/resources/profiles/Creality/filament/CR-Wood @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/CR-Wood @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "CR-Wood @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "NFRGg9wmbojJ0Ye9", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.22" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFGxC8gB" -} \ No newline at end of file + "type": "filament", + "name": "CR-Wood @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NFRGg9wmbojJ0Ye9", + "filament_id": "OFGxC8gB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Creality Hyper ABS @Ender-5Max-all.json b/resources/profiles/Creality/filament/Creality Hyper ABS @Ender-5Max-all.json index cb50c6f7fb..91bd548a37 100644 --- a/resources/profiles/Creality/filament/Creality Hyper ABS @Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Creality Hyper ABS @Ender-5Max-all.json @@ -43,7 +43,6 @@ ], "filament_flow_ratio": "0.92", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -73,7 +72,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Creality Hyper PLA @Ender-5Max-all.json b/resources/profiles/Creality/filament/Creality Hyper PLA @Ender-5Max-all.json index 6a71e56fff..3333526fd3 100644 --- a/resources/profiles/Creality/filament/Creality Hyper PLA @Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Creality Hyper PLA @Ender-5Max-all.json @@ -43,7 +43,6 @@ ], "filament_flow_ratio": "0.97", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Creality Hyper PLA-CF @Ender-5Max-all.json b/resources/profiles/Creality/filament/Creality Hyper PLA-CF @Ender-5Max-all.json index d44e4d96bf..eed4198aea 100644 --- a/resources/profiles/Creality/filament/Creality Hyper PLA-CF @Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Creality Hyper PLA-CF @Ender-5Max-all.json @@ -43,7 +43,6 @@ ], "filament_flow_ratio": "0.9", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -73,7 +72,6 @@ "filament_type": [ "PLA-CF" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Creality Silk PLA @Ender-5Max-all.json b/resources/profiles/Creality/filament/Creality Silk PLA @Ender-5Max-all.json index d8a060f9b5..24b7aec597 100644 --- a/resources/profiles/Creality/filament/Creality Silk PLA @Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Creality Silk PLA @Ender-5Max-all.json @@ -43,7 +43,6 @@ ], "filament_flow_ratio": "0.85", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -73,7 +72,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..f46ef49cf0 --- /dev/null +++ b/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3 Plus-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "EN-PLA+ @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XloTVVL72xDtiyTa", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3-all.json b/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3-all.json new file mode 100644 index 0000000000..57472a4047 --- /dev/null +++ b/resources/profiles/Creality/filament/EN-PLA+ @Ender-3 V3-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "EN-PLA+ @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "TVbzWm0CvOZJ8gjs", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K1 Max_CFS-C-all.json index a7c696718f..6a01014a09 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K1 Max_CFS-C-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "EN-PLA+ @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "158lgUy4NWVKp625", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "90" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "158lgUy4NWVKp625", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "90" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K1C-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K1C-all.json index c680265601..68a1c41f23 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K1C-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K1C-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "EN-PLA+ @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GGgjz1BfWVm9G9oO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "90" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GGgjz1BfWVm9G9oO", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "90" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K1C_CFS-C-all.json index 50816aed69..fac99aa191 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K1C_CFS-C-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "EN-PLA+ @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "gZVVoUCJ7QRhAHjO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "90" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gZVVoUCJ7QRhAHjO", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "90" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K1_CFS-C-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K1_CFS-C-all.json index 43728032ef..6ff1d73bc7 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K1_CFS-C-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "EN-PLA+ @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Av0kmRfBxzfEtFMI", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "90" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Av0kmRfBxzfEtFMI", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "90" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K2 Plus-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K2 Plus-all.json index 25642697d9..7df41a79d8 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K2 Plus-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "EN-PLA+ @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "8jntA1DA7UKpFB5D", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8jntA1DA7UKpFB5D", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K2 Pro-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K2 Pro-all.json index 16a318a1e0..45ac03cfdc 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K2 Pro-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "EN-PLA+ @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "xIghXweOHDN6eUJA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xIghXweOHDN6eUJA", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @K2-all.json b/resources/profiles/Creality/filament/EN-PLA+ @K2-all.json index e9693dabcc..1b3877c95f 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @K2-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @K2-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "EN-PLA+ @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "knIpfA9wHBoyClD9", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "knIpfA9wHBoyClD9", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/EN-PLA+ @SPARKX i7-all.json b/resources/profiles/Creality/filament/EN-PLA+ @SPARKX i7-all.json index e19e06f40e..22552b9ec9 100644 --- a/resources/profiles/Creality/filament/EN-PLA+ @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/EN-PLA+ @SPARKX i7-all.json @@ -1,170 +1,168 @@ { - "type": "filament", - "name": "EN-PLA+ @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "noCevEGFMtClqvDZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFks6esg" -} \ No newline at end of file + "type": "filament", + "name": "EN-PLA+ @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "noCevEGFMtClqvDZ", + "filament_id": "OFks6esg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/ENDER FAST PLA @Hi-all.json b/resources/profiles/Creality/filament/ENDER FAST PLA @Hi-all.json index 3fd9b4ef24..4c3854163c 100644 --- a/resources/profiles/Creality/filament/ENDER FAST PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/ENDER FAST PLA @Hi-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "ENDER FAST PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ZK9la4OwCbY6P1Ka", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "24" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.3" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFfSqS4R" -} \ No newline at end of file + "type": "filament", + "name": "ENDER FAST PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ZK9la4OwCbY6P1Ka", + "filament_id": "OFfSqS4R", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.3" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Plus-all.json index a27a828dfb..8830fb9d0c 100644 --- a/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Plus-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "ENDER FAST PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "aX5GTeSuTe2xMM6U", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "53" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFfSqS4R" -} \ No newline at end of file + "type": "filament", + "name": "ENDER FAST PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "aX5GTeSuTe2xMM6U", + "filament_id": "OFfSqS4R", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "53" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Pro-all.json index 4f831d47ab..f9d5b70345 100644 --- a/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/ENDER FAST PLA @K2 Pro-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "ENDER FAST PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "rPu8RtmT8ketxiKn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "24" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFfSqS4R" -} \ No newline at end of file + "type": "filament", + "name": "ENDER FAST PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "rPu8RtmT8ketxiKn", + "filament_id": "OFfSqS4R", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/ENDER FAST PLA @K2-all.json b/resources/profiles/Creality/filament/ENDER FAST PLA @K2-all.json index 9c2fd90d30..cc020aeb91 100644 --- a/resources/profiles/Creality/filament/ENDER FAST PLA @K2-all.json +++ b/resources/profiles/Creality/filament/ENDER FAST PLA @K2-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "ENDER FAST PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "KXmnvtnGjZiXVYVs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "24" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFfSqS4R" -} \ No newline at end of file + "type": "filament", + "name": "ENDER FAST PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "KXmnvtnGjZiXVYVs", + "filament_id": "OFfSqS4R", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/ENDER FAST PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/ENDER FAST PLA @SPARKX i7-all.json index c96ff98d72..e365bffac4 100644 --- a/resources/profiles/Creality/filament/ENDER FAST PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/ENDER FAST PLA @SPARKX i7-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "ENDER FAST PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "EOJUiD8x2hx3y4HO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "53" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFfSqS4R" -} \ No newline at end of file + "type": "filament", + "name": "ENDER FAST PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "EOJUiD8x2hx3y4HO", + "filament_id": "OFfSqS4R", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "53" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @CR-10 Smart Pro-all.json b/resources/profiles/Creality/filament/Ender-PLA @CR-10 Smart Pro-all.json new file mode 100644 index 0000000000..974d926c0c --- /dev/null +++ b/resources/profiles/Creality/filament/Ender-PLA @CR-10 Smart Pro-all.json @@ -0,0 +1,154 @@ +{ + "type": "filament", + "name": "Ender-PLA @CR-10 Smart Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "wdwQn6YvEYg7K8C1", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + " ;filament start gcode" + ], + "filament_end_gcode": [ + " ;filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..8397db9679 --- /dev/null +++ b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,150 @@ +{ + "type": "filament", + "name": "Ender-PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "qUPut85n4i97Cvqa", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..2517c43d36 --- /dev/null +++ b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V3-all.json @@ -0,0 +1,158 @@ +{ + "type": "filament", + "name": "Ender-PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "F9v1dXKIkcKfbp4f", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V4-all.json index 711b1b22a7..bfd0581d4a 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @Ender-3 V4-all.json @@ -1,147 +1,145 @@ { - "type": "filament", - "name": "Ender-PLA @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "4ZsPBPTcW7Nbud94", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", - "pressure_advance": "0.024", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4ZsPBPTcW7Nbud94", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", + "pressure_advance": "0.024", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @Ender-5 Plus-all.json b/resources/profiles/Creality/filament/Ender-PLA @Ender-5 Plus-all.json new file mode 100644 index 0000000000..c07f4d0d5e --- /dev/null +++ b/resources/profiles/Creality/filament/Ender-PLA @Ender-5 Plus-all.json @@ -0,0 +1,136 @@ +{ + "type": "filament", + "name": "Ender-PLA @Ender-5 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8G5nUgeCIjUSGrph", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @Hi-all.json b/resources/profiles/Creality/filament/Ender-PLA @Hi-all.json index 27ea82bdd3..011f599d96 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @Hi-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "Ender-PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "3cpofydFoBjnKdNH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "3cpofydFoBjnKdNH", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Ender-PLA @K1 Max_CFS-C-all.json index ed995443e3..88a1f5a286 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K1 Max_CFS-C-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "Ender-PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "CHtytKAUVFpAy8Qm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CHtytKAUVFpAy8Qm", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K1C-all.json b/resources/profiles/Creality/filament/Ender-PLA @K1C-all.json index c220fa54ac..20407c7014 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K1C-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "Ender-PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "xnFY6LUmvd7zH1kQ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xnFY6LUmvd7zH1kQ", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Ender-PLA @K1C_CFS-C-all.json index 2471ec31bb..2c5af7fd59 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K1C_CFS-C-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "Ender-PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Q3cb72JAry8Nj9Jc", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Q3cb72JAry8Nj9Jc", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Ender-PLA @K1_CFS-C-all.json index f10bf01177..5e3bbc2075 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K1_CFS-C-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "Ender-PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "tITLcxwReOtBn4un", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "tITLcxwReOtBn4un", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200], [1.1,210], [1.4,220]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Ender-PLA @K2 Plus-all.json index 51b85450b3..2215821808 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K2 Plus-all.json @@ -1,152 +1,150 @@ { - "type": "filament", - "name": "Ender-PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "CZfEiMPan3Lz1qK6", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CZfEiMPan3Lz1qK6", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/Ender-PLA @K2 Pro-all.json index 8e04e8fee9..f2bd325441 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K2 Pro-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Ender-PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "QqeD0acLtTx3o8hq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "QqeD0acLtTx3o8hq", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.2,195],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @K2-all.json b/resources/profiles/Creality/filament/Ender-PLA @K2-all.json index b26145bea9..364a6e25a8 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @K2-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @K2-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Ender-PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "r81gYSIP0AGeFowj", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "r81gYSIP0AGeFowj", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Ender-PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/Ender-PLA @SPARKX i7-all.json index 11a85cc128..7cf95acc28 100644 --- a/resources/profiles/Creality/filament/Ender-PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Ender-PLA @SPARKX i7-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Ender-PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "I8mV3hBRdyGTSqgt", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.034", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFWao3Ic" -} \ No newline at end of file + "type": "filament", + "name": "Ender-PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "I8mV3hBRdyGTSqgt", + "filament_id": "OFWao3Ic", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.034", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-10 SE-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-10 SE-all.json new file mode 100644 index 0000000000..bf4cd1eac3 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-10 SE-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-10 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "7k397eGw1kOhR5hJ", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle", + "Creality CR-10 SE 0.4 nozzle", + "Creality CR-10 SE 0.6 nozzle", + "Creality CR-10 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart Pro-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart Pro-all.json new file mode 100644 index 0000000000..80de600c3c --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart Pro-all.json @@ -0,0 +1,141 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-10 Smart Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "9Zj0TQAyiQFyTSif", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart-all.json new file mode 100644 index 0000000000..7bb4cfab6f --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-10 Smart-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-10 Smart-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "tJrf3QI8y5yQFjbf", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-10-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-10-all.json new file mode 100644 index 0000000000..2b000c9af8 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-10-all.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-10-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "pRRyz5XpCSUuEj2b", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-10S Pro V2-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-10S Pro V2-all.json new file mode 100644 index 0000000000..c2ce62ab4b --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-10S Pro V2-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-10S Pro V2-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "F2Px3DYGFi2GpTdt", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-20 Pro-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-20 Pro-all.json new file mode 100644 index 0000000000..79e52b003a --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-20 Pro-all.json @@ -0,0 +1,158 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-20 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "k2JmcThf6XE6S1MT", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "overhang_fan_speed": [ + "50" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-6 SE-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-6 SE-all.json new file mode 100644 index 0000000000..7dd628856e --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-6 SE-all.json @@ -0,0 +1,144 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-6 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "o6MZqC2Q4tsA5eP5", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-6 SE 0.2 nozzle", + "Creality CR-6 SE 0.4 nozzle", + "Creality CR-6 SE 0.6 nozzle", + "Creality CR-6 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @CR-M4-all.json b/resources/profiles/Creality/filament/Generic ABS @CR-M4-all.json new file mode 100644 index 0000000000..d577452be4 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @CR-M4-all.json @@ -0,0 +1,140 @@ +{ + "type": "filament", + "name": "Generic ABS @CR-M4-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "v0uZLdNL4HQohnml", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic ABS @Creality Ender-3V3-all.json index fcd8548620..4081db783f 100644 --- a/resources/profiles/Creality/filament/Generic ABS @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @Creality Ender-3V3-all.json @@ -19,8 +19,6 @@ "Creality Ender-3 V3 SE 0.8 nozzle", "Creality Ender-3 V3 KE 0.4 nozzle", "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 0.6 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic ABS @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic ABS @Creality Ender-5Max-all.json index 5a6f7a93c9..f385b23057 100644 --- a/resources/profiles/Creality/filament/Generic ABS @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ABS @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic ABS @Ender-5Max-all;Creality Generic ABS Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "qurtvw5OhkVfgpaC", "filament_id": "OFY9muEs", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "0.85", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic ABS @Creality.json b/resources/profiles/Creality/filament/Generic ABS @Creality.json index cb2c1a6f9c..2e0bb44fa0 100644 --- a/resources/profiles/Creality/filament/Generic ABS @Creality.json +++ b/resources/profiles/Creality/filament/Generic ABS @Creality.json @@ -18,10 +18,6 @@ "Creality CR-10 V3 0.4 nozzle", "Creality CR-10 V3 0.6 nozzle", "Creality CR-10 Max 0.4 nozzle", - "Creality CR-6 SE 0.2 nozzle", - "Creality CR-6 SE 0.4 nozzle", - "Creality CR-6 SE 0.6 nozzle", - "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.2 nozzle", "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", @@ -35,7 +31,6 @@ "Creality Ender-3 Pro 0.4 nozzle", "Creality Ender-3 Pro 0.6 nozzle", "Creality Ender-3 Pro 0.8 nozzle", - "Creality Ender-3 V2 0.4 nozzle", "Creality Ender-3 V2 Neo 0.4 nozzle", "Creality Ender-3 S1 0.4 nozzle", "Creality Ender-3 S1 Pro 0.4 nozzle", @@ -61,11 +56,6 @@ "Creality K1 (0.8 nozzle)", "Creality K1 Max (0.4 nozzle)", "Creality K1 Max (0.6 nozzle)", - "Creality K1 Max (0.8 nozzle)", - "Creality CR-10 SE 0.2 nozzle", - "Creality CR-10 SE 0.4 nozzle", - "Creality CR-10 SE 0.6 nozzle", - "Creality CR-10 SE 0.8 nozzle", - "Creality CR-M4 0.4 nozzle" + "Creality K1 Max (0.8 nozzle)" ] } diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max Neo-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max Neo-all.json new file mode 100644 index 0000000000..dc7db577c4 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max Neo-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "Generic ABS @Ender-3 Max Neo-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "RvDjCXHEbns6IztB", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max-all.json new file mode 100644 index 0000000000..91dd90c8ea --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Max-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "Generic ABS @Ender-3 Max-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "PguzrK3BdcVjZRQo", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 Neo-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Neo-all.json new file mode 100644 index 0000000000..1a1c7a6c4a --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 Neo-all.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Generic ABS @Ender-3 Neo-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "GyPeZnytNANmnfaS", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 V2-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V2-all.json new file mode 100644 index 0000000000..e64a860b55 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V2-all.json @@ -0,0 +1,152 @@ +{ + "type": "filament", + "name": "Generic ABS @Ender-3 V2-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "aBJ8pESX1Thm99ek", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..97ec708a23 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V3 Plus-all.json @@ -0,0 +1,145 @@ +{ + "type": "filament", + "name": "Generic ABS @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "hTvm1fTXFd7cztWW", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V4-all.json index d1f8662025..0c1700464a 100644 --- a/resources/profiles/Creality/filament/Generic ABS @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @Ender-3 V4-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "Generic ABS @Ender-3 V4-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "4uYoekJTerUnoYl8", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", - "pressure_advance": "0.026", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @Ender-3 V4-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "4uYoekJTerUnoYl8", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "90", + "customized_plate_temp_initial_layer": "90", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", + "pressure_advance": "0.026", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic ABS @Ender-5 Max-all.json deleted file mode 100644 index ca7518e9b3..0000000000 --- a/resources/profiles/Creality/filament/Generic ABS @Ender-5 Max-all.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "Generic ABS @Ender-5 Max-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "3BjyaE4hGrz7tqnk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "30" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "60" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]", - "pressure_advance": "0.034", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic ABS @Hi-all.json b/resources/profiles/Creality/filament/Generic ABS @Hi-all.json index 9f43259110..dad6fd75a7 100644 --- a/resources/profiles/Creality/filament/Generic ABS @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @Hi-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic ABS @Hi-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "9z0uoXnHksedYsyq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "70" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @Hi-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "9z0uoXnHksedYsyq", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "70" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ABS @K1 Max_CFS-C-all.json index 4d1de77b9e..47623ecde9 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1 Max_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic ABS @K1 Max_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "VF8DUfOECtADXXXT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1 Max_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "VF8DUfOECtADXXXT", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1 SE-all.json b/resources/profiles/Creality/filament/Generic ABS @K1 SE-all.json index 974ca3a49a..f69924da6e 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1 SE-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic ABS @K1 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "6tqh2NX6hGdsR8Gy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "6tqh2NX6hGdsR8Gy", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ABS @K1 SE_CFS-C-all.json index 8fa83c2dbf..7c54336fe3 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1 SE_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic ABS @K1 SE_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "D95cc9TGmWbPC8em", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1 SE_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "D95cc9TGmWbPC8em", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1C-all.json b/resources/profiles/Creality/filament/Generic ABS @K1C-all.json index 0d8c23a2e7..5f883ca259 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic ABS @K1C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "CGDrkpaby0ZdpoSH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "CGDrkpaby0ZdpoSH", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ABS @K1C_CFS-C-all.json index 888b283059..1877f70bc7 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1C_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic ABS @K1C_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "eMQXlXLK9wyeqYEx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1C_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "eMQXlXLK9wyeqYEx", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ABS @K1_CFS-C-all.json index 58d749dea3..2621ca7398 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K1_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic ABS @K1_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "3YcpDd1XsJKf2T02", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K1_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "3YcpDd1XsJKf2T02", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic ABS @K2 Plus-all.json index 425411f466..93a01f5a2d 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K2 Plus-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Generic ABS @K2 Plus-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "ju8Vp3ee2mBYGzKr", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K2 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "ju8Vp3ee2mBYGzKr", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic ABS @K2 Pro-all.json index a03c0fbfcb..7b20d35951 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K2 Pro-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "Generic ABS @K2 Pro-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "CKz3942iA5I2gfaA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K2 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "CKz3942iA5I2gfaA", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K2 SE-all.json b/resources/profiles/Creality/filament/Generic ABS @K2 SE-all.json index 846dc3b748..b711a5eefd 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K2 SE-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "Generic ABS @K2 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "PdjEPWVOSloevfUZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K2 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "PdjEPWVOSloevfUZ", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @K2-all.json b/resources/profiles/Creality/filament/Generic ABS @K2-all.json index 0eefa273a9..15ecff7328 100644 --- a/resources/profiles/Creality/filament/Generic ABS @K2-all.json +++ b/resources/profiles/Creality/filament/Generic ABS @K2-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic ABS @K2-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "v8K9u7osBIzsrQCh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFY9muEs" -} \ No newline at end of file + "type": "filament", + "name": "Generic ABS @K2-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "v8K9u7osBIzsrQCh", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Sermoon D3-all.json b/resources/profiles/Creality/filament/Generic ABS @Sermoon D3-all.json new file mode 100644 index 0000000000..c6fc10b69e --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Sermoon D3-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Generic ABS @Sermoon D3-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "rX4Bj2tjmMnLdXC1", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Sermoon M300-all.json b/resources/profiles/Creality/filament/Generic ABS @Sermoon M300-all.json new file mode 100644 index 0000000000..04576e2222 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Sermoon M300-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Generic ABS @Sermoon M300-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "dSUSzQHEZb1rva3B", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ABS @Sermoon V1 Pro-all.json b/resources/profiles/Creality/filament/Generic ABS @Sermoon V1 Pro-all.json new file mode 100644 index 0000000000..f3422ad1b9 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ABS @Sermoon V1 Pro-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Generic ABS @Sermoon V1 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "2Frv7ji4Qi8bfdoJ", + "filament_id": "OFY9muEs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic ASA @Creality Ender-3V3-all.json index 27ee572384..0675884518 100644 --- a/resources/profiles/Creality/filament/Generic ASA @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @Creality Ender-3V3-all.json @@ -19,8 +19,6 @@ "Creality Ender-3 V3 SE 0.8 nozzle", "Creality Ender-3 V3 KE 0.4 nozzle", "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 0.6 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic ASA @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic ASA @Creality Ender-5Max-all.json index 0fa424b522..66cb8a6eb8 100644 --- a/resources/profiles/Creality/filament/Generic ASA @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ASA @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic ASA @Ender-5Max-all;Creality Generic ASA Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "7qyRWm8KXa1YUPpl", "filament_id": "OFLPAxz3", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "0.85", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "ASA" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic ASA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic ASA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..8e5207977f --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ASA @Ender-3 V3 Plus-all.json @@ -0,0 +1,139 @@ +{ + "type": "filament", + "name": "Generic ASA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "OfYB1taVdE79ijdP", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic ASA @Ender-5 Max-all.json deleted file mode 100644 index 85251468b0..0000000000 --- a/resources/profiles/Creality/filament/Generic ASA @Ender-5 Max-all.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "type": "filament", - "name": "Generic ASA @Ender-5 Max-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "1cOFjktr0dBTbYS4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "70" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "55", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,240],[8.0,250],[12.0,260]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic ASA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ASA @K1 Max_CFS-C-all.json index 6f9ee6971e..f4b1fd74fb 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1 Max_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic ASA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "JS8oDrWmlTmmZ9VJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "JS8oDrWmlTmmZ9VJ", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K1 SE-all.json b/resources/profiles/Creality/filament/Generic ASA @K1 SE-all.json index d5850749d2..81854fca9b 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1 SE-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "Generic ASA @K1 SE-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "XK0E9L6nEGz9410w", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "55", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1 SE-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "XK0E9L6nEGz9410w", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "55", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ASA @K1 SE_CFS-C-all.json index 8894ee7af1..450ccb9a72 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1 SE_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "Generic ASA @K1 SE_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "U4HDFaHTS7EtgCJj", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "55", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1 SE_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "U4HDFaHTS7EtgCJj", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "55", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K1C-all.json b/resources/profiles/Creality/filament/Generic ASA @K1C-all.json index 2669b08f43..3d8bdcc19e 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic ASA @K1C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "Yya6SGcDEMvAKLYs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "Yya6SGcDEMvAKLYs", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ASA @K1C_CFS-C-all.json index 0a5dc5d18a..46af0e1676 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1C_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic ASA @K1C_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "1nVS1yN0psDyFajd", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1C_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "1nVS1yN0psDyFajd", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic ASA @K1_CFS-C-all.json index 33cf5b2860..f94d0c06f5 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K1_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic ASA @K1_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "62EZvOkMH6gWc6CU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K1_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "62EZvOkMH6gWc6CU", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic ASA @K2 Plus-all.json index f1bdbc1310..d67a15b081 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K2 Plus-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic ASA @K2 Plus-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "bPiPJ2MrgMOq01jX", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "40" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K2 Plus-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "bPiPJ2MrgMOq01jX", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic ASA @K2 Pro-all.json index 346f7bfec6..6ed2f4deed 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K2 Pro-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "Generic ASA @K2 Pro-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "RScrAM7qssIS1RQC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "90" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.032", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K2 Pro-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "RScrAM7qssIS1RQC", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "90" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.032", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K2 SE-all.json b/resources/profiles/Creality/filament/Generic ASA @K2 SE-all.json index 758d45606e..ef2fe096e9 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K2 SE-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "Generic ASA @K2 SE-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "B3KqWjy2YfMDxjbS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K2 SE-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "B3KqWjy2YfMDxjbS", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @K2-all.json b/resources/profiles/Creality/filament/Generic ASA @K2-all.json index 68b9b71b9e..0b12417aa3 100644 --- a/resources/profiles/Creality/filament/Generic ASA @K2-all.json +++ b/resources/profiles/Creality/filament/Generic ASA @K2-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Generic ASA @K2-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "nmVYYCCRebt7sRKj", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "20" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFLPAxz3" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA @K2-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "nmVYYCCRebt7sRKj", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA @Sermoon M300-all.json b/resources/profiles/Creality/filament/Generic ASA @Sermoon M300-all.json new file mode 100644 index 0000000000..062033b4be --- /dev/null +++ b/resources/profiles/Creality/filament/Generic ASA @Sermoon M300-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "Generic ASA @Sermoon M300-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "kLMeHvTGuEgoSyDI", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "90" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic ASA-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic ASA-CF @K2 Plus-all.json index f98421ad49..c31060aa30 100644 --- a/resources/profiles/Creality/filament/Generic ASA-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic ASA-CF @K2 Plus-all.json @@ -1,148 +1,146 @@ { - "type": "filament", - "name": "Generic ASA-CF @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "DnKtg4yCiafeDBIu", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.2" - ], - "filament_flow_ratio": [ - "0.92" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_type": [ - "ASA-CF" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF53eLVD" -} \ No newline at end of file + "type": "filament", + "name": "Generic ASA-CF @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "DnKtg4yCiafeDBIu", + "filament_id": "OF53eLVD", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.2" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_type": [ + "ASA-CF" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic BVOH @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..9ef41326f5 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic BVOH @Ender-3 V3 Plus-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Generic BVOH @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "WUkZ2i1FEzXoLzFH", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @Hi-all.json b/resources/profiles/Creality/filament/Generic BVOH @Hi-all.json index 33ac63d296..3395945ad0 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @Hi-all.json @@ -1,131 +1,129 @@ { - "type": "filament", - "name": "Generic BVOH @Hi-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "5HO5PysrHUKqReVb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "150" - ], - "filament_density": [ - "1.138" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @Hi-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "5HO5PysrHUKqReVb", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "150" + ], + "filament_density": [ + "1.138" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic BVOH @K1 Max_CFS-C-all.json index e0cfdb7090..62b0ea6edd 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K1 Max_CFS-C-all.json @@ -1,162 +1,160 @@ { - "type": "filament", - "name": "Generic BVOH @K1 Max_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "rzpKPYQdPjzN3oVS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.138" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "7" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K1 Max_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "rzpKPYQdPjzN3oVS", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.138" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K1C-all.json b/resources/profiles/Creality/filament/Generic BVOH @K1C-all.json index 9f2cbf4200..e1c3414cd5 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K1C-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic BVOH @K1C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "sBNRrUUShVPgFlD2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.138" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "7" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K1C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "sBNRrUUShVPgFlD2", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.138" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic BVOH @K1C_CFS-C-all.json index e79e575992..e068c8e767 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K1C_CFS-C-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic BVOH @K1C_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "F35hv7Jv8sdPpHuG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.138" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "7" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K1C_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "F35hv7Jv8sdPpHuG", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.138" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic BVOH @K1_CFS-C-all.json index 9bd399cbf0..34418ac001 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K1_CFS-C-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic BVOH @K1_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "quzQIkhGomoTlGMy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.138" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "7" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K1_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "quzQIkhGomoTlGMy", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.138" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic BVOH @K2 Plus-all.json index c525c695d7..efbf6d921a 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K2 Plus-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic BVOH @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "s7taqaFnDhBFXnJQ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.138" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "s7taqaFnDhBFXnJQ", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.138" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic BVOH @K2 Pro-all.json index 4d3492a70f..671072f839 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K2 Pro-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic BVOH @K2 Pro-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "WN4gUC7lL433UeUa", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "50" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "150" - ], - "filament_density": [ - "1.138" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K2 Pro-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "WN4gUC7lL433UeUa", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "50" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "150" + ], + "filament_density": [ + "1.138" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic BVOH @K2-all.json b/resources/profiles/Creality/filament/Generic BVOH @K2-all.json index 1f8bea7aef..bd5c265ca3 100644 --- a/resources/profiles/Creality/filament/Generic BVOH @K2-all.json +++ b/resources/profiles/Creality/filament/Generic BVOH @K2-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic BVOH @K2-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "appeb6xRpTFbyGsM", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "50" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "150" - ], - "filament_density": [ - "1.138" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "BVOH" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "filament_adhesiveness_category": "797", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFo2UF2C" -} \ No newline at end of file + "type": "filament", + "name": "Generic BVOH @K2-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "appeb6xRpTFbyGsM", + "filament_id": "OFo2UF2C", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "50" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "150" + ], + "filament_density": [ + "1.138" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "BVOH" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "filament_adhesiveness_category": "797", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic HIPS @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..57c2863c94 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic HIPS @Ender-3 V3 Plus-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "Generic HIPS @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "QYY4DkK23PeGRBFb", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "HIPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic HIPS @K1 Max_CFS-C-all.json index 9549195611..68517664f2 100644 --- a/resources/profiles/Creality/filament/Generic HIPS @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic HIPS @K1 Max_CFS-C-all.json @@ -1,173 +1,171 @@ { - "type": "filament", - "name": "Generic HIPS @K1 Max_CFS-C-all", - "inherits": "fdm_filament_hips", - "from": "system", - "setting_id": "un4bn2cxbFdGO3DR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.05" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "HIPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFsFon5l" -} \ No newline at end of file + "type": "filament", + "name": "Generic HIPS @K1 Max_CFS-C-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "un4bn2cxbFdGO3DR", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.05" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "HIPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @K1C-all.json b/resources/profiles/Creality/filament/Generic HIPS @K1C-all.json index 5016c1e5a5..1b5d0ceaaf 100644 --- a/resources/profiles/Creality/filament/Generic HIPS @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic HIPS @K1C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic HIPS @K1C-all", - "inherits": "fdm_filament_hips", - "from": "system", - "setting_id": "e1wQQnbsFK0eOT76", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.05" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "HIPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFsFon5l" -} \ No newline at end of file + "type": "filament", + "name": "Generic HIPS @K1C-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "e1wQQnbsFK0eOT76", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.05" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "HIPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic HIPS @K1C_CFS-C-all.json index 33950552d8..21f3ff5869 100644 --- a/resources/profiles/Creality/filament/Generic HIPS @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic HIPS @K1C_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic HIPS @K1C_CFS-C-all", - "inherits": "fdm_filament_hips", - "from": "system", - "setting_id": "5ZZon4W5GRf2ilKk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.05" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "HIPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFsFon5l" -} \ No newline at end of file + "type": "filament", + "name": "Generic HIPS @K1C_CFS-C-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "5ZZon4W5GRf2ilKk", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.05" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "HIPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic HIPS @K1_CFS-C-all.json index 7b1ab3190b..20dac07db8 100644 --- a/resources/profiles/Creality/filament/Generic HIPS @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic HIPS @K1_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic HIPS @K1_CFS-C-all", - "inherits": "fdm_filament_hips", - "from": "system", - "setting_id": "81vAelQ8KbUPkNAL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.05" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "HIPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFsFon5l" -} \ No newline at end of file + "type": "filament", + "name": "Generic HIPS @K1_CFS-C-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "81vAelQ8KbUPkNAL", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.05" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "HIPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic HIPS @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic HIPS @K2 Plus-all.json index 255e9e8b6e..e24516c121 100644 --- a/resources/profiles/Creality/filament/Generic HIPS @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic HIPS @K2 Plus-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic HIPS @K2 Plus-all", - "inherits": "fdm_filament_hips", - "from": "system", - "setting_id": "eaR3AeSZnfqfAKaX", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.05" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "HIPS" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFsFon5l" -} \ No newline at end of file + "type": "filament", + "name": "Generic HIPS @K2 Plus-all", + "inherits": "fdm_filament_hips", + "from": "system", + "setting_id": "eaR3AeSZnfqfAKaX", + "filament_id": "OFsFon5l", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.05" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "HIPS" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic PA @Creality Ender-5Max-all.json index 500722f1e9..ce836188d0 100644 --- a/resources/profiles/Creality/filament/Generic PA @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic PA @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PA @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic PA @Ender-5Max-all;Creality Generic PA Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "ChQOX6JlKujFwFcB", "filament_id": "OFg8ndtj", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "0.9", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "PA" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic PA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..ac553bbf3f --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PA @Ender-3 V3 Plus-all.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Generic PA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Y3Z9Q68NlMOpad6E", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA @K1 Max_CFS-C-all.json index 12c3698ca6..2485bd9622 100644 --- a/resources/profiles/Creality/filament/Generic PA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K1 Max_CFS-C-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Generic PA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "kJAlbLyNyUBh772X", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "kJAlbLyNyUBh772X", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K1C-all.json b/resources/profiles/Creality/filament/Generic PA @K1C-all.json index 310dfb7abd..95bc3ec40d 100644 --- a/resources/profiles/Creality/filament/Generic PA @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K1C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PA @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "Y68qR47SYWUENSKm", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Y68qR47SYWUENSKm", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA @K1C_CFS-C-all.json index 0d134ae474..c398f7f3ac 100644 --- a/resources/profiles/Creality/filament/Generic PA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K1C_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PA @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "VtABl7yMx0yDOnz0", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "VtABl7yMx0yDOnz0", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA @K1_CFS-C-all.json index 1396769307..58121767fa 100644 --- a/resources/profiles/Creality/filament/Generic PA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K1_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PA @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "ivl9C3evnuPMgB0F", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "ivl9C3evnuPMgB0F", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA @K2 Plus-all.json index 950b84e7f0..61984bcc11 100644 --- a/resources/profiles/Creality/filament/Generic PA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K2 Plus-all.json @@ -1,183 +1,181 @@ { - "type": "filament", - "name": "Generic PA @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "E5tvF6Xpv7jZzLgm", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "E5tvF6Xpv7jZzLgm", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PA @K2 Pro-all.json index c8ddd05024..7eb34e526c 100644 --- a/resources/profiles/Creality/filament/Generic PA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K2 Pro-all.json @@ -1,196 +1,194 @@ { - "type": "filament", - "name": "Generic PA @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "0139pzgdlOAScB7g", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.058", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "0139pzgdlOAScB7g", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.058", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA @K2-all.json b/resources/profiles/Creality/filament/Generic PA @K2-all.json index b98aac22a0..8993af315d 100644 --- a/resources/profiles/Creality/filament/Generic PA @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PA @K2-all.json @@ -1,196 +1,194 @@ { - "type": "filament", - "name": "Generic PA @K2-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "gxCrQfCHpKO4p5IT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.12" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.058", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFg8ndtj" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA @K2-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "gxCrQfCHpKO4p5IT", + "filament_id": "OFg8ndtj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.12" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.058", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic PA-CF @Creality Ender-3V3-all.json index a73077a6e9..152c8100d6 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @Creality Ender-3V3-all.json @@ -8,8 +8,6 @@ "instantiation": "true", "compatible_printers": [ "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 0.6 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic PA-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PA-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..2e02d3b231 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PA-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Generic PA-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "q3qyg6fzkk9JIB1o", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA-CF @K1 Max_CFS-C-all.json index c047fb7774..7ec3b0c3e8 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @K1 Max_CFS-C-all.json @@ -1,152 +1,150 @@ { - "type": "filament", - "name": "Generic PA-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "jEl76gFz2QQyvW6A", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "45" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQLcbps" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "jEl76gFz2QQyvW6A", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PA-CF @K1C-all.json index 360ecbf35b..c4eeb50de9 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @K1C-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PA-CF @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "eGoj7kJxL2NfqY5o", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "45" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFQLcbps" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA-CF @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "eGoj7kJxL2NfqY5o", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA-CF @K1C_CFS-C-all.json index 022474e6f1..ac5d2c00c8 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @K1C_CFS-C-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PA-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "zbiMNXMvHACEqLfK", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "45" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQLcbps" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "zbiMNXMvHACEqLfK", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA-CF @K1_CFS-C-all.json index 40586091b0..8e3ed28c4d 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @K1_CFS-C-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PA-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "DB1549abK4ZDVWG2", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "5" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "45" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "2" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "40" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.01", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQLcbps" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "DB1549abK4ZDVWG2", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.01", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA-CF @K2 Plus-all.json index 0b0042c6c8..f8a9f12be6 100644 --- a/resources/profiles/Creality/filament/Generic PA-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA-CF @K2 Plus-all.json @@ -1,182 +1,180 @@ { - "type": "filament", - "name": "Generic PA-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "aBR3ODfDoxJOLx8k", - "instantiation": "true", - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "45" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "2" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "280" - ], - "nozzle_temperature_initial_layer": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFQLcbps" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "aBR3ODfDoxJOLx8k", + "filament_id": "OFQLcbps", + "instantiation": "true", + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "45" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA12-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA12-CF @K2 Plus-all.json index fb65088525..309c16cda1 100644 --- a/resources/profiles/Creality/filament/Generic PA12-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA12-CF @K2 Plus-all.json @@ -1,182 +1,180 @@ { - "type": "filament", - "name": "Generic PA12-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "rZP36BUTvc68sHWI", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "120" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFM4iJlv" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA12-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "rZP36BUTvc68sHWI", + "filament_id": "OFM4iJlv", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "120" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..77ea80c859 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PA6-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,185 @@ +{ + "type": "filament", + "name": "Generic PA6-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "l5IAmECVqLP55XnR", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K1 Max_CFS-C-all.json index 04260f4d8e..23230df015 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K1 Max_CFS-C-all.json @@ -1,188 +1,186 @@ { - "type": "filament", - "name": "Generic PA6-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "QSCyT35VNEEMhvud", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "QSCyT35VNEEMhvud", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K1C-all.json index b141bc04ec..0189d06e7b 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K1C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PA6-CF @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "fhFfYR7jZE4EbV0j", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "fhFfYR7jZE4EbV0j", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K1C_CFS-C-all.json index 6dd6902397..905c209072 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K1C_CFS-C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PA6-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "Go0O3gXzk3QyyBGk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Go0O3gXzk3QyyBGk", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K1_CFS-C-all.json index 9c70b899f0..f0fc90ad44 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K1_CFS-C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PA6-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "dOmhoYus5mupLjle", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "dOmhoYus5mupLjle", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K2 Plus-all.json index 75cd58773a..dbfa45091c 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K2 Plus-all.json @@ -1,191 +1,189 @@ { - "type": "filament", - "name": "Generic PA6-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "3UftFI9726wU6cBK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "3UftFI9726wU6cBK", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PA6-CF @K2 Pro-all.json index 6388151090..91f79c1377 100644 --- a/resources/profiles/Creality/filament/Generic PA6-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-CF @K2 Pro-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Generic PA6-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "p6hDaLrNJvnvejQv", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "50" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA6-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFhTPf6L" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "p6hDaLrNJvnvejQv", + "filament_id": "OFhTPf6L", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "50" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA6-GF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA6-GF @K2 Plus-all.json index 5919945b58..927a1c8016 100644 --- a/resources/profiles/Creality/filament/Generic PA6-GF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA6-GF @K2 Plus-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PA6-GF @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "Snwr9UFekvFcj8lx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "42" - ], - "filament_density": [ - "1.2" - ], - "filament_flow_ratio": [ - "0.88" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retraction_length": [ - "0.5" - ], - "filament_type": [ - "PA-GF" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "290" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "60" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "2" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFh9u9c0" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA6-GF @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "Snwr9UFekvFcj8lx", + "filament_id": "OFh9u9c0", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "42" + ], + "filament_density": [ + "1.2" + ], + "filament_flow_ratio": [ + "0.88" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_type": [ + "PA-GF" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "60" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA612-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PA612-CF @K2 Plus-all.json index d1decb74cc..f4e776ceae 100644 --- a/resources/profiles/Creality/filament/Generic PA612-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PA612-CF @K2 Plus-all.json @@ -1,182 +1,180 @@ { - "type": "filament", - "name": "Generic PA612-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "Od0K6cY5fZtDAOOF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.17" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF8eaY7j" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA612-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Od0K6cY5fZtDAOOF", + "filament_id": "OF8eaY7j", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.17" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PA612-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PA612-CF @K2 Pro-all.json index 5ccb21724d..972a0ccd17 100644 --- a/resources/profiles/Creality/filament/Generic PA612-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PA612-CF @K2 Pro-all.json @@ -1,184 +1,182 @@ { - "type": "filament", - "name": "Generic PA612-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "YZr7lxLJZjL71WzO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.17" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF8eaY7j" -} \ No newline at end of file + "type": "filament", + "name": "Generic PA612-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "YZr7lxLJZjL71WzO", + "filament_id": "OF8eaY7j", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.17" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..e4d9c0de32 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,194 @@ +{ + "type": "filament", + "name": "Generic PAHT-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "JmS6q1BN7ccHIeva", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K1 Max_CFS-C-all.json index 3e007d79c6..d8b314ffdb 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K1 Max_CFS-C-all.json @@ -1,197 +1,195 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "Q6f7jvJqw2gyNBFZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Q6f7jvJqw2gyNBFZ", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K1C-all.json index dcc9738515..559df69e3a 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K1C-all.json @@ -1,198 +1,196 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "Rt7TNUSJlBGzxbcN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "Rt7TNUSJlBGzxbcN", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K1C_CFS-C-all.json index 2f5ae88e9d..7d1ea509cb 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K1C_CFS-C-all.json @@ -1,198 +1,196 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "CbUS1kiIgsHTZa28", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "CbUS1kiIgsHTZa28", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K1_CFS-C-all.json index e7ffe11efa..c42e41adf4 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K1_CFS-C-all.json @@ -1,198 +1,196 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "71tO55hudcpbpReV", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "71tO55hudcpbpReV", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Plus-all.json index 8d4157e8cd..05d9ace84a 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Plus-all.json @@ -1,197 +1,195 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "p3nXM3BSnsmS2XHO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "p3nXM3BSnsmS2XHO", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Pro-all.json index a013abb416..d752fdf84d 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K2 Pro-all.json @@ -1,184 +1,182 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "gwXDISorxlzhqE2L", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "gwXDISorxlzhqE2L", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PAHT-CF @K2-all.json b/resources/profiles/Creality/filament/Generic PAHT-CF @K2-all.json index e8032a6b4c..4756391f64 100644 --- a/resources/profiles/Creality/filament/Generic PAHT-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PAHT-CF @K2-all.json @@ -1,184 +1,182 @@ { - "type": "filament", - "name": "Generic PAHT-CF @K2-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "OK8a49qQ1ooSpYKe", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFH7b12v" -} \ No newline at end of file + "type": "filament", + "name": "Generic PAHT-CF @K2-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "OK8a49qQ1ooSpYKe", + "filament_id": "OFH7b12v", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PC @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..61d482cb50 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PC @Ender-3 V3 Plus-all.json @@ -0,0 +1,140 @@ +{ + "type": "filament", + "name": "Generic PC @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "cIIy4Tb4NffN6Hvs", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PC @K1 Max_CFS-C-all.json index 67c0d17aa6..65f146c1f4 100644 --- a/resources/profiles/Creality/filament/Generic PC @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K1 Max_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PC @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "Dh2hSCE4xEmmv601", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "Dh2hSCE4xEmmv601", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K1C-all.json b/resources/profiles/Creality/filament/Generic PC @K1C-all.json index 30bb957e88..fc13d05730 100644 --- a/resources/profiles/Creality/filament/Generic PC @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K1C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PC @K1C-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "KWaWn7qw5WFhxP6u", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K1C-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "KWaWn7qw5WFhxP6u", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PC @K1C_CFS-C-all.json index 450b46b2af..19b0ebd6e6 100644 --- a/resources/profiles/Creality/filament/Generic PC @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K1C_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PC @K1C_CFS-C-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "YXZbtzq7xTHm1L1k", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K1C_CFS-C-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "YXZbtzq7xTHm1L1k", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PC @K1_CFS-C-all.json index 353610592a..9788c706b6 100644 --- a/resources/profiles/Creality/filament/Generic PC @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K1_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PC @K1_CFS-C-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "ZzPtJF9WrqfZa29N", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K1_CFS-C-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "ZzPtJF9WrqfZa29N", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PC @K2 Plus-all.json index e4a1d358f7..5a489077b9 100644 --- a/resources/profiles/Creality/filament/Generic PC @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K2 Plus-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PC @K2 Plus-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "3knMGS1s49r6Z9eL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "cool_plate_temp_initial_layer": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K2 Plus-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "3knMGS1s49r6Z9eL", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PC @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PC @K2 Pro-all.json index 99c3232a10..d2e6e6bc9c 100644 --- a/resources/profiles/Creality/filament/Generic PC @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PC @K2 Pro-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Generic PC @K2 Pro-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "CSAIxm75n407CqTG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "1.18" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFLakOUI" -} \ No newline at end of file + "type": "filament", + "name": "Generic PC @K2 Pro-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "CSAIxm75n407CqTG", + "filament_id": "OFLakOUI", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "1.18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PCTG @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PCTG @K2 Plus-all.json index c84c58a220..c83a904526 100644 --- a/resources/profiles/Creality/filament/Generic PCTG @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PCTG @K2 Plus-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic PCTG @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "zmSP0G2uQvugDqZs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PCTG" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.13", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFu1evlr" -} \ No newline at end of file + "type": "filament", + "name": "Generic PCTG @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "zmSP0G2uQvugDqZs", + "filament_id": "OFu1evlr", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PCTG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.13", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PET @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..3d8b5038e4 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PET @Ender-3 V3 Plus-all.json @@ -0,0 +1,185 @@ +{ + "type": "filament", + "name": "Generic PET @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "vR7Nq6HGtQLIDsE9", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET @K1 Max_CFS-C-all.json index 047bacd756..e50ac427e6 100644 --- a/resources/profiles/Creality/filament/Generic PET @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K1 Max_CFS-C-all.json @@ -1,188 +1,186 @@ { - "type": "filament", - "name": "Generic PET @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "rbuxBWsJ43mXgEIi", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "rbuxBWsJ43mXgEIi", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K1C-all.json b/resources/profiles/Creality/filament/Generic PET @K1C-all.json index ae435635dd..c07ef2c0d9 100644 --- a/resources/profiles/Creality/filament/Generic PET @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K1C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PET @K1C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "yblsYcRQlWMPyE2X", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K1C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "yblsYcRQlWMPyE2X", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET @K1C_CFS-C-all.json index 93e9cd11f0..cb81e6743c 100644 --- a/resources/profiles/Creality/filament/Generic PET @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K1C_CFS-C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PET @K1C_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "Yhi1n5iQJpQPQQAp", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K1C_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "Yhi1n5iQJpQPQQAp", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET @K1_CFS-C-all.json index 4e860053d9..0dca9e321e 100644 --- a/resources/profiles/Creality/filament/Generic PET @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K1_CFS-C-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "Generic PET @K1_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "HrEHGzilsq8F3ne7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K1_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "HrEHGzilsq8F3ne7", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PET @K2 Plus-all.json index cf56f3c9af..6ea61d280b 100644 --- a/resources/profiles/Creality/filament/Generic PET @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K2 Plus-all.json @@ -1,192 +1,190 @@ { - "type": "filament", - "name": "Generic PET @K2 Plus-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "OFMSlAPXoITrhmPG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "95" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K2 Plus-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "OFMSlAPXoITrhmPG", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PET @K2 Pro-all.json index 4da77efe33..8d19366d15 100644 --- a/resources/profiles/Creality/filament/Generic PET @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K2 Pro-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Generic PET @K2 Pro-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "fIxga8QpAboN7reJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "95" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.13", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K2 Pro-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "fIxga8QpAboN7reJ", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.13", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET @K2-all.json b/resources/profiles/Creality/filament/Generic PET @K2-all.json index ef761807b0..13dbc77901 100644 --- a/resources/profiles/Creality/filament/Generic PET @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PET @K2-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Generic PET @K2-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "K7DNfNNpWlGriQip", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "95" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF6MOPWx" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET @K2-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "K7DNfNNpWlGriQip", + "filament_id": "OF6MOPWx", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PET-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..2992d76fdc --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PET-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "Generic PET-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "HGWoOaoIlZLDY3wV", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K1 Max_CFS-C-all.json index 4c9fadfbc6..55792e2c7d 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K1 Max_CFS-C-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "Generic PET-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "iAykK8PMYs9LdxrP", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "iAykK8PMYs9LdxrP", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K1C-all.json index e98f8773a6..e8a239cf78 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K1C-all.json @@ -1,177 +1,175 @@ { - "type": "filament", - "name": "Generic PET-CF @K1C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "WhGF57kMBW9hM9zv", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K1C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "WhGF57kMBW9hM9zv", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K1C_CFS-C-all.json index 36c9dc92a6..87742e819e 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K1C_CFS-C-all.json @@ -1,177 +1,175 @@ { - "type": "filament", - "name": "Generic PET-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "IiR1UEHx5RrOeAWM", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "IiR1UEHx5RrOeAWM", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K1_CFS-C-all.json index c1955e0667..db7b7602d8 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K1_CFS-C-all.json @@ -1,177 +1,175 @@ { - "type": "filament", - "name": "Generic PET-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "2a9xvwlw1X0qsA26", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "2a9xvwlw1X0qsA26", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K2 Plus-all.json index 44eb974cdf..d35cb1556c 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K2 Plus-all.json @@ -1,195 +1,193 @@ { - "type": "filament", - "name": "Generic PET-CF @K2 Plus-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "srmb3jsHHpFDnfsp", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.034", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K2 Plus-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "srmb3jsHHpFDnfsp", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.034", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PET-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PET-CF @K2 Pro-all.json index ddfb603d30..30a47753d0 100644 --- a/resources/profiles/Creality/filament/Generic PET-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PET-CF @K2 Pro-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Generic PET-CF @K2 Pro-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "5tjKAfZmtCNClyrd", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "290" - ], - "nozzle_temperature_initial_layer": [ - "290" - ], - "nozzle_temperature_range_high": [ - "300" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "40", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFQdaVZS" -} \ No newline at end of file + "type": "filament", + "name": "Generic PET-CF @K2 Pro-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "5tjKAfZmtCNClyrd", + "filament_id": "OFQdaVZS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "40", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @CR-10 Smart-all.json b/resources/profiles/Creality/filament/Generic PETG @CR-10 Smart-all.json new file mode 100644 index 0000000000..7f1e2941ae --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @CR-10 Smart-all.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "Generic PETG @CR-10 Smart-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "VPJdTsJ7pz202BYK", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @CR-10S Pro V2-all.json b/resources/profiles/Creality/filament/Generic PETG @CR-10S Pro V2-all.json new file mode 100644 index 0000000000..1ebe014e7c --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @CR-10S Pro V2-all.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "Generic PETG @CR-10S Pro V2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "qUF9PNCTfAqc0tN7", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @CR-20 Pro-all.json b/resources/profiles/Creality/filament/Generic PETG @CR-20 Pro-all.json new file mode 100644 index 0000000000..966d433329 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @CR-20 Pro-all.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Generic PETG @CR-20 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "C2dcZhzBCUXyQUWg", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @CR-6 SE-all.json b/resources/profiles/Creality/filament/Generic PETG @CR-6 SE-all.json new file mode 100644 index 0000000000..c460965ed1 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @CR-6 SE-all.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Generic PETG @CR-6 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "GqakIC4b2rKk8Z1q", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-6 SE 0.2 nozzle", + "Creality CR-6 SE 0.4 nozzle", + "Creality CR-6 SE 0.6 nozzle", + "Creality CR-6 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @CR-M4-all.json b/resources/profiles/Creality/filament/Generic PETG @CR-M4-all.json new file mode 100644 index 0000000000..37c0fa4705 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @CR-M4-all.json @@ -0,0 +1,134 @@ +{ + "type": "filament", + "name": "Generic PETG @CR-M4-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "B7gHYu1pv886koYQ", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic PETG @Creality Ender-3V3-all.json index 9d2c3a5529..5cabe6f64d 100644 --- a/resources/profiles/Creality/filament/Generic PETG @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @Creality Ender-3V3-all.json @@ -43,14 +43,6 @@ "250" ], "compatible_printers": [ - "Creality Ender-3 V3 SE 0.2 nozzle", - "Creality Ender-3 V3 SE 0.4 nozzle", - "Creality Ender-3 V3 SE 0.6 nozzle", - "Creality Ender-3 V3 SE 0.8 nozzle", - "Creality Ender-3 V3 KE 0.4 nozzle", - "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 KE 0.4 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic PETG @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic PETG @Creality Ender-5Max-all.json index df6509395f..e9a463bd1a 100644 --- a/resources/profiles/Creality/filament/Generic PETG @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic PETG @Ender-5Max-all;Creality Generic PETG Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "TFS4Fi1PuE7WgnPr", "filament_id": "OFYPdQJh", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "0.85", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic PETG @Creality.json b/resources/profiles/Creality/filament/Generic PETG @Creality.json index 7bd45cd910..d6b81cb3fd 100644 --- a/resources/profiles/Creality/filament/Generic PETG @Creality.json +++ b/resources/profiles/Creality/filament/Generic PETG @Creality.json @@ -48,10 +48,6 @@ "Creality CR-10 V3 0.4 nozzle", "Creality CR-10 V3 0.6 nozzle", "Creality CR-10 Max 0.4 nozzle", - "Creality CR-6 SE 0.2 nozzle", - "Creality CR-6 SE 0.4 nozzle", - "Creality CR-6 SE 0.6 nozzle", - "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.2 nozzle", "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", @@ -95,7 +91,6 @@ "Creality CR-10 SE 0.2 nozzle", "Creality CR-10 SE 0.4 nozzle", "Creality CR-10 SE 0.6 nozzle", - "Creality CR-10 SE 0.8 nozzle", - "Creality CR-M4 0.4 nozzle" + "Creality CR-10 SE 0.8 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max Neo-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max Neo-all.json new file mode 100644 index 0000000000..720ffce250 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max Neo-all.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 Max Neo-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "4jdpaGFkPz4pnTnp", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max-all.json new file mode 100644 index 0000000000..b14b26323d --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Max-all.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 Max-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "KUWLr5F0x6xiHwQd", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 Neo-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Neo-all.json new file mode 100644 index 0000000000..f690e5f19a --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 Neo-all.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 Neo-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "iSUhZ9e0myJZgziW", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..3881ec9e50 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 Plus-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "INALbe8Pxz0phRkj", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..3d71688507 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3 SE-all.json @@ -0,0 +1,148 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 V3 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "zFR4lJhuSVZp49fK", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Generic" + ], + "filament_z_hop": [ + "0.2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.2 nozzle", + "Creality Ender-3 V3 SE 0.4 nozzle", + "Creality Ender-3 V3 SE 0.6 nozzle", + "Creality Ender-3 V3 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3-all.json new file mode 100644 index 0000000000..a116b405cc --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V3-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "Generic PETG @Ender-3 V3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "SohXnNCwt1Lcb2CD", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V4-all.json index cbdc915a23..072a4e3f7e 100644 --- a/resources/profiles/Creality/filament/Generic PETG @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic PETG @Ender-3 V4-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "P9ZP95oPCCBeXhGC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "16" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,250]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @Ender-3 V4-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "P9ZP95oPCCBeXhGC", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,250]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic PETG @Ender-5 Max-all.json deleted file mode 100644 index 229ac91f2b..0000000000 --- a/resources/profiles/Creality/filament/Generic PETG @Ender-5 Max-all.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "Generic PETG @Ender-5 Max-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "yNgF407ERXuU7LHE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,230],[1.0,240]]", - "pressure_advance": "0.064", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic PETG @Hi-all.json b/resources/profiles/Creality/filament/Generic PETG @Hi-all.json index 32b171416b..a36395f952 100644 --- a/resources/profiles/Creality/filament/Generic PETG @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @Hi-all.json @@ -1,151 +1,149 @@ { - "type": "filament", - "name": "Generic PETG @Hi-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "1N9muT0ILCJ7pdQq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220],[1.1,220],[1.3,250]]", - "pressure_advance": "0.078", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @Hi-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "1N9muT0ILCJ7pdQq", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220],[1.1,220],[1.3,250]]", + "pressure_advance": "0.078", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG @K1 Max_CFS-C-all.json index 40fecf5d33..1666762dad 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1 Max_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Generic PETG @K1 Max_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "j2R2SrPu6U5fde21", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe": [ - "1" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1 Max_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "j2R2SrPu6U5fde21", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "1" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1 SE-all.json b/resources/profiles/Creality/filament/Generic PETG @K1 SE-all.json index e82036ef1c..c1d8612475 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1 SE-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PETG @K1 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "ktn07NL2acbf4FzZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,240]]", - "pressure_advance": "0.086", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ktn07NL2acbf4FzZ", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,240]]", + "pressure_advance": "0.086", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG @K1 SE_CFS-C-all.json index 649d2057b3..917188d870 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1 SE_CFS-C-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PETG @K1 SE_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "8isRtWlMhY6f6OTg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,240]]", - "pressure_advance": "0.086", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1 SE_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "8isRtWlMhY6f6OTg", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[6.0,240],[10.0,240]]", + "pressure_advance": "0.086", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1C-all.json b/resources/profiles/Creality/filament/Generic PETG @K1C-all.json index 5d05e2a977..2e368f0e59 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Generic PETG @K1C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "983sxUds4Bih3OCl", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe": [ - "1" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "983sxUds4Bih3OCl", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "1" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG @K1C_CFS-C-all.json index 7f7459382a..a614803613 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1C_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Generic PETG @K1C_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "rMTi8mSKdtnzsMbr", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe": [ - "1" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1C_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "rMTi8mSKdtnzsMbr", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "1" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG @K1_CFS-C-all.json index 568b5a1cf5..6c81dc803e 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K1_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Generic PETG @K1_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "9Ay01Nq2Dv2SfQVR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe": [ - "1" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K1_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "9Ay01Nq2Dv2SfQVR", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "1" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,235], [1.3,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PETG @K2 Plus-all.json index 6b10eac4c6..4704b0e89c 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K2 Plus-all.json @@ -1,142 +1,140 @@ { - "type": "filament", - "name": "Generic PETG @K2 Plus-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "z4vClzn8RViHNLgk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K2 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "z4vClzn8RViHNLgk", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PETG @K2 Pro-all.json index 5d007dfff3..d819485f07 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K2 Pro-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PETG @K2 Pro-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "huEA8Ry63opxcD4n", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_type": [ - "PETG" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220],[1.1,220],[1.3,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "huEA8Ry63opxcD4n", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_type": [ + "PETG" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,220],[1.1,220],[1.3,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K2 SE-all.json b/resources/profiles/Creality/filament/Generic PETG @K2 SE-all.json index 69af8255c5..1de0675bdb 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K2 SE-all.json @@ -1,152 +1,150 @@ { - "type": "filament", - "name": "Generic PETG @K2 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "awADayXExBihbXgS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K2 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "awADayXExBihbXgS", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @K2-all.json b/resources/profiles/Creality/filament/Generic PETG @K2-all.json index a8e2308613..3d1e74f03b 100644 --- a/resources/profiles/Creality/filament/Generic PETG @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @K2-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Generic PETG @K2-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "7iDx59I7g14YDF8w", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "35" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "95" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "16" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.0,220],[1.2,250]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @K2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "7iDx59I7g14YDF8w", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.0,220],[1.2,250]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic PETG @SPARKX i7-all.json index 301fc96ef9..4005f5c8b4 100644 --- a/resources/profiles/Creality/filament/Generic PETG @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic PETG @SPARKX i7-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic PETG @SPARKX i7-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "5jgqjcjpqHPzxm6H", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "14" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,240],[1.2,250]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OFYPdQJh" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG @SPARKX i7-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "5jgqjcjpqHPzxm6H", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,240],[1.2,250]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG @Sermoon M300-all.json b/resources/profiles/Creality/filament/Generic PETG @Sermoon M300-all.json new file mode 100644 index 0000000000..976073db00 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG @Sermoon M300-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Generic PETG @Sermoon M300-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "TT4mu2ksdRU4itY8", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "14" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[1.0,240],[1.2,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..82f717751f --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PETG-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Generic PETG-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Uv6FLT6UtYzjUfj6", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K1 Max_CFS-C-all.json index 5f03c5b211..38eea406a6 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K1 Max_CFS-C-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Generic PETG-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "4aNmHiMKdF9f0qdK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "4aNmHiMKdF9f0qdK", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K1C-all.json index 4044297ea9..43d2d6d056 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K1C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PETG-CF @K1C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "J9U6OONEnIpwmjf1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K1C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "J9U6OONEnIpwmjf1", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K1C_CFS-C-all.json index 5c22d3e902..055dc6c674 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K1C_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PETG-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "WaKz2m5F97gq2Lm2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "WaKz2m5F97gq2Lm2", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K1_CFS-C-all.json index 00f8180634..8c516d09b8 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K1_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PETG-CF @K1_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "37j0QrLekeU2z2q6", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K1_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "37j0QrLekeU2z2q6", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K2 Plus-all.json index 5ed6aa15ea..eb1bb1e4eb 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K2 Plus-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Generic PETG-CF @K2 Plus-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "OEzFehmwiMscMC7x", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K2 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "OEzFehmwiMscMC7x", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K2 Pro-all.json index a801d09c9b..6c85e2d3e4 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K2 Pro-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Generic PETG-CF @K2 Pro-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "XNo4wgLuyPeOqInw", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "XNo4wgLuyPeOqInw", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @K2-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @K2-all.json index a2b844f80f..72452d8af0 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @K2-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Generic PETG-CF @K2-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "LrzCY2ZsMGzQ9hZW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.26" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @K2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "LrzCY2ZsMGzQ9hZW", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.26" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-CF @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic PETG-CF @SPARKX i7-all.json index 954782024a..5dd48f17a3 100644 --- a/resources/profiles/Creality/filament/Generic PETG-CF @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-CF @SPARKX i7-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PETG-CF @SPARKX i7-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "0UI0C81wu0FTlutg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "90" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", - "pressure_advance": "0.024", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFoYSJKi" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-CF @SPARKX i7-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "0UI0C81wu0FTlutg", + "filament_id": "OFoYSJKi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", + "pressure_advance": "0.024", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-GF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PETG-GF @K2 Plus-all.json index 63dead723c..de7c1c7cbe 100644 --- a/resources/profiles/Creality/filament/Generic PETG-GF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-GF @K2 Plus-all.json @@ -1,152 +1,150 @@ { - "type": "filament", - "name": "Generic PETG-GF @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "Bn3MV8VSTFbpxsJK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "17" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "0.5" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG-GF" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFyLWVF3" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-GF @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "Bn3MV8VSTFbpxsJK", + "filament_id": "OFyLWVF3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "17" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG-GF" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-GF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PETG-GF @K2 Pro-all.json index 5405f7dbcd..fc176da918 100644 --- a/resources/profiles/Creality/filament/Generic PETG-GF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-GF @K2 Pro-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Generic PETG-GF @K2 Pro-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "Q5qYSWKf0YGbomey", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "17" - ], - "filament_density": [ - "1.28" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFyLWVF3" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-GF @K2 Pro-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "Q5qYSWKf0YGbomey", + "filament_id": "OFyLWVF3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "17" + ], + "filament_density": [ + "1.28" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PETG-GF @K2-all.json b/resources/profiles/Creality/filament/Generic PETG-GF @K2-all.json index 7d52685214..8a5ffa2ac2 100644 --- a/resources/profiles/Creality/filament/Generic PETG-GF @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PETG-GF @K2-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Generic PETG-GF @K2-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "mirtPgYBmAcUOLCg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "17" - ], - "filament_density": [ - "1.28" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "filament_vendor": [ - "Generic" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFyLWVF3" -} \ No newline at end of file + "type": "filament", + "name": "Generic PETG-GF @K2-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "mirtPgYBmAcUOLCg", + "filament_id": "OFyLWVF3", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "17" + ], + "filament_density": [ + "1.28" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "filament_vendor": [ + "Generic" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-10 SE-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-10 SE-all.json new file mode 100644 index 0000000000..0b12bc1128 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-10 SE-all.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-10 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "TY7zqKMIv5RYjFrd", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle", + "Creality CR-10 SE 0.4 nozzle", + "Creality CR-10 SE 0.6 nozzle", + "Creality CR-10 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-10 Smart-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-10 Smart-all.json new file mode 100644 index 0000000000..7282b20b3d --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-10 Smart-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-10 Smart-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "IXZ23pJ9zevMPL8A", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-10S Pro V2-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-10S Pro V2-all.json new file mode 100644 index 0000000000..ccbc098d84 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-10S Pro V2-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-10S Pro V2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "1TrAULamCk2jglbA", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-20 Pro-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-20 Pro-all.json new file mode 100644 index 0000000000..e5cb1f87fe --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-20 Pro-all.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-20 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "3NjQxuPrwE6NAXcD", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-6 SE-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-6 SE-all.json new file mode 100644 index 0000000000..40b30b2c19 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-6 SE-all.json @@ -0,0 +1,131 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-6 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9vR9LecaoM9OEni1", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-6 SE 0.2 nozzle", + "Creality CR-6 SE 0.4 nozzle", + "Creality CR-6 SE 0.6 nozzle", + "Creality CR-6 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @CR-M4-all.json b/resources/profiles/Creality/filament/Generic PLA @CR-M4-all.json new file mode 100644 index 0000000000..515172dd57 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @CR-M4-all.json @@ -0,0 +1,122 @@ +{ + "type": "filament", + "name": "Generic PLA @CR-M4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "fWGNSERAQ1y3IpVv", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic PLA @Creality Ender-3V3-all.json index 4bc29d5df2..3c2e7de2ed 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @Creality Ender-3V3-all.json @@ -41,10 +41,6 @@ "Creality Ender-3 V3 SE 0.4 nozzle", "Creality Ender-3 V3 SE 0.6 nozzle", "Creality Ender-3 V3 SE 0.8 nozzle", - "Creality Ender-3 V3 KE 0.4 nozzle", - "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 KE 0.4 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic PLA @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic PLA @Creality Ender-5Max-all.json index ff55c41e81..f4714b8acc 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic PLA @Ender-5Max-all;Creality Generic PLA Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "xGTd14Qwc0JbI6kg", "filament_id": "OFDSrzZ8", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "0.9", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic PLA @Creality Hi-all.json b/resources/profiles/Creality/filament/Generic PLA @Creality Hi-all.json index 452c7854ae..9bdc93548b 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Creality Hi-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @Creality Hi-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Creality Hi-all", - "inherits": "Generic PLA @Creality", "renamed_from": "Creality Generic PLA @Hi-all;Creality Generic PLA Hi-all", + "inherits": "Generic PLA @Creality", "from": "system", "setting_id": "6rwK4GqvNrgaw4kF", "instantiation": "true", @@ -45,9 +45,6 @@ "filament_cooling_moves": [ "4" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -57,9 +54,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Creality/filament/Generic PLA @Creality.json b/resources/profiles/Creality/filament/Generic PLA @Creality.json index f3d807d76b..248ff78dcb 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Creality.json +++ b/resources/profiles/Creality/filament/Generic PLA @Creality.json @@ -21,10 +21,6 @@ "Creality CR-10 V3 0.4 nozzle", "Creality CR-10 V3 0.6 nozzle", "Creality CR-10 Max 0.4 nozzle", - "Creality CR-6 SE 0.2 nozzle", - "Creality CR-6 SE 0.4 nozzle", - "Creality CR-6 SE 0.6 nozzle", - "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.2 nozzle", "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", @@ -65,10 +61,7 @@ "Creality K1 Max (0.4 nozzle)", "Creality K1 Max (0.6 nozzle)", "Creality K1 Max (0.8 nozzle)", - "Creality CR-10 SE 0.2 nozzle", - "Creality CR-10 SE 0.4 nozzle", - "Creality CR-10 SE 0.6 nozzle", - "Creality CR-10 SE 0.8 nozzle", - "Creality CR-M4 0.4 nozzle" + "Creality CR-10 Smart Pro 0.4 nozzle", + "Creality CR-M4 SE 0.4 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max Neo-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max Neo-all.json new file mode 100644 index 0000000000..178526b2ef --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max Neo-all.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Generic PLA @Ender-3 Max Neo-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "rvTqPsDsianWVwQr", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max-all.json new file mode 100644 index 0000000000..d49ae893de --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Max-all.json @@ -0,0 +1,128 @@ +{ + "type": "filament", + "name": "Generic PLA @Ender-3 Max-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "tuAInjcszFU6tv4J", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 Neo-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Neo-all.json new file mode 100644 index 0000000000..d920dd8243 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 Neo-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Generic PLA @Ender-3 Neo-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "d3BEThprk5ULUC4X", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..5f290642e5 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "Generic PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "7dpzvFQKfzuIlB51", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..26e427e999 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V3-all.json @@ -0,0 +1,168 @@ +{ + "type": "filament", + "name": "Generic PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "VtuRiOJnDZt6CYif", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "18" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V4-all.json index ce8231d11a..112c869ae8 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @Ender-3 V4-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PLA @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "prD5vMrpYGccWzdn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "prD5vMrpYGccWzdn", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic PLA @Ender-5 Max-all.json deleted file mode 100644 index 54783f5efc..0000000000 --- a/resources/profiles/Creality/filament/Generic PLA @Ender-5 Max-all.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "type": "filament", - "name": "Generic PLA @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ubfcxetXGj6agAoi", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "55", - "epoxy_resin_plate_temp_initial_layer": "55", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190],[1.0,210]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic PLA @Hi-all.json b/resources/profiles/Creality/filament/Generic PLA @Hi-all.json index 43bb0786ea..25ca83f1c6 100644 --- a/resources/profiles/Creality/filament/Generic PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @Hi-all.json @@ -1,142 +1,140 @@ { - "type": "filament", - "name": "Generic PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "eza77EPrdoTvZdw7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.8 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "eza77EPrdoTvZdw7", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA @K1 Max_CFS-C-all.json index 315347fc4f..291aca3b0d 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1 Max_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "Generic PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ARsPmEmVZlsfqy4L", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ARsPmEmVZlsfqy4L", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "45" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "45" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1 SE-all.json b/resources/profiles/Creality/filament/Generic PLA @K1 SE-all.json index 11bd5fd68a..4b4e3e0125 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1 SE-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "Generic PLA @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ZzKNiMtyn93fR8Hq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ZzKNiMtyn93fR8Hq", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA @K1 SE_CFS-C-all.json index 167ef73d00..60212b6a51 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1 SE_CFS-C-all.json @@ -1,141 +1,139 @@ { - "type": "filament", - "name": "Generic PLA @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "grHcTUEdjD6jxza1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,230]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "grHcTUEdjD6jxza1", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1C-all.json b/resources/profiles/Creality/filament/Generic PLA @K1C-all.json index 7cad23ed0e..d242a5b389 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "Generic PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "qSoHwF6RKEDk9oy0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "qSoHwF6RKEDk9oy0", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "45" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "45" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA @K1C_CFS-C-all.json index 50db3c5fb5..80affeffc9 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1C_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "Generic PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "5oIZY7x0t6ORAd5y", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "5oIZY7x0t6ORAd5y", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "45" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "45" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA @K1_CFS-C-all.json index ddbc57ab8d..ab014109f1 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K1_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "Generic PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "LVSGrfS4cac3vRgQ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "LVSGrfS4cac3vRgQ", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "45" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "45" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA @K2 Plus-all.json index 6514b99d50..530e929d3a 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zgZhX3yZ3m9HZ8AF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zgZhX3yZ3m9HZ8AF", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PLA @K2 Pro-all.json index 96eafd022b..a4d6fb7509 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K2 Pro-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "umMGfkURWkPH7wY2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "umMGfkURWkPH7wY2", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K2 SE-all.json b/resources/profiles/Creality/filament/Generic PLA @K2 SE-all.json index f8e0beaefe..a229efd77e 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K2 SE-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Generic PLA @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "03mMqzkFvH7rS8wz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "03mMqzkFvH7rS8wz", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @K2-all.json b/resources/profiles/Creality/filament/Generic PLA @K2-all.json index ee71e52517..ab794d1dec 100644 --- a/resources/profiles/Creality/filament/Generic PLA @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @K2-all.json @@ -1,162 +1,160 @@ { - "type": "filament", - "name": "Generic PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "WD6bTDOOwBE72RaU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190],[1.2,190],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "WD6bTDOOwBE72RaU", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190],[1.2,190],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic PLA @SPARKX i7-all.json index 07d9aa02e0..3a8af3548a 100644 --- a/resources/profiles/Creality/filament/Generic PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic PLA @SPARKX i7-all.json @@ -1,166 +1,167 @@ { - "type": "filament", - "name": "Generic PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "09RAKy1b3XyRqJlV", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.2,210],[0.6,220]]", - "pressure_advance": "0.12", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.2 nozzle", - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OFDSrzZ8" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "09RAKy1b3XyRqJlV", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.2,210],[0.6,220]]", + "pressure_advance": "0.032", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.2 nozzle", + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA @Sermoon M300-all.json b/resources/profiles/Creality/filament/Generic PLA @Sermoon M300-all.json new file mode 100644 index 0000000000..cc47765260 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA @Sermoon M300-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Generic PLA @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "RULhpYPSJj3TYuwI", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..721bcd8f9d --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "Generic PLA-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "mh1D3QxWorOTicEf", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "500", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3-all.json new file mode 100644 index 0000000000..5a88b68e50 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V3-all.json @@ -0,0 +1,163 @@ +{ + "type": "filament", + "name": "Generic PLA-CF @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "7rIqk0tZvIPnM4pG", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V4-all.json index 3fd2827231..92e04c7694 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-3 V4-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Generic PLA-CF @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "9EtBYoxLtP3BuplP", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", - "pressure_advance": "0.028", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9EtBYoxLtP3BuplP", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", + "pressure_advance": "0.028", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @Ender-5 Max-all.json deleted file mode 100644 index ed024bf161..0000000000 --- a/resources/profiles/Creality/filament/Generic PLA-CF @Ender-5 Max-all.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "type": "filament", - "name": "Generic PLA-CF @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "AHrCSGRui6sRCmQx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1 Max_CFS-C-all.json index 698bdc2927..1cddecd143 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1 Max_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "gMlu34zMrx0IX0GY", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gMlu34zMrx0IX0GY", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE-all.json index 57228d8b7f..74e0bd293d 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "kCiZBqAiO5Jc8RgA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "kCiZBqAiO5Jc8RgA", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE_CFS-C-all.json index 647819f8ea..0757355a82 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1 SE_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "dCS3zA3Z3QmsUMav", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "60" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dCS3zA3Z3QmsUMav", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1C-all.json index ae3aa14a7a..062866dce8 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "6p7VGPRhpUjCVmrs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "6p7VGPRhpUjCVmrs", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1C_CFS-C-all.json index 7c1b681b1e..0c4ef3d146 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1C_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "eL5STunwFpRYoNwx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "eL5STunwFpRYoNwx", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K1_CFS-C-all.json index ab73ebe1ba..088a22bf9c 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K1_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "RGCRo5t8SRI85Oyz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "RGCRo5t8SRI85Oyz", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K2 Plus-all.json index 381f25f899..f6adbdd926 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K2 Plus-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Generic PLA-CF @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "nZoZ1KL4YYwCdBYo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "nZoZ1KL4YYwCdBYo", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K2 Pro-all.json index f1ce0ce42d..c9a217569f 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K2 Pro-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "eXbFz3H9NBjDv3fy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "eXbFz3H9NBjDv3fy", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K2 SE-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K2 SE-all.json index 4dab8f0c8a..f0da0a4507 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K2 SE-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Generic PLA-CF @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "4PnBWB1vn3jXYDcV", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4PnBWB1vn3jXYDcV", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @K2-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @K2-all.json index 111ac7470a..e234a96124 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @K2-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic PLA-CF @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Vp7iPE7R08sUpbNM", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Vp7iPE7R08sUpbNM", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-CF @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic PLA-CF @SPARKX i7-all.json index 4184a05737..3f01d3a846 100644 --- a/resources/profiles/Creality/filament/Generic PLA-CF @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-CF @SPARKX i7-all.json @@ -1,183 +1,181 @@ { - "type": "filament", - "name": "Generic PLA-CF @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "KnXh5yN3mZ1zFs7t", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210][1.2,230]]", - "pressure_advance": "0.023", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFWbdGsC" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-CF @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "KnXh5yN3mZ1zFs7t", + "filament_id": "OFWbdGsC", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210][1.2,230]]", + "pressure_advance": "0.023", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @CR-10 SE-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @CR-10 SE-all.json new file mode 100644 index 0000000000..a664afe583 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @CR-10 SE-all.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Generic PLA-Silk @CR-10 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "k9sozpN7VGTLlGzN", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..f72dce681f --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3 Plus-all.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "Generic PLA-Silk @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "K7C0rlTax8rnt9Lk", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3-all.json new file mode 100644 index 0000000000..ecefaadc93 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V3-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Generic PLA-Silk @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "l78OyTnZnFN4sZSK", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,205],[5.0,215],[7.0,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V4-all.json index da5c1ba172..b1f9ee266f 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-3 V4-all.json @@ -1,147 +1,145 @@ { - "type": "filament", - "name": "Generic PLA-Silk @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "4oKiaxCpzOVuq7JT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "16" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.068", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4oKiaxCpzOVuq7JT", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "16" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.068", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-5 Max-all.json deleted file mode 100644 index 250c387982..0000000000 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @Ender-5 Max-all.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "type": "filament", - "name": "Generic PLA-Silk @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zIrKl9P6Aer6sbiS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "55", - "epoxy_resin_plate_temp_initial_layer": "55", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190],[1.0,220]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Hi-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Hi-all.json index a3dfac28d1..c793b2490e 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @Hi-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PLA-Silk @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "yiXBAJwZHe0yW8MN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", - "pressure_advance": "0.026", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "yiXBAJwZHe0yW8MN", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", + "pressure_advance": "0.026", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 Max_CFS-C-all.json index c7ce2639ae..e0a29c56c5 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 Max_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "a8WrKJxnm4xNe1HK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "a8WrKJxnm4xNe1HK", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE-all.json index 418248ed71..4f67885551 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "inmumMkeEas0Maw3", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "inmumMkeEas0Maw3", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE_CFS-C-all.json index 1ba33bf6dc..8f6c7fdadc 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1 SE_CFS-C-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "WaWMHS0yaaoiG98Q", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "WaWMHS0yaaoiG98Q", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "80" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[12.0,210],[18.0,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1C-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1C-all.json index f37ef16d31..9d1700be22 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1C-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GpGBUE0LBkVKGtO1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GpGBUE0LBkVKGtO1", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1C_CFS-C-all.json index 1b4298f035..2b2d9151a3 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1C_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "cZIEiMZQbIcvP57r", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "cZIEiMZQbIcvP57r", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K1_CFS-C-all.json index f81638a23f..2fe542ff60 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K1_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "jJ8kRNXq2iz98qTh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "jJ8kRNXq2iz98qTh", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,205], [1.1,205], [1.4,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Plus-all.json index 50f7dac4eb..406d0e71d7 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "8DTZKlZEArr9Exd7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8DTZKlZEArr9Exd7", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Pro-all.json index 2c18b858e8..3c7d1e7373 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 Pro-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "hzbRwh2RichDUBMU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "hzbRwh2RichDUBMU", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.4,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 SE-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 SE-all.json index 8b7030ff73..bbd1c2802e 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K2 SE-all.json @@ -1,137 +1,135 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GdPDY6XouAmn2Sw4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GdPDY6XouAmn2Sw4", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @K2-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @K2-all.json index 5826a18ba9..3806eba238 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @K2-all.json @@ -1,162 +1,160 @@ { - "type": "filament", - "name": "Generic PLA-Silk @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "VhDF33Mt4h0SUIZH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "95" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "VhDF33Mt4h0SUIZH", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "95" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @SPARKX i7-all.json index e67d570ad4..730f709814 100644 --- a/resources/profiles/Creality/filament/Generic PLA-Silk @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @SPARKX i7-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Generic PLA-Silk @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "veZcyFoa3uiS0oel", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.3,215],[1.6,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFi6PfUM" -} \ No newline at end of file + "type": "filament", + "name": "Generic PLA-Silk @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "veZcyFoa3uiS0oel", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.3,215],[1.6,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PLA-Silk @Sermoon M300-all.json b/resources/profiles/Creality/filament/Generic PLA-Silk @Sermoon M300-all.json new file mode 100644 index 0000000000..38b7921057 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PLA-Silk @Sermoon M300-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Generic PLA-Silk @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "H6MlBQfgGbhqCQuD", + "filament_id": "OFi6PfUM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,195],[1.0,195],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PP @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..5dbcbfa816 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PP @Ender-3 V3 Plus-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Generic PP @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "KQyiw6fEMfPcCZRP", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PP" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PP @K1 Max_CFS-C-all.json index 7aec44400e..91c5497f52 100644 --- a/resources/profiles/Creality/filament/Generic PP @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K1 Max_CFS-C-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Generic PP @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "SpL486LVpIbISfQj", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PP" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "SpL486LVpIbISfQj", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PP" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K1C-all.json b/resources/profiles/Creality/filament/Generic PP @K1C-all.json index ad01f49d51..a417e0d801 100644 --- a/resources/profiles/Creality/filament/Generic PP @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K1C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic PP @K1C-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "iY30mqnBJOeybNin", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PP" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K1C-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "iY30mqnBJOeybNin", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PP" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PP @K1C_CFS-C-all.json index fb56912bf1..e4d01f17b1 100644 --- a/resources/profiles/Creality/filament/Generic PP @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K1C_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic PP @K1C_CFS-C-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "27bAcMgt0jDcUvLF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PP" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K1C_CFS-C-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "27bAcMgt0jDcUvLF", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PP" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PP @K1_CFS-C-all.json index 88acdf3d32..bc2e1342f4 100644 --- a/resources/profiles/Creality/filament/Generic PP @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K1_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic PP @K1_CFS-C-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "8c9klBh6C7O76Lgc", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "30" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PP" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K1_CFS-C-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "8c9klBh6C7O76Lgc", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PP" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PP @K2 Plus-all.json index e34d70a902..9c04230e2a 100644 --- a/resources/profiles/Creality/filament/Generic PP @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K2 Plus-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PP @K2 Plus-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "sevgawCx7xvOFLXm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PP" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K2 Plus-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "sevgawCx7xvOFLXm", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PP" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PP @K2 Pro-all.json index e3167109d8..df4168d24e 100644 --- a/resources/profiles/Creality/filament/Generic PP @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K2 Pro-all.json @@ -1,142 +1,140 @@ { - "type": "filament", - "name": "Generic PP @K2 Pro-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "bAxYHHsv8COKiIFG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PP" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "255" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "45", - "customized_plate_temp_initial_layer": "45", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "35", - "epoxy_resin_plate_temp_initial_layer": "35", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K2 Pro-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "bAxYHHsv8COKiIFG", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PP" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "45", + "customized_plate_temp_initial_layer": "45", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "35", + "epoxy_resin_plate_temp_initial_layer": "35", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP @K2-all.json b/resources/profiles/Creality/filament/Generic PP @K2-all.json index 8f0075422c..5b033c2bb7 100644 --- a/resources/profiles/Creality/filament/Generic PP @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PP @K2-all.json @@ -1,142 +1,140 @@ { - "type": "filament", - "name": "Generic PP @K2-all", - "inherits": "fdm_filament_pp", - "from": "system", - "setting_id": "dMhTxpF3ipepME4p", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "40" - ], - "filament_density": [ - "0.91" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PP" - ], - "hot_plate_temp": [ - "45" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "255" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "45" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "45", - "customized_plate_temp_initial_layer": "45", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "35", - "epoxy_resin_plate_temp_initial_layer": "35", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.08", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF1UNk9P" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP @K2-all", + "inherits": "fdm_filament_pp", + "from": "system", + "setting_id": "dMhTxpF3ipepME4p", + "filament_id": "OF1UNk9P", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "0.91" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PP" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "45", + "customized_plate_temp_initial_layer": "45", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "35", + "epoxy_resin_plate_temp_initial_layer": "35", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.08", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PP-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PP-CF @K2 Plus-all.json index e557ac36e4..53df078b03 100644 --- a/resources/profiles/Creality/filament/Generic PP-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PP-CF @K2 Plus-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic PP-CF @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "lHJWTFXiSKzWrX1A", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "23" - ], - "filament_density": [ - "1.01" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PP-CF" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFXkm8q1" -} \ No newline at end of file + "type": "filament", + "name": "Generic PP-CF @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "lHJWTFXiSKzWrX1A", + "filament_id": "OFXkm8q1", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "23" + ], + "filament_density": [ + "1.01" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PP-CF" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PPS @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..3179ad835b --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PPS @Ender-3 V3 Plus-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "Generic PPS @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "YLZ2isKVMT0wfnJL", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "320" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS @K1 Max_CFS-C-all.json index 01f7c52bc9..68a2c3a2d9 100644 --- a/resources/profiles/Creality/filament/Generic PPS @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS @K1 Max_CFS-C-all.json @@ -1,173 +1,171 @@ { - "type": "filament", - "name": "Generic PPS @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "OCjDOWQ5tgZgZB0R", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.38" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "320" - ], - "nozzle_temperature_initial_layer": [ - "320" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "320" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFq9svOz" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "OCjDOWQ5tgZgZB0R", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.38" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "320" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @K1C-all.json b/resources/profiles/Creality/filament/Generic PPS @K1C-all.json index 39a3449351..e29921dab2 100644 --- a/resources/profiles/Creality/filament/Generic PPS @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS @K1C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS @K1C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "9HAL1MdIgM7fyklo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.38" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "320" - ], - "nozzle_temperature_initial_layer": [ - "320" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "320" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFq9svOz" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS @K1C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "9HAL1MdIgM7fyklo", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.38" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "320" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS @K1C_CFS-C-all.json index af12995572..440948c387 100644 --- a/resources/profiles/Creality/filament/Generic PPS @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS @K1C_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS @K1C_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "DVtMTnkEsr8o5Vzh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.38" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "320" - ], - "nozzle_temperature_initial_layer": [ - "320" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "320" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFq9svOz" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS @K1C_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "DVtMTnkEsr8o5Vzh", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.38" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "320" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS @K1_CFS-C-all.json index dd22fcf107..6b2cd34fc7 100644 --- a/resources/profiles/Creality/filament/Generic PPS @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS @K1_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS @K1_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "2HTODPgc4aIZ3XG8", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.38" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "320" - ], - "nozzle_temperature_initial_layer": [ - "320" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "320" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFq9svOz" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS @K1_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "2HTODPgc4aIZ3XG8", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.38" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "320" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PPS @K2 Plus-all.json index deff12cad5..a48497fb88 100644 --- a/resources/profiles/Creality/filament/Generic PPS @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PPS @K2 Plus-all.json @@ -1,151 +1,149 @@ { - "type": "filament", - "name": "Generic PPS @K2 Plus-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "nGEhRfiizC0emg2M", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.38" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_length": [ - "0.4" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "310" - ], - "nozzle_temperature_initial_layer": [ - "310" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_threshold": [ - "0%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFq9svOz" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS @K2 Plus-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "nGEhRfiizC0emg2M", + "filament_id": "OFq9svOz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.38" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "310" + ], + "nozzle_temperature_initial_layer": [ + "310" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..cee7f84875 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PPS-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "Generic PPS-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "nQU4zvH8XtE55hqE", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "305" + ], + "nozzle_temperature_initial_layer": [ + "305" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "305" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @K1 Max_CFS-C-all.json index f07eed6f9a..c845f5cc04 100644 --- a/resources/profiles/Creality/filament/Generic PPS-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS-CF @K1 Max_CFS-C-all.json @@ -1,173 +1,171 @@ { - "type": "filament", - "name": "Generic PPS-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "Lo64lIBBBOVC7X0f", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "130" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "305" - ], - "nozzle_temperature_initial_layer": [ - "305" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "305" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6rdQ6M" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "Lo64lIBBBOVC7X0f", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "305" + ], + "nozzle_temperature_initial_layer": [ + "305" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "305" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @K1C-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @K1C-all.json index 78f5a33e87..69ea7be859 100644 --- a/resources/profiles/Creality/filament/Generic PPS-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS-CF @K1C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS-CF @K1C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "IGMvRXBFMXKpLJmO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "130" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "305" - ], - "nozzle_temperature_initial_layer": [ - "305" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "305" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF6rdQ6M" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS-CF @K1C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "IGMvRXBFMXKpLJmO", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "305" + ], + "nozzle_temperature_initial_layer": [ + "305" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "305" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @K1C_CFS-C-all.json index 8975f9792c..dc0e63e0b1 100644 --- a/resources/profiles/Creality/filament/Generic PPS-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS-CF @K1C_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "TaXzrJiCydy8MS3f", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "130" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "305" - ], - "nozzle_temperature_initial_layer": [ - "305" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "305" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6rdQ6M" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "TaXzrJiCydy8MS3f", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "305" + ], + "nozzle_temperature_initial_layer": [ + "305" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "305" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @K1_CFS-C-all.json index 11b1b3a155..4d4d30a0a7 100644 --- a/resources/profiles/Creality/filament/Generic PPS-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PPS-CF @K1_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic PPS-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "KqN1ZnjnbBaLjVK5", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "130" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_flow_ratio": [ - "0.926" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PPS-CF" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "305" - ], - "nozzle_temperature_initial_layer": [ - "305" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "305" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "3" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF6rdQ6M" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "KqN1ZnjnbBaLjVK5", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PPS-CF" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "305" + ], + "nozzle_temperature_initial_layer": [ + "305" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "305" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "3" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PPS-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PPS-CF @K2 Plus-all.json index 3bbcf8f992..e45f769de2 100644 --- a/resources/profiles/Creality/filament/Generic PPS-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PPS-CF @K2 Plus-all.json @@ -1,144 +1,142 @@ { - "type": "filament", - "name": "Generic PPS-CF @K2 Plus-all", - "inherits": "fdm_filament_pps", - "from": "system", - "setting_id": "tIoEmhVZ47jiEg2Q", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "105" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "130" - ], - "filament_density": [ - "1.27" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PPS-CF" - ], - "hot_plate_temp": [ - "105" - ], - "hot_plate_temp_initial_layer": [ - "105" - ], - "nozzle_temperature": [ - "310" - ], - "nozzle_temperature_initial_layer": [ - "310" - ], - "nozzle_temperature_range_high": [ - "350" - ], - "nozzle_temperature_range_low": [ - "300" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "105" - ], - "textured_plate_temp_initial_layer": [ - "105" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.058", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF6rdQ6M" -} \ No newline at end of file + "type": "filament", + "name": "Generic PPS-CF @K2 Plus-all", + "inherits": "fdm_filament_pps", + "from": "system", + "setting_id": "tIoEmhVZ47jiEg2Q", + "filament_id": "OF6rdQ6M", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "105" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "130" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PPS-CF" + ], + "hot_plate_temp": [ + "105" + ], + "hot_plate_temp_initial_layer": [ + "105" + ], + "nozzle_temperature": [ + "310" + ], + "nozzle_temperature_initial_layer": [ + "310" + ], + "nozzle_temperature_range_high": [ + "350" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.058", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic PVA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..8ba7f59320 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic PVA @Ender-3 V3 Plus-all.json @@ -0,0 +1,125 @@ +{ + "type": "filament", + "name": "Generic PVA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "TANQbEsNUzxo1W6e", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @Hi-all.json b/resources/profiles/Creality/filament/Generic PVA @Hi-all.json index 6fdad0ad0b..ff30a27f95 100644 --- a/resources/profiles/Creality/filament/Generic PVA @Hi-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @Hi-all.json @@ -1,136 +1,134 @@ { - "type": "filament", - "name": "Generic PVA @Hi-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "M3oK19GPHF4pXnE1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @Hi-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "M3oK19GPHF4pXnE1", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PVA @K1 Max_CFS-C-all.json index ba02942df2..a2bb83f510 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K1 Max_CFS-C-all.json @@ -1,128 +1,126 @@ { - "type": "filament", - "name": "Generic PVA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "GVvpekUbUn6UPw2h", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "GVvpekUbUn6UPw2h", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K1C-all.json b/resources/profiles/Creality/filament/Generic PVA @K1C-all.json index 34d0a7231d..2f949f1e05 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K1C-all.json @@ -1,129 +1,127 @@ { - "type": "filament", - "name": "Generic PVA @K1C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "DnCH1X6KBNi1m0LO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K1C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "DnCH1X6KBNi1m0LO", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PVA @K1C_CFS-C-all.json index 607cf3b0dd..6e9b038448 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K1C_CFS-C-all.json @@ -1,129 +1,127 @@ { - "type": "filament", - "name": "Generic PVA @K1C_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "16V0liTfFopXs9hz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K1C_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "16V0liTfFopXs9hz", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic PVA @K1_CFS-C-all.json index e5eff7fb64..b698258f50 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K1_CFS-C-all.json @@ -1,129 +1,127 @@ { - "type": "filament", - "name": "Generic PVA @K1_CFS-C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "tomLVSBIaoZzTLo0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K1_CFS-C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "tomLVSBIaoZzTLo0", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic PVA @K2 Plus-all.json index a4499aa85d..c34bf5aa64 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K2 Plus-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Generic PVA @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "rCyivt0j7lJ11Obc", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "rCyivt0j7lJ11Obc", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic PVA @K2 Pro-all.json index 9cf5bfd6bc..c6c4771162 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K2 Pro-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Generic PVA @K2 Pro-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "Q3FPysmnAH6EI5QJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "50" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K2 Pro-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "Q3FPysmnAH6EI5QJ", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "50" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic PVA @K2-all.json b/resources/profiles/Creality/filament/Generic PVA @K2-all.json index d69eab7457..246340a80c 100644 --- a/resources/profiles/Creality/filament/Generic PVA @K2-all.json +++ b/resources/profiles/Creality/filament/Generic PVA @K2-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Generic PVA @K2-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "8ZOmE6qGjxxL8H0b", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "50" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.37" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_soluble": [ - "1" - ], - "filament_type": [ - "PVA" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "225" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "50%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFDvXujf" -} \ No newline at end of file + "type": "filament", + "name": "Generic PVA @K2-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "8ZOmE6qGjxxL8H0b", + "filament_id": "OFDvXujf", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "50" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "80" + ], + "filament_density": [ + "1.37" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic Support for PA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic Support for PA @K2 Plus-all.json index a59be37173..f862a9cefd 100644 --- a/resources/profiles/Creality/filament/Generic Support for PA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic Support for PA @K2 Plus-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "Generic Support for PA @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "jqyOG2srSFDU3HCN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "38" - ], - "filament_density": [ - "1.17" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "0%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.034", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFDtop41" -} \ No newline at end of file + "type": "filament", + "name": "Generic Support for PA @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "jqyOG2srSFDU3HCN", + "filament_id": "OFDtop41", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "38" + ], + "filament_density": [ + "1.17" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.034", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic Support for PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic Support for PLA @K2 Plus-all.json index 5135c5ee68..e70cab2e96 100644 --- a/resources/profiles/Creality/filament/Generic Support for PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic Support for PLA @K2 Plus-all.json @@ -1,162 +1,160 @@ { - "type": "filament", - "name": "Generic Support for PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "W6AEYBcheMyorkN1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "60" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "36" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "1" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFin64Qg" -} \ No newline at end of file + "type": "filament", + "name": "Generic Support for PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "W6AEYBcheMyorkN1", + "filament_id": "OFin64Qg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "60" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "36" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU 64D @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic TPU 64D @K2 Plus-all.json index da1860ce3c..8351d1d3db 100644 --- a/resources/profiles/Creality/filament/Generic TPU 64D @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic TPU 64D @K2 Plus-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Generic TPU 64D @K2 Plus-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "0qV6lVuaNDT3U2HK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFF3cuzT" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU 64D @K2 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "0qV6lVuaNDT3U2HK", + "filament_id": "OFF3cuzT", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU 64D @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic TPU 64D @SPARKX i7-all.json index 54d1fd6680..2cbfbc8335 100644 --- a/resources/profiles/Creality/filament/Generic TPU 64D @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic TPU 64D @SPARKX i7-all.json @@ -1,185 +1,183 @@ { - "type": "filament", - "name": "Generic TPU 64D @SPARKX i7-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "MCElfOpYpjeuwZju", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "215" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.28", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFF3cuzT" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU 64D @SPARKX i7-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "MCElfOpYpjeuwZju", + "filament_id": "OFF3cuzT", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "215" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.28", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @CR-10 SE-all.json b/resources/profiles/Creality/filament/Generic TPU @CR-10 SE-all.json new file mode 100644 index 0000000000..388173b0d2 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic TPU @CR-10 SE-all.json @@ -0,0 +1,149 @@ +{ + "type": "filament", + "name": "Generic TPU @CR-10 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "cAnzTan0oQSt5eTD", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle", + "Creality CR-10 SE 0.4 nozzle", + "Creality CR-10 SE 0.6 nozzle", + "Creality CR-10 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Creality Ender-3V3-all.json b/resources/profiles/Creality/filament/Generic TPU @Creality Ender-3V3-all.json index 89fa6b290b..80d3316a76 100644 --- a/resources/profiles/Creality/filament/Generic TPU @Creality Ender-3V3-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @Creality Ender-3V3-all.json @@ -31,14 +31,6 @@ "5" ], "compatible_printers": [ - "Creality Ender-3 V3 SE 0.2 nozzle", - "Creality Ender-3 V3 SE 0.4 nozzle", - "Creality Ender-3 V3 SE 0.6 nozzle", - "Creality Ender-3 V3 SE 0.8 nozzle", - "Creality Ender-3 V3 KE 0.4 nozzle", - "Creality Ender-3 V3 0.4 nozzle", - "Creality Ender-3 V3 0.6 nozzle", - "Creality Ender-3 V3 Plus 0.4 nozzle", - "Creality Ender-3 V3 Plus 0.6 nozzle" + "Creality Ender-3 V3 KE 0.4 nozzle" ] } diff --git a/resources/profiles/Creality/filament/Generic TPU @Creality Ender-5Max-all.json b/resources/profiles/Creality/filament/Generic TPU @Creality Ender-5Max-all.json index 62f4916a99..c90e9ddcd4 100644 --- a/resources/profiles/Creality/filament/Generic TPU @Creality Ender-5Max-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @Creality Ender-5Max-all.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic TPU @Creality Ender-5Max-all", - "inherits": "fdm_filament_common", "renamed_from": "Creality Generic TPU @Ender-5Max-all;Creality Generic TPU Ender-5Max-all", + "inherits": "fdm_filament_common", "from": "system", "setting_id": "XqW2iYrRTVlXuCwD", "filament_id": "OFgbpcy9", @@ -44,7 +44,6 @@ ], "filament_flow_ratio": "1", "filament_is_support": "0", - "filament_load_time": "0", "filament_loading_speed": "28", "filament_loading_speed_start": "3", "filament_max_volumetric_speed": [ @@ -74,7 +73,6 @@ "filament_type": [ "TPU" ], - "filament_unload_time": "0", "filament_unloading_speed": "90", "filament_unloading_speed_start": "100", "filament_vendor": [ diff --git a/resources/profiles/Creality/filament/Generic TPU @Creality.json b/resources/profiles/Creality/filament/Generic TPU @Creality.json index 0277d14563..af863c3893 100644 --- a/resources/profiles/Creality/filament/Generic TPU @Creality.json +++ b/resources/profiles/Creality/filament/Generic TPU @Creality.json @@ -20,10 +20,6 @@ "Creality K1 Max (0.6 nozzle)", "Creality K1 Max (0.8 nozzle)", "Creality Sermoon V1 0.4 nozzle", - "Creality CR-10 SE 0.2 nozzle", - "Creality CR-10 SE 0.4 nozzle", - "Creality CR-10 SE 0.6 nozzle", - "Creality CR-10 SE 0.8 nozzle", "Creality Ender-3 S1 Pro 0.4 nozzle", "Creality Ender-3 S1 0.4 nozzle" ] diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-2 Pro-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-2 Pro-all.json new file mode 100644 index 0000000000..23f0445200 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic TPU @Ender-2 Pro-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Generic TPU @Ender-2 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "eSne6uswp0ZDCGTS", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "35", + "customized_plate_temp_initial_layer": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..ad229829b5 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 Plus-all.json @@ -0,0 +1,149 @@ +{ + "type": "filament", + "name": "Generic TPU @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "VEMUCoSWsQDUCoG3", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..4954f23528 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3 SE-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Generic TPU @Ender-3 V3 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "b3e5QHJLSLlb24dl", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.2 nozzle", + "Creality Ender-3 V3 SE 0.4 nozzle", + "Creality Ender-3 V3 SE 0.6 nozzle", + "Creality Ender-3 V3 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3-all.json new file mode 100644 index 0000000000..43abaeed71 --- /dev/null +++ b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V3-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Generic TPU @Ender-3 V3-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "dr6ZzW956Z1DKzEF", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V4-all.json index 18e8caacda..6daccee813 100644 --- a/resources/profiles/Creality/filament/Generic TPU @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @Ender-3 V4-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Generic TPU @Ender-3 V4-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "iJozGH7KvOHz8smj", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "1.6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.46", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @Ender-3 V4-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "iJozGH7KvOHz8smj", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "1.6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.46", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Generic TPU @Ender-5 Max-all.json deleted file mode 100644 index 940f0bdb03..0000000000 --- a/resources/profiles/Creality/filament/Generic TPU @Ender-5 Max-all.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "type": "filament", - "name": "Generic TPU @Ender-5 Max-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "KPUcdZyegXYeyHOL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Generic TPU @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Generic TPU @K1 Max_CFS-C-all.json index 0e093087d3..a1bc6f0e61 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1 Max_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Generic TPU @K1 Max_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "h9xCBpYO0jR5I5PG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1 Max_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "h9xCBpYO0jR5I5PG", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K1 SE-all.json b/resources/profiles/Creality/filament/Generic TPU @K1 SE-all.json index 12f548e797..b8083ab997 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1 SE-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic TPU @K1 SE-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "euSJIgcrA95IBrYT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.8", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "euSJIgcrA95IBrYT", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.8", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Generic TPU @K1 SE_CFS-C-all.json index c7aa82e060..d3bf797574 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1 SE_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Generic TPU @K1 SE_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "nHZN4EVW9T6dcG2v", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.8", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1 SE_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "nHZN4EVW9T6dcG2v", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.8", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K1C-all.json b/resources/profiles/Creality/filament/Generic TPU @K1C-all.json index 4d77ed28a7..36e01b8138 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1C-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1C-all.json @@ -1,151 +1,149 @@ { - "type": "filament", - "name": "Generic TPU @K1C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "170MDhVcDn1dM9eK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "170MDhVcDn1dM9eK", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Generic TPU @K1C_CFS-C-all.json index 4c29062659..a62959b7e3 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1C_CFS-C-all.json @@ -1,151 +1,149 @@ { - "type": "filament", - "name": "Generic TPU @K1C_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "XyaRiGJD4khUkwUe", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1C_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "XyaRiGJD4khUkwUe", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Generic TPU @K1_CFS-C-all.json index 88523dd930..2b0def8d3f 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K1_CFS-C-all.json @@ -1,151 +1,149 @@ { - "type": "filament", - "name": "Generic TPU @K1_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "5e2FELlHtgaCc0K3", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "0" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "0" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Normal Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K1_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "5e2FELlHtgaCc0K3", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K2 Plus-all.json b/resources/profiles/Creality/filament/Generic TPU @K2 Plus-all.json index a06cdec298..b1b97a4e9a 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Generic TPU @K2 Plus-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "kcwtAbqZkxRwtCE3", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.3", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K2 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "kcwtAbqZkxRwtCE3", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.3", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K2 Pro-all.json b/resources/profiles/Creality/filament/Generic TPU @K2 Pro-all.json index 07e97acb84..f30cb1b863 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K2 Pro-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic TPU @K2 Pro-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "AZzxNf1i5qruVcBL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.3", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K2 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "AZzxNf1i5qruVcBL", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.3", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K2 SE-all.json b/resources/profiles/Creality/filament/Generic TPU @K2 SE-all.json index 8793fc167e..237974d0ae 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K2 SE-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Generic TPU @K2 SE-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "pjhl2ytSAdJgb8tc", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K2 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "pjhl2ytSAdJgb8tc", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @K2-all.json b/resources/profiles/Creality/filament/Generic TPU @K2-all.json index 03d44388f5..5b72422498 100644 --- a/resources/profiles/Creality/filament/Generic TPU @K2-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @K2-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Generic TPU @K2-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "sjSoPLBLcYw8AJKV", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.3", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @K2-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "sjSoPLBLcYw8AJKV", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.3", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Generic TPU @SPARKX i7-all.json b/resources/profiles/Creality/filament/Generic TPU @SPARKX i7-all.json index c1d0268024..9bcc5709be 100644 --- a/resources/profiles/Creality/filament/Generic TPU @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Generic TPU @SPARKX i7-all.json @@ -1,172 +1,170 @@ { - "type": "filament", - "name": "Generic TPU @SPARKX i7-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "v6uEvu5qbKX9kE7T", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "1.8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFgbpcy9" -} \ No newline at end of file + "type": "filament", + "name": "Generic TPU @SPARKX i7-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "v6uEvu5qbKX9kE7T", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "1.8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..9a8e04481e --- /dev/null +++ b/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "HP Ultra PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XLcCmwVIxpLHbh41", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..a60736724a --- /dev/null +++ b/resources/profiles/Creality/filament/HP Ultra PLA @Ender-3 V3-all.json @@ -0,0 +1,158 @@ +{ + "type": "filament", + "name": "HP Ultra PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "2pSWHcC3tIRR7Si0", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @K1 Max_CFS-C-all.json index e300daac38..c6e0cee888 100644 --- a/resources/profiles/Creality/filament/HP Ultra PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP Ultra PLA @K1 Max_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "HP Ultra PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "mNVwdo8Tu3M8MAMQ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCJpR7a" -} \ No newline at end of file + "type": "filament", + "name": "HP Ultra PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "mNVwdo8Tu3M8MAMQ", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @K1C-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @K1C-all.json index d437c91d60..a960581182 100644 --- a/resources/profiles/Creality/filament/HP Ultra PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/HP Ultra PLA @K1C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "HP Ultra PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "7mN3GsHHQb2sziH9", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFCJpR7a" -} \ No newline at end of file + "type": "filament", + "name": "HP Ultra PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "7mN3GsHHQb2sziH9", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @K1C_CFS-C-all.json index 2c354d95bc..933b225962 100644 --- a/resources/profiles/Creality/filament/HP Ultra PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP Ultra PLA @K1C_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "HP Ultra PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "xYIC2SFJ9IeGcVuC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCJpR7a" -} \ No newline at end of file + "type": "filament", + "name": "HP Ultra PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xYIC2SFJ9IeGcVuC", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @K1_CFS-C-all.json index db920a7f56..326ae95b43 100644 --- a/resources/profiles/Creality/filament/HP Ultra PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP Ultra PLA @K1_CFS-C-all.json @@ -1,160 +1,158 @@ { - "type": "filament", - "name": "HP Ultra PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "HfPCXm8gwCtZnkjJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCJpR7a" -} \ No newline at end of file + "type": "filament", + "name": "HP Ultra PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "HfPCXm8gwCtZnkjJ", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP Ultra PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/HP Ultra PLA @K2 Plus-all.json index 8f912cf729..fb92b41577 100644 --- a/resources/profiles/Creality/filament/HP Ultra PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/HP Ultra PLA @K2 Plus-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "HP Ultra PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "yHu1ZjX5BoH8dw5z", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFCJpR7a" -} \ No newline at end of file + "type": "filament", + "name": "HP Ultra PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "yHu1ZjX5BoH8dw5z", + "filament_id": "OFCJpR7a", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @CR-M4 SE-all.json b/resources/profiles/Creality/filament/HP-ASA @CR-M4 SE-all.json new file mode 100644 index 0000000000..fdfa38fb66 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @CR-M4 SE-all.json @@ -0,0 +1,178 @@ +{ + "type": "filament", + "name": "HP-ASA @CR-M4 SE-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "Dhco9jbb2yrYCMxM", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.9" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "0.05" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.038", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..54c20f21ee --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 KE-all.json @@ -0,0 +1,148 @@ +{ + "type": "filament", + "name": "HP-ASA @Ender-3 V3 KE-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "P0pGa8GFCqqmTGut", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..53fbd9f7f7 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @Ender-3 V3 Plus-all.json @@ -0,0 +1,167 @@ +{ + "type": "filament", + "name": "HP-ASA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "MZoppE0tszjnZqV6", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @Ender-5 Max-all.json b/resources/profiles/Creality/filament/HP-ASA @Ender-5 Max-all.json deleted file mode 100644 index b2d283fae0..0000000000 --- a/resources/profiles/Creality/filament/HP-ASA @Ender-5 Max-all.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "type": "filament", - "name": "HP-ASA @Ender-5 Max-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "JzsojF2Um23vm2qT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.88" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "55", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,240],[8.0,250],[12.0,260]]", - "pressure_advance": "0.032", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..515811a9d9 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1 Sonic-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "HP-ASA @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "hD7rLz57dF2bvLHX", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1-all.json b/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1-all.json new file mode 100644 index 0000000000..5ef42d7d01 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @Ender-5 S1-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "HP-ASA @Ender-5 S1-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "ZJrXEEputl9C7y09", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/HP-ASA @K1 Max_CFS-C-all.json index 16810d1886..92f0630114 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K1 Max_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "HP-ASA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "RInV2wT54da08tvW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "100", - "epoxy_resin_plate_temp_initial_layer": "100", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.046", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "RInV2wT54da08tvW", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "100", + "epoxy_resin_plate_temp_initial_layer": "100", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.046", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K1C-all.json b/resources/profiles/Creality/filament/HP-ASA @K1C-all.json index c720b4d1b0..abf38f523a 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K1C-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K1C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "HP-ASA @K1C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "Iw7dIqafCnOnBgDE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "100", - "epoxy_resin_plate_temp_initial_layer": "100", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.046", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K1C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "Iw7dIqafCnOnBgDE", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "100", + "epoxy_resin_plate_temp_initial_layer": "100", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.046", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/HP-ASA @K1C_CFS-C-all.json index 01a49e2392..bb6bc6e1bd 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K1C_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "HP-ASA @K1C_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "A5zG0GNhQnOlhTOU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "100", - "epoxy_resin_plate_temp_initial_layer": "100", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.046", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K1C_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "A5zG0GNhQnOlhTOU", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "100", + "epoxy_resin_plate_temp_initial_layer": "100", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.046", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/HP-ASA @K1_CFS-C-all.json index d3a45386ad..50c39a8f96 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K1_CFS-C-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "HP-ASA @K1_CFS-C-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "umNqcyYhx49DC2Ki", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "100", - "epoxy_resin_plate_temp_initial_layer": "100", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.046", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K1_CFS-C-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "umNqcyYhx49DC2Ki", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "100", + "epoxy_resin_plate_temp_initial_layer": "100", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.046", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K2 Plus-all.json b/resources/profiles/Creality/filament/HP-ASA @K2 Plus-all.json index 1b97d61b93..35490b244a 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K2 Plus-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "HP-ASA @K2 Plus-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "cH8oKyQX9jde7Bf8", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K2 Plus-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "cH8oKyQX9jde7Bf8", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K2 Pro-all.json b/resources/profiles/Creality/filament/HP-ASA @K2 Pro-all.json index 33a4406fdd..e4c917d083 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K2 Pro-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "HP-ASA @K2 Pro-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "HxNkP2GYbTD7yrUZ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "40" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K2 Pro-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "HxNkP2GYbTD7yrUZ", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K2 SE-all.json b/resources/profiles/Creality/filament/HP-ASA @K2 SE-all.json index f29ffdd702..3ef8e7467e 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K2 SE-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "HP-ASA @K2 SE-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "TbIud8JJSMQ0nYz0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K2 SE-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "TbIud8JJSMQ0nYz0", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @K2-all.json b/resources/profiles/Creality/filament/HP-ASA @K2-all.json index 2d38575630..da6c53d8a3 100644 --- a/resources/profiles/Creality/filament/HP-ASA @K2-all.json +++ b/resources/profiles/Creality/filament/HP-ASA @K2-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "HP-ASA @K2-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "j9EXhFUKSE3c2awm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "29" - ], - "filament_density": [ - "1.15" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "10%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "20" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFPHLnoe" -} \ No newline at end of file + "type": "filament", + "name": "HP-ASA @K2-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "j9EXhFUKSE3c2awm", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-ASA @Sermoon M300-all.json b/resources/profiles/Creality/filament/HP-ASA @Sermoon M300-all.json new file mode 100644 index 0000000000..9727f398c7 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-ASA @Sermoon M300-all.json @@ -0,0 +1,170 @@ +{ + "type": "filament", + "name": "HP-ASA @Sermoon M300-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "Tcoza1m0aSFuXYRU", + "filament_id": "OFPHLnoe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "29" + ], + "filament_density": [ + "1.15" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @CR-M4 SE-all.json b/resources/profiles/Creality/filament/HP-TPU @CR-M4 SE-all.json new file mode 100644 index 0000000000..093c986a28 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @CR-M4 SE-all.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "HP-TPU @CR-M4 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "q7NL7g8NqH3KF0Mc", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "22" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "3.5" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.015", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Plus-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Plus-all.json new file mode 100644 index 0000000000..afc6e6af80 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Plus-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 S1 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "veAmk7nWv4l2qBQx", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Pro-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Pro-all.json new file mode 100644 index 0000000000..ef40db949e --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Pro-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 S1 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "4HqXHKEb8wUypDHP", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Sonic-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Sonic-all.json new file mode 100644 index 0000000000..7040a22404 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1 Sonic-all.json @@ -0,0 +1,138 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 S1 Sonic-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "6cMRhVjiVJizc1d4", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1-all.json new file mode 100644 index 0000000000..1a86e73bcc --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 S1-all.json @@ -0,0 +1,135 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 S1-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "9z9LwDYycgCzsv0B", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2.6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..0a7561c378 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 KE-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 V3 KE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "CvqhoCm59l1UBZ1W", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..0b032374d1 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3 Plus-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "IIOblAXYi6YakHFb", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3-all.json new file mode 100644 index 0000000000..4940476543 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V3-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-3 V3-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "dDNCATfMc696mMY7", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-3 V4-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V4-all.json index 9d7767c4d8..87a84f8781 100644 --- a/resources/profiles/Creality/filament/HP-TPU @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-3 V4-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "HP-TPU @Ender-3 V4-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "x7fQ7w2dCpvVfOLw", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "28" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.36", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @Ender-3 V4-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "x7fQ7w2dCpvVfOLw", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.36", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-5 Max-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-5 Max-all.json deleted file mode 100644 index c25294789b..0000000000 --- a/resources/profiles/Creality/filament/HP-TPU @Ender-5 Max-all.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "type": "filament", - "name": "HP-TPU @Ender-5 Max-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "7Y7KjqVEXrce3jKO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2.5" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle", - "Creality Ender-5 Max 0.6 nozzle", - "Creality Ender-5 Max 0.8 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..a3733d12a0 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1 Sonic-all.json @@ -0,0 +1,150 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "mS1SMgjJf9QxR3Pg", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1-all.json b/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1-all.json new file mode 100644 index 0000000000..3e6adfcf76 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Ender-5 S1-all.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "HP-TPU @Ender-5 S1-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "kSfY6xweiROqM97E", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "30" + ], + "hot_plate_temp_initial_layer": [ + "30" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "30" + ], + "textured_plate_temp_initial_layer": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Hi-all.json b/resources/profiles/Creality/filament/HP-TPU @Hi-all.json index c9b6766149..fa70245521 100644 --- a/resources/profiles/Creality/filament/HP-TPU @Hi-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @Hi-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "HP-TPU @Hi-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "x5v3sNNZYWbPIsPN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.36", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @Hi-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "x5v3sNNZYWbPIsPN", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.36", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/HP-TPU @K1 Max_CFS-C-all.json index 079dfebfe2..402f2ee5aa 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1 Max_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "HP-TPU @K1 Max_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "eY1DCIW7WyTnmRYP", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.32", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1 Max_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "eY1DCIW7WyTnmRYP", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.32", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1 SE-all.json b/resources/profiles/Creality/filament/HP-TPU @K1 SE-all.json index 7e5935cdf7..10df3a7aac 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1 SE-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1 SE-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "HP-TPU @K1 SE-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "3YN3jfV75qyfUZWm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "28" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3.5" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Auto Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "215" - ], - "nozzle_temperature_initial_layer": [ - "215" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "3YN3jfV75qyfUZWm", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "28" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/HP-TPU @K1 SE_CFS-C-all.json index 62184e78e3..5c684617fd 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1 SE_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "HP-TPU @K1 SE_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "WnGZuBiSGSoGru8C", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_cost": [ - "28" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3.5" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Auto Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "215" - ], - "nozzle_temperature_initial_layer": [ - "215" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "35" - ], - "textured_plate_temp_initial_layer": [ - "35" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1 SE_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "WnGZuBiSGSoGru8C", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_cost": [ + "28" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "35" + ], + "textured_plate_temp_initial_layer": [ + "35" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1C-all.json b/resources/profiles/Creality/filament/HP-TPU @K1C-all.json index 6762f0d2d4..b05e59eef3 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1C-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "HP-TPU @K1C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "USI47rUnoJXanAFI", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.32", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "USI47rUnoJXanAFI", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.32", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/HP-TPU @K1C_CFS-C-all.json index e7534ade92..fbc05c1853 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1C_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "HP-TPU @K1C_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "rCn7lAeHr77FziYn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.32", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1C_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "rCn7lAeHr77FziYn", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.32", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K1_CFS-C-all.json b/resources/profiles/Creality/filament/HP-TPU @K1_CFS-C-all.json index 077936057a..27315ae2b3 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K1_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "HP-TPU @K1_CFS-C-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "N3NDaZzc5XyUm3b1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "35" - ], - "cool_plate_temp_initial_layer": [ - "35" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.32", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K1_CFS-C-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "N3NDaZzc5XyUm3b1", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.32", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K2 Plus-all.json b/resources/profiles/Creality/filament/HP-TPU @K2 Plus-all.json index 5b979963f0..06c8959858 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K2 Plus-all.json @@ -1,172 +1,170 @@ { - "type": "filament", - "name": "HP-TPU @K2 Plus-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "CNm35YCN42NAgbU1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K2 Plus-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "CNm35YCN42NAgbU1", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K2 Pro-all.json b/resources/profiles/Creality/filament/HP-TPU @K2 Pro-all.json index 90201f7dcf..5207b1fb9a 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K2 Pro-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "HP-TPU @K2 Pro-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "tfrclH3VqZ4nPzi7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle", - "Creality K2 Pro 0.6 nozzle", - "Creality K2 Pro 0.8 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K2 Pro-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "tfrclH3VqZ4nPzi7", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle", + "Creality K2 Pro 0.6 nozzle", + "Creality K2 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K2 SE-all.json b/resources/profiles/Creality/filament/HP-TPU @K2 SE-all.json index b3779225c2..27161d5505 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K2 SE-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K2 SE-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "HP-TPU @K2 SE-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "IgniOuVC4DtRnxS0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "40" - ], - "eng_plate_temp_initial_layer": [ - "40" - ], - "filament_cost": [ - "28" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.4", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,190],[1.3,220]]", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K2 SE-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "IgniOuVC4DtRnxS0", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "filament_cost": [ + "28" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.4", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[1.2,190],[1.3,220]]", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @K2-all.json b/resources/profiles/Creality/filament/HP-TPU @K2-all.json index 3768b17547..6e2f542b0c 100644 --- a/resources/profiles/Creality/filament/HP-TPU @K2-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @K2-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "HP-TPU @K2-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "l9E5f6JLwfKo4aG9", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "3" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "220" - ], - "overhang_fan_threshold": [ - "95%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle", - "Creality K2 0.6 nozzle", - "Creality K2 0.8 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @K2-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "l9E5f6JLwfKo4aG9", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle", + "Creality K2 0.6 nozzle", + "Creality K2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @SPARKX i7-all.json b/resources/profiles/Creality/filament/HP-TPU @SPARKX i7-all.json index 1d225ec253..fd4b842959 100644 --- a/resources/profiles/Creality/filament/HP-TPU @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/HP-TPU @SPARKX i7-all.json @@ -1,183 +1,181 @@ { - "type": "filament", - "name": "HP-TPU @SPARKX i7-all", - "inherits": "fdm_filament_tpu", - "from": "system", - "setting_id": "oINMsmmxspqPOW8b", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "40" - ], - "cool_plate_temp_initial_layer": [ - "40" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "35" - ], - "eng_plate_temp_initial_layer": [ - "35" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "28" - ], - "filament_density": [ - "1.26" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1.1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "2" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "40" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "overhang_fan_threshold": [ - "50%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "40" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "40", - "customized_plate_temp_initial_layer": "40", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "30", - "epoxy_resin_plate_temp_initial_layer": "30", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.4", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OFGcMkEB" -} \ No newline at end of file + "type": "filament", + "name": "HP-TPU @SPARKX i7-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "oINMsmmxspqPOW8b", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "28" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "30", + "epoxy_resin_plate_temp_initial_layer": "30", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/HP-TPU @Sermoon M300-all.json b/resources/profiles/Creality/filament/HP-TPU @Sermoon M300-all.json new file mode 100644 index 0000000000..17e040b593 --- /dev/null +++ b/resources/profiles/Creality/filament/HP-TPU @Sermoon M300-all.json @@ -0,0 +1,172 @@ +{ + "type": "filament", + "name": "HP-TPU @Sermoon M300-all", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "Gsl2ZOm6ShvzkqSv", + "filament_id": "OFGcMkEB", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "35" + ], + "filament_density": [ + "1.26" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "40", + "customized_plate_temp_initial_layer": "40", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.4", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @CR-M4 SE-all.json b/resources/profiles/Creality/filament/Hyper ABS @CR-M4 SE-all.json new file mode 100644 index 0000000000..11bfc18d1f --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper ABS @CR-M4 SE-all.json @@ -0,0 +1,178 @@ +{ + "type": "filament", + "name": "Hyper ABS @CR-M4 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "hBZ6ud06hTANqh4L", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "50" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.9" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "0.05" + ], + "filament_retraction_speed": [ + "50" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "15" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..276d880338 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V3 Plus-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Hyper ABS @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "BjYVxAcG7vcGP88r", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_min_speed": [ + "70" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.926" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "0" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V4-all.json index e4a50b5fec..f0b164f891 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @Ender-3 V4-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Hyper ABS @Ender-3 V4-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "utCV4AwQPV4Ums35", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "90", - "customized_plate_temp_initial_layer": "90", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", - "pressure_advance": "0.038", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @Ender-3 V4-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "utCV4AwQPV4Ums35", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "90", + "customized_plate_temp_initial_layer": "90", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[0.8,240],[1.0,260]]", + "pressure_advance": "0.038", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Hyper ABS @Ender-5 Max-all.json deleted file mode 100644 index 097434bdc4..0000000000 --- a/resources/profiles/Creality/filament/Hyper ABS @Ender-5 Max-all.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "type": "filament", - "name": "Hyper ABS @Ender-5 Max-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "jPfMyNBquP31h2Eb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.92" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "60" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "overhang_fan_speed": [ - "20" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "5" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,230],[5.0,250],[10.0,260]]", - "pressure_advance": "0.025", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle", - "Creality Ender-5 Max 0.6 nozzle", - "Creality Ender-5 Max 0.8 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Hyper ABS @Hi-all.json b/resources/profiles/Creality/filament/Hyper ABS @Hi-all.json index bb93a96d02..cea3dbeaf2 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @Hi-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Hyper ABS @Hi-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "LO4MgYNCtAlMyD11", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "70" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @Hi-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "LO4MgYNCtAlMyD11", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "70" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1 Max_CFS-C-all.json index 9749f95e35..5ebb98f5ec 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1 Max_CFS-C-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Hyper ABS @K1 Max_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "PjT9gDai5g9iVBf3", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1 Max_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "PjT9gDai5g9iVBf3", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1 SE-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1 SE-all.json index a303e41640..41d9eb71e1 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1 SE-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Hyper ABS @K1 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "dWKTm246jz7e4QRy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "dWKTm246jz7e4QRy", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1 SE_CFS-C-all.json index b4780cb82d..2e144ab3f0 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1 SE_CFS-C-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Hyper ABS @K1 SE_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "GCj4hOsf9S9DqFdh", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "30" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1 SE_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "GCj4hOsf9S9DqFdh", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,20],[6.0,240],[10.0,250]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1C-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1C-all.json index 1ae0bc6ddf..4892e7f33e 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1C-all.json @@ -1,170 +1,168 @@ { - "type": "filament", - "name": "Hyper ABS @K1C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "DlsL5Ex7MQ54Yje6", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "DlsL5Ex7MQ54Yje6", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1C_CFS-C-all.json index 03f8fbc354..a94b9da7d7 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1C_CFS-C-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Hyper ABS @K1C_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "psgahhKiXE7koRWY", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1C_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "psgahhKiXE7koRWY", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper ABS @K1_CFS-C-all.json index d6c76e777f..3d2ad45efd 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K1_CFS-C-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Hyper ABS @K1_CFS-C-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "YbYUo1FfZlLJg4zm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K1_CFS-C-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "YbYUo1FfZlLJg4zm", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper ABS @K2 Plus-all.json index 7ecce97627..3b7f42cf81 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K2 Plus-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Hyper ABS @K2 Plus-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "lGXmZiCrrwfTeERC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K2 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "lGXmZiCrrwfTeERC", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper ABS @K2 Pro-all.json index de032398b5..90e79e46fd 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K2 Pro-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Hyper ABS @K2 Pro-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "01z4QYF33KN1OsBM", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K2 Pro-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "01z4QYF33KN1OsBM", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper ABS @K2 SE-all.json index c3132a18b5..06a397761f 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K2 SE-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "Hyper ABS @K2 SE-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "X3WH0zaUg8WyahsO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "1" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K2 SE-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "X3WH0zaUg8WyahsO", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @K2-all.json b/resources/profiles/Creality/filament/Hyper ABS @K2-all.json index 63bf93483d..7b0696e39c 100644 --- a/resources/profiles/Creality/filament/Hyper ABS @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper ABS @K2-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Hyper ABS @K2-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "B0mfi4oxoUIDW2Lv", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "80" - ], - "eng_plate_temp_initial_layer": [ - "80" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "22" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF8GnyFU" -} \ No newline at end of file + "type": "filament", + "name": "Hyper ABS @K2-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "B0mfi4oxoUIDW2Lv", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper ABS @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper ABS @Sermoon M300-all.json new file mode 100644 index 0000000000..fb1d196317 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper ABS @Sermoon M300-all.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Hyper ABS @Sermoon M300-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "gqPXRCOcnlERlcv2", + "filament_id": "OF8GnyFU", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "22" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..e8f0178f0b --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 KE-all.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "Hyper L-W PLA @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8TcC8qLzV6pt9D4k", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.75" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "3" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..08fa830940 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,150 @@ +{ + "type": "filament", + "name": "Hyper L-W PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "o8xXZkmH5KA2P9Xu", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.75" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,200],[10.0,220],[12.0,220]]", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..8d4bf4db63 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3 SE-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "Hyper L-W PLA @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "stFRO2ehiEi0mDAG", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "15" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.75" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "3" + ], + "filament_retraction_speed": [ + "15" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..7de5499bb1 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @Ender-3 V3-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Hyper L-W PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "eP8wEl79mHeBddgE", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.75" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @Hi-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @Hi-all.json index d4deb0be89..f33623ab68 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @Hi-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Hyper L-W PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "snqNKAAquQRA20Ik", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.84" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "3" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "snqNKAAquQRA20Ik", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.84" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "3" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 Max_CFS-C-all.json index 182364977c..6627a67132 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 Max_CFS-C-all.json @@ -1,170 +1,168 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "nhmKUDLK6wxVO1vH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_long_retractions_when_cut": "nil", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_retraction_distances_when_cut": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_stamping_distance": "0", - "filament_stamping_loading_speed": "0", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "idle_temperature": "0", - "material_flow_dependent_temperature": "0", - "pellet_flow_coefficient": "0.4157", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "nhmKUDLK6wxVO1vH", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_long_retractions_when_cut": "nil", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_retraction_distances_when_cut": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_stamping_distance": "0", + "filament_stamping_loading_speed": "0", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "idle_temperature": "0", + "material_flow_dependent_temperature": "0", + "pellet_flow_coefficient": "0.4157", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE-all.json index 2bc12a6918..fe2b9f7363 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE-all.json @@ -1,148 +1,146 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "MEaOGHy3pWSd1Gj3", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "MEaOGHy3pWSd1Gj3", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE_CFS-C-all.json index 065b9ac77e..8327a3c474 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1 SE_CFS-C-all.json @@ -1,148 +1,146 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "xCioj1jNunIX2GBK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xCioj1jNunIX2GBK", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1C-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1C-all.json index 872eeca4dc..2e44a0a1e1 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "xye2OhGeKqg44ya7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "xye2OhGeKqg44ya7", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1C_CFS-C-all.json index 3685dbd854..7aee7bad01 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1C_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "EXxV0Fo4rexuxidn", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "EXxV0Fo4rexuxidn", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K1_CFS-C-all.json index 718112bd7b..b104bf3181 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K1_CFS-C-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "lfP5u92yfXRedGuy", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.09", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "lfP5u92yfXRedGuy", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.09", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Plus-all.json index df0df361ad..8a6a13f3d5 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Plus-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "U1kZq5P21qnFe5NC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "U1kZq5P21qnFe5NC", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Pro-all.json index cf2c873e77..22fa11fcbd 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K2 Pro-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "4O7avB3eSA1pKDxz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.76" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4O7avB3eSA1pKDxz", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.76" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper L-W PLA @K2-all.json b/resources/profiles/Creality/filament/Hyper L-W PLA @K2-all.json index 9b06765831..36aa61a725 100644 --- a/resources/profiles/Creality/filament/Hyper L-W PLA @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper L-W PLA @K2-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Hyper L-W PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "gkzTfze1OQmP8zgE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "48.9" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.85" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF70zbGS" -} \ No newline at end of file + "type": "filament", + "name": "Hyper L-W PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gkzTfze1OQmP8zgE", + "filament_id": "OF70zbGS", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "48.9" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..1164bcd6d1 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 KE-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Hyper Luminous @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4UH3F59EjQKbtyrx", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "95%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1.5" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..51f3f30d01 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 Plus-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Hyper Luminous @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "RF40zBxzPrRJqzOX", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "95%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1.5" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "65", + "customized_plate_temp_initial_layer": "65", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "55", + "epoxy_resin_plate_temp_initial_layer": "55", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..c7c8a9afe8 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3 SE-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Hyper Luminous @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ROda7wbinyGRYcyj", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "15" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "15" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3-all.json new file mode 100644 index 0000000000..a7f7c3d632 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Luminous @Ender-3 V3-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Hyper Luminous @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ULJWbH3WIta6qv0f", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "95%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "65", + "customized_plate_temp_initial_layer": "65", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "55", + "epoxy_resin_plate_temp_initial_layer": "55", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Hi-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Hi-all.json index 4c39c1ac1a..c73ae6faaf 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @Hi-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Hyper Luminous @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "8PNVp96HmPvjOBVq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "299", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.052", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle", - "Creality Hi 0.6 nozzle", - "Creality Hi 0.8 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8PNVp96HmPvjOBVq", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "299", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.052", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle", + "Creality Hi 0.6 nozzle", + "Creality Hi 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @K1C-all.json b/resources/profiles/Creality/filament/Hyper Luminous @K1C-all.json index 53ab1e078e..33bbebc96c 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @K1C-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Hyper Luminous @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "MHaJR8CAtuSwUOIx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,210], [1.2,210], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "MHaJR8CAtuSwUOIx", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,210], [1.2,210], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper Luminous @K2 Plus-all.json index 9e267d07cf..c1db54775e 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @K2 Plus-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Luminous @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zY0hIYvTg3v2wyOJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.2,210],[1.5,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zY0hIYvTg3v2wyOJ", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.2,210],[1.5,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper Luminous @K2 Pro-all.json index 67c567791c..04cf190fe5 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @K2 Pro-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Luminous @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "14znq0LtaUx1RUP5", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.2,210],[1.5,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle", - "Creality K2 Pro 0.6 nozzle", - "Creality K2 Pro 0.8 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "14znq0LtaUx1RUP5", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.2,210],[1.5,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle", + "Creality K2 Pro 0.6 nozzle", + "Creality K2 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @K2-all.json b/resources/profiles/Creality/filament/Hyper Luminous @K2-all.json index b5182102e4..d1f28127d9 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @K2-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Luminous @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zD3EOJFcZOuhQHmk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle", - "Creality K2 0.6 nozzle", - "Creality K2 0.8 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zD3EOJFcZOuhQHmk", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle", + "Creality K2 0.6 nozzle", + "Creality K2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper Luminous @SPARKX i7-all.json index 9817bd9701..c15cf1eb24 100644 --- a/resources/profiles/Creality/filament/Hyper Luminous @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper Luminous @SPARKX i7-all.json @@ -1,183 +1,181 @@ { - "type": "filament", - "name": "Hyper Luminous @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "DKQgoZvvkOBsEJCA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "28.9" - ], - "filament_density": [ - "1.3" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.028", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFC1PzXz" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Luminous @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DKQgoZvvkOBsEJCA", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.028", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Luminous @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper Luminous @Sermoon M300-all.json new file mode 100644 index 0000000000..64634f829e --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Luminous @Sermoon M300-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "Hyper Luminous @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dzNozpc70jsBlJvf", + "filament_id": "OFC1PzXz", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "28.9" + ], + "filament_density": [ + "1.3" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.2,210],[1.5,220]]", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..b98f0e166c --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 KE-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Hyper Marble @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "WPGA61PBfz4GtHD1", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..2e9dff0e3f --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 Plus-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Hyper Marble @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "d2S4P7eOqBldwbK4", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..b4f8a17103 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3 SE-all.json @@ -0,0 +1,163 @@ +{ + "type": "filament", + "name": "Hyper Marble @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NzP0zuVF8V6fxJJn", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "15" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "15" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3-all.json new file mode 100644 index 0000000000..c848558368 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Marble @Ender-3 V3-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Hyper Marble @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "QGUNxNqtDRpzMjpQ", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Hi-all.json b/resources/profiles/Creality/filament/Hyper Marble @Hi-all.json index 614c8a9ac8..8e9c401520 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @Hi-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper Marble @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "K6SS7X2jvyXsEgaR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.5,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "K6SS7X2jvyXsEgaR", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.5,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Marble @K1 Max_CFS-C-all.json index 1fdeb7e4d3..03b8df1632 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K1 Max_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "8dYJk1STVIRB2JWw", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "299", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "8dYJk1STVIRB2JWw", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "299", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K1C-all.json b/resources/profiles/Creality/filament/Hyper Marble @K1C-all.json index 3430271e86..442f07f967 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K1C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "SWzt8p5UBfgMauNE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "SWzt8p5UBfgMauNE", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Marble @K1C_CFS-C-all.json index f92a629e09..faf5d0decc 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K1C_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "gZLo5W0F3NLFCkvg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gZLo5W0F3NLFCkvg", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Marble @K1_CFS-C-all.json index 0443b606a1..3431ed9ef6 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K1_CFS-C-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "JDAiAZKjxEoWKDwW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "JDAiAZKjxEoWKDwW", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper Marble @K2 Plus-all.json index 87c217d5db..90d07ec109 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K2 Plus-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "X2fgUYasv7lNEoqK", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "3" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.2,200],[1.1,200],[1.2,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "X2fgUYasv7lNEoqK", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "35" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.2,200],[1.1,200],[1.2,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper Marble @K2 Pro-all.json index 90047e7778..5713b0658d 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K2 Pro-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "CITMYaFiwchQ3xoo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CITMYaFiwchQ3xoo", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper Marble @K2 SE-all.json index a0bc0bbfbc..3173e61657 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K2 SE-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Hyper Marble @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "PyazquNRWsPUM2bt", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "3" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "244", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "PyazquNRWsPUM2bt", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "244", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @K2-all.json b/resources/profiles/Creality/filament/Hyper Marble @K2-all.json index 09eb2487d3..db38166659 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @K2-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper Marble @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "YxvU7wRdgrtckCa7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "YxvU7wRdgrtckCa7", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper Marble @SPARKX i7-all.json index 746332ab6a..5b053dbfb6 100644 --- a/resources/profiles/Creality/filament/Hyper Marble @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper Marble @SPARKX i7-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "Hyper Marble @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "teddd8l8D8ASmYQs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "23.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFLzx3J4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Marble @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "teddd8l8D8ASmYQs", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Marble @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper Marble @Sermoon M300-all.json new file mode 100644 index 0000000000..5a491beeb5 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Marble @Sermoon M300-all.json @@ -0,0 +1,162 @@ +{ + "type": "filament", + "name": "Hyper Marble @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "W2KijERiDCLzi6j7", + "filament_id": "OFLzx3J4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "23.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Plus-all.json index d5d494f3f4..8898401856 100644 --- a/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Plus-all.json @@ -1,199 +1,197 @@ { - "type": "filament", - "name": "Hyper PA6-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "ns7xy8v6L92XsDy2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "45.9" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "290" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFn2GlhY" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PA6-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "ns7xy8v6L92XsDy2", + "filament_id": "OFn2GlhY", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "45.9" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "290" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Pro-all.json index 97f41d5746..3b38cfe77c 100644 --- a/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PA6-CF @K2 Pro-all.json @@ -1,199 +1,197 @@ { - "type": "filament", - "name": "Hyper PA6-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "FNuPosBKWyq79bjR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "45.9" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "290" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFn2GlhY" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PA6-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "FNuPosBKWyq79bjR", + "filament_id": "OFn2GlhY", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "45.9" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "290" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Plus-all.json index 658908446c..23cdb0975c 100644 --- a/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Plus-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Hyper PA612-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "2xgxuOoGNlO9lEs4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "59.9" - ], - "filament_density": [ - "1.03" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "290" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFhkN0a7" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PA612-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "2xgxuOoGNlO9lEs4", + "filament_id": "OFhkN0a7", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "59.9" + ], + "filament_density": [ + "1.03" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "290" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Pro-all.json index 40870d5cd3..08b65aaff2 100644 --- a/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PA612-CF @K2 Pro-all.json @@ -1,193 +1,191 @@ { - "type": "filament", - "name": "Hyper PA612-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "sDTzKRsBAaiOxA5I", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "59.9" - ], - "filament_density": [ - "1.03" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "290" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFhkN0a7" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PA612-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "sDTzKRsBAaiOxA5I", + "filament_id": "OFhkN0a7", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "59.9" + ], + "filament_density": [ + "1.03" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "290" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.048", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json index 915b8b67d9..9b72dd5cb9 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1 Max_CFS-C-all.json @@ -1,196 +1,194 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "98Dhy7By3Sp6lISa", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "98Dhy7By3Sp6lISa", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C-all.json index 3529603ba6..47b8eac520 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C-all.json @@ -1,197 +1,195 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K1C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "SpXh27tlQXEbxDUk", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K1C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "SpXh27tlQXEbxDUk", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C_CFS-C-all.json index a2c841f463..c2f554abca 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1C_CFS-C-all.json @@ -1,197 +1,195 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "ShD1PW5HWkjnHXrd", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "ShD1PW5HWkjnHXrd", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1_CFS-C-all.json index c597cd9c95..564d6b08e9 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K1_CFS-C-all.json @@ -1,197 +1,195 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "wzYQ0bizO8RDWjSX", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "105" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "wzYQ0bizO8RDWjSX", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Plus-all.json index 67d0b403cc..57a1904fdd 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Plus-all.json @@ -1,194 +1,192 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "NneN5bFLYVXNPzlM", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "90" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "90" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "90" - ], - "textured_plate_temp_initial_layer": [ - "90" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "NneN5bFLYVXNPzlM", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Pro-all.json index f7e37afe69..0e9eb9a6c1 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2 Pro-all.json @@ -1,184 +1,182 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "wl8JhmCp9Be3cYMJ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.042", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "wl8JhmCp9Be3cYMJ", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.042", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2-all.json b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2-all.json index 1f97108309..7077971f51 100644 --- a/resources/profiles/Creality/filament/Hyper PAHT-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PAHT-CF @K2-all.json @@ -1,184 +1,182 @@ { - "type": "filament", - "name": "Hyper PAHT-CF @K2-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "jtElnQJxHKLDQSHo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "74.9" - ], - "filament_density": [ - "1.06" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "4" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "100", - "customized_plate_temp_initial_layer": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF4APyxe" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PAHT-CF @K2-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "jtElnQJxHKLDQSHo", + "filament_id": "OF4APyxe", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "74.9" + ], + "filament_density": [ + "1.06" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "100", + "customized_plate_temp_initial_layer": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PC @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PC @K2 Plus-all.json index 85d5d66252..a1c7e7d72f 100644 --- a/resources/profiles/Creality/filament/Hyper PC @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PC @K2 Plus-all.json @@ -1,171 +1,169 @@ { - "type": "filament", - "name": "Hyper PC @K2 Plus-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "zhN9dkzeJWtsAKj8", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "110" - ], - "cool_plate_temp_initial_layer": [ - "110" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "100" - ], - "filament_density": [ - "1.19" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.03", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFUF7oA4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PC @K2 Plus-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "zhN9dkzeJWtsAKj8", + "filament_id": "OFUF7oA4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "110" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "100" + ], + "filament_density": [ + "1.19" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.03", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PC @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PC @K2 Pro-all.json index 7592b6dbcf..d0d64e7b44 100644 --- a/resources/profiles/Creality/filament/Hyper PC @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PC @K2 Pro-all.json @@ -1,173 +1,171 @@ { - "type": "filament", - "name": "Hyper PC @K2 Pro-all", - "inherits": "fdm_filament_pc", - "from": "system", - "setting_id": "6NMso8XW9632vz5s", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_max_speed": [ - "40" - ], - "filament_cost": [ - "37" - ], - "filament_density": [ - "1.19" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "70%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "80" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFUF7oA4" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PC @K2 Pro-all", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "6NMso8XW9632vz5s", + "filament_id": "OFUF7oA4", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_max_speed": [ + "40" + ], + "filament_cost": [ + "37" + ], + "filament_density": [ + "1.19" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "80" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..c429ec204b --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3 Plus-all.json @@ -0,0 +1,164 @@ +{ + "type": "filament", + "name": "Hyper PETG @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "n2NyHtXVREV7h9YJ", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Auto Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3-all.json new file mode 100644 index 0000000000..c317632683 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V3-all.json @@ -0,0 +1,154 @@ +{ + "type": "filament", + "name": "Hyper PETG @Ender-3 V3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Plfak7mxwk9wmWdb", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,230],[10.0,240],[20.0,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V4-all.json index a333d63f3d..0ee32c0b6b 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Hyper PETG @Ender-3 V4-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "EDl8nfZRP1T8CBOs", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,230],[1.2,250]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @Ender-3 V4-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "EDl8nfZRP1T8CBOs", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,230],[1.2,250]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Hyper PETG @Ender-5 Max-all.json deleted file mode 100644 index fe1f0fbded..0000000000 --- a/resources/profiles/Creality/filament/Hyper PETG @Ender-5 Max-all.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "Hyper PETG @Ender-5 Max-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "nr57CpZ5PwPmcOCR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,220],[1.0,240]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Hyper PETG @Hi-all.json b/resources/profiles/Creality/filament/Hyper PETG @Hi-all.json index 5998e1e8bd..ad9fd276d2 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @Hi-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Hyper PETG @Hi-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "ZKLZLxxyjfbdAYZ4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", - "pressure_advance": "0.066", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @Hi-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ZKLZLxxyjfbdAYZ4", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1 Max_CFS-C-all.json index 6bd1f3afea..0a066f747d 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1 Max_CFS-C-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Hyper PETG @K1 Max_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "Bcgdo3fx6xntQ68t", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1 Max_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Bcgdo3fx6xntQ68t", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1 SE-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1 SE-all.json index 058dfe5bd6..cc22c69934 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1 SE-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper PETG @K1 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "huvZfn5aMetsY1qr", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.068", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "huvZfn5aMetsY1qr", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.068", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1 SE_CFS-C-all.json index f1ceb825e9..226e28d3b5 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1 SE_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper PETG @K1 SE_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "cyl9yuFghMkUh21u", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.068", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1 SE_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "cyl9yuFghMkUh21u", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.068", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1C-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1C-all.json index 175aa8099c..db25402dd2 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1C-all.json @@ -1,155 +1,153 @@ { - "type": "filament", - "name": "Hyper PETG @K1C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "HYCr4pafWTw3btkg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.072", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "HYCr4pafWTw3btkg", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.072", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1C_CFS-C-all.json index be8e2c58f5..f7407295d3 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1C_CFS-C-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Hyper PETG @K1C_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "6vOJLefZfaXZTSae", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.072", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1C_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "6vOJLefZfaXZTSae", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.072", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG @K1_CFS-C-all.json index 9bf2512abe..ce72e4463d 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K1_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper PETG @K1_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "FeLhYkEwkavAVWlq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.5" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", - "pressure_advance": "0.068", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K1_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "FeLhYkEwkavAVWlq", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.5" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,220],[5.0,230],[14.0,240],[23.0,250]]", + "pressure_advance": "0.068", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PETG @K2 Plus-all.json index 983556224b..6080aee780 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K2 Plus-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Hyper PETG @K2 Plus-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "LLehESBAwc7JG1sb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.28" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "74.3" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K2 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "LLehESBAwc7JG1sb", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.28" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PETG @K2 Pro-all.json index 32a8fae98b..ab7da092fd 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K2 Pro-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Hyper PETG @K2 Pro-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "FEZohKnhkTIWLIGo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "FEZohKnhkTIWLIGo", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper PETG @K2 SE-all.json index cc058c4511..cd1a81f895 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K2 SE-all.json @@ -1,158 +1,156 @@ { - "type": "filament", - "name": "Hyper PETG @K2 SE-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "YKt97IZEOlPbNE45", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", - "pressure_advance": "0.07", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K2 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "YKt97IZEOlPbNE45", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,240],[1.2,240],[1.3,250]]", + "pressure_advance": "0.07", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @K2-all.json b/resources/profiles/Creality/filament/Hyper PETG @K2-all.json index 9bbf24c47f..a65c05ac70 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @K2-all.json @@ -1,148 +1,146 @@ { - "type": "filament", - "name": "Hyper PETG @K2-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "tA9uY8ONg89tnmBS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @K2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "tA9uY8ONg89tnmBS", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,220],[1.2,220],[1.2,250]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper PETG @SPARKX i7-all.json index d8db7fd923..6f13c7f91b 100644 --- a/resources/profiles/Creality/filament/Hyper PETG @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG @SPARKX i7-all.json @@ -1,164 +1,162 @@ { - "type": "filament", - "name": "Hyper PETG @SPARKX i7-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "KCinMkKfbIlmgNY5", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "25" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFujZSdh" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG @SPARKX i7-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "KCinMkKfbIlmgNY5", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper PETG @Sermoon M300-all.json new file mode 100644 index 0000000000..71818258ee --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PETG @Sermoon M300-all.json @@ -0,0 +1,148 @@ +{ + "type": "filament", + "name": "Hyper PETG @Sermoon M300-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "0fM5QG57SdQuGQM2", + "filament_id": "OFujZSdh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "25" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,240],[1.0,240],[1.2,250]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K1 Max_CFS-C-all.json index 69662a0296..9eb34dc9bf 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K1 Max_CFS-C-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "Xas7n19K71hs4LDE", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "90" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Xas7n19K71hs4LDE", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "90" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K1C-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K1C-all.json index 1005d22d7f..8f75ada3bd 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K1C-all.json @@ -1,139 +1,137 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K1C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "Qb08ZrBwuO8zt4AH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "90" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K1C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "Qb08ZrBwuO8zt4AH", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "90" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K1C_CFS-C-all.json index e9008aede1..452436bc5f 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K1C_CFS-C-all.json @@ -1,139 +1,137 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "DoTcUw5GMoTHQg7e", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "90" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "DoTcUw5GMoTHQg7e", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "90" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K1_CFS-C-all.json index 2358ec054e..57d1162f5c 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K1_CFS-C-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K1_CFS-C-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "CcmwXMNgZWg8VguD", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "90" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "80", - "epoxy_resin_plate_temp_initial_layer": "80", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K1_CFS-C-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "CcmwXMNgZWg8VguD", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "90" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "80", + "epoxy_resin_plate_temp_initial_layer": "80", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Plus-all.json index 252b6dad9c..cbc2e8a34c 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Plus-all.json @@ -1,142 +1,140 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K2 Plus-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "DyG4SbAXKKPcZtrz", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K2 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "DyG4SbAXKKPcZtrz", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Pro-all.json index 1962c54912..55789a7c2e 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K2 Pro-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K2 Pro-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "kit5JfJiicLJF4zF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K2 Pro-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "kit5JfJiicLJF4zF", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @K2-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @K2-all.json index 68ae2439d7..953587853c 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @K2-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper PETG-CF @K2-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "sqyA1OhRFwfJdaQC", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.25" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "75" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @K2-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "sqyA1OhRFwfJdaQC", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "75" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-CF @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper PETG-CF @SPARKX i7-all.json index a3ab600254..f0feb6547b 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-CF @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-CF @SPARKX i7-all.json @@ -1,167 +1,165 @@ { - "type": "filament", - "name": "Hyper PETG-CF @SPARKX i7-all", - "inherits": "fdm_filament_petg", - "from": "system", - "setting_id": "ysPPxXtL5M7eQwOp", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "70" - ], - "filament_density": [ - "1.24" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "2" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "260" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "80", - "customized_plate_temp_initial_layer": "80", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "70", - "epoxy_resin_plate_temp_initial_layer": "70", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", - "pressure_advance": "0.028", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFusbWjj" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-CF @SPARKX i7-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "ysPPxXtL5M7eQwOp", + "filament_id": "OFusbWjj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n{if(initial_extruder != current_extruder || layer_z > first_layer_height)}\n{if (layer_z +0.4 < printable_height) }\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X205 Y345 F20000\nG1 Z{layer_z } F1200\n{else}\nG1 X205 Y345 F20000\n{endif}\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "80", + "customized_plate_temp_initial_layer": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "70", + "epoxy_resin_plate_temp_initial_layer": "70", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,240],[1.2,260]]", + "pressure_advance": "0.028", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-GF @K1C-all.json b/resources/profiles/Creality/filament/Hyper PETG-GF @K1C-all.json index 9fdfe1559b..39f76b7763 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-GF @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-GF @K1C-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Hyper PETG-GF @K1C-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "nEDeotPVKPCQe8Nb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFLgwqp2" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-GF @K1C-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "nEDeotPVKPCQe8Nb", + "filament_id": "OFLgwqp2", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Plus-all.json index 820b021b9e..ec871d7de8 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Plus-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper PETG-GF @K2 Plus-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "usQ7v9aSP9GkBJlW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "70", - "customized_plate_temp_initial_layer": "70", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFLgwqp2" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-GF @K2 Plus-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "usQ7v9aSP9GkBJlW", + "filament_id": "OFLgwqp2", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Pro-all.json index 3129330404..37cf3dfdc2 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-GF @K2 Pro-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper PETG-GF @K2 Pro-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "9cVMYbupJs6RNOy7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFLgwqp2" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-GF @K2 Pro-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "9cVMYbupJs6RNOy7", + "filament_id": "OFLgwqp2", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PETG-GF @K2-all.json b/resources/profiles/Creality/filament/Hyper PETG-GF @K2-all.json index eafa06d339..6e883d6663 100644 --- a/resources/profiles/Creality/filament/Hyper PETG-GF @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PETG-GF @K2-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper PETG-GF @K2-all", - "inherits": "fdm_filament_common", - "from": "system", - "setting_id": "LFtfaG6s8REfWmjg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "29.9" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_type": [ - "PETG-GF" - ], - "filament_vendor": [ - "Creality" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "required_nozzle_HRC": [ - "0" - ], - "temperature_vitrification": [ - "80" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFLgwqp2" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PETG-GF @K2-all", + "inherits": "fdm_filament_common", + "from": "system", + "setting_id": "LFtfaG6s8REfWmjg", + "filament_id": "OFLgwqp2", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.9" + ], + "filament_density": [ + "1.32" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_type": [ + "PETG-GF" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "temperature_vitrification": [ + "80" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @CR-10 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA @CR-10 SE-all.json new file mode 100644 index 0000000000..779216814e --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @CR-10 SE-all.json @@ -0,0 +1,146 @@ +{ + "type": "filament", + "name": "Hyper PLA @CR-10 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "mlEWV69IgZ6iC7VM", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @CR-M4 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA @CR-M4 SE-all.json new file mode 100644 index 0000000000..c889c334f0 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @CR-M4 SE-all.json @@ -0,0 +1,143 @@ +{ + "type": "filament", + "name": "Hyper PLA @CR-M4 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "UQQt5UseRcOUsmvI", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "22" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "filament_start_gcode": [ + "\" \"" + ], + "filament_end_gcode": [ + "\" \"" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[8.0,210]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Plus-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Plus-all.json new file mode 100644 index 0000000000..75b9a5bd0c --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Plus-all.json @@ -0,0 +1,120 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 S1 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ybueJQhMk3WJ5oYu", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-3 S1 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Pro-all.json new file mode 100644 index 0000000000..75e9f7fd4d --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Pro-all.json @@ -0,0 +1,120 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 S1 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "N6F4Q7gHMILWifkd", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-3 S1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Sonic-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Sonic-all.json new file mode 100644 index 0000000000..c04c61f8d0 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1 Sonic-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 S1 Sonic-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "tAEqUR1QHm0yXOqz", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1-all.json new file mode 100644 index 0000000000..a96d497009 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 S1-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 S1-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XpoXBsTY1UIsShcD", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "20", + "compatible_printers": [ + "Creality Ender-3 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..675bff1aca --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 KE-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "K48vhJIIKA0gOqrT", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[2.0,205],[4.0,215],[7.0,220]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..93d0e055f5 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,155 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "KPU9W1pTRZLW2mcv", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "0" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "80", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,200],[10.0,220],[12.0,220]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..8a8dc7c0b6 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3 SE-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "hPCZJwKNFERgGwow", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "0.2" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..85fd1e25db --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V3-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "uaxsRKRO6rkA4KQs", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V4-all.json index 8fbc885c07..ed04e85cd6 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3 V4-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Hyper PLA @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "jO61I2nsJ2yY0WG4", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "jO61I2nsJ2yY0WG4", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,210],[1.0,210],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-3-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-3-all.json new file mode 100644 index 0000000000..f9e7b029ea --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-3-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "pkEk3I3u5ULuHMR9", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-5 Max-all.json deleted file mode 100644 index 6c5bac864d..0000000000 --- a/resources/profiles/Creality/filament/Hyper PLA @Ender-5 Max-all.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "type": "filament", - "name": "Hyper PLA @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Nb1H9jKg8CPQXLVI", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "45" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "45", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "55", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.5,220]]", - "pressure_advance": "0.048", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle", - "Creality Ender-5 Max 0.6 nozzle", - "Creality Ender-5 Max 0.8 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1 Sonic-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1 Sonic-all.json new file mode 100644 index 0000000000..20aec231bd --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1 Sonic-all.json @@ -0,0 +1,126 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-5 S1 Sonic-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Wz2JrEOCCMM8TzMD", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1-all.json b/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1-all.json new file mode 100644 index 0000000000..6a0aa5faf3 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Ender-5 S1-all.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "Hyper PLA @Ender-5 S1-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "6AVwYT9KJufuPaZ7", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.5,200],[7.0,240]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-5 S1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Hi-all.json b/resources/profiles/Creality/filament/Hyper PLA @Hi-all.json index c5297f78ed..231c96f808 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @Hi-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Hyper PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "AG1UL48Bof1wFYDF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[2.2,200],[3.0,210],[10.0,215],[23.0,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.2 nozzle", - "Creality Hi 0.4 nozzle", - "Creality Hi 0.6 nozzle", - "Creality Hi 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "AG1UL48Bof1wFYDF", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[2.2,200],[3.0,210],[10.0,215],[23.0,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.2 nozzle", + "Creality Hi 0.4 nozzle", + "Creality Hi 0.6 nozzle", + "Creality Hi 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1 Max_CFS-C-all.json index be08cd5bb4..131fc6166d 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1 Max_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "lRYhcdi64EmFem40", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "lRYhcdi64EmFem40", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1 SE-all.json index 2d764065a5..c9a1c2ec02 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1 SE-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Hyper PLA @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "w22rt5ipwYogeRyf", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.038", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle", - "Creality K1 SE 0.6 nozzle", - "Creality K1 SE 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "w22rt5ipwYogeRyf", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.038", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle", + "Creality K1 SE 0.6 nozzle", + "Creality K1 SE 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1 SE_CFS-C-all.json index 0c80515aaa..edb0299bd1 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1 SE_CFS-C-all.json @@ -1,138 +1,136 @@ { - "type": "filament", - "name": "Hyper PLA @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "qV4HvI6OV80255YA", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.038", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "qV4HvI6OV80255YA", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.038", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1C-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1C-all.json index 4b3f6b5a60..1b5cb0960a 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "TnpXw6J6vdHtcI0m", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle", - "Creality K1C 0.6 nozzle", - "Creality K1C 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "TnpXw6J6vdHtcI0m", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "35" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle", + "Creality K1C 0.6 nozzle", + "Creality K1C 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1C_CFS-C-all.json index f0513b112b..545ca6d21e 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1C_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "NkW5cDCzmoseCFmO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NkW5cDCzmoseCFmO", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "35" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA @K1_CFS-C-all.json index c4175d3ead..363e4d1fff 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K1_CFS-C-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Q74GgG8YgUE29949", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Q74GgG8YgUE29949", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,190], [1.2,190], [1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PLA @K2 Plus-all.json index 193bf2dee6..4f7e0130f6 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K2 Plus-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "CCn1pBWY533DPO2I", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.2 nozzle", - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CCn1pBWY533DPO2I", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "20" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.2 nozzle", + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA @K2 Pro-all.json index 3d8a1cbdd6..8a7ba55748 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K2 Pro-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "1KX2t8HgeGnCF4Mt", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "30", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle", - "Creality K2 Pro 0.6 nozzle", - "Creality K2 Pro 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "1KX2t8HgeGnCF4Mt", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "30", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,195],[1.2,195],[1.5,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle", + "Creality K2 Pro 0.6 nozzle", + "Creality K2 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA @K2 SE-all.json index 34f98b70ae..ff07932212 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K2 SE-all.json @@ -1,140 +1,138 @@ { - "type": "filament", - "name": "Hyper PLA @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zTFbjztyji63caxW", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zTFbjztyji63caxW", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @K2-all.json b/resources/profiles/Creality/filament/Hyper PLA @K2-all.json index f47ea8a5d8..ff2f92dafc 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @K2-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "Hyper PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "klq59FDTiu0dk3WO", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "30", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle", - "Creality K2 0.6 nozzle", - "Creality K2 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "klq59FDTiu0dk3WO", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "30", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle", + "Creality K2 0.6 nozzle", + "Creality K2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper PLA @SPARKX i7-all.json index 00afa33b11..8487bf8565 100644 --- a/resources/profiles/Creality/filament/Hyper PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA @SPARKX i7-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Hyper PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "pvnoJu0FPBxRAX6w", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "30" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "0", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,205],[1.2,220]]", - "pressure_advance": "0.28", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.2 nozzle", - "Creality SPARKX i7 0.4 nozzle", - "Creality SPARKX i7 0.6 nozzle", - "Creality SPARKX i7 0.8 nozzle" - ], - "filament_id": "OFCZsqXg" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "pvnoJu0FPBxRAX6w", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "0", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,205],[1.2,220]]", + "pressure_advance": "0.28", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.2 nozzle", + "Creality SPARKX i7 0.4 nozzle", + "Creality SPARKX i7 0.6 nozzle", + "Creality SPARKX i7 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3 Pro-all.json new file mode 100644 index 0000000000..b423223437 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3 Pro-all.json @@ -0,0 +1,150 @@ +{ + "type": "filament", + "name": "Hyper PLA @Sermoon D3 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Rh1eymlYH1u6IvzP", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "1" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3-all.json b/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3-all.json new file mode 100644 index 0000000000..6cd99992e9 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Sermoon D3-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Hyper PLA @Sermoon D3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "di2xwPCjXAzsNHQ7", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper PLA @Sermoon M300-all.json new file mode 100644 index 0000000000..18d709497d --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Sermoon M300-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Hyper PLA @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DmU0yWAIDK8EOaS3", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA @Sermoon V1 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA @Sermoon V1 Pro-all.json new file mode 100644 index 0000000000..f433ffcde9 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA @Sermoon V1 Pro-all.json @@ -0,0 +1,151 @@ +{ + "type": "filament", + "name": "Hyper PLA @Sermoon V1 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Q7HYM3Yf7KcL6GeF", + "filament_id": "OFCZsqXg", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..5935ef47cb --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3 Plus-all.json @@ -0,0 +1,153 @@ +{ + "type": "filament", + "name": "Hyper PLA-CF @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "yok46e0rKj3i5ybi", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3-all.json new file mode 100644 index 0000000000..b9d47063e9 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V3-all.json @@ -0,0 +1,171 @@ +{ + "type": "filament", + "name": "Hyper PLA-CF @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "fpFhOw0DIpQqzbiC", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V4-all.json index fb92e57672..6aa016c0a5 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-3 V4-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper PLA-CF @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "30n5mJl8L6az4Ugt", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", - "pressure_advance": "0.028", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "30n5mJl8L6az4Ugt", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", + "pressure_advance": "0.028", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-5 Max-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-5 Max-all.json deleted file mode 100644 index 7592840259..0000000000 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @Ender-5 Max-all.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "type": "filament", - "name": "Hyper PLA-CF @Ender-5 Max-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "pW3AHx1VemLWSa7q", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-5 Max 0.4 nozzle" - ] -} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Hi-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Hi-all.json index e63ee3717d..87a03604c7 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Hi-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Hyper PLA-CF @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "l4gTfu7FrFCXseZR", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "l4gTfu7FrFCXseZR", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 Max_CFS-C-all.json index d1a9cb3a38..eef42d1c01 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 Max_CFS-C-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "jNMBQgVxJOyIVLcq", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "jNMBQgVxJOyIVLcq", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE-all.json index 368b104901..b6fa3185df 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "qmyerfbWbH0wbbk7", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "60" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "qmyerfbWbH0wbbk7", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE_CFS-C-all.json index 215a01e8a7..b205835d92 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1 SE_CFS-C-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1 SE_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "l8sx6lH2mvQLZObS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_cooling_layer_time": [ - "60" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", - "pressure_advance": "0.036", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 SE_CFS-C 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1 SE_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "l8sx6lH2mvQLZObS", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,190],[5.0,200],[14.0,210],[23.0,220]]", + "pressure_advance": "0.036", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 SE_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1C-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1C-all.json index d6d269db66..89a64caad9 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "23SZfDiYXhm9hn5G", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "23SZfDiYXhm9hn5G", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1C_CFS-C-all.json index 5ed8fbe15f..7c2ebcd7fa 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1C_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ITQgXSnjWFeY68wT", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ITQgXSnjWFeY68wT", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K1_CFS-C-all.json index fe506e1147..5947f13e5c 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K1_CFS-C-all.json @@ -1,157 +1,155 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "9rf6iQ0xQuReogCt", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "0", - "filament_retract_lift_enforce": "All Surfaces", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", - "pressure_advance": "0.02", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9rf6iQ0xQuReogCt", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.02", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Plus-all.json index f9267d07e8..078a075008 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GjpBicP4kPE8flGx", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GjpBicP4kPE8flGx", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Pro-all.json index 9c465b0d30..2e1f5752d6 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 Pro-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Y4er7SRg27NLBiG1", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Y4er7SRg27NLBiG1", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 SE-all.json index 94ac06f8bb..a22777631f 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K2 SE-all.json @@ -1,149 +1,147 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "NBqaRVKwrOk8znjG", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "40" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NBqaRVKwrOk8znjG", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @K2-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @K2-all.json index d0344132b6..ef5c46b673 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @K2-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Hyper PLA-CF @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "L7pciawKG1j3Q543", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "L7pciawKG1j3Q543", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @SPARKX i7-all.json index 53b640d939..7427735721 100644 --- a/resources/profiles/Creality/filament/Hyper PLA-CF @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @SPARKX i7-all.json @@ -1,176 +1,174 @@ { - "type": "filament", - "name": "Hyper PLA-CF @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "18bK3EZVaHGwGmsL", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "32" - ], - "filament_density": [ - "1.27" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFTnWzBs" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PLA-CF @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "18bK3EZVaHGwGmsL", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon D3 Pro-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon D3 Pro-all.json new file mode 100644 index 0000000000..00d3920a24 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon D3 Pro-all.json @@ -0,0 +1,150 @@ +{ + "type": "filament", + "name": "Hyper PLA-CF @Sermoon D3 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "CAYb6ctqqPxeVUG1", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "1" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "0", + "filament_retract_lift_enforce": "All Surfaces", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon D3 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon M300-all.json new file mode 100644 index 0000000000..1a73001297 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper PLA-CF @Sermoon M300-all.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "Hyper PLA-CF @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NlVNH5P2LBuXEmLT", + "filament_id": "OFTnWzBs", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "32" + ], + "filament_density": [ + "1.27" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "23" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Plus-all.json index c817224955..11b26eae81 100644 --- a/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Plus-all.json @@ -1,185 +1,183 @@ { - "type": "filament", - "name": "Hyper PPA-CF @K2 Plus-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "ltnrZwbu4XXaDTkF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "89.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "70" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle", - "Creality K2 Plus 0.6 nozzle", - "Creality K2 Plus 0.8 nozzle" - ], - "filament_id": "OFNvBIL0" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PPA-CF @K2 Plus-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "ltnrZwbu4XXaDTkF", + "filament_id": "OFNvBIL0", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "89.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle", + "Creality K2 Plus 0.6 nozzle", + "Creality K2 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Pro-all.json index 4f7d4ddf2f..1c76caff66 100644 --- a/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper PPA-CF @K2 Pro-all.json @@ -1,181 +1,179 @@ { - "type": "filament", - "name": "Hyper PPA-CF @K2 Pro-all", - "inherits": "fdm_filament_pa", - "from": "system", - "setting_id": "wrCqzQPdSReyJSfo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ - "89.9" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.94" - ], - "filament_is_support": [ - "0" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PA-CF" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature": [ - "300" - ], - "nozzle_temperature_initial_layer": [ - "300" - ], - "nozzle_temperature_range_high": [ - "320" - ], - "nozzle_temperature_range_low": [ - "280" - ], - "overhang_fan_speed": [ - "80" - ], - "overhang_fan_threshold": [ - "10%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "12" - ], - "temperature_vitrification": [ - "110" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "0", - "epoxy_resin_plate_temp_initial_layer": "0", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.044", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFNvBIL0" -} \ No newline at end of file + "type": "filament", + "name": "Hyper PPA-CF @K2 Pro-all", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "wrCqzQPdSReyJSfo", + "filament_id": "OFNvBIL0", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "89.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "temperature_vitrification": [ + "110" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.044", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..e9c60f83e1 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 KE-all.json @@ -0,0 +1,154 @@ +{ + "type": "filament", + "name": "Hyper Stardust @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "pq5xoNBva9Vik7Rv", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.7,200],[0.8,200],[1.0,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..a9dcb9a7a1 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 Plus-all.json @@ -0,0 +1,156 @@ +{ + "type": "filament", + "name": "Hyper Stardust @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Sx2y90keaEJncyPw", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..17aeff1519 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3 SE-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Hyper Stardust @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "P2HxpxRxL0G4E1nR", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "15" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "2" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "15" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3-all.json new file mode 100644 index 0000000000..472a1aa82a --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Stardust @Ender-3 V3-all.json @@ -0,0 +1,157 @@ +{ + "type": "filament", + "name": "Hyper Stardust @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "pnJsYSX88wTBQ4jV", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.0,200],[1.3,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Hi-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Hi-all.json index 02756e4af3..05abf81f1d 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @Hi-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @Hi-all.json @@ -1,156 +1,154 @@ { - "type": "filament", - "name": "Hyper Stardust @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Jg5EAOLRZBLTvozN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.5,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Jg5EAOLRZBLTvozN", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200],[1.2,200],[1.5,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K1 Max_CFS-C-all.json index 0af9505f19..9a050ee4b8 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K1 Max_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "hwto2aYfebw6i6sm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "hwto2aYfebw6i6sm", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K1C-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K1C-all.json index 7afa71cd4c..37d9c6b652 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K1C-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K1C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "GC5jc2gUOL34TtA2", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GC5jc2gUOL34TtA2", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K1C_CFS-C-all.json index 058d4439ea..6a55b510b4 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K1C_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zqZR6xEtm9Gokib0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "0" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "0", - "filament_retract_lift_below": "249", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zqZR6xEtm9Gokib0", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "0" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "0", + "filament_retract_lift_below": "249", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K1_CFS-C-all.json index f90af90902..c61f91d90a 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K1_CFS-C-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "fWmKrIlCzeemGvXQ", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "30" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "fWmKrIlCzeemGvXQ", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.8,200], [1.2,200], [1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K2 Plus-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K2 Plus-all.json index 7580e9f4e9..d33ce12919 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K2 Plus-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "Q0hz1XpiWQeZhcjF", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "35" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "35" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "3" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.2,200],[1.1,200],[1.2,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Q0hz1XpiWQeZhcjF", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "35" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.2,200],[1.1,200],[1.2,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K2 Pro-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K2 Pro-all.json index 1e307464b1..b6fa563aa5 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K2 Pro-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "SjkfsdLhjA5CFsCl", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "SjkfsdLhjA5CFsCl", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K2 SE-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K2 SE-all.json index 9134285053..5781afd1cd 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K2 SE-all.json @@ -1,143 +1,141 @@ { - "type": "filament", - "name": "Hyper Stardust @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "O2BLGgWwKLgovOmm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "3" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "O2BLGgWwKLgovOmm", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "3" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @K2-all.json b/resources/profiles/Creality/filament/Hyper Stardust @K2-all.json index 154376069e..3ff2394a43 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @K2-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @K2-all.json @@ -1,161 +1,159 @@ { - "type": "filament", - "name": "Hyper Stardust @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "4OC4zOZaAUUsyu27", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "Slope Lift" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "4OC4zOZaAUUsyu27", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @SPARKX i7-all.json b/resources/profiles/Creality/filament/Hyper Stardust @SPARKX i7-all.json index 43ccb7898c..8d0475a9e7 100644 --- a/resources/profiles/Creality/filament/Hyper Stardust @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Hyper Stardust @SPARKX i7-all.json @@ -1,179 +1,177 @@ { - "type": "filament", - "name": "Hyper Stardust @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "flyQf6Emi8ND7BDe", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_cost": [ - "26.9" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1" - ], - "filament_retraction_minimum_travel": [ - "2" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "1" - ], - "filament_wipe_distance": [ - "2" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", - "pressure_advance": "0.028", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OFXnToSX" -} \ No newline at end of file + "type": "filament", + "name": "Hyper Stardust @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "flyQf6Emi8ND7BDe", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.6,210],[1.2,220]]", + "pressure_advance": "0.028", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Hyper Stardust @Sermoon M300-all.json b/resources/profiles/Creality/filament/Hyper Stardust @Sermoon M300-all.json new file mode 100644 index 0000000000..a3dc2ea646 --- /dev/null +++ b/resources/profiles/Creality/filament/Hyper Stardust @Sermoon M300-all.json @@ -0,0 +1,159 @@ +{ + "type": "filament", + "name": "Hyper Stardust @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "LbpYWARON1ZTN1lF", + "filament_id": "OFXnToSX", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "26.9" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,200],[1.0,200],[1.2,220]]", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Panchroma PLA Matte @K2 Plus-all.json b/resources/profiles/Creality/filament/Panchroma PLA Matte @K2 Plus-all.json index 62f308a71b..5eddb9e5dd 100644 --- a/resources/profiles/Creality/filament/Panchroma PLA Matte @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Panchroma PLA Matte @K2 Plus-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "Panchroma PLA Matte @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "ArTNQCA0xnqZKZk9", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "20.99" - ], - "filament_density": [ - "1.31" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "7" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "55" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFrOh600" -} \ No newline at end of file + "type": "filament", + "name": "Panchroma PLA Matte @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "ArTNQCA0xnqZKZk9", + "filament_id": "OFrOh600", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "20.99" + ], + "filament_density": [ + "1.31" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Panchroma PLA Satin @K2 Plus-all.json b/resources/profiles/Creality/filament/Panchroma PLA Satin @K2 Plus-all.json index 5d7f4818bd..8016cb164e 100644 --- a/resources/profiles/Creality/filament/Panchroma PLA Satin @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Panchroma PLA Satin @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "Panchroma PLA Satin @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "dK0jvrB1WOFjPf7g", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19.99" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "55" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFPkCJKE" -} \ No newline at end of file + "type": "filament", + "name": "Panchroma PLA Satin @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "dK0jvrB1WOFjPf7g", + "filament_id": "OFPkCJKE", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19.99" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/PolySonic PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/PolySonic PLA @K2 Plus-all.json index 20bd0700ab..f6ca211c24 100644 --- a/resources/profiles/Creality/filament/PolySonic PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/PolySonic PLA @K2 Plus-all.json @@ -1,172 +1,170 @@ { - "type": "filament", - "name": "PolySonic PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "K3kUZYddQO8SUKKa", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "55" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF66KUAN" -} \ No newline at end of file + "type": "filament", + "name": "PolySonic PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "K3kUZYddQO8SUKKa", + "filament_id": "OF66KUAN", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/PolySonic PLA Pro @K2 Plus-all.json b/resources/profiles/Creality/filament/PolySonic PLA Pro @K2 Plus-all.json index acd8558abe..384df90aea 100644 --- a/resources/profiles/Creality/filament/PolySonic PLA Pro @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/PolySonic PLA Pro @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "PolySonic PLA Pro @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "DEU6e8l8Gbz616Fi", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "55" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFKbdiiJ" -} \ No newline at end of file + "type": "filament", + "name": "PolySonic PLA Pro @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DEU6e8l8Gbz616Fi", + "filament_id": "OFKbdiiJ", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..0df433e3db --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 KE-all.json @@ -0,0 +1,120 @@ +{ + "type": "filament", + "name": "Soleyin Basic PETG @Ender-3 V3 KE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "eQu3UILWB8OQPf1X", + "instantiation": "true", + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "0.4" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "chamber_temperature": "35", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "material_flow_temp_graph": "[[1.0,230],[1.2,230],[1.3,240]]", + "pressure_advance": "0.09", + "default_filament_colour": "\"\"", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ], + "filament_id": "OFBLktDy" +} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..cfcaf8dcd4 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 Plus-all.json @@ -0,0 +1,122 @@ +{ + "type": "filament", + "name": "Soleyin Basic PETG @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "uYReKb57FZWbcn66", + "instantiation": "true", + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "15.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "14" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "chamber_temperature": "35", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "material_flow_temp_graph": "[[0.5,220],[1.0,220],[1.2,240]]", + "pressure_advance": "0.076", + "default_filament_colour": "\"\"", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ], + "filament_id": "OFBLktDy" +} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..07826b7931 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3 SE-all.json @@ -0,0 +1,105 @@ +{ + "type": "filament", + "name": "Soleyin Basic PETG @Ender-3 V3 SE-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "IkpZHqKxz3D4DM8n", + "instantiation": "true", + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15.9" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "chamber_temperature": "35", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,240]]", + "pressure_advance": "0.02", + "default_filament_colour": "\"\"", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ], + "filament_id": "OFBLktDy" +} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3-all.json new file mode 100644 index 0000000000..6cb9b5389d --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Basic PETG @Ender-3 V3-all.json @@ -0,0 +1,119 @@ +{ + "type": "filament", + "name": "Soleyin Basic PETG @Ender-3 V3-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "VFPEq8OL7ibFlpNn", + "instantiation": "true", + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "15.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "30" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_speed": [ + "30" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "1.5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "14" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "chamber_temperature": "35", + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "material_flow_temp_graph": "[[0.5,220],[1.0,220],[1.2,240]]", + "pressure_advance": "0.076", + "default_filament_colour": "\"\"", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ], + "filament_id": "OFBLktDy" +} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Soleyin Basic PETG @Sermoon M300-all.json b/resources/profiles/Creality/filament/Soleyin Basic PETG @Sermoon M300-all.json new file mode 100644 index 0000000000..ee7263427c --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Basic PETG @Sermoon M300-all.json @@ -0,0 +1,124 @@ +{ + "type": "filament", + "name": "Soleyin Basic PETG @Sermoon M300-all", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "oKRNh6oI0CNy6guE", + "instantiation": "true", + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "15.9" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_speed": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "customized_plate_temp": "70", + "customized_plate_temp_initial_layer": "70", + "enable_pressure_advance": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "material_flow_temp_graph": "[[0.5,230],[1.0,230],[1.2,250]]", + "pressure_advance": "0.075", + "default_filament_colour": "\"\"", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle", + "Creality Sermoon M300 0.6 nozzle", + "Creality Sermoon M300 0.8 nozzle" + ], + "filament_id": "OFBLktDy" +} \ No newline at end of file diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 KE-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 KE-all.json new file mode 100644 index 0000000000..bd347fcae8 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 KE-all.json @@ -0,0 +1,160 @@ +{ + "type": "filament", + "name": "Soleyin Ultra PLA @Ender-3 V3 KE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "M9hiEdBSP3W0lVeo", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "40" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 KE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 Plus-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 Plus-all.json new file mode 100644 index 0000000000..cc3c80c511 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 Plus-all.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "Soleyin Ultra PLA @Ender-3 V3 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "deiJHFWuGggB0V8x", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "65", + "epoxy_resin_plate_temp_initial_layer": "65", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.4 nozzle", + "Creality Ender-3 V3 Plus 0.6 nozzle", + "Creality Ender-3 V3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 SE-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 SE-all.json new file mode 100644 index 0000000000..daceb58f57 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3 SE-all.json @@ -0,0 +1,163 @@ +{ + "type": "filament", + "name": "Soleyin Ultra PLA @Ender-3 V3 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XR1hw32yGPSpPq7H", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "15" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "15" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.1,200],[1.2,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3-all.json new file mode 100644 index 0000000000..7e3a6ff4ca --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V3-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "Soleyin Ultra PLA @Ender-3 V3-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "TTnVw4dyyvrEM4Pj", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "70" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_start_gcode": [ + ";filament start gcode\n" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "65", + "epoxy_resin_plate_temp_initial_layer": "65", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210], [10.0,220], [12.0,230]]", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V3 0.4 nozzle", + "Creality Ender-3 V3 0.6 nozzle", + "Creality Ender-3 V3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V4-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V4-all.json index b159f9141b..d8da599f2e 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V4-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Ender-3 V4-all.json @@ -1,153 +1,151 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @Ender-3 V4-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "lMmOE3j5nMNIukQN", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.93" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "1" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "60", - "customized_plate_temp_initial_layer": "60", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", - "pressure_advance": "0.024", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Ender-3 V4 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @Ender-3 V4-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "lMmOE3j5nMNIukQN", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "1" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "60", + "customized_plate_temp_initial_layer": "60", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,220]]", + "pressure_advance": "0.024", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Ender-3 V4 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Hi-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Hi-all.json index 163ed96d8a..3e8218631a 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Hi-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Hi-all.json @@ -1,146 +1,144 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @Hi-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "DzjjhzaPhKF7olJU", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - " ; filament end gcode" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "dont_slow_down_outer_wall": "1", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", - "pressure_advance": "0.068", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality Hi 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @Hi-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DzjjhzaPhKF7olJU", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + " ; filament end gcode" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "dont_slow_down_outer_wall": "1", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.068", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Hi 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json index 5612fad4d2..02f2e4e522 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1 Max_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K1 Max_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "9dhggId2Cg5oR8Qo", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.066", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1 Max_CFS-C 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K1 Max_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9dhggId2Cg5oR8Qo", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > initial_layer_print_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1 Max_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C-all.json index f975e2b6c4..9bf300cddd 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K1C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "XP2BDRK5jZOC4TYv", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.066", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K1C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "XP2BDRK5jZOC4TYv", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C_CFS-C-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C_CFS-C-all.json index 9f4c2d9029..f679fcd5cf 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1C_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K1C_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "98NLzuVoD8d35zrm", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.066", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1C_CFS-C 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K1C_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "98NLzuVoD8d35zrm", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.066", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1C_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1_CFS-C-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1_CFS-C-all.json index 0c7bd485be..511b5d54c5 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1_CFS-C-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K1_CFS-C-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K1_CFS-C-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "zovui7ZsQ26KEgYY", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "50", - "epoxy_resin_plate_temp_initial_layer": "50", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.074", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K1_CFS-C 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K1_CFS-C-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "zovui7ZsQ26KEgYY", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + ";filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "50", + "epoxy_resin_plate_temp_initial_layer": "50", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.074", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K1_CFS-C 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Plus-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Plus-all.json index 06b1fc8729..95cf3dce88 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Plus-all.json @@ -1,165 +1,163 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "QJjtgwE6G4TS3V6y", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "80" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "QJjtgwE6G4TS3V6y", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "80" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Pro-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Pro-all.json index 37702f76c0..bae012fbbf 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Pro-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 Pro-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K2 Pro-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "cprQoD8o6UmetOxS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "95" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Pro 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K2 Pro-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "cprQoD8o6UmetOxS", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "95" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 SE-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 SE-all.json index 7ff723f655..8c52ebabe2 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 SE-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2 SE-all.json @@ -1,150 +1,148 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K2 SE-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "vAzjJYRL4Swmyq0z", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "90%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "customized_plate_temp": "0", - "customized_plate_temp_initial_layer": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 SE 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K2 SE-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "vAzjJYRL4Swmyq0z", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "0", + "customized_plate_temp_initial_layer": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,200],[1.2,200],[1.3,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 SE 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2-all.json index 2d68106751..b8eb3d503b 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @K2-all.json @@ -1,168 +1,166 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @K2-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "UhE9df2kH6LealCb", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "95" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.97" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", - "pressure_advance": "0.06", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @K2-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "UhE9df2kH6LealCb", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "95" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,190],[1.0,190],[1.2,220]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @SPARKX i7-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @SPARKX i7-all.json index 9bad5351c2..c7f54e1c4b 100644 --- a/resources/profiles/Creality/filament/Soleyin Ultra PLA @SPARKX i7-all.json +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @SPARKX i7-all.json @@ -1,174 +1,172 @@ { - "type": "filament", - "name": "Soleyin Ultra PLA @SPARKX i7-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "SlwK2b9m8ZQJY4nH", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "during_print_exhaust_fan_speed": [ - "0" - ], - "eng_plate_temp": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "80" - ], - "filament_cost": [ - "6" - ], - "filament_density": [ - "1.25" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "0.6" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "Creality" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "14" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "70" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - ";filament start gcode" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "1", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", - "pressure_advance": "0.05", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality SPARKX i7 0.4 nozzle" - ], - "filament_id": "OF02UAVh" -} \ No newline at end of file + "type": "filament", + "name": "Soleyin Ultra PLA @SPARKX i7-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "SlwK2b9m8ZQJY4nH", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "80" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "0.6" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + ";filament start gcode" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "1", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[1.0,210],[1.2,220]]", + "pressure_advance": "0.05", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality SPARKX i7 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/Soleyin Ultra PLA @Sermoon M300-all.json b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Sermoon M300-all.json new file mode 100644 index 0000000000..3c1aac03f4 --- /dev/null +++ b/resources/profiles/Creality/filament/Soleyin Ultra PLA @Sermoon M300-all.json @@ -0,0 +1,166 @@ +{ + "type": "filament", + "name": "Soleyin Ultra PLA @Sermoon M300-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "gZsP2JRQ3MnRJfLx", + "filament_id": "OF02UAVh", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_cost": [ + "6" + ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "Creality" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "14" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "0", + "epoxy_resin_plate_temp_initial_layer": "0", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[0.5,205],[1.0,205],[1.2,220]]", + "pressure_advance": "0.06", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN ABS+ @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN ABS+ @K2 Plus-all.json index 77f2c6a6bf..7e5976dfdf 100644 --- a/resources/profiles/Creality/filament/eSUN ABS+ @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN ABS+ @K2 Plus-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "eSUN ABS+ @K2 Plus-all", - "inherits": "fdm_filament_abs", - "from": "system", - "setting_id": "7plEfQUFL6qclQ8B", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_max_speed": [ - "60" - ], - "filament_cost": [ - "15" - ], - "filament_density": [ - "1.08" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "textured_plate_temp": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "60", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFTXduCM" -} \ No newline at end of file + "type": "filament", + "name": "eSUN ABS+ @K2 Plus-all", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "7plEfQUFL6qclQ8B", + "filament_id": "OFTXduCM", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_max_speed": [ + "60" + ], + "filament_cost": [ + "15" + ], + "filament_density": [ + "1.08" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "60", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN ASA+ @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN ASA+ @K2 Plus-all.json index 1afd5f1511..01e9994985 100644 --- a/resources/profiles/Creality/filament/eSUN ASA+ @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN ASA+ @K2 Plus-all.json @@ -1,159 +1,157 @@ { - "type": "filament", - "name": "eSUN ASA+ @K2 Plus-all", - "inherits": "fdm_filament_asa", - "from": "system", - "setting_id": "WjM4WIPAamvbee7G", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "100" - ], - "cool_plate_temp_initial_layer": [ - "100" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "fan_cooling_layer_time": [ - "40" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.1" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "nozzle_temperature": [ - "270" - ], - "nozzle_temperature_initial_layer": [ - "270" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "20" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_layer": "2", - "activate_chamber_temp_control": "1", - "chamber_temperature": "50", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "90", - "epoxy_resin_plate_temp_initial_layer": "90", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFUmS5z5" -} \ No newline at end of file + "type": "filament", + "name": "eSUN ASA+ @K2 Plus-all", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "WjM4WIPAamvbee7G", + "filament_id": "OFUmS5z5", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "fan_cooling_layer_time": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.1" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_layer": "2", + "activate_chamber_temp_control": "1", + "chamber_temperature": "50", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "90", + "epoxy_resin_plate_temp_initial_layer": "90", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PET-Basic @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PET-Basic @K2 Plus-all.json index 08ab12e2c9..f7822a2487 100644 --- a/resources/profiles/Creality/filament/eSUN PET-Basic @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PET-Basic @K2 Plus-all.json @@ -1,189 +1,187 @@ { - "type": "filament", - "name": "eSUN PET-Basic @K2 Plus-all", - "inherits": "fdm_filament_pet", - "from": "system", - "setting_id": "fJJfZCZc5MrXX1Lg", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "105" - ], - "eng_plate_temp_initial_layer": [ - "105" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "40" - ], - "filament_cost": [ - "20" - ], - "filament_density": [ - "1.28" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PET" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "25%" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "110" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "60", - "epoxy_resin_plate_temp_initial_layer": "60", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFHaYaB1" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PET-Basic @K2 Plus-all", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "fJJfZCZc5MrXX1Lg", + "filament_id": "OFHaYaB1", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.28" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PET" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "60", + "epoxy_resin_plate_temp_initial_layer": "60", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PLA+ @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PLA+ @K2 Plus-all.json index d4f35de9be..83240e0283 100644 --- a/resources/profiles/Creality/filament/eSUN PLA+ @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PLA+ @K2 Plus-all.json @@ -1,163 +1,161 @@ { - "type": "filament", - "name": "eSUN PLA+ @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "AW7HLQJ78DAEUjge", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "80%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "55" - ], - "hot_plate_temp_initial_layer": [ - "55" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "6" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "53" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "55", - "customized_plate_temp_initial_layer": "55", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "45", - "epoxy_resin_plate_temp_initial_layer": "45", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFqINlYj" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PLA+ @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "AW7HLQJ78DAEUjge", + "filament_id": "OFqINlYj", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "80%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "53" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "55", + "customized_plate_temp_initial_layer": "55", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "45", + "epoxy_resin_plate_temp_initial_layer": "45", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PLA-LW @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PLA-LW @K2 Plus-all.json index 2e4b7703a0..6db1c4631d 100644 --- a/resources/profiles/Creality/filament/eSUN PLA-LW @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PLA-LW @K2 Plus-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "eSUN PLA-LW @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "9lAD1qJIwwtcSvk0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "45" - ], - "eng_plate_temp_initial_layer": [ - "45" - ], - "fan_min_speed": [ - "50" - ], - "filament_cost": [ - "30" - ], - "filament_density": [ - "1.2" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.86" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "6" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "1" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "0", - "chamber_temperature": "0", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "0", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_shrinkage_compensation_z": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", - "pressure_advance": "0.1", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFi5RSve" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PLA-LW @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9lAD1qJIwwtcSvk0", + "filament_id": "OFi5RSve", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.86" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "1" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "0", + "chamber_temperature": "0", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "0", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_shrinkage_compensation_z": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "pressure_advance": "0.1", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PLA-Lite @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PLA-Lite @K2 Plus-all.json index d5f4324da1..b9be49bb1c 100644 --- a/resources/profiles/Creality/filament/eSUN PLA-Lite @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PLA-Lite @K2 Plus-all.json @@ -1,169 +1,167 @@ { - "type": "filament", - "name": "eSUN PLA-Lite @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "om2444MoWYK7ZCqS", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.23" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "13" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "53" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFhbolij" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PLA-Lite @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "om2444MoWYK7ZCqS", + "filament_id": "OFhbolij", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.23" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "53" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PLA-Matte @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PLA-Matte @K2 Plus-all.json index bca728ae00..3bdb36e816 100644 --- a/resources/profiles/Creality/filament/eSUN PLA-Matte @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PLA-Matte @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "eSUN PLA-Matte @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "BYYGdJpoZG5BXr1r", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_density": [ - "1.33" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "1" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "14" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "51" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode \n" - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFDETOM6" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PLA-Matte @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "BYYGdJpoZG5BXr1r", + "filament_id": "OFDETOM6", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_density": [ + "1.33" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "51" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode \n" + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/filament/eSUN PLA-Silk @K2 Plus-all.json b/resources/profiles/Creality/filament/eSUN PLA-Silk @K2 Plus-all.json index fa57453069..2d41fc01a8 100644 --- a/resources/profiles/Creality/filament/eSUN PLA-Silk @K2 Plus-all.json +++ b/resources/profiles/Creality/filament/eSUN PLA-Silk @K2 Plus-all.json @@ -1,166 +1,164 @@ { - "type": "filament", - "name": "eSUN PLA-Silk @K2 Plus-all", - "inherits": "fdm_filament_pla", - "from": "system", - "setting_id": "IfZwVzcyYM0D5XR0", - "instantiation": "true", - "activate_air_filtration": [ - "0" - ], - "additional_cooling_fan_speed": [ - "100" - ], - "complete_print_exhaust_fan_speed": [ - "80" - ], - "cool_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "during_print_exhaust_fan_speed": [ - "60" - ], - "eng_plate_temp": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "filament_cost": [ - "19" - ], - "filament_density": [ - "1.21" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "100%" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "1.2" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_soluble": [ - "0" - ], - "filament_vendor": [ - "eSUN" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "nozzle_temperature_range_low": [ - "210" - ], - "required_nozzle_HRC": [ - "0" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ], - "temperature_vitrification": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "filament_start_gcode": [ - "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" - ], - "filament_end_gcode": [ - ";filament end gcode " - ], - "activate_chamber_temp_control": "1", - "chamber_temperature": "35", - "cool_cds_fan_start_at_height": "0.5", - "cool_special_cds_fan_speed": "100", - "customized_plate_temp": "50", - "customized_plate_temp_initial_layer": "50", - "default_filament_colour": "\"\"", - "enable_overhang_bridge_fan": "1", - "enable_pressure_advance": "0", - "enable_special_area_additional_cooling_fan": "0", - "epoxy_resin_plate_temp": "40", - "epoxy_resin_plate_temp_initial_layer": "40", - "filament_cooling_final_speed": "3.4", - "filament_cooling_initial_speed": "2.2", - "filament_cooling_moves": "4", - "filament_load_time": "0", - "filament_loading_speed": "28", - "filament_loading_speed_start": "3", - "filament_multitool_ramming": "0", - "filament_multitool_ramming_flow": "10", - "filament_multitool_ramming_volume": "10", - "filament_notes": "\"\"", - "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", - "filament_retract_lift_above": "nil", - "filament_retract_lift_below": "nil", - "filament_retract_lift_enforce": "nil", - "filament_shrink": "100%", - "filament_toolchange_delay": "0", - "filament_unload_time": "0", - "filament_unloading_speed": "90", - "filament_unloading_speed_start": "100", - "material_flow_dependent_temperature": "0", - "pressure_advance": "0.04", - "support_material_interface_fan_speed": "-1", - "compatible_printers": [ - "Creality K2 Plus 0.4 nozzle" - ], - "filament_id": "OFIRUqWi" -} \ No newline at end of file + "type": "filament", + "name": "eSUN PLA-Silk @K2 Plus-all", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "IfZwVzcyYM0D5XR0", + "filament_id": "OFIRUqWi", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "19" + ], + "filament_density": [ + "1.21" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retract_before_wipe": [ + "100%" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_vendor": [ + "eSUN" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (layer_z > first_layer_height) }\nM104 S[nozzle_temperature]\n{else} \nM104 S[first_layer_temperature]\n{endif}" + ], + "filament_end_gcode": [ + ";filament end gcode " + ], + "activate_chamber_temp_control": "1", + "chamber_temperature": "35", + "cool_cds_fan_start_at_height": "0.5", + "cool_special_cds_fan_speed": "100", + "customized_plate_temp": "50", + "customized_plate_temp_initial_layer": "50", + "default_filament_colour": "\"\"", + "enable_overhang_bridge_fan": "1", + "enable_pressure_advance": "0", + "enable_special_area_additional_cooling_fan": "0", + "epoxy_resin_plate_temp": "40", + "epoxy_resin_plate_temp_initial_layer": "40", + "filament_cooling_final_speed": "3.4", + "filament_cooling_initial_speed": "2.2", + "filament_cooling_moves": "4", + "filament_loading_speed": "28", + "filament_loading_speed_start": "3", + "filament_multitool_ramming": "0", + "filament_multitool_ramming_flow": "10", + "filament_multitool_ramming_volume": "10", + "filament_notes": "\"\"", + "filament_ramming_parameters": "\"120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6\"", + "filament_retract_lift_above": "nil", + "filament_retract_lift_below": "nil", + "filament_retract_lift_enforce": "nil", + "filament_shrink": "100%", + "filament_toolchange_delay": "0", + "filament_unloading_speed": "90", + "filament_unloading_speed_start": "100", + "material_flow_dependent_temperature": "0", + "pressure_advance": "0.04", + "support_material_interface_fan_speed": "-1", + "compatible_printers": [ + "Creality K2 Plus 0.4 nozzle" + ] +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 0.4 nozzle.json new file mode 100644 index 0000000000..5da636490c --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality CR-10 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "tsVnTn07ACdoHqPV", + "instantiation": "true", + "printer_model": "Creality CR-10", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality CR-10 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "400", + "extruder_clearance_height_to_rod": "33", + "extruder_clearance_radius": "70", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit
\nG1 E-2 Z1 F2400 ;Retract and raise Z
\nG1 X5 Y5 F3000 ;Wipe out
\nG1 Z10 ;Raise Z more
\nG90 ;Absolute positionning

\nG1 X0 Y0 ;Present print
\nM106 S0 ;Turn-off fan
\nM104 S0 ;Turn-off hotend
\nM140 S0 ;Turn-off bed

\nM84 X Y E ;Disable all steppers but Z
", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000,5000", + "machine_max_acceleration_extruding": "500,500", + "machine_max_acceleration_retracting": "500,1000", + "machine_max_acceleration_travel": "500,500", + "machine_max_acceleration_x": "500,500", + "machine_max_acceleration_y": "500,500", + "machine_max_acceleration_z": "500,500", + "machine_max_jerk_e": "5,5", + "machine_max_jerk_x": "10,8", + "machine_max_jerk_y": "10,8", + "machine_max_jerk_z": "0.4,0.4", + "machine_max_speed_e": "50,60", + "machine_max_speed_x": "500,500", + "machine_max_speed_y": "500,500", + "machine_max_speed_z": "10,10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25 ;pause print", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "400", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @CR-10-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "1", + "retraction_speed": "40", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json index 9dc1ae8962..b209783664 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json @@ -116,7 +116,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \nM84 X Y E ;Disable all steppers but Z", diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json index 12805d5e86..d682c70090 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json @@ -116,7 +116,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \nM84 X Y E ;Disable all steppers but Z", diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json index 60ae6d2db8..b854582917 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json @@ -116,7 +116,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \nM84 X Y E ;Disable all steppers but Z", diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json index 1ae4e24163..cba09d49dd 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json @@ -116,7 +116,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \nM84 X Y E ;Disable all steppers but Z", diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE.json b/resources/profiles/Creality/machine/Creality CR-10 SE.json index 56af1ec8a6..98e5738a65 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE.json @@ -8,5 +8,5 @@ "bed_model": "creality_cr10se_buildplate_model.stl", "bed_texture": "creality_cr10se_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Creality;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PETG @Creality;Generic TPU @Creality;Generic ABS @Creality" + "default_materials": "Generic PLA @CR-10 SE-all;Generic ABS @CR-10 SE-all;Generic TPU @CR-10 SE-all;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PETG @Creality" } diff --git a/resources/profiles/Creality/machine/Creality CR-10 Smart 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 Smart 0.4 nozzle.json new file mode 100644 index 0000000000..f7d9b8167e --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10 Smart 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality CR-10 Smart 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "IyWrvdE9qswlbnaV", + "instantiation": "true", + "printer_model": "Creality CR-10 Smart", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality CR-10 Smart 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "400", + "extruder_clearance_height_to_rod": "33", + "extruder_clearance_radius": "70", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit
\nG1 E-2 Z1 F2400 ;Retract and raise Z
\nG1 X5 Y5 F3000 ;Wipe out
\nG1 Z10 ;Raise Z more
\nG90 ;Absolute positionning

\nG1 X0 Y0 ;Present print
\nM106 S0 ;Turn-off fan
\nM104 S0 ;Turn-off hotend
\nM140 S0 ;Turn-off bed

\nM84 X Y E ;Disable all steppers but Z
", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000,5000", + "machine_max_acceleration_extruding": "500,500", + "machine_max_acceleration_retracting": "500,1000", + "machine_max_acceleration_travel": "500,500", + "machine_max_acceleration_x": "500,500", + "machine_max_acceleration_y": "500,500", + "machine_max_acceleration_z": "500,500", + "machine_max_jerk_e": "5,5", + "machine_max_jerk_x": "10,8", + "machine_max_jerk_y": "10,8", + "machine_max_jerk_z": "0.4,0.4", + "machine_max_speed_e": "50,60", + "machine_max_speed_x": "500,500", + "machine_max_speed_y": "500,500", + "machine_max_speed_z": "10,10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25 ;pause print", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "400", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @CR-10 Smart-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "5", + "retraction_minimum_travel": "1", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 Smart Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 Smart Pro 0.4 nozzle.json new file mode 100644 index 0000000000..c7db2ac74f --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10 Smart Pro 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality CR-10 Smart Pro 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "tlLeGUg0qXJvDgct", + "instantiation": "true", + "printer_model": "Creality CR-10 Smart Pro", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "400", + "extruder_clearance_height_to_rod": "33", + "extruder_clearance_radius": "70", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "1", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit
\nG1 E-2 Z1 F2400 ;Retract and raise Z
\nG1 X5 Y5 F3000 ;Wipe out
\nG1 Z10 ;Raise Z more
\nG90 ;Absolute positionning

\nG1 X0 Y0 ;Present print
\nM106 S0 ;Turn-off fan
\nM104 S0 ;Turn-off hotend
\nM140 S0 ;Turn-off bed

\nM84 X Y E ;Disable all steppers but Z
", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000,5000", + "machine_max_acceleration_extruding": "500,500", + "machine_max_acceleration_retracting": "500,1000", + "machine_max_acceleration_travel": "500,500", + "machine_max_acceleration_x": "500,500", + "machine_max_acceleration_y": "500,500", + "machine_max_acceleration_z": "500,500", + "machine_max_jerk_e": "5,5", + "machine_max_jerk_x": "10,8", + "machine_max_jerk_y": "10,8", + "machine_max_jerk_z": "0.4,0.4", + "machine_max_speed_e": "50,60", + "machine_max_speed_x": "500,500", + "machine_max_speed_y": "500,500", + "machine_max_speed_z": "10,10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25 ;pause print", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "400", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Creality" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "1", + "retraction_speed": "40", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 Smart Pro.json b/resources/profiles/Creality/machine/Creality CR-10 Smart Pro.json new file mode 100644 index 0000000000..c1663ebf3a --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10 Smart Pro.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-10 Smart Pro", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_10_Smart_Pro", + "default_materials": "Generic ABS @CR-10 Smart Pro-all;Generic PLA @Creality" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 Smart.json b/resources/profiles/Creality/machine/Creality CR-10 Smart.json new file mode 100644 index 0000000000..9fcf37fabe --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10 Smart.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-10 Smart", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_10_Smart", + "default_materials": "Generic PLA @CR-10 Smart-all;Generic ABS @CR-10 Smart-all;Generic PETG @CR-10 Smart-all" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json index 7b70121bef..429b30df61 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json @@ -106,7 +106,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M0", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z0.28 F240\nG92 E0\nG1 Y190 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600{endif} ; Move print head further up\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality CR-10 V3 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 V3 0.4 nozzle.json index 6eee0b7357..67c2456583 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 V3 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 V3 0.4 nozzle.json @@ -109,7 +109,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M0", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG1 Z0.28 F240\nG92 E0\nG1 X2 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600{endif} ; Move print head further up\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality CR-10 V3 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 V3 0.6 nozzle.json index 8ec571442d..c40ea674fe 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 V3 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 V3 0.6 nozzle.json @@ -110,7 +110,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M0", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @CR-10-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[nozzle_temperature_initial_layer] ; set extruder temp\nM140 S[bed_temperature_initial_layer_single] ; set bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp\nM109 S[nozzle_temperature_initial_layer] ; wait for extruder temp\nG1 Z0.28 F240\nG92 E0\nG1 X2 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600{endif} ; Move print head further up\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality CR-10.json b/resources/profiles/Creality/machine/Creality CR-10.json new file mode 100644 index 0000000000..18923f29ea --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-10", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_10", + "default_materials": "CR-PETG @CR-10-all;CR-TPU @CR-10-all;CR-PLA @CR-10-all;Generic ABS @CR-10-all" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10S Pro V2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10S Pro V2 0.4 nozzle.json new file mode 100644 index 0000000000..04fe4b7cfd --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10S Pro V2 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality CR-10S Pro V2 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "5sLT5epTTbqCr0Cb", + "instantiation": "true", + "printer_model": "Creality CR-10S Pro V2", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "400", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit
\nG1 E-2 Z1 F2400 ;Retract and raise Z
\nG1 X5 Y5 F3000 ;Wipe out
\nG1 Z10 ;Raise Z more
\nG90 ;Absolute positionning

\nG1 X0 Y0 ;Present print
\nM106 S0 ;Turn-off fan
\nM104 S0 ;Turn-off hotend
\nM140 S0 ;Turn-off bed

\nM84 X Y E ;Disable all steppers but Z
", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000,5000", + "machine_max_acceleration_extruding": "500,500", + "machine_max_acceleration_retracting": "500,1000", + "machine_max_acceleration_travel": "500,500", + "machine_max_acceleration_x": "500,500", + "machine_max_acceleration_y": "500,500", + "machine_max_acceleration_z": "500,500", + "machine_max_jerk_e": "5,5", + "machine_max_jerk_x": "10,8", + "machine_max_jerk_y": "10,8", + "machine_max_jerk_z": "0.4,0.4", + "machine_max_speed_e": "50,60", + "machine_max_speed_x": "500,500", + "machine_max_speed_y": "500,500", + "machine_max_speed_z": "10,10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25 ;pause print", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "400", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @CR-10-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "4", + "retraction_minimum_travel": "1", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-10S Pro V2.json b/resources/profiles/Creality/machine/Creality CR-10S Pro V2.json new file mode 100644 index 0000000000..bdd3986cd2 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-10S Pro V2.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-10S Pro V2", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_10S_Pro_V2", + "default_materials": "Generic PLA @CR-10S Pro V2-all;Generic PETG @CR-10S Pro V2-all;Generic ABS @CR-10S Pro V2-all" +} diff --git a/resources/profiles/Creality/machine/Creality CR-20 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-20 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..49f85b6acc --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-20 Pro 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality CR-20 Pro 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "CQgwdo8OEISIMGmT", + "instantiation": "true", + "printer_model": "Creality CR-20 Pro", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality CR-20 Pro 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "500", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-5.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,220x0,220x220,0x220", + "printable_height": "250", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @CR-20 Pro-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "5", + "retraction_minimum_travel": "2", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-20 Pro.json b/resources/profiles/Creality/machine/Creality CR-20 Pro.json new file mode 100644 index 0000000000..1f67fd8d34 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-20 Pro.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-20 Pro", + "nozzle_diameter": "0.4", + "bed_model": "creality_k1_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_k1_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_20_Pro", + "default_materials": "Generic PETG @CR-20 Pro-all;Generic PLA @CR-20 Pro-all;Generic ABS @CR-20 Pro-all" +} diff --git a/resources/profiles/Creality/machine/Creality CR-6 SE 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality CR-6 SE 0.2 nozzle.json index d738e8569c..0cdef40a50 100644 --- a/resources/profiles/Creality/machine/Creality CR-6 SE 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-6 SE 0.2 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality CR-6 SE", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "Generic PLA @CR-6 SE-all" ], "printer_variant": "0.2", "default_print_profile": "0.16mm Optimal @Creality CR-6 0.2", diff --git a/resources/profiles/Creality/machine/Creality CR-6 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-6 SE 0.4 nozzle.json index 8ad215b2f5..7c76a7db3e 100644 --- a/resources/profiles/Creality/machine/Creality CR-6 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-6 SE 0.4 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality CR-6 SE", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "Generic PLA @CR-6 SE-all" ], "default_print_profile": "0.20mm Standard @Creality CR-6 0.4", "nozzle_diameter": [ diff --git a/resources/profiles/Creality/machine/Creality CR-6 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality CR-6 SE 0.6 nozzle.json index f5f19131b8..4be0b5238b 100644 --- a/resources/profiles/Creality/machine/Creality CR-6 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-6 SE 0.6 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality CR-6 SE", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "Generic PLA @CR-6 SE-all" ], "printer_variant": "0.6", "default_print_profile": "0.20mm Standard @Creality CR-6 0.6", diff --git a/resources/profiles/Creality/machine/Creality CR-6 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality CR-6 SE 0.8 nozzle.json index 8afdf0d906..64d0f8a8b1 100644 --- a/resources/profiles/Creality/machine/Creality CR-6 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-6 SE 0.8 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality CR-6 SE", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "Generic PLA @CR-6 SE-all" ], "printer_variant": "0.8", "default_print_profile": "0.32mm Standard @Creality CR-6 0.8", diff --git a/resources/profiles/Creality/machine/Creality CR-6 SE.json b/resources/profiles/Creality/machine/Creality CR-6 SE.json index 63fc2fc19b..669a8559ba 100644 --- a/resources/profiles/Creality/machine/Creality CR-6 SE.json +++ b/resources/profiles/Creality/machine/Creality CR-6 SE.json @@ -8,5 +8,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_CR_6_SE", - "default_materials": "Generic PLA @Creality;Generic PETG @Creality;Generic ABS @Creality" + "default_materials": "Generic PLA @CR-6 SE-all;Generic PETG @CR-6 SE-all;Generic ABS @CR-6 SE-all" } diff --git a/resources/profiles/Creality/machine/Creality CR-M4 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-M4 0.4 nozzle.json index 9d1de682c3..b37774f408 100644 --- a/resources/profiles/Creality/machine/Creality CR-M4 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-M4 0.4 nozzle.json @@ -9,7 +9,7 @@ "gcode_flavor": "marlin", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "Generic PLA @CR-M4-all" ], "default_print_profile": "0.20mm Standard @Creality CR-M4", "nozzle_diameter": [ diff --git a/resources/profiles/Creality/machine/Creality CR-M4 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-M4 SE 0.4 nozzle.json new file mode 100644 index 0000000000..1a6ac10bea --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-M4 SE 0.4 nozzle.json @@ -0,0 +1,111 @@ +{ + "type": "machine", + "name": "Creality CR-M4 SE 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "OKCJV8cYk1mclm5H", + "instantiation": "true", + "printer_model": "Creality CR-M4 SE", + "printer_structure": "i3", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "PAUSE", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "86.0", + "default_print_profile": "0.20mm Standard @Creality CR-M4 SE 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "420", + "extruder_clearance_height_to_rod": "50", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z4.5 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X2 Y218 F3000 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "11", + "machine_max_acceleration_e": "8000", + "machine_max_acceleration_extruding": "8000", + "machine_max_acceleration_retracting": "8000", + "machine_max_acceleration_travel": "8000", + "machine_max_acceleration_x": "8000", + "machine_max_acceleration_y": "8000", + "machine_max_acceleration_z": "2000", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "100", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "30", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \n \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.0 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.0 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-1.7 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-1.7 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,420x0,420x420,0x420", + "printable_height": "420", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96,300x300", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Creality" + ], + "deretraction_speed": "50", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "max_layer_height": "0.36", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "100", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_length": "0.8", + "retraction_minimum_travel": "0.4", + "retraction_speed": "50", + "wipe": "1", + "wipe_distance": "1", + "z_hop": "0.4", + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality CR-M4 SE.json b/resources/profiles/Creality/machine/Creality CR-M4 SE.json new file mode 100644 index 0000000000..c0efdfa5bb --- /dev/null +++ b/resources/profiles/Creality/machine/Creality CR-M4 SE.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality CR-M4 SE", + "nozzle_diameter": "0.4", + "bed_model": "creality_crm4_buildplate_model.stl", + "bed_texture": "creality_crm4_buildplate_texture.svg", + "default_bed_type": "Cool Plate", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_CR_M4_SE", + "default_materials": "Hyper ABS @CR-M4 SE-all;CR-PLA @CR-M4 SE-all;Hyper PLA @CR-M4 SE-all;CR-PETG @CR-M4 SE-all;HP-TPU @CR-M4 SE-all;HP-ASA @CR-M4 SE-all" +} diff --git a/resources/profiles/Creality/machine/Creality CR-M4.json b/resources/profiles/Creality/machine/Creality CR-M4.json index d4df994d2c..cd164a1ba0 100644 --- a/resources/profiles/Creality/machine/Creality CR-M4.json +++ b/resources/profiles/Creality/machine/Creality CR-M4.json @@ -8,5 +8,5 @@ "bed_model": "creality_crm4_buildplate_model.stl", "bed_texture": "creality_crm4_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Creality;Generic PETG @Creality;Generic ABS @Creality" + "default_materials": "Generic PLA @CR-M4-all;Generic PETG @CR-M4-all;Generic ABS @CR-M4-all" } diff --git a/resources/profiles/Creality/machine/Creality Ender-2 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..8aa0ce3cb3 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-2 Pro 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "name": "Creality Ender-2 Pro 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "ttX6bPA2xYsziRP5", + "instantiation": "true", + "printer_model": "Creality Ender-2 Pro", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "creality_flush_time": "86.0", + "default_print_profile": "0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "180", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_radius": "55", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "500", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,165x0,165x165,0x165", + "printable_height": "180", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @Ender-2 Pro-all" + ], + "deretraction_speed": "25", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "5", + "retraction_minimum_travel": "2", + "retraction_speed": "25", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.2", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-2 Pro.json b/resources/profiles/Creality/machine/Creality Ender-2 Pro.json new file mode 100644 index 0000000000..3407d33800 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-2 Pro.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-2 Pro", + "nozzle_diameter": "0.4", + "bed_model": "creality_k1_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Ender_2_Pro", + "default_materials": "Generic TPU @Ender-2 Pro-all;CR-PETG @Ender-2 Pro-all;CR-ABS @Ender-2 Pro-all;CR-PLA @Ender-2 Pro-all" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 0.2 nozzle.json index ce445321ed..cba4530078 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 0.2 nozzle.json @@ -112,7 +112,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 0.4 nozzle.json index 7e6a63ab18..7b9ec903f2 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 0.4 nozzle.json @@ -112,7 +112,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 0.6 nozzle.json index 5becaffc5d..02050b4f61 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 0.6 nozzle.json @@ -112,7 +112,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 0.8 nozzle.json index 03beab016f..d04beb2184 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 0.8 nozzle.json @@ -112,7 +112,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Max 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 Max 0.4 nozzle.json new file mode 100644 index 0000000000..2c0f280ae7 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Max 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality Ender-3 Max 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "FJXSUGtl0iKSMMlz", + "instantiation": "true", + "printer_model": "Creality Ender-3 Max", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality Ender-3 Max 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "340", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_radius": "55", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "500", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-5.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "340", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Ender-3 Max-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "4", + "retraction_minimum_travel": "2", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Max Neo 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 Max Neo 0.4 nozzle.json new file mode 100644 index 0000000000..8db6b4d5cc --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Max Neo 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality Ender-3 Max Neo 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "OxVWi5kHu40cFYHk", + "instantiation": "true", + "printer_model": "Creality Ender-3 Max Neo", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "320", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "500", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-5.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "320", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Ender-3 Max Neo-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "4", + "retraction_minimum_travel": "2", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Max Neo.json b/resources/profiles/Creality/machine/Creality Ender-3 Max Neo.json new file mode 100644 index 0000000000..1ef930f96c --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Max Neo.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-3 Max Neo", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "default_bed_type": "Cool Plate", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Ender_3_Max_Neo", + "default_materials": "Generic PLA @Ender-3 Max Neo-all;Generic PETG @Ender-3 Max Neo-all;Generic ABS @Ender-3 Max Neo-all" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Max.json b/resources/profiles/Creality/machine/Creality Ender-3 Max.json new file mode 100644 index 0000000000..fdce0d58ab --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Max.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-3 Max", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "default_bed_type": "Cool Plate", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Ender_3_Max", + "default_materials": "Generic PLA @Ender-3 Max-all;Generic PETG @Ender-3 Max-all;Generic ABS @Ender-3 Max-all" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Neo 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 Neo 0.4 nozzle.json new file mode 100644 index 0000000000..d401e149e5 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Neo 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality Ender-3 Neo 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "kj6ydR2Vq7vxm1eo", + "instantiation": "true", + "printer_model": "Creality Ender-3 Neo", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "250", + "extruder_clearance_height_to_rod": "33", + "extruder_clearance_radius": "65", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit
\nG1 E-2 Z1 F2400 ;Retract and raise Z
\nG1 X5 Y5 F3000 ;Wipe out
\nG1 Z10 ;Raise Z more
\nG90 ;Absolute positionning

\nG1 X0 Y0 ;Present print
\nM106 S0 ;Turn-off fan
\nM104 S0 ;Turn-off hotend
\nM140 S0 ;Turn-off bed

\nM84 X Y E ;Disable all steppers but Z
", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000,5000", + "machine_max_acceleration_extruding": "500,500", + "machine_max_acceleration_retracting": "500,1000", + "machine_max_acceleration_travel": "500,500", + "machine_max_acceleration_x": "500,500", + "machine_max_acceleration_y": "500,500", + "machine_max_acceleration_z": "500,500", + "machine_max_jerk_e": "5,5", + "machine_max_jerk_x": "10,8", + "machine_max_jerk_y": "10,8", + "machine_max_jerk_z": "0.4,0.4", + "machine_max_speed_e": "50,60", + "machine_max_speed_x": "500,500", + "machine_max_speed_y": "500,500", + "machine_max_speed_z": "10,10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25 ;pause print", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,220x0,220x220,0x220", + "printable_height": "250", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Ender-3 Neo-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "5", + "retraction_minimum_travel": "1", + "retraction_speed": "50", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 Neo.json b/resources/profiles/Creality/machine/Creality Ender-3 Neo.json new file mode 100644 index 0000000000..e113342daf --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 Neo.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-3 Neo", + "nozzle_diameter": "0.4", + "bed_model": "creality_ender3v2neo_buildplate_model.stl", + "bed_texture": "creality_ender3v2neo_buildplate_texture.svg", + "default_bed_type": "Cool Plate", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Ender_3_Neo", + "default_materials": "Generic PETG @Ender-3 Neo-all;Generic ABS @Ender-3 Neo-all;Generic PLA @Ender-3 Neo-all" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json index 72e1aeb855..c6366b740d 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json @@ -106,7 +106,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json index 6f61fc3c0b..0e4621d7fa 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json @@ -110,7 +110,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1 Plus-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling \nM420 S1; Enable mesh leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json index 08579e0a00..7d0ac504f9 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json @@ -110,7 +110,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1 Plus-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nM420 S1; Enable mesh leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json index 9b688aae93..d24fe79b3c 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json @@ -110,7 +110,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1 Plus-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nM420 S1; Enable mesh leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json index 73f2340b40..f458759671 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json @@ -111,7 +111,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1 Plus-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nM420 S1; Enable mesh leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json index d7cbb9292d..99373934d5 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json @@ -109,7 +109,7 @@ "change_filament_gcode": "M600", "machine_pause_gcode": "M25", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 S1 Plus-all" ], "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic 0.4 nozzle.json new file mode 100644 index 0000000000..c0bc21cedf --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "name": "Creality Ender-3 S1 Sonic 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "S7bteie7d5ZpBHTK", + "instantiation": "true", + "printer_model": "Creality Ender-3 S1 Sonic", + "printer_structure": "i3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "creality_flush_time": "86", + "default_print_profile": "0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "200", + "extruder_clearance_height_to_rod": "25", + "extruder_clearance_radius": "65", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "3000", + "machine_max_acceleration_extruding": "10000", + "machine_max_acceleration_retracting": "3000", + "machine_max_acceleration_travel": "5000", + "machine_max_acceleration_x": "10000", + "machine_max_acceleration_y": "10000", + "machine_max_acceleration_z": "200", + "machine_max_jerk_e": "2.5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "2", + "machine_max_speed_e": "80", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "30", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,230x0,230x230,0x230", + "printable_height": "270", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Creality" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.32", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "1", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "2", + "retraction_speed": "40", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic.json new file mode 100644 index 0000000000..546161f02b --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Sonic.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-3 S1 Sonic", + "nozzle_diameter": "0.4", + "bed_model": "creality_ender3s1_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "creality_ender3s1_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sonic_Ender_3_S1", + "default_materials": "HP-TPU @Ender-3 S1 Sonic-all;CR-PETG @Ender-3 S1 Sonic-all;CR-ABS @Ender-3 S1 Sonic-all;CR-PLA @Ender-3 S1 Sonic-all;Hyper PLA @Ender-3 S1 Sonic-all" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V2 0.4 nozzle.json index 47e5f72147..cb8c5a2302 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V2 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V2 0.4 nozzle.json @@ -7,7 +7,7 @@ "instantiation": "true", "printer_model": "Creality Ender-3 V2", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 V2-all" ], "default_print_profile": "0.20mm Standard @Creality Ender3V2", "nozzle_diameter": [ @@ -20,7 +20,6 @@ "0x220" ], "printable_height": "250", - "nozzle_type": "undefine", "auxiliary_fan": "0", "machine_max_junction_deviation": [ "0.013", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V2 Neo 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V2 Neo 0.4 nozzle.json index 7cddabe415..f361989c43 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V2 Neo 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V2 Neo 0.4 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality Ender-3 V2 Neo", "printer_structure": "i3", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Ender-3 V2-all" ], "default_print_profile": "0.20mm Standard @Creality Ender3V2 Neo", "nozzle_diameter": [ diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V2.json b/resources/profiles/Creality/machine/Creality Ender-3 V2.json index a5ef1d123d..6c7ed82f20 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V2.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V2.json @@ -8,5 +8,5 @@ "bed_model": "creality_ender3v2_buildplate_model.stl", "bed_texture": "creality_ender3v2_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Creality;Generic PETG @Creality;Generic ABS @Creality" + "default_materials": "Generic ABS @Ender-3 V2-all;Generic PLA @Creality;Generic PETG @Creality" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json index de3c4286dc..353f7f012d 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json @@ -126,7 +126,7 @@ "change_filament_gcode": "PAUSE", "machine_pause_gcode": "PAUSE", "default_filament_profile": [ - "Generic PLA @Creality Ender-3V3-all" + "Generic PLA @Ender-3 V3-all" ], "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]", "machine_end_gcode": "END_PRINT", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json index 75ceca6c79..fcfd16f834 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json @@ -126,7 +126,7 @@ "change_filament_gcode": "PAUSE", "machine_pause_gcode": "PAUSE", "default_filament_profile": [ - "Generic PLA @Creality Ender-3V3-all" + "Generic PLA @Ender-3 V3-all" ], "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]", "machine_end_gcode": "END_PRINT", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..d075f13e04 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,107 @@ +{ + "type": "machine", + "name": "Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "3INwhJUXUBs0frv1", + "instantiation": "true", + "printer_model": "Creality Ender-3 V3", + "printer_structure": "i3", + "auxiliary_fan": "1", + "bed_exclude_area": "0x0", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_print_profile": "0.40mm Standard @Creality Ender-3 V3 0.8 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "140", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_radius": "65", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_LED_light_exist": "0", + "machine_end_gcode": "END_PRINT", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "10000", + "machine_max_acceleration_extruding": "20000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "20000", + "machine_max_acceleration_y": "20000", + "machine_max_acceleration_z": "500", + "machine_max_jerk_e": "2.5", + "machine_max_jerk_x": "50", + "machine_max_jerk_y": "50", + "machine_max_jerk_z": "2", + "machine_max_speed_e": "100", + "machine_max_speed_x": "600", + "machine_max_speed_y": "600", + "machine_max_speed_z": "500", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE\n", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer]", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "preferred_orientation": "0", + "print_host": "http://172.23.209.71:4408/", + "print_host_webui": "http://172.23.209.71:4408/", + "printable_area": "0x0,220x0,220x220,0x220", + "printable_height": "250", + "printer_technology": "FFF", + "printer_variant": "0.8", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "thumbnails": "96x96,300x300", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Ender-3 V3-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#018001", + "extruder_offset": "0x0", + "max_layer_height": "0.56", + "min_layer_height": "0.16", + "nozzle_diameter": [ + "0.8" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "1", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "0", + "retraction_length": "1.5", + "retraction_minimum_travel": "1", + "retraction_speed": "40", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 KE.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 KE.json index 1911d1f0d0..f28e3fc7a6 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 KE.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 KE.json @@ -8,5 +8,5 @@ "bed_model": "creality_ender3v3ke_buildplate_model.stl", "bed_texture": "creality_ender3v3ke_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PETG @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all;Generic TPU @Creality Ender-3V3-all" + "default_materials": "Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PETG @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all;Generic TPU @Creality Ender-3V3-all;Generic PLA @System" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.4 nozzle.json index f9b91395ba..ab5f8d2508 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.4 nozzle.json @@ -123,7 +123,7 @@ "change_filament_gcode": "PAUSE", "machine_pause_gcode": "PAUSE", "default_filament_profile": [ - "Generic PLA @Creality Ender-3V3-all" + "Generic PLA @Ender-3 V3 Plus-all" ], "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]", "machine_end_gcode": "END_PRINT", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.6 nozzle.json index d0c4bee18a..8d3cba108c 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.6 nozzle.json @@ -123,7 +123,7 @@ "change_filament_gcode": "PAUSE", "machine_pause_gcode": "PAUSE", "default_filament_profile": [ - "Generic PLA @Creality Ender-3V3-all" + "Generic PLA @Ender-3 V3 Plus-all" ], "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]", "machine_end_gcode": "END_PRINT", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.8 nozzle.json new file mode 100644 index 0000000000..713d45e321 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.8 nozzle.json @@ -0,0 +1,108 @@ +{ + "type": "machine", + "name": "Creality Ender-3 V3 Plus 0.8 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "POEqDPvODxBUiA6S", + "instantiation": "true", + "printer_model": "Creality Ender-3 V3 Plus", + "printer_structure": "i3", + "auxiliary_fan": "1", + "bed_exclude_area": "0x0", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "PAUSE", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_print_profile": "0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "330", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_radius": "50", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_LED_light_exist": "0", + "machine_end_gcode": "END_PRINT", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "10000", + "machine_max_acceleration_extruding": "20000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "20000", + "machine_max_acceleration_y": "20000", + "machine_max_acceleration_z": "500", + "machine_max_jerk_e": "2.5", + "machine_max_jerk_x": "50", + "machine_max_jerk_y": "50", + "machine_max_jerk_z": "2", + "machine_max_speed_e": "100", + "machine_max_speed_x": "600", + "machine_max_speed_y": "600", + "machine_max_speed_z": "500", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE\n", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "M140 S0\nM104 S0\nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer]", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "preferred_orientation": "0", + "print_host": "http://172.23.209.71:4408/", + "print_host_webui": "http://172.23.209.71:4408/", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "330", + "printer_technology": "FFF", + "printer_variant": "0.8", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "1", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "thumbnails": "96x96,300x300", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Ender-3 V3 Plus-all" + ], + "deretraction_speed": "30", + "extruder_colour": "#018001", + "extruder_offset": "0x0", + "max_layer_height": "0.64", + "min_layer_height": "0.2", + "nozzle_diameter": [ + "0.8" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "1", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_length": "0.8", + "retraction_minimum_travel": "1", + "retraction_speed": "30", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus.json index 919076763b..3bb4eccf61 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 Plus.json @@ -2,11 +2,11 @@ "type": "machine_model", "name": "Creality Ender-3 V3 Plus", "model_id": "Creality-Ender3-V3-Plus", - "nozzle_diameter": "0.4;0.6", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Creality", "bed_model": "creality_ender3v3plus_buildplate_model.stl", "bed_texture": "creality_ender3v3plus_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PETG @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all;Generic TPU @Creality Ender-3V3-all" + "default_materials": "Generic PLA @Ender-3 V3 Plus-all;Generic PETG @Ender-3 V3 Plus-all;Generic TPU @Ender-3 V3 Plus-all;Generic ABS @Ender-3 V3 Plus-all;Generic ASA @Ender-3 V3 Plus-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json index dc04436c04..378dca3a2d 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json @@ -120,7 +120,7 @@ "default_filament_profile": [ "Generic PLA @Creality Ender-3V3-all" ], - "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", + "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_total_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json index 22df39dd1d..97ef822dc7 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json @@ -120,7 +120,7 @@ "default_filament_profile": [ "Generic PLA @Creality Ender-3V3-all" ], - "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", + "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_total_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json index 881a46fc3a..7023c5a95a 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json @@ -120,7 +120,7 @@ "default_filament_profile": [ "Generic PLA @Creality Ender-3V3-all" ], - "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", + "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_total_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json index 44e9b97afb..acec590a1f 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json @@ -120,7 +120,7 @@ "default_filament_profile": [ "Generic PLA @Creality Ender-3V3-all" ], - "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", + "file_start_gcode": ";FLAVOR:Marlin\\n;TIME:{print_time_total_sec}\\n;Filament used:{used_filament_length}m\\n;Layer height:{layer_height}", "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE.json index 71786a500d..26e76d82be 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE.json @@ -8,5 +8,5 @@ "bed_model": "creality_ender3v3se_buildplate_model.stl", "bed_texture": "creality_ender3v3se_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PETG @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all;Generic TPU @Creality Ender-3V3-all" + "default_materials": "Generic PETG @Ender-3 V3 SE-all;Generic TPU @Ender-3 V3 SE-all;Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3.json b/resources/profiles/Creality/machine/Creality Ender-3 V3.json index 5650e068aa..65a7f68a02 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3.json @@ -2,11 +2,11 @@ "type": "machine_model", "name": "Creality Ender-3 V3", "model_id": "Creality-Ender3-V3", - "nozzle_diameter": "0.4;0.6", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Creality", "bed_model": "creality_ender3v3_buildplate_model.stl", "bed_texture": "creality_ender3v3_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PETG @Creality Ender-3V3-all;Generic PLA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all;Generic TPU @Creality Ender-3V3-all" + "default_materials": "Generic PLA @Ender-3 V3-all;Generic PETG @Ender-3 V3-all;Generic TPU @Ender-3 V3-all;Generic ABS @Creality Ender-3V3-all;Generic ASA @Creality Ender-3V3-all;Generic PLA High Speed @Creality Ender-3V3-all;Generic PLA Matte @Creality Ender-3V3-all;Generic PLA Silk @Creality Ender-3V3-all" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V4 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V4 0.4 nozzle.json index 3c1fcae969..ce5d13c8d9 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V4 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V4 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality Ender-3 V4 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "R96v98fNsXyf9HXq", + "instantiation": "true", "printer_model": "Creality Ender-3 V4", "auxiliary_fan": "0", "bbl_use_printhost": "0", @@ -52,7 +54,7 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "0", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 X20 Y-1 F30000\nG1 Z0.3 F1200\nG1 X100 E10 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X120 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X125 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X1 Z-0.300\nG1 X4\nG92 E0\nG1 Z1 F1200", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 X20 Y-1 F30000\nG1 Z0.3 F1200\nG1 X100 E10 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X120 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X125 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X1 Z-0.300\nG1 X4\nG92 E0\nG1 Z1 F1200", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -69,7 +71,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -105,7 +106,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality Ender-3 V4 0.4 nozzle", - "setting_id": "R96v98fNsXyf9HXq" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V4.json b/resources/profiles/Creality/machine/Creality Ender-3 V4.json index 22fc2a9c6a..baa9cec0af 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V4.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V4.json @@ -2,12 +2,12 @@ "type": "machine_model", "name": "Creality Ender-3 V4", "nozzle_diameter": "0.4", - "bed_model": "creality_ender3v3_buildplate_model.stl", + "bed_model": "creality_ender3v4_buildplate_model.stl", "default_bed_type": "Textured PEI Plate", - "bed_texture": "creality_ender3v3_buildplate_texture.svg", + "bed_texture": "creality_ender3v4_buildplate_texture.svg", "family": "Creality", "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_Ender_3_V4", - "default_materials": "Creality Generic ABS @Ender-3 V4-all;Creality Generic ASA @Ender-3 V4-all;Creality Generic PETG @Ender-3 V4-all;Creality Generic PLA @Ender-3 V4-all;Creality Generic PLA Matte @Ender-3 V4-all;Creality Generic PLA Silk @Ender-3 V4-all;Creality Generic TPU @Ender-3 V4-all" + "default_materials": "Generic ABS @Ender-3 V4-all;Generic ASA @System;Generic PETG @Ender-3 V4-all;Generic PLA @Ender-3 V4-all;Generic PLA Matte @System;Generic PLA-Silk @Ender-3 V4-all;Generic TPU @Ender-3 V4-all" } diff --git a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.4 nozzle.json index fb15db7ab3..496a977127 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.4 nozzle.json @@ -72,7 +72,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.6 nozzle.json index f895c93b42..59d08460d5 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.6 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality Ender-5 Max 0.6 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "1idSrUiK9hZwCJNy", + "instantiation": "true", "printer_model": "Creality Ender-5 Max", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -74,7 +76,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -113,7 +114,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality Ender-5 Max 0.6 nozzle", - "setting_id": "1idSrUiK9hZwCJNy" -} \ No newline at end of file + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.8 nozzle.json index 2fad99bcea..fcfa26e790 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 Max 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 Max 0.8 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality Ender-5 Max 0.8 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "mPvxCeNkSTMYta2L", + "instantiation": "true", "printer_model": "Creality Ender-5 Max", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -74,7 +76,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -113,7 +114,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality Ender-5 Max 0.8 nozzle", - "setting_id": "mPvxCeNkSTMYta2L" -} \ No newline at end of file + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-5 Max.json b/resources/profiles/Creality/machine/Creality Ender-5 Max.json index 9c10f97f05..08079fdfca 100644 --- a/resources/profiles/Creality/machine/Creality Ender-5 Max.json +++ b/resources/profiles/Creality/machine/Creality Ender-5 Max.json @@ -9,5 +9,5 @@ "bed_texture": "creality_ender5max_buildplate_texture.svg", "hotend_model": "", "default_bed_type": "Textured PEI Plate", - "default_materials": "Creality Hyper PLA-CF @Ender-5Max-all;Creality Hyper PLA @Ender-5Max-all;Creality Hyper ABS @Ender-5Max-all;Generic TPU @Creality Ender-5Max-all;Generic ASA @Creality Ender-5Max-all;Creality Silk PLA @Ender-5Max-all;Generic PLA @Creality Ender-5Max-all;Generic PETG @Creality Ender-5Max-all;Generic ABS @Creality Ender-5Max-all;Generic PA @Creality Ender-5Max-all" + "default_materials": "Creality Hyper PLA-CF @Ender-5Max-all;Creality Hyper PLA @Ender-5Max-all;Creality Hyper ABS @Ender-5Max-all;Generic TPU @Creality Ender-5Max-all;Generic ASA @Creality Ender-5Max-all;Creality Silk PLA @Ender-5Max-all;Generic PLA @Creality Ender-5Max-all;Generic PETG @Creality Ender-5Max-all;Generic ABS @Creality Ender-5Max-all;Generic PA @Creality Ender-5Max-all;Generic PLA @System" } diff --git a/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic 0.4 nozzle.json new file mode 100644 index 0000000000..c290f9bb9a --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic 0.4 nozzle.json @@ -0,0 +1,117 @@ +{ + "type": "machine", + "name": "Creality Ender-5 S1 Sonic 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "JbNM2XbaoJVkIEIV", + "instantiation": "true", + "printer_model": "Creality Ender-5 S1 Sonic", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "creality_flush_time": "86", + "default_print_profile": "0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "34", + "extruder_clearance_height_to_rod": "55", + "extruder_clearance_radius": "62.5", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "2000", + "machine_max_acceleration_extruding": "2500", + "machine_max_acceleration_retracting": "1000", + "machine_max_acceleration_travel": "2000", + "machine_max_acceleration_x": "2500", + "machine_max_acceleration_y": "2500", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "12", + "machine_max_jerk_y": "12", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "100", + "machine_max_speed_x": "250", + "machine_max_speed_y": "250", + "machine_max_speed_z": "30", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "0", + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S30 ; allow partial nozzle warmup\nG28 ; home all axis and restore leveling\nG1 Z50 F240\nG1 X2.0 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 X2.0 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 Y140 F5000\nG92 E0\nG1 X2.3 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,220x0,220x220,0x220", + "printable_height": "280", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @Ender-5 S1 Sonic-all" + ], + "deretraction_speed": "30", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.32", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "0", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "2", + "retraction_speed": "30", + "travel_slope": "1", + "wipe": "1", + "wipe_distance": "1", + "z_hop": "0.4", + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic.json b/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic.json new file mode 100644 index 0000000000..7fa8e4f621 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Ender-5 S1 Sonic.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Ender-5 S1 Sonic", + "nozzle_diameter": "0.4", + "bed_model": "creality_ender5s1_buildplate_model.stl", + "default_bed_type": "Textured PEI Plate", + "bed_texture": "creality_ender5s1_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sonic_Ender_5_S1", + "default_materials": "HP-ASA @Ender-5 S1 Sonic-all;HP-TPU @Ender-5 S1 Sonic-all;CR-PETG @Ender-5 S1 Sonic-all;CR-ABS @Ender-5 S1 Sonic-all;CR-PLA @Ender-5 S1 Sonic-all;Hyper PLA @Ender-5 S1 Sonic-all" +} diff --git a/resources/profiles/Creality/machine/Creality Hi 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Hi 0.2 nozzle.json index 57dcd7e949..2acc80fe3d 100644 --- a/resources/profiles/Creality/machine/Creality Hi 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Hi 0.2 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality Hi 0.2 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "Qr6oR8AJNy1QmytY", + "instantiation": "true", "printer_model": "Creality Hi", "printer_structure": "i3", "default_print_profile": "0.1mm Standard @Creality Hi 0.2 nozzle", @@ -78,7 +80,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "1", @@ -118,7 +119,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Auto Lift", - "name": "Creality Hi 0.2 nozzle", - "setting_id": "Qr6oR8AJNy1QmytY" -} \ No newline at end of file + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Hi 0.4 nozzle.json index 0372431a1e..613089a72c 100644 --- a/resources/profiles/Creality/machine/Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Hi 0.4 nozzle.json @@ -178,7 +178,6 @@ "printer_technology": "FFF", "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", - "silent_mode": "0", "support_chamber_temp_control": "1", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality Hi 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Hi 0.6 nozzle.json index f7bcd5884d..95d55f0a56 100644 --- a/resources/profiles/Creality/machine/Creality Hi 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Hi 0.6 nozzle.json @@ -178,7 +178,6 @@ "printer_technology": "FFF", "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", - "silent_mode": "0", "support_chamber_temp_control": "1", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality Hi 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Hi 0.8 nozzle.json index 23e19a2a66..dcf32371d4 100644 --- a/resources/profiles/Creality/machine/Creality Hi 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Hi 0.8 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality Hi 0.8 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "Q7M2ihdHisSVLDGF", + "instantiation": "true", "printer_model": "Creality Hi", "printer_structure": "i3", "default_print_profile": "0.40mm Standard @Creality Hi 0.8 nozzle", @@ -73,7 +75,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "1", @@ -110,7 +111,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Auto Lift", - "name": "Creality Hi 0.8 nozzle", - "setting_id": "Q7M2ihdHisSVLDGF" -} \ No newline at end of file + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Hi.json b/resources/profiles/Creality/machine/Creality Hi.json index 279daf531c..8bb1244b8d 100644 --- a/resources/profiles/Creality/machine/Creality Hi.json +++ b/resources/profiles/Creality/machine/Creality Hi.json @@ -9,5 +9,5 @@ "bed_texture": "creality_hi_buildplate_texture.svg", "default_bed_type": "Textured PEI Plate", "hotend_model": "", - "default_materials": "Generic ABS @Creality Hi-all;Generic ABS @Hi-all;Generic ASA @Creality Hi-all;Generic ASA-CF @Creality Hi-all;Generic PETG @Creality Hi-all;Generic PETG @Hi-all;Generic PETG-CF @Creality Hi-all;Generic PLA @Creality Hi-all;Generic PLA @Hi-all;Generic PLA High Speed @Creality Hi-all;Generic PLA Matte @Creality Hi-all;Generic PLA Silk @Creality Hi-all;Generic PLA-CF @Creality Hi-all;Generic PLA Wood @Creality Hi-all;Generic TPU @Creality Hi-all" + "default_materials": "Generic ABS @Creality Hi-all;Generic ABS @Hi-all;Generic ASA @Creality Hi-all;Generic ASA-CF @Creality Hi-all;Generic PETG @Creality Hi-all;Generic PETG @Hi-all;Generic PETG-CF @Creality Hi-all;Generic PLA @Creality Hi-all;Generic PLA @Hi-all;Generic PLA High Speed @Creality Hi-all;Generic PLA Matte @Creality Hi-all;Generic PLA Silk @Creality Hi-all;Generic PLA-CF @Creality Hi-all;Generic PLA Wood @Creality Hi-all;Generic TPU @Creality Hi-all;Hyper PLA @Hi-all" } diff --git a/resources/profiles/Creality/machine/Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/machine/Creality K1 (0.4 nozzle).json index 4cde2d1f5e..11edd6f072 100644 --- a/resources/profiles/Creality/machine/Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 (0.4 nozzle).json @@ -121,9 +121,9 @@ "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X42 Y180 F30000\nG1 Z{z_after_toolchange} F600", "machine_pause_gcode": "PAUSE", "default_filament_profile": [ - "Generic PLA HF @Creality" + "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -149,7 +149,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -167,7 +168,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_air_filtration": "1", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", diff --git a/resources/profiles/Creality/machine/Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/machine/Creality K1 (0.6 nozzle).json index afaa516e7e..1c79748908 100644 --- a/resources/profiles/Creality/machine/Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 (0.6 nozzle).json @@ -123,7 +123,7 @@ "default_filament_profile": [ "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -151,7 +151,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -172,7 +173,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_air_filtration": "1", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", diff --git a/resources/profiles/Creality/machine/Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/machine/Creality K1 (0.8 nozzle).json index 417c088cb7..64744dd2d5 100644 --- a/resources/profiles/Creality/machine/Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 (0.8 nozzle).json @@ -123,7 +123,7 @@ "default_filament_profile": [ "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -151,7 +151,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -172,7 +173,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_air_filtration": "1", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json index c3978a05eb..037c48e64a 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -168,7 +168,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json index 2ebe0a97c2..097777db73 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -173,7 +173,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json index b59c1f54a4..e2ae32cae4 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA HF @Creality" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -173,7 +173,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json index 992ae60a0f..2e96b092ab 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1 Max_CFS-C 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "zx1WGvi1Ff3X3RpP", + "instantiation": "true", "printer_model": "Creality K1 Max_CFS-C", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -54,7 +56,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -71,7 +73,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -107,7 +108,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Auto Lift", - "name": "Creality K1 Max_CFS-C 0.4 nozzle", - "setting_id": "zx1WGvi1Ff3X3RpP" + "z_hop_types": "Auto Lift" } diff --git a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C.json b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C.json index 012ad881ea..7170d6b6fb 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C.json +++ b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C.json @@ -9,5 +9,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_K1_Max_CFS_C", - "default_materials": "Generic ABS @Creality;Generic ASA @Creality;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality;Generic PLA @Creality;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality" + "default_materials": "Generic ABS @Creality;Generic ASA @Creality;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality;Generic PLA @Creality;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality;Generic PLA @K1 Max_CFS-C-all" } diff --git a/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json index 95db217016..71214d34a8 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json @@ -123,7 +123,7 @@ "default_filament_profile": [ "Generic PLA @Creality K1-all" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails_format": "PNG", @@ -151,7 +151,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -168,7 +169,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "time_cost": "0", "use_firmware_retraction": "0", diff --git a/resources/profiles/Creality/machine/Creality K1 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE 0.6 nozzle.json index b78cf80658..e1212431e2 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE 0.6 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1 SE 0.6 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "x2DzbcUOES62gJTj", + "instantiation": "true", "printer_model": "Creality K1 SE", "auxiliary_fan": "0", "bbl_use_printhost": "0", @@ -30,7 +32,8 @@ "fan_speedup_time": "0", "gcode_flavor": "klipper", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_end_gcode": "END_PRINT", @@ -54,7 +57,7 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -71,7 +74,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -107,7 +109,5 @@ "wipe": "1", "wipe_distance": "1", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality K1 SE 0.6 nozzle", - "setting_id": "x2DzbcUOES62gJTj" -} \ No newline at end of file + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality K1 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE 0.8 nozzle.json index 175ff1da66..e17cfbaee4 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE 0.8 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1 SE 0.8 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "sJR1oCXnOEQ2HZ5O", + "instantiation": "true", "printer_model": "Creality K1 SE", "auxiliary_fan": "0", "bbl_use_printhost": "0", @@ -30,7 +32,8 @@ "fan_speedup_time": "0", "gcode_flavor": "klipper", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_end_gcode": "END_PRINT", @@ -54,7 +57,7 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -71,7 +74,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -107,7 +109,5 @@ "wipe": "1", "wipe_distance": "1", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality K1 SE 0.8 nozzle", - "setting_id": "sJR1oCXnOEQ2HZ5O" -} \ No newline at end of file + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality K1 SE.json b/resources/profiles/Creality/machine/Creality K1 SE.json index 1cb9769e0e..5d6d0dd51d 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE.json +++ b/resources/profiles/Creality/machine/Creality K1 SE.json @@ -9,5 +9,5 @@ "bed_texture": "creality_k1se_buildplate_texture.svg", "hotend_model": "", "default_bed_type": "Textured PEI Plate", - "default_materials": "Generic ABS @Creality K1-all;Generic ABS @K1 SE-all;Generic ASA @Creality K1-all;Generic ASA @K1 SE-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PETG @K1 SE-all;Generic PLA @Creality K1-all;Generic PLA @K1 SE-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic PLA-CF @K1 SE-all;Generic TPU @Creality K1-all;Generic TPU @K1 SE-all" + "default_materials": "Generic ABS @Creality K1-all;Generic ABS @K1 SE-all;Generic ASA @Creality K1-all;Generic ASA @K1 SE-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PETG @K1 SE-all;Generic PLA @Creality K1-all;Generic PLA @K1 SE-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic PLA-CF @K1 SE-all;Generic TPU @Creality K1-all;Generic TPU @K1 SE-all;Hyper PLA @K1 SE-all" } diff --git a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json index 510e17ecf5..aff5f6df86 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1 SE_CFS-C 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "jAWMfHFcVBnqEqb1", + "instantiation": "true", "printer_model": "Creality K1 SE_CFS-C", "auxiliary_fan": "0", "bbl_use_printhost": "0", @@ -53,7 +55,7 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -70,7 +72,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -106,7 +107,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality K1 SE_CFS-C 0.4 nozzle", - "setting_id": "jAWMfHFcVBnqEqb1" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C.json b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C.json index 835c133338..4c9ed70211 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C.json +++ b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C.json @@ -9,5 +9,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_K1_SE_CFS_C", - "default_materials": "Generic ABS @Creality K1-all;Generic ASA @Creality K1-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PLA @Creality K1-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality K1-all" + "default_materials": "Generic ABS @Creality K1-all;Generic ASA @Creality K1-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PLA @Creality K1-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality K1-all;Generic PLA @K1 SE_CFS-C-all" } diff --git a/resources/profiles/Creality/machine/Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1C 0.4 nozzle.json index 5d8154c1f1..00e71f72c3 100644 --- a/resources/profiles/Creality/machine/Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1C 0.4 nozzle.json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA @Creality K1-all" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -150,7 +150,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -168,7 +169,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K1C 0.6 nozzle.json index 73328c69f4..755128ca67 100644 --- a/resources/profiles/Creality/machine/Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1C 0.6 nozzle.json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA @Creality K1-all" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -152,7 +152,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -173,7 +174,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K1C 0.8 nozzle.json index 2c59727abf..5aad49cdc1 100644 --- a/resources/profiles/Creality/machine/Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1C 0.8 nozzle.json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Generic PLA @Creality K1-all" ], - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ @@ -152,7 +152,8 @@ "fan_speedup_overhangs": "1", "fan_speedup_time": "0", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_load_filament_time": "119", @@ -173,7 +174,6 @@ "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", - "silent_mode": "0", "support_chamber_temp_control": "0", "thumbnails_format": "PNG", "time_cost": "0", diff --git a/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json index b3221b0dd5..3c21fddd9e 100644 --- a/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1C_CFS-C 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "ZhdzT48wvUDLGpPp", + "instantiation": "true", "printer_model": "Creality K1C_CFS-C", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -54,7 +56,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -71,7 +73,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -107,7 +108,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Auto Lift", - "name": "Creality K1C_CFS-C 0.4 nozzle", - "setting_id": "ZhdzT48wvUDLGpPp" + "z_hop_types": "Auto Lift" } diff --git a/resources/profiles/Creality/machine/Creality K1C_CFS-C.json b/resources/profiles/Creality/machine/Creality K1C_CFS-C.json index 6e80f1fbd4..d68987dd16 100644 --- a/resources/profiles/Creality/machine/Creality K1C_CFS-C.json +++ b/resources/profiles/Creality/machine/Creality K1C_CFS-C.json @@ -9,5 +9,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_K1C_CFS_C", - "default_materials": "Generic ABS @Creality K1-all;Generic ASA @Creality K1-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PLA @Creality K1-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality K1-all" + "default_materials": "Generic ABS @Creality K1-all;Generic ASA @Creality K1-all;Generic PA-CF @Creality K1-all;Generic PC @Creality K1-all;Generic PETG @Creality K1-all;Generic PLA @Creality K1-all;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PLA-CF @Creality K1-all;Generic TPU @Creality K1-all;Generic PLA @K1C_CFS-C-all" } diff --git a/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json index 04cb946b94..c19ca981f8 100644 --- a/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K1_CFS-C 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "AnvSIapWvZ2Jpc3T", + "instantiation": "true", "printer_model": "Creality K1_CFS-C", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -29,7 +31,8 @@ "fan_speedup_time": "0", "gcode_flavor": "klipper", "high_current_on_filament_swap": "0", - "host_type": "octoprint", + "host_type": "crealityprint", + "printer_agent": "crealityprint", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_LED_light_exist": "1", "machine_end_gcode": "END_PRINT", @@ -54,7 +57,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM109 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", @@ -71,7 +74,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -107,7 +109,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Auto Lift", - "name": "Creality K1_CFS-C 0.4 nozzle", - "setting_id": "AnvSIapWvZ2Jpc3T" + "z_hop_types": "Auto Lift" } diff --git a/resources/profiles/Creality/machine/Creality K1_CFS-C.json b/resources/profiles/Creality/machine/Creality K1_CFS-C.json index c5986ae635..70ea42818a 100644 --- a/resources/profiles/Creality/machine/Creality K1_CFS-C.json +++ b/resources/profiles/Creality/machine/Creality K1_CFS-C.json @@ -9,5 +9,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_K1_CFS_C", - "default_materials": "Generic ABS @Creality;Generic ASA @Creality;Generic PC @Creality K1-all;Generic PLA @Creality;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PETG @Creality;Generic TPU @Creality" + "default_materials": "Generic ABS @Creality;Generic ASA @Creality;Generic PC @Creality K1-all;Generic PLA @Creality;Generic PLA HF @Creality;Generic Speed PLA @Creality HF;Generic PLA High Speed @Creality K1-all;Generic PLA Matte @Creality K1-all;Generic PLA Silk @Creality K1-all;Generic PETG @Creality;Generic TPU @Creality;Generic PLA @K1_CFS-C-all" } diff --git a/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json index c75b9d04f1..7c12aeadf0 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json @@ -1,9 +1,10 @@ { "type": "machine", + "name": "Creality K2 0.2 nozzle", + "inherits": "fdm_creality_common", "from": "system", "setting_id": "8aX66GbijkwrT7DY", "instantiation": "true", - "inherits": "fdm_creality_common", "printer_model": "Creality K2", "printer_settings_id": "Creality", "auxiliary_fan": "1", @@ -108,7 +109,6 @@ "printhost_authorization_type": "key", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -181,6 +181,5 @@ "z_hop": [ "0.4" ], - "name": "Creality K2 0.2 nozzle", "nozzle_height": "4" } diff --git a/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json index 1c28315013..867cc80255 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K2 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "XiWyoJJ90uesQMGs", + "instantiation": "true", "printer_model": "Creality K2", "printer_settings_id": "Creality", "auxiliary_fan": "1", @@ -104,7 +106,6 @@ "printhost_authorization_type": "key", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -177,7 +178,6 @@ "z_hop": [ "0.4" ], - "name": "Creality K2 0.4 nozzle", "bbl_use_printhost": "0", "bed_exclude_area": "0x0", "bed_mesh_max": "99999,99999", @@ -201,6 +201,5 @@ "long_retractions_when_cut": "1", "retract_lift_enforce": "All Surfaces", "retraction_distances_when_cut": "30", - "z_hop_types": "Auto Lift", - "setting_id": "XiWyoJJ90uesQMGs" + "z_hop_types": "Auto Lift" } diff --git a/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json index 8eb0c83877..65b7831c56 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json @@ -1,9 +1,10 @@ { "type": "machine", + "name": "Creality K2 0.6 nozzle", + "inherits": "fdm_creality_common", "from": "system", "setting_id": "xjllrWDeH0ABMI8K", "instantiation": "true", - "inherits": "fdm_creality_common", "printer_model": "Creality K2", "printer_settings_id": "Creality", "auxiliary_fan": "1", @@ -106,7 +107,6 @@ "printhost_authorization_type": "key", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -179,7 +179,6 @@ "z_hop": [ "0.4" ], - "name": "Creality K2 0.6 nozzle", "adaptive_bed_mesh_margin": "0", "bbl_use_printhost": "0", "bed_exclude_area": "0x0", diff --git a/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json index 1281d5934d..cfebdec178 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json @@ -1,9 +1,10 @@ { "type": "machine", + "name": "Creality K2 0.8 nozzle", + "inherits": "fdm_creality_common", "from": "system", "setting_id": "O1ardlnBQ2nqCs07", "instantiation": "true", - "inherits": "fdm_creality_common", "printer_model": "Creality K2", "printer_settings_id": "Creality", "auxiliary_fan": "1", @@ -106,7 +107,6 @@ "printhost_authorization_type": "key", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", @@ -179,7 +179,6 @@ "z_hop": [ "0.4" ], - "name": "Creality K2 0.8 nozzle", "adaptive_bed_mesh_margin": "0", "bbl_use_printhost": "0", "bed_exclude_area": "0x0", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json index e55e947fac..9f7b11b43f 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json @@ -181,7 +181,6 @@ "printer_technology": "FFF", "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", - "silent_mode": "0", "time_cost": "0", "use_firmware_retraction": "0", "use_relative_e_distances": "1", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json index 9ca340c779..e43f1ab2b5 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json @@ -181,7 +181,6 @@ "printer_technology": "FFF", "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", - "silent_mode": "0", "time_cost": "0", "use_firmware_retraction": "0", "use_relative_e_distances": "1", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json index 4cadba6946..423aaf9373 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json @@ -181,7 +181,6 @@ "printer_technology": "FFF", "printhost_authorization_type": "key", "printhost_ssl_ignore_revoke": "0", - "silent_mode": "0", "time_cost": "0", "use_firmware_retraction": "0", "use_relative_e_distances": "1", diff --git a/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json index 4b0e4754fc..a1c33a0026 100644 --- a/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality K2 SE 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "Blm3dYf9xWwUoaYJ", + "instantiation": "true", "printer_model": "Creality K2 SE", "auxiliary_fan": "0", "bbl_use_printhost": "0", @@ -71,7 +73,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "1", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -107,7 +108,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality K2 SE 0.4 nozzle", - "setting_id": "Blm3dYf9xWwUoaYJ" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality K2 SE.json b/resources/profiles/Creality/machine/Creality K2 SE.json index 5b7ec27ea0..1a0c0901b1 100644 --- a/resources/profiles/Creality/machine/Creality K2 SE.json +++ b/resources/profiles/Creality/machine/Creality K2 SE.json @@ -9,5 +9,5 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_K2_SE", - "default_materials": "Generic ABS @Creality K2-all;Generic ASA @Creality K2-all;Generic PETG @Creality K2-all;Generic PLA @Creality K2-all;Generic PLA High Speed @Creality K2-all;Generic PLA Matte @Creality K2-all;Generic PLA Silk @Creality K2-all" + "default_materials": "Generic ABS @Creality K2-all;Generic ASA @Creality K2-all;Generic PETG @Creality K2-all;Generic PLA @Creality K2-all;Generic PLA High Speed @Creality K2-all;Generic PLA Matte @Creality K2-all;Generic PLA Silk @Creality K2-all;Generic PLA @K2 SE-all" } diff --git a/resources/profiles/Creality/machine/Creality SPARKX i7 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality SPARKX i7 0.2 nozzle.json index c2ea633914..146628aded 100644 --- a/resources/profiles/Creality/machine/Creality SPARKX i7 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality SPARKX i7 0.2 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality SPARKX i7 0.2 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "I4qasXKWnIbPgYbu", + "instantiation": "true", "printer_model": "Creality SPARKX i7", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -57,7 +59,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "0", "machine_ptc_exist": "0", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM104 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM109 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "30", "manual_filament_change": "0", @@ -78,7 +80,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -118,7 +119,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality SPARKX i7 0.2 nozzle", - "setting_id": "I4qasXKWnIbPgYbu" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality SPARKX i7 0.4 nozzle.json index 8ee1efeebd..bf30a2ce49 100644 --- a/resources/profiles/Creality/machine/Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality SPARKX i7 0.4 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality SPARKX i7 0.4 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "4usBaKppjmBSZy8N", + "instantiation": "true", "printer_model": "Creality SPARKX i7", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -57,7 +59,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "0", "machine_ptc_exist": "0", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM104 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM109 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "30", "manual_filament_change": "0", @@ -78,7 +80,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -118,7 +119,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality SPARKX i7 0.4 nozzle", - "setting_id": "4usBaKppjmBSZy8N" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality SPARKX i7 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality SPARKX i7 0.6 nozzle.json index 70c72ec78f..e327895da7 100644 --- a/resources/profiles/Creality/machine/Creality SPARKX i7 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality SPARKX i7 0.6 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality SPARKX i7 0.6 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "6R7l1V4liyafB0lf", + "instantiation": "true", "printer_model": "Creality SPARKX i7", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -57,7 +59,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "0", "machine_ptc_exist": "0", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM104 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM109 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "30", "manual_filament_change": "0", @@ -78,7 +80,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -118,7 +119,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality SPARKX i7 0.6 nozzle", - "setting_id": "6R7l1V4liyafB0lf" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality SPARKX i7 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality SPARKX i7 0.8 nozzle.json index d8358eb9dc..a3fad94bab 100644 --- a/resources/profiles/Creality/machine/Creality SPARKX i7 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality SPARKX i7 0.8 nozzle.json @@ -1,8 +1,10 @@ { "type": "machine", - "from": "system", - "instantiation": "true", + "name": "Creality SPARKX i7 0.8 nozzle", "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "kwyQHmNESgzBBCr0", + "instantiation": "true", "printer_model": "Creality SPARKX i7", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", @@ -57,7 +59,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "0", "machine_ptc_exist": "0", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM104 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nM83 \nM8200 P S[initial_no_support_extruder]\nM220 S100\n\nSET_VELOCITY_LIMIT ACCEL=5000 ACCEL_TO_DECEL=5000\nG0 X267 F18000 \nG0 X278 F2400\nM109 S[nozzle_temperature_initial_layer]\nM106 S0\nT[initial_no_support_extruder]\n\nM8200 O\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y0 F12000\nG1 X150 F30000\nG1 Z0.2 F600\nG1 X120 Y0 E15 F{filament_max_volumetric_speed[initial_extruder]/0.3*60*0.1}\nG1 X115 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X110 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X105 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG1 X100 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)*60}\nG1 X95 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4*60}\nG91\nG1 X-1 Z-0.3\nG1 X-4\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "30", "manual_filament_change": "0", @@ -78,7 +80,6 @@ "printhost_ssl_ignore_revoke": "0", "purge_in_prime_tower": "0", "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -118,7 +119,5 @@ "wipe": "1", "wipe_distance": "2", "z_hop": "0.4", - "z_hop_types": "Slope Lift", - "name": "Creality SPARKX i7 0.8 nozzle", - "setting_id": "kwyQHmNESgzBBCr0" + "z_hop_types": "Slope Lift" } diff --git a/resources/profiles/Creality/machine/Creality SPARKX i7.json b/resources/profiles/Creality/machine/Creality SPARKX i7.json index 73a5e85ead..180f042129 100644 --- a/resources/profiles/Creality/machine/Creality SPARKX i7.json +++ b/resources/profiles/Creality/machine/Creality SPARKX i7.json @@ -4,10 +4,10 @@ "nozzle_diameter": "0.8;0.6;0.4;0.2", "bed_model": "creality_SPARKX_buildplate_model.stl", "default_bed_type": "Textured PEI Plate", - "bed_texture": "creality_hi_buildplate_texture.svg", + "bed_texture": "creality_SPARKX_buildplate_texture.svg", "family": "Creality", "hotend_model": "", "machine_tech": "FFF", "model_id": "Creality_SPARKX_i7", - "default_materials": "Generic PETG @SPARKX i7-all;Generic PLA @SPARKX i7-all;CR-PLA Matte @SPARKX i7-all;Generic PLA Silk @SPARKX i7-all" + "default_materials": "Generic PETG @SPARKX i7-all;Generic PLA @SPARKX i7-all;CR-PLA Matte @SPARKX i7-all;Generic PLA-Silk @SPARKX i7-all" } diff --git a/resources/profiles/Creality/machine/Creality Sermoon D3 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon D3 0.4 nozzle.json new file mode 100644 index 0000000000..aafe573db7 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon D3 0.4 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "Creality Sermoon D3 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "59RabiPsByZ8SN4V", + "instantiation": "true", + "printer_model": "Creality Sermoon D3", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X42 Y180 F30000\nG1 Z{z_after_toolchange} F600", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "119", + "default_print_profile": "0.20mm Standard @Creality Sermoon D3 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "100", + "extruder_clearance_height_to_rod": "50", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_LED_light_exist": "1", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "500", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "500", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "1", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x250,0x250", + "printable_height": "300", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @Sermoon D3-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "299", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "1", + "retraction_speed": "40", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon D3 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon D3 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..e82ab42245 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon D3 Pro 0.4 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "name": "Creality Sermoon D3 Pro 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "9JdpKeb70NBMQqK4", + "instantiation": "true", + "printer_model": "Creality Sermoon D3 Pro", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": ";switch//////////////////////////////////////////\n; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num])\nG1 F800 E-[new_retract_length]\nG1 F21000\n;P0 S1 L2 D0\nT[next_extruder]\nM109 S[new_filament_temp]\n;T0 S1 L0 D0\n;switch//////////////////////////////////////////\n", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_print_profile": "0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle", + "disable_m73": "1", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_LED_light_exist": "1", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\n;G1 Z10 ;Raise Z more\nG90 ;Absolute positionning\n\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "5000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "3000", + "machine_max_acceleration_y": "3000", + "machine_max_acceleration_z": "100", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "1", + "machine_ptc_exist": "1", + "machine_start_gcode": "M900 T0 K0.03\nM900 T1 K0.05\nM593 X F35\nM593 Y F37.5\nM205 B20000.00 S0.00 T0.00 J0.05\nG21\nG90\nM83\nM107\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer] T[initial_no_support_extruder]\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": "0x0,290x0,290x220,0x220", + "printable_height": "300", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @Sermoon D3-all" + ], + "deretraction_speed": "40,40", + "extruder_colour": "#FCE94F,#FCE94F", + "extruder_offset": "0x0,0x0", + "long_retractions_when_cut": "0,0", + "max_layer_height": "0.3,0.3", + "min_layer_height": "0.08,0.08", + "nozzle_diameter": [ + "0.4,0.4" + ], + "retract_before_wipe": "90%,90%", + "retract_length_toolchange": "10,10", + "retract_lift_above": "0,0", + "retract_lift_below": "0,0", + "retract_lift_enforce": "All Surfaces,All Surfaces", + "retract_restart_extra": "0,0", + "retract_restart_extra_toolchange": "0,0", + "retract_when_changing_layer": "1,1", + "retraction_distances_when_cut": "18,18", + "retraction_length": "0.8,0.8", + "retraction_minimum_travel": "2,2", + "retraction_speed": "40,40", + "travel_slope": "1,1", + "wipe": "1,1", + "wipe_distance": "2,2", + "z_hop": "0.4,0.4", + "z_hop_types": "Slope Lift,Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon D3 Pro.json b/resources/profiles/Creality/machine/Creality Sermoon D3 Pro.json new file mode 100644 index 0000000000..5218ce111b --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon D3 Pro.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Sermoon D3 Pro", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "High Temp Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sermoon_D3_Pro", + "default_materials": "Hyper PLA-CF @Sermoon D3 Pro-all;CR-PETG @Sermoon D3 Pro-all;Hyper PLA @Sermoon D3 Pro-all;CR-ABS @Sermoon D3 Pro-all" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon D3.json b/resources/profiles/Creality/machine/Creality Sermoon D3.json new file mode 100644 index 0000000000..3eeb52b32f --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon D3.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Sermoon D3", + "nozzle_diameter": "0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "High Temp Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sermoon_D3", + "default_materials": "CR-Silk @Sermoon D3-all;CR-PLA @Sermoon D3-all;CR-TPU @Sermoon D3-all;CR-PETG @Sermoon D3-all;Hyper PLA @Sermoon D3-all;Generic ABS @Sermoon D3-all" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..bd52ae171a --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,113 @@ +{ + "type": "machine", + "name": "Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "HOFVUEhkatFtDeUd", + "instantiation": "true", + "printer_model": "Creality Sermoon M300", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "128", + "default_print_profile": "0.20mm Standard @Creality Sermoon M300 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "2", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "118", + "extruder_clearance_height_to_rod": "24", + "extruder_clearance_radius": "64", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "END_PRINT", + "machine_load_filament_time": "128", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "20000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "20000", + "machine_max_acceleration_y": "20000", + "machine_max_acceleration_z": "300", + "machine_max_jerk_e": "10", + "machine_max_jerk_x": "100", + "machine_max_jerk_y": "100", + "machine_max_jerk_z": "5", + "machine_max_speed_e": "50", + "machine_max_speed_x": "800", + "machine_max_speed_y": "800", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "1", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "183", + "parking_pos_retraction": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "200", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96,300x300", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Sermoon M300-all" + ], + "deretraction_speed": "40", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "1", + "max_layer_height": "0.35", + "min_layer_height": "0.1", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "70", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "199", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "30", + "retraction_length": "0.8", + "retraction_minimum_travel": "1", + "retraction_speed": "40", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Auto Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon M300 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon M300 0.6 nozzle.json new file mode 100644 index 0000000000..e8cd96e845 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon M300 0.6 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "Creality Sermoon M300 0.6 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "IVoSH2oMNLuH2D1s", + "instantiation": "true", + "printer_model": "Creality Sermoon M300", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "128", + "default_print_profile": "0.30mm Standard @Creality Sermoon M300 0.6 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "118", + "extruder_clearance_height_to_rod": "24", + "extruder_clearance_radius": "64", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "END_PRINT", + "machine_load_filament_time": "128", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "20000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "20000", + "machine_max_acceleration_y": "20000", + "machine_max_acceleration_z": "300", + "machine_max_jerk_e": "10", + "machine_max_jerk_x": "100", + "machine_max_jerk_y": "100", + "machine_max_jerk_z": "5", + "machine_max_speed_e": "50", + "machine_max_speed_x": "800", + "machine_max_speed_y": "800", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "1", + "machine_ptc_exist": "0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "183", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "200", + "printer_technology": "FFF", + "printer_variant": "0.6", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Sermoon M300-all" + ], + "deretraction_speed": "30", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.42", + "min_layer_height": "0.12", + "nozzle_diameter": [ + "0.6" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "199", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "1.5", + "retraction_minimum_travel": "2", + "retraction_speed": "30", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon M300 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon M300 0.8 nozzle.json new file mode 100644 index 0000000000..299bb1679b --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon M300 0.8 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "Creality Sermoon M300 0.8 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "JFD4mtUYcImChJkw", + "instantiation": "true", + "printer_model": "Creality Sermoon M300", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "128", + "default_print_profile": "0.40mm Standard @Creality Sermoon M300 0.8 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "118", + "extruder_clearance_height_to_rod": "24", + "extruder_clearance_radius": "64", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "machine_LED_light_exist": "0", + "machine_end_gcode": "END_PRINT", + "machine_load_filament_time": "128", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "20000", + "machine_max_acceleration_retracting": "5000", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "20000", + "machine_max_acceleration_y": "20000", + "machine_max_acceleration_z": "300", + "machine_max_jerk_e": "10", + "machine_max_jerk_x": "100", + "machine_max_jerk_y": "100", + "machine_max_jerk_z": "5", + "machine_max_speed_e": "50", + "machine_max_speed_x": "800", + "machine_max_speed_y": "800", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "PAUSE", + "machine_platform_motion_enable": "1", + "machine_ptc_exist": "0", + "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "183", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,300x0,300x300,0x300", + "printable_height": "200", + "printer_technology": "FFF", + "printer_variant": "0.8", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "Generic PLA @Sermoon M300-all" + ], + "deretraction_speed": "30", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.56", + "min_layer_height": "0.16", + "nozzle_diameter": [ + "0.8" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "199", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "2", + "retraction_minimum_travel": "2", + "retraction_speed": "30", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Slope Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon M300.json b/resources/profiles/Creality/machine/Creality Sermoon M300.json new file mode 100644 index 0000000000..b0d59958cc --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon M300.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Sermoon M300", + "nozzle_diameter": "0.8;0.6;0.4", + "bed_model": "creality_cr10v2_buildplate_model.stl", + "default_bed_type": "Textured PEI Plate", + "bed_texture": "creality_cr10v2_buildplate_texture.svg", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sermoon_M300", + "default_materials": "Generic ASA @Sermoon M300-all;Generic ABS @Sermoon M300-all;Hyper PLA-CF @Sermoon M300-all;Hyper PETG @Sermoon M300-all;Hyper ABS @Sermoon M300-all;Generic PLA-Silk @Sermoon M300-all;Generic PLA @Sermoon M300-all;Generic PETG @Sermoon M300-all;CR-Silk @Sermoon M300-all;CR-PETG @Sermoon M300-all;CR-ABS @Sermoon M300-all;CR-PLA @Sermoon M300-all;Hyper PLA @Sermoon M300-all" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json index 2d7f0a63d8..a120b5f629 100644 --- a/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json @@ -7,7 +7,7 @@ "instantiation": "true", "printer_model": "Creality Sermoon V1", "default_filament_profile": [ - "Generic PLA @Creality" + "CR-PLA @Sermoon V1 Pro-all" ], "default_print_profile": "0.20mm Standard @Creality Sermoon V1", "nozzle_diameter": [ diff --git a/resources/profiles/Creality/machine/Creality Sermoon V1 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon V1 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..036ec9c791 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon V1 Pro 0.4 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "Creality Sermoon V1 Pro 0.4 nozzle", + "inherits": "fdm_creality_common", + "from": "system", + "setting_id": "s7iFo8yEpyRUvd5w", + "instantiation": "true", + "printer_model": "Creality Sermoon V1 Pro", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_exclude_area": "0x0", + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X42 Y180 F30000\nG1 Z{z_after_toolchange} F600", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "creality_flush_time": "119", + "default_print_profile": "0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle", + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "100", + "extruder_clearance_height_to_rod": "50", + "extruder_clearance_radius": "60", + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "marlin", + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_LED_light_exist": "1", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": "5000", + "machine_max_acceleration_extruding": "500", + "machine_max_acceleration_retracting": "500", + "machine_max_acceleration_travel": "20000", + "machine_max_acceleration_x": "500", + "machine_max_acceleration_y": "500", + "machine_max_acceleration_z": "500", + "machine_max_jerk_e": "5", + "machine_max_jerk_x": "10", + "machine_max_jerk_y": "10", + "machine_max_jerk_z": "0.4", + "machine_max_speed_e": "50", + "machine_max_speed_x": "500", + "machine_max_speed_y": "500", + "machine_max_speed_z": "10", + "machine_min_extruding_rate": "0,0", + "machine_min_travel_rate": "0,0", + "machine_pause_gcode": "M25", + "machine_platform_motion_enable": "1", + "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "prime_tower_position_type": "Middle Upper", + "printable_area": "0x0,175x0,175x175,0x175", + "printable_height": "165", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "purge_in_prime_tower": "0", + "scan_first_layer": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "thumbnails": "96x96/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "z_offset": "0", + "default_filament_profile": [ + "CR-PLA @Sermoon V1 Pro-all" + ], + "deretraction_speed": "30", + "extruder_colour": "#FCE94F", + "extruder_offset": "0x0", + "long_retractions_when_cut": "0", + "max_layer_height": "0.2", + "min_layer_height": "0.08", + "nozzle_diameter": [ + "0.4" + ], + "retract_before_wipe": "90%", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "164", + "retract_lift_enforce": "All Surfaces", + "retract_restart_extra": "0", + "retract_restart_extra_toolchange": "0", + "retract_when_changing_layer": "1", + "retraction_distances_when_cut": "18", + "retraction_length": "0.8", + "retraction_minimum_travel": "2", + "retraction_speed": "30", + "travel_slope": "3", + "wipe": "1", + "wipe_distance": "2", + "z_hop": "0.4", + "z_hop_types": "Normal Lift" +} diff --git a/resources/profiles/Creality/machine/Creality Sermoon V1 Pro.json b/resources/profiles/Creality/machine/Creality Sermoon V1 Pro.json new file mode 100644 index 0000000000..df70f60379 --- /dev/null +++ b/resources/profiles/Creality/machine/Creality Sermoon V1 Pro.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "Creality Sermoon V1 Pro", + "nozzle_diameter": "0.4", + "bed_model": "creality_k1_buildplate_model.stl", + "default_bed_type": "Cool Plate", + "bed_texture": "", + "family": "Creality", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Creality_Sermoon_V1_Pro", + "default_materials": "CR-TPU @Sermoon V1 Pro-all;CR-PETG @Sermoon V1 Pro-all;Generic ABS @Sermoon V1 Pro-all;CR-PLA @Sermoon V1 Pro-all;Hyper PLA @Sermoon V1 Pro-all" +} diff --git a/resources/profiles/Creality/machine/fdm_creality_common.json b/resources/profiles/Creality/machine/fdm_creality_common.json index 1818e8b54b..1defbe311e 100644 --- a/resources/profiles/Creality/machine/fdm_creality_common.json +++ b/resources/profiles/Creality/machine/fdm_creality_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/Creality/machine/fdm_machine_common.json b/resources/profiles/Creality/machine/fdm_machine_common.json index 26e3032451..88b73d03e3 100644 --- a/resources/profiles/Creality/machine/fdm_machine_common.json +++ b/resources/profiles/Creality/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "support_chamber_temp_control": "0", "support_air_filtration": "0", "machine_max_acceleration_e": [ diff --git a/resources/profiles/Creality/process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json index 0ff5143efe..fa3f86d8c1 100644 --- a/resources/profiles/Creality/process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "5FeO8mZypv8CHDpj", "name": "0.06mm SuperDetail @Creality K2 Plus 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "5FeO8mZypv8CHDpj", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,100,6000], [1.0,1.5,80,5500], [1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 0.4 nozzle.json new file mode 100644 index 0000000000..1ceb571964 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality CR-10 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "yTrl8J125QyD9a2d", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "35", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "25", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "35", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "35", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "35", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "35", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle.json new file mode 100644 index 0000000000..3f7fed4cee --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality CR-10 Smart 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "butEbLsfJxOh1bvl", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "40", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "40", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle.json new file mode 100644 index 0000000000..ced90481ab --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality CR-10 Smart Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "3bm7MqdMcjbw0Cam", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "60", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "15", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "60", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle.json new file mode 100644 index 0000000000..66c1943722 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality CR-10S Pro V2 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Mig8EoCpkEcf3ziy", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "8", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "35", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "35", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "35", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "35", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "35", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..7a0a132cb4 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality CR-20 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "HTuSW1dDbNcU2jYF", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "35", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "35", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "35", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..3821bf9d72 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Ender-2 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "AGNseZJ1dDlfxSpJ", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "70", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.08", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "70", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "60", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "60", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "50", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle.json new file mode 100644 index 0000000000..de2456da79 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Ender-3 Max 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "oaCT7YTo6y4UFStp", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "70", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle.json new file mode 100644 index 0000000000..0e4b49c1db --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Ender-3 Max Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "RS4QkLYzrl7h45WD", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "70", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle.json new file mode 100644 index 0000000000..b5c1c6ac56 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Ender-3 Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "T1a6nt3lzdMsvyDH", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "7", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "8%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "40", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "40", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle.json new file mode 100644 index 0000000000..7be15b7f7a --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Sermoon D3 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "hgzLcDIojpLI4XXw", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "8", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "25", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "25", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "80", + "ironing_angle": "90", + "ironing_flow": "8", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "80", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "90", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "8", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "50", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..8da87bc0e9 --- /dev/null +++ b/resources/profiles/Creality/process/0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.08mm Extra Fine @Creality Sermoon V1 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ylm8cO9jHjj6P5pV", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "8", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "70", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "80", + "ironing_angle": "90", + "ironing_flow": "8", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.08", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "70", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "3", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "80", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "70", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "60", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "9", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "70", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.08mm HueForge @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm HueForge @Creality Hi 0.4 nozzle.json index e993c77b6c..1ee91f8cad 100644 --- a/resources/profiles/Creality/process/0.08mm HueForge @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm HueForge @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "peqHRWTyVxZ2w5WU", "name": "0.08mm HueForge @Creality Hi 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "peqHRWTyVxZ2w5WU", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", diff --git a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 0.4 nozzle.json index 3f0ff3b207..d5f49f7674 100644 --- a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "rWpJRnZscjXyKngw", "name": "0.08mm HueForge @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "rWpJRnZscjXyKngw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json index 6ddf78e2d2..1570aed7cc 100644 --- a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "nOd96z5QquzKG3iu", "name": "0.08mm HueForge @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "nOd96z5QquzKG3iu", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json index ab5c252c2b..cfbba070ec 100644 --- a/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm HueForge @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "uUPLPuPdvODZdBSU", "name": "0.08mm HueForge @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "uUPLPuPdvODZdBSU", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json index f584a86449..95593ff7f2 100644 --- a/resources/profiles/Creality/process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm HueForge @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "KQXt6EPU3DFJ4xLr", "name": "0.08mm HueForge @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "KQXt6EPU3DFJ4xLr", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "20", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -176,7 +174,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "1", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "80%", diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality CR-6 0.2.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality CR-6 0.2.json index d33349495f..65e63734ff 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality CR-6 0.2.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality CR-6 0.2.json @@ -20,5 +20,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.2 nozzle", "Creality CR-6 Max 0.2 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.2.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.2.json index 230b17d517..98e3b8460f 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.2.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.2.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "9", "top_shell_layers": "11", "layer_height": "0.08", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.25.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.25.json index aa1fb27356..a41c195976 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.25.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.25.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "9", "top_shell_layers": "11", "layer_height": "0.08", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.3.json index d1e542b304..8ed82a6eed 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Ender5Pro (2019) 0.3.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "9", "top_shell_layers": "11", "layer_height": "0.08", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json index 05da7204cf..121b745758 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "Gzis5yvHXQD9PnSf", "name": "0.08mm SuperDetail @Creality Hi", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Gzis5yvHXQD9PnSf", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", @@ -244,4 +242,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json index 7300c45c8d..df9ee89c29 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "jgP5JZdbxUbg8lfB", "name": "0.08mm SuperDetail @Creality K1 (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "jgP5JZdbxUbg8lfB", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json index adc86b4768..31523e47f4 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "715XKCccsul5FKvC", "name": "0.08mm SuperDetail @Creality K1 Max_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "715XKCccsul5FKvC", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json index 976756a212..626636bc5d 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "OhhZPXABlfjJun3o", "name": "0.08mm SuperDetail @Creality K1C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "OhhZPXABlfjJun3o", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json index 6748914ae7..b16583d310 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "DMPF0xf2yvEWmu4L", "name": "0.08mm SuperDetail @Creality K1C_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "DMPF0xf2yvEWmu4L", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json index f3f37caca7..c857595ddb 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1Max (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "CaqcNDTSGWeJ81xw", "name": "0.08mm SuperDetail @Creality K1Max (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "CaqcNDTSGWeJ81xw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json index 0144a35372..474a37c964 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "ZqIhsxrzqVs6cFvM", "name": "0.08mm SuperDetail @Creality K1_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ZqIhsxrzqVs6cFvM", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.2 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.2 nozzle.json index 7690eb0206..8bf4ce990c 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json index 229c5be38a..7edb449976 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "VK8qeRg8ZEHRo2Rk", "name": "0.08mm SuperDetail @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "VK8qeRg8ZEHRo2Rk", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,7 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -242,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json index 26e877b4bf..3db7735d91 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "d22VPSF1SXi5gPOI", "name": "0.08mm SuperDetail @Creality K2 Plus 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "d22VPSF1SXi5gPOI", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json index f9b00d5283..cd8fe57a81 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "T181USiYx4xlKGI9", "name": "0.08mm SuperDetail @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "T181USiYx4xlKGI9", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle.json index 11833d41bc..822b4ce721 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json index 2edfea780c..de6729076e 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "Qq07eSaIWdVHr9mr", "name": "0.08mm SuperDetail @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Qq07eSaIWdVHr9mr", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,7 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -242,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json index 94b622d674..ae638706d1 100644 --- a/resources/profiles/Creality/process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "1PSmepdqo0eFyI23", "name": "0.08mm SuperDetail @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "1PSmepdqo0eFyI23", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "20", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -154,7 +152,6 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "1", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "80%", diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality CR-6 0.4.json index 792e4bf7a3..10228d278b 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality CR-6 0.4.json @@ -18,5 +18,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.2.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.2.json index dfb5e9c47d..60a7132c79 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.2.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.2.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "7", "top_shell_layers": "9", "layer_height": "0.1", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.25.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.25.json index 05874dce2a..071e03351c 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.25.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.25.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "7", "top_shell_layers": "9", "layer_height": "0.1", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.3.json index bd46eedd26..1726af7779 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality Ender5Pro (2019) 0.3.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "7", "top_shell_layers": "9", "layer_height": "0.1", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 0.2 nozzle.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 0.2 nozzle.json index fbf0043f01..262ad0538c 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json index 6bf1baf2d2..c8e196966b 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Plus 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "V2oWbmagKmmoxbv3", "name": "0.10mm HighDetail @Creality K2 Plus 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "V2oWbmagKmmoxbv3", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Pro 0.2 nozzle.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Pro 0.2 nozzle.json index d104a68e6a..d25fe06205 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Pro 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality K2 Pro 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json b/resources/profiles/Creality/process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json index 16bc203a9c..bcdad2f20e 100644 --- a/resources/profiles/Creality/process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "GqPrfjfOMnakeSmK", "name": "0.10mm HighDetail @Creality SPARKX i7 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "GqPrfjfOMnakeSmK", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -176,7 +174,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "4", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "100%", diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.2.json b/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.2.json index 148e6ca5d9..82aa1d69c6 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.2.json @@ -20,5 +20,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.2 nozzle", "Creality CR-6 Max 0.2 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.4.json index 89456915ee..90ca992996 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality CR-6 0.4.json @@ -13,5 +13,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.2.json b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.2.json index ad1efe2985..8039bf2a18 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.2.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "6", "top_shell_layers": "7", "layer_height": "0.12", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.25.json b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.25.json index 691b29d56a..2e3dcd7f35 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.25.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.25.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "6", "top_shell_layers": "7", "layer_height": "0.12", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.3.json index e1eea95fd2..3c191ec24a 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.3.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "6", "top_shell_layers": "7", "layer_height": "0.12", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.5.json index 5334f80bed..8f9cf150e3 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality Ender5Pro (2019) 0.5.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "6", "top_shell_layers": "7", "layer_height": "0.12", - "bridge_flow": "0.7" -} + "bridge_flow": "0.7", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.2 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.2 nozzle.json index d8e1f7255d..db8752f98d 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.4 nozzle.json index 2003ecc36d..27e4e5d21a 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "RxVB6dYHB7XghTJM", "name": "0.12mm Detail @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "RxVB6dYHB7XghTJM", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json index d2c0488bd9..b33edd07d6 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "4QIsAhoHoAXDecGF", "name": "0.12mm Detail @Creality K2 Plus 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "4QIsAhoHoAXDecGF", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json index 6abaf12607..7571ba459e 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "fY34NxARSSe2qjvw", "name": "0.12mm Detail @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "fY34NxARSSe2qjvw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.2 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.2 nozzle.json index 3936bfee46..569f61bcd5 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json index 0c06c325fa..8220879a98 100644 --- a/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Detail @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "g1QZLRXoH1joFYs3", "name": "0.12mm Detail @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "g1QZLRXoH1joFYs3", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json index b753d5d697..8c65593d23 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "eeiPSOyL4ergqQ07", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 Max 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json index 420946637a..63bf9e3041 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "wrSsDTXZmqGP7jI6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json index 080d492adb..0060f44220 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cDZYl2hgnh7Cc99L", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json index fdac5e080f..7ae0e8f685 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "tSCiJ9olpnfuFwwH", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json index e6d532895c..0b0eaa5cb6 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QheGOjs9kbqt0RIz", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json index 9d3526378a..d2fd6f68e1 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "TduEizRFdShIDRcm", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json index e54dac4c6f..90919815b8 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Vkv3aPxQr9VEJvaF", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json index dc47420779..f0007702c4 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Oc6OFEFHUMPYMB63", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json index 25c255507a..9f34c3442b 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "UntNzp8KmgY2dJp5", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json index bdbcde0c09..b5bf31d804 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "29EqYizz07WCqLH6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json index e094dec366..92fc5427a8 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Ud8sbqOYEtSQQT6z", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json index f04f45f8fb..dc7b38858e 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "NZt7TVAsYcO4KVUO", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json index 4a98444b8b..0d5d63248f 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "hYyzb4pWqSMccfku", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json index 0c89db070e..7f31205706 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "BYotUlZcqUXYiUJD", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json index f5f2c12992..111278f30e 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cRgPV5JRbPRakGVF", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json index 311aa9f18b..f48c53a417 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Rs3jP38ZEjdPihGT", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json index a9beb01fcf..332c15154f 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "EJAHGtrssuw5Z6ul", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json index 82c3f7e5f9..b31ed27ee6 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "qPcJyOUL611jQfcb", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json index 812595bf28..411ea32b28 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "JM7OGS3Cjxqg6wFn", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json index c01491ecfa..9e4bb3c054 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json @@ -6,7 +6,6 @@ "from": "system", "setting_id": "W68mSPdmat2rCXuD", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json index 797cbcafc9..66a4aa97e0 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "WS8Z9BGDgjWP3pQJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json index 202ac828bc..5bcec917a2 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "kkfspmZozKFg5BA4", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json index d452d0e75e..f9c11085b3 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pMT5vO5IBWX9wZLG", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Pro (2019) 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Hi 0.4 nozzle.json index d332eeaf3b..13ab3bb638 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "BqQTYLbb22LCHEJN", "name": "0.12mm Fine @Creality Hi", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "BqQTYLbb22LCHEJN", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,180,5000],[1.0,1.5,160,4000],[1.5,2.0,150,3000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json index 56e76e7a03..b871ea6cdb 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "g6zPlZ8mKj4YHC9l", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 SE 0.4 nozzle.json index 0d9c5f4f5b..b54cb6302f 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 SE 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cAcjLnedHgi2zJ05", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", @@ -116,4 +114,4 @@ "xy_contour_compensation": "0", "gcode_label_objects": "0", "precise_outer_wall": "1" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json index 00e10594e3..cf08bcd873 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "G93LbyixXNXBiA0c", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", @@ -115,4 +113,4 @@ "xy_hole_compensation": "0", "xy_contour_compensation": "0", "gcode_label_objects": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json index 0afe3367a5..fc5daba4ac 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "hfAhnivnymhUKkuS", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -31,7 +30,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.12", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json index db05c36733..97da9d42d5 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "gHnRFCfQOiqEOQhq", "name": "0.12mm Fine @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "gHnRFCfQOiqEOQhq", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "20", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -174,7 +172,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "1", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "80%", diff --git a/resources/profiles/Creality/process/0.12mm Standard @Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Standard @Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..465df95b50 --- /dev/null +++ b/resources/profiles/Creality/process/0.12mm Standard @Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.12mm Standard @Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ZOP2kgwd4yGaTltF", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "10", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "200", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.12", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "300", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "5000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 0.2 nozzle.json b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 0.2 nozzle.json index 23ee07ff02..dca59ca762 100644 --- a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json index acdb2c2403..59fc3954db 100644 --- a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Plus 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "AgwKETM82R6PNW8u", "name": "0.14mm Optimal @Creality K2 Plus 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "AgwKETM82R6PNW8u", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,100,6000], [1.0,1.5,80,5500], [1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Pro 0.2 nozzle.json b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Pro 0.2 nozzle.json index dc2ded50f4..af11446856 100644 --- a/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Pro 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.14mm Optimal @Creality K2 Pro 0.2 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json b/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json index e04a25a2e7..f5fde4bc85 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "AhVlBBKSgNv8gtzF", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 Max 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json index 91fa465acc..2450f7bade 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ZlLapzGj5AcZJW7n", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json index cae991ff76..6042d4d458 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ysg14LXoki3gnanY", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Pro (2019) 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json index aeb29cee0a..f85c92a4e5 100644 --- a/resources/profiles/Creality/process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Fine @Creality Ender-3 V4 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "cFlbPrdjMi4CLWZF", "name": "0.16mm Fine @Creality Ender-3 V4 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "cFlbPrdjMi4CLWZF", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -263,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 0.4 nozzle.json new file mode 100644 index 0000000000..a6bea52616 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality CR-10 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "BtecBhTYyinrVQFz", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "3", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle.json new file mode 100644 index 0000000000..b6bb4210da --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality CR-10 Smart 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "rdzOHhJEPbarUR3Q", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "3", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle.json new file mode 100644 index 0000000000..a97753b2dc --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality CR-10 Smart Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "LJbKpfmvGswSJysf", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "60", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "15", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "3", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle.json new file mode 100644 index 0000000000..81a5ee48c3 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle.json @@ -0,0 +1,229 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality CR-10S Pro V2 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "a8UILdzfT7Jvodmq", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "spiral_mode": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..acd0a89782 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality CR-20 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "IFOZoV3ULJge16uI", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.2.json index 84157fbc26..9c93cbe430 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.2.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.2 nozzle", "Creality CR-6 Max 0.2 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.4.json index 44e22d33e9..2bcfd2e51b 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "hB2b43wb6zlKNwM7", "instantiation": "true", - "adaptive_layer_height": "1", "brim_object_gap": "0", "brim_width": "0", "default_acceleration": "0", @@ -42,11 +41,11 @@ "support_threshold_angle": "30", "support_top_z_distance": "0.15", "top_surface_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "tree_support_branch_angle": "40", "wall_loops": "2", "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.6.json index 003f549456..967a55cf81 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR-6 0.6.json @@ -20,5 +20,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json index 77f4e754f6..9f69042388 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "KJS40SDSHBwiqODl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json index 336e78ac1c..866a2c05d9 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "0MJLzTqNgW25Uheg", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json index 1f1a708b4b..d3a63e4193 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "N8cFrOUSa1yfMrv0", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json index b98f76289e..82c26510c7 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cjrvnlS7gkkm0pNy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json index 067aa42760..c45781a428 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QussxQZJlCnscRO8", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..810c79f8ba --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Ender-2 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ODK9virAvPP70d4c", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle.json new file mode 100644 index 0000000000..21c9ace1df --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Ender-3 Max 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "3Z5wEVkpMgJE2HPp", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle.json new file mode 100644 index 0000000000..0c11d1aec4 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Ender-3 Max Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "eTiCi22QXm4V8Quh", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle.json new file mode 100644 index 0000000000..cab9dadf96 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Ender-3 Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "SQ04SvR2NsqqjdBh", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "25", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "3", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json index a41f412f45..206549e65c 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cply3AO1zRZSsHgR", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json index 9a42f54448..72da659565 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "11bH6lpigIvL8u8f", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json index 0c74372dee..976d9b7116 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Fke1V31Lx19EoKIA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json index 0ecee26eb0..e9f4cf9d59 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "9fSweJ4F7gua7Uc7", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json index e2ab351bc7..e86f3f74c5 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "DwpNJnb8eEz7L9Bb", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json index c21dcdd143..30e1cf98db 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "43mtG5xlkphvMKKd", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json index c8f9692039..c3802632d5 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Jhb6GdIOKHntN1Ya", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json index a90a14ce26..cb1ad11aac 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fxgj9J397IulykPl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json index 1adc7edee9..362cb2cad3 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "O0dOiNS7TEZtCZ8R", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json index 6ec52bb438..5da4a37fdd 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "eWDWBHYshBLl925f", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json index dc0b13a54d..86ae64bfd1 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "HjQX9RTDFKq7QGtA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json index 4dca077fd8..5eb55b60d6 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "sFUH487ulcosG1Aj", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json index 0b360bbdf5..50ab4487c5 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dDjBGlXptHbFRkZe", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json index dc75dd8a6b..57a7eaaf84 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "XL3fQRXNDiWlirhY", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json index ee244e17c8..423c828055 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "aoBTpFYHhbpg1kuj", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json index c3487fcff2..e361cd3784 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "2Nrbq8PxssUPBLza", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.16", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json index 3ae447f19b..ab29d7af18 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ujKrpcMbGeL1pnX6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json index 9139a9ab80..63a173201c 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "eni3OChSXVGLB0NB", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.16", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json index b7113edd45..9691a8e555 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "CSSjT637cJ1BSrDa", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json index 052142f6ec..7970cd9ec4 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json @@ -6,7 +6,6 @@ "from": "system", "setting_id": "jvnrh3jh6Btbs1Ja", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json index 1bc4ed673f..5a8f264e9b 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "oFqTILkrvntT8uHM", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json index 676751fa1e..a9e589bf62 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "kLTt1KBtPskehSHv", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json index 8912d61ace..ed1b002398 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dIPbjfE0UjFaq6YU", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json index 704cd3756a..44ee28d720 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "A7RB0AQ0t1UkCN5G", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Plus 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.2.json index 344366907a..3a910089b8 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.2.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "5", "top_shell_layers": "7", "layer_height": "0.16", - "bridge_flow": "0.85" -} + "bridge_flow": "0.85", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.25.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.25.json index cbb8231466..74a0b56f10 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.25.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.25.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "5", "top_shell_layers": "7", "layer_height": "0.16", - "bridge_flow": "0.85" -} + "bridge_flow": "0.85", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.3.json index f8542b1e99..096d04c368 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.3.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "5", "top_shell_layers": "7", "layer_height": "0.16", - "bridge_flow": "0.85" -} + "bridge_flow": "0.85", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.5.json index bcca7d93c0..b044040489 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.5.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "5", "top_shell_layers": "7", "layer_height": "0.16", - "bridge_flow": "0.85" -} + "bridge_flow": "0.85", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.6.json index 076f5babc0..c874a2a8fd 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Pro (2019) 0.6.json @@ -8,5 +8,6 @@ "bottom_shell_layers": "5", "top_shell_layers": "7", "bridge_flow": "0.85", - "layer_height": "0.16" -} + "layer_height": "0.16", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json index fb485bbf21..536cca9634 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "qVu6mv4sVrVzWxvy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5S 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json index 45d61838d5..9e468ec630 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "03w4e0cMfUFjZcv6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 S1 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json index 4669bff842..68b01b62d6 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cjGhLiKivneRnlNJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-6 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Hi 0.4 nozzle.json index 77b1295186..6f7f4a0154 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "NtD3nnUvAO8aSUDJ", "name": "0.16mm Optimal @Creality Hi", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "NtD3nnUvAO8aSUDJ", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,180,5000],[1.0,1.5,160,4000],[1.5,2.0,150,3000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json index d6caa5e775..7c9548b0f5 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "A0a8psWEQGdmYiPj", "name": "0.16mm Optimal @Creality K1 (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "A0a8psWEQGdmYiPj", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json index a1896fa377..f3b0e35677 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "BQiQnQJpN2Yy4c7u", "name": "0.16mm Optimal @Creality K1 Max_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "BQiQnQJpN2Yy4c7u", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json index 087d90a584..bece32d26b 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "xHoh6Y8AfDzNA5Mf", "name": "0.16mm Optimal @Creality K1 SE", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "xHoh6Y8AfDzNA5Mf", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,8 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json index 62708a822a..07778ded42 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "ZhEEAnJ5eh6QES40", "name": "0.16mm Optimal @Creality K1 SE_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ZhEEAnJ5eh6QES40", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -263,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json index 5deb17002e..c4952f98a6 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "i25lsWBmZF21XcdV", "name": "0.16mm Optimal @Creality K1C", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "i25lsWBmZF21XcdV", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json index 2365a82d31..3165987f20 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "CpdVjCmJkN3pWssv", "name": "0.16mm Optimal @Creality K1C_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "CpdVjCmJkN3pWssv", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json index 02507c806f..dd4772c4d0 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "IN9EjcbeLmwzyIrt", "name": "0.16mm Optimal @Creality K1Max (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "IN9EjcbeLmwzyIrt", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json index cda928b2e7..8c67647925 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "a76Q90iyWf1az7Fv", "name": "0.16mm Optimal @Creality K1_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "a76Q90iyWf1az7Fv", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 0.4 nozzle.json index d8e00651f2..61d916d5ba 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "xcJYMZt1N40vmszc", "name": "0.16mm Optimal @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "xcJYMZt1N40vmszc", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json index 1f9b68b300..e4337f090c 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "Qh4PUdesKrjSUXFm", "name": "0.16mm Optimal @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Qh4PUdesKrjSUXFm", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json index 80277008a0..df397e484f 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "FCUUtHpYIxeokc0a", "name": "0.16mm Optimal @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "FCUUtHpYIxeokc0a", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json index c23d00fba0..a5baecce55 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "8z63KIGeDgitLqPe", "name": "0.16mm Optimal @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "8z63KIGeDgitLqPe", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "30", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -174,7 +172,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "2", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "100%", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon D3 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon D3 0.4 nozzle.json new file mode 100644 index 0000000000..7a62afa0e2 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon D3 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Sermoon D3 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "eWeXLHAR3zJzuB48", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "70", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "25", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "25", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "80", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "100", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "70", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "90", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "70", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..52c8e0231a --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.16mm Optimal @Creality Sermoon V1 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "TrL4s7dKLZO8Wkau", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "60", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "70", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "3", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "70", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "70", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "60", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json index 1500b58edd..8a5cb6d850 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json @@ -34,7 +34,6 @@ "inner_wall_acceleration": "6000", "inner_wall_line_width": "0.61", "inner_wall_speed": "195", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.32", "internal_solid_infill_speed": "195", "ironing_flow": "10%", diff --git a/resources/profiles/Creality/process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json index 4511db51d8..e21d0b231a 100644 --- a/resources/profiles/Creality/process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Standard @Creality K2 SE 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "KopqA4S2dMBSCBSD", "name": "0.16mm Standard @Creality K2 SE 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "KopqA4S2dMBSCBSD", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.16mm Standard @Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Standard @Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..81b5cbd37f --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Standard @Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.16mm Standard @Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "mpS4aVNklhQbM1p7", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "10", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.16", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "270", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "5000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 0.6 nozzle.json index c6aff2c46c..62262e67cc 100644 --- a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json index 9111e8a395..84c61a1cf3 100644 --- a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Plus 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "3wVXi8pXkGNmKm53", "name": "0.18mm Detail @Creality K2 Plus 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "3wVXi8pXkGNmKm53", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Pro 0.6 nozzle.json index d2299f536e..ec97ecf362 100644 --- a/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.18mm Detail @Creality K2 Pro 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.1mm Standard @Creality CR-M4 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.1mm Standard @Creality CR-M4 SE 0.4 nozzle.json new file mode 100644 index 0000000000..2c829ea440 --- /dev/null +++ b/resources/profiles/Creality/process/0.1mm Standard @Creality CR-M4 SE 0.4 nozzle.json @@ -0,0 +1,266 @@ +{ + "type": "process", + "name": "0.1mm Standard @Creality CR-M4 SE 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "z5rc7aZHBPNSx4II", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,250,6000],[1.0,1.5,220,5000],[1.5,2.0,200,4000]]", + "acceleration_limit_mess_enable": "1", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "45", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0", + "brim_type": "auto_brim", + "brim_width": "0", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "6000", + "default_jerk": "5", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "5", + "infill_wall_overlap": "25%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "80", + "initial_layer_jerk": "5", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "5", + "inner_wall_line_width": "0.42", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "300", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "44", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.1", + "line_width": "0.4", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "3000", + "outer_wall_jerk": "5", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "3", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "300", + "speed_limit_to_height": "[[100,150,250,6000],[150,200,200,5000],[200,250,150,4000]]", + "speed_limit_to_height_enable": "1", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.38", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "3000", + "top_surface_jerk": "5", + "top_surface_line_width": "0.4", + "top_surface_pattern": "monotonic", + "top_surface_speed": "200", + "travel_acceleration": "6000", + "travel_jerk": "5", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.1mm Standard @Creality Hi 0.2 nozzle.json b/resources/profiles/Creality/process/0.1mm Standard @Creality Hi 0.2 nozzle.json index 40475733fd..6d1c733aaf 100644 --- a/resources/profiles/Creality/process/0.1mm Standard @Creality Hi 0.2 nozzle.json +++ b/resources/profiles/Creality/process/0.1mm Standard @Creality Hi 0.2 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "tkSkduU7S0ysAtM7", "name": "0.1mm Standard @Creality Hi 0.2 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "tkSkduU7S0ysAtM7", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,180,5000],[1.0,1.5,160,4000],[1.5,2.0,150,3000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", diff --git a/resources/profiles/Creality/process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json index 422e928cc0..422d65d29a 100644 --- a/resources/profiles/Creality/process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm High Quality @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "UR1b2Z2o4t2uXsDO", "name": "0.20mm High Quality @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "UR1b2Z2o4t2uXsDO", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 0.4 nozzle.json new file mode 100644 index 0000000000..1faa3f2939 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-10 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "yvb1ouVlo339IFEQ", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart 0.4 nozzle.json new file mode 100644 index 0000000000..836d6326fe --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-10 Smart 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "vK777nizrbrLs9Iv", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle.json new file mode 100644 index 0000000000..d128fc2679 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-10 Smart Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "hwwvVH4BvwFFzSSV", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10 Smart Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "50", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "15", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "60", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "60", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle.json new file mode 100644 index 0000000000..3a04359a46 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-10S Pro V2 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ogGlQxeRdyP26VID", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-10S Pro V2 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-20 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-20 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..e9c733f426 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-20 Pro 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-20 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "GGW2QJCHjA9Piw1E", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality CR-20 Pro 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50%", + "overhang_3_4_speed": "30%", + "overhang_4_4_speed": "10%", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.4.json index 506555356e..9518526116 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.4.json @@ -9,5 +9,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.6.json index afbdf4f130..52af5b4c3c 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-6 0.6.json @@ -17,5 +17,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR-M4 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-M4 SE 0.4 nozzle.json new file mode 100644 index 0000000000..8a0fd8fc76 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR-M4 SE 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality CR-M4 SE 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "V5SGWqAfJSwoeSyb", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,220,6000],[1.0,1.5,200,5000],[1.5,2.0,180,4000]]", + "acceleration_limit_mess_enable": "1", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "35", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0", + "brim_type": "no_brim", + "brim_width": "0", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "6000", + "default_jerk": "5", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "80", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "5", + "initial_layer_line_width": "0.55", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "3000", + "inner_wall_jerk": "5", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "300", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "44", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "3000", + "outer_wall_jerk": "5", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "150", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "20", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "3", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "300", + "speed_limit_to_height": "[[100,150,220,6000],[150,200,200,5000],[200,250,180,4000]]", + "speed_limit_to_height_enable": "1", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "0.95", + "top_surface_acceleration": "3000", + "top_surface_jerk": "5", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "200", + "travel_acceleration": "6000", + "travel_jerk": "8", + "travel_speed": "400", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json index 702fcf8ea8..6a1e75827e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ZShSFfwlxaYTLPyk", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 Max 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json index d540f01b05..c632f50d4e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "SUpsCvktcGgKFOwG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json index 2ed8c6707f..d9fb92fa07 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Mi0CWgKQO5QtCUgX", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json index 36616153a4..62e00bd7c9 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ogY513sf2Ht92CNe", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json index fe5cba1347..36c9f430d3 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "athOsWrvUS4bdchK", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json index 4a37e7aed6..b04ea99897 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pRsZ1fGFRb5LxTi6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.4.json index 8d5f34c010..d97214d18b 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "oThS7cBtZl2ycbIR", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 V3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.6.json index d468da293f..ba5d371743 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "BDjZsZ3Eron3yC6o", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 V3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..0c12d556e1 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle.json @@ -0,0 +1,268 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-2 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "DpqbZYPz3h3o2hXb", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-2 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_hybrid_cross_height": "1", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max 0.4 nozzle.json new file mode 100644 index 0000000000..5ae4ca6216 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-3 Max 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "VRyLZfy1XDKFijOq", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle.json new file mode 100644 index 0000000000..63372d27f9 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-3 Max Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "1gLpNz58JJPmIfbz", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Max Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "40", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "50", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "100%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "60", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "40", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "5", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "60", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "50", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "10", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "40", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle.json new file mode 100644 index 0000000000..3a7a1bce96 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-3 Neo 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "vlPovqqFXXoN0Qkb", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 Neo 0.4 nozzle" + ], + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "20", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "50%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "30", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "50", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "25", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "20", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "50", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "30", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "30", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4\n", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "30", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle.json new file mode 100644 index 0000000000..cb0b0ff8e2 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle.json @@ -0,0 +1,265 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-3 S1 Sonic 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "xG8sAeaOvK04Eu9T", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 S1 Sonic 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "2500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "1000", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "80%", + "inner_wall_acceleration": "1000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "80", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "50%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "170", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "80", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\n0.2,0.4444;\n0.4,0.6145;\n0.6,0.7059;\n0.8,0.7619;\n1.5,0.8571;\n2,0.8889;\n3,0.9231;\n5,0.9520;\n10,1", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "170", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "100", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "100", + "travel_acceleration": "2500", + "travel_jerk": "8", + "travel_speed": "200", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json index b6d6703693..5f373ce662 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-3 V4 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "V6277KGs62IwLGt2", "name": "0.20mm Standard @Creality Ender-3 V4 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "V6277KGs62IwLGt2", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json index c8decdadad..1f98d132db 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json @@ -126,7 +126,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -247,7 +246,7 @@ "wall_filament": "1", "outer_wall_filament_id": "0", "inner_wall_filament_id": "0", - "wall_generator": "arachne", + "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", "wall_transition_angle": "10", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle.json new file mode 100644 index 0000000000..8932628726 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle.json @@ -0,0 +1,265 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Ender-5 S1 Sonic 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "0d7La3peCCBKSGE3", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000,210],[1.0,1.5,80,5500,200],[1.5,2.0,60,5000,190]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-5 S1 Sonic 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "2000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "1500", + "initial_layer_infill_speed": "40", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "25", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "2000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "140", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "120", + "overhang_1_4_speed": "50", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "2", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\n0.2,0.4444;\n0.4,0.6145;\n0.6,0.7059;\n0.8,0.7619;\n1.5,0.8571;\n2,0.8889;\n3,0.9231;\n5,0.9520;\n10,1", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "speed_limit_to_height": "[[100,150,100,6000,210],[150,200,80,5500,200],[200,250,60,5000,190]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "120", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "120", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonic", + "top_surface_speed": "100", + "travel_acceleration": "2000", + "travel_jerk": "8", + "travel_speed": "200", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json index 84722ac71c..d9a3f8d843 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "NUOwkxvz6bzH12be", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json index 9e7ec845b1..04f482da54 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "aPYE2hHFn4jp6hHd", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json index b24bac30e1..49aa126fc9 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "iuwxYTfWfZ4RyZEg", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json index e85725b2db..f00217c708 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fhwVxG08WJloBcrL", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json index 6912aaebab..48e7cf9c1b 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "V3Ik8iTHlZh5QNKm", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json index 3e1b899446..f1034dc096 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "g5sSMikMlHAPS2go", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json index 9ddf750136..12cc62f889 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "vuh1vEUnXIvFGssp", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json index 537fff135e..fe8bb1a5e4 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "l6niLUptIm4MfRTB", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json index 9abea8d074..a31aa422e9 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "XzSinPHka1JNcgdc", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json index c8e6b39c19..34670dbacf 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "6n6QHp6IAmmgmTy7", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json index 9aba5bb71d..1fcec3161e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "BmsBXICyG0DusAHS", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json index 219119b0b9..9ee5a55fe2 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "FFWB7dkbWTGsR5a1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json index 71fadd1ded..f91ecf1797 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Fo07KIkbZydVaBgi", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json index 4ce194a79e..881b39db32 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "FiSvC283VqqMpr41", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json index 022e911acc..f91af9f64f 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dPims9blQsZMrtnN", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json index 0e16e788ef..a450d82df2 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pmPzGC04PU62qjcz", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json index 89c4f56fa8..1862dc394d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "bVXaGFQ7f2jkilWk", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json index 0f5aae0bd6..1cf983d9bd 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "wG01ybBcp59pX5lB", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json index 4041987d50..f01fbe0a46 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "H198VcahxwpEdma0", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json index 97892cc203..74a046068b 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "rG5BalEQ9WpjxWXr", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json index cdd841907d..05e6f8075d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "JrWxHTh4DZ7zRaog", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json index a5ea94dfcc..12caa25379 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json @@ -6,7 +6,6 @@ "from": "system", "setting_id": "YLkw9eyyK7cm97ek", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json index 694492b626..52c9d083dc 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "8xefmMVdxxfX5MTl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json index ec49bea8c6..f9776005d8 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "DLABbffpOkmSzZrG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json index 7d4eef8be2..d1e55ceb63 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "8Ok1ykiLVdEftiJO", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json index 4de5bed1c6..63dffa4336 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "y5dNuwrcPQ1xUKOM", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Plus 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.25.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.25.json index be515b9d65..473c237402 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.25.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.25.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "4", "top_shell_layers": "5", - "layer_height": "0.20" -} + "layer_height": "0.20", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.3.json index 8920fa0caa..0fefec6b07 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.3.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "4", "top_shell_layers": "5", - "layer_height": "0.20" -} + "layer_height": "0.20", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.5.json index 6dc555ab8d..b15cfe4803 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.5.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "4", "top_shell_layers": "5", - "layer_height": "0.20" -} + "layer_height": "0.20", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.6.json index bf5f94e023..7d2dac16ee 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.6.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "4", "top_shell_layers": "4", - "layer_height": "0.20" -} + "layer_height": "0.20", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.8.json index 80356a6239..68d25ccb89 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019) 0.8.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "4", "top_shell_layers": "5", - "layer_height": "0.20" -} + "layer_height": "0.20", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json index 3abc3478f3..e768f4b576 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jy8Ih6XxbX6mY2Z2", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Pro (2019) 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json index 9dfdc2bc12..5ef8ae6d74 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5x3ZLLMD1JScujiM", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5S 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json index 5546e8b916..2a6697d283 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lRpMOtyu8tTd4q5C", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 S1 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json index 98e7815784..af385078a9 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "HWmFUQgTTKxAkHnA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-6 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Hi 0.4 nozzle.json index 5a5b6096a0..36e31c387e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Hi 0.4 nozzle.json @@ -187,8 +187,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", "prime_volume": "45", @@ -266,4 +264,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "90", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json index eaaeb4529f..0a1aa84ab7 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json @@ -182,8 +182,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "30", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -264,4 +262,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json index 1a4bd4a3f3..1d3aaa5305 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "aBAXeSGAYu5QgS8m", "name": "0.20mm Standard @Creality K1 Max_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "aBAXeSGAYu5QgS8m", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE 0.4.json index 19b01a9964..343dc08735 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE 0.4.json @@ -179,8 +179,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", "prime_volume": "45", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json index b7365760f4..020d100487 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "RBEfIJsnl68JBPDc", "name": "0.20mm Standard @Creality K1 SE_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "RBEfIJsnl68JBPDc", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json index aa8e7b440a..cc45207d21 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json @@ -182,8 +182,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -264,4 +262,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json index 882703434d..d5f8e9f5a9 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "KXIWcAo9MAwFwT70", "name": "0.20mm Standard @Creality K1C_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "KXIWcAo9MAwFwT70", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json index 51ada298d8..b49612f90d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json @@ -182,8 +182,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "30", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -264,4 +262,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json index 85dd6bbf3d..6a48c91240 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "x8wjQRt9jfXwd6cJ", "name": "0.20mm Standard @Creality K1_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "x8wjQRt9jfXwd6cJ", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json index ab4c3c4581..f0678f0fb0 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "4xypdknoIfLrsbrs", "name": "0.20mm Standard @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "4xypdknoIfLrsbrs", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -270,6 +269,5 @@ "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", - "xy_hole_compensation": "0", - "overhang_totally_speed": "25" -} \ No newline at end of file + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json index 9faaa2515e..b3270bcfc1 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Plus 0.4 nozzle.json @@ -172,8 +172,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "prime_tower_brim_width": "3", "prime_volume": "45", "print_flow_ratio": "1", @@ -243,4 +241,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json index d46a33f97e..7ef44f3d9a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 Pro 0.4 nozzle.json @@ -180,8 +180,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", "prime_volume": "45", @@ -266,4 +264,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json index 39876b77dd..debcf747fb 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 SE 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "eXLuYlHmWAomEpIp", "name": "0.20mm Standard @Creality K2 SE 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "eXLuYlHmWAomEpIp", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json index 11e1f6ed45..19e58926e3 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "VxY2jazB2Kn4930i", "name": "0.20mm Standard @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "VxY2jazB2Kn4930i", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -176,7 +174,6 @@ "small_area_infill_flow_compensation_model": "0,0;\n0.2,0.4444;\n0.4,0.6145;\n0.6,0.7059;\n0.8,0.7619;\n1.5,0.8571;\n2,0.8889;\n3,0.9231;\n5,0.9520;\n10,1", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "2", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "100%", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 0.4 nozzle.json new file mode 100644 index 0000000000..21b8e95b5c --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 0.4 nozzle.json @@ -0,0 +1,265 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Sermoon D3 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "kiVhgHnzhfIiaHHv", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon D3 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "80", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "25", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "25", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "90", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "100", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "80", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "100", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "90", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "80", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "3", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..ed7a20248e --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle.json @@ -0,0 +1,234 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Sermoon D3 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "5k3qANKv9ylFh4Fz", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon D3 Pro 0.4 nozzle" + ], + "default_acceleration": "3000", + "default_jerk": "10", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "200", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "10", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "80", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100", + "inner_wall_acceleration": "1500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "70", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "200", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "100", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "1", + "outer_wall_acceleration": "1500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "150", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "preheat_time": "5", + "prime_tower_brim_width": "5", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "20", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "200", + "spiral_mode": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-70", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "30%", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "120", + "travel_acceleration": "3000", + "travel_jerk": "10", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "50", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..c27a3b2bb5 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "3BRxuCkpfcCuRQtt", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "270", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "5000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..07b8b5b843 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle.json @@ -0,0 +1,265 @@ +{ + "type": "process", + "name": "0.20mm Standard @Creality Sermoon V1 Pro 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "OqNEI1eawVONwK5y", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.2", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon V1 Pro 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "60", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "15", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "500", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "70", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "35", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "3", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "70", + "speed_limit_to_height": "[[100,150,100,6000],\n [150,200,80,5500],\n [200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "70", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "70", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "500", + "travel_jerk": "8", + "travel_speed": "100", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1.json index d06447035a..35a4cab279 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Sermoon V1.json @@ -34,7 +34,6 @@ "inner_wall_acceleration": "6000", "inner_wall_line_width": "0.61", "inner_wall_speed": "195", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.32", "internal_solid_infill_speed": "195", "ironing_flow": "10%", diff --git a/resources/profiles/Creality/process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json index e98933167c..68eb579518 100644 --- a/resources/profiles/Creality/process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Strength @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "wApX9tYxw2iElGhq", "name": "0.20mm Strength @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "wApX9tYxw2iElGhq", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", diff --git a/resources/profiles/Creality/process/0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle.json new file mode 100644 index 0000000000..c25d688744 --- /dev/null +++ b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.20mm Ultrafast @Creality CR-M4 SE 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "MdU3VLkLFPl7z0JA", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,250,6000],[1.0,1.5,220,5000],[1.5,2.0,200,4000]]", + "acceleration_limit_mess_enable": "1", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "bridge_speed": "35", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0", + "brim_type": "auto_brim", + "brim_width": "0", + "compatible_printers": [ + "Creality CR-M4 SE 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "6000", + "default_jerk": "5", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "80", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "25%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "80", + "initial_layer_jerk": "5", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "6000", + "inner_wall_jerk": "5", + "inner_wall_line_width": "0.42", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "300", + "ironing_angle": "-1", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "44", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.2", + "line_width": "0.4", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "10", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "3000", + "outer_wall_jerk": "5", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "20", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "3", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.53", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "300", + "speed_limit_to_height": "[[100,150,250,6000],[150,200,220,5000],[200,250,180,4000]]", + "speed_limit_to_height_enable": "1", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.38", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "0.95", + "top_surface_acceleration": "4000", + "top_surface_jerk": "5", + "top_surface_line_width": "0.4", + "top_surface_pattern": "monotonic", + "top_surface_speed": "200", + "travel_acceleration": "6000", + "travel_jerk": "8", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json index d84217d2ff..b893e31512 100644 --- a/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json @@ -128,7 +128,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -249,7 +248,7 @@ "wall_filament": "1", "outer_wall_filament_id": "0", "inner_wall_filament_id": "0", - "wall_generator": "arachne", + "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", "wall_transition_angle": "10", diff --git a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 0.8 nozzle.json index 010b4aecbf..ee41e3758a 100644 --- a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json index 0d11e5ac33..87c0158459 100644 --- a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Plus 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "fIlqMCEz5fbmGHKW", "name": "0.24mm Detail @Creality K2 Plus 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "fIlqMCEz5fbmGHKW", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Pro 0.8 nozzle.json index 4e6400fb7c..a7ac8696b2 100644 --- a/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Detail @Creality K2 Pro 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.4.json index 613aba63aa..f55fb25cd5 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.4.json @@ -18,5 +18,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.6.json index 9280c29399..58dd958ba4 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR-6 0.6.json @@ -18,5 +18,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json index 0b24f4d0b7..6b3d6ee09b 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5RGkaM3sTHAC90DK", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality CR-10 Max 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json index 5b1ef5fde1..995a5865a4 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "mEhTPVNyKIXwHM6R", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json index 19d6768727..7d9b92f31e 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "qZkT2BU9Kg4n9tnF", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json index 68257a4de4..6da20505ee 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "g0NQSWW3BZbgAMRl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json index 0c9c307c6b..528033e0ff 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ZdimPQfRwZ0VDiZM", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json index 494a97b4e4..65d672322e 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender-3 V4 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "JxRqFqk1obhdGIKZ", "name": "0.24mm Draft @Creality Ender-3 V4 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "JxRqFqk1obhdGIKZ", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -263,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json index 6f950b8905..3cb09b1428 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5bb8SQOestc8UdQe", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json index 5458a1290e..cadcfad296 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "sP41jQScaMnkdanj", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json index c2cffefbc8..c57f18fb58 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5z5F9heoZFK48zCY", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json index 5b0b8ef11a..5c9925f6dd 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "61RvRyfbHgGvr6eQ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json index 6dfcdc172a..cea6715713 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "nDVndS7HUxU2wT2D", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json index f0e543f232..f146ede84d 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jGm1nCGpwxxtCtvT", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json index 80ee65edbd..49532a9f89 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "2eTryig3fd51wgQ3", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json index ad27324794..e6712e9e0c 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "3Q7LIYMDI349jST9", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json index 653d012433..68465e6552 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ZLzHZO4Db6sjb1f1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "10%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json index 231e7a82ff..6bb4b876b5 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "mxnyxP2RYe284OB7", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "10%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json index a55b4541b3..5abfb69109 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5sa2VFy1tjN907oW", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "10%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json index e20cc6741e..4a5441d441 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "MadcYvntjYi46IDu", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "10%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 S1 Plus 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json index 5b8482f537..860302e43a 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "u9TtIf0XBhnWrwND", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 V2 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json index 73c5f253ce..d7ad5c5844 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "De7wK4KBVZ2BzRx5", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json index c4669560cf..67dd47f057 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "O0jM8sqvBLR5aNfE", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json index f4374f84d0..7e6bde3e85 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7ZtffBsXW6wPWj7k", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json index 0c781beb53..de48c92b5a 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lH3j14miQE62zlSj", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -34,7 +33,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json index 93a2507428..27b156c5d7 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "0SJNhii84pYiz380", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json index beefae6aa5..94e6d6d0f6 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json @@ -6,7 +6,6 @@ "from": "system", "setting_id": "Hg10EUNCLMEYYBN1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json index 17015f12de..a40edcd2e2 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "6F8olUrpFz6cSOfX", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json index f0c9c02f7e..d5970f77bc 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "L6Qdsyt0yW2TCRyk", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.3.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.3.json index 0e0eb4dc85..51746e618e 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.3.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.3.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.24" -} + "layer_height": "0.24", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.5.json index 63dc2bc305..fc0373a88a 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.5.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.24" -} + "layer_height": "0.24", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.6.json index 6049703a62..467e9fcc4c 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.6.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.24" -} + "layer_height": "0.24", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.8.json index 942736f2cd..c7784056a9 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019) 0.8.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.24" -} + "layer_height": "0.24", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json index 0d210f5c9f..41aea9d7dd 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "k1Qi7hPIAi1qp7cA", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", - "travel_acceleration": "700", + "travel_acceleration": "500", "inner_wall_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-5 Pro (2019) 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Hi 0.4 nozzle.json index 1fce19f64e..1cc8cfed58 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "csR8yY0OEnt7SU6T", "name": "0.24mm Draft @Creality Hi", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "csR8yY0OEnt7SU6T", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,180,5000],[1.0,1.5,160,4000],[1.5,2.0,150,3000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json index ce0abbf5ac..1c72943250 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "NGQAnSKnUVHcq0sR", "name": "0.24mm Draft @Creality K1 (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "NGQAnSKnUVHcq0sR", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json index afd921a54b..a4bde680d7 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "Lxyn5qXHZh4GIGS1", "name": "0.24mm Draft @Creality K1 Max_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Lxyn5qXHZh4GIGS1", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json index 34a577c896..53e2e515f4 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "KJc1HuWgcYJkoy32", "name": "0.24mm Draft @Creality K1 SE", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "KJc1HuWgcYJkoy32", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,8 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json index 3522e46d5a..dd17499dfd 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "dPPC73WnlF20wbsm", "name": "0.24mm Draft @Creality K1 SE_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "dPPC73WnlF20wbsm", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -263,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json index 697593d8c4..685f7fb7a3 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "POMxfD8I0LnZO9CB", "name": "0.24mm Draft @Creality K1C", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "POMxfD8I0LnZO9CB", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json index b3bf816290..c081aa886a 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "wGXybdgPzFWozZLw", "name": "0.24mm Draft @Creality K1C_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "wGXybdgPzFWozZLw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json index 9f886804e3..eeccdcc58e 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "rIeugRR6BYXplcpT", "name": "0.24mm Draft @Creality K1Max (0.4 nozzle)", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "rIeugRR6BYXplcpT", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json index 16ebf21b9a..28c0573cff 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1_CFS-C 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "vGw6lrXZLHRNpR6r", "name": "0.24mm Draft @Creality K1_CFS-C 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "vGw6lrXZLHRNpR6r", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,7 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "0", "prime_tower_enhance_type": "chamfer", @@ -265,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 0.4 nozzle.json index cb761dd7cd..263a8b2c80 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "G1PKSuPoCcbIA7Yh", "name": "0.24mm Draft @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "G1PKSuPoCcbIA7Yh", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json index 4676faab10..ab8447edf4 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "sPONNeyRg4CxHD1r", "name": "0.24mm Draft @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "sPONNeyRg4CxHD1r", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json index 7c1f71451e..51e23a19c6 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "7V16er03IuXDpO4U", "name": "0.24mm Draft @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "7V16er03IuXDpO4U", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json index f8c9f5dea6..caf35701c4 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "1E0byJ2cjuoubstC", "name": "0.24mm Draft @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "1E0byJ2cjuoubstC", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "30", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -174,7 +172,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "6", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "100%", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality CR-6 0.8.json index 2591c462cf..005429f059 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json index 5d8dd67e1f..478422242f 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "s3qAAYV2gY2x4rrB", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -31,7 +30,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json index 1d9da9088e..ffe2624415 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "w5MuLpLSpMMuLXwf", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -31,7 +30,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality Hi 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality Hi 0.6 nozzle.json index edb3f7e2db..c4f3b2f024 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality Hi 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality Hi 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7uxCpPqUS9Lz1TK8", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -33,7 +32,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json index 3af9088dcd..f8e4b74c0c 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "GDs3Z2oIlW5O1tCx", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json index 9e582fad28..1595bb641e 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "eF3su8pOiDbEHiOy", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json index cf81e4557b..95dc5074d5 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "IZxO4Gmrh0sqyiC8", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.24", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 0.6 nozzle.json index d57ff66332..cf188dace1 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json index 7cefcf50f9..0cb962d8f0 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Plus 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "rFcFwPDRfrVVWCmp", "name": "0.24mm Optimal @Creality K2 Plus 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "rFcFwPDRfrVVWCmp", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Pro 0.6 nozzle.json index 8a246c2245..4255d84839 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K2 Pro 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.24mm Standard @Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/process/0.24mm Standard @Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..733342116a --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Standard @Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.24mm Standard @Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "Bw1CXOOnrWY8XI5Y", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "80", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 0.8 nozzle" + ], + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.24", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json index ab6b0843f4..ae766b65ff 100644 --- a/resources/profiles/Creality/process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Standard @Creality K2 SE 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "7DN0tghSeRVYQcde", "name": "0.24mm Standard @Creality K2 SE 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "7DN0tghSeRVYQcde", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.24mm Standard @Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Standard @Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..3d0cb37b46 --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Standard @Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.24mm Standard @Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "aMb2KnBA5Bge7QK5", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "300", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.24", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "270", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "5000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon M300 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon M300 0.4 nozzle.json new file mode 100644 index 0000000000..eec508a598 --- /dev/null +++ b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon M300 0.4 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.28mm Standard @Creality Sermoon M300 0.4 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "hXOJrGuHUxSYTTMX", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "50", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.4 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "250", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "2000", + "initial_layer_infill_speed": "105", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "60", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "200", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "250", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.28", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "200", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "5000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "200", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json index b67ba120ee..0a403950b9 100644 --- a/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json +++ b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json @@ -34,7 +34,6 @@ "inner_wall_acceleration": "6000", "inner_wall_line_width": "0.61", "inner_wall_speed": "195", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.32", "internal_solid_infill_speed": "195", "ironing_flow": "10%", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.4.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.4.json index bbc6626580..5944ce484a 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.4.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.4.json @@ -14,5 +14,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.4 nozzle", "Creality CR-6 Max 0.4 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.6.json index 711cbe34f1..68d265c753 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality CR-6 0.6.json @@ -18,5 +18,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json index fcd0453ca2..c3f66146d0 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "nuR9SZ4PCShEC1Cw", "name": "0.28mm SuperDraft @Creality Ender-3 V4 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "nuR9SZ4PCShEC1Cw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -263,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json index 4ca758ed55..5a810c75ce 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "aQmsfZyAfVbBZ9Lh", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json index 79a99fa000..4cbf66e846 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "oFne48238nyyTRRV", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json index 9b6cbd3e33..01e71dfffb 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1ByZYdK7bEtBcJGG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json index 59bd2ac292..84bf155e9f 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "3uR1DRElzIYQ9TDK", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json index 700148dc36..0ca70c8485 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "OWrIrHWU7qzlQyqs", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.2 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json index 5a871b4730..f08cb153a0 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "yMRcZG70S3Vgb3Qh", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json index 2693520fa5..460cfa057f 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "N90MCWu17jFkXr2H", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.63", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.6 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json index 992fc85d7e..da67ee9abb 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jFWnCrXEW5bNSLzq", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", @@ -31,7 +30,7 @@ "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "0", - "travel_acceleration": "0", + "travel_acceleration": "500", "inner_wall_acceleration": "0", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", @@ -105,4 +104,4 @@ "compatible_printers": [ "Creality Ender-3 Pro 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.5.json index b4e0c86367..03edf37aa8 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.5.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.28" -} + "layer_height": "0.28", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.6.json index d0c557248c..a4b93ff235 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.6.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.28" -} + "layer_height": "0.28", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.8.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.8.json index c55b785ef3..75e0b17c81 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.8.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 0.8.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.28" -} + "layer_height": "0.28", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 1.0.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 1.0.json index 2caba2b00c..85549a3c62 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 1.0.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender5Pro (2019) 1.0.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.28" -} + "layer_height": "0.28", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json index a416d5e082..a7f11d9c78 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Hi 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "XLp864DPRIWcjHvv", "name": "0.28mm SuperDraft @Creality Hi 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "XLp864DPRIWcjHvv", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,180,5000],[1.0,1.5,160,4000],[1.5,2.0,150,3000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", @@ -264,4 +262,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json index 5686279f27..f6589c4826 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "ELCUvdTCSg4N4HVC", "name": "0.28mm SuperDraft @Creality K2 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ELCUvdTCSg4N4HVC", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json index 3b2f7e5cc1..2311278057 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "lFZeFNWUsNRW3bvN", "name": "0.28mm SuperDraft @Creality K2 Plus 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "lFZeFNWUsNRW3bvN", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "50", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json index 39760a5c12..6d7f955897 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "KO1MgETYTo42CfhQ", "name": "0.28mm SuperDraft @Creality K2 Pro 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "KO1MgETYTo42CfhQ", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -131,8 +131,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -266,4 +264,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json index e0538e6868..142f71e8bb 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "ruhDJCxvTN1nB60Z", "name": "0.28mm SuperDraft @Creality SPARKX i7 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "ruhDJCxvTN1nB60Z", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "30", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -174,7 +172,6 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "smooth_coefficient": "6", "smooth_speed_discontinuity_area": "1", "solid_infill_filament": "1", "sparse_infill_acceleration": "100%", diff --git a/resources/profiles/Creality/process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json b/resources/profiles/Creality/process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json index b3499fa406..32a280fd55 100644 --- a/resources/profiles/Creality/process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.2mm Standard @Creality Ender-5 Max 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "bG25lTbxHzhcGGQg", "name": "0.2mm Standard @Creality Ender-5 Max 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "bG25lTbxHzhcGGQg", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -128,7 +128,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json b/resources/profiles/Creality/process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json index 248cfee870..75bd7bb2e1 100644 --- a/resources/profiles/Creality/process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "7i9DCEZHvxgrYciY", "name": "0.2mm Ultrafast @Creality Ender-5 Max 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "7i9DCEZHvxgrYciY", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "25%", "acceleration_limit_mess_enable": "0", @@ -130,7 +130,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json index 14950f486e..f13e0672f3 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender-5 Max 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "eoPcs8fDihwCYFUB", "name": "0.30mm Standard @Creality Ender-5 Max 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "eoPcs8fDihwCYFUB", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -128,7 +128,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json index 92a4a8fc48..87930f8456 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "KZjGEI0aqppw5c55", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json index f1f3d5ce1a..9d192b3877 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "MX5VSmoPcOiBESP3", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Hi 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Hi 0.6 nozzle.json index a0bce0af8a..d77680e241 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality Hi 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Hi 0.6 nozzle.json @@ -185,7 +185,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", "prime_volume": "45", @@ -263,4 +262,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "90", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json index a4bd5b2abc..9370ba6586 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json @@ -181,8 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -262,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json index d4073f4221..29e07b4305 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 SE 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "qd4AsuXVsp5pvPg4", "name": "0.30mm Standard @Creality K1 SE 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "qd4AsuXVsp5pvPg4", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -128,8 +128,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json index 3f86d9e613..e8dbe2f076 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json @@ -181,8 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -262,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json index 54ac0870a4..07539ae51a 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json @@ -181,8 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "15", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -262,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json index 71facd89ff..fa678432b0 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "nRmO47B1VhqIi2KU", "name": "0.30mm Standard @Creality K2 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "nRmO47B1VhqIi2KU", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess_enable": "0", @@ -123,7 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -254,7 +253,6 @@ "material_flow_dependent_temperature": "0", "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", "min_length_factor": "0.5", - "overhang_totally_speed": "25", "prime_tower_enhance_type": "chamfer", "print_order": "default", "scarf_angle_threshold": "155", @@ -272,4 +270,4 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", "wall_direction": "auto" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json index 216d964e6e..b414b50315 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Plus 0.6 nozzle.json @@ -171,8 +171,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "prime_tower_brim_width": "3", "prime_volume": "45", "print_flow_ratio": "1", @@ -241,4 +239,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json index 2bf82bc989..677f36d515 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 Pro 0.6 nozzle.json @@ -180,8 +180,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", "prime_volume": "45", @@ -266,4 +264,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json index 4da92d3732..b0ff7dc5aa 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality SPARKX i7 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "obWYPAVrLuKr93Xe", "name": "0.30mm Standard @Creality SPARKX i7 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "obWYPAVrLuKr93Xe", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Sermoon M300 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Sermoon M300 0.6 nozzle.json new file mode 100644 index 0000000000..8bd1562e5d --- /dev/null +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Sermoon M300 0.6 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.30mm Standard @Creality Sermoon M300 0.6 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "9zjICdioPQnj6GRp", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.6 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "12", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.62", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "70", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.62", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.3", + "line_width": "0.62", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.62", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "8", + "top_surface_line_width": "0.62", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json index c9a7069a2a..8af2bedd6f 100644 --- a/resources/profiles/Creality/process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Strength @Creality K2 Plus 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "h9vwxtNQGvgHVldi", "name": "0.30mm Strength @Creality K2 Plus 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "h9vwxtNQGvgHVldi", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", diff --git a/resources/profiles/Creality/process/0.32mm Chunky @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.32mm Chunky @Creality CR-6 0.6.json index b7eccb8181..981c71aa66 100644 --- a/resources/profiles/Creality/process/0.32mm Chunky @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.32mm Chunky @Creality CR-6 0.6.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json index 24fedd0965..3f0410b08f 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Rc7DUtP8slk0zORl", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.32", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json index 2823947840..ba7e74b9a4 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "8Yz1tYKgOhlRhEFw", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.32", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json index 40f87281de..2f03446779 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "yDUagPaIFkVkQ7aL", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.32", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 0.8 nozzle.json index e376b9dfe3..cd7aaf30b1 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json index ca58516410..969f802a02 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Plus 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "wUXKe2HJBnrZhwCJ", "name": "0.32mm Optimal @Creality K2 Plus 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "wUXKe2HJBnrZhwCJ", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000], [1.0,1.5,80,5500], [1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Pro 0.8 nozzle.json index 0308bb49f6..d0566f4bc1 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K2 Pro 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.32mm Standard @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.32mm Standard @Creality CR-6 0.8.json index acc5ad1799..abdeb19af1 100644 --- a/resources/profiles/Creality/process/0.32mm Standard @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.32mm Standard @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.32mm Standard @Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Standard @Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..6f74b9884e --- /dev/null +++ b/resources/profiles/Creality/process/0.32mm Standard @Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.32mm Standard @Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "sQaSuiuAXUSCOLNx", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "80", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 0.8 nozzle" + ], + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.32", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.5.json b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.5.json index 469ed08efe..1a9131a536 100644 --- a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.5.json +++ b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.5.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.36" -} + "layer_height": "0.36", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.6.json b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.6.json index c8428476c1..dad7e4e3ca 100644 --- a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.6.json +++ b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.6.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.36" -} + "layer_height": "0.36", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.8.json b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.8.json index db5b10390a..50a0fbbfb5 100644 --- a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.8.json +++ b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 0.8.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.36" -} + "layer_height": "0.36", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 1.0.json b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 1.0.json index f007be85a1..6e5225820f 100644 --- a/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 1.0.json +++ b/resources/profiles/Creality/process/0.36mm Chunky @Creality Ender5Pro (2019) 1.0.json @@ -7,5 +7,6 @@ "instantiation": "true", "bottom_shell_layers": "3", "top_shell_layers": "4", - "layer_height": "0.36" -} + "layer_height": "0.36", + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json index f12fb8b016..1886dd1561 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "5L1oQB22HBdoaocC", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json index 7a1a3c401d..b3e49730a3 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "r3dweAtprgzF0jON", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality Hi 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality Hi 0.6 nozzle.json index 0ada896430..929f9951eb 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality Hi 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality Hi 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lD86ZxmhqaFLOXs7", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -33,7 +32,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json index d3de4eb889..002d380f9f 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "XCDNFQBF7Kx54Z2Y", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json index 86e132abb4..620d9cc2df 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "3yO02rZelrUrGct2", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json index 69d90fbef6..d4f253fa0c 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "OzKdcW8QjYz9Ekfg", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.36", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 0.6 nozzle.json index da7ca48be3..5e4b57e685 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json index 8edd6e869f..81191f9511 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Plus 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "psLMoG691hQ5PSrK", "name": "0.36mm Draft @Creality K2 Plus 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "psLMoG691hQ5PSrK", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -241,4 +239,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Pro 0.6 nozzle.json index 955f1332ed..55a9d77ea2 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K2 Pro 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.36mm SuperChunky @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.36mm SuperChunky @Creality CR-6 0.6.json index d9308a459c..743bfab007 100644 --- a/resources/profiles/Creality/process/0.36mm SuperChunky @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.36mm SuperChunky @Creality CR-6 0.6.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.40mm Draft @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.40mm Draft @Creality CR-6 0.8.json index e46d858e3e..4ecbcd005d 100644 --- a/resources/profiles/Creality/process/0.40mm Draft @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.40mm Draft @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..711240ce39 --- /dev/null +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.40mm Standard @Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "QJ4FcHAVV0dlByvx", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "80", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "no_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 0.8 nozzle" + ], + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.4", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle.json new file mode 100644 index 0000000000..b79383003d --- /dev/null +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle.json @@ -0,0 +1,265 @@ +{ + "type": "process", + "name": "0.40mm Standard @Creality Ender-3 V3 Plus 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "2FbOTrX2tEcmbpzg", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "0.9\n", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 Plus 0.8 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.4", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "1", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\n0.2,0.4444;\n0.4,0.6145;\n0.6,0.7059;\n0.8,0.7619;\n1.5,0.8571;\n2,0.8889;\n3,0.9231;\n5,0.9520;\n10,1", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[150,200,200,2000],[200,250,200,1500],[250,330,200,1000]]", + "speed_limit_to_height_enable": "1", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.7", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json index 15943f5c2c..c51f64becf 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality Ender-5 Max 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "7HQvsdltfdC8N5Hw", "name": "0.40mm Standard @Creality Ender-5 Max 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "7HQvsdltfdC8N5Hw", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess_enable": "0", @@ -128,7 +128,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality Hi 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality Hi 0.8 nozzle.json index aa0efb8f49..5f625055bc 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality Hi 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality Hi 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "1xCIS6DBlkVcCLSf", "name": "0.40mm Standard @Creality Hi 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "1xCIS6DBlkVcCLSf", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -129,7 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "1", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "cone", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json index 2de391b8ad..ba5420a888 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json @@ -181,7 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -261,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json index 88bc46add2..4d73fdaa0c 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 SE 0.8 nozzle.json @@ -181,7 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json index 5cd1a9cb6a..e8b1548947 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json @@ -181,7 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -261,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json index c1c968cbb6..e245d5acd2 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json @@ -181,7 +181,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", @@ -261,4 +260,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json index b084f1cf47..00160429ce 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "mvjFUBLuSrZ1fm1e", "name": "0.40mm Standard @Creality K2 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "mvjFUBLuSrZ1fm1e", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100", "acceleration_limit_mess_enable": "0", @@ -123,7 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "40", @@ -254,7 +253,6 @@ "material_flow_dependent_temperature": "0", "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", "min_length_factor": "0.5", - "overhang_totally_speed": "20", "prime_tower_enhance_type": "chamfer", "print_order": "default", "scarf_angle_threshold": "155", @@ -272,4 +270,4 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", "wall_direction": "auto" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json index 3baf52acf5..4452d1a7bb 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Plus 0.8 nozzle.json @@ -171,8 +171,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "prime_tower_brim_width": "3", "prime_volume": "45", "print_flow_ratio": "1", @@ -241,4 +239,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json index df23b1f46c..64c18db3e6 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 Pro 0.8 nozzle.json @@ -180,8 +180,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "20", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", "prime_volume": "45", @@ -266,4 +264,4 @@ "wipe_tower_extra_spacing": "100%", "wipe_tower_rotation_angle": "0", "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json index 13c3d5986f..675dabd694 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality SPARKX i7 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "auHhZ5g7PonLi942", "name": "0.40mm Standard @Creality SPARKX i7 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "auHhZ5g7PonLi942", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", "acceleration_limit_mess": "[[1,1.2,150,5000]]", @@ -129,8 +129,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "20", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_enhance_type": "chamfer", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality Sermoon M300 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality Sermoon M300 0.8 nozzle.json new file mode 100644 index 0000000000..d87052212c --- /dev/null +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality Sermoon M300 0.8 nozzle.json @@ -0,0 +1,267 @@ +{ + "type": "process", + "name": "0.40mm Standard @Creality Sermoon M300 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "DWhukqzI9XI80fTQ", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "100", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "ai_infill": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "20", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Sermoon M300 0.8 nozzle" + ], + "counterbore_hole_bridging": "none", + "default_acceleration": "8000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "0", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "8", + "infill_wall_overlap": "30%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "6", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "3000", + "inner_wall_jerk": "6", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "70", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "90", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.4", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "material_flow_dependent_temperature": "0", + "material_flow_temp_graph": "[[3.0,210],[10.0,220],[12.0,230]]", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "3000", + "outer_wall_jerk": "6", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "50", + "overhang_2_4_speed": "35", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_enhance_type": "chamfer", + "prime_tower_width": "40", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.42", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "4", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json index c164cd88d4..aabb6ed9b2 100644 --- a/resources/profiles/Creality/process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Strength @Creality K2 Plus 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "DPs3K2D8t8dGscqK", "name": "0.40mm Strength @Creality K2 Plus 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "DPs3K2D8t8dGscqK", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess_enable": "0", @@ -123,8 +123,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", diff --git a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 0.6 nozzle.json index d732c7015c..d131d479a0 100644 --- a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json index d3076515c9..836a7a1bac 100644 --- a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "kaJFaxUX6gSqC3Y7", "name": "0.42mm SuperDraft @Creality K2 Plus 0.6 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "kaJFaxUX6gSqC3Y7", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle.json index 78bd43a0d9..d4ef78cc34 100644 --- a/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.42mm SuperDraft @Creality K2 Pro 0.6 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", diff --git a/resources/profiles/Creality/process/0.44mm SuperExtraChunky @Creality CR-6 0.6.json b/resources/profiles/Creality/process/0.44mm SuperExtraChunky @Creality CR-6 0.6.json index 1dbda2a495..ef589df505 100644 --- a/resources/profiles/Creality/process/0.44mm SuperExtraChunky @Creality CR-6 0.6.json +++ b/resources/profiles/Creality/process/0.44mm SuperExtraChunky @Creality CR-6 0.6.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.6 nozzle", "Creality CR-6 Max 0.6 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.48mm Chunky @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.48mm Chunky @Creality CR-6 0.8.json index b2efb112b8..7b18819cf4 100644 --- a/resources/profiles/Creality/process/0.48mm Chunky @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.48mm Chunky @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.48mm Draft @Creality CR-6 0.8.json index a19aca4ffa..230c78f146 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json index 3fa885318e..6c008ce9e1 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "VMUL5DemqZSKkMEJ", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.48", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json index 600550ddc5..d7192ac77c 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json @@ -6,7 +6,6 @@ "from": "system", "setting_id": "qaiff3f8gSQ1GVj1", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -31,7 +30,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.48", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json index 6041d4c030..70a73e2f58 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dIWKOSX80OJ6ixTT", "instantiation": "true", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -30,7 +29,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.7", "initial_layer_print_height": "0.48", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 0.8 nozzle.json index b3508aab5c..6ce76e1469 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json index 97da7fe92e..afb293a330 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Plus 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "s3FIq2ua0ODDqxtm", "name": "0.48mm Draft @Creality K2 Plus 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "s3FIq2ua0ODDqxtm", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Pro 0.8 nozzle.json index 0cd49b9a89..ac12558c55 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K2 Pro 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.48mm Standard @Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Standard @Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..c0a99987a7 --- /dev/null +++ b/resources/profiles/Creality/process/0.48mm Standard @Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.48mm Standard @Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "fLJ9BGiQBqcWStvh", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "80", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 0.8 nozzle" + ], + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.48", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.56mm Standard @Creality Ender-3 V3 0.8 nozzle.json b/resources/profiles/Creality/process/0.56mm Standard @Creality Ender-3 V3 0.8 nozzle.json new file mode 100644 index 0000000000..495478eb61 --- /dev/null +++ b/resources/profiles/Creality/process/0.56mm Standard @Creality Ender-3 V3 0.8 nozzle.json @@ -0,0 +1,244 @@ +{ + "type": "process", + "name": "0.56mm Standard @Creality Ender-3 V3 0.8 nozzle", + "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "OHaFzyRDGPTe34TZ", + "instantiation": "true", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "80", + "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", + "acceleration_limit_mess_enable": "0", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_type": "auto_brim", + "brim_width": "5", + "compatible_printers": [ + "Creality Ender-3 V3 0.8 nozzle" + ], + "default_acceleration": "12000", + "default_jerk": "8", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.15", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": "50", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "12", + "infill_wall_overlap": "30", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "8", + "initial_layer_line_width": "0.82", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.4", + "initial_layer_speed": "40", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "5000", + "inner_wall_jerk": "8", + "inner_wall_line_width": "0.82", + "inner_wall_speed": "150", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "60", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.82", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "150", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_support_layer": "0", + "ironing_type": "no ironing", + "is_infill_first": "0", + "layer_height": "0.56", + "line_width": "0.82", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "minimum_support_area": "5", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "5000", + "outer_wall_jerk": "8", + "outer_wall_line_width": "0.82", + "outer_wall_speed": "100", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "precise_outer_wall": "1", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "seam_gap": "10%", + "seam_position": "aligned", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.82", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "speed_limit_to_height": "[[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]]", + "speed_limit_to_height_enable": "0", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "1", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.82", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "150", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "support_xy_overrides_z": "xy_overrides_z", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "5", + "top_shell_thickness": "1.2", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "2000", + "top_surface_jerk": "6", + "top_surface_line_width": "0.82", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "100", + "travel_acceleration": "12000", + "travel_jerk": "12", + "travel_speed": "500", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", + "xy_contour_compensation": "0", + "xy_hole_compensation": "0" +} diff --git a/resources/profiles/Creality/process/0.56mm SuperChunky @Creality CR-6 0.8.json b/resources/profiles/Creality/process/0.56mm SuperChunky @Creality CR-6 0.8.json index 665d997917..21e5710c14 100644 --- a/resources/profiles/Creality/process/0.56mm SuperChunky @Creality CR-6 0.8.json +++ b/resources/profiles/Creality/process/0.56mm SuperChunky @Creality CR-6 0.8.json @@ -19,5 +19,6 @@ "compatible_printers": [ "Creality CR-6 SE 0.8 nozzle", "Creality CR-6 Max 0.8 nozzle" - ] -} + ], + "travel_acceleration": "500" +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 0.8 nozzle.json index 5f97213187..f10bb8ddfb 100644 --- a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json index 8113cadf74..17fdbca6e3 100644 --- a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle.json @@ -1,10 +1,10 @@ { "type": "process", - "setting_id": "OUVOMZEwJDilvXiO", "name": "0.56mm SuperDraft @Creality K2 Plus 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_process_creality_common", + "from": "system", + "setting_id": "OUVOMZEwJDilvXiO", + "instantiation": "true", "accel_to_decel_enable": "1", "accel_to_decel_factor": "100%", "acceleration_limit_mess": "[[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]]", @@ -124,8 +124,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "overhang_totally_speed": "25", "precise_outer_wall": "0", "prime_tower_brim_width": "3", "prime_tower_width": "60", @@ -243,4 +241,4 @@ "wiping_volumes_extruders": "70,70,70,70,70,70,70,70,70,70", "xy_contour_compensation": "0", "xy_hole_compensation": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle.json index 3b12ac6944..db588cb657 100644 --- a/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.56mm SuperDraft @Creality K2 Pro 0.8 nozzle.json @@ -31,7 +31,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", diff --git a/resources/profiles/Creality/process/fdm_process_common.json b/resources/profiles/Creality/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Creality/process/fdm_process_common.json +++ b/resources/profiles/Creality/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Creality/process/fdm_process_creality_common.json b/resources/profiles/Creality/process/fdm_process_creality_common.json index 7ec48d4800..2fccc865d8 100644 --- a/resources/profiles/Creality/process/fdm_process_creality_common.json +++ b/resources/profiles/Creality/process/fdm_process_creality_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Cubicon.json b/resources/profiles/Cubicon.json index ffb363c807..81601bc83e 100644 --- a/resources/profiles/Cubicon.json +++ b/resources/profiles/Cubicon.json @@ -1,6 +1,6 @@ { "name": "Cubicon", - "version": "02.04.00.04", + "version": "02.04.00.07", "force_update": "0", "description": "Cubicon configurations", "machine_model_list": [ diff --git a/resources/profiles/Cubicon/Cubicon xCeler-Mini_cover.png b/resources/profiles/Cubicon/Cubicon xCeler-Mini_cover.png index 9474c2d5ed..eb9f73c5ea 100644 Binary files a/resources/profiles/Cubicon/Cubicon xCeler-Mini_cover.png and b/resources/profiles/Cubicon/Cubicon xCeler-Mini_cover.png differ diff --git a/resources/profiles/Cubicon/filament/Cubicon ABS @base.json b/resources/profiles/Cubicon/filament/Cubicon ABS @base.json index 31efe73b11..42e6db95e7 100644 --- a/resources/profiles/Cubicon/filament/Cubicon ABS @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon ABS @base.json @@ -15,7 +15,7 @@ "115" ], "hot_plate_temp_initial_layer": [ - "115" + "120" ], "close_fan_the_first_x_layers": [ "3" @@ -24,13 +24,13 @@ "30" ], "filament_density": [ - "1.24" + "1.04" ], "filament_flow_ratio": [ "0.99" ], "filament_max_volumetric_speed": [ - "23" + "14" ], "nozzle_temperature_initial_layer": [ "240" @@ -39,19 +39,19 @@ "80" ], "fan_min_speed": [ - "70" + "15" ], "slow_down_min_speed": [ - "30" + "20" ], "slow_down_layer_time": [ - "3" + "10" ], "nozzle_temperature": [ "245" ], "temperature_vitrification": [ - "78" + "105" ], "nozzle_temperature_range_low": [ "220" @@ -61,5 +61,14 @@ ], "additional_cooling_fan_speed": [ "0" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "255" ] } diff --git a/resources/profiles/Cubicon/filament/Cubicon ABS-A100 @base.json b/resources/profiles/Cubicon/filament/Cubicon ABS-A100 @base.json index 5c64ed0fa5..52b06dbb80 100644 --- a/resources/profiles/Cubicon/filament/Cubicon ABS-A100 @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon ABS-A100 @base.json @@ -12,10 +12,10 @@ "Cubicon" ], "hot_plate_temp": [ - "100" + "105" ], "hot_plate_temp_initial_layer": [ - "100" + "115" ], "close_fan_the_first_x_layers": [ "3" @@ -24,13 +24,13 @@ "30" ], "filament_density": [ - "1.24" + "1.04" ], "filament_flow_ratio": [ - "0.99" + "1.04" ], "filament_max_volumetric_speed": [ - "23" + "8" ], "nozzle_temperature_initial_layer": [ "225" @@ -39,19 +39,19 @@ "80" ], "fan_min_speed": [ - "70" + "15" ], "slow_down_min_speed": [ - "30" + "20" ], "slow_down_layer_time": [ - "3" + "10" ], "nozzle_temperature": [ "230" ], "temperature_vitrification": [ - "78" + "105" ], "nozzle_temperature_range_low": [ "220" @@ -61,5 +61,32 @@ ], "additional_cooling_fan_speed": [ "0" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.04" + ], + "filament_retraction_length": [ + "1.2" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_retract_before_wipe": [ + "70%" ] } diff --git a/resources/profiles/Cubicon/filament/Cubicon ABSk @base.json b/resources/profiles/Cubicon/filament/Cubicon ABSk @base.json index 46a8f2d48c..584ce663ad 100644 --- a/resources/profiles/Cubicon/filament/Cubicon ABSk @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon ABSk @base.json @@ -15,7 +15,7 @@ "115" ], "hot_plate_temp_initial_layer": [ - "115" + "120" ], "close_fan_the_first_x_layers": [ "3" @@ -24,13 +24,13 @@ "30" ], "filament_density": [ - "1.24" + "1.04" ], "filament_flow_ratio": [ "0.99" ], "filament_max_volumetric_speed": [ - "23" + "14" ], "nozzle_temperature_initial_layer": [ "240" @@ -39,19 +39,19 @@ "80" ], "fan_min_speed": [ - "70" + "15" ], "slow_down_min_speed": [ - "30" + "20" ], "slow_down_layer_time": [ - "3" + "10" ], "nozzle_temperature": [ "240" ], "temperature_vitrification": [ - "85" + "105" ], "nozzle_temperature_range_low": [ "220" diff --git a/resources/profiles/Cubicon/filament/Cubicon PC @base.json b/resources/profiles/Cubicon/filament/Cubicon PC @base.json index 001434a2b1..e5f12e1503 100644 --- a/resources/profiles/Cubicon/filament/Cubicon PC @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon PC @base.json @@ -10,5 +10,77 @@ ], "filament_vendor": [ "Cubicon" + ], + "fan_max_speed": [ + "25" + ], + "fan_min_speed": [ + "0" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.01" + ], + "close_fan_the_first_x_layers": [ + "5" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "25" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_flow_ratio": [ + "0.94" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "255" ] } diff --git a/resources/profiles/Cubicon/filament/Cubicon PETG @base.json b/resources/profiles/Cubicon/filament/Cubicon PETG @base.json index 61fc5c647a..a1e38584a7 100644 --- a/resources/profiles/Cubicon/filament/Cubicon PETG @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon PETG @base.json @@ -15,7 +15,7 @@ "80" ], "hot_plate_temp_initial_layer": [ - "80" + "85" ], "close_fan_the_first_x_layers": [ "3" @@ -54,12 +54,45 @@ "70" ], "nozzle_temperature_range_low": [ - "230" + "220" ], "nozzle_temperature_range_high": [ "250" ], "additional_cooling_fan_speed": [ "0" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.08" + ], + "filament_retraction_length": [ + "2.0" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "activate_air_filtration": [ + "1" + ], + "complete_print_exhaust_fan_speed": [ + "255" ] } diff --git a/resources/profiles/Cubicon/filament/Cubicon PLA @base.json b/resources/profiles/Cubicon/filament/Cubicon PLA @base.json index 53df18afc5..dae8e34bee 100644 --- a/resources/profiles/Cubicon/filament/Cubicon PLA @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon PLA @base.json @@ -53,5 +53,38 @@ ], "additional_cooling_fan_speed": [ "80" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "filament_retraction_length": [ + "2.0" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "25" + ], + "filament_wipe": [ + "1" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_retract_before_wipe": [ + "70%" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "255" + ], + "complete_print_exhaust_fan_speed": [ + "255" ] } diff --git a/resources/profiles/Cubicon/filament/Cubicon PLA+ @base.json b/resources/profiles/Cubicon/filament/Cubicon PLA+ @base.json index 5e7c8dc10b..635f6483d1 100644 --- a/resources/profiles/Cubicon/filament/Cubicon PLA+ @base.json +++ b/resources/profiles/Cubicon/filament/Cubicon PLA+ @base.json @@ -18,5 +18,14 @@ ], "nozzle_temperature_range_high": [ "220" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.025" ] } diff --git a/resources/profiles/Cubicon/machine/Cubicon xCeler-I 0.4 nozzle.json b/resources/profiles/Cubicon/machine/Cubicon xCeler-I 0.4 nozzle.json index 2844a543a4..60ab5eac11 100644 --- a/resources/profiles/Cubicon/machine/Cubicon xCeler-I 0.4 nozzle.json +++ b/resources/profiles/Cubicon/machine/Cubicon xCeler-I 0.4 nozzle.json @@ -213,7 +213,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Cubicon/machine/Cubicon xCeler-Mini 0.4 nozzle.json b/resources/profiles/Cubicon/machine/Cubicon xCeler-Mini 0.4 nozzle.json index 85bd7be03f..8020cac27e 100644 --- a/resources/profiles/Cubicon/machine/Cubicon xCeler-Mini 0.4 nozzle.json +++ b/resources/profiles/Cubicon/machine/Cubicon xCeler-Mini 0.4 nozzle.json @@ -213,7 +213,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Cubicon/machine/Cubicon xCeler-Plus 0.4 nozzle.json b/resources/profiles/Cubicon/machine/Cubicon xCeler-Plus 0.4 nozzle.json index 9c38452bf5..616fa60297 100644 --- a/resources/profiles/Cubicon/machine/Cubicon xCeler-Plus 0.4 nozzle.json +++ b/resources/profiles/Cubicon/machine/Cubicon xCeler-Plus 0.4 nozzle.json @@ -73,12 +73,12 @@ "20000" ], "machine_max_acceleration_z": [ - "250", - "500" + "50", + "100" ], "machine_max_speed_z": [ - "25", - "12" + "5", + "10" ], "machine_max_acceleration_retracting": [ "5000", @@ -213,7 +213,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Cubicon/machine/fdm_machine_common.json b/resources/profiles/Cubicon/machine/fdm_machine_common.json index 1264456731..2654ef5927 100644 --- a/resources/profiles/Cubicon/machine/fdm_machine_common.json +++ b/resources/profiles/Cubicon/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "support_chamber_temp_control": "0", "support_air_filtration": "0", "machine_max_acceleration_e": [ diff --git a/resources/profiles/Cubicon/process/cubicon common @base.json b/resources/profiles/Cubicon/process/cubicon common @base.json index 8de7c25078..a269d19529 100644 --- a/resources/profiles/Cubicon/process/cubicon common @base.json +++ b/resources/profiles/Cubicon/process/cubicon common @base.json @@ -5,7 +5,8 @@ "instantiation": "false", "compatible_printers": [ "Cubicon xCeler-I 0.4 nozzle", - "Cubicon xCeler-Plus 0.4 nozzle" + "Cubicon xCeler-Plus 0.4 nozzle", + "Cubicon xCeler-Mini 0.4 nozzle" ], "print_settings_id": "cubicon common @base", "accel_to_decel_enable": "1", @@ -14,26 +15,24 @@ "bridge_flow": "0.9", "internal_bridge_flow": "0.9", "brim_type": "no_brim", - "detect_overhang_wall": "1", + "detect_overhang_wall": "0", "resolution": "0.012", "elefant_foot_compensation": "0.15", - "percise_outer_wall": "1", - "percise_z_height": "0.2", "enable_overhang_speed": "1", - "enable_prime_tower": "1", + "enable_prime_tower": "0", "enable_support": "0", "exclude_object": "0", "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", "gap_infill_speed": "250", - "infill_combination": "1", + "infill_combination": "0", "infill_direction": "45", "infill_wall_overlap": "15", "infill_anchor": "400%", "infill_anchor_max": "20", "initial_layer_line_width": "0.5", - "initial_layer_print_height": "0.25", - "initial_layer_speed": "60", - "initial_layer_infill_speed": "60", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "100", "initial_layer_travel_speed": "500", "slow_down_layers": "1", "only_one_wall_top": "1", @@ -47,9 +46,9 @@ "outer_wall_speed": "200", "print_sequence": "by layer", "raft_layers": "0", - "reduce_crossing_wall": "0", + "reduce_crossing_wall": "1", "reduce_infill_retraction": "1", - "seam_position": "back", + "seam_position": "aligned", "seam_gap": "10%", "enable_arc_fitting": "0", "staggered_inner_seams": "1", @@ -57,7 +56,7 @@ "skirt_distance": "2.5", "skirt_height": "1", "skirt_speed": "50", - "skirt_start_angle": "-45", + "skirt_start_angle": "-135", "sparse_infill_density": "15", "sparse_infill_speed": "270", "sparse_infill_pattern": "grid", @@ -84,7 +83,7 @@ "support_threshold_angle": "15", "wall_loops": "2", "thick_bridges": "0", - "extra_perimeters_on_overhangs": "1", + "extra_perimeters_on_overhangs": "0", "top_shell_layers": "5", "top_shell_thickness": "1", "slow_down_curled_perimeters": "0", @@ -93,18 +92,18 @@ "travel_jerk": "12", "infill_jerk": "12", "initial_layer_jerk": "9", - "inner_wall_jerk": "7", - "outer_wall_jerk": "7", - "default_acceleration": "13000", - "travel_acceleration": "13000", - "outer_wall_acceleration": "5000", - "inner_wall_acceleration": "5000", - "initial_layer_acceleration": "1000", + "inner_wall_jerk": "3.5", + "outer_wall_jerk": "3", + "default_acceleration": "10000", + "travel_acceleration": "10000", + "outer_wall_acceleration": "2000", + "inner_wall_acceleration": "6000", + "initial_layer_acceleration": "500", "top_surface_acceleration": "2000", "raft_first_layer_density": "90", "raft_first_layer_expansion": "2", "precise_outer_wall": "1", - "precise_z_height": "0", + "precise_z_height": "1", "slowdown_for_curled_perimeters": "0", "bridge_speed": "50", "internal_bridge_speed": "150%", @@ -112,5 +111,7 @@ "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", "overhang_4_4_speed": "10", - "independent_support_layer_height": "1" + "independent_support_layer_height": "1", + "solid_infill_direction": "90", + "max_travel_detour_distance": "80%" } diff --git a/resources/profiles/Cubicon/process/fdm_process_common.json b/resources/profiles/Cubicon/process/fdm_process_common.json index a3fe34bea4..7308a806fa 100644 --- a/resources/profiles/Cubicon/process/fdm_process_common.json +++ b/resources/profiles/Cubicon/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", @@ -63,7 +62,7 @@ "top_surface_line_width": "0.4", "top_surface_speed": "30", "travel_speed": "400", - "enable_prime_tower": "1", + "enable_prime_tower": "0", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0" diff --git a/resources/profiles/Cubicon/process/process template @base.json b/resources/profiles/Cubicon/process/process template @base.json index 74ddfa11d6..1b9b4d2288 100644 --- a/resources/profiles/Cubicon/process/process template @base.json +++ b/resources/profiles/Cubicon/process/process template @base.json @@ -42,7 +42,7 @@ "enable_arc_fitting": "1", "enable_extra_bridge_layer": "disabled", "enable_overhang_speed": "1", - "enable_prime_tower": "1", + "enable_prime_tower": "0", "enable_support": "0", "enforce_support_layers": "0", "ensure_vertical_shell_thickness": "ensure_all", @@ -147,7 +147,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "precise_z_height": "0", diff --git a/resources/profiles/Custom.json b/resources/profiles/Custom.json index a8cef36ca5..aceecc557a 100644 --- a/resources/profiles/Custom.json +++ b/resources/profiles/Custom.json @@ -1,6 +1,6 @@ { "name": "Custom Printer", - "version": "02.04.00.04", + "version": "02.04.00.05", "force_update": "0", "description": "My configurations", "machine_model_list": [ diff --git a/resources/profiles/Custom/filament/Generic ABS @MyToolChanger.json b/resources/profiles/Custom/filament/Generic ABS @MyToolChanger.json index bf48e0488b..615d3aafa4 100644 --- a/resources/profiles/Custom/filament/Generic ABS @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic ABS @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic ASA @MyToolChanger.json b/resources/profiles/Custom/filament/Generic ASA @MyToolChanger.json index ad26608bff..cef361767f 100644 --- a/resources/profiles/Custom/filament/Generic ASA @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic ASA @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PA @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PA @MyToolChanger.json index d710282360..f8a3f9d4ff 100644 --- a/resources/profiles/Custom/filament/Generic PA @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PA @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PA-CF @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PA-CF @MyToolChanger.json index 481fd04152..3db93c2e10 100644 --- a/resources/profiles/Custom/filament/Generic PA-CF @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PA-CF @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PC @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PC @MyToolChanger.json index 9aec5f168f..8fbc18b513 100644 --- a/resources/profiles/Custom/filament/Generic PC @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PC @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PETG @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PETG @MyToolChanger.json index 685482342e..faba4cf7cb 100644 --- a/resources/profiles/Custom/filament/Generic PETG @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PETG @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PLA @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PLA @MyToolChanger.json index 0913752501..5f20b83ec5 100644 --- a/resources/profiles/Custom/filament/Generic PLA @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PLA @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PLA-CF @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PLA-CF @MyToolChanger.json index 6e17b6e4c0..ccfc71ebb7 100644 --- a/resources/profiles/Custom/filament/Generic PLA-CF @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PLA-CF @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/filament/Generic PVA @MyToolChanger.json b/resources/profiles/Custom/filament/Generic PVA @MyToolChanger.json index a70aeffe29..67a46e0129 100644 --- a/resources/profiles/Custom/filament/Generic PVA @MyToolChanger.json +++ b/resources/profiles/Custom/filament/Generic PVA @MyToolChanger.json @@ -15,9 +15,6 @@ "filament_cooling_moves": [ "2" ], - "filament_load_time": [ - "10.5" - ], "filament_loading_speed": [ "10" ], @@ -30,9 +27,6 @@ "filament_stamping_loading_speed": [ "29" ], - "filament_unload_time": [ - "8.5" - ], "filament_unloading_speed": [ "100" ], diff --git a/resources/profiles/Custom/machine/fdm_klipper_common.json b/resources/profiles/Custom/machine/fdm_klipper_common.json index a0ee0f1a47..0080d0ebb0 100644 --- a/resources/profiles/Custom/machine/fdm_klipper_common.json +++ b/resources/profiles/Custom/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Slope Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Custom/machine/fdm_machine_common.json b/resources/profiles/Custom/machine/fdm_machine_common.json index 963f39c9d8..bf8f2249cf 100644 --- a/resources/profiles/Custom/machine/fdm_machine_common.json +++ b/resources/profiles/Custom/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Custom/machine/fdm_repetier_common.json b/resources/profiles/Custom/machine/fdm_repetier_common.json index b36b716e4e..27b4dd7741 100644 --- a/resources/profiles/Custom/machine/fdm_repetier_common.json +++ b/resources/profiles/Custom/machine/fdm_repetier_common.json @@ -119,7 +119,6 @@ "30" ], "z_hop_types": "Slope Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ @@ -140,4 +139,4 @@ "scan_first_layer": "0", "nozzle_type": "undefine", "auxiliary_fan": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/Custom/machine/fdm_rrf_common.json b/resources/profiles/Custom/machine/fdm_rrf_common.json index 2fc9df9a3d..e9a1301622 100644 --- a/resources/profiles/Custom/machine/fdm_rrf_common.json +++ b/resources/profiles/Custom/machine/fdm_rrf_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Slope Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Custom/process/fdm_process_common.json b/resources/profiles/Custom/process/fdm_process_common.json index b8e882770a..0d558129af 100644 --- a/resources/profiles/Custom/process/fdm_process_common.json +++ b/resources/profiles/Custom/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -83,7 +82,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Custom/process/fdm_process_marlin_common.json b/resources/profiles/Custom/process/fdm_process_marlin_common.json index 6b1b1434a7..5f5c10f173 100644 --- a/resources/profiles/Custom/process/fdm_process_marlin_common.json +++ b/resources/profiles/Custom/process/fdm_process_marlin_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Custom/process/fdm_process_repetier_common.json b/resources/profiles/Custom/process/fdm_process_repetier_common.json index 3a9bc23306..66df7ad018 100644 --- a/resources/profiles/Custom/process/fdm_process_repetier_common.json +++ b/resources/profiles/Custom/process/fdm_process_repetier_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -105,4 +104,4 @@ "compatible_printers": [ "MyRepetier 0.4 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Custom/process/fdm_process_rrf_common.json b/resources/profiles/Custom/process/fdm_process_rrf_common.json index e22df25aab..469ca6ecfd 100644 --- a/resources/profiles/Custom/process/fdm_process_rrf_common.json +++ b/resources/profiles/Custom/process/fdm_process_rrf_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/DeltaMaker.json b/resources/profiles/DeltaMaker.json index c7209bdf2b..6ef943d248 100755 --- a/resources/profiles/DeltaMaker.json +++ b/resources/profiles/DeltaMaker.json @@ -1,7 +1,7 @@ { "name": "DeltaMaker", "url": "", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "DeltaMaker configurations", "machine_model_list": [ diff --git a/resources/profiles/DeltaMaker/machine/fdm_klipper_common.json b/resources/profiles/DeltaMaker/machine/fdm_klipper_common.json index ecfe431ef6..653ec60927 100755 --- a/resources/profiles/DeltaMaker/machine/fdm_klipper_common.json +++ b/resources/profiles/DeltaMaker/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "1", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/DeltaMaker/machine/fdm_machine_common.json b/resources/profiles/DeltaMaker/machine/fdm_machine_common.json index 12c0e7d104..7e49364d76 100755 --- a/resources/profiles/DeltaMaker/machine/fdm_machine_common.json +++ b/resources/profiles/DeltaMaker/machine/fdm_machine_common.json @@ -11,7 +11,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "1", "machine_max_acceleration_e": [ "5000" ], @@ -102,7 +101,6 @@ ], "single_extruder_multi_material": "0", "change_filament_gcode": "", - "z_lift_type": "NormalLift", "default_print_profile": "", "nozzle_type": "undefine", "auxiliary_fan": "0", diff --git a/resources/profiles/DeltaMaker/process/0.25mm Draft @DeltaMaker.json b/resources/profiles/DeltaMaker/process/0.25mm Draft @DeltaMaker.json index a5a64bfede..3587ef7e7d 100755 --- a/resources/profiles/DeltaMaker/process/0.25mm Draft @DeltaMaker.json +++ b/resources/profiles/DeltaMaker/process/0.25mm Draft @DeltaMaker.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "CPkjzrLXDcdnT5u1", "instantiation": "true", - "adaptive_layer_height": "1", "layer_height": "0.25", "bottom_shell_layers": "3", "bridge_speed": "60", diff --git a/resources/profiles/DeltaMaker/process/fdm_process_common.json b/resources/profiles/DeltaMaker/process/fdm_process_common.json index 80c74007f0..09d47aab9d 100755 --- a/resources/profiles/DeltaMaker/process/fdm_process_common.json +++ b/resources/profiles/DeltaMaker/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "20.0", "bottom_surface_pattern": "monotonic", @@ -82,7 +81,6 @@ "support_object_xy_distance": "0.8", "tree_support_branch_angle": "45", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Dremel.json b/resources/profiles/Dremel.json index 71f13d0dc8..3d804f6a1b 100644 --- a/resources/profiles/Dremel.json +++ b/resources/profiles/Dremel.json @@ -1,6 +1,6 @@ { "name": "Dremel", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Dremel configurations", "machine_model_list": [ diff --git a/resources/profiles/Dremel/machine/fdm_dremel_common.json b/resources/profiles/Dremel/machine/fdm_dremel_common.json index 0dae7eb9ea..d032e63646 100644 --- a/resources/profiles/Dremel/machine/fdm_dremel_common.json +++ b/resources/profiles/Dremel/machine/fdm_dremel_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/Dremel/machine/fdm_machine_common.json b/resources/profiles/Dremel/machine/fdm_machine_common.json index 1264456731..2654ef5927 100644 --- a/resources/profiles/Dremel/machine/fdm_machine_common.json +++ b/resources/profiles/Dremel/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "support_chamber_temp_control": "0", "support_air_filtration": "0", "machine_max_acceleration_e": [ diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json index 6b97a85444..377d1a67a7 100644 --- a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "9KpA5yblUW2rVLZY", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "40", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json index 734b6e5c69..1b4090e8fc 100644 --- a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "wSAun08YCT9u9pOY", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "40", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json index 716b2ca2dc..b757aa1bb0 100644 --- a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "n2k8VXfPE45lzxmq", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "5000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "45", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json index 6089ca8f5b..b2a12da6ab 100644 --- a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1dgGvgPtncRPdWVX", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json index ad07216741..e48ad6212f 100644 --- a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "DXivoqKpf6E0edQV", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "40", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json index 358fef4448..06ffde36b7 100644 --- a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1EacU2rT7gdsnkP4", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "0.95", "bridge_speed": "25", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "5000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "15%", "ironing_spacing": "0.1", diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json index 4c083240de..ac92266b97 100644 --- a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "iraCyWuqWZ9D0Zw1", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json index a974c3097b..7ff03cb876 100644 --- a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "DU8Yd6C1GF2uIuNF", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "50", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json index 5d16155453..601268bac0 100644 --- a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "iX1Z2gHIGCWuZAJC", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "5000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json index 27175afdf2..19719d7008 100644 --- a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "N3x1hdUv74ecskhv", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json index ca224bf687..24be67d78e 100644 --- a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "O6ulsZPXdb1dpOTB", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.4", "internal_solid_infill_speed": "50", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json index 8db1965a59..eca0dfe6ff 100644 --- a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "WMm4Yxia1QjZCK3h", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "60", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json index d7a6db964e..3801591ebc 100644 --- a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "verN5otUrqpeDtY4", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50", "brim_width": "5", @@ -30,7 +29,6 @@ "inner_wall_acceleration": "2000", "internal_solid_infill_line_width": "0.56", "internal_solid_infill_speed": "50", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "2000", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Dremel/process/fdm_process_common.json b/resources/profiles/Dremel/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Dremel/process/fdm_process_common.json +++ b/resources/profiles/Dremel/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Dremel/process/fdm_process_dremel_common.json b/resources/profiles/Dremel/process/fdm_process_dremel_common.json index b68c7230b3..92358dc814 100644 --- a/resources/profiles/Dremel/process/fdm_process_dremel_common.json +++ b/resources/profiles/Dremel/process/fdm_process_dremel_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index f85e19bb76..e0580014a9 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1,2546 +1,2546 @@ { - "name": "Elegoo", - "version": "02.04.00.07", - "force_update": "0", - "description": "Elegoo configurations", - "machine_model_list": [ - { - "name": "Elegoo Centauri Carbon 2", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" - }, - { - "name": "Elegoo Centauri 2", - "sub_path": "machine/EC2/Elegoo Centauri 2.json" - }, - { - "name": "Elegoo Centauri Carbon", - "sub_path": "machine/ECC/Elegoo Centauri Carbon.json" - }, - { - "name": "Elegoo Centauri", - "sub_path": "machine/EC/Elegoo Centauri.json" - }, - { - "name": "Elegoo OrangeStorm Giga", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" - }, - { - "name": "Elegoo Neptune 4 Max", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max.json" - }, - { - "name": "Elegoo Neptune 4 Plus", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus.json" - }, - { - "name": "Elegoo Neptune 4 Pro", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro.json" - }, - { - "name": "Elegoo Neptune 4", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" - }, - { - "name": "Elegoo Neptune 3 Max", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max.json" - }, - { - "name": "Elegoo Neptune 3 Plus", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus.json" - }, - { - "name": "Elegoo Neptune 3 Pro", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro.json" - }, - { - "name": "Elegoo Neptune 3", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" - }, - { - "name": "Elegoo Neptune X", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X.json" - }, - { - "name": "Elegoo Neptune 2S", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" - }, - { - "name": "Elegoo Neptune 2D", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" - }, - { - "name": "Elegoo Neptune 2", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" - }, - { - "name": "Elegoo Neptune", - "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" - } - ], - "process_list": [ - { - "name": "fdm_process_common", - "sub_path": "process/fdm_process_common.json" - }, - { - "name": "fdm_process_elegoo_common", - "sub_path": "process/fdm_process_elegoo_common.json" - }, - { - "name": "fdm_process_elegoo_02010", - "sub_path": "process/fdm_process_elegoo_02010.json" - }, - { - "name": "fdm_process_elegoo_04020", - "sub_path": "process/fdm_process_elegoo_04020.json" - }, - { - "name": "fdm_process_elegoo_06030", - "sub_path": "process/fdm_process_elegoo_06030.json" - }, - { - "name": "fdm_process_elegoo_08040", - "sub_path": "process/fdm_process_elegoo_08040.json" - }, - { - "name": "fdm_process_elegoo_10050", - "sub_path": "process/fdm_process_elegoo_10050.json" - }, - { - "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.20mm Standard @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo C2 0.2 nozzle", - "sub_path": "process/EC2/0.10mm Standard @Elegoo C2 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.30mm Standard @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo C2 0.8 nozzle", - "sub_path": "process/EC2/0.40mm Standard @Elegoo C2 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo C2 0.8 nozzle", - "sub_path": "process/EC2/0.48mm Draft @Elegoo C2 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.42mm Extra Draft @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.36mm Draft @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo C2 0.8 nozzle", - "sub_path": "process/EC2/0.32mm Optimal @Elegoo C2 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.30mm Strength @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.28mm Extra Draft @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.24mm Optimal @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo C2 0.8 nozzle", - "sub_path": "process/EC2/0.24mm Fine @Elegoo C2 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.24mm Draft @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.20mm Strength @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo C2 0.6 nozzle", - "sub_path": "process/EC2/0.18mm Fine @Elegoo C2 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.16mm Optimal @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo C2 0.8 nozzle", - "sub_path": "process/EC2/0.16mm Extra Fine @Elegoo C2 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo C2 0.2 nozzle", - "sub_path": "process/EC2/0.14mm Extra Draft @Elegoo C2 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo C2 0.4 nozzle", - "sub_path": "process/EC2/0.12mm Fine @Elegoo C2 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo C2 0.2 nozzle", - "sub_path": "process/EC2/0.12mm Draft @Elegoo C2 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo C2 0.2 nozzle", - "sub_path": "process/EC2/0.08mm Optimal @Elegoo C2 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N3Max 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N3Max 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N3Max 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N3Max 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N3Max 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N3Max 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" - } - ], - "filament_list": [ - { - "name": "fdm_filament_common", - "sub_path": "filament/fdm_filament_common.json" - }, - { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" - }, - { - "name": "fdm_filament_tpu", - "sub_path": "filament/fdm_filament_tpu.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, - { - "name": "fdm_filament_abs", - "sub_path": "filament/fdm_filament_abs.json" - }, - { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, - { - "name": "fdm_filament_asa", - "sub_path": "filament/fdm_filament_asa.json" - }, - { - "name": "fdm_filament_pva", - "sub_path": "filament/fdm_filament_pva.json" - }, - { - "name": "fdm_filament_pa", - "sub_path": "filament/fdm_filament_pa.json" - }, - { - "name": "fdm_filament_hips", - "sub_path": "filament/fdm_filament_hips.json" - }, - { - "name": "fdm_filament_pps", - "sub_path": "filament/fdm_filament_pps.json" - }, - { - "name": "fdm_filament_ppa", - "sub_path": "filament/fdm_filament_ppa.json" - }, - { - "name": "Generic ABS @base", - "sub_path": "filament/BASE/Generic ABS @base.json" - }, - { - "name": "Generic PA @base", - "sub_path": "filament/BASE/Generic PA @base.json" - }, - { - "name": "Generic PETG @base", - "sub_path": "filament/BASE/Generic PETG @base.json" - }, - { - "name": "Generic PET @base", - "sub_path": "filament/BASE/Generic PET @base.json" - }, - { - "name": "Generic PLA @base", - "sub_path": "filament/BASE/Generic PLA @base.json" - }, - { - "name": "Generic PC @base", - "sub_path": "filament/BASE/Generic PC @base.json" - }, - { - "name": "Generic ASA @base", - "sub_path": "filament/BASE/Generic ASA @base.json" - }, - { - "name": "Elegoo TPU 95A @base", - "sub_path": "filament/BASE/Elegoo TPU 95A @base.json" - }, - { - "name": "Elegoo PETG @base", - "sub_path": "filament/BASE/Elegoo PETG @base.json" - }, - { - "name": "Elegoo PLA @base", - "sub_path": "filament/BASE/Elegoo PLA @base.json" - }, - { - "name": "Elegoo ASA @base", - "sub_path": "filament/BASE/Elegoo ASA @base.json" - }, - { - "name": "Elegoo ABS @base", - "sub_path": "filament/BASE/Elegoo ABS @base.json" - }, - { - "name": "Elegoo PAHT-CF @base", - "sub_path": "filament/BASE/Elegoo PAHT-CF @base.json" - }, - { - "name": "Elegoo PC @base", - "sub_path": "filament/BASE/Elegoo PC @base.json" - }, - { - "name": "Elegoo ASA @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG PRO @base", - "sub_path": "filament/BASE/Elegoo PETG PRO @base.json" - }, - { - "name": "Elegoo PETG PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Matte @base", - "sub_path": "filament/BASE/Elegoo PLA Matte @base.json" - }, - { - "name": "Elegoo PLA Matte @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA PRO @base", - "sub_path": "filament/BASE/Elegoo PLA PRO @base.json" - }, - { - "name": "Elegoo PLA PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Silk @base", - "sub_path": "filament/BASE/Elegoo PLA Silk @base.json" - }, - { - "name": "Elegoo PLA Silk @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA+ @base", - "sub_path": "filament/BASE/Elegoo PLA+ @base.json" - }, - { - "name": "Elegoo PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PLA+ @base", - "sub_path": "filament/BASE/Elegoo Rapid PLA+ @base.json" - }, - { - "name": "Elegoo Rapid PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PETG @base", - "sub_path": "filament/BASE/Elegoo Rapid PETG @base.json" - }, - { - "name": "Elegoo Rapid PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json" - }, - { - "name": "Elegoo ABS @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json" - }, - { - "name": "Elegoo PC @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json" - }, - { - "name": "Elegoo PC-FR @base", - "sub_path": "filament/BASE/Elegoo PC-FR @base.json" - }, - { - "name": "Elegoo PC-FR @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Basic @base", - "sub_path": "filament/BASE/Elegoo PLA Basic @base.json" - }, - { - "name": "Elegoo PLA Basic @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG Translucent @base", - "sub_path": "filament/BASE/Elegoo PETG Translucent @base.json" - }, - { - "name": "Elegoo PETG Translucent @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA @ECC", - "sub_path": "filament/ECC/Elegoo PLA @ECC.json" - }, - { - "name": "Elegoo PLA PRO @ECC", - "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" - }, - { - "name": "Elegoo PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" - }, - { - "name": "Elegoo PLA Silk @ECC", - "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" - }, - { - "name": "Elegoo PLA Matte @ECC", - "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" - }, - { - "name": "Elegoo PLA-CF @base", - "sub_path": "filament/BASE/Elegoo PLA-CF @base.json" - }, - { - "name": "Elegoo PLA-CF @ECC", - "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" - }, - { - "name": "Elegoo PETG @ECC", - "sub_path": "filament/ECC/Elegoo PETG @ECC.json" - }, - { - "name": "Elegoo PETG PRO @ECC", - "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" - }, - { - "name": "Elegoo Rapid PETG @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" - }, - { - "name": "Elegoo TPU 95A @ECC", - "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" - }, - { - "name": "Elegoo ASA @ECC", - "sub_path": "filament/ECC/Elegoo ASA @ECC.json" - }, - { - "name": "Elegoo ABS @ECC", - "sub_path": "filament/ECC/Elegoo ABS @ECC.json" - }, - { - "name": "Elegoo PLA Galaxy @base", - "sub_path": "filament/BASE/Elegoo PLA Galaxy @base.json" - }, - { - "name": "Elegoo PLA Galaxy @ECC", - "sub_path": "filament/ECC/Elegoo PLA Galaxy @ECC.json" - }, - { - "name": "Elegoo PLA Basic @ECC", - "sub_path": "filament/ECC/Elegoo PLA Basic @ECC.json" - }, - { - "name": "Elegoo PLA Marble @base", - "sub_path": "filament/BASE/Elegoo PLA Marble @base.json" - }, - { - "name": "Elegoo PLA Marble @ECC", - "sub_path": "filament/ECC/Elegoo PLA Marble @ECC.json" - }, - { - "name": "Elegoo PLA Sparkle @base", - "sub_path": "filament/BASE/Elegoo PLA Sparkle @base.json" - }, - { - "name": "Elegoo PLA Sparkle @ECC", - "sub_path": "filament/ECC/Elegoo PLA Sparkle @ECC.json" - }, - { - "name": "Elegoo PLA Wood @base", - "sub_path": "filament/BASE/Elegoo PLA Wood @base.json" - }, - { - "name": "Elegoo PLA Wood @ECC", - "sub_path": "filament/ECC/Elegoo PLA Wood @ECC.json" - }, - { - "name": "Elegoo PAHT-CF @ECC", - "sub_path": "filament/ECC/Elegoo PAHT-CF @ECC.json" - }, - { - "name": "Elegoo PC @ECC", - "sub_path": "filament/ECC/Elegoo PC @ECC.json" - }, - { - "name": "Elegoo PC-FR @ECC", - "sub_path": "filament/ECC/Elegoo PC-FR @ECC.json" - }, - { - "name": "Elegoo PETG-CF @base", - "sub_path": "filament/BASE/Elegoo PETG-CF @base.json" - }, - { - "name": "Elegoo PETG-CF @ECC", - "sub_path": "filament/ECC/Elegoo PETG-CF @ECC.json" - }, - { - "name": "Elegoo PETG-GF @base", - "sub_path": "filament/BASE/Elegoo PETG-GF @base.json" - }, - { - "name": "Elegoo PETG-GF @ECC", - "sub_path": "filament/ECC/Elegoo PETG-GF @ECC.json" - }, - { - "name": "Elegoo PETG Translucent @ECC", - "sub_path": "filament/ECC/Elegoo PETG Translucent @ECC.json" - }, - { - "name": "Elegoo Rapid TPU 95A @base", - "sub_path": "filament/BASE/Elegoo Rapid TPU 95A @base.json" - }, - { - "name": "Elegoo Rapid TPU 95A @ECC", - "sub_path": "filament/ECC/Elegoo Rapid TPU 95A @ECC.json" - }, - { - "name": "Elegoo PLA @EC", - "sub_path": "filament/EC/Elegoo PLA @EC.json" - }, - { - "name": "Elegoo PLA PRO @EC", - "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" - }, - { - "name": "Elegoo PLA+ @EC", - "sub_path": "filament/EC/Elegoo PLA+ @EC.json" - }, - { - "name": "Elegoo Rapid PLA+ @EC", - "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" - }, - { - "name": "Elegoo PLA Silk @EC", - "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" - }, - { - "name": "Elegoo PLA Matte @EC", - "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" - }, - { - "name": "Elegoo PETG @EC", - "sub_path": "filament/EC/Elegoo PETG @EC.json" - }, - { - "name": "Elegoo PETG PRO @EC", - "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" - }, - { - "name": "Elegoo Rapid PETG @EC", - "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" - }, - { - "name": "Elegoo TPU 95A @EC", - "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" - }, - { - "name": "Elegoo ASA @EC", - "sub_path": "filament/EC/Elegoo ASA @EC.json" - }, - { - "name": "Elegoo ABS @EC", - "sub_path": "filament/EC/Elegoo ABS @EC.json" - }, - { - "name": "Elegoo PLA Galaxy @EC", - "sub_path": "filament/EC/Elegoo PLA Galaxy @EC.json" - }, - { - "name": "Elegoo PLA Basic @EC", - "sub_path": "filament/EC/Elegoo PLA Basic @EC.json" - }, - { - "name": "Elegoo PLA Marble @EC", - "sub_path": "filament/EC/Elegoo PLA Marble @EC.json" - }, - { - "name": "Elegoo PLA Sparkle @EC", - "sub_path": "filament/EC/Elegoo PLA Sparkle @EC.json" - }, - { - "name": "Elegoo PLA Wood @EC", - "sub_path": "filament/EC/Elegoo PLA Wood @EC.json" - }, - { - "name": "Elegoo PAHT-CF @EC", - "sub_path": "filament/EC/Elegoo PAHT-CF @EC.json" - }, - { - "name": "Elegoo PC @EC", - "sub_path": "filament/EC/Elegoo PC @EC.json" - }, - { - "name": "Elegoo PC-FR @EC", - "sub_path": "filament/EC/Elegoo PC-FR @EC.json" - }, - { - "name": "Elegoo PETG-CF @EC", - "sub_path": "filament/EC/Elegoo PETG-CF @EC.json" - }, - { - "name": "Elegoo PETG-GF @EC", - "sub_path": "filament/EC/Elegoo PETG-GF @EC.json" - }, - { - "name": "Elegoo PETG Translucent @EC", - "sub_path": "filament/EC/Elegoo PETG Translucent @EC.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EC", - "sub_path": "filament/EC/Elegoo Rapid TPU 95A @EC.json" - }, - { - "name": "Elegoo PLA @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" - }, - { - "name": "Elegoo PLA @EC2", - "sub_path": "filament/EC2/Elegoo PLA @EC2.json" - }, - { - "name": "Elegoo PLA PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" - }, - { - "name": "Elegoo PLA PRO @EC2", - "sub_path": "filament/EC2/Elegoo PLA PRO @EC2.json" - }, - { - "name": "Elegoo PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" - }, - { - "name": "Elegoo PLA+ @EC2", - "sub_path": "filament/EC2/Elegoo PLA+ @EC2.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" - }, - { - "name": "Elegoo Rapid PLA+ @EC2", - "sub_path": "filament/EC2/Elegoo Rapid PLA+ @EC2.json" - }, - { - "name": "Elegoo PLA Silk @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" - }, - { - "name": "Elegoo PLA Silk @EC2", - "sub_path": "filament/EC2/Elegoo PLA Silk @EC2.json" - }, - { - "name": "Elegoo PLA Matte @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" - }, - { - "name": "Elegoo PLA Matte @EC2", - "sub_path": "filament/EC2/Elegoo PLA Matte @EC2.json" - }, - { - "name": "Elegoo PLA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" - }, - { - "name": "Elegoo PLA-CF @EC2", - "sub_path": "filament/EC2/Elegoo PLA-CF @EC2.json" - }, - { - "name": "Elegoo PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" - }, - { - "name": "Elegoo PETG @EC2", - "sub_path": "filament/EC2/Elegoo PETG @EC2.json" - }, - { - "name": "Elegoo PETG PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" - }, - { - "name": "Elegoo PETG PRO @EC2", - "sub_path": "filament/EC2/Elegoo PETG PRO @EC2.json" - }, - { - "name": "Elegoo Rapid PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" - }, - { - "name": "Elegoo Rapid PETG @EC2", - "sub_path": "filament/EC2/Elegoo Rapid PETG @EC2.json" - }, - { - "name": "Elegoo TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" - }, - { - "name": "Elegoo TPU 95A @EC2", - "sub_path": "filament/EC2/Elegoo TPU 95A @EC2.json" - }, - { - "name": "Elegoo ASA @ECC2", - "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" - }, - { - "name": "Elegoo ASA @EC2", - "sub_path": "filament/EC2/Elegoo ASA @EC2.json" - }, - { - "name": "Elegoo ABS @ECC2", - "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" - }, - { - "name": "Elegoo ABS @EC2", - "sub_path": "filament/EC2/Elegoo ABS @EC2.json" - }, - { - "name": "Elegoo PLA Galaxy @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" - }, - { - "name": "Elegoo PLA Galaxy @EC2", - "sub_path": "filament/EC2/Elegoo PLA Galaxy @EC2.json" - }, - { - "name": "Elegoo PLA Basic @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" - }, - { - "name": "Elegoo PLA Basic @EC2", - "sub_path": "filament/EC2/Elegoo PLA Basic @EC2.json" - }, - { - "name": "Elegoo PLA Marble @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" - }, - { - "name": "Elegoo PLA Marble @EC2", - "sub_path": "filament/EC2/Elegoo PLA Marble @EC2.json" - }, - { - "name": "Elegoo PLA Sparkle @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" - }, - { - "name": "Elegoo PLA Sparkle @EC2", - "sub_path": "filament/EC2/Elegoo PLA Sparkle @EC2.json" - }, - { - "name": "Elegoo PLA Wood @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" - }, - { - "name": "Elegoo PLA Wood @EC2", - "sub_path": "filament/EC2/Elegoo PLA Wood @EC2.json" - }, - { - "name": "Elegoo PAHT-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" - }, - { - "name": "Elegoo PAHT-CF @EC2", - "sub_path": "filament/EC2/Elegoo PAHT-CF @EC2.json" - }, - { - "name": "Elegoo PC @ECC2", - "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" - }, - { - "name": "Elegoo PC @EC2", - "sub_path": "filament/EC2/Elegoo PC @EC2.json" - }, - { - "name": "Elegoo PC-FR @ECC2", - "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" - }, - { - "name": "Elegoo PC-FR @EC2", - "sub_path": "filament/EC2/Elegoo PC-FR @EC2.json" - }, - { - "name": "Elegoo PETG-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" - }, - { - "name": "Elegoo PETG-CF @EC2", - "sub_path": "filament/EC2/Elegoo PETG-CF @EC2.json" - }, - { - "name": "Elegoo PETG-GF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" - }, - { - "name": "Elegoo PETG-GF @EC2", - "sub_path": "filament/EC2/Elegoo PETG-GF @EC2.json" - }, - { - "name": "Elegoo PETG Translucent @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" - }, - { - "name": "Elegoo PETG Translucent @EC2", - "sub_path": "filament/EC2/Elegoo PETG Translucent @EC2.json" - }, - { - "name": "Elegoo ASA-CF @base", - "sub_path": "filament/BASE/Elegoo ASA-CF @base.json" - }, - { - "name": "Elegoo ASA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo ASA-CF @ECC2.json" - }, - { - "name": "Elegoo ASA-CF @EC2", - "sub_path": "filament/EC2/Elegoo ASA-CF @EC2.json" - }, - { - "name": "Elegoo PET-CF @base", - "sub_path": "filament/BASE/Elegoo PET-CF @base.json" - }, - { - "name": "Elegoo PET-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PET-CF @ECC2.json" - }, - { - "name": "Elegoo PET-CF @EC2", - "sub_path": "filament/EC2/Elegoo PET-CF @EC2.json" - }, - { - "name": "Elegoo PETG HF @base", - "sub_path": "filament/BASE/Elegoo PETG HF @base.json" - }, - { - "name": "Elegoo PETG HF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG HF @ECC2.json" - }, - { - "name": "Elegoo PETG HF @EC2", - "sub_path": "filament/EC2/Elegoo PETG HF @EC2.json" - }, - { - "name": "Elegoo PLA Glow @base", - "sub_path": "filament/BASE/Elegoo PLA Glow @base.json" - }, - { - "name": "Elegoo PLA Glow @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Glow @ECC2.json" - }, - { - "name": "Elegoo PLA Glow @EC2", - "sub_path": "filament/EC2/Elegoo PLA Glow @EC2.json" - }, - { - "name": "Elegoo PLA Translucent2 @base", - "sub_path": "filament/BASE/Elegoo PLA Translucent2 @base.json" - }, - { - "name": "Elegoo PLA Translucent2 @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Translucent2 @ECC2.json" - }, - { - "name": "Elegoo PLA Translucent2 @EC2", - "sub_path": "filament/EC2/Elegoo PLA Translucent2 @EC2.json" - }, - { - "name": "Elegoo Rapid TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EC2", - "sub_path": "filament/EC2/Elegoo Rapid TPU 95A @EC2.json" - }, - { - "name": "Elegoo PLA @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA @EN4 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json" - }, - { - "name": "Elegoo PLA+ @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json" - }, - { - "name": "Elegoo PETG @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG @EN4 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json" - }, - { - "name": "Elegoo TPU 95A @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json" - }, - { - "name": "Elegoo ASA @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo ASA @EN4 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json" - }, - { - "name": "Elegoo PLA @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA @EN3 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json" - }, - { - "name": "Elegoo PLA+ @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json" - }, - { - "name": "Elegoo PETG @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG @EN3 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json" - }, - { - "name": "Elegoo TPU 95A @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json" - }, - { - "name": "Elegoo ASA @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo ASA @EN3 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json" - }, - { - "name": "Elegoo PLA @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA @EN2 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json" - }, - { - "name": "Elegoo PLA+ @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json" - }, - { - "name": "Elegoo PETG @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG @EN2 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json" - }, - { - "name": "Elegoo ASA @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo ASA @EN2 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json" - }, - { - "name": "Elegoo ASA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG PRO @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Matte @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid PETG @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid PLA+ @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Galaxy @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Basic @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Marble @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Sparkle @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Wood @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG-CF @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG-GF @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG Translucent @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid TPU 95A @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json" - }, - { - "name": "Generic ABS @Elegoo Centauri", - "sub_path": "filament/Generic/Generic ABS @Elegoo Centauri.json" - }, - { - "name": "Generic ABS @Elegoo", - "sub_path": "filament/Generic/Generic ABS @Elegoo.json" - }, - { - "name": "Generic ABS-CF @Elegoo Centauri", - "sub_path": "filament/Generic/Generic ABS-CF @Elegoo Centauri.json" - }, - { - "name": "Generic ASA @Elegoo", - "sub_path": "filament/Generic/Generic ASA @Elegoo.json" - }, - { - "name": "Generic ASA-CF @Elegoo Centauri", - "sub_path": "filament/Generic/Generic ASA-CF @Elegoo Centauri.json" - }, - { - "name": "Generic PA @Elegoo", - "sub_path": "filament/Generic/Generic PA @Elegoo.json" - }, - { - "name": "Generic PA6-CF @Elegoo", - "sub_path": "filament/Generic/Generic PA6-CF @Elegoo.json" - }, - { - "name": "Generic PC @Elegoo", - "sub_path": "filament/Generic/Generic PC @Elegoo.json" - }, - { - "name": "Generic PC-CF @Elegoo", - "sub_path": "filament/Generic/Generic PC-CF @Elegoo.json" - }, - { - "name": "Generic PET @Elegoo Centauri", - "sub_path": "filament/Generic/Generic PET @Elegoo Centauri.json" - }, - { - "name": "Generic PET-CF @Elegoo Centauri", - "sub_path": "filament/Generic/Generic PET-CF @Elegoo Centauri.json" - }, - { - "name": "Generic PETG @Elegoo", - "sub_path": "filament/Generic/Generic PETG @Elegoo.json" - }, - { - "name": "Generic PETG PRO @Elegoo", - "sub_path": "filament/Generic/Generic PETG PRO @Elegoo.json" - }, - { - "name": "Generic PETG-CF @Elegoo Centauri", - "sub_path": "filament/Generic/Generic PETG-CF @Elegoo Centauri.json" - }, - { - "name": "Generic PLA @Elegoo Centauri", - "sub_path": "filament/Generic/Generic PLA @Elegoo Centauri.json" - }, - { - "name": "Generic PLA @Elegoo", - "sub_path": "filament/Generic/Generic PLA @Elegoo.json" - }, - { - "name": "Generic PLA Matte @Elegoo", - "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" - } - ], - "machine_list": [ - { - "name": "fdm_machine_common", - "sub_path": "machine/fdm_machine_common.json" - }, - { - "name": "fdm_elegoo_common", - "sub_path": "machine/fdm_elegoo_common.json" - }, - { - "name": "fdm_elegoo_3dp_001_common", - "sub_path": "machine/fdm_elegoo_3dp_001_common.json" - }, - { - "name": "Elegoo Centauri Carbon 0.4 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 0.2 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 0.6 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 0.8 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" - }, - { - "name": "Elegoo Centauri 0.4 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" - }, - { - "name": "Elegoo Centauri 0.2 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.2 nozzle.json" - }, - { - "name": "Elegoo Centauri 0.6 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.6 nozzle.json" - }, - { - "name": "Elegoo Centauri 0.8 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.8 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 2 0.4 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" - }, - { - "name": "Elegoo Centauri 2 0.4 nozzle", - "sub_path": "machine/EC2/Elegoo Centauri 2 0.4 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 2 0.2 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.2 nozzle.json" - }, - { - "name": "Elegoo Centauri 2 0.2 nozzle", - "sub_path": "machine/EC2/Elegoo Centauri 2 0.2 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 2 0.6 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.6 nozzle.json" - }, - { - "name": "Elegoo Centauri 2 0.6 nozzle", - "sub_path": "machine/EC2/Elegoo Centauri 2 0.6 nozzle.json" - }, - { - "name": "Elegoo Centauri Carbon 2 0.8 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" - }, - { - "name": "Elegoo Centauri 2 0.8 nozzle", - "sub_path": "machine/EC2/Elegoo Centauri 2 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.4 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.6 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.8 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 1.0 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 0.2 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 0.6 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 0.8 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 1.0 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 0.2 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 0.6 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 0.8 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 1.0 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 0.2 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 0.6 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 0.8 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 1.0 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 2 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 2 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json" - } - ] -} \ No newline at end of file + "name": "Elegoo", + "version": "02.04.00.11", + "force_update": "0", + "description": "Elegoo configurations", + "machine_model_list": [ + { + "name": "Elegoo Centauri", + "sub_path": "machine/EC/Elegoo Centauri.json" + }, + { + "name": "Elegoo Centauri 2", + "sub_path": "machine/EC2/Elegoo Centauri 2.json" + }, + { + "name": "Elegoo Centauri Carbon", + "sub_path": "machine/ECC/Elegoo Centauri Carbon.json" + }, + { + "name": "Elegoo Centauri Carbon 2", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" + }, + { + "name": "Elegoo Neptune", + "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" + }, + { + "name": "Elegoo Neptune 2", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" + }, + { + "name": "Elegoo Neptune 2D", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" + }, + { + "name": "Elegoo Neptune 2S", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" + }, + { + "name": "Elegoo Neptune 3", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" + }, + { + "name": "Elegoo Neptune 3 Max", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max.json" + }, + { + "name": "Elegoo Neptune 3 Plus", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus.json" + }, + { + "name": "Elegoo Neptune 3 Pro", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro.json" + }, + { + "name": "Elegoo Neptune 4", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" + }, + { + "name": "Elegoo Neptune 4 Max", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max.json" + }, + { + "name": "Elegoo Neptune 4 Plus", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus.json" + }, + { + "name": "Elegoo Neptune 4 Pro", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro.json" + }, + { + "name": "Elegoo Neptune X", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X.json" + }, + { + "name": "Elegoo OrangeStorm Giga", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_elegoo_common", + "sub_path": "process/fdm_process_elegoo_common.json" + }, + { + "name": "fdm_process_elegoo_02010", + "sub_path": "process/fdm_process_elegoo_02010.json" + }, + { + "name": "fdm_process_elegoo_04020", + "sub_path": "process/fdm_process_elegoo_04020.json" + }, + { + "name": "fdm_process_elegoo_06030", + "sub_path": "process/fdm_process_elegoo_06030.json" + }, + { + "name": "fdm_process_elegoo_08040", + "sub_path": "process/fdm_process_elegoo_08040.json" + }, + { + "name": "fdm_process_elegoo_10050", + "sub_path": "process/fdm_process_elegoo_10050.json" + }, + { + "name": "0.10mm Standard @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo C2 0.2 nozzle", + "sub_path": "process/EC2/0.10mm Standard @Elegoo C2 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.20mm Standard @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.30mm Standard @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo C2 0.8 nozzle", + "sub_path": "process/EC2/0.40mm Standard @Elegoo C2 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo C2 0.2 nozzle", + "sub_path": "process/EC2/0.08mm Optimal @Elegoo C2 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo C2 0.2 nozzle", + "sub_path": "process/EC2/0.12mm Draft @Elegoo C2 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo C2 0.2 nozzle", + "sub_path": "process/EC2/0.14mm Extra Draft @Elegoo C2 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.12mm Fine @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.16mm Optimal @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.20mm Strength @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.24mm Draft @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo C2 0.4 nozzle", + "sub_path": "process/EC2/0.28mm Extra Draft @Elegoo C2 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.18mm Fine @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.24mm Optimal @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.30mm Strength @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.36mm Draft @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo C2 0.6 nozzle", + "sub_path": "process/EC2/0.42mm Extra Draft @Elegoo C2 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo C2 0.8 nozzle", + "sub_path": "process/EC2/0.16mm Extra Fine @Elegoo C2 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo C2 0.8 nozzle", + "sub_path": "process/EC2/0.24mm Fine @Elegoo C2 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo C2 0.8 nozzle", + "sub_path": "process/EC2/0.32mm Optimal @Elegoo C2 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo C2 0.8 nozzle", + "sub_path": "process/EC2/0.48mm Draft @Elegoo C2 0.8 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" + }, + { + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" + }, + { + "name": "fdm_filament_hips", + "sub_path": "filament/fdm_filament_hips.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_ppa", + "sub_path": "filament/fdm_filament_ppa.json" + }, + { + "name": "fdm_filament_pps", + "sub_path": "filament/fdm_filament_pps.json" + }, + { + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" + }, + { + "name": "Elegoo ABS @base", + "sub_path": "filament/BASE/Elegoo ABS @base.json" + }, + { + "name": "Generic ABS @base", + "sub_path": "filament/BASE/Generic ABS @base.json" + }, + { + "name": "Elegoo ASA @base", + "sub_path": "filament/BASE/Elegoo ASA @base.json" + }, + { + "name": "Generic ASA @base", + "sub_path": "filament/BASE/Generic ASA @base.json" + }, + { + "name": "Elegoo PAHT-CF @base", + "sub_path": "filament/BASE/Elegoo PAHT-CF @base.json" + }, + { + "name": "Generic PA @base", + "sub_path": "filament/BASE/Generic PA @base.json" + }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/BASE/Elegoo PC @base.json" + }, + { + "name": "Generic PC @base", + "sub_path": "filament/BASE/Generic PC @base.json" + }, + { + "name": "Elegoo PETG @base", + "sub_path": "filament/BASE/Elegoo PETG @base.json" + }, + { + "name": "Generic PET @base", + "sub_path": "filament/BASE/Generic PET @base.json" + }, + { + "name": "Generic PETG @base", + "sub_path": "filament/BASE/Generic PETG @base.json" + }, + { + "name": "Elegoo PLA @base", + "sub_path": "filament/BASE/Elegoo PLA @base.json" + }, + { + "name": "Generic PLA @base", + "sub_path": "filament/BASE/Generic PLA @base.json" + }, + { + "name": "Elegoo TPU 95A @base", + "sub_path": "filament/BASE/Elegoo TPU 95A @base.json" + }, + { + "name": "Elegoo ABS @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json" + }, + { + "name": "Elegoo ABS @EC", + "sub_path": "filament/EC/Elegoo ABS @EC.json" + }, + { + "name": "Elegoo ABS @EC2", + "sub_path": "filament/EC2/Elegoo ABS @EC2.json" + }, + { + "name": "Elegoo ABS @ECC", + "sub_path": "filament/ECC/Elegoo ABS @ECC.json" + }, + { + "name": "Elegoo ABS @ECC2", + "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" + }, + { + "name": "Generic ABS @Elegoo", + "sub_path": "filament/Generic/Generic ABS @Elegoo.json" + }, + { + "name": "Generic ABS @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ABS @Elegoo Centauri.json" + }, + { + "name": "Generic ABS-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ABS-CF @Elegoo Centauri.json" + }, + { + "name": "Elegoo ASA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json" + }, + { + "name": "Elegoo ASA @EC", + "sub_path": "filament/EC/Elegoo ASA @EC.json" + }, + { + "name": "Elegoo ASA @EC2", + "sub_path": "filament/EC2/Elegoo ASA @EC2.json" + }, + { + "name": "Elegoo ASA @ECC", + "sub_path": "filament/ECC/Elegoo ASA @ECC.json" + }, + { + "name": "Elegoo ASA @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" + }, + { + "name": "Elegoo ASA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo ASA @EN2 Series.json" + }, + { + "name": "Elegoo ASA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo ASA @EN3 Series.json" + }, + { + "name": "Elegoo ASA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo ASA @EN4 Series.json" + }, + { + "name": "Elegoo ASA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" + }, + { + "name": "Elegoo ASA-CF @base", + "sub_path": "filament/BASE/Elegoo ASA-CF @base.json" + }, + { + "name": "Generic ASA @Elegoo", + "sub_path": "filament/Generic/Generic ASA @Elegoo.json" + }, + { + "name": "Generic ASA-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ASA-CF @Elegoo Centauri.json" + }, + { + "name": "Elegoo PAHT-CF @EC", + "sub_path": "filament/EC/Elegoo PAHT-CF @EC.json" + }, + { + "name": "Elegoo PAHT-CF @EC2", + "sub_path": "filament/EC2/Elegoo PAHT-CF @EC2.json" + }, + { + "name": "Elegoo PAHT-CF @ECC", + "sub_path": "filament/ECC/Elegoo PAHT-CF @ECC.json" + }, + { + "name": "Elegoo PAHT-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + }, + { + "name": "Generic PA @Elegoo", + "sub_path": "filament/Generic/Generic PA @Elegoo.json" + }, + { + "name": "Generic PA6-CF @Elegoo", + "sub_path": "filament/Generic/Generic PA6-CF @Elegoo.json" + }, + { + "name": "Elegoo PC @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json" + }, + { + "name": "Elegoo PC @EC", + "sub_path": "filament/EC/Elegoo PC @EC.json" + }, + { + "name": "Elegoo PC @EC2", + "sub_path": "filament/EC2/Elegoo PC @EC2.json" + }, + { + "name": "Elegoo PC @ECC", + "sub_path": "filament/ECC/Elegoo PC @ECC.json" + }, + { + "name": "Elegoo PC @ECC2", + "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + }, + { + "name": "Elegoo PC-FR @base", + "sub_path": "filament/BASE/Elegoo PC-FR @base.json" + }, + { + "name": "Generic PC @Elegoo", + "sub_path": "filament/Generic/Generic PC @Elegoo.json" + }, + { + "name": "Generic PC-CF @Elegoo", + "sub_path": "filament/Generic/Generic PC-CF @Elegoo.json" + }, + { + "name": "Elegoo PET-CF @base", + "sub_path": "filament/BASE/Elegoo PET-CF @base.json" + }, + { + "name": "Elegoo PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG @EC", + "sub_path": "filament/EC/Elegoo PETG @EC.json" + }, + { + "name": "Elegoo PETG @EC2", + "sub_path": "filament/EC2/Elegoo PETG @EC2.json" + }, + { + "name": "Elegoo PETG @ECC", + "sub_path": "filament/ECC/Elegoo PETG @ECC.json" + }, + { + "name": "Elegoo PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + }, + { + "name": "Elegoo PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG @EN2 Series.json" + }, + { + "name": "Elegoo PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG @EN3 Series.json" + }, + { + "name": "Elegoo PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG @EN4 Series.json" + }, + { + "name": "Elegoo PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG HF @base", + "sub_path": "filament/BASE/Elegoo PETG HF @base.json" + }, + { + "name": "Elegoo PETG PRO @base", + "sub_path": "filament/BASE/Elegoo PETG PRO @base.json" + }, + { + "name": "Elegoo PETG Translucent @base", + "sub_path": "filament/BASE/Elegoo PETG Translucent @base.json" + }, + { + "name": "Elegoo PETG-CF @base", + "sub_path": "filament/BASE/Elegoo PETG-CF @base.json" + }, + { + "name": "Elegoo PETG-GF @base", + "sub_path": "filament/BASE/Elegoo PETG-GF @base.json" + }, + { + "name": "Elegoo Rapid PETG @base", + "sub_path": "filament/BASE/Elegoo Rapid PETG @base.json" + }, + { + "name": "Generic PET @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PET @Elegoo Centauri.json" + }, + { + "name": "Generic PET-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PET-CF @Elegoo Centauri.json" + }, + { + "name": "Generic PETG @Elegoo", + "sub_path": "filament/Generic/Generic PETG @Elegoo.json" + }, + { + "name": "Generic PETG PRO @Elegoo", + "sub_path": "filament/Generic/Generic PETG PRO @Elegoo.json" + }, + { + "name": "Generic PETG-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PETG-CF @Elegoo Centauri.json" + }, + { + "name": "Elegoo PLA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA @EC", + "sub_path": "filament/EC/Elegoo PLA @EC.json" + }, + { + "name": "Elegoo PLA @EC2", + "sub_path": "filament/EC2/Elegoo PLA @EC2.json" + }, + { + "name": "Elegoo PLA @ECC", + "sub_path": "filament/ECC/Elegoo PLA @ECC.json" + }, + { + "name": "Elegoo PLA @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" + }, + { + "name": "Elegoo PLA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA @EN2 Series.json" + }, + { + "name": "Elegoo PLA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA @EN3 Series.json" + }, + { + "name": "Elegoo PLA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA @EN4 Series.json" + }, + { + "name": "Elegoo PLA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Basic @base", + "sub_path": "filament/BASE/Elegoo PLA Basic @base.json" + }, + { + "name": "Elegoo PLA Galaxy @base", + "sub_path": "filament/BASE/Elegoo PLA Galaxy @base.json" + }, + { + "name": "Elegoo PLA Glow @base", + "sub_path": "filament/BASE/Elegoo PLA Glow @base.json" + }, + { + "name": "Elegoo PLA Marble @base", + "sub_path": "filament/BASE/Elegoo PLA Marble @base.json" + }, + { + "name": "Elegoo PLA Matte @base", + "sub_path": "filament/BASE/Elegoo PLA Matte @base.json" + }, + { + "name": "Elegoo PLA PRO @base", + "sub_path": "filament/BASE/Elegoo PLA PRO @base.json" + }, + { + "name": "Elegoo PLA Silk @base", + "sub_path": "filament/BASE/Elegoo PLA Silk @base.json" + }, + { + "name": "Elegoo PLA Sparkle @base", + "sub_path": "filament/BASE/Elegoo PLA Sparkle @base.json" + }, + { + "name": "Elegoo PLA Translucent2 @base", + "sub_path": "filament/BASE/Elegoo PLA Translucent2 @base.json" + }, + { + "name": "Elegoo PLA Wood @base", + "sub_path": "filament/BASE/Elegoo PLA Wood @base.json" + }, + { + "name": "Elegoo PLA+ @base", + "sub_path": "filament/BASE/Elegoo PLA+ @base.json" + }, + { + "name": "Elegoo PLA-CF @base", + "sub_path": "filament/BASE/Elegoo PLA-CF @base.json" + }, + { + "name": "Elegoo Rapid PLA+ @base", + "sub_path": "filament/BASE/Elegoo Rapid PLA+ @base.json" + }, + { + "name": "Generic PLA @Elegoo", + "sub_path": "filament/Generic/Generic PLA @Elegoo.json" + }, + { + "name": "Generic PLA @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PLA @Elegoo Centauri.json" + }, + { + "name": "Generic PLA Matte @Elegoo", + "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" + }, + { + "name": "Elegoo Rapid TPU 95A @base", + "sub_path": "filament/BASE/Elegoo Rapid TPU 95A @base.json" + }, + { + "name": "Elegoo TPU 95A @EC", + "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" + }, + { + "name": "Elegoo TPU 95A @EC2", + "sub_path": "filament/EC2/Elegoo TPU 95A @EC2.json" + }, + { + "name": "Elegoo TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" + }, + { + "name": "Elegoo TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" + }, + { + "name": "Elegoo TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json" + }, + { + "name": "Elegoo ASA-CF @EC2", + "sub_path": "filament/EC2/Elegoo ASA-CF @EC2.json" + }, + { + "name": "Elegoo ASA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA-CF @ECC2.json" + }, + { + "name": "Elegoo PC-FR @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json" + }, + { + "name": "Elegoo PC-FR @EC", + "sub_path": "filament/EC/Elegoo PC-FR @EC.json" + }, + { + "name": "Elegoo PC-FR @EC2", + "sub_path": "filament/EC2/Elegoo PC-FR @EC2.json" + }, + { + "name": "Elegoo PC-FR @ECC", + "sub_path": "filament/ECC/Elegoo PC-FR @ECC.json" + }, + { + "name": "Elegoo PC-FR @ECC2", + "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + }, + { + "name": "Elegoo PET-CF @EC2", + "sub_path": "filament/EC2/Elegoo PET-CF @EC2.json" + }, + { + "name": "Elegoo PET-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PET-CF @ECC2.json" + }, + { + "name": "Elegoo PETG HF @EC2", + "sub_path": "filament/EC2/Elegoo PETG HF @EC2.json" + }, + { + "name": "Elegoo PETG HF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG HF @ECC2.json" + }, + { + "name": "Elegoo PETG PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG PRO @EC", + "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" + }, + { + "name": "Elegoo PETG PRO @EC2", + "sub_path": "filament/EC2/Elegoo PETG PRO @EC2.json" + }, + { + "name": "Elegoo PETG PRO @ECC", + "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" + }, + { + "name": "Elegoo PETG PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" + }, + { + "name": "Elegoo PETG PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json" + }, + { + "name": "Elegoo PETG PRO @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG Translucent @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG Translucent @EC", + "sub_path": "filament/EC/Elegoo PETG Translucent @EC.json" + }, + { + "name": "Elegoo PETG Translucent @EC2", + "sub_path": "filament/EC2/Elegoo PETG Translucent @EC2.json" + }, + { + "name": "Elegoo PETG Translucent @ECC", + "sub_path": "filament/ECC/Elegoo PETG Translucent @ECC.json" + }, + { + "name": "Elegoo PETG Translucent @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" + }, + { + "name": "Elegoo PETG Translucent @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json" + }, + { + "name": "Elegoo PETG Translucent @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG-CF @EC", + "sub_path": "filament/EC/Elegoo PETG-CF @EC.json" + }, + { + "name": "Elegoo PETG-CF @EC2", + "sub_path": "filament/EC2/Elegoo PETG-CF @EC2.json" + }, + { + "name": "Elegoo PETG-CF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-CF @ECC.json" + }, + { + "name": "Elegoo PETG-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" + }, + { + "name": "Elegoo PETG-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json" + }, + { + "name": "Elegoo PETG-CF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG-GF @EC", + "sub_path": "filament/EC/Elegoo PETG-GF @EC.json" + }, + { + "name": "Elegoo PETG-GF @EC2", + "sub_path": "filament/EC2/Elegoo PETG-GF @EC2.json" + }, + { + "name": "Elegoo PETG-GF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-GF @ECC.json" + }, + { + "name": "Elegoo PETG-GF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" + }, + { + "name": "Elegoo PETG-GF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json" + }, + { + "name": "Elegoo PETG-GF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json" + }, + { + "name": "Elegoo Rapid PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PETG @EC", + "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" + }, + { + "name": "Elegoo Rapid PETG @EC2", + "sub_path": "filament/EC2/Elegoo Rapid PETG @EC2.json" + }, + { + "name": "Elegoo Rapid PETG @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" + }, + { + "name": "Elegoo Rapid PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Basic @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Basic @EC", + "sub_path": "filament/EC/Elegoo PLA Basic @EC.json" + }, + { + "name": "Elegoo PLA Basic @EC2", + "sub_path": "filament/EC2/Elegoo PLA Basic @EC2.json" + }, + { + "name": "Elegoo PLA Basic @ECC", + "sub_path": "filament/ECC/Elegoo PLA Basic @ECC.json" + }, + { + "name": "Elegoo PLA Basic @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" + }, + { + "name": "Elegoo PLA Basic @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json" + }, + { + "name": "Elegoo PLA Basic @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Galaxy @EC", + "sub_path": "filament/EC/Elegoo PLA Galaxy @EC.json" + }, + { + "name": "Elegoo PLA Galaxy @EC2", + "sub_path": "filament/EC2/Elegoo PLA Galaxy @EC2.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC", + "sub_path": "filament/ECC/Elegoo PLA Galaxy @ECC.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" + }, + { + "name": "Elegoo PLA Galaxy @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Glow @EC2", + "sub_path": "filament/EC2/Elegoo PLA Glow @EC2.json" + }, + { + "name": "Elegoo PLA Glow @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Glow @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @EC", + "sub_path": "filament/EC/Elegoo PLA Marble @EC.json" + }, + { + "name": "Elegoo PLA Marble @EC2", + "sub_path": "filament/EC2/Elegoo PLA Marble @EC2.json" + }, + { + "name": "Elegoo PLA Marble @ECC", + "sub_path": "filament/ECC/Elegoo PLA Marble @ECC.json" + }, + { + "name": "Elegoo PLA Marble @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json" + }, + { + "name": "Elegoo PLA Marble @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Matte @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Matte @EC", + "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" + }, + { + "name": "Elegoo PLA Matte @EC2", + "sub_path": "filament/EC2/Elegoo PLA Matte @EC2.json" + }, + { + "name": "Elegoo PLA Matte @ECC", + "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" + }, + { + "name": "Elegoo PLA Matte @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" + }, + { + "name": "Elegoo PLA Matte @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json" + }, + { + "name": "Elegoo PLA Matte @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA PRO @EC", + "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" + }, + { + "name": "Elegoo PLA PRO @EC2", + "sub_path": "filament/EC2/Elegoo PLA PRO @EC2.json" + }, + { + "name": "Elegoo PLA PRO @ECC", + "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" + }, + { + "name": "Elegoo PLA PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" + }, + { + "name": "Elegoo PLA PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json" + }, + { + "name": "Elegoo PLA Silk @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Silk @EC", + "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" + }, + { + "name": "Elegoo PLA Silk @EC2", + "sub_path": "filament/EC2/Elegoo PLA Silk @EC2.json" + }, + { + "name": "Elegoo PLA Silk @ECC", + "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" + }, + { + "name": "Elegoo PLA Silk @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" + }, + { + "name": "Elegoo PLA Silk @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EC", + "sub_path": "filament/EC/Elegoo PLA Sparkle @EC.json" + }, + { + "name": "Elegoo PLA Sparkle @EC2", + "sub_path": "filament/EC2/Elegoo PLA Sparkle @EC2.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC", + "sub_path": "filament/ECC/Elegoo PLA Sparkle @ECC.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" + }, + { + "name": "Elegoo PLA Sparkle @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Translucent2 @EC2", + "sub_path": "filament/EC2/Elegoo PLA Translucent2 @EC2.json" + }, + { + "name": "Elegoo PLA Translucent2 @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Translucent2 @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @EC", + "sub_path": "filament/EC/Elegoo PLA Wood @EC.json" + }, + { + "name": "Elegoo PLA Wood @EC2", + "sub_path": "filament/EC2/Elegoo PLA Wood @EC2.json" + }, + { + "name": "Elegoo PLA Wood @ECC", + "sub_path": "filament/ECC/Elegoo PLA Wood @ECC.json" + }, + { + "name": "Elegoo PLA Wood @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json" + }, + { + "name": "Elegoo PLA Wood @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA+ @EC", + "sub_path": "filament/EC/Elegoo PLA+ @EC.json" + }, + { + "name": "Elegoo PLA+ @EC2", + "sub_path": "filament/EC2/Elegoo PLA+ @EC2.json" + }, + { + "name": "Elegoo PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" + }, + { + "name": "Elegoo PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" + }, + { + "name": "Elegoo PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo PLA-CF @EC2", + "sub_path": "filament/EC2/Elegoo PLA-CF @EC2.json" + }, + { + "name": "Elegoo PLA-CF @ECC", + "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" + }, + { + "name": "Elegoo PLA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" + }, + { + "name": "Elegoo PLA-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PLA+ @EC", + "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" + }, + { + "name": "Elegoo Rapid PLA+ @EC2", + "sub_path": "filament/EC2/Elegoo Rapid PLA+ @EC2.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EC", + "sub_path": "filament/EC/Elegoo Rapid TPU 95A @EC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EC2", + "sub_path": "filament/EC2/Elegoo Rapid TPU 95A @EC2.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo Rapid TPU 95A @ECC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_elegoo_3dp_001_common", + "sub_path": "machine/fdm_elegoo_3dp_001_common.json" + }, + { + "name": "fdm_elegoo_common", + "sub_path": "machine/fdm_elegoo_common.json" + }, + { + "name": "Elegoo Centauri 0.4 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" + }, + { + "name": "Elegoo Centauri 2 0.4 nozzle", + "sub_path": "machine/EC2/Elegoo Centauri 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.4 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 2 0.4 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.4 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" + }, + { + "name": "Elegoo Centauri 0.2 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.2 nozzle.json" + }, + { + "name": "Elegoo Centauri 0.6 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri 0.8 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.8 nozzle.json" + }, + { + "name": "Elegoo Centauri 2 0.2 nozzle", + "sub_path": "machine/EC2/Elegoo Centauri 2 0.2 nozzle.json" + }, + { + "name": "Elegoo Centauri 2 0.6 nozzle", + "sub_path": "machine/EC2/Elegoo Centauri 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri 2 0.8 nozzle", + "sub_path": "machine/EC2/Elegoo Centauri 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.2 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.6 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.8 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 2 0.2 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.2 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 2 0.6 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 2 0.8 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.6 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.8 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 1.0 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json" + } + ] +} diff --git a/resources/profiles/Elegoo/Elegoo Centauri 2_cover.png b/resources/profiles/Elegoo/Elegoo Centauri 2_cover.png index d836650597..197aab0111 100644 Binary files a/resources/profiles/Elegoo/Elegoo Centauri 2_cover.png and b/resources/profiles/Elegoo/Elegoo Centauri 2_cover.png differ diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json index 8965bae8e1..21112c1791 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json @@ -15,6 +15,6 @@ "Elegoo" ], "filament_start_gcode": [ - "; filament start gcode\n" + "; Elegoo PLA filament start gcode\n" ] } diff --git a/resources/profiles/Elegoo/machine/fdm_elegoo_common.json b/resources/profiles/Elegoo/machine/fdm_elegoo_common.json index fffd18ea44..5bbfacf133 100644 --- a/resources/profiles/Elegoo/machine/fdm_elegoo_common.json +++ b/resources/profiles/Elegoo/machine/fdm_elegoo_common.json @@ -1,9 +1,9 @@ { "type": "machine", "name": "fdm_elegoo_common", + "inherits": "fdm_machine_common", "from": "system", "instantiation": "false", - "inherits": "fdm_machine_common", "gcode_flavor": "marlin", "printer_technology": "FFF", "nozzle_diameter": [ @@ -141,7 +141,6 @@ "thumbnails_format": "PNG", "nozzle_type": "brass", "machine_end_gcode": "G90 ;Absolute positionning\nM83 ; extruder relative mode\nG1 X10 Y{print_bed_max[1]*0.8} Z{min(max_layer_z+100, printable_height)} E-8 F{travel_speed*60} ; Move print head up\nG1 Z{min(max_layer_z+100, printable_height-2)} F600\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM84 ;Disable all steppers", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M600", diff --git a/resources/profiles/Elegoo/machine/fdm_machine_common.json b/resources/profiles/Elegoo/machine/fdm_machine_common.json index 249e760920..283197aa4e 100644 --- a/resources/profiles/Elegoo/machine/fdm_machine_common.json +++ b/resources/profiles/Elegoo/machine/fdm_machine_common.json @@ -20,7 +20,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json index e6a04bb40a..9577a8e2db 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json @@ -1,15 +1,14 @@ { "type": "process", "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "renamed_from": "0.30mm Standard @EOS Giga 0.6 nozzle", "inherits": "fdm_process_elegoo_06030", "from": "system", "setting_id": "mMP6cZhv9TYjYlEh", "instantiation": "true", - "renamed_from": "0.30mm Standard @EOS Giga 0.6 nozzle", "default_acceleration": "3000", "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", - "is_custom_defined": "0", "make_overhang_printable_angle": "90", "outer_wall_acceleration": "2000", "resolution": "0.05", diff --git a/resources/profiles/Elegoo/process/fdm_process_common.json b/resources/profiles/Elegoo/process/fdm_process_common.json index a2bd0ea5f1..01b285b7f0 100644 --- a/resources/profiles/Elegoo/process/fdm_process_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", @@ -28,7 +27,6 @@ "sparse_infill_line_width": "0.45", "infill_wall_overlap": "15%", "sparse_infill_speed": "50", - "overhang_speed_classic": "1", "interface_shells": "0", "detect_overhang_wall": "0", "reduce_infill_retraction": "1", diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json index 30fa79753b..615c0eeccd 100644 --- a/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json @@ -24,7 +24,6 @@ "sparse_infill_speed": "100", "inner_wall_speed": "100", "internal_solid_infill_speed": "100", - "is_custom_defined": "0", "outer_wall_speed": "60", "top_surface_speed": "80" } diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json index 2ca6daf45b..1e61b87f49 100644 --- a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json @@ -16,7 +16,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "30", diff --git a/resources/profiles/Eryone.json b/resources/profiles/Eryone.json index 488ba18337..ea9ce20a44 100644 --- a/resources/profiles/Eryone.json +++ b/resources/profiles/Eryone.json @@ -1,6 +1,6 @@ { "name": "Eryone", - "version": "02.04.00.03", + "version": "02.04.00.06", "force_update": "0", "description": "Eryone configurations", "machine_model_list": [ @@ -432,10 +432,18 @@ "name": "Eryone ABS", "sub_path": "filament/Eryone ABS.json" }, + { + "name": "Eryone ABS+-HS @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone ABS+-HS @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone ABS-CF", "sub_path": "filament/Eryone ABS-CF.json" }, + { + "name": "Eryone ABS-GF @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone ABS-GF @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone ASA", "sub_path": "filament/Eryone ASA.json" @@ -444,6 +452,10 @@ "name": "Eryone ASA-CF", "sub_path": "filament/Eryone ASA-CF.json" }, + { + "name": "Eryone ASA-HS @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone ASA-HS @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone PA", "sub_path": "filament/Eryone PA.json" @@ -460,18 +472,50 @@ "name": "Eryone PETG", "sub_path": "filament/Eryone PETG.json" }, + { + "name": "Eryone PETG HS @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PETG HS @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone PETG-CF", "sub_path": "filament/Eryone PETG-CF.json" }, + { + "name": "Eryone PETG-GF @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PETG-GF @Thinker X400 0.4 nozzle.json" + }, + { + "name": "Eryone PETG-Lite @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PETG-Lite @Thinker X400 0.4 nozzle.json" + }, + { + "name": "Eryone PETG-Matte @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PETG-Matte @Thinker X400 0.4 nozzle.json" + }, + { + "name": "Eryone PETG-Translucent @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PETG-Translucent @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone PLA", "sub_path": "filament/Eryone PLA.json" }, + { + "name": "Eryone PLA+HS @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PLA+HS @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone PLA-CF", "sub_path": "filament/Eryone PLA-CF.json" }, + { + "name": "Eryone PLA-Matte @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PLA-Matte @Thinker X400 0.4 nozzle.json" + }, + { + "name": "Eryone PLA-Matte HS @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone PLA-Matte HS @Thinker X400 0.4 nozzle.json" + }, { "name": "Eryone PP", "sub_path": "filament/Eryone PP.json" @@ -488,6 +532,14 @@ "name": "Eryone TPU", "sub_path": "filament/Eryone TPU.json" }, + { + "name": "Eryone petg-Galaxy @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone petg-Galaxy @Thinker X400 0.4 nozzle.json" + }, + { + "name": "Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle", + "sub_path": "filament/Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle.json" + }, { "name": "fdm_filament_pla", "sub_path": "filament/fdm_filament_pla.json" diff --git a/resources/profiles/Eryone/filament/Eryone ABS+-HS @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone ABS+-HS @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..fb0f39861c --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone ABS+-HS @Thinker X400 0.4 nozzle.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Eryone ABS+-HS @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "aUH1I90BFXa0C84r", + "filament_id": "OFRgjTRp", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone ABS+-HS @Thinker X400 0.4 nozzle" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "ABS" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone ABS-GF @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone ABS-GF @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..f3ff63ea2d --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone ABS-GF @Thinker X400 0.4 nozzle.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Eryone ABS-GF @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "WnsZC7HYi5Z1MOcn", + "filament_id": "OFenMm2Y", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone ABS-GF @Thinker X400 0.4 nozzle" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "ABS" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone ASA-HS @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone ASA-HS @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..40b5d6da1b --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone ASA-HS @Thinker X400 0.4 nozzle.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Eryone ASA-HS @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "xw8zqUsFb2WVaSo1", + "filament_id": "OFIzY5sP", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone ASA-HS @Thinker X400 0.4 nozzle" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "ASA" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PETG HS @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PETG HS @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..d0716a6d94 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PETG HS @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone PETG HS @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "GtPiiNgHAnxrR9Tj", + "filament_id": "OFtqfvcE", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PETG HS @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PETG-CF.json b/resources/profiles/Eryone/filament/Eryone PETG-CF.json index 3dc02ddf00..c0823b73fe 100644 --- a/resources/profiles/Eryone/filament/Eryone PETG-CF.json +++ b/resources/profiles/Eryone/filament/Eryone PETG-CF.json @@ -40,7 +40,7 @@ "14" ], "filament_settings_id": [ - "Eryone PETG" + "Eryone PETG-CF" ], "filament_type": [ "PETG-CF" diff --git a/resources/profiles/Eryone/filament/Eryone PETG-GF @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PETG-GF @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..0bdb2eacd3 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PETG-GF @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone PETG-GF @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "S1FBfw93PzYJMhCa", + "filament_id": "OFbzOkXX", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PETG-GF @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PETG-Lite @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PETG-Lite @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..d23aeae081 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PETG-Lite @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone PETG-Lite @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "CWHhUswq3j9XHAuC", + "filament_id": "OFyWb8AA", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PETG-Lite @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.9796" + ], + "filament_max_volumetric_speed": [ + "13" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PETG-Matte @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PETG-Matte @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..5d7793b549 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PETG-Matte @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone PETG-Matte @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "pzceBG5k2u3X9TLO", + "filament_id": "OFSvr7Aj", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PETG-Matte @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PETG-Translucent @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PETG-Translucent @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..f195328495 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PETG-Translucent @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone PETG-Translucent @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "jN64L5SUnQB5dG1x", + "filament_id": "OFY2E8cd", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PETG-Translucent @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PLA+HS @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PLA+HS @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..13708aa4c4 --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PLA+HS @Thinker X400 0.4 nozzle.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Eryone PLA+HS @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "AfUEns6VhCXsj9Ft", + "filament_id": "OFeRoHy3", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PLA+HS @Thinker X400 0.4 nozzle" + ], + "fan_min_speed": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PLA-Matte @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PLA-Matte @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..f4d0667f5f --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PLA-Matte @Thinker X400 0.4 nozzle.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Eryone PLA-Matte @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "Ho1nQYsweqTTte0g", + "filament_id": "OFFMWFWL", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PLA-Matte @Thinker X400 0.4 nozzle" + ], + "fan_min_speed": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone PLA-Matte HS @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone PLA-Matte HS @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..4a705e04bd --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone PLA-Matte HS @Thinker X400 0.4 nozzle.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Eryone PLA-Matte HS @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "8W0yhuRu7OBJkSOS", + "filament_id": "OF9mNFSM", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone PLA-Matte HS @Thinker X400 0.4 nozzle" + ], + "fan_min_speed": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "28" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone Standard PLA.json b/resources/profiles/Eryone/filament/Eryone Standard PLA.json index 103bb592d5..5b06b12ef6 100644 --- a/resources/profiles/Eryone/filament/Eryone Standard PLA.json +++ b/resources/profiles/Eryone/filament/Eryone Standard PLA.json @@ -90,9 +90,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -165,9 +162,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Eryone/filament/Eryone petg-Galaxy @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone petg-Galaxy @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..e0cbb34d8e --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone petg-Galaxy @Thinker X400 0.4 nozzle.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Eryone petg-Galaxy @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "R4BPYs8aAc9DFf0n", + "filament_id": "OFWDDu8u", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone petg-Galaxy @Thinker X400 0.4 nozzle" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/filament/Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/filament/Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle.json new file mode 100644 index 0000000000..0801863e0e --- /dev/null +++ b/resources/profiles/Eryone/filament/Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle", + "inherits": "Eryone Standard PLA", + "from": "system", + "setting_id": "jCbto64oaAKrDaN0", + "filament_id": "OF99Cc22", + "instantiation": "true", + "compatible_printers": [ + "Thinker X400 0.4 nozzle" + ], + "filament_settings_id": [ + "Eryone pla-Ultra Silk @Thinker X400 0.4 nozzle" + ], + "fan_min_speed": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \nSET_FAN_SPEED FAN=filter_fan SPEED=0" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_start_gcode": [ + "; filament start gcode\nSET_FAN_SPEED FAN=filter_fan SPEED=1" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "15" + ] +} diff --git a/resources/profiles/Eryone/machine/ER20/Eryone ER20.json b/resources/profiles/Eryone/machine/ER20/Eryone ER20.json index 26d223d2f1..c555d904dc 100644 --- a/resources/profiles/Eryone/machine/ER20/Eryone ER20.json +++ b/resources/profiles/Eryone/machine/ER20/Eryone ER20.json @@ -5,6 +5,7 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Eryone ER20", + "default_materials": "Generic PLA @System", "name": "Eryone ER20", "nozzle_diameter": "0.4;0.2;0.5;0.6;0.8", "type": "machine_model" diff --git a/resources/profiles/Eryone/machine/ER20_Klipper/Eryone ER20 Klipper.json b/resources/profiles/Eryone/machine/ER20_Klipper/Eryone ER20 Klipper.json index 2dcf3d7882..11d48a7859 100644 --- a/resources/profiles/Eryone/machine/ER20_Klipper/Eryone ER20 Klipper.json +++ b/resources/profiles/Eryone/machine/ER20_Klipper/Eryone ER20 Klipper.json @@ -6,6 +6,7 @@ "hotend_model": "", "machine_tech": "FFF", "model_id": "Eryone ER20 Klipper", + "default_materials": "Generic PLA @System", "name": "Eryone ER20 Klipper", "nozzle_diameter": "0.4;0.2;0.5;0.6;0.8", "type": "machine_model", diff --git a/resources/profiles/Eryone/machine/Thinker X400 0.4 nozzle.json b/resources/profiles/Eryone/machine/Thinker X400 0.4 nozzle.json index f45febbdbb..20f82b5fa9 100644 --- a/resources/profiles/Eryone/machine/Thinker X400 0.4 nozzle.json +++ b/resources/profiles/Eryone/machine/Thinker X400 0.4 nozzle.json @@ -182,7 +182,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Eryone/machine/Thinker X400.json b/resources/profiles/Eryone/machine/Thinker X400.json index 8293d5693e..66bd0888de 100644 --- a/resources/profiles/Eryone/machine/Thinker X400.json +++ b/resources/profiles/Eryone/machine/Thinker X400.json @@ -8,5 +8,5 @@ "bed_model": "X400_bed.stl", "bed_texture": "Thinker_texture.svg", "hotend_model": "", - "default_materials": "Eryone PLA;Eryone ABS;Eryone ASA;Eryone PETG;Eryone Silk PLA;Eryone TPU;Eryone ABS-CF;Eryone ASA-CF;Eryone PA;Eryone PA-CF;Eryone PA-GF;Eryone PETG-CF;Eryone PLA-CF;Eryone PP;Eryone PP-CF" + "default_materials": "Eryone PLA;Eryone ABS;Eryone ASA;Eryone PETG;Eryone Silk PLA;Eryone TPU;Eryone ABS-CF;Eryone ASA-CF;Eryone PA;Eryone PA-CF;Eryone PA-GF;Eryone PETG-CF;Eryone PLA-CF;Eryone PP;Eryone PP-CF;Eryone PLA @0.2 nozzle" } diff --git a/resources/profiles/Eryone/machine/fdm_machine_common.json b/resources/profiles/Eryone/machine/fdm_machine_common.json index 517cbdd10d..5d0c5e680c 100644 --- a/resources/profiles/Eryone/machine/fdm_machine_common.json +++ b/resources/profiles/Eryone/machine/fdm_machine_common.json @@ -141,7 +141,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_Klipper_common.json b/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_Klipper_common.json index e6cb922e70..82df729a08 100644 --- a/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_Klipper_common.json +++ b/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_Klipper_common.json @@ -115,7 +115,6 @@ "retraction_speed": [ "25" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_common.json b/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_common.json index 6e0d263b6a..3152866ae3 100644 --- a/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_common.json +++ b/resources/profiles/Eryone/machine/fdm_machine_eryone_ER20_common.json @@ -132,7 +132,6 @@ "50" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json b/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json index 588628cfab..311167c579 100644 --- a/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json +++ b/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json @@ -113,7 +113,6 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Eryone/process/eryone_ER20/0.12mm High Quality @Eryone ER20.json b/resources/profiles/Eryone/process/eryone_ER20/0.12mm High Quality @Eryone ER20.json index bb5638f010..158064d7bb 100644 --- a/resources/profiles/Eryone/process/eryone_ER20/0.12mm High Quality @Eryone ER20.json +++ b/resources/profiles/Eryone/process/eryone_ER20/0.12mm High Quality @Eryone ER20.json @@ -1,12 +1,13 @@ { + "type": "process", + "name": "0.12mm High Quality @Eryone ER20", + "inherits": "fdm_process_ER20_0.12", + "from": "system", + "setting_id": "H7ODK5fAAYDUoeSH", + "instantiation": "true", "compatible_printers": [ "Eryone ER20 0.4 nozzle" ], - "from": "system", - "inherits": "fdm_process_ER20_0.12", - "setting_id": "H7ODK5fAAYDUoeSH", - "instantiation": "true", - "name": "0.12mm High Quality @Eryone ER20", "sparse_infill_pattern": "gyroid", "overhang_1_4_speed": "60", "overhang_2_4_speed": "30", @@ -14,7 +15,5 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "type": "process" + "overhang_reverse_threshold": "50%" } diff --git a/resources/profiles/Eryone/process/eryone_ER20/0.16mm Optimal @Eryone ER20.json b/resources/profiles/Eryone/process/eryone_ER20/0.16mm Optimal @Eryone ER20.json index c59e1da21f..413d651249 100644 --- a/resources/profiles/Eryone/process/eryone_ER20/0.16mm Optimal @Eryone ER20.json +++ b/resources/profiles/Eryone/process/eryone_ER20/0.16mm Optimal @Eryone ER20.json @@ -1,12 +1,13 @@ { + "type": "process", + "name": "0.16mm Optimal @Eryone ER20", + "inherits": "fdm_process_ER20_0.16", + "from": "system", + "setting_id": "T7CLbKpkDxOdqBWk", + "instantiation": "true", "compatible_printers": [ "Eryone ER20 0.4 nozzle" ], - "from": "system", - "inherits": "fdm_process_ER20_0.16", - "setting_id": "T7CLbKpkDxOdqBWk", - "instantiation": "true", - "name": "0.16mm Optimal @Eryone ER20", "sparse_infill_pattern": "gyroid", "overhang_1_4_speed": "60", "overhang_2_4_speed": "30", @@ -14,7 +15,5 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "type": "process" + "overhang_reverse_threshold": "50%" } diff --git a/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.12mm High Quality @Eryone ER20 Klipper.json b/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.12mm High Quality @Eryone ER20 Klipper.json index bd685a42c6..8fb5c24641 100644 --- a/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.12mm High Quality @Eryone ER20 Klipper.json +++ b/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.12mm High Quality @Eryone ER20 Klipper.json @@ -1,12 +1,13 @@ { + "type": "process", + "name": "0.12mm High Quality @Eryone ER20 Klipper", + "inherits": "fdm_process_ER20_Klipper_0.12", + "from": "system", + "setting_id": "FdNIlqPmjcMxniJL", + "instantiation": "true", "compatible_printers": [ "Eryone ER20 Klipper 0.4 nozzle" ], - "from": "system", - "inherits": "fdm_process_ER20_Klipper_0.12", - "setting_id": "FdNIlqPmjcMxniJL", - "instantiation": "true", - "name": "0.12mm High Quality @Eryone ER20 Klipper", "sparse_infill_pattern": "gyroid", "overhang_1_4_speed": "60", "overhang_2_4_speed": "30", @@ -14,7 +15,5 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "type": "process" + "overhang_reverse_threshold": "50%" } diff --git a/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.16mm Optimal @Eryone ER20 Klipper.json b/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.16mm Optimal @Eryone ER20 Klipper.json index 0526d10668..8c3faa69d7 100644 --- a/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.16mm Optimal @Eryone ER20 Klipper.json +++ b/resources/profiles/Eryone/process/eryone_ER20_Klipper/0.16mm Optimal @Eryone ER20 Klipper.json @@ -1,12 +1,13 @@ { + "type": "process", + "name": "0.16mm Optimal @Eryone ER20 Klipper", + "inherits": "fdm_process_ER20_Klipper_0.16", + "from": "system", + "setting_id": "T6D9ljLTeYJNh7LY", + "instantiation": "true", "compatible_printers": [ "Eryone ER20 Klipper 0.4 nozzle" ], - "from": "system", - "inherits": "fdm_process_ER20_Klipper_0.16", - "setting_id": "T6D9ljLTeYJNh7LY", - "instantiation": "true", - "name": "0.16mm Optimal @Eryone ER20 Klipper", "sparse_infill_pattern": "gyroid", "overhang_1_4_speed": "60", "overhang_2_4_speed": "30", @@ -14,7 +15,5 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_internal_only": "0", - "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", - "type": "process" + "overhang_reverse_threshold": "50%" } diff --git a/resources/profiles/Eryone/process/fdm_process_common.json b/resources/profiles/Eryone/process/fdm_process_common.json index 3fd9decf3f..d724d1b629 100644 --- a/resources/profiles/Eryone/process/fdm_process_common.json +++ b/resources/profiles/Eryone/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -78,7 +77,6 @@ "support_object_xy_distance": "2.5", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", diff --git a/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json b/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json index c4d744f31e..c628cbd726 100644 --- a/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json +++ b/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json @@ -5,7 +5,6 @@ "instantiation": "false", "accel_to_decel_enable": "1", "accel_to_decel_factor": "50%", - "adaptive_layer_height": "0", "alternate_extra_wall": "0", "bottom_shell_layers": "4", "bottom_shell_thickness": "0", @@ -62,7 +61,6 @@ "inner_wall_line_width": "0.45", "inner_wall_speed": "80", "interface_shells": "0", - "internal_bridge_support_thickness": "0.8", "internal_bridge_angle": "0", "internal_bridge_density": "100%", "internal_bridge_flow": "1", @@ -99,7 +97,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "precise_outer_wall": "1", "precise_z_height": "1", "preheat_time": "30", @@ -131,7 +128,6 @@ "single_extruder_multi_material_priming": "1", "single_loop_draft_shield": "0", "skirt_loops": "0", - "smooth_coefficient": "80", "slow_down_layers": "1", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", diff --git a/resources/profiles/FLSun.json b/resources/profiles/FLSun.json index 1e0c76d458..36d0129015 100644 --- a/resources/profiles/FLSun.json +++ b/resources/profiles/FLSun.json @@ -1,6 +1,6 @@ { "name": "FLSun", - "version": "02.04.00.03", + "version": "02.04.00.04", "force_update": "0", "description": "FLSun configurations", "machine_model_list": [ @@ -244,26 +244,10 @@ "name": "Generic PLA @FLSun S1", "sub_path": "filament/Generic PLA @FLSun S1.json" }, - { - "name": "Generic PLA High Speed @FLSun S1", - "sub_path": "filament/Generic PLA High Speed @FLSun S1.json" - }, - { - "name": "Generic PLA Silk @FLSun S1", - "sub_path": "filament/Generic PLA Silk @FLSun S1.json" - }, { "name": "Generic PLA @FLSun T1", "sub_path": "filament/Generic PLA @FLSun T1.json" }, - { - "name": "Generic PLA High Speed @FLSun T1", - "sub_path": "filament/Generic PLA High Speed @FLSun T1.json" - }, - { - "name": "Generic PLA Silk @FLSun T1", - "sub_path": "filament/Generic PLA Silk @FLSun T1.json" - }, { "name": "Generic TPU @FLSun S1", "sub_path": "filament/Generic TPU @FLSun S1.json" @@ -271,6 +255,22 @@ { "name": "Generic TPU @FLSun T1", "sub_path": "filament/Generic TPU @FLSun T1.json" + }, + { + "name": "Generic PLA High Speed @FLSun S1", + "sub_path": "filament/Generic PLA High Speed @FLSun S1.json" + }, + { + "name": "Generic PLA High Speed @FLSun T1", + "sub_path": "filament/Generic PLA High Speed @FLSun T1.json" + }, + { + "name": "Generic PLA Silk @FLSun S1", + "sub_path": "filament/Generic PLA Silk @FLSun S1.json" + }, + { + "name": "Generic PLA Silk @FLSun T1", + "sub_path": "filament/Generic PLA Silk @FLSun T1.json" } ], "machine_list": [ diff --git a/resources/profiles/FLSun/machine/fdm_machine_common.json b/resources/profiles/FLSun/machine/fdm_machine_common.json index df5041bb50..11f5a9e934 100644 --- a/resources/profiles/FLSun/machine/fdm_machine_common.json +++ b/resources/profiles/FLSun/machine/fdm_machine_common.json @@ -126,7 +126,6 @@ "deretraction_speed": [ "30" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json index 6279861202..0b5512970a 100644 --- a/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "pIcVuwwQ8EWmPKgZ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.08", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json index 391b7743a1..90320d5dc3 100644 --- a/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Ypz6DmDfVK0nHsGe", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.08", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json index 03a66178ad..9b4585d43c 100644 --- a/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "WMx2mtWIuLTNAPHS", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.08", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json index 5c9f752ee6..a28bf094f4 100644 --- a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "TZdqXwp7bC2m9tpO", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json index 2d5e2ab82b..45f0558cae 100644 --- a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "HVdXArEX5vgTZkQK", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json index 6b33217ea2..df47580b4d 100644 --- a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "tqesgSzTbrfXG1mY", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json index d9c7f3799b..f6796345a4 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "CUzDbhgZMATkwFSg", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json index a4ec969711..692b394d94 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "FV3PZ6zjZP5chJlp", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json index 478126620d..41627d8ab0 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "EzioqGPSbnBNftNw", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json index 66b5bc2fe6..f6a220ad6c 100644 --- a/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "PjpsLsUYSt1jfY7G", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json index 92ef6cc2e4..578adb54ee 100644 --- a/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "9mHQwwo6UoNaD07z", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json index 3ab6730d9c..db0a84e5f7 100644 --- a/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ehSWBo2Q9G7QS3Wt", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.24", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json index 2c2f123e71..c729094bb6 100644 --- a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "iEXqwmSaxdLWpN8K", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json index e1e50c074e..356c2830c9 100644 --- a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fJPwsjRdFJRka84X", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json index 1c1917adc2..387fe3edb3 100644 --- a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "kOtY4iPbqQlkQPef", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/FLSun/process/fdm_process_common.json b/resources/profiles/FLSun/process/fdm_process_common.json index 8371968b2e..47666d8d16 100644 --- a/resources/profiles/FLSun/process/fdm_process_common.json +++ b/resources/profiles/FLSun/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -78,7 +77,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json index f3923c435a..40e37cba03 100644 --- a/resources/profiles/Flashforge.json +++ b/resources/profiles/Flashforge.json @@ -1,7 +1,7 @@ { "name": "Flashforge", "url": "", - "version": "02.04.00.05", + "version": "02.04.00.10", "force_update": "0", "description": "Flashforge configurations", "machine_model_list": [ @@ -25,6 +25,10 @@ "name": "Flashforge Adventurer 5M Pro", "sub_path": "machine/Flashforge Adventurer 5M Pro.json" }, + { + "name": "Flashforge Adventurer A5", + "sub_path": "machine/Flashforge Adventurer A5.json" + }, { "name": "Flashforge Artemis", "sub_path": "machine/Flashforge Artemis.json" @@ -199,6 +203,10 @@ "name": "0.20mm Standard @FF AD5X", "sub_path": "process/0.20mm Standard @FF AD5X.json" }, + { + "name": "0.20mm Standard @FF Adventurer A5 0.4 nozzle", + "sub_path": "process/0.20mm Standard @FF Adventurer A5 0.4 nozzle.json" + }, { "name": "0.20mm Standard @FF C5", "sub_path": "process/0.20mm Standard @FF C5.json" @@ -311,6 +319,10 @@ "name": "0.30mm Standard @FF AD5X 0.6 nozzle", "sub_path": "process/0.30mm Standard @FF AD5X 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @FF Adventurer A5 0.6 nozzle", + "sub_path": "process/0.30mm Standard @FF Adventurer A5 0.6 nozzle.json" + }, { "name": "0.40mm Standard @Flashforge AD5M Pro 0.8 Nozzle", "sub_path": "process/0.40mm Standard @Flashforge AD5M Pro 0.8 Nozzle.json" @@ -443,6 +455,10 @@ "name": "0.14mm Standard @Flashforge AD5M 0.25 Nozzle", "sub_path": "process/0.14mm Standard @Flashforge AD5M 0.25 Nozzle.json" }, + { + "name": "0.12mm Fine @FF Adventurer A5 0.4 nozzle", + "sub_path": "process/0.12mm Fine @FF Adventurer A5 0.4 nozzle.json" + }, { "name": "0.06mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "sub_path": "process/0.06mm Standard @Flashforge AD5M Pro 0.25 Nozzle.json" @@ -463,6 +479,10 @@ "name": "0.10mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "sub_path": "process/0.10mm Standard @Flashforge AD5M Pro 0.25 Nozzle.json" }, + { + "name": "0.12mm Standard @FF Adventurer A5 0.25 nozzle", + "sub_path": "process/0.12mm Standard @FF Adventurer A5 0.25 nozzle.json" + }, { "name": "0.12mm Standard @FF G4 0.25 nozzle", "sub_path": "process/0.12mm Standard @FF G4 0.25 nozzle.json" @@ -483,6 +503,10 @@ "name": "0.14mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "sub_path": "process/0.14mm Standard @Flashforge AD5M Pro 0.25 Nozzle.json" }, + { + "name": "0.24mm Draft @FF Adventurer A5 0.4 nozzle", + "sub_path": "process/0.24mm Draft @FF Adventurer A5 0.4 nozzle.json" + }, { "name": "0.24mm Fine @Flashforge AD5M 0.8 Nozzle", "sub_path": "process/0.24mm Fine @Flashforge AD5M 0.8 Nozzle.json" @@ -495,6 +519,10 @@ "name": "0.18mm Fine @FF AD5X 0.6 nozzle", "sub_path": "process/0.18mm Fine @FF AD5X 0.6 nozzle.json" }, + { + "name": "0.18mm Fine @FF Adventurer A5 0.6 nozzle", + "sub_path": "process/0.18mm Fine @FF Adventurer A5 0.6 nozzle.json" + }, { "name": "0.24mm Fine @Flashforge AD5M Pro 0.8 Nozzle", "sub_path": "process/0.24mm Fine @Flashforge AD5M Pro 0.8 Nozzle.json" @@ -503,6 +531,10 @@ "name": "0.40mm Standard @FF AD5X 0.8 nozzle", "sub_path": "process/0.40mm Standard @FF AD5X 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @FF Adventurer A5 0.8 nozzle", + "sub_path": "process/0.40mm Standard @FF Adventurer A5 0.8 nozzle.json" + }, { "name": "0.56mm Draft @Flashforge AD5M Pro 0.8 Nozzle", "sub_path": "process/0.56mm Draft @Flashforge AD5M Pro 0.8 Nozzle.json" @@ -511,13 +543,57 @@ "name": "0.42mm Draft @FF AD5X 0.6 nozzle", "sub_path": "process/0.42mm Draft @FF AD5X 0.6 nozzle.json" }, + { + "name": "0.42mm Draft @FF Adventurer A5 0.6 nozzle", + "sub_path": "process/0.42mm Draft @FF Adventurer A5 0.6 nozzle.json" + }, + { + "name": "0.08mm Standard @FF C5 0.25 nozzle", + "sub_path": "process/0.08mm Standard @FF C5 0.25 nozzle.json" + }, + { + "name": "0.10mm Standard @FF C5 0.25 nozzle", + "sub_path": "process/0.10mm Standard @FF C5 0.25 nozzle.json" + }, + { + "name": "0.12mm Standard @FF C5 0.25 nozzle", + "sub_path": "process/0.12mm Standard @FF C5 0.25 nozzle.json" + }, + { + "name": "0.14mm Standard @FF C5 0.25 nozzle", + "sub_path": "process/0.14mm Standard @FF C5 0.25 nozzle.json" + }, + { + "name": "0.06mm Standard @FF Adventurer A5 0.25 nozzle", + "sub_path": "process/0.06mm Standard @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "0.08mm Standard @FF Adventurer A5 0.25 nozzle", + "sub_path": "process/0.08mm Standard @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "0.10mm Standard @FF Adventurer A5 0.25 nozzle", + "sub_path": "process/0.10mm Standard @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "0.14mm Standard @FF Adventurer A5 0.25 nozzle", + "sub_path": "process/0.14mm Standard @FF Adventurer A5 0.25 nozzle.json" + }, { "name": "0.24mm Fine @FF AD5X 0.8 nozzle", "sub_path": "process/0.24mm Fine @FF AD5X 0.8 nozzle.json" }, + { + "name": "0.24mm Fine @FF Adventurer A5 0.8 nozzle", + "sub_path": "process/0.24mm Fine @FF Adventurer A5 0.8 nozzle.json" + }, { "name": "0.56mm Draft @FF AD5X 0.8 nozzle", "sub_path": "process/0.56mm Draft @FF AD5X 0.8 nozzle.json" + }, + { + "name": "0.56mm Draft @FF Adventurer A5 0.8 nozzle", + "sub_path": "process/0.56mm Draft @FF Adventurer A5 0.8 nozzle.json" } ], "filament_list": [ @@ -557,26 +633,30 @@ "name": "Generic ASA @Flashforge", "sub_path": "filament/Generic ASA @Flashforge.json" }, - { - "name": "Generic PETG @Flashforge", - "sub_path": "filament/Generic PETG @Flashforge.json" - }, - { - "name": "Generic PETG-CF10 @Flashforge", - "sub_path": "filament/Generic PETG-CF10 @Flashforge.json" - }, { "name": "Flashforge PETG", "sub_path": "filament/Flashforge/Flashforge PETG @FF AD3.json" }, + { + "name": "Generic PETG @Flashforge", + "sub_path": "filament/Generic PETG @Flashforge.json" + }, { "name": "Generic PETG @Flashforge Artemis", "sub_path": "filament/Flashforge Generic PETG @Flashforge Artemis.json" }, + { + "name": "Generic PETG-CF10 @Flashforge", + "sub_path": "filament/Generic PETG-CF10 @Flashforge.json" + }, { "name": "SUNLU PETG @base", "sub_path": "filament/SUNLU/SUNLU PETG @base.json" }, + { + "name": "Flashforge PLA", + "sub_path": "filament/Flashforge/Flashforge PLA @FF AD3.json" + }, { "name": "Generic HS PLA @Flashforge", "sub_path": "filament/Generic HS PLA @Flashforge.json" @@ -593,10 +673,6 @@ "name": "Generic PLA-Silk @Flashforge", "sub_path": "filament/Generic PLA-Silk @Flashforge.json" }, - { - "name": "Flashforge PLA", - "sub_path": "filament/Flashforge/Flashforge PLA @FF AD3.json" - }, { "name": "SUNLU PLA Marble @base", "sub_path": "filament/SUNLU/SUNLU PLA Marble @base.json" @@ -645,6 +721,10 @@ "name": "Flashforge ABS Basic @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge ABS Basic @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge ABS Basic @FF Adventurer A5", + "sub_path": "filament/Flashforge ABS Basic @FF Adventurer A5.json" + }, { "name": "Flashforge ABS Basic @FF G4", "sub_path": "filament/Flashforge ABS Basic @FF G4.json" @@ -693,6 +773,10 @@ "name": "Generic ABS @FF AD5M 0.25 Nozzle", "sub_path": "filament/Generic ABS @FF AD5M 0.25 Nozzle.json" }, + { + "name": "Generic ABS @Flashforge AD4", + "sub_path": "filament/Generic ABS @Flashforge AD4.json" + }, { "name": "Generic ABS @Flashforge G3U", "sub_path": "filament/Generic ABS @Flashforge G3U.json" @@ -713,10 +797,6 @@ "name": "Generic HIPS @Flashforge G3U 0.6 Nozzle", "sub_path": "filament/Generic HIPS @Flashforge G3U 0.6 Nozzle.json" }, - { - "name": "Generic ABS @Flashforge AD4", - "sub_path": "filament/Generic ABS @Flashforge AD4.json" - }, { "name": "Flashforge ASA @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge ASA @FF AD5M 0.25 Nozzle.json" @@ -726,44 +806,20 @@ "sub_path": "filament/Flashforge ASA Basic.json" }, { - "name": "Generic ASA @FF AD5M 0.25 Nozzle", - "sub_path": "filament/Generic ASA @FF AD5M 0.25 Nozzle.json" + "name": "Flashforge ASA Basic @FF Adventurer A5", + "sub_path": "filament/Flashforge ASA Basic @FF Adventurer A5.json" }, { - "name": "Generic ASA @Flashforge G3U 0.6 Nozzle", - "sub_path": "filament/Generic ASA @Flashforge G3U 0.6 Nozzle.json" + "name": "Generic ASA @FF AD5M 0.25 Nozzle", + "sub_path": "filament/Generic ASA @FF AD5M 0.25 Nozzle.json" }, { "name": "Generic ASA @Flashforge AD4", "sub_path": "filament/Generic ASA @Flashforge AD4.json" }, { - "name": "Generic PETG @FF AD5M 0.25 Nozzle", - "sub_path": "filament/Generic PETG @FF AD5M 0.25 Nozzle.json" - }, - { - "name": "Generic PETG @Flashforge G3U", - "sub_path": "filament/Generic PETG @Flashforge G3U.json" - }, - { - "name": "Generic PETG @Flashforge G3U 0.6 Nozzle", - "sub_path": "filament/Generic PETG @Flashforge G3U 0.6 Nozzle.json" - }, - { - "name": "Generic PETG @Flashforge G3U 0.8 Nozzle", - "sub_path": "filament/Generic PETG @Flashforge G3U 0.8 Nozzle.json" - }, - { - "name": "Generic PETG-CF @Flashforge G3U", - "sub_path": "filament/Generic PETG-CF @Flashforge G3U.json" - }, - { - "name": "Generic PETG-CF @Flashforge G3U 0.6 Nozzle", - "sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.6 Nozzle.json" - }, - { - "name": "Generic PETG-CF @Flashforge G3U 0.8 Nozzle", - "sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.8 Nozzle.json" + "name": "Generic ASA @Flashforge G3U 0.6 Nozzle", + "sub_path": "filament/Generic ASA @Flashforge G3U 0.6 Nozzle.json" }, { "name": "Flashforge HS PETG", @@ -781,6 +837,10 @@ "name": "Flashforge HS PETG @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge HS PETG @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge HS PETG @FF Adventurer A5", + "sub_path": "filament/Flashforge HS PETG @FF Adventurer A5.json" + }, { "name": "Flashforge HS PETG @FF G4", "sub_path": "filament/Flashforge HS PETG @FF G4.json" @@ -813,6 +873,10 @@ "name": "Flashforge PETG Pro @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge PETG Pro @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge PETG Pro @FF Adventurer A5", + "sub_path": "filament/Flashforge PETG Pro @FF Adventurer A5.json" + }, { "name": "Flashforge PETG Pro @FF G4", "sub_path": "filament/Flashforge PETG Pro @FF G4.json" @@ -837,6 +901,10 @@ "name": "Flashforge PETG Transparent @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge PETG Transparent @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge PETG Transparent @FF Adventurer A5", + "sub_path": "filament/Flashforge PETG Transparent @FF Adventurer A5.json" + }, { "name": "Flashforge PETG Transparent @FF G4", "sub_path": "filament/Flashforge PETG Transparent @FF G4.json" @@ -889,10 +957,38 @@ "name": "FusRock S-PAHT @G3U 0.6 Nozzle", "sub_path": "filament/FusRock/FusRock S-PAHT @G3U 0.6 Nozzle.json" }, + { + "name": "Generic PETG @FF AD5M 0.25 Nozzle", + "sub_path": "filament/Generic PETG @FF AD5M 0.25 Nozzle.json" + }, { "name": "Generic PETG @Flashforge AD4", "sub_path": "filament/Generic PETG @Flashforge AD4.json" }, + { + "name": "Generic PETG @Flashforge G3U", + "sub_path": "filament/Generic PETG @Flashforge G3U.json" + }, + { + "name": "Generic PETG @Flashforge G3U 0.6 Nozzle", + "sub_path": "filament/Generic PETG @Flashforge G3U 0.6 Nozzle.json" + }, + { + "name": "Generic PETG @Flashforge G3U 0.8 Nozzle", + "sub_path": "filament/Generic PETG @Flashforge G3U 0.8 Nozzle.json" + }, + { + "name": "Generic PETG-CF @Flashforge G3U", + "sub_path": "filament/Generic PETG-CF @Flashforge G3U.json" + }, + { + "name": "Generic PETG-CF @Flashforge G3U 0.6 Nozzle", + "sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.6 Nozzle.json" + }, + { + "name": "Generic PETG-CF @Flashforge G3U 0.8 Nozzle", + "sub_path": "filament/Generic PETG-CF @Flashforge G3U 0.8 Nozzle.json" + }, { "name": "Flashforge PETG-CF", "sub_path": "filament/Flashforge PETG-CF.json" @@ -909,6 +1005,10 @@ "name": "Flashforge PETG-CF @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge PETG-CF @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge PETG-CF @FF Adventurer A5", + "sub_path": "filament/Flashforge PETG-CF @FF Adventurer A5.json" + }, { "name": "Generic PETG-CF10 @Flashforge AD4", "sub_path": "filament/Generic PETG-CF10 @Flashforge AD4.json" @@ -929,10 +1029,6 @@ "name": "SUNLU PETG @FF AD5M 0.8 Nozzle", "sub_path": "filament/SUNLU/SUNLU PETG @FF AD5M 0.8 nozzle.json" }, - { - "name": "Generic HS PLA @FF AD5M 0.25 Nozzle", - "sub_path": "filament/Generic HS PLA @FF AD5M 0.25 Nozzle.json" - }, { "name": "Flashforge HIPS @FF G4", "sub_path": "filament/Flashforge HIPS @FF G4.json" @@ -1033,14 +1129,218 @@ "name": "Flashforge PLA-CF @FF G4P", "sub_path": "filament/Flashforge PLA-CF @FF G4P.json" }, + { + "name": "Generic HS PLA @FF AD5M 0.25 Nozzle", + "sub_path": "filament/Generic HS PLA @FF AD5M 0.25 Nozzle.json" + }, { "name": "Generic PLA High Speed @Flashforge AD4", "sub_path": "filament/Generic PLA High Speed @Flashforge AD4.json" }, + { + "name": "Flashforge HS PLA", + "sub_path": "filament/Flashforge HS PLA.json" + }, + { + "name": "Flashforge HS PLA @FF AD5X", + "sub_path": "filament/Flashforge HS PLA @FF AD5X.json" + }, + { + "name": "Flashforge HS PLA @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF Adventurer A5", + "sub_path": "filament/Flashforge HS PLA @FF Adventurer A5.json" + }, + { + "name": "Flashforge HS PLA+ @FF Adventurer A5", + "sub_path": "filament/Flashforge HS PLA+ @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA @FF AD5M 0.25 Nozzle", + "sub_path": "filament/Flashforge PLA @FF AD5M 0.25 Nozzle.json" + }, + { + "name": "Flashforge PLA Basic", + "sub_path": "filament/Flashforge PLA Basic.json" + }, + { + "name": "Flashforge PLA Basic @FF AD5X", + "sub_path": "filament/Flashforge PLA Basic @FF AD5X.json" + }, + { + "name": "Flashforge PLA Basic @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Basic @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Color Change", + "sub_path": "filament/Flashforge PLA Color Change.json" + }, + { + "name": "Flashforge PLA Color Change @FF AD5X", + "sub_path": "filament/Flashforge PLA Color Change @FF AD5X.json" + }, + { + "name": "Flashforge PLA Color Change @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Color Change @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Galaxy", + "sub_path": "filament/Flashforge PLA Galaxy.json" + }, + { + "name": "Flashforge PLA Galaxy @FF AD5X", + "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X.json" + }, + { + "name": "Flashforge PLA Galaxy @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Galaxy @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA LITE @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA LITE @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Luminous", + "sub_path": "filament/Flashforge PLA Luminous.json" + }, + { + "name": "Flashforge PLA Luminous @FF AD5X", + "sub_path": "filament/Flashforge PLA Luminous @FF AD5X.json" + }, + { + "name": "Flashforge PLA Luminous @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Luminous @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Matte", + "sub_path": "filament/Flashforge PLA Matte.json" + }, + { + "name": "Flashforge PLA Matte @FF AD5X", + "sub_path": "filament/Flashforge PLA Matte @FF AD5X.json" + }, + { + "name": "Flashforge PLA Matte @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Matte @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Metal", + "sub_path": "filament/Flashforge PLA Metal.json" + }, + { + "name": "Flashforge PLA Metal @FF AD5X", + "sub_path": "filament/Flashforge PLA Metal @FF AD5X.json" + }, + { + "name": "Flashforge PLA Metal @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Metal @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Pro", + "sub_path": "filament/Flashforge PLA Pro.json" + }, + { + "name": "Flashforge PLA Pro @FF AD5X", + "sub_path": "filament/Flashforge PLA Pro @FF AD5X.json" + }, + { + "name": "Flashforge PLA Pro @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Pro @FF Adventurer A5.json" + }, + { + "name": "Flashforge PLA Sparkle", + "sub_path": "filament/Flashforge PLA Sparkle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF AD5X", + "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X.json" + }, + { + "name": "Flashforge PLA Sparkle @FF AD5X 0.6 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.6 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF AD5X 0.8 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.8 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Sparkle @FF Adventurer A5.json" + }, + { + "name": "Flashforge R PLA @FF Adventurer A5", + "sub_path": "filament/Flashforge R PLA @FF Adventurer A5.json" + }, { "name": "Generic PLA @FF AD5M 0.25 Nozzle", "sub_path": "filament/Generic PLA @FF AD5M 0.25 Nozzle.json" }, + { + "name": "Generic PLA @Flashforge AD4", + "sub_path": "filament/Generic PLA @Flashforge AD4.json" + }, { "name": "Generic PLA @Flashforge G3U", "sub_path": "filament/Generic PLA @Flashforge G3U.json" @@ -1069,158 +1369,6 @@ "name": "Generic PVA @Flashforge", "sub_path": "filament/Generic PVA @Flashforge.json" }, - { - "name": "Flashforge HS PLA", - "sub_path": "filament/Flashforge HS PLA.json" - }, - { - "name": "Flashforge HS PLA @FF AD5X", - "sub_path": "filament/Flashforge HS PLA @FF AD5X.json" - }, - { - "name": "Flashforge HS PLA @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge HS PLA @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA @FF AD5M 0.25 Nozzle", - "sub_path": "filament/Flashforge PLA @FF AD5M 0.25 Nozzle.json" - }, - { - "name": "Flashforge PLA Basic", - "sub_path": "filament/Flashforge PLA Basic.json" - }, - { - "name": "Flashforge PLA Basic @FF AD5X", - "sub_path": "filament/Flashforge PLA Basic @FF AD5X.json" - }, - { - "name": "Flashforge PLA Basic @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Basic @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change", - "sub_path": "filament/Flashforge PLA Color Change.json" - }, - { - "name": "Flashforge PLA Color Change @FF AD5X", - "sub_path": "filament/Flashforge PLA Color Change @FF AD5X.json" - }, - { - "name": "Flashforge PLA Color Change @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy", - "sub_path": "filament/Flashforge PLA Galaxy.json" - }, - { - "name": "Flashforge PLA Galaxy @FF AD5X", - "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X.json" - }, - { - "name": "Flashforge PLA Galaxy @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous", - "sub_path": "filament/Flashforge PLA Luminous.json" - }, - { - "name": "Flashforge PLA Luminous @FF AD5X", - "sub_path": "filament/Flashforge PLA Luminous @FF AD5X.json" - }, - { - "name": "Flashforge PLA Luminous @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Matte", - "sub_path": "filament/Flashforge PLA Matte.json" - }, - { - "name": "Flashforge PLA Matte @FF AD5X", - "sub_path": "filament/Flashforge PLA Matte @FF AD5X.json" - }, - { - "name": "Flashforge PLA Matte @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Matte @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Metal", - "sub_path": "filament/Flashforge PLA Metal.json" - }, - { - "name": "Flashforge PLA Metal @FF AD5X", - "sub_path": "filament/Flashforge PLA Metal @FF AD5X.json" - }, - { - "name": "Flashforge PLA Metal @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Metal @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Pro", - "sub_path": "filament/Flashforge PLA Pro.json" - }, - { - "name": "Flashforge PLA Pro @FF AD5X", - "sub_path": "filament/Flashforge PLA Pro @FF AD5X.json" - }, - { - "name": "Flashforge PLA Pro @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Pro @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle", - "sub_path": "filament/Flashforge PLA Sparkle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF AD5X", - "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X.json" - }, - { - "name": "Flashforge PLA Sparkle @FF AD5X 0.6 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.6 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF AD5X 0.8 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Flashforge AD4", - "sub_path": "filament/Generic PLA @Flashforge AD4.json" - }, { "name": "Polymaker CoPA", "sub_path": "filament/Polymaker/Polymaker CoPA.json" @@ -1253,6 +1401,10 @@ "name": "Flashforge PLA-CF @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge PLA-CF @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge PLA-CF @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA-CF @FF Adventurer A5.json" + }, { "name": "Flashforge PPS @FF G4", "sub_path": "filament/Flashforge PPS @FF G4.json" @@ -1281,10 +1433,6 @@ "name": "Generic PLA-CF10 @Flashforge AD4", "sub_path": "filament/Generic PLA-CF10 @Flashforge AD4.json" }, - { - "name": "Generic PLA-SILK @FF AD5M 0.25 Nozzle", - "sub_path": "filament/Generic PLA-SILK @FF AD5M 0.25 Nozzle.json" - }, { "name": "Flashforge PLA Silk", "sub_path": "filament/Flashforge PLA Silk.json" @@ -1301,6 +1449,10 @@ "name": "Flashforge PLA Silk @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge PLA Silk @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge PLA Silk @FF Adventurer A5", + "sub_path": "filament/Flashforge PLA Silk @FF Adventurer A5.json" + }, { "name": "Flashforge PLA-SILK @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge PLA-SILK @FF AD5M 0.25 Nozzle.json" @@ -1309,6 +1461,10 @@ "name": "Generic PLA Silk @Flashforge AD4", "sub_path": "filament/Generic PLA Silk @Flashforge AD4.json" }, + { + "name": "Generic PLA-SILK @FF AD5M 0.25 Nozzle", + "sub_path": "filament/Generic PLA-SILK @FF AD5M 0.25 Nozzle.json" + }, { "name": "SUNLU PLA Marble @FF AD3", "sub_path": "filament/SUNLU/SUNLU PLA Marble @FF AD3.json" @@ -1397,6 +1553,10 @@ "name": "Flashforge TPU 95A @FF AD5X 0.8 nozzle", "sub_path": "filament/Flashforge TPU 95A @FF AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge TPU 95A @FF Adventurer A5", + "sub_path": "filament/Flashforge TPU 95A @FF Adventurer A5.json" + }, { "name": "Flashforge TPU 95A @FF G4", "sub_path": "filament/Flashforge TPU 95A @FF G4.json" @@ -1437,6 +1597,10 @@ "name": "Generic TPU @Flashforge AD4", "sub_path": "filament/Generic TPU @Flashforge AD4.json" }, + { + "name": "Kexcelled TPU 64D @FF Adventurer A5", + "sub_path": "filament/Kexcelled TPU 64D @FF Adventurer A5.json" + }, { "name": "Flashforge ABS Basic @FF AD5M 0.25 nozzle", "sub_path": "filament/Flashforge ABS Basic @FF AD5M 0.25 nozzle.json" @@ -1693,102 +1857,6 @@ "name": "Flashforge ASA Basic @FF AD5X 0.25 nozzle", "sub_path": "filament/Flashforge ASA Basic @FF AD5X 0.25 nozzle.json" }, - { - "name": "Flashforge HS PETG @FF G4 0.6 HF nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4 0.6 HF nozzle.json" - }, - { - "name": "Flashforge HS PETG @FF G4 0.6 nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4 0.6 nozzle.json" - }, - { - "name": "Flashforge HS PETG @FF G4 0.8 HF nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4 0.8 HF nozzle.json" - }, - { - "name": "Flashforge HS PETG @FF G4P 0.6 HF nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 HF nozzle.json" - }, - { - "name": "Flashforge HS PETG @FF G4P 0.6 nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 nozzle.json" - }, - { - "name": "Flashforge HS PETG @FF G4P 0.8 HF nozzle", - "sub_path": "filament/Flashforge HS PETG @FF G4P 0.8 HF nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4 0.6 HF nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 HF nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4 0.6 nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4 0.8 HF nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4 0.8 HF nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4P 0.6 HF nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 HF nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4P 0.6 nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 nozzle.json" - }, - { - "name": "Flashforge PETG Pro @FF G4P 0.8 HF nozzle", - "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.8 HF nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4 0.6 HF nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 HF nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4 0.6 nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4 0.8 HF nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.8 HF nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4P 0.6 HF nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 HF nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4P 0.6 nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 nozzle.json" - }, - { - "name": "Flashforge PETG Transparent @FF G4P 0.8 HF nozzle", - "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.8 HF nozzle.json" - }, - { - "name": "Flashforge TPU 65D @FF G4 0.6 HF nozzle", - "sub_path": "filament/Flashforge TPU 65D @FF G4 0.6 HF nozzle.json" - }, - { - "name": "Flashforge TPU 65D @FF G4P 0.6 HF nozzle", - "sub_path": "filament/Flashforge TPU 65D @FF G4P 0.6 HF nozzle.json" - }, - { - "name": "Flashforge TPU 95A @FF G4 0.6 HF nozzle", - "sub_path": "filament/Flashforge TPU 95A @FF G4 0.6 HF nozzle.json" - }, - { - "name": "Flashforge TPU 95A @FF G4P 0.6 HF nozzle", - "sub_path": "filament/Flashforge TPU 95A @FF G4P 0.6 HF nozzle.json" - }, - { - "name": "Flashforge PETG-CF @FF G4 0.6 nozzle", - "sub_path": "filament/Flashforge PETG-CF @FF G4 0.6 nozzle.json" - }, - { - "name": "Flashforge PETG-CF @FF G4P 0.6 nozzle", - "sub_path": "filament/Flashforge PETG-CF @FF G4P 0.6 nozzle.json" - }, { "name": "Flashforge HS PETG @FF AD5M 0.25 nozzle", "sub_path": "filament/Flashforge HS PETG @FF AD5M 0.25 nozzle.json" @@ -2029,6 +2097,278 @@ "name": "Polymaker CoPA @FF G4P 0.8 HF nozzle", "sub_path": "filament/Polymaker CoPA @FF G4P 0.8 HF nozzle.json" }, + { + "name": "Generic PETG @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Generic PETG @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4 0.6 HF nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4 0.6 HF nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4 0.6 nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4 0.6 nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4 0.8 HF nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4 0.8 HF nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4P 0.6 HF nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 HF nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4P 0.6 nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4P 0.6 nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF G4P 0.8 HF nozzle", + "sub_path": "filament/Flashforge HS PETG @FF G4P 0.8 HF nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4 0.6 HF nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 HF nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4 0.6 nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4 0.6 nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4 0.8 HF nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4 0.8 HF nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4P 0.6 HF nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 HF nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4P 0.6 nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.6 nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF G4P 0.8 HF nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF G4P 0.8 HF nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4 0.6 HF nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 HF nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4 0.6 nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.6 nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4 0.8 HF nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4 0.8 HF nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4P 0.6 HF nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 HF nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4P 0.6 nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.6 nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF G4P 0.8 HF nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF G4P 0.8 HF nozzle.json" + }, + { + "name": "Flashforge TPU 65D @FF G4 0.6 HF nozzle", + "sub_path": "filament/Flashforge TPU 65D @FF G4 0.6 HF nozzle.json" + }, + { + "name": "Flashforge TPU 65D @FF G4P 0.6 HF nozzle", + "sub_path": "filament/Flashforge TPU 65D @FF G4P 0.6 HF nozzle.json" + }, + { + "name": "Flashforge TPU 95A @FF G4 0.6 HF nozzle", + "sub_path": "filament/Flashforge TPU 95A @FF G4 0.6 HF nozzle.json" + }, + { + "name": "Flashforge TPU 95A @FF G4P 0.6 HF nozzle", + "sub_path": "filament/Flashforge TPU 95A @FF G4P 0.6 HF nozzle.json" + }, + { + "name": "Flashforge PETG-CF @FF G4 0.6 nozzle", + "sub_path": "filament/Flashforge PETG-CF @FF G4 0.6 nozzle.json" + }, + { + "name": "Flashforge PETG-CF @FF G4P 0.6 nozzle", + "sub_path": "filament/Flashforge PETG-CF @FF G4P 0.6 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PLA @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge HS PLA @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Silk @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Silk @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Silk @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Silk @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Silk @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Silk @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF AD5M 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF AD5M 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF AD5X 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF G4 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF G4 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF G4P 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF G4P 0.25 nozzle.json" + }, + { + "name": "Flashforge R PLA @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge R PLA @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Generic PLA @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Generic PLA @FF Adventurer A5 0.25 nozzle.json" + }, { "name": "Flashforge HS PLA @FF G4 0.6 HF nozzle", "sub_path": "filament/Flashforge HS PLA @FF G4 0.6 HF nozzle.json" @@ -2325,162 +2665,70 @@ "name": "Flashforge PLA-CF @FF G4P 0.6 nozzle", "sub_path": "filament/Flashforge PLA-CF @FF G4P 0.6 nozzle.json" }, - { - "name": "Flashforge HS PLA @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge HS PLA @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge HS PLA @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge HS PLA @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge HS PLA @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge HS PLA @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Basic @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Basic @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Basic @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Basic @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Basic @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Color Change @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Color Change @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Galaxy @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Galaxy @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Luminous @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Luminous @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Matte @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Matte @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Matte @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Matte @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Matte @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Metal @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Metal @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Metal @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Metal @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Metal @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Pro @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Pro @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Pro @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Pro @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Pro @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Silk @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Silk @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Silk @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Silk @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Silk @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Silk @FF G4P 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF AD5M 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF AD5M 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF AD5X 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF AD5X 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF G4 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF G4 0.25 nozzle.json" - }, - { - "name": "Flashforge PLA Sparkle @FF G4P 0.25 nozzle", - "sub_path": "filament/Flashforge PLA Sparkle @FF G4P 0.25 nozzle.json" - }, { "name": "Flashforge PLA Silk @FF AD5M 0.25 nozzle", "sub_path": "filament/Flashforge PLA Silk @FF AD5M 0.25 nozzle.json" }, + { + "name": "Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge HS PETG @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge HS PETG @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle.json" + }, + { + "name": "Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle", + "sub_path": "filament/Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle.json" + }, { "name": "Flashforge ABS Basic @FF C5", "sub_path": "filament/Flashforge ABS Basic @FF C5.json" @@ -2585,30 +2833,6 @@ "name": "Flashforge PETG-CF @FF C5P", "sub_path": "filament/Flashforge PETG-CF @FF C5P.json" }, - { - "name": "Flashforge PLA Matte @FF C5", - "sub_path": "filament/Flashforge PLA Matte @FF C5.json" - }, - { - "name": "Flashforge PLA Matte @FF C5P", - "sub_path": "filament/Flashforge PLA Matte @FF C5P.json" - }, - { - "name": "Flashforge PLA Metal @FF C5", - "sub_path": "filament/Flashforge PLA Metal @FF C5.json" - }, - { - "name": "Flashforge PLA Metal @FF C5P", - "sub_path": "filament/Flashforge PLA Metal @FF C5P.json" - }, - { - "name": "Flashforge PLA Pro @FF C5", - "sub_path": "filament/Flashforge PLA Pro @FF C5.json" - }, - { - "name": "Flashforge PLA Pro @FF C5P", - "sub_path": "filament/Flashforge PLA Pro @FF C5P.json" - }, { "name": "Flashforge PLA Basic @FF C5", "sub_path": "filament/Flashforge PLA Basic @FF C5.json" @@ -2641,6 +2865,30 @@ "name": "Flashforge PLA Luminous @FF C5P", "sub_path": "filament/Flashforge PLA Luminous @FF C5P.json" }, + { + "name": "Flashforge PLA Matte @FF C5", + "sub_path": "filament/Flashforge PLA Matte @FF C5.json" + }, + { + "name": "Flashforge PLA Matte @FF C5P", + "sub_path": "filament/Flashforge PLA Matte @FF C5P.json" + }, + { + "name": "Flashforge PLA Metal @FF C5", + "sub_path": "filament/Flashforge PLA Metal @FF C5.json" + }, + { + "name": "Flashforge PLA Metal @FF C5P", + "sub_path": "filament/Flashforge PLA Metal @FF C5P.json" + }, + { + "name": "Flashforge PLA Pro @FF C5", + "sub_path": "filament/Flashforge PLA Pro @FF C5.json" + }, + { + "name": "Flashforge PLA Pro @FF C5P", + "sub_path": "filament/Flashforge PLA Pro @FF C5P.json" + }, { "name": "Flashforge PLA Silk @FF C5", "sub_path": "filament/Flashforge PLA Silk @FF C5.json" @@ -2891,6 +3139,10 @@ "name": "Flashforge AD5X 0.25 nozzle", "sub_path": "machine/FlashForge AD5X 0.25 nozzle.json" }, + { + "name": "Flashforge Adventurer A5 0.25 nozzle", + "sub_path": "machine/Flashforge Adventurer A5 0.25 nozzle.json" + }, { "name": "Flashforge Guider4 0.25 nozzle", "sub_path": "machine/Flashforge Guider4 0.25 nozzle.json" @@ -2903,6 +3155,14 @@ "name": "Flashforge AD5X 0.4 nozzle", "sub_path": "machine/Flashforge AD5X 0.4 nozzle.json" }, + { + "name": "Flashforge Adventurer A5 0.4 nozzle", + "sub_path": "machine/Flashforge Adventurer A5 0.4 nozzle.json" + }, + { + "name": "Flashforge Creator 5 0.25 nozzle", + "sub_path": "machine/Flashforge Creator 5 0.25 nozzle.json" + }, { "name": "Flashforge Creator 5 0.4 nozzle", "sub_path": "machine/Flashforge Creator 5 0.4 nozzle.json" @@ -2915,6 +3175,10 @@ "name": "Flashforge Creator 5 0.8 nozzle", "sub_path": "machine/Flashforge Creator 5 0.8 nozzle.json" }, + { + "name": "Flashforge Creator 5 Pro 0.25 nozzle", + "sub_path": "machine/Flashforge Creator 5 Pro 0.25 nozzle.json" + }, { "name": "Flashforge Creator 5 Pro 0.4 nozzle", "sub_path": "machine/Flashforge Creator 5 Pro 0.4 nozzle.json" @@ -2939,10 +3203,18 @@ "name": "Flashforge AD5X 0.6 nozzle", "sub_path": "machine/Flashforge AD5X 0.6 nozzle.json" }, + { + "name": "Flashforge Adventurer A5 0.6 nozzle", + "sub_path": "machine/Flashforge Adventurer A5 0.6 nozzle.json" + }, { "name": "Flashforge AD5X 0.8 nozzle", "sub_path": "machine/Flashforge AD5X 0.8 nozzle.json" }, + { + "name": "Flashforge Adventurer A5 0.8 nozzle", + "sub_path": "machine/Flashforge Adventurer A5 0.8 nozzle.json" + }, { "name": "Flashforge Guider4 0.4 HF nozzle", "sub_path": "machine/Flashforge Guider4 0.4 HF nozzle.json" diff --git a/resources/profiles/Flashforge/Flashforge Adventurer A5_cover.png b/resources/profiles/Flashforge/Flashforge Adventurer A5_cover.png new file mode 100644 index 0000000000..70966ac685 Binary files /dev/null and b/resources/profiles/Flashforge/Flashforge Adventurer A5_cover.png differ diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..08b228c11a --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge ABS Basic @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "jRIJ0cO4GhaMg2By", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_settings_id": [ + "Flashforge ABS Basic @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_cool_plate_temp": [ + "0" + ], + "textured_cool_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5.json new file mode 100644 index 0000000000..0ea70e0bf4 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF Adventurer A5.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Flashforge ABS Basic @FF Adventurer A5", + "inherits": "Generic ABS @Flashforge", + "from": "system", + "setting_id": "rDW4AwKc7SD7WIxN", + "filament_id": "OFibWuBd", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_settings_id": [ + "Flashforge ABS Basic @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_cool_plate_temp": [ + "0" + ], + "textured_cool_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..7d65841413 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge ASA Basic @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "OIUW8rw2VhNpeVpF", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_settings_id": [ + "Flashforge ASA Basic @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_cool_plate_temp": [ + "0" + ], + "textured_cool_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5.json new file mode 100644 index 0000000000..80943c015a --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF Adventurer A5.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Flashforge ASA Basic @FF Adventurer A5", + "inherits": "Generic ASA @Flashforge", + "from": "system", + "setting_id": "FY9mcqOyuu1Gqq1m", + "filament_id": "OFFFg2Pf", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "filament_settings_id": [ + "Flashforge ASA Basic @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "textured_cool_plate_temp": [ + "0" + ], + "textured_cool_plate_temp_initial_layer": [ + "0" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..609de4b870 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge HS PETG @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge HS PETG @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "UFal5gkMUJpoiOWP", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_settings_id": [ + "Flashforge HS PETG @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5.json new file mode 100644 index 0000000000..5825f17141 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF Adventurer A5.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Flashforge HS PETG @FF Adventurer A5", + "inherits": "Generic PETG @Flashforge", + "from": "system", + "setting_id": "ZpNEEHTtvhMJS8Kv", + "filament_id": "OFDxxTpW", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "close_fan_the_first_x_layers": [ + "2" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_settings_id": [ + "Flashforge HS PETG @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4 HF.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4 HF.json index 955235b442..3534f1a60b 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4 HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4 HF.json @@ -87,6 +87,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ] diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4P HF.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4P HF.json index 82a8dc096a..263224a1ea 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4P HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF G4P HF.json @@ -93,6 +93,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ], diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..797c72be19 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Flashforge HS PLA @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge HS PLA @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "Ewx6vNp0sDLDczPc", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "filament_settings_id": [ + "Flashforge HS PLA @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5.json new file mode 100644 index 0000000000..9f34aa44af --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge HS PLA @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "2L7FS5JeAyPb3y0s", + "filament_id": "OFIK2H3G", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge HS PLA @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..1d6ac25b9f --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA @FF AD5M 0.25 Nozzle", + "from": "system", + "setting_id": "DeiDOP4VfKSyMtjw", + "filament_id": "OFXB8ZI7", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_settings_id": [ + "Flashforge HS PLA+ @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5.json new file mode 100644 index 0000000000..22c1c9870f --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA+ @FF Adventurer A5.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Flashforge HS PLA+ @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "V4jIUQzxoZkK50mn", + "filament_id": "OFXB8ZI7", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge HS PLA+ @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..ec9f63af46 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PETG Basic @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "0sotIYsGkpQpcq6Y", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_settings_id": [ + "Flashforge PETG Basic @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..7ebc60dc50 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PETG Pro @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "SZmG7gbmfOCGc8Fa", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_settings_id": [ + "Flashforge PETG Pro @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5.json new file mode 100644 index 0000000000..b1a6a9f7e5 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF Adventurer A5.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Flashforge PETG Pro @FF Adventurer A5", + "inherits": "Generic PETG @Flashforge", + "from": "system", + "setting_id": "rPy6e6kaIt2tI34j", + "filament_id": "OFXiArjA", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "additional_cooling_fan_speed": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "75" + ], + "eng_plate_temp_initial_layer": [ + "75" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_settings_id": [ + "Flashforge PETG Pro @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "75" + ], + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "75" + ], + "supertack_plate_temp_initial_layer": [ + "75" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "textured_cool_plate_temp": [ + "75" + ], + "textured_cool_plate_temp_initial_layer": [ + "75" + ], + "textured_plate_temp": [ + "75" + ], + "textured_plate_temp_initial_layer": [ + "75" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4 HF.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4 HF.json index d1c404cd19..8308064c52 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4 HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4 HF.json @@ -90,6 +90,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ] diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4P HF.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4P HF.json index 1385ac8454..d8bdc53caa 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4P HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF G4P HF.json @@ -96,6 +96,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ], diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..1c116250c6 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PETG Transparent @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "PJ1sXWRB5uQa7TAJ", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_settings_id": [ + "Flashforge PETG Transparent @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5.json new file mode 100644 index 0000000000..15ccd1d0ac --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF Adventurer A5.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Flashforge PETG Transparent @FF Adventurer A5", + "inherits": "Generic PETG @Flashforge", + "from": "system", + "setting_id": "axOWrjnN5lofH9qM", + "filament_id": "OFwjMiKL", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "additional_cooling_fan_speed": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "75" + ], + "eng_plate_temp_initial_layer": [ + "75" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_settings_id": [ + "Flashforge PETG Transparent @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "75" + ], + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "75" + ], + "supertack_plate_temp_initial_layer": [ + "75" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "textured_cool_plate_temp": [ + "75" + ], + "textured_cool_plate_temp_initial_layer": [ + "75" + ], + "textured_plate_temp": [ + "75" + ], + "textured_plate_temp_initial_layer": [ + "75" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4 HF.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4 HF.json index 2736fea042..f38a075dea 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4 HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4 HF.json @@ -90,6 +90,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ] diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4P HF.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4P HF.json index bc6fbecdb4..c920f757e5 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4P HF.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF G4P HF.json @@ -96,6 +96,12 @@ "support_material_interface_fan_speed": [ "90" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "temperature_vitrification": [ "70" ], diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF Adventurer A5.json new file mode 100644 index 0000000000..c4001061f2 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF Adventurer A5.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Flashforge PETG-CF @FF Adventurer A5", + "inherits": "Generic PETG-CF10 @Flashforge", + "from": "system", + "setting_id": "aDSOS4PWssYHk8Fh", + "filament_id": "OFuFEtKX", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_settings_id": [ + "Flashforge PETG-CF @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..f94dbbd8c4 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Basic @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "e8JkrQPgHO1ekM7Q", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Basic @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5.json new file mode 100644 index 0000000000..6fdc1bdb17 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Basic @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "HCpI817HAWckXBtk", + "filament_id": "OFJ3F2jm", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Basic @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..7cd3bae5bd --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Color Change @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "8ifsgreK3DQhMfeh", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Color Change @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5.json new file mode 100644 index 0000000000..2eeb85526c --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Color Change @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "o1Fl6t8nFCKZoj3Q", + "filament_id": "OFMkAW6r", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Color Change @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.035" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..c75415adf9 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Galaxy @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "WViVLfSsNolVB55w", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Galaxy @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5.json new file mode 100644 index 0000000000..a833b55331 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Galaxy @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "4rpfTTgZrsVDwxI9", + "filament_id": "OFJJ0Ar3", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Galaxy @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..85f661e98f --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA @FF AD5M 0.25 Nozzle", + "from": "system", + "setting_id": "FpqRF3Gw0ftvpvay", + "filament_id": "OFDDdgHM", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_flow_ratio": [ + "1.04" + ], + "filament_settings_id": [ + "Flashforge PLA LITE @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5.json new file mode 100644 index 0000000000..36e0a64d69 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA LITE @FF Adventurer A5.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Flashforge PLA LITE @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "2QZaQyg66IJPbsSc", + "filament_id": "OFDDdgHM", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_flow_ratio": [ + "1.02" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA LITE @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..53a0749e1d --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Luminous @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "e3Yir3COUY9MyFdE", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Luminous @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5.json new file mode 100644 index 0000000000..0be02b85f5 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Luminous @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "GqNeJoH4M1IVAXrZ", + "filament_id": "OFdqkWtz", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Luminous @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..cc011b9336 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Matte @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "o2Ttw4qaxOTgEWtp", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Matte @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5.json new file mode 100644 index 0000000000..33a2228f8d --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Matte @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "Jk7PRQkF2lFEtI8Q", + "filament_id": "OF6qAuyi", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Matte @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..92a8d1c8db --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Metal @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "eg4osx9bpk61uXvT", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Metal @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5.json new file mode 100644 index 0000000000..1ef06a756b --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Metal @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "Gs8hS5CpV3W62pjs", + "filament_id": "OFAebKg8", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Metal @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..15f7813b78 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Pro @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "sD9IWFJxvKTDfpXm", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Pro @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5.json new file mode 100644 index 0000000000..416c8bf207 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Pro @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "vTVCr1id0cTtMzuE", + "filament_id": "OFm4SivL", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Pro @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..0a63c055a3 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Silk @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "ipe3qzXePPZ9pMmY", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Silk @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "220" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5.json new file mode 100644 index 0000000000..e157b16c6d --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Silk @FF Adventurer A5", + "inherits": "Generic PLA-Silk @Flashforge", + "from": "system", + "setting_id": "XXmeUWaLyVCTDS6G", + "filament_id": "OFgjgN35", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_settings_id": [ + "Flashforge PLA Silk @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.035" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..ebf72e7fb1 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA Sparkle @FF AD5M 0.25 nozzle", + "from": "system", + "setting_id": "VV75FchmjnPjnDE8", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge PLA Sparkle @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5.json new file mode 100644 index 0000000000..b7954c6677 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Sparkle @FF Adventurer A5.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Flashforge PLA Sparkle @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "dscnwSfbrGWiS4Um", + "filament_id": "OFV5c8hG", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge PLA Sparkle @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF Adventurer A5.json new file mode 100644 index 0000000000..542045cdeb --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF Adventurer A5.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Flashforge PLA-CF @FF Adventurer A5", + "inherits": "Generic PLA-CF10 @Flashforge", + "from": "system", + "setting_id": "EpC2ItdGUxFV7x1y", + "filament_id": "OF9cAwMK", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_settings_id": [ + "Flashforge PLA-CF @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..e898843db9 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Flashforge R PLA @FF Adventurer A5 0.25 nozzle", + "inherits": "Flashforge PLA @FF AD5M 0.25 Nozzle", + "from": "system", + "setting_id": "G0qAKoO8Dyo0hO6G", + "filament_id": "OFT02Lz9", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_settings_id": [ + "Flashforge R PLA @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5.json new file mode 100644 index 0000000000..e5511d5622 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge R PLA @FF Adventurer A5.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Flashforge R PLA @FF Adventurer A5", + "inherits": "Generic PLA @Flashforge", + "from": "system", + "setting_id": "sN7eGcbuGZxGrbR5", + "filament_id": "OFT02Lz9", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "55" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_settings_id": [ + "Flashforge R PLA @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "hot_plate_temp": [ + "55" + ], + "pressure_advance": [ + "0.0325" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_cool_plate_temp": [ + "45" + ], + "textured_cool_plate_temp_initial_layer": [ + "45" + ], + "textured_plate_temp": [ + "55" + ] +} diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU 95A @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Flashforge TPU 95A @FF Adventurer A5.json new file mode 100644 index 0000000000..19b0981798 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Flashforge TPU 95A @FF Adventurer A5.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Flashforge TPU 95A @FF Adventurer A5", + "inherits": "Generic TPU @Flashforge", + "from": "system", + "setting_id": "2MT9C2rvvQ3uU1lG", + "filament_id": "OFSqIcJC", + "filament_vendor": [ + "Flashforge" + ], + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_settings_id": [ + "Flashforge TPU 95A @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ] +} diff --git a/resources/profiles/Flashforge/filament/FusRock PET @FF G4P 0.8 HF nozzle.json b/resources/profiles/Flashforge/filament/FusRock PET @FF G4P 0.8 HF nozzle.json index c1d48bf1ff..6d4221e732 100644 --- a/resources/profiles/Flashforge/filament/FusRock PET @FF G4P 0.8 HF nozzle.json +++ b/resources/profiles/Flashforge/filament/FusRock PET @FF G4P 0.8 HF nozzle.json @@ -15,9 +15,6 @@ "during_print_exhaust_fan_speed": [ "40" ], - "filament_load_time": [ - "29" - ], "filament_max_volumetric_speed": [ "12" ], @@ -33,9 +30,6 @@ "filament_type": [ "PET" ], - "filament_unload_time": [ - "29" - ], "compatible_printers": [ "Flashforge Guider4 Pro 0.8 HF nozzle" ], diff --git a/resources/profiles/Flashforge/filament/FusRock/FusRock NexPA-CF25.json b/resources/profiles/Flashforge/filament/FusRock/FusRock NexPA-CF25.json index 249060ab5c..f228bdd769 100644 --- a/resources/profiles/Flashforge/filament/FusRock/FusRock NexPA-CF25.json +++ b/resources/profiles/Flashforge/filament/FusRock/FusRock NexPA-CF25.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "FusRock NexPA-CF25", - "inherits": "Generic PETG @Flashforge", "renamed_from": "FusRock Generic NexPA-CF25", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "sVoga8454H2oKuKI", "filament_id": "OFjt8dDO", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PA-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/FusRock/FusRock PAHT-CF.json b/resources/profiles/Flashforge/filament/FusRock/FusRock PAHT-CF.json index d47b7f865c..3666353817 100644 --- a/resources/profiles/Flashforge/filament/FusRock/FusRock PAHT-CF.json +++ b/resources/profiles/Flashforge/filament/FusRock/FusRock PAHT-CF.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "FusRock PAHT-CF", - "inherits": "Generic PETG @Flashforge", "renamed_from": "FusRock Generic PAHT-CF", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "OGhhxVvR4O4VYuCK", "filament_id": "OFKW5hEW", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "PAHT-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/FusRock/FusRock PET-CF.json b/resources/profiles/Flashforge/filament/FusRock/FusRock PET-CF.json index 4dee20a476..5de8912224 100644 --- a/resources/profiles/Flashforge/filament/FusRock/FusRock PET-CF.json +++ b/resources/profiles/Flashforge/filament/FusRock/FusRock PET-CF.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "FusRock PET-CF", - "inherits": "Generic PETG @Flashforge", "renamed_from": "FusRock Generic PET-CF", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "nGtsrswmS2Fj4Uev", "filament_id": "OFDu1qE7", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "PET-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/FusRock/FusRock S-Multi.json b/resources/profiles/Flashforge/filament/FusRock/FusRock S-Multi.json index 895d10aa12..e6f32aace1 100644 --- a/resources/profiles/Flashforge/filament/FusRock/FusRock S-Multi.json +++ b/resources/profiles/Flashforge/filament/FusRock/FusRock S-Multi.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "FusRock S-Multi", - "inherits": "Generic PETG @Flashforge", "renamed_from": "FusRock Generic S-Multi", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "zAqGdmTsz4Z0qbaa", "filament_id": "OF0AquDh", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/FusRock/FusRock S-PAHT.json b/resources/profiles/Flashforge/filament/FusRock/FusRock S-PAHT.json index 792b12c949..ebe48dc6dd 100644 --- a/resources/profiles/Flashforge/filament/FusRock/FusRock S-PAHT.json +++ b/resources/profiles/Flashforge/filament/FusRock/FusRock S-PAHT.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "FusRock S-PAHT", - "inherits": "Generic PETG @Flashforge", "renamed_from": "FusRock Generic S-PAHT", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "mBQzgKKsV8Qo3gAr", "filament_id": "OFCn83wF", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PAHT" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic ABS @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic ABS @Flashforge G3U.json index 8422875984..a429c5be48 100644 --- a/resources/profiles/Flashforge/filament/Generic ABS @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic ABS @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ABS @Flashforge G3U", - "inherits": "Generic ABS @Flashforge", "renamed_from": "Flashforge Generic ABS @G3U;Flashforge Generic ABS G3U", + "inherits": "Generic ABS @Flashforge", "from": "system", "setting_id": "dxCNYDhcaJqAfDpR", "filament_id": "OFY9muEs", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "ABS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json index 42f9b00a60..07aae7b634 100644 --- a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge AD4.json @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "0" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "40", "close_fan_the_first_x_layers": [ "2" diff --git a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge G3U.json index 20a3e61da2..cfb156dd52 100644 --- a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ASA @Flashforge G3U", - "inherits": "Generic ABS @Flashforge", "renamed_from": "Flashforge Generic ASA @G3U;Flashforge Generic ASA G3U", + "inherits": "Generic ABS @Flashforge", "from": "system", "setting_id": "N1vm5hhMHdSNvUwk", "filament_id": "OFLPAxz3", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "ASA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge.json b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge.json index b80ad322c3..cc73a2a479 100644 --- a/resources/profiles/Flashforge/filament/Generic ASA @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic ASA @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ASA @Flashforge", - "inherits": "fdm_filament_asa", "renamed_from": "Flashforge Generic ASA", + "inherits": "fdm_filament_asa", "from": "system", "setting_id": "tzs0HcyEZow99A2J", "filament_id": "OFLPAxz3", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "0" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "2" diff --git a/resources/profiles/Flashforge/filament/Generic HIPS @Flashforge.json b/resources/profiles/Flashforge/filament/Generic HIPS @Flashforge.json index 3012161923..54badf52ae 100644 --- a/resources/profiles/Flashforge/filament/Generic HIPS @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic HIPS @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic HIPS @Flashforge", - "inherits": "Generic ABS @Flashforge", "renamed_from": "Flashforge Generic HIPS", + "inherits": "Generic ABS @Flashforge", "from": "system", "setting_id": "zMQa7Squ3p3jKYwB", "filament_id": "OFsFon5l", @@ -96,9 +96,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -171,9 +168,6 @@ "filament_type": [ "HIPS" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic HS PLA @Flashforge.json b/resources/profiles/Flashforge/filament/Generic HS PLA @Flashforge.json index b6b4f26221..7fabff8e93 100644 --- a/resources/profiles/Flashforge/filament/Generic HS PLA @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic HS PLA @Flashforge.json @@ -1,15 +1,12 @@ { "type": "filament", "name": "Generic HS PLA @Flashforge", - "inherits": "fdm_filament_pla", "renamed_from": "Flashforge Generic HS PLA", + "inherits": "fdm_filament_pla", "from": "system", "setting_id": "GTqLzBcGP2Rmmc9X", "filament_id": "OFvxghTE", "instantiation": "true", - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -90,9 +87,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -165,9 +159,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Flashforge/filament/Generic PETG @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Generic PETG @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..764b31e9c4 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Generic PETG @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Generic PETG @FF Adventurer A5 0.25 nozzle", + "inherits": "Generic PETG @FF AD5M 0.25 Nozzle", + "from": "system", + "setting_id": "KSKX6BHNQgmOEShO", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "1.2" + ], + "filament_settings_id": [ + "Generic PETG @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ] +} diff --git a/resources/profiles/Flashforge/filament/Generic PETG @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic PETG @Flashforge G3U.json index 119b9e3349..9c37ea85a7 100644 --- a/resources/profiles/Flashforge/filament/Generic PETG @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic PETG @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG @Flashforge G3U", - "inherits": "Generic PETG @Flashforge", "renamed_from": "Flashforge Generic PETG @G3U;Flashforge Generic PETG G3U", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "umrO2bL7ihLROx0B", "filament_id": "OFYPdQJh", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PETG" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic PETG-CF @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic PETG-CF @Flashforge G3U.json index d298fa5b12..2464363ce9 100644 --- a/resources/profiles/Flashforge/filament/Generic PETG-CF @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic PETG-CF @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG-CF @Flashforge G3U", - "inherits": "Generic PETG @Flashforge", "renamed_from": "Flashforge Generic PETG-CF @G3U;Flashforge Generic PETG-CF G3U", + "inherits": "Generic PETG @Flashforge", "from": "system", "setting_id": "XXoNSerT8aqG5dlL", "filament_id": "OFoYSJKi", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PETG-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge AD4.json index bcf3f0926c..b310bf8d5b 100644 --- a/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge AD4.json @@ -9,9 +9,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge.json b/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge.json index ca45c4fe25..8908c41081 100644 --- a/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic PETG-CF10 @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG-CF10 @Flashforge", - "inherits": "fdm_filament_pet", "renamed_from": "Flashforge Generic PETG-CF10", + "inherits": "fdm_filament_pet", "from": "system", "setting_id": "0oCfWHsyqpBCbD62", "filament_id": "OFO5djrM", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Flashforge/filament/Generic PLA @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/filament/Generic PLA @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..416e42006f --- /dev/null +++ b/resources/profiles/Flashforge/filament/Generic PLA @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Generic PLA @FF Adventurer A5 0.25 nozzle", + "inherits": "Generic PLA @FF AD5M 0.25 Nozzle", + "from": "system", + "setting_id": "kHdLzX8Auwz9tFvw", + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_max_volumetric_speed": [ + "2.2" + ], + "filament_settings_id": [ + "Generic PLA @FF Adventurer A5 0.25 nozzle" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json index b0c0ce9597..20f0ba7403 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json +++ b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.6 Nozzle.json @@ -3,7 +3,8 @@ "name": "Generic PLA @Flashforge G3U 0.6 Nozzle", "inherits": "Generic PLA @Flashforge", "from": "system", - "instantiation": "false", + "setting_id": "YSbpdZWmgTvjJmZZ", + "instantiation": "true", "compatible_printers": [ "Flashforge Guider 3 Ultra 0.6 Nozzle" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json index 49aa73c7eb..6a9af67be1 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json +++ b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U 0.8 Nozzle.json @@ -3,7 +3,8 @@ "name": "Generic PLA @Flashforge G3U 0.8 Nozzle", "inherits": "Generic PLA @Flashforge", "from": "system", - "instantiation": "false", + "setting_id": "CsPPXQWXhwz5fUww", + "instantiation": "true", "compatible_printers": [ "Flashforge Guider 3 Ultra 0.8 Nozzle" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U.json index 48b66814ca..630c4c723b 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic PLA @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Flashforge G3U", - "inherits": "Generic PLA @Flashforge", "renamed_from": "Flashforge Generic PLA @G3U;Flashforge Generic PLA G3U", + "inherits": "Generic PLA @Flashforge", "from": "system", "setting_id": "8ZlELnZzCa3UsztB", "filament_id": "OFDSrzZ8", @@ -24,8 +24,6 @@ ], "compatible_printers": [ "Flashforge Guider 3 Ultra 0.4 Nozzle", - "Flashforge Guider 3 Ultra 0.6 Nozzle", - "Flashforge Guider 3 Ultra 0.8 Nozzle", "Flashforge Guider 2s 0.4 nozzle" ], "compatible_printers_condition": "", @@ -97,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -172,9 +167,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA High Speed @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic PLA High Speed @Flashforge AD4.json index 85741e007d..eb4e1ec0ec 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA High Speed @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic PLA High Speed @Flashforge AD4.json @@ -6,9 +6,6 @@ "setting_id": "B4EWBUa9G36lZUd7", "filament_id": "OFmpMwxS", "instantiation": "true", - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -84,9 +81,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -159,9 +153,6 @@ "filament_type": [ "PLA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA-CF @Flashforge G3U.json b/resources/profiles/Flashforge/filament/Generic PLA-CF @Flashforge G3U.json index 7f79c0753e..595ca9e63d 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA-CF @Flashforge G3U.json +++ b/resources/profiles/Flashforge/filament/Generic PLA-CF @Flashforge G3U.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA-CF @Flashforge G3U", - "inherits": "Generic PLA @Flashforge", "renamed_from": "Flashforge Generic PLA-CF @G3U;Flashforge Generic PLA-CF G3U", + "inherits": "Generic PLA @Flashforge", "from": "system", "setting_id": "J2zu45Q3zu7Tor3W", "filament_id": "OFWbdGsC", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PLA-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge AD4.json index c03c616a0e..d1c860e830 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge AD4.json @@ -9,9 +9,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -86,9 +83,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -161,9 +155,6 @@ "filament_type": [ "PLA-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge.json b/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge.json index 8b2e1efb14..06307637e7 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic PLA-CF10 @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA-CF10 @Flashforge", - "inherits": "fdm_filament_pla", "renamed_from": "Flashforge Generic PLA-CF10", + "inherits": "fdm_filament_pla", "from": "system", "setting_id": "cckB4CXjFwZKC0l0", "filament_id": "OFX2zcrM", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": [ "0" ], @@ -90,9 +87,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -165,9 +159,6 @@ "filament_type": [ "PLA-CF" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Flashforge/filament/Generic PVA @Flashforge.json b/resources/profiles/Flashforge/filament/Generic PVA @Flashforge.json index 6c76493158..92c2a5e54a 100644 --- a/resources/profiles/Flashforge/filament/Generic PVA @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic PVA @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PVA @Flashforge", - "inherits": "Generic PLA @Flashforge", "renamed_from": "Flashforge Generic PVA", + "inherits": "Generic PLA @Flashforge", "from": "system", "setting_id": "yiCXuEb87vNMhytL", "filament_id": "OFDvXujf", @@ -97,9 +97,6 @@ "filament_is_support": [ "1" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -172,9 +169,6 @@ "filament_type": [ "PVA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "35" ], diff --git a/resources/profiles/Flashforge/filament/Generic TPU @Flashforge AD4.json b/resources/profiles/Flashforge/filament/Generic TPU @Flashforge AD4.json index 610777d347..4fb3c96b08 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU @Flashforge AD4.json +++ b/resources/profiles/Flashforge/filament/Generic TPU @Flashforge AD4.json @@ -9,9 +9,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Flashforge/filament/Generic TPU @Flashforge.json b/resources/profiles/Flashforge/filament/Generic TPU @Flashforge.json index 45a6b2e6f9..5ebb19eb68 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU @Flashforge.json +++ b/resources/profiles/Flashforge/filament/Generic TPU @Flashforge.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic TPU @Flashforge", - "inherits": "fdm_filament_tpu", "renamed_from": "Flashforge Generic TPU", + "inherits": "fdm_filament_tpu", "from": "system", "setting_id": "luh9xN4STlD0sTyt", "filament_id": "OFgbpcy9", @@ -10,9 +10,6 @@ "additional_cooling_fan_speed": [ "100" ], - "bed_temperature_difference": [ - "10" - ], "chamber_temperature": "0", "close_fan_the_first_x_layers": [ "1" diff --git a/resources/profiles/Flashforge/filament/Kexcelled TPU 64D @FF Adventurer A5.json b/resources/profiles/Flashforge/filament/Kexcelled TPU 64D @FF Adventurer A5.json new file mode 100644 index 0000000000..285af63564 --- /dev/null +++ b/resources/profiles/Flashforge/filament/Kexcelled TPU 64D @FF Adventurer A5.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Kexcelled TPU 64D @FF Adventurer A5", + "inherits": "Generic TPU @Flashforge", + "from": "system", + "setting_id": "OB4I8nwZn8sCcCcF", + "filament_id": "OF20zavY", + "filament_vendor": [ + "Kexcelled" + ], + "instantiation": "true", + "cool_plate_temp": [ + "40" + ], + "cool_plate_temp_initial_layer": [ + "40" + ], + "eng_plate_temp": [ + "45" + ], + "eng_plate_temp_initial_layer": [ + "45" + ], + "filament_settings_id": [ + "Kexcelled TPU 64D @FF Adventurer A5" + ], + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle", + "Flashforge Adventurer A5 0.6 nozzle", + "Flashforge Adventurer A5 0.8 nozzle" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ] +} diff --git a/resources/profiles/Flashforge/filament/Polymaker/Polymaker CoPA.json b/resources/profiles/Flashforge/filament/Polymaker/Polymaker CoPA.json index 533af6688b..77a59b4bbf 100644 --- a/resources/profiles/Flashforge/filament/Polymaker/Polymaker CoPA.json +++ b/resources/profiles/Flashforge/filament/Polymaker/Polymaker CoPA.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Polymaker CoPA", - "inherits": "Generic PLA @Flashforge", "renamed_from": "Polymaker Generic CoPA", + "inherits": "Generic PLA @Flashforge", "from": "system", "setting_id": "5Dt1APJ8qd5pzmzK", "filament_id": "OFQyyO0l", @@ -95,9 +95,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "30" ], diff --git a/resources/profiles/Flashforge/filament/Polymaker/Polymaker S1.json b/resources/profiles/Flashforge/filament/Polymaker/Polymaker S1.json index c7eb2fb58c..91e636a3d4 100644 --- a/resources/profiles/Flashforge/filament/Polymaker/Polymaker S1.json +++ b/resources/profiles/Flashforge/filament/Polymaker/Polymaker S1.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Polymaker S1", - "inherits": "Generic PLA @Flashforge", "renamed_from": "Polymaker Generic S1", + "inherits": "Generic PLA @Flashforge", "from": "system", "setting_id": "auChFegT1xViXxGe", "filament_id": "OFaDsTE0", @@ -95,9 +95,6 @@ "filament_is_support": [ "1" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -170,9 +167,6 @@ "filament_type": [ "PA" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "30" ], diff --git a/resources/profiles/Flashforge/filament/fdm_filament_pet.json b/resources/profiles/Flashforge/filament/fdm_filament_pet.json index 678ab77822..a19e1faece 100644 --- a/resources/profiles/Flashforge/filament/fdm_filament_pet.json +++ b/resources/profiles/Flashforge/filament/fdm_filament_pet.json @@ -28,6 +28,12 @@ "textured_plate_temp_initial_layer": [ "85" ], + "supertack_plate_temp": [ + "60" + ], + "supertack_plate_temp_initial_layer": [ + "60" + ], "slow_down_for_layer_cooling": [ "1" ], diff --git a/resources/profiles/Flashforge/flashforge_c5_buildplate_model.stl b/resources/profiles/Flashforge/flashforge_c5_buildplate_model.stl index b535cc4e98..af24406f2d 100644 Binary files a/resources/profiles/Flashforge/flashforge_c5_buildplate_model.stl and b/resources/profiles/Flashforge/flashforge_c5_buildplate_model.stl differ diff --git a/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.png b/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.png deleted file mode 100644 index a5af30d0c5..0000000000 Binary files a/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.png and /dev/null differ diff --git a/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.svg b/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.svg new file mode 100644 index 0000000000..55fb96abfa --- /dev/null +++ b/resources/profiles/Flashforge/flashforge_c5_buildplate_texture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json b/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json index 50a7d88ff5..6d03066d38 100644 --- a/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json +++ b/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json index 9dcd0f86dd..682594f99a 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json index a88cbb9e80..ff7251562e 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json @@ -199,7 +199,6 @@ "35" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json index 47ac21c2ec..806e5cda1f 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json @@ -199,7 +199,6 @@ "35" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X.json b/resources/profiles/Flashforge/machine/Flashforge AD5X.json index 42cfac7967..cd36362249 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X.json @@ -9,5 +9,5 @@ "bed_texture": "flashforge_ad5x_buildplate_texture.svg", "hotend_model": "flashforge_adventurer_5m_series_hotend.STL", "url": "", - "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge" + "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge;Generic PLA @FF AD5M 0.25 Nozzle" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 4 Series.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 4 Series.json index 8c5f7ec4bf..d9864c599d 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 4 Series.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 4 Series.json @@ -2,6 +2,7 @@ "type": "machine_model", "name": "Flashforge Adventurer 4 Series", "model_id": "Flashforge Adventurer 4 Series", + "default_materials": "Generic PLA @Flashforge AD4;Generic PLA High Speed @Flashforge AD4", "nozzle_diameter": "0.3;0.4;0.6;0.4HS", "machine_tech": "FFF", "family": "Flashforge", diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro.json index 476d036a95..45023ac132 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro.json @@ -9,5 +9,5 @@ "bed_texture": "flashforge_adventurer5m_buildplate_texture.svg", "default_bed_type": "Textured PEI Plate", "hotend_model": "flashforge_adventurer_5m_series_hotend.STL", - "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge" + "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge;Generic PLA @FF AD5M 0.25 Nozzle" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M.json index b69dc12126..9d4de80c6e 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M.json @@ -9,5 +9,5 @@ "bed_texture": "flashforge_adventurer5m_buildplate_texture.svg", "default_bed_type": "Textured PEI Plate", "hotend_model": "flashforge_adventurer_5m_series_hotend.STL", - "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge" + "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge;Generic PLA @FF AD5M 0.25 Nozzle" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..d9665ff0bb --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.25 nozzle.json @@ -0,0 +1,233 @@ +{ + "type": "machine", + "name": "Flashforge Adventurer A5 0.25 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "TZyRxvTiJNKNJWCD", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.12mm Standard @FF Adventurer A5 0.25 nozzle", + "deretraction_speed": [ + "35" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "150", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "76", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG1 Z5 F6000\nG90 E0\nM83\nG1 E-1 F600\nG1 E8 F300\nG1 X85 Y110 Z0.2 F1200\nG1 X-110 E15 F2400\nG1 Y0 E4 F2400\nG1 X-109.6 F2400\nG1 Y110 E5 F2400\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.25" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "stainless_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "-110x-110", + "110x-110", + "110x110", + "-110x110" + ], + "printable_height": "220", + "printer_model": "Flashforge Adventurer A5", + "printer_notes": "", + "printer_settings_id": "Flashforge Adventurer A5 0.25 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.25", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "100%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "1" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "35" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.3" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.4 nozzle.json new file mode 100644 index 0000000000..04de9fb9ec --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.4 nozzle.json @@ -0,0 +1,233 @@ +{ + "type": "machine", + "name": "Flashforge Adventurer A5 0.4 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "EOhWyVbRzFtAc33v", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.20mm Standard @FF Adventurer A5 0.4 nozzle", + "deretraction_speed": [ + "35" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "150", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "76", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-0.2 F800\nG1 X110 Y-110 F6000\nG1 E2 F800\nG1 Y-110 X55 Z0.25 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG1 Y-110 X55 Z0.45 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "-110x-110", + "110x-110", + "110x110", + "-110x110" + ], + "printable_height": "220", + "printer_model": "Flashforge Adventurer A5", + "printer_notes": "", + "printer_settings_id": "Flashforge Adventurer A5 0.4 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "100%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "0.8" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "35" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.6 nozzle.json new file mode 100644 index 0000000000..0ac8ffe783 --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.6 nozzle.json @@ -0,0 +1,233 @@ +{ + "type": "machine", + "name": "Flashforge Adventurer A5 0.6 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.6 Nozzle", + "from": "system", + "setting_id": "gu3ZxlImr6zK3yb6", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.30mm Standard @FF Adventurer A5 0.6 nozzle", + "deretraction_speed": [ + "35" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "150", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "76", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-0.2 F800\nG1 X110 Y-110 F6000\nG1 E2 F800\nG1 Y-110 X55 Z0.25 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG1 Y-110 X55 Z0.45 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.15" + ], + "nozzle_diameter": [ + "0.6" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "-110x-110", + "110x-110", + "110x110", + "-110x110" + ], + "printable_height": "220", + "printer_model": "Flashforge Adventurer A5", + "printer_notes": "", + "printer_settings_id": "Flashforge Adventurer A5 0.6 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.6", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "100%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "1.2" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "35" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.8 nozzle.json new file mode 100644 index 0000000000..e982ec00a9 --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5 0.8 nozzle.json @@ -0,0 +1,233 @@ +{ + "type": "machine", + "name": "Flashforge Adventurer A5 0.8 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "from": "system", + "setting_id": "tKE8SP6KOhIupWbU", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.40mm Standard @FF Adventurer A5 0.8 nozzle", + "deretraction_speed": [ + "35" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "150", + "extruder_clearance_height_to_rod": "27", + "extruder_clearance_radius": "76", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "20000", + "20000" + ], + "machine_max_acceleration_y": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG1 Z5 F6000\nG1 E-1.5 F600\nG1 E12 F800\nG1 X85 Y110 Z0.3 F1200\nG1 X-110 E30 F2400\nG1 Y0 E8 F2400\nG1 X-109.6 F2400\nG1 Y110 E10 F2400\nG92 E0", + "machine_tool_change_time": "0", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "-110x-110", + "110x-110", + "110x110", + "-110x110" + ], + "printable_height": "220", + "printer_model": "Flashforge Adventurer A5", + "printer_notes": "", + "printer_settings_id": "Flashforge Adventurer A5 0.8 nozzle", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "0.8", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": [ + "100%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_on_top_layer": [ + "1" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "1.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "35" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer A5.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5.json new file mode 100644 index 0000000000..8b7c579ca4 --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer A5.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Flashforge Adventurer A5", + "model_id": "Flashforge-Adventurer-A5", + "nozzle_diameter": "0.25;0.4;0.6;0.8", + "machine_tech": "FFF", + "family": "Flashforge", + "bed_model": "flashforge_adventurer5m_series_buildplate_model.STL", + "bed_texture": "flashforge_adventurer5m_buildplate_texture.svg", + "hotend_model": "flashforge_adventurer_5m_series_hotend.STL", + "default_materials": "Generic ABS @Flashforge;Generic PETG @Flashforge;Generic PLA @Flashforge;Flashforge PLA Basic @FF Adventurer A5;Generic PLA @FF Adventurer A5 0.25 nozzle" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Artemis.json b/resources/profiles/Flashforge/machine/Flashforge Artemis.json index 22e9963a24..069a71de70 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Artemis.json +++ b/resources/profiles/Flashforge/machine/Flashforge Artemis.json @@ -2,6 +2,7 @@ "type": "machine_model", "name": "Flashforge Artemis", "model_id": "Flashforge-Artemis", + "default_materials": "Generic PETG @Flashforge Artemis", "nozzle_diameter": "0.4", "machine_tech": "FFF", "family": "Flashforge", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.25 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.25 nozzle.json new file mode 100644 index 0000000000..c3cb7aa570 --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.25 nozzle.json @@ -0,0 +1,310 @@ +{ + "type": "machine", + "name": "Flashforge Creator 5 0.25 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "xp3cpTEGYdWjcrMM", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_bed_type": "", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.12mm Standard @FF C5 0.25 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "disable_m73": "1", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "360", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_radius": "92", + "extruder_colour": [ + "#FCE94F", + "#FCE94F", + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0", + "0x0", + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_end_gcode": ";end_gcode\nG1 X150 Y150 E-1.2 F12000", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "30000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "30000", + "20000" + ], + "machine_max_acceleration_y": [ + "30000", + "20000" + ], + "machine_max_acceleration_z": [ + "300", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_junction_deviation": [ + "0", + "0" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M25", + "machine_start_gcode": ";start_gcode\nM140 S[bed_temperature_initial_layer_single]\nM106 P101 S0 ; L+R_PLA_Turbo_Fan_0-255\nM106 P2 S0 ; Center_Fresch_Air_Input_Fan_for_PLA30%_(80_0-255) \nM191 S0 ; Chamber temp. max65C\nM106 S0 ; Model_Fan_(Heat_Break_Cooler_80-255)100%=255\nM106 P3 S0 ; Filter_Unit_Fan_0-255(ABS=255)\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F2400\nT[initial_extruder]\nM109 S[nozzle_temperature_initial_layer] T[initial_extruder]\nG1 X256 Y0 Z0.2 F6000\nG1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\nG1 X216 E10 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n;start_gcode end", + "machine_tool_change_time": "7", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.14", + "0.14", + "0.14", + "0.14" + ], + "max_resonance_avoidance_speed": "120", + "min_layer_height": [ + "0.08", + "0.08", + "0.08", + "0.08" + ], + "min_resonance_avoidance_speed": "70", + "nozzle_diameter": [ + "0.25", + "0.25", + "0.25", + "0.25" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "0x0", + "256x0", + "256x256", + "0x256" + ], + "printable_height": "256", + "printer_model": "Flashforge Creator 5", + "printer_notes": "", + "printer_settings_id": "Flashforge Creator 5 0.25 nozzle", + "printer_structure": "corexy", + "printer_technology": "FFF", + "printer_variant": "0.25", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "100%", + "100%", + "100%", + "100%" + ], + "retract_length_toolchange": [ + "3", + "3", + "3", + "3" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_enforce": [ + "All Surfaces", + "All Surfaces", + "All Surfaces", + "All Surfaces" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "-0.8", + "-0.8", + "-0.8", + "-0.8" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18", + "18", + "18" + ], + "retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "2", + "2", + "2", + "2" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3", + "3", + "3", + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json index 5ffbd6a7fc..474e697fa1 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json index ce7727209f..a10c65d83e 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json index e747961d1e..0e3a29a2ad 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.25 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.25 nozzle.json new file mode 100644 index 0000000000..911c09f29c --- /dev/null +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.25 nozzle.json @@ -0,0 +1,310 @@ +{ + "type": "machine", + "name": "Flashforge Creator 5 Pro 0.25 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "rpmib7bIKa85LNMR", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "1", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_bed_type": "", + "default_filament_profile": [ + "Generic PLA @Flashforge" + ], + "default_print_profile": "0.12mm Standard @FF C5 0.25 nozzle", + "deretraction_speed": [ + "30", + "30", + "30", + "30" + ], + "disable_m73": "1", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "360", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_radius": "92", + "extruder_colour": [ + "#FCE94F", + "#FCE94F", + "#FCE94F", + "#FCE94F" + ], + "extruder_offset": [ + "0x0", + "0x0", + "0x0", + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ], + "machine_end_gcode": ";end_gcode\nG1 X150 Y150 E-1.2 F12000", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "30000", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "30000", + "20000" + ], + "machine_max_acceleration_y": [ + "30000", + "20000" + ], + "machine_max_acceleration_z": [ + "300", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], + "machine_max_jerk_z": [ + "3", + "3" + ], + "machine_max_junction_deviation": [ + "0", + "0" + ], + "machine_max_speed_e": [ + "30", + "30" + ], + "machine_max_speed_x": [ + "600", + "600" + ], + "machine_max_speed_y": [ + "600", + "600" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M25", + "machine_start_gcode": ";start_gcode\nM140 S[bed_temperature_initial_layer_single]\nM106 P101 S0 ; L+R_PLA_Turbo_Fan_0-255\nM106 P2 S0 ; Center_Fresch_Air_Input_Fan_for_PLA30%_(80_0-255) \nM191 S0 ; Chamber temp. max65C\nM106 S0 ; Model_Fan_(Heat_Break_Cooler_80-255)100%=255\nM106 P3 S0 ; Filter_Unit_Fan_0-255(ABS=255)\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F2400\nT[initial_extruder]\nM109 S[nozzle_temperature_initial_layer] T[initial_extruder]\nG1 X256 Y0 Z0.2 F6000\nG1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\nG1 X216 E10 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60}\n;start_gcode end", + "machine_tool_change_time": "7", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.14", + "0.14", + "0.14", + "0.14" + ], + "max_resonance_avoidance_speed": "120", + "min_layer_height": [ + "0.08", + "0.08", + "0.08", + "0.08" + ], + "min_resonance_avoidance_speed": "70", + "nozzle_diameter": [ + "0.25", + "0.25", + "0.25", + "0.25" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "hardened_steel", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "pellet_modded_printer": "0", + "preferred_orientation": "0", + "printable_area": [ + "0x0", + "256x0", + "256x256", + "0x256" + ], + "printable_height": "256", + "printer_model": "Flashforge Creator 5 Pro", + "printer_notes": "", + "printer_settings_id": "Flashforge Creator 5 Pro 0.25 nozzle", + "printer_structure": "corexy", + "printer_technology": "FFF", + "printer_variant": "0.25", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "100%", + "100%", + "100%", + "100%" + ], + "retract_length_toolchange": [ + "3", + "3", + "3", + "3" + ], + "retract_lift_above": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_below": [ + "0", + "0", + "0", + "0" + ], + "retract_lift_enforce": [ + "All Surfaces", + "All Surfaces", + "All Surfaces", + "All Surfaces" + ], + "retract_restart_extra": [ + "0", + "0", + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "-0.8", + "-0.8", + "-0.8", + "-0.8" + ], + "retract_when_changing_layer": [ + "1", + "1", + "1", + "1" + ], + "retraction_distances_when_cut": [ + "18", + "18", + "18", + "18" + ], + "retraction_length": [ + "0.8", + "0.8", + "0.8", + "0.8" + ], + "retraction_minimum_travel": [ + "2", + "2", + "2", + "2" + ], + "retraction_speed": [ + "30", + "30", + "30", + "30" + ], + "scan_first_layer": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "1", + "template_custom_gcode": "", + "thumbnails": "140x110/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3", + "3", + "3", + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1", + "1", + "1", + "1" + ], + "wipe_distance": [ + "2", + "2", + "2", + "2" + ], + "z_hop": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "z_hop_types": [ + "Auto Lift", + "Auto Lift", + "Auto Lift", + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json index 620fb3dec3..ec69837a3a 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json index 43c07989c6..d3d189d4e9 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json index 71d101c355..e596675ad0 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json @@ -264,7 +264,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "0", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro.json index bf8cbf3702..329aec09d9 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro.json @@ -2,11 +2,11 @@ "type": "machine_model", "name": "Flashforge Creator 5 Pro", "model_id": "Flashforge-Creator-5-Pro", - "nozzle_diameter": "0.4;0.6;0.8", + "nozzle_diameter": "0.25;0.4;0.6;0.8", "machine_tech": "FFF", "family": "Flashforge", "bed_model": "flashforge_c5_buildplate_model.stl", - "bed_texture": "flashforge_c5_buildplate_texture.png", + "bed_texture": "flashforge_c5_buildplate_texture.svg", "hotend_model": "", - "default_materials": "" + "default_materials": "Generic PLA @System;Generic PLA @FF C5P" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5.json index 8d5ac253b7..8512bdab4a 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5.json @@ -2,11 +2,11 @@ "type": "machine_model", "name": "Flashforge Creator 5", "model_id": "Flashforge-Creator-5", - "nozzle_diameter": "0.4;0.6;0.8", + "nozzle_diameter": "0.25;0.4;0.6;0.8", "machine_tech": "FFF", "family": "Flashforge", "bed_model": "flashforge_c5_buildplate_model.stl", - "bed_texture": "flashforge_c5_buildplate_texture.png", + "bed_texture": "flashforge_c5_buildplate_texture.svg", "hotend_model": "", - "default_materials": "" + "default_materials": "Generic PLA @System;Generic PLA @FF C5" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json index dcde8504e9..aeb84117fd 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json @@ -186,7 +186,6 @@ "35" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra.json b/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra.json index a830f2db98..3b3aa553e7 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider 3 Ultra.json @@ -8,5 +8,5 @@ "bed_model": "flashforge_g3u_buildplate_model.stl", "bed_texture": "flashforge_g3u_buildplate_texture.svg", "hotend_model": "", - "default_materials": "FusRock NexPA-CF25;FusRock PAHT-CF;FusRock PAHT-CF @G3U 0.6 Nozzle;FusRock PET-CF;FusRock PET-CF @G3U 0.6 Nozzle;FusRock S-Multi;FusRock S-PAHT;Generic ABS @Flashforge G3U;Generic ABS @Flashforge G3U 0.6 Nozzle;Generic ASA @Flashforge G3U;Generic ASA @Flashforge G3U 0.6 Nozzle;Generic HIPS @Flashforge;Generic HIPS @Flashforge G3U 0.6 Nozzle;Generic PETG @Flashforge G3U;Generic PETG @Flashforge G3U 0.6 Nozzle;Generic PETG @Flashforge G3U 0.8 Nozzle;Generic PETG-CF @Flashforge G3U;Generic PETG-CF @Flashforge G3U 0.6 Nozzle;Generic PETG-CF @Flashforge G3U 0.8 Nozzle;Generic PLA @Flashforge G3U;Generic PLA-CF @Flashforge G3U;Generic PLA-CF @Flashforge G3U 0.6 Nozzle;Generic PLA-CF @Flashforge G3U 0.8 Nozzle;Generic PVA @Flashforge;Polymaker CoPA;Polymaker S1" + "default_materials": "FusRock NexPA-CF25;FusRock PAHT-CF;FusRock PAHT-CF @G3U 0.6 Nozzle;FusRock PET-CF;FusRock PET-CF @G3U 0.6 Nozzle;FusRock S-Multi;FusRock S-PAHT;Generic ABS @Flashforge G3U;Generic ABS @Flashforge G3U 0.6 Nozzle;Generic ASA @Flashforge G3U;Generic ASA @Flashforge G3U 0.6 Nozzle;Generic HIPS @Flashforge;Generic HIPS @Flashforge G3U 0.6 Nozzle;Generic PETG @Flashforge G3U;Generic PETG @Flashforge G3U 0.6 Nozzle;Generic PETG @Flashforge G3U 0.8 Nozzle;Generic PETG-CF @Flashforge G3U;Generic PETG-CF @Flashforge G3U 0.6 Nozzle;Generic PETG-CF @Flashforge G3U 0.8 Nozzle;Generic PLA @Flashforge G3U;Generic PLA @Flashforge G3U 0.6 Nozzle;Generic PLA @Flashforge G3U 0.8 Nozzle;Generic PLA-CF @Flashforge G3U;Generic PLA-CF @Flashforge G3U 0.6 Nozzle;Generic PLA-CF @Flashforge G3U 0.8 Nozzle;Generic PVA @Flashforge;Polymaker CoPA;Polymaker S1" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.25 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.25 nozzle.json index b7a7d5f6ba..85efedf8f9 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.25 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.25 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge" + "Flashforge PLA Basic @FF G4 0.25 nozzle" ], "default_print_profile": "0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "deretraction_speed": [ @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 HF nozzle.json index f13d0aa125..b8e60f92d3 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U" + "Flashforge PLA Basic @FF G4 HF" ], "default_print_profile": "0.20mm Standard @Flashforge G3U 0.4 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 nozzle.json index 22148f62db..f60d1df816 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.4 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge" + "Flashforge PLA Basic @FF G4" ], "default_print_profile": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "deretraction_speed": [ @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 HF nozzle.json index 4eb27093aa..38d0321592 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4 0.6 HF nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 nozzle.json index 56a63623fd..ceece27959 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.6 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4 0.6 nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.8 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.8 HF nozzle.json index 64853e95fa..35c85dc400 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 0.8 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 0.8 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4 0.8 HF nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.25 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.25 nozzle.json index 4fbf0d684e..fdddbe17ed 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.25 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.25 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge" + "Flashforge PLA Basic @FF G4P 0.25 nozzle" ], "default_print_profile": "0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "deretraction_speed": [ @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 HF nozzle.json index 9c0b57c05c..7b3566197e 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U" + "Flashforge PLA Basic @FF G4P HF" ], "default_print_profile": "0.20mm Standard @Flashforge G3U 0.4 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 nozzle.json index 58daabb444..3ea39fdb11 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.4 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge" + "Flashforge PLA Basic @FF G4P" ], "default_print_profile": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "deretraction_speed": [ @@ -199,7 +199,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 HF nozzle.json index 49756682ba..0a7d2dd29b 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4P 0.6 HF nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 nozzle.json index 8c1a60781b..6b9031f8fe 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.6 nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4P 0.6 nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.8 HF nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.8 HF nozzle.json index 1140b773e3..37efacacde 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.8 HF nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro 0.8 HF nozzle.json @@ -23,7 +23,7 @@ "cooling_tube_length": "0", "cooling_tube_retraction": "0", "default_filament_profile": [ - "Generic PLA @Flashforge G3U 0.6 Nozzle" + "Flashforge PLA Basic @FF G4P 0.8 HF nozzle" ], "default_print_profile": "0.30mm Standard @Flashforge G3U 0.6 Nozzle", "deretraction_speed": [ @@ -200,7 +200,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro.json b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro.json index 4bcdc78d4a..cac18081f6 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4 Pro.json @@ -8,5 +8,5 @@ "bed_model": "flashforge_g4pro_buildplate_model.stl", "bed_texture": "flashforge_g4pro_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PVA @Flashforge;Generic HIPS @Flashforge;Generic PETG-CF @Flashforge G3U;Generic PETG @Flashforge G3U;Generic PLA-CF @Flashforge G3U;Generic PLA @Flashforge G3U;Generic ASA @Flashforge G3U;Generic ABS @Flashforge G3U;FusRock PET-CF;FusRock PAHT-CF;FusRock NexPA-CF25;FusRock S-Multi;FusRock S-PAHT;Polymaker CoPA;Polymaker S1" + "default_materials": "Generic PVA @Flashforge;Generic HIPS @Flashforge;Generic PETG-CF @Flashforge G3U;Generic PETG @Flashforge G3U;Generic PLA-CF @Flashforge G3U;Generic PLA @Flashforge G3U;Generic ASA @Flashforge G3U;Generic ABS @Flashforge G3U;FusRock PET-CF;FusRock PAHT-CF;FusRock NexPA-CF25;FusRock S-Multi;FusRock S-PAHT;Polymaker CoPA;Polymaker S1;Flashforge PLA Basic @FF G4P 0.25 nozzle;Flashforge PLA Basic @FF G4P HF;Flashforge PLA Basic @FF G4P;Flashforge PLA Basic @FF G4P 0.6 HF nozzle;Flashforge PLA Basic @FF G4P 0.6 nozzle;Flashforge PLA Basic @FF G4P 0.8 HF nozzle" } diff --git a/resources/profiles/Flashforge/machine/Flashforge Guider4.json b/resources/profiles/Flashforge/machine/Flashforge Guider4.json index 0cd89727d1..6633eb093f 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Guider4.json +++ b/resources/profiles/Flashforge/machine/Flashforge Guider4.json @@ -8,5 +8,5 @@ "bed_model": "flashforge_g4pro_buildplate_model.stl", "bed_texture": "flashforge_g4pro_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PVA @Flashforge;Generic HIPS @Flashforge;Generic PETG-CF @Flashforge G3U;Generic PETG @Flashforge G3U;Generic PLA-CF @Flashforge G3U;Generic PLA @Flashforge G3U;Generic ASA @Flashforge G3U;Generic ABS @Flashforge G3U;FusRock PET-CF;FusRock PAHT-CF;FusRock NexPA-CF25;FusRock S-Multi;FusRock S-PAHT;Polymaker CoPA;Polymaker S1" + "default_materials": "Generic PVA @Flashforge;Generic HIPS @Flashforge;Generic PETG-CF @Flashforge G3U;Generic PETG @Flashforge G3U;Generic PLA-CF @Flashforge G3U;Generic PLA @Flashforge G3U;Generic ASA @Flashforge G3U;Generic ABS @Flashforge G3U;FusRock PET-CF;FusRock PAHT-CF;FusRock NexPA-CF25;FusRock S-Multi;FusRock S-PAHT;Polymaker CoPA;Polymaker S1;Flashforge PLA Basic @FF G4 0.25 nozzle;Flashforge PLA Basic @FF G4 HF;Flashforge PLA Basic @FF G4;Flashforge PLA Basic @FF G4 0.6 HF nozzle;Flashforge PLA Basic @FF G4 0.6 nozzle;Flashforge PLA Basic @FF G4 0.8 HF nozzle" } diff --git a/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json b/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json index 2808e866e3..1ab9ef81e8 100644 --- a/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json +++ b/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json @@ -96,6 +96,7 @@ "default_filament_profile": [ "Generic PLA @Flashforge" ], + "file_start_gcode": "; estimated printing time (normal mode) = {print_time_day}d {print_time_hour}h {print_time_minute}m {print_time_sec}s", "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-0.2 F800\nG1 X110 Y-110 F6000\nG1 E2 F800\nG1 Y-110 X55 Z0.25 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG1 Y-110 X55 Z0.45 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG92 E0", "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Flashforge/machine/fdm_flashforge_common.json b/resources/profiles/Flashforge/machine/fdm_flashforge_common.json index 7e2e700885..1c71c396eb 100644 --- a/resources/profiles/Flashforge/machine/fdm_flashforge_common.json +++ b/resources/profiles/Flashforge/machine/fdm_flashforge_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Flashforge/machine/fdm_klipper_common.json b/resources/profiles/Flashforge/machine/fdm_klipper_common.json index 3126f70c76..d11eb22558 100644 --- a/resources/profiles/Flashforge/machine/fdm_klipper_common.json +++ b/resources/profiles/Flashforge/machine/fdm_klipper_common.json @@ -116,8 +116,6 @@ "deretraction_speed": [ "80" ], - "z_lift_type": "NormalLift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Flashforge/machine/fdm_machine_common.json b/resources/profiles/Flashforge/machine/fdm_machine_common.json index d4bef57491..6361133d45 100644 --- a/resources/profiles/Flashforge/machine/fdm_machine_common.json +++ b/resources/profiles/Flashforge/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "0.20mm Standard @Flashforge AD5M", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/Flashforge/process/0.06mm Standard @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.06mm Standard @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..62a2cbd3d1 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.06mm Standard @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.06mm Standard @FF Adventurer A5 0.25 nozzle", + "inherits": "0.06mm Standard @Flashforge AD5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "426xS3MFF3smfdDE", + "instantiation": "true", + "elefant_foot_compensation": "0.15", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.06mm Standard @FF Adventurer A5 0.25 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "wipe_speed": "200" +} diff --git a/resources/profiles/Flashforge/process/0.08mm Standard @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.08mm Standard @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..21c8dd069b --- /dev/null +++ b/resources/profiles/Flashforge/process/0.08mm Standard @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.08mm Standard @FF Adventurer A5 0.25 nozzle", + "inherits": "0.08mm Standard @Flashforge AD5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "2N8NG8IpxxCPXZlq", + "instantiation": "true", + "elefant_foot_compensation": "0.15", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.08mm Standard @FF Adventurer A5 0.25 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "wipe_speed": "200" +} diff --git a/resources/profiles/Flashforge/process/0.08mm Standard @FF C5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.08mm Standard @FF C5 0.25 nozzle.json new file mode 100644 index 0000000000..09221f10b2 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.08mm Standard @FF C5 0.25 nozzle.json @@ -0,0 +1,28 @@ +{ + "type": "process", + "name": "0.08mm Standard @FF C5 0.25 nozzle", + "inherits": "0.10mm Standard @FF AD5X 0.25 nozzle", + "from": "system", + "setting_id": "KrOSCGKyvNy9v08u", + "instantiation": "true", + "bottom_solid_infill_flow_ratio": "1", + "compatible_printers": [ + "Flashforge Creator 5 0.25 nozzle", + "Flashforge Creator 5 Pro 0.25 nozzle" + ], + "initial_layer_print_height": "0.1", + "internal_bridge_flow": "1", + "layer_height": "0.08", + "ooze_prevention": "1", + "preheat_time": "20", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "print_settings_id": "0.08mm Standard @FF C5 0.25 nozzle", + "small_perimeter_speed": "30", + "standby_temperature_delta": "-100", + "top_solid_infill_flow_ratio": "1" +} diff --git a/resources/profiles/Flashforge/process/0.10mm Standard @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.10mm Standard @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..a53d6c235f --- /dev/null +++ b/resources/profiles/Flashforge/process/0.10mm Standard @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.10mm Standard @FF Adventurer A5 0.25 nozzle", + "inherits": "0.10mm Standard @Flashforge AD5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "H74U0yaiNgyQpdbc", + "instantiation": "true", + "elefant_foot_compensation": "0.15", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.10mm Standard @FF Adventurer A5 0.25 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "wipe_speed": "200" +} diff --git a/resources/profiles/Flashforge/process/0.10mm Standard @FF C5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.10mm Standard @FF C5 0.25 nozzle.json new file mode 100644 index 0000000000..47ea8c6322 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.10mm Standard @FF C5 0.25 nozzle.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "name": "0.10mm Standard @FF C5 0.25 nozzle", + "inherits": "0.10mm Standard @FF AD5X 0.25 nozzle", + "from": "system", + "setting_id": "0Mep1gVTvD4RwK53", + "instantiation": "true", + "bottom_solid_infill_flow_ratio": "1", + "compatible_printers": [ + "Flashforge Creator 5 0.25 nozzle", + "Flashforge Creator 5 Pro 0.25 nozzle" + ], + "initial_layer_print_height": "0.1", + "internal_bridge_flow": "1", + "ooze_prevention": "1", + "preheat_time": "20", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "print_settings_id": "0.10mm Standard @FF C5 0.25 nozzle", + "small_perimeter_speed": "30", + "standby_temperature_delta": "-100", + "top_solid_infill_flow_ratio": "1" +} diff --git a/resources/profiles/Flashforge/process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json index 1b85975878..38862d967c 100644 --- a/resources/profiles/Flashforge/process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json +++ b/resources/profiles/Flashforge/process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1VeWY2d3H1hYEkzL", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "80%", "brim_width": "5", @@ -33,7 +32,6 @@ "inner_wall_speed": "200", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "200", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "200", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Flashforge/process/0.12mm Fine @FF Adventurer A5 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.12mm Fine @FF Adventurer A5 0.4 nozzle.json new file mode 100644 index 0000000000..58b5bc5c5d --- /dev/null +++ b/resources/profiles/Flashforge/process/0.12mm Fine @FF Adventurer A5 0.4 nozzle.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "0.12mm Fine @FF Adventurer A5 0.4 nozzle", + "inherits": "0.12mm Fine @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "G5AhxHk95GfXw6ec", + "instantiation": "true", + "bridge_flow": "1", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle" + ], + "infill_wall_overlap": "15%", + "initial_layer_print_height": "0.2", + "only_one_wall_top": "1", + "print_settings_id": "0.12mm Fine @FF Adventurer A5 0.4 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "support_line_width": "0.42" +} diff --git a/resources/profiles/Flashforge/process/0.12mm Standard @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.12mm Standard @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..ddd5449889 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.12mm Standard @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.12mm Standard @FF Adventurer A5 0.25 nozzle", + "inherits": "0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "x28lWqpQxkirzYXm", + "instantiation": "true", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "slowdown_for_curled_perimeters": "0", + "print_settings_id": "0.12mm Standard @FF Adventurer A5 0.25 nozzle", + "sparse_infill_pattern": "grid" +} diff --git a/resources/profiles/Flashforge/process/0.12mm Standard @FF C5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.12mm Standard @FF C5 0.25 nozzle.json new file mode 100644 index 0000000000..df33cdf344 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.12mm Standard @FF C5 0.25 nozzle.json @@ -0,0 +1,28 @@ +{ + "type": "process", + "name": "0.12mm Standard @FF C5 0.25 nozzle", + "inherits": "0.10mm Standard @FF AD5X 0.25 nozzle", + "from": "system", + "setting_id": "rcKQBKZJvCfrfzqV", + "instantiation": "true", + "bottom_solid_infill_flow_ratio": "1", + "compatible_printers": [ + "Flashforge Creator 5 0.25 nozzle", + "Flashforge Creator 5 Pro 0.25 nozzle" + ], + "initial_layer_print_height": "0.1", + "internal_bridge_flow": "1", + "layer_height": "0.12", + "ooze_prevention": "1", + "preheat_time": "20", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "print_settings_id": "0.12mm Standard @FF C5 0.25 nozzle", + "small_perimeter_speed": "30", + "standby_temperature_delta": "-100", + "top_solid_infill_flow_ratio": "1" +} diff --git a/resources/profiles/Flashforge/process/0.14mm Standard @FF Adventurer A5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.14mm Standard @FF Adventurer A5 0.25 nozzle.json new file mode 100644 index 0000000000..09cf76fb60 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.14mm Standard @FF Adventurer A5 0.25 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.14mm Standard @FF Adventurer A5 0.25 nozzle", + "inherits": "0.14mm Standard @Flashforge AD5M Pro 0.25 Nozzle", + "from": "system", + "setting_id": "Xx4fcIZ3esI4IXbl", + "instantiation": "true", + "elefant_foot_compensation": "0.15", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.25 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.14mm Standard @FF Adventurer A5 0.25 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "wipe_speed": "200" +} diff --git a/resources/profiles/Flashforge/process/0.14mm Standard @FF C5 0.25 nozzle.json b/resources/profiles/Flashforge/process/0.14mm Standard @FF C5 0.25 nozzle.json new file mode 100644 index 0000000000..fd6f8f560d --- /dev/null +++ b/resources/profiles/Flashforge/process/0.14mm Standard @FF C5 0.25 nozzle.json @@ -0,0 +1,28 @@ +{ + "type": "process", + "name": "0.14mm Standard @FF C5 0.25 nozzle", + "inherits": "0.10mm Standard @FF AD5X 0.25 nozzle", + "from": "system", + "setting_id": "749mQY3CU2jk0MOd", + "instantiation": "true", + "bottom_solid_infill_flow_ratio": "1", + "compatible_printers": [ + "Flashforge Creator 5 0.25 nozzle", + "Flashforge Creator 5 Pro 0.25 nozzle" + ], + "initial_layer_print_height": "0.1", + "internal_bridge_flow": "1", + "layer_height": "0.14", + "ooze_prevention": "1", + "preheat_time": "20", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "print_settings_id": "0.14mm Standard @FF C5 0.25 nozzle", + "small_perimeter_speed": "30", + "standby_temperature_delta": "-100", + "top_solid_infill_flow_ratio": "1" +} diff --git a/resources/profiles/Flashforge/process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json index 577586baaf..1dde9465a0 100644 --- a/resources/profiles/Flashforge/process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json +++ b/resources/profiles/Flashforge/process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "VPKIYFY99e6eS9Nd", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "25", "internal_bridge_speed": "150%", @@ -34,7 +33,6 @@ "inner_wall_speed": "60", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "200", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "200", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Flashforge/process/0.18mm Fine @FF Adventurer A5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.18mm Fine @FF Adventurer A5 0.6 nozzle.json new file mode 100644 index 0000000000..6213e93574 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.18mm Fine @FF Adventurer A5 0.6 nozzle.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "0.18mm Fine @FF Adventurer A5 0.6 nozzle", + "inherits": "0.18mm Fine @Flashforge AD5M Pro 0.6 Nozzle", + "from": "system", + "setting_id": "USICCgjHQ4aHkqMM", + "instantiation": "true", + "enable_arc_fitting": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.6 nozzle" + ], + "infill_wall_overlap": "15%", + "initial_layer_print_height": "0.25", + "only_one_wall_top": "1", + "print_settings_id": "0.18mm Fine @FF Adventurer A5 0.6 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2" +} diff --git a/resources/profiles/Flashforge/process/0.20mm High-Speed @Flashforge AD4 HS Nozzle.json b/resources/profiles/Flashforge/process/0.20mm High-Speed @Flashforge AD4 HS Nozzle.json index ad89354ae1..176e4c0031 100644 --- a/resources/profiles/Flashforge/process/0.20mm High-Speed @Flashforge AD4 HS Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm High-Speed @Flashforge AD4 HS Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "60", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @FF Adventurer A5 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @FF Adventurer A5 0.4 nozzle.json new file mode 100644 index 0000000000..4f1e8cba7c --- /dev/null +++ b/resources/profiles/Flashforge/process/0.20mm Standard @FF Adventurer A5 0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "name": "0.20mm Standard @FF Adventurer A5 0.4 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "ZrWC7sW8I5eH0nI0", + "instantiation": "true", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.20mm Standard @FF Adventurer A5 0.4 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2" +} diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD3 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD3 0.4 Nozzle.json index 619014c8a4..54cb9bd666 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD3 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD3 0.4 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "48", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD4 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD4 0.4 Nozzle.json index 2e81b9758f..a2867c886b 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD4 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge AD4 0.4 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json index 1b9fd03771..cb003b72c7 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "80%", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json index aeb81d2dd9..fd4dda1aea 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json @@ -116,7 +116,6 @@ "overhang_4_4_speed": "10", "overhang_reverse": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "5", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json index 97d51bec7f..c3d5382f70 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "uknnclg0sGPLeGcN", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50%", "internal_bridge_speed": "70%", @@ -34,7 +33,6 @@ "inner_wall_speed": "200", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "200", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "200", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Flashforge/process/0.24mm Draft @FF Adventurer A5 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.24mm Draft @FF Adventurer A5 0.4 nozzle.json new file mode 100644 index 0000000000..7cbac2a836 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.24mm Draft @FF Adventurer A5 0.4 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.24mm Draft @FF Adventurer A5 0.4 nozzle", + "inherits": "0.24mm Draft @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "setting_id": "nniAHPVQxmVlEZqp", + "instantiation": "true", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.4 nozzle" + ], + "infill_wall_overlap": "15%", + "initial_layer_print_height": "0.25", + "only_one_wall_top": "1", + "print_settings_id": "0.24mm Draft @FF Adventurer A5 0.4 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2" +} diff --git a/resources/profiles/Flashforge/process/0.24mm Fine @FF Adventurer A5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.24mm Fine @FF Adventurer A5 0.8 nozzle.json new file mode 100644 index 0000000000..8ff452ef10 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.24mm Fine @FF Adventurer A5 0.8 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "name": "0.24mm Fine @FF Adventurer A5 0.8 nozzle", + "inherits": "0.24mm Fine @Flashforge AD5M Pro 0.8 Nozzle", + "from": "system", + "setting_id": "INfUgOlQBMZLYrfu", + "instantiation": "true", + "bridge_flow": "1", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.8 nozzle" + ], + "infill_wall_overlap": "15%", + "initial_layer_print_height": "0.3", + "only_one_wall_top": "1", + "print_settings_id": "0.24mm Fine @FF Adventurer A5 0.8 nozzle", + "slowdown_for_curled_perimeters": "0", + "sparse_infill_pattern": "grid" +} diff --git a/resources/profiles/Flashforge/process/0.25mm Standard @FF G4P 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.25mm Standard @FF G4P 0.6 nozzle.json index a2b3f3db1d..12f44410c9 100644 --- a/resources/profiles/Flashforge/process/0.25mm Standard @FF G4P 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.25mm Standard @FF G4P 0.6 nozzle.json @@ -40,7 +40,6 @@ "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", "overhang_4_4_speed": "12", - "overhang_speed_classic": "1", "prime_tower_width": "45", "prime_volume": "45", "print_settings_id": "0.25mm Standard @FF G4P 0.6 nozzle", diff --git a/resources/profiles/Flashforge/process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json b/resources/profiles/Flashforge/process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json index 3eda3c3d34..b7cbce9215 100644 --- a/resources/profiles/Flashforge/process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "twWwqkfSRYeAkuzT", "instantiation": "true", - "adaptive_layer_height": "0", "bridge_flow": "1", "bridge_speed": "50%", "internal_bridge_speed": "70%", @@ -34,7 +33,6 @@ "inner_wall_speed": "200", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "200", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "200", "ironing_flow": "10%", "ironing_spacing": "0.15", diff --git a/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD3 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD3 0.4 Nozzle.json index e17b0e8d9f..6520c4fb48 100644 --- a/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD3 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD3 0.4 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "64", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD4 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD4 0.4 Nozzle.json index ea65c7de1b..52155fcc22 100644 --- a/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD4 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Fast @Flashforge AD4 0.4 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @FF Adventurer A5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @FF Adventurer A5 0.6 nozzle.json new file mode 100644 index 0000000000..d8376dad80 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.30mm Standard @FF Adventurer A5 0.6 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Standard @FF Adventurer A5 0.6 nozzle", + "inherits": "0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle", + "from": "system", + "setting_id": "zNxUHo9HvYPlL2KP", + "instantiation": "true", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.6 nozzle" + ], + "infill_wall_overlap": "15%", + "only_one_wall_top": "1", + "print_settings_id": "0.30mm Standard @FF Adventurer A5 0.6 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2" +} diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @FF G4P 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @FF G4P 0.6 nozzle.json index 238d3e3330..03dc328fd6 100644 --- a/resources/profiles/Flashforge/process/0.30mm Standard @FF G4P 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Standard @FF G4P 0.6 nozzle.json @@ -35,7 +35,6 @@ "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", "overhang_4_4_speed": "12", - "overhang_speed_classic": "1", "prime_tower_width": "45", "prime_volume": "45", "print_settings_id": "0.30mm Standard @FF G4P 0.6 nozzle", diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD3 0.6 Nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD3 0.6 Nozzle.json index 65f1ad351a..5485ef51e7 100644 --- a/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD3 0.6 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Standard @Flashforge AD3 0.6 Nozzle.json @@ -45,7 +45,6 @@ "min_bead_width": "100", "elefant_foot_compensation": "0.15", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "accel_to_decel_enable": "0", "filter_out_gap_fill": "0.5", diff --git a/resources/profiles/Flashforge/process/0.36mm Standard @FF G4P 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.36mm Standard @FF G4P 0.6 nozzle.json index 7c7e132ac3..8f7bd267cb 100644 --- a/resources/profiles/Flashforge/process/0.36mm Standard @FF G4P 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.36mm Standard @FF G4P 0.6 nozzle.json @@ -36,7 +36,6 @@ "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", "overhang_4_4_speed": "12", - "overhang_speed_classic": "1", "prime_tower_width": "45", "prime_volume": "45", "print_settings_id": "0.36mm Standard @FF G4P 0.6 nozzle", diff --git a/resources/profiles/Flashforge/process/0.40mm Standard @FF Adventurer A5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.40mm Standard @FF Adventurer A5 0.8 nozzle.json new file mode 100644 index 0000000000..4a0300bccc --- /dev/null +++ b/resources/profiles/Flashforge/process/0.40mm Standard @FF Adventurer A5 0.8 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "process", + "name": "0.40mm Standard @FF Adventurer A5 0.8 nozzle", + "inherits": "0.40mm Standard @Flashforge AD5M Pro 0.8 Nozzle", + "from": "system", + "setting_id": "Davfy2YyV2b7ofhd", + "instantiation": "true", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.8 nozzle" + ], + "infill_wall_overlap": "15%", + "print_settings_id": "0.40mm Standard @FF Adventurer A5 0.8 nozzle", + "slowdown_for_curled_perimeters": "0", + "sparse_infill_pattern": "grid", + "support_bottom_z_distance": "0.25", + "support_top_z_distance": "0.25" +} diff --git a/resources/profiles/Flashforge/process/0.42mm Draft @FF Adventurer A5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.42mm Draft @FF Adventurer A5 0.6 nozzle.json new file mode 100644 index 0000000000..de9c64ea11 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.42mm Draft @FF Adventurer A5 0.6 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.42mm Draft @FF Adventurer A5 0.6 nozzle", + "inherits": "0.42mm Draft @Flashforge AD5M Pro 0.6 Nozzle", + "from": "system", + "setting_id": "k35K2zIeyVhqNVC1", + "instantiation": "true", + "bridge_flow": "1", + "enable_arc_fitting": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "compatible_printers": [ + "Flashforge Adventurer A5 0.6 nozzle" + ], + "infill_wall_overlap": "15%", + "initial_layer_print_height": "0.3", + "only_one_wall_top": "1", + "print_settings_id": "0.42mm Draft @FF Adventurer A5 0.6 nozzle", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "slowdown_for_curled_perimeters": "0", + "small_perimeter_speed": "25", + "sparse_infill_pattern": "grid" +} diff --git a/resources/profiles/Flashforge/process/0.42mm Standard @FF G4P 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.42mm Standard @FF G4P 0.6 nozzle.json index 66a91699de..054f652ea8 100644 --- a/resources/profiles/Flashforge/process/0.42mm Standard @FF G4P 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.42mm Standard @FF G4P 0.6 nozzle.json @@ -36,7 +36,6 @@ "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", "overhang_4_4_speed": "12", - "overhang_speed_classic": "1", "prime_tower_width": "45", "prime_volume": "45", "print_settings_id": "0.42mm Standard @FF G4P 0.6 nozzle", diff --git a/resources/profiles/Flashforge/process/0.56mm Draft @FF Adventurer A5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.56mm Draft @FF Adventurer A5 0.8 nozzle.json new file mode 100644 index 0000000000..b95c9c1895 --- /dev/null +++ b/resources/profiles/Flashforge/process/0.56mm Draft @FF Adventurer A5 0.8 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.56mm Draft @FF Adventurer A5 0.8 nozzle", + "inherits": "0.56mm Draft @Flashforge AD5M Pro 0.8 Nozzle", + "from": "system", + "setting_id": "AMe67pwFNPpsDJ9B", + "instantiation": "true", + "enable_arc_fitting": "1", + "compatible_printers": [ + "Flashforge Adventurer A5 0.8 nozzle" + ], + "infill_wall_overlap": "25%", + "print_settings_id": "0.56mm Draft @FF Adventurer A5 0.8 nozzle", + "slowdown_for_curled_perimeters": "0", + "sparse_infill_pattern": "grid" +} diff --git a/resources/profiles/Flashforge/process/fdm_process_common.json b/resources/profiles/Flashforge/process/fdm_process_common.json index 362b69213e..fc96799afe 100644 --- a/resources/profiles/Flashforge/process/fdm_process_common.json +++ b/resources/profiles/Flashforge/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.20.json b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.20.json index 8d5afce023..1288ef847e 100644 --- a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.20.json +++ b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.20.json @@ -11,7 +11,6 @@ "gap_infill_speed": "200", "sparse_infill_speed": "270", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "internal_solid_infill_acceleration": "7000", "accel_to_decel_enable": "0", diff --git a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.30.json b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.30.json index c55ea16d6b..9ef898d154 100644 --- a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.30.json +++ b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.30.json @@ -19,7 +19,6 @@ "top_surface_speed": "120", "gap_infill_speed": "150", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "internal_solid_infill_acceleration": "7000", "accel_to_decel_enable": "0", diff --git a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.40.json b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.40.json index 570bc9b175..12571d7331 100644 --- a/resources/profiles/Flashforge/process/fdm_process_flashforge_0.40.json +++ b/resources/profiles/Flashforge/process/fdm_process_flashforge_0.40.json @@ -19,7 +19,6 @@ "top_surface_speed": "120", "gap_infill_speed": "150", "small_perimeter_speed": "50%", - "overhang_speed_classic": "0", "internal_bridge_speed": "50", "internal_solid_infill_acceleration": "7000", "accel_to_decel_enable": "0", diff --git a/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json b/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json index 09beed2646..9149caaef1 100644 --- a/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json +++ b/resources/profiles/Flashforge/process/fdm_process_flashforge_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "travel_acceleration": "10000", "inner_wall_acceleration": "5000", diff --git a/resources/profiles/FlyingBear.json b/resources/profiles/FlyingBear.json index 5be5a8d4a3..8c09e115e2 100644 --- a/resources/profiles/FlyingBear.json +++ b/resources/profiles/FlyingBear.json @@ -1,6 +1,6 @@ { "name": "FlyingBear", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "1", "description": "FlyingBear configurations", "machine_model_list": [ diff --git a/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7 0.4 nozzle.json b/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7 0.4 nozzle.json index 4da21780a1..9f195a4eca 100644 --- a/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7 0.4 nozzle.json +++ b/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7 0.4 nozzle.json @@ -180,7 +180,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ @@ -199,6 +198,6 @@ "0.4" ], "z_hop_types": [ - "Normal Lift" + "Auto Lift" ] } diff --git a/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7.json b/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7.json index 795743dc1f..67d3d6181a 100644 --- a/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7.json +++ b/resources/profiles/FlyingBear/machine/Ghost7/FlyingBear Ghost7.json @@ -8,5 +8,5 @@ "bed_model": "FlyingBear Ghost7-bed.stl", "bed_texture": "FlyingBear Ghost7-texture.png", "hotend_model": "", - "default_materials": "Generic ABS @FlyingBear;Generic PA-CF @FlyingBear;Generic PC @FlyingBear;Generic PETG @FlyingBear;Generic PLA @FlyingBear;Generic TPU @FlyingBear" + "default_materials": "Generic ABS @FlyingBear;Generic PA-CF @FlyingBear;Generic PC @FlyingBear;Generic PETG @FlyingBear;Generic PLA @FlyingBear;Generic TPU @FlyingBear;FlyingBear PLA Basic @Ghost7" } diff --git a/resources/profiles/FlyingBear/machine/S1/FlyingBear S1 0.4 nozzle.json b/resources/profiles/FlyingBear/machine/S1/FlyingBear S1 0.4 nozzle.json index 4e176dca31..442050312c 100644 --- a/resources/profiles/FlyingBear/machine/S1/FlyingBear S1 0.4 nozzle.json +++ b/resources/profiles/FlyingBear/machine/S1/FlyingBear S1 0.4 nozzle.json @@ -177,7 +177,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ diff --git a/resources/profiles/FlyingBear/machine/S1/FlyingBear S1.json b/resources/profiles/FlyingBear/machine/S1/FlyingBear S1.json index 53ca3accb9..0e0627029b 100644 --- a/resources/profiles/FlyingBear/machine/S1/FlyingBear S1.json +++ b/resources/profiles/FlyingBear/machine/S1/FlyingBear S1.json @@ -8,5 +8,5 @@ "bed_model": "FlyingBear S1-bed.stl", "bed_texture": "FlyingBear S1-texture.png", "hotend_model": "", - "default_materials": "Generic ABS @FlyingBear;Generic PA-CF @FlyingBear;Generic PC @FlyingBear;Generic PETG @FlyingBear;Generic PLA @FlyingBear;Generic TPU @FlyingBear" + "default_materials": "Generic ABS @FlyingBear;Generic PA-CF @FlyingBear;Generic PC @FlyingBear;Generic PETG @FlyingBear;Generic PLA @FlyingBear;Generic TPU @FlyingBear;FlyingBear PLA @S1" } diff --git a/resources/profiles/FlyingBear/machine/fdm_klipper_common.json b/resources/profiles/FlyingBear/machine/fdm_klipper_common.json index d9170b7fec..f70809115f 100644 --- a/resources/profiles/FlyingBear/machine/fdm_klipper_common.json +++ b/resources/profiles/FlyingBear/machine/fdm_klipper_common.json @@ -176,7 +176,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ diff --git a/resources/profiles/FlyingBear/machine/fdm_machine_common.json b/resources/profiles/FlyingBear/machine/fdm_machine_common.json index 9b3574e7de..c6309bb273 100644 --- a/resources/profiles/FlyingBear/machine/fdm_machine_common.json +++ b/resources/profiles/FlyingBear/machine/fdm_machine_common.json @@ -172,7 +172,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ diff --git a/resources/profiles/FlyingBear/machine/fdm_marlin_common.json b/resources/profiles/FlyingBear/machine/fdm_marlin_common.json index 41ac0f91ca..d3c1abf330 100644 --- a/resources/profiles/FlyingBear/machine/fdm_marlin_common.json +++ b/resources/profiles/FlyingBear/machine/fdm_marlin_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/FlyingBear/process/0.16mm Optimal @FlyingBear Reborn3.json b/resources/profiles/FlyingBear/process/0.16mm Optimal @FlyingBear Reborn3.json index b8200ed6aa..4f4f7c8ae5 100644 --- a/resources/profiles/FlyingBear/process/0.16mm Optimal @FlyingBear Reborn3.json +++ b/resources/profiles/FlyingBear/process/0.16mm Optimal @FlyingBear Reborn3.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/FlyingBear/process/Ghost7/0.16mm Optimal @FlyingBear Ghost7.json b/resources/profiles/FlyingBear/process/Ghost7/0.16mm Optimal @FlyingBear Ghost7.json index 36f8e3705c..70b79e5397 100644 --- a/resources/profiles/FlyingBear/process/Ghost7/0.16mm Optimal @FlyingBear Ghost7.json +++ b/resources/profiles/FlyingBear/process/Ghost7/0.16mm Optimal @FlyingBear Ghost7.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json b/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json index 9b34de8437..5c020a7a1e 100644 --- a/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json +++ b/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "150", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/FlyingBear/process/S1/0.16mm Optimal @FlyingBear S1.json b/resources/profiles/FlyingBear/process/S1/0.16mm Optimal @FlyingBear S1.json index 27c9643f05..965f71c7f4 100644 --- a/resources/profiles/FlyingBear/process/S1/0.16mm Optimal @FlyingBear S1.json +++ b/resources/profiles/FlyingBear/process/S1/0.16mm Optimal @FlyingBear S1.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json b/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json index d922fcf3dc..3b7cdda9e9 100644 --- a/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json +++ b/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/FlyingBear/process/fdm_process_common.json b/resources/profiles/FlyingBear/process/fdm_process_common.json index 7e7bc9ddb1..bfd2a604e6 100644 --- a/resources/profiles/FlyingBear/process/fdm_process_common.json +++ b/resources/profiles/FlyingBear/process/fdm_process_common.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/FlyingBear/process/fdm_process_marlin_common.json b/resources/profiles/FlyingBear/process/fdm_process_marlin_common.json index 6dd6b765be..72d4365446 100644 --- a/resources/profiles/FlyingBear/process/fdm_process_marlin_common.json +++ b/resources/profiles/FlyingBear/process/fdm_process_marlin_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -83,7 +82,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "45", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Folgertech.json b/resources/profiles/Folgertech.json index a20dc8992e..24f68067e7 100644 --- a/resources/profiles/Folgertech.json +++ b/resources/profiles/Folgertech.json @@ -1,6 +1,6 @@ { "name": "Folgertech", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Folgertech configurations", "machine_model_list": [ diff --git a/resources/profiles/Folgertech/machine/fdm_folgertech_common.json b/resources/profiles/Folgertech/machine/fdm_folgertech_common.json index 035e434afe..c534b9cacb 100644 --- a/resources/profiles/Folgertech/machine/fdm_folgertech_common.json +++ b/resources/profiles/Folgertech/machine/fdm_folgertech_common.json @@ -115,7 +115,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/Folgertech/machine/fdm_machine_common.json b/resources/profiles/Folgertech/machine/fdm_machine_common.json index 04ab524f9c..f7f0f31d7e 100644 --- a/resources/profiles/Folgertech/machine/fdm_machine_common.json +++ b/resources/profiles/Folgertech/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "0.16mm Optimal @Bambu Lab X1 Carbon 0.4 nozzle", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", diff --git a/resources/profiles/Folgertech/process/fdm_process_common.json b/resources/profiles/Folgertech/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Folgertech/process/fdm_process_common.json +++ b/resources/profiles/Folgertech/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json index d04362b5af..caecb87a65 100644 --- a/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json +++ b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Geeetech.json b/resources/profiles/Geeetech.json index cdd862e161..26651c6109 100644 --- a/resources/profiles/Geeetech.json +++ b/resources/profiles/Geeetech.json @@ -1,6 +1,6 @@ { "name": "Geeetech", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Geeetech configurations", "machine_model_list": [ diff --git a/resources/profiles/Geeetech/machine/fdm_geeetech_common.json b/resources/profiles/Geeetech/machine/fdm_geeetech_common.json index 341fe0a126..8113b62d4c 100644 --- a/resources/profiles/Geeetech/machine/fdm_geeetech_common.json +++ b/resources/profiles/Geeetech/machine/fdm_geeetech_common.json @@ -117,7 +117,6 @@ "deretraction_speed": [ "20" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/Geeetech/machine/fdm_machine_common.json b/resources/profiles/Geeetech/machine/fdm_machine_common.json index 97e8b60691..e08af83a05 100644 --- a/resources/profiles/Geeetech/machine/fdm_machine_common.json +++ b/resources/profiles/Geeetech/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -111,7 +110,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", "before_layer_change_gcode": "G92 E0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Geeetech/process/fdm_process_common.json b/resources/profiles/Geeetech/process/fdm_process_common.json index ef52351d98..b7313353c8 100644 --- a/resources/profiles/Geeetech/process/fdm_process_common.json +++ b/resources/profiles/Geeetech/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Ginger Additive.json b/resources/profiles/Ginger Additive.json index 249c3e9906..d9a38ccfba 100644 --- a/resources/profiles/Ginger Additive.json +++ b/resources/profiles/Ginger Additive.json @@ -1,6 +1,6 @@ { "name": "Ginger Additive", - "version": "02.04.00.04", + "version": "02.04.00.05", "force_update": "1", "description": "Ginger configuration", "machine_model_list": [ diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_common.json b/resources/profiles/Ginger Additive/filament/fdm_filament_common.json index 71e447d01e..d6603a932e 100644 --- a/resources/profiles/Ginger Additive/filament/fdm_filament_common.json +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_common.json @@ -93,9 +93,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -165,9 +162,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/Ginger Additive/machine/fdm_machine_common.json b/resources/profiles/Ginger Additive/machine/fdm_machine_common.json index 751c0e71f4..60cbb522c5 100644 --- a/resources/profiles/Ginger Additive/machine/fdm_machine_common.json +++ b/resources/profiles/Ginger Additive/machine/fdm_machine_common.json @@ -191,7 +191,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/Ginger Additive/process/fdm_process_common.json b/resources/profiles/Ginger Additive/process/fdm_process_common.json index cd590b710e..3a582c6bc3 100644 --- a/resources/profiles/Ginger Additive/process/fdm_process_common.json +++ b/resources/profiles/Ginger Additive/process/fdm_process_common.json @@ -122,7 +122,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/InfiMech.json b/resources/profiles/InfiMech.json index 06d0629ffc..78c54e0b4d 100644 --- a/resources/profiles/InfiMech.json +++ b/resources/profiles/InfiMech.json @@ -1,6 +1,6 @@ { "name": "InfiMech", - "version": "02.04.00.03", + "version": "02.04.00.06", "force_update": "1", "description": "InfiMech configurations", "machine_model_list": [ @@ -476,11 +476,11 @@ "machine_list": [ { "name": "fdm_machine_common", - "sub_path": "machine/HSN/fdm_machine_common.json" + "sub_path": "machine/fdm_machine_common.json" }, { "name": "fdm_klipper_common", - "sub_path": "machine/HSN/fdm_klipper_common.json" + "sub_path": "machine/fdm_klipper_common.json" }, { "name": "InfiMech EX 0.4 nozzle", diff --git a/resources/profiles/InfiMech/machine/EX+APS/InfiMech EX+APS 0.4 nozzle.json b/resources/profiles/InfiMech/machine/EX+APS/InfiMech EX+APS 0.4 nozzle.json index 149177562f..9fb5343da9 100644 --- a/resources/profiles/InfiMech/machine/EX+APS/InfiMech EX+APS 0.4 nozzle.json +++ b/resources/profiles/InfiMech/machine/EX+APS/InfiMech EX+APS 0.4 nozzle.json @@ -180,7 +180,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ @@ -199,6 +198,6 @@ "0.4" ], "z_hop_types": [ - "Normal Lift" + "Auto Lift" ] } diff --git a/resources/profiles/InfiMech/machine/EX/InfiMech EX 0.4 nozzle.json b/resources/profiles/InfiMech/machine/EX/InfiMech EX 0.4 nozzle.json index 2bf51ab627..ec9bbc6d00 100644 --- a/resources/profiles/InfiMech/machine/EX/InfiMech EX 0.4 nozzle.json +++ b/resources/profiles/InfiMech/machine/EX/InfiMech EX 0.4 nozzle.json @@ -180,7 +180,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ @@ -199,6 +198,6 @@ "0.4" ], "z_hop_types": [ - "Normal Lift" + "Auto Lift" ] } diff --git a/resources/profiles/InfiMech/machine/HSN/InfiMech TX Hardened Steel Nozzle.json b/resources/profiles/InfiMech/machine/HSN/InfiMech TX Hardened Steel Nozzle.json index 8b8fd4e586..87fd816638 100644 --- a/resources/profiles/InfiMech/machine/HSN/InfiMech TX Hardened Steel Nozzle.json +++ b/resources/profiles/InfiMech/machine/HSN/InfiMech TX Hardened Steel Nozzle.json @@ -8,5 +8,5 @@ "bed_model": "InfiMech TX-bed.stl", "bed_texture": "InfiMech TX-texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @InfiMech;Generic PA-CF @InfiMech;Generic PC @InfiMech;Generic PETG @InfiMech;Generic PLA @InfiMech;Generic TPU @InfiMech" + "default_materials": "Generic ABS @InfiMech;Generic PA-CF @InfiMech;Generic PC @InfiMech;Generic PETG @InfiMech;Generic PLA @InfiMech;Generic TPU @InfiMech;InfiMech PLA @HSN" } diff --git a/resources/profiles/InfiMech/machine/HSN/fdm_klipper_common.json b/resources/profiles/InfiMech/machine/HSN/fdm_klipper_common.json deleted file mode 100644 index a95fea09c0..0000000000 --- a/resources/profiles/InfiMech/machine/HSN/fdm_klipper_common.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "type": "machine", - "name": "fdm_klipper_common", - "inherits": "fdm_machine_common", - "from": "system", - "instantiation": "false", - "gcode_flavor": "klipper", - "auxiliary_fan": "1", - "bed_exclude_area": [ - "0x0" - ], - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", - "change_filament_gcode": "", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "default_filament_profile": [ - "Generic PLA @InfiMech" - ], - "default_print_profile": "0.20mm Standard @InfiMech TX", - "deretraction_speed": [ - "30" - ], - "enable_filament_ramming": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "69", - "extruder_clearance_height_to_rod": "69", - "extruder_clearance_radius": "49", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "high_current_on_filament_swap": "0", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "machine_end_gcode": "PRINT_END", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "0.4" - ], - "machine_max_speed_e": [ - "30", - "25" - ], - "machine_max_speed_x": [ - "600", - "200" - ], - "machine_max_speed_y": [ - "600", - "200" - ], - "machine_max_speed_z": [ - "20", - "12" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "machine_pause_gcode": "PAUSE", - "machine_start_gcode": ";v2.9.2-20240814;\n;wiping nozzle start\nM106 P3 S0\nM140 S[bed_temperature_initial_layer_single]\nclean_nozzle_position\n;wiping nozzle end\n;*************preheat nozzle and hotbed for Z_TILT_ADJUST*************\nM140 S[bed_temperature_initial_layer_single]\nM104 S130\nG1 X110 Y110 F10000 \nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0 ;Z homing\nG1 Z5\nM190 S[bed_temperature_initial_layer_single]\nZ_TILT_ADJUST \n;*************Z_TILT_ADJUST end*************\nM140 S[bed_temperature_initial_layer_single] ;heat hotbed temp set by user\nG1 X5 Y5 F8000 \nG28 \nG1 X{first_layer_print_min[0]-1.5} Y{min(first_layer_print_min[1] + 100,print_bed_max[0])} F6000 \nG1 Z0 F400\nM104 S[nozzle_temperature_initial_layer] ;heat nozzle temp set by user\nM106 S100 ;close head_nozzle fan\nG4 P3000\nM106 S255 ;close head_nozzle fan\nG4 P3000\nM106 S100 ;close head_nozzle fan\n;*************PRINT START*************\nM109 S[nozzle_temperature_initial_layer] ;heat nozzle temp set by user and wait \nM190 S[bed_temperature_initial_layer_single];heat bed temp set by user and wait \nM106 S0 ;close head_nozzle fan\nBED_MESH_CLEAR \nBED_MESH_PROFILE LOAD=default # bedmesh load\nG92 E0 ;Reset Extruder\n;G1 Z4.0 F200 ;Move Z Axis up\nG90 ;absolute position\n ; ; ; ; ; ; ; ; ; draw line along model\n;G92 E0 ;reset extruder\nG1 E3 F300 ;extrude filament\nG1 X{first_layer_print_min[0]-1.5} Y{min(first_layer_print_min[1] + 100,print_bed_max[0])} F6000 \nG1 Z0.22 F600\nG1 X{first_layer_print_min[0]-1.5} Y{max(0, first_layer_print_min[1]-1.5)} F2000 E10\nG1 Z0.22 F600\nG1 X{min(first_layer_print_min[0] + 60,print_bed_max[0])} F1200 E12\n ; ; ; ; ; ; ; ; ;draw line along model end \nG4 P200\nG1 Z2\nG92 E0 ;Reset Extruder\nCLEAR_PAUSE\n;***********model start************\n", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.28" - ], - "min_layer_height": [ - "0.08" - ], - "nozzle_diameter": [ - "0.4" - ], - "nozzle_hrc": "0", - "nozzle_type": "hardened_steel", - "nozzle_volume": "151.32", - "parking_pos_retraction": "92", - "print_host_webui": "", - "printable_area": [ - "0x0", - "220x0", - "220x220", - "0x220" - ], - "printable_height": "250", - "printer_model": "Generic Klipper Printer", - "printer_notes": "", - "printer_settings_id": "InfiMech TX 0.4 nozzle", - "printer_technology": "FFF", - "printer_variant": "0.4", - "printhost_apikey": "", - "printhost_authorization_type": "key", - "printhost_cafile": "", - "printhost_password": "", - "printhost_port": "", - "printhost_ssl_ignore_revoke": "0", - "printhost_user": "", - "purge_in_prime_tower": "1", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "249" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "0", - "single_extruder_multi_material": "1", - "template_custom_gcode": "", - "thumbnails": [ - "300x300" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ] -} diff --git a/resources/profiles/InfiMech/machine/HSN/fdm_machine_common.json b/resources/profiles/InfiMech/machine/HSN/fdm_machine_common.json deleted file mode 100644 index 35501555bb..0000000000 --- a/resources/profiles/InfiMech/machine/HSN/fdm_machine_common.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "type": "machine", - "name": "fdm_machine_common", - "from": "system", - "instantiation": "false", - "printer_technology": "FFF", - "gcode_flavor": "klipper", - "auxiliary_fan": "1", - "bed_exclude_area": [ - "0x0" - ], - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", - "change_filament_gcode": "", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "default_filament_profile": [ - "Generic PLA @InfiMech" - ], - "default_print_profile": "0.20mm Standard @InfiMech TX", - "deretraction_speed": [ - "30" - ], - "enable_filament_ramming": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "69", - "extruder_clearance_height_to_rod": "69", - "extruder_clearance_radius": "49", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "high_current_on_filament_swap": "0", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "machine_end_gcode": "PRINT_END", - "machine_load_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "0.4" - ], - "machine_max_speed_e": [ - "30", - "25" - ], - "machine_max_speed_x": [ - "600", - "200" - ], - "machine_max_speed_y": [ - "600", - "200" - ], - "machine_max_speed_z": [ - "20", - "12" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "machine_pause_gcode": "PAUSE", - "machine_start_gcode": ";v2.9.2-20240814;\n;wiping nozzle start\nM106 P3 S0\nM140 S[bed_temperature_initial_layer_single]\nclean_nozzle_position\n;wiping nozzle end\n;*************preheat nozzle and hotbed for Z_TILT_ADJUST*************\nM140 S[bed_temperature_initial_layer_single]\nM104 S130\nG1 X110 Y110 F10000 \nG4 P200\nprobe\nSET_KINEMATIC_POSITION Z=0 ;Z homing\nG1 Z5\nM190 S[bed_temperature_initial_layer_single]\nZ_TILT_ADJUST \n;*************Z_TILT_ADJUST end*************\nM140 S[bed_temperature_initial_layer_single] ;heat hotbed temp set by user\nG1 X5 Y5 F8000 \nG28 \nG1 X{first_layer_print_min[0]-1.5} Y{min(first_layer_print_min[1] + 100,print_bed_max[0])} F6000 \nG1 Z0 F400\nM104 S[nozzle_temperature_initial_layer] ;heat nozzle temp set by user\nM106 S100 ;close head_nozzle fan\nG4 P3000\nM106 S255 ;close head_nozzle fan\nG4 P3000\nM106 S100 ;close head_nozzle fan\n;*************PRINT START*************\nM109 S[nozzle_temperature_initial_layer] ;heat nozzle temp set by user and wait \nM190 S[bed_temperature_initial_layer_single];heat bed temp set by user and wait \nM106 S0 ;close head_nozzle fan\nBED_MESH_CLEAR \nBED_MESH_PROFILE LOAD=default # bedmesh load\nG92 E0 ;Reset Extruder\n;G1 Z4.0 F200 ;Move Z Axis up\nG90 ;absolute position\n ; ; ; ; ; ; ; ; ; draw line along model\n;G92 E0 ;reset extruder\nG1 E3 F300 ;extrude filament\nG1 X{first_layer_print_min[0]-1.5} Y{min(first_layer_print_min[1] + 100,print_bed_max[0])} F6000 \nG1 Z0.22 F600\nG1 X{first_layer_print_min[0]-1.5} Y{max(0, first_layer_print_min[1]-1.5)} F2000 E10\nG1 Z0.22 F600\nG1 X{min(first_layer_print_min[0] + 60,print_bed_max[0])} F1200 E12\n ; ; ; ; ; ; ; ; ;draw line along model end \nG4 P200\nG1 Z2\nG92 E0 ;Reset Extruder\nCLEAR_PAUSE\n;***********model start************\n", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.28" - ], - "min_layer_height": [ - "0.08" - ], - "nozzle_hrc": "0", - "nozzle_type": "hardened_steel", - "nozzle_volume": "151.32", - "parking_pos_retraction": "92", - "print_host_webui": "", - "printable_area": [ - "0x0", - "220x0", - "220x220", - "0x220" - ], - "printable_height": "250", - "printer_model": "Generic Klipper Printer", - "printer_notes": "", - "printer_settings_id": "InfiMech TX 0.4 nozzle", - "printer_variant": "0.4", - "printhost_apikey": "", - "printhost_authorization_type": "key", - "printhost_cafile": "", - "printhost_password": "", - "printhost_port": "", - "printhost_ssl_ignore_revoke": "0", - "printhost_user": "", - "purge_in_prime_tower": "1", - "retract_before_wipe": [ - "0%" - ], - "retract_length_toolchange": [ - "0" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "249" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "30" - ], - "scan_first_layer": "0", - "silent_mode": "0", - "single_extruder_multi_material": "1", - "template_custom_gcode": "", - "thumbnails": [ - "300x300" - ], - "upward_compatible_machine": [], - "use_firmware_retraction": "0", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ] -} diff --git a/resources/profiles/InfiMech/machine/fdm_klipper_common.json b/resources/profiles/InfiMech/machine/fdm_klipper_common.json index bbcd27a966..457c3b1d9d 100644 --- a/resources/profiles/InfiMech/machine/fdm_klipper_common.json +++ b/resources/profiles/InfiMech/machine/fdm_klipper_common.json @@ -119,7 +119,7 @@ "0.4" ], "nozzle_hrc": "0", - "nozzle_type": "brass", + "nozzle_type": "hardened_steel", "nozzle_volume": "151.32", "parking_pos_retraction": "92", "print_host_webui": "", @@ -177,7 +177,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ diff --git a/resources/profiles/InfiMech/machine/fdm_machine_common.json b/resources/profiles/InfiMech/machine/fdm_machine_common.json index c329e930cb..c6847d7db3 100644 --- a/resources/profiles/InfiMech/machine/fdm_machine_common.json +++ b/resources/profiles/InfiMech/machine/fdm_machine_common.json @@ -116,7 +116,7 @@ "0.08" ], "nozzle_hrc": "0", - "nozzle_type": "brass", + "nozzle_type": "hardened_steel", "nozzle_volume": "151.32", "parking_pos_retraction": "92", "print_host_webui": "", @@ -173,7 +173,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "template_custom_gcode": "", "thumbnails": [ diff --git a/resources/profiles/InfiMech/process/0.16mm Optimal @InfiMech TX.json b/resources/profiles/InfiMech/process/0.16mm Optimal @InfiMech TX.json index c3fb83348f..1886e33d56 100644 --- a/resources/profiles/InfiMech/process/0.16mm Optimal @InfiMech TX.json +++ b/resources/profiles/InfiMech/process/0.16mm Optimal @InfiMech TX.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/InfiMech/process/EX+APS/0.16mm Optimal @InfiMech EX+APS.json b/resources/profiles/InfiMech/process/EX+APS/0.16mm Optimal @InfiMech EX+APS.json index 783db122a4..9ca14195f7 100644 --- a/resources/profiles/InfiMech/process/EX+APS/0.16mm Optimal @InfiMech EX+APS.json +++ b/resources/profiles/InfiMech/process/EX+APS/0.16mm Optimal @InfiMech EX+APS.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json b/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json index 6a755b74f1..1529d65ac8 100644 --- a/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json +++ b/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "150", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/InfiMech/process/EX/0.16mm Optimal @InfiMech EX.json b/resources/profiles/InfiMech/process/EX/0.16mm Optimal @InfiMech EX.json index d95e84cedc..99dfa56787 100644 --- a/resources/profiles/InfiMech/process/EX/0.16mm Optimal @InfiMech EX.json +++ b/resources/profiles/InfiMech/process/EX/0.16mm Optimal @InfiMech EX.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json b/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json index e5846e2cc4..888a67861a 100644 --- a/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json +++ b/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "150", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/InfiMech/process/HSN/0.16mm Optimal @InfiMech TX HSN.json b/resources/profiles/InfiMech/process/HSN/0.16mm Optimal @InfiMech TX HSN.json index 546464ce49..57f844d7f5 100644 --- a/resources/profiles/InfiMech/process/HSN/0.16mm Optimal @InfiMech TX HSN.json +++ b/resources/profiles/InfiMech/process/HSN/0.16mm Optimal @InfiMech TX HSN.json @@ -24,7 +24,6 @@ "layer_height": "0.16", "line_width": "0.42", "outer_wall_line_width": "0.42", - "overhang_speed_classic": "0", "precise_outer_wall": "0", "print_flow_ratio": "0.95", "seam_gap": "10%", diff --git a/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json b/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json index dc9e9ace24..8b53078f6d 100644 --- a/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json +++ b/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/InfiMech/process/fdm_process_common.json b/resources/profiles/InfiMech/process/fdm_process_common.json index 7e7bc9ddb1..bfd2a604e6 100644 --- a/resources/profiles/InfiMech/process/fdm_process_common.json +++ b/resources/profiles/InfiMech/process/fdm_process_common.json @@ -64,7 +64,6 @@ "inner_wall_line_width": "0.45", "interface_shells": "0", "internal_bridge_speed": "50%", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_pattern": "monotonic", @@ -92,7 +91,6 @@ "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "overhang_4_4_speed": "10", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/Kingroon.json b/resources/profiles/Kingroon.json index 0d0f98e733..4c9a128ead 100644 --- a/resources/profiles/Kingroon.json +++ b/resources/profiles/Kingroon.json @@ -1,7 +1,7 @@ { "name": "Kingroon", "url": "https://kingroon.com/", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "1", "description": "Kingroon configuration files", "machine_model_list": [ diff --git a/resources/profiles/Kingroon/machine/fdm_machine_common.json b/resources/profiles/Kingroon/machine/fdm_machine_common.json index ab1a5d4253..6e7afe6f63 100644 --- a/resources/profiles/Kingroon/machine/fdm_machine_common.json +++ b/resources/profiles/Kingroon/machine/fdm_machine_common.json @@ -156,7 +156,6 @@ "deretraction_speed": [ "30" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "wipe": [ diff --git a/resources/profiles/Kingroon/process/0.20mm Standard @Kingroon KP3S V1.json b/resources/profiles/Kingroon/process/0.20mm Standard @Kingroon KP3S V1.json index f91fc639a0..a29141daf1 100644 --- a/resources/profiles/Kingroon/process/0.20mm Standard @Kingroon KP3S V1.json +++ b/resources/profiles/Kingroon/process/0.20mm Standard @Kingroon KP3S V1.json @@ -24,7 +24,6 @@ "overhang_reverse": "1", "overhang_reverse_internal_only": "1", "overhang_reverse_threshold": "0%", - "overhang_speed_classic": "1", "seam_gap": "0.1", "seam_position": "back", "slow_down_layers": "2", diff --git a/resources/profiles/Kingroon/process/fdm_process_common.json b/resources/profiles/Kingroon/process/fdm_process_common.json index ed478c1aaa..48f60ee2ab 100644 --- a/resources/profiles/Kingroon/process/fdm_process_common.json +++ b/resources/profiles/Kingroon/process/fdm_process_common.json @@ -10,7 +10,6 @@ "bottom_solid_infill_flow_ratio": "1", "bottom_surface_pattern": "monotonic", "bridge_acceleration": "50%", - "adaptive_layer_height": "0", "bridge_flow": "0.9", "brim_object_gap": "0.1", "brim_type": "auto_brim", @@ -44,7 +43,6 @@ "fuzzy_skin_point_distance": "0.8", "fuzzy_skin_thickness": "0.3", "gap_infill_speed": "100", - "tree_support_with_infill": "0", "overhang_1_4_speed": "50", "overhang_2_4_speed": "40", "overhang_3_4_speed": "20", @@ -70,7 +68,6 @@ "inner_wall_line_width": "0.45", "inner_wall_speed": "100", "interface_shells": "0", - "internal_bridge_support_thickness": "0", "internal_solid_infill_acceleration": "100%", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "100", @@ -90,7 +87,6 @@ "outer_wall_jerk": "9", "outer_wall_line_width": "0.42", "outer_wall_speed": "80", - "overhang_speed_classic": "0", "post_process": [], "precise_outer_wall": "0", "prime_tower_brim_width": "3", diff --git a/resources/profiles/LH.json b/resources/profiles/LH.json index 99a7049fa5..09e5d17e35 100644 --- a/resources/profiles/LH.json +++ b/resources/profiles/LH.json @@ -1,7 +1,7 @@ { "name": "LH", "url": "https://github.com/lhndo/LH-Stinger", - "version": "02.04.00.03", + "version": "02.04.00.06", "force_update": "0", "description": "LH 3D Printer Configuration", "machine_model_list": [ diff --git a/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.png b/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.png deleted file mode 100644 index d21afe069e..0000000000 Binary files a/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.png and /dev/null differ diff --git a/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.svg b/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.svg new file mode 100644 index 0000000000..b8e11ed2a8 --- /dev/null +++ b/resources/profiles/LH/LH_Stinger_MMU_buildplate_texture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/profiles/LH/LH_Stinger_buildplate_model.stl b/resources/profiles/LH/LH_Stinger_buildplate_model.stl index 37fd514014..a71ba5cbd4 100644 Binary files a/resources/profiles/LH/LH_Stinger_buildplate_model.stl and b/resources/profiles/LH/LH_Stinger_buildplate_model.stl differ diff --git a/resources/profiles/LH/LH_Stinger_buildplate_texture.png b/resources/profiles/LH/LH_Stinger_buildplate_texture.png deleted file mode 100644 index e03843bd23..0000000000 Binary files a/resources/profiles/LH/LH_Stinger_buildplate_texture.png and /dev/null differ diff --git a/resources/profiles/LH/LH_Stinger_buildplate_texture.svg b/resources/profiles/LH/LH_Stinger_buildplate_texture.svg new file mode 100644 index 0000000000..f5606ba2f1 --- /dev/null +++ b/resources/profiles/LH/LH_Stinger_buildplate_texture.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/profiles/LH/machine/LH Stinger MMU.json b/resources/profiles/LH/machine/LH Stinger MMU.json index dd0a1201c6..9e1f1df44b 100644 --- a/resources/profiles/LH/machine/LH Stinger MMU.json +++ b/resources/profiles/LH/machine/LH Stinger MMU.json @@ -5,8 +5,8 @@ "nozzle_diameter": "0.4", "machine_tech": "FFF", "family": "LH", - "bed_model": "LH_Stinger_buildplate_model.STL", - "bed_texture": "LH_Stinger_MMU_buildplate_texture.png", + "bed_model": "LH_Stinger_buildplate_model.stl", + "bed_texture": "LH_Stinger_MMU_buildplate_texture.svg", "hotend_model": "", "default_materials": "LHS PLA;LHS PETG;LHS PCTG;LHS ASA;LHS ABS;LHS PC CF;LHS TPU Foamy 78A;LHS TPU;" } \ No newline at end of file diff --git a/resources/profiles/LH/machine/LH Stinger.json b/resources/profiles/LH/machine/LH Stinger.json index 1e29493210..f02a42da4c 100644 --- a/resources/profiles/LH/machine/LH Stinger.json +++ b/resources/profiles/LH/machine/LH Stinger.json @@ -5,8 +5,8 @@ "nozzle_diameter": "0.4", "machine_tech": "FFF", "family": "LH", - "bed_model": "LH_Stinger_buildplate_model.STL", - "bed_texture": "LH_Stinger_buildplate_texture.png", + "bed_model": "LH_Stinger_buildplate_model.stl", + "bed_texture": "LH_Stinger_buildplate_texture.svg", "hotend_model": "", "default_materials": "LHS PLA;LHS PETG;LHS PCTG;LHS ASA;LHS ABS;LHS PC CF;LHS TPU Foamy 78A;LHS TPU;" } \ No newline at end of file diff --git a/resources/profiles/LH/machine/fdm_lh_common.json b/resources/profiles/LH/machine/fdm_lh_common.json index 277e0762eb..02a4412838 100644 --- a/resources/profiles/LH/machine/fdm_lh_common.json +++ b/resources/profiles/LH/machine/fdm_lh_common.json @@ -128,7 +128,6 @@ "z_hop_types": [ "Auto Lift" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "manual_filament_change": "1", @@ -136,7 +135,7 @@ "1" ], "default_filament_profile": [ - "LH Generic PLA" + "LHS PLA" ], "enable_filament_ramming": "0", "default_print_profile": "0.20mm Daily @LH Stinger", @@ -154,4 +153,4 @@ ], "bed_temperature_formula": "by_first_filament", "auxiliary_fan": "1" -} \ No newline at end of file +} diff --git a/resources/profiles/LH/machine/fdm_machine_common.json b/resources/profiles/LH/machine/fdm_machine_common.json index a46315dc8c..bf8f2249cf 100644 --- a/resources/profiles/LH/machine/fdm_machine_common.json +++ b/resources/profiles/LH/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -116,4 +115,4 @@ "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_pause_gcode": "M601" -} \ No newline at end of file +} diff --git a/resources/profiles/LH/process/fdm_process_common.json b/resources/profiles/LH/process/fdm_process_common.json index df8283904a..f09e319bd6 100644 --- a/resources/profiles/LH/process/fdm_process_common.json +++ b/resources/profiles/LH/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -83,7 +82,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", @@ -105,4 +103,4 @@ "top_surface_speed": "50", "gap_infill_speed": "30", "travel_speed": "200" -} \ No newline at end of file +} diff --git a/resources/profiles/LONGER.json b/resources/profiles/LONGER.json index dbf3cc3277..b4d6c3a1fb 100644 --- a/resources/profiles/LONGER.json +++ b/resources/profiles/LONGER.json @@ -1,6 +1,6 @@ { "name": "LONGER", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "LONGER configurations", "machine_model_list": [ diff --git a/resources/profiles/LONGER/machine/LONGER LK10 Plus.json b/resources/profiles/LONGER/machine/LONGER LK10 Plus.json index 609ed74444..69dd7c11c0 100644 --- a/resources/profiles/LONGER/machine/LONGER LK10 Plus.json +++ b/resources/profiles/LONGER/machine/LONGER LK10 Plus.json @@ -12,5 +12,5 @@ "0x0" ], "hotend_model": "", - "default_materials": "Generic PLA @System;Generic PETG @System" + "default_materials": "Generic PLA @LONGER LK10 Plus;Generic PETG @LONGER LK10 Plus" } diff --git a/resources/profiles/LONGER/machine/LONGER LK10.json b/resources/profiles/LONGER/machine/LONGER LK10.json index 7bc3ab48d4..99d27e4506 100644 --- a/resources/profiles/LONGER/machine/LONGER LK10.json +++ b/resources/profiles/LONGER/machine/LONGER LK10.json @@ -12,5 +12,5 @@ "0x0" ], "hotend_model": "", - "default_materials": "Generic PLA @System;Generic PETG @System" + "default_materials": "Generic PLA @LONGER LK10;Generic PETG @LONGER LK10" } diff --git a/resources/profiles/LONGER/machine/fdm_machine_common.json b/resources/profiles/LONGER/machine/fdm_machine_common.json index 61af4026c0..159c2c0f37 100644 --- a/resources/profiles/LONGER/machine/fdm_machine_common.json +++ b/resources/profiles/LONGER/machine/fdm_machine_common.json @@ -5,7 +5,6 @@ "instantiation": "false", "printer_technology": "FFF", "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/LONGER/process/fdm_process_common.json b/resources/profiles/LONGER/process/fdm_process_common.json index a1c777bc4b..fa3d9c97eb 100644 --- a/resources/profiles/LONGER/process/fdm_process_common.json +++ b/resources/profiles/LONGER/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Lulzbot.json b/resources/profiles/Lulzbot.json index 1d8e31dc93..39042cbe9a 100644 --- a/resources/profiles/Lulzbot.json +++ b/resources/profiles/Lulzbot.json @@ -1,10 +1,14 @@ { "name": "Lulzbot", "url": "https://ohai.lulzbot.com/group/taz-6/", - "version": "02.04.00.02", + "version": "02.04.00.05", "force_update": "0", "description": "Lulzbot configurations", "machine_model_list": [ + { + "name": "Lulzbot Mini 1", + "sub_path": "machine/Lulzbot Mini 1.json" + }, { "name": "Lulzbot Taz 4 or 5", "sub_path": "machine/Lulzbot Taz 4 or 5.json" @@ -27,6 +31,10 @@ "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" }, + { + "name": "0.25mm Standard @Lulzbot Mini 1", + "sub_path": "process/0.25mm Standard @Lulzbot Mini 1.json" + }, { "name": "0.25mm Standard @Lulzbot Taz 4 or 5", "sub_path": "process/0.25mm Standard @Lulzbot Taz 4 or 5.json" @@ -43,6 +51,10 @@ "name": "0.25mm Standard @Lulzbot Taz Pro S", "sub_path": "process/0.25mm Standard @Lulzbot Taz Pro S.json" }, + { + "name": "0.18mm High Detail @Lulzbot Mini 1", + "sub_path": "process/0.18mm High Detail @Lulzbot Mini 1.json" + }, { "name": "0.18mm High Detail @Lulzbot Taz 4 or 5", "sub_path": "process/0.18mm High Detail @Lulzbot Taz 4 or 5.json" @@ -65,13 +77,25 @@ "name": "Generic ABS @Lulzbot", "sub_path": "filament/Generic ABS @Lulzbot.json" }, + { + "name": "Generic ABS @Lulzbot Mini 1", + "sub_path": "filament/Generic ABS @Lulzbot Mini 1.json" + }, { "name": "Generic PETG @Lulzbot", "sub_path": "filament/Generic PETG @Lulzbot.json" }, + { + "name": "Generic PETG @Lulzbot Mini 1", + "sub_path": "filament/Generic PETG @Lulzbot Mini 1.json" + }, { "name": "Generic PLA @Lulzbot", "sub_path": "filament/Generic PLA @Lulzbot.json" + }, + { + "name": "Generic PLA @Lulzbot Mini 1", + "sub_path": "filament/Generic PLA @Lulzbot Mini 1.json" } ], "machine_list": [ @@ -79,6 +103,10 @@ "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" }, + { + "name": "Lulzbot Mini 1 0.5 nozzle", + "sub_path": "machine/Lulzbot Mini 1 0.5 nozzle.json" + }, { "name": "Lulzbot Taz 4 or 5 0.5 nozzle", "sub_path": "machine/Lulzbot Taz 4 or 5 0.5 nozzle.json" diff --git a/resources/profiles/Lulzbot/Lulzbot Mini 1_cover.png b/resources/profiles/Lulzbot/Lulzbot Mini 1_cover.png new file mode 100644 index 0000000000..1d46d02650 Binary files /dev/null and b/resources/profiles/Lulzbot/Lulzbot Mini 1_cover.png differ diff --git a/resources/profiles/Lulzbot/filament/Generic ABS @Lulzbot Mini 1.json b/resources/profiles/Lulzbot/filament/Generic ABS @Lulzbot Mini 1.json new file mode 100644 index 0000000000..1e5c2163f1 --- /dev/null +++ b/resources/profiles/Lulzbot/filament/Generic ABS @Lulzbot Mini 1.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "Generic ABS @Lulzbot Mini 1", + "inherits": "Generic ABS @System", + "from": "system", + "setting_id": "vYckNG6HUwmwixlF", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_density": [ + "1.06" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "cool_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "110" + ], + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "fan_min_speed": [ + "40" + ], + "fan_max_speed": [ + "60" + ], + "compatible_printers": [ + "Lulzbot Mini 1 0.5 nozzle" + ], + "textured_cool_plate_temp": [ + "110" + ], + "textured_cool_plate_temp_initial_layer": [ + "110" + ], + "supertack_plate_temp": [ + "110" + ], + "supertack_plate_temp_initial_layer": [ + "110" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json b/resources/profiles/Lulzbot/filament/Generic PETG @Lulzbot Mini 1.json similarity index 50% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json rename to resources/profiles/Lulzbot/filament/Generic PETG @Lulzbot Mini 1.json index ca09a47935..bfddec7add 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json +++ b/resources/profiles/Lulzbot/filament/Generic PETG @Lulzbot Mini 1.json @@ -1,73 +1,68 @@ { "type": "filament", - "name": "PolyTerra PLA @BBL A1M", - "inherits": "PolyTerra PLA @base", + "name": "Generic PETG @Lulzbot Mini 1", + "inherits": "Generic PETG @System", "from": "system", - "setting_id": "GFSL01_00", + "setting_id": "zcgAqKXFHMgCJr2q", "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_speed": [ - "75" - ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_cost": [ - "21.99" + "filament_diameter": [ + "2.85" ], "filament_density": [ - "1.37" + "1.24" ], "filament_max_volumetric_speed": [ - "22" + "6" ], - "bed_type": [ - "Cool Plate" + "nozzle_temperature": [ + "230" ], - "fan_max_speed": [ + "nozzle_temperature_initial_layer": [ + "235" + ], + "cool_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "eng_plate_temp": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ "80" ], "fan_min_speed": [ + "40" + ], + "fan_max_speed": [ "60" ], - "slow_down_min_speed": [ - "5" + "compatible_printers": [ + "Lulzbot Mini 1 0.5 nozzle" ], - "slow_down_layer_time": [ - "8" + "textured_cool_plate_temp": [ + "80" ], - "temperature_vitrification": [ - "61" + "textured_cool_plate_temp_initial_layer": [ + "80" ], - "nozzle_temperature_range_high": [ - "230" + "supertack_plate_temp": [ + "80" + ], + "supertack_plate_temp_initial_layer": [ + "80" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json b/resources/profiles/Lulzbot/filament/Generic PLA @Lulzbot Mini 1.json similarity index 53% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json rename to resources/profiles/Lulzbot/filament/Generic PLA @Lulzbot Mini 1.json index d3f601395b..07cae7accc 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json +++ b/resources/profiles/Lulzbot/filament/Generic PLA @Lulzbot Mini 1.json @@ -1,64 +1,65 @@ { "type": "filament", - "name": "PolyTerra PLA @BBL X1", - "inherits": "PolyTerra PLA @base", + "name": "Generic PLA @Lulzbot Mini 1", + "inherits": "Generic PLA @System", "from": "system", - "setting_id": "GFSL22", + "setting_id": "xjWvBH3Qyc46iwAi", "instantiation": "true", - "compatible_printers": [ - "Bambu Lab X1 0.4 nozzle", - "Bambu Lab X1 0.6 nozzle", - "Bambu Lab X1 0.8 nozzle" + "filament_diameter": [ + "2.85" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "210" ], "cool_plate_temp": [ "60" ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], "cool_plate_temp_initial_layer": [ "60" ], + "eng_plate_temp": [ + "60" + ], "eng_plate_temp_initial_layer": [ "60" ], + "hot_plate_temp": [ + "60" + ], "hot_plate_temp_initial_layer": [ "60" ], + "textured_plate_temp": [ + "60" + ], "textured_plate_temp_initial_layer": [ "60" ], - "overhang_fan_speed": [ + "fan_min_speed": [ "75" ], - "filament_cost": [ - "21.99" + "compatible_printers": [ + "Lulzbot Mini 1 0.5 nozzle" ], - "filament_density": [ - "1.37" + "textured_cool_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "22" + "textured_cool_plate_temp_initial_layer": [ + "60" ], - "bed_type": [ - "Cool Plate" + "supertack_plate_temp": [ + "60" ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" + "supertack_plate_temp_initial_layer": [ + "60" ] } diff --git a/resources/profiles/Lulzbot/machine/Lulzbot Mini 1 0.5 nozzle.json b/resources/profiles/Lulzbot/machine/Lulzbot Mini 1 0.5 nozzle.json new file mode 100644 index 0000000000..4059188689 --- /dev/null +++ b/resources/profiles/Lulzbot/machine/Lulzbot Mini 1 0.5 nozzle.json @@ -0,0 +1,110 @@ +{ + "type": "machine", + "name": "Lulzbot Mini 1 0.5 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "Jhc8WqYmrK3y65fQ", + "instantiation": "true", + "printer_model": "Lulzbot Mini 1", + "default_print_profile": "0.25mm Standard @Lulzbot Mini 1", + "nozzle_diameter": [ + "0.5" + ], + "printable_area": [ + "0x0", + "154x0", + "154x154", + "0x154" + ], + "printable_height": "158", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "emit_machine_limits_to_gcode": "0", + "machine_max_acceleration_extruding": [ + "2000", + "2000" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "2000", + "2000" + ], + "machine_max_acceleration_x": [ + "2000", + "2000" + ], + "machine_max_acceleration_y": [ + "2000", + "2000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_speed_e": [ + "40", + "40" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "3", + "3" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "Lulzbot", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "1.5" + ], + "retraction_speed": [ + "10" + ], + "deretraction_speed": [ + "10" + ], + "single_extruder_multi_material": "1", + "default_filament_profile": [ + "Generic PLA @Lulzbot Mini 1" + ], + "machine_start_gcode": ";This G-Code has been translated from LulzBot's CuraLE (resources/gcodes/mini_1) startup GCODE for the Mini 1 Single Extruder\nM73 P0; clear GLCD progress bar (ignored if no LCD is fitted)\nM75; start GLCD timer\nM107; disable fans\nM420 S0; disable leveling matrix\nG90; absolute positioning\nM82; set extruder to absolute mode\nG92 E0; set extruder position to 0\nM140 S{bed_temperature_initial_layer[0]}; start bed heating up (w)\nG28; home all axes (Z homes to the top on the Mini)\nG0 X0 Y187 Z156 F200; move away from endstops\nM109 {if filament_type[0] == \"PLA\"}R180\n{elsif filament_type[0] == \"ABS\"}R190\n{elsif filament_type[0] == \"ABS-GF\"}R190\n{elsif filament_type[0] == \"ASA\"}R190\n{elsif filament_type[0] == \"ASA-Aero\"}R190\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R220\n{elsif filament_type[0] == \"PA-CF\"}R220\n{elsif filament_type[0] == \"PA-GF\"}R220\n{elsif filament_type[0] == \"PA6-CF\"}R220\n{elsif filament_type[0] == \"PA11-CF\"}R220\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R220\n{elsif filament_type[0] == \"PC-CF\"}R220\n{elsif filament_type[0] == \"PCTG\"}R180\n{elsif filament_type[0] == \"PE\"}R190\n{elsif filament_type[0] == \"PE-CF\"}R190\n{elsif filament_type[0] == \"PET-CF\"}R190\n{elsif filament_type[0] == \"PETG\"}R190\n{elsif filament_type[0] == \"PETG-CF10\"}R190\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R180\n{elsif filament_type[0] == \"PVB\"}R180\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R180\n{elsif filament_type[0] == \"FLEX\"}R180\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R170\n{elsif filament_type[0] == \"NYLON\"}R220\n{else}R190; unknown filament type soften temp before homing Z{endif}\nG1 E-30 F75; retract filament clear of the melt zone so it cannot ooze onto the probe washers\nM109 {if filament_type[0] == \"PLA\"}R180\n{elsif filament_type[0] == \"ABS\"}R190\n{elsif filament_type[0] == \"ABS-GF\"}R190\n{elsif filament_type[0] == \"ASA\"}R190\n{elsif filament_type[0] == \"ASA-Aero\"}R190\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R220\n{elsif filament_type[0] == \"PA-CF\"}R220\n{elsif filament_type[0] == \"PA-GF\"}R220\n{elsif filament_type[0] == \"PA6-CF\"}R220\n{elsif filament_type[0] == \"PA11-CF\"}R220\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R220\n{elsif filament_type[0] == \"PC-CF\"}R220\n{elsif filament_type[0] == \"PCTG\"}R190\n{elsif filament_type[0] == \"PE\"}R190\n{elsif filament_type[0] == \"PE-CF\"}R190\n{elsif filament_type[0] == \"PET-CF\"}R190\n{elsif filament_type[0] == \"PETG\"}R190\n{elsif filament_type[0] == \"PETG-CF10\"}R190\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R180\n{elsif filament_type[0] == \"PVB\"}R180\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R180\n{elsif filament_type[0] == \"FLEX\"}R180\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R180\n{elsif filament_type[0] == \"NYLON\"}R220\n{else}R170; unknown filament type wipe temp{endif}\nG1 X45 Y173 F11520; move above wiper pad\nG1 Z0 F1200; push nozzle into wiper\nG1 X42 Y173 Z-.5 F4000; wiping\nG1 X52 Y171 Z-.5 F4000; wiping\nG1 X42 Y173 Z0 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X42 Y173 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X42 Y173 F4000; wiping\nG1 X52 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X77 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X77 Y171 F4000; wiping\nG1 X57 Y173 F4000; wiping\nG1 X87 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X77 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X97 Y171 F4000; wiping\nG1 X107 Y173 F4000; wiping\nG1 X112 Y171 Z-0.5 F1000; wiping\nG1 Z10; raise extruder\nG28 X0 Y0; home X and Y\nG0 X0 Y187 F200; move away from endstops\nM109 {if filament_type[0] == \"PLA\"}R160\n{elsif filament_type[0] == \"ABS\"}R170\n{elsif filament_type[0] == \"ABS-GF\"}R170\n{elsif filament_type[0] == \"ASA\"}R170\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"BVOH\"}R170\n{elsif filament_type[0] == \"EVA\"}R170\n{elsif filament_type[0] == \"PA\"}R200\n{elsif filament_type[0] == \"PA-CF\"}R200\n{elsif filament_type[0] == \"PA-GF\"}R170\n{elsif filament_type[0] == \"PA6-CF\"}R170\n{elsif filament_type[0] == \"PA11-CF\"}R200\n{elsif filament_type[0] == \"ASA-Aero\"}R170\n{elsif filament_type[0] == \"PC\"}R200\n{elsif filament_type[0] == \"PC-CF\"}R200\n{elsif filament_type[0] == \"PCTG\"}R180\n{elsif filament_type[0] == \"PE\"}R180\n{elsif filament_type[0] == \"PE-CF\"}R180\n{elsif filament_type[0] == \"PET-CF\"}R170\n{elsif filament_type[0] == \"PETG\"}R170\n{elsif filament_type[0] == \"PETG-CF10\"}R170\n{elsif filament_type[0] == \"PHA\"}R180\n{elsif filament_type[0] == \"PLA-AERO\"}R180\n{elsif filament_type[0] == \"PLA-CF\"}R180\n{elsif filament_type[0] == \"PP\"}R180\n{elsif filament_type[0] == \"PP-CF\"}R180\n{elsif filament_type[0] == \"PP-GF\"}R180\n{elsif filament_type[0] == \"PPS\"}R180\n{elsif filament_type[0] == \"PPS-CF\"}R180\n{elsif filament_type[0] == \"PVA\"}R160\n{elsif filament_type[0] == \"PVB\"}R160\n{elsif filament_type[0] == \"SBS\"}R180\n{elsif filament_type[0] == \"TPU\"}R160\n{elsif filament_type[0] == \"FLEX\"}R160\n{elsif filament_type[0] == \"PET\"}R170\n{elsif filament_type[0] == \"HIPS\"}R160\n{elsif filament_type[0] == \"NYLON\"}R200\n{else}R170; unknown filament type probe temp{endif}\nM204 S300; set probing acceleration\nG29; start auto-leveling sequence\nM420 S1; enable leveling matrix\nM204 S2000; restore standard acceleration\nG28 X0 Y0; re-home to account for build variance of earlier Mini builds\nG0 X0 Y187 F200; move away from endstops\nG0 Y152 F4000; move in front of wiper pad\nG4 S1; pause\nM400; wait for moves to finish\nM117 Heating...; progress indicator message on LCD\nM109 R{nozzle_temperature_initial_layer[0]}; wait for extruder to reach printing temp (w)\nM190 R{bed_temperature_initial_layer[0]}; wait for bed to reach printing temp\nG1 Z2 E0 F75; prime tiny bit of filament into the nozzle\nM117 Mini Printing...; progress indicator message on LCD\n;Start G-Code End", + "machine_end_gcode": ";End G-Code Begin\nM400; wait for moves to finish\nM104 S0; disable hotend\nM140 S0; start bed cooling\nM107; disable fans\nG92 E5; set extruder to 5mm for retract on print end\nG1 X5 Y5 Z158 E0 F10000; move to cooling position, retracting on the way\nG1 E5; re-prime extruder\nM77; stop GLCD timer\nG1 X145 F1000; move extruder out of the way\nG1 Y175 F1000; present finished print\nM84; disable steppers\nG90; absolute positioning\nM117 Print Complete.; print complete message\n;End G-Code End", + "before_layer_change_gcode": "G92 E0; reset relative extrusion", + "layer_change_gcode": "; LAYER:{layer_num}\nM117 Layer: {layer_num +1} / [total_layer_count]", + "scan_first_layer": "0" +} diff --git a/resources/profiles/Lulzbot/machine/Lulzbot Mini 1.json b/resources/profiles/Lulzbot/machine/Lulzbot Mini 1.json new file mode 100644 index 0000000000..315497585a --- /dev/null +++ b/resources/profiles/Lulzbot/machine/Lulzbot Mini 1.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Lulzbot Mini 1", + "model_id": "Lulzbot-Mini-1", + "nozzle_diameter": "0.5", + "machine_tech": "FFF", + "family": "Lulzbot", + "bed_model": "", + "bed_texture": "lulzbot_logo.svg", + "hotend_model": "", + "default_materials": "Generic PLA @Lulzbot Mini 1;Generic ABS @Lulzbot Mini 1;Generic PETG @Lulzbot Mini 1" +} diff --git a/resources/profiles/Lulzbot/machine/Lulzbot Taz Pro S.json b/resources/profiles/Lulzbot/machine/Lulzbot Taz Pro S.json index ebb151d2b0..115d886301 100644 --- a/resources/profiles/Lulzbot/machine/Lulzbot Taz Pro S.json +++ b/resources/profiles/Lulzbot/machine/Lulzbot Taz Pro S.json @@ -15,5 +15,5 @@ "machine_load_filament_time": "20", "machine_unload_filament_time": "20", "machine_tool_change_time": "5", - "default_materials": "Generic PLA @System, Generic PETG @System, Generic ABS @System" + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" } diff --git a/resources/profiles/Lulzbot/machine/fdm_machine_common.json b/resources/profiles/Lulzbot/machine/fdm_machine_common.json index b376e28164..2874e7b0fb 100644 --- a/resources/profiles/Lulzbot/machine/fdm_machine_common.json +++ b/resources/profiles/Lulzbot/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin2", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/Lulzbot/process/0.18mm High Detail @Lulzbot Mini 1.json b/resources/profiles/Lulzbot/process/0.18mm High Detail @Lulzbot Mini 1.json new file mode 100644 index 0000000000..974b51f747 --- /dev/null +++ b/resources/profiles/Lulzbot/process/0.18mm High Detail @Lulzbot Mini 1.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.18mm High Detail @Lulzbot Mini 1", + "inherits": "0.25mm Standard @Lulzbot Mini 1", + "from": "system", + "setting_id": "2FKMCpTJ1Ptv1wLD", + "instantiation": "true", + "layer_height": "0.18", + "compatible_printers": [ + "Lulzbot Mini 1 0.5 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Mini 1.json similarity index 69% rename from resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json rename to resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Mini 1.json index 7df1292a9d..50aa0dbfac 100644 --- a/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json +++ b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Mini 1.json @@ -1,43 +1,43 @@ { "type": "process", - "name": "0.25mm Draft @UltiMaker 2", + "name": "0.25mm Standard @Lulzbot Mini 1", "inherits": "fdm_process_common", "from": "system", - "setting_id": "dBum79P8qUSRgT90", + "setting_id": "bqY8CEHwvUYnLRPe", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", + "bottom_shell_layers": "5", "bottom_shell_thickness": "0", - "bridge_flow": "1", - "bridge_speed": "60", + "bridge_flow": "0.85", + "bridge_speed": "25", "brim_width": "0", "brim_object_gap": "0", "compatible_printers_condition": "", "print_sequence": "by layer", "default_acceleration": "0", + "outer_wall_acceleration": "0", "top_surface_acceleration": "0", "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0", + "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", + "outer_wall_line_width": "0.5", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.5", "infill_direction": "45", - "sparse_infill_density": "15%", + "sparse_infill_density": "20%", "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "500", + "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.3", + "initial_layer_line_width": "0.50", + "initial_layer_print_height": "0.425", "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "35%", + "sparse_infill_line_width": "0.50", + "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", "ironing_spacing": "0.1", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.50", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -67,9 +67,9 @@ "support_type": "normal(auto)", "support_style": "grid", "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", + "support_top_z_distance": "0.19", "support_filament": "0", - "support_line_width": "0.4", + "support_line_width": "0.5", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -78,31 +78,31 @@ "support_interface_speed": "100%", "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "0.2", - "support_speed": "60", + "support_speed": "40", "support_threshold_angle": "30", - "support_object_xy_distance": "50%", + "support_object_xy_distance": "60%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.4", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", + "top_surface_line_width": "0.5", + "top_shell_layers": "5", + "top_shell_thickness": "1.0", "initial_layer_speed": "35%", "initial_layer_infill_speed": "35%", - "outer_wall_speed": "200", - "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", - "top_surface_speed": "200", - "gap_infill_speed": "250", - "sparse_infill_speed": "270", - "travel_speed": "150", + "outer_wall_speed": "40", + "inner_wall_speed": "45", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "175", "enable_prime_tower": "1", "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", + "prime_tower_width": "30", "xy_hole_compensation": "0", "xy_contour_compensation": "0", "compatible_printers": [ - "UltiMaker 2 0.4 nozzle" + "Lulzbot Mini 1 0.5 nozzle" ] } diff --git a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 4 or 5.json b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 4 or 5.json index 8114e206de..e1bf7498eb 100644 --- a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 4 or 5.json +++ b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 4 or 5.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7AJRQW7g8u7CnKhZ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 6.json b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 6.json index 5cf84c2791..5b5d4fa70b 100644 --- a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 6.json +++ b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz 6.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "K4uIiLjmRJfy0GZv", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro Dual.json b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro Dual.json index f6f88cee34..c1b93d4fed 100644 --- a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro Dual.json +++ b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro Dual.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jEDhBnfwOyj5oEO8", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro S.json b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro S.json index 05bf1ecca0..e70182aa1a 100644 --- a/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro S.json +++ b/resources/profiles/Lulzbot/process/0.25mm Standard @Lulzbot Taz Pro S.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "uAws1KNEUyrcJTSy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Lulzbot/process/fdm_process_common.json b/resources/profiles/Lulzbot/process/fdm_process_common.json index 7c4803ab96..1437b79995 100644 --- a/resources/profiles/Lulzbot/process/fdm_process_common.json +++ b/resources/profiles/Lulzbot/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/M3D.json b/resources/profiles/M3D.json index cb24edb886..a4231e878e 100644 --- a/resources/profiles/M3D.json +++ b/resources/profiles/M3D.json @@ -1,12 +1,16 @@ { "name": "M3D", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "Configuration for M3D printers", "machine_model_list": [ { - "name": "M3D Enabler D8500 MM Model", - "sub_path": "machine/M3D Enabler D8500 MM Model.json" + "name": "M3D Enabler D7500", + "sub_path": "machine/M3D Enabler D7500.json" + }, + { + "name": "M3D Enabler D8500", + "sub_path": "machine/M3D Enabler D8500.json" } ], "machine_list": [ @@ -15,8 +19,12 @@ "sub_path": "machine/fdm_machine_common.json" }, { - "name": "M3D Enabler D8500 MM", - "sub_path": "machine/M3D Enabler D8500 MM.json" + "name": "M3D Enabler D7500 0.4 nozzle", + "sub_path": "machine/M3D Enabler D7500 0.4 nozzle.json" + }, + { + "name": "M3D Enabler D8500 0.4 nozzle", + "sub_path": "machine/M3D Enabler D8500 0.4 nozzle.json" } ], "process_list": [ @@ -25,13 +33,54 @@ "sub_path": "process/fdm_process_common.json" }, { - "name": "0.15mm MM @D8500", - "sub_path": "process/0.15mm MM @D8500.json" + "name": "0.15mm Standard @M3D Enabler D7500", + "sub_path": "process/0.15mm Standard @M3D Enabler D7500.json" }, { - "name": "0.20mm MM @D8500", - "sub_path": "process/0.20mm MM @D8500.json" + "name": "0.15mm Standard @M3D Enabler D8500", + "sub_path": "process/0.15mm Standard @M3D Enabler D8500.json" + }, + { + "name": "0.20mm Standard @M3D Enabler D7500", + "sub_path": "process/0.20mm Standard @M3D Enabler D7500.json" + }, + { + "name": "0.20mm Standard @M3D Enabler D8500", + "sub_path": "process/0.20mm Standard @M3D Enabler D8500.json" + }, + { + "name": "Fuzzy Skin @M3D Enabler D8500", + "sub_path": "process/Fuzzy Skin @M3D Enabler D8500.json" + }, + { + "name": "High Detail (0.12mm) @M3D Enabler D8500", + "sub_path": "process/High Detail (0.12mm) @M3D Enabler D8500.json" + }, + { + "name": "High Strength @M3D Enabler D8500", + "sub_path": "process/High Strength @M3D Enabler D8500.json" + }, + { + "name": "Mesh Design @M3D Enabler D8500", + "sub_path": "process/Mesh Design @M3D Enabler D8500.json" + }, + { + "name": "Rapid Draft (0.28mm) @M3D Enabler D8500", + "sub_path": "process/Rapid Draft (0.28mm) @M3D Enabler D8500.json" + }, + { + "name": "Vase Mode @M3D Enabler D8500", + "sub_path": "process/Vase Mode @M3D Enabler D8500.json" } ], - "filament_list": [] + "filament_list": [ + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "Enabler PLA @M3D", + "sub_path": "filament/Enabler PLA @M3D.json" + } + ] } diff --git a/resources/profiles/M3D/M3D Enabler D7500_cover.png b/resources/profiles/M3D/M3D Enabler D7500_cover.png new file mode 100644 index 0000000000..a5685815e3 Binary files /dev/null and b/resources/profiles/M3D/M3D Enabler D7500_cover.png differ diff --git a/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_model.stl b/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_model.stl deleted file mode 100644 index 61bc03695b..0000000000 Binary files a/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_model.stl and /dev/null differ diff --git a/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_texture.svg b/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_texture.svg deleted file mode 100644 index 540f20952b..0000000000 --- a/resources/profiles/M3D/M3D Enabler D8500 MM Model_bed_texture.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/profiles/M3D/M3D Enabler D8500 MM Model_cover.png b/resources/profiles/M3D/M3D Enabler D8500 MM Model_cover.png deleted file mode 100644 index 0a57d39546..0000000000 Binary files a/resources/profiles/M3D/M3D Enabler D8500 MM Model_cover.png and /dev/null differ diff --git a/resources/profiles/M3D/M3D Enabler D8500_cover.png b/resources/profiles/M3D/M3D Enabler D8500_cover.png new file mode 100644 index 0000000000..61591134e6 Binary files /dev/null and b/resources/profiles/M3D/M3D Enabler D8500_cover.png differ diff --git a/resources/profiles/M3D/filament/Enabler PLA @M3D.json b/resources/profiles/M3D/filament/Enabler PLA @M3D.json new file mode 100644 index 0000000000..0fe8f52c1a --- /dev/null +++ b/resources/profiles/M3D/filament/Enabler PLA @M3D.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Enabler PLA @M3D", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "9haPEn03qtDSXkKk", + "filament_id": "OFefnvF0", + "instantiation": "true", + "enable_pressure_advance": [ + "1" + ], + "compatible_printers": [ + "M3D Enabler D7500 0.4 nozzle", + "M3D Enabler D8500 0.4 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/fdm_filament_paht.json b/resources/profiles/M3D/filament/fdm_filament_pla.json similarity index 69% rename from resources/profiles/Elegoo/filament/fdm_filament_paht.json rename to resources/profiles/M3D/filament/fdm_filament_pla.json index 058469ff71..4a7ee1cb78 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_paht.json +++ b/resources/profiles/M3D/filament/fdm_filament_pla.json @@ -1,20 +1,20 @@ { "type": "filament", - "name": "fdm_filament_paht", + "name": "fdm_filament_pla", "inherits": "fdm_filament_common", "from": "system", "instantiation": "false", + "fan_cooling_layer_time": [ + "100" + ], "filament_max_volumetric_speed": [ "12" ], - "filament_type": [ - "PAHT" - ], "filament_density": [ "1.24" ], "filament_cost": [ - "0" + "20" ], "cool_plate_temp": [ "35" @@ -22,6 +22,9 @@ "eng_plate_temp": [ "0" ], + "hot_plate_temp": [ + "60" + ], "textured_plate_temp": [ "60" ], @@ -31,6 +34,9 @@ "eng_plate_temp_initial_layer": [ "0" ], + "hot_plate_temp_initial_layer": [ + "60" + ], "textured_plate_temp_initial_layer": [ "60" ], @@ -40,6 +46,9 @@ "reduce_fan_stop_start_freq": [ "1" ], + "fan_min_speed": [ + "100" + ], "overhang_fan_threshold": [ "50%" ], @@ -61,31 +70,13 @@ "slow_down_min_speed": [ "20" ], - "additional_cooling_fan_speed": [ - "0" - ], - "fan_cooling_layer_time": [ - "80" - ], - "fan_min_speed": [ - "50" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], "slow_down_layer_time": [ - "8" + "4" + ], + "additional_cooling_fan_speed": [ + "70" ], "filament_start_gcode": [ - "; Filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_vendor": [ - "Generic" + "; filament start gcode\n;{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n;{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n;{endif}\n\n;{if activate_air_filtration[current_extruder] && support_air_filtration}\n;M106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n;{endif}" ] } diff --git a/resources/profiles/M3D/machine/M3D Enabler D7500 0.4 nozzle.json b/resources/profiles/M3D/machine/M3D Enabler D7500 0.4 nozzle.json new file mode 100644 index 0000000000..9888c656b8 --- /dev/null +++ b/resources/profiles/M3D/machine/M3D Enabler D7500 0.4 nozzle.json @@ -0,0 +1,136 @@ +{ + "type": "machine", + "name": "M3D Enabler D7500 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "8bIf0UX18MlL4IsW", + "instantiation": "true", + "printer_model": "M3D Enabler D7500", + "printer_variant": "0.4", + "default_print_profile": "0.20mm Standard @M3D Enabler D7500", + "default_filament_profile": [ + "Enabler PLA @M3D" + ], + "auxiliary_fan": "0", + "change_filament_gcode": "M18 E", + "deretraction_speed": [ + "50" + ], + "extruder_clearance_height_to_rod": "19", + "extruder_clearance_radius": "100", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_speedup_time": "1", + "host_type": "esp3d", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M104 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG1 X0 Y140\nG1 Y150 F4000\nM18 X Y E\nM18 S36000", + "machine_load_filament_time": "0.5", + "machine_max_acceleration_e": [ + "10000" + ], + "machine_max_acceleration_x": [ + "2000" + ], + "machine_max_acceleration_y": [ + "2000" + ], + "machine_max_acceleration_z": [ + "400" + ], + "machine_max_speed_e": [ + "30" + ], + "machine_max_speed_x": [ + "60" + ], + "machine_max_speed_y": [ + "60" + ], + "machine_max_speed_z": [ + "12" + ], + "machine_start_gcode": "M104 S{first_layer_temperature[0]} ; Begin Heating\n\nG91 ; Relative coordinates\nG1 Z10 ; Lift the head abit\nG90 ; Back to absolute coordinates\nG28 ; Home All\nG1 Z10 F500 ; Dont want to burn the bed while heating\nM109 S{first_layer_temperature[0]} ; Wait for pre-heat\n; Prime the extruder\nG92 E0 ; Set Extruder position to be 0\nG1 E5 F100 ; Extrude a bit in the air\nG1 X0 Y5 Z0.1 F500 ; Touch Down\nG92 E0 ; Set Extruder position to be 0\nG1 X100 Z0.3 E10 F500 ; Nozzle wipe\nG92 E0 ; Set Extruder position to be 0", + "machine_tool_change_time": "0.5", + "machine_unload_filament_time": "0.5", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_pause_gcode": "M601", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.1" + ], + "nozzle_diameter": [ + "0.4" + ], + "nozzle_type": "brass", + "print_host": "m3d-enabler.local", + "printable_area": [ + "0x0", + "150x0", + "150x150", + "0x150" + ], + "printable_height": "150", + "printer_settings_id": "M3D Enabler D7500 0.4 nozzle", + "retract_before_wipe": [ + "100%" + ], + "retract_length_toolchange": [ + "17" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "4.5" + ], + "retraction_minimum_travel": [ + "2.5" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "0", + "thumbnails": "120x60/PNG", + "travel_slope": [ + "45" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "2" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Normal Lift" + ] +} diff --git a/resources/profiles/M3D/machine/M3D Enabler D7500.json b/resources/profiles/M3D/machine/M3D Enabler D7500.json new file mode 100644 index 0000000000..2657b13506 --- /dev/null +++ b/resources/profiles/M3D/machine/M3D Enabler D7500.json @@ -0,0 +1,10 @@ +{ + "type": "machine_model", + "name": "M3D Enabler D7500", + "model_id": "M3D_D7500", + "family": "M3D", + "machine_tech": "FFF", + "nozzle_diameter": "0.4", + "bed_texture": "model/M3D_bed_texture.png", + "default_materials": "Generic PLA @System" +} diff --git a/resources/profiles/M3D/machine/M3D Enabler D8500 MM.json b/resources/profiles/M3D/machine/M3D Enabler D8500 0.4 nozzle.json similarity index 92% rename from resources/profiles/M3D/machine/M3D Enabler D8500 MM.json rename to resources/profiles/M3D/machine/M3D Enabler D8500 0.4 nozzle.json index 6c9d35786c..e57e6aeb8e 100644 --- a/resources/profiles/M3D/machine/M3D Enabler D8500 MM.json +++ b/resources/profiles/M3D/machine/M3D Enabler D8500 0.4 nozzle.json @@ -1,12 +1,17 @@ { "type": "machine", - "name": "M3D Enabler D8500 MM", + "name": "M3D Enabler D8500 0.4 nozzle", "inherits": "fdm_machine_common", + "renamed_from": "M3D Enabler D8500 MM", "from": "system", - "setting_id": "AEagqO0H5lE3ndsg", + "setting_id": "xdGprcdFiVkG5vT2", "instantiation": "true", - "printer_model": "M3D Enabler D8500 MM Model", + "printer_model": "M3D Enabler D8500", "printer_variant": "0.4", + "default_print_profile": "0.20mm Standard @M3D Enabler D8500", + "default_filament_profile": [ + "Enabler PLA @M3D" + ], "auxiliary_fan": "1", "change_filament_gcode": "M18 E", "deretraction_speed": [ @@ -89,7 +94,8 @@ "210x150", "0x150" ], - "printer_settings_id": "M3D Enabler D8500 MM", + "printable_height": "150", + "printer_settings_id": "M3D Enabler D8500 0.4 nozzle", "retract_before_wipe": [ "100%", "100%" diff --git a/resources/profiles/M3D/machine/M3D Enabler D8500 MM Model.json b/resources/profiles/M3D/machine/M3D Enabler D8500 MM Model.json deleted file mode 100644 index 941348c128..0000000000 --- a/resources/profiles/M3D/machine/M3D Enabler D8500 MM Model.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "machine_model", - "name": "M3D Enabler D8500 MM Model", - "model_id": "M3D_D8500_MM", - "family": "M3D", - "machine_tech": "FFF", - "nozzle_diameter": "0.4", - "bed_model": "M3D Enabler D8500 MM Model_bed_model.stl", - "bed_texture": "M3D Enabler D8500 MM Model_bed_texture.svg", - "default_materials": "Generic PLA @system", - "scan_folder": "1" -} diff --git a/resources/profiles/M3D/machine/M3D Enabler D8500.json b/resources/profiles/M3D/machine/M3D Enabler D8500.json new file mode 100644 index 0000000000..979d62b62d --- /dev/null +++ b/resources/profiles/M3D/machine/M3D Enabler D8500.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "name": "M3D Enabler D8500", + "model_id": "M3D_D8500", + "family": "M3D", + "machine_tech": "FFF", + "nozzle_diameter": "0.4", + "bed_model": "model/M3D_bed_model.stl", + "bed_texture": "model/M3D_bed_texture.png", + "default_materials": "Generic PLA @System" +} diff --git a/resources/profiles/M3D/machine/fdm_machine_common.json b/resources/profiles/M3D/machine/fdm_machine_common.json index 59c44f10f2..6318efdf72 100644 --- a/resources/profiles/M3D/machine/fdm_machine_common.json +++ b/resources/profiles/M3D/machine/fdm_machine_common.json @@ -8,118 +8,37 @@ "nozzle_diameter": [ "0.4" ], - "printable_area": [ - "0x0", - "210x0", - "210x150", - "0x150" - ], "thumbnails": [ "16x16" ], - "auxiliary_fan": "1", - "change_filament_gcode": "M18 E", - "deretraction_speed": [ - "50" - ], - "extruder_clearance_height_to_rod": "19", - "extruder_clearance_radius": "100", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_speedup_time": "1", - "host_type": "esp3d", - "long_retractions_when_cut": [ - "0" - ], - "machine_end_gcode": "; ===== ORCA END GCODE =====\nM400\nM83\nG92 E0\nG1 E-17 F1800 ; retract BEFORE any moves or power changes\n\n; Now lift and park\nG91\nG1 Z2 F2000\nG90\nG1 X100 Y160 F3000 ; parking point\n\n; Power down in order\nM104 T0 S0\nM104 T1 S0\nM106 S50 ; keep fan at ~50% while cooling (adjust if desired)\n; (Leave steppers on by omitting M84)\n; ===== END ORCA END GCODE =====\n", - "machine_load_filament_time": "0.5", "machine_max_acceleration_e": [ - "10000" + "5000" ], "machine_max_acceleration_x": [ - "2000" + "1000" ], "machine_max_acceleration_y": [ - "2000" + "1000" ], "machine_max_acceleration_z": [ - "400" + "200" ], "machine_max_speed_e": [ - "30" + "25" ], "machine_max_speed_x": [ - "400" + "200" ], "machine_max_speed_y": [ - "300" + "200" ], "machine_max_speed_z": [ - "12" + "10" ], - "machine_start_gcode": "; ===== ORCA START GCODE =====\n; minx:{first_layer_print_min[0]}\n; miny:{first_layer_print_min[1]}\n; maxx:{first_layer_print_max[0]}\n; maxy:{first_layer_print_max[1]}\n; used_0:{is_extruder_used[0]}\n; used_1:{is_extruder_used[1]}\n\n; Heaters\n{if is_extruder_used[0]}M104 T0 S{first_layer_temperature[0]}{endif}\n{if !is_extruder_used[0]}M104 T0 S150{endif}\n{if is_extruder_used[1]}M104 T1 S{first_layer_temperature[1]}{endif}\n{if !is_extruder_used[1]}M104 T1 S150{endif}\nM140 S0\nM106 S50\n\n; Home and clearance\nG28 X Y\nG28 Z\nG91\nG1 Z10 F1200 ; lift 10mm\nG90\n\n; Bed wait (dummy)\nM190 S0\n\n; Wait for target temps\n{if is_extruder_used[0]}M109 T0 S{first_layer_temperature[0]}{endif}\n{if is_extruder_used[1]}M109 T1 S{first_layer_temperature[1]}{endif}\n\n; Absolute XYZ / Relative E\nG90\nM83\n\n; ===== Dynamic Bed Leveling ====\nT0\nG1 Z3 F3000\nG1 X15 Y15 F6000\nG1 Z0.25 F1000; Otherwise Orca displays with a 3mm height\n; Single probe touch\nG30\nM420 S1\n; Bias the contact as -0.25 and fix Z-zero\nG92 Z-0.25 ; probed contact now treated as Z = -0.25\nG1 Z0.3 F300\n\n; ===== PRIME / TWO-LINE WIPES (sparse, no air extrude) =====\n\n; --- Tool 0: lines at Y=5 and Y=6 ---\n{if is_extruder_used[0]}\nT0\nG92 E0\nG1 X20 Y5 F3000\nG1 Z0.30 F600\nG1 X180 E18 F700\nG1 Y6.0 F1200\nG1 X20 E18 F700\nG92 E0\n{endif}\n\n; --- Tool 1: lines at Y=7 and Y=8 ---\n{if is_extruder_used[1]}\nT1\nG92 E0\nG1 X20 Y7 F3000\nG1 Z0.30 F600\nG1 X180 E18 F700\nG1 Y8.0 F1200\nG1 X20 E18 F700\nG92 E0\n{endif}\n\n; Activate initial tool (no retracts; Orca starts immediately)\nT{initial_extruder}\nG92 E0\n; ===== END ORCA START GCODE =====\n", - "machine_tool_change_time": "0.5", - "machine_unload_filament_time": "0.5", "max_layer_height": [ "0.32" ], "min_layer_height": [ "0.1" - ], - "retract_before_wipe": [ - "100%" - ], - "retract_length_toolchange": [ - "17" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_distances_when_cut": [ - "18" - ], - "retraction_length": [ - "4.5" - ], - "retraction_minimum_travel": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "single_extruder_multi_material": "0", - "travel_slope": [ - "45" - ], - "wipe": [ - "1" - ], - "wipe_distance": [ - "2" - ], - "z_hop": [ - "0" - ], - "z_hop_types": [ - "Normal Lift" ] } diff --git a/resources/profiles/M3D/model/M3D_bed_model.stl b/resources/profiles/M3D/model/M3D_bed_model.stl new file mode 100644 index 0000000000..8ed24335dd Binary files /dev/null and b/resources/profiles/M3D/model/M3D_bed_model.stl differ diff --git a/resources/profiles/M3D/model/M3D_bed_texture.png b/resources/profiles/M3D/model/M3D_bed_texture.png new file mode 100644 index 0000000000..bd0e6b8b80 Binary files /dev/null and b/resources/profiles/M3D/model/M3D_bed_texture.png differ diff --git a/resources/profiles/M3D/process/0.15mm MM @D8500.json b/resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D7500.json similarity index 86% rename from resources/profiles/M3D/process/0.15mm MM @D8500.json rename to resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D7500.json index d7bcbadab8..9c9ee57b9e 100644 --- a/resources/profiles/M3D/process/0.15mm MM @D8500.json +++ b/resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D7500.json @@ -1,12 +1,12 @@ { "type": "process", - "name": "0.15mm MM @D8500", + "name": "0.15mm Standard @M3D Enabler D7500", "inherits": "fdm_process_common", "from": "system", - "setting_id": "vVl13K18loFa1fgv", + "setting_id": "zphrnDkwB2KgrWyG", "instantiation": "true", "compatible_printers": [ - "M3D Enabler D8500 MM" + "M3D Enabler D7500 0.4 nozzle" ], "brim_type": "no_brim", "support_object_first_layer_gap": "1", @@ -41,5 +41,6 @@ "support_type": "normal(manual)", "travel_speed": "100", "wall_loops": "2", - "wipe_tower_extra_spacing": "200%" + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" } diff --git a/resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D8500.json b/resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D8500.json new file mode 100644 index 0000000000..10c103af8d --- /dev/null +++ b/resources/profiles/M3D/process/0.15mm Standard @M3D Enabler D8500.json @@ -0,0 +1,47 @@ +{ + "type": "process", + "name": "0.15mm Standard @M3D Enabler D8500", + "inherits": "fdm_process_common", + "renamed_from": "0.15mm MM @D8500", + "from": "system", + "setting_id": "69ArGbue7nQ5gO2r", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{print_time}.gcode", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "90", + "internal_solid_infill_speed": "60", + "layer_height": "0.15", + "outer_wall_speed": "45", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_density": "5%", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "travel_speed": "100", + "wall_loops": "2", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/0.20mm MM @D8500.json b/resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D7500.json similarity index 87% rename from resources/profiles/M3D/process/0.20mm MM @D8500.json rename to resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D7500.json index 8dab066799..23abc79f58 100644 --- a/resources/profiles/M3D/process/0.20mm MM @D8500.json +++ b/resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D7500.json @@ -1,12 +1,12 @@ { "type": "process", - "name": "0.20mm MM @D8500", + "name": "0.20mm Standard @M3D Enabler D7500", "inherits": "fdm_process_common", "from": "system", - "setting_id": "sW4h3MpFpgMeE1pl", + "setting_id": "7vI60Hrdn6S3UyjQ", "instantiation": "true", "compatible_printers": [ - "M3D Enabler D8500 MM" + "M3D Enabler D7500 0.4 nozzle" ], "brim_type": "no_brim", "support_object_first_layer_gap": "1", @@ -42,5 +42,6 @@ "top_surface_speed": "40", "travel_speed": "100", "wall_loops": "2", - "wipe_tower_extra_spacing": "200%" + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" } diff --git a/resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D8500.json b/resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D8500.json new file mode 100644 index 0000000000..dabf8c2dd0 --- /dev/null +++ b/resources/profiles/M3D/process/0.20mm Standard @M3D Enabler D8500.json @@ -0,0 +1,48 @@ +{ + "type": "process", + "name": "0.20mm Standard @M3D Enabler D8500", + "inherits": "fdm_process_common", + "renamed_from": "0.20mm MM @D8500", + "from": "system", + "setting_id": "gg3RzTI5TgWRX2Hh", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{print_time}.gcode", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "90", + "internal_solid_infill_speed": "60", + "layer_height": "0.2", + "outer_wall_speed": "45", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_density": "5%", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "top_surface_speed": "40", + "travel_speed": "100", + "wall_loops": "2", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/Fuzzy Skin @M3D Enabler D8500.json b/resources/profiles/M3D/process/Fuzzy Skin @M3D Enabler D8500.json new file mode 100644 index 0000000000..b2fe83d8c0 --- /dev/null +++ b/resources/profiles/M3D/process/Fuzzy Skin @M3D Enabler D8500.json @@ -0,0 +1,50 @@ +{ + "type": "process", + "name": "Fuzzy Skin @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "wSzFtN7itr21R1IU", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "layer_height": "0.20", + "fuzzy_skin": "allwalls", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "wall_loops": "3", + "outer_wall_speed": "30", + "filename_format": "{input_filename_base}_Fuzzy_{print_time}.gcode", + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "1", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "90", + "internal_solid_infill_speed": "60", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_density": "5%", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "top_surface_speed": "40", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/High Detail (0.12mm) @M3D Enabler D8500.json b/resources/profiles/M3D/process/High Detail (0.12mm) @M3D Enabler D8500.json new file mode 100644 index 0000000000..5f9a59d0fd --- /dev/null +++ b/resources/profiles/M3D/process/High Detail (0.12mm) @M3D Enabler D8500.json @@ -0,0 +1,47 @@ +{ + "type": "process", + "name": "High Detail (0.12mm) @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "wPciFcJ3DE0m8zXK", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "brim_type": "no_brim", + "layer_height": "0.12", + "wall_loops": "3", + "outer_wall_speed": "30", + "inner_wall_speed": "60", + "top_surface_speed": "30", + "sparse_infill_speed": "50", + "default_acceleration": "800", + "outer_wall_acceleration": "500", + "enable_support": "0", + "sparse_infill_density": "5%", + "filename_format": "{input_filename_base}_Detail_{print_time}.gcode", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "internal_solid_infill_speed": "60", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/High Strength @M3D Enabler D8500.json b/resources/profiles/M3D/process/High Strength @M3D Enabler D8500.json new file mode 100644 index 0000000000..98c71fd935 --- /dev/null +++ b/resources/profiles/M3D/process/High Strength @M3D Enabler D8500.json @@ -0,0 +1,50 @@ +{ + "type": "process", + "name": "High Strength @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "02c4AWge1ghZ365R", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "layer_height": "0.20", + "wall_loops": "4", + "bottom_shell_layers": "4", + "top_shell_layers": "4", + "sparse_infill_pattern": "gyroid", + "sparse_infill_density": "15%", + "outer_wall_speed": "40", + "inner_wall_speed": "80", + "enable_support": "1", + "filename_format": "{input_filename_base}_Strong_{print_time}.gcode", + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "internal_solid_infill_speed": "60", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "top_surface_speed": "40", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/Mesh Design @M3D Enabler D8500.json b/resources/profiles/M3D/process/Mesh Design @M3D Enabler D8500.json new file mode 100644 index 0000000000..3047dc37be --- /dev/null +++ b/resources/profiles/M3D/process/Mesh Design @M3D Enabler D8500.json @@ -0,0 +1,49 @@ +{ + "type": "process", + "name": "Mesh Design @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "M9spKPFSnHC6WCf2", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "top_shell_layers": "0", + "bottom_shell_layers": "0", + "sparse_infill_pattern": "honeycomb", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{print_time}.gcode", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "90", + "internal_solid_infill_speed": "60", + "layer_height": "0.2", + "outer_wall_speed": "45", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_density": "15%", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "top_surface_speed": "40", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/Rapid Draft (0.28mm) @M3D Enabler D8500.json b/resources/profiles/M3D/process/Rapid Draft (0.28mm) @M3D Enabler D8500.json new file mode 100644 index 0000000000..5a4ee2ac7d --- /dev/null +++ b/resources/profiles/M3D/process/Rapid Draft (0.28mm) @M3D Enabler D8500.json @@ -0,0 +1,53 @@ +{ + "type": "process", + "name": "Rapid Draft (0.28mm) @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "2Kk8hmQGrKUokCZQ", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "layer_height": "0.32", + "wall_loops": "2", + "sparse_infill_pattern": "lightning", + "sparse_infill_density": "15%", + "sparse_infill_speed": "80", + "top_surface_speed": "50", + "enable_support": "0", + "filename_format": "{input_filename_base}_Draft_{print_time}.gcode", + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_prime_tower": "1", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2", + "top_shell_layers": "2", + "bottom_shell_layers": "2", + "enable_overhang_speed": "0", + "initial_layer_line_width": "0.4", + "inner_wall_line_width": "0.8", + "inner_wall_speed": "120", + "internal_solid_infill_speed": "75", + "line_width": "0.8", + "outer_wall_line_width": "0.8", + "outer_wall_speed": "90" +} diff --git a/resources/profiles/M3D/process/Vase Mode @M3D Enabler D8500.json b/resources/profiles/M3D/process/Vase Mode @M3D Enabler D8500.json new file mode 100644 index 0000000000..b074b6ddb3 --- /dev/null +++ b/resources/profiles/M3D/process/Vase Mode @M3D Enabler D8500.json @@ -0,0 +1,51 @@ +{ + "type": "process", + "name": "Vase Mode @M3D Enabler D8500", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "RN5U8MVSSjZuzqaG", + "instantiation": "true", + "compatible_printers": [ + "M3D Enabler D8500 0.4 nozzle" + ], + "spiral_mode": "1", + "layer_height": "0.20", + "wall_loops": "1", + "top_shell_layers": "0", + "bottom_shell_layers": "4", + "sparse_infill_density": "0%", + "enable_support": "0", + "outer_wall_speed": "40", + "slowdown_for_curled_perimeters": "0", + "filename_format": "{input_filename_base}_Vase_{print_time}.gcode", + "brim_type": "no_brim", + "support_object_first_layer_gap": "1", + "support_object_xy_distance": "0.5", + "bridge_acceleration": "50%", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "inner_wall_acceleration": "1000", + "internal_solid_infill_acceleration": "100%", + "outer_wall_acceleration": "1000", + "sparse_infill_acceleration": "100%", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "gap_infill_speed": "60", + "initial_layer_speed": "35", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "90", + "internal_solid_infill_speed": "60", + "prime_tower_brim_width": "1", + "prime_tower_width": "40", + "prime_volume": "30", + "slow_down_layers": "1", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_type": "normal(manual)", + "top_surface_speed": "40", + "travel_speed": "100", + "wipe_tower_extra_spacing": "200%", + "wipe_tower_filament": "2" +} diff --git a/resources/profiles/M3D/process/fdm_process_common.json b/resources/profiles/M3D/process/fdm_process_common.json index 9b4af74c6d..74b9f3d0aa 100644 --- a/resources/profiles/M3D/process/fdm_process_common.json +++ b/resources/profiles/M3D/process/fdm_process_common.json @@ -25,5 +25,6 @@ "top_surface_speed": "40", "travel_speed": "100", "wall_loops": "2", + "skirt_loops": "0", "wipe_tower_extra_spacing": "200%" } diff --git a/resources/profiles/MagicMaker.json b/resources/profiles/MagicMaker.json index cfb4c10ac2..08e5774547 100644 --- a/resources/profiles/MagicMaker.json +++ b/resources/profiles/MagicMaker.json @@ -1,6 +1,6 @@ { "name": "MagicMaker", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "MagicMaker configurations", "machine_model_list": [ diff --git a/resources/profiles/MagicMaker/machine/MM BoneKing 0.4 nozzle.json b/resources/profiles/MagicMaker/machine/MM BoneKing 0.4 nozzle.json index 59f622953b..91054a666d 100644 --- a/resources/profiles/MagicMaker/machine/MM BoneKing 0.4 nozzle.json +++ b/resources/profiles/MagicMaker/machine/MM BoneKing 0.4 nozzle.json @@ -73,7 +73,7 @@ "30" ], "default_filament_profile": [ - "MM Generic PLA" + "Generic PLA @System" ], "machine_max_acceleration_e": [ "10000" diff --git a/resources/profiles/MagicMaker/machine/fdm_machine_common.json b/resources/profiles/MagicMaker/machine/fdm_machine_common.json index 256eca42de..64d90f6246 100644 --- a/resources/profiles/MagicMaker/machine/fdm_machine_common.json +++ b/resources/profiles/MagicMaker/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "10000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "0.10mm Fine @MM hj", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json index d980bd9ffa..e15e8a8268 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "JoLMVPh4bNahqirV", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json index a27ed5c8ac..7c3ca0f4c7 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "m6Y453vyMDxFz4c7", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json index 263c3c7e02..46feed3806 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QI9sXxzUoh2A8c0S", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json index f04d1862e1..be0c7fa9f2 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "vCIBhcj3X7d07y9G", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json index 740aa73f40..8431418656 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "BLrg8vEj3xZyxNTo", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json index fab1e63f1d..dea3d51d65 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "fIzlKlmcI4pDKviy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json index f7cbb71eda..331e13b30e 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "xngBXACjTNqOZNyB", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json index e24e6c7fd3..4039971a72 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "wHOzdPcMWYZNhny2", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json index ad71011496..f9c45c30f9 100644 --- a/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "PVbARB8V8JUBbIZG", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json index ffabaed092..cae9a2f15a 100644 --- a/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "gR34Ioeioizl1UXy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json index 2c252a73e3..a308842d2c 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ON1x9dQTQTgGNLCw", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json index be5f745572..487aba341c 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "JoTnXrNSnHKraaeB", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json index 5e8078a0ca..02cbfacae2 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "J9s3XNTCUjsYusKD", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json index 1fa581bbde..f749464d1c 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "MPfzxLi2GBioXdOp", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json index 59d7797359..d52e01a20e 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Ivz7U0RTrX558HQ4", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json index b3e9571756..6073685cc6 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "OZKDJHIsKAZtJTeq", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json index 20ab75cbc9..8e80392ab7 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "RL1Irvbsm9Fh3jNz", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json index b56e29914f..85edf0082d 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "TkBYOyBebm3pMHrl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json index 318575eb72..3a65f152ad 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QuoLlC961atuxMnn", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json index 19ac9c25a5..f9775b7624 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "aXpG4y73oeV4p4by", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json index e5cc84d0fb..4931eba26c 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lZ3guqhwMGxBFtIh", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json index 1a3d053cd2..611002258a 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "yBdZW946qhSKDU4w", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json index fdf6c572e6..b02add4e63 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Clfnw7cqNtWmzjB1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json index ef49cf7d48..82fbed8b1f 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "g2unBNIOfILyLrLQ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json index 4488948238..f9e8ebcf1d 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "bVabJjzFcaYFQ77o", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json index adb7fe1465..b27c6f994a 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "G2b2NRdM3geucH0v", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/MagicMaker/process/fdm_process_common.json b/resources/profiles/MagicMaker/process/fdm_process_common.json index 99fcd508d0..45c9bcf236 100644 --- a/resources/profiles/MagicMaker/process/fdm_process_common.json +++ b/resources/profiles/MagicMaker/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Mellow.json b/resources/profiles/Mellow.json index f0b81c832c..6f34f757a7 100644 --- a/resources/profiles/Mellow.json +++ b/resources/profiles/Mellow.json @@ -1,6 +1,6 @@ { "name": "Mellow", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Mellow Printer Profiles", "machine_model_list": [ diff --git a/resources/profiles/Mellow/machine/fdm_common_M1.json b/resources/profiles/Mellow/machine/fdm_common_M1.json index 0d7a37436a..1556cf630a 100644 --- a/resources/profiles/Mellow/machine/fdm_common_M1.json +++ b/resources/profiles/Mellow/machine/fdm_common_M1.json @@ -117,7 +117,6 @@ "40" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Mellow/machine/fdm_machine_common.json b/resources/profiles/Mellow/machine/fdm_machine_common.json index 11833be972..a07212bae7 100644 --- a/resources/profiles/Mellow/machine/fdm_machine_common.json +++ b/resources/profiles/Mellow/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Mellow/process/fdm_process_common.json b/resources/profiles/Mellow/process/fdm_process_common.json index feb86df0e1..f37dc52e73 100644 --- a/resources/profiles/Mellow/process/fdm_process_common.json +++ b/resources/profiles/Mellow/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -84,7 +83,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Meltingplot.json b/resources/profiles/Meltingplot.json new file mode 100644 index 0000000000..654d955380 --- /dev/null +++ b/resources/profiles/Meltingplot.json @@ -0,0 +1,434 @@ +{ + "name": "Meltingplot", + "version": "02.04.00.00", + "force_update": "0", + "description": "Meltingplot configurations", + "machine_model_list": [ + { + "name": "Meltingplot CHX 350", + "sub_path": "machine/Meltingplot CHX 350.json" + }, + { + "name": "Meltingplot MBL 133", + "sub_path": "machine/Meltingplot MBL 133.json" + }, + { + "name": "Meltingplot MBL 136", + "sub_path": "machine/Meltingplot MBL 136.json" + }, + { + "name": "Meltingplot MBL 308", + "sub_path": "machine/Meltingplot MBL 308.json" + }, + { + "name": "Meltingplot MBL 480", + "sub_path": "machine/Meltingplot MBL 480.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_meltingplot_chx_common", + "sub_path": "process/fdm_process_meltingplot_chx_common.json" + }, + { + "name": "fdm_process_meltingplot_mbl_common", + "sub_path": "process/fdm_process_meltingplot_mbl_common.json" + }, + { + "name": "fdm_process_meltingplot_chx_large_nozzle", + "sub_path": "process/fdm_process_meltingplot_chx_large_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_chx_small_nozzle", + "sub_path": "process/fdm_process_meltingplot_chx_small_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_mbl_04_nozzle", + "sub_path": "process/fdm_process_meltingplot_mbl_04_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_mbl_06_nozzle", + "sub_path": "process/fdm_process_meltingplot_mbl_06_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_mbl_08_nozzle", + "sub_path": "process/fdm_process_meltingplot_mbl_08_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_mbl_10_nozzle", + "sub_path": "process/fdm_process_meltingplot_mbl_10_nozzle.json" + }, + { + "name": "fdm_process_meltingplot_mbl_12_nozzle", + "sub_path": "process/fdm_process_meltingplot_mbl_12_nozzle.json" + }, + { + "name": "0.32mm Fine 0.8 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.32mm Fine 0.8 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.38mm Standard 0.8 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.38mm Standard 0.8 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.44mm Fine 1.0 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.44mm Fine 1.0 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.48mm Fine 1.2 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.48mm Fine 1.2 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.18mm Fine 0.4 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.18mm Fine 0.4 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.24mm Fine 0.6 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.24mm Fine 0.6 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.30mm Standard 0.6 nozzle @Meltingplot CHX 350", + "sub_path": "process/0.30mm Standard 0.6 nozzle @Meltingplot CHX 350.json" + }, + { + "name": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "sub_path": "process/0.18mm Fine 0.4 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.24mm Fine 0.6 nozzle @Meltingplot MBL", + "sub_path": "process/0.24mm Fine 0.6 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.28mm Optimal 0.6 nozzle @Meltingplot MBL", + "sub_path": "process/0.28mm Optimal 0.6 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "sub_path": "process/0.30mm Standard 0.6 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.34mm Fine 0.8 nozzle @Meltingplot MBL", + "sub_path": "process/0.34mm Fine 0.8 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.36mm Optimal 0.8 nozzle @Meltingplot MBL", + "sub_path": "process/0.36mm Optimal 0.8 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "sub_path": "process/0.38mm Standard 0.8 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.44mm Fine 1.0 nozzle @Meltingplot MBL", + "sub_path": "process/0.44mm Fine 1.0 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "sub_path": "process/0.48mm Optimal 1.0 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.48mm Fine 1.2 nozzle @Meltingplot MBL", + "sub_path": "process/0.48mm Fine 1.2 nozzle @Meltingplot MBL.json" + }, + { + "name": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "sub_path": "process/0.56mm Optimal 1.2 nozzle @Meltingplot MBL.json" + } + ], + "filament_list": [ + { + "name": "Extrudr PLA NX2 Matt", + "sub_path": "filament/Extrudr PLA NX2 Matt.json" + }, + { + "name": "Meltingplot ABS", + "sub_path": "filament/Meltingplot ABS.json" + }, + { + "name": "Meltingplot ASA", + "sub_path": "filament/Meltingplot ASA.json" + }, + { + "name": "Meltingplot PA6 CF HT", + "sub_path": "filament/Meltingplot PA6 CF HT.json" + }, + { + "name": "Meltingplot PET-CF15", + "sub_path": "filament/Meltingplot PET-CF15.json" + }, + { + "name": "Meltingplot PETG", + "sub_path": "filament/Meltingplot PETG.json" + }, + { + "name": "Meltingplot PLA", + "sub_path": "filament/Meltingplot PLA.json" + }, + { + "name": "Meltingplot TitanX", + "sub_path": "filament/Meltingplot TitanX.json" + }, + { + "name": "Extrudr PLA NX2 Matt @0.4 nozzle", + "sub_path": "filament/Extrudr PLA NX2 Matt @0.4 nozzle.json" + }, + { + "name": "Extrudr PLA NX2 Matt @0.6 nozzle", + "sub_path": "filament/Extrudr PLA NX2 Matt @0.6 nozzle.json" + }, + { + "name": "Extrudr PLA NX2 Matt @0.8 nozzle", + "sub_path": "filament/Extrudr PLA NX2 Matt @0.8 nozzle.json" + }, + { + "name": "Extrudr PLA NX2 Matt @1.0 nozzle", + "sub_path": "filament/Extrudr PLA NX2 Matt @1.0 nozzle.json" + }, + { + "name": "Meltingplot ABS @0.4 nozzle", + "sub_path": "filament/Meltingplot ABS @0.4 nozzle.json" + }, + { + "name": "Meltingplot ABS @0.6 nozzle", + "sub_path": "filament/Meltingplot ABS @0.6 nozzle.json" + }, + { + "name": "Meltingplot ABS @0.8 nozzle", + "sub_path": "filament/Meltingplot ABS @0.8 nozzle.json" + }, + { + "name": "Meltingplot ABS @1.0 nozzle", + "sub_path": "filament/Meltingplot ABS @1.0 nozzle.json" + }, + { + "name": "Meltingplot ASA @0.4 nozzle", + "sub_path": "filament/Meltingplot ASA @0.4 nozzle.json" + }, + { + "name": "Meltingplot ASA @0.6 nozzle", + "sub_path": "filament/Meltingplot ASA @0.6 nozzle.json" + }, + { + "name": "Meltingplot ASA @0.8 nozzle", + "sub_path": "filament/Meltingplot ASA @0.8 nozzle.json" + }, + { + "name": "Meltingplot ASA @1.0 nozzle", + "sub_path": "filament/Meltingplot ASA @1.0 nozzle.json" + }, + { + "name": "Meltingplot PA6 CF HT @0.4 nozzle", + "sub_path": "filament/Meltingplot PA6 CF HT @0.4 nozzle.json" + }, + { + "name": "Meltingplot PA6 CF HT @0.6 nozzle", + "sub_path": "filament/Meltingplot PA6 CF HT @0.6 nozzle.json" + }, + { + "name": "Meltingplot PA6 CF HT @0.8 nozzle", + "sub_path": "filament/Meltingplot PA6 CF HT @0.8 nozzle.json" + }, + { + "name": "Meltingplot PA6 CF HT @1.0 nozzle", + "sub_path": "filament/Meltingplot PA6 CF HT @1.0 nozzle.json" + }, + { + "name": "Meltingplot PET-CF15 @0.4 nozzle", + "sub_path": "filament/Meltingplot PET-CF15 @0.4 nozzle.json" + }, + { + "name": "Meltingplot PET-CF15 @0.6 nozzle", + "sub_path": "filament/Meltingplot PET-CF15 @0.6 nozzle.json" + }, + { + "name": "Meltingplot PET-CF15 @0.8 nozzle", + "sub_path": "filament/Meltingplot PET-CF15 @0.8 nozzle.json" + }, + { + "name": "Meltingplot PET-CF15 @1.0 nozzle", + "sub_path": "filament/Meltingplot PET-CF15 @1.0 nozzle.json" + }, + { + "name": "Meltingplot PETG @0.4 nozzle", + "sub_path": "filament/Meltingplot PETG @0.4 nozzle.json" + }, + { + "name": "Meltingplot PETG @0.6 nozzle", + "sub_path": "filament/Meltingplot PETG @0.6 nozzle.json" + }, + { + "name": "Meltingplot PETG @0.8 nozzle", + "sub_path": "filament/Meltingplot PETG @0.8 nozzle.json" + }, + { + "name": "Meltingplot PETG @1.0 nozzle", + "sub_path": "filament/Meltingplot PETG @1.0 nozzle.json" + }, + { + "name": "Meltingplot PLA @0.4 nozzle", + "sub_path": "filament/Meltingplot PLA @0.4 nozzle.json" + }, + { + "name": "Meltingplot PLA @0.6 nozzle", + "sub_path": "filament/Meltingplot PLA @0.6 nozzle.json" + }, + { + "name": "Meltingplot PLA @0.8 nozzle", + "sub_path": "filament/Meltingplot PLA @0.8 nozzle.json" + }, + { + "name": "Meltingplot PLA @1.0 nozzle", + "sub_path": "filament/Meltingplot PLA @1.0 nozzle.json" + }, + { + "name": "Meltingplot TitanX @0.4 nozzle", + "sub_path": "filament/Meltingplot TitanX @0.4 nozzle.json" + }, + { + "name": "Meltingplot TitanX @0.6 nozzle", + "sub_path": "filament/Meltingplot TitanX @0.6 nozzle.json" + }, + { + "name": "Meltingplot TitanX @0.8 nozzle", + "sub_path": "filament/Meltingplot TitanX @0.8 nozzle.json" + }, + { + "name": "Meltingplot TitanX @1.0 nozzle", + "sub_path": "filament/Meltingplot TitanX @1.0 nozzle.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_machine_meltingplot_chx", + "sub_path": "machine/fdm_machine_meltingplot_chx.json" + }, + { + "name": "fdm_machine_meltingplot_mbl", + "sub_path": "machine/fdm_machine_meltingplot_mbl.json" + }, + { + "name": "Meltingplot CHX 350 0.4 nozzle", + "sub_path": "machine/Meltingplot CHX 350 0.4 nozzle.json" + }, + { + "name": "Meltingplot CHX 350 0.6 nozzle", + "sub_path": "machine/Meltingplot CHX 350 0.6 nozzle.json" + }, + { + "name": "Meltingplot CHX 350 0.8 nozzle", + "sub_path": "machine/Meltingplot CHX 350 0.8 nozzle.json" + }, + { + "name": "Meltingplot CHX 350 1.0 nozzle", + "sub_path": "machine/Meltingplot CHX 350 1.0 nozzle.json" + }, + { + "name": "Meltingplot CHX 350 1.2 nozzle", + "sub_path": "machine/Meltingplot CHX 350 1.2 nozzle.json" + }, + { + "name": "Meltingplot MBL 133 0.4 nozzle", + "sub_path": "machine/Meltingplot MBL 133 0.4 nozzle.json" + }, + { + "name": "Meltingplot MBL 133 0.6 nozzle", + "sub_path": "machine/Meltingplot MBL 133 0.6 nozzle.json" + }, + { + "name": "Meltingplot MBL 133 0.8 nozzle", + "sub_path": "machine/Meltingplot MBL 133 0.8 nozzle.json" + }, + { + "name": "Meltingplot MBL 133 1.0 nozzle", + "sub_path": "machine/Meltingplot MBL 133 1.0 nozzle.json" + }, + { + "name": "Meltingplot MBL 133 1.2 nozzle", + "sub_path": "machine/Meltingplot MBL 133 1.2 nozzle.json" + }, + { + "name": "Meltingplot MBL 136 0.4 nozzle", + "sub_path": "machine/Meltingplot MBL 136 0.4 nozzle.json" + }, + { + "name": "Meltingplot MBL 136 0.6 nozzle", + "sub_path": "machine/Meltingplot MBL 136 0.6 nozzle.json" + }, + { + "name": "Meltingplot MBL 136 0.8 nozzle", + "sub_path": "machine/Meltingplot MBL 136 0.8 nozzle.json" + }, + { + "name": "Meltingplot MBL 136 1.0 nozzle", + "sub_path": "machine/Meltingplot MBL 136 1.0 nozzle.json" + }, + { + "name": "Meltingplot MBL 136 1.2 nozzle", + "sub_path": "machine/Meltingplot MBL 136 1.2 nozzle.json" + }, + { + "name": "Meltingplot MBL 308 0.4 nozzle", + "sub_path": "machine/Meltingplot MBL 308 0.4 nozzle.json" + }, + { + "name": "Meltingplot MBL 308 0.6 nozzle", + "sub_path": "machine/Meltingplot MBL 308 0.6 nozzle.json" + }, + { + "name": "Meltingplot MBL 308 0.8 nozzle", + "sub_path": "machine/Meltingplot MBL 308 0.8 nozzle.json" + }, + { + "name": "Meltingplot MBL 308 1.0 nozzle", + "sub_path": "machine/Meltingplot MBL 308 1.0 nozzle.json" + }, + { + "name": "Meltingplot MBL 308 1.2 nozzle", + "sub_path": "machine/Meltingplot MBL 308 1.2 nozzle.json" + }, + { + "name": "Meltingplot MBL 480 0.4 nozzle", + "sub_path": "machine/Meltingplot MBL 480 0.4 nozzle.json" + }, + { + "name": "Meltingplot MBL 480 0.6 nozzle", + "sub_path": "machine/Meltingplot MBL 480 0.6 nozzle.json" + }, + { + "name": "Meltingplot MBL 480 0.8 nozzle", + "sub_path": "machine/Meltingplot MBL 480 0.8 nozzle.json" + }, + { + "name": "Meltingplot MBL 480 1.0 nozzle", + "sub_path": "machine/Meltingplot MBL 480 1.0 nozzle.json" + }, + { + "name": "Meltingplot MBL 480 1.2 nozzle", + "sub_path": "machine/Meltingplot MBL 480 1.2 nozzle.json" + } + ] +} diff --git a/resources/profiles/Meltingplot/Meltingplot CHX 350_cover.png b/resources/profiles/Meltingplot/Meltingplot CHX 350_cover.png new file mode 100644 index 0000000000..2f625aedc4 Binary files /dev/null and b/resources/profiles/Meltingplot/Meltingplot CHX 350_cover.png differ diff --git a/resources/profiles/Meltingplot/Meltingplot MBL 133_cover.png b/resources/profiles/Meltingplot/Meltingplot MBL 133_cover.png new file mode 100644 index 0000000000..eb9865c0cb Binary files /dev/null and b/resources/profiles/Meltingplot/Meltingplot MBL 133_cover.png differ diff --git a/resources/profiles/Meltingplot/Meltingplot MBL 136_cover.png b/resources/profiles/Meltingplot/Meltingplot MBL 136_cover.png new file mode 100644 index 0000000000..746dfb1fbb Binary files /dev/null and b/resources/profiles/Meltingplot/Meltingplot MBL 136_cover.png differ diff --git a/resources/profiles/Meltingplot/Meltingplot MBL 308_cover.png b/resources/profiles/Meltingplot/Meltingplot MBL 308_cover.png new file mode 100644 index 0000000000..cb4df7250e Binary files /dev/null and b/resources/profiles/Meltingplot/Meltingplot MBL 308_cover.png differ diff --git a/resources/profiles/Meltingplot/Meltingplot MBL 480_cover.png b/resources/profiles/Meltingplot/Meltingplot MBL 480_cover.png new file mode 100644 index 0000000000..fb7e11d5b2 Binary files /dev/null and b/resources/profiles/Meltingplot/Meltingplot MBL 480_cover.png differ diff --git a/resources/profiles/Meltingplot/chx350-printbed.stl b/resources/profiles/Meltingplot/chx350-printbed.stl new file mode 100644 index 0000000000..34255a2d73 Binary files /dev/null and b/resources/profiles/Meltingplot/chx350-printbed.stl differ diff --git a/resources/profiles/Meltingplot/chx350-texture.svg b/resources/profiles/Meltingplot/chx350-texture.svg new file mode 100644 index 0000000000..130afe556e --- /dev/null +++ b/resources/profiles/Meltingplot/chx350-texture.svg @@ -0,0 +1,5 @@ + + +Meltingplot CHX350 build plate — 1C Navy HUD (outlined) + + \ No newline at end of file diff --git a/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.4 nozzle.json new file mode 100644 index 0000000000..1f759767fa --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Extrudr PLA NX2 Matt @0.4 nozzle", + "inherits": "Extrudr PLA NX2 Matt", + "from": "system", + "setting_id": "AL4mb7soA7L0FKTb", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "10" + ], + "slow_down_layer_time": [ + "9" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.6 nozzle.json new file mode 100644 index 0000000000..c7984aa06d --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Extrudr PLA NX2 Matt @0.6 nozzle", + "inherits": "Extrudr PLA NX2 Matt", + "from": "system", + "setting_id": "OCnoqOQbcfgikNmA", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.8 nozzle.json new file mode 100644 index 0000000000..a28a1feca0 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Extrudr PLA NX2 Matt @0.8 nozzle", + "inherits": "Extrudr PLA NX2 Matt", + "from": "system", + "setting_id": "HO2NCV1i1l21mokh", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "20" + ], + "slow_down_layer_time": [ + "38" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @1.0 nozzle.json new file mode 100644 index 0000000000..545acdf113 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Extrudr PLA NX2 Matt @1.0 nozzle", + "inherits": "Extrudr PLA NX2 Matt", + "from": "system", + "setting_id": "dRH4HfWHQPwo33cP", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "25" + ], + "slow_down_layer_time": [ + "56" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt.json similarity index 53% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json rename to resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt.json index d10f958597..b9f864f79f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json +++ b/resources/profiles/Meltingplot/filament/Extrudr PLA NX2 Matt.json @@ -1,14 +1,46 @@ { "type": "filament", - "name": "PolyTerra PLA @BBL A1", - "inherits": "PolyTerra PLA @base", + "name": "Extrudr PLA NX2 Matt", + "inherits": "Generic PLA Matte @System", "from": "system", - "setting_id": "GFSL01_02", + "setting_id": "qmPRaTcPlmtk6zB2", + "filament_id": "OF1PznHI", "instantiation": "true", - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" + "filament_vendor": [ + "Extrudr" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "30" + ], + "filament_adaptive_volumetric_speed": [ + "1" + ], + "filament_density": [ + "1.3" + ], + "filament_cost": [ + "13" + ], + "temperature_vitrification": [ + "50" + ], + "full_fan_speed_layer": [ + "1" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_cooling_layer_time": [ + "100" + ], + "slow_down_layer_time": [ + "83" ], "cool_plate_temp": [ "60" @@ -34,40 +66,14 @@ "textured_plate_temp_initial_layer": [ "60" ], - "overhang_fan_speed": [ - "75" + "filament_diameter": [ + "2.85" ], - "fan_cooling_layer_time": [ - "80" - ], - "filament_cost": [ - "21.99" - ], - "filament_density": [ - "1.37" - ], - "filament_max_volumetric_speed": [ - "22" - ], - "bed_type": [ - "Cool Plate" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "8" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" ] } diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.4 nozzle.json new file mode 100644 index 0000000000..837e55a36f --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ABS @0.4 nozzle", + "inherits": "Meltingplot ABS", + "from": "system", + "setting_id": "NjuuWYHSc7IlwWAy", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11" + ], + "slow_down_layer_time": [ + "5" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.6 nozzle.json new file mode 100644 index 0000000000..d73964b709 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ABS @0.6 nozzle", + "inherits": "Meltingplot ABS", + "from": "system", + "setting_id": "md24RPsRyxBhGRoW", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "11" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.8 nozzle.json new file mode 100644 index 0000000000..82c5ed8935 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ABS @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ABS @0.8 nozzle", + "inherits": "Meltingplot ABS", + "from": "system", + "setting_id": "Y2LYeWL7Zxel3m0c", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "22" + ], + "slow_down_layer_time": [ + "20" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ABS @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ABS @1.0 nozzle.json new file mode 100644 index 0000000000..a74a3a1925 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ABS @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ABS @1.0 nozzle", + "inherits": "Meltingplot ABS", + "from": "system", + "setting_id": "G2UYPHTEWjun65jj", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "27" + ], + "slow_down_layer_time": [ + "30" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ABS.json b/resources/profiles/Meltingplot/filament/Meltingplot ABS.json new file mode 100644 index 0000000000..c947cd55e9 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ABS.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Meltingplot ABS", + "inherits": "Generic ABS @System", + "from": "system", + "setting_id": "zVQixgSSn1jm1c7n", + "filament_id": "OFVIMei2", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_shrink": [ + "99%" + ], + "filament_shrinkage_compensation_z": [ + "99%" + ], + "filament_density": [ + "1.1" + ], + "filament_cost": [ + "30" + ], + "default_filament_colour": [ + "#F8F8F8" + ], + "slow_down_layer_time": [ + "44" + ], + "cool_plate_temp": [ + "110" + ], + "eng_plate_temp": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "33" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.4 nozzle.json new file mode 100644 index 0000000000..f567231b8d --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ASA @0.4 nozzle", + "inherits": "Meltingplot ASA", + "from": "system", + "setting_id": "4EBXMyiXoLrw5rLC", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11" + ], + "slow_down_layer_time": [ + "2" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.6 nozzle.json new file mode 100644 index 0000000000..96553662a8 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ASA @0.6 nozzle", + "inherits": "Meltingplot ASA", + "from": "system", + "setting_id": "2UdzXwYGT5nqtcdK", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "5" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.8 nozzle.json new file mode 100644 index 0000000000..9e6d846c7f --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ASA @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ASA @0.8 nozzle", + "inherits": "Meltingplot ASA", + "from": "system", + "setting_id": "4hk1aKrMkppVYH4z", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "22" + ], + "slow_down_layer_time": [ + "10" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ASA @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot ASA @1.0 nozzle.json new file mode 100644 index 0000000000..e8bc7d7a32 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ASA @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot ASA @1.0 nozzle", + "inherits": "Meltingplot ASA", + "from": "system", + "setting_id": "JRSnSdwkvrQx8uH8", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "27" + ], + "slow_down_layer_time": [ + "15" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot ASA.json b/resources/profiles/Meltingplot/filament/Meltingplot ASA.json new file mode 100644 index 0000000000..180ef14e39 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot ASA.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Meltingplot ASA", + "inherits": "Generic ASA @System", + "from": "system", + "setting_id": "5VuPxdOXfTIidM4X", + "filament_id": "OFRdywGp", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "filament_max_volumetric_speed": [ + "33" + ], + "filament_density": [ + "1.11" + ], + "filament_cost": [ + "46.65" + ], + "default_filament_colour": [ + "#123123" + ], + "slow_down_layer_time": [ + "22" + ], + "slow_down_min_speed": [ + "15" + ], + "cool_plate_temp": [ + "90" + ], + "eng_plate_temp": [ + "90" + ], + "hot_plate_temp": [ + "90" + ], + "textured_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_diameter": [ + "2.85" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.4 nozzle.json new file mode 100644 index 0000000000..5fd012ed93 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PA6 CF HT @0.4 nozzle", + "inherits": "Meltingplot PA6 CF HT", + "from": "system", + "setting_id": "yUlzU6KMVx8bpxj1", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "7" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.6 nozzle.json new file mode 100644 index 0000000000..4ece916d20 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PA6 CF HT @0.6 nozzle", + "inherits": "Meltingplot PA6 CF HT", + "from": "system", + "setting_id": "9XzYyYbJ4jnO4nhJ", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.8 nozzle.json new file mode 100644 index 0000000000..b1b4d489f8 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PA6 CF HT @0.8 nozzle", + "inherits": "Meltingplot PA6 CF HT", + "from": "system", + "setting_id": "BMbLehqxegpSvMci", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "15" + ], + "slow_down_layer_time": [ + "15" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @1.0 nozzle.json new file mode 100644 index 0000000000..b2ab6f3cf5 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PA6 CF HT @1.0 nozzle", + "inherits": "Meltingplot PA6 CF HT", + "from": "system", + "setting_id": "7R3XuQlzD8IHq4PZ", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "18" + ], + "slow_down_layer_time": [ + "22" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT.json b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT.json new file mode 100644 index 0000000000..6b2852b4b2 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PA6 CF HT.json @@ -0,0 +1,94 @@ +{ + "type": "filament", + "name": "Meltingplot PA6 CF HT", + "inherits": "Generic PA-CF @System", + "from": "system", + "setting_id": "kzlYLTM6H5CgpQ8y", + "filament_id": "OFdPevOo", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_density": [ + "1.25" + ], + "filament_cost": [ + "89" + ], + "default_filament_colour": [ + "#858078" + ], + "filament_shrink": [ + "99.9%" + ], + "filament_shrinkage_compensation_z": [ + "99.9%" + ], + "fan_min_speed": [ + "40" + ], + "fan_max_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "additional_cooling_fan_speed": [ + "40" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "slow_down_layer_time": [ + "33" + ], + "cool_plate_temp": [ + "80" + ], + "eng_plate_temp": [ + "80" + ], + "hot_plate_temp": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_diameter": [ + "2.85" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.4 nozzle.json new file mode 100644 index 0000000000..f828906a7c --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PET-CF15 @0.4 nozzle", + "inherits": "Meltingplot PET-CF15", + "from": "system", + "setting_id": "2fkQa1BwTGZbSi2z", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "10" + ], + "slow_down_layer_time": [ + "1" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.6 nozzle.json new file mode 100644 index 0000000000..11b9bb2550 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PET-CF15 @0.6 nozzle", + "inherits": "Meltingplot PET-CF15", + "from": "system", + "setting_id": "PcNAj2kwuUNBAjQE", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "3" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.8 nozzle.json new file mode 100644 index 0000000000..20039024ce --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PET-CF15 @0.8 nozzle", + "inherits": "Meltingplot PET-CF15", + "from": "system", + "setting_id": "70EwKatuncZBKgoD", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "21" + ], + "slow_down_layer_time": [ + "5" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @1.0 nozzle.json new file mode 100644 index 0000000000..9913b5f812 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15 @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PET-CF15 @1.0 nozzle", + "inherits": "Meltingplot PET-CF15", + "from": "system", + "setting_id": "X2yhWBjK4j46bUYW", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "26" + ], + "slow_down_layer_time": [ + "7" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15.json b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15.json new file mode 100644 index 0000000000..f932be9d05 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PET-CF15.json @@ -0,0 +1,91 @@ +{ + "type": "filament", + "name": "Meltingplot PET-CF15", + "inherits": "Generic PETG-CF @System", + "from": "system", + "setting_id": "IdqfEh7xRXKTYmV3", + "filament_id": "OFJdf5nt", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "filament_type": [ + "PET-CF" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "filament_max_volumetric_speed": [ + "31" + ], + "filament_density": [ + "1.4" + ], + "filament_cost": [ + "77.5" + ], + "filament_shrink": [ + "99.9%" + ], + "filament_shrinkage_compensation_z": [ + "99.9%" + ], + "temperature_vitrification": [ + "125" + ], + "fan_min_speed": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "slow_down_layer_time": [ + "11" + ], + "cool_plate_temp": [ + "90" + ], + "eng_plate_temp": [ + "90" + ], + "hot_plate_temp": [ + "90" + ], + "textured_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_diameter": [ + "2.85" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.4 nozzle.json new file mode 100644 index 0000000000..55df65bb99 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PETG @0.4 nozzle", + "inherits": "Meltingplot PETG", + "from": "system", + "setting_id": "2ohDGd34awK2DVbV", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.6 nozzle.json new file mode 100644 index 0000000000..5d77c69c8f --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PETG @0.6 nozzle", + "inherits": "Meltingplot PETG", + "from": "system", + "setting_id": "DZe1WokuOM5byttU", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.8 nozzle.json new file mode 100644 index 0000000000..4e5f16b411 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PETG @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PETG @0.8 nozzle", + "inherits": "Meltingplot PETG", + "from": "system", + "setting_id": "LwFY7N8Uisy6ivOV", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "18" + ], + "slow_down_layer_time": [ + "15" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PETG @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PETG @1.0 nozzle.json new file mode 100644 index 0000000000..cdc4620078 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PETG @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PETG @1.0 nozzle", + "inherits": "Meltingplot PETG", + "from": "system", + "setting_id": "kR8Vbizk0CPciCbD", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "23" + ], + "slow_down_layer_time": [ + "22" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PETG.json b/resources/profiles/Meltingplot/filament/Meltingplot PETG.json new file mode 100644 index 0000000000..d6ed4e25cb --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PETG.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Meltingplot PETG", + "inherits": "Generic PETG @System", + "from": "system", + "setting_id": "dsW7JrzWhKAY1fey", + "filament_id": "OFvlreVF", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "filament_max_volumetric_speed": [ + "27" + ], + "filament_cost": [ + "35" + ], + "default_filament_colour": [ + "#123123" + ], + "fan_min_speed": [ + "50" + ], + "fan_cooling_layer_time": [ + "60" + ], + "slow_down_layer_time": [ + "33" + ], + "cool_plate_temp": [ + "90" + ], + "eng_plate_temp": [ + "90" + ], + "hot_plate_temp": [ + "90" + ], + "textured_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_diameter": [ + "2.85" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.4 nozzle.json new file mode 100644 index 0000000000..4ec8bc1fb5 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PLA @0.4 nozzle", + "inherits": "Meltingplot PLA", + "from": "system", + "setting_id": "T3OEfrhyZ6ISyv20", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.6 nozzle.json new file mode 100644 index 0000000000..054bc03ab6 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PLA @0.6 nozzle", + "inherits": "Meltingplot PLA", + "from": "system", + "setting_id": "hsgzwjPc26BJ4sQu", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "17" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.8 nozzle.json new file mode 100644 index 0000000000..7fa45fc182 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PLA @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PLA @0.8 nozzle", + "inherits": "Meltingplot PLA", + "from": "system", + "setting_id": "cz6RkfsQ0hJE0hYG", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "22" + ], + "slow_down_layer_time": [ + "30" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot PLA @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot PLA @1.0 nozzle.json new file mode 100644 index 0000000000..bbb19233db --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot PLA @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot PLA @1.0 nozzle", + "inherits": "Meltingplot PLA", + "from": "system", + "setting_id": "H3n0VPl3CymiK9VN", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "27" + ], + "slow_down_layer_time": [ + "45" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json b/resources/profiles/Meltingplot/filament/Meltingplot PLA.json similarity index 52% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json rename to resources/profiles/Meltingplot/filament/Meltingplot PLA.json index 1d322a6c3e..60575e7aa6 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json +++ b/resources/profiles/Meltingplot/filament/Meltingplot PLA.json @@ -1,71 +1,67 @@ { "type": "filament", - "name": "PolyTerra PLA+ @base", - "inherits": "fdm_filament_pla", + "name": "Meltingplot PLA", + "inherits": "Generic PLA @System", "from": "system", - "filament_id": "OFEjbwqG", - "instantiation": "false", - "bed_type": [ - "Cool Plate" + "setting_id": "ONpaHlfJVJyh7Shb", + "filament_id": "OFwXRVbB", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "filament_cost": [ + "34.9" + ], + "default_filament_colour": [ + "#F8F8F8" + ], + "slow_down_layer_time": [ + "66" + ], + "slow_down_min_speed": [ + "15" ], "cool_plate_temp": [ "60" ], - "cool_plate_temp_initial_layer": [ - "60" - ], "eng_plate_temp": [ "60" ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "filament_cost": [ - "20.99" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Polymaker" - ], "hot_plate_temp": [ "60" ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "overhang_fan_speed": [ - "75" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "5" - ], - "temperature_vitrification": [ - "59" - ], "textured_plate_temp": [ "60" ], - "textured_plate_temp_initial_layer": [ - "60" + "cool_plate_temp_initial_layer": [ + "65" ], - "filament_type": [ - "PLA" + "eng_plate_temp_initial_layer": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "33" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" ] } diff --git a/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.4 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.4 nozzle.json new file mode 100644 index 0000000000..6804806002 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.4 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot TitanX @0.4 nozzle", + "inherits": "Meltingplot TitanX", + "from": "system", + "setting_id": "i5ttRpqpqF3Kg8IF", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "11" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle", + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.6 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.6 nozzle.json new file mode 100644 index 0000000000..a80febac3f --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.6 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot TitanX @0.6 nozzle", + "inherits": "Meltingplot TitanX", + "from": "system", + "setting_id": "Vbm6NJb4il6QAU6v", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle", + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.8 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.8 nozzle.json new file mode 100644 index 0000000000..3815b36da9 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @0.8 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot TitanX @0.8 nozzle", + "inherits": "Meltingplot TitanX", + "from": "system", + "setting_id": "jYrElhVPtK2Dpb9K", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "22" + ], + "slow_down_layer_time": [ + "15" + ], + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle", + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot TitanX @1.0 nozzle.json b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @1.0 nozzle.json new file mode 100644 index 0000000000..51ccd444e2 --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot TitanX @1.0 nozzle.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Meltingplot TitanX @1.0 nozzle", + "inherits": "Meltingplot TitanX", + "from": "system", + "setting_id": "lQDEFxTsxFsT5A4n", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "27" + ], + "slow_down_layer_time": [ + "22" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle", + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/filament/Meltingplot TitanX.json b/resources/profiles/Meltingplot/filament/Meltingplot TitanX.json new file mode 100644 index 0000000000..5082e6e19e --- /dev/null +++ b/resources/profiles/Meltingplot/filament/Meltingplot TitanX.json @@ -0,0 +1,61 @@ +{ + "type": "filament", + "name": "Meltingplot TitanX", + "inherits": "Generic ABS @System", + "from": "system", + "setting_id": "LDPRmxlvX97NXF0F", + "filament_id": "OFyYfgDM", + "instantiation": "true", + "filament_vendor": [ + "Meltingplot" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_shrink": [ + "99.75%" + ], + "filament_density": [ + "1.07" + ], + "slow_down_layer_time": [ + "33" + ], + "cool_plate_temp": [ + "110" + ], + "eng_plate_temp": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "33" + ], + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle", + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.4 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.4 nozzle.json new file mode 100644 index 0000000000..c59db36162 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot CHX 350 0.4 nozzle", + "inherits": "fdm_machine_meltingplot_chx", + "from": "system", + "setting_id": "gyTKYZ8qKgen4dOM", + "instantiation": "true", + "printer_model": "Meltingplot CHX 350", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.24" + ], + "printable_area": [ + "0x0", + "880x0", + "880x422", + "0x422" + ], + "printable_height": "943", + "default_print_profile": "0.18mm Fine 0.4 nozzle @Meltingplot CHX 350", + "default_filament_profile": [ + "Meltingplot PLA @0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.6 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.6 nozzle.json new file mode 100644 index 0000000000..bddf34e56a --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot CHX 350 0.6 nozzle", + "inherits": "fdm_machine_meltingplot_chx", + "from": "system", + "setting_id": "OeqLbNEMEImXnJBz", + "instantiation": "true", + "printer_model": "Meltingplot CHX 350", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.24" + ], + "max_layer_height": [ + "0.36" + ], + "printable_area": [ + "0x0", + "880x0", + "880x422", + "0x422" + ], + "printable_height": "943", + "default_print_profile": "0.30mm Standard 0.6 nozzle @Meltingplot CHX 350", + "default_filament_profile": [ + "Meltingplot PLA @0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.8 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.8 nozzle.json new file mode 100644 index 0000000000..bb3a56b5ce --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Meltingplot CHX 350 0.8 nozzle", + "inherits": "fdm_machine_meltingplot_chx", + "from": "system", + "setting_id": "IlK23KWfTD7BLPpZ", + "instantiation": "true", + "printer_model": "Meltingplot CHX 350", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.32" + ], + "max_layer_height": [ + "0.48" + ], + "printable_area": [ + "0x0", + "880x0", + "880x422", + "0x422" + ], + "printable_height": "943", + "default_print_profile": "0.38mm Standard 0.8 nozzle @Meltingplot CHX 350", + "default_filament_profile": [ + "Meltingplot PLA @0.8 nozzle" + ], + "min_resonance_avoidance_speed": "55", + "max_resonance_avoidance_speed": "115" +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.0 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.0 nozzle.json new file mode 100644 index 0000000000..0c2f656c94 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.0 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Meltingplot CHX 350 1.0 nozzle", + "inherits": "fdm_machine_meltingplot_chx", + "from": "system", + "setting_id": "AGIxh7arXUPLFcnj", + "instantiation": "true", + "printer_model": "Meltingplot CHX 350", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.40" + ], + "max_layer_height": [ + "0.60" + ], + "printable_area": [ + "0x0", + "880x0", + "880x422", + "0x422" + ], + "printable_height": "943", + "default_print_profile": "0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350", + "default_filament_profile": [ + "Meltingplot PLA @1.0 nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.2 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.2 nozzle.json new file mode 100644 index 0000000000..fa511ee85a --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350 1.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Meltingplot CHX 350 1.2 nozzle", + "inherits": "fdm_machine_meltingplot_chx", + "from": "system", + "setting_id": "xcwkp9Kdund0y4Zh", + "instantiation": "true", + "printer_model": "Meltingplot CHX 350", + "printer_variant": "1.2", + "nozzle_diameter": [ + "1.2" + ], + "min_layer_height": [ + "0.48" + ], + "max_layer_height": [ + "0.72" + ], + "printable_area": [ + "0x0", + "880x0", + "880x422", + "0x422" + ], + "printable_height": "943", + "default_print_profile": "0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350", + "default_filament_profile": [ + "Meltingplot PLA" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot CHX 350.json b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350.json new file mode 100644 index 0000000000..22d9b57d30 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Meltingplot CHX 350", + "model_id": "Meltingplot-CHX-350", + "nozzle_diameter": "0.4;0.6;0.8;1.0;1.2", + "machine_tech": "FFF", + "family": "Meltingplot", + "bed_model": "chx350-printbed.stl", + "bed_texture": "chx350-texture.svg", + "hotend_model": "", + "default_materials": "Meltingplot PLA @0.4 nozzle;Meltingplot PLA @0.6 nozzle;Meltingplot PLA @0.8 nozzle;Meltingplot PLA @1.0 nozzle;Meltingplot PLA;Meltingplot PETG @0.4 nozzle;Meltingplot PETG @0.6 nozzle;Meltingplot PETG @0.8 nozzle;Meltingplot PETG @1.0 nozzle;Meltingplot PETG;Meltingplot ABS @0.4 nozzle;Meltingplot ABS @0.6 nozzle;Meltingplot ABS @0.8 nozzle;Meltingplot ABS @1.0 nozzle;Meltingplot ABS;Meltingplot ASA @0.4 nozzle;Meltingplot ASA @0.6 nozzle;Meltingplot ASA @0.8 nozzle;Meltingplot ASA @1.0 nozzle;Meltingplot ASA" +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.4 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.4 nozzle.json new file mode 100644 index 0000000000..413b86a245 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 133 0.4 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "wyroTvO4uFQPS3Se", + "instantiation": "true", + "printer_model": "Meltingplot MBL 133", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.24" + ], + "printable_area": [ + "0x0", + "835x0", + "835x405", + "0x405" + ], + "printable_height": "394", + "default_print_profile": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.6 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.6 nozzle.json new file mode 100644 index 0000000000..1f6e02ec96 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 133 0.6 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "QbxTZqa4I7jaXUzw", + "instantiation": "true", + "printer_model": "Meltingplot MBL 133", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.24" + ], + "max_layer_height": [ + "0.36" + ], + "printable_area": [ + "0x0", + "835x0", + "835x405", + "0x405" + ], + "printable_height": "394", + "default_print_profile": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.8 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.8 nozzle.json new file mode 100644 index 0000000000..506acfdf6f --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 0.8 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 133 0.8 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "VXumP32DSNKwddyS", + "instantiation": "true", + "printer_model": "Meltingplot MBL 133", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.32" + ], + "max_layer_height": [ + "0.48" + ], + "printable_area": [ + "0x0", + "835x0", + "835x405", + "0x405" + ], + "printable_height": "394", + "default_print_profile": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.0 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.0 nozzle.json new file mode 100644 index 0000000000..d4943d8642 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 133 1.0 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "A2a4j8nclQxokoHn", + "instantiation": "true", + "printer_model": "Meltingplot MBL 133", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.40" + ], + "max_layer_height": [ + "0.60" + ], + "printable_area": [ + "0x0", + "835x0", + "835x405", + "0x405" + ], + "printable_height": "394", + "default_print_profile": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.2 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.2 nozzle.json new file mode 100644 index 0000000000..6107f64728 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133 1.2 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 133 1.2 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "wn8Ez4ZM1ubuftLv", + "instantiation": "true", + "printer_model": "Meltingplot MBL 133", + "printer_variant": "1.2", + "nozzle_diameter": [ + "1.2" + ], + "min_layer_height": [ + "0.48" + ], + "max_layer_height": [ + "0.72" + ], + "printable_area": [ + "0x0", + "835x0", + "835x405", + "0x405" + ], + "printable_height": "394", + "default_print_profile": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 133.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133.json new file mode 100644 index 0000000000..5a8d76e344 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 133.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Meltingplot MBL 133", + "model_id": "Meltingplot-MBL-133", + "nozzle_diameter": "0.8;0.4;0.6;1.0;1.2", + "machine_tech": "FFF", + "family": "Meltingplot", + "bed_model": "mbl133-printbed.stl", + "bed_texture": "mbl-133-texture.svg", + "hotend_model": "", + "default_materials": "Meltingplot PLA @0.4 nozzle;Meltingplot PLA @0.6 nozzle;Meltingplot PLA @0.8 nozzle;Meltingplot PLA @1.0 nozzle;Meltingplot PLA;Meltingplot PETG @0.4 nozzle;Meltingplot PETG @0.6 nozzle;Meltingplot PETG @0.8 nozzle;Meltingplot PETG @1.0 nozzle;Meltingplot PETG;Meltingplot ABS @0.4 nozzle;Meltingplot ABS @0.6 nozzle;Meltingplot ABS @0.8 nozzle;Meltingplot ABS @1.0 nozzle;Meltingplot ABS;Meltingplot ASA @0.4 nozzle;Meltingplot ASA @0.6 nozzle;Meltingplot ASA @0.8 nozzle;Meltingplot ASA @1.0 nozzle;Meltingplot ASA" +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.4 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.4 nozzle.json new file mode 100644 index 0000000000..efcd27c2ec --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 136 0.4 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "Wv2F2INNahYnIP2n", + "instantiation": "true", + "printer_model": "Meltingplot MBL 136", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.24" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "396", + "default_print_profile": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.6 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.6 nozzle.json new file mode 100644 index 0000000000..2bf1e00ae6 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 136 0.6 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "bmYfNrpRLtITsguf", + "instantiation": "true", + "printer_model": "Meltingplot MBL 136", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.24" + ], + "max_layer_height": [ + "0.36" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "396", + "default_print_profile": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.8 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.8 nozzle.json new file mode 100644 index 0000000000..922ec96fce --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 0.8 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 136 0.8 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "9fv3aEc4tAsdeaPI", + "instantiation": "true", + "printer_model": "Meltingplot MBL 136", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.32" + ], + "max_layer_height": [ + "0.48" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "396", + "default_print_profile": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.0 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.0 nozzle.json new file mode 100644 index 0000000000..0e1e6dadb7 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 136 1.0 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "l45hlHUCFi1UcGpM", + "instantiation": "true", + "printer_model": "Meltingplot MBL 136", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.40" + ], + "max_layer_height": [ + "0.60" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "396", + "default_print_profile": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.2 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.2 nozzle.json new file mode 100644 index 0000000000..1fb6101070 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136 1.2 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 136 1.2 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "LAAqt3v5IkT75PMJ", + "instantiation": "true", + "printer_model": "Meltingplot MBL 136", + "printer_variant": "1.2", + "nozzle_diameter": [ + "1.2" + ], + "min_layer_height": [ + "0.48" + ], + "max_layer_height": [ + "0.72" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "396", + "default_print_profile": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 136.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136.json new file mode 100644 index 0000000000..1afe141a6b --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 136.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Meltingplot MBL 136", + "model_id": "Meltingplot-MBL-136", + "nozzle_diameter": "0.8;0.4;0.6;1.0;1.2", + "machine_tech": "FFF", + "family": "Meltingplot", + "bed_model": "mbl136-printbed.stl", + "bed_texture": "mbl-136-texture.svg", + "hotend_model": "", + "default_materials": "Meltingplot PLA @0.4 nozzle;Meltingplot PLA @0.6 nozzle;Meltingplot PLA @0.8 nozzle;Meltingplot PLA @1.0 nozzle;Meltingplot PLA;Meltingplot PETG @0.4 nozzle;Meltingplot PETG @0.6 nozzle;Meltingplot PETG @0.8 nozzle;Meltingplot PETG @1.0 nozzle;Meltingplot PETG;Meltingplot ABS @0.4 nozzle;Meltingplot ABS @0.6 nozzle;Meltingplot ABS @0.8 nozzle;Meltingplot ABS @1.0 nozzle;Meltingplot ABS;Meltingplot ASA @0.4 nozzle;Meltingplot ASA @0.6 nozzle;Meltingplot ASA @0.8 nozzle;Meltingplot ASA @1.0 nozzle;Meltingplot ASA" +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.4 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.4 nozzle.json new file mode 100644 index 0000000000..2e3f428374 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 308 0.4 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "AbxDaZCTmysg7JTf", + "instantiation": "true", + "printer_model": "Meltingplot MBL 308", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.24" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "896", + "default_print_profile": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.6 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.6 nozzle.json new file mode 100644 index 0000000000..d21e5b08df --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 308 0.6 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "YRQhtucLD6iZRcY0", + "instantiation": "true", + "printer_model": "Meltingplot MBL 308", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.24" + ], + "max_layer_height": [ + "0.36" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "896", + "default_print_profile": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.8 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.8 nozzle.json new file mode 100644 index 0000000000..2feb7f2162 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 0.8 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 308 0.8 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "3scvx4P2vXtmoMmI", + "instantiation": "true", + "printer_model": "Meltingplot MBL 308", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.32" + ], + "max_layer_height": [ + "0.48" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "896", + "default_print_profile": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.0 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.0 nozzle.json new file mode 100644 index 0000000000..dd54275283 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 308 1.0 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "VpAHWQ6v3aZLUIs1", + "instantiation": "true", + "printer_model": "Meltingplot MBL 308", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.40" + ], + "max_layer_height": [ + "0.60" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "896", + "default_print_profile": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.2 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.2 nozzle.json new file mode 100644 index 0000000000..eb56bc5da6 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308 1.2 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 308 1.2 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "WuT3Qj2xyAPfDsXW", + "instantiation": "true", + "printer_model": "Meltingplot MBL 308", + "printer_variant": "1.2", + "nozzle_diameter": [ + "1.2" + ], + "min_layer_height": [ + "0.48" + ], + "max_layer_height": [ + "0.72" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "896", + "default_print_profile": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 308.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308.json new file mode 100644 index 0000000000..7d43a425a7 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 308.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Meltingplot MBL 308", + "model_id": "Meltingplot-MBL-308", + "nozzle_diameter": "0.8;0.4;0.6;1.0;1.2", + "machine_tech": "FFF", + "family": "Meltingplot", + "bed_model": "mbl308-printbed.stl", + "bed_texture": "mbl-308-texture.svg", + "hotend_model": "", + "default_materials": "Meltingplot PLA @0.4 nozzle;Meltingplot PLA @0.6 nozzle;Meltingplot PLA @0.8 nozzle;Meltingplot PLA @1.0 nozzle;Meltingplot PLA;Meltingplot PETG @0.4 nozzle;Meltingplot PETG @0.6 nozzle;Meltingplot PETG @0.8 nozzle;Meltingplot PETG @1.0 nozzle;Meltingplot PETG;Meltingplot ABS @0.4 nozzle;Meltingplot ABS @0.6 nozzle;Meltingplot ABS @0.8 nozzle;Meltingplot ABS @1.0 nozzle;Meltingplot ABS;Meltingplot ASA @0.4 nozzle;Meltingplot ASA @0.6 nozzle;Meltingplot ASA @0.8 nozzle;Meltingplot ASA @1.0 nozzle;Meltingplot ASA" +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.4 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.4 nozzle.json new file mode 100644 index 0000000000..1638cf61e5 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 480 0.4 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "14E0ywGwPgPzuR7q", + "instantiation": "true", + "printer_model": "Meltingplot MBL 480", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.24" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "1396", + "default_print_profile": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.6 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.6 nozzle.json new file mode 100644 index 0000000000..d727e6e540 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 480 0.6 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "RntAZ9kYe1JiK9qL", + "instantiation": "true", + "printer_model": "Meltingplot MBL 480", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.24" + ], + "max_layer_height": [ + "0.36" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "1396", + "default_print_profile": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.8 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.8 nozzle.json new file mode 100644 index 0000000000..2ca80661af --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 0.8 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 480 0.8 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "3wnBTip16mjzuNaR", + "instantiation": "true", + "printer_model": "Meltingplot MBL 480", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.32" + ], + "max_layer_height": [ + "0.48" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "1396", + "default_print_profile": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.0 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.0 nozzle.json new file mode 100644 index 0000000000..95a2b7a7da --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 480 1.0 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "KXzVlZQpxRpoYCZC", + "instantiation": "true", + "printer_model": "Meltingplot MBL 480", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.40" + ], + "max_layer_height": [ + "0.60" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "1396", + "default_print_profile": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA @1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.2 nozzle.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.2 nozzle.json new file mode 100644 index 0000000000..2a992dc643 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480 1.2 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "name": "Meltingplot MBL 480 1.2 nozzle", + "inherits": "fdm_machine_meltingplot_mbl", + "from": "system", + "setting_id": "FhIoFCxemK2Miw2J", + "instantiation": "true", + "printer_model": "Meltingplot MBL 480", + "printer_variant": "1.2", + "nozzle_diameter": [ + "1.2" + ], + "min_layer_height": [ + "0.48" + ], + "max_layer_height": [ + "0.72" + ], + "printable_area": [ + "0x0", + "850x0", + "850x405", + "0x405" + ], + "printable_height": "1396", + "default_print_profile": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "default_filament_profile": [ + "Meltingplot PLA" + ] +} diff --git a/resources/profiles/Meltingplot/machine/Meltingplot MBL 480.json b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480.json new file mode 100644 index 0000000000..0360c5bcee --- /dev/null +++ b/resources/profiles/Meltingplot/machine/Meltingplot MBL 480.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Meltingplot MBL 480", + "model_id": "Meltingplot-MBL-480", + "nozzle_diameter": "0.8;0.4;0.6;1.0;1.2", + "machine_tech": "FFF", + "family": "Meltingplot", + "bed_model": "mbl480-printbed.stl", + "bed_texture": "mbl-480-texture.svg", + "hotend_model": "", + "default_materials": "Meltingplot PLA @0.4 nozzle;Meltingplot PLA @0.6 nozzle;Meltingplot PLA @0.8 nozzle;Meltingplot PLA @1.0 nozzle;Meltingplot PLA;Meltingplot PETG @0.4 nozzle;Meltingplot PETG @0.6 nozzle;Meltingplot PETG @0.8 nozzle;Meltingplot PETG @1.0 nozzle;Meltingplot PETG;Meltingplot ABS @0.4 nozzle;Meltingplot ABS @0.6 nozzle;Meltingplot ABS @0.8 nozzle;Meltingplot ABS @1.0 nozzle;Meltingplot ABS;Meltingplot ASA @0.4 nozzle;Meltingplot ASA @0.6 nozzle;Meltingplot ASA @0.8 nozzle;Meltingplot ASA @1.0 nozzle;Meltingplot ASA" +} diff --git a/resources/profiles/Meltingplot/machine/fdm_machine_common.json b/resources/profiles/Meltingplot/machine/fdm_machine_common.json new file mode 100644 index 0000000000..a27cc95405 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/fdm_machine_common.json @@ -0,0 +1,68 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "gcode_flavor": "reprapfirmware", + "host_type": "duet", + "disable_m73": "1", + "emit_machine_limits_to_gcode": "0", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "machine_max_speed_e": [ + "60" + ], + "printer_settings_id": "", + "resonance_avoidance": "0", + "retraction_length": [ + "0" + ], + "use_firmware_retraction": "1", + "retract_when_changing_layer": [ + "1" + ], + "retract_before_wipe": [ + "0%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "wipe": [ + "0" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Normal Lift" + ], + "travel_slope": [ + "1" + ], + "single_extruder_multi_material": "0", + "purge_in_prime_tower": "0", + "time_cost": "2", + "default_print_profile": "", + "change_filament_gcode": "", + "machine_pause_gcode": "M226", + "machine_end_gcode": "G90\nG1 Z{min(max_layer_z + 5, printable_height)} F600\nM98 P\"0:/sys/meltingplot/print_end\"", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n" +} diff --git a/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_chx.json b/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_chx.json new file mode 100644 index 0000000000..f68678716e --- /dev/null +++ b/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_chx.json @@ -0,0 +1,71 @@ +{ + "type": "machine", + "name": "fdm_machine_meltingplot_chx", + "inherits": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "fan_kickstart": "0.5", + "fan_speedup_time": "1", + "machine_max_acceleration_e": [ + "3000" + ], + "machine_max_acceleration_extruding": [ + "6000" + ], + "machine_max_acceleration_retracting": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "6000" + ], + "machine_max_acceleration_x": [ + "6000" + ], + "machine_max_acceleration_y": [ + "6000" + ], + "machine_max_acceleration_z": [ + "400" + ], + "machine_max_jerk_e": [ + "33.33" + ], + "machine_max_jerk_x": [ + "12" + ], + "machine_max_jerk_y": [ + "12" + ], + "machine_max_jerk_z": [ + "1.2" + ], + "machine_max_speed_x": [ + "833.33" + ], + "machine_max_speed_y": [ + "1000" + ], + "machine_max_speed_z": [ + "30" + ], + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_height_to_lid": "150", + "nozzle_type": [ + "stainless_steel" + ], + "min_resonance_avoidance_speed": "40", + "max_resonance_avoidance_speed": "105", + "time_cost": "5", + "retraction_minimum_travel": [ + "2" + ], + "retraction_speed": [ + "60" + ], + "deretraction_speed": [ + "40" + ], + "printable_height": "943", + "machine_start_gcode": "M140 P0 S{first_layer_bed_temperature[0]} ; set bed temp\nG10 P0 S{first_layer_temperature[0]}\nM568 P0 R{first_layer_temperature[0] + standby_temperature_delta} S{first_layer_temperature[0]} A2\n\nM83 ; use relative distances for extrusion\nG90 ; use absolute coordinates\n\nM98 P\"0:/sys/meltingplot/print_start\"" +} diff --git a/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_mbl.json b/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_mbl.json new file mode 100644 index 0000000000..6d8f974073 --- /dev/null +++ b/resources/profiles/Meltingplot/machine/fdm_machine_meltingplot_mbl.json @@ -0,0 +1,69 @@ +{ + "type": "machine", + "name": "fdm_machine_meltingplot_mbl", + "inherits": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "fan_kickstart": "0.5", + "fan_speedup_time": "0.5", + "machine_max_acceleration_e": [ + "2500" + ], + "machine_max_acceleration_extruding": [ + "800" + ], + "machine_max_acceleration_retracting": [ + "1250" + ], + "machine_max_acceleration_travel": [ + "1500" + ], + "machine_max_acceleration_x": [ + "1500" + ], + "machine_max_acceleration_y": [ + "1500" + ], + "machine_max_acceleration_z": [ + "72" + ], + "machine_max_jerk_e": [ + "3" + ], + "machine_max_jerk_x": [ + "9" + ], + "machine_max_jerk_y": [ + "9" + ], + "machine_max_jerk_z": [ + "0.3" + ], + "machine_max_speed_x": [ + "240" + ], + "machine_max_speed_y": [ + "240" + ], + "machine_max_speed_z": [ + "12" + ], + "extruder_clearance_radius": "75", + "extruder_clearance_height_to_rod": "30", + "extruder_clearance_height_to_lid": "30", + "retraction_minimum_travel": [ + "4" + ], + "retraction_speed": [ + "35" + ], + "deretraction_speed": [ + "0" + ], + "thumbnails": [ + "64x64", + "400x300" + ], + "thumbnails_format": "PNG", + "machine_start_gcode": "M140 P0 S{first_layer_bed_temperature[0]} ; set bed temp\nG10 P0 R{first_layer_temperature[0] + standby_temperature_delta} S{first_layer_temperature[0]}\n\nM83 ; use relative distances for extrusion\nG90 ; use absolute coordinates\n\nM98 P\"0:/sys/meltingplot/print_start\"" +} diff --git a/resources/profiles/Meltingplot/mbl-133-texture.svg b/resources/profiles/Meltingplot/mbl-133-texture.svg new file mode 100644 index 0000000000..d7572a5a2e --- /dev/null +++ b/resources/profiles/Meltingplot/mbl-133-texture.svg @@ -0,0 +1,158 @@ + + + + + + image/svg+xml + + MBL133 + + + + + + MBL133 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Meltingplot/mbl-136-texture.svg b/resources/profiles/Meltingplot/mbl-136-texture.svg new file mode 100644 index 0000000000..415bd0fdc0 --- /dev/null +++ b/resources/profiles/Meltingplot/mbl-136-texture.svg @@ -0,0 +1,158 @@ + + + + + + image/svg+xml + + MBL133 + + + + + + MBL133 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Meltingplot/mbl-308-texture.svg b/resources/profiles/Meltingplot/mbl-308-texture.svg new file mode 100644 index 0000000000..96ee77c84d --- /dev/null +++ b/resources/profiles/Meltingplot/mbl-308-texture.svg @@ -0,0 +1,158 @@ + + + + + + image/svg+xml + + MBL133 + + + + + + MBL133 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Meltingplot/mbl-480-texture.svg b/resources/profiles/Meltingplot/mbl-480-texture.svg new file mode 100644 index 0000000000..e76d969d72 --- /dev/null +++ b/resources/profiles/Meltingplot/mbl-480-texture.svg @@ -0,0 +1,158 @@ + + + + + + image/svg+xml + + MBL133 + + + + + + MBL133 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Meltingplot/mbl133-printbed.stl b/resources/profiles/Meltingplot/mbl133-printbed.stl new file mode 100644 index 0000000000..888491edea Binary files /dev/null and b/resources/profiles/Meltingplot/mbl133-printbed.stl differ diff --git a/resources/profiles/Meltingplot/mbl136-printbed.stl b/resources/profiles/Meltingplot/mbl136-printbed.stl new file mode 100644 index 0000000000..ab25288591 Binary files /dev/null and b/resources/profiles/Meltingplot/mbl136-printbed.stl differ diff --git a/resources/profiles/Meltingplot/mbl308-printbed.stl b/resources/profiles/Meltingplot/mbl308-printbed.stl new file mode 100644 index 0000000000..ab25288591 Binary files /dev/null and b/resources/profiles/Meltingplot/mbl308-printbed.stl differ diff --git a/resources/profiles/Meltingplot/mbl480-printbed.stl b/resources/profiles/Meltingplot/mbl480-printbed.stl new file mode 100644 index 0000000000..ab25288591 Binary files /dev/null and b/resources/profiles/Meltingplot/mbl480-printbed.stl differ diff --git a/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..29b161150e --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.18mm Fine 0.4 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_small_nozzle", + "from": "system", + "setting_id": "AbSOyKLL1fGceKJM", + "instantiation": "true", + "layer_height": "0.18", + "compatible_printers": [ + "Meltingplot CHX 350 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..09624e8d1d --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.18mm Fine 0.4 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.18mm Fine 0.4 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_04_nozzle", + "from": "system", + "setting_id": "WF0wYUMc1HUHPyVQ", + "instantiation": "true", + "layer_height": "0.18", + "compatible_printers": [ + "Meltingplot MBL 133 0.4 nozzle", + "Meltingplot MBL 136 0.4 nozzle", + "Meltingplot MBL 308 0.4 nozzle", + "Meltingplot MBL 480 0.4 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..b5114e1fee --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.24mm Fine 0.6 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_small_nozzle", + "from": "system", + "setting_id": "KrZSDq4Tsnlnu0Dm", + "instantiation": "true", + "layer_height": "0.24", + "compatible_printers": [ + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..c6ff710938 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.24mm Fine 0.6 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.24mm Fine 0.6 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_06_nozzle", + "from": "system", + "setting_id": "9PDbCLSnBEocONzB", + "instantiation": "true", + "layer_height": "0.24", + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..476156be3a --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.28mm Optimal 0.6 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_small_nozzle", + "from": "system", + "setting_id": "RrsJ1yXD61T1Sk2u", + "instantiation": "true", + "layer_height": "0.28", + "compatible_printers": [ + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..4187f5f899 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.28mm Optimal 0.6 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.28mm Optimal 0.6 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_06_nozzle", + "from": "system", + "setting_id": "ewObaiyN5k5Jl17T", + "instantiation": "true", + "layer_height": "0.28", + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..90de66ee6e --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.30mm Standard 0.6 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_small_nozzle", + "from": "system", + "setting_id": "nHe2gihvCHahJ4Pw", + "instantiation": "true", + "layer_height": "0.30", + "compatible_printers": [ + "Meltingplot CHX 350 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..6ef66db3bc --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.30mm Standard 0.6 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.30mm Standard 0.6 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_06_nozzle", + "from": "system", + "setting_id": "6exgbZxVLHjH3Bhd", + "instantiation": "true", + "layer_height": "0.30", + "compatible_printers": [ + "Meltingplot MBL 133 0.6 nozzle", + "Meltingplot MBL 136 0.6 nozzle", + "Meltingplot MBL 308 0.6 nozzle", + "Meltingplot MBL 480 0.6 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.32mm Fine 0.8 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.32mm Fine 0.8 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..285d6594aa --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.32mm Fine 0.8 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.32mm Fine 0.8 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "HSqTmgZq9mxKpWzq", + "instantiation": "true", + "layer_height": "0.32", + "compatible_printers": [ + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.34mm Fine 0.8 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.34mm Fine 0.8 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..1acc2ebb64 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.34mm Fine 0.8 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.34mm Fine 0.8 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_08_nozzle", + "from": "system", + "setting_id": "XVRHVR0F8UrpWAeP", + "instantiation": "true", + "layer_height": "0.34", + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..fc6c41bd75 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.36mm Optimal 0.8 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "KLnV7sCKomrmvKxU", + "instantiation": "true", + "layer_height": "0.36", + "compatible_printers": [ + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..9694cff7d9 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.36mm Optimal 0.8 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.36mm Optimal 0.8 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_08_nozzle", + "from": "system", + "setting_id": "WpPpQuf0jWaXQaPU", + "instantiation": "true", + "layer_height": "0.36", + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..40d74e2bb3 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.38mm Standard 0.8 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "pKcgDKQM9IVmXiym", + "instantiation": "true", + "layer_height": "0.38", + "compatible_printers": [ + "Meltingplot CHX 350 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..c555721f40 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.38mm Standard 0.8 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.38mm Standard 0.8 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_08_nozzle", + "from": "system", + "setting_id": "IMZxMsLnd5IfiDFQ", + "instantiation": "true", + "layer_height": "0.38", + "compatible_printers": [ + "Meltingplot MBL 133 0.8 nozzle", + "Meltingplot MBL 136 0.8 nozzle", + "Meltingplot MBL 308 0.8 nozzle", + "Meltingplot MBL 480 0.8 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..4f8e9487d5 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.44mm Fine 1.0 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "QLMHgE0vHGQWiuz7", + "instantiation": "true", + "layer_height": "0.44", + "compatible_printers": [ + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..4f321f0192 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.44mm Fine 1.0 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.44mm Fine 1.0 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_10_nozzle", + "from": "system", + "setting_id": "tjLfITsaMySQV6OC", + "instantiation": "true", + "layer_height": "0.44", + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..2df947e174 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.48mm Fine 1.2 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "yzaZIGtEhvf2GGbl", + "instantiation": "true", + "layer_height": "0.48", + "compatible_printers": [ + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..7702399184 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.48mm Fine 1.2 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.48mm Fine 1.2 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_12_nozzle", + "from": "system", + "setting_id": "erJDLPP5pRQnGwoJ", + "instantiation": "true", + "layer_height": "0.48", + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..d88e9a538c --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.48mm Optimal 1.0 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "dZw2B5t8nN5lhyXI", + "instantiation": "true", + "layer_height": "0.48", + "compatible_printers": [ + "Meltingplot CHX 350 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..2b20bba856 --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.48mm Optimal 1.0 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.48mm Optimal 1.0 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_10_nozzle", + "from": "system", + "setting_id": "5wtjDWniGYAAtn79", + "instantiation": "true", + "layer_height": "0.48", + "compatible_printers": [ + "Meltingplot MBL 133 1.0 nozzle", + "Meltingplot MBL 136 1.0 nozzle", + "Meltingplot MBL 308 1.0 nozzle", + "Meltingplot MBL 480 1.0 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350.json b/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350.json new file mode 100644 index 0000000000..c29d827b2e --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350.json @@ -0,0 +1,12 @@ +{ + "type": "process", + "name": "0.56mm Optimal 1.2 nozzle @Meltingplot CHX 350", + "inherits": "fdm_process_meltingplot_chx_large_nozzle", + "from": "system", + "setting_id": "l6wYSAIFuyQFgT5X", + "instantiation": "true", + "layer_height": "0.56", + "compatible_printers": [ + "Meltingplot CHX 350 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot MBL.json b/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot MBL.json new file mode 100644 index 0000000000..f33064051a --- /dev/null +++ b/resources/profiles/Meltingplot/process/0.56mm Optimal 1.2 nozzle @Meltingplot MBL.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.56mm Optimal 1.2 nozzle @Meltingplot MBL", + "inherits": "fdm_process_meltingplot_mbl_12_nozzle", + "from": "system", + "setting_id": "i2aDrQXA45e6DpzC", + "instantiation": "true", + "layer_height": "0.56", + "compatible_printers": [ + "Meltingplot MBL 133 1.2 nozzle", + "Meltingplot MBL 136 1.2 nozzle", + "Meltingplot MBL 308 1.2 nozzle", + "Meltingplot MBL 480 1.2 nozzle" + ] +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_common.json b/resources/profiles/Meltingplot/process/fdm_process_common.json new file mode 100644 index 0000000000..ae3651d8fd --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_common.json @@ -0,0 +1,107 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_thickness": "0", + "bridge_speed": "50", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers": [], + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "1000", + "inner_wall_acceleration": "1000", + "outer_wall_acceleration": "700", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "wall_infill_order": "inner wall/outer wall/infill", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "crosshatch", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", + "detect_overhang_wall": "1", + "slowdown_for_curled_perimeters": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "line_width": "110%", + "inner_wall_line_width": "110%", + "outer_wall_line_width": "100%", + "precise_outer_wall": "0", + "top_surface_line_width": "93.75%", + "sparse_infill_line_width": "110%", + "initial_layer_line_width": "120%", + "internal_solid_infill_line_width": "120%", + "support_line_width": "96%", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "3", + "min_skirt_length": "4", + "skirt_loops": "0", + "minimum_sparse_infill_area": "15", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2", + "support_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "30", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonicline", + "top_shell_thickness": "0.8", + "enable_prime_tower": "1", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "layer_height": "0.2", + "bottom_shell_layers": "3", + "top_shell_layers": "4", + "bridge_flow": "1", + "initial_layer_speed": "45", + "initial_layer_infill_speed": "45", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "sparse_infill_speed": "150", + "internal_solid_infill_speed": "150", + "top_surface_speed": "50", + "gap_infill_speed": "30", + "travel_speed": "200" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_common.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_common.json new file mode 100644 index 0000000000..2a27efcb54 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_common.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_chx_common", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "filename_format": "{input_filename_base}_L{layer_height}mm_N{nozzle_diameter[0]}_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", + "brim_object_gap": "0", + "brim_type": "outer_only", + "default_acceleration": "6000", + "slowdown_for_curled_perimeters": "0", + "enable_support": "1", + "extrusion_rate_smoothing_external_perimeter_only": "1", + "gap_infill_speed": "250", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "30", + "initial_layer_line_width": "120%", + "initial_layer_speed": "20", + "inner_wall_line_width": "110%", + "inner_wall_speed": "300", + "internal_solid_infill_line_width": "115%", + "internal_solid_infill_speed": "250", + "line_width": "120%", + "reduce_infill_retraction": "0", + "seam_gap": "0", + "skirt_speed": "20", + "skirt_type": "perobject", + "slow_down_layers": "3", + "sparse_infill_line_width": "110%", + "support_line_width": "110%", + "support_type": "tree(auto)", + "top_shell_layers": "5", + "top_surface_acceleration": "2000", + "top_surface_line_width": "110%", + "top_surface_speed": "200", + "travel_speed": "1000", + "wall_generator": "classic" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_large_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_large_nozzle.json new file mode 100644 index 0000000000..63bf9517b0 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_large_nozzle.json @@ -0,0 +1,26 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_chx_large_nozzle", + "inherits": "fdm_process_meltingplot_chx_common", + "from": "system", + "instantiation": "false", + "bottom_shell_layers": "4", + "initial_layer_print_height": "0.5", + "inner_wall_acceleration": "6000", + "max_volumetric_extrusion_rate_slope": "300", + "outer_wall_acceleration": "2000", + "outer_wall_line_width": "110%", + "outer_wall_speed": "80", + "sparse_infill_pattern": "cubic", + "sparse_infill_speed": "300", + "support_base_pattern_spacing": "7.5", + "support_interface_speed": "80", + "support_object_first_layer_gap": "0.5", + "support_object_xy_distance": "0.45", + "support_speed": "200", + "support_style": "tree_slim", + "support_threshold_angle": "22", + "top_shell_thickness": "0.6", + "travel_acceleration": "6000", + "tree_support_tip_diameter": "1.2" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_small_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_small_nozzle.json new file mode 100644 index 0000000000..95506dcd70 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_chx_small_nozzle.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_chx_small_nozzle", + "inherits": "fdm_process_meltingplot_chx_common", + "from": "system", + "instantiation": "false", + "bottom_shell_thickness": "2", + "default_jerk": "12", + "infill_jerk": "12", + "initial_layer_jerk": "5", + "initial_layer_print_height": "0.4", + "inner_wall_acceleration": "6000", + "outer_wall_acceleration": "3000", + "outer_wall_jerk": "6", + "outer_wall_line_width": "115%", + "outer_wall_speed": "220", + "sparse_infill_speed": "270", + "support_top_z_distance": "0.3", + "top_shell_thickness": "2", + "top_surface_jerk": "6", + "travel_acceleration": "6000", + "wall_sequence": "inner-outer-inner wall", + "wipe_before_external_loop": "1" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_04_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_04_nozzle.json new file mode 100644 index 0000000000..bef0abf7e6 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_04_nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_04_nozzle", + "inherits": "fdm_process_meltingplot_mbl_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "0.85", + "initial_layer_print_height": "0.3", + "line_width": "115%", + "inner_wall_line_width": "115%", + "outer_wall_line_width": "115%", + "sparse_infill_line_width": "115%", + "internal_solid_infill_line_width": "115%" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_06_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_06_nozzle.json new file mode 100644 index 0000000000..e35d4446c1 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_06_nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_06_nozzle", + "inherits": "fdm_process_meltingplot_mbl_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "0.65", + "initial_layer_print_height": "0.4", + "line_width": "120%", + "inner_wall_line_width": "120%", + "outer_wall_line_width": "110%", + "sparse_infill_line_width": "120%", + "internal_solid_infill_line_width": "120%" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_08_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_08_nozzle.json new file mode 100644 index 0000000000..7548418e1f --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_08_nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_08_nozzle", + "inherits": "fdm_process_meltingplot_mbl_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "0.5", + "initial_layer_print_height": "0.5", + "line_width": "120%", + "inner_wall_line_width": "120%", + "outer_wall_line_width": "115%", + "sparse_infill_line_width": "115%", + "internal_solid_infill_line_width": "120%" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_10_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_10_nozzle.json new file mode 100644 index 0000000000..811916f197 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_10_nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_10_nozzle", + "inherits": "fdm_process_meltingplot_mbl_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "0.4", + "initial_layer_print_height": "0.5", + "infill_wall_overlap": "15%", + "line_width": "120%", + "inner_wall_line_width": "120%", + "outer_wall_line_width": "110%", + "sparse_infill_line_width": "120%", + "internal_solid_infill_line_width": "120%" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_12_nozzle.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_12_nozzle.json new file mode 100644 index 0000000000..02f4221eb9 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_12_nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_12_nozzle", + "inherits": "fdm_process_meltingplot_mbl_common", + "from": "system", + "instantiation": "false", + "bridge_flow": "0.4", + "initial_layer_print_height": "0.5", + "infill_wall_overlap": "15%", + "line_width": "120%", + "inner_wall_line_width": "120%", + "outer_wall_line_width": "110%", + "sparse_infill_line_width": "120%", + "internal_solid_infill_line_width": "120%" +} diff --git a/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_common.json b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_common.json new file mode 100644 index 0000000000..0e94be6513 --- /dev/null +++ b/resources/profiles/Meltingplot/process/fdm_process_meltingplot_mbl_common.json @@ -0,0 +1,60 @@ +{ + "type": "process", + "name": "fdm_process_meltingplot_mbl_common", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "filename_format": "{input_filename_base}_L{layer_height}mm_N{nozzle_diameter[0]}_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "20", + "slowdown_for_curled_perimeters": "0", + "default_acceleration": "0", + "initial_layer_acceleration": "0", + "inner_wall_acceleration": "0", + "outer_wall_acceleration": "0", + "top_surface_acceleration": "0", + "travel_acceleration": "0", + "detect_thin_wall": "1", + "elefant_foot_compensation": "0.1", + "enable_prime_tower": "0", + "enable_support": "0", + "gap_infill_speed": "42", + "infill_wall_overlap": "20%", + "initial_layer_infill_speed": "30", + "initial_layer_line_width": "120%", + "initial_layer_speed": "20", + "inner_wall_speed": "45", + "internal_solid_infill_speed": "80", + "outer_wall_speed": "42", + "prime_tower_width": "60", + "resolution": "0.01", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "3", + "small_perimeter_speed": "42", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "cubic", + "sparse_infill_speed": "80", + "standby_temperature_delta": "-100", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "5", + "support_interface_spacing": "0.2", + "support_interface_speed": "40", + "support_interface_top_layers": "4", + "support_interface_bottom_layers": "4", + "support_line_width": "100%", + "support_object_xy_distance": "0.2", + "support_on_build_plate_only": "1", + "support_speed": "50", + "support_style": "snug", + "support_threshold_angle": "55", + "support_top_z_distance": "0.1", + "top_shell_layers": "5", + "top_shell_thickness": "1", + "top_surface_line_width": "110%", + "top_surface_speed": "42", + "travel_speed": "350", + "wall_loops": "2" +} diff --git a/resources/profiles/OpenEYE.json b/resources/profiles/OpenEYE.json index e29674323e..36f4ae9fac 100644 --- a/resources/profiles/OpenEYE.json +++ b/resources/profiles/OpenEYE.json @@ -1,7 +1,7 @@ { "name": "OpenEYE", "url": "http://www.openeye.tech", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "OpenEYE Printers Configurations", "machine_model_list": [ diff --git a/resources/profiles/OpenEYE/machine/fdm_machine_common.json b/resources/profiles/OpenEYE/machine/fdm_machine_common.json index 86cbf26376..d8845ab892 100644 --- a/resources/profiles/OpenEYE/machine/fdm_machine_common.json +++ b/resources/profiles/OpenEYE/machine/fdm_machine_common.json @@ -1,4 +1,8 @@ { + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "best_object_pos": "0.5x0.5", "change_filament_gcode": "", @@ -16,9 +20,7 @@ "extruder_offset": [ "0x0" ], - "from": "system", "gcode_flavor": "marlin", - "instantiation": "false", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end", "machine_max_acceleration_e": [ @@ -77,7 +79,6 @@ "min_layer_height": [ "0.08" ], - "name": "fdm_machine_common", "nozzle_diameter": [ "0.4" ], @@ -109,9 +110,7 @@ "retraction_speed": [ "60" ], - "silent_mode": "0", "single_extruder_multi_material": "1", - "type": "machine", "wipe": [ "1" ], diff --git a/resources/profiles/OpenEYE/machine/fdm_openeye_common.json b/resources/profiles/OpenEYE/machine/fdm_openeye_common.json index 8af6ea96eb..6bfd69da55 100644 --- a/resources/profiles/OpenEYE/machine/fdm_openeye_common.json +++ b/resources/profiles/OpenEYE/machine/fdm_openeye_common.json @@ -1,4 +1,9 @@ { + "type": "machine", + "name": "fdm_openeye_common", + "inherits": "fdm_machine_common", + "from": "system", + "instantiation": "false", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "0", "bed_exclude_area": [ @@ -38,14 +43,11 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", "printer_agent": "moonraker", - "inherits": "fdm_machine_common", - "instantiation": "false", "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}\n_MMU_UPDATE_HEIGHT", "long_retractions_when_cut": [ "0" @@ -137,7 +139,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "fdm_openeye_common", "nozzle_diameter": [ "0.4", "0.4" @@ -195,7 +196,6 @@ "40" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "0", "support_chamber_temp_control": "0", @@ -208,7 +208,6 @@ "travel_slope": [ "3" ], - "type": "machine", "use_firmware_retraction": "0", "use_relative_e_distances": "1", "wipe": [ diff --git a/resources/profiles/OpenEYE/process/fdm_process_common.json b/resources/profiles/OpenEYE/process/fdm_process_common.json index a1e9d13605..9ac1223f30 100644 --- a/resources/profiles/OpenEYE/process/fdm_process_common.json +++ b/resources/profiles/OpenEYE/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", "bottom_surface_pattern": "monotonic", @@ -33,7 +32,6 @@ "inner_wall_line_width": "0.45", "inner_wall_speed": "40", "interface_shells": "0", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": "40", "ironing_flow": "10%", diff --git a/resources/profiles/OrcaArena.json b/resources/profiles/OrcaArena.json index 866b720b78..9bb97fb232 100644 --- a/resources/profiles/OrcaArena.json +++ b/resources/profiles/OrcaArena.json @@ -1,7 +1,7 @@ { "name": "Orca Arena Printer", "url": "", - "version": "02.04.00.03", + "version": "02.04.00.07", "force_update": "0", "description": "Orca Arena configuration files", "machine_model_list": [ diff --git a/resources/profiles/OrcaArena/machine/Orca Arena X1 Carbon.json b/resources/profiles/OrcaArena/machine/Orca Arena X1 Carbon.json index e375904da2..8d543bac21 100644 --- a/resources/profiles/OrcaArena/machine/Orca Arena X1 Carbon.json +++ b/resources/profiles/OrcaArena/machine/Orca Arena X1 Carbon.json @@ -2,12 +2,12 @@ "type": "machine_model", "name": "Orca Arena X1 Carbon", "model_id": "orca_arena_x1c", - "url": "", + "url": "https://www.orcaslicer.com", "nozzle_diameter": "0.4;0.2;0.6;0.8", "machine_tech": "FFF", "family": "ARENA-3DP", "bed_model": "", "bed_texture": "", "hotend_model": "", - "default_materials": "Generic PLA Silk @OrcaArena;Generic PLA @OrcaArena;Arena PLA Matte @Arena X1C;Arena PLA Basic @Arena X1C;Arena ABS @Arena X1C;Arena PC @Arena X1C;Arena Support W @Arena X1C;Arena TPU 95A @Arena X1C;PolyTerra PLA @Arena X1C;PolyLite PLA @Arena X1C;" + "default_materials": "Generic PLA Silk @OrcaArena;Generic PLA @OrcaArena;Arena PLA Matte @Arena X1C;Arena PLA Basic @Arena X1C;Arena ABS @Arena X1C;Arena PC @Arena X1C;Arena Support W @Arena X1C;Arena TPU 95A @Arena X1C;PolyTerra PLA @Arena X1C;PolyLite PLA @Arena X1C;Generic PLA @OrcaArena 0.2 nozzle" } diff --git a/resources/profiles/OrcaArena/machine/fdm_bbl_3dp_001_common.json b/resources/profiles/OrcaArena/machine/fdm_bbl_3dp_001_common.json index 84096e978c..0ce40a051a 100644 --- a/resources/profiles/OrcaArena/machine/fdm_bbl_3dp_001_common.json +++ b/resources/profiles/OrcaArena/machine/fdm_bbl_3dp_001_common.json @@ -144,7 +144,6 @@ "Spiral Lift" ], "nozzle_type": "hardened_steel", - "silent_mode": "0", "single_extruder_multi_material": "1", "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n", "machine_end_gcode": "PRINT_END", diff --git a/resources/profiles/OrcaArena/machine/fdm_machine_common.json b/resources/profiles/OrcaArena/machine/fdm_machine_common.json index 01ece7b8a0..84a8829a59 100644 --- a/resources/profiles/OrcaArena/machine/fdm_machine_common.json +++ b/resources/profiles/OrcaArena/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/OrcaArena/process/fdm_process_arena_common.json b/resources/profiles/OrcaArena/process/fdm_process_arena_common.json index 2fda69d729..f0171b1731 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_arena_common.json +++ b/resources/profiles/OrcaArena/process/fdm_process_arena_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -31,7 +30,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/OrcaArena/process/fdm_process_common.json b/resources/profiles/OrcaArena/process/fdm_process_common.json index abe5fe9e01..f78b43e241 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_common.json +++ b/resources/profiles/OrcaArena/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index c7b203d5f1..3d8a191dc6 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -1,6 +1,6 @@ { "name": "OrcaFilamentLibrary", - "version": "02.04.00.05", + "version": "02.04.00.12", "force_update": "0", "description": "Orca Filament Library", "filament_list": [ @@ -68,258 +68,6 @@ "name": "fdm_filament_pla", "sub_path": "filament/base/fdm_filament_pla.json" }, - { - "name": "FilAr PLA @base", - "sub_path": "filament/FilAr/FilAr PLA @base.json" - }, - { - "name": "FilAr PLA Bronce", - "sub_path": "filament/FilAr/FilAr PLA Bronce.json" - }, - { - "name": "FilAr PLA Gris Plata", - "sub_path": "filament/FilAr/FilAr PLA Gris Plata.json" - }, - { - "name": "FilAr PLA Cobre", - "sub_path": "filament/FilAr/FilAr PLA Cobre.json" - }, - { - "name": "FilAr PLA Titanio", - "sub_path": "filament/FilAr/FilAr PLA Titanio.json" - }, - { - "name": "FilAr PLA Tabaco", - "sub_path": "filament/FilAr/FilAr PLA Tabaco.json" - }, - { - "name": "FilAr PLA Cafe con Leche", - "sub_path": "filament/FilAr/FilAr PLA Cafe con Leche.json" - }, - { - "name": "FilAr PLA Manteca", - "sub_path": "filament/FilAr/FilAr PLA Manteca.json" - }, - { - "name": "FilAr PLA Marron Oxido", - "sub_path": "filament/FilAr/FilAr PLA Marron Oxido.json" - }, - { - "name": "FilAr PLA Carpincho", - "sub_path": "filament/FilAr/FilAr PLA Carpincho.json" - }, - { - "name": "FilAr PLA Rosa Amaranto", - "sub_path": "filament/FilAr/FilAr PLA Rosa Amaranto.json" - }, - { - "name": "FilAr PLA Rosa Flamenco", - "sub_path": "filament/FilAr/FilAr PLA Rosa Flamenco.json" - }, - { - "name": "FilAr PLA Piel", - "sub_path": "filament/FilAr/FilAr PLA Piel.json" - }, - { - "name": "FilAr PLA Verde FilAr", - "sub_path": "filament/FilAr/FilAr PLA Verde FilAr.json" - }, - { - "name": "FilAr PLA Verde Manzana", - "sub_path": "filament/FilAr/FilAr PLA Verde Manzana.json" - }, - { - "name": "FilAr PLA Verde Pixel", - "sub_path": "filament/FilAr/FilAr PLA Verde Pixel.json" - }, - { - "name": "FilAr PLA Verde Oliva", - "sub_path": "filament/FilAr/FilAr PLA Verde Oliva.json" - }, - { - "name": "FilAr PLA Blanco Antartida", - "sub_path": "filament/FilAr/FilAr PLA Blanco Antartida.json" - }, - { - "name": "FilAr PLA Blanco Calido", - "sub_path": "filament/FilAr/FilAr PLA Blanco Calido.json" - }, - { - "name": "FilAr PLA Negro Azabache", - "sub_path": "filament/FilAr/FilAr PLA Negro Azabache.json" - }, - { - "name": "FilAr PLA Naranja Tigre", - "sub_path": "filament/FilAr/FilAr PLA Naranja Tigre.json" - }, - { - "name": "FilAr PLA Rojo de Carreras", - "sub_path": "filament/FilAr/FilAr PLA Rojo de Carreras.json" - }, - { - "name": "FilAr PLA Amarillo Lirio", - "sub_path": "filament/FilAr/FilAr PLA Amarillo Lirio.json" - }, - { - "name": "FilAr PLA Violeta Jacaranda", - "sub_path": "filament/FilAr/FilAr PLA Violeta Jacaranda.json" - }, - { - "name": "FilAr PLA Gris Pizarra", - "sub_path": "filament/FilAr/FilAr PLA Gris Pizarra.json" - }, - { - "name": "FilAr PLA Gris Ceniza", - "sub_path": "filament/FilAr/FilAr PLA Gris Ceniza.json" - }, - { - "name": "FilAr PLA Azul Francia", - "sub_path": "filament/FilAr/FilAr PLA Azul Francia.json" - }, - { - "name": "FilAr PLA Celeste Cielo", - "sub_path": "filament/FilAr/FilAr PLA Celeste Cielo.json" - }, - { - "name": "FilAr PLA Oro", - "sub_path": "filament/FilAr/FilAr PLA Oro.json" - }, - { - "name": "FilAr PLA Dorado", - "sub_path": "filament/FilAr/FilAr PLA Dorado.json" - }, - { - "name": "FilAr PLA-mate @base", - "sub_path": "filament/FilAr/FilAr PLA-mate @base.json" - }, - { - "name": "FilAr PLA-mate Amarillo", - "sub_path": "filament/FilAr/FilAr PLA-mate Amarillo.json" - }, - { - "name": "FilAr PLA-mate Azul", - "sub_path": "filament/FilAr/FilAr PLA-mate Azul.json" - }, - { - "name": "FilAr PLA-mate Beige", - "sub_path": "filament/FilAr/FilAr PLA-mate Beige.json" - }, - { - "name": "FilAr PLA-mate Blanco", - "sub_path": "filament/FilAr/FilAr PLA-mate Blanco.json" - }, - { - "name": "FilAr PLA-mate Bordo", - "sub_path": "filament/FilAr/FilAr PLA-mate Bordo.json" - }, - { - "name": "FilAr PLA-mate Celeste Cielo", - "sub_path": "filament/FilAr/FilAr PLA-mate Celeste Cielo.json" - }, - { - "name": "FilAr PLA-mate Chocolate", - "sub_path": "filament/FilAr/FilAr PLA-mate Chocolate.json" - }, - { - "name": "FilAr PLA-mate Gris", - "sub_path": "filament/FilAr/FilAr PLA-mate Gris.json" - }, - { - "name": "FilAr PLA-mate Marron", - "sub_path": "filament/FilAr/FilAr PLA-mate Marron.json" - }, - { - "name": "FilAr PLA-mate Naranja", - "sub_path": "filament/FilAr/FilAr PLA-mate Naranja.json" - }, - { - "name": "FilAr PLA-mate Negro", - "sub_path": "filament/FilAr/FilAr PLA-mate Negro.json" - }, - { - "name": "FilAr PLA-mate Piel", - "sub_path": "filament/FilAr/FilAr PLA-mate Piel.json" - }, - { - "name": "FilAr PLA-mate Rojo", - "sub_path": "filament/FilAr/FilAr PLA-mate Rojo.json" - }, - { - "name": "FilAr PLA-mate Rosa", - "sub_path": "filament/FilAr/FilAr PLA-mate Rosa.json" - }, - { - "name": "FilAr PLA-mate Uva", - "sub_path": "filament/FilAr/FilAr PLA-mate Uva.json" - }, - { - "name": "FilAr PLA-mate Verde", - "sub_path": "filament/FilAr/FilAr PLA-mate Verde.json" - }, - { - "name": "FilAr PLA-mate Violeta", - "sub_path": "filament/FilAr/FilAr PLA-mate Violeta.json" - }, - { - "name": "FilAr PETG @base", - "sub_path": "filament/FilAr/FilAr PETG @base.json" - }, - { - "name": "FilAr PETG Amarillo Lima", - "sub_path": "filament/FilAr/FilAr PETG Amarillo Lima.json" - }, - { - "name": "FilAr PETG Amarillo Radiante", - "sub_path": "filament/FilAr/FilAr PETG Amarillo Radiante.json" - }, - { - "name": "FilAr PETG Azul Boreal", - "sub_path": "filament/FilAr/FilAr PETG Azul Boreal.json" - }, - { - "name": "FilAr PETG Azul Francia", - "sub_path": "filament/FilAr/FilAr PETG Azul Francia.json" - }, - { - "name": "FilAr PETG Azul Imperial", - "sub_path": "filament/FilAr/FilAr PETG Azul Imperial.json" - }, - { - "name": "FilAr PETG Blanco Antartida", - "sub_path": "filament/FilAr/FilAr PETG Blanco Antartida.json" - }, - { - "name": "FilAr PETG Cian", - "sub_path": "filament/FilAr/FilAr PETG Cian.json" - }, - { - "name": "FilAr PETG Coral", - "sub_path": "filament/FilAr/FilAr PETG Coral.json" - }, - { - "name": "FilAr PETG Cristal", - "sub_path": "filament/FilAr/FilAr PETG Cristal.json" - }, - { - "name": "FilAr PETG Gris Ceniza", - "sub_path": "filament/FilAr/FilAr PETG Gris Ceniza.json" - }, - { - "name": "FilAr PETG Gris Plata", - "sub_path": "filament/FilAr/FilAr PETG Gris Plata.json" - }, - { - "name": "FilAr PETG Magenta", - "sub_path": "filament/FilAr/FilAr PETG Magenta.json" - }, - { - "name": "FilAr PETG Negro Azabache", - "sub_path": "filament/FilAr/FilAr PETG Negro Azabache.json" - }, - { - "name": "FilAr PETG Rojo Carmesi", - "sub_path": "filament/FilAr/FilAr PETG Rojo Carmesi.json" - }, { "name": "fdm_filament_pp", "sub_path": "filament/base/fdm_filament_pp.json" @@ -344,10 +92,18 @@ "name": "fdm_filament_tpu", "sub_path": "filament/base/fdm_filament_tpu.json" }, + { + "name": "FusRock ABS-GF @BBL base", + "sub_path": "filament/FusRock/BBL/FusRock ABS-GF @BBL base.json" + }, { "name": "FusRock ABS-GF @System", "sub_path": "filament/FusRock/FusRock ABS-GF @System.json" }, + { + "name": "BETA ABS @base", + "sub_path": "filament/BETA/BETA ABS @base.json" + }, { "name": "Bambu ABS @base", "sub_path": "filament/Bambu/Bambu ABS @base.json" @@ -392,6 +148,10 @@ "name": "FDplast ABS @base", "sub_path": "filament/FDplast/FDplast ABS @base.json" }, + { + "name": "Generic ABS @BBL base", + "sub_path": "filament/addnorth/BBL/Generic ABS @BBL base.json" + }, { "name": "Generic ABS @System", "sub_path": "filament/Generic ABS @System.json" @@ -408,6 +168,14 @@ "name": "PolyLite ABS @base", "sub_path": "filament/Polymaker/PolyLite ABS @base.json" }, + { + "name": "Printalot ABS @base", + "sub_path": "filament/Printalot/Printalot ABS @base.json" + }, + { + "name": "BETA ASA @base", + "sub_path": "filament/BETA/BETA ASA @base.json" + }, { "name": "Bambu ASA @base", "sub_path": "filament/Bambu/Bambu ASA @base.json" @@ -472,6 +240,10 @@ "name": "Generic EVA @System", "sub_path": "filament/Generic EVA @System.json" }, + { + "name": "BETA HIPS @base", + "sub_path": "filament/BETA/BETA HIPS @base.json" + }, { "name": "FDplast HIPS @base", "sub_path": "filament/FDplast/FDplast HIPS @base.json" @@ -484,6 +256,10 @@ "name": "AliZ PA-CF @base", "sub_path": "filament/AliZ/AliZ PA-CF @base.json" }, + { + "name": "BETA PAHT-CF @base", + "sub_path": "filament/BETA/BETA PAHT-CF @base.json" + }, { "name": "Bambu PA-CF @base", "sub_path": "filament/Bambu/Bambu PA-CF @base.json" @@ -536,26 +312,58 @@ "name": "Fiberon PA12-CF @base", "sub_path": "filament/Polymaker/Fiberon PA12-CF @base.json" }, + { + "name": "Fiberon PA12-CF10 @base", + "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @base.json" + }, { "name": "Fiberon PA6-CF @base", "sub_path": "filament/Polymaker/Fiberon PA6-CF @base.json" }, + { + "name": "Fiberon PA6-CF20 @base", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @base.json" + }, { "name": "Fiberon PA6-GF @base", "sub_path": "filament/Polymaker/Fiberon PA6-GF @base.json" }, + { + "name": "Fiberon PA6-GF25 @base", + "sub_path": "filament/Polymaker/Fiberon PA6-GF25 @base.json" + }, { "name": "Fiberon PA612-CF @base", "sub_path": "filament/Polymaker/Fiberon PA612-CF @base.json" }, + { + "name": "Fiberon PA612-CF15 @base", + "sub_path": "filament/Polymaker/Fiberon PA612-CF15 @base.json" + }, + { + "name": "Generic PA @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PA @BBL base.json" + }, { "name": "Generic PA @System", "sub_path": "filament/Generic PA @System.json" }, + { + "name": "Generic PA-CF @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PA-CF @BBL base.json" + }, { "name": "Generic PA-CF @System", "sub_path": "filament/Generic PA-CF @System.json" }, + { + "name": "INSLOGIC PA6-66 @base", + "sub_path": "filament/INSLOGIC/INSLOGIC PA6-66 @base.json" + }, + { + "name": "INSLOGIC PA6-CF @base", + "sub_path": "filament/INSLOGIC/INSLOGIC PA6-CF @base.json" + }, { "name": "Bambu PC @base", "sub_path": "filament/Bambu/Bambu PC @base.json" @@ -568,6 +376,10 @@ "name": "Elegoo PC @base", "sub_path": "filament/Elegoo/Elegoo PC @base.json" }, + { + "name": "Generic PC @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PC @BBL base.json" + }, { "name": "Generic PC @System", "sub_path": "filament/Generic PC @System.json" @@ -588,14 +400,66 @@ "name": "Generic PE-CF @base", "sub_path": "filament/Generic PE-CF @base.json" }, - { - "name": "Generic PE-CF @System", - "sub_path": "filament/Generic PE-CF @System.json" - }, { "name": "AliZ PETG @base", "sub_path": "filament/AliZ/AliZ PETG @base.json" }, + { + "name": "BETA PETG @base", + "sub_path": "filament/BETA/BETA PETG @base.json" + }, + { + "name": "BETA PETG Fluorescence @base", + "sub_path": "filament/BETA/BETA PETG Fluorescence @base.json" + }, + { + "name": "BETA PETG Glitter @base", + "sub_path": "filament/BETA/BETA PETG Glitter @base.json" + }, + { + "name": "BETA PETG Glow @base", + "sub_path": "filament/BETA/BETA PETG Glow @base.json" + }, + { + "name": "BETA PETG Gradient @base", + "sub_path": "filament/BETA/BETA PETG Gradient @base.json" + }, + { + "name": "BETA PETG HF @base", + "sub_path": "filament/BETA/BETA PETG HF @base.json" + }, + { + "name": "BETA PETG Heat Color Change @base", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @base.json" + }, + { + "name": "BETA PETG Marble @base", + "sub_path": "filament/BETA/BETA PETG Marble @base.json" + }, + { + "name": "BETA PETG Matte @base", + "sub_path": "filament/BETA/BETA PETG Matte @base.json" + }, + { + "name": "BETA PETG Metallic @base", + "sub_path": "filament/BETA/BETA PETG Metallic @base.json" + }, + { + "name": "BETA PETG Transparent @base", + "sub_path": "filament/BETA/BETA PETG Transparent @base.json" + }, + { + "name": "BETA PETG UV Color Change @base", + "sub_path": "filament/BETA/BETA PETG UV Color Change @base.json" + }, + { + "name": "BETA PETG-CF @base", + "sub_path": "filament/BETA/BETA PETG-CF @base.json" + }, + { + "name": "BETA PETG-GF @base", + "sub_path": "filament/BETA/BETA PETG-GF @base.json" + }, { "name": "Bambu PET-CF @base", "sub_path": "filament/Bambu/Bambu PET-CF @base.json" @@ -664,6 +528,10 @@ "name": "Fiberon PET-CF @base", "sub_path": "filament/Polymaker/Fiberon PET-CF @base.json" }, + { + "name": "Fiberon PET-CF17 @base", + "sub_path": "filament/Polymaker/Fiberon PET-CF17 @base.json" + }, { "name": "Fiberon PETG-ESD @base", "sub_path": "filament/Polymaker/Fiberon PETG-ESD @base.json" @@ -672,6 +540,18 @@ "name": "Fiberon PETG-rCF @base", "sub_path": "filament/Polymaker/Fiberon PETG-rCF @base.json" }, + { + "name": "Fiberon PETG-rCF08 @base", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF08 @base.json" + }, + { + "name": "FilAr PETG @base", + "sub_path": "filament/FilAr/FilAr PETG @base.json" + }, + { + "name": "Generic PETG @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PETG @BBL base.json" + }, { "name": "Generic PETG @System", "sub_path": "filament/Generic PETG @System.json" @@ -680,22 +560,22 @@ "name": "Generic PETG HF @base", "sub_path": "filament/Generic PETG HF @base.json" }, - { - "name": "Generic PETG HF @System", - "sub_path": "filament/Generic PETG HF @System.json" - }, { "name": "Generic PETG-CF @base", "sub_path": "filament/Generic PETG-CF @base.json" }, - { - "name": "Generic PETG-CF @System", - "sub_path": "filament/Generic PETG-CF @System.json" - }, { "name": "GreenGate3D PETG @base", "sub_path": "filament/GreenGate3D/GreenGate3D PETG @base.json" }, + { + "name": "INSLOGIC PETG Pro @base", + "sub_path": "filament/INSLOGIC/INSLOGIC PETG Pro @base.json" + }, + { + "name": "JAYO PETG @base", + "sub_path": "filament/JAYO/JAYO PETG @base.json" + }, { "name": "NIT PETG @base", "sub_path": "filament/NIT/NIT PETG @base.json" @@ -720,6 +600,90 @@ "name": "AliZ PLA @base", "sub_path": "filament/AliZ/AliZ PLA @base.json" }, + { + "name": "BETA PLA Basic @base", + "sub_path": "filament/BETA/BETA PLA Basic @base.json" + }, + { + "name": "BETA PLA Chameleon @base", + "sub_path": "filament/BETA/BETA PLA Chameleon @base.json" + }, + { + "name": "BETA PLA Fluorescence @base", + "sub_path": "filament/BETA/BETA PLA Fluorescence @base.json" + }, + { + "name": "BETA PLA Glitter @base", + "sub_path": "filament/BETA/BETA PLA Glitter @base.json" + }, + { + "name": "BETA PLA Glow @base", + "sub_path": "filament/BETA/BETA PLA Glow @base.json" + }, + { + "name": "BETA PLA Gradient @base", + "sub_path": "filament/BETA/BETA PLA Gradient @base.json" + }, + { + "name": "BETA PLA Heat Color Change @base", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @base.json" + }, + { + "name": "BETA PLA High Speed @base", + "sub_path": "filament/BETA/BETA PLA High Speed @base.json" + }, + { + "name": "BETA PLA High Temp @base", + "sub_path": "filament/BETA/BETA PLA High Temp @base.json" + }, + { + "name": "BETA PLA Marble @base", + "sub_path": "filament/BETA/BETA PLA Marble @base.json" + }, + { + "name": "BETA PLA Matte @base", + "sub_path": "filament/BETA/BETA PLA Matte @base.json" + }, + { + "name": "BETA PLA Metal @base", + "sub_path": "filament/BETA/BETA PLA Metal @base.json" + }, + { + "name": "BETA PLA Metallic @base", + "sub_path": "filament/BETA/BETA PLA Metallic @base.json" + }, + { + "name": "BETA PLA PRO @base", + "sub_path": "filament/BETA/BETA PLA PRO @base.json" + }, + { + "name": "BETA PLA Silk @base", + "sub_path": "filament/BETA/BETA PLA Silk @base.json" + }, + { + "name": "BETA PLA Silk+ @base", + "sub_path": "filament/BETA/BETA PLA Silk+ @base.json" + }, + { + "name": "BETA PLA Transparent @base", + "sub_path": "filament/BETA/BETA PLA Transparent @base.json" + }, + { + "name": "BETA PLA UV Color Change @base", + "sub_path": "filament/BETA/BETA PLA UV Color Change @base.json" + }, + { + "name": "BETA PLA Wood @base", + "sub_path": "filament/BETA/BETA PLA Wood @base.json" + }, + { + "name": "BETA PLA Youth @base", + "sub_path": "filament/BETA/BETA PLA Youth @base.json" + }, + { + "name": "BETA PLA-CF @base", + "sub_path": "filament/BETA/BETA PLA-CF @base.json" + }, { "name": "Bambu PLA Aero @base", "sub_path": "filament/Bambu/Bambu PLA Aero @base.json" @@ -868,10 +832,26 @@ "name": "FILL3D PLA Turbo @base", "sub_path": "filament/FILL3D/FILL3D PLA Turbo @base.json" }, + { + "name": "FilAr PLA @base", + "sub_path": "filament/FilAr/FilAr PLA @base.json" + }, + { + "name": "FilAr PLA-mate @base", + "sub_path": "filament/FilAr/FilAr PLA-mate @base.json" + }, + { + "name": "Generic PLA @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PLA @BBL base.json" + }, { "name": "Generic PLA @System", "sub_path": "filament/Generic PLA @System.json" }, + { + "name": "Generic PLA High Speed @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PLA High Speed @BBL base.json" + }, { "name": "Generic PLA High Speed @System", "sub_path": "filament/Generic PLA High Speed @System.json" @@ -881,13 +861,29 @@ "sub_path": "filament/Generic PLA Matte @base.json" }, { - "name": "Generic PLA Matte @System", - "sub_path": "filament/Generic PLA Matte @System.json" + "name": "Generic PLA Silk @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PLA Silk @BBL base.json" + }, + { + "name": "Generic PLA-CF @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PLA-CF @BBL base.json" }, { "name": "Generic PLA-CF @System", "sub_path": "filament/Generic PLA-CF @System.json" }, + { + "name": "INSLOGIC PLA Pro @base", + "sub_path": "filament/INSLOGIC/INSLOGIC PLA Pro @base.json" + }, + { + "name": "JAYO PLA @base", + "sub_path": "filament/JAYO/JAYO PLA @base.json" + }, + { + "name": "JAYO PLA Classic @base", + "sub_path": "filament/JAYO/JAYO PLA Classic @base.json" + }, { "name": "NIT PLA @base", "sub_path": "filament/NIT/NIT PLA @base.json" @@ -992,18 +988,58 @@ "name": "Panchroma PLA UV Shift @base", "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @base.json" }, + { + "name": "PlastAR PLA @base", + "sub_path": "filament/Printalot/PlastAR PLA @base.json" + }, + { + "name": "PolyLite CosPLA @base", + "sub_path": "filament/Polymaker/PolyLite CosPLA @base.json" + }, { "name": "PolyLite PLA @base", "sub_path": "filament/Polymaker/PolyLite PLA @base.json" }, + { + "name": "PolyLite PLA Galaxy @base", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @base.json" + }, + { + "name": "PolyLite PLA Glow @base", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @base.json" + }, + { + "name": "PolyLite PLA Luminous @base", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @base.json" + }, + { + "name": "PolyLite PLA Neon @base", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @base.json" + }, { "name": "PolyLite PLA Pro @base", "sub_path": "filament/Polymaker/PolyLite PLA Pro @base.json" }, + { + "name": "PolyLite PLA Starlight @base", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @base.json" + }, + { + "name": "PolyLite PLA Translucent @base", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @base.json" + }, { "name": "PolyTerra PLA @base", "sub_path": "filament/Polymaker/PolyTerra PLA @base.json" }, + { + "name": "PolyTerra PLA Marble @base", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @base.json" + }, + { + "name": "PolyTerra PLA+ @base", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @base.json" + }, { "name": "Polymaker HT-PLA @base", "sub_path": "filament/Polymaker/Polymaker HT-PLA @base.json" @@ -1012,6 +1048,10 @@ "name": "Polymaker HT-PLA-GF @base", "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @base.json" }, + { + "name": "Polymaker PLA Pro @base", + "sub_path": "filament/Polymaker/Polymaker PLA Pro @base.json" + }, { "name": "SUNLU PLA Marble @base", "sub_path": "filament/SUNLU/SUNLU Marble PLA @base.json" @@ -1092,18 +1132,10 @@ "name": "Generic PP-CF @base", "sub_path": "filament/Generic PP-CF @base.json" }, - { - "name": "Generic PP-CF @System", - "sub_path": "filament/Generic PP-CF @System.json" - }, { "name": "Generic PP-GF @base", "sub_path": "filament/Generic PP-GF @base.json" }, - { - "name": "Generic PP-GF @System", - "sub_path": "filament/Generic PP-GF @System.json" - }, { "name": "Bambu PPA-CF @base", "sub_path": "filament/Bambu/Bambu PPA-CF @base.json" @@ -1140,6 +1172,26 @@ "name": "Generic SBS @System", "sub_path": "filament/Generic SBS @System.json" }, + { + "name": "BETA PEBA 90A @base", + "sub_path": "filament/BETA/BETA PEBA 90A @base.json" + }, + { + "name": "BETA TPU 90A @base", + "sub_path": "filament/BETA/BETA TPU 90A @base.json" + }, + { + "name": "BETA TPU 95A @base", + "sub_path": "filament/BETA/BETA TPU 95A @base.json" + }, + { + "name": "BETA TPU 98A @base", + "sub_path": "filament/BETA/BETA TPU 98A @base.json" + }, + { + "name": "BETA TPU Matte @base", + "sub_path": "filament/BETA/BETA TPU Matte @base.json" + }, { "name": "Bambu TPU 95A @base", "sub_path": "filament/Bambu/Bambu TPU 95A @base.json" @@ -1192,6 +1244,10 @@ "name": "FDplast TPU @base", "sub_path": "filament/FDplast/FDplast TPU @base.json" }, + { + "name": "Generic TPU @BBL base", + "sub_path": "filament/addnorth/BBL/Generic TPU @BBL base.json" + }, { "name": "Generic TPU @System", "sub_path": "filament/Generic TPU @System.json" @@ -1200,6 +1256,38 @@ "name": "Overture TPU @base", "sub_path": "filament/Overture/Overture TPU @base.json" }, + { + "name": "FusRock ABS-GF @BBL A1", + "sub_path": "filament/FusRock/BBL/FusRock ABS-GF @BBL A1.json" + }, + { + "name": "FusRock ABS-GF @BBL H2D", + "sub_path": "filament/FusRock/BBL/FusRock ABS-GF @BBL H2D.json" + }, + { + "name": "FusRock ABS-GF @BBL P1P", + "sub_path": "filament/FusRock/BBL/FusRock ABS-GF @BBL P1P.json" + }, + { + "name": "FusRock ABS-GF @BBL X1C", + "sub_path": "filament/FusRock/BBL/FusRock ABS-GF @BBL X1C.json" + }, + { + "name": "BETA ABS @BBL A1", + "sub_path": "filament/BETA/BBL/BETA ABS @BBL A1.json" + }, + { + "name": "BETA ABS @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA ABS @BBL H2D.json" + }, + { + "name": "BETA ABS @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA ABS @BBL P1P.json" + }, + { + "name": "BETA ABS @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA ABS @BBL X1C.json" + }, { "name": "Bambu ABS @System", "sub_path": "filament/Bambu/Bambu ABS @System.json" @@ -1212,10 +1300,42 @@ "name": "Bambu Support for ABS @System", "sub_path": "filament/Bambu/Bambu Support for ABS @System.json" }, + { + "name": "COEX ABS @BBL X1", + "sub_path": "filament/COEX/BBL/COEX ABS @BBL X1.json" + }, + { + "name": "COEX ABS @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ABS @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX ABS @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX ABS @BBL X1C.json" + }, + { + "name": "COEX ABS @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ABS @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX ABS @System", "sub_path": "filament/COEX/COEX ABS @System.json" }, + { + "name": "COEX ABS PRIME @BBL X1", + "sub_path": "filament/COEX/BBL/COEX ABS PRIME @BBL X1.json" + }, + { + "name": "COEX ABS PRIME @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ABS PRIME @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX ABS PRIME @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX ABS PRIME @BBL X1C.json" + }, + { + "name": "COEX ABS PRIME @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ABS PRIME @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX ABS PRIME @System", "sub_path": "filament/COEX/COEX ABS PRIME @System.json" @@ -1240,6 +1360,10 @@ "name": "FDplast ABS @System", "sub_path": "filament/FDplast/FDplast ABS @System.json" }, + { + "name": "addnorth ABS rABS", + "sub_path": "filament/addnorth/BBL/addnorth ABS rABS.json" + }, { "name": "NIT ABS @System", "sub_path": "filament/NIT/NIT ABS @System.json" @@ -1252,6 +1376,22 @@ "name": "PolyLite ABS @System", "sub_path": "filament/Polymaker/PolyLite ABS @System.json" }, + { + "name": "Printalot ABS @System", + "sub_path": "filament/Printalot/Printalot ABS @System.json" + }, + { + "name": "BETA ASA @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA ASA @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA ASA @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA ASA @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA ASA @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA ASA @BBL X1C 0.4 nozzle.json" + }, { "name": "Bambu ASA @System", "sub_path": "filament/Bambu/Bambu ASA @System.json" @@ -1264,6 +1404,22 @@ "name": "Bambu ASA-CF @System", "sub_path": "filament/Bambu/Bambu ASA-CF @System.json" }, + { + "name": "COEX ASA PRIME @BBL X1", + "sub_path": "filament/COEX/BBL/COEX ASA PRIME @BBL X1.json" + }, + { + "name": "COEX ASA PRIME @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ASA PRIME @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX ASA PRIME @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX ASA PRIME @BBL X1C.json" + }, + { + "name": "COEX ASA PRIME @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX ASA PRIME @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX ASA PRIME @System", "sub_path": "filament/COEX/COEX ASA PRIME @System.json" @@ -1293,8 +1449,20 @@ "sub_path": "filament/Elegoo/Elegoo ASA-CF @base.json" }, { - "name": "Elegoo ASA-CF @System", - "sub_path": "filament/Elegoo/Elegoo ASA-CF @System.json" + "name": "Overture ASA @BBL X1", + "sub_path": "filament/Overture/BBL/Overture ASA @BBL X1.json" + }, + { + "name": "Overture ASA @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture ASA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture ASA @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture ASA @BBL X1C.json" + }, + { + "name": "Overture ASA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture ASA @BBL X1C 0.2 nozzle.json" }, { "name": "Overture ASA @System", @@ -1304,14 +1472,38 @@ "name": "PolyLite ASA @System", "sub_path": "filament/Polymaker/PolyLite ASA @System.json" }, + { + "name": "BETA HIPS @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA HIPS @BBL H2D.json" + }, + { + "name": "BETA HIPS @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA HIPS @BBL X1C.json" + }, { "name": "FDplast HIPS @System", "sub_path": "filament/FDplast/FDplast HIPS @System.json" }, + { + "name": "AliZ PA-CF @P1-X1", + "sub_path": "filament/AliZ/BBL/AliZ PA-CF @P1-X1.json" + }, { "name": "AliZ PA-CF @System", "sub_path": "filament/AliZ/AliZ PA-CF @System.json" }, + { + "name": "BETA PAHT-CF @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PAHT-CF @BBL H2D.json" + }, + { + "name": "BETA PAHT-CF @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PAHT-CF @BBL P1P.json" + }, + { + "name": "BETA PAHT-CF @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PAHT-CF @BBL X1C.json" + }, { "name": "Bambu PA-CF @System", "sub_path": "filament/Bambu/Bambu PA-CF @System.json" @@ -1336,10 +1528,18 @@ "name": "Bambu Support G @System", "sub_path": "filament/Bambu/Bambu Support G @System.json" }, + { + "name": "COEX NYLEX PA6-CF @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX NYLEX PA6-CF @BBL X1C.json" + }, { "name": "COEX NYLEX PA6-CF @System", "sub_path": "filament/COEX/COEX NYLEX PA6-CF @System.json" }, + { + "name": "COEX NYLEX UNFILLED @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX NYLEX UNFILLED @BBL X1C.json" + }, { "name": "DREMC PA12-CF @System", "sub_path": "filament/DREMC/DREMC PA12-CF @System.json" @@ -1360,18 +1560,78 @@ "name": "Fiberon PA12-CF @System", "sub_path": "filament/Polymaker/Fiberon PA12-CF @System.json" }, + { + "name": "Fiberon PA12-CF10 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PA12-CF10 @BBL X1.json" + }, { "name": "Fiberon PA6-CF @System", "sub_path": "filament/Polymaker/Fiberon PA6-CF @System.json" }, + { + "name": "Fiberon PA6-CF20 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PA6-CF20 @BBL X1.json" + }, { "name": "Fiberon PA6-GF @System", "sub_path": "filament/Polymaker/Fiberon PA6-GF @System.json" }, + { + "name": "Fiberon PA6-GF25 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PA6-GF25 @BBL X1.json" + }, { "name": "Fiberon PA612-CF @System", "sub_path": "filament/Polymaker/Fiberon PA612-CF @System.json" }, + { + "name": "Fiberon PA612-CF15 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PA612-CF15 @BBL X1.json" + }, + { + "name": "addnorth PA Adura", + "sub_path": "filament/addnorth/BBL/addnorth PA Adura.json" + }, + { + "name": "addnorth PA Adura FDA", + "sub_path": "filament/addnorth/BBL/addnorth PA Adura FDA.json" + }, + { + "name": "addnorth PA6 Addlantis", + "sub_path": "filament/addnorth/BBL/addnorth PA6 Addlantis.json" + }, + { + "name": "addnorth PVDF Adamant S1", + "sub_path": "filament/addnorth/BBL/addnorth PVDF Adamant S1.json" + }, + { + "name": "addnorth PA-CF Adura X", + "sub_path": "filament/addnorth/BBL/addnorth PA-CF Adura X.json" + }, + { + "name": "INSLOGIC PA6-66 @BBL P2S", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PA6-66 @BBL P2S.json" + }, + { + "name": "INSLOGIC PA6-66 @P1-X1", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PA6-66 @P1-X1.json" + }, + { + "name": "INSLOGIC PA6-66 @Prusa CORE One", + "sub_path": "filament/INSLOGIC/Prusa/INSLOGIC PA6-66 @Prusa CORE One.json" + }, + { + "name": "INSLOGIC PA6-CF @BBL P2S", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PA6-CF @BBL P2S.json" + }, + { + "name": "INSLOGIC PA6-CF @P1-X1", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PA6-CF @P1-X1.json" + }, + { + "name": "INSLOGIC PA6-CF @Prusa CORE One", + "sub_path": "filament/INSLOGIC/Prusa/INSLOGIC PA6-CF @Prusa CORE One.json" + }, { "name": "Bambu PC @System", "sub_path": "filament/Bambu/Bambu PC @System.json" @@ -1389,13 +1649,45 @@ "sub_path": "filament/Elegoo/Elegoo PC-FR @base.json" }, { - "name": "Elegoo PC-FR @System", - "sub_path": "filament/Elegoo/Elegoo PC-FR @System.json" + "name": "addnorth PC BLend HT LCF", + "sub_path": "filament/addnorth/BBL/addnorth PC BLend HT LCF.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.8 nozzle.json" + }, + { + "name": "COEX PCTG PRIME @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL X1C.json" + }, + { + "name": "COEX PCTG PRIME @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json" + }, + { + "name": "COEX PCTG PRIME @BBL X1C 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json" }, { "name": "COEX PCTG PRIME @System", "sub_path": "filament/COEX/COEX PCTG PRIME @System.json" }, + { + "name": "Generic PE-CF @System", + "sub_path": "filament/Generic PE-CF @System.json" + }, + { + "name": "AliZ PETG @P1-X1", + "sub_path": "filament/AliZ/BBL/AliZ PETG @P1-X1.json" + }, { "name": "AliZ PETG @System", "sub_path": "filament/AliZ/AliZ PETG @System.json" @@ -1408,6 +1700,238 @@ "name": "AliZ PETG-Metal @base", "sub_path": "filament/AliZ/AliZ PETG-Metal @base.json" }, + { + "name": "BETA PETG @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG @BBL A1.json" + }, + { + "name": "BETA PETG @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG @BBL X1C.json" + }, + { + "name": "BETA PETG Fluorescence @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Fluorescence @BBL A1.json" + }, + { + "name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Fluorescence @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Fluorescence @BBL X1C.json" + }, + { + "name": "BETA PETG Glitter @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Glitter @BBL A1.json" + }, + { + "name": "BETA PETG Glitter @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Glitter @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glitter @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Glitter @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glitter @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Glitter @BBL X1C.json" + }, + { + "name": "BETA PETG Glow @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Glow @BBL A1.json" + }, + { + "name": "BETA PETG Glow @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Glow @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glow @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Glow @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glow @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Glow @BBL X1C.json" + }, + { + "name": "BETA PETG Gradient @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Gradient @BBL A1.json" + }, + { + "name": "BETA PETG Gradient @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Gradient @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Gradient @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Gradient @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Gradient @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Gradient @BBL X1C.json" + }, + { + "name": "BETA PETG HF @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG HF @BBL A1.json" + }, + { + "name": "BETA PETG HF @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PETG HF @BBL A1M.json" + }, + { + "name": "BETA PETG HF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG HF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG HF @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG HF @BBL X1C.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Heat Color Change @BBL X1C.json" + }, + { + "name": "BETA PETG Marble @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Marble @BBL A1.json" + }, + { + "name": "BETA PETG Marble @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Marble @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Marble @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Marble @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Marble @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Marble @BBL X1C.json" + }, + { + "name": "BETA PETG Matte @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Matte @BBL A1.json" + }, + { + "name": "BETA PETG Matte @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Matte @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Matte @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Matte @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Matte @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Matte @BBL X1C.json" + }, + { + "name": "BETA PETG Metallic @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Metallic @BBL A1.json" + }, + { + "name": "BETA PETG Metallic @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Metallic @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Metallic @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Metallic @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Metallic @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Metallic @BBL X1C.json" + }, + { + "name": "BETA PETG Transparent @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG Transparent @BBL A1.json" + }, + { + "name": "BETA PETG Transparent @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PETG Transparent @BBL A1M.json" + }, + { + "name": "BETA PETG Transparent @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG Transparent @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Transparent @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG Transparent @BBL X1C.json" + }, + { + "name": "BETA PETG UV Color Change @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PETG UV Color Change @BBL A1.json" + }, + { + "name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG UV Color Change @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PETG UV Color Change @BBL X1C.json" + }, + { + "name": "BETA PETG-CF @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-CF @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-CF @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL P1P 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-CF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-CF @BBL X1C 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-GF @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-GF @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-GF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL P1P 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-GF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PETG-GF @BBL X1C 0.4 nozzle.json" + }, { "name": "Bambu PET-CF @System", "sub_path": "filament/Bambu/Bambu PET-CF @System.json" @@ -1428,6 +1952,30 @@ "name": "Bambu PETG-CF @System", "sub_path": "filament/Bambu/Bambu PETG-CF @System.json" }, + { + "name": "COEX PETG @BBL A1", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1.json" + }, + { + "name": "COEX PETG @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX PETG @BBL A1 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1 0.8 nozzle.json" + }, + { + "name": "COEX PETG @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL X1C.json" + }, + { + "name": "COEX PETG @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL X1C 0.2 nozzle.json" + }, + { + "name": "COEX PETG @BBL X1C 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL X1C 0.8 nozzle.json" + }, { "name": "COEX PETG @System", "sub_path": "filament/COEX/COEX PETG @System.json" @@ -1448,10 +1996,6 @@ "name": "Elegoo PET-CF @base", "sub_path": "filament/Elegoo/Elegoo PET-CF @base.json" }, - { - "name": "Elegoo PET-CF @System", - "sub_path": "filament/Elegoo/Elegoo PET-CF @System.json" - }, { "name": "Elegoo PETG @System", "sub_path": "filament/Elegoo/Elegoo PETG @System.json" @@ -1460,50 +2004,26 @@ "name": "Elegoo PETG HF @base", "sub_path": "filament/Elegoo/Elegoo PETG HF @base.json" }, - { - "name": "Elegoo PETG HF @System", - "sub_path": "filament/Elegoo/Elegoo PETG HF @System.json" - }, { "name": "Elegoo PETG PRO @base", "sub_path": "filament/Elegoo/Elegoo PETG PRO @base.json" }, - { - "name": "Elegoo PETG PRO @System", - "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" - }, { "name": "Elegoo PETG Translucent @base", "sub_path": "filament/Elegoo/Elegoo PETG Translucent @base.json" }, - { - "name": "Elegoo PETG Translucent @System", - "sub_path": "filament/Elegoo/Elegoo PETG Translucent @System.json" - }, { "name": "Elegoo PETG-CF @base", "sub_path": "filament/Elegoo/Elegoo PETG-CF @base.json" }, - { - "name": "Elegoo PETG-CF @System", - "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" - }, { "name": "Elegoo PETG-GF @base", "sub_path": "filament/Elegoo/Elegoo PETG-GF @base.json" }, - { - "name": "Elegoo PETG-GF @System", - "sub_path": "filament/Elegoo/Elegoo PETG-GF @System.json" - }, { "name": "Elegoo Rapid PETG @base", "sub_path": "filament/Elegoo/Elegoo Rapid PETG @base.json" }, - { - "name": "Elegoo Rapid PETG @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" - }, { "name": "FDplast PETG @System", "sub_path": "filament/FDplast/FDplast PETG @System.json" @@ -1520,6 +2040,14 @@ "name": "Fiberon PET-CF @System", "sub_path": "filament/Polymaker/Fiberon PET-CF @System.json" }, + { + "name": "Fiberon PET-CF17 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PET-CF17 @BBL X1.json" + }, + { + "name": "Fiberon PETG-ESD @BBL base", + "sub_path": "filament/Polymaker/BBL/Fiberon PETG-ESD @BBL base.json" + }, { "name": "Fiberon PETG-ESD @System", "sub_path": "filament/Polymaker/Fiberon PETG-ESD @System.json" @@ -1528,10 +2056,134 @@ "name": "Fiberon PETG-rCF @System", "sub_path": "filament/Polymaker/Fiberon PETG-rCF @System.json" }, + { + "name": "Fiberon PETG-rCF08 @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PETG-rCF08 @BBL X1.json" + }, + { + "name": "FilAr PETG Amarillo Lima", + "sub_path": "filament/FilAr/FilAr PETG Amarillo Lima.json" + }, + { + "name": "FilAr PETG Amarillo Radiante", + "sub_path": "filament/FilAr/FilAr PETG Amarillo Radiante.json" + }, + { + "name": "FilAr PETG Azul Boreal", + "sub_path": "filament/FilAr/FilAr PETG Azul Boreal.json" + }, + { + "name": "FilAr PETG Azul Francia", + "sub_path": "filament/FilAr/FilAr PETG Azul Francia.json" + }, + { + "name": "FilAr PETG Azul Imperial", + "sub_path": "filament/FilAr/FilAr PETG Azul Imperial.json" + }, + { + "name": "FilAr PETG Blanco Antartida", + "sub_path": "filament/FilAr/FilAr PETG Blanco Antartida.json" + }, + { + "name": "FilAr PETG Cian", + "sub_path": "filament/FilAr/FilAr PETG Cian.json" + }, + { + "name": "FilAr PETG Coral", + "sub_path": "filament/FilAr/FilAr PETG Coral.json" + }, + { + "name": "FilAr PETG Cristal", + "sub_path": "filament/FilAr/FilAr PETG Cristal.json" + }, + { + "name": "FilAr PETG Gris Ceniza", + "sub_path": "filament/FilAr/FilAr PETG Gris Ceniza.json" + }, + { + "name": "FilAr PETG Gris Plata", + "sub_path": "filament/FilAr/FilAr PETG Gris Plata.json" + }, + { + "name": "FilAr PETG Magenta", + "sub_path": "filament/FilAr/FilAr PETG Magenta.json" + }, + { + "name": "FilAr PETG Negro Azabache", + "sub_path": "filament/FilAr/FilAr PETG Negro Azabache.json" + }, + { + "name": "FilAr PETG Rojo Carmesi", + "sub_path": "filament/FilAr/FilAr PETG Rojo Carmesi.json" + }, + { + "name": "addnorth PETG Base", + "sub_path": "filament/addnorth/BBL/addnorth PETG Base.json" + }, + { + "name": "addnorth PETG ESD", + "sub_path": "filament/addnorth/BBL/addnorth PETG ESD.json" + }, + { + "name": "addnorth PETG Economy", + "sub_path": "filament/addnorth/BBL/addnorth PETG Economy.json" + }, + { + "name": "addnorth PETG Flame v0", + "sub_path": "filament/addnorth/BBL/addnorth PETG Flame v0.json" + }, + { + "name": "addnorth PETG PRO Matte", + "sub_path": "filament/addnorth/BBL/addnorth PETG PRO Matte.json" + }, + { + "name": "addnorth PETG rPETG Matte", + "sub_path": "filament/addnorth/BBL/addnorth PETG rPETG Matte.json" + }, + { + "name": "Generic PETG HF @System", + "sub_path": "filament/Generic PETG HF @System.json" + }, + { + "name": "Generic PETG-CF @BBL base", + "sub_path": "filament/addnorth/BBL/Generic PETG-CF @BBL base.json" + }, + { + "name": "Generic PETG-CF @System", + "sub_path": "filament/Generic PETG-CF @System.json" + }, { "name": "GreenGate3D PETG @System", "sub_path": "filament/GreenGate3D/GreenGate3D PETG @System.json" }, + { + "name": "INSLOGIC PETG Pro @BBL P2S", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PETG Pro @BBL P2S.json" + }, + { + "name": "INSLOGIC PETG Pro @P1-X1", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PETG Pro @P1-X1.json" + }, + { + "name": "INSLOGIC PETG Pro @Prusa CORE One", + "sub_path": "filament/INSLOGIC/Prusa/INSLOGIC PETG Pro @Prusa CORE One.json" + }, + { + "name": "JAYO PETG @BBL A1 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PETG @BBL A1 0.4 nozzle.json" + }, + { + "name": "JAYO PETG @BBL P2S 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PETG @BBL P2S 0.4 nozzle.json" + }, + { + "name": "JAYO PETG @Creality K2 Pro 0.4 nozzle", + "sub_path": "filament/JAYO/Creality/JAYO PETG @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "JAYO PETG @System", + "sub_path": "filament/JAYO/JAYO PETG @System.json" + }, { "name": "NIT PETG @System", "sub_path": "filament/NIT/NIT PETG @System.json" @@ -1548,10 +2200,434 @@ "name": "eSUN PETG @System", "sub_path": "filament/eSUN/eSUN PETG @System.json" }, + { + "name": "AliZ PLA @P1-X1", + "sub_path": "filament/AliZ/BBL/AliZ PLA @P1-X1.json" + }, { "name": "AliZ PLA @System", "sub_path": "filament/AliZ/AliZ PLA @System.json" }, + { + "name": "BETA PLA Basic @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Basic @BBL A1.json" + }, + { + "name": "BETA PLA Basic @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Basic @BBL A1M.json" + }, + { + "name": "BETA PLA Basic @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Basic @BBL H2D.json" + }, + { + "name": "BETA PLA Basic @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Basic @BBL P1P.json" + }, + { + "name": "BETA PLA Basic @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Basic @BBL X1C.json" + }, + { + "name": "BETA PLA Chameleon @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Chameleon @BBL A1.json" + }, + { + "name": "BETA PLA Chameleon @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Chameleon @BBL A1M.json" + }, + { + "name": "BETA PLA Chameleon @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Chameleon @BBL H2D.json" + }, + { + "name": "BETA PLA Chameleon @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Chameleon @BBL P1P.json" + }, + { + "name": "BETA PLA Chameleon @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Chameleon @BBL X1C.json" + }, + { + "name": "BETA PLA Fluorescence @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Fluorescence @BBL A1.json" + }, + { + "name": "BETA PLA Fluorescence @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Fluorescence @BBL A1M.json" + }, + { + "name": "BETA PLA Fluorescence @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Fluorescence @BBL H2D.json" + }, + { + "name": "BETA PLA Fluorescence @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Fluorescence @BBL P1P.json" + }, + { + "name": "BETA PLA Fluorescence @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Fluorescence @BBL X1C.json" + }, + { + "name": "BETA PLA Glitter @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Glitter @BBL A1.json" + }, + { + "name": "BETA PLA Glitter @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Glitter @BBL A1M.json" + }, + { + "name": "BETA PLA Glitter @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Glitter @BBL H2D.json" + }, + { + "name": "BETA PLA Glitter @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Glitter @BBL P1P.json" + }, + { + "name": "BETA PLA Glitter @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Glitter @BBL X1C.json" + }, + { + "name": "BETA PLA Glow @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Glow @BBL A1.json" + }, + { + "name": "BETA PLA Glow @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Glow @BBL A1M.json" + }, + { + "name": "BETA PLA Glow @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Glow @BBL H2D.json" + }, + { + "name": "BETA PLA Glow @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Glow @BBL P1P.json" + }, + { + "name": "BETA PLA Glow @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Glow @BBL X1C.json" + }, + { + "name": "BETA PLA Gradient @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Gradient @BBL A1.json" + }, + { + "name": "BETA PLA Gradient @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Gradient @BBL A1M.json" + }, + { + "name": "BETA PLA Gradient @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Gradient @BBL H2D.json" + }, + { + "name": "BETA PLA Gradient @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Gradient @BBL P1P.json" + }, + { + "name": "BETA PLA Gradient @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Gradient @BBL X1C.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1M.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Heat Color Change @BBL H2D.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Heat Color Change @BBL P1P.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Heat Color Change @BBL X1C.json" + }, + { + "name": "BETA PLA High Speed @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA High Speed @BBL A1.json" + }, + { + "name": "BETA PLA High Speed @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA High Speed @BBL A1M.json" + }, + { + "name": "BETA PLA High Speed @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA High Speed @BBL H2D.json" + }, + { + "name": "BETA PLA High Speed @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA High Speed @BBL P1P.json" + }, + { + "name": "BETA PLA High Speed @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA High Speed @BBL X1C.json" + }, + { + "name": "BETA PLA High Temp @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA High Temp @BBL A1.json" + }, + { + "name": "BETA PLA High Temp @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA High Temp @BBL A1M.json" + }, + { + "name": "BETA PLA High Temp @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA High Temp @BBL H2D.json" + }, + { + "name": "BETA PLA High Temp @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA High Temp @BBL P1P.json" + }, + { + "name": "BETA PLA High Temp @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA High Temp @BBL X1C.json" + }, + { + "name": "BETA PLA Marble @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Marble @BBL A1.json" + }, + { + "name": "BETA PLA Marble @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Marble @BBL A1M.json" + }, + { + "name": "BETA PLA Marble @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Marble @BBL H2D.json" + }, + { + "name": "BETA PLA Marble @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Marble @BBL P1P.json" + }, + { + "name": "BETA PLA Marble @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Marble @BBL X1C.json" + }, + { + "name": "BETA PLA Matte @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Matte @BBL A1.json" + }, + { + "name": "BETA PLA Matte @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Matte @BBL A1M.json" + }, + { + "name": "BETA PLA Matte @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Matte @BBL H2D.json" + }, + { + "name": "BETA PLA Matte @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Matte @BBL P1P.json" + }, + { + "name": "BETA PLA Matte @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Matte @BBL X1C.json" + }, + { + "name": "BETA PLA Metal @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Metal @BBL A1.json" + }, + { + "name": "BETA PLA Metal @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Metal @BBL A1M.json" + }, + { + "name": "BETA PLA Metal @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Metal @BBL H2D.json" + }, + { + "name": "BETA PLA Metal @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Metal @BBL P1P.json" + }, + { + "name": "BETA PLA Metal @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Metal @BBL X1C.json" + }, + { + "name": "BETA PLA Metallic @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Metallic @BBL A1.json" + }, + { + "name": "BETA PLA Metallic @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Metallic @BBL A1M.json" + }, + { + "name": "BETA PLA Metallic @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Metallic @BBL H2D.json" + }, + { + "name": "BETA PLA Metallic @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Metallic @BBL P1P.json" + }, + { + "name": "BETA PLA Metallic @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Metallic @BBL X1C.json" + }, + { + "name": "BETA PLA PRO @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA PRO @BBL A1.json" + }, + { + "name": "BETA PLA PRO @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA PRO @BBL A1M.json" + }, + { + "name": "BETA PLA PRO @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA PRO @BBL H2D.json" + }, + { + "name": "BETA PLA PRO @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA PRO @BBL P1P.json" + }, + { + "name": "BETA PLA PRO @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA PRO @BBL X1C.json" + }, + { + "name": "BETA PLA Silk @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Silk @BBL A1.json" + }, + { + "name": "BETA PLA Silk @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Silk @BBL A1M.json" + }, + { + "name": "BETA PLA Silk @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Silk @BBL H2D.json" + }, + { + "name": "BETA PLA Silk @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Silk @BBL P1P.json" + }, + { + "name": "BETA PLA Silk @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Silk @BBL X1C.json" + }, + { + "name": "BETA PLA Silk+ @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Silk+ @BBL A1.json" + }, + { + "name": "BETA PLA Silk+ @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Silk+ @BBL A1M.json" + }, + { + "name": "BETA PLA Silk+ @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Silk+ @BBL H2D.json" + }, + { + "name": "BETA PLA Silk+ @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Silk+ @BBL P1P.json" + }, + { + "name": "BETA PLA Silk+ @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Silk+ @BBL X1C.json" + }, + { + "name": "BETA PLA Transparent @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Transparent @BBL A1.json" + }, + { + "name": "BETA PLA Transparent @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Transparent @BBL A1M.json" + }, + { + "name": "BETA PLA Transparent @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Transparent @BBL H2D.json" + }, + { + "name": "BETA PLA Transparent @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Transparent @BBL P1P.json" + }, + { + "name": "BETA PLA Transparent @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Transparent @BBL X1C.json" + }, + { + "name": "BETA PLA UV Color Change @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA UV Color Change @BBL A1.json" + }, + { + "name": "BETA PLA UV Color Change @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA UV Color Change @BBL A1M.json" + }, + { + "name": "BETA PLA UV Color Change @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA UV Color Change @BBL H2D.json" + }, + { + "name": "BETA PLA UV Color Change @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA UV Color Change @BBL P1P.json" + }, + { + "name": "BETA PLA UV Color Change @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA UV Color Change @BBL X1C.json" + }, + { + "name": "BETA PLA Wood @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Wood @BBL A1.json" + }, + { + "name": "BETA PLA Wood @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Wood @BBL A1M.json" + }, + { + "name": "BETA PLA Wood @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Wood @BBL H2D.json" + }, + { + "name": "BETA PLA Wood @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Wood @BBL P1P.json" + }, + { + "name": "BETA PLA Wood @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Wood @BBL X1C.json" + }, + { + "name": "BETA PLA Youth @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA Youth @BBL A1.json" + }, + { + "name": "BETA PLA Youth @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA Youth @BBL A1M.json" + }, + { + "name": "BETA PLA Youth @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PLA Youth @BBL H2D.json" + }, + { + "name": "BETA PLA Youth @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA Youth @BBL P1P.json" + }, + { + "name": "BETA PLA Youth @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA Youth @BBL X1C.json" + }, + { + "name": "BETA PLA-CF @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PLA-CF @BBL A1.json" + }, + { + "name": "BETA PLA-CF @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PLA-CF @BBL A1M.json" + }, + { + "name": "BETA PLA-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BBL/BETA PLA-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PLA-CF @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PLA-CF @BBL P1P.json" + }, + { + "name": "BETA PLA-CF @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PLA-CF @BBL X1C.json" + }, { "name": "Bambu PLA Aero @System", "sub_path": "filament/Bambu/Bambu PLA Aero @System.json" @@ -1624,10 +2700,74 @@ "name": "Bambu Support W @System", "sub_path": "filament/Bambu/Bambu Support W @System.json" }, + { + "name": "COEX PLA @BBL A1", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL A1.json" + }, + { + "name": "COEX PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX PLA @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL A1M.json" + }, + { + "name": "COEX PLA @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL P1P.json" + }, + { + "name": "COEX PLA @BBL X1", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL X1.json" + }, + { + "name": "COEX PLA @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL X1C.json" + }, { "name": "COEX PLA @System", "sub_path": "filament/COEX/COEX PLA @System.json" }, + { + "name": "COEX PLA PRIME @BBL A1", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL A1.json" + }, + { + "name": "COEX PLA PRIME @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX PLA PRIME @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL A1M.json" + }, + { + "name": "COEX PLA PRIME @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX PLA PRIME @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL P1P.json" + }, + { + "name": "COEX PLA PRIME @BBL P1P 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL P1P 0.2 nozzle.json" + }, + { + "name": "COEX PLA PRIME @BBL X1", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL X1.json" + }, + { + "name": "COEX PLA PRIME @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX PLA PRIME @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL X1C.json" + }, + { + "name": "COEX PLA PRIME @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA PRIME @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX PLA PRIME @System", "sub_path": "filament/COEX/COEX PLA PRIME @System.json" @@ -1656,106 +2796,54 @@ "name": "Elegoo PLA Basic @base", "sub_path": "filament/Elegoo/Elegoo PLA Basic @base.json" }, - { - "name": "Elegoo PLA Basic @System", - "sub_path": "filament/Elegoo/Elegoo PLA Basic @System.json" - }, { "name": "Elegoo PLA Galaxy @base", "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @base.json" }, - { - "name": "Elegoo PLA Galaxy @System", - "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @System.json" - }, { "name": "Elegoo PLA Glow @base", "sub_path": "filament/Elegoo/Elegoo PLA Glow @base.json" }, - { - "name": "Elegoo PLA Glow @System", - "sub_path": "filament/Elegoo/Elegoo PLA Glow @System.json" - }, { "name": "Elegoo PLA Marble @base", "sub_path": "filament/Elegoo/Elegoo PLA Marble @base.json" }, - { - "name": "Elegoo PLA Marble @System", - "sub_path": "filament/Elegoo/Elegoo PLA Marble @System.json" - }, { "name": "Elegoo PLA Matte @base", "sub_path": "filament/Elegoo/Elegoo PLA Matte @base.json" }, - { - "name": "Elegoo PLA Matte @System", - "sub_path": "filament/Elegoo/Elegoo PLA Matte @System.json" - }, { "name": "Elegoo PLA PRO @base", "sub_path": "filament/Elegoo/Elegoo PLA PRO @base.json" }, - { - "name": "Elegoo PLA PRO @System", - "sub_path": "filament/Elegoo/Elegoo PLA PRO @System.json" - }, { "name": "Elegoo PLA Silk @base", "sub_path": "filament/Elegoo/Elegoo PLA Silk @base.json" }, - { - "name": "Elegoo PLA Silk @System", - "sub_path": "filament/Elegoo/Elegoo PLA Silk @System.json" - }, { "name": "Elegoo PLA Sparkle @base", "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @base.json" }, - { - "name": "Elegoo PLA Sparkle @System", - "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @System.json" - }, { "name": "Elegoo PLA Translucent2 @base", "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @base.json" }, - { - "name": "Elegoo PLA Translucent2 @System", - "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @System.json" - }, { "name": "Elegoo PLA Wood @base", "sub_path": "filament/Elegoo/Elegoo PLA Wood @base.json" }, - { - "name": "Elegoo PLA Wood @System", - "sub_path": "filament/Elegoo/Elegoo PLA Wood @System.json" - }, { "name": "Elegoo PLA+ @base", "sub_path": "filament/Elegoo/Elegoo PLA+ @base.json" }, - { - "name": "Elegoo PLA+ @System", - "sub_path": "filament/Elegoo/Elegoo PLA+ @System.json" - }, { "name": "Elegoo PLA-CF @base", "sub_path": "filament/Elegoo/Elegoo PLA-CF @base.json" }, - { - "name": "Elegoo PLA-CF @System", - "sub_path": "filament/Elegoo/Elegoo PLA-CF @System.json" - }, { "name": "Elegoo Rapid PLA+ @base", "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @base.json" }, - { - "name": "Elegoo Rapid PLA+ @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" - }, { "name": "FDplast PLA @System", "sub_path": "filament/FDplast/FDplast PLA @System.json" @@ -1768,18 +2856,374 @@ "name": "FILL3D PLA Turbo @System", "sub_path": "filament/FILL3D/FILL3D PLA Turbo @System.json" }, + { + "name": "FilAr PLA Amarillo Lirio", + "sub_path": "filament/FilAr/FilAr PLA Amarillo Lirio.json" + }, + { + "name": "FilAr PLA Azul Francia", + "sub_path": "filament/FilAr/FilAr PLA Azul Francia.json" + }, + { + "name": "FilAr PLA Blanco Antartida", + "sub_path": "filament/FilAr/FilAr PLA Blanco Antartida.json" + }, + { + "name": "FilAr PLA Blanco Calido", + "sub_path": "filament/FilAr/FilAr PLA Blanco Calido.json" + }, + { + "name": "FilAr PLA Bronce", + "sub_path": "filament/FilAr/FilAr PLA Bronce.json" + }, + { + "name": "FilAr PLA Cafe con Leche", + "sub_path": "filament/FilAr/FilAr PLA Cafe con Leche.json" + }, + { + "name": "FilAr PLA Carpincho", + "sub_path": "filament/FilAr/FilAr PLA Carpincho.json" + }, + { + "name": "FilAr PLA Celeste Cielo", + "sub_path": "filament/FilAr/FilAr PLA Celeste Cielo.json" + }, + { + "name": "FilAr PLA Cobre", + "sub_path": "filament/FilAr/FilAr PLA Cobre.json" + }, + { + "name": "FilAr PLA Dorado", + "sub_path": "filament/FilAr/FilAr PLA Dorado.json" + }, + { + "name": "FilAr PLA Gris Ceniza", + "sub_path": "filament/FilAr/FilAr PLA Gris Ceniza.json" + }, + { + "name": "FilAr PLA Gris Pizarra", + "sub_path": "filament/FilAr/FilAr PLA Gris Pizarra.json" + }, + { + "name": "FilAr PLA Gris Plata", + "sub_path": "filament/FilAr/FilAr PLA Gris Plata.json" + }, + { + "name": "FilAr PLA Manteca", + "sub_path": "filament/FilAr/FilAr PLA Manteca.json" + }, + { + "name": "FilAr PLA Marron Oxido", + "sub_path": "filament/FilAr/FilAr PLA Marron Oxido.json" + }, + { + "name": "FilAr PLA Naranja Tigre", + "sub_path": "filament/FilAr/FilAr PLA Naranja Tigre.json" + }, + { + "name": "FilAr PLA Negro Azabache", + "sub_path": "filament/FilAr/FilAr PLA Negro Azabache.json" + }, + { + "name": "FilAr PLA Oro", + "sub_path": "filament/FilAr/FilAr PLA Oro.json" + }, + { + "name": "FilAr PLA Piel", + "sub_path": "filament/FilAr/FilAr PLA Piel.json" + }, + { + "name": "FilAr PLA Rojo de Carreras", + "sub_path": "filament/FilAr/FilAr PLA Rojo de Carreras.json" + }, + { + "name": "FilAr PLA Rosa Amaranto", + "sub_path": "filament/FilAr/FilAr PLA Rosa Amaranto.json" + }, + { + "name": "FilAr PLA Rosa Flamenco", + "sub_path": "filament/FilAr/FilAr PLA Rosa Flamenco.json" + }, + { + "name": "FilAr PLA Tabaco", + "sub_path": "filament/FilAr/FilAr PLA Tabaco.json" + }, + { + "name": "FilAr PLA Titanio", + "sub_path": "filament/FilAr/FilAr PLA Titanio.json" + }, + { + "name": "FilAr PLA Verde FilAr", + "sub_path": "filament/FilAr/FilAr PLA Verde FilAr.json" + }, + { + "name": "FilAr PLA Verde Manzana", + "sub_path": "filament/FilAr/FilAr PLA Verde Manzana.json" + }, + { + "name": "FilAr PLA Verde Oliva", + "sub_path": "filament/FilAr/FilAr PLA Verde Oliva.json" + }, + { + "name": "FilAr PLA Verde Pixel", + "sub_path": "filament/FilAr/FilAr PLA Verde Pixel.json" + }, + { + "name": "FilAr PLA Violeta Jacaranda", + "sub_path": "filament/FilAr/FilAr PLA Violeta Jacaranda.json" + }, + { + "name": "FilAr PLA-mate Amarillo", + "sub_path": "filament/FilAr/FilAr PLA-mate Amarillo.json" + }, + { + "name": "FilAr PLA-mate Azul", + "sub_path": "filament/FilAr/FilAr PLA-mate Azul.json" + }, + { + "name": "FilAr PLA-mate Beige", + "sub_path": "filament/FilAr/FilAr PLA-mate Beige.json" + }, + { + "name": "FilAr PLA-mate Blanco", + "sub_path": "filament/FilAr/FilAr PLA-mate Blanco.json" + }, + { + "name": "FilAr PLA-mate Bordo", + "sub_path": "filament/FilAr/FilAr PLA-mate Bordo.json" + }, + { + "name": "FilAr PLA-mate Celeste Cielo", + "sub_path": "filament/FilAr/FilAr PLA-mate Celeste Cielo.json" + }, + { + "name": "FilAr PLA-mate Chocolate", + "sub_path": "filament/FilAr/FilAr PLA-mate Chocolate.json" + }, + { + "name": "FilAr PLA-mate Gris", + "sub_path": "filament/FilAr/FilAr PLA-mate Gris.json" + }, + { + "name": "FilAr PLA-mate Marron", + "sub_path": "filament/FilAr/FilAr PLA-mate Marron.json" + }, + { + "name": "FilAr PLA-mate Naranja", + "sub_path": "filament/FilAr/FilAr PLA-mate Naranja.json" + }, + { + "name": "FilAr PLA-mate Negro", + "sub_path": "filament/FilAr/FilAr PLA-mate Negro.json" + }, + { + "name": "FilAr PLA-mate Piel", + "sub_path": "filament/FilAr/FilAr PLA-mate Piel.json" + }, + { + "name": "FilAr PLA-mate Rojo", + "sub_path": "filament/FilAr/FilAr PLA-mate Rojo.json" + }, + { + "name": "FilAr PLA-mate Rosa", + "sub_path": "filament/FilAr/FilAr PLA-mate Rosa.json" + }, + { + "name": "FilAr PLA-mate Uva", + "sub_path": "filament/FilAr/FilAr PLA-mate Uva.json" + }, + { + "name": "FilAr PLA-mate Verde", + "sub_path": "filament/FilAr/FilAr PLA-mate Verde.json" + }, + { + "name": "FilAr PLA-mate Violeta", + "sub_path": "filament/FilAr/FilAr PLA-mate Violeta.json" + }, + { + "name": "addnorth PLA E-PLA", + "sub_path": "filament/addnorth/BBL/addnorth PLA E-PLA.json" + }, + { + "name": "addnorth PLA Economy", + "sub_path": "filament/addnorth/BBL/addnorth PLA Economy.json" + }, + { + "name": "addnorth PLA HT-PLA PRO Matte", + "sub_path": "filament/addnorth/BBL/addnorth PLA HT-PLA PRO Matte.json" + }, + { + "name": "addnorth PLA Textura", + "sub_path": "filament/addnorth/BBL/addnorth PLA Textura.json" + }, + { + "name": "addnorth PLA Wood", + "sub_path": "filament/addnorth/BBL/addnorth PLA Wood.json" + }, + { + "name": "addnorth PLA X-PLA", + "sub_path": "filament/addnorth/BBL/addnorth PLA X-PLA.json" + }, + { + "name": "addnorth PLA rPLA RE-ADD", + "sub_path": "filament/addnorth/BBL/addnorth PLA rPLA RE-ADD.json" + }, + { + "name": "addnorth PLA X-PLA High Speed", + "sub_path": "filament/addnorth/BBL/addnorth PLA X-PLA High Speed.json" + }, + { + "name": "Generic PLA Matte @System", + "sub_path": "filament/Generic PLA Matte @System.json" + }, + { + "name": "addnorth PLA Premium Silk", + "sub_path": "filament/addnorth/BBL/addnorth PLA Premium Silk.json" + }, + { + "name": "addnorth PLA-CF Carbon Fiber", + "sub_path": "filament/addnorth/BBL/addnorth PLA-CF Carbon Fiber.json" + }, + { + "name": "INSLOGIC PLA Pro @BBL P2S", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PLA Pro @BBL P2S.json" + }, + { + "name": "INSLOGIC PLA Pro @P1-X1", + "sub_path": "filament/INSLOGIC/BBL/INSLOGIC PLA Pro @P1-X1.json" + }, + { + "name": "INSLOGIC PLA Pro @Prusa CORE One", + "sub_path": "filament/INSLOGIC/Prusa/INSLOGIC PLA Pro @Prusa CORE One.json" + }, + { + "name": "JAYO PLA @BBL A1 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PLA @BBL A1 0.4 nozzle.json" + }, + { + "name": "JAYO PLA @BBL P2S 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PLA @BBL P2S 0.4 nozzle.json" + }, + { + "name": "JAYO PLA @Creality K2 Pro 0.4 nozzle", + "sub_path": "filament/JAYO/Creality/JAYO PLA @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "JAYO PLA @System", + "sub_path": "filament/JAYO/JAYO PLA @System.json" + }, + { + "name": "JAYO PLA Classic @BBL A1 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PLA Classic @BBL A1 0.4 nozzle.json" + }, + { + "name": "JAYO PLA Classic @BBL P2S 0.4 nozzle", + "sub_path": "filament/JAYO/BBL/JAYO PLA Classic @BBL P2S 0.4 nozzle.json" + }, + { + "name": "JAYO PLA Classic @Creality K2 Pro 0.4 nozzle", + "sub_path": "filament/JAYO/Creality/JAYO PLA Classic @Creality K2 Pro 0.4 nozzle.json" + }, + { + "name": "JAYO PLA Classic @System", + "sub_path": "filament/JAYO/JAYO PLA Classic @System.json" + }, { "name": "NIT PLA @System", "sub_path": "filament/NIT/NIT PLA @System.json" }, + { + "name": "Numakers PLA+ @BBL base", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL base.json" + }, { "name": "Numakers PLA+ @System", "sub_path": "filament/Numakers/Numakers PLA+ @System.json" }, + { + "name": "Overture Air PLA @BBL A1", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL A1.json" + }, + { + "name": "Overture Air PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Air PLA @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL A1M.json" + }, + { + "name": "Overture Air PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Air PLA @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL P1P.json" + }, + { + "name": "Overture Air PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Air PLA @BBL X1", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL X1.json" + }, + { + "name": "Overture Air PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture Air PLA @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL X1C.json" + }, + { + "name": "Overture Air PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Air PLA @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture Air PLA @System", "sub_path": "filament/Overture/Overture Air PLA @System.json" }, + { + "name": "Overture Easy PLA @BBL A1", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL A1.json" + }, + { + "name": "Overture Easy PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Easy PLA @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL A1M.json" + }, + { + "name": "Overture Easy PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Easy PLA @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL P1P.json" + }, + { + "name": "Overture Easy PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Easy PLA @BBL X1", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL X1.json" + }, + { + "name": "Overture Easy PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture Easy PLA @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL X1C.json" + }, + { + "name": "Overture Easy PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Easy PLA @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture Easy PLA @System", "sub_path": "filament/Overture/Overture Easy PLA @System.json" @@ -1792,102 +3236,406 @@ "name": "Overture PLA @System", "sub_path": "filament/Overture/Overture PLA @System.json" }, + { + "name": "Overture PLA Pro @BBL base", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL base.json" + }, { "name": "Overture PLA Pro @System", "sub_path": "filament/Overture/Overture PLA Pro @System.json" }, + { + "name": "Overture Rock PLA @BBL A1", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL A1.json" + }, + { + "name": "Overture Rock PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Rock PLA @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL A1M.json" + }, + { + "name": "Overture Rock PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Rock PLA @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL P1P.json" + }, + { + "name": "Overture Rock PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Rock PLA @BBL X1", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL X1.json" + }, + { + "name": "Overture Rock PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture Rock PLA @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL X1C.json" + }, + { + "name": "Overture Rock PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Rock PLA @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture Rock PLA @System", "sub_path": "filament/Overture/Overture Rock PLA @System.json" }, + { + "name": "Overture Silk PLA @BBL A1", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL A1.json" + }, + { + "name": "Overture Silk PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Silk PLA @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL A1M.json" + }, + { + "name": "Overture Silk PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Silk PLA @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL P1P.json" + }, + { + "name": "Overture Silk PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Silk PLA @BBL X1", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL X1.json" + }, + { + "name": "Overture Silk PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture Silk PLA @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL X1C.json" + }, + { + "name": "Overture Silk PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Silk PLA @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture Silk PLA @System", "sub_path": "filament/Overture/Overture Silk PLA @System.json" }, + { + "name": "Overture Super PLA+ @BBL A1", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL A1.json" + }, + { + "name": "Overture Super PLA+ @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture Super PLA+ @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL A1M.json" + }, + { + "name": "Overture Super PLA+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture Super PLA+ @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL P1P.json" + }, + { + "name": "Overture Super PLA+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture Super PLA+ @BBL X1", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL X1.json" + }, + { + "name": "Overture Super PLA+ @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture Super PLA+ @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL X1C.json" + }, + { + "name": "Overture Super PLA+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture Super PLA+ @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture Super PLA+ @System", "sub_path": "filament/Overture/Overture Super PLA+ @System.json" }, + { + "name": "Panchroma CoPE @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL base.json" + }, { "name": "Panchroma CoPE @System", "sub_path": "filament/Polymaker/Panchroma CoPE @System.json" }, + { + "name": "Panchroma PLA @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL base.json" + }, { "name": "Panchroma PLA @System", "sub_path": "filament/Polymaker/Panchroma PLA @System.json" }, + { + "name": "Panchroma PLA Celestial @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL base.json" + }, { "name": "Panchroma PLA Celestial @System", "sub_path": "filament/Polymaker/Panchroma PLA Celestial @System.json" }, + { + "name": "Panchroma PLA Galaxy @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL base.json" + }, { "name": "Panchroma PLA Galaxy @System", "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @System.json" }, + { + "name": "Panchroma PLA Glow @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL base.json" + }, { "name": "Panchroma PLA Glow @System", "sub_path": "filament/Polymaker/Panchroma PLA Glow @System.json" }, + { + "name": "Panchroma PLA Luminous @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL base.json" + }, { "name": "Panchroma PLA Luminous @System", "sub_path": "filament/Polymaker/Panchroma PLA Luminous @System.json" }, + { + "name": "Panchroma PLA Marble @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL base.json" + }, { "name": "Panchroma PLA Marble @System", "sub_path": "filament/Polymaker/Panchroma PLA Marble @System.json" }, + { + "name": "Panchroma PLA Matte @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL base.json" + }, { "name": "Panchroma PLA Matte @System", "sub_path": "filament/Polymaker/Panchroma PLA Matte @System.json" }, + { + "name": "Panchroma PLA Metallic @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL base.json" + }, { "name": "Panchroma PLA Metallic @System", "sub_path": "filament/Polymaker/Panchroma PLA Metallic @System.json" }, + { + "name": "Panchroma PLA Neon @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL base.json" + }, { "name": "Panchroma PLA Neon @System", "sub_path": "filament/Polymaker/Panchroma PLA Neon @System.json" }, + { + "name": "Panchroma PLA Satin @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL base.json" + }, { "name": "Panchroma PLA Satin @System", "sub_path": "filament/Polymaker/Panchroma PLA Satin @System.json" }, + { + "name": "Panchroma PLA Silk @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL base.json" + }, { "name": "Panchroma PLA Silk @System", "sub_path": "filament/Polymaker/Panchroma PLA Silk @System.json" }, + { + "name": "Panchroma PLA Starlight @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL base.json" + }, { "name": "Panchroma PLA Starlight @System", "sub_path": "filament/Polymaker/Panchroma PLA Starlight @System.json" }, + { + "name": "Panchroma PLA Temp Shift @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL base.json" + }, { "name": "Panchroma PLA Temp Shift @System", "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @System.json" }, + { + "name": "Panchroma PLA Translucent @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL base.json" + }, { "name": "Panchroma PLA Translucent @System", "sub_path": "filament/Polymaker/Panchroma PLA Translucent @System.json" }, + { + "name": "Panchroma PLA UV Shift @BBL base", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL base.json" + }, { "name": "Panchroma PLA UV Shift @System", "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @System.json" }, { - "name": "PolyLite Dual PLA @base", - "sub_path": "filament/Polymaker/PolyLite Dual PLA @base.json" + "name": "PlastAR PLA @System", + "sub_path": "filament/Printalot/PlastAR PLA @System.json" }, { - "name": "PolyLite Dual PLA @System", - "sub_path": "filament/Polymaker/PolyLite Dual PLA @System.json" + "name": "PolyLite CosPLA @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite CosPLA @BBL A1.json" + }, + { + "name": "PolyLite CosPLA @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite CosPLA @BBL A1M.json" + }, + { + "name": "PolyLite CosPLA @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite CosPLA @BBL P1P.json" + }, + { + "name": "PolyLite CosPLA @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite CosPLA @BBL X1.json" + }, + { + "name": "PolyLite Dual PLA @base", + "sub_path": "filament/Polymaker/PolyLite Dual PLA @base.json" }, { "name": "PolyLite PLA @System", "sub_path": "filament/Polymaker/PolyLite PLA @System.json" }, + { + "name": "PolyLite PLA Galaxy @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1M.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL P1P.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL X1.json" + }, + { + "name": "PolyLite PLA Glow @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1.json" + }, + { + "name": "PolyLite PLA Glow @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1M.json" + }, + { + "name": "PolyLite PLA Glow @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Glow @BBL P1P.json" + }, + { + "name": "PolyLite PLA Glow @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Glow @BBL X1.json" + }, + { + "name": "PolyLite PLA Luminous @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1.json" + }, + { + "name": "PolyLite PLA Luminous @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1M.json" + }, + { + "name": "PolyLite PLA Luminous @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Luminous @BBL P1P.json" + }, + { + "name": "PolyLite PLA Luminous @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Luminous @BBL X1.json" + }, + { + "name": "PolyLite PLA Neon @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1.json" + }, + { + "name": "PolyLite PLA Neon @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1M.json" + }, + { + "name": "PolyLite PLA Neon @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Neon @BBL P1P.json" + }, + { + "name": "PolyLite PLA Neon @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Neon @BBL X1.json" + }, + { + "name": "PolyLite PLA Pro @BBL base", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL base.json" + }, { "name": "PolyLite PLA Pro @System", "sub_path": "filament/Polymaker/PolyLite PLA Pro @System.json" }, + { + "name": "PolyLite PLA Starlight @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1.json" + }, + { + "name": "PolyLite PLA Starlight @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1M.json" + }, + { + "name": "PolyLite PLA Starlight @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Starlight @BBL P1P.json" + }, + { + "name": "PolyLite PLA Starlight @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Starlight @BBL X1.json" + }, + { + "name": "PolyLite PLA Translucent @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1.json" + }, + { + "name": "PolyLite PLA Translucent @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1M.json" + }, + { + "name": "PolyLite PLA Translucent @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Translucent @BBL P1P.json" + }, + { + "name": "PolyLite PLA Translucent @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Translucent @BBL X1.json" + }, { "name": "PolyTerra Dual PLA @System", "sub_path": "filament/Polymaker/PolyTerra Dual PLA @System.json" @@ -1896,14 +3644,58 @@ "name": "PolyTerra PLA @System", "sub_path": "filament/Polymaker/PolyTerra PLA @System.json" }, + { + "name": "PolyTerra PLA Marble @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1.json" + }, + { + "name": "PolyTerra PLA Marble @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1M.json" + }, + { + "name": "PolyTerra PLA Marble @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA Marble @BBL P1P.json" + }, + { + "name": "PolyTerra PLA Marble @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA Marble @BBL X1.json" + }, + { + "name": "PolyTerra PLA+ @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1.json" + }, + { + "name": "PolyTerra PLA+ @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1M.json" + }, + { + "name": "PolyTerra PLA+ @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA+ @BBL P1P.json" + }, + { + "name": "PolyTerra PLA+ @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyTerra PLA+ @BBL X1.json" + }, + { + "name": "Polymaker HT-PLA @BBL base", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL base.json" + }, { "name": "Polymaker HT-PLA @System", "sub_path": "filament/Polymaker/Polymaker HT-PLA @System.json" }, + { + "name": "Polymaker HT-PLA-GF @BBL base", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL base.json" + }, { "name": "Polymaker HT-PLA-GF @System", "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @System.json" }, + { + "name": "Polymaker PLA Pro @System", + "sub_path": "filament/Polymaker/Polymaker PLA Pro @System.json" + }, { "name": "SUNLU PLA Marble @System", "sub_path": "filament/SUNLU/SUNLU Marble PLA @System.json" @@ -1976,6 +3768,14 @@ "name": "FILL3D PPCF @System", "sub_path": "filament/FILL3D/FILL3D PPCF @System.json" }, + { + "name": "Generic PP-CF @System", + "sub_path": "filament/Generic PP-CF @System.json" + }, + { + "name": "Generic PP-GF @System", + "sub_path": "filament/Generic PP-GF @System.json" + }, { "name": "Bambu PPA-CF @System", "sub_path": "filament/Bambu/Bambu PPA-CF @System.json" @@ -1992,6 +3792,106 @@ "name": "FDplast SBS @System", "sub_path": "filament/FDplast/FDplast SBS @System.json" }, + { + "name": "BETA PEBA 90A @BBL A1", + "sub_path": "filament/BETA/BBL/BETA PEBA 90A @BBL A1.json" + }, + { + "name": "BETA PEBA 90A @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA PEBA 90A @BBL A1M.json" + }, + { + "name": "BETA PEBA 90A @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA PEBA 90A @BBL H2D.json" + }, + { + "name": "BETA PEBA 90A @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA PEBA 90A @BBL P1P.json" + }, + { + "name": "BETA PEBA 90A @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA PEBA 90A @BBL X1C.json" + }, + { + "name": "BETA TPU 90A @BBL A1", + "sub_path": "filament/BETA/BBL/BETA TPU 90A @BBL A1.json" + }, + { + "name": "BETA TPU 90A @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA TPU 90A @BBL A1M.json" + }, + { + "name": "BETA TPU 90A @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA TPU 90A @BBL H2D.json" + }, + { + "name": "BETA TPU 90A @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA TPU 90A @BBL P1P.json" + }, + { + "name": "BETA TPU 90A @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA TPU 90A @BBL X1C.json" + }, + { + "name": "BETA TPU 95A @BBL A1", + "sub_path": "filament/BETA/BBL/BETA TPU 95A @BBL A1.json" + }, + { + "name": "BETA TPU 95A @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA TPU 95A @BBL A1M.json" + }, + { + "name": "BETA TPU 95A @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA TPU 95A @BBL H2D.json" + }, + { + "name": "BETA TPU 95A @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA TPU 95A @BBL P1P.json" + }, + { + "name": "BETA TPU 95A @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA TPU 95A @BBL X1C.json" + }, + { + "name": "BETA TPU 98A @BBL A1", + "sub_path": "filament/BETA/BBL/BETA TPU 98A @BBL A1.json" + }, + { + "name": "BETA TPU 98A @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA TPU 98A @BBL A1M.json" + }, + { + "name": "BETA TPU 98A @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA TPU 98A @BBL H2D.json" + }, + { + "name": "BETA TPU 98A @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA TPU 98A @BBL P1P.json" + }, + { + "name": "BETA TPU 98A @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA TPU 98A @BBL X1C.json" + }, + { + "name": "BETA TPU Matte @BBL A1", + "sub_path": "filament/BETA/BBL/BETA TPU Matte @BBL A1.json" + }, + { + "name": "BETA TPU Matte @BBL A1M", + "sub_path": "filament/BETA/BBL/BETA TPU Matte @BBL A1M.json" + }, + { + "name": "BETA TPU Matte @BBL H2D", + "sub_path": "filament/BETA/BBL/BETA TPU Matte @BBL H2D.json" + }, + { + "name": "BETA TPU Matte @BBL P1P", + "sub_path": "filament/BETA/BBL/BETA TPU Matte @BBL P1P.json" + }, + { + "name": "BETA TPU Matte @BBL X1C", + "sub_path": "filament/BETA/BBL/BETA TPU Matte @BBL X1C.json" + }, { "name": "Bambu TPU 95A @System", "sub_path": "filament/Bambu/Bambu TPU 95A @System.json" @@ -2000,18 +3900,122 @@ "name": "Bambu TPU 95A HF @System", "sub_path": "filament/Bambu/Bambu TPU 95A HF @System.json" }, + { + "name": "COEX TPE 30D @BBL A1", + "sub_path": "filament/COEX/BBL/COEX TPE 30D @BBL A1.json" + }, + { + "name": "COEX TPE 30D @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX TPE 30D @BBL A1M.json" + }, + { + "name": "COEX TPE 30D @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX TPE 30D @BBL P1P.json" + }, + { + "name": "COEX TPE 30D @BBL X1", + "sub_path": "filament/COEX/BBL/COEX TPE 30D @BBL X1.json" + }, + { + "name": "COEX TPE 30D @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX TPE 30D @BBL X1C.json" + }, { "name": "COEX TPE 30D @System", "sub_path": "filament/COEX/COEX TPE 30D @System.json" }, + { + "name": "COEX TPE 40D @BBL A1", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL A1.json" + }, + { + "name": "COEX TPE 40D @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX TPE 40D @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL A1M.json" + }, + { + "name": "COEX TPE 40D @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX TPE 40D @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL P1P.json" + }, + { + "name": "COEX TPE 40D @BBL P1P 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL P1P 0.2 nozzle.json" + }, + { + "name": "COEX TPE 40D @BBL X1", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL X1.json" + }, + { + "name": "COEX TPE 40D @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX TPE 40D @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL X1C.json" + }, + { + "name": "COEX TPE 40D @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 40D @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX TPE 40D @System", "sub_path": "filament/COEX/COEX TPE 40D @System.json" }, + { + "name": "COEX TPE 60D @BBL A1", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL A1.json" + }, + { + "name": "COEX TPE 60D @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX TPE 60D @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL A1M.json" + }, + { + "name": "COEX TPE 60D @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX TPE 60D @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL P1P.json" + }, + { + "name": "COEX TPE 60D @BBL P1P 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL P1P 0.2 nozzle.json" + }, + { + "name": "COEX TPE 60D @BBL X1", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL X1.json" + }, + { + "name": "COEX TPE 60D @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX TPE 60D @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL X1C.json" + }, + { + "name": "COEX TPE 60D @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX TPE 60D @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX TPE 60D @System", "sub_path": "filament/COEX/COEX TPE 60D @System.json" }, + { + "name": "COEX TPU 60A @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX TPU 60A @BBL X1C.json" + }, { "name": "COEX TPU 60A @System", "sub_path": "filament/COEX/COEX TPU 60A @System.json" @@ -2024,10 +4028,6 @@ "name": "Elegoo Rapid TPU 95A @base", "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @base.json" }, - { - "name": "Elegoo Rapid TPU 95A @System", - "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @System.json" - }, { "name": "Elegoo TPU 95A @System", "sub_path": "filament/Elegoo/Elegoo TPU 95A @System.json" @@ -2036,21 +4036,1097 @@ "name": "FDplast TPU @System", "sub_path": "filament/FDplast/FDplast TPU @System.json" }, + { + "name": "addnorth TPU EasyFlex", + "sub_path": "filament/addnorth/BBL/addnorth TPU EasyFlex.json" + }, + { + "name": "addnorth TPU Pro Matte 85A", + "sub_path": "filament/addnorth/BBL/addnorth TPU Pro Matte 85A.json" + }, + { + "name": "addnorth TPU Pro Matte 95A", + "sub_path": "filament/addnorth/BBL/addnorth TPU Pro Matte 95A.json" + }, + { + "name": "Overture TPU @BBL A1", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL A1.json" + }, + { + "name": "Overture TPU @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture TPU @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL A1M.json" + }, + { + "name": "Overture TPU @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture TPU @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL P1P.json" + }, + { + "name": "Overture TPU @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture TPU @BBL X1", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL X1.json" + }, + { + "name": "Overture TPU @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture TPU @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL X1C.json" + }, + { + "name": "Overture TPU @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture TPU @BBL X1C 0.2 nozzle.json" + }, { "name": "Overture TPU @System", "sub_path": "filament/Overture/Overture TPU @System.json" }, + { + "name": "Elegoo ASA-CF @System", + "sub_path": "filament/Elegoo/Elegoo ASA-CF @System.json" + }, + { + "name": "Elegoo PC-FR @System", + "sub_path": "filament/Elegoo/Elegoo PC-FR @System.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1M 0.4 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1M.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX PCTG PRIME @BBL A1M 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json" + }, + { + "name": "AliZ PETG-CF @P1-X1", + "sub_path": "filament/AliZ/BBL/AliZ PETG-CF @P1-X1.json" + }, { "name": "AliZ PETG-CF @System", "sub_path": "filament/AliZ/AliZ PETG-CF @System.json" }, + { + "name": "AliZ PETG-Metal @P1-X1", + "sub_path": "filament/AliZ/BBL/AliZ PETG-Metal @P1-X1.json" + }, { "name": "AliZ PETG-Metal @System", "sub_path": "filament/AliZ/AliZ PETG-Metal @System.json" }, + { + "name": "COEX PETG @BBL A1M 0.4 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1M.json" + }, + { + "name": "COEX PETG @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX PETG @BBL A1M 0.8 nozzle", + "sub_path": "filament/COEX/BBL/COEX PETG @BBL A1M 0.8 nozzle.json" + }, + { + "name": "Elegoo PET-CF @System", + "sub_path": "filament/Elegoo/Elegoo PET-CF @System.json" + }, + { + "name": "Elegoo PETG HF @System", + "sub_path": "filament/Elegoo/Elegoo PETG HF @System.json" + }, + { + "name": "Elegoo PETG PRO @System", + "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" + }, + { + "name": "Elegoo PETG Translucent @System", + "sub_path": "filament/Elegoo/Elegoo PETG Translucent @System.json" + }, + { + "name": "Elegoo PETG-CF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" + }, + { + "name": "Elegoo PETG-GF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-GF @System.json" + }, + { + "name": "Elegoo Rapid PETG @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" + }, + { + "name": "Fiberon PETG-ESD @BBL X1", + "sub_path": "filament/Polymaker/BBL/Fiberon PETG-ESD @BBL X1.json" + }, + { + "name": "addnorth PETG-CF Rigid X", + "sub_path": "filament/addnorth/BBL/addnorth PETG-CF Rigid X.json" + }, + { + "name": "COEX PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "COEX PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Basic @System", + "sub_path": "filament/Elegoo/Elegoo PLA Basic @System.json" + }, + { + "name": "Elegoo PLA Galaxy @System", + "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @System.json" + }, + { + "name": "Elegoo PLA Glow @System", + "sub_path": "filament/Elegoo/Elegoo PLA Glow @System.json" + }, + { + "name": "Elegoo PLA Marble @System", + "sub_path": "filament/Elegoo/Elegoo PLA Marble @System.json" + }, + { + "name": "Elegoo PLA Matte @System", + "sub_path": "filament/Elegoo/Elegoo PLA Matte @System.json" + }, + { + "name": "Elegoo PLA PRO @System", + "sub_path": "filament/Elegoo/Elegoo PLA PRO @System.json" + }, + { + "name": "Elegoo PLA Silk @System", + "sub_path": "filament/Elegoo/Elegoo PLA Silk @System.json" + }, + { + "name": "Elegoo PLA Sparkle @System", + "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @System.json" + }, + { + "name": "Elegoo PLA Translucent2 @System", + "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @System.json" + }, + { + "name": "Elegoo PLA Wood @System", + "sub_path": "filament/Elegoo/Elegoo PLA Wood @System.json" + }, + { + "name": "Elegoo PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo PLA+ @System.json" + }, + { + "name": "Elegoo PLA-CF @System", + "sub_path": "filament/Elegoo/Elegoo PLA-CF @System.json" + }, + { + "name": "Elegoo Rapid PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" + }, + { + "name": "Numakers PLA+ @BBL A1", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL A1.json" + }, + { + "name": "Numakers PLA+ @BBL A1 0.2 nozzle", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL A1 0.2 nozzle.json" + }, + { + "name": "Numakers PLA+ @BBL A1M", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL A1M.json" + }, + { + "name": "Numakers PLA+ @BBL A1M 0.2 nozzle", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Numakers PLA+ @BBL P1P", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL P1P.json" + }, + { + "name": "Numakers PLA+ @BBL P1P 0.2 nozzle", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Numakers PLA+ @BBL X1", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL X1.json" + }, + { + "name": "Numakers PLA+ @BBL X1C", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL X1C.json" + }, + { + "name": "Numakers PLA+ @BBL X1C 0.2 nozzle", + "sub_path": "filament/Numakers/BBL/Numakers PLA+ @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Overture PLA Pro @BBL A1", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL A1.json" + }, + { + "name": "Overture PLA Pro @BBL A1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL A1 0.2 nozzle.json" + }, + { + "name": "Overture PLA Pro @BBL A1M", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL A1M.json" + }, + { + "name": "Overture PLA Pro @BBL A1M 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Overture PLA Pro @BBL P1P", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL P1P.json" + }, + { + "name": "Overture PLA Pro @BBL P1P 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Overture PLA Pro @BBL X1", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL X1.json" + }, + { + "name": "Overture PLA Pro @BBL X1 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL X1 0.2 nozzle.json" + }, + { + "name": "Overture PLA Pro @BBL X1C", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL X1C.json" + }, + { + "name": "Overture PLA Pro @BBL X1C 0.2 nozzle", + "sub_path": "filament/Overture/BBL/Overture PLA Pro @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma CoPE @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL A1.json" + }, + { + "name": "Panchroma CoPE @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma CoPE @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL A1M.json" + }, + { + "name": "Panchroma CoPE @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma CoPE @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL P1P.json" + }, + { + "name": "Panchroma CoPE @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma CoPE @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL X1.json" + }, + { + "name": "Panchroma CoPE @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma CoPE @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL X1C.json" + }, + { + "name": "Panchroma CoPE @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma CoPE @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL A1.json" + }, + { + "name": "Panchroma PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL A1M.json" + }, + { + "name": "Panchroma PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL P1P.json" + }, + { + "name": "Panchroma PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL X1.json" + }, + { + "name": "Panchroma PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL X1C.json" + }, + { + "name": "Panchroma PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Celestial @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1.json" + }, + { + "name": "Panchroma PLA Celestial @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Celestial @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M.json" + }, + { + "name": "Panchroma PLA Celestial @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Celestial @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P.json" + }, + { + "name": "Panchroma PLA Celestial @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Celestial @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1.json" + }, + { + "name": "Panchroma PLA Celestial @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Celestial @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C.json" + }, + { + "name": "Panchroma PLA Celestial @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C.json" + }, + { + "name": "Panchroma PLA Galaxy @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Glow @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1.json" + }, + { + "name": "Panchroma PLA Glow @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Glow @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M.json" + }, + { + "name": "Panchroma PLA Glow @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Glow @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P.json" + }, + { + "name": "Panchroma PLA Glow @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Glow @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1.json" + }, + { + "name": "Panchroma PLA Glow @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Glow @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C.json" + }, + { + "name": "Panchroma PLA Glow @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Luminous @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1.json" + }, + { + "name": "Panchroma PLA Luminous @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Luminous @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M.json" + }, + { + "name": "Panchroma PLA Luminous @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Luminous @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P.json" + }, + { + "name": "Panchroma PLA Luminous @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Luminous @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1.json" + }, + { + "name": "Panchroma PLA Luminous @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Luminous @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C.json" + }, + { + "name": "Panchroma PLA Luminous @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Marble @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1.json" + }, + { + "name": "Panchroma PLA Marble @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Marble @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M.json" + }, + { + "name": "Panchroma PLA Marble @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Marble @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P.json" + }, + { + "name": "Panchroma PLA Marble @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Marble @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1.json" + }, + { + "name": "Panchroma PLA Marble @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Marble @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C.json" + }, + { + "name": "Panchroma PLA Marble @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Matte @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1.json" + }, + { + "name": "Panchroma PLA Matte @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Matte @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M.json" + }, + { + "name": "Panchroma PLA Matte @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Matte @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P.json" + }, + { + "name": "Panchroma PLA Matte @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Matte @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1.json" + }, + { + "name": "Panchroma PLA Matte @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Matte @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C.json" + }, + { + "name": "Panchroma PLA Matte @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Metallic @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1.json" + }, + { + "name": "Panchroma PLA Metallic @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Metallic @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M.json" + }, + { + "name": "Panchroma PLA Metallic @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Metallic @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P.json" + }, + { + "name": "Panchroma PLA Metallic @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Metallic @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1.json" + }, + { + "name": "Panchroma PLA Metallic @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Metallic @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C.json" + }, + { + "name": "Panchroma PLA Metallic @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Neon @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1.json" + }, + { + "name": "Panchroma PLA Neon @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Neon @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M.json" + }, + { + "name": "Panchroma PLA Neon @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Neon @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P.json" + }, + { + "name": "Panchroma PLA Neon @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Neon @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1.json" + }, + { + "name": "Panchroma PLA Neon @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Neon @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C.json" + }, + { + "name": "Panchroma PLA Neon @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Satin @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1.json" + }, + { + "name": "Panchroma PLA Satin @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Satin @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M.json" + }, + { + "name": "Panchroma PLA Satin @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Satin @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P.json" + }, + { + "name": "Panchroma PLA Satin @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Satin @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1.json" + }, + { + "name": "Panchroma PLA Satin @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Satin @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C.json" + }, + { + "name": "Panchroma PLA Satin @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Silk @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1.json" + }, + { + "name": "Panchroma PLA Silk @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Silk @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M.json" + }, + { + "name": "Panchroma PLA Silk @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Silk @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P.json" + }, + { + "name": "Panchroma PLA Silk @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Silk @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1.json" + }, + { + "name": "Panchroma PLA Silk @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Silk @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C.json" + }, + { + "name": "Panchroma PLA Silk @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Starlight @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1.json" + }, + { + "name": "Panchroma PLA Starlight @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Starlight @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M.json" + }, + { + "name": "Panchroma PLA Starlight @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Starlight @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P.json" + }, + { + "name": "Panchroma PLA Starlight @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Starlight @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1.json" + }, + { + "name": "Panchroma PLA Starlight @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Starlight @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C.json" + }, + { + "name": "Panchroma PLA Starlight @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C.json" + }, + { + "name": "Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Translucent @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1.json" + }, + { + "name": "Panchroma PLA Translucent @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Translucent @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M.json" + }, + { + "name": "Panchroma PLA Translucent @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Translucent @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P.json" + }, + { + "name": "Panchroma PLA Translucent @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Translucent @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1.json" + }, + { + "name": "Panchroma PLA Translucent @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA Translucent @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C.json" + }, + { + "name": "Panchroma PLA Translucent @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL A1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL X1", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C.json" + }, + { + "name": "Panchroma PLA UV Shift @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json" + }, + { + "name": "PolyLite Dual PLA @System", + "sub_path": "filament/Polymaker/PolyLite Dual PLA @System.json" + }, + { + "name": "PolyLite PLA Pro @BBL A1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1.json" + }, + { + "name": "PolyLite PLA Pro @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA Pro @BBL A1M", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M.json" + }, + { + "name": "PolyLite PLA Pro @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA Pro @BBL P1P", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P.json" + }, + { + "name": "PolyLite PLA Pro @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA Pro @BBL X1", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1.json" + }, + { + "name": "PolyLite PLA Pro @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA Pro @BBL X1C", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C.json" + }, + { + "name": "PolyLite PLA Pro @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA @BBL A1", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1.json" + }, + { + "name": "Polymaker HT-PLA @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M.json" + }, + { + "name": "Polymaker HT-PLA @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P.json" + }, + { + "name": "Polymaker HT-PLA @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA @BBL X1", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1.json" + }, + { + "name": "Polymaker HT-PLA @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C.json" + }, + { + "name": "Polymaker HT-PLA @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL A1", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL A1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL A1M", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL P1P", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL X1", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL X1 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL X1C", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C.json" + }, + { + "name": "Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle", + "sub_path": "filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json" + }, + { + "name": "COEX PLA+Silk @BBL A1", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL A1.json" + }, + { + "name": "COEX PLA+Silk @BBL A1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL A1 0.2 nozzle.json" + }, + { + "name": "COEX PLA+Silk @BBL A1M", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL A1M.json" + }, + { + "name": "COEX PLA+Silk @BBL A1M 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL A1M 0.2 nozzle.json" + }, + { + "name": "COEX PLA+Silk @BBL P1P", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL P1P.json" + }, + { + "name": "COEX PLA+Silk @BBL P1P 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL P1P 0.2 nozzle.json" + }, + { + "name": "COEX PLA+Silk @BBL X1", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL X1.json" + }, + { + "name": "COEX PLA+Silk @BBL X1 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL X1 0.2 nozzle.json" + }, + { + "name": "COEX PLA+Silk @BBL X1C", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL X1C.json" + }, + { + "name": "COEX PLA+Silk @BBL X1C 0.2 nozzle", + "sub_path": "filament/COEX/BBL/COEX PLA+Silk @BBL X1C 0.2 nozzle.json" + }, { "name": "COEX PLA+Silk @System", "sub_path": "filament/COEX/COEX PLA+Silk @System.json" + }, + { + "name": "Elegoo Rapid TPU 95A @System", + "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @System.json" } ], "process_list": [], diff --git a/resources/profiles/BBL/filament/AliZ/AliZ PA-CF @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PA-CF @P1-X1.json similarity index 91% rename from resources/profiles/BBL/filament/AliZ/AliZ PA-CF @P1-X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PA-CF @P1-X1.json index c94baa16f8..bc75a0717f 100644 --- a/resources/profiles/BBL/filament/AliZ/AliZ PA-CF @P1-X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PA-CF @P1-X1.json @@ -3,7 +3,7 @@ "name": "AliZ PA-CF @P1-X1", "inherits": "AliZ PA-CF @base", "from": "system", - "setting_id": "AliZ003_00", + "setting_id": "cN0uesF0mZf3KSkj", "instantiation": "true", "enable_pressure_advance": [ "1" diff --git a/resources/profiles/BBL/filament/AliZ/AliZ PETG @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG @P1-X1.json similarity index 91% rename from resources/profiles/BBL/filament/AliZ/AliZ PETG @P1-X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG @P1-X1.json index 9549920f5a..9976c2e168 100644 --- a/resources/profiles/BBL/filament/AliZ/AliZ PETG @P1-X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG @P1-X1.json @@ -3,7 +3,7 @@ "name": "AliZ PETG @P1-X1", "inherits": "AliZ PETG @base", "from": "system", - "setting_id": "AliZ001_00", + "setting_id": "cZp23cC4ong9q6dn", "instantiation": "true", "enable_pressure_advance": [ "1" diff --git a/resources/profiles/BBL/filament/AliZ/AliZ PETG-CF @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-CF @P1-X1.json similarity index 91% rename from resources/profiles/BBL/filament/AliZ/AliZ PETG-CF @P1-X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-CF @P1-X1.json index be611e7ee7..f7af938dfa 100644 --- a/resources/profiles/BBL/filament/AliZ/AliZ PETG-CF @P1-X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-CF @P1-X1.json @@ -3,7 +3,7 @@ "name": "AliZ PETG-CF @P1-X1", "inherits": "AliZ PETG-CF @base", "from": "system", - "setting_id": "AZ01-1_00", + "setting_id": "HWW5mejsB0SfEfWw", "instantiation": "true", "enable_pressure_advance": [ "1" diff --git a/resources/profiles/BBL/filament/AliZ/AliZ PETG-Metal @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-Metal @P1-X1.json similarity index 92% rename from resources/profiles/BBL/filament/AliZ/AliZ PETG-Metal @P1-X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-Metal @P1-X1.json index b25bfa6521..e985f6123b 100644 --- a/resources/profiles/BBL/filament/AliZ/AliZ PETG-Metal @P1-X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PETG-Metal @P1-X1.json @@ -3,7 +3,7 @@ "name": "AliZ PETG-Metal @P1-X1", "inherits": "AliZ PETG-Metal @base", "from": "system", - "setting_id": "AZ01-2_00", + "setting_id": "JqD0blE4fxaNfXqB", "instantiation": "true", "enable_pressure_advance": [ "1" diff --git a/resources/profiles/BBL/filament/AliZ/AliZ PLA @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PLA @P1-X1.json similarity index 91% rename from resources/profiles/BBL/filament/AliZ/AliZ PLA @P1-X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PLA @P1-X1.json index c60138f745..a49d64e421 100644 --- a/resources/profiles/BBL/filament/AliZ/AliZ PLA @P1-X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/AliZ/BBL/AliZ PLA @P1-X1.json @@ -3,7 +3,7 @@ "name": "AliZ PLA @P1-X1", "inherits": "AliZ PLA @base", "from": "system", - "setting_id": "AliZ002_00", + "setting_id": "fRELapY8YiP4qrBW", "instantiation": "true", "enable_pressure_advance": [ "1" diff --git a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA ABS @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL A1.json index 97348b871d..efe7ba4bd6 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA ABS @BBL A1", "inherits": "BETA ABS @base", "from": "system", - "setting_id": "BABB00_07", + "setting_id": "dUGRrmxU89pRaJ2Z", "instantiation": "true", "fan_max_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA ABS @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL H2D.json index d4c4fda0ba..b02dd7539c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA ABS @BBL H2D", "inherits": "BETA ABS @base", "from": "system", - "setting_id": "BABB00_11", + "setting_id": "oxZKTEMd8TpyoH39", "instantiation": "true", "chamber_temperatures": [ "65" diff --git a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA ABS @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL P1P.json index c9c9bbfe4b..8210765185 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA ABS @BBL P1P", "inherits": "BETA ABS @base", "from": "system", - "setting_id": "BABB00_03", + "setting_id": "MPYyfCKMsJZy8GaY", "instantiation": "true", "fan_max_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA ABS @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL X1C.json index b6682d512a..196053eb0a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ABS @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ABS @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA ABS @BBL X1C", "inherits": "BETA ABS @base", "from": "system", - "setting_id": "BABB00", + "setting_id": "vMA7EhgNDT4MwMRr", "instantiation": "true", "fan_max_speed": [ "60" diff --git a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL A1 0.4 nozzle.json similarity index 90% rename from resources/profiles/BBL/filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL A1 0.4 nozzle.json index 3aaff7f087..670fa696fb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL A1 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA ASA @BBL A1 0.4 nozzle", "inherits": "BETA ASA @base", "from": "system", - "setting_id": "BASB00_09", + "setting_id": "LevRG7t9mTlEseaB", "instantiation": "true", "chamber_temperatures": [ "60" diff --git a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL H2D 0.4 nozzle.json index 66569a778a..3f27231fd0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA ASA @BBL H2D 0.4 nozzle", "inherits": "BETA ASA @base", "from": "system", - "setting_id": "BASB00_13", + "setting_id": "3NBkWTXmqi8eRUhi", "instantiation": "true", "chamber_temperatures": [ "65" diff --git a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL X1C 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL X1C 0.4 nozzle.json index 3420b95e62..3d65ee4436 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA ASA @BBL X1C 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA ASA @BBL X1C 0.4 nozzle", "inherits": "BETA ASA @base", "from": "system", - "setting_id": "BASB00_02", + "setting_id": "0nWTEZkH7NKXgCib", "instantiation": "true", "chamber_temperatures": [ "60" diff --git a/resources/profiles/BBL/filament/BETA/BETA HIPS @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA HIPS @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL H2D.json index 7975343472..7bb555ede0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA HIPS @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA HIPS @BBL H2D", "inherits": "BETA HIPS @base", "from": "system", - "setting_id": "BHIB00_06", + "setting_id": "9nN2uWxlYH1c507A", "instantiation": "true", "filament_deretraction_speed": [ "nil", diff --git a/resources/profiles/BBL/filament/BETA/BETA HIPS @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA HIPS @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL X1C.json index 7f8204ab99..1b92494eac 100644 --- a/resources/profiles/BBL/filament/BETA/BETA HIPS @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA HIPS @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA HIPS @BBL X1C", "inherits": "BETA HIPS @base", "from": "system", - "setting_id": "BHIB00_00", + "setting_id": "mTcT8sCciWyX5enc", "instantiation": "true", "filament_max_volumetric_speed": [ "8", diff --git a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL H2D.json index 283b174880..dc5df41921 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PAHT-CF @BBL H2D", "inherits": "BETA PAHT-CF @base", "from": "system", - "setting_id": "BPAB00_01", + "setting_id": "YbYCVQd5IR0sQR8S", "instantiation": "true", "chamber_temperatures": [ "60" diff --git a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL P1P.json index 020684ae9d..6dc9175a2d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PAHT-CF @BBL P1P", "inherits": "BETA PAHT-CF @base", "from": "system", - "setting_id": "BPAB00_10", + "setting_id": "5O5fzmFrT3O1k1H0", "instantiation": "true", "filament_flow_ratio": [ "0.96", diff --git a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL X1C.json index 2d07f60dd7..6c456aa3eb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PAHT-CF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PAHT-CF @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PAHT-CF @BBL X1C", "inherits": "BETA PAHT-CF @base", "from": "system", - "setting_id": "BPAB00", + "setting_id": "gB5HLYTDCooFy2W5", "instantiation": "true", "chamber_temperatures": [ "60" diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1.json index 5d2672ea39..bef1266f14 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PEBA 90A @BBL A1", "inherits": "BETA PEBA 90A @base", "from": "system", - "setting_id": "BPBB00_04", + "setting_id": "A57Sbar56Ah1NiU7", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1M.json index 65a899ec25..feb281f605 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PEBA 90A @BBL A1M", "inherits": "BETA PEBA 90A @base", "from": "system", - "setting_id": "BPBB00_05", + "setting_id": "OoLkWS147R0AasZc", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL H2D.json index 15e570c0ef..a5b0a4e46b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PEBA 90A @BBL H2D", "inherits": "BETA PEBA 90A @base", "from": "system", - "setting_id": "BPBB00_02", + "setting_id": "91b8WTzvOky9wAVK", "instantiation": "true", "additional_cooling_fan_speed": [ "100" diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL P1P.json index d84427a067..f5cc6b7f98 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PEBA 90A @BBL P1P", "inherits": "BETA PEBA 90A @base", "from": "system", - "setting_id": "BPBB00_01", + "setting_id": "ydudEBLRmj1WSXqB", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL X1C.json index 9787ec8671..74c0bdd20d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PEBA 90A @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PEBA 90A @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PEBA 90A @BBL X1C", "inherits": "BETA PEBA 90A @base", "from": "system", - "setting_id": "BPBB00_00", + "setting_id": "F1hTal3M92tBjv2N", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1.json index e66cac62b6..9d6fc9329d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG @BBL A1", "inherits": "BETA PETG @base", "from": "system", - "setting_id": "BPGB00_06", + "setting_id": "EpYzxZwVHvLaseku", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1M 0.4 nozzle.json index 0831aa7d3e..7cac0a9bef 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG @BBL A1M 0.4 nozzle", "inherits": "BETA PETG @base", "from": "system", - "setting_id": "BPGB00_03", + "setting_id": "5V0hyhzFoDU8Tfwm", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL H2D 0.4 nozzle.json index 5f581768f2..c508f9041c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG @BBL H2D 0.4 nozzle", "inherits": "BETA PETG @base", "from": "system", - "setting_id": "BPGB00_09", + "setting_id": "KnKvUsD4rSpQU413", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL X1C.json index 5a92aaf386..5547610fcf 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG @BBL X1C", "inherits": "BETA PETG @base", "from": "system", - "setting_id": "BPGB00_01", + "setting_id": "uM6wHdt0N5ftZRge", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1.json index 4afed91de9..67e25a2c01 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Fluorescence @BBL A1", "inherits": "BETA PETG Fluorescence @base", "from": "system", - "setting_id": "BPGB02_06", + "setting_id": "ZtyTtAWsZnLGsM0O", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json index 3dea382bb2..a12cc74634 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Fluorescence @base", "from": "system", - "setting_id": "BPGB02_03", + "setting_id": "VUSunTT0OJa7iOSd", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json index 62dfb7753f..19f8879c41 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Fluorescence @base", "from": "system", - "setting_id": "BPGB02_09", + "setting_id": "JHg4y0pxAOtoJSuw", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL X1C.json index 88562c9da2..353498bf5c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Fluorescence @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Fluorescence @BBL X1C", "inherits": "BETA PETG Fluorescence @base", "from": "system", - "setting_id": "BPGB02_01", + "setting_id": "pCetfFvyLLw3vS2j", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1.json index d3a13707b4..6a97df7f55 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glitter @BBL A1", "inherits": "BETA PETG Glitter @base", "from": "system", - "setting_id": "BPGB03_06", + "setting_id": "cz5dC7OrXDlX1Ctj", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1M 0.4 nozzle.json index 2b12feac1e..dc051ee414 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glitter @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Glitter @base", "from": "system", - "setting_id": "BPGB03_03", + "setting_id": "PozWnOfZ2l7HqTpx", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL H2D 0.4 nozzle.json index 988f09054d..7d4b3bb5d5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glitter @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Glitter @base", "from": "system", - "setting_id": "BPGB03_09", + "setting_id": "ijW4zvNAQ3DIK984", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL X1C.json index 8eb9ef276f..18c99695f4 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glitter @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glitter @BBL X1C", "inherits": "BETA PETG Glitter @base", "from": "system", - "setting_id": "BPGB03_01", + "setting_id": "UI220qldPoLY8VZN", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1.json index 039a6b5a77..8c4d9a584a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glow @BBL A1", "inherits": "BETA PETG Glow @base", "from": "system", - "setting_id": "BPGB04_06", + "setting_id": "LudMQeiSJOLw0Aoy", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1M 0.4 nozzle.json index 30a1290c7f..f8d7d240f3 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glow @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Glow @base", "from": "system", - "setting_id": "BPGB04_03", + "setting_id": "cl1Rl9hgrahhhSd3", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL H2D 0.4 nozzle.json index d460a13719..9196aff31b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glow @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Glow @base", "from": "system", - "setting_id": "BPGB04_09", + "setting_id": "3s9w3mH6M4OdbrUV", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL X1C.json index e599deed02..42a4521212 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Glow @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Glow @BBL X1C", "inherits": "BETA PETG Glow @base", "from": "system", - "setting_id": "BPGB04_01", + "setting_id": "wv5FRKdnsHaIFA7L", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1.json index 8c732afcf6..0a753194b6 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Gradient @BBL A1", "inherits": "BETA PETG Gradient @base", "from": "system", - "setting_id": "BPGB05_06", + "setting_id": "L3hZggzEZUgUv0Qv", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1M 0.4 nozzle.json index c7dd29444b..7d5f7fba8b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Gradient @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Gradient @base", "from": "system", - "setting_id": "BPGB05_03", + "setting_id": "zsITnsNFRG7IE6sR", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL H2D 0.4 nozzle.json index 078a954fd6..b468069cb7 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Gradient @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Gradient @base", "from": "system", - "setting_id": "BPGB05_09", + "setting_id": "GqmCuPg6baUxeoYS", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL X1C.json index 0bca3fd849..48c3f30535 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Gradient @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Gradient @BBL X1C", "inherits": "BETA PETG Gradient @base", "from": "system", - "setting_id": "BPGB05_01", + "setting_id": "oYJjUiaCI4UBZ0ur", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1.json index 4fa56ff56c..fc7d4417e8 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG HF @BBL A1", "inherits": "BETA PETG HF @base", "from": "system", - "setting_id": "BPGB06_03", + "setting_id": "T2Ea25pM2u9BM7Oa", "instantiation": "true", "fan_cooling_layer_time": [ "15" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1M.json index 4594b057e3..c162f9b829 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PETG HF @BBL A1M", "inherits": "BETA PETG HF @base", "from": "system", - "setting_id": "BPGB06_06", + "setting_id": "nO5R86dkDle1m5Pq", "instantiation": "true", "fan_cooling_layer_time": [ "15" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL H2D 0.4 nozzle.json index 5af6977e37..f8bc99dd97 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG HF @BBL H2D 0.4 nozzle", "inherits": "BETA PETG HF @base", "from": "system", - "setting_id": "BPGB06_09", + "setting_id": "YOBguayM9PiwkpfT", "instantiation": "true", "counter_coef_2": [ "0.007" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL X1C.json index e880bef58f..d67f8d619e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG HF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG HF @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG HF @BBL X1C", "inherits": "BETA PETG HF @base", "from": "system", - "setting_id": "BPGB06_00", + "setting_id": "EG3h0IHVO1yyVNMs", "instantiation": "true", "fan_cooling_layer_time": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1.json index 178a75b1cc..9ce4a5d5f4 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Heat Color Change @BBL A1", "inherits": "BETA PETG Heat Color Change @base", "from": "system", - "setting_id": "BPGB01_06", + "setting_id": "ZhHASdXFywqbRuBf", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json index 62371b18de..aa50a522ba 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Heat Color Change @base", "from": "system", - "setting_id": "BPGB01_03", + "setting_id": "YiFgzCJDAOW9YSjZ", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json index e94aec5705..5f6706766a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Heat Color Change @base", "from": "system", - "setting_id": "BPGB01_09", + "setting_id": "DpWgpTiKdm70Xt1i", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL X1C.json index 9b3cec67e5..b0e0ee39ca 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Heat Color Change @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Heat Color Change @BBL X1C", "inherits": "BETA PETG Heat Color Change @base", "from": "system", - "setting_id": "BPGB01_01", + "setting_id": "3lJe6ftSHQDkQZ1S", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1.json index 829f200312..1c8a6e7cf5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Marble @BBL A1", "inherits": "BETA PETG Marble @base", "from": "system", - "setting_id": "BPGB07_06", + "setting_id": "tSCDuE4dE44PyIwb", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1M 0.4 nozzle.json index b0cb67eb0e..0adda57b8f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Marble @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Marble @base", "from": "system", - "setting_id": "BPGB07_03", + "setting_id": "n6dguOo5ZleD6Ec4", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL H2D 0.4 nozzle.json index 2f510ad7ab..decfcb73a1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Marble @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Marble @base", "from": "system", - "setting_id": "BPGB07_09", + "setting_id": "RxCTxdvym4iNOB5j", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL X1C.json index 3b38034011..49ac9206f0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Marble @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Marble @BBL X1C", "inherits": "BETA PETG Marble @base", "from": "system", - "setting_id": "BPGB07_01", + "setting_id": "3BgsPAgilo1MgtOV", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1.json index a8062a0de5..bbac04c0b9 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Matte @BBL A1", "inherits": "BETA PETG Matte @base", "from": "system", - "setting_id": "BPGB08_06", + "setting_id": "zYkrzQk11C98R31F", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1M 0.4 nozzle.json index 2ed2cd9930..3408e81946 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Matte @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Matte @base", "from": "system", - "setting_id": "BPGB08_03", + "setting_id": "rzX5oP4037Ex5Chh", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL H2D 0.4 nozzle.json index edfdacc993..3287a32971 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Matte @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Matte @base", "from": "system", - "setting_id": "BPGB08_09", + "setting_id": "sqz8Vluq7GMd3siv", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL X1C.json index 763594b41d..d8f5548ba0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Matte @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Matte @BBL X1C", "inherits": "BETA PETG Matte @base", "from": "system", - "setting_id": "BPGB08_01", + "setting_id": "NXgqYCqHeVCgFF3I", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1.json index 715ebc1ad1..e378cf3de1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Metallic @BBL A1", "inherits": "BETA PETG Metallic @base", "from": "system", - "setting_id": "BPGB09_06", + "setting_id": "1baUIJ3P8n6DcyRc", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1M 0.4 nozzle.json index 85b11b2e80..6e1f1c1d30 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Metallic @BBL A1M 0.4 nozzle", "inherits": "BETA PETG Metallic @base", "from": "system", - "setting_id": "BPGB09_03", + "setting_id": "LMsVDqsChBksLNqL", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL H2D 0.4 nozzle.json index c00e63bf3d..c04e4513b5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Metallic @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Metallic @base", "from": "system", - "setting_id": "BPGB09_09", + "setting_id": "giq8BW6qcwz91e4C", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL X1C.json index 71f0be98d3..eaa3a9dae2 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Metallic @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Metallic @BBL X1C", "inherits": "BETA PETG Metallic @base", "from": "system", - "setting_id": "BPGB09_01", + "setting_id": "tZzoc2LdgWkpEiox", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1.json index 53202d68d2..e00ecd5b04 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG Transparent @BBL A1", "inherits": "BETA PETG Transparent @base", "from": "system", - "setting_id": "BPGB10_05", + "setting_id": "86loYV5S4bgO2FOx", "instantiation": "true", "filament_long_retractions_when_cut": [ "1" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1M.json index 0419cdd3d4..a8c9ca893d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PETG Transparent @BBL A1M", "inherits": "BETA PETG Transparent @base", "from": "system", - "setting_id": "BPGB10_02", + "setting_id": "c2xTYO07RC2G2xsv", "instantiation": "true", "filament_long_retractions_when_cut": [ "1" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL H2D 0.4 nozzle.json index e0e2c984aa..8e95c0e543 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG Transparent @BBL H2D 0.4 nozzle", "inherits": "BETA PETG Transparent @base", "from": "system", - "setting_id": "BPGB10_06", + "setting_id": "GkC5T0RX0meiLVKg", "instantiation": "true", "filament_deretraction_speed": [ "nil", diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL X1C.json index 102dbce7bf..9d2e347f64 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG Transparent @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG Transparent @BBL X1C", "inherits": "BETA PETG Transparent @base", "from": "system", - "setting_id": "BPGB10_00", + "setting_id": "doyjzbrEn9akgjvG", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1.json index fd0e5b8e0d..9f34c89591 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PETG UV Color Change @BBL A1", "inherits": "BETA PETG UV Color Change @base", "from": "system", - "setting_id": "BPGB11_06", + "setting_id": "CeepF0rRLZ5fzBwm", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json index 9b8d64318c..8a9f8d28d6 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle", "inherits": "BETA PETG UV Color Change @base", "from": "system", - "setting_id": "BPGB11_03", + "setting_id": "Atb1esrVdoWBK97e", "instantiation": "true", "fan_max_speed": [ "50" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json index 2ff953dc88..03f0000a35 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle", "inherits": "BETA PETG UV Color Change @base", "from": "system", - "setting_id": "BPGB11_09", + "setting_id": "Ic0NUfwLmR0NSh5q", "instantiation": "true", "fan_max_speed": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL X1C.json index cd5be66bf3..32eaa333cf 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG UV Color Change @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PETG UV Color Change @BBL X1C", "inherits": "BETA PETG UV Color Change @base", "from": "system", - "setting_id": "BPGB11_01", + "setting_id": "BUKCpukEUmocfz3v", "instantiation": "true", "fan_min_speed": [ "20" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1 0.4 nozzle.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1 0.4 nozzle.json index 4e15c8fc86..c0ed516884 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-CF @BBL A1 0.4 nozzle", "inherits": "BETA PETG-CF @base", "from": "system", - "setting_id": "BPGB12_05", + "setting_id": "2ysJdw1MuW8VLmny", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1M 0.4 nozzle.json similarity index 88% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1M 0.4 nozzle.json index d19e61f946..9dee306a03 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-CF @BBL A1M 0.4 nozzle", "inherits": "BETA PETG-CF @base", "from": "system", - "setting_id": "BPGB12_04", + "setting_id": "eZsa6noZZUahQeBp", "instantiation": "true", "filament_max_volumetric_speed": [ "9" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL H2D 0.4 nozzle.json index fd47d4f843..22af1e06ff 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-CF @BBL H2D 0.4 nozzle", "inherits": "BETA PETG-CF @base", "from": "system", - "setting_id": "BPGB12_08", + "setting_id": "YRUDQs5jE1d1BGTY", "instantiation": "true", "counter_coef_2": [ "0.00565" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL P1P 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL P1P 0.4 nozzle.json index 845086dfe1..f1a7334810 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL P1P 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-CF @BBL P1P 0.4 nozzle", "inherits": "BETA PETG-CF @base", "from": "system", - "setting_id": "BPGB12_03", + "setting_id": "i1OjgC3I96a1Trb8", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL X1C 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL X1C 0.4 nozzle.json index 4c8bf18ae3..273260a31f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-CF @BBL X1C 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-CF @BBL X1C 0.4 nozzle", "inherits": "BETA PETG-CF @base", "from": "system", - "setting_id": "BPGB12_02", + "setting_id": "0p4213iz0b9fbeKO", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1 0.4 nozzle.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1 0.4 nozzle.json index 719dd3ddfe..0aac4d7f04 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-GF @BBL A1 0.4 nozzle", "inherits": "BETA PETG-GF @base", "from": "system", - "setting_id": "BPGB13_05", + "setting_id": "mUZlODC7TvISFthv", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1M 0.4 nozzle.json similarity index 88% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1M 0.4 nozzle.json index f874d81f46..ed98f6337f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL A1M 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-GF @BBL A1M 0.4 nozzle", "inherits": "BETA PETG-GF @base", "from": "system", - "setting_id": "BPGB13_04", + "setting_id": "9Rh7EvY3QZm07VNe", "instantiation": "true", "filament_max_volumetric_speed": [ "9" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL H2D 0.4 nozzle.json index fd093d8506..277d1915b1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-GF @BBL H2D 0.4 nozzle", "inherits": "BETA PETG-GF @base", "from": "system", - "setting_id": "BPGB13_08", + "setting_id": "SOA1XFfdBEV4MEJy", "instantiation": "true", "counter_coef_2": [ "0.00565" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL P1P 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL P1P 0.4 nozzle.json index f700b2149e..a94fc48630 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL P1P 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-GF @BBL P1P 0.4 nozzle", "inherits": "BETA PETG-GF @base", "from": "system", - "setting_id": "BPGB13_03", + "setting_id": "tGtdR6vVNrTU26eI", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL X1C 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL X1C 0.4 nozzle.json index 32b0daf255..db3ecc90d9 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PETG-GF @BBL X1C 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PETG-GF @BBL X1C 0.4 nozzle", "inherits": "BETA PETG-GF @base", "from": "system", - "setting_id": "BPGB13_02", + "setting_id": "Z6dHVj1BKTJT7305", "instantiation": "true", "fan_cooling_layer_time": [ "30" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1.json index 3e0545627d..5dd32459b3 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Basic @BBL A1", "inherits": "BETA PLA Basic @base", "from": "system", - "setting_id": "BPLB00_04", + "setting_id": "e6tjM1Pa81eCsCVa", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1M.json index 074c8bbad6..78ba2bb9eb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Basic @BBL A1M", "inherits": "BETA PLA Basic @base", "from": "system", - "setting_id": "BPLB00_02", + "setting_id": "Uw0Gm74RTGBUcOYK", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL H2D.json index f309ce4697..97e462a487 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Basic @BBL H2D", "inherits": "BETA PLA Basic @base", "from": "system", - "setting_id": "BPLB00_12", + "setting_id": "LZBgJ5xFtzrt3v02", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL P1P.json index a9b3b41e67..99214e744d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Basic @BBL P1P", "inherits": "BETA PLA Basic @base", "from": "system", - "setting_id": "BPLB00_10", + "setting_id": "lh6niwL4m4XkSf8W", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL X1C.json index 2efae39e66..c50f60f49c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Basic @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Basic @BBL X1C", "inherits": "BETA PLA Basic @base", "from": "system", - "setting_id": "BPLB00", + "setting_id": "D5Ac9gZkax8dSVtV", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1.json index da7e730707..bc2af1a623 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Chameleon @BBL A1", "inherits": "BETA PLA Chameleon @base", "from": "system", - "setting_id": "BPLB02_03", + "setting_id": "vEjSWxmmbBWpuaRq", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1M.json index 667a27517c..8d2dd918e9 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Chameleon @BBL A1M", "inherits": "BETA PLA Chameleon @base", "from": "system", - "setting_id": "BPLB02_02", + "setting_id": "TAwpOCw19HhlNsMH", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL H2D.json index 61921e055e..b2bae83295 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Chameleon @BBL H2D", "inherits": "BETA PLA Chameleon @base", "from": "system", - "setting_id": "BPLB02_04", + "setting_id": "vG7kTitKJp5cBs3q", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL P1P.json index 896b695cad..ea66c51982 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Chameleon @BBL P1P", "inherits": "BETA PLA Chameleon @base", "from": "system", - "setting_id": "BPLB02_10", + "setting_id": "WGrBGAllXKxuLzjs", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL X1C.json index ecc1332410..e1ec162a69 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Chameleon @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Chameleon @BBL X1C", "inherits": "BETA PLA Chameleon @base", "from": "system", - "setting_id": "BPLB02_00", + "setting_id": "EfLqGX43NXNKKbWt", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1.json index 07ccf57777..021a32a374 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Fluorescence @BBL A1", "inherits": "BETA PLA Fluorescence @base", "from": "system", - "setting_id": "BPLB04_03", + "setting_id": "iyInqcqIjcvTJAKF", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1M.json index fe2a32394a..5bbfa583bc 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Fluorescence @BBL A1M", "inherits": "BETA PLA Fluorescence @base", "from": "system", - "setting_id": "BPLB04_02", + "setting_id": "A1f81XZTI4THuOrz", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL H2D.json index 4dfe6a3041..50390428cc 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Fluorescence @BBL H2D", "inherits": "BETA PLA Fluorescence @base", "from": "system", - "setting_id": "BPLB04_04", + "setting_id": "gcP4tfP34Xz6A1aX", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL P1P.json index fa085c4b5b..a786a7aa36 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Fluorescence @BBL P1P", "inherits": "BETA PLA Fluorescence @base", "from": "system", - "setting_id": "BPLB04_10", + "setting_id": "VXtzYPTfTHywigT5", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL X1C.json index f7930db006..ef2188514c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Fluorescence @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Fluorescence @BBL X1C", "inherits": "BETA PLA Fluorescence @base", "from": "system", - "setting_id": "BPLB04_00", + "setting_id": "2nZDf5vDbWMzG91Q", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1.json index a50ea558f6..271a16779c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glitter @BBL A1", "inherits": "BETA PLA Glitter @base", "from": "system", - "setting_id": "BPLB05_03", + "setting_id": "OSPJASUk0Pg4tbVq", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1M.json index e9f9995415..f9c7b13966 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glitter @BBL A1M", "inherits": "BETA PLA Glitter @base", "from": "system", - "setting_id": "BPLB05_02", + "setting_id": "TwCRZOBSByKVOpWu", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL H2D.json index 30a169c731..de6665e0ef 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glitter @BBL H2D", "inherits": "BETA PLA Glitter @base", "from": "system", - "setting_id": "BPLB05_04", + "setting_id": "V21QsVHdIu9O5x8H", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL P1P.json index 56fbd91b1f..c7cb14bea3 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glitter @BBL P1P", "inherits": "BETA PLA Glitter @base", "from": "system", - "setting_id": "BPLB05_10", + "setting_id": "6j8mVocsMSyMcN7W", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL X1C.json index 27ef9b6bb1..97335ee8ba 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glitter @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glitter @BBL X1C", "inherits": "BETA PLA Glitter @base", "from": "system", - "setting_id": "BPLB05_00", + "setting_id": "9xX3mgUo5cbNvn1G", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1.json index b3e3f5810f..bf3ee29978 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glow @BBL A1", "inherits": "BETA PLA Glow @base", "from": "system", - "setting_id": "BPLB06_11", + "setting_id": "5CBeJCmUFnmeran7", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1M.json index ce16e93ea2..99725d2707 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glow @BBL A1M", "inherits": "BETA PLA Glow @base", "from": "system", - "setting_id": "BPLB06_16", + "setting_id": "E9Dx6JqlKJSObUbH", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL H2D.json index f36dad2a44..ef4fdb473b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glow @BBL H2D", "inherits": "BETA PLA Glow @base", "from": "system", - "setting_id": "BPLB06_06", + "setting_id": "3V9M3nMyxMHZPw86", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL P1P.json index 4e1abbead0..f19705f369 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glow @BBL P1P", "inherits": "BETA PLA Glow @base", "from": "system", - "setting_id": "BPLB06_02", + "setting_id": "iYLZEeO84vkLMKTI", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL X1C.json index b7ed381bd3..b6d88f2cdc 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Glow @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Glow @BBL X1C", "inherits": "BETA PLA Glow @base", "from": "system", - "setting_id": "BPLB06_00", + "setting_id": "t2r0gXudUDKwtqiq", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1.json index 93a1e0c8a7..e178d3ff99 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Gradient @BBL A1", "inherits": "BETA PLA Gradient @base", "from": "system", - "setting_id": "BPLB07_03", + "setting_id": "425v7oGgeTL6iomC", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1M.json index a29b928941..36a9d142ad 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Gradient @BBL A1M", "inherits": "BETA PLA Gradient @base", "from": "system", - "setting_id": "BPLB07_02", + "setting_id": "X8Y4YSnjlFf9mSIB", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL H2D.json index 3657d33348..23d5f31d21 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Gradient @BBL H2D", "inherits": "BETA PLA Gradient @base", "from": "system", - "setting_id": "BPLB07_04", + "setting_id": "YGTS7nibKyJKDcU4", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL P1P.json index 38ca268766..15b6d22f5e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Gradient @BBL P1P", "inherits": "BETA PLA Gradient @base", "from": "system", - "setting_id": "BPLB07_10", + "setting_id": "qSQlI3DJHr4ILcB2", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL X1C.json index 28167832c7..ec1845f924 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Gradient @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Gradient @BBL X1C", "inherits": "BETA PLA Gradient @base", "from": "system", - "setting_id": "BPLB07_00", + "setting_id": "d7p2sIDTErREL4Kl", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1.json index f07c12540f..ca08ac0b4e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Heat Color Change @BBL A1", "inherits": "BETA PLA Heat Color Change @base", "from": "system", - "setting_id": "BPLB03_03", + "setting_id": "5j48tMo1EVC3xQIy", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1M.json index 057ac94128..2a3ef9a0b4 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Heat Color Change @BBL A1M", "inherits": "BETA PLA Heat Color Change @base", "from": "system", - "setting_id": "BPLB03_02", + "setting_id": "revg1V2Pi8iCfrxi", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL H2D.json index 7777bdb4ca..6c9d1605fb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Heat Color Change @BBL H2D", "inherits": "BETA PLA Heat Color Change @base", "from": "system", - "setting_id": "BPLB03_04", + "setting_id": "4gszgdDD34i0PqNB", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL P1P.json index 0b8b264d0f..b789e28638 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Heat Color Change @BBL P1P", "inherits": "BETA PLA Heat Color Change @base", "from": "system", - "setting_id": "BPLB03_10", + "setting_id": "nNjRbHDsEfiCaAlB", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL X1C.json index 96ae68563e..ed8b6c8589 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Heat Color Change @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Heat Color Change @BBL X1C", "inherits": "BETA PLA Heat Color Change @base", "from": "system", - "setting_id": "BPLB03_00", + "setting_id": "UxrUKGG8X65QaY8e", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1.json index 0f8dc55aec..a3fb1f92e7 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Speed @BBL A1", "inherits": "BETA PLA High Speed @base", "from": "system", - "setting_id": "BPLB20_04", + "setting_id": "BGnydxe8BWKLWGUh", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1M.json index a9a989fa0b..714f84f727 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Speed @BBL A1M", "inherits": "BETA PLA High Speed @base", "from": "system", - "setting_id": "BPLB20_06", + "setting_id": "c9A7frKuehrQbxga", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL H2D.json index c353b206f8..01bd6e5701 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Speed @BBL H2D", "inherits": "BETA PLA High Speed @base", "from": "system", - "setting_id": "BPLB20_08", + "setting_id": "n9Bq9aOUoHA2d5aj", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL P1P.json index 36f42f9c42..b2f9e5ad9d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Speed @BBL P1P", "inherits": "BETA PLA High Speed @base", "from": "system", - "setting_id": "BPLB20_02", + "setting_id": "OSqz4aXmaTf5UeNx", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL X1C.json index 0c6aa6b8b2..7babfd0ad0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Speed @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Speed @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Speed @BBL X1C", "inherits": "BETA PLA High Speed @base", "from": "system", - "setting_id": "BPLB20_00", + "setting_id": "Ikl9jwlTBbGAgccp", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1.json index b8ccc3af16..84769a0374 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Temp @BBL A1", "inherits": "BETA PLA High Temp @base", "from": "system", - "setting_id": "BPLB18_05", + "setting_id": "hiRu8jlZ2NW4LlPH", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1M.json index c7bca3f5c4..2caae4c09d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Temp @BBL A1M", "inherits": "BETA PLA High Temp @base", "from": "system", - "setting_id": "BPLB18_07", + "setting_id": "Dg4tIm8P04KTRbeo", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL H2D.json index 08653bbf37..4047850988 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Temp @BBL H2D", "inherits": "BETA PLA High Temp @base", "from": "system", - "setting_id": "BPLB18_09", + "setting_id": "5F1rml3AGNMD6F1g", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL P1P.json index 25a0522a02..91f72cdfb0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Temp @BBL P1P", "inherits": "BETA PLA High Temp @base", "from": "system", - "setting_id": "BPLB18_03", + "setting_id": "EeBCe9mT3aa8GY6E", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL X1C.json index e221c28c18..f0202e0fc1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA High Temp @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA High Temp @BBL X1C", "inherits": "BETA PLA High Temp @base", "from": "system", - "setting_id": "BPLB18_00", + "setting_id": "YuUxUrDHm5pkQJ00", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1.json index 4bff45b61d..fad6908ea2 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Marble @BBL A1", "inherits": "BETA PLA Marble @base", "from": "system", - "setting_id": "BPLB08_03", + "setting_id": "HUIyHrpR1NeXtq2U", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1M.json index 3ad98ecb34..631d702b60 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Marble @BBL A1M", "inherits": "BETA PLA Marble @base", "from": "system", - "setting_id": "BPLB08_02", + "setting_id": "tizFbLmroyCZkYwM", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL H2D.json index decacdcc40..1ef7104002 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Marble @BBL H2D", "inherits": "BETA PLA Marble @base", "from": "system", - "setting_id": "BPLB08_04", + "setting_id": "HQiUpjhYDmRgfE58", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL P1P.json index 2e7cf93c79..a198637db6 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Marble @BBL P1P", "inherits": "BETA PLA Marble @base", "from": "system", - "setting_id": "BPLB08_10", + "setting_id": "vL5v8bp6NzR0rDLx", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL X1C.json index bfc904d686..58a42b7452 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Marble @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Marble @BBL X1C", "inherits": "BETA PLA Marble @base", "from": "system", - "setting_id": "BPLB08_00", + "setting_id": "nNLxWZNjsSJ6hgoi", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1.json index 5791eaacb1..eafde54097 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Matte @BBL A1", "inherits": "BETA PLA Matte @base", "from": "system", - "setting_id": "BPLB09_04", + "setting_id": "FcoZYFxLOjcwqHeK", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1M.json index d2dace4b32..d35c947f36 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Matte @BBL A1M", "inherits": "BETA PLA Matte @base", "from": "system", - "setting_id": "BPLB09_02", + "setting_id": "ZKRYRXFXljR57zqd", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL H2D.json index ef3fa05d53..bc595e11b5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Matte @BBL H2D", "inherits": "BETA PLA Matte @base", "from": "system", - "setting_id": "BPLB09_05", + "setting_id": "Zw3CZVyBon930GCH", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL P1P.json index 8076797fb8..6331679d0c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Matte @BBL P1P", "inherits": "BETA PLA Matte @base", "from": "system", - "setting_id": "BPLB09_10", + "setting_id": "twKgWxS55toXm9pS", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL X1C.json index dea5b1f08b..9214f71190 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Matte @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Matte @BBL X1C", "inherits": "BETA PLA Matte @base", "from": "system", - "setting_id": "BPLB09", + "setting_id": "R9ZZzNBbymoFbwoD", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1.json index 0824f7da2a..6362a7cd3d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metal @BBL A1", "inherits": "BETA PLA Metal @base", "from": "system", - "setting_id": "BPLB10_04", + "setting_id": "fXRyE1fu4AtA5AdK", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1M.json index 7c845e3bc0..8a60fd062a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metal @BBL A1M", "inherits": "BETA PLA Metal @base", "from": "system", - "setting_id": "BPLB10_00", + "setting_id": "flbisIR5Js1cFyUe", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL H2D.json index 7dd3a3f16d..7ff82b8ae0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metal @BBL H2D", "inherits": "BETA PLA Metal @base", "from": "system", - "setting_id": "BPLB10_07", + "setting_id": "iuy4UVicjmTl5B0i", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL P1P.json index 48eede1a01..512647c8ac 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metal @BBL P1P", "inherits": "BETA PLA Metal @base", "from": "system", - "setting_id": "BPLB10_10", + "setting_id": "nEkQaDE7Ps8lSN5M", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL X1C.json index 263bf64877..342feb455d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metal @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metal @BBL X1C", "inherits": "BETA PLA Metal @base", "from": "system", - "setting_id": "BPLB10", + "setting_id": "RkaFgVuA3VCXCUwR", "instantiation": "true", "filament_max_volumetric_speed": [ "21", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1.json index 87c03f5dc7..18c962f034 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metallic @BBL A1", "inherits": "BETA PLA Metallic @base", "from": "system", - "setting_id": "BPLB11_04", + "setting_id": "Uqkj3TepJG7iMPQG", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1M.json index 685c0be389..e0600f6ae0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metallic @BBL A1M", "inherits": "BETA PLA Metallic @base", "from": "system", - "setting_id": "BPLB11_00", + "setting_id": "LaqMwUAucC9o1Iwn", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL H2D.json index 23e0eada1d..d9a181f2ba 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metallic @BBL H2D", "inherits": "BETA PLA Metallic @base", "from": "system", - "setting_id": "BPLB11_07", + "setting_id": "S5UzAJasZ5CyEmfL", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL P1P.json index eb1d1f6804..cdb7e0a72d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metallic @BBL P1P", "inherits": "BETA PLA Metallic @base", "from": "system", - "setting_id": "BPLB11_10", + "setting_id": "xyNibP5nFO0inDjx", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL X1C.json index edc372c4c8..0387582b90 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Metallic @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Metallic @BBL X1C", "inherits": "BETA PLA Metallic @base", "from": "system", - "setting_id": "BPLB11", + "setting_id": "vXm2F0GQvACSRrDF", "instantiation": "true", "filament_max_volumetric_speed": [ "21", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1.json index c8b2a6fa6a..5366e04cf5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA PRO @BBL A1", "inherits": "BETA PLA PRO @base", "from": "system", - "setting_id": "BPLB12_04", + "setting_id": "SiBlaw6JN4thc2v7", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1M.json index fe1de91251..215c2b6e4e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA PRO @BBL A1M", "inherits": "BETA PLA PRO @base", "from": "system", - "setting_id": "BPLB12_02", + "setting_id": "3PLh2oirCzwxIYY7", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL H2D.json index 13aaebc092..605e1e9a37 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA PRO @BBL H2D", "inherits": "BETA PLA PRO @base", "from": "system", - "setting_id": "BPLB12_12", + "setting_id": "Mth7IAdxkWf7pSSj", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL P1P.json index ded38c78d8..35d88a6d9f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA PRO @BBL P1P", "inherits": "BETA PLA PRO @base", "from": "system", - "setting_id": "BPLB12_10", + "setting_id": "TbpMpIJpBn6t93fw", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL X1C.json index bb7581f809..b35f73cc70 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA PRO @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA PRO @BBL X1C", "inherits": "BETA PLA PRO @base", "from": "system", - "setting_id": "BPLB12", + "setting_id": "vGDfXmE1VEysXtAO", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1.json index 0fa19d6760..7431ae5cfb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk @BBL A1", "inherits": "BETA PLA Silk @base", "from": "system", - "setting_id": "BPLB13_05", + "setting_id": "YX4fP5hZvz8u47CE", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1M.json index eb9a1c4d17..a04e603208 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk @BBL A1M", "inherits": "BETA PLA Silk @base", "from": "system", - "setting_id": "BPLB13_03", + "setting_id": "ebNsrfIGYb2cWiFZ", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL H2D.json index 513d2a4aa7..943bdfaf11 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk @BBL H2D", "inherits": "BETA PLA Silk @base", "from": "system", - "setting_id": "BPLB13_16", + "setting_id": "qXuac1ixZ4VdWMyA", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL P1P.json index e8cbc2e14b..8967b90534 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk @BBL P1P", "inherits": "BETA PLA Silk @base", "from": "system", - "setting_id": "BPLB13_12", + "setting_id": "AjbwkQMcmhlbU05G", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL X1C.json index 8a7e3eff50..5a94b4e94b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk @BBL X1C", "inherits": "BETA PLA Silk @base", "from": "system", - "setting_id": "BPLB13_01", + "setting_id": "WfQvql8IUq5wYZy2", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1.json index fde75ade2b..7dd7287011 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk+ @BBL A1", "inherits": "BETA PLA Silk+ @base", "from": "system", - "setting_id": "BPLB01_05", + "setting_id": "tuARzQoSxOfqBGVB", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1M.json index 2f7caa3f45..343cef28a0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk+ @BBL A1M", "inherits": "BETA PLA Silk+ @base", "from": "system", - "setting_id": "BPLB01_07", + "setting_id": "FYOjtlcF2X4JJTW2", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL H2D.json index 244dab338f..35d9da0d5c 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk+ @BBL H2D", "inherits": "BETA PLA Silk+ @base", "from": "system", - "setting_id": "BPLB01_09", + "setting_id": "4aj9YjpmJDQoTIv7", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL P1P.json index f809b6d7e9..0655808c45 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk+ @BBL P1P", "inherits": "BETA PLA Silk+ @base", "from": "system", - "setting_id": "BPLB01_03", + "setting_id": "2zazn2f141IdduiF", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL X1C.json index 065b493b2c..f4061a43c5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Silk+ @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Silk+ @BBL X1C", "inherits": "BETA PLA Silk+ @base", "from": "system", - "setting_id": "BPLB01_00", + "setting_id": "II7v6FJKAEfsHPsC", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1.json similarity index 96% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1.json index 2a84d1f507..80c20b5305 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Transparent @BBL A1", "inherits": "BETA PLA Transparent @base", "from": "system", - "setting_id": "BPLB14_06", + "setting_id": "V0vkf3I1WVUAqxoF", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1M.json similarity index 96% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1M.json index 94753a2b93..d573615c6e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Transparent @BBL A1M", "inherits": "BETA PLA Transparent @base", "from": "system", - "setting_id": "BPLB14_09", + "setting_id": "Byg1D2JdNLqdxm0F", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL H2D.json index 3d11c50857..6932a2a9b1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Transparent @BBL H2D", "inherits": "BETA PLA Transparent @base", "from": "system", - "setting_id": "BPLB14_12", + "setting_id": "1l2wIbU3KDjwmUVY", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL P1P.json index a180a2a124..3ab7af716f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Transparent @BBL P1P", "inherits": "BETA PLA Transparent @base", "from": "system", - "setting_id": "BPLB14_03", + "setting_id": "lkk8IBexAioV8IVA", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL X1C.json index 072bb2ec9c..0c564fe5d0 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Transparent @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Transparent @BBL X1C", "inherits": "BETA PLA Transparent @base", "from": "system", - "setting_id": "BPLB14_00", + "setting_id": "irzqsuMp63Uk5U3F", "instantiation": "true", "description": "The generic presets are conservatively tuned for compatibility with a wider range of filaments. For higher printing quality and speeds, please use Bambu filaments with Bambu presets.", "filament_retract_before_wipe": [ diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1.json index f9016e233b..1cb752641a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA UV Color Change @BBL A1", "inherits": "BETA PLA UV Color Change @base", "from": "system", - "setting_id": "BPLB15_11", + "setting_id": "JrWOMe0rkRqc1Ke4", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1M.json index da74968584..9f2b89b70e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA UV Color Change @BBL A1M", "inherits": "BETA PLA UV Color Change @base", "from": "system", - "setting_id": "BPLB15_16", + "setting_id": "7V4HEL5PUiStwzpz", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL H2D.json index 5d23c31585..2e086ef2c9 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA UV Color Change @BBL H2D", "inherits": "BETA PLA UV Color Change @base", "from": "system", - "setting_id": "BPLB15_06", + "setting_id": "oOCiCsRmcy4hRZ45", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL P1P.json index 4ec6559082..15309bbca5 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA UV Color Change @BBL P1P", "inherits": "BETA PLA UV Color Change @base", "from": "system", - "setting_id": "BPLB15_02", + "setting_id": "lxVwiIRA5WN0N2TU", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL X1C.json index f990e19fbe..050907b9da 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA UV Color Change @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA UV Color Change @BBL X1C", "inherits": "BETA PLA UV Color Change @base", "from": "system", - "setting_id": "BPLB15_00", + "setting_id": "PRWqTkiWEkWOiXFA", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1.json similarity index 96% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1.json index 59a931d95d..1782275869 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Wood @BBL A1", "inherits": "BETA PLA Wood @base", "from": "system", - "setting_id": "BPLB19_04", + "setting_id": "NnfeDQPSJ3lnrAw9", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1M.json similarity index 97% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1M.json index ee662f0c7b..755497f89b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Wood @BBL A1M", "inherits": "BETA PLA Wood @base", "from": "system", - "setting_id": "BPLB19_05", + "setting_id": "GXigA5h84gA4KRH3", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL H2D.json index 74c43f6e6b..07f19819fc 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Wood @BBL H2D", "inherits": "BETA PLA Wood @base", "from": "system", - "setting_id": "BPLB19_06", + "setting_id": "8KPAmWj4bJ2P4gAn", "instantiation": "true", "eng_plate_temp": [ "55" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL P1P.json index eb0c56df11..62d5a28a78 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Wood @BBL P1P", "inherits": "BETA PLA Wood @base", "from": "system", - "setting_id": "BPLB19_03", + "setting_id": "mcsmTaMSaWs2RBvn", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL X1C.json index 9ada7a13f1..e000cf0259 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Wood @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Wood @BBL X1C", "inherits": "BETA PLA Wood @base", "from": "system", - "setting_id": "BPLB19_00", + "setting_id": "TI16gHjo52VFaAW1", "instantiation": "true", "filament_flow_ratio": [ "0.98", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1.json index c2fa4faa80..fcfd4f3774 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA Youth @BBL A1", "inherits": "BETA PLA Youth @base", "from": "system", - "setting_id": "BPLB16_04", + "setting_id": "jVWf9kiFpfmxFlw6", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1M.json index 799c3c13db..e8e6da828a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA Youth @BBL A1M", "inherits": "BETA PLA Youth @base", "from": "system", - "setting_id": "BPLB16_02", + "setting_id": "OfKH1gaVgx1adGeJ", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL H2D.json index 66520b424e..4b1b4b9a50 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA PLA Youth @BBL H2D", "inherits": "BETA PLA Youth @base", "from": "system", - "setting_id": "BPLB16_05", + "setting_id": "ZtgqauY30xyhRIB3", "instantiation": "true", "additional_cooling_fan_speed": [ "75" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL P1P.json index 2afbb6da25..a40b68fbc3 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA Youth @BBL P1P", "inherits": "BETA PLA Youth @base", "from": "system", - "setting_id": "BPLB16_10", + "setting_id": "9vXzlNUSu4TNwDJU", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL X1C.json index e80eb16387..f073c1dab8 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA Youth @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA Youth @BBL X1C", "inherits": "BETA PLA Youth @base", "from": "system", - "setting_id": "BPLB16", + "setting_id": "CjlZ1vLEO5q9poBI", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1.json index 8aab52aaff..9412797e04 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA PLA-CF @BBL A1", "inherits": "BETA PLA-CF @base", "from": "system", - "setting_id": "BPLB17_04", + "setting_id": "BrCWtHyjzY4HmH3d", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1M.json similarity index 95% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1M.json index 4ccfd18683..344eb03185 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA PLA-CF @BBL A1M", "inherits": "BETA PLA-CF @base", "from": "system", - "setting_id": "BPLB17_00", + "setting_id": "IWXiKjynDITAsjK6", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL H2D 0.4 nozzle.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL H2D 0.4 nozzle.json index 320aee32e5..892c56cf9f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL H2D 0.4 nozzle.json @@ -3,7 +3,7 @@ "name": "BETA PLA-CF @BBL H2D 0.4 nozzle", "inherits": "BETA PLA-CF @base", "from": "system", - "setting_id": "BPLB17_08", + "setting_id": "xwMsvH6rRcJMpVlv", "instantiation": "true", "counter_coef_2": [ "0.012" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL P1P.json index 499a024436..d7e1cf9423 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA PLA-CF @BBL P1P", "inherits": "BETA PLA-CF @base", "from": "system", - "setting_id": "BPLB17_10", + "setting_id": "zLVxbFEuXKyzoI7M", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL X1C.json index 0f123a7e5a..ae78bbd234 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA PLA-CF @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA PLA-CF @BBL X1C", "inherits": "BETA PLA-CF @base", "from": "system", - "setting_id": "BPLB17_01", + "setting_id": "OnU9q1dVgATPktPE", "instantiation": "true", "filament_long_retractions_when_cut": [ "1", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1.json index 35e3010043..82b5dcda5e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA TPU 90A @BBL A1", "inherits": "BETA TPU 90A @base", "from": "system", - "setting_id": "BTUB00_04", + "setting_id": "kJCrh3pbuHtgOzPo", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1M.json index e4a5c32532..0ac15e9a90 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA TPU 90A @BBL A1M", "inherits": "BETA TPU 90A @base", "from": "system", - "setting_id": "BTUB00_05", + "setting_id": "r1Upv1GORMLTOi0k", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL H2D.json index d37436075b..8eb8e80392 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA TPU 90A @BBL H2D", "inherits": "BETA TPU 90A @base", "from": "system", - "setting_id": "BTUB00_02", + "setting_id": "lm5PEdmOJODAz6KJ", "instantiation": "true", "additional_cooling_fan_speed": [ "100" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL P1P.json index 2b599ce405..65070fff7b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA TPU 90A @BBL P1P", "inherits": "BETA TPU 90A @base", "from": "system", - "setting_id": "BTUB00_01", + "setting_id": "OourWlFV3alIJBzh", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL X1C.json index 00935d8509..b95218473a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 90A @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 90A @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA TPU 90A @BBL X1C", "inherits": "BETA TPU 90A @base", "from": "system", - "setting_id": "BTUB00_00", + "setting_id": "nLIwjhps5uVtTuo4", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1.json index 7a7432b1c0..716d6a743b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA TPU 95A @BBL A1", "inherits": "BETA TPU 95A @base", "from": "system", - "setting_id": "BTUB02_01", + "setting_id": "OOPUx5d9zREy0XXN", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1M.json index a6d90ba06a..12f9bf0f0b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA TPU 95A @BBL A1M", "inherits": "BETA TPU 95A @base", "from": "system", - "setting_id": "BTUB02_00", + "setting_id": "rNCp3fE6g2C8sd7S", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL H2D.json index dcce8d00cb..62cdeadad1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA TPU 95A @BBL H2D", "inherits": "BETA TPU 95A @base", "from": "system", - "setting_id": "BTUB02_03", + "setting_id": "k6clcTFJXTGVdmZg", "instantiation": "true", "additional_cooling_fan_speed": [ "100" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL P1P.json index a2fb288291..d16b0ae94a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA TPU 95A @BBL P1P", "inherits": "BETA TPU 95A @base", "from": "system", - "setting_id": "BTUB02_10", + "setting_id": "RaXgc8QZiSW0tsnD", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL X1C.json index e96641af54..985aca2147 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 95A @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 95A @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA TPU 95A @BBL X1C", "inherits": "BETA TPU 95A @base", "from": "system", - "setting_id": "BTUB02", + "setting_id": "ngJL0G4zca0UcpwY", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1.json index 2813ecc893..9ff26d32d3 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA TPU 98A @BBL A1", "inherits": "BETA TPU 98A @base", "from": "system", - "setting_id": "BTUB03_01", + "setting_id": "uSuXXdSY9wCappR9", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1M.json index baf4f84328..8506e28d8b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA TPU 98A @BBL A1M", "inherits": "BETA TPU 98A @base", "from": "system", - "setting_id": "BTUB03_00", + "setting_id": "KZXiOO0bAUvrntok", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL H2D.json index bf342fadc9..ab3c0989cb 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA TPU 98A @BBL H2D", "inherits": "BETA TPU 98A @base", "from": "system", - "setting_id": "BTUB03_03", + "setting_id": "p0qjTRymaVctbU11", "instantiation": "true", "additional_cooling_fan_speed": [ "100" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL P1P.json index 419eb5b7c6..7ccae380cd 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA TPU 98A @BBL P1P", "inherits": "BETA TPU 98A @base", "from": "system", - "setting_id": "BTUB03_10", + "setting_id": "dHuSF6XjQORHCc8n", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL X1C.json index 8df9a59fe2..c455de9c8d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU 98A @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU 98A @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA TPU 98A @BBL X1C", "inherits": "BETA TPU 98A @base", "from": "system", - "setting_id": "BTUB03", + "setting_id": "jl1vNhZRhicI78UU", "instantiation": "true", "filament_max_volumetric_speed": [ "3.6", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1.json index 427e618aec..730b3e1419 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1.json @@ -3,7 +3,7 @@ "name": "BETA TPU Matte @BBL A1", "inherits": "BETA TPU Matte @base", "from": "system", - "setting_id": "BTUB01_04", + "setting_id": "lnP769IP2TuLf36V", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1M.json index 0ce2e0f9f3..df0f14e67f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL A1M.json @@ -3,7 +3,7 @@ "name": "BETA TPU Matte @BBL A1M", "inherits": "BETA TPU Matte @base", "from": "system", - "setting_id": "BTUB01_05", + "setting_id": "wjYECCkIeDnUZfqL", "instantiation": "true", "filament_density": [ "1.22" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL H2D.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL H2D.json index 10193d7d5a..a1571446ab 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL H2D.json @@ -3,7 +3,7 @@ "name": "BETA TPU Matte @BBL H2D", "inherits": "BETA TPU Matte @base", "from": "system", - "setting_id": "BTUB01_02", + "setting_id": "PeJPI88l3Ui7jZnj", "instantiation": "true", "additional_cooling_fan_speed": [ "100" diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL P1P.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL P1P.json index c5648fb898..a058c9b86d 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL P1P.json @@ -3,7 +3,7 @@ "name": "BETA TPU Matte @BBL P1P", "inherits": "BETA TPU Matte @base", "from": "system", - "setting_id": "BTUB01_01", + "setting_id": "yyZ2UYGXe34MM1VO", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL X1C.json similarity index 98% rename from resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL X1C.json index 046660b063..af019a9c89 100644 --- a/resources/profiles/BBL/filament/BETA/BETA TPU Matte @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BBL/BETA TPU Matte @BBL X1C.json @@ -3,7 +3,7 @@ "name": "BETA TPU Matte @BBL X1C", "inherits": "BETA TPU Matte @base", "from": "system", - "setting_id": "BTUB01_00", + "setting_id": "LmABGlfUSMLmezJw", "instantiation": "true", "filament_max_volumetric_speed": [ "2.8", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ABS @base.json new file mode 100644 index 0000000000..848f3eacfc --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ABS @base.json @@ -0,0 +1,93 @@ +{ + "type": "filament", + "name": "BETA ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFjUXn67", + "instantiation": "false", + "description": "When printing this filament, there's a risk of warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "filament_cost": [ + "24.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "7.4" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_max_volumetric_speed": [ + "28.6" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "270" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "200" + ], + "filament_dev_ams_drying_time": [ + "12", + "8.0", + "12", + "8.0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_drying_cooling_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_drying_softening_temperature": [ + "80" + ] +} diff --git a/resources/profiles/BBL/filament/BETA/BETA ASA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ASA @base.json similarity index 52% rename from resources/profiles/BBL/filament/BETA/BETA ASA @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ASA @base.json index a525f16bb1..38e260bf89 100644 --- a/resources/profiles/BBL/filament/BETA/BETA ASA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA ASA @base.json @@ -53,5 +53,53 @@ ], "textured_plate_temp_initial_layer": [ "100" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "200" + ], + "filament_dev_ams_drying_time": [ + "12", + "8.0", + "12", + "8.0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "100" + ], + "filament_dev_drying_cooling_temperature": [ + "85" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_drying_softening_temperature": [ + "85" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA HIPS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA HIPS @base.json new file mode 100644 index 0000000000..1a228ea989 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA HIPS @base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "BETA HIPS @base", + "inherits": "fdm_filament_hips", + "from": "system", + "filament_id": "OFlmxlDG", + "instantiation": "false", + "filament_is_support": [ + "1" + ], + "filament_vendor": [ + "BETA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "798" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_drying_cooling_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_drying_softening_temperature": [ + "80" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PAHT-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PAHT-CF @base.json new file mode 100644 index 0000000000..a0df70918d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PAHT-CF @base.json @@ -0,0 +1,102 @@ +{ + "type": "filament", + "name": "BETA PAHT-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OF6qw3Wb", + "instantiation": "false", + "description": "When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials.", + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "94.99" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "BETA" + ], + "full_fan_speed_layer": [ + "2" + ], + "impact_strength_z": [ + "13.3" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "temperature_vitrification": [ + "180" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_drying_softening_temperature": [ + "150" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PEBA 90A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PEBA 90A @base.json new file mode 100644 index 0000000000..62a0db7d3c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PEBA 90A @base.json @@ -0,0 +1,75 @@ +{ + "type": "filament", + "name": "BETA PEBA 90A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFI2MKy7", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "59.99" + ], + "filament_max_volumetric_speed": [ + "2.8" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "87.3" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_layer_time": [ + "14" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG @base.json index 07a25f9233..9acad81c21 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Fluorescence @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Fluorescence @base.json index b79699b9fc..963100be12 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Fluorescence @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Fluorescence @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glitter @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glitter @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glitter @base.json index c6b7b96de5..0137072894 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glitter @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glitter @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glow @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Glow @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glow @base.json index 30c8cc2783..2765d13a52 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Glow @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Glow @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Gradient @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Gradient @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Gradient @base.json index cff77a0d6c..4e30a572bc 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Gradient @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Gradient @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG HF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG HF @base.json similarity index 69% rename from resources/profiles/BBL/filament/BETA/BETA PETG HF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG HF @base.json index b7aa43b6b5..233a35897a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG HF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG HF @base.json @@ -85,5 +85,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Heat Color Change @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Heat Color Change @base.json index 254cf9e4c1..bae2307535 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Heat Color Change @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Heat Color Change @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Marble @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Marble @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Marble @base.json index 335a3f59b2..a8c63f5eec 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Marble @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Marble @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Matte @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Matte @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Matte @base.json index 52a838f323..4b26213bc7 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Matte @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Matte @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Metallic @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG Metallic @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Metallic @base.json index 9c276bcf4d..fad379b99b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Metallic @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Metallic @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Transparent @base.json similarity index 70% rename from resources/profiles/BBL/filament/BETA/BETA PETG Transparent @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Transparent @base.json index 781d69af3a..63278e852e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG Transparent @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG Transparent @base.json @@ -80,5 +80,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG UV Color Change @base.json similarity index 72% rename from resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG UV Color Change @base.json index 42fa3bd62b..524c425437 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG UV Color Change @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG UV Color Change @base.json @@ -92,5 +92,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-CF @base.json similarity index 68% rename from resources/profiles/BBL/filament/BETA/BETA PETG-CF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-CF @base.json index 8e3514f0ad..cde1782bbd 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-CF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-CF @base.json @@ -79,5 +79,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-GF @base.json similarity index 68% rename from resources/profiles/BBL/filament/BETA/BETA PETG-GF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-GF @base.json index d530f7a1d7..39dc650e7a 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PETG-GF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PETG-GF @base.json @@ -79,5 +79,48 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Basic @base.json similarity index 61% rename from resources/profiles/BBL/filament/BETA/BETA PLA Basic @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Basic @base.json index 429ecceda1..58375bd9c2 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Basic @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Basic @base.json @@ -44,5 +44,51 @@ "compatible_printers": [], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Chameleon @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Chameleon @base.json index 5054237514..c26be0fa57 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Chameleon @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Chameleon @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Fluorescence @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Fluorescence @base.json index d9198287aa..0e928aaf25 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Fluorescence @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Fluorescence @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glitter @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glitter @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glitter @base.json index 545a34dd92..4cfe7043d4 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glitter @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glitter @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glow @base.json similarity index 56% rename from resources/profiles/BBL/filament/BETA/BETA PLA Glow @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glow @base.json index 6be0a9da33..4381b12aab 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Glow @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Glow @base.json @@ -28,5 +28,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Gradient @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Gradient @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Gradient @base.json index 9609ff08d3..b5cad1fec6 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Gradient @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Gradient @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Heat Color Change @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Heat Color Change @base.json index 958b999d91..4d60266708 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Heat Color Change @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Heat Color Change @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Speed @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Speed @base.json new file mode 100644 index 0000000000..39ec3bd0d1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Speed @base.json @@ -0,0 +1,69 @@ +{ + "type": "filament", + "name": "BETA PLA High Speed @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OF3PDEw3", + "instantiation": "false", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_vendor": [ + "BETA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Temp @base.json similarity index 62% rename from resources/profiles/BBL/filament/BETA/BETA PLA High Temp @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Temp @base.json index d900b28794..539f71ed33 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA High Temp @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA High Temp @base.json @@ -35,5 +35,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Marble @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Marble @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Marble @base.json index a472446d9a..4c1016d11f 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Marble @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Marble @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Matte @base.json similarity index 58% rename from resources/profiles/BBL/filament/BETA/BETA PLA Matte @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Matte @base.json index 32bd79b43b..74e742ddf9 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Matte @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Matte @base.json @@ -34,5 +34,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metal @base.json similarity index 59% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metal @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metal @base.json index 607e20fa4e..e2c18cb190 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metal @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metal @base.json @@ -26,5 +26,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metallic @base.json similarity index 59% rename from resources/profiles/BBL/filament/BETA/BETA PLA Metallic @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metallic @base.json index c03bc0a8c7..0ca2cdde44 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Metallic @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Metallic @base.json @@ -26,5 +26,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA PRO @base.json similarity index 61% rename from resources/profiles/BBL/filament/BETA/BETA PLA PRO @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA PRO @base.json index 6938382062..af4fc215f1 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA PRO @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA PRO @base.json @@ -44,5 +44,51 @@ "compatible_printers": [], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk @base.json similarity index 63% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk @base.json index a0c61acd51..c343d78794 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk @base.json @@ -41,5 +41,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk+ @base.json similarity index 62% rename from resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk+ @base.json index 0bedc9186a..45485dfd0b 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Silk+ @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Silk+ @base.json @@ -35,5 +35,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Transparent @base.json similarity index 54% rename from resources/profiles/BBL/filament/BETA/BETA PLA Transparent @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Transparent @base.json index be62c10734..12a3538c6e 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Transparent @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Transparent @base.json @@ -22,5 +22,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA UV Color Change @base.json similarity index 57% rename from resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA UV Color Change @base.json index d95a0d8411..dbb8a8d0c4 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA UV Color Change @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA UV Color Change @base.json @@ -28,5 +28,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Wood @base.json similarity index 59% rename from resources/profiles/BBL/filament/BETA/BETA PLA Wood @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Wood @base.json index c5eeae9995..fb2b544375 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Wood @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Wood @base.json @@ -34,5 +34,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Youth @base.json similarity index 58% rename from resources/profiles/BBL/filament/BETA/BETA PLA Youth @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Youth @base.json index 5fa118d566..dbc749d229 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA Youth @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA Youth @base.json @@ -34,5 +34,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA-CF @base.json similarity index 63% rename from resources/profiles/BBL/filament/BETA/BETA PLA-CF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA-CF @base.json index f0f632adfa..08c441b7ac 100644 --- a/resources/profiles/BBL/filament/BETA/BETA PLA-CF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA PLA-CF @base.json @@ -52,5 +52,51 @@ ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 90A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 90A @base.json new file mode 100644 index 0000000000..106ef8b7f6 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 90A @base.json @@ -0,0 +1,75 @@ +{ + "type": "filament", + "name": "BETA TPU 90A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OF6Yn69v", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "59.99" + ], + "filament_max_volumetric_speed": [ + "2.8" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "87.3" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_layer_time": [ + "14" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 95A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 95A @base.json new file mode 100644 index 0000000000..912d748d4c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 95A @base.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "BETA TPU 95A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFK7830e", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 98A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 98A @base.json new file mode 100644 index 0000000000..13192a41f0 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU 98A @base.json @@ -0,0 +1,72 @@ +{ + "type": "filament", + "name": "BETA TPU 98A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OFzaq7Yg", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "41.99" + ], + "filament_density": [ + "1.22" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "88.7" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU Matte @base.json b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU Matte @base.json new file mode 100644 index 0000000000..4b27f0abf7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/BETA/BETA TPU Matte @base.json @@ -0,0 +1,75 @@ +{ + "type": "filament", + "name": "BETA TPU Matte @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "OF4QZANi", + "instantiation": "false", + "description": "This filament is too soft and not compatible with the AMS. Printing it is of many requirements, and to get better printing quality, please refer to this wiki: TPU printing guide.", + "filament_cost": [ + "59.99" + ], + "filament_max_volumetric_speed": [ + "2.8" + ], + "filament_vendor": [ + "BETA" + ], + "impact_strength_z": [ + "87.3" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_layer_time": [ + "14" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1 0.2 nozzle.json similarity index 90% rename from resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1 0.2 nozzle.json index 6622dad899..0ca53101a7 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ABS @BBL X1 0.2 nozzle", "inherits": "COEX ABS @base", "from": "system", - "setting_id": "CXABSB01_02", + "setting_id": "RG1oJ6nUUar2xjeP", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1.json index 7b10388861..441ac96720 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX ABS @BBL X1", "inherits": "COEX ABS @base", "from": "system", - "setting_id": "CXABSB01_03", + "setting_id": "EYfQzF9Xb2lvPs9b", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C 0.2 nozzle.json index 095cdc7364..905c4f009f 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ABS @BBL X1C 0.2 nozzle", "inherits": "COEX ABS @base", "from": "system", - "setting_id": "CXABSB01_04", + "setting_id": "WBC8PkLBCiT1VnCz", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C.json index f3b31bf01a..e5c818ddcd 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX ABS @BBL X1C", "inherits": "COEX ABS @base", "from": "system", - "setting_id": "CXABSB01_01", + "setting_id": "AwuhtCWlU5uzCk7j", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1 0.2 nozzle.json index 148aac0fe0..4c8947bc26 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ABS PRIME @BBL X1 0.2 nozzle", "inherits": "COEX ABS PRIME @base", "from": "system", - "setting_id": "CXABPB09_02", + "setting_id": "nWGYzlOGc2WsoIdU", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1.json index f118e9e390..74f3595357 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX ABS PRIME @BBL X1", "inherits": "COEX ABS PRIME @base", "from": "system", - "setting_id": "CXABPB09_03", + "setting_id": "N5mryBHDklwUbPkx", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C 0.2 nozzle.json index 6bfcf676fb..46363dcc07 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ABS PRIME @BBL X1C 0.2 nozzle", "inherits": "COEX ABS PRIME @base", "from": "system", - "setting_id": "CXABPB09_04", + "setting_id": "xj7D5OzJSN6e8oJW", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C.json index 45144ae3fe..7a18a3c848 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ABS PRIME @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ABS PRIME @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX ABS PRIME @BBL X1C", "inherits": "COEX ABS PRIME @base", "from": "system", - "setting_id": "CXABPB09_01", + "setting_id": "k9NyXpycDZJAnFLF", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1 0.2 nozzle.json index e690412a58..b1e0f04377 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ASA PRIME @BBL X1 0.2 nozzle", "inherits": "COEX ASA PRIME @base", "from": "system", - "setting_id": "CXASAB04_01", + "setting_id": "tuxYV5K2a9arndZ0", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1.json index dcc177b1ed..a8e4357478 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX ASA PRIME @BBL X1", "inherits": "COEX ASA PRIME @base", "from": "system", - "setting_id": "CXASAB04_02", + "setting_id": "o8hJqPQWAuJXxwxd", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C 0.2 nozzle.json index 7067bf1b1e..d084c99750 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX ASA PRIME @BBL X1C 0.2 nozzle", "inherits": "COEX ASA PRIME @base", "from": "system", - "setting_id": "CXASAB04_03", + "setting_id": "tjT134m6lHPjh5YH", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C.json index 224a6279d6..70e90f269d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX ASA PRIME @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX ASA PRIME @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX ASA PRIME @BBL X1C", "inherits": "COEX ASA PRIME @base", "from": "system", - "setting_id": "CXASAB04_04", + "setting_id": "fPFt2sY4junWyKad", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX NYLEX PA6-CF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX PA6-CF @BBL X1C.json similarity index 93% rename from resources/profiles/BBL/filament/COEX/COEX NYLEX PA6-CF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX PA6-CF @BBL X1C.json index d050a1f5a6..f3512373f5 100644 --- a/resources/profiles/BBL/filament/COEX/COEX NYLEX PA6-CF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX PA6-CF @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX NYLEX PA6-CF @BBL X1C", "inherits": "COEX NYLEX PA6-CF @base", "from": "system", - "setting_id": "CXPACB23_01", + "setting_id": "fI5xYLWT4SAU5igp", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1S 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX NYLEX UNFILLED @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX UNFILLED @BBL X1C.json similarity index 95% rename from resources/profiles/BBL/filament/COEX/COEX NYLEX UNFILLED @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX UNFILLED @BBL X1C.json index 082948c7ec..d59aa48ae6 100644 --- a/resources/profiles/BBL/filament/COEX/COEX NYLEX UNFILLED @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX NYLEX UNFILLED @BBL X1C.json @@ -4,7 +4,7 @@ "renamed_from": "COEX NYLEX UNFILLED @BBL X1C", "inherits": "COEX NYLEX UNFILLED @base", "from": "system", - "setting_id": "CXPAUB21_01", + "setting_id": "rN4kjoJDWnro8SAu", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.2 nozzle.json similarity index 89% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.2 nozzle.json index 2800d37b1c..5f4fcb6089 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1 0.2 nozzle", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX09", + "setting_id": "tuTktXuFMxhD5bdZ", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.8 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.8 nozzle.json index 441aa2cd9d..0b9bae9252 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1 0.8 nozzle", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX08", + "setting_id": "egEOiFlnbvmEKvNk", "instantiation": "true", "fan_max_speed": [ "60" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1.json index c681c2e87e..102bcf8b74 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX07", + "setting_id": "IveIh521d1zM1sbg", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json index b7cc4c4aa5..f93c4fbad6 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1M 0.2 nozzle", "inherits": "COEX PCTG PRIME @BBL X1C 0.2 nozzle", "from": "system", - "setting_id": "CXPCTX06", + "setting_id": "xDQWVr6jZyb8JU9q", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json index e84ab8f469..d7860ae235 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1M 0.8 nozzle", "inherits": "COEX PCTG PRIME @BBL X1C 0.8 nozzle", "from": "system", - "setting_id": "CXPCTX05", + "setting_id": "Tf3V4GVy9idlbJWz", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M.json index 34370de8d3..c4f1bd6e88 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL A1M 0.4 nozzle", "inherits": "COEX PCTG PRIME @BBL X1C", "from": "system", - "setting_id": "CXPCTX04", + "setting_id": "6VkUjoEkwOlOuhXW", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json similarity index 93% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json index 55a4c8af53..a754286541 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL X1C 0.2 nozzle", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX03", + "setting_id": "OvCsASrQYGNbptJL", "instantiation": "true", "filament_max_volumetric_speed": [ "6" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json index 90fd488cd8..e861ff5845 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL X1C 0.8 nozzle", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX02", + "setting_id": "m7SNC69mm4Mq16z2", "instantiation": "true", "fan_max_speed": [ "40" diff --git a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C.json similarity index 93% rename from resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C.json index 2a3f276d56..a55e5a7ffd 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PCTG PRIME @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PCTG PRIME @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX PCTG PRIME @BBL X1C", "inherits": "COEX PCTG PRIME @base", "from": "system", - "setting_id": "CXPCTX01", + "setting_id": "MGJHFaQHCW5nyY7g", "instantiation": "true", "filament_max_volumetric_speed": [ "14" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.2 nozzle.json similarity index 89% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.2 nozzle.json index e284f3cb97..756913dc00 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1 0.2 nozzle", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX09", + "setting_id": "eW0lME1PpSiCQ50o", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.8 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.8 nozzle.json index 1053447fff..1022e84e8e 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1 0.8 nozzle", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX08", + "setting_id": "b1N9FDhZ9LDZCXbr", "instantiation": "true", "fan_max_speed": [ "60" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1.json index ded2bf0454..3ff688a34f 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX07", + "setting_id": "QdBlIRA64gjVhmdY", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.2 nozzle.json index c403e2d70e..a3c1395672 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1M 0.2 nozzle", "inherits": "COEX PETG @BBL X1C 0.2 nozzle", "from": "system", - "setting_id": "CXPETX06", + "setting_id": "wzg15HcFnr57D3WG", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.8 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.8 nozzle.json index 300c25172f..adf18f203d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1M 0.8 nozzle", "inherits": "COEX PETG @BBL X1C 0.8 nozzle", "from": "system", - "setting_id": "CXPETX05", + "setting_id": "QybtmiPJpTywWVRY", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M.json index 1b36cc42a3..f1f2305f34 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL A1M 0.4 nozzle", "inherits": "COEX PETG @BBL X1C", "from": "system", - "setting_id": "CXPETX04", + "setting_id": "OVVZwYafB1y5Mo0H", "instantiation": "true", "filament_flow_ratio": [ "0.94" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.2 nozzle.json similarity index 93% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.2 nozzle.json index ad9623ef99..d3a112550f 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL X1C 0.2 nozzle", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX03", + "setting_id": "okr5VvLy0gPTcU2m", "instantiation": "true", "filament_max_volumetric_speed": [ "6" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.8 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.8 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.8 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.8 nozzle.json index ebc5c1f82c..36e1ed91c6 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C 0.8 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C 0.8 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL X1C 0.8 nozzle", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX02", + "setting_id": "scNT4RccECXf88MU", "instantiation": "true", "fan_max_speed": [ "40" diff --git a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C.json similarity index 93% rename from resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C.json index b06f93d281..0163ecd21e 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PETG @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PETG @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX PETG @BBL X1C", "inherits": "COEX PETG @base", "from": "system", - "setting_id": "CXPETX01", + "setting_id": "sDI541ggJ5DoXcdP", "instantiation": "true", "filament_max_volumetric_speed": [ "14" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1 0.2 nozzle.json index 95408fd0bd..7faacef1bf 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL A1 0.2 nozzle", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX09", + "setting_id": "VDPt22q9NQHPLwep", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1.json index 395ea8350b..8a266b1a1f 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL A1", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX08", + "setting_id": "jFDQnqGZVHlRjjlK", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M 0.2 nozzle.json similarity index 87% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M 0.2 nozzle.json index 6fd31fe8e2..755cba92e0 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL A1M 0.2 nozzle", "inherits": "COEX PLA @BBL A1M", "from": "system", - "setting_id": "CXPLAX07", + "setting_id": "dbJukwYNClAE3Y4W", "instantiation": "true", "filament_max_volumetric_speed": [ "6" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M.json index 8853919a29..d888cbb20b 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL A1M", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX06", + "setting_id": "QkZVOGGnNC3U0A7m", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P 0.2 nozzle.json similarity index 87% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P 0.2 nozzle.json index 3b9362f347..5853e66179 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL P1P 0.2 nozzle", "inherits": "COEX PLA @BBL P1P", "from": "system", - "setting_id": "CXPLAX05", + "setting_id": "87nvDFQRevtSiubX", "instantiation": "true", "filament_max_volumetric_speed": [ "6" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P.json index c39c501104..7407f01112 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL P1P", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX04", + "setting_id": "Ja95cvzeSeqSAKsq", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1.json similarity index 88% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1.json index 2590b208c5..ded86a4938 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL X1", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX03", + "setting_id": "5D7sxBEXD7eta7V3", "instantiation": "true", "slow_down_layer_time": [ "10" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C 0.2 nozzle.json similarity index 90% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C 0.2 nozzle.json index eb0684a05d..7b36a15acd 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL X1C 0.2 nozzle", "inherits": "COEX PLA @BBL X1C", "from": "system", - "setting_id": "CXPLAX02", + "setting_id": "BvByjahhcY0Moihz", "instantiation": "true", "filament_max_volumetric_speed": [ "1.6" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C.json index e4fb5fcc4f..c6d08bdf3d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX PLA @BBL X1C", "inherits": "COEX PLA @base", "from": "system", - "setting_id": "CXPLAX01", + "setting_id": "e4zp2O3cFAcbqoFi", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1 0.2 nozzle.json index 6028dcdd90..565f01f48c 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL A1 0.2 nozzle", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX10", + "setting_id": "Vys3UqyWFT69wMH6", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1.json index 8d18bccfd4..5c482f19fb 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL A1", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX09", + "setting_id": "g1yJbSmJv4RDWLUa", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M 0.2 nozzle.json index 940966a5b3..5383c52bf0 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL A1M 0.2 nozzle", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX08", + "setting_id": "5mzTIa5FF81O5BDZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M.json index e80f790fd9..81c5d63c2c 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL A1M", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX07", + "setting_id": "dhsmZHXKzMNn0FtL", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P 0.2 nozzle.json index c027b287cd..87270136c6 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL P1P 0.2 nozzle", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX06", + "setting_id": "z9CUoW9SUMr840v9", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P.json index d0dd387bb1..5efa9671f2 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL P1P", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX05", + "setting_id": "Y0N972snI2iVBaMY", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1 0.2 nozzle.json index 62831e8052..ba76a4fd64 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL X1 0.2 nozzle", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX04", + "setting_id": "msqmewkUzhFUnXCt", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1.json index 028ff4b670..e396cea21e 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL X1", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX03", + "setting_id": "KFI0vPD4fV1IXcM7", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C 0.2 nozzle.json index 7974b443de..5055ec3346 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL X1C 0.2 nozzle", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX02", + "setting_id": "IiYPW1KPNf3ZJJrJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C.json index 331caa6f06..baf0e668ca 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA PRIME @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA PRIME @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX PLA PRIME @BBL X1C", "inherits": "COEX PLA PRIME @base", "from": "system", - "setting_id": "CXPLPX01", + "setting_id": "VOBMEynoZVDn7WPc", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1 0.2 nozzle.json index 21da9b46b6..1f5af9e8e5 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL A1 0.2 nozzle", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX10", + "setting_id": "2UyZUycIPMP0PUup", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1.json index e609d02f66..b762ca9617 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL A1", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX09", + "setting_id": "XxZ5veyuN2CgIJ5x", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M 0.2 nozzle.json index 95f8fb9e59..348d2a305e 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL A1M 0.2 nozzle", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX08", + "setting_id": "6Vc8BkXxDP7T8Coo", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M.json index f2ce3cdce0..8589ba64b2 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL A1M", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX07", + "setting_id": "eu0boRMOVOgQrl3Y", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P 0.2 nozzle.json index 902323e79e..e948f0bb05 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL P1P 0.2 nozzle", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX06", + "setting_id": "OUxQCADBha44cBsA", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P.json index 0d390cb258..99759f5ddd 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL P1P", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX05", + "setting_id": "hk0y7xqoLTA3tNUo", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1 0.2 nozzle.json index a2fd486eca..7f61bf7be2 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL X1 0.2 nozzle", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX04", + "setting_id": "ns9Gncke9yUgUmex", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1.json index 7048da3321..23d856488d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL X1", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX03", + "setting_id": "0QI62GCE2YGCb7rI", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C 0.2 nozzle.json index 43e1c0f75a..1fe80d582d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL X1C 0.2 nozzle", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX02", + "setting_id": "H5u3IWbfcVMSmXoY", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C.json index 581970defd..85cc1e8c76 100644 --- a/resources/profiles/BBL/filament/COEX/COEX PLA+Silk @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX PLA+Silk @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX PLA+Silk @BBL X1C", "inherits": "COEX PLA+Silk @base", "from": "system", - "setting_id": "CXPLSX01", + "setting_id": "8nvO7iSj7Kr21VYS", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1.json index eaa218b86f..57792d2139 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 30D @BBL A1", "inherits": "COEX TPE 30D @base", "from": "system", - "setting_id": "CX30DX09", + "setting_id": "oSB30vX697zFBQus", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1M.json index cebfe28dea..d00a90d06a 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX TPE 30D @BBL A1M", "inherits": "COEX TPE 30D @base", "from": "system", - "setting_id": "CX30DX07", + "setting_id": "DAkMitwruFDPSbRg", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL P1P.json index 321ff2b715..f7ee71643f 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX TPE 30D @BBL P1P", "inherits": "COEX TPE 30D @base", "from": "system", - "setting_id": "CX30DX05", + "setting_id": "fM4NLTU5iPByCRuc", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1.json index f9a4e3efb8..75db97ea70 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 30D @BBL X1", "inherits": "COEX TPE 30D @base", "from": "system", - "setting_id": "CX30DX03", + "setting_id": "sAU5cu8EPBihEP3m", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1C.json index 562df95753..d2dc636f7d 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 30D @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 30D @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX TPE 30D @BBL X1C", "inherits": "COEX TPE 30D @base", "from": "system", - "setting_id": "CX30DX01", + "setting_id": "YD3gdeJlVLobA19c", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1 0.2 nozzle.json index c2a4b814df..17f180ac4c 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL A1 0.2 nozzle", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX10", + "setting_id": "5kmtoD76pdg0QjC6", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1.json index 63bb69cfe1..63351b26f1 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL A1", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX09", + "setting_id": "vIBFZpAkGHevYJ4e", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M 0.2 nozzle.json index 5a822a1dba..36224d8ed4 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL A1M 0.2 nozzle", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX08", + "setting_id": "kcfjEjxaRqsxGAQW", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M.json index 1948af44c4..cadb053df3 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL A1M", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX07", + "setting_id": "IzNE1SAjAwkoqxIE", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P 0.2 nozzle.json index 9d67b69e19..36defa8e23 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL P1P 0.2 nozzle", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX06", + "setting_id": "oOlkk48h49OuvTZn", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P.json index 81a519bfc8..31a5a2fe95 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL P1P", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX05", + "setting_id": "218zr889pSXjWLAP", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1 0.2 nozzle.json index 6bcf9675e6..c9ee50ed81 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL X1 0.2 nozzle", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX04", + "setting_id": "jbVhungUNiUfz8XR", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1.json index 158229e332..4b78b22348 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL X1", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX03", + "setting_id": "iivGVcN67LySNauF", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C 0.2 nozzle.json index 4e1d4b8264..2ba81969e2 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL X1C 0.2 nozzle", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX02", + "setting_id": "khZfUC4r9MBSv1DR", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C.json index 5ab4e9ea18..e24c6481b1 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 40D @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 40D @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX TPE 40D @BBL X1C", "inherits": "COEX TPE 40D @base", "from": "system", - "setting_id": "CX40DX01", + "setting_id": "L9Dosu0C19pn86o4", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1 0.2 nozzle.json index 8812114a16..65ae57aefc 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL A1 0.2 nozzle", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX10", + "setting_id": "fZGjPDEF9pAAPT3b", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1.json index e3653c8a13..9d94bd2a90 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL A1", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX09", + "setting_id": "HQvwpstkDqMUiUv4", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M 0.2 nozzle.json index 90c1fec615..bd27b9eb5e 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL A1M 0.2 nozzle", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX08", + "setting_id": "PXeGlTps8xPbMGyl", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M.json index ca90c77cad..9b63d7fcaa 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL A1M.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL A1M", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX07", + "setting_id": "YjSBLf6gS4qED472", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P 0.2 nozzle.json index 8f6c0a8d69..35540825cf 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL P1P 0.2 nozzle", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX06", + "setting_id": "KCOov85CN9IGBY9i", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P.json index 745f10e97a..e89acac314 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL P1P.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL P1P", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX05", + "setting_id": "Sy5TZ37aHkRJLp0Q", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1 0.2 nozzle.json index 94f9002881..6d1f6a5ea6 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL X1 0.2 nozzle", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX04", + "setting_id": "YoM9DLlAdYgEk4PZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1.json index eb7afe6bfa..f39c9d3de4 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL X1", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX03", + "setting_id": "9eXbTxjk34q8jj3y", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C 0.2 nozzle.json index 604792b29c..1882d80114 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL X1C 0.2 nozzle", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX02", + "setting_id": "WUhtYzsVYMxdcNIO", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C.json index 99b2b9a765..6589562d7a 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPE 60D @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPE 60D @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX TPE 60D @BBL X1C", "inherits": "COEX TPE 60D @base", "from": "system", - "setting_id": "CX60DX01", + "setting_id": "YjRgNYgjXV16sqZC", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/COEX/COEX TPU 60A @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPU 60A @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/COEX/COEX TPU 60A @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPU 60A @BBL X1C.json index 19fa44de17..d5d63ffbcf 100644 --- a/resources/profiles/BBL/filament/COEX/COEX TPU 60A @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/BBL/COEX TPU 60A @BBL X1C.json @@ -3,7 +3,7 @@ "name": "COEX TPU 60A @BBL X1C", "inherits": "COEX TPU 60A @base", "from": "system", - "setting_id": "CX60AX01", + "setting_id": "Kgwghfh0bJD5r1cK", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS @base.json index c234e34567..36849ed63d 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS @base.json @@ -23,12 +23,6 @@ "nozzle_temperature_initial_layer": [ "255" ], - "bed_temperature": [ - "100" - ], - "bed_temperature_initial_layer": [ - "100" - ], "temperature_vitrification": [ "100" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS PRIME @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS PRIME @base.json index 7e965bc256..833356e37a 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS PRIME @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ABS PRIME @base.json @@ -23,12 +23,6 @@ "nozzle_temperature_initial_layer": [ "255" ], - "bed_temperature": [ - "100" - ], - "bed_temperature_initial_layer": [ - "100" - ], "temperature_vitrification": [ "100" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ASA PRIME @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ASA PRIME @base.json index 1bc1230eae..207c17790d 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ASA PRIME @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX ASA PRIME @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "265" ], - "bed_temperature": [ - "100" - ], - "bed_temperature_initial_layer": [ - "100" - ], "temperature_vitrification": [ "95" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX PA6-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX PA6-CF @base.json index c023668f4a..cc924787f8 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX PA6-CF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX PA6-CF @base.json @@ -23,12 +23,6 @@ "nozzle_temperature_initial_layer": [ "285" ], - "bed_temperature": [ - "100" - ], - "bed_temperature_initial_layer": [ - "100" - ], "temperature_vitrification": [ "170" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX UNFILLED @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX UNFILLED @base.json index 15de223500..504c6dde2b 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX UNFILLED @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX NYLEX UNFILLED @base.json @@ -23,12 +23,6 @@ "nozzle_temperature_initial_layer": [ "260" ], - "bed_temperature": [ - "100" - ], - "bed_temperature_initial_layer": [ - "100" - ], "temperature_vitrification": [ "100" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PCTG PRIME @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PCTG PRIME @base.json index 9fce322405..f15437f295 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PCTG PRIME @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PCTG PRIME @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "275" ], - "bed_temperature": [ - "80" - ], - "bed_temperature_initial_layer": [ - "85" - ], "temperature_vitrification": [ "80" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PETG @base.json index 9f22293450..39afcd6759 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PETG @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PETG @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "250" ], - "bed_temperature": [ - "80" - ], - "bed_temperature_initial_layer": [ - "85" - ], "temperature_vitrification": [ "70" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA @base.json index a0b2f76888..cc9b7f8e54 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA @base.json @@ -23,12 +23,6 @@ "nozzle_temperature_initial_layer": [ "235" ], - "bed_temperature": [ - "60" - ], - "bed_temperature_initial_layer": [ - "60" - ], "temperature_vitrification": [ "55" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA PRIME @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA PRIME @base.json index a9a5e83c0b..b2cc99d390 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA PRIME @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA PRIME @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "240" ], - "bed_temperature": [ - "60" - ], - "bed_temperature_initial_layer": [ - "60" - ], "temperature_vitrification": [ "60" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA+Silk @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA+Silk @base.json index f06642c432..d5c9a7a87d 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA+Silk @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX PLA+Silk @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "245" ], - "bed_temperature": [ - "60" - ], - "bed_temperature_initial_layer": [ - "60" - ], "temperature_vitrification": [ "55" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 30D @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 30D @base.json index 5c715dea33..35e3c75bc3 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 30D @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 30D @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "240" ], - "bed_temperature": [ - "30" - ], - "bed_temperature_initial_layer": [ - "35" - ], "temperature_vitrification": [ "60" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 40D @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 40D @base.json index 81d5d81f1c..b6f622635f 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 40D @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 40D @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "240" ], - "bed_temperature": [ - "30" - ], - "bed_temperature_initial_layer": [ - "35" - ], "temperature_vitrification": [ "60" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 60D @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 60D @base.json index b2e0aab688..d1c1d2963f 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 60D @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPE 60D @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "240" ], - "bed_temperature": [ - "30" - ], - "bed_temperature_initial_layer": [ - "35" - ], "temperature_vitrification": [ "60" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPU 60A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPU 60A @base.json index 027ff45226..0338bb2929 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPU 60A @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/COEX/COEX TPU 60A @base.json @@ -24,12 +24,6 @@ "nozzle_temperature_initial_layer": [ "225" ], - "bed_temperature": [ - "0" - ], - "bed_temperature_initial_layer": [ - "0" - ], "temperature_vitrification": [ "60" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json index 6f46fb74dd..5fac752fcf 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json @@ -3,6 +3,7 @@ "name": "DREMC ABS @System", "inherits": "DREMC ABS @base", "from": "system", - "instantiation": "false", + "setting_id": "gNjISMxTLwQzDrV9", + "instantiation": "true", "compatible_printers": [] } \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json index e9279cc5ba..0d0345828e 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json @@ -3,6 +3,7 @@ "name": "DREMC ABS+ @System", "inherits": "DREMC ABS+ @base", "from": "system", - "instantiation": "false", + "setting_id": "M73sIwcpWv6zpFrb", + "instantiation": "true", "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json index 6a11bbe8ce..10d6626540 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json @@ -3,6 +3,7 @@ "name": "DREMC ASA @System", "inherits": "DREMC ASA @base", "from": "system", - "instantiation": "false", + "setting_id": "PMulSQ0tYbNyvOYw", + "instantiation": "true", "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json index 6814312593..0e10750d78 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json @@ -3,6 +3,7 @@ "name": "DREMC ASA CF @System", "inherits": "DREMC ASA CF @base", "from": "system", - "instantiation": "false", + "setting_id": "ZcipEKAqtBcAm6vR", + "instantiation": "true", "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json index e40cd71479..2d0f99fa1e 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json @@ -3,6 +3,7 @@ "name": "DREMC ASA GF @System", "inherits": "DREMC ASA GF @base", "from": "system", - "instantiation": "false", + "setting_id": "8J3lt7KlQWcx0VUS", + "instantiation": "true", "compatible_printers": [] } \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json index 0cecab4c3c..b126651441 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json @@ -3,6 +3,7 @@ "name": "DREMC PA12-CF @System", "inherits": "DREMC PA12-CF @base", "from": "system", - "instantiation": "false", + "setting_id": "jVlZ1KPsA5i8RIED", + "instantiation": "true", "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json index 80100b072f..85efd31920 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json @@ -3,6 +3,7 @@ "name": "DREMC PET-CF @System", "inherits": "DREMC PET-CF @base", "from": "system", - "instantiation": "false", + "setting_id": "hal1nPyBF13UL9qB", + "instantiation": "true", "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json index 04cfb22339..46f2cb9b20 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json @@ -3,7 +3,8 @@ "name": "DREMC PETG @System", "inherits": "DREMC PETG @base", "from": "system", - "instantiation": "false", + "setting_id": "gTGiaBYfymmtlyfG", + "instantiation": "true", "filament_max_volumetric_speed": [ "20" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json index a2b96c1862..8e98be30b8 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json @@ -1,9 +1,10 @@ { "type": "filament", "name": "DREMC PLA+ HS @System", - "inherits": "DREMC PLA+ @base", + "inherits": "DREMC PLA+ HS @base", "from": "system", - "instantiation": "false", + "setting_id": "I0HWhYAZ3ppq91Gx", + "instantiation": "true", "filament_max_volumetric_speed": [ "22" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json index 71ff24bb1b..869633969a 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json @@ -3,7 +3,8 @@ "name": "DREMC PLA+ @System", "inherits": "DREMC PLA+ @base", "from": "system", - "instantiation": "false", + "setting_id": "fIjHIsFmdDWIM1bf", + "instantiation": "true", "filament_max_volumetric_speed": [ "18" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json index 3b58f57d25..86d5d02151 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json @@ -3,7 +3,8 @@ "name": "DREMC TPU 95A @System", "inherits": "DREMC TPU 95A @base", "from": "system", - "instantiation": "false", + "setting_id": "AfnFh14wKZsNEaZ1", + "instantiation": "true", "filament_max_volumetric_speed": [ "6" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json index 45456ab6d8..3ba4c8c14f 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json @@ -39,7 +39,7 @@ "60" ], "filament_start_gcode": [ - "; filament start gcode\n" + "; Elegoo PLA filament start gcode\n" ], "filament_end_gcode": [ "; filament end gcode \n" diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json index 729e9d7b9c..972f5a4220 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json @@ -33,15 +33,15 @@ "210" ], "hot_plate_temp": [ - "60" + "50" ], "hot_plate_temp_initial_layer": [ - "60" + "50" ], "textured_plate_temp": [ - "60" + "50" ], "textured_plate_temp_initial_layer": [ - "60" + "50" ] } \ No newline at end of file diff --git a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL A1.json similarity index 93% rename from resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL A1.json index 2fac503182..c283b9aafb 100644 --- a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "FusRock ABS-GF @BBL A1", - "inherits": "FusRock ABS-GF @base", + "inherits": "FusRock ABS-GF @BBL base", "from": "system", - "setting_id": "GFSR00_01", + "setting_id": "AWilJGD4uphvinK0", "instantiation": "true", "filament_notes": "//EN\n1.Be sure to read it carefully before using (https://wiki.fusrock.com).\n2.When printing this filament, there's a risk of nozzle clogging, oozing, warping and low layer adhesion strength. To get better results, please refer to this wiki: Printing Tips for High Temp / Engineering materials(https://wiki.fusrock.com).\\n3.Thank you for choosing FusRock. \n//CN\n1.使用前请务必仔细阅读(https://wiki.fusrock.com)。\n2.打印该耗材时,可能会出现喷嘴堵塞、拉丝、翘边以及层间附着力不足等问题。为了获得更好的打印效果,请参考此维基页面:高温 / 工程材料打印技巧(https://wiki.fusrock.com)。\n3.感谢您选择FusRock。", "filament_long_retractions_when_cut": [ diff --git a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL H2D.json b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL H2D.json similarity index 95% rename from resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL H2D.json rename to resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL H2D.json index be3bdb2c40..e3bf5dfd28 100644 --- a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL H2D.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL H2D.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "FusRock ABS-GF @BBL H2D", - "inherits": "FusRock ABS-GF @base", + "inherits": "FusRock ABS-GF @BBL base", "from": "system", - "setting_id": "GFSR00_03", + "setting_id": "N3PSDaJIkJdhGssG", "instantiation": "true", "chamber_temperatures": [ "60" diff --git a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL P1P.json similarity index 81% rename from resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL P1P.json index a15ebcb69c..2480c3c7be 100644 --- a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "FusRock ABS-GF @BBL P1P", - "inherits": "FusRock ABS-GF @base", + "inherits": "FusRock ABS-GF @BBL base", "from": "system", - "setting_id": "GFSR00_04", + "setting_id": "mhwJGDVOG3AYawSy", "instantiation": "true", "filament_long_retractions_when_cut": [ "1" diff --git a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL X1C.json similarity index 89% rename from resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL X1C.json index 40d26ba410..0dc4a90e65 100644 --- a/resources/profiles/BBL/filament/FusRock/FusRock ABS-GF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "FusRock ABS-GF @BBL X1C", - "inherits": "FusRock ABS-GF @base", + "inherits": "FusRock ABS-GF @BBL base", "from": "system", - "setting_id": "GFSR00_05", + "setting_id": "Gb22zRgoijThX2e8", "instantiation": "true", "filament_long_retractions_when_cut": [ "1" diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL base.json new file mode 100644 index 0000000000..fda844dce3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FusRock/BBL/FusRock ABS-GF @BBL base.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "FusRock ABS-GF @BBL base", + "inherits": "FusRock ABS-GF @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @BBL P2S.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @BBL P2S.json new file mode 100644 index 0000000000..b183295021 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @BBL P2S.json @@ -0,0 +1,275 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-66 @BBL P2S", + "inherits": "INSLOGIC PA6-66 @base", + "from": "system", + "setting_id": "UHHdgZgE7e8KR2GV", + "instantiation": "true", + "activate_air_filtration": [ + "1" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "filament_extruder_compatibility": [ + "0" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_preheat_temperature_delta": [ + "0" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_density": [ + "1.10" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "90.0" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_drying_cooling_temperature": [ + "65" + ], + "filament_dev_drying_softening_temperature": [ + "85" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_pre_cooling_temperature": [ + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0" + ], + "filament_prime_volume": [ + "45" + ], + "filament_prime_volume_nc": [ + "60" + ], + "filament_printable": [ + "3" + ], + "filament_ramming_travel_time_nc": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "full_fan_speed_layer": [ + "0" + ], + "additional_fan_full_speed_layer": [ + "0" + ], + "filament_scarf_height": [ + "10%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_length_nc": [ + "14" + ], + "filament_change_length": [ + "10" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "74.2" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_start_gcode": [ + "; Filament gcode\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_adhesiveness_category": [ + "400" + ], + "idle_temperature": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @P1-X1.json new file mode 100644 index 0000000000..fa71bcc4b7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-66 @P1-X1.json @@ -0,0 +1,210 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-66 @P1-X1", + "inherits": "INSLOGIC PA6-66 @base", + "from": "system", + "setting_id": "X6EcSgHdfuxoY1lL", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "hot_plate_temp": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "15" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "nozzle_temperature_initial_layer": [ + "255", + "255" + ], + "full_fan_speed_layer": [ + "2" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "255", + "255" + ], + "temperature_vitrification": [ + "70.4" + ], + "nozzle_temperature_range_low": [ + "250", + "250" + ], + "nozzle_temperature_range_high": [ + "280", + "280" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "idle_temperature": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @BBL P2S.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @BBL P2S.json new file mode 100644 index 0000000000..91c7c2bdbd --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @BBL P2S.json @@ -0,0 +1,275 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-CF @BBL P2S", + "inherits": "INSLOGIC PA6-CF @base", + "from": "system", + "setting_id": "Km9iCy4A8kukE0AA", + "instantiation": "true", + "activate_air_filtration": [ + "1" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "filament_extruder_compatibility": [ + "0" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_preheat_temperature_delta": [ + "0" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_density": [ + "1.12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "90.0" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_drying_cooling_temperature": [ + "65" + ], + "filament_dev_drying_softening_temperature": [ + "85" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_temp_fast": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_is_support": [ + "0" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_pre_cooling_temperature": [ + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0" + ], + "filament_prime_volume": [ + "45" + ], + "filament_prime_volume_nc": [ + "60" + ], + "filament_printable": [ + "3" + ], + "filament_ramming_travel_time_nc": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "full_fan_speed_layer": [ + "0" + ], + "additional_fan_full_speed_layer": [ + "0" + ], + "filament_scarf_height": [ + "10%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_retract_length_nc": [ + "14" + ], + "filament_change_length": [ + "10" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "10%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "3" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "supertack_plate_temp": [ + "0" + ], + "supertack_plate_temp_initial_layer": [ + "0" + ], + "temperature_vitrification": [ + "74.2" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_start_gcode": [ + "; Filament gcode\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_adhesiveness_category": [ + "400" + ], + "idle_temperature": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @P1-X1.json new file mode 100644 index 0000000000..c95e5d3f97 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PA6-CF @P1-X1.json @@ -0,0 +1,210 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-CF @P1-X1", + "inherits": "INSLOGIC PA6-CF @base", + "from": "system", + "setting_id": "ky3k6Q9Fyi3QwCHL", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "hot_plate_temp": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "15" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "nozzle_temperature_initial_layer": [ + "280", + "280" + ], + "full_fan_speed_layer": [ + "2" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "275", + "275" + ], + "temperature_vitrification": [ + "70.4" + ], + "nozzle_temperature_range_low": [ + "270", + "270" + ], + "nozzle_temperature_range_high": [ + "290", + "290" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "idle_temperature": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @BBL P2S.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @BBL P2S.json new file mode 100644 index 0000000000..f654aa67f8 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @BBL P2S.json @@ -0,0 +1,328 @@ +{ + "type": "filament", + "name": "INSLOGIC PETG Pro @BBL P2S", + "inherits": "INSLOGIC PETG Pro @base", + "from": "system", + "setting_id": "6iAMtvQjja2ZKenA", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "25" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "nil", + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "first_x_layer_fan_speed": [ + "0" + ], + "filament_pre_cooling_temperature": [ + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "activate_air_filtration": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "filament_extruder_compatibility": [ + "0" + ], + "filament_cooling_before_tower": [ + "10", + "10" + ], + "filament_preheat_temperature_delta": [ + "0" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_density": [ + "1.28" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_chamber_drying_time": [ + "12.0" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ], + "filament_is_support": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_prime_volume": [ + "45" + ], + "filament_prime_volume_nc": [ + "60" + ], + "filament_printable": [ + "3" + ], + "filament_scarf_seam_type": [ + "none" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "full_fan_speed_layer": [ + "0" + ], + "additional_fan_full_speed_layer": [ + "0" + ], + "filament_scarf_height": [ + "10%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "filament_retract_length_nc": [ + "14" + ], + "filament_change_length": [ + "10" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "temperature_vitrification": [ + "81" + ], + "filament_start_gcode": [ + "; Filament gcode\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_adhesiveness_category": [ + "300" + ], + "idle_temperature": [ + "0" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @P1-X1.json new file mode 100644 index 0000000000..01411d237f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PETG Pro @P1-X1.json @@ -0,0 +1,210 @@ +{ + "type": "filament", + "name": "INSLOGIC PETG Pro @P1-X1", + "inherits": "INSLOGIC PETG Pro @base", + "from": "system", + "setting_id": "miOBX0bGzziXI6SE", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "hot_plate_temp": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "15" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "full_fan_speed_layer": [ + "2" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "temperature_vitrification": [ + "70.4" + ], + "nozzle_temperature_range_low": [ + "240", + "240" + ], + "nozzle_temperature_range_high": [ + "260", + "260" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "idle_temperature": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @BBL P2S.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @BBL P2S.json new file mode 100644 index 0000000000..88c69393b9 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @BBL P2S.json @@ -0,0 +1,190 @@ +{ + "type": "filament", + "name": "INSLOGIC PLA Pro @BBL P2S", + "inherits": "INSLOGIC PLA Pro @base", + "from": "system", + "setting_id": "UAd1QXW7vm9gwoEc", + "instantiation": "true", + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_scarf_seam_type": [ + "all" + ], + "filament_scarf_height": [ + "10%" + ], + "filament_scarf_gap": [ + "0%" + ], + "filament_scarf_length": [ + "10" + ], + "filament_change_length": [ + "5" + ], + "filament_prime_volume": [ + "30" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "nil", + "nil" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_ramming_volumetric_speed_nc": [ + "-1", + "-1" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_distances_when_cut": [ + "10", + "10" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "first_x_layer_fan_speed": [ + "40" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_pre_cooling_temperature_nc": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_ramming_travel_time_nc": [ + "0", + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "nozzle_temperature": [ + "215", + "215" + ], + "nozzle_temperature_initial_layer": [ + "215", + "215" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "nozzle_temperature_range_low": [ + "205", + "205" + ], + "nozzle_temperature_range_high": [ + "245", + "245" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "fan_min_speed": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @P1-X1.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @P1-X1.json new file mode 100644 index 0000000000..db92a68125 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/BBL/INSLOGIC PLA Pro @P1-X1.json @@ -0,0 +1,210 @@ +{ + "type": "filament", + "name": "INSLOGIC PLA Pro @P1-X1", + "inherits": "INSLOGIC PLA Pro @base", + "from": "system", + "setting_id": "InmXr3LoNKKDfnQu", + "instantiation": "true", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "40" + ], + "hot_plate_temp": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "15" + ], + "filament_density": [ + "1.2" + ], + "filament_deretraction_speed": [ + "nil", + "nil" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil", + "nil" + ], + "filament_retract_before_wipe": [ + "nil", + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil", + "nil" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "filament_z_hop": [ + "nil", + "nil" + ], + "filament_z_hop_types": [ + "nil", + "nil" + ], + "filament_retract_restart_extra": [ + "nil", + "nil" + ], + "filament_retraction_speed": [ + "nil", + "nil" + ], + "filament_soluble": [ + "0" + ], + "filament_wipe": [ + "nil", + "nil" + ], + "filament_wipe_distance": [ + "nil", + "nil" + ], + "nozzle_temperature_initial_layer": [ + "215", + "215" + ], + "full_fan_speed_layer": [ + "2" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "2" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "215", + "215" + ], + "temperature_vitrification": [ + "70.4" + ], + "nozzle_temperature_range_low": [ + "205", + "205" + ], + "nozzle_temperature_range_high": [ + "245", + "245" + ], + "filament_flush_temp": [ + "0", + "0" + ], + "filament_flush_volumetric_speed": [ + "0", + "0" + ], + "filament_long_retractions_when_cut": [ + "0" + ], + "filament_ramming_volumetric_speed": [ + "-1", + "-1" + ], + "filament_retraction_distances_when_cut": [ + "nil", + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_pre_cooling_temperature": [ + "0", + "0" + ], + "filament_ramming_travel_time": [ + "0", + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0", + "0" + ], + "long_retractions_when_ec": [ + "0", + "0" + ], + "retraction_distances_when_ec": [ + "0", + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0", + "0 0 0 0 0 0" + ], + "idle_temperature": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-66 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-66 @base.json new file mode 100644 index 0000000000..952f927479 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-66 @base.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-66 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OF02mnRc", + "instantiation": "false", + "filament_vendor": [ + "INSLOGIC" + ], + "filament_type": [ + "PA" + ], + "filament_density": [ + "1.08" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_soluble": [ + "0" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "filament_notes": [ + "Inslogic Nylon PA6/66 TDS (20.01.2025). Nozzle sizes 0.2/0.4/0.6mm. Nozzle 250-280C. Bed 30-50C. Printing speed 50-150mm/s. Cooling fan 100%. Textured PEI Sheet. Drying 80C for 48h or 110C for 3h. TDS linear speed is not converted to filament_max_volumetric_speed." + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-CF @base.json new file mode 100644 index 0000000000..cf73d10c59 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PA6-CF @base.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFDkHRsW", + "instantiation": "false", + "filament_vendor": [ + "INSLOGIC" + ], + "filament_type": [ + "PA-CF" + ], + "filament_density": [ + "1.20" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_soluble": [ + "0" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "filament_notes": [ + "Inslogic PA6-CF TDS (20.01.2025). Nozzle sizes 0.4/0.6mm. Nozzle 270-290C at 50-100mm/s. Bed 50-70C. Cooling fan 30%. Textured PEI Sheet. Drying 90C for 12h or 110C for 4h. Carbon-fiber reinforced; abrasive filament. TDS linear speed is not converted to filament_max_volumetric_speed." + ], + "compatible_printers": [], + "required_nozzle_HRC": [ + "3" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PETG Pro @base.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PETG Pro @base.json new file mode 100644 index 0000000000..ef0e797c2a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PETG Pro @base.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "INSLOGIC PETG Pro @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFBdBfg1", + "instantiation": "false", + "filament_vendor": [ + "INSLOGIC" + ], + "filament_type": [ + "PETG" + ], + "filament_density": [ + "1.26" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_soluble": [ + "0" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "filament_notes": [ + "Inslogic PETG Pro TDS (12.02.2024). Nozzle sizes 0.2/0.4/0.6mm. 230-240C at 50-100mm/s; 240-255C at 100-300mm/s; 255-270C at 300-600mm/s. Bed 60-70C. Cooling fan 100%. Bed: Smooth PEI Sheet / High Temperature Plate. Drying 50C for 4h. TDS linear speed is not converted to filament_max_volumetric_speed." + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PLA Pro @base.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PLA Pro @base.json new file mode 100644 index 0000000000..b33a37c62c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/INSLOGIC PLA Pro @base.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "INSLOGIC PLA Pro @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFvPeNbA", + "instantiation": "false", + "filament_vendor": [ + "INSLOGIC" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.20" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_soluble": [ + "0" + ], + "nozzle_temperature_range_low": [ + "195" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "filament_notes": [ + "Inslogic PLA Pro TDS (12.02.2024). Nozzle sizes 0.2/0.4/0.6mm. 195-205C at 50-100mm/s; 205-220C at 100-300mm/s. Bed 50-60C. Cooling fan 100%. Bed: Textured PEI Sheet / Cool Plate. Drying 50C for 4h. TDS linear speed is not converted to filament_max_volumetric_speed." + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-66 @Prusa CORE One.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-66 @Prusa CORE One.json new file mode 100644 index 0000000000..040e1f0ff0 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-66 @Prusa CORE One.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-66 @Prusa CORE One", + "inherits": "INSLOGIC PA6-66 @base", + "from": "system", + "setting_id": "Kuv4zCw8jhxYOzhB", + "instantiation": "true", + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_speed": [ + "100" + ], + "chamber_minimal_temperature": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "0" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retract_length_toolchange": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_restart_extra_toolchange": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "100" + ], + "filament_unloading_speed_start": [ + "100" + ], + "filament_wipe": [ + "nil" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "full_fan_speed_layer": [ + "0" + ], + "idle_temperature": [ + "170" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "" + ], + "nozzle_temperature": [ + "265" + ], + "compatible_printers": [ + "Prusa CORE One 0.4 nozzle", + "Prusa CORE One L 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-CF @Prusa CORE One.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-CF @Prusa CORE One.json new file mode 100644 index 0000000000..790650ee23 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PA6-CF @Prusa CORE One.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "INSLOGIC PA6-CF @Prusa CORE One", + "inherits": "INSLOGIC PA6-CF @base", + "from": "system", + "setting_id": "ZCYSMR6VCj0IrYAF", + "instantiation": "true", + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_speed": [ + "30" + ], + "chamber_minimal_temperature": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "0" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retract_length_toolchange": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_restart_extra_toolchange": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "100" + ], + "filament_unloading_speed_start": [ + "100" + ], + "filament_wipe": [ + "nil" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "full_fan_speed_layer": [ + "0" + ], + "idle_temperature": [ + "170" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "" + ], + "nozzle_temperature": [ + "280" + ], + "compatible_printers": [ + "Prusa CORE One 0.4 nozzle", + "Prusa CORE One L 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PETG Pro @Prusa CORE One.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PETG Pro @Prusa CORE One.json new file mode 100644 index 0000000000..6eb05df53d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PETG Pro @Prusa CORE One.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "INSLOGIC PETG Pro @Prusa CORE One", + "inherits": "INSLOGIC PETG Pro @base", + "from": "system", + "setting_id": "yHUGQJhN0HUa7A5V", + "instantiation": "true", + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_speed": [ + "100" + ], + "chamber_minimal_temperature": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "0" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retract_length_toolchange": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_restart_extra_toolchange": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "100" + ], + "filament_unloading_speed_start": [ + "100" + ], + "filament_wipe": [ + "nil" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "full_fan_speed_layer": [ + "0" + ], + "idle_temperature": [ + "170" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "" + ], + "nozzle_temperature": [ + "250" + ], + "compatible_printers": [ + "Prusa CORE One 0.4 nozzle", + "Prusa CORE One L 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PLA Pro @Prusa CORE One.json b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PLA Pro @Prusa CORE One.json new file mode 100644 index 0000000000..f670bd71b0 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/INSLOGIC/Prusa/INSLOGIC PLA Pro @Prusa CORE One.json @@ -0,0 +1,165 @@ +{ + "type": "filament", + "name": "INSLOGIC PLA Pro @Prusa CORE One", + "inherits": "INSLOGIC PLA Pro @base", + "from": "system", + "setting_id": "Qkscha5uuuFXbvbB", + "instantiation": "true", + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_speed": [ + "100" + ], + "chamber_minimal_temperature": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "0" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retract_length_toolchange": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_restart_extra_toolchange": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unloading_speed": [ + "100" + ], + "filament_unloading_speed_start": [ + "100" + ], + "filament_wipe": [ + "nil" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "full_fan_speed_layer": [ + "0" + ], + "idle_temperature": [ + "170" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "" + ], + "nozzle_temperature": [ + "210" + ], + "compatible_printers": [ + "Prusa CORE One 0.4 nozzle", + "Prusa CORE One L 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL A1 0.4 nozzle.json new file mode 100644 index 0000000000..ef377a0d6f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL A1 0.4 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "JAYO PETG @BBL A1 0.4 nozzle", + "inherits": "JAYO PETG @base", + "from": "system", + "setting_id": "9m8nar2jAEnOTwhU", + "instantiation": "true", + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "24" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_retraction_length": [ + "1" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL P2S 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL P2S 0.4 nozzle.json new file mode 100644 index 0000000000..fc70479c7b --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PETG @BBL P2S 0.4 nozzle.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "JAYO PETG @BBL P2S 0.4 nozzle", + "inherits": "JAYO PETG @base", + "from": "system", + "setting_id": "KZg12UDorfV5jmJI", + "instantiation": "true", + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "nozzle_temperature": [ + "245", + "245" + ], + "nozzle_temperature_initial_layer": [ + "245", + "245" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "fan_cooling_layer_time": [ + "25" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "slow_down_layer_time": [ + "8" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL A1 0.4 nozzle.json new file mode 100644 index 0000000000..861bb28955 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL A1 0.4 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "JAYO PLA @BBL A1 0.4 nozzle", + "inherits": "JAYO PLA @base", + "from": "system", + "setting_id": "6VnENC38MC1HwyQA", + "instantiation": "true", + "nozzle_temperature_range_low": [ + "190" + ], + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL P2S 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL P2S 0.4 nozzle.json new file mode 100644 index 0000000000..a1218f23b1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA @BBL P2S 0.4 nozzle.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "JAYO PLA @BBL P2S 0.4 nozzle", + "inherits": "JAYO PLA @base", + "from": "system", + "setting_id": "f9OSor47gg9FjuVf", + "instantiation": "true", + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "nozzle_temperature": [ + "215", + "215" + ], + "nozzle_temperature_initial_layer": [ + "215", + "215" + ], + "nozzle_temperature_range_low": [ + "205", + "205" + ], + "nozzle_temperature_range_high": [ + "240", + "240" + ], + "slow_down_min_speed": [ + "20", + "20" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL A1 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL A1 0.4 nozzle.json new file mode 100644 index 0000000000..7a7f23f693 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL A1 0.4 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "JAYO PLA Classic @BBL A1 0.4 nozzle", + "inherits": "JAYO PLA Classic @base", + "from": "system", + "setting_id": "amKVKH8dJNln2WY0", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL P2S 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL P2S 0.4 nozzle.json new file mode 100644 index 0000000000..99363bed01 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/BBL/JAYO PLA Classic @BBL P2S 0.4 nozzle.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "JAYO PLA Classic @BBL P2S 0.4 nozzle", + "inherits": "JAYO PLA Classic @base", + "from": "system", + "setting_id": "WW1QNGbRWfWLg9iC", + "instantiation": "true", + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_flow_ratio": [ + "0.98", + "0.98" + ], + "filament_max_volumetric_speed": [ + "12", + "12" + ], + "nozzle_temperature": [ + "210", + "210" + ], + "nozzle_temperature_initial_layer": [ + "210", + "210" + ], + "nozzle_temperature_range_low": [ + "200", + "200" + ], + "nozzle_temperature_range_high": [ + "260", + "260" + ], + "filament_retraction_length": [ + "1", + "1" + ], + "compatible_printers": [ + "Bambu Lab P2S 0.4 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PETG @Creality K2 Pro 0.4 nozzle.json similarity index 54% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PETG @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PETG @Creality K2 Pro 0.4 nozzle.json index 365f5f1460..96bce142a5 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PETG @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PETG @Creality K2 Pro 0.4 nozzle.json @@ -1,10 +1,10 @@ { "type": "filament", - "name": "PolyLite PETG @base", - "inherits": "fdm_filament_pet", + "name": "JAYO PETG @Creality K2 Pro 0.4 nozzle", + "inherits": "JAYO PETG @base", "from": "system", - "filament_id": "OF0UJcb6", - "instantiation": "false", + "setting_id": "81AMZOJZu6FNGKpk", + "instantiation": "true", "cool_plate_temp": [ "0" ], @@ -12,48 +12,51 @@ "0" ], "eng_plate_temp": [ - "70" + "65" ], "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "90" - ], - "fan_min_speed": [ - "40" - ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_vendor": [ - "Polymaker" + "65" ], "hot_plate_temp": [ - "70" + "65" ], "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "fan_cooling_layer_time": [ + "10.2" + ], + "additional_cooling_fan_speed": [ "70" ], "overhang_fan_speed": [ - "90" + "80" ], "overhang_fan_threshold": [ - "10%" + "25%" ], "slow_down_layer_time": [ - "12" + "6.2" ], "slow_down_min_speed": [ "20" ], - "textured_plate_temp": [ - "70" + "enable_pressure_advance": [ + "0" ], - "textured_plate_temp_initial_layer": [ - "70" + "pressure_advance": [ + "0.04" + ], + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA @Creality K2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..77fddfb8c8 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA @Creality K2 Pro 0.4 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "JAYO PLA @Creality K2 Pro 0.4 nozzle", + "inherits": "JAYO PLA @base", + "from": "system", + "setting_id": "dvYYAzrhSdIbJM8G", + "instantiation": "true", + "nozzle_temperature_range_low": [ + "210" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.04" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA Classic @Creality K2 Pro 0.4 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA Classic @Creality K2 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..b2bb849405 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/Creality/JAYO PLA Classic @Creality K2 Pro 0.4 nozzle.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "JAYO PLA Classic @Creality K2 Pro 0.4 nozzle", + "inherits": "JAYO PLA Classic @base", + "from": "system", + "setting_id": "f78wXFT7Z8gZayws", + "instantiation": "true", + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.04" + ], + "filament_retract_before_wipe": [ + "90%" + ], + "filament_z_hop_types": [ + "Slope Lift" + ], + "compatible_printers": [ + "Creality K2 Pro 0.4 nozzle" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @System.json new file mode 100644 index 0000000000..32a7b22cca --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "JAYO PETG @System", + "inherits": "JAYO PETG @base", + "from": "system", + "setting_id": "tkxNRVsdQV1k2uXR", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @base.json similarity index 52% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @base.json index 94ab2b2fd9..87b44cbcc7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PETG @base.json @@ -1,47 +1,59 @@ { "type": "filament", - "name": "Polymaker HT-PLA @base", - "inherits": "fdm_filament_pla", + "name": "JAYO PETG @base", + "inherits": "fdm_filament_pet", "from": "system", - "filament_id": "OFPoyiFs", + "filament_id": "OF63bToB", "instantiation": "false", - "filament_cost": [ - "26.99" + "filament_vendor": [ + "JAYO" ], "filament_density": [ - "1.28" + "1.27" ], "filament_flow_ratio": [ "0.98" ], "filament_max_volumetric_speed": [ - "24" - ], - "filament_vendor": [ - "Polymaker" + "12" ], "nozzle_temperature": [ - "220" + "245" ], "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "230" + "245" ], "nozzle_temperature_range_low": [ - "210" + "240" ], - "slow_down_layer_time": [ - "4" + "nozzle_temperature_range_high": [ + "260" ], - "temperature_vitrification": [ - "60" + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" ], "textured_plate_temp": [ - "65" + "55" ], "textured_plate_temp_initial_layer": [ - "65" + "55" + ], + "fan_min_speed": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_for_layer_cooling": [ + "1" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @System.json new file mode 100644 index 0000000000..659e7bc775 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "JAYO PLA @System", + "inherits": "JAYO PLA @base", + "from": "system", + "setting_id": "Q1VCAQ9NyhyPpzT3", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @base.json similarity index 64% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @base.json index d55b7d2daf..1c33f020b2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA @base.json @@ -1,86 +1,86 @@ { "type": "filament", - "name": "Fiberon PET-CF17 @base", - "inherits": "fdm_filament_pet", + "name": "JAYO PLA @base", + "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "OFAc0Pr3", + "filament_id": "OFeUeunN", "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "242" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "89.99" + "filament_vendor": [ + "JAYO" ], "filament_density": [ - "1.34" + "1.23" ], "filament_flow_ratio": [ - "0.95" + "0.98" ], "filament_max_volumetric_speed": [ "12" ], - "filament_type": [ - "PET-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], "nozzle_temperature": [ - "300" + "215" ], "nozzle_temperature_initial_layer": [ - "300" + "215" ], "nozzle_temperature_range_high": [ - "300" + "240" ], - "nozzle_temperature_range_low": [ - "270" + "cool_plate_temp": [ + "35" ], - "overhang_fan_speed": [ + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ "70" ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_for_layer_cooling": [ + "1" + ], "slow_down_layer_time": [ - "5" + "4" ], "slow_down_min_speed": [ "20" ], - "temperature_vitrification": [ - "79.3" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" + "filament_retraction_length": [ + "1" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @System.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @System.json new file mode 100644 index 0000000000..3824bc22fd --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "JAYO PLA Classic @System", + "inherits": "JAYO PLA Classic @base", + "from": "system", + "setting_id": "ZOO4OqyocWZNsoEE", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @base.json similarity index 66% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @base.json index fe8eca06cb..8c3406ca66 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/JAYO/JAYO PLA Classic @base.json @@ -1,101 +1,89 @@ { "type": "filament", - "name": "Fiberon PETG-rCF08 @base", - "inherits": "fdm_filament_pet", + "name": "JAYO PLA Classic @base", + "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "OFw4WD4T", + "filament_id": "OF4E0SLW", "instantiation": "false", - "bed_type": [ - "Cool Plate" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "cool_plate_temp": [ - "0" - ], - "cool_plate_temp_initial_layer": [ - "0" - ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "12" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "0" - ], - "filament_cost": [ - "39.99" + "filament_vendor": [ + "JAYO" ], "filament_density": [ - "1.3" + "1.36" ], "filament_flow_ratio": [ - "0.95" + "0.98" ], "filament_max_volumetric_speed": [ "12" ], - "filament_type": [ - "PETG-CF" - ], - "filament_vendor": [ - "Polymaker" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], "nozzle_temperature": [ - "270" + "210" ], "nozzle_temperature_initial_layer": [ - "270" + "210" ], "nozzle_temperature_range_high": [ - "270" + "260" ], - "nozzle_temperature_range_low": [ - "240" + "cool_plate_temp": [ + "35" ], - "overhang_fan_speed": [ + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "additional_cooling_fan_speed": [ "70" ], - "overhang_fan_threshold": [ - "95%" + "overhang_fan_speed": [ + "100" ], - "reduce_fan_stop_start_freq": [ - "1" + "overhang_fan_threshold": [ + "50%" ], "slow_down_for_layer_cooling": [ "1" ], "slow_down_layer_time": [ - "2" + "4" ], "slow_down_min_speed": [ "20" ], - "temperature_vitrification": [ - "69.7" + "filament_retraction_length": [ + "1" ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" + "nozzle_temperature_range_low": [ + "200" ] } diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1 0.2 nozzle.json similarity index 88% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1 0.2 nozzle.json index 7dbd2a0536..4e7717f3bc 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL A1 0.2 nozzle", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS04_00", + "setting_id": "Ii1WcXMeEaYffOlt", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1.json index eeda187bdb..c5d9d9c5bb 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL A1", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS04", + "setting_id": "qR2dbJvfmbQBJDzR", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M 0.2 nozzle.json similarity index 89% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M 0.2 nozzle.json index 072a706142..5a9fcb5ad7 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL A1M 0.2 nozzle", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS05_00", + "setting_id": "zvDRrswBnEy5zN80", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M.json index 3e67330378..8b9acfc457 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL A1M", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS05", + "setting_id": "mvL3CcSQzWhHmcug", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P 0.2 nozzle.json similarity index 95% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P 0.2 nozzle.json index d5582669b0..f2c1c78883 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL P1P 0.2 nozzle", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS03_00", + "setting_id": "bm0Cd4BbrflodAnD", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P.json similarity index 95% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P.json index 42cddbeed8..a9e5da69b6 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL P1P", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS03", + "setting_id": "E0GTBXYDb5d2jRH4", "instantiation": "true", "fan_cooling_layer_time": [ "80" diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1.json similarity index 95% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1.json index de788faca1..30c1bb19cf 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL X1", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS02", + "setting_id": "sY9tzmFIrFQKJyFw", "instantiation": "true", "filament_deretraction_speed": [ "nil", diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C 0.2 nozzle.json similarity index 96% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C 0.2 nozzle.json index 01d6929053..0b00b5fd71 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL X1C 0.2 nozzle", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS00_00", + "setting_id": "5pXee8UkJCi9ptVA", "instantiation": "true", "filament_max_volumetric_speed": [ "2", diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C.json similarity index 96% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C.json index d368e739b9..6aa8b0b279 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Numakers PLA+ @BBL X1C", - "inherits": "Numakers PLA+ @base", + "inherits": "Numakers PLA+ @BBL base", "from": "system", - "setting_id": "GFNMKS00", + "setting_id": "CPPonepBAXeRtRIN", "instantiation": "true", "filament_deretraction_speed": [ "nil", diff --git a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL base.json similarity index 51% rename from resources/profiles/BBL/filament/Numakers/Numakers PLA+ @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL base.json index b77157064b..0c42dd97d9 100644 --- a/resources/profiles/BBL/filament/Numakers/Numakers PLA+ @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Numakers/BBL/Numakers PLA+ @BBL base.json @@ -1,65 +1,65 @@ { "type": "filament", - "name": "Numakers PLA+ @base", - "inherits": "fdm_filament_pla", + "name": "Numakers PLA+ @BBL base", + "inherits": "Numakers PLA+ @base", "from": "system", - "filament_id": "OFqGRZyH", "instantiation": "false", - "filament_cost": [ - "20.99" + "close_additional_fan_first_x_layers": [ + "3" ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.99" - ], - "filament_long_retractions_when_cut": [ - "1" - ], - "filament_retraction_distances_when_cut": [ - "18" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_vendor": [ - "Numakers" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "nozzle_temperature_range_high": [ - "255" - ], - "nozzle_temperature_range_low": [ - "200" - ], - "filament_scarf_seam_type": [ - "none" - ], - "filament_scarf_height": [ - "10%" - ], - "filament_scarf_gap": [ - "0%" - ], - "filament_scarf_length": [ - "10" + "filament_adhesiveness_category": [ + "100" ], "filament_change_length": [ "5" ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "18" + ], "filament_prime_volume": [ "30" ], - "temperature_vitrification": [ - "55" - ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" ] } diff --git a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1 0.2 nozzle.json index 92a040235f..998c4c2958 100644 --- a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture ASA @BBL X1 0.2 nozzle", "inherits": "Overture ASA @base", "from": "system", - "setting_id": "GFOT009_07", + "setting_id": "jh7mvQEqtBbMHbbR", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1.json index 7a376a21dd..06d940632c 100644 --- a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture ASA @BBL X1", "inherits": "Overture ASA @base", "from": "system", - "setting_id": "GFOT009_06", + "setting_id": "cRfT6znwV5A6Shfo", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C 0.2 nozzle.json index 7fcb646a6f..04ceab67a6 100644 --- a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture ASA @BBL X1C 0.2 nozzle", "inherits": "Overture ASA @base", "from": "system", - "setting_id": "GFOT009_09", + "setting_id": "AtFqTBLGJVqukhdU", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C.json index 721caa685f..9f080e5b90 100644 --- a/resources/profiles/BBL/filament/Overture/Overture ASA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture ASA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture ASA @BBL X1C", "inherits": "Overture ASA @base", "from": "system", - "setting_id": "GFOT009_08", + "setting_id": "xGrk4eFUHPepuKY3", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1 0.2 nozzle.json index ae882af557..c63f9b6992 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL A1 0.2 nozzle", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_01", + "setting_id": "hd5p80tAvLBtbLOz", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1.json index 7f14c21871..ce543127f7 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL A1", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_00", + "setting_id": "rC3OqieoVV0VVT49", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M 0.2 nozzle.json index f0861d37c3..ff348d47d3 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL A1M 0.2 nozzle", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_03", + "setting_id": "nehgqHdfo3H5PRWD", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M.json index 51649a3185..30d73664d4 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL A1M", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_02", + "setting_id": "gek0LVJsLSpW2ouh", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P 0.2 nozzle.json similarity index 90% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P 0.2 nozzle.json index a0d9068fe4..923ab78071 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL P1P 0.2 nozzle", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_05", + "setting_id": "epbY8jIIyn2noQd9", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P.json index 6780f2121a..f216f29bbf 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL P1P", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_04", + "setting_id": "aaOFmzBat4Zx6HtZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1 0.2 nozzle.json similarity index 90% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1 0.2 nozzle.json index ba350275a1..b13bb033d6 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL X1 0.2 nozzle", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_07", + "setting_id": "cUFI1juBlncOcQf1", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1.json index bd9ecff79b..ca8b4304bc 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL X1", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_06", + "setting_id": "nYva3KRuxYikRQic", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C 0.2 nozzle.json index 85b85b9d4a..afa578c2f3 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL X1C 0.2 nozzle", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_09", + "setting_id": "LQ99qVFxsjYsXJlK", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C.json index f499cbc99f..66c97952f8 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Air PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Air PLA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture Air PLA @BBL X1C", "inherits": "Overture Air PLA @base", "from": "system", - "setting_id": "GFOT006_08", + "setting_id": "t9G4iW1zQGXDVa1j", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1 0.2 nozzle.json index ed140c5597..cbd95782ae 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL A1 0.2 nozzle", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_01", + "setting_id": "GyvGTwqYkGYjEFJk", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1.json index ac2df417ca..84bc7f06f5 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL A1", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_00", + "setting_id": "eBLeXUH3S3XbITJe", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M 0.2 nozzle.json index 168d69a765..98b5074879 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL A1M 0.2 nozzle", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_03", + "setting_id": "OVU5pNwnZzjfGYmA", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M.json index 5636c618e2..3ddca5f725 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL A1M", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_02", + "setting_id": "4tkz4o4Gy9Rg9pDn", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P 0.2 nozzle.json index 2cfe573d05..1b0f98d600 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL P1P 0.2 nozzle", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_05", + "setting_id": "7NxD1OVmlxvWkmMF", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P.json index 6f40c9c10a..1c3deabdb2 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL P1P", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_04", + "setting_id": "f0DPSVoUn0Q4sWDh", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1 0.2 nozzle.json index 5b21800908..affea525be 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL X1 0.2 nozzle", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_07", + "setting_id": "YSplJrX00oFk88io", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1.json index bec755226a..026a114216 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL X1", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_06", + "setting_id": "lzlcNvejwGBbieeC", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C 0.2 nozzle.json index 75c0f762c1..9582e8f2b1 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL X1C 0.2 nozzle", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_09", + "setting_id": "RSBIHAgBtOG3hB9J", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C.json index a7e163b13d..90297c1aee 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Easy PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Easy PLA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture Easy PLA @BBL X1C", "inherits": "Overture Easy PLA @base", "from": "system", - "setting_id": "GFOT003_08", + "setting_id": "FNdjKfYe8qGoyL01", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1 0.2 nozzle.json index 4ef6fd92eb..a0c643d5a8 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL A1 0.2 nozzle", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_01", + "setting_id": "CNG8j1OyXdsHgayH", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1.json similarity index 83% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1.json index 0ba3ff4f77..e35ad0464c 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL A1", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_00", + "setting_id": "f1psVRwfXnf2RBYX", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M 0.2 nozzle.json index a96050f3fe..acad992f0e 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL A1M 0.2 nozzle", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_03", + "setting_id": "Czjg8dECgTCk9rmy", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M.json similarity index 84% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M.json index ba717d8b4b..551a2f34f9 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL A1M", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_02", + "setting_id": "awqS4tjR4dYkSEkt", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P 0.2 nozzle.json index d1409ad106..f5f7414508 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL P1P 0.2 nozzle", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_05", + "setting_id": "cj0T92bD6kKlQCOi", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P.json similarity index 82% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P.json index a4074f45de..70f64ce4ba 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL P1P", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_04", + "setting_id": "dolDErUUhjBKdxrv", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1 0.2 nozzle.json index 59cf0ab335..338c4f32ae 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL X1 0.2 nozzle", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_07", + "setting_id": "J2HhpnKJq31D1dbL", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1.json similarity index 82% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1.json index fc6d7800c7..a6afdb2af4 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL X1", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_06", + "setting_id": "kcqyWA5VYsx7sCbu", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C 0.2 nozzle.json index 82399a8d10..20f757c895 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL X1C 0.2 nozzle", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_09", + "setting_id": "pVINOtBlNRnosjC1", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C.json index f9248c24c2..1f2ddcca38 100644 --- a/resources/profiles/BBL/filament/Overture/Overture PLA Pro @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Overture PLA Pro @BBL X1C", - "inherits": "Overture PLA Pro @base", + "inherits": "Overture PLA Pro @BBL base", "from": "system", - "setting_id": "GFOT001_08", + "setting_id": "yJ0rLSZDqfrxPimR", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL base.json new file mode 100644 index 0000000000..095c74ea7b --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture PLA Pro @BBL base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Overture PLA Pro @BBL base", + "inherits": "Overture PLA Pro @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1 0.2 nozzle.json index dda00766d7..9a9604bb55 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL A1 0.2 nozzle", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_01", + "setting_id": "E0qnin9rxon6Jyq7", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1.json index f7f71c6f6e..1027e13de5 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL A1", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_00", + "setting_id": "PQ9XuAMnKD9y3vgp", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M 0.2 nozzle.json index 070f15b76d..bee6747184 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL A1M 0.2 nozzle", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_03", + "setting_id": "q3FXD5WrKqNhaLGu", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M.json index b8ce5fb710..c56c221876 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL A1M", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_02", + "setting_id": "4uJnRSvdNM68meEz", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P 0.2 nozzle.json index a299d81e60..26584a4de9 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL P1P 0.2 nozzle", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_05", + "setting_id": "E4iqlOBK45gpYklp", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P.json index 07354aac11..4b58af1898 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL P1P", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_04", + "setting_id": "UIb9tBtZiKaRNopy", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1 0.2 nozzle.json index af0d62edf5..6e0e502c08 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL X1 0.2 nozzle", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_07", + "setting_id": "q4astJFFLi6KbOJl", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1.json index 036771d5d0..0829e13b6a 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL X1", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_06", + "setting_id": "PhBMG4I8ITdLQ8oV", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C 0.2 nozzle.json index aa330205cc..b958f28bb2 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL X1C 0.2 nozzle", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_09", + "setting_id": "HnQhvIXWKZFGVNoY", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C.json index e25071605f..84e0c9c95c 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Rock PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Rock PLA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture Rock PLA @BBL X1C", "inherits": "Overture Rock PLA @base", "from": "system", - "setting_id": "GFOT004_08", + "setting_id": "KsUAem6nMlwcev3c", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1 0.2 nozzle.json index 1c93195c36..053c01830b 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL A1 0.2 nozzle", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_01", + "setting_id": "UQsPs9GFLPdYgnMp", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1.json index 6dfdc93163..17fdb143b1 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL A1", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_00", + "setting_id": "i0iDLQw8NKSQF3Pe", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M 0.2 nozzle.json index 2666d7f316..6cee47ecae 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL A1M 0.2 nozzle", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_03", + "setting_id": "ugplOmuNqqnsPvfO", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M.json index d625d1453c..7a0ed2f205 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL A1M", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_02", + "setting_id": "AMHxNiY2PM8Hell8", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P 0.2 nozzle.json index c855b5d607..098a33d064 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL P1P 0.2 nozzle", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_05", + "setting_id": "4roLiX33h7u51gl7", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P.json index c744db5570..179b9caa25 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL P1P", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_04", + "setting_id": "Qecq5EdIXGd6JRKj", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1 0.2 nozzle.json index 2f1630fa6c..a4aefdaf23 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL X1 0.2 nozzle", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_07", + "setting_id": "Kyi1iZqSagQAzgeD", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1.json index 673407ee17..fc66735eb5 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL X1", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_06", + "setting_id": "dCmwz1TxVv1k4nrj", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C 0.2 nozzle.json index e5ef452f46..033c200681 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL X1C 0.2 nozzle", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_09", + "setting_id": "wZZy64Zqs8K4jP9J", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C.json index 419c96e79f..3efefaf2fc 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Silk PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Silk PLA @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture Silk PLA @BBL X1C", "inherits": "Overture Silk PLA @base", "from": "system", - "setting_id": "GFOT002_08", + "setting_id": "tIykohBzOGcn12G4", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1 0.2 nozzle.json index 4ddcd5b2e2..07a2549567 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL A1 0.2 nozzle", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_01", + "setting_id": "WGfgpz40PV9Ru7Zt", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1.json index 9ce608984d..59e0030198 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL A1", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_00", + "setting_id": "f0PblNsW9q7iGZxH", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M 0.2 nozzle.json index 709fe09c58..a90597f317 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL A1M 0.2 nozzle", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_03", + "setting_id": "kV0ZlvVhOwzTcc9u", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M.json similarity index 93% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M.json index 0e45b6901b..9dd8261e1e 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL A1M", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_02", + "setting_id": "4D70u7cXRWqDdbEN", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P 0.2 nozzle.json index 0e425bdac8..451593ab27 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL P1P 0.2 nozzle", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_05", + "setting_id": "rdS6sZ5bnMnNVI38", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P.json index 92554e2dd7..e72b63ac39 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL P1P", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_04", + "setting_id": "Lm4gFcVAQrwCbQpJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1 0.2 nozzle.json index 70e034c186..e86479ca76 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL X1 0.2 nozzle", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_07", + "setting_id": "rjQvmZrLs2JgPa5G", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1.json index b6c52b1ea8..e0b5a34861 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL X1", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_06", + "setting_id": "oGCZ4MSkwNzAvPbk", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C 0.2 nozzle.json similarity index 93% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C 0.2 nozzle.json index 51b2c733ee..df71a69633 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL X1C 0.2 nozzle", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_09", + "setting_id": "J9fImqGnYoSpSs9W", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C.json index b6982e47a0..d82b6bec09 100644 --- a/resources/profiles/BBL/filament/Overture/Overture Super PLA+ @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture Super PLA+ @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture Super PLA+ @BBL X1C", "inherits": "Overture Super PLA+ @base", "from": "system", - "setting_id": "GFOT005_08", + "setting_id": "Pg160F3SwSEQePIv", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1 0.2 nozzle.json index 0f6a00d64a..bd24bde2ba 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL A1 0.2 nozzle", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_01", + "setting_id": "Joam1aSO8dvTmJhx", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1.json index d9b354d6bc..cbd7a4a46f 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL A1", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_00", + "setting_id": "6ff8qgjKmzyaMfEs", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M 0.2 nozzle.json index 43f9df80a9..37b08df2a8 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL A1M 0.2 nozzle", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_03", + "setting_id": "ivfbVD3bPoUyvP0s", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M.json index 55be8761be..884583f481 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL A1M.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL A1M", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_02", + "setting_id": "XGXmvtOIxwC6QU6p", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P 0.2 nozzle.json index 8f906df48d..5f67e51cb1 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL P1P 0.2 nozzle", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_05", + "setting_id": "Eov2TNCnSl1cmOWA", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P.json index 9d25d70806..984b4c351c 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL P1P.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL P1P", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_04", + "setting_id": "ZqdxAsj5MYTV6Fyn", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1 0.2 nozzle.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1 0.2 nozzle.json index 1f50237b49..a60623e77d 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL X1 0.2 nozzle", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_07", + "setting_id": "YuUN1xxe8zInAObb", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1.json index 0e676f6fbf..7358d45849 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL X1", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_06", + "setting_id": "PURuOPM03EAwfxRq", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C 0.2 nozzle.json similarity index 92% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C 0.2 nozzle.json index 0fbae23716..88658fc933 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C 0.2 nozzle.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL X1C 0.2 nozzle", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_09", + "setting_id": "PXWDk0asjkBa2I9g", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C.json similarity index 94% rename from resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C.json index 68dcbaa3fd..e8beca31f9 100644 --- a/resources/profiles/BBL/filament/Overture/Overture TPU @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Overture/BBL/Overture TPU @BBL X1C.json @@ -3,7 +3,7 @@ "name": "Overture TPU @BBL X1C", "inherits": "Overture TPU @base", "from": "system", - "setting_id": "GFOT008_08", + "setting_id": "JkPJzKrOYYS3RsnL", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA12-CF10 @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA12-CF10 @BBL X1.json index 225e12d539..520c97c01d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA12-CF10 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PA12-CF10 @BBL X1", "inherits": "Fiberon PA12-CF10 @base", "from": "system", - "setting_id": "GFSL56_00", + "setting_id": "iK97kha1pRV62Yhj", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-CF20 @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-CF20 @BBL X1.json index ce552a17e6..6d2dc16779 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-CF20 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PA6-CF20 @BBL X1", "inherits": "Fiberon PA6-CF20 @base", "from": "system", - "setting_id": "GFSL57_00", + "setting_id": "oXBzN409HuCA9c3X", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-GF25 @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-GF25 @BBL X1.json index 7c03b332b7..c61073f36e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA6-GF25 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PA6-GF25 @BBL X1", "inherits": "Fiberon PA6-GF25 @base", "from": "system", - "setting_id": "GFSL58_00", + "setting_id": "tv24rlJLXAHNYOrf", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA612-CF15 @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA612-CF15 @BBL X1.json index a33b87e835..fe7e671ffa 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PA612-CF15 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PA612-CF15 @BBL X1", "inherits": "Fiberon PA612-CF15 @base", "from": "system", - "setting_id": "GFSL59_00", + "setting_id": "zsBPiVizpWSR58Ri", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PET-CF17 @BBL X1.json similarity index 96% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PET-CF17 @BBL X1.json index 4661fc9dfc..dc84326688 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PET-CF17 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PET-CF17 @BBL X1", "inherits": "Fiberon PET-CF17 @base", "from": "system", - "setting_id": "GFSL60_00", + "setting_id": "6Roq8NKQujI03Xzb", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL X1.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL X1.json index 6d72159532..99fcec0536 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Fiberon PETG-ESD @BBL X1", - "inherits": "Fiberon PETG-ESD @base", + "inherits": "Fiberon PETG-ESD @BBL base", "from": "system", - "setting_id": "GFSL06_01", + "setting_id": "C2HT9Y3AUpOQ1hXy", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL base.json new file mode 100644 index 0000000000..26367622de --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-ESD @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Fiberon PETG-ESD @BBL base", + "inherits": "Fiberon PETG-ESD @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-rCF08 @BBL X1.json similarity index 98% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-rCF08 @BBL X1.json index 264472679c..12fc28a3b3 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Fiberon PETG-rCF08 @BBL X1.json @@ -3,7 +3,7 @@ "name": "Fiberon PETG-rCF08 @BBL X1", "inherits": "Fiberon PETG-rCF08 @base", "from": "system", - "setting_id": "GFSL61_00", + "setting_id": "jh9tJUTbisPNdlgS", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1 0.2 nozzle.json index 17723658e1..1942059805 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL A1 0.2 nozzle", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_01", + "setting_id": "qD6JA9FtX9LlQRjY", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1.json index ec927bbc52..3949502dbe 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL A1", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_00", + "setting_id": "Lhxp7wzWfMqiUYsW", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M 0.2 nozzle.json index 6c28307dde..9a9476b5d7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL A1M 0.2 nozzle", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_03", + "setting_id": "XIfGqJMiptV6ZgHl", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M.json index 4857f27375..442de47db5 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL A1M", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_02", + "setting_id": "Xovp5RS0Bd9x4zbN", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P 0.2 nozzle.json index 902853fe07..5ad5ae0080 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL P1P 0.2 nozzle", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_05", + "setting_id": "pWCjS7hx9zYIDvqg", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P.json index a33f7058de..d569c17314 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL P1P", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_04", + "setting_id": "1hUd7X4ZLN1fmoxj", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1 0.2 nozzle.json index fdc4ef045c..e25ca2b2aa 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL X1 0.2 nozzle", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_07", + "setting_id": "Ebl5q2HobL5n5kr0", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1.json index 2251c3a170..7da192d7d2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL X1", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_06", + "setting_id": "ybkf8gjoxusiAQph", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C 0.2 nozzle.json index 5294ca84e4..e6a47c969b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL X1C 0.2 nozzle", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_09", + "setting_id": "N5ZsMGwX81KaREg0", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C.json index 300be9e919..5c50a8898a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma CoPE @BBL X1C", - "inherits": "Panchroma CoPE @base", + "inherits": "Panchroma CoPE @BBL base", "from": "system", - "setting_id": "GFSPM016_08", + "setting_id": "bhe6owE7ZvcZR33I", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL base.json new file mode 100644 index 0000000000..8c0f134090 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma CoPE @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma CoPE @BBL base", + "inherits": "Panchroma CoPE @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1 0.2 nozzle.json index afd1a28716..960b50781c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_01", + "setting_id": "EcAyHYYBbwh0W7cv", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1.json index 8460996ce9..10dfee2329 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL A1", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_00", + "setting_id": "o66PtkUZsIhPbkHO", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M 0.2 nozzle.json index 6dca0b3e8e..dacd19208d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_03", + "setting_id": "JNSUp4LzTjep3XoO", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M.json index c592bdd1da..71cb670085 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL A1M", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_02", + "setting_id": "jW21lAphUo0cMqsl", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P 0.2 nozzle.json index 35f8d181b0..4ce3915b98 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_05", + "setting_id": "Du0ZWcJNqd8W18Wh", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P.json index 4f802b2f28..9bd4136dcb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL P1P", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_04", + "setting_id": "u3UE6zNIEtdcpJab", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1 0.2 nozzle.json index 8ac58e3363..9d9cb008b2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_07", + "setting_id": "9zGwmuNOrUdT3WNZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1.json index 836f8c4cc7..caf04702a5 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL X1", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_06", + "setting_id": "409xnlGe1IzrXIPC", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C 0.2 nozzle.json index 25152f4be0..47977b6bc9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_09", + "setting_id": "SGPzwN6RFKai400f", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C.json index 542d61a645..4907976e1d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA @BBL X1C", - "inherits": "Panchroma PLA @base", + "inherits": "Panchroma PLA @BBL base", "from": "system", - "setting_id": "GFSPM001_08", + "setting_id": "RXeUIZvz0rlPHaqX", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL base.json new file mode 100644 index 0000000000..678d137b88 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA @BBL base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA @BBL base", + "inherits": "Panchroma PLA @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_wipe": [ + "0" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json index f968b7e6d7..db7cecd782 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_01", + "setting_id": "rIAWIanchOslJupB", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1.json index 6a34b19049..a2c80dd6ea 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL A1", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_00", + "setting_id": "HDgCi6UfHZdjXDzr", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json index 546a9f5218..2ade265aab 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_03", + "setting_id": "7VaribjbKdvyTwD4", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M.json index 74aa730a03..93730978e9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL A1M", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_02", + "setting_id": "8ah5CAsPw9MmdkS1", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json index 1770bfc6fc..4407c9a3ab 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_05", + "setting_id": "hgz8wyLSMeGXpVfM", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P.json index 97c3558b2c..2661e9b46e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL P1P", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_04", + "setting_id": "NIFRCroV1KVjKF97", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json index 9611e74064..50ddece26e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_07", + "setting_id": "ipgwBtocyVVSwJmb", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1.json index ef1c0886e7..04e3588789 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL X1", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_06", + "setting_id": "4FFTu7rnCK2ebMUJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json index 3e31f69e9b..ef737817f1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_09", + "setting_id": "JHISMlNlBTFJaGf0", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C.json similarity index 87% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C.json index 7e2eff119c..ab2d7cb3de 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Celestial @BBL X1C", - "inherits": "Panchroma PLA Celestial @base", + "inherits": "Panchroma PLA Celestial @BBL base", "from": "system", - "setting_id": "GFSPM008_08", + "setting_id": "d2X6FU4NkwHHaP1f", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL base.json new file mode 100644 index 0000000000..e6519aab8a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Celestial @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Celestial @BBL base", + "inherits": "Panchroma PLA Celestial @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json index b9a1387c7d..3365bc8122 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_01", + "setting_id": "ZrOxMUGgsizajGy5", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1.json index 2201897336..762c347447 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL A1", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_00", + "setting_id": "SBhUnTx3hn0BUZt7", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json index cae0556865..bbfc74f8a9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_03", + "setting_id": "0pWJRx7TOMdsmNMl", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M.json index 29a115d824..defebe61af 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL A1M", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_02", + "setting_id": "hdbXfBG9ybegQrYC", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json index 5b5b20ed1e..0a97e15c8c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_05", + "setting_id": "t4aSBTluntMqFXVx", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P.json index a5bda6970b..2af46fc880 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL P1P", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_04", + "setting_id": "5G4872zbCMhL2AfW", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json index 39167dd06d..3a462dcc96 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_07", + "setting_id": "cnP7n2P50AAugJIM", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1.json index c36bf6bf63..f85d6fcd68 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL X1", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_06", + "setting_id": "KkNb6pbD1nfB0hab", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json index 2e6def811d..d09e0c31a5 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_09", + "setting_id": "hw5cUrvg4USa0PGq", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C.json index 01e13b013b..f1c0770442 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Galaxy @BBL X1C", - "inherits": "Panchroma PLA Galaxy @base", + "inherits": "Panchroma PLA Galaxy @BBL base", "from": "system", - "setting_id": "GFSPM007_08", + "setting_id": "DYAuEfsNR9uFeu8B", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL base.json new file mode 100644 index 0000000000..9b2179bb1f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Galaxy @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Galaxy @BBL base", + "inherits": "Panchroma PLA Galaxy @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1 0.2 nozzle.json index dadf681d5b..4e88a9b087 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_01", + "setting_id": "yIA49PJ8keAftG2V", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1.json index 29aa7205ee..3fc88e67fc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL A1", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_00", + "setting_id": "fekuuLTiJQoB1g7X", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json index dc9f4fab28..ea4226ed27 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_03", + "setting_id": "kbweRw9oFJKMEvDZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M.json index d07309eef6..c99f50a841 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL A1M", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_02", + "setting_id": "IknQVZ1JKDhWNjhR", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json index 3e6c0fb5d3..30dd7aeedb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_05", + "setting_id": "PVxGiD5EsfILtoXr", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P.json index c81ef58f9c..5538a0c2e2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL P1P", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_04", + "setting_id": "09YUARvE0trJdL9W", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1 0.2 nozzle.json index 376c88decd..312820e515 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_07", + "setting_id": "djzqnlITUbE88XaR", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1.json index 10701cfc01..1dedfbbcbe 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL X1", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_06", + "setting_id": "45ePNVRJQTB9RfK6", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json index 277e90e9f7..47e1816e91 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_09", + "setting_id": "5gNvQlBSR7uJpdfZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C.json index 1c5af79b77..a07275076d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Glow @BBL X1C", - "inherits": "Panchroma PLA Glow @base", + "inherits": "Panchroma PLA Glow @BBL base", "from": "system", - "setting_id": "GFSPM010_08", + "setting_id": "GwpJCEpzSLf6WQPM", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL base.json new file mode 100644 index 0000000000..66685f2324 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Glow @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Glow @BBL base", + "inherits": "Panchroma PLA Glow @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json index d33e7192de..f97ab3fe9d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_01", + "setting_id": "Gm0V2yS38B73lzej", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1.json index 4da92b5a04..615c17f131 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL A1", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_00", + "setting_id": "cNayl2LdadgzGPIu", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json index 4701429827..8622522aa4 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_03", + "setting_id": "svpeogHNJpG6OJcs", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M.json index e121d53f7d..391098c405 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL A1M", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_02", + "setting_id": "eZXv92vdqjhAMw8d", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json index fd3b873bb2..df695ab23b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_05", + "setting_id": "iq98CGGzUCwjBNJ3", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P.json index f15189902b..4649b9a73e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL P1P", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_04", + "setting_id": "CyVrwfMZwfYtiqKh", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json index 1a506784f0..eb5634ab03 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_07", + "setting_id": "wLKtViV6H7LzbbzO", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1.json index db9dcf9269..5b500d904e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL X1", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_06", + "setting_id": "pbsffX1Tn2uZBQAC", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json index 98f9ce2376..da45931ab7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_09", + "setting_id": "dBfdr3XSx2Ycs0t1", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C.json index 9134015573..013a8709e5 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Luminous @BBL X1C", - "inherits": "Panchroma PLA Luminous @base", + "inherits": "Panchroma PLA Luminous @BBL base", "from": "system", - "setting_id": "GFSPM011_08", + "setting_id": "FR0NsZuwXmyydY91", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL base.json new file mode 100644 index 0000000000..0cbb162fe3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Luminous @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Luminous @BBL base", + "inherits": "Panchroma PLA Luminous @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1 0.2 nozzle.json index a5ddad4353..ae607f61e7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_01", + "setting_id": "R6T9OGfLgYyuJQQV", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1.json index e18cf6058f..b00e3ac4d5 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL A1", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_00", + "setting_id": "74wdx9EmWTPhMgGp", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json index 298b3f0830..f73242632a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_03", + "setting_id": "JGiyk0wyB9sND2BX", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M.json index 0cddd47a22..a694565762 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL A1M", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_02", + "setting_id": "TV9TVGXyBgKJjLj4", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json index 70b8f89852..0f233b0b14 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_05", + "setting_id": "xmuKHrKm68rk6LGG", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P.json index e67d08514c..ecf207c701 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL P1P", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_04", + "setting_id": "AiUXencnnJ8dsI3G", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1 0.2 nozzle.json index 8e8e4e4e84..a435975aed 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_07", + "setting_id": "OHXft04xIKN5AtVc", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1.json index 8f85dff8df..632b5488e7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL X1", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_06", + "setting_id": "FTcxWNxE7TXZvX9g", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json index 6a83b160a7..7492f0474e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_09", + "setting_id": "X610ITrFop4MDa77", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C.json index f9c4181158..446522db10 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Marble @BBL X1C", - "inherits": "Panchroma PLA Marble @base", + "inherits": "Panchroma PLA Marble @BBL base", "from": "system", - "setting_id": "GFSPM003_08", + "setting_id": "2mvGOjwoOrlKnLZD", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL base.json new file mode 100644 index 0000000000..77f862243e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Marble @BBL base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Panchroma PLA Marble @BBL base", + "inherits": "Panchroma PLA Marble @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1 0.2 nozzle.json index de3a7c35e1..44e22c2015 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_01", + "setting_id": "feUwXmzCUHI8Ani5", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1.json index 905b6e8624..fe82cc670d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL A1", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_00", + "setting_id": "LCcphd1X1Id1EY7i", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json index 9f0e3b708e..86618b113d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_03", + "setting_id": "U9z6EWwT6wjpR7HL", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M.json index 2bd26f4411..e359124d5b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL A1M", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_02", + "setting_id": "p7NNq8w4i95ofi0p", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json index 5f6a0bea90..56c2f2dedc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_05", + "setting_id": "35T8Ez3Y9PToAZSa", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P.json index 4100fe84ab..55f0d71f82 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL P1P", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_04", + "setting_id": "GjYsfwFb1rjW2HWh", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1 0.2 nozzle.json index 26219eeffa..af771680cb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_07", + "setting_id": "UIBovjt1ahFJMP3C", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1.json index 6901a33b60..b66e36e578 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL X1", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_06", + "setting_id": "iaQKkGk4P0Fmwczg", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json index 2ef1da596c..8bd5609b00 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_09", + "setting_id": "rrF1mxIIRougcDSP", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C.json index bd3d25b3e6..7f162d80bf 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Matte @BBL X1C", - "inherits": "Panchroma PLA Matte @base", + "inherits": "Panchroma PLA Matte @BBL base", "from": "system", - "setting_id": "GFSPM002_08", + "setting_id": "K3UxBLo5EwyO5RJH", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL base.json new file mode 100644 index 0000000000..d19670cc6e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Matte @BBL base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Panchroma PLA Matte @BBL base", + "inherits": "Panchroma PLA Matte @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json index e0e3f84b3d..074f6328a9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_01", + "setting_id": "8oiaDU9UY2x6kI6x", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1.json index 546e7c323c..804b4c9444 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL A1", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_00", + "setting_id": "7nQYDYBd96AF3H1C", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json index deea2a43ed..103f582d97 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_03", + "setting_id": "Illg4tjxcHRlYb1n", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M.json index f96e849799..88b432b6de 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL A1M", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_02", + "setting_id": "tQfPV5JmDkRn2OOV", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json index b2b5bd7776..918f3764ea 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_05", + "setting_id": "OI3pVdKp585lQcs9", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P.json index a386ec3306..c4e7df4c22 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL P1P", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_04", + "setting_id": "jYQVdc3W3vGJfDzz", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json index c439b25f93..5c93a002aa 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_07", + "setting_id": "KbzFSFJBykP6kZkL", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1.json index ca62255017..f63b0e7852 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL X1", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_06", + "setting_id": "l5X4qdMfFoyvDsqJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json index 435ffab33f..0e871c4ae1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_09", + "setting_id": "P9tuNS2IJYvkWdgK", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C.json index bbb4f8a603..84e1cf33c8 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Metallic @BBL X1C", - "inherits": "Panchroma PLA Metallic @base", + "inherits": "Panchroma PLA Metallic @BBL base", "from": "system", - "setting_id": "GFSPM012_08", + "setting_id": "qHZ93iDrS0Yq0nve", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL base.json new file mode 100644 index 0000000000..aa2532e6b3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Metallic @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Metallic @BBL base", + "inherits": "Panchroma PLA Metallic @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1 0.2 nozzle.json index 05824a933b..c916a76c59 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_01", + "setting_id": "x8Legvhy2R0I1VAs", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1.json index cfb6c3f3d3..9ace07f696 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL A1", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_00", + "setting_id": "N7SOOVeq1hiXmrKQ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json index 268ef04f05..2db77f41f1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_03", + "setting_id": "Ptuq1zUHdeoGINzD", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M.json index d970f6b468..4df64db262 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL A1M", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_02", + "setting_id": "laH74uyf5UCItC8M", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json index e3d6d2a600..1f0450c396 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_05", + "setting_id": "MgoWnobu5p8ksS6s", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P.json index c09699ecd7..182e803ace 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL P1P", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_04", + "setting_id": "xChAJ7xQfHPMZwr0", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1 0.2 nozzle.json index 90a6ebd9e7..9214dd3848 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_07", + "setting_id": "h201yjxsJ93sqVhB", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1.json index 4a08ef9ec7..407ae307cc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL X1", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_06", + "setting_id": "ZNx216TW1gv9bXyT", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json index 4ab620fa59..0a404b1a53 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_09", + "setting_id": "Iq6TUkH1NFn0p6Ds", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C.json index 7184cb4caf..4f133f3eda 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Neon @BBL X1C", - "inherits": "Panchroma PLA Neon @base", + "inherits": "Panchroma PLA Neon @BBL base", "from": "system", - "setting_id": "GFSPM013_08", + "setting_id": "xeteveYJBnFTC3A9", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL base.json new file mode 100644 index 0000000000..d83b3e2009 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Neon @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Neon @BBL base", + "inherits": "Panchroma PLA Neon @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1 0.2 nozzle.json index ad7a553237..edd74d38bf 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1 0.2 nozzle.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL A1 0.2 nozzle", "renamed_from": "Panchroma PLA Stain @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_01", + "setting_id": "nQu34WPbkpyMfQ4J", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1.json index e516c24976..b19355f06c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL A1", "renamed_from": "Panchroma PLA Stain @BBL A1", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_00", + "setting_id": "91v2p9zMeGRNWX4C", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json index bc354c062d..3cc973ed27 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M 0.2 nozzle.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL A1M 0.2 nozzle", "renamed_from": "Panchroma PLA Stain @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_03", + "setting_id": "31G5dYmmEeEeDnGx", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M.json index b9698daa75..4e2a28e870 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL A1M.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL A1M", "renamed_from": "Panchroma PLA Stain @BBL A1M", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_02", + "setting_id": "h8Iw5jv0LkEsGWWC", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json index cab5e39ee6..2e664a44b2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P 0.2 nozzle.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL P1P 0.2 nozzle", "renamed_from": "Panchroma PLA Stain @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_05", + "setting_id": "8wht7zi8DcoOFMSB", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P.json index fcb4636518..b4e3228b09 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL P1P.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL P1P", "renamed_from": "Panchroma PLA Stain @BBL P1P", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_04", + "setting_id": "7b5ZYEJp7KK75tKw", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1 0.2 nozzle.json index 2ca9056d3a..fdae5f5719 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1 0.2 nozzle.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL X1 0.2 nozzle", "renamed_from": "Panchroma PLA Stain @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_07", + "setting_id": "zRkt2fsqDlC8i8hO", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1.json index 804564f4e8..b08400c092 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL X1", "renamed_from": "Panchroma PLA Stain @BBL X1", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_06", + "setting_id": "bf2w3EzBrBkeZ2ds", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json similarity index 86% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json index ef4fe88115..a3065b143a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C 0.2 nozzle.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL X1C 0.2 nozzle", "renamed_from": "Panchroma PLA Stain @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_09", + "setting_id": "BqsKjFUcRPWxKg7B", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C.json index 349e489fd5..e48b0812c9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL X1C.json @@ -2,9 +2,9 @@ "type": "filament", "name": "Panchroma PLA Satin @BBL X1C", "renamed_from": "Panchroma PLA Stain @BBL X1C", - "inherits": "Panchroma PLA Satin @base", + "inherits": "Panchroma PLA Satin @BBL base", "from": "system", - "setting_id": "GFSPM005_08", + "setting_id": "dRGzGPHSG9tujLWW", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL base.json new file mode 100644 index 0000000000..aa84850f06 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Satin @BBL base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Panchroma PLA Satin @BBL base", + "inherits": "Panchroma PLA Satin @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1 0.2 nozzle.json index 8bb018f7b1..01109cc58a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_01", + "setting_id": "IF4pmYpCYGXFEioc", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1.json index 964735c284..34c7df8605 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL A1", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_00", + "setting_id": "BKrse8svL0dwO85f", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json index 7c667a7ce1..63f11eff05 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_03", + "setting_id": "7a6AEiNpDN8tcV9b", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M.json index ea303d2dcf..c7f7958b6d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL A1M", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_02", + "setting_id": "kB393DUVClzaxcwJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json index b66894171d..1bfeb9a8bb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_05", + "setting_id": "1nztFtUL604XOsra", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P.json index 8523bbb0cc..49d831a1de 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL P1P", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_04", + "setting_id": "k9BIYLfdkxVgSQ6d", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1 0.2 nozzle.json index 1bf7ceab18..41368a10e4 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_07", + "setting_id": "iaoE6g4vlMos1s6D", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1.json index 8bb1c8a001..05e03e19c2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL X1", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_06", + "setting_id": "XcR7Y0PAtTf1tH3L", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json index 592eea2e73..50812453ef 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_09", + "setting_id": "BMTCNRFG2REbt9Bh", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C.json index 632617eb41..d9eddf1f37 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Silk @BBL X1C", - "inherits": "Panchroma PLA Silk @base", + "inherits": "Panchroma PLA Silk @BBL base", "from": "system", - "setting_id": "GFSPM004_08", + "setting_id": "mXuLnQicus3Uhhfj", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL base.json new file mode 100644 index 0000000000..43f4b10fb8 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Silk @BBL base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Panchroma PLA Silk @BBL base", + "inherits": "Panchroma PLA Silk @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json index 973f8c99a6..b337099a21 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_01", + "setting_id": "GBzsX4zOxHFSZf2p", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1.json index 7195ee8aee..bfd4e12372 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL A1", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_00", + "setting_id": "q6gmM7NizDVBcW99", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json index c5d1f19e60..9df5de026d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_03", + "setting_id": "xywCdWs1PD3mizua", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M.json index 86702002c9..05648190e1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL A1M", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_02", + "setting_id": "94bGLG3JVHJqeuwm", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json index 47d3ca9b7c..9281a7c061 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_05", + "setting_id": "vWIBfFxUxiYs0noT", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P.json index 5a814b235b..7c8188b63f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL P1P", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_04", + "setting_id": "SA4k2TGlvq09KgSP", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json index d9ff1754f5..9c289222ed 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_07", + "setting_id": "buWzLlidD8kqVn9M", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1.json index 6d22d51867..c30f32eb9c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL X1", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_06", + "setting_id": "iJpQBSxPtmXKX6LW", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json index 227615d682..9783999b83 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_09", + "setting_id": "3PYDMfg7fybbTYDk", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C.json index d8b4cd49ca..9192a3af91 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Starlight @BBL X1C", - "inherits": "Panchroma PLA Starlight @base", + "inherits": "Panchroma PLA Starlight @BBL base", "from": "system", - "setting_id": "GFSPM009_08", + "setting_id": "TPy2tnZX4boCuzTE", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL base.json new file mode 100644 index 0000000000..16c1a8bfcb --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Starlight @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Starlight @BBL base", + "inherits": "Panchroma PLA Starlight @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json index c31df860c9..18c47b256a 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_01", + "setting_id": "MhWpOISJ94dCFLkL", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1.json index 7d0a259c82..8f35932204 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL A1", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_00", + "setting_id": "afjWBIswJY3gc5LB", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json index e965532271..fe118e5196 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_03", + "setting_id": "FLjIiVwIw3hBR4zr", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M.json index b8d390ac59..847caf796d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL A1M", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_02", + "setting_id": "FnQCzJdXUvEN6UQD", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json index 18bc4ee042..f56dcd1e1c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_05", + "setting_id": "Q0sKvONnbUG681AH", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P.json index da5f9cb944..f661d2c87c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL P1P", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_04", + "setting_id": "I85PKyUlLOUrI6PX", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json index ca3d26546d..6e2cfc1a2f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_07", + "setting_id": "t8zf48odJN0uPudJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1.json index b5c6ac4677..62a3fe9c94 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL X1", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_06", + "setting_id": "BdVwwKFmYpKF3lRd", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json index a0d88ed2a2..8d441e2155 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_09", + "setting_id": "XYFkKA5rrYglMvYM", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C.json index 904a5a8989..7912a33d33 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Temp Shift @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Temp Shift @BBL X1C", - "inherits": "Panchroma PLA Temp Shift @base", + "inherits": "Panchroma PLA Temp Shift @BBL base", "from": "system", - "setting_id": "GFSPM015_08", + "setting_id": "OlYGtaCNurO3M3sg", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL base.json new file mode 100644 index 0000000000..763d8eb6ca --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Temp Shift @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA Temp Shift @BBL base", + "inherits": "Panchroma PLA Temp Shift @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json index 0078623ce2..76ded72324 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_01", + "setting_id": "zDyzNmefpuxJCUf1", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1.json index aaa1caeb72..267542b75b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL A1", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_00", + "setting_id": "oJpOjk6xOr69m72O", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json index f8c904ca5a..f8d9c88a56 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_03", + "setting_id": "pJn7qO8UafWUd7bK", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M.json index af56eb9d0b..c98588964b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL A1M", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_02", + "setting_id": "P0oMTDXeotLr88q3", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json index d184549271..8accf85cd7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_05", + "setting_id": "yLrxM4mMZK4Fnbix", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P.json index 7c6352f796..121ce473fc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL P1P", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_04", + "setting_id": "NlLnaah4H9VBmrg5", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json index 5e6459dab2..8740aacf3b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_07", + "setting_id": "h0XL2rQLSJDH201O", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1.json index e4c5264897..e47becd271 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL X1", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_06", + "setting_id": "jwYkduo5MDavMoAq", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json index 7de90acf15..c97b449e17 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_09", + "setting_id": "lYVGQR5ASM1xcY5x", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C.json index a7b9f9d960..9b96d50f32 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA Translucent @BBL X1C", - "inherits": "Panchroma PLA Translucent @base", + "inherits": "Panchroma PLA Translucent @BBL base", "from": "system", - "setting_id": "GFSPM006_08", + "setting_id": "8wamrzX02dIlNwyB", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL base.json new file mode 100644 index 0000000000..de3edbb787 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA Translucent @BBL base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Panchroma PLA Translucent @BBL base", + "inherits": "Panchroma PLA Translucent @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json index ad46ce3ca8..73bad6fa61 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL A1 0.2 nozzle", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_01", + "setting_id": "7TCFz5BoNlzot5qI", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1.json index ebc5d11ea1..de81558654 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL A1", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_00", + "setting_id": "oc0d9P8i9ayTXhbo", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json index f69f8986f1..3489fcc0a0 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL A1M 0.2 nozzle", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_03", + "setting_id": "wWQ8UeVEjOFGNcF0", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M.json index 2d62c7b9bd..abfa010e9e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL A1M", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_02", + "setting_id": "EIduHLHB0VdCzUaZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json index 7781c4576e..c01a00df0c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL P1P 0.2 nozzle", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_05", + "setting_id": "D27EcyIrV9yzFJTU", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P.json index 795fa3ded8..22b64cd805 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL P1P", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_04", + "setting_id": "ek4lPfBD7JS3B4rK", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json index 2fd8082b4a..b45a366ed1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL X1 0.2 nozzle", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_07", + "setting_id": "HoU6Q2qUtDHDhP8L", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1.json index c2bc0b9eda..b0fbc37193 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL X1", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_06", + "setting_id": "hVSsizCHzMJgGpZt", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json similarity index 85% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json index 3fa53d3985..744e3e941b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL X1C 0.2 nozzle", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_09", + "setting_id": "aZKuZsTTX3GQP0uE", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C.json index db9a5a9da0..69a4e897a2 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Panchroma PLA UV Shift @BBL X1C", - "inherits": "Panchroma PLA UV Shift @base", + "inherits": "Panchroma PLA UV Shift @BBL base", "from": "system", - "setting_id": "GFSPM014_08", + "setting_id": "0PPfIX4yL8BoCdD1", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL base.json new file mode 100644 index 0000000000..a3e099410e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Panchroma PLA UV Shift @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Panchroma PLA UV Shift @BBL base", + "inherits": "Panchroma PLA UV Shift @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1.json index b45a5cbad4..8f5acc37e9 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite CosPLA @BBL A1", "inherits": "PolyLite CosPLA @base", "from": "system", - "setting_id": "GFSL62_00", + "setting_id": "RZYqtQDR4zIvSrXg", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1M.json index 679b39ff18..4f7eaba197 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite CosPLA @BBL A1M", "inherits": "PolyLite CosPLA @base", "from": "system", - "setting_id": "GFSL62_01", + "setting_id": "yNMQPBXRPOdpkuiG", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL P1P.json index ef0e9ae3a6..2f5b93746f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite CosPLA @BBL P1P", "inherits": "PolyLite CosPLA @base", "from": "system", - "setting_id": "GFSL62_02", + "setting_id": "jvptdmELTscDj8ay", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL X1.json index 7442729e32..5bbf9ff1b1 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite CosPLA @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite CosPLA @BBL X1", "inherits": "PolyLite CosPLA @base", "from": "system", - "setting_id": "GFSL62_03", + "setting_id": "2kR4lOogidryispD", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1.json index feee6effdb..d324c766bc 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Galaxy @BBL A1", "inherits": "PolyLite PLA Galaxy @base", "from": "system", - "setting_id": "GFSL63_00", + "setting_id": "BLC6OE9zCj7LjJjp", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1M.json index e7e4f70f23..f87860f55d 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Galaxy @BBL A1M", "inherits": "PolyLite PLA Galaxy @base", "from": "system", - "setting_id": "GFSL63_01", + "setting_id": "FNCJtFwvh9M7HyuM", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL P1P.json index 5c29bee1f3..ea0c64e419 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Galaxy @BBL P1P", "inherits": "PolyLite PLA Galaxy @base", "from": "system", - "setting_id": "GFSL63_02", + "setting_id": "8BCbg87dmo5amtRg", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL X1.json index 5442a29906..f2dacc4ca3 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Galaxy @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Galaxy @BBL X1", "inherits": "PolyLite PLA Galaxy @base", "from": "system", - "setting_id": "GFSL63_03", + "setting_id": "2kfI9rkYF93LpNRd", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1.json index 3c9a455cae..be691b2ace 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Glow @BBL A1", "inherits": "PolyLite PLA Glow @base", "from": "system", - "setting_id": "GFSL64_00", + "setting_id": "qn7H5PN0KgMm8Ee6", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1M.json index 205722c3d2..853fce1442 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Glow @BBL A1M", "inherits": "PolyLite PLA Glow @base", "from": "system", - "setting_id": "GFSL64_01", + "setting_id": "IVp9am7BOL6CAN5z", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL P1P.json index 2c67c2098b..c009583f3d 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Glow @BBL P1P", "inherits": "PolyLite PLA Glow @base", "from": "system", - "setting_id": "GFSL64_02", + "setting_id": "RHZanpy7EGdGAtF3", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL X1.json index 932e217ee5..066db3d6e6 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Glow @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Glow @BBL X1", "inherits": "PolyLite PLA Glow @base", "from": "system", - "setting_id": "GFSL64_03", + "setting_id": "Awxx4RSqrQAIhEFv", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1.json index 7b9b747ad1..53b45dbd2f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Luminous @BBL A1", "inherits": "PolyLite PLA Luminous @base", "from": "system", - "setting_id": "GFSL65_00", + "setting_id": "97DOrlNHiPMMGWR5", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1M.json index f6a84a52cb..d756a5516d 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Luminous @BBL A1M", "inherits": "PolyLite PLA Luminous @base", "from": "system", - "setting_id": "GFSL65_01", + "setting_id": "LOv2b9kaKYXUJIrJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL P1P.json index c89622dd47..147fa2c3f2 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Luminous @BBL P1P", "inherits": "PolyLite PLA Luminous @base", "from": "system", - "setting_id": "GFSL65_02", + "setting_id": "2wls9L4EqRFiGypv", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL X1.json index d9cca17665..4795f26970 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Luminous @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Luminous @BBL X1", "inherits": "PolyLite PLA Luminous @base", "from": "system", - "setting_id": "GFSL65_03", + "setting_id": "gp70NZoz5qCgHz5k", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1.json index c54ed61ca9..5636638102 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Neon @BBL A1", "inherits": "PolyLite PLA Neon @base", "from": "system", - "setting_id": "GFSL66_00", + "setting_id": "hwWKjnndkCU3SlEZ", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1M.json index b324cfd9bf..52c2899c98 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Neon @BBL A1M", "inherits": "PolyLite PLA Neon @base", "from": "system", - "setting_id": "GFSL66_01", + "setting_id": "CA5E5Q1TA87iSWzO", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL P1P.json index 79e994ecc4..a52ec2c4e7 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Neon @BBL P1P", "inherits": "PolyLite PLA Neon @base", "from": "system", - "setting_id": "GFSL66_02", + "setting_id": "N5UTXT19kDfbXFzU", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL X1.json index 6cc2023b3b..d915656d02 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Neon @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Neon @BBL X1", "inherits": "PolyLite PLA Neon @base", "from": "system", - "setting_id": "GFSL66_03", + "setting_id": "sUxGOFvUcbomrJPf", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1 0.2 nozzle.json index 0ff17288b1..5ffa8cadb5 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL A1 0.2 nozzle", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_01", + "setting_id": "7nuAyrO27zNpg9wf", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1.json index ec9d964a24..a84d5e6e4a 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL A1", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_00", + "setting_id": "BHoc6AnMAH5K74Aj", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json index f054661b8a..4c40ae1a7f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL A1M 0.2 nozzle", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_03", + "setting_id": "dDZvDBIEzJ09HaIY", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M.json index b2cec16452..6878b2883b 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL A1M", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_02", + "setting_id": "tvVT77ReLWwXVJ94", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json index f68cec25ac..6feb074149 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL P1P 0.2 nozzle", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_05", + "setting_id": "DQXQkdBzvuKYGgwy", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P.json index ebbcb11a4d..23d88dc5e3 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL P1P", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_04", + "setting_id": "4UouP8fbyytuGEh9", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1 0.2 nozzle.json index 5c160455d3..28c725b198 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL X1 0.2 nozzle", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_07", + "setting_id": "LhJeeHkaASQEVjTn", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1.json index 1edee961a4..ba78098938 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL X1", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_06", + "setting_id": "YcS2HQfu2ryGKNjU", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json index 66a6b1361b..5bda0d2371 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL X1C 0.2 nozzle", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_09", + "setting_id": "ZV4GAHpitfQoTpCI", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C.json index 95e83272ee..c8d422f0e9 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Pro @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "PolyLite PLA Pro @BBL X1C", - "inherits": "PolyLite PLA Pro @base", + "inherits": "PolyLite PLA Pro @BBL base", "from": "system", - "setting_id": "GFSPM019_08", + "setting_id": "4srNqDfqtDziN7qV", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL base.json new file mode 100644 index 0000000000..ed50abf183 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Pro @BBL base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "PolyLite PLA Pro @BBL base", + "inherits": "PolyLite PLA Pro @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1.json index 8e1425278b..5d52618010 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Starlight @BBL A1", "inherits": "PolyLite PLA Starlight @base", "from": "system", - "setting_id": "GFSL67_00", + "setting_id": "x3HpVqx9XW9lbRqW", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1M.json index ecb482cdcb..35b02ad63b 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Starlight @BBL A1M", "inherits": "PolyLite PLA Starlight @base", "from": "system", - "setting_id": "GFSL67_01", + "setting_id": "s9Bt0isdVCbdSW0F", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL P1P.json index 0f7210a5cc..a863663828 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Starlight @BBL P1P", "inherits": "PolyLite PLA Starlight @base", "from": "system", - "setting_id": "GFSL67_02", + "setting_id": "00qUK2jehjtj3TGx", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL X1.json index 88d436c526..3ba8df3c03 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Starlight @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Starlight @BBL X1", "inherits": "PolyLite PLA Starlight @base", "from": "system", - "setting_id": "GFSL67_03", + "setting_id": "DKJZNSTf5GsaaIGh", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1.json index 6664212a43..ddbfc08f77 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Translucent @BBL A1", "inherits": "PolyLite PLA Translucent @base", "from": "system", - "setting_id": "GFSL68_00", + "setting_id": "dHceYRjzcwzLsj0x", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1M.json index 7b20e40ce1..61dbdfaaf9 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Translucent @BBL A1M", "inherits": "PolyLite PLA Translucent @base", "from": "system", - "setting_id": "GFSL68_01", + "setting_id": "OdzH7quFslZrWu4D", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL P1P.json index f3f3198158..3c990bc685 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Translucent @BBL P1P", "inherits": "PolyLite PLA Translucent @base", "from": "system", - "setting_id": "GFSL68_02", + "setting_id": "JRp3eQU5ss6L3c1q", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL X1.json index f67db0a271..d3df5df701 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyLite PLA Translucent @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyLite PLA Translucent @BBL X1", "inherits": "PolyLite PLA Translucent @base", "from": "system", - "setting_id": "GFSL68_03", + "setting_id": "bb3M8zXSY90Q1itv", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1.json index 9bda6808d9..15a9b254cb 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA Marble @BBL A1", "inherits": "PolyTerra PLA Marble @base", "from": "system", - "setting_id": "GFSL69_00", + "setting_id": "Ni47TgOKsSs85PJE", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1M.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1M.json index 721e0b3d3d..6b8267439f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA Marble @BBL A1M", "inherits": "PolyTerra PLA Marble @base", "from": "system", - "setting_id": "GFSL69_01", + "setting_id": "Kson0GJmt8ntF4YI", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL P1P.json similarity index 90% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL P1P.json index 5dedafd5ff..55c7b5303f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA Marble @BBL P1P", "inherits": "PolyTerra PLA Marble @base", "from": "system", - "setting_id": "GFSL69_02", + "setting_id": "aWpbrCSSX38lHCnA", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL X1.json similarity index 91% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL X1.json index 8a47922219..e8f9e60ac7 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA Marble @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA Marble @BBL X1", "inherits": "PolyTerra PLA Marble @base", "from": "system", - "setting_id": "GFSL69_03", + "setting_id": "O7XwxOsxwFvLmnpP", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1.json index 08ace4c6a5..d425ce94e2 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA+ @BBL A1", "inherits": "PolyTerra PLA+ @base", "from": "system", - "setting_id": "GFSL70_00", + "setting_id": "dUlbwjCqWtjlCvnm", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1M.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1M.json index 86f3ab3ffb..956956002f 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL A1M.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA+ @BBL A1M", "inherits": "PolyTerra PLA+ @base", "from": "system", - "setting_id": "GFSL70_01", + "setting_id": "0JDQqqSmuHYSyw96", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL P1P.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL P1P.json index dd09d09637..3207cd79a9 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL P1P.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA+ @BBL P1P", "inherits": "PolyTerra PLA+ @base", "from": "system", - "setting_id": "GFSL70_02", + "setting_id": "0OM8MaObnp4YapKh", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL X1.json similarity index 89% rename from resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL X1.json index a28a8d30d8..17067e580a 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/PolyTerra PLA+ @BBL X1.json @@ -3,7 +3,7 @@ "name": "PolyTerra PLA+ @BBL X1", "inherits": "PolyTerra PLA+ @base", "from": "system", - "setting_id": "GFSL70_03", + "setting_id": "g8UtZo9rzucrDDRO", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1 0.2 nozzle.json index ed5963f237..5512413504 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL A1 0.2 nozzle", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_01", + "setting_id": "slYmT9dA3LLqD0be", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1.json index 1b56b76099..f1bf555ba4 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL A1", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_00", + "setting_id": "zVgRM5YBqLHPK4GW", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json index 77c6eb8c4f..dc1e605560 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL A1M 0.2 nozzle", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_03", + "setting_id": "jsAUYwGfSOhSbD4j", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M.json index d2658cdaaf..8b143fb54c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL A1M", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_02", + "setting_id": "wu8GY5oLKYeRmTBz", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json index a17c2cca66..b7601df909 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL P1P 0.2 nozzle", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_05", + "setting_id": "i9pO3z5aKKpG2Bzx", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P.json index 249eb1f3be..0482c25ee3 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL P1P", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_04", + "setting_id": "AnMfPI9uXHGmULQB", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1 0.2 nozzle.json index e5480765e3..28254af5ba 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL X1 0.2 nozzle", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_07", + "setting_id": "Oc91jGuSipSzgUfJ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1.json index 2e94b04dc7..bb1dde93c6 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL X1", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_06", + "setting_id": "lHSGRJDnVnktPC00", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json index 1f60d42cc1..e236a3d94e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL X1C 0.2 nozzle", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_09", + "setting_id": "MTp1xeVFrOKH0i0c", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C.json similarity index 88% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C.json index 04257c17e7..09bf02b13f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA @BBL X1C", - "inherits": "Polymaker HT-PLA @base", + "inherits": "Polymaker HT-PLA @BBL base", "from": "system", - "setting_id": "GFSPM017_08", + "setting_id": "2GENTxe0e6vil9B1", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL base.json new file mode 100644 index 0000000000..e9ffeb7382 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA @BBL base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Polymaker HT-PLA @BBL base", + "inherits": "Polymaker HT-PLA @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json similarity index 81% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json index 5bdd8b529b..6e04d7cd01 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL A1 0.2 nozzle", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_01", + "setting_id": "kZzdx6ZKazTMyAFO", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1.json index 042880d506..e4fb10f2cb 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL A1", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_00", + "setting_id": "5utdPhp0IJwPR4UM", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json index 3a67107ed5..2bd90b6671 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL A1M 0.2 nozzle", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_03", + "setting_id": "BWfRU15xATzKPSDq", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M.json similarity index 84% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M.json index e3dff1d4fc..14d0860498 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL A1M.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL A1M.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL A1M", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_02", + "setting_id": "cmE8Id8aqjJnEQOC", "instantiation": "true", "compatible_printers": [ "Bambu Lab A1 mini 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json index a77c921c4f..6230d2266f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL P1P 0.2 nozzle", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_05", + "setting_id": "qRNDKVWDQjvhsbRk", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P.json index 4ac3029cc8..432b4540b9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL P1P.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL P1P.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL P1P", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_04", + "setting_id": "WQ9Ie36OxVWVMZTs", "instantiation": "true", "compatible_printers": [ "Bambu Lab P1P 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json similarity index 80% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json index 990f68be15..6ac4908f51 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL X1 0.2 nozzle", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_07", + "setting_id": "VVzPI5haSYrbQSwt", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.2 nozzle" diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1.json similarity index 82% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1.json index d8052b99a8..3d02b62c3b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL X1", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_06", + "setting_id": "Zd7H1E7L2dB9wec4", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json similarity index 83% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json index c4c95ccca8..37e860c8a1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL X1C 0.2 nozzle", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_09", + "setting_id": "LdFkOELESgEZ2hxP", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.2 nozzle", diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C.json similarity index 87% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C.json index 0d12e2b887..212387a20d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @BBL X1C.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL X1C.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @BBL X1C", - "inherits": "Polymaker HT-PLA-GF @base", + "inherits": "Polymaker HT-PLA-GF @BBL base", "from": "system", - "setting_id": "GFSPM018_08", + "setting_id": "Y9702HoKQefN1etQ", "instantiation": "true", "compatible_printers": [ "Bambu Lab X1 Carbon 0.4 nozzle", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL base.json new file mode 100644 index 0000000000..55f7b14d94 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/BBL/Polymaker HT-PLA-GF @BBL base.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Polymaker HT-PLA-GF @BBL base", + "inherits": "Polymaker HT-PLA-GF @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA12-CF10 @base.json similarity index 54% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA12-CF10 @base.json index 674d5acb38..299b26856b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA12-CF10 @base.json @@ -73,5 +73,50 @@ ], "textured_plate_temp_initial_layer": [ "40" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_drying_softening_temperature": [ + "150" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-CF20 @base.json similarity index 54% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-CF20 @base.json index f28ee154b8..6b12a9a40e 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-CF20 @base.json @@ -70,5 +70,50 @@ ], "textured_plate_temp_initial_layer": [ "40" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_drying_softening_temperature": [ + "150" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-GF25 @base.json similarity index 54% rename from resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-GF25 @base.json index 426e4175db..6160c94714 100644 --- a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA6-GF25 @base.json @@ -73,5 +73,50 @@ ], "textured_plate_temp_initial_layer": [ "40" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_drying_softening_temperature": [ + "150" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA612-CF15 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA612-CF15 @base.json new file mode 100644 index 0000000000..9e7c30dc14 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PA612-CF15 @base.json @@ -0,0 +1,104 @@ +{ + "type": "filament", + "name": "Fiberon PA612-CF15 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "OFcBl0nJ", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "94.99" + ], + "filament_density": [ + "1.03" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "206.2" + ], + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_drying_softening_temperature": [ + "150" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PET-CF17 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PET-CF17 @base.json new file mode 100644 index 0000000000..f56f885917 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PET-CF17 @base.json @@ -0,0 +1,132 @@ +{ + "type": "filament", + "name": "Fiberon PET-CF17 @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFAc0Pr3", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "242" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "89.99" + ], + "filament_density": [ + "1.34" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "overhang_fan_speed": [ + "70" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "79.3" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PETG-rCF08 @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PETG-rCF08 @base.json new file mode 100644 index 0000000000..08e7989dbc --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Fiberon PETG-rCF08 @base.json @@ -0,0 +1,147 @@ +{ + "type": "filament", + "name": "Fiberon PETG-rCF08 @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "OFw4WD4T", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "12" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "39.99" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "95%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "69.7" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite CosPLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite CosPLA @base.json new file mode 100644 index 0000000000..a0ed46734e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite CosPLA @base.json @@ -0,0 +1,117 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFJgijky", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Galaxy @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Galaxy @base.json new file mode 100644 index 0000000000..3dbf49779f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Galaxy @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFvyB0Bz", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Glow @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Glow @base.json new file mode 100644 index 0000000000..fd598973b3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Glow @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OF5umxxT", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Luminous @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Luminous @base.json new file mode 100644 index 0000000000..e4c4679b13 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Luminous @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFBoSWxb", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Neon @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Neon @base.json new file mode 100644 index 0000000000..df73135660 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Neon @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFitS8al", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Starlight @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Starlight @base.json new file mode 100644 index 0000000000..467b3e5083 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Starlight @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFIxOuOu", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Translucent @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Translucent @base.json new file mode 100644 index 0000000000..8a03d118c7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyLite PLA Translucent @base.json @@ -0,0 +1,114 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFy02QHU", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA Marble @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA Marble @base.json new file mode 100644 index 0000000000..470a945b3a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA Marble @base.json @@ -0,0 +1,123 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFxe4rXr", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ] +} diff --git a/resources/profiles/BBL/filament/fdm_filament_sbs.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA+ @base.json similarity index 52% rename from resources/profiles/BBL/filament/fdm_filament_sbs.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA+ @base.json index 4aef177e14..ac351462b1 100644 --- a/resources/profiles/BBL/filament/fdm_filament_sbs.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/PolyTerra PLA+ @base.json @@ -1,85 +1,117 @@ { "type": "filament", - "name": "fdm_filament_sbs", - "inherits": "fdm_filament_common", + "name": "PolyTerra PLA+ @base", + "inherits": "fdm_filament_pla", "from": "system", + "filament_id": "OFEjbwqG", "instantiation": "false", - "fan_cooling_layer_time": [ - "100" - ], - "filament_max_volumetric_speed": [ - "23" - ], - "filament_type": [ - "SBS" - ], - "filament_density": [ - "1.02" - ], - "filament_cost": [ - "15" + "bed_type": [ + "Cool Plate" ], "cool_plate_temp": [ - "70" - ], - "eng_plate_temp": [ - "70" - ], - "hot_plate_temp": [ - "70" - ], - "textured_plate_temp": [ - "70" + "60" ], "cool_plate_temp_initial_layer": [ - "70" + "60" + ], + "eng_plate_temp": [ + "60" ], "eng_plate_temp_initial_layer": [ - "70" + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" ], "hot_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_initial_layer": [ - "235" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "fan_min_speed": [ - "0" - ], - "overhang_fan_threshold": [ - "50%" - ], - "close_fan_the_first_x_layers": [ - "3" + "60" ], "nozzle_temperature": [ - "235" + "230" ], - "temperature_vitrification": [ - "70" - ], - "nozzle_temperature_range_low": [ - "215" + "nozzle_temperature_initial_layer": [ + "230" ], "nozzle_temperature_range_high": [ - "250" + "230" ], - "slow_down_min_speed": [ - "20" + "overhang_fan_speed": [ + "75" ], "slow_down_layer_time": [ - "4" + "5" ], - "additional_cooling_fan_speed": [ - "40" + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @System.json new file mode 100644 index 0000000000..db1a73238a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @System.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro @System", + "inherits": "Polymaker PLA Pro @base", + "from": "system", + "setting_id": "i5Fvxdl7AAJcErsv", + "instantiation": "true", + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "15" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @base.json similarity index 73% rename from resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @base.json index 585a6dd554..b3878553fe 100644 --- a/resources/profiles/BBL/filament/Polymaker/Polymaker HT-PLA-GF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Polymaker/Polymaker PLA Pro @base.json @@ -1,21 +1,18 @@ { "type": "filament", - "name": "Polymaker HT-PLA-GF @base", + "name": "Polymaker PLA Pro @base", "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "OFlwmqrC", + "filament_id": "OF5oXk4M", "instantiation": "false", - "filament_cost": [ - "32.99" - ], "filament_density": [ - "1.34" + "1.23" ], "filament_flow_ratio": [ - "0.98" + "0.96" ], "filament_max_volumetric_speed": [ - "24" + "15" ], "filament_vendor": [ "Polymaker" @@ -32,10 +29,7 @@ "nozzle_temperature_range_low": [ "210" ], - "slow_down_layer_time": [ - "4" - ], "temperature_vitrification": [ - "60" + "55" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @System.json new file mode 100644 index 0000000000..3eb8940374 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "PlastAR PLA @System", + "inherits": "PlastAR PLA @base", + "from": "system", + "setting_id": "BuWjJYav1gbWZacL", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @base.json new file mode 100644 index 0000000000..6179da8788 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/PlastAR PLA @base.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "PlastAR PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "OFCTqYGM", + "instantiation": "false", + "filament_vendor": [ + "PlastAR" + ], + "filament_type": [ + "PLA" + ], + "filament_notes": "PlastAR PLA (Printalot budget line). Product page: https://printalot.com.ar/productos/filamentos/pla/plast-ar-pla-1-kg/ Community-contributed profile; not affiliated with or endorsed by Printalot.", + "filament_diameter": [ + "1.75" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @System.json new file mode 100644 index 0000000000..28dcf49bd2 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Printalot ABS @System", + "inherits": "Printalot ABS @base", + "from": "system", + "setting_id": "yIAtpMcQarjl45T7", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @base.json new file mode 100644 index 0000000000..073dc5c47d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Printalot/Printalot ABS @base.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Printalot ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "OFgq39c2", + "instantiation": "false", + "filament_vendor": [ + "Printalot" + ], + "filament_type": [ + "ABS" + ], + "filament_notes": "Printalot ABS. Product page: https://printalot.com.ar/productos/filamentos/abs/abs-1-kg/ Community-contributed profile; not affiliated with or endorsed by Printalot.", + "filament_diameter": [ + "1.75" + ], + "filament_density": [ + "1.05" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_retraction_length": [ + "0.2" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic ABS @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic ABS @BBL base.json new file mode 100644 index 0000000000..d4a694e968 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic ABS @BBL base.json @@ -0,0 +1,82 @@ +{ + "type": "filament", + "name": "Generic ABS @BBL base", + "inherits": "fdm_filament_abs", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "filament_adhesiveness_category": [ + "200" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "75" + ], + "filament_dev_ams_drying_time": [ + "12", + "8.0", + "12", + "8.0" + ], + "filament_dev_drying_cooling_temperature": [ + "75" + ], + "filament_dev_drying_softening_temperature": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "270" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA @BBL base.json new file mode 100644 index 0000000000..87e9176216 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA @BBL base.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Generic PA @BBL base", + "inherits": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "65" + ], + "fan_max_speed": [ + "85" + ], + "fan_min_speed": [ + "40" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "90" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_drying_cooling_temperature": [ + "65" + ], + "filament_dev_drying_softening_temperature": [ + "85" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "3" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA-CF @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA-CF @BBL base.json new file mode 100644 index 0000000000..27a6bcc8fe --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PA-CF @BBL base.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "Generic PA-CF @BBL base", + "inherits": "fdm_filament_pa", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_adhesiveness_category": [ + "400" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "165" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "85", + "65", + "85" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_time": [ + "18" + ], + "filament_dev_drying_cooling_temperature": [ + "150" + ], + "filament_dev_drying_softening_temperature": [ + "150" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_type": [ + "PA-CF" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "170" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PC @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PC @BBL base.json new file mode 100644 index 0000000000..d979d07df1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PC @BBL base.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Generic PC @BBL base", + "inherits": "fdm_filament_pc", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "500" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "105" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "80", + "65", + "80" + ], + "filament_dev_ams_drying_time": [ + "12", + "8.0", + "12", + "8.0" + ], + "filament_dev_drying_cooling_temperature": [ + "90" + ], + "filament_dev_drying_softening_temperature": [ + "90" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; Filament gcode\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG @BBL base.json new file mode 100644 index 0000000000..a65e4d08bc --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG @BBL base.json @@ -0,0 +1,107 @@ +{ + "type": "filament", + "name": "Generic PETG @BBL base", + "inherits": "fdm_filament_pet", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG-CF @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG-CF @BBL base.json new file mode 100644 index 0000000000..8349f1f552 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PETG-CF @BBL base.json @@ -0,0 +1,113 @@ +{ + "type": "filament", + "name": "Generic PETG-CF @BBL base", + "inherits": "Generic PETG-CF @base", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_adhesiveness_category": [ + "300" + ], + "filament_cost": [ + "34.99" + ], + "filament_density": [ + "1.25" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "75" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "65", + "55", + "55" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "80" + ], + "filament_dev_drying_cooling_temperature": [ + "55" + ], + "filament_dev_drying_softening_temperature": [ + "60" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "40" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA @BBL base.json new file mode 100644 index 0000000000..75bd53937d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA @BBL base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Generic PLA @BBL base", + "inherits": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA High Speed @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA High Speed @BBL base.json new file mode 100644 index 0000000000..d25b8b2972 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA High Speed @BBL base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Generic PLA High Speed @BBL base", + "inherits": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA Silk @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA Silk @BBL base.json new file mode 100644 index 0000000000..15a73adc83 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA Silk @BBL base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Generic PLA Silk @BBL base", + "inherits": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA-CF @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA-CF @BBL base.json new file mode 100644 index 0000000000..0f1f98fe3d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic PLA-CF @BBL base.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Generic PLA-CF @BBL base", + "inherits": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "close_additional_fan_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_adhesiveness_category": [ + "100" + ], + "filament_dev_ams_drying_ams_limitations": [ + "1", + "0" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "45", + "45", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "12", + "12", + "12" + ], + "filament_dev_chamber_drying_bed_temperature": [ + "70" + ], + "filament_dev_drying_cooling_temperature": [ + "45" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_type": [ + "PLA-CF" + ], + "required_nozzle_HRC": [ + "40" + ], + "retraction_distances_when_ec": [ + "0" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "50" + ], + "supertack_plate_temp_initial_layer": [ + "50" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic TPU @BBL base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic TPU @BBL base.json new file mode 100644 index 0000000000..37ca736246 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/Generic TPU @BBL base.json @@ -0,0 +1,49 @@ +{ + "type": "filament", + "name": "Generic TPU @BBL base", + "inherits": "fdm_filament_tpu", + "from": "system", + "instantiation": "false", + "close_additional_fan_first_x_layers": [ + "3" + ], + "filament_adhesiveness_category": [ + "600" + ], + "filament_dev_ams_drying_heat_distortion_temperature": [ + "45" + ], + "filament_dev_ams_drying_temperature": [ + "65", + "75", + "45", + "45" + ], + "filament_dev_ams_drying_time": [ + "12", + "18", + "12", + "18" + ], + "filament_dev_chamber_drying_time": [ + "16" + ], + "filament_dev_drying_cooling_temperature": [ + "40" + ], + "filament_dev_drying_softening_temperature": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "retraction_distances_when_ec": [ + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/addnorth/addnorth ABS rABS.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth ABS rABS.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth ABS rABS.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth ABS rABS.json index ecc4aa62f4..c5e97344e6 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth ABS rABS.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth ABS rABS.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth ABS rABS", - "inherits": "Generic ABS @base", + "inherits": "Generic ABS @BBL base", "from": "system", - "setting_id": "GF_ANRA_00", + "setting_id": "bYVQgQBBRMux4QtM", "filament_id": "OFzk5oAo", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "105" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PA Adura FDA.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura FDA.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PA Adura FDA.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura FDA.json index 3d4fbe9c88..a6cec42f4a 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PA Adura FDA.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura FDA.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PA Adura FDA", - "inherits": "Generic PA @base", + "inherits": "Generic PA @BBL base", "from": "system", - "setting_id": "GF_ANAF_00", + "setting_id": "P7DJKbbOFdbW8PiQ", "filament_id": "OFSw6Mor", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PA Adura.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PA Adura.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura.json index 5486b65d44..1c072f99b1 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PA Adura.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA Adura.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PA Adura", - "inherits": "Generic PA @base", + "inherits": "Generic PA @BBL base", "from": "system", - "setting_id": "GF_ANAD_00", + "setting_id": "08Ph3NCT7oy6bt1I", "filament_id": "OFWK0Y9A", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PA-CF Adura X.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA-CF Adura X.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PA-CF Adura X.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA-CF Adura X.json index 1881e454f5..b07d89b749 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PA-CF Adura X.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA-CF Adura X.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PA-CF Adura X", - "inherits": "Generic PA-CF @base", + "inherits": "Generic PA-CF @BBL base", "from": "system", - "setting_id": "GF_ANAX_00", + "setting_id": "anjeZ96YVijlGovm", "filament_id": "OFBsbMMF", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PA6 Addlantis.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA6 Addlantis.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PA6 Addlantis.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA6 Addlantis.json index e0696d14fe..a0a967026e 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PA6 Addlantis.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PA6 Addlantis.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PA6 Addlantis", - "inherits": "Generic PA @base", + "inherits": "Generic PA @BBL base", "from": "system", - "setting_id": "GF_ANLA_00", + "setting_id": "b9bF4KKvxA9TaOjF", "filament_id": "OF1ID4N1", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PC BLend HT LCF.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PC BLend HT LCF.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PC BLend HT LCF.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PC BLend HT LCF.json index d64bb0629e..2a4219ef1d 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PC BLend HT LCF.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PC BLend HT LCF.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PC BLend HT LCF", - "inherits": "Generic PC @base", + "inherits": "Generic PC @BBL base", "from": "system", - "setting_id": "GF_ANPBX_00", + "setting_id": "UWA9V5XulJ8hHOsK", "filament_id": "OFhN09f0", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG Base.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Base.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG Base.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Base.json index 6a4af4f908..2f4206faea 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG Base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Base.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG Base", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANPE_00", + "setting_id": "Akp0GVUm3MHf7OsA", "filament_id": "OFHHwrd1", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "75" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG ESD.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG ESD.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG ESD.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG ESD.json index ff647879dc..1cafba7a4e 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG ESD.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG ESD.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG ESD", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANEG_00", + "setting_id": "6nKNE7WJ6wCFrNoi", "filament_id": "OFUtiVRn", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "70" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG Economy.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Economy.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG Economy.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Economy.json index fdbaa361f2..17f23ee8b3 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG Economy.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Economy.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG Economy", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANGE_00", + "setting_id": "eQivhqRViItWCwEX", "filament_id": "OFZGrQTU", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "75" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG Flame v0.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Flame v0.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG Flame v0.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Flame v0.json index 12849a851d..3a83fffcdc 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG Flame v0.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG Flame v0.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG Flame v0", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANPF_00", + "setting_id": "mrOAjreoxAIouiAt", "filament_id": "OF0EYBWQ", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "70" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG PRO Matte.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG PRO Matte.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG PRO Matte.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG PRO Matte.json index bdbecc7722..b894fad112 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG PRO Matte.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG PRO Matte.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG PRO Matte", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANPM_00", + "setting_id": "KFHaOT0Jte5AvS9h", "filament_id": "OFU5JPDy", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG rPETG Matte.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG rPETG Matte.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG rPETG Matte.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG rPETG Matte.json index a466f88b0a..fc7470096e 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG rPETG Matte.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG rPETG Matte.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG rPETG Matte", - "inherits": "Generic PETG @base", + "inherits": "Generic PETG @BBL base", "from": "system", - "setting_id": "GF_ANRM_00", + "setting_id": "nQKorwiLMPEErXYY", "filament_id": "OFqTwtXM", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "75" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PETG-CF Rigid X.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG-CF Rigid X.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PETG-CF Rigid X.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG-CF Rigid X.json index a5c78fe215..70d3df17cf 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PETG-CF Rigid X.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PETG-CF Rigid X.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PETG-CF Rigid X", - "inherits": "Generic PETG-CF @base", + "inherits": "Generic PETG-CF @BBL base", "from": "system", - "setting_id": "GF_ANRX_00", + "setting_id": "YBPZbWUVDHXCCNuf", "filament_id": "OFAcJkl1", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA E-PLA.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA E-PLA.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA E-PLA.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA E-PLA.json index f32705ba65..783ee6ccd1 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA E-PLA.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA E-PLA.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA E-PLA", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANEP_00", + "setting_id": "8uUckNJ5ysf07IYC", "filament_id": "OF71b7qO", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA Economy.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Economy.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA Economy.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Economy.json index fa2c0e9ae0..84a22a9a60 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA Economy.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Economy.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA Economy", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANPL_00", + "setting_id": "ZENT5cw0e5khSvwe", "filament_id": "OFZJft47", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA HT-PLA PRO Matte.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA HT-PLA PRO Matte.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA HT-PLA PRO Matte.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA HT-PLA PRO Matte.json index 1dc1796d4b..f3236b5d5a 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA HT-PLA PRO Matte.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA HT-PLA PRO Matte.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA HT-PLA PRO Matte", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANHTP_00", + "setting_id": "9qfkzOF7e8gAXv57", "filament_id": "OFVDWuxl", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "75" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA Premium Silk.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Premium Silk.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA Premium Silk.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Premium Silk.json index f64767d1e3..f1bf250692 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA Premium Silk.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Premium Silk.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA Premium Silk", - "inherits": "Generic PLA Silk @base", + "inherits": "Generic PLA Silk @BBL base", "from": "system", - "setting_id": "GF_ANPS_00", + "setting_id": "Z15Ye6VtACtidxAY", "filament_id": "OFOQCfVa", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA Textura.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Textura.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA Textura.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Textura.json index 1bbfb305b2..218bb0f6af 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA Textura.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Textura.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA Textura", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANTE_00", + "setting_id": "Lghtct7718TzOZhh", "filament_id": "OFRFhdqy", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA Wood.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Wood.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA Wood.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Wood.json index 99ec158160..d4c4c4c04f 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA Wood.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA Wood.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA Wood", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANPLW_00", + "setting_id": "HLJjfniZF8YnyDXs", "filament_id": "OFN8QBhu", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "60" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA High Speed.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA High Speed.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA High Speed.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA High Speed.json index ffe91af773..939a8301fb 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA High Speed.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA High Speed.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA X-PLA High Speed", - "inherits": "Generic PLA High Speed @base", + "inherits": "Generic PLA High Speed @BBL base", "from": "system", - "setting_id": "GF_ANXPH_00", + "setting_id": "6Z0HjNASgsk02KHj", "filament_id": "OFLjDYxH", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA.json index 073b96a224..075ab03f46 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA X-PLA.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA X-PLA.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA X-PLA", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANXP_00", + "setting_id": "DwatndcgamhNXNwa", "filament_id": "OFtdVZpV", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA rPLA RE-ADD.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA rPLA RE-ADD.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA rPLA RE-ADD.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA rPLA RE-ADD.json index b6a2695235..771869bc04 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA rPLA RE-ADD.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA rPLA RE-ADD.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA rPLA RE-ADD", - "inherits": "Generic PLA @base", + "inherits": "Generic PLA @BBL base", "from": "system", - "setting_id": "GF_ANRPL_00", + "setting_id": "C3PV2FCtxFb74701", "filament_id": "OFnBvPhb", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PLA-CF Carbon Fiber.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA-CF Carbon Fiber.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PLA-CF Carbon Fiber.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA-CF Carbon Fiber.json index 7910e3c772..60eebfce37 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PLA-CF Carbon Fiber.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PLA-CF Carbon Fiber.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PLA-CF Carbon Fiber", - "inherits": "Generic PLA-CF @base", + "inherits": "Generic PLA-CF @BBL base", "from": "system", - "setting_id": "GF_ANPCF_00", + "setting_id": "6EGbWT7sxqv613lw", "filament_id": "OFcpa50Z", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -315,6 +323,5 @@ ], "textured_plate_temp_initial_layer": [ "55" - ], - "version": "2.0.0.87" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth PVDF Adamant S1.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PVDF Adamant S1.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth PVDF Adamant S1.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PVDF Adamant S1.json index 13604f5832..584d049776 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth PVDF Adamant S1.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth PVDF Adamant S1.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth PVDF Adamant S1", - "inherits": "Generic PA @base", + "inherits": "Generic PA @BBL base", "from": "system", - "setting_id": "GF_ANPV_00", + "setting_id": "rc1IER71KiN6wNpH", "filament_id": "OFQ5TxZ2", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth TPU EasyFlex.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU EasyFlex.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth TPU EasyFlex.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU EasyFlex.json index d8a9ca5ca3..f75218b666 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth TPU EasyFlex.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU EasyFlex.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth TPU EasyFlex", - "inherits": "Generic TPU @base", + "inherits": "Generic TPU @BBL base", "from": "system", - "setting_id": "GF_ANEF_00", + "setting_id": "X0NEq8DKNad80uRp", "filament_id": "OFO6GMJ3", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "35" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 85A.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 85A.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 85A.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 85A.json index f4d1beac7d..446377b7c4 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 85A.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 85A.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth TPU Pro Matte 85A", - "inherits": "Generic TPU @base", + "inherits": "Generic TPU @BBL base", "from": "system", - "setting_id": "GF_ANTA_00", + "setting_id": "2vvu1QFF18EEijLG", "filament_id": "OFvcIGee", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -334,6 +342,5 @@ ], "textured_plate_temp_initial_layer": [ "35" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 95A.json b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 95A.json similarity index 94% rename from resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 95A.json rename to resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 95A.json index 61d6100a71..b63da895a8 100644 --- a/resources/profiles/BBL/filament/addnorth/addnorth TPU Pro Matte 95A.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/addnorth/BBL/addnorth TPU Pro Matte 95A.json @@ -1,9 +1,9 @@ { "type": "filament", "name": "addnorth TPU Pro Matte 95A", - "inherits": "Generic TPU @base", + "inherits": "Generic TPU @BBL base", "from": "system", - "setting_id": "GF_ANTM_00", + "setting_id": "lfe1hOdWYCc1gyop", "filament_id": "OFyJjkek", "instantiation": "true", "activate_air_filtration": [ @@ -58,7 +58,15 @@ "Bambu Lab X2D 0.2 nozzle", "Bambu Lab X2D 0.4 nozzle", "Bambu Lab X2D 0.6 nozzle", - "Bambu Lab X2D 0.8 nozzle" + "Bambu Lab X2D 0.8 nozzle", + "Bambu Lab H2C 0.2 nozzle", + "Bambu Lab H2C 0.4 nozzle", + "Bambu Lab H2C 0.6 nozzle", + "Bambu Lab H2C 0.8 nozzle", + "Bambu Lab A2L 0.2 nozzle", + "Bambu Lab A2L 0.4 nozzle", + "Bambu Lab A2L 0.6 nozzle", + "Bambu Lab A2L 0.8 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], @@ -335,6 +343,5 @@ ], "textured_plate_temp_initial_layer": [ "35" - ], - "version": "2.0.0.77" + ] } diff --git a/resources/profiles/Peopoly.json b/resources/profiles/Peopoly.json index 2a73d251f1..9b95c24bb3 100644 --- a/resources/profiles/Peopoly.json +++ b/resources/profiles/Peopoly.json @@ -1,6 +1,6 @@ { "name": "Peopoly", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Peopoly configurations", "machine_model_list": [ diff --git a/resources/profiles/Peopoly/machine/fdm_klipper_common.json b/resources/profiles/Peopoly/machine/fdm_klipper_common.json index e9a5185767..00e4209105 100644 --- a/resources/profiles/Peopoly/machine/fdm_klipper_common.json +++ b/resources/profiles/Peopoly/machine/fdm_klipper_common.json @@ -119,7 +119,6 @@ "z_hop_types": [ "Auto Lift" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE", diff --git a/resources/profiles/Peopoly/machine/fdm_machine_common.json b/resources/profiles/Peopoly/machine/fdm_machine_common.json index f6bd23139c..c47cfdced1 100644 --- a/resources/profiles/Peopoly/machine/fdm_machine_common.json +++ b/resources/profiles/Peopoly/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Peopoly/process/fdm_process_common.json b/resources/profiles/Peopoly/process/fdm_process_common.json index 5e2f73458e..9b48c69b28 100644 --- a/resources/profiles/Peopoly/process/fdm_process_common.json +++ b/resources/profiles/Peopoly/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json b/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json index d4da354499..014fdb8ffb 100644 --- a/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json +++ b/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Peopoly/process/fdm_process_pply_common.json b/resources/profiles/Peopoly/process/fdm_process_pply_common.json index be008f5478..1bfb430465 100644 --- a/resources/profiles/Peopoly/process/fdm_process_pply_common.json +++ b/resources/profiles/Peopoly/process/fdm_process_pply_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "80", diff --git a/resources/profiles/Phrozen.json b/resources/profiles/Phrozen.json index 0c711816c1..f07568bb29 100644 --- a/resources/profiles/Phrozen.json +++ b/resources/profiles/Phrozen.json @@ -1,6 +1,6 @@ { "name": "Phrozen", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "Phrozen configurations", "machine_model_list": [ diff --git a/resources/profiles/Phrozen/filament/Generic PLA @Phrozen Arco 0.4 nozzle.json b/resources/profiles/Phrozen/filament/Generic PLA @Phrozen Arco 0.4 nozzle.json index d909765bad..c53abee956 100644 --- a/resources/profiles/Phrozen/filament/Generic PLA @Phrozen Arco 0.4 nozzle.json +++ b/resources/profiles/Phrozen/filament/Generic PLA @Phrozen Arco 0.4 nozzle.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Phrozen Arco 0.4 nozzle", - "inherits": "Generic PLA @System", "renamed_from": "Phrozen PLA @Phrozen Arco 0.4 nozzle;Phrozen PLA Phrozen Arco 0.4 nozzle", + "inherits": "Generic PLA @System", "from": "system", "setting_id": "xTeHmDOY48Bik10J", "instantiation": "true", @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "31.925" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "24.75" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Phrozen/machine/Phrozen Arco 0.4 nozzle.json b/resources/profiles/Phrozen/machine/Phrozen Arco 0.4 nozzle.json index c34d188507..963b3b4727 100644 --- a/resources/profiles/Phrozen/machine/Phrozen Arco 0.4 nozzle.json +++ b/resources/profiles/Phrozen/machine/Phrozen Arco 0.4 nozzle.json @@ -202,7 +202,6 @@ "45" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "0", diff --git a/resources/profiles/Phrozen/machine/_fdm_machine_common.json b/resources/profiles/Phrozen/machine/_fdm_machine_common.json deleted file mode 100644 index 823f9a173b..0000000000 --- a/resources/profiles/Phrozen/machine/_fdm_machine_common.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "type": "machine", - "name": "fdm_machine_common", - "from": "system", - "instantiation": "false", - "gcode_flavor": "marlin", - "machine_start_gcode": "", - "machine_end_gcode": "", - "extruder_colour": [ - "#018001" - ], - "extruder_offset": [ - "0x0" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "2000", - "2000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "3000", - "3000" - ], - "machine_max_acceleration_x": [ - "2000", - "2000" - ], - "machine_max_acceleration_y": [ - "2000", - "2000" - ], - "machine_max_acceleration_z": [ - "300", - "200" - ], - "machine_max_speed_e": [ - "25", - "25" - ], - "machine_max_speed_x": [ - "300", - "200" - ], - "machine_max_speed_y": [ - "300", - "200" - ], - "machine_max_speed_z": [ - "12", - "12" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "0.2", - "0.4" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.3" - ], - "min_layer_height": [ - "0.08" - ], - "printable_height": "300", - "extruder_clearance_radius": "65", - "extruder_clearance_height_to_rod": "36", - "extruder_clearance_height_to_lid": "140", - "nozzle_diameter": [ - "0.4" - ], - "printer_settings_id": "", - "printer_technology": "FFF", - "printer_variant": "0.4", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "70%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.8" - ], - "retract_length_toolchange": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retraction_speed": [ - "30" - ], - "deretraction_speed": [ - "30" - ], - "silent_mode": "0", - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "machine_pause_gcode": "M400 U1\n", - "wipe": [ - "1" - ], - "z_hop_types": "Normal Lift" -} diff --git a/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json b/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json index 74be068c38..d4bb3d5479 100644 --- a/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json +++ b/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json @@ -127,8 +127,6 @@ "overhang_reverse": "0", "overhang_reverse_internal_only": "0", "overhang_reverse_threshold": "50%", - "overhang_speed_classic": "1", - "overhang_totally_speed": "10", "post_process": [], "precise_outer_wall": "1", "precise_z_height": "0", diff --git a/resources/profiles/Phrozen/process/fdm_process_common.json b/resources/profiles/Phrozen/process/fdm_process_common.json index 868bbc1a2e..f813b8fa7f 100644 --- a/resources/profiles/Phrozen/process/fdm_process_common.json +++ b/resources/profiles/Phrozen/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -78,7 +77,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", diff --git a/resources/profiles/Positron3D.json b/resources/profiles/Positron3D.json index d8e066ce73..d8008abb55 100644 --- a/resources/profiles/Positron3D.json +++ b/resources/profiles/Positron3D.json @@ -1,6 +1,6 @@ { "name": "Positron 3D", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Positron 3D Printer Profile", "machine_model_list": [ diff --git a/resources/profiles/Positron3D/machine/fdm_common_the_positron.json b/resources/profiles/Positron3D/machine/fdm_common_the_positron.json index 4226a5a0e4..68e95b626e 100644 --- a/resources/profiles/Positron3D/machine/fdm_common_the_positron.json +++ b/resources/profiles/Positron3D/machine/fdm_common_the_positron.json @@ -117,7 +117,6 @@ "40" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Positron3D/machine/fdm_machine_common.json b/resources/profiles/Positron3D/machine/fdm_machine_common.json index 11833be972..a07212bae7 100644 --- a/resources/profiles/Positron3D/machine/fdm_machine_common.json +++ b/resources/profiles/Positron3D/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Positron3D/process/fdm_process_common.json b/resources/profiles/Positron3D/process/fdm_process_common.json index b8e882770a..0d558129af 100644 --- a/resources/profiles/Positron3D/process/fdm_process_common.json +++ b/resources/profiles/Positron3D/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -83,7 +82,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index ecbbe179e7..e16e2d3be3 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -1,6 +1,6 @@ { "name": "Prusa", - "version": "02.04.00.04", + "version": "02.04.00.08", "force_update": "0", "description": "Prusa configurations", "machine_model_list": [ @@ -20,6 +20,10 @@ "name": "Prusa CORE One L HF", "sub_path": "machine/Prusa CORE One L HF.json" }, + { + "name": "Prusa CORE One MMU3", + "sub_path": "machine/Prusa CORE One MMU3.json" + }, { "name": "Prusa MINI", "sub_path": "machine/Prusa MINI.json" @@ -702,6 +706,26 @@ "name": "0.25mm Speed @MINIIS", "sub_path": "process/0.25mm Speed @MINIIS.json" }, + { + "name": "0.15mm BALANCED @COREONE0.4 + MMU3", + "sub_path": "process/0.15mm BALANCED @COREONE0.4 + MMU3.json" + }, + { + "name": "0.20mm BALANCED @COREONE0.4 + MMU3", + "sub_path": "process/0.20mm BALANCED @COREONE0.4 + MMU3.json" + }, + { + "name": "0.25mm BALANCED @COREONE0.4 + MMU3", + "sub_path": "process/0.25mm BALANCED @COREONE0.4 + MMU3.json" + }, + { + "name": "0.25mm SPEED @COREONE0.4 + MMU3", + "sub_path": "process/0.25mm SPEED @COREONE0.4 + MMU3.json" + }, + { + "name": "0.25mm STRUCTURAL @COREONE0.4 + MMU3", + "sub_path": "process/0.25mm STRUCTURAL @COREONE0.4 + MMU3.json" + }, { "name": "0.05mm DETAIL @MK4S 0.25", "sub_path": "process/0.05mm DETAIL @MK4S 0.25.json" @@ -1114,6 +1138,14 @@ "name": "0.05mm DETAIL @CORE One L 0.25", "sub_path": "process/0.05mm DETAIL @CORE One L 0.25.json" }, + { + "name": "0.07mm DETAIL @COREONE0.25 + MMU3", + "sub_path": "process/0.07mm DETAIL @COREONE0.25 + MMU3.json" + }, + { + "name": "0.12mm SPEED @COREONE0.25 + MMU3", + "sub_path": "process/0.12mm SPEED @COREONE0.25 + MMU3.json" + }, { "name": "0.12mm STRUCTURAL @CORE One 0.25", "sub_path": "process/0.12mm STRUCTURAL @CORE One 0.25.json" @@ -1134,6 +1166,10 @@ "name": "0.15mm STRUCTURAL @MK4S 0.25", "sub_path": "process/0.15mm STRUCTURAL @MK4S 0.25.json" }, + { + "name": "0.12mm STRUCTURAL @COREONE0.3 + MMU3", + "sub_path": "process/0.12mm STRUCTURAL @COREONE0.3 + MMU3.json" + }, { "name": "0.16mm SPEED @MK4S 0.3", "sub_path": "process/0.16mm SPEED @MK4S 0.3.json" @@ -1158,6 +1194,10 @@ "name": "0.10mm FAST DETAIL @CORE One L 0.4", "sub_path": "process/0.10mm FAST DETAIL @CORE One L 0.4.json" }, + { + "name": "0.15mm SPEED @COREONE0.4 + MMU3", + "sub_path": "process/0.15mm SPEED @COREONE0.4 + MMU3.json" + }, { "name": "0.15mm SPEED @CORE One HF 0.4", "sub_path": "process/0.15mm SPEED @CORE One HF 0.4.json" @@ -1166,6 +1206,22 @@ "name": "0.15mm SPEED @CORE One L HF 0.4", "sub_path": "process/0.15mm SPEED @CORE One L HF 0.4.json" }, + { + "name": "0.15mm STRUCTURAL @COREONE0.6 + MMU3", + "sub_path": "process/0.15mm STRUCTURAL @COREONE0.6 + MMU3.json" + }, + { + "name": "0.20mm SOLUBLE FULL @COREONE0.4 + MMU3", + "sub_path": "process/0.20mm SOLUBLE FULL @COREONE0.4 + MMU3.json" + }, + { + "name": "0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3", + "sub_path": "process/0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3.json" + }, + { + "name": "0.20mm SPEED @COREONE0.4 + MMU3", + "sub_path": "process/0.20mm SPEED @COREONE0.4 + MMU3.json" + }, { "name": "0.20mm SPEED @CORE One HF 0.5", "sub_path": "process/0.20mm SPEED @CORE One HF 0.5.json" @@ -1198,6 +1254,10 @@ "name": "0.25mm SPEED @MK4S HF0.5", "sub_path": "process/0.25mm SPEED @MK4S HF0.5.json" }, + { + "name": "0.20mm SPEED @COREONE0.6 + MMU3", + "sub_path": "process/0.20mm SPEED @COREONE0.6 + MMU3.json" + }, { "name": "0.20mm SPEED @CORE One HF 0.6", "sub_path": "process/0.20mm SPEED @CORE One HF 0.6.json" @@ -1222,6 +1282,10 @@ "name": "0.15mm STRUCTURAL @CORE One L 0.4", "sub_path": "process/0.15mm STRUCTURAL @CORE One L 0.4.json" }, + { + "name": "0.20mm STRUCTURAL @COREONE0.4 + MMU3", + "sub_path": "process/0.20mm STRUCTURAL @COREONE0.4 + MMU3.json" + }, { "name": "0.25mm STRUCTURAL @CORE One HF 0.4", "sub_path": "process/0.25mm STRUCTURAL @CORE One HF 0.4.json" @@ -1230,6 +1294,10 @@ "name": "0.25mm STRUCTURAL @CORE One L HF 0.4", "sub_path": "process/0.25mm STRUCTURAL @CORE One L HF 0.4.json" }, + { + "name": "0.25mm SPEED @COREONE0.6 + MMU3", + "sub_path": "process/0.25mm SPEED @COREONE0.6 + MMU3.json" + }, { "name": "0.25mm SPEED @CORE One HF 0.6", "sub_path": "process/0.25mm SPEED @CORE One HF 0.6.json" @@ -1262,6 +1330,10 @@ "name": "0.30mm STRUCTURAL @CORE One L HF 0.8", "sub_path": "process/0.30mm STRUCTURAL @CORE One L HF 0.8.json" }, + { + "name": "0.32mm SPEED @COREONE0.6 + MMU3", + "sub_path": "process/0.32mm SPEED @COREONE0.6 + MMU3.json" + }, { "name": "0.32mm SPEED @CORE One HF 0.6", "sub_path": "process/0.32mm SPEED @CORE One HF 0.6.json" @@ -1318,6 +1390,18 @@ "name": "0.55mm SPEED @CORE One L HF 0.8", "sub_path": "process/0.55mm SPEED @CORE One L HF 0.8.json" }, + { + "name": "0.05mm DETAIL @COREONE0.25 + MMU3", + "sub_path": "process/0.05mm DETAIL @COREONE0.25 + MMU3.json" + }, + { + "name": "0.12mm STRUCTURAL @COREONE0.25 + MMU3", + "sub_path": "process/0.12mm STRUCTURAL @COREONE0.25 + MMU3.json" + }, + { + "name": "0.15mm SPEED @COREONE0.25 + MMU3", + "sub_path": "process/0.15mm SPEED @COREONE0.25 + MMU3.json" + }, { "name": "0.15mm STRUCTURAL @CORE One 0.25", "sub_path": "process/0.15mm STRUCTURAL @CORE One 0.25.json" @@ -1338,6 +1422,10 @@ "name": "0.20mm SPEED @MK4S 0.3", "sub_path": "process/0.20mm SPEED @MK4S 0.3.json" }, + { + "name": "0.16mm STRUCTURAL @COREONE0.3 + MMU3", + "sub_path": "process/0.16mm STRUCTURAL @COREONE0.3 + MMU3.json" + }, { "name": "0.20mm STRUCTURAL @CORE One 0.3", "sub_path": "process/0.20mm STRUCTURAL @CORE One 0.3.json" @@ -1346,6 +1434,10 @@ "name": "0.20mm STRUCTURAL @CORE One L 0.3", "sub_path": "process/0.20mm STRUCTURAL @CORE One L 0.3.json" }, + { + "name": "0.10mm FAST DETAIL @COREONE0.4 + MMU3", + "sub_path": "process/0.10mm FAST DETAIL @COREONE0.4 + MMU3.json" + }, { "name": "0.25mm STRUCTURAL @CORE One 0.5", "sub_path": "process/0.25mm STRUCTURAL @CORE One 0.5.json" @@ -1370,6 +1462,30 @@ "name": "0.32mm SPEED @MK4S HF0.5", "sub_path": "process/0.32mm SPEED @MK4S HF0.5.json" }, + { + "name": "0.20mm STRUCTURAL @COREONE0.6 + MMU3", + "sub_path": "process/0.20mm STRUCTURAL @COREONE0.6 + MMU3.json" + }, + { + "name": "0.15mm STRUCTURAL @COREONE0.4 + MMU3", + "sub_path": "process/0.15mm STRUCTURAL @COREONE0.4 + MMU3.json" + }, + { + "name": "0.25mm STRUCTURAL @COREONE0.6 + MMU3", + "sub_path": "process/0.25mm STRUCTURAL @COREONE0.6 + MMU3.json" + }, + { + "name": "0.32mm STRUCTURAL @COREONE0.6 + MMU3", + "sub_path": "process/0.32mm STRUCTURAL @COREONE0.6 + MMU3.json" + }, + { + "name": "0.15mm STRUCTURAL @COREONE0.25 + MMU3", + "sub_path": "process/0.15mm STRUCTURAL @COREONE0.25 + MMU3.json" + }, + { + "name": "0.16mm SPEED @COREONE0.3 + MMU3", + "sub_path": "process/0.16mm SPEED @COREONE0.3 + MMU3.json" + }, { "name": "0.20mm SPEED @CORE One 0.3", "sub_path": "process/0.20mm SPEED @CORE One 0.3.json" @@ -1378,6 +1494,10 @@ "name": "0.20mm SPEED @CORE One L 0.3", "sub_path": "process/0.20mm SPEED @CORE One L 0.3.json" }, + { + "name": "0.20mm STRUCTURAL @COREONE0.3 + MMU3", + "sub_path": "process/0.20mm STRUCTURAL @COREONE0.3 + MMU3.json" + }, { "name": "0.32mm STRUCTURAL @CORE One HF 0.5", "sub_path": "process/0.32mm STRUCTURAL @CORE One HF 0.5.json" @@ -1393,6 +1513,10 @@ { "name": "0.32mm SPEED @CORE One L HF 0.5", "sub_path": "process/0.32mm SPEED @CORE One L HF 0.5.json" + }, + { + "name": "0.20mm SPEED @COREONE0.3 + MMU3", + "sub_path": "process/0.20mm SPEED @COREONE0.3 + MMU3.json" } ], "filament_list": [ @@ -1448,34 +1572,10 @@ "name": "fdm_filament_tpu", "sub_path": "filament/fdm_filament_tpu.json" }, - { - "name": "Generic ABS @Prusa base", - "sub_path": "filament/Generic ABS @Prusa base.json" - }, - { - "name": "Generic ABS @Prusa", - "sub_path": "filament/Generic ABS @Prusa.json" - }, { "name": "Generic ABS @Prusa CORE One", "sub_path": "filament/Generic ABS @Prusa CORE One.json" }, - { - "name": "Generic ABS @Prusa MINIIS", - "sub_path": "filament/Generic ABS @Prusa MINIIS.json" - }, - { - "name": "Generic ABS @Prusa MINIIS 0.25", - "sub_path": "filament/Generic ABS @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic ABS @Prusa MINIIS 0.6", - "sub_path": "filament/Generic ABS @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic ABS @Prusa MINIIS 0.8", - "sub_path": "filament/Generic ABS @Prusa MINIIS 0.8.json" - }, { "name": "Generic ABS @Prusa MK3.5", "sub_path": "filament/Generic ABS @Prusa MK3.5.json" @@ -1492,37 +1592,13 @@ "name": "Generic ABS @Prusa MK3.5 0.8", "sub_path": "filament/Generic ABS @Prusa MK3.5 0.8.json" }, - { - "name": "Generic ABS @Prusa MK4", - "sub_path": "filament/Generic ABS @Prusa MK4.json" - }, { "name": "Generic ABS @Prusa MK4S", "sub_path": "filament/Generic ABS @Prusa MK4S.json" }, { - "name": "Generic ABS @Prusa XL", - "sub_path": "filament/Generic ABS @Prusa XL.json" - }, - { - "name": "Generic ABS @Prusa XL 5T", - "sub_path": "filament/Generic ABS @Prusa XL 5T.json" - }, - { - "name": "Generic ABS HF @Prusa base", - "sub_path": "filament/Generic ABS HF @Prusa base.json" - }, - { - "name": "Generic ABS HF @Prusa MINIIS", - "sub_path": "filament/Generic ABS HF @Prusa MINIIS.json" - }, - { - "name": "Generic ABS HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic ABS HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic ABS HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic ABS HF @Prusa MINIIS 0.8.json" + "name": "Generic ABS @Prusa base", + "sub_path": "filament/Generic ABS @Prusa base.json" }, { "name": "Generic ABS HF @Prusa MK3.5", @@ -1536,6 +1612,10 @@ "name": "Generic ABS HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic ABS HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic ABS HF @Prusa base", + "sub_path": "filament/Generic ABS HF @Prusa base.json" + }, { "name": "Generic ASA @Prusa", "sub_path": "filament/Generic ASA @Prusa.json" @@ -1584,22 +1664,6 @@ "name": "Generic ASA @Prusa MK4S", "sub_path": "filament/Generic ASA @Prusa MK4S.json" }, - { - "name": "Generic ASA HF @Prusa base", - "sub_path": "filament/Generic ASA HF @Prusa base.json" - }, - { - "name": "Generic ASA HF @Prusa MINIIS", - "sub_path": "filament/Generic ASA HF @Prusa MINIIS.json" - }, - { - "name": "Generic ASA HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic ASA HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic ASA HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic ASA HF @Prusa MINIIS 0.8.json" - }, { "name": "Generic ASA HF @Prusa MK3.5", "sub_path": "filament/Generic ASA HF @Prusa MK3.5.json" @@ -1612,10 +1676,26 @@ "name": "Generic ASA HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic ASA HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic ASA HF @Prusa base", + "sub_path": "filament/Generic ASA HF @Prusa base.json" + }, { "name": "Prusament ASA @CORE One", "sub_path": "filament/Prusament ASA @CORE One.json" }, + { + "name": "Prusament ASA @MK3S", + "sub_path": "filament/Prusament ASA @MK3S.json" + }, + { + "name": "Prusament ASA @MK4", + "sub_path": "filament/Prusament ASA @MK4.json" + }, + { + "name": "Prusament ASA @MK4S", + "sub_path": "filament/Prusament ASA @MK4S.json" + }, { "name": "Prusament ASA @XL", "sub_path": "filament/Prusament ASA @XL.json" @@ -1636,30 +1716,6 @@ "name": "Generic TPU @Prusa CORE One", "sub_path": "filament/Generic TPU @Prusa CORE One.json" }, - { - "name": "Generic PA @Prusa base", - "sub_path": "filament/Generic PA @Prusa base.json" - }, - { - "name": "Generic PA @Prusa", - "sub_path": "filament/Generic PA @Prusa.json" - }, - { - "name": "Generic PA @Prusa MINIIS", - "sub_path": "filament/Generic PA @Prusa MINIIS.json" - }, - { - "name": "Generic PA @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PA @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PA @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PA @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PA @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PA @Prusa MINIIS 0.8.json" - }, { "name": "Generic PA @Prusa MK3.5", "sub_path": "filament/Generic PA @Prusa MK3.5.json" @@ -1677,28 +1733,8 @@ "sub_path": "filament/Generic PA @Prusa MK3.5 0.8.json" }, { - "name": "Generic PA-CF @Prusa base", - "sub_path": "filament/Generic PA-CF @Prusa base.json" - }, - { - "name": "Generic PA-CF @Prusa", - "sub_path": "filament/Generic PA-CF @Prusa.json" - }, - { - "name": "Generic PA-CF @Prusa MINIIS", - "sub_path": "filament/Generic PA-CF @Prusa MINIIS.json" - }, - { - "name": "Generic PA-CF @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PA-CF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PA-CF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.8.json" + "name": "Generic PA @Prusa base", + "sub_path": "filament/Generic PA @Prusa base.json" }, { "name": "Generic PA-CF @Prusa MK3.5", @@ -1716,6 +1752,10 @@ "name": "Generic PA-CF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PA-CF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PA-CF @Prusa base", + "sub_path": "filament/Generic PA-CF @Prusa base.json" + }, { "name": "Prusament PA-CF @CORE One", "sub_path": "filament/Prusament PA-CF @CORE One.json" @@ -1728,6 +1768,18 @@ "name": "Prusament PA-CF @XL 5T", "sub_path": "filament/Prusament PA-CF @XL 5T.json" }, + { + "name": "Prusament PA11 Carbon Fiber @MK3S", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK3S.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S.json" + }, { "name": "Generic PC @Prusa", "sub_path": "filament/Generic PC @Prusa.json" @@ -1764,22 +1816,6 @@ "name": "Generic PC @Prusa MK3.5 0.8", "sub_path": "filament/Generic PC @Prusa MK3.5 0.8.json" }, - { - "name": "Generic PC HF @Prusa base", - "sub_path": "filament/Generic PC HF @Prusa base.json" - }, - { - "name": "Generic PC HF @Prusa MINIIS", - "sub_path": "filament/Generic PC HF @Prusa MINIIS.json" - }, - { - "name": "Generic PC HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PC HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PC HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PC HF @Prusa MINIIS 0.8.json" - }, { "name": "Generic PC HF @Prusa MK3.5", "sub_path": "filament/Generic PC HF @Prusa MK3.5.json" @@ -1792,10 +1828,26 @@ "name": "Generic PC HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PC HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PC HF @Prusa base", + "sub_path": "filament/Generic PC HF @Prusa base.json" + }, { "name": "Prusament PC Blend @CORE One", "sub_path": "filament/Prusament PC Blend @CORE One.json" }, + { + "name": "Prusament PC Blend @MK3S", + "sub_path": "filament/Prusament PC Blend @MK3S.json" + }, + { + "name": "Prusament PC Blend @MK4", + "sub_path": "filament/Prusament PC Blend @MK4.json" + }, + { + "name": "Prusament PC Blend @MK4S", + "sub_path": "filament/Prusament PC Blend @MK4S.json" + }, { "name": "Prusament PC Blend @XL", "sub_path": "filament/Prusament PC Blend @XL.json" @@ -1808,6 +1860,18 @@ "name": "Prusament PC-CF @CORE One", "sub_path": "filament/Prusament PC-CF @CORE One.json" }, + { + "name": "Prusament PC Blend Carbon Fiber @MK3S", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK3S.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S.json" + }, { "name": "Prusament PC-CF @XL", "sub_path": "filament/Prusament PC-CF @XL.json" @@ -1816,34 +1880,10 @@ "name": "Prusament PC-CF @XL 5T", "sub_path": "filament/Prusament PC-CF @XL 5T.json" }, - { - "name": "Generic PETG @Prusa base", - "sub_path": "filament/Generic PETG @Prusa base.json" - }, - { - "name": "Generic PETG @Prusa", - "sub_path": "filament/Generic PETG @Prusa.json" - }, { "name": "Generic PETG @Prusa CORE One", "sub_path": "filament/Generic PETG @Prusa CORE One.json" }, - { - "name": "Generic PETG @Prusa MINIIS", - "sub_path": "filament/Generic PETG @Prusa MINIIS.json" - }, - { - "name": "Generic PETG @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PETG @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PETG @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PETG @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PETG @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PETG @Prusa MINIIS 0.8.json" - }, { "name": "Generic PETG @Prusa MK3.5", "sub_path": "filament/Generic PETG @Prusa MK3.5.json" @@ -1860,37 +1900,13 @@ "name": "Generic PETG @Prusa MK3.5 0.8", "sub_path": "filament/Generic PETG @Prusa MK3.5 0.8.json" }, - { - "name": "Generic PETG @Prusa MK4", - "sub_path": "filament/Generic PETG @Prusa MK4.json" - }, { "name": "Generic PETG @Prusa MK4S", "sub_path": "filament/Generic PETG @Prusa MK4S.json" }, { - "name": "Generic PETG @Prusa XL", - "sub_path": "filament/Generic PETG @Prusa XL.json" - }, - { - "name": "Generic PETG @Prusa XL 5T", - "sub_path": "filament/Generic PETG @Prusa XL 5T.json" - }, - { - "name": "Generic PETG HF @Prusa base", - "sub_path": "filament/Generic PETG HF @Prusa base.json" - }, - { - "name": "Generic PETG HF @Prusa MINIIS", - "sub_path": "filament/Generic PETG HF @Prusa MINIIS.json" - }, - { - "name": "Generic PETG HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PETG HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PETG HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PETG HF @Prusa MINIIS 0.8.json" + "name": "Generic PETG @Prusa base", + "sub_path": "filament/Generic PETG @Prusa base.json" }, { "name": "Generic PETG HF @Prusa MK3.5", @@ -1904,50 +1920,34 @@ "name": "Generic PETG HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PETG HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PETG HF @Prusa base", + "sub_path": "filament/Generic PETG HF @Prusa base.json" + }, { "name": "Prusament PETG @CORE One", "sub_path": "filament/Prusament PETG @CORE One.json" }, + { + "name": "Prusament PETG @MK3S", + "sub_path": "filament/Prusament PETG @MK3S.json" + }, + { + "name": "Prusament PETG @MK4", + "sub_path": "filament/Prusament PETG @MK4.json" + }, + { + "name": "Prusament PETG @MK4S", + "sub_path": "filament/Prusament PETG @MK4S.json" + }, { "name": "Prusament PETG @base", "sub_path": "filament/Prusament PETG @base.json" }, - { - "name": "Prusament PETG @XL", - "sub_path": "filament/Prusament PETG @XL.json" - }, - { - "name": "Prusament PETG @XL 5T", - "sub_path": "filament/Prusament PETG @XL 5T.json" - }, - { - "name": "Generic PLA @Prusa base", - "sub_path": "filament/Generic PLA @Prusa base.json" - }, - { - "name": "Generic PLA @Prusa", - "sub_path": "filament/Generic PLA @Prusa.json" - }, { "name": "Generic PLA @Prusa CORE One", "sub_path": "filament/Generic PLA @Prusa CORE One.json" }, - { - "name": "Generic PLA @Prusa MINIIS", - "sub_path": "filament/Generic PLA @Prusa MINIIS.json" - }, - { - "name": "Generic PLA @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PLA @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PLA @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PLA @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PLA @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PLA @Prusa MINIIS 0.8.json" - }, { "name": "Generic PLA @Prusa MK3.5", "sub_path": "filament/Generic PLA @Prusa MK3.5.json" @@ -1964,37 +1964,13 @@ "name": "Generic PLA @Prusa MK3.5 0.8", "sub_path": "filament/Generic PLA @Prusa MK3.5 0.8.json" }, - { - "name": "Generic PLA @Prusa MK4", - "sub_path": "filament/Generic PLA @Prusa MK4.json" - }, { "name": "Generic PLA @Prusa MK4S", "sub_path": "filament/Generic PLA @Prusa MK4S.json" }, { - "name": "Generic PLA @Prusa XL", - "sub_path": "filament/Generic PLA @Prusa XL.json" - }, - { - "name": "Generic PLA @Prusa XL 5T", - "sub_path": "filament/Generic PLA @Prusa XL 5T.json" - }, - { - "name": "Generic PLA HF @Prusa base", - "sub_path": "filament/Generic PLA HF @Prusa base.json" - }, - { - "name": "Generic PLA HF @Prusa MINIIS", - "sub_path": "filament/Generic PLA HF @Prusa MINIIS.json" - }, - { - "name": "Generic PLA HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PLA HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PLA HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PLA HF @Prusa MINIIS 0.8.json" + "name": "Generic PLA @Prusa base", + "sub_path": "filament/Generic PLA @Prusa base.json" }, { "name": "Generic PLA HF @Prusa MK3.5", @@ -2008,34 +1984,14 @@ "name": "Generic PLA HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PLA HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PLA HF @Prusa base", + "sub_path": "filament/Generic PLA HF @Prusa base.json" + }, { "name": "Generic PLA Silk @Prusa CORE One", "sub_path": "filament/Generic PLA Silk @Prusa CORE One.json" }, - { - "name": "Generic PLA-CF @Prusa base", - "sub_path": "filament/Generic PLA-CF @Prusa base.json" - }, - { - "name": "Generic PLA-CF @Prusa", - "sub_path": "filament/Generic PLA-CF @Prusa.json" - }, - { - "name": "Generic PLA-CF @Prusa MINIIS", - "sub_path": "filament/Generic PLA-CF @Prusa MINIIS.json" - }, - { - "name": "Generic PLA-CF @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PLA-CF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PLA-CF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.8.json" - }, { "name": "Generic PLA-CF @Prusa MK3.5", "sub_path": "filament/Generic PLA-CF @Prusa MK3.5.json" @@ -2052,62 +2008,50 @@ "name": "Generic PLA-CF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PLA-CF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PLA-CF @Prusa base", + "sub_path": "filament/Generic PLA-CF @Prusa base.json" + }, { "name": "Prusament PLA @CORE One", "sub_path": "filament/Prusament PLA @CORE One.json" }, + { + "name": "Prusament PLA @MK3S", + "sub_path": "filament/Prusament PLA @MK3S.json" + }, + { + "name": "Prusament PLA @MK4", + "sub_path": "filament/Prusament PLA @MK4.json" + }, + { + "name": "Prusament PLA @MK4S", + "sub_path": "filament/Prusament PLA @MK4S.json" + }, { "name": "Prusament PLA @base", "sub_path": "filament/Prusament PLA @base.json" }, - { - "name": "Prusament PLA @XL", - "sub_path": "filament/Prusament PLA @XL.json" - }, - { - "name": "Prusament PLA @XL 5T", - "sub_path": "filament/Prusament PLA @XL 5T.json" - }, { "name": "Prusament rPLA @CORE One", "sub_path": "filament/Prusament rPLA @CORE One.json" }, + { + "name": "Prusament rPLA @MK3S", + "sub_path": "filament/Prusament rPLA @MK3S.json" + }, + { + "name": "Prusament rPLA @MK4", + "sub_path": "filament/Prusament rPLA @MK4.json" + }, + { + "name": "Prusament rPLA @MK4S", + "sub_path": "filament/Prusament rPLA @MK4S.json" + }, { "name": "Prusament rPLA @base", "sub_path": "filament/Prusament rPLA @base.json" }, - { - "name": "Prusament rPLA @XL", - "sub_path": "filament/Prusament rPLA @XL.json" - }, - { - "name": "Prusament rPLA @XL 5T", - "sub_path": "filament/Prusament rPLA @XL 5T.json" - }, - { - "name": "Generic PVA @Prusa base", - "sub_path": "filament/Generic PVA @Prusa base.json" - }, - { - "name": "Generic PVA @Prusa", - "sub_path": "filament/Generic PVA @Prusa.json" - }, - { - "name": "Generic PVA @Prusa MINIIS", - "sub_path": "filament/Generic PVA @Prusa MINIIS.json" - }, - { - "name": "Generic PVA @Prusa MINIIS 0.25", - "sub_path": "filament/Generic PVA @Prusa MINIIS 0.25.json" - }, - { - "name": "Generic PVA @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PVA @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PVA @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PVA @Prusa MINIIS 0.8.json" - }, { "name": "Generic PVA @Prusa MK3.5", "sub_path": "filament/Generic PVA @Prusa MK3.5.json" @@ -2125,20 +2069,8 @@ "sub_path": "filament/Generic PVA @Prusa MK3.5 0.8.json" }, { - "name": "Generic PVA HF @Prusa base", - "sub_path": "filament/Generic PVA HF @Prusa base.json" - }, - { - "name": "Generic PVA HF @Prusa MINIIS", - "sub_path": "filament/Generic PVA HF @Prusa MINIIS.json" - }, - { - "name": "Generic PVA HF @Prusa MINIIS 0.6", - "sub_path": "filament/Generic PVA HF @Prusa MINIIS 0.6.json" - }, - { - "name": "Generic PVA HF @Prusa MINIIS 0.8", - "sub_path": "filament/Generic PVA HF @Prusa MINIIS 0.8.json" + "name": "Generic PVA @Prusa base", + "sub_path": "filament/Generic PVA @Prusa base.json" }, { "name": "Generic PVA HF @Prusa MK3.5", @@ -2152,10 +2084,26 @@ "name": "Generic PVA HF @Prusa MK3.5 0.8", "sub_path": "filament/Generic PVA HF @Prusa MK3.5 0.8.json" }, + { + "name": "Generic PVA HF @Prusa base", + "sub_path": "filament/Generic PVA HF @Prusa base.json" + }, { "name": "Prusament PVB @CORE One", "sub_path": "filament/Prusament PVB @CORE One.json" }, + { + "name": "Prusament PVB @MK3S", + "sub_path": "filament/Prusament PVB @MK3S.json" + }, + { + "name": "Prusament PVB @MK4", + "sub_path": "filament/Prusament PVB @MK4.json" + }, + { + "name": "Prusament PVB @MK4S", + "sub_path": "filament/Prusament PVB @MK4S.json" + }, { "name": "Prusament PVB @XL", "sub_path": "filament/Prusament PVB @XL.json" @@ -2164,42 +2112,26 @@ "name": "Prusament PVB @XL 5T", "sub_path": "filament/Prusament PVB @XL 5T.json" }, - { - "name": "Generic TPU @Prusa base", - "sub_path": "filament/Generic TPU @Prusa base.json" - }, - { - "name": "Generic TPU @Prusa", - "sub_path": "filament/Generic TPU @Prusa.json" - }, - { - "name": "Generic TPU @Prusa MINIIS", - "sub_path": "filament/Generic TPU @Prusa MINIIS.json" - }, { "name": "Generic TPU @Prusa MK3.5", "sub_path": "filament/Generic TPU @Prusa MK3.5.json" }, - { - "name": "Generic TPU @Prusa MK4", - "sub_path": "filament/Generic TPU @Prusa MK4.json" - }, { "name": "Generic TPU @Prusa MK4S", "sub_path": "filament/Generic TPU @Prusa MK4S.json" }, { - "name": "Generic TPU HF @Prusa base", - "sub_path": "filament/Generic TPU HF @Prusa base.json" - }, - { - "name": "Generic TPU HF @Prusa MINIIS", - "sub_path": "filament/Generic TPU HF @Prusa MINIIS.json" + "name": "Generic TPU @Prusa base", + "sub_path": "filament/Generic TPU @Prusa base.json" }, { "name": "Generic TPU HF @Prusa MK3.5", "sub_path": "filament/Generic TPU HF @Prusa MK3.5.json" }, + { + "name": "Generic TPU HF @Prusa base", + "sub_path": "filament/Generic TPU HF @Prusa base.json" + }, { "name": "Generic ABS @Prusa CORE One 0.6", "sub_path": "filament/Generic ABS @Prusa CORE One 0.6.json" @@ -2224,6 +2156,10 @@ "name": "Generic ABS @Prusa CORE One HF 0.8", "sub_path": "filament/Generic ABS @Prusa CORE One HF 0.8.json" }, + { + "name": "Generic ABS @Prusa CORE One MMU3", + "sub_path": "filament/Generic ABS @Prusa CORE One MMU3.json" + }, { "name": "Generic ABS @Prusa MK4S 0.6", "sub_path": "filament/Generic ABS @Prusa MK4S 0.6.json" @@ -2236,6 +2172,50 @@ "name": "Generic ABS @Prusa MK4S HF0.4", "sub_path": "filament/Generic ABS @Prusa MK4S HF0.4.json" }, + { + "name": "Generic ABS @Prusa", + "sub_path": "filament/Generic ABS @Prusa.json" + }, + { + "name": "Generic ABS @Prusa MINIIS", + "sub_path": "filament/Generic ABS @Prusa MINIIS.json" + }, + { + "name": "Generic ABS @Prusa MINIIS 0.25", + "sub_path": "filament/Generic ABS @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic ABS @Prusa MINIIS 0.6", + "sub_path": "filament/Generic ABS @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic ABS @Prusa MINIIS 0.8", + "sub_path": "filament/Generic ABS @Prusa MINIIS 0.8.json" + }, + { + "name": "Generic ABS @Prusa MK4", + "sub_path": "filament/Generic ABS @Prusa MK4.json" + }, + { + "name": "Generic ABS @Prusa XL", + "sub_path": "filament/Generic ABS @Prusa XL.json" + }, + { + "name": "Generic ABS @Prusa XL 5T", + "sub_path": "filament/Generic ABS @Prusa XL 5T.json" + }, + { + "name": "Generic ABS HF @Prusa MINIIS", + "sub_path": "filament/Generic ABS HF @Prusa MINIIS.json" + }, + { + "name": "Generic ABS HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic ABS HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic ABS HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic ABS HF @Prusa MINIIS 0.8.json" + }, { "name": "Generic ASA @Prusa CORE One 0.6", "sub_path": "filament/Generic ASA @Prusa CORE One 0.6.json" @@ -2260,6 +2240,10 @@ "name": "Generic ASA @Prusa CORE One HF 0.8", "sub_path": "filament/Generic ASA @Prusa CORE One HF 0.8.json" }, + { + "name": "Generic ASA @Prusa CORE One MMU3", + "sub_path": "filament/Generic ASA @Prusa CORE One MMU3.json" + }, { "name": "Generic ASA @Prusa MK4S 0.6", "sub_path": "filament/Generic ASA @Prusa MK4S 0.6.json" @@ -2272,6 +2256,18 @@ "name": "Generic ASA @Prusa MK4S HF0.4", "sub_path": "filament/Generic ASA @Prusa MK4S HF0.4.json" }, + { + "name": "Generic ASA HF @Prusa MINIIS", + "sub_path": "filament/Generic ASA HF @Prusa MINIIS.json" + }, + { + "name": "Generic ASA HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic ASA HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic ASA HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic ASA HF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament ASA @CORE One 0.6", "sub_path": "filament/Prusament ASA @CORE One 0.6.json" @@ -2296,6 +2292,34 @@ "name": "Prusament ASA @CORE One HF 0.8", "sub_path": "filament/Prusament ASA @CORE One HF 0.8.json" }, + { + "name": "Prusament ASA @CORE One MMU3", + "sub_path": "filament/Prusament ASA @CORE One MMU3.json" + }, + { + "name": "Prusament ASA @MK4S 0.6", + "sub_path": "filament/Prusament ASA @MK4S 0.6.json" + }, + { + "name": "Prusament ASA @MK4S 0.8", + "sub_path": "filament/Prusament ASA @MK4S 0.8.json" + }, + { + "name": "Prusament ASA @MK4S HF0.4", + "sub_path": "filament/Prusament ASA @MK4S HF0.4.json" + }, + { + "name": "Prusament ASA @MK4S HF0.5", + "sub_path": "filament/Prusament ASA @MK4S HF0.5.json" + }, + { + "name": "Prusament ASA @MK4S HF0.6", + "sub_path": "filament/Prusament ASA @MK4S HF0.6.json" + }, + { + "name": "Prusament ASA @MK4S HF0.8", + "sub_path": "filament/Prusament ASA @MK4S HF0.8.json" + }, { "name": "Generic TPU @Prusa CORE One 0.6", "sub_path": "filament/Generic TPU @Prusa CORE One 0.6.json" @@ -2304,6 +2328,50 @@ "name": "Generic TPU @Prusa CORE One 0.8", "sub_path": "filament/Generic TPU @Prusa CORE One 0.8.json" }, + { + "name": "Generic TPU @Prusa CORE One MMU3", + "sub_path": "filament/Generic TPU @Prusa CORE One MMU3.json" + }, + { + "name": "Generic PA @Prusa", + "sub_path": "filament/Generic PA @Prusa.json" + }, + { + "name": "Generic PA @Prusa MINIIS", + "sub_path": "filament/Generic PA @Prusa MINIIS.json" + }, + { + "name": "Generic PA @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PA @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PA @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PA @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PA @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PA @Prusa MINIIS 0.8.json" + }, + { + "name": "Generic PA-CF @Prusa", + "sub_path": "filament/Generic PA-CF @Prusa.json" + }, + { + "name": "Generic PA-CF @Prusa MINIIS", + "sub_path": "filament/Generic PA-CF @Prusa MINIIS.json" + }, + { + "name": "Generic PA-CF @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PA-CF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PA-CF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PA-CF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament PA-CF @CORE One 0.6", "sub_path": "filament/Prusament PA-CF @CORE One 0.6.json" @@ -2312,6 +2380,46 @@ "name": "Prusament PA-CF @CORE One 0.8", "sub_path": "filament/Prusament PA-CF @CORE One 0.8.json" }, + { + "name": "Prusament PA-CF @CORE One MMU3", + "sub_path": "filament/Prusament PA-CF @CORE One MMU3.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S 0.6", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S 0.6.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S 0.8", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S 0.8.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.4", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S HF0.4.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.5", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S HF0.5.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.6", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S HF0.6.json" + }, + { + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.8", + "sub_path": "filament/Prusament PA11 Carbon Fiber @MK4S HF0.8.json" + }, + { + "name": "Generic PC HF @Prusa MINIIS", + "sub_path": "filament/Generic PC HF @Prusa MINIIS.json" + }, + { + "name": "Generic PC HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PC HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PC HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PC HF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament PC Blend @CORE One 0.6", "sub_path": "filament/Prusament PC Blend @CORE One 0.6.json" @@ -2336,6 +2444,34 @@ "name": "Prusament PC Blend @CORE One HF 0.8", "sub_path": "filament/Prusament PC Blend @CORE One HF 0.8.json" }, + { + "name": "Prusament PC Blend @CORE One MMU3", + "sub_path": "filament/Prusament PC Blend @CORE One MMU3.json" + }, + { + "name": "Prusament PC Blend @MK4S 0.6", + "sub_path": "filament/Prusament PC Blend @MK4S 0.6.json" + }, + { + "name": "Prusament PC Blend @MK4S 0.8", + "sub_path": "filament/Prusament PC Blend @MK4S 0.8.json" + }, + { + "name": "Prusament PC Blend @MK4S HF0.4", + "sub_path": "filament/Prusament PC Blend @MK4S HF0.4.json" + }, + { + "name": "Prusament PC Blend @MK4S HF0.5", + "sub_path": "filament/Prusament PC Blend @MK4S HF0.5.json" + }, + { + "name": "Prusament PC Blend @MK4S HF0.6", + "sub_path": "filament/Prusament PC Blend @MK4S HF0.6.json" + }, + { + "name": "Prusament PC Blend @MK4S HF0.8", + "sub_path": "filament/Prusament PC Blend @MK4S HF0.8.json" + }, { "name": "Prusament PC-CF @CORE One 0.6", "sub_path": "filament/Prusament PC-CF @CORE One 0.6.json" @@ -2344,6 +2480,34 @@ "name": "Prusament PC-CF @CORE One 0.8", "sub_path": "filament/Prusament PC-CF @CORE One 0.8.json" }, + { + "name": "Prusament PC-CF @CORE One MMU3", + "sub_path": "filament/Prusament PC-CF @CORE One MMU3.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S 0.6", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S 0.6.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S 0.8", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S 0.8.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.4", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S HF0.4.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.5", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S HF0.5.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.6", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S HF0.6.json" + }, + { + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.8", + "sub_path": "filament/Prusament PC Blend Carbon Fiber @MK4S HF0.8.json" + }, { "name": "Generic PETG @Prusa CORE One 0.6", "sub_path": "filament/Generic PETG @Prusa CORE One 0.6.json" @@ -2368,6 +2532,10 @@ "name": "Generic PETG @Prusa CORE One HF 0.8", "sub_path": "filament/Generic PETG @Prusa CORE One HF 0.8.json" }, + { + "name": "Generic PETG @Prusa CORE One MMU3", + "sub_path": "filament/Generic PETG @Prusa CORE One MMU3.json" + }, { "name": "Generic PETG @Prusa MK4S 0.6", "sub_path": "filament/Generic PETG @Prusa MK4S 0.6.json" @@ -2380,6 +2548,50 @@ "name": "Generic PETG @Prusa MK4S HF0.4", "sub_path": "filament/Generic PETG @Prusa MK4S HF0.4.json" }, + { + "name": "Generic PETG @Prusa", + "sub_path": "filament/Generic PETG @Prusa.json" + }, + { + "name": "Generic PETG @Prusa MINIIS", + "sub_path": "filament/Generic PETG @Prusa MINIIS.json" + }, + { + "name": "Generic PETG @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PETG @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PETG @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PETG @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PETG @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PETG @Prusa MINIIS 0.8.json" + }, + { + "name": "Generic PETG @Prusa MK4", + "sub_path": "filament/Generic PETG @Prusa MK4.json" + }, + { + "name": "Generic PETG @Prusa XL", + "sub_path": "filament/Generic PETG @Prusa XL.json" + }, + { + "name": "Generic PETG @Prusa XL 5T", + "sub_path": "filament/Generic PETG @Prusa XL 5T.json" + }, + { + "name": "Generic PETG HF @Prusa MINIIS", + "sub_path": "filament/Generic PETG HF @Prusa MINIIS.json" + }, + { + "name": "Generic PETG HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PETG HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PETG HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PETG HF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament PETG @CORE One 0.6", "sub_path": "filament/Prusament PETG @CORE One 0.6.json" @@ -2404,6 +2616,42 @@ "name": "Prusament PETG @CORE One HF 0.8", "sub_path": "filament/Prusament PETG @CORE One HF 0.8.json" }, + { + "name": "Prusament PETG @CORE One MMU3", + "sub_path": "filament/Prusament PETG @CORE One MMU3.json" + }, + { + "name": "Prusament PETG @MK4S 0.6", + "sub_path": "filament/Prusament PETG @MK4S 0.6.json" + }, + { + "name": "Prusament PETG @MK4S 0.8", + "sub_path": "filament/Prusament PETG @MK4S 0.8.json" + }, + { + "name": "Prusament PETG @MK4S HF0.4", + "sub_path": "filament/Prusament PETG @MK4S HF0.4.json" + }, + { + "name": "Prusament PETG @MK4S HF0.5", + "sub_path": "filament/Prusament PETG @MK4S HF0.5.json" + }, + { + "name": "Prusament PETG @MK4S HF0.6", + "sub_path": "filament/Prusament PETG @MK4S HF0.6.json" + }, + { + "name": "Prusament PETG @MK4S HF0.8", + "sub_path": "filament/Prusament PETG @MK4S HF0.8.json" + }, + { + "name": "Prusament PETG @XL", + "sub_path": "filament/Prusament PETG @XL.json" + }, + { + "name": "Prusament PETG @XL 5T", + "sub_path": "filament/Prusament PETG @XL 5T.json" + }, { "name": "Generic PLA @Prusa CORE One 0.6", "sub_path": "filament/Generic PLA @Prusa CORE One 0.6.json" @@ -2428,6 +2676,10 @@ "name": "Generic PLA @Prusa CORE One HF 0.8", "sub_path": "filament/Generic PLA @Prusa CORE One HF 0.8.json" }, + { + "name": "Generic PLA @Prusa CORE One MMU3", + "sub_path": "filament/Generic PLA @Prusa CORE One MMU3.json" + }, { "name": "Generic PLA @Prusa MK4S 0.6", "sub_path": "filament/Generic PLA @Prusa MK4S 0.6.json" @@ -2444,6 +2696,50 @@ "name": "Generic PLA Silk @Prusa MK4S", "sub_path": "filament/Generic PLA Silk @Prusa MK4S.json" }, + { + "name": "Generic PLA @Prusa", + "sub_path": "filament/Generic PLA @Prusa.json" + }, + { + "name": "Generic PLA @Prusa MINIIS", + "sub_path": "filament/Generic PLA @Prusa MINIIS.json" + }, + { + "name": "Generic PLA @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PLA @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PLA @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PLA @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PLA @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PLA @Prusa MINIIS 0.8.json" + }, + { + "name": "Generic PLA @Prusa MK4", + "sub_path": "filament/Generic PLA @Prusa MK4.json" + }, + { + "name": "Generic PLA @Prusa XL", + "sub_path": "filament/Generic PLA @Prusa XL.json" + }, + { + "name": "Generic PLA @Prusa XL 5T", + "sub_path": "filament/Generic PLA @Prusa XL 5T.json" + }, + { + "name": "Generic PLA HF @Prusa MINIIS", + "sub_path": "filament/Generic PLA HF @Prusa MINIIS.json" + }, + { + "name": "Generic PLA HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PLA HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PLA HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PLA HF @Prusa MINIIS 0.8.json" + }, { "name": "Generic PLA Silk @Prusa CORE One 0.6", "sub_path": "filament/Generic PLA Silk @Prusa CORE One 0.6.json" @@ -2452,6 +2748,30 @@ "name": "Generic PLA Silk @Prusa CORE One 0.8", "sub_path": "filament/Generic PLA Silk @Prusa CORE One 0.8.json" }, + { + "name": "Generic PLA Silk @Prusa CORE One MMU3", + "sub_path": "filament/Generic PLA Silk @Prusa CORE One MMU3.json" + }, + { + "name": "Generic PLA-CF @Prusa", + "sub_path": "filament/Generic PLA-CF @Prusa.json" + }, + { + "name": "Generic PLA-CF @Prusa MINIIS", + "sub_path": "filament/Generic PLA-CF @Prusa MINIIS.json" + }, + { + "name": "Generic PLA-CF @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PLA-CF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PLA-CF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PLA-CF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament PLA @CORE One 0.6", "sub_path": "filament/Prusament PLA @CORE One 0.6.json" @@ -2476,6 +2796,42 @@ "name": "Prusament PLA @CORE One HF 0.8", "sub_path": "filament/Prusament PLA @CORE One HF 0.8.json" }, + { + "name": "Prusament PLA @CORE One MMU3", + "sub_path": "filament/Prusament PLA @CORE One MMU3.json" + }, + { + "name": "Prusament PLA @MK4S 0.6", + "sub_path": "filament/Prusament PLA @MK4S 0.6.json" + }, + { + "name": "Prusament PLA @MK4S 0.8", + "sub_path": "filament/Prusament PLA @MK4S 0.8.json" + }, + { + "name": "Prusament PLA @MK4S HF0.4", + "sub_path": "filament/Prusament PLA @MK4S HF0.4.json" + }, + { + "name": "Prusament PLA @MK4S HF0.5", + "sub_path": "filament/Prusament PLA @MK4S HF0.5.json" + }, + { + "name": "Prusament PLA @MK4S HF0.6", + "sub_path": "filament/Prusament PLA @MK4S HF0.6.json" + }, + { + "name": "Prusament PLA @MK4S HF0.8", + "sub_path": "filament/Prusament PLA @MK4S HF0.8.json" + }, + { + "name": "Prusament PLA @XL", + "sub_path": "filament/Prusament PLA @XL.json" + }, + { + "name": "Prusament PLA @XL 5T", + "sub_path": "filament/Prusament PLA @XL 5T.json" + }, { "name": "Prusament rPLA @CORE One 0.6", "sub_path": "filament/Prusament rPLA @CORE One 0.6.json" @@ -2484,6 +2840,74 @@ "name": "Prusament rPLA @CORE One 0.8", "sub_path": "filament/Prusament rPLA @CORE One 0.8.json" }, + { + "name": "Prusament rPLA @CORE One MMU3", + "sub_path": "filament/Prusament rPLA @CORE One MMU3.json" + }, + { + "name": "Prusament rPLA @MK4S 0.6", + "sub_path": "filament/Prusament rPLA @MK4S 0.6.json" + }, + { + "name": "Prusament rPLA @MK4S 0.8", + "sub_path": "filament/Prusament rPLA @MK4S 0.8.json" + }, + { + "name": "Prusament rPLA @MK4S HF0.4", + "sub_path": "filament/Prusament rPLA @MK4S HF0.4.json" + }, + { + "name": "Prusament rPLA @MK4S HF0.5", + "sub_path": "filament/Prusament rPLA @MK4S HF0.5.json" + }, + { + "name": "Prusament rPLA @MK4S HF0.6", + "sub_path": "filament/Prusament rPLA @MK4S HF0.6.json" + }, + { + "name": "Prusament rPLA @MK4S HF0.8", + "sub_path": "filament/Prusament rPLA @MK4S HF0.8.json" + }, + { + "name": "Prusament rPLA @XL", + "sub_path": "filament/Prusament rPLA @XL.json" + }, + { + "name": "Prusament rPLA @XL 5T", + "sub_path": "filament/Prusament rPLA @XL 5T.json" + }, + { + "name": "Generic PVA @Prusa", + "sub_path": "filament/Generic PVA @Prusa.json" + }, + { + "name": "Generic PVA @Prusa MINIIS", + "sub_path": "filament/Generic PVA @Prusa MINIIS.json" + }, + { + "name": "Generic PVA @Prusa MINIIS 0.25", + "sub_path": "filament/Generic PVA @Prusa MINIIS 0.25.json" + }, + { + "name": "Generic PVA @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PVA @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PVA @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PVA @Prusa MINIIS 0.8.json" + }, + { + "name": "Generic PVA HF @Prusa MINIIS", + "sub_path": "filament/Generic PVA HF @Prusa MINIIS.json" + }, + { + "name": "Generic PVA HF @Prusa MINIIS 0.6", + "sub_path": "filament/Generic PVA HF @Prusa MINIIS 0.6.json" + }, + { + "name": "Generic PVA HF @Prusa MINIIS 0.8", + "sub_path": "filament/Generic PVA HF @Prusa MINIIS 0.8.json" + }, { "name": "Prusament PVB @CORE One 0.6", "sub_path": "filament/Prusament PVB @CORE One 0.6.json" @@ -2492,6 +2916,34 @@ "name": "Prusament PVB @CORE One 0.8", "sub_path": "filament/Prusament PVB @CORE One 0.8.json" }, + { + "name": "Prusament PVB @CORE One MMU3", + "sub_path": "filament/Prusament PVB @CORE One MMU3.json" + }, + { + "name": "Prusament PVB @MK4S 0.6", + "sub_path": "filament/Prusament PVB @MK4S 0.6.json" + }, + { + "name": "Prusament PVB @MK4S 0.8", + "sub_path": "filament/Prusament PVB @MK4S 0.8.json" + }, + { + "name": "Prusament PVB @MK4S HF0.4", + "sub_path": "filament/Prusament PVB @MK4S HF0.4.json" + }, + { + "name": "Prusament PVB @MK4S HF0.5", + "sub_path": "filament/Prusament PVB @MK4S HF0.5.json" + }, + { + "name": "Prusament PVB @MK4S HF0.6", + "sub_path": "filament/Prusament PVB @MK4S HF0.6.json" + }, + { + "name": "Prusament PVB @MK4S HF0.8", + "sub_path": "filament/Prusament PVB @MK4S HF0.8.json" + }, { "name": "Generic TPU @Prusa MK4S 0.6", "sub_path": "filament/Generic TPU @Prusa MK4S 0.6.json" @@ -2500,6 +2952,22 @@ "name": "Generic TPU @Prusa MK4S 0.8", "sub_path": "filament/Generic TPU @Prusa MK4S 0.8.json" }, + { + "name": "Generic TPU @Prusa", + "sub_path": "filament/Generic TPU @Prusa.json" + }, + { + "name": "Generic TPU @Prusa MINIIS", + "sub_path": "filament/Generic TPU @Prusa MINIIS.json" + }, + { + "name": "Generic TPU @Prusa MK4", + "sub_path": "filament/Generic TPU @Prusa MK4.json" + }, + { + "name": "Generic TPU HF @Prusa MINIIS", + "sub_path": "filament/Generic TPU HF @Prusa MINIIS.json" + }, { "name": "Generic ABS @Prusa MK4S HF0.5", "sub_path": "filament/Generic ABS @Prusa MK4S HF0.5.json" @@ -2730,6 +3198,10 @@ "name": "fdm_machine_common_xl_5t", "sub_path": "machine/fdm_machine_common_xl_5t.json" }, + { + "name": "Prusa CORE One MMU3 0.4 nozzle", + "sub_path": "machine/Prusa CORE One MMU3 0.4 nozzle.json" + }, { "name": "Prusa CORE One 0.5 nozzle", "sub_path": "machine/Prusa CORE One 0.5 nozzle.json" @@ -2802,6 +3274,18 @@ "name": "Prusa XL 5T 0.8 nozzle", "sub_path": "machine/Prusa XL 5T 0.8 nozzle.json" }, + { + "name": "Prusa CORE One MMU3 0.25 nozzle", + "sub_path": "machine/Prusa CORE One MMU3 0.25 nozzle.json" + }, + { + "name": "Prusa CORE One MMU3 0.3 nozzle", + "sub_path": "machine/Prusa CORE One MMU3 0.3 nozzle.json" + }, + { + "name": "Prusa CORE One MMU3 0.6 nozzle", + "sub_path": "machine/Prusa CORE One MMU3 0.6 nozzle.json" + }, { "name": "Prusa MK4S HF0.5 nozzle", "sub_path": "machine/Prusa MK4S HF0.5 nozzle.json" diff --git a/resources/profiles/Prusa/Prusa CORE One MMU3_cover.png b/resources/profiles/Prusa/Prusa CORE One MMU3_cover.png new file mode 100644 index 0000000000..be841d654b Binary files /dev/null and b/resources/profiles/Prusa/Prusa CORE One MMU3_cover.png differ diff --git a/resources/profiles/Prusa/filament/Generic ABS @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic ABS @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..b909758269 --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic ABS @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic ABS @Prusa CORE One MMU3", + "inherits": "Generic ABS @Prusa CORE One", + "from": "system", + "setting_id": "TM5fcvhbo1lgzsU6", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Generic ABS @Prusa XL 5T.json b/resources/profiles/Prusa/filament/Generic ABS @Prusa XL 5T.json index 7d53f66645..ee328ff399 100644 --- a/resources/profiles/Prusa/filament/Generic ABS @Prusa XL 5T.json +++ b/resources/profiles/Prusa/filament/Generic ABS @Prusa XL 5T.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ABS @Prusa XL 5T", - "inherits": "Generic ABS @Prusa base", "renamed_from": "Prusa Generic ABS @XL 5T;Prusa Generic ABS XL 5T", + "inherits": "Generic ABS @Prusa base", "from": "system", "setting_id": "XfavDzEzzrXDQVUC", "instantiation": "true", @@ -36,8 +36,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Generic ABS @Prusa XL.json b/resources/profiles/Prusa/filament/Generic ABS @Prusa XL.json index abf7986c12..f6a0a45d88 100644 --- a/resources/profiles/Prusa/filament/Generic ABS @Prusa XL.json +++ b/resources/profiles/Prusa/filament/Generic ABS @Prusa XL.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic ABS @Prusa XL", - "inherits": "Generic ABS @Prusa base", "renamed_from": "Prusa Generic ABS @XL;Prusa Generic ABS XL", + "inherits": "Generic ABS @Prusa base", "from": "system", "setting_id": "HYHkGEjr6Kid2Xg2", "instantiation": "true", @@ -36,8 +36,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Generic ASA @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic ASA @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..4461d30750 --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic ASA @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic ASA @Prusa CORE One MMU3", + "inherits": "Generic ASA @Prusa CORE One", + "from": "system", + "setting_id": "0uAHoCupgHmVYVEx", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL 5T.json b/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL 5T.json index c0501006d2..9be4ea1ba0 100644 --- a/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL 5T.json +++ b/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL 5T.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic FLEX @Prusa XL 5T", - "inherits": "fdm_filament_flex", "renamed_from": "Prusa Generic FLEX @XL 5T;Prusa Generic FLEX XL 5T", + "inherits": "fdm_filament_flex", "from": "system", "setting_id": "ef8fSryRYselyr4G", "filament_id": "OFbPuPKY", @@ -11,8 +11,6 @@ "filament_loading_speed": "28", "filament_unloading_speed_start": "100", "filament_unloading_speed": "90", - "filament_load_time": "0", - "filament_unload_time": "0", "filament_cooling_moves": "4", "filament_cooling_initial_speed": "2.2", "filament_cooling_final_speed": "3.4", diff --git a/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL.json b/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL.json index ea56f3a8b5..24f34f49ab 100644 --- a/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL.json +++ b/resources/profiles/Prusa/filament/Generic FLEX @Prusa XL.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic FLEX @Prusa XL", - "inherits": "fdm_filament_flex", "renamed_from": "Prusa Generic FLEX @XL;Prusa Generic FLEX XL", + "inherits": "fdm_filament_flex", "from": "system", "setting_id": "qrFWrwgQSXgU7oCb", "filament_id": "OFbPuPKY", @@ -11,8 +11,6 @@ "filament_loading_speed": "28", "filament_unloading_speed_start": "100", "filament_unloading_speed": "90", - "filament_load_time": "0", - "filament_unload_time": "0", "filament_cooling_moves": "4", "filament_cooling_initial_speed": "2.2", "filament_cooling_final_speed": "3.4", diff --git a/resources/profiles/Prusa/filament/Generic PETG @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic PETG @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..c026e6d770 --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic PETG @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic PETG @Prusa CORE One MMU3", + "inherits": "Generic PETG @Prusa CORE One", + "from": "system", + "setting_id": "JutuB6ct5A1l2Biz", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.053{elsif nozzle_diameter[filament_extruder_id]==0.5}0.042{elsif nozzle_diameter[filament_extruder_id]==0.6}0.032{elsif nozzle_diameter[filament_extruder_id]==0.8}0.018{elsif nozzle_diameter[filament_extruder_id]==0.25}0.18{elsif nozzle_diameter[filament_extruder_id]==0.3}0.1{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Generic PETG @Prusa XL 5T.json b/resources/profiles/Prusa/filament/Generic PETG @Prusa XL 5T.json index 9f70295142..52e208e7c9 100644 --- a/resources/profiles/Prusa/filament/Generic PETG @Prusa XL 5T.json +++ b/resources/profiles/Prusa/filament/Generic PETG @Prusa XL 5T.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG @Prusa XL 5T", - "inherits": "Generic PETG @Prusa base", "renamed_from": "Prusa Generic PETG @XL 5T;Prusa Generic PETG XL 5T", + "inherits": "Generic PETG @Prusa base", "from": "system", "setting_id": "DNJECSjW6zKYALxE", "instantiation": "true", @@ -37,8 +37,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "3", "filament_cooling_initial_speed": "5", "filament_cooling_final_speed": "2.5", diff --git a/resources/profiles/Prusa/filament/Generic PETG @Prusa XL.json b/resources/profiles/Prusa/filament/Generic PETG @Prusa XL.json index 0cdcbfc1c4..78a3e589b2 100644 --- a/resources/profiles/Prusa/filament/Generic PETG @Prusa XL.json +++ b/resources/profiles/Prusa/filament/Generic PETG @Prusa XL.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PETG @Prusa XL", - "inherits": "Generic PETG @Prusa base", "renamed_from": "Prusa Generic PETG @XL;Prusa Generic PETG XL", + "inherits": "Generic PETG @Prusa base", "from": "system", "setting_id": "8vcNv4b4H7aYA01G", "instantiation": "true", @@ -37,8 +37,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "3", "filament_cooling_initial_speed": "5", "filament_cooling_final_speed": "2.5", diff --git a/resources/profiles/Prusa/filament/Generic PLA @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic PLA @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..32498fb8a9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic PLA @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic PLA @Prusa CORE One MMU3", + "inherits": "Generic PLA @Prusa CORE One", + "from": "system", + "setting_id": "haNaA1KFlYeqtfIg", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.03{elsif nozzle_diameter[filament_extruder_id]==0.5}0.022{elsif nozzle_diameter[filament_extruder_id]==0.6}0.019{elsif nozzle_diameter[filament_extruder_id]==0.8}0.013{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.07{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "40" + ], + "filament_unloading_speed_start": [ + "30" + ], + "idle_temperature": [ + "170" + ] +} diff --git a/resources/profiles/Prusa/filament/Generic PLA @Prusa XL 5T.json b/resources/profiles/Prusa/filament/Generic PLA @Prusa XL 5T.json index 6dbefec6be..532ccba57a 100644 --- a/resources/profiles/Prusa/filament/Generic PLA @Prusa XL 5T.json +++ b/resources/profiles/Prusa/filament/Generic PLA @Prusa XL 5T.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Prusa XL 5T", - "inherits": "Generic PLA @Prusa base", "renamed_from": "Prusa Generic PLA @XL 5T;Prusa Generic PLA XL 5T", + "inherits": "Generic PLA @Prusa base", "from": "system", "setting_id": "wDxtZLt5J2JODMBq", "instantiation": "true", @@ -34,8 +34,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Generic PLA @Prusa XL.json b/resources/profiles/Prusa/filament/Generic PLA @Prusa XL.json index ff8f343b41..4e560f4bac 100644 --- a/resources/profiles/Prusa/filament/Generic PLA @Prusa XL.json +++ b/resources/profiles/Prusa/filament/Generic PLA @Prusa XL.json @@ -1,8 +1,8 @@ { "type": "filament", "name": "Generic PLA @Prusa XL", - "inherits": "Generic PLA @Prusa base", "renamed_from": "Prusa Generic PLA @XL;Prusa Generic PLA XL", + "inherits": "Generic PLA @Prusa base", "from": "system", "setting_id": "27u5AiklUhmExsys", "instantiation": "true", @@ -34,8 +34,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Generic PLA Silk @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic PLA Silk @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..d45bd3cd90 --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic PLA Silk @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic PLA Silk @Prusa CORE One MMU3", + "inherits": "Generic PLA Silk @Prusa CORE One", + "from": "system", + "setting_id": "MMarDGtK4f7u78gA", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.5}0.022{elsif nozzle_diameter[0]==0.6}0.018{elsif nozzle_diameter[0]==0.8}0.012{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.075{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "40" + ], + "filament_unloading_speed_start": [ + "30" + ], + "idle_temperature": [ + "170" + ] +} diff --git a/resources/profiles/Prusa/filament/Generic TPU @Prusa CORE One MMU3.json b/resources/profiles/Prusa/filament/Generic TPU @Prusa CORE One MMU3.json new file mode 100644 index 0000000000..7aa75a058f --- /dev/null +++ b/resources/profiles/Prusa/filament/Generic TPU @Prusa CORE One MMU3.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Generic TPU @Prusa CORE One MMU3", + "inherits": "Generic TPU @Prusa CORE One", + "from": "system", + "setting_id": "pYEUfg7uqu2LGw2n", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.4" + ], + "filament_cooling_initial_speed": [ + "2.2" + ], + "filament_cooling_moves": [ + "4" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "28" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_stamping_distance": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_start_gcode": [ + "M900 K0 ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "90" + ], + "filament_unloading_speed_start": [ + "100" + ], + "idle_temperature": [ + "150" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament ASA @CORE One MMU3.json new file mode 100644 index 0000000000..6f415ba213 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament ASA @CORE One MMU3", + "inherits": "Prusament ASA @CORE One", + "from": "system", + "setting_id": "pESQ8XminojyIGyw", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK3S.json b/resources/profiles/Prusa/filament/Prusament ASA @MK3S.json new file mode 100644 index 0000000000..c8d17cbd59 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK3S.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK3S", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "6axLRDqyMzSKivpv", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "35.28" + ], + "filament_density": [ + "1.07" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "ASA" + ], + "filament_vendor": [ + "Prusa Polymers" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4.json new file mode 100644 index 0000000000..10f5a90ebf --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "S4liaSXDqOT1o64k", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "35.28" + ], + "filament_density": [ + "1.07" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "ASA" + ], + "filament_vendor": [ + "Prusa Polymers" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.6.json new file mode 100644 index 0000000000..20372c4e3d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S 0.6", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "NjWtcE6qB6wUa6pc", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "nozzle_temperature": "255", + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.8.json new file mode 100644 index 0000000000..8960cd8cdd --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S 0.8", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "Xeqlb6XMZBWZtRkd", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.4.json new file mode 100644 index 0000000000..85bb74a8a9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.4.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S HF0.4", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "1N3BqmbZKCKh8v9N", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_max_volumetric_speed": [ + "26" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\nM142 S40 ; set heatbreak target temp" + ], + "nozzle_temperature": "265", + "nozzle_temperature_initial_layer": "265", + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.5.json new file mode 100644 index 0000000000..451f4c4fe0 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.5.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S HF0.5", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "Se12CQUzRlCv6pHb", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "filament_max_volumetric_speed": [ + "27" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.6.json new file mode 100644 index 0000000000..d2903f606a --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.6.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S HF0.6", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "ejFx8rfOt0hqS3kG", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "filament_max_volumetric_speed": [ + "34" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.8.json new file mode 100644 index 0000000000..49536b1aeb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S HF0.8.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S HF0.8", + "inherits": "Prusament ASA @MK4S", + "from": "system", + "setting_id": "fEVn3NwNrLU1NeWg", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "filament_max_volumetric_speed": [ + "36" + ], + "nozzle_temperature": "270", + "nozzle_temperature_initial_layer": "270", + "slow_down_layer_time": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @MK4S.json b/resources/profiles/Prusa/filament/Prusament ASA @MK4S.json new file mode 100644 index 0000000000..1d04b9b114 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament ASA @MK4S.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Prusament ASA @MK4S", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "Gciz1m8uMxV9wogi", + "filament_id": "OFmFwUWM", + "instantiation": "true", + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FFF2EC", + "fan_cooling_layer_time": "20", + "fan_max_speed": "12", + "fan_min_speed": "12", + "filament_cost": [ + "35.28" + ], + "filament_density": [ + "1.07" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "ASA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": "110", + "overhang_fan_speed": "20", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament ASA @XL 5T.json b/resources/profiles/Prusa/filament/Prusament ASA @XL 5T.json index fdb63e2e68..43aed0f993 100644 --- a/resources/profiles/Prusa/filament/Prusament ASA @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament ASA @XL 5T.json @@ -6,7 +6,9 @@ "setting_id": "IQu91UAWOJOQcUq9", "filament_id": "OFmFwUWM", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "260", "nozzle_temperature": "260", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament ASA @XL.json b/resources/profiles/Prusa/filament/Prusament ASA @XL.json index c07021a9c3..d118538809 100644 --- a/resources/profiles/Prusa/filament/Prusament ASA @XL.json +++ b/resources/profiles/Prusa/filament/Prusament ASA @XL.json @@ -6,7 +6,9 @@ "setting_id": "RaEoFoZdXkkOz9yh", "filament_id": "OFmFwUWM", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "260", "nozzle_temperature": "260", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PA-CF @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PA-CF @CORE One MMU3.json new file mode 100644 index 0000000000..cfdc1c5412 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA-CF @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PA-CF @CORE One MMU3", + "inherits": "Prusament PA-CF @CORE One", + "from": "system", + "setting_id": "DsvJLtFStnmOCm1m", + "filament_id": "OF54SvEe", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.6}0.025{elsif nozzle_diameter[filament_extruder_id]==0.8}0.016{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.09{else}0{endif} ; Filament gcode\n\nM142 S45 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PA-CF @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PA-CF @XL 5T.json index af306fd2a7..80a9653148 100644 --- a/resources/profiles/Prusa/filament/Prusament PA-CF @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PA-CF @XL 5T.json @@ -6,7 +6,9 @@ "setting_id": "FYerOcjToJ3ABpu1", "filament_id": "OF54SvEe", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "275", "nozzle_temperature": "285", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PA-CF @XL.json b/resources/profiles/Prusa/filament/Prusament PA-CF @XL.json index f843be92a0..957a27f8cc 100644 --- a/resources/profiles/Prusa/filament/Prusament PA-CF @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PA-CF @XL.json @@ -6,7 +6,9 @@ "setting_id": "IrL4iU2kkMBHIw3e", "filament_id": "OF54SvEe", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "275", "nozzle_temperature": "285", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK3S.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK3S.json new file mode 100644 index 0000000000..3a791d2d61 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK3S.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK3S", + "inherits": "fdm_filament_pa11cf", + "from": "system", + "setting_id": "NwYUwfN9nhSfE2C1", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "124.99" + ], + "filament_density": [ + "1.11" + ], + "filament_max_volumetric_speed": [ + "6.5" + ], + "filament_spool_weight": [ + "197" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PA11-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "275" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4.json new file mode 100644 index 0000000000..aa9b5edef1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4", + "inherits": "fdm_filament_pa11cf", + "from": "system", + "setting_id": "a7kxY0dJGsGZn47w", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "124.99" + ], + "filament_density": [ + "1.11" + ], + "filament_max_volumetric_speed": [ + "6.5" + ], + "filament_spool_weight": [ + "197" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PA11-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "275" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.6.json new file mode 100644 index 0000000000..167a3300a6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.6.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S 0.6", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "FBlyfsI1Ma2iAPNK", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.8.json new file mode 100644 index 0000000000..0689785966 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S 0.8", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "0NFWsNglK5k71qTn", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.4.json new file mode 100644 index 0000000000..9e0ff77a60 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.4.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.4", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "aye0FxF8I7iBveqa", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\nM142 S40 ; set heatbreak target temp" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.5.json new file mode 100644 index 0000000000..7e1c46f294 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.5.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.5", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "dKNDJrwKoWYdTM5u", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.6.json new file mode 100644 index 0000000000..6eeed2e00c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.6", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "CwGIOx1Nds9lAZ2V", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.8.json new file mode 100644 index 0000000000..deaf23f371 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S HF0.8", + "inherits": "Prusament PA11 Carbon Fiber @MK4S", + "from": "system", + "setting_id": "GXVNLqFRsWlDtQzZ", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S.json b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S.json new file mode 100644 index 0000000000..39c52f2ae9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PA11 Carbon Fiber @MK4S.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Prusament PA11 Carbon Fiber @MK4S", + "inherits": "fdm_filament_pa11cf", + "from": "system", + "setting_id": "bUXItT9R8S8cC0zq", + "filament_id": "OF4MZtnE", + "instantiation": "true", + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "fan_max_speed": "12", + "fan_min_speed": "12", + "filament_cost": [ + "124.99" + ], + "filament_density": [ + "1.11" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "6.5" + ], + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_spool_weight": [ + "197" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PA11-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "275" + ], + "overhang_fan_speed": "20", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PC Blend @CORE One MMU3.json new file mode 100644 index 0000000000..ac1e31b8a5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @CORE One MMU3", + "inherits": "Prusament PC Blend @CORE One", + "from": "system", + "setting_id": "VjMN8MwtU3BG5cA9", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.6}0.025{elsif nozzle_diameter[filament_extruder_id]==0.8}0.016{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.09{else}0{endif} ; Filament gcode\n\nM142 S45 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "150" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK3S.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK3S.json new file mode 100644 index 0000000000..ee01d9be96 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK3S.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK3S", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "CXCOX0SxF2ayfzJq", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "51.53" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PC" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4.json new file mode 100644 index 0000000000..dfd02df48b --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "ZGYW1dcpquZnrAvh", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "51.53" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PC" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.6.json new file mode 100644 index 0000000000..003ab80372 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.6.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S 0.6", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "xDACbSXabUy8mLgz", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.8.json new file mode 100644 index 0000000000..64f31dff07 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S 0.8", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "D9aLjfFHsSeQKmCN", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.4.json new file mode 100644 index 0000000000..1fa33516f1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.4.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S HF0.4", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "F9ojwwNwOFimrvA7", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\nM142 S40 ; set heatbreak target temp" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.5.json new file mode 100644 index 0000000000..3a6ca6f5b2 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.5.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S HF0.5", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "rnFCKXWalTbb1kCq", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.6.json new file mode 100644 index 0000000000..569fbb3be2 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S HF0.6", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "dCBGHyldKgJPtI58", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.8.json new file mode 100644 index 0000000000..b108d00335 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S HF0.8", + "inherits": "Prusament PC Blend @MK4S", + "from": "system", + "setting_id": "7gGAWA0q7ZbcUg9l", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S.json b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S.json new file mode 100644 index 0000000000..28329e96e8 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @MK4S.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Prusament PC Blend @MK4S", + "inherits": "fdm_filament_pc", + "from": "system", + "setting_id": "PnkaoPoBRavoeMJm", + "filament_id": "OFvDbkFq", + "instantiation": "true", + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "fan_max_speed": "12", + "fan_min_speed": "12", + "filament_cost": [ + "51.53" + ], + "filament_density": [ + "1.22" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PC" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "275" + ], + "nozzle_temperature_initial_layer": [ + "275" + ], + "overhang_fan_speed": "20", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PC Blend @XL 5T.json index 922492ce7c..ff60e677cb 100644 --- a/resources/profiles/Prusa/filament/Prusament PC Blend @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @XL 5T.json @@ -41,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend @XL.json b/resources/profiles/Prusa/filament/Prusament PC Blend @XL.json index 2ea273902c..d3fdac3873 100644 --- a/resources/profiles/Prusa/filament/Prusament PC Blend @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PC Blend @XL.json @@ -41,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK3S.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK3S.json new file mode 100644 index 0000000000..623a3b40c4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK3S.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK3S", + "inherits": "fdm_filament_pccf", + "from": "system", + "setting_id": "d9bHnNlPCrWYi9qR", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "74.99" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PC-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "285" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4.json new file mode 100644 index 0000000000..631adc3d61 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4.json @@ -0,0 +1,48 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4", + "inherits": "fdm_filament_pccf", + "from": "system", + "setting_id": "AmzsXSosYtRhIQ4G", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "74.99" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PC-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "285" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.6.json new file mode 100644 index 0000000000..2a79f39297 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.6.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S 0.6", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "cWC8gJcldfVtxPX6", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.8.json new file mode 100644 index 0000000000..434c32c4da --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S 0.8", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "00MDpPdEKLFIKRaD", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.4.json new file mode 100644 index 0000000000..804974ffbd --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.4.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.4", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "KGuzaSeGZHauDImP", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\nM142 S40 ; set heatbreak target temp" + ], + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.5.json new file mode 100644 index 0000000000..c726b71c77 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.5.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.5", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "OaosyMTYopgexb4a", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.6.json new file mode 100644 index 0000000000..2f6ce1cfe4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.6", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "6Y8rtcvi7pHhZZWc", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.8.json new file mode 100644 index 0000000000..3d4752b6e4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S HF0.8", + "inherits": "Prusament PC Blend Carbon Fiber @MK4S", + "from": "system", + "setting_id": "ZV1h1rvEia2iAtzD", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "slow_down_layer_time": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S.json b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S.json new file mode 100644 index 0000000000..2176620a50 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC Blend Carbon Fiber @MK4S.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Prusament PC Blend Carbon Fiber @MK4S", + "inherits": "fdm_filament_pccf", + "from": "system", + "setting_id": "hsgqC40IgFV1nBFs", + "filament_id": "OFdO6vpt", + "instantiation": "true", + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "fan_max_speed": "12", + "fan_min_speed": "12", + "filament_cost": [ + "74.99" + ], + "filament_density": [ + "1.22" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "filament_type": [ + "PC-CF" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "285" + ], + "nozzle_temperature_initial_layer": [ + "285" + ], + "overhang_fan_speed": "20", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PC-CF @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PC-CF @CORE One MMU3.json new file mode 100644 index 0000000000..fc73ddf3b4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PC-CF @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PC-CF @CORE One MMU3", + "inherits": "Prusament PC-CF @CORE One", + "from": "system", + "setting_id": "hTcuccoINAUJ4PfR", + "filament_id": "OFjz0a3m", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.6}0.025{elsif nozzle_diameter[filament_extruder_id]==0.8}0.016{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.09{else}0{endif} ; Filament gcode\n\nM142 S45 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "150" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PC-CF @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PC-CF @XL 5T.json index 0c6d1a3cdb..7ef720791d 100644 --- a/resources/profiles/Prusa/filament/Prusament PC-CF @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PC-CF @XL 5T.json @@ -6,7 +6,9 @@ "setting_id": "m1YND6uz3GWeVIBG", "filament_id": "OFjz0a3m", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "285", "nozzle_temperature": "285", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PC-CF @XL.json b/resources/profiles/Prusa/filament/Prusament PC-CF @XL.json index 572b970d02..44abf2918e 100644 --- a/resources/profiles/Prusa/filament/Prusament PC-CF @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PC-CF @XL.json @@ -6,7 +6,9 @@ "setting_id": "Eq5x2CcEUUAZ5aof", "filament_id": "OFjz0a3m", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "285", "nozzle_temperature": "285", "hot_plate_temp_initial_layer": "100", @@ -39,8 +41,6 @@ "filament_loading_speed": "14", "filament_unloading_speed_start": "100", "filament_unloading_speed": "20", - "filament_load_time": "15", - "filament_unload_time": "12", "filament_cooling_moves": "5", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "50", diff --git a/resources/profiles/Prusa/filament/Prusament PETG @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PETG @CORE One MMU3.json new file mode 100644 index 0000000000..70d19cc0d1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PETG @CORE One MMU3", + "inherits": "Prusament PETG @CORE One", + "from": "system", + "setting_id": "ypQNV38FrfRu9QSd", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "2.5" + ], + "filament_cooling_initial_speed": [ + "5" + ], + "filament_cooling_moves": [ + "3" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 42.4194 42.4194 42.4194 42.4194 42.4194| 0.05 42.4387 0.45 42.4387 0.95 42.4387 1.45 42.4387 1.95 42.4387 2.45 42.4387 2.95 42.4387 3.45 42.4387 3.95 42.4387 4.45 42.4387 4.95 42.4387" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "26.5" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.053{elsif nozzle_diameter[filament_extruder_id]==0.5}0.042{elsif nozzle_diameter[filament_extruder_id]==0.6}0.032{elsif nozzle_diameter[filament_extruder_id]==0.8}0.018{elsif nozzle_diameter[filament_extruder_id]==0.25}0.18{elsif nozzle_diameter[filament_extruder_id]==0.3}0.1{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "60" + ], + "idle_temperature": [ + "130" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK3S.json b/resources/profiles/Prusa/filament/Prusament PETG @MK3S.json new file mode 100644 index 0000000000..20fe2653da --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK3S.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK3S", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "1Lq1vO0EjKGK7JnD", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.08{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4.json new file mode 100644 index 0000000000..af10c5cfc9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4.json @@ -0,0 +1,69 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "YB1aMpM57M1Wrhnw", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 42.4 42.4 42.4 42.4 42.4 | 0.05 42.4 0.45 42.4 0.95 42.4 1.45 42.4 1.95 42.4 2.45 42.4 2.95 42.4 3.45 42.4 3.95 42.4 4.45 42.4 4.95 42.4" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if nozzle_diameter[0]==0.4}0.035{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.055{elsif nozzle_diameter[0]==0.5}0.042{elsif nozzle_diameter[0]==0.6}0.025{elsif nozzle_diameter[0]==0.8}0.018{elsif nozzle_diameter[0]==0.25}0.18{elsif nozzle_diameter[0]==0.3}0.1{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.6.json new file mode 100644 index 0000000000..a2b467d4cb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.6.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S 0.6", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "4IeTOEFPCTCEBwU1", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_max_volumetric_speed": [ + "17" + ], + "overhang_fan_speed": "45", + "slow_down_layer_time": "10" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.8.json new file mode 100644 index 0000000000..af75f27433 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S 0.8.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S 0.8", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "bbyfFv8Lm1scbO48", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_max_speed": "45", + "fan_min_speed": "25", + "filament_max_volumetric_speed": [ + "22" + ], + "filament_retract_before_wipe": "50", + "nozzle_temperature": "245", + "nozzle_temperature_initial_layer": "240", + "overhang_fan_speed": "45", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.4.json new file mode 100644 index 0000000000..74303e85bd --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.4.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S HF0.4", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "PCkfLeCKekadlalX", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_max_volumetric_speed": [ + "24" + ], + "filament_ramming_parameters": [ + "250 100 42.4 42.4 | 0.05 42.4 0.45 42.4 0.95 42.4 1.45 42.4 1.95 42.4 2.45 42.4 2.95 42.4 3.45 42.4 3.95 42.4 4.45 42.4 4.95 42.4" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.044{elsif nozzle_diameter[0]==0.6}0.035{elsif nozzle_diameter[0]==0.8}0.022{elsif nozzle_diameter[0]==0.25}0.18{elsif nozzle_diameter[0]==0.3}0.1{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "nozzle_temperature": "245", + "nozzle_temperature_initial_layer": "235" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.5.json new file mode 100644 index 0000000000..2ab13c26fb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.5.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S HF0.5", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "HayDpO5Htl0tfaym", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "filament_max_volumetric_speed": [ + "29" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.6.json new file mode 100644 index 0000000000..370f8a3a2e --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.6.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S HF0.6", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "WtNF07X5vNklj181", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_max_volumetric_speed": [ + "33" + ], + "nozzle_temperature": "240", + "nozzle_temperature_initial_layer": "230", + "overhang_fan_speed": "45", + "slow_down_layer_time": "10" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.8.json new file mode 100644 index 0000000000..d9ce144cd2 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S HF0.8.json @@ -0,0 +1,21 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S HF0.8", + "inherits": "Prusament PETG @MK4S", + "from": "system", + "setting_id": "wQHkNi9PUdQBELEy", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_max_speed": "45", + "filament_max_volumetric_speed": [ + "37" + ], + "filament_retract_before_wipe": "50", + "nozzle_temperature_initial_layer": "240", + "overhang_fan_speed": "45", + "slow_down_layer_time": "18" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @MK4S.json b/resources/profiles/Prusa/filament/Prusament PETG @MK4S.json new file mode 100644 index 0000000000..9196845a27 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PETG @MK4S.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Prusament PETG @MK4S", + "inherits": "fdm_filament_pet", + "from": "system", + "setting_id": "J83RtTwoqDdTBPW2", + "filament_id": "OFkR8E2c", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FF8000", + "fan_max_speed": "40", + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.27" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "250 100 42.4 42.4 42.4 42.4 42.4 | 0.05 42.4 0.45 42.4 0.95 42.4 1.45 42.4 1.95 42.4 2.45 42.4 2.95 42.4 3.45 42.4 3.95 42.4 4.45 42.4 4.95 42.4" + ], + "filament_retract_before_wipe": "20", + "filament_retraction_length": "0.8", + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.07{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.09{elsif nozzle_diameter[filament_extruder_id]==0.35}0.08{elsif nozzle_diameter[filament_extruder_id]==0.6}0.04{elsif nozzle_diameter[filament_extruder_id]==0.5}0.05{elsif nozzle_diameter[filament_extruder_id]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.053{elsif nozzle_diameter[filament_extruder_id]==0.5}0.042{elsif nozzle_diameter[filament_extruder_id]==0.6}0.032{elsif nozzle_diameter[filament_extruder_id]==0.8}0.018{elsif nozzle_diameter[filament_extruder_id]==0.25}0.18{elsif nozzle_diameter[filament_extruder_id]==0.3}0.1{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "filament_wipe": "1", + "filament_z_hop": "0.15", + "full_fan_speed_layer": "5", + "hot_plate_temp": "90", + "hot_plate_temp_initial_layer": "85", + "nozzle_temperature": "240", + "nozzle_temperature_initial_layer": "230", + "overhang_fan_speed": "40", + "slow_down_layer_time": "7", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PETG @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PETG @XL 5T.json index e0db59fde9..95e9ecc79b 100644 --- a/resources/profiles/Prusa/filament/Prusament PETG @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PETG @XL 5T.json @@ -36,8 +36,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "3", "filament_cooling_initial_speed": "5", "filament_cooling_final_speed": "2.5", diff --git a/resources/profiles/Prusa/filament/Prusament PETG @XL.json b/resources/profiles/Prusa/filament/Prusament PETG @XL.json index f26140a0eb..56c2fa7a2b 100644 --- a/resources/profiles/Prusa/filament/Prusament PETG @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PETG @XL.json @@ -36,8 +36,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "3", "filament_cooling_initial_speed": "5", "filament_cooling_final_speed": "2.5", diff --git a/resources/profiles/Prusa/filament/Prusament PLA @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PLA @CORE One MMU3.json new file mode 100644 index 0000000000..df0112ed8f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PLA @CORE One MMU3", + "inherits": "Prusament PLA @CORE One", + "from": "system", + "setting_id": "HSqoQhcjRqpny2g2", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.022{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "40" + ], + "filament_unloading_speed_start": [ + "30" + ], + "idle_temperature": [ + "170" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK3S.json b/resources/profiles/Prusa/filament/Prusament PLA @MK3S.json new file mode 100644 index 0000000000..ccb4b54b63 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK3S.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK3S", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "jd5bJxkA2tV0xWMh", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "27.99" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.04{else}0.05{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4.json new file mode 100644 index 0000000000..7433816590 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4.json @@ -0,0 +1,45 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "NcoTSmHCXFp32Loh", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "27.99" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.5}0.025{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.014{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.6.json new file mode 100644 index 0000000000..7d85e6a598 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.6.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S 0.6", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "ZEBOwRtl5qpCb9IG", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "nozzle_temperature": "210", + "slow_down_layer_time": "10" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.8.json new file mode 100644 index 0000000000..55fb31d409 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S 0.8.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S 0.8", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "CzKCsSyqjLn2UfXr", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "filament_max_volumetric_speed": [ + "19" + ], + "nozzle_temperature": "225", + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.4.json new file mode 100644 index 0000000000..e1f7978ec4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.4.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S HF0.4", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "LnduHI0DPjZ5GUrI", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_ramming_parameters": [ + "250 100 40 40| 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.036{elsif nozzle_diameter[0]==0.5}0.026{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.015{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "nozzle_temperature": "225" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.5.json new file mode 100644 index 0000000000..116642f6e6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.5.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S HF0.5", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "3NoQEhv9aaqhuZkV", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "filament_max_volumetric_speed": [ + "24" + ], + "slow_down_layer_time": "8" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.6.json new file mode 100644 index 0000000000..1553aad04f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S HF0.6", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "gc7etYK4E5aNlE8r", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_max_volumetric_speed": [ + "30" + ], + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.8.json new file mode 100644 index 0000000000..f971be6375 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S HF0.8.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S HF0.8", + "inherits": "Prusament PLA @MK4S", + "from": "system", + "setting_id": "7RNQ9AxcL9zZVpqX", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "filament_max_volumetric_speed": [ + "35" + ], + "slow_down_layer_time": "15", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @MK4S.json b/resources/profiles/Prusa/filament/Prusament PLA @MK4S.json new file mode 100644 index 0000000000..24df5df2a6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PLA @MK4S.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Prusament PLA @MK4S", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "Zhgox3YIOqKlJpI7", + "filament_id": "OFnO4wnf", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FF8000", + "fan_cooling_layer_time": "17", + "fan_min_speed": "70", + "filament_cost": [ + "27.99" + ], + "filament_density": [ + "1.24" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.07{elsif nozzle_diameter[filament_extruder_id]==0.35}0.06{elsif nozzle_diameter[filament_extruder_id]==0.6}0.03{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "full_fan_speed_layer": "3", + "nozzle_temperature_initial_layer": "230", + "slow_down_layer_time": "6", + "slow_down_min_speed": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament PLA @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PLA @XL 5T.json index efda9cf4e3..ae302e09eb 100644 --- a/resources/profiles/Prusa/filament/Prusament PLA @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PLA @XL 5T.json @@ -33,8 +33,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Prusament PLA @XL.json b/resources/profiles/Prusa/filament/Prusament PLA @XL.json index 9d02a67491..b5d006dc46 100644 --- a/resources/profiles/Prusa/filament/Prusament PLA @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PLA @XL.json @@ -33,8 +33,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Prusament PVB @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament PVB @CORE One MMU3.json new file mode 100644 index 0000000000..992b9ebd58 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @CORE One MMU3.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "Prusament PVB @CORE One MMU3", + "inherits": "Prusament PVB @CORE One", + "from": "system", + "setting_id": "IXUO4uCgUY1p5jIo", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.022{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "40" + ], + "filament_unloading_speed_start": [ + "30" + ], + "idle_temperature": [ + "170" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK3S.json b/resources/profiles/Prusa/filament/Prusament PVB @MK3S.json new file mode 100644 index 0000000000..13a6aa761a --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK3S.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK3S", + "inherits": "fdm_filament_pvb", + "from": "system", + "setting_id": "kO3wM0M7J1PagKmj", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "49.98" + ], + "filament_density": [ + "1.09" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.04{else}0.05{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PVB" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "75" + ], + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4.json new file mode 100644 index 0000000000..bce92b05ef --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4", + "inherits": "fdm_filament_pvb", + "from": "system", + "setting_id": "Ef8S7ZBjRdBICgMN", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "49.98" + ], + "filament_density": [ + "1.09" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.5}0.025{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.014{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PVB" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "75" + ], + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.6.json new file mode 100644 index 0000000000..10b24342b8 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S 0.6", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "d3jPKsT0pNyA81gj", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "slow_down_layer_time": "10" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.8.json new file mode 100644 index 0000000000..9456ebc3c5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S 0.8", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "YHoqMYnFgw3tp4uV", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.4.json new file mode 100644 index 0000000000..f18231e31c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.4.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S HF0.4", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "Sds69fscdMiTlHlX", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_ramming_parameters": [ + "250 100 40 40| 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.036{elsif nozzle_diameter[0]==0.5}0.026{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.015{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.5.json new file mode 100644 index 0000000000..843e9cc4b9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.5.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S HF0.5", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "HRME1Zm3QWVNOM7D", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "slow_down_layer_time": "8" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.6.json new file mode 100644 index 0000000000..4e88e536b3 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.6.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S HF0.6", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "dMKhLR5eOYhQusUg", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.8.json new file mode 100644 index 0000000000..c91839dfbc --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S HF0.8.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S HF0.8", + "inherits": "Prusament PVB @MK4S", + "from": "system", + "setting_id": "E41yKP1EQp91Dhbm", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "slow_down_layer_time": "15", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @MK4S.json b/resources/profiles/Prusa/filament/Prusament PVB @MK4S.json new file mode 100644 index 0000000000..18e28e7418 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament PVB @MK4S.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Prusament PVB @MK4S", + "inherits": "fdm_filament_pvb", + "from": "system", + "setting_id": "eIhnQsQrrCKHjCIy", + "filament_id": "OFh7mvPO", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "fan_cooling_layer_time": "17", + "fan_min_speed": "70", + "filament_cost": [ + "49.98" + ], + "filament_density": [ + "1.09" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.07{elsif nozzle_diameter[filament_extruder_id]==0.35}0.06{elsif nozzle_diameter[filament_extruder_id]==0.6}0.03{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PVB" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "full_fan_speed_layer": "3", + "hot_plate_temp": [ + "75" + ], + "hot_plate_temp_initial_layer": [ + "75" + ], + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "slow_down_layer_time": "6", + "slow_down_min_speed": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament PVB @XL 5T.json b/resources/profiles/Prusa/filament/Prusament PVB @XL 5T.json index 366c6043cd..2c689937cf 100644 --- a/resources/profiles/Prusa/filament/Prusament PVB @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament PVB @XL 5T.json @@ -6,7 +6,9 @@ "setting_id": "DIrPylH6rmu6YA43", "filament_id": "OFh7mvPO", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "215", "nozzle_temperature": "215", "hot_plate_temp_initial_layer": "75", @@ -40,8 +42,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Prusament PVB @XL.json b/resources/profiles/Prusa/filament/Prusament PVB @XL.json index 4a9a858c06..01df675ba1 100644 --- a/resources/profiles/Prusa/filament/Prusament PVB @XL.json +++ b/resources/profiles/Prusa/filament/Prusament PVB @XL.json @@ -6,7 +6,9 @@ "setting_id": "RF55nfxQwqUqe00Q", "filament_id": "OFh7mvPO", "instantiation": "true", - "filament_vendor": ["Prusa Polymers"], + "filament_vendor": [ + "Prusa Polymers" + ], "nozzle_temperature_intial_layer": "215", "nozzle_temperature": "215", "hot_plate_temp_initial_layer": "75", @@ -40,8 +42,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @CORE One MMU3.json b/resources/profiles/Prusa/filament/Prusament rPLA @CORE One MMU3.json new file mode 100644 index 0000000000..282449b194 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @CORE One MMU3.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament rPLA @CORE One MMU3", + "inherits": "Prusament rPLA @CORE One", + "from": "system", + "setting_id": "n0gSFPBaa7PQ1Y1x", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle", + "Prusa CORE One MMU3 0.25 nozzle", + "Prusa CORE One MMU3 0.3 nozzle", + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filament_cooling_final_speed": [ + "3.5" + ], + "filament_cooling_initial_speed": [ + "10" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "filament_loading_speed": [ + "10" + ], + "filament_loading_speed_start": [ + "50" + ], + "filament_ramming_parameters": [ + "250 100 40.1613 40.3548 40.4516 40.3548 40.2581| 0.05 40.1483 0.45 40.3419 0.95 40.3419 1.45 40.3419 1.95 40.3419 2.45 40.3419 2.95 40.3419 3.45 40.3419 3.95 40.3419 4.45 40.3419 4.95 40.3419" + ], + "filament_stamping_distance": [ + "45" + ], + "filament_stamping_loading_speed": [ + "29" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.022{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_unloading_speed": [ + "40" + ], + "filament_unloading_speed_start": [ + "30" + ], + "idle_temperature": [ + "170" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK3S.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK3S.json new file mode 100644 index 0000000000..26edf0dcd5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK3S.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK3S", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DvZ1JFdQmxSvwekh", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK3S 0.25 nozzle", + "Prusa MK3S 0.4 nozzle", + "Prusa MK3S 0.6 nozzle", + "Prusa MK3S 0.8 nozzle" + ], + "filament_cost": [ + "37.49" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.04{else}0.05{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4.json new file mode 100644 index 0000000000..f5a1e0a766 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "SnMLCgJupdA5BURx", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ], + "filament_cost": [ + "37.49" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.026{elsif nozzle_diameter[0]==0.5}0.025{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.014{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "slow_down_layer_time": [ + "8" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.6.json new file mode 100644 index 0000000000..c973329486 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S 0.6", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "Jsb4d55uh5AiilFy", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "slow_down_layer_time": "10" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.8.json new file mode 100644 index 0000000000..7ed563d0ee --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S 0.8", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "ETHdABOm1ngNTAwE", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "slow_down_layer_time": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.4.json new file mode 100644 index 0000000000..118d9eeac3 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.4.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S HF0.4", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "KqG308Vq6NlSFvBq", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_ramming_parameters": [ + "250 100 40 40| 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.036{elsif nozzle_diameter[0]==0.5}0.026{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.015{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.5.json new file mode 100644 index 0000000000..8cadd83f2a --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.5.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S HF0.5", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "yWMgM2m6Vhmgcz3o", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "slow_down_layer_time": "8" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.6.json new file mode 100644 index 0000000000..cf1721197b --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.6.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S HF0.6", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "rG5LhqOyuhtVsJA5", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.8.json new file mode 100644 index 0000000000..a0368f1f76 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S HF0.8.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S HF0.8", + "inherits": "Prusament rPLA @MK4S", + "from": "system", + "setting_id": "4aW3ShLVlu345ILy", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "slow_down_layer_time": "15", + "slow_down_min_speed": "15" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @MK4S.json b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S.json new file mode 100644 index 0000000000..7ad6c20567 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusament rPLA @MK4S.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Prusament rPLA @MK4S", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "RT3cyjS4ZsddCiM9", + "filament_id": "OFWRITFw", + "instantiation": "true", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "fan_cooling_layer_time": "17", + "fan_min_speed": "70", + "filament_cost": [ + "37.49" + ], + "filament_density": [ + "1.24" + ], + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "250 100 40 40 40 40 40 | 0.05 40 0.45 40 0.95 40 1.45 40 1.95 40 2.45 40 2.95 40 3.45 40 3.95 40 4.45 40 4.95 40" + ], + "filament_spool_weight": [ + "278" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.07{elsif nozzle_diameter[filament_extruder_id]==0.35}0.06{elsif nozzle_diameter[filament_extruder_id]==0.6}0.03{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Prusa Polymers" + ], + "full_fan_speed_layer": "3", + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "205" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "slow_down_layer_time": "6", + "slow_down_min_speed": "20" +} diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @XL 5T.json b/resources/profiles/Prusa/filament/Prusament rPLA @XL 5T.json index 8bfc482af6..1b847cb1c8 100644 --- a/resources/profiles/Prusa/filament/Prusament rPLA @XL 5T.json +++ b/resources/profiles/Prusa/filament/Prusament rPLA @XL 5T.json @@ -36,8 +36,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/filament/Prusament rPLA @XL.json b/resources/profiles/Prusa/filament/Prusament rPLA @XL.json index 9ed3d9af74..97c4f6d108 100644 --- a/resources/profiles/Prusa/filament/Prusament rPLA @XL.json +++ b/resources/profiles/Prusa/filament/Prusament rPLA @XL.json @@ -36,8 +36,6 @@ "filament_loading_speed": "10", "filament_unloading_speed_start": "100", "filament_unloading_speed": "100", - "filament_load_time": "10.5", - "filament_unload_time": "8.5", "filament_cooling_moves": "2", "filament_cooling_initial_speed": "10", "filament_cooling_final_speed": "3.5", diff --git a/resources/profiles/Prusa/machine/Prusa CORE One HF.json b/resources/profiles/Prusa/machine/Prusa CORE One HF.json index 027ef3e2d0..2c75795ff5 100644 --- a/resources/profiles/Prusa/machine/Prusa CORE One HF.json +++ b/resources/profiles/Prusa/machine/Prusa CORE One HF.json @@ -3,7 +3,7 @@ "name": "Prusa CORE One HF", "bed_model": "coreone_bed.stl", "bed_texture": "coreone.svg", - "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One", + "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One;Generic PLA @Prusa CORE One HF 0.6;Generic PLA @Prusa CORE One HF 0.8", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/machine/Prusa CORE One L HF.json b/resources/profiles/Prusa/machine/Prusa CORE One L HF.json index 57287f0380..08f23ca781 100644 --- a/resources/profiles/Prusa/machine/Prusa CORE One L HF.json +++ b/resources/profiles/Prusa/machine/Prusa CORE One L HF.json @@ -3,7 +3,7 @@ "name": "Prusa CORE One L HF", "bed_model": "coreonel_bed.stl", "bed_texture": "coreonel.svg", - "default_materials": "Generic PLA @Prusa CORE One", + "default_materials": "Generic PLA @Prusa CORE One;Generic PLA @Prusa CORE One HF 0.4;Generic PLA @System", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/machine/Prusa CORE One L.json b/resources/profiles/Prusa/machine/Prusa CORE One L.json index 87bc587830..290659a2a4 100644 --- a/resources/profiles/Prusa/machine/Prusa CORE One L.json +++ b/resources/profiles/Prusa/machine/Prusa CORE One L.json @@ -3,7 +3,7 @@ "name": "Prusa CORE One L", "bed_model": "coreonel_bed.stl", "bed_texture": "coreonel.svg", - "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One", + "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One;Generic PLA @System", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.25 nozzle.json new file mode 100644 index 0000000000..2a862a9a73 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.25 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "machine", + "name": "Prusa CORE One MMU3 0.25 nozzle", + "inherits": "Prusa CORE One MMU3 0.4 nozzle", + "from": "system", + "setting_id": "8VtAsgGqtUUBmaxH", + "instantiation": "true", + "default_print_profile": "0.12mm SPEED @COREONE0.25 + MMU3", + "max_layer_height": "0.15", + "min_layer_height": "0.05", + "nozzle_diameter": [ + "0.25" + ], + "printer_model": "Prusa CORE One MMU3", + "printer_variant": "0.25", + "retraction_length": "0.8", + "z_hop": "0.15" +} diff --git a/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.3 nozzle.json b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.3 nozzle.json new file mode 100644 index 0000000000..3396a41a8d --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.3 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "machine", + "name": "Prusa CORE One MMU3 0.3 nozzle", + "inherits": "Prusa CORE One MMU3 0.4 nozzle", + "from": "system", + "setting_id": "EiPXZjRoFcw95gWA", + "instantiation": "true", + "default_print_profile": "0.16mm STRUCTURAL @COREONE0.3 + MMU3", + "max_layer_height": "0.22", + "min_layer_height": "0.05", + "nozzle_diameter": [ + "0.3" + ], + "printer_model": "Prusa CORE One MMU3", + "printer_variant": "0.3", + "retraction_length": "0.7", + "z_hop": "0.15" +} diff --git a/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.4 nozzle.json new file mode 100644 index 0000000000..83a6a95ca5 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.4 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "machine", + "name": "Prusa CORE One MMU3 0.4 nozzle", + "inherits": "Prusa CORE One 0.4 nozzle", + "from": "system", + "setting_id": "7NzvROXEkMpOMzJ5", + "instantiation": "true", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]", + "change_filament_gcode": "", + "cooling_tube_length": "20", + "cooling_tube_retraction": "45", + "default_filament_profile": "Prusament PLA @CORE One MMU3", + "default_print_profile": "0.20mm SPEED @COREONE0.4 + MMU3", + "extra_loading_move": "-52", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\n", + "machine_end_gcode": "{if layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nM140 S0 ; turn off heatbed\nM141 S0 ; disable chamber control\nM107 ; turn off fan\nG1 X242 Y211 F10200 ; park\n{if layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move bed down{endif}\nM702 ; unload the current filament\nM104 S0 ; turn off temperature\nG4 ; wait\nM572 S0 ; reset PA\nM84 X Y E ; disable motors\n; max_layer_z = [max_layer_z]", + "machine_load_filament_time": "10.9", + "machine_max_speed_z": [ + "12", + "40" + ], + "machine_start_gcode": "M17 ; enable steppers\nM862.1 P[nozzle_diameter] A{(printer_notes=~/.*ABRASIVE_NOZZLE.*/ ? 1 : 0)} F{(printer_notes=~/.*HF_NOZZLE.*/ ? 1 : 0)} ; nozzle check\nM862.3 P \"COREONE\" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P \"Input shaper\" ; FW feature check\nM862.6 P \"MMU3\" ; FW feature check\nM115 U6.4.0+11974\n\n; setup MMU\nM708 A0x0b X5 ; extra load distance\nM708 A0x0d X140 ; unload feedrate\nM708 A0x11 X140 ; load feedrate\nM708 A0x14 X50 ; slow feedrate\nM708 A0x1e X12 ; Pulley current to ~200mA\nM708 A0x12 X90 ; selector feedrate mm/s\nM708 A0x13 X400 ; idler feedrate deg/s\nM708 A0x0f X400 ; selector acceleration mm/s2\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))} ; define print area\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\n{if chamber_temperature[initial_tool] > 35} \n; we need to preheat the chamber\nM140 S115 ; set bed temp for chamber heating\n{else} \n; just set the selected bed temp otherwise\nM140 S[first_layer_bed_temperature] ; set bed temp\n{endif}\nM109 R{((filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == \"PC\" or filament_type[initial_tool] == \"PA\") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == \"FLEX\") ? 210 : (filament_type[initial_tool]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\n; -- Chamber Temperature Control --\n{if chamber_temperature[initial_tool] > 35} ; if we need to heat the chamber\n; min chamber temp section\nM104 T{initial_tool} S{if idle_temperature[initial_tool] == 0}100{else}{idle_temperature[initial_tool]}{endif} ; set idle temp\nG1 Z10 F720 ; set bed position\nG1 X242 Y-9 F4800 ; set print head position\nM191 S{chamber_temperature[initial_tool]} ; wait for minimal chamber temp\nM141 S0 ; set nominal chamber temp\nM107\nM140 S[first_layer_bed_temperature] ; set bed temp\n\n{else}\nM141 S{if chamber_temperature[initial_tool] == 0}20{else}{chamber_temperature[initial_tool]}{endif} ; set nominal chamber temp\n{endif}\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S70{endif}\nG0 Z40 F10000\nM104 T{initial_tool} S{if idle_temperature[initial_tool] == 0}100{else}{idle_temperature[initial_tool]}{endif}\nM190 R[first_layer_bed_temperature] ; wait for bed temp\nM107\n\nG29 G ; absorb heat\n\nM109 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == \"PC\" or filament_type[0] == \"PA\") ? (first_layer_temperature[0] - 25) : (filament_type[0] == \"FLEX\") ? 210 : 170)} ; wait for MBL temp\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]==\"FLEX\"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\n; --- Mesh Bed Leveling (MBL) ---\n\nG29 P9 X208 Y-2.5 W32 H4 ; limited MBL\nM84 E ; turn off E motor\n\nG29 P1 ; invalidate MBL and probe print area\nG29 P1 X150 Y0 W100 H20 C ; probe near purge area\nG29 P3.2 ; MBL interpolation\nG29 P3.13 ; MBL extrapolation outside probe area\nG29 A ; activate MBL\n\n; prepare for purge\nM104 S{first_layer_temperature[initial_tool]}\nG0 X249 Y-2.5 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[initial_tool]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\nM591 S0 ; disable stuck detection\n\nT[initial_tool]\nG1 E{parking_pos_retraction + extra_loading_move - 15} F1000 ; load to the nozzle\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[initial_tool] == \"FLEX\" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E5 X235 Z0.2 F500 ; purge\nG0 X145 E36 F500 ; purge\nG0 X135 E4 F500 ; purge\nG0 X125 E4 F650 ; purge\nG0 X122 Z0.05 F8000 ; wipe, move close to the bed\nG0 X119 Z0.2 F8000 ; wipe, move quickly away from the bed\n\nM591 R ; restore stuck detection\n\nG92 E0\nM221 S100 ; set flow to 100%", + "machine_unload_filament_time": "8.9", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_height": "4", + "parking_pos_retraction": "84", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard" + ], + "printer_model": "Prusa CORE One MMU3", + "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_MODEL_COREONEMMU3\nPRINTER_MODEL_MK4\nCOREMMU\nRAMMING_EXTRA\nPG\nNO_TEMPLATES\nThe MK4 marker enables WipeTower2 cold ramming and filament monitoring control for the CORE One MMU3.", + "printer_variant": "0.4", + "single_extruder_multi_material": "1", + "wipe_tower_type": "type2" +} diff --git a/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.6 nozzle.json new file mode 100644 index 0000000000..11de2e2eac --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa CORE One MMU3 0.6 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Prusa CORE One MMU3 0.6 nozzle", + "inherits": "Prusa CORE One MMU3 0.4 nozzle", + "from": "system", + "setting_id": "rFDxiYXLDZVYHqe8", + "instantiation": "true", + "default_filament_profile": "Prusament PLA @CORE One MMU3", + "default_print_profile": "0.20mm SPEED @COREONE0.6 + MMU3", + "max_layer_height": "0.40", + "min_layer_height": "0.15", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Prusa CORE One MMU3", + "printer_variant": "0.6", + "retraction_length": "0.7", + "wipe": "0" +} diff --git a/resources/profiles/Prusa/machine/Prusa CORE One MMU3.json b/resources/profiles/Prusa/machine/Prusa CORE One MMU3.json new file mode 100644 index 0000000000..a0e766e818 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa CORE One MMU3.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Prusa CORE One MMU3", + "bed_model": "coreone_bed.stl", + "bed_texture": "coreone.svg", + "default_materials": "Generic ABS @Prusa CORE One MMU3;Generic ASA @Prusa CORE One MMU3;Generic PETG @Prusa CORE One MMU3;Generic PLA @Prusa CORE One MMU3;Generic PLA Silk @Prusa CORE One MMU3;Generic TPU @Prusa CORE One MMU3", + "family": "Prusa", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Prusa_CORE_One_MMU3", + "nozzle_diameter": "0.25;0.3;0.4;0.6" +} diff --git a/resources/profiles/Prusa/machine/Prusa CORE One.json b/resources/profiles/Prusa/machine/Prusa CORE One.json index b9907aca2e..3388083a65 100644 --- a/resources/profiles/Prusa/machine/Prusa CORE One.json +++ b/resources/profiles/Prusa/machine/Prusa CORE One.json @@ -3,7 +3,7 @@ "name": "Prusa CORE One", "bed_model": "coreone_bed.stl", "bed_texture": "coreone.svg", - "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One", + "default_materials": "Generic ABS @Prusa CORE One;Generic ASA @Prusa CORE One;Generic PETG @Prusa CORE One;Generic PLA @Prusa CORE One;Generic PLA Silk @Prusa CORE One;Generic TPU @Prusa CORE One;Generic PLA @Prusa CORE One 0.6;Generic PLA @Prusa CORE One 0.8", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/machine/Prusa MK3S.json b/resources/profiles/Prusa/machine/Prusa MK3S.json index ad27bb59f6..6ebf5b6651 100644 --- a/resources/profiles/Prusa/machine/Prusa MK3S.json +++ b/resources/profiles/Prusa/machine/Prusa MK3S.json @@ -8,5 +8,5 @@ "bed_model": "mk3_bed.stl", "bed_texture": "mk3.svg", "hotend_model": "", - "default_materials": "Generic ABS @Prusa;Generic PLA @Prusa;Generic PLA-CF @Prusa;Generic PETG @Prusa;Generic TPU @Prusa;Generic ASA @Prusa;Generic PC @Prusa;Generic PVA @Prusa;Generic PA @Prusa;Generic PA-CF @Prusa" + "default_materials": "Generic ABS @Prusa;Generic PLA @Prusa;Generic PLA-CF @Prusa;Generic PETG @Prusa;Generic TPU @Prusa;Generic ASA @Prusa;Generic PC @Prusa;Generic PVA @Prusa;Generic PA @Prusa;Generic PA-CF @Prusa;Prusament PLA @MK3S;Prusament rPLA @MK3S;Prusament PETG @MK3S;Prusament ASA @MK3S;Prusament PC Blend @MK3S;Prusament PVB @MK3S;Prusament PC Blend Carbon Fiber @MK3S;Prusament PA11 Carbon Fiber @MK3S" } diff --git a/resources/profiles/Prusa/machine/Prusa MK4.json b/resources/profiles/Prusa/machine/Prusa MK4.json index a5a01b2f2e..912987092c 100644 --- a/resources/profiles/Prusa/machine/Prusa MK4.json +++ b/resources/profiles/Prusa/machine/Prusa MK4.json @@ -8,5 +8,5 @@ "bed_model": "mk4_bed.stl", "bed_texture": "mk4is.svg", "hotend_model": "", - "default_materials": "Generic PLA-CF @Prusa;Generic PC @Prusa;Generic PVA @Prusa;Generic PA @Prusa;Generic PA-CF @Prusa;Generic ABS @Prusa MK4;Generic PLA @Prusa MK4;Generic PETG @Prusa MK4;Generic TPU @Prusa MK4;Generic ASA @Prusa MK4;" + "default_materials": "Generic PLA-CF @Prusa;Generic PC @Prusa;Generic PVA @Prusa;Generic PA @Prusa;Generic PA-CF @Prusa;Generic ABS @Prusa MK4;Generic PLA @Prusa MK4;Generic PETG @Prusa MK4;Generic TPU @Prusa MK4;Generic ASA @Prusa MK4;Prusament PLA @MK4;Prusament rPLA @MK4;Prusament PETG @MK4;Prusament ASA @MK4;Prusament PC Blend @MK4;Prusament PVB @MK4;Prusament PC Blend Carbon Fiber @MK4;Prusament PA11 Carbon Fiber @MK4" } diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF.json b/resources/profiles/Prusa/machine/Prusa MK4S HF.json index 088715b835..157766c122 100644 --- a/resources/profiles/Prusa/machine/Prusa MK4S HF.json +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF.json @@ -3,7 +3,7 @@ "name": "Prusa MK4S HF", "bed_model": "mk4_bed.stl", "bed_texture": "mk4s.svg", - "default_materials": "Generic ABS @Prusa MK4S;Generic ASA @Prusa MK4S;Generic PETG @Prusa MK4S;Generic PLA @Prusa MK4S;Generic PLA Silk @Prusa MK4S;Generic TPU @Prusa MK4S", + "default_materials": "Generic ABS @Prusa MK4S;Generic ASA @Prusa MK4S;Generic PETG @Prusa MK4S;Generic PLA @Prusa MK4S;Generic PLA Silk @Prusa MK4S;Generic TPU @Prusa MK4S;Generic PLA @Prusa MK4S HF0.6;Generic PLA @Prusa MK4S HF0.8", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/machine/Prusa MK4S.json b/resources/profiles/Prusa/machine/Prusa MK4S.json index 2f6bd3e45f..ae26c5aa27 100644 --- a/resources/profiles/Prusa/machine/Prusa MK4S.json +++ b/resources/profiles/Prusa/machine/Prusa MK4S.json @@ -3,7 +3,7 @@ "name": "Prusa MK4S", "bed_model": "mk4_bed.stl", "bed_texture": "mk4s.svg", - "default_materials": "Generic ABS @Prusa MK4S;Generic ASA @Prusa MK4S;Generic PETG @Prusa MK4S;Generic PLA @Prusa MK4S;Generic PLA Silk @Prusa MK4S;Generic TPU @Prusa MK4S", + "default_materials": "Generic ABS @Prusa MK4S;Generic ASA @Prusa MK4S;Generic PETG @Prusa MK4S;Generic PLA @Prusa MK4S;Generic PLA Silk @Prusa MK4S;Generic TPU @Prusa MK4S;Generic PLA @Prusa MK4S 0.6;Generic PLA @Prusa MK4S 0.8;Prusament PLA @MK4S;Prusament rPLA @MK4S;Prusament PETG @MK4S;Prusament ASA @MK4S;Prusament PC Blend @MK4S;Prusament PVB @MK4S;Prusament PC Blend Carbon Fiber @MK4S;Prusament PA11 Carbon Fiber @MK4S", "family": "Prusa", "hotend_model": "", "machine_tech": "FFF", diff --git a/resources/profiles/Prusa/process/0.05mm DETAIL @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.05mm DETAIL @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..123a51ea99 --- /dev/null +++ b/resources/profiles/Prusa/process/0.05mm DETAIL @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.05mm DETAIL @COREONE0.25 + MMU3", + "inherits": "0.05mm DETAIL @CORE One 0.25", + "from": "system", + "setting_id": "GZ9p7JXzPU3Widdg", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.07mm DETAIL @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.07mm DETAIL @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..97b0973c5c --- /dev/null +++ b/resources/profiles/Prusa/process/0.07mm DETAIL @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.07mm DETAIL @COREONE0.25 + MMU3", + "inherits": "0.07mm DETAIL @CORE One 0.25", + "from": "system", + "setting_id": "9ffM9tc7XMSNHnGB", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.10mm FAST DETAIL @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.10mm FAST DETAIL @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..2e7b0c7edb --- /dev/null +++ b/resources/profiles/Prusa/process/0.10mm FAST DETAIL @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.10mm FAST DETAIL @COREONE0.4 + MMU3", + "inherits": "0.10mm FAST DETAIL @CORE One 0.4", + "from": "system", + "setting_id": "5l28K1bE8lfuaXF1", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.12mm SPEED @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.12mm SPEED @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..e2d4ba94ca --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm SPEED @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.12mm SPEED @COREONE0.25 + MMU3", + "inherits": "0.12mm SPEED @CORE One 0.25", + "from": "system", + "setting_id": "YjbMEvZ8ALzK2qHf", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..551f6248f5 --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.12mm STRUCTURAL @COREONE0.25 + MMU3", + "inherits": "0.12mm STRUCTURAL @CORE One 0.25", + "from": "system", + "setting_id": "g8Bp93DCAwTo5G0s", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.3 + MMU3.json b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.3 + MMU3.json new file mode 100644 index 0000000000..25efb09730 --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @COREONE0.3 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.12mm STRUCTURAL @COREONE0.3 + MMU3", + "inherits": "0.12mm STRUCTURAL @CORE One 0.3", + "from": "system", + "setting_id": "XmhM0qI0mXLbBMwv", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.3 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.15mm BALANCED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.15mm BALANCED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..dd86f29945 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm BALANCED @COREONE0.4 + MMU3.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "0.15mm BALANCED @COREONE0.4 + MMU3", + "inherits": "0.20mm Standard @MK4", + "from": "system", + "setting_id": "gU24xfFrPejGfV1D", + "instantiation": "true", + "bridge_acceleration": "1500", + "brim_type": "no_brim", + "default_acceleration": "3000", + "elefant_foot_compensation": "0.2", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_line_width": "0.5", + "inner_wall_line_width": "0.45", + "internal_solid_infill_line_width": "0.45", + "line_width": "0.45", + "outer_wall_line_width": "0.45", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "raft_first_layer_expansion": "3", + "resolution": "0", + "seam_gap": "15%", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "support_base_pattern_spacing": "2", + "support_bottom_interface_spacing": "0.2", + "support_interface_bottom_layers": "0", + "support_interface_spacing": "0.2", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_speed": "120", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.42", + "travel_acceleration": "7000", + "travel_speed": "350", + "wall_loops": "2", + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "bridge_speed": "45", + "bottom_shell_layers": "4", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "150", + "internal_bridge_speed": "45", + "internal_solid_infill_acceleration": "6000", + "internal_solid_infill_speed": "150", + "layer_height": "0.15", + "outer_wall_acceleration": "2500", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "50", + "overhang_4_4_speed": "80%", + "small_perimeter_speed": "170", + "sparse_infill_acceleration": "5000", + "sparse_infill_speed": "150", + "support_bottom_z_distance": "0.17", + "support_interface_speed": "50", + "support_threshold_angle": "35", + "support_top_z_distance": "0.17", + "top_shell_layers": "6", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..287579505b --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.15mm SPEED @COREONE0.25 + MMU3", + "inherits": "0.15mm SPEED @CORE One 0.25", + "from": "system", + "setting_id": "mYSeGZQ0MykDNtXP", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..d9b2e4b903 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm SPEED @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.15mm SPEED @COREONE0.4 + MMU3", + "inherits": "0.15mm SPEED @CORE One 0.4", + "from": "system", + "setting_id": "CdehEFlvnacxhU2H", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.25 + MMU3.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.25 + MMU3.json new file mode 100644 index 0000000000..b9082c332c --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.25 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.15mm STRUCTURAL @COREONE0.25 + MMU3", + "inherits": "0.15mm STRUCTURAL @CORE One 0.25", + "from": "system", + "setting_id": "sUWaBUUy033BXEzk", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.25 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..dd1e847ee3 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.15mm STRUCTURAL @COREONE0.4 + MMU3", + "inherits": "0.15mm STRUCTURAL @CORE One 0.4", + "from": "system", + "setting_id": "kM9rtB6iLqcDNZZU", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..6e7adf72c0 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.15mm STRUCTURAL @COREONE0.6 + MMU3", + "inherits": "0.15mm STRUCTURAL @CORE One 0.6", + "from": "system", + "setting_id": "PTOVGYLNah28dKRr", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.16mm SPEED @COREONE0.3 + MMU3.json b/resources/profiles/Prusa/process/0.16mm SPEED @COREONE0.3 + MMU3.json new file mode 100644 index 0000000000..30c6902ee7 --- /dev/null +++ b/resources/profiles/Prusa/process/0.16mm SPEED @COREONE0.3 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.16mm SPEED @COREONE0.3 + MMU3", + "inherits": "0.16mm SPEED @CORE One 0.3", + "from": "system", + "setting_id": "ByXT7JeCV0SWiSnt", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.3 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.16mm STRUCTURAL @COREONE0.3 + MMU3.json b/resources/profiles/Prusa/process/0.16mm STRUCTURAL @COREONE0.3 + MMU3.json new file mode 100644 index 0000000000..946d22c3a5 --- /dev/null +++ b/resources/profiles/Prusa/process/0.16mm STRUCTURAL @COREONE0.3 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.16mm STRUCTURAL @COREONE0.3 + MMU3", + "inherits": "0.16mm STRUCTURAL @CORE One 0.3", + "from": "system", + "setting_id": "3XaKemYMM9AMLAIE", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.3 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.20mm BALANCED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.20mm BALANCED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..eba4b17a0e --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm BALANCED @COREONE0.4 + MMU3.json @@ -0,0 +1,66 @@ +{ + "type": "process", + "name": "0.20mm BALANCED @COREONE0.4 + MMU3", + "inherits": "0.20mm Standard @MK4", + "from": "system", + "setting_id": "ZhSjwXMEOWyeWIDd", + "instantiation": "true", + "bridge_acceleration": "1500", + "brim_type": "no_brim", + "default_acceleration": "3000", + "elefant_foot_compensation": "0.2", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_line_width": "0.5", + "inner_wall_line_width": "0.45", + "internal_solid_infill_line_width": "0.45", + "line_width": "0.45", + "outer_wall_line_width": "0.45", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "raft_first_layer_expansion": "3", + "resolution": "0", + "seam_gap": "15%", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "support_base_pattern_spacing": "2", + "support_bottom_interface_spacing": "0.2", + "support_interface_bottom_layers": "0", + "support_interface_spacing": "0.2", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_speed": "120", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.42", + "travel_acceleration": "7000", + "travel_speed": "350", + "wall_loops": "2", + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "bridge_speed": "50", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "150", + "internal_solid_infill_acceleration": "6000", + "internal_solid_infill_speed": "150", + "outer_wall_acceleration": "2500", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "50", + "overhang_4_4_speed": "80%", + "small_perimeter_speed": "170", + "sparse_infill_acceleration": "5000", + "sparse_infill_speed": "150", + "support_interface_speed": "60", + "support_style": "snug", + "support_threshold_angle": "35", + "top_shell_layers": "5", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..88860432a2 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm SOLUBLE FULL @COREONE0.4 + MMU3", + "inherits": "0.20mm SOLUBLE FULL @CORE One 0.4", + "from": "system", + "setting_id": "F4GvezeeqYGgETx5", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..c74ace1163 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm SOLUBLE INTERFACE @COREONE0.4 + MMU3", + "inherits": "0.20mm SOLUBLE INTERFACE @CORE One 0.4", + "from": "system", + "setting_id": "hrh6ZS8cMrp6Fput", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.3 + MMU3.json b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.3 + MMU3.json new file mode 100644 index 0000000000..660170520b --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.3 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm SPEED @COREONE0.3 + MMU3", + "inherits": "0.20mm SPEED @CORE One 0.3", + "from": "system", + "setting_id": "a8MnMQB4PuzlCBkv", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.3 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..66ac63af73 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm SPEED @COREONE0.4 + MMU3", + "inherits": "0.20mm SPEED @CORE One 0.4", + "from": "system", + "setting_id": "gFegVTUTnp12IurN", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..fa6fcb0a90 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm SPEED @COREONE0.6 + MMU3", + "inherits": "0.20mm SPEED @CORE One 0.6", + "from": "system", + "setting_id": "b5DuLDBbPOrc3QUB", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.3 + MMU3.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.3 + MMU3.json new file mode 100644 index 0000000000..d1fe101fb0 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.3 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm STRUCTURAL @COREONE0.3 + MMU3", + "inherits": "0.20mm STRUCTURAL @CORE One 0.3", + "from": "system", + "setting_id": "3GXAe0t8hNMloSsA", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.3 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..cdb41c0ac6 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.4 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm STRUCTURAL @COREONE0.4 + MMU3", + "inherits": "0.20mm STRUCTURAL @CORE One 0.4", + "from": "system", + "setting_id": "elSJkPZlFi4sWveY", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..1a5cad323a --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm STRUCTURAL @COREONE0.6 + MMU3", + "inherits": "0.20mm STRUCTURAL @CORE One 0.6", + "from": "system", + "setting_id": "uvQ25wBWKEFdqMVl", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.25mm BALANCED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.25mm BALANCED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..4a3343351a --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm BALANCED @COREONE0.4 + MMU3.json @@ -0,0 +1,68 @@ +{ + "type": "process", + "name": "0.25mm BALANCED @COREONE0.4 + MMU3", + "inherits": "0.20mm Standard @MK4", + "from": "system", + "setting_id": "cEccdq6KND9xa5HS", + "instantiation": "true", + "bridge_acceleration": "1500", + "brim_type": "no_brim", + "default_acceleration": "3000", + "elefant_foot_compensation": "0.2", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_line_width": "0.5", + "inner_wall_line_width": "0.45", + "internal_solid_infill_line_width": "0.45", + "line_width": "0.45", + "outer_wall_line_width": "0.45", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "raft_first_layer_expansion": "3", + "resolution": "0", + "seam_gap": "15%", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "support_base_pattern_spacing": "2", + "support_bottom_interface_spacing": "0.2", + "support_interface_bottom_layers": "0", + "support_interface_spacing": "0.2", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_speed": "120", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.42", + "travel_acceleration": "7000", + "travel_speed": "350", + "wall_loops": "2", + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "bridge_speed": "50", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "150", + "internal_solid_infill_acceleration": "5000", + "internal_solid_infill_speed": "140", + "layer_height": "0.25", + "outer_wall_acceleration": "2500", + "overhang_2_4_speed": "15", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "70%", + "small_perimeter_speed": "150", + "sparse_infill_acceleration": "5000", + "sparse_infill_speed": "150", + "support_base_pattern": "rectilinear", + "support_bottom_z_distance": "0.25", + "support_style": "snug", + "support_threshold_angle": "35", + "support_top_z_distance": "0.25", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..869de56781 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.4 + MMU3.json @@ -0,0 +1,65 @@ +{ + "type": "process", + "name": "0.25mm SPEED @COREONE0.4 + MMU3", + "inherits": "0.20mm Standard @MK4", + "from": "system", + "setting_id": "oVLlJtwPINArAb0Y", + "instantiation": "true", + "bridge_acceleration": "1500", + "brim_type": "no_brim", + "default_acceleration": "3000", + "elefant_foot_compensation": "0.2", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_line_width": "0.5", + "inner_wall_line_width": "0.45", + "internal_solid_infill_line_width": "0.45", + "line_width": "0.45", + "outer_wall_line_width": "0.45", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "raft_first_layer_expansion": "3", + "resolution": "0", + "seam_gap": "15%", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "support_base_pattern_spacing": "2", + "support_bottom_interface_spacing": "0.2", + "support_interface_bottom_layers": "0", + "support_interface_spacing": "0.2", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_speed": "120", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.42", + "travel_acceleration": "7000", + "travel_speed": "350", + "wall_loops": "2", + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "bridge_speed": "50", + "inner_wall_acceleration": "6000", + "internal_solid_infill_acceleration": "5000", + "layer_height": "0.25", + "overhang_2_4_speed": "15", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "70%", + "small_perimeter_speed": "170", + "sparse_infill_acceleration": "7000", + "support_base_pattern": "rectilinear", + "support_bottom_z_distance": "0.25", + "support_interface_speed": "60", + "support_style": "snug", + "support_threshold_angle": "35", + "support_top_z_distance": "0.25", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..ebfaa5bad5 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.25mm SPEED @COREONE0.6 + MMU3", + "inherits": "0.25mm SPEED @CORE One 0.6", + "from": "system", + "setting_id": "CRAV58WCDIn2bZdK", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.4 + MMU3.json b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.4 + MMU3.json new file mode 100644 index 0000000000..87aa0f0c52 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.4 + MMU3.json @@ -0,0 +1,72 @@ +{ + "type": "process", + "name": "0.25mm STRUCTURAL @COREONE0.4 + MMU3", + "inherits": "0.20mm Standard @MK4", + "from": "system", + "setting_id": "lBGry26X4a9IihAD", + "instantiation": "true", + "bridge_acceleration": "1500", + "brim_type": "no_brim", + "default_acceleration": "3000", + "elefant_foot_compensation": "0.2", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "100", + "initial_layer_line_width": "0.5", + "inner_wall_line_width": "0.45", + "internal_solid_infill_line_width": "0.45", + "line_width": "0.45", + "outer_wall_line_width": "0.45", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "raft_first_layer_expansion": "3", + "resolution": "0", + "seam_gap": "15%", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "support_base_pattern_spacing": "2", + "support_bottom_interface_spacing": "0.2", + "support_interface_bottom_layers": "0", + "support_interface_spacing": "0.2", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_speed": "120", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.42", + "travel_acceleration": "7000", + "travel_speed": "350", + "wall_loops": "2", + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "bridge_speed": "50", + "gap_infill_speed": "60", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "70", + "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_speed": "140", + "layer_height": "0.25", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "50", + "overhang_1_4_speed": "50%", + "overhang_2_4_speed": "15", + "overhang_3_4_speed": "45", + "overhang_4_4_speed": "90%", + "small_perimeter_speed": "50", + "sparse_infill_acceleration": "6000", + "sparse_infill_speed": "120", + "support_base_pattern": "rectilinear", + "support_bottom_z_distance": "0.25", + "support_style": "snug", + "support_threshold_angle": "40", + "support_top_z_distance": "0.25", + "top_surface_speed": "80", + "compatible_printers": [ + "Prusa CORE One MMU3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..3ade06d990 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.25mm STRUCTURAL @COREONE0.6 + MMU3", + "inherits": "0.25mm STRUCTURAL @CORE One 0.6", + "from": "system", + "setting_id": "95m4AA4YRwcBt63r", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/0.32mm SPEED @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.32mm SPEED @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..1f39814702 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm SPEED @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.32mm SPEED @COREONE0.6 + MMU3", + "inherits": "0.32mm SPEED @CORE One 0.6", + "from": "system", + "setting_id": "nqrmLvULVOKW9bSm", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%", + "compatible_printers_condition": "" +} diff --git a/resources/profiles/Prusa/process/0.32mm STRUCTURAL @COREONE0.6 + MMU3.json b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @COREONE0.6 + MMU3.json new file mode 100644 index 0000000000..8d69f5c4bc --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @COREONE0.6 + MMU3.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.32mm STRUCTURAL @COREONE0.6 + MMU3", + "inherits": "0.32mm STRUCTURAL @CORE One 0.6", + "from": "system", + "setting_id": "rYhCYIq1vvY40IYf", + "instantiation": "true", + "compatible_printers": [ + "Prusa CORE One MMU3 0.6 nozzle" + ], + "compatible_printers_condition": "", + "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}-{filament_type[1]}-{filament_type[2]}-{filament_type[3]}-{filament_type[4]}_COREONE_MMU3_{print_time}.gcode", + "prime_tower_brim_width": "2", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "wipe_tower_cone_angle": "25", + "wipe_tower_extra_flow": "250%", + "wipe_tower_extra_spacing": "110%" +} diff --git a/resources/profiles/Prusa/process/fdm_process_common.json b/resources/profiles/Prusa/process/fdm_process_common.json index b8e882770a..0d558129af 100644 --- a/resources/profiles/Prusa/process/fdm_process_common.json +++ b/resources/profiles/Prusa/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -83,7 +82,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi.json b/resources/profiles/Qidi.json index f49413601a..4ccb243fe3 100644 --- a/resources/profiles/Qidi.json +++ b/resources/profiles/Qidi.json @@ -1,6 +1,6 @@ { "name": "Qidi", - "version": "02.04.00.12", + "version": "02.04.00.15", "force_update": "0", "description": "Qidi configurations", "machine_model_list": [ @@ -44,13 +44,13 @@ "name": "Qidi X-Plus 4", "sub_path": "machine/Qidi X-Plus 4.json" }, - { - "name": "Qidi X-Smart 3", - "sub_path": "machine/Qidi X-Smart 3.json" - }, { "name": "Qidi X-Plus 5", "sub_path": "machine/Qidi X-Plus 5.json" + }, + { + "name": "Qidi X-Smart 3", + "sub_path": "machine/Qidi X-Smart 3.json" } ], "process_list": [ @@ -78,42 +78,90 @@ "name": "0.08mm Extra Fine @X-Max 4 0.2 nozzle", "sub_path": "process/0.08mm Extra Fine @X-Max 4 0.2 nozzle.json" }, + { + "name": "0.08mm High Quality @X-Plus 5", + "sub_path": "process/0.08mm High Quality @X-Plus 5.json" + }, + { + "name": "0.08mm High Quality @X-Plus 5 0.2 nozzle", + "sub_path": "process/0.08mm High Quality @X-Plus 5 0.2 nozzle.json" + }, { "name": "0.10mm Standard @X-Max 4 0.2 nozzle", "sub_path": "process/0.10mm Standard @X-Max 4 0.2 nozzle.json" }, + { + "name": "0.10mm Standard @X-Plus 5 0.2 nozzle", + "sub_path": "process/0.10mm Standard @X-Plus 5 0.2 nozzle.json" + }, { "name": "0.12mm Balanced Quality @X-Max 4 0.2 nozzle", "sub_path": "process/0.12mm Balanced Quality @X-Max 4 0.2 nozzle.json" }, + { + "name": "0.12mm Balanced Quality @X-Plus 5 0.2 nozzle", + "sub_path": "process/0.12mm Balanced Quality @X-Plus 5 0.2 nozzle.json" + }, { "name": "0.12mm Fine @X-Max 4", "sub_path": "process/0.12mm Fine @X-Max 4.json" }, + { + "name": "0.12mm High Quality @X-Plus 5", + "sub_path": "process/0.12mm High Quality @X-Plus 5.json" + }, { "name": "0.16mm Balanced Quality @X-Max 4", "sub_path": "process/0.16mm Balanced Quality @X-Max 4.json" }, + { + "name": "0.16mm High Quality @X-Plus 5", + "sub_path": "process/0.16mm High Quality @X-Plus 5.json" + }, { "name": "0.16mm Standard @X-Max 4", "sub_path": "process/0.16mm Standard @X-Max 4.json" }, + { + "name": "0.16mm Standard @X-Plus 5", + "sub_path": "process/0.16mm Standard @X-Plus 5.json" + }, { "name": "0.18mm Balanced Quality @X-Max 4 0.6 nozzle", "sub_path": "process/0.18mm Balanced Quality @X-Max 4 0.6 nozzle.json" }, + { + "name": "0.18mm Balanced Quality @X-Plus 5 0.6 nozzle", + "sub_path": "process/0.18mm Balanced Quality @X-Plus 5 0.6 nozzle.json" + }, { "name": "0.20mm Balanced Strength @X-Max 4", "sub_path": "process/0.20mm Balanced Strength @X-Max 4.json" }, + { + "name": "0.20mm High Quality @X-Plus 5", + "sub_path": "process/0.20mm High Quality @X-Plus 5.json" + }, { "name": "0.20mm Standard @X-Max 4", "sub_path": "process/0.20mm Standard @X-Max 4.json" }, + { + "name": "0.20mm Standard @X-Plus 5", + "sub_path": "process/0.20mm Standard @X-Plus 5.json" + }, { "name": "0.24mm Balanced Quality @X-Max 4 0.8 nozzle", "sub_path": "process/0.24mm Balanced Quality @X-Max 4 0.8 nozzle.json" }, + { + "name": "0.24mm Balanced Quality @X-Plus 5 0.6 nozzle", + "sub_path": "process/0.24mm Balanced Quality @X-Plus 5 0.6 nozzle.json" + }, + { + "name": "0.24mm Balanced Quality @X-Plus 5 0.8 nozzle", + "sub_path": "process/0.24mm Balanced Quality @X-Plus 5 0.8 nozzle.json" + }, { "name": "0.24mm Balanced Strength @X-Max 4 0.6 nozzle", "sub_path": "process/0.24mm Balanced Strength @X-Max 4 0.6 nozzle.json" @@ -122,10 +170,22 @@ "name": "0.24mm Standard @X-Max 4", "sub_path": "process/0.24mm Standard @X-Max 4.json" }, + { + "name": "0.24mm Standard @X-Plus 5", + "sub_path": "process/0.24mm Standard @X-Plus 5.json" + }, { "name": "0.30mm Standard @X-Max 4 0.6 nozzle", "sub_path": "process/0.30mm Standard @X-Max 4 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @X-Plus 5 0.6 nozzle", + "sub_path": "process/0.30mm Standard @X-Plus 5 0.6 nozzle.json" + }, + { + "name": "0.32mm Balanced Quality @X-Plus 5 0.8 nozzle", + "sub_path": "process/0.32mm Balanced Quality @X-Plus 5 0.8 nozzle.json" + }, { "name": "0.32mm Balanced Strength @X-Max 4 0.8 nozzle", "sub_path": "process/0.32mm Balanced Strength @X-Max 4 0.8 nozzle.json" @@ -134,6 +194,10 @@ "name": "0.40mm Standard @X-Max 4 0.8 nozzle", "sub_path": "process/0.40mm Standard @X-Max 4 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @X-Plus 5 0.8 nozzle", + "sub_path": "process/0.40mm Standard @X-Plus 5 0.8 nozzle.json" + }, { "name": "0.12mm Fine @Qidi XCFPro", "sub_path": "process/0.12mm Fine @Qidi XCFPro.json" @@ -889,70 +953,6 @@ { "name": "0.56mm Standard @Qidi XSmart3 0.8 nozzle", "sub_path": "process/0.56mm Standard @Qidi XSmart3 0.8 nozzle.json" - }, - { - "name": "0.08mm High Quality @X-Plus 5", - "sub_path": "process/0.08mm High Quality @X-Plus 5.json" - }, - { - "name": "0.12mm High Quality @X-Plus 5", - "sub_path": "process/0.12mm High Quality @X-Plus 5.json" - }, - { - "name": "0.16mm High Quality @X-Plus 5", - "sub_path": "process/0.16mm High Quality @X-Plus 5.json" - }, - { - "name": "0.16mm Standard @X-Plus 5", - "sub_path": "process/0.16mm Standard @X-Plus 5.json" - }, - { - "name": "0.20mm High Quality @X-Plus 5", - "sub_path": "process/0.20mm High Quality @X-Plus 5.json" - }, - { - "name": "0.20mm Standard @X-Plus 5", - "sub_path": "process/0.20mm Standard @X-Plus 5.json" - }, - { - "name": "0.24mm Standard @X-Plus 5", - "sub_path": "process/0.24mm Standard @X-Plus 5.json" - }, - { - "name": "0.08mm High Quality @X-Plus 5 0.2 nozzle", - "sub_path": "process/0.08mm High Quality @X-Plus 5 0.2 nozzle.json" - }, - { - "name": "0.10mm Standard @X-Plus 5 0.2 nozzle", - "sub_path": "process/0.10mm Standard @X-Plus 5 0.2 nozzle.json" - }, - { - "name": "0.12mm Balanced Quality @X-Plus 5 0.2 nozzle", - "sub_path": "process/0.12mm Balanced Quality @X-Plus 5 0.2 nozzle.json" - }, - { - "name": "0.18mm Balanced Quality @X-Plus 5 0.6 nozzle", - "sub_path": "process/0.18mm Balanced Quality @X-Plus 5 0.6 nozzle.json" - }, - { - "name": "0.24mm Balanced Quality @X-Plus 5 0.6 nozzle", - "sub_path": "process/0.24mm Balanced Quality @X-Plus 5 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @X-Plus 5 0.6 nozzle", - "sub_path": "process/0.30mm Standard @X-Plus 5 0.6 nozzle.json" - }, - { - "name": "0.24mm Balanced Quality @X-Plus 5 0.8 nozzle", - "sub_path": "process/0.24mm Balanced Quality @X-Plus 5 0.8 nozzle.json" - }, - { - "name": "0.32mm Balanced Quality @X-Plus 5 0.8 nozzle", - "sub_path": "process/0.32mm Balanced Quality @X-Plus 5 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @X-Plus 5 0.8 nozzle", - "sub_path": "process/0.40mm Standard @X-Plus 5 0.8 nozzle.json" } ], "filament_list": [ @@ -968,6 +968,10 @@ "name": "fdm_filament_x4_common", "sub_path": "filament/X4/fdm_filament_x4_common.json" }, + { + "name": "fdm_filament_x5_common", + "sub_path": "filament/X5/fdm_filament_x5_common.json" + }, { "name": "QIDI ASA-CF", "sub_path": "filament/QIDI ASA-CF.json" @@ -1652,6 +1656,230 @@ "name": "QIDI WOOD Rapido@X-Max 4-Series", "sub_path": "filament/X4/QIDI WOOD Rapido @X-Max 4.json" }, + { + "name": "Bambu ABS@X-Plus 5-Series", + "sub_path": "filament/X5/Bambu ABS @X-Plus 5.json" + }, + { + "name": "Bambu PETG@X-Plus 5-Series", + "sub_path": "filament/X5/Bambu PETG @X-Plus 5.json" + }, + { + "name": "Bambu PLA@X-Plus 5-Series", + "sub_path": "filament/X5/Bambu PLA @X-Plus 5.json" + }, + { + "name": "Generic ABS@X-Plus 5-Series", + "sub_path": "filament/X5/Generic ABS @X-Plus 5.json" + }, + { + "name": "Generic PC@X-Plus 5-Series", + "sub_path": "filament/X5/Generic PC @X-Plus 5.json" + }, + { + "name": "Generic PETG@X-Plus 5-Series", + "sub_path": "filament/X5/Generic PETG @X-Plus 5.json" + }, + { + "name": "Generic PLA Silk@X-Plus 5-Series", + "sub_path": "filament/X5/Generic PLA Silk @X-Plus 5.json" + }, + { + "name": "Generic PLA+@X-Plus 5-Series", + "sub_path": "filament/X5/Generic PLA+ @X-Plus 5.json" + }, + { + "name": "Generic PLA@X-Plus 5-Series", + "sub_path": "filament/X5/Generic PLA @X-Plus 5.json" + }, + { + "name": "Generic TPU 95A@X-Plus 5-Series", + "sub_path": "filament/X5/Generic TPU 95A @X-Plus 5.json" + }, + { + "name": "HATCHBOX ABS@X-Plus 5-Series", + "sub_path": "filament/X5/HATCHBOX ABS @X-Plus 5.json" + }, + { + "name": "HATCHBOX PETG@X-Plus 5-Series", + "sub_path": "filament/X5/HATCHBOX PETG @X-Plus 5.json" + }, + { + "name": "HATCHBOX PLA@X-Plus 5-Series", + "sub_path": "filament/X5/HATCHBOX PLA @X-Plus 5.json" + }, + { + "name": "Overture ABS@X-Plus 5-Series", + "sub_path": "filament/X5/Overture ABS @X-Plus 5.json" + }, + { + "name": "Overture PLA@X-Plus 5-Series", + "sub_path": "filament/X5/Overture PLA @X-Plus 5.json" + }, + { + "name": "PolyLite ABS@X-Plus 5-Series", + "sub_path": "filament/X5/PolyLite ABS @X-Plus 5.json" + }, + { + "name": "PolyLite PLA@X-Plus 5-Series", + "sub_path": "filament/X5/PolyLite PLA @X-Plus 5.json" + }, + { + "name": "Polymaker PLA-HT@X-Plus 5-Series", + "sub_path": "filament/X5/Polymaker PLA-HT @X-Plus 5.json" + }, + { + "name": "QIDI ABS Odorless@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ABS Odorless @X-Plus 5.json" + }, + { + "name": "QIDI ABS Rapido Metal@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ABS Rapido Metal @X-Plus 5.json" + }, + { + "name": "QIDI ABS Rapido@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ABS Rapido @X-Plus 5.json" + }, + { + "name": "QIDI ABS-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ABS-GF @X-Plus 5.json" + }, + { + "name": "QIDI ASA-Aero@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ASA-Aero @X-Plus 5.json" + }, + { + "name": "QIDI ASA-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ASA-CF @X-Plus 5.json" + }, + { + "name": "QIDI ASA@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI ASA @X-Plus 5.json" + }, + { + "name": "QIDI PA12-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PA12-CF @X-Plus 5.json" + }, + { + "name": "QIDI PA6-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PA6-CF @X-Plus 5.json" + }, + { + "name": "QIDI PAHT-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PAHT-CF @X-Plus 5.json" + }, + { + "name": "QIDI PAHT-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PAHT-GF @X-Plus 5.json" + }, + { + "name": "QIDI PC/ABS-FR@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PC-ABS-FR @X-Plus 5.json" + }, + { + "name": "QIDI PEBA 95A@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PEBA 95A @X-Plus 5.json" + }, + { + "name": "QIDI PET-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PET-CF @X-Plus 5.json" + }, + { + "name": "QIDI PET-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PET-GF @X-Plus 5.json" + }, + { + "name": "QIDI PETG Basic@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG Basic @X-Plus 5.json" + }, + { + "name": "QIDI PETG Rapido@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG Rapido @X-Plus 5.json" + }, + { + "name": "QIDI PETG Tough@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG Tough @X-Plus 5.json" + }, + { + "name": "QIDI PETG Translucent@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG Translucent @X-Plus 5.json" + }, + { + "name": "QIDI PETG-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG-CF @X-Plus 5.json" + }, + { + "name": "QIDI PETG-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PETG-GF @X-Plus 5.json" + }, + { + "name": "QIDI PLA Basic@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Basic @X-Plus 5.json" + }, + { + "name": "QIDI PLA Matte Basic@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Matte Basic @X-Plus 5.json" + }, + { + "name": "QIDI PLA Rapido Matte@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Rapido Matte @X-Plus 5.json" + }, + { + "name": "QIDI PLA Rapido Metal@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Rapido Metal @X-Plus 5.json" + }, + { + "name": "QIDI PLA Rapido@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Rapido @X-Plus 5.json" + }, + { + "name": "QIDI PLA Silk@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA Silk @X-Plus 5.json" + }, + { + "name": "QIDI PLA-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PLA-CF @X-Plus 5.json" + }, + { + "name": "QIDI PPS-CF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PPS-CF @X-Plus 5.json" + }, + { + "name": "QIDI PPS-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI PPS-GF @X-Plus 5.json" + }, + { + "name": "QIDI Support For PAHT@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI Support For PAHT @X-Plus 5.json" + }, + { + "name": "QIDI Support For PET/PA@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI Support For PET-PA @X-Plus 5.json" + }, + { + "name": "QIDI TPU 95A-HF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI TPU 95A-HF @X-Plus 5.json" + }, + { + "name": "QIDI TPU-Aero@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI TPU-Aero @X-Plus 5.json" + }, + { + "name": "QIDI TPU-GF@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI TPU-GF @X-Plus 5.json" + }, + { + "name": "QIDI UltraPA-CF25@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json" + }, + { + "name": "QIDI UltraPA@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI UltraPA @X-Plus 5.json" + }, + { + "name": "QIDI WOOD Rapido@X-Plus 5-Series", + "sub_path": "filament/X5/QIDI WOOD Rapido @X-Plus 5.json" + }, { "name": "QIDI ASA-CF @Qidi Q1 Pro 0.4 nozzle", "sub_path": "filament/QIDI ASA-CF @Qidi Q1 Pro 0.4 nozzle.json" @@ -1716,6 +1944,10 @@ "name": "Bambu ABS", "sub_path": "filament/Bambu ABS.json" }, + { + "name": "Generic ABS @Qidi", + "sub_path": "filament/Generic ABS @Qidi.json" + }, { "name": "HATCHBOX ABS @Qidi", "sub_path": "filament/HATCHBOX ABS @Qidi.json" @@ -1752,14 +1984,14 @@ "name": "QIDI ABS-GF25", "sub_path": "filament/QIDI ABS-GF25.json" }, - { - "name": "Generic ABS @Qidi", - "sub_path": "filament/Generic ABS @Qidi.json" - }, { "name": "Qidi PC-ABS-FR", "sub_path": "filament/Qidi PC-ABS-FR.json" }, + { + "name": "Generic ASA @Qidi", + "sub_path": "filament/Generic ASA @Qidi.json" + }, { "name": "QIDI ASA", "sub_path": "filament/QIDI ASA.json" @@ -1769,8 +2001,12 @@ "sub_path": "filament/Qidi ASA-Aero.json" }, { - "name": "Generic ASA @Qidi", - "sub_path": "filament/Generic ASA @Qidi.json" + "name": "Generic PA @Qidi", + "sub_path": "filament/Generic PA @Qidi.json" + }, + { + "name": "Generic PA-CF @Qidi", + "sub_path": "filament/Generic PA-CF @Qidi.json" }, { "name": "QIDI PA-Ultra", @@ -1816,14 +2052,6 @@ "name": "QIDI UltraPA-CF25", "sub_path": "filament/QIDI UltraPA-CF25.json" }, - { - "name": "Generic PA @Qidi", - "sub_path": "filament/Generic PA @Qidi.json" - }, - { - "name": "Generic PA-CF @Qidi", - "sub_path": "filament/Generic PA-CF @Qidi.json" - }, { "name": "Generic PC @Qidi", "sub_path": "filament/Generic PC @Qidi.json" @@ -1832,6 +2060,14 @@ "name": "Bambu PETG", "sub_path": "filament/Bambu PETG.json" }, + { + "name": "Generic PETG @Qidi", + "sub_path": "filament/Generic PETG @Qidi.json" + }, + { + "name": "Generic PETG-CF @Qidi", + "sub_path": "filament/Generic PETG-CF @Qidi.json" + }, { "name": "HATCHBOX PETG @Qidi", "sub_path": "filament/HATCHBOX PETG @Qidi.json" @@ -1860,14 +2096,6 @@ "name": "QIDI PETG-GF", "sub_path": "filament/QIDI PETG-GF.json" }, - { - "name": "Generic PETG @Qidi", - "sub_path": "filament/Generic PETG @Qidi.json" - }, - { - "name": "Generic PETG-CF @Qidi", - "sub_path": "filament/Generic PETG-CF @Qidi.json" - }, { "name": "Tinmorry PETG-ECO", "sub_path": "filament/Tinmorry PETG-ECO.json" @@ -1876,6 +2104,22 @@ "name": "Bambu PLA", "sub_path": "filament/Bambu PLA.json" }, + { + "name": "Generic PLA @Qidi", + "sub_path": "filament/Generic PLA @Qidi.json" + }, + { + "name": "Generic PLA Silk @Qidi", + "sub_path": "filament/Generic PLA Silk @Qidi.json" + }, + { + "name": "Generic PLA+ @Qidi", + "sub_path": "filament/Generic PLA+ @Qidi.json" + }, + { + "name": "Generic PLA-CF @Qidi", + "sub_path": "filament/Generic PLA-CF @Qidi.json" + }, { "name": "HATCHBOX PLA @Qidi", "sub_path": "filament/HATCHBOX PLA @Qidi.json" @@ -1916,22 +2160,6 @@ "name": "QIDI WOOD Rapido", "sub_path": "filament/QIDI WOOD Rapido.json" }, - { - "name": "Generic PLA @Qidi", - "sub_path": "filament/Generic PLA @Qidi.json" - }, - { - "name": "Generic PLA Silk @Qidi", - "sub_path": "filament/Generic PLA Silk @Qidi.json" - }, - { - "name": "Generic PLA+ @Qidi", - "sub_path": "filament/Generic PLA+ @Qidi.json" - }, - { - "name": "Generic PLA-CF @Qidi", - "sub_path": "filament/Generic PLA-CF @Qidi.json" - }, { "name": "Qidi PLA-CF", "sub_path": "filament/Qidi PLA-CF.json" @@ -1940,6 +2168,14 @@ "name": "Generic PVA @Qidi", "sub_path": "filament/Generic PVA @Qidi.json" }, + { + "name": "Generic TPU 95A @Qidi", + "sub_path": "filament/Generic TPU 95A @Qidi.json" + }, + { + "name": "Generic TPU @Qidi", + "sub_path": "filament/Generic TPU @Qidi.json" + }, { "name": "QIDI PEBA 95A", "sub_path": "filament/QIDI PEBA 95A.json" @@ -1952,14 +2188,6 @@ "name": "QIDI TPU-GF", "sub_path": "filament/QIDI TPU-GF.json" }, - { - "name": "Generic TPU @Qidi", - "sub_path": "filament/Generic TPU @Qidi.json" - }, - { - "name": "Generic TPU 95A @Qidi", - "sub_path": "filament/Generic TPU 95A @Qidi.json" - }, { "name": "Qidi TPU 95A-HF", "sub_path": "filament/Qidi TPU 95A-HF.json" @@ -4172,6 +4400,770 @@ "name": "QIDI WOOD Rapido @Qidi X-Max 4 0.8 nozzle", "sub_path": "filament/X4/QIDI WOOD Rapido @Qidi X-Max 4 0.8 nozzle.json" }, + { + "name": "Bambu ABS @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Bambu ABS @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Bambu ABS @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Bambu PETG @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Bambu PETG @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Bambu PETG @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Bambu PETG @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Bambu PLA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Bambu PLA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Bambu PLA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Bambu PLA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic PC @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Generic PC @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic PC @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic PC @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic PLA Silk @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic PLA Silk @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic PLA Silk @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic PLA Silk @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Generic TPU 95A @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Generic TPU 95A @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Generic TPU 95A @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "HATCHBOX ABS @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "HATCHBOX ABS @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "HATCHBOX ABS @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "HATCHBOX ABS @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "HATCHBOX PETG @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "HATCHBOX PETG @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "HATCHBOX PETG @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "HATCHBOX PETG @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "HATCHBOX PLA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "HATCHBOX PLA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "HATCHBOX PLA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "HATCHBOX PLA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Overture ABS @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Overture ABS @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Overture ABS @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Overture ABS @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Overture PLA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Overture PLA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Overture PLA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Overture PLA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "PolyLite ABS @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "PolyLite ABS @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "PolyLite ABS @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "PolyLite ABS @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "PolyLite PLA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "PolyLite PLA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "PolyLite PLA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "PolyLite PLA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ABS-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ABS-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ABS-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ASA-Aero @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ASA-Aero @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ASA-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ASA-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ASA-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI ASA @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI ASA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI ASA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI ASA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PA12-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PA12-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PA12-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PA6-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PA6-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PA6-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PEBA 95A @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PEBA 95A @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PEBA 95A @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PEBA 95A @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PET-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PET-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PET-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PET-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PET-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PET-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG Basic @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PETG Basic @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG Basic @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG Basic @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG Tough @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PETG Tough @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG Tough @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG Tough @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PETG-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PETG-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PETG-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Basic @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PLA Basic @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Basic @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA Basic @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.2 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PLA Silk @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA Silk @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA Silk @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA Silk @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PLA-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PLA-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PPS-CF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PPS-CF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PPS-CF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI PPS-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI PPS-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI PPS-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI TPU-Aero @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI TPU-Aero @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI TPU-Aero @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI TPU-Aero @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI TPU-GF @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI TPU-GF @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI TPU-GF @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI UltraPA @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI UltraPA @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI UltraPA @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.8 nozzle.json" + }, + { + "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.4 nozzle", + "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.4 nozzle.json" + }, + { + "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.6 nozzle", + "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.8 nozzle", + "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.8 nozzle.json" + }, { "name": "Bambu ABS @0.2 nozzle", "sub_path": "filament/Bambu ABS @0.2 nozzle.json" @@ -4216,6 +5208,50 @@ "name": "Bambu ABS @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/Bambu ABS @Qidi X-Plus 4 0.8 nozzle.json" }, + { + "name": "Generic ABS @Qidi Q1 Pro 0.2 nozzle", + "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.2 nozzle.json" + }, + { + "name": "Generic ABS @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic ABS @Qidi Q1 Pro 0.6 nozzle", + "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.6 nozzle.json" + }, + { + "name": "Generic ABS @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Max 3 0.2 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Max 3 0.2 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 3 0.2 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Plus 3 0.2 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 4 0.2 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.2 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 4 0.6 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.6 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic ABS @Qidi X-Smart 3 0.2 nozzle", + "sub_path": "filament/Generic ABS @Qidi X-Smart 3 0.2 nozzle.json" + }, { "name": "HATCHBOX ABS @Qidi 0.2 nozzle", "sub_path": "filament/HATCHBOX ABS @Qidi 0.2 nozzle.json" @@ -4552,50 +5588,6 @@ "name": "QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/QIDI ABS-GF25 @Qidi X-Plus 4 0.8 nozzle.json" }, - { - "name": "Generic ABS @Qidi Q1 Pro 0.2 nozzle", - "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.2 nozzle.json" - }, - { - "name": "Generic ABS @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic ABS @Qidi Q1 Pro 0.6 nozzle", - "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.6 nozzle.json" - }, - { - "name": "Generic ABS @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic ABS @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Max 3 0.2 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Max 3 0.2 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 3 0.2 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Plus 3 0.2 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 4 0.2 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.2 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 4 0.6 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.6 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Smart 3 0.2 nozzle", - "sub_path": "filament/Generic ABS @Qidi X-Smart 3 0.2 nozzle.json" - }, { "name": "Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle", "sub_path": "filament/Qidi PC-ABS-FR @Qidi Q1 Pro 0.4 nozzle.json" @@ -4620,6 +5612,50 @@ "name": "Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/Qidi PC-ABS-FR @Qidi X-Plus 4 0.8 nozzle.json" }, + { + "name": "Generic ASA @Qidi Q1 Pro 0.2 nozzle", + "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.2 nozzle.json" + }, + { + "name": "Generic ASA @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic ASA @Qidi Q1 Pro 0.6 nozzle", + "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.6 nozzle.json" + }, + { + "name": "Generic ASA @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Max 3 0.2 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Max 3 0.2 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Plus 3 0.2 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Plus 3 0.2 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Plus 4 0.2 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.2 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Plus 4 0.6 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.6 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic ASA @Qidi X-Smart 3 0.2 nozzle", + "sub_path": "filament/Generic ASA @Qidi X-Smart 3 0.2 nozzle.json" + }, { "name": "QIDI ASA @Qidi Q1 Pro 0.2 nozzle", "sub_path": "filament/QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json" @@ -4672,50 +5708,6 @@ "name": "Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle", "sub_path": "filament/Qidi ASA-Aero @Qidi X-Plus 4 0.4 nozzle.json" }, - { - "name": "Generic ASA @Qidi Q1 Pro 0.2 nozzle", - "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.2 nozzle.json" - }, - { - "name": "Generic ASA @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic ASA @Qidi Q1 Pro 0.6 nozzle", - "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.6 nozzle.json" - }, - { - "name": "Generic ASA @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic ASA @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Max 3 0.2 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Max 3 0.2 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Plus 3 0.2 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Plus 3 0.2 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Plus 4 0.2 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.2 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Plus 4 0.6 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.6 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "Generic ASA @Qidi X-Smart 3 0.2 nozzle", - "sub_path": "filament/Generic ASA @Qidi X-Smart 3 0.2 nozzle.json" - }, { "name": "QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle", "sub_path": "filament/QIDI PA-Ultra @Qidi Q1 Pro 0.4 nozzle.json" @@ -5064,6 +6056,50 @@ "name": "Bambu PETG @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/Bambu PETG @Qidi X-Plus 4 0.8 nozzle.json" }, + { + "name": "Generic PETG @Qidi Q1 Pro 0.2 nozzle", + "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.2 nozzle.json" + }, + { + "name": "Generic PETG @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic PETG @Qidi Q1 Pro 0.6 nozzle", + "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.6 nozzle.json" + }, + { + "name": "Generic PETG @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Max 3 0.2 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Max 3 0.2 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 3 0.2 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Plus 3 0.2 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 4 0.2 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.2 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 4 0.6 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.6 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic PETG @Qidi X-Smart 3 0.2 nozzle", + "sub_path": "filament/Generic PETG @Qidi X-Smart 3 0.2 nozzle.json" + }, { "name": "HATCHBOX PETG @0.2 nozzle", "sub_path": "filament/HATCHBOX PETG @Qidi 0.2 nozzle.json" @@ -5332,50 +6368,6 @@ "name": "QIDI PETG-GF @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/QIDI PETG-GF @Qidi X-Plus 4 0.8 nozzle.json" }, - { - "name": "Generic PETG @Qidi Q1 Pro 0.2 nozzle", - "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.2 nozzle.json" - }, - { - "name": "Generic PETG @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic PETG @Qidi Q1 Pro 0.6 nozzle", - "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.6 nozzle.json" - }, - { - "name": "Generic PETG @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic PETG @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Max 3 0.2 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Max 3 0.2 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 3 0.2 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Plus 3 0.2 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 4 0.2 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.2 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 4 0.6 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.6 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Smart 3 0.2 nozzle", - "sub_path": "filament/Generic PETG @Qidi X-Smart 3 0.2 nozzle.json" - }, { "name": "Bambu PLA @0.2 nozzle", "sub_path": "filament/Bambu PLA @0.2 nozzle.json" @@ -5420,6 +6412,150 @@ "name": "Bambu PLA @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/Bambu PLA @Qidi X-Plus 4 0.8 nozzle.json" }, + { + "name": "Generic PLA @Qidi Q1 Pro 0.2 nozzle", + "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic PLA @Qidi Q1 Pro 0.6 nozzle", + "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Max 3 0.2 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Max 3 0.6 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Max 3 0.8 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.8 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 3 0.2 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 3 0.6 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 3 0.8 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.8 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 4 0.2 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 4 0.6 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Smart 3 0.2 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Smart 3 0.6 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA @Qidi X-Smart 3 0.8 nozzle", + "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.8 nozzle.json" + }, + { + "name": "Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi Q1 Pro 0.2 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi Q1 Pro 0.6 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Max 3 0.2 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Max 3 0.6 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Max 3 0.8 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.8 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 3 0.2 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 3 0.6 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 3 0.8 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.8 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 4 0.2 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.4 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 4 0.6 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Smart 3 0.2 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.2 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Smart 3 0.6 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.6 nozzle.json" + }, + { + "name": "Generic PLA+ @Qidi X-Smart 3 0.8 nozzle", + "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.8 nozzle.json" + }, { "name": "HATCHBOX PLA @0.2 nozzle", "sub_path": "filament/HATCHBOX PLA @Qidi 0.2 nozzle.json" @@ -5824,150 +6960,6 @@ "name": "QIDI WOOD Rapido @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/QIDI WOOD Rapido @Qidi X-Plus 4 0.8 nozzle.json" }, - { - "name": "Generic PLA @Qidi Q1 Pro 0.2 nozzle", - "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic PLA @Qidi Q1 Pro 0.6 nozzle", - "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic PLA @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Max 3 0.2 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Max 3 0.6 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Max 3 0.8 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Max 3 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 3 0.2 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 3 0.6 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 3 0.8 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 3 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 4 0.2 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 4 0.6 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Smart 3 0.2 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Smart 3 0.6 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Smart 3 0.8 nozzle", - "sub_path": "filament/Generic PLA @Qidi X-Smart 3 0.8 nozzle.json" - }, - { - "name": "Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic PLA Silk @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic PLA Silk @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi Q1 Pro 0.2 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi Q1 Pro 0.6 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Max 3 0.2 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Max 3 0.6 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Max 3 0.8 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Max 3 0.8 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 3 0.2 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 3 0.6 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 3 0.8 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 3 0.8 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 4 0.2 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 4 0.6 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Smart 3 0.2 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Smart 3 0.6 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Smart 3 0.8 nozzle", - "sub_path": "filament/Generic PLA+ @Qidi X-Smart 3 0.8 nozzle.json" - }, { "name": "QIDI PLA-CF @0.6 nozzle", "sub_path": "filament/QIDI PLA-CF @0.6 nozzle.json" @@ -6000,6 +6992,22 @@ "name": "QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/QIDI PLA-CF @Qidi X-Plus 4 0.8 nozzle.json" }, + { + "name": "Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle", + "sub_path": "filament/Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle.json" + }, + { + "name": "Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle", + "sub_path": "filament/Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json" + }, + { + "name": "Generic TPU @Qidi Q1 Pro 0.4 nozzle", + "sub_path": "filament/Generic TPU @Qidi Q1 Pro 0.4 nozzle.json" + }, + { + "name": "Generic TPU @Qidi X-Plus 4 0.4 nozzle", + "sub_path": "filament/Generic TPU @Qidi X-Plus 4 0.4 nozzle.json" + }, { "name": "QIDI PEBA 95A @Qidi Q1 Pro 0.4 nozzle", "sub_path": "filament/QIDI PEBA 95A @Qidi Q1 Pro 0.4 nozzle.json" @@ -6056,22 +7064,6 @@ "name": "QIDI TPU-GF @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/QIDI TPU-GF @Qidi X-Plus 4 0.8 nozzle.json" }, - { - "name": "Generic TPU @Qidi Q1 Pro 0.4 nozzle", - "sub_path": "filament/Generic TPU @Qidi Q1 Pro 0.4 nozzle.json" - }, - { - "name": "Generic TPU @Qidi X-Plus 4 0.4 nozzle", - "sub_path": "filament/Generic TPU @Qidi X-Plus 4 0.4 nozzle.json" - }, - { - "name": "Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle", - "sub_path": "filament/Generic TPU 95A @Qidi Q1 Pro 0.8 nozzle.json" - }, - { - "name": "Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle", - "sub_path": "filament/Generic TPU 95A @Qidi X-Plus 4 0.8 nozzle.json" - }, { "name": "Qidi TPU 95A-HF @Qidi Q1 Pro 0.4 nozzle", "sub_path": "filament/Qidi TPU 95A-HF @Qidi Q1 Pro 0.4 nozzle.json" @@ -6103,998 +7095,6 @@ { "name": "Generic PLA High Speed @Qidi X-Plus 4 0.8 nozzle", "sub_path": "filament/Generic PLA High Speed @Qidi X-Plus 4 0.8 nozzle.json" - }, - { - "name": "fdm_filament_x5_common", - "sub_path": "filament/X5/fdm_filament_x5_common.json" - }, - { - "name": "Generic ABS@X-Plus 5-Series", - "sub_path": "filament/X5/Generic ABS @X-Plus 5.json" - }, - { - "name": "QIDI ASA@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ASA @X-Plus 5.json" - }, - { - "name": "Generic PETG@X-Plus 5-Series", - "sub_path": "filament/X5/Generic PETG @X-Plus 5.json" - }, - { - "name": "Generic PLA Silk@X-Plus 5-Series", - "sub_path": "filament/X5/Generic PLA Silk @X-Plus 5.json" - }, - { - "name": "Generic PLA@X-Plus 5-Series", - "sub_path": "filament/X5/Generic PLA @X-Plus 5.json" - }, - { - "name": "Generic PLA+@X-Plus 5-Series", - "sub_path": "filament/X5/Generic PLA+ @X-Plus 5.json" - }, - { - "name": "PolyLite PLA@X-Plus 5-Series", - "sub_path": "filament/X5/PolyLite PLA @X-Plus 5.json" - }, - { - "name": "Polymaker PLA-HT@X-Plus 5-Series", - "sub_path": "filament/X5/Polymaker PLA-HT @X-Plus 5.json" - }, - { - "name": "QIDI PLA-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA-CF @X-Plus 5.json" - }, - { - "name": "QIDI PLA-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ABS Rapido@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ABS Rapido @X-Plus 5.json" - }, - { - "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ABS Rapido @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ABS Rapido Metal@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ABS Rapido Metal @X-Plus 5.json" - }, - { - "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ABS Rapido Metal @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ABS Rapido Metal @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ABS Odorless@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ABS Odorless @X-Plus 5.json" - }, - { - "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ABS Odorless @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ABS Odorless @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PLA Rapido@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Rapido @X-Plus 5.json" - }, - { - "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Rapido @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Matte@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Rapido Matte @X-Plus 5.json" - }, - { - "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Matte @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Matte @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PLA Silk@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Silk @X-Plus 5.json" - }, - { - "name": "QIDI PLA Silk @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Silk @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Silk @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Silk @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Metal@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Rapido Metal @X-Plus 5.json" - }, - { - "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Rapido Metal @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA Rapido Metal @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG Tough@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG Tough @X-Plus 5.json" - }, - { - "name": "QIDI PETG Tough @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PETG Tough @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG Tough @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG Tough @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG Tough @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PET-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PET-CF @X-Plus 5.json" - }, - { - "name": "QIDI PET-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PET-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PET-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PET-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PA12-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PA12-CF @X-Plus 5.json" - }, - { - "name": "QIDI PA12-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PA12-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PA12-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PA12-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PA6-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PA6-CF @X-Plus 5.json" - }, - { - "name": "QIDI PA6-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PA6-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PA6-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PA6-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PAHT-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PAHT-CF @X-Plus 5.json" - }, - { - "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PAHT-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PAHT-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PPS-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PPS-CF @X-Plus 5.json" - }, - { - "name": "QIDI PPS-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PPS-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PPS-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PPS-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ABS-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ABS-GF @X-Plus 5.json" - }, - { - "name": "QIDI ABS-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ABS-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ABS-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ABS-GF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI UltraPA@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI UltraPA @X-Plus 5.json" - }, - { - "name": "QIDI UltraPA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI UltraPA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI UltraPA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI UltraPA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic TPU 95A@X-Plus 5-Series", - "sub_path": "filament/X5/Generic TPU 95A @X-Plus 5.json" - }, - { - "name": "QIDI PC/ABS-FR@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PC-ABS-FR @X-Plus 5.json" - }, - { - "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PC/ABS-FR @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PC-ABS-FR @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ASA-Aero@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ASA-Aero @X-Plus 5.json" - }, - { - "name": "QIDI ASA-Aero @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ASA-Aero @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic ABS @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic ABS @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI ASA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI ASA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ASA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ASA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ASA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic PETG @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic PETG @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic PLA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic PLA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic PLA+ @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic PLA+ @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic PLA Silk @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic PLA Silk @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic PLA Silk @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic PLA Silk @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic TPU 95A @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic TPU 95A @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic TPU 95A @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic TPU 95A @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI TPU 95A-HF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI TPU 95A-HF @X-Plus 5.json" - }, - { - "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI TPU 95A-HF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI TPU 95A-HF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "PolyLite PLA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "PolyLite PLA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "PolyLite PLA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "PolyLite PLA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/PolyLite PLA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Polymaker PLA-HT @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Polymaker PLA-HT @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "PolyLite ABS@X-Plus 5-Series", - "sub_path": "filament/X5/PolyLite ABS @X-Plus 5.json" - }, - { - "name": "PolyLite ABS @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "PolyLite ABS @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "PolyLite ABS @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "PolyLite ABS @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/PolyLite ABS @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Overture PLA@X-Plus 5-Series", - "sub_path": "filament/X5/Overture PLA @X-Plus 5.json" - }, - { - "name": "Overture PLA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Overture PLA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Overture PLA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Overture PLA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Overture PLA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Overture ABS@X-Plus 5-Series", - "sub_path": "filament/X5/Overture ABS @X-Plus 5.json" - }, - { - "name": "Overture ABS @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Overture ABS @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Overture ABS @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Overture ABS @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Overture ABS @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Bambu PLA@X-Plus 5-Series", - "sub_path": "filament/X5/Bambu PLA @X-Plus 5.json" - }, - { - "name": "Bambu PLA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Bambu PLA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Bambu PLA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Bambu PLA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Bambu PLA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Bambu ABS@X-Plus 5-Series", - "sub_path": "filament/X5/Bambu ABS @X-Plus 5.json" - }, - { - "name": "Bambu ABS @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Bambu ABS @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Bambu ABS @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Bambu ABS @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Bambu PETG@X-Plus 5-Series", - "sub_path": "filament/X5/Bambu PETG @X-Plus 5.json" - }, - { - "name": "Bambu PETG @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Bambu PETG @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Bambu PETG @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Bambu PETG @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Bambu PETG @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "HATCHBOX PLA@X-Plus 5-Series", - "sub_path": "filament/X5/HATCHBOX PLA @X-Plus 5.json" - }, - { - "name": "HATCHBOX PLA @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "HATCHBOX PLA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "HATCHBOX PLA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "HATCHBOX PLA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/HATCHBOX PLA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "HATCHBOX ABS@X-Plus 5-Series", - "sub_path": "filament/X5/HATCHBOX ABS @X-Plus 5.json" - }, - { - "name": "HATCHBOX ABS @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "HATCHBOX ABS @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "HATCHBOX ABS @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "HATCHBOX ABS @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/HATCHBOX ABS @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "HATCHBOX PETG@X-Plus 5-Series", - "sub_path": "filament/X5/HATCHBOX PETG @X-Plus 5.json" - }, - { - "name": "HATCHBOX PETG @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "HATCHBOX PETG @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "HATCHBOX PETG @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "HATCHBOX PETG @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/HATCHBOX PETG @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PAHT-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PAHT-GF @X-Plus 5.json" - }, - { - "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PAHT-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PAHT-GF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PET-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PET-GF @X-Plus 5.json" - }, - { - "name": "QIDI PET-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PET-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PET-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PET-GF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI UltraPA-CF25@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json" - }, - { - "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI UltraPA-CF25 @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI UltraPA-CF25 @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI WOOD Rapido@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI WOOD Rapido @X-Plus 5.json" - }, - { - "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI WOOD Rapido @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI WOOD Rapido @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Generic PC@X-Plus 5-Series", - "sub_path": "filament/X5/Generic PC @X-Plus 5.json" - }, - { - "name": "Generic PC @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "Generic PC @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Generic PC @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Generic PC @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/Generic PC @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI TPU-Aero@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI TPU-Aero @X-Plus 5.json" - }, - { - "name": "QIDI TPU-Aero @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI TPU-Aero @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI TPU-Aero @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI TPU-Aero @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI Support For PET/PA@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI Support For PET-PA @X-Plus 5.json" - }, - { - "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI Support For PET/PA @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI Support For PET-PA @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI Support For PAHT@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI Support For PAHT @X-Plus 5.json" - }, - { - "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI Support For PAHT @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI Support For PAHT @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PLA Basic@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Basic @X-Plus 5.json" - }, - { - "name": "QIDI PLA Basic @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PLA Basic @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Basic @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Basic @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA Basic @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PLA Matte Basic@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PLA Matte Basic @X-Plus 5.json" - }, - { - "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PLA Matte Basic @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PLA Matte Basic @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG Rapido@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG Rapido @X-Plus 5.json" - }, - { - "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG Rapido @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG Rapido @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG Basic@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG Basic @X-Plus 5.json" - }, - { - "name": "QIDI PETG Basic @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PETG Basic @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG Basic @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG Basic @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG Basic @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG Translucent@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG Translucent @X-Plus 5.json" - }, - { - "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.2 nozzle", - "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.2 nozzle.json" - }, - { - "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG Translucent @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG Translucent @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG-CF @X-Plus 5.json" - }, - { - "name": "QIDI PETG-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PETG-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PETG-GF @X-Plus 5.json" - }, - { - "name": "QIDI PETG-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PETG-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PETG-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PETG-GF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PPS-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PPS-GF @X-Plus 5.json" - }, - { - "name": "QIDI PPS-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PPS-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI PPS-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI PPS-GF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI PEBA 95A@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI PEBA 95A @X-Plus 5.json" - }, - { - "name": "QIDI PEBA 95A @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI PEBA 95A @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI PEBA 95A @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI PEBA 95A @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ASA-CF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI ASA-CF @X-Plus 5.json" - }, - { - "name": "QIDI ASA-CF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI ASA-CF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI ASA-CF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI ASA-CF @Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "QIDI TPU-GF@X-Plus 5-Series", - "sub_path": "filament/X5/QIDI TPU-GF @X-Plus 5.json" - }, - { - "name": "QIDI TPU-GF @Qidi X-Plus 5 0.4 nozzle", - "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "QIDI TPU-GF @Qidi X-Plus 5 0.6 nozzle", - "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "QIDI TPU-GF @Qidi X-Plus 5 0.8 nozzle", - "sub_path": "filament/X5/QIDI TPU-GF @Qidi X-Plus 5 0.8 nozzle.json" } ], "machine_list": [ @@ -7214,6 +7214,10 @@ "name": "Qidi X-Max 4 0.4 nozzle", "sub_path": "machine/Qidi X-Max 4 0.4 nozzle.json" }, + { + "name": "Qidi X-Plus 5 0.4 nozzle", + "sub_path": "machine/Qidi X-Plus 5 0.4 nozzle.json" + }, { "name": "Qidi Q2 0.4 nozzle", "sub_path": "machine/Qidi Q2 0.4 nozzle.json" @@ -7234,6 +7238,18 @@ "name": "Qidi X-Max 4 0.8 nozzle", "sub_path": "machine/Qidi X-Max 4 0.8 nozzle.json" }, + { + "name": "Qidi X-Plus 5 0.2 nozzle", + "sub_path": "machine/Qidi X-Plus 5 0.2 nozzle.json" + }, + { + "name": "Qidi X-Plus 5 0.6 nozzle", + "sub_path": "machine/Qidi X-Plus 5 0.6 nozzle.json" + }, + { + "name": "Qidi X-Plus 5 0.8 nozzle", + "sub_path": "machine/Qidi X-Plus 5 0.8 nozzle.json" + }, { "name": "Qidi Q2 0.2 nozzle", "sub_path": "machine/Qidi Q2 0.2 nozzle.json" @@ -7257,22 +7273,6 @@ { "name": "Qidi Q2C 0.8 nozzle", "sub_path": "machine/Qidi Q2C 0.8 nozzle.json" - }, - { - "name": "Qidi X-Plus 5 0.4 nozzle", - "sub_path": "machine/Qidi X-Plus 5 0.4 nozzle.json" - }, - { - "name": "Qidi X-Plus 5 0.6 nozzle", - "sub_path": "machine/Qidi X-Plus 5 0.6 nozzle.json" - }, - { - "name": "Qidi X-Plus 5 0.8 nozzle", - "sub_path": "machine/Qidi X-Plus 5 0.8 nozzle.json" - }, - { - "name": "Qidi X-Plus 5 0.2 nozzle", - "sub_path": "machine/Qidi X-Plus 5 0.2 nozzle.json" } ] } diff --git a/resources/profiles/Qidi/Qidi X-Plus 5_cover.png b/resources/profiles/Qidi/Qidi X-Plus 5_cover.png index 06f5c5858d..632a2ce841 100644 Binary files a/resources/profiles/Qidi/Qidi X-Plus 5_cover.png and b/resources/profiles/Qidi/Qidi X-Plus 5_cover.png differ diff --git a/resources/profiles/Qidi/filament/X5/Generic ABS @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/Generic ABS @X-Plus 5.json index accf79987f..79a52578a4 100644 --- a/resources/profiles/Qidi/filament/X5/Generic ABS @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/Generic ABS @X-Plus 5.json @@ -8,6 +8,9 @@ "box_temperature_range_high": [ "45" ], + "chamber_temperature": [ + "55" + ], "close_fan_the_first_x_layers": [ "3" ], diff --git a/resources/profiles/Qidi/filament/X5/QIDI PA12-CF @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/QIDI PA12-CF @X-Plus 5.json index 6abc420237..d4af23e160 100644 --- a/resources/profiles/Qidi/filament/X5/QIDI PA12-CF @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/QIDI PA12-CF @X-Plus 5.json @@ -14,9 +14,15 @@ "box_temperature": [ "55" ], + "chamber_temperature": [ + "55" + ], "close_fan_the_first_x_layers": [ "3" ], + "during_print_exhaust_fan_speed": [ + "0" + ], "cool_plate_temp_initial_layer": [ "60" ], diff --git a/resources/profiles/Qidi/filament/X5/QIDI PAHT-CF @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/QIDI PAHT-CF @X-Plus 5.json index ca5591813d..fec939caa8 100644 --- a/resources/profiles/Qidi/filament/X5/QIDI PAHT-CF @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/QIDI PAHT-CF @X-Plus 5.json @@ -14,9 +14,15 @@ "box_temperature": [ "60" ], + "chamber_temperature": [ + "55" + ], "close_fan_the_first_x_layers": [ "3" ], + "during_print_exhaust_fan_speed": [ + "0" + ], "cool_plate_temp_initial_layer": [ "80" ], diff --git a/resources/profiles/Qidi/filament/X5/QIDI PAHT-GF @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/QIDI PAHT-GF @X-Plus 5.json index 411ae26214..de72deb697 100644 --- a/resources/profiles/Qidi/filament/X5/QIDI PAHT-GF @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/QIDI PAHT-GF @X-Plus 5.json @@ -14,9 +14,15 @@ "box_temperature": [ "60" ], + "chamber_temperature": [ + "55" + ], "close_fan_the_first_x_layers": [ "3" ], + "during_print_exhaust_fan_speed": [ + "0" + ], "cool_plate_temp_initial_layer": [ "80" ], diff --git a/resources/profiles/Qidi/filament/X5/QIDI PPS-GF @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/QIDI PPS-GF @X-Plus 5.json index 615d895851..f973121e62 100644 --- a/resources/profiles/Qidi/filament/X5/QIDI PPS-GF @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/QIDI PPS-GF @X-Plus 5.json @@ -14,8 +14,8 @@ "box_temperature": [ "65" ], - "chamber_temperatures": [ - "0" + "chamber_temperature": [ + "55" ], "close_fan_the_first_x_layers": [ "3" diff --git a/resources/profiles/Qidi/filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json b/resources/profiles/Qidi/filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json index 2ea27efa4b..82c261fbd5 100644 --- a/resources/profiles/Qidi/filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json +++ b/resources/profiles/Qidi/filament/X5/QIDI UltraPA-CF25 @X-Plus 5.json @@ -14,6 +14,9 @@ "box_temperature": [ "60" ], + "chamber_temperature": [ + "55" + ], "close_fan_the_first_x_layers": [ "3" ], diff --git a/resources/profiles/Qidi/machine/Qidi Q2.json b/resources/profiles/Qidi/machine/Qidi Q2.json index d7f9e8bf62..6b05ae57b0 100644 --- a/resources/profiles/Qidi/machine/Qidi Q2.json +++ b/resources/profiles/Qidi/machine/Qidi Q2.json @@ -8,5 +8,5 @@ "bed_model": "qidi_q2_buildplate_model.stl", "bed_texture": "qidi_q2_buildplate_texture.svg", "hotend_model": "X-Series_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;QIDI PET-CF" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;QIDI PET-CF;QIDI PLA Rapido @Qidi Q2 0.2 nozzle;QIDI PLA Rapido @Qidi Q2 0.4 nozzle;QIDI PLA Rapido @Qidi Q2 0.6 nozzle;QIDI PLA Rapido @Qidi Q2 0.8 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi Q2C.json b/resources/profiles/Qidi/machine/Qidi Q2C.json index cdc45e8f5e..462814d225 100644 --- a/resources/profiles/Qidi/machine/Qidi Q2C.json +++ b/resources/profiles/Qidi/machine/Qidi Q2C.json @@ -8,5 +8,5 @@ "bed_model": "qidi_q2c_buildplate_model.stl", "bed_texture": "qidi_q2c_buildplate_texture.svg", "hotend_model": "X-Series_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;QIDI PET-CF" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;QIDI PET-CF;QIDI PLA Rapido @Qidi Q2C 0.2 nozzle;QIDI PLA Rapido @Qidi Q2C 0.4 nozzle;QIDI PLA Rapido @Qidi Q2C 0.6 nozzle;QIDI PLA Rapido @Qidi Q2C 0.8 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi X-Max 3.json b/resources/profiles/Qidi/machine/Qidi X-Max 3.json index 99888a8acf..ce2cfe8c26 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Max 3.json +++ b/resources/profiles/Qidi/machine/Qidi X-Max 3.json @@ -8,5 +8,5 @@ "bed_model": "qidi_xmax3_buildplate_model.stl", "bed_texture": "qidi_xmax3_buildplate_texture.svg", "hotend_model": "qidi_xseries_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi;Generic PLA @Qidi X-Max 3 0.2 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi X-Max 4.json b/resources/profiles/Qidi/machine/Qidi X-Max 4.json index 4d67f77537..5e1b05cc11 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Max 4.json +++ b/resources/profiles/Qidi/machine/Qidi X-Max 4.json @@ -8,5 +8,5 @@ "bed_model": "qidi_xmax4_buildplate_model.stl", "bed_texture": "qidi_xmax4_buildplate_texture.svg", "hotend_model": "qidi_xseries_gen3_hotend.stl", - "default_materials": "Generic ABS @Qidi X-Max 4 0.4 nozzle;Generic PLA @Qidi X-Max 4 0.4 nozzle;QIDI ABS Odorless @Qidi X-Max 4 0.4 nozzle;QIDI ABS Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido Matte @Qidi X-Max 4 0.4 nozzle;QIDI PLA-CF @Qidi X-Max 4 0.4 nozzle;Generic PLA Silk @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido Silk @Qidi X-Max 4 0.4 nozzle;QIDI ASA @Qidi X-Max 4 0.4 nozzle;QIDI PETG Basic @Qidi X-Max 4 0.4 nozzle;QIDI PETG Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PETG Tough @Qidi X-Max 4 0.4 nozzle;QIDI PETG Translucent @Qidi X-Max 4 0.4 nozzle;QIDI PLA Basic @Qidi X-Max 4 0.4 nozzle;QIDI PLA Matte Basic @Qidi X-Max 4 0.4 nozzle;Generic PETG @Qidi X-Max 4 0.4 nozzle" + "default_materials": "Generic ABS @Qidi X-Max 4 0.4 nozzle;Generic PLA @Qidi X-Max 4 0.4 nozzle;QIDI ABS Odorless @Qidi X-Max 4 0.4 nozzle;QIDI ABS Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido Matte @Qidi X-Max 4 0.4 nozzle;QIDI PLA-CF @Qidi X-Max 4 0.4 nozzle;Generic PLA Silk @Qidi X-Max 4 0.4 nozzle;QIDI PLA Rapido Silk @Qidi X-Max 4 0.4 nozzle;QIDI ASA @Qidi X-Max 4 0.4 nozzle;QIDI PETG Basic @Qidi X-Max 4 0.4 nozzle;QIDI PETG Rapido @Qidi X-Max 4 0.4 nozzle;QIDI PETG Tough @Qidi X-Max 4 0.4 nozzle;QIDI PETG Translucent @Qidi X-Max 4 0.4 nozzle;QIDI PLA Basic @Qidi X-Max 4 0.4 nozzle;QIDI PLA Matte Basic @Qidi X-Max 4 0.4 nozzle;Generic PETG @Qidi X-Max 4 0.4 nozzle;Generic PLA @Qidi X-Max 4 0.2 nozzle;Generic PLA @Qidi X-Max 4 0.6 nozzle;Generic PLA @Qidi X-Max 4 0.8 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 3.json b/resources/profiles/Qidi/machine/Qidi X-Plus 3.json index 84df7f37be..e527fe85b4 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Plus 3.json +++ b/resources/profiles/Qidi/machine/Qidi X-Plus 3.json @@ -8,5 +8,5 @@ "bed_model": "qidi_xplus3_buildplate_model.stl", "bed_texture": "qidi_xplus3_buildplate_texture.svg", "hotend_model": "qidi_xseries_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi;Generic PLA @Qidi X-Plus 3 0.2 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 4.json b/resources/profiles/Qidi/machine/Qidi X-Plus 4.json index ac34a73e34..69a757212e 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Plus 4.json +++ b/resources/profiles/Qidi/machine/Qidi X-Plus 4.json @@ -8,5 +8,5 @@ "bed_model": "qidi_xplus4_buildplate_model.stl", "bed_texture": "qidi_xplus4_buildplate_texture.svg", "hotend_model": "qidi_xseries_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;Generic PETG @Qidi" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PETG Tough;QIDI PLA Rapido Matte;QIDI ASA;Generic PETG @Qidi;QIDI PLA Rapido @Qidi X-Plus 4 0.2 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.6 nozzle;QIDI PLA Rapido @Qidi X-Plus 4 0.8 nozzle" } diff --git a/resources/profiles/Qidi/machine/Qidi X-Smart 3.json b/resources/profiles/Qidi/machine/Qidi X-Smart 3.json index 75b3d2e252..7cacb82e87 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Smart 3.json +++ b/resources/profiles/Qidi/machine/Qidi X-Smart 3.json @@ -8,5 +8,5 @@ "bed_model": "qidi_xsmart3_buildplate_model.stl", "bed_texture": "qidi_xsmart3_buildplate_texture.svg", "hotend_model": "qidi_xseries_gen3_hotend.stl", - "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi" + "default_materials": "QIDI PLA Rapido;QIDI ABS Rapido;QIDI PLA Rapido Matte;QIDI PETG Tough;QIDI ASA;Generic ASA @Qidi;Generic ABS @Qidi;Generic PETG @Qidi;Generic PLA Silk @Qidi;Generic PLA @Qidi;Generic PLA @Qidi X-Smart 3 0.2 nozzle" } diff --git a/resources/profiles/Qidi/machine/fdm_machine_common.json b/resources/profiles/Qidi/machine/fdm_machine_common.json index 2d5fc3ead3..50bcc2255c 100644 --- a/resources/profiles/Qidi/machine/fdm_machine_common.json +++ b/resources/profiles/Qidi/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Qidi/machine/fdm_machine_x_common.json b/resources/profiles/Qidi/machine/fdm_machine_x_common.json index b8a14c80ec..b2b0359a39 100644 --- a/resources/profiles/Qidi/machine/fdm_machine_x_common.json +++ b/resources/profiles/Qidi/machine/fdm_machine_x_common.json @@ -133,7 +133,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "wipe_tower_type": "type1", "support_air_filtration": [ diff --git a/resources/profiles/Qidi/machine/fdm_q_common.json b/resources/profiles/Qidi/machine/fdm_q_common.json index 94fbffd64d..a8915e8895 100644 --- a/resources/profiles/Qidi/machine/fdm_q_common.json +++ b/resources/profiles/Qidi/machine/fdm_q_common.json @@ -126,7 +126,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "wipe_tower_type": "type1", "support_air_filtration": [ diff --git a/resources/profiles/Qidi/machine/fdm_qidi_common.json b/resources/profiles/Qidi/machine/fdm_qidi_common.json index 38b39c4591..69ca7c731f 100644 --- a/resources/profiles/Qidi/machine/fdm_qidi_common.json +++ b/resources/profiles/Qidi/machine/fdm_qidi_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "wipe_tower_type": "type1", "change_filament_gcode": "", diff --git a/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4 0.2 nozzle.json index 93be914bd5..ce87f787ca 100644 --- a/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4 0.2 nozzle.json +++ b/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4 0.2 nozzle.json @@ -46,7 +46,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.22", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4.json b/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4.json index 499d8ad5cb..741e7b059d 100644 --- a/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.08mm Extra Fine @X-Max 4.json @@ -51,7 +51,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "450" ], diff --git a/resources/profiles/Qidi/process/0.10mm Standard @X-Max 4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.10mm Standard @X-Max 4 0.2 nozzle.json index 2f49cb3ba1..b80777804a 100644 --- a/resources/profiles/Qidi/process/0.10mm Standard @X-Max 4 0.2 nozzle.json +++ b/resources/profiles/Qidi/process/0.10mm Standard @X-Max 4 0.2 nozzle.json @@ -37,7 +37,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.22", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.12mm Balanced Quality @X-Max 4 0.2 nozzle.json b/resources/profiles/Qidi/process/0.12mm Balanced Quality @X-Max 4 0.2 nozzle.json index 70d97f84ab..ab474d3b97 100644 --- a/resources/profiles/Qidi/process/0.12mm Balanced Quality @X-Max 4 0.2 nozzle.json +++ b/resources/profiles/Qidi/process/0.12mm Balanced Quality @X-Max 4 0.2 nozzle.json @@ -40,7 +40,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.22", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json index 7bafb22f06..170ab2c68d 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_qidi_x3_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json index 993afe4898..1bb3d04914 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "iQXhsvqnRSjNDxK1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json index 897fdb4504..5dfa794d9f 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Ls6f3OYdkl6qG2i2", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json index ab371384d3..3ec7004f02 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "4Gy3FqymogmRSeVq", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @X-Max 4.json b/resources/profiles/Qidi/process/0.12mm Fine @X-Max 4.json index 932a708742..900f78219e 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @X-Max 4.json @@ -50,7 +50,6 @@ "small_perimeter_threshold": [ "50" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "430" ], diff --git a/resources/profiles/Qidi/process/0.16mm Balanced Quality @X-Max 4.json b/resources/profiles/Qidi/process/0.16mm Balanced Quality @X-Max 4.json index d734a14634..9273f4b6b9 100644 --- a/resources/profiles/Qidi/process/0.16mm Balanced Quality @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.16mm Balanced Quality @X-Max 4.json @@ -41,7 +41,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": [ "200" diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json index 4b5aa16e59..242cce03cd 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_qidi_x3_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json index 3f0504ddb3..e5154cf932 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "HLcracgY90tIkYwN", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json index 7e058d924d..0546913457 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "6Be5iq2K9VppN5gE", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json index 7cb52d8cbc..fa3e8bf18a 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "R1lqL3bMvvg6NMgD", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Standard @X-Max 4.json b/resources/profiles/Qidi/process/0.16mm Standard @X-Max 4.json index 91d939fec5..4d2d0ff172 100644 --- a/resources/profiles/Qidi/process/0.16mm Standard @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.16mm Standard @X-Max 4.json @@ -44,7 +44,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "330" ], diff --git a/resources/profiles/Qidi/process/0.18mm Balanced Quality @X-Max 4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.18mm Balanced Quality @X-Max 4 0.6 nozzle.json index 8d281627ea..9fb86119f4 100644 --- a/resources/profiles/Qidi/process/0.18mm Balanced Quality @X-Max 4 0.6 nozzle.json +++ b/resources/profiles/Qidi/process/0.18mm Balanced Quality @X-Max 4 0.6 nozzle.json @@ -56,7 +56,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.62", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.20mm Balanced Strength @X-Max 4.json b/resources/profiles/Qidi/process/0.20mm Balanced Strength @X-Max 4.json index 5c879d83ab..ab94482de0 100644 --- a/resources/profiles/Qidi/process/0.20mm Balanced Strength @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.20mm Balanced Strength @X-Max 4.json @@ -39,7 +39,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "270" ], diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json index 2866bac399..490386d1a6 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "WqYCTn83Ln11dpYC", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json index 74cc5c814f..edca0c62d1 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "2lJE6tuEIL22NBc2", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json index 4dd2935975..4e5922dd23 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "MDu610revkMyZze1", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @X-Max 4.json b/resources/profiles/Qidi/process/0.20mm Standard @X-Max 4.json index 4bbea2ec6d..74d0ebc2d0 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @X-Max 4.json @@ -32,7 +32,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "270" ], diff --git a/resources/profiles/Qidi/process/0.24mm Balanced Quality @X-Max 4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.24mm Balanced Quality @X-Max 4 0.8 nozzle.json index 53429a10d1..f6a25ed90b 100644 --- a/resources/profiles/Qidi/process/0.24mm Balanced Quality @X-Max 4 0.8 nozzle.json +++ b/resources/profiles/Qidi/process/0.24mm Balanced Quality @X-Max 4 0.8 nozzle.json @@ -56,7 +56,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.82", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.24mm Balanced Strength @X-Max 4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.24mm Balanced Strength @X-Max 4 0.6 nozzle.json index 646cf814e4..8579e2af21 100644 --- a/resources/profiles/Qidi/process/0.24mm Balanced Strength @X-Max 4 0.6 nozzle.json +++ b/resources/profiles/Qidi/process/0.24mm Balanced Strength @X-Max 4 0.6 nozzle.json @@ -53,7 +53,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.62", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json b/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json index 787113e6c6..467be12aec 100644 --- a/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_qidi_x3_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Qidi/process/0.24mm Standard @X-Max 4.json b/resources/profiles/Qidi/process/0.24mm Standard @X-Max 4.json index 3aeb4203e4..ff6aba1a7a 100644 --- a/resources/profiles/Qidi/process/0.24mm Standard @X-Max 4.json +++ b/resources/profiles/Qidi/process/0.24mm Standard @X-Max 4.json @@ -39,7 +39,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_speed": [ "230" ], diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json index c6e0b75c76..7a0387f859 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "o9SQqZdG3BoviCAx", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2.json index 1aa6974b57..e59977ac1c 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QyCGFIxjMVprexDS", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.25", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2C.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2C.json index 7a5d9d09aa..af40d35529 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2C.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q2C.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "e0Mbd6kjHG3Tc7Zm", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.25", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json index f29ef5d037..e8640beb97 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QfqK00Ymn3ss9qtU", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json index 1eca5fc51b..c97620af69 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "YomLQtTbuHeQfrip", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json index 529864b872..16d7d96f97 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "M8F4v1shW7h3QyzC", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json index a9026d4c86..93b6d30ab5 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "g73f1lIj9eH0MZjW", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json index 7767956bb8..c5adf500e1 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "tAV9akzom1NHWPNJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json index 75bf45cef6..b09aa82c4e 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QvbM5h9XXrvsmdX6", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.25", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json index 4990f0d9f0..0bc4fd8252 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "lag9UwMZ0uLbg6P2", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json index 555f8f19d0..3d88261b84 100644 --- a/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_qidi_x3_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json index aa4f96eb58..a9245997d2 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "D5MjSxw3jZYf2Nja", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2.json index d9ea812425..fa5d74ece1 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "xV59wYWbrstGW5c5", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.3", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2C.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2C.json index cc97b6c1b8..1565426d32 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2C.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q2C.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "96u0HvMr7kqleKBl", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.3", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json index d5237c4d37..0279d555da 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "gR2HeEDYyNSjL2K7", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json index a0dba6c233..f4f34baaa8 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "UA6RvPAtMfb2ryBL", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.30", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json index d4abe3eeb6..10a1ed451b 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "QECWa3aznaYRN11W", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json index 72754c9145..d115d557cf 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "jjrl5R7LpUXnxA8d", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json index 732f5aa155..16e6bc8ee2 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "TPJTTWCWFbrVv0bx", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json index 9825272cce..dd498c072d 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus4.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "PypLIvy1do9mp98q", "instantiation": "true", - "adaptive_layer_height": "1", "enable_arc_fitting": "0", "reduce_crossing_wall": "0", "layer_height": "0.3", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json index 4e5d2e235c..462a355cf9 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "gzZakw9J3bzbD5D8", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.3", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Standard @X-Max 4 0.6 nozzle.json b/resources/profiles/Qidi/process/0.30mm Standard @X-Max 4 0.6 nozzle.json index 7622dd4325..a57a8f3f24 100644 --- a/resources/profiles/Qidi/process/0.30mm Standard @X-Max 4 0.6 nozzle.json +++ b/resources/profiles/Qidi/process/0.30mm Standard @X-Max 4 0.6 nozzle.json @@ -53,7 +53,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.62", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.32mm Balanced Strength @X-Max 4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.32mm Balanced Strength @X-Max 4 0.8 nozzle.json index 052f88bb4a..4e1a4b322f 100644 --- a/resources/profiles/Qidi/process/0.32mm Balanced Strength @X-Max 4 0.8 nozzle.json +++ b/resources/profiles/Qidi/process/0.32mm Balanced Strength @X-Max 4 0.8 nozzle.json @@ -56,7 +56,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.82", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/0.40mm Standard @X-Max 4 0.8 nozzle.json b/resources/profiles/Qidi/process/0.40mm Standard @X-Max 4 0.8 nozzle.json index 4aa16d0e45..1589706881 100644 --- a/resources/profiles/Qidi/process/0.40mm Standard @X-Max 4 0.8 nozzle.json +++ b/resources/profiles/Qidi/process/0.40mm Standard @X-Max 4 0.8 nozzle.json @@ -56,7 +56,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "4", "sparse_infill_line_width": "0.82", "sparse_infill_speed": [ "100" diff --git a/resources/profiles/Qidi/process/fdm_process_common.json b/resources/profiles/Qidi/process/fdm_process_common.json index 134d389c22..2216d70bd0 100644 --- a/resources/profiles/Qidi/process/fdm_process_common.json +++ b/resources/profiles/Qidi/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Qidi/process/fdm_process_n_common.json b/resources/profiles/Qidi/process/fdm_process_n_common.json index 629d64338d..599becff50 100644 --- a/resources/profiles/Qidi/process/fdm_process_n_common.json +++ b/resources/profiles/Qidi/process/fdm_process_n_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "apply_top_surface_compensation": "0", "avoid_crossing_wall_includes_support": "0", "bottom_color_penetration_layers": "3", @@ -70,7 +69,6 @@ "150" ], "interface_shells": "0", - "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.42", "internal_solid_infill_speed": [ "150" @@ -105,9 +103,6 @@ "overhang_4_4_speed": [ "10" ], - "overhang_totally_speed": [ - "10" - ], "override_filament_scarf_seam_setting": "0", "prime_tower_width": "35", "print_sequence": "by layer", @@ -149,7 +144,6 @@ "small_perimeter_threshold": [ "4" ], - "smooth_coefficient": "90", "smooth_speed_discontinuity_area": "1", "sparse_infill_density": "15%", "sparse_infill_line_width": "0.45", diff --git a/resources/profiles/Qidi/process/fdm_process_qidi_common.json b/resources/profiles/Qidi/process/fdm_process_qidi_common.json index 3a7676e3fe..bf4d53c8ca 100644 --- a/resources/profiles/Qidi/process/fdm_process_qidi_common.json +++ b/resources/profiles/Qidi/process/fdm_process_qidi_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json index 176add07f7..2f044b9790 100644 --- a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json +++ b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -46,7 +45,6 @@ "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Qidi/qidi_xplus5_buildplate_model.stl b/resources/profiles/Qidi/qidi_xplus5_buildplate_model.stl index 5e2d7ca485..efc28709cb 100644 Binary files a/resources/profiles/Qidi/qidi_xplus5_buildplate_model.stl and b/resources/profiles/Qidi/qidi_xplus5_buildplate_model.stl differ diff --git a/resources/profiles/Qidi/qidi_xplus5_buildplate_texture.svg b/resources/profiles/Qidi/qidi_xplus5_buildplate_texture.svg index 72a081620f..1edb2c3900 100644 --- a/resources/profiles/Qidi/qidi_xplus5_buildplate_texture.svg +++ b/resources/profiles/Qidi/qidi_xplus5_buildplate_texture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/profiles/RH3D.json b/resources/profiles/RH3D.json index 4cb9ab573e..3e177c5efd 100644 --- a/resources/profiles/RH3D.json +++ b/resources/profiles/RH3D.json @@ -1,12 +1,16 @@ { "name": "RH3D", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "RH3D - printer profiles", "machine_model_list": [ { "name": "E3NG v1.2S", "sub_path": "machine/E3NG v1.2S.json" + }, + { + "name": "VIRTU E3", + "sub_path": "machine/VIRTU E3.json" } ], "machine_list": [ @@ -18,6 +22,10 @@ "name": "fdm_common_E3NG v1.2S", "sub_path": "machine/fdm_common_E3NG v1.2S.json" }, + { + "name": "fdm_common_VIRTU E3", + "sub_path": "machine/fdm_common_VIRTU E3.json" + }, { "name": "E3NG v1.2S - 0.2 nozzle", "sub_path": "machine/E3NG v1.2S - 0.2 nozzle.json" @@ -37,6 +45,26 @@ { "name": "E3NG v1.2S - 0.6 nozzle", "sub_path": "machine/E3NG v1.2S - 0.6 nozzle.json" + }, + { + "name": "VIRTU E3 - 0.2 nozzle", + "sub_path": "machine/VIRTU E3 - 0.2 nozzle.json" + }, + { + "name": "VIRTU E3 - 0.3 nozzle", + "sub_path": "machine/VIRTU E3 - 0.3 nozzle.json" + }, + { + "name": "VIRTU E3 - 0.4 nozzle", + "sub_path": "machine/VIRTU E3 - 0.4 nozzle.json" + }, + { + "name": "VIRTU E3 - 0.5 nozzle", + "sub_path": "machine/VIRTU E3 - 0.5 nozzle.json" + }, + { + "name": "VIRTU E3 - 0.6 nozzle", + "sub_path": "machine/VIRTU E3 - 0.6 nozzle.json" } ], "process_list": [ @@ -45,8 +73,92 @@ "sub_path": "process/fdm_process_common.json" }, { - "name": "process_common_E3NG v1.2S", - "sub_path": "process/process_common_E3NG v1.2S.json" + "name": "process_Fast_E3NG v1.2S", + "sub_path": "process/process_Fast_E3NG v1.2S.json" + }, + { + "name": "process_Fast_VIRTU E3", + "sub_path": "process/process_Fast_VIRTU E3.json" + }, + { + "name": "process_Slow_E3NG v1.2S", + "sub_path": "process/process_Slow_E3NG v1.2S.json" + }, + { + "name": "process_Slow_VIRTU E3", + "sub_path": "process/process_Slow_VIRTU E3.json" + }, + { + "name": "process_Standard_E3NG v1.2S", + "sub_path": "process/process_Standard_E3NG v1.2S.json" + }, + { + "name": "process_Standard_VIRTU E3", + "sub_path": "process/process_Standard_VIRTU E3.json" + }, + { + "name": "0.10mm Fast @E3NG v1.2S", + "sub_path": "process/0.10mm Fast @E3NG v1.2S.json" + }, + { + "name": "0.15mm Fast @E3NG v1.2S", + "sub_path": "process/0.15mm Fast @E3NG v1.2S.json" + }, + { + "name": "0.20mm Fast @E3NG v1.2S", + "sub_path": "process/0.20mm Fast @E3NG v1.2S.json" + }, + { + "name": "0.25mm Fast @E3NG v1.2S", + "sub_path": "process/0.25mm Fast @E3NG v1.2S.json" + }, + { + "name": "0.10mm Fast @VIRTU E3", + "sub_path": "process/0.10mm Fast @VIRTU E3.json" + }, + { + "name": "0.15mm Fast @VIRTU E3", + "sub_path": "process/0.15mm Fast @VIRTU E3.json" + }, + { + "name": "0.20mm Fast @VIRTU E3", + "sub_path": "process/0.20mm Fast @VIRTU E3.json" + }, + { + "name": "0.25mm Fast @VIRTU E3", + "sub_path": "process/0.25mm Fast @VIRTU E3.json" + }, + { + "name": "0.10mm Slow @E3NG v1.2S", + "sub_path": "process/0.10mm Slow @E3NG v1.2S.json" + }, + { + "name": "0.15mm Slow @E3NG v1.2S", + "sub_path": "process/0.15mm Slow @E3NG v1.2S.json" + }, + { + "name": "0.20mm Slow @E3NG v1.2S", + "sub_path": "process/0.20mm Slow @E3NG v1.2S.json" + }, + { + "name": "0.25mm Slow @E3NG v1.2S", + "sub_path": "process/0.25mm Slow @E3NG v1.2S.json" + }, + { + "name": "0.10mm Slow @VIRTU E3", + "sub_path": "process/0.10mm Slow @VIRTU E3.json" + }, + { + "name": "0.15mm Slow @VIRTU E3", + "sub_path": "process/0.15mm Slow @VIRTU E3.json" + }, + { + "name": "0.20mm Slow @VIRTU E3", + "sub_path": "process/0.20mm Slow @VIRTU E3.json" + }, + { + "name": "0.25mm Slow @VIRTU E3", + "sub_path": "process/0.25mm Slow @VIRTU E3.json" }, { "name": "0.10mm Standard @E3NG v1.2S", @@ -56,25 +168,29 @@ "name": "0.15mm Standard @E3NG v1.2S", "sub_path": "process/0.15mm Standard @E3NG v1.2S.json" }, - { - "name": "0.20mm Fast @E3NG v1.2S", - "sub_path": "process/0.20mm Fast @E3NG v1.2S.json" - }, - { - "name": "0.20mm Slow @E3NG v1.2S", - "sub_path": "process/0.20mm Slow @E3NG v1.2S.json" - }, { "name": "0.20mm Standard @E3NG v1.2S", "sub_path": "process/0.20mm Standard @E3NG v1.2S.json" }, - { - "name": "0.25mm Fast @E3NG v1.2S", - "sub_path": "process/0.25mm Fast @E3NG v1.2S.json" - }, { "name": "0.25mm Standard @E3NG v1.2S", "sub_path": "process/0.25mm Standard @E3NG v1.2S.json" + }, + { + "name": "0.10mm Standard @VIRTU E3", + "sub_path": "process/0.10mm Standard @VIRTU E3.json" + }, + { + "name": "0.15mm Standard @VIRTU E3", + "sub_path": "process/0.15mm Standard @VIRTU E3.json" + }, + { + "name": "0.20mm Standard @VIRTU E3", + "sub_path": "process/0.20mm Standard @VIRTU E3.json" + }, + { + "name": "0.25mm Standard @VIRTU E3", + "sub_path": "process/0.25mm Standard @VIRTU E3.json" } ], "filament_list": [ @@ -110,25 +226,49 @@ "name": "Generic ABS @E3NG v1.2S", "sub_path": "filament/Generic ABS @E3NG v1.2S.json" }, + { + "name": "Generic ABS @VIRTU E3", + "sub_path": "filament/Generic ABS @VIRTU E3.json" + }, { "name": "Generic ASA @E3NG v1.2S", "sub_path": "filament/Generic ASA @E3NG v1.2S.json" }, + { + "name": "Generic ASA @VIRTU E3", + "sub_path": "filament/Generic ASA @VIRTU E3.json" + }, { "name": "Generic PCCF @E3NG v1.2S", "sub_path": "filament/Generic PCCF @E3NG v1.2S.json" }, + { + "name": "Generic PCCF @VIRTU E3", + "sub_path": "filament/Generic PCCF @VIRTU E3.json" + }, { "name": "Generic PETG @E3NG v1.2S", "sub_path": "filament/Generic PETG @E3NG v1.2S.json" }, + { + "name": "Generic PETG @VIRTU E3", + "sub_path": "filament/Generic PETG @VIRTU E3.json" + }, { "name": "Generic PLA @E3NG v1.2S", "sub_path": "filament/Generic PLA @E3NG v1.2S.json" }, + { + "name": "Generic PLA @VIRTU E3", + "sub_path": "filament/Generic PLA @VIRTU E3.json" + }, { "name": "Generic TPU @E3NG v1.2S", "sub_path": "filament/Generic TPU @E3NG v1.2S.json" + }, + { + "name": "Generic TPU @VIRTU E3", + "sub_path": "filament/Generic TPU @VIRTU E3.json" } ] } diff --git a/resources/profiles/RH3D/E3NG v1.2S_cover.png b/resources/profiles/RH3D/E3NG v1.2S_cover.png index 03bb5a9e42..f70e2ed35f 100644 Binary files a/resources/profiles/RH3D/E3NG v1.2S_cover.png and b/resources/profiles/RH3D/E3NG v1.2S_cover.png differ diff --git a/resources/profiles/RH3D/E3NG-bed-texture.svg b/resources/profiles/RH3D/E3NG-bed-texture.svg index 2cc13e29ad..93e944d534 100644 --- a/resources/profiles/RH3D/E3NG-bed-texture.svg +++ b/resources/profiles/RH3D/E3NG-bed-texture.svg @@ -1 +1,443 @@ - \ No newline at end of file + + diff --git a/resources/profiles/RH3D/VIRTU E3_cover.png b/resources/profiles/RH3D/VIRTU E3_cover.png new file mode 100644 index 0000000000..085b853cc0 Binary files /dev/null and b/resources/profiles/RH3D/VIRTU E3_cover.png differ diff --git a/resources/profiles/RH3D/VIRTU-bed-texture.svg b/resources/profiles/RH3D/VIRTU-bed-texture.svg new file mode 100644 index 0000000000..802310f8d5 --- /dev/null +++ b/resources/profiles/RH3D/VIRTU-bed-texture.svg @@ -0,0 +1,460 @@ + + diff --git a/resources/profiles/RH3D/VIRTU-bed.stl b/resources/profiles/RH3D/VIRTU-bed.stl new file mode 100644 index 0000000000..c26e99e419 Binary files /dev/null and b/resources/profiles/RH3D/VIRTU-bed.stl differ diff --git a/resources/profiles/RH3D/filament/Generic ABS @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic ABS @VIRTU E3.json new file mode 100644 index 0000000000..be6f94b304 --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic ABS @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Generic ABS @VIRTU E3", + "inherits": "fdm_filament_abs", + "from": "system", + "setting_id": "AULhQhVApTASqF2p", + "filament_id": "OFY9muEs", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/Generic ASA @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic ASA @VIRTU E3.json new file mode 100644 index 0000000000..c2626f57c6 --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic ASA @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Generic ASA @VIRTU E3", + "inherits": "fdm_filament_asa", + "from": "system", + "setting_id": "yJa8PC5f8c4uYgny", + "filament_id": "OFLPAxz3", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/Generic PCCF @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic PCCF @VIRTU E3.json new file mode 100644 index 0000000000..c8a7f3f800 --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic PCCF @VIRTU E3.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "Generic PCCF @VIRTU E3", + "inherits": "fdm_filament_pccf", + "from": "system", + "setting_id": "5byL7KQPKyybDAgQ", + "filament_id": "OFC5f4Ay", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/Generic PETG @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic PETG @VIRTU E3.json new file mode 100644 index 0000000000..2e39f9e1d9 --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic PETG @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Generic PETG @VIRTU E3", + "inherits": "fdm_filament_petg", + "from": "system", + "setting_id": "OAN1Ozk75r0ODvVw", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/Generic PLA @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic PLA @VIRTU E3.json new file mode 100644 index 0000000000..394a92f0c8 --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic PLA @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "Generic PLA @VIRTU E3", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "DgSFTqNWfJEp0w9f", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/Generic TPU @VIRTU E3.json b/resources/profiles/RH3D/filament/Generic TPU @VIRTU E3.json new file mode 100644 index 0000000000..ff816313da --- /dev/null +++ b/resources/profiles/RH3D/filament/Generic TPU @VIRTU E3.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Generic TPU @VIRTU E3", + "inherits": "fdm_filament_tpu", + "from": "system", + "setting_id": "ifG0f5hgJ7L9zw34", + "filament_id": "OFgbpcy9", + "instantiation": "true", + "compatible_printers": [ + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/filament/fdm_filament_abs.json b/resources/profiles/RH3D/filament/fdm_filament_abs.json index f4ab005733..2aab3d25ba 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_abs.json +++ b/resources/profiles/RH3D/filament/fdm_filament_abs.json @@ -26,10 +26,10 @@ "55" ], "fan_cooling_layer_time": [ - "10" + "12" ], "filament_max_volumetric_speed": [ - "32" + "24" ], "filament_type": [ "ABS" @@ -75,9 +75,9 @@ "275" ], "slow_down_min_speed": [ - "10" + "20" ], "slow_down_layer_time": [ - "2" + "4" ] } diff --git a/resources/profiles/RH3D/filament/fdm_filament_asa.json b/resources/profiles/RH3D/filament/fdm_filament_asa.json index ac03beef13..cbf4f5dc36 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_asa.json +++ b/resources/profiles/RH3D/filament/fdm_filament_asa.json @@ -26,10 +26,10 @@ "55" ], "fan_cooling_layer_time": [ - "10" + "12" ], "filament_max_volumetric_speed": [ - "32" + "24" ], "filament_type": [ "ASA" @@ -54,7 +54,7 @@ "50" ], "fan_min_speed": [ - "10" + "15" ], "overhang_fan_threshold": [ "25%" @@ -75,9 +75,9 @@ "275" ], "slow_down_min_speed": [ - "10" + "20" ], "slow_down_layer_time": [ - "2" + "4" ] } diff --git a/resources/profiles/RH3D/filament/fdm_filament_common.json b/resources/profiles/RH3D/filament/fdm_filament_common.json index 576ae24a48..fe143ce05b 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_common.json +++ b/resources/profiles/RH3D/filament/fdm_filament_common.json @@ -22,7 +22,7 @@ "60" ], "overhang_fan_threshold": [ - "95%" + "25%" ], "overhang_fan_speed": [ "100" @@ -40,10 +40,10 @@ "1" ], "reduce_fan_stop_start_freq": [ - "0" + "1" ], "fan_cooling_layer_time": [ - "15" + "20" ], "filament_cost": [ "0" @@ -51,6 +51,9 @@ "filament_density": [ "0" ], + "filament_change_length": [ + "0" + ], "filament_deretraction_speed": [ "nil" ], @@ -61,7 +64,7 @@ "10" ], "filament_minimal_purge_on_wipe_tower": [ - "40" + "50" ], "filament_retraction_minimum_travel": [ "nil" @@ -115,13 +118,13 @@ "100" ], "fan_min_speed": [ - "10" + "20" ], "slow_down_min_speed": [ - "10" + "20" ], "slow_down_layer_time": [ - "3" + "7" ], "filament_start_gcode": [ "; Filament gcode\n" diff --git a/resources/profiles/RH3D/filament/fdm_filament_pccf.json b/resources/profiles/RH3D/filament/fdm_filament_pccf.json index 4296da76c5..401ab2eb23 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_pccf.json +++ b/resources/profiles/RH3D/filament/fdm_filament_pccf.json @@ -26,7 +26,7 @@ "55" ], "fan_cooling_layer_time": [ - "10" + "12" ], "filament_max_volumetric_speed": [ "8" @@ -75,9 +75,9 @@ "330" ], "slow_down_min_speed": [ - "10" + "20" ], "slow_down_layer_time": [ - "2" + "4" ] } diff --git a/resources/profiles/RH3D/filament/fdm_filament_petg.json b/resources/profiles/RH3D/filament/fdm_filament_petg.json index aaa0f62357..8a69c94f7d 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_petg.json +++ b/resources/profiles/RH3D/filament/fdm_filament_petg.json @@ -23,10 +23,10 @@ "90" ], "fan_cooling_layer_time": [ - "10" + "15" ], "filament_max_volumetric_speed": [ - "26" + "18" ], "filament_type": [ "PETG" @@ -72,9 +72,9 @@ "260" ], "slow_down_min_speed": [ - "12" + "20" ], "slow_down_layer_time": [ - "3" + "6" ] } diff --git a/resources/profiles/RH3D/filament/fdm_filament_pla.json b/resources/profiles/RH3D/filament/fdm_filament_pla.json index 873a78461b..770af83296 100644 --- a/resources/profiles/RH3D/filament/fdm_filament_pla.json +++ b/resources/profiles/RH3D/filament/fdm_filament_pla.json @@ -72,9 +72,9 @@ "250" ], "slow_down_min_speed": [ - "10" + "20" ], "slow_down_layer_time": [ - "6" + "8" ] } diff --git a/resources/profiles/RH3D/machine/VIRTU E3 - 0.2 nozzle.json b/resources/profiles/RH3D/machine/VIRTU E3 - 0.2 nozzle.json new file mode 100644 index 0000000000..8814f25e0c --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3 - 0.2 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "VIRTU E3 - 0.2 nozzle", + "printer_model": "VIRTU E3", + "inherits": "fdm_common_VIRTU E3", + "from": "system", + "setting_id": "NEqwtUJ9txtcf1vY", + "instantiation": "true", + "default_print_profile": "0.10mm Standard @VIRTU E3", + "nozzle_diameter": [ + "0.2" + ], + "printer_variant": "0.2" +} diff --git a/resources/profiles/RH3D/machine/VIRTU E3 - 0.3 nozzle.json b/resources/profiles/RH3D/machine/VIRTU E3 - 0.3 nozzle.json new file mode 100644 index 0000000000..4c27b80bb8 --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3 - 0.3 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "VIRTU E3 - 0.3 nozzle", + "printer_model": "VIRTU E3", + "inherits": "fdm_common_VIRTU E3", + "from": "system", + "setting_id": "3PjlEiZxmdLJjoGw", + "instantiation": "true", + "default_print_profile": "0.15mm Standard @VIRTU E3", + "nozzle_diameter": [ + "0.3" + ], + "printer_variant": "0.3" +} diff --git a/resources/profiles/RH3D/machine/VIRTU E3 - 0.4 nozzle.json b/resources/profiles/RH3D/machine/VIRTU E3 - 0.4 nozzle.json new file mode 100644 index 0000000000..7b02993a2b --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3 - 0.4 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "VIRTU E3 - 0.4 nozzle", + "printer_model": "VIRTU E3", + "inherits": "fdm_common_VIRTU E3", + "from": "system", + "setting_id": "mYCTx4ovF6z0STDL", + "instantiation": "true", + "default_print_profile": "0.20mm Standard @VIRTU E3", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4" +} diff --git a/resources/profiles/RH3D/machine/VIRTU E3 - 0.5 nozzle.json b/resources/profiles/RH3D/machine/VIRTU E3 - 0.5 nozzle.json new file mode 100644 index 0000000000..660dd35305 --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3 - 0.5 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "VIRTU E3 - 0.5 nozzle", + "printer_model": "VIRTU E3", + "inherits": "fdm_common_VIRTU E3", + "from": "system", + "setting_id": "iMnENFt2zw6UTcbM", + "instantiation": "true", + "default_print_profile": "0.20mm Standard @VIRTU E3", + "nozzle_diameter": [ + "0.5" + ], + "printer_variant": "0.5" +} diff --git a/resources/profiles/RH3D/machine/VIRTU E3 - 0.6 nozzle.json b/resources/profiles/RH3D/machine/VIRTU E3 - 0.6 nozzle.json new file mode 100644 index 0000000000..bce4e91736 --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3 - 0.6 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "VIRTU E3 - 0.6 nozzle", + "printer_model": "VIRTU E3", + "inherits": "fdm_common_VIRTU E3", + "from": "system", + "setting_id": "T1RuDWhyFkI1GH1h", + "instantiation": "true", + "default_print_profile": "0.25mm Standard @VIRTU E3", + "nozzle_diameter": [ + "0.6" + ], + "printer_variant": "0.6" +} diff --git a/resources/profiles/RH3D/machine/VIRTU E3.json b/resources/profiles/RH3D/machine/VIRTU E3.json new file mode 100644 index 0000000000..f34fa3aefe --- /dev/null +++ b/resources/profiles/RH3D/machine/VIRTU E3.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "VIRTU E3", + "nozzle_diameter": "0.2;0.3;0.4;0.5;0.6", + "bed_model": "VIRTU-bed.stl", + "bed_texture": "VIRTU-bed-texture.svg", + "model_id": "VIRTUE3", + "family": "RH3D", + "hotend_model": "", + "machine_tech": "FFF", + "default_materials": "Generic ABS @VIRTU E3;Generic ASA @VIRTU E3;Generic PCCF @VIRTU E3;Generic PETG @VIRTU E3;Generic PLA @VIRTU E3;Generic TPU @VIRTU E3" +} diff --git a/resources/profiles/RH3D/machine/fdm_common_E3NG v1.2S.json b/resources/profiles/RH3D/machine/fdm_common_E3NG v1.2S.json index 0b952c73f3..8479a4e451 100644 --- a/resources/profiles/RH3D/machine/fdm_common_E3NG v1.2S.json +++ b/resources/profiles/RH3D/machine/fdm_common_E3NG v1.2S.json @@ -7,6 +7,7 @@ "extruder_clearance_height_to_lid": "140", "extruder_clearance_height_to_rod": "36", "extruder_clearance_radius": "65", + "default_filament_profile": "Generic PLA @E3NG v1.2S", "machine_max_acceleration_e": [ "7500", "7500" @@ -40,12 +41,12 @@ "25" ], "machine_max_speed_x": [ - "400", - "400" + "600", + "600" ], "machine_max_speed_y": [ - "400", - "400" + "600", + "600" ], "machine_max_speed_z": [ "12", diff --git a/resources/profiles/RH3D/machine/fdm_common_VIRTU E3.json b/resources/profiles/RH3D/machine/fdm_common_VIRTU E3.json new file mode 100644 index 0000000000..e825838811 --- /dev/null +++ b/resources/profiles/RH3D/machine/fdm_common_VIRTU E3.json @@ -0,0 +1,71 @@ +{ + "type": "machine", + "name": "fdm_common_VIRTU E3", + "inherits": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "extruder_clearance_height_to_lid": "140", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_radius": "65", + "default_filament_profile": "Generic PLA @VIRTU E3", + "machine_max_acceleration_e": [ + "7500", + "7500" + ], + "machine_max_acceleration_extruding": [ + "35000", + "35000" + ], + "machine_max_acceleration_retracting": [ + "35000", + "35000" + ], + "machine_max_acceleration_travel": [ + "10000", + "10000" + ], + "machine_max_acceleration_x": [ + "35000", + "35000" + ], + "machine_max_acceleration_y": [ + "35000", + "35000" + ], + "machine_max_acceleration_z": [ + "2000", + "2000" + ], + "machine_max_speed_e": [ + "25", + "25" + ], + "machine_max_speed_x": [ + "900", + "900" + ], + "machine_max_speed_y": [ + "900", + "900" + ], + "machine_max_speed_z": [ + "400", + "400" + ], + "printable_area": [ + "0x0", + "230x0", + "230x232", + "0x232" + ], + "printable_height": "232", + "printer_model": "VIRTU E3", + "printer_notes": [ + "Design by RH3D" + ], + "retract_before_wipe": "80%", + "retract_length_toolchange": "0", + "retract_lift_below": "230", + "retraction_minimum_travel": "1.5", + "travel_slope": "1" +} diff --git a/resources/profiles/RH3D/machine/fdm_machine_common.json b/resources/profiles/RH3D/machine/fdm_machine_common.json index 4a3245b701..0f23916d97 100644 --- a/resources/profiles/RH3D/machine/fdm_machine_common.json +++ b/resources/profiles/RH3D/machine/fdm_machine_common.json @@ -5,12 +5,11 @@ "instantiation": "false", "printer_structure": "corexy", "gcode_flavor": "klipper", - "machine_start_gcode": "M104 S0 ; Stops OrcaSlicer from sending temp waits separately\nM140 S0\nPRINT_START EXTRUDER=[first_layer_temperature] BED=[first_layer_bed_temperature]\n; Start of actual GCode for the print", + "machine_start_gcode": "M104 S0 ; Stops OrcaSlicer from sending temp waits separately\nM140 S0\nPRINT_START EXTRUDER=[first_layer_temperature] BED=[first_layer_bed_temperature] CHAMBER=[chamber_temperature] PROFILE=[notes]\n; Start of actual GCode for the print", "machine_end_gcode": "PRINT_END", "extruder_colour": "#02aba2", "extruder_offset": "0x0", "emit_machine_limits_to_gcode": "0", - "default_filament_profile": "Generic PLA @E3NG v1.2S", "machine_min_extruding_rate": [ "0", "0" @@ -47,7 +46,7 @@ "320x240/PNG", "640x480/PNG" ], - "change_filament_gcode": "PAUSE\nG1 E1.0 F300 ; prime after color change", + "change_filament_gcode": "G1 E1.0 F300 ; prime after color change", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0", "layer_change_gcode": ";AFTER_LAYER_CHANGE", "machine_pause_gcode": "PAUSE\n", diff --git a/resources/profiles/RH3D/process/0.10mm Fast @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.10mm Fast @E3NG v1.2S.json new file mode 100644 index 0000000000..f8103a4582 --- /dev/null +++ b/resources/profiles/RH3D/process/0.10mm Fast @E3NG v1.2S.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.10mm Fast @E3NG v1.2S", + "inherits": "process_Fast_E3NG v1.2S", + "from": "system", + "setting_id": "zaYFBkbfYXxSz5eU", + "instantiation": "true", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "compatible_printers": [ + "E3NG v1.2S - 0.2 nozzle", + "E3NG v1.2S - 0.3 nozzle", + "E3NG v1.2S - 0.4 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.10mm Fast @VIRTU E3.json b/resources/profiles/RH3D/process/0.10mm Fast @VIRTU E3.json new file mode 100644 index 0000000000..a72467ecfd --- /dev/null +++ b/resources/profiles/RH3D/process/0.10mm Fast @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.10mm Fast @VIRTU E3", + "inherits": "process_Fast_VIRTU E3", + "from": "system", + "setting_id": "nWpKy9NYLGggsHlM", + "instantiation": "true", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.10mm Slow @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.10mm Slow @E3NG v1.2S.json new file mode 100644 index 0000000000..c853471ef9 --- /dev/null +++ b/resources/profiles/RH3D/process/0.10mm Slow @E3NG v1.2S.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.10mm Slow @E3NG v1.2S", + "inherits": "process_Slow_E3NG v1.2S", + "from": "system", + "setting_id": "W35S1kwfonBFrHAy", + "instantiation": "true", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "compatible_printers": [ + "E3NG v1.2S - 0.2 nozzle", + "E3NG v1.2S - 0.3 nozzle", + "E3NG v1.2S - 0.4 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.10mm Slow @VIRTU E3.json b/resources/profiles/RH3D/process/0.10mm Slow @VIRTU E3.json new file mode 100644 index 0000000000..5c33e2e8f8 --- /dev/null +++ b/resources/profiles/RH3D/process/0.10mm Slow @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.10mm Slow @VIRTU E3", + "inherits": "process_Slow_VIRTU E3", + "from": "system", + "setting_id": "br9ISgiSBZTgKEqn", + "instantiation": "true", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.10mm Standard @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.10mm Standard @E3NG v1.2S.json index dcaecb6b0b..86e7415897 100644 --- a/resources/profiles/RH3D/process/0.10mm Standard @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.10mm Standard @E3NG v1.2S.json @@ -1,7 +1,7 @@ { "type": "process", "name": "0.10mm Standard @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Standard_E3NG v1.2S", "from": "system", "setting_id": "YhKounYUzB4FB9Em", "instantiation": "true", diff --git a/resources/profiles/RH3D/process/0.10mm Standard @VIRTU E3.json b/resources/profiles/RH3D/process/0.10mm Standard @VIRTU E3.json new file mode 100644 index 0000000000..675d8b3646 --- /dev/null +++ b/resources/profiles/RH3D/process/0.10mm Standard @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.10mm Standard @VIRTU E3", + "inherits": "process_Standard_VIRTU E3", + "from": "system", + "setting_id": "qf2uqEsVBJLb87TW", + "instantiation": "true", + "layer_height": "0.1", + "initial_layer_print_height": "0.15", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.15mm Fast @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.15mm Fast @E3NG v1.2S.json new file mode 100644 index 0000000000..8a301ed822 --- /dev/null +++ b/resources/profiles/RH3D/process/0.15mm Fast @E3NG v1.2S.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.15mm Fast @E3NG v1.2S", + "inherits": "process_Fast_E3NG v1.2S", + "from": "system", + "setting_id": "O4zDtFKxom68L07o", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "E3NG v1.2S - 0.2 nozzle", + "E3NG v1.2S - 0.3 nozzle", + "E3NG v1.2S - 0.4 nozzle", + "E3NG v1.2S - 0.5 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.15mm Fast @VIRTU E3.json b/resources/profiles/RH3D/process/0.15mm Fast @VIRTU E3.json new file mode 100644 index 0000000000..8c4040d1bb --- /dev/null +++ b/resources/profiles/RH3D/process/0.15mm Fast @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.15mm Fast @VIRTU E3", + "inherits": "process_Fast_VIRTU E3", + "from": "system", + "setting_id": "G0HkboSFDavmOAU4", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.15mm Slow @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.15mm Slow @E3NG v1.2S.json new file mode 100644 index 0000000000..f3693f8cbb --- /dev/null +++ b/resources/profiles/RH3D/process/0.15mm Slow @E3NG v1.2S.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.15mm Slow @E3NG v1.2S", + "inherits": "process_Slow_E3NG v1.2S", + "from": "system", + "setting_id": "zfmqi9qahym79w71", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "E3NG v1.2S - 0.2 nozzle", + "E3NG v1.2S - 0.3 nozzle", + "E3NG v1.2S - 0.4 nozzle", + "E3NG v1.2S - 0.5 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.15mm Slow @VIRTU E3.json b/resources/profiles/RH3D/process/0.15mm Slow @VIRTU E3.json new file mode 100644 index 0000000000..bac33744bb --- /dev/null +++ b/resources/profiles/RH3D/process/0.15mm Slow @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.15mm Slow @VIRTU E3", + "inherits": "process_Slow_VIRTU E3", + "from": "system", + "setting_id": "6RvsW4p0AVsAXYlf", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.15mm Standard @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.15mm Standard @E3NG v1.2S.json index deaded91ab..0c1a8367a8 100644 --- a/resources/profiles/RH3D/process/0.15mm Standard @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.15mm Standard @E3NG v1.2S.json @@ -1,7 +1,7 @@ { "type": "process", "name": "0.15mm Standard @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Standard_E3NG v1.2S", "from": "system", "setting_id": "jYPd3BedSG1oG6S3", "instantiation": "true", diff --git a/resources/profiles/RH3D/process/0.15mm Standard @VIRTU E3.json b/resources/profiles/RH3D/process/0.15mm Standard @VIRTU E3.json new file mode 100644 index 0000000000..de6a3e1ddf --- /dev/null +++ b/resources/profiles/RH3D/process/0.15mm Standard @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.15mm Standard @VIRTU E3", + "inherits": "process_Standard_VIRTU E3", + "from": "system", + "setting_id": "NFY8TFxasqh2wUvX", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.2 nozzle", + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.20mm Fast @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.20mm Fast @E3NG v1.2S.json index bca60006c4..61fd819a39 100644 --- a/resources/profiles/RH3D/process/0.20mm Fast @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.20mm Fast @E3NG v1.2S.json @@ -1,49 +1,16 @@ { "type": "process", "name": "0.20mm Fast @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Fast_E3NG v1.2S", "from": "system", "setting_id": "S7z7EwSYYbjVWRK0", "instantiation": "true", "layer_height": "0.2", "initial_layer_print_height": "0.2", "compatible_printers": [ + "E3NG v1.2S - 0.3 nozzle", "E3NG v1.2S - 0.4 nozzle", "E3NG v1.2S - 0.5 nozzle", "E3NG v1.2S - 0.6 nozzle" - ], - "reduce_crossing_wall": "0", - "bridge_speed": "75", - "default_acceleration": "10000", - "initial_layer_acceleration": "7500", - "top_surface_acceleration": "7500", - "travel_acceleration": "10000", - "inner_wall_acceleration": "10000", - "outer_wall_acceleration": "7500", - "bridge_acceleration": "5000", - "sparse_infill_acceleration": "12500", - "internal_solid_infill_acceleration": "10000", - "infill_combination": "1", - "ironing_speed": "150", - "overhang_1_4_speed": "100", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "15", - "support_interface_speed": "120", - "top_surface_line_width": "100%", - "sparse_infill_line_width": "125%", - "internal_solid_infill_line_width": "125%", - "seam_position": "nearest", - "initial_layer_speed": "100", - "initial_layer_infill_speed": "150", - "outer_wall_speed": "300", - "inner_wall_speed": "340", - "small_perimeter_speed": "300", - "sparse_infill_speed": "400", - "internal_solid_infill_speed": "340", - "top_surface_speed": "300", - "gap_infill_speed": "300", - "travel_speed": "400", - "only_one_wall_top": "0", - "only_one_wall_first_layer": "0" + ] } diff --git a/resources/profiles/RH3D/process/0.20mm Fast @VIRTU E3.json b/resources/profiles/RH3D/process/0.20mm Fast @VIRTU E3.json new file mode 100644 index 0000000000..1c182fd117 --- /dev/null +++ b/resources/profiles/RH3D/process/0.20mm Fast @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.20mm Fast @VIRTU E3", + "inherits": "process_Fast_VIRTU E3", + "from": "system", + "setting_id": "cSol8x6vF51GUloq", + "instantiation": "true", + "layer_height": "0.2", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.20mm Slow @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.20mm Slow @E3NG v1.2S.json index 45be150670..4894fc3637 100644 --- a/resources/profiles/RH3D/process/0.20mm Slow @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.20mm Slow @E3NG v1.2S.json @@ -1,49 +1,16 @@ { "type": "process", "name": "0.20mm Slow @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Slow_E3NG v1.2S", "from": "system", "setting_id": "JH4jITLGT8tbtnu1", "instantiation": "true", "layer_height": "0.2", "initial_layer_print_height": "0.2", "compatible_printers": [ + "E3NG v1.2S - 0.3 nozzle", "E3NG v1.2S - 0.4 nozzle", "E3NG v1.2S - 0.5 nozzle", "E3NG v1.2S - 0.6 nozzle" - ], - "reduce_crossing_wall": "1", - "bridge_speed": "40", - "default_acceleration": "3000", - "initial_layer_acceleration": "3000", - "top_surface_acceleration": "2000", - "travel_acceleration": "3000", - "inner_wall_acceleration": "3000", - "outer_wall_acceleration": "3000", - "bridge_acceleration": "2000", - "sparse_infill_acceleration": "4000", - "internal_solid_infill_acceleration": "3000", - "infill_combination": "0", - "ironing_speed": "80", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "35", - "overhang_3_4_speed": "20", - "overhang_4_4_speed": "8", - "support_interface_speed": "60", - "top_surface_line_width": "100%", - "sparse_infill_line_width": "125%", - "internal_solid_infill_line_width": "125%", - "seam_position": "aligned", - "initial_layer_speed": "60", - "initial_layer_infill_speed": "75", - "outer_wall_speed": "140", - "inner_wall_speed": "140", - "small_perimeter_speed": "140", - "sparse_infill_speed": "140", - "internal_solid_infill_speed": "140", - "top_surface_speed": "140", - "gap_infill_speed": "140", - "travel_speed": "400", - "only_one_wall_top": "1", - "only_one_wall_first_layer": "1" + ] } diff --git a/resources/profiles/RH3D/process/0.20mm Slow @VIRTU E3.json b/resources/profiles/RH3D/process/0.20mm Slow @VIRTU E3.json new file mode 100644 index 0000000000..1ee87921aa --- /dev/null +++ b/resources/profiles/RH3D/process/0.20mm Slow @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.20mm Slow @VIRTU E3", + "inherits": "process_Slow_VIRTU E3", + "from": "system", + "setting_id": "NlGjHdIRQnp9PCfc", + "instantiation": "true", + "layer_height": "0.2", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.20mm Standard @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.20mm Standard @E3NG v1.2S.json index 92ddcd9109..95b149cfba 100644 --- a/resources/profiles/RH3D/process/0.20mm Standard @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.20mm Standard @E3NG v1.2S.json @@ -1,10 +1,12 @@ { "type": "process", "name": "0.20mm Standard @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Standard_E3NG v1.2S", "from": "system", "setting_id": "XgaEHNWBsBQoPjbP", "instantiation": "true", + "layer_height": "0.2", + "initial_layer_print_height": "0.2", "compatible_printers": [ "E3NG v1.2S - 0.3 nozzle", "E3NG v1.2S - 0.4 nozzle", diff --git a/resources/profiles/RH3D/process/0.20mm Standard @VIRTU E3.json b/resources/profiles/RH3D/process/0.20mm Standard @VIRTU E3.json new file mode 100644 index 0000000000..ad7ac64a0b --- /dev/null +++ b/resources/profiles/RH3D/process/0.20mm Standard @VIRTU E3.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.20mm Standard @VIRTU E3", + "inherits": "process_Standard_VIRTU E3", + "from": "system", + "setting_id": "F0hx03mNji9yec5G", + "instantiation": "true", + "layer_height": "0.2", + "initial_layer_print_height": "0.2", + "compatible_printers": [ + "VIRTU E3 - 0.3 nozzle", + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.25mm Fast @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.25mm Fast @E3NG v1.2S.json index bf910f676a..f9442067d1 100644 --- a/resources/profiles/RH3D/process/0.25mm Fast @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.25mm Fast @E3NG v1.2S.json @@ -1,7 +1,7 @@ { "type": "process", "name": "0.25mm Fast @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Fast_E3NG v1.2S", "from": "system", "setting_id": "QqkHiZPjk3QWyKKN", "instantiation": "true", @@ -11,39 +11,5 @@ "E3NG v1.2S - 0.4 nozzle", "E3NG v1.2S - 0.5 nozzle", "E3NG v1.2S - 0.6 nozzle" - ], - "reduce_crossing_wall": "0", - "bridge_speed": "75", - "default_acceleration": "10000", - "initial_layer_acceleration": "7500", - "top_surface_acceleration": "7500", - "travel_acceleration": "10000", - "inner_wall_acceleration": "10000", - "outer_wall_acceleration": "7500", - "bridge_acceleration": "5000", - "sparse_infill_acceleration": "12500", - "internal_solid_infill_acceleration": "10000", - "infill_combination": "1", - "ironing_speed": "150", - "overhang_1_4_speed": "100", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "15", - "support_interface_speed": "120", - "top_surface_line_width": "100%", - "sparse_infill_line_width": "125%", - "internal_solid_infill_line_width": "125%", - "seam_position": "nearest", - "initial_layer_speed": "100", - "initial_layer_infill_speed": "150", - "outer_wall_speed": "300", - "inner_wall_speed": "340", - "small_perimeter_speed": "300", - "sparse_infill_speed": "400", - "internal_solid_infill_speed": "340", - "top_surface_speed": "300", - "gap_infill_speed": "300", - "travel_speed": "400", - "only_one_wall_top": "0", - "only_one_wall_first_layer": "0" + ] } diff --git a/resources/profiles/RH3D/process/0.25mm Fast @VIRTU E3.json b/resources/profiles/RH3D/process/0.25mm Fast @VIRTU E3.json new file mode 100644 index 0000000000..0e6c3ef6eb --- /dev/null +++ b/resources/profiles/RH3D/process/0.25mm Fast @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.25mm Fast @VIRTU E3", + "inherits": "process_Fast_VIRTU E3", + "from": "system", + "setting_id": "MyqBOD8a6YOpgm8h", + "instantiation": "true", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "compatible_printers": [ + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.25mm Slow @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.25mm Slow @E3NG v1.2S.json new file mode 100644 index 0000000000..65de472eec --- /dev/null +++ b/resources/profiles/RH3D/process/0.25mm Slow @E3NG v1.2S.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.25mm Slow @E3NG v1.2S", + "inherits": "process_Slow_E3NG v1.2S", + "from": "system", + "setting_id": "7sr967Tgq1J3qxTG", + "instantiation": "true", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "compatible_printers": [ + "E3NG v1.2S - 0.4 nozzle", + "E3NG v1.2S - 0.5 nozzle", + "E3NG v1.2S - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.25mm Slow @VIRTU E3.json b/resources/profiles/RH3D/process/0.25mm Slow @VIRTU E3.json new file mode 100644 index 0000000000..36ef0d460f --- /dev/null +++ b/resources/profiles/RH3D/process/0.25mm Slow @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.25mm Slow @VIRTU E3", + "inherits": "process_Slow_VIRTU E3", + "from": "system", + "setting_id": "BqoOYOcFMFNbkpAb", + "instantiation": "true", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "compatible_printers": [ + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/0.25mm Standard @E3NG v1.2S.json b/resources/profiles/RH3D/process/0.25mm Standard @E3NG v1.2S.json index 5ebe88f3fe..4234924db2 100644 --- a/resources/profiles/RH3D/process/0.25mm Standard @E3NG v1.2S.json +++ b/resources/profiles/RH3D/process/0.25mm Standard @E3NG v1.2S.json @@ -1,7 +1,7 @@ { "type": "process", "name": "0.25mm Standard @E3NG v1.2S", - "inherits": "process_common_E3NG v1.2S", + "inherits": "process_Standard_E3NG v1.2S", "from": "system", "setting_id": "2dPD9ljxZ8hknXZu", "instantiation": "true", diff --git a/resources/profiles/RH3D/process/0.25mm Standard @VIRTU E3.json b/resources/profiles/RH3D/process/0.25mm Standard @VIRTU E3.json new file mode 100644 index 0000000000..3aa8db5be4 --- /dev/null +++ b/resources/profiles/RH3D/process/0.25mm Standard @VIRTU E3.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.25mm Standard @VIRTU E3", + "inherits": "process_Standard_VIRTU E3", + "from": "system", + "setting_id": "uKXPx0hfphTLXfmI", + "instantiation": "true", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "compatible_printers": [ + "VIRTU E3 - 0.4 nozzle", + "VIRTU E3 - 0.5 nozzle", + "VIRTU E3 - 0.6 nozzle" + ] +} diff --git a/resources/profiles/RH3D/process/fdm_process_common.json b/resources/profiles/RH3D/process/fdm_process_common.json index 2cf6e41151..0f5087af8c 100644 --- a/resources/profiles/RH3D/process/fdm_process_common.json +++ b/resources/profiles/RH3D/process/fdm_process_common.json @@ -3,12 +3,12 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonicline", "bottom_shell_thickness": "0", "bridge_speed": "50", + "brim_type": "no_brim", "brim_width": "0", "brim_object_gap": "0.1", "compatible_printers": [], @@ -23,6 +23,8 @@ "bridge_acceleration": "2500", "sparse_infill_acceleration": "8000", "internal_solid_infill_acceleration": "5000", + "accel_to_decel_enable": "0", + "accel_to_decel_factor": "100%", "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.1", @@ -42,8 +44,8 @@ "reduce_infill_retraction": "1", "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}_{printer_model}.gcode", "detect_overhang_wall": "1", - "slowdown_for_curled_perimeters": "1", - "overhang_1_4_speed": "70", + "slowdown_for_curled_perimeters": "0", + "overhang_1_4_speed": "0", "overhang_2_4_speed": "40", "overhang_3_4_speed": "25", "overhang_4_4_speed": "10", @@ -86,7 +88,6 @@ "support_object_xy_distance": "0.4", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", @@ -104,7 +105,7 @@ "initial_layer_infill_speed": "100", "outer_wall_speed": "220", "inner_wall_speed": "220", - "small_perimeter_speed": "220", + "small_perimeter_speed": "50%", "sparse_infill_speed": "300", "internal_solid_infill_speed": "220", "top_surface_speed": "180", diff --git a/resources/profiles/RH3D/process/process_Fast_E3NG v1.2S.json b/resources/profiles/RH3D/process/process_Fast_E3NG v1.2S.json new file mode 100644 index 0000000000..73d0ae5202 --- /dev/null +++ b/resources/profiles/RH3D/process/process_Fast_E3NG v1.2S.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "process_Fast_E3NG v1.2S", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "0", + "bridge_speed": "75", + "default_acceleration": "10000", + "initial_layer_acceleration": "7500", + "top_surface_acceleration": "7500", + "travel_acceleration": "10000", + "inner_wall_acceleration": "10000", + "outer_wall_acceleration": "7500", + "bridge_acceleration": "5000", + "sparse_infill_acceleration": "12500", + "internal_solid_infill_acceleration": "10000", + "infill_combination": "0", + "ironing_speed": "150", + "overhang_1_4_speed": "100", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "15", + "support_interface_speed": "120", + "top_surface_line_width": "100%", + "sparse_infill_line_width": "125%", + "internal_solid_infill_line_width": "125%", + "seam_position": "nearest", + "initial_layer_speed": "100", + "initial_layer_infill_speed": "150", + "outer_wall_speed": "300", + "inner_wall_speed": "340", + "small_perimeter_speed": "300", + "sparse_infill_speed": "400", + "internal_solid_infill_speed": "340", + "top_surface_speed": "300", + "gap_infill_speed": "300", + "travel_speed": "400", + "only_one_wall_top": "0", + "only_one_wall_first_layer": "0", + "notes": "fast" +} diff --git a/resources/profiles/RH3D/process/process_Fast_VIRTU E3.json b/resources/profiles/RH3D/process/process_Fast_VIRTU E3.json new file mode 100644 index 0000000000..b981150596 --- /dev/null +++ b/resources/profiles/RH3D/process/process_Fast_VIRTU E3.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "process_Fast_VIRTU E3", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "0", + "bridge_speed": "75", + "default_acceleration": "20000", + "initial_layer_acceleration": "15000", + "top_surface_acceleration": "15000", + "travel_acceleration": "15000", + "inner_wall_acceleration": "25000", + "outer_wall_acceleration": "15000", + "bridge_acceleration": "10000", + "sparse_infill_acceleration": "30000", + "internal_solid_infill_acceleration": "25000", + "infill_combination": "0", + "ironing_speed": "150", + "overhang_1_4_speed": "100", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "15", + "support_interface_speed": "120", + "top_surface_line_width": "90%", + "sparse_infill_line_width": "125%", + "internal_solid_infill_line_width": "125%", + "seam_position": "nearest", + "initial_layer_speed": "100", + "initial_layer_infill_speed": "150", + "outer_wall_speed": "300", + "inner_wall_speed": "600", + "small_perimeter_speed": "300", + "sparse_infill_speed": "600", + "internal_solid_infill_speed": "500", + "top_surface_speed": "300", + "gap_infill_speed": "300", + "travel_speed": "800", + "only_one_wall_top": "0", + "only_one_wall_first_layer": "0", + "notes": "fast" +} diff --git a/resources/profiles/RH3D/process/process_Slow_E3NG v1.2S.json b/resources/profiles/RH3D/process/process_Slow_E3NG v1.2S.json new file mode 100644 index 0000000000..5cf259e378 --- /dev/null +++ b/resources/profiles/RH3D/process/process_Slow_E3NG v1.2S.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "process_Slow_E3NG v1.2S", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "1", + "bridge_speed": "40", + "default_acceleration": "3000", + "initial_layer_acceleration": "3000", + "top_surface_acceleration": "2000", + "travel_acceleration": "3000", + "inner_wall_acceleration": "3000", + "outer_wall_acceleration": "3000", + "bridge_acceleration": "2000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "infill_combination": "0", + "ironing_speed": "80", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "35", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "8", + "support_interface_speed": "60", + "top_surface_line_width": "90%", + "sparse_infill_line_width": "125%", + "internal_solid_infill_line_width": "125%", + "seam_position": "aligned", + "initial_layer_speed": "60", + "initial_layer_infill_speed": "75", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "small_perimeter_speed": "120", + "sparse_infill_speed": "160", + "internal_solid_infill_speed": "160", + "top_surface_speed": "120", + "gap_infill_speed": "120", + "travel_speed": "400", + "only_one_wall_top": "1", + "only_one_wall_first_layer": "1", + "notes": "quiet" +} diff --git a/resources/profiles/RH3D/process/process_Slow_VIRTU E3.json b/resources/profiles/RH3D/process/process_Slow_VIRTU E3.json new file mode 100644 index 0000000000..4f7f41e5eb --- /dev/null +++ b/resources/profiles/RH3D/process/process_Slow_VIRTU E3.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "process_Slow_VIRTU E3", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "1", + "bridge_speed": "40", + "default_acceleration": "3000", + "initial_layer_acceleration": "3000", + "top_surface_acceleration": "2000", + "travel_acceleration": "3000", + "inner_wall_acceleration": "3000", + "outer_wall_acceleration": "3000", + "bridge_acceleration": "2000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "infill_combination": "0", + "ironing_speed": "80", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "35", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "8", + "support_interface_speed": "60", + "top_surface_line_width": "90%", + "sparse_infill_line_width": "125%", + "internal_solid_infill_line_width": "125%", + "seam_position": "aligned", + "initial_layer_speed": "60", + "initial_layer_infill_speed": "75", + "outer_wall_speed": "140", + "inner_wall_speed": "140", + "small_perimeter_speed": "140", + "sparse_infill_speed": "140", + "internal_solid_infill_speed": "140", + "top_surface_speed": "140", + "gap_infill_speed": "140", + "travel_speed": "400", + "only_one_wall_top": "1", + "only_one_wall_first_layer": "1", + "notes": "quiet" +} diff --git a/resources/profiles/RH3D/process/process_Standard_E3NG v1.2S.json b/resources/profiles/RH3D/process/process_Standard_E3NG v1.2S.json new file mode 100644 index 0000000000..55828f200a --- /dev/null +++ b/resources/profiles/RH3D/process/process_Standard_E3NG v1.2S.json @@ -0,0 +1,33 @@ +{ + "type": "process", + "name": "process_Standard_E3NG v1.2S", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "default_acceleration": "10000", + "initial_layer_acceleration": "5000", + "top_surface_acceleration": "5000", + "travel_acceleration": "7500", + "inner_wall_acceleration": "10000", + "outer_wall_acceleration": "10000", + "bridge_acceleration": "3500", + "sparse_infill_acceleration": "12500", + "internal_solid_infill_acceleration": "12500", + "overhang_1_4_speed": "70", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "10", + "support_interface_speed": "100", + "support_speed": "180", + "initial_layer_speed": "90", + "initial_layer_infill_speed": "120", + "outer_wall_speed": "180", + "inner_wall_speed": "220", + "small_perimeter_speed": "180", + "sparse_infill_speed": "220", + "internal_solid_infill_speed": "220", + "top_surface_speed": "180", + "gap_infill_speed": "180", + "travel_speed": "500", + "notes": "normal" +} diff --git a/resources/profiles/RH3D/process/process_Standard_VIRTU E3.json b/resources/profiles/RH3D/process/process_Standard_VIRTU E3.json new file mode 100644 index 0000000000..d312218844 --- /dev/null +++ b/resources/profiles/RH3D/process/process_Standard_VIRTU E3.json @@ -0,0 +1,33 @@ +{ + "type": "process", + "name": "process_Standard_VIRTU E3", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "default_acceleration": "15000", + "initial_layer_acceleration": "7500", + "top_surface_acceleration": "7500", + "travel_acceleration": "10000", + "inner_wall_acceleration": "15000", + "outer_wall_acceleration": "15000", + "bridge_acceleration": "5000", + "sparse_infill_acceleration": "20000", + "internal_solid_infill_acceleration": "20000", + "overhang_1_4_speed": "70", + "overhang_2_4_speed": "40", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "10", + "support_interface_speed": "100", + "support_speed": "250", + "initial_layer_speed": "100", + "initial_layer_infill_speed": "150", + "outer_wall_speed": "260", + "inner_wall_speed": "350", + "small_perimeter_speed": "260", + "sparse_infill_speed": "350", + "internal_solid_infill_speed": "350", + "top_surface_speed": "260", + "gap_infill_speed": "260", + "travel_speed": "600", + "notes": "normal" +} diff --git a/resources/profiles/RH3D/process/process_common_E3NG v1.2S.json b/resources/profiles/RH3D/process/process_common_E3NG v1.2S.json deleted file mode 100644 index b43952fb89..0000000000 --- a/resources/profiles/RH3D/process/process_common_E3NG v1.2S.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "process", - "name": "process_common_E3NG v1.2S", - "inherits": "fdm_process_common", - "from": "system", - "instantiation": "false" -} diff --git a/resources/profiles/Raise3D.json b/resources/profiles/Raise3D.json index b224025f6d..5f98b967d4 100644 --- a/resources/profiles/Raise3D.json +++ b/resources/profiles/Raise3D.json @@ -1,7 +1,7 @@ { "name": "Raise3D", "url": "", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Raise3D configurations", "machine_model_list": [ diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json index 660abd55d4..64b55dffaa 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Dual).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "255x0", + "255x300", "0x300" ], "printable_height": "300", diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json index 433dddfff7..5275f02ccf 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Left).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "300x0", + "300x300", "0x300" ], "printable_height": "300", diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json index 2cbbe2fc49..59b86fd468 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 0.4 nozzle (Right).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "300x0", + "300x300", "0x300" ], "printable_height": "300", diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json index 566911b4c6..e576937531 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Dual).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "255x0", + "255x300", "0x300" ], "printable_height": "605", diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json index daaef6abdb..a7da5981f0 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Left).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "300x0", + "300x300", "0x300" ], "printable_height": "605", diff --git a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json index 1e842a07ae..2ee32e65d3 100644 --- a/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json +++ b/resources/profiles/Raise3D/machine/Raise3D Pro3 Plus 0.4 nozzle (Right).json @@ -21,8 +21,8 @@ ], "printable_area": [ "0x0", - "340x0", - "340x300", + "300x0", + "300x300", "0x300" ], "printable_height": "605", diff --git a/resources/profiles/Raise3D/machine/fdm_machine_common.json b/resources/profiles/Raise3D/machine/fdm_machine_common.json index b4aada4829..a2c7c89e17 100644 --- a/resources/profiles/Raise3D/machine/fdm_machine_common.json +++ b/resources/profiles/Raise3D/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json index 30d3f1cc61..8a6759c78a 100644 --- a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "mlb2242fJxu26dnV", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.1", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json index 35e21d67e7..a288122e2e 100644 --- a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "u9vhB9uigwzA2mli", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.1", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json index bdcccf16fb..a027a6d90c 100644 --- a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ADqZgpU4D612lSnf", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json index 7f88195b88..981c91f39a 100644 --- a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "GhwsrGu8tZexCrOy", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json index 91e24b6ebf..4fd5df2d25 100644 --- a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "p0KdJttce5WMx30N", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json index d2d299ca64..ff1b0f158c 100644 --- a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "tgWE9Ph7i1F7OweA", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.25", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Raise3D/process/fdm_process_common.json b/resources/profiles/Raise3D/process/fdm_process_common.json index 164ff9d58a..d3568a9bec 100644 --- a/resources/profiles/Raise3D/process/fdm_process_common.json +++ b/resources/profiles/Raise3D/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "10", diff --git a/resources/profiles/Ratrig.json b/resources/profiles/Ratrig.json index dbe4c3cc56..743333f9aa 100644 --- a/resources/profiles/Ratrig.json +++ b/resources/profiles/Ratrig.json @@ -1,6 +1,6 @@ { "name": "RatRig", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "RatRig configurations", "machine_model_list": [ @@ -276,26 +276,22 @@ } ], "filament_list": [ - { - "name": "Generic ABS BigNozzle @RatRig", - "sub_path": "filament/Generic ABS BigNozzle @RatRig.json" - }, { "name": "Generic ABS @RatRig", "sub_path": "filament/Generic ABS @RatRig.json" }, { - "name": "RatRig PunkFil ABS", - "sub_path": "filament/RatRig PunkFil ABS.json" - }, - { - "name": "Generic ASA BigNozzle @RatRig", - "sub_path": "filament/Generic ASA BigNozzle @RatRig.json" + "name": "Generic ABS BigNozzle @RatRig", + "sub_path": "filament/Generic ABS BigNozzle @RatRig.json" }, { "name": "Generic ASA @RatRig", "sub_path": "filament/Generic ASA @RatRig.json" }, + { + "name": "Generic ASA BigNozzle @RatRig", + "sub_path": "filament/Generic ASA BigNozzle @RatRig.json" + }, { "name": "Generic PA @RatRig", "sub_path": "filament/Generic PA @RatRig.json" @@ -308,38 +304,30 @@ "name": "Generic PC @RatRig", "sub_path": "filament/Generic PC @RatRig.json" }, - { - "name": "Generic PCTG BigNozzle @RatRig", - "sub_path": "filament/Generic PCTG BigNozzle @RatRig.json" - }, - { - "name": "Generic PETG BigNozzle @RatRig", - "sub_path": "filament/Generic PETG BigNozzle @RatRig.json" - }, { "name": "Generic PCTG @RatRig", "sub_path": "filament/Generic PCTG @RatRig.json" }, + { + "name": "Generic PCTG BigNozzle @RatRig", + "sub_path": "filament/Generic PCTG BigNozzle @RatRig.json" + }, { "name": "Generic PETG @RatRig", "sub_path": "filament/Generic PETG @RatRig.json" }, { - "name": "RatRig PunkFil PETG", - "sub_path": "filament/RatRig PunkFil PETG.json" - }, - { - "name": "RatRig PunkFil PETG CF", - "sub_path": "filament/RatRig PunkFil PETG CF.json" - }, - { - "name": "Generic PLA BigNozzle @RatRig", - "sub_path": "filament/Generic PLA BigNozzle @RatRig.json" + "name": "Generic PETG BigNozzle @RatRig", + "sub_path": "filament/Generic PETG BigNozzle @RatRig.json" }, { "name": "Generic PLA @RatRig", "sub_path": "filament/Generic PLA @RatRig.json" }, + { + "name": "Generic PLA BigNozzle @RatRig", + "sub_path": "filament/Generic PLA BigNozzle @RatRig.json" + }, { "name": "Generic PLA-CF @RatRig", "sub_path": "filament/Generic PLA-CF @RatRig.json" @@ -348,13 +336,25 @@ "name": "Generic PVA @RatRig", "sub_path": "filament/Generic PVA @RatRig.json" }, + { + "name": "Generic TPU @RatRig", + "sub_path": "filament/Generic TPU @RatRig.json" + }, { "name": "Generic TPU BigNozzle @RatRig", "sub_path": "filament/Generic TPU BigNozzle @RatRig.json" }, { - "name": "Generic TPU @RatRig", - "sub_path": "filament/Generic TPU @RatRig.json" + "name": "RatRig PunkFil ABS", + "sub_path": "filament/RatRig PunkFil ABS.json" + }, + { + "name": "RatRig PunkFil PETG", + "sub_path": "filament/RatRig PunkFil PETG.json" + }, + { + "name": "RatRig PunkFil PETG CF", + "sub_path": "filament/RatRig PunkFil PETG CF.json" } ], "machine_list": [ diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300.json index 3b43d60a23..decababc1c 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 300.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 300.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-300.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400.json index 71eb9724f9..c6cea0faf6 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 400.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 400.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-400.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500.json index 47cd8fba2f..e7b6ab132a 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 500.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 500.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-500.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300.json index 4731e90901..bbe022e658 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 300.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-300.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400.json index 86963d7e73..8269490619 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 400.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-400.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500.json index 7b61ebe531..87aa3dd70d 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 HYBRID 500.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-500.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 COPY MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 COPY MODE.json index f2831e5919..9868dae17f 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 COPY MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 COPY MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-300-clone-mode.stl", "bed_texture": "ratrig_logo_copy_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 MIRROR MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 MIRROR MODE.json index a14770104f..26a3f7fb1f 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 MIRROR MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300 MIRROR MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-300-clone-mode.stl", "bed_texture": "ratrig_logo_mirror_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300.json index 1a477fb750..ce26c28226 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 300.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-300.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 COPY MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 COPY MODE.json index 327c56d036..ad2080aa77 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 COPY MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 COPY MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-400-clone-mode.stl", "bed_texture": "ratrig_logo_copy_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 MIRROR MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 MIRROR MODE.json index 2e72109e25..09e28665d4 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 MIRROR MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400 MIRROR MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-400-clone-mode.stl", "bed_texture": "ratrig_logo_mirror_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400.json index e6c7405f9a..f37a7eabca 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 400.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-400.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 COPY MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 COPY MODE.json index bc27a53e94..2169db2cbd 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 COPY MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 COPY MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-500-clone-mode.stl", "bed_texture": "ratrig_logo_copy_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 MIRROR MODE.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 MIRROR MODE.json index 3518748830..c8996519f6 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 MIRROR MODE.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500 MIRROR MODE.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-500-clone-mode.stl", "bed_texture": "ratrig_logo_mirror_mode.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500.json b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500.json index 59ff011a82..3950a331e8 100644 --- a/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500.json +++ b/resources/profiles/Ratrig/machine/RatRig V-Core 4 IDEX 500.json @@ -8,5 +8,5 @@ "bed_model": "ratrig-vcore-bed-500.stl", "bed_texture": "ratrig_logo.svg", "hotend_model": "", - "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig" + "default_materials": "Generic ABS @RatRig;Generic PLA @RatRig;Generic PLA-CF @RatRig;Generic PCTG @RatRig;Generic PETG @RatRig;Generic TPU @RatRig;Generic ASA @RatRig;Generic PC @RatRig;Generic PVA @RatRig;Generic PA @RatRig;Generic PA-CF @RatRig;Generic PLA @System" } diff --git a/resources/profiles/Ratrig/machine/fdm_klipper_common.json b/resources/profiles/Ratrig/machine/fdm_klipper_common.json index 28ad9ce02c..ecd93a2346 100644 --- a/resources/profiles/Ratrig/machine/fdm_klipper_common.json +++ b/resources/profiles/Ratrig/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "manual_filament_change": "1", "change_filament_gcode": "M600", diff --git a/resources/profiles/Ratrig/machine/fdm_machine_common.json b/resources/profiles/Ratrig/machine/fdm_machine_common.json index ad1efd697f..36f0b6ec55 100644 --- a/resources/profiles/Ratrig/machine/fdm_machine_common.json +++ b/resources/profiles/Ratrig/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Ratrig/process/fdm_process_common.json b/resources/profiles/Ratrig/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Ratrig/process/fdm_process_common.json +++ b/resources/profiles/Ratrig/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json b/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json index 65ccb82fa2..486cc31dd5 100644 --- a/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json +++ b/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Ratrig/process/fdm_process_ratrig_common_idex.json b/resources/profiles/Ratrig/process/fdm_process_ratrig_common_idex.json index d17f7836a1..cd96b51721 100644 --- a/resources/profiles/Ratrig/process/fdm_process_ratrig_common_idex.json +++ b/resources/profiles/Ratrig/process/fdm_process_ratrig_common_idex.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Ratrig/process/fdm_process_ratrig_idex.json b/resources/profiles/Ratrig/process/fdm_process_ratrig_idex.json index 120b8835a5..72aa3cf9bc 100644 --- a/resources/profiles/Ratrig/process/fdm_process_ratrig_idex.json +++ b/resources/profiles/Ratrig/process/fdm_process_ratrig_idex.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/RolohaunDesign.json b/resources/profiles/RolohaunDesign.json index 398937c127..e0b7a33301 100644 --- a/resources/profiles/RolohaunDesign.json +++ b/resources/profiles/RolohaunDesign.json @@ -1,6 +1,6 @@ { "name": "RolohaunDesign", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "RolohaunDesign Printer Profiles", "machine_model_list": [ diff --git a/resources/profiles/RolohaunDesign/machine/fdm_common_Rook MK1 LDO.json b/resources/profiles/RolohaunDesign/machine/fdm_common_Rook MK1 LDO.json index 8438cea7a1..a3c418d16b 100644 --- a/resources/profiles/RolohaunDesign/machine/fdm_common_Rook MK1 LDO.json +++ b/resources/profiles/RolohaunDesign/machine/fdm_common_Rook MK1 LDO.json @@ -117,7 +117,6 @@ "40" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/RolohaunDesign/machine/fdm_machine_common.json b/resources/profiles/RolohaunDesign/machine/fdm_machine_common.json index 11833be972..a07212bae7 100644 --- a/resources/profiles/RolohaunDesign/machine/fdm_machine_common.json +++ b/resources/profiles/RolohaunDesign/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/RolohaunDesign/process/fdm_process_common.json b/resources/profiles/RolohaunDesign/process/fdm_process_common.json index feb86df0e1..f37dc52e73 100644 --- a/resources/profiles/RolohaunDesign/process/fdm_process_common.json +++ b/resources/profiles/RolohaunDesign/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -84,7 +83,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/SecKit.json b/resources/profiles/SecKit.json index 42ac381eb6..91804bff0a 100644 --- a/resources/profiles/SecKit.json +++ b/resources/profiles/SecKit.json @@ -1,6 +1,6 @@ { "name": "SecKit", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "SecKit configurations", "machine_model_list": [ diff --git a/resources/profiles/SecKit/machine/fdm_klipper_common.json b/resources/profiles/SecKit/machine/fdm_klipper_common.json index 4bb08f7367..ed2826f9b4 100644 --- a/resources/profiles/SecKit/machine/fdm_klipper_common.json +++ b/resources/profiles/SecKit/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "120" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "machine_pause_gcode": "M601", diff --git a/resources/profiles/SecKit/machine/fdm_machine_common.json b/resources/profiles/SecKit/machine/fdm_machine_common.json index 010f5b7f8d..555c649235 100644 --- a/resources/profiles/SecKit/machine/fdm_machine_common.json +++ b/resources/profiles/SecKit/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "8000" ], diff --git a/resources/profiles/SecKit/process/fdm_process_common.json b/resources/profiles/SecKit/process/fdm_process_common.json index dc8cfe5838..11a4dc616e 100644 --- a/resources/profiles/SecKit/process/fdm_process_common.json +++ b/resources/profiles/SecKit/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/SecKit/process/fdm_process_seckit_common.json b/resources/profiles/SecKit/process/fdm_process_seckit_common.json index d5aca251f3..f29305479e 100644 --- a/resources/profiles/SecKit/process/fdm_process_seckit_common.json +++ b/resources/profiles/SecKit/process/fdm_process_seckit_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/SeeMeCNC.json b/resources/profiles/SeeMeCNC.json index 4bc30dee93..21db5e4e3e 100644 --- a/resources/profiles/SeeMeCNC.json +++ b/resources/profiles/SeeMeCNC.json @@ -1,6 +1,6 @@ { "name": "SeeMeCNC", - "version": "2.4.0.03", + "version": "2.4.0.05", "force_update": "1", "description": "SeeMeCNC configurations - Full profile set for Artemis, BOSSdelta, and RostockMAX printers", "machine_model_list": [ @@ -50,10 +50,6 @@ "name": "SeeMeCNC process base 1.0mm", "sub_path": "process/SeeMeCNC_process_base_1.0mm.json" }, - { - "name": "SeeMeCNC process base", - "sub_path": "process/SeeMeCNC_process_base.json" - }, { "name": "0.16mm Fine @SeeMeCNC Artemis 0.4", "sub_path": "process/0.16mm Fine @SeeMeCNC Artemis 0.4.json" @@ -86,34 +82,6 @@ "name": "0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4", "sub_path": "process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json" }, - { - "name": "0.20mm Fine @SeeMeCNC Artemis 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC Artemis 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json" - }, - { - "name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json" - }, { "name": "0.20mm Standard @SeeMeCNC Artemis 0.4", "sub_path": "process/0.20mm Standard @SeeMeCNC Artemis 0.4.json" @@ -170,34 +138,6 @@ "name": "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", "sub_path": "process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json" }, - { - "name": "0.25mm Standard @SeeMeCNC Artemis 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC Artemis 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json" - }, - { - "name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json" - }, { "name": "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", "sub_path": "process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json" @@ -227,32 +167,60 @@ "sub_path": "process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json" }, { - "name": "0.28mm Fine @SeeMeCNC Artemis 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC Artemis 0.7.json" + "name": "0.20mm Fine @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC Artemis 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json" + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json" + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json" + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json" + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json" + "name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json" }, { - "name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json" + "name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC Artemis 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json" }, { "name": "0.30mm Draft @SeeMeCNC Artemis 0.5", @@ -282,34 +250,6 @@ "name": "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", "sub_path": "process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json" }, - { - "name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json" - }, - { - "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", - "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json" - }, { "name": "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", "sub_path": "process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json" @@ -338,6 +278,62 @@ "name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", "sub_path": "process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json" }, + { + "name": "0.28mm Fine @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json" + }, { "name": "0.35mm Standard @SeeMeCNC Artemis 0.7", "sub_path": "process/0.35mm Standard @SeeMeCNC Artemis 0.7.json" @@ -394,34 +390,6 @@ "name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7", "sub_path": "process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json" }, - { - "name": "0.40mm Fine @SeeMeCNC Artemis 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC Artemis 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json" - }, - { - "name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json" - }, { "name": "0.42mm Draft @SeeMeCNC Artemis 0.7", "sub_path": "process/0.42mm Draft @SeeMeCNC Artemis 0.7.json" @@ -478,6 +446,34 @@ "name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", "sub_path": "process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json" }, + { + "name": "0.40mm Fine @SeeMeCNC Artemis 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC Artemis 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json" + }, { "name": "0.50mm Standard @SeeMeCNC Artemis 1.0", "sub_path": "process/0.50mm Standard @SeeMeCNC Artemis 1.0.json" @@ -561,6 +557,10 @@ { "name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0", "sub_path": "process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json" + }, + { + "name": "SeeMeCNC process base", + "sub_path": "process/SeeMeCNC_process_base.json" } ], "filament_list": [ diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_4mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_4mm.json deleted file mode 100644 index d5df31d0aa..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_4mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC ABS 0.4 nozzle", - "inherits": "SeeMeCNC ABS", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC ABS 0.4 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", - "SeeMeCNC BOSSdelta 300 0.4 nozzle", - "SeeMeCNC RostockMAX v3.2 0.4 nozzle", - "SeeMeCNC RostockMAX v4 0.4 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.16mm Fine @SeeMeCNC Artemis 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", - "0.20mm Standard @SeeMeCNC Artemis 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", - "0.24mm Draft @SeeMeCNC Artemis 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", - "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "FOSiDadyHyp8WKTb", - "filament_id": "SMCFB00104" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_5mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_5mm.json deleted file mode 100644 index 6cdf1850d4..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_5mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC ABS 0.5 nozzle", - "inherits": "SeeMeCNC ABS", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC ABS 0.5 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", - "SeeMeCNC BOSSdelta 300 0.5 nozzle", - "SeeMeCNC RostockMAX v3.2 0.5 nozzle", - "SeeMeCNC RostockMAX v4 0.5 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.20mm Fine @SeeMeCNC Artemis 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "0.25mm Standard @SeeMeCNC Artemis 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "0.30mm Draft @SeeMeCNC Artemis 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", - "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "XzvEoqhK0cx7JieM", - "filament_id": "SMCFB00105" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_7mm.json deleted file mode 100644 index 8bdd0003fc..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_0_7mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC ABS 0.7 nozzle", - "inherits": "SeeMeCNC ABS", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC ABS 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.28mm Fine @SeeMeCNC Artemis 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "0.35mm Standard @SeeMeCNC Artemis 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", - "0.42mm Draft @SeeMeCNC Artemis 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", - "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "RbmLGSWPaVvl0NNr", - "filament_id": "SMCFB00107" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_1_0mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_1_0mm.json deleted file mode 100644 index 0d060b85f3..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS_1_0mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC ABS 1.0 nozzle", - "inherits": "SeeMeCNC ABS", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC ABS 1.0 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", - "SeeMeCNC BOSSdelta 300 1.0 nozzle", - "SeeMeCNC RostockMAX v3.2 1.0 nozzle", - "SeeMeCNC RostockMAX v4 1.0 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.40mm Fine @SeeMeCNC Artemis 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "0.50mm Standard @SeeMeCNC Artemis 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", - "0.60mm Draft @SeeMeCNC Artemis 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", - "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.5" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "DTcAxACOOtdvD43R", - "filament_id": "SMCFB00110" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_4mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_4mm.json deleted file mode 100644 index fcde530598..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_4mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PA-CF 0.4 nozzle", - "inherits": "SeeMeCNC PA-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PA-CF 0.4 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", - "SeeMeCNC BOSSdelta 300 0.4 nozzle", - "SeeMeCNC RostockMAX v3.2 0.4 nozzle", - "SeeMeCNC RostockMAX v4 0.4 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.16mm Fine @SeeMeCNC Artemis 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", - "0.20mm Standard @SeeMeCNC Artemis 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", - "0.24mm Draft @SeeMeCNC Artemis 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", - "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "jf0puhp8kCuwL3jt", - "filament_id": "SMCFN00104" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_5mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_5mm.json deleted file mode 100644 index 0439f58952..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_5mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PA-CF 0.5 nozzle", - "inherits": "SeeMeCNC PA-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PA-CF 0.5 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", - "SeeMeCNC BOSSdelta 300 0.5 nozzle", - "SeeMeCNC RostockMAX v3.2 0.5 nozzle", - "SeeMeCNC RostockMAX v4 0.5 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.20mm Fine @SeeMeCNC Artemis 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "0.25mm Standard @SeeMeCNC Artemis 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "0.30mm Draft @SeeMeCNC Artemis 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", - "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "c3gXbtFjJn4aK7pL", - "filament_id": "SMCFN00105" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_7mm.json deleted file mode 100644 index d14e219656..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_0_7mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PA-CF 0.7 nozzle", - "inherits": "SeeMeCNC PA-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PA-CF 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.28mm Fine @SeeMeCNC Artemis 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "0.35mm Standard @SeeMeCNC Artemis 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", - "0.42mm Draft @SeeMeCNC Artemis 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", - "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "7sDIfUAs3Ftv7uUD", - "filament_id": "SMCFN00107" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_1_0mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_1_0mm.json deleted file mode 100644 index aa760ceef2..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA_CF_1_0mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PA-CF 1.0 nozzle", - "inherits": "SeeMeCNC PA-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PA-CF 1.0 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", - "SeeMeCNC BOSSdelta 300 1.0 nozzle", - "SeeMeCNC RostockMAX v3.2 1.0 nozzle", - "SeeMeCNC RostockMAX v4 1.0 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.40mm Fine @SeeMeCNC Artemis 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "0.50mm Standard @SeeMeCNC Artemis 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", - "0.60mm Draft @SeeMeCNC Artemis 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", - "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.5" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "nr7CBE99WoHXy4Dw", - "filament_id": "SMCFN00110" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_4mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_4mm.json deleted file mode 100644 index bb37dfdbd4..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_4mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG 0.4 nozzle", - "inherits": "SeeMeCNC PETG", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG 0.4 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", - "SeeMeCNC BOSSdelta 300 0.4 nozzle", - "SeeMeCNC RostockMAX v3.2 0.4 nozzle", - "SeeMeCNC RostockMAX v4 0.4 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.16mm Fine @SeeMeCNC Artemis 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", - "0.20mm Standard @SeeMeCNC Artemis 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", - "0.24mm Draft @SeeMeCNC Artemis 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", - "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "kqCiusj7FAzbmnro", - "filament_id": "SMCFG00104" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_5mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_5mm.json deleted file mode 100644 index a0dab684b8..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_5mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG 0.5 nozzle", - "inherits": "SeeMeCNC PETG", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG 0.5 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", - "SeeMeCNC BOSSdelta 300 0.5 nozzle", - "SeeMeCNC RostockMAX v3.2 0.5 nozzle", - "SeeMeCNC RostockMAX v4 0.5 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.20mm Fine @SeeMeCNC Artemis 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "0.25mm Standard @SeeMeCNC Artemis 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "0.30mm Draft @SeeMeCNC Artemis 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", - "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "85J1rc8KxOc7v2cF", - "filament_id": "SMCFG00105" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_7mm.json deleted file mode 100644 index 3285e22d73..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_0_7mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG 0.7 nozzle", - "inherits": "SeeMeCNC PETG", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.28mm Fine @SeeMeCNC Artemis 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "0.35mm Standard @SeeMeCNC Artemis 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", - "0.42mm Draft @SeeMeCNC Artemis 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", - "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "QI1p2Hi76cWlfRwC", - "filament_id": "SMCFG00107" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_1_0mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_1_0mm.json deleted file mode 100644 index ac5455210d..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_1_0mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG 1.0 nozzle", - "inherits": "SeeMeCNC PETG", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG 1.0 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", - "SeeMeCNC BOSSdelta 300 1.0 nozzle", - "SeeMeCNC RostockMAX v3.2 1.0 nozzle", - "SeeMeCNC RostockMAX v4 1.0 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.40mm Fine @SeeMeCNC Artemis 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "0.50mm Standard @SeeMeCNC Artemis 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", - "0.60mm Draft @SeeMeCNC Artemis 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", - "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "7" - ], - "filament_z_hop": [ - "0.5" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "Njx1ZHccqqJzQ7AQ", - "filament_id": "SMCFG00110" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_4mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_4mm.json deleted file mode 100644 index 01ef0f3562..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_4mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG-CF 0.4 nozzle", - "inherits": "SeeMeCNC PETG-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG-CF 0.4 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", - "SeeMeCNC BOSSdelta 300 0.4 nozzle", - "SeeMeCNC RostockMAX v3.2 0.4 nozzle", - "SeeMeCNC RostockMAX v4 0.4 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.16mm Fine @SeeMeCNC Artemis 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", - "0.20mm Standard @SeeMeCNC Artemis 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", - "0.24mm Draft @SeeMeCNC Artemis 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", - "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "ulVlpkQVbvkSpmli", - "filament_id": "SMCFG00204" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_5mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_5mm.json deleted file mode 100644 index 0b3d526c6b..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_5mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG-CF 0.5 nozzle", - "inherits": "SeeMeCNC PETG-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG-CF 0.5 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", - "SeeMeCNC BOSSdelta 300 0.5 nozzle", - "SeeMeCNC RostockMAX v3.2 0.5 nozzle", - "SeeMeCNC RostockMAX v4 0.5 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.20mm Fine @SeeMeCNC Artemis 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "0.25mm Standard @SeeMeCNC Artemis 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "0.30mm Draft @SeeMeCNC Artemis 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", - "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "jK9Gr2VDAnOKrkPW", - "filament_id": "SMCFG00205" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_7mm.json deleted file mode 100644 index e2172b6707..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_0_7mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG-CF 0.7 nozzle", - "inherits": "SeeMeCNC PETG-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG-CF 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.28mm Fine @SeeMeCNC Artemis 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "0.35mm Standard @SeeMeCNC Artemis 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", - "0.42mm Draft @SeeMeCNC Artemis 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", - "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "Gn57oqh6nMBO651i", - "filament_id": "SMCFG00207" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_1_0mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_1_0mm.json deleted file mode 100644 index 1fabd765d4..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG_CF_1_0mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PETG-CF 1.0 nozzle", - "inherits": "SeeMeCNC PETG-CF", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PETG-CF 1.0 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", - "SeeMeCNC BOSSdelta 300 1.0 nozzle", - "SeeMeCNC RostockMAX v3.2 1.0 nozzle", - "SeeMeCNC RostockMAX v4 1.0 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.40mm Fine @SeeMeCNC Artemis 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "0.50mm Standard @SeeMeCNC Artemis 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", - "0.60mm Draft @SeeMeCNC Artemis 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", - "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.5" - ], - "filament_retraction_speed": [ - "40" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "nzRT23S6xk1bxbDJ", - "filament_id": "SMCFG00210" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_4mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_4mm.json deleted file mode 100644 index 9d216c2e7c..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_4mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PLA 0.4 nozzle", - "inherits": "SeeMeCNC PLA", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PLA 0.4 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", - "SeeMeCNC BOSSdelta 300 0.4 nozzle", - "SeeMeCNC RostockMAX v3.2 0.4 nozzle", - "SeeMeCNC RostockMAX v4 0.4 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.16mm Fine @SeeMeCNC Artemis 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", - "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", - "0.20mm Standard @SeeMeCNC Artemis 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", - "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", - "0.24mm Draft @SeeMeCNC Artemis 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", - "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", - "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", - "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.2" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "k3oaCcJHHyAuRi6J", - "filament_id": "SMCFL00104" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_5mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_5mm.json deleted file mode 100644 index 1f8a314c20..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_5mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PLA 0.5 nozzle", - "inherits": "SeeMeCNC PLA", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PLA 0.5 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", - "SeeMeCNC BOSSdelta 300 0.5 nozzle", - "SeeMeCNC RostockMAX v3.2 0.5 nozzle", - "SeeMeCNC RostockMAX v4 0.5 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.20mm Fine @SeeMeCNC Artemis 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", - "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", - "0.25mm Standard @SeeMeCNC Artemis 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", - "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", - "0.30mm Draft @SeeMeCNC Artemis 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", - "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", - "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", - "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "5" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "CcINW4WttiNsKvjf", - "filament_id": "SMCFL00105" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_7mm.json deleted file mode 100644 index ea51621992..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_0_7mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PLA 0.7 nozzle", - "inherits": "SeeMeCNC PLA", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PLA 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.28mm Fine @SeeMeCNC Artemis 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", - "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", - "0.35mm Standard @SeeMeCNC Artemis 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", - "0.42mm Draft @SeeMeCNC Artemis 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", - "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", - "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.4" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "pOuc1eXMLLOBqHuz", - "filament_id": "SMCFL00107" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_1_0mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_1_0mm.json deleted file mode 100644 index b720b87de2..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA_1_0mm.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC PLA 1.0 nozzle", - "inherits": "SeeMeCNC PLA", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC PLA 1.0 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", - "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", - "SeeMeCNC BOSSdelta 300 1.0 nozzle", - "SeeMeCNC RostockMAX v3.2 1.0 nozzle", - "SeeMeCNC RostockMAX v4 1.0 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.40mm Fine @SeeMeCNC Artemis 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", - "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", - "0.50mm Standard @SeeMeCNC Artemis 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", - "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", - "0.60mm Draft @SeeMeCNC Artemis 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", - "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", - "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", - "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "6" - ], - "filament_z_hop": [ - "0.5" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "35" - ], - "setting_id": "jSvqBk6R6HAaTRxk", - "filament_id": "SMCFL00110" -} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU_0_7mm.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU_0_7mm.json deleted file mode 100644 index dea7bb7820..0000000000 --- a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU_0_7mm.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "type": "filament", - "name": "SeeMeCNC TPU 0.7 nozzle", - "inherits": "SeeMeCNC TPU", - "from": "System", - "instantiation": "true", - "filament_settings_id": [ - "SeeMeCNC TPU 0.7 nozzle" - ], - "compatible_printers": [ - "SeeMeCNC Artemis 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", - "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", - "SeeMeCNC BOSSdelta 300 0.7 nozzle", - "SeeMeCNC RostockMAX v3.2 0.7 nozzle", - "SeeMeCNC RostockMAX v4 0.7 nozzle" - ], - "compatible_printers_condition": "", - "compatible_prints": [ - "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", - "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", - "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", - "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", - "0.35mm TPU Vase @SeeMeCNC Artemis 0.7", - "0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7", - "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7", - "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7", - "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7", - "0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7", - "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7" - ], - "compatible_prints_condition": "", - "filament_retraction_length": [ - "7" - ], - "filament_z_hop": [ - "0.3" - ], - "filament_retraction_speed": [ - "30" - ], - "filament_deretraction_speed": [ - "30" - ], - "setting_id": "4LUkyKiKFb96OeC0", - "filament_id": "SMCFU00107" -} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json index 4230dbffa0..23ccc8cd08 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC Artemis 300", "thumbnail": "SeeMeCNC Artemis 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json index 4ed8e34f2a..f16bdf8620 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC Artemis 300", "thumbnail": "SeeMeCNC Artemis 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json index 7e457fd6d4..7bf1733799 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC Artemis 300", "thumbnail": "SeeMeCNC Artemis 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json index e6beab9437..68316ff085 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC Artemis 300", "thumbnail": "SeeMeCNC Artemis 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json index b3c0d66457..4709989e11 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0505", "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json index 3171ed1d16..a09599a118 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0505", "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json index 60aea06e56..a045d6acb6 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0505", "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json index 52131a4df3..4fbdc6cdf0 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0505", "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json index d9bbabfd46..1d40d2b7d8 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0510", "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json index 48054cbc25..f007e2c307 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0510", "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json index 60653bd138..ae455b50bc 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0510", "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json index 29aab8351f..28a865c33e 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0510", "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json index ca0c54be9b..6db1c32408 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0521", "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json index e66ebbb170..0bba926946 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0521", "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json index 33db8f630d..623edc7966 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0521", "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json index 2b9d48d170..9f1b324a3b 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 500 0521", "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json index 765cbd623f..51ca348ee2 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 300", "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json index 20c6446d2e..78638f67ad 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 300", "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json index fc91f14b28..d3d58505ed 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 300", "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json index 01ab5d5a2a..c2ffdb20a0 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC BOSSdelta 300", "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json index 2b0a6a71ae..c53c7f7085 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v3.2", "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json index b2ba2a38aa..3e8b24699f 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v3.2", "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json index fae10fc27c..d1fd58da56 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v3.2", "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json index f65c62f6fe..648c797d61 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v3.2", "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json index 38c29c2462..39252fa29e 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v4", "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json index f54bc1bcb6..f1dbfc5e2f 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v4", "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json index 51cef23180..c7bce4faca 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v4", "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json index 0342bbae65..f1ec174cf2 100644 --- a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json @@ -312,7 +312,6 @@ "60" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "1", "support_air_filtration": "1", "support_chamber_temp_control": "1", @@ -349,4 +348,4 @@ "model": "SeeMeCNC RostockMAX v4", "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", "description": "SeeMeCNC configurations" -} \ No newline at end of file +} diff --git a/resources/profiles/Snapmaker.json b/resources/profiles/Snapmaker.json index 0407dca2ec..06acef0b0e 100644 --- a/resources/profiles/Snapmaker.json +++ b/resources/profiles/Snapmaker.json @@ -1,6 +1,6 @@ { "name": "Snapmaker", - "version": "02.04.00.12", + "version": "02.04.00.15", "force_update": "0", "description": "Snapmaker configurations", "machine_model_list": [ @@ -194,18 +194,42 @@ "name": "fdm_process_idex", "sub_path": "process/fdm_process_idex.json" }, + { + "name": "fdm_process_U1_0.06_nozzle_0.2", + "sub_path": "process/fdm_process_U1_0.06_nozzle_0.2.json" + }, { "name": "fdm_process_U1_0.08", "sub_path": "process/fdm_process_U1_0.08.json" }, + { + "name": "fdm_process_U1_0.08_nozzle_0.2", + "sub_path": "process/fdm_process_U1_0.08_nozzle_0.2.json" + }, + { + "name": "fdm_process_U1_0.10_nozzle_0.2", + "sub_path": "process/fdm_process_U1_0.10_nozzle_0.2.json" + }, { "name": "fdm_process_U1_0.12", "sub_path": "process/fdm_process_U1_0.12.json" }, + { + "name": "fdm_process_U1_0.12_nozzle_0.2", + "sub_path": "process/fdm_process_U1_0.12_nozzle_0.2.json" + }, + { + "name": "fdm_process_U1_0.14_nozzle_0.2", + "sub_path": "process/fdm_process_U1_0.14_nozzle_0.2.json" + }, { "name": "fdm_process_U1_0.16", "sub_path": "process/fdm_process_U1_0.16.json" }, + { + "name": "fdm_process_U1_0.18_nozzle_0.6", + "sub_path": "process/fdm_process_U1_0.18_nozzle_0.6.json" + }, { "name": "fdm_process_U1_0.20", "sub_path": "process/fdm_process_U1_0.20.json" @@ -214,14 +238,58 @@ "name": "fdm_process_U1_0.24", "sub_path": "process/fdm_process_U1_0.24.json" }, + { + "name": "fdm_process_U1_0.24_nozzle_0.6", + "sub_path": "process/fdm_process_U1_0.24_nozzle_0.6.json" + }, + { + "name": "fdm_process_U1_0.24_nozzle_0.8", + "sub_path": "process/fdm_process_U1_0.24_nozzle_0.8.json" + }, { "name": "fdm_process_U1_0.28", "sub_path": "process/fdm_process_U1_0.28.json" }, + { + "name": "fdm_process_U1_0.2_common", + "sub_path": "process/fdm_process_U1_0.2_common.json" + }, + { + "name": "fdm_process_U1_0.30_nozzle_0.6", + "sub_path": "process/fdm_process_U1_0.30_nozzle_0.6.json" + }, + { + "name": "fdm_process_U1_0.32_nozzle_0.8", + "sub_path": "process/fdm_process_U1_0.32_nozzle_0.8.json" + }, + { + "name": "fdm_process_U1_0.36_nozzle_0.6", + "sub_path": "process/fdm_process_U1_0.36_nozzle_0.6.json" + }, + { + "name": "fdm_process_U1_0.40_nozzle_0.8", + "sub_path": "process/fdm_process_U1_0.40_nozzle_0.8.json" + }, + { + "name": "fdm_process_U1_0.42_nozzle_0.6", + "sub_path": "process/fdm_process_U1_0.42_nozzle_0.6.json" + }, + { + "name": "fdm_process_U1_0.48_nozzle_0.8", + "sub_path": "process/fdm_process_U1_0.48_nozzle_0.8.json" + }, + { + "name": "fdm_process_U1_0.56_nozzle_0.8", + "sub_path": "process/fdm_process_U1_0.56_nozzle_0.8.json" + }, { "name": "fdm_process_U1_0.6_common", "sub_path": "process/fdm_process_U1_0.6_common.json" }, + { + "name": "fdm_process_U1_0.8_common", + "sub_path": "process/fdm_process_U1_0.8_common.json" + }, { "name": "0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle)", "sub_path": "process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json" @@ -402,6 +470,14 @@ "name": "0.48 Draft @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json" }, + { + "name": "0.06 High Quality @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json" + }, + { + "name": "0.06 Standard @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json" + }, { "name": "0.08 Extra Fine @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.08 Extra Fine @Snapmaker U1 (0.4 nozzle).json" @@ -410,6 +486,22 @@ "name": "0.08 High Quality @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.08 High Quality @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.08 High Quality @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json" + }, + { + "name": "0.08 Standard @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json" + }, + { + "name": "0.10 High Quality @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json" + }, + { + "name": "0.10 Standard @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json" + }, { "name": "0.12 Fine @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.12 Fine @Snapmaker U1 (0.4 nozzle).json" @@ -418,6 +510,14 @@ "name": "0.12 High Quality @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.12 High Quality @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.12 Standard @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json" + }, + { + "name": "0.14 Standard @Snapmaker U1 (0.2 nozzle)", + "sub_path": "process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json" + }, { "name": "0.16 High Quality @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.16 High Quality @Snapmaker U1 (0.4 nozzle).json" @@ -426,6 +526,10 @@ "name": "0.16 Optimal @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.16 Optimal @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.18 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json" + }, { "name": "0.20 Quality @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.20 Quality @Snapmaker U1 (0.4 nozzle).json" @@ -454,10 +558,50 @@ "name": "0.24 Draft @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.24 Draft @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.24 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.24 Standard @Snapmaker U1 (0.8 nozzle)", + "sub_path": "process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json" + }, { "name": "0.28 Extra Draft @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.30 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.30 Strength @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.32 Standard @Snapmaker U1 (0.8 nozzle)", + "sub_path": "process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json" + }, + { + "name": "0.36 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.40 Standard @Snapmaker U1 (0.8 nozzle)", + "sub_path": "process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json" + }, + { + "name": "0.42 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.48 Standard @Snapmaker U1 (0.8 nozzle)", + "sub_path": "process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json" + }, + { + "name": "0.56 Standard @Snapmaker U1 (0.8 nozzle)", + "sub_path": "process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json" + }, { "name": "0.20 Standard @Snapmaker U1 (0.6 nozzle)", "sub_path": "process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json" @@ -473,150 +617,6 @@ { "name": "0.06 Standard @Snapmaker Artisan (0.2 nozzle)", "sub_path": "process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json" - }, - { - "name": "fdm_process_U1_0.2_common", - "sub_path": "process/fdm_process_U1_0.2_common.json" - }, - { - "name": "fdm_process_U1_0.8_common", - "sub_path": "process/fdm_process_U1_0.8_common.json" - }, - { - "name": "fdm_process_U1_0.06_nozzle_0.2", - "sub_path": "process/fdm_process_U1_0.06_nozzle_0.2.json" - }, - { - "name": "fdm_process_U1_0.08_nozzle_0.2", - "sub_path": "process/fdm_process_U1_0.08_nozzle_0.2.json" - }, - { - "name": "fdm_process_U1_0.10_nozzle_0.2", - "sub_path": "process/fdm_process_U1_0.10_nozzle_0.2.json" - }, - { - "name": "fdm_process_U1_0.12_nozzle_0.2", - "sub_path": "process/fdm_process_U1_0.12_nozzle_0.2.json" - }, - { - "name": "fdm_process_U1_0.14_nozzle_0.2", - "sub_path": "process/fdm_process_U1_0.14_nozzle_0.2.json" - }, - { - "name": "fdm_process_U1_0.18_nozzle_0.6", - "sub_path": "process/fdm_process_U1_0.18_nozzle_0.6.json" - }, - { - "name": "fdm_process_U1_0.24_nozzle_0.6", - "sub_path": "process/fdm_process_U1_0.24_nozzle_0.6.json" - }, - { - "name": "fdm_process_U1_0.24_nozzle_0.8", - "sub_path": "process/fdm_process_U1_0.24_nozzle_0.8.json" - }, - { - "name": "fdm_process_U1_0.30_nozzle_0.6", - "sub_path": "process/fdm_process_U1_0.30_nozzle_0.6.json" - }, - { - "name": "fdm_process_U1_0.32_nozzle_0.8", - "sub_path": "process/fdm_process_U1_0.32_nozzle_0.8.json" - }, - { - "name": "fdm_process_U1_0.36_nozzle_0.6", - "sub_path": "process/fdm_process_U1_0.36_nozzle_0.6.json" - }, - { - "name": "fdm_process_U1_0.40_nozzle_0.8", - "sub_path": "process/fdm_process_U1_0.40_nozzle_0.8.json" - }, - { - "name": "fdm_process_U1_0.42_nozzle_0.6", - "sub_path": "process/fdm_process_U1_0.42_nozzle_0.6.json" - }, - { - "name": "fdm_process_U1_0.48_nozzle_0.8", - "sub_path": "process/fdm_process_U1_0.48_nozzle_0.8.json" - }, - { - "name": "fdm_process_U1_0.56_nozzle_0.8", - "sub_path": "process/fdm_process_U1_0.56_nozzle_0.8.json" - }, - { - "name": "0.06 High Quality @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.06 Standard @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.08 High Quality @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.08 Standard @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.10 High Quality @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.10 Standard @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.12 Standard @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.14 Standard @Snapmaker U1 (0.2 nozzle)", - "sub_path": "process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "0.18 Standard @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.24 Standard @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.30 Standard @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.30 Strength @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.36 Standard @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.42 Standard @Snapmaker U1 (0.6 nozzle)", - "sub_path": "process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json" - }, - { - "name": "0.24 Standard @Snapmaker U1 (0.8 nozzle)", - "sub_path": "process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json" - }, - { - "name": "0.32 Standard @Snapmaker U1 (0.8 nozzle)", - "sub_path": "process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json" - }, - { - "name": "0.40 Standard @Snapmaker U1 (0.8 nozzle)", - "sub_path": "process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json" - }, - { - "name": "0.48 Standard @Snapmaker U1 (0.8 nozzle)", - "sub_path": "process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json" - }, - { - "name": "0.56 Standard @Snapmaker U1 (0.8 nozzle)", - "sub_path": "process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json" } ], "filament_list": [ @@ -624,14 +624,26 @@ "name": "PolyTerra PLA @0.2 nozzle", "sub_path": "filament/Polymaker/PolyTerra PLA @0.2 nozzle.json" }, + { + "name": "Snapmaker PLA Basic @U1 base", + "sub_path": "filament/Snapmaker PLA Basic @U1 base.json" + }, { "name": "Snapmaker PLA Lite @U1 base", "sub_path": "filament/Snapmaker PLA Lite @U1 base.json" }, + { + "name": "Snapmaker PLA Matte @U1 base2", + "sub_path": "filament/Snapmaker PLA Matte @U1 base2.json" + }, { "name": "Snapmaker PLA SnapSpeed @U1 base", "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 base.json" }, + { + "name": "Snapmaker PLA SnapSpeed @U1 base2", + "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 base2.json" + }, { "name": "Snapmaker TPU 95A @U1 base", "sub_path": "filament/Snapmaker TPU 95A @U1 base.json" @@ -648,14 +660,62 @@ "name": "PolyTerra J1 PLA @0.2 nozzle", "sub_path": "filament/Polymaker/PolyTerra J1 PLA @0.2 nozzle.json" }, + { + "name": "Snapmaker PLA Basic @U1", + "sub_path": "filament/Snapmaker PLA Basic @U1.json" + }, + { + "name": "Snapmaker PLA Full Spectrum @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PLA Full Spectrum @U1 0.4 nozzle.json" + }, + { + "name": "Snapmaker PLA Silk @U1", + "sub_path": "filament/Snapmaker PLA Silk @U1.json" + }, + { + "name": "Snapmaker PLA Silk @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PLA Silk @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PLA Silk @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA Silk @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA Silk @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA Silk @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PLA Lite @U1", "sub_path": "filament/Snapmaker PLA Lite @U1.json" }, + { + "name": "Snapmaker PLA Matte @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PLA Matte @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PLA Matte @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA Matte @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA Matte @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA Matte @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PLA SnapSpeed @U1", "sub_path": "filament/Snapmaker PLA SnapSpeed @U1.json" }, + { + "name": "Snapmaker PLA SnapSpeed @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PLA SnapSpeed @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA SnapSpeed @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.8 nozzle.json" + }, { "name": "Snapmaker TPU 95A @U1", "sub_path": "filament/Snapmaker TPU 95A @U1.json" @@ -840,6 +900,14 @@ "name": "Snapmaker PETG @base", "sub_path": "filament/Snapmaker PETG @base.json" }, + { + "name": "Snapmaker PETG HF @U1 base2", + "sub_path": "filament/Snapmaker PETG HF @U1 base2.json" + }, + { + "name": "Snapmaker PETG Translucent @U1 base", + "sub_path": "filament/Snapmaker PETG Translucent @U1 base.json" + }, { "name": "Snapmaker PETG-CF @U1 base", "sub_path": "filament/Snapmaker PETG-CF @U1 base.json" @@ -988,6 +1056,10 @@ "name": "Polymaker PLA @Snapmaker U1 base", "sub_path": "filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json" }, + { + "name": "Polymaker PLA @U1 base", + "sub_path": "filament/Polymaker PLA @U1 base.json" + }, { "name": "Polymaker PLA Pro @Base", "sub_path": "filament/Polymaker/Polymaker PLA Pro @Base.json" @@ -1048,6 +1120,10 @@ "name": "Snapmaker PLA @base", "sub_path": "filament/Snapmaker PLA @base.json" }, + { + "name": "Snapmaker PLA Glow @U1 base", + "sub_path": "filament/Snapmaker PLA Glow @U1 base.json" + }, { "name": "Snapmaker PLA Metal @U1 base", "sub_path": "filament/Snapmaker PLA Metal @U1 base.json" @@ -1060,6 +1136,34 @@ "name": "Snapmaker PLA Silk @base", "sub_path": "filament/Snapmaker PLA Silk @base.json" }, + { + "name": "Snapmaker PLA Translucent @U1 base", + "sub_path": "filament/Snapmaker PLA Translucent @U1 base.json" + }, + { + "name": "Snapmaker PLA Wood @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PLA Wood @U1 0.4 nozzle.json" + }, + { + "name": "Snapmaker PLA Wood @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA Wood @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA Wood @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA Wood @U1 0.8 nozzle.json" + }, + { + "name": "Snapmaker PLA-CF @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PLA-CF @U1 0.4 nozzle.json" + }, + { + "name": "Snapmaker PLA-CF @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA-CF @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA-CF @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA-CF @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PLA-CF @U1 base", "sub_path": "filament/Snapmaker PLA-CF @U1 base.json" @@ -1096,6 +1200,30 @@ "name": "Snapmaker J1 TPU @base", "sub_path": "filament/Snapmaker J1 TPU @base.json" }, + { + "name": "Snapmaker TPU 90A @U1", + "sub_path": "filament/Snapmaker TPU 90A @U1.json" + }, + { + "name": "Snapmaker TPU 90A @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker TPU 90A @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker TPU 90A @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker TPU 90A @U1 0.8 nozzle.json" + }, + { + "name": "Snapmaker TPU 95A HF @U1", + "sub_path": "filament/Snapmaker TPU 95A HF @U1.json" + }, + { + "name": "Snapmaker TPU 95A HF @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker TPU 95A HF @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker TPU 95A HF @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker TPU 95A HF @U1 0.8 nozzle.json" + }, { "name": "Snapmaker TPU @U1 base", "sub_path": "filament/Snapmaker TPU @U1 base.json" @@ -1316,6 +1444,34 @@ "name": "Snapmaker PETG @0.2 nozzle", "sub_path": "filament/Snapmaker PETG @0.2 nozzle.json" }, + { + "name": "Snapmaker PETG HF @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PETG HF @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PETG HF @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PETG HF @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PETG HF @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PETG HF @U1 0.8 nozzle.json" + }, + { + "name": "Snapmaker PETG Translucent @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PETG Translucent @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PETG Translucent @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PETG Translucent @U1 0.4 nozzle.json" + }, + { + "name": "Snapmaker PETG Translucent @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PETG Translucent @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PETG Translucent @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PETG Translucent @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PETG-CF @U1", "sub_path": "filament/Snapmaker PETG-CF @U1.json" @@ -1460,6 +1616,18 @@ "name": "Polymaker PLA @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker PLA @Snapmaker U1.json" }, + { + "name": "Polymaker General PLA Family @U1", + "sub_path": "filament/Polymaker General PLA Family @U1.json" + }, + { + "name": "Polymaker Silk PLA Family @U1", + "sub_path": "filament/Polymaker Silk PLA Family @U1.json" + }, + { + "name": "Polymaker Tough PLA Family @U1", + "sub_path": "filament/Polymaker Tough PLA Family @U1.json" + }, { "name": "Polymaker PLA Pro @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json" @@ -1560,6 +1728,10 @@ "name": "Snapmaker PLA", "sub_path": "filament/Snapmaker PLA.json" }, + { + "name": "Snapmaker PLA Glow @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PLA Glow @U1 0.4 nozzle.json" + }, { "name": "Snapmaker PLA Metal @U1", "sub_path": "filament/Snapmaker PLA Metal @U1.json" @@ -1572,6 +1744,22 @@ "name": "Snapmaker PLA Silk @0.2 nozzle", "sub_path": "filament/Snapmaker PLA Silk @0.2 nozzle.json" }, + { + "name": "Snapmaker PLA Translucent @U1 0.2 nozzle", + "sub_path": "filament/Snapmaker PLA Translucent @U1 0.2 nozzle.json" + }, + { + "name": "Snapmaker PLA Translucent @U1 0.4 nozzle", + "sub_path": "filament/Snapmaker PLA Translucent @U1 0.4 nozzle.json" + }, + { + "name": "Snapmaker PLA Translucent @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PLA Translucent @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PLA Translucent @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PLA Translucent @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PLA-CF", "sub_path": "filament/Snapmaker PLA-CF.json" @@ -1612,6 +1800,14 @@ "name": "Snapmaker PVA @U1", "sub_path": "filament/Snapmaker PVA @U1.json" }, + { + "name": "Snapmaker PVA @U1 0.6 nozzle", + "sub_path": "filament/Snapmaker PVA @U1 0.6 nozzle.json" + }, + { + "name": "Snapmaker PVA @U1 0.8 nozzle", + "sub_path": "filament/Snapmaker PVA @U1 0.8 nozzle.json" + }, { "name": "Snapmaker PVA", "sub_path": "filament/Snapmaker PVA.json" @@ -1712,26 +1908,6 @@ "name": "Snapmaker Breakaway Support For PLA @U1", "sub_path": "filament/Snapmaker Breakaway Support For PLA @U1.json" }, - { - "name": "PolyTerra J1 PLA", - "sub_path": "filament/Polymaker/PolyTerra J1 PLA.json" - }, - { - "name": "Snapmaker PLA Matte @U1 base", - "sub_path": "filament/Snapmaker PLA Matte @U1 base.json" - }, - { - "name": "Polymaker PLA @U1 base", - "sub_path": "filament/Polymaker PLA @U1 base.json" - }, - { - "name": "Polymaker Silk PLA Family @U1", - "sub_path": "filament/Polymaker Silk PLA Family @U1.json" - }, - { - "name": "Polymaker Tough PLA Family @U1", - "sub_path": "filament/Polymaker Tough PLA Family @U1.json" - }, { "name": "Snapmaker Breakaway Support For PLA @U1 0.2 nozzle", "sub_path": "filament/Snapmaker Breakaway Support For PLA @U1 0.2 nozzle.json" @@ -1745,188 +1921,12 @@ "sub_path": "filament/Snapmaker Breakaway Support For PLA @U1 0.8 nozzle.json" }, { - "name": "Snapmaker PETG HF @U1 base2", - "sub_path": "filament/Snapmaker PETG HF @U1 base2.json" + "name": "PolyTerra J1 PLA", + "sub_path": "filament/Polymaker/PolyTerra J1 PLA.json" }, { - "name": "Snapmaker PETG Translucent @U1 base", - "sub_path": "filament/Snapmaker PETG Translucent @U1 base.json" - }, - { - "name": "Snapmaker PLA Basic @U1 base", - "sub_path": "filament/Snapmaker PLA Basic @U1 base.json" - }, - { - "name": "Snapmaker PLA Full Spectrum @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PLA Full Spectrum @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PLA Glow @U1 base", - "sub_path": "filament/Snapmaker PLA Glow @U1 base.json" - }, - { - "name": "Snapmaker PLA Matte @U1 base2", - "sub_path": "filament/Snapmaker PLA Matte @U1 base2.json" - }, - { - "name": "Snapmaker PLA Silk @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PLA Silk @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PLA Silk @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA Silk @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA Silk @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA Silk @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA SnapSpeed @U1 base2", - "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 base2.json" - }, - { - "name": "Snapmaker PLA Translucent @U1 base", - "sub_path": "filament/Snapmaker PLA Translucent @U1 base.json" - }, - { - "name": "Snapmaker PLA Wood @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PLA Wood @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PLA Wood @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA Wood @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA Wood @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA Wood @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA-CF @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PLA-CF @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PLA-CF @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA-CF @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA-CF @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA-CF @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PVA @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PVA @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PVA @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PVA @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker TPU 90A @U1", - "sub_path": "filament/Snapmaker TPU 90A @U1.json" - }, - { - "name": "Snapmaker TPU 90A @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker TPU 90A @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker TPU 90A @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker TPU 90A @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker TPU 95A HF @U1", - "sub_path": "filament/Snapmaker TPU 95A HF @U1.json" - }, - { - "name": "Snapmaker TPU 95A HF @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker TPU 95A HF @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker TPU 95A HF @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker TPU 95A HF @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA Silk @U1", - "sub_path": "filament/Snapmaker PLA Silk @U1.json" - }, - { - "name": "Polymaker General PLA Family @U1", - "sub_path": "filament/Polymaker General PLA Family @U1.json" - }, - { - "name": "Snapmaker PETG HF @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PETG HF @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PETG HF @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PETG HF @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PETG HF @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PETG HF @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PETG Translucent @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PETG Translucent @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PETG Translucent @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PETG Translucent @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PETG Translucent @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PETG Translucent @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PETG Translucent @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PETG Translucent @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA Basic @U1", - "sub_path": "filament/Snapmaker PLA Basic @U1.json" - }, - { - "name": "Snapmaker PLA Glow @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PLA Glow @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PLA Matte @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PLA Matte @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PLA Matte @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA Matte @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA Matte @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA Matte @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA SnapSpeed @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PLA SnapSpeed @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA SnapSpeed @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA SnapSpeed @U1 0.8 nozzle.json" - }, - { - "name": "Snapmaker PLA Translucent @U1 0.2 nozzle", - "sub_path": "filament/Snapmaker PLA Translucent @U1 0.2 nozzle.json" - }, - { - "name": "Snapmaker PLA Translucent @U1 0.4 nozzle", - "sub_path": "filament/Snapmaker PLA Translucent @U1 0.4 nozzle.json" - }, - { - "name": "Snapmaker PLA Translucent @U1 0.6 nozzle", - "sub_path": "filament/Snapmaker PLA Translucent @U1 0.6 nozzle.json" - }, - { - "name": "Snapmaker PLA Translucent @U1 0.8 nozzle", - "sub_path": "filament/Snapmaker PLA Translucent @U1 0.8 nozzle.json" + "name": "Snapmaker PLA Matte @U1 base", + "sub_path": "filament/Snapmaker PLA Matte @U1 base.json" } ], "machine_list": [ @@ -2050,6 +2050,10 @@ "name": "fdm_a400", "sub_path": "machine/fdm_a400.json" }, + { + "name": "Snapmaker U1 (0.2 nozzle)", + "sub_path": "machine/Snapmaker U1 (0.2 nozzle).json" + }, { "name": "Snapmaker U1 (0.4 nozzle)", "sub_path": "machine/Snapmaker U1 (0.4 nozzle).json" @@ -2062,6 +2066,10 @@ "name": "Snapmaker U1 (0.6 nozzle)", "sub_path": "machine/Snapmaker U1 (0.6 nozzle).json" }, + { + "name": "Snapmaker U1 (0.8 nozzle)", + "sub_path": "machine/Snapmaker U1 (0.8 nozzle).json" + }, { "name": "Snapmaker A250 BKit (0.2 nozzle)", "sub_path": "machine/Snapmaker A250 BKit (0.2 nozzle).json" @@ -2325,14 +2333,6 @@ { "name": "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", "sub_path": "machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json" - }, - { - "name": "Snapmaker U1 (0.2 nozzle)", - "sub_path": "machine/Snapmaker U1 (0.2 nozzle).json" - }, - { - "name": "Snapmaker U1 (0.8 nozzle)", - "sub_path": "machine/Snapmaker U1 (0.8 nozzle).json" } ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json index 693553bdcb..86648d6096 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json @@ -15,13 +15,13 @@ "1" ], "cool_plate_temp": [ - "105" + "100" ], "cool_plate_temp_initial_layer": [ - "105" + "100" ], "eng_plate_temp": [ - "105" + "100" ], "eng_plate_temp_initial_layer": [ "100" @@ -48,7 +48,7 @@ "Polymaker" ], "hot_plate_temp": [ - "105" + "100" ], "hot_plate_temp_initial_layer": [ "100" @@ -72,7 +72,7 @@ "110.8" ], "textured_plate_temp": [ - "105" + "100" ], "textured_plate_temp_initial_layer": [ "100" diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json index 5e1cfa7c61..ee28c2b059 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json @@ -15,16 +15,16 @@ "1" ], "cool_plate_temp": [ - "105" + "100" ], "cool_plate_temp_initial_layer": [ - "105" + "100" ], "eng_plate_temp": [ - "105" + "100" ], "eng_plate_temp_initial_layer": [ - "105" + "100" ], "fan_cooling_layer_time": [ "12" @@ -51,10 +51,10 @@ "Polymaker" ], "hot_plate_temp": [ - "105" + "100" ], "hot_plate_temp_initial_layer": [ - "105" + "100" ], "nozzle_temperature": [ "300" @@ -81,10 +81,10 @@ "110" ], "textured_plate_temp": [ - "105" + "100" ], "textured_plate_temp_initial_layer": [ - "105" + "100" ], "filament_type": [ "ABS" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 base.json index 67754ade09..af8c929c82 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 base.json @@ -9,10 +9,10 @@ "" ], "hot_plate_temp": [ - "110" + "100" ], "hot_plate_temp_initial_layer": [ - "105" + "100" ], "overhang_fan_speed": [ "20" @@ -35,12 +35,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 base.json index 413c14cebb..409bbdd793 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 base.json @@ -9,7 +9,7 @@ "" ], "hot_plate_temp": [ - "110" + "100" ], "hot_plate_temp_initial_layer": [ "100" @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json index f421f08c94..21638631aa 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json @@ -43,12 +43,6 @@ "filament_unloading_speed": [ "25" ], - "filament_load_time": [ - "0" - ], - "filament_unload_time": [ - "0" - ], "filament_cooling_moves": [ "0" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json index 2629e15051..478a0195bd 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json index 5f1f1bd74f..4344959e27 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json @@ -40,12 +40,6 @@ "filament_unloading_speed": [ "25" ], - "filament_load_time": [ - "0" - ], - "filament_unload_time": [ - "0" - ], "filament_cooling_moves": [ "0" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json index 7f54df76bb..fe567e1744 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json @@ -29,12 +29,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual Breakaway @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual Breakaway @base.json index bdb539a065..46644cc06a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual Breakaway @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual Breakaway @base.json @@ -17,12 +17,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json index 5390ffe222..de2e0c9765 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json @@ -29,12 +29,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json index 84cd37dfe7..4a93202495 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json index ea5c61eb3b..12b546ebb1 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json @@ -29,12 +29,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json index 5e8a40a8af..8e9a3b5f12 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json @@ -44,12 +44,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json index 1d8a6fe9ba..dff0922c5c 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json @@ -20,12 +20,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json index 0f880ac980..86540058c8 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json index 6838983e1b..9daad839c2 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json index 7080dddad1..3cb49e16e7 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json @@ -26,12 +26,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json index f2024f8ddf..1272b220a1 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json index d9b45b5f79..768a85d0db 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json index d9bc0f80ed..2fd81db581 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json @@ -17,12 +17,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json index 903ea5c744..327f146f45 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json @@ -17,12 +17,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json index 3d3e47b701..83a7666218 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json @@ -54,12 +54,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PA-CF @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PA-CF @U1 base.json index 62b54feb70..b402e7f76a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PA-CF @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PA-CF @U1 base.json @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PET @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PET @U1 base.json index 2dae11ec36..0741102696 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PET @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PET @U1 base.json @@ -26,12 +26,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG @U1 base.json index ce0e7c8122..d081c6f9d8 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG @U1 base.json @@ -32,12 +32,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @U1 base.json index 47869c9779..076dc7e2b9 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @U1 base.json @@ -47,12 +47,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA @U1 base.json index 5611cb34f3..3f41d5579e 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA @U1 base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Basic @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Basic @U1 base.json index d6e7e209c6..e29003f72c 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Basic @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Basic @U1 base.json @@ -25,12 +25,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco @U1 base.json index c305704269..67e0d74b2e 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco @U1 base.json @@ -26,12 +26,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Glow @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Glow @U1 base.json index e69ca63254..97d2a7ea61 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Glow @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Glow @U1 base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Lite @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Lite @U1 base.json index 21384a0567..9f4ff4b7f9 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Lite @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Lite @U1 base.json @@ -22,12 +22,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base.json index d8b3ebef60..31607ed7c6 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base.json @@ -22,12 +22,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base2.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base2.json index 109dbc19e7..6c56447e5a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base2.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Matte @U1 base2.json @@ -25,12 +25,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Metal @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Metal @U1 base.json index 1db2d82548..87c26fdb09 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Metal @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Metal @U1 base.json @@ -29,12 +29,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @U1 base.json index 37bc90db26..5f0ca9ed36 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @U1 base.json @@ -35,12 +35,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA SnapSpeed @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA SnapSpeed @U1 base.json index b87c48cbe5..5391a85078 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA SnapSpeed @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA SnapSpeed @U1 base.json @@ -22,12 +22,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Translucent @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Translucent @U1 base.json index 1ed79183c9..4b67d00391 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Translucent @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Translucent @U1 base.json @@ -23,12 +23,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF @U1 base.json index 962c6fcccb..cfdfe78b74 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF @U1 base.json @@ -35,12 +35,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PVA @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker PVA @U1 base.json index 206f024091..f2b2033dd9 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PVA @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PVA @U1 base.json @@ -20,12 +20,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker TPU @U1 base.json b/resources/profiles/Snapmaker/filament/Snapmaker TPU @U1 base.json index 6ad1de856e..7a43d5715a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker TPU @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker TPU @U1 base.json @@ -20,12 +20,6 @@ "filament_unloading_speed": [ "35" ], - "filament_load_time": [ - "2" - ], - "filament_unload_time": [ - "2" - ], "filament_cooling_moves": [ "2" ], diff --git a/resources/profiles/Snapmaker/filament/fdm_filament_common.json b/resources/profiles/Snapmaker/filament/fdm_filament_common.json index 04c0a64a6f..82b033cda5 100644 --- a/resources/profiles/Snapmaker/filament/fdm_filament_common.json +++ b/resources/profiles/Snapmaker/filament/fdm_filament_common.json @@ -114,12 +114,6 @@ "filament_unloading_speed": [ "25" ], - "filament_load_time": [ - "0" - ], - "filament_unload_time": [ - "0" - ], "filament_toolchange_delay": [ "0" ], diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json index a6e55cb7bd..6a96cfb494 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "1921635482", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json index 3544179344..80ace374c7 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "1463587605", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json index 89845097d4..733d7096fb 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "3396626756", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json index f6c9ae9663..83e77458c1 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "2661871200", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json index a1c0587025..86085a641a 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "2728546690", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json index c28a8b0e39..937bf20bdd 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "3626883798", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json index a47a224e8f..dd0b5e8e46 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "3817522582", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250.json b/resources/profiles/Snapmaker/machine/Snapmaker A250.json index acdd0983c6..16a93e5957 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "261851393", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json index 69dbfea029..60a09d7519 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "3190019076", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json index b0d390f5e3..321002ad53 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "2326416016", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json index a2971119fb..6ca04fc169 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "1305649671", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json index 0154fcf801..7798d13413 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "61280022", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json index 5c7b9aede1..f18dc6cfcf 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "1846038812", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json index 0d780ef3d5..dd71d8312c 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "1133024953", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json index 433fffebef..80573646c4 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "4109488597", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350.json b/resources/profiles/Snapmaker/machine/Snapmaker A350.json index 231c8a7137..de5b92e6c5 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "240771894", + "default_materials": "PolyTerra PLA @0.2 nozzle;Snapmaker PLA", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json index 667d195628..e3a3f17c24 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "797581801", + "default_materials": "PolyTerra Dual PLA @0.2 nozzle;Snapmaker Dual PLA", "bed_model": "Snapmaker Artisan_bed.stl", "bed_texture": "Snapmaker Artisan_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker J1.json b/resources/profiles/Snapmaker/machine/Snapmaker J1.json index 46ef45fa15..087d33768f 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker J1.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker J1.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "https://github.com/macdylan", "model_id": "199828459", + "default_materials": "PolyTerra J1 PLA @0.2 nozzle;PolyTerra J1 PLA", "bed_model": "Snapmaker J1_bed.stl", "bed_texture": "Snapmaker J1_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1.json b/resources/profiles/Snapmaker/machine/Snapmaker U1.json index fb703f2e75..96eb53f81a 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker U1.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1.json @@ -5,6 +5,7 @@ "family": "Snapmaker", "url": "", "model_id": "797581801", + "default_materials": "Snapmaker PLA SnapSpeed @U1 0.2 nozzle;Panchroma PLA @Snapmaker U1;Generic PLA @System;Snapmaker PLA SnapSpeed @U1 0.6 nozzle;Snapmaker PLA SnapSpeed @U1 0.8 nozzle", "bed_model": "Snapmaker U1_bed.stl", "bed_texture": "Snapmaker U1_texture.svg", "nozzle_diameter": "0.2;0.4;0.4+0.6;0.6;0.8" diff --git a/resources/profiles/Snapmaker/machine/fdm_common.json b/resources/profiles/Snapmaker/machine/fdm_common.json index 50b8cb2cdd..fac7898ce3 100644 --- a/resources/profiles/Snapmaker/machine/fdm_common.json +++ b/resources/profiles/Snapmaker/machine/fdm_common.json @@ -7,7 +7,6 @@ "pause_gcode": "M600 ;pause print", "nozzle_type": "hardened_steel", "use_relative_e_distances": "1", - "silent_mode": "0", "auxiliary_fan": "0", "remaining_times": "1", "single_extruder_multi_material": "0", diff --git a/resources/profiles/Snapmaker/machine/fdm_klipper.json b/resources/profiles/Snapmaker/machine/fdm_klipper.json index ccb53f7e7d..ca389bdf37 100644 --- a/resources/profiles/Snapmaker/machine/fdm_klipper.json +++ b/resources/profiles/Snapmaker/machine/fdm_klipper.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Snapmaker/machine/fdm_toolchanger.json b/resources/profiles/Snapmaker/machine/fdm_toolchanger.json index 1b6a068387..aadd744bf0 100644 --- a/resources/profiles/Snapmaker/machine/fdm_toolchanger.json +++ b/resources/profiles/Snapmaker/machine/fdm_toolchanger.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Snapmaker/process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json index 3dec06228e..15546ce4bb 100644 --- a/resources/profiles/Snapmaker/process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.06 High Quality @Snapmaker U1 (0.2 nozzle).json @@ -11,8 +11,6 @@ "outer_wall_acceleration": "2000", "outer_wall_speed": "60", "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json index 7c80e048f6..3881460bda 100644 --- a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker U1 (0.2 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker U1 (0.4 nozzle).json index b8a8e126aa..0a3ba43c86 100644 --- a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "Tayg0K1WRyJMLoke", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json index 27d3903f06..2aeb309d58 100644 --- a/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.2 nozzle).json @@ -11,8 +11,6 @@ "outer_wall_acceleration": "2000", "outer_wall_speed": "60", "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.4 nozzle).json index 677e6742d9..107731b2cb 100644 --- a/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 High Quality @Snapmaker U1 (0.4 nozzle).json @@ -15,8 +15,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json index b4728bd60f..ea8c719085 100644 --- a/resources/profiles/Snapmaker/process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 Standard @Snapmaker U1 (0.2 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json index 80b2120807..6fc26cd55f 100644 --- a/resources/profiles/Snapmaker/process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.10 High Quality @Snapmaker U1 (0.2 nozzle).json @@ -11,8 +11,6 @@ "outer_wall_acceleration": "2000", "outer_wall_speed": "60", "sparse_infill_pattern": "gyroid", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json index 80739205ac..d33ce1c083 100644 --- a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker U1 (0.2 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker U1 (0.4 nozzle).json index 2da54a6dc3..6de6d483da 100644 --- a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "xBU1j8ldOefYfosp", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.12 High Quality @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.12 High Quality @Snapmaker U1 (0.4 nozzle).json index 9302a40421..a5f215d7f3 100644 --- a/resources/profiles/Snapmaker/process/0.12 High Quality @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.12 High Quality @Snapmaker U1 (0.4 nozzle).json @@ -15,8 +15,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "180", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json index cc93a97e99..632d9614f7 100644 --- a/resources/profiles/Snapmaker/process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.12 Standard @Snapmaker U1 (0.2 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json index 54513eb14b..0de823db1f 100644 --- a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker U1 (0.2 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.2 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.16 High Quality @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.16 High Quality @Snapmaker U1 (0.4 nozzle).json index 416d85881c..1306485d6f 100644 --- a/resources/profiles/Snapmaker/process/0.16 High Quality @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.16 High Quality @Snapmaker U1 (0.4 nozzle).json @@ -15,8 +15,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "200", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker U1 (0.4 nozzle).json index 6871a3e120..838f250e8c 100644 --- a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "ERcgRLp5bQo1hgz8", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json index 77b756bffc..88fbb33812 100644 --- a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.20 Quality @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Quality @Snapmaker U1 (0.4 nozzle).json index da92006d49..be894aa221 100644 --- a/resources/profiles/Snapmaker/process/0.20 Quality @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Quality @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "BBXxXQCXCme2Mvy0", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4 nozzle).json index 5d873d5efd..443afe55dd 100644 --- a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "XR5r9SuWmSag5Qjo", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json index 63bb6ea170..b4e22777e8 100644 --- a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json @@ -17,8 +17,6 @@ "internal_solid_infill_line_width": "105%", "support_line_width": "105%", "top_surface_line_width": "105%", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "prime_tower_width": "30", "slowdown_for_curled_perimeters": "0", diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json index d1bb174a62..5c87ff68d0 100644 --- a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Standard 0.2 mm layer height profile for the Snapmaker U1 with 0.6 mm nozzles. Balances print speed and surface quality for everyday prints.", "layer_height": "0.20", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker U1 (0.4 nozzle).json index 91c5995b92..1d051fc801 100644 --- a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker U1 (0.4 nozzle).json @@ -8,8 +8,6 @@ "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", "outer_wall_speed": "60", "sparse_infill_density": "25%", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "wall_loops": "6", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" diff --git a/resources/profiles/Snapmaker/process/0.20 Support @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Support @Snapmaker U1 (0.4 nozzle).json index 0cb85cc26d..577065ca3f 100644 --- a/resources/profiles/Snapmaker/process/0.20 Support @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Support @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "4whjHJVCN44w8SPE", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker U1 (0.4 nozzle).json index f98007b6e1..8e09376daf 100644 --- a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "MYRo7jTenu7F0Zv4", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json index 7a9f4e2154..2fa2eeabdb 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json index d9e1a2bf94..316bb0dbee 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker U1 (0.8 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.8 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json index 4382b11e41..8829efafdb 100644 --- a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json @@ -6,8 +6,6 @@ "setting_id": "0fSeyAIS6z75A1r3", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json index 52eb63a64d..defbc6740b 100644 --- a/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Fast draft profile for the Snapmaker U1 with 0.6 mm nozzles. 0.3 mm layer height for quick prototypes and functional parts.", "layer_height": "0.30", - "smooth_coefficient": "80", - "overhang_totally_speed": "40", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json index e2d5c192bb..92bebf6219 100644 --- a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json index c216eb09d2..f268a92446 100644 --- a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker U1 (0.6 nozzle).json @@ -9,8 +9,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json index d2c20559fd..de7559f827 100644 --- a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker U1 (0.8 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.8 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json index 44ea3bb3f4..6dc9f26329 100644 --- a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json index 37238fb0ea..b18e30c210 100644 --- a/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Maximum-speed profile for the Snapmaker U1 with 0.6 mm nozzles. 0.4 mm layer height for rapid prototyping where surface finish is not critical.", "layer_height": "0.40", - "smooth_coefficient": "80", - "overhang_totally_speed": "30", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json index 8d00eb9fab..b0cf935465 100644 --- a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker U1 (0.8 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.8 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json index d3e4bf7f07..eaa04faadc 100644 --- a/resources/profiles/Snapmaker/process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.42 Standard @Snapmaker U1 (0.6 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.6 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json index d6cdf607dd..599cf24db5 100644 --- a/resources/profiles/Snapmaker/process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.48 Standard @Snapmaker U1 (0.8 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.8 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json index 9f67114c20..ca728fe66a 100644 --- a/resources/profiles/Snapmaker/process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.56 Standard @Snapmaker U1 (0.8 nozzle).json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Snapmaker U1 (0.8 nozzle)" ], diff --git a/resources/profiles/Snapmaker/process/fdm_process_U1.json b/resources/profiles/Snapmaker/process/fdm_process_U1.json index 72dab0c16b..4e0d7bf6e6 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_U1.json +++ b/resources/profiles/Snapmaker/process/fdm_process_U1.json @@ -3,7 +3,6 @@ "name": "fdm_process_U1", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", @@ -66,7 +65,5 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "compatible_printers": [], - "smooth_coefficient": "80", - "overhang_totally_speed": "24" + "compatible_printers": [] } diff --git a/resources/profiles/Snapmaker/process/fdm_process_U1_common.json b/resources/profiles/Snapmaker/process/fdm_process_U1_common.json index 462ddb53ae..3fbacd5f4f 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_U1_common.json +++ b/resources/profiles/Snapmaker/process/fdm_process_U1_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "30", @@ -29,7 +28,7 @@ "ironing_type": "no ironing", "layer_height": "0.2", "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "filename_format": "{input_filename_base}_{filament_type[initial_no_support_extruder]}_{int(total_weight*10) / 10.0}g_{print_time}.gcode", "detect_overhang_wall": "1", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", diff --git a/resources/profiles/Snapmaker/process/fdm_process_common.json b/resources/profiles/Snapmaker/process/fdm_process_common.json index 458a0f6162..13e5825ebd 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_common.json +++ b/resources/profiles/Snapmaker/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "layer_height": "0.2", "initial_layer_print_height": "0.3", "line_width": "0.42", @@ -72,7 +71,6 @@ "infill_combination": "0", "detect_narrow_internal_solid_infill": "1", "ensure_vertical_shell_thickness": "1", - "internal_bridge_support_thickness": "0.8", "initial_layer_speed": "50", "initial_layer_infill_speed": "50", "initial_layer_travel_speed": "80%", @@ -86,7 +84,6 @@ "support_interface_speed": "50", "ironing_speed": "35", "enable_overhang_speed": "1", - "overhang_speed_classic": "0", "overhang_1_4_speed": "35", "overhang_2_4_speed": "25", "overhang_3_4_speed": "15", @@ -129,7 +126,6 @@ "tree_support_adaptive_layer_height": "1", "tree_support_auto_brim": "1", "tree_support_brim_width": "3", - "tree_support_with_infill": "0", "support_top_z_distance": "0.12", "support_bottom_z_distance": "0.12", "support_base_pattern": "rectilinear", diff --git a/resources/profiles/Sovol.json b/resources/profiles/Sovol.json index a38645abc2..81dab20239 100644 --- a/resources/profiles/Sovol.json +++ b/resources/profiles/Sovol.json @@ -1,7 +1,7 @@ { "name": "Sovol", "url": "", - "version": "02.04.00.02", + "version": "02.04.00.07", "force_update": "0", "description": "Sovol configurations", "machine_model_list": [ @@ -167,10 +167,6 @@ "name": "0.20mm Standard @Sovol SV08 MAX 0.4 nozzle", "sub_path": "process/0.20mm Standard @Sovol SV08 MAX 0.4 nozzle.json" }, - { - "name": "0.20mm Standard @Sovol Zero 0.4 nozzle", - "sub_path": "process/0.20mm Standard @Sovol Zero 0.4 nozzle.json" - }, { "name": "0.28mm Fast @Sovol SV06 ACE", "sub_path": "process/0.28mm Fast @Sovol SV06 ACE 0.4 nozzle.json" @@ -198,85 +194,141 @@ { "name": "0.40mm Standard @Sovol SV08 MAX 0.8 nozzle", "sub_path": "process/0.40mm Standard @Sovol SV08 MAX 0.8 nozzle.json" + }, + { + "name": "fdm_process_zero", + "sub_path": "process/fdm_process_zero.json" + }, + { + "name": "0.06mm Quality @Sovol Zero 0.2 nozzle", + "sub_path": "process/0.06mm Quality @Sovol Zero 0.2 nozzle.json" + }, + { + "name": "0.10mm Standard @Sovol Zero 0.2 nozzle", + "sub_path": "process/0.10mm Standard @Sovol Zero 0.2 nozzle.json" + }, + { + "name": "0.12mm Quality @Sovol Zero 0.4 nozzle", + "sub_path": "process/0.12mm Quality @Sovol Zero 0.4 nozzle.json" + }, + { + "name": "0.14mm Fast @Sovol Zero 0.2 nozzle", + "sub_path": "process/0.14mm Fast @Sovol Zero 0.2 nozzle.json" + }, + { + "name": "0.15mm Quality @Sovol Zero 0.6 nozzle", + "sub_path": "process/0.15mm Quality @Sovol Zero 0.6 nozzle.json" + }, + { + "name": "0.20mm Quality @Sovol Zero 0.8 nozzle", + "sub_path": "process/0.20mm Quality @Sovol Zero 0.8 nozzle.json" + }, + { + "name": "0.20mm Standard @Sovol Zero 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Sovol Zero 0.4 nozzle.json" + }, + { + "name": "0.25mm Quality @Sovol Zero 1.0 nozzle", + "sub_path": "process/0.25mm Quality @Sovol Zero 1.0 nozzle.json" + }, + { + "name": "0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle", + "sub_path": "process/0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle.json" + }, + { + "name": "0.28mm Fast @Sovol Zero 0.4 nozzle", + "sub_path": "process/0.28mm Fast @Sovol Zero 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Sovol Zero 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Sovol Zero 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Sovol Zero 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Sovol Zero 0.8 nozzle.json" + }, + { + "name": "0.42mm Fast @Sovol Zero 0.6 nozzle", + "sub_path": "process/0.42mm Fast @Sovol Zero 0.6 nozzle.json" + }, + { + "name": "0.50mm Standard @Sovol Zero 1.0 nozzle", + "sub_path": "process/0.50mm Standard @Sovol Zero 1.0 nozzle.json" + }, + { + "name": "0.56mm Fast @Sovol Zero 0.8 nozzle", + "sub_path": "process/0.56mm Fast @Sovol Zero 0.8 nozzle.json" + }, + { + "name": "0.70mm Fast @Sovol Zero 1.0 nozzle", + "sub_path": "process/0.70mm Fast @Sovol Zero 1.0 nozzle.json" } ], "filament_list": [ - { - "name": "Generic ABS @Sovol SV08 MAX", - "sub_path": "filament/Generic ABS @Sovol SV08 MAX.json" - }, - { - "name": "Generic PC @Sovol SV08 MAX", - "sub_path": "filament/Generic PC @Sovol SV08 MAX.json" - }, - { - "name": "Generic PETG @Sovol SV08 MAX", - "sub_path": "filament/Generic PETG @Sovol SV08 MAX.json" - }, - { - "name": "Generic PLA @Sovol SV08 MAX", - "sub_path": "filament/Generic PLA @Sovol SV08 MAX.json" - }, - { - "name": "Generic PLA Silk @Sovol SV08 MAX", - "sub_path": "filament/Generic PLA Silk @Sovol SV08 MAX.json" - }, - { - "name": "Generic TPU @Sovol SV08 MAX", - "sub_path": "filament/Generic TPU @Sovol SV08 MAX.json" - }, - { - "name": "Polymaker PETG @Sovol SV08 MAX", - "sub_path": "filament/Polymaker PETG @Sovol SV08 MAX.json" - }, - { - "name": "SUNLU PETG @Sovol SV08 MAX", - "sub_path": "filament/SUNLU PETG @Sovol SV08 MAX.json" - }, { "name": "Generic ABS @Sovol SV06 ACE", "sub_path": "filament/Generic ABS @Sovol SV06 ACE.json" }, - { - "name": "Generic PETG @Sovol SV06 ACE", - "sub_path": "filament/Generic PETG @Sovol SV06 ACE.json" - }, - { - "name": "Generic PLA @Sovol SV06 ACE", - "sub_path": "filament/Generic PLA @Sovol SV06 ACE.json" - }, - { - "name": "Generic TPU @Sovol SV06 ACE", - "sub_path": "filament/Generic TPU @Sovol SV06 ACE.json" - }, { "name": "Generic ABS @Sovol SV06 Plus ACE", "sub_path": "filament/Generic ABS @Sovol SV06 Plus ACE.json" }, + { + "name": "Generic ABS @Sovol SV08", + "sub_path": "filament/Generic ABS @Sovol SV08.json" + }, + { + "name": "Generic ABS @Sovol SV08 MAX", + "sub_path": "filament/Generic ABS @Sovol SV08 MAX.json" + }, + { + "name": "Generic ABS @Sovol Zero", + "sub_path": "filament/Generic ABS @Sovol Zero.json" + }, + { + "name": "Generic PC @Sovol SV08 MAX", + "sub_path": "filament/Generic PC @Sovol SV08 MAX.json" + }, + { + "name": "Generic PC @Sovol Zero", + "sub_path": "filament/Generic PC @Sovol Zero.json" + }, + { + "name": "Generic PETG @Sovol SV06 ACE", + "sub_path": "filament/Generic PETG @Sovol SV06 ACE.json" + }, { "name": "Generic PETG @Sovol SV06 Plus ACE", "sub_path": "filament/Generic PETG @Sovol SV06 Plus ACE.json" }, + { + "name": "Generic PETG @Sovol SV08", + "sub_path": "filament/Generic PETG @Sovol SV08.json" + }, + { + "name": "Generic PETG @Sovol SV08 MAX", + "sub_path": "filament/Generic PETG @Sovol SV08 MAX.json" + }, + { + "name": "Generic PETG @Sovol Zero", + "sub_path": "filament/Generic PETG @Sovol Zero.json" + }, + { + "name": "Generic PETG @Sovol Zero Hardened Steel nozzle", + "sub_path": "filament/Generic PETG @Sovol Zero Hardened Steel nozzle.json" + }, + { + "name": "Generic PLA @Sovol SV06 ACE", + "sub_path": "filament/Generic PLA @Sovol SV06 ACE.json" + }, { "name": "Generic PLA @Sovol SV06 Plus ACE", "sub_path": "filament/Generic PLA @Sovol SV06 Plus ACE.json" }, - { - "name": "Generic TPU @Sovol SV06 Plus ACE", - "sub_path": "filament/Generic TPU @Sovol SV06 Plus ACE.json" - }, { "name": "Generic PLA @Sovol SV07", "sub_path": "filament/Generic PLA @Sovol SV07.json" }, - { - "name": "Generic ABS @Sovol SV08", - "sub_path": "filament/Generic ABS @Sovol SV08.json" - }, - { - "name": "Generic PETG @Sovol SV08", - "sub_path": "filament/Generic PETG @Sovol SV08.json" - }, { "name": "Generic PLA @Sovol SV08", "sub_path": "filament/Generic PLA @Sovol SV08.json" @@ -286,44 +338,60 @@ "sub_path": "filament/Generic PLA @Sovol SV08 0.2 nozzle.json" }, { - "name": "Generic TPU @Sovol SV08", - "sub_path": "filament/Generic TPU @Sovol SV08.json" - }, - { - "name": "Generic ABS @Sovol Zero", - "sub_path": "filament/Generic ABS @Sovol Zero.json" - }, - { - "name": "Generic PC @Sovol Zero", - "sub_path": "filament/Generic PC @Sovol Zero.json" - }, - { - "name": "Generic PETG @Sovol Zero", - "sub_path": "filament/Generic PETG @Sovol Zero.json" - }, - { - "name": "Sovol Zero PETG HS Nozzle", - "sub_path": "filament/Sovol Zero PETG HS Nozzle.json" + "name": "Generic PLA @Sovol SV08 MAX", + "sub_path": "filament/Generic PLA @Sovol SV08 MAX.json" }, { "name": "Generic PLA @Sovol Zero", "sub_path": "filament/Generic PLA @Sovol Zero.json" }, { - "name": "Sovol Zero PLA Basic HS Nozzle", - "sub_path": "filament/Sovol Zero PLA Basic HS Nozzle.json" + "name": "Generic PLA @Sovol Zero Hardened Steel nozzle", + "sub_path": "filament/Generic PLA @Sovol Zero Hardened Steel nozzle.json" + }, + { + "name": "Generic PLA SPEEDBENCHY @Sovol Zero", + "sub_path": "filament/Generic PLA SPEEDBENCHY @Sovol Zero.json" + }, + { + "name": "Generic PLA Silk @Sovol SV08 MAX", + "sub_path": "filament/Generic PLA Silk @Sovol SV08 MAX.json" }, { "name": "Generic PLA Silk @Sovol Zero", "sub_path": "filament/Generic PLA Silk @Sovol Zero.json" }, { - "name": "Sovol Zero PLA Silk HS Nozzle", - "sub_path": "filament/Sovol Zero PLA Silk HS Nozzle.json" + "name": "Generic PLA Silk @Sovol Zero Hardened Steel nozzle", + "sub_path": "filament/Generic PLA Silk @Sovol Zero Hardened Steel nozzle.json" + }, + { + "name": "Generic TPU @Sovol SV06 ACE", + "sub_path": "filament/Generic TPU @Sovol SV06 ACE.json" + }, + { + "name": "Generic TPU @Sovol SV06 Plus ACE", + "sub_path": "filament/Generic TPU @Sovol SV06 Plus ACE.json" + }, + { + "name": "Generic TPU @Sovol SV08", + "sub_path": "filament/Generic TPU @Sovol SV08.json" + }, + { + "name": "Generic TPU @Sovol SV08 MAX", + "sub_path": "filament/Generic TPU @Sovol SV08 MAX.json" }, { "name": "Generic TPU @Sovol Zero", "sub_path": "filament/Generic TPU @Sovol Zero.json" + }, + { + "name": "Polymaker PETG @Sovol SV08 MAX", + "sub_path": "filament/Polymaker PETG @Sovol SV08 MAX.json" + }, + { + "name": "SUNLU PETG @Sovol SV08 MAX", + "sub_path": "filament/SUNLU PETG @Sovol SV08 MAX.json" } ], "machine_list": [ @@ -415,9 +483,45 @@ "name": "Sovol SV08 MAX 0.8 nozzle", "sub_path": "machine/Sovol SV08 MAX 0.8 nozzle.json" }, + { + "name": "Sovol Zero 0.2 nozzle", + "sub_path": "machine/Sovol Zero 0.2 nozzle.json" + }, { "name": "Sovol Zero 0.4 nozzle", "sub_path": "machine/Sovol Zero 0.4 nozzle.json" + }, + { + "name": "Sovol Zero 0.6 nozzle", + "sub_path": "machine/Sovol Zero 0.6 nozzle.json" + }, + { + "name": "Sovol Zero 0.8 nozzle", + "sub_path": "machine/Sovol Zero 0.8 nozzle.json" + }, + { + "name": "Sovol Zero 1.0 nozzle", + "sub_path": "machine/Sovol Zero 1.0 nozzle.json" + }, + { + "name": "Sovol Zero 0.2 Hardened Steel nozzle", + "sub_path": "machine/Sovol Zero 0.2 Hardened Steel nozzle.json" + }, + { + "name": "Sovol Zero 0.4 Hardened Steel nozzle", + "sub_path": "machine/Sovol Zero 0.4 Hardened Steel nozzle.json" + }, + { + "name": "Sovol Zero 0.6 Hardened Steel nozzle", + "sub_path": "machine/Sovol Zero 0.6 Hardened Steel nozzle.json" + }, + { + "name": "Sovol Zero 0.8 Hardened Steel nozzle", + "sub_path": "machine/Sovol Zero 0.8 Hardened Steel nozzle.json" + }, + { + "name": "Sovol Zero 1.0 Hardened Steel nozzle", + "sub_path": "machine/Sovol Zero 1.0 Hardened Steel nozzle.json" } ] } diff --git a/resources/profiles/Sovol/filament/Generic ABS @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic ABS @Sovol Zero.json index 3b737e2a18..7c24b7a0aa 100644 --- a/resources/profiles/Sovol/filament/Generic ABS @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic ABS @Sovol Zero.json @@ -1,10 +1,11 @@ { "type": "filament", "name": "Generic ABS @Sovol Zero", - "inherits": "Generic ABS @System", "renamed_from": "Sovol Zero ABS", + "inherits": "fdm_filament_abs", "from": "system", "setting_id": "g6sSyyIFYJUzlXsp", + "filament_id": "OFY9muEs", "instantiation": "true", "filament_flow_ratio": [ "0.98" @@ -73,6 +74,39 @@ "0" ], "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ], + "cool_plate_temp": [ + "80" + ], + "eng_plate_temp": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "80" + ], + "eng_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_density": [ + "1.10" ] } diff --git a/resources/profiles/Sovol/filament/Generic PC @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic PC @Sovol Zero.json index dd0eb60594..832deb1368 100644 --- a/resources/profiles/Sovol/filament/Generic PC @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic PC @Sovol Zero.json @@ -1,11 +1,12 @@ { "type": "filament", + "filament_id": "OFLakOUI", + "setting_id": "yRKCiPMN6fxibcyg", "name": "Generic PC @Sovol Zero", - "inherits": "Generic PC @System", "renamed_from": "Sovol Zero PC", "from": "system", - "setting_id": "yRKCiPMN6fxibcyg", "instantiation": "true", + "inherits": "fdm_filament_pc", "filament_flow_ratio": [ "0.98" ], @@ -13,7 +14,16 @@ "21" ], "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" ], "nozzle_temperature_initial_layer": [ "290" @@ -51,7 +61,9 @@ "slow_down_min_speed": [ "10" ], - "dont_slow_down_outer_wall": "0", + "dont_slow_down_outer_wall": [ + "0" + ], "overhang_fan_speed": [ "20" ], @@ -61,8 +73,19 @@ "temperature_vitrification": [ "60" ], - "additional_cooling_fan_speed": "0", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "50", - "complete_print_exhaust_fan_speed": "50" + "additional_cooling_fan_speed": [ + "0" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "50" + ], + "complete_print_exhaust_fan_speed": [ + "50" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ] } diff --git a/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero Hardened Steel nozzle.json b/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero Hardened Steel nozzle.json new file mode 100644 index 0000000000..ef6a6324e3 --- /dev/null +++ b/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero Hardened Steel nozzle.json @@ -0,0 +1,116 @@ +{ + "type": "filament", + "filament_id": "OFYPdQJh", + "setting_id": "d9QbCESNz3ZLU6eu", + "name": "Generic PETG @Sovol Zero Hardened Steel nozzle", + "renamed_from": "Sovol Zero PETG HS Nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "filament_flow_ratio": [ + "0.98" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.048" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "fan_min_speed": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "fan_cooling_layer_time": [ + "50" + ], + "full_fan_speed_layer": [ + "3" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "10" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "temperature_vitrification": [ + "60" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_z_hop": [ + "0.4" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "50" + ], + "complete_print_exhaust_fan_speed": [ + "50" + ], + "compatible_printers": [ + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ], + "cool_plate_temp": [ + "85" + ], + "eng_plate_temp": [ + "85" + ], + "textured_plate_temp": [ + "85" + ], + "cool_plate_temp_initial_layer": [ + "85" + ], + "eng_plate_temp_initial_layer": [ + "85" + ], + "textured_plate_temp_initial_layer": [ + "85" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero.json index a223521d25..b9632637ad 100644 --- a/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic PETG @Sovol Zero.json @@ -1,16 +1,21 @@ { "type": "filament", + "filament_id": "OFYPdQJh", + "setting_id": "i4OW2eAtXOKdtVNj", "name": "Generic PETG @Sovol Zero", - "inherits": "Generic PETG @System", "renamed_from": "Sovol Zero PETG", "from": "system", - "setting_id": "i4OW2eAtXOKdtVNj", "instantiation": "true", + "inherits": "fdm_filament_pet", "filament_flow_ratio": [ "1.0348" ], - "enable_pressure_advance": "1", - "pressure_advance": "0.046", + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.046" + ], "filament_max_volumetric_speed": [ "15" ], @@ -68,10 +73,44 @@ "filament_z_hop": [ "0.4" ], - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "50", - "complete_print_exhaust_fan_speed": "50", + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "50" + ], + "complete_print_exhaust_fan_speed": [ + "50" + ], "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle" + ], + "cool_plate_temp": [ + "85" + ], + "eng_plate_temp": [ + "85" + ], + "textured_plate_temp": [ + "85" + ], + "cool_plate_temp_initial_layer": [ + "85" + ], + "eng_plate_temp_initial_layer": [ + "85" + ], + "textured_plate_temp_initial_layer": [ + "85" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" ] } diff --git a/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero Hardened Steel nozzle.json b/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero Hardened Steel nozzle.json new file mode 100644 index 0000000000..bba0cbfb51 --- /dev/null +++ b/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero Hardened Steel nozzle.json @@ -0,0 +1,110 @@ +{ + "type": "filament", + "filament_id": "OFDSrzZ8", + "setting_id": "nZgETe4CTpicEjQX", + "name": "Generic PLA @Sovol Zero Hardened Steel nozzle", + "renamed_from": "Sovol Zero PLA Basic HS Nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1.0348" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.03" + ], + "compatible_printers": [ + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "70" + ], + "fan_max_speed": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "full_fan_speed_layer": [ + "3" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "10" + ], + "dont_slow_down_outer_wall": [ + "0" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "temperature_vitrification": [ + "60" + ], + "additional_cooling_fan_speed": [ + "75%" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "80%" + ], + "complete_print_exhaust_fan_speed": [ + "80%" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero.json index 131867f6b8..c8424af4f4 100644 --- a/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic PLA @Sovol Zero.json @@ -1,21 +1,24 @@ { "type": "filament", + "filament_id": "OFDSrzZ8", + "setting_id": "NNDerIjh7qtuh1I3", "name": "Generic PLA @Sovol Zero", - "inherits": "Generic PLA @System", "renamed_from": "Sovol Zero PLA Basic", "from": "system", - "setting_id": "NNDerIjh7qtuh1I3", "instantiation": "true", + "inherits": "fdm_filament_pla", "filament_flow_ratio": [ "0.98" ], "filament_max_volumetric_speed": [ - "21" + "25" ], - "enable_pressure_advance": "1", - "pressure_advance": "0.032", "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle" ], "nozzle_temperature_initial_layer": [ "230" @@ -24,28 +27,28 @@ "210" ], "nozzle_temperature_range_low": [ - "190" + "180" ], "nozzle_temperature_range_high": [ - "250" + "240" ], "hot_plate_temp": [ - "65" + "60" ], "hot_plate_temp_initial_layer": [ - "65" + "60" ], "fan_min_speed": [ - "70" + "100" ], "fan_max_speed": [ "100" ], "fan_cooling_layer_time": [ - "80" + "60" ], "full_fan_speed_layer": [ - "3" + "2" ], "slow_down_layer_time": [ "5" @@ -53,18 +56,43 @@ "slow_down_min_speed": [ "10" ], - "dont_slow_down_outer_wall": "0", "overhang_fan_speed": [ "100" ], "overhang_fan_threshold": [ - "50%" + "10%" ], "temperature_vitrification": [ + "50" + ], + "filament_z_hop": [ + "0.4" + ], + "filament_retraction_length": [ + "0.4" + ], + "filament_diameter": [ + "1.75" + ], + "cool_plate_temp": [ "60" ], - "additional_cooling_fan_speed": "75%", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "80%", - "complete_print_exhaust_fan_speed": "80%" + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/Sovol/filament/Generic PLA SPEEDBENCHY @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic PLA SPEEDBENCHY @Sovol Zero.json new file mode 100644 index 0000000000..a9aefc6bd2 --- /dev/null +++ b/resources/profiles/Sovol/filament/Generic PLA SPEEDBENCHY @Sovol Zero.json @@ -0,0 +1,118 @@ +{ + "type": "filament", + "filament_id": "OFIUkWYN", + "setting_id": "MC2InZ7iKDjIGike", + "name": "Generic PLA SPEEDBENCHY @Sovol Zero", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "50" + ], + "compatible_printers": [ + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.032" + ], + "fan_min_speed": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "full_fan_speed_layer": [ + "3" + ], + "slow_down_layer_time": [ + "1.7" + ], + "slow_down_min_speed": [ + "40" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "75%" + ], + "additional_cooling_fan_speed": [ + "100" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_length": [ + "0.35" + ], + "filament_retraction_speed": [ + "90" + ], + "filament_deretraction_speed": [ + "90" + ], + "filament_retract_before_wipe": [ + "0%" + ], + "filament_wipe_distance": [ + "2" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero Hardened Steel nozzle.json b/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero Hardened Steel nozzle.json new file mode 100644 index 0000000000..7347fa08de --- /dev/null +++ b/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero Hardened Steel nozzle.json @@ -0,0 +1,110 @@ +{ + "type": "filament", + "filament_id": "OFesA6rF", + "setting_id": "LA8X1RsMdV2xNT1o", + "name": "Generic PLA Silk @Sovol Zero Hardened Steel nozzle", + "renamed_from": "Sovol Zero PLA Silk HS Nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.027" + ], + "compatible_printers": [ + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "70" + ], + "fan_max_speed": [ + "100" + ], + "fan_cooling_layer_time": [ + "80" + ], + "full_fan_speed_layer": [ + "3" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "10" + ], + "dont_slow_down_outer_wall": [ + "0" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "temperature_vitrification": [ + "60" + ], + "additional_cooling_fan_speed": [ + "75%" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "80%" + ], + "complete_print_exhaust_fan_speed": [ + "80%" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero.json index 5b46a92d64..6c9c27a00a 100644 --- a/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic PLA Silk @Sovol Zero.json @@ -1,27 +1,30 @@ { "type": "filament", + "filament_id": "OFesA6rF", + "setting_id": "Se2yKerHRStYtWf5", "name": "Generic PLA Silk @Sovol Zero", - "inherits": "Generic PLA Silk @System", "renamed_from": "Sovol Zero PLA Silk", "from": "system", - "setting_id": "Se2yKerHRStYtWf5", "instantiation": "true", - "filament_multitool_ramming_flow": [ - "20" - ], - "filament_retraction_length": [ - "nil" - ], + "inherits": "fdm_filament_pla", "filament_flow_ratio": [ "0.98" ], "filament_max_volumetric_speed": [ "15" ], - "enable_pressure_advance": "1", - "pressure_advance": "0.029", + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.029" + ], "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle" ], "nozzle_temperature_initial_layer": [ "245" @@ -59,7 +62,9 @@ "slow_down_min_speed": [ "10" ], - "dont_slow_down_outer_wall": "0", + "dont_slow_down_outer_wall": [ + "0" + ], "overhang_fan_speed": [ "100" ], @@ -69,8 +74,43 @@ "temperature_vitrification": [ "60" ], - "additional_cooling_fan_speed": "75%", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "80%", - "complete_print_exhaust_fan_speed": "80%" + "additional_cooling_fan_speed": [ + "75%" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "80%" + ], + "complete_print_exhaust_fan_speed": [ + "80%" + ], + "filament_multitool_ramming_flow": [ + "20" + ], + "filament_retraction_length": [ + "nil" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] } diff --git a/resources/profiles/Sovol/filament/Generic TPU @Sovol Zero.json b/resources/profiles/Sovol/filament/Generic TPU @Sovol Zero.json index 8c7c18c523..8624043cf9 100644 --- a/resources/profiles/Sovol/filament/Generic TPU @Sovol Zero.json +++ b/resources/profiles/Sovol/filament/Generic TPU @Sovol Zero.json @@ -1,11 +1,12 @@ { "type": "filament", + "filament_id": "OFgbpcy9", + "setting_id": "MlY6WQ41FE8zDPSV", "name": "Generic TPU @Sovol Zero", - "inherits": "Generic TPU @System", "renamed_from": "Sovol Zero TPU", "from": "system", - "setting_id": "MlY6WQ41FE8zDPSV", "instantiation": "true", + "inherits": "fdm_filament_tpu", "filament_flow_ratio": [ "0.98" ], @@ -60,11 +61,55 @@ "filament_z_hop": [ "0.4" ], - "additional_cooling_fan_speed": "50", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "100", - "complete_print_exhaust_fan_speed": "50", + "additional_cooling_fan_speed": [ + "50" + ], + "activate_air_filtration": [ + "1" + ], + "during_print_exhaust_fan_speed": [ + "100" + ], + "complete_print_exhaust_fan_speed": [ + "50" + ], "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.8 nozzle", + "Sovol Zero 1.0 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_start_gcode": [ + "; filament start gcode\n" ] } diff --git a/resources/profiles/Sovol/filament/Sovol Zero PLA Basic HS Nozzle.json b/resources/profiles/Sovol/filament/Sovol Zero PLA Basic HS Nozzle.json deleted file mode 100644 index 6dfb630e0a..0000000000 --- a/resources/profiles/Sovol/filament/Sovol Zero PLA Basic HS Nozzle.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "filament", - "name": "Sovol Zero PLA Basic HS Nozzle", - "inherits": "Generic PLA @System", - "from": "system", - "setting_id": "i9wDnSEIrOBPbOZl", - "filament_id": "OFzB4uOs", - "instantiation": "true", - "filament_flow_ratio": [ - "1.0348" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "enable_pressure_advance": "1", - "pressure_advance": "0.03", - "compatible_printers": [ - "Sovol Zero 0.4 nozzle" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "fan_min_speed": [ - "70" - ], - "fan_max_speed": [ - "100" - ], - "fan_cooling_layer_time": [ - "80" - ], - "full_fan_speed_layer": [ - "3" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "10" - ], - "dont_slow_down_outer_wall": "0", - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "temperature_vitrification": [ - "60" - ], - "additional_cooling_fan_speed": "75%", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "80%", - "complete_print_exhaust_fan_speed": "80%" -} diff --git a/resources/profiles/Sovol/filament/Sovol Zero PLA Silk HS Nozzle.json b/resources/profiles/Sovol/filament/Sovol Zero PLA Silk HS Nozzle.json deleted file mode 100644 index 97e4050b8c..0000000000 --- a/resources/profiles/Sovol/filament/Sovol Zero PLA Silk HS Nozzle.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "filament", - "name": "Sovol Zero PLA Silk HS Nozzle", - "inherits": "Generic PLA @System", - "from": "system", - "setting_id": "XxEJBNFLRltR2Xwn", - "filament_id": "OFAO9A7J", - "instantiation": "true", - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "enable_pressure_advance": "1", - "pressure_advance": "0.027", - "compatible_printers": [ - "Sovol Zero 0.4 nozzle" - ], - "nozzle_temperature_initial_layer": [ - "245" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "fan_min_speed": [ - "70" - ], - "fan_max_speed": [ - "100" - ], - "fan_cooling_layer_time": [ - "80" - ], - "full_fan_speed_layer": [ - "3" - ], - "slow_down_layer_time": [ - "5" - ], - "slow_down_min_speed": [ - "10" - ], - "dont_slow_down_outer_wall": "0", - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "50%" - ], - "temperature_vitrification": [ - "60" - ], - "additional_cooling_fan_speed": "75%", - "activate_air_filtration": "1", - "during_print_exhaust_fan_speed": "80%", - "complete_print_exhaust_fan_speed": "80%" -} diff --git a/resources/profiles/Sovol/machine/Sovol SV08 MAX.json b/resources/profiles/Sovol/machine/Sovol SV08 MAX.json index 92a92a9a1d..df4690f54b 100644 --- a/resources/profiles/Sovol/machine/Sovol SV08 MAX.json +++ b/resources/profiles/Sovol/machine/Sovol SV08 MAX.json @@ -8,5 +8,5 @@ "bed_model": "sovol_sv08_max_buildplate_model.stl", "bed_texture": "sovol_sv08_max_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA;Generic PLA Silk;Generic ABS;Generic PETG;Polymaker PETG;SUNLU PETG;Generic TPU;Generic PC" + "default_materials": "Generic PLA @Sovol SV08 MAX;Generic PLA Silk @Sovol SV08 MAX;Generic ABS @Sovol SV08 MAX;Generic PETG @Sovol SV08 MAX;Polymaker PETG @Sovol SV08 MAX;SUNLU PETG @Sovol SV08 MAX;Generic TPU @Sovol SV08 MAX;Generic PC @Sovol SV08 MAX" } diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.2 Hardened Steel nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.2 Hardened Steel nozzle.json new file mode 100644 index 0000000000..89ee9c1c09 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.2 Hardened Steel nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Sovol Zero 0.2 Hardened Steel nozzle", + "inherits": "Sovol Zero 0.2 nozzle", + "from": "system", + "setting_id": "OkvEInEyzUUJzw9K", + "instantiation": "true", + "printer_model": "Sovol Zero", + "printer_variant": "0.2HS", + "nozzle_diameter": [ + "0.2" + ], + "default_filament_profile": [ + "Generic PLA @Sovol Zero Hardened Steel nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.2 nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.2 nozzle.json new file mode 100644 index 0000000000..33fb16508a --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.2 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "MAF2n6b8uoY92qVH", + "name": "Sovol Zero 0.2 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol Zero", + "default_print_profile": "0.10mm Standard @Sovol Zero 0.2 nozzle", + "printer_variant": "0.2", + "nozzle_diameter": [ + "0.2" + ], + "min_layer_height": [ + "0.04" + ], + "max_layer_height": [ + "0.2" + ], + "retract_before_wipe": [ + "0%" + ], + "printable_area": [ + "0x0", + "152.4x0", + "152.4x152.4", + "0x152.4" + ], + "printable_height": "152.4", + "gcode_flavor": "klipper", + "retraction_length": [ + "1.8" + ], + "machine_max_speed_e": [ + "50" + ], + "machine_max_speed_x": [ + "1200" + ], + "machine_max_speed_y": [ + "1200" + ], + "machine_max_speed_z": [ + "30" + ], + "machine_max_acceleration_e": [ + "20000" + ], + "machine_max_acceleration_extruding": [ + "40000" + ], + "machine_max_acceleration_retracting": [ + "20000" + ], + "machine_max_acceleration_travel": [ + "40000" + ], + "machine_max_acceleration_x": [ + "40000" + ], + "machine_max_acceleration_y": [ + "40000" + ], + "machine_max_acceleration_z": [ + "1000" + ], + "machine_max_jerk_e": [ + "2.5" + ], + "machine_max_jerk_x": [ + "5" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "0.5" + ], + "z_hop": [ + "0.6" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "retraction_minimum_travel": [ + "0" + ], + "retract_length_toolchange": [ + "2" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "3" + ], + "z_hop_types": [ + "Auto Lift" + ], + "thumbnails": [ + "300x300", + "32x32" + ], + "retract_lift_below": [ + "150" + ], + "auxiliary_fan": "1", + "thumbnails_format": "PNG", + "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER=[layer_num]\n", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", + "machine_end_gcode": "END_PRINT\n", + "default_filament_profile": [ + "Generic PLA @Sovol Zero" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.4 Hardened Steel nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.4 Hardened Steel nozzle.json new file mode 100644 index 0000000000..515c4cf696 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.4 Hardened Steel nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Sovol Zero 0.4 Hardened Steel nozzle", + "inherits": "Sovol Zero 0.4 nozzle", + "from": "system", + "setting_id": "RqwHKS8MYRdoeJPi", + "instantiation": "true", + "printer_model": "Sovol Zero", + "printer_variant": "0.4HS", + "nozzle_diameter": [ + "0.4" + ], + "default_filament_profile": [ + "Generic PLA @Sovol Zero Hardened Steel nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.4 nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.4 nozzle.json index a5699a9eed..932c5b9121 100644 --- a/resources/profiles/Sovol/machine/Sovol Zero 0.4 nozzle.json +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.4 nozzle.json @@ -1,18 +1,24 @@ { "type": "machine", - "name": "Sovol Zero 0.4 nozzle", - "inherits": "fdm_machine_common", - "from": "system", "setting_id": "QclEa2nmpBiii6Y0", + "name": "Sovol Zero 0.4 nozzle", + "from": "system", "instantiation": "true", + "inherits": "fdm_machine_common", "printer_model": "Sovol Zero", "default_print_profile": "0.20mm Standard @Sovol Zero 0.4 nozzle", "printer_variant": "0.4", "nozzle_diameter": [ "0.4" ], + "min_layer_height": [ + "0.08" + ], + "max_layer_height": [ + "0.32" + ], "retract_before_wipe": [ - "100%" + "0%" ], "printable_area": [ "0x0", @@ -23,7 +29,7 @@ "printable_height": "152.4", "gcode_flavor": "klipper", "retraction_length": [ - "0.8" + "1.8" ], "machine_max_speed_e": [ "50" @@ -71,7 +77,7 @@ "0.5" ], "z_hop": [ - "0.4" + "0.6" ], "retraction_speed": [ "40" @@ -89,7 +95,7 @@ "1" ], "wipe_distance": [ - "2" + "3" ], "z_hop_types": [ "Auto Lift" @@ -104,7 +110,7 @@ "auxiliary_fan": "1", "thumbnails_format": "PNG", "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER=[layer_num]\n", - "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", "machine_end_gcode": "END_PRINT\n", "default_filament_profile": [ "Generic PLA @Sovol Zero" diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.6 Hardened Steel nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.6 Hardened Steel nozzle.json new file mode 100644 index 0000000000..5b53d59ae2 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.6 Hardened Steel nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Sovol Zero 0.6 Hardened Steel nozzle", + "inherits": "Sovol Zero 0.6 nozzle", + "from": "system", + "setting_id": "s3N3FJkWrzOylFm8", + "instantiation": "true", + "printer_model": "Sovol Zero", + "printer_variant": "0.6HS", + "nozzle_diameter": [ + "0.6" + ], + "default_filament_profile": [ + "Generic PLA @Sovol Zero Hardened Steel nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.6 nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.6 nozzle.json new file mode 100644 index 0000000000..e2cfc7ccc5 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.6 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "BlngL0WExXTeyrXg", + "name": "Sovol Zero 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol Zero", + "default_print_profile": "0.30mm Standard @Sovol Zero 0.6 nozzle", + "printer_variant": "0.6", + "nozzle_diameter": [ + "0.6" + ], + "min_layer_height": [ + "0.12" + ], + "max_layer_height": [ + "0.48" + ], + "retract_before_wipe": [ + "0%" + ], + "printable_area": [ + "0x0", + "152.4x0", + "152.4x152.4", + "0x152.4" + ], + "printable_height": "152.4", + "gcode_flavor": "klipper", + "retraction_length": [ + "3.0" + ], + "machine_max_speed_e": [ + "50" + ], + "machine_max_speed_x": [ + "1200" + ], + "machine_max_speed_y": [ + "1200" + ], + "machine_max_speed_z": [ + "30" + ], + "machine_max_acceleration_e": [ + "20000" + ], + "machine_max_acceleration_extruding": [ + "40000" + ], + "machine_max_acceleration_retracting": [ + "20000" + ], + "machine_max_acceleration_travel": [ + "40000" + ], + "machine_max_acceleration_x": [ + "40000" + ], + "machine_max_acceleration_y": [ + "40000" + ], + "machine_max_acceleration_z": [ + "1000" + ], + "machine_max_jerk_e": [ + "2.5" + ], + "machine_max_jerk_x": [ + "5" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "0.5" + ], + "z_hop": [ + "0.6" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "retraction_minimum_travel": [ + "0" + ], + "retract_length_toolchange": [ + "2" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "3" + ], + "z_hop_types": [ + "Auto Lift" + ], + "thumbnails": [ + "300x300", + "32x32" + ], + "retract_lift_below": [ + "150" + ], + "auxiliary_fan": "1", + "thumbnails_format": "PNG", + "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER=[layer_num]\n", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", + "machine_end_gcode": "END_PRINT\n", + "default_filament_profile": [ + "Generic PLA @Sovol Zero" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.8 Hardened Steel nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.8 Hardened Steel nozzle.json new file mode 100644 index 0000000000..db6bd740fb --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.8 Hardened Steel nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Sovol Zero 0.8 Hardened Steel nozzle", + "inherits": "Sovol Zero 0.8 nozzle", + "from": "system", + "setting_id": "houacf8sQ3bLozqD", + "instantiation": "true", + "printer_model": "Sovol Zero", + "printer_variant": "0.8HS", + "nozzle_diameter": [ + "0.8" + ], + "default_filament_profile": [ + "Generic PLA @Sovol Zero Hardened Steel nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 0.8 nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 0.8 nozzle.json new file mode 100644 index 0000000000..bc67a64ce5 --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 0.8 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "DDpJMY1A2r4k1Cho", + "name": "Sovol Zero 0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol Zero", + "default_print_profile": "0.40mm Standard @Sovol Zero 0.8 nozzle", + "printer_variant": "0.8", + "nozzle_diameter": [ + "0.8" + ], + "min_layer_height": [ + "0.08" + ], + "max_layer_height": [ + "0.64" + ], + "retract_before_wipe": [ + "0%" + ], + "printable_area": [ + "0x0", + "152.4x0", + "152.4x152.4", + "0x152.4" + ], + "printable_height": "152.4", + "gcode_flavor": "klipper", + "retraction_length": [ + "3.0" + ], + "machine_max_speed_e": [ + "50" + ], + "machine_max_speed_x": [ + "1200" + ], + "machine_max_speed_y": [ + "1200" + ], + "machine_max_speed_z": [ + "30" + ], + "machine_max_acceleration_e": [ + "20000" + ], + "machine_max_acceleration_extruding": [ + "40000" + ], + "machine_max_acceleration_retracting": [ + "20000" + ], + "machine_max_acceleration_travel": [ + "40000" + ], + "machine_max_acceleration_x": [ + "40000" + ], + "machine_max_acceleration_y": [ + "40000" + ], + "machine_max_acceleration_z": [ + "1000" + ], + "machine_max_jerk_e": [ + "2.5" + ], + "machine_max_jerk_x": [ + "5" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "0.5" + ], + "z_hop": [ + "0.6" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "retraction_minimum_travel": [ + "0" + ], + "retract_length_toolchange": [ + "2" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "3" + ], + "z_hop_types": [ + "Auto Lift" + ], + "thumbnails": [ + "300x300", + "32x32" + ], + "retract_lift_below": [ + "150" + ], + "auxiliary_fan": "1", + "thumbnails_format": "PNG", + "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER=[layer_num]\n", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", + "machine_end_gcode": "END_PRINT\n", + "default_filament_profile": [ + "Generic PLA @Sovol Zero" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 1.0 Hardened Steel nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 1.0 Hardened Steel nozzle.json new file mode 100644 index 0000000000..73b99e55ef --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 1.0 Hardened Steel nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "machine", + "name": "Sovol Zero 1.0 Hardened Steel nozzle", + "inherits": "Sovol Zero 1.0 nozzle", + "from": "system", + "setting_id": "sqlEiL0in8LSjmmn", + "instantiation": "true", + "printer_model": "Sovol Zero", + "printer_variant": "1.0HS", + "nozzle_diameter": [ + "1.0" + ], + "default_filament_profile": [ + "Generic PLA @Sovol Zero Hardened Steel nozzle" + ], + "nozzle_type": [ + "hardened_steel" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero 1.0 nozzle.json b/resources/profiles/Sovol/machine/Sovol Zero 1.0 nozzle.json new file mode 100644 index 0000000000..beb6db80bd --- /dev/null +++ b/resources/profiles/Sovol/machine/Sovol Zero 1.0 nozzle.json @@ -0,0 +1,118 @@ +{ + "type": "machine", + "setting_id": "CGunT3KHnCqEAlrN", + "name": "Sovol Zero 1.0 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "Sovol Zero", + "default_print_profile": "0.50mm Standard @Sovol Zero 1.0 nozzle", + "printer_variant": "1.0", + "nozzle_diameter": [ + "1.0" + ], + "min_layer_height": [ + "0.16" + ], + "max_layer_height": [ + "0.8" + ], + "retract_before_wipe": [ + "0%" + ], + "printable_area": [ + "0x0", + "152.4x0", + "152.4x152.4", + "0x152.4" + ], + "printable_height": "152.4", + "gcode_flavor": "klipper", + "retraction_length": [ + "3.0" + ], + "machine_max_speed_e": [ + "50" + ], + "machine_max_speed_x": [ + "1200" + ], + "machine_max_speed_y": [ + "1200" + ], + "machine_max_speed_z": [ + "30" + ], + "machine_max_acceleration_e": [ + "20000" + ], + "machine_max_acceleration_extruding": [ + "40000" + ], + "machine_max_acceleration_retracting": [ + "20000" + ], + "machine_max_acceleration_travel": [ + "40000" + ], + "machine_max_acceleration_x": [ + "40000" + ], + "machine_max_acceleration_y": [ + "40000" + ], + "machine_max_acceleration_z": [ + "1000" + ], + "machine_max_jerk_e": [ + "2.5" + ], + "machine_max_jerk_x": [ + "5" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "0.5" + ], + "z_hop": [ + "0.6" + ], + "retraction_speed": [ + "40" + ], + "deretraction_speed": [ + "40" + ], + "retraction_minimum_travel": [ + "0" + ], + "retract_length_toolchange": [ + "2" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "3" + ], + "z_hop_types": [ + "Auto Lift" + ], + "thumbnails": [ + "300x300", + "32x32" + ], + "retract_lift_below": [ + "150" + ], + "auxiliary_fan": "1", + "thumbnails_format": "PNG", + "before_layer_change_gcode": "TIMELAPSE_TAKE_FRAME\nG92 E0\nSET_PRINT_STATS_INFO CURRENT_LAYER=[layer_num]\n", + "machine_start_gcode": "M140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\nG28\nSTART_PRINT\nG28\nG90\nG1 X0 Y0 F12000\nG1 Z0.300 F600\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nM109 S[nozzle_temperature_initial_layer];wait for extruder temp\n{if first_layer_print_min[1] - 6 > print_bed_min[1]}\nG90\nM83\nG1 E-0.5 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 5} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z1 F600\nG1 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4} Y{first_layer_print_min[1] - 4} F12000\nG0 Z0.3 F600 ;Move to start position\nG1 E0.200 F600\n{if first_layer_print_max[0] - first_layer_print_min[0] > 50}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*1} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*4} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*5} E{5 * 0.2}F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*8} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*9} E{5 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 4 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n{else}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0]) / 2} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG0 X{first_layer_print_min[0] + (first_layer_print_max[0] - first_layer_print_min[0])} E{(first_layer_print_max[0] - first_layer_print_min[0]) / 2 * 0.2}F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\n{endif}\nG1 E-0.300 F600\nG0 Z5 F600\nM400\n{else}\nG90\nM83\nG1 E-0.300 Z3 F600\nG1 X{print_bed_max[1] / 3} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 Z0.3 F600\nG1 E0.300 F600\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3} Y1 F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*1} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*2} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*3} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*4} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*5} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*6} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X{print_bed_max[1] / 3 + 5*7} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20) * 60}\nG1 X{print_bed_max[1] / 3 + 5*8} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 X{print_bed_max[1] / 3 + 5*9} E{5 * 0.2} F{outer_wall_volumetric_speed/(24/20)* 60}\nG1 X{print_bed_max[1] / 3 + 5*10} E{5 * 0.2} F{outer_wall_volumetric_speed/(0.3*0.5)/4* 60}\nG1 E-0.300 Z3 F600\nM400\n{endif}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n\n", + "machine_end_gcode": "END_PRINT\n", + "default_filament_profile": [ + "Generic PLA @Sovol Zero" + ] +} diff --git a/resources/profiles/Sovol/machine/Sovol Zero.json b/resources/profiles/Sovol/machine/Sovol Zero.json index 6f99e8f8d0..1c67135cf9 100644 --- a/resources/profiles/Sovol/machine/Sovol Zero.json +++ b/resources/profiles/Sovol/machine/Sovol Zero.json @@ -2,11 +2,11 @@ "type": "machine_model", "name": "Sovol Zero", "model_id": "Sovol-Zero", - "nozzle_diameter": "0.4", + "nozzle_diameter": "0.2;0.4;0.6;0.8;1.0;0.2HS;0.4HS;0.6HS;0.8HS;1.0HS", "machine_tech": "FFF", "family": "Sovol", "bed_model": "sovol_zero_buildplate_model.stl", "bed_texture": "sovol_zero_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Sovol Zero;Sovol Zero PLA Basic HS Nozzle;Generic PLA Silk @Sovol Zero;Sovol Zero PLA Silk HS Nozzle;Generic ABS @Sovol Zero;Generic PETG @Sovol Zero;Sovol Zero PETG HS Nozzle;Generic TPU @Sovol Zero;Generic PC @Sovol Zero" + "default_materials": "Generic PLA @Sovol Zero;Generic PLA SPEEDBENCHY @Sovol Zero;Generic PLA @Sovol Zero Hardened Steel nozzle;Generic PLA Silk @Sovol Zero;Generic PLA Silk @Sovol Zero Hardened Steel nozzle;Generic ABS @Sovol Zero;Generic PETG @Sovol Zero;Generic PETG @Sovol Zero Hardened Steel nozzle;Generic TPU @Sovol Zero;Generic PC @Sovol Zero" } diff --git a/resources/profiles/Sovol/machine/fdm_machine_common.json b/resources/profiles/Sovol/machine/fdm_machine_common.json index 017b725d2e..0a804a2e5e 100644 --- a/resources/profiles/Sovol/machine/fdm_machine_common.json +++ b/resources/profiles/Sovol/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -113,7 +112,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "z_hop_types": "Normal Lift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", diff --git a/resources/profiles/Sovol/process/0.06mm Quality @Sovol Zero 0.2 nozzle.json b/resources/profiles/Sovol/process/0.06mm Quality @Sovol Zero 0.2 nozzle.json new file mode 100644 index 0000000000..908bfd9813 --- /dev/null +++ b/resources/profiles/Sovol/process/0.06mm Quality @Sovol Zero 0.2 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "name": "0.06mm Quality @Sovol Zero 0.2 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "fWP7jaL7sJmmZ6QN", + "instantiation": "true", + "layer_height": "0.06", + "bottom_shell_layers": "8", + "bottom_shell_thickness": "0.8", + "bridge_speed": "30", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.21", + "line_width": "0.21", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.06", + "initial_layer_line_width": "0.3", + "infill_wall_overlap": "18", + "inner_wall_line_width": "0.22", + "wall_loops": "3", + "internal_solid_infill_line_width": "0.21", + "sparse_infill_line_width": "0.21", + "support_top_z_distance": "0.10", + "support_line_width": "0.21", + "tree_support_tip_diameter": "0.21", + "support_speed": "100", + "top_surface_line_width": "0.21", + "top_shell_layers": "8", + "top_shell_thickness": "1", + "compatible_printers": [ + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.08mm High Quality @Sovol SV06 ACE 0.4 nozzle.json b/resources/profiles/Sovol/process/0.08mm High Quality @Sovol SV06 ACE 0.4 nozzle.json index 9d44b2f112..ebe3c8679f 100644 --- a/resources/profiles/Sovol/process/0.08mm High Quality @Sovol SV06 ACE 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.08mm High Quality @Sovol SV06 ACE 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "WQqoRN1avqbX8Pgd", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.08", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.10mm Standard @Sovol SV08 0.2 nozzle.json b/resources/profiles/Sovol/process/0.10mm Standard @Sovol SV08 0.2 nozzle.json index 8ab14fe775..9718bacd69 100644 --- a/resources/profiles/Sovol/process/0.10mm Standard @Sovol SV08 0.2 nozzle.json +++ b/resources/profiles/Sovol/process/0.10mm Standard @Sovol SV08 0.2 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "sTiNnwPQInBM8oMT", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.10", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.10mm Standard @Sovol Zero 0.2 nozzle.json b/resources/profiles/Sovol/process/0.10mm Standard @Sovol Zero 0.2 nozzle.json new file mode 100644 index 0000000000..15540bb172 --- /dev/null +++ b/resources/profiles/Sovol/process/0.10mm Standard @Sovol Zero 0.2 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "name": "0.10mm Standard @Sovol Zero 0.2 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "Gql3487jsaTXyuYZ", + "instantiation": "true", + "layer_height": "0.10", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "50", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.22", + "line_width": "0.22", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.12", + "initial_layer_line_width": "0.3", + "infill_wall_overlap": "20", + "inner_wall_line_width": "0.22", + "wall_loops": "2", + "internal_solid_infill_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "support_top_z_distance": "0.20", + "support_line_width": "0.22", + "tree_support_tip_diameter": "0.22", + "support_speed": "100", + "top_surface_line_width": "0.22", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "compatible_printers": [ + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.12mm Quality @Sovol SV06 ACE 0.4 nozzle.json b/resources/profiles/Sovol/process/0.12mm Quality @Sovol SV06 ACE 0.4 nozzle.json index f95e107e59..fcc8cb2817 100644 --- a/resources/profiles/Sovol/process/0.12mm Quality @Sovol SV06 ACE 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.12mm Quality @Sovol SV06 ACE 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "EGRlZsIz0TvybH5a", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.12mm Quality @Sovol Zero 0.4 nozzle.json b/resources/profiles/Sovol/process/0.12mm Quality @Sovol Zero 0.4 nozzle.json new file mode 100644 index 0000000000..c1cc06a737 --- /dev/null +++ b/resources/profiles/Sovol/process/0.12mm Quality @Sovol Zero 0.4 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "CaEopiv2Wg6pQJjH", + "name": "0.12mm Quality @Sovol Zero 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_zero", + "instantiation": "true", + "layer_height": "0.12", + "bottom_shell_layers": "8", + "bottom_shell_thickness": "0.8", + "bridge_speed": "30", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.42", + "line_width": "0.42", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.12", + "initial_layer_line_width": "0.6", + "sparse_infill_line_width": "0.42", + "infill_wall_overlap": "18", + "inner_wall_line_width": "0.44", + "wall_loops": "3", + "support_top_z_distance": "0.10", + "support_line_width": "0.42", + "tree_support_tip_diameter": "0.42", + "support_speed": "100", + "top_surface_line_width": "0.42", + "internal_solid_infill_line_width": "0.42", + "top_shell_layers": "8", + "compatible_printers": [ + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.12mm Standard @Sovol SV06 ACE 0.2 nozzle.json b/resources/profiles/Sovol/process/0.12mm Standard @Sovol SV06 ACE 0.2 nozzle.json index 27723eb6fb..f4fc63ed23 100644 --- a/resources/profiles/Sovol/process/0.12mm Standard @Sovol SV06 ACE 0.2 nozzle.json +++ b/resources/profiles/Sovol/process/0.12mm Standard @Sovol SV06 ACE 0.2 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "1nAnGTBSg9NbEjRl", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.12", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.14mm Fast @Sovol Zero 0.2 nozzle.json b/resources/profiles/Sovol/process/0.14mm Fast @Sovol Zero 0.2 nozzle.json new file mode 100644 index 0000000000..79fe17eb39 --- /dev/null +++ b/resources/profiles/Sovol/process/0.14mm Fast @Sovol Zero 0.2 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "name": "0.14mm Fast @Sovol Zero 0.2 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "I9yoyCcGGTRrDoKu", + "instantiation": "true", + "layer_height": "0.14", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "60", + "outer_wall_acceleration": "22000", + "top_surface_acceleration": "22000", + "outer_wall_line_width": "0.24", + "line_width": "0.24", + "sparse_infill_density": "10%", + "inner_wall_acceleration": "28000", + "initial_layer_print_height": "0.14", + "initial_layer_line_width": "0.3", + "infill_wall_overlap": "20", + "inner_wall_line_width": "0.24", + "wall_loops": "2", + "internal_solid_infill_line_width": "0.24", + "sparse_infill_line_width": "0.24", + "support_top_z_distance": "0.30", + "support_line_width": "0.24", + "tree_support_tip_diameter": "0.24", + "support_speed": "120", + "top_surface_line_width": "0.24", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "compatible_printers": [ + "Sovol Zero 0.2 nozzle", + "Sovol Zero 0.2 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.15mm Quality @Sovol Zero 0.6 nozzle.json b/resources/profiles/Sovol/process/0.15mm Quality @Sovol Zero 0.6 nozzle.json new file mode 100644 index 0000000000..f532985258 --- /dev/null +++ b/resources/profiles/Sovol/process/0.15mm Quality @Sovol Zero 0.6 nozzle.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "setting_id": "IfDpa3vM99D4ytny", + "name": "0.15mm Quality @Sovol Zero 0.6 nozzle", + "from": "system", + "inherits": "fdm_process_zero", + "instantiation": "true", + "layer_height": "0.15", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.8", + "bridge_speed": "30", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.63", + "line_width": "0.63", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_line_width": "0.9", + "sparse_infill_line_width": "0.63", + "infill_wall_overlap": "18", + "inner_wall_line_width": "0.66", + "wall_loops": "3", + "support_top_z_distance": "0.15", + "support_line_width": "0.63", + "tree_support_tip_diameter": "0.63", + "support_speed": "100", + "top_surface_line_width": "0.63", + "top_shell_layers": "5", + "internal_solid_infill_line_width": "0.63", + "compatible_printers": [ + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json index 5a9ceee897..2f41d5a509 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "C5l9Xp7PFZJ8EUuI", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json index b86f3c50ab..f46285f806 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "XGwpYXpDBGmz3IST", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json index 3f5b032956..b4b0c6acaa 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "hx4TRRO93eAhKRlo", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json index 3c7bc35311..f23714d5aa 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "rDtPKzMhHP85acXh", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json index ab14ae1852..1c62c68ea7 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "L1YTQWBe8jGxUG5n", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json index ca8fffec79..b11502689c 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "CCj4nI9LPvB6tBwv", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json index 0f1251d22d..e84fae24b7 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Y7BQqmsJc3sCg5M4", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV08.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV08.json index a36b67382e..45a9e0f34d 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV08.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV08.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "dtNZVowJXglP0ygk", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm High-Speed @Sovol SV06.json b/resources/profiles/Sovol/process/0.20mm High-Speed @Sovol SV06.json index d4102b9521..bedd71ef41 100644 --- a/resources/profiles/Sovol/process/0.20mm High-Speed @Sovol SV06.json +++ b/resources/profiles/Sovol/process/0.20mm High-Speed @Sovol SV06.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "S1iAf6JiKSas9AMw", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Quality @Sovol Zero 0.8 nozzle.json b/resources/profiles/Sovol/process/0.20mm Quality @Sovol Zero 0.8 nozzle.json new file mode 100644 index 0000000000..c9774c6d65 --- /dev/null +++ b/resources/profiles/Sovol/process/0.20mm Quality @Sovol Zero 0.8 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "0.20mm Quality @Sovol Zero 0.8 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "MSxikpQZNYdoBynZ", + "instantiation": "true", + "layer_height": "0.20", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "30", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.84", + "line_width": "0.84", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.36", + "initial_layer_line_width": "1.2", + "sparse_infill_line_width": "0.84", + "infill_wall_overlap": "18", + "inner_wall_line_width": "0.88", + "wall_loops": "3", + "support_top_z_distance": "0.20", + "support_line_width": "0.84", + "tree_support_tip_diameter": "0.84", + "support_speed": "100", + "top_surface_line_width": "0.84", + "top_shell_layers": "4", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "50%", + "internal_solid_infill_speed": "200", + "internal_solid_infill_line_width": "0.84", + "top_surface_speed": "200", + "gap_infill_speed": "200", + "sparse_infill_speed": "500", + "compatible_printers": [ + "Sovol Zero 0.8 nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01.json index a830bec966..56a3c7ad3e 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "CFwXlxanOmqsdA48", "name": "0.20mm Standard @Sovol SV01", - "from": "system", "inherits": "fdm_process_common", + "from": "system", + "setting_id": "CFwXlxanOmqsdA48", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json index 4d7be1276a..298356b0a5 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "i3AkK2cR13YkyVrJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json index 65a6f16806..836581fbca 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "ASEHMkWIP3Z7M6Eg", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json index 529ffbc648..e53d0f99ee 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "qz3ogX30ClF0lLRt", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 ACE.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 ACE.json index 22efbbb514..44bd8afa66 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 ACE.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 ACE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "vJmKSRBaoZ7y02CV", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 Plus ACE.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 Plus ACE.json index 39f9f21d9c..28c730ac6b 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 Plus ACE.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06 Plus ACE.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "7qkFiEhE4BGMZrDJ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json index 45d822eb85..b913b12187 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "cremVs4Sj00nBWtu", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json index 700232a310..511c44ad5f 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "bku5PsptBdjUrbQ6", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json index 4781a94d88..865a30cb6d 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "D6GOAXI1isGTNnfb", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json index 5e8957e16c..8d6484e7f8 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "88ExWsak5lVw9qYZ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 0.4 nozzle.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 0.4 nozzle.json index 7178632118..84450ca0f0 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "v0m5eV5ZVA813MVP", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 MAX 0.4 nozzle.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 MAX 0.4 nozzle.json index 32cbc84429..c3da799594 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 MAX 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08 MAX 0.4 nozzle.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "sPSDTG9mKjIOuy4m", "name": "0.20mm Standard @Sovol SV08 MAX 0.4 nozzle", - "from": "system", "inherits": "fdm_process_common", + "from": "system", + "setting_id": "sPSDTG9mKjIOuy4m", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "100%", "layer_height": "0.20", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08.json index 3411f92dab..3584a15477 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV08.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "vYejAtfzNoeBDq00", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.20", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol Zero 0.4 nozzle.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol Zero 0.4 nozzle.json index 6b1ea0db9a..d8820163d6 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol Zero 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol Zero 0.4 nozzle.json @@ -1,142 +1,36 @@ { "type": "process", - "name": "0.20mm Standard @Sovol Zero 0.4 nozzle", - "inherits": "fdm_process_common", - "from": "system", "setting_id": "ShJTVnJ492No1j2j", + "name": "0.20mm Standard @Sovol Zero 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_zero", "instantiation": "true", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "1", - "max_travel_detour_distance": "100%", "layer_height": "0.20", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "1.2", - "internal_bridge_flow": "1.2", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", "bridge_speed": "50", - "internal_bridge_speed": "200", - "brim_type": "auto_brim", - "brim_width": "5", - "brim_object_gap": "0", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "40000", "outer_wall_acceleration": "10000", "top_surface_acceleration": "5000", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "exclude_object": "1", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "10%", - "sparse_infill_pattern": "grid", - "internal_solid_infill_acceleration": "50%", - "initial_layer_acceleration": "1000", - "initial_solid_infill_acceleration": "3000", - "travel_acceleration": "40000", + "outer_wall_line_width": "0.44", + "line_width": "0.44", + "sparse_infill_density": "15%", "inner_wall_acceleration": "12000", - "outer_wall_jerk": "5", - "inner_wall_jerk": "5", - "infill_jerk": "5", - "top_surface_jerk": "5", - "initial_layer_jerk": "5", - "travel_jerk": "5", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.25", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "15%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.25", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{printer_model}_{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "20", - "inner_wall_line_width": "0.4", + "initial_layer_print_height": "0.24", + "initial_layer_line_width": "0.6", + "sparse_infill_line_width": "0.44", + "infill_wall_overlap": "20", + "ironing_speed": "100", + "inner_wall_line_width": "0.44", "wall_loops": "2", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "0.8", - "skirt_height": "1", - "skirt_loops": "1", - "minimum_sparse_infill_area": "15", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "tree(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.235", - "support_bottom_z_distance": "0.235", - "support_filament": "0", - "support_line_width": "0.45", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "5", - "support_interface_bottom_layers": "-1", - "support_interface_spacing": "0.2", - "support_bottom_interface_spacing": "0.2", - "support_interface_speed": "100%", - "support_interface_pattern": "grid", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "3.5", - "support_speed": "100", - "support_threshold_angle": "20", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "40", - "tree_support_wall_count": "0", - "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.38", + "support_top_z_distance": "0.20", + "support_line_width": "0.44", + "tree_support_tip_diameter": "0.44", + "support_speed": "60", + "top_surface_line_width": "0.44", "top_shell_layers": "4", - "top_shell_thickness": "1", - "initial_layer_speed": "55", - "initial_layer_infill_speed": "105", - "initial_layer_travel_speed": "60%", - "outer_wall_speed": "350", - "inner_wall_speed": "400", - "small_perimeter_speed": "50%", - "internal_solid_infill_speed": "200", - "top_surface_speed": "200", - "gap_infill_speed": "200", - "sparse_infill_speed": "500", - "accel_to_decel_enable": "1", - "accel_to_decel_factor": "25%", - "travel_speed": "1000", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "bridge_acceleration": "50%", - "seam_gap": "10%", - "precise_outer_wall": "1", - "wall_generator": "classic", - "gcode_label_objects": "1", - "slow_down_layers": "3", - "top_solid_infill_flow_ratio": "0.9", - "only_one_wall_top": "1", - "wall_loop_direction": "clockwise", - "top_bottom_infill_wall_overlap": "25%", - "filter_out_gap_fill": "0", - "detect_narrow_internal_solid_infill": "1", - "thick_bridges": "1", - "bridge_angle": "0", + "internal_solid_infill_line_width": "0.44", "compatible_printers": [ - "Sovol Zero 0.4 nozzle" + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle" ] } diff --git a/resources/profiles/Sovol/process/0.25mm Quality @Sovol Zero 1.0 nozzle.json b/resources/profiles/Sovol/process/0.25mm Quality @Sovol Zero 1.0 nozzle.json new file mode 100644 index 0000000000..60e8db168f --- /dev/null +++ b/resources/profiles/Sovol/process/0.25mm Quality @Sovol Zero 1.0 nozzle.json @@ -0,0 +1,79 @@ +{ + "type": "process", + "name": "0.25mm Quality @Sovol Zero 1.0 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "JUmnFOoEMJrbWCN9", + "instantiation": "true", + "layer_height": "0.25", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "30", + "internal_bridge_speed": "200", + "default_acceleration": "40000", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "1.05", + "line_width": "1.05", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.45", + "initial_layer_line_width": "1.5", + "infill_combination": "0", + "sparse_infill_line_width": "1.05", + "infill_wall_overlap": "18", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "no ironing", + "filename_format": "{input_filename_base}_{nozzle_diameter[0]}n_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "20", + "inner_wall_line_width": "1.1", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "0.8", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "1.05", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "tree(auto)", + "support_style": "snug", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.25", + "support_bottom_z_distance": "0.235", + "support_filament": "0", + "support_line_width": "1.05", + "tree_support_tip_diameter": "1.05", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "5", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_bottom_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_pattern": "grid", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "3.5", + "support_speed": "100", + "support_threshold_angle": "50", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "40", + "top_surface_line_width": "1.05", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "compatible_printers": [ + "Sovol Zero 1.0 nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle.json b/resources/profiles/Sovol/process/0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle.json new file mode 100644 index 0000000000..89e248b223 --- /dev/null +++ b/resources/profiles/Sovol/process/0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle.json @@ -0,0 +1,85 @@ +{ + "type": "process", + "setting_id": "oFrWcSxmad1b6sD4", + "name": "0.25mm SPEEDBENCHY @Sovol Zero 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_zero", + "instantiation": "true", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "line_width": "0.5", + "initial_layer_line_width": "0.5", + "outer_wall_line_width": "0.5", + "inner_wall_line_width": "0.5", + "top_surface_line_width": "0.55", + "internal_solid_infill_line_width": "0.55", + "sparse_infill_line_width": "0.55", + "support_line_width": "0.5", + "tree_support_tip_diameter": "0.5", + "wall_loops": "2", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "grid", + "bottom_solid_infill_flow_ratio": "1.2", + "top_solid_infill_flow_ratio": "1.4", + "bridge_flow": "1", + "internal_bridge_flow": "1", + "bridge_speed": "250", + "internal_bridge_speed": "250", + "bridge_acceleration": "100%", + "thick_bridges": "0", + "thick_internal_bridges": "0", + "brim_type": "outer_only", + "brim_width": "1", + "brim_object_gap": "0", + "filter_out_gap_fill": "13", + "gap_fill_target": "nowhere", + "min_width_top_surface": "200%", + "minimum_sparse_infill_area": "0", + "infill_direction": "0", + "solid_infill_direction": "0", + "infill_wall_overlap": "15%", + "reduce_crossing_wall": "0", + "skirt_loops": "0", + "only_one_wall_top": "1", + "slow_down_layers": "1", + "wall_direction": "cw", + "initial_layer_speed": "300", + "initial_layer_infill_speed": "300", + "initial_layer_travel_speed": "100%", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "100%", + "internal_solid_infill_speed": "400", + "top_surface_speed": "300", + "gap_infill_speed": "350", + "sparse_infill_speed": "500", + "support_speed": "100", + "travel_speed": "1200", + "default_acceleration": "40000", + "initial_layer_acceleration": "20000", + "outer_wall_acceleration": "40000", + "inner_wall_acceleration": "40000", + "top_surface_acceleration": "20000", + "internal_solid_infill_acceleration": "100%", + "travel_acceleration": "40000", + "accel_to_decel_factor": "50%", + "outer_wall_jerk": "20", + "inner_wall_jerk": "20", + "infill_jerk": "20", + "top_surface_jerk": "20", + "initial_layer_jerk": "20", + "travel_jerk": "20", + "overhang_1_4_speed": "160", + "overhang_2_4_speed": "100", + "overhang_3_4_speed": "60", + "overhang_4_4_speed": "40", + "support_top_z_distance": "0.235", + "support_bottom_z_distance": "0.235", + "compatible_printers": [ + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.28mm Fast @Sovol SV06 ACE 0.4 nozzle.json b/resources/profiles/Sovol/process/0.28mm Fast @Sovol SV06 ACE 0.4 nozzle.json index 19862486c1..d4a0610587 100644 --- a/resources/profiles/Sovol/process/0.28mm Fast @Sovol SV06 ACE 0.4 nozzle.json +++ b/resources/profiles/Sovol/process/0.28mm Fast @Sovol SV06 ACE 0.4 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "Ydon9OsrFa7A8L1F", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.28", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.28mm Fast @Sovol Zero 0.4 nozzle.json b/resources/profiles/Sovol/process/0.28mm Fast @Sovol Zero 0.4 nozzle.json new file mode 100644 index 0000000000..1ad361e3e2 --- /dev/null +++ b/resources/profiles/Sovol/process/0.28mm Fast @Sovol Zero 0.4 nozzle.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "name": "0.28mm Fast @Sovol Zero 0.4 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "1VoML2LGDk4TJgLI", + "instantiation": "true", + "layer_height": "0.28", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "60", + "outer_wall_acceleration": "22000", + "top_surface_acceleration": "22000", + "outer_wall_line_width": "0.48", + "line_width": "0.48", + "sparse_infill_density": "10%", + "inner_wall_acceleration": "28000", + "initial_layer_print_height": "0.28", + "initial_layer_line_width": "0.6", + "sparse_infill_line_width": "0.48", + "inner_wall_line_width": "0.48", + "internal_solid_infill_line_width": "0.48", + "support_top_z_distance": "0.30", + "support_line_width": "0.48", + "tree_support_tip_diameter": "0.48", + "support_speed": "120", + "top_surface_line_width": "0.48", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "50%", + "internal_solid_infill_speed": "200", + "top_surface_speed": "200", + "gap_infill_speed": "200", + "sparse_infill_speed": "500", + "compatible_printers": [ + "Sovol Zero 0.4 nozzle", + "Sovol Zero 0.4 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV06 ACE 0.6 nozzle.json b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV06 ACE 0.6 nozzle.json index 0b4210b7f3..39612b5a56 100644 --- a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV06 ACE 0.6 nozzle.json +++ b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV06 ACE 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "n7KDWYlaTDObslGp", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.30", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 0.6 nozzle.json b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 0.6 nozzle.json index aa4c3fb129..3b2cb68b92 100644 --- a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 0.6 nozzle.json +++ b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 0.6 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "VGWhB6OKWJrzkfrC", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.30", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 MAX 0.6 nozzle.json b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 MAX 0.6 nozzle.json index be242638fa..dc8d3df0ba 100644 --- a/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 MAX 0.6 nozzle.json +++ b/resources/profiles/Sovol/process/0.30mm Standard @Sovol SV08 MAX 0.6 nozzle.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "EhJl99Rdzr3bYnjW", "name": "0.30mm Standard @Sovol SV08 MAX 0.6 nozzle", - "from": "system", "inherits": "fdm_process_common", + "from": "system", + "setting_id": "EhJl99Rdzr3bYnjW", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "100%", "layer_height": "0.30", diff --git a/resources/profiles/Sovol/process/0.30mm Standard @Sovol Zero 0.6 nozzle.json b/resources/profiles/Sovol/process/0.30mm Standard @Sovol Zero 0.6 nozzle.json new file mode 100644 index 0000000000..4f1f487bdf --- /dev/null +++ b/resources/profiles/Sovol/process/0.30mm Standard @Sovol Zero 0.6 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "lTAs2USEP8D749K7", + "name": "0.30mm Standard @Sovol Zero 0.6 nozzle", + "from": "system", + "inherits": "fdm_process_zero", + "instantiation": "true", + "layer_height": "0.30", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "50", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.66", + "line_width": "0.66", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.36", + "initial_layer_line_width": "0.9", + "sparse_infill_line_width": "0.66", + "infill_wall_overlap": "20", + "inner_wall_line_width": "0.66", + "wall_loops": "2", + "support_top_z_distance": "0.30", + "support_line_width": "0.66", + "tree_support_tip_diameter": "0.66", + "support_speed": "100", + "top_surface_line_width": "0.66", + "top_shell_layers": "4", + "internal_solid_infill_line_width": "0.66", + "compatible_printers": [ + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV06 ACE 0.8 nozzle.json b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV06 ACE 0.8 nozzle.json index 165d9817f9..964172accb 100644 --- a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV06 ACE 0.8 nozzle.json +++ b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV06 ACE 0.8 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "hkA5BT13eWBp5BKQ", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.40", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 0.8 nozzle.json b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 0.8 nozzle.json index ccb9e95529..10e154842a 100644 --- a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 0.8 nozzle.json +++ b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 0.8 nozzle.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "THLtL3Q597dBsUgK", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.40", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 MAX 0.8 nozzle.json b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 MAX 0.8 nozzle.json index e56135a018..20481d3719 100644 --- a/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 MAX 0.8 nozzle.json +++ b/resources/profiles/Sovol/process/0.40mm Standard @Sovol SV08 MAX 0.8 nozzle.json @@ -1,11 +1,10 @@ { "type": "process", - "setting_id": "5UL3y12LS7RXWO0d", "name": "0.40mm Standard @Sovol SV08 MAX 0.8 nozzle", - "from": "system", "inherits": "fdm_process_common", + "from": "system", + "setting_id": "5UL3y12LS7RXWO0d", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "max_travel_detour_distance": "100%", "layer_height": "0.40", diff --git a/resources/profiles/Sovol/process/0.40mm Standard @Sovol Zero 0.8 nozzle.json b/resources/profiles/Sovol/process/0.40mm Standard @Sovol Zero 0.8 nozzle.json new file mode 100644 index 0000000000..7eeecf4ece --- /dev/null +++ b/resources/profiles/Sovol/process/0.40mm Standard @Sovol Zero 0.8 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "name": "0.40mm Standard @Sovol Zero 0.8 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "8x4CsuqroC9HOdAN", + "instantiation": "true", + "layer_height": "0.40", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "50", + "outer_wall_acceleration": "10000", + "top_surface_acceleration": "5000", + "outer_wall_line_width": "0.88", + "line_width": "0.88", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "12000", + "initial_layer_print_height": "0.48", + "initial_layer_line_width": "1.2", + "sparse_infill_line_width": "0.88", + "infill_wall_overlap": "20", + "inner_wall_line_width": "0.88", + "wall_loops": "2", + "support_top_z_distance": "0.40", + "support_line_width": "0.88", + "tree_support_tip_diameter": "0.88", + "support_speed": "100", + "top_surface_line_width": "0.88", + "top_shell_layers": "4", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "50%", + "internal_solid_infill_speed": "200", + "top_surface_speed": "200", + "gap_infill_speed": "200", + "sparse_infill_speed": "500", + "internal_solid_infill_line_width": "0.88", + "compatible_printers": [ + "Sovol Zero 0.8 nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.42mm Fast @Sovol Zero 0.6 nozzle.json b/resources/profiles/Sovol/process/0.42mm Fast @Sovol Zero 0.6 nozzle.json new file mode 100644 index 0000000000..75a9522c62 --- /dev/null +++ b/resources/profiles/Sovol/process/0.42mm Fast @Sovol Zero 0.6 nozzle.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "name": "0.42mm Fast @Sovol Zero 0.6 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "illqJAnGiA2pY0hw", + "instantiation": "true", + "layer_height": "0.42", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "60", + "outer_wall_acceleration": "22000", + "top_surface_acceleration": "22000", + "outer_wall_line_width": "0.72", + "line_width": "0.72", + "sparse_infill_density": "10%", + "inner_wall_acceleration": "28000", + "initial_layer_print_height": "0.42", + "initial_layer_line_width": "0.9", + "sparse_infill_line_width": "0.72", + "inner_wall_line_width": "0.72", + "internal_solid_infill_line_width": "0.72", + "support_top_z_distance": "0.45", + "support_line_width": "0.72", + "tree_support_tip_diameter": "0.72", + "support_speed": "120", + "top_surface_line_width": "0.72", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "50%", + "internal_solid_infill_speed": "200", + "top_surface_speed": "200", + "gap_infill_speed": "200", + "sparse_infill_speed": "500", + "compatible_printers": [ + "Sovol Zero 0.6 nozzle", + "Sovol Zero 0.6 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.50mm Standard @Sovol Zero 1.0 nozzle.json b/resources/profiles/Sovol/process/0.50mm Standard @Sovol Zero 1.0 nozzle.json new file mode 100644 index 0000000000..c1446a6536 --- /dev/null +++ b/resources/profiles/Sovol/process/0.50mm Standard @Sovol Zero 1.0 nozzle.json @@ -0,0 +1,87 @@ +{ + "type": "process", + "name": "0.50mm Standard @Sovol Zero 1.0 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "E5K55O4RkMyYCAlt", + "instantiation": "true", + "layer_height": "0.50", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bridge_speed": "45", + "internal_bridge_speed": "200", + "default_acceleration": "22000", + "outer_wall_acceleration": "16000", + "top_surface_acceleration": "16000", + "outer_wall_line_width": "1.1", + "line_width": "1.1", + "sparse_infill_density": "15%", + "inner_wall_acceleration": "22000", + "initial_layer_print_height": "0.60", + "initial_layer_line_width": "1.5", + "infill_combination": "0", + "sparse_infill_line_width": "1.1", + "infill_wall_overlap": "20", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.25", + "ironing_speed": "15", + "ironing_type": "no ironing", + "filename_format": "{input_filename_base}_{nozzle_diameter[0]}n_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "20", + "inner_wall_line_width": "1.1", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "0.8", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "1.1", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "tree(auto)", + "support_style": "snug", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.50", + "support_bottom_z_distance": "0.235", + "support_filament": "0", + "support_line_width": "1.1", + "tree_support_tip_diameter": "1.1", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "5", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.2", + "support_bottom_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_pattern": "grid", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "3.5", + "support_speed": "60", + "support_threshold_angle": "50", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "40", + "top_surface_line_width": "1.1", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "outer_wall_speed": "30", + "inner_wall_speed": "45", + "small_perimeter_speed": "45", + "internal_solid_infill_speed": "45", + "top_surface_speed": "35", + "gap_infill_speed": "35", + "sparse_infill_speed": "70", + "travel_acceleration": "38000", + "compatible_printers": [ + "Sovol Zero 1.0 nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.56mm Fast @Sovol Zero 0.8 nozzle.json b/resources/profiles/Sovol/process/0.56mm Fast @Sovol Zero 0.8 nozzle.json new file mode 100644 index 0000000000..3bef013a12 --- /dev/null +++ b/resources/profiles/Sovol/process/0.56mm Fast @Sovol Zero 0.8 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "process", + "name": "0.56mm Fast @Sovol Zero 0.8 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "g9PPRM4FLMwjMUfy", + "instantiation": "true", + "layer_height": "0.56", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "60", + "default_acceleration": "28000", + "outer_wall_acceleration": "22000", + "top_surface_acceleration": "22000", + "outer_wall_line_width": "0.96", + "line_width": "0.96", + "sparse_infill_density": "10%", + "inner_wall_acceleration": "28000", + "initial_layer_print_height": "0.56", + "initial_layer_line_width": "1.2", + "sparse_infill_line_width": "0.96", + "inner_wall_line_width": "0.96", + "internal_solid_infill_line_width": "0.96", + "support_top_z_distance": "0.60", + "support_line_width": "0.96", + "tree_support_tip_diameter": "0.96", + "top_surface_line_width": "0.96", + "top_shell_layers": "4", + "outer_wall_speed": "35", + "inner_wall_speed": "55", + "small_perimeter_speed": "60", + "internal_solid_infill_speed": "55", + "top_surface_speed": "40", + "gap_infill_speed": "40", + "sparse_infill_speed": "80", + "compatible_printers": [ + "Sovol Zero 0.8 nozzle", + "Sovol Zero 0.8 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/0.70mm Fast @Sovol Zero 1.0 nozzle.json b/resources/profiles/Sovol/process/0.70mm Fast @Sovol Zero 1.0 nozzle.json new file mode 100644 index 0000000000..39d5309914 --- /dev/null +++ b/resources/profiles/Sovol/process/0.70mm Fast @Sovol Zero 1.0 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "process", + "name": "0.70mm Fast @Sovol Zero 1.0 nozzle", + "inherits": "fdm_process_zero", + "from": "system", + "setting_id": "fW5KJBVndgQE868q", + "instantiation": "true", + "layer_height": "0.70", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_speed": "60", + "outer_wall_acceleration": "22000", + "top_surface_acceleration": "22000", + "outer_wall_line_width": "1.2", + "line_width": "1.2", + "sparse_infill_density": "10%", + "inner_wall_acceleration": "28000", + "initial_layer_print_height": "0.70", + "initial_layer_line_width": "1.5", + "sparse_infill_line_width": "1.2", + "inner_wall_line_width": "1.2", + "internal_solid_infill_line_width": "1.2", + "support_top_z_distance": "0.75", + "support_line_width": "1.2", + "tree_support_tip_diameter": "1.2", + "support_speed": "120", + "top_surface_line_width": "1.2", + "top_shell_layers": "3", + "compatible_printers": [ + "Sovol Zero 1.0 nozzle", + "Sovol Zero 1.0 Hardened Steel nozzle" + ] +} diff --git a/resources/profiles/Sovol/process/fdm_process_common.json b/resources/profiles/Sovol/process/fdm_process_common.json index 0d9a2c994f..4f32e17501 100644 --- a/resources/profiles/Sovol/process/fdm_process_common.json +++ b/resources/profiles/Sovol/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Sovol/process/fdm_process_zero.json b/resources/profiles/Sovol/process/fdm_process_zero.json new file mode 100644 index 0000000000..da4df2686e --- /dev/null +++ b/resources/profiles/Sovol/process/fdm_process_zero.json @@ -0,0 +1,73 @@ +{ + "type": "process", + "name": "fdm_process_zero", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "1", + "max_travel_detour_distance": "10", + "bottom_surface_pattern": "monotonic", + "bridge_flow": "1.2", + "internal_bridge_flow": "1.2", + "brim_type": "auto_brim", + "brim_width": "5", + "brim_object_gap": "0", + "print_sequence": "by layer", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "0", + "exclude_object": "1", + "wall_infill_order": "inner wall/outer wall/infill", + "infill_direction": "45", + "sparse_infill_pattern": "grid", + "internal_solid_infill_acceleration": "50%", + "initial_layer_acceleration": "1000", + "travel_acceleration": "40000", + "outer_wall_jerk": "5", + "inner_wall_jerk": "5", + "infill_jerk": "5", + "top_surface_jerk": "5", + "initial_layer_jerk": "5", + "travel_jerk": "5", + "tree_support_wall_count": "0", + "reduce_infill_retraction": "1", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "initial_layer_speed": "55", + "initial_layer_infill_speed": "105", + "initial_layer_travel_speed": "60%", + "outer_wall_speed": "350", + "inner_wall_speed": "400", + "small_perimeter_speed": "50%", + "internal_solid_infill_speed": "200", + "top_surface_speed": "200", + "gap_infill_speed": "200", + "sparse_infill_speed": "500", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "25%", + "travel_speed": "1000", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "bridge_acceleration": "50%", + "seam_gap": "10%", + "precise_outer_wall": "1", + "wall_generator": "classic", + "gcode_label_objects": "1", + "slow_down_layers": "3", + "top_solid_infill_flow_ratio": "0.9", + "only_one_wall_top": "1", + "top_bottom_infill_wall_overlap": "25%", + "filter_out_gap_fill": "0", + "detect_narrow_internal_solid_infill": "1", + "thick_bridges": "1", + "bridge_angle": "0", + "initial_layer_line_width": "150%", + "default_acceleration": "40000", + "compatible_printers": [], + "internal_bridge_speed": "150", + "filename_format": "{input_filename_base}_{nozzle_diameter[0]}n_{filament_type[0]}_{layer_height}_{print_time}.gcode" +} diff --git a/resources/profiles/Tiertime.json b/resources/profiles/Tiertime.json index 8134d621df..a7efecf420 100644 --- a/resources/profiles/Tiertime.json +++ b/resources/profiles/Tiertime.json @@ -1,6 +1,6 @@ { "name": "Tiertime", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "Tiertime configurations", "machine_model_list": [ @@ -360,14 +360,6 @@ "name": "fdm_filament_tpu", "sub_path": "filament/fdm_filament_tpu.json" }, - { - "name": "Tiertime ABS", - "sub_path": "filament/Tiertime ABS.json" - }, - { - "name": "Tiertime ABS@300HS", - "sub_path": "filament/Tiertime ABS@300HS.json" - }, { "name": "Generic ABS @Tiertime", "sub_path": "filament/Generic ABS @Tiertime.json" @@ -377,12 +369,12 @@ "sub_path": "filament/Generic ABS @Tiertime 300HS.json" }, { - "name": "Tiertime ASA", - "sub_path": "filament/Tiertime ASA.json" + "name": "Tiertime ABS", + "sub_path": "filament/Tiertime ABS.json" }, { - "name": "Tiertime ASA@300HS", - "sub_path": "filament/Tiertime ASA@300HS.json" + "name": "Tiertime ABS@300HS", + "sub_path": "filament/Tiertime ABS@300HS.json" }, { "name": "Generic ASA @Tiertime", @@ -392,6 +384,14 @@ "name": "Generic ASA @Tiertime 300HS", "sub_path": "filament/Generic ASA @Tiertime 300HS.json" }, + { + "name": "Tiertime ASA", + "sub_path": "filament/Tiertime ASA.json" + }, + { + "name": "Tiertime ASA@300HS", + "sub_path": "filament/Tiertime ASA@300HS.json" + }, { "name": "Generic BVOH @Tiertime", "sub_path": "filament/Generic BVOH @Tiertime.json" @@ -420,6 +420,10 @@ "name": "Generic PA @Tiertime", "sub_path": "filament/Generic PA @Tiertime.json" }, + { + "name": "Generic PA @Tiertime 300HS", + "sub_path": "filament/Generic PA @Tiertime 300HS.json" + }, { "name": "Generic PA-CF @Tiertime", "sub_path": "filament/Generic PA-CF @Tiertime.json" @@ -428,10 +432,6 @@ "name": "Generic PA-CF @Tiertime 300HS", "sub_path": "filament/Generic PA-CF @Tiertime 300HS.json" }, - { - "name": "Generic PA @Tiertime 300HS", - "sub_path": "filament/Generic PA @Tiertime 300HS.json" - }, { "name": "Tiertime PA6-CF", "sub_path": "filament/Tiertime PA6-CF.json" @@ -468,6 +468,10 @@ "name": "Generic PE @Tiertime", "sub_path": "filament/Generic PE @Tiertime.json" }, + { + "name": "Generic PE @Tiertime 300HS", + "sub_path": "filament/Generic PE @Tiertime 300HS.json" + }, { "name": "Generic PE-CF @Tiertime", "sub_path": "filament/Generic PE-CF @Tiertime.json" @@ -476,14 +480,14 @@ "name": "Generic PE-CF @Tiertime 300HS", "sub_path": "filament/Generic PE-CF @Tiertime 300HS.json" }, - { - "name": "Generic PE @Tiertime 300HS", - "sub_path": "filament/Generic PE @Tiertime 300HS.json" - }, { "name": "Generic PETG @Tiertime", "sub_path": "filament/Generic PETG @Tiertime.json" }, + { + "name": "Generic PETG @Tiertime 300HS", + "sub_path": "filament/Generic PETG @Tiertime 300HS.json" + }, { "name": "Generic PETG-CF @Tiertime", "sub_path": "filament/Generic PETG-CF @Tiertime.json" @@ -492,10 +496,6 @@ "name": "Generic PETG-CF @Tiertime 300HS", "sub_path": "filament/Generic PETG-CF @Tiertime 300HS.json" }, - { - "name": "Generic PETG @Tiertime 300HS", - "sub_path": "filament/Generic PETG @Tiertime 300HS.json" - }, { "name": "Tiertime PET-CF", "sub_path": "filament/Tiertime PET-CF.json" @@ -524,6 +524,10 @@ "name": "Generic PLA @Tiertime", "sub_path": "filament/Generic PLA @Tiertime.json" }, + { + "name": "Generic PLA @Tiertime 300HS", + "sub_path": "filament/Generic PLA @Tiertime 300HS.json" + }, { "name": "Generic PLA High Speed @Tiertime", "sub_path": "filament/Generic PLA High Speed @Tiertime.json" @@ -548,10 +552,6 @@ "name": "Generic PLA-CF @Tiertime 300HS", "sub_path": "filament/Generic PLA-CF @Tiertime 300HS.json" }, - { - "name": "Generic PLA @Tiertime 300HS", - "sub_path": "filament/Generic PLA @Tiertime 300HS.json" - }, { "name": "Tiertime PLA", "sub_path": "filament/Tiertime PLA.json" @@ -572,6 +572,10 @@ "name": "Generic PP @Tiertime", "sub_path": "filament/Generic PP @Tiertime.json" }, + { + "name": "Generic PP @Tiertime 300HS", + "sub_path": "filament/Generic PP @Tiertime 300HS.json" + }, { "name": "Generic PP-CF @Tiertime", "sub_path": "filament/Generic PP-CF @Tiertime.json" @@ -588,10 +592,6 @@ "name": "Generic PP-GF @Tiertime 300HS", "sub_path": "filament/Generic PP-GF @Tiertime 300HS.json" }, - { - "name": "Generic PP @Tiertime 300HS", - "sub_path": "filament/Generic PP @Tiertime 300HS.json" - }, { "name": "Generic PPA-CF @Tiertime", "sub_path": "filament/Generic PPA-CF @Tiertime.json" @@ -612,6 +612,10 @@ "name": "Generic PPS @Tiertime", "sub_path": "filament/Generic PPS @Tiertime.json" }, + { + "name": "Generic PPS @Tiertime 300HS", + "sub_path": "filament/Generic PPS @Tiertime 300HS.json" + }, { "name": "Generic PPS-CF @Tiertime", "sub_path": "filament/Generic PPS-CF @Tiertime.json" @@ -620,10 +624,6 @@ "name": "Generic PPS-CF @Tiertime 300HS", "sub_path": "filament/Generic PPS-CF @Tiertime 300HS.json" }, - { - "name": "Generic PPS @Tiertime 300HS", - "sub_path": "filament/Generic PPS @Tiertime 300HS.json" - }, { "name": "Generic PVA @Tiertime", "sub_path": "filament/Generic PVA @Tiertime.json" diff --git a/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json b/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json index 7f937ef561..18e17f9b05 100644 --- a/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json +++ b/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json @@ -8,5 +8,5 @@ "bed_model": "", "bed_texture": "", "hotend_model": "", - "default_materials": "Tiertime ABS;Tiertime PLA" + "default_materials": "Tiertime ABS;Tiertime PLA;Tiertime PLA@300HS" } diff --git a/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json b/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json index 0ae3b64d9a..cab3e4503c 100644 --- a/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json +++ b/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json @@ -8,5 +8,5 @@ "bed_model": "", "bed_texture": "", "hotend_model": "", - "default_materials": "Tiertime ABS;Tiertime PLA" + "default_materials": "Tiertime ABS;Tiertime PLA;Tiertime PLA@300HS" } diff --git a/resources/profiles/Tiertime/machine/fdm_machine_common.json b/resources/profiles/Tiertime/machine/fdm_machine_common.json index d4a5c3be25..fbe40f97e3 100644 --- a/resources/profiles/Tiertime/machine/fdm_machine_common.json +++ b/resources/profiles/Tiertime/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Tiertime/machine/fdm_tiertime_common.json b/resources/profiles/Tiertime/machine/fdm_tiertime_common.json index de802f566a..66d1d1e858 100644 --- a/resources/profiles/Tiertime/machine/fdm_tiertime_common.json +++ b/resources/profiles/Tiertime/machine/fdm_tiertime_common.json @@ -1,9 +1,9 @@ { "type": "machine", "name": "fdm_tiertime_common", + "inherits": "fdm_machine_common", "from": "system", "instantiation": "false", - "inherits": "fdm_machine_common", "gcode_flavor": "klipper", "machine_max_acceleration_e": [ "5000", @@ -117,15 +117,12 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ "1" ], - "default_filament_profile": [ - "" - ], + "default_filament_profile": [], "default_print_profile": "0.20mm Standard @Tiertime UP400 Pro", "bed_exclude_area": [ "0x0" diff --git a/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP400 Pro 0.6 nozzle.json index d9ef9fe332..53b0175f21 100644 --- a/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a smaller layer height and results in smoother surface and higher printing quality.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP600 HS 0.6 nozzle.json index 241b319114..902078336c 100644 --- a/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.18mm Fine @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a smaller layer height and results in smoother surface and higher printing quality.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP400 Pro 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP400 Pro 0.8 nozzle.json index c45c24b84a..81ab969572 100644 --- a/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP400 Pro 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP400 Pro 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a smaller layer height and results in smoother surface and higher printing quality.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP600 HS 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP600 HS 0.8 nozzle.json index 0eadac356d..d62180d9aa 100644 --- a/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP600 HS 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.24mm Fine @Tiertime UP600 HS 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a smaller layer height and results in smoother surface and higher printing quality.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP400 Pro 0.6 nozzle.json index abccc0329b..a2248af5dc 100644 --- a/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a balanced layer height for good quality and reasonable printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP600 HS 0.6 nozzle.json index 9e04a6e6b5..26b61969cc 100644 --- a/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.24mm Standard @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a balanced layer height for good quality and reasonable printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP400 Pro 0.6 nozzle.json index 34d74cb1ad..50635f3825 100644 --- a/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP600 HS 0.6 nozzle.json index 747872499e..95bffc096b 100644 --- a/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.30mm Standard @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP400 Pro 0.6 nozzle.json index 82e011345f..38a14009e4 100644 --- a/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height with optimized settings for stronger parts.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "sparse_infill_density": "25%", "wall_loops": "3", "compatible_printers": [ diff --git a/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP600 HS 0.6 nozzle.json index 03d21e34d1..41c823cfa7 100644 --- a/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.30mm Strength @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height with optimized settings for stronger parts.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "sparse_infill_density": "25%", "wall_loops": "3", "compatible_printers": [ diff --git a/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP400 Pro 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP400 Pro 0.8 nozzle.json index ff33334f90..f03358440b 100644 --- a/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP400 Pro 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP400 Pro 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a balanced layer height for good quality and reasonable printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP600 HS 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP600 HS 0.8 nozzle.json index 8eaeb571af..ffa7019f3d 100644 --- a/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP600 HS 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.32mm Standard @Tiertime UP600 HS 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a balanced layer height for good quality and reasonable printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP400 Pro 0.6 nozzle.json index 71090fa613..fc918c5c68 100644 --- a/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a bigger layer height for faster printing but with more visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP600 HS 0.6 nozzle.json index 5e192e28ee..45772b22a5 100644 --- a/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.36mm Draft @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a bigger layer height for faster printing but with more visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP400 Pro 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP400 Pro 0.8 nozzle.json index d3518d81d5..f308def5b4 100644 --- a/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP400 Pro 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP400 Pro 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP600 HS 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP600 HS 0.8 nozzle.json index ef0ee0040d..ae3b7dc3d3 100644 --- a/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP600 HS 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.40mm Standard @Tiertime UP600 HS 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP400 Pro 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP400 Pro 0.6 nozzle.json index 1e850801ca..3e06b09767 100644 --- a/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP400 Pro 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP400 Pro 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has the biggest layer height for fastest printing but with very visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP600 HS 0.6 nozzle.json b/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP600 HS 0.6 nozzle.json index 7d2afaea09..dfa351b066 100644 --- a/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP600 HS 0.6 nozzle.json +++ b/resources/profiles/Tiertime/process/0.42mm Extra Draft @Tiertime UP600 HS 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has the biggest layer height for fastest printing but with very visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.6 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP400 Pro 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP400 Pro 0.8 nozzle.json index f48c94c1b1..0e5575991d 100644 --- a/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP400 Pro 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP400 Pro 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a bigger layer height for faster printing but with more visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP600 HS 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP600 HS 0.8 nozzle.json index c09e4c24e8..34a9b0439b 100644 --- a/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP600 HS 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.48mm Draft @Tiertime UP600 HS 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a bigger layer height for faster printing but with more visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP400 Pro 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP400 Pro 0.8 nozzle.json index 4ba7a7af61..059ac43c3f 100644 --- a/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP400 Pro 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP400 Pro 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has the biggest layer height for fastest printing but with very visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP400 Pro 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP600 HS 0.8 nozzle.json b/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP600 HS 0.8 nozzle.json index dab79b259d..54af1e8588 100644 --- a/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP600 HS 0.8 nozzle.json +++ b/resources/profiles/Tiertime/process/0.56mm Extra Draft @Tiertime UP600 HS 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has the biggest layer height for fastest printing but with very visible layer lines.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Tiertime UP600 HS 0.8 nozzle" ] diff --git a/resources/profiles/Tiertime/process/fdm_process_common.json b/resources/profiles/Tiertime/process/fdm_process_common.json index ca4d181e78..26eb3a50a0 100644 --- a/resources/profiles/Tiertime/process/fdm_process_common.json +++ b/resources/profiles/Tiertime/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "50", diff --git a/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json b/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json index 3b0906e2e9..6cd3aa3014 100644 --- a/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json +++ b/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json @@ -21,7 +21,6 @@ "top_surface_acceleration": "2000", "initial_layer_acceleration": "500", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_line_width": "0.5", "initial_layer_speed": "50", "initial_layer_infill_speed": "90", diff --git a/resources/profiles/Tronxy.json b/resources/profiles/Tronxy.json index 32cf5ffa69..ac146b9850 100644 --- a/resources/profiles/Tronxy.json +++ b/resources/profiles/Tronxy.json @@ -1,6 +1,6 @@ { "name": "Tronxy", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Tronxy configurations", "machine_model_list": [ diff --git a/resources/profiles/Tronxy/machine/fdm_machine_common.json b/resources/profiles/Tronxy/machine/fdm_machine_common.json index fc02a60619..2ca47511d7 100644 --- a/resources/profiles/Tronxy/machine/fdm_machine_common.json +++ b/resources/profiles/Tronxy/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Tronxy/process/fdm_process_common.json b/resources/profiles/Tronxy/process/fdm_process_common.json index 8c2401bfb7..7f80f8bc79 100644 --- a/resources/profiles/Tronxy/process/fdm_process_common.json +++ b/resources/profiles/Tronxy/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json b/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json index beca23a8bb..940a5e590d 100644 --- a/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json +++ b/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/TwoTrees.json b/resources/profiles/TwoTrees.json index 3cd77c911b..5d97581ffc 100644 --- a/resources/profiles/TwoTrees.json +++ b/resources/profiles/TwoTrees.json @@ -1,6 +1,6 @@ { "name": "TwoTrees", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "1", "description": "TwoTrees configurations", "machine_model_list": [ @@ -80,13 +80,13 @@ } ], "filament_list": [ - { - "name": "Generic TPU 95A @TwoTrees SK1", - "sub_path": "filament/Generic TPU 95A @TwoTrees SK1.json" - }, { "name": "Generic HS PLA @TwoTrees SK1", "sub_path": "filament/Generic HS PLA @TwoTrees SK1.json" + }, + { + "name": "Generic TPU 95A @TwoTrees SK1", + "sub_path": "filament/Generic TPU 95A @TwoTrees SK1.json" } ], "machine_list": [ diff --git a/resources/profiles/TwoTrees/machine/TwoTrees SK1.json b/resources/profiles/TwoTrees/machine/TwoTrees SK1.json index 5674e7c408..a15fdfd12e 100644 --- a/resources/profiles/TwoTrees/machine/TwoTrees SK1.json +++ b/resources/profiles/TwoTrees/machine/TwoTrees SK1.json @@ -8,5 +8,5 @@ "bed_model": "TwoTrees SK1_buildplate_model.stl", "bed_texture": "TwoTrees SK1_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic TPU 95A @TwoTrees SK1;TwoTrees Generic PETG @SK1;Generic HS PLA @TwoTrees SK1;TwoTrees Generic PLA @SK1;TwoTrees Generic PLA-CF @SK1;TwoTrees Generic PLA Matte @SK1;TwoTrees Generic PLA Silk @SK1" + "default_materials": "Generic TPU 95A @TwoTrees SK1;Generic PETG @System;Generic HS PLA @TwoTrees SK1;Generic PLA @System;Generic PLA-CF @System;Generic PLA Matte @System;Generic PLA Silk @System" } diff --git a/resources/profiles/TwoTrees/machine/TwoTrees SP-5 Klipper.json b/resources/profiles/TwoTrees/machine/TwoTrees SP-5 Klipper.json index a1e8548b5b..cde6900374 100644 --- a/resources/profiles/TwoTrees/machine/TwoTrees SP-5 Klipper.json +++ b/resources/profiles/TwoTrees/machine/TwoTrees SP-5 Klipper.json @@ -8,5 +8,5 @@ "bed_model": "SP-5_bed.stl", "bed_texture": "SP-5_texture.svg", "hotend_model": "", - "default_materials": "TwoTrees Generic ABS;TwoTrees Generic PLA;TwoTrees Generic PLA-CF;TwoTrees Generic PETG;TwoTrees Generic TPU;TwoTrees Generic ASA;TwoTrees Generic PC;TwoTrees Generic PVA;TwoTrees Generic PA;TwoTrees Generic PA-CF" + "default_materials": "Generic ABS @System;Generic PLA @System;Generic PLA-CF @System;Generic PETG @System;Generic TPU @System;Generic ASA @System;Generic PC @System;Generic PVA @System;Generic PA @System;Generic PA-CF @System" } diff --git a/resources/profiles/TwoTrees/machine/fdm_klipper_common.json b/resources/profiles/TwoTrees/machine/fdm_klipper_common.json index ce04b2d6e8..596334cf2e 100644 --- a/resources/profiles/TwoTrees/machine/fdm_klipper_common.json +++ b/resources/profiles/TwoTrees/machine/fdm_klipper_common.json @@ -118,7 +118,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE\n", @@ -126,7 +125,7 @@ "1" ], "default_filament_profile": [ - "TwoTrees Generic PLA" + "Generic PLA @System" ], "bed_exclude_area": [ "0x0" diff --git a/resources/profiles/TwoTrees/machine/fdm_machine_common.json b/resources/profiles/TwoTrees/machine/fdm_machine_common.json index fc02a60619..2ca47511d7 100644 --- a/resources/profiles/TwoTrees/machine/fdm_machine_common.json +++ b/resources/profiles/TwoTrees/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/TwoTrees/process/fdm_process_TwoTrees_common.json b/resources/profiles/TwoTrees/process/fdm_process_TwoTrees_common.json index db4e413741..bcfdfdbb66 100644 --- a/resources/profiles/TwoTrees/process/fdm_process_TwoTrees_common.json +++ b/resources/profiles/TwoTrees/process/fdm_process_TwoTrees_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/TwoTrees/process/fdm_process_common.json b/resources/profiles/TwoTrees/process/fdm_process_common.json index c769a23e7c..651e12c439 100644 --- a/resources/profiles/TwoTrees/process/fdm_process_common.json +++ b/resources/profiles/TwoTrees/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/UltiMaker.json b/resources/profiles/UltiMaker.json index da2b5442a1..5d55de2c8d 100644 --- a/resources/profiles/UltiMaker.json +++ b/resources/profiles/UltiMaker.json @@ -1,13 +1,25 @@ { "name": "UltiMaker", "url": "", - "version": "02.04.00.01", + "version": "02.04.00.04", "force_update": "0", "description": "UltiMaker configurations", "machine_model_list": [ { "name": "UltiMaker 2", "sub_path": "machine/UltiMaker 2.json" + }, + { + "name": "UltiMaker 2 extended+", + "sub_path": "machine/UltiMaker 2 extended+.json" + }, + { + "name": "UltiMaker 2+", + "sub_path": "machine/UltiMaker 2+.json" + }, + { + "name": "UltiMaker S5", + "sub_path": "machine/UltiMaker S5.json" } ], "process_list": [ @@ -16,19 +28,184 @@ "sub_path": "process/fdm_process_common.json" }, { - "name": "0.12mm Fine @UltiMaker 2", - "sub_path": "process/0.12mm Fine @UltiMaker 2.json" + "name": "0.10mm Fine @UltiMaker 2", + "sub_path": "process/0.10mm Fine @UltiMaker 2.json" }, { - "name": "0.18mm Standard @UltiMaker 2", - "sub_path": "process/0.18mm Standard @UltiMaker 2.json" + "name": "0.15mm Standard @UltiMaker 2", + "sub_path": "process/0.15mm Standard @UltiMaker 2.json" }, { - "name": "0.25mm Draft @UltiMaker 2", - "sub_path": "process/0.25mm Darft @UltiMaker 2.json" + "name": "0.15mm Standard @UltiMaker 2 0.6 nozzle", + "sub_path": "process/0.15mm Standard @UltiMaker 2 0.6 nozzle.json" + }, + { + "name": "0.18mm Standard @UltiMaker S5", + "sub_path": "process/0.18mm Standard @UltiMaker S5.json" + }, + { + "name": "0.20mm Draft @UltiMaker 2", + "sub_path": "process/0.20mm Draft @UltiMaker 2.json" + }, + { + "name": "0.20mm Standard @UltiMaker 2 0.8 nozzle", + "sub_path": "process/0.20mm Standard @UltiMaker 2 0.8 nozzle.json" + }, + { + "name": "0.10mm Fine @UltiMaker 2+", + "sub_path": "process/0.10mm Fine @UltiMaker 2+.json" + }, + { + "name": "0.15mm Standard @UltiMaker 2+", + "sub_path": "process/0.15mm Standard @UltiMaker 2+.json" + }, + { + "name": "0.15mm Standard @UltiMaker 2+ 0.6 nozzle", + "sub_path": "process/0.15mm Standard @UltiMaker 2+ 0.6 nozzle.json" + }, + { + "name": "0.2mm Fast @UltiMaker S5", + "sub_path": "process/0.2mm Fast @UltiMaker S5.json" + }, + { + "name": "0.20mm Draft @UltiMaker 2+", + "sub_path": "process/0.20mm Draft @UltiMaker 2+.json" + }, + { + "name": "0.20mm Standard @UltiMaker 2+ 0.8 nozzle", + "sub_path": "process/0.20mm Standard @UltiMaker 2+ 0.8 nozzle.json" + }, + { + "name": "0.10mm Fine @UltiMaker 2 extended+", + "sub_path": "process/0.10mm Fine @UltiMaker 2 extended+.json" + }, + { + "name": "0.15mm Standard @UltiMaker 2 extended+", + "sub_path": "process/0.15mm Standard @UltiMaker 2 extended+.json" + }, + { + "name": "0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle", + "sub_path": "process/0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle.json" + }, + { + "name": "0.20mm Draft @UltiMaker 2 extended+", + "sub_path": "process/0.20mm Draft @UltiMaker 2 extended+.json" + }, + { + "name": "0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle", + "sub_path": "process/0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle.json" + } + ], + "filament_list": [ + { + "name": "Generic ABS @UltiMaker 2 0.4 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 0.4 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 0.4 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 0.4 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 0.4 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 0.4 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2 0.6 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 0.6 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2 0.8 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 0.8 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2+ 0.4 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2+ 0.4 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 0.6 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 0.6 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 0.8 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 0.8 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2+ 0.4 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2+ 0.4 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 0.6 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 0.6 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 0.8 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 0.8 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2+ 0.4 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2+ 0.4 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2+ 0.6 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2+ 0.6 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2+ 0.8 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2+ 0.8 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2 extended+ 0.4 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 extended+ 0.4 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2+ 0.6 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2+ 0.6 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2+ 0.8 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2+ 0.8 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 extended+ 0.4 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 extended+ 0.4 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2+ 0.6 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2+ 0.6 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2+ 0.8 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2+ 0.8 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 extended+ 0.4 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 extended+ 0.4 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2 extended+ 0.6 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 extended+ 0.6 nozzle.json" + }, + { + "name": "Generic ABS @UltiMaker 2 extended+ 0.8 nozzle", + "sub_path": "filament/Generic ABS @UltiMaker 2 extended+ 0.8 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 extended+ 0.6 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 extended+ 0.6 nozzle.json" + }, + { + "name": "Generic PETG @UltiMaker 2 extended+ 0.8 nozzle", + "sub_path": "filament/Generic PETG @UltiMaker 2 extended+ 0.8 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 extended+ 0.6 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 extended+ 0.6 nozzle.json" + }, + { + "name": "Generic PLA @UltiMaker 2 extended+ 0.8 nozzle", + "sub_path": "filament/Generic PLA @UltiMaker 2 extended+ 0.8 nozzle.json" } ], - "filament_list": [], "machine_list": [ { "name": "fdm_machine_common", @@ -37,6 +214,46 @@ { "name": "UltiMaker 2 0.4 nozzle", "sub_path": "machine/UltiMaker 2 0.4 nozzle.json" + }, + { + "name": "UltiMaker S5 0.4 nozzle", + "sub_path": "machine/UltiMaker S5 0.4 nozzle.json" + }, + { + "name": "UltiMaker 2 0.6 nozzle", + "sub_path": "machine/UltiMaker 2 0.6 nozzle.json" + }, + { + "name": "UltiMaker 2 0.8 nozzle", + "sub_path": "machine/UltiMaker 2 0.8 nozzle.json" + }, + { + "name": "UltiMaker 2+ 0.4 nozzle", + "sub_path": "machine/UltiMaker 2+ 0.4 nozzle.json" + }, + { + "name": "UltiMaker S5 0.4 nozzle - Single Extruder", + "sub_path": "machine/UltiMaker S5 0.4 nozzle Single Extruder.json" + }, + { + "name": "UltiMaker 2+ 0.6 nozzle", + "sub_path": "machine/UltiMaker 2+ 0.6 nozzle.json" + }, + { + "name": "UltiMaker 2+ 0.8 nozzle", + "sub_path": "machine/UltiMaker 2+ 0.8 nozzle.json" + }, + { + "name": "UltiMaker 2 extended+ 0.4 nozzle", + "sub_path": "machine/UltiMaker 2 extended+ 0.4 nozzle.json" + }, + { + "name": "UltiMaker 2 extended+ 0.6 nozzle", + "sub_path": "machine/UltiMaker 2 extended+ 0.6 nozzle.json" + }, + { + "name": "UltiMaker 2 extended+ 0.8 nozzle", + "sub_path": "machine/UltiMaker 2 extended+ 0.8 nozzle.json" } ] } diff --git a/resources/profiles/UltiMaker/UltiMaker 2 extended+_cover.png b/resources/profiles/UltiMaker/UltiMaker 2 extended+_cover.png new file mode 100644 index 0000000000..b414d18fc6 Binary files /dev/null and b/resources/profiles/UltiMaker/UltiMaker 2 extended+_cover.png differ diff --git a/resources/profiles/UltiMaker/UltiMaker 2+_cover.png b/resources/profiles/UltiMaker/UltiMaker 2+_cover.png new file mode 100644 index 0000000000..3007c8b28e Binary files /dev/null and b/resources/profiles/UltiMaker/UltiMaker 2+_cover.png differ diff --git a/resources/profiles/UltiMaker/UltiMaker S5_cover.png b/resources/profiles/UltiMaker/UltiMaker S5_cover.png new file mode 100644 index 0000000000..f123d6c81c Binary files /dev/null and b/resources/profiles/UltiMaker/UltiMaker S5_cover.png differ diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.4 nozzle.json new file mode 100644 index 0000000000..2d35c6e350 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.4 nozzle.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 0.4 nozzle", + "inherits": "Generic ABS @System", + "from": "system", + "setting_id": "z65YPRPvIareA5TJ", + "filament_id": "OFY9muEs", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "50" + ], + "overhang_fan_speed": [ + "50" + ], + "fan_cooling_layer_time": [ + "15" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "filament_flow_ratio": [ + "1" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.6 nozzle.json new file mode 100644 index 0000000000..3f10cf2170 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.6 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 0.6 nozzle", + "inherits": "Generic ABS @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "eo9lcJAw8yrGBWr8", + "filament_id": "OFY9muEs", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "compatible_printers": [ + "UltiMaker 2 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.8 nozzle.json new file mode 100644 index 0000000000..e445d8afd2 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 0.8 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 0.8 nozzle", + "inherits": "Generic ABS @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "1VE4ie9s2gYKUx7r", + "filament_id": "OFY9muEs", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "compatible_printers": [ + "UltiMaker 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.4 nozzle.json new file mode 100644 index 0000000000..4117cc85a4 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 extended+ 0.4 nozzle", + "inherits": "Generic ABS @UltiMaker 2+ 0.4 nozzle", + "from": "system", + "setting_id": "tVIm7URv58VeDdQw", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.6 nozzle.json new file mode 100644 index 0000000000..29b72e2ef3 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 extended+ 0.6 nozzle", + "inherits": "Generic ABS @UltiMaker 2+ 0.6 nozzle", + "from": "system", + "setting_id": "YtLYCadAif8luymA", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.6 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.8 nozzle.json new file mode 100644 index 0000000000..d79dde7218 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2 extended+ 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2 extended+ 0.8 nozzle", + "inherits": "Generic ABS @UltiMaker 2+ 0.8 nozzle", + "from": "system", + "setting_id": "VgBNyDQx42vL1rLK", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.8 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.4 nozzle.json new file mode 100644 index 0000000000..8a091b2f2b --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.4 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2+ 0.4 nozzle", + "inherits": "Generic ABS @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "x2noNNHwbDanbr82", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.6 nozzle.json new file mode 100644 index 0000000000..df75ca752c --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.6 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2+ 0.6 nozzle", + "inherits": "Generic ABS @UltiMaker 2 0.6 nozzle", + "from": "system", + "setting_id": "ZSQbLmnKDtdZQN0H", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.8 nozzle.json new file mode 100644 index 0000000000..4b621ff276 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic ABS @UltiMaker 2+ 0.8 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic ABS @UltiMaker 2+ 0.8 nozzle", + "inherits": "Generic ABS @UltiMaker 2 0.8 nozzle", + "from": "system", + "setting_id": "DHWugcEJWHQQ6EZH", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.4 nozzle.json new file mode 100644 index 0000000000..ff74b46449 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.4 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 0.4 nozzle", + "inherits": "Generic PETG @System", + "from": "system", + "setting_id": "WR3y0y8gmWH40llb", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.6 nozzle.json new file mode 100644 index 0000000000..a0a8efb1e3 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.6 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 0.6 nozzle", + "inherits": "Generic PETG @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "koLquuN6eQo8Zn5V", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "compatible_printers": [ + "UltiMaker 2 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.8 nozzle.json new file mode 100644 index 0000000000..10590aa46a --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 0.8 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 0.8 nozzle", + "inherits": "Generic PETG @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "ZtVG7edcUktSNI0P", + "filament_id": "OFYPdQJh", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "compatible_printers": [ + "UltiMaker 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.4 nozzle.json new file mode 100644 index 0000000000..b17e6e16cb --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 extended+ 0.4 nozzle", + "inherits": "Generic PETG @UltiMaker 2+ 0.4 nozzle", + "from": "system", + "setting_id": "yk4J40ItJ5NRDjMp", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.6 nozzle.json new file mode 100644 index 0000000000..7345d479ec --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 extended+ 0.6 nozzle", + "inherits": "Generic PETG @UltiMaker 2+ 0.6 nozzle", + "from": "system", + "setting_id": "WLi5JuZM7vsLgW16", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.6 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.8 nozzle.json new file mode 100644 index 0000000000..cbb2074697 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2 extended+ 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2 extended+ 0.8 nozzle", + "inherits": "Generic PETG @UltiMaker 2+ 0.8 nozzle", + "from": "system", + "setting_id": "SKoqZdKJH3MyHy7n", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.8 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.4 nozzle.json new file mode 100644 index 0000000000..51eef5e94c --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.4 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2+ 0.4 nozzle", + "inherits": "Generic PETG @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "JbOqQrFc6Jv7rZrn", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.6 nozzle.json new file mode 100644 index 0000000000..1d2f250799 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.6 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2+ 0.6 nozzle", + "inherits": "Generic PETG @UltiMaker 2 0.6 nozzle", + "from": "system", + "setting_id": "jFSKG5pAy9bhdQvN", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.8 nozzle.json new file mode 100644 index 0000000000..3069133ea1 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PETG @UltiMaker 2+ 0.8 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PETG @UltiMaker 2+ 0.8 nozzle", + "inherits": "Generic PETG @UltiMaker 2 0.8 nozzle", + "from": "system", + "setting_id": "Es1GCPcmcxB7vZj9", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.4 nozzle.json new file mode 100644 index 0000000000..c2c9b67fb9 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.4 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 0.4 nozzle", + "inherits": "Generic PLA @System", + "from": "system", + "setting_id": "3i42yTge4Nm6R2Yo", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.6 nozzle.json new file mode 100644 index 0000000000..3f4c74f8ab --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.6 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 0.6 nozzle", + "inherits": "Generic PLA @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "yvWYFuY9SPIwwSVG", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "UltiMaker 2 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.8 nozzle.json new file mode 100644 index 0000000000..91aaf5f1dc --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 0.8 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 0.8 nozzle", + "inherits": "Generic PLA @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "4yvMTmMYkCvggt0f", + "filament_id": "OFDSrzZ8", + "instantiation": "true", + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "UltiMaker 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.4 nozzle.json new file mode 100644 index 0000000000..ea8c94f19e --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 extended+ 0.4 nozzle", + "inherits": "Generic PLA @UltiMaker 2+ 0.4 nozzle", + "from": "system", + "setting_id": "O8jPrL7F3lEkG6qw", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.6 nozzle.json new file mode 100644 index 0000000000..993d8be5a9 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 extended+ 0.6 nozzle", + "inherits": "Generic PLA @UltiMaker 2+ 0.6 nozzle", + "from": "system", + "setting_id": "6dXfh6ORD4bBIj4K", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.6 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.8 nozzle.json new file mode 100644 index 0000000000..447a58f87a --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2 extended+ 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2 extended+ 0.8 nozzle", + "inherits": "Generic PLA @UltiMaker 2+ 0.8 nozzle", + "from": "system", + "setting_id": "25cn8lVM0gKyKMJJ", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.8 nozzle"] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.4 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.4 nozzle.json new file mode 100644 index 0000000000..ccf80896a9 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.4 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2+ 0.4 nozzle", + "inherits": "Generic PLA @UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "lwzg1neqQdELxzHx", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.6 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.6 nozzle.json new file mode 100644 index 0000000000..b08163a85f --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.6 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2+ 0.6 nozzle", + "inherits": "Generic PLA @UltiMaker 2 0.6 nozzle", + "from": "system", + "setting_id": "bouWalAyezeLuqzh", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.8 nozzle.json b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.8 nozzle.json new file mode 100644 index 0000000000..52cf962376 --- /dev/null +++ b/resources/profiles/UltiMaker/filament/Generic PLA @UltiMaker 2+ 0.8 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "Generic PLA @UltiMaker 2+ 0.8 nozzle", + "inherits": "Generic PLA @UltiMaker 2 0.8 nozzle", + "from": "system", + "setting_id": "Z5vNrOdmFhuVIGpL", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json index b02da9ca09..5b6d4aab1a 100644 --- a/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.4 nozzle.json @@ -1,119 +1,30 @@ { - "type": "machine", - "name": "UltiMaker 2 0.4 nozzle", - "inherits": "fdm_machine_common", - "from": "system", - "setting_id": "Jl8sUeuACVyrnrst", - "instantiation": "true", - "printer_model": "UltiMaker 2", - "default_print_profile": "0.18mm Standard @UltiMaker 2", - "nozzle_diameter": [ - "0.4" - ], - "printable_area": [ - "0x0", - "224x0", - "224x225", - "0x225" - ], - "printable_height": "212", - "nozzle_type": "undefine", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "1500", - "1500" - ], - "machine_max_acceleration_retracting": [ - "1500", - "1500" - ], - "machine_max_acceleration_travel": [ - "3000", - "3000" - ], - "machine_max_acceleration_x": [ - "3000", - "3000" - ], - "machine_max_acceleration_y": [ - "3000", - "3000" - ], - "machine_max_acceleration_z": [ - "500", - "500" - ], - "machine_max_speed_e": [ - "120", - "120" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "12", - "12" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "20", - "20" - ], - "machine_max_jerk_y": [ - "20", - "20" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "machine_max_junction_deviation": [ - "0.013", - "0" - ], - "max_layer_height": [ - "0.3" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Qidi", - "retraction_minimum_travel": [ - "5" - ], - "retract_before_wipe": [ - "70%" - ], - "retraction_length": [ - "4.5" - ], - "retract_length_toolchange": [ - "10" - ], - "retraction_speed": [ - "35" - ], - "deretraction_speed": [ - "0" - ], - "wipe_distance": [ - "0.2" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @System" - ], - "machine_start_gcode": "; # # # # # # START Header\nG21; metric values\nG90; absolute positioning\nM82 ; set extruder to absolute mode\nM107; start with the fan off\n\nM140 S[bed_temperature_initial_layer_single]; start bed heating\n\nG28 X0 Y0 Z0; move X/Y/Z to endstops\nG1 X1 Y6 F15000; move X/Y to start position\nG1 Z35 F9000; move Z to start position\n\n; Wait for bed and nozzle temperatures\nM190 S{hot_plate_temp_initial_layer[0] - 5}; wait for bed temperature - 5\nM140 S[bed_temperature_initial_layer_single]; continue bed heating\nM109 S[nozzle_temperature_initial_layer]; wait for nozzle temperature\n\n; Purge and prime\nM83; set extruder to relative mode\nG92 E0; reset extrusion distance\nG0 X0 Y1 F10000\nG1 F150 E20 ; compress the bowden tube\nG1 E-8 F1200\nG0 X30 Y1 F5000\nG0 F1200 Z{initial_layer_print_height/2}; Cut the connection to priming blob\nG0 X100 F10000; disconnect with the prime blob\nG0 X50; Avoid the metal clip holding the Ultimaker glass plate\nG0 Z0.2 F720\nG1 E8 F1200\nG1 X80 E3 F1000; intro line 1\nG1 X110 E4 F1000 ; intro line 2\nG1 X140 F600; drag filament to decompress bowden tube\nG1 X100 F3200; wipe backwards a bit\nG1 X150 F3200; back to where there is no plastic: avoid dragging\nG92 E0; reset extruder reference\nM82; set extruder to absolute mode\n\n; # # # # # # END Header", - "machine_end_gcode": "; # # # # # # START Footer\nG91; relative coordinates\n;G1 E-1 F1200; retract the filament\nG1 Z+15 X-10 Y-10 E-7 F6000; move Z a bit\n; G1 X-10 Y-10 F6000; move XY a bit\nG1 E-5.5 F300; retract the filament\nG28 X0 Y0; move X/Y to min endstops, so the head is out of the way\nM104 S0; extruder heater off\nM140 S0; heated bed heater off (if you have it)\nM84; disable motors\n; # # # # # # END Footer\n", - "scan_first_layer": "0" + "type": "machine", + "name": "UltiMaker 2 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "Jl8sUeuACVyrnrst", + "instantiation": "true", + + "printer_model": "UltiMaker 2", + "default_print_profile": "0.15mm Standard @UltiMaker 2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "223x0", + "223x223", + "0x223" + ], + "printable_height": "205", + "nozzle_type": "undefine", + "default_filament_profile": [ + "Generic PLA @UltiMaker 2 0.4 nozzle" + ], + "scan_first_layer": "0", + "printer_variant": "0.4", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140" } diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 0.6 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.6 nozzle.json new file mode 100644 index 0000000000..1a8fb93c8a --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.6 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "machine", + "name": "UltiMaker 2 0.6 nozzle", + "inherits": "UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "p3SYqB6dpxEMo1pb", + "instantiation": "true", + "printer_model": "UltiMaker 2", + "default_print_profile": "0.15mm Standard @UltiMaker 2 0.6 nozzle", + "nozzle_diameter": [ + "0.6" + ], + "max_layer_height": [ + "0.45" + ], + "min_layer_height": [ + "0.12" + ], + "default_filament_profile": [ + "Generic PLA @UltiMaker 2 0.6 nozzle" + ], + "printer_variant": "0.6" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 0.8 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.8 nozzle.json new file mode 100644 index 0000000000..2528d3918c --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 0.8 nozzle.json @@ -0,0 +1,23 @@ +{ + "type": "machine", + "name": "UltiMaker 2 0.8 nozzle", + "inherits": "UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "ratwIj4y2pWpLaWJ", + "instantiation": "true", + "printer_model": "UltiMaker 2", + "default_print_profile": "0.20mm Standard @UltiMaker 2 0.8 nozzle", + "nozzle_diameter": [ + "0.8" + ], + "max_layer_height": [ + "0.6" + ], + "min_layer_height": [ + "0.16" + ], + "default_filament_profile": [ + "Generic PLA @UltiMaker 2 0.8 nozzle" + ], + "printer_variant": "0.8" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.4 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.4 nozzle.json new file mode 100644 index 0000000000..0818fd46f6 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.4 nozzle.json @@ -0,0 +1,13 @@ +{ + "type": "machine", + "name": "UltiMaker 2 extended+ 0.4 nozzle", + "inherits": "UltiMaker 2+ 0.4 nozzle", + "from": "system", + "setting_id": "ENBg9JsL2eTECvzU", + "instantiation": "true", + "printer_model": "UltiMaker 2 extended+", + "printable_height": "305", + "default_print_profile": "0.15mm Standard @UltiMaker 2 extended+", + "default_filament_profile": ["Generic PLA @UltiMaker 2 extended+ 0.4 nozzle"], + "printer_variant": "0.4" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.6 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.6 nozzle.json new file mode 100644 index 0000000000..868fc5b456 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.6 nozzle.json @@ -0,0 +1,13 @@ +{ + "type": "machine", + "name": "UltiMaker 2 extended+ 0.6 nozzle", + "inherits": "UltiMaker 2+ 0.6 nozzle", + "from": "system", + "setting_id": "qwIYJqwmxmiBX1ow", + "instantiation": "true", + "printer_model": "UltiMaker 2 extended+", + "printable_height": "305", + "default_print_profile": "0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle", + "default_filament_profile": ["Generic PLA @UltiMaker 2 extended+ 0.6 nozzle"], + "printer_variant": "0.6" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.8 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.8 nozzle.json new file mode 100644 index 0000000000..9e9c2a8105 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+ 0.8 nozzle.json @@ -0,0 +1,13 @@ +{ + "type": "machine", + "name": "UltiMaker 2 extended+ 0.8 nozzle", + "inherits": "UltiMaker 2+ 0.8 nozzle", + "from": "system", + "setting_id": "MNYwZSVqB1rrYo2g", + "instantiation": "true", + "printer_model": "UltiMaker 2 extended+", + "printable_height": "305", + "default_print_profile": "0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle", + "default_filament_profile": ["Generic PLA @UltiMaker 2 extended+ 0.8 nozzle"], + "printer_variant": "0.8" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+.json b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+.json new file mode 100644 index 0000000000..43f2c765ea --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2 extended+.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "UltiMaker 2 extended+", + "model_id": "UltiMaker-2-extended-plus", + "nozzle_diameter": "0.4;0.6;0.8", + "machine_tech": "FFF", + "family": "UltiMaker", + "bed_model": "ultimaker_2_buildplate_model.stl", + "bed_texture": "ultimaker_2_buildplate_texture.png", + "hotend_model": "ultimaker_hotend.stl", + "default_materials": "Generic ABS @UltiMaker 2 extended+ 0.4 nozzle;Generic PETG @UltiMaker 2 extended+ 0.4 nozzle;Generic PLA @UltiMaker 2 extended+ 0.4 nozzle;Generic ABS @UltiMaker 2 extended+ 0.6 nozzle;Generic PETG @UltiMaker 2 extended+ 0.6 nozzle;Generic PLA @UltiMaker 2 extended+ 0.6 nozzle;Generic ABS @UltiMaker 2 extended+ 0.8 nozzle;Generic PETG @UltiMaker 2 extended+ 0.8 nozzle;Generic PLA @UltiMaker 2 extended+ 0.8 nozzle" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.4 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.4 nozzle.json new file mode 100644 index 0000000000..a1b0469a9c --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.4 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "UltiMaker 2+ 0.4 nozzle", + "inherits": "UltiMaker 2 0.4 nozzle", + "from": "system", + "setting_id": "onhBJPgqLsVGTqir", + "instantiation": "true", + "printer_model": "UltiMaker 2+", + "default_print_profile": "0.15mm Standard @UltiMaker 2+", + "default_filament_profile": [ + "Generic PLA @UltiMaker 2+ 0.4 nozzle" + ], + "printer_variant": "0.4" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.6 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.6 nozzle.json new file mode 100644 index 0000000000..e6f8e4de06 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.6 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "UltiMaker 2+ 0.6 nozzle", + "inherits": "UltiMaker 2 0.6 nozzle", + "from": "system", + "setting_id": "5leVdHeUMDFDmNq3", + "instantiation": "true", + "printer_model": "UltiMaker 2+", + "default_print_profile": "0.15mm Standard @UltiMaker 2+ 0.6 nozzle", + "default_filament_profile": [ + "Generic PLA @UltiMaker 2+ 0.6 nozzle" + ], + "printer_variant": "0.6" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.8 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.8 nozzle.json new file mode 100644 index 0000000000..71cbc26d1c --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2+ 0.8 nozzle.json @@ -0,0 +1,14 @@ +{ + "type": "machine", + "name": "UltiMaker 2+ 0.8 nozzle", + "inherits": "UltiMaker 2 0.8 nozzle", + "from": "system", + "setting_id": "1KcSsT7oyjqv2yei", + "instantiation": "true", + "printer_model": "UltiMaker 2+", + "default_print_profile": "0.20mm Standard @UltiMaker 2+ 0.8 nozzle", + "default_filament_profile": [ + "Generic PLA @UltiMaker 2+ 0.8 nozzle" + ], + "printer_variant": "0.8" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2+.json b/resources/profiles/UltiMaker/machine/UltiMaker 2+.json new file mode 100644 index 0000000000..f116cdfc4e --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2+.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "UltiMaker 2+", + "model_id": "UltiMaker-2-plus", + "nozzle_diameter": "0.4;0.6;0.8", + "machine_tech": "FFF", + "family": "UltiMaker", + "bed_model": "ultimaker_2_buildplate_model.stl", + "bed_texture": "ultimaker_2_buildplate_texture.png", + "hotend_model": "ultimaker_hotend.stl", + "default_materials": "Generic ABS @UltiMaker 2+ 0.4 nozzle;Generic PETG @UltiMaker 2+ 0.4 nozzle;Generic PLA @UltiMaker 2+ 0.4 nozzle;Generic ABS @UltiMaker 2+ 0.6 nozzle;Generic PETG @UltiMaker 2+ 0.6 nozzle;Generic PLA @UltiMaker 2+ 0.6 nozzle;Generic ABS @UltiMaker 2+ 0.8 nozzle;Generic PETG @UltiMaker 2+ 0.8 nozzle;Generic PLA @UltiMaker 2+ 0.8 nozzle" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker 2.json b/resources/profiles/UltiMaker/machine/UltiMaker 2.json index eac25a733c..aa01814874 100644 --- a/resources/profiles/UltiMaker/machine/UltiMaker 2.json +++ b/resources/profiles/UltiMaker/machine/UltiMaker 2.json @@ -1,12 +1,12 @@ { "type": "machine_model", - "name": "UltiMaker 2", - "model_id": "UltiMaker-2", - "nozzle_diameter": "0.4", + "name": "UltiMaker 2", + "model_id": "UltiMaker-2", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "UltiMaker", "bed_model": "ultimaker_2_buildplate_model.stl", "bed_texture": "ultimaker_2_buildplate_texture.png", "hotend_model": "ultimaker_hotend.stl", - "default_materials": "Generic ABS @System;Generic PETG @System;Generic PLA @System" + "default_materials": "Generic ABS @UltiMaker 2 0.4 nozzle;Generic PETG @UltiMaker 2 0.4 nozzle;Generic PLA @UltiMaker 2 0.4 nozzle;Generic ABS @UltiMaker 2 0.6 nozzle;Generic PETG @UltiMaker 2 0.6 nozzle;Generic PLA @UltiMaker 2 0.6 nozzle;Generic ABS @UltiMaker 2 0.8 nozzle;Generic PETG @UltiMaker 2 0.8 nozzle;Generic PLA @UltiMaker 2 0.8 nozzle" } diff --git a/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle Single Extruder.json b/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle Single Extruder.json new file mode 100644 index 0000000000..2bd40746c9 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle Single Extruder.json @@ -0,0 +1,38 @@ +{ + "type": "machine", + "name": "UltiMaker S5 0.4 nozzle - Single Extruder", + "inherits": "UltiMaker S5 0.4 nozzle", + "from": "system", + "setting_id": "7BKZlwffTrzDsUgj", + "instantiation": "true", + "printer_model": "UltiMaker S5", + "default_print_profile": "0.18mm Standard @UltiMaker S5", + "default_nozzle_volume_type": [ + "Standard" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_type": [ + "Direct Drive" + ], + "machine_start_gcode": "; NOTE: Do NOT remove the following header. It is necessary for the UM printer to not crash.\n;START_OF_HEADER\n;HEADER_VERSION:0.1\n;FLAVOR:Griffin\n;GENERATOR.NAME:OrcaSlicer\n;GENERATOR.VERSION:5.11.0\n;GENERATOR.BUILD_DATE:2016-06-23\n;TARGET_MACHINE.NAME:[printer_model]\n;EXTRUDER_TRAIN.0.INITIAL_TEMPERATURE:{first_layer_temperature[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.VOLUME_USED:{extruded_volume[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.0.NOZZLE.DIAMETER:{nozzle_diameter[0]}\n;EXTRUDER_TRAIN.0.NOZZLE.NAME:AA {nozzle_diameter[0]}\n;BUILD_PLATE.INITIAL_TEMPERATURE:[bed_temperature_initial_layer_single]\n;BUILD_VOLUME.TEMPERATURE:28\n;PRINT.TIME:2\n;PRINT.SIZE.MIN.X:{first_layer_print_min[0]}\n;PRINT.SIZE.MIN.Y:{first_layer_print_min[1]}\n;PRINT.SIZE.MIN.Z:{first_layer_height}\n;PRINT.SIZE.MAX.X:{first_layer_print_max[0]}\n;PRINT.SIZE.MAX.Y:{first_layer_print_max[1]}\n;PRINT.SIZE.MAX.Z:{int(total_layer_count * first_layer_height)}\n;END_OF_HEADER\nT[initial_extruder]\n\nM82 ;absolute extrusion mode\nG92 E0\nM190 S[bed_temperature_initial_layer_single] ; Wait for bed temp\nM104 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Heat extruder\nM109 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Wait for extruder temp\n\n; Set the settings we removed in the post-processing (orcaslicer generated header).\nM73 P0 R0 ;TODO change the R value into the total minutes of print\nM201 X[machine_max_acceleration_x] Y[machine_max_acceleration_y] Z[machine_max_acceleration_z] E[machine_max_acceleration_e] ; accel\nM203 X[machine_max_speed_x] Y[machine_max_speed_y] Z[machine_max_speed_z] E[machine_max_speed_e] ; max speed\nM204 S[machine_max_acceleration_extruding] ; starting accel\nM204 P[machine_max_acceleration_extruding] R[machine_max_acceleration_retracting] T[machine_max_acceleration_travel]\nM205 X[machine_max_jerk_x] Y[machine_max_jerk_y] Z[machine_max_jerk_z] E[machine_max_jerk_e] ; jerk limits\n\nM107; start with the fan off\n\n; Prime blob for left extruder\nG0 F9000 X4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract\n\nM82; set extruder to absolute mode\n\n; End of the start gcode sequence.\n;LAYER_COUNT:[total_layer_count]", + "max_layer_height": [ + "0.4" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.4" + ], + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Direct Drive Standard" + ] +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle.json b/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle.json new file mode 100644 index 0000000000..5c212070b7 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker S5 0.4 nozzle.json @@ -0,0 +1,139 @@ +{ + "type": "machine", + "name": "UltiMaker S5 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "hmkJtw7J1KXbiYfj", + "instantiation": "true", + "printer_model": "UltiMaker S5", + "default_print_profile": "0.18mm Standard @UltiMaker S5", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printable_area": [ + "0x0", + "330x0", + "330x240", + "0x240" + ], + "printable_height": "300", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_radius": "61", + "nozzle_type": "brass", + "auxiliary_fan": "0", + "use_relative_e_distances": "0", + "machine_max_acceleration_extruding": [ + "3500", + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500", + "3500" + ], + "machine_max_acceleration_travel": [ + "3500", + "3500" + ], + "machine_max_acceleration_x": [ + "3500", + "3500" + ], + "machine_max_acceleration_y": [ + "3500", + "3500" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "max_layer_height": [ + "0.4", + "0.4" + ], + "min_layer_height": [ + "0.06", + "0.06" + ], + "printer_settings_id": "Qidi", + "retraction_minimum_travel": [ + "5" + ], + "retract_before_wipe": [ + "70%" + ], + "retraction_length": [ + "4.5" + ], + "retract_length_toolchange": [ + "11" + ], + "retraction_speed": [ + "45" + ], + "deretraction_speed": [ + "0" + ], + "wipe_distance": [ + "0.2" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "; Set temps to avoid oozing\nM104 T{previous_extruder} S{old_filament_temp - 5}\nM104 T{next_extruder} S{new_filament_temp}\n; Change to next extruder\nT{next_extruder}", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Generic PLA @System" + ], + "z_hop": [ + "1" + ], + "z_hop_types": [ + "Normal Lift" + ], + "extruder_type": [ + "Direct Drive", + "Direct Drive" + ], + "extruder_offset": [ + "0x0", + "0x22" + ], + "extra_loading_move": "0", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n", + "fan_speedup_time": "0.5", + "machine_start_gcode": "; NOTE: Do NOT remove the following header. It is necessary for the UM printer to not crash.\n;START_OF_HEADER\n;HEADER_VERSION:0.1\n;FLAVOR:Griffin\n;GENERATOR.NAME:OrcaSlicer\n;GENERATOR.VERSION:5.11.0\n;GENERATOR.BUILD_DATE:2016-06-23\n;TARGET_MACHINE.NAME:[printer_model]\n{if is_extruder_used[0]};EXTRUDER_TRAIN.0.INITIAL_TEMPERATURE:{first_layer_temperature[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.VOLUME_USED:{extruded_volume[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.0.NOZZLE.DIAMETER:{nozzle_diameter[0]}\n;EXTRUDER_TRAIN.0.NOZZLE.NAME:AA {nozzle_diameter[0]}{endif}\n{if is_extruder_used[1]};EXTRUDER_TRAIN.1.INITIAL_TEMPERATURE:{first_layer_temperature[1]}\n;EXTRUDER_TRAIN.1.MATERIAL.VOLUME_USED:{extruded_volume[1]}\n;EXTRUDER_TRAIN.1.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.1.NOZZLE.DIAMETER:{nozzle_diameter[1]}\n;EXTRUDER_TRAIN.1.NOZZLE.NAME:AA {nozzle_diameter[1]}{endif}\n;BUILD_PLATE.INITIAL_TEMPERATURE:[bed_temperature_initial_layer_single]\n;BUILD_VOLUME.TEMPERATURE:28\n;PRINT.TIME:2\n;PRINT.SIZE.MIN.X:{first_layer_print_min[0]}\n;PRINT.SIZE.MIN.Y:{first_layer_print_min[1]}\n;PRINT.SIZE.MIN.Z:{first_layer_height}\n;PRINT.SIZE.MAX.X:{first_layer_print_max[0]}\n;PRINT.SIZE.MAX.Y:{first_layer_print_max[1]}\n;PRINT.SIZE.MAX.Z:{int(total_layer_count * first_layer_height)}\n;END_OF_HEADER\nT[initial_extruder]\n\nM82 ;absolute extrusion mode\nG92 E0\nM190 S[bed_temperature_initial_layer_single] ; Wait for bed temp\nM104 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Heat extruder\nM109 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Wait for extruder temp\n\n\n; Set the settings we removed in the post-processing (orcaslicer generated header).\nM73 P0 R0 ;TODO change the R value into the total minutes of print\nM201 X[machine_max_acceleration_x] Y[machine_max_acceleration_y] Z[machine_max_acceleration_z] E[machine_max_acceleration_e] ; accel\nM203 X[machine_max_speed_x] Y[machine_max_speed_y] Z[machine_max_speed_z] E[machine_max_speed_e] ; max speed\nM204 S[machine_max_acceleration_extruding] ; starting accel\nM204 P[machine_max_acceleration_extruding] R[machine_max_acceleration_retracting] T[machine_max_acceleration_travel]\nM205 X[machine_max_jerk_x] Y[machine_max_jerk_y] Z[machine_max_jerk_z] E[machine_max_jerk_e] ; jerk limits\n\nM107; start with the fan off\n\n{if is_extruder_used[0]}T0\n; Prime blob for left extruder\nG0 F9000 X4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract{endif}\n\n{if is_extruder_used[1]}T1\n; Prime blob for right extruder\nG0 F9000 X-4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract\n{if initial_extruder == 0}T0{endif}{endif}\n\n\n\nM82; set extruder to absolute mode\n\n; End of the start gcode sequence.\n;LAYER_COUNT:[total_layer_count]", + "machine_end_gcode": "; Move toolhead out of the way\nG28 X Y\n\nM204 S3000; reset accel\nM107; fan off\n\n; heaters off\nM104 S0\nM104 T0 S0\nM104 T1 S0\nM140 S0\n\n; disable motors\nM84\n\n\nM82 ;absolute extrusion mode\n\n;End of Gcode\n", + "machine_tool_change_time": "1.5", + "scan_first_layer": "0" +} diff --git a/resources/profiles/UltiMaker/machine/UltiMaker S5.json b/resources/profiles/UltiMaker/machine/UltiMaker S5.json new file mode 100644 index 0000000000..2a9b858938 --- /dev/null +++ b/resources/profiles/UltiMaker/machine/UltiMaker S5.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "UltiMaker S5", + "model_id": "UltiMaker-S5", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "UltiMaker", + "bed_model": "ultimaker_s5_buildplate_model.stl", + "bed_texture": "ultimaker_2_buildplate_texture.png", + "hotend_model": "ultimaker_hotend.stl", + "default_materials": "Generic ABS @System;Generic PETG @System;Generic PLA @System" +} diff --git a/resources/profiles/UltiMaker/machine/fdm_machine_common.json b/resources/profiles/UltiMaker/machine/fdm_machine_common.json index bcb191c0b1..c1536f7f7d 100644 --- a/resources/profiles/UltiMaker/machine/fdm_machine_common.json +++ b/resources/profiles/UltiMaker/machine/fdm_machine_common.json @@ -1,118 +1,135 @@ { - "type": "machine", - "name": "fdm_machine_common", - "from": "system", - "instantiation": "false", - "printer_technology": "FFF", - "deretraction_speed": [ - "40" - ], - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "gcode_flavor": "marlin", - "silent_mode": "0", - "machine_max_acceleration_e": [ - "10000" - ], - "machine_max_acceleration_extruding": [ - "1500" - ], - "machine_max_acceleration_retracting": [ - "1500" - ], - "machine_max_acceleration_x": [ - "3000" - ], - "machine_max_acceleration_y": [ - "3000" - ], - "machine_max_acceleration_z": [ - "500" - ], - "machine_max_speed_e": [ - "120" - ], - "machine_max_speed_x": [ - "500" - ], - "machine_max_speed_y": [ - "500" - ], - "machine_max_speed_z": [ - "12" - ], - "machine_max_jerk_e": [ - "2.5" - ], - "machine_max_jerk_x": [ - "20" - ], - "machine_max_jerk_y": [ - "20" - ], - "machine_max_jerk_z": [ - "0.4" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "max_layer_height": [ - "0.3" - ], - "min_layer_height": [ - "0.07" - ], - "printable_height": "212", - "extruder_clearance_radius": "65", - "extruder_clearance_height_to_rod": "36", - "extruder_clearance_height_to_lid": "140", - "nozzle_diameter": [ - "0.4" - ], - "printer_settings_id": "", - "printer_variant": "0.4", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "0%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "6" - ], - "retract_length_toolchange": [ - "10" - ], - "z_hop": [ - "0" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retraction_speed": [ - "50" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "wipe": [ - "1" - ], - "z_lift_type": "NormalLift", - "default_print_profile": "", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", - "machine_start_gcode": "", - "machine_end_gcode": "" + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "auxiliary_fan": "0", + "machine_max_acceleration_travel": [ + "3000", + "3000" + ], + "machine_max_junction_deviation": [ + "0.013", + "0" + ], + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "1500", + "1500" + ], + "machine_max_acceleration_retracting": [ + "1500", + "1500" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_speed_e": [ + "100", + "100" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "40", + "40" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "20", + "20" + ], + "machine_max_jerk_y": [ + "20", + "20" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.08" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "0%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "6" + ], + "retract_length_toolchange": [ + "25" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "50" + ], + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "wipe_distance": [ + "0.2" + ], + "machine_pause_gcode": "M0", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "machine_start_gcode": "; # # # # # # START Header\nG21; metric values\nG90; absolute positioning\nM82 ; set extruder to absolute mode\nM107; start with the fan off\n\nM140 S[bed_temperature_initial_layer_single]; start bed heating\n\nG28 X0 Y0 Z0; move X/Y/Z to endstops\nG1 X1 Y6 F15000; move X/Y to start position\nG1 Z35 F9000; move Z to start position\n\n; Wait for bed and nozzle temperatures\nM190 S{hot_plate_temp_initial_layer[0] - 5}; wait for bed temperature - 5\nM140 S[bed_temperature_initial_layer_single]; continue bed heating\nM109 S[nozzle_temperature_initial_layer]; wait for nozzle temperature\n\n; Purge and prime\nM83; set extruder to relative mode\nG92 E0; reset extrusion distance\nG0 X0 Y1 F10000\nG1 F150 E20 ; compress the bowden tube\nG1 E-8 F1200\nG0 X30 Y1 F5000\nG0 F1200 Z{initial_layer_print_height/2}; Cut the connection to priming blob\nG0 X100 F10000; disconnect with the prime blob\nG0 X50; Avoid the metal clip holding the Ultimaker glass plate\nG0 Z0.2 F720\nG1 E8 F1200\nG1 X80 E3 F1000; intro line 1\nG1 X110 E4 F1000 ; intro line 2\nG1 X140 F600; drag filament to decompress bowden tube\nG1 X100 F3200; wipe backwards a bit\nG1 X150 F3200; back to where there is no plastic: avoid dragging\nG92 E0; reset extruder reference\nM82; set extruder to absolute mode\n\n; # # # # # # END Header", + "machine_end_gcode": "; # # # # # # START Footer\nG91; relative coordinates\n;G1 E-1 F1200; retract the filament\nG1 Z+15 X-10 Y-10 E-7 F6000; move Z a bit\n; G1 X-10 Y-10 F6000; move XY a bit\nG1 E-5.5 F300; retract the filament\nG28 X0 Y0; move X/Y to min endstops, so the head is out of the way\nM104 S0; extruder heater off\nM140 S0; heated bed heater off (if you have it)\nM84; disable motors\n; # # # # # # END Footer\n", + "thumbnails": "" } diff --git a/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2 extended+.json b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2 extended+.json new file mode 100644 index 0000000000..fd008304f7 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2 extended+.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.10mm Fine @UltiMaker 2 extended+", + "inherits": "0.10mm Fine @UltiMaker 2+", + "from": "system", + "setting_id": "unx8qKjXQzjX8IL1", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2+.json b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2+.json new file mode 100644 index 0000000000..aa6fb2f3ed --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2+.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "name": "0.10mm Fine @UltiMaker 2+", + "inherits": "0.10mm Fine @UltiMaker 2", + "from": "system", + "setting_id": "NunkyT8BK1PXysFl", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2.json new file mode 100644 index 0000000000..436df6e85b --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.10mm Fine @UltiMaker 2.json @@ -0,0 +1,41 @@ +{ + "type": "process", + "name": "0.10mm Fine @UltiMaker 2", + "renamed_from": "0.12mm Fine @UltiMaker 2", + + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "S211pmrcTyysKIZ4", + "instantiation": "true", + "layer_height": "0.10", + "initial_layer_infill_speed": [ + "45" + ], + "inner_wall_speed": [ + "30" + ], + "internal_solid_infill_speed": [ + "45" + ], + "outer_wall_speed": [ + "20" + ], + "small_perimeter_speed": [ + "20" + ], + "sparse_infill_speed": [ + "45" + ], + "support_interface_speed": [ + "50" + ], + "support_speed": [ + "50" + ], + "top_surface_speed": [ + "20" + ], + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json deleted file mode 100644 index 02e0127bef..0000000000 --- a/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @UltiMaker 2", - "inherits": "fdm_process_common", - "from": "system", - "setting_id": "4iVomDxutraufw6B", - "instantiation": "true", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "layer_height": "0.12", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "1", - "bridge_speed": "60", - "brim_width": "0", - "brim_object_gap": "0", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "0", - "top_surface_acceleration": "0", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "500", - "travel_acceleration": "0", - "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.3", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "35%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "2", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "3", - "skirt_height": "1", - "skirt_loops": "2", - "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "grid", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.4", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "3", - "support_interface_bottom_layers": "-1", - "support_interface_spacing": "0.2", - "support_interface_speed": "100%", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "0.2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "50%", - "tree_support_branch_angle": "40", - "tree_support_wall_count": "0", - "detect_thin_wall": "1", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.4", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "35%", - "initial_layer_infill_speed": "35%", - "outer_wall_speed": "200", - "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", - "top_surface_speed": "200", - "gap_infill_speed": "250", - "sparse_infill_speed": "270", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "UltiMaker 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 0.6 nozzle.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 0.6 nozzle.json new file mode 100644 index 0000000000..5dfed2142f --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 0.6 nozzle.json @@ -0,0 +1,18 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2 0.6 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "MDKnppk0uwm6HnKz", + "instantiation": "true", + "layer_height": "0.15", + "initial_layer_line_width": "0.6", + "inner_wall_line_width": "0.6", + "internal_solid_infill_line_width": "0.6", + "line_width": "0.6", + "outer_wall_line_width": "0.6", + "sparse_infill_line_width": "0.6", + "support_line_width": "0.55", + "top_surface_line_width": "0.6", + "compatible_printers": ["UltiMaker 2 0.6 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle.json new file mode 100644 index 0000000000..d41516f825 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2 extended+ 0.6 nozzle", + "inherits": "0.15mm Standard @UltiMaker 2+ 0.6 nozzle", + "from": "system", + "setting_id": "ODmg35VjyLPysmRm", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.6 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+.json new file mode 100644 index 0000000000..e7bf5cfe7a --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2 extended+.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2 extended+", + "inherits": "0.15mm Standard @UltiMaker 2+", + "from": "system", + "setting_id": "hThxh6XoFAmcRMeW", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+ 0.6 nozzle.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+ 0.6 nozzle.json new file mode 100644 index 0000000000..11110c24bb --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+ 0.6 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2+ 0.6 nozzle", + "inherits": "0.15mm Standard @UltiMaker 2 0.6 nozzle", + "from": "system", + "setting_id": "WhWdCNGc5WJC2wPy", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.6 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+.json new file mode 100644 index 0000000000..c71005b5c5 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2+.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2+", + "inherits": "0.15mm Standard @UltiMaker 2", + "from": "system", + "setting_id": "B1wRaMeJfyNAYxjk", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2.json new file mode 100644 index 0000000000..897abb33c8 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.15mm Standard @UltiMaker 2.json @@ -0,0 +1,14 @@ +{ + "type": "process", + "name": "0.15mm Standard @UltiMaker 2", + "renamed_from": "0.18mm Standard @UltiMaker 2", + + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "DMwYsBx9nEttVhhP", + "instantiation": "true", + "layer_height": "0.15", + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker S5.json similarity index 91% rename from resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json rename to resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker S5.json index 8c5596cfab..7920fed2e6 100644 --- a/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json +++ b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker S5.json @@ -1,11 +1,12 @@ { "type": "process", - "name": "0.18mm Standard @UltiMaker 2", + "name": "0.18mm Standard @UltiMaker S5", "inherits": "fdm_process_common", "from": "system", - "setting_id": "Mo2NUdUehA5y4OwV", + "setting_id": "UAhqUBDi1CzMB2Vg", "instantiation": "true", - "adaptive_layer_height": "1", + "ooze_prevention": "1", + "preheat_time": "20", "reduce_crossing_wall": "0", "layer_height": "0.18", "max_travel_detour_distance": "0", @@ -28,7 +29,7 @@ "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.45", "infill_direction": "45", - "sparse_infill_density": "20%", + "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", "initial_layer_acceleration": "500", "travel_acceleration": "0", @@ -61,7 +62,7 @@ "minimum_sparse_infill_area": "10", "internal_solid_infill_line_width": "0.45", "spiral_mode": "0", - "standby_temperature_delta": "-5", + "standby_temperature_delta": "-10", "enable_support": "0", "resolution": "0.012", "support_type": "normal(auto)", @@ -98,12 +99,13 @@ "gap_infill_speed": "20", "sparse_infill_speed": "40", "travel_speed": "120", - "enable_prime_tower": "1", + "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", "compatible_printers": [ - "UltiMaker 2 0.4 nozzle" + "UltiMaker S5 0.4 nozzle", + "UltiMaker S5 0.4 nozzle - Single Extruder" ] } diff --git a/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2 extended+.json b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2 extended+.json new file mode 100644 index 0000000000..5ca0914ab7 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2 extended+.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.20mm Draft @UltiMaker 2 extended+", + "inherits": "0.20mm Draft @UltiMaker 2+", + "from": "system", + "setting_id": "WOioHgeBkOd6k8xv", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.4 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2+.json b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2+.json new file mode 100644 index 0000000000..985d6cbb39 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2+.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "name": "0.20mm Draft @UltiMaker 2+", + "inherits": "0.20mm Draft @UltiMaker 2", + "from": "system", + "setting_id": "YYBsvqtDRBbOVymM", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2.json new file mode 100644 index 0000000000..ffe05bcd0f --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Draft @UltiMaker 2.json @@ -0,0 +1,14 @@ +{ + "type": "process", + "name": "0.20mm Draft @UltiMaker 2", + "renamed_from": "0.25mm Draft @UltiMaker 2;0.25mm Darft @UltiMaker 2", + + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "0ER4fay08CyW7RBE", + "instantiation": "true", + "layer_height": "0.2", + "compatible_printers": [ + "UltiMaker 2 0.4 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 0.8 nozzle.json b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 0.8 nozzle.json new file mode 100644 index 0000000000..3a2c5b0ac1 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 0.8 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "process", + "name": "0.20mm Standard @UltiMaker 2 0.8 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "3uZgBgrpfxrgO72L", + "instantiation": "true", + "layer_height": "0.20", + "initial_layer_line_width": "0.8", + "inner_wall_line_width": "0.8", + "internal_solid_infill_line_width": "0.8", + "line_width": "0.8", + "outer_wall_line_width": "0.8", + "sparse_infill_line_width": "0.8", + "support_line_width": "0.75", + "top_surface_line_width": "0.8", + "compatible_printers": [ + "UltiMaker 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle.json b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle.json new file mode 100644 index 0000000000..a423edbeaa --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.20mm Standard @UltiMaker 2 extended+ 0.8 nozzle", + "inherits": "0.20mm Standard @UltiMaker 2+ 0.8 nozzle", + "from": "system", + "setting_id": "NVU7KQjM3gC4OdDf", + "instantiation": "true", + "compatible_printers": ["UltiMaker 2 extended+ 0.8 nozzle"] +} diff --git a/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2+ 0.8 nozzle.json b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2+ 0.8 nozzle.json new file mode 100644 index 0000000000..d75052e17c --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.20mm Standard @UltiMaker 2+ 0.8 nozzle.json @@ -0,0 +1,11 @@ +{ + "type": "process", + "name": "0.20mm Standard @UltiMaker 2+ 0.8 nozzle", + "inherits": "0.20mm Standard @UltiMaker 2 0.8 nozzle", + "from": "system", + "setting_id": "DPdijbiqpZNuZr58", + "instantiation": "true", + "compatible_printers": [ + "UltiMaker 2+ 0.8 nozzle" + ] +} diff --git a/resources/profiles/UltiMaker/process/0.2mm Fast @UltiMaker S5.json b/resources/profiles/UltiMaker/process/0.2mm Fast @UltiMaker S5.json new file mode 100644 index 0000000000..16fb188ca1 --- /dev/null +++ b/resources/profiles/UltiMaker/process/0.2mm Fast @UltiMaker S5.json @@ -0,0 +1,45 @@ +{ + "type": "process", + "name": "0.2mm Fast @UltiMaker S5", + "inherits": "0.18mm Standard @UltiMaker S5", + "from": "system", + "setting_id": "Ai0I1drAIYiCbydj", + "instantiation": "true", + "default_acceleration": "3500", + "default_jerk": "20", + "enable_support": "1", + "gap_infill_speed": "25", + "infill_combination": "1", + "infill_combination_max_layer_height": "80%", + "infill_jerk": "20", + "initial_layer_acceleration": "1500", + "initial_layer_infill_speed": "40", + "initial_layer_jerk": "10", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "150", + "inner_wall_acceleration": "3500", + "inner_wall_jerk": "20", + "inner_wall_speed": "100", + "layer_height": "0.2", + "outer_wall_acceleration": "1500", + "outer_wall_jerk": "10", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Direct Drive Standard" + ], + "print_settings_id": "", + "sparse_infill_pattern": "adaptivecubic", + "sparse_infill_speed": "100", + "support_style": "default", + "support_type": "tree(auto)", + "top_shell_layers": "1", + "top_surface_acceleration": "1500", + "top_surface_jerk": "10", + "top_surface_speed": "45", + "travel_acceleration": "3500", + "travel_jerk": "20", + "travel_speed": "150", + "wall_loops": "2" +} diff --git a/resources/profiles/UltiMaker/process/fdm_process_common.json b/resources/profiles/UltiMaker/process/fdm_process_common.json index 99fcd508d0..04c303af75 100644 --- a/resources/profiles/UltiMaker/process/fdm_process_common.json +++ b/resources/profiles/UltiMaker/process/fdm_process_common.json @@ -3,68 +3,75 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", - "reduce_crossing_wall": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "5", - "compatible_printers": [], - "print_sequence": "by layer", - "default_acceleration": "0", - "bridge_no_support": "0", - "elefant_foot_compensation": "0.1", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.75", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_infill_speed": [ + "40" + ], + "infill_anchor": "2.5", + "infill_anchor_max": "12", + "infill_combination": "1", + "infill_combination_max_layer_height": "80%", + "initial_layer_line_width": "0.4", + "initial_layer_speed": [ + "20" + ], + "inner_wall_acceleration": [ + "800" + ], + "inner_wall_line_width": "0.4", + "inner_wall_speed": [ + "55" + ], + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": [ + "60" + ], + "is_infill_first": "1", + "line_width": "0.4", "outer_wall_line_width": "0.4", - "outer_wall_speed": "120", - "line_width": "0.45", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "20", - "gap_infill_speed": "30", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "sparse_infill_speed": "50", - "interface_shells": "0", - "detect_overhang_wall": "0", - "reduce_infill_retraction": "0", - "filename_format": "{input_filename_base}.gcode", - "wall_loops": "3", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "40", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "nearest", - "skirt_distance": "2", - "skirt_height": "2", - "minimum_sparse_infill_area": "0", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "40", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "support_filament": "0", - "support_line_width": "0.42", - "support_interface_filament": "0", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.15", - "support_interface_loop_pattern": "0", - "support_interface_top_layers": "2", - "support_interface_spacing": "0", - "support_interface_speed": "80", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.5", - "detect_thin_wall": "0", + "outer_wall_speed": [ + "40" + ], + "overhang_1_4_speed": [ + "25" + ], + "overhang_2_4_speed": [ + "20" + ], + "overhang_3_4_speed": [ + "15" + ], + "overhang_4_4_speed": [ + "15" + ], + "print_extruder_variant": [ + "Bowden Standard" + ], + "small_perimeter_speed": [ + "25" + ], + "sparse_infill_density": "18%", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": [ + "80" + ], + "support_interface_speed": [ + "55" + ], + "support_line_width": "0.35", + "support_speed": [ + "55" + ], + "top_shell_layers": "5", + "top_shell_thickness": "0.75", "top_surface_line_width": "0.4", - "top_surface_speed": "30", - "travel_speed": "400", - "enable_prime_tower": "1", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0" + "top_surface_speed": [ + "40" + ], + "travel_acceleration": [ + "800" + ] } diff --git a/resources/profiles/UltiMaker/ultimaker_s5_buildplate_model.stl b/resources/profiles/UltiMaker/ultimaker_s5_buildplate_model.stl new file mode 100644 index 0000000000..4105f1fe3a Binary files /dev/null and b/resources/profiles/UltiMaker/ultimaker_s5_buildplate_model.stl differ diff --git a/resources/profiles/Vivedino.json b/resources/profiles/Vivedino.json index bd7228a295..c8f6b65c3e 100644 --- a/resources/profiles/Vivedino.json +++ b/resources/profiles/Vivedino.json @@ -1,6 +1,6 @@ { "name": "Vivedino", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Vivedino configurations", "machine_model_list": [ diff --git a/resources/profiles/Vivedino/machine/fdm_klipper_common.json b/resources/profiles/Vivedino/machine/fdm_klipper_common.json index 23bfda64f1..3712765b66 100644 --- a/resources/profiles/Vivedino/machine/fdm_klipper_common.json +++ b/resources/profiles/Vivedino/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "wipe": [ diff --git a/resources/profiles/Vivedino/machine/fdm_machine_common.json b/resources/profiles/Vivedino/machine/fdm_machine_common.json index 3c5f92be16..7b8f13e442 100644 --- a/resources/profiles/Vivedino/machine/fdm_machine_common.json +++ b/resources/profiles/Vivedino/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Vivedino/machine/fdm_rrf_common.json b/resources/profiles/Vivedino/machine/fdm_rrf_common.json index b639ec3fd7..08fd49e3ad 100644 --- a/resources/profiles/Vivedino/machine/fdm_rrf_common.json +++ b/resources/profiles/Vivedino/machine/fdm_rrf_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE\n", diff --git a/resources/profiles/Vivedino/process/fdm_process_common.json b/resources/profiles/Vivedino/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Vivedino/process/fdm_process_common.json +++ b/resources/profiles/Vivedino/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Vivedino/process/fdm_process_klipper_common.json b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json index 9736bc5c0d..a10193f25a 100644 --- a/resources/profiles/Vivedino/process/fdm_process_klipper_common.json +++ b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Volumic.json b/resources/profiles/Volumic.json index af7aa294bc..7923f2d92f 100644 --- a/resources/profiles/Volumic.json +++ b/resources/profiles/Volumic.json @@ -1,6 +1,6 @@ { "name": "Volumic", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "1", "description": "VOLUMIC configurations", "machine_model_list": [ diff --git a/resources/profiles/Volumic/machine/EXO42 IDRE.json b/resources/profiles/Volumic/machine/EXO42 IDRE.json index ad6ad5ba44..185924e798 100644 --- a/resources/profiles/Volumic/machine/EXO42 IDRE.json +++ b/resources/profiles/Volumic/machine/EXO42 IDRE.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "EXO42_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/EXO42 Performance.json b/resources/profiles/Volumic/machine/EXO42 Performance.json index 14979aca7c..0ae9738e0e 100644 --- a/resources/profiles/Volumic/machine/EXO42 Performance.json +++ b/resources/profiles/Volumic/machine/EXO42 Performance.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "EXO42_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/EXO65 IDRE.json b/resources/profiles/Volumic/machine/EXO65 IDRE.json index 4d6060a134..3532466902 100644 --- a/resources/profiles/Volumic/machine/EXO65 IDRE.json +++ b/resources/profiles/Volumic/machine/EXO65 IDRE.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "EXO65_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/EXO65 Performance.json b/resources/profiles/Volumic/machine/EXO65 Performance.json index c34582d5f0..4e1ffaa2b0 100644 --- a/resources/profiles/Volumic/machine/EXO65 Performance.json +++ b/resources/profiles/Volumic/machine/EXO65 Performance.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "EXO65_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/SH65 IDRE.json b/resources/profiles/Volumic/machine/SH65 IDRE.json index ee9d97b97f..79c2fee79c 100644 --- a/resources/profiles/Volumic/machine/SH65 IDRE.json +++ b/resources/profiles/Volumic/machine/SH65 IDRE.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "SH65_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/SH65 Performance.json b/resources/profiles/Volumic/machine/SH65 Performance.json index b5e4eb2bf0..4091b52b93 100644 --- a/resources/profiles/Volumic/machine/SH65 Performance.json +++ b/resources/profiles/Volumic/machine/SH65 Performance.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "SH65_bed.STL", - "default_materials": "Volumic PLA Ultra" + "default_materials": "Volumic PLA Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/VS30SC2 Performance.json b/resources/profiles/Volumic/machine/VS30SC2 Performance.json index 93f1ac8c28..74fa8c1fc8 100644 --- a/resources/profiles/Volumic/machine/VS30SC2 Performance.json +++ b/resources/profiles/Volumic/machine/VS30SC2 Performance.json @@ -6,5 +6,5 @@ "machine_tech": "FFF", "family": "VOLUMIC", "bed_model": "VS30U_bed.STL", - "default_materials": "Volumic UNIVERSAL Ultra" + "default_materials": "Volumic UNIVERSAL Ultra;Volumic PLA Ultra (Performance)" } diff --git a/resources/profiles/Volumic/machine/fdm_volumic_common.json b/resources/profiles/Volumic/machine/fdm_volumic_common.json index a0f8a16b48..59a9facfde 100644 --- a/resources/profiles/Volumic/machine/fdm_volumic_common.json +++ b/resources/profiles/Volumic/machine/fdm_volumic_common.json @@ -31,7 +31,6 @@ "retraction_speed": [ "30" ], - "silent_mode": "0", "machine_max_acceleration_e": [ "0", "0" diff --git a/resources/profiles/Volumic/process/fdm_process_volumic_common.json b/resources/profiles/Volumic/process/fdm_process_volumic_common.json index 52dfcb1eb8..5a7ff0840a 100644 --- a/resources/profiles/Volumic/process/fdm_process_volumic_common.json +++ b/resources/profiles/Volumic/process/fdm_process_volumic_common.json @@ -5,7 +5,6 @@ "instantiation": "false", "precise_outer_wall": "1", "enable_overhang_speed": "1", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "max_travel_detour_distance": "0", "extra_perimeters_on_overhangs": "1", diff --git a/resources/profiles/Voron.json b/resources/profiles/Voron.json index 74df754a9d..9f6f785ad7 100644 --- a/resources/profiles/Voron.json +++ b/resources/profiles/Voron.json @@ -1,6 +1,6 @@ { "name": "Voron", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Voron configurations", "machine_model_list": [ diff --git a/resources/profiles/Voron/machine/fdm_klipper_common.json b/resources/profiles/Voron/machine/fdm_klipper_common.json index b4ffd1a4bb..4eedd71412 100644 --- a/resources/profiles/Voron/machine/fdm_klipper_common.json +++ b/resources/profiles/Voron/machine/fdm_klipper_common.json @@ -117,7 +117,6 @@ "30" ], "z_hop_types": "Slope Lift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE", diff --git a/resources/profiles/Voron/machine/fdm_machine_common.json b/resources/profiles/Voron/machine/fdm_machine_common.json index 921560eee8..f7f0f31d7e 100644 --- a/resources/profiles/Voron/machine/fdm_machine_common.json +++ b/resources/profiles/Voron/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Voron/process/fdm_process_common.json b/resources/profiles/Voron/process/fdm_process_common.json index d8955e2bfb..c118c4a2c9 100644 --- a/resources/profiles/Voron/process/fdm_process_common.json +++ b/resources/profiles/Voron/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Voron/process/fdm_process_voron_common.json b/resources/profiles/Voron/process/fdm_process_voron_common.json index f5ad2128d0..d06e0e7e9a 100644 --- a/resources/profiles/Voron/process/fdm_process_voron_common.json +++ b/resources/profiles/Voron/process/fdm_process_voron_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Voxelab.json b/resources/profiles/Voxelab.json index 758b9d0cd3..6d1fa00061 100644 --- a/resources/profiles/Voxelab.json +++ b/resources/profiles/Voxelab.json @@ -1,7 +1,7 @@ { "name": "Voxelab", "url": "", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Voxelab configurations", "machine_model_list": [ diff --git a/resources/profiles/Voxelab/machine/fdm_machine_common.json b/resources/profiles/Voxelab/machine/fdm_machine_common.json index b4aada4829..a2c7c89e17 100644 --- a/resources/profiles/Voxelab/machine/fdm_machine_common.json +++ b/resources/profiles/Voxelab/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", "machine_start_gcode": "", diff --git a/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json b/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json index f595e8b16b..29a42d75ec 100644 --- a/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json +++ b/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "xCSbqEmBX0IB51ZS", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.16", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json b/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json index 97d049eb14..ec6f76816d 100644 --- a/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json +++ b/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json @@ -5,7 +5,6 @@ "from": "system", "setting_id": "DbIfKn2knpsOQT7H", "instantiation": "true", - "adaptive_layer_height": "1", "reduce_crossing_wall": "0", "layer_height": "0.2", "max_travel_detour_distance": "0", diff --git a/resources/profiles/Voxelab/process/fdm_process_common.json b/resources/profiles/Voxelab/process/fdm_process_common.json index 99fcd508d0..45c9bcf236 100644 --- a/resources/profiles/Voxelab/process/fdm_process_common.json +++ b/resources/profiles/Voxelab/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Vzbot.json b/resources/profiles/Vzbot.json index bcefdaf26c..a64b4807e8 100644 --- a/resources/profiles/Vzbot.json +++ b/resources/profiles/Vzbot.json @@ -1,6 +1,6 @@ { "name": "Vzbot", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Vzbot configurations", "machine_model_list": [ diff --git a/resources/profiles/Vzbot/machine/fdm_klipper_common.json b/resources/profiles/Vzbot/machine/fdm_klipper_common.json index 97e546f272..26bac7d0f3 100644 --- a/resources/profiles/Vzbot/machine/fdm_klipper_common.json +++ b/resources/profiles/Vzbot/machine/fdm_klipper_common.json @@ -116,8 +116,6 @@ "deretraction_speed": [ "80" ], - "z_lift_type": "NormalLift", - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "PAUSE\n", diff --git a/resources/profiles/Vzbot/machine/fdm_machine_common.json b/resources/profiles/Vzbot/machine/fdm_machine_common.json index 7c66fd5988..407e718f94 100644 --- a/resources/profiles/Vzbot/machine/fdm_machine_common.json +++ b/resources/profiles/Vzbot/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json index dc8a25695d..de407b2612 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json index 110151e4f8..f5b58f9df2 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common_0.5_nozzle", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json index 7375f8d03f..3d0a6667be 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common_0.6_nozzle", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Vzbot/process/fdm_process_common.json b/resources/profiles/Vzbot/process/fdm_process_common.json index d8955e2bfb..c118c4a2c9 100644 --- a/resources/profiles/Vzbot/process/fdm_process_common.json +++ b/resources/profiles/Vzbot/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Vzbot/process/fdm_process_common_0.5_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_common_0.5_nozzle.json index d07534d8b5..30b508b5ad 100644 --- a/resources/profiles/Vzbot/process/fdm_process_common_0.5_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_common_0.5_nozzle.json @@ -3,7 +3,6 @@ "name": "fdm_process_common_0.5_nozzle", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "150", diff --git a/resources/profiles/Vzbot/process/fdm_process_common_0.6_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_common_0.6_nozzle.json index 8d0c3ec113..f61615dd8c 100644 --- a/resources/profiles/Vzbot/process/fdm_process_common_0.6_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_common_0.6_nozzle.json @@ -3,7 +3,6 @@ "name": "fdm_process_common_0.6_nozzle", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "150", diff --git a/resources/profiles/WEMAKE3D.json b/resources/profiles/WEMAKE3D.json index 399d342641..feeeba132b 100644 --- a/resources/profiles/WEMAKE3D.json +++ b/resources/profiles/WEMAKE3D.json @@ -1,6 +1,6 @@ { "name": "WEMAKE3D", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "WEMAKE3D configurations", "machine_model_list": [ diff --git a/resources/profiles/WEMAKE3D/process/fdm_process_common.json b/resources/profiles/WEMAKE3D/process/fdm_process_common.json index 3708fca48b..1dc5f32da4 100644 --- a/resources/profiles/WEMAKE3D/process/fdm_process_common.json +++ b/resources/profiles/WEMAKE3D/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -92,7 +91,6 @@ "support_top_z_distance": "0.275", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Wanhao France.json b/resources/profiles/Wanhao France.json index ce18d5c5d0..9087899761 100644 --- a/resources/profiles/Wanhao France.json +++ b/resources/profiles/Wanhao France.json @@ -1,6 +1,6 @@ { "name": "Wanhao France", - "version": "02.04.00.03", + "version": "02.04.00.05", "force_update": "0", "description": "Wanhao France D12 configurations", "machine_model_list": [ diff --git a/resources/profiles/Wanhao France/filament/YUMI PETG.json b/resources/profiles/Wanhao France/filament/YUMI PETG.json index 9d1bf0288a..7495416e39 100644 --- a/resources/profiles/Wanhao France/filament/YUMI PETG.json +++ b/resources/profiles/Wanhao France/filament/YUMI PETG.json @@ -108,9 +108,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "42" - ], "filament_loading_speed": [ "0" ], @@ -180,9 +177,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "0" ], diff --git a/resources/profiles/Wanhao France/machine/D12 230 PRO SMARTPAD DIRECT 0.4 nozzle.json b/resources/profiles/Wanhao France/machine/D12 230 PRO SMARTPAD DIRECT 0.4 nozzle.json index b15cecc588..366c7b8ad8 100644 --- a/resources/profiles/Wanhao France/machine/D12 230 PRO SMARTPAD DIRECT 0.4 nozzle.json +++ b/resources/profiles/Wanhao France/machine/D12 230 PRO SMARTPAD DIRECT 0.4 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "D12 230 PRO SMARTPAD DIRECT", "default_print_profile": "0.20mm Standard @Wanhao-D12-230", "default_filament_profile": [ - "Direct Drive" + "YUMI PLA Direct Drive" ], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nLOG_Z\nTIMELAPSE_TAKE_FRAME\nG92 E0", "change_filament_gcode": "M600", diff --git a/resources/profiles/Wanhao France/machine/D12 300 PRO M2 DIRECT 0.4 nozzle.json b/resources/profiles/Wanhao France/machine/D12 300 PRO M2 DIRECT 0.4 nozzle.json index 88fc2fa519..f7308b5838 100644 --- a/resources/profiles/Wanhao France/machine/D12 300 PRO M2 DIRECT 0.4 nozzle.json +++ b/resources/profiles/Wanhao France/machine/D12 300 PRO M2 DIRECT 0.4 nozzle.json @@ -26,7 +26,7 @@ "auxiliary_fan": "0", "printer_variant": "0.4", "default_filament_profile": [ - "Direct Drive" + "YUMI PLA Direct Drive" ], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", "change_filament_gcode": "M600", diff --git a/resources/profiles/Wanhao France/machine/D12 300 PRO SMARTPAD DIRECT 0.4 nozzle.json b/resources/profiles/Wanhao France/machine/D12 300 PRO SMARTPAD DIRECT 0.4 nozzle.json index 5795ec87f1..81e3bfe34b 100644 --- a/resources/profiles/Wanhao France/machine/D12 300 PRO SMARTPAD DIRECT 0.4 nozzle.json +++ b/resources/profiles/Wanhao France/machine/D12 300 PRO SMARTPAD DIRECT 0.4 nozzle.json @@ -22,7 +22,7 @@ "auxiliary_fan": "0", "printer_variant": "0.4", "default_filament_profile": [ - "Direct Drive" + "YUMI PLA Direct Drive" ], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nLOG_Z\nTIMELAPSE_TAKE_FRAME\nG92 E0", "change_filament_gcode": "M600", diff --git a/resources/profiles/Wanhao France/machine/D12 500 PRO M2 DIRECT 0.4 nozzle.json b/resources/profiles/Wanhao France/machine/D12 500 PRO M2 DIRECT 0.4 nozzle.json index d49638c216..916c24cef6 100644 --- a/resources/profiles/Wanhao France/machine/D12 500 PRO M2 DIRECT 0.4 nozzle.json +++ b/resources/profiles/Wanhao France/machine/D12 500 PRO M2 DIRECT 0.4 nozzle.json @@ -22,7 +22,7 @@ "auxiliary_fan": "0", "printer_variant": "0.4", "default_filament_profile": [ - "Direct Drive" + "YUMI PLA Direct Drive" ], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0", "change_filament_gcode": "M600", diff --git a/resources/profiles/Wanhao France/machine/D12 500 PRO SMARTPAD DIRECT 0.4 nozzle.json b/resources/profiles/Wanhao France/machine/D12 500 PRO SMARTPAD DIRECT 0.4 nozzle.json index 4b41bbee33..d79e811b91 100644 --- a/resources/profiles/Wanhao France/machine/D12 500 PRO SMARTPAD DIRECT 0.4 nozzle.json +++ b/resources/profiles/Wanhao France/machine/D12 500 PRO SMARTPAD DIRECT 0.4 nozzle.json @@ -22,7 +22,7 @@ "auxiliary_fan": "0", "printer_variant": "0.4", "default_filament_profile": [ - "Direct Drive" + "YUMI PLA Direct Drive" ], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nLOG_Z\nTIMELAPSE_TAKE_FRAME\nG92 E0", "change_filament_gcode": "M600", diff --git a/resources/profiles/Wanhao France/machine/fdm_machine_common.json b/resources/profiles/Wanhao France/machine/fdm_machine_common.json index 38881092e1..e72b821fa1 100644 --- a/resources/profiles/Wanhao France/machine/fdm_machine_common.json +++ b/resources/profiles/Wanhao France/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "support_chamber_temp_control": "0", "support_air_filtration": "0", "machine_max_acceleration_e": [ diff --git a/resources/profiles/Wanhao France/process/fdm_process_common.json b/resources/profiles/Wanhao France/process/fdm_process_common.json index fb15ba32dd..ce18f8a69a 100644 --- a/resources/profiles/Wanhao France/process/fdm_process_common.json +++ b/resources/profiles/Wanhao France/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Wanhao.json b/resources/profiles/Wanhao.json index d534a75d8b..96290c7712 100644 --- a/resources/profiles/Wanhao.json +++ b/resources/profiles/Wanhao.json @@ -1,12 +1,60 @@ { "name": "Wanhao", - "version": "02.04.00.01", + "version": "02.04.00.03", "force_update": "0", "description": "Wanhao configurations", "machine_model_list": [ { "name": "Wanhao D12-300", "sub_path": "machine/Wanhao D12-300.json" + }, + { + "name": "Wanhao D9-300 MK1", + "sub_path": "machine/Wanhao D9-300 MK1.json" + }, + { + "name": "Wanhao D9-300 MK1 BLTouch kit", + "sub_path": "machine/Wanhao D9-300 MK1 BLTouch kit.json" + }, + { + "name": "Wanhao D9-300 MK2", + "sub_path": "machine/Wanhao D9-300 MK2.json" + }, + { + "name": "Wanhao D9-300 MK3", + "sub_path": "machine/Wanhao D9-300 MK3.json" + }, + { + "name": "Wanhao D9-400 MK1", + "sub_path": "machine/Wanhao D9-400 MK1.json" + }, + { + "name": "Wanhao D9-400 MK1 BLTouch kit", + "sub_path": "machine/Wanhao D9-400 MK1 BLTouch kit.json" + }, + { + "name": "Wanhao D9-400 MK2", + "sub_path": "machine/Wanhao D9-400 MK2.json" + }, + { + "name": "Wanhao D9-400 MK3", + "sub_path": "machine/Wanhao D9-400 MK3.json" + }, + { + "name": "Wanhao D9-500 MK1", + "sub_path": "machine/Wanhao D9-500 MK1.json" + }, + { + "name": "Wanhao D9-500 MK1 BLTouch kit", + "sub_path": "machine/Wanhao D9-500 MK1 BLTouch kit.json" + }, + { + "name": "Wanhao D9-500 MK2", + "sub_path": "machine/Wanhao D9-500 MK2.json" + }, + { + "name": "Wanhao D9-500 MK3", + "sub_path": "machine/Wanhao D9-500 MK3.json" } ], "process_list": [ @@ -33,6 +81,38 @@ { "name": "0.24mm Draft @Wanhao D12-300", "sub_path": "process/0.24mm Draft @Wanhao D12-300.json" + }, + { + "name": "fdm_process_wanhao_d9_common", + "sub_path": "process/fdm_process_wanhao_d9_common.json" + }, + { + "name": "0.12mm Fine @Wanhao D9", + "sub_path": "process/0.12mm Fine @Wanhao D9.json" + }, + { + "name": "0.20mm Standard @Wanhao D9", + "sub_path": "process/0.20mm Standard @Wanhao D9.json" + }, + { + "name": "0.28mm Draft @Wanhao D9", + "sub_path": "process/0.28mm Draft @Wanhao D9.json" + }, + { + "name": "fdm_process_wanhao_d9_mk1_common", + "sub_path": "process/fdm_process_wanhao_d9_mk1_common.json" + }, + { + "name": "0.12mm Fine @Wanhao D9 MK1", + "sub_path": "process/0.12mm Fine @Wanhao D9 MK1.json" + }, + { + "name": "0.20mm Standard @Wanhao D9 MK1", + "sub_path": "process/0.20mm Standard @Wanhao D9 MK1.json" + }, + { + "name": "0.28mm Draft @Wanhao D9 MK1", + "sub_path": "process/0.28mm Draft @Wanhao D9 MK1.json" } ], "filament_list": [], @@ -48,6 +128,62 @@ { "name": "Wanhao D12-300 0.4 nozzle", "sub_path": "machine/Wanhao D12-300 0.4 nozzle.json" + }, + { + "name": "fdm_wanhao_d9_common", + "sub_path": "machine/fdm_wanhao_d9_common.json" + }, + { + "name": "Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle", + "sub_path": "machine/Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-300 MK2 0.4 nozzle", + "sub_path": "machine/Wanhao D9-300 MK2 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-300 MK3 0.4 nozzle", + "sub_path": "machine/Wanhao D9-300 MK3 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle", + "sub_path": "machine/Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-400 MK2 0.4 nozzle", + "sub_path": "machine/Wanhao D9-400 MK2 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-400 MK3 0.4 nozzle", + "sub_path": "machine/Wanhao D9-400 MK3 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle", + "sub_path": "machine/Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-500 MK2 0.4 nozzle", + "sub_path": "machine/Wanhao D9-500 MK2 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-500 MK3 0.4 nozzle", + "sub_path": "machine/Wanhao D9-500 MK3 0.4 nozzle.json" + }, + { + "name": "fdm_wanhao_d9_mk1_common", + "sub_path": "machine/fdm_wanhao_d9_mk1_common.json" + }, + { + "name": "Wanhao D9-300 MK1 0.4 nozzle", + "sub_path": "machine/Wanhao D9-300 MK1 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-400 MK1 0.4 nozzle", + "sub_path": "machine/Wanhao D9-400 MK1 0.4 nozzle.json" + }, + { + "name": "Wanhao D9-500 MK1 0.4 nozzle", + "sub_path": "machine/Wanhao D9-500 MK1 0.4 nozzle.json" } ] } diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 0.4 nozzle.json new file mode 100644 index 0000000000..331a26e5ed --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-300 MK1 0.4 nozzle", + "inherits": "fdm_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "MXNRpMDaVXj2xUx0", + "instantiation": "true", + "printer_model": "Wanhao D9-300 MK1", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9 MK1" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle.json new file mode 100644 index 0000000000..249c8f8d19 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "rq6cPs92KgrUyZrn", + "instantiation": "true", + "printer_model": "Wanhao D9-300 MK1 BLTouch kit", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit.json new file mode 100644 index 0000000000..57a4eddbfa --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1 BLTouch kit.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-300 MK1 BLTouch kit", + "model_id": "Wanhao-D9-300-MK1u2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1.json new file mode 100644 index 0000000000..288a444644 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK1.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-300 MK1", + "model_id": "Wanhao-D9-300-MK1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2 0.4 nozzle.json new file mode 100644 index 0000000000..5cc17c7aa2 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-300 MK2 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "w3Cin9es1Jfx0dmR", + "instantiation": "true", + "printer_model": "Wanhao D9-300 MK2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2.json new file mode 100644 index 0000000000..4c9bcb2412 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK2.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-300 MK2", + "model_id": "Wanhao-D9-300-MK2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3 0.4 nozzle.json new file mode 100644 index 0000000000..19534f409e --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-300 MK3 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "acFQWZqlt4QSgBPv", + "instantiation": "true", + "printer_model": "Wanhao D9-300 MK3", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x300", + "0x300" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3.json b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3.json new file mode 100644 index 0000000000..07b31cf83f --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-300 MK3.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-300 MK3", + "model_id": "Wanhao-D9-300-MK3", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 0.4 nozzle.json new file mode 100644 index 0000000000..e08ee55eba --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-400 MK1 0.4 nozzle", + "inherits": "fdm_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "DGSNE3AbmlBBG5PY", + "instantiation": "true", + "printer_model": "Wanhao D9-400 MK1", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9 MK1" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle.json new file mode 100644 index 0000000000..0ce2980a14 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "WcKY7v24ewtzPfnU", + "instantiation": "true", + "printer_model": "Wanhao D9-400 MK1 BLTouch kit", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit.json new file mode 100644 index 0000000000..bb68bd3cf9 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1 BLTouch kit.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-400 MK1 BLTouch kit", + "model_id": "Wanhao-D9-400-MK1u2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1.json new file mode 100644 index 0000000000..f730632548 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK1.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-400 MK1", + "model_id": "Wanhao-D9-400-MK1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2 0.4 nozzle.json new file mode 100644 index 0000000000..91976f712b --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-400 MK2 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "jn1FEJFeN7S2gEbD", + "instantiation": "true", + "printer_model": "Wanhao D9-400 MK2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2.json new file mode 100644 index 0000000000..2785f480e4 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK2.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-400 MK2", + "model_id": "Wanhao-D9-400-MK2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3 0.4 nozzle.json new file mode 100644 index 0000000000..c7b44c9e7c --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-400 MK3 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "2kFyH1E3tqMWtDmG", + "instantiation": "true", + "printer_model": "Wanhao D9-400 MK3", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "printable_height": "400", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3.json b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3.json new file mode 100644 index 0000000000..2e0b5143a1 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-400 MK3.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-400 MK3", + "model_id": "Wanhao-D9-400-MK3", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 0.4 nozzle.json new file mode 100644 index 0000000000..0f238c7d5c --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-500 MK1 0.4 nozzle", + "inherits": "fdm_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "nj0TfnDKHb4wFX1R", + "instantiation": "true", + "printer_model": "Wanhao D9-500 MK1", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "500x0", + "500x500", + "0x500" + ], + "printable_height": "500", + "default_print_profile": "0.20mm Standard @Wanhao D9 MK1" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle.json new file mode 100644 index 0000000000..25ce3bc9f6 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "Hmrnlh6pJzdO2dIJ", + "instantiation": "true", + "printer_model": "Wanhao D9-500 MK1 BLTouch kit", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "500x0", + "500x500", + "0x500" + ], + "printable_height": "500", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit.json new file mode 100644 index 0000000000..4b6eea98ca --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1 BLTouch kit.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-500 MK1 BLTouch kit", + "model_id": "Wanhao-D9-500-MK1u2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1.json new file mode 100644 index 0000000000..87a99fd65f --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK1.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-500 MK1", + "model_id": "Wanhao-D9-500-MK1", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2 0.4 nozzle.json new file mode 100644 index 0000000000..cabfea9cad --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-500 MK2 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "g2GSmhWJLFDwqzFI", + "instantiation": "true", + "printer_model": "Wanhao D9-500 MK2", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "500x0", + "500x500", + "0x500" + ], + "printable_height": "500", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2.json new file mode 100644 index 0000000000..0e8f9c1603 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK2.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-500 MK2", + "model_id": "Wanhao-D9-500-MK2", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3 0.4 nozzle.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3 0.4 nozzle.json new file mode 100644 index 0000000000..434a1cb830 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3 0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "type": "machine", + "name": "Wanhao D9-500 MK3 0.4 nozzle", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "setting_id": "F7l90Rgr8Ni0sQva", + "instantiation": "true", + "printer_model": "Wanhao D9-500 MK3", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "500x0", + "500x500", + "0x500" + ], + "printable_height": "500", + "default_print_profile": "0.20mm Standard @Wanhao D9" +} diff --git a/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3.json b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3.json new file mode 100644 index 0000000000..91dc6cb5a5 --- /dev/null +++ b/resources/profiles/Wanhao/machine/Wanhao D9-500 MK3.json @@ -0,0 +1,9 @@ +{ + "type": "machine_model", + "name": "Wanhao D9-500 MK3", + "model_id": "Wanhao-D9-500-MK3", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Wanhao", + "default_materials": "Generic PLA @System;Generic PETG @System;Generic ABS @System" +} diff --git a/resources/profiles/Wanhao/machine/fdm_machine_common.json b/resources/profiles/Wanhao/machine/fdm_machine_common.json index 20d52ddf93..654d066697 100644 --- a/resources/profiles/Wanhao/machine/fdm_machine_common.json +++ b/resources/profiles/Wanhao/machine/fdm_machine_common.json @@ -14,7 +14,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -110,7 +109,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "0.16mm Optimal @Bambu Lab X1 Carbon 0.4 nozzle", "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" diff --git a/resources/profiles/Wanhao/machine/fdm_wanhao_common.json b/resources/profiles/Wanhao/machine/fdm_wanhao_common.json index 90c105b44d..0b8e77b013 100644 --- a/resources/profiles/Wanhao/machine/fdm_wanhao_common.json +++ b/resources/profiles/Wanhao/machine/fdm_wanhao_common.json @@ -116,7 +116,6 @@ "deretraction_speed": [ "40" ], - "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", "machine_pause_gcode": "M25 ;pause print", diff --git a/resources/profiles/Wanhao/machine/fdm_wanhao_d9_common.json b/resources/profiles/Wanhao/machine/fdm_wanhao_d9_common.json new file mode 100644 index 0000000000..563e50b943 --- /dev/null +++ b/resources/profiles/Wanhao/machine/fdm_wanhao_d9_common.json @@ -0,0 +1,108 @@ +{ + "type": "machine", + "name": "fdm_wanhao_d9_common", + "inherits": "fdm_wanhao_common", + "from": "system", + "instantiation": "false", + "gcode_flavor": "marlin2", + "use_relative_e_distances": "1", + "emit_machine_limits_to_gcode": "0", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "5", + "5" + ], + "machine_max_speed_e": [ + "25", + "25" + ], + "machine_max_acceleration_x": [ + "3000", + "3000" + ], + "machine_max_acceleration_y": [ + "3000", + "3000" + ], + "machine_max_acceleration_z": [ + "100", + "100" + ], + "machine_max_acceleration_e": [ + "3000", + "3000" + ], + "machine_max_acceleration_extruding": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "1000", + "1000" + ], + "machine_max_acceleration_retracting": [ + "800", + "800" + ], + "machine_max_jerk_x": [ + "10", + "10" + ], + "machine_max_jerk_y": [ + "10", + "10" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_max_jerk_e": [ + "1", + "1" + ], + "retraction_length": [ + "2.0" + ], + "retraction_speed": [ + "25" + ], + "deretraction_speed": [ + "25" + ], + "retraction_minimum_travel": [ + "1" + ], + "z_hop": [ + "0" + ], + "wipe": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "machine_start_gcode": "; Wanhao Duplicator 9 start G-code, for the Marlin 2.1 firmwares at github.com/Le-Syl21/WANHAO-Duplicator-9\nG21 ; millimetres\nG90 ; absolute coordinates\nM83 ; relative extrusion\nM140 S[bed_temperature_initial_layer_single] ; heat the bed\nM104 S150 ; warm the nozzle without letting it ooze\nG91 ; a print stopped by hand can leave the nozzle down on the bed\nG1 Z10 F300 ; so raise it before homing: a BLTouch needs 10 mm to deploy\nG90\nM280 P0 S160 ; BLTouch: clear an alarm and stow the pin\nG28 ; home all axes (this turns bed levelling off)\nM420 S1 ; turn the bed mesh saved from the screen back on\nG1 Z10 F300\nM104 S[nozzle_temperature_initial_layer] ; start the nozzle now, the bed is still heating\nM190 S[bed_temperature_initial_layer_single] ; wait for the bed\nM109 S[nozzle_temperature_initial_layer] ; and confirm the nozzle\nG92 E0\nG1 X15 Y20 Z0.3 F3000 ; start of the priming line\nG1 Y140 E9.0 F1200 ; draw a line of filament\nG1 X15.5 F3000\nG1 Y20 E9.0 F1200 ; and back, next to it\nG92 E0\nG1 X22 F6000 ; wipe sideways to snap the string\nG1 Z2 F300 ; lift, so the line does not stick to the nozzle", + "machine_end_gcode": "; Wanhao Duplicator 9 end G-code\nM104 S0 ; nozzle heater off\nM140 S0 ; bed heater off\nM107 ; fan off\nG91 ; relative moves\nG1 E-2 F1500 ; release the pressure in the nozzle\nG1 Z10 F300 ; lift the nozzle\nG90 ; absolute moves\nG1 X5 Y{print_bed_max[1] - 10} F3000 ; bring the bed to the front\nM84 X Y E ; motors off, Z keeps its position", + "layer_change_gcode": "G92 E0", + "machine_pause_gcode": "M600", + "default_filament_profile": [ + "Generic PLA @System" + ] +} diff --git a/resources/profiles/Wanhao/machine/fdm_wanhao_d9_mk1_common.json b/resources/profiles/Wanhao/machine/fdm_wanhao_d9_mk1_common.json new file mode 100644 index 0000000000..f6de484370 --- /dev/null +++ b/resources/profiles/Wanhao/machine/fdm_wanhao_d9_mk1_common.json @@ -0,0 +1,28 @@ +{ + "type": "machine", + "name": "fdm_wanhao_d9_mk1_common", + "inherits": "fdm_wanhao_d9_common", + "from": "system", + "instantiation": "false", + "machine_start_gcode": "; Wanhao Duplicator 9 start G-code, for the Marlin 2.1 firmwares at github.com/Le-Syl21/WANHAO-Duplicator-9\nG21 ; millimetres\nG90 ; absolute coordinates\nM83 ; relative extrusion\nM140 S[bed_temperature_initial_layer_single] ; heat the bed\nM104 S150 ; warm the nozzle without letting it ooze\nG91 ; a print stopped by hand can leave the nozzle down on the bed\nG1 Z10 F300 ; clear the bed before homing\nG90\nG28 ; home all axes (this turns bed levelling off)\nM420 S1 ; turn the bed mesh saved from the screen back on\nG1 Z10 F300\nM104 S[nozzle_temperature_initial_layer] ; start the nozzle now, the bed is still heating\nM190 S[bed_temperature_initial_layer_single] ; wait for the bed\nM109 S[nozzle_temperature_initial_layer] ; and confirm the nozzle\nG92 E0\nG1 X15 Y20 Z0.3 F3000 ; start of the priming line\nG1 Y140 E9.0 F1200 ; draw a line of filament\nG1 X15.5 F3000\nG1 Y20 E9.0 F1200 ; and back, next to it\nG92 E0\nG1 X22 F6000 ; wipe sideways to snap the string\nG1 Z2 F300 ; lift, so the line does not stick to the nozzle", + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_e": [ + "500", + "500" + ], + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ] +} diff --git a/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9 MK1.json b/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9 MK1.json new file mode 100644 index 0000000000..b5c5083042 --- /dev/null +++ b/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9 MK1.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.12mm Fine @Wanhao D9 MK1", + "inherits": "fdm_process_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "EClNN5UDWbLACTuz", + "instantiation": "true", + "layer_height": "0.12", + "initial_layer_print_height": "0.14", + "top_shell_layers": "4", + "bottom_shell_layers": "4", + "compatible_printers": [ + "Wanhao D9-300 MK1 0.4 nozzle", + "Wanhao D9-400 MK1 0.4 nozzle", + "Wanhao D9-500 MK1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9.json b/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9.json new file mode 100644 index 0000000000..5ea13a0f1e --- /dev/null +++ b/resources/profiles/Wanhao/process/0.12mm Fine @Wanhao D9.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.12mm Fine @Wanhao D9", + "inherits": "fdm_process_wanhao_d9_common", + "from": "system", + "setting_id": "0hvsKsPO55TlduZR", + "instantiation": "true", + "layer_height": "0.12", + "initial_layer_print_height": "0.14", + "top_shell_layers": "4", + "bottom_shell_layers": "4", + "compatible_printers": [ + "Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-300 MK2 0.4 nozzle", + "Wanhao D9-400 MK2 0.4 nozzle", + "Wanhao D9-500 MK2 0.4 nozzle", + "Wanhao D9-300 MK3 0.4 nozzle", + "Wanhao D9-400 MK3 0.4 nozzle", + "Wanhao D9-500 MK3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9 MK1.json b/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9 MK1.json new file mode 100644 index 0000000000..834dd8b158 --- /dev/null +++ b/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9 MK1.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.20mm Standard @Wanhao D9 MK1", + "inherits": "fdm_process_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "CXNOj3tPeTUXx81B", + "instantiation": "true", + "layer_height": "0.20", + "initial_layer_print_height": "0.24", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "compatible_printers": [ + "Wanhao D9-300 MK1 0.4 nozzle", + "Wanhao D9-400 MK1 0.4 nozzle", + "Wanhao D9-500 MK1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9.json b/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9.json new file mode 100644 index 0000000000..ee3fe49c29 --- /dev/null +++ b/resources/profiles/Wanhao/process/0.20mm Standard @Wanhao D9.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.20mm Standard @Wanhao D9", + "inherits": "fdm_process_wanhao_d9_common", + "from": "system", + "setting_id": "UVXxknNxJswqaURQ", + "instantiation": "true", + "layer_height": "0.20", + "initial_layer_print_height": "0.24", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "compatible_printers": [ + "Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-300 MK2 0.4 nozzle", + "Wanhao D9-400 MK2 0.4 nozzle", + "Wanhao D9-500 MK2 0.4 nozzle", + "Wanhao D9-300 MK3 0.4 nozzle", + "Wanhao D9-400 MK3 0.4 nozzle", + "Wanhao D9-500 MK3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9 MK1.json b/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9 MK1.json new file mode 100644 index 0000000000..e3ffe5895f --- /dev/null +++ b/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9 MK1.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.28mm Draft @Wanhao D9 MK1", + "inherits": "fdm_process_wanhao_d9_mk1_common", + "from": "system", + "setting_id": "omfIWwVnQVVxPrtb", + "instantiation": "true", + "layer_height": "0.28", + "initial_layer_print_height": "0.34", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "compatible_printers": [ + "Wanhao D9-300 MK1 0.4 nozzle", + "Wanhao D9-400 MK1 0.4 nozzle", + "Wanhao D9-500 MK1 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9.json b/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9.json new file mode 100644 index 0000000000..d9fd9e21e9 --- /dev/null +++ b/resources/profiles/Wanhao/process/0.28mm Draft @Wanhao D9.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "0.28mm Draft @Wanhao D9", + "inherits": "fdm_process_wanhao_d9_common", + "from": "system", + "setting_id": "FEJqq1ylXWqaBPR6", + "instantiation": "true", + "layer_height": "0.28", + "initial_layer_print_height": "0.34", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "compatible_printers": [ + "Wanhao D9-300 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-400 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-500 MK1 BLTouch kit 0.4 nozzle", + "Wanhao D9-300 MK2 0.4 nozzle", + "Wanhao D9-400 MK2 0.4 nozzle", + "Wanhao D9-500 MK2 0.4 nozzle", + "Wanhao D9-300 MK3 0.4 nozzle", + "Wanhao D9-400 MK3 0.4 nozzle", + "Wanhao D9-500 MK3 0.4 nozzle" + ] +} diff --git a/resources/profiles/Wanhao/process/fdm_process_common.json b/resources/profiles/Wanhao/process/fdm_process_common.json index a3fe34bea4..d7da41458a 100644 --- a/resources/profiles/Wanhao/process/fdm_process_common.json +++ b/resources/profiles/Wanhao/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", diff --git a/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json b/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json index f3ec727575..d8b026f624 100644 --- a/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json +++ b/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json @@ -4,7 +4,6 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_common.json b/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_common.json new file mode 100644 index 0000000000..457ba4ae2d --- /dev/null +++ b/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_common.json @@ -0,0 +1,38 @@ +{ + "type": "process", + "name": "fdm_process_wanhao_d9_common", + "inherits": "fdm_process_wanhao_common", + "from": "system", + "instantiation": "false", + "line_width": "0.4", + "initial_layer_line_width": "0.6", + "wall_loops": "2", + "infill_wall_overlap": "15%", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "gyroid", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "sparse_infill_speed": "50", + "internal_solid_infill_speed": "50", + "top_surface_speed": "40", + "gap_infill_speed": "40", + "bridge_speed": "50", + "support_speed": "35", + "initial_layer_speed": "25", + "initial_layer_infill_speed": "25", + "travel_speed": "100", + "default_acceleration": "1000", + "outer_wall_acceleration": "1000", + "inner_wall_acceleration": "1000", + "top_surface_acceleration": "1000", + "sparse_infill_acceleration": "1000", + "initial_layer_acceleration": "1000", + "bridge_acceleration": "1000", + "travel_acceleration": "1000", + "default_jerk": "0", + "skirt_loops": "2", + "skirt_distance": "4", + "brim_type": "no_brim", + "enable_support": "0", + "enable_arc_fitting": "0" +} diff --git a/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_mk1_common.json b/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_mk1_common.json new file mode 100644 index 0000000000..3fb1c650db --- /dev/null +++ b/resources/profiles/Wanhao/process/fdm_process_wanhao_d9_mk1_common.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "fdm_process_wanhao_d9_mk1_common", + "inherits": "fdm_process_wanhao_d9_common", + "from": "system", + "instantiation": "false", + "default_acceleration": "500", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500", + "top_surface_acceleration": "500", + "sparse_infill_acceleration": "500", + "initial_layer_acceleration": "500", + "bridge_acceleration": "500", + "travel_acceleration": "500" +} diff --git a/resources/profiles/WonderMaker.json b/resources/profiles/WonderMaker.json index 0eeffdb045..2a23096162 100755 --- a/resources/profiles/WonderMaker.json +++ b/resources/profiles/WonderMaker.json @@ -1,7 +1,7 @@ { "name": "WonderMaker", "url": "", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "WonderMaker configurations", "machine_model_list": [ @@ -432,12 +432,8 @@ "sub_path": "machine/WonderMaker ZR 0.4 nozzle.json" }, { - "name": "WonderMaker ZR Ultra 0.4 nozzle", - "sub_path": "machine/WonderMaker ZR Ultra 0.4 nozzle.json" - }, - { - "name": "WonderMaker ZR Ultra S 0.4 nozzle", - "sub_path": "machine/WonderMaker ZR Ultra S 0.4 nozzle.json" + "name": "fdm_ultra_common", + "sub_path": "machine/fdm_ultra_common.json" }, { "name": "WonderMaker ZR 0.2 nozzle", @@ -455,6 +451,10 @@ "name": "WonderMaker ZR Ultra 0.2 nozzle", "sub_path": "machine/WonderMaker ZR Ultra 0.2 nozzle.json" }, + { + "name": "WonderMaker ZR Ultra 0.4 nozzle", + "sub_path": "machine/WonderMaker ZR Ultra 0.4 nozzle.json" + }, { "name": "WonderMaker ZR Ultra 0.6 nozzle", "sub_path": "machine/WonderMaker ZR Ultra 0.6 nozzle.json" @@ -467,6 +467,10 @@ "name": "WonderMaker ZR Ultra S 0.2 nozzle", "sub_path": "machine/WonderMaker ZR Ultra S 0.2 nozzle.json" }, + { + "name": "WonderMaker ZR Ultra S 0.4 nozzle", + "sub_path": "machine/WonderMaker ZR Ultra S 0.4 nozzle.json" + }, { "name": "WonderMaker ZR Ultra S 0.6 nozzle", "sub_path": "machine/WonderMaker ZR Ultra S 0.6 nozzle.json" diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json old mode 100755 new mode 100644 index 927ab9d44b..e05b975115 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.2 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "AX42zNj8YsJ94ilv", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.2", + "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.14" + ], "nozzle_diameter": [ "0.2", "0.2", "0.2", "0.2" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.2", - "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], "min_layer_height": [ "0.04" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json old mode 100755 new mode 100644 index 0a30108052..67e507516a --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json @@ -1,65 +1,17 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.4 nozzle", - "inherits": "fdm_klipper_common", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "xJBdCljSZVDINXnP", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra", "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", "default_bed_type": "4", - "default_filament_profile": [ - "WonderMaker PLA Basic" - ], - "single_extruder_multi_material": "0", "nozzle_diameter": [ "0.4", "0.4", "0.4", "0.4" - ], - "printable_area": [ - "0x0", - "300x0", - "300x270", - "0x270" - ], - "bed_exclude_area": [], - "printable_height": "290", - "extruder_clearance_radius": "134", - "bed_mesh_min": [ - "10", - "10" - ], - "bed_mesh_max": [ - "290", - "260" - ], - "bed_mesh_probe_distance": [ - "50", - "50" - ], - "support_air_filtration": "0", - "support_chamber_temp_control": "0", - "machine_tool_change_time": "10", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "retract_lift_below": [ - "279", - "279", - "279", - "279" - ], - "enable_long_retraction_when_cut": [ - "0", - "0", - "0", - "0" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" ] } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json old mode 100755 new mode 100644 index fc851ff348..d98ab10954 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.6 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "6OWxZLFn3RD54QfX", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.42" + ], "nozzle_diameter": [ "0.6", "0.6", "0.6", "0.6" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], "min_layer_height": [ "0.12" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json old mode 100755 new mode 100644 index eefaab3431..2b5929a862 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.8 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "SY9snlsMkurhEYWP", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.56" + ], "nozzle_diameter": [ "0.8", "0.8", "0.8", "0.8" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], "min_layer_height": [ "0.16" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json old mode 100755 new mode 100644 index 26ad5e21d7..5d67c1fe5e --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json @@ -1,29 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.2 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.2 nozzle", "from": "system", "setting_id": "ZNAx3f7tX3DatiK1", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra S", "nozzle_diameter": [ "0.2", "0.2", "0.2", "0.2" ], - "printer_model": "WonderMaker ZR Ultra S", - "printer_variant": "0.2", "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ] + "printer_variant": "0.2", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json old mode 100755 new mode 100644 index df1dbbb9a8..3ae0673f79 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json @@ -1,65 +1,18 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.4 nozzle", - "inherits": "fdm_klipper_common", + "inherits": "WonderMaker ZR Ultra 0.4 nozzle", "from": "system", "setting_id": "8xoZ6vYv9ws0J97u", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", - "default_bed_type": "4", - "default_filament_profile": [ - "WonderMaker PLA Basic" - ], - "single_extruder_multi_material": "0", "nozzle_diameter": [ "0.4", "0.4", "0.4", "0.4" ], - "printable_area": [ - "0x0", - "300x0", - "300x270", - "0x270" - ], - "bed_exclude_area": [], - "printable_height": "290", - "extruder_clearance_radius": "134", - "bed_mesh_min": [ - "10", - "10" - ], - "bed_mesh_max": [ - "290", - "260" - ], - "bed_mesh_probe_distance": [ - "50", - "50" - ], + "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "machine_tool_change_time": "10", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "retract_lift_below": [ - "279", - "279", - "279", - "279" - ], - "enable_long_retraction_when_cut": [ - "0", - "0", - "0", - "0" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ] + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json old mode 100755 new mode 100644 index 9f2bd6f069..c75e56de4e --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json @@ -1,32 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.6 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.6 nozzle", "from": "system", "setting_id": "xuJnOPTmSW1BMo6p", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", - "printer_variant": "0.6", "nozzle_diameter": [ + "0.6", + "0.6", + "0.6", "0.6" ], - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4", - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3", - "3", - "3" - ] + "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", + "printer_variant": "0.6", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json old mode 100755 new mode 100644 index 2137855fe0..f18a3d3361 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json @@ -1,32 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.8 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.8 nozzle", "from": "system", "setting_id": "0BPLKMspArilfkGT", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", - "printer_variant": "0.8", "nozzle_diameter": [ + "0.8", + "0.8", + "0.8", "0.8" ], - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_length_toolchange": [ - "3", - "3", - "3", - "3" - ], - "retraction_length": [ - "3", - "3", - "3", - "3" - ] + "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", + "printer_variant": "0.8", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/fdm_machine_common.json b/resources/profiles/WonderMaker/machine/fdm_machine_common.json index 6e812d4a1a..3fc194fe33 100755 --- a/resources/profiles/WonderMaker/machine/fdm_machine_common.json +++ b/resources/profiles/WonderMaker/machine/fdm_machine_common.json @@ -20,7 +20,6 @@ "0x0" ], "gcode_flavor": "klipper", - "silent_mode": "0", "long_retractions_when_cut": [ "0" ], diff --git a/resources/profiles/WonderMaker/machine/fdm_ultra_common.json b/resources/profiles/WonderMaker/machine/fdm_ultra_common.json new file mode 100644 index 0000000000..08c8f9683a --- /dev/null +++ b/resources/profiles/WonderMaker/machine/fdm_ultra_common.json @@ -0,0 +1,64 @@ +{ + "type": "machine", + "name": "fdm_ultra_common", + "inherits": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "default_bed_type": "4", + "default_filament_profile": [ + "WonderMaker PLA Basic" + ], + "single_extruder_multi_material": "0", + "enable_filament_mapping": "1", + "filament_swap_gcode": "M117 Swap filament for tool {next_extruder}\nPAUSE", + "nozzle_diameter": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x270", + "0x270" + ], + "bed_exclude_area": [], + "printable_height": "290", + "extruder_clearance_radius": "134", + "bed_mesh_min": [ + "10", + "10" + ], + "bed_mesh_max": [ + "290", + "260" + ], + "bed_mesh_probe_distance": [ + "50", + "50" + ], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "machine_tool_change_time": "10", + "machine_load_filament_time": "0", + "machine_unload_filament_time": "0", + "retract_lift_below": [ + "279", + "279", + "279", + "279" + ], + "enable_long_retraction_when_cut": [ + "0", + "0", + "0", + "0" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ] +} diff --git a/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR 0.2 nozzle.json index 0b113f9f01..231a6d61b5 100755 --- a/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.2 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR Ultra 0.2 nozzle.json index 27b1b48eca..400c52194c 100755 --- a/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.06mm Fine @WonderMaker ZR Ultra 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR Ultra.json index 7b393336df..840a438931 100755 --- a/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "S9bZmEeAYQKyQW6v", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR.json index 1f4a7fed3b..51c704a726 100755 --- a/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.08mm Extra Fine @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "MDzBBVuT9evcSDUx", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR 0.2 nozzle.json index 4713c9c6ef..1e32bc43f8 100755 --- a/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.2 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR Ultra 0.2 nozzle.json index 422b17646b..b2e1739b53 100755 --- a/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.08mm Optimal @WonderMaker ZR Ultra 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR 0.2 nozzle.json index 1c298bcab0..d8db56e028 100755 --- a/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.2 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle.json index eeddb0e9f8..f83e6254f7 100755 --- a/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR 0.2 nozzle.json index a1275857de..954e3ae8ed 100755 --- a/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.2 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR Ultra 0.2 nozzle.json index f9a1aedca2..7f4a704c05 100755 --- a/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.12mm Draft @WonderMaker ZR Ultra 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR Ultra.json index f270e60327..a5b2aa0d55 100755 --- a/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "bSzDzVfhYbOfsvrm", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR.json index 1e0fd84bfd..cb96ef20a9 100755 --- a/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.12mm Fine @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "RNjDYmMvSgIjaGUB", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR 0.2 nozzle.json index 5c24551f11..9fb20debdd 100755 --- a/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.2 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR Ultra 0.2 nozzle.json index d10132d333..3eb2a453ff 100755 --- a/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.14mm Extra Draft @WonderMaker ZR Ultra 0.2 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR Ultra.json index 49e6dee9e5..33adc94625 100755 --- a/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "CJRH0KVoqMhAKf7b", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR.json index d6837e19f2..fef4b0de51 100755 --- a/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.16mm Optimal @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "Gq8p7VLck61epJRQ", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR 0.6 nozzle.json index 5ac88d7e8c..97c2009db6 100755 --- a/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.6 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR Ultra 0.6 nozzle.json index b3c7bc33da..82699880de 100755 --- a/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.18mm Fine @WonderMaker ZR Ultra 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR Ultra.json index 88320865b2..0655aa9194 100755 --- a/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "5UnvGUSJUfxiX3Oh", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR.json index da46084462..fcfeabbcd9 100755 --- a/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.20mm Standard @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "nalI7H3j0Qhs6qig", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR Ultra.json index 0c33e1a7f1..0463b259bd 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "hSxtB6qUwhhTkAtv", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR.json index f0b4ba5369..f56e519bef 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.24mm Draft @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "ptoXhTDH4PGy8H4w", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR 0.8 nozzle.json index 0808b7056e..764c717695 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.8 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR Ultra 0.8 nozzle.json index 433cc33740..70a708ba46 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.24mm Fine @WonderMaker ZR Ultra 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR 0.6 nozzle.json index ec5029b95a..b21d155153 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.6 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR Ultra 0.6 nozzle.json index e31b67eb36..f9667fface 100755 --- a/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.24mm Optimal @WonderMaker ZR Ultra 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR Ultra.json b/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR Ultra.json index 52b01c70c4..1785ba49f5 100755 --- a/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR Ultra.json +++ b/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR Ultra.json @@ -6,8 +6,6 @@ "setting_id": "sGfFFynEl5ot8fzq", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR.json b/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR.json index 3c61b187bf..e598576f17 100755 --- a/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR.json +++ b/resources/profiles/WonderMaker/process/0.28mm Extra Draft @WonderMaker ZR.json @@ -6,8 +6,6 @@ "setting_id": "cns9NtEbZzQRnUOq", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.4 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR 0.6 nozzle.json index 3818aa0c7f..45bc88f11c 100755 --- a/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.6 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle.json index 35257448ee..749427287a 100755 --- a/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR 0.8 nozzle.json index 01040bc97d..5117bec5c7 100755 --- a/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.8 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR Ultra 0.8 nozzle.json index 9387e0bd31..650f2b16bd 100755 --- a/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.32mm Optimal @WonderMaker ZR Ultra 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR 0.6 nozzle.json index 32e8d231a0..5da20d13fe 100755 --- a/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.6 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR Ultra 0.6 nozzle.json index aec25c67cd..c5d787805f 100755 --- a/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.36mm Draft @WonderMaker ZR Ultra 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR 0.8 nozzle.json index 9e040a39f7..178371f567 100755 --- a/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.8 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle.json index 1e5fbadf5a..b05bad45c8 100755 --- a/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR 0.6 nozzle.json index 23b41cff0f..3de31e9320 100755 --- a/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.6 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR Ultra 0.6 nozzle.json index 0499dd48ff..cfce9cde18 100755 --- a/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.42mm Extra Draft @WonderMaker ZR Ultra 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR 0.8 nozzle.json index b2d1696c4f..37089b0318 100755 --- a/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.8 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR Ultra 0.8 nozzle.json index 526dd3db7d..93311ca1d2 100755 --- a/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.48mm Draft @WonderMaker ZR Ultra 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR 0.8 nozzle.json index 399b583429..5ffbf26b77 100755 --- a/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "WonderMaker ZR 0.8 nozzle" ] diff --git a/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR Ultra 0.8 nozzle.json index 4708bbfed9..f5b2d333a9 100755 --- a/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/process/0.56mm Extra Draft @WonderMaker ZR Ultra 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "ooze_prevention": "1", "preheat_time": "30", "standby_temperature_delta": "-80", diff --git a/resources/profiles/WonderMaker/process/fdm_process_common.json b/resources/profiles/WonderMaker/process/fdm_process_common.json index ba67f8406c..a9d67585ce 100755 --- a/resources/profiles/WonderMaker/process/fdm_process_common.json +++ b/resources/profiles/WonderMaker/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "bridge_speed": "25", @@ -69,7 +68,5 @@ "xy_hole_compensation": "0", "xy_contour_compensation": "0", "compatible_printers": [], - "smooth_coefficient": "80", - "overhang_totally_speed": "19", "scarf_angle_threshold": "155" } diff --git a/resources/profiles/WonderMaker/process/fdm_process_wm_common.json b/resources/profiles/WonderMaker/process/fdm_process_wm_common.json index 3b7fb2ba74..72e8a815a2 100755 --- a/resources/profiles/WonderMaker/process/fdm_process_wm_common.json +++ b/resources/profiles/WonderMaker/process/fdm_process_wm_common.json @@ -20,7 +20,6 @@ "inner_wall_acceleration": "8000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "30", diff --git a/resources/profiles/Z-Bolt.json b/resources/profiles/Z-Bolt.json index aa092cc8b2..7c16785c62 100644 --- a/resources/profiles/Z-Bolt.json +++ b/resources/profiles/Z-Bolt.json @@ -1,7 +1,7 @@ { "name": "Z-Bolt", "url": "", - "version": "02.04.00.02", + "version": "02.04.00.03", "force_update": "0", "description": "Z-Bolt configurations", "machine_model_list": [ diff --git a/resources/profiles/Z-Bolt/machine/fdm_machine_common.json b/resources/profiles/Z-Bolt/machine/fdm_machine_common.json index 2a5cddb2f2..e9350c430c 100644 --- a/resources/profiles/Z-Bolt/machine/fdm_machine_common.json +++ b/resources/profiles/Z-Bolt/machine/fdm_machine_common.json @@ -19,7 +19,6 @@ "0x0" ], "gcode_flavor": "marlin", - "silent_mode": "0", "machine_max_acceleration_e": [ "5000" ], @@ -111,7 +110,6 @@ "wipe": [ "1" ], - "z_lift_type": "NormalLift", "default_print_profile": "", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_BEFORE_LAYER_CHANGE", "layer_change_gcode": "_AFTER_LAYER_CHANGE Z={layer_z}", diff --git a/resources/profiles/Z-Bolt/process/0.08mm Extra Fine @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.08mm Extra Fine @Z-Bolt 0.4 nozzle.json index 52e9dae00d..fa724bd573 100644 --- a/resources/profiles/Z-Bolt/process/0.08mm Extra Fine @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.08mm Extra Fine @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "aQbSyiYUXanu2sjX", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.08mm High Quality @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.08mm High Quality @Z-Bolt 0.4 nozzle.json index c71a6ae5ef..8535207de5 100644 --- a/resources/profiles/Z-Bolt/process/0.08mm High Quality @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.08mm High Quality @Z-Bolt 0.4 nozzle.json @@ -16,8 +16,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.12mm Fine @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.12mm Fine @Z-Bolt 0.4 nozzle.json index 74108d7eb6..4cd386a5a9 100644 --- a/resources/profiles/Z-Bolt/process/0.12mm Fine @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.12mm Fine @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "FXUuYzz6QKb2B8NO", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.12mm High Quality @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.12mm High Quality @Z-Bolt 0.4 nozzle.json index b7faeba25f..f79c91e16c 100644 --- a/resources/profiles/Z-Bolt/process/0.12mm High Quality @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.12mm High Quality @Z-Bolt 0.4 nozzle.json @@ -16,8 +16,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "180", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.4 nozzle.json index 06b6c23e34..72b2a62857 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.4 nozzle.json @@ -16,8 +16,6 @@ "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "200", "top_surface_speed": "150", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.6 nozzle.json index e826d762af..036b2ae886 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm High Quality @Z-Bolt 0.6 nozzle.json @@ -12,8 +12,6 @@ "top_surface_speed": "100", "default_acceleration": "5000", "outer_wall_acceleration": "2500", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm Optimal @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Optimal @Z-Bolt 0.4 nozzle.json index ccd2dbcd33..7f375e45f5 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Optimal @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Optimal @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "TrwuaRthXrp9Aqc2", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt 0.6 nozzle.json index 62e3e30a66..831f6dabdd 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S300 0.6 nozzle.json index a2651b61b8..4d70dc3505 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S400 0.6 nozzle.json index 7dceacb4d0..058a3a870c 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S600 0.6 nozzle.json index db42d946e5..977400fb28 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S800 0.6 nozzle.json index 053a3b9593..15405feb72 100644 --- a/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.16mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json index d926fede96..df9e3494fd 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json @@ -13,8 +13,6 @@ "top_surface_speed": "100", "default_acceleration": "5000", "outer_wall_acceleration": "2500", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.4 nozzle.json index e10958dbfe..740f23349e 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "jSA9QDV6RfL4eb5X", "instantiation": "true", "description": "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.6 nozzle.json index 92e55765eb..b5ccd2ba7a 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S300 0.6 nozzle.json index 97f40201d2..43f9ea536b 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S400 0.6 nozzle.json index 6366647a6f..641a53bd80 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S600 0.6 nozzle.json index 7b31b4afbb..2843e854cb 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S800 0.6 nozzle.json index 27808d012c..37ddf5b15d 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.20mm Strength @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.20mm Strength @Z-Bolt 0.4 nozzle.json index 177a7d1f87..ab0077d73a 100644 --- a/resources/profiles/Z-Bolt/process/0.20mm Strength @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.20mm Strength @Z-Bolt 0.4 nozzle.json @@ -9,8 +9,6 @@ "description": "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time.", "outer_wall_speed": "60", "sparse_infill_density": "25%", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "wall_loops": "6", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Draft @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Draft @Z-Bolt 0.4 nozzle.json index 358ae59e06..9505267903 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Draft @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Draft @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "L1bdHzIO1OKLDT3Q", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.6 nozzle.json index 5ef55f74f5..627d9ea582 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.8 nozzle.json index dad1890533..f16cccf104 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt 0.8 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.6 nozzle.json index fce0f0dc27..e646fce399 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.8 nozzle.json index 1f84b54785..9d8d457f31 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S300 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.6 nozzle.json index fe57ad2149..b304c7d305 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.8 nozzle.json index c1a1f9d3ba..ad2726dc6a 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S400 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.8 nozzle", "Z-Bolt S400 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.6 nozzle.json index e12643bd2a..5780b16d09 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.8 nozzle.json index 962ba3a32a..f4f133b107 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S600 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.8 nozzle", "Z-Bolt S600 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.6 nozzle.json index 8ba32b08b9..9ea1286a91 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.8 nozzle.json index 7ff2da7c2d..309d3ea585 100644 --- a/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.24mm Standard @Z-Bolt S800 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.8 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.28mm Extra Draft @Z-Bolt 0.4 nozzle.json b/resources/profiles/Z-Bolt/process/0.28mm Extra Draft @Z-Bolt 0.4 nozzle.json index f442650a69..3304756c78 100644 --- a/resources/profiles/Z-Bolt/process/0.28mm Extra Draft @Z-Bolt 0.4 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.28mm Extra Draft @Z-Bolt 0.4 nozzle.json @@ -7,8 +7,6 @@ "setting_id": "U6WOuHSZoT8XksE5", "instantiation": "true", "description": "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time.", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.4 nozzle", "Z-Bolt S300 Dual 0.4 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt 0.6 nozzle.json index 006f1c4d0a..0d00b00d51 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S300 0.6 nozzle.json index 5bc3a498b3..b040598949 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S400 0.6 nozzle.json index 6984af380f..611ec1a723 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S600 0.6 nozzle.json index 6df85166a4..34e6b16951 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S800 0.6 nozzle.json index 5add162efc..219a9150dc 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt 0.6 nozzle.json index 8fea281789..14c5183ddb 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt 0.6 nozzle.json @@ -10,8 +10,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S300 0.6 nozzle.json index 127c42f19c..aed5e54271 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S300 0.6 nozzle.json @@ -9,8 +9,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S400 0.6 nozzle.json index d03ac505d5..67525a87b8 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S400 0.6 nozzle.json @@ -9,8 +9,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S600 0.6 nozzle.json index 14dcc0f4ee..01745da5e5 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S600 0.6 nozzle.json @@ -9,8 +9,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S800 0.6 nozzle.json index 9dd0eb0728..a03c875c2a 100644 --- a/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.30mm Strength @Z-Bolt S800 0.6 nozzle.json @@ -9,8 +9,6 @@ "elefant_foot_compensation": "0.15", "sparse_infill_density": "25%", "wall_loops": "4", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt 0.8 nozzle.json index 7a8f7ea2e9..8587bb3e67 100644 --- a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt 0.8 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S300 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S300 0.8 nozzle.json index e639b6b277..f36ba77e24 100644 --- a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S300 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S300 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S400 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S400 0.8 nozzle.json index dc7e570d65..0ad0f9371a 100644 --- a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S400 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S400 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.8 nozzle", "Z-Bolt S400 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S600 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S600 0.8 nozzle.json index e7a77f55a1..f449cfd705 100644 --- a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S600 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S600 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.8 nozzle", "Z-Bolt S600 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S800 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S800 0.8 nozzle.json index 7fe7708930..7732bb1c18 100644 --- a/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S800 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.32mm Standard @Z-Bolt S800 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.8 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt 0.6 nozzle.json index 236979d112..8f5029d11d 100644 --- a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S300 0.6 nozzle.json index 32ec85d70d..d782d7d919 100644 --- a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S400 0.6 nozzle.json index 5f0e926991..a196f43fea 100644 --- a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S600 0.6 nozzle.json index e58fecfbe1..42f2d6defc 100644 --- a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S800 0.6 nozzle.json index 3d2af55bd0..e06c917d53 100644 --- a/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.36mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt 0.8 nozzle.json index b8c39f25b3..652815aeb7 100644 --- a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt 0.8 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S300 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S300 0.8 nozzle.json index bacba10332..b00f4442af 100644 --- a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S300 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S300 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S400 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S400 0.8 nozzle.json index 1234ff53d8..103dd99e63 100644 --- a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S400 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S400 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.8 nozzle", "Z-Bolt S400 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S600 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S600 0.8 nozzle.json index 6b05db5f96..30f9ef5ff1 100644 --- a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S600 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S600 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.8 nozzle", "Z-Bolt S600 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S800 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S800 0.8 nozzle.json index 0d0475e7d9..57a59eb902 100644 --- a/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S800 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.40mm Standard @Z-Bolt S800 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.8 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt 0.6 nozzle.json index ccaab4f070..b64b0028f9 100644 --- a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt 0.6 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S300 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S300 0.6 nozzle.json index 9a5e4b5aa5..87f866d958 100644 --- a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S300 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S300 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.6 nozzle", "Z-Bolt S300 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S400 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S400 0.6 nozzle.json index c84e8895c0..c82284df22 100644 --- a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S400 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S400 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.6 nozzle", "Z-Bolt S400 Dual 0.6 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S600 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S600 0.6 nozzle.json index 20f0a155e3..110605f717 100644 --- a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S600 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S600 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.6 nozzle", "Z-Bolt S600 Dual 0.6 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S800 0.6 nozzle.json b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S800 0.6 nozzle.json index ed319c209f..c042b0bea2 100644 --- a/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S800 0.6 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.42mm Standard @Z-Bolt S800 0.6 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.6 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt 0.8 nozzle.json index b26b749a81..c67e1d42fa 100644 --- a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt 0.8 nozzle.json @@ -8,8 +8,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S300 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S300 0.8 nozzle.json index 42ddc4ff8d..c1d19c312e 100644 --- a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S300 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S300 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S300 0.8 nozzle", "Z-Bolt S300 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S400 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S400 0.8 nozzle.json index 916e7a28e6..efed7665fe 100644 --- a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S400 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S400 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S400 0.8 nozzle", "Z-Bolt S400 Dual 0.8 nozzle" diff --git a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S600 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S600 0.8 nozzle.json index 32dc534606..49092fb651 100644 --- a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S600 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S600 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S600 0.8 nozzle", "Z-Bolt S600 Dual 0.8 nozzle", diff --git a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S800 0.8 nozzle.json b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S800 0.8 nozzle.json index 21c660ae18..cdea08b5f2 100644 --- a/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S800 0.8 nozzle.json +++ b/resources/profiles/Z-Bolt/process/0.48mm Standard @Z-Bolt S800 0.8 nozzle.json @@ -7,8 +7,6 @@ "instantiation": "true", "description": "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases.", "elefant_foot_compensation": "0.15", - "smooth_coefficient": "150", - "overhang_totally_speed": "50", "compatible_printers": [ "Z-Bolt S800 Dual 0.8 nozzle" ] diff --git a/resources/profiles/Z-Bolt/process/fdm_process_common.json b/resources/profiles/Z-Bolt/process/fdm_process_common.json index 4859096b3d..a685416c9b 100644 --- a/resources/profiles/Z-Bolt/process/fdm_process_common.json +++ b/resources/profiles/Z-Bolt/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "bridge_flow": "0.95", "bridge_no_support": "0", "bridge_speed": "25", @@ -41,7 +40,6 @@ "internal_solid_infill_speed": "40", "outer_wall_line_width": "0.42", "outer_wall_speed": "120", - "overhang_totally_speed": "19", "print_sequence": "by layer", "spiral_mode": "0", "standby_temperature_delta": "-5", @@ -70,6 +68,5 @@ "xy_hole_compensation": "0", "xy_contour_compensation": "0", "compatible_printers": [], - "smooth_coefficient": "80", "scarf_angle_threshold": "155" } diff --git a/resources/profiles/Z-Bolt/process/fdm_process_zbolt_common.json b/resources/profiles/Z-Bolt/process/fdm_process_zbolt_common.json index 627ed0f9f9..dd205e9370 100644 --- a/resources/profiles/Z-Bolt/process/fdm_process_zbolt_common.json +++ b/resources/profiles/Z-Bolt/process/fdm_process_zbolt_common.json @@ -17,7 +17,6 @@ "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", "initial_layer_acceleration": "500", "initial_layer_line_width": "0.5", "initial_layer_speed": "30", diff --git a/resources/profiles/blacklist.json b/resources/profiles/blacklist.json index 2c036613fc..6c16b5ae5d 100644 --- a/resources/profiles/blacklist.json +++ b/resources/profiles/blacklist.json @@ -4,9 +4,5 @@ ], "process": [ "GP008" - ], - "machine_model_list": [], - "process_list": [], - "filament_list": [], - "machine_list": [] + ] } diff --git a/resources/profiles/iQ.json b/resources/profiles/iQ.json index 050a0a2eb2..1148b112f3 100644 --- a/resources/profiles/iQ.json +++ b/resources/profiles/iQ.json @@ -1,6 +1,6 @@ { "name": "innovatiQ", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "1", "description": "innovatiQ configuration", "machine_model_list": [ @@ -56,6 +56,14 @@ "name": "fdm_process_tiq_common", "sub_path": "process/fdm_process_tiq_common.json" }, + { + "name": "0.15mm Standard @iQ TiQ2 (0.25 Nozzle)", + "sub_path": "process/0.15mm Standard @iQ TiQ2 (0.25 Nozzle).json" + }, + { + "name": "0.15mm Standard @iQ TiQ8 (0.25 Nozzle)", + "sub_path": "process/0.15mm Standard @iQ TiQ8 (0.25 Nozzle).json" + }, { "name": "0.20mm Standard @iQ TiQ2 P1 - HPP4GF25 Grauts (0.4 Nozzle)", "sub_path": "process/0.20mm Standard @iQ TiQ2 P1 - HPP4GF25 Grauts (0.4 Nozzle).json" @@ -76,26 +84,18 @@ "name": "0.20mm Standard @iQ TiQ8 P1 - ABS Natur Material4Print (0.4 Nozzle)", "sub_path": "process/0.20mm Standard @iQ TiQ8 P1 - ABS Natur Material4Print (0.4 Nozzle).json" }, - { - "name": "0.15mm Standard @iQ TiQ2 (0.25 Nozzle)", - "sub_path": "process/0.15mm Standard @iQ TiQ2 (0.25 Nozzle).json" - }, { "name": "0.30mm Standard @iQ TiQ2 (0.6 Nozzle)", "sub_path": "process/0.30mm Standard @iQ TiQ2 (0.6 Nozzle).json" }, - { - "name": "0.40mm Standard @iQ TiQ2 (0.8 Nozzle)", - "sub_path": "process/0.40mm Standard @iQ TiQ2 (0.8 Nozzle).json" - }, - { - "name": "0.15mm Standard @iQ TiQ8 (0.25 Nozzle)", - "sub_path": "process/0.15mm Standard @iQ TiQ8 (0.25 Nozzle).json" - }, { "name": "0.30mm Standard @iQ TiQ8 (0.6 Nozzle)", "sub_path": "process/0.30mm Standard @iQ TiQ8 (0.6 Nozzle).json" }, + { + "name": "0.40mm Standard @iQ TiQ2 (0.8 Nozzle)", + "sub_path": "process/0.40mm Standard @iQ TiQ2 (0.8 Nozzle).json" + }, { "name": "0.40mm Standard @iQ TiQ8 (0.8 Nozzle)", "sub_path": "process/0.40mm Standard @iQ TiQ8 (0.8 Nozzle).json" diff --git a/resources/profiles/iQ/filament/fdm_filament_common.json b/resources/profiles/iQ/filament/fdm_filament_common.json index 4bf9b7986c..5d8d059f91 100644 --- a/resources/profiles/iQ/filament/fdm_filament_common.json +++ b/resources/profiles/iQ/filament/fdm_filament_common.json @@ -84,9 +84,6 @@ "filament_is_support": [ "0" ], - "filament_load_time": [ - "0" - ], "filament_loading_speed": [ "28" ], @@ -153,9 +150,6 @@ "filament_toolchange_delay": [ "0" ], - "filament_unload_time": [ - "0" - ], "filament_unloading_speed": [ "90" ], diff --git a/resources/profiles/iQ/machine/TiQ2.json b/resources/profiles/iQ/machine/TiQ2.json index 36c04edf6e..3a24cd308a 100644 --- a/resources/profiles/iQ/machine/TiQ2.json +++ b/resources/profiles/iQ/machine/TiQ2.json @@ -7,5 +7,5 @@ "family": "TiQ", "bed_model": "TiQ2.stl", "bed_texture": "TiQ2_texture.svg", - "default_materials": "Fiberthree PACF Pro P1 @iQ TiQ2 0.4 Nozzle" + "default_materials": "Fiberthree PACF Pro P1 @iQ TiQ2 0.4 Nozzle;Generic PLA @System" } diff --git a/resources/profiles/iQ/machine/TiQ8.json b/resources/profiles/iQ/machine/TiQ8.json index 21d9c23413..0243125926 100644 --- a/resources/profiles/iQ/machine/TiQ8.json +++ b/resources/profiles/iQ/machine/TiQ8.json @@ -7,5 +7,5 @@ "family": "TiQ", "bed_model": "TiQ8.stl", "bed_texture": "TiQ8_texture.svg", - "default_materials": "Material4Print ABS Natur P1 @iQ TiQ8 0.4 Nozzle" + "default_materials": "Material4Print ABS Natur P1 @iQ TiQ8 0.4 Nozzle;Generic PLA @System" } diff --git a/resources/profiles/iQ/machine/fdm_tiq_common.json b/resources/profiles/iQ/machine/fdm_tiq_common.json index 2f1b6b8415..42fda68609 100644 --- a/resources/profiles/iQ/machine/fdm_tiq_common.json +++ b/resources/profiles/iQ/machine/fdm_tiq_common.json @@ -176,7 +176,6 @@ "30" ], "scan_first_layer": "0", - "silent_mode": "0", "single_extruder_multi_material": "0", "support_air_filtration": "1", "support_chamber_temp_control": "1", diff --git a/resources/profiles/iQ/process/fdm_process_tiq_common.json b/resources/profiles/iQ/process/fdm_process_tiq_common.json index 3214a995d5..d89538b598 100644 --- a/resources/profiles/iQ/process/fdm_process_tiq_common.json +++ b/resources/profiles/iQ/process/fdm_process_tiq_common.json @@ -30,7 +30,6 @@ "standby_temperature_delta": "-40", "preheat_time": "30", "preheat_steps": "1", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", @@ -100,7 +99,6 @@ "support_object_xy_distance": "0.35", "tree_support_branch_angle": "30", "tree_support_wall_count": "0", - "tree_support_with_infill": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", diff --git a/resources/profiles/re3D.json b/resources/profiles/re3D.json index 7a66cb4ce1..da34373d47 100644 --- a/resources/profiles/re3D.json +++ b/resources/profiles/re3D.json @@ -1,199 +1,199 @@ { - "name": "re3D", - "url": "", - "version": "03.00.10", - "force_update": "0", - "description": "re3D configurations", - "machine_model_list": [ - { - "name": "re3D Gigabot 4", - "sub_path": "machine/re3D Gigabot 4.json" - }, - { - "name": "re3D Gigabot 4 XLT", - "sub_path": "machine/re3D Gigabot 4 XLT.json" - }, - { - "name": "re3D GigabotX 2", - "sub_path": "machine/re3D GigabotX 2.json" - }, - { - "name": "re3D GigabotX 2 XLT", - "sub_path": "machine/re3D GigabotX 2 XLT.json" - }, - { - "name": "re3D Terabot 4", - "sub_path": "machine/re3D Terabot 4.json" - }, - { - "name": "re3D TerabotX 2", - "sub_path": "machine/re3D TerabotX 2.json" - } - ], - "process_list": [ - { - "name": "fdm_process_common", - "sub_path": "process/fdm_process_common.json" - }, - { - "name": "fdm_process_re3D_common", - "sub_path": "process/fdm_process_re3D_common.json" - }, - { - "name": "fgf_process_re3D_common", - "sub_path": "process/fgf_process_re3D_common.json" - }, - { - "name": "0.2 Fine", - "sub_path": "process/0.2mm Fine @re3D fdm 0.4.json" - }, - { - "name": "0.26 Standard", - "sub_path": "process/0.26mm Standard @re3D fdm 0.4.json" - }, - { - "name": "0.32 Draft", - "sub_path": "process/0.32mm Draft @re3D fdm 0.4.json" - }, - { - "name": "0.3 Fine", - "sub_path": "process/0.3mm Fine @re3D fdm 0.8.json" - }, - { - "name": "0.4 Standard", - "sub_path": "process/0.4mm Draft @re3D fdm 0.8.json" - }, - { - "name": "1.0 Standard", - "sub_path": "process/1.0mm Standard @re3D fgf 1.75.json" - }, - { - "name": "0.6 Standard", - "sub_path": "process/0.6mm Standard @re3D fgf 0.8.json" - } - ], - "filament_list": [ - { - "name": "fdm_filament_common", - "sub_path": "filament/fdm_filament_common.json" - }, - { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, - { - "name": "fdm_filament_pp", - "sub_path": "filament/fdm_filament_pp.json" - }, - { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, - { - "name": "re3D PLA @0.4 nozzle", - "sub_path": "filament/re3D PLA @0.4 nozzle.json" - }, - { - "name": "re3D PLA @0.8 nozzle", - "sub_path": "filament/re3D PLA @0.8 nozzle.json" - }, - { - "name": "re3D PETG @0.4 nozzle", - "sub_path": "filament/re3D PETG @0.4 nozzle.json" - }, - { - "name": "re3D PETG @0.8 nozzle", - "sub_path": "filament/re3D PETG @0.8 nozzle.json" - }, - { - "name": "re3D PC @0.4 nozzle", - "sub_path": "filament/re3D PC @0.4 nozzle.json" - }, - { - "name": "re3D PC @0.8 nozzle", - "sub_path": "filament/re3D PC @0.8 nozzle.json" - }, - { - "name": "re3D rPETG @0.8 nozzle", - "sub_path": "filament/re3D rPETG @0.8 nozzle.json" - }, - { - "name": "re3D rPETG @1.75 nozzle", - "sub_path": "filament/re3D rPETG @1.75 nozzle.json" - }, - { - "name": "re3D rPP @0.8 nozzle", - "sub_path": "filament/re3D rPP @0.8 nozzle.json" - }, - { - "name": "re3D rPP @1.75 nozzle", - "sub_path": "filament/re3D rPP @1.75 nozzle.json" - } - ], - "machine_list": [ - { - "name": "fdm_machine_common", - "sub_path": "machine/fdm_machine_common.json" - }, - { - "name": "fdm_re3D_common", - "sub_path": "machine/fdm_re3D_common.json" - }, - { - "name": "fgf_re3D_common", - "sub_path": "machine/fgf_re3D_common.json" - }, - { - "name": "re3D Gigabot 4 0.4 nozzle", - "sub_path": "machine/re3D Gigabot 4 0.4 nozzle.json" - }, - { - "name": "re3D Gigabot 4 0.8 nozzle", - "sub_path": "machine/re3D Gigabot 4 0.8 nozzle.json" - }, - { - "name": "re3D Gigabot 4 XLT 0.4 nozzle", - "sub_path": "machine/re3D Gigabot 4 XLT 0.4 nozzle.json" - }, - { - "name": "re3D Gigabot 4 XLT 0.8 nozzle", - "sub_path": "machine/re3D Gigabot 4 XLT 0.8 nozzle.json" - }, - { - "name": "re3D GigabotX 2 0.8 nozzle", - "sub_path": "machine/re3D GigabotX 2 0.8 nozzle.json" - }, - { - "name": "re3D GigabotX 2 1.75 nozzle", - "sub_path": "machine/re3D GigabotX 2 1.75 nozzle.json" - }, - { - "name": "re3D GigabotX 2 XLT 0.8 nozzle", - "sub_path": "machine/re3D GigabotX 2 XLT 0.8 nozzle.json" - }, - { - "name": "re3D GigabotX 2 XLT 1.75 nozzle", - "sub_path": "machine/re3D GigabotX 2 XLT 1.75 nozzle.json" - }, - { - "name": "re3D Terabot 4 0.4 nozzle", - "sub_path": "machine/re3D Terabot 4 0.4 nozzle.json" - }, - { - "name": "re3D Terabot 4 0.8 nozzle", - "sub_path": "machine/re3D Terabot 4 0.8 nozzle.json" - }, - { - "name": "re3D TerabotX 2 0.8 nozzle", - "sub_path": "machine/re3D TerabotX 2 0.8 nozzle.json" - }, - { - "name": "re3D TerabotX 2 1.75 nozzle", - "sub_path": "machine/re3D TerabotX 2 1.75 nozzle.json" - } - ] -} \ No newline at end of file + "name": "re3D", + "url": "", + "version": "03.00.11", + "force_update": "0", + "description": "re3D configurations", + "machine_model_list": [ + { + "name": "re3D Gigabot 4", + "sub_path": "machine/re3D Gigabot 4.json" + }, + { + "name": "re3D Gigabot 4 XLT", + "sub_path": "machine/re3D Gigabot 4 XLT.json" + }, + { + "name": "re3D GigabotX 2", + "sub_path": "machine/re3D GigabotX 2.json" + }, + { + "name": "re3D GigabotX 2 XLT", + "sub_path": "machine/re3D GigabotX 2 XLT.json" + }, + { + "name": "re3D Terabot 4", + "sub_path": "machine/re3D Terabot 4.json" + }, + { + "name": "re3D TerabotX 2", + "sub_path": "machine/re3D TerabotX 2.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_re3D_common", + "sub_path": "process/fdm_process_re3D_common.json" + }, + { + "name": "fgf_process_re3D_common", + "sub_path": "process/fgf_process_re3D_common.json" + }, + { + "name": "0.2 Fine", + "sub_path": "process/0.2mm Fine @re3D fdm 0.4.json" + }, + { + "name": "0.26 Standard", + "sub_path": "process/0.26mm Standard @re3D fdm 0.4.json" + }, + { + "name": "0.3 Fine", + "sub_path": "process/0.3mm Fine @re3D fdm 0.8.json" + }, + { + "name": "0.32 Draft", + "sub_path": "process/0.32mm Draft @re3D fdm 0.4.json" + }, + { + "name": "0.4 Standard", + "sub_path": "process/0.4mm Draft @re3D fdm 0.8.json" + }, + { + "name": "0.6 Standard", + "sub_path": "process/0.6mm Standard @re3D fgf 0.8.json" + }, + { + "name": "1.0 Standard", + "sub_path": "process/1.0mm Standard @re3D fgf 1.75.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_pp", + "sub_path": "filament/fdm_filament_pp.json" + }, + { + "name": "re3D PC @0.4 nozzle", + "sub_path": "filament/re3D PC @0.4 nozzle.json" + }, + { + "name": "re3D PC @0.8 nozzle", + "sub_path": "filament/re3D PC @0.8 nozzle.json" + }, + { + "name": "re3D PETG @0.4 nozzle", + "sub_path": "filament/re3D PETG @0.4 nozzle.json" + }, + { + "name": "re3D PETG @0.8 nozzle", + "sub_path": "filament/re3D PETG @0.8 nozzle.json" + }, + { + "name": "re3D rPETG @0.8 nozzle", + "sub_path": "filament/re3D rPETG @0.8 nozzle.json" + }, + { + "name": "re3D rPETG @1.75 nozzle", + "sub_path": "filament/re3D rPETG @1.75 nozzle.json" + }, + { + "name": "re3D PLA @0.4 nozzle", + "sub_path": "filament/re3D PLA @0.4 nozzle.json" + }, + { + "name": "re3D PLA @0.8 nozzle", + "sub_path": "filament/re3D PLA @0.8 nozzle.json" + }, + { + "name": "re3D rPP @0.8 nozzle", + "sub_path": "filament/re3D rPP @0.8 nozzle.json" + }, + { + "name": "re3D rPP @1.75 nozzle", + "sub_path": "filament/re3D rPP @1.75 nozzle.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_re3D_common", + "sub_path": "machine/fdm_re3D_common.json" + }, + { + "name": "fgf_re3D_common", + "sub_path": "machine/fgf_re3D_common.json" + }, + { + "name": "re3D Gigabot 4 0.4 nozzle", + "sub_path": "machine/re3D Gigabot 4 0.4 nozzle.json" + }, + { + "name": "re3D Gigabot 4 0.8 nozzle", + "sub_path": "machine/re3D Gigabot 4 0.8 nozzle.json" + }, + { + "name": "re3D Gigabot 4 XLT 0.4 nozzle", + "sub_path": "machine/re3D Gigabot 4 XLT 0.4 nozzle.json" + }, + { + "name": "re3D Gigabot 4 XLT 0.8 nozzle", + "sub_path": "machine/re3D Gigabot 4 XLT 0.8 nozzle.json" + }, + { + "name": "re3D Terabot 4 0.4 nozzle", + "sub_path": "machine/re3D Terabot 4 0.4 nozzle.json" + }, + { + "name": "re3D Terabot 4 0.8 nozzle", + "sub_path": "machine/re3D Terabot 4 0.8 nozzle.json" + }, + { + "name": "re3D GigabotX 2 0.8 nozzle", + "sub_path": "machine/re3D GigabotX 2 0.8 nozzle.json" + }, + { + "name": "re3D GigabotX 2 1.75 nozzle", + "sub_path": "machine/re3D GigabotX 2 1.75 nozzle.json" + }, + { + "name": "re3D GigabotX 2 XLT 0.8 nozzle", + "sub_path": "machine/re3D GigabotX 2 XLT 0.8 nozzle.json" + }, + { + "name": "re3D GigabotX 2 XLT 1.75 nozzle", + "sub_path": "machine/re3D GigabotX 2 XLT 1.75 nozzle.json" + }, + { + "name": "re3D TerabotX 2 0.8 nozzle", + "sub_path": "machine/re3D TerabotX 2 0.8 nozzle.json" + }, + { + "name": "re3D TerabotX 2 1.75 nozzle", + "sub_path": "machine/re3D TerabotX 2 1.75 nozzle.json" + } + ] +} diff --git a/resources/profiles/re3D/machine/fdm_machine_common.json b/resources/profiles/re3D/machine/fdm_machine_common.json index 736342291d..8c7a63cff5 100644 --- a/resources/profiles/re3D/machine/fdm_machine_common.json +++ b/resources/profiles/re3D/machine/fdm_machine_common.json @@ -4,10 +4,11 @@ "from": "system", "instantiation": "false", "auxiliary_fan": "0", - "bed_exclude_area": ["0x0"], + "bed_exclude_area": [ + "0x0" + ], "family": "re3D", "gcode_flavor": "klipper", "emit_machine_limits_to_gcode": "0", - "silent_mode": "0", "scan_first_layer": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/re3D/machine/fgf_re3D_common.json b/resources/profiles/re3D/machine/fgf_re3D_common.json index 3e0e409228..553bd126ee 100644 --- a/resources/profiles/re3D/machine/fgf_re3D_common.json +++ b/resources/profiles/re3D/machine/fgf_re3D_common.json @@ -1,9 +1,9 @@ { "type": "machine", "name": "fgf_re3D_common", + "inherits": "fdm_machine_common", "from": "system", "instantiation": "false", - "inherits": "fdm_machine_common", "gcode_flavor": "klipper", "printer_settings_id": "", "printer_technology": "FFF", @@ -43,7 +43,6 @@ "30" ], "z_hop_types": "Normal Lift", - "silent_mode": "0", "single_extruder_multi_material": "0", "change_filament_gcode": "M600", "machine_pause_gcode": "PAUSE", @@ -60,4 +59,4 @@ "scan_first_layer": "0", "nozzle_type": "undefine", "auxiliary_fan": "0" -} \ No newline at end of file +} diff --git a/resources/profiles/re3D/process/fdm_process_common.json b/resources/profiles/re3D/process/fdm_process_common.json index dcd5c826ae..8a8f884b10 100644 --- a/resources/profiles/re3D/process/fdm_process_common.json +++ b/resources/profiles/re3D/process/fdm_process_common.json @@ -3,7 +3,6 @@ "name": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", "brim_width": "5", diff --git a/resources/profiles/re3D/process/fdm_process_re3D_common.json b/resources/profiles/re3D/process/fdm_process_re3D_common.json index ea169330f4..d72e984ae1 100644 --- a/resources/profiles/re3D/process/fdm_process_re3D_common.json +++ b/resources/profiles/re3D/process/fdm_process_re3D_common.json @@ -1,88 +1,87 @@ { - "type": "process", - "name": "fdm_process_re3D_common", - "from": "system", - "instantiation": "false", - "inherits": "fdm_process_common", - "adaptive_layer_height": "0", - "reduce_crossing_wall": "1", - "bridge_flow": "0.985", - "brim_width": "8", - "print_sequence": "by layer", - "bridge_no_support": "0", - "elefant_foot_compensation": "0", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "rectilinear", - "infill_combination": "0", - "infill_wall_overlap": "25%", - "detect_overhang_wall": "1", - "reduce_infill_retraction": "0", - "filename_format": "{input_filename_base}.gcode", - "wall_loops": "3", - "wall_generator": "arachne", - "raft_layers": "0", - "seam_position": "nearest", - "skirt_distance": "8", - "skirt_height": "1", - "minimum_sparse_infill_area": "0", - "spiral_mode": "0", - "standby_temperature_delta": "-75", - "enable_support": "1", - "support_filament": "0", - "support_interface_filament": "0", - "support_on_build_plate_only": "0", - "support_interface_loop_pattern": "0", - "support_interface_top_layers": "2", - "support_interface_spacing": "0.05", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.5", - "detect_thin_wall": "0", - "enable_prime_tower": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "draft_shield": "disabled", - "enable_arc_fitting": "1", - "wall_infill_order": "inner wall/outer wall/infill", - "infill_direction": "45", - "interface_shells": "0", - "ironing_flow": "10%", - "ironing_spacing": "0.1", - "ironing_type": "no ironing", - "print_settings_id": "fdm_process_re3D_common", - "skirt_loops": "2", - "resolution": "0.0", - "support_type": "normal(auto)", - "support_style": "snug", - "support_interface_bottom_layers": "2", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "top_surface_pattern": "monotonicline", - "top_shell_layers": "4", - "top_shell_thickness": "0.6", - "wipe_tower_no_sparse_layers": "0", - "precise_outer_wall": "0", - "accel_to_decel_enable": "0", - "prime_volume": "200", - "ooze_prevention": "1", - "preheat_time": "30", - "slow_down_layers": "2", - "small_perimeter_threshold": "10", - "exclude_object": "1", - "compatible_printers": [ - "re3D Gigabot 4 0.4 nozzle", - "re3D Gigabot 4 0.8 nozzle", - "re3D Gigabot 4 XLT 0.4 nozzle", - "re3D Gigabot 4 XLT 0.8 nozzle", - "re3D Terabot 4 0.4 nozzle", - "re3D Terabot 4 0.8 nozzle" - ] + "type": "process", + "name": "fdm_process_re3D_common", + "inherits": "fdm_process_common", + "from": "system", + "instantiation": "false", + "reduce_crossing_wall": "1", + "bridge_flow": "0.985", + "brim_width": "8", + "print_sequence": "by layer", + "bridge_no_support": "0", + "elefant_foot_compensation": "0", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "rectilinear", + "infill_combination": "0", + "infill_wall_overlap": "25%", + "detect_overhang_wall": "1", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "wall_generator": "arachne", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "8", + "skirt_height": "1", + "minimum_sparse_infill_area": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-75", + "enable_support": "1", + "support_filament": "0", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.05", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "draft_shield": "disabled", + "enable_arc_fitting": "1", + "wall_infill_order": "inner wall/outer wall/infill", + "infill_direction": "45", + "interface_shells": "0", + "ironing_flow": "10%", + "ironing_spacing": "0.1", + "ironing_type": "no ironing", + "print_settings_id": "fdm_process_re3D_common", + "skirt_loops": "2", + "resolution": "0.0", + "support_type": "normal(auto)", + "support_style": "snug", + "support_interface_bottom_layers": "2", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "top_surface_pattern": "monotonicline", + "top_shell_layers": "4", + "top_shell_thickness": "0.6", + "wipe_tower_no_sparse_layers": "0", + "precise_outer_wall": "0", + "accel_to_decel_enable": "0", + "prime_volume": "200", + "ooze_prevention": "1", + "preheat_time": "30", + "slow_down_layers": "2", + "small_perimeter_threshold": "10", + "exclude_object": "1", + "compatible_printers": [ + "re3D Gigabot 4 0.4 nozzle", + "re3D Gigabot 4 0.8 nozzle", + "re3D Gigabot 4 XLT 0.4 nozzle", + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.4 nozzle", + "re3D Terabot 4 0.8 nozzle" + ] } diff --git a/resources/profiles/re3D/process/fgf_process_re3D_common.json b/resources/profiles/re3D/process/fgf_process_re3D_common.json index 3258753500..902366c830 100644 --- a/resources/profiles/re3D/process/fgf_process_re3D_common.json +++ b/resources/profiles/re3D/process/fgf_process_re3D_common.json @@ -1,10 +1,9 @@ { "type": "process", "name": "fgf_process_re3D_common", + "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "inherits": "fdm_process_common", - "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonicline", @@ -112,4 +111,4 @@ "re3D TerabotX 2 0.8 nozzle", "re3D TerabotX 2 1.75 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/shaders/110/ssao.fs b/resources/shaders/110/ssao.fs index 5aada05883..db266daba1 100644 --- a/resources/shaders/110/ssao.fs +++ b/resources/shaders/110/ssao.fs @@ -7,18 +7,38 @@ uniform sampler2D color_texture; uniform sampler2D depth_texture; -uniform sampler2D normal_texture; uniform vec2 inv_tex_size; -uniform float z_near; uniform float z_far; uniform bool is_outline; +// The pass has no normal target to read, so the surface normal is reconstructed from the depth +// buffer. inv_projection_matrix unprojects a pixel back into view space and up_view is world +Z +// expressed in view space, which is what tells a top surface from a wall. +uniform mat4 inv_projection_matrix; +uniform vec3 up_view; varying vec2 tex_coord; -float linearize_depth(float depth) +// Position of the given pixel in view space. Valid under both an orthographic and a perspective +// camera, unlike the depth linearization it replaces. +vec3 view_pos(vec2 uv) { - float z = depth * 2.0 - 1.0; - return (2.0 * z_near * z_far) / (z_far + z_near - z * (z_far - z_near)); + vec2 c = clamp(uv, vec2(0.0), vec2(1.0)); + float d = texture2D(depth_texture, c).r; + vec4 ndc = vec4(c * 2.0 - 1.0, d * 2.0 - 1.0, 1.0); + vec4 view = inv_projection_matrix * ndc; + return view.xyz / view.w; +} + +// Surface normal at the given pixel, from the forward differences of the reconstructed view +// position. It rings by a pixel across a depth discontinuity, which is acceptable here: the +// normal only weights the occlusion, nothing is shaded with it. +vec3 view_normal(vec2 uv, vec3 p) +{ + vec3 px = view_pos(uv + vec2(inv_tex_size.x, 0.0)); + vec3 py = view_pos(uv + vec2(0.0, inv_tex_size.y)); + vec3 n = cross(px - p, py - p); + float len = length(n); + return (len > 1e-8) ? n / len : vec3(0.0, 0.0, 1.0); } void main() @@ -28,16 +48,21 @@ void main() return; } vec3 base = texture2D(color_texture, tex_coord).rgb; - float depth_center = linearize_depth(texture2D(depth_texture, tex_coord).r); - // Sample normal at current fragment (range: -1 to 1) - vec3 normal_center = texture2D(normal_texture, tex_coord).rgb * 2.0 - 1.0; + // Nothing was drawn here: occluding the background would only darken the gradient, and its + // reconstructed normal is degenerate anyway. + if (texture2D(depth_texture, tex_coord).r >= 0.9999) { + gl_FragColor = vec4(base, 1.0); + return; + } + + vec3 center_pos = view_pos(tex_coord); + float depth_center = -center_pos.z; + vec3 normal_center = view_normal(tex_coord, center_pos); // Calculate how much the surface faces upward - // up_factor = 1.0 for surfaces pointing straight up (0,0,1) - // up_factor = 0.0 for surfaces pointing down or sideways - float up_factor = max(0.0, normal_center.z); // Assuming Z is up axis - // Alternative: if Y is up, use normal_center.y + // up_factor = 1.0 for surfaces pointing straight up, 0.0 for walls and downward faces + float up_factor = clamp(dot(normal_center, up_view), 0.0, 1.0); // Adaptive sampling radius float radius = mix(2.0, 4.0, depth_center / z_far); @@ -52,39 +77,38 @@ void main() offsets[6] = vec2( 0.0, -1.0); offsets[7] = vec2( 0.707,-0.707); + // Occlusion is a slope, not a depth difference: how far a neighbour rises out of the + // centre's tangent plane over how far away it is. Unlike a raw difference, that sine is + // free of camera distance and zoom, so a crease reads the same from any view. + const float SLOPE_MIN = 0.08; // ~5 degrees, above the depth-buffer noise of a flat surface + const float SLOPE_MAX = 0.60; // ~37 degrees, a full crease + + const float SAMPLE_COUNT = 8.0; float occlusion = 0.0; - int valid_samples = 0; for (int i = 0; i < 8; ++i) { vec2 uv = tex_coord + offsets[i] * inv_tex_size * radius; - uv = clamp(uv, vec2(0.001), vec2(0.999)); - float sample_depth = linearize_depth(texture2D(depth_texture, uv).r); - float depth_diff = max(0.0, depth_center - sample_depth); - - float threshold = 0.015 * (0.5 + depth_center / z_far); - float contribution = smoothstep(0.001, threshold, depth_diff); + vec3 delta = view_pos(uv) - center_pos; + float dist = length(delta); + float rise = (dist > 1e-6) ? dot(delta, normal_center) / dist : 0.0; + float contribution = smoothstep(SLOPE_MIN, SLOPE_MAX, rise); float diagonal_weight = 1.0 - abs(offsets[i].x * offsets[i].y) * 0.5; occlusion += contribution * diagonal_weight; - valid_samples++; } - if (valid_samples > 0) - occlusion /= float(valid_samples); + occlusion /= SAMPLE_COUNT; // flatter/top-like surfaces get less darkening float ao_intensity = 0.55; float ambient_occlusion = 1.0 - occlusion * ao_intensity; - // Different min values for top vs bottom surfaces + // Different min values for top vs bottom surfaces. The boost that used to follow lifted a + // top surface back to within 2% of unoccluded once up_factor became a real normal rather + // than a colour, which is where the AO went; the floors alone shape the effect now. float ao_min = mix(0.45, 0.70, up_factor); // Bottom: 0.45, Top: 0.70 ambient_occlusion = clamp(ambient_occlusion, ao_min, 1.0); - // Boost brightness on top surfaces (optional) - float brightness_boost = 1.0 + up_factor * 0.15; // 15% extra brightness on top - ambient_occlusion = pow(ambient_occlusion, 2.2) * brightness_boost; - ambient_occlusion = clamp(ambient_occlusion, 0.45, 1.05); - gl_FragColor = vec4(base * ambient_occlusion, 1.0); -} \ No newline at end of file +} diff --git a/resources/shaders/110/xray.fs b/resources/shaders/110/xray.fs new file mode 100644 index 0000000000..27bdb17044 --- /dev/null +++ b/resources/shaders/110/xray.fs @@ -0,0 +1,28 @@ +#version 110 + +// X-Ray view: each surface is a thin translucent layer of its own color, covering more the more +// edge-on it is seen. The caller draws it with depth writes off, so every surface a view ray crosses +// composites and overlapping geometry reads as denser. Source-alpha rather than additive blending: +// additive would saturate to white on the light theme's near-white background. +#define EDGE_FALLOFF 2.0 +// Coverage head-on and edge-on. +#define FACE_DENSITY 0.12 +#define EDGE_DENSITY 0.65 + +uniform vec4 uniform_color; + +varying vec3 eye_normal; +varying vec3 eye_position; +varying vec3 clipping_planes_dots; + +void main() +{ + if (any(lessThan(clipping_planes_dots, vec3(0.0)))) + discard; + + // abs(): back faces are drawn too, and there only the angle matters. + float facing = abs(dot(normalize(eye_normal), normalize(-eye_position))); + float density = mix(EDGE_DENSITY, FACE_DENSITY, pow(facing, EDGE_FALLOFF)); + + gl_FragColor = vec4(uniform_color.rgb, density * uniform_color.a); +} diff --git a/resources/shaders/110/xray.vs b/resources/shaders/110/xray.vs new file mode 100644 index 0000000000..85f932f2df --- /dev/null +++ b/resources/shaders/110/xray.vs @@ -0,0 +1,31 @@ +#version 110 + +uniform mat4 view_model_matrix; +uniform mat4 projection_matrix; +uniform mat3 view_normal_matrix; +uniform mat4 volume_world_matrix; + +// Clipping, as in gouraud.vs: the preview's top / bottom plane and the SLA gizmo's free one. +uniform vec2 z_range; +uniform vec4 clipping_plane; + +attribute vec3 v_position; +attribute vec3 v_normal; + +varying vec3 eye_normal; +varying vec3 eye_position; +varying vec3 clipping_planes_dots; + +void main() +{ + eye_normal = view_normal_matrix * v_normal; + + vec4 position = view_model_matrix * vec4(v_position, 1.0); + eye_position = position.xyz; + + // A component below zero means the fragment is clipped away. + vec4 world_pos = volume_world_matrix * vec4(v_position, 1.0); + clipping_planes_dots = vec3(dot(world_pos, clipping_plane), world_pos.z - z_range.x, z_range.y - world_pos.z); + + gl_Position = projection_matrix * position; +} diff --git a/resources/shaders/140/ssao.fs b/resources/shaders/140/ssao.fs index b3b6df6877..28b561ba2c 100644 --- a/resources/shaders/140/ssao.fs +++ b/resources/shaders/140/ssao.fs @@ -1,24 +1,45 @@ #version 140 /** - * SSAO Shader - GLSL 140 version with sharp depth threshold + * SSAO Shader - GLSL 140 version with a slope-based occlusion test * Only darkens valleys/concave areas, ignores smooth variations */ uniform sampler2D color_texture; uniform sampler2D depth_texture; -uniform sampler2D normal_texture; -uniform float z_near; +uniform vec2 inv_tex_size; uniform float z_far; uniform bool is_outline; +// The pass has no normal target to read, so the surface normal is reconstructed from the depth +// buffer. inv_projection_matrix unprojects a pixel back into view space and up_view is world +Z +// expressed in view space, which is what tells a top surface from a wall. +uniform mat4 inv_projection_matrix; +uniform vec3 up_view; in vec2 tex_coord; out vec4 frag_color; -float linearize_depth(float depth) +// Position of the given pixel in view space. Valid under both an orthographic and a perspective +// camera, unlike the depth linearization it replaces. +vec3 view_pos(ivec2 pixel) { - float z = depth * 2.0 - 1.0; - return (2.0 * z_near * z_far) / (z_far + z_near - z * (z_far - z_near)); + ivec2 p = clamp(pixel, ivec2(0), textureSize(depth_texture, 0) - 1); + float d = texelFetch(depth_texture, p, 0).r; + vec4 ndc = vec4((vec2(p) + 0.5) * inv_tex_size * 2.0 - 1.0, d * 2.0 - 1.0, 1.0); + vec4 view = inv_projection_matrix * ndc; + return view.xyz / view.w; +} + +// Surface normal at the given pixel, from the forward differences of the reconstructed view +// position. It rings by a pixel across a depth discontinuity, which is acceptable here: the +// normal only weights the occlusion, nothing is shaded with it. +vec3 view_normal(ivec2 pixel, vec3 p) +{ + vec3 px = view_pos(pixel + ivec2(1, 0)); + vec3 py = view_pos(pixel + ivec2(0, 1)); + vec3 n = cross(px - p, py - p); + float len = length(n); + return (len > 1e-8) ? n / len : vec3(0.0, 0.0, 1.0); } void main() @@ -28,81 +49,72 @@ void main() return; } ivec2 pixel = ivec2(gl_FragCoord.xy); - float center_depth = linearize_depth(texelFetch(depth_texture, pixel, 0).r); - - // Sample normal buffer (stored as RGB in 0-1 range, convert to -1 to 1) - vec3 normal_center = texelFetch(normal_texture, pixel, 0).rgb * 2.0 - 1.0; - normal_center = normalize(normal_center); - + vec3 color = texture(color_texture, tex_coord).rgb; + + // Nothing was drawn here: occluding the background would only darken the gradient, and its + // reconstructed normal is degenerate anyway. + if (texelFetch(depth_texture, pixel, 0).r >= 0.9999) { + frag_color = vec4(color, 1.0); + return; + } + + vec3 center_pos = view_pos(pixel); + float center_depth = -center_pos.z; + vec3 normal_center = view_normal(pixel, center_pos); + // Calculate upward-facing factor (Z-up coordinate system) - float up_factor = clamp(normal_center.z * 1.5, 0.0, 1.0); - + float up_factor = clamp(dot(normal_center, up_view), 0.0, 1.0); + // Adaptive radius in pixel space int radius = int(mix(2.0, 4.0, center_depth / z_far)); // Optimized sampling pattern - const ivec2 offsets[12] = ivec2[]( + const int SAMPLE_COUNT = 12; + const ivec2 offsets[SAMPLE_COUNT] = ivec2[]( ivec2(1, 0), ivec2(-1, 0), ivec2(0, 1), ivec2(0, -1), ivec2(1, 1), ivec2(-1, 1), ivec2(1, -1), ivec2(-1, -1), ivec2(2, 0), ivec2(-2, 0), ivec2(0, 2), ivec2(0, -2) ); - float occlusion = 0.0; - int valid_samples = 0; + // Occlusion is a slope, not a depth difference: the sine of the angle a neighbour subtends + // above the centre's tangent plane. A raw difference depends on camera distance and zoom, + // so no fixed thresholds suit both a 0.2 mm layer step and a 5 mm overhang. + const float SLOPE_MIN = 0.08; // ~5 degrees, above the depth-buffer noise of a flat surface + const float SLOPE_MAX = 0.60; // ~37 degrees, a full crease - for (int i = 0; i < 12; i++) { + float occlusion = 0.0; + + for (int i = 0; i < SAMPLE_COUNT; i++) { + // No edge rejection: view_pos clamps, giving a near-zero delta and no occlusion. + // Rejecting one side only would bias the denominator against the other. ivec2 sample_pixel = pixel + offsets[i] * radius; - if (sample_pixel.x < 0 || sample_pixel.y < 0) - continue; - - float sample_depth = linearize_depth(texelFetch(depth_texture, sample_pixel, 0).r); - - // Sample normal at neighbor - vec3 normal_sample = texelFetch(normal_texture, sample_pixel, 0).rgb * 2.0 - 1.0; - - // Depth difference (positive if neighbor is closer to camera) - float depth_diff = center_depth - sample_depth; - - // Sharp depth threshold === - // Minimum depth difference to consider occlusion (ignores small variations) - float threshold_min = 0.008; // Higher = only deep valleys get darkened - float threshold_max = 0.04; // Transition range for full occlusion + vec3 delta = view_pos(sample_pixel) - center_pos; + float dist = length(delta); + // How far the neighbour rises towards the viewer out of the centre's tangent plane. A + // flat surface gives ~0 whatever its orientation, so this also subsumes the separate + // planar test the normals were compared for. + float rise = (dist > 1e-6) ? dot(delta, normal_center) / dist : 0.0; float contribution = 0.0; - if (depth_diff > threshold_min) { + if (rise > SLOPE_MIN) { // Abrupt mapping with power curve - contribution = (depth_diff - threshold_min) / (threshold_max - threshold_min); + contribution = (rise - SLOPE_MIN) / (SLOPE_MAX - SLOPE_MIN); contribution = clamp(contribution, 0.0, 1.0); contribution = pow(contribution, 2.0); // Steeper curve for sharper transition } - // Reduce occlusion on planar surfaces (similar normals) - float normal_similarity = dot(normal_center, normal_sample); - float planar_factor = smoothstep(0.75, 0.95, normal_similarity); - contribution *= (1.0 - planar_factor * 0.6); - occlusion += contribution; - valid_samples++; } - if (valid_samples > 0) { - // Calculate ambient occlusion factor with higher base intensity - float ao_factor = 1.0 - (occlusion / float(valid_samples)) * 0.6; - - // Keep bright areas clean (higher minimum for upward-facing surfaces) - float ao_min = mix(0.55, 0.85, up_factor); - ao_factor = clamp(ao_factor, ao_min, 1.0); - - // Slight brightness boost for upward-facing surfaces - float brightness_boost = 1.0 + up_factor * 0.15; - ao_factor = ao_factor * brightness_boost; - - occlusion = ao_factor; - } else { - occlusion = 1.0; - } + // Calculate ambient occlusion factor with higher base intensity + float ao_factor = 1.0 - (occlusion / float(SAMPLE_COUNT)) * 0.6; + + // Keep bright areas clean (higher minimum for upward-facing surfaces). The old 0.85 floor + // and 1.15 boost were set when up_factor came from the colour buffer and read ~0; with a + // real normal they capped a top surface at 2% darkening, which hid the AO entirely. + float ao_min = mix(0.45, 0.70, up_factor); + occlusion = clamp(ao_factor, ao_min, 1.0); - vec3 color = texture(color_texture, tex_coord).rgb; frag_color = vec4(color * occlusion, 1.0); -} \ No newline at end of file +} diff --git a/resources/shaders/140/xray.fs b/resources/shaders/140/xray.fs new file mode 100644 index 0000000000..71c3569f8e --- /dev/null +++ b/resources/shaders/140/xray.fs @@ -0,0 +1,30 @@ +#version 140 + +// X-Ray view: each surface is a thin translucent layer of its own color, covering more the more +// edge-on it is seen. The caller draws it with depth writes off, so every surface a view ray crosses +// composites and overlapping geometry reads as denser. Source-alpha rather than additive blending: +// additive would saturate to white on the light theme's near-white background. +#define EDGE_FALLOFF 2.0 +// Coverage head-on and edge-on. +#define FACE_DENSITY 0.12 +#define EDGE_DENSITY 0.65 + +uniform vec4 uniform_color; + +in vec3 eye_normal; +in vec3 eye_position; +in vec3 clipping_planes_dots; + +out vec4 out_color; + +void main() +{ + if (any(lessThan(clipping_planes_dots, vec3(0.0)))) + discard; + + // abs(): back faces are drawn too, and there only the angle matters. + float facing = abs(dot(normalize(eye_normal), normalize(-eye_position))); + float density = mix(EDGE_DENSITY, FACE_DENSITY, pow(facing, EDGE_FALLOFF)); + + out_color = vec4(uniform_color.rgb, density * uniform_color.a); +} diff --git a/resources/shaders/140/xray.vs b/resources/shaders/140/xray.vs new file mode 100644 index 0000000000..9cb0d64b32 --- /dev/null +++ b/resources/shaders/140/xray.vs @@ -0,0 +1,31 @@ +#version 140 + +uniform mat4 view_model_matrix; +uniform mat4 projection_matrix; +uniform mat3 view_normal_matrix; +uniform mat4 volume_world_matrix; + +// Clipping, as in gouraud.vs: the preview's top / bottom plane and the SLA gizmo's free one. +uniform vec2 z_range; +uniform vec4 clipping_plane; + +in vec3 v_position; +in vec3 v_normal; + +out vec3 eye_normal; +out vec3 eye_position; +out vec3 clipping_planes_dots; + +void main() +{ + eye_normal = view_normal_matrix * v_normal; + + vec4 position = view_model_matrix * vec4(v_position, 1.0); + eye_position = position.xyz; + + // A component below zero means the fragment is clipped away. + vec4 world_pos = volume_world_matrix * vec4(v_position, 1.0); + clipping_planes_dots = vec3(dot(world_pos, clipping_plane), world_pos.z - z_range.x, z_range.y - world_pos.z); + + gl_Position = projection_matrix * position; +} diff --git a/resources/web/dialog/SpeedDial/index.html b/resources/web/dialog/SpeedDial/index.html index 95a34b377a..a9070b972e 100644 --- a/resources/web/dialog/SpeedDial/index.html +++ b/resources/web/dialog/SpeedDial/index.html @@ -19,7 +19,10 @@ - + + + + @@ -27,6 +30,7 @@
+ diff --git a/resources/web/dialog/SpeedDial/speeddial.js b/resources/web/dialog/SpeedDial/speeddial.js index 65f64b4399..03f315e39c 100644 --- a/resources/web/dialog/SpeedDial/speeddial.js +++ b/resources/web/dialog/SpeedDial/speeddial.js @@ -1,267 +1,884 @@ // Speed Dial launcher page. Static-safe module: no DOM access at load time so a -// node vm can exercise the pure helpers (filterActions / actionLabel / nextSel). +// node vm can exercise the pure helpers (searchActions / filterTabs / actionLabel / nextSel / +// commandList / commandSections / actionCategory / groupActions / favDigitFromEvent / spacerHeight). +// +// Cross-boundary contracts (keep in sync; the C++ side pins its half in tests): +// - favourite cap 10 -> ActionRegistry::kFavLimit (K_FAV_LIMIT here) +// - mode rank simple ConfigOptionMode order (MODE_RANK here) +// - action.mode token -> ActionRegistry::mode_key / SpeedDialDialog::mode_label +// - action.input "percent"/"tab" -> NativeCommands catalog (phases handled in activateEntry) +// - action.icon SVG base name -> AppAction::icon / resources/images/.svg +// - action.desc/wiki -> AppAction::tooltip / help_url (footer detail strip) +// - payload.tooltip_expanded -> ActionRegistry::tooltip_expanded (persisted footer state) +// - action list is frecency-sorted -> ActionRegistry::snapshot() // ---- state (populated by the C++ bridge via window.HandleStudio) ---- -var ACTIONS = []; // [{id,title,source,shortcut}], already frecency-sorted by C++ +var ACTIONS = []; // [{id,title,source,group,kind,input,icon,mode}], already frecency-sorted by C++ var FAVS = []; // [id...] +var RECENTS = []; // [{id,title,source,group,kind,input,icon,mode}] - last-N launched var query = ""; var sel = { zone: "list", i: 0 }; // zone: 'list' | 'fav' -var lastResizeHeight = 0; var matchIndex = {}; -// why: fuzzy matcher (FoldChar/Norm/FuzzyRanges) lives in shared ../../js/fuzzy-search.js, loaded before -// this script - it is shared with the Plugins dialog. Speed dial search is always case-insensitive. +// Global tooltip expansion, seeded from C++ (persisted in the speed_dial config section). Collapsing +// hides the footer description + wiki link for every action; the arrow remains to expand again. +var TOOLTIP_EXPANDED = true; -// element handles, assigned in OnInit (kept null so load-time touches no DOM) -var qEl = null, listEl = null, favEl = null, clearEl = null, eyeEl = null, countEl = null; +// The user's current settings mode (from the C++ payload) plus the rank order of the modes. Each +// action carries the mode it requires, so "would this need a switch?" is a rank comparison. +var USER_MODE = "simple"; +var MODE_RANK = { simple: 0, advanced: 1, expert: 2, develop: 3 }; -// ---- pure helpers (no DOM; unit-tested) ------------------------------------- -function filterActions(actions, query) { - var q = (query || "").trim(); - var list = actions || []; - matchIndex = {}; - if (!q) - return list.slice(0); +// Search ranking weights: every contiguous match must outrank every fuzzy one regardless of field, +// and title must outrank group/category, which outranks source. +var SCORE_CONTIGUOUS = 100000; +var SCORE_TITLE = 2000; +var SCORE_GROUP = 1000; +// A whole-query match in a single field must outrank any multi-token match distributed across fields. +// Larger than the largest plausible sum of per-token scores (SCORE_CONTIGUOUS * token count). +var SCORE_PHRASE = 10000000; - var out = []; - for (var i = 0; i < list.length; i++) { - var a = list[i]; - var titleMatch = FuzzyRanges(a.title, q, false); - var sourceMatch = FuzzyRanges(a.source, q, false); - if (!titleMatch && !sourceMatch) - continue; - matchIndex[a.id] = { title: titleMatch, source: sourceMatch, useTitle: !!titleMatch }; - out.push(a); - } - return out; +// Localized lookup for strings this page builds at runtime. The host injects the translated table +// as a document-start user script (SpeedDialWebDialog::add_user_scripts); the English literal is a +// fallback for the node vm test / before the injection runs. Extra args replace successive %s +// placeholders; %% collapses to a literal % (the C++ table escapes percent signs for gettext). +var UI_STRINGS = (typeof ORCA_UI_STRINGS !== "undefined" && ORCA_UI_STRINGS) || {}; + +function T(key, fallback) { + var s = UI_STRINGS[key] !== undefined ? UI_STRINGS[key] : fallback; + for (var i = 2; i < arguments.length; i++) + s = s.replace("%s", arguments[i]); + return s.split("%%").join("%"); } +// Platform shortcut prefixes ("Alt+"/"⌥+", "Ctrl+"/"⌘+"), injected alongside the strings. +function shortcutAlt() { return UI_STRINGS.shortcut_alt || "Alt+"; } +function shortcutCtrl() { return UI_STRINGS.shortcut_ctrl || "Ctrl+"; } + +// ---- windowed list render ---------------------------------------------------- +// The command list is rendered in windows (append-on-scroll) so a huge settings pool doesn't build +// the whole DOM per keystroke. Rows are exactly ROW_H tall (matches .row min-height 44px; see --row-h, +// which is documented to stay in sync). `renderEnd` is the exclusive count of rows currently in the DOM; +// a bottom spacer fills the rest of the list so the scrollbar reflects the full match count and +// "scroll past the last rendered row" reveals the next window. +var K_ROWS = 50; +var ROW_H = 44; +var renderEnd = 0; +var builtKey = ""; // phase|query|total - when it changes, rows are rebuilt from the first window [0, K_ROWS) +var spacerEl = null; // the trailing height spacer, always the last child of listEl + +// Section headers in the empty-query list ("Recent" then one per category). sectionStarts maps a flat +// action index to the header label that sits above it. sectionTotal/Rendered count headers so the +// bottom spacer reserves the same vertical space the not-yet-rendered headers will occupy. +var SECTION_H = 30; // MUST match .dial-section height (30px) +var sectionStarts = null; +var sectionTotal = 0; +var sectionRendered = 0; + +// search-cache: the normalized (folded+lowercased) needle for the current query pass, plus the +// whitespace-separated tokens and their compiled whole-word regexes for the multi-token path. +var searchNeedle = ""; +var searchTokens = []; +var searchTokenRes = []; + +// Palette phase: 'commands' (one unified search over actions/commands/settings, recents on empty +// query), 'percent' ("Go to layer" second phase: enter a 0-100 percentage), 'tab' ("Go to tab..." +// second phase: pick a notebook tab). +var phase = "commands"; +var tabOptions = []; // [{id,title}] - notebook pages, fetched on entering the tab phase + +// why: the fuzzy matcher (NormText/FuzzyRangesNorm) lives in shared +// ../../js/fuzzy-search.js, loaded before this script. Search is always case-insensitive. + +// element handles, assigned in OnInit (kept null so load-time touches no DOM) +var qEl = null, listEl = null, favEl = null, clearEl = null, eyeEl = null, countEl = null, detailEl = null; +var ghostEl = null, ghostTypedEl = null, ghostSuffixEl = null; +// The completion currently offered as ghost text ({suffix, word, id}), or null. Tab accepts it. +var activeCompletion = null; + +// ---- pure helpers (no DOM; unit-tested) ------------------------------------- +// Pre-normalized haystacks, cached on the action object. The fold is length-preserving (1:1 per +// char) so the ranges FuzzyRangesNorm returns slice the ORIGINAL title/group/source text correctly. +// The action objects arrive from C++ and are stable for the dialog's lifetime, so we compute these once. +function titleNorm(a) { + if (a._tn === undefined) + a._tn = NormText(a.title, false); + return a._tn; +} +// The eyebrow (header) line shows group when present, else source. Settings keep an empty group so +// their source path is the eyebrow; commands / plates / recents carry a non-empty group. Splitting the +// two lets a match range stay aligned to whichever string the eyebrow actually renders. +function groupNorm(a) { + if (a._gn === undefined) + a._gn = NormText(a.group || "", false); + return a._gn; +} +function sourceNorm(a) { + if (a._sn === undefined) + a._sn = NormText(a.source || "", false); + return a._sn; +} +function pluginCategoryNorm(a) { + if (a._pcn === undefined) + a._pcn = a.kind === "plugin" ? NormText(T("sd_plugins", "Plugins"), false) : ""; + return a._pcn; +} +// Plugin type is searchable metadata, so typing "plugin" can find runnable plugin actions even +// when neither their capability nor plugin name contains that word. Keep both category forms. +function pluginTypeNorm(a) { + if (a._pn === undefined) + a._pn = a.kind === "plugin" ? NormText("plugin plugins", false) : ""; + return a._pn; +} +// Search-only alias for the descriptive name when the title differs (e.g. "Reverse on even" vs +// "Overhang reversal"). Never rendered, so no highlight ranges. +function fullNorm(a) { + if (a._fn === undefined) + a._fn = NormText(a.full_label || "", false); + return a._fn; +} + +// Match one pre-normalized field vs one pre-normalized needle. Returns {score, ranges, contiguous} +// when the needle is present, else null. wwRe is a compiled whole-word (\b-bounded) regex for the +// needle. A whole-word hit is preferred - it highlights the full word (e.g. "orient" in "Auto-Orient", +// not the stray "o" of "Auto") and marks a perfect match. Otherwise FuzzyRangesNorm (which prefers the +// most-contiguous run) is used. score is higher for an earlier start and fewer gaps; contiguous marks +// a perfect match - the whole needle landed as one unbroken run. +function fieldMatchScore(norm, needle, wwRe) { + if (!needle) return null; + if (wwRe) { + var m = wwRe.exec(norm || ""); + if (m) + return { score: 1000 - m.index * 10, ranges: [[m.index, m.index + m[0].length]], contiguous: true }; + } + var r = FuzzyRangesNorm(norm || "", needle); + if (!r) return null; + var gaps = 0, len = 0; + for (var i = 0; i < r.length; i++) { + if (i > 0) + gaps += r[i][0] - r[i - 1][1]; + len += r[i][1] - r[i][0]; + } + return { score: 1000 - r[0][0] * 10 - gaps * 10, ranges: r, contiguous: r.length === 1 && len === needle.length }; +} + +// Split a query into normalized (folded+lowercased) whitespace-separated tokens. Empty for a blank +// query. These drive the multi-token path: every token must match some field, but different tokens +// may match different fields (the title, group, source breadcrumb, or plugin kind). +function queryTokens(query) { + var norm = NormText(String(query || "").trim(), false); + return norm ? norm.split(/\s+/).filter(Boolean) : []; +} + +// Whole-word regex for one normalized token, same shape fieldMatchScore expects. +function tokenWordRe(token) { + return new RegExp("\\b" + EscapeRegExp(token) + "\\b"); +} + +// One token's best match across an action's searchable fields, keeping per-field ranges for +// highlighting. Returns {score, title, group, source}, or null if no field matches. +function tokenMatch(a, token, wwRe) { + var t = fieldMatchScore(titleNorm(a), token, wwRe); + var g = fieldMatchScore(groupNorm(a), token, wwRe); + var s = fieldMatchScore(sourceNorm(a), token, wwRe); + var f = fieldMatchScore(fullNorm(a), token, wwRe); + var p = fieldMatchScore(pluginCategoryNorm(a), token, wwRe); + var typeMatch = fieldMatchScore(pluginTypeNorm(a), token, wwRe); + if (!t && !g && !s && !f && !p && !typeMatch) return null; + var score = Math.max( + t ? (t.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_TITLE + t.score : -Infinity, + g ? (g.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_GROUP + g.score : -Infinity, + s ? (s.contiguous ? SCORE_CONTIGUOUS : 0) + s.score : -Infinity, + f ? (f.contiguous ? SCORE_CONTIGUOUS : 0) + f.score : -Infinity, + p ? (p.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_GROUP + p.score : -Infinity, + typeMatch ? (typeMatch.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_GROUP + typeMatch.score : -Infinity + ); + return { score: score, title: t ? t.ranges : null, group: g ? g.ranges : null, source: s ? s.ranges : null, + plugin: p ? p.ranges : null }; +} + +// Merge per-field token ranges into sorted, coalesced ranges for highlighting. Overlapping or adjacent +// runs (the same word matched by two tokens) collapse to one span. Null when nothing matched. +function mergeRanges(ranges) { + var flat = []; + (ranges || []).forEach(function (rs) { + if (rs) rs.forEach(function (r) { flat.push([r[0], r[1]]); }); + }); + if (!flat.length) return null; + flat.sort(function (a, b) { return a[0] - b[0] || a[1] - b[1]; }); + var out = [flat[0].slice()]; + for (var i = 1; i < flat.length; i++) { + var last = out[out.length - 1]; + if (flat[i][0] <= last[1]) + last[1] = Math.max(last[1], flat[i][1]); + else + out.push(flat[i].slice()); + } + return out; +} + +// Combine per-field scores into one value, or null when nothing matched. +// Ranking: contiguous > fuzzy, then title > group/category > source/full alias, then start/gaps. +function scoreFields(t, g, s, f, p, typeMatch) { + var best = null; + function consider(m, weight) { + if (!m) return; + var v = (m.contiguous ? SCORE_CONTIGUOUS : 0) + weight + m.score; + best = best === null ? v : Math.max(best, v); + } + consider(t, SCORE_TITLE); + consider(g, SCORE_GROUP); + consider(s, 0); + consider(f, 0); + consider(p, SCORE_GROUP); + consider(typeMatch, SCORE_GROUP); + return best; +} + +// The unified main-phase search: every action (command/plugin/setting) matching the query, ranked +// by relevance (not by action type). Sets matchIndex so rows highlight their match ranges. The query +// is normalized ONCE per pass - FuzzyRangesNorm then runs against each action's pre-normalized +// haystack, so per-keystroke cost is a cheap scan (no per-char normalize/regex). +// +// Two match modes, phrase preferred: +// - phrase: the whole trimmed query as one ordered subsequence in a SINGLE field (as before). +// - tokens: every whitespace-separated word must match SOME field, but different words may match +// different fields. This is what lets "speed acceleration inner" find "Inner wall" whose path is +// "Process : Speed : Acceleration" (title + source breadcrumb together). +// full_label and canonical plugin kind are searchable aliases. The visible category is also searchable +// so its own match can be highlighted in plugin rows. +// A phrase match always outranks a distributed token match. +function searchActions(actions, query) { + var q = (query || "").trim(); + var list = actions || []; + matchIndex = {}; + if (!q) { searchNeedle = ""; searchTokens = []; searchTokenRes = []; return list.slice(0); } + searchNeedle = NormText(q, false); + searchTokens = queryTokens(q); + searchTokenRes = searchTokens.map(tokenWordRe); + // Mode keywords ("advanced"/"expert"/"developer") are a union, not a filter: the normal text + // search still runs on the full query, and every setting requiring a named mode is appended. + var modes = modeFilterFromQuery(q); + // Compiled once per pass, reused over every field: non-global so no exec()/lastIndex state leaks + // between fields, and EscapeRegExp keeps regex metachars in the query literal. + var wwRe = new RegExp("\\b" + EscapeRegExp(searchNeedle) + "\\b"); + + var scored = []; + var seen = {}; + for (var i = 0; i < list.length; i++) { + var a = list[i]; + var t = fieldMatchScore(titleNorm(a), searchNeedle, wwRe); + var g = fieldMatchScore(groupNorm(a), searchNeedle, wwRe); + var s = fieldMatchScore(sourceNorm(a), searchNeedle, wwRe); + var f = fieldMatchScore(fullNorm(a), searchNeedle, wwRe); + var p = fieldMatchScore(pluginCategoryNorm(a), searchNeedle, wwRe); + var typeMatch = fieldMatchScore(pluginTypeNorm(a), searchNeedle, wwRe); + var phrase = scoreFields(t, g, s, f, p, typeMatch); + var score, ranges; + if (phrase !== null) { + score = phrase + SCORE_PHRASE; + ranges = { title: t ? t.ranges : null, group: g ? g.ranges : null, source: s ? s.ranges : null, + plugin: p ? p.ranges : null }; + } else { + // Require every token; a token that matches nothing drops the action immediately. Ranges + // from all matching tokens are merged per field so each matched word highlights. + var sum = 0, titleR = null, groupR = null, sourceR = null, pluginR = null, all = true; + for (var tokenIndex = 0; tokenIndex < searchTokens.length; tokenIndex++) { + var m = tokenMatch(a, searchTokens[tokenIndex], searchTokenRes[tokenIndex]); + if (!m) { all = false; break; } + sum += m.score; + if (m.title) (titleR || (titleR = [])).push(m.title); + if (m.group) (groupR || (groupR = [])).push(m.group); + if (m.source) (sourceR || (sourceR = [])).push(m.source); + if (m.plugin) (pluginR || (pluginR = [])).push(m.plugin); + } + if (!all) continue; + score = sum; + ranges = { title: mergeRanges(titleR), group: mergeRanges(groupR), source: mergeRanges(sourceR), + plugin: mergeRanges(pluginR) }; + } + // Ranges are per-field against the ACTUAL text drawn: title for the row-name, and group (or + // source when group is empty) for the eyebrow - so highlight offsets stay aligned to the label. + matchIndex[a.id] = { + title: ranges.title, + group: ranges.group, + source: ranges.source, + plugin: ranges.plugin, + useEyebrowGroup: !!(a.group) + }; + scored.push({ a: a, s: score }); + seen[a.id] = true; + } + scored.sort(function (x, y) { + if (x.s !== y.s) return y.s - x.s; + if (x.a.title !== y.a.title) return x.a.title < y.a.title ? -1 : 1; + return x.a.id < y.a.id ? -1 : x.a.id > y.a.id ? 1 : 0; + }); + var result = scored.map(function (e) { return e.a; }); + if (modes.length) { + // Settings requiring a named mode, after the ranked text matches and without duplicates. + var extras = []; + for (var j = 0; j < list.length; j++) { + if (!seen[list[j].id] && modes.indexOf(list[j].mode) !== -1) + extras.push(list[j]); + } + extras.sort(function (x, y) { + if (x.title !== y.title) return x.title < y.title ? -1 : 1; + return x.id < y.id ? -1 : x.id > y.id ? 1 : 0; + }); + result = result.concat(extras); + } + return result; +} + +// Candidate words for inline completion, in reading order. Whitespace and the breadcrumb separator +// split them, so "Process : Speed : Acceleration" yields Process/Speed/Acceleration. Pure. +function completionWords(text) { + return String(text || "").split(/[\s:]+/).filter(Boolean); +} + +// The inline completion for the query's LAST token: scan the top-ranked results' name first, then +// their path breadcrumb, and return the first word that extends the typed token as a prefix. Headlines +// the most likely word without committing to a result. Returns {suffix, word, id} or null. Pure so the +// node-vm test can exercise it; the caller appends `suffix` to the input. +function completionFor(query, list) { + var raw = String(query || ""); + var parts = raw.match(/(\S+)\s*$/); + if (!parts) return null; + var prefix = NormText(parts[1], false); + if (!prefix) return null; + var top = (list || []).slice(0, 10); + for (var i = 0; i < top.length; i++) { + var a = top[i]; + var fields = [a.title, a.group, a.source, a.full_label]; + for (var f = 0; f < fields.length; f++) { + var words = completionWords(fields[f]); + for (var w = 0; w < words.length; w++) { + var norm = NormText(words[w], false); + if (norm.length > prefix.length && norm.indexOf(prefix) === 0) + return { suffix: words[w].slice(prefix.length), word: words[w], id: a.id }; + } + } + } + return null; +} + +// Pure: how many rows must be materialized to cover the given starting index plus `size` more. +// Clamped to the total; used to decide "render the next window" on scroll / arrow-nav. +function revealTarget(total, fromIndex, size) { + return Math.min(total, Math.max(0, fromIndex) + size); +} + +// Pure: the bottom spacer's height - the un-rendered row tail plus any not-yet-rendered section +// headers, so the scrollbar reflects the full list and the last rows stay reachable. +function spacerHeight(total, rendered, totalSections, renderedSections) { + return Math.max(0, total - rendered) * ROW_H + Math.max(0, totalSections - renderedSections) * SECTION_H; +} + +// buildKey: the command-list signature that decides whether rows must be rebuilt (new search / phase) +// or just have their selection refreshed in place (arrow-nav / click). Cheap to compute. +function buildKey() { return phase + "|" + (query || "").trim(); } + function visibleFavourites(favourites, actions) { - // why: a fav whose id has no live action (plugin unloaded/disabled) renders a dead - // monogram tile whose click run()s to a silent no-op; drop it from the quick-bar. - var seen = {}; - (actions || []).forEach(function (a) { seen[a.id] = true; }); - return (favourites || []).filter(function (id, i, arr) { - return seen[id] && arr.indexOf(id) === i; - }); + // why: a fav whose id has no live action (plugin unloaded/disabled) renders a dead + // placeholder tile whose click run()s to a silent no-op; drop it from the quick-bar. + var seen = {}; + (actions || []).forEach(function (a) { seen[a.id] = true; }); + return (favourites || []).filter(function (id, i, arr) { + return seen[id] && arr.indexOf(id) === i; + }); +} + +// Numbered quick-launch slots (mirrors ActionRegistry::kFavLimit). Pure so the node-vm test +// can exercise the digit<->slot mapping without a DOM. +var K_FAV_LIMIT = 10; + +// Badge label for a 0-based fav-bar index: 0..8 -> "1".."9", index 9 (the 10th) -> "0". +function favSlotForIndex(i) { + if (i < 0 || i >= K_FAV_LIMIT) return null; + return i < 9 ? String(i + 1) : "0"; +} + +// Digit key -> 0-based fav-bar index (1..9 -> 0..8, 0 -> 9); -1 for anything else. +function favIndexForDigit(d) { + var c = String(d || "").charCodeAt(0); + if (c >= 49 && c <= 57) return c - 49; + if (c === 48) return 9; + return -1; +} + +// Physical digit for a keydown event. Use e.code so macOS Option+digit (which composes to a symbol +// in e.key, e.g. Alt+1 -> "¡") still maps to the intended slot; fall back to e.key elsewhere. +function favDigitFromEvent(e) { + var m = /^(?:Digit|Numpad)([0-9])$/.exec((e && e.code) || ""); + return m ? m[1] : ((e && e.key) || ""); } function resultCountText(total, shown, query) { - return (query || "").trim() ? "Showing " + shown + " of " + total + " actions" : total + " actions"; + return (query || "").trim() ? + T("sd_result_count", "Showing %s actions", shown) : + T("sd_result_count_all", "%s actions", total); +} + +// Display label for a notebook tab. Trim any stray whitespace; pages added with an empty title +// (Home, MainFrame adds TAB_ID_HOME with "") fall back to the title-cased id ("home" -> "Home"). +function tabTitle(t) { + var title = (t && t.title) ? String(t.title).trim() : ""; + return title || prettySource((t && t.id) || ""); +} + +// Filter the tab list by a fuzzy title/id match. Pure so the node-vm test can exercise it. +function filterTabs(tabs, query) { + var q = (query || "").trim(); + if (!q) + return (tabs || []).slice(0); + return (tabs || []).filter(function (t) { + return FuzzyRanges(tabTitle(t), q, false) || FuzzyRanges(t.id, q, false); + }); } function shouldRenderActionList(query) { - return !!(query || "").trim(); + return !!((query || "").trim()); +} + +// Tile pictogram base path. The page lives at resources/web/dialog/SpeedDial/, so this climbs to +// resources/images/ where the same SVG icons the native GUI controls use are shipped. +var ICON_BASE = "../../../images/"; + +// SVG base name for an action's tile pictogram, or "" when it has none (commands without a GUI +// icon, plugins). Pure so the node-vm test can exercise it. +function actionIcon(a) { + return (a && a.icon) ? a.icon : ""; +} + +// Pictogram shown when an action carries none (plugins, icon-less commands/settings). A dedicated +// theme-neutral glyph (resources/images/action_default.svg: frame + ">_" prompt), so no tile is +// blank and no existing action's icon is borrowed. +var DEFAULT_ICON = "action_default"; + +// SVG base name a tile actually renders: the action's own icon, else the placeholder. Pure. +function tileIcon(a) { + return actionIcon(a) || DEFAULT_ICON; +} + +// Put a pictogram into a tile (search row, favourites tile, or tab row). `mono` marks the white +// tab-strip glyphs, which the CSS recolors to the shared gray. +function fillTile(tile, a, mono) { + tile.textContent = ""; + var icon = tileIcon(a); + var img = document.createElement("img"); + img.className = mono ? "tile-icon tab-mono" : "tile-icon"; + img.src = ICON_BASE + icon + ".svg"; + img.alt = ""; + img.setAttribute("aria-hidden", "true"); + tile.appendChild(img); +} + +// Category a row is grouped under in the empty-query list. Native commands and dynamic plate/recent +// actions carry a group; settings derive their top-level preset type from the source breadcrumb +// ("Process : Quality : Layers" -> "Process"); plugins all share one header. +function actionCategory(a) { + if (!a) return T("sd_other", "Other"); + if (a.kind === "plugin") return T("sd_plugins", "Plugins"); + if (a.group) return a.group; + var src = a.source || ""; + var sep = src.indexOf(" : "); + var cat = sep === -1 ? src : src.slice(0, sep); + return cat || T("sd_other", "Other"); +} + +function actionEyebrow(a, typedQuery, isRecent) { + if (a && a.kind === "plugin" && (String(typedQuery || "").trim() || isRecent)) + return T("sd_plugins", "Plugins"); + return (a && (a.group || a.source)) || ""; +} + +// Stable-bucket actions by category, then order the groups alphabetically. Within a group the incoming +// (frecency) order is kept. Pure so the node-vm test can exercise grouping. +function groupActions(list) { + var buckets = Object.create(null); + var order = []; + (list || []).forEach(function (a) { + var c = actionCategory(a); + if (!buckets[c]) { buckets[c] = []; order.push(c); } + buckets[c].push(a); + }); + order.sort(function (x, y) { + var a = x.toLowerCase(), b = y.toLowerCase(); + return a < b ? -1 : a > b ? 1 : 0; + }); + var out = []; + order.forEach(function (c) { out = out.concat(buckets[c]); }); + return out; +} + +// The active list for the main phase. A typed query ranks every action (commands/plugins/settings) +// by relevance; an empty query shows the recents first, then the rest grouped under category headers. +// The empty-query result is cached on the action/recents array identities so scrolling doesn't regroup. +var commandListCache = null; +// Typed-query result cache, keyed on the pool identity + query. searchActions populates the +// module-level matchIndex/searchNeedle; a hit restores both so a repeated call (keydown + input, +// or a scroll tick) skips the whole scan instead of recomputing it. +var searchCache = null; +function commandList(actions, recents, query) { + var all = actions || []; + if (shouldRenderActionList(query)) { + if (searchCache && searchCache.actions === all && searchCache.query === query) { + matchIndex = searchCache.matchIndex; + searchNeedle = searchCache.needle; + searchTokens = searchCache.tokens; + searchTokenRes = searchCache.tokenRes; + return searchCache.list; + } + var found = searchActions(all, query); + searchCache = { actions: all, query: query, list: found, matchIndex: matchIndex, needle: searchNeedle, + tokens: searchTokens, tokenRes: searchTokenRes }; + return found; + } + var rec = recents || []; + if (commandListCache && commandListCache.actions === all && commandListCache.recents === rec) + return commandListCache.list; + var recentIds = {}; + for (var i = 0; i < rec.length; i++) + recentIds[rec[i].id] = true; + var rest = all.filter(function (a) { return !recentIds[a.id]; }); + var list = rec.concat(groupActions(rest)); + commandListCache = { actions: all, recents: rec, list: list }; + return list; +} + +// Section headers for the main list: "Recent" (when recents exist) then one per category. The list is +// already grouped, so a header is emitted whenever the category changes. A typed query has no headers. +// Returns {startIndex: label}, where startIndex is the flat list index the header sits above. +function commandSections(list, recentsLen, query) { + if (shouldRenderActionList(query) || !list || !list.length) + return null; + var sections = {}; + if (recentsLen > 0) + sections[0] = T("sd_recent", "Recent"); + var prev = null; + for (var i = recentsLen; i < list.length; i++) { + var c = actionCategory(list[i]); + if (i === recentsLen || c !== prev) + sections[i] = c; + prev = c; + } + return sections; } // Resolve the selection cursor {zone,i} to the action id it points at: fav zone indexes the -// visible favourites, list zone the filtered actions. Pure so runSelected() shares one lookup. -function selectedActionId(sel, actions, favIds, query) { - if (sel.zone === "fav") - return favIds[sel.i]; - // why: search-first keeps the list blank until the user types; an empty query still - // filters to ALL actions, so without this gate Enter fires an action never shown. - if (!shouldRenderActionList(query)) - return null; - var a = actions[sel.i]; - return a && a.id; +// visible favourites, list zone the active commands list. `actions` must be the already-resolved +// list (recents for an empty query, the filtered list otherwise) - pure so runSelected() shares +// one lookup and the node-vm test can call it directly. +function selectedActionId(sel, actions, favIds) { + if (sel.zone === "fav") + return favIds[sel.i]; + if (!actions || !actions.length) + return null; + var a = actions[sel.i]; + return a && a.id; } +function actionHasWiki(a) { return !!(a && a.wiki); } + +// Whether the action has anything for the footer strip to show (a description or a wiki link). +function actionHasDetail(a) { return !!(a && ((a.desc && a.desc.length) || a.wiki)); } + +// The expand/collapse arrow is offered for actions that carry a description. Collapsing is a global +// (persisted) preference, so even a short tooltip gets the control. +function detailToggleVisible(a) { return !!(a && a.desc && a.desc.length); } + function foldLabel(s) { return String(s || "").toLowerCase().replace(/[^a-z0-9]+/g, ""); } // Title-case a source for display: "GCODE OPTIMIZER"/"iRoNiNg pRo" -> "Gcode Optimizer"/"Ironing Pro". function prettySource(source) { - return String(source || "").toLowerCase().replace(/\b\w/g, function (c) { return c.toUpperCase(); }); + return String(source || "").toLowerCase().replace(/\b\w/g, function (c) { return c.toUpperCase(); }); +} + +// True when the action's required mode is above the user's current mode, i.e. selecting it will +// prompt a mode switch. Unknown/empty modes are treated as "simple" so commands never flag. +function needsModeSwitch(item, userMode) { + var need = MODE_RANK[(item && item.mode) || "simple"] || 0; + var have = MODE_RANK[userMode || "simple"] || 0; + return need > have; +} + +// Short mode tag for an action that needs a switch, or "" when it is already available. +function modeBadge(item, userMode) { + if (!needsModeSwitch(item, userMode)) return ""; + if (item.mode === "develop") return T("sd_mode_develop", "Developer"); + if (item.mode === "expert") return T("sd_mode_expert", "Expert"); + if (item.mode === "advanced") return T("sd_mode_advanced", "Advanced"); + return ""; +} + +// Search keywords that name a settings mode. "developer" (and the internal "develop") both select +// Developer; Simple is deliberately absent so it never floods the list with every command. +var MODE_WORDS = { advanced: "advanced", expert: "expert", developer: "develop", develop: "develop" }; + +// The mode values named as whole words in `query`, deduped. Case/diacritic-insensitive via Norm. A +// query with no mode keyword returns [] so the normal text search is completely unaffected. +function modeFilterFromQuery(query) { + var norm = NormText(String(query || "").trim(), false); + var found = []; + norm.split(/[^a-z0-9]+/).forEach(function (word) { + var mode = MODE_WORDS[word]; + if (mode && found.indexOf(mode) === -1) + found.push(mode); + }); + return found; +} + +// Precomputed label parts for one action pool, keyed on the pool's array identity. The fold pass is +// O(N); doing it here instead of inside every actionLabel() call keeps row rendering O(rows), not O(rows*N). +var labelCache = null; +function labelParts(actions) { + if (labelCache && labelCache.actions === actions) + return labelCache; + var sig = {}, count = {}; + (actions || []).forEach(function (o) { + var s = foldLabel(o.title) + "|" + foldLabel(o.source || o.group || ""); + sig[o.id] = s; + count[s] = (count[s] || 0) + 1; + }); + labelCache = { actions: actions, sig: sig, count: count }; + return labelCache; } // Accessible label "Title from Pretty Source", disambiguated with the opaque action id when another // action shares the same title+source (case/separator-insensitive) - so two rows never read out identically. function actionLabel(action, actions) { - var label = action.title + " from " + prettySource(action.source); - if (actions && actions.length) { - var mine = foldLabel(action.title) + "|" + foldLabel(action.source); - var clash = actions.some(function (o) { - return o.id !== action.id && foldLabel(o.title) + "|" + foldLabel(o.source) === mine; - }); - if (clash) - label += " (" + action.id + ")"; - } - return label; -} - -// Monogram code for a tile: title initial, escalated on collision by PREPENDING the source -// initial (pi+ti, e.g. "GC"), then a 1-based ordinal - so same-titled actions stay distinct. -// why: ordinal is assigned by id, not by ACTIONS order - ACTIONS is frecency-sorted and -// reshuffles as usage changes, which would otherwise flip who's "1" and who's "2" across runs. -function tileCode(action, actions) { - var list = actions || []; - var ti = (action.title || " ").charAt(0).toUpperCase(); - var sameTitle = list.filter(function (o) { return (o.title || " ").charAt(0).toUpperCase() === ti; }); - if (sameTitle.length <= 1) - return ti; - var pi = (action.source || " ").charAt(0).toUpperCase(); - var sameSource = sameTitle.filter(function (o) { return (o.source || " ").charAt(0).toUpperCase() === pi; }); - if (sameSource.length <= 1) - return pi + ti; - sameSource.sort(function (a, b) { return a.id < b.id ? -1 : a.id > b.id ? 1 : 0; }); - for (var i = 0; i < sameSource.length; i++) - if (sameSource[i].id === action.id) - return pi + ti + (i + 1); - return pi + ti; + var label = action.title + " from " + prettySource(action.source || action.group || ""); + if (actions && actions.length) { + var cache = labelParts(actions); + var mine = cache.sig[action.id]; + // mine is undefined only for an action outside the cached pool (e.g. a transient row); scan then. + var clash = mine !== undefined ? cache.count[mine] > 1 : + actions.some(function (o) { + return o.id !== action.id && foldLabel(o.title) + "|" + foldLabel(o.source || o.group || "") === + foldLabel(action.title) + "|" + foldLabel(action.source || action.group || ""); + }); + if (clash) + label += " (" + action.id + ")"; + } + return label; } function syncClearButton() { - if (clearEl) - clearEl.hidden = !query; + if (clearEl) + clearEl.hidden = !query; } function stateFromPayload(payload) { - return { - actions: payload.actions || [], - favourites: payload.favourites || [], - query: "", - sel: { zone: "list", i: 0 }, - lastResizeHeight: 0 - }; + return { + actions: payload.actions || [], + favourites: payload.favourites || [], + recent: payload.recent || [], + userMode: payload.user_mode || "simple", + tooltipExpanded: payload.tooltip_expanded !== false + }; } function resetScrollPositions(list, doc) { - if (list) - list.scrollTop = 0; - if (doc && doc.scrollingElement) - doc.scrollingElement.scrollTop = 0; - if (doc && doc.documentElement) - doc.documentElement.scrollTop = 0; - if (doc && doc.body) - doc.body.scrollTop = 0; + if (list) + list.scrollTop = 0; + if (doc && doc.scrollingElement) + doc.scrollingElement.scrollTop = 0; + if (doc && doc.documentElement) + doc.documentElement.scrollTop = 0; + if (doc && doc.body) + doc.body.scrollTop = 0; } -// nextSel: pure arrow-nav transition. Down fav->list0; Down list->clamp; Up list@0->fav0; -// Up list->i-1; Left/Right clamp within fav. Returns a fresh {zone,i}. +// nextSel: pure arrow-nav transition. Down fav->list0; Down list wraps at the bottom (last -> first). +// Up list wraps at the top (first -> last) only when there's no fav bar above; with a fav bar, Up at +// the list top goes to fav0 (unchanged). Left/Right clamp within fav. Returns a fresh {zone,i}. function nextSel(sel, key, listLen, favLen) { - var zone = sel.zone, i = sel.i; - if (key === "ArrowDown") { - if (zone === "fav") return { zone: "list", i: 0 }; - return { zone: "list", i: Math.min(i + 1, Math.max(0, listLen - 1)) }; - } - if (key === "ArrowUp") { - if (zone === "list") { - if (i <= 0) return favLen ? { zone: "fav", i: 0 } : { zone: "list", i: 0 }; - return { zone: "list", i: i - 1 }; + var zone = sel.zone, i = sel.i; + var last = Math.max(0, listLen - 1); + if (key === "ArrowDown") { + if (zone === "fav") return { zone: "list", i: 0 }; + return { zone: "list", i: i >= last ? 0 : i + 1 }; } + if (key === "ArrowUp") { + if (zone === "list") { + if (i <= 0) return favLen ? { zone: "fav", i: 0 } : { zone: "list", i: last }; + return { zone: "list", i: i - 1 }; + } + return { zone: zone, i: i }; + } + if (key === "ArrowLeft" && zone === "fav") return { zone: "fav", i: Math.max(0, i - 1) }; + if (key === "ArrowRight" && zone === "fav") return { zone: "fav", i: Math.min(favLen - 1, i + 1) }; return { zone: zone, i: i }; - } - if (key === "ArrowLeft" && zone === "fav") return { zone: "fav", i: Math.max(0, i - 1) }; - if (key === "ArrowRight" && zone === "fav") return { zone: "fav", i: Math.min(favLen - 1, i + 1) }; - return { zone: zone, i: i }; } // ---- bridge ------------------------------------------------------------------ function SendMessage(msg) { - if (typeof SendWXMessage !== "function") - return; - if (typeof msg === "string") msg = { command: msg }; - if (msg.sequence_id === undefined) msg.sequence_id = Date.now(); - SendWXMessage(JSON.stringify(msg)); + if (typeof SendWXMessage !== "function") + return; + if (typeof msg === "string") msg = { command: msg }; + if (msg.sequence_id === undefined) msg.sequence_id = Date.now(); + SendWXMessage(JSON.stringify(msg)); } -// C++ pushes payloads here. Only list_actions is handled; it (re)seeds all state. +// C++ pushes payloads here. window.HandleStudio = function (payload) { - if (!payload) return; - if (typeof payload === "string") { try { payload = JSON.parse(payload); } catch (e) { return; } } - if (payload.command === "list_actions") { - var next = stateFromPayload(payload); - ACTIONS = next.actions; - FAVS = next.favourites; - query = next.query; - sel = next.sel; - lastResizeHeight = next.lastResizeHeight; - if (qEl) { - qEl.value = ""; - qEl.placeholder = "Search " + ACTIONS.length + " actions"; - syncClearButton(); + if (!payload) return; + if (typeof payload === "string") { try { payload = JSON.parse(payload); } catch (e) { return; } } + if (payload.command === "list_actions") { + var next = stateFromPayload(payload); + ACTIONS = next.actions; + FAVS = next.favourites; + RECENTS = next.recent; + USER_MODE = next.userMode; + TOOLTIP_EXPANDED = next.tooltipExpanded; + // A fresh payload re-opens the main phase; C++ never rehydrates the transient phase/query state. + phase = "commands"; + tabOptions = []; + query = ""; + sel = { zone: "list", i: 0 }; + // why: builtKey caches phase|query so renderCommandsList can skip a rebuild on arrow-nav. + // It survives a re-open (which never goes through exitPhase), so without a reset the cached + // empty-query key would skip the rebuild and leave stale list content. + builtKey = ""; + if (qEl) { + qEl.value = ""; + qEl.placeholder = T("sd_search", "Search actions"); + syncClearButton(); + } + render({ resize: true, resetScroll: true }); + focusInput(); + } else if (payload.command === "tab_results") { + tabOptions = payload.tabs || []; + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, tabOptions.length - 1)); + render({ resize: true }); + } else if (payload.command === "favourite_full") { + // Favourites are at the quick-launch cap - undo the optimistic pin and flash a hint. + var fid = payload.id; + if (fid && FAVS.indexOf(fid) !== -1) FAVS.splice(FAVS.indexOf(fid), 1); + render({ resize: true, keepScroll: true }); + flashHint(T("sd_favs_full", "Favourites are full (%s max)", (payload.limit || K_FAV_LIMIT))); } - render({ resize: true, resetScroll: true }); - focusInput(); - } }; // ---- DOM helpers ------------------------------------------------------------- function $(id) { return document.getElementById(id); } function byId(id) { - for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].id === id) return ACTIONS[i]; - return null; + for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].id === id) return ACTIONS[i]; + return null; +} + +function findActionByInput(input) { + for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].input === input) return ACTIONS[i]; + return null; } function currentVisibleFavs() { return visibleFavourites(FAVS, ACTIONS); } -function hue(id) { - var h = 0; - for (var i = 0; i < id.length; i++) - h = (h * 31 + id.charCodeAt(i)) >>> 0; - return h % 360; +// Active list for the current phase (drives list rendering + arrow nav). +function currentList() { + if (phase === "tab") return filterTabs(tabOptions, query); + if (phase === "commands") return commandList(ACTIONS, RECENTS, query); + return []; // percent - the input itself is the only field } // Build a
with the search-match ranges wrapped in . Used for both the // title and the source eyebrow. Pure (only touches the document factory), so the node-vm test never // calls it and load-time stays DOM-free. function markedText(className, text, match) { - var node = document.createElement("div"); - node.className = className; node.title = text; - if (!match || !match.length) { - node.textContent = text; + var node = document.createElement("div"); + node.className = className; node.title = text; + if (!match || !match.length) { + node.textContent = text; + return node; + } + var last = 0; + for (var i = 0; i < match.length; i++) { + var range = match[i]; + if (range[0] > last) + node.appendChild(document.createTextNode(text.slice(last, range[0]))); + var m = document.createElement("mark"); + m.textContent = text.slice(range[0], range[1]); + node.appendChild(m); + last = range[1]; + } + if (last < text.length) + node.appendChild(document.createTextNode(text.slice(last))); return node; - } - var last = 0; - for (var i = 0; i < match.length; i++) { - var range = match[i]; - if (range[0] > last) - node.appendChild(document.createTextNode(text.slice(last, range[0]))); - var m = document.createElement("mark"); - m.textContent = text.slice(range[0], range[1]); - node.appendChild(m); - last = range[1]; - } - if (last < text.length) - node.appendChild(document.createTextNode(text.slice(last))); - return node; } -function starSvg(on) { - return '' + - ''; +// A bookmark glyph: outlined when unpinned, filled when saved to favourites. +function pinSvg(on) { + return '' + + ''; +} + +// Sync one pin button to its favourite state. Shared by row construction and the in-place +// updatePins pass so the two can't drift. +function setPinState(pin, on) { + pin.classList.toggle("on", on); + pin.innerHTML = pinSvg(on); + pin.title = on ? T("sd_unpin_fav", "Unpin from favourites (%s)", shortcutCtrl() + "B") : + T("sd_pin_fav", "Pin to favourites (%s)", shortcutCtrl() + "B"); } // ---- render ------------------------------------------------------------------ function renderFav() { - favEl.innerHTML = ""; - var favs = currentVisibleFavs(); - favEl.hidden = favs.length === 0; - if (!favs.length && sel.zone === "fav") - sel = { zone: "list", i: 0 }; - else if (sel.zone === "fav") - sel.i = Math.max(0, Math.min(sel.i, favs.length - 1)); - updateFavEyebrow(favs); - favs.forEach(function (id, i) { - var a = byId(id); - var tile = document.createElement("button"); - tile.className = "fav-tile" + (sel.zone === "fav" && sel.i === i ? " sel" : ""); - tile.style.setProperty("--h", hue(id)); - tile.textContent = tileCode(a, ACTIONS); - tile.title = a.title; - tile.setAttribute("aria-label", actionLabel(a, ACTIONS)); - tile.onclick = function () { sel = { zone: "fav", i: i }; run(a); }; - tile.oncontextmenu = function (ev) { - ev.preventDefault(); - // why: selecting shows the eyebrow, which grows the launcher - resize so the popup - // isn't clipped (mirrors arrow-nav). requestResize no-ops when height is unchanged. - sel = { zone: "fav", i: i }; render({ resize: true }); - showFavMenu(ev.clientX, ev.clientY, id); - }; - favEl.appendChild(tile); - }); + // Only the commands phase shows the pinned quick-bar. + if (phase !== "commands") { + if (favEl) { favEl.innerHTML = ""; favEl.hidden = true; } + if (eyeEl) eyeEl.hidden = true; + return; + } + favEl.innerHTML = ""; + var favs = currentVisibleFavs(); + favEl.hidden = favs.length === 0; + if (!favs.length && sel.zone === "fav") + sel = { zone: "list", i: 0 }; + else if (sel.zone === "fav") + sel.i = Math.max(0, Math.min(sel.i, favs.length - 1)); + updateFavEyebrow(favs); + favs.forEach(function (id, i) { + var a = byId(id); + var tile = document.createElement("button"); + tile.className = "fav-tile" + (sel.zone === "fav" && sel.i === i ? " sel" : ""); + fillTile(tile, a); + var tileBadge = modeBadge(a, USER_MODE); + tile.title = a.title + (tileBadge ? " (" + tileBadge + ")" : ""); + tile.setAttribute("aria-label", actionLabel(a, ACTIONS)); + tile.onclick = function () { sel = { zone: "fav", i: i }; activateEntry(a); }; + // Numbered quick-launch badge (Alt/Option+digit), drawn on the corner. + var slot = favSlotForIndex(i); + if (slot) { + var badge = document.createElement("span"); + badge.className = "fav-slot"; + badge.textContent = slot; + // Slot "0" is the 10th favourite (Alt/Option+0). + var slot_num = slot === "0" ? "10" : slot; + badge.title = T("sd_fav_slot", "Favourite %s (%s)", slot_num, shortcutAlt() + slot); + tile.appendChild(badge); + } + // Direct removal: a hover-revealed ✕ in the tile's corner. click() stops propagation so it + // unpins without activating the action. + var unpin = document.createElement("button"); + unpin.className = "fav-unpin"; + unpin.title = T("sd_remove_fav", "Remove from favourites"); + unpin.setAttribute("aria-label", T("sd_remove_fav", "Remove from favourites")); + unpin.innerHTML = ''; + unpin.onclick = function (ev) { ev.stopPropagation(); toggleFav(id); }; + tile.appendChild(unpin); + tile.oncontextmenu = function (ev) { + ev.preventDefault(); + // why: selecting shows the eyebrow, which grows the launcher - resize so the popup + // isn't clipped (mirrors arrow-nav). requestResize no-ops when height is unchanged. + sel = { zone: "fav", i: i }; render({ resize: true }); + showFavMenu(ev.clientX, ev.clientY, id); + }; + favEl.appendChild(tile); + }); } // ---- favourite context menu (right-click a tile) ----------------------------- @@ -270,229 +887,659 @@ var favMenuEl = null; function hideFavMenu() { if (favMenuEl) favMenuEl.hidden = true; } function addFavMenuItem(label, enabled, fn) { - var item = document.createElement("button"); - item.className = "ctx-item"; - item.textContent = label; - item.disabled = !enabled; - item.onclick = function () { hideFavMenu(); fn(); }; - favMenuEl.appendChild(item); + var item = document.createElement("button"); + item.className = "ctx-item"; + item.textContent = label; + item.disabled = !enabled; + item.onclick = function () { hideFavMenu(); fn(); }; + favMenuEl.appendChild(item); } // One reused menu node (Move left/right + Unpin), positioned at the cursor and clamped // to the viewport. Native browser context menus can't add items, so we roll our own tiny one. function showFavMenu(x, y, id) { - if (!favMenuEl) { - favMenuEl = document.createElement("div"); - favMenuEl.className = "ctx-menu"; - document.body.appendChild(favMenuEl); - } - favMenuEl.innerHTML = ""; - var favs = currentVisibleFavs(); - var vi = favs.indexOf(id); - addFavMenuItem("Move left", vi > 0, function () { moveFav(id, -1); }); - addFavMenuItem("Move right", vi >= 0 && vi < favs.length - 1, function () { moveFav(id, 1); }); - addFavMenuItem("Unpin", true, function () { toggleFav(id); }); - favMenuEl.hidden = false; - favMenuEl.style.left = Math.max(0, Math.min(x, window.innerWidth - favMenuEl.offsetWidth - 4)) + "px"; - favMenuEl.style.top = Math.max(0, Math.min(y, window.innerHeight - favMenuEl.offsetHeight - 4)) + "px"; + if (!favMenuEl) { + favMenuEl = document.createElement("div"); + favMenuEl.className = "ctx-menu"; + document.body.appendChild(favMenuEl); + } + favMenuEl.innerHTML = ""; + var favs = currentVisibleFavs(); + var vi = favs.indexOf(id); + addFavMenuItem(T("sd_move_left", "Move left"), vi > 0, function () { moveFav(id, -1); }); + addFavMenuItem(T("sd_move_right", "Move right"), vi >= 0 && vi < favs.length - 1, function () { moveFav(id, 1); }); + addFavMenuItem(T("sd_unpin", "Unpin"), true, function () { toggleFav(id); }); + favMenuEl.hidden = false; + favMenuEl.style.left = Math.max(0, Math.min(x, window.innerWidth - favMenuEl.offsetWidth - 4)) + "px"; + favMenuEl.style.top = Math.max(0, Math.min(y, window.innerHeight - favMenuEl.offsetHeight - 4)) + "px"; } // Swap a favourite with its visible neighbour (dir -1/+1) and persist the new order. Swapping -// by id inside FAVS (not the visible slice) keeps any hidden pins (no live action) in place. +// by id inside FAVS (not the visible slice) keeps the persisted order stable. function moveFav(id, dir) { - var favs = currentVisibleFavs(); - var vi = favs.indexOf(id); - var ni = vi + dir; - if (vi === -1 || ni < 0 || ni >= favs.length) return; - var a = FAVS.indexOf(id), b = FAVS.indexOf(favs[ni]); - if (a === -1 || b === -1) return; - FAVS[a] = favs[ni]; FAVS[b] = id; - SendMessage({ command: "reorder_favourites", ids: FAVS.slice() }); - sel = { zone: "fav", i: ni }; - render({ resize: true }); + var favs = currentVisibleFavs(); + var vi = favs.indexOf(id); + var ni = vi + dir; + if (vi === -1 || ni < 0 || ni >= favs.length) return; + var a = FAVS.indexOf(id), b = FAVS.indexOf(favs[ni]); + if (a === -1 || b === -1) return; + FAVS[a] = favs[ni]; FAVS[b] = id; + SendMessage({ command: "reorder_favourites", ids: FAVS.slice() }); + sel = { zone: "fav", i: ni }; + render({ resize: true }); } // Name of the selected favourite, shown above the bar; hidden unless a fav is selected. function updateFavEyebrow(favs) { - if (!eyeEl) return; - var a = sel.zone === "fav" && favs.length ? byId(favs[sel.i]) : null; - eyeEl.textContent = a ? a.title : ""; - eyeEl.hidden = !a; + if (!eyeEl) return; + var a = sel.zone === "fav" && favs.length ? byId(favs[sel.i]) : null; + eyeEl.textContent = a ? a.title : ""; + eyeEl.hidden = !a; } -function renderList() { - var q = (query || "").trim(); - var arr = filterActions(ACTIONS, query); - if (sel.zone === "list") - sel.i = Math.max(0, Math.min(sel.i, arr.length - 1)); - listEl.innerHTML = ""; - // why: search-first - the list stays blank until the user types; only a - // non-empty query with zero hits earns the "No actions match" message. - if (!shouldRenderActionList(query)) { - listEl.className = "dial-list empty"; - if (countEl) countEl.hidden = true; - return; - } - listEl.className = "dial-list" + (!arr.length ? " empty" : ""); - if (!arr.length) { - if (countEl) countEl.hidden = true; - var empty = document.createElement("div"); - empty.className = "dial-empty"; - empty.textContent = "No actions match (Total: " + ACTIONS.length + ")"; - listEl.appendChild(empty); - return; - } - if (countEl) { - countEl.hidden = false; - countEl.textContent = resultCountText(ACTIONS.length, arr.length, query); - } - arr.forEach(function (a, i) { - var on = FAVS.indexOf(a.id) !== -1; +// Row shell shared by action and tab rows: the row (selection class + aria label), the icon tile and +// the text column. Returns the pieces the caller fills in (eyebrow/name/badge/pin, handlers). +function beginRow(item, i, mono, ariaLabel) { var row = document.createElement("div"); row.className = "row" + (sel.zone === "list" && sel.i === i ? " sel" : ""); - row.setAttribute("aria-label", actionLabel(a, ACTIONS)); + row.setAttribute("aria-label", ariaLabel); var tile = document.createElement("div"); tile.className = "tile"; - tile.style.setProperty("--h", hue(a.id)); - tile.textContent = tileCode(a, ACTIONS); + fillTile(tile, item, mono); var left = document.createElement("div"); left.className = "row-left"; - var mi = matchIndex[a.id]; - var sourceEl = markedText("row-eyebrow", a.source, mi ? mi.source : null); var line = document.createElement("div"); line.className = "row-line"; - var name = markedText("row-name", a.title, mi ? mi.title : null); - line.appendChild(name); - if (a.shortcut) { - var sc = document.createElement("div"); - sc.className = "row-sc"; - a.shortcut.split("+").forEach(function (k) { - var key = document.createElement("kbd"); - key.textContent = k; - sc.appendChild(key); - }); - line.appendChild(sc); - } - left.appendChild(sourceEl); left.appendChild(line); row.appendChild(tile); row.appendChild(left); + return { row: row, left: left, line: line }; +} - var star = document.createElement("button"); - star.className = "star" + (on ? " on" : ""); - star.innerHTML = starSvg(on); - star.title = on ? "Unpin from favourites" : "Pin to favourites"; - star.onclick = function (ev) { ev.stopPropagation(); toggleFav(a.id); }; +// A command/action row - used for search results, recents, and (because settings are actions now) +// the setting options too. All rows are pinnable, so every row carries a bookmark. +function renderActionRow(a, i) { + var on = FAVS.indexOf(a.id) !== -1; + var shell = beginRow(a, i, false, actionLabel(a, ACTIONS)); + var typedQuery = String(query || "").trim(); + var isRecent = !typedQuery && i < RECENTS.length && RECENTS[i].id === a.id; + var mi = typedQuery ? matchIndex[a.id] : null; + // Plugin search/recent rows show their category; other rows show their group or source breadcrumb. + // Use match ranges from the visible field so category and breadcrumb highlights stay aligned. + var showPluginCategory = a.kind === "plugin" && (typedQuery || isRecent); + var eyebrow = actionEyebrow(a, query, isRecent); + var eyebrowMatch = mi ? (showPluginCategory ? mi.plugin : (mi.useEyebrowGroup ? mi.group : mi.source)) : null; + shell.left.insertBefore(markedText("row-eyebrow", eyebrow, eyebrowMatch), shell.line); + shell.line.appendChild(markedText("row-name", a.title, mi ? mi.title : null)); + var badge = modeBadge(a, USER_MODE); + if (badge) { + var tag = document.createElement("span"); + tag.className = "row-mode"; + tag.textContent = badge; + shell.line.appendChild(tag); + } + + var pin = document.createElement("button"); + pin.className = "pin"; + setPinState(pin, on); + pin.onclick = function (ev) { ev.stopPropagation(); toggleFav(a.id); }; // why: two quick fav/unfav clicks must not dblclick-run the row - star.ondblclick = function (ev) { ev.stopPropagation(); }; - row.appendChild(star); + pin.ondblclick = function (ev) { ev.stopPropagation(); }; + shell.row.appendChild(pin); - row.onclick = function () { sel = { zone: "list", i: i }; render(); }; - row.ondblclick = function () { sel = { zone: "list", i: i }; run(a); }; - listEl.appendChild(row); - }); + shell.row.onclick = function () { sel = { zone: "list", i: i }; render({ resize: true }); }; + shell.row.ondblclick = function () { sel = { zone: "list", i: i }; activateEntry(a); }; + return shell.row; +} + +// Append rows [from, to) into listEl, always inserting before the bottom spacer so row order is +// preserved. A section header is inserted just before the first row of its section. +function appendActionRows(list, from, to) { + var spacer = spacerEl || ensureSpacer(); + for (var i = from; i < to; i++) { + if (sectionStarts && sectionStarts[i] !== undefined) { + var header = document.createElement("div"); + header.className = "dial-section"; + header.textContent = sectionStarts[i]; + listEl.insertBefore(header, spacer); + sectionRendered++; + } + var row = renderActionRow(list[i], i); + row.setAttribute("data-idx", i); + listEl.insertBefore(row, spacer); + } +} + +// Set the section map for the current list and reset the rendered-header counters (a fresh build). +function setSections(sections) { + sectionStarts = sections || null; + sectionTotal = sectionStarts ? Object.keys(sectionStarts).length : 0; + sectionRendered = 0; +} + +// Ensure the bottom spacer exists as the last child of listEl. It is (re)created on rebuild because +// listEl.innerHTML="" destroys the old node. +function ensureSpacer() { + if (!spacerEl || spacerEl.parentNode !== listEl) { + spacerEl = document.createElement("div"); + spacerEl.className = "dial-spacer-bottom"; + listEl.appendChild(spacerEl); + } + return spacerEl; +} + +// Size the spacer to the un-rendered tail so the scrollbar reflects the full match count. Pending +// section headers reserve their own height too, so the last rows stay reachable. +function setBottomSpacer(total) { + ensureSpacer(); + spacerEl.style.height = spacerHeight(total, renderEnd, sectionTotal, sectionRendered) + "px"; +} + +// Reveal rows up to `upto` (an exclusive index), appending without rebuilding the whole list. Used by +// the scroll handler (viewport + overscan) and by arrow-nav that runs off the end of the current window. +// The window is append-only and row indices are absolute, so jumping the selection to the very last row +// (ArrowUp wrap with no fav bar) necessarily materializes the whole list; the label/search caches above +// keep that one-off cost linear rather than quadratic. +function revealTo(list, upto) { + var need = Math.min(list.length, upto); + if (need <= renderEnd) + return; + appendActionRows(list, renderEnd, need); + renderEnd = need; + setBottomSpacer(list.length); +} + +// Rebuild the list from the first window (new search / phase change), clearing stale rows. +function rebuildCommandsList(list) { + listEl.innerHTML = ""; + listEl.className = "dial-list"; + ensureSpacer(); + renderEnd = 0; + sectionRendered = 0; + appendActionRows(list, 0, Math.min(list.length, K_ROWS)); + renderEnd = Math.min(list.length, K_ROWS); + setBottomSpacer(list.length); +} + +// Toggle the .sel class in place - arrow-nav/click don't rebuild the DOM, just re-highlight the row. +function updateSelection() { + var rows = listEl ? listEl.querySelectorAll(".row") : []; + for (var i = 0; i < rows.length; i++) { + var idx = parseInt(rows[i].getAttribute("data-idx"), 10); + rows[i].classList.toggle("sel", sel.zone === "list" && idx === sel.i); + } +} + +// Sync the pin buttons in place when FAVS changes but the row set doesn't (fav toggle), so a +// bookmark fills/empties without a rebuild that would reset scroll. Rows carry data-idx into the +// active list. +function updatePins(list) { + var rows = listEl ? listEl.querySelectorAll(".row") : []; + for (var i = 0; i < rows.length; i++) { + var a = list[parseInt(rows[i].getAttribute("data-idx"), 10)]; + var pin = rows[i].querySelector(".pin"); + if (!a || !pin) continue; + var on = FAVS.indexOf(a.id) !== -1; + if (pin.classList.contains("on") !== on) + setPinState(pin, on); + } +} + +// Replace the list with a single placeholder message (no matches / empty state). Shared by all phases. +function renderEmpty(text) { + listEl.innerHTML = ""; + spacerEl = null; + listEl.className = "dial-list empty"; + setSections(null); + if (countEl) countEl.hidden = true; + var empty = document.createElement("div"); + empty.className = "dial-empty"; + empty.textContent = text; + listEl.appendChild(empty); +} + +function renderCommandsList() { + var list = currentList(); + var total = list.length; + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, total - 1)); + var showList = shouldRenderActionList(query); + // Recents are not filtered, so clear any stale match marks from a previous typed query. + if (!showList) + matchIndex = {}; + + if (!total) { + renderEmpty(showList ? T("sd_no_match_total", "No actions match (Total: %s)", ACTIONS.length) + : T("sd_no_actions", "No actions yet")); + renderEnd = 0; + builtKey = buildKey() + "|0"; + return; + } + + var key = buildKey() + "|" + total; + if (key !== builtKey) { + builtKey = key; + // Headers split the empty-query list into recents + category groups; typed queries have none. + setSections(showList ? null : commandSections(list, (RECENTS || []).length, query)); + rebuildCommandsList(list); + } else if (sel.i >= renderEnd) { + // Arrow-nav walked past the rendered window - reveal enough to keep the selection visible. + revealTo(list, revealTarget(total, sel.i, K_ROWS)); + } + + listEl.className = "dial-list"; + // The empty-query list is labelled by its section headers instead. + if (countEl) { + countEl.hidden = !showList; + if (showList) + countEl.textContent = resultCountText(ACTIONS.length, total, query); + } + updateSelection(); + updatePins(list); +} + +// A tab row: no pin/unpin (tabs aren't pinnable), and a tile that shows the page icon when the +// notebook has one (plugin pages often don't). Uses tabTitle so pages added with an empty text +// (e.g. Home) still show a label. +function renderTabRow(t, i) { + var label = tabTitle(t); + var shell = beginRow(t, i, true, label); + var name = document.createElement("div"); + name.className = "row-name"; + name.textContent = label; + shell.line.appendChild(name); + shell.row.onclick = function () { sel = { zone: "list", i: i }; render({ resize: true }); }; + shell.row.ondblclick = function () { sel = { zone: "list", i: i }; jumpToTab(t); }; + return shell.row; +} + +function renderTabList() { + var q = (query || "").trim(); + var list = currentList(); + listEl.innerHTML = ""; + spacerEl = null; // the tab list has no windowed spacer; rebuildCommandsList recreates it + + if (!list.length) { + renderEmpty(q ? T("sd_no_tabs_match", "No tabs match") : T("sd_no_tabs", "No tabs")); + return; + } + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, list.length - 1)); + listEl.className = "dial-list"; + if (countEl) { + countEl.hidden = false; + countEl.textContent = q ? T("sd_tab_match_count", "%s matches", list.length) : T("sd_tab_count", "%s tabs", list.length); + } + list.forEach(function (t, i) { listEl.appendChild(renderTabRow(t, i)); }); +} + +function renderPercentList() { + var q = (query || "").trim(); + renderEmpty(q ? T("sd_go_to_pct", "Go to %s% of the layer range", q) : T("sd_enter_pct", "Enter a layer percentage (0-100)")); +} + +function renderList() { + if (phase === "tab") + renderTabList(); + else if (phase === "percent") + renderPercentList(); + else + renderCommandsList(); +} + +// The action the footer describes: the current selection resolved through the active list/fav bar. +function currentDetailAction() { + if (phase !== "commands") return null; + var id = selectedActionId(sel, currentList(), currentVisibleFavs()); + return id ? byId(id) : null; +} + +// Footer detail strip: the selected action's description, its wiki link and the expand/collapse +// arrow. Shown whenever the highlighted action has a description or a wiki page; expanding is a +// persisted global preference, so the arrow stays available to collapse/expand every tooltip. +function renderDetail() { + if (!detailEl) return; + var a = currentDetailAction(); + var hasDesc = detailToggleVisible(a); + var show = phase === "commands" && actionHasDetail(a); + detailEl.hidden = !show; + detailEl.innerHTML = ""; + if (!show) return; + if (hasDesc && TOOLTIP_EXPANDED) { + var desc = document.createElement("div"); + desc.className = "detail-desc"; + desc.textContent = a.desc; + detailEl.appendChild(desc); + } + // The wiki link is part of the expanded detail, so collapsing hides it too. An action with only a + // wiki (no description) has nothing to collapse, so its link always shows. + if (a.wiki && (!hasDesc || TOOLTIP_EXPANDED)) { + var link = document.createElement("button"); + link.type = "button"; + link.className = "detail-wiki"; + link.textContent = T("sd_wiki_f1", "Wiki (F1)"); + link.onclick = function (ev) { ev.stopPropagation(); SendMessage({ command: "open_wiki", id: a.id }); }; + detailEl.appendChild(link); + } + if (hasDesc) { + var toggle = document.createElement("button"); + toggle.type = "button"; + toggle.className = "detail-toggle"; + toggle.setAttribute("aria-expanded", TOOLTIP_EXPANDED ? "true" : "false"); + var label = TOOLTIP_EXPANDED ? T("sd_hide_details", "Hide details") : T("sd_show_details", "Show details"); + toggle.title = label; + toggle.setAttribute("aria-label", label); + toggle.innerHTML = ''; + toggle.onclick = function (ev) { + ev.stopPropagation(); + TOOLTIP_EXPANDED = !TOOLTIP_EXPANDED; + SendMessage({ command: "set_tooltip_expanded", expanded: TOOLTIP_EXPANDED }); + render({ resize: true }); + }; + detailEl.appendChild(toggle); + } +} + +// Refresh the muted inline completion shown at the end of the search field. Only offered in the +// commands phase, with the caret at the end of a non-empty, non-trailing-space input that isn't +// scrolled (so the overlay lines up with the real caret). The ghost is the typed text (hidden, to +// reserve its width) followed by the suggested suffix, so it sits exactly after the caret. +function updateGhost() { + activeCompletion = null; + if (!ghostEl || !qEl) return; + var eligible = phase === "commands" && qEl.value && qEl.selectionStart === qEl.value.length && + !/\s$/.test(qEl.value) && qEl.scrollWidth <= qEl.clientWidth; + var comp = eligible ? completionFor(query, currentList()) : null; + if (!comp) { ghostEl.hidden = true; return; } + ghostTypedEl.textContent = qEl.value; + ghostSuffixEl.textContent = comp.suffix; + ghostEl.hidden = false; + activeCompletion = comp; } function render(opts) { - renderFav(); - renderList(); - scrollSelectedIntoView(); - if (opts && opts.resetScroll) - resetScrollPositions(listEl, document); - if (opts && opts.resize) - requestResize(); + renderFav(); + renderList(); + renderDetail(); + updateGhost(); + // Pin toggles don't move the selection, so they pass keepScroll to avoid snapping the list + // back to a row that is currently off-screen. + if (!(opts && opts.keepScroll)) + scrollSelectedIntoView(); + if (opts && opts.resetScroll) + resetScrollPositions(listEl, document); + if (opts && opts.resize) + requestResize(); } // Keep the selected item in view as arrows move it: the list scrolls vertically, the fav bar // horizontally (arrow nav "pushes" the scrollable fav row to follow the selection). function scrollSelectedIntoView() { - var el = null; - if (sel.zone === "list" && listEl) - el = listEl.querySelector(".row.sel"); - else if (sel.zone === "fav" && favEl) - el = favEl.querySelector(".fav-tile.sel"); - if (el && el.scrollIntoView) - el.scrollIntoView({ block: "nearest", inline: "nearest" }); + var el = null; + if (sel.zone === "list" && listEl) + el = listEl.querySelector(".row.sel"); + else if (sel.zone === "fav" && favEl) + el = favEl.querySelector(".fav-tile.sel"); + if (el && el.scrollIntoView) + el.scrollIntoView({ block: "nearest", inline: "nearest" }); } function requestResize() { - if (!document.body) - return; - setTimeout(function () { + if (!document.body) + return; + setTimeout(function () { + var launcher = document.querySelector(".launcher"); + if (!launcher) + return; + // Include any overflow (WebKit can report a -webkit-box border box a fraction short of its + // content), so the window never clips the footer's last line. + var height = Math.ceil(Math.max(launcher.getBoundingClientRect().height, launcher.scrollHeight)); + if (!height) + return; + // Always (re)send rather than caching: a resize can be measured but dropped (e.g. while the + // window is being shown) and an unchanged-size cache would then suppress every retry. C++ + // SetClientSize is a no-op on an unchanged size, so this is cheap. + SendMessage({ command: "resize", height: height }); + }, 0); +} + +// Transient inline hint pinned to the top of the launcher (e.g. "favourites are full"). +function flashHint(text) { + if (!document.body) return; var launcher = document.querySelector(".launcher"); - if (!launcher) - return; - var height = Math.ceil(launcher.getBoundingClientRect().height); - if (!height || height === lastResizeHeight) - return; - lastResizeHeight = height; - SendMessage({ command: "resize", height: height }); - }, 0); + if (!launcher) return; + var hint = document.createElement("div"); + hint.className = "dial-flash"; + hint.textContent = text; + launcher.insertBefore(hint, launcher.firstChild); + setTimeout(function () { + if (hint && hint.parentNode) { + hint.parentNode.removeChild(hint); + requestResize(); // reclaim the hint's height so the popup doesn't stay tall + } + }, 2500); } // ---- actions ----------------------------------------------------------------- function toggleFav(id) { - var k = FAVS.indexOf(id); - var newState = k === -1; - if (newState) FAVS.push(id); else FAVS.splice(k, 1); - SendMessage({ command: "toggle_favourite", id: id, fav: newState }); - render({ resize: true }); + var k = FAVS.indexOf(id); + var newState = k === -1; + if (newState) FAVS.push(id); else FAVS.splice(k, 1); + SendMessage({ command: "toggle_favourite", id: id, fav: newState }); + render({ resize: true, keepScroll: true }); } -// Fire the action; C++ owns the run-confirm (native dialog) + suppression, then closes the popup + toasts. +// Fire a command/plugin action; C++ owns the run-confirm (native dialog) + suppression, then +// closes the popup + toasts. function run(a) { - if (!a) return; - SendMessage({ command: "run_action", id: a.id, title: a.title }); + if (!a) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: "" }); +} + +// Activate an entry in the main phase. Two-phase commands switch the palette to their input phase +// instead of running; everything else (including a setting jump, which is a plain action now) runs. +function activateEntry(a) { + if (!a) return; + if (a.input === "percent") { enterPercentPhase(); return; } + if (a.input === "tab") { enterTabsPhase(); return; } + run(a); } function runSelected() { - var id = selectedActionId(sel, filterActions(ACTIONS, query), currentVisibleFavs(), query); - if (id) run(byId(id)); + if (phase === "percent") { + runJumpToLayer(query.trim()); + return; + } + if (phase === "tab") { + var t = currentList()[sel.i]; + if (t) jumpToTab(t); + return; + } + var list = currentList(); + var id = selectedActionId(sel, list, currentVisibleFavs()); + if (id) activateEntry(byId(id)); } -function focusInput() { setTimeout(function () { qEl.focus(); }, 0); } +function runJumpToLayer(pct) { + if (pct === "") return; + var n = parseFloat(pct); + if (!isFinite(n) || n < 0 || n > 100) return; + var a = findActionByInput("percent"); + if (!a) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: String(n) }); +} + +function jumpToTab(t) { + var a = findActionByInput("tab"); + if (!a || !t) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: t.id }); +} + +// Clear the shared query/cursor state when entering or leaving a phase. Callers set the +// phase-specific placeholder, then render. +function resetPhaseInput() { + query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; + syncClearButton(); +} + +function enterPercentPhase() { + phase = "percent"; + resetPhaseInput(); + qEl.placeholder = T("sd_go_layer_ph", "Go to layer % (0-100)"); + render({ resize: true, resetScroll: true }); + qEl.focus(); +} + +function enterTabsPhase() { + phase = "tab"; tabOptions = []; + resetPhaseInput(); + qEl.placeholder = T("sd_go_tab_ph", "Go to tab"); + render({ resize: true, resetScroll: true }); + qEl.focus(); + SendMessage({ command: "search_tabs" }); +} + +function exitPhase() { + phase = "commands"; tabOptions = []; + resetPhaseInput(); + // why: builtKey caches phase|query so renderCommandsList can skip a rebuild on arrow-nav/click. + // It survives a second-phase exit (which never goes through exitPhase from the commands view), + // so without a reset the cached empty-query key would skip the rebuild and leave stale content. + builtKey = ""; + qEl.placeholder = T("sd_search", "Search actions"); + render({ resize: true, resetScroll: true }); + qEl.focus(); +} + +function focusInput() { setTimeout(function () { if (qEl) qEl.focus(); }, 0); } // ---- init -------------------------------------------------------------------- function OnInit() { - qEl = $("q"); listEl = $("list"); favEl = $("favBar"); clearEl = $("clear"); eyeEl = $("favEyebrow"); countEl = $("count"); - syncClearButton(); - - $("clear").onclick = function () { - query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; render({ resize: true, resetScroll: true }); qEl.focus(); - syncClearButton(); - }; - qEl.addEventListener("input", function () { - query = qEl.value; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); - }); - - // why: dismiss the fav context menu on any click/scroll away from it (capture scroll to catch nested scrollers). - document.addEventListener("click", hideFavMenu); - document.addEventListener("scroll", hideFavMenu, true); - - document.addEventListener("keydown", function (e) { - if (favMenuEl && !favMenuEl.hidden && e.key === "Escape") { e.preventDefault(); hideFavMenu(); return; } - var arr = filterActions(ACTIONS, query); - var favs = currentVisibleFavs(); - // why: Up/Down always navigate; Left/Right only navigate the fav bar. In the list zone, - // let Left/Right fall through so they move the caret in the focused search field. - var lr = e.key === "ArrowLeft" || e.key === "ArrowRight"; - if (e.key === "ArrowDown" || e.key === "ArrowUp" || (lr && sel.zone === "fav")) { - e.preventDefault(); - sel = nextSel(sel, e.key, arr.length, favs.length); - // why: entering/leaving the fav zone toggles the eyebrow line, changing launcher height; - // resize so the popup grows/shrinks instead of clipping. requestResize no-ops when unchanged. - render({ resize: true }); - } else if (e.key === "Enter") { - e.preventDefault(); - runSelected(); - } else if (e.key === "Escape") { - e.preventDefault(); - if (query) { query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); } - else SendMessage({ command: "close_page" }); + qEl = $("q"); listEl = $("list"); favEl = $("favBar"); clearEl = $("clear"); eyeEl = $("favEyebrow"); countEl = $("count"); detailEl = $("detail"); + ghostEl = $("ghost"); ghostTypedEl = $("ghostTyped"); ghostSuffixEl = $("ghostSuffix"); + // text.js's TranslatePage() targets jQuery `.trans` nodes; this page has none and defines its own + // `$`, so don't call it. Runtime strings go through T() instead. + qEl.placeholder = T("sd_search", "Search actions"); + qEl.setAttribute("aria-label", T("sd_search", "Search actions")); + if (clearEl) { + clearEl.title = T("sd_clear", "Clear"); + clearEl.setAttribute("aria-label", T("sd_clear", "Clear")); } - }); + syncClearButton(); - SendMessage({ command: "request_actions" }); + $("clear").onclick = function () { + resetPhaseInput(); + render({ resize: true, resetScroll: true }); + qEl.focus(); + }; + qEl.addEventListener("input", function () { + query = qEl.value; sel = { zone: "list", i: 0 }; syncClearButton(); + render({ resize: true, resetScroll: true }); + }); + // Caret moves without a value change (click / arrow keys) can enable or invalidate the ghost. + qEl.addEventListener("keyup", updateGhost); + qEl.addEventListener("click", updateGhost); + // Windowed reveal: as the list scrolls, materialize the next window (append-only, no rebuild) so the + // DOM stays bounded to what's near the viewport. Guarded to the commands phase (tabs/percent are tiny). + listEl.addEventListener("scroll", function () { + if (phase !== "commands") + return; + var list = currentList(); + if (renderEnd >= list.length) + return; + var firstVisible = Math.max(0, Math.floor(listEl.scrollTop / ROW_H)); + // Reveal the viewport + a full window of lookahead so fast scrolling doesn't hit a blank tail. + revealTo(list, revealTarget(list.length, firstVisible, 2 * K_ROWS)); + }); + + // why: dismiss the fav context menu on any click/scroll away from it (capture scroll to catch nested scrollers). + document.addEventListener("click", hideFavMenu); + document.addEventListener("scroll", hideFavMenu, true); + + document.addEventListener("keydown", function (e) { + if (favMenuEl && !favMenuEl.hidden && e.key === "Escape") { e.preventDefault(); hideFavMenu(); return; } + // F1 opens the selected setting's wiki page. Settings without one flash a hint instead. + if (e.key === "F1") { + e.preventDefault(); + if (phase !== "commands") return; + var help = currentDetailAction(); + if (actionHasWiki(help)) SendMessage({ command: "open_wiki", id: help.id }); + else flashHint(T("sd_no_wiki", "No wiki page for this action")); + return; + } + // Accept the inline completion: append the suggested word's suffix. Text only - the list + // selection is left where it is; Enter still runs the highlighted result. Shift+Tab is left + // alone so keyboard focus traversal still works. + if (e.key === "Tab" && phase === "commands" && activeCompletion && + !e.altKey && !e.ctrlKey && !e.metaKey && !e.shiftKey) { + e.preventDefault(); + qEl.value += activeCompletion.suffix; + query = qEl.value; + syncClearButton(); + render({ resize: true, resetScroll: true }); + qEl.focus(); + return; + } + // Pin/unpin the highlighted action: Ctrl/Cmd+B. Commands phase only (tabs/percent aren't pinnable). + if (phase === "commands" && (e.ctrlKey || e.metaKey) && !e.altKey && !e.shiftKey && + e.key.toLowerCase() === "b") { + e.preventDefault(); + var id = selectedActionId(sel, currentList(), currentVisibleFavs()); + if (id) toggleFav(id); + return; + } + // Quick-launch a numbered favourite: Alt/Option + digit (0 = the 10th). Only in the + // commands phase, where the pinned bar is shown. + if (phase === "commands" && e.altKey && !e.ctrlKey && !e.metaKey) { + var slotIdx = favIndexForDigit(favDigitFromEvent(e)); + var favIds = currentVisibleFavs(); + if (slotIdx >= 0 && slotIdx < favIds.length) { + e.preventDefault(); + var fav = byId(favIds[slotIdx]); + if (fav) activateEntry(fav); + return; + } + } + var list = currentList(); + // why: fav bar only exists in the commands phase; other phases are list-only, so an + // ArrowUp at the top must not jump into a hidden fav zone. + var favs = (phase === "commands") ? currentVisibleFavs() : []; + // why: Up/Down always navigate; Left/Right only navigate the fav bar. In the list zone, + // let Left/Right fall through so they move the caret in the focused search field. + var lr = e.key === "ArrowLeft" || e.key === "ArrowRight"; + if (e.key === "ArrowDown" || e.key === "ArrowUp" || (lr && sel.zone === "fav")) { + // In the percent phase the input control owns the caret - arrows edit text, not rows. + if (phase === "percent") return; + e.preventDefault(); + sel = nextSel(sel, e.key, list.length, favs.length); + // why: entering/leaving the fav zone toggles the eyebrow line, changing launcher height; + // resize so the popup grows/shrinks instead of clipping. + render({ resize: true }); + } else if (e.key === "Enter") { + e.preventDefault(); + if (phase === "percent") runJumpToLayer(query.trim()); + else runSelected(); + } else if (e.key === "Escape") { + e.preventDefault(); + if (phase !== "commands") { exitPhase(); } + else if (query) { query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); qEl.focus(); } + else SendMessage({ command: "close_page" }); + } + }); + + // Keep the dialog sized to the content: any reflow that lands after a render (tooltip + // expand/collapse or clamped-box settling, font metrics, list reveal) re-measures. Without this + // a later reflow left the window a few pixels short and clipped the footer's last line. + if (typeof ResizeObserver !== "undefined") { + new ResizeObserver(function () { requestResize(); }).observe(document.querySelector(".launcher")); + } + // Font metrics can swap after first layout; re-measure once they settle. + if (document.fonts && document.fonts.ready && document.fonts.ready.then) + document.fonts.ready.then(function () { requestResize(); }); + + SendMessage({ command: "request_actions" }); } diff --git a/resources/web/dialog/SpeedDial/speeddial.test.js b/resources/web/dialog/SpeedDial/speeddial.test.js index 05c1e69c23..1fda833801 100644 --- a/resources/web/dialog/SpeedDial/speeddial.test.js +++ b/resources/web/dialog/SpeedDial/speeddial.test.js @@ -13,33 +13,452 @@ vm.runInContext(fs.readFileSync(__dirname + "/speeddial.js", "utf8"), ctx); assert.equal(typeof ctx.parseId, "undefined", "opaque action ids must never be parsed"); const duplicateActions = [ - { id: "0123456789abcdef", title: "Repair", source: "Mesh Tools" }, - { id: "fedcba9876543210", title: "Repair", source: "Mesh Tools" } + { id: "0123456789abcdef", title: "Repair", source: "Mesh Tools" }, + { id: "fedcba9876543210", title: "Repair", source: "Mesh Tools" } ]; assert.equal( - ctx.actionLabel(duplicateActions[0], duplicateActions), - "Repair from Mesh Tools (0123456789abcdef)", - "duplicate labels should use the opaque id without interpreting its contents" + ctx.actionLabel(duplicateActions[0], duplicateActions), + "Repair from Mesh Tools (0123456789abcdef)", + "duplicate labels should use the opaque id without interpreting its contents" ); -assert.equal(ctx.shouldRenderActionList(""), false, "an empty search keeps the action list hidden"); -assert.equal(ctx.shouldRenderActionList(" "), false, "whitespace-only search keeps the action list hidden"); +assert.equal(ctx.shouldRenderActionList(""), false, "an empty search shows the recents+pool list"); +assert.equal(ctx.shouldRenderActionList(" "), false, "whitespace-only search shows the recents+pool list"); assert.equal(ctx.shouldRenderActionList("r"), true, "typing starts rendering matching actions"); +// commandList: an empty query shows recents first, then every other action; a typed query filters all. +assert.deepEqual(ctx.commandList(duplicateActions, [], ""), duplicateActions, + "empty query + no recents shows the whole action pool"); +assert.deepEqual(ctx.commandList(duplicateActions, [duplicateActions[0]], ""), + [duplicateActions[0], duplicateActions[1]], + "empty query shows the recent first, then the remaining actions"); +assert.deepEqual(ctx.commandList(duplicateActions, [], "rep"), duplicateActions, + "a typed query filters actions (both identical titles match) instead of showing recents"); + +// filterTabs (tab phase): an empty query keeps the whole list; a typed query filters by title/id. +const tabOptions = [ + { id: "home", title: "Home" }, + { id: "prepare", title: "Prepare" }, + { id: "monitor", title: "Device" }, + { id: "project", title: "Project" } +]; +assert.deepEqual(ctx.filterTabs(tabOptions, ""), tabOptions, + "empty query keeps the whole tab list"); +assert.equal(ctx.filterTabs(tabOptions, "prep").length, 1, + "a typed query filters tabs by title"); +assert.equal(ctx.filterTabs(tabOptions, "Device").length, 1, + "a typed query matches a tab title"); +assert.deepEqual(ctx.filterTabs(tabOptions, "zzz"), [], + "a typed query with no match returns an empty list"); + +// tabTitle: pages added with an empty title (e.g. MainFrame's Home tab) fall back to the id. +assert.equal(ctx.tabTitle({ id: "home", title: "" }), "Home", + "an empty title falls back to the title-cased id"); +assert.equal(ctx.tabTitle({ id: "home" }), "Home", + "a missing title falls back to the title-cased id"); +assert.equal(ctx.tabTitle({ id: "prepare", title: "Prepare" }), "Prepare", + "a populated title is kept as-is"); +assert.equal(ctx.tabTitle({ id: "prepare", title: " Prepare" }), "Prepare", + "a stray leading space in a tab title is trimmed so the label shows cleanly"); +assert.equal(ctx.filterTabs([{ id: "home", title: "" }], "home").length, 1, + "an untitled tab still matches a typed query via the id/title fallback"); +assert.equal(ctx.filterTabs([{ id: "prepare", title: " Prepare" }], "prepare").length, 1, + "a leading-space tab title still matches a typed query"); + +// The main phase is ONE pool: commands/plugins/settings are all actions, ranked by relevance +// (no group headers, no actions-vs-settings discrimination). +const pool = [ + { id: "c1", title: "Layer Height", source: "Quality", group: "Quality : Layers", input: "" }, + { id: "s1", title: "Go to layer (percent)", source: "OrcaSlicer", group: "Commands", input: "percent" }, + { id: "c2", title: "Top Surface Layers", source: "Quality", group: "Quality : Layers", input: "" } +]; +assert.deepEqual(ctx.searchActions(pool, ""), pool, "an empty query returns the pool unchanged"); +assert.equal(ctx.searchActions(pool, "zzz").length, 0, "a query with no match returns nothing"); +// "layer" matches multiple; the exact-titled action ranks above the loosely-matching command. +assert.equal(ctx.searchActions(pool, "layer")[0].id, "c1", + "a title-exact match ranks above a partial match"); +assert.equal(ctx.searchActions(pool, "layer").length >= 2, true, + "both a setting and a command match the same query in the same list"); +assert.equal(ctx.searchActions(pool, "surface")[0].id, "c2", + "a later-but-precise match still ranks by relevance, not by pool type"); + +const pluginPool = [ + { id: "plugin-action", title: "Optimize G-code", source: "Gcode Optimizer", group: "", kind: "plugin" }, + { id: "command-action", title: "Open Preferences", source: "OrcaSlicer", group: "Commands", kind: "command" } +]; +assert.deepEqual(ctx.searchActions(pluginPool, "plugin").map(function (a) { return a.id; }), ["plugin-action"], + "the plugin kind makes runnable plugin actions searchable by plugin"); +assert.deepEqual(ctx.searchActions(pluginPool, "plugins").map(function (a) { return a.id; }), ["plugin-action"], + "the plural Plugins category also finds plugin actions"); +ctx.searchActions(pluginPool, "plugins"); +assert.deepEqual(ctx.matchIndex["plugin-action"].plugin, [[0, 7]], + "a category match highlights the visible Plugins label"); +assert.deepEqual(ctx.searchActions(pluginPool, "plugin optimize").map(function (a) { return a.id; }), ["plugin-action"], + "plugin kind can match one token while the action title matches another"); + +// A perfect match (the needle as one contiguous run) outranks a fuzzy match of the same field - and a +// contiguous GROUP/header hit ("Recent Projects") beats a scattered fuzzy TITLE hit ("Retraction Length"), +// which is what the old flat title-bonus ranking got backwards. +const perfectPool = [ + { id: "set", title: "Retraction Length", source: "Process : Quality : Retraction", group: "", input: "" }, + { id: "recent", title: "myproject.3mf", source: "/home/me/projects/myproject.3mf", group: "Recent Projects", input: "" } +]; +assert.equal(ctx.searchActions(perfectPool, "recent")[0].id, "recent", + "a contiguous header/group match ranks above a scattered fuzzy title match"); +// Within a perfect match, the row-name (title) outranks the header (group): the action whose TITLE +// contains the needle perfectly beats the action whose GROUP does, both being contiguous matches. +const titleFirstPool = [ + { id: "grp", title: "Delete Selected", source: "OrcaSlicer", group: "Object", input: "" }, + { id: "t", title: "Object Preview", source: "OrcaSlicer", group: "View", input: "" } +]; +assert.equal(ctx.searchActions(titleFirstPool, "object")[0].id, "t", + "a perfect title match ranks above an equally-perfect group match"); + +// Highlighting: the needle is matched as a whole word / most-contiguous run, so "orient" lights up the +// whole word in "Auto-Orient" instead of the stray "o" of "Auto" plus "rient" (greedy-leftmost). +const orientPool = [ + { id: "ao", title: "Auto-Orient", source: "OrcaSlicer", group: "Object", input: "" } +]; +ctx.searchActions(orientPool, "orient"); +assert.deepEqual(ctx.matchIndex.ao.title, [[5, 11]], + "a whole-word match highlights the full word, not a scattered fuzzy pick"); + +// A fuzzy source-only match with a very late start still counts, even though its score is negative; +// the old `score < 0` sentinel mistook it for "no field matched" and dropped the action. +const negativePool = [ + { id: "n", title: "Unrelated", source: "o" + "x".repeat(200) + "rnt", group: "", input: "" } +]; +assert.equal(ctx.searchActions(negativePool, "ornt").length, 1, + "a low-score fuzzy match is not mistaken for no match"); + +// A setting whose displayed title is the page row label keeps the descriptive ConfigOptionDef name as +// a search-only alias, so the old wording still finds it without being shown. +const aliasPool = [ + { id: "rev", title: "Reverse on even", full_label: "Overhang reversal", source: "Process : Quality : Overhangs", group: "", input: "" } +]; +assert.deepEqual(ctx.searchActions(aliasPool, "overhang reversal").map(function (a) { return a.id; }), ["rev"], + "the descriptive full_label is searchable even though the title shows the row label"); +assert.equal(ctx.matchIndex.rev.title, null, + "an alias-only match does not highlight the displayed title"); +assert.deepEqual(ctx.searchActions(aliasPool, "reversal").map(function (a) { return a.id; }), ["rev"], + "a token that exists only in the full_label still matches"); + +// Multi-token cross-field search: each whitespace-separated word must match SOME searchable field, +// but different words may match different fields. "inner" is the title while "speed" and +// "acceleration" live in the source breadcrumb, so the query as a whole is never contiguous in one +// field - the old single-needle match found nothing for this. +const crossPool = [ + { id: "acc", title: "Inner wall", source: "Process : Speed : Acceleration", group: "", input: "" }, + { id: "spd", title: "Inner wall", source: "Process : Speed : Other layers speed", group: "", input: "" }, + { id: "other", title: "Outer wall", source: "Process : Quality : Walls", group: "", input: "" } +]; +assert.deepEqual( + ctx.searchActions(crossPool, "speed acceleration inner").map(function (a) { return a.id; }), + ["acc"], + "words may match different fields and every word is required" +); +assert.deepEqual( + ctx.searchActions(crossPool, "speed inner").map(function (a) { return a.id; }).sort(), + ["acc", "spd"], + "a two-word title+source query matches every setting under Speed" +); +assert.deepEqual( + ctx.searchActions(crossPool, "quality inner").map(function (a) { return a.id; }), + [], + "an action is dropped when any one word matches no field" +); +// Highlighting merges the per-field ranges the tokens produced. +ctx.searchActions(crossPool, "speed acceleration inner"); +assert.deepEqual(ctx.matchIndex.acc.title, [[0, 5]], "the title token highlights in the title"); +assert.deepEqual(ctx.matchIndex.acc.source, [[10, 15], [18, 30]], "each path token highlights in the breadcrumb"); + +assert.deepEqual(ctx.queryTokens(" Speed Acceleration "), ["speed", "acceleration"], + "a query splits into normalized whitespace-separated tokens"); +assert.deepEqual(ctx.queryTokens(""), [], "an empty query has no tokens"); + +// Inline completion: the LAST token is completed to a word in the top-ranked result, name first then +// breadcrumb. Pure - the caller appends `suffix`. +const compPool = [ + { id: "acc", title: "Inner wall", source: "Process : Speed : Acceleration", group: "", input: "" }, + { id: "smooth", title: "Smooth", source: "Process : Speed : Other layers speed", group: "", input: "" } +]; +assert.equal(ctx.completionFor("speed acc", ctx.searchActions(compPool, "speed acc")).suffix, "eleration", + "the last token completes to the next word in the breadcrumb"); +assert.equal(ctx.completionFor("inner w", ctx.searchActions(compPool, "inner w")).suffix, "all", + "the title is preferred over the breadcrumb for completion"); +assert.equal(ctx.completionFor("inner wall", ctx.searchActions(compPool, "inner wall")), null, + "an already-complete word has nothing to add"); +assert.equal(ctx.completionFor("", compPool), null, "an empty query has no completion"); +assert.equal(ctx.completionFor("zzz", ctx.searchActions(compPool, "zzz")), null, + "a query with no match has no completion"); + +// actionCategory: a command/dynamic action's group is its category; a setting uses the top-level +// source segment; every plugin shares one header; a category-less action falls back to "Other". +assert.equal(ctx.actionCategory({ id: "c", group: "Help", source: "OrcaSlicer", kind: "command" }), "Help", + "a command's group is its category"); +assert.equal(ctx.actionCategory({ id: "s", group: "", source: "Process : Quality : Layers", kind: "command" }), "Process", + "a setting's category is the top-level source segment"); +assert.equal(ctx.actionCategory({ id: "s", group: "", source: "Filament : Cooling", kind: "command" }), "Filament", + "a Filament setting groups under Filament"); +assert.equal(ctx.actionCategory({ id: "plugin_script_action:Foo:bar.py", group: "", source: "Gcode Optimizer", kind: "plugin" }), "Plugins", + "every plugin shares one Plugins header"); +assert.equal(ctx.actionEyebrow({ group: "", source: "Gcode Optimizer", kind: "plugin" }, "plugin"), "Plugins", + "typed results show only the Plugins category"); +assert.equal(ctx.actionEyebrow({ group: "", source: "Gcode Optimizer", kind: "plugin" }, "", true), "Plugins", + "recent plugin actions show only the Plugins category"); +assert.equal(ctx.actionEyebrow({ group: "", source: "Gcode Optimizer", kind: "plugin" }, ""), "Gcode Optimizer", + "the unfiltered plugin section keeps the source name on non-recent rows"); +assert.equal(ctx.actionCategory({ id: "x", group: "", source: "", kind: "command" }), "Other", + "a category-less action falls back to Other"); + +// groupActions: bucket by category, order the groups alphabetically, keep the incoming order within +// each group (the pool arrives frecency-sorted). +const groupPool = [ + { id: "q1", title: "Q1", source: "Quality", group: "Quality", kind: "command" }, + { id: "h1", title: "H1", source: "OrcaSlicer", group: "Help", kind: "command" }, + { id: "p1", title: "P1", source: "Process : A", group: "", kind: "command" }, + { id: "h2", title: "H2", source: "OrcaSlicer", group: "Help", kind: "command" } +]; +assert.deepEqual(ctx.groupActions(groupPool).map(function (a) { return a.id; }), ["h1", "h2", "p1", "q1"], + "groups are alphabetical and each group keeps its incoming order"); + +// commandList (the main-phase list) delegates to the ranked search for a typed query and returns +// recents + the category-grouped pool for an empty query. +const mixed = [ + { id: "cmd", title: "Slice", source: "OrcaSlicer", group: "Commands", kind: "command", input: "" }, + { id: "set", title: "Sparse Infill Density", source: "Quality", group: "Quality", kind: "command", input: "" } +]; +assert.equal(ctx.commandList(mixed, [], "sli")[0].id, "cmd", + "a typed query keeps the relevance-ranked action list (best match first)"); +assert.deepEqual(ctx.commandList(mixed, mixed.slice(0, 1), "").map(function (a) { return a.id; }), ["cmd", "set"], + "an empty query shows the recents first and de-dupes them out of the tail"); +assert.deepEqual(ctx.commandList(mixed, [], "").map(function (a) { return a.id; }), ["cmd", "set"], + "empty query + no recents shows the whole action pool"); +assert.deepEqual(ctx.commandList(mixed, [mixed[1]], "").map(function (a) { return a.id; }), ["set", "cmd"], + "the recent is hoisted above the alphabetically-ordered groups"); + +// commandSections: "Recent" (when recents exist) plus one header per category in the grouped list; +// a typed query or an empty list yields no headers. Uses a computed grouped list so the recents +// hoist and the category ordering are exercised together. +const sectionPool = [ + { id: "cmd", title: "Slice", source: "OrcaSlicer", group: "Commands", kind: "command" }, + { id: "help", title: "Shortcuts", source: "OrcaSlicer", group: "Help", kind: "command" }, + { id: "set", title: "Infill", source: "Quality", group: "Quality", kind: "command" } +]; +const sectionList = ctx.commandList(sectionPool, [sectionPool[0]], ""); +assert.deepEqual(sectionList.map(function (a) { return a.id; }), ["cmd", "help", "set"], + "recents are hoisted, then the rest is grouped alphabetically (Commands, Help, Quality)"); +assert.deepEqual(ctx.commandSections(sectionList, 1, ""), { 0: "Recent", 1: "Help", 2: "Quality" }, + "recents + grouped actions get one header per category"); +assert.deepEqual(ctx.commandSections([sectionPool[0]], 1, ""), { 0: "Recent" }, + "a list that is all recents gets only the Recent header"); +assert.deepEqual(ctx.commandSections(ctx.commandList(sectionPool, [], ""), 0, ""), + { 0: "Commands", 1: "Help", 2: "Quality" }, + "with no recents the grouped list still gets category headers"); +assert.equal(ctx.commandSections(sectionList, 1, "sli"), null, + "a typed query has no section headers"); +assert.equal(ctx.commandSections([], 0, ""), null, + "an empty list has no section headers"); + +// selectedActionId: resolves the active list (recents+pool for an empty query, filtered list otherwise). assert.equal( - ctx.selectedActionId({ zone: "list", i: 0 }, duplicateActions, [], ""), - null, - "Enter with an empty query must not resolve to an action the blank list never showed" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [], ""), []), + "0123456789abcdef", + "Enter with an empty query resolves the first action in the recents+pool list" ); assert.equal( - ctx.selectedActionId({ zone: "list", i: 0 }, duplicateActions, [], "rep"), - "0123456789abcdef", - "a typed query resolves the list selection" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [], "rep"), []), + "0123456789abcdef", + "a typed query resolves the list selection" ); assert.equal( - ctx.selectedActionId({ zone: "fav", i: 0 }, duplicateActions, ["fedcba9876543210"], ""), - "fedcba9876543210", - "favourites stay runnable with an empty query - the fav bar is always visible" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [duplicateActions[0]], ""), []), + "0123456789abcdef", + "Enter with an empty query resolves the recent entry" +); +assert.equal( + ctx.selectedActionId({ zone: "fav", i: 0 }, duplicateActions, ["fedcba9876543210"]), + "fedcba9876543210", + "favourites stay runnable with an empty query - the fav bar is always visible" ); +// Fav quick-launch slots: digit 1..9 -> index 0..8, digit 0 -> index 9 (the 10th), else -1. +assert.equal(ctx.favIndexForDigit("1"), 0, "digit 1 maps to the 1st favourite slot"); +assert.equal(ctx.favIndexForDigit("9"), 8, "digit 9 maps to the 9th favourite slot"); +assert.equal(ctx.favIndexForDigit("0"), 9, "digit 0 maps to the 10th (last) favourite slot"); +assert.equal(ctx.favIndexForDigit("x"), -1, "non-digit keys are not a slot"); +assert.equal(ctx.favIndexForDigit(""), -1, "an empty key is not a slot"); + +// Badge label per 0-based index: 0..8 -> "1".."9", index 9 -> "0", out of range -> null. +assert.equal(ctx.favSlotForIndex(0), "1", "index 0 shows badge 1"); +assert.equal(ctx.favSlotForIndex(8), "9", "index 8 shows badge 9"); +assert.equal(ctx.favSlotForIndex(9), "0", "index 9 shows badge 0 (the 10th slot)"); +assert.equal(ctx.favSlotForIndex(10), null, "index 10 is beyond the cap"); +assert.equal(ctx.favSlotForIndex(-1), null, "negative index is not a slot"); +assert.equal(ctx.K_FAV_LIMIT, 10, "the slot count matches the quick-launch cap"); + +// favDigitFromEvent: prefer the physical code (so macOS Option+digit still maps even though e.key +// is the composed symbol), and fall back to e.key for keyboards/synthetic events without a code. +assert.equal(ctx.favDigitFromEvent({ code: "Digit1", key: "¡" }), "1", "Digit1 wins over a composed key"); +assert.equal(ctx.favDigitFromEvent({ code: "Digit0", key: "0" }), "0", "Digit0 is a physical digit"); +assert.equal(ctx.favDigitFromEvent({ code: "Numpad7", key: "7" }), "7", "numpad digits count"); +assert.equal(ctx.favDigitFromEvent({ code: "", key: "3" }), "3", "a missing code falls back to key"); +assert.equal(ctx.favDigitFromEvent({ key: "a" }), "a", "non-digit input is passed through (maps to -1)"); +assert.equal(ctx.favDigitFromEvent(null), "", "a null event yields no digit"); + +// nextSel: arrow-nav wrapping. Down wraps at the list bottom to the first row; Up wraps at the +// list top to the last row ONLY when there's no fav bar above (else it goes to the fav bar). +assert.deepEqual(ctx.nextSel({ zone: "list", i: 2 }, "ArrowDown", 3, 0), { zone: "list", i: 0 }, + "ArrowDown at the last row wraps to the first row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 1 }, "ArrowDown", 3, 0), { zone: "list", i: 2 }, + "ArrowDown in the middle advances by one"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 3, 0), { zone: "list", i: 2 }, + "ArrowUp at the first row with no fav bar wraps to the last row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 3, 2), { zone: "fav", i: 0 }, + "ArrowUp at the first row with a fav bar goes to the fav bar (unchanged)"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 2 }, "ArrowUp", 3, 0), { zone: "list", i: 1 }, + "ArrowUp in the middle moves up by one"); +assert.deepEqual(ctx.nextSel({ zone: "fav", i: 1 }, "ArrowDown", 3, 2), { zone: "list", i: 0 }, + "ArrowDown from the fav bar lands on the first list row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowDown", 1, 0), { zone: "list", i: 0 }, + "a single-row list never wraps off the end"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 1, 0), { zone: "list", i: 0 }, + "ArrowUp on the only row stays put"); + +// Windowed list reveal: how many rows must be materialized to cover `fromIndex` plus `size` more, +// clamped to the total. Drives the "render the next window on scroll / arrow-nav" append. +assert.equal(ctx.revealTarget(100, 0, 100), 100, "covers the whole list when the window reaches the end"); +assert.equal(ctx.revealTarget(100, 60, 100), 100, "clamps to the total at the tail"); +assert.equal(ctx.revealTarget(30, 5, 100), 30, "a short list is fully covered"); +assert.equal(ctx.revealTarget(100, 5, 50), 55, "reveals exactly fromIndex + size"); +assert.equal(ctx.revealTarget(100, -5, 50), 50, "negative start is clamped to the first row"); +assert.equal(ctx.revealTarget(200, 50, 100), 150, "a scroll viewpoint reveals a window past the current rows"); +assert.equal(ctx.revealTarget(10, 0, 50), 10, "a list shorter than one window stays fully materialized"); + +// spacerHeight: un-rendered rows (44px) plus un-rendered section headers (30px), never negative. +assert.equal(ctx.spacerHeight(100, 50, 0, 0), 50 * 44, "the tail rows reserve their full height"); +assert.equal(ctx.spacerHeight(100, 100, 0, 0), 0, "a fully-rendered list needs no spacer"); +assert.equal(ctx.spacerHeight(100, 50, 3, 1), 50 * 44 + 2 * 30, "pending section headers reserve their height too"); +assert.equal(ctx.spacerHeight(10, 0, 2, 0), 10 * 44 + 2 * 30, "a short list still reserves its headers"); +assert.equal(ctx.spacerHeight(0, 0, 0, 0), 0, "an empty list has no spacer"); +assert.equal(ctx.spacerHeight(10, 20, 0, 5), 0, "over-rendered counters clamp to zero"); + +// visibleFavourites: the quick-bar drops pins whose action no longer exists (plugin unloaded, +// command removed) and collapses duplicate ids, keeping the persisted pin order. +assert.deepEqual(ctx.visibleFavourites(["a", "b", "c"], [{ id: "a" }, { id: "b" }]), + ["a", "b"], "a pin with no live action is dropped from the quick-bar"); +assert.deepEqual(ctx.visibleFavourites(["b", "a", "b"], [{ id: "a" }, { id: "b" }]), + ["b", "a"], "duplicate pins collapse to the first occurrence"); +assert.deepEqual(ctx.visibleFavourites([], [{ id: "a" }]), [], "no pins renders an empty quick-bar"); +assert.deepEqual(ctx.visibleFavourites(["a"], []), [], "a stale config with no actions renders nothing"); + +// actionIcon: the SVG base name for a tile's pictogram, or "" when the action has none (blank tile). +assert.equal(ctx.actionIcon({ id: "x", title: "Slice", icon: "media_play" }), "media_play", + "an action's icon base name is returned verbatim"); +assert.equal(ctx.actionIcon({ id: "x", title: "Go to tab...", icon: "" }), "", + "an empty icon renders a blank tile"); +assert.equal(ctx.actionIcon({ id: "x", title: "Plugin action" }), "", + "a missing icon field renders a blank tile"); +assert.equal(ctx.actionIcon(null), "", + "a null action (tab row) renders a blank tile"); + +// tileIcon: the base name a tile renders - the action's own icon when present, else the placeholder. +assert.equal(ctx.tileIcon({ id: "x", title: "Slice", icon: "media_play" }), "media_play", + "an action with an icon keeps it"); +assert.equal(ctx.tileIcon({ id: "x", title: "Go to tab...", icon: "" }), "action_default", + "an empty icon falls back to the placeholder"); +assert.equal(ctx.tileIcon({ id: "x", title: "Plugin action" }), "action_default", + "a missing icon falls back to the placeholder"); +assert.equal(ctx.DEFAULT_ICON, "action_default", "the placeholder is the dedicated default glyph"); +assert.ok(fs.existsSync(__dirname + "/../../../images/action_default.svg"), + "the placeholder SVG ships alongside the page's other icons"); + +// needsModeSwitch: a setting is gated only when its required mode outranks the user's current mode. +assert.equal(ctx.needsModeSwitch({ mode: "advanced" }, "simple"), true, "Advanced is gated in Simple mode"); +assert.equal(ctx.needsModeSwitch({ mode: "expert" }, "simple"), true, "Expert is gated in Simple mode"); +assert.equal(ctx.needsModeSwitch({ mode: "expert" }, "advanced"), true, "Expert is gated in Advanced mode"); +assert.equal(ctx.needsModeSwitch({ mode: "develop" }, "expert"), true, "Developer is gated in Expert mode"); +assert.equal(ctx.needsModeSwitch({ mode: "simple" }, "simple"), false, "a Simple setting is not gated"); +assert.equal(ctx.needsModeSwitch({ mode: "advanced" }, "advanced"), false, "an Advanced setting is not gated in Advanced mode"); +assert.equal(ctx.needsModeSwitch({ mode: "develop" }, "develop"), false, "a Developer setting is not gated in Developer mode"); +assert.equal(ctx.needsModeSwitch({}, "simple"), false, "a command with no mode is never gated"); + +// MODE_RANK must match the C++ ConfigOptionMode order (comSimple < comAdvanced < comExpert < comDevelop). +assert.deepEqual(ctx.MODE_RANK, { simple: 0, advanced: 1, expert: 2, develop: 3 }, + "mode rank matches the C++ ConfigOptionMode order"); + +// modeBadge: the tag text for gated settings, empty once the setting is available. +assert.equal(ctx.modeBadge({ mode: "advanced" }, "simple"), "Advanced", "Advanced badge text"); +assert.equal(ctx.modeBadge({ mode: "expert" }, "simple"), "Expert", "Expert badge text"); +assert.equal(ctx.modeBadge({ mode: "develop" }, "simple"), "Developer", "Developer badge text"); +assert.equal(ctx.modeBadge({ mode: "advanced" }, "advanced"), "", "no badge when the mode already matches"); + +// modeFilterFromQuery: whole-word, case-insensitive mode keywords -> internal mode values. "developer" +// maps to the internal "develop"; "simple" is deliberately not a keyword; a prefix is not a match. +assert.deepEqual(ctx.modeFilterFromQuery("advanced"), ["advanced"], "Advanced is a mode keyword"); +assert.deepEqual(ctx.modeFilterFromQuery("Expert"), ["expert"], "the keyword is case-insensitive"); +assert.deepEqual(ctx.modeFilterFromQuery("developer"), ["develop"], "Developer maps to the develop value"); +assert.deepEqual(ctx.modeFilterFromQuery("develop"), ["develop"], "the internal develop spelling also works"); +assert.deepEqual(ctx.modeFilterFromQuery("expert retraction"), ["expert"], "a keyword is found among other text"); +assert.deepEqual(ctx.modeFilterFromQuery("advanced expert"), ["advanced", "expert"], "multiple keywords are deduped in order"); +assert.deepEqual(ctx.modeFilterFromQuery("advanced advanced"), ["advanced"], "a repeated keyword is deduped"); +assert.deepEqual(ctx.modeFilterFromQuery("simple"), [], "Simple is not a mode keyword"); +assert.deepEqual(ctx.modeFilterFromQuery("advance"), [], "a mode-word prefix is not a whole-word match"); +assert.deepEqual(ctx.modeFilterFromQuery(""), [], "an empty query names no mode"); + +// searchActions mode union: a mode keyword keeps the normal text matches AND appends every setting +// requiring that mode. Not a filter - a Simple setting literally named "Advanced..." still shows, and +// commands (mode "simple") are never pulled in by a keyword. +const modePool = [ + { id: "a1", title: "Top Surface Layers", source: "Quality", group: "Quality : Layers", mode: "advanced" }, + { id: "a2", title: "Advanced Detection", source: "Quality", group: "Quality", mode: "simple" }, + { id: "a3", title: "Retraction Length", source: "Process", group: "Process : Quality", mode: "expert" }, + { id: "a4", title: "Slice", source: "OrcaSlicer", group: "Commands", mode: "simple" } +]; +var adv = ctx.searchActions(modePool, "advanced"); +assert.deepEqual(adv.map(function (a) { return a.id; }), ["a2", "a1"], + "a text match (a2) ranks above the mode-only setting (a1), and no expert/command leaks in"); +var expert = ctx.searchActions(modePool, "expert"); +assert.deepEqual(expert.map(function (a) { return a.id; }), ["a3"], "the expert keyword pulls in the expert setting"); +assert.deepEqual(ctx.searchActions(modePool, "developer"), [], "no developer settings means no mode extras"); +assert.equal(ctx.searchActions(modePool, "retraction")[0].id, "a3", + "a query with no mode keyword is unaffected by the mode union"); +assert.equal(ctx.searchActions([{ id: "both", title: "Advanced", source: "Quality", group: "", mode: "advanced" }], "advanced").length, + 1, "a setting that both matches text and requires the mode appears exactly once"); + +// actionHasWiki: the footer's wiki link/F1 path is offered only when the action carries a wiki flag. +assert.equal(ctx.actionHasWiki({ id: "x", wiki: true }), true, "a wiki-flagged setting offers the wiki action"); +assert.equal(ctx.actionHasWiki({ id: "x", wiki: false }), false, "a setting without a wiki path offers nothing"); +assert.equal(ctx.actionHasWiki({ id: "x" }), false, "a missing wiki field offers nothing"); +assert.equal(ctx.actionHasWiki(null), false, "no action selected offers nothing"); + +// actionHasDetail: the footer strip appears only when the highlighted action has a description or +// wiki link; selecting a plain command hides it. +assert.equal(ctx.actionHasDetail({ id: "a", desc: "Layer height" }), true, "a description shows the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", wiki: true }), true, "a wiki link shows the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "Layer height", wiki: true }), true, "both show the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "" }), false, "an empty description hides the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "", wiki: false }), false, "empty description and false wiki hide the footer"); +assert.equal(ctx.actionHasDetail({ id: "a" }), false, "an action with neither hides the footer"); +assert.equal(ctx.actionHasDetail(null), false, "no selected action hides the footer"); + +// detailToggleVisible: the expand/collapse arrow is offered only when there is a description to +// toggle. Collapse is a global preference, so the control stays for short tooltips too. +assert.equal(ctx.detailToggleVisible({ id: "a", desc: "Layer height" }), true, "a description offers the toggle"); +assert.equal(ctx.detailToggleVisible({ id: "a", desc: "" }), false, "an empty description offers no toggle"); +assert.equal(ctx.detailToggleVisible({ id: "a", wiki: true }), false, "a wiki-only action has nothing to collapse"); +assert.equal(ctx.detailToggleVisible({ id: "a" }), false, "an action with no description offers no toggle"); +assert.equal(ctx.detailToggleVisible(null), false, "no selected action offers no toggle"); + +// stateFromPayload: the footer expansion is a persisted global and defaults to expanded when the +// C++ payload omits it (first run / older config). +assert.equal(ctx.stateFromPayload({}).tooltipExpanded, true, "expansion defaults to true when absent"); +assert.equal(ctx.stateFromPayload({ tooltip_expanded: false }).tooltipExpanded, false, "a collapsed payload is honored"); +assert.equal(ctx.stateFromPayload({ tooltip_expanded: true }).tooltipExpanded, true, "an expanded payload is honored"); + +// resultCountText: a search counts the shown matches only ("Showing N actions"); the total is used +// solely for the empty-query count. +assert.equal(ctx.resultCountText(100, 3, "lay"), "Showing 3 actions", "a search reports the shown match count only"); +assert.equal(ctx.resultCountText(100, 100, ""), "100 actions", "an empty query reports the total"); + console.log("ok"); diff --git a/resources/web/dialog/SpeedDial/style.css b/resources/web/dialog/SpeedDial/style.css index 72de412f66..3aaeddb460 100644 --- a/resources/web/dialog/SpeedDial/style.css +++ b/resources/web/dialog/SpeedDial/style.css @@ -1,225 +1,549 @@ -* { box-sizing: border-box; } -html, body { margin: 0; } -body { - font-family: var(--orca-font, "Segoe UI", sans-serif); - font-size: 13px; - color: var(--text, var(--orca-fg, #1b1c1e)); - background: var(--bg, var(--orca-bg, #fff)); - overflow: hidden; - user-select: none; +* { + box-sizing: border-box; } + +html, +body { + margin: 0; +} + +body { + font-family: var(--orca-font, "Segoe UI", sans-serif); + font-size: 13px; + color: var(--text, var(--orca-fg, #1b1c1e)); + background: var(--bg, var(--orca-bg, #fff)); + overflow: hidden; + user-select: none; +} + .launcher { - display: flex; - flex-direction: column; - background: var(--panel, var(--orca-bg, #fff)); - border: 1px solid var(--border, var(--orca-border, #ddd)); - overflow: hidden; - /* why: no height cap here - the launcher reports its true natural height to C++, which + display: flex; + flex-direction: column; + background: var(--panel, var(--orca-bg, #fff)); + border: 1px solid var(--border, var(--orca-border, #ddd)); + border-radius: 7px; + overflow: hidden; + /* why: no height cap here - the launcher reports its true natural height to C++, which sizes the popup to match (HTML is source of truth). The list's own max-height is what bounds growth; capping the launcher would make the measurement circular. */ } + .fav-bar { - flex: 0 0 auto; - display: flex; - align-items: center; - gap: 8px; - padding: 9px 10px; - border-bottom: 1px solid var(--border, var(--orca-border, #ddd)); - overflow-x: auto; /* scroll horizontally once favourites overflow the row */ - scrollbar-width: thin; - /* why: keep scrollIntoView (arrow-nav) from scrolling the first/last tile flush to the edge, + flex: 0 0 auto; + display: flex; + align-items: center; + gap: 8px; + padding: 9px 10px; + border-bottom: 1px solid var(--border, var(--orca-border, #ddd)); + overflow-x: auto; + /* scroll horizontally once favourites overflow the row */ + scrollbar-width: thin; + /* why: keep scrollIntoView (arrow-nav) from scrolling the first/last tile flush to the edge, which would clip its selected outline. Matches the 10px horizontal padding. */ - scroll-padding-inline: 10px; + scroll-padding-inline: 10px; } -.fav-bar[hidden] { display: none; } + +.fav-bar[hidden] { + display: none; +} + /* Name of the selected favourite, above the bar; left-aligned to the tiles' 10px inset. */ -.fav-eyebrow { flex: 0 0 auto; padding: 8px 10px 0; } +.fav-eyebrow { + flex: 0 0 auto; + padding: 8px 10px 0; +} + .fav-tile { - flex: 0 0 auto; /* keep tiles full-size; don't shrink to fit - scroll instead */ - width: 30px; - height: 30px; - border: 0; - border-radius: 8px; - cursor: pointer; - color: hsl(var(--h) var(--speed-tile-text-s, 72%) var(--speed-tile-text-l, 38%)); - font-weight: 700; - /* why: mirror .tile centering - tileCode can be 2-3 chars (e.g. "EA1") on collision, and a - bare
Create
-
Confirm
+
Check for new printers
+
Confirm
Cancel
diff --git a/resources/web/homepage/css/home.css b/resources/web/homepage/css/home.css index 2cf5742747..950e330b86 100644 --- a/resources/web/homepage/css/home.css +++ b/resources/web/homepage/css/home.css @@ -716,7 +716,8 @@ body background-color: #E4E4E4; border-radius: 8px; width: 184px; - height: 184px; + height: 184px; + position: relative; } .FileItem img @@ -728,6 +729,19 @@ body object-fit: cover; } +.FileImg .FileLogoBadge +{ + position: absolute; + top: 8px; + left: 8px; + width: 26px; + height: 26px; + padding: 2px; + box-sizing: border-box; + background-color: rgba(255,255,255,0.85); + border-radius: 50%; +} + .FileName { white-space: nowrap; @@ -736,6 +750,35 @@ body word-break: break-all; } +.FileNamePack +{ + display: flex; + align-items: center; + min-width: 0; + overflow: hidden; +} + +.FileNamePack .FileName +{ + flex: 1 1 auto; + min-width: 0; +} + +.FilePublishedBadge +{ + flex: 0 0 auto; + margin-right: 4px; + padding: 0 4px; + height: 16px; + line-height: 16px; + font-size: 10px; + font-weight: 600; + color: #FFFFFF; + background-color: #009688; + border-radius: 2px; + white-space: nowrap; +} + .FileDate { color: #A8A8A8; diff --git a/resources/web/homepage/js/home.js b/resources/web/homepage/js/home.js index f07c6f10f5..aee0d8cd37 100644 --- a/resources/web/homepage/js/home.js +++ b/resources/web/homepage/js/home.js @@ -305,15 +305,19 @@ function ShowRecentFileList( pList ) let sImg=OneFile["image"] || sImages[sPath]; let sTime=OneFile['time']; let sName=OneFile['project_name']; + let sPublished=OneFile['published'] == '1'; sImages[sPath] = sImg; //let index=sPath.lastIndexOf('\\')>0?sPath.lastIndexOf('\\'):sPath.lastIndexOf('\/'); //let sShortName=sPath.substring(index+1,sPath.length); + let sBadge=sPublished? 'PUB':''; + let sLogoBadge=sPublished? '':''; + let TmpHtml='
'+ ''+ - '
No Image
'+ - '
'+sName+'
'+ + '
No Image'+sLogoBadge+'
'+ + '
'+sBadge+'
'+sName+'
'+ '
'+sTime+'
'+ '
'; diff --git a/resources/web/js/fuzzy-search.js b/resources/web/js/fuzzy-search.js index 9e00e40eae..22fa8491f9 100644 --- a/resources/web/js/fuzzy-search.js +++ b/resources/web/js/fuzzy-search.js @@ -7,6 +7,10 @@ // Fold per-character so matched offsets stay in ORIGINAL string coordinates (highlighting slices the // original text; a separately-folded string would desync offsets). function FoldChar(ch) { + // why: fast path - ASCII is already NFD-stable and diacritic-free, so the normalize/regex below are + // no-ops. This skip is the hot cost in the Speed Dial search (thousands of settings per keystroke). + if (ch.length === 1 && ch.charCodeAt(0) < 0x80) + return ch; return ch.normalize("NFD").replace(/\p{Diacritic}/gu, ""); // accents always folded } @@ -15,6 +19,74 @@ function Norm(ch, caseSensitive) { return caseSensitive ? folded : folded.toLowerCase(); // case-sensitivity is the only toggle } +// Pre-normalize a whole haystack with a length-preserving fold, so a caller can match it repeatedly +// against one cached string. One input UTF-16 code unit always maps to one output code unit, so +// indices stay aligned to the ORIGINAL text - the highlight ranges that FuzzyRangesNorm returns slice +// the original correctly. Iterate by UTF-16 code unit (not Array.from code point) to mirror +// FuzzyRanges' own indexing exactly. +function NormText(text, caseSensitive) { + const src = text || ""; + let out = ""; + for (let i = 0; i < src.length; i++) + out += NormStable(src[i], caseSensitive); + return out; +} + +// Length-preserving variant of Norm: NFD can expand a code unit (Hangul syllables become Jamo) or +// drop it (combining diacritics), and toLowerCase can expand one too (U+0130). Any of those would +// desync highlight offsets, so fall back to the original unit whenever the fold is not 1:1. +function NormStable(ch, caseSensitive) { + const folded = FoldChar(ch); + const stable = folded.length === 1 ? folded : ch; + if (caseSensitive) + return stable; + const lower = stable.toLowerCase(); + return lower.length === 1 ? lower : stable; +} + +// Match a PRE-normalized haystack against a PRE-normalized needle (both produced by NormText with the +// same caseSensitive flag). Skipping the per-character fold makes repeated matching (per keystroke over a +// cached pool) cheap. Returns ranges in original coordinates, or null on no match. +// Prefers the most-contiguous (smallest-span) occurrence over greedy-leftmost: a scattered match that +// spans a stray earlier character is worse than a tight run later, so "orient" against a normalized +// "auto-orient" returns [[5,11]] (the word) not [[3,4],[6,11]]. A fully contiguous run is the optimum +// and short-circuits early. +function FuzzyRangesNorm(haystackNorm, needleNorm) { + const t = haystackNorm || ""; + const needle = needleNorm || ""; + if (!needle) + return null; + const n = t.length, nl = needle.length; + let best = null; // {ranges, span, start} + for (let start = 0; start < n; start++) { + if (t[start] !== needle[0]) + continue; + let qi = 0; + const ranges = []; + let lastEnd = start; + for (let i = start; i < n && qi < nl; i++) { + if (t[i] === needle[qi]) { + const last = ranges[ranges.length - 1]; + if (last && last[1] === i) + last[1] = i + 1; + else + ranges.push([i, i + 1]); + lastEnd = i + 1; + qi++; + } + } + if (qi !== nl) + continue; + const span = lastEnd - start; + if (!best || span < best.span || (span === best.span && start < best.start)) { + best = { ranges, span, start }; + if (span === nl) + return ranges; // can't beat a fully contiguous run + } + } + return best ? best.ranges : null; +} + function EscapeRegExp(value) { return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } diff --git a/resources/web/js/fuzzy-search.test.js b/resources/web/js/fuzzy-search.test.js index 209045098e..92cbf1c9f8 100644 --- a/resources/web/js/fuzzy-search.test.js +++ b/resources/web/js/fuzzy-search.test.js @@ -5,7 +5,7 @@ const vm = require("vm"), assert = require("assert"), fs = require("fs"); const ctx = {}; vm.createContext(ctx); vm.runInContext(fs.readFileSync(__dirname + "/fuzzy-search.js", "utf8"), ctx); -const { FoldChar, Norm, EscapeRegExp, FuzzyRanges, WholeWordRanges } = ctx; +const { FoldChar, Norm, NormText, EscapeRegExp, FuzzyRanges, WholeWordRanges, FuzzyRangesNorm } = ctx; // FoldChar / Norm: accents fold, case only folds when case-insensitive. assert.equal(FoldChar("é"), "e"); @@ -34,4 +34,18 @@ assert.deepEqual(WholeWordRanges("a.b", "a", false), [[0, 1]]); // '.' is a assert.equal(EscapeRegExp("a.b*"), "a\\.b\\*"); assert.deepEqual(WholeWordRanges("c++ tool", "c", false), [[0, 1]]); // '+' would be a regex error unescaped +// FuzzyRangesNorm: prefers the most-contiguous (smallest-span) occurrence over greedy-leftmost, so a +// stray earlier character does not steal the highlight from a later tight word. +assert.deepEqual(FuzzyRangesNorm(NormText("Auto-Orient", false), NormText("orient", false)), [[5, 11]]); +// A contiguous run inside a larger word is also preferred over a scattered greedy pick. +assert.deepEqual(FuzzyRangesNorm(NormText("AutoOriented", false), NormText("orient", false)), [[4, 10]]); +assert.equal(FuzzyRangesNorm(NormText("Measure", false), NormText("xyz", false)), null); // no subsequence + +// NormText stays 1:1 with the original even when NFD expands (Hangul syllables) or drops (combining +// diacritics, U+0130) a code unit, so highlight ranges remain aligned to the original string. +assert.equal(NormText("각x", false).length, "각x".length); +assert.equal(NormText("e\u0301x", false).length, "e\u0301x".length); +assert.equal(NormText("\u0130x", false).length, "\u0130x".length); +assert.equal(FuzzyRangesNorm(NormText("각abcdeXfgh", false), NormText("X", false))[0][0], 6); + console.log("ok"); diff --git a/resources/web/model/index.html b/resources/web/model/index.html index 72feda0f5f..86776b6577 100644 --- a/resources/web/model/index.html +++ b/resources/web/model/index.html @@ -7,7 +7,6 @@ - @@ -18,6 +17,7 @@ + diff --git a/sandboxes/orca_dock_panel_plugin_any.py b/sandboxes/orca_dock_panel_plugin_any.py new file mode 100644 index 0000000000..514f6c3068 --- /dev/null +++ b/sandboxes/orca_dock_panel_plugin_any.py @@ -0,0 +1,146 @@ +# /// script +# requires-python = ">=3.12" +# +# [tool.orcaslicer.plugin] +# name = "Dock Panel Demo" +# description = "Opens a dockable panel beside the 3D view that lists the objects on the plate." +# author = "OrcaSlicer" +# version = "0.0.1" +# /// +"""Dock Panel Demo -- orca.host.ui.create_dock_panel(). + +Run it from the Plugins dialog. It opens an HTML panel docked on the right of the 3D view, in the +same dock area as the sidebar. Drag its caption to dock it on another side (or float it, where the +platform allows), hide it from the page and run the plugin again to bring it back, or close it with +its close button or from the page. + + page --orca.postMessage({command: 'refresh'})--> plugin.on_message() + page --orca.postMessage({command: 'hide'})--> plugin.on_message() -> panel.hide() + page --orca.close()--> panel closes, plugin.on_close() + plugin --panel.post({command: 'objects', ...})--> page (orca.onMessage) +""" +import orca + +PAGE = """ + + +

Objects on the plate

+

Docked beside the 3D view. Drag the caption to move it.

+ +
+ + + +
+ + + + +
NamePartsCopies
+

Waiting for the plugin...

+ + +""" + + +def plate_objects(): + try: + model = orca.host.model() + except RuntimeError as error: + return {"command": "objects", "error": str(error)} + return { + "command": "objects", + "objects": [ + {"name": obj.name or "(unnamed)", "volumes": obj.volume_count(), "instances": obj.instance_count()} + for obj in model.objects() + ], + } + + +class DockPanelDemo(orca.script.ScriptPluginCapabilityBase): + panel = None + + def get_name(self): + return "Dock Panel Demo" + + def execute(self): + # The capability instance lives as long as the plugin, so a second run finds the open panel. + if self.panel is not None and self.panel.is_open(): + self.panel.show() + return orca.ExecutionResult.success("Dock Panel Demo is already open.") + self.panel = orca.host.ui.create_dock_panel( + html=PAGE, + title="Dock Panel Demo", + width=320, + height=480, + on_message=self.on_message, + on_close=self.on_close, + dock="right", + ) + return orca.ExecutionResult.success("Dock Panel Demo opened.") + + # Called on the UI thread when the page posts. + def on_message(self, message): + command = (message or {}).get("command") + if command == "refresh": + self.panel.post(plate_objects()) + elif command == "hide": + self.panel.hide() + + def on_close(self): + self.panel = None + + +@orca.plugin +class DockPanelDemoPlugin(orca.base): + def register_capabilities(self): + orca.register_capability(DockPanelDemo) diff --git a/scripts/CAD/README.md b/scripts/CAD/README.md new file mode 100644 index 0000000000..861b77a976 --- /dev/null +++ b/scripts/CAD/README.md @@ -0,0 +1,53 @@ +# Design-tab scripts + +Everything here supports the parametric Design tab (`src/libslic3r/CAD/`, +`src/slic3r/GUI/CAD/`). Nothing here is needed to build or run OrcaSlicer — these +are the development and verification tools for that one feature. + +The verb in the name is the role: + +| | | +|---|---| +| `build-…` | produce a binary | +| `start-…` | bring something up and leave it running | +| `run-…` | run a suite and report pass/fail | +| `check-…` | one specific assertion, usually driving a live app | + +## Verification + +| Script | What it proves | Needs | +|---|---|---| +| `run-kernel-tests.sh` | The CAD kernel builds and the Catch2 `[CadDocument]` tags pass — every case builds a document, recomputes it and asserts on real geometry. **Exit 0 is the verification contract.** | Docker only. No display. | +| `run-all-checks.sh` | Every check below, in one command. The gate before pushing a Design-tab change. | Docker + the GUI container | +| `check-sketch-engine.py` | A ladder of 2D sketches of increasing complexity, judged on loop count, closure and void attribution rather than on area. | Kernel only | +| `check-sketch-engine-corpus.py` | The same ladder graded against a systematic sample of real drawings instead of shapes we chose. | Kernel + corpus | +| `check-gui-sketching.py` | The same profiles drawn the way a person draws them — synthetic mouse gestures and typed values. | Headless GUI | +| `check-gui-context-menu.py` | That right-click is the pivot of the design gesture, and adapts to what was clicked. | Headless GUI | +| `check-mcp-sketch.py` | The sketch layer driven over the MCP socket, asserting what decides whether a profile is buildable. | Headless GUI + `ORCA_CAD_MCP` | + +**`run-kernel-tests.sh` is the only one CI can run.** The rest need a live +application with an OpenGL canvas and synthetic input, which hosted runners do not +have. The kernel suite itself is already in CI by an ordinary route: the cases are +registered in `tests/libslic3r/CMakeLists.txt` under `if (SLIC3R_CAD)`, so they are +part of `libslic3r_tests` and run under `ctest` on every platform like any other +unit test. This script exists for the local loop, where it is a two-minute round +trip instead of a full application build. + +## Build and run + +| Script | Purpose | +|---|---| +| `build-gui.sh` | Build the GUI binary in a throwaway container, writing into the build-cache volume the long-lived GUI container reads. | +| `build-gui-incremental.sh` | Incremental build against the deps-baked image, for a fast edit/compile loop. | +| `start-headless-gui.sh` | Bring the app up on a headless X display (Xvfb + a window manager), ready to drive or attach to over VNC. | + +Two constraints that are not obvious and have each cost a session: + +- **Never build inside the GUI container.** Its baked source tree silently + reconfigures the shared build directory and this fork's targets vanish. +- **A window manager is required.** Without one, windows are never focused, and an + unfocused GTK app ignores synthetic keys — which looks exactly like a code bug. + +`docs/rig_build_traps.md` documents these and three more, with symptoms and exact +recovery commands. Read it before debugging a configure or link failure one of +these scripts reports. diff --git a/scripts/CAD/build-gui-incremental.sh b/scripts/CAD/build-gui-incremental.sh new file mode 100755 index 0000000000..539a21c973 --- /dev/null +++ b/scripts/CAD/build-gui-incremental.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +# Incremental slicer build against the orcacad-deps base image. +# +# The deps-baked image (built from scripts/Dockerfile.deps) carries the pinned +# dependencies at /OrcaSlicer/deps/build/destdir. This script mounts the LIVE source +# tree and resources over the baked copy so code/CMake edits apply immediately, and +# persists /OrcaSlicer/build in a named volume so ninja recompiles only what changed. +# +# Result: edit -> rebuild in seconds-to-minutes instead of a full Docker rebuild. +# +# Usage (run on the build host, e.g. behemoth, from anywhere): +# scripts/CAD/build-gui-incremental.sh +# IMAGE=orcacad-deps scripts/CAD/build-gui-incremental.sh +# +# On success the binary is inside the persistent volume at +# /OrcaSlicer/build/package/bin/orca-slicer (copy it out with a follow-up +# `docker run --rm -v orcacad_buildcache:/b alpine cp ...` or via this script's tail). +# Rig build traps already paid for once each (stale project, NLopt cache, pybind11, OCCT_LIBS, SLIC3R_CAD gate): docs/rig_build_traps.md +set -euo pipefail + +REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +# orcacad-deps, NOT snapmaker-deps: see the note in run-kernel-tests.sh — the wrong image +# fails at CMake configure, not at link time. +IMAGE="${IMAGE:-orcacad-deps}" +BUILD_VOL="${BUILD_VOL:-orcacad_buildcache}" + +echo "REPO=$REPO IMAGE=$IMAGE BUILD_VOL=$BUILD_VOL" + +# The root CMakeLists.txt and cmake/ must be mounted too, not taken from the baked image: +# they carry the build-time gates (e.g. SLIC3R_CAD -> add_definitions(-DSLIC3R_CAD)) that the +# mounted headers are compiled against. With a stale baked copy the gate silently stays off and +# the build fails with "class GLCanvas3D has no member named set_design_sketch_tool". +# +# build_linux.sh must be mounted for the same reason, and here the stale copy is guaranteed +# wrong rather than merely risky: orcacad-deps is layered on snapmaker-deps, so the baked script +# is the OTHER fork's and builds `--target Snapmaker_Orca`. This fork's target is `OrcaSlicer`, +# so without this mount configure succeeds and then ninja dies on "unknown target". +# scripts/ likewise: build_linux.sh's packaging step sources scripts/appimage_lib_policy.sh, +# which the baked Snapmaker tree does not have, so a fully successful link still exited +# non-zero with "missing AppImage helper" and the binary check never ran. + +# ---- OOM guard (2026-08-21) ------------------------------------------------------------- +# Two of these builds ran at once on 2026-08-21, each with ninja -j$(nproc)=16: ~36 cc1plus +# holding 42 GB of a 62 GB box -> global OOM at 21:05, a 2h28m kill storm, ssh unreachable, +# lightdm destroyed. Neither build produced a single object. scripts/CAD/build-gui.sh grew the +# bounds first; every script that starts a compile needs the same three, or the guard is only +# as strong as the script you happened not to use. +# flock — the lock path is SHARED with build-gui.sh and the other fork on purpose, so +# concurrent builds serialise instead of summing. +# -j — bounded parallelism; ~1.17 GB per cc1plus was the measured average. +# --memory — the actual guarantee: a runaway build dies in its own cgroup instead of taking +# the host down. --memory-swap equal to --memory forbids swap, which is what made +# ssh hang. +JOBS="${JOBS:-12}" +MEM="${MEM:-40g}" +LOCK=/tmp/orca-rig-build.lock + +exec 9>"$LOCK" +if ! flock -n 9; then + echo "another build holds $LOCK — waiting (this is the OOM guard, not a hang)" + flock 9 +fi + +docker run --rm \ + --memory="$MEM" --memory-swap="$MEM" \ + -v "$REPO/src":/OrcaSlicer/src \ + -v "$REPO/resources":/OrcaSlicer/resources \ + -v "$REPO/CMakeLists.txt":/OrcaSlicer/CMakeLists.txt \ + -v "$REPO/cmake":/OrcaSlicer/cmake \ + -v "$REPO/deps_src":/OrcaSlicer/deps_src \ + -v "$REPO/build_linux.sh":/OrcaSlicer/build_linux.sh \ + -v "$REPO/scripts":/OrcaSlicer/scripts \ + -v "$BUILD_VOL":/OrcaSlicer/build \ + "$IMAGE" \ + bash -lc "cd /OrcaSlicer && ./build_linux.sh -sr -j $JOBS" + +# src/CMakeLists.txt:151 renames the OrcaSlicer target's output to "orca-slicer" — not +# "snapmaker-orca", which is the other fork's binary name. +echo "=== build finished; checking for binary ===" +docker run --rm -v "$BUILD_VOL":/b "$IMAGE" \ + bash -lc 'ls -lh /b/package/bin/orca-slicer 2>/dev/null && file /b/package/bin/orca-slicer || echo "NO BINARY"' diff --git a/scripts/CAD/build-gui.sh b/scripts/CAD/build-gui.sh new file mode 100755 index 0000000000..0a1a86dd5c --- /dev/null +++ b/scripts/CAD/build-gui.sh @@ -0,0 +1,98 @@ +#!/usr/bin/env bash +# Rebuild the GUI binary the design rig launches — in a THROWAWAY container, writing into the +# same build-cache volume the rig's long-lived GUI container reads from. +# +# NEVER build inside the GUI container (snapmaker-gui / orcacad-gui). Its baked /OrcaSlicer tree +# is the Jun-13 Snapmaker-derived source, so a `cmake .` in there silently reconfigures the +# shared build dir as project(Snapmaker_Orca) and this fork's targets vanish. That is Trap 1 of +# five; all of them, with symptoms and exact recovery commands, are in docs/rig_build_traps.md. +# Read that file before debugging a configure or link failure this script reports. +# +# Usage: +# scripts/CAD/build-gui.sh # configure + build the fork's GUI target +# DRY_RUN=1 scripts/CAD/build-gui.sh # print the resolved fork identity and exit, no container +set -euo pipefail + +REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" + +# Fork identity is DERIVED from the repo, never hardcoded, so this file is byte-identical in +# both forks and cannot be mirrored into the wrong one. Pointing a fork at the other fork's +# image or volume is not a slow failure: with the wrong image CMake dies at configure, and with +# the wrong volume the two forks silently trade build artefacts. +PROJECT="$(sed -n 's/^project(\([A-Za-z_0-9]*\)).*/\1/p' "$REPO/CMakeLists.txt" | head -1)" +case "$PROJECT" in + Snapmaker_Orca) PREFIX=snapmaker; BIN=snapmaker-orca ;; + OrcaSlicer) PREFIX=orcacad; BIN=orca-slicer ;; + *) echo "FATAL: unrecognised project($PROJECT) in $REPO/CMakeLists.txt" >&2; exit 2 ;; +esac +TARGET="$PROJECT" +IMAGE="${PREFIX}-deps" +BUILD_VOL="${PREFIX}_buildcache" + +echo "REPO=$REPO PROJECT=$PROJECT IMAGE=$IMAGE BUILD_VOL=$BUILD_VOL TARGET=$TARGET BIN=$BIN" + +if [ -n "${DRY_RUN:-}" ]; then + echo "DRY_RUN: resolution only, no container started" + exit 0 +fi + +# Three memory bounds. On 2026-08-21 both forks ran this script at the same time, each with +# ninja -j$(nproc)=16: ~36 cc1plus holding 42 GB of a 62 GB box -> global OOM at 21:05, a +# 2h28m kill storm, ssh unreachable, lightdm destroyed, 2946 session kill events. Neither +# build produced a single object. The bounds, weakest to strongest: +# flock — the lock path is shared by both forks on purpose, so they SERIALISE instead of +# summing. Peak is one build's worth no matter who else starts one. +# -j12 — measured 1.17 GB average per cc1plus in the incident dump, so 12 in flight +# is ~14 GB typical and leaves the box usable. JOBS=n overrides. +# --memory — the actual guarantee. A runaway build hits its own cgroup limit and dies alone; +# the host never reaches global OOM again, whatever -j or flock do. +# --memory-swap equal to --memory forbids swap, which is what made ssh hang. +JOBS="${JOBS:-12}" +MEM="${MEM:-40g}" +LOCK=/tmp/orca-rig-build.lock + +exec 9>"$LOCK" +if ! flock -n 9; then + echo "another fork's build-gui holds $LOCK — waiting (this is the OOM guard, not a hang)" + flock 9 +fi + +# Every one of these mounts covers a trap, none is decorative: +# CMakeLists.txt + cmake/ carry the SLIC3R_CAD gate — inherit the baked copies and the cache +# says SLIC3R_CAD=ON while -DSLIC3R_CAD is never defined, so every #ifdef block compiles out. +# deps_src/ carries pybind11, which the image predates. +# src/, resources/, localization/, version.inc are the code under test. +rc=0 +docker run --rm \ + --memory="$MEM" --memory-swap="$MEM" \ + -v "$REPO/src":/OrcaSlicer/src \ + -v "$REPO/resources":/OrcaSlicer/resources \ + -v "$REPO/cmake":/OrcaSlicer/cmake \ + -v "$REPO/deps_src":/OrcaSlicer/deps_src \ + -v "$REPO/localization":/OrcaSlicer/localization \ + -v "$REPO/CMakeLists.txt":/OrcaSlicer/CMakeLists.txt \ + -v "$REPO/version.inc":/OrcaSlicer/version.inc \ + -v "$BUILD_VOL":/OrcaSlicer/build \ + "$IMAGE" bash -lc " + cd /OrcaSlicer/build || exit 1 + cmake . > /tmp/cfg.log 2>&1 || { echo 'CONFIGURE FAILED'; tail -25 /tmp/cfg.log; exit 1; } + # Twice, deliberately. src/libslic3r/CMakeLists.txt publishes OCCT_LIBS as CACHE INTERNAL + # at the END of its own configure, so a first pass after that list changes links the + # PREVIOUS one and drops TKBool/TKOffset — a wall of TopOpeBRepBuild undefined references + # that reads as a broken OCCT install and is not. Trap 4. + cmake . > /tmp/cfg2.log 2>&1 || { echo 'RECONFIGURE FAILED'; tail -25 /tmp/cfg2.log; exit 1; } + ninja -f build-Release.ninja -j$JOBS $TARGET > /tmp/bld.log 2>&1 + rc=\$? + echo \"EXIT=\$rc\" + grep -n 'error:' /tmp/bld.log | head -20 + tail -4 /tmp/bld.log + ls -la /OrcaSlicer/build/src/Release/$BIN 2>/dev/null + exit \$rc + " || rc=$? + +# A target-only build writes src/Release/, but this fork's start-headless-gui.sh may default BIN to the +# PACKAGED path that only build_linux.sh refreshes — launching with the default would then run a +# stale binary. Pass BIN explicitly. See docs/rig_build_traps.md. +echo "=== launch the rig on the binary just built ===" +echo " docker exec -e BIN=/OrcaSlicer/build/src/Release/$BIN ${PREFIX}-gui /OrcaSlicer/scripts/CAD/start-headless-gui.sh" +exit "$rc" diff --git a/scripts/CAD/check-gui-click-edit.py b/scripts/CAD/check-gui-click-edit.py new file mode 100755 index 0000000000..159bdb19f1 --- /dev/null +++ b/scripts/CAD/check-gui-click-edit.py @@ -0,0 +1,658 @@ +#!/usr/bin/env python3 +"""The click-edit contract: a value field that opens must accept what is TYPED into it. + +WHY THIS EXISTS SEPARATELY FROM check-gui-sketching.py. That ladder draws geometry and grades the +result, and to make its values land it calls focus_field() — one synthetic click INTO the field +before typing. Its own docstring says why: + + WITHOUT THIS THE TYPED VALUE IS SILENTLY DISCARDED. The field is shown and raised but the + window manager does not give it the keyboard, so xdotool's digits go to the canvas and Return + commits the value the field opened with — the pre-filled as-drawn number. + +That click is a workaround for a defect, and a suite that performs it can never see the defect +again. A user cannot be told to click the field first; when they do not, they get the as-drawn +number and report "the label value is not editable". So this ladder types IMMEDIATELY after the +field opens, exactly as a person does, and fails if the prefill is what gets committed. + +WHAT IT GRADES. The app emits one line per event under ORCA_CAD_UXTRACE=1: + + [UX] open title=Length prefill=154.76 + [UX] commit title=Length typed=80 value=80.0000 + [UX] refused title=Length typed=8O + [UX] cancel title=Length + +For every field the driver opens it asserts: a commit arrived, what the field received is what we +typed, the parsed value equals it, and it differs from the prefill. The last clause is the one +that matters — a field that is on screen but deaf commits its prefill, and every other signal +(the field is visible, a constraint is created, the solve succeeds) looks perfectly healthy. + + scripts/CAD/check-gui-click-edit.py --display :10 --bin build/src/Release/orca-slicer + +With --attach it drives an already-running app instead of launching one; the app must have been +started with ORCA_CAD_UXTRACE=1 and its stderr redirected to --trace. +Exit 0 = every field took what was typed. +""" +import argparse, json, os, re, shutil, signal, socket, subprocess, sys, tempfile, time + +AP = argparse.ArgumentParser() +AP.add_argument("--display", default=os.environ.get("DISPLAY", ":10")) +AP.add_argument("--bin", default="build/src/Release/orca-slicer") +AP.add_argument("--datadir", default="") +AP.add_argument("--trace", default="") +AP.add_argument("--sock", default="/tmp/mcp-uxcheck.sock", + help="the app's MCP socket: the oracle for whether a sketch is really open") +AP.add_argument("--attach", action="store_true", help="drive a running app; do not launch one") +AP.add_argument("--keep", action="store_true", help="leave the app running afterwards") +AP.add_argument("--no-defocus", action="store_true", + help="do NOT take focus off the field before typing (weakens the gate; see below)") +AP.add_argument("--seed-from", default=os.path.expanduser("~/.config/OrcaCAD/OrcaSlicer.conf"), + help="an existing OrcaSlicer.conf to copy presets/settings from") +A = AP.parse_args() + +DISP = A.display +TRACE = A.trace or os.path.join(tempfile.gettempdir(), "ux-click-edit.log") +_fail = 0 +_checks = 0 + + +_n = 0 + + +def call(method, **params): + """One MCP request over the app's unix socket. The socket is the only witness that cannot + lie about sketch state: the keytrace says a key ARRIVED, a screenshot says something is on + screen, and neither distinguishes an open sketch from sketch mode with the plane offer up.""" + global _n + _n += 1 + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(30) + s.connect(A.sock) + s.sendall((json.dumps({"jsonrpc": "2.0", "id": _n, "method": method, + "params": params}) + "\n").encode()) + buf = b"" + while b"\n" not in buf: + d = s.recv(65536) + if not d: + break + buf += d + r = json.loads(buf.decode().strip()) + if "error" in r: + raise RuntimeError(f"{method}: {r['error']['message']}") + return r["result"] + + +def try_call(method, **params): + try: + return call(method, **params) + except Exception: + return None + + +def sh(cmd): + # bash -c, NOT -lc: a login shell sources the profile on every xdotool call, and this driver + # makes hundreds. On a GNOME box that meant im-config running per call, thousands of journal + # lines, and a window poll slow enough to time out before the app had finished starting. + return subprocess.run(["bash", "-c", cmd], capture_output=True, text=True).stdout + + +def xdo(args): + sh(f"DISPLAY={DISP} xdotool {args}") + + +def key(k, pause=0.35, window=None): + xdo(f"key {'--window ' + str(window) + ' ' if window else ''}{k}") + time.sleep(pause) + + +def typ(s, pause=0.35, window=None): + # --clearmodifiers so a modifier left down by an earlier synthetic key cannot turn digits + # into something else; --delay 60 because ImGui reads one character per frame. + # + # `window` targets a specific window with XSendEvent instead of following the input focus. + # That is the whole gate: see type_into_open_field. + tgt = f"--window {window} " if window else "" + xdo(f"type {tgt}--clearmodifiers --delay 60 -- '{s}'") + time.sleep(pause) + + +def die(msg): + print(f"FATAL {msg}", file=sys.stderr) + sys.exit(2) + + +# ---------------------------------------------------------------- the app + +_proc = None + + +def seed_datadir(datadir): + """The Design tab does not exist unless enable_cad_feature is on, and it needs a RESTART. + + A fresh datadir has it off, so a driver that just points the app at an empty directory gets + Prepare/Preview/Device/Project, no Design tab, and every rung fails for a reason that has + nothing to do with what is being tested. Seed the flag before the first launch. + """ + os.makedirs(datadir, exist_ok=True) + conf = os.path.join(datadir, "OrcaSlicer.conf") + data = {} + if os.path.exists(A.seed_from): + try: + with open(A.seed_from) as f: + data = json.load(f) + except Exception: + data = {} + app = data.setdefault("app", {}) + app["enable_cad_feature"] = True + # Deterministic starting state for the rungs that follow: the bed drawn, loops welded as the + # ~90% case expects. A ladder whose result depends on the developer's own preferences is not + # a gate. + app["auto_close_sketch_loops"] = True + # SILENCE THE NETWORK PLUGIN PROMPT. Without this, GUI_App::post_init() re-raises "Bambu + # Network Plug-in Required" from an IDLE event — after any modal sweep this driver does at + # startup — and ShowModal() then runs a nested event loop. The app is alive, its window is + # there, and the MCP socket answers nothing: indistinguishable from a hang, and it was + # investigated as one, with gdb, twice. `installed_networking` false stops the whole + # networking-plugin path, so m_networking_need_update is never set and the dialog never + # exists to be swept. + app["installed_networking"] = False + with open(conf, "w") as f: + json.dump(data, f, indent=1) + for sub in ("user", "system", "presets", "vendor"): + src = os.path.join(os.path.dirname(A.seed_from), sub) + dst = os.path.join(datadir, sub) + if os.path.isdir(src) and not os.path.exists(dst): + shutil.copytree(src, dst) + + +def launch(): + global _proc + datadir = A.datadir or os.path.join(tempfile.gettempdir(), "orcacad-uxcheck") + seed_datadir(datadir) + env = dict(os.environ) + # WAYLAND_DISPLAY MUST GO, and GDK_BACKEND must say x11. GTK prefers Wayland whenever + # WAYLAND_DISPLAY is set and ignores DISPLAY entirely, so a driver launched from a systemd + # user unit (which inherits it) started the app on the DESKTOP session instead of the rig: + # the process was alive, `xdotool search` on the rig display found nothing, and the window + # was sitting on the user's own screen. Silent, and it drives a stray app at someone's face. + env.pop("WAYLAND_DISPLAY", None) + env.update(DISPLAY=DISP, GDK_BACKEND="x11", ORCA_CAD_UXTRACE="1", + LIBGL_ALWAYS_SOFTWARE="1", GALLIUM_DRIVER="llvmpipe", + # The rig's Xvfb has no input-method daemon, and a dead ibus context makes a + # GtkEntry drop every character while the app looks fine. It cannot affect the + # in-canvas field (ImGui needs no IM) but the app has other text fields, and a + # display full of IBUS warnings has cost a whole misdiagnosis before. + GTK_IM_MODULE="gtk-im-context-simple", XMODIFIERS="@im=none", + # The key tracer is this driver's only positive signal that a keystroke reached + # the Design panel at all. Without it "the field never opened" is indistinguishable + # from "we never got into sketch mode", and the first run of this ladder reported + # seven product failures that were really one driver racing a still-loading app. + ORCA_CAD_KEYTRACE="1", ORCA_CAD_MCP=A.sock, + SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt", + WEBKIT_DISABLE_DMABUF_RENDERER="1", WEBKIT_DISABLE_COMPOSITING_MODE="1") + if os.path.exists(A.sock): + os.unlink(A.sock) # a stale socket from a dead run answers nothing, slowly + log = open(TRACE, "wb") + _proc = subprocess.Popen([A.bin, "--datadir", datadir], env=env, + stdout=subprocess.DEVNULL, stderr=log) + for _ in range(120): + if win_id(): + return + time.sleep(1) + die("the app never showed a window on " + DISP) + + +def window_pid(w): + """_NET_WM_PID for a window, or 0. The property is how we tell a live app from its ghost.""" + out = sh(f"DISPLAY={DISP} xprop -id {w} _NET_WM_PID 2>/dev/null") + m = re.search(r"= *(\d+)", out) + return int(m.group(1)) if m else 0 + + +def pid_alive(pid): + return pid > 0 and os.path.isdir(f"/proc/{pid}") + + +def win_id(): + """The main window: OURS if we launched it, otherwise the biggest LIVE top-level. + + Two rules here, each paid for. + + By PID, not by size, whenever we launched the app. An X window outlives its client if the + connection is not torn down cleanly, and a killed OrcaSlicer can leave a full-screen ghost + mapped on the display. It answers geometry queries exactly like the real thing, it wins "the + biggest window" every time, and every synthetic keystroke sent to it goes nowhere. That is + indistinguishable, from the driver's side, from an app that ignores the keyboard — which is + the very defect this ladder exists to measure. One run reported the entire contract broken + while the real app sat beside the ghost, untouched. + + Never by title: a saved project renames the main window. + """ + if _proc is not None: + for w in sh(f"DISPLAY={DISP} xdotool search --pid {_proc.pid} --onlyvisible --name '.'").split(): + g = dict(l.split("=", 1) for l in + sh(f"DISPLAY={DISP} xdotool getwindowgeometry --shell {w}").strip().splitlines() + if "=" in l) + if "WIDTH" in g and int(g["WIDTH"]) * int(g["HEIGHT"]) > 400 * 400: + return (w, int(g["X"]), int(g["Y"]), int(g["WIDTH"]), int(g["HEIGHT"])) + return None + best = None + for w in sh(f"DISPLAY={DISP} xdotool search --onlyvisible --name '.'").split(): + g = dict(l.split("=", 1) for l in + sh(f"DISPLAY={DISP} xdotool getwindowgeometry --shell {w}").strip().splitlines() + if "=" in l) + if "WIDTH" not in g: + continue + if not pid_alive(window_pid(w)): # a ghost: no client is behind it any more + continue + a = int(g["WIDTH"]) * int(g["HEIGHT"]) + if a > 400 * 400 and (best is None or a > best[0]): + best = (a, w, int(g["X"]), int(g["Y"]), int(g["WIDTH"]), int(g["HEIGHT"])) + return best[1:] if best else None + + +_win = None + + +def win(): + global _win + if _win is None: + w = win_id() + if w is None: + die("no app window on " + DISP) + sh(f"DISPLAY={DISP} xdotool windowactivate --sync {w[0]}") + sh(f"DISPLAY={DISP} xdotool windowsize {w[0]} 1920 1080") + sh(f"DISPLAY={DISP} xdotool windowmove {w[0]} 0 0") + time.sleep(1.0) + _win = (w[0], 0, 0, 1920, 1080) + return _win + + +def click(px, py, pause=0.5, btn=1): + _, X, Y, _, _ = win() + xdo(f"mousemove {X+int(px)} {Y+int(py)} click --delay 120 {btn}") + time.sleep(pause) + + +def visible_windows(): + """(id, name, w, h) for every MAPPED top-level, main window included. + + `--onlyvisible` is what makes this usable. Without it xdotool also returns the app's unmapped + helper windows — a 10x10 and a 200x200 that exist for the whole session — and a caller that + tries to reason about "extra windows" from that list is reasoning about furniture. + """ + out = [] + for w in sh(f"DISPLAY={DISP} xdotool search --onlyvisible --name '.'").split(): + g = dict(l.split("=", 1) for l in + sh(f"DISPLAY={DISP} xdotool getwindowgeometry --shell {w}").strip().splitlines() + if "=" in l) + if "WIDTH" not in g: + continue + if not pid_alive(window_pid(w)): # see win_id(): a ghost cannot be closed, only ignored + continue + n = sh(f"DISPLAY={DISP} xdotool getwindowname {w}").strip() + out.append((w, n, int(g["WIDTH"]), int(g["HEIGHT"]))) + return out + + +def dismiss_modals(timeout=30): + """Close every modal over the main window, and PROVE none is left. + + This is the rung that decides whether any of the others mean anything. A fresh datadir opens + "Bambu Network Plug-in Required" — 440x259, centred at 742,450 — which sits exactly on top of + the point every drawing gesture in TOOLS starts from. The whole ladder then reports eleven + product failures, all of them the driver clicking a dialog. + + The old version pressed Escape and moved on. This dialog ignores Escape, so it "dismissed" + nothing and said so to no one; the run that found this was red for a reason that had nothing + to do with the contract under test. Escape is still tried first because it is the gentlest + thing that works on the wizard, then WM_DELETE_WINDOW, and then the function asserts what it + was supposed to have achieved instead of assuming it. + """ + # NEVER run without knowing which window to spare. The first version took `keep = main[0] if + # main else None`, so a win_id() that raced the app's mapping made keep None and every visible + # window a modal — this function then sent WM_DELETE to the app's own main window. The app + # survived as a process, printed "GdkWindow unexpectedly destroyed", and answered nothing + # afterwards; the ladder reported "no sketch opened" for 180s. Losing the main window is not a + # state to recover from silently. + deadline = time.time() + timeout + keep = None + while keep is None and time.time() < deadline: + main = win_id() + keep = main[0] if main else None + if keep is None: + time.sleep(0.5) + if keep is None: + die(f"no main window to protect after {timeout}s — refusing to close anything") + scr = sh(f"DISPLAY={DISP} xdotool getdisplaygeometry").split() + full = int(scr[0]) * int(scr[1]) if len(scr) == 2 else 1920 * 1080 + while time.time() < deadline: + # A modal is small. Anything covering half the screen is the app, whatever id win_id() + # happened to return this instant — a second belt on the rule above, because the cost of + # being wrong here is an app that looks alive and answers nothing. + extra = [x for x in visible_windows() if x[0] != keep and x[2] * x[3] < full * 0.5] + if not extra: + return + for (w, n, _, _) in extra: + sh(f"DISPLAY={DISP} xdotool windowactivate {w}") + time.sleep(0.4) + key("Escape", 0.4) + if any(x[0] == w for x in visible_windows()): + sh(f"DISPLAY={DISP} xdotool windowclose {w}") + time.sleep(0.6) + time.sleep(0.5) + left = [f"{n!r} ({w}x{h})" for (i, n, w, h) in visible_windows() + if i != keep and w * h < full * 0.5] + die("a modal is still covering the canvas after " + str(timeout) + "s: " + ", ".join(left) + + " — every drawing gesture would land in it, so nothing below this line could be trusted") + + +def dismiss_first_run(): + dismiss_modals() + + +# ---------------------------------------------------------------- the trace + +def trace_lines(): + try: + with open(TRACE, "r", errors="replace") as f: + return [l.strip() for l in f if l.startswith("[UX] ")] + except OSError: + return [] + + +def trace_mark(): + return len(trace_lines()) + + +def parse(line): + m = re.match(r"\[UX\] (\w+) title=(.*?) (.*)$", line) + if not m: + return None + ev, title, rest = m.group(1), m.group(2), m.group(3) + kv = dict(re.findall(r"(\w+)=(\S*)", rest)) + return ev, title, kv + + +# ---------------------------------------------------------------- grading + +def check(cond, what): + """Returns the verdict so a caller can abandon a rung whose precondition failed.""" + global _fail, _checks + _checks += 1 + if cond: + print(f" ok {what}") + else: + print(f" FAIL {what}", file=sys.stderr) + _fail += 1 + return bool(cond) + + +def type_into_open_field(value, mark): + """Type `value` into whatever field is open, WITHOUT clicking it first, and grade the pair. + + No click: the click is the workaround this ladder exists to refuse. If the field cannot take + the keyboard on its own, `typed` will be the prefill and this fails — which is the report. + """ + # POLL for the field. It opens from a CallAfter that runs after a re-solve, so on llvmpipe it + # is simply not there yet when a fast driver looks — and "no field opened" is the same message + # whether the product never opened one or the driver asked too early. Wait, then decide. + opens = [] + deadline = time.time() + 8.0 + while time.time() < deadline: + opens = [e for e in (parse(l) for l in trace_lines()[mark:]) if e and e[0] == "open"] + if opens: + break + time.sleep(0.25) + if not opens: + check(False, f"a value field opened (nothing did; cannot type {value})") + return mark + title = opens[-1][1] + prefill = opens[-1][2].get("prefill", "") + m2 = trace_mark() + # TYPE NORMALLY. NOTHING TO DEFOCUS ANY MORE. + # + # The value field is drawn INSIDE the GL canvas by ImGui, so it is not a window: there is no + # second toplevel for a window manager to grant or refuse the keyboard, and the keystrokes go + # to the app's one window exactly as a person's would. That is the entire point of the design + # — the WM has no say — and it is why this ladder no longer tries to manufacture the failing + # condition. + # + # When the field WAS a floating wxFrame, this spot held two attempts to reproduce + # "field open, keyboard elsewhere", and both are recorded here so neither is tried again: + # - XSetInputFocus onto the main window (`xdotool windowfocus`): the field's own re-focus + # CallAfter wins the race every time; four retries all lost, and the ladder passed twice + # against a binary with the fix compiled out. + # - XSendEvent at the main window (`xdotool type --window`): GTK discards synthetic key + # events, so NEITHER build received anything and every run was red regardless of the code. + # A run that used the second of those is what produced "the app never saw a digit" — a + # property of xdotool, not of the product. + # + # For the in-canvas field the honest gate is simply: type, and see whether the value the app + # commits is the value that was typed. + diag = sh(f"DISPLAY={DISP} xdotool getwindowfocus").strip() + typ(str(value), 0.4) + key("Return", 0.9) + after, commits, refused, commit_at = [], [], [], None + deadline = time.time() + 5.0 + while time.time() < deadline: + after = [parse(l) for l in trace_lines()[m2:]] + commits = [(i, e) for i, e in enumerate(after) if e and e[0] == "commit"] + refused = [e for e in after if e and e[0] == "refused"] + if commits: + commit_at = m2 + commits[-1][0] + commits = [e for _, e in commits] + if commits or refused: + break + time.sleep(0.25) + if refused and not commits: + check(False, f"{title}: field REFUSED {value!r} (typed={refused[-1][2].get('typed')!r})") + key("Escape", 0.5) + return trace_mark() + if not commits: + check(False, f"{title}: typed {value} but nothing committed — the field took no keys") + key("Escape", 0.5) + return trace_mark() + typed = commits[-1][2].get("typed", "") + got = commits[-1][2].get("value", "") + check(typed == str(value), + f"{title}: field received what was typed (typed={typed!r} wanted={value!r}" + f"{' <-- it committed its PREFILL, so it never got the keyboard' if typed == prefill else ''})") + # A value that will not parse is a FAILED CHECK, never an exception. An unguarded float() + # here met a locale-formatted "61,0000" and took the whole run down immediately after the + # first check in the ladder's history had passed — the seven rungs below it were never tried + # and the report read as a total failure. + try: + ok_val = abs(float(got) - float(value)) < 1e-6 + except (TypeError, ValueError): + ok_val = False + check(ok_val, f"{title}: committed value is {got!r} (wanted {value})") + check(str(value) != prefill, f"{title}: the test value differs from the prefill {prefill!r}") + # RESUME JUST AFTER THE COMMIT, not at the end of the trace. A queued chain opens its next + # field from the commit callback, so by the time trace_mark() is read here that "open" line + # is already written — and the next call, searching only after this mark, never sees it. The + # rectangle's Height, the slot's Radius and the label reopen all failed as "nothing did" + # while the trace plainly showed the field open and waiting. + return (commit_at + 1) if commit_at is not None else trace_mark() + + +# ---------------------------------------------------------------- the ladder + +def enter_sketch(timeout=180): + """Open a real sketch on a real plane, and PROVE it with the socket before drawing anything. + + THE SEQUENCE MATTERS AND IT IS NOT OBVIOUS. Shift+S enters sketch MODE and pops the plane + offer; the offer must be dismissed; and the plane itself is chosen by clicking it in the + viewport BEFORE Shift+S. check-gui-sketching.py has always done all four steps. This ladder + did two of them — Design tab, then Shift+S — and went straight to the tool letters. + + That intermediate state is the trap. `is_sketching` reads 1, every tool key is accepted and + traced, and not one click draws anything, because there is no plane under them. The ladder + then reports eleven product failures, all of them "a value field opened (nothing did)", and + every one is the driver's. Two whole runs were spent on it. + + So the gate is the ORACLE, not the keytrace: sketch_describe answers only when a sketch is + genuinely open. Waiting on a mode flag is what allowed the wrong state to pass for the right + one in the first place. + """ + deadline = time.time() + timeout + while time.time() < deadline: + click(132, 53) # Design tab + time.sleep(2.0) + dismiss_modals() + click(*PLANE_PX) # pick the plane IN THE VIEWPORT — before Shift+S + key("shift+s", 1.0) + key("Escape", 0.5) # entering sketch mode pops the offer; dismiss it + key("p", 0.6) # any sketch tool starts the session on that plane + if try_call("sketch_describe") is not None: + # NO Escape here. Every rung already opens with one to drop whatever tool the last + # one left armed, and Escape in the Design tab walks a LIFO: first press drops the + # armed tool, second LEAVES THE SKETCH. Pressing it here made that second press the + # rung's own, so the ladder exited the sketch before drawing anything and then + # reported all eleven checks failed with "nothing opened" — the tools were arming + # into an empty Feature-mode document. + return + die("no sketch opened after plane click + Shift+S within " + f"{timeout}s — sketch_describe never answered on {A.sock} (trace {TRACE})") + + +# tool key, the clicks that draw it, and one distinct value per queued field. The values are +# deliberately nothing like the as-drawn size, so a committed prefill cannot coincide with them. +# Where the plane label sits in the viewport before a sketch is open. Same constant the gesture +# ladder uses; it is a label on the 3D view, not a widget, so it moves only if the camera does. +PLANE_PX = (913, 359) + +# Every coordinate below stays inside 1000..1400 x 500..760 — the box check-gui-sketching.py's +# calibration probes land four Points in, i.e. the region PROVEN to be live canvas on a 1920x1080 +# window. Earlier values started at x=950, which is left of that box and also, on a fresh datadir, +# underneath the "Bambu Network Plug-in Required" modal. +TOOLS = [ + ("L", "Line", [(1030, 540), (1360, 540)], [61]), + ("R", "Rectangle", [(1030, 540), (1360, 730)], [62, 43]), + ("C", "Circle", [(1180, 620), (1330, 620)], [64]), + ("S", "Slot", [(1030, 580), (1300, 580), (1300, 640)], [66]), + ("G", "Polygon", [(1180, 620), (1320, 620)], [67]), + ("E", "Ellipse", [(1180, 620), (1370, 620), (1180, 720)], [68]), + ("A", "Arc", [(1040, 660), (1340, 660), (1190, 560)], [69]), +] + + +def rung_tool(k, name, clicks, values): + print(f" {name}") + key("Escape", 0.6) # back to Select, whatever the last tool left armed + # Every rung re-establishes that a sketch is STILL open. One stray Escape too many leaves it, + # and from then on every tool arms into a Feature-mode document that cannot open a value + # field — which the checks below report as eleven independent product failures. + if try_call("sketch_describe") is None: + die(f"{name}: the sketch is no longer open before this rung — an earlier rung left it") + key(k, 0.8) + # MARK BEFORE THE CLICKS, not after. The field is opened from a CallAfter scheduled by the + # render that follows the last click, so it can already be open by the time a mark taken + # afterwards is read — and type_into_open_field, which only looks at events AFTER its mark, + # then finds none and reports "a value field opened (nothing did)" for a field that is on + # screen, open, and waiting. That message accused the product of the exact defect the ladder + # exists to detect, from a bug in the ladder's own bookkeeping. + mark = trace_mark() + for (x, y) in clicks: + click(x, y) + for v in values: + mark = type_into_open_field(v, mark) + + +def rung_rounded_rect(): + """The shape the user actually reported: a ROUNDED rectangle, Width -> Height -> Radius. + + It has no keyboard shortcut — the rectangle family binds R to CornerRect and leaves the other + modes in the toolbar flyout — so TOOLS above cannot reach it and the whole three-step chain + went untested. `run_verb` arms it the way the offer menu does. + + NOTE the id: the OFFER verb is `sk_rect_rounded`; `design_rect_rounded` is the ACTION name and + run_verb throws on it, leaving the tool as Select. A run that misses that draws nothing and + still reaches its assertions, so arm-and-verify rather than arm-and-hope. + """ + print(" Rounded rectangle") + key("Escape", 0.6) + tool = None + for _ in range(8): + try_call("run_verb", verb="sk_rect_rounded") + time.sleep(0.8) + tool = (try_call("sketch_describe") or {}).get("tool") + if tool == "rect_rounded": + break + if not check(tool == "rect_rounded", f"the rounded-rectangle tool armed (tool={tool!r})"): + return + mark = trace_mark() + click(1030, 540); click(1330, 700); click(1300, 660) # corners, then the radius point + for v in (63, 41, 7): + mark = type_into_open_field(v, mark) + + +def rung_label_click(): + """The user's own report: click an existing dimension label and type a new value into it. + + KEEP THE SHAPE AS DRAWN. An earlier version committed 55 and 47 into the queued chain first, + which resized the rectangle — and then clicked the pixel where the label had been before the + resize. It missed, every time, and reported the reopen broken. The shape's on-screen position + is only predictable if nothing has moved it, so Escape the chain instead: the rectangle stays + exactly between the two corners we clicked. + + FIND THE LABEL, do not assume its offset. A dimension label is drawn beside its edge at an + offset that depends on zoom and text metrics, so a single hardcoded pixel is a guess that + silently becomes wrong. Walk a short band across the top edge instead and stop at the first + click that opens a field; if none of them does, that is a real failure and it says so. + """ + print(" label click-to-edit") + key("Escape", 0.6) # Select mode + key("R", 0.8) + click(1020, 530) + click(1350, 740) + time.sleep(1.5) + key("Escape", 0.8) # keep as drawn: abandon the queued value chain + time.sleep(0.8) + key("Escape", 0.6) # back to Select so a click picks rather than draws + + mid_x, top_y = (1020 + 1350) // 2, 530 + candidates = [(mid_x, top_y + dy) for dy in (-26, -20, -14, -8, 0, 8, 14)] + for (cx, cy) in candidates: + mark = trace_mark() + click(cx, cy) + deadline = time.time() + 2.0 + while time.time() < deadline: + if [e for e in (parse(l) for l in trace_lines()[mark:]) if e and e[0] == "open"]: + check(True, f"clicking a dimension label reopened its value field (at {cx},{cy})") + type_into_open_field(71, mark) + return + time.sleep(0.2) + check(False, "clicking a dimension label reopened its value field " + f"(tried {len(candidates)} points across the top edge at x={mid_x})") + + +def main(): + if not A.attach: + if not os.path.exists(A.bin): + die(f"no binary at {A.bin}") + open(TRACE, "w").close() + launch() + dismiss_first_run() + win() + print(f"click-edit ladder on {DISP}, trace {TRACE}") + enter_sketch() + for (k, name, clicks, values) in TOOLS: + rung_tool(k, name, clicks, values) + rung_rounded_rect() + rung_label_click() + print() + if _fail: + print(f"CLICK-EDIT LADDER FAILED — {_fail} of {_checks} checks", file=sys.stderr) + else: + print(f"CLICK-EDIT LADDER HELD — {_checks} checks") + if _proc is not None and not A.keep: + _proc.send_signal(signal.SIGTERM) + try: + _proc.wait(20) + except subprocess.TimeoutExpired: + _proc.kill() + return 1 if _fail else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/CAD/check-gui-context-menu.py b/scripts/CAD/check-gui-context-menu.py new file mode 100644 index 0000000000..28e404ecf0 --- /dev/null +++ b/scripts/CAD/check-gui-context-menu.py @@ -0,0 +1,1218 @@ +#!/usr/bin/env python3 +"""The OFFER ladder: prove that right-click is the pivot, and that it adapts to what was clicked. + +The gesture ladder (scripts/CAD/check-gui-sketching.py) proved the TARGET — a complex closed profile, precise +in vertices, lengths, arcs and symmetry, with its voids correctly attributed. It proved it by +arming every tool with a letter key. That leaves the goal's own MECHANISM untested: the design +logic pivots on right-click, and the verbs offered are supposed to adapt to the element under the +cursor. Half the vocabulary is only reachable that way — 47 of 86 Design-tab verbs have a GUI +action and no shortcut, so a key-driven ladder cannot reach them at all. + +This ladder drives the menu. Nothing here is asserted from pixels: + + WHAT WAS CLICKED -> the offer's own [OFFER] trace, emitted by show_offer_menu from the same + loop that builds the rows (ORCA_CAD_KEYTRACE). It cannot drift from what + the user is shown, which a hand-written expectation list would. + WHAT IS OFFERED -> the same trace, compared against DesignOffer.hpp parsed independently. + "The menu shows exactly the verbs the table says apply here" is a + property; a copied list of row names is a transcription. + WHAT IT PRODUCED -> the MCP socket, read-only, exactly as in the gesture ladder. + +Run inside the rig container, with the app launched under ORCA_CAD_KEYTRACE=1: + + docker exec orcacad-gui python3 /OrcaSlicer/scripts/CAD/check-gui-context-menu.py [rung ...] +""" +import importlib.util +import math +import os +import re +import sys +import time + +HERE = os.path.dirname(os.path.abspath(__file__)) + +# The gesture ladder owns the hand and the eye: the homography per sketch, the window lookup by +# class, the synthetic click, the typed value, the socket. Importing it is the only way those +# stay one implementation — a second copy would drift the first time a rig detail moved. +_spec = importlib.util.spec_from_file_location("gui_ladder", os.path.join(HERE, "check-gui-sketching.py")) +G = importlib.util.module_from_spec(_spec) +_spec.loader.exec_module(G) + +LOG = os.environ.get("ORCA_CAD_GUI_LOG", "/tmp/gui-session.log") + +# The rig container's /OrcaSlicer is the image's own baked source tree, not this checkout, so the +# generated header is not where a repo-relative path expects it. Look in both places and say which +# one was read — a ladder that silently graded against the WRONG table would be worse than one +# that refuses to start. +HEADER_CANDIDATES = [os.environ.get("ORCA_CAD_OFFER_HPP", ""), + os.path.join(HERE, "..", "src", "slic3r", "GUI", "CAD", "DesignOffer.hpp"), + os.path.join(HERE, "DesignOffer.hpp")] + +# OfferSel, in the order the generated enum declares it. The trace reports the integer; a test +# that printed "kind=16" and expected the reader to know what that is would be half a test. +SEL = ["None", "FacePlanar", "FaceCyl", "FaceOther", "EdgeStr", "EdgeCirc", "Vertex", + "BodySolid", "BodySheet", "Bodies2", "DatumPlane", "DatumAxis", "CoordSys", "Art", + "SkLoop", "SkNone", "SkLine", "SkArc", "SkPoint", "Sk2Ent"] + + +# ---------------------------------------------------------------- the table, parsed + +def load_table(): + """Every verb in DesignOffer.hpp, as dicts. The independent half of the comparison. + + Parsed from the generated header rather than from tool_atlas.json on purpose: the header is + what the binary was compiled from, and the two have been out of step before (ziam, + where regenerating the header silently dropped the Constrain row). + """ + path = next((p for p in HEADER_CANDIDATES if p and os.path.exists(p)), None) + if path is None: + raise SystemExit("no DesignOffer.hpp found; set ORCA_CAD_OFFER_HPP or copy it beside " + "this script (tried: " + ", ".join(filter(None, HEADER_CANDIDATES)) + ")") + print(f"offer table: {os.path.realpath(path)}") + src = open(path).read() + body = src[src.index("kOfferVerbs[]"):] + body = body[:body.index("\n};")] + out = [] + for line in body.splitlines(): + line = line.strip() + if not line.startswith('{"'): + continue + # id, name, row, key, action, refusal, accepts, need_bodies, need_sketches, need_sheet, + # sketch_mode, family, ... — split on top-level commas, respecting quotes. + f, cur, q, esc = [], "", False, False + for ch in line[1:]: + if esc: + cur += ch; esc = False; continue + if ch == "\\": + cur += ch; esc = True; continue + if ch == '"': + q = not q + if ch == "," and not q: + f.append(cur.strip()); cur = ""; continue + if ch == "}" and not q: + break + cur += ch + f.append(cur.strip()) + if len(f) < 12: + continue + lit = lambda s: None if s == "nullptr" else s.strip('"') + out.append({"id": lit(f[0]), "name": lit(f[1]), "row": int(f[2]), "key": lit(f[3]), + "action": lit(f[4]), "accepts": int(f[6].rstrip("u"), 0), + "need_bodies": int(f[7]), "need_sketches": int(f[8]), + "need_sheet": f[9] == "true", "sketch_mode": f[10] == "true", + "family": lit(f[11])}) + return out + + +TABLE = load_table() + + +def predicted(kind, sketching, bodies=0, sketches=0, sheet=False): + """The verbs show_offer_menu should list for this selection — the table's own answer. + + Mirrors the `applies` lambda and the sketch_mode gate in DesignPanel::show_offer_menu. If the + two ever disagree, one of them is the bug; this ladder says which selection exposed it. + """ + bit = 1 << kind + return [v["id"] for v in TABLE + if v["sketch_mode"] == sketching and (v["accepts"] & bit) + and v["need_bodies"] <= bodies and v["need_sketches"] <= sketches + and (not v["need_sheet"] or sheet)] + + +# ---------------------------------------------------------------- the trace, read back + +def log_mark(): + """Where the log ends now, so the next read sees only this gesture's lines.""" + try: + return os.path.getsize(LOG) + except OSError: + return 0 + + +def log_since(mark): + with open(LOG, "rb") as fh: + fh.seek(mark) + return fh.read().decode("utf-8", "replace") + + +class Offer: + """One opening of the offer menu, as the app described it while building the rows.""" + + def __init__(self, text): + self.kind = None + self.sketching = None + self.entries = [] # top level, in order: dicts with label/enabled/verbs + self.verbs = [] # every live verb id, in menu order + for m in re.finditer(r"^\[OFFER\] (.*)$", text, re.M): + self._line(m.group(1)) + + def _line(self, s): + head = re.match(r"open kind=(\d+) sketching=(\d+) bodies=(\d+)", s) + if head: + self.kind = int(head.group(1)) + self.sketching = head.group(2) == "1" + self.entries = [] + self.verbs = [] + return + dis = re.match(r"row=(\d+) (.*?) DISABLED \((.*)\)$", s) + if dis: + self.entries.append({"row": int(dis.group(1)), "label": dis.group(2), + "enabled": False, "kids": [], "why": dis.group(3)}) + return + one = re.match(r"row=(\d+) (.*?) -> (\S+)(?: \(no GUI route\))?$", s) + if one: + routed = "(no GUI route)" not in s + self.entries.append({"row": int(one.group(1)), "label": one.group(2), + "enabled": routed, "kids": [], "verb": one.group(3)}) + self.verbs.append(one.group(3)) + return + sub = re.match(r"row=(\d+) (.*?) > (.*)$", s) + if sub: + row, label, rest = int(sub.group(1)), sub.group(2), sub.group(3) + routed = "(no GUI route)" not in rest + rest = rest.replace(" (no GUI route)", "") + fam, vid = (rest.split(" > ", 1) + [None])[:2] if " > " in rest else (None, rest) + if not self.entries or self.entries[-1]["row"] != row or "verb" in self.entries[-1]: + self.entries.append({"row": row, "label": label, "enabled": True, "kids": []}) + self.entries[-1]["kids"].append({"family": fam, "verb": vid, "enabled": routed}) + self.verbs.append(vid) + return + + def kind_name(self): + return SEL[self.kind] if self.kind is not None and self.kind < len(SEL) else str(self.kind) + + def path_to(self, verb): + """Keyboard path to a verb: how many Downs at each level, top level first. + + GTK skips insensitive items on arrow navigation, so the count is over ENABLED entries + only — which is exactly why the trace records the enabled state per row instead of the + ladder assuming every row is live. + """ + n = 0 + for e in self.entries: + if not e["enabled"]: + continue + n += 1 + if e.get("verb") == verb: + return [n] + if e["kids"]: + # Families become a nested submenu at the position of their first member. + pos, seen = 0, [] + for k in e["kids"]: + if k["family"]: + if k["family"] not in seen: + seen.append(k["family"]) + pos += 1 + fam_pos = pos + if k["verb"] == verb: + inner = [x for x in e["kids"] if x["family"] == k["family"]] + j = sum(1 for x in inner[:inner.index(k) + 1] if x["enabled"]) + return [n, fam_pos, j] + continue + if not k["enabled"]: + continue + pos += 1 + if k["verb"] == verb: + return [n, pos] + return None + + +def open_offer(X=None, Y=None, pause=1.2): + """Right-click (on the plane point given, or wherever the cursor is) and read the offer back. + + The menu is modal — PopupMenu blocks the main thread — so no socket call may be made between + this and choose()/dismiss(). Every assertion about the menu comes from the trace. + """ + mark = log_mark() + if X is None: + G.xdo("click --delay 120 3") + else: + G.clickmm(X, Y, pause=0.5, btn=3) + time.sleep(pause) + return Offer(log_since(mark)) + + +def choose(offer, verb): + """Walk the open menu to a verb with the keyboard and activate it.""" + path = offer.path_to(verb) + if path is None: + G.die(f"{verb} is not in the offer (kind={offer.kind_name()}, has {offer.verbs})") + for level, downs in enumerate(path): + # At the top level nothing is highlighted when the menu pops, so the first Down lands on + # entry 1. Inside a submenu GTK has ALREADY highlighted its first item as part of opening + # it, so reaching entry k takes k-1 more. Getting this wrong is silent: the walk activates + # a neighbouring verb and the rung grades a shape nobody asked for — the first run of this + # rung drew a circle of area 45238.93 and called it a rectangle. + for _ in range(downs if level == 0 else downs - 1): + G.key("Down", 0.12) + if level < len(path) - 1: + G.key("Right", 0.35) # open the submenu; its first item is now highlighted + G.key("Return", 0.9) + + +def dismiss(offer=None): + """Escape ONLY when a menu is really open. + + A stray Escape on the canvas is not harmless: with no tool armed and no points down, the + sketch's layered exit reads it as "leave the sketch", and the next socket call answers + "no sketch is open" three rungs from where the mistake was made. + """ + if offer is not None and offer.kind is None: + return + G.key("Escape", 0.5) + + +def menu_windows(): + """X windows that are override-redirect popups — evidence the menu really opened.""" + out = [] + for w in G.sh(f"DISPLAY={G.DISP} xdotool search --class '.'").split(): + g = G.sh(f"DISPLAY={G.DISP} xdotool getwindowgeometry --shell {w}") + d = dict(l.split("=", 1) for l in g.strip().splitlines() if "=" in l) + if "WIDTH" in d and 60 < int(d["WIDTH"]) < 700 and 40 < int(d["HEIGHT"]) < 900: + out.append(w) + return out + + +# ---------------------------------------------------------------- rungs + +def draw_line_at(x0, y0, x1, y1, length): + """Draw one horizontal line and COMMIT it by typing its length and angle. + + Deliberately no Escape. Escape is overloaded in a sketch — field, then tool, then the sketch + itself — so a driver that presses it one time too many leaves the session and every later + assertion answers "no sketch is open" from three rungs away. Typing the value closes the + field, which is what the gesture ladder proved commits exactly. + """ + G.key("l", 0.5) + G.clickmm(x0, y0) + G.clickmm(x1, y1) + G.values(int(length), 0) + keep_as_drawn() # drain any straggler field before the caller clicks anything + + +def rung_kinds(): + """O1 — the offer adapts to the element under the cursor, one element type at a time.""" + print("\nO1 the offer reads what was right-clicked") + fresh_sketch("l") + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + + # Empty space first: nothing is selected, so the sketch vocabulary's no-selection row set. + # Right-click has two jobs on a draw tool, and which one it does depends on whether an + # anchor is down. Both are asserted here: the version that consumed EVERY right-click made + # the offer unreachable from any armed tool (ghcz), which is the goal's own + # mechanism failing silently. + hi = y1 - (y1 - y0) * 0.12 + o = open_offer(cx, hi) + G.check("OFFER", o.kind is not None, + "Line armed, nothing anchored: right-click opens the offer") + G.check("OFFER", o.kind == 15, f"right-click on empty space -> {o.kind_name()}") + G.check("OFFER", o.sketching, "the sketch vocabulary is the one being offered") + dismiss(o) + + # ...and with an anchor down it abandons the anchor instead, offering nothing. + G.key("l", 0.5) + G.clickmm(cx, hi) # anchor the first point + o = open_offer(cx + (x1 - x0) * 0.1, hi) + G.check("OFFER", o.kind is None, + "with an anchor down, the same gesture abandons it and does not offer") + o = open_offer(cx, hi) + G.check("OFFER", o.kind is not None, "and the offer is back on the next right-click") + dismiss(o) + G.key("Escape", 0.4) + + # A line. + ax, ay = x0 + (x1 - x0) * 0.15, cy + bx, by = x0 + (x1 - x0) * 0.55, cy + draw_line_at(ax, ay, bx, by, 40) + o = open_offer((ax + bx) / 2.0, ay) + G.check("OFFER", o.kind == 16, f"right-click on a line -> {o.kind_name()}") + dismiss(o) + + # A circle: every curve takes the same vocabulary, which is what SkArc means. + G.key("c", 0.5) + ccx, ccy = x0 + (x1 - x0) * 0.30, cy + (y1 - y0) * 0.25 + G.clickmm(ccx, ccy) + G.clickmm(ccx + (x1 - x0) * 0.10, ccy) + G.values(20) + ents = G.describe()["entities"] + circ = [e for e in ents if e["type"] == "circle"] + G.check("OFFER", len(circ) == 1, "one circle drawn to right-click on") + r = circ[0]["radius"] + o = open_offer(circ[0]["center"][0] + r, circ[0]["center"][1]) + G.check("OFFER", o.kind == 17, f"right-click on a circle -> {o.kind_name()}") + dismiss(o) + + # A point. + G.key("p", 0.5) + pxx, pyy = x0 + (x1 - x0) * 0.80, cy + (y1 - y0) * 0.25 + G.clickmm(pxx, pyy) + o = open_offer(pxx, pyy) + G.check("OFFER", o.kind == 18, f"right-click on a point -> {o.kind_name()}") + dismiss(o) + + # Two entities: a second line, then both picked. Two LINES rather than line-plus-point on + # purpose — the Sk2Ent vocabulary (angle, equal, parallel, the two-entity constraints) is + # about pairs of curves, so the pair the ladder builds should be the pair the verbs mean. + draw_line_at(ax, ay - (y1 - y0) * 0.18, bx, ay - (y1 - y0) * 0.18, 40) + # ONE Escape, to drop the armed tool to Select, and only once the value fields are quiet. + # Left-click means "draw" while a tool is armed, so a picking gesture has to say so first — + # and from a draw tool with no anchor down Escape does exactly that and nothing more; it is + # only a second Escape, from Select, that would leave the sketch. + keep_as_drawn() + G.key("Escape", 0.5) + G.clickmm(*on_line((ax, ay), (bx, ay))) + G.xdo("keydown shift") + G.clickmm(*on_line((ax, ay - (y1 - y0) * 0.18), (bx, ay - (y1 - y0) * 0.18))) + G.xdo("keyup shift") + d = G.describe() + G.check("OFFER", len(d["selection"]) == 2, + f"two entities picked: {d['selection']} (tool={d['tool']} pending={d['pending']} " + f"editing={d['editing']})") + o = open_offer((ax + bx) / 2.0, ay) + G.check("OFFER", o.kind == 19, + f"right-click with two picked -> {o.kind_name()}" + + ("" if o.kind is not None else + f" (no menu: tool={G.describe()['tool']} pending={G.describe()['pending']} " + f"editing={G.describe()['editing']})")) + dismiss(o) + G.leave_sketch() + G.reset_document() + + +def rung_vocabulary(): + """O2 — the rows offered are exactly the ones the table says apply to that selection. + + Five selections, not one. The interesting failure is not "the menu is empty", it is "the + menu is the same whatever you clicked" — and only comparing several kinds against their own + predictions can tell those apart. + """ + print("\nO2 the menu and the offer table agree, selection by selection") + fresh_sketch("l") + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + ax, ay = x0 + (x1 - x0) * 0.15, cy + bx = x0 + (x1 - x0) * 0.55 + draw_line_at(ax, ay, bx, ay, 40) + + G.key("c", 0.5) + ccx, ccy = x0 + (x1 - x0) * 0.30, cy + (y1 - y0) * 0.25 + G.clickmm(ccx, ccy); G.clickmm(ccx + (x1 - x0) * 0.10, ccy) + G.values(20) + circ = [e for e in G.describe()["entities"] if e["type"] == "circle"][0] + + G.key("p", 0.5) + pxx, pyy = x0 + (x1 - x0) * 0.80, cy + (y1 - y0) * 0.25 + G.clickmm(pxx, pyy) + + where = [("SkNone", cx, y1 - (y1 - y0) * 0.12), + ("SkLine", (ax + bx) / 2.0, ay), + ("SkArc", circ["center"][0] + circ["radius"], circ["center"][1]), + ("SkPoint", pxx, pyy), + ("Sk2Ent", None, None)] + seen = {} + for name, X, Y in where: + if name == "Sk2Ent": + # The two-entity vocabulary was the one selection nothing compared against the table, + # and it is where the missing row hid: sk_angdist accepts Sk2Ent and nothing else, so + # an off-by-one that dropped the LAST verb was invisible from every other selection. + keep_as_drawn() + G.key("Escape", 0.5) + G.clickmm(*on_line((ax, ay), (bx, ay))) + G.xdo("keydown shift") + # The TOP of the circle, not its +X point: the radius grip lives there, and a click on + # a grip arms a handle drag which REPLACES the selection with that one entity. The + # pick then silently collapses to one and the offer answers SkLine — right, for the + # selection that actually existed. + G.clickmm(circ["center"][0], circ["center"][1] + circ["radius"]) + G.xdo("keyup shift") + picked = len(G.describe()["selection"]) + G.check("OFFER", picked == 2, f"two entities picked for the pair vocabulary: {picked}") + X, Y = (ax + bx) / 2.0, ay + o = open_offer(X, Y) + want = sorted(predicted(o.kind, o.sketching)) + got = sorted(o.verbs) + G.check("OFFER", o.kind is not None and o.kind_name() == name and got == want, + f"{o.kind_name()}: {len(got)} verbs, exactly the table's set" + + ("" if got == want else f"\n menu {got}\n table {want}")) + seen[name] = set(got) + dismiss(o) + + # And the sets are genuinely DIFFERENT — an offer that adapts is not one that always shows + # the same rows. Without this, four identical menus would have passed four checks. + G.check("OFFER", len(set(map(frozenset, seen.values()))) == len(seen), + "every selection offers a different set: " + + ", ".join(f"{k}={len(v)}" for k, v in seen.items())) + G.check("OFFER", seen["SkLine"] - seen["SkNone"], + f"a picked line adds {len(seen['SkLine'] - seen['SkNone'])} verbs an empty pick has not: " + + ", ".join(sorted(seen["SkLine"] - seen["SkNone"])[:8])) + G.leave_sketch() + G.reset_document() + + +def rung_author(): + """O3 — the target itself, authored through the menu: no tool key is pressed anywhere here.""" + print("\nO3 a precise closed profile, drawn entirely from the right-click offer") + fresh_sketch("p") # 'p' only to open the session; calibration needs the Point tool + G.key("Escape", 0.4) + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + w, h = 120.0, 80.0 + + o = open_offer(cx, cy) + G.check("OFFER", o.kind == 15, f"empty sketch -> {o.kind_name()}") + choose(o, "sk_rect") + G.clickmm(cx - w / 2.0, cy - h / 2.0) + G.clickmm(cx + w / 2.0, cy + h / 2.0) + G.values(int(w), int(h)) + ents = G.describe()["entities"] + G.check("LENGTH", G.lengths(ents) == [80.0, 80.0, 120.0, 120.0], + f"sides {G.lengths(ents)} — typed through the offer, exact") + lp = G.loops() + G.check("CLOSED", len(lp) == 1, f"{len(lp)} closed loop(s)") + G.check("AREA", G.near(abs(lp[0]["area"]), w * h, 1e-9), f"area {abs(lp[0]['area']):.6f}") + G.leave_sketch() + G.reset_document() + + +def rung_no_shortcut(): + """O4 — a tool with NO keyboard route at all, armed from the menu and graded on its geometry. + + This is the half of the vocabulary a key-driven ladder cannot reach: 47 of the 86 Design-tab + verbs have a GUI action and no shortcut, and for those the offer is not one door, it is the + only door. Arming the tool is not the assertion — the exact rectangle it then draws is. + """ + print("\nO4 a tool that has no shortcut, reached the only way it can be") + fresh_sketch("p") + G.key("Escape", 0.5) + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + + o = open_offer(cx, cy) + keyless = [v for v in TABLE if v["id"] in o.verbs and not v["key"] and v["action"]] + G.check("OFFER", len(keyless) >= 10, + f"{len(keyless)} of the {len(o.verbs)} verbs offered here have no shortcut at all") + G.check("OFFER", any(v["id"] == "sk_rect_center" for v in keyless), + "centre rectangle among them — unreachable from the keyboard") + + w, h = 120.0, 80.0 + choose(o, "sk_rect_center") + G.clickmm(cx, cy) # centre + G.clickmm(cx + w / 2.0, cy + h / 2.0) # corner + G.values(int(w), int(h)) + ents = G.describe()["entities"] + G.check("LENGTH", G.lengths(ents) == [80.0, 80.0, 120.0, 120.0], + f"sides {G.lengths(ents)} from a tool with no key") + lp = G.loops() + G.check("CLOSED", len(lp) == 1 and G.near(abs(lp[0]["area"]), w * h, 1e-9), + f"{len(lp)} closed loop, area {abs(lp[0]['area']):.6f}") + xs = sorted({round(p, 6) for e in ents for p in (e["p0"][0], e["p1"][0])}) + ys = sorted({round(p, 6) for e in ents for p in (e["p0"][1], e["p1"][1])}) + # Centred on the CLICK, to within the click itself. A synthetic click lands on a whole + # pixel, so the plane point it names is only ever as exact as one pixel is — grading this to + # 1e-6 would be grading the homography, not the tool. What is exact is the SHAPE, and that + # is asserted above; what is asserted here is that this was a centre rectangle and not a + # corner one, which a whole pixel is plenty to tell apart at 120 x 80. + tol = 1.5 * G.mm_per_px(cx, cy) + mx, my = (xs[0] + xs[-1]) / 2.0, (ys[0] + ys[-1]) / 2.0 + G.check("SYMMETRY", abs(mx - cx) <= tol and abs(my - cy) <= tol, + f"centred on the click within {tol:.3f} mm (one pixel): " + f"off by {abs(mx - cx):.4f}, {abs(my - cy):.4f} — a CENTRE rectangle, not a corner one") + G.leave_sketch() + G.reset_document() + + + +# ---------------------------------------------------------------- fixtures + +def keep_as_drawn(): + """Close an in-canvas value field if one is open, keeping the geometry as drawn. + + Checked, never assumed. Escape is overloaded: with a field open it means keep-as-drawn, with + none open it drops the armed tool, and one Escape too many leaves the sketch. The socket now + reports whether a field IS open ("editing"), so this presses the key only when it means what + the caller wants it to mean. + """ + n = 0 + # A LOOP, not one press: the auto-edit queue opens the next field from a CallAfter as the + # previous one commits (a rectangle queues Width then Height), so one Escape leaves a second + # field on screen and the canvas still frozen. The loop stops the moment nothing is open, + # which is what keeps the last press from being the one that drops the tool. + # + # And it waits for QUIET, not for a single false reading. A field that has not opened YET + # reads exactly like one that will never open, so a driver that looks once, sees nothing and + # moves on gets frozen by the field that arrives a moment later — with no symptom except + # that clicks stop working. Measured: this rung passed alone and failed inside the gate, + # where the app is warmer and the CallAfter lands later; the diagnostic that found it was + # editing=True with an empty selection after two clicks that should have picked two entities. + for _ in range(8): + time.sleep(0.35 * G.PACE) + if not G.describe().get("editing"): + time.sleep(0.35 * G.PACE) + if not G.describe().get("editing"): + return n + G.key("Escape", 0.45) + n += 1 + return n + + +def clear_sketch(): + """Empty the live sketch through the socket. + + Fixture TEARDOWN, not the thing under test: what is being graded is always the geometry a + verb just produced, never how the canvas got emptied. Doing it through the socket keeps each + verb's rung independent without paying for a fresh sketch (four calibration probes) each time. + """ + keep_as_drawn() # a shape left mid-edit freezes the canvas for whatever comes next + n = len(G.describe()["entities"]) + if n: + G.call("sketch_delete", entities=list(range(n))) + + +# Which tool each creation verb is supposed to arm. The menu walk counts rows, and a walk that +# lands ONE ROW OFF arms a neighbouring tool and then draws something plausible with it — the +# first run of this rung drew a circle and graded it as a rectangle. Asserting the armed tool +# turns that whole class of silent misnavigation into a loud failure at the point it happens. +ARMS = {"sk_polyline": "polyline", "sk_rect": "rect_corner", "sk_rect_center": "rect_center", + "sk_rect_oblique": "rect_oblique", "sk_rect_rounded": "rect_rounded", + "sk_circle_2pt": "circle_2pt", "sk_circle_3pt": "circle_3pt", + "sk_arc_tangent": "arc_tangent", "sk_arc_center": "arc_center", + "sk_slot_arc": "slot_arc", "sk_ellipse_arc": "ellipse_arc", + "sk_poly_3": "polygon", "sk_poly_4": "polygon", "sk_poly_5": "polygon", + "sk_poly_8": "polygon", "sk_poly_12": "polygon", + "sk_move": "move", "sk_rotate": "rotate", "sk_scale": "scale", + "sk_array": "array", "sk_array_polar": "array_polar"} + + +def arm(verb, X, Y, check_tool=True): + """Open the offer on empty plane at (X, Y) and pick a verb out of it. No key is ever pressed.""" + o = open_offer(X, Y) + if o.kind is None: + G.die(f"the offer did not open for {verb} (tool={G.describe().get('tool')}, " + f"pending={G.describe().get('pending')})") + choose(o, verb) + if check_tool and verb in ARMS: + got = G.describe().get("tool") + G.check("OFFER", got == ARMS[verb], f"{verb} armed the {got} tool") + return o + + +def ents(kind=None): + e = G.describe()["entities"] + return [x for x in e if kind is None or x["type"] == kind] + + +def clicked(X, Y): + """The plane point the app REALLY saw for clickmm(X, Y). + + A synthetic click lands on a whole pixel, so the plane point it names is not the one asked + for. Rounding the pixel and mapping it back is what the app got, and grading a construction + against it is grading the tool rather than the driver's arithmetic. + """ + u, v = G.px(X, Y) + return G.unpx(int(u), int(v)) + + +def fresh_sketch(tool): + """Enter a sketch from a KNOWN empty state, whatever the previous rung or run left behind. + + check-gui-sketching's enter_sketch dismisses the old session with keys, and a key is exactly what an + open value field swallows — so a session that should have been cancelled survives, the four + calibration probes land in it on top of whatever was already there, and the run dies with + "calibration expected 4 points, got 7". Cancelling through the socket cannot be swallowed: + it reaches the tool directly. This is fixture teardown, not the thing under test. + """ + G.try_call("sketch_cancel") + G.key("Escape", 0.3) + G.enter_sketch(tool) + + +def on_line(a, b, t=0.3): + """A point a fraction t ALONG a line — never its midpoint. + + A left-click within ~24 px of a live dimension label opens that dimension's value editor + instead of selecting anything (the Select branch tests m_live_quotes before it picks), and a + line's Length quote sits at its middle. Clicking there froze the canvas on an open field, so + the following clicks and the right-click all landed on nothing and the pair vocabulary was + never reached. It bit only when the previous step had left the line selected — live quotes are + drawn for the SELECTION — which is why it passed alone and failed inside the gate. + """ + return (a[0] + (b[0] - a[0]) * t, a[1] + (b[1] - a[1]) * t) + + +def poly_click(pt): + """One click of a multi-segment tool, then close whatever value field that click opened. + + The polyline arms a Length field after EVERY segment, and a field freezes the canvas — so a + driver that just clicks four times places two points and loses the rest. Nothing had ever + exercised the polyline (it has no shortcut), so nothing had ever met this. + """ + G.clickmm(*pt) + keep_as_drawn() + + +def dist(a, b): + return math.hypot(a[0] - b[0], a[1] - b[1]) + + +def spread(vals): + return max(vals) - min(vals) + + +# ---------------------------------------------------------------- the keyless 2D vocabulary + +def rung_curves(): + """O5 — every 2D creation verb that has no shortcut, drawn from the offer and graded exactly. + + These are reachable ONLY from the right-click menu, so nothing has ever exercised them. The + assertions are CONSTRUCTION invariants — a regular polygon's vertices are equidistant, a + tangent arc meets its line at a right angle to the radius, a circumscribed polygon's + circumradius is the inscribed one's over cos(pi/n) — because those hold exactly whatever + pixel the click landed on. Where a value field opens, the typed value is graded exactly too. + """ + print("\nO5 the 2D creation verbs that have no keyboard route") + fresh_sketch("p") + G.key("Escape", 0.5) + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + W, H = (x1 - x0), (y1 - y0) + free = (cx, y1 - H * 0.10) # a corner of the safe box that stays empty to right-click + + # --- Polyline: an explicitly CLOSED chain, which is the goal's own shape ------------------ + clear_sketch() + arm("sk_polyline", *free) + ring = [(cx - W * 0.20, cy - H * 0.15), (cx + W * 0.20, cy - H * 0.15), + (cx + W * 0.20, cy + H * 0.15), (cx - W * 0.20, cy + H * 0.15)] + for pt in ring: + poly_click(pt) + poly_click(ring[0]) # click the start again: the explicit close + lines = ents("line") + lp = G.loops() + G.check("CLOSED", len(lines) == 4 and len(lp) == 1, + f"sk_polyline: {len(lines)} lines, {len(lp)} closed loop — closed by clicking the start") + + # --- Oblique rectangle: three clicks, and the point of it is that it is NOT axis-aligned -- + clear_sketch() + arm("sk_rect_oblique", *free) + a = (cx - W * 0.20, cy - H * 0.10) + b = (cx + W * 0.15, cy + H * 0.05) # first edge, deliberately skew + G.clickmm(*a); G.clickmm(*b); G.clickmm(cx - W * 0.10, cy + H * 0.20) + q = ents("line") + G.check("LENGTH", len(q) == 4, f"sk_rect_oblique: {len(q)} lines") + if len(q) == 4: + L = sorted(round(e["length"], 9) for e in q) + G.check("LENGTH", L[0] == L[1] and L[2] == L[3], + f"opposite sides equal to 1e-9: {L}") + angs = [] + for i in range(4): + for j in range(i + 1, 4): + u = (q[i]["p1"][0] - q[i]["p0"][0], q[i]["p1"][1] - q[i]["p0"][1]) + v = (q[j]["p1"][0] - q[j]["p0"][0], q[j]["p1"][1] - q[j]["p0"][1]) + c = abs(u[0] * v[0] + u[1] * v[1]) / (math.hypot(*u) * math.hypot(*v)) + angs.append(c) + G.check("ANGLE", sum(1 for c in angs if c < 1e-9) == 4, + f"four right angles to 1e-9 ({sum(1 for c in angs if c < 1e-9)} perpendicular pairs)") + d0 = (q[0]["p1"][0] - q[0]["p0"][0], q[0]["p1"][1] - q[0]["p0"][1]) + G.check("ANGLE", abs(d0[0]) > 1e-6 and abs(d0[1]) > 1e-6, + f"and it really is oblique: first edge {math.degrees(math.atan2(*d0[::-1])):.3f} deg") + + # --- Rounded rectangle: four lines, four arcs, one radius -------------------------------- + clear_sketch() + arm("sk_rect_rounded", *free) + G.clickmm(cx - W * 0.20, cy - H * 0.15) + G.clickmm(cx + W * 0.20, cy + H * 0.15) + G.clickmm(cx + W * 0.20 - W * 0.04, cy + H * 0.15) # third click sets the radius + ls, ar = ents("line"), ents("arc") + G.check("ARC", len(ls) == 4 and len(ar) == 4, f"sk_rect_rounded: {len(ls)} lines + {len(ar)} arcs") + if len(ar) == 4: + rr = sorted(round(e["radius"], 9) for e in ar) + G.check("ARC", spread(rr) == 0.0, f"all four fillets share one radius to 1e-9: {rr[0]}") + lp = G.loops() + G.check("CLOSED", len(lp) == 1, f"{len(lp)} closed loop") + if len(lp) == 1: + xs = [p for e in ls for p in (e["p0"][0], e["p1"][0])] + ys = [p for e in ls for p in (e["p0"][1], e["p1"][1])] + # The four straight sides already span the FULL outer box — the top edge runs from + # x_min+r to x_max-r at y_max — so their bbox is the rectangle itself, and the + # rounding costs the four corner squares less their quarter-discs: r^2(4 - pi). + w, h, r = max(xs) - min(xs), max(ys) - min(ys), rr[0] + want = w * h - r * r * (4 - math.pi) + G.check("AREA", G.near(abs(lp[0]["area"]), want, 1e-6), + f"area {abs(lp[0]['area']):.9f} vs W*H - r^2(4-pi) {want:.9f}") + + # --- Two-point circle: the two clicks are the ends of a diameter -------------------------- + clear_sketch() + arm("sk_circle_2pt", *free) + p_a = (cx - W * 0.18, cy - H * 0.10) + p_b = (cx + W * 0.18, cy + H * 0.10) + G.clickmm(*p_a); G.clickmm(*p_b) + c2 = ents("circle") + G.check("ARC", len(c2) == 1, f"sk_circle_2pt: {len(c2)} circle") + if c2: + A, B = clicked(*p_a), clicked(*p_b) + mid = ((A[0] + B[0]) / 2.0, (A[1] + B[1]) / 2.0) + tol = 1.5 * G.mm_per_px(cx, cy) + G.check("VERTEX", dist(c2[0]["center"], mid) <= tol, + f"centred on the midpoint of the two clicks (off by {dist(c2[0]['center'], mid):.4f} mm)") + G.check("ARC", abs(c2[0]["radius"] - dist(A, B) / 2.0) <= tol, + f"radius {c2[0]['radius']:.6f} vs half the click separation {dist(A, B) / 2.0:.6f}") + opened = bool(G.describe().get("editing")) + G.check("OFFER", opened, "a radius field opens for it, as it does for the keyed circle") + if opened: + G.value(30) + got = ents("circle")[0]["radius"] + G.check("ARC", G.near(got, 30.0, 1e-9), + f"and it takes a typed radius exactly: {got:.9f} (asked 30.0)") + # The DoF of ONE CIRCLE is three. Asserted here because it is where the lie showed: + # after a delete the solver was never re-run, so this reported the DoF of the + # geometry that had just been erased. ua9g. + G.check("VERTEX", G.describe()["dof"] == 2, + f"and the sketch reports the DoF of what is actually in it: {G.describe()['dof']}") + + # --- Three-point circle: all three clicks lie on it --------------------------------------- + clear_sketch() + arm("sk_circle_3pt", *free) + three = [(cx - W * 0.18, cy), (cx, cy + H * 0.18), (cx + W * 0.16, cy - H * 0.06)] + for pt in three: + G.clickmm(*pt) + c3 = ents("circle") + G.check("ARC", len(c3) == 1, f"sk_circle_3pt: {len(c3)} circle") + if c3: + ds = [dist(clicked(*pt), c3[0]["center"]) for pt in three] + tol = 1.5 * G.mm_per_px(cx, cy) + G.check("ARC", spread(ds) <= tol and abs(ds[0] - c3[0]["radius"]) <= tol, + f"all three clicks lie on it: distances {[round(d, 4) for d in ds]} " + f"vs radius {c3[0]['radius']:.4f}") + + # --- Centre arc: centre, start, end ------------------------------------------------------- + clear_sketch() + arm("sk_arc_center", *free) + C = (cx, cy) + G.clickmm(*C); G.clickmm(cx + W * 0.15, cy); G.clickmm(cx, cy + H * 0.15) + aa = ents("arc") + G.check("ARC", len(aa) == 1, f"sk_arc_center: {len(aa)} arc") + if aa: + tol = 1.5 * G.mm_per_px(cx, cy) + G.check("VERTEX", dist(aa[0]["center"], clicked(*C)) <= tol, + f"centred on the first click (off by {dist(aa[0]['center'], clicked(*C)):.4f} mm)") + for nm, pt in (("start", aa[0]["p0"]), ("end", aa[0]["p1"])): + G.check("ARC", abs(dist(pt, aa[0]["center"]) - aa[0]["radius"]) < 1e-9, + f"its {nm} sits exactly on the radius, to 1e-9") + + # --- Tangent arc: the construction property, exact whatever the click --------------------- + clear_sketch() + G.key("l", 0.5) # fixture: one line for the arc to leave tangentially + la, lb = (cx - W * 0.20, cy - H * 0.05), (cx + W * 0.05, cy - H * 0.05) + G.clickmm(*la); G.clickmm(*lb) + G.values(40, 0) + line = ents("line")[0] + G.key("Escape", 0.5) + arm("sk_arc_tangent", *free) + G.clickmm(*lb) # start snaps onto the line's endpoint + G.clickmm(cx + W * 0.12, cy + H * 0.12) + ta = ents("arc") + G.check("ARC", len(ta) == 1, f"sk_arc_tangent: {len(ta)} arc off the line's endpoint") + if ta: + end = min((ta[0]["p0"], ta[0]["p1"]), key=lambda q: dist(q, line["p1"])) + rad = (end[0] - ta[0]["center"][0], end[1] - ta[0]["center"][1]) + d = (line["p1"][0] - line["p0"][0], line["p1"][1] - line["p0"][1]) + cosang = abs(rad[0] * d[0] + rad[1] * d[1]) / (math.hypot(*rad) * math.hypot(*d)) + G.check("TANGENT", cosang < 1e-9, + f"its radius at the shared end is perpendicular to the line to 1e-9 (cos={cosang:.2e})") + + # --- Arc slot: two concentric arcs, one width -------------------------------------------- + clear_sketch() + arm("sk_slot_arc", *free) + G.clickmm(cx - W * 0.15, cy) # start + G.clickmm(cx, cy - H * 0.10) # centre + G.clickmm(cx + W * 0.15, cy) # end direction + G.clickmm(cx + W * 0.15, cy + H * 0.04) # width + sa = ents("arc") + G.check("ARC", len(sa) >= 2, f"sk_slot_arc: {len(sa)} arcs") + if len(sa) >= 2: + # Group by centre rather than by size: an arc slot is two RAILS about a common centre + # plus two end caps about their own, and "the two biggest arcs" is not the same set — + # it picked a rail and a cap and called them non-concentric. + groups = {} + for e in sa: + k = (round(e["center"][0], 9), round(e["center"][1], 9)) + groups.setdefault(k, []).append(e["radius"]) + rails = max(groups.values(), key=len) + G.check("ARC", len(rails) == 2, + f"two rails share one centre to 1e-9 (radii {[round(r, 6) for r in sorted(rails)]}), " + f"{len(groups) - 1} cap centre(s) besides") + + # --- Ellipse arc: five clicks, and now the socket can actually see its parameters --------- + clear_sketch() + arm("sk_ellipse_arc", *free) + G.clickmm(cx, cy) + G.clickmm(cx + W * 0.18, cy) + G.clickmm(cx, cy + H * 0.10) + G.clickmm(cx + W * 0.18, cy) + G.clickmm(cx, cy + H * 0.10) + ea = ents("ellipse_arc") + G.check("ARC", len(ea) == 1, f"sk_ellipse_arc: {len(ea)} ellipse arc") + if ea and "radius" in ea[0]: + G.check("ARC", ea[0]["radius"] > ea[0]["rminor"] > 0, + f"semi-axes a={ea[0]['radius']:.6f} b={ea[0]['rminor']:.6f}, a > b > 0") + for nm, pt in (("start", ea[0]["p0"]), ("end", ea[0]["p1"])): + X = (pt[0] - ea[0]["center"][0], pt[1] - ea[0]["center"][1]) + ph = ea[0]["rotation"] + u = (X[0] * math.cos(ph) + X[1] * math.sin(ph)) / ea[0]["radius"] + v = (-X[0] * math.sin(ph) + X[1] * math.cos(ph)) / ea[0]["rminor"] + G.check("ARC", abs(u * u + v * v - 1.0) < 1e-9, + f"its {nm} satisfies (x/a)^2+(y/b)^2 = 1 to 1e-9") + + # --- The five fixed-count polygons: regular, to 1e-9 -------------------------------------- + for verb, n in (("sk_poly_3", 3), ("sk_poly_4", 4), ("sk_poly_5", 5), + ("sk_poly_8", 8), ("sk_poly_12", 12)): + clear_sketch() + arm(verb, *free) + G.clickmm(cx, cy) + G.clickmm(cx + W * 0.15, cy) + q = ents("line") + if len(q) != n: + G.check("LENGTH", False, f"{verb}: {len(q)} sides, expected {n}") + continue + L = [round(e["length"], 9) for e in q] + ctr = clicked(cx, cy) + R = [dist(e["p0"], ctr) for e in q] + G.check("LENGTH", spread(L) == 0.0 and spread(R) < 1.5 * G.mm_per_px(cx, cy), + f"{verb}: {n} equal sides to 1e-9 ({L[0]:.9f}), all vertices on one circle") + + # --- Inscribed vs circumscribed: the exact ratio between them ----------------------------- + radii = {} + for verb, fit in (("sk_poly_inscribed", "inscribed"), ("sk_poly_circumscribed", "circumscribed")): + clear_sketch() + arm(verb, *free) # a tool PARAMETER, chosen from the menu + arm("sk_poly_5", *free) + G.clickmm(cx, cy) + G.clickmm(cx + W * 0.15, cy) + q = ents("line") + ctr = clicked(cx, cy) + radii[fit] = dist(q[0]["p0"], ctr) if q else 0.0 + want = 1.0 / math.cos(math.pi / 5.0) + got = (radii["circumscribed"] / radii["inscribed"]) if radii["inscribed"] else 0.0 + G.check("ARC", G.near(got, want, 1e-6), + f"circumscribed/inscribed circumradius = {got:.9f} vs 1/cos(pi/5) = {want:.9f} " + "— the two fits are genuinely different constructions") + G.leave_sketch() + G.reset_document() + + +def tf_fixture(cx, cy, W, L=40): + """One horizontal line of exactly L mm, drawn by key. Fixture, not the thing under test. + + Horizontal and exactly L because every transform assertion below is derived from it: the + gizmo seeds its parameters from the target's own size (pivot = the line's midpoint, handle + radius = half its length), so knowing the line exactly is what makes the handle and its value + label land on a computable pixel instead of a guessed one. + """ + G.key("l", 0.5) + G.clickmm(cx - W * 0.10, cy) + G.clickmm(cx + W * 0.10, cy) + G.values(L, 0) + e = ents("line")[0] + G.key("Escape", 0.5) + return e + + +def tf_label(pivot, handle, at): + """Where the gizmo prints its value — the same formula render_tf_gizmo uses. + + label = handle + outward * 1.2 * max(15 px, 1e-4), outward = the pivot -> handle direction. + Recomputing it here rather than hunting for it in pixels is what keeps this a click on a + control and not a search: if the formula ever moves, this rung fails loudly instead of + clicking somewhere harmless. + """ + th = max(15.0 * G.mm_per_px(*at), 1e-4) + d = (handle[0] - pivot[0], handle[1] - pivot[1]) + n = math.hypot(*d) or 1.0 + return (handle[0] + d[0] / n * th * 1.2, handle[1] + d[1] / n * th * 1.2) + + +def rung_transforms(): + """O6 — Move, Rotate, Scale, Array and Polar array: five verbs, none with a shortcut. + + Each is a gizmo, so the whole gesture is menu -> pick -> click the value label -> type -> + click empty to apply, with no keyboard route anywhere in it. The assertions are the exact + ones the operation promises: a translation moves every point by the typed amount and nothing + else, a rotation turns the direction by the typed angle and leaves the length alone, a scale + multiplies the length and leaves the direction alone. + """ + print("\nO6 the 2D transforms — gizmo verbs, none of them on the keyboard") + fresh_sketch("p") + G.key("Escape", 0.5) + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + W, H = (x1 - x0), (y1 - y0) + free = (cx, y1 - H * 0.10) + away = (x0 + W * 0.03, y0 + H * 0.03) # empty plane: the click that applies a gizmo + L = 40.0 + half = L / 2.0 + step = max(half * 1.5, 1.0) + + def pivot_of(e): + return ((e["p0"][0] + e["p1"][0]) / 2.0, (e["p0"][1] + e["p1"][1]) / 2.0) + + def direction(e): + return math.degrees(math.atan2(e["p1"][1] - e["p0"][1], e["p1"][0] - e["p0"][0])) + + # --- Move: 25 mm along +X, and nothing else changes -------------------------------------- + clear_sketch() + before = tf_fixture(cx, cy, W, L) + # The transforms are offered for a SELECTION, not for empty space — so the right-click that + # opens the menu happens ON the line, which is also what selects it. Then one more click + # picks it as the gizmo's target: choosing the verb sets the mode, it does not carry a pick. + arm("sk_move", *pivot_of(before)) + G.clickmm(*pivot_of(before)) # pick the line + piv = pivot_of(before) + G.clickmm(*tf_label(piv, (piv[0] + step, piv[1]), (cx, cy))) + G.value(25) + G.clickmm(*away) # empty click applies + after = ents("line") + G.check("VERTEX", len(after) == 1, f"sk_move: {len(after)} line after the transform") + if len(after) == 1: + dx = [after[0]["p0"][0] - before["p0"][0], after[0]["p1"][0] - before["p1"][0]] + dy = [after[0]["p0"][1] - before["p0"][1], after[0]["p1"][1] - before["p1"][1]] + G.check("LENGTH", all(abs(v - 25.0) < 1e-9 for v in dx) and all(abs(v) < 1e-9 for v in dy), + f"every point moved by exactly +25.000000000 in X and 0 in Y: dx={dx} dy={dy}") + + # --- Rotate: 30 degrees about the centroid, length untouched ------------------------------ + clear_sketch() + before = tf_fixture(cx, cy, W, L) + # The transforms are offered for a SELECTION, not for empty space — so the right-click that + # opens the menu happens ON the line, which is also what selects it. Then one more click + # picks it as the gizmo's target: choosing the verb sets the mode, it does not carry a pick. + arm("sk_rotate", *pivot_of(before)) + G.clickmm(*pivot_of(before)) + piv = pivot_of(before) + h = (piv[0] + half * math.cos(math.pi / 4), piv[1] + half * math.sin(math.pi / 4)) + G.clickmm(*tf_label(piv, h, (cx, cy))) + G.value(30) + G.clickmm(*away) + after = ents("line") + G.check("VERTEX", len(after) == 1, f"sk_rotate: {len(after)} line") + if len(after) == 1: + turned = (direction(after[0]) - direction(before)) % 360.0 + G.check("ANGLE", min(abs(turned - 30.0), abs(turned - 210.0)) < 1e-9, + f"turned by exactly {turned:.9f} deg") + G.check("LENGTH", abs(after[0]["length"] - before["length"]) < 1e-9, + f"and its length is untouched: {after[0]['length']:.9f}") + + # --- Scale: x3 about the centroid, direction untouched ------------------------------------ + clear_sketch() + before = tf_fixture(cx, cy, W, L) + # The transforms are offered for a SELECTION, not for empty space — so the right-click that + # opens the menu happens ON the line, which is also what selects it. Then one more click + # picks it as the gizmo's target: choosing the verb sets the mode, it does not carry a pick. + arm("sk_scale", *pivot_of(before)) + G.clickmm(*pivot_of(before)) + piv = pivot_of(before) + G.clickmm(*tf_label(piv, (piv[0] + 2.0 * half, piv[1]), (cx, cy))) + G.value(3) + G.clickmm(*away) + after = ents("line") + G.check("VERTEX", len(after) == 1, f"sk_scale: {len(after)} line") + if len(after) == 1: + G.check("LENGTH", abs(after[0]["length"] - 3.0 * before["length"]) < 1e-9, + f"length {before['length']:.9f} -> {after[0]['length']:.9f}, exactly x3") + G.check("ANGLE", abs(direction(after[0]) - direction(before)) < 1e-9, + "and its direction is untouched to 1e-9") + + # --- Linear array: 4 copies at an exact pitch --------------------------------------------- + clear_sketch() + before = tf_fixture(cx, cy, W, L) + # The transforms are offered for a SELECTION, not for empty space — so the right-click that + # opens the menu happens ON the line, which is also what selects it. Then one more click + # picks it as the gizmo's target: choosing the verb sets the mode, it does not carry a pick. + arm("sk_array", *pivot_of(before)) + G.clickmm(*pivot_of(before)) + piv = pivot_of(before) + # A single LINE target seeds the spacing PERPENDICULAR to it, which for a horizontal line + # is +Y. That is the tool's own rule, not an assumption: see tf_pick's Array branch. + G.clickmm(*tf_label(piv, (piv[0], piv[1] + step), (cx, cy))) + G.value(20) + th = max(15.0 * G.mm_per_px(cx, cy), 1e-4) + G.clickmm(piv[0] + th * 1.5, piv[1] + th * 1.5) # the "xN" count label + G.value(4) + G.clickmm(*away) + rows = sorted(ents("line"), key=lambda e: e["p0"][1]) + G.check("VERTEX", len(rows) == 4, f"sk_array: {len(rows)} lines (1 original + 3 copies)") + if len(rows) == 4: + pitch = [round(rows[i + 1]["p0"][1] - rows[i]["p0"][1], 9) for i in range(3)] + G.check("LENGTH", pitch == [20.0, 20.0, 20.0], f"pitch exactly {pitch} mm") + G.check("LENGTH", spread([round(e["length"], 9) for e in rows]) == 0.0, + "and every copy is the same length to 1e-9") + + # --- Polar array: 6 copies, 60 degrees apart, sharing one centre -------------------------- + clear_sketch() + before = tf_fixture(cx, cy, W, L) + # The transforms are offered for a SELECTION, not for empty space — so the right-click that + # opens the menu happens ON the line, which is also what selects it. Then one more click + # picks it as the gizmo's target: choosing the verb sets the mode, it does not carry a pick. + arm("sk_array_polar", *pivot_of(before)) + G.clickmm(*pivot_of(before)) + piv = pivot_of(before) + G.clickmm(*tf_label(piv, (piv[0] + half, piv[1]), (cx, cy))) + G.value(360) + th = max(15.0 * G.mm_per_px(cx, cy), 1e-4) + G.clickmm(piv[0] + th * 1.5, piv[1] + th * 1.5) + G.value(6) + G.clickmm(*away) + spokes = ents("line") + G.check("VERTEX", len(spokes) == 6, f"sk_array_polar: {len(spokes)} lines") + if len(spokes) == 6: + mids = [((e["p0"][0] + e["p1"][0]) / 2.0, (e["p0"][1] + e["p1"][1]) / 2.0) for e in spokes] + G.check("VERTEX", max(dist(m, mids[0]) for m in mids) < 1e-9, + "all six share one centre to 1e-9 — rotated about the pivot, not scattered") + # mod 360, not 180. A line carries an orientation, and folding the six directions into a + # half-turn collapses opposite spokes onto each other: a perfectly even star then reads + # as gaps of [0, 60, 0, 60, 0] and the rung fails on its own arithmetic. + angs = sorted(direction(e) % 360.0 for e in spokes) + gaps = [round(angs[(i + 1) % 6] - angs[i], 9) % 360.0 for i in range(6)] + G.check("ANGLE", all(abs(g - 60.0) < 1e-9 for g in gaps), + f"and they are 60 deg apart all the way round: {gaps}") + G.leave_sketch() + G.reset_document() + + +def rung_art(): + """O7 — Text and SVG: the last two 2D verbs, and the only two that open a dialog. + + Both are keyless, so the offer is their only door; both also leave the canvas for a modal + window, which is why nothing that drives the canvas had ever reached them. The properties + graded are the ones that survive a change of font or of importer scale: how many CLOSED loops + came back, and the exact aspect ratio of a shape whose proportions are known. + """ + print("\nO7 Text and SVG — the two verbs that go through a dialog") + fresh_sketch("p") + G.key("Escape", 0.5) + x0, x1, y0, y1 = G._SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + H = y1 - y0 + free = (cx, y1 - H * 0.10) + + # --- Text --------------------------------------------------------------------------------- + clear_sketch() + o = open_offer(*free) + G.check("OFFER", "sk_text" in o.verbs, "sk_text is offered on an empty sketch") + choose(o, "sk_text") + time.sleep(1.5) + names = G.sh(f"DISPLAY={G.DISP} xdotool search --name '.' getwindowname %@").split("\n") + G.check("OFFER", any(n.strip() == "Text" for n in names), + "choosing it opens the Text dialog") + G.typ("LT", 0.4) + G.key("Return", 2.5) + lp = G.loops() + G.check("CLOSED", len(lp) == 2 and all(l["closed"] for l in lp), + f"two letters came back as {len(lp)} closed loops") + G.check("VERTEX", all(abs(l["area"]) > 1.0 for l in lp), + f"both enclose real area: {[round(abs(l['area']), 3) for l in lp]}") + + # --- SVG ---------------------------------------------------------------------------------- + # A file whose proportions are known EXACTLY, so the assertion does not depend on what the + # importer decides a user unit is: a 40 x 20 path is 2:1 at any scale. + # FILLED, not stroked. A stroked path imports as its stroke OUTLINE — two loops, an outer and + # an inner, each inflated by half the stroke width — so the shape that comes back is 8 lines + # at 1.952 : 1 and the assertion would be grading the pen, not the importer. + svg = "/tmp/offer-ladder-2to1.svg" + G.sh("cat > %s <<'EOF'\n" + "\nEOF" % svg) + clear_sketch() + o = open_offer(*free) + G.check("OFFER", "sk_svg" in o.verbs, "sk_svg is offered too") + choose(o, "sk_svg") + time.sleep(2.0) + G.key("ctrl+l", 0.6) # GTK's own "type a path" entry: never guess at the file list + G.typ(svg, 0.5) + G.key("Return", 3.0) + ls = ents("line") + lp = G.loops() + G.check("CLOSED", len(lp) == 1 and len(ls) == 4, + f"the imported path is {len(ls)} lines and {len(lp)} closed loop") + if ls: + xs = [p for e in ls for p in (e["p0"][0], e["p1"][0])] + ys = [p for e in ls for p in (e["p0"][1], e["p1"][1])] + w, h = max(xs) - min(xs), max(ys) - min(ys) + # 1e-6, not 1e-9, and the reason is measured rather than tuned away: the imported box is + # 10.583333000 x 5.291667000 where 40 and 20 user units at 25.4/96 are 10.58333333... and + # 5.29166666..., so the SVG path coordinates arrive ROUNDED TO SIX DECIMAL PLACES (both + # numbers are exactly 6 dp, one rounded down and one up — which is also why the ratio is + # 1.999999811 rather than 2). Everything the sketcher itself draws is exact to 1e-9; this + # 1e-6 belongs to the import path alone, and it is the band the assertion allows. + G.check("LENGTH", abs(w / h - 2.0) < 1e-6, + f"and its proportions survived the import: {w:.9f} x {h:.9f} = {w / h:.9f} : 1 " + f"(the import rounds coordinates to 1e-6 mm)") + G.leave_sketch() + G.reset_document() + + +# Every 2D verb this ladder drives from the menu, by id. Kept as data so the coverage claim can +# be CHECKED rather than asserted in prose: rung_coverage compares it against the offer table and +# fails the moment a keyless sketch verb exists that nothing here exercises. +DRIVEN = { + "sk_rect_center", # O4 + "sk_polyline", "sk_rect_oblique", "sk_rect_rounded", # O5 + "sk_circle_2pt", "sk_circle_3pt", "sk_arc_center", "sk_arc_tangent", + "sk_slot_arc", "sk_ellipse_arc", + "sk_poly_3", "sk_poly_4", "sk_poly_5", "sk_poly_8", "sk_poly_12", + "sk_poly_inscribed", "sk_poly_circumscribed", + "sk_move", "sk_rotate", "sk_scale", "sk_array", "sk_array_polar", # O6 + "sk_text", "sk_svg", # O7 +} + + +def rung_coverage(): + """O8 — the coverage claim, checked against the table instead of written in a comment. + + "Every 2D verb with no keyboard route is exercised" is the whole point of the rungs above, and + a claim like that rots the day someone adds a verb. Here it is arithmetic: the set of keyless + sketch verbs in DesignOffer.hpp, minus the set this file drives, must be empty. + """ + print("\nO8 coverage — every keyless 2D verb, checked against the table") + sk = [v for v in TABLE if v["sketch_mode"]] + keyless = {v["id"] for v in sk if v["action"] and not v["key"]} + keyed = {v["id"] for v in sk if v["key"]} + dead = {v["id"] for v in sk if not v["action"]} + missing = keyless - DRIVEN + G.check("OFFER", not missing, + f"all {len(keyless)} keyless 2D verbs are driven from the menu" + + ("" if not missing else f" — MISSING: {sorted(missing)}")) + G.check("OFFER", not (DRIVEN - keyless - keyed), + f"and nothing is driven that is not in the table: {sorted(DRIVEN - keyless - keyed)}") + G.check("OFFER", not dead, + f"no 2D verb is a dead row: {len(sk)} sketch verbs, {len(keyed)} with a shortcut, " + f"{len(keyless)} without, {len(dead)} with no GUI route at all") + + +RUNGS = {"kinds": rung_kinds, "vocabulary": rung_vocabulary, + "author": rung_author, "no_shortcut": rung_no_shortcut, + "curves": rung_curves, "transforms": rung_transforms, + "art": rung_art, "coverage": rung_coverage} + + +def main(): + if not os.path.exists(LOG): + G.die(f"no {LOG} — launch the app through scripts/CAD/start-headless-gui.sh") + if "[OFFER]" not in open(LOG, errors="replace").read()[-400000:]: + print(f"note: no [OFFER] lines in {LOG} yet — the app must run with ORCA_CAD_KEYTRACE=1") + want = sys.argv[1:] or list(RUNGS) + # TWICE. From a cold launch the app shows the Home page over the Design tab, and the first + # click only selects the tab — the second is what brings the viewport forward. A ladder that + # clicked once drew its whole first rung into a webview. + G.go_design(); G.go_design() + G.key("Escape", 0.4) + G.reset_document() + for name in want: + if name not in RUNGS: + G.die(f"unknown rung {name}; have {' '.join(RUNGS)}") + RUNGS[name]() + print(f"\n{G._checks - G._fail}/{G._checks} properties held") + sys.exit(1 if G._fail else 0) + + +if __name__ == "__main__": + main() diff --git a/scripts/CAD/check-gui-sketching.py b/scripts/CAD/check-gui-sketching.py new file mode 100644 index 0000000000..d4ebd1f1ca --- /dev/null +++ b/scripts/CAD/check-gui-sketching.py @@ -0,0 +1,2024 @@ +#!/usr/bin/env python3 +"""A ladder of sketches drawn the way a person draws them: mouse gestures and typed values. + +WHY THIS EXISTS, next to scripts/CAD/check-sketch-engine.py. That ladder proves the ENGINE — it feeds +geometry through the MCP socket's add_entities_scripted and grades what comes back. The socket +path skips everything the goal actually rests on: gesture state, the auto-edit queue, snapping, +inference at gesture tolerance, and the right-click offer. A ladder that only drives the socket +cannot say the Design tab meets its goal. This one draws with synthetic clicks and types the +values into the in-canvas field, then reads the result back through the socket, which is used +here ONLY as an instrument, never as an author. + +Runs INSIDE the headless rig container (Xvfb :10 + openbox + the app with ORCA_CAD_MCP set): + + docker cp scripts/CAD/check-gui-sketching.py orcacad-gui:/tmp/ && \ + docker exec orcacad-gui python3 /tmp/check-gui-sketching.py [rung ...] + +With no arguments every rung runs. Exit 0 = every property held. +""" +import json, math, os, re, socket, subprocess, sys, time + +SOCK = os.environ.get("ORCA_CAD_MCP", "/tmp/mcp.sock") +DISP = os.environ.get("DISPLAY", ":10") +_n = 0 +_fail = 0 +_checks = 0 + +# ---------------------------------------------------------------- the instrument (read-only) + +def call(method, **params): + global _n + _n += 1 + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(30) + s.connect(SOCK) + s.sendall((json.dumps({"jsonrpc": "2.0", "id": _n, "method": method, + "params": params}) + "\n").encode()) + buf = b"" + while b"\n" not in buf: + d = s.recv(65536) + if not d: + break + buf += d + r = json.loads(buf.decode().strip()) + if "error" in r: + raise RuntimeError(f"{method}: {r['error']['message']}") + return r["result"] + + +def try_call(method, **params): + try: + return call(method, **params) + except Exception: + return None + + +def describe(): + return call("sketch_describe") + + +# ---------------------------------------------------------------- the hand (synthetic input) + +_win = None + +def win(): + """The app window's id and origin. Asked fresh once per run: a relaunch changes the id.""" + global _win + # BY SIZE, never by title. Saving a project renames the window to the file, and a driver + # that hunts for "Untitled" then reports "no app window" for an app that is running fine — + # which is a false negative in the one place a false negative is most expensive. + if _win is None: + best = None + # --class, not --name: after a project is opened the main window can come back with no + # WM_NAME at all, and a name search then does not list it — the driver picks a 200x200 + # helper and every click lands on nothing. + for w in sh(f"DISPLAY={DISP} xdotool search --class '.'").split(): + g = sh(f"DISPLAY={DISP} xdotool getwindowgeometry --shell {w}") + d = dict(l.split("=", 1) for l in g.strip().splitlines() if "=" in l) + if "WIDTH" not in d: + continue + a = int(d["WIDTH"]) * int(d["HEIGHT"]) + if best is None or a > best[0]: + best = (a, w, int(d["X"]), int(d["Y"]), int(d["WIDTH"]), int(d["HEIGHT"])) + if best is None: + die("no app window on " + DISP) + sh(f"DISPLAY={DISP} xdotool windowactivate --sync {best[1]}") + _win = best[1:] + return _win + + +def sh(cmd): + return subprocess.run(["bash", "-lc", cmd], capture_output=True, text=True).stdout + + +def xdo(args): + sh(f"DISPLAY={DISP} xdotool {args}") + + +def key(k, pause=0.35): + xdo(f"key {k}") + time.sleep(pause) + + +def typ(s, pause=0.35): + xdo(f"type --delay 40 -- '{s}'") + time.sleep(pause) + + +def click(px, py, pause=0.45, btn=1): + _, X, Y, _, _ = win() + xdo(f"mousemove {X+int(px)} {Y+int(py)} click --delay 120 {btn}") + time.sleep(pause) + + +def click_ctrl(px, py, pause=0.45): + """Ctrl+click: EXTEND the sketch selection instead of replacing it. + + A plain second click clears the first pick (DesignSketchTool's Select branch only keeps + one entity unless `extend` is set), so a two-entity constraint driven by two plain clicks + silently arrives with one pick and is rejected for the wrong reason. + """ + _, X, Y, _, _ = win() + xdo(f"keydown ctrl mousemove {X+int(px)} {Y+int(py)} click --delay 120 1 keyup ctrl") + time.sleep(pause) + + +def move(px, py, pause=0.2): + _, X, Y, _, _ = win() + xdo(f"mousemove {X+int(px)} {Y+int(py)}") + time.sleep(pause) + + +def shot(path): + w, X, Y, W, H = win() + sh(f"DISPLAY={DISP} import -window root -crop {W}x{H}+{X}+{Y} +repage {path}") + + +# ---------------------------------------------------------------- pixels <-> plane + +# The viewport is a perspective camera looking at the sketch plane, so pixel -> plane is a +# HOMOGRAPHY, not a scale: the same pixel span covers more millimetres at the far edge than at +# the near one. Four measured correspondences determine it exactly. Measuring beats assuming — +# the camera can be anywhere, and a wrong constant silently puts every click somewhere else. +_H = None # plane -> pixel, row-major 3x3 +_SAFE = None # (xmin, xmax, ymin, ymax) of the plane region the probes covered + + +def _solve(A, b): + """Tiny dense solve; no numpy in the rig container.""" + n = len(A) + M = [row[:] + [b[i]] for i, row in enumerate(A)] + for c in range(n): + p = max(range(c, n), key=lambda r: abs(M[r][c])) + if abs(M[p][c]) < 1e-12: + die("calibration is degenerate — the four probe points are not in general position") + M[c], M[p] = M[p], M[c] + for r in range(n): + if r == c: + continue + f = M[r][c] / M[c][c] + for k in range(c, n + 1): + M[r][k] -= f * M[c][k] + return [M[i][n] / M[i][i] for i in range(n)] + + +def fit_homography(pairs): + """pairs: [((X_mm, Y_mm), (u_px, v_px)), ...] -> 3x3 plane->pixel with h22 = 1.""" + A, b = [], [] + for (X, Y), (u, v) in pairs: + A.append([X, Y, 1, 0, 0, 0, -u * X, -u * Y]); b.append(u) + A.append([0, 0, 0, X, Y, 1, -v * X, -v * Y]); b.append(v) + h = _solve(A, b) + return [h[0], h[1], h[2], h[3], h[4], h[5], h[6], h[7], 1.0] + + +def px(X, Y): + """Plane millimetres -> window pixels.""" + h = _H + w = h[6] * X + h[7] * Y + h[8] + return ((h[0] * X + h[1] * Y + h[2]) / w, (h[3] * X + h[4] * Y + h[5]) / w) + + +def unpx(u, v): + """Window pixels -> plane millimetres (the homography inverted, by hand).""" + h = _H + A = [[h[0] - u * h[6], h[1] - u * h[7]], [h[3] - v * h[6], h[4] - v * h[7]]] + b = [u * h[8] - h[2], v * h[8] - h[5]] + return tuple(_solve(A, b)) + + +def mm_per_px(X, Y): + """The viewport's local scale at a plane point — what the tool calls unit_per_px.""" + u, v = px(X, Y) + a = unpx(u, v) + b = unpx(u + 1.0, v) + return math.dist(a, b) + + +def clickmm(X, Y, pause=0.45, btn=1): + u, v = px(X, Y) + click(u, v, pause, btn) + + +def movemm(X, Y, pause=0.2): + u, v = px(X, Y) + move(u, v, pause) + + +# ---------------------------------------------------------------- session control + +def leave_sketch(): + """Back to a clean Feature-mode document, whatever state the last rung left behind.""" + try_call("sketch_cancel") + for _ in range(4): + key("Escape", 0.25) + time.sleep(0.5) + + +# EVERY absolute chrome coordinate below is written in the Snapmaker fork's layout and then +# shifted by CHROME_DY, because this fork keeps mainline OrcaSlicer's top row (File / save / +# undo / redo / Calibration, with the document title) which that fork does not have. The whole +# chrome — tab strip, sketch toolbar, confirm button — sits 26 px lower here. +# +# Getting this wrong does not look like a coordinate problem. At the unshifted y the Design tab +# click landed in that toolbar, the app stayed on the Home page, and the first rung reported +# "no sketch opened after plane click + Shift+S"; the unshifted Construction checkbox reported +# "0 construction axis". Both name the wrong subsystem. Canvas coordinates are immune because +# clickmm() derives them from the live canvas geometry — only the chrome constants need this. +CHROME_DY = int(os.environ.get("ORCA_CAD_CHROME_DY", "26")) + +DESIGN_TAB = (128, 29 + CHROME_DY) + +# Feature-tree rows, measured on the rig at 1920x1080: first row centre, then 23 px apart. +# x=300, not the label: a second click ON the label opens the inline rename, and Delete then +# edits the text instead of removing the feature. +# +# CHROME_DY applies here too, and this was the one chrome constant that did not carry it. The +# unshifted click lands 26 px BELOW the first row -- just past its 23 px height -- so the row is +# never selected, Delete does nothing, and reset_document spends 40 rounds on it before dying +# with "could not empty the feature tree". That names the feature tree, which is not the fault. +TREE_ROW0 = (300, 215 + CHROME_DY) + + +def go_design(): + """Make sure the Design tab is in front — loading a project lands on Prepare.""" + click(*DESIGN_TAB, pause=1.0) + + +def reset_document(): + """Delete every committed feature, by picking its tree row and pressing Delete. + + A rung that ends in Constrain COMMITS its sketch, and the next rung's Constrain resolves + 'the last sketch' — which is then the PREVIOUS rung's. That is how D2 first read a rectangle + of exactly 120 x 80 back from a sketch it had drawn at 120.020087: it was grading a sketch + left behind by an earlier run. The document is part of the fixture; reset it like one. + """ + go_design() + leave_sketch() + for _ in range(40): + if not call("describe_scene")["features"]: + return + click(*TREE_ROW0, pause=0.35) + key("Delete", 0.5) + die("could not empty the feature tree") + + +def enter_sketch(tool_key, plane_px=(913, 359)): + """Enter a sketch the way the design law says: pick the plane in the viewport, then the tool. + + Shift+S enters sketch MODE and pops the offer; Escape dismisses it; the tool letter then + starts the session on the plane the click selected. All four steps are real input — nothing + here goes through the socket. + """ + leave_sketch() + click(*plane_px) + key("shift+s", 0.8) + key("Escape", 0.4) # entering sketch mode pops the offer; dismiss it + key("p", 0.6) + if try_call("sketch_describe") is None: + shot("/shots/gl-enter-failed.png") + die("no sketch opened after plane click + Shift+S (see /shots/gl-enter-failed.png)") + calibrate_here() # THIS sketch's own camera map, on THIS sketch's own plane + key(tool_key, 0.6) + + +def calibrate_here(): + """Place four Points in the sketch that is already open, solve the map, then undo them. + + PER SKETCH, not once per run. The camera is wherever the previous rung left it — reopening a + sketch and loading a project both move it — and the plane label the entry click lands on + moves with it, so a later sketch can end up on XZ while the map was solved on XY. Both of + those turn into clicks that land somewhere else, and geometry that looks drawn but is not + where it was asked for. Four points cost about four seconds and remove the whole class. + """ + global _H + probes = [(1000, 500), (1400, 500), (1400, 760), (1000, 760)] + for u, v in probes: + click(u, v) + ents = describe()["entities"] + if len(ents) != 4 or any(e["type"] != "point" for e in ents): + die(f"calibration expected 4 points, got {[e['type'] for e in ents]}") + _H = fit_homography([((e["p"][0], e["p"][1]), probes[i]) for i, e in enumerate(ents)]) + # Prove the fit by round-tripping the probes: a homography through its own four points is + # exact, so anything but a sub-pixel residual means the points came back mismatched. + for i, e in enumerate(ents): + u, v = px(e["p"][0], e["p"][1]) + if abs(u - probes[i][0]) > 0.5 or abs(v - probes[i][1]) > 0.5: + die(f"calibration residual too large at probe {i}: {(u, v)} vs {probes[i]}") + global _SAFE + xs = [e["p"][0] for e in ents]; ys = [e["p"][1] for e in ents] + _SAFE = (min(xs), max(xs), min(ys), max(ys)) + for _ in range(len(probes)): + key("ctrl+z", 0.5) # the probes are scaffolding, not geometry + left = describe()["entities"] + if left: + die(f"{len(left)} calibration probes survived the undo") + + +# ---------------------------------------------------------------- typed values + +# How long to wait for the in-canvas field to appear and to settle after a commit. The queue +# opens each field from a CallAfter that runs AFTER a re-solve, so on a heavy sketch the field is +# simply not there yet when a fast driver starts typing — the digits go nowhere and the value +# stays as drawn. Rungs that work on a thousand entities raise this. +PACE = 1.0 + + +def field_open(): + """Is a sketch value field open? Asked of the APP, not of the window list. + + It used to be answered by hunting for a small top-level window, because the field WAS one. + It is not any more — it is drawn by ImGui inside the GL canvas precisely so that no window + manager gets a vote on whether it may hold the keyboard. Enumerating windows now always + answers "no field", which turns every check built on it into one that cannot fail. + + sketch_describe's `editing` is DesignSketchTool::value_field_open(), i.e. the app's own + answer to the same question. + """ + d = try_call("sketch_describe") + return bool(d and d.get("editing")) + + +def focus_field(): + """Deliberately nothing. + + This used to click into the value field before typing, and its old docstring explained why: + "WITHOUT THIS THE TYPED VALUE IS SILENTLY DISCARDED ... the window manager does not give it + the keyboard, so xdotool's digits go to the canvas". That was a workaround for the field + being a separate top-level window, and it is also what made this ladder blind to the very + defect the user reported — a suite that clicks the field first can never see that typing + without clicking is broken. + + The field is now inside the canvas and the canvas has the keyboard, so typing just works and + there is nothing to click. Kept as a no-op so the call sites still read in order. + """ + return True + + +def value(v, pause=0.6): + """Type one number into the open in-canvas field and commit it. + + Select-all first: the field opens pre-filled with the as-drawn value and pre-selected, but a + pre-selection that a synthetic click has disturbed would otherwise leave the typed digits + appended to it. + """ + time.sleep(0.25 * PACE) + focus_field() + key("ctrl+a", 0.15) + typ(str(v), 0.25) + key("Return", pause * PACE) + + +def values(*vs): + for v in vs: + value(v) + + +# ---------------------------------------------------------------- grading + +def say(msg): + print(f" {msg}") + + +def check(kind, cond, what): + global _fail, _checks + _checks += 1 + if cond: + print(f" {kind:9s} ok {what}") + else: + print(f" {kind:9s} FAIL {what}", file=sys.stderr) + _fail += 1 + + +def near(a, b, tol=1e-6): + return abs(a - b) <= tol + + +def die(msg): + print(f" FATAL {msg}", file=sys.stderr) + sys.exit(2) + + +def lengths(ents): + return sorted(round(e["length"], 6) for e in ents if e["type"] == "line") + + +def loops(): + return describe()["closed_loops"] + + +# =================================================================== LADDER A — one tool each +# Every 2D tool draws its primitive by gesture, then takes its exact value from the keyboard. +# The click only has to be roughly right; the typed number is what must come back exactly. + +def rung_rect(): + print("\nA1 rectangle — two corners, typed 120 x 80") + enter_sketch("r") + clickmm(-60, -40); clickmm(60, 40) + values(120, 80) + d = describe() + ls = lengths(d["entities"]) + check("LENGTH", ls == [80.0, 80.0, 120.0, 120.0], f"sides {ls}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + check("AREA", near(abs(lp[0]["area"]), 9600.0, 1e-6), f"area {abs(lp[0]['area']):.6f}") + check("VERTEX", all(near(abs(e["p1"][0] - e["p0"][0]), 0, 1e-9) + or near(abs(e["p1"][1] - e["p0"][1]), 0, 1e-9) + for e in d["entities"]), "every side axis-aligned") + leave_sketch() + + +def rung_circle(): + print("\nA2 circle — centre then rim, typed radius 25") + enter_sketch("c") + clickmm(0, 0); clickmm(30, 0) + values(25) + d = describe() + e = [x for x in d["entities"] if x["type"] == "circle"] + check("ARC", len(e) == 1 and near(e[0]["radius"], 25.0), f"radius {e[0]['radius'] if e else None}") + check("VERTEX", len(e) == 1 and near(e[0]["center"][0], 0.0, 0.6) and near(e[0]["center"][1], 0.0, 0.6), + f"centre {e[0]['center'] if e else None} at the clicked origin") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), math.pi * 625.0, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs pi r^2 {math.pi*625:.6f}") + leave_sketch() + + +def rung_line(): + print("\nA3 line — two clicks, typed length 50 and angle 30") + enter_sketch("l") + clickmm(-40, -20); clickmm(10, 5) + values(50, 30) + d = describe() + e = [x for x in d["entities"] if x["type"] == "line"] + check("LENGTH", len(e) == 1 and near(e[0]["length"], 50.0), f"length {e[0]['length'] if e else None}") + if e: + a = math.degrees(math.atan2(e[0]["p1"][1] - e[0]["p0"][1], e[0]["p1"][0] - e[0]["p0"][0])) % 360.0 + check("ANGLE", near(a, 30.0, 1e-9), f"angle {a:.9f} deg") + leave_sketch() + + +def rung_arc(): + print("\nA4 three-point arc — typed radius 40 and sweep 90") + enter_sketch("a") + clickmm(-40, 0); clickmm(40, 0); clickmm(0, 40) + values(40, 90) + d = describe() + e = [x for x in d["entities"] if x["type"] == "arc"] + check("ARC", len(e) == 1 and near(e[0]["radius"], 40.0), f"radius {e[0]['radius'] if e else None}") + if e: + sw = abs(e[0]["end_angle"] - e[0]["start_angle"]) * 180.0 / math.pi + # 1e-7 deg, not exact: the sweep is READ BACK as end_angle - start_angle, two atan2 + # results, where the line's angle is STORED as the direction it was given. A 1e-9 deg + # residual here is 7e-10 mm at r=40 — float round-trip, not a defect. + check("ANGLE", near(sw, 90.0, 1e-7), f"sweep {sw:.9f} deg") + ch = math.dist(e[0]["p0"], e[0]["p1"]) + check("VERTEX", near(ch, 40.0 * math.sqrt(2.0), 1e-6), + f"chord {ch:.6f} vs r*sqrt2 {40*math.sqrt(2):.6f}") + leave_sketch() + + +def rung_slot(): + print("\nA5 slot — typed centre distance 60, radius 10, angle 0") + enter_sketch("s") + clickmm(-30, 0); clickmm(30, 0); clickmm(30, 12) + values(60, 10, 0) + d = describe() + arcs = [x for x in d["entities"] if x["type"] == "arc"] + lns = [x for x in d["entities"] if x["type"] == "line"] + check("ARC", len(arcs) == 2 and all(near(a["radius"], 10.0) for a in arcs), + f"two end radii {[round(a['radius'], 9) for a in arcs]}") + check("LENGTH", len(lns) == 2 and all(near(l["length"], 60.0) for l in lns), + f"two flanks {[round(l['length'], 9) for l in lns]}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), 60 * 20 + math.pi * 100, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs 60*20+pi*100 {60*20+math.pi*100:.6f}") + leave_sketch() + + +def rung_polygon(): + print("\nA6 polygon — typed side 30, angle 0") + enter_sketch("g") + clickmm(0, 0); clickmm(35, 0) + values(30, 0) + d = describe() + e = [x for x in d["entities"] if x["type"] == "line"] + ls = lengths(d["entities"]) + check("LENGTH", len(e) >= 3 and all(near(l, 30.0, 1e-9) for l in ls), + f"{len(e)} equal sides {set(ls)}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + if e: + n = len(e) + want = n * 30.0 ** 2 / (4.0 * math.tan(math.pi / n)) + check("AREA", near(abs(lp[0]["area"]), want, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs regular {n}-gon {want:.6f}") + leave_sketch() + + +def rung_ellipse(): + print("\nA7 ellipse — typed major 50, minor 20") + enter_sketch("e") + clickmm(0, 0); clickmm(40, 0); clickmm(0, 15) + values(50, 20) + d = describe() + e = [x for x in d["entities"] if x["type"] == "ellipse"] + check("ARC", len(e) == 1, f"{len(e)} ellipse") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), math.pi * 50 * 20, 2e-2), + f"area {abs(lp[0]['area']):.4f} vs pi*a*b {math.pi*1000:.4f}") + leave_sketch() + + +def rung_point(): + print("\nA8 point — one click, no value to type") + enter_sketch("p") + clickmm(20, 10) + d = describe() + e = [x for x in d["entities"] if x["type"] == "point"] + check("VERTEX", len(e) == 1 and near(e[0]["p"][0], 20.0, 0.6) and near(e[0]["p"][1], 10.0, 0.6), + f"placed at {[round(v, 3) for v in e[0]['p']] if e else None}") + leave_sketch() + + +def rung_spline(): + print("\nA9 spline — click control points, right-click to end") + enter_sketch("b") + for p in [(-40, 0), (-15, 30), (15, -30), (40, 0)]: + clickmm(*p) + clickmm(40, 0, btn=3) + d = describe() + e = [x for x in d["entities"] if x["type"] == "spline"] + check("VERTEX", len(e) == 1, f"{len(e)} spline from 4 control points") + leave_sketch() + + +# =================================================================== LADDER B — voids by hand +# The strategic target itself: one closed outer loop with internal voids, every one of them +# drawn by gesture in a single sketch and given its size from the keyboard. + +def rung_voids(): + print("\nB1 closed profile with two internal voids, all by gesture") + enter_sketch("r") + clickmm(-60, -40); clickmm(60, 40) # outer 120 x 80 + values(120, 80) + key("r", 0.6) # same tool again, from the keyboard + clickmm(-45, -15); clickmm(-5, 15) # void 1: 40 x 30 + values(40, 30) + key("c", 0.6) + clickmm(30, 0); clickmm(42, 0) # void 2: circle r 10 + values(10) + d = describe() + ls = lengths(d["entities"]) + check("LENGTH", ls == [30.0, 30.0, 40.0, 40.0, 80.0, 80.0, 120.0, 120.0], f"sides {ls}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 3 and all(l["closed"] for l in lp), f"{len(lp)} closed loops") + check("CLOSED", d["buildable"] and not d["open_ends"], "buildable, nothing dangling") + # The void attribution is the property under test: the outer loop must OWN both inner ones, + # and neither inner loop may claim a hole of its own. + outer = max(range(len(lp)), key=lambda i: abs(lp[i]["area"])) + holes = sorted(lp[outer]["holes"]) + check("VOID", holes == sorted(i for i in range(len(lp)) if i != outer), + f"outer loop {outer} owns holes {holes}") + check("VOID", all(not lp[i]["holes"] for i in range(len(lp)) if i != outer), + "neither void claims a hole of its own") + a = {i: abs(lp[i]["area"]) for i in range(len(lp))} + check("AREA", near(a[outer], 9600.0, 1e-6), f"outer {a[outer]:.6f}") + inner = sorted(a[i] for i in a if i != outer) + check("AREA", near(inner[0], math.pi * 100, 1e-6) and near(inner[1], 1200.0, 1e-6), + f"voids {inner[0]:.6f} (pi*100) and {inner[1]:.6f} (40*30)") + net = a[outer] - sum(v for i, v in a.items() if i != outer) + check("AREA", near(net, 9600.0 - 1200.0 - math.pi * 100, 1e-6), f"net material {net:.6f}") + leave_sketch() + + +# =================================================================== LADDER C — combining +# Mirror, offset, trim, extend, fillet and chamfer, each driven by the same picks and the same +# on-geometry value label a person would use. The label's place is COMPUTED from the geometry +# the tool itself derives (render_op_gizmo: tip = anchor + dir * value, label = tip + dir * 1.2 +# * max(15 * unit_per_px, 1e-4)) rather than hunted for in the pixels — the tool's own formula +# is the only thing that can be right by construction. + +def op_label_mm(anchor, direction, value, at): + th = max(15.0 * mm_per_px(*at), 1e-4) + d = (direction[0] / math.hypot(*direction), direction[1] / math.hypot(*direction)) + tip = (anchor[0] + d[0] * value, anchor[1] + d[1] * value) + return (tip[0] + d[0] * th * 1.2, tip[1] + d[1] * th * 1.2) + + +def mid(e): + return ((e["p0"][0] + e["p1"][0]) / 2.0, (e["p0"][1] + e["p1"][1]) / 2.0) + + +def corner_of(a, b): + """The shared endpoint of two adjacent lines, and the bisector pointing into their wedge.""" + C = min(((pa, pb) for pa in (a["p0"], a["p1"]) for pb in (b["p0"], b["p1"])), + key=lambda t: math.dist(t[0], t[1]))[0] + def away(e): + f = e["p1"] if math.dist(e["p0"], C) < math.dist(e["p1"], C) else e["p0"] + n = math.dist(f, C) + return ((f[0] - C[0]) / n, (f[1] - C[1]) / n) + ua, ub = away(a), away(b) + bis = (ua[0] + ub[0], ua[1] + ub[1]) + return tuple(C), bis + + +def draw_rect(w, h, x0, y0): + clickmm(x0, y0); clickmm(x0 + w, y0 + h) + values(w, h) + + +def rung_fillet(): + print("\nC1 fillet — pick two legs, type radius 8 on the label") + enter_sketch("r") + draw_rect(120, 80, -60, -40) + d0 = describe()["entities"] + a, b = corner_pair(d0) + key("f", 0.6) + clickmm(*mid(a)); clickmm(*mid(b)) + C, bis = corner_of(a, b) + v0 = 0.2 * min(a["length"], b["length"]) + clickmm(*op_label_mm(C, bis, v0, C)) + values(8) + d = describe() + arcs = [x for x in d["entities"] if x["type"] == "arc"] + check("ARC", len(arcs) == 1 and near(arcs[0]["radius"], 8.0), f"radius {arcs[0]['radius'] if arcs else None}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + want = 9600.0 - 64.0 * (1.0 - math.pi / 4.0) + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), want, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs 9600 - r^2(1-pi/4) {want:.6f}") + if arcs: + # TANGENT: the arc centre must sit exactly r from each surviving leg's line. + legs = [x for x in d["entities"] if x["type"] == "line"] + ds = sorted(point_line_dist(arcs[0]["center"], l) for l in legs)[:2] + check("TANGENT", all(near(x, 8.0, 1e-9) for x in ds), f"centre stands off both legs by {ds}") + leave_sketch() + + +def rung_chamfer(): + print("\nC2 chamfer — pick two legs, type distance 10 on the label") + enter_sketch("r") + draw_rect(120, 80, -60, -40) + d0 = describe()["entities"] + a, b = corner_pair(d0) + key("h", 0.6) + clickmm(*mid(a)); clickmm(*mid(b)) + C, bis = corner_of(a, b) + clickmm(*op_label_mm(C, bis, 0.2 * min(a["length"], b["length"]), C)) + values(10) + d = describe() + lp = d["closed_loops"] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + check("LENGTH", len(lp) == 1 and len(lp[0]["entities"]) == 5, + f"{len(lp[0]['entities'])} sides after the cut") + ls = sorted(e["length"] for e in d["entities"] if e["type"] == "line") + check("LENGTH", any(near(x, 10.0 * math.sqrt(2.0), 1e-9) for x in ls), + f"the new face is d*sqrt2 = {10*math.sqrt(2):.9f}; sides {[round(x,9) for x in ls]}") + check("LENGTH", near(ls[1], 70.0, 1e-9) and near(ls[3], 110.0, 1e-9), + "both legs shortened by exactly d") + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), 9600.0 - 50.0, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs 9600 - d^2/2") + leave_sketch() + + +def rung_offset(): + print("\nC3 offset — pick a circle, type 5 on the label") + enter_sketch("c") + clickmm(0, 0); clickmm(30, 0) + values(25) + key("o", 0.6) + clickmm(25, 0) # pick the rim + # Circle offset anchors at centre + (r, 0) and grows along +x; the starting value is 0.1 * 2r. + clickmm(*op_label_mm((25.0, 0.0), (1.0, 0.0), 0.1 * 50.0, (25.0, 0.0))) + values(5) + d = describe() + cs = sorted(x["radius"] for x in d["entities"] if x["type"] == "circle") + # The gizmo's arrow starts on the +x side, so the typed 5 lands OUTWARD; what the goal cares + # about is that the separation is exactly the number typed, on whichever side it was given. + check("ARC", len(cs) == 2 and near(cs[0], 25.0) and near(cs[1] - cs[0], 5.0), + f"radii {cs} — separated by exactly {cs[1]-cs[0] if len(cs)==2 else None}") + lp = d["closed_loops"] + check("CLOSED", len(lp) == 2 and all(l["closed"] for l in lp), f"{len(lp)} closed loops") + check("VOID", any(l["holes"] for l in lp), "the inner circle is read as a void of the outer") + leave_sketch() + + +def cross(a, b): + """Where two lines' infinite supports meet.""" + (x1, y1), (x2, y2) = a["p0"], a["p1"] + (x3, y3), (x4, y4) = b["p0"], b["p1"] + d = (x2 - x1) * (y4 - y3) - (y2 - y1) * (x4 - x3) + t = ((x3 - x1) * (y4 - y3) - (y3 - y1) * (x4 - x3)) / d + return (x1 + t * (x2 - x1), y1 + t * (y2 - y1)) + + +def mid_of(a, b): + return ((a[0] + b[0]) / 2.0, (a[1] + b[1]) / 2.0) + + +def point_line_dist(p, l): + (x0, y0), (x1, y1) = l["p0"], l["p1"] + dx, dy = x1 - x0, y1 - y0 + n = math.hypot(dx, dy) + return abs((p[0] - x0) * dy - (p[1] - y0) * dx) / n + + +def corner_pair(ents): + """Two adjacent lines of a rectangle: the first line and the one sharing an endpoint.""" + ls = [e for e in ents if e["type"] == "line"] + a = ls[0] + for b in ls[1:]: + if min(math.dist(pa, pb) for pa in (a["p0"], a["p1"]) for pb in (b["p0"], b["p1"])) < 1e-6: + return a, b + die("no adjacent pair in what should be a rectangle") + + +CONSTRUCTION_CHECKBOX = (419, 75 + CHROME_DY) + + +def draw_line(x0, y0, x1, y1, length, angle): + clickmm(x0, y0); clickmm(x1, y1) + values(length, angle) + + +def rung_mirror(): + print("\nC4 mirror — a half profile reflected about a construction axis") + enter_sketch("l") + click(*CONSTRUCTION_CHECKBOX) # the axis is reference, not material + key("l", 0.6) + draw_line(0, -40, 0, 40, 80, 90) # the axis, on x = 0 + click(*CONSTRUCTION_CHECKBOX) # back to real geometry + key("l", 0.6) + draw_line(0, -40, 50, -40, 50, 0) + key("l", 0.6) + draw_line(50, -40, 50, 40, 80, 90) + key("l", 0.6) + draw_line(50, 40, 0, 40, 50, 180) + d0 = describe()["entities"] + axis = [e for e in d0 if e.get("construction")] + check("VERTEX", len(axis) == 1, f"{len(axis)} construction axis") + half = [e for e in d0 if e["type"] == "line" and not e.get("construction")] + check("LENGTH", len(half) == 3, f"{len(half)} lines in the half profile") + key("m", 0.6) + clickmm(*mid(axis[0])) + for e in half: + clickmm(*mid(e)) + clickmm(-90, 60) # empty space confirms + d = describe() + real = [e for e in d["entities"] if e["type"] == "line" and not e.get("construction")] + check("LENGTH", len(real) == 6, f"{len(real)} lines after the reflection") + lp = [l for l in d["closed_loops"]] + check("CLOSED", len(lp) == 1 and lp[0]["closed"], f"{len(lp)} closed loop(s)") + # Graded against the geometry ACTUALLY DRAWN, not against the coordinates I aimed at. A + # synthetic click lands on a whole pixel, so the half profile sits a few tenths of a + # millimetre off the origin; the typed values fix its lengths and angles, not its anchor. + # Demanding 8000.000000 here would grade my aim, and the mirror is what is under test. + far = max(half, key=lambda e: e["length"]) # the edge parallel to the axis + w = point_line_dist(mid(far), axis[0]) + want = 2.0 * w * far["length"] + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), want, 1e-6), + f"area {abs(lp[0]['area']):.6f} vs 2 x {w:.6f} x {far['length']:.6f} = {want:.6f}") + # SYMMETRY is the property this rung exists for: every vertex must have its exact reflection + # ABOUT THE AXIS THAT WAS DRAWN. + vs = [tuple(p) for e in real for p in (e["p0"], e["p1"])] + def refl(q): + (ax, ay), (bx, by) = axis[0]["p0"], axis[0]["p1"] + dx, dy = bx - ax, by - ay + n = dx * dx + dy * dy + t = ((q[0] - ax) * dx + (q[1] - ay) * dy) / n + fx, fy = ax + t * dx, ay + t * dy + return (2 * fx - q[0], 2 * fy - q[1]) + missing = [v for v in vs if not any(math.dist(refl(v), o) < 1e-9 for o in vs)] + check("SYMMETRY", not missing, + f"every one of {len(vs)} vertices has its exact reflection about the drawn axis") + leave_sketch() + + +def rung_trim(): + print("\nC5 trim — cut one arm off a crossing") + enter_sketch("l") + draw_line(-50, 0, 50, 0, 100, 0) + key("l", 0.6) + draw_line(0, -50, 0, 50, 100, 90) + d0 = describe()["entities"] + horiz = min(d0, key=lambda e: abs(e["p1"][1] - e["p0"][1])) + vert = max(d0, key=lambda e: abs(e["p1"][1] - e["p0"][1])) + X = cross(horiz, vert) + left = min(horiz["p0"], horiz["p1"]) # the end that must survive + want = math.dist(left, X) + key("t", 0.6) + clickmm(*mid_of(X, max(horiz["p0"], horiz["p1"]))) # the arm on the far side of the crossing + d = describe() + ls = sorted(round(e["length"], 9) for e in d["entities"] if e["type"] == "line") + check("LENGTH", len(ls) == 2 and near(ls[1], vert["length"], 1e-9) and near(ls[0], want, 1e-9), + f"lengths {ls} — the picked arm is gone at the crossing (expected {want:.9f}), " + f"the other line untouched") + ends = [tuple(p) for e in d["entities"] if e["type"] == "line" for p in (e["p0"], e["p1"])] + check("VERTEX", any(math.dist(X, q) < 1e-9 for q in ends), "the cut lands exactly on the crossing") + leave_sketch() + + +def rung_extend(): + print("\nC6 extend — reach a line to the one it stops short of") + enter_sketch("l") + draw_line(-50, 0, -10, 0, 40, 0) + key("l", 0.6) + draw_line(0, -50, 0, 50, 100, 90) + d0 = describe()["entities"] + short = min(d0, key=lambda e: e["length"]) + vert = max(d0, key=lambda e: e["length"]) + X = cross(short, vert) + far = min((short["p0"], short["p1"]), key=lambda q: q[0]) # the end that stays put + near_end = max((short["p0"], short["p1"]), key=lambda q: q[0]) + want = math.dist(far, X) + key("x", 0.6) + clickmm(*mid_of(near_end, mid_of(far, near_end))) # click the end that must grow + d = describe() + ls = sorted(round(e["length"], 9) for e in d["entities"] if e["type"] == "line") + check("LENGTH", len(ls) == 2 and near(ls[0], want, 1e-9), + f"lengths {ls} — {short['length']:.6f} grew to exactly {want:.9f}") + ends = [tuple(p) for e in d["entities"] if e["type"] == "line" for p in (e["p0"], e["p1"])] + check("VERTEX", any(math.dist(X, q) < 1e-9 for q in ends), + "the new end sits exactly on the target line") + leave_sketch() + + +# =================================================================== LADDER D — dimensions +# A drawn shape with no numbers on it, then numbers put on it by hand: the Dimension tool for a +# value, the Constrain buttons for a relation. Both must hold the value they were given AND take +# the degrees of freedom away — a dimension that moves the geometry but leaves the DoF standing +# has not constrained anything, it has only nudged it. + +# Constrain-mode toolbar, measured off the rig at 1920x1080 (icon centres, 42 px apart). +# +# THIS LIST MIRRORS THE cbtn() SEQUENCE IN DesignPanel.cpp AND HAS TO BE UPDATED WHEN A BUTTON +# IS INSERTED. Positions are computed by index, so inserting a button shifts every entry after +# it and the map silently points at the wrong icon -- a rung then applies some OTHER constraint +# and fails with a geometric message that says nothing about buttons. +# +# It has already happened once, undetected: equal_radius and collinear (after "equal"), sym_v +# and sym_h (after "symmetric") and dist_x and dist_y (after "fix") were added while this list +# still had 14 names. Everything from index 6 on was wrong in both forks. Nothing caught it +# because the ladder only ever clicks "perpendicular" (3) and "equal" (5), both of which sit +# before the first insertion. The next rung to use "tangent" would have clicked "collinear". +CON_BTN_Y = 76 + CHROME_DY +CON_BTN = {n: (449 + 42 * i, CON_BTN_Y) for i, n in enumerate( + ["horizontal", "vertical", "parallel", "perpendicular", "coincident", "equal", + "equal_radius", "collinear", "concentric", "tangent", "midpoint", "symmetric", + "sym_v", "sym_h", "angle", "radius", "diameter", "fix", "dist_x", "dist_y"])} + +# The SAME twenty buttons, at their SKETCH-mode x. Constraining during a sketch put the group +# after the (wide) sketch toolbar instead of at the start of an otherwise empty row, so every +# button sits 228 px further right. Measured, not derived: the strip was screenshotted in sketch +# mode and the icon columns detected — first centre 677, pitch 42, twenty of them. Deriving it +# from the Constrain-mode map is exactly how this table drifted the last time. +# NOTE FOR THIS FORK: 677 was measured on the OTHER fork's rig. Y is safe (it rides CON_BTN_Y, +# which already carries CHROME_DY), but the X start depends on how wide the sketch toolbar to the +# left of this group renders, and this fork keeps mainline's top row. Re-measure before trusting +# D11 here: screenshot in sketch mode and detect the icon columns, do not derive it by offset. +CON_BTN_SKETCH = {n: (677 + 42 * i, CON_BTN_Y) for i, n in enumerate( + ["horizontal", "vertical", "parallel", "perpendicular", "coincident", "equal", + "equal_radius", "collinear", "concentric", "tangent", "midpoint", "symmetric", + "sym_v", "sym_h", "angle", "radius", "diameter", "fix", "dist_x", "dist_y"])} + + +def draw_rect_undimensioned(): + """A rectangle by two clicks, with both queued value fields dismissed (Esc keeps it as drawn).""" + clickmm(-60, -40); clickmm(60, 40) + key("Escape", 0.7) # Width — keep as drawn + key("Escape", 0.7) # Height — keep as drawn + + +def rung_dimension(): + print("\nD1 dimension — put a length on a side that had none") + enter_sketch("r") + draw_rect_undimensioned() + d0 = describe() + dof0 = d0["dof"] + check("VERTEX", dof0 > 0, f"the undimensioned rectangle has {dof0} degrees of freedom") + side = max((e for e in d0["entities"] if e["type"] == "line"), key=lambda e: e["length"]) + key("d", 0.6) + clickmm(*mid(side)) + values(90) + d = describe() + ls = sorted(round(e["length"], 9) for e in d["entities"] if e["type"] == "line") + check("LENGTH", any(near(x, 90.0, 1e-9) for x in ls), f"the dimensioned side reads {ls}") + check("VERTEX", d["dof"] < dof0, f"degrees of freedom {dof0} -> {d['dof']}") + check("CLOSED", d["solve_ok"] and len(d["closed_loops"]) == 1, "still one closed, solved loop") + leave_sketch() + + +CONFIRM_BTN = (1751, 75 + CHROME_DY) + + +def confirm_and_reopen(): + """(see reopen_sketch below — same two steps, kept together for the constrain rungs)""" + """Leave Constrain with the action bar's tick, then re-open the sketch for editing. + + THE DoF HAS TO BE READ HERE, not in Constrain mode. While constraining, sketch_describe + reports the LIVE tool's dof and constraint count, which the constrain session does not + touch — it works on the committed feature's own entity_constraints, and the panel computes + its readout from those. Reading during the session says 4 -> 4 for a constraint that really + did land; reading after the round trip says 4 -> 3, and proves the constraint was persisted + rather than merely previewed. + """ + click(*CONFIRM_BTN, pause=1.5) + w, X, Y, _, _ = win() + sh(f"DISPLAY={DISP} xdotool mousemove {X+TREE_ROW0[0]} {Y+TREE_ROW0[1]} " + f"click --repeat 2 --delay 120 1") + time.sleep(2.0) + return describe() + + +def rung_constrain(): + reset_document() + print("\nD2 constrain — Equal length on two adjacent sides, from the Constrain toolbar") + enter_sketch("r") + draw_rect_undimensioned() + a, b = corner_pair(describe()["entities"]) + check("LENGTH", not near(a["length"], b["length"], 1e-6), + f"the two sides start unequal: {a['length']:.6f} vs {b['length']:.6f}") + key("k", 1.5) # finish the sketch and enter Constrain + # Re-read the picks from the COMMITTED sketch: finish_sketch repackages the entities, so an + # index taken before Constrain is not the same index afterwards. + d1 = describe() + a, b = corner_pair(d1["entities"]) + dof0 = 4 # an undimensioned rectangle: position + size + ia, ib = d1["entities"].index(a), d1["entities"].index(b) + clickmm(*mid(a)); clickmm(*mid(b)) + click(*CON_BTN["equal"]) + time.sleep(1.0) + d = describe() + la, lb = d["entities"][ia]["length"], d["entities"][ib]["length"] + check("LENGTH", near(la, lb, 1e-9), f"the two sides are now equal: {la:.9f} and {lb:.9f}") + d2 = confirm_and_reopen() + check("VERTEX", d2["dof"] == dof0 - 1, f"degrees of freedom {dof0} -> {d2['dof']} after the round trip") + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + ls2 = sorted(round(e["length"], 9) for e in d2["entities"] if e["type"] == "line") + check("LENGTH", near(ls2[0], la, 1e-9) and near(ls2[-1], la, 1e-9), + f"the geometry came back unchanged: {ls2}") + leave_sketch() + + +def rung_perpendicular(): + reset_document() + print("\nD3 constrain — two free lines made exactly perpendicular") + enter_sketch("l") + clickmm(-50, -30); clickmm(30, -18) + key("Escape", 0.7); key("Escape", 0.7) + key("l", 0.6) + # 56 degrees off the first line, not 3. The original second point put the pair within + # inference's perpendicular tolerance, so on a rig whose camera maps the click a pixel + # differently the two lines arrive ALREADY at exactly 90.000000 -- inference did the job the + # rung exists to test, and the precondition failed while every later check passed. Held on + # one fork and failed on the other from the same source, which is the signature of a rung + # that depends on luck. Start well outside any snap tolerance so the button has real work. + clickmm(30, -18); clickmm(55, 35) + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + check("ANGLE", abs(angle_between(d0["entities"][0], d0["entities"][1]) - 90.0) > 1e-3, + f"they start at {angle_between(d0['entities'][0], d0['entities'][1]):.6f} deg") + key("k", 1.5) + d1 = describe() + clickmm(*mid(d1["entities"][0])); clickmm(*mid(d1["entities"][1])) + click(*CON_BTN["perpendicular"]) + time.sleep(1.0) + d = describe() + ang = angle_between(d["entities"][0], d["entities"][1]) + # 1e-6 deg, which is 1.7e-8 radians: the LIVE solve converges to its own tolerance and lands + # at 89.999999991 from a 51 deg start. The old 1e-9 held only because the pair began 3 deg + # from square, so the correction was tiny -- it was measuring how little work the solver had + # to do, not whether the lines came out perpendicular. The round-trip check below still + # demands exactly 90: the committed feature re-solves from scratch and gets there. + check("ANGLE", near(ang, 90.0, 1e-6), f"now {ang:.9f} deg") + d2 = confirm_and_reopen() + ang2 = angle_between(d2["entities"][0], d2["entities"][1]) + check("ANGLE", near(ang2, 90.0, 1e-9), f"still {ang2:.9f} deg after the round trip") + check("CLOSED", d2["constraints"] > 0 and d2["solve_ok"], + f"{d2['constraints']} constraints survived, dof {d2['dof']}") + leave_sketch() + + +def angle_between(a, b): + va = (a["p1"][0] - a["p0"][0], a["p1"][1] - a["p0"][1]) + vb = (b["p1"][0] - b["p0"][0], b["p1"][1] - b["p0"][1]) + c = (va[0] * vb[0] + va[1] * vb[1]) / (math.hypot(*va) * math.hypot(*vb)) + return math.degrees(math.acos(max(-1.0, min(1.0, c)))) + + +def parallel_gap(a, b): + """How far from parallel, in degrees. Parallel reads 0 or 180; both mean parallel.""" + ang = angle_between(a, b) + return min(ang, 180.0 - ang) + + +def rung_parallel(): + reset_document() + print("\nD10 constrain — two divergent lines made parallel (the button had no rung at all)") + enter_sketch("l") + clickmm(-50, -30); clickmm(30, -18) + key("Escape", 0.7); key("Escape", 0.7) + key("l", 0.6) + # Well outside inference's 3 deg snap, for the same reason D3 starts at 56: a pair that + # arrives already parallel would let a dead button pass the rung. + clickmm(30, -18); clickmm(55, 35) + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + g0 = parallel_gap(d0["entities"][0], d0["entities"][1]) + check("ANGLE", g0 > 1e-3, f"they start {g0:.6f} deg from parallel") + key("k", 1.5) + d1 = describe() + clickmm(*mid(d1["entities"][0])); clickmm(*mid(d1["entities"][1])) + click(*CON_BTN["parallel"]) + time.sleep(1.0) + d = describe() + g = parallel_gap(d["entities"][0], d["entities"][1]) + check("ANGLE", near(g, 0.0, 1e-6), f"now {g:.9f} deg from parallel") + check("LENGTH", d["entities"][0]["length"] > 1.0 and d["entities"][1]["length"] > 1.0, + f"neither line collapsed: {d['entities'][0]['length']:.6f}, {d['entities'][1]['length']:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["constraints"] > 0 and d2["solve_ok"], + f"{d2['constraints']} constraints survived the commit, dof {d2['dof']}") + leave_sketch() + + +def rung_live_constrain(): + reset_document() + print("\nD11 constrain WHILE SKETCHING — no commit, no tree pick, no padlock") + enter_sketch("l") + clickmm(-50, -30); clickmm(30, -18) + key("Escape", 0.7); key("Escape", 0.7) + key("l", 0.6) + clickmm(30, -18); clickmm(55, 35) + # Two Escapes only: the first clears the polyline's pending point, the second drops the + # tool to Select. The session stays LIVE -- that is the whole point of this rung. + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + check("VERTEX", len(d0["entities"]) == 2, f"{len(d0['entities'])} entities in the live sketch") + g0 = parallel_gap(d0["entities"][0], d0["entities"][1]) + check("ANGLE", g0 > 1e-3, f"they start {g0:.6f} deg from parallel") + # Pick both in the LIVE session, then press the button. No "k": pressing Constrain is + # exactly the step this rung exists to prove is no longer necessary. + clickmm(*mid(d0["entities"][0])) + cx, cy = mid(d0["entities"][1]) + click_ctrl(*px(cx, cy)) + click(*CON_BTN_SKETCH["parallel"]) + time.sleep(1.2) + d = describe() + g = parallel_gap(d["entities"][0], d["entities"][1]) + check("ANGLE", near(g, 0.0, 1e-6), f"parallel without ever leaving the sketch: {g:.9f} deg") + check("LENGTH", d["entities"][0]["length"] > 1.0 and d["entities"][1]["length"] > 1.0, + f"neither line collapsed: {d['entities'][0]['length']:.6f}, {d['entities'][1]['length']:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["constraints"] > 0 and d2["solve_ok"], + f"{d2['constraints']} constraints survived the commit, dof {d2['dof']}") + leave_sketch() + + +# ---- the eleven buttons no rung had ever pressed ------------------------------------------ +# Twenty constraint buttons, nine of them exercised. The other eleven were "implemented" in the +# sense that the kernel builds the right def for them -- which is exactly what was true of +# Parallel this morning, right up until a user pressed it. What a kernel test cannot see: that +# the BUTTON is wired to the index its name claims. CON_BTN is 449 + 42*i over a hand-written +# name list and it has drifted once already, unnoticed for months, because nothing pressed +# anything past index 5. These rungs press the rest. + +def rung_vertical(): + reset_document() + print("\nD12 constrain — Vertical on one line, from a line that is not") + enter_sketch("l") + clickmm(-20, -35); clickmm(5, 30) + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + dx0 = abs(d0["entities"][0]["p1"][0] - d0["entities"][0]["p0"][0]) + check("VERTEX", dx0 > 1.0, f"it starts off-plumb by {dx0:.6f} mm") + key("k", 1.5) + d1 = describe() + clickmm(*mid(d1["entities"][0])) + click(*CON_BTN["vertical"]) + time.sleep(1.0) + d = describe() + e = d["entities"][0] + dx = abs(e["p1"][0] - e["p0"][0]) + check("VERTEX", near(dx, 0.0, 1e-6), f"now plumb: dx = {dx:.9f}") + check("LENGTH", e["length"] > 1.0, f"and it did not collapse: {e['length']:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_equal_radius_button(): + reset_document() + print("\nD13 constrain — the equal_radius button ITSELF (index 6: past where the map drifted)") + # D4 proves the SHARED Equal button promotes on two circles. This presses design_c_equal_radius, + # the first button after the six that were once inserted without updating this table. + enter_sketch("c") + clickmm(-35, 0); clickmm(-20, 0); key("Escape", 0.7) + key("c", 0.6) + clickmm(35, 0); clickmm(60, 0); key("Escape", 0.7) + d0 = describe() + cs = [e for e in d0["entities"] if e["type"] == "circle"] + check("ARC", len(cs) == 2 and not near(cs[0]["radius"], cs[1]["radius"], 1e-6), + f"they start unequal: {[round(c['radius'], 6) for c in cs]}") + key("k", 1.5) + d1 = describe() + cs = [e for e in d1["entities"] if e["type"] == "circle"] + ia, ib = d1["entities"].index(cs[0]), d1["entities"].index(cs[1]) + clickmm(*rim(cs[0])); clickmm(*rim(cs[1])) + click(*CON_BTN["equal_radius"]) + time.sleep(1.0) + d = describe() + ra, rb = d["entities"][ia]["radius"], d["entities"][ib]["radius"] + check("ARC", near(ra, rb, 1e-9), f"equal by the dedicated button: {ra:.9f} and {rb:.9f}") + check("ARC", ra > 1e-6, f"and not equal at zero: {ra:.9f}") + leave_sketch() + + +def rung_concentric(): + reset_document() + print("\nD14 constrain — Concentric puts two circles on one centre, radii untouched") + enter_sketch("c") + clickmm(-30, -10); clickmm(-14, -10); key("Escape", 0.7) + key("c", 0.6) + clickmm(28, 14); clickmm(52, 14); key("Escape", 0.7) + d0 = describe() + cs = [e for e in d0["entities"] if e["type"] == "circle"] + gap0 = math.dist(cs[0]["center"], cs[1]["center"]) + r_before = sorted(round(c["radius"], 9) for c in cs) + check("ARC", gap0 > 1.0, f"centres start {gap0:.6f} mm apart") + key("k", 1.5) + d1 = describe() + cs = [e for e in d1["entities"] if e["type"] == "circle"] + ia, ib = d1["entities"].index(cs[0]), d1["entities"].index(cs[1]) + clickmm(*rim(cs[0])); clickmm(*rim(cs[1])) + click(*CON_BTN["concentric"]) + time.sleep(1.0) + d = describe() + gap = math.dist(d["entities"][ia]["center"], d["entities"][ib]["center"]) + check("ARC", near(gap, 0.0, 1e-6), f"centres now coincide: {gap:.9f} mm apart") + # Concentric is about centres only. A solve that also equalised the radii would be wrong. + r_after = sorted(round(d["entities"][i]["radius"], 9) for i in (ia, ib)) + check("ARC", all(near(a, b, 1e-6) for a, b in zip(r_before, r_after)), + f"radii untouched: {r_before} -> {r_after}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_tangent(): + reset_document() + print("\nD15 constrain — Tangent brings a line to touch a circle exactly once") + enter_sketch("c") + clickmm(0, 0); clickmm(20, 0); key("Escape", 0.7) + key("l", 0.6) + # A line that clearly MISSES the circle: its perpendicular distance from the centre is well + # above the radius, so tangency has real work to do in the direction of shrinking the gap. + clickmm(-45, 38); clickmm(45, 44) + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + c0 = next(e for e in d0["entities"] if e["type"] == "circle") + l0 = next(e for e in d0["entities"] if e["type"] == "line") + d_before = point_line_distance(c0["center"], l0) + check("ARC", d_before > c0["radius"] + 1.0, + f"the line misses by {d_before - c0['radius']:.6f} mm") + key("k", 1.5) + d1 = describe() + c1 = next(e for e in d1["entities"] if e["type"] == "circle") + l1 = next(e for e in d1["entities"] if e["type"] == "line") + ic, il = d1["entities"].index(c1), d1["entities"].index(l1) + clickmm(*rim(c1)); clickmm(*mid(l1)) + click(*CON_BTN["tangent"]) + time.sleep(1.2) + d = describe() + cc, ll = d["entities"][ic], d["entities"][il] + dist = point_line_distance(cc["center"], ll) + check("ARC", near(dist, cc["radius"], 1e-6), + f"centre-to-line {dist:.9f} == radius {cc['radius']:.9f}") + check("ARC", cc["radius"] > 1e-6, f"and the circle did not collapse: r = {cc['radius']:.9f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_midpoint(): + reset_document() + print("\nD16 constrain — Midpoint drops a free point onto the middle of a line") + enter_sketch("l") + clickmm(-50, -20); clickmm(40, 26) + key("Escape", 0.7); key("Escape", 0.7) + key("p", 0.6) + clickmm(10, -35) + d0 = describe() + l0 = next(e for e in d0["entities"] if e["type"] == "line") + p0 = next(e for e in d0["entities"] if e["type"] == "point") + mid0 = ((l0["p0"][0] + l0["p1"][0]) / 2.0, (l0["p0"][1] + l0["p1"][1]) / 2.0) + check("VERTEX", math.dist(p0["p"], mid0) > 1.0, + f"the point starts {math.dist(p0['p'], mid0):.6f} mm off the midpoint") + key("k", 1.5) + d1 = describe() + l1 = next(e for e in d1["entities"] if e["type"] == "line") + p1 = next(e for e in d1["entities"] if e["type"] == "point") + il, ip = d1["entities"].index(l1), d1["entities"].index(p1) + # Point first, then the line: Midpoint binds a POINT role on ea and a whole segment on eb. + clickmm(*p1["p"]); clickmm(*mid(l1)) + click(*CON_BTN["midpoint"]) + time.sleep(1.2) + d = describe() + ll, pp = d["entities"][il], d["entities"][ip] + m = ((ll["p0"][0] + ll["p1"][0]) / 2.0, (ll["p0"][1] + ll["p1"][1]) / 2.0) + check("VERTEX", near(math.dist(pp["p"], m), 0.0, 1e-6), + f"the point sits on the midpoint: off by {math.dist(pp['p'], m):.9f}") + check("LENGTH", ll["length"] > 1.0, f"and the line did not collapse: {ll['length']:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_symmetric_line_axis(): + reset_document() + print("\nD17 constrain — Symmetric about a PICKED axis line (the three-pick form)") + # D7 covers the implicit-axis buttons. This is the plain Symmetric: two entities AND an axis + # entity, three picks, the only constraint on the bar that needs a third. + enter_sketch("l") + clickmm(0, -40); clickmm(0, 40) # the axis: a real line on x = 0 + key("Escape", 0.7); key("Escape", 0.7) + key("p", 0.6) + clickmm(-38, 12) + key("p", 0.6) + clickmm(14, 12) + d0 = describe() + ps = [e for e in d0["entities"] if e["type"] == "point"] + check("VERTEX", not near(abs(ps[0]["p"][0]), abs(ps[1]["p"][0]), 1e-3), + f"they start unmirrored: x = {ps[0]['p'][0]:.6f}, {ps[1]['p'][0]:.6f}") + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ax = next(e for e in d1["entities"] if e["type"] == "line") + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + iax = d1["entities"].index(ax) + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]); clickmm(*mid(ax)) + click(*CON_BTN["symmetric"]) + time.sleep(1.2) + d = describe() + # Measure against the axis WHERE IT NOW IS, not against x = 0. All three entities are free, + # so the solver is entitled to satisfy the mirror by moving the AXIS instead of the points -- + # and it does: the pair came out symmetric about x = -8.18, which is a correct solution and + # which an "xa == -xb" assertion calls a failure. That was this rung being wrong, not the app. + ax_now = d["entities"][iax] + sa = signed_point_line_distance(d["entities"][ia]["p"], ax_now) + sb = signed_point_line_distance(d["entities"][ib]["p"], ax_now) + ya, yb = d["entities"][ia]["p"][1], d["entities"][ib]["p"][1] + check("VERTEX", near(sa, -sb, 1e-6), + f"mirrored about the picked line: {sa:.9f} and {sb:.9f} from it") + check("VERTEX", abs(sa) > 1e-6, f"and not both collapsed onto it: |d| = {abs(sa):.9f}") + check("VERTEX", near(ya, yb, 1e-6), f"y untouched on both: {ya:.6f}, {yb:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_symmetric_h(): + reset_document() + print("\nD18 constrain — symmetric about the HORIZONTAL axis (sym_h, the twin of D7)") + enter_sketch("p") + clickmm(20, -34) + key("p", 0.6) + clickmm(20, 9) + d0 = describe() + ps = [e for e in d0["entities"] if e["type"] == "point"] + check("VERTEX", not near(abs(ps[0]["p"][1]), abs(ps[1]["p"][1]), 1e-3), + f"they start unmirrored: y = {ps[0]['p'][1]:.6f}, {ps[1]['p'][1]:.6f}") + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]) + click(*CON_BTN["sym_h"]) + time.sleep(1.0) + d = describe() + xa, xb = d["entities"][ia]["p"][0], d["entities"][ib]["p"][0] + ya, yb = d["entities"][ia]["p"][1], d["entities"][ib]["p"][1] + check("VERTEX", near(ya, -yb, 1e-9), f"mirrored across y = 0: {ya:.9f} and {yb:.9f}") + check("VERTEX", abs(ya) > 1e-6, f"and not both collapsed onto the axis: |y| = {abs(ya):.9f}") + check("VERTEX", near(xa, xb, 1e-6), f"x untouched on both: {xa:.6f}, {xb:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_radius(): + reset_document() + print("\nD19 constrain — a typed Radius drives the circle to exactly that radius") + enter_sketch("c") + clickmm(0, 0); clickmm(31, 0); key("Escape", 0.7) + d0 = describe() + c0 = next(e for e in d0["entities"] if e["type"] == "circle") + check("ARC", not near(c0["radius"], 22.0, 1e-3), f"it starts at r = {c0['radius']:.6f}") + key("k", 1.5) + d1 = describe() + c1 = next(e for e in d1["entities"] if e["type"] == "circle") + ic = d1["entities"].index(c1) + ctr = list(c1["center"]) + clickmm(*rim(c1)) + click(*CON_BTN["radius"]) + time.sleep(0.8) + values(22) + d = describe() + cc = d["entities"][ic] + check("ARC", near(cc["radius"], 22.0, 1e-6), f"radius driven to {cc['radius']:.9f}") + # A Radius constraint moves the RIM, never the centre. + check("ARC", near(math.dist(cc["center"], ctr), 0.0, 1e-6), + f"and the centre stayed put: moved {math.dist(cc['center'], ctr):.9f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_diameter(): + reset_document() + print("\nD20 constrain — a typed Diameter is a diameter, not a radius") + # The failure this exists for is a factor of two: Diameter wired to the Radius handler gives + # a circle of r = 30 for a typed 30, and nothing about the sketch looks wrong. + enter_sketch("c") + clickmm(0, 0); clickmm(19, 0); key("Escape", 0.7) + key("k", 1.5) + d1 = describe() + c1 = next(e for e in d1["entities"] if e["type"] == "circle") + ic = d1["entities"].index(c1) + clickmm(*rim(c1)) + click(*CON_BTN["diameter"]) + time.sleep(0.8) + values(30) + d = describe() + r = d["entities"][ic]["radius"] + check("ARC", near(r, 15.0, 1e-6), f"typed diameter 30 gives radius {r:.9f}, not 30") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_fix(): + reset_document() + print("\nD21 constrain — Fix anchors a point, and the anchor is what the solver moves around") + # Fix on its own is unfalsifiable: nothing moved, so nothing proves it did anything. The + # property only becomes observable when a SECOND constraint would otherwise have moved the + # fixed point -- so drive the pair apart and see which end travels. + enter_sketch("p") + clickmm(-25, 0) + key("p", 0.6) + clickmm(15, 0) + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + anchor = list(ps[0]["p"]) + clickmm(*ps[0]["p"]) + click(*CON_BTN["fix"]) + time.sleep(1.0) + d = describe() + check("VERTEX", near(math.dist(d["entities"][ia]["p"], anchor), 0.0, 1e-9), + "the fixed point did not move when it was fixed") + # Now demand a horizontal gap far from the current one. Only the FREE point may travel. + clickmm(*d["entities"][ia]["p"]); clickmm(*d["entities"][ib]["p"]) + click(*CON_BTN["dist_x"]) + time.sleep(0.8) + values(70) + d = describe() + moved_a = math.dist(d["entities"][ia]["p"], anchor) + gap = abs(d["entities"][ib]["p"][0] - d["entities"][ia]["p"][0]) + check("LENGTH", near(gap, 70.0, 1e-6), f"the gap was driven to {gap:.9f}") + check("VERTEX", near(moved_a, 0.0, 1e-6), + f"and the anchored point held station: moved {moved_a:.9f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 1, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_distance_y(): + reset_document() + print("\nD22 constrain — vertical distance, and it is not the straight-line one either") + enter_sketch("p") + clickmm(-22, -18) + key("p", 0.6) + clickmm(19, 24) + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + dx_before = d1["entities"][ib]["p"][0] - d1["entities"][ia]["p"][0] + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]) + click(*CON_BTN["dist_y"]) + time.sleep(0.8) + values(35) + d = describe() + gy = abs(d["entities"][ib]["p"][1] - d["entities"][ia]["p"][1]) + gx = d["entities"][ib]["p"][0] - d["entities"][ia]["p"][0] + check("LENGTH", near(gy, 35.0, 1e-6), f"vertical gap driven to {gy:.9f}") + check("VERTEX", near(gx, dx_before, 1e-6), + f"the horizontal gap is untouched at {gx:.9f} — this is not a straight-line distance") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def signed_point_line_distance(p, line): + """Perpendicular distance with a SIGN, so the two sides of a mirror are distinguishable.""" + x0, y0 = line["p0"]; x1, y1 = line["p1"] + dx, dy = x1 - x0, y1 - y0 + n = math.hypot(dx, dy) + return (dy * (p[0] - x0) - dx * (p[1] - y0)) / n + + +def point_line_distance(p, line): + """Perpendicular distance from a point to the INFINITE line through a segment.""" + x0, y0 = line["p0"]; x1, y1 = line["p1"] + dx, dy = x1 - x0, y1 - y0 + n = math.hypot(dx, dy) + return abs(dy * (p[0] - x0) - dx * (p[1] - y0)) / n + + +# =================================================================== DURABILITY +# Exactness that does not survive an undo or a save is not exactness. + +def rim(e, deg=135.0): + """A point on a circle's rim, away from +X. + + NOT the +X point: a click there grabs the RADIUS GRIP instead of selecting the circle, + and a grip click REPLACES the selection with that one entity — so the second pick of a + two-entity constraint silently discards the first. + """ + a = math.radians(deg) + return (e["center"][0] + e["radius"] * math.cos(a), + e["center"][1] + e["radius"] * math.sin(a)) + + +def rung_equal_radius(): + reset_document() + print("\nD4 constrain — Equal on two CIRCLES means equal radius, not equal length") + # The dead end this fixed: two circles + Equal used to emit EQUAL_LENGTH_LINES, which + # constrains nothing on a curve. The user got a silent no-op with no error and no way to + # tell why. One Equal button, two meanings — lines get length, curves get radius. + # NOT dimensioned: a typed radius is a DRIVING Radius constraint, and EqualRadius on two + # circles pinned to 15 and 25 is genuinely inconsistent -- the kernel refuses the addition + # and is right to. Draw them at different sizes and leave the radius free. + enter_sketch("c") + clickmm(-35, 0); clickmm(-20, 0); key("Escape", 0.7) + key("c", 0.6) + clickmm(35, 0); clickmm(60, 0); key("Escape", 0.7) + d0 = describe() + cs = [e for e in d0["entities"] if e["type"] == "circle"] + check("ARC", len(cs) == 2 and not near(cs[0]["radius"], cs[1]["radius"], 1e-6), + f"they start unequal: {[round(c['radius'], 6) for c in cs]}") + key("k", 1.5) + d1 = describe() + cs = [e for e in d1["entities"] if e["type"] == "circle"] + ia, ib = d1["entities"].index(cs[0]), d1["entities"].index(cs[1]) + clickmm(*rim(cs[0])); clickmm(*rim(cs[1])) + click(*CON_BTN["equal"]) # the SHARED Equal button, not design_c_equal_radius + time.sleep(1.0) + d = describe() + ra, rb = d["entities"][ia]["radius"], d["entities"][ib]["radius"] + check("ARC", near(ra, rb, 1e-9), f"the two radii are now equal: {ra:.9f} and {rb:.9f}") + check("ARC", ra > 1e-6, f"and not equal at zero: {ra:.9f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + rs = sorted(round(e["radius"], 9) for e in d2["entities"] if e["type"] == "circle") + check("ARC", len(rs) == 2 and near(rs[0], rs[-1], 1e-9), + f"still equal after the round trip: {rs}") + leave_sketch() + + +def rung_collinear(): + reset_document() + print("\nD5 constrain — two offset lines brought onto one infinite line") + # Oblique on purpose: axis-aligned segments pick up an auto Horizontal at draw time, and + # this rung is about Collinear, not about interacting with inference. + enter_sketch("l") + clickmm(-60, -14); clickmm(-12, -6) + key("Escape", 0.7); key("Escape", 0.7) + key("l", 0.6) + clickmm(12, 14); clickmm(60, 22) + key("Escape", 0.7); key("Escape", 0.7) + d0 = describe() + ls = [e for e in d0["entities"] if e["type"] == "line"] + check("VERTEX", len(ls) == 2 and abs(ls[0]["p0"][1] - ls[1]["p0"][1]) > 1.0, + f"they start on different lines, dy = {abs(ls[0]['p0'][1] - ls[1]['p0'][1]):.6f}") + key("k", 1.5) + d1 = describe() + ls = [e for e in d1["entities"] if e["type"] == "line"] + ia, ib = d1["entities"].index(ls[0]), d1["entities"].index(ls[1]) + clickmm(*mid(ls[0])); clickmm(*mid(ls[1])) + click(*CON_BTN["collinear"]) + time.sleep(1.0) + d = describe() + A, B = d["entities"][ia], d["entities"][ib] + ax, ay = A["p0"] + dx, dy = A["p1"][0] - ax, A["p1"][1] - ay + cross = [dx * (q[1] - ay) - dy * (q[0] - ax) for q in (B["p0"], B["p1"])] + check("VERTEX", all(abs(c) < 1e-6 for c in cross), + f"both ends of the second line lie on the first: cross {[round(c, 9) for c in cross]}") + # A line collapsed to a point is trivially collinear with anything, so the cross products + # above pass on a degenerate solve. Both lines have to survive. + check("LENGTH", A["length"] > 1.0 and B["length"] > 1.0, + f"neither line collapsed: {A['length']:.6f}, {B['length']:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_distance_xy(): + reset_document() + print("\nD6 constrain — horizontal distance, and accepting its own value moves nothing") + enter_sketch("p") + clickmm(-30, -20) + key("p", 0.6) + clickmm(25, 18) + # A THIRD point, placed now while the point tool is still armed. The typed half of this rung + # needs a pair that carries no dimension yet, and pressing "p" again once the constrain tool + # has taken over does not re-arm the point tool -- the click is consumed as a pick and no + # point appears, which read as an IndexError three lines later rather than as what it was. + key("p", 0.6) + clickmm(5, 5) + d0 = describe() + ps = [e for e in d0["entities"] if e["type"] == "point"] + check("VERTEX", len(ps) == 3, f"three points placed: {len(ps)}") + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + ic = d1["entities"].index(ps[2]) + + # THE NO-OP PROPERTY, which is the one a unit test cannot reach: the field opens pre-filled + # with the current projected gap, and pressing Return must change nothing. The constraint is + # SIGNED — (pB - pA).dot(axis) — so if the refs were ordered to show |delta| while the real + # delta is negative, accepting the number on screen teleports the point across its anchor. + before = [list(d1["entities"][ia]["p"]), list(d1["entities"][ib]["p"])] + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]) + click(*CON_BTN["dist_x"]) + time.sleep(0.8) + key("Return", 1.2) # accept the pre-filled value, type nothing + d = describe() + after = [list(d["entities"][ia]["p"]), list(d["entities"][ib]["p"])] + moved = max(abs(a - b) for pa, pb in zip(before, after) for a, b in zip(pa, pb)) + # 5 microns, not zero: the field shows two decimals, so accepting what it shows commits a + # ROUNDED value and the geometry legitimately shifts by up to half a displayed unit. The + # defect this guards is a sign flip, which moves the point by twice the gap — tens of + # millimetres. A 1e-6 tolerance here failed on a 0.96 micron rounding step, which is the + # instrument disagreeing with the display, not the app misbehaving. + check("VERTEX", moved < 5e-3, + f"accepting the shown value moved nothing (max {moved:.9f})") + # "nothing moved" passes just as happily when the constraint was never applied at all -- + # which is exactly how the phantom-endpoint bug hid. The gap has to be REAL and driveable, + # so prove the mechanism works before trusting the no-op above. + check("LENGTH", abs(d["entities"][ib]["p"][0] - d["entities"][ia]["p"][0]) > 1.0, + "and the two points still have a real horizontal gap to dimension") + + # Now drive it with a TYPED value, on a FRESH pair. Not on the pair just dimensioned: that + # one already carries its DistanceX, the button rightly refuses to dimension it twice, and no + # field opens — so the digits went nowhere and the gap kept the value the no-op step had + # accepted. A green "gap is 54.94" for a rung that typed 40 is the rung's fault, not the app's. + dy_before = d["entities"][ic]["p"][1] - d["entities"][ia]["p"][1] + clickmm(*d["entities"][ia]["p"]); clickmm(*d["entities"][ic]["p"]) + click(*CON_BTN["dist_x"]) + time.sleep(0.8) + values(40) + d = describe() + gx = abs(d["entities"][ic]["p"][0] - d["entities"][ia]["p"][0]) + gy = d["entities"][ic]["p"][1] - d["entities"][ia]["p"][1] + check("LENGTH", near(gx, 40.0, 1e-6), f"horizontal gap driven to {gx:.9f}") + check("VERTEX", near(gy, dy_before, 1e-6), + f"the vertical gap is untouched at {gy:.9f} — this is not a straight-line distance") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_coincident_points(): + reset_document() + print("\nD8 constrain — Coincident on two POINTS actually joins them") + # The regression this exists for: the closest-pair search used to enumerate {P0,p0},{P1,p1} + # on both entities, and a Point's p1 reads (0,0). For two points the phantom pair is at + # distance 0, which ALWAYS wins, so the constraint was added against a role the solver + # cannot resolve and dropped in silence -- constraints=0, the points never moved, no error. + # Two points is the simplest possible use of the button and it did nothing on every press. + enter_sketch("p") + clickmm(-30, -20) + key("p", 0.6) + clickmm(25, 18) + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + gap0 = math.dist(ps[0]["p"], ps[1]["p"]) + check("VERTEX", gap0 > 1.0, f"they start apart: {gap0:.6f}") + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]) + click(*CON_BTN["coincident"]) + time.sleep(1.2) + d = describe() + gap = math.dist(d["entities"][ia]["p"], d["entities"][ib]["p"]) + check("VERTEX", gap < 1e-6, f"and are now joined: gap {gap:.9f}") + # The count has to be read AFTER the round trip, never during the session: while + # constraining, sketch_describe reports the LIVE tool's constraints, which the constrain + # session never touches -- it writes the committed feature's entity_constraints. Reading it + # here says 0 for a constraint that really did land. Same trap the D2 rung documents. + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit — a dropped one leaves this at 0") + ps2 = [e for e in d2["entities"] if e["type"] == "point"] + check("VERTEX", math.dist(ps2[0]["p"], ps2[1]["p"]) < 1e-6, + "and they are still joined after the round trip") + leave_sketch() + + +def rung_symmetric_axis(): + reset_document() + print("\nD7 constrain — symmetric about the vertical axis, with no construction line") + # Plain Symmetric needs a third pick for the mirror axis, so being symmetric about the + # sketch's own vertical axis used to mean drawing a construction line first. This button + # uses the implicit axis: two picks, no axis entity. + enter_sketch("p") + clickmm(-40, 15) + key("p", 0.6) + clickmm(12, 15) + key("k", 1.5) + d1 = describe() + ps = [e for e in d1["entities"] if e["type"] == "point"] + ia, ib = d1["entities"].index(ps[0]), d1["entities"].index(ps[1]) + check("VERTEX", not near(abs(ps[0]["p"][0]), abs(ps[1]["p"][0]), 1e-3), + f"they start unmirrored: x = {ps[0]['p'][0]:.6f}, {ps[1]['p'][0]:.6f}") + clickmm(*ps[0]["p"]); clickmm(*ps[1]["p"]) + click(*CON_BTN["sym_v"]) + time.sleep(1.0) + d = describe() + xa, xb = d["entities"][ia]["p"][0], d["entities"][ib]["p"][0] + ya, yb = d["entities"][ia]["p"][1], d["entities"][ib]["p"][1] + check("VERTEX", near(xa, -xb, 1e-9), f"mirrored across x = 0: {xa:.9f} and {xb:.9f}") + # Both collapsing onto the axis satisfies the mirror trivially. + check("VERTEX", abs(xa) > 1e-6, f"and not both collapsed onto the axis: |x| = {abs(xa):.9f}") + check("VERTEX", near(ya, yb, 1e-6), f"y untouched on both: {ya:.6f}, {yb:.6f}") + d2 = confirm_and_reopen() + check("CLOSED", d2["solve_ok"] and d2["constraints"] > 0, + f"{d2['constraints']} constraints survived the commit") + leave_sketch() + + +def rung_type_guards(): + reset_document() + print("\nD9 constrain — a button that cannot apply must SAY so, not store a dead constraint") + # Both halves were live defects found by reviewing the DistanceX/Y fix for its class. + # + # Horizontal on a lone Point: P1 is a role the solver cannot resolve, so the constraint was + # dropped at ref_ok -- but still STORED. Measured before the fix: constraints 0 -> 1 after the + # commit, point unmoved. A constraint listed in the panel that can never do anything is worse + # than a refusal, because the panel then claims the sketch is constrained when it is not. + enter_sketch("p") + clickmm(-30, -20) + key("k", 1.5) + d = describe() + ps = [e for e in d["entities"] if e["type"] == "point"] + ia = d["entities"].index(ps[0]) + clickmm(*ps[0]["p"]) + click(*CON_BTN["horizontal"]) + time.sleep(1.0) + d = describe() + check("VERTEX", near(d["entities"][ia]["p"][0], ps[0]["p"][0], 1e-9) and + near(d["entities"][ia]["p"][1], ps[0]["p"][1], 1e-9), + "Horizontal on a point moved nothing, as it must") + d2 = confirm_and_reopen() + check("CLOSED", d2["constraints"] == 0, + f"and stored NO constraint: {d2['constraints']} (a dead stored one reads 1)") + leave_sketch() + + # Angle on two circles: p1-p0 on a circle is (0,0)-centre, so the field used to pre-fill with + # the angle between the two centre POSITION VECTORS -- 178.83 deg for two circles on the x + # axis -- and committing it fed SLVS_C_ANGLE two circle prims, which are not directions. + reset_document() + enter_sketch("c") + clickmm(-35, 0); clickmm(-20, 0); key("Escape", 0.7) + key("c", 0.6) + clickmm(35, 0); clickmm(60, 0); key("Escape", 0.7) + key("k", 1.5) + d = describe() + cs = [e for e in d["entities"] if e["type"] == "circle"] + clickmm(*rim(cs[0])); clickmm(*rim(cs[1])) + click(*CON_BTN["angle"]) + time.sleep(1.0) + check("ANGLE", not field_open(), + "Angle on two circles opened no value field") + key("Escape", 0.6) + d2 = confirm_and_reopen() + check("CLOSED", d2["constraints"] == 0, + f"and stored no angle: {d2['constraints']}") + leave_sketch() + + +def rung_undo(): + print("\nE1 undo — the last entity goes, the rest do not move") + enter_sketch("l") + draw_line(-50, -30, 0, -30, 50, 0) + key("l", 0.6); draw_line(0, -30, 0, 20, 50, 90) + key("l", 0.6); draw_line(0, 20, -40, 20, 40, 180) + before = describe()["entities"] + check("LENGTH", len(before) == 3, f"{len(before)} entities drawn") + key("ctrl+z", 1.0) + after = describe()["entities"] + check("VERTEX", len(after) == 2, f"{len(after)} entities after one undo") + same = all(math.dist(a["p0"], b["p0"]) == 0.0 and math.dist(a["p1"], b["p1"]) == 0.0 + for a, b in zip(before, after)) + check("VERTEX", same, "the two survivors are bit-identical, not re-solved") + key("ctrl+z", 1.0) + check("VERTEX", len(describe()["entities"]) == 1, "a second undo drops one more") + leave_sketch() + + +def rung_feature_undo(): + print("\nE2 undo/redo across the commit — a deleted sketch comes back exactly") + reset_document() + enter_sketch("r") + draw_rect(120, 80, -60, -40) + click(*CONFIRM_BTN, pause=1.5) + n0 = len(call("describe_scene")["features"]) + check("VERTEX", n0 == 1, f"{n0} feature committed") + click(*TREE_ROW0, pause=0.4) + key("Delete", 0.8) + check("VERTEX", not call("describe_scene")["features"], "the tree is empty after Delete") + key("ctrl+z", 1.5) + check("VERTEX", len(call("describe_scene")["features"]) == 1, "undo brings the feature back") + d = reopen_sketch() + ls = lengths(d["entities"]) + check("LENGTH", ls == [80.0, 80.0, 120.0, 120.0], f"and it is the same rectangle: {ls}") + lp = d["closed_loops"] + check("AREA", len(lp) == 1 and near(abs(lp[0]["area"]), 9600.0, 1e-6), + f"area {abs(lp[0]['area']):.6f}") + leave_sketch() + key("ctrl+y", 1.5) + check("VERTEX", not call("describe_scene")["features"], "redo removes it again") + reset_document() + + +PROJECT_FILE = "/tmp/gl-roundtrip.3mf" + + +def dialog_up(): + names = sh(f"DISPLAY={DISP} xdotool search --class '.' getwindowname %@") + return any(n and n != "snapmaker-orca" and "file" in n.lower() for n in names.splitlines()) + + +def file_dialog(path, settle=5.0): + """Type an absolute path into the GTK file chooser that is up, and accept it.""" + if not dialog_up(): + die("no file chooser came up") + key("ctrl+a", 0.3) + typ(path, 0.5) + key("Return", settle) + global _win + _win = None # saving renames the window; drop the cached geometry + + +def rung_roundtrip(): + print("\nE3 save and reload — the profile comes back to the last decimal") + reset_document() + enter_sketch("r") + draw_rect(120, 80, -60, -40) + key("r", 0.6); clickmm(-45, -15); clickmm(-5, 15); values(40, 30) + key("c", 0.6); clickmm(30, 0); clickmm(42, 0); values(10) + before = describe() + click(*CONFIRM_BTN, pause=1.5) + sh(f"rm -f {PROJECT_FILE}") + # Save AS, not Save: once a project has a path, Ctrl+S writes to it silently and no chooser + # appears — which is correct behaviour and a trap for a driver that assumes the dialog. + key("ctrl+shift+s", 3.0) + file_dialog(PROJECT_FILE) + size = sh(f"stat -c %s {PROJECT_FILE} 2>/dev/null").strip() + check("CLOSED", size.isdigit() and int(size) > 0, f"project written, {size} bytes") + reset_document() # wipe the tree, then read it back off disk + key("ctrl+o", 2.5) + file_dialog(PROJECT_FILE, settle=8.0) + go_design() # opening a project lands on Prepare + feats = call("describe_scene")["features"] + check("VERTEX", len(feats) == 1, f"the reloaded document has {len(feats)} feature(s)") + after = reopen_sketch() + b = sorted((e["type"], tuple(round(c, 12) for c in (e.get("p0") or e.get("center") or e.get("p"))), + round(e.get("length", e.get("radius", 0.0)), 12)) for e in before["entities"]) + a = sorted((e["type"], tuple(round(c, 12) for c in (e.get("p0") or e.get("center") or e.get("p"))), + round(e.get("length", e.get("radius", 0.0)), 12)) for e in after["entities"]) + check("VERTEX", a == b, f"{len(a)} entities identical to 12 decimals after the round trip") + lp = after["closed_loops"] + check("CLOSED", len(lp) == 3 and after["buildable"], f"{len(lp)} loops, buildable") + outer = max(range(len(lp)), key=lambda i: abs(lp[i]["area"])) + check("VOID", sorted(lp[outer]["holes"]) == sorted(i for i in range(len(lp)) if i != outer), + "the voids are still attributed to the outer loop") + check("AREA", near(abs(lp[outer]["area"]), 9600.0, 1e-9), f"outer area {abs(lp[outer]['area']):.9f}") + leave_sketch() + reset_document() + + +def rung_scale(): + print("\nE4 scale — a gesture on top of a sketch that already holds a thousand entities") + enter_sketch("r") + # The heavy profile is bulk-loaded through the socket ON PURPOSE: what is under test here is + # whether the interactive path still works with a large sketch already on screen, not where + # that sketch came from. A plate with a 20 x 15 grid of square cut-outs — 1204 entities. + # Sized to the region the calibration probes covered, so every part of it can actually be + # clicked: the camera is wherever the last rung left it, and a plate drawn off-screen would + # test nothing but my arithmetic. + x0, x1, y0, y1 = _SAFE + cx, cy = (x0 + x1) / 2.0, (y0 + y1) / 2.0 + hw, hh = (x1 - x0) * 0.44, (y1 - y0) * 0.44 + ents = [{"type": "line", "p0": [cx - hw, cy - hh], "p1": [cx + hw, cy - hh]}, + {"type": "line", "p0": [cx + hw, cy - hh], "p1": [cx + hw, cy + hh]}, + {"type": "line", "p0": [cx + hw, cy + hh], "p1": [cx - hw, cy + hh]}, + {"type": "line", "p0": [cx - hw, cy + hh], "p1": [cx - hw, cy - hh]}] + # 300 square cut-outs in the LEFT half; the right half stays clear so the gesture below has + # somewhere to land that is not within snapping distance of a cut-out corner. + pitch_x, pitch_y = hw * 0.9 / 20.0, hh * 1.9 / 15.0 + side = min(pitch_x, pitch_y) * 0.4 + for i in range(20): + for j in range(15): + x = cx - hw * 0.95 + i * pitch_x + y = cy - hh * 0.95 + j * pitch_y + c = [(x, y), (x + side, y), (x + side, y + side), (x, y + side), (x, y)] + for k in range(4): + ents.append({"type": "line", "p0": list(c[k]), "p1": list(c[k + 1])}) + t0 = time.monotonic(); call("sketch_add", entities=ents); t_add = time.monotonic() - t0 + d0 = describe() + check("SCALE", len(d0["entities"]) == len(ents), f"{len(d0['entities'])} entities loaded " + f"in {t_add*1000:.0f} ms") + lp0 = d0["closed_loops"] + check("CLOSED", len(lp0) == 301, f"{len(lp0)} closed loops") + outer = max(range(len(lp0)), key=lambda i: abs(lp0[i]["area"])) + check("AREA", near(abs(lp0[outer]["area"]), 4.0 * hw * hh, 1e-9), + f"outer plate {abs(lp0[outer]['area']):.9f} vs {4.0*hw*hh:.9f}") + check("VOID", len(lp0[outer]["holes"]) == 300, + f"all {len(lp0[outer]['holes'])} cut-outs attributed to the plate") + check("AREA", all(near(abs(lp0[h]["area"]), side * side, 1e-9) for h in lp0[outer]["holes"]), + f"every cut-out is exactly {side:.6f} squared") + # Now the part that matters: draw ONE more entity by hand, on top of all that. + # + # No Escape here, deliberately: this rung is the regression test for j7gc, where a + # bulk sketch_add made while a creation tool is armed was read as a drawn gesture, opened that + # tool's value field and swallowed the next key and click until one Escape dismissed it. The + # gesture below has to land on the FIRST try. Fixed by resyncing m_autoedit_seen in + # add_entities_scripted; if this rung ever needs an Escape again, the bug is back. + key("l", 0.8) + global PACE + PACE = 6.0 # a thousand entities re-solve between fields + t0 = time.monotonic() + ax, ay = cx + hw * 0.15, cy + hh * 0.55 # clear of the grid, inside the plate + want_len = int(hw * 0.5) # a WHOLE number: see value() on separators + clickmm(ax, ay); clickmm(ax + want_len, ay) + value(want_len) + dl = describe() + say(f"after the typed length: solve_ok={dl['solve_ok']} constraints={dl['constraints']} " + f"dof={dl['dof']} entities={len(dl['entities'])}") + value(0) + t_draw = time.monotonic() - t0 + d = describe() + check("SCALE", len(d["entities"]) == len(ents) + 1, + f"the gesture added exactly one entity ({t_draw:.1f} s including four synthetic events)") + new = d["entities"][-1] + check("LENGTH", near(new["length"], float(want_len), 1e-9), + f"and it took its typed length exactly: {new['length']}") + ang = math.degrees(math.atan2(new["p1"][1] - new["p0"][1], new["p1"][0] - new["p0"][0])) % 360.0 + check("ANGLE", near(ang, 0.0, 1e-9) or near(ang, 360.0, 1e-9), f"and its typed angle: {ang}") + same = all(math.dist(a["p0"], b["p0"]) == 0.0 and math.dist(a["p1"], b["p1"]) == 0.0 + for a, b in zip(d0["entities"], d["entities"])) + check("VERTEX", same, "and moved none of the thousand entities already there") + PACE = 1.0 + leave_sketch() + + +def reopen_sketch(): + w, X, Y, _, _ = win() + sh(f"DISPLAY={DISP} xdotool mousemove {X+TREE_ROW0[0]} {Y+TREE_ROW0[1]} " + f"click --repeat 2 --delay 120 1") + time.sleep(2.0) + return describe() + + +def rung_mirror_arcs(): + """C4b — mirror a shape that HAS ARCS. The rung above mirrors three straight lines, which is + why it sat green through the defect a user hit on 2026-08-23: a slot mirrored about a vertical + line came back with its caps at r=32.2 and a 237 deg sweep, one rail collapsed from 62.9 mm to + 2.1 mm, and the ORIGINAL was wrecked along with the copy. An arc has five degrees of freedom + and the copy was bound to its source by its CENTRE alone, so the solver was free to answer with + a different, internally consistent sketch. Circles were unaffected — a circle has no endpoints + to leave free — so the failure read as "circles fine, slots and rounded rectangles destroyed". + + Graded on the property the user actually stated: THE APPLIED RESULT IS THE PREVIEW. The copy is + the source reflected, the source does not move, and no arc comes back reflex. + """ + print("\nC4b mirror — a slot, so the reflection has arcs in it") + enter_sketch("l") + click(*CONSTRUCTION_CHECKBOX) + key("l", 0.6) + draw_line(0, -40, 0, 40, 80, 90) # the axis, on x = 0 + click(*CONSTRUCTION_CHECKBOX) + key("s", 0.6) # slot: two centreline ends, then the width + clickmm(-70, -10); clickmm(-30, -10); clickmm(-30, 0) + values(40, 10, 0) # typed, so the slot is exact before mirroring + d0 = describe()["entities"] + axis = [e for e in d0 if e.get("construction")][0] + slot = [e for e in d0 if not e.get("construction")] + arcs0 = [e for e in slot if e["type"] == "arc"] + check("ARC", len(arcs0) == 2, f"{len(arcs0)} caps on the slot") + + key("m", 0.6) + clickmm(*mid(axis)) + for e in slot: + if e["type"] == "line": + clickmm(*mid(e)) + else: # a point ON the arc, at its mid sweep + a = (e["start_angle"] + e["end_angle"]) / 2.0 + clickmm(e["center"][0] + e["radius"] * math.cos(a), + e["center"][1] + e["radius"] * math.sin(a)) + clickmm(60, 60) # empty space confirms + d1 = describe()["entities"] + check("VERTEX", len(d1) == len(d0) + len(slot), + f"{len(d1) - len(d0)} copies for {len(slot)} picked entities") + + # the sources, entity by entity, must be exactly where they were + def shape_of(e): + if e["type"] == "arc": + return (round(e["radius"], 9), round(abs(e["end_angle"] - e["start_angle"]), 9)) + return (round(math.dist(e["p0"], e["p1"]), 9),) + moved = [i for i, e in enumerate(d0) if shape_of(e) != shape_of(d1[i])] + check("VERTEX", not moved, f"the mirror left every source alone (moved: {moved})") + + # and every copy is its source reflected — endpoints unordered, because a reflection + # reverses orientation and legitimately stores p0/p1 the other way round + (ax, ay), (bx, by) = axis["p0"], axis["p1"] + dx, dy = bx - ax, by - ay + n = math.hypot(dx, dy); dx, dy = dx / n, dy / n + def refl(q): + vx, vy = q[0] - ax, q[1] - ay + k = 2.0 * (vx * dx + vy * dy) + return (ax + k * dx - vx, ay + k * dy - vy) + copies = d1[len(d0):] + worst = 0.0 + for e in slot: + best = min(max(min(max(math.dist(refl(e["p0"]), c["p0"]), math.dist(refl(e["p1"]), c["p1"])), + max(math.dist(refl(e["p0"]), c["p1"]), math.dist(refl(e["p1"]), c["p0"]))), + abs(shape_of(e)[0] - shape_of(c)[0])) + for c in copies if c["type"] == e["type"]) + worst = max(worst, best) + check("SYMMETRY", worst <= 1e-6, f"every copy is the exact reflection (worst {worst:.9f})") + reflex = [c for c in copies + if c["type"] == "arc" and abs(c["end_angle"] - c["start_angle"]) > math.pi + 1e-9] + check("ARC", not reflex, f"{len(reflex)} copied cap(s) came back reflex — the 'cloud' failure") + + +RUNGS = {"rect": rung_rect, "circle": rung_circle, "line": rung_line, "arc": rung_arc, + "slot": rung_slot, "polygon": rung_polygon, "ellipse": rung_ellipse, + "point": rung_point, "spline": rung_spline, "voids": rung_voids, + "fillet": rung_fillet, "chamfer": rung_chamfer, "offset": rung_offset, + "mirror": rung_mirror, "mirror_arcs": rung_mirror_arcs, "trim": rung_trim, "extend": rung_extend, + "dimension": rung_dimension, "constrain": rung_constrain, + "perpendicular": rung_perpendicular, + "equal_radius": rung_equal_radius, "collinear": rung_collinear, + "distance_xy": rung_distance_xy, "symmetric_axis": rung_symmetric_axis, + "coincident_points": rung_coincident_points, + "type_guards": rung_type_guards, + "parallel": rung_parallel, "live_constrain": rung_live_constrain, + "vertical": rung_vertical, "equal_radius_button": rung_equal_radius_button, + "concentric": rung_concentric, "tangent": rung_tangent, "midpoint": rung_midpoint, + "symmetric_line_axis": rung_symmetric_line_axis, "symmetric_h": rung_symmetric_h, + "radius": rung_radius, "diameter": rung_diameter, "fix": rung_fix, + "distance_y": rung_distance_y, + "undo": rung_undo, + "feature_undo": rung_feature_undo, "roundtrip": rung_roundtrip, + "scale": rung_scale} + + +def main(): + want = sys.argv[1:] or list(RUNGS) + reset_document() + for name in want: + if name not in RUNGS: + die(f"unknown rung {name}; have {' '.join(RUNGS)}") + RUNGS[name]() + leave_sketch() + print(f"\n{_checks - _fail}/{_checks} properties held") + sys.exit(1 if _fail else 0) + + +if __name__ == "__main__": + main() diff --git a/scripts/CAD/check-mcp-sketch.py b/scripts/CAD/check-mcp-sketch.py new file mode 100755 index 0000000000..2e700921f5 --- /dev/null +++ b/scripts/CAD/check-mcp-sketch.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +"""Autonomous 2D-sketch loop: drive the Design tab's sketch layer over the MCP socket and +assert the things that decide whether a profile is buildable. + +WHY THIS EXISTS. The 2D layer used to be reachable only by clicking, so every question about it +("is this loop closed?", "did the offset survive?", "is the circle a void or a second body?") +cost a GUI session and a human. The socket verbs make each one a call, and this script is the +loop: build a known profile, ask the app what it thinks it has, compare against arithmetic. + +RUN IT AGAINST A RUNNING APP: + ORCA_CAD_MCP=/tmp/mcp.sock # launch with the socket enabled + python3 scripts/CAD/check-mcp-sketch.py [socket] # default /tmp/mcp.sock + +Exit 0 = every assertion held. Anything else prints the first mismatch and stops. +""" +import json, math, socket, sys + +SOCK = sys.argv[1] if len(sys.argv) > 1 else "/tmp/mcp.sock" +_n = 0 + + +def call(method, **params): + global _n + _n += 1 + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(30) + s.connect(SOCK) + s.sendall((json.dumps({"jsonrpc": "2.0", "id": _n, "method": method, + "params": params}) + "\n").encode()) + buf = b"" + while b"\n" not in buf: + d = s.recv(65536) + if not d: + break + buf += d + r = json.loads(buf.decode().strip()) + if "error" in r: + raise RuntimeError(f"{method}: {r['error']}") + return r["result"] + + +def near(a, b, tol=1e-6): + return abs(a - b) < tol + + +def check(cond, what): + if not cond: + print(f"FAIL: {what}", file=sys.stderr) + sys.exit(1) + print(f" ok {what}") + + +def areas(rep): + return sorted(round(l["area"], 6) for l in rep["closed_loops"]) + + +print("1. a rectangle is one closed loop of exactly its own area") +try: + call("sketch_cancel") +except Exception: + pass +call("sketch_begin", plane="XY") +call("sketch_add", rect=[0, 0, 80, 50]) +r = call("sketch_describe") +check(r["buildable"], "buildable") +check(areas(r) == [4000.0], f"one loop of 4000 mm^2 (got {areas(r)})") + +print("2. a circle inside it is a VOID, not a second profile") +call("sketch_add", type="circle", center=[40, 25], radius=10) +r = call("sketch_describe") +outer = [l for l in r["closed_loops"] if near(l["area"], 4000.0)][0] +check(len(outer["holes"]) == 1, "the rectangle encloses exactly one void") +hole = r["closed_loops"][outer["holes"][0]] +check(near(hole["area"], math.pi * 100), f"the void is pi*r^2 (got {hole['area']})") + +print("3. offsetting the outer loop inward keeps it CLOSED and exact") +call("sketch_select", entities=[0, 1, 2, 3]) +call("sketch_offset", distance=5) +r = call("sketch_describe") +check(r["open_ends"] == [], "no open ends after the offset") +check(any(near(l["area"], 70 * 40) for l in r["closed_loops"]), + f"the offset loop is 70x40 (got {areas(r)})") + +print("4. a gap is REPORTED with its coordinates, then healed into a constraint") +call("sketch_cancel") +call("sketch_begin", plane="XY") +call("sketch_add", entities=[ + {"type": "line", "p0": [0, 0], "p1": [60, 0]}, + {"type": "line", "p0": [60, 0], "p1": [60, 40]}, + {"type": "line", "p0": [60, 40], "p1": [0, 40]}, + {"type": "line", "p0": [0, 40], "p1": [0.4, 0]}, # 0.4 mm short of closing +]) +r = call("sketch_validate", tolerance=1.0) +check(not r["buildable"], "a 0.4 mm gap makes the profile unbuildable") +check(len(r["open_ends"]) == 2, f"both free ends are named (got {r['open_ends']})") +dof_before = r["dof"] +r = call("sketch_heal", tolerance=1.0) +check(r["welded"] == 1, f"one pair welded (got {r['welded']})") +check(r["buildable"] and r["open_ends"] == [], "healed profile is buildable") +check(areas(r) == [2400.0], f"healed loop is 60x40 (got {areas(r)})") +check(r["dof"] < dof_before, + f"the weld recorded a real constraint: DoF {dof_before} -> {r['dof']}") + +print("5. construction geometry is excluded from the profile") +call("sketch_select", entities=[0]) +call("sketch_construction") +r = call("sketch_describe") +check(not r["buildable"], "turning one side into a guide opens the profile again") +call("sketch_construction") +r = call("sketch_describe") +check(r["buildable"], "turning it back closes it again") + +print("6. re-dimensioning one side keeps the rectangle a single closed loop") +call("sketch_cancel") +call("sketch_begin", plane="XY") +call("sketch_add", rect=[0, 0, 60, 40]) +r = call("sketch_describe") +check(areas(r) == [2400.0], f"one loop of 2400 mm^2 (got {areas(r)})") +call("sketch_select", entities=[0]) # the bottom edge, y=0, from x=0 to x=60 +r = call("sketch_set_value", value=40) +check(r["kind"] == "length", f"dimension kind is length (got {r['kind']})") +check(near(r["before"], 60), f"the edge measured 60 before (got {r['before']})") +r = call("sketch_describe") +check(len(r["closed_loops"]) == 1, "the rectangle is still exactly one closed loop") +check(r["open_ends"] == [], "no open ends after re-dimensioning") +# The point of the whole section: a rectangle must SURVIVE one side being re-dimensioned. We do +# not assert a specific area — only that the topology held — but print it so a topology-preserving +# yet geometry-wrong result is visible in the output. +print(f" note resulting rectangle area = {areas(r)} mm^2 (topology held; geometry is what it is)") + +call("sketch_cancel") +print("\nall sketch assertions held") diff --git a/scripts/CAD/check-sketch-engine-corpus.py b/scripts/CAD/check-sketch-engine-corpus.py new file mode 100644 index 0000000000..20eca5d381 --- /dev/null +++ b/scripts/CAD/check-sketch-engine-corpus.py @@ -0,0 +1,492 @@ +#!/usr/bin/env python3 +"""Rung 9: the ladder, graded against real drawings instead of shapes I chose. + +Rungs 1-8 are hand-built. That is their weakness: I wrote both the geometry and the +assertion, so they prove the engine does what I expected on cases I picked. This rung +takes a SYSTEMATIC sample of the StudyCadCam corpus (every 20th sheet, 1..996 — no +cherry-picking) and grades the engine against each drawing's OWN vector geometry, +extracted from the PDF. Nothing here is transcribed by eye; the drawing is the input. + +The method: pdftocairo renders the sheet to SVG, where the drawn geometry is exactly the +stroked (fill="none") paths and the text is filled glyph paths. Beziers are flattened, so +every entity handed to the engine is a straight line and every comparison below is EXACT +— no faceting tolerance to hide behind. The closed chains are then found twice: once by +this script, in plain Python, and once by the engine. The assertions are that the two +agree, and that the engine's own operations preserve what they promise. + + CLOSED the engine finds the same closed loops this script does + AREA the engine's area for each loop equals the shoelace area, to 1e-6 + VOID the engine attributes each void to the loop that actually contains it + MIRROR a real closed profile, mirrored, is still exactly one closed loop + OFFSET a real closed profile, offset, is still closed + +Usage: check-sketch-engine-corpus.py [--sample N] [--corpus DIR] +""" + +import argparse +import glob +import json +import math +import os +import re +import socket +import subprocess +import sys +import tempfile +import time + +SOCK = os.environ.get("ORCA_CAD_MCP", "/tmp/mcp.sock") +TOL = 1e-6 # exact-comparison tolerance (all inputs are lines) +WELD = 0.05 # endpoint-coincidence tolerance, in PDF units + + +# ── the socket ─────────────────────────────────────────────────────────────── +_id = [0] + + +def try_call(method, **params): + """sketch_cancel throws when nothing is open, which is not an error to us.""" + try: + return call(method, **params) + except RuntimeError: + return None + + +def call(method, **params): + _id[0] += 1 + req = json.dumps({"jsonrpc": "2.0", "id": _id[0], "method": method, + "params": params}) + "\n" + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(30) + s.connect(SOCK) + s.sendall(req.encode()) + buf = b"" + while not buf.endswith(b"\n"): + chunk = s.recv(65536) + if not chunk: + break + buf += chunk + s.close() + r = json.loads(buf.decode()) + if "error" in r: + raise RuntimeError(r["error"]["message"]) + return r["result"] + + +# ── SVG → line segments ────────────────────────────────────────────────────── +NUM = r"[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?" + + +def bezier(p0, p1, p2, p3, n=16): + """Flatten a cubic to n straight segments — the engine then sees only lines.""" + out = [] + for i in range(n): + t0, t1 = i / n, (i + 1) / n + pts = [] + for t in (t0, t1): + u = 1 - t + x = (u ** 3 * p0[0] + 3 * u * u * t * p1[0] + + 3 * u * t * t * p2[0] + t ** 3 * p3[0]) + y = (u ** 3 * p0[1] + 3 * u * u * t * p1[1] + + 3 * u * t * t * p2[1] + t ** 3 * p3[1]) + pts.append((x, y)) + out.append((pts[0], pts[1])) + return out + + +def path_segments(d): + """Parse one SVG path's `d` into straight segments.""" + toks = re.findall(r"([MLCZmlcz])|(" + NUM + ")", d) + cmds, cur, start, segs, i = [], None, None, [], 0 + flat = [] + for a, b in toks: + flat.append(a if a else float(b)) + while i < len(flat): + t = flat[i] + if isinstance(t, str): + cmd = t + i += 1 + # numbers repeat the previous command, as SVG allows + if cmd in ("M", "m"): + x, y = flat[i], flat[i + 1]; i += 2 + cur = (x, y); start = cur + elif cmd in ("L", "l"): + x, y = flat[i], flat[i + 1]; i += 2 + segs.append((cur, (x, y))); cur = (x, y) + elif cmd in ("C", "c"): + p1 = (flat[i], flat[i + 1]); p2 = (flat[i + 2], flat[i + 3]) + p3 = (flat[i + 4], flat[i + 5]); i += 6 + segs.extend(bezier(cur, p1, p2, p3)); cur = p3 + elif cmd in ("Z", "z"): + if cur and start and dist(cur, start) > TOL: + segs.append((cur, start)) + cur = start + else: + i += 1 + return segs + + +def dist(a, b): + return math.hypot(a[0] - b[0], a[1] - b[1]) + + +def drawing_segments(pdf): + """Every stroked segment on the sheet, in PDF units (y already flipped up).""" + with tempfile.TemporaryDirectory() as td: + svg = os.path.join(td, "p.svg") + subprocess.run(["pdftocairo", "-svg", pdf, svg], + check=True, capture_output=True) + s = open(svg).read() + segs = [] + # Drawn geometry is stroked with no fill; glyphs are filled with no stroke. + for m in re.finditer(r']*)d="([^"]+)"', s): + attrs, d = m.group(1), m.group(2) + if 'fill="none"' not in attrs or "stroke=" not in attrs: + continue + segs.extend(path_segments(d)) + return [((a[0], -a[1]), (b[0], -b[1])) for a, b in segs if dist(a, b) > TOL] + + +# ── closed-chain finding, independent of the engine ────────────────────────── +def find_loops(segs): + """Chain segments into closed loops. Returns a list of point rings.""" + key = lambda p: (round(p[0] / WELD), round(p[1] / WELD)) + adj = {} + for i, (a, b) in enumerate(segs): + adj.setdefault(key(a), []).append((i, a, b)) + adj.setdefault(key(b), []).append((i, b, a)) + used, loops = set(), [] + for i0 in range(len(segs)): + if i0 in used: + continue + a, b = segs[i0] + ring, cur, prev = [a, b], b, i0 + used.add(i0) + while True: + nxt = None + for (j, p, q) in adj.get(key(cur), []): + if j in used: + continue + nxt = (j, q) + break + if nxt is None: + break + used.add(nxt[0]) + cur = nxt[1] + ring.append(cur) + if dist(cur, ring[0]) <= WELD: + # Snap the seam shut. The gap is a flattening artefact of the PDF, up to + # WELD wide, and handing the engine a ring that misses closing by 0.03 would + # be testing my extractor's sloppiness rather than the engine's chaining. + ring[-1] = ring[0] + loops.append(ring) + ring = None + break + # an open chain is simply not a loop; it is dropped + return loops + + +def shoelace(ring): + a = 0.0 + for i in range(len(ring) - 1): + a += ring[i][0] * ring[i + 1][1] - ring[i + 1][0] * ring[i][1] + return abs(a) * 0.5 + + +def point_in(pt, ring): + inside = False + for i in range(len(ring) - 1): + A, B = ring[i], ring[i + 1] + if (A[1] > pt[1]) != (B[1] > pt[1]) and \ + pt[0] < (B[0] - A[0]) * (pt[1] - A[1]) / (B[1] - A[1]) + A[0]: + inside = not inside + return inside + + +def interior_point(ring): + """A point strictly inside a simple closed ring (first == last). + + The lowest vertex of a simple polygon is always convex, so stepping from it along the + bisector of its two edges goes inward; the step is a small fraction of the shorter edge so + it stays inside however sharp the corner is. + """ + q = ring[:-1] if len(ring) > 1 and ring[0] == ring[-1] else ring + if len(q) < 3: + return ring[0] + k = min(range(len(q)), key=lambda i: (q[i][1], q[i][0])) + v = q[k] + a = (q[(k - 1) % len(q)][0] - v[0], q[(k - 1) % len(q)][1] - v[1]) + b = (q[(k + 1) % len(q)][0] - v[0], q[(k + 1) % len(q)][1] - v[1]) + la, lb = math.hypot(*a), math.hypot(*b) + if la < 1e-12 or lb < 1e-12: + return v + a = (a[0] / la, a[1] / la) + b = (b[0] / lb, b[1] / lb) + bx, by = a[0] + b[0], a[1] + b[1] + n = math.hypot(bx, by) + if n < 1e-12: + return v + step = 1e-3 * min(la, lb) + return (v[0] + bx / n * step, v[1] + by / n * step) + + +# ── one drawing ────────────────────────────────────────────────────────────── +def grade(pdf, name, report): + segs = drawing_segments(pdf) + loops = find_loops(segs) + if len(loops) < 2: + report(name, "SKIP", f"no nested closed geometry found ({len(loops)} loops)") + return None + + # The biggest loop is the sheet frame; the part outlines live inside it. Take the + # largest loop that is NOT the frame, plus every loop contained in it. + loops.sort(key=shoelace, reverse=True) + outer = loops[1] + voids = [r for r in loops[2:] + if shoelace(r) > 1.0 and point_in(r[0], outer)] + if shoelace(outer) < 100.0: + # Not a defect and not a near miss: on these sheets the part outline is not a closed + # stroked path at all, so the only loops extraction recovers are glyph counters and + # arrowheads. Measured on MPD12/30/31/60: the LARGEST loop on the sheet is 5 to 132 mm2. + # Say the number, so nobody has to re-measure to know which kind of skip this is. + report(name, "SKIP", f"no part outline on this sheet — largest loop is only " + f"{shoelace(outer):.1f} mm2") + return None + + # Feed the drawing's own geometry to the engine, as lines only. + ents = [] + rings = [outer] + voids + for ring in rings: + for i in range(len(ring) - 1): + ents.append({"type": "line", + "p0": [ring[i][0], ring[i][1]], + "p1": [ring[i + 1][0], ring[i + 1][1]]}) + try_call("sketch_cancel") + call("sketch_begin", plane="XY") + call("sketch_add", entities=ents) + r = call("sketch_describe") + + ok = True + got = r["closed_loops"] + ok &= report(name, "CLOSED", f"engine finds {len(got)} closed loops, this script " + f"finds {len(rings)}", len(got) == len(rings)) + + # AREA — exact, because every entity is a line + mine = sorted(shoelace(x) for x in rings) + theirs = sorted(abs(l["area"]) for l in got) + # The bar: 1e-3 absolute, or 1e-6 relative for the big loops. Not bit-exactness — the + # auto-constraint pass still snaps segments that are already axis-aligned to within its + # 1e-4 rad tolerance, which moves an area by ~1e-4. It is deliberately tight enough to + # have caught the real defect this rung was written for: with the old 3 degree gesture + # slack applied to scripted input, a flattened circle came back 0.067% small — 0.266 on + # an area of 397, some 300x above this line. + same = len(mine) == len(theirs) and all( + abs(a - b) <= max(1e-3, 1e-6 * a) for a, b in zip(mine, theirs)) + ok &= report(name, "AREA", "every loop area matches the shoelace value exactly", same) + + # VOID — a loop belongs to the SMALLEST loop that contains it, not to every loop that + # encloses it. A hole inside a boss inside the part is a void of the boss, and the part + # owns the boss. Comparing against "everything inside the outline" was measuring my own + # sloppiness: on MPD781 that counted 36 voids where 26 of them are nested inside another + # void. So compute the same rule here, independently, and compare the whole attribution. + if got: + rings = [outer] + voids + # Probe from a point STRICTLY INSIDE each ring, never from one of its vertices — the + # same rule the engine now uses (DesignSketchTool::region_loops). A vertex is exactly + # where two loops touch in a real drawing, and a ray cast from a point lying ON the + # polygon under test answers by rounding: that alone accounted for every one of the 6 + # sheets where the two attributions used to disagree. 5hvl. + probes = [interior_point(r) for r in rings] + mine_parent = {} + for i, r in enumerate(rings): + best, best_a = -1, 0.0 + for j, q in enumerate(rings): + if i == j or not point_in(probes[i], q): + continue + a = shoelace(q) + if best < 0 or a < best_a: + best, best_a = j, a + if best >= 0: + mine_parent.setdefault(best, []).append(i) + big = max(range(len(got)), key=lambda i: abs(got[i]["area"])) + # match engine loops to my rings by area, then compare the two attributions by COUNT + mine_counts = sorted(len(v) for v in mine_parent.values()) + got_counts = sorted(len(l["holes"]) for l in got if l["holes"]) + ok &= report(name, "VOID", + f"void attribution matches: engine {got_counts}, containment " + f"{mine_counts}", got_counts == mine_counts) + + # MIRROR / OFFSET — engine operations on a REAL profile, not a tidy one + n_outer = len(outer) - 1 + try_call("sketch_cancel") + call("sketch_begin", plane="XY") + call("sketch_add", entities=ents[:n_outer]) + xs = [p[0] for p in outer] + axis = min(xs) - 10.0 + call("sketch_select", entities=list(range(n_outer))) + try: + call("sketch_mirror", axis_a=[axis, 0], axis_b=[axis, 1]) + m = call("sketch_describe") + ok &= report(name, "MIRROR", "the mirrored copy is closed too", + len(m["closed_loops"]) == 2 and m["open_ends"] == []) + except RuntimeError as e: + ok &= report(name, "MIRROR", f"refused: {e}", False) + + try_call("sketch_cancel") + call("sketch_begin", plane="XY") + call("sketch_add", entities=ents[:n_outer]) + try: + call("sketch_offset", distance=0.5, entities=list(range(n_outer))) + o = call("sketch_describe") + ok &= report(name, "OFFSET", "the offset profile is still closed", + any(l["closed"] for l in o["closed_loops"])) + except RuntimeError as e: + ok &= report(name, "OFFSET", f"refused: {e}", False) + return ok + + +# ── scale ──────────────────────────────────────────────────────────────────── +def grade_scale(pdf, name, report, budget): + """Same exactness, on a profile of several hundred entities, and timed. + + "Interactive" is measurable from here even though nothing is clicked: every MCP verb is + serviced on the UI THREAD, so the time a reply takes is time the window was not repainting. + A round trip that stays inside the budget is a window that stayed responsive. + """ + segs = drawing_segments(pdf) + loops = find_loops(segs) + if len(loops) < 2: + report(name, "SKIP", f"no nested closed geometry found ({len(loops)} loops)") + return None + loops.sort(key=shoelace, reverse=True) + outer = loops[1] + voids = [r for r in loops[2:] if shoelace(r) > 1.0 and point_in(r[0], outer)] + rings = [outer] + voids + ents = [] + for ring in rings: + for i in range(len(ring) - 1): + ents.append({"type": "line", + "p0": [ring[i][0], ring[i][1]], + "p1": [ring[i + 1][0], ring[i + 1][1]]}) + if len(ents) < 300: + report(name, "SKIP", f"only {len(ents)} entities — not a scale case") + return None + + try_call("sketch_cancel") + call("sketch_begin", plane="XY") + t0 = time.monotonic(); call("sketch_add", entities=ents); t_add = time.monotonic() - t0 + t0 = time.monotonic(); r = call("sketch_describe"); t_desc = time.monotonic() - t0 + t0 = time.monotonic(); call("sketch_select", entities=list(range(len(ents)))) + t_sel = time.monotonic() - t0 + t0 = time.monotonic(); call("sketch_validate"); t_val = time.monotonic() - t0 + + ok = True + ok &= report(name, "SCALE", f"{len(ents)} entities in {len(rings)} loops", True) + got = r["closed_loops"] + ok &= report(name, "CLOSED", f"engine finds {len(got)} closed loops, this script " + f"finds {len(rings)}", len(got) == len(rings)) + mine = sorted(shoelace(x) for x in rings) + theirs = sorted(abs(l["area"]) for l in got) + same = len(mine) == len(theirs) and all( + abs(a - b) <= max(1e-3, 1e-6 * a) for a, b in zip(mine, theirs)) + ok &= report(name, "AREA", "every loop area matches the shoelace value exactly", same) + worst = max(t_add, t_desc, t_sel, t_val) + ok &= report(name, "TIME", f"add {t_add*1000:.0f} ms, describe {t_desc*1000:.0f} ms, " + f"select {t_sel*1000:.0f} ms, validate {t_val*1000:.0f} ms " + f"(budget {budget*1000:.0f} ms)", worst <= budget) + return ok + + +def _pdf_error(path): + """What poppler says about a file it refused, so a refusal can be classified.""" + r = subprocess.run(["pdfinfo", path], capture_output=True, text=True) + return (r.stderr or "") + (r.stdout or "") + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--corpus", default=os.path.expanduser("~/studycadcam")) + ap.add_argument("--step", type=int, default=20) + ap.add_argument("--limit", type=int, default=0) + ap.add_argument("--scale", action="store_true", + help="grade the LARGEST drawings instead: exactness plus a UI-thread budget") + ap.add_argument("--budget", type=float, default=2.0, + help="seconds; the slowest round trip a scale drawing may take") + a = ap.parse_args() + + files = {} + for f in glob.glob(os.path.join(a.corpus, "MPD*.pdf")): + m = re.search(r"MPD(\d+)", os.path.basename(f)) + if m: + files[int(m.group(1))] = f + # step 1 means EVERY sheet. Written as `n % step == 1` it silently selected nothing, because + # n % 1 is always 0 — and the run then printed "RUNG 9 HELD" over zero drawings graded. A + # gate that passes by grading nothing is worse than no gate, so the count is checked below. + picks = [files[n] for n in sorted(files) if a.step <= 1 or n % a.step == 1] + if a.scale: + # The heaviest real profiles in the corpus, biggest first — up to ~1300 entities. + sized = [] + for f in files.values(): + try: + segs = drawing_segments(f) + loops = find_loops(segs) + if len(loops) < 2: + continue + loops.sort(key=shoelace, reverse=True) + outer = loops[1] + voids = [r for r in loops[2:] if shoelace(r) > 1.0 and point_in(r[0], outer)] + sized.append((sum(len(r) - 1 for r in [outer] + voids), f)) + except Exception: # noqa: BLE001 + continue + sized.sort(reverse=True) + picks = [f for _, f in sized[:max(1, a.limit or 6)]] + elif a.limit: + picks = picks[:a.limit] + print(f"corpus: {len(files)} sheets; systematic sample every {a.step}th " + f"-> {len(picks)} drawings\n") + + fails, results = [], [] + + def report(name, tag, msg, cond=True): + if tag == "SKIP": + print(f" {name:9s} SKIP {msg}") + return True + mark = "ok " if cond else "FAIL" + print(f" {name:9s} {tag:8s} {mark} {msg}") + if not cond: + fails.append(f"{name} {tag}: {msg}") + return cond + + for f in picks: + name = re.search(r"MPD\d+", os.path.basename(f)).group(0) + try: + r = (grade_scale(f, name, report, a.budget) if a.scale + else grade(f, name, report)) + if r is not None: + results.append((name, r)) + except Exception as e: # noqa: BLE001 + # An unreadable SOURCE file is not a grading failure. MPD133 of this corpus is + # password-protected, and pdftocairo says so on stderr while exiting non-zero; + # reporting that as ERROR made one encrypted sheet look like an engine defect. + if "password" in _pdf_error(f).lower(): + report(name, "SKIP", "the PDF is password-protected — nothing to extract") + else: + report(name, "ERROR", str(e)[:120], False) + + graded = len(results) + passed = sum(1 for _, r in results if r) + if graded == 0: + print("\nNOTHING WAS GRADED — that is a harness failure, not a clean run", file=sys.stderr) + sys.exit(2) + print(f"\ngraded {graded} drawings; {passed} fully clean, {graded - passed} with " + f"at least one failure") + if fails: + print("\nfailures:") + for x in fails: + print(" " + x) + sys.exit(1) + print("\nRUNG 9 HELD — the engine agrees with the drawings, not with me") + + +if __name__ == "__main__": + main() diff --git a/scripts/CAD/check-sketch-engine.py b/scripts/CAD/check-sketch-engine.py new file mode 100755 index 0000000000..56fee44568 --- /dev/null +++ b/scripts/CAD/check-sketch-engine.py @@ -0,0 +1,352 @@ +#!/usr/bin/env python3 +"""A ladder of 2D sketches of increasing complexity, judged the way a person judges them. + +WHY NOT AREA. Area is derived and no one can confirm it by looking. What a human checks at a +glance, and can be exactly right or exactly wrong about, is: + + VERTEX is the corner where I said it is + LENGTH is the side the length I gave it + ARC is the radius the radius I gave it + TANGENT does the straight run into the curve smoothly, or is there a kink + SYMMETRY is the mirrored half the exact reflection of the half I drew + CLOSED is it one closed loop, or does it just look like one + +Every rung asserts those. Area appears only as a cross-check, never as the verdict. + +Entirely 2D: sketch entities only, no extrude, revolve or any solid feature. + + ORCA_CAD_MCP=/tmp/mcp.sock + python3 scripts/CAD/check-sketch-engine.py [socket] + +Exit 0 = every rung held. Otherwise the first broken property is named and the run stops. +""" +import json, math, socket, sys + +SOCK = sys.argv[1] if len(sys.argv) > 1 else "/tmp/mcp.sock" +EPS = 1e-9 +_n = 0 +_fail = 0 + + +def call(method, **params): + global _n + _n += 1 + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(30) + s.connect(SOCK) + s.sendall((json.dumps({"jsonrpc": "2.0", "id": _n, "method": method, + "params": params}) + "\n").encode()) + buf = b"" + while b"\n" not in buf: + d = s.recv(65536) + if not d: + break + buf += d + r = json.loads(buf.decode().strip()) + if "error" in r: + raise RuntimeError(f"{method}: {r['error']['message']}") + return r["result"] + + +def check(kind, cond, what): + global _fail + if cond: + print(f" {kind:9s} ok {what}") + else: + print(f" {kind:9s} FAIL {what}", file=sys.stderr) + _fail += 1 + + +def near(a, b, tol=1e-6): + return abs(a - b) <= tol + + +def pt_near(p, q, tol=1e-6): + return math.hypot(p[0] - q[0], p[1] - q[1]) <= tol + + +def fresh(plane="XY"): + try: + call("sketch_cancel") + except Exception: + pass + call("sketch_begin", plane=plane) + + +def ents(): + return call("sketch_describe")["entities"] + + +def rep(): + return call("sketch_describe") + + +def endpoints(e): + """Both ends of an open curve, as tuples. Closed curves have none.""" + if "p0" not in e or "p1" not in e: + return () + return tuple(e["p0"]), tuple(e["p1"]) + + +def tangent(e, at_end): + """Unit tangent of entity e at one of its ends, pointing ALONG the curve (p0->p1).""" + if e["type"] == "line": + dx = e["p1"][0] - e["p0"][0] + dy = e["p1"][1] - e["p0"][1] + else: # arc + a = e["start_angle"] if not at_end else e["end_angle"] + ccw = e["end_angle"] >= e["start_angle"] + # d/dtheta (cos, sin) = (-sin, cos), reversed when the sweep is clockwise + dx, dy = -math.sin(a), math.cos(a) + if not ccw: + dx, dy = -dx, -dy + n = math.hypot(dx, dy) + return (dx / n, dy / n) + + +def tangent_at_point(e, p): + """Unit tangent of e at whichever of its ends is p, oriented leaving that point.""" + p0, p1 = endpoints(e) + if pt_near(p0, p): + t = tangent(e, False) + return t + t = tangent(e, True) + return (-t[0], -t[1]) # leaving p1 means going back along the curve + + +def smooth(e1, e2, p): + """G1 at shared point p: the tangent leaving e1 is opposite the tangent leaving e2.""" + a = tangent_at_point(e1, p) + b = tangent_at_point(e2, p) + return abs(a[0] * (-b[0]) - 0) >= 0 and abs(a[0] * b[1] - a[1] * b[0]) <= 1e-6 + + +def closed_one_loop(r, voids=0): + return (r["buildable"] and r["open_ends"] == [] + and len([l for l in r["closed_loops"] if not any( + i in h["holes"] for h in r["closed_loops"] for i in [])]) >= 1) + + +def outer_loop(r): + """The loop that encloses the others (or the only one).""" + if not r["closed_loops"]: + return None + return max(r["closed_loops"], key=lambda l: abs(l["area"])) + + +# ───────────────────────────────────────────────────────────────────────────── +print("RUNG 1 — rectangle: four corners, four lengths, four right angles") +fresh() +W, H = 80.0, 50.0 +call("sketch_add", rect=[0, 0, W, H]) +r = rep() +es = r["entities"] +corners = {(0, 0), (W, 0), (W, H), (0, H)} +got = set() +for e in es: + got.add(tuple(e["p0"])) + got.add(tuple(e["p1"])) +check("VERTEX", all(any(pt_near(c, g) for g in got) for c in corners), + f"all four corners exactly where asked {sorted(corners)}") +lens = sorted(round(e["length"], 9) for e in es) +check("LENGTH", lens == sorted([W, W, H, H]), f"sides are {W}/{H} twice each (got {lens})") +# right angles: consecutive sides meet at 90 degrees +ang_ok = True +for e in es: + for f in es: + if e is f: + continue + for p in endpoints(e): + if any(pt_near(p, q) for q in endpoints(f)): + a, b = tangent_at_point(e, p), tangent_at_point(f, p) + if abs(a[0] * b[0] + a[1] * b[1]) > 1e-6: + ang_ok = False +check("ANGLE", ang_ok, "every corner is exactly 90 degrees") +check("CLOSED", r["buildable"] and r["open_ends"] == [], "one closed loop, no free ends") + +print("\nRUNG 2 — a circular void inside it") +call("sketch_add", type="circle", center=[W / 2, H / 2], radius=12) +r = rep() +c = [e for e in r["entities"] if e["type"] == "circle"][0] +check("VERTEX", pt_near(tuple(c["center"]), (W / 2, H / 2)), "void centred exactly where asked") +check("ARC", near(c["radius"], 12), f"void radius exactly 12 (got {c['radius']})") +out = outer_loop(r) +check("CLOSED", len(out["holes"]) == 1, "the rectangle encloses exactly one void") +check("CLOSED", r["buildable"] and r["open_ends"] == [], "still closed with the void present") + +print("\nRUNG 3 — stadium: straights running into caps, tangent at every junction") +fresh() +L, R = 50.0, 15.0 +call("sketch_add", entities=[ + {"type": "line", "p0": [-L, -R], "p1": [L, -R]}, + {"type": "arc", "center": [L, 0], "radius": R, + "start_angle": -math.pi / 2, "end_angle": math.pi / 2}, + {"type": "line", "p0": [L, R], "p1": [-L, R]}, + {"type": "arc", "center": [-L, 0], "radius": R, + "start_angle": math.pi / 2, "end_angle": 3 * math.pi / 2}, +]) +r = rep() +es = r["entities"] +check("CLOSED", r["buildable"] and r["open_ends"] == [], "one closed loop, no free ends") +arcs = [e for e in es if e["type"] == "arc"] +check("ARC", all(near(a["radius"], R) for a in arcs), f"both caps exactly R={R}") +check("LENGTH", all(near(e["length"], 2 * L) for e in es if e["type"] == "line"), + f"both straights exactly {2*L}") +# tangency at all four line/arc junctions +tang = True +for a in arcs: + for p in endpoints(a): + mates = [e for e in es if e is not a and any(pt_near(p, q) for q in endpoints(e))] + for m in mates: + if not smooth(a, m, p): + tang = False +check("TANGENT", tang, "straight meets cap smoothly at all four junctions (no kink)") + +print("\nRUNG 4 — mirror: the reflected half is the exact reflection") +fresh() +half = [ + {"type": "line", "p0": [0, -R], "p1": [L, -R]}, + {"type": "arc", "center": [L, 0], "radius": R, + "start_angle": -math.pi / 2, "end_angle": math.pi / 2}, + {"type": "line", "p0": [L, R], "p1": [0, R]}, +] +call("sketch_add", entities=half) +r = rep() +check("CLOSED", not r["buildable"] and len(r["open_ends"]) == 2, + f"half profile is correctly OPEN, both ends named {r['open_ends']}") +call("sketch_select", entities=[0, 1, 2]) +call("sketch_mirror", axis_a=[0, 0], axis_b=[0, 1]) +r = rep() +es = r["entities"] +check("CLOSED", r["buildable"] and r["open_ends"] == [], "mirroring closed the loop") +# every source vertex must have its exact reflection present +src = [] +for e in es[:3]: + src += [tuple(e["p0"]), tuple(e["p1"])] +allv = [] +for e in es: + allv += [tuple(e["p0"]), tuple(e["p1"])] +sym = all(any(pt_near((-x, y), v) for v in allv) for (x, y) in src) +check("SYMMETRY", sym, "every vertex has its exact mirror twin across x=0") +mirrored_arc = [e for e in es[3:] if e["type"] == "arc"] +check("ARC", mirrored_arc and near(mirrored_arc[0]["radius"], R) + and pt_near(tuple(mirrored_arc[0]["center"]), (-L, 0)), + f"mirrored cap keeps R={R} and lands at (-{L}, 0)") + +print("\nRUNG 5 — offset: every curve moves by exactly d, and it stays closed") +d = 4.0 +call("sketch_select", entities=list(range(len(es)))) +call("sketch_offset", distance=-d) # -d = outward for this CCW loop +r = rep() +new = r["entities"][len(es):] +check("CLOSED", r["buildable"] and r["open_ends"] == [], "offset result is closed") +off_arcs = [e for e in new if e["type"] == "arc"] +check("ARC", all(near(a["radius"], R + d) for a in off_arcs), + f"each cap radius grew by exactly {d} -> {R+d}") +off_lines = [e for e in new if e["type"] == "line"] +check("VERTEX", all(near(abs(e["p0"][1]), R + d) for e in off_lines), + f"each straight moved out to |y| = {R+d} exactly") + +print("\nRUNG 6 — a gap is found by coordinate, then closed by a real constraint") +fresh() +call("sketch_add", entities=[ + {"type": "line", "p0": [0, 0], "p1": [60, 0]}, + {"type": "line", "p0": [60, 0], "p1": [60, 40]}, + {"type": "line", "p0": [60, 40], "p1": [0, 40]}, + {"type": "line", "p0": [0, 40], "p1": [0.35, 0]}, # 0.35 mm short +]) +r = call("sketch_validate", tolerance=1.0) +check("CLOSED", not r["buildable"] and len(r["open_ends"]) == 2, + f"the gap is reported, both free ends named {r['open_ends']}") +dof0 = r["dof"] +r = call("sketch_heal", tolerance=1.0) +check("CLOSED", r["buildable"] and r["open_ends"] == [], "healed into a closed loop") +check("VERTEX", r["welded"] == 1, "exactly one pair of vertices welded") +check("ANGLE", r["dof"] < dof0, + f"the weld is a real constraint, not a nudge: DoF {dof0} -> {r['dof']}") +es = ents() +check("VERTEX", pt_near(tuple(es[3]["p1"]), tuple(es[0]["p0"])), + "the two ends are now the same point") + +print("\nRUNG 7 — the composite: mirrored, tangent, two voids, all at once") +fresh() +call("sketch_add", entities=half) +call("sketch_select", entities=[0, 1, 2]) +call("sketch_mirror", axis_a=[0, 0], axis_b=[0, 1]) +call("sketch_add", type="circle", center=[-25, 0], radius=6) +call("sketch_add", type="circle", center=[25, 0], radius=6) +r = rep() +es = r["entities"] +out = outer_loop(r) +check("CLOSED", r["buildable"] and r["open_ends"] == [], "one closed outer loop, no free ends") +check("CLOSED", len(out["holes"]) == 2, "it encloses exactly two voids") +circles = [e for e in es if e["type"] == "circle"] +check("ARC", all(near(c["radius"], 6) for c in circles), "both voids exactly R=6") +check("SYMMETRY", pt_near(tuple(circles[0]["center"]), (-25, 0)) + and pt_near(tuple(circles[1]["center"]), (25, 0)), + "the voids sit symmetrically at x = -25 and +25") +tang = True +for a in [e for e in es if e["type"] == "arc"]: + for p in endpoints(a): + for m in [e for e in es if e is not a and any(pt_near(p, q) for q in endpoints(e))]: + if not smooth(a, m, p): + tang = False +check("TANGENT", tang, "every straight-to-cap junction is still smooth") +exact = 2 * L * 2 * R + math.pi * R * R +check("LENGTH", near(out["area"], exact, 1e-6), + f"cross-check: enclosed area {out['area']:.4f} = 2L*2R + pi*R^2 = {exact:.4f}") + +print("\nRUNG 8 — a real drawing: StudyCadCam MPD5, the pin's revolve half-profile") +# Ø27 x 95 pin: C1 chamfer on the left end, cylinder to a corner at x=85, an R5 fillet into a +# cone at 23 degrees to the axis, right face at x=95. Interpretation stated so the rung is +# reproducible: 85 is to the CORNER, 23 deg is to the AXIS, C1 is 1 x 45. +fresh() +RAD, LEN, TX, ANG, RF, CH = 13.5, 95.0, 85.0, math.radians(23), 5.0, 1.0 +t = RF * math.tan(ANG / 2) +ax, ay = TX - t, RAD # fillet tangent point on the cylinder +cx, cy = ax, RAD - RF # fillet centre +bx, by = TX + t * math.cos(-ANG), RAD + t * math.sin(-ANG) # tangent point on the cone +ey = by - (LEN - bx) * math.tan(ANG) # where the cone meets the right face +call("sketch_add", entities=[ + {"type": "line", "p0": [0, 0], "p1": [0, RAD - CH]}, # left face + {"type": "line", "p0": [0, RAD - CH], "p1": [CH, RAD]}, # C1 chamfer + {"type": "line", "p0": [CH, RAD], "p1": [ax, ay]}, # cylinder top + {"type": "arc", "center": [cx, cy], "radius": RF, + "start_angle": math.pi / 2, "end_angle": math.pi / 2 - ANG}, # R5 fillet + {"type": "line", "p0": [bx, by], "p1": [LEN, ey]}, # 23 deg cone + {"type": "line", "p0": [LEN, ey], "p1": [LEN, 0]}, # right face + {"type": "line", "p0": [LEN, 0], "p1": [0, 0]}, # axis +]) +r = rep() +es = r["entities"] +check("CLOSED", r["buildable"] and r["open_ends"] == [], "the half-profile is one closed loop") +xs = [v[0] for e in es if "p0" in e for v in (e["p0"], e["p1"])] +ys = [v[1] for e in es if "p0" in e for v in (e["p0"], e["p1"])] +check("LENGTH", near(max(xs) - min(xs), LEN), f"overall length exactly {LEN} (the 95 dimension)") +check("VERTEX", near(max(ys), RAD), f"outer radius exactly {RAD} (the dia 27)") +fil = [e for e in es if e["type"] == "arc"][0] +check("ARC", near(fil["radius"], RF), f"the corner fillet is exactly R{RF:g}") +cone = [e for e in es if e["type"] == "line" + and not near(e["p0"][0], e["p1"][0]) and not near(e["p0"][1], e["p1"][1]) + and e["length"] > 5] +if cone: + c0 = cone[0] + a = abs(math.degrees(math.atan2(c0["p1"][1] - c0["p0"][1], c0["p1"][0] - c0["p0"][0]))) + check("ANGLE", near(a, 23, 1e-6), f"the cone is exactly 23 degrees to the axis (got {a:.6f})") +cham = [e for e in es if e["type"] == "line" and near(e["length"], CH * math.sqrt(2), 1e-9)] +check("ANGLE", bool(cham), "the C1 chamfer is exactly 1 x 45 (length 1*sqrt2)") +tang = True +for p in endpoints(fil): + for m in [e for e in es if e is not fil and any(pt_near(p, q) for q in endpoints(e))]: + if not smooth(fil, m, p): + tang = False +check("TANGENT", tang, "the fillet is tangent to BOTH the cylinder and the cone (no kink)") + +call("sketch_cancel") + +try: + call("sketch_cancel") +except Exception: + pass # a rung may have closed it already +print(f"\n{'ALL RUNGS HELD' if _fail == 0 else str(_fail) + ' CHECK(S) FAILED'}") +sys.exit(1 if _fail else 0) diff --git a/scripts/CAD/focus-loop.sh b/scripts/CAD/focus-loop.sh new file mode 100755 index 0000000000..3c75f64a49 --- /dev/null +++ b/scripts/CAD/focus-loop.sh @@ -0,0 +1,89 @@ +#!/usr/bin/env bash +# One turn of the keyboard-focus convergence loop, start to verdict, with no human in it. +# +# scripts/CAD/focus-loop.sh # full turn: sync -> build -> restart -> assert +# SKIP_BUILD=1 scripts/CAD/focus-loop.sh # re-assert against the binary already on the host +# +# Exit 0 only when every gate holds. Any other exit is a failing gate and names which. +# +# WHY THIS EXISTS. The focus defects in the Design tab were chased for days by hand: build, launch +# the GUI, drive it with xdotool, read a screenshot, guess, repeat. That needs a person at every +# step and it is where the days went. This does not: behemoth carries an agent-owned Xvfb :10 with +# openbox, the app, xdotool and an MCP socket that reports sketch state as JSON, so a turn is +# sync -> build -> restart -> assert, and the ASSERTION is the verdict, not my reading of a picture. +# +# WHY BEHEMOTH AND NOT THE orcacad-gui RIG CONTAINER. The rig was the obvious host and it does not +# work for this: its image pins a dependency set 216 non-CAD source files behind cad-mainline +# (assimp among them), so today's CAD sources call GUI_App::is_auto_close_sketch_loops and +# MainFrame::ensure_design_panel, which that tree has never heard of. Syncing all of src/ to fix +# that needs a deps rebuild measured in hours. behemoth already builds this exact tree, already +# runs a WM on :10, and is the machine the user actually runs the product on — so the loop asserts +# against the shipping artefact rather than a stale twin. Reviving the rig means rebuilding its +# deps image first; until then it cannot adjudicate anything about this code. +# +# SC2029: every ssh command below quotes locally-expanded config (HOST, SRC, DISP) on purpose +# -- the remote tree is not this checkout and has no such config of its own. +# shellcheck disable=SC2029 +set -uo pipefail + +HOST="${HOST:-tommaso@100.103.234.2}" +DISP="${DISP:-:10}" +SRC="${SRC:-\$HOME/projects/orca/orcacad-native/src}" +TRACE="${TRACE:-/tmp/ux-focus-loop.log}" +REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +BIN="build/src/Release/orca-slicer" + +say() { printf '\n=== %s\n' "$*"; } +die() { printf 'GATE FAILED: %s\n' "$*" >&2; exit 1; } + +ssh -o ConnectTimeout=10 "$HOST" true || die "cannot reach $HOST" + +# ---------------------------------------------------------------- S1 sync +# Only the CAD paths and the ladders. behemoth's tree is a full cad-mainline checkout kept in step +# by its own realign; pushing unrelated files from here would make the build host disagree with +# git for reasons no later session could reconstruct. +say "S1 sync" +rsync -q "$REPO"/src/slic3r/GUI/CAD/*.{cpp,hpp} "$HOST:$SRC/src/slic3r/GUI/CAD/" || die "sync GUI/CAD" +rsync -q "$REPO"/src/libslic3r/CAD/*.{cpp,hpp} "$HOST:$SRC/src/libslic3r/CAD/" || die "sync libslic3r/CAD" +rsync -q "$REPO"/scripts/CAD/check-gui-click-edit.py "$REPO"/scripts/CAD/check-gui-sketching.py \ + "$HOST:/tmp/" || die "sync ladders" +echo " sources + ladders in place" + +# ---------------------------------------------------------------- S2 build +# flock: two concurrent Orca builds once OOM'd this machine for 2h28m. Every build script on the +# fleet takes this same lock. +# +# Grade the BINARY'S TIMESTAMP, never the build command's exit code. This is a Ninja Multi-Config +# tree whose default rules are Debug while the artefact under test is Release, so a wrong-config +# invocation returns success in seconds having touched nothing — it cost a wasted cycle here +# before anyone thought to look at the file. +if [ -z "${SKIP_BUILD:-}" ]; then + say "S2 build" + before=$(ssh "$HOST" "stat -c %Y $SRC/$BIN 2>/dev/null || echo 0") + ssh "$HOST" "flock /tmp/orca-rig-build.lock \$HOME/projects/orca/orcacad-native/rebuild.sh > /tmp/focus-build.log 2>&1" + rc=$? + after=$(ssh "$HOST" "stat -c %Y $SRC/$BIN 2>/dev/null || echo 0") + if [ "$rc" != 0 ] || [ "$after" = "$before" ]; then + ssh "$HOST" "grep -m5 -B2 'error:' /tmp/focus-build.log; tail -5 /tmp/focus-build.log" + die "S2 build (exit $rc, binary $( [ "$after" = "$before" ] && echo unchanged || echo rebuilt ))" + fi + echo " built" +fi + +# ---------------------------------------------------------------- S3 F2P +# The ladder launches and tears down the app itself, in its own datadir, so nothing here has to +# manage a process. It types WITHOUT clicking the field first, which is the whole contract. +say "S3 fail-to-pass: type without clicking the field" +ssh "$HOST" "cd $SRC && DISPLAY=$DISP python3 /tmp/check-gui-click-edit.py \ + --display $DISP --bin $BIN --trace $TRACE" +f2p=$? + +# ---------------------------------------------------------------- S4 P2P +say "S4 pass-to-pass: the existing gesture ladder" +ssh "$HOST" "cd $SRC && DISPLAY=$DISP python3 /tmp/check-gui-sketching.py 2>&1 | tail -3" +p2p=$? + +say "VERDICT" +[ "$f2p" = 0 ] || die "F2P: a tool did not take the typed value (exit $f2p)" +[ "$p2p" = 0 ] || die "P2P: the gesture ladder regressed (exit $p2p)" +echo "ALL GATES HELD" diff --git a/scripts/CAD/run-all-checks.sh b/scripts/CAD/run-all-checks.sh new file mode 100755 index 0000000000..1c0388ac89 --- /dev/null +++ b/scripts/CAD/run-all-checks.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +# Every ladder, in one command, as the gate before a push that touched the Design tab. +# +# WHY A SCRIPT AND NOT CI. Three of the four rungs need a running application with an OpenGL +# canvas and synthetic input; GitHub's runners have neither. So the gate is local and explicit: +# run this, read the last line, and do not push a red one. The kernel suite is the only part CI +# can carry, and it already does. +# +# scripts/CAD/run-all-checks.sh # kernel + engine + corpus (every 20th) + gestures + offer +# FULL=1 scripts/CAD/run-all-checks.sh # corpus over ALL 997 sheets (~25 min) +# SKIP_GUI=1 scripts/CAD/run-all-checks.sh # kernel only, for a machine with no rig +# +# The rig container is expected to be up with the app running and ORCA_CAD_MCP set; bring it up +# with scripts/CAD/start-headless-gui.sh inside it. The corpus lives at /corpus in that container. +set -uo pipefail +# ../.. -- this script lives in scripts/CAD/, so one level up is scripts/, not the repo +# root. It was scripts/ladder-all.sh when it was written; the move fixed the three sibling +# scripts and missed this one, which left every rung looking for its own path under +# scripts/scripts/ and reporting instant failures that were all the same typo. +cd "$(dirname "${BASH_SOURCE[0]}")/../.." || exit 1 + +# orcacad-gui, NOT snapmaker-gui: that is the other fork's rig, and defaulting to it makes +# this gate verify the wrong fork's binary while reporting green. run-kernel-tests.sh +# carries the same warning about the build volume, where the defect was found first. +C="${C:-orcacad-gui}" +CORPUS="${CORPUS:-/corpus}" +STEP="${STEP:-20}" +[ -n "${FULL:-}" ] && STEP=1 +fail=0 + +step() { + local name="$1"; shift + echo + echo "=== $name ===" + if "$@"; then echo "--- $name OK"; else echo "--- $name FAILED"; fail=1; fi +} + +# This fork's rig runs Xvfb on :11, the other fork's on :10, and the check scripts default +# to ":10" when DISPLAY is unset -- which docker exec leaves unset. The rungs that drive the +# GUI therefore looked for a window on a display that does not exist here and reported +# "FATAL no app window on :10", which reads like a dead app rather than a wrong display. +RIG_DISPLAY="${RIG_DISPLAY:-:11}" + +# SC2329: every call goes through step(), which invokes it via "$@", so shellcheck +# cannot see the callers below. +# shellcheck disable=SC2329 +run_in_rig() { # copy the script in fresh, then run it there + docker cp "$1" "$C:/tmp/$(basename "$1")" >/dev/null || return 1 + shift + docker exec -e DISPLAY="$RIG_DISPLAY" "$C" python3 "$@" +} + +# FIRST, and it needs no rig: the offer table the menu is compiled from must be what the atlas +# says. The header calls itself GENERATED and had been hand-edited anyway — which cost four rows +# that existed only in the header, one row wired to the wrong action, and a count of 91 for a +# 92-row array, so the last verb was unreachable (z8rs, ziam). +# docs/CAD/, not docs/: SoftFever moved the design docs into the CAD subfolder +# (bbd1989e1e) and this line kept the old path, so the rung failed on a missing file +# rather than on anything about the table. The other fork still has docs/ux/. +step "offer table matches the atlas" python3 docs/CAD/ux/mockups/gen_offer_table.py --check + +step "kernel suite" scripts/CAD/run-kernel-tests.sh --vol "${KVOL:-orcacad_kerneltest}" + +if [ -z "${SKIP_GUI:-}" ]; then + step "engine ladder (rungs 1-8, scripted geometry)" \ + run_in_rig scripts/CAD/check-sketch-engine.py /tmp/check-sketch-engine.py + step "corpus rung (real drawings, every ${STEP}th)" \ + run_in_rig scripts/CAD/check-sketch-engine-corpus.py /tmp/check-sketch-engine-corpus.py --corpus "$CORPUS" --step "$STEP" + step "corpus scale rung (the heaviest sheets)" \ + run_in_rig scripts/CAD/check-sketch-engine-corpus.py /tmp/check-sketch-engine-corpus.py --corpus "$CORPUS" --scale + step "gesture ladder (mouse and keyboard)" \ + run_in_rig scripts/CAD/check-gui-sketching.py /tmp/check-gui-sketching.py + # The offer ladder needs TWO extra things the others do not: the app must have been launched + # with ORCA_CAD_KEYTRACE=1 (its [OFFER] lines are the whole instrument), and it reads the + # generated offer table to predict what each selection should show — which is not in the + # container's own baked source tree, so it is copied in beside the script — /tmp, where + # run_in_rig puts the script, is one of the paths the ladder looks in. + docker cp src/slic3r/GUI/CAD/DesignOffer.hpp "$C:/tmp/DesignOffer.hpp" >/dev/null + step "offer ladder (right-click, the menu, the verbs behind it)" \ + run_in_rig scripts/CAD/check-gui-context-menu.py /tmp/check-gui-context-menu.py +fi + +echo +if [ "$fail" -eq 0 ]; then echo "ALL LADDERS HELD"; else echo "AT LEAST ONE LADDER FAILED"; fi +exit "$fail" diff --git a/scripts/CAD/run-kernel-tests.sh b/scripts/CAD/run-kernel-tests.sh new file mode 100755 index 0000000000..ef4356cb65 --- /dev/null +++ b/scripts/CAD/run-kernel-tests.sh @@ -0,0 +1,159 @@ +#!/usr/bin/env bash +# Headless CAD-kernel test loop. THE verification contract for delegated work: +# exit 0 means the kernel builds and the selected Catch2 tags pass. Nothing else counts. +# +# Builds only the `libslic3r_tests` target (not the GUI app), so a round trip is +# minutes, not tens of minutes. Needs no display: every [CadDocument] case builds a +# CadDocument, recompute()s it and asserts on geometry. +# +# Usage: +# scripts/CAD/run-kernel-tests.sh # [CadDocument] tags, default volume +# scripts/CAD/run-kernel-tests.sh --tags '[CadDocument],[Sketch]' +# scripts/CAD/run-kernel-tests.sh --vol wt_mirror # private build cache (parallel workers) +# scripts/CAD/run-kernel-tests.sh --host tommaso@100.103.234.2 # build on a remote host +# +# Parallel workers MUST pass a distinct --vol: two builds sharing one cache corrupt +# each other. A new volume pays one full build; runs after that are incremental. +# +# --host exists because the deps image lives wherever it was first built. It rsyncs this +# working tree to a per-volume staging dir on that host and re-runs this same script +# there, so the verification contract is identical either way. Drop --host once the image +# is present locally. +# Rig build traps already paid for once each (stale project, NLopt cache, pybind11, OCCT_LIBS, SLIC3R_CAD gate): docs/rig_build_traps.md +set -euo pipefail + +REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +# orcacad-deps, NOT snapmaker-deps: this fork is mainline-based and needs Eigen 5.0.1, +# CGAL 5.6.3, wx 3.3.2 and Python 3.12 Development.Embed, none of which snapmaker-deps has. +# With the wrong image CMake dies at configure, which is exactly why this fork went +# M1-M8 without ever compiling (see commit 1633005bba). +IMAGE="${IMAGE:-orcacad-deps}" +# Must NOT default to snapmaker_buildcache: that is the other fork's volume, and pointing +# this fork at it makes the two silently trade build artefacts. build-gui-incremental.sh had the +# identical defect and was fixed to orcacad_buildcache; this script was missed. +VOL="${BUILD_VOL:-orcacad_kerneltest}" +# No exclusions. Both cases that used to be quarantined now run: the solver SIGABRT on +# circle-line tangency is fixed (tkz), and the internal-thread case turned out to have +# correct geometry and a wrong reference in the test (kzy). A green run here now means +# the whole CAD suite passed, not "everything except the two we gave up on". +# +# ...and that claim was still not true, because the default tag was [CadDocument] alone while +# four CAD test files carry their own tags and NOTHING ELSE selected them. test_sketchinference +# ([inference], 15), test_sketchedit ([SketchEdit], 23), test_sketchconstraints +# ([SketchConstraints], 8) and test_sketchimport ([SketchImport], 4) never ran here, nor did the +# older [slvs]-only cases in test_slvs_constraints. Measured 2026-08-31: the default reported +# 2624 assertions / 206 cases, the full set 7648 / 264 -- so the gate was speaking for about a +# third of the assertions, and a whole file could be added, tagged by its own convention, and +# stay dark while the suite printed green. All 58 were passing; the coverage was simply never +# exercised. Adding a tag here is now part of adding a test file. +TAGS="${TAGS:-[CadDocument],[inference],[SketchEdit],[SketchConstraints],[SketchImport],[slvs]}" +HOST="" + +while [[ $# -gt 0 ]]; do + case "$1" in + --vol) VOL="$2"; shift 2 ;; + --tags) TAGS="$2"; shift 2 ;; + --image) IMAGE="$2"; shift 2 ;; + --host) HOST="$2"; shift 2 ;; + *) echo "unknown arg: $1" >&2; exit 2 ;; + esac +done + +echo "REPO=$REPO IMAGE=$IMAGE VOL=$VOL TAGS=$TAGS HOST=${HOST:-local}" + +if [[ -n "$HOST" ]]; then + # Stage per-volume so parallel workers never share a remote tree. + REMOTE="kt-$VOL" # relative: ssh and rsync both start in the remote home dir + # SC2029: $REMOTE expanding on the CLIENT is the point -- it is derived from $VOL here, + # and the remote has no such variable. The rsync destination below expands it the same way. + # shellcheck disable=SC2029 + ssh "$HOST" "mkdir -p $REMOTE" + # Only the inputs the build reads. --delete keeps a stale file from a prior worker from + # silently compiling in. + rsync -a --delete \ + "$REPO/src" "$REPO/tests" "$REPO/resources" "$REPO/cmake" "$REPO/scripts" \ + "$REPO/CMakeLists.txt" \ + "$HOST:$REMOTE/" + exec ssh "$HOST" "cd $REMOTE && scripts/CAD/run-kernel-tests.sh --vol '$VOL' --tags '$TAGS' --image '$IMAGE'" +fi + +if ! docker image inspect "$IMAGE" >/dev/null 2>&1; then + echo "FATAL: image '$IMAGE' not present locally. Either transfer it, or pass" >&2 + echo " --host to build where the image already exists." >&2 + exit 3 +fi + +# A private volume is always built CLEAN on first use. Cloning a warm cache from another +# tree looks tempting but is a correctness trap: rsync preserves source mtimes, so ninja +# compares foreign object timestamps against them, decides everything is up to date, and +# relinks stale objects. That produced a binary with NO [CadDocument] tests at all while +# reporting success -- a green run that tested nothing. Pay the one-off full build instead; +# incremental rebuilds within a volume are correct because the mtimes then share a lineage. +if ! docker volume inspect "$VOL" >/dev/null 2>&1; then + echo "=== $VOL: new volume, clean configure + full build (one-off, slow) ===" + docker volume create "$VOL" >/dev/null +fi + +# tests/ is mounted too -- unlike build-gui-incremental.sh, this script exists precisely to +# compile tests being edited. CMakeLists.txt and cmake/ carry the SLIC3R_CAD gate; taking +# them from the baked image instead leaves the gate off and the CAD symbols vanish. + +# ---- OOM guard (2026-08-21) ------------------------------------------------------------- +# Two of these builds ran at once on 2026-08-21, each with ninja -j$(nproc)=16: ~36 cc1plus +# holding 42 GB of a 62 GB box -> global OOM at 21:05, a 2h28m kill storm, ssh unreachable, +# lightdm destroyed. Neither build produced a single object. scripts/CAD/build-gui.sh grew the +# bounds first; every script that starts a compile needs the same three, or the guard is only +# as strong as the script you happened not to use. +# flock — the lock path is SHARED with build-gui.sh and the other fork on purpose, so +# concurrent builds serialise instead of summing. +# -j — bounded parallelism; ~1.17 GB per cc1plus was the measured average. +# --memory — the actual guarantee: a runaway build dies in its own cgroup instead of taking +# the host down. --memory-swap equal to --memory forbids swap, which is what made +# ssh hang. +JOBS="${JOBS:-12}" +MEM="${MEM:-40g}" +LOCK=/tmp/orca-rig-build.lock + +exec 9>"$LOCK" +if ! flock -n 9; then + echo "another build holds $LOCK — waiting (this is the OOM guard, not a hang)" + flock 9 +fi + +docker run --rm \ + --memory="$MEM" --memory-swap="$MEM" \ + -v "$REPO/src":/OrcaSlicer/src \ + -v "$REPO/tests":/OrcaSlicer/tests \ + -v "$REPO/resources":/OrcaSlicer/resources \ + -v "$REPO/CMakeLists.txt":/OrcaSlicer/CMakeLists.txt \ + -v "$REPO/cmake":/OrcaSlicer/cmake \ + -v "$REPO/deps_src":/OrcaSlicer/deps_src \ + -v "$VOL":/OrcaSlicer/build \ + "$IMAGE" \ + bash -lc "set -e + cd /OrcaSlicer + DESTDIR=/OrcaSlicer/deps/build/destdir/usr/local + export PATH=\$DESTDIR/bin:\$PATH # wx-config, and anything else the deps prefix ships + # Configure unconditionally. Guarding on 'CMakeCache.txt exists' is wrong: a FAILED + # configure still writes that file, so the guard then skips reconfiguring forever and + # every later run reuses a poisoned cache while ignoring corrected flags. A no-op + # reconfigure costs seconds; that bug costs an afternoon. + # SLIC3R_GTK=3 and BUILD_TESTS=ON are not optional extras: src/CMakeLists.txt turns + # SLIC3R_GTK into 'wx-config --toolkit=gtk', so omitting it asks for toolkit 'gtk' + # and no wx build matches -> 'Could NOT find wxWidgets'. BUILD_TESTS=ON is what makes + # the libslic3r_tests target exist at all. build_linux.sh sets both (lines 218, 226). + cmake -S . -B build -G 'Ninja Multi-Config' \ + -DCMAKE_PREFIX_PATH=\$DESTDIR \ + -DwxWidgets_CONFIG_EXECUTABLE=\$DESTDIR/bin/wx-config \ + -DSLIC3R_GTK=3 -DBUILD_TESTS=ON -DSLIC3R_GUI=OFF \ + -DSLIC3R_CAD=ON -DSLIC3R_STATIC=1 -DORCA_TOOLS=ON -DCMAKE_BUILD_TYPE=Release + # SLIC3R_GUI=OFF: this script builds ONLY libslic3r_tests, which links libslic3r and no GUI + # code, but cmake still PROCESSES the if SLIC3R_GUI block of src/CMakeLists.txt (lines 16-98) + # and every find_package inside it. That made the kernel suite depend on the GUI dependency + # set for no benefit, and it broke the moment upstream added wxInspector as a REQUIRED + # find_package at line 92: the orcacad-deps image predates it, so configure died pointing at + # src/CMakeLists.txt:92 while nothing about the kernel had changed. Turning the block off is + # not a workaround for that one dependency; it is the kernel suite finally declaring what it + # actually needs, so the next GUI-side dependency upstream adds cannot break it either. + cmake --build build --config Release --target libslic3r_tests -- -j$JOBS + ./build/tests/libslic3r/Release/libslic3r_tests '$TAGS' --order decl" diff --git a/scripts/CAD/start-headless-gui.sh b/scripts/CAD/start-headless-gui.sh new file mode 100755 index 0000000000..d9944da8cf --- /dev/null +++ b/scripts/CAD/start-headless-gui.sh @@ -0,0 +1,148 @@ +#!/usr/bin/env bash +# Bring the headless GUI up on a VNC-served X display, ready to drive or to attach Remmina to. +# +# Runs INSIDE the long-lived GUI container (see the header of scripts/CAD/build-gui-incremental.sh for how +# that container is created). Idempotent: safe to re-run to recover a session whose app died. +# +# docker exec /OrcaSlicer/scripts/CAD/start-headless-gui.sh # launch + settle +# docker exec /OrcaSlicer/scripts/CAD/start-headless-gui.sh --status # report, change nothing +# +# WHY THIS EXISTS. Dismissing the first-run dialogs by computing the titlebar close box from +# `xdotool getwindowgeometry --shell` and clicking it went wrong whenever the dialog had already +# closed: the eval left the geometry variables stale or empty, the click landed at a garbage +# coordinate, and it repeatedly hit the Sketch button in the toolbar underneath, so the app came up +# in sketch mode with a stray Sketch feature. Three of those in one session. +# +# The titlebar click is nevertheless the RIGHT mechanism and is kept. `xdotool windowclose` looks +# cleaner but kills the app: it destroys the GdkWindow out from under the dialog and the process +# dies with "GdkWindow unexpectedly destroyed", three GLib-GObject criticals and a segfault +# (measured 2026-07-30). Escape does not close the Setup Wizard either. So the fix is not a +# different mechanism, it is refusing to click on geometry we have not validated. +set -euo pipefail + +DISP="${DISP:-:11}" +GEOM="${GEOM:-1920x1080}" +BIN="${BIN:-/OrcaSlicer/build/src/Release/orca-slicer}" +# Packaging cannot bundle python (the deps python layer carries a doubled-DESTDIR RUNPATH), so the +# build-tree binary needs the deps libpython on the path. Packaging-only issue; the app runs fine. +LIBPY="/OrcaSlicer/deps/build/destdir/usr/local/libpython/lib" +LIBPY2="/OrcaSlicer/build/src/Release/python/lib" +LOG="${LOG:-/tmp/gui-session.log}" + +export DISPLAY="$DISP" HOME=/root +export LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=llvmpipe +# The ladders read the document back through the MCP socket, and the offer ladder's only +# instrument is the [OFFER] keytrace. Neither is on by default, and a session launched without +# them comes up looking perfectly healthy: the window is there, status says app up, and every +# ladder then dies on "Connection refused" — which reads as a dead app rather than a rig that was +# started without its instrument. The script that launches the rig is where they belong. +export ORCA_CAD_MCP="${ORCA_CAD_MCP:-/tmp/mcp.sock}" +export ORCA_CAD_KEYTRACE="${ORCA_CAD_KEYTRACE:-1}" +export LD_LIBRARY_PATH="$LIBPY:$LIBPY2:${LD_LIBRARY_PATH:-}" +mkdir -p /root/.config # startup dies in boost::filesystem::create_directory without this + +# Skip zombies. This container accumulates instances of the app across runs, and pgrep +# matches them, so the naive "first match" reported a dead pid as if the session were healthy. +app_pid() { + local p + for p in $(pgrep -f "$(basename "$BIN")" 2>/dev/null); do + [ "$(awk "{print \$3}" "/proc/$p/stat" 2>/dev/null)" = "Z" ] && continue + echo "$p"; return 0 + done + return 1 +} + +status() { + echo "display : $(pgrep -f "Xvfb $DISP" >/dev/null && echo up || echo DOWN)" + echo "wm : $(pgrep -x openbox >/dev/null && echo up || echo DOWN)" + if pgrep -x x11vnc >/dev/null; then echo "vnc : up on :5900" + elif ! command -v x11vnc >/dev/null; then echo "vnc : n/a (x11vnc not installed here)" + else echo "vnc : DOWN"; fi + local p; p="$(app_pid || true)" + echo "app : ${p:-DOWN}" + # WHICH binary is on screen, not just that something is. A pid alone cannot tell you whether + # you are looking at the build you just linked or one from last week, and that is precisely + # the question every rig verification is asking. + [ -n "${p:-}" ] && echo "binary : $(readlink -f "/proc/$p/exe" 2>/dev/null || echo unknown)" + [ -n "${p:-}" ] && echo "windows : $(xdotool search --name . getwindowname %@ 2>/dev/null | paste -sd'|' -)" + return 0 +} + +[ "${1:-}" = "--status" ] && { status; exit 0; } + +# --- desktop: Xvfb, a window manager, and the VNC server ------------------------------------ +# openbox is REQUIRED: without it xdotool windowactivate aborts with "windowmanager claims not to +# support _NET_ACTIVE_WINDOW" and dialogs never take focus. +pgrep -f "Xvfb $DISP" >/dev/null || { nohup Xvfb "$DISP" -screen 0 "${GEOM}x24" -nolisten tcp >/tmp/xvfb.log 2>&1 & sleep 3; } +pgrep -x openbox >/dev/null || { nohup openbox >/tmp/openbox.log 2>&1 & sleep 1; } +if ! pgrep -x x11vnc >/dev/null && command -v x11vnc >/dev/null; then + AUTH=() + [ -f /root/.vnc/passwd ] && AUTH=(-rfbauth /root/.vnc/passwd) + nohup x11vnc -display "$DISP" -rfbport 5900 "${AUTH[@]}" -forever -shared -noxdamage \ + >/tmp/x11vnc.log 2>&1 & + sleep 2 +fi + +# --- app ------------------------------------------------------------------------------------ +# Kill by BASENAME, not by "$BIN". The app enforces a single instance, so an older copy launched +# from a DIFFERENT path (the packaged build/package/bin/ one, say, when BIN points at the freshly +# linked build/src/Release/ one) survives a path-matched pkill, keeps the instance lock, and the +# new process exits seconds after loading fonts — leaving no error anywhere. app_pid() below has +# always matched by basename, so status then reported that stale process as a healthy session: +# the launch looked green while the window on screen was days old. Measured 2026-08-02, where it +# nearly passed a UI change against a Jul-30 binary. The killer and the reporter must agree on +# what counts as "the app". +pkill -9 -f "$(basename "$BIN")" 2>/dev/null || true +sleep 2 +nohup "$BIN" >"$LOG" 2>&1 & +echo "launched $(basename "$BIN") pid $!" + +# Wait for the main window rather than sleeping a fixed amount: cold starts vary a lot under +# software GL, and a fixed sleep either wastes time or races. +for _ in $(seq 1 40); do + xdotool search --name "Untitled" >/dev/null 2>&1 && break + sleep 1 +done + +# --- first-run dialogs ---------------------------------------------------------------------- +# Click the titlebar close box, but only on geometry we have just read for a window that still +# exists, and only if the resulting point is inside the screen. Every variable is unset first so a +# failed read cannot leave the previous dialog's numbers behind — that is the whole bug. +screen_w="${GEOM%x*}"; screen_h="${GEOM#*x}" +close_dialog() { + local name="$1" id X Y WIDTH HEIGHT cx cy + id="$(xdotool search --name "$name" 2>/dev/null | head -1 || true)" + [ -z "$id" ] && return 1 + unset X Y WIDTH HEIGHT + eval "$(xdotool getwindowgeometry --shell "$id" 2>/dev/null || true)" + # All four must be present and numeric: an empty or stale read is how the stray click happened. + for v in "${X:-}" "${Y:-}" "${WIDTH:-}" "${HEIGHT:-}"; do + [[ "$v" =~ ^-?[0-9]+$ ]] || { echo " $name: unreadable geometry, not clicking"; return 1; } + done + cx=$((X + WIDTH - 11)); cy=$((Y - 31)) # openbox decoration: close box above the frame + if [ "$cx" -lt 0 ] || [ "$cy" -lt 0 ] || [ "$cx" -ge "$screen_w" ] || [ "$cy" -ge "$screen_h" ]; then + echo " $name: close box at ${cx},${cy} is off-screen, not clicking"; return 1 + fi + echo " $name: closing via titlebar at ${cx},${cy}" + xdotool mousemove "$cx" "$cy" click 1 + sleep 2 + return 0 +} +# "Restore" is not a first-RUN dialog, it is a second-run one: killing the app mid-session leaves +# unsaved items behind, and the next launch asks whether to restore them. It sits over the tab bar +# with a modal grab, so every synthetic click afterwards lands on it and the ladder reports +# geometry that never got drawn — that is the "success with no log" shape twice already. +for name in "Setup Wizard" "New version" "Restore"; do + for _ in 1 2 3; do close_dialog "$name" || break; done +done + +# --- main window ---------------------------------------------------------------------------- +main="$(xdotool search --name "Untitled" 2>/dev/null | head -1 || true)" +if [ -n "$main" ]; then + xdotool windowmove "$main" 0 0 windowsize "$main" "$screen_w" "$screen_h" 2>/dev/null || true + xdotool windowactivate "$main" 2>/dev/null || true + sleep 2 +fi + +echo "--- session ---" +status diff --git a/scripts/Dockerfile.deps b/scripts/Dockerfile.deps new file mode 100644 index 0000000000..295b72028d --- /dev/null +++ b/scripts/Dockerfile.deps @@ -0,0 +1,95 @@ +# Deps-only base image for fast iteration on Orca. +# Identical system+pinned-dependency setup to scripts/Dockerfile, but STOPS after +# `build_linux.sh -dr` (no slicer/AppImage build). Produces an image with the pinned +# deps baked at /OrcaSlicer/deps/build/destdir, so the slicer can be rebuilt +# incrementally via scripts/CAD/build-gui-incremental.sh without re-running the long deps build. +# +# Build once (rebuild only when deps/ changes, e.g. OCCT module flags): +# docker build -t snapmaker-deps -f scripts/Dockerfile.deps . +FROM docker.io/ubuntu:24.04 +LABEL maintainer="Orca CAD iteration base" + +# Disable interactive package configuration +RUN apt-get update && \ + echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections + +# Add a deb-src +RUN echo deb-src http://archive.ubuntu.com/ubuntu \ + $(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list + +RUN apt-get update && apt-get install -y \ + autoconf \ + build-essential \ + cmake \ + curl \ + eglexternalplatform-dev \ + extra-cmake-modules \ + file \ + git \ + gstreamer1.0-plugins-bad \ + gstreamer1.0-libav \ + libcairo2-dev \ + libcurl4-openssl-dev \ + libdbus-1-dev \ + libglew-dev \ + libglu1-mesa-dev \ + libgstreamer1.0-dev \ + libgstreamerd-3-dev \ + libgstreamer-plugins-base1.0-dev \ + libgstreamer-plugins-good1.0-dev \ + libgtk-3-dev \ + libsecret-1-dev \ + libsoup2.4-dev \ + libssl3 \ + libssl-dev \ + libtool \ + libudev-dev \ + libwayland-dev \ + libwebkit2gtk-4.1-dev \ + libxkbcommon-dev \ + locales \ + locales-all \ + m4 \ + pkgconf \ + sudo \ + wayland-protocols \ + wget + +ENV LC_ALL=en_US.utf8 +RUN locale-gen $LC_ALL +ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + +COPY ./ OrcaSlicer +WORKDIR OrcaSlicer + +# System dependencies +RUN ./build_linux.sh -u + +# Pinned dependencies in ./deps (OCCT 7.6 with ModelingAlgorithms enabled, OpenCV, +# OpenVDB, Boost, wxWidgets, ...). This is the long step; it is baked into the image. +# -j 12, not the default all-cores: on 2026-08-21 an unbounded deps build plus an unbounded +# app build put 42 GB of cc1plus on a 62 GB box and OOM-killed the host for 2h28m. 12 keeps +# the compile fast while leaving the machine usable. Pair with `docker build --memory`. +RUN ./build_linux.sh -dr -j 12 + +# Compatibility symlink. This deps tree installs into deps/build/OrcaSlicer_dep/, while the +# orcacad_buildcache volume was configured against the previous image, whose prefix was +# deps/build/destdir/. Those paths are baked as absolute strings into the app's CMakeCache, so +# without this symlink a rebuild on the new image reconfigures from scratch — hours of compile +# to change one directory name. Same tree, two names. +RUN ln -sfn /OrcaSlicer/deps/build/OrcaSlicer_dep /OrcaSlicer/deps/build/destdir + +# The rig's GUI runtime. This used to arrive for free because orcacad-deps was layered on +# snapmaker-deps; that lineage is Trap 1 in docs/rig_build_traps.md (a baked project(Snapmaker_Orca) +# tree) and building from this Dockerfile is what removes it — along with the X stack the rig +# needs. scripts/CAD/start-headless-gui.sh requires Xvfb and openbox (without a window manager `xdotool +# windowactivate` aborts with "windowmanager claims not to support..."), drives the UI with +# xdotool, and captures to /shots with scrot/ImageMagick. Same set snapmaker-deps carries. +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + imagemagick \ + openbox \ + scrot \ + xauth \ + xdotool \ + xvfb \ + && rm -rf /var/lib/apt/lists/* diff --git a/scripts/Dockerfile.deps-assimp b/scripts/Dockerfile.deps-assimp new file mode 100644 index 0000000000..40566885c0 --- /dev/null +++ b/scripts/Dockerfile.deps-assimp @@ -0,0 +1,70 @@ +# Adds assimp to the orcacad-deps image. +# +# WHY THIS EXISTS. OrcaSlicer mainline gained `find_package(assimp REQUIRED)` in +# src/libslic3r/CMakeLists.txt (glTF/GLB/FBX import for texture-to-colour), and the baked +# orcacad-deps image predates it: the image's deps/ tree has no Assimp directory at all, and +# nothing named assimp exists anywhere in it. On the host, deps/build/dep_Assimp-prefix has +# only `patch` and `update` stamps -- no build, no install -- so the dependency was fetched +# and then never built, in the image or out of it. +# +# The consequence was that scripts/CAD/run-kernel-tests.sh failed at CMake CONFIGURE time, +# before a single source file compiled, so THIS FORK'S KERNEL SUITE COULD NOT RUN AT ALL. +# Every kernel change ported here was parity-checked against Snapmaker and never independently +# tested (w80c). The Snapmaker fork does not hit this: its base requires neither +# assimp nor OpenCV. +# +# WHY A LAYER AND NOT A FULL DEPS REBUILD. Rebuilding every dependency takes hours and would +# rewrite artifacts that are currently working. This adds exactly the one missing package on +# top of the existing image, and it is a Dockerfile rather than a `docker commit` so that what +# was done is reviewable and repeatable instead of being an undocumented mutation. +# +# The flags below are copied from the project's own recipe (deps/Assimp/Assimp.cmake) plus the +# standard superbuild arguments from orcaslicer_add_cmake_project (deps/CMakeLists.txt:158) and +# DEP_CMAKE_OPTS (deps/deps-linux.cmake). Keep them in step with that recipe: this file is a +# stand-in for the superbuild, not an independent opinion about how to build assimp. +# +# BUILD (from the repo root, tarball already in deps/DL_CACHE/Assimp/): +# docker build -f scripts/Dockerfile.deps-assimp -t orcacad-deps . +# +# VERIFY: +# docker run --rm orcacad-deps sh -c \ +# 'ls /OrcaSlicer/deps/build/destdir/usr/local/lib/cmake/assimp*' +# scripts/CAD/run-kernel-tests.sh +# +FROM orcacad-deps + +# v5.4.3 is the version deps/Assimp/Assimp.cmake selects for CMake >= 3.22 (the image has +# 3.28.3). The SHA256 is that recipe's URL_HASH, verified against the cached tarball before +# this file was written -- an unverified archive is not a dependency, it is whatever was +# sitting in the cache. +ARG ASSIMP_SHA256=66dfbaee288f2bc43172440a55d0235dfc7bf885dda6435c038e8000e79582cb +COPY deps/DL_CACHE/Assimp/v5.4.3.tar.gz /tmp/assimp.tar.gz + +RUN set -eux; \ + echo "${ASSIMP_SHA256} /tmp/assimp.tar.gz" | sha256sum -c -; \ + mkdir -p /tmp/assimp-src && \ + tar -xzf /tmp/assimp.tar.gz -C /tmp/assimp-src --strip-components=1; \ + DESTDIR=/OrcaSlicer/deps/build/destdir/usr/local; \ + cmake -S /tmp/assimp-src -B /tmp/assimp-build -G Ninja \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="$DESTDIR" \ + -DCMAKE_PREFIX_PATH="$DESTDIR" \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -DASSIMP_BUILD_USE_CCACHE=OFF \ + -DASSIMP_BUILD_TESTS=OFF \ + -DASSIMP_BUILD_SAMPLES=OFF \ + -DASSIMP_BUILD_ASSIMP_TOOLS=OFF \ + -DASSIMP_INSTALL_PDB=OFF \ + -DASSIMP_NO_EXPORT=ON \ + -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF \ + -DASSIMP_BUILD_GLTF_IMPORTER=ON \ + -DASSIMP_BUILD_OBJ_IMPORTER=ON \ + -DASSIMP_BUILD_FBX_IMPORTER=ON \ + -DASSIMP_BUILD_ZLIB=ON \ + -DASSIMP_WARNINGS_AS_ERRORS=OFF \ + -DBUILD_WITH_STATIC_CRT=OFF; \ + cmake --build /tmp/assimp-build --target install -- -j"$(nproc)"; \ + rm -rf /tmp/assimp-src /tmp/assimp-build /tmp/assimp.tar.gz; \ + test -n "$(ls "$DESTDIR"/lib/cmake/assimp* 2>/dev/null)" diff --git a/scripts/check_profile.ps1 b/scripts/check_profile.ps1 index 66ed33c31d..c016e8f299 100644 --- a/scripts/check_profile.ps1 +++ b/scripts/check_profile.ps1 @@ -9,15 +9,22 @@ same semantics: every check runs even after an earlier one fails (the workflow's continue-on-error), then the script exits non-zero once at the end. - extra_json_check scripts/orca_extra_profile_check.py + profile_tool scripts/orca_profile_tool.py check validate_system validator -p -l validate_slice validator -p -s -l validate_filament_subtypes validator -p -l -f validate_custom validator against every released custom-preset fixture + profile_tool is the only check that is not the validator binary; it makes the static checks + the validator cannot, because the validator loads the tree the way the slicer does and so + never sees a profile no .json indexes, a preset name two files claim, or a file + normalize and update-index would still rewrite. + Everything that has to be downloaded - the profile validator and the custom-preset fixture - archives - lands under \.test\check_profiles and is reused on the next run. That - directory also holds one log per check plus a copy of the comment CI would post on the PR. + archives - lands under a per-user cache directory (%LOCALAPPDATA%\orca-profile-check) and + is reused on the next run. Being outside the checkout, that directory is shared by every + worktree on the machine. It also holds one log per check plus a copy of the comment CI would + post on the PR. resources\profiles\user, which the validator creates as its data dir but a CI checkout never has, is moved aside for the duration of the run and restored on exit. Only one run per work @@ -33,15 +40,14 @@ under emulation on ARM64. .PARAMETER ProfilesDir - Profile tree to validate (default: resources\profiles). extra_json_check always looks at the - tree next to the script, so this only redirects the validator checks. + Profile tree to validate (default: resources\profiles). .PARAMETER Vendor Check only this vendor, named after its .json (e.g. "Co Print"). validate_custom is narrowed with it too, by keeping only that vendor's presets in each fixture tree. The one check it cannot narrow is validate_slice for a vendor that ships no printers; the summary - reports that one as skipped, and naming it explicitly still runs it. extra_json_check keeps - its two cross-vendor checks (setting_id and filament_id) tree-wide, so a scoped run can still + reports that one as skipped, and naming it explicitly still runs it. profile_tool keeps its + two cross-vendor checks (setting_id and filament_id) tree-wide, so a scoped run can still fail on another vendor's files. .PARAMETER Validator @@ -56,8 +62,8 @@ Re-download the validator and fixtures instead of using the cache. .PARAMETER WorkDir - Downloads, logs and fixture trees (default: .test\check_profiles). Point it somewhere short, - such as D:\t, if a fixture tree trips Windows' 260-character path limit. + Downloads, logs and fixture trees (default: %LOCALAPPDATA%\orca-profile-check). Point it + somewhere short, such as D:\t, if a fixture tree trips Windows' 260-character path limit. .PARAMETER LogLevel Validator log level (default: 2, as in CI). @@ -110,7 +116,7 @@ $HostArch = switch ($HostArch) { default { 'x86' } } -$AllChecks = @('extra_json_check', 'validate_system', 'validate_slice', 'validate_filament_subtypes', 'validate_custom') +$AllChecks = @('profile_tool', 'validate_system', 'validate_slice', 'validate_filament_subtypes', 'validate_custom') $script:LogWriter = $null $script:Python = '' @@ -203,12 +209,15 @@ if ($Vendor) { } } -# The validator's -v and orca_extra_profile_check.py's --vendor both take that stem; an unscoped +# The validator's -v and orca_profile_tool.py check's --vendor both take that stem; an unscoped # run passes neither, so the checks below splat these in either way. $VendorArgs = if ($Vendor) { @('-v', $Vendor) } else { @() } $VendorPyArgs = if ($Vendor) { @('--vendor', $Vendor) } else { @() } -if (-not $WorkDir) { $WorkDir = Join-Path $RepoRoot '.test\check_profiles' } +if (-not $WorkDir) { + # Per-user cache dir, so every worktree on the machine shares one set of downloads. + $WorkDir = Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'orca-profile-check' +} $LogDir = Join-Path $WorkDir 'logs' try { New-Item -ItemType Directory -Force -Path $LogDir | Out-Null } catch { Die "cannot create ${LogDir}: $_" } $WorkDir = (Resolve-Path -LiteralPath $WorkDir).Path @@ -434,8 +443,8 @@ function Expand-VendorPresets([string] $Zip, [string] $Tree, [string] $Prefix) { $CheckBodies = @{ - extra_json_check = { - Invoke-Tool -Exe (Resolve-Python) -Arguments (@((Join-Path $RepoRoot 'scripts\orca_extra_profile_check.py')) + $VendorPyArgs) + profile_tool = { + Invoke-Tool -Exe (Resolve-Python) -Arguments (@((Join-Path $RepoRoot 'scripts\orca_profile_tool.py'), 'check', '--profiles', $ProfilesDir) + $VendorPyArgs) } validate_system = { @@ -571,7 +580,7 @@ $CheckBodies = @{ # Heading CI puts above this check's log in the PR comment. $CommentHeadings = @{ - extra_json_check = '### Extra JSON Check Failed' + profile_tool = '### Profile Check Failed (orca_profile_tool.py)' validate_system = '### System Profile Validation Failed' validate_slice = '### Slice Validation Failed (custom g-code expansion)' validate_filament_subtypes = '### Filament Subtype Validation Failed' @@ -618,7 +627,7 @@ try { [Console]::OutputEncoding = New-Object Text.UTF8Encoding($false) Push-UserPresets - if ($Checks | Where-Object { $_ -ne 'extra_json_check' }) { $Validator = Resolve-Validator } + if ($Checks | Where-Object { $_ -ne 'profile_tool' }) { $Validator = Resolve-Validator } # An empty printer set is a failure to the sweep, so validate_slice is recorded as skipped # rather than run for a vendor that ships no printers (the filament-only OrcaFilamentLibrary); @@ -673,7 +682,7 @@ try { '' } '---' - '*Please fix the above errors and push a new commit.*' + '*Fix the errors above and push a new commit. To reproduce this run locally: `scripts/check_profile.sh`, or `scripts\check_profile.bat` on Windows.*' ) $commentPath = Join-Path $WorkDir 'pr_comment.md' [IO.File]::WriteAllLines($commentPath, [string[]] $comment) diff --git a/scripts/check_profile.sh b/scripts/check_profile.sh index 51c8599b60..a6d7ca3b2e 100755 --- a/scripts/check_profile.sh +++ b/scripts/check_profile.sh @@ -7,8 +7,9 @@ # continue-on-error), then the script exits non-zero once at the end. # # Everything that has to be downloaded - the profile validator and the custom-preset fixture -# archives - lands under /.test/check_profiles/ and is reused on the next run. That -# directory also holds one log per check plus a copy of the comment CI would post on the PR. +# archives - lands under a per-user cache directory and is reused on the next run. Being outside +# the checkout, that directory is shared by every worktree on the machine. It also holds one log +# per check plus a copy of the comment CI would post on the PR. # # resources/profiles/user, which the validator creates as its data dir but a CI checkout never # has, is moved aside for the duration of the run and restored on exit. Only one run per work @@ -33,12 +34,23 @@ SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)" HOST_ARCH="$(uname -m)" +HOST_OS="$(uname -s)" +case "${HOST_OS}" in + Darwin*) HOST_OS=Darwin ;; + MINGW*|MSYS*|CYGWIN*) HOST_OS=Windows ;; + Linux*) HOST_OS=Linux ;; +esac PROFILES_DIR="${REPO_ROOT}/resources/profiles" -WORK_DIR="${REPO_ROOT}/.test/check_profiles" +case "${HOST_OS}" in + Darwin) DEFAULT_WORK_DIR="${HOME}/Library/Caches/orca-profile-check" ;; + Windows) DEFAULT_WORK_DIR="${LOCALAPPDATA:-${HOME}/AppData/Local}/orca-profile-check" ;; + *) DEFAULT_WORK_DIR="${XDG_CACHE_HOME:-${HOME}/.cache}/orca-profile-check" ;; +esac +WORK_DIR="${DEFAULT_WORK_DIR}" VALIDATOR="${ORCA_PROFILE_VALIDATOR:-}" # Vendor to check, named after its .json - empty means every vendor, which is exactly what -# both the validator's -v and orca_extra_profile_check.py's --vendor take an empty value to mean. +# both the validator's -v and orca_profile_tool.py check's --vendor take an empty value to mean. # So the flag is passed unconditionally below rather than kept in an array bash 3.2 cannot expand # empty under `set -u`. VENDOR="" @@ -46,7 +58,7 @@ LOG_LEVEL=2 PREFER_DOWNLOAD=0 REFRESH=0 -ALL_CHECKS=(extra_json_check validate_system validate_slice validate_filament_subtypes validate_custom) +ALL_CHECKS=(profile_tool validate_system validate_slice validate_filament_subtypes validate_custom) CHECKS=() # "pass|fail" per check that ran, plus "skipwhy" for one a vendor # scope left out; a string rather than an array because bash 3.2 (still the /bin/bash on macOS) @@ -60,7 +72,7 @@ Run the profile checks from .github/workflows/check_profiles.yml locally. Usage: scripts/check_profile.sh [OPTION]... [CHECK]... Checks (default: all, in this order): - extra_json_check scripts/orca_extra_profile_check.py + profile_tool scripts/orca_profile_tool.py check validate_system validator -p -l validate_slice validator -p -s -l validate_filament_subtypes validator -p -l -f @@ -75,18 +87,20 @@ Options: downloaded for this platform --download ignore local builds and use the downloaded nightly validator --refresh re-download the validator and fixtures instead of using the cache - --work-dir DIR downloads, logs and fixture trees (default: .test/check_profiles) + --work-dir DIR downloads, logs and fixture trees (default: ${DEFAULT_WORK_DIR}) -l, --log-level N validator log level (default: ${LOG_LEVEL}, as in CI) -h, --help show this help -Note: extra_json_check always looks at the tree next to the script -(/resources/profiles); --profiles only redirects the validator checks. +Note: profile_tool is the only check that is not the validator binary; it makes the static +checks the validator cannot, because the validator loads the tree the way the slicer does +and so never sees a profile no .json indexes, a preset name two files claim, or a +file normalize and update-index would still rewrite. Note: --vendor narrows validate_custom too, by keeping only that vendor's presets in each fixture tree. The one check it cannot narrow is validate_slice for a vendor that ships no printers; the summary reports that one as skipped, and naming it explicitly still runs it. -extra_json_check keeps its two cross-vendor checks (setting_id and filament_id) tree-wide, -so a scoped run can still fail on another vendor's files. +profile_tool keeps its two cross-vendor checks (setting_id and filament_id) tree-wide, so a +scoped run can still fail on another vendor's files. EOF } @@ -302,8 +316,8 @@ EOF # holding the signed .app, Windows an .exe. download_validator() { local dest="${WORK_DIR}/validator" binary dmg app mounted app_src - case "$(uname -s)" in - Linux*) + case "${HOST_OS}" in + Linux) case "${HOST_ARCH}" in arm64|aarch64) msg "the nightly Linux validator is x86_64; build it locally for ${HOST_ARCH}" ;; esac @@ -311,7 +325,7 @@ download_validator() { fetch "${VALIDATOR_RELEASE_URL}/OrcaSlicer_profile_validator_Linux_Ubuntu2404_nightly" "${binary}" || return 1 chmod +x "${binary}" || return 1 ;; - Darwin*) + Darwin) dmg="${dest}/OrcaSlicer_profile_validator.dmg" app="${dest}/OrcaSlicer_profile_validator.app" binary="${app}/Contents/MacOS/OrcaSlicer_profile_validator" @@ -330,13 +344,13 @@ download_validator() { [ -x "${binary}" ] || { msg "no validator app inside ${dmg}"; return 1; } fi ;; - MINGW*|MSYS*|CYGWIN*) + Windows) binary="${dest}/OrcaSlicer_profile_validator.exe" fetch "${VALIDATOR_RELEASE_URL}/OrcaSlicer_profile_validator_Windows_nightly.exe" "${binary}" || return 1 chmod +x "${binary}" || return 1 ;; *) - msg "no nightly validator published for $(uname -s); build it (-DORCA_TOOLS=ON) and pass --validator" + msg "no nightly validator published for ${HOST_OS}; build it (-DORCA_TOOLS=ON) and pass --validator" return 1 ;; esac @@ -361,8 +375,8 @@ resolve_validator() { # ---------------------------------------------------------------------------- checks -check_extra_json_check() { - python3 "${REPO_ROOT}/scripts/orca_extra_profile_check.py" --vendor "${VENDOR}" +check_profile_tool() { + python3 "${REPO_ROOT}/scripts/orca_profile_tool.py" check --profiles "${PROFILES_DIR}" --vendor "${VENDOR}" } check_validate_system() { @@ -548,7 +562,7 @@ EOF # Heading CI puts above this check's log in the PR comment. comment_heading() { case "$1" in - extra_json_check) echo "### Extra JSON Check Failed" ;; + profile_tool) echo "### Profile Check Failed (orca_profile_tool.py)" ;; validate_system) echo "### System Profile Validation Failed" ;; validate_slice) echo "### Slice Validation Failed (custom g-code expansion)" ;; validate_filament_subtypes) echo "### Filament Subtype Validation Failed" ;; @@ -638,7 +652,9 @@ fi ${RESULTS} INNER echo "---" - echo "*Please fix the above errors and push a new commit.*" + # Single-quoted on purpose: the backticks below are markdown, not command substitution. + # shellcheck disable=SC2016 + echo '*Fix the errors above and push a new commit. To reproduce this run locally: `scripts/check_profile.sh`, or `scripts\check_profile.bat` on Windows.*' } > "${WORK_DIR}/pr_comment.md" printf '\n%sOne or more profile checks failed.%s Logs: %s\n' "${C_RED}" "${C_RESET}" "${LOG_DIR}" diff --git a/scripts/filament_id_snapshot.json b/scripts/filament_id_snapshot.json deleted file mode 100644 index 5b45e5ca7e..0000000000 --- a/scripts/filament_id_snapshot.json +++ /dev/null @@ -1,7783 +0,0 @@ -{ - "ids": { - "OF02UAVh": { - "filaments": [ - "Creality/Soleyin Ultra PLA" - ], - "name": "Soleyin Ultra PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OF03RK6r": { - "filaments": [ - "BBL/BETA PLA Metal" - ], - "name": "BETA PLA Metal", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF0AquDh": { - "filaments": [ - "Flashforge/FusRock S-Multi" - ], - "name": "FusRock S-Multi", - "filament_type": "PA", - "filament_vendor": "FusRock" - }, - "OF0EYBWQ": { - "filaments": [ - "BBL/addnorth PETG Flame v0" - ], - "name": "addnorth PETG Flame v0", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OF0FfcAG": { - "filaments": [ - "Anycubic/Anycubic TPU for ACE" - ], - "name": "Anycubic TPU for ACE", - "filament_type": "TPU", - "filament_vendor": "Anycubic" - }, - "OF0NgY1y": { - "filaments": [ - "BBL/COEX NYLEX PA6-CF", - "OrcaFilamentLibrary/COEX NYLEX PA6-CF" - ], - "name": "COEX NYLEX PA6-CF", - "filament_type": "PA-CF", - "filament_vendor": "COEX 3D" - }, - "OF0R5Wc7": { - "filaments": [ - "Artillery/Artillery PLA Tough" - ], - "name": "Artillery PLA Tough", - "filament_type": "PLA Tough", - "filament_vendor": "Artillery" - }, - "OF0UJcb6": { - "filaments": [ - "BBL/PolyLite PETG", - "OrcaFilamentLibrary/PolyLite PETG", - "Snapmaker/PolyLite PETG" - ], - "name": "PolyLite PETG", - "filament_type": "PETG", - "filament_vendor": "Polymaker" - }, - "OF0VpkBM": { - "filaments": [ - "Snapmaker/PolyLite PETG Translucent" - ], - "name": "PolyLite PETG Translucent", - "filament_type": "PETG", - "filament_vendor": "Polymaker" - }, - "OF0Vtzaw": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Amarillo Radiante" - ], - "name": "FilAr PETG Amarillo Radiante", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OF0b7M1z": { - "filaments": [ - "SeeMeCNC/SeeMeCNC PA-CF" - ], - "name": "SeeMeCNC PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "SeeMeCNC" - }, - "OF0c7mnL": { - "filaments": [ - "InfiMech/InfiMech ABS" - ], - "name": "InfiMech ABS", - "filament_type": "ABS", - "filament_vendor": "InfiMech" - }, - "OF0gGRWk": { - "filaments": [ - "BBL/Panchroma PLA Glow", - "OrcaFilamentLibrary/Panchroma PLA Glow", - "Snapmaker/Panchroma PLA Glow" - ], - "name": "Panchroma PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF0kCNDK": { - "filaments": [ - "BBL/Panchroma PLA Luminous", - "OrcaFilamentLibrary/Panchroma PLA Luminous", - "Snapmaker/Panchroma PLA Luminous" - ], - "name": "Panchroma PLA Luminous", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF0omtEb": { - "filaments": [ - "Snapmaker/Fiberon ASA-CF08" - ], - "name": "Fiberon ASA-CF08", - "filament_type": "ASA", - "filament_vendor": "Polymaker" - }, - "OF0pzFLc": { - "filaments": [ - "BBL/COEX PLA+Silk", - "OrcaFilamentLibrary/COEX PLA+Silk" - ], - "name": "COEX PLA+Silk", - "filament_type": "PLA", - "filament_vendor": "COEX 3D" - }, - "OF0w7OpJ": { - "filaments": [ - "Qidi/QIDI ABS Rapido 0.8 nozzle" - ], - "name": "QIDI ABS Rapido 0.8 nozzle", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OF0wBGNx": { - "filaments": [ - "BBL/Bambu ASA-CF", - "OrcaFilamentLibrary/Bambu ASA-CF" - ], - "name": "Bambu ASA-CF", - "filament_type": "ASA-CF", - "filament_vendor": "Bambu Lab" - }, - "OF0wz84w": { - "filaments": [ - "Qidi/QIDI ABS Rapido 0.6 nozzle" - ], - "name": "QIDI ABS Rapido 0.6 nozzle", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OF0yFLkY": { - "filaments": [ - "Anycubic/Anycubic ASA" - ], - "name": "Anycubic ASA", - "filament_type": "ASA", - "filament_vendor": "Anycubic" - }, - "OF112FvY": { - "filaments": [ - "Anycubic/Generic PETG Basic" - ], - "name": "Generic PETG Basic", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OF1ID4N1": { - "filaments": [ - "BBL/addnorth PA6 Addlantis" - ], - "name": "addnorth PA6 Addlantis", - "filament_type": "PA6", - "filament_vendor": "addnorth" - }, - "OF1N1qMK": { - "filaments": [ - "BBL/Panchroma PLA UV Shift", - "OrcaFilamentLibrary/Panchroma PLA UV Shift", - "Snapmaker/Panchroma PLA UV Shift" - ], - "name": "Panchroma PLA UV Shift", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF1Pke8t": { - "filaments": [ - "BBL/Overture Easy PLA", - "OrcaFilamentLibrary/Overture Easy PLA" - ], - "name": "Overture Easy PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OF1UNk9P": { - "filaments": [ - "BBL/Generic PP", - "Creality/Generic PP", - "OrcaFilamentLibrary/Generic PP", - "Tiertime/Generic PP" - ], - "name": "Generic PP", - "filament_type": "PP", - "filament_vendor": "Generic" - }, - "OF1W7c76": { - "filaments": [ - "Qidi/QIDI ASA-CF" - ], - "name": "QIDI ASA-CF", - "filament_type": "ASA-CF", - "filament_vendor": "QIDI" - }, - "OF1d7c3A": { - "filaments": [ - "Snapmaker/Snapmaker ASA" - ], - "name": "Snapmaker ASA", - "filament_type": "ASA", - "filament_vendor": "Snapmaker" - }, - "OF1dpPrW": { - "filaments": [ - "Qidi/Bambu PLA" - ], - "name": "Bambu PLA", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OF1hznGB": { - "filaments": [ - "Elegoo/Elegoo PLA PRO", - "OrcaFilamentLibrary/Elegoo PLA PRO" - ], - "name": "Elegoo PLA PRO", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OF20kXr5": { - "filaments": [ - "Elegoo/Elegoo PAHT-CF", - "OrcaFilamentLibrary/Elegoo PAHT-CF" - ], - "name": "Elegoo PAHT-CF", - "filament_type": "PA", - "filament_vendor": "Elegoo" - }, - "OF223rZv": { - "filaments": [ - "Anycubic/Anycubic ABS" - ], - "name": "Anycubic ABS", - "filament_type": "ABS", - "filament_vendor": "Anycubic" - }, - "OF2EB9Iz": { - "filaments": [ - "Volumic/Volumic ASA Ultra" - ], - "name": "Volumic ASA Ultra", - "filament_type": "ASA", - "filament_vendor": "Volumic" - }, - "OF2EK9F1": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Violeta" - ], - "name": "FilAr PLA-mate Violeta", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF2GCW1l": { - "filaments": [ - "BBL/SUNLU PETG", - "Flashforge/SUNLU PETG", - "OrcaFilamentLibrary/SUNLU PETG", - "Sovol/SUNLU PETG" - ], - "name": "SUNLU PETG", - "filament_type": "PETG", - "filament_vendor": "SUNLU" - }, - "OF2TQpOO": { - "filaments": [ - "Qidi/QIDI PLA Silk" - ], - "name": "QIDI PLA Silk", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OF2VFe4J": { - "filaments": [ - "BBL/Bambu PAHT-CF", - "OrcaFilamentLibrary/Bambu PAHT-CF" - ], - "name": "Bambu PAHT-CF", - "filament_type": "PA-CF", - "filament_vendor": "Bambu Lab" - }, - "OF2Z1nT5": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Azul Imperial" - ], - "name": "FilAr PETG Azul Imperial", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OF2hfMcG": { - "filaments": [ - "OrcaArena/Arena PLA-CF" - ], - "name": "Arena PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Orca Arena" - }, - "OF2pj5l5": { - "filaments": [ - "BBL/Overture Super PLA+", - "OrcaFilamentLibrary/Overture Super PLA+" - ], - "name": "Overture Super PLA+", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OF2xccEe": { - "filaments": [], - "name": "DREMC ASA GF", - "filament_type": "ASA", - "filament_vendor": "DREMC" - }, - "OF30Ftju": { - "filaments": [ - "Elegoo/Elegoo Rapid TPU 95A", - "OrcaFilamentLibrary/Elegoo Rapid TPU 95A" - ], - "name": "Elegoo Rapid TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Elegoo" - }, - "OF342jVN": { - "filaments": [ - "BBL/Bambu PLA Tough+" - ], - "name": "Bambu PLA Tough+", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OF3F63OE": { - "filaments": [ - "re3D/re3D PETG" - ], - "name": "re3D PETG", - "filament_type": "PETG", - "filament_vendor": "re3D" - }, - "OF3IKafc": { - "filaments": [ - "Qidi/QIDI PLA Rapido Matte" - ], - "name": "QIDI PLA Rapido Matte", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OF3OMgrI": { - "filaments": [ - "Creality/CR-Silk" - ], - "name": "CR-Silk", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OF3PDEw3": { - "filaments": [ - "BBL/BETA PLA High Speed" - ], - "name": "BETA PLA High Speed", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF3WQaKK": { - "filaments": [ - "Creality/CR-PETG" - ], - "name": "CR-PETG", - "filament_type": "PETG", - "filament_vendor": "Creality" - }, - "OF3dJf4E": { - "filaments": [ - "Volumic/Volumic PLA Ultra (Performance)" - ], - "name": "Volumic PLA Ultra (Performance)", - "filament_type": "PLA", - "filament_vendor": "Volumic" - }, - "OF3fwO8b": { - "filaments": [ - "FlyingBear/FlyingBear PLA Basic" - ], - "name": "FlyingBear PLA Basic", - "filament_type": "PLA", - "filament_vendor": "FlyingBear" - }, - "OF3kBrdA": { - "filaments": [ - "Creality/eSUN PETG", - "OrcaFilamentLibrary/eSUN PETG" - ], - "name": "eSUN PETG", - "filament_type": "PETG", - "filament_vendor": "eSUN" - }, - "OF3msXEa": { - "filaments": [ - "Snapmaker/Snapmaker Dual PETG-CF" - ], - "name": "Snapmaker Dual PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Snapmaker" - }, - "OF3ydJTT": { - "filaments": [ - "InfiMech/InfiMech PLA Hyper" - ], - "name": "InfiMech PLA Hyper", - "filament_type": "PLA", - "filament_vendor": "InfiMech" - }, - "OF43Raws": { - "filaments": [ - "Snapmaker/PolyTerra J1 PLA" - ], - "name": "PolyTerra J1 PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF44ERDr": { - "filaments": [ - "Snapmaker/Polymaker General PLA Family" - ], - "name": "Polymaker General PLA Family", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF44VYzK": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Azul Francia" - ], - "name": "FilAr PETG Azul Francia", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OF4APyxe": { - "filaments": [ - "Creality/Hyper PAHT-CF" - ], - "name": "Hyper PAHT-CF", - "filament_type": "PA-CF", - "filament_vendor": "Creality" - }, - "OF4GM5qX": { - "filaments": [ - "Ratrig/Generic ASA BigNozzle" - ], - "name": "Generic ASA BigNozzle", - "filament_type": "ASA", - "filament_vendor": "Generic" - }, - "OF4KsW72": { - "filaments": [], - "name": "FilAr PLA", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF4Nhggz": { - "filaments": [ - "Artillery/Artillery PLA Basic+" - ], - "name": "Artillery PLA Basic+", - "filament_type": "PLA Basic+", - "filament_vendor": "Artillery" - }, - "OF4PKvem": { - "filaments": [ - "BBL/BETA PLA Fluorescence" - ], - "name": "BETA PLA Fluorescence", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF4QZANi": { - "filaments": [ - "BBL/BETA TPU Matte" - ], - "name": "BETA TPU Matte", - "filament_type": "TPU", - "filament_vendor": "BETA" - }, - "OF4RvVuU": { - "filaments": [ - "BBL/Bambu PPS-CF" - ], - "name": "Bambu PPS-CF", - "filament_type": "PPS-CF", - "filament_vendor": "Bambu Lab" - }, - "OF4S3To3": { - "filaments": [ - "Qidi/QIDI PETG Rapido" - ], - "name": "QIDI PETG Rapido", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OF4WB37S": { - "filaments": [ - "Snapmaker/Snapmaker PETG" - ], - "name": "Snapmaker PETG", - "filament_type": "PETG", - "filament_vendor": "Snapmaker" - }, - "OF4XTfoI": { - "filaments": [ - "BBL/BETA PETG Marble" - ], - "name": "BETA PETG Marble", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OF4f8vVp": { - "filaments": [ - "WonderMaker/WonderMaker PET-CF" - ], - "name": "WonderMaker PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "WonderMaker" - }, - "OF4iWKrE": { - "filaments": [ - "Qidi/QIDI PETG-CF" - ], - "name": "QIDI PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "QIDI" - }, - "OF4nQ62r": { - "filaments": [ - "Qidi/QIDI PLA Basic" - ], - "name": "QIDI PLA Basic", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OF4ulo9Y": { - "filaments": [ - "WonderMaker/WonderMaker PVA" - ], - "name": "WonderMaker PVA", - "filament_type": "PVA", - "filament_vendor": "WonderMaker" - }, - "OF53eLVD": { - "filaments": [ - "Blocks/Generic ASA-CF", - "Creality/Generic ASA-CF", - "Elegoo/Generic ASA-CF" - ], - "name": "Generic ASA-CF", - "filament_type": "ASA-CF", - "filament_vendor": "Generic" - }, - "OF54B0S0": { - "filaments": [ - "BBL/Bambu PPA-CF", - "OrcaFilamentLibrary/Bambu PPA-CF" - ], - "name": "Bambu PPA-CF", - "filament_type": "PPA-CF", - "filament_vendor": "Bambu Lab" - }, - "OF54SvEe": { - "filaments": [ - "Prusa/Prusament PA-CF" - ], - "name": "Prusament PA-CF", - "filament_type": "PA11-CF", - "filament_vendor": "Prusa Polymers" - }, - "OF55jHAJ": { - "filaments": [ - "Prusa/Generic ABS HF" - ], - "name": "Generic ABS HF", - "filament_type": "ABS", - "filament_vendor": "Generic" - }, - "OF5B9sUc": { - "filaments": [ - "BBL/Fiberon PA6-GF25" - ], - "name": "Fiberon PA6-GF25", - "filament_type": "PA-GF", - "filament_vendor": "Polymaker" - }, - "OF5BN24W": { - "filaments": [ - "Flashforge/Flashforge PPA-GF" - ], - "name": "Flashforge PPA-GF", - "filament_type": "PPA-GF", - "filament_vendor": "Flashforge" - }, - "OF5BXhHF": { - "filaments": [ - "BBL/BETA PLA High Temp" - ], - "name": "BETA PLA High Temp", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF5CgdDq": { - "filaments": [ - "BBL/PolyLite PLA", - "OrcaArena/PolyLite PLA", - "OrcaFilamentLibrary/PolyLite PLA", - "Qidi/PolyLite PLA", - "Snapmaker/PolyLite PLA" - ], - "name": "PolyLite PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF5LAnla": { - "filaments": [ - "BBL/BETA PLA Gradient" - ], - "name": "BETA PLA Gradient", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF5NqBfC": { - "filaments": [ - "Wanhao France/YUMI PETG" - ], - "name": "YUMI PETG", - "filament_type": "PETG", - "filament_vendor": "Yumi" - }, - "OF5P4jgA": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Dorado" - ], - "name": "FilAr PLA Dorado", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF5PtjTp": { - "filaments": [ - "Anycubic/Anycubic PLA Glow" - ], - "name": "Anycubic PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OF5SJ3jz": { - "filaments": [ - "Flashforge/Flashforge ABS" - ], - "name": "Flashforge ABS", - "filament_type": "ABS", - "filament_vendor": "Flashforge" - }, - "OF5YVJXH": { - "filaments": [ - "Artillery/Artillery ASA" - ], - "name": "Artillery ASA", - "filament_type": "ASA", - "filament_vendor": "Artillery" - }, - "OF5c6nq3": { - "filaments": [ - "Flashforge/Generic TPU-64D" - ], - "name": "Generic TPU-64D", - "filament_type": "TPU-64D", - "filament_vendor": "Generic" - }, - "OF5lGPup": { - "filaments": [ - "WonderMaker/WonderMaker PETG Basic" - ], - "name": "WonderMaker PETG Basic", - "filament_type": "PETG", - "filament_vendor": "WonderMaker" - }, - "OF5nlfKY": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Oro" - ], - "name": "FilAr PLA Oro", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF5oNRED": { - "filaments": [ - "Eryone/Eryone PP" - ], - "name": "Eryone PP", - "filament_type": "PP", - "filament_vendor": "Eryone" - }, - "OF5oXk4M": { - "filaments": [ - "Anycubic/Polymaker PLA Pro", - "Snapmaker/Polymaker PLA Pro" - ], - "name": "Polymaker PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF5rnhjh": { - "filaments": [], - "name": "FilAr PETG", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OF5tX6va": { - "filaments": [ - "Ratrig/Generic TPU BigNozzle" - ], - "name": "Generic TPU BigNozzle", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OF5umxxT": { - "filaments": [ - "BBL/PolyLite PLA Glow", - "Snapmaker/PolyLite PLA Glow" - ], - "name": "PolyLite PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF5vgi2G": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Azul" - ], - "name": "FilAr PLA-mate Azul", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF65InrS": { - "filaments": [ - "Snapmaker/Snapmaker TPU" - ], - "name": "Snapmaker TPU", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OF66KUAN": { - "filaments": [ - "Creality/PolySonic PLA" - ], - "name": "PolySonic PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF6ATsCF": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA-CF" - ], - "name": "Snapmaker Dual PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Snapmaker" - }, - "OF6H51Xx": { - "filaments": [ - "Snapmaker/Polymaker PETG", - "Sovol/Polymaker PETG" - ], - "name": "Polymaker PETG", - "filament_type": "PETG", - "filament_vendor": "Polymaker" - }, - "OF6Ll8lK": { - "filaments": [ - "Elegoo/Elegoo PETG Translucent", - "OrcaFilamentLibrary/Elegoo PETG Translucent" - ], - "name": "Elegoo PETG Translucent", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OF6MOPWx": { - "filaments": [ - "Creality/Generic PET", - "Elegoo/Generic PET", - "Flashforge/Generic PET" - ], - "name": "Generic PET", - "filament_type": "PET", - "filament_vendor": "Generic" - }, - "OF6TuVAg": { - "filaments": [ - "Snapmaker/Snapmaker J1 PVA" - ], - "name": "Snapmaker J1 PVA", - "filament_type": "PVA", - "filament_vendor": "Snapmaker" - }, - "OF6Yn69v": { - "filaments": [ - "BBL/BETA TPU 90A" - ], - "name": "BETA TPU 90A", - "filament_type": "TPU", - "filament_vendor": "BETA" - }, - "OF6kj4jI": { - "filaments": [ - "iQ/Fiberthree PACF Pro P2" - ], - "name": "Fiberthree PACF Pro P2", - "filament_type": "PACF Pro", - "filament_vendor": "iQ Materials" - }, - "OF6qAuyi": { - "filaments": [ - "Flashforge/Flashforge PLA Matte" - ], - "name": "Flashforge PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OF6qw3Wb": { - "filaments": [ - "BBL/BETA PAHT-CF" - ], - "name": "BETA PAHT-CF", - "filament_type": "PA-CF", - "filament_vendor": "BETA" - }, - "OF6rdQ6M": { - "filaments": [ - "BBL/Generic PPS-CF", - "Creality/Generic PPS-CF", - "Tiertime/Generic PPS-CF" - ], - "name": "Generic PPS-CF", - "filament_type": "PPS-CF", - "filament_vendor": "Generic" - }, - "OF70zbGS": { - "filaments": [ - "Creality/Hyper L-W PLA" - ], - "name": "Hyper L-W PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OF71b7qO": { - "filaments": [ - "BBL/addnorth PLA E-PLA" - ], - "name": "addnorth PLA E-PLA", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OF72YYTd": { - "filaments": [ - "Snapmaker/Snapmaker ABS" - ], - "name": "Snapmaker ABS", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OF74KeQR": { - "filaments": [ - "BBL/Generic PHA", - "OrcaFilamentLibrary/Generic PHA", - "Tiertime/Generic PHA" - ], - "name": "Generic PHA", - "filament_type": "PHA", - "filament_vendor": "Generic" - }, - "OF7H3VJM": { - "filaments": [ - "OrcaFilamentLibrary/eSUN PLA-Marble" - ], - "name": "eSUN PLA-Marble", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OF7OqDp3": { - "filaments": [ - "Tiertime/Tiertime PLA-CF" - ], - "name": "Tiertime PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Tiertime" - }, - "OF7SliVn": { - "filaments": [ - "Snapmaker/PolyLite J1 PLA" - ], - "name": "PolyLite J1 PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OF7c9fln": { - "filaments": [ - "Anycubic/Anycubic PLA Translucent" - ], - "name": "Anycubic PLA Translucent", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OF7lOgYF": { - "filaments": [ - "BBL/Generic PETG HF", - "OrcaFilamentLibrary/Generic PETG HF", - "Prusa/Generic PETG HF" - ], - "name": "Generic PETG HF", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OF7lwj52": { - "filaments": [ - "CoLiDo/CoLiDo PETG" - ], - "name": "CoLiDo PETG", - "filament_type": "PETG", - "filament_vendor": "CoLiDo" - }, - "OF7nBAd3": { - "filaments": [ - "Eryone/Eryone Silk PLA" - ], - "name": "Eryone Silk PLA", - "filament_type": "PLA Silk", - "filament_vendor": "Eryone" - }, - "OF7pjCsO": { - "filaments": [ - "Flashforge/FusRock PAHT" - ], - "name": "FusRock PAHT", - "filament_type": "PAHT", - "filament_vendor": "FusRock" - }, - "OF7tt7DO": { - "filaments": [ - "Cubicon/Cubicon PLA+" - ], - "name": "Cubicon PLA+", - "filament_type": "PLA", - "filament_vendor": "Cubicon" - }, - "OF8GnyFU": { - "filaments": [ - "Creality/Hyper ABS" - ], - "name": "Hyper ABS", - "filament_type": "ABS", - "filament_vendor": "Creality" - }, - "OF8GtyKJ": { - "filaments": [ - "Flashforge/Flashforge TPU-64D" - ], - "name": "Flashforge TPU-64D", - "filament_type": "TPU-64D", - "filament_vendor": "Flashforge" - }, - "OF8Jl6NT": { - "filaments": [ - "Snapmaker/Snapmaker J1 PET" - ], - "name": "Snapmaker J1 PET", - "filament_type": "PET", - "filament_vendor": "Snapmaker" - }, - "OF8O09RG": { - "filaments": [ - "Flashforge/Flashforge HS PLA Burnt Ti" - ], - "name": "Flashforge HS PLA Burnt Ti", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OF8QdQwS": { - "filaments": [ - "BBL/BETA PLA Silk+" - ], - "name": "BETA PLA Silk+", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OF8Tlg47": { - "filaments": [ - "BBL/Generic PPA-GF", - "OrcaFilamentLibrary/Generic PPA-GF", - "Tiertime/Generic PPA-GF" - ], - "name": "Generic PPA-GF", - "filament_type": "PPA-GF", - "filament_vendor": "Generic" - }, - "OF8aFWfQ": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Amarillo Lirio" - ], - "name": "FilAr PLA Amarillo Lirio", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF8dCquh": { - "filaments": [ - "Snapmaker/Snapmaker J1 ABS Benchy" - ], - "name": "Snapmaker J1 ABS Benchy", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OF8eaY7j": { - "filaments": [ - "Creality/Generic PA612-CF" - ], - "name": "Generic PA612-CF", - "filament_type": "PA-CF", - "filament_vendor": "Generic" - }, - "OF8jh0Lk": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Marron" - ], - "name": "FilAr PLA-mate Marron", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OF8kJys9": { - "filaments": [ - "Eryone/Eryone PETG" - ], - "name": "Eryone PETG", - "filament_type": "PETG", - "filament_vendor": "Eryone" - }, - "OF8tPByX": { - "filaments": [ - "BBL/Generic PPA-CF", - "OrcaFilamentLibrary/Generic PPA-CF", - "Tiertime/Generic PPA-CF" - ], - "name": "Generic PPA-CF", - "filament_type": "PPA-CF", - "filament_vendor": "Generic" - }, - "OF8wE5l7": { - "filaments": [ - "Artillery/Artillery PETG Basic" - ], - "name": "Artillery PETG Basic", - "filament_type": "PETG Basic", - "filament_vendor": "Artillery" - }, - "OF99UMPq": { - "filaments": [ - "BBL/COEX ABS", - "OrcaFilamentLibrary/COEX ABS" - ], - "name": "COEX ABS", - "filament_type": "ABS", - "filament_vendor": "COEX 3D" - }, - "OF99vXPs": { - "filaments": [], - "name": "DREMC ABS+", - "filament_type": "ABS", - "filament_vendor": "DREMC" - }, - "OF9EHUKK": { - "filaments": [ - "Qidi/QIDI TPU-GF" - ], - "name": "QIDI TPU-GF", - "filament_type": "TPU-GF", - "filament_vendor": "QIDI" - }, - "OF9HCdyQ": { - "filaments": [ - "Afinia/Afinia PLA" - ], - "name": "Afinia PLA", - "filament_type": "PLA", - "filament_vendor": "Afinia" - }, - "OF9OlTWH": { - "filaments": [ - "BBL/Bambu PLA Marble", - "OrcaFilamentLibrary/Bambu PLA Marble" - ], - "name": "Bambu PLA Marble", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OF9PELEb": { - "filaments": [ - "Qidi/QIDI UltraPA-CF25" - ], - "name": "QIDI UltraPA-CF25", - "filament_type": "UltraPA-CF25", - "filament_vendor": "QIDI" - }, - "OF9UJOGF": { - "filaments": [ - "Anycubic/Anycubic PETG-CF" - ], - "name": "Anycubic PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Anycubic" - }, - "OF9cAwMK": { - "filaments": [ - "Flashforge/Flashforge PLA-CF" - ], - "name": "Flashforge PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Flashforge" - }, - "OF9emAI9": { - "filaments": [ - "Ratrig/RatRig PunkFil PETG" - ], - "name": "RatRig PunkFil PETG", - "filament_type": "PETG", - "filament_vendor": "RatRig" - }, - "OFA026vt": { - "filaments": [ - "OrcaArena/Arena PA-CF" - ], - "name": "Arena PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Orca Arena" - }, - "OFAC7Wyu": { - "filaments": [ - "Artillery/Artillery PLA Matte" - ], - "name": "Artillery PLA Matte", - "filament_type": "PLA Matte", - "filament_vendor": "Artillery" - }, - "OFAIBCLJ": { - "filaments": [ - "Elegoo/Generic ABS-CF" - ], - "name": "Generic ABS-CF", - "filament_type": "ABS-CF", - "filament_vendor": "Generic" - }, - "OFAIrQXu": { - "filaments": [ - "Creality/Creality Hyper PLA" - ], - "name": "Creality Hyper PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFANFm4x": { - "filaments": [ - "Qidi/QIDI PLA Rapido Metal" - ], - "name": "QIDI PLA Rapido Metal", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFAO9A7J": { - "filaments": [ - "Sovol/Sovol Zero PLA Silk HS Nozzle" - ], - "name": "Sovol Zero PLA Silk HS Nozzle", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFAZllAN": { - "filaments": [ - "Artillery/Artillery PLA-CF" - ], - "name": "Artillery PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Artillery" - }, - "OFAc0Pr3": { - "filaments": [ - "BBL/Fiberon PET-CF17" - ], - "name": "Fiberon PET-CF17", - "filament_type": "PET-CF", - "filament_vendor": "Polymaker" - }, - "OFAcJkl1": { - "filaments": [ - "BBL/addnorth PETG-CF Rigid X" - ], - "name": "addnorth PETG-CF Rigid X", - "filament_type": "PETG-CF", - "filament_vendor": "addnorth" - }, - "OFAebKg8": { - "filaments": [ - "Flashforge/Flashforge PLA Metal" - ], - "name": "Flashforge PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFAnyRUI": { - "filaments": [ - "BBL/Bambu Support For PLA", - "OrcaFilamentLibrary/Bambu Support For PLA" - ], - "name": "Bambu Support For PLA", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFAt6ec0": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Marron Oxido" - ], - "name": "FilAr PLA Marron Oxido", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFB5SmWk": { - "filaments": [ - "OrcaFilamentLibrary/Valment PLA Galaxy" - ], - "name": "Valment PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Valment" - }, - "OFBBgw7B": { - "filaments": [ - "WonderMaker/WonderMaker PLA Wood" - ], - "name": "WonderMaker PLA Wood", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFBJAdLw": { - "filaments": [ - "LH/LHS PCTG" - ], - "name": "LHS PCTG", - "filament_type": "PCTG", - "filament_vendor": "LH Stinger" - }, - "OFBLktDy": { - "filaments": [ - "Creality/Soleyin Basic PETG" - ], - "name": "Soleyin Basic PETG", - "filament_type": "PETG", - "filament_vendor": "Creality" - }, - "OFBSW57R": { - "filaments": [ - "BBL/Bambu PLA Aero", - "OrcaFilamentLibrary/Bambu PLA Aero" - ], - "name": "Bambu PLA Aero", - "filament_type": "PLA-AERO", - "filament_vendor": "Bambu Lab" - }, - "OFBUIlZ7": { - "filaments": [ - "Elegoo/Elegoo PLA+", - "OrcaFilamentLibrary/Elegoo PLA+" - ], - "name": "Elegoo PLA+", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFBlFMVp": { - "filaments": [ - "Snapmaker/Snapmaker Dual PETG" - ], - "name": "Snapmaker Dual PETG", - "filament_type": "PETG", - "filament_vendor": "Snapmaker" - }, - "OFBoSWxb": { - "filaments": [ - "BBL/PolyLite PLA Luminous", - "Snapmaker/PolyLite PLA Luminous" - ], - "name": "PolyLite PLA Luminous", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFBsbMMF": { - "filaments": [ - "BBL/addnorth PA-CF Adura X" - ], - "name": "addnorth PA-CF Adura X", - "filament_type": "PA-CF", - "filament_vendor": "addnorth" - }, - "OFBw6eEG": { - "filaments": [ - "BBL/Overture Matte PLA", - "OrcaFilamentLibrary/Overture Matte PLA" - ], - "name": "Overture Matte PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFC1PzXz": { - "filaments": [ - "Creality/Hyper Luminous" - ], - "name": "Hyper Luminous", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFC5f4Ay": { - "filaments": [ - "RH3D/Generic PCCF" - ], - "name": "Generic PCCF", - "filament_type": "PC-CF", - "filament_vendor": "Generic" - }, - "OFC78WGQ": { - "filaments": [ - "BBL/Panchroma PLA Starlight", - "OrcaFilamentLibrary/Panchroma PLA Starlight", - "Snapmaker/Panchroma PLA Starlight" - ], - "name": "Panchroma PLA Starlight", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFCD8qiU": { - "filaments": [ - "BBL/Generic EVA", - "OrcaFilamentLibrary/Generic EVA", - "Tiertime/Generic EVA" - ], - "name": "Generic EVA", - "filament_type": "EVA", - "filament_vendor": "Generic" - }, - "OFCIUsWh": { - "filaments": [ - "BBL/Panchroma PLA Translucent", - "OrcaFilamentLibrary/Panchroma PLA Translucent", - "Snapmaker/Panchroma PLA Translucent" - ], - "name": "Panchroma PLA Translucent", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFCJpR7a": { - "filaments": [ - "Creality/HP Ultra PLA" - ], - "name": "HP Ultra PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFCZsqXg": { - "filaments": [ - "Creality/Hyper PLA" - ], - "name": "Hyper PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFCccVrQ": { - "filaments": [ - "OrcaFilamentLibrary/PolyTerra Dual PLA", - "Snapmaker/PolyTerra Dual PLA" - ], - "name": "PolyTerra Dual PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFCidU7j": { - "filaments": [ - "OrcaFilamentLibrary/DREMC ABS-GF" - ], - "name": "DREMC ABS-GF", - "filament_type": "ABS-GF", - "filament_vendor": "DREMC" - }, - "OFCjG251": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Verde" - ], - "name": "FilAr PLA-mate Verde", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFCn83wF": { - "filaments": [ - "Flashforge/FusRock S-PAHT" - ], - "name": "FusRock S-PAHT", - "filament_type": "PAHT", - "filament_vendor": "FusRock" - }, - "OFCnywiC": { - "filaments": [ - "Tiertime/Tiertime PET-CF" - ], - "name": "Tiertime PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Tiertime" - }, - "OFCoRobU": { - "filaments": [ - "OrcaFilamentLibrary/Elas ASA" - ], - "name": "Elas ASA", - "filament_type": "ASA", - "filament_vendor": "Elas" - }, - "OFCp3Bgo": { - "filaments": [ - "Anycubic/Anycubic PLA SE" - ], - "name": "Anycubic PLA SE", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFCuaCer": { - "filaments": [ - "Volumic/Désactivé" - ], - "name": "Désactivé", - "filament_type": "PLA", - "filament_vendor": "Volumic" - }, - "OFD9taow": { - "filaments": [ - "FlyingBear/FlyingBear PLA Hyper" - ], - "name": "FlyingBear PLA Hyper", - "filament_type": "PLA", - "filament_vendor": "FlyingBear" - }, - "OFDETOM6": { - "filaments": [ - "Creality/eSUN PLA-Matte", - "OrcaFilamentLibrary/eSUN PLA-Matte" - ], - "name": "eSUN PLA-Matte", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFDGigEI": { - "filaments": [ - "BBL/Bambu PLA Dynamic", - "OrcaFilamentLibrary/Bambu PLA Dynamic" - ], - "name": "Bambu PLA Dynamic", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFDIrhbu": { - "filaments": [ - "Qidi/QIDI PC/ABS-FR" - ], - "name": "QIDI PC/ABS-FR", - "filament_type": "PC-ABS-FR", - "filament_vendor": "QIDI" - }, - "OFDJU6R3": { - "filaments": [ - "Afinia/Afinia TPU" - ], - "name": "Afinia TPU", - "filament_type": "TPU", - "filament_vendor": "Afinia" - }, - "OFDKIKyw": { - "filaments": [ - "Snapmaker/Snapmaker Dual PVA" - ], - "name": "Snapmaker Dual PVA", - "filament_type": "PVA", - "filament_vendor": "Snapmaker" - }, - "OFDKgoqx": { - "filaments": [ - "Flashforge/Flashforge PLA" - ], - "name": "Flashforge PLA", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFDRpXLZ": { - "filaments": [ - "FlyingBear/Other PETG", - "InfiMech/Other PETG" - ], - "name": "Other PETG", - "filament_type": "PETG", - "filament_vendor": "Other" - }, - "OFDSrzZ8": { - "filaments": [ - "Anker/Generic PLA", - "Anycubic/Generic PLA", - "Artillery/Generic PLA", - "BBL/Generic PLA", - "Blocks/Generic PLA", - "CONSTRUCT3D/Generic PLA", - "Chuanying/Generic PLA", - "Co Print/Generic PLA", - "CoLiDo/Generic PLA", - "Comgrow/Generic PLA", - "Creality/Generic PLA", - "Custom/Generic PLA", - "DeltaMaker/Generic PLA", - "Dremel/Generic PLA", - "Elegoo/Generic PLA", - "FLSun/Generic PLA", - "Flashforge/Generic PLA", - "FlyingBear/Generic PLA", - "Ginger Additive/Generic PLA", - "InfiMech/Generic PLA", - "LONGER/Generic PLA", - "Lulzbot/Generic PLA", - "OrcaArena/Generic PLA", - "OrcaFilamentLibrary/Generic PLA", - "Peopoly/Generic PLA", - "Phrozen/Generic PLA", - "Prusa/Generic PLA", - "Qidi/Generic PLA", - "RH3D/Generic PLA", - "Ratrig/Generic PLA", - "SecKit/Generic PLA", - "Sovol/Generic PLA", - "Tiertime/Generic PLA", - "Vzbot/Generic PLA", - "Z-Bolt/Generic PLA" - ], - "name": "Generic PLA", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFDe8uyM": { - "filaments": [ - "OrcaFilamentLibrary/Valment PLA" - ], - "name": "Valment PLA", - "filament_type": "PLA", - "filament_vendor": "Valment" - }, - "OFDgQaca": { - "filaments": [ - "FlyingBear/FlyingBear PETG" - ], - "name": "FlyingBear PETG", - "filament_type": "PETG", - "filament_vendor": "FlyingBear" - }, - "OFDpW3J8": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PLA Basic" - ], - "name": "FILL3D PLA Basic", - "filament_type": "PLA", - "filament_vendor": "FILL3D" - }, - "OFDtop41": { - "filaments": [ - "Creality/Generic Support for PA" - ], - "name": "Generic Support for PA", - "filament_type": "PA", - "filament_vendor": "Generic" - }, - "OFDu1qE7": { - "filaments": [ - "Flashforge/FusRock PET-CF" - ], - "name": "FusRock PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "FusRock" - }, - "OFDvXujf": { - "filaments": [ - "Anker/Generic PVA", - "Anycubic/Generic PVA", - "BBL/Generic PVA", - "Blocks/Generic PVA", - "Chuanying/Generic PVA", - "Creality/Generic PVA", - "Custom/Generic PVA", - "FLSun/Generic PVA", - "Flashforge/Generic PVA", - "OrcaArena/Generic PVA", - "OrcaFilamentLibrary/Generic PVA", - "Prusa/Generic PVA", - "Qidi/Generic PVA", - "Ratrig/Generic PVA", - "SecKit/Generic PVA", - "Tiertime/Generic PVA", - "Vzbot/Generic PVA" - ], - "name": "Generic PVA", - "filament_type": "PVA", - "filament_vendor": "Generic" - }, - "OFDvqJ6n": { - "filaments": [ - "OrcaFilamentLibrary/Overture ABS Basic" - ], - "name": "Overture ABS Basic", - "filament_type": "ABS", - "filament_vendor": "Overture" - }, - "OFDwBwO5": { - "filaments": [ - "Prusa/Generic PVA HF" - ], - "name": "Generic PVA HF", - "filament_type": "PVA", - "filament_vendor": "Generic" - }, - "OFDxfPgH": { - "filaments": [ - "BBL/Bambu PLA Sparkle", - "OrcaFilamentLibrary/Bambu PLA Sparkle" - ], - "name": "Bambu PLA Sparkle", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFDxxTpW": { - "filaments": [ - "Flashforge/Flashforge HS PETG" - ], - "name": "Flashforge HS PETG", - "filament_type": "PETG", - "filament_vendor": "Flashforge" - }, - "OFE0NFRh": { - "filaments": [ - "BBL/COEX TPU 60A", - "OrcaFilamentLibrary/COEX TPU 60A" - ], - "name": "COEX TPU 60A", - "filament_type": "TPU", - "filament_vendor": "COEX 3D" - }, - "OFEGNJD4": { - "filaments": [ - "BBL/Bambu PLA Silk", - "OrcaFilamentLibrary/Bambu PLA Silk" - ], - "name": "Bambu PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFEOnBj6": { - "filaments": [ - "Snapmaker/Snapmaker PLA Lite" - ], - "name": "Snapmaker PLA Lite", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFEWYR89": { - "filaments": [ - "Anker/Generic PLA+", - "Qidi/Generic PLA+" - ], - "name": "Generic PLA+", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFEZ449N": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Uva" - ], - "name": "FilAr PLA-mate Uva", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFEZpel7": { - "filaments": [ - "Volumic/PPS Carbone (Performance)" - ], - "name": "PPS Carbone (Performance)", - "filament_type": "PPS-CF", - "filament_vendor": "Volumic" - }, - "OFEabreg": { - "filaments": [ - "Anycubic/Fiberon PA6-CF20", - "BBL/Fiberon PA6-CF20", - "Snapmaker/Fiberon PA6-CF20" - ], - "name": "Fiberon PA6-CF20", - "filament_type": "PA6-CF", - "filament_vendor": "Polymaker" - }, - "OFEbIx49": { - "filaments": [ - "WonderMaker/WonderMaker PLA Marble" - ], - "name": "WonderMaker PLA Marble", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFEhuUNq": { - "filaments": [], - "name": "DREMC PA12-CF", - "filament_type": "PA-CF", - "filament_vendor": "DREMC" - }, - "OFEj7sca": { - "filaments": [ - "Cubicon/Cubicon PC" - ], - "name": "Cubicon PC", - "filament_type": "PC", - "filament_vendor": "Cubicon" - }, - "OFEjbwqG": { - "filaments": [ - "BBL/PolyTerra PLA+", - "Snapmaker/PolyTerra PLA+" - ], - "name": "PolyTerra PLA+", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFEkPBwx": { - "filaments": [ - "BBL/Bambu PLA Glow", - "OrcaFilamentLibrary/Bambu PLA Glow" - ], - "name": "Bambu PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFEmsric": { - "filaments": [ - "Snapmaker/Snapmaker PA-CF" - ], - "name": "Snapmaker PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Snapmaker" - }, - "OFEnbt6D": { - "filaments": [ - "Peopoly/Peopoly Lancer PLA-C" - ], - "name": "Peopoly Lancer PLA-C", - "filament_type": "PLA", - "filament_vendor": "Peopoly" - }, - "OFEswT5W": { - "filaments": [ - "BBL/Bambu PLA-CF", - "OrcaFilamentLibrary/Bambu PLA-CF" - ], - "name": "Bambu PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Bambu Lab" - }, - "OFEvEfw5": { - "filaments": [ - "Flashforge/Flashforge PA" - ], - "name": "Flashforge PA", - "filament_type": "PA", - "filament_vendor": "Flashforge" - }, - "OFEwRwmL": { - "filaments": [ - "Cubicon/Cubicon PLA" - ], - "name": "Cubicon PLA", - "filament_type": "PLA", - "filament_vendor": "Cubicon" - }, - "OFF3cuzT": { - "filaments": [ - "Creality/Generic TPU 64D" - ], - "name": "Generic TPU 64D", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OFF5o7b2": { - "filaments": [ - "BBL/BETA PLA Youth" - ], - "name": "BETA PLA Youth", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFF9OKoY": { - "filaments": [ - "BBL/PolyLite PLA Pro", - "OrcaFilamentLibrary/PolyLite PLA Pro", - "Snapmaker/PolyLite PLA Pro" - ], - "name": "PolyLite PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFF9cgY5": { - "filaments": [ - "Snapmaker/Snapmaker PLA Matte" - ], - "name": "Snapmaker PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFFAWVf0": { - "filaments": [ - "Qidi/QIDI PC-ABS-FR" - ], - "name": "QIDI PC-ABS-FR", - "filament_type": "PC-ABS-FR", - "filament_vendor": "QIDI" - }, - "OFFFg2Pf": { - "filaments": [ - "Flashforge/Flashforge ASA Basic" - ], - "name": "Flashforge ASA Basic", - "filament_type": "ASA", - "filament_vendor": "Flashforge" - }, - "OFFNYwWR": { - "filaments": [ - "BBL/Bambu PA-CF", - "OrcaFilamentLibrary/Bambu PA-CF" - ], - "name": "Bambu PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Bambu Lab" - }, - "OFFP4ORR": { - "filaments": [ - "Creality/Creality Hyper ABS" - ], - "name": "Creality Hyper ABS", - "filament_type": "ABS", - "filament_vendor": "Creality" - }, - "OFFX1DRD": { - "filaments": [ - "FlyingBear/FlyingBear PC" - ], - "name": "FlyingBear PC", - "filament_type": "PC", - "filament_vendor": "FlyingBear" - }, - "OFFZ458u": { - "filaments": [ - "Snapmaker/Fiberon PA612-ESD" - ], - "name": "Fiberon PA612-ESD", - "filament_type": "PA-CF", - "filament_vendor": "Polymaker" - }, - "OFFbQscs": { - "filaments": [ - "Creality/eSUN PETG-Basic" - ], - "name": "eSUN PETG-Basic", - "filament_type": "PETG", - "filament_vendor": "eSUN" - }, - "OFFbSnCD": { - "filaments": [ - "BBL/Bambu PLA Translucent" - ], - "name": "Bambu PLA Translucent", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFFfJ09N": { - "filaments": [ - "BBL/BETA PETG Glow" - ], - "name": "BETA PETG Glow", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFFkCLBl": { - "filaments": [ - "BBL/Panchroma PLA Galaxy", - "OrcaFilamentLibrary/Panchroma PLA Galaxy", - "Snapmaker/Panchroma PLA Galaxy" - ], - "name": "Panchroma PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFFvzqcd": { - "filaments": [ - "BBL/Bambu PETG Basic", - "OrcaFilamentLibrary/Bambu PETG Basic" - ], - "name": "Bambu PETG Basic", - "filament_type": "PETG", - "filament_vendor": "Bambu Lab" - }, - "OFFwJWea": { - "filaments": [ - "Anycubic/Anycubic PLA Silk" - ], - "name": "Anycubic PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFG0kOKX": { - "filaments": [ - "Volumic/Volumic PETG Ultra" - ], - "name": "Volumic PETG Ultra", - "filament_type": "PETG", - "filament_vendor": "Volumic" - }, - "OFG2RkhN": { - "filaments": [ - "Creality/CR-TPU" - ], - "name": "CR-TPU", - "filament_type": "TPU", - "filament_vendor": "Creality" - }, - "OFG4do34": { - "filaments": [ - "Qidi/Qidi ASA-Aero" - ], - "name": "Qidi ASA-Aero", - "filament_type": "ASA-AERO", - "filament_vendor": "QIDI" - }, - "OFGJ1nxs": { - "filaments": [ - "FlyingBear/Other PLA", - "InfiMech/Other PLA" - ], - "name": "Other PLA", - "filament_type": "PLA", - "filament_vendor": "Other" - }, - "OFGVwfK0": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Gris" - ], - "name": "FilAr PLA-mate Gris", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFGVxj2A": { - "filaments": [ - "BBL/BETA PLA Wood" - ], - "name": "BETA PLA Wood", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFGc9l16": { - "filaments": [ - "BBL/BETA PLA Glow" - ], - "name": "BETA PLA Glow", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFGcLA5R": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Beige" - ], - "name": "FilAr PLA-mate Beige", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFGcMkEB": { - "filaments": [ - "Creality/HP-TPU" - ], - "name": "HP-TPU", - "filament_type": "TPU", - "filament_vendor": "Creality" - }, - "OFGdP6Na": { - "filaments": [ - "Volumic/Volumic PVA" - ], - "name": "Volumic PVA", - "filament_type": "PVA", - "filament_vendor": "Volumic" - }, - "OFGkyftV": { - "filaments": [ - "BBL/Overture Silk PLA", - "OrcaFilamentLibrary/Overture Silk PLA" - ], - "name": "Overture Silk PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFGwT5Av": { - "filaments": [ - "Creality/Creality Hyper PLA-CF" - ], - "name": "Creality Hyper PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Creality" - }, - "OFGwZmgS": { - "filaments": [ - "Creality/CR-ABS" - ], - "name": "CR-ABS", - "filament_type": "ABS", - "filament_vendor": "Creality" - }, - "OFGxC8gB": { - "filaments": [ - "Creality/CR-Wood" - ], - "name": "CR-Wood", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFGxuI0n": { - "filaments": [ - "Flashforge/Flashforge PA-CF" - ], - "name": "Flashforge PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Flashforge" - }, - "OFH2nN08": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA INGEO 850" - ], - "name": "Eolas Prints PLA INGEO 850", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFH57ibH": { - "filaments": [ - "Snapmaker/Polymaker Silk PLA Family" - ], - "name": "Polymaker Silk PLA Family", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFH7b12v": { - "filaments": [ - "Creality/Generic PAHT-CF" - ], - "name": "Generic PAHT-CF", - "filament_type": "PA-CF", - "filament_vendor": "Generic" - }, - "OFHAccHz": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Blanco Antartida" - ], - "name": "FilAr PLA Blanco Antartida", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFHHwrd1": { - "filaments": [ - "BBL/addnorth PETG Base" - ], - "name": "addnorth PETG Base", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OFHWSM21": { - "filaments": [ - "BBL/Fiberon PET-CF", - "OrcaFilamentLibrary/Fiberon PET-CF" - ], - "name": "Fiberon PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Polymaker" - }, - "OFHa48An": { - "filaments": [ - "BBL/Bambu PET-CF", - "OrcaFilamentLibrary/Bambu PET-CF" - ], - "name": "Bambu PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Bambu Lab" - }, - "OFHaYaB1": { - "filaments": [ - "Creality/eSUN PET-Basic" - ], - "name": "eSUN PET-Basic", - "filament_type": "PET", - "filament_vendor": "eSUN" - }, - "OFHf2lKK": { - "filaments": [ - "FlyingBear/FlyingBear TPU Basic" - ], - "name": "FlyingBear TPU Basic", - "filament_type": "TPU", - "filament_vendor": "FlyingBear" - }, - "OFHfzQXo": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Transition" - ], - "name": "Eolas Prints PLA Transition", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFHknN4v": { - "filaments": [ - "Anycubic/Polymaker PLA Pro Metallic", - "Snapmaker/Polymaker PLA Pro Metallic" - ], - "name": "Polymaker PLA Pro Metallic", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFHmPYRy": { - "filaments": [ - "BBL/SUNLU PLA+ 2.0", - "Flashforge/SUNLU PLA+ 2.0", - "OrcaFilamentLibrary/SUNLU PLA+ 2.0" - ], - "name": "SUNLU PLA+ 2.0", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFI2MKy7": { - "filaments": [ - "BBL/BETA PEBA 90A" - ], - "name": "BETA PEBA 90A", - "filament_type": "TPU", - "filament_vendor": "BETA" - }, - "OFI6WZpn": { - "filaments": [ - "OrcaArena/Arena Support W" - ], - "name": "Arena Support W", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFIBXa0k": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Rojo" - ], - "name": "FilAr PLA-mate Rojo", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFIBbYO5": { - "filaments": [ - "BBL/Bambu TPU for AMS" - ], - "name": "Bambu TPU for AMS", - "filament_type": "TPU-AMS", - "filament_vendor": "Bambu Lab" - }, - "OFIE3vOf": { - "filaments": [ - "Anycubic/Anycubic PLA Matte" - ], - "name": "Anycubic PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFIK2H3G": { - "filaments": [ - "Flashforge/Flashforge HS PLA" - ], - "name": "Flashforge HS PLA", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFIKZxPF": { - "filaments": [ - "Creality/Generic PLA Wood" - ], - "name": "Generic PLA Wood", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFIPjqHt": { - "filaments": [ - "OrcaArena/Arena Support G" - ], - "name": "Arena Support G", - "filament_type": "PA", - "filament_vendor": "Orca Arena" - }, - "OFIRUqWi": { - "filaments": [ - "Creality/eSUN PLA-Silk" - ], - "name": "eSUN PLA-Silk", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFIVWJPm": { - "filaments": [ - "InfiMech/InfiMech TPU" - ], - "name": "InfiMech TPU", - "filament_type": "TPU", - "filament_vendor": "InfiMech" - }, - "OFIWMSGX": { - "filaments": [ - "Qidi/HATCHBOX PETG" - ], - "name": "HATCHBOX PETG", - "filament_type": "PETG", - "filament_vendor": "HATCHBOX" - }, - "OFIZMQwM": { - "filaments": [ - "LH/LHS TPU" - ], - "name": "LHS TPU", - "filament_type": "TPU", - "filament_vendor": "LH Stinger" - }, - "OFIamQnD": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Gris Ceniza" - ], - "name": "FilAr PLA Gris Ceniza", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFIegjmD": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints TPU Flex D53" - ], - "name": "Eolas Prints TPU Flex D53", - "filament_type": "TPU", - "filament_vendor": "Eolas Prints" - }, - "OFIfnzxC": { - "filaments": [ - "BBL/Bambu Support For PLA/PETG", - "OrcaFilamentLibrary/Bambu Support For PLA/PETG" - ], - "name": "Bambu Support For PLA/PETG", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFIgbDHq": { - "filaments": [ - "Anycubic/Anycubic PLA Luminous" - ], - "name": "Anycubic PLA Luminous", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFIxOuOu": { - "filaments": [ - "BBL/PolyLite PLA Starlight", - "Snapmaker/PolyLite PLA Starlight" - ], - "name": "PolyLite PLA Starlight", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFJ3F2jm": { - "filaments": [ - "Flashforge/Flashforge PLA Basic" - ], - "name": "Flashforge PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFJ3HRsR": { - "filaments": [ - "OrcaArena/Arena ABS" - ], - "name": "Arena ABS", - "filament_type": "ABS", - "filament_vendor": "Orca Arena" - }, - "OFJHBEGD": { - "filaments": [], - "name": "DREMC PLA+ HS", - "filament_type": "PLA", - "filament_vendor": "DREMC" - }, - "OFJJ0Ar3": { - "filaments": [ - "Flashforge/Flashforge PLA Galaxy" - ], - "name": "Flashforge PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFJNeELv": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PA" - ], - "name": "FILL3D PA", - "filament_type": "PA", - "filament_vendor": "FILL3D" - }, - "OFJOFnOZ": { - "filaments": [ - "BBL/AliZ PETG-CF", - "OrcaFilamentLibrary/AliZ PETG-CF" - ], - "name": "AliZ PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Aliz" - }, - "OFJQDUk3": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Cristal" - ], - "name": "FilAr PETG Cristal", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFJS560n": { - "filaments": [], - "name": "Flashforge ASA", - "filament_type": "ASA", - "filament_vendor": "Flashforge" - }, - "OFJWKoYG": { - "filaments": [ - "iQ/Material4Print ABS Natur P1" - ], - "name": "Material4Print ABS Natur P1", - "filament_type": "ABS Material4Print Natur", - "filament_vendor": "iQ Materials" - }, - "OFJYpVAQ": { - "filaments": [ - "Flashforge/Generic TPU-90A" - ], - "name": "Generic TPU-90A", - "filament_type": "TPU-90A", - "filament_vendor": "Generic" - }, - "OFJgijky": { - "filaments": [ - "BBL/PolyLite CosPLA", - "Snapmaker/PolyLite CosPLA" - ], - "name": "PolyLite CosPLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFJhT2fd": { - "filaments": [ - "Snapmaker/Snapmaker Dual ABS" - ], - "name": "Snapmaker Dual ABS", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OFJnEaCp": { - "filaments": [ - "BBL/BETA PLA Transparent" - ], - "name": "BETA PLA Transparent", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFJrvXth": { - "filaments": [ - "Snapmaker/Snapmaker ABS Benchy" - ], - "name": "Snapmaker ABS Benchy", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OFJs1ToM": { - "filaments": [ - "BBL/COEX NYLEX UNFILLED" - ], - "name": "COEX NYLEX UNFILLED", - "filament_type": "PA", - "filament_vendor": "COEX 3D" - }, - "OFJu1XwK": { - "filaments": [ - "OrcaFilamentLibrary/NIT PETG" - ], - "name": "NIT PETG", - "filament_type": "PETG", - "filament_vendor": "NIT" - }, - "OFJxSqO4": { - "filaments": [ - "Wanhao France/YUMI PLA Direct Drive" - ], - "name": "YUMI PLA Direct Drive", - "filament_type": "PLA", - "filament_vendor": "Yumi" - }, - "OFK7830e": { - "filaments": [ - "BBL/BETA TPU 95A" - ], - "name": "BETA TPU 95A", - "filament_type": "TPU", - "filament_vendor": "BETA" - }, - "OFK8XHPn": { - "filaments": [ - "Qidi/Overture ABS" - ], - "name": "Overture ABS", - "filament_type": "ABS", - "filament_vendor": "Overture" - }, - "OFKIQO2W": { - "filaments": [ - "Qidi/QIDI PLA Rapido" - ], - "name": "QIDI PLA Rapido", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFKKajh6": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Gris Plata" - ], - "name": "FilAr PLA Gris Plata", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFKTGKJU": { - "filaments": [ - "Flashforge/FusRock PET" - ], - "name": "FusRock PET", - "filament_type": "PET", - "filament_vendor": "FusRock" - }, - "OFKTSiYF": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Blanco Calido" - ], - "name": "FilAr PLA Blanco Calido", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFKUEXPA": { - "filaments": [ - "Snapmaker/Snapmaker Dual ASA" - ], - "name": "Snapmaker Dual ASA", - "filament_type": "ASA", - "filament_vendor": "Snapmaker" - }, - "OFKW5hEW": { - "filaments": [ - "Flashforge/FusRock PAHT-CF" - ], - "name": "FusRock PAHT-CF", - "filament_type": "PAHT-CF", - "filament_vendor": "FusRock" - }, - "OFKWWgyp": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Carpincho" - ], - "name": "FilAr PLA Carpincho", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFKYBAWe": { - "filaments": [ - "BBL/BETA PLA Marble" - ], - "name": "BETA PLA Marble", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFKZ9skj": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Naranja Tigre" - ], - "name": "FilAr PLA Naranja Tigre", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFKbdiiJ": { - "filaments": [ - "Creality/PolySonic PLA Pro" - ], - "name": "PolySonic PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFKfJTwL": { - "filaments": [ - "Qidi/QIDI PET-CF" - ], - "name": "QIDI PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "QIDI" - }, - "OFKgmsqE": { - "filaments": [ - "Qidi/QIDI PAHT-CF" - ], - "name": "QIDI PAHT-CF", - "filament_type": "PAHT-CF", - "filament_vendor": "QIDI" - }, - "OFKhMPeX": { - "filaments": [ - "BBL/Bambu PC", - "OrcaFilamentLibrary/Bambu PC" - ], - "name": "Bambu PC", - "filament_type": "PC", - "filament_vendor": "Bambu Lab" - }, - "OFKiSMWR": { - "filaments": [ - "BBL/Panchroma PLA Marble", - "OrcaFilamentLibrary/Panchroma PLA Marble", - "Snapmaker/Panchroma PLA Marble" - ], - "name": "Panchroma PLA Marble", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFKyNkQz": { - "filaments": [ - "BBL/BETA PETG UV Color Change" - ], - "name": "BETA PETG UV Color Change", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFL9aRjN": { - "filaments": [ - "Snapmaker/Snapmaker PETG HF" - ], - "name": "Snapmaker PETG HF", - "filament_type": "PETG", - "filament_vendor": "Snapmaker" - }, - "OFLAXKqP": { - "filaments": [ - "WonderMaker/WonderMaker TPU 95A" - ], - "name": "WonderMaker TPU 95A", - "filament_type": "TPU", - "filament_vendor": "WonderMaker" - }, - "OFLC1oRH": { - "filaments": [ - "Flashforge/Flashforge PPA-CF" - ], - "name": "Flashforge PPA-CF", - "filament_type": "PPA-CF", - "filament_vendor": "Flashforge" - }, - "OFLJ8S6I": { - "filaments": [ - "BBL/SUNLU Wood PLA", - "Flashforge/SUNLU Wood PLA", - "OrcaFilamentLibrary/SUNLU Wood PLA" - ], - "name": "SUNLU Wood PLA", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFLNgV3C": { - "filaments": [], - "name": "DREMC ASA", - "filament_type": "ASA", - "filament_vendor": "DREMC" - }, - "OFLOf6Sc": { - "filaments": [ - "Tiertime/Tiertime TPU 95A" - ], - "name": "Tiertime TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Tiertime" - }, - "OFLPAxz3": { - "filaments": [ - "Anker/Generic ASA", - "Anycubic/Generic ASA", - "Artillery/Generic ASA", - "BBL/Generic ASA", - "Blocks/Generic ASA", - "Chuanying/Generic ASA", - "Creality/Generic ASA", - "Custom/Generic ASA", - "Elegoo/Generic ASA", - "FLSun/Generic ASA", - "Flashforge/Generic ASA", - "OrcaArena/Generic ASA", - "OrcaFilamentLibrary/Generic ASA", - "Prusa/Generic ASA", - "Qidi/Generic ASA", - "RH3D/Generic ASA", - "Ratrig/Generic ASA", - "SecKit/Generic ASA", - "Tiertime/Generic ASA", - "Vzbot/Generic ASA" - ], - "name": "Generic ASA", - "filament_type": "ASA", - "filament_vendor": "Generic" - }, - "OFLTYJW0": { - "filaments": [ - "Snapmaker/Snapmaker PLA Translucent" - ], - "name": "Snapmaker PLA Translucent", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFLXvuMr": { - "filaments": [ - "Elegoo/Elegoo Rapid PETG", - "OrcaFilamentLibrary/Elegoo Rapid PETG" - ], - "name": "Elegoo Rapid PETG", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFLYDngx": { - "filaments": [ - "Qidi/Bambu PETG" - ], - "name": "Bambu PETG", - "filament_type": "PETG", - "filament_vendor": "Bambu Lab" - }, - "OFLakOUI": { - "filaments": [ - "Anker/Generic PC", - "Anycubic/Generic PC", - "BBL/Generic PC", - "Blocks/Generic PC", - "Creality/Generic PC", - "Custom/Generic PC", - "Elegoo/Generic PC", - "FLSun/Generic PC", - "FlyingBear/Generic PC", - "InfiMech/Generic PC", - "OrcaArena/Generic PC", - "OrcaFilamentLibrary/Generic PC", - "Prusa/Generic PC", - "Qidi/Generic PC", - "Ratrig/Generic PC", - "SecKit/Generic PC", - "Sovol/Generic PC", - "Tiertime/Generic PC", - "Vzbot/Generic PC" - ], - "name": "Generic PC", - "filament_type": "PC", - "filament_vendor": "Generic" - }, - "OFLbXwoL": { - "filaments": [ - "Artillery/Artillery PLA Silk" - ], - "name": "Artillery PLA Silk", - "filament_type": "PLA Silk", - "filament_vendor": "Artillery" - }, - "OFLbdkrE": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA Eco" - ], - "name": "Snapmaker J1 PLA Eco", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFLcd093": { - "filaments": [ - "Elegoo/Elegoo PETG", - "OrcaFilamentLibrary/Elegoo PETG" - ], - "name": "Elegoo PETG", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFLfywkp": { - "filaments": [ - "Afinia/Afinia ABS+" - ], - "name": "Afinia ABS+", - "filament_type": "ABS", - "filament_vendor": "Afinia" - }, - "OFLgwqp2": { - "filaments": [ - "Creality/Hyper PETG-GF" - ], - "name": "Hyper PETG-GF", - "filament_type": "PETG-GF", - "filament_vendor": "Creality" - }, - "OFLjDYxH": { - "filaments": [ - "BBL/addnorth PLA X-PLA High Speed" - ], - "name": "addnorth PLA X-PLA High Speed", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFLqgSuX": { - "filaments": [ - "BBL/BETA PLA-CF" - ], - "name": "BETA PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "BETA" - }, - "OFLzx3J4": { - "filaments": [ - "Creality/Hyper Marble" - ], - "name": "Hyper Marble", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFM0xjBG": { - "filaments": [ - "Creality/CR-PLA Matte" - ], - "name": "CR-PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFM4iJlv": { - "filaments": [ - "Creality/Generic PA12-CF" - ], - "name": "Generic PA12-CF", - "filament_type": "PA-CF", - "filament_vendor": "Generic" - }, - "OFM91vZs": { - "filaments": [ - "BBL/Overture ASA", - "OrcaFilamentLibrary/Overture ASA" - ], - "name": "Overture ASA", - "filament_type": "ASA", - "filament_vendor": "Overture" - }, - "OFMDHOcT": { - "filaments": [ - "Qidi/QIDI TPU-Aero" - ], - "name": "QIDI TPU-Aero", - "filament_type": "TPU-AERO", - "filament_vendor": "QIDI" - }, - "OFMK5gVo": { - "filaments": [ - "WonderMaker/WonderMaker PLA Basic" - ], - "name": "WonderMaker PLA Basic", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFML2aVd": { - "filaments": [ - "Anycubic/Anycubic TPU 95A" - ], - "name": "Anycubic TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Anycubic" - }, - "OFMSvS8z": { - "filaments": [ - "Artillery/Artillery PA" - ], - "name": "Artillery PA", - "filament_type": "PA", - "filament_vendor": "Artillery" - }, - "OFMTK0UC": { - "filaments": [ - "BBL/Bambu Support For PA/PET", - "OrcaFilamentLibrary/Bambu Support For PA/PET" - ], - "name": "Bambu Support For PA/PET", - "filament_type": "PA", - "filament_vendor": "Bambu Lab" - }, - "OFMUWNkp": { - "filaments": [ - "BBL/SUNLU PLA+", - "Flashforge/SUNLU PLA+", - "OrcaFilamentLibrary/SUNLU PLA+" - ], - "name": "SUNLU PLA+", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFMZvH0z": { - "filaments": [ - "BBL/Overture Rock PLA", - "OrcaFilamentLibrary/Overture Rock PLA" - ], - "name": "Overture Rock PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFMjtqTC": { - "filaments": [ - "BBL/Bambu PLA Wood", - "OrcaFilamentLibrary/Bambu PLA Wood" - ], - "name": "Bambu PLA Wood", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFMkAW6r": { - "filaments": [ - "Flashforge/Flashforge PLA Color Change" - ], - "name": "Flashforge PLA Color Change", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFMpxamb": { - "filaments": [ - "Flashforge/Flashforge PETG" - ], - "name": "Flashforge PETG", - "filament_type": "PETG", - "filament_vendor": "Flashforge" - }, - "OFMsDGbs": { - "filaments": [ - "Anycubic/Anycubic TPU" - ], - "name": "Anycubic TPU", - "filament_type": "TPU", - "filament_vendor": "Anycubic" - }, - "OFMuXBmO": { - "filaments": [ - "OrcaFilamentLibrary/Elas PLA Basic" - ], - "name": "Elas PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Elas" - }, - "OFMzRg65": { - "filaments": [ - "BBL/BETA PLA PRO" - ], - "name": "BETA PLA PRO", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFN8QBhu": { - "filaments": [ - "BBL/addnorth PLA Wood" - ], - "name": "addnorth PLA Wood", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFNBlAPT": { - "filaments": [ - "OrcaArena/Arena PETG Basic" - ], - "name": "Arena PETG Basic", - "filament_type": "PETG", - "filament_vendor": "Orca Arena" - }, - "OFNGTH3w": { - "filaments": [ - "Tiertime/Tiertime PLA" - ], - "name": "Tiertime PLA", - "filament_type": "PLA", - "filament_vendor": "Tiertime" - }, - "OFNQKF0M": { - "filaments": [ - "Tiertime/Tiertime ABS" - ], - "name": "Tiertime ABS", - "filament_type": "ABS", - "filament_vendor": "Tiertime" - }, - "OFNSYu5h": { - "filaments": [ - "Volumic/Volumic PP Ultra (Performance)" - ], - "name": "Volumic PP Ultra (Performance)", - "filament_type": "PP", - "filament_vendor": "Volumic" - }, - "OFNU9YIW": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Azul Boreal" - ], - "name": "FilAr PETG Azul Boreal", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFNemJM6": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Cobre" - ], - "name": "FilAr PLA Cobre", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFNjku08": { - "filaments": [ - "CONSTRUCT3D/Generic High Flow PETG" - ], - "name": "Generic High Flow PETG", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OFNk8AvA": { - "filaments": [ - "BBL/BETA PETG Gradient" - ], - "name": "BETA PETG Gradient", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFNk8bxk": { - "filaments": [ - "BBL/Bambu PA6-GF", - "OrcaFilamentLibrary/Bambu PA6-GF" - ], - "name": "Bambu PA6-GF", - "filament_type": "PA-GF", - "filament_vendor": "Bambu Lab" - }, - "OFNstOna": { - "filaments": [ - "Eryone/Eryone PETG-CF" - ], - "name": "Eryone PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Eryone" - }, - "OFNvBIL0": { - "filaments": [ - "Creality/Hyper PPA-CF" - ], - "name": "Hyper PPA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Creality" - }, - "OFO1GEq6": { - "filaments": [ - "BBL/Panchroma PLA Neon", - "OrcaFilamentLibrary/Panchroma PLA Neon", - "Snapmaker/Panchroma PLA Neon" - ], - "name": "Panchroma PLA Neon", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFO5djrM": { - "filaments": [ - "Chuanying/Generic PETG-CF10", - "Flashforge/Generic PETG-CF10" - ], - "name": "Generic PETG-CF10", - "filament_type": "PETG-CF", - "filament_vendor": "Generic" - }, - "OFO6GMJ3": { - "filaments": [ - "BBL/addnorth TPU EasyFlex" - ], - "name": "addnorth TPU EasyFlex", - "filament_type": "TPU", - "filament_vendor": "addnorth" - }, - "OFOABq7t": { - "filaments": [ - "BBL/AliZ PETG-Metal", - "OrcaFilamentLibrary/AliZ PETG-Metal" - ], - "name": "AliZ PETG-Metal", - "filament_type": "PETG", - "filament_vendor": "Aliz" - }, - "OFOAdMCB": { - "filaments": [ - "OrcaArena/Arena PLA Metal" - ], - "name": "Arena PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFOHOf2F": { - "filaments": [ - "Creality/eSUN PLA-HS" - ], - "name": "eSUN PLA-HS", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFOJPAAS": { - "filaments": [ - "iQ/VXL90 TiQ2 P2" - ], - "name": "VXL90 TiQ2 P2", - "filament_type": "VXL90 Xioneer", - "filament_vendor": "iQ Materials" - }, - "OFOPU1xv": { - "filaments": [ - "Snapmaker/Snapmaker PLA Full Spectrum" - ], - "name": "Snapmaker PLA Full Spectrum", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFOQCfVa": { - "filaments": [ - "BBL/addnorth PLA Premium Silk" - ], - "name": "addnorth PLA Premium Silk", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFObG16Q": { - "filaments": [ - "InfiMech/InfiMech PLA Basic" - ], - "name": "InfiMech PLA Basic", - "filament_type": "PLA", - "filament_vendor": "InfiMech" - }, - "OFObyktP": { - "filaments": [ - "Tiertime/Tiertime PETG" - ], - "name": "Tiertime PETG", - "filament_type": "PETG", - "filament_vendor": "Tiertime" - }, - "OFOiJfLM": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PETG CF" - ], - "name": "FILL3D PETG CF", - "filament_type": "PETG-CF", - "filament_vendor": "FILL3D" - }, - "OFOnSNt3": { - "filaments": [ - "Artillery/Artillery PETG-CF" - ], - "name": "Artillery PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Artillery" - }, - "OFOsHDnB": { - "filaments": [ - "Elegoo/Elegoo PETG PRO", - "OrcaFilamentLibrary/Elegoo PETG PRO" - ], - "name": "Elegoo PETG PRO", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFOuEEvv": { - "filaments": [ - "Qidi/QIDI ABS Rapido 0.2 nozzle" - ], - "name": "QIDI ABS Rapido 0.2 nozzle", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OFOvv91M": { - "filaments": [ - "BBL/PolyLite ABS", - "OrcaFilamentLibrary/PolyLite ABS", - "Qidi/PolyLite ABS" - ], - "name": "PolyLite ABS", - "filament_type": "ABS", - "filament_vendor": "Polymaker" - }, - "OFOwQuZM": { - "filaments": [ - "Snapmaker/Snapmaker PETG-CF" - ], - "name": "Snapmaker PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Snapmaker" - }, - "OFOzwywz": { - "filaments": [ - "Eryone/Eryone ABS" - ], - "name": "Eryone ABS", - "filament_type": "ABS", - "filament_vendor": "Eryone" - }, - "OFP26zNb": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Violeta Jacaranda" - ], - "name": "FilAr PLA Violeta Jacaranda", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFPHLnoe": { - "filaments": [ - "Creality/HP-ASA" - ], - "name": "HP-ASA", - "filament_type": "ASA", - "filament_vendor": "Creality" - }, - "OFPWPlSC": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PP" - ], - "name": "FILL3D PP", - "filament_type": "PP", - "filament_vendor": "FILL3D" - }, - "OFPYDWgC": { - "filaments": [ - "Peopoly/Peopoly Lancer PET-CF" - ], - "name": "Peopoly Lancer PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Peopoly" - }, - "OFPbyOSk": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Rojo Carmesi" - ], - "name": "FilAr PETG Rojo Carmesi", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFPc4zVY": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA INGEO 870" - ], - "name": "Eolas Prints PLA INGEO 870", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFPkCJKE": { - "filaments": [ - "BBL/Panchroma PLA Satin", - "Creality/Panchroma PLA Satin", - "OrcaFilamentLibrary/Panchroma PLA Satin", - "Snapmaker/Panchroma PLA Satin" - ], - "name": "Panchroma PLA Satin", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFPklMI1": { - "filaments": [ - "BBL/Generic PE", - "OrcaFilamentLibrary/Generic PE", - "Tiertime/Generic PE" - ], - "name": "Generic PE", - "filament_type": "PE", - "filament_vendor": "Generic" - }, - "OFPoyiFs": { - "filaments": [ - "BBL/Polymaker HT-PLA", - "OrcaFilamentLibrary/Polymaker HT-PLA", - "Snapmaker/Polymaker HT-PLA" - ], - "name": "Polymaker HT-PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFPqX3x2": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Rosa Amaranto" - ], - "name": "FilAr PLA Rosa Amaranto", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFQ1KzO8": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA Silk" - ], - "name": "Snapmaker J1 PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFQ1zgm3": { - "filaments": [ - "Eryone/Eryone ABS-CF" - ], - "name": "Eryone ABS-CF", - "filament_type": "ABS-CF", - "filament_vendor": "Eryone" - }, - "OFQ3e56w": { - "filaments": [ - "BBL/Bambu PLA Galaxy", - "OrcaFilamentLibrary/Bambu PLA Galaxy" - ], - "name": "Bambu PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFQ40XeN": { - "filaments": [ - "Qidi/QIDI PETG Tough" - ], - "name": "QIDI PETG Tough", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFQ5TxZ2": { - "filaments": [ - "BBL/addnorth PVDF Adamant S1" - ], - "name": "addnorth PVDF Adamant S1", - "filament_type": "PA", - "filament_vendor": "addnorth" - }, - "OFQEGL7z": { - "filaments": [ - "FlyingBear/FlyingBear PA-CF" - ], - "name": "FlyingBear PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "FlyingBear" - }, - "OFQGvU2G": { - "filaments": [ - "OrcaArena/Arena TPU 95A" - ], - "name": "Arena TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Orca Arena" - }, - "OFQHiNJs": { - "filaments": [ - "BBL/Bambu Support G", - "OrcaFilamentLibrary/Bambu Support G" - ], - "name": "Bambu Support G", - "filament_type": "PA", - "filament_vendor": "Bambu Lab" - }, - "OFQLcbps": { - "filaments": [ - "Anker/Generic PA-CF", - "Anycubic/Generic PA-CF", - "BBL/Generic PA-CF", - "Blocks/Generic PA-CF", - "Creality/Generic PA-CF", - "Custom/Generic PA-CF", - "FLSun/Generic PA-CF", - "FlyingBear/Generic PA-CF", - "InfiMech/Generic PA-CF", - "OrcaArena/Generic PA-CF", - "OrcaFilamentLibrary/Generic PA-CF", - "Prusa/Generic PA-CF", - "Qidi/Generic PA-CF", - "Ratrig/Generic PA-CF", - "SecKit/Generic PA-CF", - "Tiertime/Generic PA-CF", - "Vzbot/Generic PA-CF" - ], - "name": "Generic PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Generic" - }, - "OFQMTRc8": { - "filaments": [ - "Snapmaker/Snapmaker J1 PETG" - ], - "name": "Snapmaker J1 PETG", - "filament_type": "PETG", - "filament_vendor": "Snapmaker" - }, - "OFQMsFfF": { - "filaments": [ - "Qidi/QIDI ABS-GF10" - ], - "name": "QIDI ABS-GF10", - "filament_type": "ABS-GF", - "filament_vendor": "QIDI" - }, - "OFQWIKbV": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Titanio" - ], - "name": "FilAr PLA Titanio", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFQYaiGg": { - "filaments": [ - "Snapmaker/Snapmaker PET" - ], - "name": "Snapmaker PET", - "filament_type": "PET", - "filament_vendor": "Snapmaker" - }, - "OFQbjX3s": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PETG" - ], - "name": "FILL3D PETG", - "filament_type": "PETG", - "filament_vendor": "FILL3D" - }, - "OFQdaVZS": { - "filaments": [ - "Creality/Generic PET-CF", - "Elegoo/Generic PET-CF" - ], - "name": "Generic PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Generic" - }, - "OFQe7sAx": { - "filaments": [ - "Anycubic/Anycubic PA6-CF" - ], - "name": "Anycubic PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Anycubic" - }, - "OFQyyO0l": { - "filaments": [ - "Flashforge/Polymaker CoPA" - ], - "name": "Polymaker CoPA", - "filament_type": "PA", - "filament_vendor": "Polymaker" - }, - "OFR0gODA": { - "filaments": [ - "SeeMeCNC/SeeMeCNC ABS" - ], - "name": "SeeMeCNC ABS", - "filament_type": "ABS", - "filament_vendor": "SeeMeCNC" - }, - "OFR1XLMN": { - "filaments": [ - "Qidi/QIDI TPU 95A-HF" - ], - "name": "QIDI TPU 95A-HF", - "filament_type": "TPU", - "filament_vendor": "QIDI" - }, - "OFRFhdqy": { - "filaments": [ - "BBL/addnorth PLA Textura" - ], - "name": "addnorth PLA Textura", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFRJ325z": { - "filaments": [ - "LH/LHS PETG" - ], - "name": "LHS PETG", - "filament_type": "PETG", - "filament_vendor": "LH Stinger" - }, - "OFRhBryT": { - "filaments": [ - "Cubicon/Cubicon PLAi21" - ], - "name": "Cubicon PLAi21", - "filament_type": "PLA", - "filament_vendor": "Cubicon" - }, - "OFRhCTUg": { - "filaments": [ - "Anycubic/Anycubic PET-CF" - ], - "name": "Anycubic PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Anycubic" - }, - "OFRiFnfQ": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PETG Transition" - ], - "name": "Eolas Prints PETG Transition", - "filament_type": "PETG", - "filament_vendor": "Eolas Prints" - }, - "OFRiYgMK": { - "filaments": [ - "BBL/Panchroma PLA Celestial", - "OrcaFilamentLibrary/Panchroma PLA Celestial", - "Snapmaker/Panchroma PLA Celestial" - ], - "name": "Panchroma PLA Celestial", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFRkjhxK": { - "filaments": [ - "Volumic/Volumic PVA-BVOH (Performance)" - ], - "name": "Volumic PVA-BVOH (Performance)", - "filament_type": "PVA", - "filament_vendor": "Volumic" - }, - "OFRooa0F": { - "filaments": [ - "Snapmaker/Snapmaker Dual PA-CF" - ], - "name": "Snapmaker Dual PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Snapmaker" - }, - "OFRpAZ1P": { - "filaments": [ - "DeltaMaker/DeltaMaker Brand PLA" - ], - "name": "DeltaMaker Brand PLA", - "filament_type": "PLA", - "filament_vendor": "DeltaMaker" - }, - "OFRyOsZj": { - "filaments": [ - "re3D/re3D PLA" - ], - "name": "re3D PLA", - "filament_type": "PLA", - "filament_vendor": "re3D" - }, - "OFRzR5mi": { - "filaments": [ - "OrcaFilamentLibrary/eSUN ePLA-LW" - ], - "name": "eSUN ePLA-LW", - "filament_type": "PLA-AERO", - "filament_vendor": "eSUN" - }, - "OFS2tn6G": { - "filaments": [ - "BBL/Fiberon PA612-CF", - "OrcaFilamentLibrary/Fiberon PA612-CF" - ], - "name": "Fiberon PA612-CF", - "filament_type": "PA", - "filament_vendor": "Polymaker" - }, - "OFS4jbj3": { - "filaments": [ - "Eryone/Eryone PA" - ], - "name": "Eryone PA", - "filament_type": "PA", - "filament_vendor": "Eryone" - }, - "OFS8lTQt": { - "filaments": [ - "BBL/Panchroma PLA Silk", - "OrcaFilamentLibrary/Panchroma PLA Silk", - "Snapmaker/Panchroma PLA Silk" - ], - "name": "Panchroma PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFSDfduA": { - "filaments": [ - "Flashforge/Flashforge TPU 65D" - ], - "name": "Flashforge TPU 65D", - "filament_type": "TPU", - "filament_vendor": "Flashforge" - }, - "OFSa39yP": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA" - ], - "name": "Snapmaker J1 PLA", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFSbGfsz": { - "filaments": [ - "OrcaArena/Arena PLA Basic" - ], - "name": "Arena PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFSfm8iP": { - "filaments": [ - "BBL/BETA PLA Heat Color Change" - ], - "name": "BETA PLA Heat Color Change", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFSiCZP3": { - "filaments": [ - "BBL/BETA PETG-GF" - ], - "name": "BETA PETG-GF", - "filament_type": "PETG-CF", - "filament_vendor": "BETA" - }, - "OFSqIcJC": { - "filaments": [ - "Flashforge/Flashforge TPU 95A" - ], - "name": "Flashforge TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Flashforge" - }, - "OFSw6Mor": { - "filaments": [ - "BBL/addnorth PA Adura FDA" - ], - "name": "addnorth PA Adura FDA", - "filament_type": "PA", - "filament_vendor": "addnorth" - }, - "OFSwbBWS": { - "filaments": [], - "name": "DREMC PLA+", - "filament_type": "PLA", - "filament_vendor": "DREMC" - }, - "OFT2jon4": { - "filaments": [ - "Qidi/QIDI ABS Rapido" - ], - "name": "QIDI ABS Rapido", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OFTGHyNC": { - "filaments": [ - "OrcaFilamentLibrary/Bambu PLA Impact" - ], - "name": "Bambu PLA Impact", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFTHDCqA": { - "filaments": [ - "BBL/Bambu PLA Pure" - ], - "name": "Bambu PLA Pure", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFTOPcx0": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints TPU Transition" - ], - "name": "Eolas Prints TPU Transition", - "filament_type": "TPU", - "filament_vendor": "Eolas Prints" - }, - "OFTRZ8Y4": { - "filaments": [ - "BBL/Bambu PETG-CF", - "OrcaFilamentLibrary/Bambu PETG-CF" - ], - "name": "Bambu PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Bambu Lab" - }, - "OFTSXxzE": { - "filaments": [ - "Flashforge/Flashforge PPS-CF" - ], - "name": "Flashforge PPS-CF", - "filament_type": "PPS-CF", - "filament_vendor": "Flashforge" - }, - "OFTXduCM": { - "filaments": [ - "Creality/eSUN ABS+" - ], - "name": "eSUN ABS+", - "filament_type": "ABS", - "filament_vendor": "eSUN" - }, - "OFTcE0nA": { - "filaments": [ - "OrcaFilamentLibrary/eSUN PLA-Basic" - ], - "name": "eSUN PLA-Basic", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFTdauIq": { - "filaments": [ - "Volumic/Volumic PCTG Ultra (Performance)" - ], - "name": "Volumic PCTG Ultra (Performance)", - "filament_type": "PETG", - "filament_vendor": "Volumic" - }, - "OFTkj6DR": { - "filaments": [ - "Anycubic/Anycubic PVA" - ], - "name": "Anycubic PVA", - "filament_type": "PVA", - "filament_vendor": "Anycubic" - }, - "OFTlRzpe": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Gris Pizarra" - ], - "name": "FilAr PLA Gris Pizarra", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFTnWzBs": { - "filaments": [ - "Creality/Hyper PLA-CF" - ], - "name": "Hyper PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Creality" - }, - "OFTs8peJ": { - "filaments": [ - "Snapmaker/Snapmaker Dual TPE" - ], - "name": "Snapmaker Dual TPE", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFTsHNQi": { - "filaments": [ - "Qidi/QIDI ASA" - ], - "name": "QIDI ASA", - "filament_type": "ASA", - "filament_vendor": "QIDI" - }, - "OFU1zPxE": { - "filaments": [ - "Elegoo/Elegoo PLA Galaxy", - "OrcaFilamentLibrary/Elegoo PLA Galaxy" - ], - "name": "Elegoo PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFU3QXL7": { - "filaments": [ - "re3D/re3D PC" - ], - "name": "re3D PC", - "filament_type": "PC", - "filament_vendor": "re3D" - }, - "OFU5JPDy": { - "filaments": [ - "BBL/addnorth PETG PRO Matte" - ], - "name": "addnorth PETG PRO Matte", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OFU7CKZt": { - "filaments": [ - "Volumic/Volumic ASA Ultra (Performance)" - ], - "name": "Volumic ASA Ultra (Performance)", - "filament_type": "ASA", - "filament_vendor": "Volumic" - }, - "OFUF7oA4": { - "filaments": [ - "Creality/Hyper PC" - ], - "name": "Hyper PC", - "filament_type": "PC", - "filament_vendor": "Creality" - }, - "OFUH1aee": { - "filaments": [ - "Volumic/Volumic FLEX93 Ultra (Performance)" - ], - "name": "Volumic FLEX93 Ultra (Performance)", - "filament_type": "TPU", - "filament_vendor": "Volumic" - }, - "OFUIfGoh": { - "filaments": [ - "Snapmaker/Snapmaker Dual PET" - ], - "name": "Snapmaker Dual PET", - "filament_type": "PET", - "filament_vendor": "Snapmaker" - }, - "OFUYCqtB": { - "filaments": [ - "InfiMech/InfiMech PLA" - ], - "name": "InfiMech PLA", - "filament_type": "PLA", - "filament_vendor": "InfiMech" - }, - "OFUaHEO9": { - "filaments": [ - "Anycubic/Anycubic PEBA 95A" - ], - "name": "Anycubic PEBA 95A", - "filament_type": "PEBA", - "filament_vendor": "Anycubic" - }, - "OFUanySo": { - "filaments": [ - "BBL/Bambu PLA Silk+", - "OrcaFilamentLibrary/Bambu PLA Silk+" - ], - "name": "Bambu PLA Silk+", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFUmS5z5": { - "filaments": [ - "Creality/eSUN ASA+" - ], - "name": "eSUN ASA+", - "filament_type": "ASA", - "filament_vendor": "eSUN" - }, - "OFUtiVRn": { - "filaments": [ - "BBL/addnorth PETG ESD" - ], - "name": "addnorth PETG ESD", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OFUyDDNv": { - "filaments": [ - "Elegoo/Elegoo PC", - "OrcaFilamentLibrary/Elegoo PC" - ], - "name": "Elegoo PC", - "filament_type": "PC", - "filament_vendor": "Elegoo" - }, - "OFV5Q7j2": { - "filaments": [ - "Snapmaker/Snapmaker J1 TPE" - ], - "name": "Snapmaker J1 TPE", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFV5c8hG": { - "filaments": [ - "Flashforge/Flashforge PLA Sparkle" - ], - "name": "Flashforge PLA Sparkle", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFV5wEMe": { - "filaments": [ - "Afinia/Afinia ABS" - ], - "name": "Afinia ABS", - "filament_type": "ABS", - "filament_vendor": "Afinia" - }, - "OFV8Mxqx": { - "filaments": [], - "name": "Flashforge PLA-SILK", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFVBlUFH": { - "filaments": [], - "name": "DREMC PETG", - "filament_type": "PETG", - "filament_vendor": "DREMC" - }, - "OFVCkX5w": { - "filaments": [ - "BBL/Bambu TPU 95A", - "OrcaFilamentLibrary/Bambu TPU 95A" - ], - "name": "Bambu TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Bambu Lab" - }, - "OFVDWuxl": { - "filaments": [ - "BBL/addnorth PLA HT-PLA PRO Matte" - ], - "name": "addnorth PLA HT-PLA PRO Matte", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFVHMFJX": { - "filaments": [ - "Qidi/QIDI PETG Tough 0.2 nozzle" - ], - "name": "QIDI PETG Tough 0.2 nozzle", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFVptRxp": { - "filaments": [ - "BBL/COEX TPE 30D", - "OrcaFilamentLibrary/COEX TPE 30D" - ], - "name": "COEX TPE 30D", - "filament_type": "TPU", - "filament_vendor": "COEX 3D" - }, - "OFVtIasg": { - "filaments": [ - "Eryone/Eryone ASA" - ], - "name": "Eryone ASA", - "filament_type": "ASA", - "filament_vendor": "Eryone" - }, - "OFW29a9R": { - "filaments": [ - "BBL/PolyTerra PLA", - "OrcaArena/PolyTerra PLA", - "OrcaFilamentLibrary/PolyTerra PLA", - "Snapmaker/PolyTerra PLA" - ], - "name": "PolyTerra PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFW5FqkL": { - "filaments": [ - "Qidi/QIDI PLA Rapido Silk" - ], - "name": "QIDI PLA Rapido Silk", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFW8M3CY": { - "filaments": [ - "BBL/BETA PLA Chameleon" - ], - "name": "BETA PLA Chameleon", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFW8lqnb": { - "filaments": [ - "Snapmaker/Snapmaker PETG Translucent" - ], - "name": "Snapmaker PETG Translucent", - "filament_type": "PETG", - "filament_vendor": "Snapmaker" - }, - "OFWDe7YH": { - "filaments": [ - "Qidi/QIDI UltraPA" - ], - "name": "QIDI UltraPA", - "filament_type": "UltraPA", - "filament_vendor": "QIDI" - }, - "OFWK0Y9A": { - "filaments": [ - "BBL/addnorth PA Adura" - ], - "name": "addnorth PA Adura", - "filament_type": "PA", - "filament_vendor": "addnorth" - }, - "OFWRITFw": { - "filaments": [ - "Prusa/Prusament rPLA" - ], - "name": "Prusament rPLA", - "filament_type": "PLA", - "filament_vendor": "Prusa Polymers" - }, - "OFWTAEjH": { - "filaments": [ - "Snapmaker/Snapmaker TPE" - ], - "name": "Snapmaker TPE", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFWTRJ1K": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Bronce" - ], - "name": "FilAr PLA Bronce", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFWXCbVF": { - "filaments": [ - "Flashforge/Flashforge PC" - ], - "name": "Flashforge PC", - "filament_type": "PC", - "filament_vendor": "Flashforge" - }, - "OFWYtgCa": { - "filaments": [ - "Elegoo/Elegoo PLA Wood", - "OrcaFilamentLibrary/Elegoo PLA Wood" - ], - "name": "Elegoo PLA Wood", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFWa0NiB": { - "filaments": [ - "Volumic/Volumic NYLON Ultra" - ], - "name": "Volumic NYLON Ultra", - "filament_type": "PA", - "filament_vendor": "Volumic" - }, - "OFWao3Ic": { - "filaments": [ - "Creality/Ender-PLA" - ], - "name": "Ender-PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFWbdGsC": { - "filaments": [ - "Anker/Generic PLA-CF", - "Anycubic/Generic PLA-CF", - "Artillery/Generic PLA-CF", - "BBL/Generic PLA-CF", - "Blocks/Generic PLA-CF", - "Creality/Generic PLA-CF", - "Custom/Generic PLA-CF", - "FLSun/Generic PLA-CF", - "Flashforge/Generic PLA-CF", - "OrcaArena/Generic PLA-CF", - "OrcaFilamentLibrary/Generic PLA-CF", - "Prusa/Generic PLA-CF", - "Qidi/Generic PLA-CF", - "Ratrig/Generic PLA-CF", - "SecKit/Generic PLA-CF", - "Tiertime/Generic PLA-CF", - "Vzbot/Generic PLA-CF" - ], - "name": "Generic PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Generic" - }, - "OFWgFOjn": { - "filaments": [ - "Snapmaker/Snapmaker PLA Silk" - ], - "name": "Snapmaker PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFWwF7K7": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Cafe con Leche" - ], - "name": "FilAr PLA Cafe con Leche", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFX0ycRQ": { - "filaments": [ - "BBL/Fiberon PA12-CF", - "OrcaFilamentLibrary/Fiberon PA12-CF" - ], - "name": "Fiberon PA12-CF", - "filament_type": "PA-CF", - "filament_vendor": "Polymaker" - }, - "OFX2zcrM": { - "filaments": [ - "Chuanying/Generic PLA-CF10", - "Flashforge/Generic PLA-CF10" - ], - "name": "Generic PLA-CF10", - "filament_type": "PLA-CF", - "filament_vendor": "Generic" - }, - "OFXCBZTA": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints ABS" - ], - "name": "Eolas Prints ABS", - "filament_type": "ABS", - "filament_vendor": "Eolas Prints" - }, - "OFXIbw5D": { - "filaments": [ - "BBL/Bambu PLA Matte", - "OrcaFilamentLibrary/Bambu PLA Matte" - ], - "name": "Bambu PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFXJ9iom": { - "filaments": [ - "iQ/Grauts HPP4GF25 P1" - ], - "name": "Grauts HPP4GF25 P1", - "filament_type": "HPP4GF25", - "filament_vendor": "iQ Materials" - }, - "OFXSvqOX": { - "filaments": [ - "Snapmaker/Snapmaker TPU 95A HF" - ], - "name": "Snapmaker TPU 95A HF", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFXTPuqV": { - "filaments": [ - "OrcaFilamentLibrary/Elas PETG Basic" - ], - "name": "Elas PETG Basic", - "filament_type": "PETG", - "filament_vendor": "Elas" - }, - "OFXW4CDh": { - "filaments": [ - "Ratrig/Generic PCTG BigNozzle" - ], - "name": "Generic PCTG BigNozzle", - "filament_type": "PCTG", - "filament_vendor": "Generic" - }, - "OFXi59OX": { - "filaments": [ - "Afinia/Afinia Value ABS" - ], - "name": "Afinia Value ABS", - "filament_type": "ABS", - "filament_vendor": "Afinia" - }, - "OFXiArjA": { - "filaments": [ - "Flashforge/Flashforge PETG Pro" - ], - "name": "Flashforge PETG Pro", - "filament_type": "PETG", - "filament_vendor": "Flashforge" - }, - "OFXk1emJ": { - "filaments": [ - "Artillery/Artillery PLA Basic" - ], - "name": "Artillery PLA Basic", - "filament_type": "PLA Basic", - "filament_vendor": "Artillery" - }, - "OFXkm8q1": { - "filaments": [ - "BBL/Generic PP-CF", - "Creality/Generic PP-CF", - "OrcaFilamentLibrary/Generic PP-CF", - "Tiertime/Generic PP-CF" - ], - "name": "Generic PP-CF", - "filament_type": "PP-CF", - "filament_vendor": "Generic" - }, - "OFXmv5p0": { - "filaments": [ - "Creality/Generic Speed PLA" - ], - "name": "Generic Speed PLA", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFXn3Vd9": { - "filaments": [ - "Qidi/QIDI Support For PAHT" - ], - "name": "QIDI Support For PAHT", - "filament_type": "PAHT-S", - "filament_vendor": "QIDI" - }, - "OFXnToSX": { - "filaments": [ - "Creality/Hyper Stardust" - ], - "name": "Hyper Stardust", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFXuGxvQ": { - "filaments": [ - "Volumic/Volumic PLA Ultra" - ], - "name": "Volumic PLA Ultra", - "filament_type": "PLA", - "filament_vendor": "Volumic" - }, - "OFXz7Mwx": { - "filaments": [ - "Elegoo/Elegoo PLA Silk", - "OrcaFilamentLibrary/Elegoo PLA Silk" - ], - "name": "Elegoo PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFXzQ4yL": { - "filaments": [ - "BBL/Bambu ASA-Aero", - "OrcaFilamentLibrary/Bambu ASA-Aero" - ], - "name": "Bambu ASA-Aero", - "filament_type": "ASA-AERO", - "filament_vendor": "Bambu Lab" - }, - "OFY0F5qA": { - "filaments": [ - "Volumic/Volumic PETG Ultra carbone (Performance)" - ], - "name": "Volumic PETG Ultra carbone (Performance)", - "filament_type": "PETG", - "filament_vendor": "Volumic" - }, - "OFY3AB7j": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA Matte" - ], - "name": "Snapmaker J1 PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFY7jxcS": { - "filaments": [ - "Snapmaker/Snapmaker TPU 90A" - ], - "name": "Snapmaker TPU 90A", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFY9muEs": { - "filaments": [ - "Anker/Generic ABS", - "Anycubic/Generic ABS", - "Artillery/Generic ABS", - "BBL/Generic ABS", - "Blocks/Generic ABS", - "Chuanying/Generic ABS", - "Co Print/Generic ABS", - "CoLiDo/Generic ABS", - "Comgrow/Generic ABS", - "Creality/Generic ABS", - "Custom/Generic ABS", - "Elegoo/Generic ABS", - "FLSun/Generic ABS", - "Flashforge/Generic ABS", - "FlyingBear/Generic ABS", - "InfiMech/Generic ABS", - "Lulzbot/Generic ABS", - "OrcaArena/Generic ABS", - "OrcaFilamentLibrary/Generic ABS", - "Peopoly/Generic ABS", - "Prusa/Generic ABS", - "Qidi/Generic ABS", - "RH3D/Generic ABS", - "Ratrig/Generic ABS", - "SecKit/Generic ABS", - "Sovol/Generic ABS", - "Tiertime/Generic ABS", - "Vzbot/Generic ABS", - "Z-Bolt/Generic ABS" - ], - "name": "Generic ABS", - "filament_type": "ABS", - "filament_vendor": "Generic" - }, - "OFYE7YZw": { - "filaments": [ - "Qidi/Tinmorry PETG-ECO" - ], - "name": "Tinmorry PETG-ECO", - "filament_type": "PETG", - "filament_vendor": "Tinmorry" - }, - "OFYEtXuk": { - "filaments": [ - "Snapmaker/Snapmaker J1 PA-CF" - ], - "name": "Snapmaker J1 PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Snapmaker" - }, - "OFYGbPHX": { - "filaments": [ - "OrcaFilamentLibrary/PolyLite Dual PLA", - "Snapmaker/PolyLite Dual PLA" - ], - "name": "PolyLite Dual PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFYGrfHY": { - "filaments": [ - "BBL/BETA PETG Fluorescence" - ], - "name": "BETA PETG Fluorescence", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFYPdQJh": { - "filaments": [ - "Anker/Generic PETG", - "Anycubic/Generic PETG", - "Artillery/Generic PETG", - "BBL/Generic PETG", - "Blocks/Generic PETG", - "CONSTRUCT3D/Generic PETG", - "Chuanying/Generic PETG", - "Co Print/Generic PETG", - "CoLiDo/Generic PETG", - "Comgrow/Generic PETG", - "Creality/Generic PETG", - "Custom/Generic PETG", - "DeltaMaker/Generic PETG", - "Elegoo/Generic PETG", - "FLSun/Generic PETG", - "Flashforge/Generic PETG", - "FlyingBear/Generic PETG", - "Ginger Additive/Generic PETG", - "InfiMech/Generic PETG", - "LONGER/Generic PETG", - "Lulzbot/Generic PETG", - "OrcaArena/Generic PETG", - "OrcaFilamentLibrary/Generic PETG", - "Peopoly/Generic PETG", - "Prusa/Generic PETG", - "Qidi/Generic PETG", - "RH3D/Generic PETG", - "Ratrig/Generic PETG", - "SecKit/Generic PETG", - "Sovol/Generic PETG", - "Tiertime/Generic PETG", - "Vzbot/Generic PETG", - "Z-Bolt/Generic PETG" - ], - "name": "Generic PETG", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OFYTIMbj": { - "filaments": [ - "Flashforge/Flashforge ABS-CF" - ], - "name": "Flashforge ABS-CF", - "filament_type": "ABS-CF", - "filament_vendor": "Flashforge" - }, - "OFYYeMyQ": { - "filaments": [ - "Flashforge/Flashforge PETG Basic" - ], - "name": "Flashforge PETG Basic", - "filament_type": "PETG", - "filament_vendor": "Flashforge" - }, - "OFYd5uS3": { - "filaments": [], - "name": "DREMC TPU 95A", - "filament_type": "TPU", - "filament_vendor": "DREMC" - }, - "OFYezc6s": { - "filaments": [ - "FlyingBear/FlyingBear TPU" - ], - "name": "FlyingBear TPU", - "filament_type": "TPU", - "filament_vendor": "FlyingBear" - }, - "OFYuowge": { - "filaments": [ - "FlyingBear/Other ABS", - "InfiMech/Other ABS" - ], - "name": "Other ABS", - "filament_type": "ABS", - "filament_vendor": "Other" - }, - "OFZ0mR5b": { - "filaments": [ - "Anycubic/Anycubic PLA-CF" - ], - "name": "Anycubic PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Anycubic" - }, - "OFZ2LuAi": { - "filaments": [ - "Wanhao France/YUMI PLA Bowden" - ], - "name": "YUMI PLA Bowden", - "filament_type": "PLA", - "filament_vendor": "Yumi" - }, - "OFZ3K2cL": { - "filaments": [ - "Qidi/QIDI PA6-CF" - ], - "name": "QIDI PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "QIDI" - }, - "OFZ4QbfK": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Rosa Flamenco" - ], - "name": "FilAr PLA Rosa Flamenco", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFZGrQTU": { - "filaments": [ - "BBL/addnorth PETG Economy" - ], - "name": "addnorth PETG Economy", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OFZJft47": { - "filaments": [ - "BBL/addnorth PLA Economy" - ], - "name": "addnorth PLA Economy", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFZLtWYs": { - "filaments": [ - "Qidi/QIDI ABS-GF25" - ], - "name": "QIDI ABS-GF25", - "filament_type": "ABS-GF", - "filament_vendor": "QIDI" - }, - "OFZOuWrO": { - "filaments": [ - "Qidi/QIDI PPS-CF" - ], - "name": "QIDI PPS-CF", - "filament_type": "PPS-CF", - "filament_vendor": "QIDI" - }, - "OFZivHGL": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA" - ], - "name": "Snapmaker Dual PLA", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFZqZMuv": { - "filaments": [ - "BBL/BETA ASA" - ], - "name": "BETA ASA", - "filament_type": "ASA", - "filament_vendor": "BETA" - }, - "OFZr862X": { - "filaments": [ - "Creality/Generic PLA HF", - "Prusa/Generic PLA HF" - ], - "name": "Generic PLA HF", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFZtOQtl": { - "filaments": [ - "Flashforge/Flashforge PA6-CF" - ], - "name": "Flashforge PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Flashforge" - }, - "OFZtkHRq": { - "filaments": [ - "Anycubic/Anycubic PC" - ], - "name": "Anycubic PC", - "filament_type": "PC", - "filament_vendor": "Anycubic" - }, - "OFaDOaNt": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Celeste Cielo" - ], - "name": "FilAr PLA Celeste Cielo", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFaDsTE0": { - "filaments": [ - "Flashforge/Polymaker S1" - ], - "name": "Polymaker S1", - "filament_type": "PA", - "filament_vendor": "Polymaker" - }, - "OFaEesXQ": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Rojo de Carreras" - ], - "name": "FilAr PLA Rojo de Carreras", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFaEuvNF": { - "filaments": [ - "Anycubic/Anycubic PAHT-CF" - ], - "name": "Anycubic PAHT-CF", - "filament_type": "PAHT-CF", - "filament_vendor": "Anycubic" - }, - "OFaHjk1V": { - "filaments": [ - "Volumic/Volumic PC" - ], - "name": "Volumic PC", - "filament_type": "PC", - "filament_vendor": "Volumic" - }, - "OFaP2SsH": { - "filaments": [ - "LH/LHS ASA" - ], - "name": "LHS ASA", - "filament_type": "ASA", - "filament_vendor": "LH Stinger" - }, - "OFaQMgRH": { - "filaments": [ - "BBL/Bambu PLA Tough", - "OrcaFilamentLibrary/Bambu PLA Tough" - ], - "name": "Bambu PLA Tough", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFaRjiIm": { - "filaments": [ - "SeeMeCNC/SeeMeCNC PETG-CF" - ], - "name": "SeeMeCNC PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "SeeMeCNC" - }, - "OFaYz8iE": { - "filaments": [ - "OrcaFilamentLibrary/Elas PLA Pro" - ], - "name": "Elas PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Elas" - }, - "OFaaddbQ": { - "filaments": [ - "Flashforge/Flashforge PVA" - ], - "name": "Flashforge PVA", - "filament_type": "PVA", - "filament_vendor": "Flashforge" - }, - "OFaeIx7W": { - "filaments": [ - "iQ/Polymaker PETG Polymax black P1" - ], - "name": "Polymaker PETG Polymax black P1", - "filament_type": "PETG Polymax", - "filament_vendor": "iQ Materials" - }, - "OFafO6VM": { - "filaments": [ - "Elegoo/Generic PC-CF" - ], - "name": "Generic PC-CF", - "filament_type": "PC-CF", - "filament_vendor": "Generic" - }, - "OFausr3F": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Rosa" - ], - "name": "FilAr PLA-mate Rosa", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFb5EEM3": { - "filaments": [ - "Artillery/Artillery PET" - ], - "name": "Artillery PET", - "filament_type": "PET", - "filament_vendor": "Artillery" - }, - "OFbP8zEO": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Silk" - ], - "name": "Eolas Prints PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFbPuPKY": { - "filaments": [ - "Prusa/Generic FLEX" - ], - "name": "Generic FLEX", - "filament_type": "FLEX", - "filament_vendor": "Generic" - }, - "OFbSChKb": { - "filaments": [ - "SeeMeCNC/SeeMeCNC PLA" - ], - "name": "SeeMeCNC PLA", - "filament_type": "PLA", - "filament_vendor": "SeeMeCNC" - }, - "OFbSZBOi": { - "filaments": [ - "InfiMech/InfiMech TPU Basic" - ], - "name": "InfiMech TPU Basic", - "filament_type": "TPU", - "filament_vendor": "InfiMech" - }, - "OFbh7HcA": { - "filaments": [ - "Eryone/Eryone PP-CF" - ], - "name": "Eryone PP-CF", - "filament_type": "PP-CF", - "filament_vendor": "Eryone" - }, - "OFc3xdm9": { - "filaments": [ - "BBL/Overture PLA", - "OrcaFilamentLibrary/Overture PLA", - "Qidi/Overture PLA" - ], - "name": "Overture PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFc87pL3": { - "filaments": [ - "OrcaArena/Arena PET-CF" - ], - "name": "Arena PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Orca Arena" - }, - "OFcBJQcC": { - "filaments": [ - "Snapmaker/Snapmaker Dual TPU High-Flow" - ], - "name": "Snapmaker Dual TPU High-Flow", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFcBl0nJ": { - "filaments": [ - "BBL/Fiberon PA612-CF15" - ], - "name": "Fiberon PA612-CF15", - "filament_type": "PA-CF", - "filament_vendor": "Polymaker" - }, - "OFcJDtTx": { - "filaments": [ - "Artillery/Artillery TPU" - ], - "name": "Artillery TPU", - "filament_type": "TPU", - "filament_vendor": "Artillery" - }, - "OFcKtw8W": { - "filaments": [ - "Volumic/PA6 CF20 (Performance)" - ], - "name": "PA6 CF20 (Performance)", - "filament_type": "PA6-CF", - "filament_vendor": "Volumic" - }, - "OFcVLpNA": { - "filaments": [ - "Flashforge/FusRock PAHT-GF" - ], - "name": "FusRock PAHT-GF", - "filament_type": "PAHT-GF", - "filament_vendor": "FusRock" - }, - "OFcfQk4h": { - "filaments": [ - "BBL/Overture Air PLA", - "OrcaFilamentLibrary/Overture Air PLA" - ], - "name": "Overture Air PLA", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFcnWTJB": { - "filaments": [ - "BBL/BETA PLA Glitter" - ], - "name": "BETA PLA Glitter", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFcogyWl": { - "filaments": [ - "WonderMaker/WonderMaker PLA Metal" - ], - "name": "WonderMaker PLA Metal", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFcpa50Z": { - "filaments": [ - "BBL/addnorth PLA-CF Carbon Fiber" - ], - "name": "addnorth PLA-CF Carbon Fiber", - "filament_type": "PLA-CF", - "filament_vendor": "addnorth" - }, - "OFctg8r1": { - "filaments": [ - "CoLiDo/CoLiDo PLA+" - ], - "name": "CoLiDo PLA+", - "filament_type": "PLA", - "filament_vendor": "CoLiDo" - }, - "OFcvKkrs": { - "filaments": [ - "BBL/Overture TPU", - "OrcaFilamentLibrary/Overture TPU" - ], - "name": "Overture TPU", - "filament_type": "TPU", - "filament_vendor": "Overture" - }, - "OFcytyoA": { - "filaments": [ - "BBL/Fiberon PETG-ESD", - "OrcaFilamentLibrary/Fiberon PETG-ESD", - "Snapmaker/Fiberon PETG-ESD" - ], - "name": "Fiberon PETG-ESD", - "filament_type": "PETG", - "filament_vendor": "Polymaker" - }, - "OFd0Fv0k": { - "filaments": [ - "BBL/Generic PE-CF", - "OrcaFilamentLibrary/Generic PE-CF", - "Tiertime/Generic PE-CF" - ], - "name": "Generic PE-CF", - "filament_type": "PE-CF", - "filament_vendor": "Generic" - }, - "OFd2vX0G": { - "filaments": [ - "BBL/COEX PLA PRIME", - "OrcaFilamentLibrary/COEX PLA PRIME" - ], - "name": "COEX PLA PRIME", - "filament_type": "PLA", - "filament_vendor": "COEX 3D" - }, - "OFd4zw5l": { - "filaments": [ - "BBL/AliZ PA-CF", - "OrcaFilamentLibrary/AliZ PA-CF" - ], - "name": "AliZ PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Aliz" - }, - "OFdD5Wbu": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA-CF" - ], - "name": "Snapmaker J1 PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Snapmaker" - }, - "OFdI4zMo": { - "filaments": [], - "name": "DREMC ASA CF", - "filament_type": "ASA", - "filament_vendor": "DREMC" - }, - "OFdXVjGZ": { - "filaments": [ - "Tiertime/Tiertime PC" - ], - "name": "Tiertime PC", - "filament_type": "PC", - "filament_vendor": "Tiertime" - }, - "OFdb8YNz": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Verde Manzana" - ], - "name": "FilAr PLA Verde Manzana", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFdd8ZqJ": { - "filaments": [ - "Snapmaker/Snapmaker PLA Wood" - ], - "name": "Snapmaker PLA Wood", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFdqkWtz": { - "filaments": [ - "Flashforge/Flashforge PLA Luminous" - ], - "name": "Flashforge PLA Luminous", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFdrYBmI": { - "filaments": [ - "Tiertime/Tiertime ASA" - ], - "name": "Tiertime ASA", - "filament_type": "ASA", - "filament_vendor": "Tiertime" - }, - "OFdtPd9h": { - "filaments": [ - "Qidi/QIDI PETG-GF" - ], - "name": "QIDI PETG-GF", - "filament_type": "PETG-GF", - "filament_vendor": "QIDI" - }, - "OFdzlrhi": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Chocolate" - ], - "name": "FilAr PLA-mate Chocolate", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFe61n6v": { - "filaments": [ - "Ratrig/RatRig PunkFil PETG CF" - ], - "name": "RatRig PunkFil PETG CF", - "filament_type": "PETG-CF10", - "filament_vendor": "RatRig" - }, - "OFe8tuNb": { - "filaments": [ - "Tiertime/Tiertime PA6-CF" - ], - "name": "Tiertime PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Tiertime" - }, - "OFe8yBMG": { - "filaments": [ - "Qidi/QIDI PETG Tough 0.6 nozzle" - ], - "name": "QIDI PETG Tough 0.6 nozzle", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFe98A1y": { - "filaments": [ - "Elegoo/Elegoo PET-CF", - "OrcaFilamentLibrary/Elegoo PET-CF" - ], - "name": "Elegoo PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Elegoo" - }, - "OFeAxvEt": { - "filaments": [ - "Snapmaker/Snapmaker Dual ABS Benchy" - ], - "name": "Snapmaker Dual ABS Benchy", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OFeCJqxx": { - "filaments": [ - "Qidi/QIDI ABS Rapido Metal" - ], - "name": "QIDI ABS Rapido Metal", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OFeF4UNh": { - "filaments": [ - "BBL/BETA PLA Silk" - ], - "name": "BETA PLA Silk", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFeIyhUx": { - "filaments": [ - "Anycubic/Anycubic PC-CF" - ], - "name": "Anycubic PC-CF", - "filament_type": "PC-CF", - "filament_vendor": "Anycubic" - }, - "OFeTATC7": { - "filaments": [ - "Snapmaker/Snapmaker J1 Breakaway" - ], - "name": "Snapmaker J1 Breakaway", - "filament_type": "Breakaway Support", - "filament_vendor": "Snapmaker" - }, - "OFeVzkSU": { - "filaments": [ - "Snapmaker/Fiberon PPS-GF20" - ], - "name": "Fiberon PPS-GF20", - "filament_type": "ABS", - "filament_vendor": "Polymaker" - }, - "OFeelsSM": { - "filaments": [ - "Qidi/HATCHBOX PLA" - ], - "name": "HATCHBOX PLA", - "filament_type": "PLA", - "filament_vendor": "HATCHBOX" - }, - "OFelDBgv": { - "filaments": [ - "Snapmaker/Polymaker PLA" - ], - "name": "Polymaker PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFepU7Tl": { - "filaments": [ - "WonderMaker/WonderMaker PLA Matte" - ], - "name": "WonderMaker PLA Matte", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFesA6rF": { - "filaments": [ - "Anker/Generic PLA Silk", - "BBL/Generic PLA Silk", - "Creality/Generic PLA Silk", - "FLSun/Generic PLA Silk", - "Flashforge/Generic PLA Silk", - "OrcaArena/Generic PLA Silk", - "OrcaFilamentLibrary/Generic PLA Silk", - "Prusa/Generic PLA Silk", - "Qidi/Generic PLA Silk", - "Sovol/Generic PLA Silk", - "Tiertime/Generic PLA Silk" - ], - "name": "Generic PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFexaZU2": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Manteca" - ], - "name": "FilAr PLA Manteca", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFf0MkD5": { - "filaments": [ - "Qidi/QIDI PETG Translucent" - ], - "name": "QIDI PETG Translucent", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFf5awy4": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Matte" - ], - "name": "Eolas Prints PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFf6ZEvu": { - "filaments": [ - "InfiMech/InfiMech PC" - ], - "name": "InfiMech PC", - "filament_type": "PC", - "filament_vendor": "InfiMech" - }, - "OFf6mfQO": { - "filaments": [ - "BBL/Bambu Support for ABS", - "OrcaFilamentLibrary/Bambu Support for ABS" - ], - "name": "Bambu Support for ABS", - "filament_type": "ABS", - "filament_vendor": "Bambu Lab" - }, - "OFf6ynfH": { - "filaments": [ - "FlyingBear/FlyingBear PETG Basic" - ], - "name": "FlyingBear PETG Basic", - "filament_type": "PETG Basic", - "filament_vendor": "FlyingBear" - }, - "OFfBpSRI": { - "filaments": [ - "BBL/Bambu ASA", - "OrcaFilamentLibrary/Bambu ASA" - ], - "name": "Bambu ASA", - "filament_type": "ASA", - "filament_vendor": "Bambu Lab" - }, - "OFfD87Gy": { - "filaments": [ - "Snapmaker/Snapmaker PLA Glow" - ], - "name": "Snapmaker PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFfHGM1D": { - "filaments": [ - "re3D/re3D rPP" - ], - "name": "re3D rPP", - "filament_type": "PP", - "filament_vendor": "re3D" - }, - "OFfJSCzm": { - "filaments": [ - "OrcaFilamentLibrary/FDplast PETG" - ], - "name": "FDplast PETG", - "filament_type": "PETG", - "filament_vendor": "FDplast" - }, - "OFfSqS4R": { - "filaments": [ - "Creality/ENDER FAST PLA" - ], - "name": "ENDER FAST PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFfYHK5z": { - "filaments": [ - "Qidi/Polymaker PLA-HT" - ], - "name": "Polymaker PLA-HT", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFfZcoKr": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Piel" - ], - "name": "FilAr PLA-mate Piel", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFfb10SK": { - "filaments": [ - "Artillery/Artillery PC" - ], - "name": "Artillery PC", - "filament_type": "PC", - "filament_vendor": "Artillery" - }, - "OFfmHUkQ": { - "filaments": [ - "Snapmaker/Snapmaker Dual Breakaway" - ], - "name": "Snapmaker Dual Breakaway", - "filament_type": "Breakaway Support", - "filament_vendor": "Snapmaker" - }, - "OFfmZrI3": { - "filaments": [ - "OrcaFilamentLibrary/FDplast TPU" - ], - "name": "FDplast TPU", - "filament_type": "TPU", - "filament_vendor": "FDplast" - }, - "OFfnXFie": { - "filaments": [ - "BBL/COEX TPE 40D", - "OrcaFilamentLibrary/COEX TPE 40D" - ], - "name": "COEX TPE 40D", - "filament_type": "TPU", - "filament_vendor": "COEX 3D" - }, - "OFfq5YXA": { - "filaments": [ - "OrcaFilamentLibrary/Valment PLA-CF" - ], - "name": "Valment PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Valment" - }, - "OFfr4XNO": { - "filaments": [ - "BBL/COEX TPE 60D", - "OrcaFilamentLibrary/COEX TPE 60D" - ], - "name": "COEX TPE 60D", - "filament_type": "TPU", - "filament_vendor": "COEX 3D" - }, - "OFfr6JDF": { - "filaments": [ - "Qidi/QIDI PETG Tough 0.8 nozzle" - ], - "name": "QIDI PETG Tough 0.8 nozzle", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFfuhviw": { - "filaments": [ - "Elegoo/Elegoo PLA Marble", - "OrcaFilamentLibrary/Elegoo PLA Marble" - ], - "name": "Elegoo PLA Marble", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFfuih8e": { - "filaments": [ - "Creality/Creality Silk PLA" - ], - "name": "Creality Silk PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFg3cWVt": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA Metal" - ], - "name": "Snapmaker Dual PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFg57Nmc": { - "filaments": [ - "BBL/Bambu PC FR", - "OrcaFilamentLibrary/Bambu PC FR" - ], - "name": "Bambu PC FR", - "filament_type": "PC", - "filament_vendor": "Bambu Lab" - }, - "OFg8hMzT": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PPCF" - ], - "name": "FILL3D PPCF", - "filament_type": "PP", - "filament_vendor": "FILL3D" - }, - "OFg8ndtj": { - "filaments": [ - "Anker/Generic PA", - "Anycubic/Generic PA", - "BBL/Generic PA", - "Blocks/Generic PA", - "Creality/Generic PA", - "Custom/Generic PA", - "Elegoo/Generic PA", - "FLSun/Generic PA", - "OrcaArena/Generic PA", - "OrcaFilamentLibrary/Generic PA", - "Prusa/Generic PA", - "Qidi/Generic PA", - "Ratrig/Generic PA", - "SecKit/Generic PA", - "Tiertime/Generic PA", - "Vzbot/Generic PA", - "Z-Bolt/Generic PA" - ], - "name": "Generic PA", - "filament_type": "PA", - "filament_vendor": "Generic" - }, - "OFgHh8ly": { - "filaments": [ - "Afinia/Afinia Value PLA" - ], - "name": "Afinia Value PLA", - "filament_type": "PLA", - "filament_vendor": "Afinia" - }, - "OFgMWJ8T": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Negro Azabache" - ], - "name": "FilAr PLA Negro Azabache", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFgSbX7E": { - "filaments": [ - "Volumic/Volumic PC (Performance)" - ], - "name": "Volumic PC (Performance)", - "filament_type": "PC", - "filament_vendor": "Volumic" - }, - "OFgXgt98": { - "filaments": [ - "Artillery/Artillery ABS" - ], - "name": "Artillery ABS", - "filament_type": "ABS", - "filament_vendor": "Artillery" - }, - "OFgbpcy9": { - "filaments": [ - "Anker/Generic TPU", - "Anycubic/Generic TPU", - "Artillery/Generic TPU", - "BBL/Generic TPU", - "Blocks/Generic TPU", - "Chuanying/Generic TPU", - "Co Print/Generic TPU", - "CoLiDo/Generic TPU", - "Creality/Generic TPU", - "Custom/Generic TPU", - "DeltaMaker/Generic TPU", - "FLSun/Generic TPU", - "Flashforge/Generic TPU", - "FlyingBear/Generic TPU", - "InfiMech/Generic TPU", - "OrcaArena/Generic TPU", - "OrcaFilamentLibrary/Generic TPU", - "Prusa/Generic TPU", - "Qidi/Generic TPU", - "RH3D/Generic TPU", - "Ratrig/Generic TPU", - "SecKit/Generic TPU", - "Sovol/Generic TPU", - "Tiertime/Generic TPU", - "Vzbot/Generic TPU" - ], - "name": "Generic TPU", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OFgdaBOt": { - "filaments": [ - "Snapmaker/Polymaker Tough PLA Family" - ], - "name": "Polymaker Tough PLA Family", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFgeM7nD": { - "filaments": [ - "Flashforge/Flashforge PA12-CF" - ], - "name": "Flashforge PA12-CF", - "filament_type": "PA-CF", - "filament_vendor": "Flashforge" - }, - "OFgjgN35": { - "filaments": [ - "Flashforge/Flashforge PLA Silk" - ], - "name": "Flashforge PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFglhKLM": { - "filaments": [ - "Qidi/QIDI PLA Rapido 0.8 nozzle" - ], - "name": "QIDI PLA Rapido 0.8 nozzle", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFgpLTMR": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Gris Plata" - ], - "name": "FilAr PETG Gris Plata", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFgpQwkk": { - "filaments": [ - "Creality/CR-PLA Fluo" - ], - "name": "CR-PLA Fluo", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFgptDSf": { - "filaments": [ - "OrcaArena/Arena PLA Matte" - ], - "name": "Arena PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFgyPlwU": { - "filaments": [ - "Snapmaker/Snapmaker TPU High-Flow" - ], - "name": "Snapmaker TPU High-Flow", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFh7mvPO": { - "filaments": [ - "Prusa/Prusament PVB" - ], - "name": "Prusament PVB", - "filament_type": "PVB", - "filament_vendor": "Prusa Polymers" - }, - "OFh9u9c0": { - "filaments": [ - "Creality/Generic PA6-GF" - ], - "name": "Generic PA6-GF", - "filament_type": "PA-GF", - "filament_vendor": "Generic" - }, - "OFhASRWj": { - "filaments": [ - "BBL/Panchroma PLA Temp Shift", - "OrcaFilamentLibrary/Panchroma PLA Temp Shift", - "Snapmaker/Panchroma PLA Temp Shift" - ], - "name": "Panchroma PLA Temp Shift", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFhMO9Kh": { - "filaments": [ - "OrcaFilamentLibrary/GreenGate3D PETG" - ], - "name": "GreenGate3D PETG", - "filament_type": "PETG", - "filament_vendor": "GreenGate3D" - }, - "OFhN09f0": { - "filaments": [ - "BBL/addnorth PC BLend HT LCF" - ], - "name": "addnorth PC BLend HT LCF", - "filament_type": "PC", - "filament_vendor": "addnorth" - }, - "OFhO5aEJ": { - "filaments": [ - "Ratrig/RatRig PunkFil ABS" - ], - "name": "RatRig PunkFil ABS", - "filament_type": "ABS", - "filament_vendor": "RatRig" - }, - "OFhQf8ou": { - "filaments": [ - "Snapmaker/Snapmaker PLA-CF" - ], - "name": "Snapmaker PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Snapmaker" - }, - "OFhQfUQY": { - "filaments": [ - "BBL/Generic SBS", - "OrcaFilamentLibrary/Generic SBS", - "Tiertime/Generic SBS" - ], - "name": "Generic SBS", - "filament_type": "SBS", - "filament_vendor": "Generic" - }, - "OFhTPf6L": { - "filaments": [ - "Creality/Generic PA6-CF", - "Elegoo/Generic PA6-CF" - ], - "name": "Generic PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Generic" - }, - "OFhUjPA5": { - "filaments": [ - "Eryone/Eryone TPU" - ], - "name": "Eryone TPU", - "filament_type": "TPU", - "filament_vendor": "Eryone" - }, - "OFhWc5Bv": { - "filaments": [ - "OrcaFilamentLibrary/NIT ABS" - ], - "name": "NIT ABS", - "filament_type": "ABS", - "filament_vendor": "NIT" - }, - "OFhWhL1i": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PETG" - ], - "name": "Eolas Prints PETG", - "filament_type": "PETG", - "filament_vendor": "Eolas Prints" - }, - "OFhWrAuP": { - "filaments": [ - "Qidi/QIDI PLA-CF" - ], - "name": "QIDI PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "QIDI" - }, - "OFhbolij": { - "filaments": [ - "Creality/eSUN PLA-Lite" - ], - "name": "eSUN PLA-Lite", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFhcYzR8": { - "filaments": [ - "Elegoo/Elegoo PLA Sparkle", - "OrcaFilamentLibrary/Elegoo PLA Sparkle" - ], - "name": "Elegoo PLA Sparkle", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFhfd722": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints TPU Flex 93A" - ], - "name": "Eolas Prints TPU Flex 93A", - "filament_type": "TPU", - "filament_vendor": "Eolas Prints" - }, - "OFhiJE7Y": { - "filaments": [ - "Qidi/QIDI PEBA 95A" - ], - "name": "QIDI PEBA 95A", - "filament_type": "PEBA", - "filament_vendor": "QIDI" - }, - "OFhkN0a7": { - "filaments": [ - "Creality/Hyper PA612-CF" - ], - "name": "Hyper PA612-CF", - "filament_type": "PA-CF", - "filament_vendor": "Creality" - }, - "OFhlCNqq": { - "filaments": [ - "BBL/COEX PLA", - "OrcaFilamentLibrary/COEX PLA" - ], - "name": "COEX PLA", - "filament_type": "PLA", - "filament_vendor": "COEX 3D" - }, - "OFhmxnYw": { - "filaments": [ - "Snapmaker/Snapmaker PLA Basic" - ], - "name": "Snapmaker PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFhuaUQB": { - "filaments": [ - "BBL/Bambu ABS", - "OrcaFilamentLibrary/Bambu ABS", - "Qidi/Bambu ABS" - ], - "name": "Bambu ABS", - "filament_type": "ABS", - "filament_vendor": "Bambu Lab" - }, - "OFhwiZ50": { - "filaments": [ - "Qidi/QIDI PLA Rapido 0.2 nozzle" - ], - "name": "QIDI PLA Rapido 0.2 nozzle", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFhx4uOG": { - "filaments": [ - "Qidi/QIDI PET-GF" - ], - "name": "QIDI PET-GF", - "filament_type": "PET-GF", - "filament_vendor": "QIDI" - }, - "OFi5RSve": { - "filaments": [ - "Creality/eSUN PLA-LW" - ], - "name": "eSUN PLA-LW", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFi6PfUM": { - "filaments": [ - "Chuanying/Generic PLA-Silk", - "Creality/Generic PLA-Silk", - "Flashforge/Generic PLA-Silk" - ], - "name": "Generic PLA-Silk", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFi90KlM": { - "filaments": [ - "Volumic/Volumic NYLON Ultra (Performance)" - ], - "name": "Volumic NYLON Ultra (Performance)", - "filament_type": "PA", - "filament_vendor": "Volumic" - }, - "OFiDpM1B": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Bordo" - ], - "name": "FilAr PLA-mate Bordo", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFiEz2XI": { - "filaments": [ - "Cubicon/Cubicon PA-CF" - ], - "name": "Cubicon PA-CF", - "filament_type": "PA", - "filament_vendor": "Cubicon" - }, - "OFiWaoqD": { - "filaments": [ - "OrcaFilamentLibrary/DREMC PPA-CF" - ], - "name": "DREMC PPA-CF", - "filament_type": "PPA-CF", - "filament_vendor": "DREMC" - }, - "OFibWuBd": { - "filaments": [ - "Flashforge/Flashforge ABS Basic" - ], - "name": "Flashforge ABS Basic", - "filament_type": "ABS", - "filament_vendor": "Flashforge" - }, - "OFilAA3b": { - "filaments": [ - "Eryone/Eryone PLA-CF" - ], - "name": "Eryone PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "Eryone" - }, - "OFilD4bP": { - "filaments": [ - "FlyingBear/FlyingBear PLA" - ], - "name": "FlyingBear PLA", - "filament_type": "PLA", - "filament_vendor": "FlyingBear" - }, - "OFilnglt": { - "filaments": [ - "Artillery/Artillery PETG" - ], - "name": "Artillery PETG", - "filament_type": "PETG", - "filament_vendor": "Artillery" - }, - "OFin64Qg": { - "filaments": [ - "Creality/Generic Support for PLA" - ], - "name": "Generic Support for PLA", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFitS8al": { - "filaments": [ - "BBL/PolyLite PLA Neon", - "Snapmaker/PolyLite PLA Neon" - ], - "name": "PolyLite PLA Neon", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFiwEbze": { - "filaments": [ - "Volumic/PETG ESD (Performance)" - ], - "name": "PETG ESD (Performance)", - "filament_type": "PETG-ESD", - "filament_vendor": "Volumic" - }, - "OFj3bTjw": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Amarillo" - ], - "name": "FilAr PLA-mate Amarillo", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFj64R5U": { - "filaments": [ - "Peopoly/Peopoly Lancer ABS-GF" - ], - "name": "Peopoly Lancer ABS-GF", - "filament_type": "ABS", - "filament_vendor": "Peopoly" - }, - "OFjD3YTW": { - "filaments": [ - "Qidi/Qidi PC-ABS-FR" - ], - "name": "Qidi PC-ABS-FR", - "filament_type": "PC-ABS-FR", - "filament_vendor": "QIDI" - }, - "OFjHrAX0": { - "filaments": [ - "WonderMaker/WonderMaker ABS" - ], - "name": "WonderMaker ABS", - "filament_type": "ABS", - "filament_vendor": "WonderMaker" - }, - "OFjLAYgO": { - "filaments": [ - "Anycubic/Anycubic PEBA" - ], - "name": "Anycubic PEBA", - "filament_type": "PEBA", - "filament_vendor": "Anycubic" - }, - "OFjPXrXO": { - "filaments": [ - "Elegoo/Elegoo PLA Glow", - "OrcaFilamentLibrary/Elegoo PLA Glow" - ], - "name": "Elegoo PLA Glow", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFjT9PkZ": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Tabaco" - ], - "name": "FilAr PLA Tabaco", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFjUGUIK": { - "filaments": [ - "iQ/Fiberthree PACF Pro P1" - ], - "name": "Fiberthree PACF Pro P1", - "filament_type": "PACF Pro", - "filament_vendor": "iQ Materials" - }, - "OFjUXn67": { - "filaments": [ - "BBL/BETA ABS" - ], - "name": "BETA ABS", - "filament_type": "ABS", - "filament_vendor": "BETA" - }, - "OFjVOWfJ": { - "filaments": [ - "Anycubic/Anycubic PLA High Speed" - ], - "name": "Anycubic PLA High Speed", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFjXrKFO": { - "filaments": [ - "OrcaArena/Arena PLA Impact" - ], - "name": "Arena PLA Impact", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFjb0wos": { - "filaments": [ - "BBL/Panchroma PLA Metallic", - "OrcaFilamentLibrary/Panchroma PLA Metallic", - "Snapmaker/Panchroma PLA Metallic" - ], - "name": "Panchroma PLA Metallic", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFjiXpyf": { - "filaments": [ - "Qidi/Generic TPU 95A", - "TwoTrees/Generic TPU 95A" - ], - "name": "Generic TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OFjkdnyN": { - "filaments": [ - "Snapmaker/Snapmaker Dual TPU" - ], - "name": "Snapmaker Dual TPU", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFjoAe0R": { - "filaments": [ - "Qidi/Qidi PLA-CF" - ], - "name": "Qidi PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "QIDI" - }, - "OFjogeYN": { - "filaments": [ - "BBL/BETA PETG Glitter" - ], - "name": "BETA PETG Glitter", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFjorDcx": { - "filaments": [ - "OrcaFilamentLibrary/FDplast ABS" - ], - "name": "FDplast ABS", - "filament_type": "ABS", - "filament_vendor": "FDplast" - }, - "OFjt8dDO": { - "filaments": [ - "Flashforge/FusRock NexPA-CF25" - ], - "name": "FusRock NexPA-CF25", - "filament_type": "PA-CF", - "filament_vendor": "FusRock" - }, - "OFjt9en1": { - "filaments": [ - "OrcaFilamentLibrary/Generic CoPE" - ], - "name": "Generic CoPE", - "filament_type": "CoPE", - "filament_vendor": "Generic" - }, - "OFjz0a3m": { - "filaments": [ - "Prusa/Prusament PC-CF" - ], - "name": "Prusament PC-CF", - "filament_type": "PC-CF", - "filament_vendor": "Prusa Polymers" - }, - "OFk8t9mz": { - "filaments": [ - "BBL/Fiberon PETG-rCF", - "OrcaFilamentLibrary/Fiberon PETG-rCF" - ], - "name": "Fiberon PETG-rCF", - "filament_type": "PETG-CF", - "filament_vendor": "Polymaker" - }, - "OFkAltI8": { - "filaments": [ - "FlyingBear/Other PA-CF", - "InfiMech/Other PA-CF" - ], - "name": "Other PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Other" - }, - "OFkGp50Y": { - "filaments": [ - "Volumic/Volumic UNIVERSAL Ultra (Performance)" - ], - "name": "Volumic UNIVERSAL Ultra (Performance)", - "filament_type": "UNIV", - "filament_vendor": "Volumic" - }, - "OFkGvN4d": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Verde Pixel" - ], - "name": "FilAr PLA Verde Pixel", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFkHbjUv": { - "filaments": [ - "BBL/BETA PLA Metallic" - ], - "name": "BETA PLA Metallic", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFkOviHk": { - "filaments": [ - "BBL/Fiberon PA6-CF", - "OrcaFilamentLibrary/Fiberon PA6-CF" - ], - "name": "Fiberon PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Polymaker" - }, - "OFkR8E2c": { - "filaments": [ - "Prusa/Prusament PETG" - ], - "name": "Prusament PETG", - "filament_type": "PETG", - "filament_vendor": "Prusa Polymers" - }, - "OFkf1HHw": { - "filaments": [ - "Flashforge/Generic PLA-SILK" - ], - "name": "Generic PLA-SILK", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFkhhUS0": { - "filaments": [ - "Elegoo/Elegoo Rapid PLA+", - "OrcaFilamentLibrary/Elegoo Rapid PLA+" - ], - "name": "Elegoo Rapid PLA+", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFklJcWK": { - "filaments": [ - "FlyingBear/Other PLA Hyper", - "InfiMech/Other PLA Hyper" - ], - "name": "Other PLA Hyper", - "filament_type": "PLA", - "filament_vendor": "Other" - }, - "OFknl9Iz": { - "filaments": [ - "BBL/Bambu ABS-GF", - "OrcaFilamentLibrary/Bambu ABS-GF" - ], - "name": "Bambu ABS-GF", - "filament_type": "ABS-GF", - "filament_vendor": "Bambu Lab" - }, - "OFkoLUtR": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Verde Oliva" - ], - "name": "FilAr PLA Verde Oliva", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFkq7rPy": { - "filaments": [ - "Eryone/Eryone PA-GF" - ], - "name": "Eryone PA-GF", - "filament_type": "PA-GF", - "filament_vendor": "Eryone" - }, - "OFks6esg": { - "filaments": [ - "Creality/EN-PLA+" - ], - "name": "EN-PLA+", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFkx5MEe": { - "filaments": [ - "Artillery/Artillery PVA" - ], - "name": "Artillery PVA", - "filament_type": "PVA", - "filament_vendor": "Artillery" - }, - "OFkzr35f": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Antibacterial" - ], - "name": "Eolas Prints PLA Antibacterial", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFlBoEfL": { - "filaments": [ - "Snapmaker/Snapmaker J1 TPU High-Flow" - ], - "name": "Snapmaker J1 TPU High-Flow", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFlIsW6f": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA Matte" - ], - "name": "Snapmaker Dual PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFlN6DL1": { - "filaments": [ - "Qidi/QIDI PA-Ultra" - ], - "name": "QIDI PA-Ultra", - "filament_type": "UltraPA", - "filament_vendor": "QIDI" - }, - "OFlP3KWq": { - "filaments": [ - "Elegoo/Elegoo PETG HF", - "OrcaFilamentLibrary/Elegoo PETG HF" - ], - "name": "Elegoo PETG HF", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFlSNkhc": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints ASA" - ], - "name": "Eolas Prints ASA", - "filament_type": "ASA", - "filament_vendor": "Eolas Prints" - }, - "OFlfuj2k": { - "filaments": [ - "BBL/Bambu TPU 85A" - ], - "name": "Bambu TPU 85A", - "filament_type": "TPU", - "filament_vendor": "Bambu Lab" - }, - "OFlgMgNM": { - "filaments": [ - "Flashforge/Flashforge PPS" - ], - "name": "Flashforge PPS", - "filament_type": "PPS", - "filament_vendor": "Flashforge" - }, - "OFllmFhT": { - "filaments": [ - "Elegoo/Generic PETG PRO" - ], - "name": "Generic PETG PRO", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OFlmxlDG": { - "filaments": [ - "BBL/BETA HIPS" - ], - "name": "BETA HIPS", - "filament_type": "HIPS", - "filament_vendor": "BETA" - }, - "OFln72PT": { - "filaments": [ - "Elegoo/Elegoo PLA-CF", - "OrcaFilamentLibrary/Elegoo PLA-CF" - ], - "name": "Elegoo PLA-CF", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFlsTpJG": { - "filaments": [ - "Elegoo/Elegoo PC-FR", - "OrcaFilamentLibrary/Elegoo PC-FR" - ], - "name": "Elegoo PC-FR", - "filament_type": "PC", - "filament_vendor": "Elegoo" - }, - "OFlufQpZ": { - "filaments": [ - "Snapmaker/Snapmaker PLA" - ], - "name": "Snapmaker PLA", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFlwmqrC": { - "filaments": [ - "BBL/Polymaker HT-PLA-GF", - "OrcaFilamentLibrary/Polymaker HT-PLA-GF", - "Snapmaker/Polymaker HT-PLA-GF" - ], - "name": "Polymaker HT-PLA-GF", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFm06H6V": { - "filaments": [ - "Elegoo/Elegoo PLA Basic", - "OrcaFilamentLibrary/Elegoo PLA Basic" - ], - "name": "Elegoo PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFm4SivL": { - "filaments": [ - "Flashforge/Flashforge PLA Pro" - ], - "name": "Flashforge PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Flashforge" - }, - "OFm4ysMO": { - "filaments": [ - "FlyingBear/FlyingBear ABS" - ], - "name": "FlyingBear ABS", - "filament_type": "ABS", - "filament_vendor": "FlyingBear" - }, - "OFm70lLt": { - "filaments": [ - "CoLiDo/CoLiDo PLA" - ], - "name": "CoLiDo PLA", - "filament_type": "PLA", - "filament_vendor": "CoLiDo" - }, - "OFmCOW2Y": { - "filaments": [ - "re3D/re3D rPETG" - ], - "name": "re3D rPETG", - "filament_type": "PETG", - "filament_vendor": "re3D" - }, - "OFmFwUWM": { - "filaments": [ - "Prusa/Prusament ASA" - ], - "name": "Prusament ASA", - "filament_type": "ASA", - "filament_vendor": "Prusa Polymers" - }, - "OFmJAd3A": { - "filaments": [ - "OrcaFilamentLibrary/FDplast HIPS" - ], - "name": "FDplast HIPS", - "filament_type": "HIPS", - "filament_vendor": "FDplast" - }, - "OFmKU2Ha": { - "filaments": [ - "Eryone/Eryone PLA" - ], - "name": "Eryone PLA", - "filament_type": "PLA", - "filament_vendor": "Eryone" - }, - "OFmN2lvw": { - "filaments": [ - "BBL/Generic TPU for AMS" - ], - "name": "Generic TPU for AMS", - "filament_type": "TPU-AMS", - "filament_vendor": "Generic" - }, - "OFmY0l6t": { - "filaments": [ - "Creality/Generic PLA Matte", - "Elegoo/Generic PLA Matte", - "OrcaFilamentLibrary/Generic PLA Matte" - ], - "name": "Generic PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFma5TXH": { - "filaments": [ - "Qidi/QIDI ABS Odorless" - ], - "name": "QIDI ABS Odorless", - "filament_type": "ABS", - "filament_vendor": "QIDI" - }, - "OFmaeU4a": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Naranja" - ], - "name": "FilAr PLA-mate Naranja", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFmfizbq": { - "filaments": [ - "OrcaArena/Arena PLA Silk" - ], - "name": "Arena PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFmjN2bc": { - "filaments": [ - "Anycubic/Anycubic PLA" - ], - "name": "Anycubic PLA", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFmn9NZL": { - "filaments": [ - "BBL/FusRock ABS-GF", - "OrcaFilamentLibrary/FusRock ABS-GF" - ], - "name": "FusRock ABS-GF", - "filament_type": "ABS-GF", - "filament_vendor": "FusRock" - }, - "OFmpMwxS": { - "filaments": [ - "BBL/Generic PLA High Speed", - "Creality/Generic PLA High Speed", - "FLSun/Generic PLA High Speed", - "Flashforge/Generic PLA High Speed", - "OrcaFilamentLibrary/Generic PLA High Speed", - "Qidi/Generic PLA High Speed", - "Tiertime/Generic PLA High Speed" - ], - "name": "Generic PLA High Speed", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFmt513L": { - "filaments": [ - "BBL/BETA PETG Transparent" - ], - "name": "BETA PETG Transparent", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFmveLWz": { - "filaments": [ - "Elegoo/Elegoo PETG-GF", - "OrcaFilamentLibrary/Elegoo PETG-GF" - ], - "name": "Elegoo PETG-GF", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFn1QaY3": { - "filaments": [ - "Elegoo/Elegoo PLA Translucent2", - "OrcaFilamentLibrary/Elegoo PLA Translucent2" - ], - "name": "Elegoo PLA Translucent2", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFn2GlhY": { - "filaments": [ - "Creality/Hyper PA6-CF" - ], - "name": "Hyper PA6-CF", - "filament_type": "PA-CF", - "filament_vendor": "Creality" - }, - "OFn6WpN7": { - "filaments": [ - "Qidi/QIDI PA12-CF" - ], - "name": "QIDI PA12-CF", - "filament_type": "PA12-CF", - "filament_vendor": "QIDI" - }, - "OFnBvPhb": { - "filaments": [ - "BBL/addnorth PLA rPLA RE-ADD" - ], - "name": "addnorth PLA rPLA RE-ADD", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFnHc3D6": { - "filaments": [ - "Creality/eSUN PLA-CF" - ], - "name": "eSUN PLA-CF", - "filament_type": "PLA-CF", - "filament_vendor": "eSUN" - }, - "OFnO4wnf": { - "filaments": [ - "Prusa/Prusament PLA" - ], - "name": "Prusament PLA", - "filament_type": "PLA", - "filament_vendor": "Prusa Polymers" - }, - "OFnSeLHk": { - "filaments": [ - "CoLiDo/CoLiDo PLA Silk" - ], - "name": "CoLiDo PLA Silk", - "filament_type": "PLA", - "filament_vendor": "CoLiDo" - }, - "OFnT7Qpb": { - "filaments": [ - "Prusa/Generic TPU HF" - ], - "name": "Generic TPU HF", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OFnXrkhA": { - "filaments": [ - "InfiMech/InfiMech PA-CF" - ], - "name": "InfiMech PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "InfiMech" - }, - "OFnXwW8l": { - "filaments": [ - "Snapmaker/PolyLite PLA Pro Metallic" - ], - "name": "PolyLite PLA Pro Metallic", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFnYVFk2": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Azul Francia" - ], - "name": "FilAr PLA Azul Francia", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFncpm7O": { - "filaments": [ - "WonderMaker/WonderMaker PLA Silk" - ], - "name": "WonderMaker PLA Silk", - "filament_type": "PLA", - "filament_vendor": "WonderMaker" - }, - "OFneOFWe": { - "filaments": [ - "CoLiDo/CoLiDo ABS" - ], - "name": "CoLiDo ABS", - "filament_type": "ABS", - "filament_vendor": "CoLiDo" - }, - "OFnejEt4": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Cian" - ], - "name": "FilAr PETG Cian", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFnfxTvi": { - "filaments": [ - "BBL/Bambu PLA Lite" - ], - "name": "Bambu PLA Lite", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFngcE81": { - "filaments": [ - "LH/LHS TPU Foamy 78A" - ], - "name": "LHS TPU Foamy 78A", - "filament_type": "TPU", - "filament_vendor": "LH Stinger" - }, - "OFniMuTN": { - "filaments": [ - "BBL/Bambu PA6-CF", - "OrcaFilamentLibrary/Bambu PA6-CF" - ], - "name": "Bambu PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "Bambu Lab" - }, - "OFnmp2pO": { - "filaments": [ - "Snapmaker/Snapmaker Breakaway Support For PLA" - ], - "name": "Snapmaker Breakaway Support For PLA", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFnmp6rt": { - "filaments": [ - "Anycubic/Anycubic PLA+" - ], - "name": "Anycubic PLA+", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFnpX8uh": { - "filaments": [ - "BBL/BETA PETG Matte" - ], - "name": "BETA PETG Matte", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFnyHfcv": { - "filaments": [ - "Ratrig/Generic ABS BigNozzle" - ], - "name": "Generic ABS BigNozzle", - "filament_type": "ABS", - "filament_vendor": "Generic" - }, - "OFo15hcT": { - "filaments": [ - "Qidi/QIDI PAHT-GF" - ], - "name": "QIDI PAHT-GF", - "filament_type": "PAHT-GF", - "filament_vendor": "QIDI" - }, - "OFo2UF2C": { - "filaments": [ - "BBL/Generic BVOH", - "Creality/Generic BVOH", - "Flashforge/Generic BVOH", - "OrcaFilamentLibrary/Generic BVOH", - "Tiertime/Generic BVOH" - ], - "name": "Generic BVOH", - "filament_type": "BVOH", - "filament_vendor": "Generic" - }, - "OFo6n2pB": { - "filaments": [ - "Anycubic/Anycubic PETG" - ], - "name": "Anycubic PETG", - "filament_type": "PETG", - "filament_vendor": "Anycubic" - }, - "OFoBTKmn": { - "filaments": [ - "Cubicon/Cubicon PETG" - ], - "name": "Cubicon PETG", - "filament_type": "PETG", - "filament_vendor": "Cubicon" - }, - "OFoSknDB": { - "filaments": [ - "OrcaFilamentLibrary/FILL3D PLA Turbo" - ], - "name": "FILL3D PLA Turbo", - "filament_type": "PLA", - "filament_vendor": "FILL3D" - }, - "OFoYSJKi": { - "filaments": [ - "Anker/Generic PETG-CF", - "BBL/Generic PETG-CF", - "Creality/Generic PETG-CF", - "Elegoo/Generic PETG-CF", - "Flashforge/Generic PETG-CF", - "OrcaArena/Generic PETG-CF", - "OrcaFilamentLibrary/Generic PETG-CF", - "Qidi/Generic PETG-CF", - "Tiertime/Generic PETG-CF" - ], - "name": "Generic PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Generic" - }, - "OFobDOW5": { - "filaments": [ - "Elegoo/Elegoo ASA", - "OrcaFilamentLibrary/Elegoo ASA" - ], - "name": "Elegoo ASA", - "filament_type": "ASA", - "filament_vendor": "Elegoo" - }, - "OFocyw69": { - "filaments": [ - "BBL/AliZ PETG", - "OrcaFilamentLibrary/AliZ PETG" - ], - "name": "AliZ PETG", - "filament_type": "PETG", - "filament_vendor": "Aliz" - }, - "OFoiVqVM": { - "filaments": [ - "BBL/Bambu PLA Basic", - "OrcaFilamentLibrary/Bambu PLA Basic" - ], - "name": "Bambu PLA Basic", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFojbdhR": { - "filaments": [ - "Flashforge/Flashforge ABS-GF" - ], - "name": "Flashforge ABS-GF", - "filament_type": "ABS-GF", - "filament_vendor": "Flashforge" - }, - "OForhBi4": { - "filaments": [ - "Cubicon/Cubicon ABSk" - ], - "name": "Cubicon ABSk", - "filament_type": "ABS", - "filament_vendor": "Cubicon" - }, - "OFovEIbw": { - "filaments": [ - "BBL/Bambu PETG HF", - "OrcaFilamentLibrary/Bambu PETG HF" - ], - "name": "Bambu PETG HF", - "filament_type": "PETG", - "filament_vendor": "Bambu Lab" - }, - "OFp4ETDP": { - "filaments": [ - "Creality/CR-PLA" - ], - "name": "CR-PLA", - "filament_type": "PLA", - "filament_vendor": "Creality" - }, - "OFp57RRC": { - "filaments": [ - "Qidi/QIDI PPS-GF" - ], - "name": "QIDI PPS-GF", - "filament_type": "PPS-GF", - "filament_vendor": "QIDI" - }, - "OFp9wdmf": { - "filaments": [ - "Eryone/Eryone PA-CF" - ], - "name": "Eryone PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Eryone" - }, - "OFpBlrvY": { - "filaments": [ - "OrcaFilamentLibrary/Valment PLA Silk" - ], - "name": "Valment PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Valment" - }, - "OFpDo5Ix": { - "filaments": [ - "Cubicon/Cubicon ABS" - ], - "name": "Cubicon ABS", - "filament_type": "ABS", - "filament_vendor": "Cubicon" - }, - "OFpPGSKG": { - "filaments": [ - "BBL/SUNLU Silk PLA+", - "Flashforge/SUNLU Silk PLA+", - "OrcaFilamentLibrary/SUNLU Silk PLA+" - ], - "name": "SUNLU Silk PLA+", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFpPJSHE": { - "filaments": [ - "Peopoly/Peopoly Lancer PETG-C" - ], - "name": "Peopoly Lancer PETG-C", - "filament_type": "PETG", - "filament_vendor": "Peopoly" - }, - "OFpW4gdi": { - "filaments": [ - "BBL/SUNLU PLA Matte", - "Flashforge/SUNLU PLA Matte", - "OrcaFilamentLibrary/SUNLU PLA Matte" - ], - "name": "SUNLU PLA Matte", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFpdjFI3": { - "filaments": [ - "BBL/BETA PLA UV Color Change" - ], - "name": "BETA PLA UV Color Change", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFpu74Qe": { - "filaments": [ - "Snapmaker/Snapmaker PLA Eco" - ], - "name": "Snapmaker PLA Eco", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFpumhCM": { - "filaments": [ - "Volumic/Volumic UNIVERSAL Ultra" - ], - "name": "Volumic UNIVERSAL Ultra", - "filament_type": "UNIV", - "filament_vendor": "Volumic" - }, - "OFq0TY7C": { - "filaments": [ - "Flashforge/Flashforge ASA-CF" - ], - "name": "Flashforge ASA-CF", - "filament_type": "ASA-CF", - "filament_vendor": "Flashforge" - }, - "OFq8gfS4": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Negro Azabache" - ], - "name": "FilAr PETG Negro Azabache", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFq9svOz": { - "filaments": [ - "BBL/Generic PPS", - "Creality/Generic PPS", - "Tiertime/Generic PPS" - ], - "name": "Generic PPS", - "filament_type": "PPS", - "filament_vendor": "Generic" - }, - "OFqFRiLb": { - "filaments": [ - "Ratrig/Generic PLA BigNozzle" - ], - "name": "Generic PLA BigNozzle", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFqGRZyH": { - "filaments": [ - "BBL/Numakers PLA+", - "OrcaFilamentLibrary/Numakers PLA+" - ], - "name": "Numakers PLA+", - "filament_type": "PLA", - "filament_vendor": "Numakers" - }, - "OFqHQNoZ": { - "filaments": [ - "Elegoo/Elegoo TPU 95A", - "OrcaFilamentLibrary/Elegoo TPU 95A" - ], - "name": "Elegoo TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Elegoo" - }, - "OFqINlYj": { - "filaments": [ - "BBL/eSUN PLA+", - "Creality/eSUN PLA+", - "OrcaFilamentLibrary/eSUN PLA+" - ], - "name": "eSUN PLA+", - "filament_type": "PLA", - "filament_vendor": "eSUN" - }, - "OFqTwtXM": { - "filaments": [ - "BBL/addnorth PETG rPETG Matte" - ], - "name": "addnorth PETG rPETG Matte", - "filament_type": "PETG", - "filament_vendor": "addnorth" - }, - "OFqcL5UF": { - "filaments": [ - "Qidi/QIDI Support For PET/PA" - ], - "name": "QIDI Support For PET/PA", - "filament_type": "PA-S", - "filament_vendor": "QIDI" - }, - "OFqtx549": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Celeste Cielo" - ], - "name": "FilAr PLA-mate Celeste Cielo", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFqw2PQA": { - "filaments": [ - "BBL/Panchroma CoPE", - "OrcaFilamentLibrary/Panchroma CoPE", - "Snapmaker/Panchroma CoPE" - ], - "name": "Panchroma CoPE", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFrFBEfd": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Neon" - ], - "name": "Eolas Prints PLA Neon", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFrGJ4tR": { - "filaments": [ - "Anycubic/Anycubic PLA Slik" - ], - "name": "Anycubic PLA Slik", - "filament_type": "PLA", - "filament_vendor": "Anycubic" - }, - "OFrKLeE3": { - "filaments": [ - "BBL/Bambu PLA Metal", - "OrcaFilamentLibrary/Bambu PLA Metal" - ], - "name": "Bambu PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFrLiqiM": { - "filaments": [ - "InfiMech/InfiMech PETG" - ], - "name": "InfiMech PETG", - "filament_type": "PETG", - "filament_vendor": "InfiMech" - }, - "OFrM4hdm": { - "filaments": [ - "Creality/CR-PLA Carbon" - ], - "name": "CR-PLA Carbon", - "filament_type": "PLA-CF", - "filament_vendor": "Creality" - }, - "OFrOh600": { - "filaments": [ - "BBL/Panchroma PLA Matte", - "Creality/Panchroma PLA Matte", - "OrcaFilamentLibrary/Panchroma PLA Matte", - "Snapmaker/Panchroma PLA Matte" - ], - "name": "Panchroma PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFrZDhVt": { - "filaments": [ - "Flashforge/Flashforge ASA-GF" - ], - "name": "Flashforge ASA-GF", - "filament_type": "ASA-GF", - "filament_vendor": "Flashforge" - }, - "OFrdZ0cK": { - "filaments": [ - "Creality/eSUN PETG+HS" - ], - "name": "eSUN PETG+HS", - "filament_type": "PETG", - "filament_vendor": "eSUN" - }, - "OFrjacXf": { - "filaments": [ - "Flashforge/Flashforge PET-CF" - ], - "name": "Flashforge PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "Flashforge" - }, - "OFrqMlGt": { - "filaments": [ - "BBL/BETA PETG" - ], - "name": "BETA PETG", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFrr67nG": { - "filaments": [ - "OrcaArena/Arena PC" - ], - "name": "Arena PC", - "filament_type": "PC", - "filament_vendor": "Orca Arena" - }, - "OFryjl35": { - "filaments": [ - "Elegoo/Elegoo ASA-CF", - "OrcaFilamentLibrary/Elegoo ASA-CF" - ], - "name": "Elegoo ASA-CF", - "filament_type": "ASA", - "filament_vendor": "Elegoo" - }, - "OFsB2lxm": { - "filaments": [ - "Elegoo/Elegoo PLA Matte", - "OrcaFilamentLibrary/Elegoo PLA Matte" - ], - "name": "Elegoo PLA Matte", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFsD974q": { - "filaments": [ - "Volumic/Volumic PETG Ultra (Performance)" - ], - "name": "Volumic PETG Ultra (Performance)", - "filament_type": "PETG", - "filament_vendor": "Volumic" - }, - "OFsDXRpS": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Piel" - ], - "name": "FilAr PLA Piel", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFsFo7ms": { - "filaments": [ - "Volumic/Volumic PP Ultra" - ], - "name": "Volumic PP Ultra", - "filament_type": "PP", - "filament_vendor": "Volumic" - }, - "OFsFon5l": { - "filaments": [ - "BBL/Generic HIPS", - "Chuanying/Generic HIPS", - "Creality/Generic HIPS", - "Flashforge/Generic HIPS", - "OrcaFilamentLibrary/Generic HIPS", - "Tiertime/Generic HIPS" - ], - "name": "Generic HIPS", - "filament_type": "HIPS", - "filament_vendor": "Generic" - }, - "OFsHSVZc": { - "filaments": [ - "BBL/Bambu Support W", - "OrcaFilamentLibrary/Bambu Support W" - ], - "name": "Bambu Support W", - "filament_type": "PLA", - "filament_vendor": "Bambu Lab" - }, - "OFsP8PKH": { - "filaments": [ - "Z-Bolt/Generic ABS HT" - ], - "name": "Generic ABS HT", - "filament_type": "ABS", - "filament_vendor": "Generic" - }, - "OFsRDvTM": { - "filaments": [ - "Anycubic/Panchroma PLA", - "BBL/Panchroma PLA", - "OrcaFilamentLibrary/Panchroma PLA", - "Snapmaker/Panchroma PLA" - ], - "name": "Panchroma PLA", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFsXQXbs": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Blanco Antartida" - ], - "name": "FilAr PETG Blanco Antartida", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFsijjtH": { - "filaments": [ - "BBL/Generic PP-GF", - "OrcaFilamentLibrary/Generic PP-GF", - "Tiertime/Generic PP-GF" - ], - "name": "Generic PP-GF", - "filament_type": "PP-GF", - "filament_vendor": "Generic" - }, - "OFsoykbm": { - "filaments": [ - "OrcaFilamentLibrary/DREMC PA6-CF" - ], - "name": "DREMC PA6-CF", - "filament_type": "PA6-CF", - "filament_vendor": "DREMC" - }, - "OFt0JbR7": { - "filaments": [ - "Snapmaker/Snapmaker J1 PLA Metal" - ], - "name": "Snapmaker J1 PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFt3HtlG": { - "filaments": [ - "Qidi/QIDI ABS-GF" - ], - "name": "QIDI ABS-GF", - "filament_type": "ABS-GF", - "filament_vendor": "QIDI" - }, - "OFt6e0US": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Amarillo Lima" - ], - "name": "FilAr PETG Amarillo Lima", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFt7SngH": { - "filaments": [ - "Snapmaker/Snapmaker J1 ASA" - ], - "name": "Snapmaker J1 ASA", - "filament_type": "ASA", - "filament_vendor": "Snapmaker" - }, - "OFtFtiS0": { - "filaments": [ - "Snapmaker/Polymaker PETG Galaxy" - ], - "name": "Polymaker PETG Galaxy", - "filament_type": "PETG", - "filament_vendor": "Polymaker" - }, - "OFtGC1ye": { - "filaments": [ - "Artillery/Artillery PA-CF" - ], - "name": "Artillery PA-CF", - "filament_type": "PA-CF", - "filament_vendor": "Artillery" - }, - "OFtKeKa9": { - "filaments": [ - "OrcaArena/Arena PLA Tough" - ], - "name": "Arena PLA Tough", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFtOPlK6": { - "filaments": [ - "OrcaArena/Arena PAHT-CF" - ], - "name": "Arena PAHT-CF", - "filament_type": "PA-CF", - "filament_vendor": "Orca Arena" - }, - "OFtOoWIj": { - "filaments": [], - "name": "FilAr PLA-mate", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFtRn8X8": { - "filaments": [ - "OrcaFilamentLibrary/FDplast SBS" - ], - "name": "FDplast SBS", - "filament_type": "SBS", - "filament_vendor": "FDplast" - }, - "OFtdVZpV": { - "filaments": [ - "BBL/addnorth PLA X-PLA" - ], - "name": "addnorth PLA X-PLA", - "filament_type": "PLA", - "filament_vendor": "addnorth" - }, - "OFtefokm": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Blanco" - ], - "name": "FilAr PLA-mate Blanco", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFtkLO6q": { - "filaments": [ - "BBL/Bambu TPU 90A" - ], - "name": "Bambu TPU 90A", - "filament_type": "TPU", - "filament_vendor": "Bambu Lab" - }, - "OFtndTHe": { - "filaments": [ - "BBL/BETA PETG-CF" - ], - "name": "BETA PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "BETA" - }, - "OFtpXCCv": { - "filaments": [ - "BBL/COEX ASA PRIME", - "OrcaFilamentLibrary/COEX ASA PRIME" - ], - "name": "COEX ASA PRIME", - "filament_type": "ASA", - "filament_vendor": "COEX 3D" - }, - "OFtr8eZw": { - "filaments": [ - "OrcaFilamentLibrary/FDplast PLA" - ], - "name": "FDplast PLA", - "filament_type": "PLA", - "filament_vendor": "FDplast" - }, - "OFtudokz": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA Premium" - ], - "name": "Eolas Prints PLA Premium", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFtybfNX": { - "filaments": [ - "Snapmaker/Snapmaker PLA Metal" - ], - "name": "Snapmaker PLA Metal", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFu08yGN": { - "filaments": [ - "Volumic/Volumic PETG Ultra carbone" - ], - "name": "Volumic PETG Ultra carbone", - "filament_type": "PETG", - "filament_vendor": "Volumic" - }, - "OFu0fjPJ": { - "filaments": [ - "LH/LHS PC CF" - ], - "name": "LHS PC CF", - "filament_type": "PC", - "filament_vendor": "LH Stinger" - }, - "OFu1E4ur": { - "filaments": [ - "Qidi/QIDI ASA-Aero" - ], - "name": "QIDI ASA-Aero", - "filament_type": "ASA-AERO", - "filament_vendor": "QIDI" - }, - "OFu1evlr": { - "filaments": [ - "BBL/Generic PCTG", - "Creality/Generic PCTG", - "OrcaFilamentLibrary/Generic PCTG", - "Ratrig/Generic PCTG", - "Tiertime/Generic PCTG" - ], - "name": "Generic PCTG", - "filament_type": "PCTG", - "filament_vendor": "Generic" - }, - "OFuFEtKX": { - "filaments": [ - "Flashforge/Flashforge PETG-CF" - ], - "name": "Flashforge PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Flashforge" - }, - "OFuJ49uH": { - "filaments": [ - "Qidi/QIDI PETG Basic" - ], - "name": "QIDI PETG Basic", - "filament_type": "PETG", - "filament_vendor": "QIDI" - }, - "OFuO0cAP": { - "filaments": [ - "OrcaArena/Arena PETG-CF" - ], - "name": "Arena PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Orca Arena" - }, - "OFuUuIhR": { - "filaments": [ - "Elegoo/Elegoo PETG-CF", - "OrcaFilamentLibrary/Elegoo PETG-CF" - ], - "name": "Elegoo PETG-CF", - "filament_type": "PETG", - "filament_vendor": "Elegoo" - }, - "OFuV79ru": { - "filaments": [ - "Flashforge/Flashforge PA66-CF" - ], - "name": "Flashforge PA66-CF", - "filament_type": "PA-CF", - "filament_vendor": "Flashforge" - }, - "OFuWCQXN": { - "filaments": [ - "BBL/COEX ABS PRIME", - "OrcaFilamentLibrary/COEX ABS PRIME" - ], - "name": "COEX ABS PRIME", - "filament_type": "ABS", - "filament_vendor": "COEX 3D" - }, - "OFuehn62": { - "filaments": [ - "OrcaArena/Arena PLA Marble" - ], - "name": "Arena PLA Marble", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFufTAK9": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA-mate Negro" - ], - "name": "FilAr PLA-mate Negro", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFughwKn": { - "filaments": [ - "Qidi/QIDI PLA Matte Basic" - ], - "name": "QIDI PLA Matte Basic", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFujZSdh": { - "filaments": [ - "Creality/Hyper PETG" - ], - "name": "Hyper PETG", - "filament_type": "PETG", - "filament_vendor": "Creality" - }, - "OFulOdT2": { - "filaments": [ - "Flashforge/Generic TPU 85A" - ], - "name": "Generic TPU 85A", - "filament_type": "TPU", - "filament_vendor": "Generic" - }, - "OFurdQxc": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Magenta" - ], - "name": "FilAr PETG Magenta", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFusbWjj": { - "filaments": [ - "Creality/Hyper PETG-CF" - ], - "name": "Hyper PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Creality" - }, - "OFuvOt0r": { - "filaments": [ - "BBL/BETA PLA Basic" - ], - "name": "BETA PLA Basic", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFuxH0Uz": { - "filaments": [ - "Volumic/Volumic FLEX93 Ultra" - ], - "name": "Volumic FLEX93 Ultra", - "filament_type": "TPU", - "filament_vendor": "Volumic" - }, - "OFvD0Qqt": { - "filaments": [ - "Ratrig/Generic PETG BigNozzle" - ], - "name": "Generic PETG BigNozzle", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OFvDbkFq": { - "filaments": [ - "Prusa/Prusament PC Blend" - ], - "name": "Prusament PC Blend", - "filament_type": "PC", - "filament_vendor": "Prusa Polymers" - }, - "OFvKUnLh": { - "filaments": [ - "BBL/Bambu TPU 95A HF", - "OrcaFilamentLibrary/Bambu TPU 95A HF" - ], - "name": "Bambu TPU 95A HF", - "filament_type": "TPU", - "filament_vendor": "Bambu Lab" - }, - "OFvLppPU": { - "filaments": [ - "Creality/CR-Nylon" - ], - "name": "CR-Nylon", - "filament_type": "PA", - "filament_vendor": "Creality" - }, - "OFvPPMxL": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PLA Verde FilAr" - ], - "name": "FilAr PLA Verde FilAr", - "filament_type": "PLA", - "filament_vendor": "FilAr" - }, - "OFvTVZc3": { - "filaments": [ - "BBL/COEX PETG", - "OrcaFilamentLibrary/COEX PETG" - ], - "name": "COEX PETG", - "filament_type": "PETG", - "filament_vendor": "COEX 3D" - }, - "OFvVy7yo": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints TPU D60 UV Resistant" - ], - "name": "Eolas Prints TPU D60 UV Resistant", - "filament_type": "TPU", - "filament_vendor": "Eolas Prints" - }, - "OFvaLVML": { - "filaments": [ - "Flashforge/Flashforge HIPS" - ], - "name": "Flashforge HIPS", - "filament_type": "HIPS", - "filament_vendor": "Flashforge" - }, - "OFvcIGee": { - "filaments": [ - "BBL/addnorth TPU Pro Matte 85A" - ], - "name": "addnorth TPU Pro Matte 85A", - "filament_type": "TPU", - "filament_vendor": "addnorth" - }, - "OFvdZ2bx": { - "filaments": [ - "Qidi/QIDI WOOD Rapido" - ], - "name": "QIDI WOOD Rapido", - "filament_type": "PLA", - "filament_vendor": "QIDI" - }, - "OFvgE0Zh": { - "filaments": [ - "Elegoo/Elegoo PLA", - "OrcaFilamentLibrary/Elegoo PLA" - ], - "name": "Elegoo PLA", - "filament_type": "PLA", - "filament_vendor": "Elegoo" - }, - "OFvmwTZE": { - "filaments": [ - "Snapmaker/Snapmaker TPU 95A" - ], - "name": "Snapmaker TPU 95A", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFvrXuV7": { - "filaments": [ - "BBL/PolyLite ASA", - "OrcaFilamentLibrary/PolyLite ASA" - ], - "name": "PolyLite ASA", - "filament_type": "ASA", - "filament_vendor": "Polymaker" - }, - "OFvxIS9g": { - "filaments": [ - "BBL/Fiberon PA12-CF10", - "Snapmaker/Fiberon PA12-CF10" - ], - "name": "Fiberon PA12-CF10", - "filament_type": "PA-CF", - "filament_vendor": "Polymaker" - }, - "OFvxghTE": { - "filaments": [ - "Chuanying/Generic HS PLA", - "Flashforge/Generic HS PLA", - "TwoTrees/Generic HS PLA" - ], - "name": "Generic HS PLA", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFvyB0Bz": { - "filaments": [ - "BBL/PolyLite PLA Galaxy", - "Snapmaker/PolyLite PLA Galaxy" - ], - "name": "PolyLite PLA Galaxy", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFvzvwCu": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PLA High Speed" - ], - "name": "Eolas Prints PLA High Speed", - "filament_type": "PLA", - "filament_vendor": "Eolas Prints" - }, - "OFw4WD4T": { - "filaments": [ - "BBL/Fiberon PETG-rCF08" - ], - "name": "Fiberon PETG-rCF08", - "filament_type": "PETG-CF", - "filament_vendor": "Polymaker" - }, - "OFwJ0qu2": { - "filaments": [], - "name": "DREMC PET-CF", - "filament_type": "PET-CF", - "filament_vendor": "DREMC" - }, - "OFwLBAGf": { - "filaments": [ - "Qidi/HATCHBOX ABS" - ], - "name": "HATCHBOX ABS", - "filament_type": "ABS", - "filament_vendor": "HATCHBOX" - }, - "OFwPrlCM": { - "filaments": [ - "BBL/Bambu PETG Translucent", - "OrcaFilamentLibrary/Bambu PETG Translucent" - ], - "name": "Bambu PETG Translucent", - "filament_type": "PETG", - "filament_vendor": "Bambu Lab" - }, - "OFwRJ4g0": { - "filaments": [ - "OrcaFilamentLibrary/NIT PLA" - ], - "name": "NIT PLA", - "filament_type": "PLA", - "filament_vendor": "NIT" - }, - "OFwVVKEV": { - "filaments": [ - "FlyingBear/Other TPU", - "InfiMech/Other TPU" - ], - "name": "Other TPU", - "filament_type": "TPU", - "filament_vendor": "Other" - }, - "OFwaYjL6": { - "filaments": [ - "BBL/Fiberon PA6-GF", - "OrcaFilamentLibrary/Fiberon PA6-GF" - ], - "name": "Fiberon PA6-GF", - "filament_type": "PA-GF", - "filament_vendor": "Polymaker" - }, - "OFwc74ck": { - "filaments": [ - "BBL/BETA PLA Matte" - ], - "name": "BETA PLA Matte", - "filament_type": "PLA", - "filament_vendor": "BETA" - }, - "OFwhLMs4": { - "filaments": [ - "Snapmaker/Snapmaker PLA SnapSpeed" - ], - "name": "Snapmaker PLA SnapSpeed", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFwjMiKL": { - "filaments": [ - "Flashforge/Flashforge PETG Transparent" - ], - "name": "Flashforge PETG Transparent", - "filament_type": "PETG", - "filament_vendor": "Flashforge" - }, - "OFwlZ7gH": { - "filaments": [ - "Flashforge/Flashforge TPU-90A" - ], - "name": "Flashforge TPU-90A", - "filament_type": "TPU-90A", - "filament_vendor": "Flashforge" - }, - "OFwu7IAG": { - "filaments": [ - "BBL/COEX PCTG PRIME", - "OrcaFilamentLibrary/COEX PCTG PRIME" - ], - "name": "COEX PCTG PRIME", - "filament_type": "PCTG", - "filament_vendor": "COEX 3D" - }, - "OFwwAQnA": { - "filaments": [ - "Prusa/Generic PC HF" - ], - "name": "Generic PC HF", - "filament_type": "PC", - "filament_vendor": "Generic" - }, - "OFwyt1xt": { - "filaments": [ - "Eryone/Eryone ASA-CF" - ], - "name": "Eryone ASA-CF", - "filament_type": "ASA-CF", - "filament_vendor": "Eryone" - }, - "OFx0WlzS": { - "filaments": [ - "Flashforge/Flashforge TPU-95A" - ], - "name": "Flashforge TPU-95A", - "filament_type": "TPU-95A", - "filament_vendor": "Flashforge" - }, - "OFx8Lmsd": { - "filaments": [ - "OrcaFilamentLibrary/Eolas Prints PETG UV Resistant" - ], - "name": "Eolas Prints PETG UV Resistant", - "filament_type": "PETG", - "filament_vendor": "Eolas Prints" - }, - "OFxA1p01": { - "filaments": [ - "BBL/Overture PLA Pro", - "OrcaFilamentLibrary/Overture PLA Pro" - ], - "name": "Overture PLA Pro", - "filament_type": "PLA", - "filament_vendor": "Overture" - }, - "OFxDHUX8": { - "filaments": [ - "SeeMeCNC/SeeMeCNC PETG" - ], - "name": "SeeMeCNC PETG", - "filament_type": "PETG", - "filament_vendor": "SeeMeCNC" - }, - "OFxJRuVF": { - "filaments": [ - "Anycubic/Anycubic PC-GF" - ], - "name": "Anycubic PC-GF", - "filament_type": "PC-GF", - "filament_vendor": "Anycubic" - }, - "OFxOHhZw": { - "filaments": [ - "Elegoo/Elegoo ABS", - "OrcaFilamentLibrary/Elegoo ABS" - ], - "name": "Elegoo ABS", - "filament_type": "ABS", - "filament_vendor": "Elegoo" - }, - "OFxUwUeW": { - "filaments": [ - "BBL/SUNLU PLA Marble", - "Flashforge/SUNLU PLA Marble", - "OrcaFilamentLibrary/SUNLU PLA Marble" - ], - "name": "SUNLU PLA Marble", - "filament_type": "PLA", - "filament_vendor": "SUNLU" - }, - "OFxYB4Sw": { - "filaments": [ - "Snapmaker/Snapmaker J1 PETG-CF" - ], - "name": "Snapmaker J1 PETG-CF", - "filament_type": "PETG-CF", - "filament_vendor": "Snapmaker" - }, - "OFxe4rXr": { - "filaments": [ - "BBL/PolyTerra PLA Marble", - "Snapmaker/PolyTerra PLA Marble" - ], - "name": "PolyTerra PLA Marble", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFxqf79Q": { - "filaments": [ - "BBL/BETA PETG HF" - ], - "name": "BETA PETG HF", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFy02QHU": { - "filaments": [ - "BBL/PolyLite PLA Translucent", - "Snapmaker/PolyLite PLA Translucent" - ], - "name": "PolyLite PLA Translucent", - "filament_type": "PLA", - "filament_vendor": "Polymaker" - }, - "OFy14TRA": { - "filaments": [ - "Snapmaker/Snapmaker J1 ABS" - ], - "name": "Snapmaker J1 ABS", - "filament_type": "ABS", - "filament_vendor": "Snapmaker" - }, - "OFy3sW6j": { - "filaments": [ - "WonderMaker/WonderMaker ASA" - ], - "name": "WonderMaker ASA", - "filament_type": "ASA", - "filament_vendor": "WonderMaker" - }, - "OFy48TOp": { - "filaments": [ - "Flashforge/Generic TPU-95A" - ], - "name": "Generic TPU-95A", - "filament_type": "TPU-95A", - "filament_vendor": "Generic" - }, - "OFy8tYJE": { - "filaments": [ - "Cubicon/Cubicon ABS-A100" - ], - "name": "Cubicon ABS-A100", - "filament_type": "ABS", - "filament_vendor": "Cubicon" - }, - "OFyFyLIp": { - "filaments": [ - "SeeMeCNC/SeeMeCNC TPU" - ], - "name": "SeeMeCNC TPU", - "filament_type": "TPU", - "filament_vendor": "SeeMeCNC" - }, - "OFyHgT60": { - "filaments": [ - "OrcaArena/Arena PLA Sparkle" - ], - "name": "Arena PLA Sparkle", - "filament_type": "PLA", - "filament_vendor": "Orca Arena" - }, - "OFyJjkek": { - "filaments": [ - "BBL/addnorth TPU Pro Matte 95A" - ], - "name": "addnorth TPU Pro Matte 95A", - "filament_type": "TPU", - "filament_vendor": "addnorth" - }, - "OFyLWVF3": { - "filaments": [ - "Creality/Generic PETG-GF" - ], - "name": "Generic PETG-GF", - "filament_type": "PETG-GF", - "filament_vendor": "Generic" - }, - "OFyPG8v2": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA Eco" - ], - "name": "Snapmaker Dual PLA Eco", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFyPTnSk": { - "filaments": [ - "BBL/BETA PETG Heat Color Change" - ], - "name": "BETA PETG Heat Color Change", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFyQwdaM": { - "filaments": [ - "Volumic/Volumic ABS Ultra (Performance)" - ], - "name": "Volumic ABS Ultra (Performance)", - "filament_type": "ABS", - "filament_vendor": "Volumic" - }, - "OFyRCIMh": { - "filaments": [ - "FlyingBear/Other PC", - "InfiMech/Other PC" - ], - "name": "Other PC", - "filament_type": "PC", - "filament_vendor": "Other" - }, - "OFyUJI3q": { - "filaments": [ - "Volumic/Volumic ABS Ultra" - ], - "name": "Volumic ABS Ultra", - "filament_type": "ABS", - "filament_vendor": "Volumic" - }, - "OFybzvQN": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Gris Ceniza" - ], - "name": "FilAr PETG Gris Ceniza", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFyhjiNs": { - "filaments": [ - "Snapmaker/Snapmaker PVA" - ], - "name": "Snapmaker PVA", - "filament_type": "PVA", - "filament_vendor": "Snapmaker" - }, - "OFyj3m13": { - "filaments": [ - "Snapmaker/Snapmaker Dual PLA Silk" - ], - "name": "Snapmaker Dual PLA Silk", - "filament_type": "PLA", - "filament_vendor": "Snapmaker" - }, - "OFymnal9": { - "filaments": [ - "Sovol/Sovol Zero PETG HS Nozzle" - ], - "name": "Sovol Zero PETG HS Nozzle", - "filament_type": "PETG", - "filament_vendor": "Generic" - }, - "OFyoBZdm": { - "filaments": [ - "LH/LHS PLA" - ], - "name": "LHS PLA", - "filament_type": "PLA", - "filament_vendor": "LH Stinger" - }, - "OFyreocX": { - "filaments": [ - "Tiertime/Tiertime PVA" - ], - "name": "Tiertime PVA", - "filament_type": "PVA", - "filament_vendor": "Tiertime" - }, - "OFyrnlUn": { - "filaments": [ - "Snapmaker/Snapmaker J1 TPU" - ], - "name": "Snapmaker J1 TPU", - "filament_type": "TPU", - "filament_vendor": "Snapmaker" - }, - "OFysxCep": { - "filaments": [ - "OrcaFilamentLibrary/FilAr PETG Coral" - ], - "name": "FilAr PETG Coral", - "filament_type": "PETG", - "filament_vendor": "FilAr" - }, - "OFyxayW4": { - "filaments": [ - "BBL/AliZ PLA", - "OrcaFilamentLibrary/AliZ PLA" - ], - "name": "AliZ PLA", - "filament_type": "PLA", - "filament_vendor": "Aliz" - }, - "OFz1a1fy": { - "filaments": [ - "BBL/BETA PETG Metallic" - ], - "name": "BETA PETG Metallic", - "filament_type": "PETG", - "filament_vendor": "BETA" - }, - "OFz5oHgf": { - "filaments": [ - "MagicMaker/Generic PEEK" - ], - "name": "Generic PEEK", - "filament_type": "PEEK", - "filament_vendor": "Generic" - }, - "OFzAWsca": { - "filaments": [ - "Qidi/Qidi TPU 95A-HF" - ], - "name": "Qidi TPU 95A-HF", - "filament_type": "TPU", - "filament_vendor": "QIDI" - }, - "OFzB4uOs": { - "filaments": [ - "Sovol/Sovol Zero PLA Basic HS Nozzle" - ], - "name": "Sovol Zero PLA Basic HS Nozzle", - "filament_type": "PLA", - "filament_vendor": "Generic" - }, - "OFzRtFM9": { - "filaments": [ - "Prusa/Generic ASA HF" - ], - "name": "Generic ASA HF", - "filament_type": "ASA", - "filament_vendor": "Generic" - }, - "OFzS7zt4": { - "filaments": [ - "Anycubic/Anycubic PA" - ], - "name": "Anycubic PA", - "filament_type": "PA", - "filament_vendor": "Anycubic" - }, - "OFzY7N3Z": { - "filaments": [ - "Artillery/Artillery PLA" - ], - "name": "Artillery PLA", - "filament_type": "PLA", - "filament_vendor": "Artillery" - }, - "OFzaq7Yg": { - "filaments": [ - "BBL/BETA TPU 98A" - ], - "name": "BETA TPU 98A", - "filament_type": "TPU", - "filament_vendor": "BETA" - }, - "OFzk5oAo": { - "filaments": [ - "BBL/addnorth ABS rABS" - ], - "name": "addnorth ABS rABS", - "filament_type": "ABS", - "filament_vendor": "addnorth" - }, - "OFzrUUxc": { - "filaments": [], - "name": "DREMC ABS", - "filament_type": "ABS", - "filament_vendor": "DREMC" - }, - "OFztQ7rO": { - "filaments": [ - "LH/LHS ABS" - ], - "name": "LHS ABS", - "filament_type": "ASA", - "filament_vendor": "LH Stinger" - }, - "OFzwA5Z9": { - "filaments": [ - "Flashforge/FusRock PET-GF" - ], - "name": "FusRock PET-GF", - "filament_type": "PET-GF", - "filament_vendor": "FusRock" - }, - "OFzyIxba": { - "filaments": [ - "BBL/Bambu PVA", - "OrcaFilamentLibrary/Bambu PVA" - ], - "name": "Bambu PVA", - "filament_type": "PVA", - "filament_vendor": "Bambu Lab" - } - } -} diff --git a/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml b/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml index 00aa430f84..404dbf5fe4 100644 --- a/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml +++ b/scripts/flatpak/com.orcaslicer.OrcaSlicer.yml @@ -223,6 +223,12 @@ modules: sha256: 51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5 dest: external-packages/OpenCSG + # SolveSpace libslvs (2D sketch constraint solver, Design tab) + - type: file + url: https://github.com/JacobStoren/SolveSpaceLib/archive/4d8704523e4bf212fadf5189f92484244f670fea.zip + sha256: 1c4bdde9c3c6ef20ea4b50b73601de56769f2eb131b36927d7c6489f102e6c30 + dest: external-packages/SLVS + # Blosc 1.17.0 (tamasmeszaros fork) - type: file url: https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip @@ -378,6 +384,17 @@ modules: - cmake --build build_flatpak --target generate_system_cache -j$FLATPAK_BUILDER_N_JOBS - ./scripts/build_preset_cache.sh -n -b build_flatpak /app/share/OrcaSlicer/profiles + # Built (not run) here when CI injects run-tests, then shipped to a separate + # test job. Only the test sources compile; nothing installs to /app. + test-commands: + - cmake . -B build_flatpak -DBUILD_TESTS=ON + # A suite missing from this list fails the leg loudly, since ctest registers a + # _NOT_BUILT test for it. (tests/all is a Ninja subdirectory target and + # this build uses the default Makefile generator, so it is not available here.) + - cmake --build build_flatpak -j"${FLATPAK_BUILDER_N_JOBS:-$(nproc)}" --target + libslic3r_tests fff_print_tests sla_print_tests libnest2d_tests slic3rutils_tests + filament_group_tests + cleanup: - /include @@ -414,6 +431,10 @@ modules: - type: dir path: ../../localization dest: localization + # For the post-build unit-test step (BUILD_TESTS=ON); not built by the app. + - type: dir + path: ../../tests + dest: tests - type: file path: ../../CMakeLists.txt @@ -427,6 +448,9 @@ modules: - type: file path: ../build_preset_cache.sh dest: scripts + - type: file + path: ../run_unit_tests.sh + dest: scripts # AppData metainfo for GNOME Software & Co. - type: file diff --git a/scripts/linux.d/debian b/scripts/linux.d/debian index c33b24d2b7..e5816d345e 100644 --- a/scripts/linux.d/debian +++ b/scripts/linux.d/debian @@ -2,6 +2,7 @@ REQUIRED_DEV_PACKAGES=( autoconf + automake build-essential cmake eglexternalplatform-dev @@ -50,16 +51,20 @@ then REQUIRED_DEV_PACKAGES+=(libssl-dev libcurl4-openssl-dev) fi - # check which version of libwebkit2gtk is available - if [ "$(apt show --quiet libwebkit2gtk-4.0-dev 2>/dev/null)" != "" ] + # The package lists must be current before checking what is available. + sudo apt update + + # src/slic3r/CMakeLists.txt requires webkit2gtk-4.1 unconditionally (no + # 4.0 fallback), so prefer it; only fall back to 4.0-dev when 4.1 isn't + # packaged for this distro. + if [ "$(apt show --quiet libwebkit2gtk-4.1-dev 2>/dev/null)" != "" ] then - REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev) - else REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev) + else + REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev) fi # install them all at once - sudo apt update sudo apt install -y "${REQUIRED_DEV_PACKAGES[@]}" echo -e "done\n" diff --git a/scripts/orca_extra_profile_check.py b/scripts/orca_extra_profile_check.py deleted file mode 100644 index e95e2c29e8..0000000000 --- a/scripts/orca_extra_profile_check.py +++ /dev/null @@ -1,660 +0,0 @@ -import os -import json -import argparse -from pathlib import Path - -from orca_id_tool import generate_preset_setting_id, check_filament_ids - -OBSOLETE_KEYS = { - "acceleration", "scale", "rotate", "duplicate", "duplicate_grid", - "bed_size", "print_center", "g0", "wipe_tower_per_color_wipe", - "support_sharp_tails", "support_remove_small_overhangs", "support_with_sheath", - "tree_support_collision_resolution", "tree_support_with_infill", - "max_volumetric_speed", "max_print_speed", "support_closing_radius", - "remove_freq_sweep", "remove_bed_leveling", "remove_extrusion_calibration", - "support_transition_line_width", "support_transition_speed", "bed_temperature", - "bed_temperature_initial_layer", "can_switch_nozzle_type", "can_add_auxiliary_fan", - "extra_flush_volume", "spaghetti_detector", "adaptive_layer_height", - "z_hop_type", "z_lift_type", "bed_temperature_difference", "long_retraction_when_cut", - "retraction_distance_when_cut", "extruder_type", "internal_bridge_support_thickness", - "extruder_clearance_max_radius", "top_area_threshold", "reduce_wall_solid_infill", - "filament_load_time", "filament_unload_time", "smooth_coefficient", - "overhang_totally_speed", "silent_mode", "overhang_speed_classic" -} - -# Utility functions for printing messages in different colors. -def print_error(msg): - print(f"\033[91m[ERROR]\033[0m {msg}") # Red - -def print_warning(msg): - print(f"\033[93m[WARNING]\033[0m {msg}") # Yellow - -def print_info(msg): - print(f"\033[94m[INFO]\033[0m {msg}") # Blue - -def print_success(msg): - print(f"\033[92m[SUCCESS]\033[0m {msg}") # Green - - -# Add helper function for duplicate key detection. -def no_duplicates_object_pairs_hook(pairs): - seen = {} - for key, value in pairs: - if key in seen: - raise ValueError(f"Duplicate key detected: {key}") - seen[key] = value - return seen - -# NOTE: currently Orca expects compatible_printers to be a defined in every instantiation profile, inheritation is not supported in Profile page -def check_filament_compatible_printers(vendor, vendor_folder): - """ - Checks JSON files in the vendor folder for missing or empty 'compatible_printers' - when 'instantiation' is flagged as true. - - In the OrcaFilamentLibrary 'compatible_printers' is optional: a profile without it is generic and - offered on every printer, while a profile that lists printers supersedes the generic one there. - - Parameters: - vendor (str): The vendor name the folder belongs to. - vendor_folder (str or Path): The directory to search for JSON profile files. - - Returns: - int: The number of profiles with missing or empty 'compatible_printers'. - """ - error = 0 - vendor_path = Path(vendor_folder) - if not vendor_path.exists(): - return 0 - - profiles = {} - - # Use rglob to recursively find .json files. - for file_path in vendor_path.rglob("*.json"): - if file_path.name == 'filaments_color_codes.json': # Ignore non-profile file - continue - - try: - with open(file_path, 'r', encoding='UTF-8') as fp: - # Use custom hook to detect duplicates. - data = json.load(fp, object_pairs_hook=no_duplicates_object_pairs_hook) - except ValueError as ve: - print_error(f"Duplicate key error in {file_path}: {ve}") - error += 1 - continue - except Exception as e: - print_error(f"Error processing {file_path}: {e}") - error += 1 - continue - - profile_name = data['name'] - if profile_name in profiles: - print_error(f"Duplicated profile {profile_name}: {file_path}") - error += 1 - continue - - profiles[profile_name] = { - 'file_path': file_path, - 'content': data, - } - - def get_property(profile, key): - content = profile['content'] - if key in content: - return content[key] - return None - - def get_inherit_property(profile, key): - content = profile['content'] - if key in content: - return content[key] - - if 'inherits' in content: - inherits = content['inherits'] - if inherits not in profiles: - raise ValueError(f"Parent profile not found: {inherits}, referenced in {profile['file_path']}") - - return get_inherit_property(profiles[inherits], key) - - return None - - for profile in profiles.values(): - instantiation = str(profile['content'].get("instantiation", "")).lower() == "true" - if instantiation and vendor != 'OrcaFilamentLibrary': - try: - compatible_printers = get_property(profile, "compatible_printers") - if not compatible_printers or (isinstance(compatible_printers, list) and not compatible_printers): - print_error(f"'compatible_printers' missing in {profile['file_path']}") - error += 1 - except ValueError as ve: - print_error(f"Unable to parse {profile['file_path']}: {ve}") - error += 1 - continue - - return error - -def load_available_filament_profiles(profiles_dir, vendor_name): - """ - Load all available filament profiles from a vendor's directory. - - Parameters: - profiles_dir (Path): The directory containing vendor profile directories - vendor_name (str): The name of the vendor directory - - Returns: - set: A set of filament profile names - """ - profiles = set() - vendor_path = profiles_dir / vendor_name / "filament" - - if not vendor_path.exists(): - return profiles - - for file_path in vendor_path.rglob("*.json"): - try: - with open(file_path, 'r', encoding='UTF-8') as fp: - data = json.load(fp) - if "name" in data: - profiles.add(data["name"]) - except Exception as e: - print_error(f"Error loading filament profile {file_path}: {e}") - - return profiles - -def check_machine_default_materials(profiles_dir, vendor_name): - """ - Checks if default materials referenced in machine profiles exist in - the vendor's filament library or in the global OrcaFilamentLibrary. - - Parameters: - profiles_dir (Path): The base profiles directory - vendor_name (str): The vendor name to check - - Returns: - int: Number of missing filament references found - int: the number of warnings found (0 or 1) - """ - error_count = 0 - machine_dir = profiles_dir / vendor_name / "machine" - - if not machine_dir.exists(): - print_warning(f"No machine profiles found for vendor: {vendor_name}") - return 0, 1 - - # Load available filament profiles - vendor_filaments = load_available_filament_profiles(profiles_dir, vendor_name) - global_filaments = load_available_filament_profiles(profiles_dir, "OrcaFilamentLibrary") - all_available_filaments = vendor_filaments.union(global_filaments) - - # Check each machine profile - for file_path in machine_dir.rglob("*.json"): - try: - with open(file_path, 'r', encoding='UTF-8') as fp: - data = json.load(fp) - - default_materials = None - if "default_materials" in data: - default_materials = data["default_materials"] - elif "default_filament_profile" in data: - default_materials = data["default_filament_profile"] - - if default_materials: - if isinstance(default_materials, list): - for material in default_materials: - if material not in all_available_filaments: - print_error(f"Missing filament profile: '{material}' referenced in {file_path.relative_to(profiles_dir)}") - error_count += 1 - else: - # Handle semicolon-separated list of materials in a string - if ";" in default_materials: - for material in default_materials.split(";"): - material = material.strip() - if material and material not in all_available_filaments: - print_error(f"Missing filament profile: '{material}' referenced in {file_path.relative_to(profiles_dir)}") - error_count += 1 - else: - # Single material in a string - if default_materials not in all_available_filaments: - print_error(f"Missing filament profile: '{default_materials}' referenced in {file_path.relative_to(profiles_dir)}") - error_count += 1 - - except Exception as e: - print_error(f"Error processing machine profile {file_path}: {e}") - error_count += 1 - - return error_count, 0 - -def check_name_consistency(profiles_dir, vendor_name): - """ - Make sure filament profile names match in both vendor json and subpath files. - Filament profiles work only if the name in .json matches the name in sub_path file, - or if it's one of the sub_path file's `renamed_from`. - - Parameters: - profiles_dir (Path): Base profiles directory - vendor_name (str): Vendor name - - Returns: - int: Number of errors found - int: Number of warnings found (0 or 1) - """ - error_count = 0 - vendor_dir = profiles_dir / vendor_name - vendor_file = profiles_dir / (vendor_name + ".json") - - if not vendor_file.exists(): - print_warning(f"No profiles found for vendor: {vendor_name} at {vendor_file}") - return 0, 1 - - try: - with open(vendor_file, 'r', encoding='UTF-8') as fp: - data = json.load(fp) - except Exception as e: - print_error(f"Error loading vendor profile {vendor_file}: {e}") - return 1, 0 - - for section in ['filament_list', 'machine_model_list', 'machine_list', 'process_list']: - if section not in data: - continue - - for child in data[section]: - name_in_vendor = child['name'] - sub_path = child['sub_path'] - sub_file = vendor_dir / sub_path - - if not sub_file.exists(): - print_error(f"Missing sub profile: '{sub_path}' declared in {vendor_file.relative_to(profiles_dir)}") - error_count += 1 - continue - - try: - with open(sub_file, 'r', encoding='UTF-8') as fp: - sub_data = json.load(fp) - except Exception as e: - print_error(f"Error loading profile {sub_file}: {e}") - error_count += 1 - continue - - name_in_sub = sub_data['name'] - - if name_in_sub == name_in_vendor: - continue - - # if 'renamed_from' in sub_data: - # renamed_from = [n.strip() for n in sub_data['renamed_from'].split(';')] - # if name_in_vendor in renamed_from: - # continue - - print_error(f"{section} name mismatch: required '{name_in_vendor}' in {vendor_file.relative_to(profiles_dir)} but found '{name_in_sub}' in {sub_file.relative_to(profiles_dir)}") - error_count += 1 - - return error_count, 0 - -def check_filament_id(profiles_dir, vendor_name): - """ - Make sure filament_id is not longer than 8 characters, otherwise AMS won't work properly. - - Runs tree-wide, every vendor alike (BBL included: the id format is what - matters, not the vendor). Every .json file under the vendor's filament - directory is still parsed through the duplicate-key hook below, so that - coverage is unchanged; only the length rule itself is scoped to presets - the vendor's index (.json filament_list) actually references. A - file the index does not reference never loads, so its filament_id length - cannot break AMS -- and some vendors (e.g. SeeMeCNC) ship such orphaned - files pre-dating this check, with no bearing on what ships. - """ - error = 0 - vendor_path = profiles_dir / vendor_name / "filament" - if not vendor_path.exists(): - return 0 - - referenced = set() - vendor_file = profiles_dir / (vendor_name + ".json") - if vendor_file.exists(): - try: - with open(vendor_file, 'r', encoding='UTF-8') as fp: - index = json.load(fp) - for entry in index.get('filament_list', []): - sub_path = entry.get('sub_path') - if sub_path: - referenced.add((profiles_dir / vendor_name / sub_path).resolve()) - except Exception as e: - print_error(f"Error loading vendor profile {vendor_file}: {e}") - error += 1 - - # Use rglob to recursively find .json files. - for file_path in vendor_path.rglob("*.json"): - try: - with open(file_path, 'r', encoding='UTF-8') as fp: - # Use custom hook to detect duplicates. - data = json.load(fp, object_pairs_hook=no_duplicates_object_pairs_hook) - except ValueError as ve: - print_error(f"Duplicate key error in {file_path}: {ve}") - error += 1 - continue - except Exception as e: - print_error(f"Error processing {file_path}: {e}") - error += 1 - continue - - if 'filament_id' not in data: - continue - - filament_id = data['filament_id'] - - if len(filament_id) > 8 and file_path.resolve() in referenced: - error += 1 - print_error(f"Filament id too long \"{filament_id}\": {file_path}") - - return error - -def check_obsolete_keys(profiles_dir, vendor_name): - """ - Check for obsolete keys in all filament profiles for a vendor. - - Parameters: - profiles_dir (Path): Base profiles directory - vendor_name (str): Vendor name - obsolete_keys (set): Set of obsolete key names to check - - Returns: - int: Number of obsolete keys found - """ - error_count = 0 - vendor_path = profiles_dir / vendor_name / "filament" - - if not vendor_path.exists(): - return 0 - - for file_path in vendor_path.rglob("*.json"): - try: - with open(file_path, "r", encoding="UTF-8") as fp: - data = json.load(fp) - except Exception as e: - print_warning(f"Error reading profile {file_path.relative_to(profiles_dir)}: {e}") - error_count += 1 - continue - - for key in data.keys(): - if key in OBSOLETE_KEYS: - print_warning(f"Obsolete key: '{key}' found in {file_path.relative_to(profiles_dir)}") - error_count += 1 - - return error_count - - -CONFLICT_KEYS = [ - ['extruder_clearance_radius', 'extruder_clearance_max_radius'], -] - -VECTOR_KEYS = { - "filament_type", -} - -def check_vector_type_keys(profiles_dir, vendor_name): - """ - Check that properties expected to be vectors (JSON arrays) are not stored as scalars. - For example, `filament_type` must be a list like ["PA-CF"], not a string "PA-CF". - - Parameters: - profiles_dir (Path): Base profiles directory - vendor_name (str): Vendor name - - Returns: - int: Number of errors found - """ - error_count = 0 - vendor_path = profiles_dir / vendor_name - - if not vendor_path.exists(): - return 0 - - for file_path in vendor_path.rglob("*.json"): - try: - with open(file_path, "r", encoding="UTF-8") as fp: - data = json.load(fp) - except Exception as e: - print_error(f"Error processing {file_path.relative_to(profiles_dir)}: {e}") - error_count += 1 - continue - - if not isinstance(data, dict): - continue - - for key in VECTOR_KEYS: - if key in data and not isinstance(data[key], list): - print_error( - f"'{key}' must be an array in {file_path.relative_to(profiles_dir)}, " - f"got {type(data[key]).__name__}: {data[key]!r}" - ) - error_count += 1 - - return error_count - -def check_conflict_keys(profiles_dir, vendor_name): - """ - Check for keys that could not be specified at the same time, - due to option renaming & backward compatibility reasons. - - For example, `extruder_clearance_max_radius` and `extruder_clearance_radius` cannot co-exist - otherwise slicer won't know which one to use. - - Parameters: - profiles_dir (Path): Base profiles directory - vendor_name (str): Vendor name - - Returns: - int: Number of errors found - int: Number of warnings found - """ - error_count = 0 - warn_count = 0 - vendor_path = profiles_dir / vendor_name - - if not vendor_path.exists(): - print_warning(f"No machine profiles found for vendor: {vendor_name}") - return 0, 1 - - for file_path in vendor_path.rglob("*.json"): - try: - with open(file_path, 'r', encoding='UTF-8') as fp: - # Use custom hook to detect duplicates. - data = json.load(fp, object_pairs_hook=no_duplicates_object_pairs_hook) - except ValueError as ve: - print_error(f"Duplicate key error in {file_path.relative_to(profiles_dir)}: {ve}") - error_count += 1 - continue - except Exception as e: - print_error(f"Error processing {file_path.relative_to(profiles_dir)}: {e}") - error_count += 1 - continue - - for key_sets in CONFLICT_KEYS: - if sum([1 if k in data else 0 for k in key_sets]) > 1: - print_error(f"Conflict keys {key_sets} co-exist in {file_path.relative_to(profiles_dir)}") - error_count += 1 - - return error_count, warn_count - - -# Bambu (BBL) keeps its authoritative "G*" cloud ids, which are NOT produced by the -# deterministic formula, so BBL is exempt from the formula match (Rule 2) only. It is -# still checked for presence, uniqueness, base-no-id and the typo key like every other -# vendor. Every other vendor (incl. OrcaFilamentLibrary and Custom) must also match the -# formula. -SETTING_ID_FORMULA_EXEMPT_VENDORS = {"BBL"} -PROFILE_SUBDIRS = ("filament", "process", "machine") - - -def check_setting_id_uniqueness(profiles_dir): - """ - Validate setting_id across every vendor (see scripts/orca_id_tool.py): - 1. Every instantiated preset must HAVE a setting_id. (all vendors) - 2. A stored setting_id must equal generate_preset_setting_id(vendor, type, name); a stale - value means the JSON was edited without rerunning - "python scripts/orca_id_tool.py --generate --setting-id". - (all vendors EXCEPT the formula-exempt ones, e.g. BBL) - 3. Base profiles (instantiation != "true") must not carry a setting_id. (all vendors) - 4. setting_id must be globally unique - no two files may share one. (all vendors) - 5. No profile may use the misspelled key "settings_id". (all vendors) - Formula-exempt vendors (BBL) keep their authoritative ids, so only Rule 2 is skipped - for them; they are still held to presence, uniqueness, base-no-id and the typo check. - """ - errors = 0 - owners = {} # setting_id -> list of relative_path (every vendor) - for vendor_dir in sorted(profiles_dir.iterdir()): - if not vendor_dir.is_dir(): - continue - vendor = vendor_dir.name - formula_exempt = vendor in SETTING_ID_FORMULA_EXEMPT_VENDORS - for sub in PROFILE_SUBDIRS: - base = vendor_dir / sub - if not base.is_dir(): - continue - for file_path in base.rglob("*.json"): - try: - data = json.loads(file_path.read_bytes()) - except (ValueError, OSError): - continue - if not isinstance(data, dict): - continue - rel = file_path.relative_to(profiles_dir) - # Rule 5: catch the misspelled "settings_id" key. - if "settings_id" in data: - errors += 1 - print_error( - f'profile {rel} uses the misspelled key "settings_id" ' - f'(should be "setting_id"); run ' - f'"python scripts/orca_id_tool.py --generate --setting-id"' - ) - sid = data.get("setting_id") - instantiated = data.get("instantiation") == "true" - if not instantiated: - # Rule 3: base/template profiles must not carry a setting_id. - if sid: - errors += 1 - print_error( - f'base profile {rel} (instantiation != "true") must not have a ' - f'setting_id ("{sid}"); run ' - f'"python scripts/orca_id_tool.py --generate --setting-id"' - ) - continue - # Rule 1: every instantiated preset must have a setting_id. - if not sid: - errors += 1 - print_error( - f"instantiated preset {rel} is missing a setting_id; " - f'run "python scripts/orca_id_tool.py --generate --setting-id"' - ) - continue - # Rule 2: the stored id must match the deterministic rule. BBL keeps its - # authoritative G* ids and is exempt from this check only. - if not formula_exempt: - expected = generate_preset_setting_id(vendor, sub, data.get("name", "")) - if sid != expected: - errors += 1 - print_error( - f'setting_id "{sid}" in {rel} does not match the expected ' - f'"{expected}" for {vendor}/{sub}/{data.get("name", "")}; ' - f'run "python scripts/orca_id_tool.py --generate --setting-id"' - ) - continue - # Rule 4: collect for the global-uniqueness check below. - owners.setdefault(sid, []).append(rel) - - # Rule 4: a setting_id shared by two files is an error. For managed vendors this means - # a duplicate vendor/type/name; for formula-exempt vendors (BBL) a copy-pasted id. - for sid, locs in sorted(owners.items()): - if len(locs) < 2: - continue - errors += 1 - print_error( - f'setting_id "{sid}" is shared by {len(locs)} files ({sorted(map(str, locs))}); ' - f"setting_id must be globally unique" - ) - return errors - - -def main(): - parser = argparse.ArgumentParser( - description="Check 3D printer profiles for common issues", - formatter_class=argparse.ArgumentDefaultsHelpFormatter - ) - parser.add_argument("--vendor", type=str, help="Specify a single vendor to check") - parser.add_argument("--check-filaments", action="store_true", help="Check 'compatible_printers' in filament profiles") - parser.add_argument("--check-materials", action="store_true", help="Check default materials in machine profiles") - parser.add_argument("--check-obsolete-keys", action="store_true", help="Warn if obsolete keys are found in filament profiles") - args = parser.parse_args() - - print_info("Checking profiles ...") - - script_dir = Path(__file__).resolve().parent - profiles_dir = script_dir.parent / "resources" / "profiles" - checked_vendor_count = 0 - errors_found = 0 - warnings_found = 0 - - def run_checks(vendor_name): - nonlocal errors_found, warnings_found, checked_vendor_count - vendor_path = profiles_dir / vendor_name - - if args.check_filaments or not (args.check_materials and not args.check_filaments): - errors_found += check_filament_compatible_printers(vendor_name, vendor_path / "filament") - - if args.check_materials: - new_errors, new_warnings = check_machine_default_materials(profiles_dir, vendor_name) - errors_found += new_errors - warnings_found += new_warnings - - if args.check_obsolete_keys: - warnings_found += check_obsolete_keys(profiles_dir, vendor_name) - - new_errors, new_warnings = check_name_consistency(profiles_dir, vendor_name) - errors_found += new_errors - warnings_found += new_warnings - - new_errors, new_warnings = check_conflict_keys(profiles_dir, vendor_name) - errors_found += new_errors - warnings_found += new_warnings - - errors_found += check_vector_type_keys(profiles_dir, vendor_name) - - errors_found += check_filament_id(profiles_dir, vendor_name) - checked_vendor_count += 1 - - if args.vendor: - run_checks(args.vendor) - else: - for vendor_dir in profiles_dir.iterdir(): - if not vendor_dir.is_dir() or vendor_dir.name == "OrcaFilamentLibrary": - continue - run_checks(vendor_dir.name) - - # Global (cross-vendor) check: setting_id must be unique and stay in-namespace. - # Runs once over the whole tree regardless of the --vendor filter. - errors_found += check_setting_id_uniqueness(profiles_dir) - - # Global filament_id check (see scripts/orca_id_tool.py): effective ids - # are resolved loader-faithfully and validated against the sanctioned snapshot - # (scripts/filament_id_snapshot.json). Runs once over the whole tree. - errors_found += check_filament_ids(profiles_dir) - - # ✨ Output finale in stile "compilatore" - print("\n==================== SUMMARY ====================") - print_info(f"Checked vendors : {checked_vendor_count}") - if errors_found > 0: - print_error(f"Files with errors : {errors_found}") - else: - print_success("Files with errors : 0") - if warnings_found > 0: - print_warning(f"Files with warnings : {warnings_found}") - else: - print_success("Files with warnings : 0") - print("=================================================") - if errors_found > 0 or warnings_found > 0 : - print_warning('Issue(s) found, try `orca_filament_lib.py --fix` to fix common issues automatically') - - exit(-1 if errors_found > 0 else 0) - - -if __name__ == "__main__": - main() diff --git a/scripts/orca_filament_lib.py b/scripts/orca_filament_lib.py deleted file mode 100644 index 65f037e3f3..0000000000 --- a/scripts/orca_filament_lib.py +++ /dev/null @@ -1,310 +0,0 @@ -import os -import json -import argparse -from collections import defaultdict - -def create_ordered_profile(profile_dict, priority_fields=['name', 'type']): - """Create a new dictionary with priority fields first""" - ordered_profile = {} - - # Add priority fields first - for field in priority_fields: - if field in profile_dict: - ordered_profile[field] = profile_dict[field] - - # Add remaining fields - for key, value in profile_dict.items(): - if key not in priority_fields: - ordered_profile[key] = value - - return ordered_profile - -def topological_sort(filaments): - # Build a graph of dependencies - graph = defaultdict(list) - in_degree = defaultdict(int) - name_to_filament = {f['name']: f for f in filaments} - all_names = set(name_to_filament.keys()) - - # Create the dependency graph - processed_files = set() - for filament in filaments: - if 'inherits' in filament: - parent = filament['inherits'] - child = filament['name'] - # Only create dependency if parent exists - if parent in all_names: - graph[parent].append(child) - in_degree[child] += 1 - if parent not in in_degree: - in_degree[parent] = 0 - processed_files.add(child) - processed_files.add(parent) - - # Initialize queue with nodes having no dependencies (now sorted) - queue = sorted([name for name, degree in in_degree.items() if degree == 0]) - result = [] - - # Process the queue - while queue: - current = queue.pop(0) - result.append(name_to_filament[current]) - processed_files.add(current) - - # Process children (now sorted) - children = sorted(graph[current]) - for child in children: - in_degree[child] -= 1 - if in_degree[child] == 0: - queue.append(child) - - # Add remaining files that weren't part of inheritance tree (now sorted) - remaining = sorted(all_names - processed_files) - for name in remaining: - result.append(name_to_filament[name]) - - return result - -def update_profile_library(vendor="",profile_type="filament"): - # change current working directory to the relative path(..\resources\profiles) compare to script location - os.chdir(os.path.join(os.path.dirname(__file__), '..', 'resources', 'profiles')) - - # Collect current profile entries - if vendor: - vendors = [vendor] - else: - profiles_dir = os.path.join(os.path.dirname(__file__), '..', 'resources', 'profiles') - vendors = [f[:-5] for f in os.listdir(profiles_dir) if f.lower().endswith('.json')] - for vendor in vendors: - current_profiles = [] - base_dir = vendor - # Orca expects machine_model to be in the machine folder - if profile_type == 'machine_model': - profile_dir = os.path.join(base_dir, 'machine') - else: - profile_dir = os.path.join(base_dir, profile_type) - - for root, dirs, files in os.walk(profile_dir): - for file in files: - if file.lower().endswith('.json'): - full_path = os.path.join(root, file) - - # Get relative path from base directory - sub_path = os.path.relpath(full_path, base_dir).replace('\\', '/') - - try: - with open(full_path, 'r', encoding='utf-8') as f: - _profile = json.load(f) - if _profile.get('type') != profile_type: - continue - name = _profile.get('name') - inherits = _profile.get('inherits') - - if name: - entry = { - "name": name, - "sub_path": sub_path - } - if inherits: - entry['inherits'] = inherits - current_profiles.append(entry) - else: - print(f"Warning: Missing 'name' in {full_path}") - except Exception as e: - print(f"Error reading {full_path}: {str(e)}") - continue - - # Sort profiles based on inheritance - sorted_profiles = topological_sort(current_profiles) - - # Remove the inherits field as it's not needed in the final JSON - for p in sorted_profiles: - p.pop('inherits', None) - - # Update library file - lib_path = f'{vendor}.json' - - profile_section = profile_type+'_list' - - try: - with open(lib_path, 'r+', encoding='utf-8') as f: - library = json.load(f) - library[profile_section] = sorted_profiles - f.seek(0) - json.dump(library, f, indent="\t", ensure_ascii=False) - f.write('\n') - f.truncate() - - print(f"Profile library for {vendor} updated successfully!") - except Exception as e: - print(f"Error updating library file: {str(e)}") - -def clean_up_profile(vendor="", profile_type="", force=False): -# change current working directory to the relative path(..\resources\profiles) compare to script location - os.chdir(os.path.join(os.path.dirname(__file__), '..', 'resources', 'profiles')) - - # Collect current profile entries - if vendor: - vendors = [vendor] - else: - profiles_dir = os.path.join(os.path.dirname(__file__), '..', 'resources', 'profiles') - vendors = [f[:-5] for f in os.listdir(profiles_dir) if f.lower().endswith('.json')] - for vendor in vendors: - current_profiles = [] - base_dir = vendor - # Orca expects machine_model to be in the machine folder - if profile_type == 'machine_model': - profile_dir = os.path.join(base_dir, 'machine') - else: - profile_dir = os.path.join(base_dir, profile_type) - - for root, dirs, files in os.walk(profile_dir): - for file in files: - if file.lower().endswith('.json'): - if file == 'filaments_color_codes.json': # Ignore non-profile file - continue - - full_path = os.path.join(root, file) - - # Get relative path from base directory - sub_path = os.path.relpath(full_path, base_dir).replace('\\', '/') - - try: - with open(full_path, 'r+', encoding='utf-8') as f: - _profile = json.load(f) - need_update = False - if not _profile.get('type') or _profile.get('type') == "": - need_update = True - name = _profile.get('name') - inherits = _profile.get('inherits') - if profile_type == "machine_model" or profile_type == "machine": - if "nozzle" in name or "Nozzle" in name: - _profile['type'] = "machine" - else: - _profile['type'] = "machine_model" - else: - _profile['type'] = profile_type - print(f"Added type: {_profile['type']} to {file}") - - fields_to_remove = ['version', 'is_custom_defined'] - for field in fields_to_remove: - if _profile.get(field): - # remove version field - del _profile[field] - print(f"Removed {field} field from {file}") - need_update = True - - # Handle `extruder_clearance_radius`. - if 'extruder_clearance_radius' in _profile and 'extruder_clearance_max_radius' in _profile: - # BBS renamed `extruder_clearance_radius` to `extruder_clearance_max_radius` - # however some of their profiles have both options exists with different value, which - # could cause very bad consequence such as toolhead collision. - # Here we make sure only one of these options exist, and if both present, we keep - # the one with greater value. - need_update = True - if float(_profile['extruder_clearance_max_radius']) > float(_profile['extruder_clearance_radius']): - del _profile['extruder_clearance_radius'] - else: - del _profile['extruder_clearance_max_radius'] - - # Convert filament fields to arrays if not already - if profile_type == 'filament': - fields_to_arrayify = ['filament_cost', 'filament_density', 'filament_type', "temperature_vitrification", "filament_max_volumetric_speed", "filament_vendor"] - for field in fields_to_arrayify: - if field in _profile and not isinstance(_profile[field], list): - original_value = _profile[field] - _profile[field] = [original_value] - print(f"Converted {field} to array in {file}") - need_update = True - - # remove following fields from filament profile - fields_to_remove = ['initial_layer_print_speed', 'outer_wall_speed', 'inner_wall_speed', 'infill_speed', 'top_surface_speed', 'travel_speed'] - for field in fields_to_remove: - if field in _profile: - del _profile[field] - print(f"Removed {field} field from {file}") - need_update = True - - - if need_update or force: - # write back to file - f.seek(0) - ordered_profile = create_ordered_profile(_profile, ['type', 'name', 'renamed_from', 'inherits', 'from', 'setting_id', 'filament_id', 'instantiation']) - json.dump(ordered_profile, f, indent="\t", ensure_ascii=False) - f.write('\n') - f.truncate() - print(f"Updated profile: {full_path}") - except Exception as e: - print(f"Error reading {full_path}: {str(e)}") - continue - -# For each JSON file, it will: -# - Replace "BBL X1C" with "System" in the name field -# - Empty the compatible_printers array -# - Ensure setting_id starts with 'O' -def rename_filament_system(vendor="OrcaFilamentLibrary"): - # change current working directory to the relative path - os.chdir(os.path.join(os.path.dirname(__file__), '..', 'resources', 'profiles')) - - base_dir = vendor - filament_dir = os.path.join(base_dir, 'filament') - - for root, dirs, files in os.walk(filament_dir): - for file in files: - if file.lower().endswith('.json'): - full_path = os.path.join(root, file) - try: - with open(full_path, 'r', encoding='utf-8') as f: - data = json.load(f) - modified = False - - # Update name if it contains "BBL X1C" - if 'name' in data and "BBL X1C" in data['name']: - data['name'] = data['name'].replace("BBL X1C", "System") - modified = True - - # Empty compatible_printers if exists - if 'compatible_printers' in data: - data['compatible_printers'] = [] - modified = True - - # Update setting_id if needed - if 'setting_id' in data and not data['setting_id'].startswith('O'): - data['setting_id'] = 'O' + data['setting_id'] - modified = True - - if modified: - with open(full_path, 'w', encoding='utf-8') as f: - json.dump(data, f, indent="\t", ensure_ascii=False) - f.write('\n') - print(f"Updated {full_path}") - - except Exception as e: - print(f"Error processing {full_path}: {str(e)}") - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Update filament library for specified vendor') - parser.add_argument('-v', '--vendor', type=str, default="", - help='Vendor name (default: "" which means all vendors)') - parser.add_argument('-u', '--update', action='store_true', help='update vendor.json') - parser.add_argument('-p', '--profile_type', type=str, choices=['machine_model', 'process', 'filament', 'machine'], help='profile type (default: "" which means all types)') - parser.add_argument('-f', '--fix', action='store_true', help='Fix errors like missing type field, and clean up the profile') - parser.add_argument('--force', action='store_true', help='Force update the profile files, for --fix option') - args = parser.parse_args() - - if args.fix: - if(args.profile_type): - clean_up_profile(args.vendor, args.profile_type, args.force) - else: - clean_up_profile(args.vendor, 'machine_model', args.force) - clean_up_profile(args.vendor, 'process', args.force) - clean_up_profile(args.vendor, 'filament', args.force) - clean_up_profile(args.vendor, 'machine', args.force) - - if args.update: - update_profile_library(args.vendor, 'machine_model') - update_profile_library(args.vendor, 'process') - update_profile_library(args.vendor, 'filament') - update_profile_library(args.vendor, 'machine') - # else: - # rename_filament_system(args.vendor) \ No newline at end of file diff --git a/scripts/orca_id_tool.py b/scripts/orca_id_tool.py deleted file mode 100755 index 956aec3569..0000000000 --- a/scripts/orca_id_tool.py +++ /dev/null @@ -1,1429 +0,0 @@ -#!/usr/bin/env python3 -""" -Assign and validate the deterministic ids of OrcaSlicer system profiles: the -per-product filament_id and the per-preset setting_id. - -Both ids are pure functions of the thing they name, so nothing here is ever -invented: the tool only writes the id the rules below already imply, and a tree -that already satisfies them is left untouched. - -filament_id policy (see docs/HLSD/filament_id.md): - * filament_id is a PRODUCT id: one named spool product = one id, shared by all - of that product's per-printer/per-nozzle variants in every bundle. The - granularity is the name on the spool, not the brand: "AAA PLA Lite" and - "AAA PLA Pro" are two products with two ids, not variants of one. The - id is a pure function of the product triple (below), so WHERE a preset gets - it from is irrelevant: it may declare the key itself or inherit it from any - ancestor — a root preset, a real (instantiated) filament, an - OrcaFilamentLibrary (OFL) preset — as long as the id it ends up with is the - mint of its OWN triple. Inheritance carries settings, never identity; the - key is bundle-independent, so moving a filament into OFL never changes it. - * Ids are content-addressed by the product triple, resolved from the preset's - flattened config (filament_vendor and filament_type are inheritable list - options — first element; filament name = preset base name): - filament_id = "OF" + base62_6( uuid5(FILAMENT_ID_NAMESPACE, - "filament_product///") ) - 8 chars total, which satisfies the AMS length limit. Nobody invents ids by - hand, and nothing but the triple feeds the mint — not the rest of the tree, - not the snapshot. Two products whose triples mint one id (a base62 - collision; odds ~1e-5 over the whole tree) is an error --check reports and - --generate refuses to write; the remedy is a rename so the triples differ, - never a salted or hand-picked second id. - Identity changes (a filament rename, a filament_vendor/filament_type fix) - change the id BY DESIGN. - * Reserved id spaces that are never minted into or altered: - - GF* Bambu AMS/RFID catalog: frozen, no preset of any - vendor (including BBL) may declare one; the - generated resources/printers/bambu_filament_ids.json - carries the correspondence instead - - QD_* Qidi device protocol: the box composes these ids - at runtime, they are not preset ids, and no - preset may declare one - - P + 7 hex chars (case-insensitive) and the literal "null" - user-custom presets (CreatePresetsDialog.cpp) - * scripts/filament_id_snapshot.json is the sanctioned-state snapshot: one - entry per id, carrying the product triple it is minted from and the - "Vendor/Filament" presets claiming it. It must exactly equal the tree-derived - state at all times, so any id/claim/triple change shows up as a reviewable - diff to that file (the maintainer gate). It sanctions state, never - exceptions: no check consults it to excuse a preset from the rules above. - -setting_id policy (see AGENTS.md "Critical Constraints"): - * setting_id is a PRESET id, a pure function of the preset's identity: - setting_id = base62_16( uuid5(NAMESPACE, "//") ) - The same value is recomputed on the fly by the C++ app - (Slic3r::generate_preset_setting_id); the two MUST stay byte-identical, and - the validator (orca_extra_profile_check.py) imports the rule from here. - Uniqueness is therefore automatic: two presets collide only if they share - vendor + type + name, which the validator flags. - * Only instantiated presets (instantiation == "true") carry a setting_id; - base / template profiles do not. - * Bambu (BBL) owns the authoritative "G*" setting_id space and is the only - reserved vendor: its setting_ids are never rewritten, which keeps - Bambu-synced presets backward compatible. filament_id has no such exemption - — the GF* catalog space is frozen and ownerless, so BBL's filament_ids are - minted like every other vendor's. - -The effective-id resolution below is loader-faithful (PresetBundle.cpp -load_vendor_configs_from_json): own filament_id key, else walk `inherits` within -the vendor map, with OrcaFilamentLibrary base-bundle fallback; once a chain enters -OFL it stays in OFL; a vendor chain that dead-ends id-less retries its direct -parent in the OFL map. filament_vendor / filament_type resolve the same way. - -Run from anywhere: - python scripts/orca_id_tool.py --generate write the ids every profile should carry - python scripts/orca_id_tool.py --dry-run preview that; writes nothing - python scripts/orca_id_tool.py --check validate filament_id state (what CI runs) - python scripts/orca_id_tool.py --update-snapshot re-record the sanctioned filament_id state -Narrow --generate with --filament-id / --setting-id and --vendor VENDOR (repeatable). -""" - -import argparse -import json -import os -import re -import sys -import uuid - -# The id namespace baked into both Python and C++ (Slic3r::generate_preset_setting_id). -# Dedicated, distinct from the cloud namespace (f47ac10b-...) so the two id spaces never -# coincide; it is the root of BOTH id rules below — never change it. -NAMESPACE = uuid.UUID("c1f4d9e2-7a3b-5c8d-9e0f-1a2b3c4d5e6f") -ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" -SETTING_ID_LENGTH = 16 - -# Dedicated namespace for filament_id, derived from the setting_id namespace above. -# Never change it. -# FILAMENT_ID_NAMESPACE == UUID("c4d3ff49-4c32-5534-a3e3-00894157ab97") -FILAMENT_ID_NAMESPACE = uuid.uuid5(NAMESPACE, "filament_id") -FILAMENT_ID_LENGTH = 6 # base62 digits after the "OF" prefix -> 8 chars total - -SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) -PROFILES_DIR = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "resources", "profiles")) -SNAPSHOT_PATH = os.path.join(SCRIPTS_DIR, "filament_id_snapshot.json") -# The single source of truth for the map path; update_bambu_filament_ids.py -# imports this rather than recomputing it. -BAMBU_MAP_PATH = os.path.normpath( - os.path.join(SCRIPTS_DIR, "..", "resources", "printers", "bambu_filament_ids.json")) - -OFL = "OrcaFilamentLibrary" - -# Bambu (BBL) is the only vendor exempt from the setting_id rule: it keeps its -# authoritative "G*" cloud ids. No vendor is exempt from the filament_id rule. -RESERVED_VENDORS = {"BBL"} - -# The profile types that carry a setting_id; the subdir name is also the type -# name, matching Preset::get_type_string() on the C++ side. -PROFILE_SUBDIRS = ("filament", "process", "machine") - -OF_ID_RE = re.compile(r"^OF[0-9A-Za-z]{6}$") -# User-custom id space minted by CreatePresetsDialog.cpp ("P" + md5(name)[0:7]); -# reserved case-insensitively, together with its "null" sentinel. -USER_CUSTOM_ID_RE = re.compile(r"^P[0-9A-Fa-f]{7}$", re.IGNORECASE) -# Filament name = preset base name: strip the first "@..." suffix. The space before -# "@" is optional because names like "Afinia PLA@HS" exist. -BASE_NAME_RE = re.compile(r"\s?@.*$") -# A JSON string literal, for the byte-preserving key edits. -_JSON_STR = r'"(?:[^"\\]|\\.)*"' - -GENERATE_CMD = "python scripts/orca_id_tool.py --generate" -UPDATE_HINT = 'run "python scripts/orca_id_tool.py --update-snapshot" and commit the diff for maintainer review' -BAMBU_MAP_HINT = 'regenerate the map with "python scripts/update_bambu_filament_ids.py" and commit the diff for maintainer review' - - -# Same output helpers/format as orca_extra_profile_check.py (not imported from -# there to avoid a circular import: that script imports check_filament_ids). -def print_error(msg): - print(f"\033[91m[ERROR]\033[0m {msg}") # Red - -def print_warning(msg): - print(f"\033[93m[WARNING]\033[0m {msg}") # Yellow - -def print_info(msg): - print(f"\033[94m[INFO]\033[0m {msg}") # Blue - -def print_success(msg): - print(f"\033[92m[SUCCESS]\033[0m {msg}") # Green - - -def _utf8_console(): - """Make stdout/stderr survive non-ASCII profile names on cp1252 consoles.""" - for stream in (sys.stdout, sys.stderr): - if hasattr(stream, "reconfigure"): - try: - stream.reconfigure(encoding="utf-8", errors="replace") - except (ValueError, OSError): - pass - - -# --------------------------------------------------------------------------- -# Minting -# --------------------------------------------------------------------------- - -def _base62_tail(n, length): - """The low `length` base62 digits of n, most-significant first. - - The shared tail of both id rules. Its output bytes are pinned by the C++ - golden vectors (tests/libslic3r/test_preset_setting_id.cpp) and by the - filament_id snapshot — never change it. - """ - digits = [] - for _ in range(length): - digits.append(ALPHABET[n % 62]) - n //= 62 - return "".join(reversed(digits)) - - -def generate_preset_setting_id(vendor, type_name, name): - """Deterministic 16-char base62 setting_id for a preset. - - input = f"{vendor}/{type_name}/{name}"; u = uuid5(NAMESPACE, input); - id = the low SETTING_ID_LENGTH base62 digits of int(u.bytes, "big"), - most-significant first. Kept byte-identical to the C++ - Slic3r::generate_preset_setting_id. - """ - u = uuid.uuid5(NAMESPACE, f"{vendor}/{type_name}/{name}") - return _base62_tail(int.from_bytes(u.bytes, "big"), SETTING_ID_LENGTH) - - -def base_name(name): - """Filament name of a preset: name with the first "@..." suffix stripped.""" - return BASE_NAME_RE.sub("", name, count=1) - - -def generate_filament_id(filament_vendor, filament_type, filament_name): - """Deterministic "OF" + 6-char base62 filament_id for a filament product. - - The triple is the only input: no salt, no state, no second value. - input = "filament_product///"; - u = uuid5(FILAMENT_ID_NAMESPACE, input); the id tail is the low - FILAMENT_ID_LENGTH base62 digits of int(u.bytes, "big"), most-significant - first — the same derivation as generate_preset_setting_id. - """ - key = f"filament_product/{filament_vendor}/{filament_type}/{filament_name}" - u = uuid.uuid5(FILAMENT_ID_NAMESPACE, key) - return "OF" + _base62_tail(int.from_bytes(u.bytes, "big"), FILAMENT_ID_LENGTH) - - -# --------------------------------------------------------------------------- -# Tree loading + loader-faithful effective-id resolution -# --------------------------------------------------------------------------- - -def load_json(path): - with open(path, "r", encoding="utf-8-sig") as f: - return json.load(f) - - -def list_vendor_names(profiles_dir): - """Vendor bundles = subdirectories with a matching .json index file. - - (Ignores stray non-bundle entries such as the tracked "user" directory, - which has no user.json index.) - """ - profiles_dir = str(profiles_dir) - return sorted( - os.path.splitext(f)[0] for f in os.listdir(profiles_dir) - if f.endswith(".json") - and os.path.isdir(os.path.join(profiles_dir, os.path.splitext(f)[0])) - ) - - -def list_profile_dirs(profiles_dir): - """Every vendor directory under the tree, index or not. - - What the setting_id pass walks, and what orca_extra_profile_check.py walks: - setting_id is a per-file property, so a bundle whose index has not landed yet - must still be assignable — otherwise the validator flags files the tool - refuses to touch. (filament_id is driven by each bundle's filament_list - instead, hence list_vendor_names above.) - """ - profiles_dir = str(profiles_dir) - return sorted(d for d in os.listdir(profiles_dir) - if os.path.isdir(os.path.join(profiles_dir, d))) - - -def iter_profile_files(vendor_dir): - """Yield (json path, type) under a vendor bundle, in a deterministic order.""" - for sub in PROFILE_SUBDIRS: - base = os.path.join(vendor_dir, sub) - if not os.path.isdir(base): - continue - for root, dirs, files in os.walk(base): - dirs.sort() # deterministic traversal across filesystems - for name in sorted(files): - if name.endswith(".json"): - yield os.path.join(root, name), sub - - -def load_vendor_filaments(profiles_dir, vendor): - """Load a vendor's filament presets from its index's filament_list. - - Returns (presets dict name -> record, list of unreadable-file messages). - """ - profiles_dir = str(profiles_dir) - presets = {} - errors = [] - try: - idx = load_json(os.path.join(profiles_dir, vendor + ".json")) - except (OSError, ValueError) as e: - return presets, [f"unreadable vendor index {vendor}.json: {e}"] - for entry in idx.get("filament_list", []): - rel = f"{vendor}/{entry.get('sub_path', '')}" - path = os.path.join(profiles_dir, vendor, entry.get("sub_path", "")) - try: - data = load_json(path) - except (OSError, ValueError) as e: - errors.append(f"unreadable filament profile {rel}: {e}") - continue - name = data.get("name", entry.get("name")) - presets[name] = { - "name": name, - "file": rel, - "path": path, - "filament_id": data.get("filament_id"), - "inherits": data.get("inherits"), - "instantiation": str(data.get("instantiation", "")).lower() == "true", - "compatible_printers": data.get("compatible_printers") or [], - "filament_vendor": data.get("filament_vendor"), - "filament_type": data.get("filament_type"), - "renamed_from": data.get("renamed_from"), - } - return presets, errors - - -def resolve_filament_id(name, filaments, ofl_filaments, seen=None, in_ofl=False): - """Walk the inherits chain for the effective filament_id, loader-faithfully. - - Mirrors PresetBundle.cpp load_vendor_configs_from_json: a hop resolves in the - vendor's own map first, then falls back to the OFL base-bundle map. OFL's map - was memoized entirely within OFL, so once a chain enters OFL it stays in OFL - (a vendor file sharing an OFL preset's name must not shadow OFL-internal - hops). Additionally, a vendor preset that never resolves an id inside the - vendor is re-tried against the OFL map keyed by its direct parent name. - - Returns (filament_id or None, source, ofl_entry) where source is one of - "own"/"inherited"/"missing"/"dangling"/"cycle" and ofl_entry is the name of - the OFL preset through which a vendor chain entered OFL (None when the id was - declared vendor-side or resolution started inside OFL). - """ - if seen is None: - seen = set() - if name in seen: - return None, "cycle", None - seen.add(name) - entry = None - if in_ofl: - rec = ofl_filaments.get(name) - else: - rec = filaments.get(name) - if rec is None and name in ofl_filaments: - rec, in_ofl, entry = ofl_filaments[name], True, name - if rec is None: - return None, "dangling", None - if rec.get("filament_id"): - return rec["filament_id"], "own" if len(seen) == 1 else "inherited", entry - parent = rec.get("inherits") - if parent: - fid, src, sub_entry = resolve_filament_id(parent, filaments, ofl_filaments, seen, in_ofl) - if fid or in_ofl: - return fid, src, entry if entry is not None else sub_entry - # Vendor chain dead-ended id-less: the loader would have consulted the - # OFL map at each vendor hop's inherits; retry this hop's parent in OFL. - if parent in ofl_filaments: - fid, src, _ = resolve_filament_id(parent, filaments, ofl_filaments, set(), True) - return fid, src, parent - return fid, src, sub_entry - return None, "missing", entry - - -def resolve_filament_field(name, field, filaments, ofl_filaments, seen=None, in_ofl=False): - """Resolve an inheritable list option (filament_vendor / filament_type) with - the same hop semantics as resolve_filament_id: own value, else walk - `inherits` in the vendor map with OFL base-bundle fallback. Values are list - options — the first element counts; "" when the chain never defines one. - """ - if seen is None: - seen = set() - if name in seen: - return "" - seen.add(name) - if in_ofl: - rec = ofl_filaments.get(name) - else: - rec = filaments.get(name) - if rec is None and name in ofl_filaments: - rec, in_ofl = ofl_filaments[name], True - if rec is None: - return "" - value = rec.get(field) - if isinstance(value, str): - value = [value] - if value and value[0]: - return value[0] - parent = rec.get("inherits") - if parent: - found = resolve_filament_field(parent, field, filaments, ofl_filaments, seen, in_ofl) - if found or in_ofl: - return found - if parent in ofl_filaments: - return resolve_filament_field(parent, field, filaments, ofl_filaments, set(), True) - return found - return "" - - -def resolve_triple(name, filaments, ofl_filaments): - """The preset's mint-key triple (filament_vendor, filament_type, filament name).""" - return (resolve_filament_field(name, "filament_vendor", filaments, ofl_filaments), - resolve_filament_field(name, "filament_type", filaments, ofl_filaments), - base_name(name)) - - -def analyze_tree(profiles_dir): - """Load every vendor bundle and derive the full filament_id state. - - Returns a dict with the tree-derived snapshot sections plus the working data - the checks and the assign pass need. All claims are "Vendor/Filament" strings - over INSTANTIATED system filaments, tree-wide including OFL and BBL. - """ - profiles_dir = str(profiles_dir) - vendor_names = list_vendor_names(profiles_dir) - ofl_filaments, ofl_errors = ( - load_vendor_filaments(profiles_dir, OFL) if OFL in vendor_names else ({}, []) - ) - - vendors = {} - read_errors = list(ofl_errors) - for vendor in vendor_names: - if vendor == OFL: - filaments = ofl_filaments - else: - filaments, errs = load_vendor_filaments(profiles_dir, vendor) - read_errors.extend(errs) - for rec in filaments.values(): - eff, src, _entry = resolve_filament_id(rec["name"], filaments, ofl_filaments) - rec["eff_filament_id"] = eff - rec["id_source"] = src - vendors[vendor] = filaments - - # id -> set of "Vendor/Filament" claims over instantiated presets. Every id - # occurring in the tree is a key; ids only ever DECLARED (e.g. on a root - # none of whose descendants instantiate) keep an empty claim list, so that - # the snapshot exactly equals the tree-derived state. - ids = {} - vendor_ids = {} # vendor -> set of ids occurring there (declared or effective) - declared_ids = {} # vendor -> set of ids DECLARED in that vendor's own files - missing_effective = [] # (vendor, name, file) instantiated presets resolving no id - inherited = [] # (vendor, rec, eff, triple) instantiated presets inheriting an OF id - triples = {} # fid -> set of triples of its declarers - declarer_triples = [] # (vendor, rec, fid, triple) per declarer - filament_triples = {} # (vendor, filament_name) -> {triple: [declarers]} - mints = {} # minted id -> triples minting it (declarers + instantiated) - - for vendor, filaments in vendors.items(): - occurring = vendor_ids.setdefault(vendor, set()) - for rec in filaments.values(): - triple = resolve_triple(rec["name"], filaments, ofl_filaments) - rec["triple"] = triple - if rec.get("filament_id") or rec["instantiation"]: - mints.setdefault(generate_filament_id(*triple), set()).add(triple) - if rec.get("filament_id"): - fid = rec["filament_id"] - occurring.add(fid) - declared_ids.setdefault(vendor, set()).add(fid) - ids.setdefault(fid, set()) - declarer_triples.append((vendor, rec, fid, triple)) - triples.setdefault(fid, set()).add(triple) - filament_triples.setdefault( - (vendor, base_name(rec["name"])), {}).setdefault( - triple, []).append(rec["name"]) - if not rec["instantiation"]: - continue - eff = rec.get("eff_filament_id") - if not eff: - missing_effective.append((vendor, rec["name"], rec["file"])) - continue - occurring.add(eff) - ids.setdefault(eff, set()).add(f"{vendor}/{base_name(rec['name'])}") - if not rec.get("filament_id") and OF_ID_RE.match(eff): - inherited.append((vendor, rec, eff, triple)) - - # Cross-bundle triple divergence (check 5, warning only): the same filament - # name declared in several bundles with different triples cannot converge - # on one id until the divergence is fixed. - name_bundles = {} - for (vendor, filament_name), tmap in filament_triples.items(): - name_bundles.setdefault(filament_name, {})[vendor] = frozenset(tmap) - cross_bundle_triples = [ - (filament_name, {v: sorted(ts) for v, ts in per_vendor.items()}) - for filament_name, per_vendor in sorted(name_bundles.items()) - if len(per_vendor) > 1 and len(set(per_vendor.values())) > 1 - ] - - return { - "vendors": vendors, - "read_errors": read_errors, - "ids": {fid: sorted(claims) for fid, claims in ids.items()}, - "vendor_ids": vendor_ids, - "declared_ids": declared_ids, - "missing_effective": sorted(missing_effective), - "inherited": inherited, - "triples": {fid: sorted(list(t) for t in ts) for fid, ts in triples.items()}, - "declarer_triples": declarer_triples, - "filament_triples": filament_triples, - "cross_bundle_triples": cross_bundle_triples, - # id -> the products (triples) minting it, where there is more than one - "collisions": {fid: sorted(ts) for fid, ts in mints.items() if len(ts) > 1}, - } - - -# --------------------------------------------------------------------------- -# Snapshot IO -# --------------------------------------------------------------------------- - -def snapshot_from_analysis(analysis): - """One entry per id, in id order: the product triple it is minted from and - the "Vendor/Filament" claims on it. Requires exactly one declared triple per - id (update_snapshot refuses any other state; check 3 rejects it anyway).""" - ids = {} - for fid, claims in sorted(analysis["ids"].items()): - [(vendor, ftype, filament_name)] = analysis["triples"][fid] - ids[fid] = {"filaments": sorted(claims), "name": filament_name, - "filament_type": ftype, "filament_vendor": vendor} - return {"ids": ids} - - -def snapshot_triple(entry): - return [entry["filament_vendor"], entry["filament_type"], entry["name"]] - - -def load_snapshot(path): - """Return the snapshot dict, or None when the file does not exist.""" - if not os.path.exists(path): - return None - data = load_json(path) - data.setdefault("ids", {}) - return data - - -def write_snapshot(path, obj): - """Deterministic serialization: snapshot_from_analysis order, indent 1, LF, - trailing newline.""" - with open(path, "w", encoding="utf-8", newline="\n") as f: - json.dump(obj, f, indent=1, ensure_ascii=False) - f.write("\n") - - -# --------------------------------------------------------------------------- -# Reserved namespaces -# --------------------------------------------------------------------------- - -def reserved_space_owner(fid): - """(is_reserved, owner_vendor or None) for the frozen id spaces.""" - if fid.startswith("GF"): - return True, None # Bambu AMS/RFID catalog: frozen, no vendor (not even BBL) may declare it - if fid.startswith("QD_"): - return True, None # dissolved Qidi device-protocol space: NO vendor may declare it - if USER_CUSTOM_ID_RE.match(fid) or fid == "null": - return True, None # user-custom space: no system vendor may own it - return False, None - - -def reserved_space_desc(fid, owner): - """Human description of a reserved space for error messages.""" - if owner: - return f"owned by {owner}" - if fid.startswith("GF"): - return "Bambu AMS/RFID catalog; frozen, no preset may declare it" - if fid.startswith("QD_"): - return "Qidi device protocol; composed by the device, never a preset id" - return "reserved for user-custom presets" - - -# --------------------------------------------------------------------------- -# Checks (imported and called tree-wide by orca_extra_profile_check.py) -# --------------------------------------------------------------------------- - -def check_filament_ids(profiles_dir=PROFILES_DIR, snapshot_path=SNAPSHOT_PATH, - map_path=BAMBU_MAP_PATH): - """Validate filament_id state across every vendor. Returns the error count. - - 1. Format: every id occurring in the tree (declared or effective) must - match ^OF[0-9A-Za-z]{6}$. No exceptions: not the snapshot, not BBL. - 2. Snapshot equality, both directions: every id in the tree, the filaments - claiming it and the triple its declarers resolve must equal the snapshot - entry exactly (the snapshot diff is the maintainer gate). - 3. Identity: the id is a function of the triple alone, and there is no - second acceptable value. (a) A declared id must equal the one id the - declarer's own triple mints; (b) the id an instantiated preset inherits - must equal the one ITS own triple mints — how it inherits it (a root, a - real filament, an OFL preset) is irrelevant; (c) every instantiated - filament resolves an effective id at all (an id-less one is a hard load - error in C++); (d) no two products mint one id (a base62 collision, - resolved by renaming one of them). - 4. Reserved namespaces (GF*/QD_*/P-hex/"null", all ownerless) must not be - claimed by any vendor. - 5. Triple integrity: (a) every declarer resolves non-empty filament_vendor - and filament_type; (b) declarers of one (bundle, filament) resolve - identical triples; cross-bundle divergence on the same filament name is a - warning only. - 6. Bambu catalog map: resources/printers/bambu_filament_ids.json must parse, - carry source/bambustudio_commit/generated, key only OF-format ids, map - each Bambu id at most once, and for every row whose key the tree claims, - the tree's triple for that id must equal the row's (vendor, type, name). - - Nothing is grandfathered: the snapshot sanctions state, never exceptions. - """ - _utf8_console() - errors = 0 - analysis = analyze_tree(profiles_dir) - snapshot = load_snapshot(snapshot_path) - if snapshot is None: - print_error(f"filament_id snapshot not found at {snapshot_path}; {UPDATE_HINT}") - return 1 - for msg in analysis["read_errors"]: - print_error(msg) - errors += 1 - - snap_ids = snapshot["ids"] - tree_ids = analysis["ids"] - - # -- 1. format ---------------------------------------------------------- - for vendor in sorted(analysis["vendor_ids"]): - for fid in sorted(analysis["vendor_ids"][vendor]): - if OF_ID_RE.match(fid): - continue - print_error( - f'filament_id "{fid}" ({vendor}) is not a minted "OF" id; new ' - f'filament ids must come from "{GENERATE_CMD}"') - errors += 1 - - # -- 2. snapshot equality (both directions) ----------------------------- - tree_triples = analysis["triples"] - for fid in sorted(tree_ids): - entry = snap_ids.get(fid) - if entry is None: - print_error( - f'filament_id "{fid}" is not sanctioned by ' - f"scripts/filament_id_snapshot.json; {UPDATE_HINT}") - errors += 1 - continue - for claim in tree_ids[fid]: - if claim not in entry["filaments"]: - print_error( - f'filament_id "{fid}" claim "{claim}" is not sanctioned by ' - f"scripts/filament_id_snapshot.json; {UPDATE_HINT}") - errors += 1 - # Every tree id has at least one declarer; the snapshot records one - # triple per id, so a divergent declarer is a mismatch in both directions. - sanctioned = snapshot_triple(entry) - for t in tree_triples[fid]: - if t != sanctioned: - print_error( - f'filament_id "{fid}" triple "{"/".join(t)}" is not sanctioned by ' - f'scripts/filament_id_snapshot.json, which records ' - f'"{"/".join(sanctioned)}"; {UPDATE_HINT}') - errors += 1 - for fid in sorted(snap_ids): - if fid not in tree_ids: - print_error( - f'filament_id stability: snapshot id "{fid}" vanished from the tree; ' - f"{UPDATE_HINT}") - errors += 1 - continue - for claim in snap_ids[fid]["filaments"]: - if claim not in tree_ids[fid]: - print_error( - f'filament_id stability: snapshot claim "{claim}" of id "{fid}" ' - f"vanished from the tree; {UPDATE_HINT}") - errors += 1 - - # -- 3. identity: the id is a function of the triple alone --------------- - # One triple, one id: a declaration must carry exactly the mint of its - # triple, and there is no second acceptable value — not a salt, not a - # hand-picked one, not whatever another preset of the product carries. Two - # presets of one product that would be AMS-ambiguous on a printer are fixed - # in the profiles, by making their compatible_printers disjoint or by - # retiring the redundant one. - for vendor, rec, fid, triple in sorted( - analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): - want = generate_filament_id(*triple) - if not OF_ID_RE.match(fid) or fid == want: - continue # a non-OF id is check 1's error - print_error( - f'filament_id "{fid}" declared by "{rec["name"]}" ({rec["file"]}) does ' - f'not match the mint of its triple "{"/".join(triple)}": expected ' - f'"{want}"; paste the expected id, or fix the triple and run ' - f'"{GENERATE_CMD} --vendor {vendor}" (preview with --dry-run), then ' - f"--update-snapshot") - errors += 1 - # (3b) An inherited id is held to the same single value, and every preset - # missing it is listed — a variant under a wrong root as much as a preset - # riding another product's root. Nothing is folded into the declarer's - # error: the report names each preset whose id is wrong. - for vendor, rec, eff, triple in sorted( - analysis["inherited"], key=lambda x: (x[0], x[1]["file"])): - want = generate_filament_id(*triple) - if eff == want: - continue - print_error( - f'preset "{rec["name"]}" ({rec["file"]}) inherits filament_id "{eff}" but ' - f'its own triple "{"/".join(triple)}" mints "{want}"; ' - f"a preset carries the id of its own product: inherit a preset of the " - f"same filament, or declare its own key") - errors += 1 - ofl_map = analysis["vendors"].get(OFL, {}) - for vendor, name, file in analysis["missing_effective"]: - triple = resolve_triple(name, analysis["vendors"][vendor], ofl_map) - expected = generate_filament_id(*triple) - print_error( - f'instantiated filament "{name}" ({file}) resolves no filament_id anywhere ' - f"in its inherits chain — this is a hard load error in the C++ loader; " - f'run "{GENERATE_CMD}" (expected id for filament ' - f'"{vendor}/{base_name(name)}": "{expected}")') - errors += 1 - # (3d) The mint is injective over the tree's products, or two of them are - # indistinguishable to every device that matches on the id. - for fid, ts in sorted(analysis["collisions"].items()): - print_error( - f'filament_id "{fid}" is the mint of {len(ts)} different products ' - f'({"; ".join("/".join(t) for t in ts)}): a base62 collision; rename one ' - f"of them so their triples differ") - errors += 1 - - # -- 4. reserved namespaces ---------------------------------------------- - for fid in sorted(tree_ids): - is_reserved, owner = reserved_space_owner(fid) - if not is_reserved: - continue - for claim in tree_ids[fid]: - vendor = claim.split("/", 1)[0] - if vendor == owner: - continue - space = reserved_space_desc(fid, owner) - print_error( - f'filament_id "{fid}" of "{claim}" is in a reserved id space ' - f"({space}) and must not be claimed by system presets of other vendors") - errors += 1 - - # -- 5. triple integrity --------------------------------------------------- - for vendor, rec, fid, triple in sorted( - analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): - if triple[0] and triple[1]: - continue - missing = " and ".join( - k for k, v in (("filament_vendor", triple[0]), - ("filament_type", triple[1])) if not v) - print_error( - f'preset "{rec["name"]}" ({rec["file"]}) declares filament_id "{fid}" but ' - f"resolves empty {missing}; the mint key needs both (generic materials " - f'use filament_vendor "Generic")') - errors += 1 - for (vendor, filament_name), tmap in sorted(analysis["filament_triples"].items()): - if len(tmap) < 2: - continue - detail = "; ".join( - f'"{"/".join(t)}" ({", ".join(sorted(names))})' - for t, names in sorted(tmap.items())) - print_error( - f'filament "{vendor}/{filament_name}" declarers resolve divergent triples: ' - f"{detail}; declarers of one filament must agree on " - f"(filament_vendor, filament_type)") - errors += 1 - for filament_name, per_vendor in analysis["cross_bundle_triples"]: - detail = "; ".join( - f'{v}: {", ".join("/".join(t) for t in ts)}' - for v, ts in sorted(per_vendor.items())) - print_warning( - f'filament name "{filament_name}" resolves different triples across bundles ' - f"({detail}); bundles of one product converge on one id only once " - f"their triples agree") - - # -- 6. Bambu catalog map -------------------------------------------------- - try: - bambu_map = load_json(map_path) - if not isinstance(bambu_map, dict): - raise ValueError("top level is not a JSON object") - except (OSError, ValueError) as e: - print_error(f"Bambu catalog map {map_path} does not parse ({e}); {BAMBU_MAP_HINT}") - errors += 1 - else: - for key in ("source", "bambustudio_commit", "generated"): - if not bambu_map.get(key): - print_error(f'Bambu catalog map {map_path} is missing "{key}"; {BAMBU_MAP_HINT}') - errors += 1 - rows = bambu_map.get("filaments") - # An empty or absent section is not a well-formed map: it makes every runtime - # translation silently degrade to identity (BBLPrinterAgent logs nothing for it), - # and it is what a regeneration against the wrong --bambustudio-dir writes. - if not isinstance(rows, dict) or not rows: - print_error(f'Bambu catalog map {map_path} declares no "filaments" rows; ' - f"{BAMBU_MAP_HINT}") - errors += 1 - rows = {} - bambu_id_owners = {} - for fid, row in sorted(rows.items()): - if not OF_ID_RE.match(fid): - print_error(f'Bambu catalog map key "{fid}" is not a minted "OF" id; ' - f"{BAMBU_MAP_HINT}") - errors += 1 - bambu_id = row.get("bambu_id") - if not bambu_id: - # An empty id would map the empty string to a real filament at runtime. - print_error(f'Bambu catalog map row "{fid}" declares no "bambu_id"; ' - f"{BAMBU_MAP_HINT}") - errors += 1 - elif bambu_id in bambu_id_owners: - print_error( - f'Bambu catalog map: Bambu id "{bambu_id}" is mapped by both ' - f'"{bambu_id_owners[bambu_id]}" and "{fid}"; {BAMBU_MAP_HINT}') - errors += 1 - else: - bambu_id_owners[bambu_id] = fid - claimed = tree_triples.get(fid) - if not claimed: - continue # a product BambuStudio ships that the tree does not (yet) - row_triple = [row.get("vendor", ""), row.get("type", ""), row.get("name", "")] - if row_triple not in claimed: - print_error( - f'Bambu catalog map row "{fid}" claims triple "{"/".join(row_triple)}" ' - f'but the tree declares "{"; ".join("/".join(t) for t in claimed)}" for ' - f"that id; {BAMBU_MAP_HINT}") - errors += 1 - - return errors - - -# --------------------------------------------------------------------------- -# --update-snapshot -# --------------------------------------------------------------------------- - -def update_snapshot(profiles_dir=PROFILES_DIR, snapshot_path=SNAPSHOT_PATH, dry_run=False): - """Regenerate the snapshot from the tree. - - Refuses to sanction a tree it could not read whole, a reserved-namespace id - (or a claim on one) and an id declared under more than one triple: none of - them can ever pass --check, so writing them into the snapshot would only - hide the mistake until CI. - Idempotent: a second run over an unchanged tree changes nothing. Returns 0 - on success. - """ - analysis = analyze_tree(profiles_dir) - # A tree that could not be read whole cannot be sanctioned: the snapshot - # would silently drop the unreadable bundle's ids and claims, and the diff - # would read as a deliberate removal. - refusals = len(analysis["read_errors"]) - for msg in analysis["read_errors"]: - print_error(msg) - - for vendor in sorted(analysis["vendor_ids"]): - for fid in sorted(analysis["vendor_ids"][vendor]): - is_reserved, owner = reserved_space_owner(fid) - if is_reserved and vendor != owner: - print_error( - f'refusing to sanction filament_id "{fid}" ({vendor}): reserved id ' - f"space, {reserved_space_desc(fid, owner)}") - refusals += 1 - for fid, ts in sorted(analysis["triples"].items()): - if len(ts) > 1: - print_error( - f'refusing to sanction filament_id "{fid}": declared under {len(ts)} ' - f'triples ({"; ".join("/".join(t) for t in ts)}); one id names one ' - f"product (check 3)") - refusals += 1 - if refusals: - return 1 - - new_snap = snapshot_from_analysis(analysis) - old_snap = load_snapshot(snapshot_path) - old_ids = old_snap["ids"] if old_snap else {} - - # Diff summary. - added_ids = sorted(set(new_snap["ids"]) - set(old_ids)) - removed_ids = sorted(set(old_ids) - set(new_snap["ids"])) - added_claims = sum( - len(set(entry["filaments"]) - set(old_ids.get(fid, {}).get("filaments", []))) - for fid, entry in new_snap["ids"].items()) - removed_claims = sum( - len(set(entry["filaments"]) - set(new_snap["ids"].get(fid, {}).get("filaments", []))) - for fid, entry in old_ids.items()) - changed = new_snap != (old_snap or {"ids": {}}) - - if changed and not dry_run: - write_snapshot(snapshot_path, new_snap) - - print_info(f"snapshot ids : {len(new_snap['ids'])} (+{len(added_ids)} / -{len(removed_ids)})") - print_info(f"claims added : {added_claims}") - print_info(f"claims removed : {removed_claims}") - if changed and dry_run: - print_success(f"dry run: {snapshot_path} would be rewritten; nothing written") - elif changed: - print_success(f"snapshot written to {snapshot_path}") - else: - print_success("snapshot already up to date; nothing changed") - return 0 - - -# --------------------------------------------------------------------------- -# Byte-preserving profile edits -# --------------------------------------------------------------------------- -# Binary IO throughout: a profile keeps its original line endings (LF or CRLF), -# its BOM and its exact formatting apart from the one line being touched. - -def insert_key_line(text, key, value, before=(), after=()): - """Insert a `"key": value` line into a preset that lacks one. - - Placed just before the first `before` anchor the file has (matching the - canonical key order), else just after the first `after` anchor, reusing that - anchor line's indentation and line ending. Returns (text, insertions made). - """ - def line(m): - return (f'{m.group(1)}"{key}": {json.dumps(value, ensure_ascii=False)},' - f'{m.group(2)}') - - for anchors, at_start in ((before, True), (after, False)): - for anchor in anchors: - m = re.search(r'^([ \t]*)"' + re.escape(anchor) + r'"[ \t]*:.*?(\r?\n)', - text, re.MULTILINE) - if m: - cut = m.start() if at_start else m.end() - return text[:cut] + line(m) + text[cut:], 1 - return text, 0 - - -def replace_key_value(text, key, new_value, old_value=None): - """Swap the JSON string VALUE on the `"key"` line, byte-preserving the rest. - - When old_value is given the line must carry exactly that value, so a stale - rewrite fails loudly instead of clobbering an unexpected id. - Returns (text, replacements made). - """ - value = (re.escape(json.dumps(old_value, ensure_ascii=False)) - if old_value is not None else _JSON_STR) - pattern = re.compile( - r'(^[ \t]*"' + re.escape(key) + r'"[ \t]*:[ \t]*)' + value, re.MULTILINE) - return pattern.subn( - lambda m: m.group(1) + json.dumps(new_value, ensure_ascii=False), text, count=1) - - -def delete_key_line(text, key, old_value=None): - """Delete the `"key"` line, byte-preserving the rest. - - Handles both the canonical layout (trailing comma) and a last-property - layout (comma on the preceding line, consumed so no dangling comma is left). - Returns (text, deletions made). - """ - value = (re.escape(json.dumps(old_value, ensure_ascii=False)) - if old_value is not None else _JSON_STR) - member = r'"' + re.escape(key) + r'"[ \t]*:[ \t]*' + value - m = re.search(r'^[ \t]*' + member + r'[ \t]*,[ \t]*\r?\n', text, re.MULTILINE) - if m: - return text[:m.start()] + text[m.end():], 1 - m = re.search(r',[ \t]*\r?\n[ \t]*' + member + r'[ \t]*(?=\r?\n)', text) - if m: - return text[:m.start()] + text[m.end():], 1 - return text, 0 - - -def insert_filament_id(text, new_id): - """Insert a `"filament_id"` line before `instantiation`, else after `name`.""" - return insert_key_line(text, "filament_id", new_id, - before=("instantiation",), after=("name",)) - - -def replace_filament_id_value(text, old_id, new_id): - """Swap the value on the `"filament_id"` line; it must carry old_id.""" - return replace_key_value(text, "filament_id", new_id, old_value=old_id) - - -def insert_setting_id(text, new_id): - """Insert a `"setting_id"` line before `filament_id`, else `instantiation`. - - Falls back to `name` — the one key every preset has — so the anchor does not - depend on whether filament_id has been written yet: a dry run, which does not - write it, must reach the same verdict as the real run that does. - """ - return insert_key_line(text, "setting_id", new_id, - before=("filament_id", "instantiation"), after=("name",)) - - -def _edit_profile(path, edit, dry_run=False, what="edit"): - """Apply `edit(text) -> (text, n)` to the profile at path, byte-preserving. - - The result is re-parsed and returned so the caller can verify the outcome — - in a dry run too, where only the write itself is skipped. Raises when the - edit found no anchor or produced invalid JSON. - """ - with open(path, "rb") as f: - raw = f.read() - bom = raw.startswith(b"\xef\xbb\xbf") - text = raw.decode("utf-8-sig") - text, n = edit(text) - if n == 0: - raise RuntimeError(f"could not apply {what} to {path}") - try: - data = json.loads(text) # fail loudly if the edit broke the JSON - except ValueError as e: - raise RuntimeError(f"{what} broke the JSON in {path}: {e}") from None - if not dry_run: - with open(path, "wb") as f: - f.write((b"\xef\xbb\xbf" if bom else b"") + text.encode("utf-8")) - return data - - -def write_filament_id(path, new_id, dry_run=False): - """Insert new_id into the profile at path, byte-preserving everything else.""" - _edit_profile(path, lambda text: insert_filament_id(text, new_id), - dry_run, "filament_id insert") - - -def rewrite_filament_id(path, old_id, new_id, dry_run=False): - """Replace the filament_id value old_id -> new_id; re-parses to verify.""" - data = _edit_profile(path, lambda text: replace_filament_id_value(text, old_id, new_id), - dry_run, "filament_id rewrite") - if data.get("filament_id") != new_id: - raise RuntimeError(f'rewrite of filament_id "{old_id}" -> "{new_id}" in {path} ' - f"did not take effect") - - -# --------------------------------------------------------------------------- -# --generate -# --------------------------------------------------------------------------- - -def _incomplete_triple(triple): - """The name(s) of the empty mint-key fields, or "" when both are present.""" - return " and ".join(k for k, v in (("filament_vendor", triple[0]), - ("filament_type", triple[1])) if not v) - - -def generate_filament_ids(profiles_dir=PROFILES_DIR, vendors=None, dry_run=False, - changed_paths=None): - """Make every filament carry the id its own triple mints. - - One rule, applied to declarations and to id-less filaments alike: - * a declared id that is not the one its own triple mints — a wrong OF id, - or a foreign one such as a Bambu "GF*" arriving with an upstream sync — - is replaced in place; - * an instantiated filament that resolves no id at all gets one inserted - into its root(s): the id-less presets of the SAME filament its members - inherit, or the member itself (a parent of another filament cannot carry - this filament's id — check 3). - A declaration is left alone exactly when it already equals the one id its - triple mints (check 3). Two products minting one id (check 3d) are reported - and left unwritten: nothing salts past a collision, a rename resolves it. - - `vendors` restricts what is WRITTEN; the id is a function of the triple - alone, so a narrowed run writes exactly what a full one would, and --check - reports whatever it was not allowed to touch. `changed_paths`, when a set is - passed, collects the files that changed. A file whose layout offers no - anchor for the edit is reported and counted as an error, so one odd profile - cannot abort the pass over all the others. Never reads or touches the - snapshot — run --update-snapshot afterwards and review the diff. Returns - (files_changed, errors). - """ - _utf8_console() - analysis = analyze_tree(profiles_dir) - errors = 0 - for msg in analysis["read_errors"]: - print_error(msg) - errors += 1 - wanted = None - if vendors is not None: - wanted = set(vendors) - # A vendor directory without a bundle index simply has no filaments to - # process; only a name that is no directory at all is an error. - unknown = sorted(wanted - set(list_profile_dirs(profiles_dir))) - if unknown: - for v in unknown: - print_error(f'unknown vendor "{v}" in {profiles_dir}') - return 0, errors + len(unknown) - - colliding = set() # triples no run may write an id for - for fid, ts in sorted(analysis["collisions"].items()): - print_error( - f'cannot write filament_id "{fid}": it is the mint of {len(ts)} different ' - f'products ({"; ".join("/".join(t) for t in ts)}), a base62 collision; ' - f"rename one of them so their triples differ") - errors += 1 - colliding.update(ts) - - verb = "would " if dry_run else "" - files_changed = 0 - reminted = 0 - inserted = 0 - - # 1. Declarations that are not the mint of their own triple. - for vendor, rec, fid, triple in sorted( - analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): - want = generate_filament_id(*triple) - if (fid == want or (wanted is not None and vendor not in wanted) - or triple in colliding): - continue - missing = _incomplete_triple(triple) - if missing: - print_error( - f'cannot re-mint "{rec["file"]}" (filament_id "{fid}"): resolves empty ' - f'{missing}; the mint key needs both (generic materials use ' - f'filament_vendor "Generic")') - errors += 1 - continue - try: - rewrite_filament_id(rec["path"], fid, want, dry_run) - except (OSError, RuntimeError, ValueError) as e: - print_error(str(e)) - errors += 1 - continue - files_changed += 1 - reminted += 1 - if changed_paths is not None: - # Index sub_paths are "/"-joined even on Windows, where the - # setting_id pass reaches the same file through os.walk: normalize - # or one file touched by both passes counts as two. - changed_paths.add(os.path.normpath(rec["path"])) - print_info(f'{verb}rewrite {rec["file"]}: "{fid}" -> "{want}" ' - f'(triple "{"/".join(triple)}")') - - # 2. Instantiated filaments that resolve no id at all, grouped by filament. - filaments = {} # (vendor, filament name) -> [rec] - for vendor, name, _file in analysis["missing_effective"]: - if wanted is not None and vendor not in wanted: - continue - rec = analysis["vendors"][vendor][name] - if rec["id_source"] in ("cycle", "dangling"): - print_error(f'cannot mint for "{vendor}/{name}": broken inherits chain ' - f'({rec["id_source"]})') - errors += 1 - continue - filaments.setdefault((vendor, base_name(name)), []).append(rec) - - ofl_map = analysis["vendors"].get(OFL, {}) - for (vendor, filament_name), members in sorted(filaments.items()): - vendor_map = analysis["vendors"][vendor] - # Root preset(s): the direct vendor-side parents of the members (id-less - # by construction) that belong to the same filament, or the member itself. - roots = {} - for rec in members: - parent = rec.get("inherits") - root = vendor_map.get(parent) if parent else None - if (root is None or root.get("filament_id") - or base_name(root["name"]) != filament_name): - root = rec # root-less member carries the id itself - roots[root["name"]] = root - fields = {(resolve_filament_field(n, "filament_vendor", vendor_map, ofl_map), - resolve_filament_field(n, "filament_type", vendor_map, ofl_map)) - for n in roots} - if len(fields) > 1: - print_error( - f'cannot mint for filament "{vendor}/{filament_name}": its roots resolve ' - f"divergent (filament_vendor, filament_type) pairs {sorted(fields)}; " - f"align the fields first") - errors += 1 - continue - triple = (*next(iter(fields)), filament_name) - if triple in colliding: - continue # reported above - missing = _incomplete_triple(triple) - if missing: - print_error( - f'cannot mint for filament "{vendor}/{filament_name}": it resolves empty ' - f'{missing}; the mint key needs both (generic materials use ' - f'filament_vendor "Generic")') - errors += 1 - continue - new_id = generate_filament_id(*triple) - for name in sorted(roots): - root = roots[name] - try: - write_filament_id(root["path"], new_id, dry_run) - except (OSError, RuntimeError, ValueError) as e: - print_error(str(e)) - errors += 1 - continue - files_changed += 1 - inserted += 1 - if changed_paths is not None: - changed_paths.add(os.path.normpath(root["path"])) - print_info(f'{verb}insert filament "{vendor}/{filament_name}": filament_id ' - f'"{new_id}" -> {root["file"]}') - - print_info(f"filament_ids inserted : {inserted}") - print_info(f"filament_ids re-minted : {reminted}") - return files_changed, errors - - -def generate_setting_ids(profiles_dir=PROFILES_DIR, vendors=None, dry_run=False, - changed_paths=None): - """Make every preset carry the setting_id its identity mints. - - One walk over filament/, process/ and machine/ of every vendor bundle, and - one composite edit per file: drop the misspelled "settings_id" key (the app - never reads it), strip setting_id from base profiles (only instantiated - presets carry one), and set generate_preset_setting_id(vendor, type, name) on - instantiated presets — except BBL's, which keep their authoritative "G*" - cloud ids. `changed_paths`, when a set is passed, collects the files that - changed. Returns (files_changed, errors). - """ - _utf8_console() - profiles_dir = str(profiles_dir) - errors = 0 - names = list_profile_dirs(profiles_dir) - if vendors is not None: - wanted = set(vendors) - unknown = sorted(wanted - set(names)) - if unknown: - for v in unknown: - print_error(f'unknown vendor "{v}" in {profiles_dir}') - return 0, len(unknown) - names = [v for v in names if v in wanted] - for v in sorted(wanted & RESERVED_VENDORS): - print_info(f'{v} keeps its authoritative "G*" setting_ids; only its base ' - f"declarations are stripped") - - verb = "would " if dry_run else "" - files_changed = 0 - counts = {"typos": 0, "stripped": 0, "assigned": 0} - for vendor in names: - for path, type_name in iter_profile_files(os.path.join(profiles_dir, vendor)): - try: - with open(path, "rb") as f: - data = json.loads(f.read().decode("utf-8-sig")) - if not isinstance(data, dict): - raise ValueError("top level is not a JSON object") - except (OSError, ValueError) as e: - print_error(f"unreadable profile {path}: {e}") - errors += 1 - continue - - sid = data.get("setting_id") - # Strictly "true", exactly as orca_extra_profile_check.py tests it: - # a preset the validator calls a base profile must not be given an id - # here, or the two would fight over it forever. - instantiated = data.get("instantiation") == "true" - edits = [] # (counter key, description, edit function) - if "settings_id" in data: - edits.append(("typos", 'drop the misspelled "settings_id"', - lambda text: delete_key_line(text, "settings_id"))) - typo = data["settings_id"] - if (vendor in RESERVED_VENDORS and instantiated and sid is None - and isinstance(typo, str) and typo): - # A reserved vendor's ids are authoritative, so there is no - # formula to fall back on: correct the key and keep the - # value, or the drop would leave an instantiated preset with - # no setting_id and nothing able to give it one. - edits.append(("assigned", 'restore its value as "setting_id"', - lambda text, new=typo: insert_setting_id(text, new))) - if not instantiated: - if sid is not None: - edits.append(("stripped", "strip the base profile's setting_id", - lambda text, old=sid: delete_key_line( - text, "setting_id", old))) - elif vendor not in RESERVED_VENDORS: - name = data.get("name") - if not name: - # Report and carry on: an edit already queued for this file - # (a misspelled key) is still worth applying. - print_error(f'instantiated preset has no "name": {path}') - errors += 1 - else: - new_id = generate_preset_setting_id(vendor, type_name, name) - if sid is None: - edits.append(("assigned", "insert the setting_id", - lambda text, new=new_id: insert_setting_id(text, new))) - elif sid != new_id: - edits.append(("assigned", "replace the setting_id", - lambda text, new=new_id, old=sid: replace_key_value( - text, "setting_id", new, old))) - if not edits: - continue - - def apply(text, _edits=edits, _path=path): - for _key, what, edit in _edits: - text, n = edit(text) - if n == 0: - raise RuntimeError(f"could not {what} in {_path}") - return text, len(_edits) - - try: - _edit_profile(path, apply, dry_run) - except (OSError, RuntimeError, ValueError) as e: - print_error(str(e)) - errors += 1 - continue - files_changed += 1 - if changed_paths is not None: - changed_paths.add(os.path.normpath(path)) - for key, _what, _edit in edits: - counts[key] += 1 - rel = os.path.relpath(path, profiles_dir).replace(os.sep, "/") - print_info(f"{verb}update {rel}: " - f"{', '.join(what for _key, what, _edit in edits)}") - - print_info(f'misspelled "settings_id" dropped : {counts["typos"]}') - print_info(f'base setting_ids stripped : {counts["stripped"]}') - print_info(f'setting_ids assigned : {counts["assigned"]}') - return files_changed, errors - - -# --------------------------------------------------------------------------- -# CLI -# --------------------------------------------------------------------------- - -EXAMPLES = """\ -examples: - orca_id_tool.py --generate - give every profile the id its identity mints, in every vendor bundle - orca_id_tool.py --dry-run - preview exactly that; writes nothing - orca_id_tool.py --generate --setting-id - setting_id only (filament, process and machine presets) - orca_id_tool.py --generate --filament-id --vendor Creality --vendor Elegoo - filament_id only, and only in those two bundles - orca_id_tool.py --check - validate filament_id state against the snapshot (the filament_id half - of scripts/orca_extra_profile_check.py, which is what CI runs) - orca_id_tool.py --update-snapshot - re-record the sanctioned filament_id state after a --generate run - -a maintenance round: - --dry-run -> --generate -> --update-snapshot -> --check -> commit the diff -""" - - -def build_parser(): - parser = argparse.ArgumentParser( - prog="orca_id_tool.py", allow_abbrev=False, - formatter_class=argparse.RawDescriptionHelpFormatter, - description="Assign and validate the deterministic ids of OrcaSlicer system\n" - "profiles: the per-product filament_id and the per-preset setting_id.\n" - "\n" - "Both are pure functions of the profile's own identity, so this tool\n" - "never invents an id: it writes the one the rules already imply, and\n" - "leaves a conforming tree alone.", - epilog=EXAMPLES) - modes = parser.add_argument_group("modes (pick one; no mode prints this help)") - modes.add_argument("--generate", action="store_true", - help="write the id every profile should carry: filament_id from " - "each filament's (filament_vendor, filament_type, name) " - "triple, setting_id from each preset's (vendor, type, name). " - "Idempotent and byte-preserving") - modes.add_argument("--check", action="store_true", - help="validate filament_id state against " - "scripts/filament_id_snapshot.json; exit nonzero on errors") - modes.add_argument("--update-snapshot", action="store_true", - help="re-record the sanctioned filament_id state in " - "scripts/filament_id_snapshot.json; commit the diff for " - "maintainer review") - narrow = parser.add_argument_group("narrowing --generate") - narrow.add_argument("--filament-id", action="store_true", - help="write filament_id only, skipping setting_id") - narrow.add_argument("--setting-id", action="store_true", - help="write setting_id only, skipping filament_id") - narrow.add_argument("--vendor", metavar="VENDOR", action="append", default=[], - help="write only in this vendor 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") - parser.add_argument("--dry-run", "--dryrun", dest="dry_run", action="store_true", - help="report what would change and write nothing; with no mode of " - "its own it previews --generate") - parser.add_argument("--profiles", default=PROFILES_DIR, - help="profiles directory (default: resources/profiles)") - parser.add_argument("--snapshot", default=None, metavar="PATH", - help="the sanctioned filament_id state of that tree (default: " - "scripts/filament_id_snapshot.json, which describes " - "resources/profiles and no other tree)") - return parser - - -def main(argv=None): - _utf8_console() - argv = sys.argv[1:] if argv is None else list(argv) - parser = build_parser() - if not argv: - parser.print_help() - return 0 - args = parser.parse_args(argv) - - modes = [flag for flag, on in (("--generate", args.generate), - ("--check", args.check), - ("--update-snapshot", args.update_snapshot)) if on] - if len(modes) > 1: - parser.error(f"{' and '.join(modes)} cannot be combined; pick one mode") - if args.filament_id and args.setting_id: - parser.error("--filament-id and --setting-id each exclude the other; " - "pass neither to write both") - narrowing = [flag for flag, on in (("--filament-id", args.filament_id), - ("--setting-id", args.setting_id), - ("--vendor", bool(args.vendor))) if on] - if not modes: - if args.dry_run: - mode = "--generate" # --dry-run previews the writing mode - elif narrowing: - parser.error(f"{', '.join(narrowing)} narrows --generate; " - f"add --generate (or --dry-run to preview it)") - else: - parser.print_help() - return 0 - else: - mode = modes[0] - if narrowing and mode != "--generate": - parser.error(f"{', '.join(narrowing)} applies to --generate, not {mode}") - - snapshot_path = args.snapshot or SNAPSHOT_PATH - if (args.snapshot is None and mode in ("--check", "--update-snapshot") - and os.path.abspath(args.profiles) != os.path.abspath(PROFILES_DIR)): - # The repo snapshot is the sanctioned state of resources/profiles alone: - # checking another tree against it is meaningless, and re-recording one - # into it would overwrite the tracked file with a foreign tree's state. - parser.error(f"{mode} reads and writes the sanctioned state of the tree it is " - f"given, so --profiles needs --snapshot PATH for that tree too") - - if mode == "--check": - errors = check_filament_ids(args.profiles, snapshot_path) - if errors: - print_error(f"filament_id check: {errors} error(s)") - return 1 - print_success("filament_id check: no errors") - return 0 - - if mode == "--update-snapshot": - return update_snapshot(args.profiles, snapshot_path, dry_run=args.dry_run) - - vendors = sorted(set(args.vendor)) or None - if vendors: - unknown = sorted(set(vendors) - set(list_profile_dirs(args.profiles))) - if unknown: - for v in unknown: - print_error(f'unknown vendor "{v}" in {args.profiles}') - return 1 - - # Both by default. filament_id runs first so its keys are in place before the - # setting_id pass reads the files back. - do_filament = args.filament_id or not args.setting_id - do_setting = args.setting_id or not args.filament_id - changed = set() # one file the two passes both touch is still one file - filament_files = errors = 0 - if do_filament: - filament_files, e = generate_filament_ids( - args.profiles, vendors, args.dry_run, changed) - errors += e - if do_setting: - _n, e = generate_setting_ids(args.profiles, vendors, args.dry_run, changed) - errors += e - - summary = (f"dry run: {len(changed)} file(s) would change; nothing written" - if args.dry_run else f"{len(changed)} file(s) changed") - if errors: - print_error(f"{summary}; {errors} error(s)") - else: - print_success(summary) - if filament_files and not args.dry_run: - # A filament_id write may or may not move the sanctioned state (an id - # repaired back to the value the snapshot already records does not), so - # regenerate and let the diff — empty or not — say. - print_warning('now run "python scripts/orca_id_tool.py --update-snapshot" ' - "and commit any resulting diff for maintainer review") - return 1 if errors else 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/scripts/orca_profile_tool.py b/scripts/orca_profile_tool.py new file mode 100755 index 0000000000..29863f8d1a --- /dev/null +++ b/scripts/orca_profile_tool.py @@ -0,0 +1,2484 @@ +#!/usr/bin/env python3 +""" +Every maintenance job for the OrcaSlicer system profile tree, in one tool. + +usage: python scripts/orca_profile_tool.py [options] + +commands: + check validate the whole tree -- what CI runs + generate-id write the filament_id / setting_id each profile's identity implies + normalize rewrite profile files into their canonical shape + trim delete profile files no .json list references + update-index regenerate the *_list sections of .json + +options shared by several commands: + --vendor VENDOR act on one vendor bundle only; repeatable, empty means all + --profile-type TYPE one of machine_model/process/filament/machine; repeatable + (normalize, trim, update-index) + --dry-run report what would change and write nothing (every command + that writes) + --profiles DIR act on another profile tree (default: resources/profiles) + +After adding, renaming or deleting profile files, run: + normalize -> update-index -> generate-id -> check +normalize supplies missing types; update-index registers presets before id +generation. +Use trim only for deliberate cleanup, previewed with --dry-run: it judges against +the current index and can delete newly added, unindexed presets. + +Run from anywhere; "python scripts/orca_profile_tool.py --help" repeats this list +and "... --help" documents one command in full. + +The two id rules are the heart of it. Both ids are pure functions of the thing +they name, so nothing here is ever invented: the tool only writes the id the +rules below already imply, and a tree that already satisfies them is left +untouched. + +filament_id policy (see docs/HLSD/filament_id.md): + * filament_id is a PRODUCT id: one named spool product = one id, shared by all + of that product's per-printer/per-nozzle variants in every bundle. The + granularity is the name on the spool, not the brand: "AAA PLA Lite" and + "AAA PLA Pro" are two products with two ids, not variants of one. The + id is a pure function of the product triple (below), so WHERE a preset gets + it from is irrelevant: it may declare the key itself or inherit it from any + ancestor — a root preset, a real (instantiated) filament, an + OrcaFilamentLibrary (OFL) preset — as long as the id it ends up with is the + mint of its OWN triple. Inheritance carries settings, never identity; the + key is bundle-independent, so moving a filament into OFL never changes it. + * Ids are content-addressed by the product triple, resolved from the preset's + flattened config (filament_vendor and filament_type are inheritable list + options — first element; filament name = preset base name): + filament_id = "OF" + base62_6( uuid5(FILAMENT_ID_NAMESPACE, + "filament_product///") ) + 8 chars total, which satisfies the AMS length limit. Nobody invents ids by + hand, and nothing but the triple feeds the mint — not the rest of the tree. + Two products whose triples mint one id (a base62 + collision; odds ~1e-5 over the whole tree) is an error --check reports and + --generate refuses to write; the remedy is a rename so the triples differ, + never a salted or hand-picked second id. + Identity changes (a filament rename, a filament_vendor/filament_type fix) + change the id BY DESIGN. + * EVERY filament profile carries a minted id, with no exceptions and no + spellings held back for anyone. Ids that other systems compose for their own + purposes are simply not mints, so no system profile can carry one and there + is nothing to reserve: Bambu's GF* catalog ids (the generated + resources/printers/bambu_filament_ids.json records the correspondence, which + the app applies at the printer boundary), the QD_* ids a Qidi box composes at + runtime, and the P+7-hex ids CreatePresetsDialog.cpp gives user-created + filaments all fail the format rule like any other stray value. + +setting_id policy (see AGENTS.md "Critical Constraints"): + * setting_id is a PRESET id, a pure function of the preset's identity: + setting_id = base62_16( uuid5(NAMESPACE, "//") ) + The same value is recomputed on the fly by the C++ app + (Slic3r::generate_preset_setting_id); the two MUST stay byte-identical. + Uniqueness is therefore automatic: two presets collide only if they share + vendor + type + name, which "check" flags. + * Only instantiated presets (instantiation == "true") carry a setting_id; + base / template profiles do not. + * Bambu (BBL) owns the authoritative "G*" setting_id space and is the only + reserved vendor: its setting_ids are never rewritten, which keeps + Bambu-synced presets backward compatible. That exemption is setting_id's + alone — BBL's filament_ids are minted like every other vendor's. + +The effective-id resolution below is loader-faithful (PresetBundle.cpp +load_vendor_configs_from_json): own filament_id key, else walk `inherits` within +the vendor map, with OrcaFilamentLibrary base-bundle fallback; once a chain enters +OFL it stays in OFL; a vendor chain that dead-ends id-less retries its direct +parent in the OFL map. filament_vendor / filament_type resolve the same way. +""" + +import argparse +import json +import os +import posixpath +import re +import sys +import uuid +from collections import Counter, defaultdict +from pathlib import Path + +# The id namespace baked into both Python and C++ (Slic3r::generate_preset_setting_id). +# Dedicated, distinct from the cloud namespace (f47ac10b-...) so the two id spaces never +# coincide; it is the root of BOTH id rules below — never change it. +NAMESPACE = uuid.UUID("c1f4d9e2-7a3b-5c8d-9e0f-1a2b3c4d5e6f") +ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" +SETTING_ID_LENGTH = 16 + +# Dedicated namespace for filament_id, derived from the setting_id namespace above. +# Never change it. +# FILAMENT_ID_NAMESPACE == UUID("c4d3ff49-4c32-5534-a3e3-00894157ab97") +FILAMENT_ID_NAMESPACE = uuid.uuid5(NAMESPACE, "filament_id") +FILAMENT_ID_LENGTH = 6 # base62 digits after the "OF" prefix -> 8 chars total + +SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) +PROFILES_DIR = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "resources", "profiles")) +# The single source of truth for the map path; update_bambu_filament_ids.py +# imports this rather than recomputing it. +BAMBU_MAP_PATH = os.path.normpath( + os.path.join(SCRIPTS_DIR, "..", "resources", "printers", "bambu_filament_ids.json")) + +OFL = "OrcaFilamentLibrary" +# The validator's data dir, created under resources/profiles by a local run; +# not a vendor bundle, so an unscoped pass leaves it alone. +USER_DIR = "user" + +# Bambu (BBL) is the only vendor exempt from the setting_id rule: it keeps its +# authoritative "G*" cloud ids. No vendor is exempt from the filament_id rule. +RESERVED_VENDORS = {"BBL"} + +# The profile types that carry a setting_id; the subdir name is also the type +# name, matching Preset::get_type_string() on the C++ side. +PROFILE_SUBDIRS = ("filament", "process", "machine") + +# The profile kinds a .json indexes, each under its "_list" section. +# NOT the same thing as PROFILE_SUBDIRS above, and deliberately not merged with it: +# machine_model is an index section whose files live in the machine/ directory, and +# this order is the order the sections are rebuilt (and therefore written) in. +PROFILE_TYPES = ("machine_model", "process", "filament", "machine") + +# Data files that sit under a vendor bundle but are not presets: no name, no type. +NON_PROFILE_FILES = { + "filaments_color_codes.json", + "cli_config.json", + "filament_id_map.json", + "filament_name_map.json", + "support_recommended_params.json", +} + +# Mirror PrintConfigDef::handle_legacy's ignore set in PrintConfig.cpp; a test +# checks parity. Used by normalize and check. Active options and +# legacy aliases that the loader migrates do not belong here. +OBSOLETE_KEYS = { + "acceleration", "scale", "rotate", "duplicate", "duplicate_grid", + "bed_size", "print_center", "g0", "wipe_tower_per_color_wipe", + "support_sharp_tails", "support_remove_small_overhangs", "support_with_sheath", + "tree_support_collision_resolution", "tree_support_with_infill", + "max_volumetric_speed", "max_print_speed", "support_closing_radius", + "remove_freq_sweep", "remove_bed_leveling", "remove_extrusion_calibration", + "support_transition_line_width", "support_transition_speed", "bed_temperature", + "bed_temperature_initial_layer", "can_switch_nozzle_type", "can_add_auxiliary_fan", + "extra_flush_volume", "spaghetti_detector", "adaptive_layer_height", + "z_hop_type", "z_lift_type", "bed_temperature_difference", "long_retraction_when_cut", + "retraction_distance_when_cut", "internal_bridge_support_thickness", + "top_area_threshold", "reduce_wall_solid_infill", + "filament_load_time", "filament_unload_time", "smooth_coefficient", + "overhang_totally_speed", "silent_mode", "overhang_speed_classic", + "anisotropic_surfaces", +} + +# Keys renamed at some point, whose old and new spellings must never co-exist: +# the loader would pick one arbitrarily. extruder_clearance_radius vs +# extruder_clearance_max_radius decides toolhead collision avoidance. +CONFLICT_KEYS = [ + ["extruder_clearance_radius", "extruder_clearance_max_radius"], +] + +# Options the config system stores as vectors; a scalar there is a silent misload. +VECTOR_KEYS = { + "filament_type", +} + +OF_ID_RE = re.compile(r"^OF[0-9A-Za-z]{6}$") +# Filament name = preset base name: strip the first "@..." suffix. The space before +# "@" is optional because names like "Afinia PLA@HS" exist. +BASE_NAME_RE = re.compile(r"\s?@.*$") +# A JSON string literal, for the byte-preserving key edits. +_JSON_STR = r'"(?:[^"\\]|\\.)*"' + +GENERATE_CMD = "python scripts/orca_profile_tool.py generate-id" +SETTING_ID_CMD = '"python scripts/orca_profile_tool.py generate-id --setting-id"' +BAMBU_MAP_HINT = 'regenerate the map with "python scripts/update_bambu_filament_ids.py" and commit the diff for maintainer review' +NORMALIZE_HINT = 'try "python scripts/orca_profile_tool.py normalize" to fix common issues automatically' + +# What to do about a defect check found, keyed by defect. check prints each of these +# ONCE for the whole run, after the files themselves: a bundle that forgot to index +# twenty presets needs the remedy spelled out once, not twenty times over the one list +# a maintainer has to read. +REMEDY_HINTS = { + "unindexed": 'unreferenced file(s) above: delete them, or run "python scripts/' + 'orca_profile_tool.py update-index" to add them to their .json', + "unindexable": 'unreferenced file(s) above declare no profile type: run "python ' + 'scripts/orca_profile_tool.py normalize" to write one so ' + "update-index can place them, or delete them", + "unnormalized": 'profile file(s) above are not what "python scripts/' + 'orca_profile_tool.py normalize" writes: run it and commit the result', + "stale_index": 'vendor index(es) above are not what "python scripts/' + 'orca_profile_tool.py update-index" writes: run it and commit the ' + "result", +} + + +def print_error(msg): + print(f"\033[91m[ERROR]\033[0m {msg}") # Red + +def print_warning(msg): + print(f"\033[93m[WARNING]\033[0m {msg}") # Yellow + +def print_info(msg): + print(f"\033[94m[INFO]\033[0m {msg}") # Blue + +def print_success(msg): + print(f"\033[92m[SUCCESS]\033[0m {msg}") # Green + + +def _utf8_console(): + """Make stdout/stderr survive non-ASCII profile names on cp1252 consoles.""" + for stream in (sys.stdout, sys.stderr): + if hasattr(stream, "reconfigure"): + try: + stream.reconfigure(encoding="utf-8", errors="replace") + except (ValueError, OSError): + pass + + +# --------------------------------------------------------------------------- +# Minting +# --------------------------------------------------------------------------- + +def _base62_tail(n, length): + """The low `length` base62 digits of n, most-significant first. + + The shared tail of both id rules. Its output bytes are pinned by the C++ + golden vectors (tests/libslic3r/test_preset_setting_id.cpp) and by every + filament_id in the tree — never change it. + """ + digits = [] + for _ in range(length): + digits.append(ALPHABET[n % 62]) + n //= 62 + return "".join(reversed(digits)) + + +def generate_preset_setting_id(vendor, type_name, name): + """Deterministic 16-char base62 setting_id for a preset. + + input = f"{vendor}/{type_name}/{name}"; u = uuid5(NAMESPACE, input); + id = the low SETTING_ID_LENGTH base62 digits of int(u.bytes, "big"), + most-significant first. Kept byte-identical to the C++ + Slic3r::generate_preset_setting_id. + """ + u = uuid.uuid5(NAMESPACE, f"{vendor}/{type_name}/{name}") + return _base62_tail(int.from_bytes(u.bytes, "big"), SETTING_ID_LENGTH) + + +def base_name(name): + """Filament name of a preset: name with the first "@..." suffix stripped.""" + return BASE_NAME_RE.sub("", name, count=1) + + +def generate_filament_id(filament_vendor, filament_type, filament_name): + """Deterministic "OF" + 6-char base62 filament_id for a filament product. + + The triple is the only input: no salt, no state, no second value. + input = "filament_product///"; + u = uuid5(FILAMENT_ID_NAMESPACE, input); the id tail is the low + FILAMENT_ID_LENGTH base62 digits of int(u.bytes, "big"), most-significant + first — the same derivation as generate_preset_setting_id. + """ + key = f"filament_product/{filament_vendor}/{filament_type}/{filament_name}" + u = uuid.uuid5(FILAMENT_ID_NAMESPACE, key) + return "OF" + _base62_tail(int.from_bytes(u.bytes, "big"), FILAMENT_ID_LENGTH) + + +# --------------------------------------------------------------------------- +# Tree loading + loader-faithful effective-id resolution +# --------------------------------------------------------------------------- + +class DuplicateKeyError(ValueError): + """A profile declares one key twice; json would silently keep the last.""" + + +def _no_duplicates_hook(pairs): + seen = {} + for key, value in pairs: + if key in seen: + raise DuplicateKeyError(f"Duplicate key detected: {key}") + seen[key] = value + return seen + + +def load_json(path, detect_duplicates=False): + """Parse a profile file. BOM-tolerant, because some vendors ship one. + + detect_duplicates is opt-in rather than always on: only the checks that have + always had it use it, since switching it on everywhere would newly reject files + the tree has always accepted, and switching it off would lose real coverage. + """ + with open(path, "r", encoding="utf-8-sig") as f: + return json.load(f, object_pairs_hook=_no_duplicates_hook if detect_duplicates + else None) + + +def list_vendor_names(profiles_dir): + """Vendor bundles = subdirectories with a matching .json index file. + + (Ignores stray non-bundle entries such as the tracked "user" directory, + which has no user.json index.) + """ + profiles_dir = str(profiles_dir) + return sorted( + os.path.splitext(f)[0] for f in os.listdir(profiles_dir) + if f.endswith(".json") + and os.path.isdir(os.path.join(profiles_dir, os.path.splitext(f)[0])) + ) + + +def list_profile_dirs(profiles_dir): + """Every vendor directory under the tree, index or not. + + What the setting_id pass and the per-vendor checks walk: setting_id is a + per-file property, so a bundle whose index has not landed yet must still be + assignable — otherwise check flags files generate-id refuses to touch. + (filament_id is driven by each bundle's filament_list instead, hence + list_vendor_names above.) + """ + profiles_dir = str(profiles_dir) + return sorted(d for d in os.listdir(profiles_dir) + if os.path.isdir(os.path.join(profiles_dir, d))) + + +def iter_profile_files(vendor_dir): + """Yield (json path, type) under a vendor bundle, in a deterministic order.""" + for sub in PROFILE_SUBDIRS: + base = os.path.join(vendor_dir, sub) + if not os.path.isdir(base): + continue + for root, dirs, files in os.walk(base): + dirs.sort() # deterministic traversal across filesystems + for name in sorted(files): + if name.endswith(".json"): + yield os.path.join(root, name), sub + + +def load_vendor_filaments(profiles_dir, vendor): + """Load a vendor's filament presets from its index's filament_list. + + Returns (presets dict name -> record, list of unreadable-file messages). + """ + profiles_dir = str(profiles_dir) + presets = {} + errors = [] + try: + idx = load_json(os.path.join(profiles_dir, vendor + ".json")) + except (OSError, ValueError) as e: + return presets, [f"unreadable vendor index {vendor}.json: {e}"] + for entry in idx.get("filament_list", []): + rel = f"{vendor}/{entry.get('sub_path', '')}" + path = os.path.join(profiles_dir, vendor, entry.get("sub_path", "")) + try: + data = load_json(path) + except (OSError, ValueError) as e: + errors.append(f"unreadable filament profile {rel}: {e}") + continue + name = data.get("name", entry.get("name")) + presets[name] = { + "name": name, + "file": rel, + "path": path, + "filament_id": data.get("filament_id"), + "inherits": data.get("inherits"), + "instantiation": str(data.get("instantiation", "")).lower() == "true", + "compatible_printers": data.get("compatible_printers") or [], + "filament_vendor": data.get("filament_vendor"), + "filament_type": data.get("filament_type"), + "renamed_from": data.get("renamed_from"), + } + return presets, errors + + +def resolve_filament_id(name, filaments, ofl_filaments, seen=None, in_ofl=False): + """Walk the inherits chain for the effective filament_id, loader-faithfully. + + Mirrors PresetBundle.cpp load_vendor_configs_from_json: a hop resolves in the + vendor's own map first, then falls back to the OFL base-bundle map. OFL's map + was memoized entirely within OFL, so once a chain enters OFL it stays in OFL + (a vendor file sharing an OFL preset's name must not shadow OFL-internal + hops). Additionally, a vendor preset that never resolves an id inside the + vendor is re-tried against the OFL map keyed by its direct parent name. + + Returns (filament_id or None, source, ofl_entry) where source is one of + "own"/"inherited"/"missing"/"dangling"/"cycle" and ofl_entry is the name of + the OFL preset through which a vendor chain entered OFL (None when the id was + declared vendor-side or resolution started inside OFL). + """ + if seen is None: + seen = set() + if name in seen: + return None, "cycle", None + seen.add(name) + entry = None + if in_ofl: + rec = ofl_filaments.get(name) + else: + rec = filaments.get(name) + if rec is None and name in ofl_filaments: + rec, in_ofl, entry = ofl_filaments[name], True, name + if rec is None: + return None, "dangling", None + if rec.get("filament_id"): + return rec["filament_id"], "own" if len(seen) == 1 else "inherited", entry + parent = rec.get("inherits") + if parent: + fid, src, sub_entry = resolve_filament_id(parent, filaments, ofl_filaments, seen, in_ofl) + if fid or in_ofl: + return fid, src, entry if entry is not None else sub_entry + # Vendor chain dead-ended id-less: the loader would have consulted the + # OFL map at each vendor hop's inherits; retry this hop's parent in OFL. + if parent in ofl_filaments: + fid, src, _ = resolve_filament_id(parent, filaments, ofl_filaments, set(), True) + return fid, src, parent + return fid, src, sub_entry + return None, "missing", entry + + +def resolve_filament_field(name, field, filaments, ofl_filaments, seen=None, in_ofl=False): + """Resolve an inheritable list option (filament_vendor / filament_type) with + the same hop semantics as resolve_filament_id: own value, else walk + `inherits` in the vendor map with OFL base-bundle fallback. Values are list + options — the first element counts; "" when the chain never defines one. + Templates pulled in by `include` are not consulted: none states either field. + """ + if seen is None: + seen = set() + if name in seen: + return "" + seen.add(name) + if in_ofl: + rec = ofl_filaments.get(name) + else: + rec = filaments.get(name) + if rec is None and name in ofl_filaments: + rec, in_ofl = ofl_filaments[name], True + if rec is None: + return "" + value = rec.get(field) + if isinstance(value, str): + value = [value] + if value and value[0]: + return value[0] + parent = rec.get("inherits") + if parent: + found = resolve_filament_field(parent, field, filaments, ofl_filaments, seen, in_ofl) + if found or in_ofl: + return found + if parent in ofl_filaments: + return resolve_filament_field(parent, field, filaments, ofl_filaments, set(), True) + return found + return "" + + +def resolve_triple(name, filaments, ofl_filaments): + """The preset's mint-key triple (filament_vendor, filament_type, filament name).""" + return (resolve_filament_field(name, "filament_vendor", filaments, ofl_filaments), + resolve_filament_field(name, "filament_type", filaments, ofl_filaments), + base_name(name)) + + +def analyze_tree(profiles_dir): + """Load every vendor bundle and derive the full filament_id state. + + Returns a dict of the tree-derived state the checks and the assign pass need, + tree-wide including OFL and BBL. + """ + profiles_dir = str(profiles_dir) + vendor_names = list_vendor_names(profiles_dir) + ofl_filaments, ofl_errors = ( + load_vendor_filaments(profiles_dir, OFL) if OFL in vendor_names else ({}, []) + ) + + vendors = {} + read_errors = list(ofl_errors) + for vendor in vendor_names: + if vendor == OFL: + filaments = ofl_filaments + else: + filaments, errs = load_vendor_filaments(profiles_dir, vendor) + read_errors.extend(errs) + for rec in filaments.values(): + eff, src, _entry = resolve_filament_id(rec["name"], filaments, ofl_filaments) + rec["eff_filament_id"] = eff + rec["id_source"] = src + vendors[vendor] = filaments + + vendor_ids = {} # vendor -> set of ids occurring there (declared or effective) + declared_ids = {} # vendor -> set of ids DECLARED in that vendor's own files + missing_effective = [] # (vendor, name, file) instantiated presets resolving no id + inherited = [] # (vendor, rec, eff, triple) instantiated presets inheriting an OF id + triples = {} # fid -> set of triples of its declarers + declarer_triples = [] # (vendor, rec, fid, triple) per declarer + filament_triples = {} # (vendor, filament_name) -> {triple: [declarers]} + mints = {} # minted id -> triples minting it (declarers + instantiated) + + for vendor, filaments in vendors.items(): + occurring = vendor_ids.setdefault(vendor, set()) + for rec in filaments.values(): + triple = resolve_triple(rec["name"], filaments, ofl_filaments) + rec["triple"] = triple + if rec.get("filament_id") or rec["instantiation"]: + mints.setdefault(generate_filament_id(*triple), set()).add(triple) + if rec.get("filament_id"): + fid = rec["filament_id"] + occurring.add(fid) + declared_ids.setdefault(vendor, set()).add(fid) + declarer_triples.append((vendor, rec, fid, triple)) + triples.setdefault(fid, set()).add(triple) + filament_triples.setdefault( + (vendor, base_name(rec["name"])), {}).setdefault( + triple, []).append(rec["name"]) + if not rec["instantiation"]: + continue + eff = rec.get("eff_filament_id") + if not eff: + missing_effective.append((vendor, rec["name"], rec["file"])) + continue + occurring.add(eff) + if not rec.get("filament_id") and OF_ID_RE.match(eff): + inherited.append((vendor, rec, eff, triple)) + + # Cross-bundle triple divergence (check 3, warning only): the same filament + # name declared in several bundles with different triples cannot converge + # on one id until the divergence is fixed. + name_bundles = {} + for (vendor, filament_name), tmap in filament_triples.items(): + name_bundles.setdefault(filament_name, {})[vendor] = frozenset(tmap) + cross_bundle_triples = [ + (filament_name, {v: sorted(ts) for v, ts in per_vendor.items()}) + for filament_name, per_vendor in sorted(name_bundles.items()) + if len(per_vendor) > 1 and len(set(per_vendor.values())) > 1 + ] + + return { + "vendors": vendors, + "read_errors": read_errors, + "vendor_ids": vendor_ids, + "declared_ids": declared_ids, + "missing_effective": sorted(missing_effective), + "inherited": inherited, + "triples": {fid: sorted(list(t) for t in ts) for fid, ts in triples.items()}, + "declarer_triples": declarer_triples, + "filament_triples": filament_triples, + "cross_bundle_triples": cross_bundle_triples, + # id -> the products (triples) minting it, where there is more than one + "collisions": {fid: sorted(ts) for fid, ts in mints.items() if len(ts) > 1}, + } + + +# --------------------------------------------------------------------------- +# filament_id validation +# --------------------------------------------------------------------------- + +def check_filament_ids(profiles_dir=PROFILES_DIR, map_path=BAMBU_MAP_PATH): + """Validate filament_id state across every vendor. Returns the error count. + + 1. Format: every id occurring in the tree (declared or effective) must + match ^OF[0-9A-Za-z]{6}$. No exceptions, not even BBL. + 2. Identity: the id is a function of the triple alone, and there is no + second acceptable value. (a) A declared id must equal the one id the + declarer's own triple mints; (b) the id an instantiated preset inherits + must equal the one ITS own triple mints — how it inherits it (a root, a + real filament, an OFL preset) is irrelevant; (c) every instantiated + filament resolves an effective id at all (an id-less one is a hard load + error in C++); (d) no two products mint one id (a base62 collision, + resolved by renaming one of them). + 3. Triple integrity: (a) every declarer resolves non-empty filament_vendor + and filament_type; (b) declarers of one (bundle, filament) resolve + identical triples; cross-bundle divergence on the same filament name is a + warning only. + 4. Bambu catalog map: resources/printers/bambu_filament_ids.json must parse, + carry source/bambustudio_commit/generated, key only OF-format ids, map + each Bambu id at most once, and for every row whose key the tree claims, + the tree's triple for that id must equal the row's (vendor, type, name). + """ + _utf8_console() + errors = 0 + analysis = analyze_tree(profiles_dir) + for msg in analysis["read_errors"]: + print_error(msg) + errors += 1 + + # -- 1. format ---------------------------------------------------------- + for vendor in sorted(analysis["vendor_ids"]): + for fid in sorted(analysis["vendor_ids"][vendor]): + if OF_ID_RE.match(fid): + continue + print_error( + f'filament_id "{fid}" ({vendor}) is not a minted "OF" id; new ' + f'filament ids must come from "{GENERATE_CMD}"') + errors += 1 + + # -- 2. identity: the id is a function of the triple alone --------------- + # One triple, one id: a declaration must carry exactly the mint of its + # triple, and there is no second acceptable value — not a salt, not a + # hand-picked one, not whatever another preset of the product carries. Two + # presets of one product that would be AMS-ambiguous on a printer are fixed + # in the profiles, by making their compatible_printers disjoint or by + # retiring the redundant one. + for vendor, rec, fid, triple in sorted( + analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): + want = generate_filament_id(*triple) + if not OF_ID_RE.match(fid) or fid == want: + continue # a non-OF id is check 1's error + print_error( + f'filament_id "{fid}" declared by "{rec["name"]}" ({rec["file"]}) does ' + f'not match the mint of its triple "{"/".join(triple)}": expected ' + f'"{want}"; paste the expected id, or fix the triple and run ' + f'"{GENERATE_CMD} --vendor {vendor}" (preview with --dry-run)') + errors += 1 + # (2b) An inherited id is held to the same single value, and every preset + # missing it is listed — a variant under a wrong root as much as a preset + # riding another product's root. Nothing is folded into the declarer's + # error: the report names each preset whose id is wrong. + for vendor, rec, eff, triple in sorted( + analysis["inherited"], key=lambda x: (x[0], x[1]["file"])): + want = generate_filament_id(*triple) + if eff == want: + continue + print_error( + f'preset "{rec["name"]}" ({rec["file"]}) inherits filament_id "{eff}" but ' + f'its own triple "{"/".join(triple)}" mints "{want}"; ' + f"a preset carries the id of its own product: inherit a preset of the " + f"same filament, or declare its own key") + errors += 1 + ofl_map = analysis["vendors"].get(OFL, {}) + for vendor, name, file in analysis["missing_effective"]: + triple = resolve_triple(name, analysis["vendors"][vendor], ofl_map) + expected = generate_filament_id(*triple) + print_error( + f'instantiated filament "{name}" ({file}) resolves no filament_id anywhere ' + f"in its inherits chain — this is a hard load error in the C++ loader; " + f'run "{GENERATE_CMD}" (expected id for filament ' + f'"{vendor}/{base_name(name)}": "{expected}")') + errors += 1 + # (2d) The mint is injective over the tree's products, or two of them are + # indistinguishable to every device that matches on the id. + for fid, ts in sorted(analysis["collisions"].items()): + print_error( + f'filament_id "{fid}" is the mint of {len(ts)} different products ' + f'({"; ".join("/".join(t) for t in ts)}): a base62 collision; rename one ' + f"of them so their triples differ") + errors += 1 + + # -- 3. triple integrity --------------------------------------------------- + for vendor, rec, fid, triple in sorted( + analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): + if triple[0] and triple[1]: + continue + missing = " and ".join( + k for k, v in (("filament_vendor", triple[0]), + ("filament_type", triple[1])) if not v) + print_error( + f'preset "{rec["name"]}" ({rec["file"]}) declares filament_id "{fid}" but ' + f"resolves empty {missing}; the mint key needs both (generic materials " + f'use filament_vendor "Generic")') + errors += 1 + for (vendor, filament_name), tmap in sorted(analysis["filament_triples"].items()): + if len(tmap) < 2: + continue + detail = "; ".join( + f'"{"/".join(t)}" ({", ".join(sorted(names))})' + for t, names in sorted(tmap.items())) + print_error( + f'filament "{vendor}/{filament_name}" declarers resolve divergent triples: ' + f"{detail}; declarers of one filament must agree on " + f"(filament_vendor, filament_type)") + errors += 1 + for filament_name, per_vendor in analysis["cross_bundle_triples"]: + detail = "; ".join( + f'{v}: {", ".join("/".join(t) for t in ts)}' + for v, ts in sorted(per_vendor.items())) + print_warning( + f'filament name "{filament_name}" resolves different triples across bundles ' + f"({detail}); bundles of one product converge on one id only once " + f"their triples agree") + + # -- 4. Bambu catalog map -------------------------------------------------- + try: + bambu_map = load_json(map_path) + if not isinstance(bambu_map, dict): + raise ValueError("top level is not a JSON object") + except (OSError, ValueError) as e: + print_error(f"Bambu catalog map {map_path} does not parse ({e}); {BAMBU_MAP_HINT}") + errors += 1 + else: + for key in ("source", "bambustudio_commit", "generated"): + if not bambu_map.get(key): + print_error(f'Bambu catalog map {map_path} is missing "{key}"; {BAMBU_MAP_HINT}') + errors += 1 + rows = bambu_map.get("filaments") + # An empty or absent section is not a well-formed map: it makes every runtime + # translation silently degrade to identity (BBLPrinterAgent logs nothing for it), + # and it is what a regeneration against the wrong --bambustudio-dir writes. + if not isinstance(rows, dict) or not rows: + print_error(f'Bambu catalog map {map_path} declares no "filaments" rows; ' + f"{BAMBU_MAP_HINT}") + errors += 1 + rows = {} + bambu_id_owners = {} + for fid, row in sorted(rows.items()): + if not OF_ID_RE.match(fid): + print_error(f'Bambu catalog map key "{fid}" is not a minted "OF" id; ' + f"{BAMBU_MAP_HINT}") + errors += 1 + bambu_id = row.get("bambu_id") + if not bambu_id: + # An empty id would map the empty string to a real filament at runtime. + print_error(f'Bambu catalog map row "{fid}" declares no "bambu_id"; ' + f"{BAMBU_MAP_HINT}") + errors += 1 + elif bambu_id in bambu_id_owners: + print_error( + f'Bambu catalog map: Bambu id "{bambu_id}" is mapped by both ' + f'"{bambu_id_owners[bambu_id]}" and "{fid}"; {BAMBU_MAP_HINT}') + errors += 1 + else: + bambu_id_owners[bambu_id] = fid + claimed = analysis["triples"].get(fid) + if not claimed: + continue # a product BambuStudio ships that the tree does not (yet) + row_triple = [row.get("vendor", ""), row.get("type", ""), row.get("name", "")] + if row_triple not in claimed: + print_error( + f'Bambu catalog map row "{fid}" claims triple "{"/".join(row_triple)}" ' + f'but the tree declares "{"; ".join("/".join(t) for t in claimed)}" for ' + f"that id; {BAMBU_MAP_HINT}") + errors += 1 + + return errors + + +# --------------------------------------------------------------------------- +# setting_id validation +# --------------------------------------------------------------------------- + +def check_setting_id_uniqueness(profiles_dir): + """Validate setting_id across every vendor. Returns the error count. + + 1. Every instantiated preset must HAVE a setting_id. (all vendors) + 2. A stored setting_id must equal generate_preset_setting_id(vendor, type, + name); a stale value means the JSON was edited without rerunning + generate-id. (all vendors EXCEPT the reserved ones, i.e. BBL) + 3. Base profiles (instantiation != "true") must not carry a setting_id. + 4. setting_id must be globally unique - no two files may share one. + 5. No profile may use the misspelled key "settings_id". + + Cross-vendor by nature (rule 4), so it always runs over the whole tree, never + narrowed by --vendor. BBL keeps its authoritative "G*" cloud ids, which the + formula does not produce, so only rule 2 is skipped for it; it is still held to + presence, uniqueness, base-no-id and the typo check. + """ + errors = 0 + owners = {} # setting_id -> [relative path], every vendor + for vendor in list_profile_dirs(profiles_dir): + formula_exempt = vendor in RESERVED_VENDORS + for path, sub in iter_profile_files(os.path.join(profiles_dir, vendor)): + try: + data = load_json(path) + except (ValueError, OSError): + # Parse failures are reported by the per-vendor checks, which walk + # the same files; reporting them here too would double-count. + continue + if not isinstance(data, dict): + continue + rel = os.path.relpath(path, profiles_dir).replace(os.sep, "/") + # Rule 5: catch the misspelled "settings_id" key. + if "settings_id" in data: + errors += 1 + print_error( + f'profile {rel} uses the misspelled key "settings_id" ' + f'(should be "setting_id"); run {SETTING_ID_CMD}') + sid = data.get("setting_id") + if data.get("instantiation") != "true": + # Rule 3: base/template profiles must not carry a setting_id. + if sid: + errors += 1 + print_error( + f'base profile {rel} (instantiation != "true") must not have a ' + f'setting_id ("{sid}"); run {SETTING_ID_CMD}') + continue + # Rule 1: every instantiated preset must have a setting_id. + if not sid: + errors += 1 + print_error(f"instantiated preset {rel} is missing a setting_id; " + f"run {SETTING_ID_CMD}") + continue + # Rule 2: the stored id must match the deterministic rule. + if not formula_exempt: + expected = generate_preset_setting_id(vendor, sub, data.get("name", "")) + if sid != expected: + errors += 1 + print_error( + f'setting_id "{sid}" in {rel} does not match the expected ' + f'"{expected}" for {vendor}/{sub}/{data.get("name", "")}; ' + f"run {SETTING_ID_CMD}") + continue + owners.setdefault(sid, []).append(rel) + + # Rule 4: a setting_id shared by two files is an error. For managed vendors that + # means a duplicate vendor/type/name; for BBL a copy-pasted id. + for sid, locs in sorted(owners.items()): + if len(locs) < 2: + continue + errors += 1 + print_error(f'setting_id "{sid}" is shared by {len(locs)} files ({sorted(locs)}); ' + f"setting_id must be globally unique") + return errors + + +def check_machine_model_name_uniqueness(profiles_dir): + """No two bundles may declare a machine_model with the same name. + + A machine_model name is the key the whole tree resolves a printer type by: + Preset::get_printer_type (and get_current_printer_type) walk every vendor's + models and return the model_id of the first whose name equals the preset's + printer_model, so two models sharing a name make that lookup depend on vendor + order. The name is also what the Add Printer list shows, so a duplicate + renders the same printer twice. + + Unlike preset names, which are per bundle - base profiles share one name + across dozens of bundles by design - a machine_model name is global. A vendor + copying another vendor's model (the Custom "Generic Klipper Printer" being the + usual source) is the common way this happens. + + Cross-vendor by nature, so it always runs over the whole tree, never narrowed + by --vendor. Returns the error count. + """ + errors = 0 + owners = defaultdict(list) # model name -> [relative path] + for vendor in list_profile_dirs(profiles_dir): + for path, _sub in iter_profile_files(os.path.join(profiles_dir, vendor)): + if os.path.basename(path) in NON_PROFILE_FILES: + continue + try: + data = load_json(path) + except (ValueError, OSError): + # Parse failures are reported by the checks that walk the same + # files; reporting them here too would double-count. + continue + if not isinstance(data, dict) or data.get("type") != "machine_model": + continue + name = data.get("name") + if name: + owners[name].append( + os.path.relpath(path, profiles_dir).replace(os.sep, "/")) + + for name, paths in sorted(owners.items()): + if len(paths) < 2: + continue + errors += 1 + print_error( + f'machine_model name "{name}" is declared by {len(paths)} bundles ' + f'({", ".join(sorted(paths))}); a machine model name is global, so the ' + f"printer type resolves to whichever bundle is seen first and the Add " + f"Printer list shows it twice - rename or delete the duplicate") + return errors + + +# --------------------------------------------------------------------------- +# Per-vendor validation +# --------------------------------------------------------------------------- +# These walk one vendor bundle each and are what --vendor narrows. They use +# pathlib where the originals did; the check driver converts at the boundary. + +def _vendor_json_files(vendor_path): + """Every .json under a vendor bundle, deepest-last, in a stable order.""" + return sorted(vendor_path.rglob("*.json")) + + +def check_preset_name_uniqueness(profiles_dir, vendor): + """No two profiles in a bundle may share a type and a name, indexed or not. + + The loader resolves "inherits" and "include" through per-type maps of the bundle's + profiles (PresetBundle.cpp load_subfiles), and std::map::emplace keeps the first + insertion: a second file claiming the name is silently dropped, and which one + wins is nothing but index order. An unindexed twin counts too - it is one + sub_path edit away from deciding that silently. + + Names are per bundle, never global: base profiles reuse them across vendors by + design (fdm_process_common exists in 61 of them). Returns the error count. + """ + errors = 0 + vendor_dir = os.path.join(profiles_dir, vendor) + claimed = defaultdict(list) # (type, name) -> [sub_path] + for path, _sub in iter_profile_files(vendor_dir): + if os.path.basename(path) in NON_PROFILE_FILES: + continue + try: + data = load_json(path) + except (ValueError, OSError): + # Parse failures are reported by the checks that walk the same files; + # reporting them here too would double-count. + continue + if not isinstance(data, dict) or data.get("type") not in PROFILE_TYPES: + continue + if not data.get("name"): + continue # a nameless profile is check_filament_compatible_printers' + claimed[(data["type"], data["name"])].append( + posixpath.normpath(os.path.relpath(path, vendor_dir).replace(os.sep, "/"))) + + for (profile_type, name), sub_paths in sorted(claimed.items()): + if len(sub_paths) < 2: + continue + errors += 1 + print_error(f"{vendor} has {len(sub_paths)} {profile_type} profiles named " + f'"{name}" ({", ".join(sorted(sub_paths))}); a bundle holds one ' + f"profile per name, so the loader keeps whichever it reaches first " + f"and silently drops the rest") + return errors + + +def check_filament_compatible_printers(profiles_dir, vendor): + """Every instantiated filament preset must declare a non-empty compatible_printers. + + Orca resolves compatible_printers from the preset itself; inheriting it is not + supported on the Profile page. In the OrcaFilamentLibrary it is optional instead: + a profile without it is generic and offered on every printer, while one that + lists printers supersedes the generic profile there. + + Returns the error count. + """ + error = 0 + vendor_path = Path(profiles_dir) / vendor / "filament" + if not vendor_path.exists(): + return 0 + + profiles = [] + for file_path in _vendor_json_files(vendor_path): + if file_path.name in NON_PROFILE_FILES: + continue + rel = file_path.relative_to(profiles_dir) + try: + data = load_json(file_path, detect_duplicates=True) + except DuplicateKeyError as e: + print_error(f"Duplicate key error in {rel}: {e}") + error += 1 + continue + except (ValueError, OSError) as e: + print_error(f"Error processing {rel}: {e}") + error += 1 + continue + + profile_name = data.get("name") + if not profile_name: + print_error(f"'name' missing in {rel}") + error += 1 + continue + # Two files claiming this name is check_preset_name_uniqueness' to report, + # over the whole bundle rather than the filament/ directory alone. + profiles.append((rel, data)) + + if vendor == OFL: + return error + + for rel, data in profiles: + if str(data.get("instantiation", "")).lower() != "true": + continue + compatible_printers = data.get("compatible_printers") + if not compatible_printers: + print_error(f"'compatible_printers' missing in {rel}") + error += 1 + return error + + +def load_available_filament_profiles(profiles_dir, vendor): + """The set of filament preset names a vendor bundle offers.""" + profiles = set() + vendor_path = Path(profiles_dir) / vendor / "filament" + if not vendor_path.exists(): + return profiles + + for file_path in _vendor_json_files(vendor_path): + try: + data = load_json(file_path) + except (ValueError, OSError) as e: + print_error(f"Error loading filament profile " + f"{file_path.relative_to(profiles_dir)}: {e}") + continue + if isinstance(data, dict) and "name" in data: + profiles.add(data["name"]) + return profiles + + +def check_machine_default_materials(profiles_dir, vendor): + """Every default material a machine names must exist, in the bundle or in OFL. + + Returns (errors, warnings); a bundle with no machine/ has nothing to check. + """ + error_count = 0 + machine_dir = Path(profiles_dir) / vendor / "machine" + if not machine_dir.exists(): + return 0, 0 + + available = (load_available_filament_profiles(profiles_dir, vendor) + | load_available_filament_profiles(profiles_dir, OFL)) + + for file_path in _vendor_json_files(machine_dir): + rel = file_path.relative_to(profiles_dir) + try: + data = load_json(file_path) + except (ValueError, OSError) as e: + print_error(f"Error processing machine profile {rel}: {e}") + error_count += 1 + continue + + default_materials = data.get("default_materials") or data.get( + "default_filament_profile") + if not default_materials: + continue + if isinstance(default_materials, list): + materials = default_materials + elif ";" in default_materials: + # A ";"-separated list; a trailing separator leaves an empty segment, + # which is formatting noise rather than a missing profile. + materials = [m.strip() for m in default_materials.split(";") if m.strip()] + else: + materials = [default_materials] + for material in materials: + if material not in available: + print_error(f"Missing filament profile: '{material}' referenced in {rel}") + error_count += 1 + return error_count, 0 + + +def check_name_consistency(profiles_dir, vendor): + """Each .json entry must name the preset its sub_path file declares. + + A preset loads only if the two agree, so a mismatch silently drops it. + Returns (errors, warnings); the warning is the bundle having no index at all. + """ + error_count = 0 + profiles_path = Path(profiles_dir) + vendor_dir = profiles_path / vendor + vendor_file = profiles_path / (vendor + ".json") + if not vendor_file.exists(): + print_warning(f"No profiles found for vendor: {vendor} at {vendor_file}") + return 0, 1 + + try: + data = load_json(vendor_file) + except (ValueError, OSError) as e: + print_error(f"Error loading vendor profile {vendor_file.name}: {e}") + return 1, 0 + + for section in ("filament_list", "machine_model_list", "machine_list", "process_list"): + for child in data.get(section, []): + name_in_vendor = child.get("name") + sub_path = child.get("sub_path") + if not name_in_vendor or not sub_path: + print_error(f"{section} entry without a name/sub_path in {vendor}.json: " + f"{child}") + error_count += 1 + continue + sub_file = vendor_dir / sub_path + if not sub_file.exists(): + print_error(f"Missing sub profile: '{sub_path}' declared in {vendor}.json") + error_count += 1 + continue + try: + sub_data = load_json(sub_file) + except (ValueError, OSError) as e: + print_error(f"Error loading profile {sub_file.relative_to(profiles_path)}: {e}") + error_count += 1 + continue + + name_in_sub = sub_data.get("name") + if name_in_sub == name_in_vendor: + continue + print_error(f"{section} name mismatch: required '{name_in_vendor}' in " + f"{vendor}.json but found '{name_in_sub}' in " + f"{sub_file.relative_to(profiles_path)}") + error_count += 1 + return error_count, 0 + + +def check_index_coverage(profiles_dir, vendor): + """Every profile file in a bundle must be listed in its .json. + + The mirror of check_name_consistency, which walks the index and looks for the + files: this walks the files and looks for them in the index. The loader reads the + sub_paths listed there and nothing else, so a file no list names is dead weight + that looks live - it sits in the bundle, gets edited and reviewed, and never + reaches a single user. + + Returns (errors, gaps), gaps counting the files per REMEDY_HINTS category so + the caller can print each remedy once for the whole run instead of once per file. + """ + errors = 0 + gaps = Counter() + vendor_dir = os.path.join(profiles_dir, vendor) + try: + library = load_json(os.path.join(profiles_dir, vendor + ".json")) + except (ValueError, OSError): + # A bundle with no readable index at all is check_name_consistency's to + # report; calling every file in it unindexed would only bury that. + return 0, gaps + + listed = set() + for section in PROFILE_TYPES: + for entry in library.get(section + "_list", []): + if entry.get("sub_path"): + # Index entries are hand-written; "filament/./X.json" names the same + # file as "filament/X.json" and must not read as unlisted. + listed.add(posixpath.normpath(entry["sub_path"].replace("\\", "/"))) + + for path, _sub in iter_profile_files(vendor_dir): + if os.path.basename(path) in NON_PROFILE_FILES: + continue # data files carry no name or type and are never indexed + sub_path = posixpath.normpath( + os.path.relpath(path, vendor_dir).replace(os.sep, "/")) + if sub_path in listed: + continue + try: + data = load_json(path) + except (ValueError, OSError): + data = None + errors += 1 + if isinstance(data, dict) and data.get("type") in PROFILE_TYPES: + gaps["unindexed"] += 1 + print_error(f"{vendor}/{sub_path}: no {vendor}.json list references it, so " + f"it never loads") + else: + gaps["unindexable"] += 1 + print_error(f"{vendor}/{sub_path}: no {vendor}.json list references it and " + f"it declares no profile type") + return errors, gaps + + +def check_filament_id_length(profiles_dir, vendor): + """No indexed filament preset may declare a filament_id longer than 8 chars. + + Longer ids break the AMS. Runs for every vendor alike (BBL included: the id + format is what matters, not the vendor). Every .json under the bundle's + filament directory is still parsed through the duplicate-key hook, so that + coverage is unchanged; only the length rule itself is scoped to presets the + index (.json filament_list) actually references. A file the index does + not reference never loads, so its filament_id cannot break anything -- and some + vendors (e.g. SeeMeCNC) ship such orphaned files pre-dating this check. + + Returns the error count. + """ + error = 0 + profiles_path = Path(profiles_dir) + vendor_path = profiles_path / vendor / "filament" + if not vendor_path.exists(): + return 0 + + referenced = set() + vendor_file = profiles_path / (vendor + ".json") + if vendor_file.exists(): + try: + index = load_json(vendor_file) + for entry in index.get("filament_list", []): + sub_path = entry.get("sub_path") + if sub_path: + referenced.add((profiles_path / vendor / sub_path).resolve()) + except (ValueError, OSError) as e: + print_error(f"Error loading vendor profile {vendor_file.name}: {e}") + error += 1 + + for file_path in _vendor_json_files(vendor_path): + rel = file_path.relative_to(profiles_path) + try: + data = load_json(file_path, detect_duplicates=True) + except DuplicateKeyError as e: + print_error(f"Duplicate key error in {rel}: {e}") + error += 1 + continue + except (ValueError, OSError) as e: + print_error(f"Error processing {rel}: {e}") + error += 1 + continue + + filament_id = data.get("filament_id") + if filament_id and len(filament_id) > 8 and file_path.resolve() in referenced: + print_error(f'Filament id too long "{filament_id}": {rel}') + error += 1 + return error + + +def check_obsolete_keys(profiles_dir, vendor): + """Warn about settings PrintConfig.cpp explicitly discards. Returns the count.""" + warn_count = 0 + profiles_path = Path(profiles_dir) + vendor_path = profiles_path / vendor / "filament" + if not vendor_path.exists(): + return 0 + + for file_path in _vendor_json_files(vendor_path): + rel = file_path.relative_to(profiles_path) + try: + data = load_json(file_path) + except (ValueError, OSError) as e: + print_warning(f"Error reading profile {rel}: {e}") + warn_count += 1 + continue + for key in data: + if key in OBSOLETE_KEYS: + print_warning(f"Obsolete key: '{key}' found in {rel}") + warn_count += 1 + return warn_count + + +def check_vector_type_keys(profiles_dir, vendor): + """Options the config system stores as vectors must be JSON arrays. + + `filament_type` must be ["PA-CF"], not "PA-CF". Returns the error count. + """ + error_count = 0 + profiles_path = Path(profiles_dir) + vendor_path = profiles_path / vendor + if not vendor_path.exists(): + return 0 + + for file_path in _vendor_json_files(vendor_path): + rel = file_path.relative_to(profiles_path) + try: + data = load_json(file_path) + except (ValueError, OSError) as e: + print_error(f"Error processing {rel}: {e}") + error_count += 1 + continue + if not isinstance(data, dict): + continue + for key in VECTOR_KEYS: + if key in data and not isinstance(data[key], list): + print_error(f"'{key}' must be an array in {rel}, " + f"got {type(data[key]).__name__}: {data[key]!r}") + error_count += 1 + return error_count + + +def check_conflict_keys(profiles_dir, vendor): + """A renamed option and its old spelling must not co-exist in one profile. + + The loader would pick one arbitrarily, and for extruder_clearance_radius vs + extruder_clearance_max_radius the wrong pick means a toolhead collision. + Returns (errors, warnings). + """ + error_count = 0 + profiles_path = Path(profiles_dir) + vendor_path = profiles_path / vendor + if not vendor_path.exists(): + print_warning(f"No profile directory for vendor: {vendor}") + return 0, 1 + + for file_path in _vendor_json_files(vendor_path): + rel = file_path.relative_to(profiles_path) + try: + data = load_json(file_path, detect_duplicates=True) + except DuplicateKeyError as e: + print_error(f"Duplicate key error in {rel}: {e}") + error_count += 1 + continue + except (ValueError, OSError) as e: + print_error(f"Error processing {rel}: {e}") + error_count += 1 + continue + if not isinstance(data, dict): + continue + for key_set in CONFLICT_KEYS: + if sum(1 for k in key_set if k in data) > 1: + print_error(f"Conflict keys {key_set} co-exist in {rel}") + error_count += 1 + return error_count, 0 + + +def check_normalized(profiles_dir, vendor): + """A bundle must already be what normalize and update-index write. + + Those two commands define a profile file's canonical shape - identifying keys + first, keys the slicer no longer reads gone, filament options that are vectors + written as vectors - and a .json's canonical lists, ordered + dependencies-first so the loader resolves every "inherits" and "include" in one + pass. Running them over a contributed bundle has to be a no-op; where it would + not be, the file that was reviewed is not the file that ships, and the next + maintainer to run normalize carries an unrelated diff into their own change. + + It asks the normalize and update-index sections below rather than restating what + they do, because a second definition of normal is free to drift from the one that + writes. + + The index half is skipped when the bundle has a file update-index cannot place, or + a preset name two files claim: the index is then unbuildable for a reason + check_index_coverage and check_preset_name_uniqueness already report on their own, + and "would be rebuilt" stacked on top of that is noise. + + Returns (errors, gaps), gaps counting per REMEDY_HINTS category. + """ + errors = 0 + gaps = Counter() + vendor_dir = os.path.join(profiles_dir, vendor) + + for path, sub in iter_profile_files(vendor_dir): + if os.path.basename(path) in NON_PROFILE_FILES: + continue # data files carry no name or type; normalize skips them too + try: + data = load_json(path) + except (ValueError, OSError): + continue # an unreadable file is check_name_consistency's to report + if not isinstance(data, dict): + continue + changes = _normalize_profile(data, sub) + if not changes: + continue + sub_path = os.path.relpath(path, vendor_dir).replace(os.sep, "/") + print_error(f"{vendor}/{sub_path}: normalize would {'; '.join(changes)}") + errors += 1 + gaps["unnormalized"] += 1 + + try: + library = load_json(os.path.join(profiles_dir, vendor + ".json")) + except (ValueError, OSError): + # A bundle with no readable index has nothing to compare against, and saying so + # again here would only bury check_name_consistency's report of it. + return errors, gaps + + sections, problems = build_index_sections(profiles_dir, vendor) + if sections is None or problems: + return errors, gaps + stale = sorted(s for s, entries in sections.items() if library.get(s) != entries) + if stale: + print_error(f"{vendor}.json: update-index would rebuild {', '.join(stale)}") + errors += 1 + gaps["stale_index"] += 1 + return errors, gaps + + +# --------------------------------------------------------------------------- +# check +# --------------------------------------------------------------------------- + +def check_profiles(profiles_dir=PROFILES_DIR, vendors=None): + """Validate the whole profile tree. Returns the error count. + + The per-vendor checks honour `vendors`; the setting_id and filament_id checks are + cross-vendor properties a narrowed run cannot answer, so they always cover the + whole tree. With no `vendors`, every bundle is checked except the `user` directory + a local validator run leaves behind, being its data dir rather than a bundle; + naming it explicitly checks it. OrcaFilamentLibrary is checked like any other + bundle, its only exemption being that a library filament may leave + compatible_printers empty - what check_filament_compatible_printers applies. The + normalization pass takes its own vendor list - see the comment on that loop. + """ + print_info("Checking profiles ...") + errors_found = 0 + warnings_found = 0 + remedies = Counter() + + if vendors: + checked = list(vendors) + else: + checked = [v for v in list_profile_dirs(profiles_dir) if v != USER_DIR] + + for vendor in checked: + errors_found += check_preset_name_uniqueness(profiles_dir, vendor) + errors_found += check_filament_compatible_printers(profiles_dir, vendor) + + new_errors, new_warnings = check_machine_default_materials(profiles_dir, vendor) + errors_found += new_errors + warnings_found += new_warnings + + warnings_found += check_obsolete_keys(profiles_dir, vendor) + + new_errors, new_warnings = check_name_consistency(profiles_dir, vendor) + errors_found += new_errors + warnings_found += new_warnings + + new_errors, new_warnings = check_conflict_keys(profiles_dir, vendor) + errors_found += new_errors + warnings_found += new_warnings + + errors_found += check_vector_type_keys(profiles_dir, vendor) + errors_found += check_filament_id_length(profiles_dir, vendor) + + new_errors, gaps = check_index_coverage(profiles_dir, vendor) + errors_found += new_errors + remedies.update(gaps) + + # normalize and update-index judge file and index shape, not the preset-content + # rules above, so this pass takes its own vendor list. Unscoped that is the + # bundles with an index, exactly what those two commands take; a --vendor is + # passed through as given, so a bundle whose index has not landed yet still has + # its files held to what normalize writes. + for vendor in (vendors or list_vendor_names(profiles_dir)): + new_errors, gaps = check_normalized(profiles_dir, vendor) + errors_found += new_errors + remedies.update(gaps) + + for category, hint in REMEDY_HINTS.items(): + if remedies[category]: + print_warning(f"{remedies[category]} {hint}") + + # Cross-vendor checks: setting_id and machine_model name uniqueness and the + # whole filament_id state, all validated over the entire tree regardless of + # --vendor. + errors_found += check_setting_id_uniqueness(profiles_dir) + errors_found += check_machine_model_name_uniqueness(profiles_dir) + errors_found += check_filament_ids(profiles_dir) + + print("\n==================== SUMMARY ====================") + print_info(f"Checked vendors : {len(checked)}") + if errors_found > 0: + print_error(f"Files with errors : {errors_found}") + else: + print_success("Files with errors : 0") + if warnings_found > 0: + print_warning(f"Files with warnings : {warnings_found}") + else: + print_success("Files with warnings : 0") + print("=================================================") + if errors_found > 0 or warnings_found > 0: + print_warning(f"Issue(s) found, {NORMALIZE_HINT}") + return errors_found + + +# --------------------------------------------------------------------------- +# Byte-preserving profile edits +# --------------------------------------------------------------------------- +# Binary IO throughout: a profile keeps its original line endings (LF or CRLF), +# its BOM and its exact formatting apart from the one line being touched. + +def insert_key_line(text, key, value, before=(), after=()): + """Insert a `"key": value` line into a preset that lacks one. + + Placed just before the first `before` anchor the file has (matching the + canonical key order), else just after the first `after` anchor, reusing that + anchor line's indentation and line ending. Returns (text, insertions made). + """ + def line(m): + return (f'{m.group(1)}"{key}": {json.dumps(value, ensure_ascii=False)},' + f'{m.group(2)}') + + for anchors, at_start in ((before, True), (after, False)): + for anchor in anchors: + m = re.search(r'^([ \t]*)"' + re.escape(anchor) + r'"[ \t]*:.*?(\r?\n)', + text, re.MULTILINE) + if m: + cut = m.start() if at_start else m.end() + return text[:cut] + line(m) + text[cut:], 1 + return text, 0 + + +def replace_key_value(text, key, new_value, old_value=None): + """Swap the JSON string VALUE on the `"key"` line, byte-preserving the rest. + + When old_value is given the line must carry exactly that value, so a stale + rewrite fails loudly instead of clobbering an unexpected id. + Returns (text, replacements made). + """ + value = (re.escape(json.dumps(old_value, ensure_ascii=False)) + if old_value is not None else _JSON_STR) + pattern = re.compile( + r'(^[ \t]*"' + re.escape(key) + r'"[ \t]*:[ \t]*)' + value, re.MULTILINE) + return pattern.subn( + lambda m: m.group(1) + json.dumps(new_value, ensure_ascii=False), text, count=1) + + +def delete_key_line(text, key, old_value=None): + """Delete the `"key"` line, byte-preserving the rest. + + Handles both the canonical layout (trailing comma) and a last-property + layout (comma on the preceding line, consumed so no dangling comma is left). + Returns (text, deletions made). + """ + value = (re.escape(json.dumps(old_value, ensure_ascii=False)) + if old_value is not None else _JSON_STR) + member = r'"' + re.escape(key) + r'"[ \t]*:[ \t]*' + value + m = re.search(r'^[ \t]*' + member + r'[ \t]*,[ \t]*\r?\n', text, re.MULTILINE) + if m: + return text[:m.start()] + text[m.end():], 1 + m = re.search(r',[ \t]*\r?\n[ \t]*' + member + r'[ \t]*(?=\r?\n)', text) + if m: + return text[:m.start()] + text[m.end():], 1 + return text, 0 + + +def insert_filament_id(text, new_id): + """Insert a `"filament_id"` line before `instantiation`, else after `name`.""" + return insert_key_line(text, "filament_id", new_id, + before=("instantiation",), after=("name",)) + + +def replace_filament_id_value(text, old_id, new_id): + """Swap the value on the `"filament_id"` line; it must carry old_id.""" + return replace_key_value(text, "filament_id", new_id, old_value=old_id) + + +def insert_setting_id(text, new_id): + """Insert a `"setting_id"` line before `filament_id`, else `instantiation`. + + Falls back to `name` — the one key every preset has — so the anchor does not + depend on whether filament_id has been written yet: a dry run, which does not + write it, must reach the same verdict as the real run that does. + """ + return insert_key_line(text, "setting_id", new_id, + before=("filament_id", "instantiation"), after=("name",)) + + +def _edit_profile(path, edit, dry_run=False, what="edit"): + """Apply `edit(text) -> (text, n)` to the profile at path, byte-preserving. + + The result is re-parsed and returned so the caller can verify the outcome — + in a dry run too, where only the write itself is skipped. Raises when the + edit found no anchor or produced invalid JSON. + """ + with open(path, "rb") as f: + raw = f.read() + bom = raw.startswith(b"\xef\xbb\xbf") + text = raw.decode("utf-8-sig") + text, n = edit(text) + if n == 0: + raise RuntimeError(f"could not apply {what} to {path}") + try: + data = json.loads(text) # fail loudly if the edit broke the JSON + except ValueError as e: + raise RuntimeError(f"{what} broke the JSON in {path}: {e}") from None + if not dry_run: + with open(path, "wb") as f: + f.write((b"\xef\xbb\xbf" if bom else b"") + text.encode("utf-8")) + return data + + +def write_filament_id(path, new_id, dry_run=False): + """Insert new_id into the profile at path, byte-preserving everything else.""" + _edit_profile(path, lambda text: insert_filament_id(text, new_id), + dry_run, "filament_id insert") + + +def rewrite_filament_id(path, old_id, new_id, dry_run=False): + """Replace the filament_id value old_id -> new_id; re-parses to verify.""" + data = _edit_profile(path, lambda text: replace_filament_id_value(text, old_id, new_id), + dry_run, "filament_id rewrite") + if data.get("filament_id") != new_id: + raise RuntimeError(f'rewrite of filament_id "{old_id}" -> "{new_id}" in {path} ' + f"did not take effect") + + +# --------------------------------------------------------------------------- +# generate-id +# --------------------------------------------------------------------------- + +def _incomplete_triple(triple): + """The name(s) of the empty mint-key fields, or "" when both are present.""" + return " and ".join(k for k, v in (("filament_vendor", triple[0]), + ("filament_type", triple[1])) if not v) + + +def generate_filament_ids(profiles_dir=PROFILES_DIR, vendors=None, dry_run=False, + changed_paths=None): + """Make every filament carry the id its own triple mints. + + One rule, applied to declarations and to id-less filaments alike: + * a declared id that is not the one its own triple mints — a wrong OF id, + or a foreign one such as a Bambu catalog id arriving with an upstream + sync — is replaced in place; + * an instantiated filament that resolves no id at all gets one inserted + into its root(s): the id-less presets of the SAME filament its members + inherit, or the member itself (a parent of another filament cannot carry + this filament's id — check 2). + A declaration is left alone exactly when it already equals the one id its + triple mints (check 2). Two products minting one id (check 2d) are reported + and left unwritten: nothing salts past a collision, a rename resolves it. + + `vendors` restricts what is WRITTEN; the id is a function of the triple + alone, so a narrowed run writes exactly what a full one would, and --check + reports whatever it was not allowed to touch. `changed_paths`, when a set is + passed, collects the files that changed. A file whose layout offers no + anchor for the edit is reported and counted as an error, so one odd profile + cannot abort the pass over all the others. Returns (files_changed, errors). + """ + _utf8_console() + analysis = analyze_tree(profiles_dir) + errors = 0 + for msg in analysis["read_errors"]: + print_error(msg) + errors += 1 + wanted = None + if vendors is not None: + wanted = set(vendors) + # A vendor directory without a bundle index simply has no filaments to + # process; only a name that is no directory at all is an error. + unknown = sorted(wanted - set(list_profile_dirs(profiles_dir))) + if unknown: + for v in unknown: + print_error(f'unknown vendor "{v}" in {profiles_dir}') + return 0, errors + len(unknown) + + colliding = set() # triples no run may write an id for + for fid, ts in sorted(analysis["collisions"].items()): + print_error( + f'cannot write filament_id "{fid}": it is the mint of {len(ts)} different ' + f'products ({"; ".join("/".join(t) for t in ts)}), a base62 collision; ' + f"rename one of them so their triples differ") + errors += 1 + colliding.update(ts) + + verb = "would " if dry_run else "" + files_changed = 0 + reminted = 0 + inserted = 0 + + # 1. Declarations that are not the mint of their own triple. + for vendor, rec, fid, triple in sorted( + analysis["declarer_triples"], key=lambda x: (x[0], x[1]["file"])): + want = generate_filament_id(*triple) + if (fid == want or (wanted is not None and vendor not in wanted) + or triple in colliding): + continue + missing = _incomplete_triple(triple) + if missing: + print_error( + f'cannot re-mint "{rec["file"]}" (filament_id "{fid}"): resolves empty ' + f'{missing}; the mint key needs both (generic materials use ' + f'filament_vendor "Generic")') + errors += 1 + continue + try: + rewrite_filament_id(rec["path"], fid, want, dry_run) + except (OSError, RuntimeError, ValueError) as e: + print_error(str(e)) + errors += 1 + continue + files_changed += 1 + reminted += 1 + if changed_paths is not None: + # Index sub_paths are "/"-joined even on Windows, where the + # setting_id pass reaches the same file through os.walk: normalize + # or one file touched by both passes counts as two. + changed_paths.add(os.path.normpath(rec["path"])) + print_info(f'{verb}rewrite {rec["file"]}: "{fid}" -> "{want}" ' + f'(triple "{"/".join(triple)}")') + + # 2. Instantiated filaments that resolve no id at all, grouped by filament. + filaments = {} # (vendor, filament name) -> [rec] + for vendor, name, _file in analysis["missing_effective"]: + if wanted is not None and vendor not in wanted: + continue + rec = analysis["vendors"][vendor][name] + if rec["id_source"] in ("cycle", "dangling"): + print_error(f'cannot mint for "{vendor}/{name}": broken inherits chain ' + f'({rec["id_source"]})') + errors += 1 + continue + filaments.setdefault((vendor, base_name(name)), []).append(rec) + + ofl_map = analysis["vendors"].get(OFL, {}) + for (vendor, filament_name), members in sorted(filaments.items()): + vendor_map = analysis["vendors"][vendor] + # Root preset(s): the direct vendor-side parents of the members (id-less + # by construction) that belong to the same filament, or the member itself. + roots = {} + for rec in members: + parent = rec.get("inherits") + root = vendor_map.get(parent) if parent else None + if (root is None or root.get("filament_id") + or base_name(root["name"]) != filament_name): + root = rec # root-less member carries the id itself + roots[root["name"]] = root + fields = {(resolve_filament_field(n, "filament_vendor", vendor_map, ofl_map), + resolve_filament_field(n, "filament_type", vendor_map, ofl_map)) + for n in roots} + if len(fields) > 1: + print_error( + f'cannot mint for filament "{vendor}/{filament_name}": its roots resolve ' + f"divergent (filament_vendor, filament_type) pairs {sorted(fields)}; " + f"align the fields first") + errors += 1 + continue + triple = (*next(iter(fields)), filament_name) + if triple in colliding: + continue # reported above + missing = _incomplete_triple(triple) + if missing: + print_error( + f'cannot mint for filament "{vendor}/{filament_name}": it resolves empty ' + f'{missing}; the mint key needs both (generic materials use ' + f'filament_vendor "Generic")') + errors += 1 + continue + new_id = generate_filament_id(*triple) + for name in sorted(roots): + root = roots[name] + try: + write_filament_id(root["path"], new_id, dry_run) + except (OSError, RuntimeError, ValueError) as e: + print_error(str(e)) + errors += 1 + continue + files_changed += 1 + inserted += 1 + if changed_paths is not None: + changed_paths.add(os.path.normpath(root["path"])) + print_info(f'{verb}insert filament "{vendor}/{filament_name}": filament_id ' + f'"{new_id}" -> {root["file"]}') + + print_info(f"filament_ids inserted : {inserted}") + print_info(f"filament_ids re-minted : {reminted}") + return files_changed, errors + + +def generate_setting_ids(profiles_dir=PROFILES_DIR, vendors=None, dry_run=False, + changed_paths=None): + """Make every preset carry the setting_id its identity mints. + + One walk over filament/, process/ and machine/ of every vendor bundle, and + one composite edit per file: drop the misspelled "settings_id" key (the app + never reads it), strip setting_id from base profiles (only instantiated + presets carry one), and set generate_preset_setting_id(vendor, type, name) on + instantiated presets — except BBL's, which keep their authoritative "G*" + cloud ids. `changed_paths`, when a set is passed, collects the files that + changed. Returns (files_changed, errors). + """ + _utf8_console() + profiles_dir = str(profiles_dir) + errors = 0 + names = list_profile_dirs(profiles_dir) + if vendors is not None: + wanted = set(vendors) + unknown = sorted(wanted - set(names)) + if unknown: + for v in unknown: + print_error(f'unknown vendor "{v}" in {profiles_dir}') + return 0, len(unknown) + names = [v for v in names if v in wanted] + for v in sorted(wanted & RESERVED_VENDORS): + print_info(f'{v} keeps its authoritative "G*" setting_ids; only its base ' + f"declarations are stripped") + + verb = "would " if dry_run else "" + files_changed = 0 + counts = {"typos": 0, "stripped": 0, "assigned": 0} + for vendor in names: + for path, type_name in iter_profile_files(os.path.join(profiles_dir, vendor)): + try: + with open(path, "rb") as f: + data = json.loads(f.read().decode("utf-8-sig")) + if not isinstance(data, dict): + raise ValueError("top level is not a JSON object") + except (OSError, ValueError) as e: + print_error(f"unreadable profile {path}: {e}") + errors += 1 + continue + + sid = data.get("setting_id") + # Strictly "true", exactly as check_setting_id_uniqueness tests it: + # a preset the validator calls a base profile must not be given an id + # here, or the two would fight over it forever. + instantiated = data.get("instantiation") == "true" + edits = [] # (counter key, description, edit function) + if "settings_id" in data: + edits.append(("typos", 'drop the misspelled "settings_id"', + lambda text: delete_key_line(text, "settings_id"))) + typo = data["settings_id"] + if (vendor in RESERVED_VENDORS and instantiated and sid is None + and isinstance(typo, str) and typo): + # A reserved vendor's ids are authoritative, so there is no + # formula to fall back on: correct the key and keep the + # value, or the drop would leave an instantiated preset with + # no setting_id and nothing able to give it one. + edits.append(("assigned", 'restore its value as "setting_id"', + lambda text, new=typo: insert_setting_id(text, new))) + if not instantiated: + if sid is not None: + edits.append(("stripped", "strip the base profile's setting_id", + lambda text, old=sid: delete_key_line( + text, "setting_id", old))) + elif vendor not in RESERVED_VENDORS: + name = data.get("name") + if not name: + # Report and carry on: an edit already queued for this file + # (a misspelled key) is still worth applying. + print_error(f'instantiated preset has no "name": {path}') + errors += 1 + else: + new_id = generate_preset_setting_id(vendor, type_name, name) + if sid is None: + edits.append(("assigned", "insert the setting_id", + lambda text, new=new_id: insert_setting_id(text, new))) + elif sid != new_id: + edits.append(("assigned", "replace the setting_id", + lambda text, new=new_id, old=sid: replace_key_value( + text, "setting_id", new, old))) + if not edits: + continue + + def apply(text, _edits=edits, _path=path): + for _key, what, edit in _edits: + text, n = edit(text) + if n == 0: + raise RuntimeError(f"could not {what} in {_path}") + return text, len(_edits) + + try: + _edit_profile(path, apply, dry_run) + except (OSError, RuntimeError, ValueError) as e: + print_error(str(e)) + errors += 1 + continue + files_changed += 1 + if changed_paths is not None: + changed_paths.add(os.path.normpath(path)) + for key, _what, _edit in edits: + counts[key] += 1 + rel = os.path.relpath(path, profiles_dir).replace(os.sep, "/") + print_info(f"{verb}update {rel}: " + f"{', '.join(what for _key, what, _edit in edits)}") + + print_info(f'misspelled "settings_id" dropped : {counts["typos"]}') + print_info(f'base setting_ids stripped : {counts["stripped"]}') + print_info(f'setting_ids assigned : {counts["assigned"]}') + return files_changed, errors + + +def run_generate_id(profiles_dir, vendors, filament_id, setting_id, dry_run): + """The generate-id command: write the ids the tree's identities imply. + + Returns the process exit code. + """ + # Both by default. filament_id runs first so its keys are in place before the + # setting_id pass reads the files back. + do_filament = filament_id or not setting_id + do_setting = setting_id or not filament_id + changed = set() # one file the two passes both touch is still one file + errors = 0 + if do_filament: + _n, e = generate_filament_ids(profiles_dir, vendors, dry_run, changed) + errors += e + if do_setting: + _n, e = generate_setting_ids(profiles_dir, vendors, dry_run, changed) + errors += e + + summary = (f"dry run: {len(changed)} file(s) would change; nothing written" + if dry_run else f"{len(changed)} file(s) changed") + if errors: + print_error(f"{summary}; {errors} error(s)") + else: + print_success(summary) + return 1 if errors else 0 + + + +# --------------------------------------------------------------------------- +# Whole-file profile writes (normalize / update-index) +# --------------------------------------------------------------------------- +# Unlike the byte-preserving id edits above, these reserialise a whole file: they +# reorder keys and normalize formatting by design. + +def _rel(path, profiles_dir): + """Tree-relative, forward-slashed path - what every message below prints.""" + return os.path.relpath(path, profiles_dir).replace(os.sep, "/") + + +def _walk_json(directory): + """Every .json file under a directory, in a deterministic order.""" + for root, dirs, files in os.walk(directory): + dirs.sort() + for name in sorted(files): + if name.lower().endswith(".json"): + yield os.path.join(root, name) + + +def _profile_subdir(profile_type): + """The directory a profile type lives in: Orca keeps machine models in machine/.""" + return "machine" if profile_type == "machine_model" else profile_type + + +def write_profile_json(path, data): + """Reserialise a profile file: tab-indented, LF endings, trailing newline. + + newline="\\n" is not cosmetic: without it Python translates to os.linesep, so a + normalize run on Windows would rewrite every file it touches with CRLF endings. + """ + with open(path, "w", encoding="utf-8", newline="\n") as f: + json.dump(data, f, indent="\t", ensure_ascii=False) + f.write("\n") + + +def create_ordered_profile(profile, priority_fields): + """`profile` with priority_fields hoisted to the front, in that order.""" + ordered = {k: profile[k] for k in priority_fields if k in profile} + ordered.update((k, v) for k, v in profile.items() if k not in priority_fields) + return ordered + + +# --------------------------------------------------------------------------- +# normalize +# --------------------------------------------------------------------------- + +# The keys that identify a preset, hoisted to the top of every rewritten file. +NORMALIZE_FIELD_ORDER = ("type", "name", "renamed_from", "inherits", "from", + "setting_id", "filament_id", "instantiation") +# Settings a filament profile must not pin: they belong to the process. +FILAMENT_DROP_FIELDS = ("initial_layer_print_speed", "outer_wall_speed", + "inner_wall_speed", "infill_speed", "top_surface_speed", + "travel_speed") +# Filament options the config system stores as vectors, written as scalars by hand. +FILAMENT_ARRAY_FIELDS = ("filament_cost", "filament_density", "filament_type", + "temperature_vitrification", "filament_max_volumetric_speed", + "filament_vendor") + + +def _normalize_profile(data, sub): + """Normalize one loaded profile in place. Returns what it changed, one line each. + + It reports rather than prints because check asks this function the same question + normalize does - would this file be rewritten? - and has to render the answer as + errors rather than as the running commentary of a write. + """ + changes = [] + + if not data.get("type"): + if sub == "machine": + # The machine folder holds both machine models and the nozzle variants + # that are machines; the name is what tells them apart. + name = data.get("name") or "" + data["type"] = "machine" if "nozzle" in name.lower() else "machine_model" + else: + data["type"] = sub + changes.append(f'add type "{data["type"]}"') + + for field in ("version", "is_custom_defined"): + if data.get(field): + del data[field] + changes.append(f"remove {field}") + + for field in sorted(OBSOLETE_KEYS.intersection(data)): + del data[field] + changes.append(f"remove {field}") + + # BBS renamed extruder_clearance_radius to extruder_clearance_max_radius, but some + # profiles carry both with different values, and the slicer cannot tell which one + # to obey - a toolhead collision waiting to happen. Keep the larger one only. + if "extruder_clearance_radius" in data and "extruder_clearance_max_radius" in data: + drop = ("extruder_clearance_radius" + if float(data["extruder_clearance_max_radius"]) + > float(data["extruder_clearance_radius"]) + else "extruder_clearance_max_radius") + del data[drop] + changes.append(f"drop conflicting {drop}") + + if sub == "filament": + for field in FILAMENT_ARRAY_FIELDS: + if field in data and not isinstance(data[field], list): + data[field] = [data[field]] + changes.append(f"convert {field} to an array") + for field in FILAMENT_DROP_FIELDS: + if field in data: + del data[field] + changes.append(f"remove {field}") + + return changes + + +def normalize_profiles(profiles_dir=PROFILES_DIR, vendors=None, profile_types=None, + force=False, dry_run=False): + """Normalize profile files in place. Returns (files changed, errors). + + Adds a missing "type", drops keys the slicer no longer reads, resolves the + extruder_clearance_* conflict, arrayifies the filament options that are vectors, + and rewrites the file with its identifying keys first. + """ + vendors = vendors or list_vendor_names(profiles_dir) + # Both machine_model and machine live in machine/, so the same directory is never + # walked twice; what a file becomes is decided per file, from its name. + subs = list(dict.fromkeys(_profile_subdir(t) for t in (profile_types or PROFILE_TYPES))) + changed_files = errors = 0 + for vendor in vendors: + for sub in subs: + for path in _walk_json(os.path.join(profiles_dir, vendor, sub)): + if os.path.basename(path) in NON_PROFILE_FILES: + continue + rel = _rel(path, profiles_dir) + try: + data = load_json(path) + except (ValueError, OSError) as e: + print_error(f"{rel}: {e}") + errors += 1 + continue + if not isinstance(data, dict): + continue + changes = _normalize_profile(data, sub) + for change in changes: + print_info(f"{rel}: {change}") + if not changes and not force: + continue + changed_files += 1 + if dry_run: + print_info(f"{rel}: would be rewritten") + continue + try: + write_profile_json( + path, create_ordered_profile(data, NORMALIZE_FIELD_ORDER)) + except OSError as e: + print_error(f"{rel}: {e}") + errors += 1 + continue + print_info(f"{rel}: rewritten") + + verb = "would be normalized" if dry_run else "normalized" + print_success(f"{changed_files} profile(s) {verb}") + return changed_files, errors + + +# --------------------------------------------------------------------------- +# trim +# --------------------------------------------------------------------------- + +def trim_profiles(profiles_dir=PROFILES_DIR, vendors=None, profile_types=None, + dry_run=False): + """Delete profile files that a vendor's .json does not index. + + The loader only ever reads the sub_paths listed in .json, so a profile + file missing from every *_list never loads. Only recognisable presets are + considered: assets (cover images, bed models, bed textures) are referenced from + inside machine profiles rather than from the index, and data files such as + cli_config.json carry no "type" - all of them stay. A file that cannot be parsed + is reported and kept: never delete what could not be read. + + An unindexed file that some surviving profile names in "inherits" or "include" is + kept too, and reported, UNLESS an indexed profile already carries that name: both + are resolved by preset name, so the indexed one is the parent every child actually + gets, and the unindexed file is a stale copy the loader never reaches. Where no + indexed profile provides the name the inheriting preset really is broken, and + deleting the file would destroy the only record of the settings it was written + against - a repair job for a maintainer, not for this. + + Returns (files removed, errors). + """ + vendors = vendors or list_vendor_names(profiles_dir) + subs = list(dict.fromkeys(_profile_subdir(t) for t in (profile_types or PROFILE_TYPES))) + + total = errors = 0 + for vendor in vendors: + vendor_dir = os.path.join(profiles_dir, vendor) + try: + library = load_json(os.path.join(profiles_dir, vendor + ".json")) + except (ValueError, OSError) as e: + print_error(f"{vendor}.json: {e}") + errors += 1 + continue + + # A profile may be indexed under any of the lists whichever folder it sits + # in, so the whole index is collected before anything is judged unreferenced. + listed = set() + for section in PROFILE_TYPES: + for entry in library.get(section + "_list", []): + sub_path = entry.get("sub_path") + if sub_path: + # Index entries are hand-written; "filament/./X.json" names the + # same file as "filament/X.json" and must not read as an orphan. + listed.add(posixpath.normpath(sub_path.replace("\\", "/"))) + + candidates = {} # path -> profile, for every unindexed preset + inherited = set() # every name the files that stay claim as a parent or include + provided = {} # name -> sub_path, for the profiles the loader can see + for sub in subs: + for path in _walk_json(os.path.join(vendor_dir, sub)): + rel = _rel(path, profiles_dir) + sub_path = posixpath.normpath( + os.path.relpath(path, vendor_dir).replace(os.sep, "/")) + try: + profile = load_json(path) + except (ValueError, OSError) as e: + print_warning(f"{rel}: {e}; keeping it") + continue + if not isinstance(profile, dict): + continue + if sub_path in listed or profile.get("type") not in PROFILE_TYPES: + inherited.update(profile_dependencies(profile)) + if sub_path in listed and profile.get("name"): + provided[profile["name"]] = sub_path + continue + candidates[path] = profile + + # An orphan kept for being inherited can itself keep its own parent alive, so + # the survivors are grown to a fixpoint before anything is deleted. A kept + # orphan never enters "provided": it does not load, so it cannot be the parent + # a child resolves to, and its own parent needs rescuing on the same terms. + kept = {} + while True: + rescued = {p: d for p, d in candidates.items() + if d.get("name") in inherited and d.get("name") not in provided} + if not rescued: + break + for path, profile in rescued.items(): + del candidates[path] + kept[path] = profile + inherited.update(profile_dependencies(profile)) + + for path in sorted(kept): + print_warning(f"{_rel(path, profiles_dir)}: not indexed by {vendor}.json but " + f'inherited from; keeping it (neither loads - fix the index)') + + removed = 0 + for path in sorted(candidates): + rel = _rel(path, profiles_dir) + twin = provided.get(candidates[path].get("name")) + why = f", not indexed by {vendor}.json" + if twin: + why += f' ({twin} is the profile named "{candidates[path]["name"]}")' + if dry_run: + print_info(f"{rel}: would be removed{why}") + else: + try: + os.remove(path) + except OSError as e: + print_error(f"{rel}: {e}") + errors += 1 + continue + print_info(f"{rel}: removed{why}") + removed += 1 + if removed: + print_info(f"{vendor}: {removed} unreferenced profile(s)") + total += removed + + verb = "would be removed" if dry_run else "removed" + print_success(f"{total} unreferenced profile(s) {verb}") + return total, errors + + +# --------------------------------------------------------------------------- +# update-index +# --------------------------------------------------------------------------- + +def profile_dependencies(profile): + """The names a profile needs loaded before it: its parent and every include.""" + include = profile.get("include") or [] + if isinstance(include, str): + include = [include] + return [name for name in [profile.get("inherits"), *include] if name] + + +def topological_sort(profiles): + """Order index entries dependencies-first, so the loader resolves every + "inherits" and "include" in one pass. + + Entries that neither depend on nor are depended on by another in the same section + go at the end in name order; the loader finds their parents, if any, through the + base bundle instead. Every entry on a dependency cycle, which no order can satisfy, + goes there too. + """ + graph = defaultdict(list) + in_degree = defaultdict(int) + by_name = {p["name"]: p for p in profiles} + all_names = set(by_name) + + for profile in profiles: + child = profile["name"] + for parent in profile_dependencies(profile): + if parent in all_names: + graph[parent].append(child) + in_degree[child] += 1 + in_degree.setdefault(parent, 0) + + queue = sorted(name for name, degree in in_degree.items() if degree == 0) + result = [] + while queue: + current = queue.pop(0) + result.append(by_name[current]) + for child in sorted(graph[current]): + in_degree[child] -= 1 + if in_degree[child] == 0: + queue.append(child) + + ordered = {p["name"] for p in result} + result.extend(by_name[name] for name in sorted(all_names - ordered)) + return result + + +def build_index_sections(profiles_dir, vendor, profile_types=None): + """The *_list sections update-index would write for one bundle, from its own files. + + A profile is indexed under the section its own "type" names, so a file whose type + is missing or unrecognised cannot be placed - run normalize first, which is what + writes the type. + + Returns (sections, problems). `problems` names every file that could not be placed, + one message each, for the caller to report. `sections` is None when two files claim + one preset name: the bundle can only hold one profile under a name, so rebuilding + would pick a winner by directory order and quietly drop the other, and the index has + to be left alone instead. Identify the intended preset and delete or rename the + duplicate before retrying. Use trim only for deliberate unindexed-file cleanup, + previewed with --dry-run. + """ + vendor_dir = os.path.join(profiles_dir, vendor) + sections = {} + problems = [] + unplaceable = {} + by_name = defaultdict(list) + for profile_type in (profile_types or PROFILE_TYPES): + entries = [] + for path in _walk_json(os.path.join(vendor_dir, _profile_subdir(profile_type))): + if os.path.basename(path) in NON_PROFILE_FILES: + continue + rel = _rel(path, profiles_dir) + try: + profile = load_json(path) + except (ValueError, OSError) as e: + problems.append(f"{rel}: {e}") + continue + if not isinstance(profile, dict): + continue + if profile.get("type") not in PROFILE_TYPES: + unplaceable[rel] = profile.get("type") + continue + if profile.get("type") != profile_type: + continue + name = profile.get("name") + if not name: + problems.append(f"{rel}: no name, cannot be indexed") + continue + entry = { + "name": name, + "sub_path": os.path.relpath(path, vendor_dir).replace(os.sep, "/"), + } + for key in ("inherits", "include"): + if profile.get(key): + entry[key] = profile[key] + by_name[name].append(entry["sub_path"]) + entries.append(entry) + + # inherits/include were ordering input only; the index holds name and sub_path + sections[profile_type + "_list"] = [{"name": e["name"], "sub_path": e["sub_path"]} + for e in topological_sort(entries)] + + for rel, found in sorted(unplaceable.items()): + problems.append(f'{rel}: type {found!r} is not one of {list(PROFILE_TYPES)}, so it ' + f"cannot be indexed; run " + f'"python scripts/orca_profile_tool.py normalize" first') + + clashes = {name: subs for name, subs in by_name.items() if len(subs) > 1} + for name, subs in sorted(clashes.items()): + problems.append(f'{vendor}.json: {len(subs)} profiles are named "{name}" ' + f'({", ".join(sorted(subs))}); only one can be indexed under ' + f"that name, so delete or rename the others - " + f"preview unindexed-file cleanup with " + f'"python scripts/orca_profile_tool.py trim --dry-run"') + + return (None if clashes else sections), problems + + +def update_profile_indexes(profiles_dir=PROFILES_DIR, vendors=None, profile_types=None, + dry_run=False): + """Rebuild the *_list sections of each .json from the files on disk. + + Returns (indexes changed, errors). See build_index_sections for what a file has to + carry to be placed, and for when a bundle is left alone instead. + """ + vendors = vendors or list_vendor_names(profiles_dir) + changed = errors = 0 + for vendor in vendors: + lib_path = os.path.join(profiles_dir, vendor + ".json") + try: + library = load_json(lib_path) + except (ValueError, OSError) as e: + print_error(f"{vendor}.json: {e}") + errors += 1 + continue + + sections, problems = build_index_sections(profiles_dir, vendor, profile_types) + for problem in problems: + print_error(problem) + errors += len(problems) + if sections is None: + print_error(f"{vendor}.json: left unchanged, it would have dropped a profile") + continue + + if all(library.get(section) == entries for section, entries in sections.items()): + continue + changed += 1 + if dry_run: + print_info(f"{vendor}.json: {', '.join(sorted(sections))} would be rebuilt") + continue + library.update(sections) + try: + write_profile_json(lib_path, library) + except OSError as e: + print_error(f"{vendor}.json: {e}") + errors += 1 + continue + print_info(f"{vendor}.json: {', '.join(sorted(sections))} rebuilt") + + verb = "would be rebuilt" if dry_run else "rebuilt" + print_success(f"{changed} vendor index(es) {verb}") + return changed, errors + + +# --------------------------------------------------------------------------- +# CLI +# --------------------------------------------------------------------------- + +EXAMPLES = """\ +examples: + orca_profile_tool.py check + validate the whole tree, exactly as CI does + orca_profile_tool.py check --vendor Creality + the per-vendor checks for one bundle; setting_id and filament_id are + cross-vendor properties, so those two always cover the whole tree + orca_profile_tool.py generate-id + give every profile the id its identity mints, in every vendor bundle + orca_profile_tool.py generate-id --dry-run + preview exactly that; writes nothing + orca_profile_tool.py generate-id --setting-id --vendor Elegoo + setting_id only, and only in that bundle + +after adding, renaming or deleting profile files, run in this order: + normalize -> update-index -> generate-id -> check +normalize supplies missing types; update-index registers presets before id +generation. +Use trim only for deliberate cleanup, previewed with --dry-run: it judges against +the current index and can delete newly added, unindexed presets. +""" + + +def build_parser(): + # Shared options, attached with parents=[...] so every command spells them the + # same way and documents them once. + profiles_opt = argparse.ArgumentParser(add_help=False) + profiles_opt.add_argument("--profiles", default=PROFILES_DIR, metavar="DIR", + help="profiles directory (default: resources/profiles)") + + vendor_opt = argparse.ArgumentParser(add_help=False) + vendor_opt.add_argument("--vendor", metavar="VENDOR", action="append", default=[], + help="act on this vendor bundle only; repeatable. " + "An empty value means every vendor") + + type_opt = argparse.ArgumentParser(add_help=False) + type_opt.add_argument("--profile-type", metavar="TYPE", action="append", default=[], + choices=PROFILE_TYPES, dest="profile_type", + help="act on this profile type only; repeatable. One of: " + + ", ".join(PROFILE_TYPES)) + + dry_run_opt = argparse.ArgumentParser(add_help=False) + dry_run_opt.add_argument("--dry-run", "--dryrun", dest="dry_run", action="store_true", + help="report what would change and write nothing") + + parser = argparse.ArgumentParser( + prog="orca_profile_tool.py", allow_abbrev=False, + formatter_class=argparse.RawDescriptionHelpFormatter, + description="Every maintenance job for the OrcaSlicer system profile tree.\n" + "\n" + "The ids it writes are pure functions of the profile's own\n" + "identity, so it never invents one: it writes the id the rules\n" + "already imply, and leaves a conforming tree alone.", + epilog=EXAMPLES) + commands = parser.add_subparsers(dest="command", metavar="") + + def add(name, parents, help_text, description): + return commands.add_parser( + name, parents=parents, help=help_text, description=description, + allow_abbrev=False, formatter_class=argparse.RawDescriptionHelpFormatter) + + add( + "check", [vendor_opt, profiles_opt], + "validate the whole profile tree -- what CI runs", + "Validate the whole profile tree: preset name uniqueness, index coverage\n" + "both ways, compatible_printers, default-material references, obsolete,\n" + "conflicting and vector-typed keys, filament_id length, that normalize and\n" + "update-index would leave every bundle alone, and the tree-wide setting_id\n" + "and filament_id state. Exits nonzero on errors.\n" + "\n" + "--vendor narrows the per-vendor checks only: setting_id uniqueness and the\n" + "filament_id state are cross-vendor properties a narrowed run cannot answer,\n" + "so they always cover the whole tree.") + + generate_cmd = add( + "generate-id", [vendor_opt, dry_run_opt, profiles_opt], + "write the id each profile's identity implies", + "Write the id every profile should carry: filament_id from each filament's\n" + "(filament_vendor, filament_type, name) triple, setting_id from each preset's\n" + "(vendor, type, name). Idempotent and byte-preserving.\n" + "\n" + "The id is a function of the triple alone, so a narrowed run writes exactly\n" + "what a full one would; check reports whatever it left outside.") + which = generate_cmd.add_mutually_exclusive_group() + which.add_argument("--filament-id", action="store_true", dest="filament_id", + help="write filament_id only, skipping setting_id") + which.add_argument("--setting-id", action="store_true", dest="setting_id", + help="write setting_id only, skipping filament_id") + + normalize_cmd = add( + "normalize", [vendor_opt, type_opt, dry_run_opt, profiles_opt], + "rewrite profile files into their canonical shape", + "Add a missing \"type\", drop keys the slicer no longer reads, resolve the\n" + "extruder_clearance_* conflict, arrayify the filament options that are\n" + "vectors, and rewrite each file with its identifying keys first.\n" + "\n" + "Rewrites whole files, so it normalizes their formatting and key order too.") + normalize_cmd.add_argument("--force", action="store_true", + help="rewrite every profile, not only the ones that changed") + + add("trim", [vendor_opt, type_opt, dry_run_opt, profiles_opt], + "delete profile files no .json list references", + "Delete profile files that a vendor's .json does not index. The\n" + "loader only ever reads the sub_paths listed there, so an unindexed preset\n" + "never loads.\n" + "\n" + "Use only for deliberate cleanup, previewed with --dry-run. Newly added,\n" + "unindexed presets can be deleted too; omit trim from the authoring workflow.\n" + "\n" + "Assets and data files are kept, a file that cannot be parsed is kept and\n" + "reported, and so is one a surviving profile inherits from that no indexed\n" + "profile provides -- but a stale copy of an indexed profile goes, since\n" + "inherits resolves by name and the indexed one is what children get.") + + add("update-index", [vendor_opt, type_opt, dry_run_opt, profiles_opt], + "regenerate the *_list sections of .json", + "Rebuild the *_list sections of each .json from the files on disk,\n" + "ordered dependencies-first so the loader resolves inherits and include\n" + "in one pass.\n" + "\n" + "A profile is indexed under the section its own \"type\" names, so run\n" + "normalize first: it is what writes a missing type. Two files claiming one\n" + "preset name leave that index alone, because a rebuild could only keep one\n" + "of them. Identify the intended preset and delete or rename the duplicate.\n" + "Use trim only for deliberate unindexed-file cleanup, previewed with\n" + "--dry-run; it can also delete newly authored presets.") + + return parser + + +def main(argv=None): + _utf8_console() + argv = sys.argv[1:] if argv is None else list(argv) + parser = build_parser() + args = parser.parse_args(argv) + if args.command is None: + parser.print_help() + return 0 + + profiles_dir = args.profiles + # check_profile.sh passes --vendor "${VENDOR}" unconditionally (bash 3.2 cannot + # expand an empty array under set -u), and an empty value has always meant + # "every vendor" -- so drop empties rather than looking up a vendor named "". + vendors = sorted({v for v in getattr(args, "vendor", []) if v}) or None + if vendors: + unknown = sorted(set(vendors) - set(list_profile_dirs(profiles_dir))) + if unknown: + for vendor in unknown: + print_error(f'unknown vendor "{vendor}" in {profiles_dir}') + return 1 + profile_types = tuple(getattr(args, "profile_type", []) or ()) or None + + if args.command == "check": + errors = check_profiles(profiles_dir, vendors) + return 1 if errors else 0 + + if args.command == "generate-id": + return run_generate_id(profiles_dir, vendors, args.filament_id, args.setting_id, + args.dry_run) + + if args.command == "normalize": + _changed, errors = normalize_profiles(profiles_dir, vendors, profile_types, + force=args.force, dry_run=args.dry_run) + elif args.command == "trim": + _removed, errors = trim_profiles(profiles_dir, vendors, profile_types, + dry_run=args.dry_run) + else: # update-index + _changed, errors = update_profile_indexes(profiles_dir, vendors, profile_types, + dry_run=args.dry_run) + return 1 if errors else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/run_unit_tests.sh b/scripts/run_unit_tests.sh index d2e102da12..e91342ba15 100755 --- a/scripts/run_unit_tests.sh +++ b/scripts/run_unit_tests.sh @@ -7,8 +7,9 @@ # # Usage: run_unit_tests.sh [TEST_DIR] [BUILD_CONFIG] # TEST_DIR directory containing the built tests (default: build/tests) -# BUILD_CONFIG configuration to run; required for multi-config generators -# (Windows/macOS), harmless/omitted for single-config (Linux). +# BUILD_CONFIG configuration to run; required for multi-config generators, which all +# build scripts use (build_linux.sh too: Ninja Multi-Config). Without it, +# tests registered with plain add_test() lose their labels and report "Not Run". ROOT_DIR="$(dirname "$0")/.." @@ -67,8 +68,9 @@ elif ! "${python_exe}" -c "import numpy" >/dev/null 2>&1; then fi fi -# Run the whole suite, excluding tests tagged [NotWorking]. +# Run the whole suite, excluding tests tagged [NotWorking] and tests labelled RequiresApp, +# which run the built orca-slicer binary that this directory does not contain. # --no-tests=error fails the job if the filter matches nothing (instead of passing green). -args=(--test-dir "${TEST_DIR}" -LE "NotWorking" --no-tests=error --output-junit "$(pwd)/ctest_results.xml" --output-on-failure -j) +args=(--test-dir "${TEST_DIR}" -LE "NotWorking|RequiresApp" --no-tests=error --output-junit "$(pwd)/ctest_results.xml" --output-on-failure -j) [ -n "${BUILD_CONFIG}" ] && args+=(--build-config "${BUILD_CONFIG}") ctest "${args[@]}" diff --git a/scripts/test_build_win.ps1 b/scripts/test_build_win.ps1 index a8abfbc7bf..65dec8ffa1 100644 --- a/scripts/test_build_win.ps1 +++ b/scripts/test_build_win.ps1 @@ -22,6 +22,7 @@ Match regexes; each must match at least one output line NotMatch regexes; none may match any output line NotExists paths that must not exist after the case runs + DateStampedZip require a bundle date from during this case's invocation .PARAMETER Name Run only the cases whose name matches this regex. Headings with no @@ -109,12 +110,6 @@ $slnDir = Join-Path $fixtures 'sln' New-Item -ItemType Directory -Force -Path $slnDir | Out-Null Set-Content -Path (Join-Path $slnDir 'OrcaSlicer.sln') -Value '' -Encoding ascii -# The pack stamp is checked against real dates, so a locale-dependent parse -# in the script cannot pass by looking date-shaped. Yesterday is accepted too, -# so a run that crosses midnight does not flake. -$dateStamps = @((Get-Date -Format 'yyyyMMdd'), (Get-Date).AddDays(-1).ToString('yyyyMMdd')) -$stampPattern = '_(' + ($dateStamps -join '|') + ')\.zip$' - $cases = @( 'argument handling' @{ Name = 'no arguments prints help'; Args = @(); DryRun = $false @@ -326,12 +321,12 @@ $cases = @( Contains = @('OrcaSlicer_dep_win-x64_') NotContains = @('-clang', '-Release') } @{ Name = 'the bundle is stamped with today, not a shuffled date'; Args = @('-p') - Match = @($stampPattern) } + DateStampedZip = $true } # powershell.exe is not in System32 itself, so a trimmed PATH used to # leave the stamp empty and the bundle named OrcaSlicer_dep_win-x64_.zip. @{ Name = 'the bundle is stamped even with a bare PATH'; Args = @('-p') Env = @{ PATH = 'C:\Windows\system32;C:\Windows' } - Match = @($stampPattern) } + DateStampedZip = $true } @{ Name = '-p packs without rebuilding'; Args = @('-p') Match = @('^\+ .*(7z\.exe a|tar\.exe -a -c -f) ') NotContains = @('cmake -S deps') } @@ -861,7 +856,7 @@ function Invoke-BuildScript { $knownFields = @( 'Name', 'Args', 'ExpectExit', 'DryRun', 'First', 'Env', - 'Contains', 'NotContains', 'Match', 'NotMatch', 'NotExists' + 'Contains', 'NotContains', 'Match', 'NotMatch', 'NotExists', 'DateStampedZip' ) function Test-Case { @@ -876,7 +871,9 @@ function Test-Case { $expect = 0 if ($Case.ContainsKey('ExpectExit')) { $expect = $Case['ExpectExit'] } + $started = Get-Date $result = Invoke-BuildScript -Arguments $argv -Environment $Case['Env'] + $finished = Get-Date $problems = @() @@ -902,6 +899,15 @@ function Test-Case { $problems += "no line matching /$pattern/" } } + if ($Case['DateStampedZip']) { + # Bound the accepted dates to this invocation so crossing midnight is + # valid without allowing an unrelated past or future date. + $dateStamps = @($started.ToString('yyyyMMdd'), $finished.ToString('yyyyMMdd')) | Select-Object -Unique + $pattern = '_(' + ($dateStamps -join '|') + ')\.zip$' + if (@($lines | Where-Object { $_ -match $pattern }).Count -eq 0) { + $problems += "no line matching /$pattern/" + } + } foreach ($pattern in $Case['NotMatch']) { foreach ($line in @($lines | Where-Object { $_ -match $pattern })) { $problems += "line matches /$pattern/: $line" diff --git a/scripts/tests/test_filament_id.py b/scripts/tests/test_filament_id.py index 3e7a6d2aec..fc62f5abc3 100644 --- a/scripts/tests/test_filament_id.py +++ b/scripts/tests/test_filament_id.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Tests for scripts/orca_id_tool.py (stdlib unittest, no external deps). +"""Tests for scripts/orca_profile_tool.py (stdlib unittest, no external deps). Run from the repo root: python -m unittest discover -s scripts/tests -v """ @@ -17,7 +17,7 @@ import uuid sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) -import orca_id_tool as afi # noqa: E402 +import orca_profile_tool as afi # noqa: E402 import update_bambu_filament_ids as ubfi # noqa: E402 REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")) @@ -55,13 +55,12 @@ def preset(name, filament_id=None, inherits=None, instantiation=True, class SyntheticTree: - """A throwaway resources/profiles-shaped directory plus a snapshot path.""" + """A throwaway resources/profiles-shaped directory.""" def __init__(self): self.dir = tempfile.mkdtemp(prefix="filament_id_test_") self.profiles = os.path.join(self.dir, "profiles") os.makedirs(self.profiles) - self.snapshot = os.path.join(self.dir, "filament_id_snapshot.json") def cleanup(self): shutil.rmtree(self.dir, ignore_errors=True) @@ -110,16 +109,6 @@ class SyntheticTree: with open(idx_path, "w", encoding="utf-8") as f: json.dump(index, f, indent=4, ensure_ascii=False) - def remove_preset(self, vendor, name): - os.remove(self.preset_path(vendor, name)) - idx_path = os.path.join(self.profiles, vendor + ".json") - with open(idx_path, encoding="utf-8") as f: - index = json.load(f) - index["filament_list"] = [ - e for e in index["filament_list"] if e["name"] != name] - with open(idx_path, "w", encoding="utf-8") as f: - json.dump(index, f, indent=4, ensure_ascii=False) - def bytes_map(self): """{relative path -> file bytes} over every .json in the tree.""" raw = {} @@ -135,17 +124,11 @@ class SyntheticTree: # -- pipeline wrappers --------------------------------------------------- - def update_snapshot(self, dry_run=False): - buf = io.StringIO() - with contextlib.redirect_stdout(buf): - rc = afi.update_snapshot(self.profiles, self.snapshot, dry_run) - return rc, buf.getvalue() - def check(self, map_path=None): buf = io.StringIO() kwargs = {} if map_path is None else {"map_path": map_path} with contextlib.redirect_stdout(buf): - errors = afi.check_filament_ids(self.profiles, self.snapshot, **kwargs) + errors = afi.check_filament_ids(self.profiles, **kwargs) return errors, buf.getvalue() # assign() and remint() are the same one pass over the tree — every filament @@ -164,22 +147,22 @@ class SyntheticTree: changed, errors = afi.generate_filament_ids(self.profiles, vendors, dry_run) return changed, errors, buf.getvalue() - def cli(self, *flags): + def cli(self, *argv): """Run main() against this tree, capturing stdout.""" + flags = [*argv, "--profiles", self.profiles] buf = io.StringIO() with contextlib.redirect_stdout(buf): - rc = afi.main([*flags, "--profiles", self.profiles, - "--snapshot", self.snapshot]) + rc = afi.main(flags) return rc, buf.getvalue() def make_clean_tree(apla_id="AX01", generic_id="OGFL99"): """Baseline tree: OFL base+generic, a vendor filament, a clean tuned generic. - apla_id/generic_id default to arbitrary non-OF placeholders (sanctioned by - the snapshot below) since most tests only need "already assigned, don't - touch" and never run the checks. TestAssign and the check tests pass real - OF-format ids instead (OfCleanTreeCase). + apla_id/generic_id default to arbitrary non-OF placeholders since most tests + only need "already assigned, don't touch" and never run the checks. + TestAssign and the check tests pass real OF-format ids instead + (OfCleanTreeCase). """ t = SyntheticTree() t.add_vendor(OFL, [ @@ -197,8 +180,6 @@ def make_clean_tree(apla_id="AX01", generic_id="OGFL99"): preset("Generic PLA @P1", inherits="Generic PLA @System", compatible_printers=["P1 0.4 nozzle"]), ]) - rc, _out = t.update_snapshot() - assert rc == 0 return t @@ -210,10 +191,9 @@ class SyntheticTreeCase(unittest.TestCase): class OfCleanTreeCase(unittest.TestCase): """Like SyntheticTreeCase, but the baseline filament/generic already carry - real OF-format ids (check 1 now rejects "AX01"/"OGFL99" unconditionally, - with no snapshot exemption), so an otherwise-untouched tree still passes - check_filament_ids. Tests that specifically need a non-OF baseline to - remint (TestRemint, TestUpdateSnapshot) keep using SyntheticTreeCase + real OF-format ids (check 1 rejects "AX01"/"OGFL99"), so an + otherwise-untouched tree passes check_filament_ids. Tests that specifically + need a non-OF baseline to remint (TestRemint) keep using SyntheticTreeCase instead. """ def setUp(self): @@ -229,7 +209,7 @@ class OfCleanTreeCase(unittest.TestCase): class TestMint(unittest.TestCase): def test_namespace_literal(self): - # Frozen: derived from the setting_id namespace; baked into the snapshot. + # Frozen: derived from the setting_id namespace; baked into every shipped id. self.assertEqual(afi.FILAMENT_ID_NAMESPACE, uuid.UUID("c4d3ff49-4c32-5534-a3e3-00894157ab97")) @@ -425,25 +405,19 @@ class TestTripleResolution(unittest.TestCase): self.assertEqual(afi.resolve_triple("MyPLA @P1", fmap, {}), ("MyVendor", "PLA", "MyPLA")) - -# --------------------------------------------------------------------------- -# reserved namespaces -# --------------------------------------------------------------------------- - -class TestReservedSpaces(unittest.TestCase): - def test_owners(self): - # Bambu AMS/RFID catalog: reserved, but no vendor (not even BBL) may declare it - self.assertEqual(afi.reserved_space_owner("GFL99"), (True, None)) - # Qidi device protocol: reserved, but no vendor may declare it - self.assertEqual(afi.reserved_space_owner("QD_X4_PLA"), (True, None)) - self.assertEqual(afi.reserved_space_owner("P1234abc"), (True, None)) - self.assertEqual(afi.reserved_space_owner("pAbCdEf1"), (True, None)) # case-insensitive - self.assertEqual(afi.reserved_space_owner("null"), (True, None)) - self.assertEqual(afi.reserved_space_owner("OF5CgdDq"), (False, None)) - self.assertEqual(afi.reserved_space_owner("P1234abcd"), (False, None)) # 8 hex chars: not the user space - - def test_gf_is_reserved_and_ownerless(self): - self.assertEqual(afi.reserved_space_owner("GFA00"), (True, None)) + def test_split_vendor_and_type_bases_resolve(self): + # A partial base is normal, not an error: vendor and type may live on + # different ancestors, with an intermediate supplying neither (the + # Snapmaker shape). The pair is complete at the instantiated preset. + recs = [ + self.rec("APLA @P1", inherits="mid"), + self.rec("mid", inherits="typebase"), + self.rec("typebase", filament_type=["PLA"], inherits="vendorbase"), + self.rec("vendorbase", filament_vendor=["AV"]), + ] + fmap = {r["name"]: r for r in recs} + self.assertEqual(afi.resolve_triple("APLA @P1", fmap, {}), + ("AV", "PLA", "APLA")) # --------------------------------------------------------------------------- @@ -457,6 +431,24 @@ class TestChecks(OfCleanTreeCase): self.assertNotIn("[ERROR]", out) self.assertNotIn("[WARNING]", out) + def test_instantiated_preset_over_partial_bases_is_silent(self): + # Vendor and type split across two non-instantiated bases, an + # intermediate base with neither: base profiles are allowed to be + # partial. Only the instantiated preset must resolve both. + self.t.write_preset("VendorA", preset("XPLA vendorbase", instantiation=False, + filament_vendor="XV")) + self.t.write_preset("VendorA", preset("XPLA typebase", instantiation=False, + filament_type="PLA", + inherits="XPLA vendorbase")) + self.t.write_preset("VendorA", preset("XPLA mid", instantiation=False, + inherits="XPLA typebase")) + self.t.write_preset("VendorA", preset( + "XPLA @P1", inherits="XPLA mid", + filament_id=afi.generate_filament_id("XV", "PLA", "XPLA"), + compatible_printers=["P1"])) + errors, out = self.t.check() + self.assertEqual(errors, 0, out) + def test_check1_unknown_non_of_id(self): self.t.write_preset("VendorA", preset("BPLA @base", filament_id="BOGUS_9", instantiation=False, @@ -468,22 +460,10 @@ class TestChecks(OfCleanTreeCase): self.assertIn('is not a minted "OF" id', out) self.assertIn("BOGUS_9", out) - def test_check2_new_claim_needs_snapshot_update(self): - self.t.write_preset("VendorA", preset("ANEW @P2", inherits="APLA @base", - compatible_printers=["P2"])) - errors, out = self.t.check() - self.assertGreater(errors, 0) - self.assertIn('claim "VendorA/ANEW" is not sanctioned', out) - self.assertIn("--update-snapshot", out) - - def test_check2_vanished_claim_is_stability_error(self): - self.t.remove_preset("VendorA", "APLA @P1") - errors, out = self.t.check() - self.assertGreater(errors, 0) - self.assertIn("stability", out) - self.assertIn('"VendorA/APLA"', out) - - def test_check2_triple_change_needs_snapshot_update(self): + def test_check2_triple_change_needs_a_remint(self): + # Correcting a triple changes the product's identity: the old id is no + # longer its mint, reported on the root and again under the variant + # inheriting it, until generate-id re-mints it. apla_id = afi.generate_filament_id("AVendor", "PLA", "APLA") self.t.write_preset("VendorA", preset("APLA @base", filament_id=apla_id, instantiation=False, @@ -491,26 +471,15 @@ class TestChecks(OfCleanTreeCase): filament_type="PETG"), register=False) errors, out = self.t.check() - self.assertGreater(errors, 0) - self.assertIn('triple "AVendor/PETG/APLA" is not sanctioned', out) - self.assertIn('which records "AVendor/PLA/APLA"', out) - # Sanctioning the new triple is not enough: the old id is no longer its - # mint (check 3, nothing grandfathered) — the identity fix is a re-mint, - # reported on the root and again under the variant inheriting it. - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() self.assertEqual(errors, 2, out) self.assertIn("does not match the mint of its triple", out) self.assertIn('"APLA @P1" (VendorA/filament/APLA @P1.json) inherits filament_id', out) _changed, errors, out = self.t.remint(["VendorA"]) self.assertEqual(errors, 0, out) - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) errors, out = self.t.check() self.assertEqual(errors, 0, out) - def test_check3_of_id_must_match_triple_mint(self): + def test_check2_of_id_must_match_triple_mint(self): self.t.write_preset("VendorA", preset("BNEW @base", filament_id="OFZZZZZZ", instantiation=False, filament_vendor="BV", filament_type="PLA")) @@ -521,39 +490,20 @@ class TestChecks(OfCleanTreeCase): self.assertIn("does not match the mint of its triple", out) self.assertIn(afi.generate_filament_id("BV", "PLA", "BNEW"), out) - def test_check3_no_grandfathering_of_a_wrong_declaration(self): - # Sanctioning the tree does not excuse a declaration from its mint. - self.t.write_preset("VendorA", preset("CNEW @base", filament_id="OFZZZZZZ", - instantiation=False, - filament_vendor="CV", filament_type="PLA")) - self.t.write_preset("VendorA", preset("CNEW @P1", inherits="CNEW @base", - compatible_printers=["P1"])) - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() - self.assertEqual(errors, 2, out) # the declaration, and the variant inheriting it - self.assertIn("does not match the mint of its triple", out) - self.assertIn('"CNEW @P1" (VendorA/filament/CNEW @P1.json) inherits filament_id', out) - - def test_check3_inherited_id_must_be_the_mint_of_own_triple(self): + def test_check2_inherited_id_must_be_the_mint_of_own_triple(self): # A preset of another filament inheriting APLA's root takes APLA's id, # which is not the mint of ITS triple (AVendor/PLA/Tuned PLA). self.t.write_preset("VendorA", preset("Tuned PLA @P1", inherits="APLA @base", compatible_printers=["P1"])) errors, out = self.t.check() - self.assertGreater(errors, 0) + self.assertEqual(errors, 1, out) self.assertIn('"Tuned PLA @P1" (VendorA/filament/Tuned PLA @P1.json) inherits ' 'filament_id "%s"' % afi.generate_filament_id("AVendor", "PLA", "APLA"), out) self.assertIn('mints "%s"' % afi.generate_filament_id("AVendor", "PLA", "Tuned PLA"), out) - # ... and sanctioning the tree does not excuse it either. - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() - self.assertEqual(errors, 1, out) - def test_check3_lists_every_preset_inheriting_a_wrong_id(self): + def test_check2_lists_every_preset_inheriting_a_wrong_id(self): # A wrong declaration is reported under every preset inheriting it, its # own product's variant and another product alike: each one's effective # id is not the mint of its own triple, and each is listed. Nothing is @@ -570,11 +520,10 @@ class TestChecks(OfCleanTreeCase): self.assertIn('"DNEW @P1" (VendorA/filament/DNEW @P1.json) inherits filament_id', out) self.assertIn('"Other DNEW @P1" (VendorA/filament/Other DNEW @P1.json) inherits ' 'filament_id', out) - # The unsanctioned id (check 2), the declaration (3a), and both presets - # inheriting it (3b). - self.assertEqual(errors, 4, out) + # The declaration (2a), and both presets inheriting it (2b). + self.assertEqual(errors, 3, out) - def test_check3_reports_an_inherited_mismatch_even_when_its_own_product_misdeclares_the_id(self): + def test_check2_reports_an_inherited_mismatch_even_when_its_own_product_misdeclares_the_id(self): # "Tuned PLA @P1" inherits APLA's root, so it carries APLA's id: wrong # for its own product however the declarations around it are fixed. # That "Tuned PLA @base" — its own product — misdeclares that same id @@ -591,11 +540,11 @@ class TestChecks(OfCleanTreeCase): 'not match the mint of its triple', out) self.assertIn('"Tuned PLA @P1" (VendorA/filament/Tuned PLA @P1.json) inherits ' 'filament_id', out) - # The unsanctioned claim and triple (check 2), the declaration (3a) and - # the inherited id (3b): four distinct errors, nothing folded away. - self.assertEqual(errors, 4, out) + # The declaration (2a) and the inherited id (2b): two distinct errors, + # nothing folded away. + self.assertEqual(errors, 2, out) - def test_check3_reports_a_collision_between_two_products(self): + def test_check2_reports_a_collision_between_two_products(self): # Two products whose triples mint one id is a base62 collision. There # is no salted or hand-picked second id to fall back on: the check # names both products, and the remedy is a rename so the triples differ. @@ -619,13 +568,12 @@ class TestChecks(OfCleanTreeCase): self.assertIn("V/PLA/X", out) self.assertIn("W/ABS/Y", out) # Each declaration is the mint of its own triple, so the collision is - # the only identity error — no product is pushed off its id — and the - # unsanctioned id (check 2) is the only other one. + # the only error — no product is pushed off its id. self.assertNotIn("does not match the mint", out) self.assertNotIn("inherits filament_id", out) - self.assertEqual(errors, 2, out) + self.assertEqual(errors, 1, out) - def test_check3_renamed_tuned_generic_is_an_identity_error(self): + def test_check2_renamed_tuned_generic_is_an_identity_error(self): # Riding the OFL generic under another base name: same rule, same error. self.t.write_preset("VendorA", preset("Tuned PLA @P1", inherits="Generic PLA @System", @@ -635,7 +583,7 @@ class TestChecks(OfCleanTreeCase): self.assertIn("Tuned PLA @P1", out) self.assertIn("inherits filament_id", out) - def test_check3_own_key_on_an_instantiated_preset_is_fine(self): + def test_check2_own_key_on_an_instantiated_preset_is_fine(self): # Where the id comes from is irrelevant: a variant may carry the key. apla_id = afi.generate_filament_id("AVendor", "PLA", "APLA") self.t.write_preset("VendorA", preset("APLA @P1", filament_id=apla_id, @@ -645,7 +593,7 @@ class TestChecks(OfCleanTreeCase): errors, out = self.t.check() self.assertEqual(errors, 0, out) - def test_check3_inheriting_a_real_filament_of_another_product_is_fine(self): + def test_check2_inheriting_a_real_filament_of_another_product_is_fine(self): # A branded product may inherit the OFL generic (an instantiated # preset) for its settings; it declares its own triple's id. fid = afi.generate_filament_id("BV", "PLA", "Branded PLA") @@ -653,8 +601,6 @@ class TestChecks(OfCleanTreeCase): inherits="Generic PLA @System", filament_vendor="BV", compatible_printers=["P1"])) - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) errors, out = self.t.check() self.assertEqual(errors, 0, out) # With a wrong key it is a plain mint mismatch: the parent plays no @@ -669,11 +615,12 @@ class TestChecks(OfCleanTreeCase): self.assertGreater(errors, 0) self.assertIn("does not match the mint of its triple", out) - def test_check4_reserved_namespace_claims(self): - for fid, marker in [("GFX99", "Bambu AMS/RFID catalog"), - ("QD_X_PLA", "composed by the device"), - ("P1a2b3c4", "user-custom"), - ("null", "user-custom")]: + def test_check1_an_id_another_system_composed_is_not_a_mint(self): + # Nothing is reserved because nothing is exempt: an id some other system + # composes for its own purposes - Bambu's catalog, a Qidi box, the dialog + # that creates a user filament - is simply not the mint of a triple, and + # check 1 rejects it for that and nothing else. + for fid in ("GFX99", "QD_X_PLA", "P1a2b3c4", "null"): with self.subTest(fid=fid): name = f"R{fid} @base" self.t.write_preset("VendorA", preset(name, filament_id=fid, @@ -684,25 +631,19 @@ class TestChecks(OfCleanTreeCase): compatible_printers=["P1"])) errors, out = self.t.check() self.assertGreater(errors, 0) - self.assertIn("reserved id space", out) - self.assertIn(marker, out) + self.assertIn(f'filament_id "{fid}"', out) + self.assertIn('is not a minted "OF" id', out) - def test_check3c_unresolvable_instantiated_filament(self): + def test_check2c_unresolvable_instantiated_filament(self): self.t.write_preset("VendorA", preset("DNEW @P1", compatible_printers=["P1"])) errors, out = self.t.check() self.assertGreater(errors, 0) self.assertIn("resolves no filament_id", out) self.assertIn("hard load error", out) - def test_missing_snapshot_is_an_error(self): - os.remove(self.t.snapshot) - errors, out = self.t.check() - self.assertEqual(errors, 1) - self.assertIn("snapshot not found", out) - -class TestCheck5(OfCleanTreeCase): - def test_5a_empty_vendor_is_hard_error(self): +class TestCheck3(OfCleanTreeCase): + def test_3a_empty_vendor_is_hard_error(self): fid = afi.generate_filament_id("", "PLA", "NVPLA") self.t.write_preset("VendorA", preset("NVPLA @base", filament_id=fid, instantiation=False, @@ -710,17 +651,11 @@ class TestCheck5(OfCleanTreeCase): self.t.write_preset("VendorA", preset("NVPLA @P1", inherits="NVPLA @base", compatible_printers=["P1"])) errors, out = self.t.check() - self.assertGreater(errors, 0) - self.assertIn("resolves empty filament_vendor", out) - self.assertIn('filament_vendor "Generic"', out) - # No grandfathering: sanctioning the tree does not silence check 5a. - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() self.assertEqual(errors, 1, out) self.assertIn("resolves empty filament_vendor", out) + self.assertIn('filament_vendor "Generic"', out) - def test_5b_divergent_filament_triples(self): + def test_3b_divergent_filament_triples(self): id1 = afi.generate_filament_id("MV", "PLA", "MPLA") id2 = afi.generate_filament_id("MV", "PETG", "MPLA") self.t.write_preset("VendorA", preset("MPLA @base1", filament_id=id1, @@ -732,18 +667,12 @@ class TestCheck5(OfCleanTreeCase): filament_vendor="MV", filament_type="PETG")) errors, out = self.t.check() - self.assertGreater(errors, 0) + self.assertEqual(errors, 1, out) self.assertIn("divergent triples", out) self.assertIn("MV/PLA/MPLA", out) self.assertIn("MV/PETG/MPLA", out) - # No grandfathering: sanctioning the tree does not silence check 5b. - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() - self.assertEqual(errors, 1, out) - self.assertIn("divergent triples", out) - def test_5_cross_bundle_divergence_is_warning_only(self): + def test_3_cross_bundle_divergence_is_warning_only(self): fid = afi.generate_filament_id("BV", "PETG", "APLA") self.t.add_vendor("VendorB", [ preset("APLA @base", filament_id=fid, instantiation=False, @@ -751,8 +680,6 @@ class TestCheck5(OfCleanTreeCase): preset("APLA @PB", inherits="APLA @base", compatible_printers=["PB 0.4 nozzle"]), ]) - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) errors, out = self.t.check() self.assertEqual(errors, 0, out) self.assertIn("[WARNING]", out) @@ -760,7 +687,7 @@ class TestCheck5(OfCleanTreeCase): self.assertIn('"APLA"', out) -class TestCheck6(OfCleanTreeCase): +class TestCheck4(OfCleanTreeCase): def _write_map(self, rows): path = os.path.join(self.t.dir, "bambu_filament_ids.json") ubfi.write_map(path, rows, "testcommit", "2026-09-04") @@ -862,101 +789,6 @@ class TestCheck6(OfCleanTreeCase): self.assertIn('declares no "bambu_id"', out) -# --------------------------------------------------------------------------- -# --update-snapshot -# --------------------------------------------------------------------------- - -class TestUpdateSnapshot(SyntheticTreeCase): - def test_idempotent_and_deterministic(self): - with open(self.t.snapshot, "rb") as f: - first = f.read() - rc, out = self.t.update_snapshot() - self.assertEqual(rc, 0) - self.assertIn("nothing changed", out) - with open(self.t.snapshot, "rb") as f: - self.assertEqual(f.read(), first) - self.assertTrue(first.endswith(b"\n")) - self.assertNotIn(b"\r", first) - snap = json.loads(first.decode("utf-8")) - self.assertEqual(list(snap), ["ids"]) # state only, no exception lists - self.assertEqual(list(snap["ids"]), sorted(snap["ids"])) - self.assertEqual(snap["ids"]["AX01"], { - "filaments": ["VendorA/APLA"], "name": "APLA", - "filament_type": "PLA", "filament_vendor": "AVendor"}) - self.assertEqual(snap["ids"]["OGFL99"], { - "filaments": ["OrcaFilamentLibrary/Generic PLA", "VendorA/Generic PLA"], - "name": "Generic PLA", "filament_type": "PLA", "filament_vendor": "Generic"}) - # Key order is part of the on-disk format. - self.assertEqual(list(snap["ids"]["AX01"]), - ["filaments", "name", "filament_type", "filament_vendor"]) - - def test_refuses_a_tree_it_could_not_read(self): - # A bundle that does not parse contributes no ids, so sanctioning the - # rest would record the loss as a deliberate removal. - with open(self.t.snapshot, "rb") as f: - before = f.read() - with open(os.path.join(self.t.profiles, "VendorA", - "filament", "APLA @base.json"), "w", - encoding="utf-8") as f: - f.write("{ not json") - rc, out = self.t.update_snapshot() - self.assertEqual(rc, 1, out) - self.assertIn("unreadable filament profile", out) - with open(self.t.snapshot, "rb") as f: - self.assertEqual(f.read(), before) - - def test_refuses_an_id_declared_under_two_triples(self): - # VendorB re-declares APLA's id for a different product: one id, two - # triples. No single entry can describe it, and check 3 rejects it anyway. - self.t.add_vendor("VendorB", [ - preset("BPLA @base", filament_id="AX01", instantiation=False, - filament_vendor="BVendor", filament_type="PLA"), - preset("BPLA @P1", inherits="BPLA @base", compatible_printers=["P1"]), - ]) - with open(self.t.snapshot, "rb") as f: - before = f.read() - rc, out = self.t.update_snapshot() - self.assertEqual(rc, 1) - self.assertIn('refusing to sanction filament_id "AX01": declared under 2 triples ' - '(AVendor/PLA/APLA; BVendor/PLA/BPLA)', out) - with open(self.t.snapshot, "rb") as f: - self.assertEqual(f.read(), before) # nothing written on refusal - - def test_refuses_reserved_namespace_ids(self): - self.t.write_preset("VendorA", preset("CNEW @base", filament_id="GFX99", - instantiation=False, - filament_vendor="CV", - filament_type="PLA")) - self.t.write_preset("VendorA", preset("CNEW @P1", inherits="CNEW @base", - compatible_printers=["P1"])) - with open(self.t.snapshot, "rb") as f: - before = f.read() - rc, out = self.t.update_snapshot() - self.assertEqual(rc, 1) - self.assertIn("refusing to sanction", out) - with open(self.t.snapshot, "rb") as f: - self.assertEqual(f.read(), before) # nothing written on refusal - - def test_dry_run_reports_without_writing(self): - self.t.write_preset("VendorA", preset("ANEW @P2", inherits="APLA @base", - compatible_printers=["P2"])) - with open(self.t.snapshot, "rb") as f: - before = f.read() - rc, out = self.t.update_snapshot(dry_run=True) - self.assertEqual(rc, 0) - self.assertIn("would be rewritten", out) - self.assertIn("claims added : 1", out) - with open(self.t.snapshot, "rb") as f: - self.assertEqual(f.read(), before) - # the real run writes exactly what the dry run reported - rc, out = self.t.update_snapshot() - self.assertEqual(rc, 0) - self.assertIn("snapshot written", out) - snap = load_json_file(self.t.snapshot) - self.assertEqual(snap["ids"]["AX01"]["filaments"], - ["VendorA/ANEW", "VendorA/APLA"]) - - # --------------------------------------------------------------------------- # --generate: one rule for inserts and rewrites alike # --------------------------------------------------------------------------- @@ -1040,7 +872,7 @@ class TestAssign(OfCleanTreeCase): def test_parent_of_another_filament_never_receives_the_key(self): # Members whose id-less parent belongs to another filament (here one # parent shared by two filaments) carry the key themselves: the - # parent's own triple would mint a different id (check 3). + # parent's own triple would mint a different id (check 2). self.t.write_preset("VendorA", preset("shared_base", instantiation=False, filament_vendor="SV", filament_type="PLA")) @@ -1058,8 +890,6 @@ class TestAssign(OfCleanTreeCase): parent = load_json_file(self.t.preset_path("VendorA", "shared_base")) self.assertNotIn("filament_id", parent) # ... and the tree they leave behind passes the identity check. - rc, _out = self.t.update_snapshot() - self.assertEqual(rc, 0) errors, out = self.t.check() self.assertEqual(errors, 0, out) @@ -1536,7 +1366,7 @@ class TestRemint(SyntheticTreeCase): class TestCli(unittest.TestCase): """main(argv) over a synthetic tree. The clean tree's baseline ids are - deliberately non-conformant ("AX01"/"OGFL99"), so a --generate run always + deliberately non-conformant ("AX01"/"OGFL99"), so a generate-id run always has both a filament_id rewrite and setting_id inserts to do.""" def setUp(self): @@ -1544,47 +1374,24 @@ class TestCli(unittest.TestCase): self.addCleanup(self.t.cleanup) def test_bare_invocation_prints_help(self): + # Naming no command is not an error: it is how you find out what the + # commands are, and it must never be mistaken for a run that did work. + before = self.t.bytes_map() buf = io.StringIO() with contextlib.redirect_stdout(buf): rc = afi.main([]) self.assertEqual(rc, 0) self.assertIn("usage:", buf.getvalue()) - self.assertIn("--generate", buf.getvalue()) - # ... and so does any invocation naming no mode: help, and no work - before = self.t.bytes_map() - rc, out = self.t.cli() - self.assertEqual(rc, 0) - self.assertIn("usage:", out) + for command in ("check", "generate-id", "normalize", "trim", "update-index"): + self.assertIn(command, buf.getvalue()) self.assertEqual(self.t.bytes_map(), before) - def test_another_tree_needs_its_own_snapshot(self): - # --profiles retargets the tree, but the sanctioned state of that tree - # is not the repo snapshot: checking against it is meaningless and - # re-recording into it would overwrite the tracked file. - with open(afi.SNAPSHOT_PATH, "rb") as f: - repo_snapshot = f.read() - for mode in ("--check", "--update-snapshot"): - with self.assertRaises(SystemExit) as caught: - with contextlib.redirect_stderr(io.StringIO()): - afi.main([mode, "--profiles", self.t.profiles]) - self.assertEqual(caught.exception.code, 2, mode) - with open(afi.SNAPSHOT_PATH, "rb") as f: - self.assertEqual(f.read(), repo_snapshot) - # Named explicitly, both modes run against that tree. - rc, out = self.t.cli("--update-snapshot") - self.assertEqual(rc, 0, out) - # --generate never reads the snapshot, so it keeps working without one. - buf = io.StringIO() - with contextlib.redirect_stdout(buf): - rc = afi.main(["--dry-run", "--profiles", self.t.profiles]) - self.assertEqual(rc, 0, buf.getvalue()) - def test_filament_id_and_setting_id_together_are_rejected(self): # Each flag's help promises it skips the other kind, so the pair cannot # quietly mean "both". with self.assertRaises(SystemExit) as caught: with contextlib.redirect_stderr(io.StringIO()): - afi.main(["--generate", "--filament-id", "--setting-id", + afi.main(["generate-id", "--filament-id", "--setting-id", "--profiles", self.t.profiles]) self.assertEqual(caught.exception.code, 2) @@ -1593,14 +1400,14 @@ class TestCli(unittest.TestCase): path = self.t.preset_path("VendorA", "APLA @base") with open(path, "w", encoding="utf-8") as f: f.write("{ not json") - rc, out = self.t.cli("--generate") + rc, out = self.t.cli("generate-id") self.assertEqual(rc, 1, out) self.assertIn("error(s)", out) self.assertNotIn("SUCCESS", out) - def test_dry_run_alone_previews_generate(self): + def test_dry_run_previews_generate_id(self): before = self.t.bytes_map() - rc, out = self.t.cli("--dry-run") + rc, out = self.t.cli("generate-id", "--dry-run") self.assertEqual(rc, 0, out) self.assertIn("would ", out) self.assertIn("nothing written", out) @@ -1615,7 +1422,7 @@ class TestCli(unittest.TestCase): filament_type="PLA", compatible_printers=["P1"])) before = self.t.bytes_map() - rc, out = self.t.cli("--generate") + rc, out = self.t.cli("generate-id") self.assertEqual(rc, 0, out) after = self.t.bytes_map() @@ -1629,7 +1436,7 @@ class TestCli(unittest.TestCase): def test_dryrun_is_the_same_flag(self): before = self.t.bytes_map() - rc, out = self.t.cli("--dryrun") + rc, out = self.t.cli("generate-id", "--dryrun") self.assertEqual(rc, 0, out) self.assertIn("would ", out) # the same preview, not a silent no-op self.assertIn("nothing written", out) @@ -1637,7 +1444,7 @@ class TestCli(unittest.TestCase): def test_generate_vendor_writes_only_in_that_bundle(self): before = self.t.bytes_map() - rc, out = self.t.cli("--generate", "--vendor", "VendorA") + rc, out = self.t.cli("generate-id", "--vendor", "VendorA") self.assertEqual(rc, 0, out) after = self.t.bytes_map() changed = sorted(rel for rel in before if after[rel] != before[rel]) @@ -1646,7 +1453,7 @@ class TestCli(unittest.TestCase): self.assertTrue(rel.startswith("VendorA" + os.sep), rel) # The bundles it spared were not simply already conformant: the # un-narrowed run goes on to write in them too. - rc, out = self.t.cli("--generate") + rc, out = self.t.cli("generate-id") self.assertEqual(rc, 0, out) final = self.t.bytes_map() self.assertTrue(any(final[rel] != after[rel] for rel in after @@ -1654,13 +1461,13 @@ class TestCli(unittest.TestCase): def test_generate_unknown_vendor_returns_1(self): before = self.t.bytes_map() - rc, out = self.t.cli("--generate", "--vendor", "Nope") + rc, out = self.t.cli("generate-id", "--vendor", "Nope") self.assertEqual(rc, 1) self.assertIn("unknown vendor", out) self.assertEqual(self.t.bytes_map(), before) def test_setting_id_only_leaves_filament_ids_alone(self): - rc, out = self.t.cli("--generate", "--setting-id") + rc, out = self.t.cli("generate-id", "--setting-id") self.assertEqual(rc, 0, out) root = load_json_file(self.t.preset_path("VendorA", "APLA @base")) self.assertEqual(root["filament_id"], "AX01") # not re-minted @@ -1671,7 +1478,7 @@ class TestCli(unittest.TestCase): "APLA @P1")) def test_filament_id_only_inserts_no_setting_id(self): - rc, out = self.t.cli("--generate", "--filament-id") + rc, out = self.t.cli("generate-id", "--filament-id") self.assertEqual(rc, 0, out) root = load_json_file(self.t.preset_path("VendorA", "APLA @base")) self.assertEqual(root["filament_id"], @@ -1680,24 +1487,42 @@ class TestCli(unittest.TestCase): self.assertNotIn( "setting_id", load_json_file(self.t.preset_path("VendorA", name))) - def test_check_mode_returns_1_on_errors(self): - # What CI keys off: --check exits nonzero when the tree does not match - # the snapshot it is validated against. + def test_check_returns_1_on_errors(self): + # What CI keys off: check exits nonzero when the tree breaks a rule, here + # the baseline's ids that are not minted. before = self.t.bytes_map() - rc, out = self.t.cli("--check") + rc, out = self.t.cli("check") self.assertEqual(rc, 1) - self.assertIn("error(s)", out) - self.assertEqual(self.t.bytes_map(), before) # --check never writes + self.assertIn("Files with errors", out) + self.assertEqual(self.t.bytes_map(), before) # check never writes + + def test_check_vendor_narrows_the_per_vendor_pass(self): + # check_profile.sh passes --vendor to this command, so it has to be + # accepted -- and it must narrow only the per-vendor half. + rc, out = self.t.cli("check", "--vendor", "VendorA") + self.assertEqual(rc, 1, out) # the tree-wide checks still ran + self.assertIn("Checked vendors : 1", out) + + def test_an_empty_vendor_means_every_vendor(self): + # check_profile.sh cannot expand an empty array under set -u, so it + # passes --vendor "" to mean "all of them". + _rc, scoped = self.t.cli("check", "--vendor", "") + _rc, unscoped = self.t.cli("check") + self.assertEqual(scoped, unscoped) def test_removed_and_conflicting_flags_are_rejected(self): - for argv in (["--remint", "VendorA"], # removed mode - ["--mint", "A/B/C"], # removed mode - ["--drop-redundant-ids", "VendorA"], # removed mode - ["--assign"], # removed mode - ["--generate", "--check"], # two modes - ["--vendor", "VendorA"], # narrowing without a mode - ["--filament-id"], # narrowing without a mode - ["--check", "--vendor", "VendorA"]): # narrowing on --check + for argv in (["--remint", "VendorA"], # removed mode + ["--generate"], # the pre-subcommand flag + ["--check"], # the pre-subcommand flag + ["--update-snapshot"], # the pre-subcommand flag + ["nonsense"], # not a command + ["update-snapshot"], # removed command + ["generate-id", "--filament-id", "--setting-id"], + ["check", "--materials"], # removed flag + ["check", "--obsolete-keys"], # removed flag + ["check", "--snapshot", "x"], # removed flag + ["check", "--filament-id"], # generate-id's option + ["normalize", "--profile-type", "nozzle"]): # not a profile type with self.subTest(argv=argv): with self.assertRaises(SystemExit) as cm, \ contextlib.redirect_stdout(io.StringIO()), \ @@ -1712,7 +1537,7 @@ class TestCli(unittest.TestCase): @unittest.skipUnless(os.path.isdir(REAL_PROFILES), "resources/profiles not present") class TestRealTree(unittest.TestCase): - def test_shipped_snapshot_matches_tree(self): + def test_shipped_filament_ids_pass(self): buf = io.StringIO() with contextlib.redirect_stdout(buf): errors = afi.check_filament_ids(REAL_PROFILES) @@ -1722,7 +1547,7 @@ class TestRealTree(unittest.TestCase): # The exact CI invocation, return code included. buf = io.StringIO() with contextlib.redirect_stdout(buf): - rc = afi.main(["--check"]) + rc = afi.main(["check"]) self.assertEqual(rc, 0, buf.getvalue()) def test_every_instantiated_filament_resolves_an_id(self): @@ -1730,6 +1555,19 @@ class TestRealTree(unittest.TestCase): self.assertEqual(analysis["missing_effective"], []) self.assertEqual(analysis["read_errors"], []) + def test_every_instantiated_filament_resolves_vendor_and_type(self): + # The property the web guide resolves at load: a partial base is fine as + # long as the instantiated preset ends up with both fields. Guards the + # split-base bundles (Snapmaker, Anker, SeeMeCNC). + analysis = afi.analyze_tree(REAL_PROFILES) + unresolved = [ + (vendor, rec["name"], rec["triple"][0], rec["triple"][1]) + for vendor, filaments in analysis["vendors"].items() + for rec in filaments.values() + if rec["instantiation"] and not (rec["triple"][0] and rec["triple"][1]) + ] + self.assertEqual(unresolved, []) + # --------------------------------------------------------------------------- # review-fix regressions # --------------------------------------------------------------------------- @@ -1774,10 +1612,10 @@ class TestReviewFixes(OfCleanTreeCase): self.assertIn(path, str(caught.exception)) self.assertIn("test edit", str(caught.exception)) - def test_check3_skips_of_id_inherited_from_other_vendor(self): + def test_check2_accepts_an_of_id_inherited_from_another_vendor(self): # An OFL filament carries its own minted OF id and a vendor tunes it - # correctly (same base name, non-empty printers). The new claim must - # trip only the snapshot gate, never mint conformance. + # correctly (same base name, non-empty printers): the id it inherits is + # the mint of its own triple. fid = afi.generate_filament_id("Generic", "PLA", "Generic PLA Matte") self.t.write_preset(OFL, preset("Generic PLA Matte @base", filament_id=fid, instantiation=False, @@ -1786,22 +1624,13 @@ class TestReviewFixes(OfCleanTreeCase): self.t.write_preset(OFL, preset("Generic PLA Matte @System", inherits="Generic PLA Matte @base", compatible_printers=[])) - rc, _ = self.t.update_snapshot() - self.assertEqual(rc, 0) self.t.write_preset("VendorA", preset("Generic PLA Matte @P1", inherits="Generic PLA Matte @System", compatible_printers=["P1 0.4 nozzle"])) errors, out = self.t.check() - self.assertNotIn("does not match the mint", out) - self.assertIn("not sanctioned", out) - self.assertEqual(errors, 1, out) - # After sanctioning the claim the tree is fully green again. - rc, _ = self.t.update_snapshot() - self.assertEqual(rc, 0) - errors, out = self.t.check() self.assertEqual(errors, 0, out) - def test_check3c_prints_expected_mint(self): + def test_check2c_prints_expected_mint(self): self.t.write_preset("VendorA", preset("Orphan PLA @P1", compatible_printers=["P1 0.4 nozzle"], filament_vendor="OV", diff --git a/scripts/tests/test_profile_tool.py b/scripts/tests/test_profile_tool.py new file mode 100644 index 0000000000..5359b1158b --- /dev/null +++ b/scripts/tests/test_profile_tool.py @@ -0,0 +1,990 @@ +#!/usr/bin/env python3 +"""Tests for the tree-maintenance half of scripts/orca_profile_tool.py: the +normalize, trim, update-index and check commands, and the subcommand dispatch that +reaches them (stdlib unittest, no external deps). + +The id halves are covered by test_filament_id.py and test_setting_id.py. + +Run from the repo root: python -m unittest discover -s scripts/tests -v +""" + +import contextlib +import io +import json +import os +import re +import shutil +import sys +import tempfile +import unittest + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) + +import orca_profile_tool as apt # noqa: E402 + +REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")) +REAL_PROFILES = os.path.join(REPO_ROOT, "resources", "profiles") + + +class Tree: + """A throwaway resources/profiles-shaped directory built one file at a time. + + Nothing is written implicitly: index entries are added by index(), so a test + can produce exactly the mismatch it is about (a file no list references, a + list naming a file that is not there, a preset whose name disagrees with the + index). + """ + + def __init__(self): + self.dir = tempfile.mkdtemp(prefix="profile_tool_test_") + self.profiles = os.path.join(self.dir, "profiles") + os.makedirs(self.profiles) + + def cleanup(self): + shutil.rmtree(self.dir, ignore_errors=True) + + def index_path(self, vendor): + return os.path.join(self.profiles, vendor + ".json") + + def add_vendor(self, vendor): + for sub in apt.PROFILE_SUBDIRS: + os.makedirs(os.path.join(self.profiles, vendor, sub), exist_ok=True) + if not os.path.exists(self.index_path(vendor)): + self.write_index(vendor, {"name": vendor, "version": "01.00.00.00"}) + return self + + def write_index(self, vendor, index): + with open(self.index_path(vendor), "w", encoding="utf-8", newline="\n") as f: + json.dump(index, f, indent=4, ensure_ascii=False) + f.write("\n") + + def read_index(self, vendor): + with open(self.index_path(vendor), encoding="utf-8-sig") as f: + return json.load(f) + + def index(self, vendor, section, name, sub_path): + index = self.read_index(vendor) + index.setdefault(section + "_list", []).append( + {"name": name, "sub_path": sub_path}) + self.write_index(vendor, index) + + def path(self, vendor, rel): + return os.path.join(self.profiles, vendor, rel.replace("/", os.sep)) + + def write(self, vendor, rel, data): + """Write a preset at /; returns its path.""" + self.add_vendor(vendor) + path = self.path(vendor, rel) + os.makedirs(os.path.dirname(path), exist_ok=True) + with open(path, "w", encoding="utf-8", newline="\n") as f: + json.dump(data, f, indent=4, ensure_ascii=False) + f.write("\n") + return path + + def write_raw(self, vendor, rel, raw): + self.add_vendor(vendor) + path = self.path(vendor, rel) + os.makedirs(os.path.dirname(path), exist_ok=True) + with open(path, "wb") as f: + f.write(raw) + return path + + def read(self, vendor, rel): + with open(self.path(vendor, rel), encoding="utf-8-sig") as f: + return json.load(f) + + def raw(self, vendor, rel): + with open(self.path(vendor, rel), "rb") as f: + return f.read() + + def bytes_map(self): + """Every file in the tree -> its bytes, for "nothing was written" asserts.""" + out = {} + for root, dirs, files in os.walk(self.profiles): + dirs.sort() + for name in sorted(files): + path = os.path.join(root, name) + with open(path, "rb") as f: + out[os.path.relpath(path, self.profiles)] = f.read() + return out + + +class TreeCase(unittest.TestCase): + def setUp(self): + self.t = Tree() + self.addCleanup(self.t.cleanup) + + def run_command(self, *argv): + """main() against this tree, capturing stdout.""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + rc = apt.main([*argv, "--profiles", self.t.profiles]) + return rc, buf.getvalue() + + +# --------------------------------------------------------------------------- +# normalize +# --------------------------------------------------------------------------- + +class TestObsoleteKeys(unittest.TestCase): + def test_obsolete_keys_match_the_loader_ignore_set(self): + path = os.path.join(REPO_ROOT, "src", "libslic3r", "PrintConfig.cpp") + with open(path, encoding="utf-8") as f: + source = f.read() + match = re.search( + r"void PrintConfigDef::handle_legacy\(.*?" + r"static\s+std::set\s+ignore\s*=\s*\{(.*?)\};", + source, re.DOTALL) + self.assertIsNotNone(match, "Could not locate the loader's obsolete-key set") + keys = re.sub(r"//[^\n]*|/\*.*?\*/", "", match.group(1), flags=re.DOTALL) + self.assertEqual(apt.OBSOLETE_KEYS, set(re.findall(r'"([^"\n]+)"', keys))) + + +class TestNormalize(TreeCase): + def test_a_missing_type_is_filled_in_from_the_directory(self): + self.t.write("V", "filament/A.json", {"name": "A"}) + self.t.write("V", "process/B.json", {"name": "B"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.read("V", "filament/A.json")["type"], "filament") + self.assertEqual(self.t.read("V", "process/B.json")["type"], "process") + + def test_the_machine_folder_splits_on_the_preset_name(self): + # Orca keeps machine models in machine/ next to the nozzle variants that + # are machines; only the name tells them apart. + self.t.write("V", "machine/M.json", {"name": "V Printer"}) + self.t.write("V", "machine/N.json", {"name": "V Printer 0.4 nozzle"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.read("V", "machine/M.json")["type"], "machine_model") + self.assertEqual(self.t.read("V", "machine/N.json")["type"], "machine") + + def test_dropped_keys_go_and_filament_vectors_are_arrayified(self): + self.t.write("V", "filament/A.json", { + "type": "filament", "name": "A", "version": "1.2.3", + "is_custom_defined": "1", "filament_type": "PLA", + "filament_vendor": "AV", "travel_speed": 200, + "filament_load_time": ["15"], "filament_unload_time": "0"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + data = self.t.read("V", "filament/A.json") + self.assertNotIn("version", data) + self.assertNotIn("is_custom_defined", data) + self.assertNotIn("travel_speed", data) # a process setting, not a filament one + self.assertNotIn("filament_load_time", data) + self.assertNotIn("filament_unload_time", data) + self.assertEqual(data["filament_type"], ["PLA"]) + self.assertEqual(data["filament_vendor"], ["AV"]) + + def test_obsolete_keys_are_removed_from_every_profile_type(self): + for sub in ("filament", "process", "machine"): + with self.subTest(profile_type=sub): + expected = {"type": sub, "name": "A"} + self.t.write("V", f"{sub}/A.json", { + **expected, "silent_mode": "", "adaptive_layer_height": "0", + "anisotropic_surfaces": "1", "filament_load_time": ["0"], + "filament_unload_time": "0"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.read("V", f"{sub}/A.json"), expected) + before = self.t.bytes_map() + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertIn("0 profile(s) normalized", out) + self.assertEqual(self.t.bytes_map(), before) + + def test_the_larger_extruder_clearance_wins(self): + # Keeping the smaller one would licence a toolhead collision. + self.t.write("V", "machine/M.json", { + "type": "machine", "name": "M 0.4 nozzle", + "extruder_clearance_radius": "45", "extruder_clearance_max_radius": "68"}) + self.t.write("V", "machine/N.json", { + "type": "machine", "name": "N 0.4 nozzle", + "extruder_clearance_radius": "68", "extruder_clearance_max_radius": "45"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + kept = self.t.read("V", "machine/M.json") + self.assertNotIn("extruder_clearance_radius", kept) + self.assertEqual(kept["extruder_clearance_max_radius"], "68") + kept = self.t.read("V", "machine/N.json") + self.assertNotIn("extruder_clearance_max_radius", kept) + self.assertEqual(kept["extruder_clearance_radius"], "68") + + def test_a_rewritten_file_leads_with_its_identifying_keys(self): + self.t.write("V", "filament/A.json", { + "filament_cost": [20], "name": "A", "instantiation": "true", + "inherits": "base", "version": "1"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + keys = list(self.t.read("V", "filament/A.json")) + self.assertEqual(keys[:4], ["type", "name", "inherits", "instantiation"]) + + def test_a_conforming_tree_is_left_byte_identical(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + # These used to be misclassified as obsolete: one is active, the other + # is a legacy alias that still supplies the toolhead clearance on load. + self.t.write("V", "machine/M.json", { + "type": "machine", "name": "M", "extruder_type": ["Direct Drive"], + "extruder_clearance_max_radius": "68", "machine_load_filament_time": "15", + "machine_unload_filament_time": "10"}) + self.t.write("V", "process/P.json", { + "type": "process", "name": "P", "travel_speed": "200", + "top_surface_fill_order": "outward"}) + before = self.t.bytes_map() + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.bytes_map(), before) + + def test_force_rewrites_even_a_conforming_file(self): + self.t.write_raw("V", "filament/A.json", + b'{"name":"A","type":"filament"}') + rc, out = self.run_command("normalize", "--force") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.raw("V", "filament/A.json"), + b'{\n\t"type": "filament",\n\t"name": "A"\n}\n') + + def test_dry_run_writes_nothing(self): + self.t.write("V", "filament/A.json", {"name": "A", "bed_temperature": ["60"]}) + before = self.t.bytes_map() + rc, out = self.run_command("normalize", "--dry-run") + self.assertEqual(rc, 0, out) + self.assertIn("would be", out) + self.assertEqual(self.t.bytes_map(), before) + + def test_profile_type_confines_the_run(self): + self.t.write("V", "filament/A.json", {"name": "A"}) + self.t.write("V", "process/B.json", {"name": "B"}) + rc, out = self.run_command("normalize", "--profile-type", "filament") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.read("V", "filament/A.json")["type"], "filament") + self.assertNotIn("type", self.t.read("V", "process/B.json")) + + def test_an_unreadable_profile_is_reported_not_swallowed(self): + self.t.write_raw("V", "filament/A.json", b"{ not json") + rc, out = self.run_command("normalize") + self.assertEqual(rc, 1, out) + self.assertIn("ERROR", out) + self.assertEqual(self.t.raw("V", "filament/A.json"), b"{ not json") + + def test_a_directory_without_an_index_is_not_a_bundle(self): + # resources/profiles also holds non-bundle entries (blacklist.json, the + # untracked user/ directory); only a directory WITH an index is a vendor. + stray = os.path.join(self.t.profiles, "user", "filament") + os.makedirs(stray) + with open(os.path.join(stray, "A.json"), "wb") as f: + f.write(b'{"name": "A"}') + self.t.write("V", "filament/A.json", {"name": "A"}) + rc, out = self.run_command("normalize") + self.assertEqual(rc, 0, out) + self.assertFalse(os.path.exists(os.path.join(self.t.profiles, "user.json"))) + with open(os.path.join(stray, "A.json"), "rb") as f: + self.assertEqual(f.read(), b'{"name": "A"}') + + +# --------------------------------------------------------------------------- +# trim +# --------------------------------------------------------------------------- + +class TestTrim(TreeCase): + def bundle(self): + self.t.write("V", "filament/Listed.json", + {"type": "filament", "name": "Listed"}) + self.t.index("V", "filament", "Listed", "filament/Listed.json") + return self.t + + def test_an_unindexed_preset_is_removed(self): + self.bundle().write("V", "filament/Orphan.json", + {"type": "filament", "name": "Orphan"}) + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + self.assertTrue(os.path.exists(self.t.path("V", "filament/Listed.json"))) + self.assertFalse(os.path.exists(self.t.path("V", "filament/Orphan.json"))) + + def test_a_dotted_sub_path_still_names_its_file(self): + # Index entries are hand-written; "filament/./X.json" is the same file. + self.bundle() + self.t.write("V", "filament/Dotted.json", + {"type": "filament", "name": "Dotted"}) + self.t.index("V", "filament", "Dotted", "filament/./Dotted.json") + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + self.assertTrue(os.path.exists(self.t.path("V", "filament/Dotted.json"))) + + def test_an_unparsable_file_is_kept_and_reported(self): + self.bundle().write_raw("V", "filament/Broken.json", b"{ not json") + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + self.assertIn("WARNING", out) + self.assertTrue(os.path.exists(self.t.path("V", "filament/Broken.json"))) + + def test_a_data_file_is_not_a_preset(self): + self.bundle().write("V", "filament/filaments_color_codes.json", + {"data": [], "total": 0}) + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + self.assertTrue(os.path.exists( + self.t.path("V", "filament/filaments_color_codes.json"))) + + def test_an_inherited_base_is_kept_and_reported(self): + # Neither file loads -- the loader only reads indexed sub_paths -- but + # deleting the parent destroys the only record of what the indexed child + # was written against, so that is a maintainer's call, not trim's. + self.bundle() + self.t.write("V", "machine/base.json", + {"type": "machine", "name": "V base"}) + self.t.write("V", "machine/mid.json", + {"type": "machine", "name": "V mid", "inherits": "V base"}) + self.t.write("V", "machine/M.json", + {"type": "machine", "name": "M 0.4 nozzle", "inherits": "V mid"}) + self.t.index("V", "machine", "M 0.4 nozzle", "machine/M.json") + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + # ... and the chain is followed: mid rescues base in a second pass. + self.assertTrue(os.path.exists(self.t.path("V", "machine/mid.json"))) + self.assertTrue(os.path.exists(self.t.path("V", "machine/base.json"))) + self.assertIn("inherited from", out) + + def test_a_stale_copy_of_an_indexed_profile_is_removed(self): + # "inherits" resolves by preset name, so the indexed base is the parent the + # child actually gets; the unindexed twin is a leftover the loader never + # reaches, and being named in an inherits does not earn it a reprieve. + self.bundle() + self.t.write("V", "machine/HSN/base.json", + {"type": "machine", "name": "V base"}) + self.t.index("V", "machine", "V base", "machine/HSN/base.json") + self.t.write("V", "machine/base.json", + {"type": "machine", "name": "V base"}) + self.t.write("V", "machine/M.json", + {"type": "machine", "name": "M 0.4 nozzle", "inherits": "V base"}) + self.t.index("V", "machine", "M 0.4 nozzle", "machine/M.json") + rc, out = self.run_command("trim") + self.assertEqual(rc, 0, out) + self.assertTrue(os.path.exists(self.t.path("V", "machine/HSN/base.json"))) + self.assertFalse(os.path.exists(self.t.path("V", "machine/base.json"))) + self.assertNotIn("WARNING", out) + self.assertIn('machine/HSN/base.json is the profile named "V base"', out) + + def test_dry_run_deletes_nothing(self): + self.bundle().write("V", "filament/Orphan.json", + {"type": "filament", "name": "Orphan"}) + before = self.t.bytes_map() + rc, out = self.run_command("trim", "--dry-run") + self.assertEqual(rc, 0, out) + self.assertIn("would be removed", out) + self.assertEqual(self.t.bytes_map(), before) + + +# --------------------------------------------------------------------------- +# update-index +# --------------------------------------------------------------------------- + +class TestUpdateIndex(TreeCase): + def test_every_profile_on_disk_lands_in_its_own_section(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.t.write("V", "process/B.json", {"type": "process", "name": "B"}) + self.t.write("V", "machine/M.json", {"type": "machine", "name": "M"}) + self.t.write("V", "machine/MM.json", {"type": "machine_model", "name": "MM"}) + rc, out = self.run_command("update-index") + self.assertEqual(rc, 0, out) + index = self.t.read_index("V") + self.assertEqual(index["filament_list"], + [{"name": "A", "sub_path": "filament/A.json"}]) + self.assertEqual(index["process_list"], + [{"name": "B", "sub_path": "process/B.json"}]) + self.assertEqual(index["machine_list"], + [{"name": "M", "sub_path": "machine/M.json"}]) + self.assertEqual(index["machine_model_list"], + [{"name": "MM", "sub_path": "machine/MM.json"}]) + + def test_parents_are_listed_before_their_children(self): + # The loader resolves inherits in one pass over the list. + for name, parent in (("C", "B"), ("A", None), ("B", "A")): + data = {"type": "filament", "name": name} + if parent: + data["inherits"] = parent + self.t.write("V", f"filament/{name}.json", data) + rc, out = self.run_command("update-index") + self.assertEqual(rc, 0, out) + self.assertEqual([e["name"] for e in self.t.read_index("V")["filament_list"]], + ["A", "B", "C"]) + # inherits is ordering input only; it never lands in the index. + for entry in self.t.read_index("V")["filament_list"]: + self.assertEqual(sorted(entry), ["name", "sub_path"]) + + def test_include_targets_are_listed_before_their_users(self): + # The loader resolves include like inherits: in one pass over the list, so + # a template must be listed before every preset that includes it - even + # though a template has no parent of its own to order it by. + self.t.write("V", "machine/P.json", {"type": "machine", "name": "P", + "include": ["T start", "T end"]}) + self.t.write("V", "machine/T start.json", {"type": "machine", "name": "T start"}) + self.t.write("V", "machine/T end.json", {"type": "machine", "name": "T end"}) + self.t.write("V", "filament/F.json", {"type": "filament", "name": "F", + "inherits": "B", "include": "S"}) + self.t.write("V", "filament/B.json", {"type": "filament", "name": "B"}) + self.t.write("V", "filament/S.json", {"type": "filament", "name": "S"}) + rc, out = self.run_command("update-index") + self.assertEqual(rc, 0, out) + machines = [e["name"] for e in self.t.read_index("V")["machine_list"]] + self.assertEqual(machines, ["T end", "T start", "P"]) + filaments = [e["name"] for e in self.t.read_index("V")["filament_list"]] + self.assertLess(filaments.index("B"), filaments.index("F")) + self.assertLess(filaments.index("S"), filaments.index("F")) + + def test_a_profile_with_no_usable_type_is_reported_not_dropped(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.t.write("V", "filament/B.json", {"name": "B"}) + rc, out = self.run_command("update-index") + self.assertEqual(rc, 1, out) + self.assertIn("cannot be indexed", out) + self.assertIn("filament/B.json", out) + + def test_two_profiles_claiming_one_name_leave_the_index_alone(self): + # The bundle holds one profile per name, so a rebuild would pick a winner by + # directory order and drop the other without a word. + self.t.write("V", "machine/base.json", {"type": "machine", "name": "base"}) + self.t.write("V", "machine/HSN/base.json", {"type": "machine", "name": "base"}) + self.t.index("V", "machine", "base", "machine/HSN/base.json") + before = self.t.bytes_map() + rc, out = self.run_command("update-index") + self.assertEqual(rc, 1, out) + self.assertIn('2 profiles are named "base"', out) + self.assertIn("machine/base.json", out) + self.assertIn("machine/HSN/base.json", out) + self.assertEqual(self.t.bytes_map(), before) + + def test_profile_type_rebuilds_only_that_section(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.t.write("V", "process/B.json", {"type": "process", "name": "B"}) + rc, out = self.run_command("update-index", "--profile-type", "filament") + self.assertEqual(rc, 0, out) + index = self.t.read_index("V") + self.assertEqual([e["name"] for e in index["filament_list"]], ["A"]) + self.assertNotIn("process_list", index) + + def test_an_up_to_date_index_is_left_byte_identical(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.run_command("update-index") + before = self.t.bytes_map() + rc, out = self.run_command("update-index") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.bytes_map(), before) + + def test_dry_run_writes_nothing(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + before = self.t.bytes_map() + rc, out = self.run_command("update-index", "--dry-run") + self.assertEqual(rc, 0, out) + self.assertIn("would be rebuilt", out) + self.assertEqual(self.t.bytes_map(), before) + + def test_a_json_file_with_no_bundle_is_never_touched(self): + # resources/profiles/blacklist.json is a .json with no directory beside + # it. Enumerating vendors by stem once wrote four empty *_list keys into it. + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + stray = os.path.join(self.t.profiles, "blacklist.json") + with open(stray, "wb") as f: + f.write(b'{"filament": ["GFSA03"]}') + rc, out = self.run_command("update-index") + self.assertEqual(rc, 0, out) + with open(stray, "rb") as f: + self.assertEqual(f.read(), b'{"filament": ["GFSA03"]}') + + +# --------------------------------------------------------------------------- +# check +# --------------------------------------------------------------------------- + +class TestCheck(TreeCase): + def bundle(self): + """A bundle that passes every per-vendor check.""" + self.t.write("V", "filament/A.json", { + "type": "filament", "name": "A", "instantiation": "true", + "filament_id": "OFaaaaaa", "filament_type": ["PLA"], + "filament_vendor": ["AV"], "compatible_printers": ["M 0.4 nozzle"], + "setting_id": apt.generate_preset_setting_id("V", "filament", "A")}) + self.t.index("V", "filament", "A", "filament/A.json") + return self.t + + def per_vendor_errors(self, *argv): + """Run the per-vendor checks alone, which is what --vendor narrows.""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_filament_compatible_printers(self.t.profiles, "V") + name_errors, _warn = apt.check_name_consistency(self.t.profiles, "V") + errors += name_errors + errors += apt.check_vector_type_keys(self.t.profiles, "V") + errors += apt.check_filament_id_length(self.t.profiles, "V") + conflict, _warn = apt.check_conflict_keys(self.t.profiles, "V") + errors += conflict + materials, _warn = apt.check_machine_default_materials(self.t.profiles, "V") + errors += materials + return errors, buf.getvalue() + + def test_a_clean_bundle_reports_nothing(self): + self.bundle() + errors, out = self.per_vendor_errors() + self.assertEqual(errors, 0, out) + + def test_an_instantiated_filament_needs_compatible_printers(self): + self.bundle().write("V", "filament/B.json", { + "type": "filament", "name": "B", "instantiation": "true"}) + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("'compatible_printers' missing", out) + + def test_a_library_filament_may_leave_compatible_printers_empty(self): + # The shared library is exempt from that rule and nothing else. + self.t.write(apt.OFL, "filament/A.json", + {"type": "filament", "name": "A", "instantiation": "true"}) + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_filament_compatible_printers(self.t.profiles, apt.OFL) + self.assertEqual(errors, 0, buf.getvalue()) + + def test_the_library_is_checked_like_any_other_bundle(self): + # A file the library's own index does not reference must fail plain + # `check`, now that the per-vendor pass no longer skips it. + self.t.write(apt.OFL, "filament/Stray.json", + {"type": "filament", "name": "Stray"}) + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) + self.assertIn(f"{apt.OFL}/filament/Stray.json: no {apt.OFL}.json list " + f"references it", out) + + def test_a_duplicate_key_is_an_error(self): + self.bundle().write_raw("V", "filament/B.json", + b'{"type":"filament","name":"B","name":"B2"}') + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("Duplicate key", out) + + def test_the_index_and_the_file_must_agree_on_the_name(self): + self.bundle() + self.t.write("V", "filament/C.json", {"type": "filament", "name": "Other"}) + self.t.index("V", "filament", "C", "filament/C.json") + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("name mismatch", out) + + def test_an_index_entry_with_no_file_is_an_error(self): + self.bundle() + self.t.index("V", "filament", "Gone", "filament/Gone.json") + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("Missing sub profile", out) + + def test_a_vector_option_may_not_be_a_scalar(self): + self.bundle().write("V", "filament/B.json", { + "type": "filament", "name": "B", "filament_type": "PLA"}) + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("must be an array", out) + + def test_renamed_and_old_option_may_not_co_exist(self): + self.bundle().write("V", "machine/M.json", { + "type": "machine", "name": "M 0.4 nozzle", + "extruder_clearance_radius": "45", "extruder_clearance_max_radius": "68"}) + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("Conflict keys", out) + + def test_the_length_rule_only_binds_indexed_presets(self): + # A file the index never loads cannot break AMS matching, and some + # bundles ship such orphans from before the rule existed. + self.bundle().write("V", "filament/Long.json", { + "type": "filament", "name": "Long", "filament_id": "OFtoolongforams"}) + errors, out = self.per_vendor_errors() + self.assertEqual(errors, 0, out) + self.t.index("V", "filament", "Long", "filament/Long.json") + errors, out = self.per_vendor_errors() + self.assertGreater(errors, 0) + self.assertIn("Filament id too long", out) + + def test_obsolete_key_warnings_exclude_active_and_renamed_options(self): + self.bundle().write("V", "filament/B.json", { + "type": "filament", "name": "B", "silent_mode": "0", + "anisotropic_surfaces": "0", "extruder_type": ["Direct Drive"], + "extruder_clearance_max_radius": "68"}) + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + warnings = apt.check_obsolete_keys(self.t.profiles, "V") + self.assertEqual(warnings, 2) + self.assertIn("Obsolete key", buf.getvalue()) + + def test_obsolete_key_warnings_run_without_a_flag(self): + self.t.write("V", "filament/A.json", { + "type": "filament", "name": "A", "silent_mode": "0"}) + self.run_command("update-index") + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) # normalization also rejects the obsolete key + self.assertIn("Obsolete key: 'silent_mode' found in V/filament/A.json", out) + self.assertIn("Files with warnings : 1", out) + + def test_a_default_material_must_exist_somewhere(self): + self.bundle().write("V", "machine/M.json", { + "type": "machine", "name": "M 0.4 nozzle", + "default_materials": "A;Nope"}) + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors, _warn = apt.check_machine_default_materials(self.t.profiles, "V") + self.assertEqual(errors, 1) + self.assertIn("'Nope'", buf.getvalue()) + + def test_a_default_material_fails_check_without_a_flag(self): + # The reference check is part of the default run, not an opt-in: a + # dangling name has to fail plain `check`. + self.bundle() + self.t.write("V", "machine/M.json", { + "type": "machine", "name": "M 0.4 nozzle", + "default_filament_profile": ["A", "Nope"]}) + self.t.index("V", "machine", "M 0.4 nozzle", "machine/M.json") + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) + self.assertIn("Missing filament profile: 'Nope'", out) + + def test_the_stray_user_directory_is_not_a_vendor(self): + # A local validator run leaves resources/profiles/user/ behind; an + # unscoped check must not count it as a bundle and warn about it. + self.bundle() + for sub in apt.PROFILE_SUBDIRS: + os.makedirs(os.path.join(self.t.profiles, apt.USER_DIR, "default", sub)) + _rc, out = self.run_command("check") + self.assertIn("Checked vendors : 1", out) + self.assertNotIn("user", out) + + def names(self, vendor="V"): + """The preset name check for one bundle, which is what --vendor narrows.""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_preset_name_uniqueness(self.t.profiles, vendor) + return errors, buf.getvalue() + + def test_one_bundle_may_not_hold_two_profiles_of_a_name(self): + self.bundle().write("V", "filament/dup.json", { + "type": "filament", "name": "A", "instantiation": "false"}) + errors, out = self.names() + self.assertEqual(errors, 1, out) + self.assertIn('V has 2 filament profiles named "A"', out) + + def test_an_unindexed_twin_counts_as_a_duplicate(self): + # The case this check was written for: a stale copy of a base profile in + # machine/, which no per-vendor check walked, one index edit away from + # silently deciding which of the two a whole bundle inherits from. + self.bundle() + self.t.write("V", "machine/HSN/base.json", + {"type": "machine", "name": "V base"}) + self.t.index("V", "machine", "V base", "machine/HSN/base.json") + self.t.write("V", "machine/base.json", {"type": "machine", "name": "V base"}) + errors, out = self.names() + self.assertEqual(errors, 1, out) + self.assertIn("machine/HSN/base.json", out) + self.assertIn("machine/base.json", out) + + def test_one_name_in_two_types_is_not_a_clash(self): + self.bundle() + self.t.write("V", "process/same.json", {"type": "process", "name": "A"}) + errors, out = self.names() + self.assertEqual(errors, 0, out) + + def test_a_name_is_per_bundle_not_global(self): + # fdm_machine_common exists in 60 shipped bundles; the name is scoped to the + # bundle that resolves it, so sharing one across vendors is not a clash. + for vendor in ("V", "W"): + self.t.write(vendor, "machine/common.json", + {"type": "machine", "name": "fdm_machine_common"}) + self.t.index(vendor, "machine", "fdm_machine_common", "machine/common.json") + for vendor in ("V", "W"): + errors, out = self.names(vendor) + self.assertEqual(errors, 0, out) + + def machine_models(self): + """The cross-vendor machine_model name check, whole tree by design.""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_machine_model_name_uniqueness(self.t.profiles) + return errors, buf.getvalue() + + def test_two_bundles_may_not_declare_one_machine_model_name(self): + # The name keys the global printer-type lookup: Preset::get_printer_type + # matches a preset's printer_model against every vendor's model names, so a + # copy of another vendor's model is ambiguous, not merely duplicated. + for vendor in ("V", "W"): + self.t.write(vendor, "machine/MyKlipper.json", + {"type": "machine_model", "name": "Generic Klipper Printer", + "model_id": "my_klipper_01"}) + errors, out = self.machine_models() + self.assertEqual(errors, 1, out) + self.assertIn('machine_model name "Generic Klipper Printer"', out) + self.assertIn("V/machine/MyKlipper.json", out) + self.assertIn("W/machine/MyKlipper.json", out) + + def test_distinct_machine_model_names_are_left_alone(self): + for vendor in ("V", "W"): + self.t.write(vendor, "machine/model.json", + {"type": "machine_model", "name": f"{vendor} Model"}) + errors, out = self.machine_models() + self.assertEqual(errors, 0, out) + + def coverage(self, vendor="V"): + """The index-coverage check for one bundle: (errors, gaps, output).""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors, gaps = apt.check_index_coverage(self.t.profiles, vendor) + return errors, gaps, buf.getvalue() + + def test_a_file_no_list_references_is_an_error(self): + self.bundle().write("V", "filament/Stray.json", + {"type": "filament", "name": "Stray"}) + errors, gaps, out = self.coverage() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["unindexed"], 1) + self.assertIn("no V.json list references it", out) + + def test_a_file_with_no_type_is_its_own_category(self): + # update-index cannot place it, so "add it to the index" is not the remedy. + self.bundle().write("V", "filament/Stray.json", {"name": "Stray"}) + errors, gaps, out = self.coverage() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["unindexable"], 1) + self.assertIn("declares no profile type", out) + + def test_an_unparsable_unlisted_file_is_reported_too(self): + self.bundle().write_raw("V", "filament/Broken.json", b"{ not json") + errors, gaps, out = self.coverage() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["unindexable"], 1) + + def test_a_dotted_sub_path_still_counts_as_listed(self): + self.bundle() + self.t.write("V", "filament/Dotted.json", + {"type": "filament", "name": "Dotted"}) + self.t.index("V", "filament", "Dotted", "filament/./Dotted.json") + errors, _gaps, out = self.coverage() + self.assertEqual(errors, 0, out) + + def test_a_data_file_is_not_expected_in_the_index(self): + self.bundle().write("V", "filament/filaments_color_codes.json", + {"data": [], "total": 0}) + errors, _gaps, out = self.coverage() + self.assertEqual(errors, 0, out) + + def test_a_bundle_with_no_index_is_left_to_the_name_check(self): + # Every file unlisted because there is no list at all is one problem, not + # one per file; check_name_consistency reports the missing index. + self.t.write("W", "filament/A.json", {"type": "filament", "name": "A"}) + os.remove(self.t.index_path("W")) + errors, _gaps, out = self.coverage("W") + self.assertEqual(errors, 0, out) + + def test_the_remedy_is_printed_once_not_once_per_file(self): + self.bundle() + for n in range(5): + self.t.write("V", f"filament/Stray{n}.json", + {"type": "filament", "name": f"Stray{n}"}) + self.t.write("V", "filament/NoType.json", {"name": "NoType"}) + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) + self.assertEqual(out.count("update-index\" to add them"), 1, out) + self.assertEqual(out.count("or delete them"), 1, out) + self.assertIn("5 unreferenced file(s)", out) + self.assertIn("1 unreferenced file(s)", out) + + def test_setting_id_uniqueness_is_tree_wide(self): + # Two presets sharing vendor/type/name mint one id, so the collision + # only shows up in a pass that has seen the whole tree. + shared = apt.generate_preset_setting_id("V", "filament", "A") + for rel in ("filament/A.json", "filament/nested/A.json"): + self.t.write("V", rel, {"type": "filament", "name": "A", + "instantiation": "true", "setting_id": shared}) + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_setting_id_uniqueness(self.t.profiles) + self.assertGreater(errors, 0) + self.assertIn("globally unique", buf.getvalue()) + + def test_a_base_profile_must_not_carry_a_setting_id(self): + self.t.write("V", "filament/base.json", { + "type": "filament", "name": "base", "instantiation": "false", + "setting_id": apt.generate_preset_setting_id("V", "filament", "base")}) + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors = apt.check_setting_id_uniqueness(self.t.profiles) + self.assertEqual(errors, 1) + self.assertIn("must not have a", buf.getvalue()) + + +# --------------------------------------------------------------------------- +# check: normalize and update-index would change nothing +# --------------------------------------------------------------------------- + +class TestNormalized(TreeCase): + """The pass that holds a bundle to the shape normalize and update-index write.""" + + def normalize(self): + """Put the tree in that shape, the way a contributor is told to.""" + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + apt.main(["normalize", "--profiles", self.t.profiles]) + apt.main(["update-index", "--profiles", self.t.profiles]) + return buf.getvalue() + + def normalized(self, vendor="V"): + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + errors, gaps = apt.check_normalized(self.t.profiles, vendor) + return errors, gaps, buf.getvalue() + + def test_a_bundle_the_two_commands_just_wrote_reports_nothing(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.t.write("V", "process/B.json", {"type": "process", "name": "B"}) + self.normalize() + errors, _gaps, out = self.normalized() + self.assertEqual(errors, 0, out) + + def test_a_profile_fix_would_rewrite_is_an_error(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + self.normalize() + # version belongs to the bundle, in .json, never to a preset. + data = self.t.read("V", "filament/A.json") + data["version"] = "01.00.00.00" + self.t.write("V", "filament/A.json", data) + errors, gaps, out = self.normalized() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["unnormalized"], 1, out) + self.assertIn("V/filament/A.json: normalize would remove version", out) + + def test_an_index_update_index_would_rebuild_is_an_error(self): + for name, parent in (("B", "A"), ("A", None)): + data = {"type": "filament", "name": name} + if parent: + data["inherits"] = parent + self.t.write("V", f"filament/{name}.json", data) + self.normalize() + # Parents-first is what lets the loader resolve inherits in one pass; a + # hand-edited list that puts the child first still names every file. + index = self.t.read_index("V") + index["filament_list"].reverse() + self.t.write_index("V", index) + errors, gaps, out = self.normalized() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["stale_index"], 1, out) + self.assertIn("V.json: update-index would rebuild filament_list", out) + + def test_an_unbuildable_index_is_left_to_the_checks_that_name_it(self): + # update-index refuses to rebuild a bundle where two files claim one name, + # so "would be rebuilt" on top of the duplicate-name error would be noise. + self.t.write("V", "machine/base.json", {"type": "machine", "name": "base"}) + self.normalize() + self.t.write("V", "machine/HSN/base.json", {"type": "machine", "name": "base"}) + errors, gaps, out = self.normalized() + self.assertEqual(errors, 0, out) + self.assertEqual(gaps["stale_index"], 0, out) + + def test_a_bundle_with_no_index_still_has_its_files_checked(self): + self.t.write("V", "filament/A.json", + {"type": "filament", "name": "A", "is_custom_defined": "0"}) + os.remove(self.t.index_path("V")) + errors, gaps, out = self.normalized() + self.assertEqual(errors, 1, out) + self.assertEqual(gaps["unnormalized"], 1, out) + self.assertEqual(gaps["stale_index"], 0, out) + + def test_the_shared_base_bundle_is_covered_too(self): + # normalize and update-index own the shape of every bundle, the shared + # library included. + self.t.write(apt.OFL, "filament/A.json", + {"type": "filament", "name": "A", "version": "01.00.00.00"}) + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) + self.assertIn(f"{apt.OFL}/filament/A.json: normalize would remove version", out) + + def test_each_remedy_is_printed_once_for_the_whole_run(self): + for n in range(3): + self.t.write("V", f"filament/A{n}.json", + {"type": "filament", "name": f"A{n}", + "version": "01.00.00.00"}) + self.t.write("W", "filament/B.json", {"type": "filament", "name": "B"}) + rc, out = self.run_command("check") + self.assertEqual(rc, 1, out) + self.assertIn("3 profile file(s) above are not what", out) + self.assertEqual(out.count('normalize" writes: run it and commit'), 1, out) + self.assertIn("2 vendor index(es) above are not what", out) + self.assertEqual(out.count('update-index" writes: run it and commit'), 1, out) + + +# --------------------------------------------------------------------------- +# CLI dispatch +# --------------------------------------------------------------------------- + +class TestDispatch(TreeCase): + def test_each_command_reaches_its_own_writer(self): + self.t.write("V", "filament/A.json", {"type": "filament", "name": "A"}) + for command, expected in (("normalize", "normalized"), + ("trim", "unreferenced"), + ("update-index", "vendor index")): + with self.subTest(command=command): + rc, out = self.run_command(command, "--dry-run") + self.assertEqual(rc, 0, out) + self.assertIn(expected, out) + + def test_an_option_belongs_to_one_command_only(self): + for argv in (["trim", "--force"], + ["update-index", "--filament-id"], + ["check", "--profile-type", "filament"]): + with self.subTest(argv=argv): + with self.assertRaises(SystemExit) as cm, \ + contextlib.redirect_stdout(io.StringIO()), \ + contextlib.redirect_stderr(io.StringIO()): + apt.main([*argv, "--profiles", self.t.profiles]) + self.assertEqual(cm.exception.code, 2) + + def test_an_unknown_vendor_stops_the_run(self): + self.t.write("V", "filament/A.json", {"name": "A"}) + before = self.t.bytes_map() + rc, out = self.run_command("normalize", "--vendor", "Nope") + self.assertEqual(rc, 1) + self.assertIn("unknown vendor", out) + self.assertEqual(self.t.bytes_map(), before) + + def test_an_empty_vendor_means_every_vendor(self): + self.t.write("V", "filament/A.json", {"name": "A"}) + rc, out = self.run_command("normalize", "--vendor", "") + self.assertEqual(rc, 0, out) + self.assertEqual(self.t.read("V", "filament/A.json")["type"], "filament") + + +# --------------------------------------------------------------------------- +# the real tree +# --------------------------------------------------------------------------- + +@unittest.skipUnless(os.path.isdir(REAL_PROFILES), "resources/profiles not present") +class TestRealTree(unittest.TestCase): + def test_check_passes(self): + # The exact CI invocation, return code included. + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + rc = apt.main(["check"]) + self.assertEqual(rc, 0, buf.getvalue()) + + def test_the_shipped_tree_needs_no_fix(self): + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + changed, errors = apt.normalize_profiles(REAL_PROFILES, dry_run=True) + self.assertEqual(errors, 0, buf.getvalue()) + self.assertEqual(changed, 0, buf.getvalue()) + + def test_the_shipped_indexes_need_no_rebuild(self): + buf = io.StringIO() + with contextlib.redirect_stdout(buf): + changed, errors = apt.update_profile_indexes(REAL_PROFILES, dry_run=True) + self.assertEqual(errors, 0, buf.getvalue()) + self.assertEqual(changed, 0, buf.getvalue()) + + def test_no_shipped_bundle_is_a_stray_json_file(self): + # blacklist.json has no directory beside it, so it is not a vendor. + self.assertNotIn("blacklist", apt.list_vendor_names(REAL_PROFILES)) + + +if __name__ == "__main__": + unittest.main() diff --git a/scripts/tests/test_setting_id.py b/scripts/tests/test_setting_id.py index 95e447d03c..f27438788f 100644 --- a/scripts/tests/test_setting_id.py +++ b/scripts/tests/test_setting_id.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Tests for the setting_id half of scripts/orca_id_tool.py (stdlib unittest, no +"""Tests for the setting_id half of scripts/orca_profile_tool.py (stdlib unittest, no external deps). Run from the repo root: python -m unittest discover -s scripts/tests -v @@ -17,7 +17,7 @@ import uuid sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) -import orca_id_tool as afi # noqa: E402 +import orca_profile_tool as afi # noqa: E402 REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")) REAL_PROFILES = os.path.join(REPO_ROOT, "resources", "profiles") @@ -246,7 +246,7 @@ class TestBase62Tail(unittest.TestCase): class TestAssignment(SettingTreeCase): def test_instantiation_is_read_exactly_as_the_validator_reads_it(self): - # orca_extra_profile_check.py tests `instantiation == "true"` strictly. + # check_setting_id_uniqueness tests `instantiation == "true"` strictly. # Anything looser here would hand an id to a preset the validator calls # a base profile, and the two would fight over it on every run. for name, value in [("Boolean", True), ("Capitalised", "True"), @@ -852,7 +852,7 @@ class TestCli(SettingTreeCase): self.t.write("VendorA", "machine", preset("P1 0.4 nozzle", type_name="machine")) - rc, out = self.main(["--generate", "--setting-id", + rc, out = self.main(["generate-id", "--setting-id", "--profiles", self.t.profiles]) self.assertEqual(rc, 0, out) @@ -874,13 +874,13 @@ class TestCli(SettingTreeCase): def test_dry_run_setting_id_writes_nothing(self): self.t.write("VendorA", "filament", preset("A PLA @P1")) before = self.t.bytes_map() - rc, out = self.main(["--generate", "--setting-id", "--dry-run", + rc, out = self.main(["generate-id", "--setting-id", "--dry-run", "--profiles", self.t.profiles]) self.assertEqual(rc, 0, out) self.assertIn("1 file(s) would change", out) # there WAS one to write self.assertEqual(self.t.bytes_map(), before) # the real run then writes exactly it - rc, out = self.main(["--generate", "--setting-id", + rc, out = self.main(["generate-id", "--setting-id", "--profiles", self.t.profiles]) self.assertEqual(rc, 0, out) self.assertIn("1 file(s) changed", out) @@ -888,7 +888,7 @@ class TestCli(SettingTreeCase): afi.generate_preset_setting_id("VendorA", "filament", "A PLA @P1")) - def test_setting_id_without_generate_is_a_usage_error(self): + def test_setting_id_without_a_command_is_a_usage_error(self): with contextlib.redirect_stderr(io.StringIO()), \ self.assertRaises(SystemExit) as cm: afi.main(["--setting-id", "--profiles", self.t.profiles]) diff --git a/scripts/update_bambu_filament_ids.py b/scripts/update_bambu_filament_ids.py index 539376599e..457a0347aa 100644 --- a/scripts/update_bambu_filament_ids.py +++ b/scripts/update_bambu_filament_ids.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """ Generate resources/printers/bambu_filament_ids.json: the map from Orca's -content-addressed filament_id ("OF" + 6 base62 chars, see orca_id_tool.py) +content-addressed filament_id ("OF" + 6 base62 chars, see orca_profile_tool.py) to Bambu Lab's own AMS/RFID catalog id ("GF..." etc.) for the subset of filament products Bambu ships. @@ -54,7 +54,7 @@ import tempfile import datetime sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) -from orca_id_tool import ( # noqa: E402 +from orca_profile_tool import ( # noqa: E402 BAMBU_MAP_PATH, OFL, PROFILES_DIR, diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 31f39921f4..e7facbdbd8 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #if defined(__linux__) || defined(__LINUX__) #include @@ -53,6 +54,8 @@ using namespace nlohmann; #include "libslic3r/libslic3r.h" #include "libslic3r/Config.hpp" +#include "libslic3r/FilamentMixer.hpp" +#include "libslic3r/Preset.hpp" #include "libslic3r/Geometry.hpp" #include "libslic3r/GCode.hpp" #include "libslic3r/Model.hpp" @@ -71,17 +74,21 @@ using namespace nlohmann; #include "libslic3r/Thread.hpp" #include "libslic3r/BlacklistedLibraryCheck.hpp" #include "libslic3r/FlushVolCalc.hpp" +#include "libslic3r/LayOnFace.hpp" #include "libslic3r/Orient.hpp" #include "libslic3r/PNGReadWrite.hpp" #include "libslic3r/ObjColorUtils.hpp" #include "OrcaSlicer.hpp" -//BBS: add exception handler for win32 +#include #include +//BBS: add exception handler for win32 #ifdef WIN32 #include "dev-utils/BaseException.h" #endif +#include "slic3r/Utils/MeshInspect.hpp" +#include "slic3r/Utils/PaintCLI.hpp" #include "slic3r/GUI/PartPlate.hpp" #include "slic3r/GUI/BitmapCache.hpp" #include "slic3r/GUI/OpenGLManager.hpp" @@ -160,6 +167,7 @@ std::map cli_errors = { {CLI_FILAMENT_CAN_NOT_MAP, "Some filaments cannot be mapped to correct extruders for multi-extruder Printer."}, {CLI_ONLY_ONE_TPU_SUPPORTED, "Not support printing 2 or more TPU filaments."}, {CLI_FILAMENTS_NOT_SUPPORTED_BY_EXTRUDER, "Some filaments cannot be printed on the extruder mapped to."}, + {CLI_MIXED_FILAMENT_INVALID, "A mixed filament is invalid: its components are different filament types, or it has no filament of its own."}, {CLI_SLICING_ERROR, "Failed slicing the model. Please verify the slicing of all plates on Orca Slicer before uploading."}, {CLI_GCODE_PATH_CONFLICTS, " G-code conflicts detected after slicing. Please make sure the 3mf file can be successfully sliced in the latest Orca Slicer. If the file slices normally in Orca Slicer, try moving the wipe tower further from other models, as we use more conservative parameters for it during upload."}, {CLI_GCODE_PATH_IN_UNPRINTABLE_AREA, "Found G-code in unprintable area of multi-extruder printers after slicing. Please make sure the 3mf file can be successfully sliced in the latest Orca Slicer."} @@ -185,6 +193,9 @@ typedef struct _sliced_info { int wall_loops{0}; std::vector upward_machines; std::vector downward_machines; + // Structured slicing warnings for result.json, and whether --strict was on. + nlohmann::json warnings = nlohmann::json::array(); + bool strict_mode {false}; }sliced_info_t; std::vector g_slicing_warnings; @@ -420,6 +431,21 @@ static PrinterTechnology get_printer_technology(const DynamicConfig &config) return(ret);} #endif +// Records a structured slicing warning so a CI or scripted consumer can branch on +// a stable `class` string instead of matching stderr. Warnings are kept on the +// run's sliced_info and emitted as the top-level "warnings" array of result.json; +// a non-empty array does not by itself mean the run failed. Under --strict a +// NON_CRITICAL warning additionally ends the run non-zero. +// +// result.json is written on Linux only (see the guard in record_exit_reson), so +// neither "warnings" nor "strict_mode" reaches Windows or macOS. +static void cli_record_warning(sliced_info_t &sliced_info, const std::string &cls, + nlohmann::json details = nlohmann::json::object()) +{ + details["class"] = cls; + sliced_info.warnings.push_back(std::move(details)); +} + void record_exit_reson(std::string outputdir, int code, int plate_id, std::string error_message, sliced_info_t& sliced_info, std::map key_values = std::map()) { #if defined(__linux__) || defined(__LINUX__) @@ -458,6 +484,9 @@ void record_exit_reson(std::string outputdir, int code, int plate_id, std::strin for (auto& iter: key_values) j[iter.first] = iter.second; + j["warnings"] = sliced_info.warnings; + j["strict_mode"] = sliced_info.strict_mode; + boost::nowide::ofstream c; c.open(result_file, std::ios::out | std::ios::trunc); c << j.dump(1, '\t') << std::endl; @@ -1377,12 +1406,87 @@ int CLI::run(int argc, char **argv) bool need_skip = (skip_objects.size() > 0)?true:false; long long global_begin_time = 0, global_current_time; sliced_info_t sliced_info; + // Read up front so result.json reports it for early failures too. + sliced_info.strict_mode = m_config.opt_bool("strict"); + // --no-check skips the check behind the only NON_CRITICAL warning --strict acts on + // (support needed but disabled), from the point it appears among the actions. The pair + // would make --strict a no-op or depend on argument order, so refuse it. + if (sliced_info.strict_mode && m_config.opt_bool("no_check")) { + boost::nowide::cerr << "--strict cannot be combined with --no-check" << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } std::map record_key_values; ConfigOptionBool* downward_check_option = m_config.option("downward_check"); if (downward_check_option) downward_check = downward_check_option->value; + // --inspect-mesh prints its JSON and exits, so any action that does work of its + // own (slicing, exporting) would be skipped without notice. Reject those up front; + // only options that merely tune how the input is loaded may come along. + if (std::find(m_actions.begin(), m_actions.end(), "inspect_mesh") != m_actions.end()) { + static const std::set inspect_compatible = { "inspect_mesh", "uptodate", "load_defaultfila", "min_save", + "mtcpp", "mstpp", "no_check", "normative_check", "pipe" }; + for (const std::string &action : m_actions) { + if (inspect_compatible.count(action) == 0) { + std::string flag = action; + std::replace(flag.begin(), flag.end(), '_', '-'); + boost::nowide::cerr << "--inspect-mesh cannot be combined with --" << flag << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } + // Without input there is nothing to inspect; fail rather than print nothing and exit 0. + if (m_input_files.empty() && m_config.opt_string("load_assemble_list").empty()) { + boost::nowide::cerr << "--inspect-mesh needs an input file or --load-assemble-list" << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } + + // --inspect-paint prints its JSON and exits, so any action that does work of its + // own (slicing, exporting) would be skipped without notice. Reject those up front; + // only options that merely tune how the input is loaded may come along. + if (std::find(m_actions.begin(), m_actions.end(), "inspect_paint") != m_actions.end()) { + static const std::set inspect_compatible = { "inspect_paint", "uptodate", "load_defaultfila", "min_save", + "mtcpp", "mstpp", "no_check", "normative_check", "pipe" }; + for (const std::string &action : m_actions) { + if (inspect_compatible.count(action) == 0) { + std::string flag = action; + std::replace(flag.begin(), flag.end(), '_', '-'); + boost::nowide::cerr << "--inspect-paint cannot be combined with --" << flag << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } + // Without input there is nothing to inspect; fail rather than print nothing and exit 0. + if (m_input_files.empty() && m_config.opt_string("load_assemble_list").empty()) { + boost::nowide::cerr << "--inspect-paint needs an input file or --load-assemble-list" << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } + + // --export-settings - writes its JSON to stdout, so reject every action or transform that may write there + // too (--info, --help, --orient, slicing and exporting). The allowed ones do nothing when nothing is + // sliced or exported. + if (std::find(m_actions.begin(), m_actions.end(), "export_settings") != m_actions.end() && m_config.opt_string("export_settings") == "-") { + static const std::set stdout_compatible = { "export_settings", "uptodate", "load_defaultfila", "min_save", + "mtcpp", "mstpp", "no_check", "normative_check", "pipe" }; + for (const std::vector *opt_keys : { &m_actions, &m_transforms }) { + for (const std::string &opt_key : *opt_keys) { + if (stdout_compatible.count(opt_key) == 0) { + std::string flag = opt_key; + std::replace(flag.begin(), flag.end(), '_', '-'); + boost::nowide::cerr << "--export-settings - cannot be combined with --" << flag << std::endl; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } + } + } + bool start_gui = m_actions.empty() && !downward_check; if (start_gui) { BOOST_LOG_TRIVIAL(info) << "no action, start gui directly" << std::endl; @@ -1466,6 +1570,10 @@ int CLI::run(int argc, char **argv) std::vector upward_compatible_printers, new_print_compatible_printers, current_print_compatible_printers, current_different_settings; std::vector current_filaments_name, current_filaments_system_name, current_inherits_group, current_extruder_variants, new_extruder_variants, current_print_extruder_variants, new_printer_extruder_variants; DynamicPrintConfig load_process_config, load_machine_config; + //ORCA: full configs of the "current" (3MF-embedded) process/printer presets, kept so that + // compatible_printers_condition can be evaluated for them below. Previously only the + // literal compatible_printers list was extracted. + DynamicPrintConfig current_process_full_config, current_printer_full_config; bool new_process_config_is_system = true, new_printer_config_is_system = true; std::string pipe_name, makerlab_name, makerlab_version, different_process_setting; const std::vector &metadata_name = m_config.option("metadata_name", true)->values; @@ -1507,6 +1615,10 @@ int CLI::run(int argc, char **argv) ConfigOptionBool* allow_rotations_option = m_config.option("allow_rotations"); if (allow_rotations_option) allow_rotations = allow_rotations_option->value; + // Only an explicit --align-to-y-axis overrides the printer-structure default. + std::optional align_to_y_axis; + if (m_given_option_keys.count("align_to_y_axis") > 0) + align_to_y_axis = m_config.opt_bool("align_to_y_axis"); ConfigOptionBool* skip_modified_gcodes_option = m_config.option("skip_modified_gcodes"); if (skip_modified_gcodes_option) @@ -1925,7 +2037,7 @@ int CLI::run(int argc, char **argv) } } catch (std::exception& e) { - boost::nowide::cerr << construct_assemble_list << ": " << e.what() << std::endl; + boost::nowide::cerr << "construct_assemble_list: " << e.what() << std::endl; record_exit_reson(outfile_dir, CLI_DATA_FILE_ERROR, 0, cli_errors[CLI_DATA_FILE_ERROR], sliced_info); flush_and_exit(CLI_DATA_FILE_ERROR); } @@ -1975,7 +2087,7 @@ int CLI::run(int argc, char **argv) } std::unique_ptr cli_preset_bundle; - auto ensure_cli_preset_bundle = [&cli_preset_bundle, config_substitution_rule](std::string &error) -> PresetBundle * { + auto ensure_cli_preset_bundle = [&cli_preset_bundle](std::string &error) -> PresetBundle * { if (cli_preset_bundle) return cli_preset_bundle.get(); try { @@ -2002,19 +2114,21 @@ int CLI::run(int argc, char **argv) } }; - auto resolve_preset = [&ensure_cli_preset_bundle, config_substitution_rule](const std::string &file, DynamicPrintConfig &config, + // One resolver for the whole run, so presets from the same vendor tree share its load. + std::unique_ptr system_preset_resolver; + auto resolve_preset = [&ensure_cli_preset_bundle, &system_preset_resolver](const std::string &file, DynamicPrintConfig &config, std::string &config_type, const std::string &config_from, bool probe_type, std::string &error) { const auto *inherits = config.option(BBL_JSON_KEY_INHERITS); if (!probe_type && (inherits == nullptr || inherits->value.empty())) return true; - std::unique_ptr source_bundle; PresetBundle *bundle = nullptr; bool allow_source_manifest = false; if (config_from == "system") { - source_bundle = std::make_unique(); - bundle = source_bundle.get(); + if (!system_preset_resolver) + system_preset_resolver = std::make_unique(); + bundle = system_preset_resolver.get(); allow_source_manifest = true; } else { bundle = ensure_cli_preset_bundle(error); @@ -2046,7 +2160,52 @@ int CLI::run(int argc, char **argv) error, allow_source_manifest); }; - auto load_config_file = [config_substitution_rule, &resolve_preset](const std::string& file, DynamicPrintConfig& config, std::string& config_type, + //ORCA: list the keys a user preset overrides relative to its system parent, for the + // `different_settings_to_system` column of an exported 3MF. Without it the CLI + // writes an empty column, so re-opening a CLI-exported project in the GUI shows + // spurious "unsaved changes" and can revert inherited process/filament/machine + // values to system defaults. + // + // The parent comes from the preset bundle that inherits resolution already builds, + // so this adds no extra loading. Returns "" whenever the parent cannot be resolved, + // which is exactly the previous behaviour. + auto cli_different_settings = [&ensure_cli_preset_bundle](const DynamicPrintConfig &resolved, + const std::string &parent_name, + Preset::Type type) -> std::string { + if (parent_name.empty()) + return std::string(); + std::string error; + PresetBundle *bundle = ensure_cli_preset_bundle(error); + if (bundle == nullptr) { + BOOST_LOG_TRIVIAL(warning) << "CLI: no preset bundle for different_settings_to_system: " << error; + return std::string(); + } + const PresetCollection *collection = nullptr; + switch (type) { + case Preset::TYPE_PRINT: collection = &bundle->prints; break; + case Preset::TYPE_FILAMENT: collection = &bundle->filaments; break; + case Preset::TYPE_PRINTER: collection = &bundle->printers; break; + default: return std::string(); + } + const Preset *parent = collection->find_preset2(parent_name, true); + if (parent == nullptr) { + BOOST_LOG_TRIVIAL(warning) << boost::format("CLI: parent preset '%1%' not found; leaving different_settings_to_system empty")%parent_name; + return std::string(); + } + std::vector keys = resolved.diff(parent->config); + //ORCA: preset metadata, not user-tunable settings. compatible_printers / + // compatible_prints have their own tracking columns and would double-count. + keys.erase(std::remove_if(keys.begin(), keys.end(), [](const std::string &k) { + return k == "inherits" || k == "compatible_printers" || k == "compatible_prints" + || k == "compatible_printers_condition" || k == "compatible_prints_condition" + || k == "print_settings_id" || k == "filament_settings_id" || k == "printer_settings_id"; + }), + keys.end()); + BOOST_LOG_TRIVIAL(info) << boost::format("CLI: %1% overrides vs parent '%2%'")%keys.size()%parent_name; + return Slic3r::escape_strings_cstyle(keys); + }; + + auto load_config_file = [&resolve_preset](const std::string& file, DynamicPrintConfig& config, std::string& config_type, std::string& config_name, std::string& filament_id, std::string& config_from) { if (! boost::filesystem::exists(file)) { boost::nowide::cerr << __FUNCTION__<< ": can not find setting file: " << file << std::endl; @@ -2635,6 +2794,8 @@ int CLI::run(int argc, char **argv) flush_and_exit(ret); } upward_compatible_printers = config.option("upward_compatible_machine", true)->values; + //ORCA: keep the full config so compatible_printers_condition can be evaluated against it below + current_printer_full_config = std::move(config); } } } @@ -2657,6 +2818,8 @@ int CLI::run(int argc, char **argv) flush_and_exit(ret); } current_print_compatible_printers = config.option("compatible_printers", true)->values; + //ORCA: keep the full config so compatible_printers_condition can be evaluated against it below + current_process_full_config = std::move(config); } } } @@ -2675,46 +2838,88 @@ int CLI::run(int argc, char **argv) for (int index = 0; index < upward_compatible_printers.size(); index++) { BOOST_LOG_TRIVIAL(info) << boost::format("index %1%, upward_compatible_printers %2%")%index %upward_compatible_printers[index]; } + //ORCA: Replace the four manual equality-loop checks below with is_compatible_with_printer(), the + // same helper the GUI uses, which also evaluates compatible_printers_condition. Process + // profiles that declare compatibility via condition only -- leaving compatible_printers + // empty -- were always reported incompatible by the literal-name match, so a CLI slice with + // such a preset exited with CLI_PROCESS_NOT_COMPATIBLE (-17) even though the GUI accepts the + // same pair. Behaviour is unchanged where an explicit list exists: is_compatible_with_printer + // does the same name match, and returns true when both list and condition are empty (which + // matches the "old 3mf, no compatible printers" path below). + auto check_compat = [](const DynamicPrintConfig &process_cfg, + const DynamicPrintConfig &printer_cfg, + const std::string &printer_name) -> bool { + return is_compatible_with_printer(process_cfg, Preset::TYPE_PRINT, printer_cfg, printer_name); + }; + + //ORCA: a 3MF's project config does not carry compatible_printers / compatible_printers_condition. + // PresetBundle::construct_full_config() erases both and re-emits them as + // print_compatible_printers and compatible_machine_expression_group; they are renamed back + // only on the PresetBundle load path, which the CLI does not take. Feeding the project config + // to the check as-is therefore presents no list and no condition, and + // is_compatible_with_printer() reads that as "no constraint" and accepts every printer. + // Translate the two keys back. Index 0 of the expression group is the print preset -- the + // group is filled print, filaments, printer (PresetBundle.cpp). + // The raw keys win whenever they carry something. A project the CLI exported itself has the + // real compatible_printers_condition AND an all-empty compatible_machine_expression_group, + // so copying the group's first entry unconditionally would overwrite a valid condition with + // "" and accept every printer. The renamed keys are only a fallback, and an empty value is + // never written over a real one. + auto cli_process_compat_config = [](const DynamicPrintConfig &project_cfg) -> DynamicPrintConfig { + DynamicPrintConfig cfg = project_cfg; + const auto *raw_list = project_cfg.option("compatible_printers"); + const auto *list = project_cfg.option("print_compatible_printers"); + if ((raw_list == nullptr || raw_list->values.empty()) && list != nullptr && !list->values.empty()) + cfg.set_key_value("compatible_printers", new ConfigOptionStrings(list->values)); + const auto *raw_cond = project_cfg.option("compatible_printers_condition"); + const auto *group = project_cfg.option("compatible_machine_expression_group"); + if ((raw_cond == nullptr || raw_cond->value.empty()) && group != nullptr && !group->values.empty() && + !group->values.front().empty()) + cfg.set_key_value("compatible_printers_condition", new ConfigOptionString(group->values.front())); + return cfg; + }; if (!new_printer_name.empty()) { if (!new_process_name.empty()) { - for (int index = 0; index < new_print_compatible_printers.size(); index++) { - if (new_print_compatible_printers[index] == new_printer_system_name) { - process_compatible = true; - break; - } - } + //new process + new printer: both configs came from --load-settings + process_compatible = check_compat(load_process_config, load_machine_config, new_printer_system_name); BOOST_LOG_TRIVIAL(info) << boost::format("new printer %1%, inherited from %2%, new process %3%, inherited from %4% ,compatible %5%") %new_printer_name %new_printer_system_name %new_process_name %new_process_system_name %process_compatible; } else { - for (int index = 0; index < current_print_compatible_printers.size(); index++) { - if (current_print_compatible_printers[index] == new_printer_system_name) { - process_compatible = true; - break; - } + //3MF-embedded process vs new printer. current_process_full_config is only populated from + //profiles/BBL/process_full/, so for every other vendor fall back to the 3MF's own project + //config in m_print_config, with its renamed compatibility keys translated back (see + //cli_process_compat_config above). Without this a 3MF built from a condition-only process + //is rejected when re-sliced with the very printer it was made for. + { + //ORCA: profiles/BBL/{process,machine}_full/ are gitignored and not generated in-tree, + // so current_*_full_config is always empty and this fallback is the only live path. + const DynamicPrintConfig process_cfg = current_process_full_config.empty() + ? cli_process_compat_config(m_print_config) + : current_process_full_config; + process_compatible = check_compat(process_cfg, load_machine_config, new_printer_system_name); } BOOST_LOG_TRIVIAL(info) << boost::format("new printer %1%, inherited from %2%, old process %3%, inherited from %4% ,compatible %5%") %new_printer_name %new_printer_system_name %current_process_name %current_process_system_name %process_compatible; } } else if (!new_process_name.empty()) { - for (int index = 0; index < new_print_compatible_printers.size(); index++) { - if (new_print_compatible_printers[index] == current_printer_system_name) { - process_compatible = true; - break; - } + //new process vs 3MF-embedded printer. As above, current_printer_full_config only resolves for + //BBL profiles; otherwise evaluate against the 3MF's own project config in m_print_config, which + //holds the embedded printer's printer_notes / nozzle_diameter. + { + const DynamicPrintConfig &printer_cfg = current_printer_full_config.empty() ? m_print_config : current_printer_full_config; + process_compatible = check_compat(load_process_config, printer_cfg, current_printer_system_name); } BOOST_LOG_TRIVIAL(info) << boost::format("old printer %1%, inherited from %2%, new process %3%, inherited from %4% ,compatible %5%") %current_printer_name %current_printer_system_name %new_process_name %new_process_system_name %process_compatible; } else { - //check the compatible of old printer&&process - for (int index = 0; index < current_print_compatible_printers.size(); index++) { - if (current_print_compatible_printers[index] == current_printer_system_name) { - process_compatible = true; - break; - } - } + //both sides 3MF-embedded (pure reprocess) + if (!current_process_full_config.empty() && !current_printer_full_config.empty()) + process_compatible = check_compat(current_process_full_config, current_printer_full_config, current_printer_system_name); + else + process_compatible = std::find(current_print_compatible_printers.begin(), current_print_compatible_printers.end(), current_printer_system_name) != current_print_compatible_printers.end(); if (!process_compatible && current_print_compatible_printers.empty()) { BOOST_LOG_TRIVIAL(info) << boost::format("old 3mf, no compatible printers, set to compatible"); @@ -2937,8 +3142,10 @@ int CLI::run(int argc, char **argv) } } else { - //todo: support user machine preset's different settings - different_settings[filament_count+1] = ""; + //ORCA: was a //todo — compute the user's overrides instead of writing an empty column. + different_settings[filament_count+1] = new_printer_config_is_system + ? std::string() + : cli_different_settings(load_machine_config, new_printer_system_name, Preset::TYPE_PRINTER); if (new_printer_config_is_system) inherits_group[filament_count+1] = ""; else @@ -3080,8 +3287,14 @@ int CLI::run(int argc, char **argv) print_compatible_printers = std::move(current_print_compatible_printers); } else { - //todo: support system process preset - different_settings[0] = ""; + //ORCA: was a //todo. Prefer a value the loaded JSON already carried, otherwise + // compute the overrides against the system parent. + if (!different_process_setting.empty()) + different_settings[0] = different_process_setting; + else + different_settings[0] = new_process_config_is_system + ? std::string() + : cli_different_settings(load_process_config, new_process_system_name, Preset::TYPE_PRINT); if (new_process_config_is_system) inherits_group[0] = ""; else @@ -3268,6 +3481,16 @@ int CLI::run(int argc, char **argv) int filament_index = load_filaments_index[index]; std::vector different_keys; + //ORCA: diff before load_default_gcodes_to_config, the way the process and machine + // slots above already do. That call materialises absent gcode keys via + // option(..., true), and DynamicConfig::diff only compares keys present in + // both configs -- so a gcode key the leaf did not carry would go from "not + // compared" to "compared as empty against the parent" and land in the column + // as an override the user never made. + std::string filament_different_settings; + if (load_filament_count > 0) + filament_different_settings = cli_different_settings(config, load_filaments_inherit[index], Preset::TYPE_FILAMENT); + load_default_gcodes_to_config(config, Preset::TYPE_FILAMENT); if (load_filament_count > 0) { @@ -3279,8 +3502,8 @@ int CLI::run(int argc, char **argv) opt_filament_settings->set_at(filament_name_setting, filament_index-1, 0); config.erase("filament_settings_id"); - //todo: update different settings of filaments - different_settings[filament_index] = ""; + //ORCA: was a //todo — same treatment as process/machine above. + different_settings[filament_index] = filament_different_settings; inherits_group[filament_index] = load_filaments_inherit[index]; } else { @@ -3585,6 +3808,15 @@ int CLI::run(int argc, char **argv) } } + // A mixed slot never reaches a nozzle, so its row and column stay empty, as in the GUI. + // Command line options are not merged into m_print_config yet, so they win here. + const ConfigOptionBools *is_mixed_opt = m_extra_config.option("filament_is_mixed"); + if (!is_mixed_opt) + is_mixed_opt = m_print_config.option("filament_is_mixed"); + auto is_mixed_slot = [is_mixed_opt](int idx) { + return is_mixed_opt && idx < static_cast(is_mixed_opt->values.size()) && is_mixed_opt->values[idx]; + }; + for (size_t nozzle_id = 0; nozzle_id < new_extruder_count; ++nozzle_id) { std::vector flush_vol_mtx = get_flush_volumes_matrix(flush_vol_matrix, nozzle_id, new_extruder_count); for (int from_idx = 0; from_idx < project_filament_count; from_idx++) { @@ -3594,7 +3826,7 @@ int CLI::run(int argc, char **argv) bool is_from_support = filament_is_support->get_at(from_idx); for (int to_idx = 0; to_idx < project_filament_count; to_idx++) { bool is_to_support = filament_is_support->get_at(to_idx); - if (from_idx == to_idx) { + if (from_idx == to_idx || is_mixed_slot(from_idx) || is_mixed_slot(to_idx)) { flush_vol_mtx[project_filament_count * from_idx + to_idx] = 0.f; } else { int flushing_volume = 0; @@ -3731,12 +3963,113 @@ int CLI::run(int argc, char **argv) } } + //ORCA: settings passed on the command line (--sparse-infill-density 25% ...) override the loaded + // presets right here, so they belong in different_settings_to_system just as a preset + // override does. Without them re-opening the exported project in the GUI shows nothing + // modified and reverts those values to the system presets'. + // + // The keys come from m_config, not m_extra_config: read_cli() puts only what the user typed + // into m_config (setup() adds nothing but CLI-own defaults), whereas the CLI writes its own + // values into m_extra_config. Only keys whose value the override actually changed are + // recorded -- a typed value equal to the loaded one modifies nothing -- and each lands in + // the column(s) whose preset type owns it: [0] process, [1..n-2] filaments, [n-1] printer. + // + // "Changed" is judged the way the value is read: a list is compared entry by entry with a + // missing entry read as the first, as get_at() does -- so --nozzle-temperature 245 against + // 245,245,245 is no change, although the two serialize differently. + // + // A key the loaded config does not carry at all is always recorded, even if the typed value + // equals the built-in default. On reopen the GUI restores an unlisted key from the SYSTEM + // preset, which need not match that default: a 3MF written before an option existed leaves + // it absent here, and --sparse-infill-density 20% (the default) against a Prusa system 15% + // would otherwise go unrecorded and be reverted. Over-recording is cosmetic; under-recording + // loses the value. + std::map> cli_override_before; + for (const std::string &key : m_config.keys()) { + if (!m_extra_config.has(key)) + continue; + const ConfigOption *loaded = m_print_config.option(key); + cli_override_before[key].reset(loaded != nullptr ? loaded->clone() : nullptr); // null: always recorded + } + // Apply command line options to a more specific DynamicPrintConfig which provides normalize() // (command line options override --load files) m_print_config.apply(m_extra_config, true); + + if (!cli_override_before.empty()) { + std::vector &columns = m_print_config.option("different_settings_to_system", true)->values; + auto owned_by = [](const std::vector &options, const std::string &key) { + return std::find(options.begin(), options.end(), key) != options.end(); + }; + auto add_to_column = [&columns](size_t index, const std::string &key) { + std::vector keys; + Slic3r::unescape_strings_cstyle(columns[index], keys); + if (std::find(keys.begin(), keys.end(), key) == keys.end()) { + keys.push_back(key); + columns[index] = Slic3r::escape_strings_cstyle(keys); + } + }; + auto same_value = [](const ConfigOption *a, const ConfigOption *b) { + if (a == nullptr || b == nullptr) + return false; + const auto *va = dynamic_cast(a); + const auto *vb = dynamic_cast(b); + if (va == nullptr || vb == nullptr) + return va == vb && a->serialize() == b->serialize(); + const std::vector ea = va->vserialize(), eb = vb->vserialize(); + if (ea.empty() || eb.empty()) + return ea.empty() && eb.empty(); + for (size_t i = 0; i < std::max(ea.size(), eb.size()); ++i) + if (ea[i < ea.size() ? i : 0] != eb[i < eb.size() ? i : 0]) + return false; + return true; + }; + //ORCA: always true after the resize to filament_count + 2 above, and nothing in between can + // shrink the column vector -- different_settings_to_system is not a CLI option. Kept as + // a check rather than an assert: release builds compile asserts out, so an assert would + // protect nothing, while a build with _GLIBCXX_ASSERTIONS would abort on columns[0]. + if (columns.size() >= 2) { + for (const auto &[key, before] : cli_override_before) { + if (same_value(before.get(), m_print_config.option(key))) + continue; + bool recorded = false; + if (owned_by(Preset::print_options(), key)) { + add_to_column(0, key); + recorded = true; + } + if (owned_by(Preset::filament_options(), key)) { + for (size_t i = 1; i + 1 < columns.size(); ++i) + add_to_column(i, key); + recorded = true; + } + if (owned_by(Preset::printer_options(), key)) { + add_to_column(columns.size() - 1, key); + recorded = true; + } + if (recorded) + BOOST_LOG_TRIVIAL(info) << boost::format("CLI: override %1% recorded in different_settings_to_system") % key; + } + } + } // Normalizing after importing the 3MFs / AMFs m_print_config.normalize_fdm(); + // A mixed slot is virtual but still needs a filament entry of its own. Without one, feature + // filament ids aimed at it fall outside the filament count, are reset to the first filament + // and the model silently prints in a single colour. + if (const auto *is_mixed_opt = m_print_config.option("filament_is_mixed")) { + const auto &is_mixed = is_mixed_opt->values; + for (size_t slot = static_cast(std::max(filament_count, 0)); slot < is_mixed.size(); ++slot) { + if (!is_mixed[slot]) + continue; + BOOST_LOG_TRIVIAL(error) << boost::format("mixed filament slot %1% has no filament of its own, only %2% filaments are loaded; " + "load one filament per slot, including each mixed one") + % (slot + 1) % filament_count; + record_exit_reson(outfile_dir, CLI_MIXED_FILAMENT_INVALID, 0, cli_errors[CLI_MIXED_FILAMENT_INVALID], sliced_info); + flush_and_exit(CLI_MIXED_FILAMENT_INVALID); + } + } + m_print_config.option>("printer_technology", true)->value = printer_technology; bool has_wipe_tower_position = m_print_config.option("wipe_tower_x") && m_print_config.option("wipe_tower_y"); @@ -3791,6 +4124,15 @@ int CLI::run(int argc, char **argv) bool is_smooth_timelapse = false; if (enable_timelapse && timelapse_type_opt && (timelapse_type_opt->getInt() == TimelapseType::tlSmooth)) is_smooth_timelapse = true; + // A mixed filament swaps between its components every layer, so it needs the tower even when + // every loaded preset is the same. + if (disable_wipe_tower_after_mapping) { + if (const auto *is_mixed_opt = m_print_config.option("filament_is_mixed"); + is_mixed_opt && has_any_mixed_filament(is_mixed_opt->values)) { + disable_wipe_tower_after_mapping = false; + BOOST_LOG_TRIVIAL(info) << boost::format("%1%, set disable_wipe_tower_after_mapping back to false due to a mixed filament")%__LINE__; + } + } if (disable_wipe_tower_after_mapping) { if (is_smooth_timelapse) { @@ -4015,7 +4357,7 @@ int CLI::run(int argc, char **argv) } }; - auto check_plate_wipe_tower = [get_print_sequence, is_smooth_timelapse, new_extruder_count](Slic3r::GUI::PartPlate* plate, int plate_index, DynamicPrintConfig& print_config, plate_obj_size_info_t &plate_obj_size_info) { + auto check_plate_wipe_tower = [get_print_sequence, is_smooth_timelapse](Slic3r::GUI::PartPlate* plate, int plate_index, DynamicPrintConfig& print_config, plate_obj_size_info_t &plate_obj_size_info) { plate_obj_size_info.obj_bbox= plate->get_objects_bounding_box(); BOOST_LOG_TRIVIAL(info) << boost::format("plate %1%, object bbox: min {%2%, %3%, %4%} - max {%5%, %6%, %7%}") %(plate_index+1) %plate_obj_size_info.obj_bbox.min.x() % plate_obj_size_info.obj_bbox.min.y() % plate_obj_size_info.obj_bbox.min.z() %plate_obj_size_info.obj_bbox.max.x() % plate_obj_size_info.obj_bbox.max.y() % plate_obj_size_info.obj_bbox.max.z(); @@ -4059,22 +4401,13 @@ int CLI::run(int argc, char **argv) plate_obj_size_info.wipe_x = wipe_x_option->get_at(plate_index); plate_obj_size_info.wipe_y = wipe_y_option->get_at(plate_index); - ConfigOptionFloat* width_option = print_config.option("prime_tower_width", true); - plate_obj_size_info.wipe_width = width_option->value; + // Body and brim from one estimate: resolving an auto (-1) brim against a different + // height would size the two halves of the same tower from two different objects. + const WipeTowerFootprint footprint = plate->estimate_wipe_tower_footprint(print_config, filaments_cnt); + float brim_width = float(footprint.brim_width); - ConfigOptionFloat* brim_width_option = print_config.option("prime_tower_brim_width", true); - float brim_width = brim_width_option->value; - if (brim_width < 0) brim_width = WipeTower::get_auto_brim_by_height((float)plate_obj_size_info.obj_bbox.max.z()); - - ConfigOptionFloat* volume_option = print_config.option("prime_volume", true); - float wipe_volume = volume_option->value; - - const ConfigOptionBool * wrapping_detection = print_config.option("enable_wrapping_detection"); - bool enable_wrapping = (wrapping_detection != nullptr) && wrapping_detection->value; - - Vec3d wipe_tower_size = plate->estimate_wipe_tower_size(print_config, plate_obj_size_info.wipe_width, wipe_volume, new_extruder_count, filaments_cnt, false, enable_wrapping); - plate_obj_size_info.wipe_width = wipe_tower_size(0); - plate_obj_size_info.wipe_depth = wipe_tower_size(1); + plate_obj_size_info.wipe_width = footprint.width; + plate_obj_size_info.wipe_depth = footprint.depth; Vec3d origin = plate->get_origin(); Vec3d start(origin(0) + plate_obj_size_info.wipe_x - brim_width, origin(1) + plate_obj_size_info.wipe_y, 0.f); @@ -4562,6 +4895,64 @@ int CLI::run(int argc, char **argv) for (auto &o : model.objects) // this affects volumes: o->rotate(Geometry::deg2rad(m_config.opt_float(opt_key)), Y); + } else if (opt_key == "ground_largest_face" || opt_key == "ground_face_normal" || opt_key == "ground_face_point") { + // Each instance is laid on one of its lay-on-face planes, which are computed from the current part + // transformations, so the rotations given before this option are respected. A direction or point is in + // object coordinates, so it names the same face for every instance of an object. + std::function&, const Transform3d&)> pick; + if (opt_key == "ground_largest_face") { + if (m_config.opt_bool(opt_key)) + pick = [](const std::vector& planes, const Transform3d&) { return find_largest_plane(planes); }; + } else { + // Only options given on the command line reach this loop, so an empty value is malformed input too. + const std::string& value = m_config.opt_string(opt_key); + Vec3d v; + int consumed = 0; + if (sscanf(value.c_str(), "%lf,%lf,%lf%n", &v.x(), &v.y(), &v.z(), &consumed) != 3 || consumed != int(value.size()) || + !v.allFinite() || (opt_key == "ground_face_normal" && v.norm() < EPSILON)) { + BOOST_LOG_TRIVIAL(error) << boost::format("Invalid params: %1% expects three comma-separated numbers, got \"%2%\"") % opt_key % value; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + if (opt_key == "ground_face_normal") + pick = [v](const std::vector& planes, const Transform3d&) { return find_plane_by_normal(planes, v); }; + else + pick = [v](const std::vector& planes, const Transform3d& inst_matrix) { + return find_plane_at_point(planes, inst_matrix, v, 0.01); + }; + } + if (pick) { + size_t laid = 0, missed = 0; + for (auto& model : m_models) { + model.add_default_instances(); + for (ModelObject* o : model.objects) + for (size_t i = 0; i < o->instances.size(); ++i) { + const Transform3d inst_matrix = o->instances[i]->get_matrix_no_offset(); + const std::vector planes = lay_on_face_planes(*o, inst_matrix); + if (planes.empty()) { + // Small or smooth parts (e.g. a sphere) have no face to rest on; the gizmo offers none either. + BOOST_LOG_TRIVIAL(warning) << boost::format("%1%: object %2% has no face large enough to lay on, left as it is") % opt_key % o->name; + continue; + } + const int idx = pick(planes, inst_matrix); + if (idx < 0) { + // Only a point can miss: with several objects it usually belongs to one of them. + BOOST_LOG_TRIVIAL(warning) << boost::format("%1%: no face of object %2% contains the point, left as it is") % opt_key % o->name; + ++missed; + continue; + } + BOOST_LOG_TRIVIAL(info) << boost::format("%1%: object %2% instance %3% laid on the %4% mm2 face with normal %5%") + % opt_key % o->name % i % planes[idx].area % planes[idx].normal.transpose(); + lay_on_face(*o, i, planes[idx].normal); + ++laid; + } + } + if (laid == 0 && missed > 0) { + BOOST_LOG_TRIVIAL(error) << boost::format("Invalid params: %1%: no face of any object contains the point") % opt_key; + record_exit_reson(outfile_dir, CLI_INVALID_PARAMS, 0, cli_errors[CLI_INVALID_PARAMS], sliced_info); + flush_and_exit(CLI_INVALID_PARAMS); + } + } } else if (opt_key == "scale") { float ratio = m_config.opt_float(opt_key); if (ratio <= 0.f) { @@ -4835,13 +5226,16 @@ int CLI::run(int argc, char **argv) } } - if (!arrange_cfg.is_seq_print && (assemble_plate.filaments_count > 1)||(enable_wrapping_detect && !current_wrapping_exclude_area.empty())) + if ((!arrange_cfg.is_seq_print && (assemble_plate.filaments_count > 1))||(enable_wrapping_detect && !current_wrapping_exclude_area.empty())) { //prepare the wipe tower int plate_count = partplate_list.get_plate_count(); auto printer_structure_opt = m_print_config.option>("printer_structure"); - const float tower_brim_width = m_print_config.option("prime_tower_width", true)->value; + // This margin only pre-adjusts the default away from the near edges; + // estimate_wipe_tower_polygon below computes the real clamped position. + float tower_brim_width = m_print_config.option("prime_tower_brim_width", true)->value; + if (tower_brim_width < 0.f) tower_brim_width = 8.f; // auto: object heights unknown here, 8 mm is the auto cap const float tower_margin = WIPE_TOWER_MARGIN + tower_brim_width; // set the default position, the same with print config(left top) @@ -4875,7 +5269,7 @@ int CLI::run(int argc, char **argv) wipe_y_option->set_at(&wt_y_opt, i, 0); Vec3d wipe_tower_size, wipe_tower_pos; - ArrangePolygon wipe_tower_ap = cur_plate->estimate_wipe_tower_polygon(m_print_config, i, wipe_tower_pos, wipe_tower_size, new_extruder_count, assemble_plate.filaments_count, true); + ArrangePolygon wipe_tower_ap = cur_plate->estimate_wipe_tower_polygon(m_print_config, i, wipe_tower_pos, wipe_tower_size, assemble_plate.filaments_count, true); //update the new wp position wt_x_opt.value = wipe_tower_pos(0); @@ -4909,7 +5303,9 @@ int CLI::run(int argc, char **argv) arrange_cfg.bed_shrink_x = BED_SHRINK_SEQ_PRINT; arrange_cfg.bed_shrink_y = BED_SHRINK_SEQ_PRINT; } - if (auto printer_structure_opt = m_print_config.option>("printer_structure")) { + if (align_to_y_axis.has_value()) { + arrange_cfg.align_to_y_axis = *align_to_y_axis; + } else if (auto printer_structure_opt = m_print_config.option>("printer_structure")) { arrange_cfg.align_to_y_axis = (printer_structure_opt->value == PrinterStructure::psI3); } @@ -5118,7 +5514,7 @@ int CLI::run(int argc, char **argv) //skip this object due to be locked in plate ap.itemid = locked_aps.size(); locked_aps.emplace_back(ap); - boost::nowide::cout <<__FUNCTION__ << boost::format(": skip locked instance, obj_id %1%, instance_id %2%") % oidx % inst_idx; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": skip locked instance, obj_id %1%, instance_id %2%") % oidx % inst_idx; } } } @@ -5131,14 +5527,33 @@ int CLI::run(int argc, char **argv) //add the virtual object into unselect list if has partplate_list.preprocess_exclude_areas(unselected, enable_wrapping_detect); - if (used_filament_set.size() > 0) + // Filament ids given on the command line size the tower for STL input. A project + // records its filament use per plate, so count there and keep its tower positions. + const int plate_count = partplate_list.get_plate_count(); + const bool from_project = used_filament_set.empty(); + std::vector plate_filament_counts(plate_count, static_cast(used_filament_set.size())); + if (from_project) + for (int plate_index = 0; plate_index < plate_count; ++plate_index) + plate_filament_counts[plate_index] = static_cast(partplate_list.get_plate(plate_index)->get_extruders_under_cli(true, m_print_config).size()); + // A project only gets a tower the slicer will print: the prime tower enabled, and not + // a by-object print unless a smooth timelapse needs it, as the per-plate arrange decides. + const bool project_tower_allowed = m_print_config.option("enable_prime_tower", true)->value && + (is_smooth_timelapse || !arrange_cfg.is_seq_print); + const auto plate_needs_wipe_tower = [from_project, project_tower_allowed, is_smooth_timelapse](int filament_count) { + if (!from_project) + return filament_count > 0; + return project_tower_allowed && (filament_count > 1 || (filament_count > 0 && is_smooth_timelapse)); + }; + const int max_filament_count = plate_count > 0 ? *std::max_element(plate_filament_counts.begin(), plate_filament_counts.end()) : 0; + + if (plate_needs_wipe_tower(max_filament_count)) { //prepare the wipe tower - int plate_count = partplate_list.get_plate_count(); - int extruder_size = used_filament_set.size(); - auto printer_structure_opt = m_print_config.option>("printer_structure"); - const float tower_brim_width = m_print_config.option("prime_tower_width", true)->value; + // This margin only pre-adjusts the default away from the near edges; + // estimate_wipe_tower_polygon below computes the real clamped position. + float tower_brim_width = m_print_config.option("prime_tower_brim_width", true)->value; + if (tower_brim_width < 0.f) tower_brim_width = 8.f; // auto: object heights unknown here, 8 mm is the auto cap const float tower_margin = WIPE_TOWER_MARGIN + tower_brim_width; // set the default position, the same with print config(left top) float x = WIPE_TOWER_DEFAULT_X_POS; @@ -5169,13 +5584,17 @@ int CLI::run(int argc, char **argv) for (int bedid = 0; bedid < MAX_PLATE_COUNT; bedid++) { int plate_index_valid = std::min(bedid, plate_count - 1); - if (bedid < plate_count) { + // Overflow beds may receive objects from any plate, so size them for the busiest one. + const int extruder_size = bedid < plate_count ? plate_filament_counts[bedid] : max_filament_count; + if (!plate_needs_wipe_tower(extruder_size)) + continue; + if (bedid < plate_count && !from_project) { wipe_x_option->set_at(&wt_x_opt, plate_index_valid, 0); wipe_y_option->set_at(&wt_y_opt, plate_index_valid, 0); } Vec3d wipe_tower_size, wipe_tower_pos; - ArrangePolygon wipe_tower_ap = partplate_list.get_plate(plate_index_valid)->estimate_wipe_tower_polygon(m_print_config, plate_index_valid, wipe_tower_pos, wipe_tower_size, new_extruder_count, extruder_size, true); + ArrangePolygon wipe_tower_ap = partplate_list.get_plate(plate_index_valid)->estimate_wipe_tower_polygon(m_print_config, plate_index_valid, wipe_tower_pos, wipe_tower_size, extruder_size, true); //update the new wp position if (bedid < plate_count) { @@ -5276,22 +5695,16 @@ int CLI::run(int argc, char **argv) //float depth = v * (filaments_cnt - 1) / (layer_height * w); - const ConfigOptionBool *wrapping_detection = m_print_config.option("enable_wrapping_detection"); - bool enable_wrapping = (wrapping_detection != nullptr) && wrapping_detection->value; - - Vec3d wipe_tower_size = cur_plate->estimate_wipe_tower_size(m_print_config, w, v, new_extruder_count, filaments_cnt, false, enable_wrapping); + const WipeTowerFootprint footprint = cur_plate->estimate_wipe_tower_footprint(m_print_config, filaments_cnt); + Vec3d wipe_tower_size(footprint.width, footprint.depth, footprint.height); Vec3d plate_origin = cur_plate->get_origin(); int plate_width, plate_depth; double plate_height; partplate_list.get_plate_size(plate_width, plate_depth, plate_height); float depth = wipe_tower_size(1); - float margin = 15.f, wp_brim_width = 0.f; - ConfigOption *wipe_tower_brim_width_opt = m_print_config.option("prime_tower_brim_width"); - if (wipe_tower_brim_width_opt ) { - wp_brim_width = wipe_tower_brim_width_opt->getFloat(); - if (wp_brim_width < 0) wp_brim_width = WipeTower::get_auto_brim_by_height((float) wipe_tower_size.z()); - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("arrange wipe_tower: wp_brim_width %1%")%wp_brim_width; - } + // Brim already resolved against the height the body was sized from. + float margin = 15.f, wp_brim_width = float(footprint.brim_width); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("arrange wipe_tower: wp_brim_width %1%")%wp_brim_width; w = wipe_tower_size(0); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("arrange wipe_tower: x=%1%, y=%2%, width=%3%, depth=%4%, angle=%5%, prime_volume=%6%, filaments_cnt=%7%, layer_height=%8%, plate_width=%9%, plate_depth=%10%") @@ -5362,7 +5775,9 @@ int CLI::run(int argc, char **argv) arrange_cfg.bed_shrink_x = BED_SHRINK_SEQ_PRINT; arrange_cfg.bed_shrink_y = BED_SHRINK_SEQ_PRINT; } - if (auto printer_structure_opt = m_print_config.option>("printer_structure")) { + if (align_to_y_axis.has_value()) { + arrange_cfg.align_to_y_axis = *align_to_y_axis; + } else if (auto printer_structure_opt = m_print_config.option>("printer_structure")) { arrange_cfg.align_to_y_axis = (printer_structure_opt->value == PrinterStructure::psI3); } @@ -5710,13 +6125,64 @@ int CLI::run(int argc, char **argv) //FIXME check for mixing the FFF / SLA parameters. // or better save fff_print_config vs. sla_print_config //m_print_config.save(m_config.opt_string("save")); - m_print_config.save_to_json(m_config.opt_string(opt_key), std::string("project_settings"), std::string("project"), std::string(SoftFever_VERSION)); + const std::string &settings_file = m_config.opt_string(opt_key); + if (settings_file == "-") + m_print_config.save_to_json(boost::nowide::cout, "project_settings", "project", SoftFever_VERSION, /*replace_invalid_utf8=*/true); + else + m_print_config.save_to_json(settings_file, std::string("project_settings"), std::string("project"), std::string(SoftFever_VERSION)); } else if (opt_key == "info") { // --info works on unrepaired model for (Model &model : m_models) { model.add_default_instances(); model.print_info(); } + } else if (opt_key == "inspect_mesh") { + // Machine-readable alternative to --info. Registered as an action so it satisfies the + // "needs an action" check and bypasses the GUI fallback, then exits once the JSON is out. + for (Model &model : m_models) { + model.add_default_instances(); + Slic3r::MeshInspect::inspect_to_json(model, m_input_files, boost::nowide::cout); + } + boost::nowide::cout.flush(); + // Conflicting actions were rejected before loading. Finish like the end of run(). + // flush_and_exit() is not usable here: it prints "found error ..." to stdout, + // which would corrupt the JSON. +#if defined(__linux__) || defined(__LINUX__) + if (g_cli_callback_mgr.is_started()) { + PrintBase::SlicingStatus slicing_status{100, "All done, Success"}; + cli_status_callback(slicing_status); + } + g_cli_callback_mgr.stop(); +#endif + for (Model &m : m_models) + m.remove_backup_path_if_exist(); + record_exit_reson(outfile_dir, CLI_SUCCESS, plate_to_slice, cli_errors[CLI_SUCCESS], sliced_info); + boost::nowide::cerr.flush(); + return CLI_SUCCESS; + } else if (opt_key == "inspect_paint") { + // --inspect-paint — read the per-facet enforcer/blocker/extruder/ + // fuzzy state from the loaded model and emit a JSON summary. + // Machine-readable alternative to opening the paint gizmos. + for (Model &model : m_models) { + model.add_default_instances(); + Slic3r::PaintCLI::inspect_to_json(model, m_input_files, boost::nowide::cout); + } + boost::nowide::cout.flush(); + // The tooltip promises "then exit"; conflicting actions were rejected before + // loading. Finish like the end of run(). flush_and_exit() is not usable here: + // it prints "found error ..." to stdout, which would corrupt the JSON. +#if defined(__linux__) || defined(__LINUX__) + if (g_cli_callback_mgr.is_started()) { + PrintBase::SlicingStatus slicing_status{100, "All done, Success"}; + cli_status_callback(slicing_status); + } + g_cli_callback_mgr.stop(); +#endif + for (Model &m : m_models) + m.remove_backup_path_if_exist(); + record_exit_reson(outfile_dir, CLI_SUCCESS, plate_to_slice, cli_errors[CLI_SUCCESS], sliced_info); + boost::nowide::cerr.flush(); + return CLI_SUCCESS; } else if (opt_key == "uptodate") { //already processed before } else if (opt_key == "min_save") { @@ -5757,6 +6223,8 @@ int CLI::run(int argc, char **argv) export_3mf_file = m_config.opt_string(opt_key); }else if(opt_key=="no_check"){ no_check = m_config.opt_bool(opt_key); + }else if(opt_key=="strict"){ + //already read into sliced_info at the start of run() //} else if (opt_key == "export_gcode" || opt_key == "export_sla" || opt_key == "slice") { } else if (opt_key == "normative_check") { //already processed before @@ -5807,6 +6275,34 @@ int CLI::run(int argc, char **argv) //Print fff_print; std::vector plate_triangle_counts(partplate_list.get_plate_count(), 0); + // The stored (or default) tower position may not fit the tower these plates + // need, and no CLI placement site runs on a plain slice - mirror the GUI's + // reload clamp and fit every plate's tower into the printable area first. + if (m_print_config.option("enable_prime_tower", true)->value) { + for (int index = 0; index < partplate_list.get_plate_count(); index++) { + if ((plate_to_slice != 0) && (plate_to_slice != (index + 1))) + continue; + Slic3r::GUI::PartPlate *plate = partplate_list.get_plate(index); + // Printing by object disables the tower only with more than one instance. + bool is_seq_print = false; + get_print_sequence(plate, m_print_config, is_seq_print); + if (is_seq_print && plate->printable_instance_size() > 1) + continue; + // An empty estimate is a plate that prints no tower (one filament and + // neither smooth timelapse, wrapping detection nor a raft). + Vec3d wt_pos, wt_size; + plate->estimate_wipe_tower_polygon(m_print_config, index, wt_pos, wt_size); + if (wt_size(0) < EPSILON || wt_size(1) < EPSILON) + continue; + ConfigOptionFloat wt_x_opt((float) wt_pos(0)); + ConfigOptionFloat wt_y_opt((float) wt_pos(1)); + m_print_config.option("wipe_tower_x", true)->set_at(&wt_x_opt, index, 0); + m_print_config.option("wipe_tower_y", true)->set_at(&wt_y_opt, index, 0); + BOOST_LOG_TRIVIAL(info) << boost::format("plate %1%: wipe tower clamped to {%2%, %3%}, size {%4%, %5%}") + % (index + 1) % wt_pos(0) % wt_pos(1) % wt_size(0) % wt_size(1); + } + } + while(!finished) { //BBS: slice every partplate one by one @@ -5978,6 +6474,36 @@ int CLI::run(int argc, char **argv) flush_and_exit(CLI_ONLY_ONE_TPU_SUPPORTED); } + // Same type gate as the GUI's Sidebar::has_broken_mixed_filament: refuse a plate that uses a + // mixed slot whose components are different filament types. Missing or out-of-range + // components never get here, validate() already rejects them for the whole project. + const auto *is_mixed_opt = m_print_config.option("filament_is_mixed"); + const auto *components_opt = m_print_config.option("filament_mixed_components"); + if (is_mixed_opt && components_opt && has_any_mixed_filament(is_mixed_opt->values)) { + const auto &is_mixed = is_mixed_opt->values; + const auto &components = components_opt->values; + const size_t num_physical = static_cast(filament_count) - static_cast(std::count(is_mixed.begin(), is_mixed.end(), true)); + std::vector physical_types(num_physical); + for (size_t f_index = 0; f_index < num_physical; ++f_index) { + std::string displayed_type; + physical_types[f_index] = m_print_config.get_filament_type(displayed_type, static_cast(f_index)); + if (physical_types[f_index].empty()) + physical_types[f_index] = "PLA"; + } + const std::vector mismatched_slots = check_mixed_filament_type_consistency(is_mixed, components, physical_types); + // plate_filaments has mixed slots expanded to their components; the gate needs the slots. + const std::vector plate_slots = mismatched_slots.empty() ? std::vector() : + part_plate->get_extruders_under_cli(true, m_print_config, false); + for (size_t slot : mismatched_slots) { + if (std::find(plate_slots.begin(), plate_slots.end(), static_cast(slot) + 1) == plate_slots.end()) + continue; + BOOST_LOG_TRIVIAL(error) << boost::format("plate %1%: mixed filament %2% mixes components of different filament types") + % (index + 1) % (slot + 1); + record_exit_reson(outfile_dir, CLI_MIXED_FILAMENT_INVALID, index + 1, cli_errors[CLI_MIXED_FILAMENT_INVALID], sliced_info); + flush_and_exit(CLI_MIXED_FILAMENT_INVALID); + } + } + if (new_extruder_count > 1) { std::vector> unprintable_filament_vec; for (const std::set& filamnt_ids : unprintable_filament_ids) { @@ -6407,6 +6933,15 @@ int CLI::run(int argc, char **argv) if (status.warning_level == PrintStateBase::WarningLevel::NON_CRITICAL) { BOOST_LOG_TRIVIAL(warning) << "plate "<< index+1<< ": found NON_CRITICAL slicing warnings: "<slicing_errors_message(exs) : std::string(exs.what()); + BOOST_LOG_TRIVIAL(error) << "found slicing or export error for partplate " << index+1 << ": " << message; + boost::nowide::cerr << message << std::endl; + record_exit_reson(outfile_dir, CLI_SLICING_ERROR, index+1, message, sliced_info); + flush_and_exit(CLI_SLICING_ERROR); } catch (const std::exception &ex) { BOOST_LOG_TRIVIAL(error) << "found slicing or export error for partplate "<print_help(); return false; } + + // Orca: resolve here, while the process is still in the directory the user invoked it from. + // GUI_App's constructor moves the working directory to /log, long before the GUI + // opens these files in post_init(), and a relative path would then resolve against that. + for (std::string &input_file : m_input_files) + input_file = resolve_cli_input_path(input_file); + + m_given_option_keys.insert(opt_order.begin(), opt_order.end()); + // Parse actions and transform options. for (auto const &opt_key : opt_order) { if (cli_actions_config_def.has(opt_key)) diff --git a/src/OrcaSlicer.hpp b/src/OrcaSlicer.hpp index e6aada821f..380607e95f 100644 --- a/src/OrcaSlicer.hpp +++ b/src/OrcaSlicer.hpp @@ -1,6 +1,8 @@ #ifndef SLIC3R_HPP #define SLIC3R_HPP +#include + #include "libslic3r/Config.hpp" #include "libslic3r/Model.hpp" @@ -113,6 +115,8 @@ private: std::vector m_input_files; std::vector m_actions; std::vector m_transforms; + // Options the user typed; setup() fills the CLI's own options with defaults afterwards. + std::set m_given_option_keys; std::vector m_models; bool setup(int argc, char **argv); diff --git a/src/OrcaSlicer_app_msvc.cpp b/src/OrcaSlicer_app_msvc.cpp index 35568a9cfa..265047fa34 100644 --- a/src/OrcaSlicer_app_msvc.cpp +++ b/src/OrcaSlicer_app_msvc.cpp @@ -297,7 +297,7 @@ int wmain(int argc, wchar_t **argv) // printf("Loading Slic3r library: %S\n", path_to_slic3r); HINSTANCE hInstance_Slic3r = LoadLibraryExW(path_to_slic3r, nullptr, 0); if (hInstance_Slic3r == nullptr) { - printf("OrcaSlicer.dll was not loaded, error=%d\n", GetLastError()); + printf("OrcaSlicer.dll was not loaded, error=%lu\n", GetLastError()); return -1; } diff --git a/src/dev-utils/BaseException.h b/src/dev-utils/BaseException.h index 2cb65d945e..20b6fb0c89 100644 --- a/src/dev-utils/BaseException.h +++ b/src/dev-utils/BaseException.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include "stackwalker.h" +#include "StackWalker.h" #include class CBaseException : public CStackWalker diff --git a/src/dev-utils/CMakeLists.txt b/src/dev-utils/CMakeLists.txt index 2cfce6a7c5..e718da9e83 100644 --- a/src/dev-utils/CMakeLists.txt +++ b/src/dev-utils/CMakeLists.txt @@ -28,6 +28,12 @@ if (ORCA_TOOLS) target_link_libraries(generate_system_cache libslic3r boost_headeronly) target_compile_definitions(generate_system_cache PRIVATE ${_DEV_DEFS}) + # profile_include_dump: prints what included templates contribute to a vendor's presets, + # to diff against the same tool built in BambuStudio. Built only on request. + add_executable(profile_include_dump EXCLUDE_FROM_ALL profile_include_dump.cpp) + target_link_libraries(profile_include_dump libslic3r boost_headeronly) + target_compile_definitions(profile_include_dump PRIVATE ${_DEV_DEFS}) + endif() # Function that adds source file encoding check to a target diff --git a/src/dev-utils/OrcaSlicer_profile_validator.cpp b/src/dev-utils/OrcaSlicer_profile_validator.cpp index 67d0ba444d..557dda7eec 100644 --- a/src/dev-utils/OrcaSlicer_profile_validator.cpp +++ b/src/dev-utils/OrcaSlicer_profile_validator.cpp @@ -8,7 +8,11 @@ #define NANOSVGRAST_IMPLEMENTATION #include "nanosvg/nanosvgrast.h" +#include "libslic3r/BoundingBox.hpp" #include "libslic3r/GCode.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" +#include "libslic3r/Geometry.hpp" #include "libslic3r/Preset.hpp" #include "libslic3r/Config.hpp" #include "libslic3r/PresetBundle.hpp" @@ -116,17 +120,58 @@ Vec2d printable_area_center(const DynamicPrintConfig &cfg) return 0.5 * (lo + hi); } -// Slice one centered cube that switches from filament 1 to filament 2 partway up, so exactly one +// Put the prime tower where the GUI and CLI would before slicing. The config default (x 15, y 220) +// lies off any bed shallower than the tower, and generation rejects an off-plate tower instead of +// exporting it. Beside the cube at the bed centre, clear of the edge exclusion strips some beds +// carry, with a few mm of clearance so the conflict checker never sees the two touch. The cube and +// the tower's estimated footprint are then pulled inside the printable outline as one rigid pair: +// moving the tower alone would push it back onto the cube on a narrow bed. Returns that move for +// the cube. +Vec2d place_wipe_tower(DynamicPrintConfig &cfg, const Vec2d ¢er) +{ + const auto *area = cfg.option("printable_area"); + if (area == nullptr || area->values.size() < 3) + return Vec2d::Zero(); + const WipeTowerFootprint footprint = estimate_wipe_tower_footprint(cfg, resolve_wipe_tower_type(cfg), {0, 1}, cfg.opt_float("layer_height"), 10.); + if (footprint.depth < EPSILON) + return Vec2d::Zero(); + const double margin = WIPE_TOWER_MARGIN + footprint.brim_width; + // The position is the tower's own origin; a rotated tower extends from it in another + // direction, so place the rotated box's extents rather than the origin. + Slic3r::Polygon box({Point::new_scale(0., 0.), Point::new_scale(footprint.width, 0.), Point::new_scale(footprint.width, footprint.depth), Point::new_scale(0., footprint.depth)}); + box.rotate(Geometry::deg2rad(cfg.opt_float("wipe_tower_rotation_angle"))); + const BoundingBox local = get_extents(box); + const Vec2d lo = unscale(local.min); + const Vec2d size = unscale(local.max) - lo; + Vec2d pos(center.x() + 5. + margin + 5. - lo.x(), center.y() - size.y() / 2. - lo.y()); + box.translate(Point::new_scale(pos.x(), pos.y())); + // A bed too small for the pair keeps the cube at its centre and places the tower alone. + const Polygons bed{Polygon::new_scale(area->values)}; + const BoundingBox tower = get_extents(box); + BoundingBox pair = tower; + pair.merge(Point::new_scale(center.x() - 5., center.y() - 5.)); + pair.merge(Point::new_scale(center.x() + 5., center.y() + 5.)); + const Point room = get_extents(bed).size() - Point::new_scale(2. * margin, 2. * margin); + const bool rigid = pair.size().x() < room.x() && pair.size().y() < room.y(); + const Vec2d move = WipeTower::move_box_inside_polygon(rigid ? pair : tower, bed, scaled(margin)).cast(); + pos += move; + cfg.option("wipe_tower_x", true)->values = {pos.x()}; + cfg.option("wipe_tower_y", true)->values = {pos.y()}; + return rigid ? move : Vec2d::Zero(); +} + +// Slice one cube that switches from filament 1 to filament 2 partway up, so exactly one // filament change fires, then export. The change drives the printer's own change_filament_gcode: on a // single-nozzle machine it rides the AMS prime tower (append_tcr), on a multi-nozzle machine it routes // through the nozzle swap (set_extruder / append_tcr2) - the engine picks the path from the printer's // topology, so one model covers both. An undefined placeholder in any shipped custom g-code throws // Slic3r::PlaceholderParserError from export. -std::string slice_two_color_cube_and_export(const DynamicPrintConfig &cfg, bool is_bbl) +std::string slice_two_color_cube_and_export(DynamicPrintConfig cfg, bool is_bbl) { - const Vec2d center = printable_area_center(cfg); + const Vec2d center = printable_area_center(cfg); + const Vec2d cube_min = center - Vec2d(5., 5.) + place_wipe_tower(cfg, center); TriangleMesh m = make_cube(10, 10, 10); - m.translate(float(center.x() - 5.), float(center.y() - 5.), 0.f); + m.translate(static_cast(cube_min.x()), static_cast(cube_min.y()), 0.f); Model model; Print print; diff --git a/src/dev-utils/StackWalker.cpp b/src/dev-utils/StackWalker.cpp index 468e8927a5..3ef983cd86 100644 --- a/src/dev-utils/StackWalker.cpp +++ b/src/dev-utils/StackWalker.cpp @@ -364,7 +364,7 @@ void CStackWalker::GetModuleInformation(LPMODULE_INFO pmi) if (dwInfoSize > 0) { - LPVOID lpData = new byte[dwInfoSize]; + byte *lpData = new byte[dwInfoSize]; ZeroMemory(lpData, dwInfoSize * sizeof(byte)); if (GetFileVersionInfo(pmi->szModulePath, dwHandle, dwInfoSize, lpData) > 0 ) @@ -425,7 +425,7 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context) else c = *context; - STACKFRAME64 sf = {0}; + STACKFRAME64 sf = {}; DWORD imageType; //intel X86 diff --git a/src/dev-utils/generate_system_cache.cpp b/src/dev-utils/generate_system_cache.cpp index 426ccee997..017db79836 100644 --- a/src/dev-utils/generate_system_cache.cpp +++ b/src/dev-utils/generate_system_cache.cpp @@ -23,7 +23,8 @@ int main(int argc, char* argv[]) #else ("path,p", po::value()->default_value("../../../resources/profiles"), "Path to profiles directory") #endif - ("log_level,l", po::value()->default_value(2), "Log level (0=trace, 2=info, 4=error)"); + ("log_level,l", po::value()->default_value(2), "Log level (0=trace, 2=info, 4=error)") + ("vendor,v", po::value()->default_value(""), "Vendor name. Optional; generate the cache for this vendor only (the Orca filament library is always included as the inheritance base). All vendors if not specified."); // clang-format on po::variables_map vm; @@ -38,6 +39,7 @@ int main(int argc, char* argv[]) const std::string profiles_path = vm["path"].as(); const int log_level = vm["log_level"].as(); + const std::string vendor = vm["vendor"].as(); if (!fs::exists(profiles_path) || !fs::is_directory(profiles_path)) { std::cerr << "Error: '" << profiles_path << "' is not a valid directory\n"; @@ -59,8 +61,12 @@ int main(int argc, char* argv[]) preset_bundle->set_is_validation_mode(true); preset_bundle->set_default_suppressed(true); preset_bundle->set_generate_vendor_caches(true); + // Empty == every vendor. Otherwise only this vendor (plus the always-loaded + // Orca filament library) is parsed, so only its .opc is written. + preset_bundle->set_vendor_to_validate(vendor); - std::cout << "Loading system presets from: " << profiles_path << "\n"; + std::cout << "Loading system presets from: " << profiles_path + << (vendor.empty() ? "" : " (vendor: " + vendor + ")") << "\n"; try { // In validation mode data_dir() is the profiles directory set above, so the @@ -71,6 +77,14 @@ int main(int argc, char* argv[]) return 1; } + // A specific vendor must have produced its own cache; the always-loaded + // filament library alone would otherwise mask a misspelt or removed name. + if (!vendor.empty() && !fs::exists(fs::path(profiles_path) / (vendor + ".opc"))) { + std::cerr << "No cache was generated for vendor '" << vendor << "' under " << profiles_path + << " - check the vendor name.\n"; + return 1; + } + size_t cache_count = 0; for (auto& entry : fs::directory_iterator(profiles_path)) if (boost::iends_with(entry.path().string(), ".opc")) diff --git a/src/dev-utils/profile_include_dump.cpp b/src/dev-utils/profile_include_dump.cpp new file mode 100644 index 0000000000..f2486dedfc --- /dev/null +++ b/src/dev-utils/profile_include_dump.cpp @@ -0,0 +1,215 @@ +// Prints what the profile `include` key contributes to one vendor's system +// presets, so that the dump from OrcaSlicer and the one from BambuStudio can be +// diffed: the two copies of this file differ only in how they load the vendor. +// For every preset whose values pass through an included template, from its +// own file or an ancestor's, it prints the templates those files name, in the +// order they apply, then the loaded value of each key the templates set. Every +// line starts with the preset, so a plain diff names the preset of each +// difference. +#include "libslic3r/PresetBundle.hpp" +#include "libslic3r/Preset.hpp" +#include "libslic3r/Utils.hpp" + +#include +#include +#include "nlohmann/json.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Slic3r; +namespace fs = boost::filesystem; +using nlohmann::json; + +namespace { + +// What a sub-file states about where its values come from, and what it sets. +struct Entry +{ + std::string inherits; + std::vector includes; + std::vector keys; +}; + +// Sub-files by name, per section of the vendor index: `inherits` and `include` +// both resolve within a section. +using Sections = std::map>; + +json read_json(const fs::path &path) +{ + boost::nowide::ifstream in(path.string()); + if (!in) + throw std::runtime_error("Cannot read " + path.string()); + return json::parse(in); +} + +Sections read_vendor(const fs::path &dir, const std::string &vendor) +{ + // Keys that name and place a sub-file rather than set a value. + static const std::set metadata = {"name", "type", "from", "instantiation", "inherits", "include"}; + Sections sections; + const json index = read_json(dir / (vendor + ".json")); + for (const char *section : {"process_list", "filament_list", "machine_list"}) { + const auto list = index.find(section); + if (list == index.end()) + continue; + for (const json &item : *list) { + const json file = read_json(dir / vendor / item.at("sub_path").get()); + // A file without a name goes by its name in the index. + Entry &entry = sections[section][file.value("name", item.at("name").get())]; + entry.inherits = file.value("inherits", ""); + if (const auto include = file.find("include"); include != file.end()) { + if (include->is_string()) + entry.includes.push_back(include->get()); + else + for (const json &name : *include) + entry.includes.push_back(name.get()); + } + for (auto it = file.begin(); it != file.end(); ++it) + if (metadata.count(it.key()) == 0) + entry.keys.push_back(it.key()); + } + } + return sections; +} + +const PresetCollection &presets_of(const PresetBundle &bundle, const std::string §ion) +{ + if (section == "process_list") + return bundle.prints; + if (section == "filament_list") + return bundle.filaments; + return bundle.printers; +} + +size_t dump(const PresetBundle &bundle, const Sections §ions, std::ostream &out) +{ + size_t dumped = 0; + for (const auto &[section, entries] : sections) { + std::vector presets; + for (const Preset &preset : presets_of(bundle, section).get_presets()) + if (preset.is_system) + presets.push_back(&preset); + std::sort(presets.begin(), presets.end(), [](const Preset *a, const Preset *b) { return a->name < b->name; }); + for (const Preset *preset : presets) { + // The preset and its ancestors, root first: the order their includes apply in. + std::vector lineage; + for (auto it = entries.find(preset->name); it != entries.end() && lineage.size() <= entries.size(); + it = entries.find(it->second.inherits)) + lineage.insert(lineage.begin(), &it->second); + std::string templates; + std::set keys; + for (const Entry *entry : lineage) + for (const std::string &name : entry->includes) { + templates += (templates.empty() ? "" : "; ") + name; + if (const auto it = entries.find(name); it != entries.end()) + keys.insert(it->second.keys.begin(), it->second.keys.end()); + } + if (templates.empty()) + continue; + const std::string prefix = section.substr(0, section.find('_')) + " | " + preset->name + " | "; + out << prefix << "include = " << templates << "\n"; + for (const std::string &key : keys) + out << prefix << key << " = " << (preset->config.has(key) ? preset->config.opt_serialize(key) : "") << "\n"; + ++dumped; + } + } + return dumped; +} + +// Orca: load the vendor as the app does, against the filament library when the +// directory has one: parsed from its JSON files or, with from_cache, from the +// preset cache the app reads on every launch after the first. +void load_vendor(PresetBundle &bundle, const std::string &dir, const std::string &vendor, bool from_cache) +{ + const auto rule = ForwardCompatibilitySubstitutionRule::EnableSilent; + PresetBundle library; + const PresetBundle *base = nullptr; + if (fs::is_regular_file(fs::path(dir) / (std::string(PresetBundle::ORCA_FILAMENT_LIBRARY) + ".json"))) { + library.load_vendor_configs_from_json(dir, PresetBundle::ORCA_FILAMENT_LIBRARY, PresetBundle::LoadSystem, rule, nullptr, false); + base = &library; + } + if (!from_cache) { + bundle.load_vendor_configs_from_json(dir, vendor, PresetBundle::LoadSystem, rule, base, false); + return; + } + // Parse once to write .opc beside the profile, then load that + // cache into a clean bundle. Any cache already there goes first, so that a + // failed write cannot leave it to be loaded; one that was not there before + // goes again afterwards. + const fs::path cache = fs::path(dir) / (vendor + ".opc"); + const bool had_cache = fs::exists(cache); + fs::remove(cache); + PresetBundle parsed; + parsed.set_is_validation_mode(true); // parse the JSON: validation never serves a cache + parsed.set_generate_vendor_caches(true); + parsed.load_vendor_configs_from_json(dir, vendor, PresetBundle::LoadSystem, rule, base); + const bool loaded = bundle.load_vendor_cache(cache.string(), vendor, parsed.vendors.at(vendor).config_version, base); + if (!had_cache) + fs::remove(cache); + if (!loaded) + throw std::runtime_error("The preset cache " + cache.string() + " was not written or was rejected"); +} + +} // namespace + +int main(int argc, char *argv[]) +{ + const char *usage = "Usage: profile_include_dump -p -o [-v ] [-l ] [-c]\n" + " -v vendor to dump, BBL if omitted\n" + " -l log level, 0 (fatal) to 5 (trace); 1 if omitted\n" + " -c load the presets from the vendor's preset cache, generated first, not the JSON\n"; + std::string dir, output, vendor = "BBL"; + unsigned log_level = 1; + bool from_cache = false; + for (int i = 1; i < argc; ++i) { + const std::string arg = argv[i]; + if (arg == "-c") { + from_cache = true; + continue; + } + if (i + 1 == argc) { + std::cerr << usage; + return 1; + } + const std::string value = argv[++i]; + if (arg == "-p") + dir = value; + else if (arg == "-o") + output = value; + else if (arg == "-v") + vendor = value; + else if (arg == "-l" && value.size() == 1 && value[0] >= '0' && value[0] <= '5') + log_level = unsigned(value[0] - '0'); + else { + std::cerr << usage; + return 1; + } + } + if (dir.empty() || output.empty() || !fs::is_directory(dir)) { + std::cerr << usage; + return 1; + } + set_logging_level(log_level); + + try { + PresetBundle bundle; + load_vendor(bundle, dir, vendor, from_cache); + boost::nowide::ofstream out(output); + if (!out) + throw std::runtime_error("Cannot write " + output); + const size_t dumped = dump(bundle, read_vendor(dir, vendor), out); + out.close(); + if (!out) + throw std::runtime_error("Failed writing " + output); + std::cerr << "Dumped " << dumped << " " << vendor << " presets that include a template\n"; + } catch (const std::exception &ex) { + std::cerr << ex.what() << "\n"; + return 1; + } + return 0; +} diff --git a/src/libslic3r/Algorithm/LineSplit.hpp b/src/libslic3r/Algorithm/LineSplit.hpp index 58b9fdc34a..e12113fa6c 100644 --- a/src/libslic3r/Algorithm/LineSplit.hpp +++ b/src/libslic3r/Algorithm/LineSplit.hpp @@ -49,7 +49,7 @@ SplittedLine split_line(const PathType& path, const ExPolygons& clip, bool close // Convert the input path into an open ZPath ClipperZUtils::ZPath p; - p.reserve(path.size() + closed ? 1 : 0); + p.reserve(path.size() + (closed ? 1 : 0)); ClipperLib_Z::cInt z = 0; for (const auto& point : path) { p.emplace_back(point.x(), point.y(), z); diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index d26296cd69..cdcd9b4dec 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -42,6 +42,9 @@ namespace Slic3r { static const std::string VERSION_CHECK_URL = "https://check-version.orcaslicer.com/latest"; static const std::string PROFILE_UPDATE_URL = "https://check-version.orcaslicer.com/profile"; + +constexpr const char* CONFIG_ORCA_UPDATER_URL = "orca_updater_url"; + static const std::string MODELS_STR = "models"; const std::string AppConfig::SECTION_FILAMENTS = "filaments"; @@ -221,6 +224,12 @@ void AppConfig::set_defaults() set("preview_dim_previous_layers_brightness", std::to_string(std::max(0, std::min(brightness, 99)))); } + // ORCA: view type the G-code preview opens with. "auto" keeps the automatic choice (Filament for + // multi material prints, Line Type for single material ones), "last" restores the view type the user + // picked last, any other value is a fixed view type name, see GCodeViewer::view_type_to_config_name(). + if (get("preview_default_view_type").empty()) + set("preview_default_view_type", "auto"); + if (get("filaments_area_preferred_count").empty()) set("filaments_area_preferred_count", "10"); @@ -280,9 +289,17 @@ void AppConfig::set_defaults() set(SETTING_OPENGL_FPS_CAP, std::to_string(fps_cap)); } + if (get(SETTING_OPENGL_SCENE_CACHE).empty()) + set_bool(SETTING_OPENGL_SCENE_CACHE, true); + + if (get(SETTING_OPENGL_SKIP_IDENTICAL_FRAMES).empty()) + set_bool(SETTING_OPENGL_SKIP_IDENTICAL_FRAMES, true); + // The getter already defaults, parses and clamps; write back what it resolves to. set(SETTING_PLUGIN_PAGES_VISIBLE_COUNT, std::to_string(get_plugin_pages_visible_count())); + set(SETTING_SPEED_DIAL_RECENT_COUNT, std::to_string(get_speed_dial_recent_count())); + if (get(SETTING_OPENGL_SHOW_FPS_OVERLAY).empty()) set_bool(SETTING_OPENGL_SHOW_FPS_OVERLAY, false); @@ -292,6 +309,9 @@ void AppConfig::set_defaults() if (get(SETTING_OPENGL_REALISTIC_PHONG).empty()) set_bool(SETTING_OPENGL_REALISTIC_PHONG, true); + if (get(SETTING_OPENGL_REALISTIC_PREVIEW).empty()) + set_bool(SETTING_OPENGL_REALISTIC_PREVIEW, false); + if (get(SETTING_OPENGL_SHADING_MODEL).empty()) set(SETTING_OPENGL_SHADING_MODEL, "gouraud"); @@ -310,6 +330,26 @@ void AppConfig::set_defaults() if (get("zoom_to_mouse").empty()) set_bool("zoom_to_mouse", false); +#ifdef SLIC3R_CAD + // Experimental parametric Design tab. Off by default: the tab is not created at all + // until this is turned on, so nothing it builds reaches an unsuspecting user. + if (get("enable_cad_feature").empty()) + set_bool("enable_cad_feature", false); + + // Auto-weld sketch endpoints within kSketchJoinTol when building closed loops. + // Default ON: it is what the ~90% case wants; OFF makes the kernel demand an exact + // joint. The GUI pushes it into SketchEngine via set_sketch_auto_close(). + if (get("auto_close_sketch_loops").empty()) + set_bool("auto_close_sketch_loops", true); + + // Design tab: draw a mate connector as a face rather than as the abstract disc + roll + // quadrant. Defaults ON — face orientation is hardwired perception, so the roll and the + // verse read without being learned, which no abstract glyph achieves. Turning it off + // restores the conventional CAD representation for users who expect it (x0kd). + if (get("design_connector_face_glyph").empty()) + set_bool("design_connector_face_glyph", true); +#endif + //#ifdef SUPPORT_SHOW_HINTS if (get("show_hints").empty()) set_bool("show_hints", false); @@ -635,6 +675,11 @@ void AppConfig::set_defaults() set_bool("use_printer_agents", false); } + if (get("enable_ota").empty()) + { + set_bool("enable_ota", false); + } + // Remove legacy window positions/sizes erase("app", "main_frame_maximized"); erase("app", "main_frame_pos"); @@ -1656,6 +1701,22 @@ int AppConfig::get_plugin_pages_visible_count() const return std::clamp(visible_count, PLUGIN_PAGES_VISIBLE_COUNT_MIN, PLUGIN_PAGES_VISIBLE_COUNT_MAX); } +int AppConfig::get_speed_dial_recent_count() const +{ + std::string value = get(SETTING_SPEED_DIAL_RECENT_COUNT); + if (value.empty()) + return SPEED_DIAL_RECENT_COUNT_DEFAULT; + + int recent_count = SPEED_DIAL_RECENT_COUNT_DEFAULT; + try { + recent_count = std::stoi(value); + } + catch (...) { + return SPEED_DIAL_RECENT_COUNT_DEFAULT; + } + return std::clamp(recent_count, SPEED_DIAL_RECENT_COUNT_MIN, SPEED_DIAL_RECENT_COUNT_MAX); +} + std::vector AppConfig::get_skipped_network_versions() const { std::vector result; @@ -1815,7 +1876,10 @@ std::string AppConfig::version_check_url() const std::string AppConfig::profile_update_url() const { - return PROFILE_UPDATE_URL; + std::string orca_updater_url = get(CONFIG_ORCA_UPDATER_URL); + if (orca_updater_url.empty()) + return PROFILE_UPDATE_URL; + return orca_updater_url; } bool AppConfig::exists() diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp index c799502993..2eac9f5fc6 100644 --- a/src/libslic3r/AppConfig.hpp +++ b/src/libslic3r/AppConfig.hpp @@ -33,6 +33,8 @@ using namespace nlohmann; #define SETTING_OPENGL_AA_SAMPLES "opengl_antialiasing_samples" #define SETTING_OPENGL_FXAA_ENABLED "opengl_fxaa_enabled" #define SETTING_OPENGL_FPS_CAP "opengl_fps_cap" +#define SETTING_OPENGL_SCENE_CACHE "opengl_scene_cache" +#define SETTING_OPENGL_SKIP_IDENTICAL_FRAMES "opengl_skip_identical_frames" #define SETTING_OPENGL_SHOW_FPS_OVERLAY "opengl_show_fps_overlay" #define SETTING_OPENGL_REALISTIC_MODE "opengl_realistic_mode" #define SETTING_OPENGL_REALISTIC_PHONG "opengl_realistic_phong" @@ -40,12 +42,18 @@ using namespace nlohmann; #define SETTING_OPENGL_PHONG_BASIC_PLATE_SHADOWS "opengl_phong_basic_plate_shadows" #define SETTING_OPENGL_PHONG_SSAO "opengl_phong_ssao" #define SETTING_OPENGL_PHONG_SMOOTH_NORMALS "opengl_phong_smooth_normals" +#define SETTING_OPENGL_REALISTIC_PREVIEW "opengl_realistic_preview" #define SETTING_PLUGIN_PAGES_VISIBLE_COUNT "plugin_pages_visible_count" #define PLUGIN_PAGES_VISIBLE_COUNT_MIN 1 #define PLUGIN_PAGES_VISIBLE_COUNT_DEFAULT 5 #define PLUGIN_PAGES_VISIBLE_COUNT_MAX 10 +#define SETTING_SPEED_DIAL_RECENT_COUNT "speed_dial_recent_count" +#define SPEED_DIAL_RECENT_COUNT_MIN 0 +#define SPEED_DIAL_RECENT_COUNT_DEFAULT 5 +#define SPEED_DIAL_RECENT_COUNT_MAX 10 + #if defined(_WIN32) || defined(_WIN64) #define BAMBU_NETWORK_AGENT_VERSION_LEGACY "01.10.01.09" #else @@ -394,6 +402,9 @@ public: // dropdown on the last tab. int get_plugin_pages_visible_count() const; + // Number of recently launched actions shown at the top of the Speed Dial; 0 hides them. + int get_speed_dial_recent_count() const; + std::vector get_skipped_network_versions() const; void add_skipped_network_version(const std::string& version); bool is_network_version_skipped(const std::string& version) const; diff --git a/src/libslic3r/CAD/CadDocument.cpp b/src/libslic3r/CAD/CadDocument.cpp new file mode 100644 index 0000000000..c20b636ae7 --- /dev/null +++ b/src/libslic3r/CAD/CadDocument.cpp @@ -0,0 +1,4125 @@ +#include "libslic3r/CAD/CadDocument.hpp" +#include "libslic3r/CAD/SketchConstraints.hpp" +#include "libslic3r/CAD/SketchSolver.hpp" +#include "libslic3r/CAD/SketchImport.hpp" // transform_regions for imported art + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // plane_of_face: reject non-planar faces +#include +#include +#include +#include +#include +#include +#include // SurfaceFill: GeomAbs_C0 +#include +#include +#include +#include +#include +#include // multi-body: compound of bodies for display/compat +#include +#include // outward-normal orientation for face-extrude +#include // TopoDS::Edge for SurfaceFill +#include // is_sheet_shape +#include +#include +#include +#include +#include +#include // pattern: rigid copy transforms +#include // STEP export (native B-rep) +#include +#include +#include // pattern: rotation axis (circular) +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace Slic3r { + +// ---- helical-thread construction helpers (file-local) ---------------------- + +// Helix spine on a cylinder (radius/pitch/height) about `axis`, as a wire. +static TopoDS_Wire make_helix_wire(const gp_Ax3& axis, double radius, + double pitch, double height) +{ + Handle(Geom_CylindricalSurface) cyl = new Geom_CylindricalSurface(axis, radius); + double turns = (pitch > 1e-6) ? (height / pitch) : 1.0; + // In the surface (u,v) parametrization u is the angle, v the axial height. + gp_Pnt2d p0(0.0, 0.0); + gp_Pnt2d p1(2.0 * M_PI * turns, height); + Handle(Geom2d_TrimmedCurve) seg = GCE2d_MakeSegment(p0, p1); + TopoDS_Edge e = BRepBuilderAPI_MakeEdge(seg, cyl).Edge(); + BRepLib::BuildCurves3d(e); + return BRepBuilderAPI_MakeWire(e).Wire(); +} + +// Helix spine from a CadFeature's helix params. Supports cylindrical (taper==0) +// and conical (taper!=0) surfaces; left_handed flips the winding direction. +// Returns null wire if validation fails (error is written to err). +static TopoDS_Wire make_helix_spine(const CadFeature& f, std::string& err) +{ + err.clear(); + const double R = f.helix_radius, P = f.helix_pitch, H = f.helix_height; + const double taper = f.helix_taper_deg * M_PI / 180.0; + + if (R <= 0) { err = "helix radius must be > 0"; return TopoDS_Wire(); } + if (P <= 0) { err = "helix pitch must be > 0"; return TopoDS_Wire(); } + if (H < 0) { err = "helix height must be >= 0"; return TopoDS_Wire(); } + if (H == 0) { err = "helix height of 0 (flat spiral) is not supported"; return TopoDS_Wire(); } + const double turns = H / P; + if (turns > 10000) { err = "helix turn count exceeds limit (10000)"; return TopoDS_Wire(); } + if (std::abs(taper) > 1e-12) { + const double R_top = R + H * std::tan(taper); + if (R_top <= 0) { + err = "helix taper drives radius negative before reaching height"; + return TopoDS_Wire(); + } + } + + gp_Dir zdir(f.plane.normal.x(), f.plane.normal.y(), f.plane.normal.z()); + gp_Dir xdir(f.plane.x_axis.x(), f.plane.x_axis.y(), f.plane.x_axis.z()); + Vec3d ori = f.plane.origin; + gp_Pnt o(ori.x(), ori.y(), ori.z()); + gp_Ax2 ax2(o, zdir, xdir); + gp_Ax3 ax3(o, zdir, xdir); + + TopoDS_Edge e; + if (std::abs(taper) > 1e-12) { + Handle(Geom_ConicalSurface) cone = new Geom_ConicalSurface(ax3, taper, R); + double u1 = f.helix_left_handed ? -2.0 * M_PI * turns : 2.0 * M_PI * turns; + gp_Pnt2d p0(0.0, 0.0); + gp_Pnt2d p1(u1, H); + Handle(Geom2d_TrimmedCurve) seg = GCE2d_MakeSegment(p0, p1); + e = BRepBuilderAPI_MakeEdge(seg, cone).Edge(); + } else { + Handle(Geom_CylindricalSurface) cyl = new Geom_CylindricalSurface(ax3, R); + double u1 = f.helix_left_handed ? -2.0 * M_PI * turns : 2.0 * M_PI * turns; + gp_Pnt2d p0(0.0, 0.0); + gp_Pnt2d p1(u1, H); + Handle(Geom2d_TrimmedCurve) seg = GCE2d_MakeSegment(p0, p1); + e = BRepBuilderAPI_MakeEdge(seg, cyl).Edge(); + } + BRepLib::BuildCurves3d(e); + return BRepBuilderAPI_MakeWire(e).Wire(); +} + +// Triangular axial thread profile (a planar face) placed at the helix start +// (origin + radius*xdir). Spans +-pitch/2 axially; apex offset radially by depth. +// Both thread kinds sweep the SAME outward-biting V (base on the cylinder wall, +// apex `depth` into the surrounding material). Only the boolean differs: +// - external: the V is FUSED to the rod -> a raised helical ridge. +// - internal: the V is CUT from the wall -> a sunken helical groove. The cut MUST +// go outward into the wall to be visible; an inward V (the old behaviour) only +// sweeps already-empty bore space and removes nothing. +static TopoDS_Wire make_thread_profile(const gp_Pnt& origin, const gp_Dir& xdir, + const gp_Dir& zdir, double radius, + double pitch, double depth, bool internal) +{ + // `internal` is intentionally unused: the V is the same shape either way, always pointing + // radially outward from `radius`. What differs is what the caller DOES with the swept solid + // — an external thread fuses it onto the shaft, an internal one cuts it out of the wall after + // boring at the minor diameter. Keeping the parameter documents that the caller decided, and + // stops someone "fixing" the profile to point inward for the internal case, which would make + // the groove sweep already-empty bore space and cut nothing. + (void)internal; + gp_Vec vx(xdir), vz(zdir); + // Root the V CLEARLY inside the wall (a real overlap, not a 0.05 mm tangency) so the boolean + // has clean intersections — near-coincident faces are what make OCCT's fuse/cut unstable. + const double over = std::min(std::max(depth, 0.25), radius * 0.4); + double inner = radius - over; // base, well inside the wall (solid overlap) + double crest = radius + depth; // apex, `depth` into the surrounding material + // Axial half-height must be < pitch/2 so ADJACENT helix turns don't collide — a full-pitch + // profile makes the swept solid self-intersect (invalid -> never renders, or crashes the + // boolean). 0.42*pitch leaves a clean gap between turns; the V still reads as a thread. + const double half = 0.42 * pitch; + gp_Pnt top (origin.XYZ() + (vx * inner).XYZ() + (vz * ( half)).XYZ()); + gp_Pnt bot (origin.XYZ() + (vx * inner).XYZ() + (vz * (-half)).XYZ()); + gp_Pnt apex(origin.XYZ() + (vx * crest).XYZ()); + BRepBuilderAPI_MakePolygon poly(top, bot, apex, Standard_True); + return poly.Wire(); // closed triangle, swept by MakePipeShell with a fixed binormal +} + +// ---- expression evaluator (file-local) ------------------------------------- +// ponytail: self-contained shunting-yard arithmetic + function set for +// parametric dimension expressions. Extend the function table if needed. + +// Evaluate an arithmetic expression to a double. Supports + - * /, parentheses, +// unary minus, decimal literals, and identifiers resolved via `vars`. Functions: +// sqrt, abs, sin, cos, tan (degrees), min, max, and the constant `pi`. +// Throws std::runtime_error on any parse or lookup error, div-by-zero, bad arity. +static double eval_expr(const std::string& src, const std::map& vars) +{ + struct Token { + enum Type { Num, Id, Op, LParen, RParen, Comma }; + Type type; + std::string val; + double num{0}; + }; + // precedence: 0=paren/comma, 1=+-, 2=*/, 3=unary-minus, 4=function + auto prec = [](char op, bool unary) -> int { + if (unary && op == 'u') return 3; + if (op == '+' || op == '-') return 1; + if (op == '*' || op == '/') return 2; + if (op == '(' || op == ')' || op == ',') return 0; + return 0; + }; + auto is_op = [](char c) { return c == '+' || c == '-' || c == '*' || c == '/'; }; + + // ---- tokenise ---- + std::vector tokens; + size_t i = 0; + bool prev_was_val = false; // tracked for unary-minus detection + while (i < src.size()) { + char c = src[i]; + if (c == ' ' || c == '\t' || c == '\r' || c == '\n') { ++i; continue; } + if (c == '(') { tokens.push_back({Token::LParen, "("}); ++i; prev_was_val = false; continue; } + if (c == ')') { tokens.push_back({Token::RParen, ")"}); ++i; prev_was_val = true; continue; } + if (c == ',') { tokens.push_back({Token::Comma, ","}); ++i; prev_was_val = false; continue; } + if (isdigit(c) || c == '.') { + size_t start = i; + while (i < src.size() && (isdigit(src[i]) || src[i] == '.')) ++i; + Token t{Token::Num, src.substr(start, i - start)}; + t.num = std::stod(t.val); + tokens.push_back(t); + prev_was_val = true; + continue; + } + if (isalpha(c) || c == '_') { + size_t start = i; + while (i < src.size() && (isalnum(src[i]) || src[i] == '_')) ++i; + std::string id = src.substr(start, i - start); + tokens.push_back({Token::Id, id}); + prev_was_val = true; + continue; + } + if (is_op(c)) { + // unary minus detection + if (c == '-' && !prev_was_val) { + tokens.push_back({Token::Op, "u"}); + } else { + tokens.push_back({Token::Op, std::string(1, c)}); + } + ++i; + prev_was_val = false; + continue; + } + throw std::runtime_error("bad character in expression"); + } + + // ---- shunting-yard: infix -> RPN ---- + std::vector rpn; + std::vector stack; + auto flush_paren = [&]() { + while (!stack.empty() && stack.back().type != Token::LParen) { + rpn.push_back(stack.back()); stack.pop_back(); + } + if (stack.empty()) throw std::runtime_error("mismatched parentheses"); + stack.pop_back(); // discard '(' +#if 0 + // If the '(' belonged to a function call, push the function name + // (ponytail: we track this via the Id token on top of the op stack + // BEFORE the '(' was pushed; after flush we check if the previous + // token was a function-call Id). +#endif + if (!stack.empty() && stack.back().type == Token::Id) { + rpn.push_back(stack.back()); stack.pop_back(); + } + }; + + for (size_t j = 0; j < tokens.size(); ++j) { + const Token& t = tokens[j]; + if (t.type == Token::Num) { + rpn.push_back(t); + } else if (t.type == Token::Id) { + // function call if the next token is '(' + if (j + 1 < tokens.size() && tokens[j + 1].type == Token::LParen) { + stack.push_back(t); + } else { + // identifier — resolve now + double v; + if (t.val == "pi") v = M_PI; + else { + auto it = vars.find(t.val); + if (it == vars.end()) + throw std::runtime_error("unknown identifier: " + t.val); + v = it->second; + } + rpn.push_back({Token::Num, "", v}); + } + } else if (t.type == Token::Op) { + int p = prec(t.val[0], t.val == "u"); + while (!stack.empty()) { + const Token& top = stack.back(); + if (top.type != Token::Op && top.type != Token::Id) break; + int tp = prec(top.val[0], top.val == "u"); + if (tp < 4 && p <= tp) { + rpn.push_back(top); stack.pop_back(); + } else break; + } + stack.push_back(t); + } else if (t.type == Token::LParen) { + stack.push_back(t); + } else if (t.type == Token::RParen) { + flush_paren(); + } else if (t.type == Token::Comma) { + while (!stack.empty() && stack.back().type != Token::LParen) { + rpn.push_back(stack.back()); stack.pop_back(); + } + // , is a no-op separator — just stay inside the paren + } + } + while (!stack.empty()) { + if (stack.back().type == Token::LParen || stack.back().type == Token::RParen) + throw std::runtime_error("mismatched parentheses"); + rpn.push_back(stack.back()); stack.pop_back(); + } + + // ---- evaluate RPN ---- + std::vector vs; + for (const Token& t : rpn) { + if (t.type == Token::Num) { + vs.push_back(t.num); + } else if (t.type == Token::Op) { + if (t.val == "u") { + if (vs.empty()) throw std::runtime_error("missing operand for unary minus"); + vs.back() = -vs.back(); + } else { + if (vs.size() < 2) throw std::runtime_error("not enough operands for '" + t.val + "'"); + double b = vs.back(); vs.pop_back(); + double a = vs.back(); vs.pop_back(); + if (t.val == "+") vs.push_back(a + b); + else if (t.val == "-") vs.push_back(a - b); + else if (t.val == "*") vs.push_back(a * b); + else if (t.val == "/") { if (b == 0) throw std::runtime_error("division by zero"); vs.push_back(a / b); } + } + } else if (t.type == Token::Id) { + // function call (already on RPN via shunting-yard) + auto call_fn = [&](const std::string& name, int arity) { + if ((int)vs.size() < arity) + throw std::runtime_error("not enough arguments for " + name + "()"); + if (name == "sqrt") { double a = vs.back(); vs.pop_back(); vs.push_back(std::sqrt(a)); } + else if (name == "abs") { double a = vs.back(); vs.pop_back(); vs.push_back(std::abs(a)); } + else if (name == "sin") { double a = vs.back(); vs.pop_back(); vs.push_back(std::sin(a * M_PI / 180.0)); } + else if (name == "cos") { double a = vs.back(); vs.pop_back(); vs.push_back(std::cos(a * M_PI / 180.0)); } + else if (name == "tan") { double a = vs.back(); vs.pop_back(); vs.push_back(std::tan(a * M_PI / 180.0)); } + else if (name == "min") { double b = vs.back(); vs.pop_back(); double a = vs.back(); vs.pop_back(); vs.push_back(std::min(a, b)); } + else if (name == "max") { double b = vs.back(); vs.pop_back(); double a = vs.back(); vs.pop_back(); vs.push_back(std::max(a, b)); } + else throw std::runtime_error("unknown function: " + name); + }; + call_fn(t.val, (t.val == "min" || t.val == "max") ? 2 : 1); + } + } + if (vs.size() != 1) throw std::runtime_error("invalid expression"); + return vs[0]; +} + +// Topologically evaluate `variables` (name -> expression) into name -> value. +// An expression may reference other variables; resolution is recursive with a +// visiting set. Throws std::runtime_error("variable cycle: ...") on a dependency +// cycle, or propagates eval_expr errors. +static std::map +evaluate_variables(const std::map& variables) +{ + std::map done; + std::set visiting; + + std::function resolve = [&](const std::string& name) -> double { + auto itd = done.find(name); + if (itd != done.end()) return itd->second; + if (visiting.count(name)) throw std::runtime_error("variable cycle: " + name); + auto itv = variables.find(name); + if (itv == variables.end()) throw std::runtime_error("unknown identifier: " + name); + visiting.insert(name); + // pre-resolve every identifier `name` references: scan for identifiers in + // its expression, resolve them first, then eval with the populated map. + // ponytail: simplest correct approach — depth-first with visited tracking. + std::map scope = done; // start with already-resolved + // Add any variable name found in the expression to scope (resolve recursively) + const std::string& expr = itv->second; + for (size_t i = 0; i < expr.size(); ) { + char c = expr[i]; + if (c == ' ' || c == '\t' || c == '\r' || c == '\n') { ++i; continue; } + if (isalpha(c) || c == '_') { + size_t start = i; + while (i < expr.size() && (isalnum(expr[i]) || expr[i] == '_')) ++i; + std::string id = expr.substr(start, i - start); + // skip "pi" and function names — they're built-ins, not variables + if (id == "pi" || id == "sqrt" || id == "abs" || id == "sin" || id == "cos" || + id == "tan" || id == "min" || id == "max") continue; + if (!variables.count(id)) throw std::runtime_error("unknown identifier: " + id); + scope[id] = resolve(id); + continue; + } + ++i; + } + double val = eval_expr(expr, scope); + visiting.erase(name); + done[name] = val; + return val; + }; + + for (const auto& [k, _] : variables) resolve(k); + return done; +} + +// Write `value` into the CadFeature numeric field named `field`. Allow-list of +// the geometric dimension fields a variable realistically drives. Integer-valued +// fields are rounded. Throws std::runtime_error("unknown parameter: " + field) +// for anything not in the list. +static void assign_field(CadFeature& f, const std::string& field, double value) +{ + // double fields (alphabetical) + if (field == "distance") { f.distance = value; return; } + if (field == "distance2") { f.distance2 = value; return; } + if (field == "draft_angle") { f.draft_angle = value; return; } + if (field == "dressup_size") { f.dressup_size = value; return; } + if (field == "height") { f.height = value; return; } + if (field == "hole_cbore_diameter") { f.hole_cbore_diameter = value; return; } + if (field == "hole_cbore_depth") { f.hole_cbore_depth = value; return; } + if (field == "hole_csink_angle") { f.hole_csink_angle = value; return; } + if (field == "hole_csink_diameter") { f.hole_csink_diameter = value; return; } + if (field == "hole_depth") { f.hole_depth = value; return; } + if (field == "hole_diameter") { f.hole_diameter = value; return; } + if (field == "hole_x") { f.hole_x = value; return; } + if (field == "hole_y") { f.hole_y = value; return; } + if (field == "import_scale_x") { f.import_scale_x = value; return; } + if (field == "import_scale_y") { f.import_scale_y = value; return; } + if (field == "pattern_angle") { f.pattern_angle = value; return; } + if (field == "pattern_spacing") { f.pattern_spacing = value; return; } + if (field == "plane_angle_tilt") { f.plane_angle_tilt = value; return; } + if (field == "plane_offset") { f.plane_offset = value; return; } + if (field == "radius") { f.radius = value; return; } + if (field == "revolve_angle") { f.revolve_angle = value; return; } + if (field == "rib_depth") { f.rib_depth = value; return; } + if (field == "rib_thickness") { f.rib_thickness = value; return; } + if (field == "shell_thickness") { f.shell_thickness = value; return; } + if (field == "taper_deg") { f.taper_deg = value; return; } + if (field == "thread_depth") { f.thread_depth = value; return; } + if (field == "thread_height") { f.thread_height = value; return; } + if (field == "thread_pitch") { f.thread_pitch = value; return; } + if (field == "thread_radius") { f.thread_radius = value; return; } + if (field == "thread_x") { f.thread_x = value; return; } + if (field == "thread_y") { f.thread_y = value; return; } + if (field == "width") { f.width = value; return; } + // int fields (rounded) + if (field == "pattern_count") { f.pattern_count = (int)std::lround(value); return; } + throw std::runtime_error("unknown parameter: " + field); +} + +// --------------------------------------------------------------------------- + +// Sample a sketch entity at parameter t in [0,1]. Handles Line, Arc, BSpline (cubic, 4 poles). +// Falls back to a p0->p1 lerp for any other type. // ponytail: covers the entities a guide +// curve is realistically drawn with; extend if needed. +static Vec2d sample_entity_2d(const SketchEntity& e, double t) +{ + t = std::max(0.0, std::min(1.0, t)); + switch (e.type) { + case SketchEntity::Type::Line: + return e.p0 + (e.p1 - e.p0) * t; + case SketchEntity::Type::Arc: { + double theta = e.start_angle + (e.end_angle - e.start_angle) * t; + return e.center + e.radius * Vec2d(std::cos(theta), std::sin(theta)); + } + case SketchEntity::Type::BSpline: + if (e.ctrl.size() == 4) { + const double u = 1.0 - t; + const double b0 = u * u * u; + const double b1 = 3.0 * u * u * t; + const double b2 = 3.0 * u * t * t; + const double b3 = t * t * t; + return e.ctrl[0] * b0 + e.ctrl[1] * b1 + e.ctrl[2] * b2 + e.ctrl[3] * b3; + } + return e.ctrl.empty() ? e.p0 + (e.p1 - e.p0) * t + : e.ctrl.front() + (e.ctrl.back() - e.ctrl.front()) * t; + default: + return e.p0 + (e.p1 - e.p0) * t; + } +} + +int CadDocument::add_sketch(SketchShape shape, const SketchPlane& plane, + double width, double height, double radius, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Sketch; + f.name = name; + f.shape = shape; + f.plane = plane; + f.width = width; + f.height = height; + f.radius = radius; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_sketch_profile(const SketchProfile& profile, const SketchPlane& plane, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Sketch; + f.name = name; + f.plane = plane; + f.profile = profile; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_sketch_entities(const std::vector& entities, + const SketchPlane& plane, const std::string& name, + const std::vector& constraints) +{ + CadFeature f; + f.type = CadFeatureType::Sketch; + f.name = name; + f.plane = plane; + f.entities = entities; + f.entity_constraints = constraints; // driving dimensions, solved by solve_sketch_feature + features.push_back(f); + return int(features.size()) - 1; +} + +// Solve Onshape-style constraints on a SketchEntity list (Fase 4.3). All entity +// types participate: Line (P0,P1), Arc (P0,P1,Center), Circle (Center), Point (P0). +// Solved coordinates are written back, with arc angles reflowed from the solved +// center+endpoints. Free function (declared in SketchEngine.hpp) so the in-session +// GUI sketch tool can live-solve the same way committed features do. +bool solve_sketch_entities(std::vector& entities, + const std::vector& constraints) +{ + // Delegated to the vendored SolveSpace solver (SketchSolver / libslvs): full + // constraint set, real DoF + over-constrained detection. + return sketch_solve(entities, constraints).ok; +} + +#if 0 // legacy hand-rolled Gauss-Newton solver — superseded by libslvs, kept for reference +static bool legacy_solve_sketch_entities(std::vector& entities, + const std::vector& constraints) +{ + if (constraints.empty()) return true; + + SketchConstraints sc; + // table[entity][role] -> solver point id, or -1 if that role is unregistered. + std::vector> table(entities.size(), {-1, -1, -1}); + auto reg = [&](int ei, SketchPointRole role, const Vec2d& p) { + table[ei][int(role)] = sc.add_point(p.x(), p.y()); + }; + for (size_t i = 0; i < entities.size(); ++i) { + const SketchEntity& e = entities[i]; + switch (e.type) { + case SketchEntity::Type::Line: + reg(int(i), SketchPointRole::P0, e.p0); + reg(int(i), SketchPointRole::P1, e.p1); + break; + case SketchEntity::Type::Arc: + reg(int(i), SketchPointRole::P0, e.p0); + reg(int(i), SketchPointRole::P1, e.p1); + reg(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::Circle: + reg(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::Point: + reg(int(i), SketchPointRole::P0, e.p0); + break; + } + } + + auto pid = [&](int ei, SketchPointRole role) -> int { + if (ei < 0 || ei >= int(table.size())) return -1; + return table[ei][int(role)]; + }; + + for (const SketchEntityConstraintDef& c : constraints) { + switch (c.type) { + // Point-form: refs A and B name individual entity points. + case SketchConstraintType::Fix: { + int a = pid(c.ea, c.ra); + if (a >= 0) sc.fix_point(a); + break; + } + case SketchConstraintType::Coincident: { + int a = pid(c.ea, c.ra), b = pid(c.eb, c.rb); + if (a >= 0 && b >= 0) sc.coincident(a, b); + break; + } + case SketchConstraintType::Horizontal: { + int a = pid(c.ea, c.ra), b = pid(c.eb, c.rb); + if (a >= 0 && b >= 0) sc.horizontal(a, b); + break; + } + case SketchConstraintType::Vertical: { + int a = pid(c.ea, c.ra), b = pid(c.eb, c.rb); + if (a >= 0 && b >= 0) sc.vertical(a, b); + break; + } + case SketchConstraintType::Distance: { + int a = pid(c.ea, c.ra), b = pid(c.eb, c.rb); + if (a >= 0 && b >= 0) sc.distance(a, b, c.value); + break; + } + case SketchConstraintType::LockX: { + int a = pid(c.ea, c.ra); + if (a >= 0) sc.lock_x(a, c.value); + break; + } + case SketchConstraintType::LockY: { + int a = pid(c.ea, c.ra); + if (a >= 0) sc.lock_y(a, c.value); + break; + } + // Segment-form: ea and eb name whole line segments (their P0->P1). + case SketchConstraintType::Parallel: + case SketchConstraintType::Perpendicular: + case SketchConstraintType::EqualLength: { + int a0 = pid(c.ea, SketchPointRole::P0), a1 = pid(c.ea, SketchPointRole::P1); + int b0 = pid(c.eb, SketchPointRole::P0), b1 = pid(c.eb, SketchPointRole::P1); + if (a0 < 0 || a1 < 0 || b0 < 0 || b1 < 0) break; + if (c.type == SketchConstraintType::Parallel) sc.parallel(a0, a1, b0, b1); + else if (c.type == SketchConstraintType::Perpendicular) sc.perpendicular(a0, a1, b0, b1); + else sc.equal_length(a0, a1, b0, b1); + break; + } + case SketchConstraintType::Concentric: { + int a = pid(c.ea, SketchPointRole::Center); + int b = pid(c.eb, SketchPointRole::Center); + if (a >= 0 && b >= 0) sc.coincident(a, b); + break; + } + case SketchConstraintType::Midpoint: { + int m = pid(c.ea, c.ra); + int a = pid(c.eb, SketchPointRole::P0); + int b = pid(c.eb, SketchPointRole::P1); + if (m >= 0 && a >= 0 && b >= 0) sc.midpoint(m, a, b); + break; + } + case SketchConstraintType::Symmetric: { + int a = pid(c.ea, c.ra); + int b = pid(c.eb, c.rb); + int x0 = pid(c.ec, SketchPointRole::P0); + int x1 = pid(c.ec, SketchPointRole::P1); + if (a >= 0 && b >= 0 && x0 >= 0 && x1 >= 0) sc.symmetric(a, b, x0, x1); + break; + } + case SketchConstraintType::Angle: { + int a0 = pid(c.ea, SketchPointRole::P0), a1 = pid(c.ea, SketchPointRole::P1); + int b0 = pid(c.eb, SketchPointRole::P0), b1 = pid(c.eb, SketchPointRole::P1); + if (a0 >= 0 && a1 >= 0 && b0 >= 0 && b1 >= 0) sc.angle(a0, a1, b0, b1, c.value); + break; + } + case SketchConstraintType::Radius: + case SketchConstraintType::Diameter: + // dimensions: applied in the post-solve pass below, not via the solver. + break; + case SketchConstraintType::PointOnLine: { + // Point `ea`/`ra` is held at signed perpendicular distance `value` from + // line `eb` (value 0 -> on the line). Drives e.g. a circle centre onto a + // construction axis and keeps it there through later edits. + int p = pid(c.ea, c.ra); + int l0 = pid(c.eb, SketchPointRole::P0), l1 = pid(c.eb, SketchPointRole::P1); + if (p >= 0 && l0 >= 0 && l1 >= 0) sc.point_line_distance(p, l0, l1, c.value); + break; + } + case SketchConstraintType::Tangent: { + auto in_range = [&](int e){ return e >= 0 && e < (int)entities.size(); }; + if (!in_range(c.ea) || !in_range(c.eb)) break; + const SketchEntity& ea_e = entities[c.ea]; + const SketchEntity& eb_e = entities[c.eb]; + auto is_round = [](const SketchEntity& e){ + return e.type == SketchEntity::Type::Circle || e.type == SketchEntity::Type::Arc; }; + if (is_round(ea_e) && eb_e.type == SketchEntity::Type::Line) { + int cen = pid(c.ea, SketchPointRole::Center); + int l0 = pid(c.eb, SketchPointRole::P0), l1 = pid(c.eb, SketchPointRole::P1); + if (cen >= 0 && l0 >= 0 && l1 >= 0) sc.point_line_distance(cen, l0, l1, ea_e.radius); + } else if (is_round(eb_e) && ea_e.type == SketchEntity::Type::Line) { + int cen = pid(c.eb, SketchPointRole::Center); + int l0 = pid(c.ea, SketchPointRole::P0), l1 = pid(c.ea, SketchPointRole::P1); + if (cen >= 0 && l0 >= 0 && l1 >= 0) sc.point_line_distance(cen, l0, l1, eb_e.radius); + } else if (is_round(ea_e) && is_round(eb_e)) { + int c0 = pid(c.ea, SketchPointRole::Center), c1 = pid(c.eb, SketchPointRole::Center); + if (c0 >= 0 && c1 >= 0) sc.distance(c0, c1, ea_e.radius + eb_e.radius); + } + break; + } + } + } + + const bool ok = sc.solve(); + // Write solved coordinates back into the participating entities. + for (size_t i = 0; i < entities.size(); ++i) { + SketchEntity& e = entities[i]; + int ip0 = table[i][int(SketchPointRole::P0)]; + int ip1 = table[i][int(SketchPointRole::P1)]; + int ic = table[i][int(SketchPointRole::Center)]; + if (ip0 >= 0) e.p0 = sc.get_point(ip0); + if (ip1 >= 0) e.p1 = sc.get_point(ip1); + if (ic >= 0) e.center = sc.get_point(ic); + + if (e.type == SketchEntity::Type::Arc && ic >= 0) { + // Reflow arc angles from solved center + endpoints, preserving the + // original sweep direction (CCW vs CW). + const double old_sweep = e.end_angle - e.start_angle; // signed, original + double ns = std::atan2(e.p0.y() - e.center.y(), e.p0.x() - e.center.x()); + double ne = std::atan2(e.p1.y() - e.center.y(), e.p1.x() - e.center.x()); + double sweep = ne - ns; + // Normalize `sweep` into (-2pi, 2pi) then match the sign of old_sweep so + // the arc keeps turning the same way it did before solving. + const double TWO_PI = 2.0 * M_PI; + while (sweep <= -TWO_PI) sweep += TWO_PI; + while (sweep >= TWO_PI) sweep -= TWO_PI; + if (old_sweep >= 0.0 && sweep < 0.0) sweep += TWO_PI; + if (old_sweep < 0.0 && sweep > 0.0) sweep -= TWO_PI; + e.start_angle = ns; + e.end_angle = ns + sweep; + e.radius = 0.5 * ((e.p0 - e.center).norm() + (e.p1 - e.center).norm()); + } + if (e.type == SketchEntity::Type::Circle && ic >= 0) { + // p0 mirrors the center for circles; keep them consistent. + e.p0 = e.center; + } + } + // Apply radius/diameter dimensions directly (radius is not a solver variable). + for (const auto& c : constraints) { + if (c.type != SketchConstraintType::Radius && + c.type != SketchConstraintType::Diameter) continue; + if (c.ea < 0 || c.ea >= (int)entities.size()) continue; + SketchEntity& e = entities[c.ea]; + if (e.type != SketchEntity::Type::Circle && e.type != SketchEntity::Type::Arc) continue; + const double r = (c.type == SketchConstraintType::Diameter) ? 0.5 * c.value : c.value; + if (r <= 0.0) continue; + e.radius = r; + if (e.type == SketchEntity::Type::Arc) { + // Rescale endpoints to the new radius around the (solved) center, keeping + // each endpoint's direction so the reflowed start/end angles stay valid. + auto rescale = [&](Vec2d& p) { + Vec2d d = p - e.center; + const double n = d.norm(); + if (n > 1e-12) p = e.center + (r / n) * d; + }; + rescale(e.p0); + rescale(e.p1); + } + } + return ok; +} +#endif // legacy solver + +bool CadDocument::solve_sketch_feature(int index) +{ + if (index < 0 || index >= int(features.size())) return false; + CadFeature& f = features[index]; + if (f.type != CadFeatureType::Sketch) return false; + + // Onshape-style entity sketches solve against entity endpoints (Fase 4.2). + if (!f.entities.empty()) + return solve_sketch_entities(f.entities, f.entity_constraints); + + if (f.constraints.empty()) return true; + + SketchConstraints sc; + for (const Vec2d& p : f.profile.points) + sc.add_point(p.x(), p.y()); + + for (const SketchConstraintDef& c : f.constraints) { + switch (c.type) { + case SketchConstraintType::Fix: sc.fix_point(c.a); break; + case SketchConstraintType::Coincident: sc.coincident(c.a, c.b); break; + case SketchConstraintType::Horizontal: sc.horizontal(c.a, c.b); break; + case SketchConstraintType::Vertical: sc.vertical(c.a, c.b); break; + case SketchConstraintType::Distance: sc.distance(c.a, c.b, c.value); break; + case SketchConstraintType::LockX: sc.lock_x(c.a, c.value); break; + case SketchConstraintType::LockY: sc.lock_y(c.a, c.value); break; + case SketchConstraintType::EqualLength: sc.equal_length(c.a, c.b, c.c, c.d); break; + case SketchConstraintType::Parallel: sc.parallel(c.a, c.b, c.c, c.d); break; + case SketchConstraintType::Perpendicular:sc.perpendicular(c.a, c.b, c.c, c.d); break; + } + } + + const bool ok = sc.solve(); + for (size_t i = 0; i < f.profile.points.size(); ++i) + f.profile.points[i] = sc.get_point(int(i)); + return ok; +} + +int CadDocument::add_extrude(int sketch_ref, double distance, bool symmetric, + BooleanMode mode, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Extrude; + f.name = name; + f.sketch_ref = sketch_ref; + f.distance = distance; + f.symmetric = symmetric; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_extrude_entities(const std::vector& entities, + const SketchPlane& plane, double distance, + bool symmetric, BooleanMode mode, const std::string& name) +{ + // Self-contained extrude of a single loop: the entity subset lives on the feature + // itself (sketch_ref = -1), so build_sketch_wire(f) uses f.entities directly. The + // source sketch stays a separate feature, so its other loops remain selectable. + CadFeature f; + f.type = CadFeatureType::Extrude; + f.name = name; + f.sketch_ref = -1; + f.entities = entities; + f.plane = plane; + f.distance = distance; + f.symmetric = symmetric; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_extrude_face(int src_face, double distance, bool symmetric, + BooleanMode mode, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Extrude; + f.name = name; + f.sketch_ref = -1; + f.extrude_src_face = src_face; + f.distance = distance; + f.symmetric = symmetric; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_fillet(double radius, FaceGroup faces, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Fillet; + f.name = name; + f.dressup_size = radius; + f.face_group = faces; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_fillet(double radius, int edge_id, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Fillet; + f.name = name; + f.dressup_size = radius; + f.dressup_edge = edge_id; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_chamfer(double distance, FaceGroup faces, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Chamfer; + f.name = name; + f.dressup_size = distance; + f.face_group = faces; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_chamfer(double distance, int edge_id, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Chamfer; + f.name = name; + f.dressup_size = distance; + f.dressup_edge = edge_id; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_hole(double diameter, double depth, bool through, + double x, double y, const SketchPlane& plane, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Hole; + f.name = name; + f.plane = plane; + f.hole_diameter = diameter; + f.hole_depth = depth; + f.hole_through = through; + f.hole_x = x; + f.hole_y = y; + features.push_back(f); + return int(features.size()) - 1; +} + +// Hole standards lookup table (representative ISO 273 medium / ISO 4762 / ANSI unified). +struct HoleStdEntry { const char* desig; double clearance; double cbore_d; double cbore_depth; double csink_d; }; +static const HoleStdEntry kHoleStdTable[] = { + {"M3", 3.4, 6.0, 3.4, 6.3}, + {"M4", 4.5, 8.0, 4.4, 8.4}, + {"M5", 5.5, 10.0, 5.4, 10.4}, + {"M6", 6.6, 11.0, 6.8, 12.6}, + {"M8", 9.0, 15.0, 8.8, 17.3}, + {"M10", 11.0, 18.0, 11.0, 20.0}, + {"#6-32", 3.7, 8.8, 4.2, 8.7}, + {"#8-32", 4.4, 9.9, 5.1, 10.2}, + {"1/4-20", 6.9, 14.4, 7.2, 14.7}, + {"5/16-18", 8.8, 17.0, 8.2, 17.3}, + {"3/8-16", 10.5, 19.6, 9.5, 19.8}, +}; +static bool hole_std_lookup(const std::string& desig, double& clearance, + double& cbore_d, double& cbore_depth, double& csink_d) +{ + for (const auto& e : kHoleStdTable) { + if (e.desig == desig) { + clearance = e.clearance; + cbore_d = e.cbore_d; + cbore_depth = e.cbore_depth; + csink_d = e.csink_d; + return true; + } + } + return false; +} + +int CadDocument::add_hole_styled(double diameter, double depth, bool through, + double x, double y, const SketchPlane& plane, int style, + double cbore_diameter, double cbore_depth, + double csink_diameter, double csink_angle, + const std::string& standard, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Hole; + f.name = name; + f.plane = plane; + f.hole_diameter = diameter; + f.hole_depth = depth; + f.hole_through = through; + f.hole_x = x; + f.hole_y = y; + f.hole_style = style; + f.hole_cbore_diameter = cbore_diameter; + f.hole_cbore_depth = cbore_depth; + f.hole_csink_diameter = csink_diameter; + f.hole_csink_angle = csink_angle; + f.hole_standard = standard; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_hole_standard(const std::string& designation, int style, bool through, + double depth, double x, double y, + const SketchPlane& plane, const std::string& name) +{ + double clearance, cbore_d, cbore_depth, csink_d; + if (!hole_std_lookup(designation, clearance, cbore_d, cbore_depth, csink_d)) + throw std::runtime_error("unknown hole standard \"" + designation + "\""); + return add_hole_styled(clearance, depth, through, x, y, plane, style, + cbore_d, cbore_depth, csink_d, 90, designation, name); +} + +int CadDocument::add_thread(double radius, double pitch, double height, double depth, + bool internal, double x, double y, const SketchPlane& plane, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Thread; + f.name = name; + f.plane = plane; + f.thread_radius = radius; + f.thread_pitch = pitch; + f.thread_height = height; + f.thread_depth = depth; + f.thread_internal = internal; + f.thread_x = x; + f.thread_y = y; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_revolve(int sketch_ref, double angle, int axis, bool flip, + BooleanMode mode, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Revolve; + f.name = name; + f.sketch_ref = sketch_ref; + f.revolve_angle = angle; + f.revolve_axis = axis; + f.flip = flip; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_revolve_entities(const std::vector& entities, + const SketchPlane& plane, double angle, int axis, + bool flip, BooleanMode mode, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Revolve; + f.name = name; + f.sketch_ref = -1; + f.entities = entities; + f.plane = plane; + f.revolve_angle = angle; + f.revolve_axis = axis; + f.flip = flip; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_sweep(int profile_sketch_ref, int path_sketch_ref, BooleanMode mode, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Sweep; + f.name = name; + f.sketch_ref = profile_sketch_ref; + f.sweep_path_ref = path_sketch_ref; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_loft(const std::vector& profile_refs, bool ruled, BooleanMode mode, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Loft; + f.name = name; + f.loft_profile_refs = profile_refs; + f.loft_ruled = ruled; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_pattern(bool circular, int count, double spacing, int dir, + double angle_deg, int target_body, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Pattern; + f.name = name; + f.pattern_circular = circular; + f.pattern_count = count; + f.pattern_spacing = spacing; + f.pattern_dir = dir; + f.pattern_angle = angle_deg; + f.target_body = target_body; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_pattern_on_curve(int count, int curve_sketch, int curve_entity, + int target, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Pattern; + f.name = name; + f.pattern_count = count; + f.pattern_curve_sketch = curve_sketch; + f.pattern_curve_entity = curve_entity; + f.target_body = target; + f.pattern_circular = false; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_shell(double thickness, int face, int target_body, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Shell; + f.name = name; + f.shell_thickness = thickness; + f.shell_face = face; + f.target_body = target_body; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_rib(int sketch_ref, int entity, double thickness, double depth, + int target_body, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Rib; + f.name = name; + f.rib_sketch_ref = sketch_ref; + f.rib_entity = entity; + f.rib_thickness = thickness; + f.rib_depth = depth; + f.target_body = target_body; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_delete_face(int target_body, const std::vector& faces, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::DeleteFace; + f.name = name; + f.target_body = target_body; + f.delete_faces = faces; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_draft(double angle, int face, int target_body, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Draft; + f.name = name; + f.draft_angle = angle; + f.draft_face = face; + f.target_body = target_body; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_boolean(BooleanMode op, int target_body, int tool_body, bool keep_tool, + double tolerance, int target_face, int tool_face, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Boolean; + f.name = name; + f.mode = op; + f.target_body = target_body; + f.bool_tool_body = tool_body; + f.bool_keep_tool = keep_tool; + f.bool_tolerance = tolerance; + f.bool_target_face = target_face; + f.bool_tool_face = tool_face; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_cut(const SketchPlane& plane, double offset, bool flip, + bool keep_upper, bool keep_lower, int target_body, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Cut; + f.name = name; + f.plane = plane; + f.cut_offset = offset; + f.cut_flip = flip; + f.cut_keep_upper = keep_upper; + f.cut_keep_lower = keep_lower; + f.target_body = target_body; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_split_by_face(int target_body, int face_body, int face, + bool keep_upper, bool keep_lower, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Cut; + f.name = name; + f.target_body = target_body; + f.cut_face_body = face_body; + f.cut_face = face; + f.cut_keep_upper = keep_upper; + f.cut_keep_lower = keep_lower; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_mirror(const SketchPlane& plane, int target_body, BooleanMode mode, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Mirror; + f.name = name; + f.plane = plane; + f.target_body = target_body; + f.mode = mode; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_transform(int target_body, const Vec3d& translate, const Vec3d& axis, + const Vec3d& pivot, double angle_deg, bool copy, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Transform; + f.name = name; + f.target_body = target_body; + f.xf_translate = translate; + f.xf_axis = axis; + f.xf_pivot = pivot; + f.xf_angle_deg = angle_deg; + f.xf_copy = copy; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_thicken(int target_body, int face, double thickness, bool flip, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Thicken; + f.name = name; + f.target_body = target_body; + f.thicken_face = face; + f.thicken_thickness = thickness; + f.thicken_flip = flip; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_thicken_surface(int target_body, double thickness, bool flip, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::ThickenSurface; + f.name = name; + f.target_body = target_body; + f.thicken_thickness = thickness; + f.thicken_flip = flip; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_surface_offset(int target_body, double offset, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::SurfaceOffset; + f.name = name; + f.target_body = target_body; + f.plane_offset = offset; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +static void project_edges_to_entities(const std::vector& edges, + const SketchPlane& plane, + bool construction, + std::vector& out); + +int CadDocument::add_project_edges(int source_body, const std::vector& edge_ids, int face, + const SketchPlane& plane, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Project; + f.name = name; + f.project_source_body = source_body; + f.project_edges = edge_ids; + f.project_face = face; + f.plane = plane; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::project_edges_into_sketch(int sketch_feature, int source_body, + const std::vector& edge_ids, int face) +{ + if (sketch_feature < 0 || sketch_feature >= int(features.size())) return -1; + CadFeature& sk = features[sketch_feature]; + if (sk.type != CadFeatureType::Sketch && sk.type != CadFeatureType::Project) return -1; + if (source_body < 0 || source_body >= int(bodies.size()) + || bodies[source_body].shape.IsNull()) return -1; + const TopoDS_Shape& shape = bodies[source_body].shape; + + std::vector edges; + if (!edge_ids.empty()) { + for (int id : edge_ids) { + TopoDS_Edge e = GeometryEngine::edge_by_index(shape, id); + if (e.IsNull()) return -1; + edges.push_back(e); + } + } else if (face >= 0) { + TopoDS_Face fc = GeometryEngine::face_by_index(shape, face); + if (fc.IsNull()) return -1; + edges = GeometryEngine::edges_of_face(fc); + } else { + edges = GeometryEngine::edges_of(shape); + } + if (edges.empty()) return -1; + + const size_t before = sk.entities.size(); + project_edges_to_entities(edges, sk.plane, /*construction=*/true, sk.entities); + return int(sk.entities.size() - before); +} + +int CadDocument::add_bridge(int sketch_ref, int ent_a, int end_a, int ent_b, int end_b, + const std::string& name) +{ + (void)name; + if (sketch_ref < 0 || sketch_ref >= int(features.size()) + || features[sketch_ref].type != CadFeatureType::Sketch) + throw std::runtime_error("bridge: sketch_ref must refer to a Sketch feature"); + auto& ents = features[sketch_ref].entities; + if (ent_a < 0 || ent_a >= int(ents.size()) || ent_b < 0 || ent_b >= int(ents.size())) + throw std::runtime_error("bridge: entity index out of range in sketch"); + SketchEntity br = SketchEngine::make_bridge(ents[ent_a], end_a, ents[ent_b], end_b); + ents.push_back(br); + return int(ents.size()) - 1; +} + +int CadDocument::add_plane(int base, double offset, double angle_tilt, int axis, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Plane; + f.name = name; + f.plane_base = base; + f.plane_offset = offset; + f.plane_angle_tilt = angle_tilt; + f.plane_axis = axis; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_axis(AxisType axis_type_, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Axis; + f.name = name; + f.axis_type = axis_type_; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_coordsys(CoordSysType type, const Vec3d& point, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::CoordSys; + f.name = name; + f.coordsys_type = type; + f.coordsys_point = point; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_mate(int kind, int cs_a, int cs_b, double offset, double angle_deg, bool flip, + const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Mate; + f.name = name; + f.mate_kind = kind; + f.mate_cs_a = cs_a; + f.mate_cs_b = cs_b; + f.mate_offset = offset; + f.mate_angle = angle_deg; + f.mate_flip = flip; + features.push_back(f); + return int(features.size()) - 1; +} + +std::vector CadDocument::mate_options(int cs_a, int cs_b) const +{ + std::vector out(5); + for (int k = 0; k < 5; ++k) out[k].kind = k; + + auto is_connector = [&](int idx) -> bool { + return idx >= 0 && idx < int(features.size()) && + features[idx].type == CadFeatureType::CoordSys && + features[idx].enabled; + }; + if (!is_connector(cs_a) || !is_connector(cs_b)) { + const char side = is_connector(cs_a) ? 'B' : 'A'; + for (auto& o : out) { o.viable = false; o.reason = std::string("connector ") + side + " is not a coordinate system"; } + return out; + } + if (cs_a == cs_b) { + for (auto& o : out) { o.viable = false; o.reason = "a mate needs two different connectors"; } + return out; + } + + // B is the connector on the body that MOVES, so B must belong to one; A is the fixed + // reference and needs no body. Without this every kind was offered on a Point(world) + // connector and the mate only failed at RECOMPUTE, with "mate_cs_b has no associated body" — + // one step too late, after the feature already existed in the tree. The same two conditions + // the apply path throws on are checked here, so the offer and the kernel cannot disagree. + const int body_b = features[cs_b].coordsys_body; + if (body_b < 0) { + for (auto& o : out) { + o.viable = false; + o.reason = "connector B is not attached to a body — a mate moves B's body"; + } + return out; + } + if (body_b >= int(bodies.size()) || bodies[body_b].shape.IsNull()) { + for (auto& o : out) { + o.viable = false; + o.reason = "connector B's body no longer exists"; + } + return out; + } + + const int ka = features[cs_a].coordsys_face_kind; + const int kb = features[cs_b].coordsys_face_kind; + auto face_desc = [](int kind) -> std::string { return kind == GeomAbs_Plane ? "a flat face" : "a curved face"; }; + + // Planar: needs a flat face at both ends. + const bool plan_bad_a = ka >= 0 && ka != GeomAbs_Plane; + const bool plan_bad_b = kb >= 0 && kb != GeomAbs_Plane; + if (plan_bad_a || plan_bad_b) { + out[1].viable = false; + if (plan_bad_a && plan_bad_b) + out[1].reason = "needs a flat face at both ends — both connectors are on curved faces"; + else if (plan_bad_a) + out[1].reason = "needs a flat face at both ends — connector A is on " + face_desc(ka); + else + out[1].reason = "needs a flat face at both ends — connector B is on " + face_desc(kb); + } + + // Revolute and Cylindrical: need a cylindrical face at both ends. + for (int k : {2, 4}) { + const bool ax_bad_a = ka >= 0 && ka != GeomAbs_Cylinder; + const bool ax_bad_b = kb >= 0 && kb != GeomAbs_Cylinder; + if (!ax_bad_a && !ax_bad_b) continue; + out[k].viable = false; + if (ax_bad_a && ax_bad_b) + out[k].reason = (ka == GeomAbs_Plane && kb == GeomAbs_Plane) + ? "needs a cylindrical face at both ends — both connectors are on flat faces" + : "needs a cylindrical face at both ends — both connectors are on non-cylindrical faces"; + else if (ax_bad_a) + out[k].reason = "needs a cylindrical face at both ends — connector A is on " + face_desc(ka); + else + out[k].reason = "needs a cylindrical face at both ends — connector B is on " + face_desc(kb); + } + + return out; +} + +int CadDocument::add_helix(const SketchPlane& plane, double radius, double pitch, double height, + bool left_handed, double taper_deg, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::Helix; + f.name = name; + f.plane = plane; + f.helix_radius = radius; + f.helix_pitch = pitch; + f.helix_height = height; + f.helix_left_handed = left_handed; + f.helix_taper_deg = taper_deg; + features.push_back(f); + return int(features.size()) - 1; +} + +TopoDS_Wire CadDocument::build_helix_wire(const CadFeature& f, std::string& err) const +{ + return make_helix_spine(f, err); +} + +// Derive a SketchPlane: shift `base` along its normal by `offset`, then tilt +// `angle_deg` about the base's X (axis 0) or Y (axis 1) axis (Rodrigues rotation). +static SketchPlane offset_angle_plane(const SketchPlane& base, double offset, + double angle_deg, int axis) +{ + SketchPlane p; + p.origin = base.origin + base.normal * offset; + Vec3d n = base.normal, x = base.x_axis, y = base.y_axis; + if (std::abs(angle_deg) > 1e-9) { + const double a = angle_deg * M_PI / 180.0; + const Vec3d k = (axis == 1) ? base.y_axis : base.x_axis; // unit rotation axis + auto rot = [&](const Vec3d& v) -> Vec3d { // -> Vec3d forces eval (no dangling Eigen expr) + return v * std::cos(a) + k.cross(v) * std::sin(a) + + k * (k.dot(v)) * (1.0 - std::cos(a)); + }; + n = rot(n); + if (axis == 1) x = rot(x); // tilt about Y rotates X + normal, Y fixed + else y = rot(y); // tilt about X rotates Y + normal, X fixed + } + p.normal = n.normalized(); + p.x_axis = x.normalized(); + p.y_axis = y.normalized(); + return p; +} + +// Build a full orthonormal frame from a normal + origin. +static SketchPlane frame_from(const Vec3d& origin, const Vec3d& normal) +{ + Vec3d n = normal.normalized(); + Vec3d ref = (std::abs(n.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + Vec3d x = ref.cross(n); + if (x.squaredNorm() < 1e-12) x = Vec3d(1, 0, 0); + x.normalize(); + Vec3d y = n.cross(x).normalized(); + SketchPlane p; + p.origin = origin; + p.normal = n; + p.x_axis = x; + p.y_axis = y; + return p; +} + +bool CadDocument::plane_of_face(int body_idx, int face_idx, SketchPlane& out) const +{ + if (face_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) return false; + const TopoDS_Face f = GeometryEngine::face_by_index(bodies[body_idx].shape, face_idx); + if (f.IsNull()) return false; + // Planar only. face_normal_world evaluates the normal at the mid parameter, which on a cylinder + // or a fillet is a tangent plane at one arbitrary point — usable for a datum offset, wrong as a + // sketch plane. Refuse rather than sketch somewhere the user did not point at. + BRepAdaptor_Surface surf(f); + if (surf.GetType() != GeomAbs_Plane) return false; + out = frame_from(GeometryEngine::face_centroid_world(f), GeometryEngine::face_normal_world(f)); + return true; +} + +std::vector> CadDocument::resolve_datum_planes() const +{ + std::vector> out; + for (const CadFeature& f : features) { + if (f.type != CadFeatureType::Plane || !f.enabled) continue; + + // Resolve base reference plane. The default XY/XZ/YZ planes pass through the modeling + // origin (bed centre); datum bases (>=3) are already in world coords from earlier passes. + SketchPlane base; + if (f.plane_base == 1) { base = SketchPlane::XZ(); base.origin += modeling_origin; } + else if (f.plane_base == 2) { base = SketchPlane::YZ(); base.origin += modeling_origin; } + else if (f.plane_base >= 3) { + const int di = f.plane_base - 3; + if (di < int(out.size())) base = out[di].second; + } + else { base = SketchPlane::XY(); base.origin += modeling_origin; } + + // --- Resolve refs from bodies --- + auto resolve_face = [&](int body_idx, int face_idx) -> TopoDS_Face { + if (face_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return TopoDS_Face(); + return GeometryEngine::face_by_index(bodies[body_idx].shape, face_idx); + }; + auto resolve_edge = [&](int body_idx, int edge_idx, + Vec3d& p0, Vec3d& dir) -> bool { + if (edge_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return false; + TopoDS_Edge e = GeometryEngine::edge_by_index(bodies[body_idx].shape, edge_idx); + if (e.IsNull()) return false; + auto pts = GeometryEngine::sample_edge_world(e); + if (pts.size() < 2) return false; + p0 = pts.front(); + dir = (pts.back() - pts.front()).normalized(); + return true; + }; + + // Face A + TopoDS_Face faceA = resolve_face(f.plane_face_body, f.plane_face); + SketchPlane faceA_plane; + bool has_faceA = false; + if (!faceA.IsNull()) { + faceA_plane = frame_from( + GeometryEngine::face_centroid_world(faceA), + GeometryEngine::face_normal_world(faceA)); + has_faceA = true; + } + + // Face B + TopoDS_Face faceB = resolve_face(f.plane_face2_body, f.plane_face2); + SketchPlane faceB_plane; + bool has_faceB = false; + if (!faceB.IsNull()) { + faceB_plane = frame_from( + GeometryEngine::face_centroid_world(faceB), + GeometryEngine::face_normal_world(faceB)); + has_faceB = true; + } + + // Edge A + Vec3d eA_p0, eA_dir; + bool has_edgeA = resolve_edge(f.plane_edge_body, f.plane_edge, eA_p0, eA_dir); + + // Edge B + Vec3d eB_p0, eB_dir; + bool has_edgeB = resolve_edge(f.plane_edge2_body, f.plane_edge2, eB_p0, eB_dir); + + // --- Dispatch on plane_type --- + auto fallback_offset = [&]() { + return offset_angle_plane(base, f.plane_offset, f.plane_angle_tilt, f.plane_axis); + }; + + SketchPlane result; + switch (f.plane_type) { + + case PlaneType::Offset: { + // From a picked face: pure offset along its normal. From a base/datum plane: + // offset + the legacy tilt-about-axis (keeps the old Offset/Tilt controls live). + if (has_faceA) + result = frame_from(faceA_plane.origin + faceA_plane.normal * f.plane_offset, + faceA_plane.normal); + else + result = offset_angle_plane(base, f.plane_offset, f.plane_angle_tilt, f.plane_axis); + break; + } + + case PlaneType::Coincident: { + result = has_faceA ? faceA_plane : base; + break; + } + + case PlaneType::Angle: { + if (!has_edgeA) { result = fallback_offset(); break; } + const SketchPlane& ref = has_faceA ? faceA_plane : base; + Vec3d n0 = ref.normal - eA_dir * ref.normal.dot(eA_dir); + if (n0.squaredNorm() < 1e-12) { + Vec3d perp = (std::abs(eA_dir.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + n0 = perp - eA_dir * perp.dot(eA_dir); + } + n0.normalize(); + const double a = f.plane_angle_tilt * M_PI / 180.0; + Vec3d n_rot = n0 * std::cos(a) + eA_dir.cross(n0) * std::sin(a) + + eA_dir * (eA_dir.dot(n0)) * (1.0 - std::cos(a)); + result = frame_from(eA_p0, n_rot); + break; + } + + case PlaneType::Midplane: { + if (!has_faceA || !has_faceB) { result = fallback_offset(); break; } + Vec3d origin = 0.5 * (faceA_plane.origin + faceB_plane.origin); + Vec3d nB = (faceA_plane.normal.dot(faceB_plane.normal) >= 0) + ? faceB_plane.normal : -faceB_plane.normal; + Vec3d normal = (faceA_plane.normal + nB).normalized(); + result = frame_from(origin, normal); + break; + } + + case PlaneType::Tangent: { + if (!has_faceA) { result = fallback_offset(); break; } + GeometryEngine::CylinderFace cyl = GeometryEngine::cylinder_of_face(faceA); + if (!cyl.ok) { result = fallback_offset(); break; } + Vec3d refdir = (std::abs(cyl.axis.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + refdir = refdir - cyl.axis * refdir.dot(cyl.axis); + refdir.normalize(); + const double theta = f.plane_angle_tilt * M_PI / 180.0; + Vec3d r = refdir * std::cos(theta) + cyl.axis.cross(refdir) * std::sin(theta); + Vec3d touch = cyl.base + r * cyl.radius; + result = frame_from(touch, r); + break; + } + + case PlaneType::TwoEdges: { + if (!has_edgeA) { result = fallback_offset(); break; } + if (!has_edgeB) { result = fallback_offset(); break; } + Vec3d cross = eA_dir.cross(eB_dir); + if (cross.squaredNorm() > 1e-12) { + result = frame_from(eA_p0, cross.normalized()); + } else { + Vec3d v = eA_dir.cross(eB_p0 - eA_p0); + if (v.squaredNorm() > 1e-12) { + result = frame_from(eA_p0, v.normalized()); + } else { + result = fallback_offset(); + } + } + break; + } + + } + + out.emplace_back(f.name, result); + } + return out; +} + +// Resolved datum axes in feature order. Origin + unit direction computed from +// construction params; axis_err is non-empty when construction fails (no crash). +std::vector CadDocument::resolve_datum_axes() const +{ + std::vector out; + // For PlaneIntersection we need the already-resolved datum planes. + std::vector> datum_planes = resolve_datum_planes(); + + auto resolve_face = [&](int body_idx, int face_idx) -> TopoDS_Face { + if (face_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return TopoDS_Face(); + return GeometryEngine::face_by_index(bodies[body_idx].shape, face_idx); + }; + auto resolve_edge = [&](int body_idx, int edge_idx, + Vec3d& p0, Vec3d& dir) -> bool { + if (edge_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return false; + TopoDS_Edge e = GeometryEngine::edge_by_index(bodies[body_idx].shape, edge_idx); + if (e.IsNull()) return false; + auto pts = GeometryEngine::sample_edge_world(e); + if (pts.size() < 2) return false; + p0 = pts.front(); + dir = (pts.back() - pts.front()).normalized(); + return true; + }; + + for (const CadFeature& f : features) { + if (f.type != CadFeatureType::Axis || !f.enabled) continue; + + DatumAxis da; + da.name = f.name; + switch (f.axis_type) { + case AxisType::TwoPoints: { + Vec3d dir = f.axis_p2 - f.axis_p1; + if (dir.squaredNorm() < 1e-18) { da.error = "two points are coincident"; break; } + da.origin = f.axis_p1; + da.direction = dir.normalized(); + break; + } + case AxisType::FaceNormal: { + TopoDS_Face fc = resolve_face(f.axis_body, f.axis_face); + if (fc.IsNull()) { da.error = "face not found"; break; } + da.origin = GeometryEngine::face_centroid_world(fc); + da.direction = GeometryEngine::face_normal_world(fc); + break; + } + case AxisType::CylinderCenterline: { + TopoDS_Face fc = resolve_face(f.axis_body, f.axis_face); + if (fc.IsNull()) { da.error = "face not found"; break; } + GeometryEngine::CylinderFace cyl = GeometryEngine::cylinder_of_face(fc); + if (!cyl.ok) { da.error = "face is not a cylinder"; break; } + da.origin = cyl.base; + da.direction = cyl.axis; + break; + } + case AxisType::AlongEdge: { + Vec3d p0, dir; + if (!resolve_edge(f.axis_body, f.axis_edge, p0, dir)) { + da.error = "edge not found"; break; + } + da.origin = p0; + da.direction = dir; + break; + } + case AxisType::PlaneIntersection: { + // Same reference encoding as CadFeature::plane_base, because the GUI fills these + // two fields from populate_plane_choices() — whose rows are XY/XZ/YZ followed by + // the datum planes — and stores the row verbatim. Indexing datum_planes[ref] + // directly, as this did, is off by three: picking XY resolved to datum plane 0 and + // picking the first datum ran off the end with "plane ref not found", so the + // PlaneIntersection axis type could not work at all. Two base planes are also a + // perfectly ordinary way to define an axis (XY x XZ = the X axis), so they must + // resolve rather than be rejected as out of scope. + auto base_plane = [&](int ref, Vec3d& origin, Vec3d& normal) -> bool { + SketchPlane p; + if (ref == 0) { p = SketchPlane::XY(); p.origin += modeling_origin; } + else if (ref == 1) { p = SketchPlane::XZ(); p.origin += modeling_origin; } + else if (ref == 2) { p = SketchPlane::YZ(); p.origin += modeling_origin; } + else if (ref >= 3 && ref - 3 < int(datum_planes.size())) + p = datum_planes[ref - 3].second; // datums are already world-space + else + return false; + origin = p.origin; + normal = p.normal; + return true; + }; + bool ok0 = base_plane(f.axis_plane_a, da.origin, da.direction); // direction reused as normal0 + Vec3d origin1, normal1; + bool ok1 = base_plane(f.axis_plane_b, origin1, normal1); + if (!ok0 || !ok1) { da.error = "plane ref not found"; break; } + // Direction = cross product of the two plane normals. + Vec3d dir = da.direction.cross(normal1); // da.direction was normal0 + if (dir.squaredNorm() < 1e-18) { + da.error = "planes are parallel (no intersection)"; break; + } + dir.normalize(); + // Find a point on the intersection line: closest points between two planes. + // Project origin of plane A onto the intersection line. + Vec3d n0 = da.direction; // normal of plane A (stored temporarily) + Vec3d n1 = normal1; + Vec3d p0 = da.origin; + Vec3d p1 = origin1; + // Solve for point on line of intersection using vector formula. + double d0 = n0.dot(p0); + double d1 = n1.dot(p1); + double n0n1 = n0.dot(n1); + double det = 1.0 - n0n1 * n0n1; + if (std::abs(det) < 1e-18) { da.error = "planes are parallel (no intersection)"; break; } + double t0 = (d0 - d1 * n0n1) / det; + double t1 = (d1 - d0 * n0n1) / det; + da.origin = n0 * t0 + n1 * t1; + da.direction = dir; + break; + } + } + out.push_back(da); + } + return out; +} + +CadDocument::DatumCoordSys CadDocument::datum_frame(const std::vector& bodies, const CadFeature& f) +{ + CadDocument::DatumCoordSys ds; + ds.name = f.name; + + auto resolve_face = [&](int body_idx, int face_idx) -> TopoDS_Face { + if (face_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return TopoDS_Face(); + return GeometryEngine::face_by_index(bodies[body_idx].shape, face_idx); + }; + auto resolve_edge = [&](int body_idx, int edge_idx, + Vec3d& p0, Vec3d& dir) -> bool { + if (edge_idx < 0 || body_idx < 0 || body_idx >= int(bodies.size())) + return false; + TopoDS_Edge e = GeometryEngine::edge_by_index(bodies[body_idx].shape, edge_idx); + if (e.IsNull()) return false; + auto pts = GeometryEngine::sample_edge_world(e); + if (pts.size() < 2) return false; + p0 = pts.front(); + dir = (pts.back() - pts.front()).normalized(); + return true; + }; + + switch (f.coordsys_type) { + case CoordSysType::PointWorld: { + ds.origin = f.coordsys_point; + ds.x = Vec3d(1, 0, 0); + ds.y = Vec3d(0, 1, 0); + break; + } + case CoordSysType::FaceAndDirection: { + TopoDS_Face fc = resolve_face(f.coordsys_body, f.coordsys_face); + Vec3d p0, edge_dir; + bool have_edge = resolve_edge(f.coordsys_body, f.coordsys_edge, p0, edge_dir); + if (fc.IsNull()) { ds.error = "face not found"; break; } + ds.origin = GeometryEngine::face_centroid_world(fc); + Vec3d Z = GeometryEngine::face_normal_world(fc); + // Tentative X: an explicit edge reference wins. Failing that, derive X from the + // face's OWN first usable edge, so the frame rotates with the body. Reading it from + // coordsys_x_hint — a world constant — meant a face-only connector could not encode + // spin about its own normal: Z followed the body, X did not, so Fastened and Slider + // claimed to fix an orientation the frame could not see. The hint survives only as a + // last resort, for faces that offer no usable direction (a full circular edge has + // coincident endpoints, and a cylinder's seam projects to nothing in-plane). + Vec3d X_tent = Vec3d::Zero(); + if (have_edge) { + X_tent = edge_dir; + } else { + for (const TopoDS_Edge& fe : GeometryEngine::edges_of_face(fc)) { + auto pts = GeometryEngine::sample_edge_world(fe); + if (pts.size() < 2) continue; + Vec3d d = pts.back() - pts.front(); + if (d.squaredNorm() < 1e-18) continue; // closed edge: endpoints coincide + Vec3d in_plane = d - Z * Z.dot(d); // drop any out-of-plane component + if (in_plane.squaredNorm() < 1e-18) continue; + X_tent = in_plane; + break; + } + if (X_tent.squaredNorm() < 1e-18) X_tent = f.coordsys_x_hint; + } + if (X_tent.squaredNorm() < 1e-18) { ds.error = "zero-length direction"; break; } + X_tent.normalize(); + // Gram-Schmidt: ensure orthonormal, right-handed frame. + // Y = Z x X_tent, X = Y x Z (this makes X perpendicular to Z, not X_tent) + Vec3d Y = Z.cross(X_tent); + if (Y.squaredNorm() < 1e-12) { + // Edge/hint is parallel to Z -> X is degenerate; fall back to world X/Y orthonormalised. + Vec3d ref = (std::abs(Z.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + Y = Z.cross(ref); + if (Y.squaredNorm() < 1e-12) Y = Z.cross(Vec3d(0, 1, 0)); + } + Y.normalize(); + ds.x = Y.cross(Z).normalized(); + ds.y = Y; + break; + } + } + return ds; +} + +std::vector CadDocument::resolve_datum_coordsys() const +{ + std::vector out; + for (const CadFeature& f : features) { + if (f.type != CadFeatureType::CoordSys || !f.enabled) continue; + out.push_back(datum_frame(bodies, f)); + } + return out; +} + +void CadDocument::clear() +{ + features.clear(); + body = TopoDS_Shape(); + bodies.clear(); // multibody result — must clear too (else solids linger) + display_mesh = TriangleMesh{}; + display_body_meshes.clear(); + display_tri_face.clear(); + error.clear(); + mate_conflicts.clear(); + // A cleared document is a fresh start with no history. + m_undo.clear(); + m_redo.clear(); +} + +void CadDocument::checkpoint() +{ + m_undo.push_back(Snapshot{features, variables}); // snapshot the pre-mutation recipe + m_redo.clear(); // any new action invalidates the redo branch + if (m_undo.size() > k_undo_cap) + m_undo.erase(m_undo.begin()); +} + +void CadDocument::abandon_checkpoint() +{ + if (!m_undo.empty()) + m_undo.pop_back(); +} + +bool CadDocument::undo() +{ + if (m_undo.empty()) + return false; + m_redo.push_back(Snapshot{std::move(features), std::move(variables)}); // current state becomes redoable + features = std::move(m_undo.back().features); + variables = std::move(m_undo.back().variables); + m_undo.pop_back(); + recompute(); // benign-empty (only a sketch / empty doc) is a valid undo target + return true; +} + +bool CadDocument::redo() +{ + if (m_redo.empty()) + return false; + m_undo.push_back(Snapshot{std::move(features), std::move(variables)}); + features = std::move(m_redo.back().features); + variables = std::move(m_redo.back().variables); + m_redo.pop_back(); + recompute(); + return true; +} + +// Re-run recompute(); if it fails for a GENUINE geometry error, restore `snapshot` +// and recompute that instead, so a rejected edit leaves the document exactly as it +// was. recompute() also returns false for the BENIGN case where the edit simply +// leaves no solid-producing feature (empty document, or only a sketch) — that is a +// valid result of a deletion, not a failure, so we accept it with an empty body. +static bool commit_or_rollback(CadDocument& doc, std::vector& snapshot) +{ + if (doc.recompute()) + return true; + + bool has_solid_feature = false; + for (const auto& f : doc.features) + if (f.enabled && f.type != CadFeatureType::Sketch) { has_solid_feature = true; break; } + if (!has_solid_feature) { + doc.bodies.clear(); + doc.body = TopoDS_Shape(); + doc.display_mesh = TriangleMesh{}; + doc.display_body_meshes.clear(); + doc.display_tri_face.clear(); + doc.display_tri_body.clear(); + doc.error.clear(); + return true; + } + + std::string fail_err = doc.error; // why the attempted edit failed + doc.features.swap(snapshot); + doc.recompute(); // restore the previous good body (clears error) + doc.error = fail_err.empty() ? std::string("feature is used by a later feature") + : fail_err; + return false; +} + +// Visit every field of `f` that holds an index into features[]. +// +// Deliberately NOT dispatched on f.type. A type switch is what this replaced, and it was +// wrong in the way type switches go wrong: it listed Extrude and Mate, and every feature +// type added afterwards — Revolve, Sweep, Loft, Rib, Pattern-on-curve, the Surface* family — +// silently inherited a remap that skipped its references. Visiting the FIELDS instead means +// a new type is covered the moment it reuses one of them, and reaching a field its type +// never reads costs nothing: unset refs are -1 and every visitor here ignores those. +// +// The list is exactly the fields documented as "index into features[]" / "feature index" in +// CadDocument.hpp. Not included, because they are a different basis and need their own pass: +// plane_base / axis_plane_a / axis_plane_b encode `3 + N` = the Nth DATUM PLANE, an ordinal +// into resolve_datum_planes(), not into features[]. Everything named *_body / *_face / *_edge +// is a body index or a global topology id and must never be remapped here. +template +static void for_each_feature_ref(CadFeature& f, Visit&& visit) +{ + visit(f.sketch_ref); + visit(f.sweep_path_ref); + visit(f.pattern_curve_sketch); + visit(f.rib_sketch_ref); + visit(f.mate_cs_a); + visit(f.mate_cs_b); + for (int& r : f.loft_profile_refs) + visit(r); +} + +bool CadDocument::remove_feature(int index) +{ + if (index < 0 || index >= int(features.size())) + return false; + + std::vector snapshot = features; + + // Deleting a Sketch cascades to every feature that consumes it AS ITS PROFILE — the + // reason is the original one ("a dangling Extrude would have no wire"), and it applies + // unchanged to Revolve, Sweep, Rib and the Surface* family, which all read the profile + // through sketch_ref, plus the sweep spine and the rib line. Testing the FIELD rather + // than the type is what makes that true without a list to keep up to date. + // + // pattern_curve_sketch and loft_profile_refs are deliberately NOT cascaded: a Pattern or + // a Loft that loses one of several inputs is degraded, not meaningless, so those refs go + // to -1 in the remap below and the feature survives. A lone Sketch is harmless either way. + std::vector remove{index}; + if (features[index].type == CadFeatureType::Sketch) { + for (int j = 0; j < int(features.size()); ++j) { + const CadFeature& c = features[j]; + if (c.sketch_ref == index || c.sweep_path_ref == index || c.rib_sketch_ref == index) + remove.push_back(j); + } + } + std::sort(remove.begin(), remove.end()); + remove.erase(std::unique(remove.begin(), remove.end()), remove.end()); + + // Erase high-to-low so earlier indices stay valid. + for (auto it = remove.rbegin(); it != remove.rend(); ++it) + features.erase(features.begin() + *it); + + // Remap surviving feature references through the deletions: subtract the count of + // removed indices that sat before it; orphaned refs (target removed) -> -1. + // + // This must cover EVERY field holding a feature index, not just sketch_ref. A mate's two + // connectors are such indices, and leaving them behind slid them onto whatever features + // landed on those slots — silently, because recompute() only rejects out-of-range and + // non-CoordSys targets, and a shifted index usually lands on the assembly's other CoordSys. + auto remap = [&remove](int& ref) { + if (ref < 0) + return; + if (std::binary_search(remove.begin(), remove.end(), ref)) { + ref = -1; + } else { + int shift = 0; + for (int r : remove) + if (r < ref) ++shift; + ref -= shift; + } + }; + for (auto& f : features) + for_each_feature_ref(f, remap); + + return commit_or_rollback(*this, snapshot); +} + +bool CadDocument::move_feature(int index, int delta) +{ + if (index < 0 || index >= int(features.size())) + return false; + int target = index + delta; + if (target < 0 || target >= int(features.size())) + return true; // clamped at the ends — no-op, not a failure + + std::vector snapshot = features; + std::swap(features[index], features[target]); + + // The two slots traded places: fix every feature reference that pointed at either — + // a mate's connectors as well as sketch_ref, for the reason given in remove_feature(). + auto swap_ref = [index, target](int& ref) { + if (ref == index) ref = target; + else if (ref == target) ref = index; + }; + for (auto& f : features) + for_each_feature_ref(f, swap_ref); + + return commit_or_rollback(*this, snapshot); +} + +bool CadDocument::replace_feature(int index, const CadFeature& edited) +{ + if (index < 0 || index >= int(features.size())) + return false; + + std::vector snapshot = features; + + // Preserve identity (name) and the structural link (sketch_ref) from the + // original; only the user-editable parameters come from `edited`. + CadFeature f = edited; + f.name = features[index].name; + f.type = features[index].type; + if (f.type == CadFeatureType::Extrude) + f.sketch_ref = features[index].sketch_ref; + features[index] = f; + + return commit_or_rollback(*this, snapshot); +} + +bool CadDocument::replace_sketch_extrude(int sketch_idx, int extrude_idx, + const CadFeature& edited) +{ + if (sketch_idx < 0 || sketch_idx >= int(features.size())) return false; + if (extrude_idx < 0 || extrude_idx >= int(features.size())) return false; + + std::vector snapshot = features; + + // A box in the tree is two linked features: the Sketch consumes the profile + // params (shape/plane/width/height/radius), the Extrude consumes the solid + // params (distance/symmetric/mode). `edited` carries all of them; split it + // back into the two slots, preserving each slot's name/type and the link. + CadFeature& sk = features[sketch_idx]; + sk.shape = edited.shape; + sk.plane = edited.plane; + sk.width = edited.width; + sk.height = edited.height; + sk.radius = edited.radius; + + CadFeature& ex = features[extrude_idx]; + ex.distance = edited.distance; + ex.symmetric = edited.symmetric; + ex.mode = edited.mode; + + return commit_or_rollback(*this, snapshot); +} + +// "the sketch is open" is not actionable; WHERE it is open is. Shared by both throws so the +// two ways of reaching an open profile (Revolve via build_sketch_wire, Extrude via +// build_sketch_face) report it identically. +static std::string open_loop_message(const CadFeature& sketch, + const char* head = "sketch entities do not form a closed loop") +{ + std::string msg = head; + const std::vector open = Slic3r::sketch_open_ends(sketch.entities, sketch.plane); + if (!open.empty()) { + const size_t shown = std::min(open.size(), 3); + char buf[96]; + for (size_t i = 0; i < shown; ++i) { + std::snprintf(buf, sizeof buf, "\n Open at (%.3f, %.3f)", open[i].x(), open[i].y()); + msg += buf; + } + if (open.size() > shown) { + std::snprintf(buf, sizeof buf, "\n ...and %zu more open end(s)", open.size() - shown); + msg += buf; + } + } + return msg; +} + +TopoDS_Wire CadDocument::build_sketch_wire(const CadFeature& sketch, bool closed_only) const +{ + if (!sketch.entities.empty()) { + TopoDS_Wire w = SketchEngine::entities_to_wire(sketch.entities, sketch.plane, closed_only); + if (!w.IsNull()) return w; + // An entity sketch that yields no wire is an ERROR, not a cue to fall through. The + // legacy tail of this function ends in a default rectangle built from width/height, + // which for an entity sketch are whatever they happened to be initialised to — so a + // sketch entities_to_wire cannot handle (a circle coexisting with a line, two circles: + // 88v) used to extrude into a box the user never drew, silently. Failing here + // costs the caller an error message; falling through cost them wrong geometry that + // looked deliberate. The legacy profile/shape paths below are still reached by sketches + // that legitimately carry no entities at all. + throw std::runtime_error( + open_loop_message(sketch, + "sketch has entities but they do not form a single closed wire — a closed " + "entity (circle/ellipse) combined with other entities, or several closed " + "entities, is not supported yet")); + } + if (!sketch.profile.points.empty()) { + SketchProfile prof = sketch.profile; + prof.closed = true; // extrude needs a closed wire + TopoDS_Wire w = prof.to_occt_wire(sketch.plane); + if (w.IsNull()) throw std::runtime_error("sketch profile wire failed"); + return w; + } + if (sketch.shape == SketchShape::Circle) { + gp_Pnt o(sketch.plane.origin.x(), sketch.plane.origin.y(), sketch.plane.origin.z()); + gp_Dir n(sketch.plane.normal.x(), sketch.plane.normal.y(), sketch.plane.normal.z()); + gp_Circ circ(gp_Ax2(o, n), sketch.radius); + TopoDS_Edge e = BRepBuilderAPI_MakeEdge(circ).Edge(); + BRepBuilderAPI_MakeWire wm(e); + if (!wm.IsDone()) throw std::runtime_error("circle wire failed"); + return wm.Wire(); + } + // Rectangle centered on the plane origin + SketchProfile prof; + double hw = sketch.width * 0.5, hh = sketch.height * 0.5; + prof.points.push_back(Vec2d(-hw, -hh)); + prof.points.push_back(Vec2d( hw, -hh)); + prof.points.push_back(Vec2d( hw, hh)); + prof.points.push_back(Vec2d(-hw, hh)); + prof.closed = true; + return prof.to_occt_wire(sketch.plane); +} + +TopoDS_Face CadDocument::build_sketch_face(const CadFeature& sketch) const +{ + if (!sketch.entities.empty()) { + const std::vector loops = SketchEngine::entities_to_wires(sketch.entities, sketch.plane, true); + if (loops.empty()) + // Same courtesy as build_sketch_wire: name WHERE the sketch is open. Extrude + // reaches its failure through here, not through build_sketch_wire, so without + // this the most common way to hit an open profile is also the least informative. + throw std::runtime_error(open_loop_message(sketch)); + return SketchEngine::wires_to_face(loops, sketch.plane); + } + return BRepBuilderAPI_MakeFace(build_sketch_wire(sketch, true)).Face(); +} + +void CadDocument::apply_feature(TopoDS_Shape& result, bool& have_body, + const TopoDS_Shape& context, const CadFeature& f) const +{ + switch (f.type) { + case CadFeatureType::Sketch: + return; // sketches carry no solid; consumed by an extrude + case CadFeatureType::Project: + return; // edges-to-sketch: consumed downstream, no solid body + case CadFeatureType::Helix: + return; // helical curve; consumed by Sweep as a path (like Sketch) + case CadFeatureType::Boolean: + return; // body-body boolean is handled in route_feature/apply_boolean, never here + case CadFeatureType::Import: + // Imported B-rep (STEP): rigid data carried on the feature, not built from + // parameters — adopt it as the new body (New-path: result starts empty). + result = f.imported_solid; + have_body = !result.IsNull(); + return; + case CadFeatureType::Extrude: { + const bool sym = (f.extrude_end == ExtrudeEnd::Symmetric); + const double signed_d = f.flip ? -f.distance : f.distance; + TopoDS_Shape tool; + if (f.extrude_src_face >= 0) { + // The source face is read from `context` (the owner body), which for a New + // face-extrude is the source solid while `result` is the empty new body. + if (context.IsNull()) throw std::runtime_error("face-extrude needs a body"); + TopoDS_Face srcf = GeometryEngine::face_by_index(context, f.extrude_src_face); + if (srcf.IsNull()) throw std::runtime_error("face-extrude: invalid face id"); + SketchPlane fpl = SketchPlane::from_face(srcf); + // from_face takes the surface's geometric normal and IGNORES the topological + // face orientation, so for a REVERSED face (e.g. the top cap of an extruded + // prism) it points INTO the solid -> a default push would fuse to nothing. + // Orient it outward so push/pull grows away from the material (Onshape default); + // the Flip checkbox (signed_d) still lets the user drive it inward for a cut. + if (srcf.Orientation() == TopAbs_REVERSED) fpl.normal = -fpl.normal; + tool = SketchEngine::make_extrude_face(srcf, fpl, signed_d, sym); + } else { + // Use the referenced sketch when sketch_ref is a valid Sketch index, + // otherwise fall back to f's own inline sketch params (this makes a + // single self-contained candidate previewable). + const CadFeature& sk = (f.sketch_ref >= 0 && f.sketch_ref < int(features.size()) + && (features[f.sketch_ref].type == CadFeatureType::Sketch + || features[f.sketch_ref].type == CadFeatureType::Project)) + ? features[f.sketch_ref] : f; + // Imported rigid art (Text/SVG) extrudes via the faces-with-holes path + // (with its placement transform applied); otherwise build the sketch's planar + // region (outer loop + holes) from entities/profile/shape. + tool = !sk.imported_regions.empty() + ? SketchEngine::make_extrude_regions( + transform_regions(sk.imported_regions, sk.import_offset, + sk.import_scale_x, sk.import_scale_y), + sk.plane, + f.extrude_end == ExtrudeEnd::ThroughAll ? 1e5 : signed_d, + f.extrude_end == ExtrudeEnd::ThroughAll ? true : (sym || f.extrude_end == ExtrudeEnd::TwoSided)) + : [&]() { + const TopoDS_Face profile = build_sketch_face(sk); + // A tapered extrude offsets the profile; a holed profile would have to + // offset its inner loops the opposite way, which is not implemented yet. + auto taper = [&](double L) -> TopoDS_Shape { + // Count the loops off the face we ALREADY built, rather than rebuilding + // every wire from the entities a second time to ask how many there are. + // It is also the more honest test: what matters is whether the profile + // being extruded has holes, not what the entity list could produce. + int nloops = 0; + for (TopExp_Explorer ex(profile, TopAbs_WIRE); ex.More(); ex.Next()) ++nloops; + if (nloops > 1) + throw std::runtime_error("tapered extrude of a sketch with holes is not supported yet"); + return SketchEngine::make_extrude_taper(build_sketch_wire(sk, true), sk.plane, L, f.taper_deg); + }; + TopoDS_Shape t; + switch (f.extrude_end) { + case ExtrudeEnd::Blind: + t = (std::abs(f.taper_deg) > 1e-6) + ? taper(signed_d) + : SketchEngine::make_extrude(profile, sk.plane, signed_d, false); + break; + case ExtrudeEnd::Symmetric: t = SketchEngine::make_extrude(profile, sk.plane, f.distance, true); break; + case ExtrudeEnd::TwoSided: t = SketchEngine::make_extrude_two_sided(profile, sk.plane, f.distance, f.distance2); break; + case ExtrudeEnd::ThroughAll: t = SketchEngine::make_extrude(profile, sk.plane, 1.0e5, true); break; + case ExtrudeEnd::UpToFace: { + const TopoDS_Face tgt = GeometryEngine::face_by_index(context, f.up_to_face); + double L = signed_d; + if (!tgt.IsNull()) { + const Vec3d c = GeometryEngine::face_centroid_world(tgt); + L = (c - sk.plane.origin).dot(sk.plane.normal); + } + t = (std::abs(f.taper_deg) > 1e-6) + ? taper(L) + : SketchEngine::make_extrude(profile, sk.plane, L, false); + break; + } + case ExtrudeEnd::UpToVertex: { + const double L = (f.up_to_point - sk.plane.origin).dot(sk.plane.normal); + t = SketchEngine::make_extrude(profile, sk.plane, L, false); + break; + } + default: t = SketchEngine::make_extrude(profile, sk.plane, signed_d, false); break; + } + return t; + }(); + } + // New / first-of-a-body => result becomes the tool (route_feature sends New extrudes + // here with an empty result, so a face-extrude New builds a fresh body from the source + // face in `context` without touching it). Add/Cut/Intersect boolean into `result`. + if (!have_body || f.mode == BooleanMode::New) { + result = tool; + have_body = true; + } else if (f.mode == BooleanMode::Add) { + BRepAlgoAPI_Fuse fuse(result, tool); + if (!fuse.IsDone()) throw std::runtime_error("fuse failed"); + result = fuse.Shape(); + } else if (f.mode == BooleanMode::Cut) { + BRepAlgoAPI_Cut cut(result, tool); + if (!cut.IsDone()) throw std::runtime_error("cut failed"); + result = cut.Shape(); + } else if (f.mode == BooleanMode::Intersect) { + BRepAlgoAPI_Common common(result, tool); + if (!common.IsDone()) throw std::runtime_error("intersect failed"); + result = common.Shape(); + } + break; + } + case CadFeatureType::Revolve: { + // Resolve the profile sketch like Extrude: referenced Sketch when valid, + // else this feature's own inline entities/profile (self-contained candidate). + const CadFeature& sk = (f.sketch_ref >= 0 && f.sketch_ref < int(features.size()) + && (features[f.sketch_ref].type == CadFeatureType::Sketch + || features[f.sketch_ref].type == CadFeatureType::Project)) + ? features[f.sketch_ref] : f; + TopoDS_Wire wire = build_sketch_wire(sk, true); + const double ang = f.flip ? -f.revolve_angle : f.revolve_angle; + TopoDS_Shape tool = SketchEngine::make_revolve(wire, sk.plane, ang, f.revolve_axis); + if (!have_body || f.mode == BooleanMode::New) { + result = tool; + have_body = true; + } else if (f.mode == BooleanMode::Add) { + BRepAlgoAPI_Fuse fuse(result, tool); + if (!fuse.IsDone()) throw std::runtime_error("fuse failed"); + result = fuse.Shape(); + } else if (f.mode == BooleanMode::Cut) { + BRepAlgoAPI_Cut cut(result, tool); + if (!cut.IsDone()) throw std::runtime_error("cut failed"); + result = cut.Shape(); + } else if (f.mode == BooleanMode::Intersect) { + BRepAlgoAPI_Common common(result, tool); + if (!common.IsDone()) throw std::runtime_error("intersect failed"); + result = common.Shape(); + } + break; + } + case CadFeatureType::SurfaceExtrude: { + if (f.sketch_ref < 0 || f.sketch_ref >= int(features.size())) + throw std::runtime_error("surface-extrude: bad sketch ref"); + const CadFeature& sk = features[f.sketch_ref]; + if (sk.type != CadFeatureType::Sketch && sk.type != CadFeatureType::Project) + throw std::runtime_error("surface-extrude: ref is not a sketch"); + TopoDS_Wire wire = build_sketch_wire(sk); + if (wire.IsNull()) throw std::runtime_error("surface-extrude: empty profile"); + gp_Dir nrm(sk.plane.normal.x(), sk.plane.normal.y(), sk.plane.normal.z()); + gp_Vec v(nrm.XYZ() * f.distance); + TopoDS_Shape shell = BRepPrimAPI_MakePrism(wire, v, false, true).Shape(); + if (shell.IsNull()) throw std::runtime_error("surface-extrude: prism failed"); + result = shell; have_body = true; + break; + } + case CadFeatureType::SurfaceRevolve: { + if (f.sketch_ref < 0 || f.sketch_ref >= int(features.size())) + throw std::runtime_error("surface-revolve: bad sketch ref"); + const CadFeature& sk = features[f.sketch_ref]; + if (sk.type != CadFeatureType::Sketch && sk.type != CadFeatureType::Project) + throw std::runtime_error("surface-revolve: ref is not a sketch"); + TopoDS_Wire wire = build_sketch_wire(sk); + if (wire.IsNull()) throw std::runtime_error("surface-revolve: empty profile"); + const Vec3d& adir = (f.revolve_axis == 1) ? sk.plane.y_axis : sk.plane.x_axis; + gp_Pnt o(sk.plane.origin.x(), sk.plane.origin.y(), sk.plane.origin.z()); + gp_Dir xd(adir.x(), adir.y(), adir.z()); + gp_Ax1 axis(o, xd); + const double ang = f.revolve_angle * M_PI / 180.0; + BRepPrimAPI_MakeRevol rev(wire, axis, ang, false); + if (!rev.IsDone()) throw std::runtime_error("surface-revolve: revolve failed"); + result = rev.Shape(); have_body = true; + break; + } + case CadFeatureType::SurfaceLoft: { + std::vector profiles; + for (int ref : f.loft_profile_refs) { + if (ref < 0 || ref >= int(features.size()) + || (features[ref].type != CadFeatureType::Sketch + && features[ref].type != CadFeatureType::Project)) + continue; + profiles.push_back(build_sketch_wire(features[ref])); + } + if (profiles.size() < 2) + throw std::runtime_error("surface-loft needs 2+ valid profile sketches"); + TopoDS_Shape skin = SketchEngine::make_loft_surface(profiles, f.loft_ruled); + if (skin.IsNull()) throw std::runtime_error("surface-loft: loft failed"); + result = skin; have_body = true; + break; + } + case CadFeatureType::SurfaceFill: { + if (f.sketch_ref < 0 || f.sketch_ref >= int(features.size())) + throw std::runtime_error("surface-fill: bad sketch ref"); + const CadFeature& sk = features[f.sketch_ref]; + if (sk.type != CadFeatureType::Sketch && sk.type != CadFeatureType::Project) + throw std::runtime_error("surface-fill: ref is not a sketch"); + TopoDS_Wire wire = build_sketch_wire(sk); + if (wire.IsNull()) throw std::runtime_error("surface-fill: empty boundary"); + BRepOffsetAPI_MakeFilling fill; + int nedges = 0; + for (TopExp_Explorer ex(wire, TopAbs_EDGE); ex.More(); ex.Next()) { + fill.Add(TopoDS::Edge(ex.Current()), GeomAbs_C0); + ++nedges; + } + if (nedges == 0) throw std::runtime_error("surface-fill: boundary has no edges"); + fill.Build(); + if (!fill.IsDone()) throw std::runtime_error("surface-fill: fill failed"); + TopoDS_Shape face = fill.Shape(); + if (face.IsNull()) throw std::runtime_error("surface-fill: produced no geometry"); + result = face; have_body = true; + break; + } + case CadFeatureType::Sweep: { + const CadFeature& sk = (f.sketch_ref >= 0 && f.sketch_ref < int(features.size()) + && (features[f.sketch_ref].type == CadFeatureType::Sketch + || features[f.sketch_ref].type == CadFeatureType::Project)) + ? features[f.sketch_ref] : f; + if (f.sweep_path_ref < 0 || f.sweep_path_ref >= int(features.size())) + throw std::runtime_error("sweep needs a valid path reference"); + const CadFeature& path_feat = features[f.sweep_path_ref]; + TopoDS_Wire path; + if (path_feat.type == CadFeatureType::Helix) { + std::string helix_err; + path = make_helix_spine(path_feat, helix_err); + if (path.IsNull()) throw std::runtime_error("helix path: " + helix_err); + } else if (path_feat.type == CadFeatureType::Sketch) { + path = build_sketch_wire(path_feat); + } else { + throw std::runtime_error("sweep path must be a sketch or helix"); + } + TopoDS_Wire profile = build_sketch_wire(sk, true); + TopoDS_Shape tool = SketchEngine::make_sweep(profile, path); + if (!have_body || f.mode == BooleanMode::New) { + result = tool; + have_body = true; + } else if (f.mode == BooleanMode::Add) { + BRepAlgoAPI_Fuse fuse(result, tool); + if (!fuse.IsDone()) throw std::runtime_error("fuse failed"); + result = fuse.Shape(); + } else if (f.mode == BooleanMode::Cut) { + BRepAlgoAPI_Cut cut(result, tool); + if (!cut.IsDone()) throw std::runtime_error("cut failed"); + result = cut.Shape(); + } else if (f.mode == BooleanMode::Intersect) { + BRepAlgoAPI_Common common(result, tool); + if (!common.IsDone()) throw std::runtime_error("intersect failed"); + result = common.Shape(); + } + break; + } + case CadFeatureType::Loft: { + // Loft through 2+ closed profile Sketches, in recipe order. Each profile builds + // a wire via build_sketch_wire (so it keeps its own plane); make_loft skins them. + std::vector profiles; + for (int ref : f.loft_profile_refs) { + if (ref < 0 || ref >= int(features.size()) + || (features[ref].type != CadFeatureType::Sketch + && features[ref].type != CadFeatureType::Project)) + continue; + profiles.push_back(build_sketch_wire(features[ref], true)); + } + if (profiles.size() < 2) + throw std::runtime_error("loft needs 2+ valid profile sketches"); + TopoDS_Shape tool = SketchEngine::make_loft(profiles, f.loft_ruled); + if (!have_body || f.mode == BooleanMode::New) { + result = tool; + have_body = true; + } else if (f.mode == BooleanMode::Add) { + BRepAlgoAPI_Fuse fuse(result, tool); + if (!fuse.IsDone()) throw std::runtime_error("fuse failed"); + result = fuse.Shape(); + } else if (f.mode == BooleanMode::Cut) { + BRepAlgoAPI_Cut cut(result, tool); + if (!cut.IsDone()) throw std::runtime_error("cut failed"); + result = cut.Shape(); + } else if (f.mode == BooleanMode::Intersect) { + BRepAlgoAPI_Common common(result, tool); + if (!common.IsDone()) throw std::runtime_error("intersect failed"); + result = common.Shape(); + } + break; + } + case CadFeatureType::Pattern: { + // Pattern along a curve: when pattern_curve_sketch >= 0 this mode takes + // precedence over linear/circular. Copies are placed at equal-parameter points + // along the referenced sketch entity, translated by (P_i - P_0). + if (f.pattern_curve_sketch >= 0) { + if (f.pattern_curve_sketch >= (int)features.size()) + throw std::runtime_error("pattern-on-curve: bad sketch ref"); + const CadFeature& gs = features[f.pattern_curve_sketch]; + if (gs.type != CadFeatureType::Sketch) + throw std::runtime_error("pattern-on-curve: ref is not a sketch"); + if (f.pattern_curve_entity < 0 || f.pattern_curve_entity >= (int)gs.entities.size()) + throw std::runtime_error("pattern-on-curve: bad entity"); + if (!have_body) throw std::runtime_error("pattern needs a body"); + const SketchEntity& gc = gs.entities[f.pattern_curve_entity]; + const int n = std::max(1, f.pattern_count); + const TopoDS_Shape seed = result; + Vec3d p0 = gs.plane.to_world(sample_entity_2d(gc, 0.0)); + for (int i = 1; i < n; ++i) { + double t = double(i) / double(n - 1 > 0 ? n - 1 : 1); + Vec3d pi = gs.plane.to_world(sample_entity_2d(gc, t)); + Vec3d d = pi - p0; + gp_Trsf trsf; + trsf.SetTranslation(gp_Vec(d.x(), d.y(), d.z())); + TopoDS_Shape copy = BRepBuilderAPI_Transform(seed, trsf, true).Shape(); + BRepAlgoAPI_Fuse fuse(result, copy); + if (!fuse.IsDone()) throw std::runtime_error("pattern fuse failed"); + result = fuse.Shape(); + } + break; + } + // Replicate the target body. Each copy is a rigid gp_Trsf of the seed, all + // fused into one body. Linear: i*spacing along plane axis pattern_dir + // (0=X,1=Y). Circular: i*(angle/count) about the plane normal through the + // plane origin (so a seed offset from the origin orbits the axis). + if (!have_body) throw std::runtime_error("pattern needs a body"); + const int n = std::max(1, f.pattern_count); + const TopoDS_Shape seed = result; + for (int i = 1; i < n; ++i) { + gp_Trsf trsf; + if (f.pattern_circular) { + Vec3d o = f.plane.to_world(Vec2d(0, 0)); + gp_Ax1 ax(gp_Pnt(o.x(), o.y(), o.z()), + gp_Dir(f.plane.normal.x(), f.plane.normal.y(), f.plane.normal.z())); + const double step = (f.pattern_angle * M_PI / 180.0) / double(n); + trsf.SetRotation(ax, step * i); + } else { + const Vec3d& d = (f.pattern_dir == 1) ? f.plane.y_axis : f.plane.x_axis; + trsf.SetTranslation(gp_Vec(d.x() * f.pattern_spacing * i, + d.y() * f.pattern_spacing * i, + d.z() * f.pattern_spacing * i)); + } + TopoDS_Shape copy = BRepBuilderAPI_Transform(seed, trsf, true).Shape(); + BRepAlgoAPI_Fuse fuse(result, copy); + if (!fuse.IsDone()) throw std::runtime_error("pattern fuse failed"); + result = fuse.Shape(); + } + break; + } + case CadFeatureType::Rib: { + if (!have_body) throw std::runtime_error("rib needs a body"); + if (f.rib_sketch_ref < 0 || f.rib_sketch_ref >= (int)features.size()) + throw std::runtime_error("rib: bad sketch ref"); + const CadFeature& sk = features[f.rib_sketch_ref]; + // Project counts as sketch-like here exactly as it does for Extrude, SurfaceExtrude + // and SurfaceRevolve: it carries plane + Line entities, which is all a rib reads. + // Ribbing along a projected body edge is otherwise unreachable. + if (sk.type != CadFeatureType::Sketch && sk.type != CadFeatureType::Project) + throw std::runtime_error("rib: ref is not a sketch"); + if (f.rib_entity < 0 || f.rib_entity >= (int)sk.entities.size()) + throw std::runtime_error("rib: bad entity"); + const SketchEntity& ln = sk.entities[f.rib_entity]; + if (ln.type != SketchEntity::Type::Line) + throw std::runtime_error("rib: entity must be a line"); // ponytail: line-only for now + // Thin rectangle centred on the line, in the sketch plane: offset both endpoints by + // +/-thickness/2 along the in-plane perpendicular of the line direction. + const SketchPlane& pl = sk.plane; + Vec2d a = ln.p0, b = ln.p1; + Vec2d dir = (b - a); double L = dir.norm(); + if (L < 1e-9) throw std::runtime_error("rib: degenerate line"); + dir /= L; + Vec2d perp(-dir.y(), dir.x()); + double h = f.rib_thickness * 0.5; + Vec2d q0 = a + perp*h, q1 = b + perp*h, q2 = b - perp*h, q3 = a - perp*h; + auto w3 = [&](const Vec2d& p){ Vec3d w = pl.to_world(p); return gp_Pnt(w.x(),w.y(),w.z()); }; + BRepBuilderAPI_MakePolygon poly(w3(q0), w3(q1), w3(q2), w3(q3), Standard_True); + if (!poly.IsDone()) throw std::runtime_error("rib: profile failed"); + TopoDS_Shape wall = SketchEngine::make_extrude(poly.Wire(), pl, f.rib_depth, false, 0.0); + if (wall.IsNull()) throw std::runtime_error("rib: extrude failed"); + BRepAlgoAPI_Fuse fuse(result, wall); + if (!fuse.IsDone()) throw std::runtime_error("rib: fuse failed"); + result = fuse.Shape(); + break; + } + case CadFeatureType::Fillet: + if (!have_body) throw std::runtime_error("fillet needs a body"); + if (f.dressup_edge >= 0) + result = GeometryEngine::apply_fillet(result, f.dressup_size, f.dressup_edge); + else + result = GeometryEngine::apply_fillet(result, f.dressup_size, f.face_group); + break; + case CadFeatureType::Chamfer: + if (!have_body) throw std::runtime_error("chamfer needs a body"); + if (f.dressup_edge >= 0) + result = GeometryEngine::apply_chamfer(result, f.dressup_size, f.dressup_edge); + else + result = GeometryEngine::apply_chamfer(result, f.dressup_size, f.face_group); + break; + case CadFeatureType::Hole: { + if (!have_body) throw std::runtime_error("hole needs a body"); + // Circle wire centered at the positioned point on the plane + Vec3d c = f.plane.to_world(Vec2d(f.hole_x, f.hole_y)); + gp_Pnt o(c.x(), c.y(), c.z()); + gp_Dir n(f.plane.normal.x(), f.plane.normal.y(), f.plane.normal.z()); + gp_Circ circ(gp_Ax2(o, n), f.hole_diameter * 0.5); + TopoDS_Edge e = BRepBuilderAPI_MakeEdge(circ).Edge(); + BRepBuilderAPI_MakeWire wm(e); + if (!wm.IsDone()) throw std::runtime_error("hole wire failed"); + // Through = symmetric huge cut (passes fully through any body); + // Blind = +normal extrude of hole_depth into the body. + TopoDS_Shape tool = f.hole_through + ? SketchEngine::make_extrude(wm.Wire(), f.plane, 1.0e5, true, 0.0) + : SketchEngine::make_extrude(wm.Wire(), f.plane, f.hole_depth, false, 0.0); + BRepAlgoAPI_Cut cut(result, tool); + if (!cut.IsDone()) throw std::runtime_error("hole cut failed"); + result = cut.Shape(); + + // Enlarge the entry for a screw head (style 1 = counterbore, 2 = countersink). + if (f.hole_style == 1 && f.hole_cbore_diameter > f.hole_diameter + && f.hole_cbore_depth > 1e-6) { + gp_Ax2 cbax(o, n); + TopoDS_Shape cb = BRepPrimAPI_MakeCylinder(cbax, f.hole_cbore_diameter * 0.5, + f.hole_cbore_depth).Shape(); + BRepAlgoAPI_Cut cbc(result, cb); + if (cbc.IsDone() && !cbc.Shape().IsNull()) result = cbc.Shape(); + } else if (f.hole_style == 2 && f.hole_csink_diameter > f.hole_diameter) { + const double Rmaj = f.hole_csink_diameter * 0.5; + const double Rmin = f.hole_diameter * 0.5; + const double half = f.hole_csink_angle * 0.5 * M_PI / 180.0; + const double h = (Rmaj - Rmin) / std::tan(half); + if (h > 1e-6) { + gp_Ax2 csax(o, n); + TopoDS_Shape cs = BRepPrimAPI_MakeCone(csax, Rmaj, Rmin, h).Shape(); + BRepAlgoAPI_Cut csc(result, cs); + if (csc.IsDone() && !csc.Shape().IsNull()) result = csc.Shape(); + } + } + break; + } + case CadFeatureType::Thread: { + // Reject degenerate parameters that make OCCT's helical sweep / boolean unstable (a tiny + // pitch, depth >= half-pitch, an enormous turn count, depth eating the whole wall). Better + // a no-op than a crash. Leave the body unchanged when the spec can't be built safely. + { + const double R = f.thread_radius, P = f.thread_pitch, H = f.thread_height, D = f.thread_depth; + // ISO external thread depth is ~0.61*P, so allow up to 0.7*P (0.49 wrongly rejected + // every real thread -> nothing rendered). Still bound it well under a full pitch. + const bool ok = R > 0.5 && P > 0.1 && D > 1e-3 && D < 0.7 * P && D < 0.45 * R + && H > 0.5 * P && (H / P) < 400.0; + if (!ok) break; // result/have_body untouched + } + // Axis at the positioned point on the plane; +normal = thread rise. + Vec3d c3 = f.plane.to_world(Vec2d(f.thread_x, f.thread_y)); + gp_Pnt c(c3.x(), c3.y(), c3.z()); + gp_Dir zdir(f.plane.normal.x(), f.plane.normal.y(), f.plane.normal.z()); + gp_Dir xdir(f.plane.x_axis.x(), f.plane.x_axis.y(), f.plane.x_axis.z()); + gp_Ax3 ax3(c, zdir, xdir); + gp_Ax2 ax2(c, zdir, xdir); + + // Build the swept helical ridge (guarded — never fatal). + TopoDS_Shape ridge; + bool have_ridge = false; + try { + TopoDS_Wire spine = make_helix_wire(ax3, f.thread_radius, + f.thread_pitch, f.thread_height); + TopoDS_Wire prof = make_thread_profile(c, xdir, zdir, f.thread_radius, + f.thread_pitch, f.thread_depth, + f.thread_internal); + // MakePipeShell with a FIXED BINORMAL = cylinder axis keeps the V-profile's orientation + // constant along the helix (axial edge always parallel to the axis, V always pointing + // radially out). The plain MakePipe used a Frenet frame that TWISTED the profile around + // the helix -> the wedge inclination varied and looked mirrored. + BRepOffsetAPI_MakePipeShell pipe(spine); + pipe.SetMode(zdir); + pipe.Add(prof); + pipe.Build(); + if (pipe.IsDone() && pipe.MakeSolid()) { + ridge = pipe.Shape(); + have_ridge = !ridge.IsNull(); + } + } catch (const std::exception&) { + have_ridge = false; // fall back to the bare cylinder/bore below + } catch (const Standard_Failure&) { + have_ridge = false; // OCCT failure (not a std::exception) — must be caught here too + } + + if (f.thread_internal) { + if (!have_body) throw std::runtime_error("internal thread needs a body"); + // Tapped bore: ensure a clean cylindrical pocket, then carve the + // OUTWARD helical groove into its wall. When the thread is invoked on + // an existing hole the bore cut is coincident (a no-op that may report + // !IsDone) — tolerate it so the visible groove cut below still runs. + // Cut the pocket at the MINOR diameter (radius - depth), not the nominal radius. + // A nominal-radius bore that coincides with an existing hole's wall creates + // coincident faces that foul the following groove boolean (the groove then removes + // ~nothing -> invisible thread). The minor bore stays strictly inside any existing + // hole wall, leaving it clean for the groove; on solid stock it forms the tap-drill. + const double bore_r = std::max(0.5, f.thread_radius - f.thread_depth); + TopoDS_Shape bore = BRepPrimAPI_MakeCylinder(ax2, bore_r, + f.thread_height).Shape(); + try { + BRepAlgoAPI_Cut cut_bore(result, bore); + if (cut_bore.IsDone() && !cut_bore.Shape().IsNull()) + result = cut_bore.Shape(); + } catch (const std::exception&) { /* keep existing bore */ } + if (have_ridge) { + BRepAlgoAPI_Cut cut_ridge(result, ridge); + if (cut_ridge.IsDone() && !cut_ridge.Shape().IsNull()) + result = cut_ridge.Shape(); + } + } else { + // External thread: FUSE the helical ridge ONTO the existing body (the picked cylinder), + // leaving the rest of the part intact. Replacing the body with a bare rod — the old + // behaviour — wiped whatever the user picked; that was the "mess". With no body yet + // (a thread from scratch on a dropdown plane), fall back to a standalone threaded rod. + if (have_body && !result.IsNull()) { + if (have_ridge) { + BRepAlgoAPI_Fuse fuse(result, ridge); + if (fuse.IsDone() && !fuse.Shape().IsNull()) result = fuse.Shape(); + } + } else { + TopoDS_Shape rod = BRepPrimAPI_MakeCylinder(ax2, f.thread_radius, + f.thread_height).Shape(); + if (have_ridge) { + BRepAlgoAPI_Fuse fuse(rod, ridge); + if (fuse.IsDone()) rod = fuse.Shape(); + } + result = rod; + have_body = true; + } + } + break; + } + case CadFeatureType::Shell: { + if (!have_body) throw std::runtime_error("shell needs a body"); + // Hollow the body to a wall thickness; the picked face (if any) is removed so the + // shell is open there. MakeThickSolidByJoin with a NEGATIVE offset shells inward. + TopTools_ListOfShape remove; + if (f.shell_face >= 0) { + TopoDS_Face fc = GeometryEngine::face_by_index(result, f.shell_face); + if (!fc.IsNull()) remove.Append(fc); + } + BRepOffsetAPI_MakeThickSolid mts; + mts.MakeThickSolidByJoin(result, remove, -std::abs(f.shell_thickness), 1.0e-3); + mts.Build(); + if (!mts.IsDone()) throw std::runtime_error("shell failed"); + result = mts.Shape(); + if (result.IsNull()) throw std::runtime_error("shell produced no geometry"); + break; + } + case CadFeatureType::Draft: { + if (!have_body) throw std::runtime_error("draft needs a body"); + if (f.draft_face < 0) throw std::runtime_error("draft needs a picked face"); + TopoDS_Face fc = GeometryEngine::face_by_index(result, f.draft_face); + if (fc.IsNull()) throw std::runtime_error("draft: face not found"); + // Neutral plane = horizontal plane through the body's bbox bottom, pull direction +Z. + // The face pivots about the line where it meets the neutral plane and tilts by the angle. + // ponytail: neutral plane / pull direction fixed to world up; pick-based neutral plane + // deferred (same as the datum-plane pick types, dgv). + Bnd_Box bb; BRepBndLib::Add(result, bb); + Standard_Real xmin, ymin, zmin, xmax, ymax, zmax; + bb.Get(xmin, ymin, zmin, xmax, ymax, zmax); + gp_Dir pull(0, 0, 1); + gp_Pln neutral(gp_Pnt(0, 0, zmin), pull); + BRepOffsetAPI_DraftAngle draft(result); + draft.Add(fc, pull, f.draft_angle * M_PI / 180.0, neutral); + if (!draft.AddDone()) + throw std::runtime_error("draft: face cannot be drafted (is it parallel to the base?)"); + draft.Build(); + if (!draft.IsDone()) throw std::runtime_error("draft failed"); + result = draft.Shape(); + if (result.IsNull()) throw std::runtime_error("draft produced no geometry"); + break; + } + case CadFeatureType::DeleteFace: { + if (!have_body) throw std::runtime_error("delete_face needs a body"); + if (f.delete_faces.empty()) throw std::runtime_error("delete_face needs at least one face"); + BRepAlgoAPI_Defeaturing df; + df.SetShape(result); + for (int fi : f.delete_faces) { + TopoDS_Face fc = GeometryEngine::face_by_index(result, fi); + if (fc.IsNull()) throw std::runtime_error("delete_face: face not found"); + df.AddFaceToRemove(fc); + } + df.Build(); + if (!df.IsDone()) throw std::runtime_error("delete_face failed"); + result = df.Shape(); + if (result.IsNull()) throw std::runtime_error("delete_face produced no geometry"); + break; + } + } +} + +// Compound of all body shapes (1 body => that body verbatim, so single-body display and +// global face/edge ids are byte-identical to the pre-multi-body behaviour). +static TopoDS_Shape compound_of(const std::vector& bodies) +{ + if (bodies.size() == 1) return bodies[0].shape; + TopoDS_Compound comp; + BRep_Builder bld; + bld.MakeCompound(comp); + for (const CadBody& b : bodies) + if (!b.shape.IsNull()) bld.Add(comp, b.shape); + return comp; +} + +// Tessellate every body separately and concatenate into one mesh, recording per-triangle +// (body index, face id WITHIN that body). Single-body => byte-identical to tessellate(body). +static TriangleMesh tessellate_bodies(const std::vector& bodies, + std::vector& tri_face, std::vector& tri_body, + std::vector& body_meshes, + double lin, double ang) +{ + tri_face.clear(); + tri_body.clear(); + body_meshes.clear(); + indexed_triangle_set merged; + for (int bi = 0; bi < int(bodies.size()); ++bi) { + std::vector tf; + TriangleMesh bm = SketchEngine::tessellate(bodies[bi].shape, tf, lin, ang); + const indexed_triangle_set& its = bm.its; + const int voff = int(merged.vertices.size()); + for (const auto& v : its.vertices) merged.vertices.push_back(v); + for (const auto& t : its.indices) + merged.indices.emplace_back(t[0] + voff, t[1] + voff, t[2] + voff); + for (int fid : tf) { tri_face.push_back(fid); tri_body.push_back(bi); } + body_meshes.push_back(std::move(bm)); // per-body mesh kept for distinct GLVolume colors + } + return TriangleMesh(merged); +} + +void CadDocument::apply_boolean(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + const int tool = (f.bool_tool_body >= 0 && f.bool_tool_body < nb) ? f.bool_tool_body : -1; + if (tgt < 0 || tool < 0 || tgt == tool) return; // need two distinct bodies; otherwise no-op + const TopoDS_Shape A = bodies[tgt].shape; // target survives + const TopoDS_Shape B = bodies[tool].shape; // tool, consumed unless kept + if (A.IsNull() || B.IsNull()) return; + + TopTools_ListOfShape args, tools; + args.Append(A); + tools.Append(B); + auto run = [&](BRepAlgoAPI_BooleanOperation& bop) -> TopoDS_Shape { + bop.SetArguments(args); + bop.SetTools(tools); + if (f.bool_tolerance > 0.0) bop.SetFuzzyValue(f.bool_tolerance); // OCCT fuzzy: merge near-coincident faces + bop.Build(); + if (!bop.IsDone()) throw std::runtime_error("boolean operation failed"); + return bop.Shape(); + }; + TopoDS_Shape result; + switch (f.mode) { + case BooleanMode::Add: { BRepAlgoAPI_Fuse op; result = run(op); break; } // union + case BooleanMode::Cut: { BRepAlgoAPI_Cut op; result = run(op); break; } // target - tool + case BooleanMode::Intersect: { BRepAlgoAPI_Common op; result = run(op); break; } // overlap + default: return; // BooleanMode::New is meaningless between two existing bodies + } + if (result.IsNull()) throw std::runtime_error("boolean produced an empty shape"); + + bodies[tgt].shape = result; + if (!f.bool_keep_tool) bodies.erase(bodies.begin() + tool); // consume the tool body +} + +void CadDocument::apply_cut(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("cut: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("cut: no target body"); + + if (!f.cut_keep_upper && !f.cut_keep_lower) + throw std::runtime_error("cut keeps nothing"); + + SketchPlane cp; + if (f.cut_face >= 0) { + const int fb = (f.cut_face_body >= 0 && f.cut_face_body < nb) ? f.cut_face_body : tgt; + if (bodies[fb].shape.IsNull()) throw std::runtime_error("cut: face body is empty"); + TopoDS_Face fc = GeometryEngine::face_by_index(bodies[fb].shape, f.cut_face); + if (fc.IsNull()) throw std::runtime_error("cut: face not found"); + cp = SketchPlane::from_face(fc); + } else { + cp = f.plane; + } + cp.origin += cp.normal * f.cut_offset; + if (f.cut_flip) cp.normal = -cp.normal; + + // Build a large square wire in the cut plane, centered at plane origin. + const double L = 1.0e5; + Vec3d x = cp.x_axis * L; + Vec3d y = cp.y_axis * L; + Vec3d o = cp.origin; + auto p = [&](double sx, double sy) { + Vec3d v = o + x * sx + y * sy; + return gp_Pnt(v.x(), v.y(), v.z()); + }; + BRepBuilderAPI_MakePolygon poly; + poly.Add(p( 1, 1)); + poly.Add(p( 1, -1)); + poly.Add(p(-1, -1)); + poly.Add(p(-1, 1)); + poly.Close(); + if (!poly.IsDone()) throw std::runtime_error("cut: failed to build cut wire"); + TopoDS_Wire wire = poly.Wire(); + + TopoDS_Shape upper_piece, lower_piece; + const TopoDS_Shape& target = bodies[tgt].shape; + + if (f.cut_keep_upper) { + TopoDS_Shape upper_tool = SketchEngine::make_extrude(wire, cp, L, false, 0.0); + BRepAlgoAPI_Common common(target, upper_tool); + if (!common.IsDone()) throw std::runtime_error("cut operation failed"); + upper_piece = common.Shape(); + } + + if (f.cut_keep_lower) { + SketchPlane lp = cp; + lp.normal = -lp.normal; + TopoDS_Shape lower_tool = SketchEngine::make_extrude(wire, lp, L, false, 0.0); + BRepAlgoAPI_Common common(target, lower_tool); + if (!common.IsDone()) throw std::runtime_error("cut operation failed"); + lower_piece = common.Shape(); + } + + if (f.cut_keep_upper && f.cut_keep_lower) { + bodies[tgt].shape = upper_piece; + bodies.insert(bodies.begin() + tgt + 1, + CadBody{ lower_piece, bodies[tgt].name + " (2)" }); + } else if (f.cut_keep_upper) { + bodies[tgt].shape = upper_piece; + } else { + bodies[tgt].shape = lower_piece; + } +} + +void CadDocument::apply_mirror(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("mirror: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("mirror: no target body"); + + const TopoDS_Shape& src = bodies[tgt].shape; + + gp_Trsf trsf; + trsf.SetMirror(gp_Ax2(gp_Pnt(f.plane.origin.x(), f.plane.origin.y(), f.plane.origin.z()), + gp_Dir(f.plane.normal.x(), f.plane.normal.y(), f.plane.normal.z()))); + BRepBuilderAPI_Transform xform(src, trsf, true /*copy*/); + if (!xform.IsDone()) throw std::runtime_error("mirror: transform failed"); + TopoDS_Shape mirrored = xform.Shape(); + + // A mirror reverses orientation — verify the result has positive volume. + { + GProp_GProps props; + BRepGProp::VolumeProperties(mirrored, props); + if (props.Mass() <= 0.0) { + // Flip orientation to get a valid forward solid. + mirrored.Reverse(); + BRepGProp::VolumeProperties(mirrored, props); + if (props.Mass() <= 0.0) + throw std::runtime_error("mirror: result has zero or negative volume"); + } + } + + switch (f.mode) { + case BooleanMode::Add: { + BRepAlgoAPI_Fuse fuse(src, mirrored); + if (!fuse.IsDone()) throw std::runtime_error("mirror fuse failed"); + bodies[tgt].shape = fuse.Shape(); + break; + } + case BooleanMode::New: { + if (!f.mirror_keep_original) + bodies.erase(bodies.begin() + tgt); // replace: the mirrored copy takes the source slot + bodies.push_back({mirrored, f.name.empty() ? std::string("Mirror") : f.name}); + break; + } + default: + throw std::runtime_error("mirror: mode must be New or Add"); + } +} + +void CadDocument::apply_transform(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("transform: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("transform: no target body"); + + gp_Trsf rot; + if (std::abs(f.xf_angle_deg) > 1e-12) { + if (f.xf_axis.norm() < 1e-9) + throw std::runtime_error("transform: rotation axis is degenerate"); + rot.SetRotation(gp_Ax1(gp_Pnt(f.xf_pivot.x(), f.xf_pivot.y(), f.xf_pivot.z()), + gp_Dir(f.xf_axis.x(), f.xf_axis.y(), f.xf_axis.z())), + f.xf_angle_deg * M_PI / 180.0); + } + gp_Trsf tr; + tr.SetTranslation(gp_Vec(f.xf_translate.x(), f.xf_translate.y(), f.xf_translate.z())); + const gp_Trsf trsf = tr * rot; // rotate first, then translate + + BRepBuilderAPI_Transform xform(bodies[tgt].shape, trsf, true /*copy*/); + if (!xform.IsDone()) throw std::runtime_error("transform: failed"); + TopoDS_Shape moved = xform.Shape(); + + if (f.xf_copy) + bodies.push_back({moved, f.name.empty() ? std::string("Transform") : f.name}); + else + bodies[tgt].shape = moved; +} + +void CadDocument::apply_thicken(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("thicken: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("thicken: no target body"); + + TopoDS_Face fc = GeometryEngine::face_by_index(bodies[tgt].shape, f.thicken_face); + if (fc.IsNull()) throw std::runtime_error("thicken: face not found"); + if (std::abs(f.thicken_thickness) < 1e-9) throw std::runtime_error("thicken: thickness is zero"); + + TopoDS_Shell shell; + BRep_Builder bb; + bb.MakeShell(shell); + bb.Add(shell, fc); + + const double off = f.thicken_flip ? -std::abs(f.thicken_thickness) + : std::abs(f.thicken_thickness); + BRepOffsetAPI_MakeThickSolid mts; + mts.MakeThickSolidBySimple(shell, off); + mts.Build(); + if (!mts.IsDone()) throw std::runtime_error("thicken: failed"); + TopoDS_Shape solid = mts.Shape(); + if (solid.IsNull()) throw std::runtime_error("thicken: produced no geometry"); + + // MakeThickSolidBySimple may produce a reversed solid. Ensure positive volume. + { + GProp_GProps props; + BRepGProp::VolumeProperties(solid, props); + if (props.Mass() < 0.0) solid.Reverse(); + } + + bodies.push_back({solid, f.name.empty() ? std::string("Thicken") : f.name}); +} + +void CadDocument::apply_thicken_surface(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("thicken-surface: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("thicken-surface: no target body"); + if (!is_sheet_shape(bodies[tgt].shape)) throw std::runtime_error("thicken-surface: target is not a sheet body"); + if (std::abs(f.thicken_thickness) < 1e-9) throw std::runtime_error("thicken-surface: thickness is zero"); + + const double off = f.thicken_flip ? -std::abs(f.thicken_thickness) + : std::abs(f.thicken_thickness); + const TopoDS_Shape& sheet = bodies[tgt].shape; + + // MakeThickSolidBySimple offsets each face along its own normal and sews the result; it never + // extends neighbours to meet, so at every edge where two faces join at an angle the corner + // material is simply absent. A flat sheet is therefore exact while a 4-walled box is not + // (measured: 29648 against the 44000 that (60^2-50^2)*40 requires). + // + // ByJoin is the call that mitres those corners, and it is what the Shell feature already uses + // successfully a few hundred lines up — but it CANNOT be handed an open sheet. In OCCT, + // BRepOffset_MakeOffset::MakeThickSolid builds the solid only inside `if (!myFaces.IsEmpty())` + // (BRepOffset_MakeOffset.cxx:1115): with no closing faces it stops after the offset shell and + // returns that. So it reports IsDone() and a non-null shape containing no TopAbs_SOLID at all + // — which is exactly how two earlier attempts failed, and why no parameter could have fixed it. + // + // So close the sheet first, then use the working call: cap the free rims, sew into a closed + // shell, make a solid, and hollow it inward passing the caps as the faces to remove. The caps + // come back off, leaving the wall. + // A SINGLE face has no edge shared with a neighbour, so there is no corner to mitre and + // BySimple is already exact on it (flat 60x60 by 5 -> 18000.000). It also has a free + // boundary, so "does it have free wires" is NOT the question to ask here — capping a lone + // face with its own rim sews a zero-thickness shell and the offset then measures 6000. + int n_faces = 0; + for (TopExp_Explorer fe(sheet, TopAbs_FACE); fe.More(); fe.Next()) ++n_faces; + + TopTools_ListOfShape caps; + if (n_faces > 1) { + ShapeAnalysis_FreeBounds fb(sheet); + for (TopExp_Explorer we(fb.GetClosedWires(), TopAbs_WIRE); we.More(); we.Next()) { + BRepBuilderAPI_MakeFace mk(TopoDS::Wire(we.Current())); + if (!mk.IsDone()) + throw std::runtime_error("thicken-surface: cannot cap the sheet rim " + "(is it planar?)"); + caps.Append(mk.Face()); + } + } + + TopoDS_Shape solid; + if (caps.IsEmpty()) { + BRepOffsetAPI_MakeThickSolid mts; + mts.MakeThickSolidBySimple(sheet, off); + mts.Build(); + if (!mts.IsDone()) throw std::runtime_error("thicken-surface: failed"); + solid = mts.Shape(); + } else { + BRepBuilderAPI_Sewing sewer(1.0e-3); + sewer.Add(sheet); + for (TopTools_ListIteratorOfListOfShape it(caps); it.More(); it.Next()) + sewer.Add(it.Value()); + sewer.Perform(); + + TopoDS_Shell closed_shell; + for (TopExp_Explorer se(sewer.SewedShape(), TopAbs_SHELL); se.More(); se.Next()) { + if (!closed_shell.IsNull()) + throw std::runtime_error("thicken-surface: the capped sheet split into " + "more than one shell"); + closed_shell = TopoDS::Shell(se.Current()); + } + if (closed_shell.IsNull() || !BRep_Tool::IsClosed(closed_shell)) + throw std::runtime_error("thicken-surface: the capped sheet is not closed"); + + // A shell sewn from an extruded sheet carries no guarantee that its faces point outward, + // and BRepBuilderAPI_MakeSolid does not fix that. Offsetting an inside-out solid sends the + // wall the wrong way: measured bbox 70x70x40 for an inward offset on a 60x60 box, with a + // volume larger than its own bounding box because the result then overlaps itself. A + // negative mass IS the inverted orientation, so use it as the test. + TopoDS_Solid capped = BRepBuilderAPI_MakeSolid(closed_shell).Solid(); + { + GProp_GProps vp; + BRepGProp::VolumeProperties(capped, vp); + if (vp.Mass() < 0.0) capped.Reverse(); + } + + BRepOffsetAPI_MakeThickSolid mts; + mts.MakeThickSolidByJoin(capped, caps, -std::abs(off), 1.0e-3); + mts.Build(); + if (!mts.IsDone()) throw std::runtime_error("thicken-surface: failed"); + solid = mts.Shape(); + } + if (solid.IsNull()) throw std::runtime_error("thicken-surface: produced no geometry"); + // IsDone() is NOT a success test here — the failed attempts had IsDone() true and no solid. + if (!TopExp_Explorer(solid, TopAbs_SOLID).More()) + throw std::runtime_error("thicken-surface: produced a shell, not a solid"); + + { + GProp_GProps props; + BRepGProp::VolumeProperties(solid, props); + if (props.Mass() < 0.0) solid.Reverse(); + } + + bodies.push_back({solid, f.name.empty() ? std::string("ThickenSurface") : f.name}); +} + +void CadDocument::apply_surface_offset(std::vector& bodies, const CadFeature& f) const +{ + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("surface-offset: no target body"); + const int tgt = (f.target_body >= 0 && f.target_body < nb) ? f.target_body : nb - 1; + if (tgt < 0 || bodies[tgt].shape.IsNull()) throw std::runtime_error("surface-offset: no target body"); + if (!is_sheet_shape(bodies[tgt].shape)) throw std::runtime_error("surface-offset: target is not a sheet body"); + const double d = f.plane_offset; + if (std::abs(d) < 1e-9) throw std::runtime_error("surface-offset: zero offset"); + + BRepOffsetAPI_MakeOffsetShape mos; + mos.PerformBySimple(bodies[tgt].shape, d); + if (!mos.IsDone()) throw std::runtime_error("surface-offset: failed"); + TopoDS_Shape off_shape = mos.Shape(); + if (off_shape.IsNull()) throw std::runtime_error("surface-offset: produced no geometry"); + + bodies.push_back({off_shape, f.name.empty() ? std::string("SurfaceOffset") : f.name}); +} + +// Project `edges` of a shape onto `plane`, appending the resulting 2D entities to `out`. +// `construction` marks them as guides rather than built geometry. This is the body of the +// Project feature's conversion loop, factored out so a sketch can borrow the same geometry. +static void project_edges_to_entities(const std::vector& edges, + const SketchPlane& plane, + bool construction, + std::vector& out) +{ + auto to2d = [&](const gp_Pnt& p) -> Vec2d { + Vec3d d(p.X() - plane.origin.x(), p.Y() - plane.origin.y(), p.Z() - plane.origin.z()); + return Vec2d(d.dot(plane.x_axis), d.dot(plane.y_axis)); + }; + + // A segment whose endpoints coincide after projection carries no geometry: that is what + // an edge perpendicular to the target plane becomes. Emitting it as a zero-length line + // would poison the sketch downstream, so drop it here. + auto push_line = [&](const Vec2d& a, const Vec2d& b) { + if ((b - a).norm() < 1e-7) return; + SketchEntity se; se.type = SketchEntity::Type::Line; + se.p0 = a; se.p1 = b; + se.construction = construction; + out.push_back(se); + }; + + for (const TopoDS_Edge& e : edges) { + BRepAdaptor_Curve ac(e); + const GeomAbs_CurveType ct = ac.GetType(); + if (ct == GeomAbs_Line) { + gp_Pnt a = ac.Value(ac.FirstParameter()); + gp_Pnt b = ac.Value(ac.LastParameter()); + push_line(to2d(a), to2d(b)); + } else if (ct == GeomAbs_Circle) { + gp_Circ c = ac.Circle(); + gp_Dir cn = c.Axis().Direction(); + Vec3d cnv(cn.X(), cn.Y(), cn.Z()); + const double par = std::abs(cnv.dot(plane.normal)); + const bool full = BRep_Tool::IsClosed(e) || + std::abs((ac.LastParameter() - ac.FirstParameter()) - 2.0 * M_PI) < 1e-6; + if (par > 0.999) { + Vec2d ctr = to2d(c.Location()); + if (full) { + SketchEntity se; se.type = SketchEntity::Type::Circle; + se.center = ctr; se.radius = c.Radius(); + se.construction = construction; + out.push_back(se); + } else { + gp_Pnt a = ac.Value(ac.FirstParameter()); + gp_Pnt b = ac.Value(ac.LastParameter()); + Vec2d a2 = to2d(a), b2 = to2d(b); + SketchEntity se; se.type = SketchEntity::Type::Arc; + se.center = ctr; se.radius = c.Radius(); + se.p0 = a2; se.p1 = b2; + se.start_angle = std::atan2(a2.y() - ctr.y(), a2.x() - ctr.x()); + se.end_angle = std::atan2(b2.y() - ctr.y(), b2.x() - ctr.x()); + se.construction = construction; + out.push_back(se); + } + continue; + } + std::vector pts = GeometryEngine::sample_edge_world(e); + for (size_t i = 1; i < pts.size(); ++i) + push_line(to2d(gp_Pnt(pts[i-1].x(), pts[i-1].y(), pts[i-1].z())), + to2d(gp_Pnt(pts[i].x(), pts[i].y(), pts[i].z()))); + } else { + std::vector pts = GeometryEngine::sample_edge_world(e); + for (size_t i = 1; i < pts.size(); ++i) + push_line(to2d(gp_Pnt(pts[i-1].x(), pts[i-1].y(), pts[i-1].z())), + to2d(gp_Pnt(pts[i].x(), pts[i].y(), pts[i].z()))); + } + } +} + +void CadDocument::apply_project(const std::vector& bodies, CadFeature& f) const +{ + f.entities.clear(); + const int nb = int(bodies.size()); + if (nb == 0) throw std::runtime_error("project: no source body"); + const int src = (f.project_source_body >= 0 && f.project_source_body < nb) + ? f.project_source_body : nb - 1; + if (src < 0 || bodies[src].shape.IsNull()) throw std::runtime_error("project: source body is empty"); + const TopoDS_Shape& shape = bodies[src].shape; + + std::vector edges; + if (!f.project_edges.empty()) { + for (int id : f.project_edges) { + TopoDS_Edge e = GeometryEngine::edge_by_index(shape, id); + if (e.IsNull()) throw std::runtime_error("project: edge not found"); + edges.push_back(e); + } + } else if (f.project_face >= 0) { + TopoDS_Face fc = GeometryEngine::face_by_index(shape, f.project_face); + if (fc.IsNull()) throw std::runtime_error("project: face not found"); + edges = GeometryEngine::edges_of_face(fc); + } else { + // No face and no explicit selection means "all edges" — the state the Project card + // starts in, and its label says so. Edges perpendicular to the target plane collapse + // to a point when projected; they are dropped below rather than emitted as + // zero-length lines. + edges = GeometryEngine::edges_of(shape); + } + if (edges.empty()) throw std::runtime_error("project: no edges to project"); + + project_edges_to_entities(edges, f.plane, /*construction=*/false, f.entities); + + if (f.entities.empty()) throw std::runtime_error("project: produced no entities"); +} + +void CadDocument::detect_mate_conflicts() +{ + mate_conflicts.clear(); + + const int n = int(features.size()); + std::map first_driver; // body -> feature index of first mate that drives it + std::map> graph; // dst -> list of src (body indices) + + for (int fi = 0; fi < n; ++fi) { + const CadFeature& f = features[fi]; + if (f.type != CadFeatureType::Mate || !f.enabled) continue; + + if (f.mate_cs_a < 0 || f.mate_cs_a >= n) continue; + if (f.mate_cs_b < 0 || f.mate_cs_b >= n) continue; + const CadFeature& fa = features[f.mate_cs_a]; + const CadFeature& fb = features[f.mate_cs_b]; + if (fa.type != CadFeatureType::CoordSys || !fa.enabled) continue; + if (fb.type != CadFeatureType::CoordSys || !fb.enabled) continue; + + const int src = fa.coordsys_body; + const int dst = fb.coordsys_body; + if (dst < 0) continue; // apply_mate already reports this one + + // (a) duplicate target: a second mate driving the same body + auto it = first_driver.find(dst); + if (it != first_driver.end()) { + int first_fi = it->second; + std::string first_name = features[first_fi].name.empty() ? "Mate" : features[first_fi].name; + std::string this_name = f.name.empty() ? "Mate" : f.name; + mate_conflicts.push_back({fi, + "Body " + std::to_string(dst + 1) + " is already positioned by '" + + first_name + "' (feature " + std::to_string(first_fi) + + ") — '" + this_name + "' overrides it; suppress one"}); + } else { + first_driver[dst] = fi; + } + + // (b) self-mate or cycle detection + if (src >= 0 && dst >= 0) { + if (src == dst) { + mate_conflicts.push_back({fi, + "this mate positions Body " + std::to_string(dst + 1) + " against itself"}); + } else { + graph[dst].push_back(src); + } + } + } + + // DFS cycle detection on the graph built above. + // ponytail: iterative DFS avoids recursion depth issues on long chains. + // Colour: 0 = unvisited, 1 = in-progress (grey), 2 = done (black). + std::map colour; + struct Frame { int node; size_t next; }; + std::vector stack; + + for (const auto& [start, _] : graph) { + if (colour[start] == 2) continue; + stack.clear(); + stack.push_back({start, 0}); + colour[start] = 1; + while (!stack.empty()) { + Frame& top = stack.back(); + auto git = graph.find(top.node); + if (git == graph.end() || top.next >= git->second.size()) { + colour[top.node] = 2; + stack.pop_back(); + continue; + } + int child = git->second[top.next++]; + if (colour[child] == 1) { + // Back edge found — find the mate whose (dst==top.node, src==child). + for (int fi = 0; fi < n; ++fi) { + const CadFeature& f = features[fi]; + if (f.type != CadFeatureType::Mate || !f.enabled) continue; + if (f.mate_cs_a < 0 || f.mate_cs_a >= n) continue; + if (f.mate_cs_b < 0 || f.mate_cs_b >= n) continue; + const CadFeature& fa2 = features[f.mate_cs_a]; + const CadFeature& fb2 = features[f.mate_cs_b]; + if (fa2.type != CadFeatureType::CoordSys || !fa2.enabled) continue; + if (fb2.type != CadFeatureType::CoordSys || !fb2.enabled) continue; + int sd = fb2.coordsys_body; + int ss = fa2.coordsys_body; + if (sd == top.node && ss == child) { + mate_conflicts.push_back({fi, + // Worded for ANY cycle length: "leads back" is true transitively, + // where "depends back on" would be a lie for a 3+ body chain. + "circular mate chain: Body " + std::to_string(top.node + 1) + + " depends on Body " + std::to_string(child + 1) + + ", which leads back to Body " + std::to_string(top.node + 1) + + " — the result depends on feature order"}); + break; + } + } + continue; + } + if (colour[child] == 0) { + colour[child] = 1; + stack.push_back({child, 0}); + } + } + } + + // Deliberately NOT in scope: computing the numeric disagreement between two mates + // ("Mate3 puts it at X=10, Mate7 at X=15"). That needs speculative per-mate evaluation. +} + +void CadDocument::apply_mate(std::vector& bodies, const CadFeature& f) const +{ + const int nc = int(features.size()); + if (f.mate_cs_a < 0 || f.mate_cs_a >= nc) + throw std::runtime_error("mate: mate_cs_a out of range"); + if (f.mate_cs_b < 0 || f.mate_cs_b >= nc) + throw std::runtime_error("mate: mate_cs_b out of range"); + + const CadFeature& fa = features[f.mate_cs_a]; + const CadFeature& fb = features[f.mate_cs_b]; + if (fa.type != CadFeatureType::CoordSys || !fa.enabled) + throw std::runtime_error("mate: mate_cs_a is not a valid CoordSys feature"); + if (fb.type != CadFeatureType::CoordSys || !fb.enabled) + throw std::runtime_error("mate: mate_cs_b is not a valid CoordSys feature"); + + CadDocument::DatumCoordSys A = datum_frame(bodies, fa); + CadDocument::DatumCoordSys B = datum_frame(bodies, fb); + if (!A.error.empty()) throw std::runtime_error("mate: " + A.error); + if (!B.error.empty()) throw std::runtime_error("mate: " + B.error); + + const int tgt_body = fb.coordsys_body; + if (tgt_body < 0) + throw std::runtime_error("mate: mate_cs_b has no associated body"); + if (tgt_body >= int(bodies.size()) || bodies[tgt_body].shape.IsNull()) + throw std::runtime_error("mate: target body out of range or null"); + + Vec3d xA(A.x), yA(A.y), oA(A.origin); + Vec3d zA = xA.cross(yA).normalized(); + Vec3d xB(B.x), yB(B.y), oB(B.origin); + Vec3d zB = xB.cross(yB).normalized(); + + auto make_4x4 = [&](const Vec3d& x, const Vec3d& y, const Vec3d& z, const Vec3d& o) { + gp_Trsf T; + T.SetValues(x.x(), y.x(), z.x(), o.x(), + x.y(), y.y(), z.y(), o.y(), + x.z(), y.z(), z.z(), o.z()); + return T; + }; + gp_Trsf M_A = make_4x4(xA, yA, zA, oA); + gp_Trsf M_B = make_4x4(xB, yB, zB, oB); + + gp_Trsf F; + if (f.mate_flip) { + // Rx(pi): flip y→-y, z→-z + F.SetValues(1, 0, 0, 0, + 0, -1, 0, 0, + 0, 0, -1, 0); + } + + gp_Trsf T; + if (f.mate_kind == 0) { + // Fastened: T = M_A * Rz(mate_angle) * Tz(mate_offset) * F * M_B^-1 + gp_Trsf Rz; + Rz.SetRotation(gp_Ax1(gp_Pnt(0,0,0), gp_Dir(0,0,1)), f.mate_angle * M_PI / 180.0); + gp_Trsf Tz; + Tz.SetTranslation(gp_Vec(0, 0, f.mate_offset)); + gp_Trsf M_B_inv = M_B.Inverted(); + T = M_A * Rz * Tz * F * M_B_inv; + } else { + Vec3d z_target = f.mate_flip ? -zA : zA; + + // Minimum-rotation helper: compute R that rotates zB onto z_target + // about an axis through oB. Reused by Planar / Revolute / Cylindrical. + auto make_z_align = [&](const Vec3d& zsrc, const Vec3d& zdst) -> gp_Trsf { + double ddot = zsrc.dot(zdst); + Vec3d rot_axis; + double rot_angle = 0; + if (ddot <= -0.9999) { + Vec3d ref = (std::abs(zsrc.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + rot_axis = zsrc.cross(ref).normalized(); + rot_angle = M_PI; + } else { + rot_axis = zsrc.cross(zdst); + if (rot_axis.squaredNorm() > 1e-18) { + rot_axis.normalize(); + rot_angle = std::acos(std::max(-1.0, std::min(1.0, ddot))); + } + } + gp_Trsf R; + if (rot_angle > 1e-12) { + R.SetRotation(gp_Ax1(gp_Pnt(oB.x(), oB.y(), oB.z()), + gp_Dir(rot_axis.x(), rot_axis.y(), rot_axis.z())), + rot_angle); + } + return R; + }; + + if (f.mate_kind == 1 || f.mate_kind == 2 || f.mate_kind == 4) { + // Planar (1) / Revolute (2) / Cylindrical (4): + // all share the same minimum-rotation z-alignment. + gp_Trsf R_align = make_z_align(zB, z_target); + + gp_Trsf Rz_about_target; + if (std::abs(f.mate_angle) > 1e-12) { + Rz_about_target.SetRotation( + gp_Ax1(gp_Pnt(oB.x(), oB.y(), oB.z()), + gp_Dir(z_target.x(), z_target.y(), z_target.z())), + f.mate_angle * M_PI / 180.0); + } + gp_Trsf R = Rz_about_target * R_align; + + // Translation: depends on which DOFs are constrained + Vec3d trans; + if (f.mate_kind == 1) { + // Planar: normal distance becomes mate_offset + double d = (oB - oA).dot(zA); + trans = zA * (f.mate_offset - d); + } else if (f.mate_kind == 2) { + // Revolute: full position on the axis line + trans = (oA + zA * f.mate_offset) - oB; + } else { + // Cylindrical (4): fix perpendicular, preserve axial + double axial = (oB - oA).dot(zA); + trans = (oA + zA * (axial + f.mate_offset)) - oB; + } + + T.SetValues(1, 0, 0, trans.x(), + 0, 1, 0, trans.y(), + 0, 0, 1, trans.z()); + T = T * R; + } else { + // Slider (mate_kind == 3): full orientation alignment, + // fix perpendicular position, preserve axial translation. + Vec3d x_target = xA; + Vec3d y_target = f.mate_flip ? -yA : yA; + + // R = target * B^T (both bases orthonormal) + double r11 = x_target.x() * xB.x() + y_target.x() * yB.x() + z_target.x() * zB.x(); + double r12 = x_target.x() * xB.y() + y_target.x() * yB.y() + z_target.x() * zB.y(); + double r13 = x_target.x() * xB.z() + y_target.x() * yB.z() + z_target.x() * zB.z(); + double r21 = x_target.y() * xB.x() + y_target.y() * yB.x() + z_target.y() * zB.x(); + double r22 = x_target.y() * xB.y() + y_target.y() * yB.y() + z_target.y() * zB.y(); + double r23 = x_target.y() * xB.z() + y_target.y() * yB.z() + z_target.y() * zB.z(); + double r31 = x_target.z() * xB.x() + y_target.z() * yB.x() + z_target.z() * zB.x(); + double r32 = x_target.z() * xB.y() + y_target.z() * yB.y() + z_target.z() * zB.y(); + double r33 = x_target.z() * xB.z() + y_target.z() * yB.z() + z_target.z() * zB.z(); + + // Build rotation about oB: R_full * p = R * (p - oB) + oB + double tx = oB.x() - (r11 * oB.x() + r12 * oB.y() + r13 * oB.z()); + double ty = oB.y() - (r21 * oB.x() + r22 * oB.y() + r23 * oB.z()); + double tz = oB.z() - (r31 * oB.x() + r32 * oB.y() + r33 * oB.z()); + gp_Trsf R_full; + R_full.SetValues(r11, r12, r13, tx, + r21, r22, r23, ty, + r31, r32, r33, tz); + + double axial = (oB - oA).dot(zA); + Vec3d trans = (oA + zA * (axial + f.mate_offset)) - oB; + + T.SetValues(1, 0, 0, trans.x(), + 0, 1, 0, trans.y(), + 0, 0, 1, trans.z()); + T = T * R_full; + } + } + + BRepBuilderAPI_Transform xform(bodies[tgt_body].shape, T, true /*copy*/); + if (!xform.IsDone()) throw std::runtime_error("mate: transform failed"); + bodies[tgt_body].shape = xform.Shape(); +} + +// Volume of a shape, 0 for anything that isn't a solid we can measure. Used to catch a +// subtraction that removed nothing (daf). +static double solid_volume(const TopoDS_Shape& s) +{ + if (s.IsNull()) return 0.0; + GProp_GProps props; + BRepGProp::VolumeProperties(s, props); + return std::abs(props.Mass()); +} + +void CadDocument::route_feature(std::vector& bodies, const CadFeature& f) const +{ + if (f.type == CadFeatureType::Plane) return; // datum plane: not part of the body pipeline + if (f.type == CadFeatureType::Axis) return; // datum axis + if (f.type == CadFeatureType::CoordSys) return; // datum coordinate system + if (f.type == CadFeatureType::Helix) return; // helical curve; consumed by Sweep + if (f.type == CadFeatureType::Boolean) { apply_boolean(bodies, f); return; } // body-body op + if (f.type == CadFeatureType::Cut) { apply_cut(bodies, f); return; } // plane-split body + if (f.type == CadFeatureType::Mirror) { apply_mirror(bodies, f); return; } // mirror body about plane + if (f.type == CadFeatureType::Transform) { apply_transform(bodies, f); return; } // move/rotate body + if (f.type == CadFeatureType::Mate) { apply_mate(bodies, f); return; } // assembly mate + if (f.type == CadFeatureType::Thicken) { apply_thicken(bodies, f); return; } // face -> plate + if (f.type == CadFeatureType::ThickenSurface) { apply_thicken_surface(bodies, f); return; } + if (f.type == CadFeatureType::SurfaceOffset) { apply_surface_offset(bodies, f); return; } + if (f.type == CadFeatureType::Project) return; // sketch-like: consumed downstream, no body + // Resolve the target body: explicit target_body when valid, else the last body. + const int t = (f.target_body >= 0 && f.target_body < int(bodies.size())) + ? f.target_body : int(bodies.size()) - 1; + const TopoDS_Shape context = (t >= 0) ? bodies[t].shape : TopoDS_Shape(); + // A New extrude (or the very first solid feature) starts a fresh body; everything else + // mutates the target body in place. + const bool starts_new = bodies.empty() + || f.type == CadFeatureType::Import // an imported solid is always its own base body + || f.type == CadFeatureType::SurfaceExtrude || f.type == CadFeatureType::SurfaceRevolve + || f.type == CadFeatureType::ThickenSurface || f.type == CadFeatureType::SurfaceOffset + || f.type == CadFeatureType::SurfaceLoft || f.type == CadFeatureType::SurfaceFill + || ((f.type == CadFeatureType::Extrude || f.type == CadFeatureType::Revolve + || f.type == CadFeatureType::Sweep || f.type == CadFeatureType::Loft) + && f.mode == BooleanMode::New); + + if (starts_new) { + TopoDS_Shape result; // empty -> apply_feature fills it (New path) + bool have_body = false; + apply_feature(result, have_body, context, f); + if (have_body && !result.IsNull()) + bodies.push_back({ result, f.name.empty() ? std::string("Body") : f.name }); + } else { + if (t < 0) throw std::runtime_error("feature needs a body"); + TopoDS_Shape result = bodies[t].shape; // shallow handle; apply_feature mutates it + bool have_body = true; + // A subtraction whose tool misses the target is a legal boolean that removes nothing, so + // OCCT reports IsDone() and the feature lands in the recipe reporting success. A caller — + // an agent especially — then has no signal at all that the hole it asked for was never + // drilled: same body, same volume, ok:true. Measure the volume across the op and refuse + // the no-op. Only for removals: every other feature type may legitimately leave the volume + // alone (a Transform certainly does). daf. + const bool removes = f.type == CadFeatureType::Hole + || f.type == CadFeatureType::Thread + || ((f.type == CadFeatureType::Extrude || f.type == CadFeatureType::Revolve + || f.type == CadFeatureType::Sweep || f.type == CadFeatureType::Loft) + && f.mode == BooleanMode::Cut); + const double before = removes ? solid_volume(result) : 0.0; + apply_feature(result, have_body, context, f); + if (removes && before > 0.0) { + const double after = solid_volume(result); + // Relative tolerance: a cut that shaves a numerically invisible sliver is a miss too, + // and an absolute epsilon would be wrong across the mm-to-metre range of real parts. + if (after >= before - 1e-9 * std::max(1.0, before)) + throw std::runtime_error(std::string( + f.type == CadFeatureType::Hole ? "hole" : + f.type == CadFeatureType::Thread ? "thread" : "cut") + + " removed no material — the tool does not intersect the target body" + " (coordinates are in the sketch plane's frame, not world)"); + } + bodies[t].shape = result; + } +} + +bool CadDocument::recompute() +{ + error.clear(); + detect_mate_conflicts(); + std::vector built; + // Did any feature in this document even ASK for a solid? A document made only of sketches + // and datums has nothing to build, and that is a legitimate state — it is every document + // between drawing the first profile and extruding it. Reporting it as a failure is what + // made a sketch-only design unsaveable AND unopenable: DesignPanel::recompute_guarded syncs + // the 3MF recipe only "on success", so nothing was written, and deserialize_recipe ends with + // `return recompute()`, so a project that did carry a recipe was refused on load with + // "Could not restore the CAD model" while its features sat correctly in the list. mtav. + bool any_solid_feature = false; + try { + // Parametric pass: evaluate document variables, then each feature's expression bindings, + // writing the results into the feature's numeric fields before geometry runs. + std::map varvals = evaluate_variables(variables); + for (CadFeature& f : features) + for (const auto& [field, e] : f.expr) + assign_field(f, field, eval_expr(e, varvals)); + for (size_t fi = 0; fi < features.size(); ++fi) { + CadFeature& f = features[fi]; + if (!f.enabled) continue; + if (f.type == CadFeatureType::Sketch) continue; // consumed by an extrude + if (f.type == CadFeatureType::Helix) continue; // consumed by Sweep as a path + if (f.type == CadFeatureType::Plane) continue; // datum: no solid, derived on demand + if (f.type == CadFeatureType::Axis) continue; // datum axis + if (f.type == CadFeatureType::CoordSys) continue; // datum coordinate system + // Past the skips: this feature is one that means to leave a body behind. + any_solid_feature = true; + if (f.type == CadFeatureType::Project) { apply_project(built, f); } + else { route_feature(built, f); } + // Record which feature made each body. "Still unset?" is the whole rule, and it is + // sufficient because of an invariant worth stating: NO feature ever replaces a whole + // CadBody. Every in-place op writes only `.shape` (boolean, cut, mirror-fuse, + // transform, dress-up — checked, all 8 sites), so an existing body keeps the stamp it + // was born with; a consumed body is erased outright, taking its stamp with it; and + // the only bodies still at -1 here are the ones THIS feature just pushed. That also + // means a feature type added later needs no change here, as long as it keeps to the + // same invariant. + for (CadBody& b : built) + if (b.source_feature < 0) + b.source_feature = int(fi); + } + } catch (const Standard_Failure& e) { + // OCCT raises Standard_Failure (NOT a std::exception) — must be caught + // here or it escapes the event handler and terminates the app. + error = e.GetMessageString() ? e.GetMessageString() : "OCCT operation failed"; + return false; + } catch (const std::exception& e) { + error = e.what(); + return false; + } catch (...) { + error = "unknown geometry error"; + return false; + } + if (built.empty() && any_solid_feature) { error = "no solid-producing features"; return false; } + + // A feature that leaves a body with a null shape must fail loudly. Until this existed, + // recompute() returned true and the document kept advertising the body: describe_scene + // counted it, error was empty, and only mass_properties on that specific body revealed + // anything was wrong. Returning false hands the caller its normal rollback path, so the + // operation that destroyed the body is undone rather than committed. + for (size_t i = 0; i < built.size(); ++i) { + if (!built[i].shape.IsNull()) continue; + const int src = built[i].source_feature; + // source_feature is -1 for a body no feature claims. "feature 0" would be a lie, and + // this message exists precisely to be trusted about which feature to look at. + const std::string fname = + (src < 0 || src >= int(features.size())) + ? std::string("an unidentified feature") + : (features[src].name.empty() ? ("feature " + std::to_string(src + 1)) + : features[src].name); + error = "body " + std::to_string(i + 1) + " was destroyed by " + fname + + " (the operation produced an empty shape)"; + return false; + } + + // recompute() replaces the bodies vector wholesale, which would drop any per-body + // colour override (Color tool). Body indices are stable across a rebuild (bodies are + // appended in feature order), so carry the override forward by index — same indexing + // contract the GUI relies on for per-body visibility/Move. + for (size_t i = 0; i < built.size() && i < bodies.size(); ++i) { + if (bodies[i].has_color) { + built[i].has_color = true; + built[i].color = bodies[i].color; + } + // ...and the name the user gave the body, for the same reason and by the same index + // contract. Without this a rename would live exactly until the next feature was added. + if (bodies[i].has_user_name) { + built[i].has_user_name = true; + built[i].user_name = bodies[i].user_name; + } + } + bodies = std::move(built); + // The face and edge maps have just been rebuilt, so every global id handed out before this + // point now means something else. Bump here rather than in each mutator: this is the single + // line where the topology is actually replaced, so it cannot be forgotten by a new feature + // type the way a per-mutator bump would be. + ++topo_generation; + + // Face-drift fingerprint for FaceAndDirection CoordSys connectors. This runs AFTER the + // bodies are final and APPENDS to mate_conflicts (detect_mate_conflicts() cleared it at + // the top of recompute() and must not run again here). A mismatch is a WARNING, not an + // error: a legitimate Draft on a mated face renumbers nothing but a real renumber after a + // dress-up silently points the connector at a different face, and that must not abort. + for (int fi = 0; fi < int(features.size()); ++fi) { + CadFeature& f = features[fi]; + if (!f.enabled) continue; + if (f.type != CadFeatureType::CoordSys) continue; + if (f.coordsys_type != CoordSysType::FaceAndDirection) continue; + if (f.coordsys_body < 0 || f.coordsys_body >= int(bodies.size())) continue; + TopoDS_Face face = GeometryEngine::face_by_index(bodies[f.coordsys_body].shape, f.coordsys_face); + if (face.IsNull()) continue; // "face not found" is already reported by datum_frame() + const int kind = int(BRepAdaptor_Surface(face).GetType()); + const int edges = int(GeometryEngine::edges_of_face(face).size()); + if (f.coordsys_face_kind < 0) { + // No fingerprint yet (old recipe, or a connector never resolved): adopt the state + // the user last saw. Self-heals old recipes on first load, and gives both existing + // writers the fingerprint for free. + f.coordsys_face_kind = kind; + f.coordsys_face_edges = edges; + continue; + } + if (f.coordsys_face_kind != kind || f.coordsys_face_edges != edges) { + mate_conflicts.emplace_back(int(fi), + "connector \"" + f.name + "\" may have moved to a different face " + "(an upstream edit renumbered this body's faces)"); + } + } + + body = compound_of(bodies); + display_mesh = tessellate_bodies(bodies, display_tri_face, display_tri_body, + display_body_meshes, + linear_deflection, angular_deflection); + if (display_mesh.its.indices.empty() && any_solid_feature) { + // Empty only because there are no bodies to tessellate is the same legitimate state as + // above: a sketch-only document has nothing to draw as a solid, and that is not a fault. + error = "tessellation produced an empty mesh"; + return false; + } + return true; +} + +bool CadDocument::preview(const CadFeature& candidate, TriangleMesh& out_mesh, + std::vector& out_body_meshes, std::string& err) const +{ + err.clear(); + out_body_meshes.clear(); + std::vector tmp = bodies; // start from the current committed bodies + try { + route_feature(tmp, candidate); // candidate may append a new body or mutate one + } catch (const Standard_Failure& e) { + err = e.GetMessageString() ? e.GetMessageString() : "OCCT operation failed"; + return false; + } catch (const std::exception& e) { + err = e.what(); + return false; + } catch (...) { + err = "unknown geometry error"; + return false; + } + if (tmp.empty()) { + err = "preview produced no geometry"; + return false; + } + // Tessellate per body (same path as recompute) so the GUI can re-apply its display-only + // per-body Move transforms to the ghost; out_mesh is the merged whole. + std::vector tf, tb; + out_mesh = tessellate_bodies(tmp, tf, tb, out_body_meshes, linear_deflection, angular_deflection); + if (out_mesh.its.indices.empty()) { + err = "preview produced an empty mesh"; + return false; + } + return true; +} + +bool CadDocument::preview(const CadFeature& candidate, TriangleMesh& out_mesh, std::string& err) const +{ + std::vector ignore; + return preview(candidate, out_mesh, ignore, err); +} + +std::string brep_to_string(const TopoDS_Shape& s) +{ + if (s.IsNull()) return {}; + std::ostringstream oss; + BRepTools::Write(s, oss); + return oss.str(); +} + +TopoDS_Shape brep_from_string(const std::string& d) +{ + if (d.empty()) return {}; + std::istringstream iss(d); + TopoDS_Shape s; + BRep_Builder b; + BRepTools::Read(s, iss, b); + return s; +} + +std::string CadDocument::serialize_recipe() const +{ + std::ostringstream oss; + { + cereal::BinaryOutputArchive ar(oss); + uint32_t v = ORCA_CAD_RECIPE_VERSION; + ar(v); + uint32_t n = static_cast(features.size()); + ar(n); + for (const CadFeature& f : features) { + std::ostringstream fos; + { + cereal::BinaryOutputArchive fa(fos); + fa(f); + } + std::string fb = fos.str(); + uint32_t len = static_cast(fb.size()); + ar(len); + ar(cereal::binary_data(fb.data(), fb.size())); + } + std::ostringstream vos; + { + cereal::BinaryOutputArchive va(vos); + va(variables); + } + std::string vb = vos.str(); + uint32_t vlen = static_cast(vb.size()); + ar(vlen); + ar(cereal::binary_data(vb.data(), vb.size())); + // BODY NAMES, appended after the variables block. Bodies are not serialised — they are + // recomputed — so a name the user gave one has nowhere else to live, and without this it + // would survive a recompute (see the carry-over in recompute()) but not a save. + // + // APPENDED RATHER THAN VERSION-BUMPED, on purpose: a build that predates this block + // reads features and variables, returns, and never looks at the trailing bytes, so its + // projects still open here AND this build's projects still open there. A version bump + // would have made every project written today unreadable by yesterday's build for the + // sake of one optional field. Written as (index, name) pairs so an unnamed body costs + // nothing. + // A map, not a vector of pairs: cereal's map support is already included here and its + // pair support is not, and one more include for one more field is not worth it. + std::map named; + for (uint32_t i = 0; i < bodies.size(); ++i) + if (bodies[i].has_user_name && !bodies[i].user_name.empty()) + named[i] = bodies[i].user_name; + std::ostringstream bos; + { + cereal::BinaryOutputArchive ba(bos); + ba(named); + } + std::string bb = bos.str(); + uint32_t blen = static_cast(bb.size()); + ar(blen); + ar(cereal::binary_data(bb.data(), bb.size())); + } + return oss.str(); +} + +bool CadDocument::deserialize_recipe(const std::string& blob) +{ + error.clear(); + try { + std::istringstream iss(blob); + cereal::BinaryInputArchive ar(iss); + uint32_t v; + ar(v); + if (v > ORCA_CAD_RECIPE_VERSION) { + error = "saved with a newer version of the Design tab (format v" + + std::to_string(v) + ", this build reads up to v" + + std::to_string(ORCA_CAD_RECIPE_VERSION) + ")"; + return false; + } + // The framed layout has been byte-identical since v5 (v6 advanced the stamp without + // touching the bytes), so every version from 5 up is read below. A future bump that DOES + // change the framing must exclude itself there — this is what forces that decision + // instead of letting a v7 blob be silently misread by the v5 reader. + static_assert(ORCA_CAD_RECIPE_VERSION <= 6, + "recipe version bumped: confirm the new version still uses the v5 framing"); + if (v >= 5) { + // Framed path: every feature is a length-prefixed self-contained cereal stream, so + // the same four lines handle BOTH directions of mismatch. Older file, newer build: + // the sub-stream ends early, fa(f) throws, and the fields already assigned are kept + // (cereal assigns sequentially, so a mid-list throw leaves the earlier fields set) + // while the rest default. Newer file, older build: the sub-stream has MORE bytes + // than this build knows how to read; it reads what it knows and simply stops, and + // the outer stream is unaffected because the length prefix was consumed in full. + features.clear(); + uint32_t count; + ar(count); + for (uint32_t i = 0; i < count; ++i) { + uint32_t len; + ar(len); + std::string buf(len, '\0'); + if (len > 0) + ar(cereal::binary_data(&buf[0], len)); // consume EXACTLY len bytes from the outer stream + CadFeature f; + try { + std::istringstream fs(buf); + cereal::BinaryInputArchive fa(fs); + fa(f); + } catch (...) { + // An OLDER file: the blob ran out before this build's field list did. Everything read + // so far is kept and the remaining fields stay at their defaults. Deliberately NOT an + // error — a field a project predates is not a corrupt project. + } + features.push_back(f); + } + variables.clear(); + uint32_t vlen; + ar(vlen); + std::string vbuf(vlen, '\0'); + if (vlen > 0) + ar(cereal::binary_data(&vbuf[0], vlen)); + try { + std::istringstream vs(vbuf); + cereal::BinaryInputArchive va(vs); + va(variables); + } catch (...) { + // Variables blob predates this build: keep what was read, default the rest. + } + // Body names, if this project carries them. A project written before the block + // simply ends here, so the read throws and there are no names — not an error. + std::map named; + try { + uint32_t blen; + ar(blen); + std::string bbuf(blen, '\0'); + if (blen > 0) + ar(cereal::binary_data(&bbuf[0], blen)); + std::istringstream bs(bbuf); + cereal::BinaryInputArchive ba(bs); + ba(named); + } catch (...) { + named.clear(); + } + // AFTER the rebuild, never before: recompute() replaces the bodies vector wholesale. + const bool ok = recompute(); + for (const auto& kv : named) + if (kv.first < bodies.size()) { + bodies[kv.first].has_user_name = true; + bodies[kv.first].user_name = kv.second; + } + return ok; + } + if (v == 4) { + // Pre-framing flat path, unchanged: v4 projects keep opening exactly as before. + ar(features); + ar(variables); + return recompute(); + } + // v < 4: the field lists for v2/v3 no longer exist in this code, so those files + // cannot be recovered here. This fix is for the future, not the past. + error = "saved with an older version of the Design tab (format v" + + std::to_string(v) + "); this project cannot be opened by this build"; + return false; + } catch (const Standard_Failure& e) { + const char* what = e.GetMessageString(); + error = std::string("CAD data could not be read") + + (what && *what ? ": " + std::string(what) : ""); + return false; + } catch (const std::exception& e) { + error = std::string("CAD data could not be read: ") + e.what(); + return false; + } catch (...) { + error = "CAD data could not be read"; + return false; + } +} + +bool CadDocument::export_step(const std::string& path, + const std::vector& body_xforms, + std::string& err) const +{ + err.clear(); + if (bodies.empty()) { err = "nothing to export"; return false; } + try { + // Compound every body at its displayed (Move-gizmo) position so the STEP matches + // what Commit ships. Move transforms are rigid, so gp_Trsf::SetValues is valid. + BRep_Builder bld; + TopoDS_Compound comp; + bld.MakeCompound(comp); + for (size_t i = 0; i < bodies.size(); ++i) { + if (bodies[i].shape.IsNull()) continue; + TopoDS_Shape s = bodies[i].shape; + if (i < body_xforms.size() && !body_xforms[i].isApprox(Transform3d::Identity())) { + const Transform3d& m = body_xforms[i]; + gp_Trsf t; + t.SetValues(m(0,0), m(0,1), m(0,2), m(0,3), + m(1,0), m(1,1), m(1,2), m(1,3), + m(2,0), m(2,1), m(2,2), m(2,3)); + s = BRepBuilderAPI_Transform(s, t, true).Shape(); + } + bld.Add(comp, s); + } + STEPControl_Writer writer; + if (writer.Transfer(comp, STEPControl_AsIs) != IFSelect_RetDone) { + err = "STEP transfer failed"; + return false; + } + if (writer.Write(path.c_str()) != IFSelect_RetDone) { + err = "cannot write STEP file"; + return false; + } + } catch (const Standard_Failure& e) { + err = e.GetMessageString() ? e.GetMessageString() : "OCCT failed to write STEP"; + return false; + } catch (const std::exception& e) { + err = e.what(); + return false; + } + return true; +} + +GeometryEngine::MassProps CadDocument::body_mass_properties(int body_index) const +{ + if (body_index < 0 || body_index >= int(bodies.size())) return {}; + return GeometryEngine::mass_properties(bodies[body_index].shape); +} + +int CadDocument::add_surface_extrude(int sketch_ref, double distance, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::SurfaceExtrude; + f.name = name; + f.sketch_ref = sketch_ref; + f.distance = distance; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_surface_revolve(int sketch_ref, double angle_deg, int axis, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::SurfaceRevolve; + f.name = name; + f.sketch_ref = sketch_ref; + f.revolve_angle = angle_deg; + f.revolve_axis = axis; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_surface_loft(const std::vector& profile_refs, bool ruled, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::SurfaceLoft; + f.name = name; + f.loft_profile_refs = profile_refs; + f.loft_ruled = ruled; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +int CadDocument::add_surface_fill(int sketch_ref, const std::string& name) +{ + CadFeature f; + f.type = CadFeatureType::SurfaceFill; + f.name = name; + f.sketch_ref = sketch_ref; + f.mode = BooleanMode::New; + features.push_back(f); + return int(features.size()) - 1; +} + +std::vector CadDocument::check_interference(double min_volume) const +{ + std::vector out; + const int n = int(bodies.size()); + + for (int i = 0; i < n; ++i) { + if (bodies[i].shape.IsNull() || is_sheet_shape(bodies[i].shape)) continue; + for (int j = i + 1; j < n; ++j) { + if (bodies[j].shape.IsNull() || is_sheet_shape(bodies[j].shape)) continue; + + double v = 0; + // A boolean that blows up on one pair must not lose the report for the others, + // and OCCT signals those as Standard_Failure, which is NOT a std::exception. + try { + BRepAlgoAPI_Common common(bodies[i].shape, bodies[j].shape); + common.Build(); + if (!common.IsDone()) continue; + const TopoDS_Shape s = common.Shape(); + if (s.IsNull()) continue; + GProp_GProps props; + BRepGProp::VolumeProperties(s, props); + v = std::abs(props.Mass()); + } catch (const Standard_Failure&) { + continue; + } + + // Bodies that merely touch share a face and enclose no volume, so the + // threshold is what separates contact from interference. + if (v > min_volume) out.push_back({i, j, v}); + } + } + return out; +} + +// ponytail: derived from the OCCT shape type; no stored flag, bodies aren't serialized anyway. +bool CadDocument::is_sheet_shape(const TopoDS_Shape& s) +{ + return !TopExp_Explorer(s, TopAbs_SOLID).More(); +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/CadDocument.hpp b/src/libslic3r/CAD/CadDocument.hpp new file mode 100644 index 0000000000..f62536384a --- /dev/null +++ b/src/libslic3r/CAD/CadDocument.hpp @@ -0,0 +1,776 @@ +#ifndef slic3r_CadDocument_hpp_ +#define slic3r_CadDocument_hpp_ + +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" // FaceGroup +#include "libslic3r/Color.hpp" // ColorRGBA (per-body display colour override) + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Slic3r { + +enum class CadFeatureType { Sketch, Extrude, Fillet, Chamfer, Hole, Thread, Shell, Revolve, Sweep, Pattern, Plane, Loft, Draft, Import, Boolean, Cut, Mirror, Axis, CoordSys, Helix, Transform, Thicken, Project, DeleteFace, Rib, SurfaceExtrude, SurfaceRevolve, ThickenSurface, SurfaceOffset, SurfaceLoft, SurfaceFill, Mate }; +enum class SketchShape { Rectangle, Circle }; +enum class PlaneType { Offset, Angle, Midplane, Tangent, TwoEdges, Coincident }; +enum class AxisType { TwoPoints, FaceNormal, CylinderCenterline, PlaneIntersection, AlongEdge }; +enum class CoordSysType { PointWorld, FaceAndDirection }; +enum class BooleanMode { New, Add, Cut, Intersect }; + +enum class ExtrudeEnd { Blind, Symmetric, TwoSided, ThroughAll, UpToFace, UpToVertex }; + +// Serialize a TopoDS_Shape to/from a BRep string (declared before CadFeature so its +// inline cereal save()/load() can resolve these non-dependent calls). +std::string brep_to_string(const TopoDS_Shape& s); +TopoDS_Shape brep_from_string(const std::string& d); + +struct CadFeature { + CadFeatureType type{CadFeatureType::Sketch}; + std::string name; + bool enabled{true}; + + // Sketch params (centered on the plane origin) + SketchShape shape{SketchShape::Rectangle}; + SketchPlane plane{SketchPlane::XY()}; + double width{20}; + double height{20}; + double radius{10}; + + // Real 2D sketch geometry (Onshape-style). When non-empty this takes + // precedence over the shape/width/height/radius enum path in build_sketch_wire. + SketchProfile profile; + + // Onshape-style multi-entity sketch geometry. When non-empty this takes + // precedence over both `profile` and the shape-enum path in build_sketch_wire. + std::vector entities; + + // 2D geometric constraints on `profile` (point indices). Solved in place. + std::vector constraints; + + // Onshape-style constraints on `entities` (Fase 4.2). Solved in place against + // entity endpoints. Used when `entities` is non-empty (the legacy `constraints` + // vector applies only to the `profile` path). + std::vector entity_constraints; + + // Imported rigid 2D art (Text glyphs / SVG vector paths) as filled regions. + // Each region: contour[0] = outer loop, contour[1..] = holes; points in + // plane (u,v) millimetres. Rendered as a sketch overlay and extruded via a + // faces-with-holes path (SketchEngine::make_extrude_regions) — deliberately + // NOT solver entities, so imported art contributes zero DoF and never + // pollutes the constraint solver / DoF readout. When non-empty it takes + // precedence over the entities/profile/shape paths in the Extrude case. + std::vector>> imported_regions; + + // Imported rigid 3D B-rep solid (STEP). When the feature type is Import this carries + // the OCCT shape verbatim — it is adopted as a base body in route_feature (no parametric + // recipe). Downstream face/edge features (fillet/chamfer/cut/shell/...) act on it like any + // other body. TopoDS_Shape is a cheap handle, so copying it through recompute/checkpoint + // snapshots is cheap. In-session only for now (no BRep serialization yet). + TopoDS_Shape imported_solid; + + // Non-destructive placement transform for imported_regions (Text/SVG), + // applied at display + extrude time as + // p -> (p.x*import_scale_x + import_offset.x, p.y*import_scale_y + import_offset.y). + // Lets the art be moved / enlarged / stretched (independent X/Y) repeatedly + // without re-vectorising. Identity = no change. + Vec2d import_offset{0, 0}; + double import_scale_x{1.0}; + double import_scale_y{1.0}; + // Text/SVG dropped ONTO a solid face (centred on it): the extrude then defaults to an + // inward Cut (engraving) targeting `import_face_body`. False = free art on a plane. + bool import_on_face{false}; + int import_face_body{-1}; + + // Extrude params + int sketch_ref{-1}; // index into features[] of the consumed sketch + double distance{10}; + bool symmetric{false}; + BooleanMode mode{BooleanMode::New}; + ExtrudeEnd extrude_end{ExtrudeEnd::Blind}; + double distance2{0}; // second-side depth for TwoSided + double taper_deg{0}; // draft angle (C4-part2) + bool flip{false}; // reverse the extrude direction (negate plane normal) + int up_to_face{-1}; // target solid-face id for UpToFace (C4-part2) + int extrude_src_face{-1}; // global face id on the current body to extrude as a profile; -1 = use sketch wire + Vec3d up_to_point{0,0,0}; // target for UpToVertex (C4-part2) + // Multi-body target: which body (index into CadDocument::bodies) this feature acts on. + // -1 = auto (last body). A New extrude appends a fresh body; Add/Cut/Intersect, dress-up, + // hole and face-extrude(non-New) mutate bodies[target]; face-extrude reads its source + // face from bodies[target] too. The source-face owner for face-extrude lives here. + int target_body{-1}; + + // Dress-up params (Fillet/Chamfer) — applied to the current body in order + double dressup_size{1.0}; // fillet radius or chamfer distance + FaceGroup face_group{FaceGroup::All}; + int dressup_edge{-1}; // global edge id for edge-targeted fillet/chamfer; -1 = use face_group + + // Hole params (positioned circular cut into the current body) + double hole_diameter{5}; + double hole_depth{10}; + bool hole_through{true}; // true = symmetric through-cut, ignores hole_depth + double hole_x{0}; // position on the plane (plane u/x axis) + double hole_y{0}; // position on the plane (plane v/y axis) + + // Hole standards library (extends the plain bore above). + // hole_style: 0 = simple, 1 = counterbore, 2 = countersink. + int hole_style{0}; + double hole_cbore_diameter{0}; // counterbore cylinder diameter (mm), style==1 + double hole_cbore_depth{0}; // counterbore depth from the entry face (mm), style==1 + double hole_csink_diameter{0}; // countersink major diameter at entry face (mm), style==2 + double hole_csink_angle{90}; // countersink included angle (degrees), style==2 + std::string hole_standard; // provenance only, e.g. "M6" / "1/4-20"; not used by geometry + + // Thread params (helical thread about the plane normal at a positioned point) + double thread_radius{5}; // nominal cylinder radius + double thread_pitch{2}; // axial advance per turn + double thread_height{10}; // total axial length + double thread_depth{1}; // radial crest depth of the thread profile + bool thread_internal{false}; // false = external threaded rod (New body); + // true = tapped bore cut into the current body + double thread_x{0}; // axis position on the plane (u/x axis) + double thread_y{0}; // axis position on the plane (v/y axis) + + // Shell params (hollow the current body to a wall thickness, removing one open face) + double shell_thickness{2}; // wall thickness (inward offset) + int shell_face{-1}; // global face id to remove (open the shell); -1 = none + + // Draft params (taper a single solid face about a neutral plane = body bbox bottom, pull +Z) + int draft_face{-1}; // global face id to draft; -1 = none + double draft_angle{5}; // draft angle in degrees (signed: + leans the face inward) + + // Revolve params (sweep a profile about an in-plane axis through the plane origin). + // Reuses sketch_ref / entities (profile), flip (direction), mode (boolean) and + // target_body. revolve_axis: 0 = plane X axis, 1 = plane Y axis. + double revolve_angle{360}; // sweep angle in degrees (1..360) + int revolve_axis{0}; // 0 = plane X, 1 = plane Y + + // Sweep: profile carried by sketch_ref / entities (like Extrude); the spine is a + // second Sketch referenced by sweep_path_ref (an open or closed wire). Reuses + // mode (boolean) and target_body. + int sweep_path_ref{-1}; // index into features[] of the path Sketch + + // Loft: build a solid through 2+ closed profile Sketches (loft_profile_refs, in + // order, each on its own plane). loft_ruled=false → smooth sections, true → ruled. + // Reuses mode (boolean) and target_body. + std::vector loft_profile_refs; // ordered indices into features[] of profile Sketches + bool loft_ruled{false}; + + // Pattern: replicate the target body, copies fused into it. pattern_circular=false + // → linear (pattern_count instances spaced pattern_spacing along plane axis + // pattern_dir: 0=X, 1=Y); true → circular (pattern_count instances over + // pattern_angle° total about the plane normal through the plane origin, so a seed + // offset from the origin orbits the axis). Reuses target_body + plane. + bool pattern_circular{false}; + int pattern_count{3}; // total instances incl. the seed (>=1) + double pattern_spacing{20}; // linear step (mm) + int pattern_dir{0}; // linear direction: 0 = plane X, 1 = plane Y + double pattern_angle{360}; // circular total angle (degrees) + + // Pattern along a curve: when pattern_curve_sketch >= 0 this mode takes precedence over + // linear/circular. Copies are placed at equal-parameter points along entity + // pattern_curve_entity of sketch pattern_curve_sketch, translated by (P_i - P_0). + int pattern_curve_sketch{-1}; // feature index of the Sketch holding the guide curve + int pattern_curve_entity{-1}; // entity index of the guide curve within that sketch + + // Parametric bindings: field-member-name -> expression string. On recompute() each entry + // is evaluated against the document variables and written into the named numeric field + // BEFORE geometry runs. Empty (the common case) means the feature uses its literal fields. + std::map expr; + + // Datum/reference plane: a derived SketchPlane the document offers as a selectable + // sketch plane (no solid). plane_base selects the reference (0=XY,1=XZ,2=YZ, or 3+N + // = the Nth earlier datum plane); plane_offset shifts along the base normal; + // plane_angle tilts plane_angle° about the base axis plane_axis (0=base X, 1=base Y). + int plane_base{0}; + double plane_offset{20}; + double plane_angle_tilt{0}; // degrees (named *_tilt to avoid clash w/ revolve) + int plane_axis{0}; // tilt axis: 0 = base X, 1 = base Y + PlaneType plane_type{PlaneType::Offset}; + int plane_face_body{-1}; + int plane_face{-1}; + int plane_face2_body{-1}; + int plane_face2{-1}; + int plane_edge_body{-1}; + int plane_edge{-1}; + int plane_edge2_body{-1}; + int plane_edge2{-1}; + double plane_u_size{60}; + double plane_v_size{60}; + + // Boolean: combine two EXISTING bodies. `mode` reuses BooleanMode (Add = union, + // Cut = subtract tool from target, Intersect = keep overlap; New unused). `target_body` + // is the body that survives (result written back to it); `bool_tool_body` is the other + // operand, consumed (erased) unless `bool_keep_tool`. `bool_tolerance` = OCCT fuzzy value + // (0 = exact). Per-face merge: when both bool_target_face/bool_tool_face are set, the tool + // is first snapped so those two faces are coincident (gap closed within bool_tolerance), + // then the boolean welds them and coplanar faces are unified into one clean face. + int bool_tool_body{-1}; + bool bool_keep_tool{false}; + double bool_tolerance{0.0}; + int bool_target_face{-1}; // global face id on the target body to mate (-1 = none) + int bool_tool_face{-1}; // global face id on the tool body to mate (-1 = none) + + // Cut: split one target body with a plane, keeping the upper half, lower half, or both. + // Reuses `plane` for the cut plane and `target_body` for which body is cut. + double cut_offset{0.0}; // offset along the cut-plane normal (mm) + bool cut_flip{false}; // flip the normal => swaps which side is "upper" + bool cut_keep_upper{true}; // keep the +normal half + bool cut_keep_lower{false}; // keep the -normal half (both => split into two bodies) + + // Mirror: reflect a body about a plane. Reuses `plane` (mirror plane, as Cut does), + // `target_body` (body to mirror), and `mode` (New = separate mirrored copy, + // Add = fuse the mirror back into the source). mirror_keep_original decides whether + // the source body survives when mode is New. + bool mirror_keep_original{true}; + + // Datum axis: reference line (no solid). Construction params stored; resolve_datum_axes() + // computes the world-space origin + unit direction on demand. + AxisType axis_type{AxisType::TwoPoints}; + Vec3d axis_p1{0, 0, 0}; + Vec3d axis_p2{0, 0, 10}; + int axis_body{-1}; + int axis_face{-1}; + int axis_edge{-1}; + int axis_plane_a{-1}; + int axis_plane_b{-1}; + + // Datum coordinate system (no solid). Stored as point + two orthonormal axes. + CoordSysType coordsys_type{CoordSysType::PointWorld}; + Vec3d coordsys_point{0, 0, 0}; + int coordsys_body{-1}; + int coordsys_face{-1}; + int coordsys_edge{-1}; + Vec3d coordsys_x_hint{1, 0, 0}; + + // Fingerprint of the face this connector was bound to, for drift detection. -1 = not yet + // recorded (an old recipe, or a connector that has never resolved). + // + // Surface TYPE and EDGE COUNT specifically, because they survive every legitimate edit: + // Transform moves the body, Draft tilts the face, a dimension change resizes it, and none + // of those change either value. Centroid, area and normal all fail that test — see the + // issue. The cost is that a slide from one planar 4-edge face to another planar 4-edge face + // is invisible; a detector that never cries wolf is worth more here than a total one. + int coordsys_face_kind{-1}; // GeomAbs_SurfaceType as int + int coordsys_face_edges{-1}; // number of edges bounding the face + + // Helix curve params (consumed as a sweep path to build springs/coils/augers). + // Axis = plane normal through plane origin. pitch = axial rise per full turn. + // left_handed flips the winding direction. taper_deg != 0 gives a conical helix. + double helix_radius{10}; + double helix_pitch{5}; + double helix_height{20}; + bool helix_left_handed{false}; + double helix_taper_deg{0}; + + // Transform feature: rigid move/rotate of an existing body. Rotation is applied + // first (about xf_axis through xf_pivot), then the translation. + Vec3d xf_translate{0, 0, 0}; + Vec3d xf_axis{0, 0, 1}; + Vec3d xf_pivot{0, 0, 0}; + double xf_angle_deg{0}; + bool xf_copy{false}; // true: keep the original, append the moved copy as a new body + + // Thicken feature: offset one face of an existing body into a new thin solid body. + // The face belongs to `target_body`; the offset runs along the face normal. + int thicken_face{-1}; // global face id on the target body; -1 = invalid + double thicken_thickness{2}; // wall thickness (always used as |value|) + bool thicken_flip{false}; // true: offset against the face normal + + // Cut-by-face: when cut_face >= 0, apply_cut derives the cut plane from this face + // (via SketchPlane::from_face) instead of the base `plane`. cut_offset / cut_flip + // still apply along the derived normal. + int cut_face_body{-1}; // body owning the face; -1 = the target body + int cut_face{-1}; // global face id to cut along; -1 = use `plane` + + // Project feature: convert edges of an existing solid into sketch entities on `plane`. + int project_source_body{-1}; // body owning the edges; -1 = last body + std::vector project_edges; // global edge ids to project; empty => use project_face + int project_face{-1}; // if project_edges empty, project every edge of this face + + // Direct edit: faces to remove (global face indices into target_body's shape), + // healed via BRepAlgoAPI_Defeaturing. + std::vector delete_faces; + + // Rib: a thin wall grown from an open sketch line, fused to the body. + int rib_sketch_ref{-1}; // feature index of the Sketch holding the profile + int rib_entity{-1}; // index of the open Line entity within that sketch + double rib_thickness{2}; // wall thickness (mm), centred on the line + double rib_depth{10}; // extrude distance along the sketch-plane normal (mm) + + // --- Mate (assembly) --- + // 0 Fastened — all 6 DOF fixed: B's frame is driven onto A's exactly. + // 1 Planar — z axes aligned, normal distance set to mate_offset; in-plane position free. + // 2 Revolute — axes collinear, position on the axis fixed; rotation about z free. + // 3 Slider — orientation fully fixed, perpendicular position fixed; axial slide free. + // 4 Cylindrical— axes collinear, perpendicular fixed; both spin and axial slide free. + // A "free" DOF is preserved from the body's current placement, not zeroed. + int mate_kind{0}; + int mate_cs_a{-1}; // feature index of the FIXED CoordSys (mate connector A) + int mate_cs_b{-1}; // feature index of the CoordSys on the body that MOVES + double mate_offset{0}; // translation along A's z, mm + double mate_angle{0}; // rotation about A's z, degrees + bool mate_flip{false}; // oppose the two z axes (face-to-face) + + template + void save(Archive& ar) const { + std::string brep = (type == CadFeatureType::Import) ? brep_to_string(imported_solid) : std::string(); + ar(type, name, enabled, shape, plane, width, height, radius, + profile, entities, constraints, entity_constraints, imported_regions, + import_offset, import_scale_x, import_scale_y, import_on_face, import_face_body, + sketch_ref, distance, symmetric, mode, extrude_end, distance2, taper_deg, flip, + up_to_face, extrude_src_face, up_to_point, target_body, + dressup_size, face_group, dressup_edge, + hole_diameter, hole_depth, hole_through, hole_x, hole_y, + thread_radius, thread_pitch, thread_height, thread_depth, thread_internal, thread_x, thread_y, + shell_thickness, shell_face, + draft_face, draft_angle, + revolve_angle, revolve_axis, + sweep_path_ref, loft_profile_refs, loft_ruled, + pattern_circular, pattern_count, pattern_spacing, pattern_dir, pattern_angle, + plane_base, plane_offset, plane_angle_tilt, plane_axis, + bool_tool_body, bool_keep_tool, bool_tolerance, bool_target_face, bool_tool_face, + cut_offset, cut_flip, cut_keep_upper, cut_keep_lower, + brep, + plane_type, plane_face_body, plane_face, plane_face2_body, plane_face2, + plane_edge_body, plane_edge, plane_edge2_body, plane_edge2, plane_u_size, plane_v_size, + mirror_keep_original, + axis_type, axis_p1, axis_p2, axis_body, axis_face, axis_edge, axis_plane_a, axis_plane_b, + coordsys_type, coordsys_point, coordsys_body, coordsys_face, coordsys_edge, coordsys_x_hint, + helix_radius, helix_pitch, helix_height, helix_left_handed, helix_taper_deg, + xf_translate, xf_axis, xf_pivot, xf_angle_deg, xf_copy, + thicken_face, thicken_thickness, thicken_flip, + cut_face_body, cut_face, + project_source_body, project_edges, project_face, + delete_faces, + hole_style, hole_cbore_diameter, hole_cbore_depth, + hole_csink_diameter, hole_csink_angle, hole_standard, + rib_sketch_ref, rib_entity, rib_thickness, rib_depth, + pattern_curve_sketch, pattern_curve_entity, + expr, + mate_kind, mate_cs_a, mate_cs_b, mate_offset, mate_angle, mate_flip, + coordsys_face_kind, coordsys_face_edges); + } + template + void load(Archive& ar) { + std::string brep; + ar(type, name, enabled, shape, plane, width, height, radius, + profile, entities, constraints, entity_constraints, imported_regions, + import_offset, import_scale_x, import_scale_y, import_on_face, import_face_body, + sketch_ref, distance, symmetric, mode, extrude_end, distance2, taper_deg, flip, + up_to_face, extrude_src_face, up_to_point, target_body, + dressup_size, face_group, dressup_edge, + hole_diameter, hole_depth, hole_through, hole_x, hole_y, + thread_radius, thread_pitch, thread_height, thread_depth, thread_internal, thread_x, thread_y, + shell_thickness, shell_face, + draft_face, draft_angle, + revolve_angle, revolve_axis, + sweep_path_ref, loft_profile_refs, loft_ruled, + pattern_circular, pattern_count, pattern_spacing, pattern_dir, pattern_angle, + plane_base, plane_offset, plane_angle_tilt, plane_axis, + bool_tool_body, bool_keep_tool, bool_tolerance, bool_target_face, bool_tool_face, + cut_offset, cut_flip, cut_keep_upper, cut_keep_lower, + brep, + plane_type, plane_face_body, plane_face, plane_face2_body, plane_face2, + plane_edge_body, plane_edge, plane_edge2_body, plane_edge2, plane_u_size, plane_v_size, + mirror_keep_original, + axis_type, axis_p1, axis_p2, axis_body, axis_face, axis_edge, axis_plane_a, axis_plane_b, + coordsys_type, coordsys_point, coordsys_body, coordsys_face, coordsys_edge, coordsys_x_hint, + helix_radius, helix_pitch, helix_height, helix_left_handed, helix_taper_deg, + xf_translate, xf_axis, xf_pivot, xf_angle_deg, xf_copy, + thicken_face, thicken_thickness, thicken_flip, + cut_face_body, cut_face, + project_source_body, project_edges, project_face, + delete_faces, + hole_style, hole_cbore_diameter, hole_cbore_depth, + hole_csink_diameter, hole_csink_angle, hole_standard, + rib_sketch_ref, rib_entity, rib_thickness, rib_depth, + pattern_curve_sketch, pattern_curve_entity, + expr, + mate_kind, mate_cs_a, mate_cs_b, mate_offset, mate_angle, mate_flip, + coordsys_face_kind, coordsys_face_edges); + imported_solid = brep_from_string(brep); + } +}; + +// Serialize a TopoDS_Shape to/from a BRep string for cereal persistence. +std::string brep_to_string(const TopoDS_Shape& s); +TopoDS_Shape brep_from_string(const std::string& d); + +// One independent solid in a multi-body document. +struct CadBody { + TopoDS_Shape shape; + std::string name; + // The name the USER gave this body. A body is NOT its first feature: an Extrude, a Cut and + // a Fillet all land on the same body, so renaming `source_feature` renames one operation in + // the history, not the object — which is exactly the bug this field exists to end. `name` + // above is the DERIVED label (the maker's name, restamped every recompute) and stays that; + // this one is set only by a rename, carried across recompute() by body index, and written + // into the recipe so it survives save/load. + bool has_user_name{false}; + std::string user_name; + // Per-body display colour override (Color tool). When has_color is false the GUI + // falls back to the auto body-index palette. Carried across recompute() by body index. + bool has_color{false}; + ColorRGBA color; + // Index into `features` of the feature that CREATED this body, or -1. A body is a + // recomputed result, so without this there is no way back to its maker and "delete this + // body" cannot be expressed at all — the GUI could only answer "select the FEATURE that + // created this body". Stamped in one place, the recompute loop; see the note there for + // why a single "still unset?" test is sufficient and stays correct for new feature types. + int source_feature{-1}; +}; + +// OCCT-only feature tree backing the Design tab. No GUI dependencies (lives in libslic3r). +class CadDocument { +public: + std::vector features; + // Named document variables: name -> expression. Evaluated topologically each recompute(); + // an expression may reference other variables. Feature `expr` bindings resolve against these. + std::map variables; + // Multi-body result of the last replay. A "New" extrude appends a body; other ops + // mutate a target body. Empty after a failed/empty recompute. + std::vector bodies; + TopoDS_Shape body; // compound of all bodies (1 body => that body) — display/compat + TriangleMesh display_mesh; // tessellation of all bodies, concatenated (picking) + std::vector display_body_meshes; // one mesh per body, in `bodies` order (per-body color) + std::vector display_tri_face; // per-triangle face id WITHIN its source body + std::vector display_tri_body; // per-triangle source body index (into bodies) + std::string error; // last recompute error ("" = ok) + + // Mate diagnostics, refilled by every recompute(). Non-fatal by design: the + // document still evaluates — this only names what the user should look at. + // .first = index of the offending Mate feature, .second = human-readable reason. + // NOT "over-constraint" — this kernel has no solver, so there is no DOF analysis + // behind these; they are graph facts about which mate drives which body. + std::vector> mate_conflicts; + + // Modeling origin: the world point the default XY/XZ/YZ planes pass through. The GUI sets this + // to the bed centre so sketches/datums land in the middle of the bed (not the bed corner = + // world 0). Not serialized — the GUI re-applies it from the live bed on every tab show. + Vec3d modeling_origin{Vec3d::Zero()}; + + // Tessellation quality, matched to Orca's OWN STEP importer (Format/STEP.hpp defaults: + // linear 0.003, angular 0.5 rad) so a body modelled here reaches the screen at the same + // density as the identical body imported through Prepare. It was 0.01 linear — 3.3x coarser + // than anything else in the app, which is why curved faces read as faceted next to an + // imported part. Angular already matched. Same BRepMesh_IncrementalMesh call, same GLVolume + // path, same shaders: the renderer was never the difference, the mesh fed to it was. + double linear_deflection{0.003}; + double angular_deflection{0.5}; + + int add_sketch(SketchShape shape, const SketchPlane& plane, + double width, double height, double radius, + const std::string& name); + int add_sketch_profile(const SketchProfile& profile, const SketchPlane& plane, + const std::string& name); + // Onshape-style multi-entity sketch: stores the entity list verbatim. When + // non-empty it takes precedence over profile/enum in build_sketch_wire. + int add_sketch_entities(const std::vector& entities, + const SketchPlane& plane, const std::string& name, + const std::vector& constraints = {}); + // Project edges of source_body onto plane, producing a sketch feature whose + // entities are (re)derived on every recompute. + int add_project_edges(int source_body, const std::vector& edge_ids, int face, + const SketchPlane& plane, const std::string& name); + // Onshape's "Use" / SolidWorks' "Convert Entities": project a body's edges onto the plane of + // an EXISTING sketch feature and append them to that sketch as CONSTRUCTION entities, so new + // geometry can be constrained to them. Returns the number of entities appended, or -1 if the + // sketch or body reference is invalid. Unlike add_project_edges this creates no feature: the + // references become part of the sketch that borrows them. + int project_edges_into_sketch(int sketch_feature, int source_body, + const std::vector& edge_ids, int face); + // Append a bridging BSpline entity connecting endpoint `end_a` of entity `ent_a` to + // endpoint `end_b` of entity `ent_b`, both within sketch feature `sketch_ref`. Returns + // the new entity's index within that sketch's entities vector. Non-parametric: computed + // once from the current endpoints (does not auto-follow later solver moves). + int add_bridge(int sketch_ref, int ent_a, int end_a, int ent_b, int end_b, + const std::string& name); + // Solve features[index]'s sketch constraints, writing solved coordinates back + // into its profile.points. No-op (returns true) if the feature has no + // constraints. Returns false if index is invalid / not a Sketch / solve fails. + bool solve_sketch_feature(int index); + int add_extrude(int sketch_ref, double distance, bool symmetric, + BooleanMode mode, const std::string& name); + // Extrude a single loop given directly as entities (sketch_ref = -1, plane carried). + int add_extrude_entities(const std::vector& entities, + const SketchPlane& plane, double distance, bool symmetric, + BooleanMode mode, const std::string& name); + // Extrude an existing solid FACE (global face id on the body) as the profile. + int add_extrude_face(int src_face, double distance, bool symmetric, + BooleanMode mode, const std::string& name); + int add_fillet(double radius, FaceGroup faces, const std::string& name); + int add_fillet(double radius, int edge_id, const std::string& name); + int add_chamfer(double distance, FaceGroup faces, const std::string& name); + int add_chamfer(double distance, int edge_id, const std::string& name); + int add_hole(double diameter, double depth, bool through, + double x, double y, const SketchPlane& plane, + const std::string& name); + int add_hole_styled(double diameter, double depth, bool through, + double x, double y, const SketchPlane& plane, int style, + double cbore_diameter, double cbore_depth, + double csink_diameter, double csink_angle, + const std::string& standard, const std::string& name); + int add_hole_standard(const std::string& designation, int style, bool through, + double depth, double x, double y, + const SketchPlane& plane, const std::string& name); + int add_thread(double radius, double pitch, double height, double depth, + bool internal, double x, double y, const SketchPlane& plane, + const std::string& name); + int add_revolve(int sketch_ref, double angle, int axis, bool flip, + BooleanMode mode, const std::string& name); + // Self-contained revolve of a single loop given directly as entities (sketch_ref=-1). + int add_revolve_entities(const std::vector& entities, + const SketchPlane& plane, double angle, int axis, bool flip, + BooleanMode mode, const std::string& name); + // Sweep the profile Sketch (profile_sketch_ref) along the path Sketch (path_sketch_ref). + int add_pattern(bool circular, int count, double spacing, int dir, + double angle_deg, int target_body, const std::string& name); + // Pattern `count` copies of `target` along entity `curve_entity` of sketch `curve_sketch`. + int add_pattern_on_curve(int count, int curve_sketch, int curve_entity, int target, + const std::string& name); + int add_sweep(int profile_sketch_ref, int path_sketch_ref, BooleanMode mode, + const std::string& name); + // Loft through the ordered profile Sketches (each a closed wire on its own plane). + int add_loft(const std::vector& profile_refs, bool ruled, BooleanMode mode, + const std::string& name); + // Skin 2+ profile sketches open (no end caps) -> a sheet body. + int add_surface_loft(const std::vector& profile_refs, bool ruled, const std::string& name); + // Fill sketch sketch_ref's closed boundary wire with a smooth face -> a one-face sheet body. + int add_surface_fill(int sketch_ref, const std::string& name); + int add_shell(double thickness, int face, int target_body, const std::string& name); + // Grow a thin rib wall (thickness, depth) from the open Line entity `entity` inside sketch + // feature `sketch_ref`, fused to `target_body`. Returns the new feature index. + int add_rib(int sketch_ref, int entity, double thickness, double depth, + int target_body, const std::string& name); + int add_draft(double angle, int face, int target_body, const std::string& name); + // Boolean between two existing bodies. op reuses BooleanMode (Add=union, Cut=subtract, + // Intersect=common; New invalid). target survives, tool is consumed unless keep_tool. + // tolerance = OCCT fuzzy value; target_face/tool_face (-1 = none) drive the per-face snap+merge. + int add_boolean(BooleanMode op, int target_body, int tool_body, bool keep_tool, + double tolerance, int target_face, int tool_face, const std::string& name); + // Plane Cut (Onshape split-by-plane): trim target_body by the plane (origin offset along + // its normal by `offset`, normal flipped iff `flip`). keep_upper/keep_lower select the + // +normal / -normal half; both => the body is split into two coexisting bodies. + int add_cut(const SketchPlane& plane, double offset, bool flip, + bool keep_upper, bool keep_lower, int target_body, const std::string& name); + // Split target_body along the plane of face `face` (owned by face_body, -1 = target). + // keep_upper/keep_lower select which half survives; both => split into two bodies. + int add_split_by_face(int target_body, int face_body, int face, + bool keep_upper, bool keep_lower, const std::string& name); + int add_mirror(const SketchPlane& plane, int target_body, BooleanMode mode, + const std::string& name); + // Rigid body transform: rotate `angle_deg` about `axis` through `pivot`, then translate. + // copy=true keeps the source body and appends the transformed one as a new body. + int add_transform(int target_body, const Vec3d& translate, const Vec3d& axis, + const Vec3d& pivot, double angle_deg, bool copy, const std::string& name); + // Offset face `face` of `target_body` by `thickness` along its normal, producing a new + // thin solid appended as a new body. flip=true offsets against the normal. + int add_thicken(int target_body, int face, double thickness, bool flip, const std::string& name); + // Thicken an entire SHEET body's shell into a solid. + int add_thicken_surface(int target_body, double thickness, bool flip, const std::string& name); + // Offset a SHEET body's shell by a signed distance, producing another SHEET body. + int add_surface_offset(int target_body, double offset, const std::string& name); + int add_delete_face(int target_body, const std::vector& faces, + const std::string& name); + int add_surface_extrude(int sketch_ref, double distance, const std::string& name); + int add_surface_revolve(int sketch_ref, double angle_deg, int axis, const std::string& name); + // Datum plane: derived from base (0=XY/1=XZ/2=YZ/3+N=Nth earlier datum), offset + // along its normal, optional tilt about a base axis. Produces no solid. + int add_plane(int base, double offset, double angle_tilt, int axis, + const std::string& name); + // Datum axis: construction method axis_type determines which ref fields are read. + int add_axis(AxisType axis_type, const std::string& name); + // Datum coordinate system. + int add_coordsys(CoordSysType type, const Vec3d& point, const std::string& name); + int add_mate(int kind, int cs_a, int cs_b, double offset, double angle_deg, bool flip, + const std::string& name); + + // Which mate types apply to a connector pair, as reported to the viewport palette. + struct MateOption { + int kind{0}; // 0..4, the five mate types in CadDocument.hpp:308-314 + bool viable{true}; + std::string reason; // empty when viable; why not, when not + }; + // ALWAYS all five entries, ALWAYS in kind order. Never filtered: the caller dims what is + // not viable rather than hiding it, so the list must be stable in length and order between + // calls. Pure query over existing data — records nothing, mutates nothing. + std::vector mate_options(int cs_a, int cs_b) const; + + int add_helix(const SketchPlane& plane, double radius, double pitch, double height, + bool left_handed, double taper_deg, const std::string& name); + // Build the helix wire from a Helix feature's params (exposed for tests). + TopoDS_Wire build_helix_wire(const CadFeature& f, std::string& err) const; + // Every datum plane currently in the recipe, in feature order, as (name, plane). + // Used by the GUI to populate plane pickers (after the 3 base planes). + std::vector> resolve_datum_planes() const; + + // World-space sketch plane lying on a body's PLANAR face, so a face picked in the viewport can + // be sketched on directly — no datum plane in between and nothing to choose from a list. + // Returns false when the indices don't resolve or the face isn't planar (a cylinder or a fillet + // has no single plane, and guessing one from a mid-parameter normal would silently sketch on a + // tangent). Same derivation the Coincident datum method uses, shared so the two cannot drift. + bool plane_of_face(int body_idx, int face_idx, SketchPlane& out) const; + // Resolved datum axes in feature order. axis_err is non-empty if construction failed. + struct DatumAxis { std::string name; Vec3d origin{0,0,0}; Vec3d direction{0,0,1}; + std::string error; }; + std::vector resolve_datum_axes() const; + // Resolved datum coordinate systems. X/Y unit, orthonormal (Z = X.cross(Y)). + struct DatumCoordSys { std::string name; Vec3d origin{0,0,0}; Vec3d x{1,0,0}; + Vec3d y{0,1,0}; std::string error; }; + std::vector resolve_datum_coordsys() const; + void clear(); + bool recompute(); // replay features -> body + display_mesh; false on error + + // CadRecipe serialization contract: + // - v1 blobs are deliberately not loadable; there is no migration path by design + // - append fields ONLY at the end of save/load, never reorder (golden fixture enforces this) + // Bumped every time the bodies are rebuilt, i.e. every time the face and edge MAPS change. + // Global face/edge ids are indices into TopExp::MapShapes and mean nothing across a rebuild, + // so any caller holding an id from an earlier state is holding a wrong one. This is the + // handle that lets it find out instead of silently addressing the wrong edge. + // + // Session-scoped and deliberately NOT serialized: an id is only meaningful within the run + // that produced it, so persisting the counter would imply a promise across loads that the + // ids themselves cannot keep. + uint64_t topo_generation{1}; + + // v5: every feature is length-framed, so a reader can stop early on an older file and skip + // the tail of a newer one. This is the LAST version that has to break anything — from here a + // new field only needs appending to save/load, with no bump and no orphaned projects. + // v6: no wire-format change — the bytes are v5's, and both are read by the same framed path. + // The stamp advances only to put a project-container change on the record; the 3MF backends + // own that story. v4 still opens through the pre-framing flat path. + static constexpr uint32_t ORCA_CAD_RECIPE_VERSION = 6; + std::string serialize_recipe() const; + bool deserialize_recipe(const std::string& blob); + + // Export every body to a STEP file as native B-rep (not mesh). body_xforms is the + // per-body display transform (Move gizmo); when supplied the bodies are written at + // those positions so the STEP matches what Commit ships. false + err on failure. + bool export_step(const std::string& path, + const std::vector& body_xforms, + std::string& err) const; + + GeometryEngine::MassProps body_mass_properties(int body_index) const; + + // One overlapping pair of solid bodies. Indices are into `bodies`, a_ < b_. + struct Interference { int body_a{-1}; int body_b{-1}; double volume{0}; }; + // Every pair of solid bodies whose intersection encloses more than min_volume (mm^3). + // Reports only — mutates nothing, so mates and placements are unaffected by calling it. + // Sheet bodies are skipped: an intersection involving one encloses no volume. + std::vector check_interference(double min_volume = 1e-6) const; + + // ponytail: derived from the OCCT shape type; no stored flag, bodies aren't serialized anyway. + static bool is_sheet_shape(const TopoDS_Shape& s); // true if TopExp finds no TopAbs_SOLID + + // Undo/redo of the feature recipe (Onshape-style Ctrl+Z). The caller marks a + // user-action boundary by calling checkpoint() BEFORE the mutation(s) for that + // action (add/delete/move/replace, or a direct features edit). undo()/redo() then + // restore the snapshot and recompute(). Because everything else (bodies/meshes/ + // body) is derived by recompute(), snapshotting `features` alone is a complete, + // exact history; one checkpoint == one Ctrl+Z step. + void checkpoint(); // snapshot `features` for undo + invalidate redo + // Drop the most recent checkpoint. For a mutation that took a checkpoint, then failed + // and restored the pre-mutation state itself (the constraint paths reject an + // over-constrained addition this way): the snapshot now describes a state identical to + // the current one, and leaving it turns the next Ctrl+Z into a press that does nothing. + void abandon_checkpoint(); + bool can_undo() const { return !m_undo.empty(); } + bool can_redo() const { return !m_redo.empty(); } + size_t undo_depth() const { return m_undo.size(); } + size_t redo_depth() const { return m_redo.size(); } + bool undo(); // restore the previous feature list + recompute(); false if no history + bool redo(); // re-apply the most recently undone change; false if none + + // Feature-tree editing (Onshape-style). All are transactional: they snapshot + // features, mutate, recompute(), and roll back to the snapshot (re-recomputing) + // if the result is invalid — so a failed edit never leaves a broken body. + // + // remove_feature: erase features[index]; deleting a Sketch cascades to the + // Extrude(s) that consume it; surviving sketch_ref indices are remapped. + // move_feature: shift features[index] by delta (-1 up / +1 down), clamped; + // sketch_ref indices of the two swapped slots are remapped. + // replace_feature: overwrite features[index] with `edited` (its name and, for + // an Extrude, its sketch_ref are preserved from the original). + bool remove_feature(int index); + bool move_feature(int index, int delta); + bool replace_feature(int index, const CadFeature& edited); + // replace_sketch_extrude: a box is two linked features (Sketch + Extrude); + // overwrite both slots from one `edited` candidate (sketch params -> + // features[sketch_idx], extrude params -> features[extrude_idx]), keeping + // each slot's name/type and the sketch_ref link. Transactional like above. + bool replace_sketch_extrude(int sketch_idx, int extrude_idx, const CadFeature& edited); + + // Apply ONE candidate feature on top of the current committed body and + // tessellate the result into out_mesh, WITHOUT modifying features/body/ + // display_mesh. Returns false (with err set) if the candidate is invalid. + // Used by the Design tab to show a translucent ghost before Confirm. + bool preview(const CadFeature& candidate, TriangleMesh& out_mesh, std::string& err) const; + // Same, but also returns the per-body meshes (in `bodies` order; the candidate may append + // one), so the GUI can apply its display-only per-body Move transforms to the ghost and keep + // it overlaid on the moved body instead of floating back at the untransformed origin. + bool preview(const CadFeature& candidate, TriangleMesh& out_mesh, + std::vector& out_body_meshes, std::string& err) const; + +private: + TopoDS_Wire build_sketch_wire(const CadFeature& sketch, bool closed_only = false) const; + // The planar region an Extrude sweeps: the sketch's outer loop with its inner loops as + // holes. Falls back to a face over build_sketch_wire() for the legacy profile/shape paths, + // which have no concept of a second loop. + TopoDS_Face build_sketch_face(const CadFeature& sketch) const; + // Apply a single feature to (result, have_body), throwing std::runtime_error on + // failure. `context` is the body whose faces/edges the feature reads (face-extrude + // source, up-to-face target, dress-up, hole) — it differs from `result` only when the + // feature builds a NEW body from an existing one (face-extrude New). Shared by route. + void apply_feature(TopoDS_Shape& result, bool& have_body, + const TopoDS_Shape& context, const CadFeature& f) const; + // Route one feature into the bodies list: resolve its target body, decide whether it + // starts a new body (empty list, or an Extrude with mode New) vs mutates an existing + // one, then apply_feature. Shared by recompute() (replay all) and preview() (candidate). + void route_feature(std::vector& bodies, const CadFeature& f) const; + // Boolean between two existing bodies: resolve target + tool, optionally snap the tool so + // the picked faces mate, run the OCCT op (with fuzzy tolerance), write the result back to the + // target and erase the consumed tool. Mutates the bodies vector directly (unlike apply_feature, + // which works on a single result shape). Throws std::runtime_error on a failed op. + void apply_boolean(std::vector& bodies, const CadFeature& f) const; + void apply_cut(std::vector& bodies, const CadFeature& f) const; + void apply_mirror(std::vector& bodies, const CadFeature& f) const; + void apply_transform(std::vector& bodies, const CadFeature& f) const; + void apply_thicken(std::vector& bodies, const CadFeature& f) const; + void apply_thicken_surface(std::vector& bodies, const CadFeature& f) const; + void apply_surface_offset(std::vector& bodies, const CadFeature& f) const; + void apply_project(const std::vector& bodies, CadFeature& f) const; + static DatumCoordSys datum_frame(const std::vector& bodies, const CadFeature& f); + void apply_mate(std::vector& bodies, const CadFeature& f) const; + void detect_mate_conflicts(); // refills mate_conflicts from the feature list alone + + // Undo/redo stacks of recipe snapshots. checkpoint() pushes onto m_undo and clears + // m_redo; undo()/redo() shuffle the current state between them. Capped so a long + // session can't grow unbounded. + // + // The snapshot MUST carry `variables` as well as `features`: a caller that sets a bad + // variable, sees recompute() fail and calls undo() to roll it back would otherwise be + // left with the bad variable still in the document, so every later recompute fails — + // the exact corruption the checkpoint/undo pattern exists to prevent. Not serialized, + // so this changes no on-disk format. + struct Snapshot { + std::vector features; + std::map variables; + }; + std::vector m_undo; + std::vector m_redo; + static constexpr size_t k_undo_cap = 200; +}; + +} // namespace Slic3r + +#endif // slic3r_CadDocument_hpp_ diff --git a/src/libslic3r/CAD/GeometryEngine.cpp b/src/libslic3r/CAD/GeometryEngine.cpp new file mode 100644 index 0000000000..ede3924056 --- /dev/null +++ b/src/libslic3r/CAD/GeometryEngine.cpp @@ -0,0 +1,711 @@ +#include "libslic3r/CAD/GeometryEngine.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Slic3r { + +// ---- STEP import (B-rep, not mesh) ---- +std::vector GeometryEngine::read_step_solids(const std::string& path, std::string& err) +{ + err.clear(); + std::vector out; + try { + STEPControl_Reader reader; + if (reader.ReadFile(path.c_str()) != IFSelect_RetDone) { + err = "cannot read STEP file"; + return out; + } + reader.TransferRoots(); + const TopoDS_Shape shape = reader.OneShape(); + if (shape.IsNull()) { err = "STEP file has no geometry"; return out; } + // One body per top-level solid; fall back to the whole shape (shells/faces) if none. + for (TopExp_Explorer ex(shape, TopAbs_SOLID); ex.More(); ex.Next()) + out.push_back(ex.Current()); + if (out.empty()) + out.push_back(shape); + } catch (const Standard_Failure& e) { + err = e.GetMessageString() ? e.GetMessageString() : "OCCT failed to read STEP"; + out.clear(); + } + return out; +} + +// ---- Mesh -> B-rep (faceted, shared topology by construction) ---- +// +// Port of mesh2step's brep_build.py. Two properties are load-bearing and easy to lose: +// +// 1. The edge cache is keyed on the UNORDERED vertex-index pair, and a triangle that walks +// the edge backwards (i > j) gets edge.Reversed(). Consistently-wound meshes (STL/OBJ/3MF +// all are) walk every shared edge in opposite directions from its two adjacent triangles, +// so this reversal is exactly what leaves the faces coherently outward-oriented. +// 2. Degeneracy is split in two, deliberately. A triangle is dropped as sub-resolution noise +// only if its longest edge is below `tolerance` (an absolute floor), while sliver rejection +// is scale-INDEPENDENT (area < 1e-9 * longest_edge^2). Folding the two together under one +// `area < tolerance^2` test rejects legitimate thin CAD slivers whenever tolerance is coarse +// relative to them, turning a watertight input into a falsely-open shell — a real regression +// mesh2step hit on a 62k-triangle mechanical part. +TopoDS_Shape GeometryEngine::mesh_to_brep(const indexed_triangle_set& its, + double tolerance, + double merge_angle_deg, + MeshBrepStats& stats) +{ + stats = MeshBrepStats{}; + stats.input_tris = int(its.indices.size()); + if (tolerance <= 0.0) + throw std::runtime_error("mesh_to_brep: tolerance must be > 0"); + if (its.indices.empty()) + throw std::runtime_error("mesh_to_brep: mesh has no triangles"); + + // 1. Tolerance-quantized vertex dedup. A merged vertex keeps the exact coordinates of the + // first input occurrence — vertices are grouped by a cell, never snapped onto its grid. + std::map, int> cell_to_new; + std::vector old_to_new(its.vertices.size(), -1); + std::vector verts; + verts.reserve(its.vertices.size()); + for (size_t i = 0; i < its.vertices.size(); ++i) { + const Vec3d p = its.vertices[i].cast(); + const std::array cell{ (long long) std::llround(p.x() / tolerance), + (long long) std::llround(p.y() / tolerance), + (long long) std::llround(p.z() / tolerance) }; + auto ins = cell_to_new.emplace(cell, int(verts.size())); + if (ins.second) + verts.push_back(p); + old_to_new[i] = ins.first->second; + } + + // 2. Reject degenerate triangles (see the two-part rule in the comment above). + std::vector tris; + tris.reserve(its.indices.size()); + for (const Vec3i32& t : its.indices) { + const int a = old_to_new[t(0)], b = old_to_new[t(1)], c = old_to_new[t(2)]; + if (a == b || b == c || a == c) { ++stats.degenerate_collapsed; continue; } + const Vec3d& pa = verts[a]; const Vec3d& pb = verts[b]; const Vec3d& pc = verts[c]; + const double e0 = (pb - pa).norm(), e1 = (pc - pb).norm(), e2 = (pa - pc).norm(); + const double longest = std::max(e0, std::max(e1, e2)); + if (longest < tolerance) { ++stats.degenerate_collapsed; continue; } + const double area = 0.5 * (pb - pa).cross(pc - pa).norm(); + if (area < 1e-9 * longest * longest) { ++stats.degenerate_sliver; continue; } + tris.emplace_back(a, b, c); + } + stats.kept_tris = int(tris.size()); + if (tris.empty()) + throw std::runtime_error("mesh_to_brep: every triangle was rejected as degenerate " + "(try a smaller tolerance)"); + + // 3. One face per triangle, sharing vertices and edges through the caches. + std::vector vertex_cache(verts.size()); + std::vector vertex_made(verts.size(), false); + auto get_vertex = [&](int i) -> const TopoDS_Vertex& { + if (!vertex_made[i]) { + const Vec3d& p = verts[i]; + vertex_cache[i] = BRepBuilderAPI_MakeVertex(gp_Pnt(p.x(), p.y(), p.z())).Vertex(); + vertex_made[i] = true; + } + return vertex_cache[i]; + }; + + std::map, TopoDS_Edge> edge_cache; + std::map, int> edge_usage; + auto get_edge = [&](int i, int j) -> TopoDS_Edge { + const std::pair key = (i < j) ? std::make_pair(i, j) : std::make_pair(j, i); + ++edge_usage[key]; + auto it = edge_cache.find(key); + if (it == edge_cache.end()) + it = edge_cache.emplace(key, + BRepBuilderAPI_MakeEdge(get_vertex(key.first), get_vertex(key.second)).Edge()).first; + return (i > j) ? TopoDS::Edge(it->second.Reversed()) : it->second; + }; + + BRep_Builder builder; + TopoDS_Shell shell; + builder.MakeShell(shell); + + for (const Vec3i32& t : tris) { + try { + BRepBuilderAPI_MakeWire mk_wire(get_edge(t(0), t(1)), get_edge(t(1), t(2)), get_edge(t(2), t(0))); + if (!mk_wire.IsDone()) { ++stats.faces_failed; continue; } + BRepBuilderAPI_MakeFace mk_face(mk_wire.Wire()); + if (!mk_face.IsDone()) { ++stats.faces_failed; continue; } + builder.Add(shell, mk_face.Face()); + ++stats.faces_built; + } catch (const Standard_Failure&) { + ++stats.faces_failed; + } + } + + // 4. Watertightness falls straight out of the usage counts the cache already gathered. + for (const auto& kv : edge_usage) { + if (kv.second == 1) ++stats.boundary_edges; + else if (kv.second >= 3) ++stats.nonmanifold_edges; + } + stats.unique_edges = int(edge_usage.size()); + stats.watertight = stats.boundary_edges == 0 && stats.nonmanifold_edges == 0 && stats.unique_edges > 0; + + TopoDS_Shape shape = shell; + if (stats.watertight && stats.faces_built > 0) { + BRepBuilderAPI_MakeSolid mk_solid(shell); + if (mk_solid.IsDone()) { + TopoDS_Solid solid = mk_solid.Solid(); + GProp_GProps props; + BRepGProp::VolumeProperties(solid, props); + double vol = props.Mass(); + if (vol < 0.0) { // inward-wound input + solid = TopoDS::Solid(solid.Reversed()); + vol = -vol; + } + if (vol > 0.0) { + shape = solid; + stats.is_solid = true; + stats.volume = vol; + } + } + } + + // 5. Optional coplanar merge. Faceted output is one planar face per triangle — exact, but + // you cannot meaningfully fillet or extrude a face that IS a single triangle. Merging + // coplanar neighbours is what turns the import into something the face/edge tools can + // actually operate on (a 12-triangle cube collapses to its 6 real faces). + if (merge_angle_deg > 0.0) { + try { + ShapeUpgrade_UnifySameDomain unifier(shape, true, true, true); + unifier.SetAngularTolerance(merge_angle_deg * M_PI / 180.0); + unifier.SetLinearTolerance(tolerance); + unifier.Build(); + const TopoDS_Shape merged = unifier.Shape(); + if (!merged.IsNull()) + shape = merged; + } catch (const Standard_Failure&) { + // Merging is an optimisation, not a correctness step: keep the exact faceted shape. + } + } + stats.faces_final = face_count(shape); + return shape; +} + +// ---- Primitive creation ---- + +TopoDS_Solid GeometryEngine::make_primitive(const PrimitiveParams& params) +{ + switch (params.type) { + case PrimitiveType::Box: + return BRepPrimAPI_MakeBox(gp_Pnt(-params.box_w/2, -params.box_d/2, 0), + params.box_w, params.box_d, params.box_h).Solid(); + case PrimitiveType::Cylinder: + return BRepPrimAPI_MakeCylinder(gp_Ax2(gp_Pnt(0,0,0), gp_Dir(0,0,1)), + params.cyl_radius, params.cyl_height).Solid(); + case PrimitiveType::Sphere: + return BRepPrimAPI_MakeSphere(gp_Pnt(0,0,params.sph_radius), params.sph_radius).Solid(); + case PrimitiveType::Cone: + return BRepPrimAPI_MakeCone(gp_Ax2(gp_Pnt(0,0,0), gp_Dir(0,0,1)), + params.cone_r1, params.cone_r2, params.cone_height).Solid(); + case PrimitiveType::Torus: + return BRepPrimAPI_MakeTorus(gp_Ax2(gp_Pnt(0,0,params.torus_r2), gp_Dir(0,0,1)), + params.torus_r1, params.torus_r2).Solid(); + default: + return BRepPrimAPI_MakeBox(gp_Pnt(-10,-10,0), 20,20,20).Solid(); + } +} + +// ---- Face classification ---- + +FaceGroup GeometryEngine::classify_face(const TopoDS_Face& face, const TopoDS_Shape& /*solid*/) +{ + try { + BRepAdaptor_Surface surf(face); + if (surf.GetType() == GeomAbs_Plane) { + // Sample normal at center UV + double u = (surf.FirstUParameter() + surf.LastUParameter()) / 2.0; + double v = (surf.FirstVParameter() + surf.LastVParameter()) / 2.0; + gp_Pnt pt; gp_Vec du, dv; + surf.D1(u, v, pt, du, dv); + gp_Dir n = du.Crossed(dv); + if (face.Orientation() == TopAbs_REVERSED) n.Reverse(); + + if (n.Z() > 0.7) return FaceGroup::Top; + if (n.Z() < -0.7) return FaceGroup::Bottom; + return FaceGroup::Lateral; + } + } catch (...) {} + return FaceGroup::Lateral; +} + +// ---- Edge collection ---- + +std::vector GeometryEngine::collect_edges(const TopoDS_Shape& solid, FaceGroup target) +{ + std::vector result; + if (target == FaceGroup::All) { + for (TopExp_Explorer exp(solid, TopAbs_EDGE); exp.More(); exp.Next()) + result.push_back(TopoDS::Edge(exp.Current())); + return result; + } + + // Build edge-to-face map once + TopTools_IndexedDataMapOfShapeListOfShape edgeFaceMap; + TopExp::MapShapesAndAncestors(solid, TopAbs_EDGE, TopAbs_FACE, edgeFaceMap); + + for (TopExp_Explorer edgeExp(solid, TopAbs_EDGE); edgeExp.More(); edgeExp.Next()) { + const TopoDS_Edge& edge = TopoDS::Edge(edgeExp.Current()); + if (!edgeFaceMap.Contains(edge)) continue; + const TopTools_ListOfShape& faces = edgeFaceMap.FindFromKey(edge); + + bool include = false; + for (auto it = faces.begin(); it != faces.end(); ++it) { + FaceGroup fg = classify_face(TopoDS::Face(*it), solid); + if (target == FaceGroup::Top && fg == FaceGroup::Top) { include = true; break; } + if (target == FaceGroup::Bottom && fg == FaceGroup::Bottom) { include = true; break; } + if (target == FaceGroup::Lateral && fg == FaceGroup::Lateral) { include = true; break; } + } + + if (!include && target == FaceGroup::Top) { + for (auto it = faces.begin(); it != faces.end(); ++it) { + if (classify_face(TopoDS::Face(*it), solid) == FaceGroup::Top) { include = true; break; } + } + } + if (!include && target == FaceGroup::Bottom) { + for (auto it = faces.begin(); it != faces.end(); ++it) { + if (classify_face(TopoDS::Face(*it), solid) == FaceGroup::Bottom) { include = true; break; } + } + } + if (target == FaceGroup::Lateral && !include) { + int lateralCount = 0; + for (auto it = faces.begin(); it != faces.end(); ++it) { + if (classify_face(TopoDS::Face(*it), solid) == FaceGroup::Lateral) ++lateralCount; + } + if (lateralCount >= 2) include = true; + } + + if (include) result.push_back(edge); + } + + return result; +} + +// ---- Fillet/Chamfer ---- + +TopoDS_Shape GeometryEngine::apply_fillet(const TopoDS_Shape& solid, double radius, FaceGroup faces) +{ + if (radius <= 0.001) return solid; + + std::vector edges = collect_edges(solid, faces); + if (edges.empty()) return solid; + + BRepFilletAPI_MakeFillet fillet(solid); + for (const auto& edge : edges) + fillet.Add(radius, edge); + fillet.Build(); + + // A too-large radius (e.g. >= half the smallest spanned dimension) makes the + // operation degenerate; OCCT leaves IsDone() false. Report it instead of + // silently returning the unfilleted solid (which reads as a false success). + if (!fillet.IsDone()) throw std::runtime_error("fillet radius too large for this geometry"); + return fillet.Shape(); +} + +TopoDS_Shape GeometryEngine::apply_chamfer(const TopoDS_Shape& solid, double distance, FaceGroup faces) +{ + if (distance <= 0.001) return solid; + + std::vector edges = collect_edges(solid, faces); + if (edges.empty()) return solid; + + BRepFilletAPI_MakeChamfer chamfer(solid); + for (const auto& edge : edges) + chamfer.Add(distance, edge); // symmetric chamfer + chamfer.Build(); + + if (!chamfer.IsDone()) throw std::runtime_error("chamfer distance too large for this geometry"); + return chamfer.Shape(); +} + +TopoDS_Shape GeometryEngine::apply_fillet(const TopoDS_Shape& solid, double radius, int edge_id) +{ + if (radius <= 0.001) return solid; + + TopoDS_Edge edge = edge_by_index(solid, edge_id); + if (edge.IsNull()) throw std::runtime_error("apply_fillet: invalid edge id"); + + BRepFilletAPI_MakeFillet mk(solid); + mk.Add(radius, edge); + mk.Build(); + + if (!mk.IsDone()) throw std::runtime_error("apply_fillet: OCCT fillet failed"); + return mk.Shape(); +} + +TopoDS_Shape GeometryEngine::apply_chamfer(const TopoDS_Shape& solid, double distance, int edge_id) +{ + if (distance <= 0.001) return solid; + + TopoDS_Edge edge = edge_by_index(solid, edge_id); + if (edge.IsNull()) throw std::runtime_error("apply_chamfer: invalid edge id"); + + BRepFilletAPI_MakeChamfer mk(solid); + mk.Add(distance, edge); + mk.Build(); + + if (!mk.IsDone()) throw std::runtime_error("apply_chamfer: OCCT chamfer failed"); + return mk.Shape(); +} + +// ---- Tessellation ---- + +TriangleMesh GeometryEngine::tessellate(const TopoDS_Shape& shape, + double linear_deflection, + double angular_deflection) +{ + BRepMesh_IncrementalMesh mesh(shape, linear_deflection, false, angular_deflection, true); + + int nbNodes = 0, nbTri = 0; + for (TopExp_Explorer exp(shape, TopAbs_FACE); exp.More(); exp.Next()) { + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(TopoDS::Face(exp.Current()), loc); + if (!tri.IsNull()) { nbNodes += tri->NbNodes(); nbTri += tri->NbTriangles(); } + } + if (nbTri == 0 || nbNodes == 0) return TriangleMesh{}; + + stl_file stl; + stl.stats.type = inmemory; + stl.stats.number_of_facets = (uint32_t)nbTri; + stl.stats.original_num_facets = stl.stats.number_of_facets; + stl_allocate(&stl); + + std::vector pts; pts.reserve(nbNodes); + int ndOff = 0, trOff = 0; + for (TopExp_Explorer exp(shape, TopAbs_FACE); exp.More(); exp.Next()) { + const TopoDS_Shape& F = exp.Current(); + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(TopoDS::Face(F), loc); + if (tri.IsNull()) continue; + gp_Trsf T = loc.Transformation(); + for (int i = 1; i <= tri->NbNodes(); ++i) { + gp_Pnt p = tri->Node(i); p.Transform(T); + pts.emplace_back(Vec3f(p.X(), p.Y(), p.Z())); + } + auto orient = exp.Current().Orientation(); + int ids[3]; + for (int i = 1; i <= tri->NbTriangles(); ++i) { + Poly_Triangle t = tri->Triangle(i); t.Get(ids[0], ids[1], ids[2]); + if (orient == TopAbs_REVERSED) std::swap(ids[1], ids[2]); + stl_facet f; + f.vertex[0] = pts[ids[0]+ndOff-1].cast(); + f.vertex[1] = pts[ids[1]+ndOff-1].cast(); + f.vertex[2] = pts[ids[2]+ndOff-1].cast(); + f.extra[0]=0; f.extra[1]=0; + stl_normal n; stl_calculate_normal(n,&f); stl_normalize_vector(n); + f.normal=n; stl.facet_start[trOff+i-1]=f; + } + ndOff += tri->NbNodes(); trOff += tri->NbTriangles(); + } + TriangleMesh result; result.from_stl(stl); return result; +} + +GeometryEngine::Deviation +GeometryEngine::surface_deviation(const TopoDS_Shape& candidate, + const TopoDS_Shape& reference, + double linear_deflection) +{ + Deviation d; + if (candidate.IsNull() || reference.IsNull()) return d; + TriangleMesh mesh = tessellate(candidate, linear_deflection, 0.5); + const auto& verts = mesh.its.vertices; + if (verts.empty()) return d; + double sum = 0.0, sumsq = 0.0; + int n = 0; + for (const auto& v : verts) { + gp_Pnt p(v.x(), v.y(), v.z()); + BRepExtrema_DistShapeShape dss(BRepBuilderAPI_MakeVertex(p).Vertex(), reference); + if (!dss.IsDone() || dss.NbSolution() < 1) continue; + double dist = dss.Value(); + d.max_mm = std::max(d.max_mm, dist); + sum += dist; sumsq += dist * dist; ++n; + } + d.sample_count = n; + if (n > 0) { d.mean_mm = sum / n; d.rms_mm = std::sqrt(sumsq / n); } + return d; +} + +GeometryEngine::MassProps GeometryEngine::mass_properties(const TopoDS_Shape& shape) +{ + MassProps p; + if (shape.IsNull()) return p; + try { + // A sheet body (open shell, no solid) encloses nothing, and BRepGProp::VolumeProperties + // integrates the divergence theorem over whatever faces exist — on an open shell that is + // not a volume at all. It came back as 96000 with an inertia diagonal of + // [-4.2e7, -4.2e7, -6.9e7] for a 60x60x40 four-walled box: negative principal moments, + // which no real body can have. The old code then hid the only obvious tell by taking + // std::abs() of the mass. Report the honest answer instead — surface area is still + // meaningful, so this is not a failure, just not a solid. + p.is_solid = TopExp_Explorer(shape, TopAbs_SOLID).More(); + if (!p.is_solid) { + GProp_GProps sonly; + BRepGProp::SurfaceProperties(shape, sonly); + p.surface_area = sonly.Mass(); + p.valid = true; // the area IS trustworthy; volume/inertia stay zero + return p; + } + GProp_GProps vprops; + BRepGProp::VolumeProperties(shape, vprops); + double mass = vprops.Mass(); + if (std::abs(mass) < 1e-30) return p; + p.volume = std::abs(mass); + p.center_of_mass = Vec3d(vprops.CentreOfMass().X(), vprops.CentreOfMass().Y(), vprops.CentreOfMass().Z()); + gp_Mat mat = vprops.MatrixOfInertia(); + p.inertia = {{ + mat(1,1), mat(1,2), mat(1,3), + mat(2,1), mat(2,2), mat(2,3), + mat(3,1), mat(3,2), mat(3,3), + }}; + GProp_GProps sprops; + BRepGProp::SurfaceProperties(shape, sprops); + p.surface_area = sprops.Mass(); + p.valid = true; + } catch (const Standard_Failure&) { + // leave valid = false + } + return p; +} + +std::string GeometryEngine::primitive_name(PrimitiveType type) +{ + switch (type) { + case PrimitiveType::Box: return "Box"; + case PrimitiveType::Cylinder: return "Cylinder"; + case PrimitiveType::Sphere: return "Sphere"; + case PrimitiveType::Cone: return "Cone"; + case PrimitiveType::Torus: return "Torus"; + default: return "Unknown"; + } +} + +// ---- Topology accessors ---- + +int GeometryEngine::face_count(const TopoDS_Shape& shape) +{ + int n = 0; + for (TopExp_Explorer e(shape, TopAbs_FACE); e.More(); e.Next()) + ++n; + return n; +} + +TopoDS_Face GeometryEngine::face_by_index(const TopoDS_Shape& shape, int index) +{ + if (index < 0) return TopoDS_Face(); + int ordinal = 0; + for (TopExp_Explorer e(shape, TopAbs_FACE); e.More(); e.Next()) { + if (ordinal == index) + return TopoDS::Face(e.Current()); + ++ordinal; + } + return TopoDS_Face(); +} + +std::vector GeometryEngine::faces_of(const TopoDS_Shape& shape) +{ + std::vector out; + for (TopExp_Explorer e(shape, TopAbs_FACE); e.More(); e.Next()) + out.push_back(TopoDS::Face(e.Current())); // same order as face_by_index + return out; +} + +std::vector GeometryEngine::edges_of(const TopoDS_Shape& shape) +{ + TopTools_IndexedMapOfShape map; + TopExp::MapShapes(shape, TopAbs_EDGE, map); // same order as edge_by_index + std::vector out; + out.reserve(map.Extent()); + for (int i = 1; i <= map.Extent(); ++i) + out.push_back(TopoDS::Edge(map(i))); + return out; +} + +std::vector GeometryEngine::edges_of_face(const TopoDS_Face& face) +{ + std::vector result; + TopTools_IndexedMapOfShape map; + TopExp::MapShapes(face, TopAbs_EDGE, map); + for (int i = 1; i <= map.Extent(); ++i) + result.push_back(TopoDS::Edge(map(i))); + return result; +} + +std::vector GeometryEngine::sample_edge_world(const TopoDS_Edge& edge, double chord_tol) +{ + if (BRep_Tool::Degenerated(edge)) + return {}; + + BRepAdaptor_Curve curve(edge); + GCPnts_TangentialDeflection disc(curve, 0.1, chord_tol); + + std::vector pts; + if (disc.NbPoints() >= 2) { + for (int i = 1; i <= disc.NbPoints(); ++i) { + gp_Pnt p = disc.Value(i); + pts.emplace_back(p.X(), p.Y(), p.Z()); + } + } else { + gp_Pnt p0 = curve.Value(curve.FirstParameter()); + gp_Pnt p1 = curve.Value(curve.LastParameter()); + pts.emplace_back(p0.X(), p0.Y(), p0.Z()); + pts.emplace_back(p1.X(), p1.Y(), p1.Z()); + } + return pts; +} + +Vec3d GeometryEngine::face_centroid_world(const TopoDS_Face& face) +{ + GProp_GProps props; + BRepGProp::SurfaceProperties(face, props); + gp_Pnt c = props.CentreOfMass(); + return Vec3d(c.X(), c.Y(), c.Z()); +} + +Vec3d GeometryEngine::face_normal_world(const TopoDS_Face& face) +{ + BRepAdaptor_Surface surf(face); + const double u = 0.5 * (surf.FirstUParameter() + surf.LastUParameter()); + const double v = 0.5 * (surf.FirstVParameter() + surf.LastVParameter()); + BRepLProp_SLProps props(surf, u, v, 1, 1e-6); + gp_Dir n(0.0, 0.0, 1.0); + if (props.IsNormalDefined()) n = props.Normal(); + if (face.Orientation() == TopAbs_REVERSED) n.Reverse(); // outward (account for face winding) + return Vec3d(n.X(), n.Y(), n.Z()); +} + +GeometryEngine::CylinderFace GeometryEngine::cylinder_of_face(const TopoDS_Face& face) +{ + CylinderFace cf; + if (face.IsNull()) return cf; + BRepAdaptor_Surface surf(face); + if (surf.GetType() != GeomAbs_Cylinder) return cf; + + const gp_Cylinder cyl = surf.Cylinder(); + const gp_Ax1 ax = cyl.Axis(); + const Vec3d axis(ax.Direction().X(), ax.Direction().Y(), ax.Direction().Z()); + const Vec3d apt (ax.Location().X(), ax.Location().Y(), ax.Location().Z()); + cf.radius = cyl.Radius(); + + // Axial extent: V is the axial parameter on a cylinder; bound the face's two ends and + // order them so `axis` points base -> top. + const double umid = 0.5 * (surf.FirstUParameter() + surf.LastUParameter()); + const gp_Pnt e0 = surf.Value(umid, surf.FirstVParameter()); + const gp_Pnt e1 = surf.Value(umid, surf.LastVParameter()); + double t0 = (Vec3d(e0.X(), e0.Y(), e0.Z()) - apt).dot(axis); + double t1 = (Vec3d(e1.X(), e1.Y(), e1.Z()) - apt).dot(axis); + if (t1 < t0) std::swap(t0, t1); + cf.base = apt + axis * t0; + cf.axis = axis; + cf.height = t1 - t0; + + // Internal (bore) vs external: compare the face's outward normal at its centre to the + // outward radial direction. A bore's normal points toward the axis (dot < 0). + const gp_Pnt sp = surf.Value(umid, 0.5 * (surf.FirstVParameter() + surf.LastVParameter())); + const Vec3d S(sp.X(), sp.Y(), sp.Z()); + const Vec3d axpt = cf.base + axis * (S - cf.base).dot(axis); + const Vec3d radial = (S - axpt).normalized(); + cf.internal = face_normal_world(face).dot(radial) < 0.0; + cf.ok = true; + return cf; +} + +GeometryEngine::CylinderFace GeometryEngine::circle_of_edge(const TopoDS_Edge& edge) +{ + CylinderFace cf; + if (edge.IsNull()) return cf; + BRepAdaptor_Curve curve(edge); + if (curve.GetType() != GeomAbs_Circle) return cf; + const gp_Circ c = curve.Circle(); + const gp_Ax1 ax = c.Axis(); + cf.base = Vec3d(c.Location().X(), c.Location().Y(), c.Location().Z()); + cf.axis = Vec3d(ax.Direction().X(), ax.Direction().Y(), ax.Direction().Z()); + cf.radius = c.Radius(); + cf.height = 0.0; // an edge carries no axial extent; the card keeps the current length + cf.internal = false; // ambiguous from an edge alone — default external, user can toggle + cf.ok = true; + return cf; +} + +bool GeometryEngine::face_plane_bounds(const TopoDS_Face& face, const Vec3d& origin, + const Vec3d& x_axis, const Vec3d& y_axis, + double& umin, double& umax, double& vmin, double& vmax) +{ + umin = vmin = 1e30; umax = vmax = -1e30; + bool any = false; + for (TopExp_Explorer ex(face, TopAbs_VERTEX); ex.More(); ex.Next()) { + const gp_Pnt p = BRep_Tool::Pnt(TopoDS::Vertex(ex.Current())); + const Vec3d P(p.X(), p.Y(), p.Z()); + const double u = (P - origin).dot(x_axis); + const double v = (P - origin).dot(y_axis); + umin = std::min(umin, u); umax = std::max(umax, u); + vmin = std::min(vmin, v); vmax = std::max(vmax, v); + any = true; + } + return any; +} + +int GeometryEngine::edge_count(const TopoDS_Shape& shape) +{ + TopTools_IndexedMapOfShape map; + TopExp::MapShapes(shape, TopAbs_EDGE, map); + return map.Extent(); +} + +TopoDS_Edge GeometryEngine::edge_by_index(const TopoDS_Shape& shape, int index) +{ + TopTools_IndexedMapOfShape map; + TopExp::MapShapes(shape, TopAbs_EDGE, map); + if (index < 0 || index >= map.Extent()) + return TopoDS_Edge(); + return TopoDS::Edge(map(index + 1)); +} + +int GeometryEngine::edge_index_of(const TopoDS_Shape& shape, const TopoDS_Edge& edge) +{ + TopTools_IndexedMapOfShape map; + TopExp::MapShapes(shape, TopAbs_EDGE, map); + int idx = map.FindIndex(edge); + return (idx > 0) ? (idx - 1) : -1; +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/GeometryEngine.hpp b/src/libslic3r/CAD/GeometryEngine.hpp new file mode 100644 index 0000000000..f27a0f2f17 --- /dev/null +++ b/src/libslic3r/CAD/GeometryEngine.hpp @@ -0,0 +1,183 @@ +#ifndef slic3r_GeometryEngine_hpp_ +#define slic3r_GeometryEngine_hpp_ + +#include "libslic3r/TriangleMesh.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Slic3r { + +enum class PrimitiveType { Box, Cylinder, Sphere, Cone, Torus, COUNT }; +enum class DressUpType { Fillet, Chamfer }; +enum class FaceGroup { Top, Bottom, Lateral, All }; + +struct PrimitiveParams { + PrimitiveType type{PrimitiveType::Box}; + double box_w{20}, box_h{20}, box_d{20}; + double cyl_radius{10}, cyl_height{20}; + double sph_radius{10}; + double cone_r1{10}, cone_r2{5}, cone_height{20}; + double torus_r1{10}, torus_r2{3}; + + // Dress-up + bool dressup_enabled{false}; + DressUpType dressup_type{DressUpType::Fillet}; + FaceGroup dressup_faces{FaceGroup::All}; + double dressup_radius{1.0}; // fillet radius + double dressup_chamfer_dist{1.0}; // chamfer distance (symmetric) + + // Mesh quality + double linear_deflection{0.01}; + double angular_deflection{0.5}; + + template + void serialize(Archive& ar) { + ar(type, box_w, box_h, box_d, cyl_radius, cyl_height, sph_radius, + cone_r1, cone_r2, cone_height, torus_r1, torus_r2, + dressup_enabled, dressup_type, dressup_faces, dressup_radius, dressup_chamfer_dist, + linear_deflection, angular_deflection); + } +}; + +class GeometryEngine +{ +public: + static TopoDS_Solid make_primitive(const PrimitiveParams& params); + + // Read a STEP file into its top-level solids (one TopoDS_Shape per solid; falls back to + // the whole shape if it contains no closed solids). Reuses OCCT's STEPControl_Reader, + // already linked via Format/STEP.cpp — no new dependency. err is set on failure (empty result). + static std::vector read_step_solids(const std::string& path, std::string& err); + + // Triangle mesh -> B-rep solid. Native port of mesh2step + // (github.com/tommasobbianchi/mesh2step): vertices and edges are SHARED across triangles + // at construction time (vertex cache by deduped index, edge cache by unordered index pair), + // so there is no BRepBuilderAPI_Sewing pass to reconstruct topology afterwards — which is + // both faster and what makes watertightness fall out of the edge-usage counts for free. + // Runs in-process on the OCCT kernel libslic3r already links: no STEP file is written or + // re-read (a faceted STEP of a 62k-triangle mesh is ~149 MB and takes OCCT's reader >300 s + // to parse back, so routing the Design tab through a file would hang the GUI). + struct MeshBrepStats { + int input_tris{0}; + int kept_tris{0}; + int degenerate_collapsed{0}; // <3 distinct vertices after tolerance quantization + int degenerate_sliver{0}; // 3 distinct vertices but near-collinear + int faces_built{0}; + int faces_failed{0}; + int unique_edges{0}; + int boundary_edges{0}; // used by exactly 1 triangle -> open shell + int nonmanifold_edges{0}; // used by >=3 triangles + bool watertight{false}; // every edge used exactly twice + bool is_solid{false}; // watertight AND MakeSolid gave a positive volume + double volume{0.0}; + int faces_final{0}; // after the optional coplanar merge + }; + // tolerance: spatial quantization cell used ONLY for vertex dedup and as the + // sub-resolution floor below which a triangle is noise. Never a sew tolerance. + // merge_angle_deg > 0: run ShapeUpgrade_UnifySameDomain to merge coplanar neighbours into + // single faces (a 12-triangle cube -> 6 pickable faces). This is what makes the imported + // body editable with the face/edge tools; <= 0 keeps the exact one-face-per-triangle form. + // Never wraps a non-watertight shell as a fake solid: an open mesh comes back as a shell, + // with the reason (boundary / non-manifold edge counts) reported in stats. + static TopoDS_Shape mesh_to_brep(const indexed_triangle_set& its, + double tolerance, + double merge_angle_deg, + MeshBrepStats& stats); + + struct MassProps { + double volume{0.0}; + double surface_area{0.0}; + Vec3d center_of_mass{Vec3d::Zero()}; + std::array inertia{}; + bool valid{false}; + // False for a sheet body (an open shell with no solid). Volume and inertia are then + // meaningless and are reported as zero; surface_area stays meaningful. See the .cpp. + bool is_solid{false}; + }; + static MassProps mass_properties(const TopoDS_Shape& shape); + + struct Deviation { double max_mm{0}; double mean_mm{0}; double rms_mm{0}; int sample_count{0}; }; + static Deviation surface_deviation(const TopoDS_Shape& candidate, + const TopoDS_Shape& reference, + double linear_deflection = 0.5); + + static TopoDS_Shape apply_fillet(const TopoDS_Shape& solid, double radius, + FaceGroup faces = FaceGroup::All); + static TopoDS_Shape apply_fillet(const TopoDS_Shape& solid, double radius, + int edge_id); + static TopoDS_Shape apply_chamfer(const TopoDS_Shape& solid, double distance, + FaceGroup faces = FaceGroup::All); + static TopoDS_Shape apply_chamfer(const TopoDS_Shape& solid, double distance, + int edge_id); + + static TriangleMesh tessellate(const TopoDS_Shape& shape, + double linear_deflection = 0.01, + double angular_deflection = 0.5); + static std::string primitive_name(PrimitiveType type); + + // Topology accessors for in-viewport face/edge picking (Design tab). Face index is the + // TopExp_Explorer(shape, TopAbs_FACE) ordinal — identical to SketchEngine::tessellate's + // per-triangle face id, so a picked triangle's id maps back to a face here. + static TopoDS_Face face_by_index(const TopoDS_Shape& shape, int index); // null if out of range + static int face_count(const TopoDS_Shape& shape); + // Bulk enumeration in the SAME order as face_by_index / edge_by_index, so ids are + // interchangeable. Walking a body with the _by_index accessors is quadratic (each call + // rescans the shape — edge_by_index even rebuilds the whole indexed map), which cost + // ~15 s on a 4.7k-face imported solid; enumerate once instead. + static std::vector faces_of(const TopoDS_Shape& shape); + static std::vector edges_of(const TopoDS_Shape& shape); + static std::vector edges_of_face(const TopoDS_Face& face); + // Centre of mass (world) of a face — used to compute the extrude length for "up to face". + static Vec3d face_centroid_world(const TopoDS_Face& face); + // Outward unit normal of a face at its UV midpoint (orientation-aware) — for the shell gizmo. + static Vec3d face_normal_world(const TopoDS_Face& face); + // Sample an edge into a world-space polyline (>=2 pts) for pick-distance + highlight. + static std::vector sample_edge_world(const TopoDS_Edge& edge, double chord_tol = 0.05); + // 0-based edge index into TopExp::MapShapes(shape, TopAbs_EDGE, map). + static int edge_count(const TopoDS_Shape& shape); + static TopoDS_Edge edge_by_index(const TopoDS_Shape& shape, int index); + static int edge_index_of(const TopoDS_Shape& shape, const TopoDS_Edge& edge); + + // Analysis of a cylindrical face for the Thread tool (a hole bore or a cylinder's lateral + // surface): axis (base at the lower axial end + unit direction), radius, axial extent, and + // whether it is a bore (face normal points toward the axis = internal thread). ok=false if + // the face is not a cylinder. + struct CylinderFace { + bool ok{false}; + Vec3d base{0, 0, 0}; + Vec3d axis{0, 0, 1}; + double radius{0}; + double height{0}; + bool internal{false}; + }; + static CylinderFace cylinder_of_face(const TopoDS_Face& face); + // Circular edge (a cylinder's perimeter): base = circle centre, axis = circle normal, + // radius = circle radius, height = 0 (unknown from an edge), internal = false. ok=false if + // the edge is not a circle. Lets the Thread tool be driven by a picked circular rim. + static CylinderFace circle_of_edge(const TopoDS_Edge& edge); + + // Plane-coordinate (u,v) bounding box of a face's vertices, measured from `origin` along + // `x_axis`/`y_axis`. Lets the Hole tool dimension the hole from the face SIDES (umin/vmin = + // two adjacent edges) instead of from the centre. Returns false if the face has no vertices. + static bool face_plane_bounds(const TopoDS_Face& face, const Vec3d& origin, + const Vec3d& x_axis, const Vec3d& y_axis, + double& umin, double& umax, double& vmin, double& vmax); + +private: + static std::vector collect_edges(const TopoDS_Shape& solid, FaceGroup faces); + static FaceGroup classify_face(const TopoDS_Face& face, const TopoDS_Shape& solid); +}; + +} // namespace Slic3r + +#endif // slic3r_GeometryEngine_hpp_ diff --git a/src/libslic3r/CAD/SketchConstraints.cpp b/src/libslic3r/CAD/SketchConstraints.cpp new file mode 100644 index 0000000000..003afb4d63 --- /dev/null +++ b/src/libslic3r/CAD/SketchConstraints.cpp @@ -0,0 +1,307 @@ +#include "libslic3r/CAD/SketchConstraints.hpp" +#include +#include + +namespace Slic3r { + +int SketchConstraints::add_point(double x, double y) +{ + m_vars.push_back(x); + m_vars.push_back(y); + return static_cast(m_vars.size() / 2) - 1; +} + +void SketchConstraints::set_point(int id, double x, double y) +{ + size_t idx = 2 * id; + m_vars[idx] = x; + m_vars[idx + 1] = y; +} + +Vec2d SketchConstraints::get_point(int id) const +{ + size_t idx = 2 * id; + return Vec2d(m_vars[idx], m_vars[idx + 1]); +} + +int SketchConstraints::point_count() const +{ + return static_cast(m_vars.size() / 2); +} + +void SketchConstraints::fix_point(int id) +{ + size_t idx = 2 * id; + Con c; + c.type = FIX_POINT; + c.a = id; + c.b = c.c = c.d = 0; + c.k0 = m_vars[idx]; + c.k1 = m_vars[idx + 1]; + m_cons.push_back(c); +} + +void SketchConstraints::coincident(int a, int b) +{ + Con c; + c.type = COINCIDENT; + c.a = a; c.b = b; c.c = c.d = 0; + c.k0 = c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::horizontal(int a, int b) +{ + Con c; + c.type = HORIZONTAL; + c.a = a; c.b = b; c.c = c.d = 0; + c.k0 = c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::vertical(int a, int b) +{ + Con c; + c.type = VERTICAL; + c.a = a; c.b = b; c.c = c.d = 0; + c.k0 = c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::distance(int a, int b, double d) +{ + Con c; + c.type = DISTANCE; + c.a = a; c.b = b; c.c = c.d = 0; + c.k0 = d; c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::lock_x(int id, double x) +{ + Con c; + c.type = LOCK_X; + c.a = id; + c.b = c.c = c.d = 0; + c.k0 = x; c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::lock_y(int id, double y) +{ + Con c; + c.type = LOCK_Y; + c.a = id; + c.b = c.c = c.d = 0; + c.k0 = y; c.k1 = 0; + m_cons.push_back(c); +} + +void SketchConstraints::equal_length(int a, int b, int c, int d) +{ + Con con; + con.type = EQUAL_LENGTH; + con.a = a; con.b = b; con.c = c; con.d = d; + con.k0 = con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::parallel(int a, int b, int c, int d) +{ + Con con; + con.type = PARALLEL; + con.a = a; con.b = b; con.c = c; con.d = d; + con.k0 = con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::perpendicular(int a, int b, int c, int d) +{ + Con con; + con.type = PERPENDICULAR; + con.a = a; con.b = b; con.c = c; con.d = d; + con.k0 = con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::midpoint(int m, int a, int b) +{ + Con con; + con.type = MIDPOINT; + con.a = m; con.b = a; con.c = b; con.d = -1; + con.k0 = con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::symmetric(int a, int b, int c, int d) +{ + Con con; + con.type = SYMMETRIC; + con.a = a; con.b = b; con.c = c; con.d = d; + con.k0 = con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::angle(int a, int b, int c, int d, double radians) +{ + Con con; + con.type = ANGLE; + con.a = a; con.b = b; con.c = c; con.d = d; + con.k0 = radians; con.k1 = 0; + m_cons.push_back(con); +} + +void SketchConstraints::point_line_distance(int p, int a, int b, double dist) +{ + Con con; + con.type = PT_LINE_DIST; + con.a = p; con.b = a; con.c = b; con.d = -1; + con.k0 = dist; con.k1 = 0; + m_cons.push_back(con); +} + +Eigen::VectorXd SketchConstraints::residuals(const std::vector& v) const +{ + auto X = [&](int i) { return v[2 * i]; }; + auto Y = [&](int i) { return v[2 * i + 1]; }; + + std::vector res; + for (const auto& c : m_cons) { + switch (c.type) { + case FIX_POINT: + res.push_back(X(c.a) - c.k0); + res.push_back(Y(c.a) - c.k1); + break; + case COINCIDENT: + res.push_back(X(c.a) - X(c.b)); + res.push_back(Y(c.a) - Y(c.b)); + break; + case HORIZONTAL: + res.push_back(Y(c.a) - Y(c.b)); + break; + case VERTICAL: + res.push_back(X(c.a) - X(c.b)); + break; + case DISTANCE: + res.push_back(std::hypot(X(c.a) - X(c.b), Y(c.a) - Y(c.b)) - c.k0); + break; + case LOCK_X: + res.push_back(X(c.a) - c.k0); + break; + case LOCK_Y: + res.push_back(Y(c.a) - c.k0); + break; + case EQUAL_LENGTH: + res.push_back(std::hypot(X(c.a) - X(c.b), Y(c.a) - Y(c.b)) - + std::hypot(X(c.c) - X(c.d), Y(c.c) - Y(c.d))); + break; + case PARALLEL: + res.push_back((X(c.b) - X(c.a)) * (Y(c.d) - Y(c.c)) - + (Y(c.b) - Y(c.a)) * (X(c.d) - X(c.c))); + break; + case PERPENDICULAR: + res.push_back((X(c.b) - X(c.a)) * (X(c.d) - X(c.c)) + + (Y(c.b) - Y(c.a)) * (Y(c.d) - Y(c.c))); + break; + case MIDPOINT: + res.push_back(X(c.a) - 0.5 * (X(c.b) + X(c.c))); + res.push_back(Y(c.a) - 0.5 * (Y(c.b) + Y(c.c))); + break; + case SYMMETRIC: { + const double abx = X(c.b) - X(c.a), aby = Y(c.b) - Y(c.a); + const double cdx = X(c.d) - X(c.c), cdy = Y(c.d) - Y(c.c); + res.push_back(abx * cdx + aby * cdy); + const double mx = 0.5 * (X(c.a) + X(c.b)); + const double my = 0.5 * (Y(c.a) + Y(c.b)); + res.push_back((mx - X(c.c)) * cdy - (my - Y(c.c)) * cdx); + break; + } + case ANGLE: { + const double ux = X(c.b) - X(c.a), uy = Y(c.b) - Y(c.a); + const double wx = X(c.d) - X(c.c), wy = Y(c.d) - Y(c.c); + const double cross = ux * wy - uy * wx; + const double dot = ux * wx + uy * wy; + res.push_back(std::atan2(cross, dot) - c.k0); + break; + } + case PT_LINE_DIST: { + const double bx = X(c.b), by = Y(c.b); + const double cx = X(c.c), cy = Y(c.c); + const double L = std::hypot(cx - bx, cy - by); + const double num = (X(c.a) - bx) * (cy - by) - (Y(c.a) - by) * (cx - bx); + res.push_back((L > 1e-12 ? std::abs(num) / L : 0.0) - c.k0); + break; + } + } + } + + Eigen::VectorXd r(static_cast(res.size())); + for (size_t i = 0; i < res.size(); ++i) + r(static_cast(i)) = res[i]; + return r; +} + +Eigen::MatrixXd SketchConstraints::jacobian(const std::vector& v) const +{ + int m = static_cast(residuals(v).size()); + int n = static_cast(v.size()); + Eigen::MatrixXd J(m, n); + const double eps = 1e-7; + + std::vector vp = v; + std::vector vm = v; + + for (int j = 0; j < n; ++j) { + vp[j] = v[j] + eps; + vm[j] = v[j] - eps; + Eigen::VectorXd rp = residuals(vp); + Eigen::VectorXd rm = residuals(vm); + vp[j] = v[j]; + vm[j] = v[j]; + J.col(j) = (rp - rm) / (2.0 * eps); + } + + return J; +} + +bool SketchConstraints::solve(int max_iter, double tol) +{ + if (m_cons.empty()) return true; + double lambda = 1e-3; + Eigen::VectorXd r = residuals(m_vars); + for (int it = 0; it < max_iter; ++it) { + double rn = r.norm(); + if (rn < tol) return true; + Eigen::MatrixXd J = jacobian(m_vars); + Eigen::MatrixXd A = J.transpose() * J; + Eigen::VectorXd g = J.transpose() * r; + bool stepped = false; + for (int t = 0; t < 12; ++t) { + Eigen::MatrixXd Ad = A; + for (int i = 0; i < Ad.rows(); ++i) + Ad(i, i) += lambda * (1.0 + Ad(i, i)); + Eigen::VectorXd dx = Ad.ldlt().solve(-g); + std::vector cand = m_vars; + for (size_t i = 0; i < cand.size(); ++i) + cand[i] += dx[static_cast(i)]; + Eigen::VectorXd rc = residuals(cand); + if (rc.norm() < rn) { + m_vars = cand; + r = rc; + lambda = std::max(lambda * 0.4, 1e-12); + stepped = true; + break; + } + lambda *= 3.0; + } + if (!stepped) break; + } + return r.norm() < tol * 100; +} + +double SketchConstraints::residual_norm() const +{ + return residuals(m_vars).norm(); +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/SketchConstraints.hpp b/src/libslic3r/CAD/SketchConstraints.hpp new file mode 100644 index 0000000000..88bcadc403 --- /dev/null +++ b/src/libslic3r/CAD/SketchConstraints.hpp @@ -0,0 +1,68 @@ +#ifndef slic3r_SketchConstraints_hpp_ +#define slic3r_SketchConstraints_hpp_ + +#include "libslic3r/Point.hpp" +#include +#include + +namespace Slic3r { + +class SketchConstraints { +public: + int add_point(double x, double y); + void set_point(int id, double x, double y); + Vec2d get_point(int id) const; + int point_count() const; + + void fix_point(int id); + void coincident(int a, int b); + void horizontal(int a, int b); + void vertical(int a, int b); + void distance(int a, int b, double d); + void lock_x(int id, double x); + void lock_y(int id, double y); + void equal_length(int a, int b, int c, int d); + void parallel(int a, int b, int c, int d); + void perpendicular(int a, int b, int c, int d); + void midpoint(int m, int a, int b); + void symmetric(int a, int b, int c, int d); + void angle(int a, int b, int c, int d, double radians); + void point_line_distance(int p, int a, int b, double dist); + + bool solve(int max_iter = 200, double tol = 1e-10); + double residual_norm() const; + +private: + std::vector m_vars; + + enum ConType : int { + FIX_POINT = 0, + COINCIDENT, + HORIZONTAL, + VERTICAL, + DISTANCE, + LOCK_X, + LOCK_Y, + EQUAL_LENGTH, + PARALLEL, + PERPENDICULAR, + MIDPOINT, + SYMMETRIC, + ANGLE, + PT_LINE_DIST + }; + + struct Con { + int type; + int a, b, c, d; + double k0, k1; + }; + std::vector m_cons; + + Eigen::VectorXd residuals(const std::vector& v) const; + Eigen::MatrixXd jacobian(const std::vector& v) const; +}; + +} // namespace Slic3r + +#endif // slic3r_SketchConstraints_hpp_ diff --git a/src/libslic3r/CAD/SketchEngine.cpp b/src/libslic3r/CAD/SketchEngine.cpp new file mode 100644 index 0000000000..5cc36ce648 --- /dev/null +++ b/src/libslic3r/CAD/SketchEngine.cpp @@ -0,0 +1,2361 @@ +#include "libslic3r/CAD/SketchEngine.hpp" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Slic3r { + +// Single source of truth for the weld tolerance the viewport and the kernel share. +// Defaults ON so headless/kernel-only callers keep welding; the GUI pushes the +// "auto_close_sketch_loops" preference in via set_sketch_auto_close(). +static bool s_auto_close = true; + +double sketch_join_tol() { return s_auto_close ? kSketchJoinTol : 0.0; } +void set_sketch_auto_close(bool on) { s_auto_close = on; } + +// ---- SketchPlane ---- + +gp_Pln SketchPlane::to_occt() const +{ + gp_Pnt o(origin.x(), origin.y(), origin.z()); + gp_Dir n(normal.x(), normal.y(), normal.z()); + gp_Dir x(x_axis.x(), x_axis.y(), x_axis.z()); + return gp_Pln(gp_Ax3(o, n, x)); +} + +SketchPlane SketchPlane::from_face(const TopoDS_Face& face) +{ + SketchPlane sp; + // Use the first triangulation vertex + face normal + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc); + if (!tri.IsNull() && tri->NbNodes() > 0) { + gp_Pnt p = tri->Node(1).Transformed(loc.Transformation()); + sp.origin = Vec3d(p.X(), p.Y(), p.Z()); + } + // Compute normal from BRep face + BRepAdaptor_Surface surf(face); + if (surf.GetType() != GeomAbs_Plane) { + // Fallback: try to use the first uv point + double u1 = surf.FirstUParameter(), v1 = surf.FirstVParameter(); + gp_Pnt pt; gp_Vec du, dv; + surf.D1(u1, v1, pt, du, dv); + gp_Dir n = gp_Dir(du.Crossed(dv)); + sp.normal = Vec3d(n.X(), n.Y(), n.Z()); + sp.x_axis = Vec3d(du.X(), du.Y(), du.Z()).normalized(); + sp.y_axis = sp.normal.cross(sp.x_axis).normalized(); + return sp; + } + // Plane face — use the plane directly + gp_Pln pln = surf.Plane(); + sp.origin = Vec3d(pln.Location().X(), pln.Location().Y(), pln.Location().Z()); + gp_Dir n = pln.Axis().Direction(); + sp.normal = Vec3d(n.X(), n.Y(), n.Z()); + gp_Dir xd = pln.XAxis().Direction(); + sp.x_axis = Vec3d(xd.X(), xd.Y(), xd.Z()); + sp.y_axis = sp.normal.cross(sp.x_axis).normalized(); + return sp; +} + +Vec2d SketchPlane::project(const Vec3d& ray_origin, const Vec3d& ray_dir) const +{ + double denom = ray_dir.dot(normal); + if (std::abs(denom) < 1e-12) + return {0, 0}; // ray parallel to plane + double t = (origin - ray_origin).dot(normal) / denom; + if (t < 0) + return {0, 0}; // behind camera + Vec3d hit = ray_origin + t * ray_dir; + Vec3d local = hit - origin; + return {local.dot(x_axis), local.dot(y_axis)}; +} + +Vec3d SketchPlane::to_world(const Vec2d& pt) const +{ + return origin + x_axis * pt.x() + y_axis * pt.y(); +} + +// ---- SketchProfile ---- + +bool SketchProfile::is_closed(double tolerance) const +{ + if (points.size() < 3) return false; + return (points.front() - points.back()).norm() < tolerance; +} + +bool SketchProfile::try_close(double tolerance) +{ + if (is_closed(tolerance)) { + closed = true; + return true; + } + if (points.size() < 2) return false; + if ((points.front() - points.back()).norm() < tolerance) { + closed = true; + return true; + } + return false; +} + +TopoDS_Wire SketchProfile::to_occt_wire(const SketchPlane& plane) const +{ + if (points.size() < 2) + throw std::runtime_error("Profile has fewer than 2 points"); + + BRepBuilderAPI_MakeWire builder; + for (size_t i = 0; i < points.size(); ++i) { + Vec3d a3 = plane.to_world(points[i]); + Vec3d b3 = plane.to_world(points[(i + 1) % points.size()]); + gp_Pnt pa(a3.x(), a3.y(), a3.z()); + gp_Pnt pb(b3.x(), b3.y(), b3.z()); + builder.Add(BRepBuilderAPI_MakeEdge(pa, pb).Edge()); + } + builder.Build(); + if (!builder.IsDone()) + throw std::runtime_error("Failed to build wire from profile"); + return builder.Wire(); +} + +// ---- SketchEngine ---- + +static TopoDS_Shape extrude_face_internal(const TopoDS_Face& face, const gp_Dir& dir, double length, bool symmetric) +{ + gp_Vec vec = gp_Vec(dir) * length; + if (symmetric) { + gp_Vec halfVec = gp_Vec(dir) * (length / 2.0); + BRepPrimAPI_MakePrism pos(face, halfVec); + BRepPrimAPI_MakePrism neg(face, -halfVec); + if (!pos.IsDone() || !neg.IsDone()) throw std::runtime_error("Symmetric extrude failed"); + BRepAlgoAPI_Fuse fuse(pos.Shape(), neg.Shape()); + if (!fuse.IsDone()) throw std::runtime_error("Fuse failed"); + return fuse.Shape(); + } + BRepPrimAPI_MakePrism prism(face, vec); + if (!prism.IsDone()) throw std::runtime_error("Extrude failed"); + return prism.Shape(); +} + +TopoDS_Shape SketchEngine::make_extrude(const TopoDS_Wire& wire, const SketchPlane& plane, + double length, bool symmetric, double taper_deg) +{ + BRepBuilderAPI_MakeFace fm(wire); + if (!fm.IsDone()) throw std::runtime_error("Failed to make face from wire"); + return make_extrude(fm.Face(), plane, length, symmetric, taper_deg); +} + +TopoDS_Shape SketchEngine::make_extrude(const TopoDS_Face& face, const SketchPlane& plane, + double length, bool symmetric, double /*taper_deg*/) +{ + gp_Dir dir(plane.normal.x(), plane.normal.y(), plane.normal.z()); + return extrude_face_internal(face, dir, length, symmetric); +} + +TopoDS_Shape SketchEngine::make_extrude_two_sided(const TopoDS_Wire& wire, const SketchPlane& plane, + double up, double down) +{ + BRepBuilderAPI_MakeFace fm(wire); + if (!fm.IsDone()) throw std::runtime_error("Failed to make face from wire"); + return make_extrude_two_sided(fm.Face(), plane, up, down); +} + +TopoDS_Shape SketchEngine::make_extrude_two_sided(const TopoDS_Face& face, const SketchPlane& plane, + double up, double down) +{ + gp_Dir dir(plane.normal.x(), plane.normal.y(), plane.normal.z()); + const double u = std::abs(up), d = std::abs(down); + if (u < 1e-9 && d < 1e-9) return TopoDS_Shape(); + if (d < 1e-9) { BRepPrimAPI_MakePrism p(face, gp_Vec(dir) * u); return p.Shape(); } + if (u < 1e-9) { BRepPrimAPI_MakePrism p(face, gp_Vec(dir) * -d); return p.Shape(); } + BRepPrimAPI_MakePrism pos(face, gp_Vec(dir) * u); + BRepPrimAPI_MakePrism neg(face, gp_Vec(dir) * -d); + BRepAlgoAPI_Fuse fuse(pos.Shape(), neg.Shape()); + if (!fuse.IsDone()) throw std::runtime_error("two-sided extrude fuse failed"); + return fuse.Shape(); +} + +TopoDS_Shape SketchEngine::make_extrude_taper(const TopoDS_Wire& wire, const SketchPlane& plane, + double length, double taper_deg) +{ + gp_Dir dir(plane.normal.x(), plane.normal.y(), plane.normal.z()); + auto straight = [&]() -> TopoDS_Shape { + BRepBuilderAPI_MakeFace fm(wire); + BRepPrimAPI_MakePrism prism(fm.Face(), gp_Vec(dir) * length); + return prism.Shape(); + }; + if (std::abs(taper_deg) >= 89.0 || std::abs(length) < 1e-9) return straight(); + const double off = length * std::tan(taper_deg * M_PI / 180.0); + if (std::abs(off) < 1e-7) return straight(); + try { + // 1) offset the planar base wire in its own plane by `off` + BRepOffsetAPI_MakeOffset mko(wire, GeomAbs_Arc); + mko.Perform(off); + if (!mko.IsDone()) return straight(); + TopoDS_Shape offShape = mko.Shape(); + TopoDS_Wire topFlat; + if (offShape.ShapeType() == TopAbs_WIRE) topFlat = TopoDS::Wire(offShape); + else { for (TopExp_Explorer ex(offShape, TopAbs_WIRE); ex.More(); ex.Next()) { topFlat = TopoDS::Wire(ex.Current()); break; } } + if (topFlat.IsNull()) return straight(); + // 2) lift it along the normal by `length` + gp_Trsf tr; tr.SetTranslation(gp_Vec(dir) * length); + BRepBuilderAPI_Transform xf(topFlat, tr, Standard_True); + TopoDS_Wire topWire = TopoDS::Wire(xf.Shape()); + // 3) loft base -> top into a solid + BRepOffsetAPI_ThruSections loft(Standard_True /*solid*/, Standard_False /*ruled*/); + loft.AddWire(wire); + loft.AddWire(topWire); + loft.Build(); + if (!loft.IsDone()) return straight(); + TopoDS_Shape s = loft.Shape(); + if (s.IsNull()) return straight(); + return s; + } catch (const Standard_Failure&) { + return straight(); + } +} + +TopoDS_Shape SketchEngine::make_extrude_face(const TopoDS_Face& face, const SketchPlane& plane, + double length, bool symmetric, double /*taper_deg*/) +{ + gp_Dir dir(plane.normal.x(), plane.normal.y(), plane.normal.z()); + return extrude_face_internal(face, dir, length, symmetric); +} + +TopoDS_Shape SketchEngine::make_extrude_regions( + const std::vector>>& regions, + const SketchPlane& plane, double length, bool symmetric) +{ + // Drop consecutive coincident points and the closing duplicate. FreeType / + // SVG flattening routinely emits repeated points which would build a + // degenerate OCCT edge and make the wire builder throw — sanitising keeps a + // single bad glyph from killing the whole extrude. + auto clean = [](const std::vector& pts) { + const double eps2 = 1e-12; // ~1e-6 mm + std::vector out; + out.reserve(pts.size()); + for (const Vec2d& p : pts) + if (out.empty() || (p - out.back()).squaredNorm() > eps2) + out.push_back(p); + while (out.size() >= 2 && (out.front() - out.back()).squaredNorm() <= eps2) + out.pop_back(); + return out; + }; + + // Build a closed planar wire from a contour. Never throws — returns a null + // wire on any failure so the caller can skip just that contour. Winding is + // NOT normalised here: ShapeFix_Face::FixOrientation() below classifies outer + // vs hole by geometry and fixes orientations, which is robust to the + // inconsistent winding Emboss/NSVG glyph contours arrive with (manual + // winding guesses extrude holed glyphs (P, e, o, 8) inverted or solid). + auto contour_wire = [&](const std::vector& raw) -> TopoDS_Wire { + std::vector pts = clean(raw); + if (pts.size() < 3) return TopoDS_Wire{}; + SketchProfile prof; + prof.points = std::move(pts); + prof.closed = true; + try { return prof.to_occt_wire(plane); } + catch (...) { return TopoDS_Wire{}; } + }; + + gp_Dir dir(plane.normal.x(), plane.normal.y(), plane.normal.z()); + + // Accumulate each region's solid into a compound rather than boolean-fusing: + // glyphs are independent profiles, so a compound avoids every boolean-failure + // mode (and is faster). Holes are still handled per region by MakeFace. + BRep_Builder bb; + TopoDS_Compound comp; + bb.MakeCompound(comp); + int count = 0; + TopoDS_Shape last; + + for (const auto& region : regions) { + if (region.empty()) continue; + try { + TopoDS_Wire outer = contour_wire(region[0]); + if (outer.IsNull()) continue; + + // Add the outer loop + every hole loop as-is, then let ShapeFix_Face + // classify outer vs holes by area/containment and set correct wire + // orientations. This is winding-independent, so holed glyphs extrude + // with a solid body and empty counters regardless of source winding. + BRepBuilderAPI_MakeFace fm(outer); + if (!fm.IsDone()) continue; + for (size_t h = 1; h < region.size(); ++h) { + TopoDS_Wire hole = contour_wire(region[h]); + if (hole.IsNull()) continue; + fm.Add(hole); + } + if (!fm.IsDone()) continue; + + ShapeFix_Face sff(fm.Face()); + sff.FixOrientation(); + const TopoDS_Face face = sff.Face(); + + TopoDS_Shape solid = extrude_face_internal(face, dir, length, symmetric); + bb.Add(comp, solid); + last = solid; + ++count; + } catch (...) { + continue; // skip one bad glyph rather than fail the whole insert + } + } + + if (count == 0) throw std::runtime_error("imported regions produced no extrudable geometry"); + return count == 1 ? last : TopoDS_Shape(comp); // avoid a compound-of-one +} + +TopoDS_Shape SketchEngine::make_revolve(const TopoDS_Wire& wire, const SketchPlane& plane, + double angle_deg, int axis_sel) +{ + BRepBuilderAPI_MakeFace faceMaker(wire); + if (!faceMaker.IsDone()) + throw std::runtime_error("Failed to make face from wire"); + TopoDS_Face face = faceMaker.Face(); + + // Revolution axis lies in the sketch plane through its origin: X (0) or Y (1). + const Vec3d& adir = (axis_sel == 1) ? plane.y_axis : plane.x_axis; + gp_Pnt o(plane.origin.x(), plane.origin.y(), plane.origin.z()); + gp_Dir xd(adir.x(), adir.y(), adir.z()); + gp_Ax1 axis(o, xd); + + double angle_rad = angle_deg * M_PI / 180.0; + // A negative angle is expressed as a positive sweep about the reversed axis, + // since BRepPrimAPI_MakeRevol expects an angle in (0, 2*pi]. + if (angle_rad < 0) { axis.Reverse(); angle_rad = -angle_rad; } + BRepPrimAPI_MakeRevol rev(face, axis, angle_rad); + if (!rev.IsDone()) + throw std::runtime_error("Failed to revolve"); + return rev.Shape(); +} + +TopoDS_Shape SketchEngine::make_sweep(const TopoDS_Wire& profile, const TopoDS_Wire& path) +{ + BRepBuilderAPI_MakeFace faceMaker(profile); + if (!faceMaker.IsDone()) + throw std::runtime_error("Failed to make face from sweep profile"); + TopoDS_Face face = faceMaker.Face(); + + BRepOffsetAPI_MakePipe pipe(path, face); + pipe.Build(); + if (!pipe.IsDone()) + throw std::runtime_error("Failed to sweep profile along path"); + return pipe.Shape(); +} + +TopoDS_Shape SketchEngine::make_loft(const std::vector& profiles, bool ruled) +{ + if (profiles.size() < 2) + throw std::runtime_error("loft needs at least 2 profiles"); + BRepOffsetAPI_ThruSections loft(Standard_True /*solid*/, + ruled ? Standard_True : Standard_False); + for (const TopoDS_Wire& w : profiles) { + if (w.IsNull()) throw std::runtime_error("loft: null profile wire"); + loft.AddWire(w); + } + loft.Build(); + if (!loft.IsDone()) throw std::runtime_error("loft failed"); + TopoDS_Shape s = loft.Shape(); + if (s.IsNull()) throw std::runtime_error("loft produced no solid"); + return s; +} + +// ponytail: sibling of make_loft that builds an open shell (sheet) instead of a solid. +TopoDS_Shape SketchEngine::make_loft_surface(const std::vector& profiles, bool ruled) +{ + if (profiles.size() < 2) + throw std::runtime_error("loft needs at least 2 profiles"); + BRepOffsetAPI_ThruSections loft(Standard_False /*shell, no end caps*/, + ruled ? Standard_True : Standard_False); + for (const TopoDS_Wire& w : profiles) { + if (w.IsNull()) throw std::runtime_error("loft: null profile wire"); + loft.AddWire(w); + } + loft.Build(); + if (!loft.IsDone()) throw std::runtime_error("loft failed"); + TopoDS_Shape s = loft.Shape(); + if (s.IsNull()) throw std::runtime_error("loft produced no shape"); + return s; +} + +TopoDS_Shape SketchEngine::make_pocket(const TopoDS_Wire& wire, const SketchPlane& plane, + const TopoDS_Shape& target, double depth) +{ + BRepBuilderAPI_MakeFace fm(wire); + if (!fm.IsDone()) throw std::runtime_error("Pocket face failed"); + TopoDS_Shape tool = extrude_face_internal(fm.Face(), + gp_Dir(plane.normal.x(), plane.normal.y(), plane.normal.z()), depth + 1.0, false); + BRepAlgoAPI_Cut cut(target, tool); + if (!cut.IsDone()) throw std::runtime_error("Pocket cut failed"); + return cut.Shape(); +} + +TriangleMesh SketchEngine::tessellate(const TopoDS_Shape& shape, + double linear_deflection, + double angular_deflection) +{ + std::vector dummy; + return tessellate(shape, dummy, linear_deflection, angular_deflection); +} + +TriangleMesh SketchEngine::tessellate(const TopoDS_Shape& shape, + std::vector& tri_face, + double linear_deflection, + double angular_deflection) +{ + tri_face.clear(); + BRepMesh_IncrementalMesh mesh(shape, linear_deflection, false, angular_deflection, true); + + int nbNodes = 0, nbTriangles = 0; + for (TopExp_Explorer exp(shape, TopAbs_FACE); exp.More(); exp.Next()) { + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(TopoDS::Face(exp.Current()), loc); + if (!tri.IsNull()) { + nbNodes += tri->NbNodes(); + nbTriangles += tri->NbTriangles(); + } + } + + if (nbTriangles == 0 || nbNodes == 0) + return TriangleMesh{}; + + indexed_triangle_set raw; + raw.vertices.reserve(nbNodes); + raw.indices.reserve(nbTriangles); + tri_face.reserve(nbTriangles); + + int faceIdx = -1; + int nodeOff = 0; + for (TopExp_Explorer exp(shape, TopAbs_FACE); exp.More(); exp.Next()) { + ++faceIdx; + + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(TopoDS::Face(exp.Current()), loc); + if (tri.IsNull()) continue; + + gp_Trsf trsf = loc.Transformation(); + for (int i = 1; i <= tri->NbNodes(); ++i) { + gp_Pnt p = tri->Node(i); + p.Transform(trsf); + raw.vertices.emplace_back(Vec3f(p.X(), p.Y(), p.Z())); + } + + TopAbs_Orientation orient = exp.Current().Orientation(); + int ids[3]; + for (int i = 1; i <= tri->NbTriangles(); ++i) { + Poly_Triangle t = tri->Triangle(i); + t.Get(ids[0], ids[1], ids[2]); + if (orient == TopAbs_REVERSED) + std::swap(ids[1], ids[2]); + + raw.indices.emplace_back(nodeOff + ids[0] - 1, + nodeOff + ids[1] - 1, + nodeOff + ids[2] - 1); + tri_face.push_back(faceIdx); + } + nodeOff += tri->NbNodes(); + } + + std::map, int> vmap; + indexed_triangle_set its; + its.indices.reserve(raw.indices.size()); + its.vertices.reserve(raw.vertices.size() / 2); + + std::vector kept_face; + kept_face.reserve(tri_face.size()); + + for (size_t ti = 0; ti < raw.indices.size(); ++ti) { + const auto& tri = raw.indices[ti]; + stl_triangle_vertex_indices new_tri; + for (int j = 0; j < 3; ++j) { + const stl_vertex& v = raw.vertices[tri[j]]; + auto key = std::make_tuple(v.x(), v.y(), v.z()); + auto it = vmap.find(key); + if (it == vmap.end()) { + int new_id = static_cast(its.vertices.size()); + vmap[key] = new_id; + its.vertices.push_back(v); + new_tri[j] = new_id; + } else { + new_tri[j] = it->second; + } + } + // Drop triangles that welding collapsed to a repeated vertex. OCCT emits one at the + // pole of every degenerate surface parameterization — a sphere patch at a filleted + // corner has exactly one — and its v->v edge can never pair with a neighbour, so the + // mesh reports an open edge per corner and the slicer declares the model non-manifold + // and tells the user to repair it elsewhere. The triangle has zero area: removing it + // changes no geometry, only the mesh's bookkeeping. + if (new_tri[0] == new_tri[1] || new_tri[1] == new_tri[2] || new_tri[0] == new_tri[2]) + continue; + its.indices.push_back(new_tri); + kept_face.push_back(tri_face[ti]); + } + tri_face.swap(kept_face); // tri_face stays index-aligned with its.indices + + return TriangleMesh(std::move(its)); +} + +std::vector SketchEngine::entities_to_wires(const std::vector& entities, + const SketchPlane& plane, + bool closed_only) +{ + // Effective weld tolerance: kSketchJoinTol when auto-close is on, 0.0 when off. + // Read ONCE so the union-find, the node weld and the vertex tolerance below all + // agree. With 0.0 the comparisons use <= so exactly coincident endpoints still join. + const double tol = sketch_join_tol(); + + struct Item { const SketchEntity* e; size_t idx; }; + std::vector valid; + valid.reserve(entities.size()); + for (size_t i = 0; i < entities.size(); ++i) { + const SketchEntity& e = entities[i]; + if (e.construction) continue; + if (e.type == SketchEntity::Type::Point) continue; + valid.push_back({&e, i}); + } + if (valid.empty()) return {}; + + // Build an OCCT ellipse (gp_Elips) in the sketch plane from an Ellipse(Arc) + // entity. Major-axis direction = plane-rotated (cos phi, sin phi). Enforces + // a >= b (OCCT requirement); the GUI builder already guarantees this. + auto make_elips = [&](const SketchEntity& c) -> gp_Elips { + Vec3d c3 = plane.to_world(c.center); + gp_Pnt center(c3.x(), c3.y(), c3.z()); + gp_Dir n(plane.normal.x(), plane.normal.y(), plane.normal.z()); + Vec2d maj2(std::cos(c.rotation), std::sin(c.rotation)); + Vec3d x3 = plane.to_world(c.center + maj2) - c3; + gp_Dir xdir(x3.x(), x3.y(), x3.z()); + double a = c.radius, b = c.rminor; + if (a < b) std::swap(a, b); + return gp_Elips(gp_Ax2(center, n, xdir), a, b); + }; + + // Clamped uniform B-spline (degree min(3, n-1)) through the control poles. The + // knot construction is mirrored in DesignSketchTool's GUI sampler so the on-screen + // curve matches the extruded geometry exactly. + auto make_bspline = [&](const SketchEntity& c) -> Handle(Geom_BSplineCurve) { + const int n = int(c.ctrl.size()); + const int p = n >= 4 ? 3 : (n >= 2 ? n - 1 : 0); + if (p < 1) return Handle(Geom_BSplineCurve)(); + TColgp_Array1OfPnt poles(1, n); + for (int i = 0; i < n; ++i) { + Vec3d w = plane.to_world(c.ctrl[i]); + poles.SetValue(i + 1, gp_Pnt(w.x(), w.y(), w.z())); + } + const int interior = n - p - 1; // count of single interior knots + const int nknots = interior + 2; + TColStd_Array1OfReal knots(1, nknots); + TColStd_Array1OfInteger mults(1, nknots); + knots.SetValue(1, 0.0); mults.SetValue(1, p + 1); + for (int i = 1; i <= interior; ++i) { knots.SetValue(i + 1, double(i)); mults.SetValue(i + 1, 1); } + knots.SetValue(nknots, double(interior + 1)); mults.SetValue(nknots, p + 1); + return new Geom_BSplineCurve(poles, knots, mults, p); + }; + + auto is_chain = [](const SketchEntity& e) { + return e.type == SketchEntity::Type::Line || e.type == SketchEntity::Type::Arc || + e.type == SketchEntity::Type::EllipseArc || e.type == SketchEntity::Type::BSpline; + }; + + // Endpoints of a chain entity in SKETCH coordinates (before to_world). False on a + // degenerate (fewer than two control points) BSpline, which can never close a loop. + auto endpoints = [&](const SketchEntity& e, Vec2d& a, Vec2d& b) -> bool { + if (e.type == SketchEntity::Type::BSpline) { + if (e.ctrl.size() < 2) return false; + a = e.ctrl.front(); b = e.ctrl.back(); + return true; + } + a = e.p0; b = e.p1; + return true; + }; + + // Sketch weld tolerance. Nothing legitimate in a mm-scale sketch is 1 um apart, so two + // endpoints within this distance count as one joint. The union-find grouping and the wire + // build below MUST use the SAME number, or a joint can be united into a loop and then + // rejected by the wire builder (which silently drops the edge — see the wire build). + // `<=` (not `<`) so exactly coincident endpoints still join when tol == 0 (auto-close off). + auto same = [&](const Vec2d& p, const Vec2d& q) { return (p - q).norm() <= tol; }; + + // Union-find over the valid index list: chain entities sharing an endpoint belong to one loop. + std::vector parent(valid.size()); + for (size_t i = 0; i < valid.size(); ++i) parent[i] = int(i); + auto find = [&](int x) { + while (parent[x] != x) { parent[x] = parent[parent[x]]; x = parent[x]; } + return x; + }; + auto unite = [&](int x, int y) { + int rx = find(x), ry = find(y); + if (rx != ry) parent[rx] = ry; + }; + + std::vector chain_idx; + chain_idx.reserve(valid.size()); + for (size_t i = 0; i < valid.size(); ++i) + if (is_chain(*valid[i].e)) chain_idx.push_back(i); + + for (size_t a = 0; a < chain_idx.size(); ++a) { + const size_t i = chain_idx[a]; + Vec2d i0, i1; + if (!endpoints(*valid[i].e, i0, i1)) continue; + for (size_t b = a + 1; b < chain_idx.size(); ++b) { + const size_t j = chain_idx[b]; + Vec2d j0, j1; + if (!endpoints(*valid[j].e, j0, j1)) continue; + if (same(i0, j0) || same(i0, j1) || same(i1, j0) || same(i1, j1)) + unite(int(i), int(j)); + } + } + + // Group chain entities by connected-component root. + std::map> comps; + for (size_t i = 0; i < valid.size(); ++i) { + if (!is_chain(*valid[i].e)) continue; + comps[find(int(i))].push_back(i); + } + + // Loop descriptors: each Circle/Ellipse is its own loop; each chain component is a loop. + struct Loop { size_t min_idx{0}; bool closed_single{false}; size_t member{0}; std::vector members; }; + std::vector loops; + for (size_t i = 0; i < valid.size(); ++i) { + const SketchEntity& e = *valid[i].e; + if (e.type == SketchEntity::Type::Circle || e.type == SketchEntity::Type::Ellipse) { + Loop l; l.min_idx = valid[i].idx; l.closed_single = true; l.member = i; + loops.push_back(l); + } + } + for (const auto& kv : comps) { + Loop l; l.closed_single = false; l.members = kv.second; + size_t mn = std::numeric_limits::max(); + for (size_t m : kv.second) mn = std::min(mn, valid[m].idx); + l.min_idx = mn; + loops.push_back(l); + } + // Deterministic order: by the index of each loop's first entity. + std::sort(loops.begin(), loops.end(), [](const Loop& x, const Loop& y) { return x.min_idx < y.min_idx; }); + + // Build each loop. All-or-nothing: one failed loop poisons the whole result. + std::vector out; + out.reserve(loops.size()); + for (const Loop& loop : loops) { + BRepBuilderAPI_MakeWire wm; + if (loop.closed_single) { + const SketchEntity& c = *valid[loop.member].e; + TopoDS_Edge e; + if (c.type == SketchEntity::Type::Ellipse) { + if (c.radius <= 1e-9 || c.rminor <= 1e-9) return {}; + e = BRepBuilderAPI_MakeEdge(make_elips(c)).Edge(); + } else { + Vec3d c3 = plane.to_world(c.center); + gp_Pnt center(c3.x(), c3.y(), c3.z()); + gp_Dir n(plane.normal.x(), plane.normal.y(), plane.normal.z()); + gp_Circ circ(gp_Ax2(center, n), c.radius); + e = BRepBuilderAPI_MakeEdge(circ).Edge(); + } + wm.Add(e); + } else { + // loop.members is in ENTITY-CREATION order, not loop-traversal order. A partial + // wire rejects an out-of-order edge even for a perfectly closed sketch, so first + // weld every endpoint into a shared node, then traverse the chain in order. Each + // endpoint snaps to an existing node when within `tol`, and every edge + // touching a node shares ONE TopoDS_Vertex: the wire builder then sees vertex + // identity, not geometric proximity, so a joint open by a few um (larger than + // OCCT's default 1e-7 vertex tolerance) still connects. + struct Member { size_t v; int a; int b; }; // v = index into `valid`, a/b = node ids + std::vector node_pt; // welded sketch point per node + std::vector node_deg; // endpoint count per node + auto node_id = [&](const Vec2d& p) -> int { + for (size_t i = 0; i < node_pt.size(); ++i) + if ((node_pt[i] - p).norm() <= tol) return int(i); + node_pt.push_back(p); + node_deg.push_back(0); + return int(node_pt.size()) - 1; + }; + std::vector ms; + ms.reserve(loop.members.size()); + for (size_t m : loop.members) { + Vec2d p0, p1; + if (!endpoints(*valid[m].e, p0, p1)) return {}; + int a = node_id(p0), b = node_id(p1); + node_deg[a]++; node_deg[b]++; + ms.push_back({m, a, b}); + } + + // Traverse: begin at a degree-1 node for an open chain, else at any member, then + // repeatedly take the unused member sharing the current open node. + std::vector order; + order.reserve(ms.size()); + std::vector used(ms.size(), 0); + size_t start = 0; + for (size_t i = 0; i < ms.size(); ++i) + if (node_deg[ms[i].a] == 1 || node_deg[ms[i].b] == 1) { start = i; break; } + const int start_node = (node_deg[ms[start].a] == 1) ? ms[start].a + : (node_deg[ms[start].b] == 1) ? ms[start].b + : ms[start].a; + int open = start_node; + for (;;) { + size_t next = ms.size(); + for (size_t k = 0; k < ms.size(); ++k) { + if (used[k]) continue; + if (ms[k].a == open || ms[k].b == open) { next = k; break; } + } + if (next == ms.size()) break; + order.push_back(next); + used[next] = 1; + open = (ms[next].a == open) ? ms[next].b : ms[next].a; + } + if (order.size() != ms.size()) return {}; + + // The walk ends on the node it could not leave; that node equals the starting + // node exactly when the chain is a closed cycle. When closed_only is set, an open + // chain is DISCARDED (skipped), never an error: the viewport discards open chains + // when it decides a region is extrudable (region_loops exists to find EXTRUDABLE + // regions), so the kernel must discard them too, or the two disagree about what + // belongs to the profile and a stray click breaks a feature that looks perfect on + // screen. Reuses the welded node ids — no second tolerance. + // A component is OPEN exactly when some welded node has only one edge on it — + // that free endpoint is where the chain stops. Do NOT define it as "the walk + // returned to its starting node": a legitimately closed loop that also carries an + // extra edge between two of its nodes (a bridge added across a C profile, so the + // gap is spanned twice) has no free endpoint but its Eulerian walk still ends + // somewhere else, and that definition discarded it. Degree-1 is the property that + // actually distinguishes a stray segment from a closed profile. + if (closed_only) { + bool has_free_end = false; + for (const Member& mm : ms) + if (node_deg[mm.a] == 1 || node_deg[mm.b] == 1) { has_free_end = true; break; } + if (has_free_end) continue; + } + + // One TopoDS_Vertex per node at the welded world point. Tolerance widened to + // `tol` because MakeEdge(curve, va, vb) projects each vertex onto the + // curve within the vertex tolerance (BRepLib_MakeEdge::Init), and a welded node + // can be up to the weld gap off another entity's curve. OCCT must never be handed + // a zero vertex tolerance, so clamp at Precision::Confusion() when tol == 0. + std::vector verts(node_pt.size()); + BRep_Builder B; + for (size_t i = 0; i < node_pt.size(); ++i) { + Vec3d w = plane.to_world(node_pt[i]); + verts[i] = BRepBuilderAPI_MakeVertex(gp_Pnt(w.x(), w.y(), w.z())).Vertex(); + B.UpdateVertex(verts[i], std::max(tol, Precision::Confusion())); + } + + for (size_t o : order) { + const Member& mm = ms[o]; + const SketchEntity* e = valid[mm.v].e; + const TopoDS_Vertex& va = verts[mm.a]; + const TopoDS_Vertex& vb = verts[mm.b]; + if (e->type == SketchEntity::Type::Line) { + wm.Add(BRepBuilderAPI_MakeEdge(va, vb).Edge()); + } else if (e->type == SketchEntity::Type::EllipseArc) { + if (e->radius <= 1e-9 || e->rminor <= 1e-9) return {}; + GC_MakeArcOfEllipse arc_maker(make_elips(*e), e->start_angle, e->end_angle, Standard_True); + if (!arc_maker.IsDone()) return {}; + wm.Add(BRepBuilderAPI_MakeEdge(arc_maker.Value(), va, vb).Edge()); + } else if (e->type == SketchEntity::Type::Arc) { + Vec3d p0 = plane.to_world(e->p0); + Vec3d p1 = plane.to_world(e->p1); + double mid_angle = (e->start_angle + e->end_angle) * 0.5; + Vec2d mid_2d(e->center.x() + e->radius * std::cos(mid_angle), + e->center.y() + e->radius * std::sin(mid_angle)); + Vec3d mid_3d = plane.to_world(mid_2d); + gp_Pnt pa(p0.x(), p0.y(), p0.z()); + gp_Pnt pm(mid_3d.x(), mid_3d.y(), mid_3d.z()); + gp_Pnt pb(p1.x(), p1.y(), p1.z()); + GC_MakeArcOfCircle arc_maker(pa, pm, pb); + if (!arc_maker.IsDone()) return {}; + Handle(Geom_TrimmedCurve) curve = arc_maker.Value(); + wm.Add(BRepBuilderAPI_MakeEdge(curve, va, vb).Edge()); + } else if (e->type == SketchEntity::Type::BSpline) { + Handle(Geom_BSplineCurve) crv = make_bspline(*e); + if (crv.IsNull()) return {}; + wm.Add(BRepBuilderAPI_MakeEdge(crv, va, vb).Edge()); + } + } + } + wm.Build(); + // IsDone() reflects only the LAST Add: BRepLib_MakeWire::Add sets BRepLib_DisconnectedWire + // + NotDone() and returns on a disconnected edge (dropping it), but every successful Add + // finishes with BRepLib_WireDone + Done(), overwriting that failure (BRepLib_MakeWire.cxx). + // So dropped edges go unnoticed — count the edges actually in the wire instead. + if (!wm.IsDone()) return {}; + const TopoDS_Wire wire = wm.Wire(); + size_t edge_count = 0; + for (TopExp_Explorer ex(wire, TopAbs_EDGE); ex.More(); ex.Next()) ++edge_count; + if (edge_count != (loop.closed_single ? 1 : loop.members.size())) return {}; + out.push_back(wire); + } + return out; +} + +TopoDS_Wire SketchEngine::entities_to_wire(const std::vector& entities, + const SketchPlane& plane, + bool closed_only) +{ + const std::vector w = entities_to_wires(entities, plane, closed_only); + return w.size() == 1 ? w[0] : TopoDS_Wire{}; +} + +std::vector sketch_open_ends(const std::vector& entities, + const SketchPlane& /*plane*/) +{ + const double tol = sketch_join_tol(); + + auto is_chain = [](const SketchEntity& e) { + return e.type == SketchEntity::Type::Line || e.type == SketchEntity::Type::Arc || + e.type == SketchEntity::Type::EllipseArc || e.type == SketchEntity::Type::BSpline; + }; + auto endpoints = [](const SketchEntity& e, Vec2d& a, Vec2d& b) -> bool { + if (e.type == SketchEntity::Type::BSpline) { + if (e.ctrl.size() < 2) return false; + a = e.ctrl.front(); b = e.ctrl.back(); + return true; + } + a = e.p0; b = e.p1; + return true; + }; + + // Weld every chain endpoint into a shared node under the SAME tolerance the wire + // build uses, then report the degree-1 nodes: they are where a chain fails to close. + // Circle/Ellipse are always closed and contribute no endpoint. + std::vector node_pt; + std::vector node_deg; + auto node_id = [&](const Vec2d& p) -> int { + for (size_t i = 0; i < node_pt.size(); ++i) + if ((node_pt[i] - p).norm() <= tol) return int(i); + node_pt.push_back(p); + node_deg.push_back(0); + return int(node_pt.size()) - 1; + }; + + for (const SketchEntity& e : entities) { + if (e.construction) continue; + if (!is_chain(e)) continue; + Vec2d a, b; + if (!endpoints(e, a, b)) continue; + int ia = node_id(a), ib = node_id(b); + node_deg[ia]++; + node_deg[ib]++; + } + + std::vector out; + for (size_t i = 0; i < node_pt.size(); ++i) + if (node_deg[i] == 1) out.push_back(node_pt[i]); + return out; +} + +TopoDS_Face SketchEngine::wires_to_face(const std::vector& wires, + const SketchPlane& plane) +{ + if (wires.empty()) throw std::runtime_error("sketch has no closed loop"); + + // The ASSEMBLED face below is built on the SKETCH's own plane rather than on a surface OCCT + // infers from the outer wire. The inferred plane has no reason to share the sketch's normal, + // and when they disagree the hole classification produces no hole: a plate sketched on a + // plane whose normal points -Z came out as the full box PLUS a disc (measured 220274 mm3 + // where 163726 was due — 192000 box + 28274 disc). `plane` was a parameter this function + // never used. Only the assembly is named: the single-wire and per-wire-area builds keep the + // inferred surface, because naming a plane also makes MakeFace accept a wire that does not + // bound a face, and that failure is the check an open stray line is caught by. + const gp_Pln pln(gp_Pnt(plane.origin.x(), plane.origin.y(), plane.origin.z()), + gp_Dir(plane.normal.x(), plane.normal.y(), plane.normal.z())); + + if (wires.size() == 1) { + BRepBuilderAPI_MakeFace fm(wires[0]); + if (!fm.IsDone()) throw std::runtime_error("sketch loop does not bound a face"); + return fm.Face(); + } + + // Two or more loops: build a face per wire and let the largest area be the outer + // boundary; every other loop is a candidate hole inside it. + std::vector faces; + faces.reserve(wires.size()); + std::vector areas; + areas.reserve(wires.size()); + for (const TopoDS_Wire& w : wires) { + BRepBuilderAPI_MakeFace fm(w); + if (!fm.IsDone()) throw std::runtime_error("sketch loop does not bound a face"); + faces.push_back(fm.Face()); + GProp_GProps props; + BRepGProp::SurfaceProperties(faces.back(), props); + areas.push_back(props.Mass()); + } + + size_t outer = 0; + for (size_t i = 1; i < areas.size(); ++i) + if (areas[i] > areas[outer]) outer = i; + + // Note: NOT MakeFace(faces[outer], wires[outer]) — that constructor copies the outer face + // (including its existing boundary wire) and then adds the wire again, doubling the outer + // boundary. The wire-only constructor starts clean and the reversed holes follow. + BRepBuilderAPI_MakeFace fm(pln, wires[outer]); + for (size_t i = 0; i < wires.size(); ++i) { + if (i == outer) continue; + // Containment is checked, not assumed: a vertex of the inner wire must lie strictly + // inside the outer face. A loop outside the largest one is a second island, not a hole. + gp_Pnt p; + bool got = false; + for (TopExp_Explorer ex(wires[i], TopAbs_VERTEX); ex.More(); ex.Next()) { + p = BRep_Tool::Pnt(TopoDS::Vertex(ex.Current())); + got = true; + break; + } + if (!got) throw std::runtime_error("sketch loop does not bound a face"); + BRepClass_FaceClassifier fc(faces[outer], p, 1e-7); + if (fc.State() != TopAbs_IN) + throw std::runtime_error("sketch has two disjoint regions; put each in its own sketch"); + // Add the hole loop AS-IS and let ShapeFix_Face sort the orientations out below. + // Reversing it here only works when the sketch happened to wind both loops the same + // way: a circle drawn clockwise inside a counter-clockwise rectangle comes out matching + // the outer boundary, OCCT sweeps it as a second contour, and the prism is the plate + // with the bore FILLED and the disc's volume counted twice. Measured on the rig: + // bbox 67.17 x 219.67 x 10 (the whole plate) with volume 152088 mm3 against a solid-box + // 147520 — a body larger than its own bounding box, which is the signature of it. + fm.Add(wires[i]); + } + if (!fm.IsDone()) throw std::runtime_error("sketch loop does not bound a face"); + // Winding-independent classification of outer vs holes — the same idiom make_extrude_regions + // already uses for imported glyphs, which is why holed TEXT extruded correctly all along + // while a holed SKETCH did not. + ShapeFix_Face sff(fm.Face()); + sff.FixOrientation(); + return sff.Face(); +} + +std::vector SketchEngine::mirror_entities( + const std::vector& src, const Vec2d& a, const Vec2d& b) +{ + Vec2d dir = b - a; + if (dir.norm() < 1e-12) + return src; + + dir.normalize(); + + auto reflect = [&](const Vec2d& p) -> Vec2d { + Vec2d v = p - a; + return a + (2.0 * v.dot(dir)) * dir - v; + }; + + std::vector out; + out.reserve(src.size()); + + for (const auto& e : src) { + SketchEntity m = e; + switch (e.type) { + case SketchEntity::Type::Line: + m.p0 = reflect(e.p0); + m.p1 = reflect(e.p1); + break; + case SketchEntity::Type::Point: + m.p0 = reflect(e.p0); + break; + case SketchEntity::Type::Circle: + m.center = reflect(e.center); + m.p0 = m.center; + break; + case SketchEntity::Type::Arc: { + m.p0 = reflect(e.p0); + m.p1 = reflect(e.p1); + m.center = reflect(e.center); + + const Vec2d& c = m.center; + m.start_angle = std::atan2(m.p0.y() - c.y(), m.p0.x() - c.x()); + double raw_end = std::atan2(m.p1.y() - c.y(), m.p1.x() - c.x()); + + double s = e.end_angle - e.start_angle; + + double sweep = raw_end - m.start_angle; + while (sweep <= -2.0 * M_PI) sweep += 2.0 * M_PI; + while (sweep >= 2.0 * M_PI) sweep -= 2.0 * M_PI; + + if (s != 0.0 && sweep * s > 0.0) { + if (sweep > 0.0) + sweep -= 2.0 * M_PI; + else + sweep += 2.0 * M_PI; + } + + m.end_angle = m.start_angle + sweep; + m.radius = e.radius; + break; + } + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: { + m.center = reflect(e.center); + // Reflect the major-axis direction; a/b unchanged. + const Vec2d majdir(std::cos(e.rotation), std::sin(e.rotation)); + const Vec2d rdir = reflect(e.center + majdir) - m.center; + m.rotation = std::atan2(rdir.y(), rdir.x()); + if (e.type == SketchEntity::Type::Ellipse) { + m.p0 = m.center; + } else { + m.p0 = reflect(e.p0); + m.p1 = reflect(e.p1); + // Reflection reverses orientation: recompute parametric angles in + // the reflected frame, original end -> new start (CCW sense kept). + auto param = [&](const Vec2d& P) { + const Vec2d d = P - m.center; + const double cu = std::cos(m.rotation), su = std::sin(m.rotation); + const double u = d.x() * cu + d.y() * su; + const double v = -d.x() * su + d.y() * cu; + return std::atan2(v / std::max(e.rminor, 1e-9), u / std::max(e.radius, 1e-9)); + }; + m.start_angle = param(m.p1); + m.end_angle = param(m.p0); + } + break; + } + case SketchEntity::Type::BSpline: + for (auto& cp : m.ctrl) cp = reflect(cp); + m.p0 = reflect(e.p0); + m.p1 = reflect(e.p1); + break; + } + out.push_back(m); + } + + // A REFLECTION REVERSES ORIENTATION, so the reflected half is handed back reversed — in + // order, and each entity flipped — or it does not CONTINUE the chain it was made from. + // + // Draw half a stadium left-to-right along the bottom, round the cap, right-to-left along the + // top, ending at (0, R). Reflecting each entity in place gives a half whose top run STARTS at + // (-L, R) and ENDS at (0, R): it meets the original head-to-head, not head-to-tail. Every + // consumer that walks the loop then has to cope, and two already had to be taught — the loop + // area cancelled its own arc correction against the negated sweep, and offset put the + // reflected half on the wrong side because it read each entity's STORED direction. Reversed + // here, the two halves are one walkable chain and a mirrored CCW loop stays CCW. + std::reverse(out.begin(), out.end()); + for (SketchEntity& m : out) { + switch (m.type) { + case SketchEntity::Type::Line: + std::swap(m.p0, m.p1); + break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + std::swap(m.p0, m.p1); + std::swap(m.start_angle, m.end_angle); // what "walked the other way" means + break; + case SketchEntity::Type::BSpline: + std::swap(m.p0, m.p1); + std::reverse(m.ctrl.begin(), m.ctrl.end()); + break; + default: + break; // circle, ellipse, point: no direction to reverse + } + } + + return out; +} + +// ---- offset: chain-aware, with corner repair ------------------------------- +// +// Offsetting each entity on its own is geometrically correct per entity and USELESS as a +// sketch operation: a closed rectangle offset that way comes back as four parallel segments +// that no longer touch, so the result is four open wires and nothing can be extruded from it +// (measured — tests/libslic3r/test_sketchprofile.cpp). A profile is a chain, and the property +// that has to survive the operation is the chain, not the individual coordinates. +// +// So the offset runs in three steps: split the input into chains of entities joined by shared +// endpoints; offset every entity in a chain; then repair each seam by trimming/extending the +// two neighbours to the intersection of their offset supports (a miter join). Closed chains +// get their last-to-first seam repaired too, which is what makes the result closed again. +namespace { + +constexpr double kOffJoinEps = 1e-6; + +bool off_same(const Vec2d& a, const Vec2d& b) { return (a - b).squaredNorm() < kOffJoinEps * kOffJoinEps; } + +// Does this entity type take part in chaining (i.e. does it have two ends)? +bool off_is_open_curve(const SketchEntity& e) +{ + return e.type == SketchEntity::Type::Line || e.type == SketchEntity::Type::Arc; +} + +// Infinite-support intersections. Each returns the candidate closest to `seed`, which is where +// the seam is expected to land, so the branch choice never depends on entity orientation. +bool off_pick(const std::vector& cands, const Vec2d& seed, Vec2d& out) +{ + if (cands.empty()) return false; + double best = std::numeric_limits::max(); + for (const Vec2d& c : cands) { + const double d = (c - seed).squaredNorm(); + if (d < best) { best = d; out = c; } + } + return true; +} + +bool off_line_line(const Vec2d& a0, const Vec2d& a1, const Vec2d& b0, const Vec2d& b1, + const Vec2d& seed, Vec2d& out) +{ + const Vec2d da = a1 - a0, db = b1 - b0; + const double den = da.x() * db.y() - da.y() * db.x(); + if (std::abs(den) < 1e-12) return false; // parallel: no miter exists + const Vec2d w = b0 - a0; + const double t = (w.x() * db.y() - w.y() * db.x()) / den; + out = a0 + t * da; + (void)seed; + return true; +} + +std::vector off_line_circle(const Vec2d& p0, const Vec2d& p1, const Vec2d& c, double r) +{ + std::vector out; + Vec2d d = p1 - p0; + const double dd = d.squaredNorm(); + if (dd < 1e-18 || r <= 0.0) return out; + const Vec2d f = p0 - c; + const double b = 2.0 * f.dot(d), cc = f.squaredNorm() - r * r; + const double disc = b * b - 4.0 * dd * cc; + if (disc < 0.0) return out; + const double sq = std::sqrt(disc); + out.push_back(p0 + ((-b - sq) / (2.0 * dd)) * d); + out.push_back(p0 + ((-b + sq) / (2.0 * dd)) * d); + return out; +} + +std::vector off_circle_circle(const Vec2d& c0, double r0, const Vec2d& c1, double r1) +{ + std::vector out; + const Vec2d d = c1 - c0; + const double L = d.norm(); + if (L < 1e-12 || L > r0 + r1 || L < std::abs(r0 - r1)) return out; + const double a = (r0 * r0 - r1 * r1 + L * L) / (2.0 * L); + const double h2 = r0 * r0 - a * a; + const double h = h2 > 0.0 ? std::sqrt(h2) : 0.0; + const Vec2d u = d / L, n(-u.y(), u.x()); + out.push_back(c0 + a * u + h * n); + out.push_back(c0 + a * u - h * n); + return out; +} + +// Move one end of an entity to `q`, keeping the entity's kind consistent (an arc re-derives +// the parametric angle from its centre, and its sweep direction is preserved). +void off_set_end(SketchEntity& e, bool at_end, const Vec2d& q) +{ + if (e.type == SketchEntity::Type::Line) { + (at_end ? e.p1 : e.p0) = q; + return; + } + if (e.type != SketchEntity::Type::Arc) return; + const bool ccw = e.end_angle >= e.start_angle; + const double ang = std::atan2(q.y() - e.center.y(), q.x() - e.center.x()); + if (at_end) { + e.p1 = q; + double a = ang; + if (ccw) { while (a < e.start_angle) a += 2.0 * M_PI; while (a - e.start_angle > 2.0 * M_PI) a -= 2.0 * M_PI; } + else { while (a > e.start_angle) a -= 2.0 * M_PI; while (e.start_angle - a > 2.0 * M_PI) a += 2.0 * M_PI; } + e.end_angle = a; + } else { + e.p0 = q; + double a = ang; + if (ccw) { while (a > e.end_angle) a -= 2.0 * M_PI; while (e.end_angle - a > 2.0 * M_PI) a += 2.0 * M_PI; } + else { while (a < e.end_angle) a += 2.0 * M_PI; while (a - e.end_angle > 2.0 * M_PI) a -= 2.0 * M_PI; } + e.start_angle = a; + } +} + +// Offset ONE entity, unrepaired. Returns false for the kinds v1 does not offset. +bool off_one(const SketchEntity& e, double d, SketchEntity& out) +{ + switch (e.type) { + case SketchEntity::Type::Line: { + Vec2d t = e.p1 - e.p0; + if (t.norm() < 1e-12) return false; + t.normalize(); + const Vec2d n(-t.y(), t.x()); + out = e; + out.p0 = e.p0 + d * n; + out.p1 = e.p1 + d * n; + return true; + } + case SketchEntity::Type::Circle: { + const double r = e.radius + d; + if (r <= 1e-9) return false; + out = e; out.radius = r; out.p0 = out.center; + return true; + } + case SketchEntity::Type::Arc: { + // Same convention as the Line above: +d moves the curve to the LEFT of its direction + // of travel. For a CCW arc the left side is the inside, so the radius SHRINKS; for a + // CW arc it grows. Reading the sign off the sweep is what keeps a stadium outline + // (lines + caps) offsetting as one body instead of the lines going one way and the + // caps the other — which is what a plain `radius + d` did. + const double sgn = (e.end_angle >= e.start_angle) ? -1.0 : 1.0; + const double r = e.radius + sgn * d; + if (r <= 1e-9) return false; + out = e; + out.radius = r; + out.p0 = e.center + r * Vec2d(std::cos(e.start_angle), std::sin(e.start_angle)); + out.p1 = e.center + r * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle)); + return true; + } + default: + // Point has nothing to offset; a true parallel of an ellipse is not an ellipse and of a + // spline is not a same-degree spline, so both stay out of v1 rather than lie about it. + return false; + } +} + +// Repair the seam between `a`'s end and `b`'s start: both are trimmed/extended to the +// intersection of their infinite supports nearest the gap. Returns false when no such point +// exists (parallel lines, non-intersecting circles), in which case the seam stays open. +bool off_join(SketchEntity& a, SketchEntity& b) +{ + const Vec2d seed = 0.5 * (a.p1 + b.p0); + Vec2d q; + const bool aL = a.type == SketchEntity::Type::Line; + const bool bL = b.type == SketchEntity::Type::Line; + if (aL && bL) { + if (!off_line_line(a.p0, a.p1, b.p0, b.p1, seed, q)) return false; + } else if (aL) { + if (!off_pick(off_line_circle(a.p0, a.p1, b.center, b.radius), seed, q)) return false; + } else if (bL) { + if (!off_pick(off_line_circle(b.p0, b.p1, a.center, a.radius), seed, q)) return false; + } else { + if (!off_pick(off_circle_circle(a.center, a.radius, b.center, b.radius), seed, q)) return false; + } + off_set_end(a, true, q); + off_set_end(b, false, q); + return true; +} + +// Normalise an entity that was offset while traversed REVERSED to head-to-tail traversal order: +// swap its stored ends so p0 is the traversal start and p1 the traversal end. An arc must swap +// its stored sweep too, because "traversed the other way" reverses the stored sweep direction. +void off_reverse(SketchEntity& e) +{ + std::swap(e.p0, e.p1); + if (e.type == SketchEntity::Type::Arc) + std::swap(e.start_angle, e.end_angle); +} + +} // namespace + +std::vector SketchEngine::offset_entities( + const std::vector& src, double d) +{ + std::vector out; + + // Closed and unchainable kinds first: they carry no seams, so they pass straight through. + std::vector open_idx; + for (int i = 0; i < int(src.size()); ++i) { + if (off_is_open_curve(src[i])) { open_idx.push_back(i); continue; } + SketchEntity o; + if (off_one(src[i], d, o)) out.push_back(o); + } + + std::vector used(open_idx.size(), false); + + // Stored endpoints of the k-th open entity. + auto ends = [&](int k, Vec2d& p0, Vec2d& p1) { p0 = src[open_idx[k]].p0; p1 = src[open_idx[k]].p1; }; + + // An endpoint shared by no OTHER unused open curve is a FREE end: the loose end of an open + // chain rather than a seam. (`used` matters — entities already pulled into a chain must not + // count, otherwise the far end of the chain we just walked would look shared.) + auto is_free = [&](int k, const Vec2d& pt) { + for (size_t j = 0; j < open_idx.size(); ++j) { + if (int(j) == k || used[j]) continue; + Vec2d q0, q1; ends(int(j), q0, q1); + if (off_same(pt, q0) || off_same(pt, q1)) return false; + } + return true; + }; + + struct Chain { + std::vector> items; // (entity index, reversed) + Vec2d start, end; // traversal start/end points + }; + + // Walk one chain from the unused seed `s`, traversing AWAY from its free end. `reversed` + // means the traversal enters at the entity's p1 and leaves at its p0, i.e. the entity is + // travelled opposite to its STORED direction. An entity whose p1 is free (but p0 is not) + // is the head of an open chain and must start reversed; an isolated entity or a closed + // loop starts forward. + auto walk = [&](int s) -> Chain { + Chain c; + Vec2d s0, s1; ends(s, s0, s1); + const bool rev = !is_free(s, s0) && is_free(s, s1); + c.items.emplace_back(s, rev); + used[s] = true; + c.start = rev ? s1 : s0; + c.end = rev ? s0 : s1; + for (;;) { + int nxt = -1; + bool nrev = false; + for (size_t j = 0; j < open_idx.size(); ++j) { + if (used[j]) continue; + Vec2d q0, q1; ends(int(j), q0, q1); + if (off_same(c.end, q0)) { nxt = int(j); nrev = false; break; } + if (off_same(c.end, q1)) { nxt = int(j); nrev = true; break; } + } + if (nxt < 0) break; + c.items.emplace_back(nxt, nrev); + used[nxt] = true; + Vec2d q0, q1; ends(nxt, q0, q1); + c.end = nrev ? q0 : q1; + } + return c; + }; + + // Offset one chain as traversed: every entity is offset with an EFFECTIVE distance that + // already accounts for how it was walked, then reversed entities have their stored ends + // swapped so the emitted chain is head-to-tail in traversal order (which is what keeps the + // seam repair below — and any later offset/mirror — well-oriented). A chain whose final + // traversal end coincides with its first traversal start is CLOSED. + auto emit = [&](const Chain& c) { + const bool closed = c.items.size() > 1 && off_same(c.end, c.start); + std::vector off; + off.reserve(c.items.size()); + for (const auto& it : c.items) { + // A reversed entity offsets with -d rather than +d: + // * a line walked backwards has its left-hand side on the other side, so -d; + // * an arc walked backwards has its sweep sign effectively flipped, which is exactly + // the `sgn` term off_one reads, so -d again. + const double ed = it.second ? -d : d; + SketchEntity o; + if (!off_one(src[open_idx[it.first]], ed, o)) continue; + if (it.second) off_reverse(o); + off.push_back(o); + } + if (off.empty()) return; + for (size_t i = 0; i + 1 < off.size(); ++i) off_join(off[i], off[i + 1]); + if (closed && off.size() > 1) off_join(off.back(), off.front()); + for (auto& o : off) out.push_back(o); + }; + + // Pass 1: open chains, seeded at a free end so they are never entered mid-way (which would + // split one open chain in two and lose a seam). + for (size_t s = 0; s < open_idx.size(); ++s) { + if (used[s]) continue; + Vec2d s0, s1; ends(int(s), s0, s1); + if (!is_free(int(s), s0) && !is_free(int(s), s1)) continue; + emit(walk(int(s))); + } + // Pass 2: what is left has no free end and is a CLOSED loop; start anywhere, forward. + for (size_t s = 0; s < open_idx.size(); ++s) { + if (used[s]) continue; + emit(walk(int(s))); + } + + return out; +} + +std::vector SketchEngine::array_entities( + const std::vector& src, int count, + const Vec2d& step, double angle_step, const Vec2d& pivot) +{ + std::vector out; + if (count < 2) return out; + + for (int i = 1; i < count; ++i) { + const double ang = i * angle_step; + const double ca = std::cos(ang), sa = std::sin(ang); + const Vec2d tr = double(i) * step; + // Rigid map: rotate about pivot by `ang`, then translate by `tr`. + auto xf = [&](const Vec2d& p) -> Vec2d { + const Vec2d d = p - pivot; + return Vec2d(pivot.x() + ca * d.x() - sa * d.y(), + pivot.y() + sa * d.x() + ca * d.y()) + tr; + }; + + for (const auto& e : src) { + SketchEntity m = e; // carry construction flag, radii, etc. + switch (e.type) { + case SketchEntity::Type::Line: + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + break; + case SketchEntity::Type::Point: + m.p0 = xf(e.p0); + break; + case SketchEntity::Type::Circle: + m.center = xf(e.center); m.p0 = m.center; // radius unchanged + break; + case SketchEntity::Type::Arc: { + m.center = xf(e.center); + m.start_angle = e.start_angle + ang; + m.end_angle = e.end_angle + ang; // rigid: sweep preserved + m.p0 = m.center + e.radius * Vec2d(std::cos(m.start_angle), std::sin(m.start_angle)); + m.p1 = m.center + e.radius * Vec2d(std::cos(m.end_angle), std::sin(m.end_angle)); + break; + } + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: + m.center = xf(e.center); + m.rotation = e.rotation + ang; // major axis rotates with the body + if (e.type == SketchEntity::Type::Ellipse) { + m.p0 = m.center; + } else { + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + // Parametric angles are in the (rotated) body frame -> unchanged. + } + break; + case SketchEntity::Type::BSpline: + for (auto& cp : m.ctrl) cp = xf(cp); + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + break; + } + out.push_back(m); + } + } + return out; +} + +std::vector SketchEngine::transform_entities( + const std::vector& src, + const Vec2d& move, double angle, double scale, const Vec2d& pivot) +{ + std::vector out; + out.reserve(src.size()); + const double ca = std::cos(angle), sa = std::sin(angle); + const double rs = std::abs(scale); // radii are unsigned magnitudes + // Affine map: translate pivot to origin, scale, rotate, then translate by `move`. + auto xf = [&](const Vec2d& p) -> Vec2d { + const Vec2d d = scale * (p - pivot); + return Vec2d(pivot.x() + ca * d.x() - sa * d.y(), + pivot.y() + sa * d.x() + ca * d.y()) + move; + }; + + for (const auto& e : src) { + SketchEntity m = e; // carry construction flag, etc. + switch (e.type) { + case SketchEntity::Type::Line: + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + break; + case SketchEntity::Type::Point: + m.p0 = xf(e.p0); + break; + case SketchEntity::Type::Circle: + m.center = xf(e.center); m.radius = e.radius * rs; m.p0 = m.center; + break; + case SketchEntity::Type::Arc: { + m.center = xf(e.center); + m.radius = e.radius * rs; + m.start_angle = e.start_angle + angle; + m.end_angle = e.end_angle + angle; // rigid sweep, shifted by rotation + m.p0 = m.center + m.radius * Vec2d(std::cos(m.start_angle), std::sin(m.start_angle)); + m.p1 = m.center + m.radius * Vec2d(std::cos(m.end_angle), std::sin(m.end_angle)); + break; + } + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: + m.center = xf(e.center); + m.radius = e.radius * rs; + m.rminor = e.rminor * rs; + m.rotation = e.rotation + angle; // major axis rotates with the body + if (e.type == SketchEntity::Type::Ellipse) { + m.p0 = m.center; + } else { + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + // Parametric angles live in the (rotated) body frame -> unchanged. + } + break; + case SketchEntity::Type::BSpline: + for (auto& cp : m.ctrl) cp = xf(cp); + m.p0 = xf(e.p0); m.p1 = xf(e.p1); + break; + } + out.push_back(m); + } + return out; +} + +bool SketchEngine::fillet_lines(const SketchEntity& a, const SketchEntity& b, double r, + SketchEntity& a_out, SketchEntity& b_out, SketchEntity& arc_out) +{ + if (a.type != SketchEntity::Type::Line || b.type != SketchEntity::Type::Line || r <= 1e-9) + return false; + + Vec2d da = a.p1 - a.p0; + Vec2d db = b.p1 - b.p0; + double denom = da.x() * db.y() - da.y() * db.x(); + if (std::abs(denom) < 1e-12) + return false; + + Vec2d diff = b.p0 - a.p0; + double s = (diff.x() * db.y() - diff.y() * db.x()) / denom; + Vec2d C = a.p0 + s * da; + + Vec2d ua; + int a_near_idx; + { + double d0 = (a.p0 - C).norm(); + double d1 = (a.p1 - C).norm(); + if (d0 <= d1) { + a_near_idx = 0; + ua = a.p1 - C; + } else { + a_near_idx = 1; + ua = a.p0 - C; + } + } + if (ua.norm() < 1e-12) return false; + ua.normalize(); + + Vec2d ub; + int b_near_idx; + { + double d0 = (b.p0 - C).norm(); + double d1 = (b.p1 - C).norm(); + if (d0 <= d1) { + b_near_idx = 0; + ub = b.p1 - C; + } else { + b_near_idx = 1; + ub = b.p0 - C; + } + } + if (ub.norm() < 1e-12) return false; + ub.normalize(); + + double cosT = ua.dot(ub); + cosT = std::max(-1.0, std::min(1.0, cosT)); + double theta = std::acos(cosT); + if (theta < 1e-6 || theta > M_PI - 1e-6) + return false; + + double t = r / std::tan(theta / 2.0); + { + Vec2d a_far = (a_near_idx == 0) ? a.p1 : a.p0; + Vec2d b_far = (b_near_idx == 0) ? b.p1 : b.p0; + if (t > (a_far - C).norm() || t > (b_far - C).norm()) + return false; + } + + Vec2d Ta = C + t * ua; + Vec2d Tb = C + t * ub; + + Vec2d bis = ua + ub; + if (bis.norm() < 1e-12) return false; + bis.normalize(); + + double dCO = r / std::sin(theta / 2.0); + Vec2d O = C + dCO * bis; + + a_out = a; + b_out = b; + if (a_near_idx == 0) + a_out.p0 = Ta; + else + a_out.p1 = Ta; + + if (b_near_idx == 0) + b_out.p0 = Tb; + else + b_out.p1 = Tb; + + arc_out = SketchEntity{}; + arc_out.type = SketchEntity::Type::Arc; + arc_out.center = O; + arc_out.radius = r; + arc_out.p0 = Ta; + arc_out.p1 = Tb; + arc_out.start_angle = std::atan2(Ta.y() - O.y(), Ta.x() - O.x()); + + double sb = std::atan2(Tb.y() - O.y(), Tb.x() - O.x()); + double sweep = sb - arc_out.start_angle; + while (sweep <= -M_PI) sweep += 2.0 * M_PI; + while (sweep > M_PI) sweep -= 2.0 * M_PI; + arc_out.end_angle = arc_out.start_angle + sweep; + + return true; +} + +bool SketchEngine::chamfer_lines(const SketchEntity& a, const SketchEntity& b, double d, + SketchEntity& a_out, SketchEntity& b_out, SketchEntity& seg_out) +{ + if (a.type != SketchEntity::Type::Line || b.type != SketchEntity::Type::Line || d <= 1e-9) + return false; + + Vec2d da = a.p1 - a.p0; + Vec2d db = b.p1 - b.p0; + double denom = da.x() * db.y() - da.y() * db.x(); + if (std::abs(denom) < 1e-12) + return false; // parallel: no corner to chamfer + + // Shared corner = line/line intersection. + Vec2d diff = b.p0 - a.p0; + double s = (diff.x() * db.y() - diff.y() * db.x()) / denom; + Vec2d C = a.p0 + s * da; + + // For each line, unit vector pointing from the corner toward its far endpoint + // (the endpoint that is kept); the near endpoint is the one trimmed back. + auto pick = [&](const SketchEntity& ln, int& near_idx, Vec2d& u) -> bool { + double d0 = (ln.p0 - C).norm(); + double d1 = (ln.p1 - C).norm(); + if (d0 <= d1) { near_idx = 0; u = ln.p1 - C; } + else { near_idx = 1; u = ln.p0 - C; } + if (u.norm() < 1e-12) return false; + u.normalize(); + return true; + }; + int a_near_idx, b_near_idx; + Vec2d ua, ub; + if (!pick(a, a_near_idx, ua)) return false; + if (!pick(b, b_near_idx, ub)) return false; + + // Reject collinear (no real corner) and ensure the setback fits both lines. + double cosT = std::max(-1.0, std::min(1.0, ua.dot(ub))); + if (cosT > 1.0 - 1e-9 || cosT < -1.0 + 1e-9) + return false; + { + Vec2d a_far = (a_near_idx == 0) ? a.p1 : a.p0; + Vec2d b_far = (b_near_idx == 0) ? b.p1 : b.p0; + if (d > (a_far - C).norm() || d > (b_far - C).norm()) + return false; + } + + Vec2d Ta = C + d * ua; + Vec2d Tb = C + d * ub; + + a_out = a; + b_out = b; + if (a_near_idx == 0) a_out.p0 = Ta; else a_out.p1 = Ta; + if (b_near_idx == 0) b_out.p0 = Tb; else b_out.p1 = Tb; + + seg_out = SketchEntity{}; + seg_out.type = SketchEntity::Type::Line; + seg_out.p0 = Ta; + seg_out.p1 = Tb; + return true; +} + +static std::vector line_entity_hits(const Vec2d& a0, const Vec2d& adir, + const SketchEntity& other) +{ + std::vector hits; + double La2 = adir.dot(adir); + if (La2 < 1e-18) return hits; + + switch (other.type) { + case SketchEntity::Type::Line: { + Vec2d bdir = other.p1 - other.p0; + double bxa = bdir.x() * adir.y() - bdir.y() * adir.x(); + if (std::abs(bxa) < 1e-12) return hits; + + Vec2d w = a0 - other.p0; + double u = (w.x() * adir.y() - w.y() * adir.x()) / bxa; + if (u < -1e-9 || u > 1.0 + 1e-9) return hits; + + double axb = adir.x() * bdir.y() - adir.y() * bdir.x(); + Vec2d w2 = other.p0 - a0; + double t = (w2.x() * bdir.y() - w2.y() * bdir.x()) / axb; + hits.push_back(t); + break; + } + case SketchEntity::Type::Circle: + case SketchEntity::Type::Arc: { + double R = other.radius; + Vec2d f = a0 - other.center; + double A = La2; + double B = 2.0 * adir.dot(f); + double Cc = f.dot(f) - R * R; + double disc = B * B - 4.0 * A * Cc; + if (disc < -1e-12) return hits; + if (disc < 0.0) disc = 0.0; + double sq = std::sqrt(disc); + double t1 = (-B - sq) / (2.0 * A); + double t2 = (-B + sq) / (2.0 * A); + + auto angle_in_sweep = [&](const Vec2d& P) -> bool { + double phi = std::atan2(P.y() - other.center.y(), P.x() - other.center.x()); + double sweep = other.end_angle - other.start_angle; + double delta = phi - other.start_angle; + if (sweep >= 0.0) { + while (delta < -1e-9) delta += 2.0 * M_PI; + while (delta > 2.0 * M_PI) delta -= 2.0 * M_PI; + return delta <= sweep + 1e-9; + } else { + while (delta > 1e-9) delta -= 2.0 * M_PI; + while (delta < -2.0 * M_PI) delta += 2.0 * M_PI; + return delta >= sweep - 1e-9; + } + }; + + auto check = [&](double t) { + Vec2d P = a0 + t * adir; + if (other.type == SketchEntity::Type::Circle || angle_in_sweep(P)) + hits.push_back(t); + }; + + check(t1); + if (disc > 1e-12) + check(t2); + break; + } + default: + break; + } + + return hits; +} + +// Angles (atan2, radians) where `other` crosses the circle of radius R about C. +// For Arc/Circle cutters the crossing point must lie within the cutter's own +// sweep (a full circle always qualifies). Powers arc/circle-subject trim/extend, +// where the subject is parametrized by angle rather than by a line ray param. +static std::vector circle_cross_angles(const Vec2d& C, double R, + const SketchEntity& other) +{ + std::vector out; + if (R < 1e-12) return out; + + auto on_other = [&](const Vec2d& P) -> bool { + switch (other.type) { + case SketchEntity::Type::Line: { + Vec2d d = other.p1 - other.p0; + double L2 = d.dot(d); + if (L2 < 1e-18) return false; + double u = (P - other.p0).dot(d) / L2; + return u > -1e-9 && u < 1.0 + 1e-9; + } + case SketchEntity::Type::Circle: + return true; + case SketchEntity::Type::Arc: { + double phi = std::atan2(P.y() - other.center.y(), P.x() - other.center.x()); + double sweep = other.end_angle - other.start_angle; + double delta = phi - other.start_angle; + if (sweep >= 0.0) { + while (delta < -1e-9) delta += 2.0 * M_PI; + while (delta > 2.0 * M_PI) delta -= 2.0 * M_PI; + return delta <= sweep + 1e-9; + } else { + while (delta > 1e-9) delta -= 2.0 * M_PI; + while (delta < -2.0 * M_PI) delta += 2.0 * M_PI; + return delta >= sweep - 1e-9; + } + } + default: + return false; + } + }; + auto add = [&](const Vec2d& P) { + out.push_back(std::atan2(P.y() - C.y(), P.x() - C.x())); + }; + + switch (other.type) { + case SketchEntity::Type::Line: { + Vec2d a0 = other.p0, adir = other.p1 - other.p0; + double A = adir.dot(adir); + if (A < 1e-18) break; + Vec2d f = a0 - C; + double B = 2.0 * adir.dot(f); + double Cc = f.dot(f) - R * R; + double disc = B * B - 4.0 * A * Cc; + if (disc < 0.0) break; + double sq = std::sqrt(disc); + Vec2d P1 = a0 + ((-B - sq) / (2.0 * A)) * adir; + if (on_other(P1)) add(P1); + if (disc > 1e-12) { + Vec2d P2 = a0 + ((-B + sq) / (2.0 * A)) * adir; + if (on_other(P2)) add(P2); + } + break; + } + case SketchEntity::Type::Circle: + case SketchEntity::Type::Arc: { + Vec2d C2 = other.center; + double R2 = other.radius; + Vec2d d = C2 - C; + double dd = d.norm(); + if (dd < 1e-12) break; // concentric + if (dd > R + R2 + 1e-9) break; // too far apart + if (dd < std::abs(R - R2) - 1e-9) break; // one circle inside the other + double a = (R * R - R2 * R2 + dd * dd) / (2.0 * dd); + double h2 = R * R - a * a; + if (h2 < 0.0) h2 = 0.0; + double h = std::sqrt(h2); + Vec2d mid = C + (a / dd) * d; + Vec2d perp(-d.y() / dd, d.x() / dd); + Vec2d P1 = mid + h * perp; + if (on_other(P1)) add(P1); + if (h > 1e-12) { + Vec2d P2 = mid - h * perp; + if (on_other(P2)) add(P2); + } + break; + } + default: + break; + } + return out; +} + +// Wrap x into [0, 2pi). +static double wrap_2pi(double x) +{ + while (x < 0.0) x += 2.0 * M_PI; + while (x >= 2.0 * M_PI) x -= 2.0 * M_PI; + return x; +} + +bool SketchEngine::trim_entity(SketchEntity& e, const std::vector& others, + const Vec2d& pick) +{ + // Arc subject: parametrize by sweep fraction u in [0,1]; cut on the picked side. + if (e.type == SketchEntity::Type::Arc) { + double sweep = e.end_angle - e.start_angle; + if (std::abs(sweep) < 1e-12) return false; + double phi_pick = std::atan2(pick.y() - e.center.y(), pick.x() - e.center.x()); + double u_pick = (phi_pick - e.start_angle) / sweep; + // Bring the pick onto the arc's [0,1] domain. + while (u_pick < -1e-9) u_pick += (2.0 * M_PI) / std::abs(sweep); + u_pick = std::max(0.0, std::min(1.0, u_pick)); + + std::vector cuts; + for (const auto& other : others) { + for (double phi : circle_cross_angles(e.center, e.radius, other)) { + double u = (phi - e.start_angle) / sweep; + while (u < -1e-9) u += (2.0 * M_PI) / std::abs(sweep); + if (u > 1e-9 && u < 1.0 - 1e-9) cuts.push_back(u); + } + } + if (cuts.empty()) return false; + + if (u_pick <= 0.5) { + double uc = std::numeric_limits::max(); + for (double u : cuts) if (u > u_pick + 1e-9 && u < uc) uc = u; + if (uc == std::numeric_limits::max()) return false; + e.start_angle = e.start_angle + uc * sweep; // drop [0, uc) + } else { + double uc = -std::numeric_limits::max(); + for (double u : cuts) if (u < u_pick - 1e-9 && u > uc) uc = u; + if (uc == -std::numeric_limits::max()) return false; + e.end_angle = e.start_angle + uc * sweep; // drop (uc, 1] + } + return true; + } + + // Circle subject: trimming opens it into an Arc that excludes the picked gap. + if (e.type == SketchEntity::Type::Circle) { + std::vector ang; + for (const auto& other : others) + for (double phi : circle_cross_angles(e.center, e.radius, other)) + ang.push_back(wrap_2pi(phi)); + std::sort(ang.begin(), ang.end()); + ang.erase(std::unique(ang.begin(), ang.end(), + [](double a, double b){ return std::abs(a - b) < 1e-7; }), + ang.end()); + if (ang.size() < 2) return false; + + double pk = wrap_2pi(std::atan2(pick.y() - e.center.y(), pick.x() - e.center.x())); + const int n = int(ang.size()); + int idx = -1; + for (int i = 0; i < n; ++i) { + double lo = ang[i]; + double hi = (i + 1 < n) ? ang[i + 1] : ang[0] + 2.0 * M_PI; + double p = (pk < lo - 1e-12) ? pk + 2.0 * M_PI : pk; + if (p >= lo - 1e-12 && p < hi + 1e-12) { idx = i; break; } + } + if (idx < 0) return false; + double lo = ang[idx]; + double hi = (idx + 1 < n) ? ang[idx + 1] : ang[0] + 2.0 * M_PI; + // Keep the complement of the (lo,hi) gap: sweep ccw from hi back round to lo. + e.type = SketchEntity::Type::Arc; + e.start_angle = hi; + e.end_angle = lo + 2.0 * M_PI; + return true; + } + + if (e.type != SketchEntity::Type::Line) return false; + + Vec2d adir = e.p1 - e.p0; + double La2 = adir.dot(adir); + if (La2 < 1e-18) return false; + + double t_pick = (pick - e.p0).dot(adir) / La2; + t_pick = std::max(0.0, std::min(1.0, t_pick)); + + std::vector cuts; + for (const auto& other : others) { + auto h = line_entity_hits(e.p0, adir, other); + for (double t : h) { + if (t > 1e-9 && t < 1.0 - 1e-9) + cuts.push_back(t); + } + } + if (cuts.empty()) return false; + + if (t_pick <= 0.5) { + double tc = std::numeric_limits::max(); + for (double t : cuts) { + if (t > t_pick + 1e-9 && t < tc) + tc = t; + } + if (tc == std::numeric_limits::max()) return false; + e.p0 = e.p0 + tc * adir; + } else { + double tc = -std::numeric_limits::max(); + for (double t : cuts) { + if (t < t_pick - 1e-9 && t > tc) + tc = t; + } + if (tc == -std::numeric_limits::max()) return false; + e.p1 = e.p0 + tc * adir; + } + + return true; +} + +bool SketchEngine::extend_entity(SketchEntity& e, const std::vector& others, + const Vec2d& pick) +{ + // Arc subject: grow the sweep toward the picked end up to the nearest crossing, + // capped at a full turn so the arc never self-overlaps. (A Circle is already + // closed — nothing to extend.) + if (e.type == SketchEntity::Type::Arc) { + double sweep = e.end_angle - e.start_angle; + double mag = std::abs(sweep); + if (mag < 1e-12) return false; + double sgn = (sweep >= 0.0) ? 1.0 : -1.0; + double room = 2.0 * M_PI - mag; // max extra sweep before a full turn + if (room <= 1e-9) return false; + + double phi_pick = std::atan2(pick.y() - e.center.y(), pick.x() - e.center.x()); + double up = wrap_2pi(sgn * (phi_pick - e.start_angle)) / mag; // pick fraction on arc + const bool extend_end = (up > 0.5); + + double best = std::numeric_limits::max(); + for (const auto& other : others) { + for (double phi : circle_cross_angles(e.center, e.radius, other)) { + double adv = extend_end ? wrap_2pi(sgn * (phi - e.end_angle)) + : wrap_2pi(sgn * (e.start_angle - phi)); + if (adv > 1e-9 && adv <= room + 1e-9 && adv < best) best = adv; + } + } + if (best == std::numeric_limits::max()) return false; + if (extend_end) e.end_angle += sgn * best; + else e.start_angle -= sgn * best; + return true; + } + + if (e.type != SketchEntity::Type::Line) return false; + + Vec2d adir = e.p1 - e.p0; + double La2 = adir.dot(adir); + if (La2 < 1e-18) return false; + + double t_pick = (pick - e.p0).dot(adir) / La2; + + std::vector hits; + for (const auto& other : others) { + auto h = line_entity_hits(e.p0, adir, other); + hits.insert(hits.end(), h.begin(), h.end()); + } + if (hits.empty()) return false; + + if (t_pick > 0.5) { + double tc = std::numeric_limits::max(); + for (double t : hits) { + if (t > 1.0 + 1e-9 && t < tc) + tc = t; + } + if (tc == std::numeric_limits::max()) return false; + e.p1 = e.p0 + tc * adir; + } else { + double tc = -std::numeric_limits::max(); + for (double t : hits) { + if (t < -1e-9 && t > tc) + tc = t; + } + if (tc == -std::numeric_limits::max()) return false; + e.p0 = e.p0 + tc * adir; + } + + return true; +} + +// Bridge: cubic Bézier with G1 continuity at both ends. +// Poles = {Pa, Pa + Ta*d/3, Pb - Tb*d/3, Pb}, where d = |Pb - Pa|. +SketchEntity SketchEngine::make_bridge(const SketchEntity& a, int a_end, + const SketchEntity& b, int b_end) +{ + auto endpoint = [](const SketchEntity& e, int end) -> Vec2d { + return end == 0 ? e.p0 : e.p1; + }; + + auto tangent = [](const SketchEntity& e, int end, const Vec2d& fallback_dir) -> Vec2d { + switch (e.type) { + case SketchEntity::Type::Line: { + Vec2d dir = end == 1 ? e.p1 - e.p0 : e.p0 - e.p1; + double len = dir.norm(); + if (len < 1e-12) return fallback_dir; + return dir / len; + } + case SketchEntity::Type::Arc: { + double theta = end == 1 ? e.end_angle : e.start_angle; + // Tangent to the circle at angle theta, CCW: (-sin θ, cos θ). + // At end=1 (end_angle), the outward direction is along the sweep direction. + // At end=0 (start_angle), outward is opposite the sweep direction. + double sweep = e.end_angle - e.start_angle; + int sign = end == 1 ? (sweep >= 0 ? 1 : -1) : (sweep >= 0 ? -1 : 1); + Vec2d t(-std::sin(theta), std::cos(theta)); + return t * double(sign); + } + default: + // ponytail: straight-ish bridge for unsupported entity types. + return fallback_dir; + } + }; + + const Vec2d Pa = endpoint(a, a_end); + const Vec2d Pb = endpoint(b, b_end); + const double d = (Pb - Pa).norm(); + + // Fallback tangent direction: point toward the other endpoint. + Vec2d fallback = d < 1e-9 ? Vec2d(1, 0) : (Pb - Pa) / d; + Vec2d Ta = tangent(a, a_end, fallback); + Vec2d Tb = tangent(b, b_end, fallback * -1.0); + + const double k = std::max(d, 1e-9) / 3.0; + + SketchEntity e; + e.type = SketchEntity::Type::BSpline; + e.construction = false; + e.ctrl = { Pa, Pa + Ta * k, Pb - Tb * k, Pb }; + e.p0 = e.ctrl.front(); + e.p1 = e.ctrl.back(); + return e; +} + +// ---- entity-constraint planning (Fase 4.2) ---- +// Pure kernel port of DesignPanel::apply_entity_constraint's decision logic, so the GUI +// and the live-sketch tool share ONE legality/role/value decision instead of each carrying +// its own copy. The Coincident phantom-p1 defect was fixed in one branch and stayed alive +// in the next one down precisely because the logic lived in a wx method that could not be +// unit-tested. No wx, no translation: the caller maps ConstraintReject to a string. + +int sketch_entity_ends(const SketchEntity& e, std::pair out[2]) +{ + using ET = SketchEntity::Type; + using R = SketchPointRole; + switch (e.type) { + case ET::Line: case ET::Arc: case ET::BSpline: case ET::EllipseArc: + out[0] = {R::P0, e.p0}; out[1] = {R::P1, e.p1}; return 2; + case ET::Point: + out[0] = {R::P0, e.p0}; return 1; + case ET::Circle: case ET::Ellipse: + out[0] = {R::Center, e.center}; return 1; + } + return 0; +} + +bool sketch_closest_ends(const SketchEntity& A, const SketchEntity& B, + SketchPointRole& ra, SketchPointRole& rb, Vec2d& pa, Vec2d& pb) +{ + std::pair aps[2], bps[2]; + const int na = sketch_entity_ends(A, aps), nb = sketch_entity_ends(B, bps); + if (na == 0 || nb == 0) return false; + double best = 1e30; + ra = aps[0].first; rb = bps[0].first; pa = aps[0].second; pb = bps[0].second; + for (int i = 0; i < na; ++i) + for (int j = 0; j < nb; ++j) { + const double d = (aps[i].second - bps[j].second).squaredNorm(); + if (d < best) { + best = d; + ra = aps[i].first; rb = bps[j].first; + pa = aps[i].second; pb = bps[j].second; + } + } + return true; +} + +ConstraintPlan plan_entity_constraint(const std::vector& ents, + int e0, int e1, int e2, SketchConstraintType type) +{ + using R = SketchPointRole; + using T = SketchConstraintType; + const int n = int(ents.size()); + + ConstraintPlan plan; + + auto is_round = [](const SketchEntity& e) { + return e.type == SketchEntity::Type::Circle || e.type == SketchEntity::Type::Arc; }; + + // One Equal button, two meanings: lines get equal length, curves equal radius. + if (type == T::EqualLength && e0 >= 0 && e1 >= 0 && e0 < n && e1 < n && + is_round(ents[e0]) && is_round(ents[e1])) + type = T::EqualRadius; + + const bool needs_two = (type == T::Parallel || type == T::Perpendicular || + type == T::EqualLength || type == T::Coincident || + type == T::Concentric || type == T::Tangent || + type == T::Angle || type == T::Midpoint || + type == T::Symmetric || type == T::EqualRadius || + type == T::Collinear || + type == T::SymmetricAboutY || type == T::SymmetricAboutX || + type == T::DistanceX || type == T::DistanceY); + if (e0 < 0 || e0 >= n || (needs_two && (e1 < 0 || e1 >= n))) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = needs_two ? ConstraintReject::NeedTwoEntities : ConstraintReject::NeedOneEntity; + return plan; + } + + plan.kind = ConstraintPlan::Kind::Apply; + SketchEntityConstraintDef def; + def.type = type; + def.value = 0.0; + switch (type) { + case T::Horizontal: + case T::Vertical: + // One line: level/plumb its own two endpoints. Not pedantry -- with a Point or + // Circle picked, P1 is a role the solver silently drops while STORING the + // constraint, so the sketch claims to be constrained when it is not. + if (ents[e0].type != SketchEntity::Type::Line) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedALine; + return plan; + } + def.ea = e0; def.ra = R::P0; + def.eb = e0; def.rb = R::P1; + break; + case T::Parallel: + case T::Perpendicular: + case T::EqualLength: + // Two whole line segments (roles unused). Guard ADDED here (the GUI does not check + // this yet): a non-line pick produced a def the solver drops, the same silent no-op + // as Horizontal on a Point above. + if (ents[e0].type != SketchEntity::Type::Line || + ents[e1].type != SketchEntity::Type::Line) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoLines; + return plan; + } + def.ea = e0; def.eb = e1; + break; + case T::Coincident: { + // Join the closest point pair, NOT {p0,p1} on both -- two Points would otherwise + // resolve to their phantom (0,0) p1s and the constraint would do nothing at all. + R ra, rb; Vec2d pa, pb; + if (!sketch_closest_ends(ents[e0], ents[e1], ra, rb, pa, pb)) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedJoinablePoints; + return plan; + } + def.ea = e0; def.ra = ra; def.eb = e1; def.rb = rb; + break; + } + case T::DistanceX: + case T::DistanceY: { + R ra, rb; Vec2d pa, pb; + if (!sketch_closest_ends(ents[e0], ents[e1], ra, rb, pa, pb)) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedMeasurablePoints; + return plan; + } + // The constraint is SIGNED (fixes (pB - pA).dot(axis)). Order the refs so the shown + // value is the positive one -- accepting a dimension must be a no-op, not a flip. + int a = e0, b = e1; + double delta = (type == T::DistanceX) ? (pb.x() - pa.x()) : (pb.y() - pa.y()); + if (delta < 0.0) { std::swap(a, b); std::swap(ra, rb); delta = -delta; } + plan.kind = ConstraintPlan::Kind::AskValue; + def.ea = a; def.ra = ra; + def.eb = b; def.rb = rb; + plan.prefill = delta; + break; + } + case T::Concentric: + if (!is_round(ents[e0]) || !is_round(ents[e1])) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoRounds; + return plan; + } + def.ea = e0; def.ra = R::Center; def.eb = e1; def.rb = R::Center; + break; + case T::Tangent: { + // line+round or round+round; the kernel detects the entity types. + const bool ok = (is_round(ents[e0]) && ents[e1].type == SketchEntity::Type::Line) || + (is_round(ents[e1]) && ents[e0].type == SketchEntity::Type::Line) || + (is_round(ents[e0]) && is_round(ents[e1])); + if (!ok) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTangentPair; + return plan; + } + def.ea = e0; def.eb = e1; + break; + } + case T::Angle: { + // Angle between two line segments. "Line segments" is a check, not an assumption: + // p1-p0 on a Circle is (0,0)-centre, so two circles used to pre-fill with the angle + // between their centre POSITION vectors. + if (ents[e0].type != SketchEntity::Type::Line || + ents[e1].type != SketchEntity::Type::Line) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoLines; + return plan; + } + const int a = e0, b = e1; + const Vec2d da = ents[a].p1 - ents[a].p0; + const Vec2d db = ents[b].p1 - ents[b].p0; + double cur = 90.0; + const double na = da.norm(), nb = db.norm(); + if (na > 1e-9 && nb > 1e-9) { + const double c = std::max(-1.0, std::min(1.0, da.dot(db) / (na * nb))); + cur = std::acos(c) * 180.0 / M_PI; + } + plan.kind = ConstraintPlan::Kind::AskValue; + def.ea = a; def.eb = b; + plan.prefill = cur; // degrees; the caller converts to radians on commit + break; + } + case T::Midpoint: { + // One pick is a Point, the other a Line: the point is the line's midpoint. + const SketchEntity& A = ents[e0]; + const SketchEntity& B = ents[e1]; + int pt = -1, ln = -1; + if (A.type == SketchEntity::Type::Point && B.type == SketchEntity::Type::Line) { pt = e0; ln = e1; } + else if (B.type == SketchEntity::Type::Point && A.type == SketchEntity::Type::Line) { pt = e1; ln = e0; } + else { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedPointAndLine; + return plan; + } + def.ea = pt; def.ra = R::P0; def.eb = ln; + break; + } + case T::Symmetric: { + // Two entities made symmetric about a third (axis) line: slot0=A, slot1=B, e2=axis. + // Two Points -> one pair; two Lines -> two endpoint pairs (P0/P0 and P1/P1), exactly + // the defs DesignPanel builds today. + const int axis = e2; + if (axis < 0 || axis >= n || ents[axis].type != SketchEntity::Type::Line) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedAxisLine; + return plan; + } + using ET = SketchEntity::Type; + const ET ta = ents[e0].type, tb = ents[e1].type; + if (!((ta == ET::Point && tb == ET::Point) || (ta == ET::Line && tb == ET::Line))) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoPointsOrLines; + return plan; + } + auto mk = [&](R ra, R rb) { + SketchEntityConstraintDef d; + d.type = T::Symmetric; + d.ea = e0; d.ra = ra; d.eb = e1; d.rb = rb; d.ec = axis; + plan.defs.push_back(d); + }; + if (ta == ET::Point) { mk(R::P0, R::P0); } + else { mk(R::P0, R::P0); mk(R::P1, R::P1); } + return plan; + } + case T::SymmetricAboutY: + case T::SymmetricAboutX: { + // Two entities made symmetric about the sketch's vertical/horizontal axis, which is + // implicit (no picked axis line): e2 is ignored and the axis is a negative sentinel + // in ec. + using ET = SketchEntity::Type; + const ET ta = ents[e0].type, tb = ents[e1].type; + if (!((ta == ET::Point && tb == ET::Point) || (ta == ET::Line && tb == ET::Line))) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoPointsOrLines; + return plan; + } + const int axis = (type == T::SymmetricAboutY) ? kSketchRefAxisY : kSketchRefAxisX; + auto mk = [&](R ra, R rb) { + SketchEntityConstraintDef d; + d.type = type; + d.ea = e0; d.ra = ra; d.eb = e1; d.rb = rb; d.ec = axis; + plan.defs.push_back(d); + }; + if (ta == ET::Point) { mk(R::P0, R::P0); } + else { mk(R::P0, R::P0); mk(R::P1, R::P1); } + return plan; + } + case T::EqualRadius: + if (!is_round(ents[e0]) || !is_round(ents[e1])) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoRounds; + return plan; + } + def.ea = e0; def.eb = e1; + break; + case T::Collinear: + if (ents[e0].type != SketchEntity::Type::Line || ents[e1].type != SketchEntity::Type::Line) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedTwoLines; + return plan; + } + def.ea = e0; def.eb = e1; + break; + case T::Fix: { + // Anchor the picked entity's reference point to its current coordinate. A single + // point -- not both endpoints -- so it composes with an existing H/V/length + // constraint instead of duplicating it. + using ET = SketchEntity::Type; + const ET et = ents[e0].type; + def.ea = e0; + def.ra = (et == ET::Circle || et == ET::Ellipse || + et == ET::Arc || et == ET::EllipseArc) ? R::Center : R::P0; + break; + } + case T::Radius: + case T::Diameter: { + if (!is_round(ents[e0])) { + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::NeedRound; + return plan; + } + plan.kind = ConstraintPlan::Kind::AskValue; + def.ea = e0; def.ra = R::Center; + plan.prefill = (type == T::Diameter) ? 2.0 * ents[e0].radius : ents[e0].radius; + break; + } + default: + // Distance / LockX / LockY / PointOnLine / PointOnObject (and any future type) have + // no entity-constraint binding; the GUI's own switch falls to "Unsupported". + plan.kind = ConstraintPlan::Kind::Reject; + plan.reason = ConstraintReject::Unsupported; + return plan; + } + plan.defs.push_back(def); + return plan; +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/SketchEngine.hpp b/src/libslic3r/CAD/SketchEngine.hpp new file mode 100644 index 0000000000..f2166e96a6 --- /dev/null +++ b/src/libslic3r/CAD/SketchEngine.hpp @@ -0,0 +1,373 @@ +#ifndef slic3r_SketchEngine_hpp_ +#define slic3r_SketchEngine_hpp_ + +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" + +#include +#include +#include +#include +#include +#include +#include + +namespace Slic3r { + +struct SketchSegment { + enum Type { Line, Arc, Circle, Rectangle, Polygon }; + Type type{Line}; + Vec2d p0{0,0}, p1{0,0}; + Vec2d center{0,0}; + double radius{0}, start_angle{0}, end_angle{0}; + std::vector points; + template + void serialize(Archive& ar) { ar(type, p0, p1, center, radius, start_angle, end_angle, points); } +}; + +struct SketchEntity { + enum class Type { Line, Arc, Circle, Point, Ellipse, EllipseArc, BSpline }; + Type type{Type::Line}; + Vec2d p0{0,0}; // Line: start; Arc/EllipseArc: start; Circle/Point/Ellipse: center; BSpline: first pole + Vec2d p1{0,0}; // Line: end; Arc/EllipseArc: end; (unused for Circle/Point/Ellipse); BSpline: last pole + Vec2d center{0,0}; // Arc/Circle/Ellipse(Arc) center + double radius{0}; // Circle/Arc radius; Ellipse(Arc): semi-major axis (a) + double start_angle{0}; // Arc sweep start; Ellipse(Arc): parametric start angle (radians) + double end_angle{0}; // Arc sweep end; Ellipse(Arc): parametric end angle + bool construction{false}; + double rminor{0}; // Ellipse(Arc): semi-minor axis (b) + double rotation{0}; // Ellipse(Arc): major-axis angle phi (radians, about center) + std::vector ctrl; // BSpline: control points (poles); p0/p1 mirror first/last pole + template + void serialize(Archive& ar) { + // Append-only: rminor/rotation added for Ellipse(Arc) (P2 Tier-B.1); ctrl for BSpline (B.2). + ar(type, p0, p1, center, radius, start_angle, end_angle, construction, rminor, rotation, ctrl); + } +}; + +struct SketchPlane { + Vec3d origin{0,0,0}; + Vec3d normal{0,0,1}; + Vec3d x_axis{1,0,0}; + Vec3d y_axis{0,1,0}; + + gp_Pln to_occt() const; + static SketchPlane from_face(const TopoDS_Face& face); + static SketchPlane XY() { return {}; } + static SketchPlane XZ() { return {{0,0,0}, {0,1,0}, {1,0,0}, {0,0,1}}; } + static SketchPlane YZ() { return {{0,0,0}, {1,0,0}, {0,1,0}, {0,0,1}}; } + + Vec2d project(const Vec3d& ray_origin, const Vec3d& ray_dir) const; + Vec3d to_world(const Vec2d& pt) const; + + template + void serialize(Archive& ar) { ar(origin, normal, x_axis, y_axis); } +}; + +struct SketchProfile { + std::vector points; + bool closed{false}; + + bool is_closed(double tolerance = 0.5) const; + bool try_close(double tolerance = 0.5); + void clear() { points.clear(); closed = false; } + TopoDS_Wire to_occt_wire(const SketchPlane& plane) const; + + template + void serialize(Archive& ar) { ar(points, closed); } +}; + +// Two sketch endpoints this close are ONE joint. Shared deliberately by the viewport +// (region_loops / connected_loop / open-end detection) and by the kernel +// (entities_to_wires): the viewport is what shades a region closed and offers it for +// extrude, so the kernel MUST be able to build every loop the viewport shades. When +// these two numbers disagreed the viewport promised a closed region at 1e-3 and the +// kernel refused it at 1e-4, which extruded a solid the user never drew. +// Nothing legitimate in a mm-scale sketch is 1 um apart. +inline constexpr double kSketchJoinTol = 1e-3; // mm + +// Effective sketch joint tolerance. ONE value for the viewport (region_loops / +// loop_report / connected_loop) and the kernel (entities_to_wires): if these ever +// disagree again, the viewport shades a region closed that the kernel refuses to +// build, which is how a sketch got extruded into the wrong solid. The GUI pushes +// the "auto_close_sketch_loops" preference in via set_sketch_auto_close(); the +// kernel defaults to ON so headless/kernel-only callers keep welding. +double sketch_join_tol(); +void set_sketch_auto_close(bool on); + +enum class SketchConstraintType { + Fix, Coincident, Horizontal, Vertical, Distance, + LockX, LockY, EqualLength, Parallel, Perpendicular, + Concentric, + Tangent, Midpoint, Symmetric, Angle, + Radius, Diameter, + PointOnLine, // a point lies on a line (or at signed perpendicular distance `value`) + PointOnObject, // a point lies on an entity edge (line -> PT_ON_LINE, circle -> PT_ON_CIRCLE) + // Append-only: cereal serializes this enum positionally as its underlying int, so + // inserting anywhere but the end reinterprets every constraint in every saved recipe. + EqualRadius, + Collinear, + DistanceX, // |dx| between two points, projected onto the sketch X axis + DistanceY, // |dy| between two points, projected onto the sketch Y axis + SymmetricAboutY, // mirror across the sketch's vertical axis (x = 0); axis is implicit + SymmetricAboutX // mirror across the sketch's horizontal axis (y = 0); axis is implicit +}; + +// Constraint on a SketchProfile, referencing profile point indices (a,b,c,d). +// `value` carries the target for Distance/LockX/LockY (ignored otherwise). +struct SketchConstraintDef { + SketchConstraintType type{SketchConstraintType::Coincident}; + int a{-1}, b{-1}, c{-1}, d{-1}; + double value{0.0}; + template void serialize(Archive& ar) { ar(type, a, b, c, d, value); } +}; + +// Which point of an entity a constraint reference names. +// P0 = SketchEntity::p0 (Line start / Point position) +// P1 = SketchEntity::p1 (Line end) +// Center = SketchEntity::center (Arc/Circle center) +enum class SketchPointRole { P0, P1, Center }; + +// Constraint on coexisting SketchEntity objects (Fase 4.2). Each reference is an +// (entity index, point role) pair. Point-form constraints +// (Fix/Coincident/Horizontal/Vertical/Distance/LockX/LockY) use refs A and B as +// individual points. Segment-form constraints (Parallel/Perpendicular/EqualLength) +// use entity indices `ea`/`eb` as whole line segments (their P0->P1); roles are +// ignored for those. `value` carries the target for Distance/LockX/LockY. +struct SketchEntityConstraintDef { + SketchConstraintType type{SketchConstraintType::Coincident}; + int ea{-1}, eb{-1}; // entity indices + SketchPointRole ra{SketchPointRole::P0}; // role within ea + SketchPointRole rb{SketchPointRole::P0}; // role within eb + double value{0.0}; + int ec{-1}; // third entity ref (Symmetric axis) + SketchPointRole rc{SketchPointRole::P0}; // role within ec + template void serialize(Archive& ar) { ar(type, ea, eb, ra, rb, value, ec, rc); } +}; + +// Implicit references every sketch has, addressable from a constraint's ea/eb/ec without +// existing as SketchEntity objects. NEGATIVE so they cannot collide with an entity index; +// -1 is already "unset" and stays that way. Values are serialized inside existing int +// fields, so they are append-only in spirit: never renumber these. +constexpr int kSketchRefOrigin = -2; // the sketch origin point (0,0) +constexpr int kSketchRefAxisX = -3; // the sketch X axis, through the origin, +X +constexpr int kSketchRefAxisY = -4; // the sketch Y axis, through the origin, +Y + +inline bool is_sketch_ref(int ei) { return ei <= kSketchRefOrigin; } + +// How many real endpoints a type exposes, and which roles they are. p1 is UNUSED for +// Circle/Point/Ellipse (SketchEntity::p1 above) and reads (0,0) — walking {P0,P1} blindly +// over those invents a phantom endpoint at the origin, which for a pair of Points always +// wins a closest-pair search at distance 0 and binds a role the solver silently refuses. +int sketch_entity_ends(const SketchEntity& e, std::pair out[2]); +bool sketch_closest_ends(const SketchEntity& A, const SketchEntity& B, + SketchPointRole& ra, SketchPointRole& rb, Vec2d& pa, Vec2d& pb); + +// Why an entity-constraint pick is refused. The caller maps a reason to a localized string; +// the planner itself stays translation-free. +enum class ConstraintReject { + None, NeedOneEntity, NeedTwoEntities, NeedALine, NeedTwoLines, + NeedTwoRounds, NeedTangentPair, NeedJoinablePoints, NeedMeasurablePoints, + // The following are not in the GUI's current switch but are the faithful outcomes of + // its remaining branches; they need a reason too or the caller cannot tell them apart. + NeedPointAndLine, // Midpoint: one Point + one Line + NeedTwoPointsOrLines, // Symmetric / SymmetricAboutX/Y: two Points or two Lines + NeedAxisLine, // Symmetric: e2 must be a Line to act as the axis + NeedRound, // Radius/Diameter: a Circle or Arc + Unsupported // entity-constraint path has no binding for this type +}; + +struct ConstraintPlan { + enum class Kind { Reject, Apply, AskValue }; + Kind kind{Kind::Reject}; + ConstraintReject reason{ConstraintReject::None}; + // Apply/AskValue only: the defs to commit. One element for every ordinary type, TWO for + // Symmetric/SymmetricAboutX/Y on two lines (P0/P0 and P1/P1), matching the GUI's builds. + std::vector defs{}; + double prefill{0.0}; // AskValue only: the value to show pre-filled +}; + +// Pure: no wx, no translation, no UI. The caller maps `reason` to a localized string. +// e2 is the axis-line pick Symmetric needs (def.ec); every other type ignores it. +ConstraintPlan plan_entity_constraint(const std::vector& ents, + int e0, int e1, int e2, SketchConstraintType type); + +// Solve a bare entity list in place against entity-form constraints. Shared by +// CadDocument::solve_sketch_feature (committed features) and the in-session GUI +// sketch tool (live solving as dimensions/constraints are added). Returns true on +// convergence; an empty constraint list is a no-op that returns true. +bool solve_sketch_entities(std::vector& entities, + const std::vector& constraints); + +struct SketchParams { + // Extrude/Revolve + double extrude_len{10}; bool extrude_sym{false}; double extrude_taper{0}; + double revolve_deg{360}; + bool is_pocket{false}; // cut into selected object instead of new + + // Dress-up + bool dressup_enabled{false}; + DressUpType dressup_type{DressUpType::Fillet}; + FaceGroup dressup_faces{FaceGroup::All}; + double dressup_radius{1.0}; + double dressup_chamfer_dist{1.0}; + + // Mesh + double linear_deflection{0.01}; + + template + void serialize(Archive& ar) { + ar(extrude_len, extrude_sym, extrude_taper, revolve_deg, is_pocket, + dressup_enabled, dressup_type, dressup_faces, dressup_radius, dressup_chamfer_dist, + linear_deflection); + } +}; + +class SketchEngine +{ +public: + static TopoDS_Shape make_extrude(const TopoDS_Wire& wire, const SketchPlane& plane, + double length, bool symmetric = false, double taper_deg = 0.0); + static TopoDS_Shape make_extrude(const TopoDS_Face& face, const SketchPlane& plane, + double length, bool symmetric = false, double taper_deg = 0.0); + // Asymmetric two-sided prism: extrude the wire's face by `up` along +normal and `down` + // along -normal, fused into one solid. up/down are non-negative magnitudes. + // Tapered (draft) extrude of a planar wire: the top profile is the base wire offset in its + // plane by length*tan(taper_deg), lofted from base to top. Falls back to a straight prism on + // any failure (self-intersecting offset / loft error). taper_deg>0 widens the top. + static TopoDS_Shape make_extrude_taper(const TopoDS_Wire& wire, const SketchPlane& plane, + double length, double taper_deg); + static TopoDS_Shape make_extrude_two_sided(const TopoDS_Wire& wire, const SketchPlane& plane, + double up, double down); + static TopoDS_Shape make_extrude_two_sided(const TopoDS_Face& face, const SketchPlane& plane, + double up, double down); + static TopoDS_Shape make_extrude_face(const TopoDS_Face& face, const SketchPlane& plane, + double length, bool symmetric = false, double taper_deg = 0.0); + + // Extrude a set of imported rigid regions (Text/SVG). Each region is + // contour[0]=outer loop + contour[1..]=hole loops, in plane (u,v) mm. Builds + // one planar face-with-holes per region, extrudes it, and fuses all region + // solids into a single shape. Empty/degenerate contours are skipped. + static TopoDS_Shape make_extrude_regions( + const std::vector>>& regions, + const SketchPlane& plane, double length, bool symmetric = false); + + // Revolve a planar profile wire about an axis lying in the sketch plane and + // passing through the plane origin: axis_sel 0 = plane X axis, 1 = plane Y axis. + // A negative angle_deg sweeps the opposite direction (Flip). The profile must + // lie to one side of the axis (Onshape rule); a straddling profile self-intersects. + static TopoDS_Shape make_revolve(const TopoDS_Wire& wire, const SketchPlane& plane, + double angle_deg = 360.0, int axis_sel = 0); + + // Sweep a planar profile wire along a path (spine) wire. The profile is turned + // into a face and swept with BRepOffsetAPI_MakePipe, which keeps the profile + // perpendicular to the spine along its length. The path may be open or closed; + // for a clean solid the path's first point should sit on/near the profile plane. + static TopoDS_Shape make_sweep(const TopoDS_Wire& profile, const TopoDS_Wire& path); + + // Loft a solid through 2+ closed profile wires (each on its own plane), in the + // given order. ruled=true => straight (ruled) sections; false => smooth (C2). + static TopoDS_Shape make_loft(const std::vector& profiles, bool ruled); + + // Skin `profiles` WITHOUT end caps -> an open shell (sheet). Same as make_loft but the + // ThruSections solid flag is false. // ponytail: a sibling instead of a bool param, so no + // existing call site changes. + static TopoDS_Shape make_loft_surface(const std::vector& profiles, bool ruled); + + static TopoDS_Shape make_pocket(const TopoDS_Wire& wire, const SketchPlane& plane, + const TopoDS_Shape& target, double depth); + + static TriangleMesh tessellate(const TopoDS_Shape& shape, + double linear_deflection = 0.01, + double angular_deflection = 0.5); + + static TriangleMesh tessellate(const TopoDS_Shape& shape, + std::vector& tri_face, + double linear_deflection = 0.01, + double angular_deflection = 0.5); + + static TopoDS_Wire entities_to_wire(const std::vector& entities, + const SketchPlane& plane, + bool closed_only = false); + + // Every loop the sketch holds, in the order each loop's FIRST entity appears in + // `entities`. A Circle or Ellipse is a loop on its own; Line/Arc/EllipseArc/BSpline + // entities are grouped into loops by shared endpoints. An OPEN chain is returned too — + // a sweep path is legitimately open, so open-ness is not an error here — unless + // `closed_only` is true, in which case an open chain is DISCARDED (skipped, not an + // error). Empty vector = nothing usable; the caller decides whether that is an error. + static std::vector entities_to_wires(const std::vector& entities, + const SketchPlane& plane, + bool closed_only = false); + + // A planar face from a set of coplanar loops: the largest-area loop is the outer boundary + // and every other loop is a hole in it. Throws std::runtime_error with a message naming the + // problem when the loops do not describe one such region. + static TopoDS_Face wires_to_face(const std::vector& wires, + const SketchPlane& plane); + + static std::vector mirror_entities( + const std::vector& src, const Vec2d& a, const Vec2d& b); + + // Offset a sketch by `d`, PRESERVING CHAINS. Entities joined by shared endpoints are + // offset together and their seams repaired (miter join), so a closed profile comes back + // closed and can still be extruded; per-entity offsetting cannot do that. Sign convention: + // +d moves each curve to the LEFT of its direction of travel, which for a CCW closed loop + // is inward. Ellipses and splines are not offset (a parallel of either is not the same + // kind of curve) and are dropped from the result. + static std::vector offset_entities( + const std::vector& src, double d); + + // Rigid-transform array. Returns the (count-1) copies for instance i=1..count-1 + // (the originals in `src` are NOT included). Each copy i is `src` rigidly + // transformed by: rotate by i*angle_step about `pivot`, then translate by i*step. + // Rectangular/linear array: angle_step = 0, step = spacing*direction (pivot unused). + // Polar array: step = (0,0), angle_step = sweep/count, pivot = centre. + // Orientation-preserving, so arc/ellipse parametric angles shift by i*angle_step. + static std::vector array_entities( + const std::vector& src, int count, + const Vec2d& step, double angle_step, const Vec2d& pivot); + + // General affine transform (move / rotate / scale), applied IN PLACE: returns + // the SAME entities (same count and order), each mapped by + // p -> pivot + scale * R(angle) * (p - pivot) + move + // (radii scale by |scale|; arc/ellipse parametric/rotation angles shift by + // `angle`). Unlike array_entities this mutates the subjects rather than adding + // copies. Move: angle=0, scale=1. Rotate-in-place: move=(0,0), scale=1, + // pivot=centroid. Scale: angle=0. + static std::vector transform_entities( + const std::vector& src, + const Vec2d& move, double angle, double scale, const Vec2d& pivot); + + static bool fillet_lines(const SketchEntity& a, const SketchEntity& b, double r, + SketchEntity& a_out, SketchEntity& b_out, SketchEntity& arc_out); + + // Symmetric chamfer between two lines meeting at a corner: trims each line back + // by setback distance `d` from the shared corner and returns the connecting + // straight segment (seg_out) in place of the corner. a_out/b_out are the trimmed + // lines; seg_out goes seg_out.p0 (on a) -> seg_out.p1 (on b). False if the lines + // are parallel or `d` overruns either line. + static bool chamfer_lines(const SketchEntity& a, const SketchEntity& b, double d, + SketchEntity& a_out, SketchEntity& b_out, SketchEntity& seg_out); + + static bool trim_entity(SketchEntity& e, const std::vector& others, + const Vec2d& pick); + + static bool extend_entity(SketchEntity& e, const std::vector& others, + const Vec2d& pick); + + // Build a cubic-Bezier G1 bridge (as a BSpline entity, 4 poles) connecting endpoint + // `a_end` of `a` to endpoint `b_end` of `b` (0 = start/p0 side, 1 = end/p1 side). + // Tangent-continuous with both entities where the endpoint tangent is defined. + static SketchEntity make_bridge(const SketchEntity& a, int a_end, + const SketchEntity& b, int b_end); +}; + +// Free endpoints of a sketch: the sketch-space points where a chain fails to close. +// Same weld tolerance as the wire build, so it can never contradict it. +std::vector sketch_open_ends(const std::vector&, const SketchPlane&); + +} // namespace Slic3r + +#endif // slic3r_SketchEngine_hpp_ diff --git a/src/libslic3r/CAD/SketchImport.cpp b/src/libslic3r/CAD/SketchImport.cpp new file mode 100644 index 0000000000..7140776603 --- /dev/null +++ b/src/libslic3r/CAD/SketchImport.cpp @@ -0,0 +1,145 @@ +#include "libslic3r/CAD/SketchImport.hpp" + +#include "libslic3r/Emboss.hpp" +#include "libslic3r/NSVGUtils.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/TextConfiguration.hpp" // FontProp +#include "libslic3r/libslic3r.h" // SCALING_FACTOR +#include "libslic3r/Utils.hpp" // resources_dir + +#include +#include + +namespace Slic3r { + +// Convert one ExPolygon (outer contour + CW holes) into an ImportRegion, +// mapping each integer Point to plane (u,v) mm via `to_mm`. +template +static ImportRegion expoly_to_region(const ExPolygon& ex, ToMm to_mm) +{ + auto contour_pts = [&](const Polygon& poly) { + std::vector c; + c.reserve(poly.points.size()); + for (const Point& p : poly.points) + c.push_back(to_mm(p)); + return c; + }; + ImportRegion region; + region.push_back(contour_pts(ex.contour)); + for (const Polygon& h : ex.holes) + region.push_back(contour_pts(h)); + return region; +} + +// Shift all regions so their common bounding-box centre sits on the origin +// (Onshape/typical CAD insert places imported art centred on the sketch). +static void center_regions(ImportRegions& regs) +{ + double lo_x = std::numeric_limits::max(); + double lo_y = std::numeric_limits::max(); + double hi_x = -std::numeric_limits::max(); + double hi_y = -std::numeric_limits::max(); + bool any = false; + for (const auto& region : regs) + for (const auto& contour : region) + for (const Vec2d& p : contour) { + lo_x = std::min(lo_x, p.x()); hi_x = std::max(hi_x, p.x()); + lo_y = std::min(lo_y, p.y()); hi_y = std::max(hi_y, p.y()); + any = true; + } + if (!any) return; + const Vec2d c(0.5 * (lo_x + hi_x), 0.5 * (lo_y + hi_y)); + for (auto& region : regs) + for (auto& contour : region) + for (Vec2d& p : contour) + p -= c; +} + +static std::string default_font_path() +{ + return resources_dir() + "/fonts/HarmonyOS_Sans_SC_Regular.ttf"; +} + +ImportRegions text_to_regions(const std::string& utf8, double size_mm, + const std::string& font_path) +{ + if (utf8.empty() || size_mm <= 0.0) + return {}; + + const std::string path = font_path.empty() ? default_font_path() : font_path; + std::unique_ptr ff = Emboss::create_font_file(path.c_str()); + if (!ff) + return {}; + Emboss::FontFileWithCache fwc(std::move(ff)); + if (!fwc.has_value()) + return {}; + + FontProp prop(static_cast(size_mm)); // per_glyph=false + HealedExPolygons healed = Emboss::text2shapes(fwc, utf8.c_str(), prop); + if (healed.expolygons.empty()) + return {}; + + // Shape points are integers scaled by 1/SHAPE_SCALE in font units; + // get_text_shape_scale collapses (size_in_mm / unit_per_em) * SHAPE_SCALE + // into a single mm-per-shape-unit factor. FreeType y is up already. + const double s = Emboss::get_text_shape_scale(prop, *fwc.font_file); + auto to_mm = [s](const Point& p) { return Vec2d(p.x() * s, p.y() * s); }; + + ImportRegions regs; + regs.reserve(healed.expolygons.size()); + for (const ExPolygon& ex : healed.expolygons) + regs.push_back(expoly_to_region(ex, to_mm)); + + center_regions(regs); + return regs; +} + +ImportRegions svg_to_regions(const std::string& svg_path, double scale) +{ + if (svg_path.empty() || scale <= 0.0) + return {}; + + NSVGimage_ptr image = nsvgParseFromFile(svg_path, "mm", 96.0f); + if (!image) + return {}; + + // A filled shape that also carries a stroke would import the stroke as a + // thick outline band wrapped around the fill (the reported "too large line + // width"). For CAD import the fill silhouette is what's wanted, so drop the + // stroke on any shape that has a fill; stroke-only line art is kept. + for (NSVGshape* s = image->shapes; s != nullptr; s = s->next) + if (s->fill.type != NSVG_PAINT_NONE) + s->stroke.type = NSVG_PAINT_NONE; + + // tesselation tolerance is in image (mm) scale; 0.3 mm keeps curves smooth + // without exploding the contour count. is_y_negative (default) flips SVG's + // y-down to the sketch's y-up. + NSVGLineParams param(0.3); + ExPolygonsWithIds ids = create_shape_with_ids(*image, param); + + // NSVG points are integers scaled by 1/SCALING_FACTOR (param.scale default): + // mm = point * SCALING_FACTOR, then the user scale factor. + const double s = SCALING_FACTOR * scale; + auto to_mm = [s](const Point& p) { return Vec2d(p.x() * s, p.y() * s); }; + + ImportRegions regs; + for (const ExPolygonsWithId& w : ids) + for (const ExPolygon& ex : w.expoly) + regs.push_back(expoly_to_region(ex, to_mm)); + + center_regions(regs); + return regs; +} + +ImportRegions transform_regions(const ImportRegions& src, const Vec2d& offset, + double scale_x, double scale_y) +{ + ImportRegions out = src; + for (auto& region : out) + for (auto& contour : region) + for (Vec2d& p : contour) + p = Vec2d(p.x() * scale_x + offset.x(), p.y() * scale_y + offset.y()); + return out; +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/SketchImport.hpp b/src/libslic3r/CAD/SketchImport.hpp new file mode 100644 index 0000000000..0873b0b861 --- /dev/null +++ b/src/libslic3r/CAD/SketchImport.hpp @@ -0,0 +1,37 @@ +#ifndef slic3r_SketchImport_hpp_ +#define slic3r_SketchImport_hpp_ + +#include "libslic3r/Point.hpp" // Vec2d + +#include +#include + +namespace Slic3r { + +// A rigid imported region: contour[0] = outer loop, contour[1..] = holes; +// points in plane (u,v) millimetres. The nested vector type matches +// CadFeature::imported_regions exactly, so results assign directly. +using ImportRegion = std::vector>; +using ImportRegions = std::vector; + +// Vectorize UTF-8 text into filled regions (mm), centred on the origin. +// `size_mm` is the cap/line height. `font_path` empty -> a bundled default +// font (resources/fonts). Returns an empty vector on any failure. +ImportRegions text_to_regions(const std::string& utf8, double size_mm, + const std::string& font_path = std::string()); + +// Parse an SVG file's filled paths into regions (mm), centred on the origin. +// `scale` multiplies the authored size (1.0 = as authored). Returns an empty +// vector on any failure. +ImportRegions svg_to_regions(const std::string& svg_path, double scale = 1.0); + +// Apply an axis-aligned placement transform to regions: +// p -> ( p.x * scale_x + offset.x, p.y * scale_y + offset.y ) +// Used to move / enlarge / stretch imported art non-destructively (the +// feature keeps the centred source regions + this transform). +ImportRegions transform_regions(const ImportRegions& src, const Vec2d& offset, + double scale_x, double scale_y); + +} // namespace Slic3r + +#endif // slic3r_SketchImport_hpp_ diff --git a/src/libslic3r/CAD/SketchInference.cpp b/src/libslic3r/CAD/SketchInference.cpp new file mode 100644 index 0000000000..cfeb2cd509 --- /dev/null +++ b/src/libslic3r/CAD/SketchInference.cpp @@ -0,0 +1,234 @@ +#include "libslic3r/CAD/SketchInference.hpp" + +#include +#include + +namespace Slic3r { + +// Candidate target collected during the scan; we keep the closest within each +// priority tier and resolve ties by tier then distance. +namespace { +struct Cand { + InferenceSnap::Kind kind{InferenceSnap::Kind::None}; + int entity{-1}; + SketchPointRole role{SketchPointRole::P0}; + Vec2d point{0, 0}; + double dist{0.0}; +}; + +// Lower number = higher priority. +int tier(InferenceSnap::Kind k) +{ + switch (k) { + case InferenceSnap::Kind::Endpoint: return 0; + case InferenceSnap::Kind::Center: return 1; + case InferenceSnap::Kind::Origin: return 2; + case InferenceSnap::Kind::Midpoint: return 3; + case InferenceSnap::Kind::OnEdge: return 4; + default: return 9; + } +} +} // namespace + +InferenceSnap infer_point_snap(const std::vector& entities, + const Vec2d& query, double tol, + bool include_origin) +{ + Cand best; + best.kind = InferenceSnap::Kind::None; + best.point = query; + + auto offer = [&](InferenceSnap::Kind k, int ent, SketchPointRole r, const Vec2d& q) { + const double d = (q - query).norm(); + if (d > tol) return; + const bool better = (best.kind == InferenceSnap::Kind::None) || + (tier(k) < tier(best.kind)) || + (tier(k) == tier(best.kind) && d < best.dist); + if (better) { best.kind = k; best.entity = ent; best.role = r; best.point = q; best.dist = d; } + }; + + for (size_t i = 0; i < entities.size(); ++i) { + const SketchEntity& e = entities[i]; + const int ei = int(i); + switch (e.type) { + case SketchEntity::Type::Line: { + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P0, e.p0); + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P1, e.p1); + offer(InferenceSnap::Kind::Midpoint, ei, SketchPointRole::P0, 0.5 * (e.p0 + e.p1)); + // Projection onto the segment interior (PointOnObject candidate). + const Vec2d d = e.p1 - e.p0; + const double L2 = d.squaredNorm(); + if (L2 > 1e-12) { + double t = (query - e.p0).dot(d) / L2; + if (t > 0.02 && t < 0.98) + offer(InferenceSnap::Kind::OnEdge, ei, SketchPointRole::P0, e.p0 + t * d); + } + break; + } + case SketchEntity::Type::Arc: { + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P0, e.p0); + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P1, e.p1); + offer(InferenceSnap::Kind::Center, ei, SketchPointRole::Center, e.center); + // Mid-arc point, so an arc is as snappable in its middle as a line is. + const double am = 0.5 * (e.start_angle + e.end_angle); + offer(InferenceSnap::Kind::Midpoint, ei, SketchPointRole::P0, + Vec2d(e.center.x() + e.radius * std::cos(am), + e.center.y() + e.radius * std::sin(am))); + break; + } + case SketchEntity::Type::Circle: { + offer(InferenceSnap::Kind::Center, ei, SketchPointRole::Center, e.center); + // Nearest point on the circle rim (PointOnObject candidate). + const Vec2d v = query - e.center; + const double n = v.norm(); + if (n > 1e-9 && e.radius > 1e-9) + offer(InferenceSnap::Kind::OnEdge, ei, SketchPointRole::Center, + e.center + v * (e.radius / n)); + break; + } + case SketchEntity::Type::Point: + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P0, e.p0); + break; + case SketchEntity::Type::EllipseArc: + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P0, e.p0); + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P1, e.p1); + offer(InferenceSnap::Kind::Center, ei, SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::Ellipse: + offer(InferenceSnap::Kind::Center, ei, SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::BSpline: + // Endpoints (first/last pole) snap for loop closure. + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P0, e.p0); + offer(InferenceSnap::Kind::Endpoint, ei, SketchPointRole::P1, e.p1); + break; + } + } + + if (include_origin) + offer(InferenceSnap::Kind::Origin, -1, SketchPointRole::P0, Vec2d(0, 0)); + + InferenceSnap r; + r.kind = best.kind; r.entity = best.entity; r.role = best.role; r.point = best.point; + return r; +} + +std::optional +infer_axis_constraint(const Vec2d& anchor, const Vec2d& tip, double ang_tol_rad) +{ + const Vec2d d = tip - anchor; + if (d.squaredNorm() < 1e-12) return std::nullopt; + const double ang = std::atan2(std::abs(d.y()), std::abs(d.x())); // 0=horizontal, pi/2=vertical + if (ang <= ang_tol_rad) return SketchConstraintType::Horizontal; + if (ang >= M_PI / 2.0 - ang_tol_rad) return SketchConstraintType::Vertical; + return std::nullopt; +} + +// Unsigned angle between two (unnormalized) direction vectors, in [0, pi]. 0 = same +// direction, pi = opposite, pi/2 = perpendicular. Inputs must be non-degenerate. +// static: this is a file-local helper, not part of the module's interface -- at namespace +// scope with external linkage it would be a link-time collision waiting to happen. +static double unsigned_angle(const Vec2d& a, const Vec2d& b) +{ + const double cross = a.x() * b.y() - a.y() * b.x(); + const double dot = a.x() * b.x() + a.y() * b.y(); + return std::atan2(std::abs(cross), dot); +} + +std::vector +infer_relations(const std::vector& entities, int new_ei, + double ang_tol_rad, double len_tol_frac) +{ + std::vector out; + if (new_ei <= 0 || new_ei >= int(entities.size())) return out; + + // AT MOST ONE constraint per rule per new entity, not one per PAIR. Without this the + // function is quadratic in the sketch: a drawing with 200 equal holes yields ~20000 + // EqualRadius candidates, the batch is rejected as over-constrained, and the caller's + // one-at-a-time fallback then runs a solve per constraint. Measured 2026-08-31: that + // pinned the app at 95% of a core with the MCP socket unresponsive -- the same failure + // the axes batch above already carries a warning about. Keep the best candidate only. + int best_ang_j = -1, best_rad_j = -1, best_tan_j = -1; + double best_ang_err = 1e30, best_rad_err = 1e30, best_tan_err = 1e30; + SketchConstraintType best_ang_type = SketchConstraintType::Parallel; + + const SketchEntity& n = entities[new_ei]; + const bool n_line = n.type == SketchEntity::Type::Line; + const bool n_curve = n.type == SketchEntity::Type::Arc || n.type == SketchEntity::Type::Circle; + if (!n_line && !n_curve) return out; // not a Line / Arc / Circle + if (n_line && (n.p1 - n.p0).squaredNorm() < 1e-18) return out; // degenerate + if (n_curve && n.radius < 1e-9) return out; + + for (int j = 0; j < new_ei; ++j) { + const SketchEntity& o = entities[j]; + const bool o_line = o.type == SketchEntity::Type::Line; + const bool o_curve = o.type == SketchEntity::Type::Arc || o.type == SketchEntity::Type::Circle; + if (!o_line && !o_curve) continue; + if (o_line && (o.p1 - o.p0).squaredNorm() < 1e-18) continue; + if (o_curve && o.radius < 1e-9) continue; + + if (n_line && o_line) { + // R1 — parallel / perpendicular, restricted to CONNECTED lines. Connection is + // what keeps this from firing on every distant line that is roughly parallel. + const bool connected = (n.p0 - o.p0).squaredNorm() <= 1e-14 || + (n.p0 - o.p1).squaredNorm() <= 1e-14 || + (n.p1 - o.p0).squaredNorm() <= 1e-14 || + (n.p1 - o.p1).squaredNorm() <= 1e-14; + if (!connected) continue; + const double ang = unsigned_angle(n.p1 - n.p0, o.p1 - o.p0); + const double par_err = std::min(ang, M_PI - ang); + const double per_err = std::abs(ang - M_PI / 2.0); + if (par_err <= ang_tol_rad && par_err < best_ang_err) { + best_ang_err = par_err; best_ang_j = j; + best_ang_type = SketchConstraintType::Parallel; + } else if (per_err <= ang_tol_rad && per_err < best_ang_err) { + best_ang_err = per_err; best_ang_j = j; + best_ang_type = SketchConstraintType::Perpendicular; + } + } else if (n_curve && o_curve) { + // R2 — equal radius between circles / arcs, relative to the larger. + const double larger = n.radius > o.radius ? n.radius : o.radius; + const double err = std::abs(n.radius - o.radius) / larger; + if (err <= len_tol_frac && err < best_rad_err) { best_rad_err = err; best_rad_j = j; } + } else { + // R3 — tangent where a line meets a circle / arc at a shared endpoint, and only + // when the line is ALREADY perpendicular to the radius at that point. + const SketchEntity& ln = n_line ? n : o; + const SketchEntity& cv = n_line ? o : n; + const Vec2d ldir = ln.p1 - ln.p0; + bool tangent = false; + const Vec2d le[2] = { ln.p0, ln.p1 }; + for (int k = 0; k < 2 && !tangent; ++k) { + if (cv.type == SketchEntity::Type::Arc) { + const Vec2d ce[2] = { cv.p0, cv.p1 }; + for (int m = 0; m < 2; ++m) { + if ((le[k] - ce[m]).squaredNorm() > 1e-14) continue; + const Vec2d r = ce[m] - cv.center; + if (r.squaredNorm() < 1e-18) continue; + tangent = std::abs(unsigned_angle(ldir, r) - M_PI / 2.0) <= ang_tol_rad; + if (tangent) break; + } + } else { // Circle: shared point is a line endpoint on the rim. + const Vec2d r = le[k] - cv.center; + if (std::abs(r.norm() - cv.radius) > 1e-7) continue; + if (r.squaredNorm() < 1e-18) continue; + tangent = std::abs(unsigned_angle(ldir, r) - M_PI / 2.0) <= ang_tol_rad; + } + } + if (tangent && best_tan_err > 0.0) { best_tan_err = 0.0; best_tan_j = j; } + } + } + + auto emit = [&](SketchConstraintType t, int j) { + if (j < 0) return; + SketchEntityConstraintDef c; + c.type = t; c.ea = j; c.eb = new_ei; + out.push_back(c); + }; + emit(best_ang_type, best_ang_j); // R1 + emit(SketchConstraintType::EqualRadius, best_rad_j); // R2 + emit(SketchConstraintType::Tangent, best_tan_j); // R3 + return out; +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/SketchInference.hpp b/src/libslic3r/CAD/SketchInference.hpp new file mode 100644 index 0000000000..be51f0240e --- /dev/null +++ b/src/libslic3r/CAD/SketchInference.hpp @@ -0,0 +1,55 @@ +#ifndef slic3r_SketchInference_hpp_ +#define slic3r_SketchInference_hpp_ + +#include "libslic3r/CAD/SketchEngine.hpp" +#include +#include +#include + +namespace Slic3r { + +// Result of snapping a free cursor point onto the most relevant inference target +// among the committed sketch entities and the sketch origin. This is the backbone +// that lets geometry self-constrain as it is drawn: the GUI records the returned +// target at click time and, once the entity it belongs to exists, emits the +// matching constraint (Coincident onto an endpoint/centre, Fix onto the origin, +// PointOnObject onto an edge) so the relation survives a re-solve. +struct InferenceSnap { + enum class Kind { None, Endpoint, Center, Midpoint, OnEdge, Origin }; + Kind kind{Kind::None}; + int entity{-1}; // hit entity index (-1 = origin/none) + SketchPointRole role{SketchPointRole::P0}; // which point of `entity` (Endpoint/Center) + Vec2d point{0, 0}; // snapped coordinate (== query when None) + + bool snapped() const { return kind != Kind::None; } +}; + +// Snap `query` onto the best inference target within `tol` plane units. Priority, +// highest first: Endpoint, Center, Origin, Midpoint, OnEdge. Construction entities +// participate (you constrain to them too). Returns {None, query} when nothing is in +// range. Pure — no GUI / GL dependencies, so it is unit-testable in libslic3r. +InferenceSnap infer_point_snap(const std::vector& entities, + const Vec2d& query, double tol, + bool include_origin = true); + +// Relational inference for an in-progress segment anchor->tip. If its direction is +// within `ang_tol_rad` of an axis, returns Horizontal or Vertical (the constraint to +// auto-emit on the committed segment); std::nullopt otherwise. Degenerate (near-zero +// length) segments return nullopt. +std::optional +infer_axis_constraint(const Vec2d& anchor, const Vec2d& tip, double ang_tol_rad = 3.0 * M_PI / 180.0); + +// Relational constraints to auto-emit for a newly drawn entity `new_ei` against the +// entities already in the sketch. Pure, no GUI/GL dependencies, unit-testable. +// +// Deliberately conservative: every rule requires the relation to be ALREADY TRUE within +// tolerance, so an inferred constraint never moves geometry the user drew — it only pins a +// relation that is visibly there. Returns an empty vector when nothing qualifies. +std::vector +infer_relations(const std::vector& entities, int new_ei, + double ang_tol_rad = 2.0 * M_PI / 180.0, + double len_tol_frac = 0.01); + +} // namespace Slic3r + +#endif // slic3r_SketchInference_hpp_ diff --git a/src/libslic3r/CAD/SketchSolver.cpp b/src/libslic3r/CAD/SketchSolver.cpp new file mode 100644 index 0000000000..952f9de16f --- /dev/null +++ b/src/libslic3r/CAD/SketchSolver.cpp @@ -0,0 +1,555 @@ +#include "libslic3r/CAD/SketchSolver.hpp" + +#include + +#include +#include +#include +#include +#include + +namespace Slic3r { + +using CT = SketchConstraintType; +using Role = SketchPointRole; + +namespace { + +constexpr Slvs_hGroup G_FIXED = 1; // workplane / reference: held constant +constexpr Slvs_hGroup G_SK = 2; // sketch geometry: the group we solve + +// Per-entity slvs handles. p0/p1/center are point2d entity handles; prim is the +// line/arc/circle entity; rparam is the circle radius param. +struct Slots { + Slvs_hEntity prim{0}, p0{0}, p1{0}, center{0}; + Slvs_hParam rparam{0}; + std::vector pts; // BSpline control points (point2d handles) +}; + +struct Build { + std::vector params; + std::vector ents; + std::vector cons; + Slvs_hParam ph{0}; + Slvs_hEntity eh{0}; + Slvs_hConstraint ch{0}; + Slvs_hEntity wp{0}, normal{0}; + + Slvs_hParam P(Slvs_hGroup g, double v) { params.push_back(Slvs_MakeParam(++ph, g, v)); return ph; } + Slvs_hEntity E(Slvs_Entity e) { ents.push_back(e); return e.h; } + Slvs_hEntity pt2d(Slvs_hGroup g, double u, double v) + { return E(Slvs_MakePoint2d(++eh, g, wp, P(g, u), P(g, v))); } + + // Generic constraint (entityC unused by Slvs_MakeConstraint — set it manually below). + void C(int type, double val, Slvs_hEntity ptA, Slvs_hEntity ptB, + Slvs_hEntity eA, Slvs_hEntity eB, Slvs_hEntity eC = 0, int other = 0) + { + Slvs_Constraint c = Slvs_MakeConstraint(++ch, G_SK, type, wp, val, ptA, ptB, eA, eB); + c.entityC = eC; + c.other = other; + cons.push_back(c); + } +}; + +inline int role_idx(Role r) { return int(r); } + +} // namespace + +static SketchSolveResult solve_system(std::vector& entities, + const std::vector& constraints, + int dragged_ei, Role dragged_role) +{ + SketchSolveResult out; + if (constraints.empty()) { out.ok = true; out.dof = -1; return out; } + + Build b; + + // ---- Fixed 2D XY workplane (origin at 0,0,0; identity normal) ------------------- + Slvs_hEntity origin = b.E(Slvs_MakePoint3d(++b.eh, G_FIXED, + b.P(G_FIXED, 0.0), b.P(G_FIXED, 0.0), b.P(G_FIXED, 0.0))); + double qw, qx, qy, qz; + Slvs_MakeQuaternion(1, 0, 0, 0, 1, 0, &qw, &qx, &qy, &qz); + b.normal = b.E(Slvs_MakeNormal3d(++b.eh, G_FIXED, + b.P(G_FIXED, qw), b.P(G_FIXED, qx), b.P(G_FIXED, qy), b.P(G_FIXED, qz))); + b.wp = b.E(Slvs_MakeWorkplane(++b.eh, G_FIXED, origin, b.normal)); + + // Unit direction references for the axis-projected distance constraints. Both live in + // G_FIXED, so they are held constant and add no DOF to the system. + // libslvs defines a LINE_SEGMENT's direction as point[0] - point[1] (entity.cpp + // VectorGetExprs), so the unit vector's head is listed first to yield +X / +Y. + const Slvs_hEntity dir_x [[maybe_unused]] = b.E(Slvs_MakeLineSegment(++b.eh, G_FIXED, b.wp, + b.pt2d(G_FIXED, 1.0, 0.0), b.pt2d(G_FIXED, 0.0, 0.0))); + const Slvs_hEntity dir_y [[maybe_unused]] = b.E(Slvs_MakeLineSegment(++b.eh, G_FIXED, b.wp, + b.pt2d(G_FIXED, 0.0, 1.0), b.pt2d(G_FIXED, 0.0, 0.0))); + + // Implicit sketch references (origin, X axis, Y axis), addressable by the negative + // sentinels in SketchEngine.hpp. G_FIXED: held constant, zero added DOF. The axis lines + // are built head-first so their direction reads +X / +Y, matching dir_x / dir_y. + const Slvs_hEntity ref_origin_pt = b.pt2d(G_FIXED, 0.0, 0.0); + const Slvs_hEntity ref_axis_x = b.E(Slvs_MakeLineSegment(++b.eh, G_FIXED, b.wp, + b.pt2d(G_FIXED, 1.0, 0.0), ref_origin_pt)); + const Slvs_hEntity ref_axis_y = b.E(Slvs_MakeLineSegment(++b.eh, G_FIXED, b.wp, + b.pt2d(G_FIXED, 0.0, 1.0), ref_origin_pt)); + + // ---- Entities ------------------------------------------------------------------- + std::vector slot(entities.size()); + for (size_t i = 0; i < entities.size(); ++i) { + const SketchEntity& e = entities[i]; + Slots s; + switch (e.type) { + case SketchEntity::Type::Line: + s.p0 = b.pt2d(G_SK, e.p0.x(), e.p0.y()); + s.p1 = b.pt2d(G_SK, e.p1.x(), e.p1.y()); + s.prim = b.E(Slvs_MakeLineSegment(++b.eh, G_SK, b.wp, s.p0, s.p1)); + break; + case SketchEntity::Type::Point: + s.p0 = b.pt2d(G_SK, e.p0.x(), e.p0.y()); + break; + case SketchEntity::Type::Circle: { + s.center = b.pt2d(G_SK, e.center.x(), e.center.y()); + s.p0 = s.center; // p0 mirrors centre for circles + s.rparam = b.P(G_SK, e.radius > 1e-9 ? e.radius : 1.0); + Slvs_hEntity dist = b.E(Slvs_MakeDistance(++b.eh, G_SK, b.wp, s.rparam)); + s.prim = b.E(Slvs_MakeCircle(++b.eh, G_SK, b.wp, s.center, b.normal, dist)); + break; + } + case SketchEntity::Type::Arc: + s.center = b.pt2d(G_SK, e.center.x(), e.center.y()); + s.p0 = b.pt2d(G_SK, e.p0.x(), e.p0.y()); // start + s.p1 = b.pt2d(G_SK, e.p1.x(), e.p1.y()); // end + s.prim = b.E(Slvs_MakeArcOfCircle(++b.eh, G_SK, b.wp, b.normal, s.center, s.p0, s.p1)); + break; + // libslvs has no conic entity (scope note): register the ellipse's defining + // points only (center + arc endpoints) so center/endpoint constraints solve; + // the a/b/phi shape params pass through unsolved. + case SketchEntity::Type::Ellipse: + s.center = b.pt2d(G_SK, e.center.x(), e.center.y()); + s.p0 = s.center; // p0 mirrors centre (circle convention) + break; + case SketchEntity::Type::EllipseArc: + s.center = b.pt2d(G_SK, e.center.x(), e.center.y()); + s.p0 = b.pt2d(G_SK, e.p0.x(), e.p0.y()); // start + s.p1 = b.pt2d(G_SK, e.p1.x(), e.p1.y()); // end + break; + // No native slvs curve for an arbitrary-degree spline: register the control + // poles as point2d so endpoints (and any pole-targeted constraint) solve. The + // OCCT curve is rebuilt from the solved poles. p0/p1 mirror first/last pole so + // Coincident at the spline ends closes loops just like a Line. + case SketchEntity::Type::BSpline: + s.pts.reserve(e.ctrl.size()); + for (const Vec2d& cp : e.ctrl) + s.pts.push_back(b.pt2d(G_SK, cp.x(), cp.y())); + if (!s.pts.empty()) { s.p0 = s.pts.front(); s.p1 = s.pts.back(); } + break; + } + slot[i] = s; + } + + auto valid = [&](int ei) { return ei >= 0 && ei < int(entities.size()); }; + auto ptOf = [&](int ei, Role r) -> Slvs_hEntity { + if (ei == kSketchRefOrigin) return ref_origin_pt; + if (ei == kSketchRefAxisX || ei == kSketchRefAxisY) return ref_origin_pt; // axes pass through it + if (!valid(ei)) return 0; + const Slots& s = slot[ei]; + switch (r) { + case Role::P0: return s.p0; + case Role::P1: return s.p1; + case Role::Center: return s.center ? s.center : s.p0; + } + return 0; + }; + auto primOf = [&](int ei) -> Slvs_hEntity { + if (ei == kSketchRefAxisX) return ref_axis_x; + if (ei == kSketchRefAxisY) return ref_axis_y; + return valid(ei) ? slot[ei].prim : 0; // origin has no prim: it is a point + }; + auto coordOf = [&](int ei, Role r) -> Vec2d { + if (is_sketch_ref(ei)) return Vec2d(0, 0); // all three pass through the origin + if (!valid(ei)) return Vec2d(0, 0); + const SketchEntity& e = entities[ei]; + switch (r) { case Role::P0: return e.p0; case Role::P1: return e.p1; case Role::Center: return e.center; } + return e.p0; + }; + // A fixed reference point at (x,y) — used to pin coordinates (Fix / LockX / LockY). + auto fixedRef = [&](double x, double y) -> Slvs_hEntity { return b.pt2d(G_FIXED, x, y); }; + + // ---- Constraints ---------------------------------------------------------------- + for (const auto& c : constraints) { + // Robustness: never feed libslvs a null handle. A constraint that references an + // entity which produced no solver primitive (Point/Ellipse/EllipseArc/BSpline get + // no `prim`) or no point for the requested role would make Slvs FindById abort the + // whole process. Skip such a constraint instead of crashing. + bool ref_ok = true; + switch (c.type) { + case CT::Coincident: case CT::Horizontal: case CT::Vertical: case CT::Distance: + ref_ok = ptOf(c.ea, c.ra) && ptOf(c.eb, c.rb); break; + case CT::DistanceX: + case CT::DistanceY: + ref_ok = ptOf(c.ea, c.ra) && ptOf(c.eb, c.rb); break; + case CT::Concentric: + ref_ok = ptOf(c.ea, Role::Center) && ptOf(c.eb, Role::Center); break; + case CT::Fix: case CT::LockX: case CT::LockY: + ref_ok = ptOf(c.ea, c.ra) != 0; break; + case CT::EqualLength: case CT::Parallel: case CT::Perpendicular: + case CT::Angle: case CT::Tangent: + ref_ok = primOf(c.ea) && primOf(c.eb); break; + case CT::Radius: case CT::Diameter: + ref_ok = primOf(c.ea) != 0; break; + case CT::Midpoint: + ref_ok = ptOf(c.ea, c.ra) && primOf(c.eb); break; + case CT::Symmetric: + ref_ok = ptOf(c.ea, c.ra) && ptOf(c.eb, c.rb) && primOf(c.ec); break; + case CT::SymmetricAboutY: case CT::SymmetricAboutX: + ref_ok = ptOf(c.ea, c.ra) && ptOf(c.eb, c.rb); break; + case CT::PointOnLine: case CT::PointOnObject: + ref_ok = ptOf(c.ea, c.ra) && primOf(c.eb); break; + case CT::EqualRadius: + case CT::Collinear: + ref_ok = primOf(c.ea) && primOf(c.eb); break; + } + if (!ref_ok) continue; + switch (c.type) { + case CT::Coincident: + b.C(SLVS_C_POINTS_COINCIDENT, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), 0, 0); + break; + case CT::Concentric: + b.C(SLVS_C_POINTS_COINCIDENT, 0, ptOf(c.ea, Role::Center), ptOf(c.eb, Role::Center), 0, 0); + break; + case CT::Horizontal: + b.C(SLVS_C_HORIZONTAL, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), 0, 0); + break; + case CT::Vertical: + b.C(SLVS_C_VERTICAL, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), 0, 0); + break; + case CT::Distance: + b.C(SLVS_C_PT_PT_DISTANCE, c.value, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), 0, 0); + break; + case CT::DistanceX: + // Distance between the two points measured along X only: project the vector + // between them onto the fixed unit X direction. + b.C(SLVS_C_PROJ_PT_DISTANCE, c.value, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), dir_x, 0); + break; + case CT::DistanceY: + b.C(SLVS_C_PROJ_PT_DISTANCE, c.value, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), dir_y, 0); + break; + case CT::Fix: { + const Vec2d p = coordOf(c.ea, c.ra); + b.C(SLVS_C_POINTS_COINCIDENT, 0, ptOf(c.ea, c.ra), fixedRef(p.x(), p.y()), 0, 0); + break; + } + case CT::LockX: { + const Vec2d p = coordOf(c.ea, c.ra); + b.C(SLVS_C_VERTICAL, 0, ptOf(c.ea, c.ra), fixedRef(c.value, p.y()), 0, 0); + break; + } + case CT::LockY: { + const Vec2d p = coordOf(c.ea, c.ra); + b.C(SLVS_C_HORIZONTAL, 0, ptOf(c.ea, c.ra), fixedRef(p.x(), c.value), 0, 0); + break; + } + case CT::EqualLength: + b.C(SLVS_C_EQUAL_LENGTH_LINES, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + break; + case CT::Parallel: + b.C(SLVS_C_PARALLEL, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + break; + case CT::Perpendicular: + b.C(SLVS_C_PERPENDICULAR, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + break; + case CT::Midpoint: + b.C(SLVS_C_AT_MIDPOINT, 0, ptOf(c.ea, c.ra), 0, primOf(c.eb), 0); + break; + case CT::Symmetric: + // ptA, ptB symmetric about the axis line (ec). + b.C(SLVS_C_SYMMETRIC_LINE, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), primOf(c.ec), 0); + break; + case CT::SymmetricAboutY: + b.C(SLVS_C_SYMMETRIC_LINE, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), primOf(kSketchRefAxisY), 0); + break; + case CT::SymmetricAboutX: + b.C(SLVS_C_SYMMETRIC_LINE, 0, ptOf(c.ea, c.ra), ptOf(c.eb, c.rb), primOf(kSketchRefAxisX), 0); + break; + case CT::Angle: + // model stores radians; slvs angle is in degrees. + b.C(SLVS_C_ANGLE, c.value * 180.0 / M_PI, 0, 0, primOf(c.ea), primOf(c.eb)); + break; + case CT::Radius: + b.C(SLVS_C_DIAMETER, 2.0 * c.value, 0, 0, primOf(c.ea), 0); + break; + case CT::Diameter: + b.C(SLVS_C_DIAMETER, c.value, 0, 0, primOf(c.ea), 0); + break; + case CT::Tangent: { + const bool aCurve = valid(c.ea) && entities[c.ea].type != SketchEntity::Type::Line; + const bool bCurve = valid(c.eb) && entities[c.eb].type != SketchEntity::Type::Line; + if (aCurve && bCurve) + b.C(SLVS_C_CURVE_CURVE_TANGENT, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + else { + const int ci = aCurve ? c.ea : c.eb; // the curve + const int li = aCurve ? c.eb : c.ea; // the line + if (valid(ci) && entities[ci].type == SketchEntity::Type::Circle) { + // A FULL circle cannot use SLVS_C_ARC_LINE_TANGENT. That constraint reads + // arc->point[1] / point[2] — the arc's endpoints (see constrainteq.cpp, + // Type::ARC_LINE_TANGENT) — and a circle entity only has point[0], its + // centre. The zero handles send FindById into "Cannot find handle", which + // ABORTS the process rather than failing the solve, taking every later test + // with it. It is also the wrong equation for a circle: it only makes the + // line perpendicular to the radius AT AN ENDPOINT that does not exist. + // + // For a circle, tangency is exactly "the centre sits one radius away from + // the line", which slvs expresses directly. + // + // ponytail: the radius is captured here rather than tied as a variable — + // the C API takes a constant distance and offers no way to reference the + // circle's radius parameter. Exact whenever the radius is fixed or simply + // not being changed by another constraint in the same solve; if some other + // constraint drives the radius, re-solving restores tangency. Tying them + // would need an auxiliary point constrained onto both circle and line. + b.C(SLVS_C_PT_LINE_DISTANCE, entities[ci].radius, + ptOf(ci, Role::Center), 0, primOf(li), 0); + } else { + b.C(SLVS_C_ARC_LINE_TANGENT, 0, 0, 0, primOf(ci), primOf(li)); + } + } + break; + } + case CT::PointOnLine: + if (std::abs(c.value) < 1e-9) + b.C(SLVS_C_PT_ON_LINE, 0, ptOf(c.ea, c.ra), 0, primOf(c.eb), 0); + else + b.C(SLVS_C_PT_LINE_DISTANCE, std::abs(c.value), ptOf(c.ea, c.ra), 0, primOf(c.eb), 0); + break; + case CT::PointOnObject: + // Point (ea,ra) lies on entity edge eb: a circle rim -> PT_ON_CIRCLE, + // otherwise the segment line -> PT_ON_LINE. + if (valid(c.eb) && entities[c.eb].type == SketchEntity::Type::Circle) + b.C(SLVS_C_PT_ON_CIRCLE, 0, ptOf(c.ea, c.ra), 0, primOf(c.eb), 0); + else + b.C(SLVS_C_PT_ON_LINE, 0, ptOf(c.ea, c.ra), 0, primOf(c.eb), 0); + break; + case CT::EqualRadius: + b.C(SLVS_C_EQUAL_RADIUS, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + break; + case CT::Collinear: + // libslvs has no collinear code. Two lines are collinear iff they are parallel + // AND a point of one lies on the other's infinite line — emit both. + b.C(SLVS_C_PARALLEL, 0, 0, 0, primOf(c.ea), primOf(c.eb)); + // Point-on-infinite-line via PT_LINE_DISTANCE=0 rather than PT_ON_LINE: the + // latter creates an internal `valP` param that this port's Slvs_Solve leaves at + // 0 in the working set (ModifyToSatisfy only updates SK.param), so an already + // collinear pair drifts. PT_LINE_DISTANCE=0 is the same condition with no extra + // parameter, so an already-satisfied solve is a clean no-op. + b.C(SLVS_C_PT_LINE_DISTANCE, 0, ptOf(c.eb, Role::P0), 0, primOf(c.ea), 0); + break; + } + } + + // ---- Solve ---------------------------------------------------------------------- + Slvs_System sys; + std::memset(&sys, 0, sizeof(sys)); + sys.param = b.params.data(); sys.params = int(b.params.size()); + sys.entity = b.ents.data(); sys.entities = int(b.ents.size()); + sys.constraint = b.cons.data(); sys.constraints = int(b.cons.size()); + std::vector failed(b.cons.size() + 1, 0); + sys.failed = failed.data(); + sys.faileds = int(failed.size()); + sys.calculateFaileds = 1; + + // Drag pin: feed the dragged point's two params into sys.dragged[] so the solver + // favours keeping that point at the cursor and re-solves the rest around it. + if (dragged_ei >= 0) { + const Slvs_hEntity h = ptOf(dragged_ei, dragged_role); + for (const Slvs_Entity& en : b.ents) + if (en.h == h) { sys.dragged[0] = en.param[0]; sys.dragged[1] = en.param[1]; break; } + } + + Slvs_Solve(&sys, G_SK); + + out.result = sys.result; + out.dof = sys.dof; + out.ok = (sys.result == SLVS_RESULT_OKAY); + + // Map solved param handles -> values, then read points back. + std::unordered_map pv; + pv.reserve(sys.params * 2); + for (int i = 0; i < sys.params; ++i) pv[sys.param[i].h] = sys.param[i].val; + std::unordered_map byH; + byH.reserve(sys.entities * 2); + for (int i = 0; i < sys.entities; ++i) byH[sys.entity[i].h] = &sys.entity[i]; + auto coord = [&](Slvs_hEntity h) -> Vec2d { + auto it = byH.find(h); + if (it == byH.end()) return Vec2d(0, 0); + return Vec2d(pv[it->second->param[0]], pv[it->second->param[1]]); + }; + + // Map failed constraint handles back to indices into `constraints`. + if (!out.ok && sys.faileds > 0) { + std::unordered_map chToIdx; + // constraint handles were assigned in order starting after the fixed group; the + // i-th sketch constraint in b.cons has handle = its position. Rebuild by scanning. + for (size_t k = 0; k < b.cons.size(); ++k) chToIdx[b.cons[k].h] = int(k); + for (int i = 0; i < sys.faileds; ++i) { + auto it = chToIdx.find(failed[i]); + if (it != chToIdx.end() && it->second < int(constraints.size())) + out.bad.push_back(it->second); + } + } + + // ---- Read solved geometry back -------------------------------------------------- + // ONLY on success. A failed solve leaves libslvs' params holding its last Newton + // iterate — geometry that satisfies nothing and is usually wildly deformed. Writing + // that back made every rejected attempt destructive: the caller rolls the constraints + // back, but the sketch it rolls back to is already wreckage, so the next attempt starts + // from the corpse. The fillet degrade ladder hit this on every corner — rung 1 (a + // tangent on each leg) is legitimately over-constrained against the legs' own H/V, and + // its wreckage then failed rungs 2 and 3, which solve cleanly on their own. The arc + // ended up with no constraints at all and the solver snapped the corner shut. pl5. + if (!out.ok) return out; + for (size_t i = 0; i < entities.size(); ++i) { + SketchEntity& e = entities[i]; + const Slots& s = slot[i]; + if (s.p0) e.p0 = coord(s.p0); + if (s.p1) e.p1 = coord(s.p1); + if (s.center) e.center = coord(s.center); + + if (e.type == SketchEntity::Type::BSpline) { + for (size_t k = 0; k < s.pts.size() && k < e.ctrl.size(); ++k) + e.ctrl[k] = coord(s.pts[k]); + if (!e.ctrl.empty()) { e.p0 = e.ctrl.front(); e.p1 = e.ctrl.back(); } + } else if (e.type == SketchEntity::Type::Circle) { + if (s.rparam) { auto it = pv.find(s.rparam); if (it != pv.end()) e.radius = it->second; } + e.p0 = e.center; + } else if (e.type == SketchEntity::Type::Arc && s.center) { + // Reflow arc angles from solved centre + endpoints, preserving sweep sign. + const double old_sweep = e.end_angle - e.start_angle; + const double ns = std::atan2(e.p0.y() - e.center.y(), e.p0.x() - e.center.x()); + const double ne = std::atan2(e.p1.y() - e.center.y(), e.p1.x() - e.center.x()); + double sweep = ne - ns; + const double TWO_PI = 2.0 * M_PI; + while (sweep <= -TWO_PI) sweep += TWO_PI; + while (sweep >= TWO_PI) sweep -= TWO_PI; + if (old_sweep >= 0.0 && sweep < 0.0) sweep += TWO_PI; + if (old_sweep < 0.0 && sweep > 0.0) sweep -= TWO_PI; + e.start_angle = ns; + e.end_angle = ns + sweep; + e.radius = 0.5 * ((e.p0 - e.center).norm() + (e.p1 - e.center).norm()); + } + } + + return out; +} + +// libslvs carries a COMPILE-TIME ceiling: solvespace.h declares `enum { MAX_UNKNOWNS = 1024 }` +// and sizes the System's param and equation arrays with it. solve_system() hands the solver every +// entity in the sketch, constrained or not, at 2 params per point — so a sketch of about 480 lines +// is the last one that fits, and the very next one comes back TOO_MANY_UNKNOWNS. +// +// What that did, before this: DesignSketchTool::try_add_constraints rolls the whole batch back +// when the solve fails, so the auto-constraint pass over a large sketch dropped EVERY constraint +// it had just inferred. Measured on the rig — 480 lines: 960 constraints, dof 480. 520 lines: +// 0 constraints, dof unknown. Nothing was said, and from there on no dimension and no constraint +// could ever be applied to that sketch, because each attempt re-solved the same oversized system +// and was rejected in turn. A typed length simply did nothing. +// +// Constraints only couple entities that SHARE a point, so a sketch is naturally a set of +// independent systems — a plate with 300 cut-outs is 301 little problems, not one big one. +// Solving them separately keeps every one of them far under the ceiling AND is faster, since the +// solver's work is superlinear in system size. +// +// The whole system is still tried FIRST, and this runs only on TOO_MANY_UNKNOWNS, so every sketch +// that fits today keeps its exact current behaviour, including its reported degrees of freedom. +// A genuinely over-constrained sketch still fails: the conflict lives inside one component and +// that component still rejects it. +static SketchSolveResult solve_partitioned(std::vector& entities, + const std::vector& constraints, + int dragged_ei, Role dragged_role) +{ + const int n = int(entities.size()); + std::vector parent(n); + for (int i = 0; i < n; ++i) parent[i] = i; + std::function find = [&](int a) { + while (parent[a] != a) { parent[a] = parent[parent[a]]; a = parent[a]; } + return a; + }; + auto unite = [&](int a, int b) { + if (a < 0 || b < 0 || a >= n || b >= n) return; + a = find(a); b = find(b); + if (a != b) parent[a] = b; + }; + for (const auto& c : constraints) { unite(c.ea, c.eb); unite(c.ea, c.ec); } + + // Group the constraints by the component they belong to. + std::map> groups; + for (size_t i = 0; i < constraints.size(); ++i) { + const int a = constraints[i].ea; + if (a < 0 || a >= n) continue; + groups[find(a)].push_back(int(i)); + } + + SketchSolveResult out; + out.ok = true; + out.dof = 0; + // Solve into COPIES and commit only if every component succeeded. The contract callers rely + // on is all-or-nothing — try_add_constraints rolls the batch back and expects the geometry it + // rolls back to be untouched — and partial writes would break it. + std::vector, std::vector>> solved; + for (const auto& [root, cidx] : groups) { + std::vector ents; // global indices, in order + std::map local; // global -> local + auto take = [&](int e) { + if (e < 0 || e >= n || local.count(e)) return; + local[e] = int(ents.size()); + ents.push_back(e); + }; + for (int ci : cidx) { take(constraints[ci].ea); take(constraints[ci].eb); take(constraints[ci].ec); } + std::vector sub; + sub.reserve(ents.size()); + for (int e : ents) sub.push_back(entities[e]); + std::vector subc; + subc.reserve(cidx.size()); + for (int ci : cidx) { + SketchEntityConstraintDef d = constraints[ci]; + auto map1 = [&](int& e) { e = (e >= 0 && local.count(e)) ? local[e] : -1; }; + map1(d.ea); map1(d.eb); map1(d.ec); + subc.push_back(d); + } + const int sub_drag = (dragged_ei >= 0 && local.count(dragged_ei)) ? local[dragged_ei] : -1; + SketchSolveResult r = solve_system(sub, subc, sub_drag, dragged_role); + if (!r.ok) { + out.ok = false; + out.result = r.result; + for (int bi : r.bad) + if (bi >= 0 && bi < int(cidx.size())) out.bad.push_back(cidx[bi]); + } + if (r.dof > 0) out.dof += r.dof; + solved.emplace_back(std::move(ents), std::move(sub)); + } + if (!out.ok) return out; + for (auto& [ents, sub] : solved) + for (size_t k = 0; k < ents.size(); ++k) entities[ents[k]] = sub[k]; + return out; +} + +static SketchSolveResult solve_impl(std::vector& entities, + const std::vector& constraints, + int dragged_ei, Role dragged_role) +{ + SketchSolveResult out = solve_system(entities, constraints, dragged_ei, dragged_role); + if (out.ok || out.result != SLVS_RESULT_TOO_MANY_UNKNOWNS) return out; + return solve_partitioned(entities, constraints, dragged_ei, dragged_role); +} + +SketchSolveResult sketch_solve(std::vector& entities, + const std::vector& constraints) +{ + return solve_impl(entities, constraints, -1, Role::P0); +} + +SketchSolveResult sketch_solve_drag(std::vector& entities, + const std::vector& constraints, + int dragged_ei, SketchPointRole dragged_role) +{ + return solve_impl(entities, constraints, dragged_ei, dragged_role); +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/SketchSolver.hpp b/src/libslic3r/CAD/SketchSolver.hpp new file mode 100644 index 0000000000..ada4474c7a --- /dev/null +++ b/src/libslic3r/CAD/SketchSolver.hpp @@ -0,0 +1,37 @@ +#ifndef slic3r_SketchSolver_hpp_ +#define slic3r_SketchSolver_hpp_ + +// Bridge from the Design tab's SketchEntity / SketchEntityConstraintDef model onto the +// vendored SolveSpace constraint solver (src/libslic3r/slvs, libslvs). Replaces the +// hand-rolled SketchConstraints: full constraint set, real DoF counting, and +// over-constrained (bad-constraint) detection. Solves on a fixed 2D XY workplane. + +#include "libslic3r/CAD/SketchEngine.hpp" +#include + +namespace Slic3r { + +struct SketchSolveResult { + bool ok{false}; // solver converged & consistent + int dof{-1}; // remaining degrees of freedom (>0 under-constrained) + int result{0}; // raw SLVS_RESULT_* code + std::vector bad; // indices (into `constraints`) of conflicting constraints +}; + +// Solve `constraints` over `entities` in place (writes solved coordinates back into the +// entities; arc angles are reflowed preserving sweep direction). No-op success when +// `constraints` is empty. +SketchSolveResult sketch_solve(std::vector& entities, + const std::vector& constraints); + +// Drag-aware solve: pins the (dragged_ei, dragged_role) point's parameters via the +// solver's `dragged[]` priority list so the solver keeps that point where the cursor +// placed it (caller must have moved it first) and moves the OTHER free geometry to +// re-satisfy the constraints. dragged_ei < 0 behaves identically to sketch_solve. +SketchSolveResult sketch_solve_drag(std::vector& entities, + const std::vector& constraints, + int dragged_ei, SketchPointRole dragged_role); + +} // namespace Slic3r + +#endif diff --git a/src/libslic3r/CAD/ThreadStandards.cpp b/src/libslic3r/CAD/ThreadStandards.cpp new file mode 100644 index 0000000000..2d113d01e6 --- /dev/null +++ b/src/libslic3r/CAD/ThreadStandards.cpp @@ -0,0 +1,95 @@ +#include "libslic3r/CAD/ThreadStandards.hpp" + +namespace Slic3r { + +// Imperial helpers: convert nominal inch diameter / threads-per-inch to mm. +static constexpr double IN = 25.4; +static inline double tpi_pitch(double tpi) { return IN / tpi; } + +const std::vector& thread_standards() +{ + using S = ThreadSpec::Series; + static const std::vector table = { + // --- ISO metric, coarse pitch (ISO 261 preferred series) --- + {"M1", 1.0, 0.25, S::MetricCoarse}, + {"M1.2", 1.2, 0.25, S::MetricCoarse}, + {"M1.6", 1.6, 0.35, S::MetricCoarse}, + {"M2", 2.0, 0.40, S::MetricCoarse}, + {"M2.5", 2.5, 0.45, S::MetricCoarse}, + {"M3", 3.0, 0.50, S::MetricCoarse}, + {"M4", 4.0, 0.70, S::MetricCoarse}, + {"M5", 5.0, 0.80, S::MetricCoarse}, + {"M6", 6.0, 1.00, S::MetricCoarse}, + {"M8", 8.0, 1.25, S::MetricCoarse}, + {"M10", 10.0, 1.50, S::MetricCoarse}, + {"M12", 12.0, 1.75, S::MetricCoarse}, + {"M14", 14.0, 2.00, S::MetricCoarse}, + {"M16", 16.0, 2.00, S::MetricCoarse}, + {"M20", 20.0, 2.50, S::MetricCoarse}, + {"M24", 24.0, 3.00, S::MetricCoarse}, + {"M30", 30.0, 3.50, S::MetricCoarse}, + {"M36", 36.0, 4.00, S::MetricCoarse}, + {"M42", 42.0, 4.50, S::MetricCoarse}, + {"M48", 48.0, 5.00, S::MetricCoarse}, + {"M56", 56.0, 5.50, S::MetricCoarse}, + {"M64", 64.0, 6.00, S::MetricCoarse}, + + // --- ISO metric, common fine pitches (ISO 261 fine series) --- + {"M8x1", 8.0, 1.00, S::MetricFine}, + {"M10x1.25", 10.0, 1.25, S::MetricFine}, + {"M10x1", 10.0, 1.00, S::MetricFine}, + {"M12x1.5", 12.0, 1.50, S::MetricFine}, + {"M12x1.25", 12.0, 1.25, S::MetricFine}, + {"M16x1.5", 16.0, 1.50, S::MetricFine}, + {"M20x1.5", 20.0, 1.50, S::MetricFine}, + {"M24x2", 24.0, 2.00, S::MetricFine}, + + // --- Unified National Coarse (UTS / ASME B1.1) --- + {"#1-64 UNC", 0.073 * IN, tpi_pitch(64), S::UNC}, + {"#2-56 UNC", 0.086 * IN, tpi_pitch(56), S::UNC}, + {"#3-48 UNC", 0.099 * IN, tpi_pitch(48), S::UNC}, + {"#4-40 UNC", 0.112 * IN, tpi_pitch(40), S::UNC}, + {"#5-40 UNC", 0.125 * IN, tpi_pitch(40), S::UNC}, + {"#6-32 UNC", 0.138 * IN, tpi_pitch(32), S::UNC}, + {"#8-32 UNC", 0.164 * IN, tpi_pitch(32), S::UNC}, + {"#10-24 UNC", 0.190 * IN, tpi_pitch(24), S::UNC}, + {"#12-24 UNC", 0.216 * IN, tpi_pitch(24), S::UNC}, + {"1/4-20 UNC", 0.250 * IN, tpi_pitch(20), S::UNC}, + {"5/16-18 UNC", 0.3125 * IN, tpi_pitch(18), S::UNC}, + {"3/8-16 UNC", 0.375 * IN, tpi_pitch(16), S::UNC}, + {"7/16-14 UNC", 0.4375 * IN, tpi_pitch(14), S::UNC}, + {"1/2-13 UNC", 0.500 * IN, tpi_pitch(13), S::UNC}, + {"9/16-12 UNC", 0.5625 * IN, tpi_pitch(12), S::UNC}, + {"5/8-11 UNC", 0.625 * IN, tpi_pitch(11), S::UNC}, + {"3/4-10 UNC", 0.750 * IN, tpi_pitch(10), S::UNC}, + {"7/8-9 UNC", 0.875 * IN, tpi_pitch(9), S::UNC}, + {"1-8 UNC", 1.000 * IN, tpi_pitch(8), S::UNC}, + + // --- Unified National Fine (UTS / ASME B1.1) --- + {"#2-64 UNF", 0.086 * IN, tpi_pitch(64), S::UNF}, + {"#4-48 UNF", 0.112 * IN, tpi_pitch(48), S::UNF}, + {"#6-40 UNF", 0.138 * IN, tpi_pitch(40), S::UNF}, + {"#8-36 UNF", 0.164 * IN, tpi_pitch(36), S::UNF}, + {"#10-32 UNF", 0.190 * IN, tpi_pitch(32), S::UNF}, + {"1/4-28 UNF", 0.250 * IN, tpi_pitch(28), S::UNF}, + {"5/16-24 UNF", 0.3125 * IN, tpi_pitch(24), S::UNF}, + {"3/8-24 UNF", 0.375 * IN, tpi_pitch(24), S::UNF}, + {"7/16-20 UNF", 0.4375 * IN, tpi_pitch(20), S::UNF}, + {"1/2-20 UNF", 0.500 * IN, tpi_pitch(20), S::UNF}, + {"9/16-18 UNF", 0.5625 * IN, tpi_pitch(18), S::UNF}, + {"5/8-18 UNF", 0.625 * IN, tpi_pitch(18), S::UNF}, + {"3/4-16 UNF", 0.750 * IN, tpi_pitch(16), S::UNF}, + {"1-12 UNF", 1.000 * IN, tpi_pitch(12), S::UNF}, + }; + return table; +} + +const ThreadSpec* find_thread_standard(const std::string& name) +{ + for (const ThreadSpec& s : thread_standards()) + if (s.name == name) + return &s; + return nullptr; +} + +} // namespace Slic3r diff --git a/src/libslic3r/CAD/ThreadStandards.hpp b/src/libslic3r/CAD/ThreadStandards.hpp new file mode 100644 index 0000000000..e9bfcc314f --- /dev/null +++ b/src/libslic3r/CAD/ThreadStandards.hpp @@ -0,0 +1,39 @@ +#ifndef slic3r_ThreadStandards_hpp_ +#define slic3r_ThreadStandards_hpp_ + +#include +#include + +namespace Slic3r { + +// Canonical mechanical thread specifications (ISO metric + Unified imperial). +// All dimensions are stored in millimetres so the CAD kernel can consume them +// directly. The profile is the common 60deg V shared by ISO 261/965 and ASME +// B1.1 (UTS), so the cut/ridge depth used by the Design-tab Thread tool is the +// basic external thread height h = 0.6134 * pitch, and the internal (tapped) +// minor diameter is D1 = D - 1.0825 * pitch (= D - 2*5H/8). +struct ThreadSpec { + enum class Series { MetricCoarse, MetricFine, UNC, UNF }; + + std::string name; // designation, e.g. "M6", "1/4-20 UNC" + double major_diameter_mm; // nominal (crest) diameter + double pitch_mm; // axial advance per turn + Series series; + + // 60deg basic external thread height (radial crest-to-root engagement). + double thread_depth_mm() const { return 0.6134 * pitch_mm; } + // Internal/tapped minor (tap-drill) diameter for the same nominal thread. + double minor_diameter_mm() const { return major_diameter_mm - 1.0825 * pitch_mm; } + + bool imperial() const { return series == Series::UNC || series == Series::UNF; } +}; + +// Full ordered table (metric coarse, metric fine, UNC, UNF) for GUI listing. +const std::vector& thread_standards(); + +// Exact case-sensitive designation lookup; nullptr if not a known standard. +const ThreadSpec* find_thread_standard(const std::string& name); + +} // namespace Slic3r + +#endif diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index d07c42d8f6..e734c036fa 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -21,6 +21,11 @@ endif() option(BUILD_SHARED_LIBS "Build shared libs" OFF) option(USE_SLIC3R_CONSOLE_LOG "Enable console logging in RelWithDebInfo builds" OFF) +# SolveSpace constraint solver (2D sketch solver backbone), built in deps/SLVS. +if (SLIC3R_CAD) + find_package(SLVS REQUIRED) +endif () + set(lisbslic3r_sources AABBMesh.cpp AABBMesh.hpp @@ -260,6 +265,8 @@ set(lisbslic3r_sources GCode/SmallAreaInfillFlowCompensator.hpp GCode/SpiralVase.cpp GCode/SpiralVase.hpp + GCode/WipePathHelpers.cpp + GCode/WipePathHelpers.hpp GCode/ThumbnailData.cpp GCode/ThumbnailData.hpp GCode/Thumbnails.cpp @@ -272,6 +279,8 @@ set(lisbslic3r_sources GCode/WipeTower2.hpp GCode/WipeTower.cpp GCode/WipeTower.hpp + GCode/WipeTowerEstimate.cpp + GCode/WipeTowerEstimate.hpp GCodeWriter.cpp GCodeWriter.hpp Geometry/ArcWelder.hpp @@ -300,6 +309,8 @@ set(lisbslic3r_sources Layer.cpp Layer.hpp LayerRegion.cpp + LayOnFace.cpp + LayOnFace.hpp libslic3r.cpp libslic3r.h Line.cpp @@ -370,6 +381,8 @@ set(lisbslic3r_sources Preset.hpp PrincipalComponents2D.cpp PrincipalComponents2D.hpp + PublishSettings.cpp + PublishSettings.hpp PrintApply.cpp PrintBase.cpp PrintBase.hpp @@ -500,6 +513,29 @@ set(lisbslic3r_sources FlushVolPredictor.cpp ) +# Parametric Design/CAD kernel. Needs OCCT's ModelingAlgorithms module and the +# vendored SolveSpace solver; both are pulled in only when SLIC3R_CAD is ON. +if (SLIC3R_CAD) + list(APPEND lisbslic3r_sources + CAD/GeometryEngine.cpp + CAD/GeometryEngine.hpp + CAD/SketchEngine.cpp + CAD/SketchEngine.hpp + CAD/SketchConstraints.cpp + CAD/SketchConstraints.hpp + CAD/SketchSolver.cpp + CAD/SketchSolver.hpp + CAD/SketchInference.cpp + CAD/SketchInference.hpp + CAD/SketchImport.cpp + CAD/SketchImport.hpp + CAD/CadDocument.cpp + CAD/CadDocument.hpp + CAD/ThreadStandards.cpp + CAD/ThreadStandards.hpp + ) +endif () + if (APPLE) list(APPEND lisbslic3r_sources MacUtils.mm @@ -554,6 +590,12 @@ if (_opts) target_compile_options(libslic3r_cgal PRIVATE "${_opts_bad}") endif() +if (IS_CLANG_CL) + # CGAL passes /fp:strict /fp:except-. clang-cl reports the second as overriding part of + # the first; the settings cc1 receives are the same ones MSVC produces from that pair. + target_compile_options(libslic3r_cgal PRIVATE -Wno-overriding-option) +endif () + target_link_libraries(libslic3r_cgal PRIVATE ${_cgal_tgt} admesh libigl mcut boost_libs) if (MSVC AND "${CMAKE_SIZEOF_VOID_P}" STREQUAL "4") # 32 bit MSVC workaround @@ -605,6 +647,30 @@ set(OCCT_LIBS TKMath TKernel ) +# The CAD kernel is the only consumer of OCCT's ModelingAlgorithms module: TKFillet +# (BRepFilletAPI), TKOffset (BRepOffsetAPI) and TKBool, which the other two need. +# +# PREPEND, never append: this list is single-pass static link order, dependents before +# dependencies — note TKernel, which everything needs, is deliberately last. TKOffset +# references BRepAlgo_Loop, which TKBool defines, so TKOffset must come BEFORE TKBool. +# Appending put it after, and a strictly single-pass linker (the Flatpak build) failed with +# libTKOffset.a(BRepOffset_MakeLoops.cxx.o): undefined reference to +# `BRepAlgo_Loop::BRepAlgo_Loop()' +# while the ordinary Linux, macOS and Windows links resolved it anyway. Use set() rather +# than list(PREPEND), which needs CMake 3.15 and this project supports 3.13. +if (SLIC3R_CAD) + set(OCCT_LIBS TKFillet TKOffset TKBool ${OCCT_LIBS}) + # deps is configured separately, so its SLIC3R_CAD can differ from ours. The module is + # all-or-nothing, so one absent toolkit proves it; fail here rather than at link time. + if (NOT TARGET TKFillet) + message(FATAL_ERROR + "SLIC3R_CAD is ON, but the OpenCASCADE in ${CMAKE_PREFIX_PATH} was built without " + "BUILD_MODULE_ModelingAlgorithms. Rebuild the dependencies with -DSLIC3R_CAD=ON, " + "or configure this project with -DSLIC3R_CAD=OFF.") + endif () +endif () +# Published for the Windows packaging step in the top-level CMakeLists.txt. +set(OCCT_LIBS "${OCCT_LIBS}" CACHE INTERNAL "OCCT toolkits linked by libslic3r") target_link_libraries(libslic3r PUBLIC @@ -657,6 +723,10 @@ if (TARGET OpenVDB::openvdb) target_link_libraries(libslic3r PRIVATE OpenVDB::openvdb) endif() +if (SLIC3R_CAD) + target_link_libraries(libslic3r PUBLIC SLVS::slvs) +endif () + if(WIN32) target_link_libraries(libslic3r PRIVATE Psapi.lib bcrypt.lib) endif() diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 394cfb5b74..42d6970ad1 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -775,7 +776,9 @@ double ConfigBase::get_abs_value(const t_config_option_key &opt_key, double rati { // Get stored option value. const ConfigOption *raw_opt = this->option(opt_key); - assert(raw_opt != nullptr); + // Mirror the single-arg overload — assert() is a no-op under NDEBUG. + if (raw_opt == nullptr) + throw ConfigurationError("ConfigBase::get_abs_value(): \"" + opt_key + "\" is not defined"); if (raw_opt->type() != coFloatOrPercent) throw ConfigurationError("ConfigBase::get_abs_value(): opt_key is not of coFloatOrPercent"); // Compute absolute value. @@ -947,6 +950,9 @@ int ConfigBase::load_from_json(const std::string &file, ConfigSubstitutionContex } else if (!load_inherits_to_config && boost::iequals(it.key(), BBL_JSON_KEY_INHERITS)) { key_values.emplace(BBL_JSON_KEY_INHERITS, it.value()); + } + else if (!load_inherits_to_config && boost::iequals(it.key(), BBL_JSON_KEY_INCLUDES)) { + key_values.emplace(BBL_JSON_KEY_INCLUDES, it.value().dump()); } else if (boost::iequals(it.key(), ORCA_JSON_KEY_RENAMED_FROM)) { key_values.emplace(ORCA_JSON_KEY_RENAMED_FROM, it.value()); } else { @@ -1515,6 +1521,19 @@ std::optional parse_capability_ref(const std::string& value //BBS: add json support void ConfigBase::save_to_json(const std::string &file, const std::string &name, const std::string &from, const std::string &version) const +{ + // Serialize first: if that throws (invalid UTF-8), the existing file stays untouched. + std::ostringstream ss; + this->save_to_json(ss, name, from, version); + boost::nowide::ofstream c; + c.open(file, std::ios::out | std::ios::trunc); + c << ss.str(); + c.close(); + + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" <<__LINE__ << boost::format(", saved config to %1%\n")%file; +} + +void ConfigBase::save_to_json(std::ostream &os, const std::string &name, const std::string &from, const std::string &version, bool replace_invalid_utf8) const { json j; //record the headers @@ -1561,12 +1580,7 @@ void ConfigBase::save_to_json(const std::string &file, const std::string &name, j["plugins"] = unique_refs; } - boost::nowide::ofstream c; - c.open(file, std::ios::out | std::ios::trunc); - c << j.dump(1, '\t') << std::endl; - c.close(); - - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" <<__LINE__ << boost::format(", saved config to %1%\n")%file; + os << j.dump(1, '\t', false, replace_invalid_utf8 ? json::error_handler_t::replace : json::error_handler_t::strict) << std::endl; } void ConfigBase::save(const std::string &file) const diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 9e4344820d..52b16f9458 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -697,7 +697,8 @@ public: } } else { // Resize by duplicating the last value. - this->values.resize(n, this->values./*back*/front()); + T v = this->values./*back*/front(); + this->values.resize(n, v); } } } @@ -772,8 +773,10 @@ public: if (this->values.empty()) this->values.resize(rhs_vec->size()); - else - this->values.resize(rhs_vec->size(), this->values.front()); + else { + T v = this->values.front(); + this->values.resize(rhs_vec->size(), v); + } assert(default_index.size() == rhs_vec->size()); @@ -1006,6 +1009,7 @@ public: int getInt() const override { return this->value; } void setInt(int val) override { this->value = val; } ConfigOption* clone() const override { return new ConfigOptionInt(*this); } + using ConfigOptionSingle::operator==; bool operator==(const ConfigOptionInt &rhs) const throw() { return this->value == rhs.value; } std::string serialize() const override @@ -1048,6 +1052,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionIntsTempl(*this); } ConfigOptionIntsTempl& operator= (const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionVector::operator==; bool operator==(const ConfigOptionIntsTempl &rhs) const throw() { return this->values == rhs.values; } bool operator< (const ConfigOptionIntsTempl &rhs) const throw() { return this->values < rhs.values; } // Could a special "nil" value be stored inside the vector, indicating undefined value? @@ -1137,6 +1142,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionString(*this); } ConfigOptionString& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionSingle::operator==; bool operator==(const ConfigOptionString &rhs) const throw() { return this->value == rhs.value; } bool operator< (const ConfigOptionString &rhs) const throw() { return this->value < rhs.value; } bool empty() const { return this->value.empty(); } @@ -1171,6 +1177,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionStrings(*this); } ConfigOptionStrings& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionVector::operator==; bool operator==(const ConfigOptionStrings &rhs) const throw() { return this->values == rhs.values; } bool operator< (const ConfigOptionStrings &rhs) const throw() { return this->values < rhs.values; } bool is_nil(size_t) const override { return false; } @@ -1215,6 +1222,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionPercent(*this); } ConfigOptionPercent& operator= (const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionFloat::operator==; bool operator==(const ConfigOptionPercent &rhs) const throw() { return this->value == rhs.value; } bool operator< (const ConfigOptionPercent &rhs) const throw() { return this->value < rhs.value; } @@ -1257,6 +1265,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionPercentsTempl(*this); } ConfigOptionPercentsTempl& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionFloatsTempl::operator==; bool operator==(const ConfigOptionPercentsTempl &rhs) const throw() { return ConfigOptionFloatsTempl::vectors_equal(this->values, rhs.values); } bool operator< (const ConfigOptionPercentsTempl &rhs) const throw() { return ConfigOptionFloatsTempl::vectors_lower(this->values, rhs.values); } @@ -1502,6 +1511,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionPoint(*this); } ConfigOptionPoint& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionSingle::operator==; bool operator==(const ConfigOptionPoint &rhs) const throw() { return this->value == rhs.value; } bool operator< (const ConfigOptionPoint &rhs) const throw() { return this->value < rhs.value; } @@ -1539,6 +1549,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionPoints(*this); } ConfigOptionPoints& operator= (const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionVector::operator==; bool operator==(const ConfigOptionPoints &rhs) const throw() { return this->values == rhs.values; } bool operator< (const ConfigOptionPoints &rhs) const throw() { return std::lexicographical_compare(this->values.begin(), this->values.end(), rhs.values.begin(), rhs.values.end(), [](const auto &l, const auto &r){ return l < r; }); } @@ -1617,6 +1628,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionPoint3(*this); } ConfigOptionPoint3& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionSingle::operator==; bool operator==(const ConfigOptionPoint3 &rhs) const throw() { return this->value == rhs.value; } bool operator< (const ConfigOptionPoint3 &rhs) const throw() { return this->value.x() < rhs.value.x() || (this->value.x() == rhs.value.x() && (this->value.y() < rhs.value.y() || (this->value.y() == rhs.value.y() && this->value.z() < rhs.value.z()))); } @@ -1860,6 +1872,7 @@ public: bool getBool() const override { return this->value; } ConfigOption* clone() const override { return new ConfigOptionBool(*this); } ConfigOptionBool& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionSingle::operator==; bool operator==(const ConfigOptionBool &rhs) const throw() { return this->value == rhs.value; } bool operator< (const ConfigOptionBool &rhs) const throw() { return int(this->value) < int(rhs.value); } @@ -1911,6 +1924,7 @@ public: ConfigOptionType type() const override { return static_type(); } ConfigOption* clone() const override { return new ConfigOptionBoolsTempl(*this); } ConfigOptionBoolsTempl& operator=(const ConfigOption *opt) { this->set(opt); return *this; } + using ConfigOptionVector::operator==; bool operator==(const ConfigOptionBoolsTempl &rhs) const throw() { return this->values == rhs.values; } bool operator< (const ConfigOptionBoolsTempl &rhs) const throw() { return this->values < rhs.values; } // Could a special "nil" value be stored inside the vector, indicating undefined value? @@ -2163,6 +2177,7 @@ public: ConfigOptionEnumsGenericTempl& operator= (const ConfigOption* opt) { this->set(opt); return *this; } bool operator< (const ConfigOptionInts& rhs) const throw() { return this->values < rhs.values; } + using ConfigOptionInts::operator==; bool operator==(const ConfigOptionInts& rhs) const { if (rhs.type() != this->type()) @@ -2813,6 +2828,9 @@ public: //BBS: add json support void save_to_json(const std::string &file, const std::string &name, const std::string &from, const std::string &version) const; + // Same document, written to a stream. Invalid UTF-8 in a string value throws nlohmann's type_error unless + // replace_invalid_utf8 is set, which writes U+FFFD instead (for callers such as stdout with no handler). + void save_to_json(std::ostream &os, const std::string &name, const std::string &from, const std::string &version, bool replace_invalid_utf8 = false) const; // Rebuild the in-memory "plugins" manifest (the "name;uuid;capability" references the plugin // dispatchers consume) from the plugin-backed options via the registered resolver. save_to_json() diff --git a/src/libslic3r/Emboss.cpp b/src/libslic3r/Emboss.cpp index ef144b48d3..38c035806c 100644 --- a/src/libslic3r/Emboss.cpp +++ b/src/libslic3r/Emboss.cpp @@ -968,10 +968,10 @@ EmbossStyles Emboss::get_font_list_by_register() { } // TODO: Fix global function -bool CALLBACK EnumFamCallBack(LPLOGFONT lplf, - LPNEWTEXTMETRIC lpntm, - DWORD FontType, - LPVOID aFontList) +int CALLBACK EnumFamCallBack(const LOGFONT *lplf, + const TEXTMETRIC *lpntm, + DWORD FontType, + LPARAM aFontList) { std::vector *fontList = (std::vector *) (aFontList); @@ -988,8 +988,9 @@ EmbossStyles Emboss::get_font_list_by_enumeration() { HDC hDC = GetDC(NULL); std::vector font_names; - EnumFontFamilies(hDC, (LPCTSTR) NULL, (FONTENUMPROC) EnumFamCallBack, + EnumFontFamilies(hDC, (LPCTSTR) NULL, EnumFamCallBack, (LPARAM) &font_names); + ReleaseDC(NULL, hDC); EmbossStyles font_list; for (const std::wstring &font_name : font_names) { diff --git a/src/libslic3r/ExtrusionEntity.cpp b/src/libslic3r/ExtrusionEntity.cpp index 36955a19bd..bd45150a15 100644 --- a/src/libslic3r/ExtrusionEntity.cpp +++ b/src/libslic3r/ExtrusionEntity.cpp @@ -423,6 +423,74 @@ bool ExtrusionLoop::is_smooth(double angle_threshold, double min_arm_length) con return true; } +// The seam is inserted into the loop unless a vertex lies within the G-code resolution of it, so a +// loop can begin and end with a segment of a few micrometres. A plain loop stops there anyway; a +// scarf extrudes through both ends, and the planner nearly halts on a block that short. Drop the +// vertex next to the seam point instead, so the loop still starts and ends at the seam. A trimmed +// path loses its arc fitting; its geometry is unchanged, it just prints as line segments. +static void trim_seam_ends(ExtrusionPaths &paths, double tolerance) +{ + const auto shorter = [tolerance](const Point3 &a, const Point3 &b) { return (b - a).cast().norm() < tolerance; }; + + while (!paths.empty()) { + Points3 &points = paths.front().polyline.points; + if (points.size() < 2 || !shorter(points[0], points[1])) + break; + if (points.size() > 2) { + points.erase(points.begin() + 1); + paths.front().polyline.fitting_result.clear(); + } else if (paths.size() > 1) { + const Point3 seam = points.front(); + paths.erase(paths.begin()); + paths.front().polyline.points.front() = seam; + paths.front().polyline.fitting_result.clear(); + } else { + break; + } + } + + while (!paths.empty()) { + Points3 &points = paths.back().polyline.points; + if (points.size() < 2 || !shorter(points[points.size() - 2], points.back())) + break; + if (points.size() > 2) { + points.erase(points.end() - 2); + paths.back().polyline.fitting_result.clear(); + } else if (paths.size() > 1) { + const Point3 seam = points.back(); + paths.pop_back(); + paths.back().polyline.points.back() = seam; + paths.back().polyline.fitting_result.clear(); + } else { + break; + } + } +} + +// Split `polyline` where the scarf ramp ends. When the split would leave a remainder shorter +// than half a slope step before the next vertex, the ramp is extended to that vertex instead: +// a stub that short makes the motion planner slow down at the end of the ramp. Planners treat +// moves of a millimetre and more as ordinary, so the ramp never grows by more than that. +static void split_at_slope_end(const Polyline3 &polyline, double length, double slope_max_segment_length, Polyline3 &slope, Polyline3 &flat) +{ + const double snap_distance = std::min(0.5 * slope_max_segment_length, scale_(1.)); + double acc_length = 0.; + size_t line_idx = 0; + for (const Line3 &line : polyline.lines()) { + const double end_length = acc_length + line.length(); + if (end_length >= length) { + if (end_length - length < snap_distance) { + polyline.split_at_index(line_idx + 1, &slope, &flat); + return; + } + break; + } + acc_length = end_length; + ++line_idx; + } + polyline.split_at_length(length, &slope, &flat); +} + ExtrusionLoopSloped::ExtrusionLoopSloped(ExtrusionPaths& original_paths, double seam_gap, double slope_min_length, @@ -431,6 +499,14 @@ ExtrusionLoopSloped::ExtrusionLoopSloped(ExtrusionPaths& original_paths, ExtrusionLoopRole role) : ExtrusionLoop(role) { + // An eighth of a common line width: the path moves by less than that at the seam. + trim_seam_ends(original_paths, scale_(0.05)); + // The caller measured the loop before the trim; a scarf that covers the whole loop must still end at 1. + double trimmed_length = 0.; + for (const ExtrusionPath &path : original_paths) + trimmed_length += unscale_(path.length()); + slope_min_length = std::min(slope_min_length, trimmed_length); + // create slopes const auto add_slop = [this, slope_max_segment_length, seam_gap](const ExtrusionPath &path, const Polyline3 &poly, double ratio_begin, double ratio_end) { if (poly.empty()) { return; } @@ -487,12 +563,13 @@ ExtrusionLoopSloped::ExtrusionLoopSloped(ExtrusionPaths& original_paths, // Split current path into slope and non-slope part Polyline3 slope_path; Polyline3 flat_path; - path->polyline.split_at_length(scale_(remaining_length), &slope_path, &flat_path); + split_at_slope_end(path->polyline, scale_(remaining_length), slope_max_segment_length, slope_path, flat_path); add_slop(*path, slope_path, start_ratio, 1); start_ratio = 1; - paths.emplace_back(std::move(flat_path), *path); + if (flat_path.size() > 1) + paths.emplace_back(std::move(flat_path), *path); remaining_length = 0; } else { remaining_length -= path_len; diff --git a/src/libslic3r/ExtrusionEntity.hpp b/src/libslic3r/ExtrusionEntity.hpp index e8348b3bd5..de80247bce 100644 --- a/src/libslic3r/ExtrusionEntity.hpp +++ b/src/libslic3r/ExtrusionEntity.hpp @@ -454,6 +454,10 @@ class ExtrusionLoop : public ExtrusionEntity { public: ExtrusionPaths paths; + // ORCA: Set on a loop extruded entirely in mid air and out of reach of the layer below: it has + // nothing to lean on until this layer is bridged, so the G-code writer holds it back until the + // infill is down. See defer_unsupported_loops() in PerimeterGenerator.cpp. + bool print_after_infill = false; ExtrusionLoop(ExtrusionLoopRole role = elrDefault) : m_loop_role(role) {} ExtrusionLoop(const ExtrusionPaths &paths, ExtrusionLoopRole role = elrDefault) : paths(paths), m_loop_role(role) {} diff --git a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp index e5fbeb5cdb..be86e92245 100644 --- a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp +++ b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp @@ -464,6 +464,16 @@ void group_region_by_fuzzify(PerimeterGenerator& g) } } + g.fuzzy_supported_area.reset(); + if ((g.has_fuzzy_skin || g.has_fuzzy_hole) && g.lower_slices != nullptr) { + coord_t max_thickness = 0; + for (const auto& region : regions) + if (should_fuzzify(region.config, g.layer_id, 0, true) || should_fuzzify(region.config, g.layer_id, 0, false)) + max_thickness = std::max(max_thickness, region.config.thickness); + // Walls farther than a line width plus the noise amplitude from the layer below are bridging; keep them smooth. + g.fuzzy_supported_area = offset_ex(*g.lower_slices, float(g.ext_perimeter_flow.scaled_width() + max_thickness)); + } + if (regions.size() == 1) { // optimization g.regions_by_fuzzify.push_back({regions.front().config, {}}); return; @@ -560,13 +570,23 @@ static std::vector collect_merged_fuzzy_regions(const std::ve return merged_regions; } +// Afterwards an empty region means nothing to fuzzify, no longer full coverage. +static void restrict_to_supported(std::vector& merged_regions, const std::optional& supported) +{ + if (!supported) + return; + for (auto& merged_region : merged_regions) + merged_region.expolygons = merged_region.expolygons.empty() ? *supported : intersection_ex(merged_region.expolygons, *supported); +} + Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perimeter_generator, const size_t loop_idx, const bool is_contour) { Polygon fuzzified; const auto slice_z = perimeter_generator.slice_z; const auto& regions = perimeter_generator.regions_by_fuzzify; - if (regions.size() == 1) { // optimization + const auto& supported = perimeter_generator.fuzzy_supported_area; + if (regions.size() == 1 && !supported) { // optimization const auto& config = regions.begin()->first; const bool fuzzify = should_fuzzify(config, perimeter_generator.layer_id, loop_idx, is_contour); if (!fuzzify) { @@ -590,7 +610,7 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim // Fast path: single merged region — apply directly without splitting if (merged_regions.size() == 1) { const auto& mr = merged_regions.front(); - if (mr.expolygons.empty()) { + if (mr.expolygons.empty() && !supported) { fuzzified = polygon; fuzzy_polyline(fuzzified.points, true, slice_z, *mr.config); return fuzzified; @@ -626,6 +646,8 @@ Polygon apply_fuzzy_skin(const Polygon& polygon, const PerimeterGenerator& perim if (!merged_regions[i].expolygons.empty() && !merged_regions[j].expolygons.empty()) merged_regions[i].expolygons = diff_ex(merged_regions[i].expolygons, merged_regions[j].expolygons); + restrict_to_supported(merged_regions, supported); + // Split the loops into lines with different config, and fuzzy them separately fuzzified = polygon; for (const auto& r : merged_regions) { @@ -689,7 +711,8 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato const auto slice_z = perimeter_generator.slice_z; const auto layer_height = perimeter_generator.layer_height; const auto& regions = perimeter_generator.regions_by_fuzzify; - if (regions.size() == 1) { // optimization + const auto& supported = perimeter_generator.fuzzy_supported_area; + if (regions.size() == 1 && !supported) { // optimization const auto& config = regions.begin()->first; const bool fuzzify = should_fuzzify(config, perimeter_generator.layer_id, extrusion->inset_idx, is_contour); if (fuzzify) @@ -703,7 +726,7 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato if (!merged_regions.empty()) { // Fast path: single merged region — apply directly without splitting - if (merged_regions.size() == 1 && merged_regions.front().expolygons.empty()) { + if (merged_regions.size() == 1 && merged_regions.front().expolygons.empty() && !supported) { fuzzy_extrusion_line(extrusion->junctions, slice_z, perimeter_generator.layer_height, *merged_regions.front().config, closed); return; } @@ -753,6 +776,8 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato if (!merged_regions[i].expolygons.empty() && !merged_regions[j].expolygons.empty()) merged_regions[i].expolygons = diff_ex(merged_regions[i].expolygons, merged_regions[j].expolygons); + restrict_to_supported(merged_regions, supported); + // Split the loops into lines with different config, and fuzzy them separately for (const auto& r : merged_regions) { const auto splitted = Algorithm::split_line(*extrusion, r.expolygons, false); diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index dc772580ca..28fabed8af 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -11,7 +11,7 @@ #include "AABBTreeLines.hpp" #include "ExtrusionEntity.hpp" -#include "FillBase.hpp" +#include "Fill.hpp" #include "FillRectilinear.hpp" #include "FillLightning.hpp" #include "FillConcentricInternal.hpp" @@ -1234,6 +1234,33 @@ std::vector group_fills(const Layer &layer, LockRegionParam &lock_p return surface_fills; } +// Orca: Anchors and printed infill must share the same body origin. Keep the choice +// here so per-model surface centering and separated sparse infill cannot drift apart. +static BoundingBox infill_bounding_box(const Layer &layer, const SurfaceFill &fill, const ExPolygon &expoly, BoundingBox bbox) +{ + const auto ¶ms = fill.params; + const auto &config = layer.regions()[fill.region_id]->region().config(); + const bool external = params.extrusion_role == erTopSolidInfill || params.extrusion_role == erBottomSurface; + const bool per_model = external && params.center_of_surface_pattern == CenterOfSurfacePattern::Each_Model && + (params.pattern == ipArchimedeanChords || params.pattern == ipOctagramSpiral); + const bool separate = !external && params.separated_infills && + (is_separable_infill_pattern(params.pattern) || !config.solid_infill_rotate_template.value.empty() || + !config.sparse_infill_rotate_template.value.empty()); + if (per_model || separate) { + double best_overlap = 0.; + for (size_t i = 0; i < layer.lslices.size() && i < layer.lslices_separated_component_bboxes.size(); ++i) { + const double overlap = area(intersection_ex(layer.lslices[i], expoly)); + if (overlap > best_overlap) { + best_overlap = overlap; + const Point center = layer.lslices_separated_component_bboxes[i].center(); + bbox = layer.object()->bounding_box(); + bbox.translate(center.x(), center.y()); + } + } + } + return bbox; +} + #ifdef SLIC3R_DEBUG_SLICE_PROCESSING void export_group_fills_to_svg(const char *path, const std::vector &fills) { @@ -1353,19 +1380,9 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive: // Orca: Checking the filling of a centered surface by drawing for each model parts bool is_top_or_bottom = params.extrusion_role == erTopSolidInfill || params.extrusion_role == erBottomSurface; - bool is_centered_infill = surface_fill.params.pattern == ipArchimedeanChords || surface_fill.params.pattern == ipOctagramSpiral; if (is_top_or_bottom) { params.center_of_surface_pattern = surface_fill.params.center_of_surface_pattern; // Orca: center of surface pattern } - // Orca: Each_Model centers the pattern on each model part's bbox; Each_Surface / Each_Assembly - // fall through to the default (whole-object) bounding box below. - bool is_per_model_center = is_top_or_bottom && params.center_of_surface_pattern == CenterOfSurfacePattern::Each_Model && is_centered_infill; - bool is_separate_infill = !is_top_or_bottom && surface_fill.params.separated_infills && - ( - is_separable_infill_pattern(surface_fill.params.pattern) || - params.config->solid_infill_rotate_template != "" || - params.config->sparse_infill_rotate_template != "" ); - if( surface_fill.params.pattern == ipLockedZag ) { params.locked_zag = true; params.infill_lock_depth = surface_fill.params.infill_lock_depth; @@ -1389,34 +1406,8 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive: params.can_reverse = false; for (ExPolygon& expoly : surface_fill.expolygons) { - // Orca: separate infill / per-model pattern centering. - // - // Center the pattern on each connected body of the object independently, so every piece - // is filled exactly as if it were sliced on its own: touching/overlapping parts merge - // into one body sharing a center, while separate parts and disconnected islands (even - // interleaved-but-not-touching ones, e.g. chain links) each get their own. The body each - // island belongs to, and its full bounding box, were resolved in 3D by PrintObject:: - // infill() (lslices_separated_component_bboxes, aligned with this layer's lslices). We - // match this fill region to the island it overlaps most, then re-use the whole-object - // bounding box (origin-centered — identical extent to the default, so coverage and cost - // are unchanged) re-centered on that body. - if (is_per_model_center || is_separate_infill) { - double best_overlap = 0.; - BoundingBox best_component; - for (size_t r = 0; r < this->lslices.size() && r < this->lslices_separated_component_bboxes.size(); ++ r) { - const double overlap = area(intersection_ex(this->lslices[r], expoly)); - if (overlap > best_overlap) { - best_overlap = overlap; - best_component = this->lslices_separated_component_bboxes[r]; - } - } - if (best_component.defined) { - const Point c = best_component.center(); - BoundingBox part_bbox = bbox; // origin-centered, whole-object extent (from above) - part_bbox.translate(c.x(), c.y()); // re-center on this body - f->set_bounding_box(part_bbox); - } - } // - End: separate infill / per-model pattern centering + // Orca: Reuse the body origin used for bridge anchoring, resetting it for each surface. + f->set_bounding_box(infill_bounding_box(*this, surface_fill, expoly, bbox)); f->no_overlap_expolygons = intersection_ex(surface_fill.no_overlap_expolygons, ExPolygons() = {expoly}, ApplySafetyOffset::Yes); if (params.symmetric_infill_y_axis) { @@ -1583,8 +1574,14 @@ Polylines Layer::generate_sparse_infill_polylines_for_anchoring(FillAdaptive::Oc params.multiline = surface_fill.params.multiline; params.gyroid_optimized = surface_fill.params.gyroid_optimized; params.smooth_factor = surface_fill.params.smooth_factor; + // Orca: Match make_fills() when choosing the origin of plane-path patterns. + // Without the sparse extrusion role, the filler uses each surface's bounds + // instead of the object's bounds, so bridge anchors shift away from printed infill. + params.extrusion_role = surface_fill.params.extrusion_role; for (ExPolygon &expoly : surface_fill.expolygons) { + // Orca: Match the per-body origin of make_fills() before generating physical anchors. + f->set_bounding_box(infill_bounding_box(*this, surface_fill, expoly, bbox)); // Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon. f->spacing = surface_fill.params.spacing; surface_fill.surface.expolygon = std::move(expoly); @@ -1598,6 +1595,25 @@ Polylines Layer::generate_sparse_infill_polylines_for_anchoring(FillAdaptive::Oc return sparse_infill_polylines; } +// Returns the filament id (1-based) the region is ironed with, or -1 when the +// region is not ironed. AllSolid always irons. TopSurfaces and TopmostOnly need +// either some top shells or, in spiral mode, more than one bottom shell, and +// TopmostOnly additionally needs the layer to be the topmost one. +int Layer::choose_ironing_extruder(const PrintRegionConfig &cfg, + bool spiral_mode, + bool is_topmost_layer) +{ + if (cfg.ironing_type == IroningType::NoIroning) + return -1; + const bool gate = (cfg.ironing_type == IroningType::AllSolid) + || ((cfg.top_shell_layers > 0 || (spiral_mode && cfg.bottom_shell_layers > 1)) + && (cfg.ironing_type == IroningType::TopSurfaces + || (cfg.ironing_type == IroningType::TopmostOnly && is_topmost_layer))); + if (!gate) + return -1; + return cfg.top_surface_filament_id; +} + // Create ironing extrusions over top surfaces. void Layer::make_ironing() { @@ -1667,19 +1683,10 @@ void Layer::make_ironing() if (! layerm->slices.empty()) { IroningParams ironing_params; const PrintRegionConfig &config = layerm->region().config(); - if (config.ironing_type != IroningType::NoIroning && - (config.ironing_type == IroningType::AllSolid || - ((config.top_shell_layers > 0 || (this->object()->print()->config().spiral_mode && config.bottom_shell_layers > 1)) && - (config.ironing_type == IroningType::TopSurfaces || - (config.ironing_type == IroningType::TopmostOnly && layerm->layer()->upper_layer == nullptr))))) { - if (config.outer_wall_filament_id == config.top_surface_filament_id || config.wall_loops == 0) { - // Iron the whole face. - ironing_params.extruder = config.top_surface_filament_id; - } else { - // Iron just the infill. - ironing_params.extruder = config.top_surface_filament_id; - } - } + ironing_params.extruder = Layer::choose_ironing_extruder( + config, + /*spiral_mode=*/this->object()->print()->config().spiral_mode, + /*is_topmost_layer=*/layerm->layer()->upper_layer == nullptr); if (ironing_params.extruder != -1) { //TODO just_infill is currently not used. ironing_params.just_infill = false; diff --git a/src/libslic3r/Fill/Fill.hpp b/src/libslic3r/Fill/Fill.hpp index e92ab2dee5..b183cf0253 100644 --- a/src/libslic3r/Fill/Fill.hpp +++ b/src/libslic3r/Fill/Fill.hpp @@ -14,6 +14,12 @@ namespace Slic3r { class ExtrusionEntityCollection; class LayerRegion; +class PrintObject; + +// Orca: Share the layer rotation calculation between infill generation and internal +// bridge angle selection so both interpret rotation templates in the same way. +double calculate_infill_rotation_angle(const PrintObject *object, size_t layer_id, + const double &fixed_infill_angle, const std::string &template_string); // An interface class to Perl, aggregating an instance of a Fill and a FillData. class Filler diff --git a/src/libslic3r/Fill/FillAdaptive.cpp b/src/libslic3r/Fill/FillAdaptive.cpp index 344bb529f0..809eddb218 100644 --- a/src/libslic3r/Fill/FillAdaptive.cpp +++ b/src/libslic3r/Fill/FillAdaptive.cpp @@ -1,3 +1,4 @@ +#include "../AABBTreeLines.hpp" #include "../ClipperUtils.hpp" #include "../ExPolygon.hpp" #include "../Surface.hpp" @@ -14,7 +15,9 @@ #include #include #include +#include #include +#include // Boost pool: Don't use mutexes to synchronize memory allocation. #define BOOST_POOL_NO_MT @@ -1318,6 +1321,564 @@ bool has_no_collinear_lines(const Polylines &polylines) } #endif +// Non-crossing centerlines for multiline adaptive cubic, see docs/HLSD/multiline-infill.md. +namespace noncrossing { + +// y = x() * x + y() in the frame where the sweep family is horizontal. +using Lin = Vec2d; + +static const Vec2d family_dir[3] { Vec2d(1., 0.), Vec2d(0.5, 0.5 * sqrt(3.)), Vec2d(0.5, -0.5 * sqrt(3.)) }; + +struct SweepLine +{ + Vec2d a, b; // a.x() < b.x() + int family; + Lin lin; + std::vector> junctions; // (x, junction) +}; + +struct Junction +{ + Vec2d p; + std::vector lines; + std::vector> pairs; // (left, right) line of each path through, bottom-up + std::vector> bends; // (path, bend) of each pair, -1 where it runs straight +}; + +struct LevelPath +{ + std::vector verts; // start, bends, end + std::vector lines; // line of each piece + std::vector junctions; // junction of each bend + std::vector turn; // 1 turning up, -1 turning down + std::vector> cuts; + std::vector> pushes; // (line, bend) keeping a wall away from a neighbour's cut + int start_term { -1 }; // junction where the path stops on another line, or -1 + int end_term { -1 }; +}; + +// Moves f onto line c (side 1: from below) wherever c lies beyond it, over the stretches overlapping [w0, w1]. +static void clip_profile(std::vector &f, const Lin &c, int side, double w0, double w1, double lim0, double lim1, bool cut_at_window, bool drop_past_limits) +{ + const double r0 = std::max(lim0, f.front().x()), r1 = std::min(lim1, f.back().x()); + if (r1 <= r0) + return; + const size_t ia = std::upper_bound(f.begin(), f.end(), r0, [](double x, const Vec2d &p) { return x < p.x(); }) - f.begin(); + const size_t ib = std::lower_bound(f.begin() + ia, f.end(), r1, [](const Vec2d &p, double x) { return p.x() < x; }) - f.begin(); + auto interpolate = [](const Vec2d &a, const Vec2d &b, double x) { return b.x() > a.x() ? a.y() + (x - a.x()) / (b.x() - a.x()) * (b.y() - a.y()) : b.y(); }; + std::vector local{ Vec2d(r0, interpolate(f[ia - 1], f[ia], r0)) }; + local.insert(local.end(), f.begin() + ia, f.begin() + ib); + local.emplace_back(r1, interpolate(f[ib - 1], f[ib], r1)); + + const double tol = 1.; + auto beyond = [&c, side, tol](const Vec2d &p) { return side * (c.x() * p.x() + c.y() - p.y()) - tol; }; + std::vector> stretches; + auto add = [&stretches](double x0, double x1) { + if (!stretches.empty() && stretches.back().second >= x0) + stretches.back().second = x1; + else + stretches.emplace_back(x0, x1); + }; + for (size_t i = 1; i < local.size(); ++i) { + const Vec2d &p = local[i - 1], &q = local[i]; + if (q.x() <= p.x()) + continue; + const double bp = beyond(p), bq = beyond(q); + if (bp > 0. && bq > 0.) + add(p.x(), q.x()); + else if (bp > 0. || bq > 0.) { + const double x = p.x() + bp / (bp - bq) * (q.x() - p.x()); + if (bp > 0.) + add(p.x(), x); + else + add(x, q.x()); + } + } + std::vector> keep; + for (auto [x0, x1] : stretches) { + if (x1 < w0 || x0 > w1) + continue; + if (drop_past_limits && ((x0 <= r0 && r0 == lim0) || (x1 >= r1 && r1 == lim1))) + continue; + keep.emplace_back(cut_at_window ? std::max(x0, w0) : x0, cut_at_window ? std::min(x1, w1) : x1); + } + if (keep.empty()) + return; + + auto y_local = [&](double x) { + size_t i = 1; + while (i + 1 < local.size() && local[i].x() < x) + ++i; + return interpolate(local[i - 1], local[i], x); + }; + std::vector out(f.begin(), f.begin() + ia); + auto push = [&out, tol](double x, double y) { + if (out.empty() || x > out.back().x() || std::abs(y - out.back().y()) > 2. * tol) + out.emplace_back(x, y); + }; + size_t k = 0; + for (const Vec2d &p : local) { + for (; k < keep.size() && keep[k].second < p.x(); ++k) { + const auto [x0, x1] = keep[k]; + push(x0, y_local(x0)); + push(x0, c.x() * x0 + c.y()); + push(x1, c.x() * x1 + c.y()); + push(x1, y_local(x1)); + } + if (k < keep.size() && keep[k].first <= p.x() && p.x() <= keep[k].second) + continue; + push(p.x(), p.y()); + } + for (; k < keep.size(); ++k) { + const auto [x0, x1] = keep[k]; + push(x0, y_local(x0)); + push(x0, c.x() * x0 + c.y()); + push(x1, c.x() * x1 + c.y()); + push(x1, y_local(x1)); + } + for (size_t i = ib; i < f.size(); ++i) + push(f[i].x(), f[i].y()); + f = std::move(out); +} + +static std::vector path_points(const LevelPath &path, const std::vector &lines, double reach) +{ + std::vector f = path.verts; + const int nb = int(path.junctions.size()); + auto x_of = [&path](int b) { return path.verts[b + 1].x(); }; + auto sharp = [&](int b) { return lines[path.lines[b]].family != 0 && lines[path.lines[b + 1]].family != 0; }; + // The run of bends turning the same way as bend b, up to the neighbouring bends turning the other way. + auto window = [&](int b) { + int l = b - 1, r = b + 1; + while (l >= 0 && path.turn[l] == path.turn[b]) + --l; + while (r < nb && path.turn[r] == path.turn[b]) + ++r; + return std::make_pair(l >= 0 ? x_of(l) : f.front().x(), r < nb ? x_of(r) : f.back().x()); + }; + // Sharp bends between the slanted lines go last, so they win at the tip of a small triangle. + for (int b = 0; b < nb; ++b) + if (!sharp(b)) { + const auto [w0, w1] = window(b); + for (const Lin &c : path.cuts[b]) + clip_profile(f, c, path.turn[b], w0, w1, x_of(b) - reach, x_of(b) + reach, true, false); + } + for (int b = 0; b < nb; ++b) + if (sharp(b)) + for (const Lin &c : path.cuts[b]) + clip_profile(f, c, path.turn[b], x_of(b), x_of(b), x_of(b) - reach, x_of(b) + reach, false, true); + for (const auto &[c, b] : path.pushes) { + const auto [w0, w1] = window(b); + clip_profile(f, c, path.turn[b], w0, w1, x_of(b) - reach, x_of(b) + reach, true, true); + } + std::vector pts; + for (const Vec2d &p : f) { + while (pts.size() >= 2 && std::abs(cross2(Vec2d(pts.back() - pts[pts.size() - 2]), Vec2d(p - pts.back()))) <= + 1e-9 * (pts.back() - pts[pts.size() - 2]).norm() * (p - pts.back()).norm()) + pts.pop_back(); + pts.push_back(p); + } + return pts; +} + +static double polyline_length(const std::vector &pts) +{ + double len = 0.; + for (size_t i = 1; i < pts.size(); ++i) + len += (pts[i] - pts[i - 1]).norm(); + return len; +} + +// Point at the given distance along pts, and the index of the segment it lies on. +static std::pair point_along(const std::vector &pts, double t) +{ + for (size_t i = 1; i < pts.size(); ++i) { + const double len = (pts[i] - pts[i - 1]).norm(); + if (t <= len) + return { pts[i - 1] + (len > 0. ? t / len : 0.) * (pts[i] - pts[i - 1]), i }; + t -= len; + } + return { pts.back(), pts.size() - 1 }; +} + +} // namespace noncrossing + +Polylines multiline_paths(const Lines &lines_in, double d1, double end_overlap, int sweep, const BoundingBox &cover) +{ + using namespace noncrossing; + const double eps = scale_(0.002); + const Eigen::Rotation2Dd to_sweep(-sweep * M_PI / 3.); + const BoundingBoxf box(cover.min.cast(), cover.max.cast()); + + // Lines in the sweep frame, collinear pieces merged. + struct Piece { double c, s0, s1; }; + std::array, 3> pieces; + for (const Line &line : lines_in) { + Vec2d a = line.a.cast(), b = line.b.cast(); + if (!Geometry::liang_barsky_line_clipping(a, b, box) || (b - a).norm() < 10. * eps) + continue; + a = to_sweep * a; + b = to_sweep * b; + const double angle = std::atan2(b.y() - a.y(), b.x() - a.x()) / (M_PI / 3.); + if (std::abs(angle - std::round(angle)) > 0.01) + // Not one of the three families. + return {}; + const int f = (int(std::round(angle)) % 3 + 3) % 3; + const Vec2d &d = family_dir[f]; + const Vec2d n(-d.y(), d.x()); + pieces[f].push_back({ n.dot(a), std::min(d.dot(a), d.dot(b)), std::max(d.dot(a), d.dot(b)) }); + } + std::vector lines; + for (int f = 0; f < 3; ++f) { + std::vector &ps = pieces[f]; + const Vec2d &d = family_dir[f]; + const Vec2d n(-d.y(), d.x()); + const double slope = d.y() / d.x(); + std::sort(ps.begin(), ps.end(), [](const Piece &l, const Piece &r) { return l.c < r.c; }); + for (size_t i = 0; i < ps.size();) { + size_t j = i + 1; + while (j < ps.size() && ps[j].c - ps[i].c < eps) + ++j; + std::sort(ps.begin() + i, ps.begin() + j, [](const Piece &l, const Piece &r) { return l.s0 < r.s0; }); + double c = 0.; + for (size_t k = i; k < j; ++k) + c += ps[k].c / double(j - i); + double s0 = ps[i].s0, s1 = ps[i].s1; + for (size_t k = i + 1; k <= j; ++k) { + if (k < j && ps[k].s0 <= s1 + eps) { + s1 = std::max(s1, ps[k].s1); + continue; + } + const Vec2d a = s0 * d + c * n; + lines.push_back({ a, s1 * d + c * n, f, Lin(slope, a.y() - slope * a.x()), {} }); + if (k < j) { + s0 = ps[k].s0; + s1 = ps[k].s1; + } + } + i = j; + } + } + + auto along = [](const SweepLine &l, const Vec2d &p) { return family_dir[l.family].dot(p - l.a); }; + auto length = [](const SweepLine &l) { return (l.b - l.a).norm(); }; + + // Crossings, including the ends of lines stopping on another line. + std::vector junctions; + auto detect_junctions = [&]() { + struct Hit { Vec2d p; int i, j; }; + std::vector hits; + std::vector order(lines.size()); + std::iota(order.begin(), order.end(), 0); + std::sort(order.begin(), order.end(), [&lines](int l, int r) { return lines[l].a.x() < lines[r].a.x(); }); + for (size_t oi = 0; oi < order.size(); ++oi) { + const SweepLine &li = lines[order[oi]]; + for (size_t oj = oi + 1; oj < order.size() && lines[order[oj]].a.x() <= li.b.x() + eps; ++oj) { + const SweepLine &lj = lines[order[oj]]; + if (li.family == lj.family) + continue; + const double x = (lj.lin.y() - li.lin.y()) / (li.lin.x() - lj.lin.x()); + const Vec2d p(x, li.lin.x() * x + li.lin.y()); + const double ti = along(li, p), tj = along(lj, p); + if (ti > -eps && ti < length(li) + eps && tj > -eps && tj < length(lj) + eps) + hits.push_back({ p, order[oi], order[oj] }); + } + } + std::sort(hits.begin(), hits.end(), [](const Hit &l, const Hit &r) { return l.p.x() < r.p.x(); }); + junctions.clear(); + for (const Hit &hit : hits) { + int found = -1; + for (int k = int(junctions.size()) - 1; k >= 0 && junctions[k].p.x() > hit.p.x() - eps; --k) + if (std::abs(junctions[k].p.y() - hit.p.y()) < eps) { + found = k; + break; + } + if (found < 0) { + found = int(junctions.size()); + junctions.push_back({ hit.p, {}, {}, {} }); + } + std::vector &jl = junctions[found].lines; + for (int li : { hit.i, hit.j }) + if (std::find(jl.begin(), jl.end(), li) == jl.end()) + jl.push_back(li); + } + for (SweepLine &l : lines) + l.junctions.clear(); + for (int ji = 0; ji < int(junctions.size()); ++ji) + for (int li : junctions[ji].lines) + lines[li].junctions.emplace_back(junctions[ji].p.x(), ji); + for (SweepLine &l : lines) + std::sort(l.junctions.begin(), l.junctions.end()); + }; + detect_junctions(); + auto has_arm = [&](int ji, int li, bool right) { + const double t = along(lines[li], junctions[ji].p); + return right ? t < length(lines[li]) - eps : t > eps; + }; + + // A line ending on another just past a crossing stops at the crossing, where its stub would leave a hole. + auto crosses = [&](int ji, int li) { return has_arm(ji, li, false) && has_arm(ji, li, true); }; + for (int pass = 0; pass < 3; ++pass) { + std::vector touched(lines.size(), false); + bool changed = false; + for (int ji = 0; ji < int(junctions.size()); ++ji) { + const Junction &J = junctions[ji]; + if (J.lines.size() != 2 || touched[J.lines[0]] || touched[J.lines[1]] || !crosses(ji, J.lines[0]) || !crosses(ji, J.lines[1])) + continue; + // Shortest arm of each line from J to the junction where it ends on another line. + struct DeadArm { double length; bool at_b; int end; }; + std::array dead; + dead.fill({ std::numeric_limits::max(), false, -1 }); + for (int k = 0; k < 2; ++k) { + const SweepLine &l = lines[J.lines[k]]; + const size_t at = std::find_if(l.junctions.begin(), l.junctions.end(), [ji](const std::pair &j) { return j.second == ji; }) - l.junctions.begin(); + const double t = along(l, J.p); + if (at + 1 < l.junctions.size() && length(l) - along(l, junctions[l.junctions[at + 1].second].p) < eps) + dead[k] = { length(l) - t, true, l.junctions[at + 1].second }; + if (at > 0 && along(l, junctions[l.junctions[at - 1].second].p) < eps && t < dead[k].length) + dead[k] = { t, false, l.junctions[at - 1].second }; + } + const int k = dead[0].length <= dead[1].length ? 0 : 1; + if (dead[k].length >= 2. * d1) + continue; + SweepLine &l = lines[J.lines[k]]; + (dead[k].at_b ? l.b : l.a) = J.p; + // Only the shortened line and those it ended on have stale junctions until the next pass. + for (int li : junctions[dead[k].end].lines) + touched[li] = true; + changed = true; + } + if (!changed) + break; + detect_junctions(); + } + + // At every crossing the lines bounce off each other, so that every path keeps running left to right. + for (int ji = 0; ji < int(junctions.size()); ++ji) { + Junction &J = junctions[ji]; + std::vector left, right; + for (int li : J.lines) + if (has_arm(ji, li, false) && has_arm(ji, li, true)) + left.push_back(li); + right = left; + std::sort(left.begin(), left.end(), [&lines](int l, int r) { return lines[l].lin.x() > lines[r].lin.x(); }); + std::sort(right.begin(), right.end(), [&lines](int l, int r) { return lines[l].lin.x() < lines[r].lin.x(); }); + for (size_t k = 0; k < left.size(); ++k) + J.pairs.emplace_back(left[k], right[k]); + J.bends.assign(J.pairs.size(), { -1, -1 }); + } + + std::vector paths; + for (int li = 0; li < int(lines.size()); ++li) { + const SweepLine &l = lines[li]; + const int start = !l.junctions.empty() && !has_arm(l.junctions.front().second, li, false) ? l.junctions.front().second : -1; + LevelPath path; + path.start_term = start; + path.verts.push_back(start >= 0 ? junctions[start].p : l.a); + path.lines.push_back(li); + int cur = li; + double x = path.verts.front().x(); + for (;;) { + const auto &js = lines[cur].junctions; + const auto it = std::find_if(js.begin(), js.end(), [x, eps](const std::pair &j) { return j.first > x + 0.25 * eps; }); + if (it == js.end()) { + path.verts.push_back(lines[cur].b); + break; + } + Junction &J = junctions[it->second]; + const size_t k = std::find_if(J.pairs.begin(), J.pairs.end(), [cur](const std::pair &p) { return p.first == cur; }) - J.pairs.begin(); + if (k == J.pairs.size()) { + path.verts.push_back(J.p); + path.end_term = it->second; + break; + } + if (const int next = J.pairs[k].second; next != cur) { + J.bends[k] = { int(paths.size()), int(path.junctions.size()) }; + path.verts.push_back(J.p); + path.lines.push_back(next); + path.junctions.push_back(it->second); + path.turn.push_back(lines[next].lin.x() > lines[cur].lin.x() ? 1 : -1); + cur = next; + } + x = it->first; + } + path.cuts.resize(path.junctions.size()); + paths.push_back(std::move(path)); + } + + // Cut the two bends of a crossing d1 apart, no further than the neighbouring bends turning the other way. + for (const Junction &J : junctions) { + if (J.pairs.size() < 2 || J.bends.front().first < 0 || J.bends.back().first < 0) + continue; + const Vec2d n = (family_dir[lines[J.pairs.back().second].family] - family_dir[lines[J.pairs.back().first].family]).normalized(); + auto cut = [&J, &n](double offset) { + const Vec2d q = J.p + offset * n; + const double s = -n.x() / n.y(); + return Lin(s, q.y() - s * q.x()); + }; + LevelPath &lo = paths[J.bends.front().first], &hi = paths[J.bends.back().first]; + const int lb = J.bends.front().second, hb = J.bends.back().second; + if (J.pairs.size() == 3) { + lo.cuts[lb].push_back(cut(-d1)); + hi.cuts[hb].push_back(cut(d1)); + continue; + } + // Only the tip of a small triangle, between the two slanted families, stops at its neighbouring bends. + const bool sharp = lines[J.pairs.front().first].family != 0 && lines[J.pairs.front().second].family != 0; + auto room = [&](const LevelPath &P, int b, int away, double sign) { + double c = std::numeric_limits::max(); + for (int nb : { b - 1, b + 1 }) + if (sharp && nb >= 0 && nb < int(P.junctions.size()) && P.turn[nb] == away) + c = std::min(c, sign * n.dot(junctions[P.junctions[nb]].p - J.p)); + if (b == 0 && P.start_term >= 0) + c = std::min(c, sign * n.dot(P.verts.front() - J.p)); + if (b + 1 == int(P.junctions.size()) && P.end_term >= 0) + c = std::min(c, sign * n.dot(P.verts.back() - J.p)); + return std::max(c, 0.); + }; + const double c_lo = room(lo, lb, 1, -1.), c_hi = room(hi, hb, -1, 1.); + double d_lo = 0.5 * d1; + if (d1 - c_hi <= c_lo) + d_lo = std::clamp(d_lo, d1 - c_hi, c_lo); + else if (c_lo + c_hi > 0.) + d_lo = d1 * c_lo / (c_lo + c_hi); + const double d_hi = d1 - d_lo; + lo.cuts[lb].push_back(cut(-d_lo)); + hi.cuts[hb].push_back(cut(d_hi)); + auto propagate = [&](const LevelPath &P, int b, int away, int step, double offset) { + for (int nb : { b - 1, b + 1 }) + if (nb >= 0 && nb < int(P.junctions.size()) && P.turn[nb] == away) { + const Junction &W = junctions[P.junctions[nb]]; + const int k = int(std::find_if(W.pairs.begin(), W.pairs.end(), [&](const std::pair &p) { return p.first == P.lines[nb]; }) - W.pairs.begin()) + step; + if (k >= 0 && k < int(W.bends.size()) && W.bends[k].first >= 0) + paths[W.bends[k].first].pushes.emplace_back(cut(offset), W.bends[k].second); + } + }; + if (sharp) { + propagate(lo, lb, 1, -1, -d_lo - d1); + propagate(hi, hb, -1, 1, d_hi + d1); + } + } + + std::vector> geometry; + Linesf segments; + std::vector> segment_start; // path, distance along it + std::vector> kept; // stretch of each path left by the trimming + for (const LevelPath &path : paths) { + geometry.push_back(path.junctions.empty() ? std::vector{ path.verts.front(), path.verts.back() } : path_points(path, lines, 4. * d1)); + double along_path = 0.; + for (size_t i = 1; i < geometry.back().size(); ++i) { + segments.emplace_back(geometry.back()[i - 1], geometry.back()[i]); + segment_start.emplace_back(int(geometry.size()) - 1, along_path); + along_path += (geometry.back()[i] - geometry.back()[i - 1]).norm(); + } + kept.emplace_back(0., along_path); + } + + // A path ending on another line stops end_overlap inside the walls of the others, as trimmed so far. + const double end_clearance = d1 - end_overlap; + AABBTreeLines::LinesDistancer tree(segments); + auto clearance = [&](int pi, const Vec2d &q) { + double dist = std::numeric_limits::max(); + for (size_t s : tree.all_lines_in_radius(q, d1)) { + const auto [pj, start] = segment_start[s]; + const Vec2d a = segments[s].a, d = segments[s].b - a; + const double len = d.norm(), t0 = std::max(0., kept[pj].first - start), t1 = std::min(len, kept[pj].second - start); + if (pj != pi && len > 0. && t0 <= t1) + dist = std::min(dist, line_alg::distance_to(Linef(a + t0 / len * d, a + t1 / len * d), q)); + } + return dist; + }; + // Returns the length trimmed off. + auto trim_front = [&](int pi, std::vector &pts) { + const double total = polyline_length(pts), step = d1 / 32.; + double t = 0.; + while (t <= total && clearance(pi, point_along(pts, t).first) < end_clearance) + t += step; + if (t > total) { + pts.clear(); + return total; + } + if (t == 0.) + return 0.; + for (double lo = std::max(0., t - step); t - lo > step / 256.;) + if (const double mid = 0.5 * (lo + t); clearance(pi, point_along(pts, mid).first) < end_clearance) + lo = mid; + else + t = mid; + const auto [q, seg] = point_along(pts, t); + pts.erase(pts.begin(), pts.begin() + (seg - 1)); + pts.front() = q; + return t; + }; + + // A path stopping on the line of another path is trimmed first, so that it gives way to that path. + std::vector>> carried(lines.size()); // x range and path of each piece + for (int pi = 0; pi < int(paths.size()); ++pi) + for (size_t i = 0; i < paths[pi].lines.size(); ++i) + carried[paths[pi].lines[i]].emplace_back(paths[pi].verts[i].x(), paths[pi].verts[i + 1].x(), pi); + std::vector> stopping_on(paths.size()); + for (int pi = 0; pi < int(paths.size()); ++pi) + for (const auto &[ji, own] : { std::make_pair(paths[pi].start_term, paths[pi].lines.front()), std::make_pair(paths[pi].end_term, paths[pi].lines.back()) }) + if (ji >= 0) + for (int li : junctions[ji].lines) + if (li != own) + for (const auto &[x0, x1, pj] : carried[li]) + if (pj != pi && x0 - eps <= junctions[ji].p.x() && junctions[ji].p.x() <= x1 + eps) + stopping_on[pj].push_back(pi); + std::vector order; + std::vector visited(paths.size(), false); + std::function visit = [&](int pi) { + if (visited[pi]) + return; + visited[pi] = true; + for (int child : stopping_on[pi]) + visit(child); + order.push_back(pi); + }; + for (int pi = 0; pi < int(paths.size()); ++pi) + visit(pi); + std::vector> trimmed(paths.size()); + auto trim = [&](int pi) { + std::vector &pts = trimmed[pi]; + if (paths[pi].start_term >= 0) + kept[pi].first += trim_front(pi, pts); + if (paths[pi].end_term >= 0 && !pts.empty()) { + std::reverse(pts.begin(), pts.end()); + kept[pi].second -= trim_front(pi, pts); + std::reverse(pts.begin(), pts.end()); + } + if (pts.size() < 2 || polyline_length(pts) < d1) { + pts.clear(); + kept[pi] = { 0., -1. }; + } + }; + // Ends grow back where the ends they gave way to were trimmed later; the last pass only shortens them. + for (int pass = 0; pass < 3; ++pass) + for (int pi : order) { + if (pass < 2) { + trimmed[pi] = geometry[pi]; + kept[pi] = { 0., polyline_length(geometry[pi]) }; + } else if (trimmed[pi].empty()) + continue; + trim(pi); + } + + Polylines out; + const Eigen::Rotation2Dd to_world = to_sweep.inverse(); + for (const std::vector &pts : trimmed) { + if (pts.empty()) + continue; + Polyline pl; + for (const Vec2d &p : pts) { + const Vec2d w = to_world * p; + pl.points.emplace_back(coord_t(std::round(w.x())), coord_t(std::round(w.y()))); + } + out.emplace_back(std::move(pl)); + } + return out; +} + void Filler::_fill_surface_single( const FillParams ¶ms, unsigned int thickness_layers, @@ -1371,6 +1932,17 @@ void Filler::_fill_surface_single( all_polylines.reserve(lines.size()); std::transform(lines.begin(), lines.end(), std::back_inserter(all_polylines), [](const Line& l) { return Polyline{ l.a, l.b }; }); + if (params.multiline > 1) { + const double d1 = scale_(this->spacing) * params.multiline; + BoundingBox cover = get_extents(expolygon); + cover.offset(coord_t(4. * d1)); + // Rotate the family the paths run along with the layer, like the other multiline patterns. + const int sweep = int((this->layer_id / std::max(thickness_layers, 1u)) % 3); + // Line ends overlap the walls they stop on by half a line, so that they bond. + if (Polylines paths = multiline_paths(lines, d1, 0.5 * scale_(this->spacing), sweep, cover); !paths.empty()) + all_polylines = std::move(paths); + } + // Apply multiline offset if needed multiline_fill(all_polylines, params, spacing); @@ -1395,8 +1967,8 @@ void Filler::_fill_surface_single( } #endif /* ADAPTIVE_CUBIC_INFILL_DEBUG_OUTPUT */ - const auto hook_length = coordf_t(std::min(std::numeric_limits::max(), scale_(params.anchor_length))); - const auto hook_length_max = coordf_t(std::min(std::numeric_limits::max(), scale_(params.anchor_length_max))); + const auto hook_length = coordf_t(scale_(params.anchor_length)); + const auto hook_length_max = coordf_t(scale_(params.anchor_length_max)); Polylines all_polylines_with_hooks = all_polylines.size() > 1 ? connect_lines_using_hooks(std::move(all_polylines), expolygon, this->spacing, hook_length, hook_length_max) : std::move(all_polylines); diff --git a/src/libslic3r/Fill/FillAdaptive.hpp b/src/libslic3r/Fill/FillAdaptive.hpp index 0132ffaa6c..de0768b26e 100644 --- a/src/libslic3r/Fill/FillAdaptive.hpp +++ b/src/libslic3r/Fill/FillAdaptive.hpp @@ -48,6 +48,9 @@ FillAdaptive::OctreePtr build_octree( // If true, octree is densified below internal overhangs only. bool support_overhangs_only); +// Multiline infill: lines of the three families to non-crossing paths d1 apart, ends reaching end_overlap into walls. +Polylines multiline_paths(const Lines &lines, double d1, double end_overlap, int sweep, const BoundingBox &cover); + // // Some of the algorithms used by class FillAdaptive were inspired by // Cura Engine's class SubDivCube diff --git a/src/libslic3r/Fill/FillRectilinear.cpp b/src/libslic3r/Fill/FillRectilinear.cpp index db340748ab..55ae50f9bb 100644 --- a/src/libslic3r/Fill/FillRectilinear.cpp +++ b/src/libslic3r/Fill/FillRectilinear.cpp @@ -3047,12 +3047,56 @@ bool FillRectilinear::fill_surface_by_multilines(const Surface *surface, FillPar return true; } +// Upper level of a cubic band [0, h] over one period, from the crossing at (0, tau) to the one at (period, tau). +// See docs/HLSD/multiline-infill.md. +static std::vector cubic_upper_level(double tau, double h, double period, double d1) +{ + const double s3 = std::sqrt(3.); + const double y_cut = std::clamp(tau - 0.5 * d1, 0., h - d1) + d1; + const double y_flat = std::min(h, h + y_cut - 2. * d1); + const double x2 = (h - tau) / s3 + d1; + const double x3 = (h + tau) / s3 - d1; + // (slope, intercept) of the rising line, its chamfer, the horizontal line, the falling chamfer and line. + const std::array lines{ Vec2d(s3, tau), Vec2d(1. / s3, h - x2 / s3), Vec2d(0., y_flat), + Vec2d(-1. / s3, h + x3 / s3), Vec2d(-s3, tau + s3 * period) }; + auto y_at = [&lines, y_cut](double x) { + double y = std::numeric_limits::max(); + for (const Vec2d &l : lines) + y = std::min(y, l.x() * x + l.y()); + return std::max(y, y_cut); + }; + + std::vector xs; + for (size_t i = 0; i < lines.size(); ++i) { + if (lines[i].x() != 0.) + xs.emplace_back((y_cut - lines[i].y()) / lines[i].x()); + for (size_t j = i + 1; j < lines.size(); ++j) + xs.emplace_back((lines[j].y() - lines[i].y()) / (lines[i].x() - lines[j].x())); + } + xs.erase(std::remove_if(xs.begin(), xs.end(), [period](double x) { return x <= 1. || x >= period - 1.; }), xs.end()); + xs.insert(xs.end(), { 0., period }); + std::sort(xs.begin(), xs.end()); + xs.erase(std::unique(xs.begin(), xs.end(), [](double a, double b) { return b - a < 1.; }), xs.end()); + + std::vector pts; + for (double x : xs) { + const Vec2d p(x, y_at(x)); + if (pts.size() >= 2) { + const Vec2d &a = pts[pts.size() - 2], &b = pts.back(); + if (std::abs((b.y() - a.y()) / (b.x() - a.x()) - (p.y() - b.y()) / (p.x() - b.x())) < EPSILON) + pts.pop_back(); + } + pts.emplace_back(p); + } + return pts; +} + bool FillRectilinear::fill_surface_trapezoidal( const Surface* surface, FillParams params, const std::initializer_list& sweep_params, Polylines& polylines_out, - int Pattern_type) // 0=grid, 1=triangular, 2=stars + int Pattern_type) // 0=grid, 1=triangular, 2=stars, 3=cubic { assert(params.multiline > 1); @@ -3090,10 +3134,11 @@ bool FillRectilinear::fill_surface_trapezoidal( case 0: // Grid / Trapezoidal { // Generate a non-crossing trapezoidal pattern to avoid overextrusion at intersections when `multiline > 1`. - // P2--P3 - // / \ - // P0_P1/ \P4_ - // + /* + * P2--P3 + * / \ + * P0_P1/ \P4_ + */ // P0xP1x=P4xP0x=d1/2 // P2xP3x=d1 // P1yP2y=P2yP3y=d2 @@ -3171,10 +3216,12 @@ bool FillRectilinear::fill_surface_trapezoidal( case 1: // Triangular { // Generate a non-crossing trapezoidal pattern with a base line below. - // P1-P2 - // / \ - // P0/ \P3_P4 - // ---------------- + /* + * P1-P2 + * / \ + * P0/ \P3_P4 + * ---------------- + */ // P1xP2x=P3xP4x=d2 // P0yP1y=P2yP3y=h-2d1 // @@ -3347,6 +3394,55 @@ bool FillRectilinear::fill_surface_trapezoidal( break; } + case 3: // Cubic + { + // Same z shifted lines as the single-line cubic; the slanted ones cross tau above the horizontal ones. + auto pos_mod = [](double a, double m) { const double r = std::fmod(a, m); return r < 0. ? r + m : r; }; + const double h = 0.5 * std::sqrt(3.0) * period; + const double shift = scale_(std::sqrt(0.5) * this->z); + const double tau = pos_mod(-3. * shift, h); + const double y0 = pos_mod(-2. * shift, 2. * h); + + std::array, 2> levels{ cubic_upper_level(h - tau, h, period, d1), cubic_upper_level(tau, h, period, d1) }; + for (Vec2d &p : levels.front()) + p.y() = h - p.y(); + + const size_t layer_mod = infill_layer_id % 3; + const double angle = layer_mod * 2.0 * M_PI / 3.0; + + // Only cover the surface, seen in the frame the pattern is built in. + ExPolygon local = expolygon; + local.translate(-rotate_vector.second.x(), -rotate_vector.second.y()); + if (layer_mod) + local.rotate(-angle); + BoundingBox cover = get_extents(local); + cover.offset(period); + + const int64_t n_min = int64_t(std::floor((cover.min.y() - y0) / h)) - 1; + const int64_t n_max = int64_t(std::ceil((cover.max.y() - y0) / h)) + 1; + for (int64_t n = n_min; n <= n_max; ++n) { + const double x_off = (n & 1) ? 0.5 * period : 0.; + const double base = y0 + double(n) * h - tau; + const int64_t j_min = int64_t(std::floor((cover.min.x() - x_off) / period)) - 1; + const int64_t j_max = int64_t(std::ceil((cover.max.x() - x_off) / period)); + for (const std::vector &level : levels) { + Polyline row; + row.points.reserve(size_t(j_max - j_min + 1) * level.size()); + for (int64_t j = j_min; j <= j_max; ++j) + for (size_t i = (j == j_min) ? 0 : 1; i < level.size(); ++i) + row.points.emplace_back(coord_t(std::round(x_off + double(j * period) + level[i].x())), + coord_t(std::round(base + level[i].y()))); + polylines.emplace_back(std::move(row)); + } + } + + if (layer_mod) + for (Polyline &pl : polylines) + pl.rotate(angle, Point(0, 0)); + + break; + } + default: // Handle unknown pattern type break; @@ -3529,6 +3625,11 @@ Polylines FillStars::fill_surface(const Surface *surface, const FillParams ¶ Polylines FillCubic::fill_surface(const Surface *surface, const FillParams ¶ms) { Polylines polylines_out; + if (params.multiline > 1) { + if (!this->fill_surface_trapezoidal(surface, params, {}, polylines_out, 3)) + BOOST_LOG_TRIVIAL(error) << "FillCubic::fill_surface_trapezoidal() failed."; + return polylines_out; + } coordf_t dx = sqrt(0.5) * z; if (! this->fill_surface_by_multilines( surface, params, diff --git a/src/libslic3r/FlushVolCalc.cpp b/src/libslic3r/FlushVolCalc.cpp index 9bdbc1737d..635328f5ab 100644 --- a/src/libslic3r/FlushVolCalc.cpp +++ b/src/libslic3r/FlushVolCalc.cpp @@ -40,8 +40,8 @@ static float DeltaHS_BBS(float h1, float s1, float v1, float h2, float s2, float return std::min(1.2f, dxy); } -FlushVolCalculator::FlushVolCalculator(int min, int max, int flush_dataset, float multiplier) - :m_min_flush_vol(min), m_max_flush_vol(max), m_multiplier(multiplier), m_flush_dataset(flush_dataset) +FlushVolCalculator::FlushVolCalculator(int min, int max, int flush_dataset) + :m_min_flush_vol(min), m_max_flush_vol(max), m_flush_dataset(flush_dataset) { } diff --git a/src/libslic3r/FlushVolCalc.hpp b/src/libslic3r/FlushVolCalc.hpp index 46d04d13ff..73baca5a89 100644 --- a/src/libslic3r/FlushVolCalc.hpp +++ b/src/libslic3r/FlushVolCalc.hpp @@ -15,7 +15,7 @@ extern const int g_max_flush_volume; class FlushVolCalculator { public: - FlushVolCalculator(int min, int max, int flush_dataset, float multiplier = 1.0f); + FlushVolCalculator(int min, int max, int flush_dataset); ~FlushVolCalculator() { } @@ -32,7 +32,6 @@ public: private: int m_min_flush_vol; int m_max_flush_vol; - float m_multiplier; int m_flush_dataset; }; diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index b0cbb1fd50..09899aa4c2 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -102,45 +102,6 @@ struct ZipUnicodePathExtraField } }; -// Validate that a relative file path does not escape the root directory via path traversal. -static bool is_path_within_root(const std::string& file_path, const boost::filesystem::path& root) -{ - if (file_path.empty()) - return false; - - boost::filesystem::path p(file_path); - if (p.is_absolute()) - return false; - - // Reject any path component that is ".." - for (const auto& component : p) { - if (component == "..") - return false; - } - - // Resolve the full path and verify it starts with the canonical root (also catches symlink escapes) - try { - boost::filesystem::path full_path = root / p; - boost::filesystem::path canonical_root = boost::filesystem::weakly_canonical(root); - boost::filesystem::path canonical_full = boost::filesystem::weakly_canonical(full_path); - - auto root_str = canonical_root.string(); - auto full_str = canonical_full.string(); - if (full_str.length() < root_str.length()) - return false; - if (full_str.compare(0, root_str.length(), root_str) != 0) - return false; - // Ensure it's a proper prefix (not just a substring of a longer directory name) - if (full_str.length() > root_str.length() && - full_str[root_str.length()] != boost::filesystem::path::preferred_separator) - return false; - } catch (const boost::filesystem::filesystem_error&) { - return false; - } - - return true; -} - // VERSION NUMBERS // 0 : .3mf, files saved by older slic3r or other applications. No version definition in them. // 1 : Introduction of 3mf versioning. No other change in data saved into 3mf files. @@ -214,6 +175,10 @@ const std::string BBS_MODEL_CONFIG_RELS_FILE = "Metadata/_rels/model_settings.co const std::string SLICE_INFO_CONFIG_FILE = "Metadata/slice_info.config"; const std::string FILAMENT_SEQUENCE_FILE = "Metadata/filament_sequence.json"; const std::string BBS_LAYER_HEIGHTS_PROFILE_FILE = "Metadata/layer_heights_profile.txt"; +const std::string ORCA_CAD_RECIPE_FILE = "Metadata/orca_cad.bin"; +// Read-only: the recipe entry's pre-rename name. A reader that knows only the new one drops the +// feature tree of every project written before the move, without a word. Never written. +const std::string LEGACY_CAD_RECIPE_FILE = "Metadata/SnapOrca_cad.bin"; const std::string LAYER_CONFIG_RANGES_FILE = "Metadata/layer_config_ranges.xml"; const std::string BRIM_EAR_POINTS_FILE = "Metadata/brim_ear_points.txt"; /*const std::string SLA_SUPPORT_POINTS_FILE = "Metadata/Slic3r_PE_sla_support_points.txt"; @@ -681,6 +646,11 @@ bool bbs_is_valid_object_type(const std::string& type) namespace Slic3r { +bool is_published_3mf_flag(const std::string &value) +{ + return value == "1"; +} + void PlateData::parse_filament_info(GCodeProcessorResult *result) { if (!result) return; @@ -1217,6 +1187,20 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) // add backup & restore logic bool _load_model_from_file(std::string filename, Model& model, PlateDataPtrs& plate_data_list, std::vector& project_presets, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, Import3mfProgressFn proFn = nullptr, BBLProject* project = nullptr, int plate_id = 0); + + // A minimal published 3MF carries no slicer tags (any tag would make old receivers show + // a baked-in, wrong "old version" popup on their geometry-only fallback), so it + // classifies as From_Other. It is still a fully structured OrcaSlicer file though: + // identified by its own metadata, it keeps BBS-grade geometry handling (no instance + // splitting, no transform baking, no renaming) in this build. Old receivers without the + // publish feature don't know the metadata and take their third-party geometry path. + // Reads the parse-time metadata: the model XML carries it before its resources, while + // m_model->model_info is only filled in after the whole XML has been parsed. + bool _is_published_3mf() const { + const auto it = this->model_info.metadata_items.find(ORCA_PUBLISHED_TAG); + return it != this->model_info.metadata_items.end() && is_published_3mf_flag(it->second); + } + bool _is_svg_shape_file(const std::string &filename) const; bool _extract_from_archive(mz_zip_archive& archive, std::string const & path, std::function, bool restore = false); bool _extract_xml_from_archive(mz_zip_archive& archive, std::string const & path, XML_StartElementHandler start_handler, XML_EndElementHandler end_handler); @@ -1970,6 +1954,15 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) // extract slic3r print config file _extract_project_config_from_archive(archive, stat, config, config_substitutions, model); } + else if (boost::algorithm::iequals(name, ORCA_CAD_RECIPE_FILE) + || boost::algorithm::iequals(name, LEGACY_CAD_RECIPE_FILE)) { + // Restore the editable CAD recipe (optional; absent in non-CAD projects). + if (stat.m_uncomp_size > 0) { + std::string buf((size_t)stat.m_uncomp_size, '\0'); + if (mz_zip_reader_extract_to_mem(&archive, stat.m_file_index, buf.data(), buf.size(), 0)) + model.cad_recipe = std::move(buf); + } + } else if (boost::algorithm::iequals(name, CUT_INFORMATION_FILE)) { // extract object cut info _extract_cut_information_from_archive(archive, stat, config_substitutions); @@ -2041,7 +2034,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) lock.close(); - if (!m_is_bbl_3mf) { + if (!m_is_bbl_3mf && !_is_published_3mf()) { // if the 3mf was not produced by OrcaSlicer and there is more than one instance, // split the object in as many objects as instances BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << boost::format(", found 3mf from other vendor, split as instance"); @@ -3605,7 +3598,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) m_index_paths.insert({ object.first.second, object.first.first}); } - if (!m_is_bbl_3mf) { + if (!m_is_bbl_3mf && !_is_published_3mf()) { // if the 3mf was not produced by OrcaSlicer and there is only one object, // set the object name to match the filename if (m_model->objects.size() == 1) @@ -5328,7 +5321,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) TriangleMesh triangle_mesh(std::move(its), volume_data.mesh_stats); - if (!m_is_bbl_3mf) { + if (!m_is_bbl_3mf && !_is_published_3mf()) { // if the 3mf was not produced by OrcaSlicer and there is only one instance, // bake the transformation into the geometry to allow the reload from disk command // to work properly @@ -5974,6 +5967,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) bool m_save_gcode { false }; // whether to save gcode for normal save bool m_skip_model { false }; // skip model when exporting .gcode.3mf bool m_skip_auxiliary { false }; // skip normal axuiliary files + bool m_minimal_published { false }; // published 3MF: omit the project config, the embedded preset files and the slicer tags bool m_use_loaded_id { false }; // whether to use loaded id for identify_id bool m_share_mesh { false }; // whether to share mesh between objects std::string m_thumbnail_middle = PRINTER_THUMBNAIL_MIDDLE_FILE; @@ -6027,6 +6021,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) bool _add_mesh_to_object_stream(std::function const &flush, ObjectData const &object_data) const; bool _add_build_to_model_stream(std::stringstream& stream, const BuildItemsList& build_items) const; bool _add_layer_height_profile_file_to_archive(mz_zip_archive& archive, Model& model); + bool _add_cad_recipe_file_to_archive(mz_zip_archive& archive, Model& model); bool _add_layer_config_ranges_file_to_archive(mz_zip_archive& archive, Model& model); bool _add_brim_ear_points_file_to_archive(mz_zip_archive& archive, Model& model); bool _add_sla_support_points_file_to_archive(mz_zip_archive& archive, Model& model); @@ -6073,6 +6068,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) m_skip_auxiliary = store_params.strategy & SaveStrategy::SkipAuxiliary; m_share_mesh = store_params.strategy & SaveStrategy::ShareMesh; m_from_backup_save = store_params.strategy & SaveStrategy::Backup; + m_minimal_published = store_params.strategy & SaveStrategy::MinimalPublished; m_use_loaded_id = store_params.strategy & SaveStrategy::UseLoadedId; @@ -6422,6 +6418,11 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) return false; } + if (!_add_cad_recipe_file_to_archive(archive, model)) { + close_zip_writer(&archive); + return false; + } + // BBS progress point /*BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" <<__LINE__ << boost::format("export 3mf EXPORT_STAGE_ADD_LAYER_RANGE\n"); if (proFn) { @@ -6482,7 +6483,10 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) // Adds slic3r print config file ("Metadata/Slic3r_PE.config"). // This file contains the content of FullPrintConfig / SLAFullPrintConfig. - if (config != nullptr) { + // Omitted for minimal published 3MF: OrcaSlicer versions without the publish feature + // then fall back to importing the geometry only, and new versions read the published + // payload from the model metadata instead. + if (config != nullptr && !m_minimal_published) { // BBS: change to json format // if (!_add_print_config_file_to_archive(archive, *config)) { if (!_add_project_config_file_to_archive(archive, *config, model)) { return false; } @@ -6495,8 +6499,8 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) if (cb_cancel) return false; } - // BBS: add project config - if (project_presets.size() > 0) { + // BBS: add project config (omitted for minimal published 3MF) + if (!m_minimal_published && project_presets.size() > 0) { // BBS: add project embedded preset files _add_project_embedded_presets_to_archive(archive, model, project_presets); @@ -6968,10 +6972,31 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) // Orca: PRIVACY: do not store creation & modification date in 3mf metadata_item_map[BBL_CREATION_DATE_TAG] = ""; metadata_item_map[BBL_MODIFICATION_TAG] = ""; - // Orca: Write the BambuStudio compatibility version string using SLIC3R_VERSION - metadata_item_map[BBL_APPLICATION_TAG] = (boost::format("%1%-%2%") % "BambuStudio" % SLIC3R_VERSION).str(); + // Orca: Write the BambuStudio compatibility version string using SLIC3R_VERSION. + // A minimal published 3MF writes no slicer tags at all: any tag would route old + // receivers onto a geometry-only fallback whose baked-in popup misreports the + // file ("old OrcaSlicer version" / "BambuStudio"), while tag-less files classify + // as From_Other and import the geometry silently. + if (m_minimal_published) { + // metadata_item_map is seeded from the input file's metadata_items above, so a + // project opened from a regular Orca/BBS 3MF still carries the slicer-identifying + // tags it came with. Erase every one of them - not just the two most common - + // so a published 3MF is fully tag-less: old receivers classify it as From_Other + // and import the geometry silently instead of showing a baked-in "old version" + // popup, and no version marker survives to seed a later re-save. + metadata_item_map.erase(BBL_APPLICATION_TAG); + metadata_item_map.erase(ORCASLICER_TAG); + metadata_item_map.erase(BBS_3MF_VERSION); + metadata_item_map.erase(BBS_3MF_VERSION1); + } else { + metadata_item_map[BBL_APPLICATION_TAG] = (boost::format("%1%-%2%") % "BambuStudio" % SLIC3R_VERSION).str(); + } } - metadata_item_map[BBS_3MF_VERSION] = std::to_string(VERSION_BBS_3MF); + // The Bambu 3MF version marker is part of the slicer identity: omit it for a minimal + // published file along with the tags erased above (skipping the overwrite alone would + // leave the value the source file seeded into metadata_item_map). + if (!m_minimal_published) + metadata_item_map[BBS_3MF_VERSION] = std::to_string(VERSION_BBS_3MF); if (!model.mk_name.empty()) { metadata_item_map[BBL_MAKERLAB_TAG] = xml_escape(model.mk_name); @@ -6994,7 +7019,11 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) BOOST_LOG_TRIVIAL(info) << "bbs_3mf: save key= " << item.first << ", value = " << item.second; stream << " <" << METADATA_TAG << " name=\"" << item.first << "\">" << xml_escape(item.second) << "\n"; - if (item.first == BBL_APPLICATION_TAG) { + if (item.first == BBL_APPLICATION_TAG && !m_minimal_published) { + // The OrcaSlicer tag is only written for files that carry the Application + // tag, which a minimal published 3MF erases (see the map assignment above): + // the explicit !m_minimal_published guard keeps the tag-less guarantee from + // depending on that erase happening to run first. stream << " <" << METADATA_TAG << " name=\"" << ORCASLICER_TAG << "\">" << xml_escape(SoftFever_VERSION) << "\n"; } @@ -7648,6 +7677,19 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) return true; } + bool _BBS_3MF_Exporter::_add_cad_recipe_file_to_archive(mz_zip_archive& archive, Model& model) + { + if (model.cad_recipe.empty()) + return true; + if (!mz_zip_writer_add_mem(&archive, ORCA_CAD_RECIPE_FILE.c_str(), + (const void*)model.cad_recipe.data(), model.cad_recipe.length(), + MZ_DEFAULT_COMPRESSION)) { + add_error("Unable to add CAD recipe file to archive"); + return false; + } + return true; + } + bool _BBS_3MF_Exporter::_add_layer_config_ranges_file_to_archive(mz_zip_archive& archive, Model& model) { std::string out = ""; @@ -8834,7 +8876,7 @@ public: auto model = object.get_model(); auto o = m_temp_model.add_object(object); int backup_id = model->get_object_backup_id(object); - push_task({ AddObject, (size_t) backup_id, object.get_model()->get_backup_path(), o, 1 }); + push_task({ AddObject, (size_t) backup_id, object.get_model()->get_backup_path(), o, { 1 } }); } void remove_object_mesh(ModelObject& object) { @@ -8844,7 +8886,7 @@ public: void backup_soon() { boost::lock_guard lock(m_mutex); m_other_changes_backup = true; - m_tasks.push_back({ Backup, 0, std::string(), nullptr, ++m_task_seq }); + m_tasks.push_back({ Backup, 0, std::string(), nullptr, { ++m_task_seq } }); m_cond.notify_all(); } @@ -8862,7 +8904,7 @@ public: m_ui_tasks.clear(); m_tasks.clear(); } - m_tasks.push_back({ RemoveBackup, model.id().id, model.get_backup_path(), nullptr, removeAll }); + m_tasks.push_back({ RemoveBackup, model.id().id, model.get_backup_path(), nullptr, { removeAll } }); ++m_task_seq; if (model.is_need_backup()) { m_other_changes = false; @@ -9077,7 +9119,7 @@ public: else m_cond.wait(lock); if (m_interval > 0 && boost::get_system_time() > m_next_backup) { - m_tasks.push_back({ Backup, 0, std::string(), nullptr, ++m_task_seq }); + m_tasks.push_back({ Backup, 0, std::string(), nullptr, { ++m_task_seq } }); m_next_backup += boost::posix_time::seconds(m_interval); // Maybe wakeup from power sleep if (m_next_backup < boost::get_system_time()) @@ -9173,6 +9215,126 @@ std::string bbs_3mf_get_thumbnail(const char *path) return data; } +namespace { + +// Parses just the model-file elements, mirroring the importer's +// _handle_start_metadata/_handle_end_metadata (attribute-order independent, entity-unescaped, +// whitespace tolerant). Stops the parser as soon as the published flag node is read so the +// geometry/resources that follow are skipped, which keeps the per-file cost small. +struct PublishedXmlProbe +{ + XML_Parser parser{nullptr}; + bool in_metadata{false}; + bool found{false}; + bool published{false}; + std::string curr_name; + std::string curr_value; + + static std::string attribute(const char** attrs, const char* key) + { + if (attrs == nullptr) + return std::string(); + // expat hands the attrs as a NULL-terminated {name, value, ...} array. + for (unsigned int a = 0; attrs[a] != nullptr; a += 2) + if (::strcmp(attrs[a], key) == 0 && attrs[a + 1] != nullptr) + return attrs[a + 1]; + return std::string(); + } + + static void XMLCALL start(void* user_data, const char* name, const char** attrs) + { + auto* self = static_cast(user_data); + if (::strcmp(name, METADATA_TAG) == 0) { + self->in_metadata = true; + self->curr_name = attribute(attrs, NAME_ATTR); + self->curr_value.clear(); + } else { + self->in_metadata = false; + } + } + + static void XMLCALL characters(void* user_data, const XML_Char* s, int len) + { + auto* self = static_cast(user_data); + if (self->in_metadata) + self->curr_value.append(s, len); + } + + static void XMLCALL end(void* user_data, const char* name) + { + auto* self = static_cast(user_data); + if (!self->in_metadata || ::strcmp(name, METADATA_TAG) != 0) + return; + self->in_metadata = false; + if (self->curr_name == ORCA_PUBLISHED_TAG) { + self->published = is_published_3mf_flag(xml_unescape(self->curr_value)); + self->found = true; + if (self->parser != nullptr) + XML_StopParser(self->parser, false); + } + } +}; + +} // namespace + +bool bbs_3mf_is_published(const std::string &path) +{ + mz_zip_archive archive; + mz_zip_zero_struct(&archive); + + struct close_lock + { + mz_zip_archive *archive; + void close() + { + if (archive) { + close_zip_reader(archive); + archive = nullptr; + } + } + ~close_lock() { close(); } + } lock{&archive}; + + if (!open_zip_reader(&archive, path)) + return false; + + // Read just the model XML (the metadata node sits before the resources, so the probe below + // stops early) rather than by a raw substring match; no geometry parsing. + int index = mz_zip_reader_locate_file(&archive, MODEL_FILE.c_str(), nullptr, 0); + if (index < 0) + return false; + mz_zip_archive_file_stat stat; + if (!mz_zip_reader_file_stat(&archive, index, &stat)) + return false; + std::string xml(stat.m_uncomp_size, '\0'); + if (!mz_zip_reader_extract_to_mem(&archive, index, xml.data(), xml.size(), 0)) + return false; + + XML_Parser parser = XML_ParserCreate(nullptr); + if (parser == nullptr) + return false; + + PublishedXmlProbe probe; + probe.parser = parser; + XML_SetUserData(parser, &probe); + XML_SetElementHandler(parser, PublishedXmlProbe::start, PublishedXmlProbe::end); + XML_SetCharacterDataHandler(parser, PublishedXmlProbe::characters); + // Never resolve external entities from a file we are only probing. + XML_SetExternalEntityRefHandler(parser, nullptr); + XML_SetEntityDeclHandler(parser, nullptr); + + const XML_Status status = XML_Parse(parser, xml.data(), static_cast(xml.size()), 1); + // XML_StopParser(parser, false) from the end handler makes XML_Parse return + // XML_STATUS_ERROR with XML_ERROR_ABORTED - treat that as success (we stopped on the flag). + const bool parse_ok = (status == XML_STATUS_OK) || + (XML_GetErrorCode(parser) == XML_ERROR_ABORTED && probe.found); + XML_ParserFree(parser); + + if (!parse_ok) + return false; + return probe.published; +} + bool load_gcode_3mf_from_stream(std::istream &data, DynamicPrintConfig *config, Model *model, PlateDataPtrs *plate_data_list, Semver *file_version) { CNumericLocalesSetter locales_setter; diff --git a/src/libslic3r/Format/bbs_3mf.hpp b/src/libslic3r/Format/bbs_3mf.hpp index 7f5bb8c78d..768ae7bcfe 100644 --- a/src/libslic3r/Format/bbs_3mf.hpp +++ b/src/libslic3r/Format/bbs_3mf.hpp @@ -159,12 +159,28 @@ enum class SaveStrategy SkipAuxiliary = 1 << 9, UseLoadedId = 1 << 10, ShareMesh = 1 << 11, + // Keep this separate from SplitModel, which uses the 0x1000 bit as part of its + // production-extension value. + MinimalPublished = 1 << 13, SplitModel = 0x1000 | ProductionExt, Encrypted = SecureContentExt | SplitModel, Backup = 0x10000 | WithGcode | Silence | SkipStatic | SplitModel, }; +// Model metadata keys of a "published" 3MF (see MinimalPublished): the flag marks a minimal, +// tag-less publish export, the others carry the author-selected settings payload. Namespaced +// with the "orca_published" prefix because metadata_items round-trips verbatim through other +// slicers, where a bare "published" key could collide. +inline constexpr const char *ORCA_PUBLISHED_TAG = "orca_published"; +inline constexpr const char *ORCA_PUBLISHED_KEYS_TAG = "orca_published_keys"; +inline constexpr const char *ORCA_PUBLISHED_MATERIAL_TAG = "orca_published_material_keys"; +inline constexpr const char *ORCA_PUBLISHED_CONFIG_TAG = "orca_published_config"; + +// Published files are produced with "1". The importer and the GUI loader both gate on this +// exact value, so a "0"/"false"/unknown value is rejected consistently. +bool is_published_3mf_flag(const std::string &value); + inline SaveStrategy operator | (SaveStrategy lhs, SaveStrategy rhs) { using T = std::underlying_type_t ; @@ -277,6 +293,9 @@ extern bool load_bbs_3mf(const char* path, DynamicPrintConfig* config, ConfigSub extern std::string bbs_3mf_get_thumbnail(const char * path); +// Lightweight check: does this 3mf carry the "published" (orca_published == "1") marker? Only reads the 3D/3dmodel.model metadata node +extern bool bbs_3mf_is_published(const std::string &path); + extern bool load_gcode_3mf_from_stream(std::istream & data, DynamicPrintConfig* config, Model* model, PlateDataPtrs* plate_data_list, Semver* file_version); diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index e9cdb620e0..1f4120a0bb 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1,5 +1,6 @@ #include "BoundingBox.hpp" #include "Config.hpp" +#include "GCode/WipePathHelpers.hpp" #include "GCodeWriter.hpp" #include "Polygon.hpp" #include "PrintConfig.hpp" @@ -7,6 +8,7 @@ #include "I18N.hpp" #include "GCode.hpp" #include "Exception.hpp" +#include "LifecycleEvents.hpp" #include "ExtrusionEntity.hpp" #include "EdgeGrid.hpp" #include "Geometry/ConvexHull.hpp" @@ -438,7 +440,6 @@ static std::vector get_path_of_change_filament(const Print& print) auto& writer = gcodegen.writer(); auto& config = gcodegen.config(); auto extruder = writer.filament(); - auto extruder_id = extruder->extruder_id(); auto last_pos = gcodegen.last_pos(); // Declare & initialize retraction lengths @@ -475,13 +476,13 @@ static std::vector get_path_of_change_filament(const Print& print) wipe_speed = std::max(wipe_speed, 10.0); // Process wipe path & calculate wipe path length - double wipe_dist = scale_(config.wipe_distance.get_at(extruder_id)); + double wipe_dist = scale_(config.wipe_distance.get_at(extruder->config_index())); Polyline wipe_path = {last_pos}; wipe_path.append(this->path.points.begin() + 1, this->path.points.end()); double wipe_path_length = std::min(wipe_path.length(), wipe_dist); // Calculate the maximum retraction amount during wipe - retraction_length_during_wipe = config.retraction_speed.get_at(extruder_id) * + retraction_length_during_wipe = config.retraction_speed.get_at(extruder->config_index()) * unscale_(wipe_path_length) / wipe_speed; // If the maximum retraction amount during wipe is too small, @@ -564,6 +565,16 @@ static std::vector get_path_of_change_filament(const Print& print) return default_value; } + // Orca: rebuild the stored wipe path while preserving Polyline's boundary deduplication. + void Wipe::update_path(const ExtrusionPaths &paths, bool reverse) + { + reset_path(); + for (const ExtrusionPath& extrusion_path : paths) + path.append(extrusion_path.polyline.to_polyline()); + if (reverse) + path.reverse(); + } + std::string Wipe::wipe(GCode& gcodegen,double length, bool toolchange, bool is_last) { std::string gcode; @@ -616,14 +627,11 @@ static std::vector get_path_of_change_filament(const Print& print) if (gcodegen.enable_cooling_markers() && !is_last) cooling_mark = /*gcodegen.config().role_based_wipe_speed ? ";_EXTERNAL_PERIMETER" : */";_WIPE"; + // Orca: set speed once because wipe_speed is constant for all segments. gcode += gcodegen.writer().set_speed(_wipe_speed * 60, "", cooling_mark); for (const Line& line : wipe_path.lines()) { double segment_length = line.length(); double dE = length * (segment_length / wipe_dist); - //BBS: fix this FIXME - //FIXME one shall not generate the unnecessary G1 Fxxx commands, here wipe_speed is a constant inside this cycle. - // Is it here for the cooling markers? Or should it be outside of the cycle? - //gcode += gcodegen.writer().set_speed(wipe_speed * 60, "", gcodegen.enable_cooling_markers() ? ";_WIPE" : ""); gcode += gcodegen.writer().extrude_to_xy( gcodegen.point_to_gcode(line.b), -dE, @@ -962,6 +970,27 @@ static std::vector get_path_of_change_filament(const Print& print) return gcode; } + // A folded tower layer is thicker than the object layer it sits on, so the height process_layer + // emitted is not the tower's. Both writers declare one, but each hardcodes a tag dialect - Type 1 + // forces s_IsBBLPrinter and writes "; LAYER_HEIGHT:", Type 2 writes ";HEIGHT:" - and the processor + // reads only its printer's, so a Type 1 tower on a non-BBL printer loses it and the merged layer + // is drawn and costed as a thin one. Declare it here, where the printer is known, unless the tower + // already wrote the right tag. _extrude puts the object's height back on the next object path, + // since process_layer forces the role to erWipeTower on any layer with a tower. + std::string WipeTowerIntegration::tower_height_tag(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, + const std::string &tcr_gcode) const + { + const std::string tag = ";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Height); + if (! m_sparse_layers_combined || std::abs(gcodegen.m_last_height - tcr.layer_height) <= EPSILON || + tcr_gcode.find(tag) != std::string::npos) + return {}; + // Keep m_last_height what the G-code last declared, so a second visit does not repeat it. + gcodegen.m_last_height = tcr.layer_height; + char buf[64]; + sprintf(buf, "%s%g\n", tag.c_str(), tcr.layer_height); + return buf; + } + std::string WipeTowerIntegration::append_tcr(GCode& gcodegen, const WipeTower::ToolChangeResult& tcr, int new_filament_id, double z) const { if (new_filament_id != -1 && new_filament_id != tcr.new_tool) @@ -1021,11 +1050,21 @@ static std::vector get_path_of_change_filament(const Print& print) double current_z = gcodegen.writer().get_position().z(); if (z == -1.) // in case no specific z was provided, print at current_z pos z = current_z; - if (!is_approx(z, current_z)) { + // Orca: wipe_tower_no_sparse_layers crash guard. With sparse layers skipped the tower is + // compacted far below the object, so descending to it is only safe once the nozzle is parked + // over the tower - which is what the is_finish_first travel above does. Otherwise the nozzle + // is still over the model and this descent would drive it into the print, so defer it to the + // re-descents below, which run after the travel to the tower. + const bool defer_compacted_descend = m_sparse_layers_skipped + && !tcr.priming && !tcr.is_finish_first && (current_z - z) > EPSILON; + if (!is_approx(z, current_z) && !defer_compacted_descend) { gcode += gcodegen.writer().retract(); gcode += gcodegen.writer().travel_to_z(z, "Travel down to the last wipe tower layer."); gcode += gcodegen.writer().unretract(); } + // Tower compacted below the object, so any extrusion emitted without an explicit z has to be + // pulled back down to it first. + const bool compacted_below_object = m_sparse_layers_skipped && z >= 0. && (tcr.print_z - z) > EPSILON; // Process the end filament gcode. bool add_change_filament_624 = false; @@ -1078,11 +1117,23 @@ static std::vector get_path_of_change_filament(const Print& print) std::string nozzle_change_gcode_trans; if (is_nozzle_change) { // move to start_pos before nozzle change + // Orca: travel_to() lifts to the object layer height to clear the print. That lift is + // needed when arriving from the model, but is a wasted full-height Z bounce when the + // nozzle already sits on the compacted tower, so travel at the compacted z instead. + const bool compact_intower_nc_travel = compacted_below_object + && (tcr.print_z - gcodegen.writer().get_position().z()) > EPSILON; std::string start_pos_str; start_pos_str = gcodegen.travel_to(wipe_tower_point_to_object_point(gcodegen, transform_wt_pt(tcr.nozzle_change_result.start_pos) + plate_origin_2d), erMixed, - "Move to nozzle change start pos"); + "Move to nozzle change start pos", compact_intower_nc_travel ? z : DBL_MAX); check_add_eol(start_pos_str); nozzle_change_gcode_trans += start_pos_str; + // The nozzle-change wipe below carries no explicit z, so it would extrude at the object + // layer height and float above the compacted tower. Descend unless the travel stayed down. + if (!compact_intower_nc_travel && compacted_below_object) { + std::string nc_z_descend = gcodegen.writer().travel_to_z(z, "Descend to compacted wipe tower z (no sparse layers)"); + check_add_eol(nc_z_descend); + nozzle_change_gcode_trans += nc_z_descend; + } nozzle_change_gcode_trans += gcodegen.unretract(); nozzle_change_gcode_trans += transform_gcode(tcr.nozzle_change_result.gcode, tcr.nozzle_change_result.start_pos, wipe_tower_offset, wipe_tower_rotation); gcodegen.set_last_pos(wipe_tower_point_to_object_point(gcodegen, transform_wt_pt(tcr.nozzle_change_result.end_pos) + plate_origin_2d)); @@ -1421,6 +1472,15 @@ static std::vector get_path_of_change_filament(const Print& print) start_filament_gcode_str = start_filament_gcode_str + wipe_next_start_point_str + toolchange_unretract_str; + // Orca: the custom change_filament_gcode lifts to the object layer height and the unretract + // de-hops back to it, so every tower extrusion emitted after it (purge moves, and the wall + // when it prints after the toolchange) would float above the compacted tower. Descend first. + if (compacted_below_object) { + std::string z_descend = gcodegen.writer().travel_to_z(z, "Descend to compacted wipe tower z (no sparse layers)"); + check_add_eol(z_descend); + start_filament_gcode_str += z_descend; + } + // Insert the end filament, toolchange, and start filament gcode into the generated gcode. DynamicConfig config; config.set_key_value("filament_end_gcode", new ConfigOptionString(end_filament_gcode_str)); @@ -1428,6 +1488,7 @@ static std::vector get_path_of_change_filament(const Print& print) config.set_key_value("filament_start_gcode", new ConfigOptionString(start_filament_gcode_str)); std::string tcr_gcode, tcr_escaped_gcode = gcodegen.placeholder_parser_process("tcr_rotated_gcode", tcr_rotated_gcode, new_filament_id, &config); unescape_string_cstyle(tcr_escaped_gcode, tcr_gcode); + gcode += tower_height_tag(gcodegen, tcr, tcr_gcode); gcode += tcr_gcode; // Count the toolchange only when the emitted block really changed the tool — // tower visits without a filament change must not advance the ordinal. @@ -1760,6 +1821,7 @@ static std::vector get_path_of_change_filament(const Print& print) std::string tcr_gcode, tcr_escaped_gcode = gcodegen.placeholder_parser_process("tcr_rotated_gcode", tcr_rotated_gcode, new_extruder_id, &config); unescape_string_cstyle(tcr_escaped_gcode, tcr_gcode); + gcode += tower_height_tag(gcodegen, tcr, tcr_gcode); gcode += tcr_gcode; check_add_eol(toolchange_gcode_str); @@ -1907,12 +1969,11 @@ static std::vector get_path_of_change_filament(const Print& print) // Calculate where the wipe tower layer will be printed. -1 means that print z will not change, // resulting in a wipe tower with sparse layers. double wipe_tower_z = -1; - bool ignore_sparse = false; - if (gcodegen.config().wipe_tower_no_sparse_layers.value) { + // Folded into a later, thicker layer that prints at its own z: nothing to emit. + bool ignore_sparse = wipe_tower_layer_is_combined_away(m_tool_changes[m_layer_idx]); + if (m_sparse_layers_skipped) { wipe_tower_z = m_last_wipe_tower_print_z; - ignore_sparse = (m_tool_changes[m_layer_idx].size() == 1 && - m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool && - m_layer_idx != 0); + ignore_sparse = wipe_tower_layer_is_sparse(m_tool_changes[m_layer_idx]) && m_layer_idx != 0; if (m_tool_change_idx == 0 && !ignore_sparse) wipe_tower_z = m_last_wipe_tower_print_z + m_tool_changes[m_layer_idx].front().layer_height; } @@ -1927,13 +1988,11 @@ static std::vector get_path_of_change_filament(const Print& print) // Calculate where the wipe tower layer will be printed. -1 means that print z will not change, // resulting in a wipe tower with sparse layers. double wipe_tower_z = -1; - bool ignore_sparse = false; - if (gcodegen.config().wipe_tower_no_sparse_layers.value) { - wipe_tower_z = m_last_wipe_tower_print_z; - ignore_sparse = (m_tool_changes[m_layer_idx].size() == 1 && - m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool); - if (m_tool_change_idx == 0 && !ignore_sparse) - wipe_tower_z = m_last_wipe_tower_print_z + m_tool_changes[m_layer_idx].front().layer_height; + // Folded into a later, thicker layer that prints at its own z: nothing to emit. + bool ignore_sparse = wipe_tower_layer_is_combined_away(m_tool_changes[m_layer_idx]); + if (m_sparse_layers_skipped) { + ignore_sparse = wipe_tower_layer_is_sparse(m_tool_changes[m_layer_idx]); + wipe_tower_z = m_compacted_tower_z[m_layer_idx]; } if ((m_enable_timelapse_print || m_enable_wrapping_detection) && m_is_first_print) { @@ -1946,10 +2005,8 @@ static std::vector get_path_of_change_filament(const Print& print) if (!(size_t(m_tool_change_idx) < m_tool_changes[m_layer_idx].size())) throw Slic3r::RuntimeError("Wipe tower generation failed, possibly due to empty first layer."); - if (!ignore_sparse) { + if (!ignore_sparse) gcode += append_tcr(gcodegen, m_tool_changes[m_layer_idx][m_tool_change_idx++], extruder_id, wipe_tower_z); - m_last_wipe_tower_print_z = wipe_tower_z; - } } } @@ -1962,10 +2019,9 @@ static std::vector get_path_of_change_filament(const Print& print) if (m_layer_idx >= (int) m_tool_changes.size()) return true; - bool ignore_sparse = false; - if (gcodegen.config().wipe_tower_no_sparse_layers.value) { - ignore_sparse = (m_tool_changes[m_layer_idx].size() == 1 && m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool); - } + bool ignore_sparse = wipe_tower_layer_is_combined_away(m_tool_changes[m_layer_idx]); + if (m_sparse_layers_skipped) + ignore_sparse = wipe_tower_layer_is_sparse(m_tool_changes[m_layer_idx]); if ((m_enable_timelapse_print || m_enable_wrapping_detection) && m_is_first_print) { return false; @@ -2348,9 +2404,9 @@ namespace DoExport { static const unsigned int MAX_TAGS_COUNT = 5; std::vector> ret; - auto check = [&ret](const std::string& source, const std::string& gcode) { + auto check = [&ret, is_bbl_printer = print.is_BBL_printer()](const std::string& source, const std::string& gcode) { std::vector tags; - if (GCodeProcessor::contains_reserved_tags(gcode, MAX_TAGS_COUNT, tags)) { + if (GCodeProcessor::contains_reserved_tags(gcode, MAX_TAGS_COUNT, tags, is_bbl_printer)) { if (!tags.empty()) { size_t i = 0; while (ret.size() < MAX_TAGS_COUNT && i < tags.size()) { @@ -2446,6 +2502,15 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu m_writer.set_is_bbl_machine(print->is_BBL_printer()); print->set_started(psGCodeExport); + { + LifecycleEventContext ctx; + ctx.name = std::to_string(print->model().id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = path; + ctx.cancellation_check = [print]() { return print->canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportStarted, ctx); + } + // check if any custom gcode contains keywords used by the gcode processor to // produce time estimation and gcode toolpaths std::vector> validation_res = DoExport::validate_custom_gcode(*print); @@ -2481,12 +2546,23 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu m_processor.set_print(print); GCodeOutputStream file(boost::nowide::fopen(path_tmp.c_str(), "wb"), m_processor); if (! file.is_open()) { - BOOST_LOG_TRIVIAL(error) << std::string("G-code export to ") + path + " failed.\nCannot open the file for writing.\n" << std::endl; + std::string err_msg = std::string("G-code export to ") + path + " failed.\nCannot open the file for writing.\n"; + BOOST_LOG_TRIVIAL(error) << err_msg << std::endl; if (!fs::exists(folder)) { //fs::create_directory(folder); - BOOST_LOG_TRIVIAL(error) << "the parent path " + folder.string() +" is not there!!!" << std::endl; + std::string add_err_msg = "the parent path " + folder.string() +" is not there!!!"; + BOOST_LOG_TRIVIAL(error) << add_err_msg << std::endl; + err_msg += add_err_msg; } - throw Slic3r::RuntimeError(std::string("G-code export to ") + path + " failed.\nCannot open the file for writing.\n"); + { + LifecycleEventContext ctx; + ctx.name = std::to_string(print->model().id().id); + ctx.code = LifecycleEvtCode::Error; + ctx.msg = std::string(path) + "\n" + err_msg; + ctx.cancellation_check = [print]() { return print->canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } + throw Slic3r::RuntimeError(err_msg); } try { @@ -2497,11 +2573,19 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu boost::nowide::remove(path_tmp.c_str()); throw Slic3r::RuntimeError(std::string("G-code export to ") + path + " failed\nIs the disk full?\n"); } - } catch (std::exception & /* ex */) { + } catch (std::exception &ex) { // Rethrow on any exception. std::runtime_exception and CanceledException are expected to be thrown. // Close and remove the file. file.close(); boost::nowide::remove(path_tmp.c_str()); + { + LifecycleEventContext ctx; + ctx.name = std::to_string(print->model().id().id); + ctx.code = LifecycleEvtCode::Error; + ctx.msg = std::string(path) + "\n" + ex.what(); + ctx.cancellation_check = [print]() { return print->canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } throw; } file.close(); @@ -2607,6 +2691,14 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu std::error_code ret = rename_file(path_tmp, path); if (ret) { + { + LifecycleEventContext ctx; + ctx.name = std::to_string(print->model().id().id); + ctx.code = LifecycleEvtCode::Error; + ctx.msg = std::string(path) + "\nFailed to rename the output G-code file: " + ret.message(); + ctx.cancellation_check = [print]() { return print->canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } throw Slic3r::RuntimeError( std::string("Failed to rename the output G-code file from ") + path_tmp + " to " + path + '\n' + "error code " + ret.message() + '\n' + "Is " + path_tmp + " locked?" + '\n'); @@ -2617,7 +2709,16 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu BOOST_LOG_TRIVIAL(info) << "Exporting G-code finished" << log_memory_info(); print->set_done(psGCodeExport); - + + { + LifecycleEventContext ctx; + ctx.name = std::to_string(print->model().id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = path; + ctx.cancellation_check = [print]() { return print->canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } + // Orca: label_object_enabled reflects whether objects are labeled in the g-code (EXCLUDE_OBJECT / // M486), which is driven by exclude_object for every printer if(result != nullptr) @@ -2901,6 +3002,19 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato const bool skip_config_block = print.config().gcode_skip_config_block; const WipeTowerType wipe_tower_type = print.wipe_tower_type(); m_calib_config.clear(); + // Orca: Calibration overrides are reapplied after object/region settings in _extrude(). + // Keep inward wiping from masking retraction and pressure advance artifacts. + switch (print.calib_mode()) { + case CalibMode::Calib_PA_Line: + case CalibMode::Calib_PA_Pattern: + case CalibMode::Calib_PA_Tower: + case CalibMode::Calib_Auto_PA_Line: + case CalibMode::Calib_Retraction_tower: + m_calib_config.set_key_value("wipe_inward", new ConfigOptionBool(false)); + break; + default: + break; + } // resets analyzer's tracking data m_last_height = 0.f; m_last_layer_z = 0.f; @@ -2981,158 +3095,6 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato if (m_config.small_area_infill_flow_compensation.value && !m_config.small_area_infill_flow_compensation_model.empty()) m_small_area_infill_flow_compensator = make_unique(print.config()); - // Process file_start_gcode - written at the very top of the file, before any header - { - std::string top_gcode_template = print.config().file_start_gcode.value; - if (!top_gcode_template.empty()) { - DynamicConfig top_config; - // file_start_gcode runs before the parser copy that normally restores these, so set them here. - PlaceholderParser::update_timestamp(top_config); - PlaceholderParser::update_user_name(top_config); - top_config.set_key_value("print_time_sec", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Sec_Placeholder))); - top_config.set_key_value("used_filament_length", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Used_Filament_Length_Placeholder))); - std::string top_gcode = print.placeholder_parser().process(top_gcode_template, 0, &top_config); - if (!top_gcode.empty()) - file.writeln(top_gcode); - } - } - - // Orca: Don't output Header block if BTT thumbnail is identified in the list - // Get the thumbnails value as a string - std::string thumbnails_value = print.config().option("thumbnails")->value; - // search string for the BTT_TFT label - bool has_BTT_thumbnail = (thumbnails_value.find("BTT_TFT") != std::string::npos); - - if(!has_BTT_thumbnail){ - file.write_format("; HEADER_BLOCK_START\n"); - // Write information on the generator. - file.write_format("; generated by %s on %s\n", Slic3r::header_slic3r_generated().c_str(), Slic3r::Utils::local_timestamp().c_str()); - if (is_bbl_printers) - file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Estimated_Printing_Time_Placeholder).c_str()); - //BBS: total layer number - file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Total_Layer_Number_Placeholder).c_str()); - //Orca: extra check for bbl printer - if (is_bbl_printers) { - if (print.calib_params().mode == CalibMode::Calib_None) { // Don't support skipping in cali mode - // list all label_object_id with sorted order here - m_enable_exclude_object = true; - m_label_objects_ids.clear(); - m_label_objects_ids.reserve(print.num_object_instances()); - for (const PrintObject *print_object : print.objects()) - for (const PrintInstance &print_instance : print_object->instances()) - m_label_objects_ids.push_back(print_instance.model_instance->get_labeled_id()); - - std::sort(m_label_objects_ids.begin(), m_label_objects_ids.end()); - - std::string objects_id_list = "; model label id: "; - for (auto it = m_label_objects_ids.begin(); it != m_label_objects_ids.end(); it++) - objects_id_list += (std::to_string(*it) + (it != m_label_objects_ids.end() - 1 ? "," : "\n")); - file.writeln(objects_id_list); - } else { - m_enable_exclude_object = false; - m_label_objects_ids.clear(); - } - } - - { - std::string filament_density_list = "; filament_density: "; - (filament_density_list+=m_config.filament_density.serialize()) +='\n'; - file.writeln(filament_density_list); - - std::string filament_diameter_list = "; filament_diameter: "; - (filament_diameter_list += m_config.filament_diameter.serialize()) += '\n'; - file.writeln(filament_diameter_list); - - coordf_t max_height_z = -1; - for (const auto& object : print.objects()) - max_height_z = std::max(object->layers().back()->print_z, max_height_z); - - std::ostringstream max_height_z_tip; - max_height_z_tip<<"; max_z_height: " << std::fixed << std::setprecision(2) << max_height_z << '\n'; - file.writeln(max_height_z_tip.str()); - } - - { - auto used_filaments = print.get_slice_used_filaments(false); - std::ostringstream out; - out << "; filament: "; - for (size_t idx = 0; idx < used_filaments.size(); ++idx) { - if (idx != 0) - out << ','; - out << used_filaments[idx] + 1; - } - file.writeln(out.str()); - } - - file.write_format("; HEADER_BLOCK_END\n\n"); - } - - // BBS: write global config at the beginning of gcode file because printer - // need these config information - // Append full config, delimited by two 'phony' configuration keys - // CONFIG_BLOCK_START and CONFIG_BLOCK_END. The delimiters are structured - // as configuration key / value pairs to be parsable by older versions of - // PrusaSlicer G-code viewer. - { - if (is_bbl_printers && !skip_config_block) { - file.write("; CONFIG_BLOCK_START\n"); - std::string full_config; - append_full_config(print, full_config); - if (!full_config.empty()) - file.write(full_config); - - // SoftFever: write compatiple image - int first_layer_bed_temperature = get_bed_temperature(0, true, print.config().curr_bed_type); - file.write_format("; first_layer_bed_temperature = %d\n", - first_layer_bed_temperature); - file.write_format( - "; first_layer_temperature = %d\n", - print.config().nozzle_temperature_initial_layer.get_at(0)); - file.write("; CONFIG_BLOCK_END\n\n"); - } else if (thumbnail_cb != nullptr) { - // generate the thumbnails - auto [thumbnails, errors] = GCodeThumbnails::make_and_check_thumbnail_list(print.full_print_config()); - - if (errors != enum_bitmask()) { - std::string error_str = format("Invalid thumbnails value:"); - error_str += GCodeThumbnails::get_error_string(errors); - throw Slic3r::ExportError(error_str); - } - - if (!thumbnails.empty()) - GCodeThumbnails::export_thumbnails_to_file( - thumbnail_cb, print.get_plate_index(), thumbnails, [&file](const char* sz) { file.write(sz); }, [&print]() { print.throw_if_canceled(); }); - } - } - - - // Write some terse information on the slicing parameters. - const PrintObject *first_object = print.objects().front(); - const double layer_height = first_object->config().layer_height.value; - const double initial_layer_print_height = print.config().initial_layer_print_height.value; - for (size_t region_id = 0; region_id < print.num_print_regions(); ++ region_id) { - const PrintRegion ®ion = print.get_print_region(region_id); - file.write_format("; external perimeters extrusion width = %.2fmm\n", region.flow(*first_object, frExternalPerimeter, layer_height).width()); - file.write_format("; perimeters extrusion width = %.2fmm\n", region.flow(*first_object, frPerimeter, layer_height).width()); - file.write_format("; infill extrusion width = %.2fmm\n", region.flow(*first_object, frInfill, layer_height).width()); - file.write_format("; solid infill extrusion width = %.2fmm\n", region.flow(*first_object, frSolidInfill, layer_height).width()); - file.write_format("; top infill extrusion width = %.2fmm\n", region.flow(*first_object, frTopSolidInfill, layer_height).width()); - if (print.has_support_material()) - file.write_format("; support material extrusion width = %.2fmm\n", support_material_flow(first_object).width()); - if (print.config().initial_layer_line_width.value > 0) - file.write_format("; first layer extrusion width = %.2fmm\n", region.flow(*first_object, frPerimeter, initial_layer_print_height, true).width()); - file.write_format("\n"); - } - - file.write_format("; EXECUTABLE_BLOCK_START\n"); - - // SoftFever - if( m_enable_exclude_object) - file.write(set_object_info(&print)); - - // adds tags for time estimators - file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::First_Line_M73_Placeholder).c_str()); - // Prepare the helper object for replacing placeholders in custom G-code and output filename. m_placeholder_parser_integration.parser = print.placeholder_parser(); m_placeholder_parser_integration.parser.update_timestamp(); @@ -3267,16 +3229,6 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // Orca: Initialise AdaptivePA processor filter m_pa_processor = std::make_unique(*this, tool_ordering.all_extruders()); - // Emit machine envelope limits for the Marlin firmware. - this->print_machine_envelope(file, print); - - // Disable fan. - if (m_config.auxiliary_fan.value && print.config().close_fan_the_first_x_layers.get_at(initial_extruder_id)) { - file.write(m_writer.set_fan(0)); - //BBS: disable additional fan - file.write(m_writer.set_additional_fan(0)); - } - // Update output variables after the extruders were initialized. m_placeholder_parser_integration.init(m_writer); @@ -3555,7 +3507,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato auto used_filaments = print.get_slice_used_filaments(false); this->placeholder_parser().set("is_all_bbl_filament", std::all_of(used_filaments.begin(), used_filaments.end(), [&](auto idx) { - return m_config.filament_vendor.values[idx] == "Bambu Lab"; + return m_config.filament_vendor.get_at(idx) == "Bambu Lab"; })); //add during_print_exhaust_fan_speed @@ -3572,7 +3524,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato this->placeholder_parser().set("outer_wall_volumetric_speed", new ConfigOptionFloat(outer_wall_volumetric_speed)); auto first_layer_filaments = print.get_slice_used_filaments(true); - bool has_tpu_in_first_layer = std::any_of(first_layer_filaments.begin(), first_layer_filaments.end(), [&](unsigned int idx) { return m_config.filament_type.values[idx] == "TPU"; }); + bool has_tpu_in_first_layer = std::any_of(first_layer_filaments.begin(), first_layer_filaments.end(), [&](unsigned int idx) { return m_config.filament_type.get_at(idx) == "TPU"; }); this->placeholder_parser().set("has_tpu_in_first_layer", new ConfigOptionBool(has_tpu_in_first_layer)); if (print.calib_params().mode == CalibMode::Calib_PA_Line) { @@ -3618,12 +3570,167 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato this->placeholder_parser().set("hold_chamber_temp_for_flat_print", new ConfigOptionBool(hold_chamber_temp_for_flat_print)); } + this->placeholder_parser().set("print_time_total_sec", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Total_Sec_Placeholder))); + this->placeholder_parser().set("print_time_day", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Day_Placeholder))); + this->placeholder_parser().set("print_time_hour", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Hour_Placeholder))); + this->placeholder_parser().set("print_time_minute", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Minute_Placeholder))); this->placeholder_parser().set("print_time_sec", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Sec_Placeholder))); this->placeholder_parser().set("used_filament_length", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Used_Filament_Length_Placeholder))); // Sync variant-mapped params into placeholder_parser before processing start gcode update_placeholder_parser_with_variant_params(); + // Expand the file header only after the start-up placeholders and writer state are ready. + // Use the regular custom G-code path so invalid placeholders report the template name. + if (!print.config().file_start_gcode.value.empty()) + file.writeln(this->placeholder_parser_process("file_start_gcode", print.config().file_start_gcode.value, initial_extruder_id)); + + // Orca: Don't output Header block if BTT thumbnail is identified in the list + // Get the thumbnails value as a string + std::string thumbnails_value = print.config().option("thumbnails")->value; + // search string for the BTT_TFT label + bool has_BTT_thumbnail = (thumbnails_value.find("BTT_TFT") != std::string::npos); + + if(!has_BTT_thumbnail){ + file.write_format("; HEADER_BLOCK_START\n"); + // Write information on the generator. + file.write_format("; generated by %s on %s\n", Slic3r::header_slic3r_generated().c_str(), Slic3r::Utils::local_timestamp().c_str()); + if (is_bbl_printers) + file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Estimated_Printing_Time_Placeholder).c_str()); + //BBS: total layer number + file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Total_Layer_Number_Placeholder).c_str()); + //Orca: extra check for bbl printer + if (is_bbl_printers) { + if (print.calib_params().mode == CalibMode::Calib_None) { // Don't support skipping in cali mode + // list all label_object_id with sorted order here + m_enable_exclude_object = true; + m_label_objects_ids.clear(); + m_label_objects_ids.reserve(print.num_object_instances()); + for (const PrintObject *print_object : print.objects()) + for (const PrintInstance &print_instance : print_object->instances()) + m_label_objects_ids.push_back(print_instance.model_instance->get_labeled_id()); + + std::sort(m_label_objects_ids.begin(), m_label_objects_ids.end()); + + std::string objects_id_list = "; model label id: "; + for (auto it = m_label_objects_ids.begin(); it != m_label_objects_ids.end(); it++) + objects_id_list += (std::to_string(*it) + (it != m_label_objects_ids.end() - 1 ? "," : "\n")); + file.writeln(objects_id_list); + } else { + m_enable_exclude_object = false; + m_label_objects_ids.clear(); + } + } + + { + std::string filament_density_list = "; filament_density: "; + (filament_density_list+=m_config.filament_density.serialize()) +='\n'; + file.writeln(filament_density_list); + + std::string filament_diameter_list = "; filament_diameter: "; + (filament_diameter_list += m_config.filament_diameter.serialize()) += '\n'; + file.writeln(filament_diameter_list); + + coordf_t max_height_z = -1; + for (const auto& object : print.objects()) + max_height_z = std::max(object->layers().back()->print_z, max_height_z); + + std::ostringstream max_height_z_tip; + max_height_z_tip<<"; max_z_height: " << std::fixed << std::setprecision(2) << max_height_z << '\n'; + file.writeln(max_height_z_tip.str()); + } + + { + auto used_filaments = print.get_slice_used_filaments(false); + std::ostringstream out; + out << "; filament: "; + for (size_t idx = 0; idx < used_filaments.size(); ++idx) { + if (idx != 0) + out << ','; + out << used_filaments[idx] + 1; + } + file.writeln(out.str()); + } + + file.write_format("; HEADER_BLOCK_END\n\n"); + } + + // BBS: write global config at the beginning of gcode file because printer + // need these config information + // Append full config, delimited by two 'phony' configuration keys + // CONFIG_BLOCK_START and CONFIG_BLOCK_END. The delimiters are structured + // as configuration key / value pairs to be parsable by older versions of + // PrusaSlicer G-code viewer. + { + if (is_bbl_printers && !skip_config_block) { + file.write("; CONFIG_BLOCK_START\n"); + std::string full_config; + append_full_config(print, full_config); + if (!full_config.empty()) + file.write(full_config); + + // SoftFever: write compatiple image + int first_layer_bed_temperature = get_bed_temperature(0, true, print.config().curr_bed_type); + file.write_format("; first_layer_bed_temperature = %d\n", + first_layer_bed_temperature); + file.write_format( + "; first_layer_temperature = %d\n", + print.config().nozzle_temperature_initial_layer.get_at(0)); + file.write("; CONFIG_BLOCK_END\n\n"); + } else if (thumbnail_cb != nullptr) { + // generate the thumbnails + auto [thumbnails, errors] = GCodeThumbnails::make_and_check_thumbnail_list(print.full_print_config()); + + if (errors != enum_bitmask()) { + std::string error_str = format("Invalid thumbnails value:"); + error_str += GCodeThumbnails::get_error_string(errors); + throw Slic3r::ExportError(error_str); + } + + if (!thumbnails.empty()) + GCodeThumbnails::export_thumbnails_to_file( + thumbnail_cb, print.get_plate_index(), thumbnails, [&file](const char* sz) { file.write(sz); }, [&print]() { print.throw_if_canceled(); }); + } + } + + + // Write some terse information on the slicing parameters. + const PrintObject *first_object = print.objects().front(); + const double layer_height = first_object->config().layer_height.value; + const double initial_layer_print_height = print.config().initial_layer_print_height.value; + for (size_t region_id = 0; region_id < print.num_print_regions(); ++ region_id) { + const PrintRegion ®ion = print.get_print_region(region_id); + file.write_format("; external perimeters extrusion width = %.2fmm\n", region.flow(*first_object, frExternalPerimeter, layer_height).width()); + file.write_format("; perimeters extrusion width = %.2fmm\n", region.flow(*first_object, frPerimeter, layer_height).width()); + file.write_format("; infill extrusion width = %.2fmm\n", region.flow(*first_object, frInfill, layer_height).width()); + file.write_format("; solid infill extrusion width = %.2fmm\n", region.flow(*first_object, frSolidInfill, layer_height).width()); + file.write_format("; top infill extrusion width = %.2fmm\n", region.flow(*first_object, frTopSolidInfill, layer_height).width()); + if (print.has_support_material()) + file.write_format("; support material extrusion width = %.2fmm\n", support_material_flow(first_object).width()); + if (print.config().initial_layer_line_width.value > 0) + file.write_format("; first layer extrusion width = %.2fmm\n", region.flow(*first_object, frPerimeter, initial_layer_print_height, true).width()); + file.write_format("\n"); + } + + file.write_format("; EXECUTABLE_BLOCK_START\n"); + + // SoftFever + if( m_enable_exclude_object) + file.write(set_object_info(&print)); + + // adds tags for time estimators + file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::First_Line_M73_Placeholder).c_str()); + + // Emit machine envelope limits for the Marlin firmware. + this->print_machine_envelope(file, print); + + // Disable fan. + if (m_config.auxiliary_fan.value && print.config().close_fan_the_first_x_layers.get_at(initial_extruder_id)) { + file.write(m_writer.set_fan(0)); + //BBS: disable additional fan + file.write(m_writer.set_additional_fan(0)); + } + std::string machine_start_gcode = this->placeholder_parser_process("machine_start_gcode", print.config().machine_start_gcode.value, initial_extruder_id); if (print.config().gcode_flavor != gcfKlipper) { // Set bed temperature if the start G-code does not contain any bed temp control G-codes. @@ -5585,7 +5692,7 @@ LayerResult GCode::process_layer( m_layer = &layer; m_object_layer_over_raft = false; - if (!m_config.time_lapse_gcode.value.empty() && !is_BBL_Printer()) { + if (!need_insert_timelapse_gcode_for_traditional && !m_config.time_lapse_gcode.value.empty() && !is_BBL_Printer()) { DynamicConfig config; config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index)); config.set_key_value("layer_z", new ConfigOptionFloat(print_z)); @@ -6308,8 +6415,13 @@ LayerResult GCode::process_layer( all_label_ids.insert(inst.label_object_id); break; } - std::vector filament_instances_id(all_label_ids.begin(), all_label_ids.end()); - m_filament_instances_code = _encode_label_ids_to_base64(filament_instances_id); + // Orca: A scheduled extruder may have no object instances on this layer. + // Clear any pending mask so it cannot be emitted for the wrong toolchange. + m_filament_instances_code.clear(); + if (!all_label_ids.empty()) { + std::vector filament_instances_id(all_label_ids.begin(), all_label_ids.end()); + m_filament_instances_code = _encode_label_ids_to_base64(filament_instances_id); + } } // The inline _extrude hook may already have taken the snapshot mid-extrusion on a @@ -6555,6 +6667,8 @@ LayerResult GCode::process_layer( } // Then print infill gcode += this->extrude_infill(print, by_region_specific, false); + // Then the walls left hanging in mid air, now that the infill can anchor them + gcode += this->extrude_perimeters(print, by_region_specific, first_layer, false, true); // Then print perimeters of regions that has is_infill_first == true gcode += this->extrude_perimeters(print, by_region_specific, first_layer, true); } @@ -6850,6 +6964,7 @@ LayerResult GCode::process_layer( has_insert_timelapse_gcode = true; } gcode += this->extrude_infill(print, by_region_specific, false); + gcode += this->extrude_perimeters(print, by_region_specific, first_layer, false, true); gcode += this->extrude_perimeters(print, by_region_specific, first_layer, true); // ironing gcode += this->extrude_infill(print, by_region_specific, true); @@ -7199,7 +7314,8 @@ std::string GCode::extrude_loop(const ExtrusionLoop& loop_ref, const std::string& description, double speed, const ExtrusionEntitiesPtr& region_perimeters, - const Point* start_point) + const Point* start_point, + const WipeInwardSupport* wipe_support) { // get a copy; don't modify the orientation of the original loop object otherwise // next copies (if any) would not detect the correct orientation @@ -7429,63 +7545,80 @@ std::string GCode::extrude_loop(const ExtrusionLoop& loop_ref, m_processor.result().print_statistics.total_seam_scarf_distance += static_cast(seam_scarf_distance_mm); } - // BBS + // Orca: share the post-extrusion nozzle position between wipe_inward and wipe_on_loops. + const bool is_ccw = loop.is_counter_clockwise(); + + std::optional wipe_on_loops_dest; + if (m_config.wipe_on_loops.value && paths.back().role() == erExternalPerimeter && + m_layer != nullptr && m_config.wall_loops.value > 1 && paths.front().size() >= 2 && + paths.back().polyline.points.size() >= 2) + wipe_on_loops_dest = wipe_on_loops_destination(paths, scale_(nozzle_diameter), is_ccw, is_hole); + + bool wipe_inward_applied = false; + // Orca: store loop paths in print order because inward offsets use this orientation. if (m_wipe.enable && FILAMENT_CONFIG(wipe)) { - m_wipe.path = Polyline(); - for (ExtrusionPath &path : paths) { - //BBS: Don't need to save duplicated point into wipe path - if (!m_wipe.path.empty() && !path.empty() && - m_wipe.path.last_point() == Point(path.first_point().x(), path.first_point().y())) { - // Convert Points3 to Points - for (auto it = path.polyline.points.begin() + 1; it != path.polyline.points.end(); ++it) - m_wipe.path.append(Point(it->x(), it->y())); - } else - m_wipe.path.append(path.polyline.to_polyline()); // TODO: don't limit wipe to last path + m_wipe.update_path(paths); + + // Orca: loop wipe paths retain print direction. Their material side is + // therefore left for CCW contours and right for CW contours, with the + // result inverted for holes. Only external perimeters are eligible. + // Calibration overrides are applied during extrusion, after the region + // context was created. Check the effective setting again at execution. + if (m_config.wipe_inward && m_config.wipe_inward_distance.value > 0. && + wipe_support != nullptr && !wipe_support->inner_lines.empty() && + // A loop's role is its first path's role. An overhanging start must + // not hide ordinary external-wall segments elsewhere in the loop. + std::any_of(paths.begin(), paths.end(), + [](const ExtrusionPath &path) { return is_external_perimeter(path.role()); }) && + m_wipe.path.points.size() >= 2) { + // Orca: use the actual extrusion width from the path, not the config + // value — outer_wall_line_width=0 (Auto) would make get_abs_value + // return 0 and silently disable the feature, and Arachne may produce + // a different width than the config default. + const double outer_wall_line_width = paths.front().width; + const double requested_offset = m_config.wipe_inward_distance.get_abs_value(outer_wall_line_width); + const double offset_dist = scale_(std::min(requested_offset, outer_wall_line_width)); + if (offset_dist > SCALED_EPSILON) { + const Point seam_start = paths.front().first_point(); + const Point seam_end = paths.back().last_point(); + const Point wipe_start = wipe_on_loops_dest.value_or(seam_end); + const double max_wipe_length = scale_(FILAMENT_CONFIG(wipe_distance)); + // Orca: Wipe::wipe() replaces points[0] with last_pos and executes + // from points[1]. The helper preserves that sentinel and atomically + // replaces the remaining points, or leaves the path untouched. + // Orca: a configured wall count does not guarantee that Arachne + // generated an adjacent wall for this particular loop. Only + // earlier entities are considered because later walls have + // not been printed yet (for example with Outer/Inner order). + // Inner walls determine the material side; every earlier wall + // remains available to validate the executable wipe path. + const double support_distance = scale_(std::max(nozzle_diameter, outer_wall_line_width)); + Polyline inward_path = m_wipe.path; + if (offset_wipe_path_toward_support( + inward_path, seam_start, seam_end, wipe_start, + wipe_offset_direction(is_ccw, is_hole), offset_dist, max_wipe_length, + wipe_support->inner_lines, wipe_support->printed_lines, + m_wipe.path.lines(), support_distance)) { + m_wipe.path = std::move(inward_path); + wipe_inward_applied = true; + } + } } } - // make a little move inwards before leaving loop - if (m_config.wipe_on_loops.value && paths.back().role() == erExternalPerimeter && m_layer != NULL && m_config.wall_loops.value > 1 && paths.front().size() >= 2 && paths.back().polyline.points.size() >= 3) { - // detect angle between last and first segment - // the side depends on the original winding order of the polygon (inwards for contours, outwards for holes) - //FIXME improve the algorithm in case the loop is tiny. - //FIXME improve the algorithm in case the loop is split into segments with a low number of points (see the Point b query). - const Point3 &a3 = paths.front().polyline.points[1]; // second point - Point a = Point(a3.x(), a3.y()); - const Point3 &b3 = *(paths.back().polyline.points.end()-3); // second to last point - Point b = Point(b3.x(), b3.y()); - if (is_hole == loop.is_counter_clockwise()) { - // swap points - Point c = a; a = b; b = c; - } - - double angle = paths.front().first_point().ccw_angle(a, b) / 3; - - // turn inwards if contour, turn outwards if hole - if (is_hole == loop.is_counter_clockwise()) angle *= -1; - - // create the destination point along the first segment and rotate it - // we make sure we don't exceed the segment length because we don't know - // the rotation of the second segment so we might cross the object boundary - Vec2d p1 = paths.front().polyline.points.front().cast().head<2>(); - Vec2d p2 = paths.front().polyline.points[1].cast().head<2>(); - Vec2d v = p2 - p1; - double nd = scale_(EXTRUDER_CONFIG(nozzle_diameter)); - double l2 = v.squaredNorm(); - // Shift by no more than a nozzle diameter. - //FIXME Hiding the seams will not work nicely for very densely discretized contours! - //BBS. shorten the travel distant before the wipe path - double threshold = 0.2; - Point pt = (p1 + v * threshold).cast(); - if (nd * nd < l2) - pt = (p1 + threshold * v * (nd / sqrt(l2))).cast(); - //Point pt = ((nd * nd >= l2) ? (p1+v*0.4): (p1 + 0.2 * v * (nd / sqrt(l2)))).cast(); - const Point3 ¢er3 = paths.front().polyline.points.front(); - pt.rotate(angle, Point(center3.x(), center3.y())); - // generate the travel move - gcode += m_writer.extrude_to_xy(this->point_to_gcode(pt), 0, "move inwards before travel", true); + // Orca: make the configured inward move before leaving the loop. + if (wipe_on_loops_dest) { + gcode += m_writer.extrude_to_xy( + this->point_to_gcode(*wipe_on_loops_dest), 0, "move inwards before travel", true); + this->set_last_pos(*wipe_on_loops_dest); } + // Execute the accepted path before another extrusion replaces it. Wiping + // must not force retraction or Z-hop across a short travel to the next wall. + // Ordinary travel planning decides whether to retract from the new position. + if (wipe_inward_applied) + gcode += m_wipe.wipe(*this, 0.); + return gcode; } @@ -7519,21 +7652,9 @@ std::string GCode::extrude_multi_path(const ExtrusionMultiPath& multipath, const m_multi_flow_segment_path_pa_set = true; } - // BBS - if (m_wipe.enable && FILAMENT_CONFIG(wipe)) { - m_wipe.path = Polyline(); - for (const ExtrusionPath &path : multipath.paths) { - //BBS: Don't need to save duplicated point into wipe path - if (!m_wipe.path.empty() && !path.empty() && - m_wipe.path.last_point() == Point(path.first_point().x(), path.first_point().y())) { - // Convert Points3 to Points - for (auto it = path.polyline.points.begin() + 1; it != path.polyline.points.end(); ++it) - m_wipe.path.append(Point(it->x(), it->y())); - } else - m_wipe.path.append(path.polyline.to_polyline()); // TODO: don't limit wipe to last path - } - m_wipe.path.reverse(); - } + // Orca: multipath wipes retrace the extrusion in reverse order. + if (m_wipe.enable && FILAMENT_CONFIG(wipe)) + m_wipe.update_path(multipath.paths, true); return gcode; } @@ -7541,14 +7662,15 @@ std::string GCode::extrude_multi_path(const ExtrusionMultiPath& multipath, const std::string GCode::extrude_entity(const ExtrusionEntity& entity, const std::string& description, double speed, - const ExtrusionEntitiesPtr& region_perimeters) + const ExtrusionEntitiesPtr& region_perimeters, + const WipeInwardSupport* wipe_support) { if (const ExtrusionPath* path = dynamic_cast(&entity)) return this->extrude_path(*path, description, speed); else if (const ExtrusionMultiPath* multipath = dynamic_cast(&entity)) return this->extrude_multi_path(*multipath, description, speed); else if (const ExtrusionLoop* loop = dynamic_cast(&entity)) - return this->extrude_loop(*loop, description, speed, region_perimeters); + return this->extrude_loop(*loop, description, speed, region_perimeters, nullptr, wipe_support); else throw Slic3r::InvalidArgument("Invalid argument supplied to extrude()"); return ""; @@ -7562,6 +7684,7 @@ std::string GCode::extrude_path(const ExtrusionPath& path, const std::string& de // description += ExtrusionEntity::role_to_string(path.role()); std::string gcode = this->_extrude(path, description, speed); if (m_wipe.enable && FILAMENT_CONFIG(wipe)) { + m_wipe.reset_path(); m_wipe.path = path.polyline.to_polyline(); if (is_tree(this->config().support_type) && is_support(path.role())) { if ((m_wipe.path.first_point() - m_wipe.path.last_point()).cast().norm() > scale_(0.2)) { @@ -7582,7 +7705,7 @@ std::string GCode::extrude_path(const ExtrusionPath& path, const std::string& de } // Extrude perimeters: Decide where to put seams (hide or align seams). -std::string GCode::extrude_perimeters(const Print &print, const std::vector &by_region, bool is_first_layer, bool is_infill_first) +std::string GCode::extrude_perimeters(const Print &print, const std::vector &by_region, bool is_first_layer, bool is_infill_first, bool unsupported_loops_only) { std::string gcode; for (const ObjectByExtruder::Island::Region ®ion : by_region) @@ -7594,8 +7717,36 @@ std::string GCode::extrude_perimeters(const Print &print, const std::vectorextrude_entity(*ee, "perimeter", -1., region.perimeters); + // Build the printed prefix once in emission order, scoped to this + // region. Disabled or zero-length wipes need no support geometry. + std::optional wipe_support; + if (m_wipe.enable && FILAMENT_CONFIG(wipe) && m_config.wipe_inward && + m_config.wipe_inward_distance.value > 0. && + scale_(FILAMENT_CONFIG(wipe_distance)) > SCALED_EPSILON) + wipe_support.emplace(); + + // ORCA: loops flagged as extruded in mid air, out of reach of the layer below, are held back + // for a second pass after the infill that anchors them. Infill already precedes infill first walls. + const bool defer_unsupported = !is_infill_first; + auto waits_for_infill = [](const ExtrusionEntity *ee) { + return ee->is_loop() && static_cast(ee)->print_after_infill; + }; + + // The deferred pass runs after the infill, so the loops the first pass emitted are + // already down and belong in the prefix an inward wipe may land on. + if (wipe_support && defer_unsupported && unsupported_loops_only) + for (const ExtrusionEntity* ee : region.perimeters) + if (!waits_for_infill(ee)) + wipe_support->append(*ee); + + for (const ExtrusionEntity* ee : region.perimeters) { + if (defer_unsupported && waits_for_infill(ee) != unsupported_loops_only) + continue; + gcode += this->extrude_entity(*ee, "perimeter", -1., region.perimeters, + wipe_support ? &*wipe_support : nullptr); + if (wipe_support) + wipe_support->append(*ee); + } } return gcode; } @@ -7836,7 +7987,8 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, // path is 2D. But in slope lift case, lift z is done in travel_to function. // Add m_need_change_layer_lift_z when change_layer in case of no lift if m_last_pos is equal to path.first_point() by chance Point first_point = path.first_point(); - if (!m_last_pos_defined || m_last_pos.to_point() != first_point || m_need_change_layer_lift_z || slope_need_z_travel) { + if (!m_last_pos_defined || m_last_pos.to_point() != first_point || m_need_change_layer_lift_z || + slope_need_z_travel) { const bool _last_pos_undefined = !m_last_pos_defined; double z = DBL_MAX; @@ -7942,7 +8094,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, _mm3_per_mm *= filament_flow_ratio; if (path.role() == erTopSolidInfill) { - _mm3_per_mm *= m_config.top_solid_infill_flow_ratio; + _mm3_per_mm *= NOZZLE_CONFIG(top_solid_infill_flow_ratio); } else if (path.role() == erBottomSurface) { _mm3_per_mm *= m_config.bottom_solid_infill_flow_ratio; } else if (path.role() == erInternalBridgeInfill) { @@ -9469,12 +9621,14 @@ std::string GCode::set_extruder(unsigned int new_filament_id, double print_z, bo if (old_filament_id_in_new_extruder == -1) wipe_volume = 0; else { - wipe_volume = flush_matrix[old_filament_id_in_new_extruder * number_of_extruders + new_filament_id]; + size_t flush_idx = size_t(old_filament_id_in_new_extruder) * number_of_extruders + new_filament_id; + wipe_volume = flush_idx < flush_matrix.size() ? flush_matrix[flush_idx] : 0.f; wipe_volume *= m_config.flush_multiplier.get_at(new_extruder_id); } } else { - wipe_volume = flush_matrix[old_filament_id * number_of_extruders + new_filament_id]; + size_t flush_idx = size_t(old_filament_id) * number_of_extruders + new_filament_id; + wipe_volume = flush_idx < flush_matrix.size() ? flush_matrix[flush_idx] : 0.f; wipe_volume *= m_config.flush_multiplier.get_at(new_extruder_id); // if is multi_extruder only use the fist extruder matrix } wipe_volume = std::max(0.f, wipe_volume-grab_purge_volume); diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 990bf0fee7..41986cc1d6 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -39,6 +39,7 @@ namespace Slic3r { // Forward declarations. class GCode; +struct WipeInwardSupport; namespace CustomGCode{ struct Item; } struct PrintInstance; @@ -61,7 +62,7 @@ public: bool enable; Polyline path; - // Orca: + // Orca: retraction portions emitted before, during, and after the wipe move. struct RetractionValues{ double retraction_length_before_wipe = 0.; double retraction_length_during_wipe = 0.; @@ -73,8 +74,10 @@ public: void reset_path() { this->path = Polyline(); } std::string wipe(GCode &gcodegen, double length, bool toolchange = false, bool is_last = false); - // Orca: + // Orca: calculate the retraction portions that can be emitted at wipe speed. RetractionValues calculateWipeRetractionLengths(GCode& gcodegen, bool toolchange); + // Orca: rebuild the stored path while deduplicating shared path boundaries. + void update_path(const ExtrusionPaths &paths, bool reverse = false); }; class WipeTowerIntegration { @@ -103,8 +106,14 @@ public: m_enable_wrapping_detection(print_config.enable_wrapping_detection && (print_config.wrapping_exclude_area.values.size() > 2) && (slice_used_filaments.size() <= 1)), m_is_first_print(true), m_print_config(&print_config), - m_last_wipe_tower_print_z(print_config.z_offset.value) + m_last_wipe_tower_print_z(print_config.z_offset.value), + m_sparse_layers_skipped(wipe_tower_sparse_layers_skipped(print_config)), + m_sparse_layers_combined(wipe_tower_sparse_layers_combined(print_config)) { + // Precomputed rather than accumulated while emitting, so that the clearance validator and + // the emitter cannot disagree about where the compacted tower sits on any given layer. + if (m_sparse_layers_skipped) + m_compacted_tower_z = compute_compacted_wipe_tower_z(tool_changes, float(print_config.z_offset.value)); // initialize with the extruder offset of master extruder id m_extruder_offsets.resize(print_config.filament_map.size(), print_config.extruder_offset.get_at(print_config.master_extruder_id.value - 1)); const auto& filament_map = print_config.filament_map.values; // 1 based idx @@ -130,6 +139,7 @@ public: private: WipeTowerIntegration& operator=(const WipeTowerIntegration&); std::string append_tcr(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id, double z = -1.) const; + std::string tower_height_tag(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, const std::string &tcr_gcode) const; Polyline generate_path_to_wipe_tower(const Point &start_pos, const Point &end_pos, const BoundingBox &avoid_polygon, const Polygons &bed_polygons) const; std::string append_tcr2(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id, double z = -1.) const; std::string travel_to_tower_gap(GCode &gcodegen, const Point &route_start, const Point &start_wipe_pos) const; @@ -164,6 +174,14 @@ private: float m_wipe_tower_depth; BoundingBoxf m_wipe_tower_bbx; Vec2f m_rib_offset{Vec2f(0, 0)}; + // wipe_tower_no_sparse_layers, as answered by the shared compaction rule rather than by the raw + // option: smooth timelapse and wrapping detection keep a tower on every layer regardless. + const bool m_sparse_layers_skipped; + // Combined tower layers are thicker than the object layer they sit on, the only case where the + // tower's height is not the one process_layer already declared. + const bool m_sparse_layers_combined; + // Print z of the compacted tower per planned layer. Empty when the tower is not compacted. + std::vector m_compacted_tower_z; }; class ColorPrintColors @@ -430,14 +448,16 @@ private: std::string extrude_entity(const ExtrusionEntity& entity, const std::string& description = "", double speed = -1., - const ExtrusionEntitiesPtr& region_perimeters = ExtrusionEntitiesPtr()); + const ExtrusionEntitiesPtr& region_perimeters = ExtrusionEntitiesPtr(), + const WipeInwardSupport* wipe_support = nullptr); // Orca: pass the complete collection of region perimeters to the extrude loop to check whether the wipe before external loop // should be executed std::string extrude_loop(const ExtrusionLoop& loop, const std::string& description, double speed = -1., const ExtrusionEntitiesPtr& region_perimeters = ExtrusionEntitiesPtr(), - const Point* start_point = nullptr); + const Point* start_point = nullptr, + const WipeInwardSupport* wipe_support = nullptr); std::string extrude_multi_path(const ExtrusionMultiPath& multipath, const std::string& description = "", double speed = -1.); std::string extrude_path(const ExtrusionPath& path, const std::string& description = "", double speed = -1.); @@ -519,7 +539,7 @@ private: // For sequential print, the instance of the object to be printing has to be defined. const size_t single_object_instance_idx); - std::string extrude_perimeters(const Print& print, const std::vector& by_region, bool is_first_layer, bool is_infill_first); + std::string extrude_perimeters(const Print& print, const std::vector& by_region, bool is_first_layer, bool is_infill_first, bool unsupported_loops_only = false); std::string extrude_infill(const Print& print, const std::vector& by_region, bool ironing); std::string extrude_support(const ExtrusionEntityCollection& support_fills, const ExtrusionRole support_extrusion_role); @@ -695,6 +715,7 @@ private: // Always check gcode placeholders when building in debug mode. #if !defined(NDEBUG) +#undef ORCA_CHECK_GCODE_PLACEHOLDERS #define ORCA_CHECK_GCODE_PLACEHOLDERS 1 #endif diff --git a/src/libslic3r/GCode/FanMover.hpp b/src/libslic3r/GCode/FanMover.hpp index 3f803fbd23..17addd855c 100644 --- a/src/libslic3r/GCode/FanMover.hpp +++ b/src/libslic3r/GCode/FanMover.hpp @@ -32,7 +32,8 @@ class FanMover private: const std::regex regex_fan_speed; const float nb_seconds_delay; - const bool with_D_option; + // Set from fan_speedup_time at the call site, but nothing here reads it. + [[maybe_unused]] const bool with_D_option; const bool relative_e; const bool only_overhangs; const float kickstart; diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index cd6c494f33..e03be228d0 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -75,6 +75,10 @@ const std::vector GCodeProcessor::Reserved_Tags = { " WIPE_TOWER_START", " WIPE_TOWER_END", " PA_CHANGE:", + "@PRINT_TIME_TOTAL_SEC@", + "@PRINT_TIME_DAY@", + "@PRINT_TIME_HOUR@", + "@PRINT_TIME_MINUTE@", "@PRINT_TIME_SEC@", "@USED_FILAMENT_LENGTH@" }; @@ -98,6 +102,10 @@ const std::vector GCodeProcessor::Reserved_Tags_compatible = { " WIPE_TOWER_START", " WIPE_TOWER_END", " PA_CHANGE:", + "@PRINT_TIME_TOTAL_SEC@", + "@PRINT_TIME_DAY@", + "@PRINT_TIME_HOUR@", + "@PRINT_TIME_MINUTE@", "@PRINT_TIME_SEC@", "@USED_FILAMENT_LENGTH@" }; @@ -1215,22 +1223,76 @@ void GCodeProcessor::run_post_process() return ret; }; - // Process inline placeholders (print_time_sec and used_filament_length) + // Process inline placeholders (print_time_total_sec, print_time_day, print_time_hour, print_time_minute, print_time_sec and used_filament_length) auto process_inline_placeholders = [&](std::string& gcode_line) { bool processed = false; - const std::string& print_time_placeholder = reserved_tag(ETags::Print_Time_Sec_Placeholder); + const std::string& print_time_total_placeholder = reserved_tag(ETags::Print_Time_Total_Sec_Placeholder); + const std::string& print_time_day_placeholder = reserved_tag(ETags::Print_Time_Day_Placeholder); + const std::string& print_time_hour_placeholder = reserved_tag(ETags::Print_Time_Hour_Placeholder); + const std::string& print_time_minute_placeholder = reserved_tag(ETags::Print_Time_Minute_Placeholder); + const std::string& print_time_sec_placeholder = reserved_tag(ETags::Print_Time_Sec_Placeholder); const std::string& used_filament_placeholder = reserved_tag(ETags::Used_Filament_Length_Placeholder); - // Replace print_time_sec - size_t pos = gcode_line.find(print_time_placeholder); + double print_time_total_sec = m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Normal)].time; + if (print_time_total_sec < 0.0) + print_time_total_sec = 0.0; + + int total_seconds = static_cast(print_time_total_sec); + int print_time_day = total_seconds / 86400; + int day_remainder_seconds = total_seconds % 86400; + int print_time_hour = day_remainder_seconds / 3600; + int print_time_minute = (day_remainder_seconds % 3600) / 60; + int print_time_sec = day_remainder_seconds % 60; + + // Replace print_time_total_sec + size_t pos = gcode_line.find(print_time_total_placeholder); while (pos != std::string::npos) { - double print_time_sec = m_time_processor.machines[static_cast(PrintEstimatedStatistics::ETimeMode::Normal)].time; char buf[64]; - sprintf(buf, "%.2f", print_time_sec); - gcode_line.replace(pos, print_time_placeholder.length(), buf); + sprintf(buf, "%.2f", print_time_total_sec); + gcode_line.replace(pos, print_time_total_placeholder.length(), buf); processed = true; - pos = gcode_line.find(print_time_placeholder, pos + strlen(buf)); + pos = gcode_line.find(print_time_total_placeholder, pos + strlen(buf)); + } + + // Replace print_time_day + pos = gcode_line.find(print_time_day_placeholder); + while (pos != std::string::npos) { + char buf[64]; + sprintf(buf, "%d", print_time_day); + gcode_line.replace(pos, print_time_day_placeholder.length(), buf); + processed = true; + pos = gcode_line.find(print_time_day_placeholder, pos + strlen(buf)); + } + + // Replace print_time_hour + pos = gcode_line.find(print_time_hour_placeholder); + while (pos != std::string::npos) { + char buf[64]; + sprintf(buf, "%d", print_time_hour); + gcode_line.replace(pos, print_time_hour_placeholder.length(), buf); + processed = true; + pos = gcode_line.find(print_time_hour_placeholder, pos + strlen(buf)); + } + + // Replace print_time_minute + pos = gcode_line.find(print_time_minute_placeholder); + while (pos != std::string::npos) { + char buf[64]; + sprintf(buf, "%d", print_time_minute); + gcode_line.replace(pos, print_time_minute_placeholder.length(), buf); + processed = true; + pos = gcode_line.find(print_time_minute_placeholder, pos + strlen(buf)); + } + + // Replace print_time_sec + pos = gcode_line.find(print_time_sec_placeholder); + while (pos != std::string::npos) { + char buf[64]; + sprintf(buf, "%d", print_time_sec); + gcode_line.replace(pos, print_time_sec_placeholder.length(), buf); + processed = true; + pos = gcode_line.find(print_time_sec_placeholder, pos + strlen(buf)); } // Replace used_filament_length @@ -1468,9 +1530,11 @@ void GCodeProcessor::run_post_process() // Append a per-filament usage block at a filament change. auto handle_filament_change = [&](int filament_id, int cur_line_id, int nozzle_id) { - // skip filament changes emitted inside the machine start / end gcode - if (m_machine_start_gcode_end_line_id == (unsigned int) (-1) && (unsigned int) (cur_line_id) < m_machine_start_gcode_end_line_id || - m_machine_end_gcode_start_line_id != (unsigned int) (-1) && (unsigned int) (cur_line_id) > m_machine_end_gcode_start_line_id) + // Skip filament changes emitted inside the machine start / end gcode. One forward pass assigns + // the tag ids and tests them in the same loop, so inside the start gcode the end tag is unseen + // and the id still holds the sentinel. That is why the first clause tests == and the second !=. + if ((m_machine_start_gcode_end_line_id == (unsigned int) (-1) && (unsigned int) (cur_line_id) < m_machine_start_gcode_end_line_id) || + (m_machine_end_gcode_start_line_id != (unsigned int) (-1) && (unsigned int) (cur_line_id) > m_machine_end_gcode_start_line_id)) return; if (!m_filament_blocks.empty()) m_filament_blocks.back().upper_gcode_id = cur_line_id; @@ -2607,7 +2671,7 @@ bool GCodeProcessor::contains_reserved_tag(const std::string& gcode, std::string return ret; } -bool GCodeProcessor::contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag) +bool GCodeProcessor::contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag, bool is_bbl_printer) { max_count = std::max(max_count, 1U); @@ -2616,7 +2680,7 @@ bool GCodeProcessor::contains_reserved_tags(const std::string& gcode, unsigned i CNumericLocalesSetter locales_setter; GCodeReader parser; - auto& _tags = s_IsBBLPrinter ? Reserved_Tags : Reserved_Tags_compatible; + auto& _tags = is_bbl_printer ? Reserved_Tags : Reserved_Tags_compatible; parser.parse_buffer(gcode, [&ret, &found_tag, max_count, _tags](GCodeReader& parser, const GCodeReader::GCodeLine& line) { std::string comment = line.raw(); if (comment.length() > 2 && comment.front() == ';') { @@ -2777,7 +2841,7 @@ bool GCodeProcessor::check_multi_extruder_gcode_valid(const int std::map> gcode_path_pos; // object_id, filament_id, pos for (const GCodeProcessorResult::MoveVertex &move : m_result.moves) { // sometimes, the start line extrude was outside the edge of plate a little, this is allowed, so do not include into the gcode_path_pos - if (move.type == EMoveType::Extrude /* && move.extrusion_role != ExtrusionRole::erFlush || move.type == EMoveType::Travel*/) + if (move.type == EMoveType::Extrude /* && move.extrusion_role != ExtrusionRole::erFlush || move.type == EMoveType::Travel*/) { if (move.extrusion_role == ExtrusionRole::erCustom) { /*if (move.is_arc_move_with_interpolation_points()) { for (int i = 0; i < move.interpolation_points.size(); i++) { @@ -2799,6 +2863,7 @@ bool GCodeProcessor::check_multi_extruder_gcode_valid(const int gcode_path_pos[move.object_label_id][int(move.extruder_id)].max_print_z = std::max(gcode_path_pos[move.object_label_id][int(move.extruder_id)].max_print_z, move.print_z); } + } } bool valid = true; @@ -7593,8 +7658,8 @@ void GCodeProcessor::update_slice_warnings() if (used_filaments[idx] < m_result.required_nozzle_HRC.size()) filament_hrc = m_result.required_nozzle_HRC[used_filaments[idx]]; - int filament_extruder_id = m_filament_maps[used_filaments[idx]]; - int extruder_hrc = nozzle_hrc_lists[filament_extruder_id]; + int filament_extruder_id = used_filaments[idx] < m_filament_maps.size() ? m_filament_maps[used_filaments[idx]] : -1; + int extruder_hrc = (filament_extruder_id >= 0 && (size_t) filament_extruder_id < nozzle_hrc_lists.size()) ? nozzle_hrc_lists[filament_extruder_id] : 0; BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": Check HRC: filament:%1%, hrc=%2%, extruder:%3%, hrc:%4%") % used_filaments[idx] % filament_hrc % filament_extruder_id % extruder_hrc; diff --git a/src/libslic3r/GCode/GCodeProcessor.hpp b/src/libslic3r/GCode/GCodeProcessor.hpp index 0f211f133e..192a80a43d 100644 --- a/src/libslic3r/GCode/GCodeProcessor.hpp +++ b/src/libslic3r/GCode/GCodeProcessor.hpp @@ -512,6 +512,10 @@ class Print; Wipe_Tower_Start, Wipe_Tower_End, PA_Change, + Print_Time_Total_Sec_Placeholder, + Print_Time_Day_Placeholder, + Print_Time_Hour_Placeholder, + Print_Time_Minute_Placeholder, Print_Time_Sec_Placeholder, Used_Filament_Length_Placeholder, }; @@ -521,7 +525,7 @@ class Print; static bool contains_reserved_tag(const std::string& gcode, std::string& found_tag); // checks the given gcode for reserved tags and returns true when finding any // (the first max_count found tags are returned into found_tag) - static bool contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag); + static bool contains_reserved_tags(const std::string& gcode, unsigned int max_count, std::vector& found_tag, bool is_bbl_printer); static int get_gcode_last_filament(const std::string &gcode_str); static bool get_last_z_from_gcode(const std::string& gcode_str, double& z); @@ -1543,5 +1547,3 @@ class Print; } /* namespace Slic3r */ #endif /* slic3r_GCodeProcessor_hpp_ */ - - diff --git a/src/libslic3r/GCode/ToolOrderUtils.cpp b/src/libslic3r/GCode/ToolOrderUtils.cpp index 4e2934d967..4a67477d24 100644 --- a/src/libslic3r/GCode/ToolOrderUtils.cpp +++ b/src/libslic3r/GCode/ToolOrderUtils.cpp @@ -910,7 +910,7 @@ namespace Slic3r unsigned int iterations = (1 << all_extruders.size()); unsigned int final_state = iterations - 1; - std::vector>cache(iterations, std::vector(all_extruders.size(), 0x7fffffff)); + std::vector>cache(iterations, std::vector(all_extruders.size(), std::numeric_limits::max())); std::vector>prev(iterations, std::vector(all_extruders.size(), -1)); cache[1][0] = 0.; for (unsigned int state = 0; state < iterations; ++state) { diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index 0a97e7ac41..7ea46cf8a7 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -10,6 +10,7 @@ #include "FilamentMixer.hpp" #include "LocalesUtils.hpp" #include "Utils.hpp" +#include "format.hpp" #include "I18N.hpp" #include @@ -82,8 +83,9 @@ bool check_filament_printable_after_group(const std::vector &used_ int printable_status = print_config->filament_printable.get_at(filament_id); int extruder_idx = filament_maps[filament_id]; if (!(printable_status >> extruder_idx & 1)) { - std::string extruder_name = extruder_idx == 0 ? _L("left") : _L("right"); - std::string error_msg = _L("Grouping error: ") + filament_type + _L(" can not be placed in the ") + extruder_name + _L(" nozzle"); + std::string error_msg = extruder_idx == 0 ? + Slic3r::format(_L("Grouping error: %1% cannot be placed in the left nozzle"), filament_type) : + Slic3r::format(_L("Grouping error: %1% cannot be placed in the right nozzle"), filament_type); throw Slic3r::RuntimeError(error_msg); } } @@ -1488,10 +1490,10 @@ static FilamentGroupContext build_filament_group_context( auto machine_filament_info = build_machine_filaments(print->get_extruder_filament_info(), extruder_ams_counts, ignore_ext_filament); - std::vector filament_types = print_config.filament_type.values; - std::vector filament_colours = print_config.filament_colour.values; - std::vector filament_is_support = print_config.filament_is_support.values; - std::vector filament_ids = print_config.filament_ids.values; + // The grouping code walks filament_ids and indexes filament_info by the same position. + std::vector filament_ids = print_config.filament_ids.values; + if (filament_ids.size() > filament_nums) + filament_ids.resize(filament_nums); FGMode fg_mode = mode == FilamentMapMode::fmmAutoForMatch ? FGMode::MatchMode : FGMode::FlushMode; context.model_info.flush_matrix = std::move(nozzle_flush_mtx); @@ -1500,11 +1502,14 @@ static FilamentGroupContext build_filament_group_context( context.model_info.filament_ids = filament_ids; context.model_info.unprintable_volumes = unprintable_volumes; - for (size_t idx = 0; idx < filament_types.size(); ++idx) { + // Consumers index filament_info by filament id, so it must span the filament count: a partial + // or legacy config can leave any of these arrays short, and get_at clamps. + context.model_info.filament_info.reserve(filament_nums); + for (size_t idx = 0; idx < filament_nums; ++idx) { FilamentGroupUtils::FilamentInfo info; - info.color = filament_colours[idx]; - info.type = filament_types[idx]; - info.is_support = filament_is_support[idx]; + info.color = print_config.filament_colour.get_at(idx); + info.type = print_config.filament_type.get_at(idx); + info.is_support = print_config.filament_is_support.get_at(idx); context.model_info.filament_info.emplace_back(std::move(info)); } @@ -2732,6 +2737,28 @@ void ToolOrdering::enforce_mixed_component_order() } } +// Declared in ToolOrdering.hpp (exposed for unit testing). +std::vector parse_cyclic_order(const std::string& str, unsigned int number_of_extruders) +{ + std::vector order; + for (const std::string& token : split_string(str, ',')) { + try { + size_t pos = 0; + int filament = std::stoi(token, &pos); // stoi skips leading whitespace by itself + // stoi stops at the first non-digit, so "2x" would parse as 2. Require the whole token to be + // consumed (bar trailing whitespace) to drop it like any other garbage. + if (token.find_first_not_of(" \t\r\n", pos) != std::string::npos) + continue; + if (filament >= 1 && (unsigned int)filament <= number_of_extruders + && std::find(order.begin(), order.end(), (unsigned int)(filament - 1)) == order.end()) + order.emplace_back((unsigned int)(filament - 1)); + } catch (const std::exception&) { + // Not a number, ignore it. + } + } + return order; +} + void ToolOrdering::reorder_extruders_for_minimum_flush_volume(bool reorder_first_layer) { const PrintConfig* print_config = m_print_config_ptr; @@ -2829,11 +2856,41 @@ void ToolOrdering::reorder_extruders_for_minimum_flush_volume(bool reorder_first const bool use_cyclic_ordering = (print_config->toolchange_ordering == ToolChangeOrderingType::Cyclic); + // By default the first layer keeps its adhesion-optimized order (and any custom first layer + // sequence); the cyclic sequence is only forced onto it when the user opts in. + const bool cyclic_first_layer = use_cyclic_ordering && print_config->toolchange_cyclic_first_layer.value; + + // Optional user defined cyclic sequence, given as 1-based filament numbers ("3,2,1,4"). Filaments + // missing from it keep their ascending order after the listed ones, so a partial or bogus entry + // still yields the default cyclic order. + const std::vector cyclic_order = + use_cyclic_ordering ? parse_cyclic_order(print_config->toolchange_cyclic_order.value, number_of_extruders) + : std::vector(); + + // Reorder a layer's filaments (0-based) for cyclic ordering: ascending by default, or following the + // user defined sequence when one was given. Filaments absent from the sequence keep ascending order + // after the listed ones. + auto apply_cyclic_order = [&cyclic_order](std::vector& filaments) { + std::sort(filaments.begin(), filaments.end()); + if (!cyclic_order.empty()) + std::stable_sort(filaments.begin(), filaments.end(), [&cyclic_order](unsigned int lhs, unsigned int rhs) { + auto rank = [&cyclic_order](unsigned int filament) { + return size_t(std::find(cyclic_order.begin(), cyclic_order.end(), filament) - cyclic_order.begin()); + }; + return rank(lhs) < rank(rhs); + }); + }; + // other_layers_seq: the layer_idx and extruder_idx are base on 1 - auto get_custom_seq = [&other_layers_seqs, &reorder_first_layer, &first_layer_filaments, &layer_filaments, use_cyclic_ordering](int layer_idx, std::vector& out_seq) -> bool { + auto get_custom_seq = [&other_layers_seqs, &reorder_first_layer, &first_layer_filaments, &layer_filaments, use_cyclic_ordering, cyclic_first_layer, &apply_cyclic_order](int layer_idx, std::vector& out_seq) -> bool { if (!reorder_first_layer && layer_idx == 0) { - out_seq.resize(first_layer_filaments.size()); - std::transform(first_layer_filaments.begin(), first_layer_filaments.end(), out_seq.begin(), [](auto item) {return item + 1; }); + // The first layer tool order is already decided (adhesion-optimized, plus any custom first + // layer sequence). Only override it with the cyclic sequence when the user opted in. + std::vector ordered = first_layer_filaments; + if (cyclic_first_layer) + apply_cyclic_order(ordered); + out_seq.resize(ordered.size()); + std::transform(ordered.begin(), ordered.end(), out_seq.begin(), [](auto item) {return int(item) + 1; }); return true; } for (size_t idx = other_layers_seqs.size() - 1; idx != size_t(-1); --idx) { @@ -2844,9 +2901,12 @@ void ToolOrdering::reorder_extruders_for_minimum_flush_volume(bool reorder_first } } - if (use_cyclic_ordering && layer_idx >= 0 && size_t(layer_idx) < layer_filaments.size()) { + // Skip the first layer here (layer_idx == 0 only reaches this point on the reorder_first_layer + // path) unless the user asked for cyclic order on it, so it keeps the default flush ordering. + if (use_cyclic_ordering && layer_idx >= 0 && (layer_idx != 0 || cyclic_first_layer) + && size_t(layer_idx) < layer_filaments.size()) { std::vector ordered = layer_filaments[size_t(layer_idx)]; - std::sort(ordered.begin(), ordered.end()); + apply_cyclic_order(ordered); out_seq.resize(ordered.size()); std::transform(ordered.begin(), ordered.end(), out_seq.begin(), [](auto item) { return int(item) + 1; }); return true; @@ -3137,7 +3197,7 @@ void ToolOrdering::assign_custom_gcodes(const Print &print) // Skip all custom G-codes above this layer and skip all extruder switches. for (; custom_gcode_it != custom_gcode_per_print_z.gcodes.rend() && ( (print_z_above > lt.print_z && custom_gcode_it->print_z > 0.5 * (lt.print_z + print_z_above)) - || custom_gcode_it->type == CustomGCode::ToolChange); ++ custom_gcode_it); + || custom_gcode_it->type == CustomGCode::ToolChange); ++ custom_gcode_it) {} print_z_above = lt.print_z; if (custom_gcode_it == custom_gcode_per_print_z.gcodes.rend()) // Custom G-codes were processed. diff --git a/src/libslic3r/GCode/ToolOrdering.hpp b/src/libslic3r/GCode/ToolOrdering.hpp index 4dc08c0e8b..1b8ce190d7 100644 --- a/src/libslic3r/GCode/ToolOrdering.hpp +++ b/src/libslic3r/GCode/ToolOrdering.hpp @@ -417,6 +417,11 @@ private: int most_used_extruder; }; +// Parse the user defined cyclic toolchange sequence ("3,2 , 1 , 4") into 0-based filament indices. +// Out-of-range entries, duplicates and non-numeric tokens are dropped, so a partially valid string +// still orders the filaments it does name. Exposed for unit testing. +std::vector parse_cyclic_order(const std::string& str, unsigned int number_of_extruders); + } // namespace SLic3r #endif /* slic3r_ToolOrdering_hpp_ */ diff --git a/src/libslic3r/GCode/WipePathHelpers.cpp b/src/libslic3r/GCode/WipePathHelpers.cpp new file mode 100644 index 0000000000..d785a16a8c --- /dev/null +++ b/src/libslic3r/GCode/WipePathHelpers.cpp @@ -0,0 +1,920 @@ +#include "WipePathHelpers.hpp" + +#include "../AABBTreeLines.hpp" + +#include +#include +#include +#include +#include + +namespace Slic3r { + +void WipeInwardSupport::append(const ExtrusionEntity &entity) +{ + const ExtrusionPaths *paths = nullptr; + if (const auto *loop = dynamic_cast(&entity)) + paths = &loop->paths; + else if (const auto *multipath = dynamic_cast(&entity)) + paths = &multipath->paths; + + // A loop's role is its first path's role. An overhanging start must not + // hide the ordinary inner-wall segments elsewhere in the same loop. + const bool is_inner = paths ? std::any_of(paths->begin(), paths->end(), + [](const ExtrusionPath &path) { return is_internal_perimeter(path.role()); }) : + is_internal_perimeter(entity.role()); + const Lines lines = entity.as_polyline().lines(); + printed_lines.insert(printed_lines.end(), lines.begin(), lines.end()); + if (is_inner) + inner_lines.insert(inner_lines.end(), lines.begin(), lines.end()); +} + +// Orca: miter limit ratio. Matches DefaultMiterLimit from ClipperUtils.hpp. +// When the miter join extends more than miter_limit * offset_dist from the +// original vertex, the miter is replaced by a bevel join. +static constexpr double miter_limit = 3.0; + +// Orca: threshold for detecting near-reversal (backtracking spike). +// Normalized dot product below this means the segments point in nearly +// opposite directions (angle > ~172°). Offsetting such a path is unsafe. +static constexpr double reversal_dot_threshold = -0.99; + +// Orca: candidates pointing more than 60 degrees away from the selected inner +// wall are too tangent to distinguish the material side reliably at a cusp. +static constexpr double min_support_alignment = 0.5; + +// Keep a scaled-coordinate rounding floor while allowing the tolerance to +// follow the relevant offset or path length. Clearance allows a larger fraction. +static double wipe_tolerance(double distance, double relative_tolerance = 0.1) +{ + return std::max(4. * SCALED_EPSILON, relative_tolerance * distance); +} + +Point sample_path_at_distance(const ExtrusionPaths &paths, bool forward, double target) +{ + assert(!paths.empty()); + if (paths.empty()) + return Point(0, 0); + + double remaining = target; + Point result = forward ? paths.front().first_point() : paths.back().last_point(); + for (int pi = forward ? 0 : (int)paths.size() - 1; + pi >= 0 && pi < (int)paths.size() && remaining > 0.; + pi += forward ? 1 : -1) { + const Points3 &pts = paths[pi].polyline.points; + for (int i = forward ? 0 : (int)pts.size() - 1; + remaining > 0. && (forward ? i + 1 < (int)pts.size() : i > 0); + i += forward ? 1 : -1) { + const int j = forward ? i + 1 : i - 1; + const Point cur(pts[i].x(), pts[i].y()); + const Point next(pts[j].x(), pts[j].y()); + const double segment_length = (next - cur).cast().norm(); + if (segment_length < SCALED_EPSILON) + continue; + if (remaining <= segment_length) { + const double ratio = remaining / segment_length; + return Point(coord_t(cur.x() + ratio * (next.x() - cur.x())), + coord_t(cur.y() + ratio * (next.y() - cur.y()))); + } + remaining -= segment_length; + result = next; + } + } + return result; +} + +// Orca: consecutive duplicates carry no path length and can be removed safely. +// A reversal, however, is real travelled distance: removing its vertex would +// replace a long backtracking wipe with a short, unrelated shortcut. +static bool prepare_source(Points &pts) +{ + pts.erase(std::unique(pts.begin(), pts.end()), pts.end()); + + if (pts.size() < 2) + return false; + + for (size_t i = 1; i + 1 < pts.size(); ++i) { + const Vec2d v_prev = (pts[i] - pts[i - 1]).cast(); + const Vec2d v_next = (pts[i + 1] - pts[i]).cast(); + const double dot = v_prev.dot(v_next) / (v_prev.norm() * v_next.norm()); + if (dot < reversal_dot_threshold) + return false; + } + return true; +} + +static bool build_offset_polyline(const Points &original, int dir, double offset_dist, + Points &result, size_t &first_join_index) +{ + if (original.size() < 2) + return false; + + // Orca: collapse all consecutive duplicates first, then reject any + // backtracking in the cleaned path instead of replacing travelled distance + // with a shortcut. + Points source = original; + if (! prepare_source(source)) + return false; + + const size_t n = source.size(); + + // Orca: compute the perpendicular offset for segment i->i+1 as an infinite Line. + auto offset_segment = [dir, offset_dist](const Point &a, const Point &b) -> Line { + Vec2d v = (b - a).cast(); + double len = v.norm(); + Vec2d perp(0, 0); + if (len > SCALED_EPSILON) + perp = Vec2d(-v.y(), v.x()) * (dir * offset_dist / len); + return Line(Point(coord_t(a.x() + perp.x()), coord_t(a.y() + perp.y())), + Point(coord_t(b.x() + perp.x()), coord_t(b.y() + perp.y()))); + }; + + result.clear(); + result.reserve(n); + first_join_index = 0; + + // Orca: the first point is perpendicular to the first segment. + Line l_prev = offset_segment(source[0], source[1]); + result.push_back(l_prev.a); + + // Orca: use the analytic intersection of adjacent offset segments for a + // miter join. Intersecting the already rounded Line endpoints amplifies + // coordinate quantization when the source segments are nearly parallel. + for (size_t i = 1; i + 1 < n; ++i) { + Line l_next = offset_segment(source[i], source[i + 1]); + const Vec2d previous = (source[i] - source[i - 1]).cast().normalized(); + const Vec2d next = (source[i + 1] - source[i]).cast().normalized(); + const double denominator = 1. + previous.dot(next); + + bool need_bevel = denominator <= EPSILON; + Point pt; + if (! need_bevel) { + const Vec2d previous_normal(-previous.y(), previous.x()); + const Vec2d next_normal(-next.y(), next.x()); + const Vec2d miter = (previous_normal + next_normal) * (dir * offset_dist / denominator); + if (miter.norm() > miter_limit * offset_dist) { + need_bevel = true; + } else { + pt = Point(coord_t(source[i].x() + miter.x()), + coord_t(source[i].y() + miter.y())); + } + } + + if (need_bevel) { + result.push_back(l_prev.b); + if (l_next.a != result.back()) + result.push_back(l_next.a); + } else { + result.push_back(pt); + } + if (i == 1) + first_join_index = result.size() - 1; + l_prev = l_next; + } + + // Orca: the last point is perpendicular to the last segment. + result.push_back(l_prev.b); + + return true; +} + +int wipe_offset_direction(bool is_ccw, bool is_hole) +{ + const int loop_inside = is_ccw ? +1 : -1; + return is_hole ? -loop_inside : loop_inside; +} + +static bool starts_by_backtracking(const Polyline &path, Point actual_start) +{ + if (path.points.size() < 3) + return false; + // Orca: points[0] is only a storage sentinel; use the nozzle position for + // the executable connector, particularly after a wipe_on_loops pre-move. + const Vec2d connector = (path.points[1] - actual_start).cast(); + const Vec2d outgoing = (path.points[2] - path.points[1]).cast(); + // An inward connector may be perpendicular to the outgoing offset edge. + // Rounded joins must not turn that right angle into a false backtrack. + return connector.dot(outgoing) < -4. * SCALED_EPSILON * outgoing.norm(); +} + +// Orca: sample the outgoing perimeter without copying or clipping its full loop. +static Point sample_polyline_at_distance(const Polyline &polyline, double target) +{ + assert(! polyline.points.empty()); + Point result = polyline.first_point(); + for (size_t i = 1; i < polyline.points.size() && target > 0.; ++i) { + const Vec2d segment = (polyline.points[i] - result).cast(); + const double length = segment.norm(); + if (length <= SCALED_EPSILON) + continue; + if (target <= length) + return (result.cast() + segment * (target / length)).cast(); + target -= length; + result = polyline.points[i]; + } + return result; +} + +// Orca: convert an executable path into Wipe::wipe()'s stored representation. +// The first point is a dummy replaced by the actual nozzle position, while the +// remaining points are clipped to the configured wipe distance. +static bool store_wipe_path(Polyline &destination, Point seam_start, + Polyline actual_path, double max_wipe_length) +{ + if (actual_path.points.size() < 2 || max_wipe_length <= SCALED_EPSILON) + return false; + + const double actual_length = actual_path.length(); + if (actual_length <= SCALED_EPSILON) + return false; + if (actual_length - max_wipe_length > SCALED_EPSILON) + actual_path.clip_end(actual_length - max_wipe_length); + if (actual_path.points.size() < 2) + return false; + for (size_t i = 1; i < actual_path.points.size(); ++i) + if (actual_path.points[i - 1] == actual_path.points[i]) + return false; + + Polyline stored_path; + stored_path.points.reserve(actual_path.points.size()); + stored_path.points.push_back(seam_start); + stored_path.points.insert(stored_path.points.end(), actual_path.points.begin() + 1, actual_path.points.end()); + stored_path.reset_to_linear_move(); + destination = std::move(stored_path); + return true; +} + +bool offset_wipe_path(Polyline &polyline, Point seam_start, Point seam_end, Point wipe_start, + int dir, double offset_dist, double max_wipe_length) +{ + assert(dir == +1 || dir == -1); + assert(offset_dist > 0); + if (polyline.points.empty() || polyline.first_point() != seam_start || + max_wipe_length <= SCALED_EPSILON) + return false; + + const Polyline original = polyline; + const double original_length = original.length(); + if (original_length <= SCALED_EPSILON) + return false; + + double source_length = std::min(original_length, max_wipe_length); + for (;;) { + Polyline source = original; + const double clip_distance = original_length - source_length; + if (clip_distance > SCALED_EPSILON) + source.clip_end(clip_distance); + + Points wrapped_source; + wrapped_source.reserve(source.points.size() + 1); + if (seam_start == seam_end) { + // Orca: the stored loop is open at seam_start even when the seam gap is + // zero. Prepend the closing edge so build_offset_polyline() creates + // the proper join between that edge and the first outgoing edge, + // instead of leaving the first offset point on the closing wall. + size_t closing_index = original.points.size(); + while (closing_index > 0 && original.points[closing_index - 1] == seam_start) + --closing_index; + if (closing_index == 0) + return false; // Orca: the entire path is a single point. + wrapped_source.push_back(original.points[closing_index - 1]); + } else { + // Orca: use the unextruded seam-gap edge to determine the incoming + // direction at the seam. Its offset is construction geometry only; + // wiping along it would create a Z-shaped detour before the outgoing + // perimeter offset. + wrapped_source.push_back(seam_end); + } + wrapped_source.insert(wrapped_source.end(), source.points.begin(), source.points.end()); + + Points offset_points; + size_t first_join_index = 0; + if (! build_offset_polyline(wrapped_source, dir, offset_dist, offset_points, first_join_index) || + first_join_index == 0 || first_join_index >= offset_points.size()) + return false; + // Orca: discard the offset of the prepended edge and, for a bevel, its + // incoming endpoint. The executable wipe starts at the seam join and + // then follows only the already printed outgoing perimeter. + offset_points.erase(offset_points.begin(), offset_points.begin() + first_join_index); + + Polyline actual_path; + actual_path.points.reserve(offset_points.size() + 1); + actual_path.points.push_back(wipe_start); + actual_path.points.insert(actual_path.points.end(), offset_points.begin(), offset_points.end()); + + // A loop pre-move may advance past an otherwise valid offset join. + // Enter at the nozzle's projection instead of returning to the join. + // Do not repair a join that already backtracks across the seam gap; + // the caller must still validate wall crossings, material side and support. + if (seam_start != seam_end && wipe_start != seam_start && wipe_start != seam_end && + starts_by_backtracking(actual_path, wipe_start) && ! starts_by_backtracking(actual_path, seam_end)) { + size_t entry = 1; + while (entry + 1 < actual_path.points.size()) { + const Vec2d edge = (actual_path.points[entry + 1] - actual_path.points[entry]).cast(); + const double projection = (wipe_start - actual_path.points[entry]).cast().dot(edge); + if (projection <= 0.) + break; + if (projection < edge.squaredNorm()) { + actual_path.points[entry] = (actual_path.points[entry].cast() + + edge * (projection / edge.squaredNorm())).cast(); + break; + } + ++entry; + } + actual_path.points.erase(actual_path.points.begin() + 1, actual_path.points.begin() + entry); + } + + if (seam_start != seam_end && wipe_start == seam_end && + starts_by_backtracking(actual_path, wipe_start)) { + // Orca: a wide seam gap or a sharp cusp may put the first miter + // behind its outgoing edge. Reject this offset candidate so the + // caller can try the opposite side or the translated fallback. + return false; + } + + const double actual_length = actual_path.length(); + const bool source_exhausted = original_length - source_length <= SCALED_EPSILON; + if (actual_length + SCALED_EPSILON < max_wipe_length && ! source_exhausted) { + // Orca: offset joins may shorten the path at every corner. Grow the + // source until the executable offset path, not a heuristic source + // margin, reaches the configured wipe distance. + const double deficit = max_wipe_length - actual_length; + const double next_length = std::min(original_length, + source_length + std::max(deficit, 2. * SCALED_EPSILON)); + if (next_length - source_length <= SCALED_EPSILON) + return false; + source_length = next_length; + continue; + } + + // Orca: unlike an extruded offset, a wipe may safely cross or retrace the + // just-printed perimeter. The caller validates the complete executable + // path against current and earlier printed perimeter geometry. + return store_wipe_path(polyline, seam_start, std::move(actual_path), max_wipe_length); + } +} + +static bool translated_wipe_path(Polyline &polyline, Point seam_start, Point seam_end, Point wipe_start, + const Vec2d &translation, double max_wipe_length) +{ + if (translation.norm() <= SCALED_EPSILON || max_wipe_length <= SCALED_EPSILON) + return false; + + const Polyline original = polyline; + Polyline actual_path; + actual_path.points.reserve(original.points.size() + 2); + actual_path.points.push_back(wipe_start); + + const auto append_translated = [&actual_path, &translation](const Point &point) { + const Point translated = (point.cast() + translation).cast(); + if (translated != actual_path.points.back()) + actual_path.points.push_back(translated); + }; + + // Orca: translate the seam join directly. Translating seam_end and then + // following the unextruded gap back to seam_start makes the wipe double + // back whenever a gap ends near a sharp corner. + append_translated(seam_start); + for (const Point &point : original.points) + append_translated(point); + + if (seam_start != seam_end && wipe_start == seam_end && + starts_by_backtracking(actual_path, wipe_start)) { + // Orca: at a wide gap next to a cusp, the translated seam join may + // lie behind the outgoing edge. Prefer a shorter local inward move + // at the actual extrusion end over a longer lightning-shaped wipe. + actual_path.points.resize(1); + append_translated(seam_end); + } + + return store_wipe_path(polyline, seam_start, std::move(actual_path), max_wipe_length); +} + +// A segment whose endpoints lie within one line's distance capsule is fully +// supported, since that capsule is convex. Subdivide only when support changes +// between lines; fixed-distance sampling can miss an unsupported gap. +static bool segment_is_supported(Point start, Point end, + const AABBTreeLines::LinesDistancer &distancer, + double max_distance) +{ + const Point midpoint = ((start.cast() + end.cast()) * 0.5).cast(); + const auto [distance, line_index, nearest] = distancer.distance_from_lines_extra(midpoint); + if (distance > max_distance) + return false; + + const Line &line = distancer.get_line(line_index); + if (line.distance_to(start) <= max_distance && line.distance_to(end) <= max_distance) + return true; + if (distancer.distance_from_lines(start) > max_distance || + distancer.distance_from_lines(end) > max_distance) + return false; + + // Conservatively reject an unresolved transition at coordinate precision. + if ((end - start).cast().norm() <= SCALED_EPSILON) + return false; + return segment_is_supported(start, midpoint, distancer, max_distance) && + segment_is_supported(midpoint, end, distancer, max_distance); +} + +std::optional wipe_path_support_score( + const Polyline &polyline, Point wipe_start, + const AABBTreeLines::LinesDistancer &target_distancer, + const AABBTreeLines::LinesDistancer &all_support_distancer, + double max_distance) +{ + if (polyline.points.size() < 2 || target_distancer.get_lines().empty() || max_distance <= 0) + return std::nullopt; + + // Orca: require a local neighbour, not merely an earlier perimeter elsewhere in + // the region. At a convex corner, an inner wall's miter is farther from the + // external seam than its normal wall spacing, so allow the same bounded miter + // reach as the offset construction without accepting a remote island. + if (target_distancer.distance_from_lines(wipe_start) > + miter_limit * max_distance + 4. * SCALED_EPSILON) + return std::nullopt; + + Point previous = wipe_start; + for (size_t i = 1; i < polyline.points.size(); ++i) { + // Orca: a tightly curved inward path may cross back over the current wall. + // This is safe for a non-extruding wipe as long as the complete path + // remains over current or earlier printed perimeter geometry. + // Allow the same coordinate-rounding tolerance at every point, including + // the actual start substituted for the stored sentinel. + if (! segment_is_supported(previous, polyline.points[i], all_support_distancer, + max_distance + 4. * SCALED_EPSILON)) + return std::nullopt; + previous = polyline.points[i]; + } + + // Orca: decide direction at the seam. Scoring the complete path may select + // the wrong initial side when two contours converge and the later prefix + // happens to run closer to unrelated support. + return target_distancer.distance_from_lines(polyline.points[1]); +} + +static bool initial_connector_is_clear( + const Polyline &polyline, Point wipe_start, Point seam_start, + AABBTreeLines::LinesDistancer ¤t_perimeter_distancer, + double contact_tolerance) +{ + if (polyline.points.size() < 2 || polyline.points[1] == wipe_start) + return false; + + // Orca: without a seam gap, the connector necessarily starts at the wall + // and a self-touching cusp may share that same endpoint on several edges. + if (seam_start == wipe_start) + return true; + + const Line connector(wipe_start, polyline.points[1]); + const auto intersections = current_perimeter_distancer.intersections_with_line(connector); + for (const auto &intersection : intersections) { + if ((intersection.first - wipe_start).cast().norm() > contact_tolerance) + return false; + } + + Point closest; + // Orca: integer offset joins may miss the exact seam-start coordinate by + // a few microns. Treat a close pass through that point as retracing the + // external wall, but keep the unavoidable contact at the actual start. + if (connector.distance_to_squared(seam_start, &closest) <= contact_tolerance * contact_tolerance && + (closest - wipe_start).cast().norm() > contact_tolerance) + return false; + + return true; +} + +static std::optional support_offset_at_start( + const Polyline &source, Point local_origin, bool disambiguate_branch, + AABBTreeLines::LinesDistancer &support_distancer, + double max_support_distance) +{ + if (source.points.size() < 2) + return std::nullopt; + + // Orca: a nonzero gap may put the seam beside the wrong branch of a cusp. + // Sample farther along the path to identify its actual neighbouring wall. + const Point support_query = disambiguate_branch ? + sample_polyline_at_distance(source, 2. * max_support_distance) : source.first_point(); + const auto nearest_result = support_distancer.distance_from_lines_extra(support_query); + const Line &nearest_line = support_distancer.get_line(std::get<1>(nearest_result)); + Vec2d sampled_offset = std::get<2>(nearest_result) - support_query.cast(); + + if (disambiguate_branch) { + // Orca: an endpoint projection also contains distance along the support + // segment. Remove that tangent component before comparing wall sides. + const Vec2d support_edge = (nearest_line.b - nearest_line.a).cast(); + if (support_edge.norm() > SCALED_EPSILON) { + const Vec2d support_tangent = support_edge.normalized(); + sampled_offset -= support_tangent * sampled_offset.dot(support_tangent); + } + } + if (sampled_offset.norm() <= SCALED_EPSILON) + return std::nullopt; + + if (! disambiguate_branch) + return sampled_offset; + + // Orca: find the local point on the same material-side branch. Using the + // sampled point itself would add the distance already travelled along the + // perimeter and turn a normal transition into a long diagonal move. + const Vec2d sampled_direction = sampled_offset.normalized(); + Vec2d local_offset = sampled_offset; + double best_local_score = std::numeric_limits::infinity(); + for (size_t line_index : support_distancer.all_lines_in_radius( + local_origin, 2. * max_support_distance + 4. * SCALED_EPSILON)) { + Point local_support; + const Line &line = support_distancer.get_line(line_index); + const double distance_squared = line.distance_to_squared(local_origin, &local_support); + const Vec2d candidate_offset = local_support.cast() - local_origin.cast(); + const double candidate_distance = std::sqrt(distance_squared); + if (candidate_distance <= SCALED_EPSILON) + continue; + const double alignment = candidate_offset.normalized().dot(sampled_direction); + if (alignment < min_support_alignment) + continue; + const double score = candidate_distance / alignment; + if (score < best_local_score) { + best_local_score = score; + local_offset = candidate_offset; + } + } + return local_offset; +} + +static double executable_path_length(const Polyline &stored_path, Point wipe_start) +{ + if (stored_path.points.size() < 2) + return 0.; + + // Orca: points[0] is the storage sentinel, so measure the first segment + // from the actual nozzle position and the remaining stored segments normally. + double length = (stored_path.points[1] - wipe_start).cast().norm(); + for (size_t index = 2; index < stored_path.points.size(); ++index) + length += (stored_path.points[index] - stored_path.points[index - 1]).cast().norm(); + return length; +} + +static Lines material_side_support_lines(const Polyline &path, Point seam, int preferred_dir, + const Lines &support_lines) +{ + if (path.points.size() < 4 || path.first_point() != path.last_point()) + return {}; + + // Orca: the bisector of the incoming and outgoing material-side normals is + // a local side test that remains valid for globally self-touching Arachne + // contours. Ignore repeated seam points when obtaining both tangents. + const auto outgoing_it = std::find_if( + path.points.begin() + 1, path.points.end(), [seam](const Point &point) { return point != seam; }); + const auto incoming_it = std::find_if( + path.points.rbegin() + 1, path.points.rend(), [seam](const Point &point) { return point != seam; }); + if (outgoing_it == path.points.end() || incoming_it == path.points.rend()) + return {}; + + const Vec2d outgoing = (*outgoing_it - seam).cast().normalized(); + const Vec2d incoming = (seam - *incoming_it).cast().normalized(); + const Vec2d material_direction = + (Vec2d(-outgoing.y(), outgoing.x()) + Vec2d(-incoming.y(), incoming.x())) * preferred_dir; + if (material_direction.norm() <= EPSILON) + return {}; + + Lines result; + result.reserve(support_lines.size()); + for (const Line &line : support_lines) { + Point closest; + line.distance_to_squared(seam, &closest); + if ((closest - seam).cast().dot(material_direction) > SCALED_EPSILON) + result.push_back(line); + } + return result; +} + +bool wipe_path_stays_on_material_side( + const Polyline &path, Point path_start, const Vec2d &support_direction, + const AABBTreeLines::LinesDistancer &target_perimeter_distancer, + const AABBTreeLines::LinesDistancer ¤t_perimeter_distancer, + double effective_offset, bool require_clearance) +{ + if (path.points.size() < 2 || support_direction.norm() <= EPSILON || + target_perimeter_distancer.get_lines().empty() || current_perimeter_distancer.get_lines().empty() || + effective_offset <= SCALED_EPSILON) + return false; + + const Vec2d initial_offset = (path.points[1] - path_start).cast(); + if (initial_offset.norm() <= SCALED_EPSILON || + initial_offset.normalized().dot(support_direction.normalized()) < min_support_alignment) + return false; + // Orca: after the connector has left the extrusion endpoint, an inward + // offset must retain most of its requested clearance from the current + // external wall. Otherwise a tight turn may send an initially correct path + // back onto that wall, or make the opposite-side candidate look supported. + const double clearance_tolerance = wipe_tolerance(effective_offset, 0.25); + const double minimum_clearance = effective_offset - clearance_tolerance; + const Lines &lines = current_perimeter_distancer.get_lines(); + const auto left_normal = [](const Line &line) -> Vec2d { + const Vec2d edge = (line.b - line.a).cast(); + if (edge.norm() <= SCALED_EPSILON) + return Vec2d::Zero(); + return Vec2d(-edge.y(), edge.x()).normalized(); + }; + const auto on_material_side = [&](const Point &point, bool check_clearance) { + const auto [distance, line_index, nearest] = + current_perimeter_distancer.distance_from_lines_extra(point); + if (line_index >= lines.size()) + return false; + const Line &line = lines[line_index]; + Vec2d normal = left_normal(line); + // At a shared vertex use both incident edges, so the result does not + // depend on which equally close edge the AABB query happens to return. + const Line &previous = lines[(line_index + lines.size() - 1) % lines.size()]; + const Line &next = lines[(line_index + 1) % lines.size()]; + if ((nearest - line.a.cast()).norm() <= SCALED_EPSILON && previous.b == line.a) + normal += left_normal(previous); + if ((nearest - line.b.cast()).norm() <= SCALED_EPSILON && next.a == line.b) + normal += left_normal(next); + if (normal.norm() <= EPSILON) + return false; + + // An open or self-touching wall has no reliable polygon-wide sign. + // Orient its local normal toward the neighbouring printed inner wall, + // then test the candidate on that side at every sample. + normal.normalize(); + const Point wall_point = nearest.cast(); + const Vec2d support_point = std::get<2>( + target_perimeter_distancer.distance_from_lines_extra(wall_point)); + const double support_side = (support_point - nearest).dot(normal); + if (std::abs(support_side) <= 4. * SCALED_EPSILON) + return false; + const double side = (point.cast() - nearest).dot(normal) * (support_side > 0. ? 1. : -1.); + return side >= -4. * SCALED_EPSILON && + (! check_clearance || distance + 4. * SCALED_EPSILON >= minimum_clearance); + }; + + Point previous = path.points[1]; + if (! on_material_side(previous, require_clearance)) + return false; + for (size_t index = 2; index < path.points.size(); ++index) { + const Vec2d segment = (path.points[index] - previous).cast(); + const size_t samples = std::max(1, size_t(std::ceil(segment.norm() / effective_offset))); + for (size_t sample = 1; sample <= samples; ++sample) { + const Point point = (previous.cast() + + segment * (double(sample) / double(samples))).cast(); + if (! on_material_side(point, require_clearance)) + return false; + } + previous = path.points[index]; + } + return true; +} + +bool offset_wipe_path_toward_support(Polyline &polyline, Point seam_start, Point seam_end, Point wipe_start, + int preferred_dir, double offset_dist, double max_wipe_length, + const Lines &target_perimeter_lines, const Lines &printed_perimeter_lines, + const Lines ¤t_perimeter_lines, + double max_support_distance) +{ + assert(preferred_dir == +1 || preferred_dir == -1); + if (polyline.points.size() < 2 || target_perimeter_lines.empty() || current_perimeter_lines.empty() || + offset_dist <= SCALED_EPSILON || + max_wipe_length <= SCALED_EPSILON || max_support_distance <= SCALED_EPSILON) + return false; + + Lines material_support_lines; + const Lines *candidate_support_lines = &target_perimeter_lines; + if (seam_start == seam_end) { + // Orca: another contour may have a geometrically closer inner wall on + // this loop's air side. Restrict zero-gap support using the local seam + // normals before choosing the nearest wall. + material_support_lines = material_side_support_lines( + polyline, seam_start, preferred_dir, target_perimeter_lines); + if (material_support_lines.empty()) + return false; + candidate_support_lines = &material_support_lines; + } + + AABBTreeLines::LinesDistancer support_distancer(*candidate_support_lines); + const std::optional support_offset = support_offset_at_start( + polyline, seam_end, seam_start != seam_end, + support_distancer, max_support_distance); + if (! support_offset) + return false; + const Vec2d toward_support = *support_offset; + const double local_support_distance = toward_support.norm(); + const double effective_offset = std::min(offset_dist, local_support_distance); + if (effective_offset <= SCALED_EPSILON) + return false; + const Vec2d support_direction = toward_support / local_support_distance; + + // Orca: every candidate is validated against the same generated geometry. + // Build these AABB trees once per loop instead of rebuilding them for each + // preferred, alternate, translated, direct, or reversed candidate. + Lines all_support_lines = printed_perimeter_lines; + all_support_lines.insert(all_support_lines.end(), current_perimeter_lines.begin(), current_perimeter_lines.end()); + AABBTreeLines::LinesDistancer all_support_distancer(std::move(all_support_lines)); + AABBTreeLines::LinesDistancer current_perimeter_distancer(current_perimeter_lines); + + // Orca: allow only the contact needed to leave the extrusion endpoint. A + // connector that meets the current wall again is a seam-gap retrace, even + // if the rest of the non-extruding wipe remains over printed material. + const double contact_tolerance = wipe_tolerance(effective_offset); + + struct Candidate { + Polyline path; + // Orca: support score chooses the material-side path; length is used + // only to replace a corner-truncated path with the reverse fallback. + double support_score; + double path_length; + }; + + // Direction and wall contact have different origins after a loop pre-move. + // Keep the construction's wall endpoint for intersection checks even when + // the candidate's direction must be checked from the current nozzle position. + const auto validate_candidate = [&](Polyline path, Point path_start, Point direction_start, + double path_contact_tolerance, + const Vec2d &candidate_support_direction, + double candidate_offset, + bool require_clearance = true) -> std::optional { + // Orca: backtracking indicates a wrong join only across a nonzero gap. + // A closed zero-gap offset may initially turn back at its miter while + // still remaining on the supported material side of the perimeter. + const bool backtracks_across_gap = seam_start != seam_end && starts_by_backtracking(path, wipe_start); + // At a clipped corner another branch of the current wall may be closer + // than the requested offset. Preserve the zero-gap clearance rule, but + // check direction and local material side independently for every gap. + const bool material_side = wipe_path_stays_on_material_side( + path, direction_start, candidate_support_direction, + support_distancer, current_perimeter_distancer, candidate_offset, + require_clearance && seam_start == seam_end); + const bool connector_clear = initial_connector_is_clear( + path, wipe_start, path_start, current_perimeter_distancer, path_contact_tolerance); + if (backtracks_across_gap || ! material_side || ! connector_clear) + return std::nullopt; + const std::optional score = wipe_path_support_score( + path, wipe_start, support_distancer, all_support_distancer, max_support_distance); + if (! score) + return std::nullopt; + const double path_length = executable_path_length(path, wipe_start); + return Candidate{std::move(path), *score, path_length}; + }; + + const auto offset_candidate = [&](int dir) -> std::optional { + Polyline path = polyline; + if (! offset_wipe_path(path, seam_start, seam_end, wipe_start, dir, + effective_offset, max_wipe_length)) + return std::nullopt; + return validate_candidate(std::move(path), seam_start, seam_start, + contact_tolerance, support_direction, effective_offset); + }; + + std::optional preferred = offset_candidate(preferred_dir); + std::optional alternate = offset_candidate(-preferred_dir); + + // Orca: forward and reverse fallbacks share the same clamping, translation, + // connector tolerance, and complete-path validation. + const auto translated_candidate = [&](Polyline source, Point source_start, Point source_end, + const Vec2d &candidate_support_offset) -> std::optional { + const double support_distance = candidate_support_offset.norm(); + const double candidate_offset = std::min(offset_dist, support_distance); + if (candidate_offset <= SCALED_EPSILON) + return std::nullopt; + + const Vec2d candidate_translation = candidate_support_offset * (candidate_offset / support_distance); + if (! translated_wipe_path(source, source_start, source_end, wipe_start, + candidate_translation, max_wipe_length)) + return std::nullopt; + const double candidate_tolerance = wipe_tolerance(candidate_offset); + return validate_candidate(std::move(source), source_start, source_start, candidate_tolerance, + candidate_support_offset / support_distance, candidate_offset); + }; + + std::optional translated = translated_candidate(polyline, seam_start, seam_end, toward_support); + + // Orca: if every full-length construction folds back onto the external + // wall, retain a short direct inward move instead of accepting an outward + // candidate or falling back to the standard wipe along the outer wall. + const auto direct_candidate = [&](Point origin, const Vec2d &candidate_support_offset) -> std::optional { + const double support_distance = candidate_support_offset.norm(); + const double candidate_offset = std::min(offset_dist, support_distance); + if (candidate_offset <= SCALED_EPSILON) + return std::nullopt; + const Vec2d direction = candidate_support_offset / support_distance; + const Point destination = (origin.cast() + direction * candidate_offset).cast(); + if (destination == wipe_start) + return std::nullopt; + + Polyline path; + if (! store_wipe_path(path, seam_start, Polyline{wipe_start, destination}, max_wipe_length)) + return std::nullopt; + const double candidate_tolerance = wipe_tolerance(candidate_offset); + // Check the executed direction from the nozzle after any loop pre-move, + // but retain the wall origin for the connector's intersection checks. + return validate_candidate(std::move(path), origin, wipe_start, + candidate_tolerance, direction, candidate_offset, false); + }; + std::optional direct = direct_candidate(seam_end, toward_support); + + const double length_margin = wipe_tolerance(max_wipe_length); + std::optional reversed; + if (seam_start != seam_end && polyline.last_point() == seam_end) { + // Orca: when a large gap straddles a sharp corner, connecting the + // extrusion end to the forward offset may either reverse or leave only + // a short local move. The already printed incoming wall is equally safe: + // follow it backwards and determine its own material-side support. + Polyline reversed_source = polyline; + reversed_source.reverse(); + const std::optional reversed_support_offset = support_offset_at_start( + reversed_source, seam_end, true, support_distancer, max_support_distance); + if (reversed_support_offset) { + reversed = translated_candidate(reversed_source, seam_end, seam_end, *reversed_support_offset); + // A translated reverse path can backtrack or leave the material on + // a curved wall. Offset the incoming wall itself when translation + // cannot supply a complete wipe, retaining all candidate checks. + if (! reversed || reversed->path_length + length_margin < max_wipe_length) { + const double reverse_offset = std::min(offset_dist, reversed_support_offset->norm()); + if (reverse_offset > SCALED_EPSILON && + offset_wipe_path(reversed_source, seam_end, seam_start, wipe_start, + -preferred_dir, reverse_offset, max_wipe_length)) { + reversed_source.points.front() = seam_start; + auto candidate = validate_candidate(std::move(reversed_source), seam_end, seam_end, + wipe_tolerance(reverse_offset), reversed_support_offset->normalized(), reverse_offset); + if (candidate && (! reversed || + (candidate->path_length > reversed->path_length + length_margin && + candidate->support_score <= reversed->support_score + wipe_tolerance(reverse_offset)))) + reversed = std::move(candidate); + } + } + } + } + + // Orca: conventional offsets at a narrow cusp may form a bevel across the + // cusp. Candidates pointing away from the actual inner wall are rejected + // during validation; among the remaining paths, prefer the one whose first + // point is materially closer to that wall. + const double direction_change_margin = wipe_tolerance(effective_offset); + std::optional selected = std::move(preferred); + if (translated) { + if (! selected || translated->support_score + direction_change_margin < selected->support_score) + selected = std::move(translated); + } + if (! selected) + selected = std::move(direct); + // Prefer a direct inward move when the normal offset cannot be used. + // An alternate offset is eligible only after the same material-side checks. + if (! selected) + selected = std::move(alternate); + + // Orca: prefer a complete reverse wipe over a forward fallback that had to + // stop at the corner. Equal-length paths keep the normal forward behavior. + if (reversed && (! selected || + (reversed->path_length > selected->path_length + length_margin && + reversed->support_score <= selected->support_score + direction_change_margin))) + selected = std::move(reversed); + if (! selected) + return false; + + polyline = std::move(selected->path); + return true; +} + +std::optional wipe_on_loops_destination(const ExtrusionPaths &paths, double nozzle_diam_scaled, + bool is_ccw, bool is_hole) +{ + assert(!paths.empty()); + assert(nozzle_diam_scaled > 0); + if (paths.empty() || nozzle_diam_scaled <= 0) + return std::nullopt; + + // Orca: clamp sample distance to L/4 so forward/backward samples cannot meet. + double total_length = 0.; + for (const ExtrusionPath &path : paths) + total_length += path.length(); + const double sample_distance = std::min(nozzle_diam_scaled, total_length * 0.25); + + Point a = sample_path_at_distance(paths, true, sample_distance); + Point b = sample_path_at_distance(paths, false, sample_distance); + + const Point seam_start = paths.front().first_point(); + + // Orca: skip the inward move for degenerate geometry. + if (a == b || a == seam_start || b == seam_start) + return std::nullopt; + + const bool reverse_turn = is_hole == is_ccw; + if (reverse_turn) + std::swap(a, b); + + double angle = seam_start.ccw_angle(a, b) / 3; + + // Orca: reject degenerate angles near 0 or 2π. + static constexpr double angle_epsilon = 0.01; + if (angle < angle_epsilon || angle > 2 * PI / 3 - angle_epsilon) + return std::nullopt; + + if (reverse_turn) + angle *= -1; + + Point pt = sample_path_at_distance(paths, true, std::min(0.2 * nozzle_diam_scaled, sample_distance)); + pt.rotate(angle, seam_start); + return pt; +} + +} // namespace Slic3r diff --git a/src/libslic3r/GCode/WipePathHelpers.hpp b/src/libslic3r/GCode/WipePathHelpers.hpp new file mode 100644 index 0000000000..616e5dc88b --- /dev/null +++ b/src/libslic3r/GCode/WipePathHelpers.hpp @@ -0,0 +1,96 @@ +#pragma once + +#include + +#include "../ExtrusionEntity.hpp" +#include "../Polyline.hpp" +#include "../Line.hpp" + +namespace Slic3r { + +// Printed prefix of one region's perimeter sequence. Append each entity only +// after extrusion; later walls and other regions cannot support an inward wipe. +struct WipeInwardSupport { + Lines printed_lines; + Lines inner_lines; + void append(const ExtrusionEntity &entity); +}; + +namespace AABBTreeLines { +template class LinesDistancer; +} + +// Orca: sample a point at a given distance along ExtrusionPaths, walking +// across segment boundaries. forward=true walks from paths.front, false from +// paths.back. For tiny loops the walk stops early and returns the last +// reachable point. Returns the start point if target is zero. +// Precondition: paths must be non-empty. +Point sample_path_at_distance(const ExtrusionPaths &paths, bool forward, double target); + +// Orca: return the side of the printed path on which the material lies. +// dir +1 is left and -1 is right, matching the offset-builder convention. +int wipe_offset_direction(bool is_ccw, bool is_hole); + +// Orca: atomically offset a stored wipe path. The seam-gap or closing edge +// determines the join with the first outgoing perimeter edge, but its offset +// is not part of the executable wipe. Only the prefix needed by Wipe::wipe() +// is offset. Returns false and leaves polyline unchanged if that path cannot +// be constructed without degenerate segments. This only constructs a candidate; +// offset_wipe_path_toward_support() validates its support, material side and +// connector before accepting it. The first stored point +// remains a dummy preserving Wipe::wipe()'s convention of skipping points[0]. +// Precondition: polyline starts at seam_start, dir is +1 or -1, and +// offset_dist > 0. A non-positive max_wipe_length returns false. +bool offset_wipe_path(Polyline &polyline, Point seam_start, Point seam_end, Point wipe_start, + int dir, double offset_dist, double max_wipe_length); + +// Orca: score a candidate's first destination by distance to the target inner +// walls. Return nullopt if no target wall is near wipe_start or any executable +// segment lacks support. target_distancer contains eligible earlier walls; +// all_support_distancer includes the current wall and all earlier walls. +// The stored first point is a dummy: the first segment starts at wipe_start. +// This checks support only; material-side and connector checks belong to +// offset_wipe_path_toward_support(). Trees are reused across its candidates. +std::optional wipe_path_support_score( + const Polyline &polyline, Point wipe_start, + const AABBTreeLines::LinesDistancer &target_distancer, + const AABBTreeLines::LinesDistancer &all_support_distancer, + double max_distance); + +// Validate the initial inward direction and the local material side along the +// executable path, using the inner wall to orient the open current wall's +// normals. Clearance is optional for clipped corners and short direct fallbacks; +// the material-side check is mandatory. The straight connector is checked by +// its initial direction and separately by support and intersection validation. +// path_start is the construction origin; points[0] is only a storage sentinel. +bool wipe_path_stays_on_material_side( + const Polyline &path, Point path_start, const Vec2d &support_direction, + const AABBTreeLines::LinesDistancer &target_perimeter_distancer, + const AABBTreeLines::LinesDistancer ¤t_perimeter_distancer, + double effective_offset, bool require_clearance); + +// Orca: identify the adjacent inner perimeter from the outgoing wall, excluding +// support on the air side of a closed zero-gap loop. Clamp the requested offset +// to the distance from the seam end to that support, then select the safest +// supported offset or translated path. If a wide seam gap at a corner truncates +// every forward candidate, the incoming printed wall may be followed backwards +// instead. All earlier printed perimeters still participate in the complete-path +// safety check. This handles converging, locally ambiguous, or self-touching +// contours whose global winding alone does not identify the material side. +// Returns false and leaves polyline unchanged when no candidate is supported. +// Precondition: preferred_dir is +1 or -1. Distances must be positive. +bool offset_wipe_path_toward_support(Polyline &polyline, Point seam_start, Point seam_end, Point wipe_start, + int preferred_dir, double offset_dist, double max_wipe_length, + const Lines &target_perimeter_lines, const Lines &printed_perimeter_lines, + const Lines ¤t_perimeter_lines, + double max_support_distance); + +// Orca: compute the inward destination point for wipe_on_loops, or +// std::nullopt when the geometry is degenerate (tiny loop, coincident samples, +// angle near 0 or 2π). Returns the rotated destination or nullopt to skip the +// inward move entirely. +// Precondition: paths non-empty, nozzle_diam_scaled > 0. +std::optional wipe_on_loops_destination(const ExtrusionPaths &paths, double nozzle_diam_scaled, + bool is_ccw, bool is_hole); + +} // namespace Slic3r diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 8aff5f4a3f..a700ada09f 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -25,6 +25,72 @@ static constexpr int arc_fit_size = 20; enum class LimitFlow { None, LimitPrintFlow, LimitRammingFlow, LimitRammingFlowNC};//nc:nozzle change static const std::map nozzle_diameter_to_nozzle_change_width{{0.2f, 0.5f}, {0.4f, 1.0f}, {0.6f, 1.2f}, {0.8f, 1.4f}}; +bool wipe_tower_sparse_layers_skipped(const PrintConfig &config) +{ + return config.wipe_tower_no_sparse_layers.value && config.timelapse_type.value != TimelapseType::tlSmooth && + ! config.enable_wrapping_detection.value; +} + +bool wipe_tower_layer_is_sparse(const std::vector &layer_tool_changes) +{ + return layer_tool_changes.size() == 1 && layer_tool_changes.front().initial_tool == layer_tool_changes.front().new_tool; +} + +std::vector compute_compacted_wipe_tower_z(const std::vector> &tool_changes, + float base_z) +{ + std::vector tower_z(tool_changes.size(), base_z); + float last = base_z; + for (size_t i = 0; i < tool_changes.size(); ++i) { + if (! tool_changes[i].empty() && ! wipe_tower_layer_is_sparse(tool_changes[i])) + last += tool_changes[i].front().layer_height; + tower_z[i] = last; + } + return tower_z; +} + +bool wipe_tower_sparse_layers_combined(const PrintConfig &config) +{ + return config.wipe_tower_sparse_layers_combination.value && ! wipe_tower_sparse_layers_skipped(config) && + config.timelapse_type.value != TimelapseType::tlSmooth && ! config.enable_wrapping_detection.value; +} + +bool wipe_tower_layer_is_combined_away(const std::vector &layer_tool_changes) +{ + return ! layer_tool_changes.empty() && layer_tool_changes.front().combined_away; +} + +std::vector combine_sparse_wipe_tower_layers(std::vector &layer_height, + const std::vector &layer_is_sparse, + const std::vector &max_layer_height, + size_t first_layer_idx) +{ + assert(layer_is_sparse.size() == layer_height.size() && max_layer_height.size() == layer_height.size()); + std::vector combined_away(layer_height.size(), 0); + float pending_height = 0.f; // what the layers folded away so far add up to + for (size_t i = 0; i < layer_height.size(); ++i) { + // A toolchange has to purge at its own z, so it neither folds away nor takes over the run + // below it - and a run always flushes on its own last layer, so nothing is ever pending here. + if (! layer_is_sparse[i] || i <= first_layer_idx) { + pending_height = 0.f; + continue; + } + const float merged = pending_height + layer_height[i]; + // Hand the run on only if the next layer can swallow the whole thing; a layer already past + // the cap is left alone rather than shrunk. + const bool next_takes_it = i + 1 < layer_height.size() && layer_is_sparse[i + 1] && + merged + layer_height[i + 1] <= max_layer_height[i + 1] + float(EPSILON); + if (next_takes_it) { + combined_away[i] = 1; + pending_height = merged; + } else { + layer_height[i] = merged; + pending_height = 0.f; + } + } + return combined_away; +} + inline float align_round(float value, float base) { return std::round(value / base) * base; @@ -1349,7 +1415,7 @@ public: // flavor it reaches understands, not the zero dwell the other flavors flush with. buffer += "M400\n"; buffer += "M104"; - if (target_extruder != -1) + if (target_extruder != -1 && target_extruder < int(m_physical_extruder_map.size())) buffer += (" T" + std::to_string(m_physical_extruder_map[target_extruder])); buffer += " S" + std::to_string(target_temp) + " N0"; // N0 means the gcode is generated by slicer if (!comment.empty()) buffer += " ;" + comment; @@ -1361,7 +1427,7 @@ public: WipeTowerWriter &format_line_M109(int target_temp, int target_extruder, const std::string &comment = std::string()) { std::string buffer = "M109"; - if (target_extruder != -1) + if (target_extruder != -1 && target_extruder < int(m_physical_extruder_map.size())) buffer += (" T" + std::to_string(m_physical_extruder_map[target_extruder])); buffer += " S" + std::to_string(target_temp) + " N0"; // N0 means the gcode is generated by slicer if (!comment.empty()) buffer += " ;" + comment; @@ -1630,6 +1696,94 @@ float WipeTower::get_auto_brim_by_height(float max_height) { return 8.f; } +float WipeTower::estimate_brim_real_width(float brim_width, float nozzle_diameter, float first_layer_height, bool type2) +{ + if (brim_width <= 0.f) + return brim_width; + const float spacing = nozzle_diameter * 1.25f - first_layer_height * float(1. - M_PI_4); // Width_To_Nozzle_Ratio + if (spacing <= EPSILON) + return brim_width; + const int loops_num = int((brim_width + spacing / 2.f) / spacing); + return loops_num * spacing + (type2 ? 0.f : spacing / 2.f); +} + +float WipeTower::get_wrapping_detection_depth() +{ + return float(wrapping_wipe_tower_depth); +} + +float WipeTower::nozzle_change_perimeter_width(float nozzle_diameter) +{ + auto it = nozzle_diameter_to_nozzle_change_width.find(nozzle_diameter); + return it != nozzle_diameter_to_nozzle_change_width.end() ? it->second : 2.f * nozzle_diameter * 1.25f; +} + +float WipeTower::estimate_tower_blocks_depth(const std::vector &purges, float width, float layer_height, float nozzle_diameter, float extra_spacing) +{ + if (purges.empty() || layer_height < EPSILON || nozzle_diameter < EPSILON) + return 0.f; + const float pw = nozzle_diameter * 1.25f; // Width_To_Nozzle_Ratio + const float ncpw = nozzle_change_perimeter_width(nozzle_diameter); + const float line_width = width - 2.f * pw; + if (line_width <= EPSILON) + return 0.f; + // Line cross-section as volume_to_length() sees it; the infill gap stretches the perimeter + // width by the configured ratio and nozzle-change lines keep their own width + // (calc_block_infill_gap). + auto line_area = [layer_height](float w) { return layer_height * (w - layer_height * float(1. - M_PI_4)); }; + const float extra_width = (extra_spacing - 1.f) * pw; + const float gap = pw + extra_width; + const float nc_gap = ncpw + extra_width; + // A layer purges into at most (filaments - 1) targets, so a category holding every filament + // never sees its smallest purge (the layer's first filament) in its worst layer. + struct Block { float depth = 0.f; float min_purge = 0.f; size_t filaments = 0; }; + std::map blocks; + for (const PurgeEstimate &purge : purges) { + Block &block = blocks[purge.category]; + const float purge_depth = std::ceil(purge.prime_volume / line_area(pw) / line_width) * gap; + block.min_purge = block.filaments == 0 ? purge_depth : std::min(block.min_purge, purge_depth); + block.depth += purge_depth; + ++block.filaments; + if (purge.filament_change_length > EPSILON) { + // The leaving filament is rammed over the nozzle-change flow, again in whole lines. + const float filament_area = float(M_PI) * purge.filament_diameter * purge.filament_diameter / 4.f; + const float nc_length = purge.filament_change_length * filament_area / line_area(ncpw); + block.depth += std::ceil(nc_length / (width - ncpw - pw)) * nc_gap; + } + } + float depth = pw; // plan_tower_new starts the first block one perimeter width in + for (const auto &[category, block] : blocks) + depth += block.filaments == purges.size() ? block.depth - block.min_purge : block.depth; + return depth; +} + +float WipeTower::rib_footprint_side(float width, float depth, float rib_width, float extra_rib_length, float max_height) +{ + if (width < EPSILON || depth < EPSILON) + return 0.f; + // Ribs run the diagonal; below the height-based minimum they are extended rather than the + // body, then by the extra length, never ending up shorter than the diagonal. + const float diagonal = std::sqrt(width * width + depth * depth); + float rib_length = diagonal; + if (depth + EPSILON < get_limit_depth_by_height(max_height)) + rib_length = std::max(rib_length, get_limit_depth_by_height(max_height) * float(std::sqrt(2.))); + rib_length = std::max(diagonal, rib_length + extra_rib_length); + // Half the extension at each end of the diagonal plus half the rib width, projected onto the axes. + const float rib_w = std::min(rib_width, std::min(width, depth) / 2.f); + const float per_side = ((rib_length - diagonal) / 2.f + rib_w / 2.f) / float(std::sqrt(2.)); + return std::max(width, depth) + 2.f * per_side; +} + +float WipeTower::estimate_rib_tower_bbox_side(const std::vector &purges, float width, float layer_height, float nozzle_diameter, float extra_spacing, float rib_width, float extra_rib_length, float max_height) +{ + if (purges.empty() || width < EPSILON || layer_height < EPSILON || nozzle_diameter < EPSILON) + return 0.f; + const float pw = nozzle_diameter * 1.25f; // Width_To_Nozzle_Ratio + const float square = align_ceil(std::sqrt(estimate_tower_blocks_depth(purges, width, layer_height, nozzle_diameter, extra_spacing) * width), pw); + const float depth = estimate_tower_blocks_depth(purges, square, layer_height, nozzle_diameter, extra_spacing); + return rib_footprint_side(square, depth, rib_width, extra_rib_length, max_height); +} + Vec2f WipeTower::move_box_inside_polygon(const BoundingBox &box, const Polygons &polygons, coord_t offset) { if (polygons.empty()) return Vec2f{0.f, 0.f}; @@ -1791,7 +1945,8 @@ WipeTower::WipeTower(const PrintConfig& config, int plate_idx, Vec3d plate_origi m_z_pos(0.f), //m_bridging(float(config.wipe_tower_bridging)), m_bridging(10.f), - m_no_sparse_layers(config.wipe_tower_no_sparse_layers), + m_sparse_layers_skipped(wipe_tower_sparse_layers_skipped(config)), + m_sparse_layers_combined(wipe_tower_sparse_layers_combined(config)), m_gcode_flavor(config.gcode_flavor), m_travel_speed(config.travel_speed.get_at(get_extruder_index(config, (unsigned int)initial_tool))), m_current_tool(initial_tool), @@ -1916,6 +2071,16 @@ void WipeTower::set_extruder(size_t idx, const PrintConfig& config) float nozzle_diameter = float(config.nozzle_diameter.get_at(idx)); m_filpar[idx].nozzle_diameter = nozzle_diameter; // to be used in future with (non-single) multiextruder MM + // Orca: max_layer_height is per nozzle, so read it through the filament->nozzle map rather than + // by filament id. Zero means three quarters of the nozzle diameter, as in Slicing.cpp. + { + const std::vector &filament_map = config.filament_map.values; // 1 based nozzle indices + const size_t nozzle_idx = idx < filament_map.size() && filament_map[idx] > 0 ? size_t(filament_map[idx] - 1) : 0; + const float max_layer_height = float(config.max_layer_height.get_at(nozzle_idx)); + m_filpar[idx].max_layer_height = max_layer_height > 0.f ? max_layer_height + : 0.75f * float(config.nozzle_diameter.get_at(nozzle_idx)); + } + float max_vol_speed = float(config.filament_max_volumetric_speed.get_at(idx)); if (max_vol_speed!= 0.f) m_filpar[idx].max_e_speed = (max_vol_speed / filament_area()); @@ -2889,7 +3054,7 @@ WipeTower::ToolChangeResult WipeTower::finish_layer(bool extrude_perimeter, bool // Ask our writer about how much material was consumed. // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. - if (! m_no_sparse_layers || toolchanges_on_layer) + if (layer_is_printed(toolchanges_on_layer)) if (m_current_tool < m_used_filament_length.size()) m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); @@ -2933,7 +3098,7 @@ void WipeTower::plan_toolchange(float z_par, float layer_height_par, unsigned in if (m_plan.empty() || m_plan.back().z + WT_EPSILON < z_par) // if we moved to a new layer, we'll add it to m_plan first m_plan.push_back(WipeTowerInfo(z_par, layer_height_par)); - if (m_first_layer_idx == size_t(-1) && (! m_no_sparse_layers || old_tool != new_tool)) + if (m_first_layer_idx == size_t(-1) && (! m_sparse_layers_skipped || old_tool != new_tool)) m_first_layer_idx = m_plan.size() - 1; if (old_tool == new_tool) // new layer without toolchanges - we are done @@ -3221,7 +3386,7 @@ void WipeTower::get_wall_skip_points(const WipeTowerInfo &layer, int layer_id) if (!cur_block_depth.count(m_filpar[new_filament].category)) cur_block_depth[m_filpar[new_filament].category] = block->start_depth; process_depth = cur_block_depth[m_filpar[new_filament].category]; if (is_need_ramming(new_filament, old_filament, layer_id)) { - if (m_filament_categories[new_filament] == m_filament_categories[old_filament]) + if (get_filament_category(new_filament) == get_filament_category(old_filament)) process_depth += nozzle_change_depth; else { if (!cur_block_depth.count(m_filpar[old_filament].category)) { @@ -3786,7 +3951,7 @@ WipeTower::ToolChangeResult WipeTower::finish_layer_new(bool extrude_perimeter, // Ask our writer about how much material was consumed. // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. - if (!m_no_sparse_layers || toolchanges_on_layer) + if (layer_is_printed(toolchanges_on_layer)) if (m_current_tool < m_used_filament_length.size()) m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); @@ -3896,7 +4061,7 @@ WipeTower::ToolChangeResult WipeTower::finish_block(const WipeTowerBlock &block, // Ask our writer about how much material was consumed. // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. - if (!m_no_sparse_layers || toolchanges_on_layer) + if (layer_is_printed(toolchanges_on_layer)) if (filament_id < m_used_filament_length.size()) m_used_filament_length[filament_id] += writer.get_and_reset_used_filament_length(); @@ -4013,7 +4178,7 @@ WipeTower::ToolChangeResult WipeTower::finish_block_solid(const WipeTowerBlock & // Ask our writer about how much material was consumed. // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. - if (!m_no_sparse_layers || toolchanges_on_layer) + if (layer_is_printed(toolchanges_on_layer)) if (filament_id < m_used_filament_length.size()) m_used_filament_length[filament_id] += writer.get_and_reset_used_filament_length(); @@ -4556,6 +4721,15 @@ void WipeTower::calc_block_infill_gap() m_extra_spacing = 1.f; } +// A folded layer is generated like any other but thrown away by the emitter, so its extrusions must +// not be charged to the filament used. +bool WipeTower::layer_is_printed(bool toolchanges_on_layer) const +{ + if (m_layer_info != m_plan.end() && m_layer_info->combined_away) + return false; + return ! m_sparse_layers_skipped || toolchanges_on_layer; +} + void WipeTower::plan_tower_new() { if (m_wipe_tower_brim_width < 0) m_wipe_tower_brim_width = get_auto_brim_by_height(m_wipe_tower_height); @@ -4695,7 +4869,7 @@ int WipeTower::get_wall_filament_for_all_layer() int filament_id = -1; int filament_count = 0; for (auto iter = filament_counts.begin(); iter != filament_counts.end(); ++iter) { - if (m_filament_categories[iter->first] == selected_category && iter->second > filament_count) { + if (get_filament_category(iter->first) == selected_category && iter->second > filament_count) { filament_id = iter->first; filament_count = iter->second; } @@ -4708,6 +4882,9 @@ void WipeTower::generate_new(std::vector min_depth_per_height; static float get_limit_depth_by_height(float max_height); static float get_auto_brim_by_height(float max_height); + // Both generators lay the brim in whole loops one line spacing apart, so the printed width + // differs from the configured one. WipeTower reports it with half a spacing of line width + // added, WipeTower2 reports the loops alone; an estimate has to round like the generator + // whose G-code it stands in for. + static float estimate_brim_real_width(float brim_width, float nozzle_diameter, float first_layer_height, bool type2); + // Depth a Type1 tower reserves once nothing but wrapping detection asks for one. + static float get_wrapping_detection_depth(); + // Line width of the nozzle-change purge lines at this nozzle diameter. + static float nozzle_change_perimeter_width(float nozzle_diameter); static TriangleMesh its_make_rib_tower(float width, float depth, float height, float rib_length, float rib_width, bool fillet_wall); static TriangleMesh its_make_rib_brim(const Polygon& brim, float layer_height); static Polygon rib_section(float width, float depth, float rib_length, float rib_width, bool fillet_wall); + // One filament's share of a Type1 tower layer, as plan_tower_new() reserves it. + struct PurgeEstimate + { + float prime_volume = 0.f; // mm3 wiped after changing to this filament + int category = 0; // filament_adhesiveness_category; one purge block per category + float filament_change_length = 0.f; // mm of filament rammed when it leaves its nozzle; 0 when no nozzle change is planned + float filament_diameter = 1.75f; + }; + // Depth of the Type1 purge stack at the given width (also the rectangle-wall depth): each + // purge is whole lines at the block infill gap, one block per adhesiveness category sized by + // its worst layer, stacked behind one perimeter width. + static float estimate_tower_blocks_depth(const std::vector &purges, float width, float layer_height, float nozzle_diameter, float extra_spacing); + // Side of the square bounding a rib-wall tower's first layer, brim excluded: the body plus the + // rib bulge, with the ribs extended to the height-based minimum as both generators do. + static float rib_footprint_side(float width, float depth, float rib_width, float extra_rib_length, float max_height); + // Type1 rib tower: plan_tower_new() squares the tower from the depth at the configured width, + // then re-plans the depth at the squared width. + static float estimate_rib_tower_bbox_side(const std::vector &purges, float width, float layer_height, float nozzle_diameter, float extra_spacing, float rib_width, float extra_rib_length, float max_height); // Translation that brings a footprint inside the printable outline, padded by offset. The prime // tower is validated against the real outline (see layered_print_cleareance_valid), so clamping // against the bounding box alone would leave it off a delta or hexagonal bed. box and polygons @@ -125,6 +152,10 @@ public: bool is_contact = false; NozzleChangeResult nozzle_change_result; + // Orca: folded into a later, thicker layer, so the emitter drops it. Set by the tower, so + // the two cannot disagree about which layers print. + bool combined_away = false; + // Sum the total length of the extrusion. float total_extrusion_length_in_plane() { float e_length = 0.f; @@ -364,6 +395,8 @@ public: float filament_tower_interface_pre_extrusion_dist = 0; float filament_tower_interface_pre_extrusion_length = 0; float filament_petg_pre_extrusion_offset_dist = 0; + // Tallest layer this filament's nozzle can lay down; caps the sparse layer combination. + float max_layer_height = 0.f; }; @@ -494,7 +527,8 @@ private: //float m_parking_pos_retraction = 0.f; //float m_extra_loading_move = 0.f; float m_bridging = 0.f; - bool m_no_sparse_layers = false; + bool m_sparse_layers_skipped = false; + bool m_sparse_layers_combined = false; // BBS: remove useless config //bool m_set_extruder_trimpot = false; bool m_adhesion = true; @@ -568,6 +602,8 @@ private: } // Calculates depth for all layers and propagates them downwards void plan_tower(); + // Whether the layer reaches the G-code, and so whether its extrusions count as filament used. + bool layer_is_printed(bool toolchanges_on_layer) const; // Goes through m_plan and recalculates depths and width of the WT to make it exactly square - experimental void make_wipe_tower_square(); @@ -607,6 +643,8 @@ private: float depth; // depth of the layer based on all layers above float extra_spacing; bool extruder_fill{true}; + // Folded into a later, thicker layer, so this one prints nothing at all. + bool combined_away{false}; float toolchanges_depth() const { float sum = 0.f; for (const auto &a : tool_changes) sum += a.required_depth; return sum; } std::vector tool_changes; @@ -653,6 +691,80 @@ private: }; +// Compaction rule for wipe_tower_no_sparse_layers. Shared by the G-code emitter and by the +// clearance validator so that both agree on where the compacted tower actually sits; a drift +// between the two would either let a real nozzle collision through or reject a safe plate. + +// Whether sparse layers are really skipped, i.e. whether the tower is compacted at all. Smooth +// timelapse and wrapping detection put a tower on every layer, so no layer is ever dropped and the +// tower keeps following the object even though the option is on. Tower planning, G-code emission and +// the clearance validator all ask this single question, so none of them can compact on its own. +bool wipe_tower_sparse_layers_skipped(const PrintConfig &config); + +// A planned layer prints no tower at all when its only toolchange keeps the same filament. +bool wipe_tower_layer_is_sparse(const std::vector &layer_tool_changes); + +// Print z the compacted tower reaches on every planned layer. Sparse layers carry over the +// previous value, so the tower falls one layer height behind the object for each of them. base_z is +// the z the tower starts from, which Orca offsets by z_offset. +std::vector compute_compacted_wipe_tower_z(const std::vector> &tool_changes, + float base_z = 0.f); + + +// Combination rule for wipe_tower_sparse_layers_combination. Nothing is compacted - the tower keeps +// following the object - but a run of consecutive toolchange-free layers prints as one thicker layer, +// the way infill combination merges sparse infill. Shared so that neither tower generator nor the +// G-code emitter can combine on its own. + +// Whether sparse layers are really combined. Skipping them outright is the stronger answer to the +// same problem and wins over this; smooth timelapse and wrapping detection need a tower on every +// layer, so they rule it out too. +bool wipe_tower_sparse_layers_combined(const PrintConfig &config); + +// A planned layer folded into a later, thicker one prints nothing at all. +bool wipe_tower_layer_is_combined_away(const std::vector &layer_tool_changes); + +// Folds runs of sparse layers into one. layer_height is raised in place on the layer that prints a +// run - always its last, so the merged extrusion lands on top of what it covers - and the returned +// mask marks the layers that now print nothing. A run stops growing once one more layer would pass +// max_layer_height of the nozzle that prints it. first_layer_idx and below never combine: the +// tower's first layer carries the brim. +std::vector combine_sparse_wipe_tower_layers(std::vector &layer_height, + const std::vector &layer_is_sparse, + const std::vector &max_layer_height, + size_t first_layer_idx); + +// Applies the rule above to a planned tower. Either generator's plan fits: both carry height, +// tool_changes and combined_away per layer, and index their filament parameters by tool. +template +void combine_sparse_wipe_tower_plan(PlanLayers &plan, const FilamentParams &filpar, size_t first_layer_idx, size_t initial_tool) +{ + const size_t n = plan.size(); + std::vector heights(n); + std::vector sparse(n); + std::vector caps(n); + + // A layer with no toolchange prints with the filament the layer below left loaded. + size_t tool = initial_tool; + for (const auto &layer : plan) + if (! layer.tool_changes.empty()) { + tool = layer.tool_changes.front().old_tool; + break; + } + for (size_t i = 0; i < n; ++i) { + heights[i] = plan[i].height; + sparse[i] = plan[i].tool_changes.empty() ? 1 : 0; + caps[i] = tool < filpar.size() ? filpar[tool].max_layer_height : 0.f; + if (! plan[i].tool_changes.empty()) + tool = plan[i].tool_changes.back().new_tool; + } + + const std::vector combined_away = combine_sparse_wipe_tower_layers(heights, sparse, caps, first_layer_idx); + for (size_t i = 0; i < n; ++i) { + plan[i].height = heights[i]; + plan[i].combined_away = combined_away[i] != 0; + } +} } // namespace Slic3r diff --git a/src/libslic3r/GCode/WipeTower2.cpp b/src/libslic3r/GCode/WipeTower2.cpp index ee0f9c375a..a576172a39 100644 --- a/src/libslic3r/GCode/WipeTower2.cpp +++ b/src/libslic3r/GCode/WipeTower2.cpp @@ -1032,7 +1032,8 @@ WipeTower2::WipeTower2(const PrintConfig& config, const PrintRegionConfig& defau m_y_shift(0.f), m_z_pos(0.f), m_bridging(float(config.wipe_tower_bridging)), - m_no_sparse_layers(config.wipe_tower_no_sparse_layers), + m_sparse_layers_skipped(wipe_tower_sparse_layers_skipped(config)), + m_sparse_layers_combined(wipe_tower_sparse_layers_combined(config)), m_gcode_flavor(config.gcode_flavor), m_travel_speed(config.travel_speed.get_at(get_extruder_index(config, (unsigned int)initial_tool))), m_infill_speed(default_region_config.sparse_infill_speed.get_at(get_extruder_index(config, (unsigned int)initial_tool))), @@ -1150,6 +1151,16 @@ void WipeTower2::set_extruder(size_t idx, const PrintConfig& config) float nozzle_diameter = float(config.nozzle_diameter.get_at(idx)); m_filpar[idx].nozzle_diameter = nozzle_diameter; // to be used in future with (non-single) multiextruder MM + // Orca: max_layer_height is per nozzle, so read it through the filament->nozzle map rather than + // by filament id. Zero means three quarters of the nozzle diameter, as in Slicing.cpp. + { + const std::vector &filament_map = config.filament_map.values; // 1 based nozzle indices + const size_t nozzle_idx = idx < filament_map.size() && filament_map[idx] > 0 ? size_t(filament_map[idx] - 1) : 0; + const float max_layer_height = float(config.max_layer_height.get_at(nozzle_idx)); + m_filpar[idx].max_layer_height = max_layer_height > 0.f ? max_layer_height + : 0.75f * float(config.nozzle_diameter.get_at(nozzle_idx)); + } + float max_vol_speed = float(config.filament_max_volumetric_speed.get_at(idx)); if (max_vol_speed!= 0.f) m_filpar[idx].max_e_speed = (max_vol_speed / filament_area()); @@ -1730,7 +1741,7 @@ void WipeTower2::toolchange_Change( } else if (m_wall_type == (int)wtwCone) { const double support_scale = get_wipe_tower_cone_base(m_wipe_tower_width, m_wipe_tower_height, m_wipe_tower_depth, m_wipe_tower_cone_angle).second; - const double z = m_no_sparse_layers ? (m_current_height + m_layer_info->height) : m_layer_info->z; + const double z = m_sparse_layers_skipped ? (m_current_height + m_layer_info->height) : m_layer_info->z; const double r = std::tan(Geometry::deg2rad(m_wipe_tower_cone_angle / 2.f)) * (m_wipe_tower_height - z); const double w = m_layer_info->depth + m_perimeter_width; if (r > 0.5 * w + 0.01) { // same guard as generate_support_cone_wall @@ -1872,7 +1883,7 @@ void WipeTower2::toolchange_Wipe( // All the calculations in all other places take the spacing into account for all the layers. // If spare layers are excluded->if 1 or less toolchange has been done, it must be sill the first layer, too.So slow down. - const float target_speed = is_first_layer() || (m_num_tool_changes <= 1 && m_no_sparse_layers) ? m_first_layer_speed * 60.f : std::min(m_wipe_tower_max_purge_speed * 60.f, m_infill_speed * 60.f); + const float target_speed = is_first_layer() || (m_num_tool_changes <= 1 && m_sparse_layers_skipped) ? m_first_layer_speed * 60.f : std::min(m_wipe_tower_max_purge_speed * 60.f, m_infill_speed * 60.f); float wipe_speed = 0.33f * target_speed; // if there is less than 2.5*line_width to the edge, advance straightaway (there is likely a blob anyway) @@ -1970,7 +1981,7 @@ WipeTower::ToolChangeResult WipeTower2::finish_layer() // Slow down on the 1st layer. // If spare layers are excluded -> if 1 or less toolchange has been done, it must be still the first layer, too. So slow down. - bool first_layer = is_first_layer() || (m_num_tool_changes <= 1 && m_no_sparse_layers); + bool first_layer = is_first_layer() || (m_num_tool_changes <= 1 && m_sparse_layers_skipped); float feedrate = first_layer ? m_first_layer_speed * 60.f : std::min(m_wipe_tower_max_purge_speed * 60.f, m_infill_speed * 60.f); if (m_enable_tower_interface_features && m_prev_layer_had_interface) feedrate = std::min(feedrate, 20.f * 60.f); @@ -2103,7 +2114,9 @@ WipeTower::ToolChangeResult WipeTower2::finish_layer() // Ask our writer about how much material was consumed. // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. - if (! m_no_sparse_layers || toolchanges_on_layer || first_layer) { + // A folded layer prints nothing, so it consumes nothing and adds no height of its own. + const bool combined_away = m_layer_info != m_plan.end() && m_layer_info->combined_away; + if ((! m_sparse_layers_skipped || toolchanges_on_layer || first_layer) && ! combined_away) { if (m_current_tool < m_used_filament_length.size()) m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); m_current_height += m_layer_info->height; @@ -2129,6 +2142,23 @@ std::pair WipeTower2::get_wipe_tower_cone_base(double width, dou return std::make_pair(R, support_scale); } +Polygon WipeTower2::cone_base_polygon(double width, double depth, double height, double angle_deg) +{ + Polygon box({Point::new_scale(Vec2d(0., 0.)), Point::new_scale(Vec2d(width, 0.)), + Point::new_scale(Vec2d(width, depth)), Point::new_scale(Vec2d(0., depth))}); + if (angle_deg <= EPSILON || height <= EPSILON || width <= EPSILON || depth <= EPSILON) + return box; + const auto [R, x_scale] = get_wipe_tower_cone_base(width, height, depth, angle_deg); + if (R <= EPSILON) + return box; + const Vec2d center(width / 2., depth / 2.); + Polygon ellipse; + for (double alpha = 0.; alpha < 2. * M_PI; alpha += M_PI / 20.) + ellipse.points.push_back(Point::new_scale(center + R * Vec2d(std::cos(alpha) / x_scale, std::sin(alpha)))); + Polygons u = union_({box, ellipse}); + return u.empty() ? box : u.front(); +} + // Static method to extract wipe_volumes[from][to] from the configuration. // Takes a ConfigBase so the GUI's wipe tower size estimate can pass the plate's // DynamicPrintConfig directly instead of materializing a full PrintConfig per call. @@ -2209,7 +2239,7 @@ void WipeTower2::plan_toolchange(float z_par, float layer_height_par, unsigned i if (m_plan.empty() || m_plan.back().z + WT_EPSILON < z_par) // if we moved to a new layer, we'll add it to m_plan first m_plan.push_back(WipeTowerInfo(z_par, layer_height_par)); - if (m_first_layer_idx == size_t(-1) && (! m_no_sparse_layers || old_tool != new_tool || m_plan.size() == 1)) + if (m_first_layer_idx == size_t(-1) && (! m_sparse_layers_skipped || old_tool != new_tool || m_plan.size() == 1)) m_first_layer_idx = m_plan.size() - 1; if (old_tool == new_tool) // new layer without toolchanges - we are done @@ -2418,6 +2448,10 @@ void WipeTower2::generate(std::vector> if (m_plan.empty()) return; + // Before planning: the layer heights this rewrites feed the extrusion flow of every later pass. + if (m_sparse_layers_combined) + combine_sparse_wipe_tower_plan(m_plan, m_filpar, m_first_layer_idx, m_current_tool); + plan_tower(); #if 1 for (int i=0;i<5;++i) { @@ -2516,6 +2550,10 @@ void WipeTower2::generate(std::vector> layer_result[idx] = merge_tcr(layer_result[idx], finish_layer_tcr); } + if (layer.combined_away) + for (WipeTower::ToolChangeResult &tcr : layer_result) + tcr.combined_away = true; + result.emplace_back(std::move(layer_result)); if (m_used_filament_length_until_layer.empty() || m_used_filament_length_until_layer.back().first != layer.z) @@ -2635,7 +2673,7 @@ Polygon WipeTower2::generate_support_cone_wall( const auto [R, support_scale] = get_wipe_tower_cone_base(m_wipe_tower_width, m_wipe_tower_height, m_wipe_tower_depth, m_wipe_tower_cone_angle); - double z = m_no_sparse_layers ? + double z = m_sparse_layers_skipped ? (m_current_height + m_layer_info->height) : m_layer_info->z; // the former should actually work in both cases, but let's stay on the safe side (the 2.6.0 is close) diff --git a/src/libslic3r/GCode/WipeTower2.hpp b/src/libslic3r/GCode/WipeTower2.hpp index 5b1a474b5d..02ce15672b 100644 --- a/src/libslic3r/GCode/WipeTower2.hpp +++ b/src/libslic3r/GCode/WipeTower2.hpp @@ -27,6 +27,10 @@ public: // in WipeTowerIntegration::append_tcr2 does not strip it. static const std::string wait_for_temp_tag() { return ";_WAIT_FOR_TEMP_ON_WIPE_TOWER"; } static std::pair get_wipe_tower_cone_base(double width, double height, double depth, double angle_deg); + // First-layer outline of a cone-wall tower in tower-local (scaled) coordinates: body box + // unioned with the cone's base ellipse — the model first_layer_wipe_tower_corners uses, + // and generate_support_cone_wall stays within it. Brim not included. + static Polygon cone_base_polygon(double width, double depth, double height, double angle_deg); static std::vector> extract_wipe_volumes(const ConfigBase& config); // Estimated total flush volume of a SEMM print with the given number of filaments, // used to reserve wipe tower space before the tower is generated. @@ -196,6 +200,8 @@ public: float tower_interface_pre_extrusion_length = 0.f; float tower_ironing_area = 4.f; float tower_interface_purge_length = 0.f; + // Tallest layer this filament's nozzle can lay down; caps the sparse layer combination. + float max_layer_height = 0.f; }; private: @@ -263,7 +269,8 @@ private: float m_parking_pos_retraction = 0.f; float m_extra_loading_move = 0.f; float m_bridging = 0.f; - bool m_no_sparse_layers = false; + bool m_sparse_layers_skipped = false; + bool m_sparse_layers_combined = false; bool m_set_extruder_trimpot = false; bool m_adhesion = true; GCodeFlavor m_gcode_flavor; @@ -364,6 +371,8 @@ private: float z; // z position of the layer float height; // layer height float depth; // depth of the layer based on all layers above + // Folded into a later, thicker layer, so this one prints nothing at all. + bool combined_away{false}; float toolchanges_depth() const { float sum = 0.f; for (const auto &a : tool_changes) sum += a.required_depth; return sum; } std::vector tool_changes; diff --git a/src/libslic3r/GCode/WipeTowerEstimate.cpp b/src/libslic3r/GCode/WipeTowerEstimate.cpp new file mode 100644 index 0000000000..ac1508d9c0 --- /dev/null +++ b/src/libslic3r/GCode/WipeTowerEstimate.cpp @@ -0,0 +1,203 @@ +#include "WipeTowerEstimate.hpp" + +#include "WipeTower.hpp" +#include "WipeTower2.hpp" +#include "../Config.hpp" +#include "../PrintConfig.hpp" +#include "../libslic3r.h" + +#include +#include +#include + +namespace Slic3r { + +// Every caller today declares all these keys, but the signature accepts any ConfigBase: fall +// back to the key's declared default, never to a hand-copied constant. +static const ConfigOption *option_of(const ConfigBase &config, const char *key) +{ + if (const ConfigOption *opt = config.option(key); opt != nullptr) + return opt; + if (const ConfigDef *def = config.def(); def != nullptr) + if (const ConfigOptionDef *opt_def = def->get(key); opt_def != nullptr) + return opt_def->default_value.get(); + return nullptr; +} + +WipeTowerType resolve_wipe_tower_type(const ConfigBase &config) +{ + // printer_model is what the CLI keys its Bambu Lab detection on; the GUI's vendor flag + // agrees for every shipped profile. + if (const auto *model = dynamic_cast(config.option("printer_model")); + model != nullptr && model->value.compare(0, 9, "Bambu Lab") == 0) + return WipeTowerType::Type1; + // By value, not by concrete type: a static PrintConfig holds ConfigOptionEnum, a + // DynamicConfig built from presets holds ConfigOptionEnumGeneric, and both answer getInt(). + const ConfigOption *type = option_of(config, "wipe_tower_type"); + return type != nullptr ? WipeTowerType(type->getInt()) : WipeTowerType::Type2; +} + +Polygon estimate_wipe_tower_first_layer_outline(const ConfigBase &config, WipeTowerType tower_type, double width, double depth, double height) +{ + // Type1 ignores the cone option. The wall type is read by value: a preset-shaped config + // holds it as ConfigOptionEnumGeneric, which a cast to ConfigOptionEnum cannot see. + const ConfigOption *wall_type = option_of(config, "wipe_tower_wall_type"); + const ConfigOption *cone_angle = option_of(config, "wipe_tower_cone_angle"); + const bool cone = tower_type == WipeTowerType::Type2 && wall_type != nullptr && + wall_type->getInt() == int(WipeTowerWallType::wtwCone) && cone_angle != nullptr; + return WipeTower2::cone_base_polygon(width, depth, height, cone ? cone_angle->getFloat() : 0.); +} + +WipeTowerFootprint estimate_wipe_tower_footprint(const ConfigBase &config, WipeTowerType tower_type, const std::vector &filament_ids, double layer_height, double max_object_height) +{ + WipeTowerFootprint footprint; + footprint.height = max_object_height; + const size_t filaments_cnt = filament_ids.size(); + if (filaments_cnt == 0 || layer_height < EPSILON) + return footprint; + + auto opt_float = [&config](const char *key) { + const ConfigOption *opt = option_of(config, key); + return opt != nullptr ? opt->getFloat() : 0.; + }; + auto opt_bool = [&config](const char *key) { + const ConfigOption *opt = option_of(config, key); + return opt != nullptr && opt->getBool(); + }; + auto opt_enum = [&config](const char *key, int fallback) { + const ConfigOption *opt = option_of(config, key); + return opt != nullptr ? opt->getInt() : fallback; + }; + auto floats_of = [&config](const char *key) { return dynamic_cast(option_of(config, key)); }; + auto max_of = [&floats_of](const char *key, double fallback) { + const auto *opt = floats_of(key); + return (opt != nullptr && !opt->values.empty()) ? *std::max_element(opt->values.begin(), opt->values.end()) : fallback; + }; + auto float_at = [&floats_of](const char *key, unsigned int id, double fallback) { + const auto *opt = floats_of(key); + return (opt != nullptr && !opt->values.empty()) ? opt->get_at(id) : fallback; + }; + auto int_at = [&config](const char *key, unsigned int id, int fallback) { + const auto *opt = dynamic_cast(option_of(config, key)); + return (opt != nullptr && !opt->values.empty()) ? opt->get_at(id) : fallback; + }; + + // Both planners size every layer, so the tower has to fit its thinnest one: the first layer + // when it is printed thinner than the rest. + const double first_layer_height = opt_float("initial_layer_print_height"); + if (first_layer_height > EPSILON) + layer_height = std::min(layer_height, first_layer_height); + + const bool type1 = tower_type == WipeTowerType::Type1; + const double width = opt_float("prime_tower_width"); + const double prime_volume = opt_float("prime_volume"); + // Type1 spaces its purge lines by prime_tower_infill_gap, Type2 by wipe_tower_extra_spacing. + // Type2's extra flow cancels out of the depth: the line length is divided by it and the row + // pitch multiplied by it (WipeTower2::get_wipe_depth). + const double extra_spacing = opt_float(type1 ? "prime_tower_infill_gap" : "wipe_tower_extra_spacing") / 100.; + const double rib_width = opt_float("wipe_tower_rib_width"); + const double extra_rib_length = opt_float("wipe_tower_extra_rib_length"); + const auto *nozzle_opt = floats_of("nozzle_diameter"); + const double nozzle_diameter = (nozzle_opt != nullptr && !nozzle_opt->values.empty()) ? nozzle_opt->values.front() : 0.4; + const bool dual_nozzle = nozzle_opt != nullptr && nozzle_opt->values.size() == 2; + const bool rib_wall = opt_enum("wipe_tower_wall_type", int(WipeTowerWallType::wtwRectangle)) == int(WipeTowerWallType::wtwRib); + const bool smooth_timelapse = opt_enum("timelapse_type", int(TimelapseType::tlTraditional)) == int(TimelapseType::tlSmooth); + const bool wrapping = opt_bool("enable_wrapping_detection"); + // Reasons a tower is printed with no tool change to purge for: the ones that stop + // normalize_fdm_2 clearing enable_prime_tower. Its mixed-filament case is not modelled. + const bool need_wipe_tower = smooth_timelapse || wrapping; + + // Fewer than two filaments cannot make a tool change, so only wrapping detection or smooth + // timelapse print a tower then. The flush volume is no proof of one: it is read from the + // matrix of every configured slot, nonzero even when a single one of them is used. + if (filaments_cnt < 2 && !need_wipe_tower) + return footprint; + + // A tower printed for one of the reasons above has no tool change to purge for; both + // planners give it the idle depth below and nothing more. + const size_t purge_count = filaments_cnt > 1 ? (dual_nozzle ? filaments_cnt : filaments_cnt - 1) : 0; + + // Type2 purges one volume per tool change. Type1 plans per filament below; here the volume + // only decides whether a tower exists. + double volume = prime_volume * double(purge_count); + if (dual_nozzle) { + // Dual-nozzle printers also purge the filament change length on the tower. + const double length = max_of("filament_change_length", 0.); + const double diameter = max_of("filament_diameter", 1.75); + volume += length * PI * diameter * diameter / 4. * double(filaments_cnt / 2); + } + // Single-extruder multi-material purges the flush matrix instead of the prime volume. + const bool semm_flush = opt_bool("purge_in_prime_tower") && opt_bool("single_extruder_multi_material"); + if (semm_flush) + volume = WipeTower2::estimate_semm_flush_volume(config, filaments_cnt); + + // The Type1 planner wipes each filament's own prime volume after changing to it, in a block + // per adhesiveness category. On a two-nozzle printer the leaving filament is also rammed at + // every nozzle change; the tool order groups filaments by nozzle, so a layer crosses + // (nozzles used - 1) times, charged here to the longest ramming. + std::vector purges; + if (type1 && filaments_cnt > 1) { + const bool saving_mode = opt_enum("prime_volume_mode", int(PrimeVolumeMode::pvmDefault)) == int(PrimeVolumeMode::pvmSaving); + std::set nozzles; + size_t longest_ramming = 0; + for (size_t i = 0; i < filaments_cnt; ++i) { + const unsigned int id = filament_ids[i]; + WipeTower::PurgeEstimate purge; + purge.prime_volume = saving_mode ? 15.f : float(float_at("filament_prime_volume", id, prime_volume)); + purge.category = int_at("filament_adhesiveness_category", id, 0); + purge.filament_diameter = float(float_at("filament_diameter", id, 1.75)); + purges.push_back(purge); + if (dual_nozzle) { + nozzles.insert(int_at("filament_map", id, 1)); + if (float_at("filament_change_length", id, 0.) > float_at("filament_change_length", filament_ids[longest_ramming], 0.)) + longest_ramming = i; + } + } + if (nozzles.size() > 1) + purges[longest_ramming].filament_change_length = float(float_at("filament_change_length", filament_ids[longest_ramming], 0.) * double(nozzles.size() - 1)); + } + + const double min_depth = WipeTower::get_limit_depth_by_height(float(max_object_height)); + const float perimeter_width = float(nozzle_diameter) * 1.25f; // Width_To_Nozzle_Ratio + // With nothing to purge, plan_tower_new sizes the tower for wrapping detection or the + // stability minimum; WipeTower2 only knows the latter. + const double idle_depth = (type1 && wrapping && !smooth_timelapse) ? WipeTower::get_wrapping_detection_depth() : min_depth; + if (rib_wall) { + // Both planners square the tower to the purge area and extend the ribs, not the body, + // below the stability minimum. + double side; + if (!purges.empty()) + side = WipeTower::estimate_rib_tower_bbox_side(purges, float(width), float(layer_height), float(nozzle_diameter), float(extra_spacing), float(rib_width), float(extra_rib_length), float(max_object_height)); + else { + // Type2 squares the tower from its purge volume; Type1 with no purge list (a lone + // filament kept for timelapse or wrapping) sizes for the idle depth. + const bool has_purge = !type1 && volume > EPSILON; + const double square = has_purge ? std::sqrt(volume / layer_height * extra_spacing) : idle_depth; + side = WipeTower::rib_footprint_side(float(square), float(square), float(rib_width), float(extra_rib_length), float(max_object_height)); + } + footprint.width = footprint.depth = side; + } else { + double depth; + if (type1) { + // plan_tower_new stretches a short purge stack to the stability minimum behind its + // leading perimeter width. + depth = purges.empty() ? idle_depth : std::max(min_depth + perimeter_width, double(WipeTower::estimate_tower_blocks_depth(purges, float(width), float(layer_height), float(nozzle_diameter), float(extra_spacing)))); + } else { + depth = volume / (layer_height * width); + // The flush volumes already hold the spacing between wipes. + if (!semm_flush) + depth *= extra_spacing; + depth = std::max(min_depth, depth); + } + footprint.width = width; + footprint.depth = depth; + } + + footprint.brim_width = opt_float("prime_tower_brim_width"); + if (footprint.brim_width < 0) + footprint.brim_width = WipeTower::get_auto_brim_by_height(float(max_object_height)); + footprint.brim_width = WipeTower::estimate_brim_real_width(float(footprint.brim_width), float(nozzle_diameter), float(first_layer_height > EPSILON ? first_layer_height : layer_height), !type1); + return footprint; +} + +} // namespace Slic3r diff --git a/src/libslic3r/GCode/WipeTowerEstimate.hpp b/src/libslic3r/GCode/WipeTowerEstimate.hpp new file mode 100644 index 0000000000..387028649b --- /dev/null +++ b/src/libslic3r/GCode/WipeTowerEstimate.hpp @@ -0,0 +1,47 @@ +#pragma once + +#include + +#include "../Polygon.hpp" + +namespace Slic3r { + +class ConfigBase; +enum class WipeTowerType; + +// Pre-slice footprint of the wipe tower, shared by validation (Print), the GUI's placement +// clamp/preview/arrange and the CLI placement. The arithmetic is shared; the inputs below are +// not, so a change to how one caller derives them has to be mirrored in the others. +struct WipeTowerFootprint +{ + double width = 0.; // effective width: equals depth for a rib wall, which squares the tower + double depth = 0.; // 0 when these inputs imply no tower + double height = 0.; // tallest object; drives the stability floor and the auto brim + double brim_width = 0.; // printed width: auto (-1) resolved by height, laid in whole loops +}; + +// Which planner builds the tower: Bambu Lab printers always get Type1, the rest follow +// wipe_tower_type. The rule Print::wipe_tower_type() and the CLI apply, read off the config so +// the GUI and CLI placement can resolve it without a Print. +WipeTowerType resolve_wipe_tower_type(const ConfigBase &config); + +// First-layer outline of an estimated tower in tower-local scaled coordinates, brim excluded: +// the body box, or for a Type2 cone wall the box unioned with the cone's base. The preview, +// the placement margin and validation all take the outline from here so they cannot disagree +// about whether a cone exists. +Polygon estimate_wipe_tower_first_layer_outline(const ConfigBase &config, WipeTowerType tower_type, double width, double depth, double height); + +// filament_ids: 0-based filaments purged on the plate. The config cannot see custom G-code tool +// changes, so ids derived from the model must include them +// (Print::extruders(true)) or a real tower is sized as if it were never built. +// layer_height: thinnest layer the objects are sliced at. The first layer is folded in here. +// +// A raft is deliberately not a reason: normalize_fdm_2 clears enable_prime_tower for a plate +// purging one filament unless smooth timelapse or wrapping detection is on. +WipeTowerFootprint estimate_wipe_tower_footprint(const ConfigBase &config, + WipeTowerType tower_type, + const std::vector &filament_ids, + double layer_height, + double max_object_height); + +} // namespace Slic3r diff --git a/src/libslic3r/Int128.hpp b/src/libslic3r/Int128.hpp index e7238ca745..e55ef64cfb 100644 --- a/src/libslic3r/Int128.hpp +++ b/src/libslic3r/Int128.hpp @@ -57,7 +57,7 @@ #define HAS_INTRINSIC_128_TYPE #endif -#if defined(_MSC_VER) && defined(_WIN64) +#if defined(_MSC_VER) && defined(_M_X64) #include #pragma intrinsic(_mul128) #endif diff --git a/src/libslic3r/LayOnFace.cpp b/src/libslic3r/LayOnFace.cpp new file mode 100644 index 0000000000..1112f9d2fe --- /dev/null +++ b/src/libslic3r/LayOnFace.cpp @@ -0,0 +1,221 @@ +#include "LayOnFace.hpp" + +#include "Geometry.hpp" +#include "Geometry/ConvexHull.hpp" +#include "Model.hpp" +#include "TriangleMesh.hpp" + +#include +#include +#include + +namespace Slic3r { + +std::vector lay_on_face_planes(const ModelObject &object, const Transform3d &inst_matrix) +{ + // An object can only rest on its convex hull, so candidate faces are taken from the hull of all model parts. + TriangleMesh ch; + for (const ModelVolume* vol : object.volumes) { + if (vol->type() != ModelVolumeType::MODEL_PART) + continue; + TriangleMesh vol_ch = vol->get_convex_hull(); + vol_ch.transform(vol->get_matrix()); + ch.merge(vol_ch); + } + ch = ch.convex_hull_3d(); + std::vector planes; + + // Following constants are used for discarding too small polygons. + const float minimal_area = 5.f; // in square mm (world coordinates) + const float minimal_side = 1.f; // mm + const float minimal_angle = 1.f; // degree, initial value was 10, but cause bugs + + // Now we'll go through all the facets and append Points of facets sharing the same normal. + // This part is still performed in mesh coordinate system. + const int num_of_facets = ch.facets_count(); + const std::vector face_normals = its_face_normals(ch.its); + const std::vector face_neighbors = its_face_neighbors(ch.its); + std::vector facet_queue(num_of_facets, 0); + std::vector facet_visited(num_of_facets, false); + int facet_queue_cnt = 0; + const stl_normal* normal_ptr = nullptr; + int facet_idx = 0; + while (1) { + // Find next unvisited triangle: + for (; facet_idx < num_of_facets; ++ facet_idx) + if (!facet_visited[facet_idx]) { + facet_queue[facet_queue_cnt ++] = facet_idx; + facet_visited[facet_idx] = true; + normal_ptr = &face_normals[facet_idx]; + planes.emplace_back(); + break; + } + if (facet_idx == num_of_facets) + break; // Everything was visited already + + while (facet_queue_cnt > 0) { + int facet_idx = facet_queue[-- facet_queue_cnt]; + const stl_normal& this_normal = face_normals[facet_idx]; + if (std::abs(this_normal(0) - (*normal_ptr)(0)) < 0.001 && std::abs(this_normal(1) - (*normal_ptr)(1)) < 0.001 && std::abs(this_normal(2) - (*normal_ptr)(2)) < 0.001) { + const Vec3i32 face = ch.its.indices[facet_idx]; + for (int j=0; j<3; ++j) + planes.back().outline.emplace_back(ch.its.vertices[face[j]].cast()); + + facet_visited[facet_idx] = true; + for (int j = 0; j < 3; ++ j) + if (int neighbor_idx = face_neighbors[facet_idx][j]; neighbor_idx >= 0 && ! facet_visited[neighbor_idx]) + facet_queue[facet_queue_cnt ++] = neighbor_idx; + } + } + planes.back().normal = normal_ptr->cast(); + + Pointf3s& verts = planes.back().outline; + // Now we'll transform all the points into world coordinates, so that the areas, angles and distances + // make real sense. + verts = transform(verts, inst_matrix); + + // if this is a just a very small triangle, remove it to speed up further calculations (it would be rejected later anyway): + if (verts.size() == 3 && + ((verts[0] - verts[1]).norm() < minimal_side + || (verts[0] - verts[2]).norm() < minimal_side + || (verts[1] - verts[2]).norm() < minimal_side)) + planes.pop_back(); + } + + // Let's prepare transformation of the normal vector from mesh to instance coordinates. + const Matrix3d normal_matrix = inst_matrix.matrix().block(0, 0, 3, 3).inverse().transpose(); + + // Now we'll go through all the polygons, transform the points into xy plane to process them: + for (unsigned int polygon_id=0; polygon_id < planes.size(); ++polygon_id) { + Pointf3s& polygon = planes[polygon_id].outline; + const Vec3d& normal = planes[polygon_id].normal; + + // transform the normal according to the instance matrix: + const Vec3d normal_transformed = normal_matrix * normal; + + // We are going to rotate about z and y to flatten the plane + Eigen::Quaterniond q; + Transform3d& m = planes[polygon_id].to_plane_frame; + m = Transform3d::Identity(); + m.matrix().block(0, 0, 3, 3) = q.setFromTwoVectors(normal_transformed, Vec3d::UnitZ()).toRotationMatrix(); + polygon = transform(polygon, m); + + // Now to remove the inner points. We'll misuse Geometry::convex_hull for that, but since + // it works in fixed point representation, we will rescale the polygon to avoid overflows. + // And yes, it is a nasty thing to do. Whoever has time is free to refactor. + Vec3d bb_size = BoundingBoxf3(polygon).size(); + float sf = std::min(1./bb_size(0), 1./bb_size(1)); + Transform3d tr = Geometry::scale_transform({ sf, sf, 1.f }); + polygon = transform(polygon, tr); + polygon = Slic3r::Geometry::convex_hull(polygon); + polygon = transform(polygon, tr.inverse()); + + // Calculate area of the polygons and discard ones that are too small + float& area = planes[polygon_id].area; + area = 0.f; + for (unsigned int i = 0; i < polygon.size(); i++) // Shoelace formula + area += polygon[i](0)*polygon[i + 1 < polygon.size() ? i + 1 : 0](1) - polygon[i + 1 < polygon.size() ? i + 1 : 0](0)*polygon[i](1); + area = 0.5f * std::abs(area); + + bool discard = false; + if (area < minimal_area) + discard = true; + else { + // We also check the inner angles and discard polygons with angles smaller than the following threshold + const double angle_threshold = ::cos(minimal_angle * (double)PI / 180.0); + + for (unsigned int i = 0; i < polygon.size(); ++i) { + const Vec3d& prec = polygon[(i == 0) ? polygon.size() - 1 : i - 1]; + const Vec3d& curr = polygon[i]; + const Vec3d& next = polygon[(i == polygon.size() - 1) ? 0 : i + 1]; + + if ((prec - curr).normalized().dot((next - curr).normalized()) > angle_threshold) { + discard = true; + break; + } + } + } + + if (discard) { + planes[polygon_id--] = std::move(planes.back()); + planes.pop_back(); + continue; + } + + const Vec3d centroid = std::accumulate(polygon.begin(), polygon.end(), Vec3d(0.0, 0.0, 0.0)) / double(polygon.size()); + planes[polygon_id].center = inst_matrix.inverse() * (m.inverse() * centroid); + } + + std::sort(planes.rbegin(), planes.rend(), [](const LayOnFacePlane& a, const LayOnFacePlane& b) { return a.area < b.area; }); + return planes; +} + +int find_largest_plane(const std::vector &planes) +{ + // The plane frame maps the instance normal to +Z, so the normal's z in instance coordinates is element (2, 2). + auto downward = [](const LayOnFacePlane &plane) { return -plane.to_plane_frame.linear()(2, 2); }; + // Areas are floats from rounded geometry, so faces within 0.1% count as equal. + int best = -1; + for (size_t i = 0; i < planes.size() && planes[i].area >= planes.front().area * (1. - 1e-3); ++i) + if (best < 0 || downward(planes[i]) > downward(planes[best])) + best = int(i); + return best; +} + +int find_plane_by_normal(const std::vector &planes, const Vec3d &direction) +{ + const Vec3d dir = direction.normalized(); + int best = -1; + double best_dot = -2.; + for (size_t i = 0; i < planes.size(); ++i) + if (const double dot = planes[i].normal.dot(dir); dot > best_dot) { + best_dot = dot; + best = int(i); + } + return best; +} + +int find_plane_at_point(const std::vector &planes, const Transform3d &instance_matrix_no_offset, + const Vec3d &point, double tolerance) +{ + const Vec3d instance_point = instance_matrix_no_offset * point; + for (size_t i = 0; i < planes.size(); ++i) { + const Pointf3s &outline = planes[i].outline; + if (outline.empty()) + continue; + const Vec3d p = planes[i].to_plane_frame * instance_point; + // Facets with slightly different normals are merged into one face, so the outline is not exactly flat. + const double z = std::accumulate(outline.begin(), outline.end(), 0., [](double sum, const Vec3d &v) { return sum + v.z(); }) / double(outline.size()); + if (std::abs(p.z() - z) > tolerance) + continue; + // The outline is convex: the point is inside when it is not on both sides of its edges. + bool left = false, right = false; + for (size_t j = 0; j < outline.size(); ++j) { + const Vec2d a = outline[j].head<2>(); + const Vec2d edge = outline[(j + 1) % outline.size()].head<2>() - a; + const double len = edge.norm(); + if (len < EPSILON) + continue; + const double side = cross2(edge, Vec2d(p.head<2>() - a)) / len; + left |= side > tolerance; + right |= side < -tolerance; + } + if (!(left && right)) + return int(i); + } + return -1; +} + +void lay_on_face(ModelObject &object, size_t instance_idx, const Vec3d &normal) +{ + ModelInstance &instance = *object.instances[instance_idx]; + const Geometry::Transformation &trafo = instance.get_transformation(); + // Same rotation as Selection::flattening_rotate(): turn the transformed normal to point down. + const Vec3d tnormal = trafo.get_matrix().matrix().block(0, 0, 3, 3).inverse().transpose() * normal; + const Transform3d rotation = Transform3d(Eigen::Quaterniond().setFromTwoVectors(tnormal, -Vec3d::UnitZ())); + instance.set_transformation(Geometry::Transformation(trafo.get_offset_matrix() * rotation * trafo.get_matrix_no_offset())); + // Drop this instance only: ensure_on_bed() skips instances without auto_drop and measures the first instance. + object.translate_instance(instance_idx, -object.instance_bounding_box(instance_idx).min.z() * Vec3d::UnitZ()); +} + +} // namespace Slic3r diff --git a/src/libslic3r/LayOnFace.hpp b/src/libslic3r/LayOnFace.hpp new file mode 100644 index 0000000000..1a5e92a15e --- /dev/null +++ b/src/libslic3r/LayOnFace.hpp @@ -0,0 +1,48 @@ +#pragma once + +#include "Point.hpp" + +#include + +namespace Slic3r { + +class ModelObject; + +// A face of an object's convex hull that the object can rest on. These are the faces the +// "Lay on Face" gizmo offers and the ones the CLI --ground-* options choose from. +// +// Frames: "object" coordinates have the volume transformations applied but not the instance +// transformation. "Instance" coordinates additionally have the instance rotation, scale and +// mirror applied, but not its offset. +struct LayOnFacePlane +{ + Vec3d normal; // outward unit normal, object coordinates + Vec3d center; // centroid of the outline, object coordinates; on the face's mean plane + float area; // mm², instance coordinates + Pointf3s outline; // convex outline in the plane frame, where the face is horizontal + Transform3d to_plane_frame; // rotation from instance coordinates to the plane frame +}; + +// Candidate faces of the object's model parts, largest first. The instance transformation +// (without offset) is applied before measuring, so faces too small to rest on are dropped +// by their printed size: under 5 mm², a side under 1 mm, or an inner angle under 1°. +std::vector lay_on_face_planes(const ModelObject &object, const Transform3d &instance_matrix_no_offset); + +// Index of the largest plane, or -1 if `planes` is empty. Of planes with the same area, such as +// the top and bottom of a box, the one already facing down the most wins, so flat parts stay put. +int find_largest_plane(const std::vector &planes); + +// Index of the plane whose normal is closest to `direction` (object coordinates), +// or -1 if `planes` is empty. +int find_plane_by_normal(const std::vector &planes, const Vec3d &direction); + +// Index of the plane whose face contains `point` (object coordinates) within `tolerance` mm, or -1 +// if there is none. `instance_matrix_no_offset` is the one the planes were computed with. +int find_plane_at_point(const std::vector &planes, const Transform3d &instance_matrix_no_offset, + const Vec3d &point, double tolerance); + +// Rotates the instance so that `normal` (object coordinates) points down, the same rotation as +// the gizmo applies, then drops the instance so its lowest point is at z = 0. +void lay_on_face(ModelObject &object, size_t instance_idx, const Vec3d &normal); + +} // namespace Slic3r diff --git a/src/libslic3r/Layer.cpp b/src/libslic3r/Layer.cpp index 1d6c2b0703..7bdef5a4ff 100644 --- a/src/libslic3r/Layer.cpp +++ b/src/libslic3r/Layer.cpp @@ -153,6 +153,7 @@ bool Layer::is_perimeter_compatible(const Print& print, const PrintRegion& a, co && config.gap_infill_speed.get_at(print.get_extruder_id(config.outer_wall_filament_id)) == other_config.gap_infill_speed.get_at(print.get_extruder_id(config.outer_wall_filament_id)) && config.filter_out_gap_fill.value == other_config.filter_out_gap_fill.value && config.detect_overhang_wall == other_config.detect_overhang_wall + && config.unsupported_wall_last == other_config.unsupported_wall_last && config.overhang_reverse == other_config.overhang_reverse && config.overhang_reverse_threshold == other_config.overhang_reverse_threshold && config.wall_direction == other_config.wall_direction @@ -187,6 +188,12 @@ void Layer::make_perimeters() { BOOST_LOG_TRIVIAL(trace) << "Generating perimeters for layer " << this->id(); + const auto clear_generated_extrusions = [](LayerRegion *layer_region) { + layer_region->perimeters.clear(); + layer_region->fills.clear(); + layer_region->thin_fills.clear(); + }; + // keep track of regions whose perimeters we have already generated std::vector done(m_regions.size(), false); @@ -217,13 +224,11 @@ void Layer::make_perimeters() if (this_region.gradient_volume_id() != other_region.gradient_volume_id()) continue; if (is_perimeter_compatible(*m_object->print(), this_region, other_region)) - { - other_layerm->perimeters.clear(); - other_layerm->fills.clear(); - other_layerm->thin_fills.clear(); - layerms.push_back(other_layerm); - done[it - m_regions.begin()] = true; - } + { + clear_generated_extrusions(other_layerm); + layerms.push_back(other_layerm); + done[it - m_regions.begin()] = true; + } } if (layerms.size() == 1) { // optimization @@ -231,6 +236,10 @@ void Layer::make_perimeters() (*layerm)->make_perimeters((*layerm)->slices, {*layerm}, &(*layerm)->fill_surfaces, &(*layerm)->fill_no_overlap_expolygons); (*layerm)->fill_expolygons = to_expolygons((*layerm)->fill_surfaces.surfaces); } else { + // Orca: Unlike the compatible regions above, the initiating region has not + // been cleared yet and may contain paths from a previous incompatible run. + clear_generated_extrusions(*layerm); + SurfaceCollection new_slices; // Use the region with highest infill rate, as the make_perimeters() function below decides on the gap fill based on the infill existence. LayerRegion *layerm_config = layerms.front(); diff --git a/src/libslic3r/Layer.hpp b/src/libslic3r/Layer.hpp index 8a5aa78036..9be6b86139 100644 --- a/src/libslic3r/Layer.hpp +++ b/src/libslic3r/Layer.hpp @@ -16,6 +16,7 @@ using LayerPtrs = std::vector; class LayerRegion; using LayerRegionPtrs = std::vector; class PrintRegion; +class PrintRegionConfig; class PrintObject; class Print; @@ -200,6 +201,11 @@ public: FillAdaptive::Octree *support_fill_octree, FillLightning::Generator* lightning_generator) const; void make_ironing(); + // Returns the filament id (1-based) the region is ironed with, or -1 when the + // region is not ironed. + static int choose_ironing_extruder(const PrintRegionConfig &cfg, + bool spiral_mode, + bool is_topmost_layer); void make_contour_z(const sla::IndexedMesh &mesh); void export_region_slices_to_svg(const char *path) const; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 22e0a26898..6f868ba095 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -120,9 +120,6 @@ void LayerRegion::make_perimeters(const SurfaceCollection &slices, const LayerRe fill_no_overlap ); - if (this->layer()->lower_layer != nullptr) - // Cummulative sum of polygons over all the regions. - g.lower_slices = &this->layer()->lower_layer->lslices; if (this->layer()->upper_layer != NULL) g.upper_slices = &this->layer()->upper_layer->lslices; @@ -135,6 +132,13 @@ void LayerRegion::make_perimeters(const SurfaceCollection &slices, const LayerRe g.overhang_flow = this->bridging_flow(frPerimeter, object_config.thick_bridges); g.solid_infill_flow = this->flow(frSolidInfill); + // Cumulative sum of polygons over all the regions, less what the lower layer could not print. + ExPolygons lower_slices; + if (this->layer()->lower_layer != nullptr) { + lower_slices = g.printable_slices(this->layer()->lower_layer->lslices); + g.lower_slices = &lower_slices; + } + if (this->layer()->object()->config().wall_generator.value == PerimeterGeneratorType::Arachne && !spiral_mode) g.process_arachne(); else diff --git a/src/libslic3r/LifecycleEvents.hpp b/src/libslic3r/LifecycleEvents.hpp new file mode 100644 index 0000000000..f3e6f32392 --- /dev/null +++ b/src/libslic3r/LifecycleEvents.hpp @@ -0,0 +1,249 @@ +#pragma once + +// LifecycleEvents.hpp +// -------------------- +// Application lifecycle events (project, slicing, plate editing, preset, printer connection, and +// job activity) that other subsystems -- chiefly the plugin layer above libslic3r -- may want to +// observe. Lives in libslic3r rather than the plugin layer because some events fire from inside +// the slicing engine itself; see fire_lifecycle_event() below. + +#include +#include +#include +#include +#include +#include + +namespace Slic3r +{ + enum class LifecycleEvent { + // Project (3mf) + NewProject, + ProjectOpened, + ProjectBeforeSave, + ProjectAfterSave, + ProjectClosed, + ProjectDirtyChanged, + + // Slicing pipeline + SliceStarted, + SliceGeometryFinished, + GCodeExportStarted, + GCodeExportFinished, + SlicingJobComplete, + + // Plate/model editing + ObjectAdded, + ObjectDeleted, + ObjectTransformed, + ObjectChanged, + ObjectRenamed, + PlateCreated, + PlateDeleted, + PlateSelected, + PlateRenamed, + + // Preset + PresetSelected, + PresetSaved, + + // Printer/device + PrintStateChanged, + DeviceOnline, + DeviceOffline, + DeviceDiscovered, + DeviceSelected, + UploadStarted, + UploadFinished, + + // Print/send jobs + PrintJobStarted, + PrintJobFinished, + SendJobStarted, + SendJobFinished, + }; + + // Scoped so callers must qualify (LifecycleEvtCode::Error, not ERROR) -- ERROR/OK collide with + // Windows macros (wingdi.h) as unqualified names. + enum class LifecycleEvtCode { Ok, Error, Warn }; + + struct LifecycleEventContext + { + // The primary subject identifier for the event. This is event-specific (for example, a + // project/output path, preset name, device id, or object name), must not contain status or + // prose, and may be empty when the event has no single subject. + std::string name; + + // Outcome of the operation represented by the event. For state-change and start events, + // Ok means that the event occurred; it does not imply that a future operation succeeded. + LifecycleEvtCode code = LifecycleEvtCode::Ok; + + // Optional human-readable detail or diagnostic text. It is not a stable parsing contract; + // machine-readable data should be represented by a dedicated field or event instead. + std::string msg; + + // Stable subject/object identifier, when the source model provides one. + std::string id; + + // Previous value for rename and other before/after events. + std::string previous_name; + + // Device identifier for printer and job events. + std::string device_id; + + // Job identifier when the originating queue/task provides one. + std::string job_id; + + // Source subsystem or operation detail, suitable for filtering but not guaranteed to be + // exhaustive across versions. + std::string source; + + // Plate, object, or volume index when the source uses an index rather than a stable id. + int index = -1; + + // Aggregate project dirty state for ProjectDirtyChanged. + bool dirty = false; + + // Optional host-side cancellation probe. Background slicing and G-code export events set + // this to the originating Print's cancellation state so dispatch can stop before calling + // the next capability. It is intentionally not exposed through the Python payload API. + std::function cancellation_check; + }; + + inline std::string lifecycle_event_to_string(LifecycleEvent event) + { + switch (event) { + case LifecycleEvent::NewProject: return "NewProject"; + case LifecycleEvent::ProjectOpened: return "ProjectOpened"; + case LifecycleEvent::ProjectBeforeSave: return "ProjectBeforeSave"; + case LifecycleEvent::ProjectAfterSave: return "ProjectAfterSave"; + case LifecycleEvent::ProjectClosed: return "ProjectClosed"; + case LifecycleEvent::ProjectDirtyChanged: return "ProjectDirtyChanged"; + + case LifecycleEvent::SliceStarted: return "SliceStarted"; + case LifecycleEvent::SliceGeometryFinished: return "SliceGeometryFinished"; + case LifecycleEvent::GCodeExportStarted: return "GCodeExportStarted"; + case LifecycleEvent::GCodeExportFinished: return "GCodeExportFinished"; + case LifecycleEvent::SlicingJobComplete: return "SlicingJobComplete"; + + case LifecycleEvent::ObjectAdded: return "ObjectAdded"; + case LifecycleEvent::ObjectDeleted: return "ObjectDeleted"; + case LifecycleEvent::ObjectTransformed: return "ObjectTransformed"; + case LifecycleEvent::ObjectChanged: return "ObjectChanged"; + case LifecycleEvent::ObjectRenamed: return "ObjectRenamed"; + case LifecycleEvent::PlateCreated: return "PlateCreated"; + case LifecycleEvent::PlateDeleted: return "PlateDeleted"; + case LifecycleEvent::PlateSelected: return "PlateSelected"; + case LifecycleEvent::PlateRenamed: return "PlateRenamed"; + + case LifecycleEvent::PresetSelected: return "PresetSelected"; + case LifecycleEvent::PresetSaved: return "PresetSaved"; + case LifecycleEvent::PrintStateChanged: return "PrintStateChanged"; + + case LifecycleEvent::DeviceOnline: return "DeviceOnline"; + case LifecycleEvent::DeviceOffline: return "DeviceOffline"; + case LifecycleEvent::DeviceDiscovered: return "DeviceDiscovered"; + case LifecycleEvent::DeviceSelected: return "DeviceSelected"; + + case LifecycleEvent::UploadStarted: return "UploadStarted"; + case LifecycleEvent::UploadFinished: return "UploadFinished"; + case LifecycleEvent::PrintJobStarted: return "PrintJobStarted"; + case LifecycleEvent::PrintJobFinished: return "PrintJobFinished"; + case LifecycleEvent::SendJobStarted: return "SendJobStarted"; + case LifecycleEvent::SendJobFinished: return "SendJobFinished"; + default: return "Unknown"; + } + } + + inline std::string lifecycle_evt_code_to_string(LifecycleEvtCode code) + { + switch (code) { + case LifecycleEvtCode::Ok: return "Ok"; + case LifecycleEvtCode::Error: return "Error"; + case LifecycleEvtCode::Warn: return "Warn"; + default: return "Unknown"; + } + } + + // Global cross-layer seam (mirrors ConfigBase::set_resolve_capability_fn): any libslic3r code can + // fire a lifecycle event without depending on the plugin layer above it, which installs the + // dispatcher here at startup. Not tied to Print/GCode specifically, since nothing here should + // require callers to hold a Print& just to report an event. + using LifecycleHookFn = std::function; + + namespace detail { + + struct LifecycleHookState + { + std::mutex mutex; + std::condition_variable cv; + LifecycleHookFn fn; + std::size_t active_dispatches = 0; + bool accepting = false; + }; + + inline LifecycleHookState& lifecycle_hook_state() + { + static LifecycleHookState state; + return state; + } + + class LifecycleDispatchGuard + { + public: + explicit LifecycleDispatchGuard(LifecycleHookState& state) : m_state(state) {} + + ~LifecycleDispatchGuard() + { + std::lock_guard lock(m_state.mutex); + --m_state.active_dispatches; + if (m_state.active_dispatches == 0) + m_state.cv.notify_all(); + } + + LifecycleDispatchGuard(const LifecycleDispatchGuard&) = delete; + LifecycleDispatchGuard& operator=(const LifecycleDispatchGuard&) = delete; + + private: + LifecycleHookState& m_state; + }; + + } // namespace detail + + // Installing a hook starts accepting dispatches. Passing an empty function stops accepting + // new dispatches, detaches the hook, and waits for callbacks already in progress to finish. + // This is used during plugin shutdown so plugin code cannot be unloaded while a lifecycle + // callback is still executing. The empty-function path must not be called from inside the + // lifecycle callback itself. + inline void set_lifecycle_hook_fn(LifecycleHookFn fn) + { + detail::LifecycleHookState& state = detail::lifecycle_hook_state(); + if (fn) { + std::lock_guard lock(state.mutex); + state.fn = std::move(fn); + state.accepting = true; + return; + } + + std::unique_lock lock(state.mutex); + state.accepting = false; + state.fn = nullptr; + state.cv.wait(lock, [&state] { return state.active_dispatches == 0; }); + } + + inline void fire_lifecycle_event(LifecycleEvent event, const LifecycleEventContext& ctx) + { + detail::LifecycleHookState& state = detail::lifecycle_hook_state(); + LifecycleHookFn fn; + { + std::lock_guard lock(state.mutex); + if (!state.accepting || !state.fn) + return; + fn = state.fn; + ++state.active_dispatches; + } + + detail::LifecycleDispatchGuard guard(state); + fn(event, ctx); + } +} diff --git a/src/libslic3r/Line.cpp b/src/libslic3r/Line.cpp index c74df3aa59..94453e18f7 100644 --- a/src/libslic3r/Line.cpp +++ b/src/libslic3r/Line.cpp @@ -30,8 +30,8 @@ bool Line::intersection_infinite(const Line &other, Point* point) const return false; double t1 = cross2(v12, v2) / denom; Vec2d result = (a1 + t1 * v1); - if (result.x() > std::numeric_limits::max() || result.x() < std::numeric_limits::lowest() || - result.y() > std::numeric_limits::max() || result.y() < std::numeric_limits::lowest()) { + if (result.x() > double(std::numeric_limits::max()) || result.x() < double(std::numeric_limits::lowest()) || + result.y() > double(std::numeric_limits::max()) || result.y() < double(std::numeric_limits::lowest())) { // Intersection has at least one of the coordinates much bigger (or smaller) than coord_t maximum value (or minimum). // So it can not be stored into the Point without integer overflows. That could mean that input lines are parallel or near parallel. return false; diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp index 308752cc62..e727b29b09 100644 --- a/src/libslic3r/LocalesUtils.cpp +++ b/src/libslic3r/LocalesUtils.cpp @@ -3,6 +3,8 @@ #ifdef _WIN32 #include #endif +#include +#include #include #include diff --git a/src/libslic3r/MinimumSpanningTree.cpp b/src/libslic3r/MinimumSpanningTree.cpp index ff8fe6e5dd..88555e70ee 100644 --- a/src/libslic3r/MinimumSpanningTree.cpp +++ b/src/libslic3r/MinimumSpanningTree.cpp @@ -60,10 +60,15 @@ auto MinimumSpanningTree::prim(std::vector vertices) const -> AdjacencyGr //This search is O(V) right now, which can be made down to O(log(V)). This reduces the overall time complexity from O(V*V) to O(V*log(E)). //However that requires an implementation of a heap that supports the decreaseKey operation, which is not in the std library. //TODO: Implement this? + // Break equal-distance ties on coordinates: the map is keyed by address, so its + // iteration order (and therefore the first minimum) would otherwise depend on where + // the vertices were allocated. using MapValue = std::pair; const auto closest = std::min_element(smallest_distance.begin(), smallest_distance.end(), [](const MapValue& a, const MapValue& b) { - return a.second < b.second; + if (a.second != b.second) + return a.second < b.second; + return *a.first < *b.first; }); //Add this point to the graph and remove it from the candidates. diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 8f1dd8926c..209ccdafa2 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -108,6 +108,8 @@ Model& Model::assign_copy(const Model &rhs) this->md_value = rhs.md_value; this->texture_mesh = rhs.texture_mesh; + this->cad_recipe = rhs.cad_recipe; + return *this; } @@ -152,6 +154,7 @@ Model& Model::assign_copy(Model &&rhs) rhs.model_info.reset(); this->profile_info = rhs.profile_info; rhs.profile_info.reset(); + this->cad_recipe = std::move(rhs.cad_recipe); return *this; } @@ -3598,6 +3601,15 @@ void FacetsAnnotation::shift_states_above(const ModelVolume &mv, EnforcerBlocker this->set(selector); } +void FacetsAnnotation::remap_states(const ModelVolume &mv, const EnforcerBlockerStateMap &state_map) +{ + if (empty()) return; + TriangleSelector selector(mv.mesh()); + selector.deserialize(m_data, false); + selector.remap_triangle_state(state_map); + this->set(selector); +} + void FacetsAnnotation::set_enforcer_block_type_limit(const ModelVolume &mv, EnforcerBlockerType max_type, EnforcerBlockerType to_delete_filament, @@ -3862,6 +3874,43 @@ bool model_has_advanced_features(const Model &model) return false; } +void remap_model_filament_slots(Model &model, const std::map &slot_relocations) +{ + if (slot_relocations.empty()) + return; + + // Paint states and the object/volume "extruder" configs store one-based slot numbers + // (see Sidebar::on_action_add_filament's insertion remap for the same encoding). + std::map one_based_slots; + for (const auto &[from, to] : slot_relocations) + one_based_slots.emplace(from + 1, to + 1); + + EnforcerBlockerStateMap paint_state_map; + for (size_t state = 0; state < paint_state_map.size(); ++state) + paint_state_map[state] = EnforcerBlockerType(state); + for (const auto &[one_based_from, one_based_to] : one_based_slots) { + assert(one_based_from >= 0 && size_t(one_based_from) < paint_state_map.size()); + assert(one_based_to > 0 && size_t(one_based_to) < paint_state_map.size()); + paint_state_map[size_t(one_based_from)] = EnforcerBlockerType(one_based_to); + } + + auto remap_extruder_config = [&one_based_slots](ModelConfig &config) -> bool { + const auto it = config.has("extruder") ? one_based_slots.find(config.extruder()) : one_based_slots.end(); + if (it == one_based_slots.end()) + return false; + config.set("extruder", it->second); + return true; + }; + + for (ModelObject *object : model.objects) { + remap_extruder_config(object->config); + for (ModelVolume *volume : object->volumes) { + remap_extruder_config(volume->config); + volume->mmu_segmentation_facets.remap_states(*volume, paint_state_map); + } + } +} + #ifndef NDEBUG // Verify whether the IDs of Model / ModelObject / ModelVolume / ModelInstance / ModelMaterial are valid and unique. void check_model_ids_validity(const Model &model) diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 6834c7a59b..815b93c362 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -745,6 +745,10 @@ public: // Shift painted filament indices >= threshold by delta. Used when a physical filament is // inserted ahead of existing slots (mixed-color slots are kept at the end of the list). void shift_states_above(const ModelVolume &mv, EnforcerBlockerType threshold, int delta); + // Relabel painted filament indices according to state_map (old state value -> new state + // value; untouched states keep their identity). Used when published-3MF import relocates + // mixed-filament definitions onto new slot numbers. + void remap_states(const ModelVolume &mv, const EnforcerBlockerStateMap &state_map); indexed_triangle_set get_facets_strict(const ModelVolume& mv, EnforcerBlockerType type) const; bool has_facets(const ModelVolume& mv, EnforcerBlockerType type) const; bool empty() const { return m_data.triangles_to_split.empty(); } @@ -1565,6 +1569,10 @@ public: std::vector md_name; std::vector md_value; + // Opaque parametric CAD recipe (CadDocument::serialize_recipe()), round-tripped through + // the 3MF as Metadata/orca_cad.bin. Empty for non-CAD projects. + std::string cad_recipe; + void SetDesigner(std::string designer, std::string designer_user_id) { if (design_info == nullptr) { design_info = std::make_shared(); @@ -1790,6 +1798,13 @@ bool model_has_multi_part_objects(const Model &model); // If the model has advanced features, then it cannot be processed in simple mode. bool model_has_advanced_features(const Model &model); +// Remap the model's filament-slot references after a published-3MF import relocated +// mixed-filament definitions onto new slot numbers: object/volume "extruder" configs and +// multi-material color-painting states (paint state stores the one-based slot number). +// slot_relocations maps the author's zero-based slot number to its final zero-based slot; +// entries are applied simultaneously (no chained lookups), untouched slots keep everything. +void remap_model_filament_slots(Model &model, const std::map &slot_relocations); + #ifndef NDEBUG // Verify whether the IDs of Model / ModelObject / ModelVolume / ModelInstance / ModelMaterial are valid and unique. void check_model_ids_validity(const Model &model); diff --git a/src/libslic3r/ObjectID.hpp b/src/libslic3r/ObjectID.hpp index f2697b74f5..56042bbaa3 100644 --- a/src/libslic3r/ObjectID.hpp +++ b/src/libslic3r/ObjectID.hpp @@ -170,6 +170,10 @@ public: this->m_check_sum = rhs.check_sum(); this->m_connectors_cnt = rhs.connectors_cnt(); } + // A user-declared copy assignment or destructor deprecates the implicitly generated + // copy constructor, and this class has both, so declare it rather than rely on it. + CutObjectBase(const CutObjectBase &) = default; + CutObjectBase &operator=(const CutObjectBase &other) { this->copy(other); diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index a6b38889a5..1f1f1289e5 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -550,6 +550,7 @@ static ExtrusionEntityCollection traverse_extrusions(const PerimeterGenerator& p if (!paths.empty()) { if (extrusion->is_closed) { ExtrusionLoop extrusion_loop(std::move(paths), pg_extrusion.is_contour ? elrDefault : elrHole); + extrusion_loop.inset_idx = extrusion->inset_idx; if ((perimeter_generator.config->wall_direction == WallDirection::CounterClockwise) == (pg_extrusion.is_contour || pg_extrusions.size() == 2)) extrusion_loop.make_counter_clockwise(); @@ -1318,6 +1319,73 @@ static void reorient_perimeters(ExtrusionEntityCollection &entities, bool steep_ } } +// A loop made of nothing but overhang paths lies entirely off the lower layer. +static bool is_unsupported_loop(const ExtrusionEntity *entity) +{ + if (!entity->is_loop()) + return false; + const ExtrusionPaths &paths = static_cast(entity)->paths; + return !paths.empty() && std::all_of(paths.begin(), paths.end(), + [](const ExtrusionPath &path) { return path.role() == erOverhangPerimeter; }); +} + +// ORCA: A wall loop with nothing under it has nothing to lean on, so whatever the configured wall +// sequence it is extruded after the loops that anchor it, innermost first. A loop that runs alongside +// an anchored one belongs to the same wall stack and keeps its place ahead of the infill, which needs +// it as an anchor; one that touches nothing has only that infill to rest on, so it is flagged for the +// G-code writer to hold it back until the infill is down. +static void defer_unsupported_loops(const PerimeterGenerator &perimeter_generator, ExtrusionEntityCollection &entities) +{ + if (!perimeter_generator.config->unsupported_wall_last) + return; + + ExtrusionEntitiesPtr &src = entities.entities; + auto first_deferred = std::stable_partition(src.begin(), src.end(), + [](const ExtrusionEntity *entity) { return !is_unsupported_loop(entity); }); + if (first_deferred == src.end()) + return; + + std::stable_sort(first_deferred, src.end(), + [](const ExtrusionEntity *lhs, const ExtrusionEntity *rhs) { return lhs->inset_idx > rhs->inset_idx; }); + + auto collect_lines = [](const ExtrusionEntity *entity, Lines &out) { + Polylines polylines; + entity->collect_polylines(polylines); + append(out, to_lines(polylines)); + }; + + Lines anchored; + for (auto it = src.begin(); it != first_deferred; ++it) + collect_lines(*it, anchored); + + std::vector unattached; + for (auto it = first_deferred; it != src.end(); ++it) + unattached.emplace_back(static_cast(*it)); + + // A loop leaning on a loop that is itself anchored is anchored as well, so spread outwards from + // the anchored loops until no unsupported loop is left touching what was reached. + const double touch_distance = 1.5 * std::max(perimeter_generator.ext_perimeter_flow.scaled_spacing(), + perimeter_generator.perimeter_flow.scaled_spacing()); + while (!anchored.empty()) { + AABBTreeLines::LinesDistancer distancer{std::move(anchored)}; + anchored.clear(); + for (ExtrusionLoop *&loop : unattached) { + if (loop == nullptr) + continue; + const Points points = loop->as_polyline().points; + if (std::any_of(points.begin(), points.end(), + [&distancer, touch_distance](const Point &point) { return distancer.distance_from_lines(point) < touch_distance; })) { + collect_lines(loop, anchored); + loop = nullptr; + } + } + } + + for (ExtrusionLoop *loop : unattached) + if (loop != nullptr) + loop->print_after_infill = true; +} + void PerimeterGenerator::process_classic() { group_region_by_fuzzify(*this); @@ -1804,6 +1872,8 @@ void PerimeterGenerator::process_classic() } } + defer_unsupported_loops(*this, entities); + // append perimeters for this slice as a collection if (! entities.empty()) this->loops->append(entities); @@ -2186,13 +2256,45 @@ void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perim // ORCA: // Inner Outer Inner wall ordering mode perimeter order optimisation functions + +// Whether two Arachne lines touch: somewhere the gap between their centrelines is no more than the +// touching distance there. Each junction of one line is measured against the segments of the other, +// both ways, and the search stops at the first spot that touches. +// Arachne varies line width to fill the region (e.g. the odd centre line of a narrow wall is wider +// than nominal), so the touching distance is half the combined width at the closest points, not the +// nominal spacing. Widths are taken locally so a line widened in one place (a wedge tip, a wall +// transition) does not count as touching where it passes close to other perimeters. min_threshold keeps +// the nominal spacing threshold as the lower bound. +static bool arachne_lines_touch(const Arachne::ExtrusionLine &a, const Arachne::ExtrusionLine &b, double min_threshold) +{ + auto one_way = [min_threshold](const Arachne::ExtrusionLine &from, const Arachne::ExtrusionLine &to) { + for (const Arachne::ExtrusionJunction &j : from.junctions) { + const Vec2d p = j.p.cast(); + for (size_t k = 0; k + 1 < to.junctions.size(); ++k) { + const Arachne::ExtrusionJunction &j0 = to.junctions[k]; + const Arachne::ExtrusionJunction &j1 = to.junctions[k + 1]; + const Vec2d s0 = j0.p.cast(); + const Vec2d seg = j1.p.cast() - s0; + const double l2 = seg.squaredNorm(); + const double t = l2 > 0. ? std::clamp((p - s0).dot(seg) / l2, 0., 1.) : 0.; + const double w = double(j0.w) + t * double(j1.w - j0.w); // width of `to` at the closest point + const double touch_distance = std::max(min_threshold, 0.5 * (double(j.w) + w)); + if ((s0 + t * seg - p).norm() <= touch_distance) + return true; + } + } + return false; + }; + return one_way(a, b) || one_way(b, a); +} + /** * @brief Finds all perimeters touching a given set of reference lines, given as indexes. * * @param entities The list of PerimeterGeneratorArachneExtrusion entities. * @param referenceIndices A set of indices representing the reference points. - * @param threshold_external The distance threshold to consider for proximity for a reference perimeter with inset index 0 - * @param threshold_internal The distance threshold to consider for proximity for a reference perimeter with inset index 1+ + * @param threshold_external The minimum touching distance for a reference perimeter with inset index 0 + * @param threshold_internal The minimum touching distance for a reference perimeter with inset index 1+ * @param considered_inset_idx What perimeter inset index are we searching for (eg. if we are searching for first internal perimeters proximate to the current reference perimeter, this value should be set to 1 etc). * @return std::vector A vector of indices representing the touching perimeters. */ @@ -2201,7 +2303,6 @@ std::vector findAllTouchingPerimeters(const std::vector 0) continue; @@ -2212,15 +2313,9 @@ std::vector findAllTouchingPerimeters(const std::vectorinset_idx == 0) - threshold = threshold_external; - else - threshold = threshold_internal; - if (distance <= threshold) { + // Add to touchingIndices if the lines touch. + const double threshold = double(referenceEntity.extrusion->inset_idx == 0 ? threshold_external : threshold_internal); + if (arachne_lines_touch(*referenceEntity.extrusion, *entity.extrusion, threshold)) { touchingIndices.insert(i); } } @@ -2742,6 +2837,7 @@ void PerimeterGenerator::process_arachne() reorient_perimeters(extrusion_coll, steep_overhang_contour, steep_overhang_hole, this->config->overhang_reverse_internal_only); } + defer_unsupported_loops(*this, extrusion_coll); this->loops->append(extrusion_coll); } @@ -2814,6 +2910,21 @@ bool PerimeterGeneratorLoop::is_internal_contour() const return true; } +// ORCA: Arachne drops features below min_feature_size, classic builds nothing thinner than a third of the +// nozzle. Both describe the layer below, a union of regions sharing neither nozzle nor generator, so every +// ambiguity resolves low: it may keep a sliver that was never printed, but it never drops one that was. +ExPolygons PerimeterGenerator::printable_slices(const ExPolygons &slices) const +{ + double min_width = *std::min_element(print_config->nozzle_diameter.values.begin(), + print_config->nozzle_diameter.values.end()) / 3.; + if (object_config->wall_generator.value == PerimeterGeneratorType::Arachne) { + const double min_feature_size = Arachne::make_paths_params(layer_id, *object_config, *print_config).min_feature_size; + // Spiral vase can put a classic layer under an Arachne one, so there both limits apply. + min_width = print_config->spiral_mode ? std::min(min_width, min_feature_size) : min_feature_size; + } + return min_width > EPSILON ? opening_ex(slices, float(scale_(min_width / 2.))) : slices; +} + std::vector PerimeterGenerator::generate_lower_polygons_series(float width) { float nozzle_diameter = print_config->nozzle_diameter.get_at(config->outer_wall_filament_id - 1); diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp index e4f918d8bd..cd49b4acdd 100644 --- a/src/libslic3r/PerimeterGenerator.hpp +++ b/src/libslic3r/PerimeterGenerator.hpp @@ -2,6 +2,7 @@ #define slic3r_PerimeterGenerator_hpp_ #include "libslic3r.h" +#include #include #include "Layer.hpp" #include "Flow.hpp" @@ -105,6 +106,8 @@ public: bool has_fuzzy_hole = false; // Preserve construction order so overlap precedence remains deterministic. std::vector> regions_by_fuzzify; + // Area resting on the layer below, where fuzzy skin is allowed. Unset means no restriction. + std::optional fuzzy_supported_area; PerimeterGenerator( // Input: @@ -149,6 +152,8 @@ public: //BBS double smaller_width_ext_mm3_per_mm() const { return m_ext_mm3_per_mm_smaller_width; } Polygons lower_slices_polygons() const { return m_lower_slices_polygons; } + // ORCA: the slices less the slivers the wall generator prints nothing for, so they never count as support. + ExPolygons printable_slices(const ExPolygons &slices) const; private: std::vector generate_lower_polygons_series(float width); diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 279ad49d92..9af8969490 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -47,6 +47,7 @@ #include #include "libslic3r.h" +#include "LifecycleEvents.hpp" #include "Utils.hpp" #include "Time.hpp" #include "PlaceholderParser.hpp" @@ -545,7 +546,7 @@ std::string generate_preset_setting_id(const std::string& vendor, const std::str return ""; // Dedicated namespace for preset setting_ids, distinct from the cloud per-user - // namespace (OrcaCloudServiceAgent). Keep in sync with scripts/orca_id_tool.py; + // namespace (OrcaCloudServiceAgent). Keep in sync with scripts/orca_profile_tool.py; // never change this constant. static const boost::uuids::uuid vendor_namespace = boost::uuids::string_generator()("c1f4d9e2-7a3b-5c8d-9e0f-1a2b3c4d5e6f"); @@ -867,6 +868,20 @@ bool is_compatible_with_printer(const PresetWithVendorProfile &preset, const Pre return is_compatible_with_printer(preset, active_printer, &config); } +// ORCA: see the header. The CLI resolves --load-settings into bare DynamicPrintConfigs and has no +// Preset objects to hand; without this it would have to reimplement the policy or build the shells +// at every call site. +bool is_compatible_with_printer(const DynamicPrintConfig &preset_config, Preset::Type preset_type, + const DynamicPrintConfig &printer_config, const std::string &printer_name) +{ + Preset preset(preset_type, std::string("__compat_check")); + preset.config = preset_config; + Preset printer(Preset::TYPE_PRINTER, printer_name); + printer.config = printer_config; + return is_compatible_with_printer(PresetWithVendorProfile(preset, nullptr), + PresetWithVendorProfile(printer, nullptr)); +} + void Preset::set_visible_from_appconfig(const AppConfig &app_config) { //BBS: add config related log @@ -1044,6 +1059,7 @@ static std::vector s_Preset_print_options{ "reduce_crossing_wall", "detect_thin_wall", "detect_overhang_wall", + "unsupported_wall_last", "overhang_reverse", "overhang_reverse_threshold", "overhang_reverse_internal_only", @@ -1183,6 +1199,7 @@ static std::vector s_Preset_print_options{ "enable_tower_interface_features", "enable_tower_interface_cooldown_during_tower", "wipe_tower_no_sparse_layers", + "wipe_tower_sparse_layers_combination", "compatible_printers", "compatible_printers_condition", "inherits", @@ -1268,6 +1285,8 @@ static std::vector s_Preset_print_options{ "accel_to_decel_enable", "accel_to_decel_factor", "wipe_on_loops", + "wipe_inward", + "wipe_inward_distance", "wipe_before_external_loop", "bridge_density", "internal_bridge_density", @@ -1304,6 +1323,8 @@ static std::vector s_Preset_print_options{ "wipe_tower_extra_flow", "single_extruder_multi_material_priming", "toolchange_ordering", + "toolchange_cyclic_order", + "toolchange_cyclic_first_layer", "wipe_tower_rotation_angle", "tree_support_branch_distance_organic", "tree_support_branch_diameter_organic", @@ -1429,7 +1450,7 @@ static std::vector s_Preset_printer_options { "gcode_skip_config_block", "fan_kickstart", "part_cooling_fan_min_pwm", "fan_speedup_time", "fan_speedup_overhangs", "single_extruder_multi_material", "manual_filament_change", "file_start_gcode", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "printing_by_object_gcode", "layer_change_gcode", "time_lapse_gcode", "wrapping_detection_gcode", "change_filament_gcode", "change_extrusion_role_gcode", "printer_model", "printer_variant", "printer_extruder_id", "printer_extruder_variant", "extruder_variant_list", "default_nozzle_volume_type", - "printable_height", "extruder_printable_height", "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", + "printable_height", "extruder_printable_height", "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", "extruder_clearance_dist_to_rod", "nozzle_height", "master_extruder_id", "default_print_profile", "inherits", "silent_mode", @@ -2953,6 +2974,7 @@ void PresetCollection::save_current_preset(const std::string &new_name, bool det // 1) Find the preset with a new_name or create a new one, // initialize it with the edited config. auto it = this->find_preset_internal(new_name); + const bool preset_existed = (it != m_presets.end() && it->name == new_name); if (it != m_presets.end() && it->name == new_name) { // Preset with the same name found. Preset &preset = *it; @@ -3060,6 +3082,83 @@ void PresetCollection::save_current_preset(const std::string &new_name, bool det this->get_selected_preset().save(&(parent_preset->config)); else this->get_selected_preset().save(nullptr); + + { + LifecycleEventContext ctx; + ctx.name = new_name; + ctx.msg = preset_existed ? "overwrite" : "new"; + ctx.code = LifecycleEvtCode::Ok; + fire_lifecycle_event(LifecycleEvent::PresetSaved, ctx); + } +} + +// A detached standalone preset for the Full Publish receiver: create a user preset holding +// the full resolved filament config (no inheritance, no vendor/alias links), parentless. +// Note: universal printer compatibility is not enforced here - callers apply +// make_publish_universal() to the config before handing it over when they need it. +// Mirrors save_current_preset(detach=true)'s creation branch but does not force-select or +// diff against a parent; the caller decides whether to select it. +// The published entry's filament_id is forwarded so user bases keep their stable +// material grouping (get_filament_presets() groups user bases by filament_id). +// The copy is a project-embedded preset: it lives inside the loaded project only +// (serialized into the saved .3mf, restored by load_project_embedded_presets) and +// never touches the user's library directory; Preset::save() early-returns for +// embedded presets, so persistence is skipped here too. +// Returns the final (uniquified) name; on collision "" -> " (Published)" -> +// " (Published 2)" ... +std::string PresetCollection::add_detached_preset(const std::string &name_base, DynamicPrintConfig config, + const std::string &filament_id) +{ + if (name_base.empty()) + return std::string(); + Preset stored(m_type, name_base); + stored.config = std::move(config); + stored.filament_id = filament_id; + + // Uniquify verbatim; only on collision append " (Published)" then " (Published 2)". + const std::string base_name = name_base; + std::string final_name = base_name; + auto exists = [this](const std::string &candidate) -> bool { + const auto it = this->find_preset_internal(candidate); + return it != m_presets.end() && it->name == candidate; + }; + if (exists(final_name)) { + final_name = base_name + " (Published)"; + for (int i = 2; exists(final_name); ++i) + final_name = base_name + " (Published " + std::to_string(i) + ")"; + } + + // Creation branch of save_current_preset(detach=true), without its selection side + // effects or project-embedded path. + lock(); + const auto it = this->find_preset_internal(final_name); + if (m_presets.begin() + m_idx_selected >= it) + ++m_idx_selected; + Preset &preset = *m_presets.insert(it, stored); + preset.name = final_name; + preset.vendor = nullptr; + preset.alias.clear(); + preset.renamed_from.clear(); + preset.m_excluded_from.clear(); + preset.setting_id.clear(); + preset.inherits().clear(); + preset.version = Semver::parse(SoftFever_VERSION).value_or(Semver()); + preset.is_default = false; + preset.is_system = false; + preset.is_external = false; + preset.bundle_id.clear(); + preset.file = this->path_for_preset(preset); + preset.is_visible = true; + preset.is_project_embedded = true; + if (m_type == Preset::TYPE_PRINT) + preset.config.option("print_settings_id", true)->value = final_name; + else if (m_type == Preset::TYPE_FILAMENT) + preset.config.option("filament_settings_id", true)->values[0] = final_name; + else if (m_type == Preset::TYPE_PRINTER) + preset.config.option("printer_settings_id", true)->value = final_name; + unlock(); + + return final_name; } bool PresetCollection::delete_current_preset() diff --git a/src/libslic3r/Preset.hpp b/src/libslic3r/Preset.hpp index 6a7871d07d..5b32d90ac6 100644 --- a/src/libslic3r/Preset.hpp +++ b/src/libslic3r/Preset.hpp @@ -62,6 +62,7 @@ #define ORCA_JSON_KEY_UPDATE_TIME "updated_time" #define ORCA_JSON_KEY_CREATED_TIME "created_time" #define BBL_JSON_KEY_INHERITS "inherits" +#define BBL_JSON_KEY_INCLUDES "include" #define BBL_JSON_KEY_INSTANTIATION "instantiation" #define BBL_JSON_KEY_NOZZLE_DIAMETER "nozzle_diameter" #define BBL_JSON_KEY_PRINTER_TECH "machine_tech" @@ -93,8 +94,8 @@ class PresetBundle; // Deterministic preset setting_id: uuid5(vendor/type/name) -> 16 base62 chars. // Pure function of a system preset's identity, so the value can be assigned by -// scripts/orca_id_tool.py and recomputed here when a profile ships without it. -// MUST stay byte-identical to scripts/orca_id_tool.py. +// scripts/orca_profile_tool.py and recomputed here when a profile ships without it. +// MUST stay byte-identical to scripts/orca_profile_tool.py. // This is NOT the per-user cloud-sync setting_id // (OrcaCloudServiceAgent::generate_uuid_for_setting_id) - do not conflate them. std::string generate_preset_setting_id(const std::string& vendor, @@ -459,6 +460,11 @@ protected: bool is_compatible_with_print (const PresetWithVendorProfile &preset, const PresetWithVendorProfile &active_print, const PresetWithVendorProfile &active_printer); bool is_compatible_with_printer(const PresetWithVendorProfile &preset, const PresetWithVendorProfile &active_printer, const DynamicPrintConfig *extra_config); bool is_compatible_with_printer(const PresetWithVendorProfile &preset, const PresetWithVendorProfile &active_printer); +// ORCA: same check for callers that hold raw configs rather than Presets (the CLI). Wraps them in +// throwaway Preset shells and delegates, so the compatibility policy -- including the fail-open on a +// malformed compatible_printers_condition -- lives in one place for the GUI and the CLI alike. +bool is_compatible_with_printer(const DynamicPrintConfig &preset_config, Preset::Type preset_type, + const DynamicPrintConfig &printer_config, const std::string &printer_name); // Where a preset is being loaded from. `Auto` lets load_presets() infer from the directory path. struct PresetOrigin { @@ -631,6 +637,22 @@ public: // All presets are marked as not modified and the new preset is activated. //BBS: add project embedded preset logic void save_current_preset(const std::string &new_name, bool detach = false, bool save_to_project = false, Preset* _curr_preset = nullptr); + // Insert a standalone user preset holding the full resolved config (no inheritance, + // no vendor links): the libslic3r equivalent of "Detach from parent". Takes a + // resolved config, clears parent/vendor/alias metadata, stamps filament_settings_id. + // Unlike save_current_preset it does not force-select or diff against a parent. + // Used by the published-3MF Full Publish path. The optional filament_id seeds the + // preset's stable material grouping (get_filament_presets groups user bases by + // filament_id); the published entry's filament_id is forwarded so the copy keeps + // the author's grouping. + // The copy is a project-embedded preset ("Preset Inside Project"): it lives inside + // the loaded project only, is serialized into the saved .3mf via + // get_current_project_embedded_presets(), and is never written to the user's + // library directory. + // Returns the final (uniquified) name; on collision the suffix rule is: + // "" -> " (Published)" -> " (Published 2)" ... + std::string add_detached_preset(const std::string &name_base, DynamicPrintConfig config, + const std::string &filament_id = std::string()); // Delete the current preset, activate the first visible preset. // returns true if the preset was deleted successfully. diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 6d4e77837a..c8fe00b17c 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -7,16 +7,18 @@ #include "PresetCacheFormat.hpp" #include "PrintConfig.hpp" +#include "PublishSettings.hpp" #include "FilamentMixer.hpp" #include "libslic3r.h" #include "I18N.hpp" #include "Utils.hpp" #include "LocalesUtils.hpp" #include "Model.hpp" +#include "TriangleSelector.hpp" #include "libslic3r_version.h" #include -#include +#include #include #include #include @@ -45,6 +47,10 @@ namespace Slic3r { +// Project-level options imported from a loaded 3MF into project_config. s_project_options_published +// below is the reduced subset that crosses over in "published" 3MF mode; keep both in sync. +// s_project_options_published additionally carries wipe_tower_rotation_angle, which normal +// loads do not import (it is not listed here): published-only plate geometry. static std::vector s_project_options { "flush_volumes_vector", "flush_volumes_matrix", @@ -85,6 +91,21 @@ static std::vector s_project_options { "filament_mixed_gradient_per_part" }; +// Project options applied when loading a "published" 3MF project: s_project_options minus the +// filament/purge keys, plus wipe_tower_rotation_angle (plate geometry that only published +// loads import today). A published file must not port the author's filament data +// (colors, colour types, filament/map/AMS slot state, purge/prime/flush volumes, nozzle +// volume types, filament switcher state) to the receiver's project_config, which feeds the +// scene colors, AMS slot colors and purge data. Only the plate/bed geometry keys cross over; +// normal (non-published) 3MF loads keep importing the author's flush data via s_project_options. +// +// KEEP IN SYNC with s_project_options above: when a new project option is added there, decide +// here whether it is plate/bed geometry (add it to this list) or filament/purge/mapping/device +// state (it must NOT be added). curr_bed_type is deliberately NOT in this list: the receiver +// keeps its own bed type when loading a published project. The published-mode project_config +// assertions in tests/libslic3r/test_preset_bundle_loading.cpp guard both directions. +static std::vector s_project_options_published{"wipe_tower_x", "wipe_tower_y", "wipe_tower_rotation_angle"}; + //Orca: add custom as default const char *PresetBundle::ORCA_DEFAULT_BUNDLE = "Custom"; const char *PresetBundle::ORCA_DEFAULT_PRINTER_MODEL = "MyKlipper 0.4 nozzle"; @@ -463,7 +484,7 @@ bool PresetBundle::resolve_preset_config(DynamicPrintConfig &config, Preset::Typ else if (compatibility_rule == ForwardCompatibilitySubstitutionRule::EnableSilentDisableSystem) compatibility_rule = ForwardCompatibilitySubstitutionRule::Disable; - auto collection_for_type = [](PresetBundle &bundle, Preset::Type preset_type) -> PresetCollection * { + auto collection_for_type = [](const PresetBundle &bundle, Preset::Type preset_type) -> const PresetCollection * { switch (preset_type) { case Preset::TYPE_PRINT: return &bundle.prints; case Preset::TYPE_FILAMENT: return &bundle.filaments; @@ -472,15 +493,15 @@ bool PresetBundle::resolve_preset_config(DynamicPrintConfig &config, Preset::Typ } }; - PresetCollection *collection = collection_for_type(*this, type); + const PresetCollection *collection = collection_for_type(*this, type); if (collection == nullptr) { error = "Unsupported preset type"; return false; } const boost::filesystem::path source_path = boost::filesystem::absolute(source_file).lexically_normal(); - auto find_loaded = [&](PresetBundle &bundle) -> const Preset * { - PresetCollection *loaded_collection = collection_for_type(bundle, type); + auto find_loaded = [&](const PresetBundle &bundle) -> const Preset * { + const PresetCollection *loaded_collection = collection_for_type(bundle, type); const Preset *resolved = nullptr; for (const Preset &preset : loaded_collection->get_presets()) { if (preset.file.empty()) @@ -528,30 +549,11 @@ bool PresetBundle::resolve_preset_config(DynamicPrintConfig &config, Preset::Typ continue; try { - PresetBundle library_bundle; - const PresetBundle *base_bundle = nullptr; - if (vendor_id != ORCA_FILAMENT_LIBRARY && - boost::filesystem::is_regular_file(root_dir / (std::string(ORCA_FILAMENT_LIBRARY) + ".json"))) { - library_bundle.m_preserve_vendor_source_paths = true; - library_bundle.load_vendor_configs_from_json(root_dir.string(), ORCA_FILAMENT_LIBRARY, LoadSystem, - compatibility_rule, nullptr, false); - if (library_bundle.error_count() != 0) { - error = "OrcaFilamentLibrary contains invalid presets"; - return false; - } - base_bundle = &library_bundle; - } - - PresetBundle source_bundle; - source_bundle.m_preserve_vendor_source_paths = true; - source_bundle.load_vendor_configs_from_json(root_dir.string(), vendor_id, LoadSystem, - compatibility_rule, base_bundle, false); - if (source_bundle.error_count() != 0) { - error = "Vendor bundle contains invalid presets"; + const PresetBundle *loaded = load_source_vendor(root_dir, vendor_id, compatibility_rule, error); + if (loaded == nullptr) return false; - } - const Preset *resolved = find_loaded(source_bundle); + const Preset *resolved = find_loaded(*loaded); if (resolved == nullptr) { if (error.empty()) error = "Source file is not an instantiated preset in its vendor manifest"; @@ -570,6 +572,37 @@ bool PresetBundle::resolve_preset_config(DynamicPrintConfig &config, Preset::Typ return false; } +const PresetBundle *PresetBundle::load_source_vendor(const boost::filesystem::path &root_dir, + const std::string &vendor_id, + ForwardCompatibilitySubstitutionRule compatibility_rule, + std::string &error) +{ + auto key = std::make_tuple(root_dir.string(), vendor_id, compatibility_rule); + if (auto it = m_source_vendor_bundles.find(key); it != m_source_vendor_bundles.end()) + return it->second.get(); + + // The library loads with no base of its own, so the tree a vendor inherits from + // is the same one that resolves the library's own presets. + const PresetBundle *library = nullptr; + if (vendor_id != ORCA_FILAMENT_LIBRARY && + boost::filesystem::is_regular_file(root_dir / (std::string(ORCA_FILAMENT_LIBRARY) + ".json"))) { + library = load_source_vendor(root_dir, ORCA_FILAMENT_LIBRARY, compatibility_rule, error); + if (library == nullptr) { + error = "OrcaFilamentLibrary contains invalid presets"; + return nullptr; + } + } + + auto bundle = std::make_unique(); + bundle->m_preserve_vendor_source_paths = true; + bundle->load_vendor_configs_from_json(root_dir.string(), vendor_id, LoadSystem, compatibility_rule, library, false); + if (bundle->error_count() != 0) { + error = "Vendor bundle contains invalid presets"; + return nullptr; + } + return m_source_vendor_bundles.emplace(std::move(key), std::move(bundle)).first->second.get(); +} + bool PresetBundle::resolve_preset_config_type(DynamicPrintConfig &config, Preset::Type &type, const std::string &source_file, ForwardCompatibilitySubstitutionRule compatibility_rule, @@ -1614,6 +1647,12 @@ PresetsConfigSubstitutions PresetBundle::import_presets(std::vector metadata.id = to_string(uuid); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " bundle_id was empty, so generating a UUID: " << metadata.id; } + if (has_bundle_structure && !is_path_within_root(metadata.id, user_folder / user_id / PRESET_LOCAL_DIR)) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << " bundle id escapes the bundle directory, not importing: " << metadata.id; + fclose(zipFile); + fs::remove_all(temp_folder, ec); + continue; + } // Build bundle directory path based on whether bundle_structure.json was present fs::path bundle_base_dir; @@ -1636,11 +1675,15 @@ PresetsConfigSubstitutions PresetBundle::import_presets(std::vector if (status) { std::string file_name = file_stat.m_filename; BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " From zip file: " << file << ". Read file name: " << file_stat.m_filename; - size_t index = file_name.find_last_of('/'); + size_t index = file_name.find_last_of("/\\"); if (std::string::npos != index) { file_name = file_name.substr(index + 1); } if (BUNDLE_STRUCTURE_JSON_NAME == file_name) continue; + if (!is_path_within_root(file_name, temp_folder)) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << " zip entry escapes the temp directory, skipping: " << file_stat.m_filename; + continue; + } // create target file path std::string target_file_path = boost::filesystem::path(temp_folder / file_name).make_preferred().string(); @@ -1729,6 +1772,10 @@ bool PresetBundle::import_json_presets(PresetsConfigSubstitutions & s BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << " Preset type is unknown, not loading: " << name; return false; } + if (!is_path_within_root(name, fs::path(collection->m_dir_path))) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << " Preset name escapes the preset directory, not loading: " << name; + return false; + } const PresetOrigin load_origin = detect_origin_from_path(boost::filesystem::path(bundle_dir)); const std::string preset_name = get_preset_canonical_name(name, load_origin); @@ -4926,6 +4973,142 @@ static std::map> filament_preset {"Bambu ASA @BBL H2D 0.6 nozzle", "Bambu ASA @BBL H2D 0.8 nozzle"}}} }; +// Relocate the per-slot cells of one mixed-filament project vector inside the imported +// config, applying every authored-slot -> destination move at once. Each move reads its +// source cell from a frozen snapshot of the config's current cells, so relocations never +// cross-contaminate when an earlier destination overlaps a later source (adjacent published +// tail mixes relocate onto consecutive slots). Cells the snapshot lacks degrade to +// empty/false defaults - the missing-data handling in the material pass reports them +// downstream. Left-behind source cells stay as-is: nothing else consumes the imported config +// at those indices in published mode. +static void apply_mixed_config_relocations(DynamicPrintConfig& config, + const std::string& key, + const std::vector>& moves) +{ + ConfigOption* opt = config.optptr(key); + if (opt == nullptr || moves.empty()) + return; + std::unique_ptr snapshot(opt->clone()); + switch (opt->type()) { + case coBools: { + auto* live = static_cast(opt); + const auto* frozen = static_cast(snapshot.get()); + for (const auto& [from, to] : moves) { + const unsigned char cell = from < frozen->values.size() ? frozen->values[from] : 0; + if (live->values.size() <= to) + live->values.resize(to + 1, 0); + live->values[to] = cell; + } + break; + } + case coStrings: { + auto* live = static_cast(opt); + const auto* frozen = static_cast(snapshot.get()); + for (const auto& [from, to] : moves) { + const std::string cell = from < frozen->values.size() ? frozen->values[from] : std::string(); + if (live->values.size() <= to) + live->values.resize(to + 1, std::string{}); + live->values[to] = cell; + } + break; + } + default: break; + } +} + +// Relocate the per-slot cells of the receiver's OWN mixed-filament definitions (the ones that +// pre-existed in project_config) onto fresh tail slots, clearing each vacated source cell so an +// incoming published real filament can claim it. Unlike apply_mixed_config_relocations - which +// moves the incoming file's config and leaves sources alone - a displaced receiver mix must not +// keep its mixed flag in the physical region: the source slot becomes a physical slot, so its +// mixed flag and definition are reset, while its swatch colour and mapping travel with the +// definition to the tail slot. Reads come from a frozen snapshot so an earlier move's +// destination never overwrites a later move's still-unread source (sources sit in the physical +// region and destinations past it, so they cannot overlap, but the snapshot keeps the helper +// safe for any future reordering). +static void apply_receiver_mix_relocations(DynamicPrintConfig& config, + std::vector>& ams_multi_color_filment, + const std::vector>& moves) +{ + if (moves.empty()) + return; + + auto move_bools = [&](const char* key, bool clear_source) { + ConfigOption* opt = config.optptr(key); + if (opt == nullptr) + return; + auto* live = static_cast(opt); + std::unique_ptr snapshot(opt->clone()); + const auto* frozen = static_cast(snapshot.get()); + for (const auto& [from, to] : moves) { + const bool cell = from < frozen->values.size() ? frozen->values[from] : false; + if (live->values.size() <= to) + live->values.resize(to + 1, false); + live->values[to] = cell; + if (clear_source && from < live->values.size()) + live->values[from] = false; + } + }; + auto move_strings = [&](const char* key, bool clear_source) { + ConfigOption* opt = config.optptr(key); + if (opt == nullptr) + return; + auto* live = static_cast(opt); + std::unique_ptr snapshot(opt->clone()); + const auto* frozen = static_cast(snapshot.get()); + for (const auto& [from, to] : moves) { + const std::string cell = from < frozen->values.size() ? frozen->values[from] : std::string(); + if (live->values.size() <= to) + live->values.resize(to + 1, std::string{}); + live->values[to] = cell; + if (clear_source && from < live->values.size()) + live->values[from] = std::string{}; + } + }; + auto move_ints = [&](const char* key) { + ConfigOption* opt = config.optptr(key); + if (opt == nullptr) + return; + auto* live = static_cast(opt); + std::unique_ptr snapshot(opt->clone()); + const auto* frozen = static_cast(snapshot.get()); + for (const auto& [from, to] : moves) { + const int cell = from < frozen->values.size() ? frozen->values[from] : 0; + if (live->values.size() <= to) + live->values.resize(to + 1, 0); + live->values[to] = cell; + } + }; + + // Mixed-definition cells: move to the tail and clear the source - the vacated physical slot + // no longer holds a mix. + move_bools("filament_is_mixed", true); + move_strings("filament_mixed_components", true); + move_strings("filament_mixed_sublayer_ratios", true); + move_bools("filament_mixed_gradient", true); + move_strings("filament_mixed_gradient_range", true); + move_strings("filament_mixed_gradient_curve", true); + move_bools("filament_mixed_gradient_per_part", true); + // Swatch colour and mapping travel with the definition; the source colour is left for the + // incoming real's publish_color (or the slot's resolved preset) to fill in. + move_strings("filament_colour", false); + move_strings("filament_multi_colour", false); + move_strings("filament_colour_type", false); + move_ints("filament_map"); + move_ints("filament_nozzle_map"); + move_ints("filament_volume_map"); + { + const std::vector> frozen = ams_multi_color_filment; + for (const auto& [from, to] : moves) { + const std::vector cell = from < frozen.size() ? frozen[from] : std::vector(); + if (ams_multi_color_filment.size() <= to) + ams_multi_color_filment.resize(to + 1, std::vector{}); + ams_multi_color_filment[to] = cell; + } + } +} + + //convert the old filament preset to new one after split static void convert_filament_preset_name(std::string& machine_name, std::string& filament_name) { @@ -4942,10 +5125,14 @@ static void convert_filament_preset_name(std::string& machine_name, std::string& } // Load a config file from a boost property_tree. This is a private method called from load_config_file. // is_external == false on if called from ConfigWizard -void PresetBundle::load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config, Semver file_version, bool selected) +void PresetBundle::load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config, Semver file_version, bool selected, PublishedConfig *published_config) { PrinterTechnology printer_technology = Preset::printer_technology(config); + // A "published" 3MF project keeps the user's currently-selected presets and overlays only + // the author-selected published keys onto the edited presets. + const bool is_published = published_config != nullptr && published_config->published; + auto clear_compatible_printers = [](DynamicPrintConfig& config){ ConfigOption *opt_compatible = config.optptr("compatible_printers"); if (opt_compatible != nullptr) { @@ -5086,127 +5273,60 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool switch (Preset::printer_technology(config)) { case ptFFF: { - //BBS: add different settings logic - BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load print preset from print_settings_id"); - std::vector print_different_keys_vector; - std::string print_different_settings = different_values[0]; - Slic3r::unescape_strings_cstyle(print_different_settings, print_different_keys_vector); - std::set print_different_keys_set(print_different_keys_vector.begin(), print_different_keys_vector.end()); - //if (!has_different_settings_to_system) { - // print_different_keys_set.clear(); - //} - //else - print_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); - if (!print_compatible_printers.empty()) { - ConfigOptionStrings* compatible_printers = config.option("compatible_printers", true); - compatible_printers->values = print_compatible_printers; - } - - load_preset(this->prints, 0, "print_settings_id", print_different_keys_set, std::string()); - - //clear compatible printers - clear_compatible_printers(config); - - std::vector printer_different_keys_vector; - std::string printer_different_settings = different_values[num_filaments + 1]; - Slic3r::unescape_strings_cstyle(printer_different_settings, printer_different_keys_vector); - std::set printer_different_keys_set(printer_different_keys_vector.begin(), printer_different_keys_vector.end()); - //if (!has_different_settings_to_system) { - // printer_different_keys_set.clear(); - //} - //else - printer_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); - //BBS: add config related logs - BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load printer preset from printer_settings_id"); - load_preset(this->printers, num_filaments + 1, "printer_settings_id", printer_different_keys_set, std::string()); - - // 3) Now load the filaments. If there are multiple filament presets, split them and load them. - auto old_filament_profile_names = config.option("filament_settings_id", true); - old_filament_profile_names->values.resize(num_filaments, std::string()); - - auto old_machine_profile_name = config.option("printer_settings_id", true); - - if (num_filaments <= 1) { - // Split the "compatible_printers_condition" and "inherits" values from the cummulative vectors to separate filament presets. - inherits = inherits_values[1]; - compatible_printers_condition = compatible_printers_condition_values[1]; - compatible_prints_condition = compatible_prints_condition_values.front(); - Preset *loaded = nullptr; - + // A "published" 3MF project keeps the user's currently-selected presets, so the + // print / printer / filament presets are NOT loaded from the file. Only the + // project config values and the published keys are applied below. + if (!is_published) { //BBS: add different settings logic - std::vector filament_different_keys_vector; - std::string filament_different_settings = different_values[1]; - Slic3r::unescape_strings_cstyle(filament_different_settings, filament_different_keys_vector); - std::set filament_different_keys_set(filament_different_keys_vector.begin(), filament_different_keys_vector.end()); + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load print preset from print_settings_id"); + std::vector print_different_keys_vector; + std::string print_different_settings = different_values[0]; + Slic3r::unescape_strings_cstyle(print_different_settings, print_different_keys_vector); + std::set print_different_keys_set(print_different_keys_vector.begin(), print_different_keys_vector.end()); //if (!has_different_settings_to_system) { - // filament_different_keys_set.clear(); + // print_different_keys_set.clear(); //} //else - filament_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); + print_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); + if (!print_compatible_printers.empty()) { + ConfigOptionStrings* compatible_printers = config.option("compatible_printers", true); + compatible_printers->values = print_compatible_printers; + } - std::string filament_id = filament_ids[0]; + load_preset(this->prints, 0, "print_settings_id", print_different_keys_set, std::string()); + + //clear compatible printers + clear_compatible_printers(config); + + std::vector printer_different_keys_vector; + std::string printer_different_settings = different_values[num_filaments + 1]; + Slic3r::unescape_strings_cstyle(printer_different_settings, printer_different_keys_vector); + std::set printer_different_keys_set(printer_different_keys_vector.begin(), printer_different_keys_vector.end()); + //if (!has_different_settings_to_system) { + // printer_different_keys_set.clear(); + //} + //else + printer_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); //BBS: add config related logs - BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load single filament preset from filament_settings_id"); - if (is_external) { - if (inherits.empty()) - convert_filament_preset_name(old_machine_profile_name->value, old_filament_profile_names->values.front()); - else - convert_filament_preset_name(old_machine_profile_name->value, inherits); - loaded = this->filaments.load_external_preset(name_or_path, name, old_filament_profile_names->values.front(), config, filament_different_keys_set, PresetCollection::LoadAndSelect::Always, file_version, filament_id).first; - } - else { - // called from Config Wizard. - loaded= &this->filaments.load_preset(this->filaments.path_from_name(name, inherits.empty()), name, config, true, file_version); - loaded->save(nullptr); - } - this->filament_presets.clear(); - this->filament_presets.emplace_back(loaded->name); - } else { - assert(is_external); - // Split the filament presets, load each of them separately. - std::vector configs(num_filaments, this->filaments.default_preset().config); - // loop through options and scatter them into configs. - for (const t_config_option_key &key : this->filaments.default_preset().config.keys()) { - ConfigOption *other_opt = config.option(key); - if (other_opt == nullptr) - continue; - if (other_opt->is_scalar()) { - for (size_t i = 0; i < configs.size(); ++ i) - configs[i].option(key, false)->set(other_opt); - } - else if (key != "compatible_printers" && key != "compatible_prints") { - for (size_t i = 0; i < configs.size(); ++i) { - if (process_multi_extruder && (filament_options_with_variant.find(key) != filament_options_with_variant.end())) { - ConfigOptionVectorBase* other_opt_vec = static_cast(other_opt); - if (other_opt_vec->size() != extruder_variant_count) { - other_opt_vec->resize(extruder_variant_count); - } - size_t next_index = (i < (configs.size() - 1)) ? filament_variant_index[i + 1] : extruder_variant_count; - static_cast(configs[i].option(key, false))->set(other_opt, filament_variant_index[i], next_index - filament_variant_index[i]); - } - else - static_cast(configs[i].option(key, false))->set_at(other_opt, 0, i); - } - } - } - // Load the configs into this->filaments and make them active. - this->filament_presets = std::vector(configs.size()); - // To avoid incorrect selection of the first filament preset (means a value of Preset->m_idx_selected) - // in a case when next added preset take a place of previosly selected preset, - // we should add presets from last to first - bool any_modified = false; - //BBS: add config related logs - BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load multiple filament preset from filament_settings_id"); - for (int i = (int)configs.size()-1; i >= 0; i--) { - DynamicPrintConfig &cfg = configs[i]; - // Split the "compatible_printers_condition" and "inherits" from the cummulative vectors to separate filament presets. - cfg.opt_string("compatible_printers_condition", true) = compatible_printers_condition_values[i + 1]; - cfg.opt_string("compatible_prints_condition", true) = compatible_prints_condition_values[i]; - cfg.opt_string("inherits", true) = inherits_values[i + 1]; + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load printer preset from printer_settings_id"); + load_preset(this->printers, num_filaments + 1, "printer_settings_id", printer_different_keys_set, std::string()); + + // 3) Now load the filaments. If there are multiple filament presets, split them and load them. + auto old_filament_profile_names = config.option("filament_settings_id", true); + old_filament_profile_names->values.resize(num_filaments, std::string()); + + auto old_machine_profile_name = config.option("printer_settings_id", true); + + if (num_filaments <= 1) { + // Split the "compatible_printers_condition" and "inherits" values from the cummulative vectors to separate filament presets. + inherits = inherits_values[1]; + compatible_printers_condition = compatible_printers_condition_values[1]; + compatible_prints_condition = compatible_prints_condition_values.front(); + Preset *loaded = nullptr; //BBS: add different settings logic std::vector filament_different_keys_vector; - std::string filament_different_settings = different_values[i+1]; + std::string filament_different_settings = different_values[1]; Slic3r::unescape_strings_cstyle(filament_different_settings, filament_different_keys_vector); std::set filament_different_keys_set(filament_different_keys_vector.begin(), filament_different_keys_vector.end()); //if (!has_different_settings_to_system) { @@ -5215,32 +5335,105 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool //else filament_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); - std::string filament_id = filament_ids[i]; + std::string filament_id = filament_ids[0]; + //BBS: add config related logs + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load single filament preset from filament_settings_id"); + if (is_external) { + if (inherits.empty()) + convert_filament_preset_name(old_machine_profile_name->value, old_filament_profile_names->values.front()); + else + convert_filament_preset_name(old_machine_profile_name->value, inherits); + loaded = this->filaments.load_external_preset(name_or_path, name, old_filament_profile_names->values.front(), config, filament_different_keys_set, PresetCollection::LoadAndSelect::Always, file_version, filament_id).first; + } + else { + // called from Config Wizard. + loaded= &this->filaments.load_preset(this->filaments.path_from_name(name, inherits.empty()), name, config, true, file_version); + loaded->save(nullptr); + } + this->filament_presets.clear(); + this->filament_presets.emplace_back(loaded->name); + } else { + assert(is_external); + // Split the filament presets, load each of them separately. + std::vector configs(num_filaments, this->filaments.default_preset().config); + // loop through options and scatter them into configs. + for (const t_config_option_key &key : this->filaments.default_preset().config.keys()) { + ConfigOption *other_opt = config.option(key); + if (other_opt == nullptr) + continue; + if (other_opt->is_scalar()) { + for (size_t i = 0; i < configs.size(); ++ i) + configs[i].option(key, false)->set(other_opt); + } + else if (key != "compatible_printers" && key != "compatible_prints") { + for (size_t i = 0; i < configs.size(); ++i) { + if (process_multi_extruder && (filament_options_with_variant.find(key) != filament_options_with_variant.end())) { + ConfigOptionVectorBase* other_opt_vec = static_cast(other_opt); + if (other_opt_vec->size() != extruder_variant_count) { + other_opt_vec->resize(extruder_variant_count); + } + size_t next_index = (i < (configs.size() - 1)) ? filament_variant_index[i + 1] : extruder_variant_count; + static_cast(configs[i].option(key, false))->set(other_opt, filament_variant_index[i], next_index - filament_variant_index[i]); + } + else + static_cast(configs[i].option(key, false))->set_at(other_opt, 0, i); + } + } + } + // Load the configs into this->filaments and make them active. + this->filament_presets = std::vector(configs.size()); + // To avoid incorrect selection of the first filament preset (means a value of Preset->m_idx_selected) + // in a case when next added preset take a place of previosly selected preset, + // we should add presets from last to first + bool any_modified = false; + //BBS: add config related logs + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": load multiple filament preset from filament_settings_id"); + for (int i = (int)configs.size()-1; i >= 0; i--) { + DynamicPrintConfig &cfg = configs[i]; + // Split the "compatible_printers_condition" and "inherits" from the cummulative vectors to separate filament presets. + cfg.opt_string("compatible_printers_condition", true) = compatible_printers_condition_values[i + 1]; + cfg.opt_string("compatible_prints_condition", true) = compatible_prints_condition_values[i]; + cfg.opt_string("inherits", true) = inherits_values[i + 1]; - // Load all filament presets, but only select the first one in the preset dialog. - std::string& filament_inherit = cfg.opt_string("inherits", true); - if (filament_inherit.empty() && (i < int(old_filament_profile_names->values.size()))) - convert_filament_preset_name(old_machine_profile_name->value, old_filament_profile_names->values[i]); - else - convert_filament_preset_name(old_machine_profile_name->value, filament_inherit); - auto [loaded, modified] = this->filaments.load_external_preset(name_or_path, name, - (i < int(old_filament_profile_names->values.size())) ? old_filament_profile_names->values[i] : "", - std::move(cfg), - filament_different_keys_set, - i == 0 ? - PresetCollection::LoadAndSelect::Always : - any_modified ? - PresetCollection::LoadAndSelect::Never : - PresetCollection::LoadAndSelect::OnlyIfModified, - file_version, - filament_id); - any_modified |= modified; - this->filament_presets[i] = loaded->name; + //BBS: add different settings logic + std::vector filament_different_keys_vector; + std::string filament_different_settings = different_values[i+1]; + Slic3r::unescape_strings_cstyle(filament_different_settings, filament_different_keys_vector); + std::set filament_different_keys_set(filament_different_keys_vector.begin(), filament_different_keys_vector.end()); + //if (!has_different_settings_to_system) { + // filament_different_keys_set.clear(); + //} + //else + filament_different_keys_set.insert(ignore_settings_list.begin(), ignore_settings_list.end()); + + std::string filament_id = filament_ids[i]; + + // Load all filament presets, but only select the first one in the preset dialog. + std::string& filament_inherit = cfg.opt_string("inherits", true); + if (filament_inherit.empty() && (i < int(old_filament_profile_names->values.size()))) + convert_filament_preset_name(old_machine_profile_name->value, old_filament_profile_names->values[i]); + else + convert_filament_preset_name(old_machine_profile_name->value, filament_inherit); + auto [loaded, modified] = this->filaments.load_external_preset(name_or_path, name, + (i < int(old_filament_profile_names->values.size())) ? old_filament_profile_names->values[i] : "", + std::move(cfg), + filament_different_keys_set, + i == 0 ? + PresetCollection::LoadAndSelect::Always : + any_modified ? + PresetCollection::LoadAndSelect::Never : + PresetCollection::LoadAndSelect::OnlyIfModified, + file_version, + filament_id); + any_modified |= modified; + this->filament_presets[i] = loaded->name; + } } - } + } // !is_published - // 4) Load the project config values (the per extruder wipe matrix etc). - this->project_config.apply_only(config, s_project_options); + // Load the project config values. In published mode only the plate/bed geometry keys + // cross over (the receiver must not inherit the author's filament/purge data). + this->project_config.apply_only(config, is_published ? s_project_options_published : s_project_options); break; } @@ -5259,18 +5452,1143 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool this->update_compatible(PresetSelectCompatibleType::Never); this->update_multi_material_filament_presets(); + // A "published" 3MF project overlays the author-selected published keys onto the user's + // currently-selected (edited) process preset. Keys that cannot be applied are collected for + // notification; filament-class keys in published_keys (which only the material pass knows + // how to apply) fall through into skipped_keys. + if (is_published) { + std::vector skipped_keys; + std::set applied_keys; + // Only re-select the edited filament preset when the material overlay changed + // something: re-selecting unconditionally would discard the user's unsaved in-memory + // filament edits when the published file touches nothing. + bool material_applied = false; + // Structural keys are never applied (they would rewrite the user's preset + // inheritance/structure). Defense-in-depth: a hand-crafted 3MF could list them despite + // the dialog, so skip them here too. + const std::set& structural_keys = publish_structural_keys(); + // The printer overlay is restricted to the publishable retraction/z-hop allowlist; + // printer-class keys outside it are contract-excluded (never applied, never reported). + const std::set& printer_allowlist = publishable_printer_keys(); + const std::vector& printer_options = Preset::printer_options(); + const std::set printer_option_set(printer_options.begin(), printer_options.end()); + std::set contract_excluded_keys; + auto apply_published = [&](DynamicPrintConfig& target, const std::set* allowlist) { + // Single-extruder receivers collapse a base key's per-extruder "#N" variants onto + // their single slot: only the first serialized variant of a base key is applied + // (the author's "left or right" whichever came first), the rest are reported as + // skipped. Per-target, so the process and printer passes each track their own bases. + std::set collapsed_bases; + for (const std::string& key : published_config->published_keys) { + if (applied_keys.count(key) != 0) + continue; // already applied + // A '#' suffix denotes a variant key; resolve the base key. + const std::string base_key = publish_base_key(key); + // Structural keys are never applied (not "skipped due to mismatch"), so bail + // out before the applied/skipped bookkeeping. + if (structural_keys.count(base_key) != 0) + continue; + if (allowlist != nullptr && printer_option_set.count(base_key) != 0 && allowlist->count(base_key) == 0) { + // Printer-class key outside the publishable allowlist: contract-excluded. + contract_excluded_keys.insert(base_key); + continue; + } + const ConfigOption* src_opt = config.option(base_key); + if (src_opt == nullptr) + continue; // key not present in the loaded config; record later + if (src_opt->is_vector()) { + ConfigOption* dst_opt = target.option(base_key); + if (dst_opt == nullptr || !dst_opt->is_vector()) + continue; // cannot apply; will be reported as skipped + // Type mismatch: ConfigOptionVector::set() throws ConfigurationError on a + // mismatch, which would abort the whole project load; report the key as + // skipped instead (the material pass guards the same way). Note that the + // nullable variants report the same type() as their non-nullable base, so + // this catches genuinely different option kinds (e.g. a string where a float + // vector is expected), not nullable-ness. + if (dst_opt->type() != src_opt->type()) + continue; + // A '#N' variant key (e.g. per-extruder retraction_length#2) applies one + // element, so the index only needs to be in range on the author's side - the + // receiver may have a different extruder count than the author. Out-of-range + // indices are skipped (set_at would otherwise resize the receiver's vector). + if (key.size() > base_key.size()) { + // Strict numeric suffix parse: a malformed variant ("#abc", "#1x") + // must be reported as skipped, not silently applied as element 0. + const std::string suffix = key.substr(base_key.size() + 1); + size_t idx = 0; + bool valid = !suffix.empty(); + for (const char c : suffix) { + if (c < '0' || c > '9') { + valid = false; + break; + } + idx = idx * 10 + size_t(c - '0'); + if (idx > 1000000) { // overflow guard; real vector sizes are tiny + valid = false; + break; + } + } + const size_t src_size = static_cast(src_opt)->size(); + if (!valid || idx >= src_size) + continue; // malformed or out-of-range on the author's side: cannot apply; reported as skipped + const size_t dst_size = static_cast(dst_opt)->size(); + if (dst_size == 1) { + // Single-extruder receiver: collapse the author's per-extruder slots + // onto the receiver's single slot. Only the first serialized variant + // of a base key is applied (the author's "left or right" whichever was + // published first); later variants of the same base are reported as + // skipped, mirroring the receiver's single extruder. + if (collapsed_bases.count(base_key) != 0) + continue; + collapsed_bases.insert(base_key); + static_cast(dst_opt)->set_at(src_opt, 0, idx); + } else { + if (idx >= dst_size) + continue; // out-of-range variant: cannot apply; reported as skipped + target.apply_only(config, {key}, true); + } + } else if (static_cast(src_opt)->size() != + static_cast(dst_opt)->size()) { + // Whole-vector base key: the receiver must have a matching vector size, + // otherwise applying would overwrite a different number of elements. + continue; // cannot apply; will be reported as skipped + } else { + target.apply_only(config, {key}, true); + } + applied_keys.insert(key); + } else { + // A scalar key cannot carry a '#N' suffix; a hand-crafted file listing one + // is reported as skipped instead of being silently marked applied. + if (key.find('#') != std::string::npos) + continue; + // Scalar key: apply only if present on the user's machine. + const ConfigOption* dst_opt = target.option(base_key); + if (dst_opt == nullptr) + continue; // not present on the edited preset; will be reported as skipped + // Type mismatch: skipped, never thrown (see the vector branch above). + if (dst_opt->type() != src_opt->type()) + continue; + target.apply_only(config, {key}, true); + applied_keys.insert(key); + } + } + }; + apply_published(this->prints.get_edited_preset().config, nullptr); + apply_published(this->printers.get_edited_preset().config, &printer_allowlist); + + // Material pass: positional per-slot entries. The author published, per slot, either the + // entire filament (full) or specific keys plus optionally a curated type and/or colour. + // - full: lands on a freshly created standalone detached copy (no library preset used + // or mutated); + // - partial: a type requirement gates application; on mismatch the slot is replaced + // with the best visible candidate by published identity (exact name, setting_id, + // filament_id, vendor+type, type); with no replacement the receiver's material is + // kept and the keys are reported as skipped; + // - colour: applied regardless of the type gate. + // - capacity: past the printer's physical nozzles the entry becomes an empty + // mixed-filament placeholder; on a single-physical-slot receiver it is dropped. + // Applied partial values land on the collection's edited layer when the slot references + // it and that layer survives the load, otherwise on the stored preset in place. Slots + // aliasing a shared preset are re-pointed at distinct presets before the values apply. + { + // Grow the receiver's slots only as far as the highest published slot (never + // shrink, never pull filler materials for unpublished slots). + bool has_published_entries = false; + // Physical filament capacity of the receiver's printer: a non-SEMM tool-changer + // feeds filament N from nozzle N, so the nozzle count is the hard limit; a SEMM + // printer (single_extruder_multi_material) sizes its slot list by hand, so only + // the global slot limit applies (same condition as GUI_App::load_current_presets). + // Published entries that would need a NEW physical slot past this capacity are + // appended as empty mixed-filament placeholders instead of growing the list. + size_t physical_capacity = size_t(EnforcerBlockerType::ExtruderMax); + { + const Preset& receiver_printer = this->printers.get_edited_preset(); + if (receiver_printer.printer_technology() == ptFFF && + !receiver_printer.config.opt_bool("single_extruder_multi_material")) { + if (const auto* nozzle_diameter = receiver_printer.config.option("nozzle_diameter"); + nozzle_diameter != nullptr && !nozzle_diameter->values.empty()) + physical_capacity = nozzle_diameter->values.size(); + } + } + const std::set& mixed_definitions = publish_mixed_keys(); + auto is_mixed_definition = [&mixed_definitions](const PublishedMaterialEntry& entry) { + return std::any_of(entry.keys.begin(), entry.keys.end(), [&](const std::string& key) { + return mixed_definitions.count(publish_base_key(key)) != 0; + }); + }; + size_t grow_target = 0; + for (const PublishedMaterialEntry& entry : published_config->material_keys) { + has_published_entries = true; + if (entry.slot < 0) + continue; + // A physical entry past the capacity becomes a tail placeholder below; its + // growth is covered by the append counter, not the positional target. + if (!is_mixed_definition(entry) && size_t(entry.slot) >= physical_capacity) + continue; + grow_target = std::max(grow_target, size_t(entry.slot) + 1); + } + // Mixed-filament definitions live in project-level virtual slots, so applying one + // positionally onto a receiver slot holding a real filament would convert hardware + // state into a virtual mix. Compute each entry's destination before anything + // consumes entry.slot: a definition on a slot that already holds a mixed definition + // keeps its place (like-for-like); everything else follows one monotone append + // counter preserving author order (dest = max(authored, next_free)). Appends past + // the extruder limit are dropped and reported. Physical entries past capacity join + // the same counter as mixed_placeholder empties the GUI flags for assignment. + // + // The finished project keeps the physical-first invariant (see the sidebar's + // add_custom_filament: mixed slots always sit at the tail, physical slots packed + // first). That invariant must survive an import, so every receiver mixed slot that + // would end up inside (or ahead of) the incoming physical region is displaced to a + // fresh tail slot, and the tail allocator starts at the physical boundary rather + // than the receiver's slot count - otherwise a relocated mix can collide with a + // keep-placed new real slot. + size_t physical_boundary = this->num_physical_filaments(); + for (const PublishedMaterialEntry& entry : published_config->material_keys) + // Mirror the payload-real keep-place decision below: a real keeps its authored + // slot when that slot already exists on the receiver, or lies within the + // printer's physical capacity. Both end up as physical slots at index + // entry.slot, so they bound the physical region even past the capacity. + if (entry.slot >= 0 && !is_mixed_definition(entry) && + (size_t(entry.slot) < this->filament_presets.size() || size_t(entry.slot) < physical_capacity)) + physical_boundary = std::max(physical_boundary, size_t(entry.slot) + 1); + size_t next_free_slot = std::max(physical_boundary, this->filament_presets.size()); + bool any_mixed_relocated = false; + // All authored-slot -> destination moves decided by this pass, applied to the + // incoming config in one batched snapshot step below (an earlier move's + // destination can overlap a later move's source: adjacent tail mixes relocate + // onto consecutive slots, so incremental in-place shifts would overwrite a + // definition that has not been moved yet). + std::vector> mixed_moves; + // Receiver-mix relocations land in project_config, not the incoming config, so they + // get their own move list, applied below after the arrays grow. The swept set lets + // the payload loop below treat a displaced receiver mix as the physical slot it will + // become (a payload mix like-for-like overriding such a slot must itself relocate). + std::vector> receiver_mix_moves; + std::set swept_mix_slots; + for (size_t slot = 0; slot < this->filament_presets.size(); ++slot) { + if (!this->is_mixed_filament(slot)) + continue; + // Slot 0 is the receiver's base filament and is never a virtual mix; the + // sidebar's physical-first layout guarantees it, so never displace it. + if (slot == 0) + continue; + if (slot >= physical_boundary) + continue; // already lives in the tail region + const size_t dest = next_free_slot++; + swept_mix_slots.insert(slot); + receiver_mix_moves.emplace_back(slot, dest); + any_mixed_relocated = true; + // A payload mix authored at the same slot (a mix inside the physical region) is + // processed after this sweep and overrides its own destination below. + published_config->mixed_slot_relocations.insert_or_assign(int(slot), int(dest)); + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + " -> slot " + + std::to_string(dest) + ": mixed filament"); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": published 3MF relocated receiver mixed filament slot " << slot + << " -> " << dest << " (physical-first rebalance)"; + } + for (auto entry_it = published_config->material_keys.begin(); entry_it != published_config->material_keys.end();) { + PublishedMaterialEntry& entry = *entry_it; + if (entry.slot < 0) { + ++entry_it; + continue; + } + const bool is_payload_mix = is_mixed_definition(entry); + // Does this entry need a tail slot at all? A payload mixed definition does, + // except when it like-for-like overrides a receiver slot that is already a + // mix (bounds-checked). A physical entry only becomes a placeholder when it + // would need a NEW physical slot: an authored position the receiver's list + // already covers is applied positionally as before, even when that list sits + // above the printer's capacity (pre-existing state is never shrunk). + bool keep_place = false; + if (is_payload_mix) + keep_place = this->is_mixed_filament(size_t(entry.slot)) && swept_mix_slots.count(size_t(entry.slot)) == 0; + else + keep_place = size_t(entry.slot) < this->filament_presets.size() || + size_t(entry.slot) < physical_capacity; + if (keep_place) { + ++entry_it; + continue; + } + const std::string material_label = !entry.filament_id.empty() ? entry.filament_id : + !entry.publish_type_value.empty() ? entry.publish_type_value : + entry.filament_type; + if (std::max(size_t(entry.slot), next_free_slot) >= size_t(EnforcerBlockerType::ExtruderMax)) { + // No free virtual slot left: report instead of destroying a real filament. + // The local skipped_keys is published wholesale at the end of the pass; + // writing published_config->skipped_keys here would be clobbered by it. + skipped_keys.emplace_back("material:" + material_label + (is_payload_mix ? + " (mixed filament definition: filament slot limit reached)" : + " (filament slot limit reached)")); + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": published 3MF " << (is_payload_mix ? "mixed filament definition" : "material") + << " from slot " << entry.slot << " could not be placed: all " << next_free_slot + << " slots exhausted"; + entry_it = published_config->material_keys.erase(entry_it); + continue; + } + if (!is_payload_mix && physical_capacity < 2) { + // A single physical slot can never host a mixed-filament editor (the + // sidebar's mixed section needs two physical filaments to mix), so a + // placeholder would be invisible and unfixable: drop the entry and + // report it like any other unappliable input. + skipped_keys.emplace_back("material:" + material_label + " (printer supports only " + + std::to_string(physical_capacity) + " filament)"); + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": published 3MF material from slot " << entry.slot + << " dropped: printer supports only " << physical_capacity << " filament"; + entry_it = published_config->material_keys.erase(entry_it); + continue; + } + const int authored_slot = entry.slot; + const int dest_slot = is_payload_mix ? int(std::max(size_t(authored_slot), next_free_slot)) : int(next_free_slot); + next_free_slot = size_t(dest_slot) + 1; + if (is_payload_mix) { + if (dest_slot == authored_slot) + // Uncontended fresh tail slot: the definition is already readable there. + ++entry_it; + else { + entry.slot = dest_slot; + any_mixed_relocated = true; + mixed_moves.emplace_back(size_t(authored_slot), size_t(entry.slot)); + published_config->mixed_slot_relocations.insert_or_assign(authored_slot, entry.slot); + published_config->material_replacements.emplace_back("slot " + std::to_string(authored_slot) + " -> slot " + + std::to_string(entry.slot) + ": mixed filament"); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": published 3MF relocated mixed filament slot " << authored_slot + << " -> " << entry.slot; + ++entry_it; + } + } else { + // Surplus published material beyond the printer's capacity: become an + // empty mixed-filament placeholder at the next free tail slot. The flag + // routes the entry to the placeholder finalize below; the slot's + // definition stays empty until the user assigns components. + entry.mixed_placeholder = true; + any_mixed_relocated = true; + if (dest_slot != authored_slot) { + entry.slot = dest_slot; + mixed_moves.emplace_back(size_t(authored_slot), size_t(dest_slot)); + published_config->mixed_slot_relocations.insert_or_assign(authored_slot, dest_slot); + } + published_config->material_replacements.emplace_back( + (dest_slot != authored_slot ? + "slot " + std::to_string(authored_slot) + " -> slot " + std::to_string(dest_slot) : + "slot " + std::to_string(dest_slot)) + + ": unassigned mixed filament (printer supports only " + std::to_string(physical_capacity) + " filaments)"); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": published 3MF material from slot " << authored_slot + << " placed as an unassigned mixed filament at slot " << dest_slot + << " (printer supports only " << physical_capacity << " filaments)"; + ++entry_it; + } + } + if (!mixed_moves.empty()) + for (const std::string& mixed_key : mixed_definitions) + apply_mixed_config_relocations(config, mixed_key, mixed_moves); + if (has_published_entries) { + // Defensive cap: growth never exceeds the file's own filament count. The + // receiver's current slot count is a floor: neither the preset list nor the + // project vectors are ever shrunk, even when the file carries fewer filaments + // than the receiver has slots. Relocated mixed entries and capacity + // placeholders legitimately land past the file's own slot count (virtual + // slots consume no nozzle or tray), so their append destinations lift the + // ceiling explicitly. + const size_t target_slots = std::max({this->filament_presets.size(), std::min(grow_target, num_filaments), + any_mixed_relocated ? next_free_slot : size_t(0)}); + // Slots carrying published content, steering the initial preset selection of + // newly grown slots. + std::set published_slots; + for (const PublishedMaterialEntry& entry : published_config->material_keys) + if (entry.slot >= 0) + published_slots.insert(entry.slot); + // Grown slots the receiver creates that carry no published content of their own + // (e.g. an unpublished mixed slot left as a gap by a published mix's authored + // position) at or beyond the receiver's physical capacity. They must not become + // physical filaments (that would overflow the nozzle count): finalized as empty + // mixed placeholders below, like the surplus-material placeholders. + std::set virtual_gap_slots; + // Exact-name resolution of each published slot's preset through the collection's + // own name machinery: find_preset2 follows renamed_from (vendor profile renames) + // and canonical bundle names, and auto-matches removed vendor-generic profiles + // to the Orca Filament Library. First entry per slot wins (mirrors the loops' + // break-on-first behavior); an empty value means "no resolution" and the string + // tiers (raw name / trimmed bare name / alias) below take over. + std::map exact_name_by_slot; + for (const PublishedMaterialEntry& entry : published_config->material_keys) + if (entry.slot >= 0 && !entry.preset_name.empty() && exact_name_by_slot.count(entry.slot) == 0) + if (const Preset* resolved = this->filaments.find_preset2(entry.preset_name, true)) + exact_name_by_slot.emplace(entry.slot, resolved->name); + auto resolved_name_for = [&exact_name_by_slot](int slot) -> std::string { + const auto it = exact_name_by_slot.find(slot); + return it == exact_name_by_slot.end() ? std::string() : it->second; + }; + // Mirror first_visible_idx()'s start index so suppressed default presets are + // never picked as a slot material. + const size_t first_candidate = this->filaments.is_default_suppressed() ? this->filaments.num_default_presets() : 0; + // Candidate preference for a published entry: exact preset name (raw author and + // collection-resolved), then trimmed bare form / alias, then exact setting_id + // (variant-level), then exact filament_id, then vendor+type, then type only. + auto candidate_score = [](const Preset& candidate, const PublishedMaterialEntry& entry, + const std::string& resolved_name) -> int { + // Exact preset name: raw and collection-resolved forms both outrank the + // fuzzy bare/alias tier by tier value, so a receiver preset literally named + // "Generic PLA" (tier 4) can never beat the author's exact + // "Generic PLA @Vendor" (tier 5). Within one tier the strict ">" + // comparison keeps the first candidate in collection order. + if (!entry.preset_name.empty() && candidate.name == entry.preset_name) + return 5; + if (!resolved_name.empty() && candidate.name == resolved_name) + return 5; + if (!entry.preset_name.empty()) { + std::string bare_name = entry.preset_name.substr(0, entry.preset_name.find('@')); + boost::trim_right(bare_name); + if (!bare_name.empty() && + (candidate.alias == entry.preset_name || candidate.name == bare_name || candidate.alias == bare_name)) + return 4; + } + if (!entry.setting_id.empty() && candidate.setting_id == entry.setting_id) + return 3; + const ConfigOptionStrings* types = candidate.config.opt("filament_type"); + const ConfigOptionStrings* vendors = candidate.config.opt("filament_vendor"); + const std::string type = (types != nullptr && !types->values.empty()) ? types->get_at(0) : std::string(); + const std::string vendor = (vendors != nullptr && !vendors->values.empty()) ? vendors->get_at(0) : std::string(); + if (!entry.filament_id.empty() && candidate.filament_id == entry.filament_id) + return 2; + // Tier 0/1 family gate: the explicit type requirement when published as + // such, otherwise the entry's own material family - so identity scoring + // also applies to entries published without a checked Type row. + const std::string required_type = !entry.publish_type_value.empty() ? entry.publish_type_value : + normalize_filament_type(entry.filament_type); + if (!required_type.empty() && normalize_filament_type(type) == required_type) { + if (!entry.filament_vendor.empty() && vendor == entry.filament_vendor) + return 1; + return 0; + } + return -1; + }; + while (this->filament_presets.size() < target_slots) { + const size_t new_slot_idx = this->filament_presets.size(); + std::string initial_preset; + if (new_slot_idx >= physical_capacity && published_slots.count(static_cast(new_slot_idx)) == 0) + // An unpublished grown slot past the printer's physical capacity cannot + // host a real filament: finalize it as a virtual placeholder below. + virtual_gap_slots.insert(static_cast(new_slot_idx)); + if (published_slots.count(static_cast(new_slot_idx)) != 0) { + // Grow the slot the way the sidebar "add filament" does: seed it with + // the receiver's last preset. + if (!this->filament_presets.empty()) + initial_preset = this->filament_presets.back(); + } + if (initial_preset.empty()) + // Unpublished filler slot, or every visible preset is already used: + // repeat the receiver's last preset ("Add one filament" behaviour). + initial_preset = this->filament_presets.empty() ? this->filaments.first_visible().name : + this->filament_presets.back(); + this->filament_presets.emplace_back(initial_preset); + } + // Published slots that alias another slot (multi-extruder with one filament) + // get re-pointed at distinct presets: the overlay writes onto the slot's + // effective preset in place, so a shared preset would leak one slot's published + // values into every aliased slot. Slot 0 (the receiver's own material) is never + // re-assigned; when no unused candidate exists the aliasing stays (unavoidable). + auto referenced_elsewhere = [&](const std::string& preset_name, size_t except_slot) { + for (size_t s = 0; s < this->filament_presets.size(); ++s) + if (s != except_slot && this->filament_presets[s] == preset_name) + return true; + return false; + }; + for (size_t slot = 1; slot < this->filament_presets.size(); ++slot) { + if (published_slots.count(static_cast(slot)) == 0 || !referenced_elsewhere(this->filament_presets[slot], slot)) + continue; + // A slot whose published entry writes nothing into a shared preset in place + // keeps its own preset: de-aliasing would needlessly swap the material. Only + // keys routed to the slot's preset can leak across an aliased slot (colour is + // slot-scoped via project_config; a type requirement is handled by the + // type-gate below; full detaches separately). Mixed-definition keys go to the + // per-slot project arrays, never the preset. + bool writes_preset_keys = false; + for (const PublishedMaterialEntry& entry : published_config->material_keys) { + if (entry.slot != static_cast(slot)) + continue; + for (const std::string& key : entry.keys) + if (mixed_definitions.count(publish_base_key(key)) == 0) { + writes_preset_keys = true; + break; + } + if (writes_preset_keys) + break; + } + if (!writes_preset_keys) + continue; + // Prefer the best distinct candidate for the slot's published material + // (exact id, then vendor+type, then type only), compatible presets first... + std::string replacement; + int best_score = -1; + for (const PublishedMaterialEntry& entry : published_config->material_keys) { + // Scored for every entry with an identity, not only when a Type + // requirement was checked (same as the growth seeding above). + if (entry.slot != static_cast(slot)) + continue; + const std::string resolved_name = resolved_name_for(entry.slot); + auto scan = [&](bool compatible_only) -> std::pair { + int best_score = -1; + std::string best_name; + for (size_t i = first_candidate; i < this->filaments.size(); ++i) { + const Preset& candidate = this->filaments.preset(i); + if (compatible_only && !candidate.is_compatible) + continue; + const int score = candidate_score(candidate, entry, resolved_name); + // Exact identity tiers (name / setting_id) may use a hidden preset; + // the referenced check stays: re-pointing exists to de-alias. + if (score < 3 && !candidate.is_visible) + continue; + if (referenced_elsewhere(candidate.name, size_t(-1))) + continue; + if (score > best_score) { + best_score = score; + best_name = candidate.name; + } + } + return {best_score, best_name}; + }; + const auto [compat_score, compat_name] = scan(true); + const auto [any_score, any_name] = scan(false); + if (compat_score >= 0) { + best_score = compat_score; + replacement = compat_name; + } else if (any_score >= 0) { + best_score = any_score; + replacement = any_name; + } + if (best_score >= 0) + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": published 3MF re-pointed slot " << slot << " to " << replacement + << " (score " << best_score << ", preset_name \"" << entry.preset_name << "\", type \"" + << entry.publish_type_value << "\")"; + break; + } + // ...otherwise any distinct visible preset not referenced by another slot, + // preferring the published material's own family when it is known. + if (replacement.empty()) { + std::string slot_family; + for (const PublishedMaterialEntry& entry : published_config->material_keys) + if (entry.slot == static_cast(slot)) { + slot_family = !entry.publish_type_value.empty() ? entry.publish_type_value : + normalize_filament_type(entry.filament_type); + break; + } + for (size_t i = first_candidate; i < this->filaments.size(); ++i) { + const Preset& candidate = this->filaments.preset(i); + if (!candidate.is_visible || referenced_elsewhere(candidate.name, size_t(-1))) + continue; + if (!slot_family.empty()) { + const ConfigOptionStrings* types = candidate.config.opt("filament_type"); + const std::string cand_type = (types != nullptr && !types->values.empty()) ? types->get_at(0) : + std::string(); + if (normalize_filament_type(cand_type) != slot_family) + continue; + } + replacement = candidate.name; + break; + } + } + if (replacement.empty()) + continue; // every visible preset is referenced: aliasing is unavoidable + const std::string aliased_name = this->filament_presets[slot]; + this->filament_presets[slot] = replacement; + material_applied = true; + // The re-point used to be silent; surface it like the other slot changes. + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + ": " + aliased_name + " -> " + + replacement); + } + // Grow the per-slot colour/type/map project vectors to the new slot count and + // seed the new entries so the slots render with colours instead of blank chips + // (mirrors set_num_filaments; existing values are left untouched). + ConfigOptionStrings* proj_colour = this->project_config.opt("filament_colour"); + ConfigOptionStrings* proj_multi_colour = this->project_config.opt("filament_multi_colour"); + ConfigOptionStrings* proj_colour_type = this->project_config.opt("filament_colour_type"); + ConfigOptionInts* proj_map = this->project_config.opt("filament_map"); + ConfigOptionInts* proj_nozzle_map = this->project_config.opt("filament_nozzle_map"); + ConfigOptionInts* proj_volume_map = this->project_config.opt("filament_volume_map"); + const size_t old_colour_count = (proj_colour != nullptr) ? proj_colour->values.size() : 0; + // Grow-only: an already-larger project vector is left untouched (the receiver's + // slot count never shrinks below its own setup). + if (proj_colour && proj_colour->values.size() < target_slots) + proj_colour->resize(target_slots); + if (proj_multi_colour && proj_multi_colour->values.size() < target_slots) + proj_multi_colour->values.resize(target_slots); + if (proj_colour_type && proj_colour_type->values.size() < target_slots) + proj_colour_type->values.resize(target_slots); + if (proj_map && proj_map->values.size() < target_slots) + proj_map->values.resize(target_slots, 1); + if (proj_nozzle_map && proj_nozzle_map->values.size() < target_slots) + proj_nozzle_map->values.resize(target_slots, 0); + if (proj_volume_map && proj_volume_map->values.size() < target_slots) + proj_volume_map->values.resize(target_slots, static_cast(NozzleVolumeType::nvtStandard)); + // The mixed-color project arrays are parallel per-slot like filament_colour; + // grow them in lockstep so a published mix slot has room for its definition. + // Defaults mirror set_num_filaments (false / empty string). + if (auto* opt = this->project_config.opt("filament_is_mixed")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, false); + if (auto* opt = this->project_config.opt("filament_mixed_components")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, std::string{}); + if (auto* opt = this->project_config.opt("filament_mixed_sublayer_ratios")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, std::string{}); + if (auto* opt = this->project_config.opt("filament_mixed_gradient")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, false); + if (auto* opt = this->project_config.opt("filament_mixed_gradient_range")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, std::string{}); + if (auto* opt = this->project_config.opt("filament_mixed_gradient_curve")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, std::string{}); + if (auto* opt = this->project_config.opt("filament_mixed_gradient_per_part")) + if (opt->values.size() < target_slots) + opt->values.resize(target_slots, false); + if (this->ams_multi_color_filment.size() < target_slots) + this->ams_multi_color_filment.resize(target_slots); + for (size_t slot = old_colour_count; slot < target_slots; ++slot) { + std::string seed; + for (const PublishedMaterialEntry& entry : published_config->material_keys) + if (entry.slot == static_cast(slot) && entry.publish_color && !entry.color.empty()) { + seed = entry.color; + break; + } + if (seed.empty()) { + if (const Preset* preset = this->filaments.find_preset(this->filament_presets[slot], false)) { + const ConfigOptionStrings* colours = preset->config.opt("filament_colour"); + if (colours != nullptr && !colours->values.empty()) + seed = colours->values.front(); + } + if (seed.empty()) { + // Fall back to the option's registered default instead of a + // duplicated literal; if the lookup fails the chip stays blank. + if (const ConfigOptionDef* colour_def = print_config_def.get("filament_colour")) + if (const auto* default_colours = dynamic_cast(colour_def->default_value.get())) + if (!default_colours->values.empty()) + seed = default_colours->values.front(); + } + } + if (proj_colour && slot < proj_colour->values.size()) + proj_colour->values[slot] = seed; + if (proj_multi_colour && slot < proj_multi_colour->values.size()) + proj_multi_colour->values[slot] = seed; + if (proj_colour_type && slot < proj_colour_type->values.size()) + proj_colour_type->values[slot] = "1"; // default colour type + } + // Rebuild the flush volumes for the grown slot count (as set_num_filaments does). + this->update_multi_material_filament_presets(); + + auto apply_slot_keys = [&](DynamicPrintConfig& preset_config, const std::vector& slot_keys, int author_slot, + const std::string& material_label) { + for (const std::string& key : slot_keys) { + const std::string base_key = publish_base_key(key); + if (structural_keys.count(base_key) != 0) + continue; + const ConfigOption* src_opt = config.option(base_key); + if (src_opt == nullptr || !src_opt->is_vector() || author_slot < 0 || + author_slot >= static_cast(static_cast(src_opt)->size())) { + skipped_keys.emplace_back("material:" + material_label + " (" + key + ")"); + continue; + } + ConfigOption* dst_opt = preset_config.option(base_key); + if (dst_opt == nullptr || !dst_opt->is_vector() || static_cast(dst_opt)->empty() || + dst_opt->type() != src_opt->type()) { + skipped_keys.emplace_back("material:" + material_label + " (" + key + ")"); + continue; + } + // Per-slot scalar copy: the receiver preset holds one value per key + // (vector of size 1), the file holds the per-slot vector. + static_cast(dst_opt)->set_at(src_opt, 0, author_slot); + material_applied = true; + } + }; + + // The slot's values are applied onto the slot's effective preset (the + // collection's edited layer when the slot references it, otherwise the stored + // preset in place); the per-entry type gate below may re-point the slot first. + // + // The edited layer only survives the load when the final re-select below stays + // off, i.e. slot 0's preset still matches the edited preset. Otherwise the + // re-select re-snapshots the edited layer from a stored preset and silently + // discards everything written there: route the overlay to the stored presets + // instead so the values survive. (Residual edge: a slot-0 type replacement + // re-pointing slot 0 mid-loop can still invalidate the layer after earlier + // slots wrote to it; that compound case is not chased.) + const bool edited_survives_load = this->filament_presets.empty() || + this->filament_presets.front() == this->filaments.get_edited_preset().name; + // Displaced receiver mixes (see the physical-first rebalance above): move their + // per-slot cells onto the grown tail slots and reset the vacated physical slots, + // so the incoming real filaments can claim them. Runs before mixed_final_slots is + // built, so the rebalanced layout is what the mix validation sees. + apply_receiver_mix_relocations(this->project_config, this->ams_multi_color_filment, receiver_mix_moves); + // Final layout for mix-definition validation: every slot that will hold a + // mixed definition once this load completes - the receiver's own virtual + // slots, each published mixed entry's final (possibly relocated) slot, and + // each capacity placeholder (they become mixes in the finalize below, before + // this loop's is_mixed_filament scan would see them). Mix components are + // 1-based slot numbers, so a component is valid only when the slot it names + // exists and does not itself hold a mixed filament. + std::set mixed_final_slots; + for (const PublishedMaterialEntry& mix_entry : published_config->material_keys) + if (mix_entry.slot >= 0 && (is_mixed_definition(mix_entry) || mix_entry.mixed_placeholder)) + mixed_final_slots.insert(mix_entry.slot); + for (size_t i = 0; i < this->filament_presets.size(); ++i) + if (this->is_mixed_filament(i)) + mixed_final_slots.insert(int(i)); + // Unpublished gap slots past the capacity are virtual too: count them in the + // final layout so a published mix whose components collide with one is caught. + for (int gap_slot : virtual_gap_slots) + mixed_final_slots.insert(gap_slot); + const size_t mixed_final_slot_count = this->filament_presets.size(); + // Finalize a slot as an empty mixed-filament placeholder: mark it virtual with + // an intentionally empty definition, and add it to the final-layout set so a + // later entry's components validate against the new state. Used by the capacity + // placeholders and by any mixed definition that has to be rejected after its + // slot was already grown and seeded - without it such a slot would keep the + // seeded preset and masquerade as a real filament. No definition is written: + // the placeholder carries no material of its own (the GUI flags the empty mix + // via check_mixed_filament_integrity and blocks slicing until components are + // assigned). The slot's colour was already seeded by the growth pass above. + auto finalize_mixed_placeholder = [&](size_t slot_idx) { + if (ConfigOptionBools* is_mixed_opt = this->project_config.opt("filament_is_mixed"); + is_mixed_opt != nullptr && slot_idx < is_mixed_opt->values.size()) + is_mixed_opt->values[slot_idx] = true; + mixed_final_slots.insert(int(slot_idx)); + material_applied = true; + }; + // Full Publish within-load dedup: identical Full materials (same setting_id + // + preset_name identity) share one created instance, so an author who + // pointed two slots at one preset yields one standalone copy here. + std::map published_full_dedup; + for (const PublishedMaterialEntry& entry : published_config->material_keys) { + if (entry.slot < 0 || size_t(entry.slot) >= this->filament_presets.size()) + continue; // out of range: nothing to do for this slot + const size_t slot = size_t(entry.slot); + + // Surplus published material beyond the printer's capacity: finalize the + // tail placeholder - mark the slot virtual with an intentionally empty + // definition. The GUI flags the empty mix (check_mixed_filament_integrity) + // and blocks slicing until the user assigns components from their own + // filaments. The entry's keys are deliberately not applied and no preset + // is detached: the placeholder carries no material of its own. The colour + // was already seeded into the project arrays by the growth pass above. + if (entry.mixed_placeholder) { + finalize_mixed_placeholder(slot); + continue; + } + + // Resolve the stored preset itself (real=true), never the edited snapshot: + // find_preset would return &m_edited_preset for the selected slot. The + // overlay target below decides between the edited layer and this preset. + Preset* recv = this->filaments.find_preset(this->filament_presets[slot], false, true); + if (recv == nullptr) { + // Defensive: the slot exists (grown and seeded above) but its preset + // could not be resolved. A mixed definition left unapplied on such a + // slot would keep the seeded preset and look like a real filament: + // finalize it as an empty placeholder instead, like a rejected + // definition below. + if (is_mixed_definition(entry) && !this->is_mixed_filament(slot)) { + finalize_mixed_placeholder(slot); + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + + ": mixed filament definition could not be imported"); + } + continue; + } + + const std::string material_label = entry.filament_id.empty() ? + (entry.publish_type_value.empty() ? entry.filament_type : + entry.publish_type_value) : + entry.filament_id; + + // Import-side validation of a mixed-filament definition: the publish + // dialog cannot produce a definition whose components reference slots + // that do not exist or hold other mixed filaments, so a broken one here + // means the payload itself is broken (hand-crafted or corrupt file). + // Report it through the same channel as every other rejected input and + // skip the entry, instead of shipping a mix the GUI integrity check + // (check_mixed_filament_integrity) would only flag later. A payload + // that omits the mixed arrays entirely is not an error here: the key + // routing below reports those per key as usual. + if (is_mixed_definition(entry)) { + std::string mix_error; + if (const ConfigOptionStrings* comp_opt = config.opt("filament_mixed_components"); + comp_opt != nullptr && entry.slot < static_cast(comp_opt->values.size())) { + const std::vector comps = parse_mixed_components(comp_opt->values[entry.slot]); + if (comps.size() < 2) + // An empty definition cell counts as broken too: applying it + // would ship a mix the sidebar would only flag later. + mix_error = "needs at least two components"; + else + for (unsigned int comp : comps) + if (comp < 1 || size_t(comp) > mixed_final_slot_count || + mixed_final_slots.count(int(comp) - 1) != 0) { + mix_error = "components reference missing slots"; + break; + } + } + if (!mix_error.empty()) { + skipped_keys.emplace_back("material:" + material_label + " (mixed filament definition: " + mix_error + ")"); + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": published 3MF mixed filament from slot " << entry.slot + << " rejected: " << mix_error; + // Degradation, not silent corruption: the slot was already grown and + // seeded by the pass above, so skipping the definition alone would + // leave it holding the seeded preset and looking like a real + // filament that carries the mix identity but no mix. + // - a slot that was NOT already a receiver mix is finalized as an + // empty mixed placeholder (consistent with the capacity + // placeholders; the user assigns components there); + // - a like-for-like override of the receiver's own mix leaves that + // valid definition untouched: nothing was applied, so the + // receiver's cells are intact and only the author's definition + // is reported as skipped above. + if (!this->is_mixed_filament(slot)) { + finalize_mixed_placeholder(slot); + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + + ": mixed filament definition could not be imported (" + + mix_error + ")"); + } + continue; + } + } + + // Full Publish: always create a standalone detached copy (even on exact + // identity match) as a "Preset Inside Project" (project-embedded: lives + // in this project only, never written to the library), universally + // compatible, named after the author's preset with its variant tail + // stripped ("(Published)" uniquification on collision). No existing + // preset is ever mutated. + if (entry.full) { + std::string dedup_key = entry.setting_id + std::string("\x1f") + entry.preset_name; + // Identity-less hand-crafted files (empty setting_id+name) must not + // collide: fall back to slot-scoped key so each slot gets its own copy + // unless the dedup above is meaningful. + if (dedup_key == std::string("\x1f")) + dedup_key = dedup_key + std::to_string(slot); + else if (!entry.filament_id.empty()) + dedup_key += std::string("\x1f") + entry.filament_id; + std::string new_name; + const auto dedup_it = published_full_dedup.find(dedup_key); + if (dedup_it != published_full_dedup.end()) { + new_name = dedup_it->second; + } else { + // Baseline: clone the receiver slot's stored preset config (schema- + // complete across versions), then overlay the published full_keys. + DynamicPrintConfig new_cfg = recv != nullptr ? recv->config : this->filaments.default_preset().config; + for (const std::string& key : entry.full_keys) { + const std::string base_key = publish_base_key(key); + if (structural_keys.count(base_key) != 0) + continue; + const ConfigOption* src_opt = config.option(base_key); + if (src_opt == nullptr || !src_opt->is_vector() || entry.slot < 0 || + entry.slot >= static_cast(static_cast(src_opt)->size())) + continue; + ConfigOption* dst_opt = new_cfg.option(base_key); + if (dst_opt == nullptr || !dst_opt->is_vector() || + static_cast(dst_opt)->empty() || dst_opt->type() != src_opt->type()) + continue; + static_cast(dst_opt)->set_at(src_opt, 0, entry.slot); + } + // The published colour is authoritative even for Full (the payload's + // filament_colour plus the explicit publish_color field). + if (entry.publish_color && !entry.color.empty()) { + if (ConfigOptionStrings* col = new_cfg.opt("filament_colour", true)) { + if (col->values.empty()) + col->values.emplace_back(); + col->values[0] = entry.color; + } + } + make_publish_universal(new_cfg); + // Naming: stripped variant tail ("Generic PLA @System" -> "Generic + // PLA"), then identity fallbacks; collisions uniquify with + // "(Published)" / "(Published N)" inside add_detached_preset. + std::string base_name = entry.preset_name.empty() ? std::string() : + publish_material_base_name(entry.preset_name); + if (base_name.empty()) { + base_name = !entry.filament_id.empty() ? + entry.filament_id : + (!entry.publish_type_value.empty() ? entry.publish_type_value : entry.filament_type); + if (base_name.empty()) + base_name = "Published Filament"; + } + new_name = this->filaments.add_detached_preset(base_name, std::move(new_cfg), entry.filament_id); + published_full_dedup.emplace(dedup_key, new_name); + } + const std::string old_name = this->filament_presets[slot]; + this->filament_presets[slot] = new_name; + material_applied = true; + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + ": " + old_name + " -> " + + new_name); + // Colour is slot-scoped and project-visible: sync into project_config + // (the copy already baked it, this makes the chips render). + if (entry.publish_color && !entry.color.empty()) { + if (ConfigOptionStrings* proj_colour = this->project_config.opt("filament_colour")) { + if (slot < proj_colour->values.size()) + proj_colour->values[slot] = entry.color; + } + if (ConfigOptionStrings* proj_multi_colour = this->project_config.opt( + "filament_multi_colour")) { + if (slot < proj_multi_colour->values.size()) + proj_multi_colour->values[slot] = entry.color; + } + } else if (proj_colour && new_name != old_name) { + // Fall back to the copy's colour so the chip is never blank: try + // the newly created preset's filament_colour, then the option default. + std::string seed; + if (const Preset* created = this->filaments.find_preset(new_name, false, true)) { + if (const ConfigOptionStrings* cols = created->config.opt("filament_colour")) + if (!cols->values.empty()) + seed = cols->values.front(); + } + if (seed.empty()) { + if (const ConfigOptionDef* colour_def = print_config_def.get("filament_colour")) + if (const auto* defaults = dynamic_cast(colour_def->default_value.get())) + if (!defaults->values.empty()) + seed = defaults->values.front(); + } + if (!seed.empty()) { + if (proj_colour && slot < proj_colour->values.size()) + proj_colour->values[slot] = seed; + if (proj_multi_colour && slot < proj_multi_colour->values.size()) + proj_multi_colour->values[slot] = seed; + } + } + if (proj_colour_type && slot < proj_colour_type->values.size()) + proj_colour_type->values[slot] = "1"; + continue; + } + + bool apply_slot = true; + // The gate compares against the slot's effective material type: the edited + // layer when the slot references the collection's edited preset and that + // layer will survive the load (see edited_survives_load below), the stored + // preset otherwise. + const DynamicPrintConfig& effective_config = (edited_survives_load && + recv->name == this->filaments.get_edited_preset().name) ? + this->filaments.get_edited_preset().config : + recv->config; + if (entry.publish_type && !entry.publish_type_value.empty()) { + // Null-guard: a malformed receiver preset may lack filament_type. + const ConfigOptionStrings* recv_types = effective_config.opt("filament_type"); + const std::string recv_type = (recv_types != nullptr && !recv_types->values.empty()) ? recv_types->get_at(0) : + std::string(); + if (normalize_filament_type(recv_type) != entry.publish_type_value) { + // Type mismatch: replace the slot with the best matching preset, + // scored by the published identity (exact preset name, then exact + // setting_id, exact filament_id, then vendor+type, then type only). + // A preset no other slot references wins on equal scores; a shared + // exact-material preset is taken even though mutating it also + // affects the other slot. Compatible presets are searched first: an + // incompatible preset is only picked when no compatible candidate + // exists at all. + auto find_best = [&](bool compatible_only) -> std::pair { + auto scan = [&](bool unreferenced_only) -> std::pair { + int best_score = -1; + std::string best_name; + const std::string resolved_name = resolved_name_for(entry.slot); + for (size_t i = first_candidate; i < this->filaments.size(); ++i) { + const Preset& candidate = this->filaments.preset(i); + if (compatible_only && !candidate.is_compatible) + continue; + const int score = candidate_score(candidate, entry, resolved_name); + if (score <= best_score) + continue; + // Lower tiers (vendor+type, type only) need a visible preset; + // an exact identity match (name / setting_id) wins even when + // the preset is hidden in the library. + if (score < 3 && !candidate.is_visible) + continue; + if (unreferenced_only) { + bool used = false; + for (size_t s = 0; s < this->filament_presets.size(); ++s) + if (s != slot && this->filament_presets[s] == candidate.name) { + used = true; + break; + } + if (used) + continue; + } + best_score = score; + best_name = candidate.name; + } + return {best_score, best_name}; + }; + const auto [strict_score, strict_name] = scan(true); + const auto [relaxed_score, relaxed_name] = scan(false); + if (relaxed_score > strict_score) + return {relaxed_score, relaxed_name}; + return {strict_score, strict_name}; + }; + const auto [compat_score, compat_name] = find_best(true); + const auto [any_score, any_name] = find_best(false); + int score = any_score; + std::string replacement = any_name; + if (compat_score >= 0) { + score = compat_score; + replacement = compat_name; + } + if (!replacement.empty()) { + const std::string old_name = recv->name; + this->filament_presets[slot] = replacement; + recv = this->filaments.find_preset(replacement, false, true); + material_applied = true; + BOOST_LOG_TRIVIAL(info) + << __FUNCTION__ << ": published 3MF slot " << slot << " material " << old_name << " -> " << replacement + << " (score " << score << ", preset_name \"" << entry.preset_name << "\", filament_id \"" + << entry.filament_id << "\", setting_id \"" << entry.setting_id << "\", type \"" + << entry.publish_type_value << "\")"; + std::string replacement_line = "slot " + std::to_string(slot) + ": " + old_name + " -> " + replacement; + // A pick that is not the exact published material is a substitute; + // an entry without identity fields cannot be judged, so it stays plain. + if (score < 2 && (!entry.filament_id.empty() || !entry.filament_vendor.empty())) + replacement_line += " (substitute)"; + published_config->material_replacements.emplace_back(std::move(replacement_line)); + } else { + // Partial publish with no replacement: keep the receiver's + // material and report the slot's keys as skipped. (Full entries + // never reach this gate: they detach above.) + for (const std::string& key : entry.keys) + skipped_keys.emplace_back("material:" + material_label + " (" + key + ")"); + apply_slot = false; + // A mixed definition left unapplied here would keep the grown + // slot's seeded preset and masquerade as a real filament: + // finalize it as an empty placeholder like a rejected + // definition (a like-for-like override of the receiver's own + // mix is left untouched). + if (is_mixed_definition(entry) && !this->is_mixed_filament(slot)) { + finalize_mixed_placeholder(slot); + published_config->material_replacements.emplace_back("slot " + std::to_string(slot) + + ": mixed filament definition could not be imported"); + } + } + } + } + + // The values below are applied onto the slot's effective preset: the edited + // layer when the slot references the collection's edited preset and that + // layer will survive the load (visible as a modification and revertible, + // preserving the user's unsaved edits), otherwise the stored preset it ended + // up on (original or partial type replacement), in place. Full entries never + // get here - they detach above. + DynamicPrintConfig& write_config = (edited_survives_load && recv->name == this->filaments.get_edited_preset().name) ? + this->filaments.get_edited_preset().config : + recv->config; + + // Colour is slot-scoped and independent of the type gate; it is also synced + // into project_config for GUI rendering. + if (entry.publish_color && !entry.color.empty()) { + // A mixed-definition entry carries the mix's blended colour for the + // swatch only: never write it into the slot's (possibly shared) preset + // config, only into the project-level colour arrays. + const bool is_mixed_entry = is_mixed_definition(entry); + if (!is_mixed_entry && recv != nullptr) { + // Create the key when the target preset lacks it: the colour is a + // requirement, not an override. + if (ConfigOptionStrings* colour = write_config.opt("filament_colour", true)) { + if (colour->values.empty()) + colour->values.emplace_back(); + colour->values[0] = entry.color; + material_applied = true; + } + } + if (ConfigOptionStrings* proj_colour = this->project_config.opt("filament_colour")) { + if (slot < proj_colour->values.size()) + proj_colour->values[slot] = entry.color; + } + if (ConfigOptionStrings* proj_multi_colour = this->project_config.opt( + "filament_multi_colour")) { + if (slot < proj_multi_colour->values.size()) + proj_multi_colour->values[slot] = entry.color; + } + } + + if (apply_slot && recv != nullptr) { + // Mixed-color definition keys live in project_config (parallel per-slot + // arrays), not in a filament preset; route them there. Normal keys keep + // the per-slot preset path below. + const std::set& mixed_keys = publish_mixed_keys(); + std::vector preset_keys; + for (const std::string& key : entry.keys) { + const std::string base_key = publish_base_key(key); + if (mixed_keys.count(base_key) != 0) { + const ConfigOption* src_opt = config.option(base_key); + if (src_opt != nullptr && src_opt->is_vector() && entry.slot >= 0 && + entry.slot < static_cast(static_cast(src_opt)->size())) { + if (ConfigOption* dst_opt = this->project_config.option(base_key)) { + if (dst_opt->is_vector() && dst_opt->type() == src_opt->type() && + slot < static_cast(dst_opt)->size()) { + static_cast(dst_opt)->set_at(src_opt, slot, entry.slot); + material_applied = true; + continue; + } + } + } + // The slot (or its arrays) could not be written: report rather + // than drop the mix silently. + skipped_keys.emplace_back("material:" + material_label + " (" + key + ")"); + continue; + } + preset_keys.emplace_back(key); + } + apply_slot_keys(write_config, preset_keys, entry.slot, material_label); + } + } + // Unpublished gap slots past the printer's physical capacity: the receiver grew + // them only to reach a published definition, so they must not become physical + // filaments (that would overflow the nozzle count). Finalize each as an empty + // mixed placeholder, exactly like the surplus-material placeholders above. + for (int gap_slot : virtual_gap_slots) + if (!this->is_mixed_filament(size_t(gap_slot))) { + finalize_mixed_placeholder(size_t(gap_slot)); + published_config->material_replacements.emplace_back( + "slot " + std::to_string(gap_slot) + + ": unassigned mixed filament (printer supports only " + std::to_string(physical_capacity) + " filaments)"); + } + } + } + + for (const std::string& key : published_config->published_keys) { + if (applied_keys.count(key) != 0) + continue; + const std::string base_key = publish_base_key(key); + // Structural keys are silently ignored, never reported as skipped: a hand-crafted + // 3MF must not trigger the "could not be applied" warning for them. + if (structural_keys.count(base_key) != 0) + continue; + // Printer-class keys outside the publishable allowlist are contract-excluded too. + if (contract_excluded_keys.count(base_key) != 0) + continue; + skipped_keys.emplace_back(key); + } + published_config->skipped_keys = std::move(skipped_keys); + + // The overlay lands on the edited layer only when it survives the load (slot 0's preset + // still matches the edited preset; see edited_survives_load) and on the stored presets + // otherwise. The edited preset is a snapshot taken when the preset was last selected, so + // a slot-0 preset change (type replacement) still needs a re-select to surface; when + // slot 0 is unchanged the edited layer already carries the overlay, and re-selecting + // would discard both it and the user's unsaved edits. + if (material_applied && !this->filament_presets.empty() && + this->filament_presets.front() != this->filaments.get_edited_preset().name) + this->filaments.select_preset_by_name(this->filament_presets.front(), false); + } + + //BBS //const std::string &physical_printer = config.option("physical_printer_settings_id", true)->value; const std::string physical_printer; - if (this->printers.get_edited_preset().is_external || physical_printer.empty()) { - this->physical_printers.unselect_printer(); - } else { - // Activate the physical printer profile if possible. - PhysicalPrinter *pp = this->physical_printers.find_printer(physical_printer, true); - if (pp != nullptr && std::find(pp->preset_names.begin(), pp->preset_names.end(), this->printers.get_edited_preset().name) != pp->preset_names.end()) - this->physical_printers.select_printer(pp->name, this->printers.get_edited_preset().name); - else + if (!is_published) { + if (this->printers.get_edited_preset().is_external || physical_printer.empty()) { this->physical_printers.unselect_printer(); + } else { + // Activate the physical printer profile if possible. + PhysicalPrinter *pp = this->physical_printers.find_printer(physical_printer, true); + if (pp != nullptr && std::find(pp->preset_names.begin(), pp->preset_names.end(), this->printers.get_edited_preset().name) != pp->preset_names.end()) + this->physical_printers.select_printer(pp->name, this->printers.get_edited_preset().name); + else + this->physical_printers.unselect_printer(); + } } //BBS: add config related logs BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": finished"); @@ -5280,7 +6598,8 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool // now, or deserialized from the vendor's cache; the code is shared so a // cache-loaded bundle cannot come out different from a JSON-loaded one. // Resolves `inherits` against the presets loaded before this one -// (config_maps) or against base_bundle's filament library, flattens, validates +// (config_maps) or against base_bundle's filament library, layers each +// `include` (include_maps) under the preset's own keys, flattens, validates // and registers the preset. Returns the reason loading failed, empty on // success. std::string PresetBundle::load_vendor_preset( @@ -5289,9 +6608,10 @@ std::string PresetBundle::load_vendor_preset( const PresetBundle* base_bundle, LoadConfigBundleAttributes flags, ConfigSubstitutionContext& substitution_context, PresetsConfigSubstitutions& substitutions, - std::map& config_maps, std::map& filament_id_maps, + std::map& config_maps, std::map& include_maps, + std::map& filament_id_maps, PresetCollection* presets_collection, size_t& count, bool is_from_lib, - const std::set* retain_configs) + const std::set* retain_configs, const std::set* retain_includes) { const VendorProfile* current_vendor_profile = &this->vendors.at(vendor_name); const std::string subfile = path + "/" + vendor_name + "/" + entry.sub_path; @@ -5334,14 +6654,30 @@ std::string PresetBundle::load_vendor_preset( return reason; } } - else { - if (presets_collection->type() == Preset::TYPE_PRINTER) - default_config = &presets_collection->default_preset_for(entry.config_src).config; - else - default_config = &presets_collection->default_preset().config; - } + else + default_config = &presets_collection->default_preset_for(entry.config_src).config; config = *default_config; + // Layer each included preset's own keys over the parent, in the order listed; + // this preset's own keys go on top. + for (const std::string& name : entry.includes) { + auto it = include_maps.find(name); + if (it == include_maps.end()) { + ++m_errors; + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": can not find include " << name << " for " << preset_name; + continue; + } + config.apply(it->second); + } config.apply(entry.config_src); + // Record what a base states, its diff against the default, for the presets + // that include it. It is taken before extend_default_config_length pads every + // per-variant key to the base's variant count: the padded defaults would + // otherwise override the values each includer inherits. + if (entry.instantiation == "false" && (retain_includes == nullptr || retain_includes->count(preset_name) != 0)) { + DynamicPrintConfig included; + included.apply_only(config, config.diff(presets_collection->default_preset_for(config).config)); + include_maps.emplace(preset_name, std::move(included)); + } extend_default_config_length(config, true, *default_config); if (entry.instantiation == "false" && "Template" != vendor_name) { // Report configuration fields, which are misplaced into a wrong group. @@ -5465,7 +6801,7 @@ std::string PresetBundle::load_vendor_preset( loaded.description = entry.description; loaded.setting_id = entry.setting_id; // Derive the preset setting_id on the fly when a profile ships without one, - // matching scripts/orca_id_tool.py. Only instantiated presets carry an id; + // matching scripts/orca_profile_tool.py. Only instantiated presets carry an id; // non-instantiated base profiles return earlier above. This never // touches the per-user cloud-sync setting_id written into user .info files. if (loaded.setting_id.empty() && entry.instantiation == "true") @@ -5800,6 +7136,15 @@ std::pair PresetBundle::load_vendor_configs_ } entry.name = key_values[BBL_JSON_KEY_NAME]; entry.description = key_values[BBL_JSON_KEY_DESCRIPTION]; + // A file that states no instantiation and is named as G-code, or has no + // name, is a template that is only there to be included. A nameless one + // goes by its name in the vendor index. + if (auto it = key_values.find(BBL_JSON_KEY_INSTANTIATION); + (it == key_values.end() || it->second.empty()) && (entry.name.empty() || entry.name.find("gcode") != std::string::npos)) { + key_values[BBL_JSON_KEY_INSTANTIATION] = "false"; + if (entry.name.empty()) + entry.name = subfile_iter.first; + } if(key_values.find(BBL_JSON_KEY_INSTANTIATION) == key_values.end()) { BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": Missing instantiation attribute for " << entry.name; @@ -5828,6 +7173,20 @@ std::pair PresetBundle::load_vendor_configs_ return reason; } } + if (auto it = key_values.find(BBL_JSON_KEY_INCLUDES); it != key_values.end()) { + // An array of names, or one bare name; load_from_json kept the JSON text. + nlohmann::json includes = nlohmann::json::parse(it->second); + if (!includes.is_array()) + includes = nlohmann::json::array({std::move(includes)}); + for (const auto& name : includes) { + if (name.is_string()) + entry.includes.push_back(name.get()); + else { + ++m_errors; + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": invalid include " << name.dump() << " for " << entry.name; + } + } + } if (key_values.find(ORCA_JSON_KEY_RENAMED_FROM) != key_values.end()) { if (!unescape_strings_cstyle(key_values[ORCA_JSON_KEY_RENAMED_FROM], entry.renamed_from)) { BOOST_LOG_TRIVIAL(error) << "Error in a Config \"" << dir << "\": The preset \"" << entry.name @@ -5844,7 +7203,7 @@ std::pair PresetBundle::load_vendor_configs_ return reason; }; - std::map configs; + std::map configs, include_maps; std::map filament_id_maps; // Orca: whether to (re)write the vendor's cache after this parse, leaving it // in step with the profile so the next run reads it instead. It is written @@ -5861,6 +7220,7 @@ std::pair PresetBundle::load_vendor_configs_ auto load_subfiles = [&](std::vector>& subfiles, std::vector& entries, const char* kind, bool is_from_lib = false) { configs.clear(); + include_maps.clear(); filament_id_maps.clear(); for (auto& subfile : subfiles) { CachedPreset entry; @@ -5868,8 +7228,8 @@ std::pair PresetBundle::load_vendor_configs_ if (reason.empty()) { const int errors_before_install = m_errors; reason = load_vendor_preset(entry, dir, vendor_name, base_bundle, flags, - substitution_context, substitutions, configs, filament_id_maps, presets, - presets_loaded, is_from_lib); + substitution_context, substitutions, configs, include_maps, filament_id_maps, + presets, presets_loaded, is_from_lib); install_errors += m_errors - errors_before_install; } if (!reason.empty()) { @@ -6301,6 +7661,9 @@ bool PresetBundle::has_errors(bool check_duplicate_filament_subtypes) const if (this->check_preset_references()) has_errors = true; + if (this->check_printer_default_materials()) + has_errors = true; + return has_errors; } @@ -6393,6 +7756,70 @@ bool PresetBundle::check_preset_references() const return found; } +bool PresetBundle::check_printer_default_materials() const +{ + bool found = false; + // A model's default_materials list is shared by its variants, so report each unknown name once. + std::set checked_models; + // default_filament_profile is inherited from shared base machine presets, so one bad name can + // surface on many variants; report it once, at the first printer that names it. + std::set reported_unknown_profiles; + for (const Preset &printer : printers) { + if (!printer.is_system || printer.vendor == nullptr || printer.printer_technology() != ptFFF) + continue; + + const VendorProfile::PrinterModel *model = PresetUtils::system_printer_model(printer); + const PresetWithVendorProfile active_printer = printers.get_preset_with_vendor_profile(printer); + // Use the same name lookup as load_installed_filaments, not UI aliases or fuzzy matching. + // A model's defaults can cover different nozzles, but at least one must cover this variant. + const bool has_default = model != nullptr && std::any_of(model->default_materials.begin(), model->default_materials.end(), + [&](const std::string &name) { + const Preset *filament = filaments.find_preset(name, false); + return filament != nullptr && filament->is_system && + is_compatible_with_printer(filaments.get_preset_with_vendor_profile(*filament), active_printer); + }); + if (!has_default) { + found = true; + BOOST_LOG_TRIVIAL(error) << "Printer preset \"" << printer.name << "\" (vendor \"" << printer.vendor->name + << "\", model \"" << printer.config.opt_string("printer_model") << "\", variant \"" + << printer.config.opt_string("printer_variant") + << "\") has no compatible system filament in its model's \"default_materials\". " + "Add at least one full filament preset name compatible with this printer variant:\n" + << preset_file_uri(printer.file); + } + + if (model != nullptr && checked_models.insert(model).second) { + for (const std::string &name : model->default_materials) { + const Preset *filament = filaments.find_preset(name, false); + if (filament == nullptr || !filament->is_system) { + found = true; + BOOST_LOG_TRIVIAL(error) << "Printer model \"" << model->name << "\" (vendor \"" << printer.vendor->name + << "\") names the unknown system filament \"" << name + << "\" in its \"default_materials\":\n" << preset_file_uri(printer.file); + } + } + } + + if (printer.config.has("default_filament_profile")) { + for (const std::string &name : printer.config.opt("default_filament_profile")->values) { + // A ";"-separated list can leave an empty trailing segment; formatting noise, not a name. + if (name.empty()) + continue; + const Preset *filament = filaments.find_preset(name, false); + if ((filament == nullptr || !filament->is_system) && reported_unknown_profiles.insert(name).second) { + found = true; + BOOST_LOG_TRIVIAL(error) << "Printer preset \"" << printer.name << "\" (vendor \"" << printer.vendor->name + << "\", model \"" << printer.config.opt_string("printer_model") << "\", variant \"" + << printer.config.opt_string("printer_variant") + << "\") names the unknown system filament \"" << name + << "\" in its \"default_filament_profile\":\n" << preset_file_uri(printer.file); + } + } + } + } + return found; +} + // Orca: a filament is matched from the AMS by (filament_id + printer compatibility). // For any one printer, at most one instantiated filament preset with a given // filament_id may be compatible - otherwise the AMS match is ambiguous and the @@ -6597,26 +8024,29 @@ bool PresetBundle::load_vendor_cache(const std::string& cache_path, const std::s // parsed), so no substitutions are reported, as before. ConfigSubstitutionContext substitution_context { ForwardCompatibilitySubstitutionRule::EnableSilent }; PresetsConfigSubstitutions substitutions; - std::map configs; + std::map configs, include_maps; std::map filament_id_maps; const std::string path = boost::filesystem::path(cache_path).parent_path().string(); size_t count = 0; auto install_entries = [&](const std::vector& entries, PresetCollection* presets, bool is_from_lib) { configs.clear(); + include_maps.clear(); filament_id_maps.clear(); - // Only configs of presets that other entries inherit are ever looked - // up again; registering just those skips one full config copy for - // every leaf preset. The library's filaments are all retained — they - // become the m_config_maps other vendors resolve against. - std::set inherited; - for (const CachedPreset& entry : entries) + // Only configs of presets that other entries inherit or include are + // ever looked up again; registering just those skips one full config + // copy for every leaf preset. The library's filaments are all retained + // — they become the m_config_maps other vendors resolve against. + std::set inherited, included; + for (const CachedPreset& entry : entries) { if (! entry.inherits.empty()) inherited.insert(entry.inherits); + included.insert(entry.includes.begin(), entry.includes.end()); + } const std::set* retain_configs = is_from_lib ? nullptr : &inherited; for (const CachedPreset& entry : entries) { const std::string reason = load_vendor_preset(entry, path, vendor_name, base_bundle, LoadConfigBundleAttribute::LoadSystem, substitution_context, substitutions, - configs, filament_id_maps, presets, count, is_from_lib, retain_configs); + configs, include_maps, filament_id_maps, presets, count, is_from_lib, retain_configs, &included); if (! reason.empty()) throw std::runtime_error("entry " + entry.name + " failed to install: " + reason); } diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index 07e5444906..741f6069a4 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -4,11 +4,14 @@ #include "Preset.hpp" #include "PresetCacheFormat.hpp" #include "AppConfig.hpp" +#include "PublishSettings.hpp" #include "enum_bitmask.hpp" #include +#include #include #include +#include #include #include #include @@ -168,6 +171,30 @@ struct PresetBundleMetadata } }; +// A "published" 3MF project: keeps the user's currently-selected presets and overlays only the +// author-selected published keys onto the edited presets. +struct PublishedConfig +{ + bool published = false; + std::vector published_keys; + // Per-slot published material keys, applied positionally (author slot N -> receiver slot N). + // Partial entries are gated by the author's optional type requirement and written onto the + // slot's stored preset in place; full entries instead detach (see PublishedMaterialEntry in + // PublishSettings.hpp). + std::vector material_keys; + // Keys that could not be applied (missing on the user's machine or vector size mismatch), + // filled in by load_config_file_config for notification purposes. + std::vector skipped_keys; + // Human-readable notices of the slot material replacements performed while loading a + // published project, for the load notification. + std::vector material_replacements; + // Mixed-filament entries that had to be moved off their authored slot on load (a real, + // physical filament occupied it): maps the author's zero-based slot number to its final + // zero-based slot. Consumers (e.g. model extruder/color-painting remapping) use this to + // keep geometry references pointing at the relocated definitions. + std::map mixed_slot_relocations; +}; + // Bundle of Print + Filament + Printer presets. class PresetBundle { @@ -464,8 +491,8 @@ public: // Load configuration that comes from a model file containing configuration, such as 3MF et al. // This method is called by the Plater. - void load_config_model(const std::string &name, DynamicPrintConfig config, Semver file_version = Semver()) - { this->load_config_file_config(name, true, std::move(config), file_version); } + void load_config_model(const std::string &name, DynamicPrintConfig config, Semver file_version = Semver(), PublishedConfig *published_config = nullptr) + { this->load_config_file_config(name, true, std::move(config), file_version, false, published_config); } // Load an external config file containing the print, filament and printer presets. // Instead of a config file, a G-code may be loaded containing the full set of parameters. @@ -590,6 +617,11 @@ public: // compatible_prints references a deleted (unknown) or renamed (old) preset name. bool check_preset_references() const; + // Validator-only: every system FFF printer variant needs a compatible system filament + // named in its model's default_materials, every name there and in the printer's + // default_filament_profile must resolve to a system filament. + bool check_printer_default_materials() const; + // Merge one vendor's presets with the other vendor's presets, report duplicates. // Public so per-vendor-cache consumers (e.g. the setup wizard) can assemble a // bundle out of several per-vendor caches loaded into separate PresetBundle instances. @@ -602,22 +634,24 @@ private: // load_vendor_configs_from_json reads a cache. bool load_vendor_cache(const boost::filesystem::path& dir, const std::string& vendor_name, const PresetBundle* base_bundle); - // Load one source-form preset entry into this bundle: resolve `inherits`, - // flatten, validate and register the preset. Returns the reason loading - // failed, empty on success. See the definition for the sharing contract - // between the JSON parse and the cache load. - // retain_configs, when non-null, names the only presets registered into - // config_maps (a full config copy each). The cache load passes the names its - // entries inherit — the only ones ever looked up again; the JSON parse - // retains all, not knowing what later subfiles inherit. + // Load one source-form preset entry into this bundle: resolve `inherits` + // and `include`, flatten, validate and register the preset. Returns the + // reason loading failed, empty on success. See the definition for the + // sharing contract between the JSON parse and the cache load. + // retain_configs / retain_includes, when non-null, name the only presets + // registered into config_maps / include_maps (a config copy each). The + // cache load passes the names its entries inherit / include — the only + // ones ever looked up again; the JSON parse retains all, not knowing what + // later subfiles name. std::string load_vendor_preset(const CachedPreset& entry, const std::string& path, const std::string& vendor_name, const PresetBundle* base_bundle, LoadConfigBundleAttributes flags, ConfigSubstitutionContext& substitution_context, PresetsConfigSubstitutions& substitutions, - std::map& config_maps, std::map& filament_id_maps, + std::map& config_maps, std::map& include_maps, + std::map& filament_id_maps, PresetCollection* presets_collection, size_t& count, bool is_from_lib, - const std::set* retain_configs = nullptr); + const std::set* retain_configs = nullptr, const std::set* retain_includes = nullptr); // Clear every collection's m_printer_hold_alias, which reset() leaves alone. void clear_printer_hold_aliases(); @@ -626,6 +660,17 @@ private: bool m_generate_vendor_caches { false }; bool m_preserve_vendor_source_paths { false }; + // Vendor trees loaded by resolve_preset_config's manifest path, so every preset + // resolved through this bundle shares one load per source root and vendor. The + // filament library is one such tree, shared by every vendor under its root. + std::map, std::unique_ptr> + m_source_vendor_bundles; + + const PresetBundle *load_source_vendor(const boost::filesystem::path &root_dir, + const std::string &vendor_id, + ForwardCompatibilitySubstitutionRule compatibility_rule, + std::string &error); + // Orca: validation only - flag any printer with two or more compatible // filament presets sharing one filament_id (ambiguous AMS subtype match). bool check_duplicate_filament_subtypes() const; @@ -646,7 +691,7 @@ private: // Load print, filament & printer presets from a config. If it is an external config, then the name is extracted from the external path. // and the external config is just referenced, not stored into user profile directory. // If it is not an external config, then the config will be stored into the user profile directory. - void load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config, Semver file_version = Semver(), bool selected = false); + void load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config, Semver file_version = Semver(), bool selected = false, PublishedConfig *published_config = nullptr); /*ConfigSubstitutions load_config_file_config_bundle( const std::string &path, const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule);*/ diff --git a/src/libslic3r/PresetCacheFormat.cpp b/src/libslic3r/PresetCacheFormat.cpp index accebba7b4..1eca878fe2 100644 --- a/src/libslic3r/PresetCacheFormat.cpp +++ b/src/libslic3r/PresetCacheFormat.cpp @@ -254,7 +254,7 @@ constexpr uint32_t CACHE_MAGIC = 0x4F52435A; // "ORCZ" // save_entries below), or a change to the cache's own layout or the // meaning of its stamps. Option-schema drift is NOT such a change — the // dictionary handles it, which is why this no longer moves every release. -constexpr uint32_t CACHE_VERSION = 1; +constexpr uint32_t CACHE_VERSION = 2; // A stamp-string read that refuses an absurd length before allocating anything. // The stamps are read from files named from the outside (peek_version is @@ -325,7 +325,7 @@ void visit_entry(Archive& ar, Entry& e, ConfigFn&& config) { ar(e.name, e.sub_path); config(); - ar(e.inherits, e.description, e.instantiation, e.setting_id, e.filament_id, e.renamed_from); + ar(e.inherits, e.includes, e.description, e.instantiation, e.setting_id, e.filament_id, e.renamed_from); } // The count comes from a file that has already passed magic and CRC, but a diff --git a/src/libslic3r/PresetCacheFormat.hpp b/src/libslic3r/PresetCacheFormat.hpp index b200ec9911..2c90c07882 100644 --- a/src/libslic3r/PresetCacheFormat.hpp +++ b/src/libslic3r/PresetCacheFormat.hpp @@ -107,12 +107,13 @@ void load_config(cereal::BinaryInputArchive& ar, DynamicPrintConfig& config, con // comes after. void skip_config(cereal::BinaryInputArchive& ar, const CacheDictionary& dict); -// One preset as its JSON subfile states it: the config diff, the name of the -// preset it inherits, and the parse metadata — everything the parse phase of -// load_vendor_configs_from_json extracts and nothing it derives. Inheritance -// is resolved when the entry is installed, against whatever filament library -// is loaded then, so a cache carries no other vendor's values and no other -// vendor's update can make it stale. +// One preset as its JSON subfile states it: the config diff, the names of the +// preset it inherits and the presets it includes, and the parse metadata — +// everything the parse phase of load_vendor_configs_from_json extracts and +// nothing it derives. Inheritance and includes are resolved when the entry is +// installed, against whatever filament library is loaded then, so a cache +// carries no other vendor's values and no other vendor's update can make it +// stale. // Written and read by visit_entry in PresetCacheFormat.cpp, which lists every // field below in this order — once, for the save, the load and the name peek alike. struct CachedPreset @@ -121,6 +122,7 @@ struct CachedPreset std::string sub_path; // path under the vendor's directory DynamicPrintConfig config_src; // the preset's own diff, nothing inherited std::string inherits; + std::vector includes; // layered under config_src, in this order std::string description; std::string instantiation; // "true"/"false" as stated; anything else was already counted as a parse error std::string setting_id; diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index aee50db534..00398f9ebb 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -14,12 +14,14 @@ #include "Flow.hpp" #include "Geometry/ConvexHull.hpp" #include "I18N.hpp" +#include "LifecycleEvents.hpp" #include "ShortestPath.hpp" #include "Thread.hpp" #include "Time.hpp" #include "GCode.hpp" #include "GCode/WipeTower.hpp" #include "GCode/WipeTower2.hpp" +#include "GCode/WipeTowerEstimate.hpp" #include "Utils.hpp" #include "PrintConfig.hpp" #include "MaterialType.hpp" @@ -232,6 +234,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n "accel_to_decel_enable", "accel_to_decel_factor", "wipe_on_loops", + "wipe_inward", + "wipe_inward_distance", "gcode_comments", "gcode_label_objects", "exclude_object", @@ -357,6 +361,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n || opt_key == "other_layers_print_sequence" || opt_key == "other_layers_print_sequence_nums" || opt_key == "toolchange_ordering" + || opt_key == "toolchange_cyclic_order" + || opt_key == "toolchange_cyclic_first_layer" || opt_key == "extruder_ams_count" || opt_key == "extruder_nozzle_stats" || opt_key == "filament_map_mode" @@ -372,6 +378,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n || opt_key == "wipe_tower_bridging" || opt_key == "wipe_tower_extra_flow" || opt_key == "wipe_tower_no_sparse_layers" + || opt_key == "wipe_tower_sparse_layers_combination" || opt_key == "flush_volumes_matrix" || opt_key == "prime_volume" || opt_key == "flush_into_infill" @@ -961,6 +968,377 @@ StringObjectException Print::sequential_print_clearance_valid(const Print &print return single_object_exception; } +// --------------------------------------------------------------------------------------------- +// Clearance rule for a prime tower compacted by wipe_tower_no_sparse_layers. +// Ported from BambuStudio and adapted to Orca's printer config: Orca has no +// prime_tower_lift_height (z_hop alone bounds the spiral), spells the toolhead radius +// extruder_clearance_radius, and derives the spiral slope from the per-filament travel_slope instead +// of one global constant. +// --------------------------------------------------------------------------------------------- + +double compacted_tower_footprint_padding(const PrintConfig &config, double brim_width) +{ + // The brim is deposited material like any other and reaches past the wall on the first layer, so + // the sweeping rod has to clear it too. + // + // On top of it, two effects make a nominal outline fall short of the printed tower on its low + // corner even though it overshoots by millimetres on the high one: WipeTower re-centres the tower + // by rib_offset once its first-layer wall is known, and the precise check hulls extrusion centre + // lines, so the deposited material reaches half a line width further still. Allowing a line width + // per side covers both, which is what keeps an estimated footprint enclosing the real one and the + // pre-slice check stricter than the precise one. + return std::max(0., brim_width) + 2. * config.nozzle_diameter.get_at(0); +} + +Polygons compacted_wipe_tower_rings(const CompactedTowerZone &zone, bool any_body_tier) +{ + Polygons rings = zone.grown_nozzle; + if (any_body_tier) + append(rings, zone.grown_body); + return rings; +} + +CompactedTowerZone compacted_wipe_tower_zone(const PrintConfig &config, const Polygon &tower_footprint) +{ + CompactedTowerZone zone; + if (tower_footprint.points.empty()) + return zone; + + // Spiral Z-hop at wipe-tower entry (the G3 Z I J that GCodeWriter emits for a SpiralLift) starts on + // the tower outline at a low Z. The spiral centre sits one radius away from the start point, so the + // circle reaches 2 * radius beyond the outline. radius = lift / (2*pi*atan(travel_slope)) is the + // same formula GCodeWriter uses; both are per filament, so take the widest any filament can make. + double spiral_reach = 0.; + for (size_t i = 0; i < config.z_hop.size(); ++i) { + const double lift = std::min(double(config.z_hop.get_at(i)), 5.); + if (lift < EPSILON) + continue; + const double slope = i < config.travel_slope.size() ? double(config.travel_slope.get_at(i)) : 0.; + if (slope < EPSILON) + continue; + spiral_reach = std::max(spiral_reach, 2. * lift / (2. * PI * std::atan(slope))); + } + + // Working footprint = outline grown by the spiral envelope. All later clearance tests use this, so + // a travel that leaves the deposited wall at low Z is still treated as part of the tower. + zone.hull = tower_footprint; + if (spiral_reach > EPSILON) { + const Polygons grown = offset(tower_footprint, float(scale_(spiral_reach)), jtRound, scale_(0.1)); + if (! grown.empty()) + zone.hull = Geometry::convex_hull(grown); + } + + // The rod sweeps the whole X axis, so its keep-out band is the tower's Y span widened by half + // the nozzle-to-rod offset per side (the instance carries the other half). Orca's sequential + // check has no such margin, having had no option to read it from until now. + zone.bbox_rod = zone.hull.bounding_box(); + zone.bbox_rod.offset(scale_(config.extruder_clearance_dist_to_rod.value * 0.5)); + + // Horizontal clearance, mirroring the sequential print check down to how the distance is split: + // there each of the two object hulls grows by half of extruder_clearance_radius, so the two + // outlines touch exactly when the objects are the full radius apart. Splitting it the same way + // here (half on the tower, half on the instance in compacted_wipe_tower_clearance) states the + // same criterion, and it is what lets the plater draw both outlines: they meet at the instant the + // check trips, instead of one of them being already buried inside the other. The smaller + // MAX_OUTER_NOZZLE_DIAMETER tier is the bare nozzle cone, the only part narrow enough to sit + // beside an object rising less than nozzle_height. The 0.2 mm shaved off is the same rounding + // slack the sequential check applies, 0.1 mm per side. Both rings are built here; which one a + // given object is measured against depends on its own height and is decided in + // compacted_wipe_tower_clearance(). + zone.body_radius = config.extruder_clearance_radius.value; + zone.grown_body = offset(zone.hull, float(scale_(compacted_tower_half_clearance(zone.body_radius))), jtRound, scale_(0.1)); + zone.grown_nozzle = offset(zone.hull, float(scale_(compacted_tower_half_clearance(MAX_OUTER_NOZZLE_DIAMETER))), jtRound, scale_(0.1)); + return zone; +} + +CompactedTowerClearance compacted_wipe_tower_clearance(const PrintConfig &config, const CompactedTowerZone &zone, + const Polygon &inst_hull, double object_rise) +{ + BoundingBox inst_bbox = inst_hull.bounding_box(); + inst_bbox.offset(scale_(config.extruder_clearance_dist_to_rod.value * 0.5)); + + // Only the Y span matters for the rod: it spans the whole X axis, so an object sharing the tower's + // Y band passes under it however far apart the two are in X. + const bool overlaps_in_y = std::min(inst_bbox.max.y(), zone.bbox_rod.max.y()) - std::max(inst_bbox.min.y(), zone.bbox_rod.min.y()) > 0; + + CompactedTowerClearance result; + result.far_clearance = overlaps_in_y ? config.extruder_clearance_height_to_rod.value : config.extruder_clearance_height_to_lid.value; + + // The rod and the lid are the only obstacles once the object stands far enough away. Closer than + // the toolhead radius it is the head body itself that hits the object, and it does so as soon as + // the object rises past the nozzle cone, which is far below the rod. + // The instance carries the other half of each clearance, the tower rings already hold the first + // half; see compacted_wipe_tower_zone(). Both halves are needed for the verdict to mean + // "a full radius apart", and drawing what is tested is what keeps the plater honest. + // + // Which tier applies is a property of this object alone: the head body sits above the nozzle cone, + // so it cannot reach an object that stays below nozzle_height however close it stands, and however + // tall the rest of the plate is. + const bool object_is_short = object_rise <= double(config.nozzle_height.value) + EPSILON; + result.body_clearance = object_is_short ? double(MAX_OUTER_NOZZLE_DIAMETER) : zone.body_radius; + + const Polygons inst_near_nozzle = offset(inst_hull, float(scale_(compacted_tower_half_clearance(MAX_OUTER_NOZZLE_DIAMETER))), jtRound, scale_(0.1)); + const bool near_nozzle = ! intersection(zone.grown_nozzle, inst_near_nozzle).empty(); + result.near_body = false; + if (! object_is_short) { + const Polygons inst_near_body = offset(inst_hull, float(scale_(compacted_tower_half_clearance(zone.body_radius))), jtRound, scale_(0.1)); + result.near_body = ! intersection(zone.grown_body, inst_near_body).empty(); + } + + result.allowed_rise = result.far_clearance; + if (near_nozzle) + result.allowed_rise = 0.; + else if (result.near_body) + result.allowed_rise = std::min(result.far_clearance, double(config.nozzle_height.value)); + return result; +} + +Polygon compacted_wipe_tower_offender_outline(const Polygon &inst_hull, double body_clearance) +{ + // Exactly the half-clearance the check grew this instance by, so the halo drawn around an object is + // the very outline that was tested against the tower ring of the same tier. Passing the clearance + // the object was actually judged on keeps a short object from being drawn with the wide ring it is + // not subject to. + const Polygons grown = offset(inst_hull, float(scale_(compacted_tower_half_clearance(body_clearance))), jtRound, scale_(0.1)); + return grown.empty() ? inst_hull : grown.front(); +} + +// Shared user-facing message for every compacted-tower clearance failure. Height-limit and too-close +// are the same class of layout violation under "No sparse layers", so they share one wording. +static std::string compacted_wipe_tower_clearance_error() +{ + return L("The relative position of the model and the prime tower does not meet the requirements of the \"No sparse layers\" feature. Please adjust their relative positions, lower the model height, or turn off \"No sparse layers\"."); +} + +// Convex hull of one print instance in bed coordinates, the same outline both compacted tower checks +// compare against the tower. +static Polygon compacted_tower_print_instance_hull(const PrintObject &object, const PrintInstance &instance) +{ + Points pts; + for (const ModelVolume *v : object.model_object()->volumes) { + if (! v->is_model_part()) + continue; + Polygon hull = v->get_convex_hull_2d(Geometry::assemble_transform(Vec3d::Zero(), instance.model_instance->get_rotation(), + instance.model_instance->get_scaling_factor(), instance.model_instance->get_mirror())); + hull.translate(instance.shift - object.center_offset()); + append(pts, hull.points); + } + return pts.empty() ? Polygon() : Geometry::convex_hull(pts); +} + +// Footprint the compacted prime tower is expected to occupy on the plate, in bed coordinates. +// Before psWipeTower has run there is no tower geometry at all, so this falls back to the same +// estimate the plater builds its preview box from. Answering while the user is still arranging the +// plate is the whole point of the pre-slice check, and an estimate is all that can be had then. +static Polygon estimated_wipe_tower_footprint(const Print &print) +{ + const PrintConfig &config = print.config(); + const size_t filaments_cnt = print.extruders().size(); + if (filaments_cnt == 0) + return Polygon(); + + const WipeTowerData &wtd = print.wipe_tower_data(filaments_cnt); + + double width, depth, brim; + Vec2d local_min; + if (wtd.bbx.size().x() > EPSILON && wtd.bbx.size().y() > EPSILON) { + // The tower has already been generated once, so use its real box (brim included) instead of + // re-estimating. Same frame first_layer_wipe_tower_corners() works in. + width = wtd.bbx.size().x(); + depth = wtd.bbx.size().y(); + local_min = wtd.bbx.min + wtd.rib_offset.cast(); + brim = 0.; + } else { + depth = wtd.depth; + if (depth < EPSILON) + return Polygon(); + // PartPlate::estimate_wipe_tower_size() squares the rib tower off and the preview box the user + // drags around is built from that, so match it here rather than keeping the nominal width. + width = config.wipe_tower_wall_type.value == WipeTowerWallType::wtwRib ? depth : double(config.prime_tower_width.value); + local_min = Vec2d::Zero(); + brim = double(wtd.brim_width); + } + + const double padding = compacted_tower_footprint_padding(config, brim); + local_min -= Vec2d(padding, padding); + width += 2. * padding; + depth += 2. * padding; + + const Eigen::Rotation2Dd rot(Geometry::deg2rad(config.wipe_tower_rotation_angle.value)); + const Vec2d translate(config.wipe_tower_x.get_at(print.get_plate_index()) + print.get_plate_origin()(0), + config.wipe_tower_y.get_at(print.get_plate_index()) + print.get_plate_origin()(1)); + + Polygon footprint; + for (const Vec2d &corner : { local_min, + Vec2d(local_min.x() + width, local_min.y()), + Vec2d(local_min.x() + width, local_min.y() + depth), + Vec2d(local_min.x(), local_min.y() + depth) }) { + const Vec2d p = rot * corner + translate; + footprint.points.emplace_back(scale_(p.x()), scale_(p.y())); + } + return footprint; +} + +// Pre-slice counterpart of validate_compacted_wipe_tower_clearance(). It applies the very same +// clearance rule, but to an estimated tower footprint instead of the real tool-change extrusions, +// which is what lets it run from Print::validate() before anything has been sliced. Reporting through +// polygons / height_polygons rather than by throwing is what puts the collision area and the height +// limit plane on the plater, exactly the way sequential printing does it. +StringObjectException Print::compacted_wipe_tower_clearance_valid(const Print &print, Polygons *polygons, std::vector> *height_polygons) +{ + const PrintConfig &config = print.config(); + if (! wipe_tower_sparse_layers_skipped(config) || config.print_sequence != PrintSequence::ByLayer || ! print.has_wipe_tower()) + return {}; + + const CompactedTowerZone zone = compacted_wipe_tower_zone(config, estimated_wipe_tower_footprint(print)); + if (zone.empty()) + return {}; + + StringObjectException exception; + Polygons offenders; + bool body_tier_used = false; + for (const PrintObject *object : print.objects()) { + const double object_top = unscaled(object->max_z()); + for (const PrintInstance &instance : object->instances()) { + const Polygon inst_hull = compacted_tower_print_instance_hull(*object, instance); + if (inst_hull.points.empty()) + continue; + const CompactedTowerClearance clearance = compacted_wipe_tower_clearance(config, zone, inst_hull, object_top); + body_tier_used = body_tier_used || compacted_tower_body_tier(clearance); + // Every tier the precise check applies is applied here too, otherwise an object standing + // within the toolhead radius would pass here and then be rejected mid-slice, which is the + // one outcome this check exists to prevent. The compacted tower base is unknown before + // slicing, so the rise is measured from the plate rather than from the tower top; that + // overstates it by the tower's own height and makes this check err strict, never lax. + if (object_top <= clearance.allowed_rise + EPSILON) + continue; + + // Height-limit and too-close cases share one user-facing message: both mean the layout + // violates the "No sparse layers" clearance rule, and the remedies are the same. + const std::string msg = compacted_wipe_tower_clearance_error(); + if (exception.string.empty()) { + exception.string = msg; + exception.object = instance.model_instance; + } else { + // Same wording for every offender; keep a single copy and drop the object pointer. + exception.object = nullptr; + } + const Polygon outline = compacted_wipe_tower_offender_outline(inst_hull, clearance.body_clearance); + offenders.emplace_back(outline); + if (height_polygons) + height_polygons->emplace_back(outline, float(clearance.allowed_rise)); + } + } + + // Draw the tower's keep-out ring alongside the offending objects, so the collision area reads as + // "this object reaches into the space the toolhead needs around the tower" rather than as a lone + // highlighted object. Emitted only on a real collision; the plater discards polygons otherwise. + // Only the rings some object on this plate is actually measured against are drawn, so that a ring + // and an object outline touching always means that object is over its limit. + if (polygons && ! offenders.empty()) { + append(*polygons, compacted_wipe_tower_rings(zone, body_tier_used)); + append(*polygons, offenders); + } + return exception; +} + +// With wipe_tower_no_sparse_layers the tower only grows on layers that carry a real toolchange, +// so it ends up far below the object and the nozzle has to descend to it. While the nozzle sits +// down on the compacted tower the rod is at tower_z + extruder_clearance_height_to_rod, and it +// sweeps the tower's Y band across the whole X axis. Anything already printed above that line and +// sharing the band gets hit. Nearer than the toolhead radius the head body hits the object well before +// the rod does, which is the horizontal half of the same problem. The spiral Z-hop that opens a wipe- +// tower travel also leaves the extrusion outline at a low Z, so the footprint used here is the +// deposited hull grown by the spiral circle's maximum reach. This mirrors both clearance checks of +// sequential printing, except that the tower is revisited over and over, so every object is compared +// against it. +void Print::validate_compacted_wipe_tower_clearance() const +{ + // Nothing to check when the tower is not compacted: it then follows the object as usual and the + // regular by-layer clearance check already covers it. Asking wipe_tower_sparse_layers_skipped() + // rather than the raw option keeps this from rejecting plates whose tower is in fact full height. + if (! wipe_tower_sparse_layers_skipped(m_config) || m_config.print_sequence != PrintSequence::ByLayer) + return; + + const std::vector> &tool_changes = m_wipe_tower_data.tool_changes; + if (tool_changes.empty() || m_objects.empty()) + return; + + // Same accumulation the G-code emitter runs, so validation and output cannot disagree. + const std::vector tower_z = compute_compacted_wipe_tower_z(tool_changes, float(m_config.z_offset.value)); + + // Wipe tower footprint: build it from the ACTUAL tool-change extrusions rather than the nominal + // width x depth rectangle returned by first_layer_wipe_tower_corners(). With a rib wall the printed + // wall bulges past the nominal box and the first-layer brim reaches even further; the nominal box + // (m_wipe_tower_data.bbx) undercounts that outermost extent by several millimetres, which is + // exactly the extent that decides how close the sweeping rod comes to a neighbouring object. The + // extrusion end-points are stored in the wipe-tower local frame, so we map them to the bed frame + // with the same transform the G-code emitter applies. The two emitters differ in where rib_offset + // enters: WipeTowerIntegration::append_tcr() (type 1) rotates the point and then adds the offset, + // append_tcr2() (type 2) adds it before rotating. On a rotated rib-wall tower the two land several + // millimetres apart, which is exactly the margin this check measures, so follow the emitter in use. + const Eigen::Rotation2Dd wt_rot(Geometry::deg2rad(m_config.wipe_tower_rotation_angle.value)); + const Vec2d wt_translate(m_config.wipe_tower_x.get_at(m_plate_index) + m_origin(0), + m_config.wipe_tower_y.get_at(m_plate_index) + m_origin(1)); + const Vec2d rib_off = m_wipe_tower_data.rib_offset.cast(); + const bool rib_off_rotates = this->wipe_tower_type() == WipeTowerType::Type2; + auto to_bed = [&wt_rot, &wt_translate, &rib_off, rib_off_rotates](const Vec2d &pt) { + return rib_off_rotates ? Vec2d(wt_rot * (pt + rib_off) + wt_translate) : Vec2d(wt_rot * pt + wt_translate + rib_off); + }; + + Points tower_pts; + for (const std::vector &layer : tool_changes) { + if (layer.empty() || wipe_tower_layer_is_sparse(layer)) + continue; + for (const WipeTower::ToolChangeResult &tcr : layer) + for (size_t i = 0; i < tcr.extrusions.size(); ++i) { + // A zero width marks a travel end-point. Keep it only when it opens a real extrusion, so + // the hull covers the deposited material and nothing else; travels reach a bit further out + // than the walls do. + const WipeTower::Extrusion &e = tcr.extrusions[i]; + if (e.width == 0.f && (i + 1 == tcr.extrusions.size() || tcr.extrusions[i + 1].width == 0.f)) + continue; + const Vec2d p = to_bed(Vec2d(e.pos.x(), e.pos.y())); + tower_pts.emplace_back(scale_(p.x()), scale_(p.y())); + } + } + if (tower_pts.empty()) + return; + + const CompactedTowerZone zone = compacted_wipe_tower_zone(m_config, Geometry::convex_hull(tower_pts)); + if (zone.empty()) + return; + + for (const PrintObject *object : m_objects) { + const double object_top = unscaled(object->max_z()); + for (const PrintInstance &instance : object->instances()) { + const Polygon inst_hull = compacted_tower_print_instance_hull(*object, instance); + if (inst_hull.points.empty()) + continue; + + // Report the worst layer rather than the first offending one, it is the one that explains the + // collision best. The rise has to be known before the clearance: it is what selects the + // horizontal tier, the nozzle cone being out of the head body's reach. + double max_rise = 0.; + for (size_t i = 0; i < tool_changes.size(); ++i) { + if (tool_changes[i].empty() || wipe_tower_layer_is_sparse(tool_changes[i])) + continue; + // Nothing above the current layer exists yet, so a tall object only counts up to it. + const double rise = std::min(object_top, double(tool_changes[i].front().print_z)) - tower_z[i]; + if (rise > max_rise) + max_rise = rise; + } + + const CompactedTowerClearance clearance = compacted_wipe_tower_clearance(m_config, zone, inst_hull, max_rise); + if (max_rise <= clearance.allowed_rise + EPSILON) + continue; + // Same wording as compacted_wipe_tower_clearance_valid(): height-limit and too-close + // share one message, since both are layout violations of "No sparse layers". + throw Slic3r::SlicingError(compacted_wipe_tower_clearance_error()); + } + } +} + //BBS static StringObjectException layered_print_cleareance_valid(const Print &print, StringObjectException *warning) { @@ -1031,20 +1409,21 @@ static StringObjectException layered_print_cleareance_valid(const Print &print, //BBS: add the wipe tower check logic const PrintConfig & config = print.config(); - int filaments_count = print.extruders().size(); + // Custom G-code tool changes (MultiAsSingle) build a real tower on a plate whose objects + // all use one filament, so they have to be counted or the hull below collapses to a point. + int filaments_count = print.extruders(true).size(); int plate_index = print.get_plate_index(); const Vec3d plate_origin = print.get_plate_origin(); float x = config.wipe_tower_x.get_at(plate_index) + plate_origin(0); float y = config.wipe_tower_y.get_at(plate_index) + plate_origin(1); - float width = config.prime_tower_width.value; float a = config.wipe_tower_rotation_angle.value; //float v = config.wiping_volume.value; - float depth = print.wipe_tower_data(filaments_count).depth; - //float brim_width = print.wipe_tower_data(filaments_count).brim_width; - - if (config.wipe_tower_wall_type.value == WipeTowerWallType::wtwRib) - width = depth; + // The estimate resolves the effective width (a rib wall squares the tower). + const WipeTowerData &wipe_tower_estimate = print.wipe_tower_data(filaments_count); + float width = wipe_tower_estimate.width; + float depth = wipe_tower_estimate.depth; + float brim_width = wipe_tower_estimate.brim_width; Polygons convex_hulls_temp; if (print.has_wipe_tower()) { @@ -1066,36 +1445,54 @@ static StringObjectException layered_print_cleareance_valid(const Print &print, convex_hulls_temp.push_back(wipe_tower_polygon); } } + // Post-generation the mesh bottom already carries the brim. Pre-generation the body grows + // by the brim only when its width is explicit; the auto brim and a Type2 cone base depend on + // the tower height, exact only once generated, so they only warn here - the exact footprint + // is re-checked in _make_wipe_tower. + const bool exact_footprint = print.is_step_done(psWipeTower); + Polygons tower_polys_checked = (!exact_footprint && config.prime_tower_brim_width.value >= 0) ? + offset(convex_hulls_temp, float(scale_(brim_width))) : + convex_hulls_temp; + Polygons tower_polys_estimated; + if (!exact_footprint && !convex_hulls_temp.empty()) { + double max_height = 0.; + for (const PrintObject *object : print.objects()) + max_height = std::max(max_height, unscale_(object->size().z())); + Polygon base = estimate_wipe_tower_first_layer_outline(config, print.wipe_tower_type(), width, depth, max_height); + base.rotate(Geometry::deg2rad(a)); + base.translate(Point(scale_(x), scale_(y))); + tower_polys_estimated = offset(base, float(scale_(brim_width))); + } + // Object proximity stays a body-only warning: brim near-misses would newly warn on + // many setups that print fine. if (!intersection(convex_hulls_other, convex_hulls_temp).empty()) { if (warning) { warning->string += L("Prime Tower") + L(" is too close to others, and collisions may be caused.\n"); } } - if (!intersection(exclude_polys, convex_hulls_temp).empty()) { - /*if (warning) { - warning->string += L("Prime Tower is too close to exclusion area, there may be collisions when printing.\n"); - }*/ + if (!intersection(exclude_polys, tower_polys_checked).empty()) { return {L("Prime Tower") + L(" is too close to an exclusion area, and collisions will be caused.\n")}; } - if (print_config.enable_wrapping_detection.value && !intersection({wrapping_poly}, convex_hulls_temp).empty()) { + if (print_config.enable_wrapping_detection.value && !intersection({wrapping_poly}, tower_polys_checked).empty()) { return {L("Prime Tower") + L(" is too close to clumping detection area, and collisions will be caused.\n")}; } - // Skip the containment check for towers that will never be printed (single-filament - // prints without smooth timelapse keep the config's tower position but emit nothing). - // Pre-generation only the body square is tested — the auto-brim estimate can overshoot - // the generated brim by several mm and must not hard-fail a print that physically fits. - // Post-generation the mesh bottom already includes the real brim, so the exact - // footprint is tested. - if (filaments_count > 1 || print.enable_timelapse_print()) { - // The shared printable polygon is plate-local, while the tower polygons above are - // already shifted by the plate origin. - Polygons printable_polys = print.get_extruder_shared_printable_polygon(); - const Point plate_shift(scale_(plate_origin.x()), scale_(plate_origin.y())); - for (Polygon &p : printable_polys) - p.translate(plate_shift); - if (!diff(convex_hulls_temp, printable_polys).empty()) - return {L("Prime Tower") + L(" is partially outside the printable area, and it cannot be printed.\n")}; + if (warning && !intersection(exclude_polys, tower_polys_estimated).empty()) { + warning->string += L("Prime Tower") + L(" is too close to exclusion area, there may be collisions when printing.") + "\n"; } + if (warning && print_config.enable_wrapping_detection.value && !intersection({wrapping_poly}, tower_polys_estimated).empty()) { + warning->string += L("Prime Tower") + L(" is too close to clumping detection area, there may be collisions when printing.") + "\n"; + } + // No gate on "is there a tower": one that is not printed estimates to zero, so the hulls + // are degenerate and every check passes. Re-deriving it here missed the wrapping-detection + // tower on a single-filament plate. + Polygons printable_polys = print.get_extruder_shared_printable_polygon(); + const Point plate_shift(scale_(plate_origin.x()), scale_(plate_origin.y())); + for (Polygon &p : printable_polys) + p.translate(plate_shift); + if (!diff(tower_polys_checked, printable_polys).empty()) + return {L("Prime Tower") + L(" is partially outside the printable area, and it cannot be printed.\n")}; + if (warning && !diff(tower_polys_estimated, printable_polys).empty()) + warning->string += L("Prime Tower") + L(" is partially outside the printable area, and it cannot be printed.\n"); return {}; } @@ -1309,6 +1706,25 @@ StringObjectException Print::check_multi_filament_valid(const Print& print) // Precondition: Print::validate() requires the Print::apply() to be called its invocation. //BBS: refine seq-print validation logic +// The exception's own message is just "Errors"; the detail is in the per-object errors, +// whose object id is the PrintObject's. +std::string Print::slicing_errors_message(const SlicingErrors &errors) const +{ + std::string message; + for (const SlicingError &error : errors.errors_) { + std::string object_name; + for (const PrintObject *object : m_objects) + if (object->id().id == error.objectId()) { + object_name = object->model_object()->name; + break; + } + if (!message.empty()) + message += "\n"; + message += object_name.empty() ? std::string(error.what()) : object_name + ": " + error.what(); + } + return message; +} + StringObjectException Print::validate(std::vector *warnings, Polygons* collison_polygons, std::vector>* height_polygons) const { auto add_warning = [warnings](StringObjectException w) { @@ -1386,6 +1802,16 @@ StringObjectException Print::validate(std::vector *warnin } if (!layer_warning.string.empty()) add_warning(layer_warning); + + // Orca: a compacted prime tower drags the nozzle back down to the plate on every toolchange, so + // tall objects collide with it much like they do in sequential printing. Checking it here rather + // than only during slicing is what lets the plater show the collision area and the height limit + // while the plate is still being arranged. + ret = compacted_wipe_tower_clearance_valid(*this, collison_polygons, height_polygons); + if (!ret.string.empty()) { + ret.type = STRING_EXCEPT_OBJECT_COLLISION_IN_LAYER_PRINT; + return ret; + } } if (m_config.enable_prime_tower) { @@ -2289,6 +2715,14 @@ void Print::process(long long *time_cost_with_cache, bool use_cache) if (m_objects.empty()) return; + { + LifecycleEventContext ctx; + ctx.name = std::to_string(m_model.id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.cancellation_check = [this]() { return canceled(); }; + fire_lifecycle_event(LifecycleEvent::SliceStarted, ctx); + } + for (PrintObject *obj : m_objects) obj->clear_shared_object(); @@ -2598,6 +3032,12 @@ void Print::process(long long *time_cost_with_cache, bool use_cache) if (this->has_wipe_tower()) { m_fake_wipe_tower.set_pos({ m_config.wipe_tower_x.get_at(m_plate_index), m_config.wipe_tower_y.get_at(m_plate_index) }); + // Validated on every process() run rather than only when the wipe tower step is (re)generated. + // Moving the tower changes only wipe_tower_x/y, which invalidates psSkirtBrim but not psWipeTower, + // so a validate call living inside _make_wipe_tower would be skipped and keep using the stale + // position, missing a fresh collision. The tower geometry (tool_changes) is stored in the local + // frame and is position independent, so re-checking here with the current position is correct. + this->validate_compacted_wipe_tower_clearance(); } if (this->set_started(psSkirtBrim)) { @@ -2901,6 +3341,14 @@ void Print::process(long long *time_cost_with_cache, bool use_cache) } BOOST_LOG_TRIVIAL(info) << "Slicing process finished." << log_memory_info(); + + { + LifecycleEventContext ctx; + ctx.name = std::to_string(m_model.id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.cancellation_check = [this]() { return canceled(); }; + fire_lifecycle_event(LifecycleEvent::SliceGeometryFinished, ctx); + } } // G-code export process, running at a background thread. @@ -3997,74 +4445,25 @@ bool Print::has_wipe_tower() const const WipeTowerData &Print::wipe_tower_data(size_t filaments_cnt) const { - // If the wipe tower wasn't created yet, make sure the depth and brim_width members are set to default. - double max_height = 0; - for (size_t obj_idx = 0; obj_idx < m_objects.size(); obj_idx++) { - double object_z = (double) m_objects[obj_idx]->size().z(); - max_height = std::max(unscale_(object_z), max_height); + // Until the tower is generated, size it with the estimate the GUI/CLI placement uses, so + // validation cannot reject a position the clamp just accepted. + if (is_step_done(psWipeTower) || filaments_cnt == 0) + return m_wipe_tower_data; + + double max_height = 0.; + double layer_height = std::numeric_limits::max(); + for (const PrintObject *object : m_objects) { + max_height = std::max(max_height, unscale_(double(object->size().z()))); + layer_height = std::min(layer_height, object->config().layer_height.value); } - if (max_height < EPSILON) return m_wipe_tower_data; + if (max_height < EPSILON) + return m_wipe_tower_data; - double layer_height = 0.08f; // hard code layer height - layer_height = m_objects.front()->config().layer_height.value; - - auto timelapse_type = config().option>("timelapse_type"); - bool need_wipe_tower = (timelapse_type ? (timelapse_type->value == TimelapseType::tlSmooth) : false) | (m_config.wipe_tower_wall_type.value == WipeTowerWallType::wtwRib); - double extra_spacing = config().option("prime_tower_infill_gap")->getFloat() / 100.; - double rib_width = config().option("wipe_tower_rib_width")->getFloat(); - - double filament_change_volume = 0.; - { - std::vector filament_change_lengths; - auto filament_change_lengths_opt = config().option("filament_change_length"); - if (filament_change_lengths_opt) filament_change_lengths = filament_change_lengths_opt->values; - double length = filament_change_lengths.empty() ? 0 : *std::max_element(filament_change_lengths.begin(), filament_change_lengths.end()); - double diameter = 1.75; - std::vector diameters; - auto filament_diameter_opt = config().option("filament_diameter"); - if (filament_diameter_opt) diameters = filament_diameter_opt->values; - diameter = diameters.empty() ? diameter : *std::max_element(diameters.begin(), diameters.end()); - filament_change_volume = length * PI * diameter * diameter / 4.; - } - - - if (! is_step_done(psWipeTower) && filaments_cnt !=0) { - double wipe_volume = m_config.prime_volume; - int filament_depth_count = m_config.nozzle_diameter.values.size() == 2 ? filaments_cnt : filaments_cnt - 1; - if (filaments_cnt == 1 && enable_timelapse_print()) filament_depth_count = 1; - double volume = wipe_volume * filament_depth_count; - if (m_config.nozzle_diameter.values.size() == 2) volume += filament_change_volume * (int) (filaments_cnt / 2); - - // Sizing should take into account currently set wiping volumes. - // For a long time, the initial preview would just use 900/width per toolchange (15mm on a 60mm wide tower) - // and it worked well enough. Let's try to do slightly better by accounting for the purging volumes. - const bool semm_flush = m_config.purge_in_prime_tower && m_config.single_extruder_multi_material; - if (semm_flush) volume = WipeTower2::estimate_semm_flush_volume(m_config, filaments_cnt); - - if (m_config.wipe_tower_wall_type.value == WipeTowerWallType::wtwRib) { - double depth = std::sqrt(volume / layer_height * extra_spacing); - if (need_wipe_tower || filaments_cnt > 1) { - float min_wipe_tower_depth = WipeTower::get_limit_depth_by_height(max_height); - depth = std::max((double) min_wipe_tower_depth, depth); - depth += rib_width / std::sqrt(2) + config().wipe_tower_extra_rib_length.value; - const_cast(this)->m_wipe_tower_data.depth = depth; - const_cast(this)->m_wipe_tower_data.brim_width = m_config.prime_tower_brim_width; - } - } - else { - double width = m_config.prime_tower_width; - double depth = volume / (layer_height * width); - // The flush volumes already hold the spacing between wipes. - if (!semm_flush) depth *= extra_spacing; - if (need_wipe_tower || depth > EPSILON) { - float min_wipe_tower_depth = WipeTower::get_limit_depth_by_height(max_height); - depth = std::max((double) min_wipe_tower_depth, depth); - } - const_cast(this)->m_wipe_tower_data.depth = depth; - const_cast(this)->m_wipe_tower_data.brim_width = m_config.prime_tower_brim_width; - } - if (m_config.prime_tower_brim_width < 0) const_cast(this)->m_wipe_tower_data.brim_width = WipeTower::get_auto_brim_by_height(max_height); - } + const WipeTowerFootprint footprint = estimate_wipe_tower_footprint(m_config, this->wipe_tower_type(), this->extruders(true), layer_height, max_height); + WipeTowerData &data = const_cast(this)->m_wipe_tower_data; + data.depth = float(footprint.depth); + data.width = float(footprint.width); + data.brim_width = float(footprint.brim_width); return m_wipe_tower_data; } @@ -4290,6 +4689,7 @@ void Print::_make_wipe_tower() m_wipe_tower_data.tool_changes.reserve(m_wipe_tower_data.tool_ordering.layer_tools().size()); wipe_tower.generate_new(m_wipe_tower_data.tool_changes); m_wipe_tower_data.depth = wipe_tower.get_depth(); + m_wipe_tower_data.width = wipe_tower.width(); m_wipe_tower_data.brim_width = wipe_tower.get_brim_width(); m_wipe_tower_data.bbx = wipe_tower.get_bbx(); m_wipe_tower_data.rib_offset = wipe_tower.get_rib_offset(); @@ -4403,6 +4803,7 @@ void Print::_make_wipe_tower() m_wipe_tower_data.tool_changes.reserve(m_wipe_tower_data.tool_ordering.layer_tools().size()); wipe_tower.generate(m_wipe_tower_data.tool_changes); m_wipe_tower_data.depth = wipe_tower.get_depth(); + m_wipe_tower_data.width = wipe_tower.width(); m_wipe_tower_data.z_and_depth_pairs = wipe_tower.get_z_and_depth_pairs(); m_wipe_tower_data.brim_width = wipe_tower.get_brim_width(); m_wipe_tower_data.height = wipe_tower.get_wipe_tower_height(); @@ -4438,7 +4839,9 @@ void Print::_make_wipe_tower() wipe_tower.get_wipe_tower_height(), wipe_tower.get_brim_width(), config().wipe_tower_wall_type.value == WipeTowerWallType::wtwRib, wipe_tower.get_rib_width(), wipe_tower.get_rib_length(), - config().wipe_tower_fillet_wall.value); + config().wipe_tower_fillet_wall.value, + config().wipe_tower_wall_type.value == WipeTowerWallType::wtwCone ? + (float) config().wipe_tower_cone_angle.value : 0.f); const Vec3d origin = Vec3d::Zero(); // FakeWipeTower::pos is a bed-frame translation applied after rotation // (getFakeExtrusionPathsFromWipeTower2 rotates about the local origin), so the @@ -4451,6 +4854,28 @@ void Print::_make_wipe_tower() config().wipe_tower_rotation_angle, config().wipe_tower_cone_angle, {scale_(origin.x()), scale_(origin.y())}); } + + // The clamps and checks above work from estimates; re-test the exact generated footprint + // so an off-plate tower fails with a clear error instead of exporting unprintable G-code + // (validate() only sees the mesh on its next run). + if (m_wipe_tower_data.wipe_tower_mesh_data) { + Polygon footprint = m_wipe_tower_data.wipe_tower_mesh_data->bottom; // includes brim and rib offset + footprint.rotate(Geometry::deg2rad(m_config.wipe_tower_rotation_angle.value)); + footprint.translate(Point(scale_(m_config.wipe_tower_x.get_at(m_plate_index)), + scale_(m_config.wipe_tower_y.get_at(m_plate_index)))); + const Polygons printable_polys = this->get_extruder_shared_printable_polygon(); + if (!printable_polys.empty() && !diff(Polygons{footprint}, printable_polys).empty()) { + const BoundingBox fp = get_extents(footprint); + const BoundingBox pr = get_extents(printable_polys); + BOOST_LOG_TRIVIAL(error) << boost::format("wipe tower footprint [%1%,%2%]-[%3%,%4%] leaves printable [%5%,%6%]-[%7%,%8%]") % + unscaled(fp.min.x()) % unscaled(fp.min.y()) % unscaled(fp.max.x()) % unscaled(fp.max.y()) % + unscaled(pr.min.x()) % unscaled(pr.min.y()) % unscaled(pr.max.x()) % unscaled(pr.max.y()); + throw Slic3r::SlicingError(L("Prime Tower") + L(" is partially outside the printable area, and it cannot be printed.\n")); + } + // The cutter/purge corner is a physical obstacle — the brim must stay out like the body. + if (!intersection(get_bed_excluded_area(m_config), Polygons{footprint}).empty()) + throw Slic3r::SlicingError(L("Prime Tower") + L(" is too close to an exclusion area, and collisions will be caused.\n")); + } } // Generate a recommended G-code output file name based on the format template, default extension, and template parameters @@ -4523,6 +4948,15 @@ void Print::set_gcode_file_invalidated() //BBS: add gcode file preload logic void Print::export_gcode_from_previous_file(const std::string& file, GCodeProcessorResult* result, ThumbnailsGeneratorCallback thumbnail_cb) { + { + LifecycleEventContext ctx; + ctx.name = std::to_string(m_model.id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = file; + ctx.cancellation_check = [this]() { return canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportStarted, ctx); + } + try { GCodeProcessor processor; GCodeProcessor::s_IsBBLPrinter = is_BBL_printer(); @@ -4542,13 +4976,30 @@ void Print::export_gcode_from_previous_file(const std::string& file, GCodeProces *result = std::move(processor.extract_result()); result->filament_change_sequence = filament_seq_loaded; result->nozzle_change_sequence = nozzle_seq_loaded; - } catch (std::exception & /* ex */) { + } catch (std::exception &ex) { BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(": found errors when process gcode file %1%") %file.c_str(); + { + LifecycleEventContext ctx; + ctx.name = std::to_string(m_model.id().id); + ctx.code = LifecycleEvtCode::Error; + ctx.msg = file + "\n" + ex.what(); + ctx.cancellation_check = [this]() { return canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } throw Slic3r::RuntimeError( std::string("Failed to process the G-code file ") + file + " from previous 3mf\n"); } BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": process the G-code file %1% successfully")%file.c_str(); + + { + LifecycleEventContext ctx; + ctx.name = std::to_string(m_model.id().id); + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = file; + ctx.cancellation_check = [this]() { return canceled(); }; + fire_lifecycle_event(LifecycleEvent::GCodeExportFinished, ctx); + } } std::tuple Print::object_skirt_offset(double margin_height) const @@ -5999,17 +6450,26 @@ ExtrusionLayers FakeWipeTower::getTrueExtrusionLayersFromWipeTower() const } return wtels; } -void WipeTowerData::construct_mesh(float width, float depth, float height, float brim_width, bool is_rib_wipe_tower, float rib_width, float rib_length,bool fillet_wall) +void WipeTowerData::construct_mesh(float width, float depth, float height, float brim_width, bool is_rib_wipe_tower, float rib_width, float rib_length,bool fillet_wall, float cone_angle) { wipe_tower_mesh_data = WipeTowerMeshData{}; float first_layer_height=0.08; //brim height if (width < EPSILON || depth < EPSILON || height < EPSILON) return; - if (!is_rib_wipe_tower || rib_length < EPSILON) { + if (cone_angle > EPSILON && (!is_rib_wipe_tower || rib_length < EPSILON)) { + // Cone tower: the base bulges past the body box; this bottom polygon feeds the + // containment checks, so it must carry the bulge and the brim (cone not lofted). + wipe_tower_mesh_data->real_wipe_tower_mesh = make_cube(width, depth, height); + wipe_tower_mesh_data->bottom = WipeTower2::cone_base_polygon(width, depth, height, cone_angle); + auto brim_bottom = offset(wipe_tower_mesh_data->bottom, scaled(brim_width)); + if (!brim_bottom.empty()) + wipe_tower_mesh_data->bottom = brim_bottom.front(); + wipe_tower_mesh_data->real_brim_mesh = WipeTower::its_make_rib_brim(wipe_tower_mesh_data->bottom, first_layer_height); + } else if (!is_rib_wipe_tower || rib_length < EPSILON) { wipe_tower_mesh_data->real_wipe_tower_mesh = make_cube(width, depth, height); wipe_tower_mesh_data->real_brim_mesh = make_cube(width + 2 * brim_width, depth + 2 * brim_width, first_layer_height); wipe_tower_mesh_data->real_brim_mesh.translate({-brim_width, -brim_width, 0}); - wipe_tower_mesh_data->bottom = {scaled(Vec2f{-brim_width, -brim_width}), scaled(Vec2f{width + brim_width, 0}), scaled(Vec2f{width + brim_width, depth + brim_width}), - scaled(Vec2f{0, depth})}; + wipe_tower_mesh_data->bottom = {scaled(Vec2f{-brim_width, -brim_width}), scaled(Vec2f{width + brim_width, -brim_width}), + scaled(Vec2f{width + brim_width, depth + brim_width}), scaled(Vec2f{-brim_width, depth + brim_width})}; } else { wipe_tower_mesh_data->real_wipe_tower_mesh = WipeTower::its_make_rib_tower(width, depth, height, rib_length, rib_width, fillet_wall); wipe_tower_mesh_data->bottom = WipeTower::rib_section(width, depth, rib_length, rib_width, fillet_wall); diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index 9e20061501..12be35ea3c 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -30,6 +30,8 @@ namespace Slic3r { +class SlicingErrors; + class GCode; class Layer; class ModelObject; @@ -782,6 +784,9 @@ struct WipeTowerData // Depth of the wipe tower to pass to GLCanvas3D for exact bounding box: float depth; + // Effective width (a rib wall squares the tower): the estimate until generation, then the + // generated width, so it never disagrees with depth. + float width; std::vector> z_and_depth_pairs; float brim_width; float height; @@ -795,12 +800,13 @@ struct WipeTowerData used_filament.clear(); number_of_toolchanges = -1; depth = 0.f; + width = 0.f; brim_width = 0.f; height = 0.f; rib_offset = Vec2f::Zero(); wipe_tower_mesh_data = std::nullopt; } - void construct_mesh(float width, float depth, float height, float brim_width, bool is_rib_wipe_tower, float rib_width, float rib_length, bool fillet_wall); + void construct_mesh(float width, float depth, float height, float brim_width, bool is_rib_wipe_tower, float rib_width, float rib_length, bool fillet_wall, float cone_angle = 0.f); private: // Only allow the WipeTowerData to be instantiated internally by Print, @@ -963,6 +969,8 @@ public: // Returns an empty string if valid, otherwise returns an error message. StringObjectException validate(std::vector *warnings = nullptr, Polygons* collison_polygons = nullptr, std::vector>* height_polygons = nullptr) const override; + // The per-object messages of a SlicingErrors, each prefixed with its object's name. + std::string slicing_errors_message(const SlicingErrors &errors) const; double skirt_first_layer_height() const; Flow brim_flow() const; Flow skirt_flow() const; @@ -1156,6 +1164,8 @@ public: //BBS static StringObjectException sequential_print_clearance_valid(const Print &print, Polygons *polygons = nullptr, std::vector>* height_polygons = nullptr); + // Orca: pre-slice clearance check for a prime tower compacted by "No sparse layers". + static StringObjectException compacted_wipe_tower_clearance_valid(const Print &print, Polygons *polygons = nullptr, std::vector>* height_polygons = nullptr); ConflictResultOpt get_conflict_result() const { return m_conflict_result; } // Return 4 wipe tower corners in the world coordinates (shifted and rotated), including the wipe tower brim. @@ -1170,6 +1180,8 @@ public: void set_calib_params(const Calib_Params& params); const Calib_Params& calib_params() const { return m_calib_params; } Vec2d translate_to_print_space(const Vec2d &point) const; + // Orca: precise counterpart of compacted_wipe_tower_clearance_valid(), run once the tower exists. + void validate_compacted_wipe_tower_clearance() const; float get_wipe_tower_depth() const { return m_wipe_tower_data.depth; } BoundingBoxf get_wipe_tower_bbx() const { return m_wipe_tower_data.bbx; } Vec2f get_rib_offset() const { return m_wipe_tower_data.rib_offset; } @@ -1390,6 +1402,89 @@ public: }; +// --------------------------------------------------------------------------------------------- +// Clearance rule for a prime tower compacted by wipe_tower_no_sparse_layers. Shared by the precise +// check that runs on the real extrusions, the pre-slice estimate that feeds the plater with collision +// polygons, and the plater's own live preview while the user drags the tower or an object around. +// Keeping the rule in one place is what stops those three from drifting apart and reporting different +// things for the same plate. +// --------------------------------------------------------------------------------------------- + +// Half of a clearance distance, the share each of the two outlines carries. Sequential printing splits +// extruder_clearance_radius between the two object hulls this way; the tower checks split their +// clearances between the tower ring and the instance hull for the same reason, so that the two +// outlines the plater draws touch precisely when the check trips. The 0.2 mm comes off first: it is +// the rounding slack the sequential check applies, 0.1 mm per side. +inline double compacted_tower_half_clearance(double clearance) { return 0.5 * (clearance - 0.2); } + +// Keep-out geometry a compacted tower projects onto the plate, derived from its bare footprint. +struct CompactedTowerZone +{ + // Footprint the checks work on: the raw outline grown by the spiral Z-hop envelope. + Polygon hull; + // hull grown by half the toolhead radius; an object whose own half-grown hull reaches into it is + // hit by the head body. This is also the ring the plater draws. + Polygons grown_body; + // hull grown by half the bare nozzle cone radius, the innermost tier. + Polygons grown_nozzle; + // hull bounding box, the Y band the rod sweeps. + BoundingBox bbox_rod; + // Full body clearance, of which grown_body carries half. Which of the two tiers applies is decided + // per object rather than here; see compacted_wipe_tower_clearance(). + double body_radius { 0. }; + + bool empty() const { return hull.points.empty(); } +}; + +// Per-side padding a bare wipe tower outline needs before the clearance checks may treat it as the +// tower's footprint. Callers whose outline already carries the first-layer brim pass zero for it. +// Shared by the pre-slice estimate and the plater's live preview: both start from an outline that +// falls short of the printed tower in the same two ways, and padding them by different amounts is +// exactly how the preview and the validation behind it would end up disagreeing. +double compacted_tower_footprint_padding(const PrintConfig &config, double brim_width); + +// Grow a bare tower footprint (bed frame, scaled) into its keep-out zone. +CompactedTowerZone compacted_wipe_tower_zone(const PrintConfig &config, const Polygon &tower_footprint); + +// How far an object may rise above the compacted tower base before the toolhead hits it. +struct CompactedTowerClearance +{ + // Height the object may reach above the tower base. Zero means it may not rise at all. + double allowed_rise; + // Clearance that applies once the object stands clear of the toolhead in XY, i.e. rod or lid. + double far_clearance; + // The object sits within the toolhead radius, so the head body limits it rather than the rod. + bool near_body; + // Horizontal clearance this particular object has to keep from the tower: the full toolhead + // radius once it rises past the nozzle cone, the bare cone while it stays below. It is what the + // error message quotes and what the plater grows the object outline by. + double body_clearance; +}; + +// object_rise is the height above the tower base that the caller is going to compare against +// allowed_rise. It also selects the horizontal tier, so the two cannot disagree. +CompactedTowerClearance compacted_wipe_tower_clearance(const PrintConfig &config, const CompactedTowerZone &zone, + const Polygon &inst_hull, double object_rise); + +// This object was judged on a tier reaching past the bare nozzle cone, so the wide ring is the one its +// outline has to be drawn against. +inline bool compacted_tower_body_tier(const CompactedTowerClearance &clearance) +{ + return clearance.body_clearance > double(MAX_OUTER_NOZZLE_DIAMETER); +} + +// Keep-out rings to draw around the tower. The nozzle one always applies; the wide body one is drawn +// only when some object on the plate is actually measured against it, otherwise it would show a +// keep-out zone no object can violate. +Polygons compacted_wipe_tower_rings(const CompactedTowerZone &zone, bool any_body_tier); + +// Outline to hand the plater for an offending object: the instance hull grown by the same half +// clearance the check grew it by, which is CompactedTowerClearance::body_clearance for that object. +// Sequential printing reports its hulls the same way, and it doubles as the fix for the bare hull +// being unusable on screen, where drawn flat it hides under the object and drawn at the height limit +// it ends up buried inside the mesh. +Polygon compacted_wipe_tower_offender_outline(const Polygon &inst_hull, double body_clearance); + } /* slic3r_Print_hpp_ */ #endif diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 1db476eede..1d994d7874 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -152,6 +152,7 @@ static t_config_enum_values s_keys_map_PrintHostType { { "octoprint", htOctoPrint }, { "crealityprint", htCrealityPrint }, { "duet", htDuet }, + { "ultimaker", htUltiMaker }, { "flashair", htFlashAir }, { "astrobox", htAstroBox }, { "repetier", htRepetier }, @@ -1521,7 +1522,7 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(1)); - def = this->add("top_solid_infill_flow_ratio", coFloat); + def = this->add("top_solid_infill_flow_ratio", coFloats); def->label = L("Top surface flow ratio"); def->category = L("Advanced"); def->tooltip = L("This factor affects the amount of material for top solid infill. " @@ -1530,7 +1531,8 @@ void PrintConfigDef::init_fff_params() def->min = 0; def->max = 2; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionFloat(1)); + def->nullable = true; + def->set_default_value(new ConfigOptionFloatsNullable{1}); def = this->add("bottom_solid_infill_flow_ratio", coFloat); def->label = L("Bottom surface flow ratio"); @@ -2549,6 +2551,16 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back("5"); def->mode = comAdvanced; + // Orca: already carried by the BBL/Qidi/Geeetech/Eryone machine profiles, which inherited it from + // the BambuStudio import; without a definition here it was parsed as an unknown key and dropped. + def = this->add("extruder_clearance_dist_to_rod", coFloat); + def->label = L("Distance to rod"); + def->tooltip = L("Horizontal distance of the nozzle tip to the rod's farther edge. Used for collision avoidance in by-object printing."); + def->sidetext = L("mm"); // millimeters, CIS languages need translation + def->min = 0; + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloat(40)); + def = this->add("extruder_clearance_height_to_rod", coFloat); def->label = L("Height to rod"); def->tooltip = L("Distance from the nozzle tip to the lower rod. Used for collision avoidance in by-object printing."); @@ -5391,6 +5403,7 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("prusaconnect"); def->enum_values.push_back("octoprint"); def->enum_values.push_back("duet"); + def->enum_values.push_back("ultimaker"); def->enum_values.push_back("flashair"); def->enum_values.push_back("astrobox"); def->enum_values.push_back("repetier"); @@ -5407,6 +5420,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back("PrusaConnect"); def->enum_labels.push_back("Octo/Klipper"); def->enum_labels.push_back("Duet"); + def->enum_labels.push_back("UltiMaker"); def->enum_labels.push_back("FlashAir"); def->enum_labels.push_back("AstroBox"); def->enum_labels.push_back("Repetier"); @@ -5430,7 +5444,7 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->readonly = false; def->nullable = true; - def->set_default_value(new ConfigOptionFloatsNullable { {0.0} }); + def->set_default_value(new ConfigOptionFloatsNullable { 0.0 }); def = this->add("cooling_tube_retraction", coFloat); def->label = L("Cooling tube position"); @@ -5537,6 +5551,16 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(true)); + def = this->add("unsupported_wall_last", coBool); + def->label = L("Print unsupported walls last"); + def->category = L("Quality"); + def->tooltip = L("Wall loops that lie entirely in mid air are printed once something can hold them:\n" + "they are extruded after the other walls of their island, innermost first, whatever the wall order is.\n" + "A loop that only the bridges of this layer can anchor waits until those bridges are printed, while a loop running " + "alongside a supported wall keeps its place before the infill, which needs it as an anchor."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("outer_wall_filament_id", coInt); def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Outer walls"); @@ -6267,6 +6291,36 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); + def = this->add("wipe_inward", coBool); + def->label = L("Wipe inward"); + def->category = L("Quality"); + def->tooltip = L("Applies only to external walls, including hole boundaries. Moves the hot nozzle toward printed " + "inner walls during wiping to reduce reheating of freshly printed plastic and seam marks.\n\n" + "Especially useful at layer heights below 0.1 mm, where wipe marks are more visible.\n\n" + "Uses the regular wipe if no adjacent inner wall is already printed (single-wall areas or " + "Outer/Inner wall order), or if no supported inward path can be found, for example at tight " + "corners or seam gaps."); + def->mode = comExpert; + def->set_default_value(new ConfigOptionBool(false)); + + def = this->add("wipe_inward_distance", coFloatOrPercent); + def->label = L("Wipe inward distance"); + def->category = L("Quality"); + // xgettext:no-c-format, no-boost-format + def->tooltip = L("The distance the wipe path is shifted away from the external perimeter, specified in millimeters " + "or as a percentage of the actual outer-wall extrusion width.\n\n" + "For example, 50% shifts the path by half of the outer-wall width. The effective offset is limited " + "by both the actual outer-wall width and the available spacing to the adjacent wall, so values " + "above 100% or an equivalent absolute distance have no additional effect. " + "Set to 0 to disable the offset."); + def->sidetext = L("mm or %"); + def->ratio_over = "outer_wall_line_width"; + def->min = 0; + def->max = 100; + def->max_literal = 2; // Orca: G-code generation also clamps literal values to the actual outer-wall width. + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloatOrPercent(50, true)); + def = this->add("wipe_before_external_loop", coBool); def->label = L("Wipe before external loop"); def->category = L("Quality"); @@ -6557,7 +6611,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("G-code written at the very top of the output file, before any other content. " "Useful for adding metadata that printer firmware reads from the first lines of the file " "(e.g. estimated print time, filament usage). " - "Supports placeholders like {print_time_sec} and {used_filament_length}."); + "Supports placeholders like {print_time_total_sec}, {print_time_day}, {print_time_hour}, {print_time_minute}, {print_time_sec} and {used_filament_length}."); def->multiline = true; def->full_width = true; def->height = 8; @@ -6644,8 +6698,24 @@ void PrintConfigDef::init_fff_params() def = this->add("wipe_tower_no_sparse_layers", coBool); def->label = L("No sparse layers (beta)"); def->tooltip = L("If enabled, the wipe tower will not be printed on layers with no tool changes. " - "On layers with a tool change, extruder will travel downward to print the wipe tower. " - "User is responsible for ensuring there is no collision with the print."); + "On layers with a tool change, extruder will travel downward to print the wipe tower, " + "so the tower ends up below the model and the toolhead has to reach down to it. " + "Layouts where that would collide with an already printed object are rejected. " + "Has no effect with smooth timelapse or clumping detection, which need a tower on every layer."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(false)); + + def = this->add("wipe_tower_sparse_layers_combination", coBool); + def->label = L("Combine sparse layers"); + def->tooltip = L("If enabled, consecutive layers on which the prime tower has no filament change are printed as a single " + "thicker tower layer instead of one thin layer each, the same way infill combination merges sparse infill. " + "The merged layer is printed at the top of the run, at the height of everything it covers.\n\n" + "Only whole layers are merged, and never past the maximum layer height of the nozzle printing the tower " + "(three quarters of the nozzle diameter when that is left at 0). Two or more layers therefore have to fit " + "under that limit before anything changes at all: at a 0.2 mm layer height under a 0.3 mm maximum nothing " + "is merged, while at 0.1 mm three layers become one.\n\n" + "Unlike \"No sparse layers\" the tower keeps following the model, so the toolhead never has to reach down to it. " + "Has no effect with \"No sparse layers\", smooth timelapse or clumping detection, which need a tower on every layer."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); @@ -6671,6 +6741,34 @@ void PrintConfigDef::init_fff_params() def->enum_labels.emplace_back(L("Cyclic")); def->set_default_value(new ConfigOptionEnum(ToolChangeOrderingType::Default)); + def = this->add("toolchange_cyclic_order", coString); + def->label = L("Cyclic order"); + def->category = L("Advanced"); + def->tooltip = L( + "Custom filament sequence used by the cyclic toolchange ordering, as filament numbers separated by commas (e.g. \"3,2,1,4\").\n" + "Each layer prints its filaments following this sequence; filaments not listed are printed last, in ascending order.\n" + "Leave empty to cycle through the filaments in ascending order." + ); + def->mode = comExpert; + def->set_default_value(new ConfigOptionString("")); + + def = this->add("toolchange_cyclic_first_layer", coBool); + def->label = L("Apply cyclic order to first layer"); + def->category = L("Advanced"); + def->tooltip = L( + "Applies the cyclic toolchange order to the first layer as well.\n" + "By default this is disabled, because the first layer is instead ordered for the best bed " + "adhesion: filaments that print small, fragile first-layer features are printed last, so the " + "following tool changes and travel moves are less likely to knock those weakly anchored parts " + "loose. This first-layer order also honors a custom first layer filament sequence when one is set. " + "The cyclic order's benefit (extra tool changes give each layer more time to cool) does not apply " + "to the first layer, which is printed slowly and hot for adhesion.\n" + "Enable this only if you need the exact same tool sequence on every layer, including the first, at " + "the cost of that adhesion optimization." + ); + def->mode = comExpert; + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("slice_closing_radius", coFloat); def->label = L("Slice gap closing radius"); def->category = L("Quality"); @@ -6683,7 +6781,7 @@ void PrintConfigDef::init_fff_params() def = this->add("slicing_mode", coEnum); def->label = L("Slicing Mode"); - def->category = L("Other"); + def->category = L("Others"); def->tooltip = L("Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model."); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); def->enum_values.push_back("regular"); @@ -9044,6 +9142,8 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va value = "tree(auto)"; } else if (opt_key == "support_base_pattern" && value == "none") { value = "hollow"; + } else if (opt_key == "tree_support_wall_count" && value == "-1") { + value = "0"; } else if (opt_key == "different_settings_to_system") { std::string copy_value = value; copy_value.erase(std::remove(copy_value.begin(), copy_value.end(), '\"'), copy_value.end()); // remove '"' in string @@ -9312,7 +9412,8 @@ std::set print_options_with_variant = { "initial_layer_travel_jerk", "default_junction_deviation", "print_extruder_id", //coInts - "print_extruder_variant" //coStrings + "print_extruder_variant", //coStrings + "top_solid_infill_flow_ratio" }; std::set filament_options_with_variant = { @@ -10936,6 +11037,28 @@ std::vector DynamicPrintConfig::update_values_to_printer_extruders(DynamicP return variant_index; } +// Regathers a vector option's values through per-slot source indices (one input index per +// output slot). Out-of-range indices keep the first value, matching get_at's fallback. +template +static void gather_option_values(const char *caller, const std::string &key, OptType *opt, const std::vector &slot_param_indices) +{ + if (!opt || opt->values.empty()) { + BOOST_LOG_TRIVIAL(warning) << caller << boost::format(", Line %1%: option %2% not found or empty, skipping")%__LINE__%key; + return; + } + std::vector new_values; + new_values.reserve(slot_param_indices.size()); + for (int idx : slot_param_indices) { + if (idx < 0 || static_cast(idx) >= opt->values.size()) { + BOOST_LOG_TRIVIAL(warning) << caller << boost::format(", Line %1%: option %2% slot index %3% out of range, keeping first value")%__LINE__%key%idx; + new_values.emplace_back(opt->values.front()); + } + else + new_values.emplace_back(opt->values[idx]); + } + opt->values = std::move(new_values); +} + void DynamicPrintConfig::update_values_to_printer_extruders_for_multiple_filaments(DynamicPrintConfig& printer_config, int extruder_count, int extruder_nozzle_volume_count, std::set& key_set, std::string id_name, std::string variant_name) { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(", Line %1%: extruder_count %2%, extruder_nozzle_volume_count %3%")%__LINE__ %extruder_count %extruder_nozzle_volume_count; @@ -11013,155 +11136,18 @@ void DynamicPrintConfig::update_values_to_printer_extruders_for_multiple_filamen BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: can not find opt define for %2%")%__LINE__%key; continue; } + // An empty option has no first value to fall back on; give it one registered default per filament. + if (auto *vec = dynamic_cast(this->option(key)); vec && vec->empty() && optdef->default_value) + vec->resize(filament_count, optdef->default_value.get()); switch (optdef->type) { - case coStrings: - { - ConfigOptionStrings * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coInts: - { - ConfigOptionInts * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coFloats: - { - ConfigOptionFloats * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coPercents: - { - ConfigOptionPercents * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coFloatsOrPercents: - { - ConfigOptionFloatsOrPercents * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coBools: - { - ConfigOptionBools * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } - case coEnums: - { - ConfigOptionEnumsGeneric * opt = this->option(key); - if (!opt) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found, skipping")%__LINE__%key; - break; - } - std::vector new_values; - - new_values.resize(filament_count); - for (int f_index = 0; f_index < filament_count; f_index++) - { - if (variant_index[f_index] < 0 || static_cast(variant_index[f_index]) >= opt->size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% variant index %3% out of range, skipping")%__LINE__%key%variant_index[f_index]; - continue; - } - new_values[f_index] = opt->get_at(variant_index[f_index]); - } - opt->values = new_values; - break; - } + case coStrings: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coInts: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coFloats: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coPercents: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coFloatsOrPercents: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coBools: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; + case coEnums: gather_option_values(__FUNCTION__, key, this->option(key), variant_index); break; default: BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: unsupported option type for %2%")%__LINE__%key; break; @@ -11180,28 +11166,6 @@ void DynamicPrintConfig::update_values_to_printer_extruders_for_multiple_filamen } } -// Regathers a vector option's values through per-slot source indices (one input index per -// output slot). Out-of-range indices keep the first value, matching get_at's fallback. -template -static void gather_option_values(const std::string &key, OptType *opt, const std::vector &slot_param_indices) -{ - if (!opt || opt->values.empty()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% not found or empty, skipping")%__LINE__%key; - return; - } - std::vector new_values; - new_values.reserve(slot_param_indices.size()); - for (int idx : slot_param_indices) { - if (idx < 0 || static_cast(idx) >= opt->values.size()) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: option %2% slot index %3% out of range, keeping first value")%__LINE__%key%idx; - new_values.emplace_back(opt->values.front()); - } - else - new_values.emplace_back(opt->values[idx]); - } - opt->values = std::move(new_values); -} - void DynamicPrintConfig::update_filament_config_values_for_multiple_extruders(DynamicPrintConfig& printer_config, const std::unordered_map>& filament_variant_uses, int extruder_count, int extruder_nozzle_volume_count, @@ -11296,13 +11260,13 @@ void DynamicPrintConfig::update_filament_config_values_for_multiple_extruders(Dy continue; } switch (optdef->type) { - case coStrings: gather_option_values(key, this->option(key), slot_param_indices); break; - case coInts: gather_option_values(key, this->option(key), slot_param_indices); break; - case coFloats: gather_option_values(key, this->option(key), slot_param_indices); break; - case coPercents: gather_option_values(key, this->option(key), slot_param_indices); break; - case coFloatsOrPercents: gather_option_values(key, this->option(key), slot_param_indices); break; - case coBools: gather_option_values(key, this->option(key), slot_param_indices); break; - case coEnums: gather_option_values(key, this->option(key), slot_param_indices); break; + case coStrings: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coInts: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coFloats: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coPercents: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coFloatsOrPercents: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coBools: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; + case coEnums: gather_option_values(__FUNCTION__, key, this->option(key), slot_param_indices); break; default: BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: unsupported option type for %2%")%__LINE__%key; break; @@ -12031,6 +11995,19 @@ CLIActionsConfigDef::CLIActionsConfigDef() def->tooltip = L("Do not run any validity checks, such as G-code path conflicts check."); def->set_default_value(new ConfigOptionBool(false)); + // --strict turns the non-critical slicing warnings the CLI otherwise only logs into a + // failed run, and records strict_mode in result.json so consumers can tell the modes apart. + def = this->add("strict", coBool); + def->label = L("Strict mode"); + def->tooltip = L("Exit non-zero when slicing raises a non-critical warning that is " + "otherwise only logged, such as a model that needs support while " + "support is disabled. Use this in CI or scripted pipelines that should " + "never ship a subtly broken slice. Each such warning is also listed " + "with a stable class in the `warnings` array of result.json, which is " + "written on Linux only. Cannot be combined with --no-check, which skips " + "the support check."); + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("normative_check", coBool); def->label = L("Normative check"); def->tooltip = L("Check the normative items."); @@ -12051,9 +12028,29 @@ CLIActionsConfigDef::CLIActionsConfigDef() def->tooltip = L("This outputs the model\u2019s information."); def->set_default_value(new ConfigOptionBool(false)); + def = this->add("inspect_mesh", coBool); + def->label = L("Inspect mesh (JSON to stdout)"); + def->tooltip = L("Print a JSON summary of each loaded object to stdout, then exit: its bounding boxes and the " + "convex hull faces it can be laid on, with their normals, areas and centers. These are the faces " + "the --ground-* options choose from. Machine-readable alternative to --info."); + def->set_default_value(new ConfigOptionBool(false)); + + // --inspect-paint \u2014 dump the per-facet enforcer/blocker/extruder/fuzzy + // paint state stored on the loaded model (supports, seam, MMU color, + // fuzzy-skin) as JSON. Read-only; lets CI / scripted / AI tooling + // reason about existing paint on a .3mf without loading the GUI. + def = this->add("inspect_paint", coBool); + def->label = L("Inspect paint (JSON to stdout)"); + def->tooltip = L("Print a structured JSON summary of every painted layer " + "(supports, seam, MMU color, fuzzy-skin) already stored on " + "the loaded model \u2014 per-state facet count, surface area, " + "and mesh-local bounding box \u2014 then exit. Machine-readable " + "alternative to opening the paint gizmos in the GUI."); + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("export_settings", coString); def->label = L("Export Settings"); - def->tooltip = L("This exports settings to a file."); + def->tooltip = L("This exports settings to a file. Use - to write them to stdout."); def->cli_params = "settings.json"; def->set_default_value(new ConfigOptionString("output.json")); @@ -12170,6 +12167,34 @@ CLITransformConfigDef::CLITransformConfigDef() def->sidetext = u8"°"; // degrees, don't need translation def->set_default_value(new ConfigOptionFloat(0)); + // The --ground-* options choose from the faces the "Lay on Face" gizmo offers. Like the other + // transforms they run in command-line order, so they see the rotations given before them. + def = this->add("ground_largest_face", coBool); + def->label = L("Ground largest face"); + def->tooltip = L("Lay each object on the largest face of its convex hull and drop it onto the bed. Of equally large " + "faces, the one already facing down is kept. Objects without a face large enough to rest on are left " + "as they are. Transforms run in command-line order, so rotations given before this option are respected. " + "--orient 1 runs after all transforms and replaces the orientation."); + def->set_default_value(new ConfigOptionBool(false)); + + def = this->add("ground_face_normal", coString); + def->label = L("Ground face by normal"); + def->tooltip = L("Lay each object on the convex hull face whose outward normal is closest to the direction NX,NY,NZ " + "and drop it onto the bed. The direction is in object coordinates, which include the rotations given " + "before this option and match the plate axes unless the input file rotates the object. For example, " + "1,0,0 stands the object on its +X side. --orient 1 runs after all transforms and replaces the orientation."); + def->cli_params = "NX,NY,NZ"; + def->set_default_value(new ConfigOptionString("")); + + def = this->add("ground_face_point", coString); + def->label = L("Ground face at point"); + def->tooltip = L("Lay each object on the convex hull face that contains the point X,Y,Z and drop it onto the bed. " + "The point is in object coordinates, which include the rotations given before this option; " + "--inspect-mesh reports face centers in them. Objects without such a face are left as they are, and " + "the run fails if no object has one. --orient 1 runs after all transforms and replaces the orientation."); + def->cli_params = "X,Y,Z"; + def->set_default_value(new ConfigOptionString("")); + def = this->add("scale", coFloat); def->label = L("Scale"); def->tooltip = L("Scale the model by a float factor."); @@ -12340,6 +12365,12 @@ CLIMiscConfigDef::CLIMiscConfigDef() def->tooltip = L("If enabled, Arrange will allow rotation when placing objects."); def->set_default_value(new ConfigOptionBool(true)); + def = this->add("align_to_y_axis", coBool); + def->label = L("Align to Y axis when arranging"); + def->tooltip = L("If enabled, Arrange will turn each object so its long side runs along the Y axis before placing it. " + "When not given, it is on for i3 printers and off for the others, as in the GUI."); + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("avoid_extrusion_cali_region", coBool); def->label = L("Avoid extrusion calibrate region when arranging"); def->tooltip = L("If enabled, Arrange will avoid extrusion calibrate region when placing objects."); @@ -12552,10 +12583,26 @@ PrintStatisticsConfigDef::PrintStatisticsConfigDef() def->label = L("Used filament"); def->tooltip = L("Total length of filament used in the print."); - def = this->add("print_time_sec", coString); - def->label = L("Print time (seconds)"); + def = this->add("print_time_total_sec", coString); + def->label = L("Print time (total seconds)"); def->tooltip = L("Total estimated print time in seconds. Replaced with actual value during post-processing."); + def = this->add("print_time_day", coString); + def->label = L("Print time (days component)"); + def->tooltip = L("Estimated print time day component (normal mode). Replaced with actual value during post-processing."); + + def = this->add("print_time_hour", coString); + def->label = L("Print time (hours component)"); + def->tooltip = L("Estimated print time hour component (normal mode). Replaced with actual value during post-processing."); + + def = this->add("print_time_minute", coString); + def->label = L("Print time (minutes component)"); + def->tooltip = L("Estimated print time minute component (normal mode). Replaced with actual value during post-processing."); + + def = this->add("print_time_sec", coString); + def->label = L("Print time (seconds component)"); + def->tooltip = L("Estimated print time second component (normal mode). Replaced with actual value during post-processing."); + def = this->add("used_filament_length", coString); def->label = L("Filament length (meters)"); def->tooltip = L("Total filament length used in meters. Replaced with actual value during post-processing."); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index f7cbe8b2e5..679811d699 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -98,7 +98,7 @@ enum class WipeTowerType { }; enum PrintHostType { - htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier, htMKS, htESP3D, htCrealityPrint, htObico, htFlashforge, htSimplyPrint, htElegooLink, ht3DPrinterOS, htMoonraker + htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htUltiMaker, htFlashAir, htAstroBox, htRepetier, htMKS, htESP3D, htCrealityPrint, htObico, htFlashforge, htSimplyPrint, htElegooLink, ht3DPrinterOS, htMoonraker }; enum AuthorizationType { @@ -163,6 +163,7 @@ inline bool is_smoothable_infill_pattern(InfillPattern pattern, int multiline = case ipGrid: case ipTriangles: case ipStars: + case ipCubic: return multiline > 1; default: return false; @@ -1011,41 +1012,46 @@ public: \ { PrintConfigDef::handle_legacy(opt_key, value); } #define PRINT_CONFIG_CLASS_ELEMENT_DEFINITION(r, data, elem) BOOST_PP_TUPLE_ELEM(0, elem) BOOST_PP_TUPLE_ELEM(1, elem); -#define PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION2(KEY) cache.opt_add(BOOST_PP_STRINGIZE(KEY), base_ptr, this->KEY); -#define PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION(r, data, elem) PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION2(BOOST_PP_TUPLE_ELEM(1, elem)) -#define PRINT_CONFIG_CLASS_ELEMENT_HASH(r, data, elem) boost::hash_combine(seed, BOOST_PP_TUPLE_ELEM(1, elem).hash()); -#define PRINT_CONFIG_CLASS_ELEMENT_EQUAL(r, data, elem) if (! (BOOST_PP_TUPLE_ELEM(1, elem) == rhs.BOOST_PP_TUPLE_ELEM(1, elem))) return false; -#define PRINT_CONFIG_CLASS_ELEMENT_LOWER(r, data, elem) \ - if (BOOST_PP_TUPLE_ELEM(1, elem) < rhs.BOOST_PP_TUPLE_ELEM(1, elem)) return true; \ - if (! (BOOST_PP_TUPLE_ELEM(1, elem) == rhs.BOOST_PP_TUPLE_ELEM(1, elem))) return false; +#define PRINT_CONFIG_CLASS_ELEMENT_VISIT(r, data, elem) if (! f(BOOST_PP_STRINGIZE(BOOST_PP_TUPLE_ELEM(1, elem)), this->BOOST_PP_TUPLE_ELEM(1, elem), rhs.BOOST_PP_TUPLE_ELEM(1, elem))) return; +// Each option list is expanded into the members and again into for_each_option_pair(), which calls +// f(key, this->option, rhs.option) in declaration order and stops when f returns false. hash(), +// operator==, operator< and initialize() iterate the options through that visitor. +#define PRINT_CONFIG_CLASS_COMMON_BODY(CLASS_NAME) \ + size_t hash() const throw() \ + { \ + size_t seed = 0; \ + this->for_each_option_pair(*this, [&seed](const char*, const auto &a, const auto&) { boost::hash_combine(seed, a.hash()); return true; }); \ + return seed; \ + } \ + bool operator==(const CLASS_NAME &rhs) const throw() \ + { \ + bool eq = true; \ + this->for_each_option_pair(rhs, [&eq](const char*, const auto &a, const auto &b) { eq = (a == b); return eq; }); \ + return eq; \ + } \ + bool operator!=(const CLASS_NAME &rhs) const throw() { return ! (*this == rhs); } \ + bool operator<(const CLASS_NAME &rhs) const throw() \ + { \ + int c = 0; \ + this->for_each_option_pair(rhs, [&c](const char*, const auto &a, const auto &b) { if (a < b) c = -1; else if (! (a == b)) c = 1; return c == 0; }); \ + return c < 0; \ + } \ +protected: \ + void initialize(StaticCacheBase &cache, const char *base_ptr) \ + { \ + this->for_each_option_pair(*this, [&cache, base_ptr](const char *key, const auto &a, const auto&) { cache.opt_add(key, base_ptr, a); return true; }); \ + } #define PRINT_CONFIG_CLASS_DEFINE(CLASS_NAME, PARAMETER_DEFINITION_SEQ) \ class CLASS_NAME : public StaticPrintConfig { \ STATIC_PRINT_CONFIG_CACHE(CLASS_NAME) \ public: \ BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_DEFINITION, _, PARAMETER_DEFINITION_SEQ) \ - size_t hash() const throw() \ + template void for_each_option_pair(const CLASS_NAME &rhs, F &&f) const \ { \ - size_t seed = 0; \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_HASH, _, PARAMETER_DEFINITION_SEQ) \ - return seed; \ - } \ - bool operator==(const CLASS_NAME &rhs) const throw() \ - { \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_EQUAL, _, PARAMETER_DEFINITION_SEQ) \ - return true; \ - } \ - bool operator!=(const CLASS_NAME &rhs) const throw() { return ! (*this == rhs); } \ - bool operator<(const CLASS_NAME &rhs) const throw() \ - { \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_LOWER, _, PARAMETER_DEFINITION_SEQ) \ - return false; \ - } \ -protected: \ - void initialize(StaticCacheBase &cache, const char *base_ptr) \ - { \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION, _, PARAMETER_DEFINITION_SEQ) \ + BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_VISIT, _, PARAMETER_DEFINITION_SEQ) \ } \ + PRINT_CONFIG_CLASS_COMMON_BODY(CLASS_NAME) \ }; #define PRINT_CONFIG_CLASS_DERIVED_CLASS_LIST_ITEM(r, data, i, elem) BOOST_PP_COMMA_IF(i) public elem @@ -1059,43 +1065,43 @@ protected: \ if (! (*static_cast(this) == static_cast(rhs))) return false; // Generic version, with or without new parameters. Don't use this directly. -#define PRINT_CONFIG_CLASS_DERIVED_DEFINE1(CLASS_NAME, CLASSES_PARENTS_TUPLE, PARAMETER_DEFINITION, PARAMETER_REGISTRATION, PARAMETER_HASHES, PARAMETER_EQUALS) \ +#define PRINT_CONFIG_CLASS_DERIVED_DEFINE1(CLASS_NAME, CLASSES_PARENTS_TUPLE, PARAMETER_DEFINITION, PARAMETER_VISIT) \ class CLASS_NAME : PRINT_CONFIG_CLASS_DERIVED_CLASS_LIST(CLASSES_PARENTS_TUPLE) { \ STATIC_PRINT_CONFIG_CACHE_DERIVED(CLASS_NAME) \ CLASS_NAME() : PRINT_CONFIG_CLASS_DERIVED_INITIALIZER(CLASSES_PARENTS_TUPLE, 0) { assert(s_cache_##CLASS_NAME.initialized()); *this = s_cache_##CLASS_NAME.defaults(); } \ public: \ PARAMETER_DEFINITION \ + template void for_each_option_pair(const CLASS_NAME &rhs, F &&f) const { PARAMETER_VISIT } \ size_t hash() const throw() \ { \ size_t seed = 0; \ BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_DERIVED_HASH, _, BOOST_PP_TUPLE_TO_SEQ(CLASSES_PARENTS_TUPLE)) \ - PARAMETER_HASHES \ + this->for_each_option_pair(*this, [&seed](const char*, const auto &a, const auto&) { boost::hash_combine(seed, a.hash()); return true; }); \ return seed; \ } \ bool operator==(const CLASS_NAME &rhs) const throw() \ { \ BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_DERIVED_EQUAL, _, BOOST_PP_TUPLE_TO_SEQ(CLASSES_PARENTS_TUPLE)) \ - PARAMETER_EQUALS \ - return true; \ + bool eq = true; \ + this->for_each_option_pair(rhs, [&eq](const char*, const auto &a, const auto &b) { eq = (a == b); return eq; }); \ + return eq; \ } \ bool operator!=(const CLASS_NAME &rhs) const throw() { return ! (*this == rhs); } \ protected: \ CLASS_NAME(int) : PRINT_CONFIG_CLASS_DERIVED_INITIALIZER(CLASSES_PARENTS_TUPLE, 1) {} \ void initialize(StaticCacheBase &cache, const char* base_ptr) { \ PRINT_CONFIG_CLASS_DERIVED_INITCACHE(CLASSES_PARENTS_TUPLE) \ - PARAMETER_REGISTRATION \ + this->for_each_option_pair(*this, [&cache, base_ptr](const char *key, const auto &a, const auto&) { cache.opt_add(key, base_ptr, a); return true; }); \ } \ }; // Variant without adding new parameters. #define PRINT_CONFIG_CLASS_DERIVED_DEFINE0(CLASS_NAME, CLASSES_PARENTS_TUPLE) \ - PRINT_CONFIG_CLASS_DERIVED_DEFINE1(CLASS_NAME, CLASSES_PARENTS_TUPLE, BOOST_PP_EMPTY(), BOOST_PP_EMPTY(), BOOST_PP_EMPTY(), BOOST_PP_EMPTY()) + PRINT_CONFIG_CLASS_DERIVED_DEFINE1(CLASS_NAME, CLASSES_PARENTS_TUPLE, BOOST_PP_EMPTY(), BOOST_PP_EMPTY()) // Variant with adding new parameters. #define PRINT_CONFIG_CLASS_DERIVED_DEFINE(CLASS_NAME, CLASSES_PARENTS_TUPLE, PARAMETER_DEFINITION_SEQ) \ PRINT_CONFIG_CLASS_DERIVED_DEFINE1(CLASS_NAME, CLASSES_PARENTS_TUPLE, \ BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_DEFINITION, _, PARAMETER_DEFINITION_SEQ), \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION, _, PARAMETER_DEFINITION_SEQ), \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_HASH, _, PARAMETER_DEFINITION_SEQ), \ - BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_EQUAL, _, PARAMETER_DEFINITION_SEQ)) + BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CLASS_ELEMENT_VISIT, _, PARAMETER_DEFINITION_SEQ)) // This object is mapped to Perl as Slic3r::Config::PrintObject. PRINT_CONFIG_CLASS_DEFINE( @@ -1348,6 +1354,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloatsNullable, filament_ironing_speed)) // Detect bridging perimeters ((ConfigOptionBool, detect_overhang_wall)) + ((ConfigOptionBool, unsupported_wall_last)) ((ConfigOptionInt, outer_wall_filament_id)) ((ConfigOptionInt, inner_wall_filament_id)) ((ConfigOptionFloatOrPercent, inner_wall_line_width)) @@ -1386,6 +1393,8 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionBool, role_based_wipe_speed)) ((ConfigOptionFloatOrPercent, wipe_speed)) ((ConfigOptionBool, wipe_on_loops)) + ((ConfigOptionBool, wipe_inward)) + ((ConfigOptionFloatOrPercent, wipe_inward_distance)) ((ConfigOptionBool, wipe_before_external_loop)) ((ConfigOptionEnum, wall_infill_order)) ((ConfigOptionBool, precise_outer_wall)) @@ -1395,7 +1404,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloatsNullable, small_perimeter_threshold)) ((ConfigOptionFloatsOrPercentsNullable, small_support_perimeter_speed)) ((ConfigOptionFloatsNullable, small_support_perimeter_threshold)) - ((ConfigOptionFloat, top_solid_infill_flow_ratio)) + ((ConfigOptionFloatsNullable, top_solid_infill_flow_ratio)) ((ConfigOptionFloat, bottom_solid_infill_flow_ratio)) ((ConfigOptionFloatOrPercent, infill_anchor)) ((ConfigOptionFloatOrPercent, infill_anchor_max)) @@ -1620,7 +1629,10 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionBool, manual_filament_change)) ((ConfigOptionBool, single_extruder_multi_material_priming)) ((ConfigOptionEnum, toolchange_ordering)) + ((ConfigOptionString, toolchange_cyclic_order)) + ((ConfigOptionBool, toolchange_cyclic_first_layer)) ((ConfigOptionBool, wipe_tower_no_sparse_layers)) + ((ConfigOptionBool, wipe_tower_sparse_layers_combination)) ((ConfigOptionString, change_filament_gcode)) ((ConfigOptionString, change_extrusion_role_gcode)) ((ConfigOptionString, process_change_extrusion_role_gcode)) @@ -1781,6 +1793,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionBools, slow_down_for_layer_cooling)) ((ConfigOptionInts, close_fan_the_first_x_layers)) ((ConfigOptionEnum, draft_shield)) + ((ConfigOptionFloat, extruder_clearance_dist_to_rod))//BBS ((ConfigOptionFloat, extruder_clearance_height_to_rod))//BBs ((ConfigOptionFloat, extruder_clearance_height_to_lid))//BBS ((ConfigOptionFloat, extruder_clearance_radius)) @@ -2148,11 +2161,8 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE0( #undef STATIC_PRINT_CONFIG_CACHE_BASE #undef STATIC_PRINT_CONFIG_CACHE_DERIVED #undef PRINT_CONFIG_CLASS_ELEMENT_DEFINITION -#undef PRINT_CONFIG_CLASS_ELEMENT_EQUAL -#undef PRINT_CONFIG_CLASS_ELEMENT_LOWER -#undef PRINT_CONFIG_CLASS_ELEMENT_HASH -#undef PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION -#undef PRINT_CONFIG_CLASS_ELEMENT_INITIALIZATION2 +#undef PRINT_CONFIG_CLASS_ELEMENT_VISIT +#undef PRINT_CONFIG_CLASS_COMMON_BODY #undef PRINT_CONFIG_CLASS_DEFINE #undef PRINT_CONFIG_CLASS_DERIVED_CLASS_LIST #undef PRINT_CONFIG_CLASS_DERIVED_CLASS_LIST_ITEM diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index a228bb7436..3b7e889472 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -21,9 +21,11 @@ #include "TriangleMeshSlicer.hpp" #include "Utils.hpp" #include "Fill/FillAdaptive.hpp" +#include "Fill/Fill.hpp" #include "Fill/FillLightning.hpp" #include "Format/STL.hpp" #include "format.hpp" +#include "AABBTreeIndirect.hpp" #include "AABBTreeLines.hpp" #include @@ -672,6 +674,98 @@ void PrintObject::prepare_infill() } // for each region #endif /* SLIC3R_DEBUG_SLICE_PROCESSING */ + // Orca: precompute the object's 3D connected bodies for separated infills / per-model + // centering. Two islands belong to the same body when their slices overlap on adjacent + // layers; islands that only overlap in top-down projection but never touch (e.g. interleaved + // chain links) stay separate, matching "split to objects". Each layer island then records + // the full bounding box of its body, so its infill is centered on that body as if it were + // sliced alone. Compute this before bridges so anchors and extrusion share the same origin. + bool needs_separated_components = false; + for (size_t i = 0; i < this->num_printing_regions(); ++ i) { + const PrintRegionConfig &rc = this->printing_region(i).config(); + if (rc.separated_infills || rc.center_of_surface_pattern == CenterOfSurfacePattern::Each_Model) { + needs_separated_components = true; + break; + } + } + // Orca: Fast path: the feature only changes anything when the object is made of more than one + // connected body. Detect that cheaply the same way as "Split to objects" — more than one + // model part, or a single part whose mesh is splittable (is_splittable() is cached). A single + // body already shares the object center, i.e. the default, so skip the connectivity pass. + if (needs_separated_components) { + int parts = 0; + const ModelVolume *first_part = nullptr; + for (const ModelVolume *v : this->model_object()->volumes) + if (v->is_model_part()) { ++ parts; first_part = v; } + if (parts <= 1 && ! (first_part != nullptr && first_part->is_splittable())) + needs_separated_components = false; + } + for (Layer *layer : m_layers) + layer->lslices_separated_component_bboxes.clear(); + if (needs_separated_components) { + const size_t nl = m_layers.size(); + std::vector offset(nl + 1, 0); // Orca: flat index of the first island of each layer + for (size_t i = 0; i < nl; ++ i) + offset[i + 1] = offset[i] + m_layers[i]->lslices.size(); + const size_t nreg = offset[nl]; + // Orca: Union-find over every (layer, island). + std::vector parent(nreg); + for (size_t i = 0; i < nreg; ++ i) parent[i] = i; + auto find = [&parent](size_t x) { + while (parent[x] != x) { parent[x] = parent[parent[x]]; x = parent[x]; } + return x; + }; + auto unite = [&](size_t a, size_t b) { a = find(a); b = find(b); if (a != b) parent[a] = b; }; + // Orca: Index the smaller of two consecutive layers instead of scanning every + // pair of islands. The tree prunes distant boxes on fragmented models; exact + // polygon intersections still decide connectivity for the remaining candidates. + for (size_t i = 0; i + 1 < nl; ++ i) { + m_print->throw_if_canceled(); + size_t layer_a = i, layer_b = i + 1; + if (m_layers[layer_a]->lslices.size() < m_layers[layer_b]->lslices.size()) + std::swap(layer_a, layer_b); + const Layer *la = m_layers[layer_a], *lb = m_layers[layer_b]; + if (lb->lslices.empty()) + continue; + + using IslandTree = AABBTreeIndirect::Tree<2, coord_t>; + std::vector bboxes; + bboxes.reserve(lb->lslices.size()); + for (size_t b = 0; b < lb->lslices.size(); ++ b) + bboxes.emplace_back(b, lb->lslices_bboxes[b]); + IslandTree tree; + tree.build_modify_input(bboxes); + for (size_t a = 0; a < la->lslices.size(); ++ a) { + const IslandTree::BoundingBox query(la->lslices_bboxes[a].min, la->lslices_bboxes[a].max); + AABBTreeIndirect::traverse(tree, + [&query](const IslandTree::Node &node) { return node.bbox.intersects(query); }, + [&](const IslandTree::Node &node) { + const size_t b = node.idx; + // Orca: Tree boxes include an epsilon, so retain the original box + // filter. Already-connected islands cannot change the partition + // and need no further polygon intersection. + if (la->lslices_bboxes[a].overlap(lb->lslices_bboxes[b]) && + find(offset[layer_a] + a) != find(offset[layer_b] + b) && + ! intersection_ex(la->lslices[a], lb->lslices[b]).empty()) + unite(offset[layer_a] + a, offset[layer_b] + b); + return true; + }); + } + } + // Orca: Full bounding box of each body, indexed by its union-find root. + std::vector body_bbox(nreg); + for (size_t i = 0; i < nl; ++ i) + for (size_t a = 0; a < m_layers[i]->lslices.size(); ++ a) + body_bbox[find(offset[i] + a)].merge(m_layers[i]->lslices_bboxes[a]); + // Orca: Store the body bbox for every island. + for (size_t i = 0; i < nl; ++ i) { + Layer *layer = m_layers[i]; + layer->lslices_separated_component_bboxes.resize(layer->lslices.size()); + for (size_t a = 0; a < layer->lslices.size(); ++ a) + layer->lslices_separated_component_bboxes[a] = body_bbox[find(offset[i] + a)]; + } + } + // the following step needs to be done before combination because it may need // to remove only half of the combined infill this->bridge_over_infill(); @@ -706,71 +800,6 @@ void PrintObject::infill() if (this->set_started(posInfill)) { m_print->set_status(35, L("Generating infill toolpath")); - // Orca: precompute the object's 3D connected bodies for separated infills / per-model - // centering. Two islands belong to the same body when their slices overlap on adjacent - // layers; islands that only overlap in top-down projection but never touch (e.g. interleaved - // chain links) stay separate, matching "split to objects". Each layer island then records - // the full bounding box of its body, so its infill is centered on that body as if it were - // sliced alone. Done once here, before the parallel fill, and only when a region needs it. - bool needs_separated_components = false; - for (size_t i = 0; i < this->num_printing_regions(); ++ i) { - const PrintRegionConfig &rc = this->printing_region(i).config(); - if (rc.separated_infills || rc.center_of_surface_pattern == CenterOfSurfacePattern::Each_Model) { - needs_separated_components = true; - break; - } - } - // Fast path: the feature only changes anything when the object is made of more than one - // connected body. Detect that cheaply the same way as "Split to objects" — more than one - // model part, or a single part whose mesh is splittable (is_splittable() is cached). A single - // body already shares the object center, i.e. the default, so skip the connectivity pass. - if (needs_separated_components) { - int parts = 0; - const ModelVolume *first_part = nullptr; - for (const ModelVolume *v : this->model_object()->volumes) - if (v->is_model_part()) { ++ parts; first_part = v; } - if (parts <= 1 && ! (first_part != nullptr && first_part->is_splittable())) - needs_separated_components = false; - } - for (Layer *layer : m_layers) - layer->lslices_separated_component_bboxes.clear(); - if (needs_separated_components) { - const size_t nl = m_layers.size(); - std::vector offset(nl + 1, 0); // flat index of the first island of each layer - for (size_t i = 0; i < nl; ++ i) - offset[i + 1] = offset[i] + m_layers[i]->lslices.size(); - const size_t nreg = offset[nl]; - // Union-find over every (layer, island). - std::vector parent(nreg); - for (size_t i = 0; i < nreg; ++ i) parent[i] = i; - auto find = [&parent](size_t x) { - while (parent[x] != x) { parent[x] = parent[parent[x]]; x = parent[x]; } - return x; - }; - auto unite = [&](size_t a, size_t b) { a = find(a); b = find(b); if (a != b) parent[a] = b; }; - // Join islands that overlap between two consecutive layers. - for (size_t i = 0; i + 1 < nl; ++ i) { - const Layer *la = m_layers[i], *lb = m_layers[i + 1]; - for (size_t a = 0; a < la->lslices.size(); ++ a) - for (size_t b = 0; b < lb->lslices.size(); ++ b) - if (la->lslices_bboxes[a].overlap(lb->lslices_bboxes[b]) && - ! intersection_ex(la->lslices[a], lb->lslices[b]).empty()) - unite(offset[i] + a, offset[i + 1] + b); - } - // Full bounding box of each body, indexed by its union-find root. - std::vector body_bbox(nreg); - for (size_t i = 0; i < nl; ++ i) - for (size_t a = 0; a < m_layers[i]->lslices.size(); ++ a) - body_bbox[find(offset[i] + a)].merge(m_layers[i]->lslices_bboxes[a]); - // Store the body bbox for every island. - for (size_t i = 0; i < nl; ++ i) { - Layer *layer = m_layers[i]; - layer->lslices_separated_component_bboxes.resize(layer->lslices.size()); - for (size_t a = 0; a < layer->lslices.size(); ++ a) - layer->lslices_separated_component_bboxes[a] = body_bbox[find(offset[i] + a)]; - } - } - const auto& adaptive_fill_octree = this->m_adaptive_fill_octrees.first; const auto& support_fill_octree = this->m_adaptive_fill_octrees.second; @@ -1401,8 +1430,6 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "infill_anchor_max" || opt_key == "top_surface_line_width" || opt_key == "bottom_surface_density" - || opt_key == "center_of_surface_pattern" - || opt_key == "separated_infills" || opt_key == "initial_layer_line_width" || opt_key == "small_area_infill_flow_compensation" || opt_key == "lateral_lattice_angle_1" @@ -1410,6 +1437,10 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "infill_overhang_angle") { steps.emplace_back(posInfill); } else if (opt_key == "sparse_infill_pattern" + // Orca: Body centering now also determines bridge anchors during preparation. + // Invalidating preparation also invalidates infill, including top/bottom surfaces. + || opt_key == "center_of_surface_pattern" + || opt_key == "separated_infills" || opt_key == "sparse_infill_smooth_factor" || opt_key == "symmetric_infill_y_axis" || opt_key == "infill_shift_step" @@ -1470,6 +1501,7 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "fuzzy_skin_octaves" || opt_key == "fuzzy_skin_persistence" || opt_key == "detect_overhang_wall" + || opt_key == "unsupported_wall_last" || opt_key == "overhang_reverse" || opt_key == "overhang_reverse_internal_only" || opt_key == "overhang_reverse_threshold" @@ -1480,13 +1512,9 @@ bool PrintObject::invalidate_state_by_config_options( steps.emplace_back(posPerimeters); steps.emplace_back(posSupportMaterial); } else if (opt_key == "bridge_flow" || opt_key == "internal_bridge_flow") { - if (m_config.support_top_z_distance > 0.) { - // Only invalidate due to bridging if bridging is enabled. - // If later "support_top_z_distance" is modified, the complete PrintObject is invalidated anyway. - steps.emplace_back(posPerimeters); - steps.emplace_back(posInfill); - steps.emplace_back(posSupportMaterial); - } + steps.emplace_back(posPerimeters); + steps.emplace_back(posInfill); + steps.emplace_back(posSupportMaterial); } else if ( opt_key == "wall_generator" || opt_key == "wall_transition_length" @@ -1547,6 +1575,8 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "brim_flow_ratio" || opt_key == "filament_flow_ratio" || opt_key == "scarf_joint_flow_ratio" + || opt_key == "wipe_inward" + || opt_key == "wipe_inward_distance" || opt_key == "spiral_starting_flow_ratio" || opt_key == "spiral_finishing_flow_ratio") { invalidated |= m_print->invalidate_step(psGCodeExport); @@ -1604,7 +1634,9 @@ bool PrintObject::invalidate_step(PrintObjectStep step) bool PrintObject::invalidate_all_steps() { // First call the "invalidate" functions, which may cancel background processing. - bool result = Inherited::invalidate_all_steps() | m_print->invalidate_all_steps(); + const bool inherited_invalidated = Inherited::invalidate_all_steps(); + const bool print_invalidated = m_print->invalidate_all_steps(); + bool result = inherited_invalidated || print_invalidated; // Then reset some of the depending values. m_slicing_params.valid = false; return result; @@ -3009,21 +3041,12 @@ void PrintObject::bridge_over_infill() return diff(layers_sparse_infill, not_sparse_infill); }; - // LAMBDA do determine optimal bridging angle - auto determine_bridging_angle = [](const Polygons &bridged_area, const Lines &anchors, InfillPattern dominant_pattern, double infill_direction) { + // Orca: Derive the fallback bridge direction from the supplied anchor geometry. + // Pattern-specific angle selection belongs at the call site, where the supporting + // layer and region are known; this helper must not override it with a base config angle. + auto determine_bridging_angle = [](const Polygons &bridged_area, const Lines &anchors) { AABBTreeLines::LinesDistancer lines_tree(anchors); - // Orca: since 3D Honeycomb was "fixed" by forcing coordf_t layerHeight = scale_(1.0), this is no longer needed. - // CorssHatch also does not need fixed angle. - // - // Check it the infill that require a fixed infill angle. - //switch (dominant_pattern) { - //case ip3DHoneycomb: - //case ipCrossHatch: - // return (infill_direction + 45.0) * 2.0 * M_PI / 360.; - //default: break; - //} - std::map counted_directions; for (const Polygon &p : bridged_area) { double acc_distance = 0; @@ -3089,18 +3112,15 @@ void PrintObject::bridge_over_infill() if (bridging_angle == 0) { bridging_angle = 0.001; } - switch (dominant_pattern) { - case ipHilbertCurve: bridging_angle += 0.25 * PI; break; - case ipOctagramSpiral: bridging_angle += (1.0 / 16.0) * PI; break; - default: break; - } return bridging_angle; }; - // LAMBDA that will fill given polygons with lines, exapand the lines to the nearest anchor, and reconstruct polygons from the newly - // generated lines - auto construct_anchored_polygon = [](Polygons bridged_area, Lines anchors, const Flow &bridging_flow, double bridging_angle) { + // Orca: Extend scan sections to the nearest anchors and reconstruct the bridge area. + // scan_spacing controls boundary sampling independently of the extrusion spacing; + // anchoring overlap and smoothing thresholds still use the physical bridging flow. + auto construct_anchored_polygon = [](Polygons bridged_area, Lines anchors, const Flow &bridging_flow, double bridging_angle, + coord_t scan_spacing, bool restore_anchors = false) { auto lines_rotate = [](Lines &lines, double cos_angle, double sin_angle) { for (Line &l : lines) { double ax = double(l.a.x()); @@ -3127,12 +3147,12 @@ void PrintObject::bridge_over_infill() BoundingBox bb_x = get_extents(bridged_area); BoundingBox bb_y = get_extents(anchors); - const size_t n_vlines = (bb_x.max.x() - bb_x.min.x() + bridging_flow.scaled_spacing() - 1) / bridging_flow.scaled_spacing(); + const size_t n_vlines = (bb_x.max.x() - bb_x.min.x() + scan_spacing - 1) / scan_spacing; std::vector vertical_lines(n_vlines); for (size_t i = 0; i < n_vlines; i++) { - // Orca: Make sure the line is placed in the middle of the extrusion - // coord_t x = bb_x.min.x() + i * bridging_flow.scaled_spacing(); - coord_t x = bb_x.min.x() + (i + 0.5) * bridging_flow.scaled_spacing(); + // Orca: Sample the center of each reconstructed strip. Its edges lie + // half a scan step away, even when the sampling is finer than extrusion. + coord_t x = bb_x.min.x() + (i + 0.5) * scan_spacing; coord_t y_min = bb_y.min.y() - bridging_flow.scaled_spacing(); coord_t y_max = bb_y.max.y() + bridging_flow.scaled_spacing(); vertical_lines[i].a = Point{x, y_min}; @@ -3155,7 +3175,11 @@ void PrintObject::bridge_over_infill() auto anchors_intersections = anchors_and_walls_tree.intersections_with_line(vertical_lines[i]); for (Line §ion : polygon_sections[i]) { - auto maybe_below_anchor = std::upper_bound(anchors_intersections.rbegin(), anchors_intersections.rend(), section.a, + // Orca: A repaired boundary may already overlap its anchor by one flow width. + // Include that overlap in the search so restoring rounded corners does not + // extend every already anchored section into the next sparse infill cell. + const coord_t overlap = restore_anchors ? bridging_flow.scaled_width() + SCALED_EPSILON : 0; + auto maybe_below_anchor = std::upper_bound(anchors_intersections.rbegin(), anchors_intersections.rend(), section.a + Point{0, overlap}, [](const Point &a, const std::pair &b) { return a.y() > b.first.y(); }); @@ -3164,7 +3188,7 @@ void PrintObject::bridge_over_infill() section.a.y() -= bridging_flow.scaled_width() * (0.5 + 0.5); } - auto maybe_upper_anchor = std::upper_bound(anchors_intersections.begin(), anchors_intersections.end(), section.b, + auto maybe_upper_anchor = std::upper_bound(anchors_intersections.begin(), anchors_intersections.end(), section.b - Point{0, overlap}, [](const Point &a, const std::pair &b) { return a.y() < b.first.y(); }); @@ -3194,7 +3218,9 @@ void PrintObject::bridge_over_infill() }); } - // reconstruct polygon from polygon sections + // Orca: Reconstruct the polygon from scan sections. At discontinuities and + // strip starts/ends, use half the scan step for the X offsets; using half an + // extrusion spacing would overlap the finer strips and distort curved anchors. struct TracedPoly { Points lows; @@ -3220,8 +3246,8 @@ void PrintObject::bridge_over_infill() 36.0 * double(bridging_flow.scaled_spacing()) * bridging_flow.scaled_spacing()) { traced_poly.lows.push_back(candidate->a); } else { - traced_poly.lows.push_back(traced_poly.lows.back() + Point{bridging_flow.scaled_spacing() / 2, 0}); - traced_poly.lows.push_back(candidate->a - Point{bridging_flow.scaled_spacing() / 2, 0}); + traced_poly.lows.push_back(traced_poly.lows.back() + Point{scan_spacing / 2, 0}); + traced_poly.lows.push_back(candidate->a - Point{scan_spacing / 2, 0}); traced_poly.lows.push_back(candidate->a); } @@ -3229,8 +3255,8 @@ void PrintObject::bridge_over_infill() 36.0 * double(bridging_flow.scaled_spacing()) * bridging_flow.scaled_spacing()) { traced_poly.highs.push_back(candidate->b); } else { - traced_poly.highs.push_back(traced_poly.highs.back() + Point{bridging_flow.scaled_spacing() / 2, 0}); - traced_poly.highs.push_back(candidate->b - Point{bridging_flow.scaled_spacing() / 2, 0}); + traced_poly.highs.push_back(traced_poly.highs.back() + Point{scan_spacing / 2, 0}); + traced_poly.highs.push_back(candidate->b - Point{scan_spacing / 2, 0}); traced_poly.highs.push_back(candidate->b); } segment_added = true; @@ -3238,9 +3264,9 @@ void PrintObject::bridge_over_infill() } if (!segment_added) { - // Zero overlapping segments, we just close this polygon - traced_poly.lows.push_back(traced_poly.lows.back() + Point{bridging_flow.scaled_spacing() / 2, 0}); - traced_poly.highs.push_back(traced_poly.highs.back() + Point{bridging_flow.scaled_spacing() / 2, 0}); + // Orca: No section continues this strip; close at its right edge. + traced_poly.lows.push_back(traced_poly.lows.back() + Point{scan_spacing / 2, 0}); + traced_poly.highs.push_back(traced_poly.highs.back() + Point{scan_spacing / 2, 0}); Polygon &new_poly = expanded_bridged_area.emplace_back(std::move(traced_poly.lows)); new_poly.points.insert(new_poly.points.end(), traced_poly.highs.rbegin(), traced_poly.highs.rend()); traced_poly.lows.clear(); @@ -3255,9 +3281,9 @@ void PrintObject::bridge_over_infill() for (const auto &segment : polygon_slice) { if (used_segments.find(&segment) == used_segments.end()) { TracedPoly &new_tp = current_traced_polys.emplace_back(); - new_tp.lows.push_back(segment.a - Point{bridging_flow.scaled_spacing() / 2, 0}); + new_tp.lows.push_back(segment.a - Point{scan_spacing / 2, 0}); new_tp.lows.push_back(segment.a); - new_tp.highs.push_back(segment.b - Point{bridging_flow.scaled_spacing() / 2, 0}); + new_tp.highs.push_back(segment.b - Point{scan_spacing / 2, 0}); new_tp.highs.push_back(segment.b); } } @@ -3364,7 +3390,10 @@ void PrintObject::bridge_over_infill() total_fill_area = closing(total_fill_area, float(SCALED_EPSILON)); expansion_area = closing(expansion_area, float(SCALED_EPSILON)); expansion_area = intersection(expansion_area, deep_infill_area); - Polylines anchors = intersection_pl(infill_lines[lidx - 1], shrink(expansion_area, spacing)); + // Orca: Preserve the real lower-layer anchors for every candidate in this + // layer. Replacing this shared set for one pattern also changes later regions, + // and synthetic straight lines can claim support where no infill is printed. + const Polylines anchors = intersection_pl(infill_lines[lidx - 1], shrink(expansion_area, spacing)); Polygons internal_unsupported_area = shrink(deep_infill_area, spacing * 4.5); #ifdef DEBUG_BRIDGE_OVER_INFILL @@ -3375,6 +3404,9 @@ void PrintObject::bridge_over_infill() std::vector expanded_surfaces; expanded_surfaces.reserve(surfaces_by_layer[lidx].size()); for (const CandidateSurface &candidate : surfaces_by_layer[lidx]) { + const auto ®ion_config = candidate.region->region().config(); + const bool turning_pattern = region_config.sparse_infill_pattern == ipHilbertCurve || + region_config.sparse_infill_pattern == ipOctagramSpiral; const Flow &flow = candidate.region->bridging_flow(frSolidInfill, true); Polygons area_to_be_bridge = expand(candidate.new_polys, flow.scaled_spacing()); area_to_be_bridge = intersection(area_to_be_bridge, deep_infill_area); @@ -3403,20 +3435,40 @@ void PrintObject::bridge_over_infill() to_lines(area_to_be_bridge), to_lines(boundary_plines), to_lines(anchors), to_lines(expansion_area)); #endif - double bridging_angle = 0; - if (!anchors.empty()) { - bridging_angle = determine_bridging_angle(area_to_be_bridge, to_lines(anchors), - candidate.region->region().config().sparse_infill_pattern.value, - candidate.region->region().config().infill_direction.value); - } else { - // use expansion boundaries as anchors. - // Also, use Infill pattern that is neutral for angle determination, since there are no infill lines. - bridging_angle = determine_bridging_angle(area_to_be_bridge, to_lines(boundary_plines), InfillPattern::ipLine, 0); + double bridging_angle = -1.; + if (!anchors.empty() && turning_pattern) { + // Orca: Keep adjacent bridges over Hilbert/Octagram aligned despite + // their many local turning directions. Use the lower layer's rotation, + // since that is the infill supporting the bridge, not the current layer's. + for (const LayerRegion *lower_region : layer->lower_layer->regions()) { + // Orca: Apply the configured direction only if the same region has + // sparse infill below this bridge. A height modifier may put another + // pattern underneath, requiring the geometry-based fallback below. + if (&lower_region->region() != &candidate.region->region() || + intersection(area_to_be_bridge, to_polygons(lower_region->fill_surfaces.filter_by_type(stInternal))).empty()) + continue; + bridging_angle = calculate_infill_rotation_angle(po, layer->lower_layer->id(), region_config.infill_direction.value, + region_config.sparse_infill_rotate_template.value) + 0.5 * PI; + // Orca: Apply model alignment as infill generation does, then normalize + // the undirected bridge angle to [0, PI), including negative rotations. + if (region_config.align_infill_direction_to_model) { + const auto &m = po->trafo().matrix(); + bridging_angle += std::atan2(double(m(1, 0)), double(m(0, 0))); + } + bridging_angle = std::fmod(bridging_angle, PI); + if (bridging_angle < 0.) + bridging_angle += PI; + break; + } } + // Orca: A different region below (e.g. a height modifier) needs the actual anchor + // directions. When there are no sparse anchors, use the expansion boundaries. + if (bridging_angle < 0.) + bridging_angle = determine_bridging_angle(area_to_be_bridge, to_lines(anchors.empty() ? boundary_plines : anchors)); - // ORCA: Internal bridge angle override + // Orca: Preserve the user's absolute or relative internal bridge angle + // override after automatic direction selection. if (candidate.region->region().config().internal_bridge_angle.value > 0) { - const auto ®ion_config = candidate.region->region().config(); const double custom_angle_rad = Geometry::deg2rad(region_config.internal_bridge_angle.value); if (region_config.relative_bridge_angle.value) bridging_angle += custom_angle_rad; @@ -3429,11 +3481,19 @@ void PrintObject::bridge_over_infill() } } + // Orca: Changing the bridge direction must not change its physical supports. + // Extend to actual sparse infill or the existing boundary anchors, never to + // a synthetic grid that merely has the same nominal angle and spacing. boundary_plines.insert(boundary_plines.end(), anchors.begin(), anchors.end()); if (!lightning_area.empty() && !intersection(area_to_be_bridge, lightning_area).empty()) { boundary_plines = intersection_pl(boundary_plines, expand(area_to_be_bridge, scale_(10))); } - Polygons bridging_area = construct_anchored_polygon(area_to_be_bridge, to_lines(boundary_plines), flow, bridging_angle); + // Orca: Use four samples per extrusion spacing for Hilbert/Octagram so the + // reconstructed boundary follows rounded anchors instead of cutting corners. + // Keep the original step for other patterns and at least one coordinate unit + // after integer division. This changes boundary accuracy, not infill density. + const coord_t scan_spacing = std::max(coord_t(1), flow.scaled_spacing() / (turning_pattern ? 4 : 1)); + Polygons bridging_area = construct_anchored_polygon(area_to_be_bridge, to_lines(boundary_plines), flow, bridging_angle, scan_spacing); // Check collision with other expanded surfaces { @@ -3447,7 +3507,9 @@ void PrintObject::bridge_over_infill() } } if (reconstruct) { - bridging_area = construct_anchored_polygon(area_to_be_bridge, to_lines(boundary_plines), flow, bridging_angle); + // Orca: Retain the same sampling accuracy when matching a nearby + // bridge's direction; rebuilding must not lose the curved supports. + bridging_area = construct_anchored_polygon(area_to_be_bridge, to_lines(boundary_plines), flow, bridging_angle, scan_spacing); } } @@ -3455,6 +3517,13 @@ void PrintObject::bridge_over_infill() // bridging_area = opening(bridging_area, flow.scaled_spacing()); bridging_area = opening(bridging_area, flow.scaled_spacing() * 0.75); bridging_area = closing(bridging_area, flow.scaled_spacing()); + // Orca: Opening/closing can pull rounded bridge ends away from their real + // supports. Restore those contacts after smoothing, preserving the cleaned + // area and the selected angle; do not smooth the restored contacts again. + if (turning_pattern && !bridging_area.empty()) { + bridging_area = union_(bridging_area, construct_anchored_polygon(bridging_area, to_lines(boundary_plines), flow, + bridging_angle, scan_spacing, true)); + } bridging_area = intersection(bridging_area, limiting_area); bridging_area = intersection(bridging_area, total_fill_area); bridging_area = diff(bridging_area, total_top_area); diff --git a/src/libslic3r/PublishSettings.cpp b/src/libslic3r/PublishSettings.cpp new file mode 100644 index 0000000000..6d28cc0af3 --- /dev/null +++ b/src/libslic3r/PublishSettings.cpp @@ -0,0 +1,315 @@ +#include "PublishSettings.hpp" + +#include "PresetBundle.hpp" +#include "Preset.hpp" +#include "PrintConfig.hpp" +#include "MaterialType.hpp" + +#include +#include + +#include +#include + +namespace Slic3r { + +std::string publish_base_key(const std::string &key) +{ + const size_t pos = key.find('#'); + return pos == std::string::npos ? key : key.substr(0, pos); +} + +// Parse the trailing "#N" variant index ("retraction_length#2" -> 2). Returns -1 when the key +// carries no '#' separator or its suffix is malformed; mirrors the importer's strict parse +// (PresetBundle.cpp) so the export side rejects the same variants the receiver would skip. +static int publish_variant_index(const std::string &key, const std::string &base_key) +{ + if (key.size() <= base_key.size() || key.compare(0, base_key.size(), base_key) != 0 || key[base_key.size()] != '#') + return -1; + const std::string suffix = key.substr(base_key.size() + 1); + if (suffix.empty()) + return -1; + int idx = 0; + for (const char c : suffix) { + if (c < '0' || c > '9') + return -1; + idx = idx * 10 + (c - '0'); + if (idx > 1000000) // overflow guard; real vector sizes are tiny + return -1; + } + return idx; +} + +std::string normalize_filament_type(const std::string& type) +{ + if (type.empty()) + return type; + if (MaterialType::find(type) != nullptr) + return type; + // "PLA High Speed" -> "PLA": strip a space-separated modifier, but keep dash-separated + // types like "PA-CF" / "PETG-CF" intact (they are distinct materials, not modifiers). + const size_t sep = type.find(' '); + if (sep != std::string::npos) { + const std::string base = type.substr(0, sep); + if (MaterialType::find(base) != nullptr) + return base; + } + return type; +} + +void make_publish_universal(DynamicPrintConfig &config) +{ + // Lists: empty => compatible with every printer / every print preset. Conditions: + // empty so a leftover expression left behind by the baseline clone can never + // re-narrow the match (see is_compatible_with_printer, Preset.cpp:840). All four + // keys exist on filament presets; nil-guard for hand-crafted future schemas. + if (auto *opt = config.opt("compatible_printers", false)) + opt->values.clear(); + if (auto *opt = config.opt("compatible_prints", false)) + opt->values.clear(); + if (auto *opt = config.opt("compatible_printers_condition", false)) + opt->value.clear(); + if (auto *opt = config.opt("compatible_prints_condition", false)) + opt->value.clear(); +} + +std::string publish_material_base_name(const std::string &preset_name) +{ + if (preset_name.empty()) + return preset_name; + const size_t at = preset_name.find('@'); + std::string base = (at == std::string::npos) ? preset_name : preset_name.substr(0, at); + boost::trim_right(base); + return base; +} + +const std::set& publish_structural_keys() +{ + // Non-publishable keys: the *_settings_id keys are also in PresetCollection::skipped_in_dirty + // (Preset.cpp) / stripped from configs (profile_print_params_same); publishing them would + // rewrite the user's preset inheritance/structure. + static const std::set structural_keys = { + "printer_settings_id", "filament_settings_id", "print_settings_id", + "sla_print_settings_id", "sla_material_settings_id", + "compatible_printers", "compatible_prints", + "compatible_printers_condition", "compatible_prints_condition", + "default_filament_profile", "default_print_profile", + "default_sla_print_profile", "default_sla_material_profile", + "extruder_count", "bed_shape", + "inherits", "inherits_group", + "printer_technology", "printer_model", "printer_variant", + "physical_printer_settings_id", "filament_ids", + "different_settings_to_system" + }; + return structural_keys; +} + +const std::set& publish_mixed_keys() +{ + // Must match PresetBundle's s_project_options mixed-color group (PresetBundle.cpp): these + // are project-level parallel per-slot arrays, not filament-preset options, so the import + // material pass applies them into project_config instead of a filament preset config. + static const std::set mixed_keys = { + "filament_is_mixed", + "filament_mixed_components", + "filament_mixed_sublayer_ratios", + "filament_mixed_gradient", + "filament_mixed_gradient_range", + "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" + }; + return mixed_keys; +} + +// The printer tab's "Retraction" optgroup (TabPrinter::build_fff, Tab.cpp), in tab order. +// KEEP IN SYNC with that optgroup: the published-3MF printer allowlist is built from these +// lists, so any key shown there must be publishable here (and vice versa). +const std::vector& publishable_printer_retraction_options() +{ + static const std::vector options = { + { "retraction_length", "printer_extruder_retraction#length" }, + { "retract_restart_extra", "printer_extruder_retraction#extra-length-on-restart" }, + { "retraction_speed", "printer_extruder_retraction#retraction-speed" }, + { "deretraction_speed", "printer_extruder_retraction#deretraction-speed" }, + { "retraction_minimum_travel", "printer_extruder_retraction#travel-distance-threshold" }, + { "retract_when_changing_layer", "printer_extruder_retraction#retract-on-layer-change" }, + { "wipe", "printer_extruder_retraction#wipe-while-retracting" }, + { "wipe_distance", "printer_extruder_retraction#wipe-distance" }, + { "retract_before_wipe", "printer_extruder_retraction#retract-amount-before-wipe" }, + { "retract_after_wipe", "printer_extruder_retraction#retract-amount-after-wipe" }, + }; + return options; +} + +// The printer tab's "Z-Hop" optgroup (TabPrinter::build_fff, Tab.cpp), in tab order. KEEP IN +// SYNC with that optgroup, same as publishable_printer_retraction_options(). +const std::vector& publishable_printer_z_hop_options() +{ + static const std::vector options = { + { "retract_lift_enforce", "printer_extruder_z_hop#on-surfaces" }, + { "z_hop_types", "printer_extruder_z_hop#z-hop-type" }, + { "z_hop", "printer_extruder_z_hop#z-hop-height" }, + { "travel_slope", "printer_extruder_z_hop#traveling-angle" }, + { "retract_lift_above", "printer_extruder_z_hop#only-lift-z-above" }, + { "retract_lift_below", "printer_extruder_z_hop#only-lift-z-below" }, + }; + return options; +} + +const std::set& publishable_printer_keys() +{ + // Union of the two optgroups; "Retraction when switching material" keys are excluded + // (toolchange retraction is device/profile territory, not a publishable behavior tweak). + static const std::set printer_keys = [] { + std::set keys; + for (const PublishablePrinterOption &opt : publishable_printer_retraction_options()) + keys.insert(opt.key); + for (const PublishablePrinterOption &opt : publishable_printer_z_hop_options()) + keys.insert(opt.key); + return keys; + }(); + return printer_keys; +} + +std::vector collect_dirty_settings_keys(const PresetBundle& bundle) +{ + std::set keys; + + // Union the dirty keys of each collection's edited preset (filaments may span multiple + // slots); feeds only the Publish dialog's pre-check. + for (const std::string& key : bundle.prints.current_dirty_options(true)) + keys.insert(key); + for (const std::string& key : bundle.printers.current_dirty_options(true)) + keys.insert(key); + for (const std::string& key : bundle.filaments.current_dirty_options(true)) + keys.insert(key); + + return std::vector(keys.begin(), keys.end()); +} + +DynamicPrintConfig filter_published_config( + const DynamicPrintConfig &full_config, + const std::vector &published_keys, + const std::vector &material_keys) +{ + DynamicPrintConfig filtered; + + std::set base_keys_to_include; + // Never masked (whole-vector serialization): identity, plate geometry, process keys and + // printer keys without a "#N" variant. + std::set mask_exempt_keys; + // Material entries: base key -> author slots whose values must survive; other slots are + // masked to their defaults so a publish (partial or full) does not leak unrelated slot + // data. + std::map> slot_mask_map; + + // 1. Mandatory material identity & slot count keys for 3MF validation/normalization + // (filament_ids: exported for validation, denylisted on apply - see publish_structural_keys). + static const std::vector s_material_identity_keys = { + "filament_colour", + "filament_type", + "filament_vendor", + "filament_ids", + "filament_diameter", + "filament_self_index", + "filament_extruder_variant" + }; + for (const std::string &key : s_material_identity_keys) { + base_keys_to_include.insert(key); + mask_exempt_keys.insert(key); + } + + // 2. Published plate / bed geometry keys (wipe tower positioning) + static const std::vector s_plate_geometry_keys = { + "wipe_tower_x", + "wipe_tower_y", + "wipe_tower_rotation_angle" + }; + for (const std::string &key : s_plate_geometry_keys) { + base_keys_to_include.insert(key); + mask_exempt_keys.insert(key); + } + + // 3. Process and printer published keys. Printer per-extruder keys carry a "#N" variant + // (e.g. retraction_length#2): mask the base to the author's extruder index so a partial + // publish does not serialize every extruder's value (same slot-masking as the material side). + const std::set &printer_keys = publishable_printer_keys(); + for (const std::string &key : published_keys) { + const std::string base_key = publish_base_key(key); + if (base_key.empty()) + continue; + base_keys_to_include.insert(base_key); + if (printer_keys.count(base_key) != 0) { + const int variant_idx = publish_variant_index(key, base_key); + if (variant_idx >= 0) + slot_mask_map[base_key].insert(variant_idx); + else + mask_exempt_keys.insert(base_key); // bare printer key or malformed variant: whole vector + } else { + mask_exempt_keys.insert(base_key); // process key: whole vector + } + } + + // 4. Material-specific published keys. Both partial (entry.keys) and full-publish + // (entry.full_keys) entries mask to the author's slot on export (see the copy loop below); + // slot-less entries (hand-crafted files) stay unmasked (whole vector). + for (const PublishedMaterialEntry &entry : material_keys) { + for (const std::string &key : entry.keys) { + const std::string base_key = publish_base_key(key); + if (base_key.empty()) + continue; + base_keys_to_include.insert(base_key); + if (entry.slot >= 0) + slot_mask_map[base_key].insert(entry.slot); + } + for (const std::string &key : entry.full_keys) { + const std::string base_key = publish_base_key(key); + if (base_key.empty()) + continue; + base_keys_to_include.insert(base_key); + if (entry.slot >= 0) + slot_mask_map[base_key].insert(entry.slot); + } + } + + // Masking restores every non-published slot of a vector option with the option default, so + // a partial publish does not leak unrelated slot data. can_mask_slots reports whether a key + // is maskable at all (vector option plus a registered default of the same type); an + // unmaskable key is dropped from the payload entirely instead of shipping the author's + // whole vector. + auto can_mask_slots = [](const ConfigOption &opt, const ConfigOptionDef *def) -> bool { + if (def == nullptr || !def->default_value || def->default_value->type() != opt.type()) + return false; + const auto *vec = dynamic_cast(&opt); + const auto *default_vec = dynamic_cast(def->default_value.get()); + return vec != nullptr && vec->size() > 0 && default_vec != nullptr && !default_vec->empty(); + }; + auto mask_slots = [](ConfigOption &opt, const ConfigOptionDef *def, const std::set &keep_slots) { + auto *vec = dynamic_cast(&opt); + for (size_t idx = 0; idx < vec->size(); ++idx) + if (keep_slots.count(static_cast(idx)) == 0) + vec->set_at(def->default_value.get(), idx, 0); + }; + + // Copy the selected options from full_config into the filtered config. + for (const std::string &key : base_keys_to_include) { + const ConfigOption *opt = full_config.option(key); + if (opt == nullptr) + continue; + const auto mask_it = slot_mask_map.find(key); + const bool needs_masking = mask_exempt_keys.count(key) == 0 && mask_it != slot_mask_map.end() && !mask_it->second.empty(); + if (needs_masking && !can_mask_slots(*opt, print_config_def.get(key))) { + BOOST_LOG_TRIVIAL(warning) << "publish: dropping unmaskable key \"" << key + << "\" from the published payload (no usable option default)"; + continue; + } + ConfigOption *cloned = opt->clone(); + if (needs_masking) + mask_slots(*cloned, print_config_def.get(key), mask_it->second); + filtered.set_key_value(key, cloned); + } + + return filtered; +} + +} // namespace Slic3r diff --git a/src/libslic3r/PublishSettings.hpp b/src/libslic3r/PublishSettings.hpp new file mode 100644 index 0000000000..60ea9a8354 --- /dev/null +++ b/src/libslic3r/PublishSettings.hpp @@ -0,0 +1,99 @@ +#pragma once +#include +#include +#include + +namespace Slic3r { +class PresetBundle; + +// Strip a trailing "#N" variant suffix ("retraction_length#2" -> "retraction_length"). +std::string publish_base_key(const std::string &key); + +// Structural keys that are never applied onto the receiver's presets when loading a published +// 3MF (single source of truth for the denylist); applying them would rewrite the user's preset +// inheritance/structure. filament_ids is still exported via the identity list (3MF validation +// needs it) - exported, never applied. +const std::set& publish_structural_keys(); + +// The mixed-color filament project keys (parallel per-slot arrays, see PresetBundle's +// s_project_options). Import applies them into project_config, not a filament preset. +const std::set& publish_mixed_keys(); + +// One row of the printer tab's "Retraction" / "Z-Hop" optgroups (config key + tab icon id). +struct PublishablePrinterOption { + const char *key; // config key, e.g. "retraction_length" + const char *icon; // tab icon id, e.g. "printer_extruder_retraction#length" +}; + +// The printer tab's "Retraction" / "Z-Hop" optgroup options, in tab order. +const std::vector& publishable_printer_retraction_options(); +const std::vector& publishable_printer_z_hop_options(); + +// Union of the two optgroup option lists; printer keys apply on import only if their base +// key is in this allowlist. +const std::set& publishable_printer_keys(); + +// Union of setting keys differing from the base/system preset across the current print, +// printer and filament presets (feeds the Publish dialog's pre-check). +std::vector collect_dirty_settings_keys(const PresetBundle& bundle); + +// Per-slot published material keys, applied positionally (author slot N -> receiver slot N). +// The identity fields drive the created copy's naming and grouping on Full entries, the +// notification labels, and the partial type gate (publish_type) is the author's explicit +// opt-in for requiring a material type. +struct PublishedMaterialEntry { + std::string filament_type; // material family, e.g. "PLA" (may be empty) + std::string filament_vendor; // e.g. "Generic", "Bambu" (may be empty) + std::string filament_id; // stable material id, e.g. "GFL99" (may be empty) + // Unique preset id of the author's slot preset (e.g. Orca Filament Library "setting_id"). + // Not matched against the receiver's library; carried so identical Full entries within one + // load share one created instance (within-load dedup key). + std::string setting_id; + // Canonical name of the author's slot preset (e.g. "Generic PLA @System"). On Full import + // it names the created copy after its "@variant" tail is stripped; never matched against + // the receiver's library. + std::string preset_name; + // 0-based author filament slot; -1 (hand-crafted files) is skipped. + int slot{-1}; + std::vector keys; + // "Full Publish": the whole filament preset (full_keys) is published. On the receiver Full + // Publish always creates a standalone parentless copy (libslic3r's "Detach from parent"), + // universally compatible and project-embedded only - never written to the user's library. + // Identical Full entries within one load share one created instance (within-load dedup). + bool full{false}; + // All non-structural filament keys of the author's slot preset; values travel in the file + // config, masked to the author's slot index. + std::vector full_keys; + // Vendor-agnostic (MaterialType) filament type the author requires for this slot; on a + // partial entry's mismatch the slot is replaced with a same-type filament. Full entries + // consult no gate. + bool publish_type{false}; + std::string publish_type_value; + // Required filament colour, applied on load regardless of the type match. + bool publish_color{false}; + std::string color; + // Import-side only, never serialized: the authored slot sits past the receiver's physical + // capacity, so the entry is appended as an empty mixed-filament placeholder (virtual tail + // slot; the GUI flags it for the user to assign components). + bool mixed_placeholder{false}; +}; + +// "PLA High Speed" -> "PLA" (strip a space modifier); dash types like "PA-CF" are kept intact. +std::string normalize_filament_type(const std::string& type); + +class DynamicPrintConfig; +// Clear the compatibility lists/conditions on a filament config so it is universally +// compatible once detached (empty lists + empty conditions = compatible with everything). +void make_publish_universal(DynamicPrintConfig &config); + +// Naming base for a detached published-material copy: "Generic PLA @System" -> "Generic PLA" +// (truncate/right-trim at the first '@' tail). Empty result means "fall back to identity". +std::string publish_material_base_name(const std::string &preset_name); + +// Minimal DynamicPrintConfig for a published 3MF export: only the selected published keys, +// material keys, identity fields and plate geometry keys. +DynamicPrintConfig filter_published_config( + const DynamicPrintConfig &full_config, + const std::vector &published_keys, + const std::vector &material_keys); +} diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index cdefd3e10e..eb37ca578c 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -1007,7 +1007,9 @@ bool SLAPrintObject::invalidate_step(SLAPrintObjectStep step) bool SLAPrintObject::invalidate_all_steps() { - return Inherited::invalidate_all_steps() | m_print->invalidate_all_steps(); + const bool inherited_invalidated = Inherited::invalidate_all_steps(); + const bool print_invalidated = m_print->invalidate_all_steps(); + return inherited_invalidated || print_invalidated; } double SLAPrintObject::get_elevation() const { diff --git a/src/libslic3r/Support/SupportMaterial.cpp b/src/libslic3r/Support/SupportMaterial.cpp index 12ac275592..a955eb5ca7 100644 --- a/src/libslic3r/Support/SupportMaterial.cpp +++ b/src/libslic3r/Support/SupportMaterial.cpp @@ -333,8 +333,7 @@ PrintObjectSupportMaterial::PrintObjectSupportMaterial(const PrintObject *object m_print_config (&object->print()->config()), m_object_config (&object->config()), m_slicing_params (slicing_params), - m_support_params (*object), - m_object (object) + m_support_params (*object) { } diff --git a/src/libslic3r/Support/SupportMaterial.hpp b/src/libslic3r/Support/SupportMaterial.hpp index 50b8256c4a..6d5355dab1 100644 --- a/src/libslic3r/Support/SupportMaterial.hpp +++ b/src/libslic3r/Support/SupportMaterial.hpp @@ -86,7 +86,6 @@ private: */ // Following objects are not owned by SupportMaterial class. - const PrintObject *m_object; const PrintConfig *m_print_config; const PrintObjectConfig *m_object_config; // Pre-calculated parameters shared between the object slicer and the support generator, diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index 2b06f11244..519b6e826e 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -2846,7 +2846,9 @@ void TreeSupport::drop_nodes() const MinimumSpanningTree& mst = spanning_trees[group_index]; //In the first pass, merge all nodes that are close together. std::vector> nodes_vec(nodes_this_part.begin(), nodes_this_part.end()); - tbb::parallel_for_each(nodes_vec.begin(), nodes_vec.end(), [&](const std::pair& entry) { + // Sequential: nodes merge into and invalidate each other in place, so parallel execution + // makes the merge order (and thus the result) depend on thread scheduling. + std::for_each(nodes_vec.begin(), nodes_vec.end(), [&](const std::pair& entry) { SupportNode* p_node = entry.second; SupportNode& node = *p_node; if (!p_node->valid) @@ -2934,7 +2936,32 @@ void TreeSupport::drop_nodes() ); //In the second pass, move all middle nodes. - tbb::parallel_for_each(nodes_vec.begin(), nodes_vec.end(), [&](const std::pair& entry) { + // Still parallel: this pass only reads other nodes. Side effects (invalidation, new + // nodes, contact_nodes/unsupported_branch_leaves updates) are recorded per node and + // applied afterwards in node order. Node creation must be deferred too, since + // SupportNode's constructor writes `parent->child = this` on other nodes. + struct PendingNode { + Point position; + int distance_to_top = 0; + int support_roof_layers_below = 0; + bool to_buildplate = false; + SupportNode *parent = nullptr; + bool zero_max_move = false; + bool has_overhang = false; + ExPolygon overhang; + bool clamp_radius = false; + coordf_t parent_radius = 0; + double dist_to_outer = 0; + }; + struct PassTwoResult { + bool invalidate = false; + bool unsupported_leaf = false; + std::vector pending; + }; + std::vector pass2_results(nodes_vec.size()); + auto pass2_body = [&](size_t node_idx) { + const std::pair& entry = nodes_vec[node_idx]; + PassTwoResult& pass2_out = pass2_results[node_idx]; SupportNode* p_node = entry.second; const SupportNode& node = *p_node; @@ -2949,14 +2976,16 @@ void TreeSupport::drop_nodes() ExPolygons overhangs_next = diff_clipped({ node.overhang }, get_collision(0, obj_layer_nr_next)); for(auto& overhang:overhangs_next) { Point next_pt = overhang.contour.centroid(); - SupportNode *next_node = m_ts_data->create_node(next_pt, p_node->distance_to_top + 1, obj_layer_nr_next, - p_node->support_roof_layers_below - (p_node->distance_to_top >= 0 ? 1 : 0), - to_buildplate, p_node, print_z_next, height_next); - next_node->max_move_dist = 0; - next_node->overhang = std::move(overhang); - m_ts_data->m_mutex.lock(); - contact_nodes[layer_nr_next].emplace_back(next_node); - m_ts_data->m_mutex.unlock(); + PendingNode pending; + pending.position = next_pt; + pending.distance_to_top = p_node->distance_to_top + 1; + pending.support_roof_layers_below = p_node->support_roof_layers_below - (p_node->distance_to_top >= 0 ? 1 : 0); + pending.to_buildplate = to_buildplate; + pending.parent = p_node; + pending.zero_max_move = true; + pending.has_overhang = true; + pending.overhang = std::move(overhang); + pass2_out.pending.emplace_back(std::move(pending)); } return; @@ -2973,17 +3002,17 @@ void TreeSupport::drop_nodes() { if (support_on_buildplate_only) { - unsupported_branch_leaves.push_front({ layer_nr, p_node }); + pass2_out.unsupported_leaf = true; } else { - p_node->valid = false; + pass2_out.invalidate = true; } return; } // if the link between parent and current is cut by contours, mark current as bottom contact node if (p_node->parent && intersection_ln({p_node->position, p_node->parent->position}, layer_contours).empty()==false) { - p_node->valid = false; + pass2_out.invalidate = true; return; } } @@ -3096,20 +3125,47 @@ void TreeSupport::drop_nodes() } auto next_collision = get_collision(0, obj_layer_nr_next); const bool to_buildplate = !is_inside_ex(m_ts_data->m_layer_outlines[obj_layer_nr_next], next_layer_vertex); - SupportNode * next_node = m_ts_data->create_node(next_layer_vertex, node.distance_to_top + 1, obj_layer_nr_next, - node.support_roof_layers_below - (node.distance_to_top >= 0 ? 1 : 0), - to_buildplate, p_node, print_z_next, height_next); // don't increase radius if next node will collide partially with the object (STUDIO-7883) - to_outside = projection_onto(next_collision, next_node->position); + to_outside = projection_onto(next_collision, next_layer_vertex); direction_to_outer = to_outside - node.position; double dist_to_outer = unscale_(direction_to_outer.cast().norm()); - next_node->radius = std::max(node.radius, std::min(next_node->radius, dist_to_outer)); - get_max_move_dist(next_node); - m_ts_data->m_mutex.lock(); - contact_nodes[layer_nr_next].push_back(next_node); - m_ts_data->m_mutex.unlock(); + PendingNode pending; + pending.position = next_layer_vertex; + pending.distance_to_top = node.distance_to_top + 1; + pending.support_roof_layers_below = node.support_roof_layers_below - (node.distance_to_top >= 0 ? 1 : 0); + pending.to_buildplate = to_buildplate; + pending.parent = p_node; + pending.clamp_radius = true; + pending.parent_radius = node.radius; + pending.dist_to_outer = dist_to_outer; + pass2_out.pending.emplace_back(std::move(pending)); + }; + tbb::parallel_for(tbb::blocked_range(0, nodes_vec.size()), + [&pass2_body](const tbb::blocked_range& node_range) { + for (size_t node_idx = node_range.begin(); node_idx < node_range.end(); ++ node_idx) + pass2_body(node_idx); + }); + // Apply the recorded side effects in node order. + for (size_t node_idx = 0; node_idx < nodes_vec.size(); ++ node_idx) { + PassTwoResult& pass2_out = pass2_results[node_idx]; + for (PendingNode& pending : pass2_out.pending) { + SupportNode* next_node = m_ts_data->create_node(pending.position, pending.distance_to_top, obj_layer_nr_next, + pending.support_roof_layers_below, pending.to_buildplate, pending.parent, print_z_next, height_next); + if (pending.zero_max_move) + next_node->max_move_dist = 0; + if (pending.has_overhang) + next_node->overhang = std::move(pending.overhang); + if (pending.clamp_radius) { + next_node->radius = std::max(pending.parent_radius, std::min(next_node->radius, pending.dist_to_outer)); + get_max_move_dist(next_node); + } + contact_nodes[layer_nr_next].push_back(next_node); + } + if (pass2_out.unsupported_leaf) + unsupported_branch_leaves.push_front({ layer_nr, nodes_vec[node_idx].second }); + if (pass2_out.invalidate) + nodes_vec[node_idx].second->valid = false; } - ); } #ifdef SUPPORT_TREE_DEBUG_TO_SVG diff --git a/src/libslic3r/Support/TreeSupport.hpp b/src/libslic3r/Support/TreeSupport.hpp index 61e030ef86..bd5a154e26 100644 --- a/src/libslic3r/Support/TreeSupport.hpp +++ b/src/libslic3r/Support/TreeSupport.hpp @@ -432,7 +432,6 @@ private: size_t m_highest_overhang_layer = 0; std::vector> m_spanning_trees; std::vector< std::unordered_map> m_mst_line_x_layer_contour_caches; - float DO_NOT_MOVER_UNDER_MM = 0.0; coordf_t base_radius = 0.0; const coordf_t MAX_BRANCH_RADIUS = 10.0; const coordf_t MIN_BRANCH_RADIUS = 0.4; diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index 29131502d2..3cd3f4110d 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -2382,13 +2382,10 @@ static void merge_influence_areas( size_t num_buckets_initial; { // How many buckets per first merge iteration? - const size_t num_threads = tbb::this_task_arena::max_concurrency(); - // 4 buckets per thread if possible, - const size_t num_buckets_min = (input_size + 2) / 4; - // 2 buckets per thread otherwise. - const size_t num_buckets_max = input_size / 2; - num_buckets_initial = num_buckets_min >= num_threads ? num_buckets_min : num_buckets_max; - const size_t bucket_size = num_buckets_min >= num_threads ? 4 : 2; + // Fixed at 4: merging is not associative, so sizing buckets off max_concurrency() made + // results depend on the core count of the slicing machine. + const size_t bucket_size = 4; + num_buckets_initial = (input_size + 2) / 4; // Fill in the buckets. SupportElementMerging *it = influence_areas.data(); // Reserve one more bucket to keep a single influence area which will not be merged in the first iteration. diff --git a/src/libslic3r/Thread.cpp b/src/libslic3r/Thread.cpp index 3030b6d194..edd7c2a3d0 100644 --- a/src/libslic3r/Thread.cpp +++ b/src/libslic3r/Thread.cpp @@ -30,6 +30,11 @@ static HMODULE s_hKernel32 = nullptr; static SetThreadDescriptionType s_fnSetThreadDescription = nullptr; static GetThreadDescriptionType s_fnGetThreadDescription = nullptr; +// Convert the FARPROC from GetProcAddress to Fn through a generic function pointer. +template static Fn load_proc(HMODULE module, const char* name) { + return reinterpret_cast(reinterpret_cast(::GetProcAddress(module, name))); +} + static bool WindowsGetSetThreadNameAPIInitialize() { if (! s_SetGetThreadDescriptionInitialized) { @@ -37,8 +42,8 @@ static bool WindowsGetSetThreadNameAPIInitialize() // to initialize s_hKernel32 = LoadLibraryW(L"Kernel32.dll"); if (s_hKernel32) { - s_fnSetThreadDescription = (SetThreadDescriptionType)::GetProcAddress(s_hKernel32, "SetThreadDescription"); - s_fnGetThreadDescription = (GetThreadDescriptionType)::GetProcAddress(s_hKernel32, "GetThreadDescription"); + s_fnSetThreadDescription = load_proc(s_hKernel32, "SetThreadDescription"); + s_fnGetThreadDescription = load_proc(s_hKernel32, "GetThreadDescription"); } s_SetGetThreadDescriptionInitialized = true; } diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index 55d9b716cf..b21da72fc8 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -70,6 +70,7 @@ #define CLI_FILAMENT_CAN_NOT_MAP -66 #define CLI_ONLY_ONE_TPU_SUPPORTED -67 #define CLI_FILAMENTS_NOT_SUPPORTED_BY_EXTRUDER -68 +#define CLI_MIXED_FILAMENT_INVALID -69 #define CLI_SLICING_ERROR -100 #define CLI_GCODE_PATH_CONFLICTS -101 @@ -255,6 +256,10 @@ extern bool is_gallery_file(const std::string& path, char const* type); extern bool is_shapes_dir(const std::string& dir); //BBS: add json support extern bool is_json_file(const std::string& path); +// True if rel_path is relative, has no ".." component and, joined to root, still resolves inside it. +// Both '/' and '\\' are treated as separators on every platform, so an archive rejected on one OS +// is rejected on all of them. +extern bool is_path_within_root(const std::string &rel_path, const boost::filesystem::path &root); // Orca: custom protocal support utils inline bool is_orca_open(const std::string& url) { return boost::starts_with(url, "orcaslicer://open"); } @@ -309,6 +314,9 @@ extern unsigned get_current_pid(); std::string per_user_temp_id(); // Per-user temp root under `base`; an empty `user_id` returns `base` unchanged. std::string per_user_temp_dir(const std::string &base, const std::string &user_id); +// Completes a relative command line input path against the current working directory. Absolute +// paths and custom open protocol URLs are returned unchanged. +std::string resolve_cli_input_path(const std::string &path); // BBS: backup & restore std::string get_process_name(int pid); diff --git a/src/libslic3r/calib.cpp b/src/libslic3r/calib.cpp index 3c2981d822..99625ca196 100644 --- a/src/libslic3r/calib.cpp +++ b/src/libslic3r/calib.cpp @@ -11,12 +11,23 @@ namespace Slic3r { float CalibPressureAdvance::find_optimal_PA_speed(const DynamicPrintConfig &config, double line_width, double layer_height, int extruder_id, int filament_idx) { const double general_suggested_min_speed = 100.0; - double filament_max_volumetric_speed = config.option("filament_max_volumetric_speed")->get_at(filament_idx); + // Read defensively — CLI callers may hand us a config missing optional keys. + auto vector_at = [&config](const char *key, int idx) -> double { + if (const auto *o = config.option(key)) return o->get_at(idx); + const ConfigOptionDef *d = config.def() ? config.def()->get(key) : nullptr; + return (d && d->default_value) ? d->get_default_value()->get_at(idx) : 0.0; + }; + auto nullable_at = [&config](const char *key, int idx) -> double { + if (const auto *o = config.option(key)) return o->get_at(idx); + const ConfigOptionDef *d = config.def() ? config.def()->get(key) : nullptr; + return (d && d->default_value) ? d->get_default_value()->get_at(idx) : 0.0; + }; + double filament_max_volumetric_speed = vector_at("filament_max_volumetric_speed", filament_idx); // todo multi_extruders: - const float nozzle_diameter = config.option("nozzle_diameter")->get_at(extruder_id); + const float nozzle_diameter = vector_at("nozzle_diameter", extruder_id); if (line_width <= 0.) line_width = Flow::auto_extrusion_width(frPerimeter, nozzle_diameter); Flow pattern_line = Flow(line_width, layer_height, nozzle_diameter); - auto pa_speed = std::min(std::max(general_suggested_min_speed, config.option("outer_wall_speed")->get_at(extruder_id)), + auto pa_speed = std::min(std::max(general_suggested_min_speed, nullable_at("outer_wall_speed", extruder_id)), filament_max_volumetric_speed / pattern_line.mm3_per_mm()); return std::floor(pa_speed); diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index 6584566f40..c339da566a 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -93,6 +93,9 @@ static constexpr double INSET_OVERLAP_TOLERANCE = 0.4; static constexpr double EXTERNAL_INFILL_MARGIN = 3; static constexpr double BRIDGE_INFILL_MARGIN = 1; static constexpr double WIPE_TOWER_MARGIN = 1.; +// Margin for system placement of the wipe tower (defaults, re-placement, CLI). Positions +// within WIPE_TOWER_MARGIN stay valid: a user drag down to that limit is respected. +static constexpr double WIPE_TOWER_AUTO_MARGIN = 15.; //FIXME Better to use an inline function with an explicit return type. //inline coord_t scale_(coordf_t v) { return coord_t(floor(v / SCALING_FACTOR + 0.5f)); } #define scale_(val) ((val) / SCALING_FACTOR) diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 5f4baac951..9def5dad17 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -961,7 +961,7 @@ CopyFileResult copy_file(const std::string &from, const std::string &to, std::st BOOL result = CopyFileW(src_wstr, dst_wstr, FALSE); if (!result) { DWORD errCode = GetLastError(); - error_message = "Error: " + errCode; + error_message = "Error: " + std::to_string(errCode); ret = FAIL_COPY_FILE; goto __finished; } @@ -1088,6 +1088,30 @@ bool is_json_file(const std::string& path) return boost::iends_with(path, ".json"); } +bool is_path_within_root(const std::string &rel_path, const boost::filesystem::path &root) +{ + auto is_separator = [](char c) { return c == '/' || c == '\\'; }; + if (rel_path.empty() || is_separator(rel_path.front()) || (rel_path.size() > 1 && rel_path[1] == ':')) + return false; + for (size_t start = 0; start <= rel_path.size();) { + size_t end = start; + while (end < rel_path.size() && !is_separator(rel_path[end])) + ++end; + if (rel_path.compare(start, end - start, "..") == 0) + return false; + start = end + 1; + } + // Resolve against the canonical root so a symlink inside it cannot lead back out. + try { + const std::string root_str = boost::filesystem::weakly_canonical(root).string(); + const std::string full_str = boost::filesystem::weakly_canonical(root / rel_path).string(); + return full_str.compare(0, root_str.size(), root_str) == 0 && + (full_str.size() == root_str.size() || full_str[root_str.size()] == boost::filesystem::path::preferred_separator); + } catch (const boost::filesystem::filesystem_error &) { + return false; + } +} + bool is_img_file(const std::string &path) { return boost::iends_with(path, ".png") || boost::iends_with(path, ".svg"); @@ -1315,6 +1339,19 @@ std::string per_user_temp_dir(const std::string &base, const std::string &user_i return base + "/orcaslicer_" + user_id; } +std::string resolve_cli_input_path(const std::string &path) +{ + const boost::filesystem::path input(path); + if (path.empty() || is_supported_open_protocol(path) || input.is_absolute()) + return path; + + boost::system::error_code ec; + const boost::filesystem::path resolved = boost::filesystem::system_complete(input, ec); + if (ec) + return path; + return resolved.lexically_normal().make_preferred().string(); +} + // BBS: backup & restore std::string get_process_name(int pid) { diff --git a/src/libvgcode/include/Viewer.hpp b/src/libvgcode/include/Viewer.hpp index 5141245d96..179105032d 100644 --- a/src/libvgcode/include/Viewer.hpp +++ b/src/libvgcode/include/Viewer.hpp @@ -60,6 +60,22 @@ public: // using the given camera matrices. // void render(const Mat4x4& view_matrix, const Mat4x4& projection_matrix); + // + // ORCA: realistic view. Render the toolpaths as seen from the light, to fill the caller's + // shadow map. Depth only - the caller masks colour writes and owns the framebuffer. + // + void render_shadow_casters(const Mat4x4& view_matrix, const Mat4x4& projection_matrix, const Vec3& light_position); + // + // ORCA: realistic view. The shadow map the toolpaths sample, in the given texture unit. + // intensity == 0, the default, turns the lookup off and restores the plain shading. + // + void set_shadow_map(int texture_unit, const Mat4x4& light_view_projection, float intensity, float texel_size); + // + // ORCA: tone applied to the shaded toolpaths, to pay back the light the lighting term, + // the shadow and the SSAO pass each take off. 1.0/1.0, the default, is a no-op; the + // caller decides which of the two it varies with the realistic view setting. + // + void set_tone(float exposure, float saturation); // // ************************************************************************ diff --git a/src/libvgcode/src/SegmentTemplate.cpp b/src/libvgcode/src/SegmentTemplate.cpp index 4e692d5b10..9d9872aa3b 100644 --- a/src/libvgcode/src/SegmentTemplate.cpp +++ b/src/libvgcode/src/SegmentTemplate.cpp @@ -15,7 +15,12 @@ namespace libvgcode { //| 2--0-------5--7 | //| \ | | / | //| 3-------4 | -static constexpr const std::array VERTEX_DATA = { +// The eight corners the vertex shader knows how to place. Each is sent once and +// referenced by INDEX_DATA below, so the post-transform cache can reuse it across +// the triangles that share it: the shader runs 8 times per segment instead of 24. +static constexpr const std::array VERTEX_DATA = { 0, 1, 2, 3, 4, 5, 6, 7 }; + +static constexpr const std::array INDEX_DATA = { 0, 1, 2, // front spike 0, 2, 3, // front spike 0, 3, 4, // right/bottom body @@ -31,7 +36,7 @@ void SegmentTemplate::init() if (m_vao_id != 0) return; - m_size_in_bytes_gpu += VERTEX_DATA.size() * sizeof(uint8_t); + m_size_in_bytes_gpu += (VERTEX_DATA.size() + INDEX_DATA.size()) * sizeof(uint8_t); int curr_vertex_array; glsafe(glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &curr_vertex_array)); @@ -51,12 +56,22 @@ void SegmentTemplate::init() glsafe(glVertexAttribIPointer(0, 1, GL_UNSIGNED_BYTE, 0, (const void*)0)); #endif // ENABLE_OPENGL_ES + // The element buffer binding is part of the vao state, so it is left bound here + // and restored together with the vao. + glsafe(glGenBuffers(1, &m_ibo_id)); + glsafe(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_ibo_id)); + glsafe(glBufferData(GL_ELEMENT_ARRAY_BUFFER, INDEX_DATA.size() * sizeof(uint8_t), INDEX_DATA.data(), GL_STATIC_DRAW)); + glsafe(glBindBuffer(GL_ARRAY_BUFFER, curr_array_buffer)); glsafe(glBindVertexArray(curr_vertex_array)); } void SegmentTemplate::shutdown() { + if (m_ibo_id != 0) { + glsafe(glDeleteBuffers(1, &m_ibo_id)); + m_ibo_id = 0; + } if (m_vbo_id != 0) { glsafe(glDeleteBuffers(1, &m_vbo_id)); m_vbo_id = 0; @@ -71,14 +86,15 @@ void SegmentTemplate::shutdown() void SegmentTemplate::render(size_t count) { - if (m_vao_id == 0 || m_vbo_id == 0 || count == 0) + if (m_vao_id == 0 || m_vbo_id == 0 || m_ibo_id == 0 || count == 0) return; int curr_vertex_array; glsafe(glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &curr_vertex_array)); glsafe(glBindVertexArray(m_vao_id)); - glsafe(glDrawArraysInstanced(GL_TRIANGLES, 0, static_cast(VERTEX_DATA.size()), static_cast(count))); + glsafe(glDrawElementsInstanced(GL_TRIANGLES, static_cast(INDEX_DATA.size()), GL_UNSIGNED_BYTE, + nullptr, static_cast(count))); glsafe(glBindVertexArray(curr_vertex_array)); } diff --git a/src/libvgcode/src/SegmentTemplate.hpp b/src/libvgcode/src/SegmentTemplate.hpp index f104eef5d2..117ed2b678 100644 --- a/src/libvgcode/src/SegmentTemplate.hpp +++ b/src/libvgcode/src/SegmentTemplate.hpp @@ -40,6 +40,7 @@ private: // unsigned int m_vao_id{ 0 }; unsigned int m_vbo_id{ 0 }; + unsigned int m_ibo_id{ 0 }; // // Size of the data sent to gpu, in bytes. // diff --git a/src/libvgcode/src/Shaders.hpp b/src/libvgcode/src/Shaders.hpp index 1450d1a6df..596b42df5c 100644 --- a/src/libvgcode/src/Shaders.hpp +++ b/src/libvgcode/src/Shaders.hpp @@ -16,7 +16,8 @@ static const char* Segments_Vertex_Shader = "#define FIX_TWISTING\n" "const vec3 light_top_dir = vec3(-0.4574957, 0.4574957, 0.7624929);\n" "const float light_top_diffuse = 0.6 * 0.8;\n" -"const float light_top_specular = 0.6 * 0.125;\n" +// ORCA: the specular was 0.6 * 0.125, too faint to give the filament any sheen. +"const float light_top_specular = 0.6 * 0.25;\n" "const float light_top_shininess = 20.0;\n" "const vec3 light_front_dir = vec3(0.6985074, 0.1397015, 0.6985074);\n" "const float light_front_diffuse = 0.6 * 0.2;\n" @@ -30,8 +31,19 @@ static const char* Segments_Vertex_Shader = "uniform samplerBuffer height_width_angle_tex;\n" "uniform samplerBuffer color_tex;\n" "uniform usamplerBuffer segment_index_tex;\n" +// ORCA: 0 during the shadow caster pass - the bias below shifts eye_position but not +// world_position, so the caster would write a depth the receiver never looks up. +"uniform float bias_scale;\n" "in int vertex_id;\n" "out vec3 color;\n" +"// ORCA: realistic view - the light the shadow map is able to block, kept apart from the\n" +"// ambient and emissive terms in color, which a shadow does not occlude. Their sum is the\n" +"// single lighting term this replaces, so shading is unchanged while shadows are off.\n" +"out vec3 color_direct;\n" +"// ORCA: realistic view - the fragment shader looks the fragment up in the shadow map, which\n" +"// needs its world position and, for the depth bias, its eye space normal.\n" +"out vec3 world_position;\n" +"out vec3 shadow_normal;\n" "vec3 decode_color(float color) {\n" " int c = int(round(color));\n" " int r = (c >> 16) & 0xFF;\n" @@ -40,11 +52,11 @@ static const char* Segments_Vertex_Shader = " float f = 1.0 / 255.0f;\n" " return f * vec3(r, g, b);\n" "}\n" -"float lighting(vec3 eye_position, vec3 eye_normal) {\n" +"float direct_lighting(vec3 eye_position, vec3 eye_normal) {\n" " float top_diffuse = light_top_diffuse * max(dot(eye_normal, light_top_dir), 0.0);\n" " float front_diffuse = light_front_diffuse * max(dot(eye_normal, light_front_dir), 0.0);\n" " float top_specular = light_top_specular * pow(max(dot(-normalize(eye_position), reflect(-light_top_dir, eye_normal)), 0.0), light_top_shininess);\n" -" return ambient + top_diffuse + front_diffuse + top_specular + emission;\n" +" return top_diffuse + front_diffuse + top_specular;\n" "}\n" "void main() {\n" " int id_a = int(texelFetch(segment_index_tex, gl_InstanceID).r);\n" @@ -135,19 +147,63 @@ static const char* Segments_Vertex_Shader = " }\n" " vec3 eye_position = (view_matrix * vec4(pos, 1.0)).xyz;\n" " // ORCA: Apply bias to z-position to avoid z-fighting\n" -" eye_position.z += bias;\n" +" eye_position.z += bias * bias_scale;\n" " vec3 eye_normal = (view_matrix * vec4(normalize(pos - endpoint_pos), 0.0)).xyz;\n" " vec3 color_base = decode_color(texelFetch(color_tex, id).r);\n" -" color = color_base * lighting(eye_position, eye_normal);\n" +" color = color_base * (ambient + emission);\n" +" color_direct = color_base * direct_lighting(eye_position, eye_normal);\n" +" world_position = pos;\n" +" shadow_normal = eye_normal;\n" " gl_Position = projection_matrix * vec4(eye_position, 1.0);\n" "}\n"; static const char* Segments_Fragment_Shader = "#version 150\n" +"// ORCA: realistic view - object-on-object and self shadows, read from the same depth map the\n" +"// rest of the 3D scene samples. shadow_intensity == 0, the default, short-circuits the lookup,\n" +"// so the toolpaths shade exactly as before whenever realistic view is off.\n" +"const vec3 SHADOW_LIGHT_DIR = vec3(-0.4574957, 0.4574957, 0.7624929);\n" +"uniform sampler2D shadow_map;\n" +"uniform mat4 shadow_light_vp;\n" +"uniform float shadow_intensity;\n" +"uniform float shadow_map_texel;\n" +// ORCA: the lighting term peaks near 0.9 and every later multiplier - the shadow, then the SSAO +// post pass - only takes more light away, so the print reads dimmer and duller than the legend +// colours. These pay that back. Both are 1.0 for an untouched image; what the caller actually +// passes in each mode is decided in GLCanvas3D::_render_gcode, not here. +"uniform float exposure;\n" +"uniform float saturation;\n" +"const vec3 LUMA = vec3(0.2126, 0.7152, 0.0722);\n" "in vec3 color;\n" +"in vec3 color_direct;\n" +"in vec3 world_position;\n" +"in vec3 shadow_normal;\n" "out vec4 fragment_color;\n" +"float shadow_shade() {\n" +" if (shadow_intensity <= 0.0)\n" +" return 1.0;\n" +" vec4 lp = shadow_light_vp * vec4(world_position, 1.0);\n" +" vec3 proj = lp.xyz / lp.w;\n" +" proj = proj * 0.5 + 0.5;\n" +" if (proj.z > 1.0)\n" +" return 1.0;\n" +" // Slope-scaled bias, as in gouraud.fs. An extrusion is only a handful of shadow-map texels\n" +" // wide, so grazing faces need the larger bias to keep self-shadow acne off the top surfaces.\n" +" float NdotL = dot(normalize(shadow_normal), SHADOW_LIGHT_DIR);\n" +" float bias = mix(0.0004, 0.004, clamp(1.0 - NdotL, 0.0, 1.0));\n" +" float sum = 0.0;\n" +" for (int x = -2; x <= 2; ++x) {\n" +" for (int y = -2; y <= 2; ++y) {\n" +" float closest = texture(shadow_map, proj.xy + vec2(float(x), float(y)) * shadow_map_texel).r;\n" +" sum += (proj.z - bias > closest) ? 1.0 : 0.0;\n" +" }\n" +" }\n" +" return 1.0 - shadow_intensity * (sum / 25.0);\n" +"}\n" "void main() {\n" -" fragment_color = vec4(color, 1.0);\n" +" vec3 c = (color + color_direct * shadow_shade()) * exposure;\n" +" c = mix(vec3(dot(c, LUMA)), c, saturation);\n" +" fragment_color = vec4(clamp(c, 0.0, 1.0), 1.0);\n" "}\n"; static const char* Options_Vertex_Shader = diff --git a/src/libvgcode/src/ShadersES.hpp b/src/libvgcode/src/ShadersES.hpp index e688fa7b4c..4194b836e3 100644 --- a/src/libvgcode/src/ShadersES.hpp +++ b/src/libvgcode/src/ShadersES.hpp @@ -17,7 +17,8 @@ static const char* Segments_Vertex_Shader_ES = "#define FIX_TWISTING\n" "const vec3 light_top_dir = vec3(-0.4574957, 0.4574957, 0.7624929);\n" "const float light_top_diffuse = 0.6 * 0.8;\n" -"const float light_top_specular = 0.6 * 0.125;\n" +// ORCA: the specular was 0.6 * 0.125, too faint to give the filament any sheen. +"const float light_top_specular = 0.6 * 0.25;\n" "const float light_top_shininess = 20.0;\n" "const vec3 light_front_dir = vec3(0.6985074, 0.1397015, 0.6985074);\n" "const float light_front_diffuse = 0.6 * 0.3;\n" @@ -33,6 +34,14 @@ static const char* Segments_Vertex_Shader_ES = "uniform usampler2D segment_index_tex;\n" "in float vertex_id_float;\n" "out vec3 color;\n" +"// ORCA: realistic view - the light the shadow map is able to block, kept apart from the\n" +"// ambient and emissive terms in color, which a shadow does not occlude. Their sum is the\n" +"// single lighting term this replaces, so shading is unchanged while shadows are off.\n" +"out vec3 color_direct;\n" +"// ORCA: realistic view - the fragment shader looks the fragment up in the shadow map, which\n" +"// needs its world position and, for the depth bias, its eye space normal.\n" +"out vec3 world_position;\n" +"out vec3 shadow_normal;\n" "vec3 decode_color(float color) {\n" " int c = int(round(color));\n" " int r = (c >> 16) & 0xFF;\n" @@ -41,11 +50,11 @@ static const char* Segments_Vertex_Shader_ES = " float f = 1.0 / 255.0f;\n" " return f * vec3(r, g, b);\n" "}\n" -"float lighting(vec3 eye_position, vec3 eye_normal) {\n" +"float direct_lighting(vec3 eye_position, vec3 eye_normal) {\n" " float top_diffuse = light_top_diffuse * max(dot(eye_normal, light_top_dir), 0.0);\n" " float front_diffuse = light_front_diffuse * max(dot(eye_normal, light_front_dir), 0.0);\n" " float top_specular = light_top_specular * pow(max(dot(-normalize(eye_position), reflect(-light_top_dir, eye_normal)), 0.0), light_top_shininess);\n" -" return ambient + top_diffuse + front_diffuse + top_specular + emission;\n" +" return top_diffuse + front_diffuse + top_specular;\n" "}\n" "ivec2 tex_coord(sampler2D sampler, int id) {\n" " ivec2 tex_size = textureSize(sampler, 0);\n" @@ -143,17 +152,64 @@ static const char* Segments_Vertex_Shader_ES = " vec3 eye_position = (view_matrix * vec4(pos, 1.0)).xyz;\n" " vec3 eye_normal = (view_matrix * vec4(normalize(pos - endpoint_pos), 0.0)).xyz;\n" " vec3 color_base = decode_color(texelFetch(color_tex, tex_coord(color_tex, id), 0).r);\n" -" color = color_base * lighting(eye_position, eye_normal);\n" +" color = color_base * (ambient + emission);\n" +" color_direct = color_base * direct_lighting(eye_position, eye_normal);\n" +" world_position = pos;\n" +" shadow_normal = eye_normal;\n" " gl_Position = projection_matrix * vec4(eye_position, 1.0);\n" "}\n"; static const char* Segments_Fragment_Shader_ES = "#version 300 es\n" "precision highp float;\n" +"// ORCA: sampler2D defaults to lowp in an ES fragment shader, far too coarse to compare\n" +"// shadow map depths against.\n" +"precision highp sampler2D;\n" +"// ORCA: realistic view - object-on-object and self shadows, read from the same depth map the\n" +"// rest of the 3D scene samples. shadow_intensity == 0, the default, short-circuits the lookup,\n" +"// so the toolpaths shade exactly as before whenever realistic view is off.\n" +"const vec3 SHADOW_LIGHT_DIR = vec3(-0.4574957, 0.4574957, 0.7624929);\n" +"uniform sampler2D shadow_map;\n" +"uniform mat4 shadow_light_vp;\n" +"uniform float shadow_intensity;\n" +"uniform float shadow_map_texel;\n" +// ORCA: the lighting term peaks near 0.9 and every later multiplier - the shadow, then the SSAO +// post pass - only takes more light away, so the print reads dimmer and duller than the legend +// colours. These pay that back. Both are 1.0 for an untouched image; what the caller actually +// passes in each mode is decided in GLCanvas3D::_render_gcode, not here. +"uniform float exposure;\n" +"uniform float saturation;\n" +"const vec3 LUMA = vec3(0.2126, 0.7152, 0.0722);\n" "in vec3 color;\n" +"in vec3 color_direct;\n" +"in vec3 world_position;\n" +"in vec3 shadow_normal;\n" "out vec4 fragment_color;\n" +"float shadow_shade() {\n" +" if (shadow_intensity <= 0.0)\n" +" return 1.0;\n" +" vec4 lp = shadow_light_vp * vec4(world_position, 1.0);\n" +" vec3 proj = lp.xyz / lp.w;\n" +" proj = proj * 0.5 + 0.5;\n" +" if (proj.z > 1.0)\n" +" return 1.0;\n" +" // Slope-scaled bias, as in gouraud.fs. An extrusion is only a handful of shadow-map texels\n" +" // wide, so grazing faces need the larger bias to keep self-shadow acne off the top surfaces.\n" +" float NdotL = dot(normalize(shadow_normal), SHADOW_LIGHT_DIR);\n" +" float bias = mix(0.0004, 0.004, clamp(1.0 - NdotL, 0.0, 1.0));\n" +" float sum = 0.0;\n" +" for (int x = -2; x <= 2; ++x) {\n" +" for (int y = -2; y <= 2; ++y) {\n" +" float closest = texture(shadow_map, proj.xy + vec2(float(x), float(y)) * shadow_map_texel).r;\n" +" sum += (proj.z - bias > closest) ? 1.0 : 0.0;\n" +" }\n" +" }\n" +" return 1.0 - shadow_intensity * (sum / 25.0);\n" +"}\n" "void main() {\n" -" fragment_color = vec4(color, 1.0);\n" +" vec3 c = (color + color_direct * shadow_shade()) * exposure;\n" +" c = mix(vec3(dot(c, LUMA)), c, saturation);\n" +" fragment_color = vec4(clamp(c, 0.0, 1.0), 1.0);\n" "}\n"; static const char* Options_Vertex_Shader_ES = diff --git a/src/libvgcode/src/Viewer.cpp b/src/libvgcode/src/Viewer.cpp index eb606598e9..61d7310508 100644 --- a/src/libvgcode/src/Viewer.cpp +++ b/src/libvgcode/src/Viewer.cpp @@ -42,6 +42,21 @@ void Viewer::render(const Mat4x4& view_matrix, const Mat4x4& projection_matrix) m_impl->render(view_matrix, projection_matrix); } +void Viewer::render_shadow_casters(const Mat4x4& view_matrix, const Mat4x4& projection_matrix, const Vec3& light_position) +{ + m_impl->render_shadow_casters(view_matrix, projection_matrix, light_position); +} + +void Viewer::set_shadow_map(int texture_unit, const Mat4x4& light_view_projection, float intensity, float texel_size) +{ + m_impl->set_shadow_map(texture_unit, light_view_projection, intensity, texel_size); +} + +void Viewer::set_tone(float exposure, float saturation) +{ + m_impl->set_tone(exposure, saturation); +} + EViewType Viewer::get_view_type() const { return m_impl->get_view_type(); diff --git a/src/libvgcode/src/ViewerImpl.cpp b/src/libvgcode/src/ViewerImpl.cpp index da1a601149..b1a7550b42 100644 --- a/src/libvgcode/src/ViewerImpl.cpp +++ b/src/libvgcode/src/ViewerImpl.cpp @@ -763,6 +763,14 @@ void ViewerImpl::init(const std::string& opengl_context_version) m_uni_segments_height_width_angle_tex_id = glGetUniformLocation(m_segments_shader_id, "height_width_angle_tex"); m_uni_segments_colors_tex_id = glGetUniformLocation(m_segments_shader_id, "color_tex"); m_uni_segments_segment_index_tex_id = glGetUniformLocation(m_segments_shader_id, "segment_index_tex"); + // ORCA: realistic view + m_uni_segments_shadow_map_id = glGetUniformLocation(m_segments_shader_id, "shadow_map"); + m_uni_segments_shadow_light_vp_id = glGetUniformLocation(m_segments_shader_id, "shadow_light_vp"); + m_uni_segments_shadow_intensity_id = glGetUniformLocation(m_segments_shader_id, "shadow_intensity"); + m_uni_segments_shadow_map_texel_id = glGetUniformLocation(m_segments_shader_id, "shadow_map_texel"); + m_uni_segments_exposure_id = glGetUniformLocation(m_segments_shader_id, "exposure"); + m_uni_segments_saturation_id = glGetUniformLocation(m_segments_shader_id, "saturation"); + m_uni_segments_bias_scale_id = glGetUniformLocation(m_segments_shader_id, "bias_scale"); glcheck(); assert(m_uni_segments_view_matrix_id != -1 && m_uni_segments_projection_matrix_id != -1 && @@ -875,6 +883,12 @@ void ViewerImpl::reset() m_travels_time = { 0.0f, 0.0f }; m_vertices.clear(); m_vertices_colors.clear(); + // swap rather than clear: these are sized by the print, and a reset means the memory + // should go back, not sit reserved until the next load + for (std::vector& times : m_layer_start_times) + std::vector().swap(times); + std::vector().swap(m_layer_first_vertex); + std::vector().swap(m_colors_scratch); m_valid_lines_bitset.clear(); #if VGCODE_ENABLE_COG_AND_TOOL_MARKERS m_cog_marker.reset(); @@ -1048,6 +1062,37 @@ void ViewerImpl::load(GCodeInputData&& gcode_data) v.layer_duration = m_layers.get_layer_time(m_settings.time_mode, static_cast(v.layer_id)); } + // Index of the first vertex of each layer, walked back to front so that a layer with no + // vertex of its own inherits the next layer's index and the array stays non-decreasing. + if (!m_layers.empty()) { + const uint32_t vertices_count = static_cast(m_vertices.size()); + m_layer_first_vertex.assign(m_layers.count(), vertices_count); + for (uint32_t i = vertices_count; i > 0; --i) { + const uint32_t layer_id = m_vertices[i - 1].layer_id; + if (layer_id < m_layer_first_vertex.size()) + m_layer_first_vertex[layer_id] = i - 1; + } + for (size_t i = m_layer_first_vertex.size() - 1; i > 0; --i) + m_layer_first_vertex[i - 1] = std::min(m_layer_first_vertex[i - 1], m_layer_first_vertex[i]); + + // the running time at each layer's first vertex, summed in vertex order so that + // get_estimated_time_at() matches a full accumulation exactly + std::array running{}; + for (std::vector& times : m_layer_start_times) + times.assign(m_layer_first_vertex.size(), 0.0f); + size_t layer = 0; + for (size_t i = 0; i <= m_vertices.size(); ++i) { + for (; layer < m_layer_first_vertex.size() && m_layer_first_vertex[layer] == i; ++layer) { + for (size_t j = 0; j < TIME_MODES_COUNT; ++j) + m_layer_start_times[j][layer] = running[j]; + } + if (i < m_vertices.size()) { + for (size_t j = 0; j < TIME_MODES_COUNT; ++j) + running[j] += m_vertices[i].times[j]; + } + } + } + if (!m_layers.empty()) m_layers.set_view_range(0, static_cast(m_layers.count()) - 1); @@ -1261,7 +1306,10 @@ void ViewerImpl::update_colors_texture() // Based on current settings and slider position, we might want to render some // vertices as dark grey (or darkened, see above). Use either that or the normal color (from the cache). - std::vector colors(m_vertices_colors.size()); + // Reused across calls: this runs on every slider tick, and the allocation alone is + // 4 bytes per vertex of the whole print each time. + std::vector& colors = m_colors_scratch; + colors.resize(m_vertices_colors.size()); assert(colors.size() == m_vertices.size() && m_vertices_colors.size() == m_vertices.size()); for (size_t i=0; i(m_settings.time_mode)]; }); + const size_t mode = static_cast(m_settings.time_mode); + if (mode >= TIME_MODES_COUNT || id >= m_vertices.size()) + return 0.0f; + size_t first = 0; + float time = 0.0f; + const size_t layer = static_cast(m_vertices[id].layer_id); + if (layer < m_layer_first_vertex.size() && m_layer_first_vertex[layer] <= id) { + first = m_layer_first_vertex[layer]; + time = m_layer_start_times[mode][layer]; + } + for (size_t i = first; i <= id; ++i) + time += m_vertices[i].times[mode]; + return time; } Color ViewerImpl::get_vertex_color(const PathVertex& v) const @@ -1722,6 +1810,10 @@ size_t ViewerImpl::get_used_cpu_memory() const ret += sizeof(m_extrusion_roles_colors); ret += sizeof(m_options_colors); ret += STDVEC_MEMSIZE(m_vertices, PathVertex); + for (const std::vector& times : m_layer_start_times) + ret += STDVEC_MEMSIZE(times, float); + ret += STDVEC_MEMSIZE(m_layer_first_vertex, uint32_t); + ret += STDVEC_MEMSIZE(m_colors_scratch, float); ret += m_valid_lines_bitset.size_in_bytes_cpu(); ret += m_height_range.size_in_bytes_cpu(); ret += m_width_range.size_in_bytes_cpu(); @@ -1787,7 +1879,11 @@ void ViewerImpl::update_view_full_range() const bool travels_visible = m_settings.options_visibility[size_t(EOptionType::Travels)]; const bool wipes_visible = m_settings.options_visibility[size_t(EOptionType::Wipes)]; + // every vertex before m_layer_first_vertex[layers_range[0]] has a smaller layer_id, so the loop + // below would skip all of them anyway auto first_it = m_vertices.begin(); + if (layers_range[0] < m_layer_first_vertex.size()) + first_it += m_layer_first_vertex[layers_range[0]]; while (first_it != m_vertices.end() && (first_it->layer_id < layers_range[0] || !is_visible(*first_it, m_settings))) { ++first_it; @@ -1994,6 +2090,15 @@ void ViewerImpl::render_segments(const Mat4x4& view_matrix, const Mat4x4& projec glsafe(glUniformMatrix4fv(m_uni_segments_view_matrix_id, 1, GL_FALSE, view_matrix.data())); glsafe(glUniformMatrix4fv(m_uni_segments_projection_matrix_id, 1, GL_FALSE, projection_matrix.data())); glsafe(glUniform3fv(m_uni_segments_camera_position_id, 1, camera_position.data())); + // ORCA: realistic view. The depth pass writes the map it would otherwise read, so it shades + // with the lookup off. + glsafe(glUniform1i(m_uni_segments_shadow_map_id, m_shadow_map_texture_unit)); + glsafe(glUniformMatrix4fv(m_uni_segments_shadow_light_vp_id, 1, GL_FALSE, m_shadow_light_vp.data())); + glsafe(glUniform1f(m_uni_segments_shadow_intensity_id, m_rendering_shadow_casters ? 0.0f : m_shadow_intensity)); + glsafe(glUniform1f(m_uni_segments_shadow_map_texel_id, m_shadow_map_texel)); + glsafe(glUniform1f(m_uni_segments_exposure_id, m_exposure)); + glsafe(glUniform1f(m_uni_segments_saturation_id, m_saturation)); + glsafe(glUniform1f(m_uni_segments_bias_scale_id, m_rendering_shadow_casters ? 0.0f : 1.0f)); glsafe(glDisable(GL_CULL_FACE)); diff --git a/src/libvgcode/src/ViewerImpl.hpp b/src/libvgcode/src/ViewerImpl.hpp index 4da312fc0e..c9d658beb1 100644 --- a/src/libvgcode/src/ViewerImpl.hpp +++ b/src/libvgcode/src/ViewerImpl.hpp @@ -71,6 +71,24 @@ public: // Render the toolpaths // void render(const Mat4x4& view_matrix, const Mat4x4& projection_matrix); + // + // ORCA: realistic view. Render the toolpaths as seen from the light, to fill the caller's + // shadow map. Only depth matters here, so the caller masks colour writes; light_position + // takes the place of the camera when the segment boxes are expanded, which gives their + // silhouette as the light sees it. + // + void render_shadow_casters(const Mat4x4& view_matrix, const Mat4x4& projection_matrix, const Vec3& light_position); + // + // ORCA: realistic view. The shadow map the toolpaths sample, in the given texture unit. + // intensity == 0, the default, turns the lookup off and restores the plain shading. + // + void set_shadow_map(int texture_unit, const Mat4x4& light_view_projection, float intensity, float texel_size); + // + // ORCA: tone applied to the shaded toolpaths, to pay back the light the lighting term, + // the shadow and the SSAO pass each take off. 1.0/1.0, the default, is a no-op; the + // caller decides which of the two it varies with the realistic view setting. + // + void set_tone(float exposure, float saturation); EViewType get_view_type() const { return m_settings.view_type; } void set_view_type(EViewType type); @@ -234,6 +252,20 @@ private: // std::array m_total_time{ 0.0f, 0.0f }; // + // Running sum of the vertex estimated times at each layer's first vertex, for each time mode, + // so that get_estimated_time_at() only accumulates the vertices of one layer. + // + std::array, TIME_MODES_COUNT> m_layer_start_times; + // + // For each layer L, the index of the first vertex whose layer_id is >= L (m_vertices.size() + // if there is none). Derived from the vertices, so it stays exact whatever order they arrive in. + // + std::vector m_layer_first_vertex; + // + // Scratch buffer for update_colors_texture(), kept alive across slider steps + // + std::vector m_colors_scratch; + // // Detected travel moves times // std::array m_travels_time{ 0.0f, 0.0f }; @@ -330,6 +362,13 @@ private: int m_uni_segments_height_width_angle_tex_id{ -1 }; int m_uni_segments_colors_tex_id{ -1 }; int m_uni_segments_segment_index_tex_id{ -1 }; + int m_uni_segments_shadow_map_id{ -1 }; + int m_uni_segments_shadow_light_vp_id{ -1 }; + int m_uni_segments_shadow_intensity_id{ -1 }; + int m_uni_segments_shadow_map_texel_id{ -1 }; + int m_uni_segments_exposure_id{ -1 }; + int m_uni_segments_saturation_id{ -1 }; + int m_uni_segments_bias_scale_id{ -1 }; // // Caches for OpenGL uniforms id for options shader // @@ -469,6 +508,27 @@ private: size_t m_enabled_options_tex_size{ 0 }; #endif // ENABLE_OPENGL_ES + // + // ORCA: realistic view. Shadow map state set by set_shadow_map(), consumed by the segments + // shader. m_rendering_shadow_casters forces the intensity to 0 for the depth pass, which + // must not sample the very map it is writing. + // + // Defaults past the four texture units render_segments() binds itself, so the sampler never + // aliases one of the buffer textures before the owner of the map has said where it lives. + int m_shadow_map_texture_unit{ 4 }; + Mat4x4 m_shadow_light_vp{ 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f }; + float m_shadow_intensity{ 0.0f }; + float m_shadow_map_texel{ 0.0f }; + bool m_rendering_shadow_casters{ false }; + + // + // ORCA: realistic view. Tone set by set_tone(), consumed by the segments shader. + // The identity values leave the shading as it is outside realistic view. + // + float m_exposure{ 1.0f }; + float m_saturation{ 1.0f }; + + void apply_pending_updates(); void update_view_full_range(); void update_color_ranges(); void update_heights_widths(); diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index 7c25792bb3..584fc2a2aa 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -14,8 +14,6 @@ set(SLIC3R_GUI_SOURCES GUI/2DBed.hpp GUI/3DBed.cpp GUI/3DBed.hpp - GUI/Widgets/StaticGroup.cpp - GUI/Widgets/StaticGroup.hpp GUI/3DScene.cpp GUI/3DScene.hpp GUI/Widgets/FilamentLoad.cpp @@ -97,6 +95,8 @@ set(SLIC3R_GUI_SOURCES GUI/CloneDialog.hpp GUI/ConfigManipulation.cpp GUI/ConfigManipulation.hpp + GUI/ConfigValueFormatter.cpp + GUI/ConfigValueFormatter.hpp GUI/ConfigWizard.cpp GUI/ConfigWizard.hpp GUI/ConfigWizard_private.hpp @@ -123,10 +123,14 @@ set(SLIC3R_GUI_SOURCES GUI/PluginPickerDialog.hpp GUI/PluginsDialog.cpp GUI/PluginsDialog.hpp + GUI/Shortcuts.cpp + GUI/Shortcuts.hpp GUI/SpeedDialDialog.cpp GUI/SpeedDialDialog.hpp GUI/ActionRegistry.cpp GUI/ActionRegistry.hpp + GUI/NativeCommands.cpp + GUI/NativeCommands.hpp GUI/PluginsConfigDialog.cpp GUI/PluginsConfigDialog.hpp GUI/ProcessRunner.cpp @@ -135,8 +139,16 @@ set(SLIC3R_GUI_SOURCES GUI/TerminalDialog.hpp GUI/PluginProgressDialog.cpp GUI/PluginProgressDialog.hpp - GUI/PluginWebDialog.cpp - GUI/PluginWebDialog.hpp + GUI/WebDialog.cpp + GUI/WebDialog.hpp + GUI/DockPanel.cpp + GUI/DockPanel.hpp + GUI/WebPanel.cpp + GUI/WebPanel.hpp + GUI/Widgets/WebHosting.cpp + GUI/Widgets/WebHosting.hpp + GUI/AuiPaneLayout.cpp + GUI/AuiPaneLayout.hpp GUI/DragCanvas.cpp GUI/DragCanvas.hpp GUI/EditGCodeDialog.cpp @@ -274,6 +286,8 @@ set(SLIC3R_GUI_SOURCES GUI/FilamentMapDialog.hpp GUI/IconManager.cpp GUI/IconManager.hpp + GUI/IdleScheduler.cpp + GUI/IdleScheduler.hpp GUI/ImageGrid.cpp GUI/ImageGrid.h GUI/ImGuiWrapper.cpp @@ -333,6 +347,12 @@ set(SLIC3R_GUI_SOURCES GUI/Jobs/Worker.hpp GUI/KBShortcutsDialog.cpp GUI/KBShortcutsDialog.hpp + GUI/KeyChord.cpp + GUI/KeyChord.hpp + GUI/Lazy.cpp + GUI/Lazy.hpp + GUI/LazyPage.cpp + GUI/LazyPage.hpp GUI/LibVGCode/LibVGCodeWrapper.hpp GUI/LibVGCode/LibVGCodeWrapper.cpp GUI/LinuxDisplayBackend.cpp @@ -419,6 +439,7 @@ set(SLIC3R_GUI_SOURCES GUI/Plater.hpp GUI/PlateSettingsDialog.cpp GUI/PlateSettingsDialog.hpp + GUI/PrebuildQueue.hpp GUI/Preferences.cpp GUI/Preferences.hpp GUI/PresetBundleDialog.cpp @@ -451,6 +472,8 @@ set(SLIC3R_GUI_SOURCES GUI/Project.hpp GUI/PublishDialog.cpp GUI/PublishDialog.hpp + GUI/PublishSettingsDialog.cpp + GUI/PublishSettingsDialog.hpp GUI/PurgeModeDialog.cpp GUI/PurgeModeDialog.hpp GUI/RammingChart.cpp @@ -465,6 +488,8 @@ set(SLIC3R_GUI_SOURCES GUI/SavePresetDialog.hpp GUI/SceneRaycaster.cpp GUI/SceneRaycaster.hpp + GUI/SceneCache.cpp + GUI/SceneCache.hpp GUI/PartSkipCommon.hpp GUI/PartSkipDialog.cpp GUI/PartSkipDialog.hpp @@ -472,6 +497,8 @@ set(SLIC3R_GUI_SOURCES GUI/SkipPartCanvas.hpp GUI/Search.cpp GUI/Search.hpp + GUI/SettingsIndex.cpp + GUI/SettingsIndex.hpp GUI/Selection.cpp GUI/Selection.hpp GUI/SelectMachine.cpp @@ -492,6 +519,7 @@ set(SLIC3R_GUI_SOURCES GUI/SliceInfoPanel.hpp GUI/SlicingProgressNotification.cpp GUI/SlicingProgressNotification.hpp + GUI/StagedBuild.hpp GUI/StatusPanel.cpp GUI/StatusPanel.hpp GUI/StepMeshDialog.cpp @@ -676,6 +704,10 @@ set(SLIC3R_GUI_SOURCES Utils/bambu_networking.hpp Utils/Bonjour.cpp Utils/Bonjour.hpp + Utils/MeshInspect.cpp + Utils/MeshInspect.hpp + Utils/PaintCLI.cpp + Utils/PaintCLI.hpp Utils/CalibUtils.cpp Utils/CalibUtils.hpp Utils/ColorSpaceConvert.cpp @@ -764,6 +796,8 @@ set(SLIC3R_GUI_SOURCES Utils/SimplyPrint.hpp Utils/TCPConsole.cpp Utils/TCPConsole.hpp + Utils/UltiMaker.cpp + Utils/UltiMaker.hpp Utils/UndoRedo.cpp Utils/UndoRedo.hpp Utils/WebSocketClient.hpp @@ -780,6 +814,30 @@ set(SLIC3R_GUI_SOURCES Utils/wxInspectorPlugins/Registration.hpp ) +# Design/CAD tab: parametric sketch UI, its gizmos, and the MCP control socket. +# All of it sits behind SLIC3R_CAD and links the CAD kernel in libslic3r. +if (SLIC3R_CAD) + list(APPEND SLIC3R_GUI_SOURCES + GUI/CAD/DesignPanel.cpp + GUI/CAD/DesignPanel.hpp + GUI/CAD/DesignCanvas.cpp + GUI/CAD/DesignCanvas.hpp + GUI/CAD/DesignSketchTool.cpp + GUI/CAD/DesignSketchTool.hpp + GUI/CAD/DesignOffer.hpp + GUI/CAD/DesignInteraction.hpp + GUI/CAD/SketchInlineEditor.cpp + GUI/CAD/SketchInlineEditor.hpp + GUI/CAD/McpControl.cpp + GUI/CAD/McpControl.hpp + GUI/Gizmos/GLGizmoSketch.cpp + GUI/Gizmos/GLGizmoSketch.hpp + # Needs GeometryEngine (make_primitive / apply_fillet / tessellate). + GUI/Gizmos/GLGizmoPrimitive.cpp + GUI/Gizmos/GLGizmoPrimitive.hpp + ) +endif () + add_subdirectory(GUI/DeviceCore) add_subdirectory(GUI/DeviceTab) diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp index b69ce2bdf8..3d7db8eb32 100644 --- a/src/slic3r/GUI/3DBed.cpp +++ b/src/slic3r/GUI/3DBed.cpp @@ -625,6 +625,12 @@ void Bed3D::update_model_offset() shift(2) = -0.03; Vec3d* model_offset_ptr = const_cast(&m_model_offset); *model_offset_ptr = shift; + //BBS: TODO: hack for current stl for BBL printer + if (std::string::npos != m_model_filename.find("bbl-3dp-")) + { + (*model_offset_ptr)(0) -= m_bed_shape[2].x() / 2.0f; + (*model_offset_ptr)(1) -= m_bed_shape[2].y() / 2.0f; + } (*model_offset_ptr)(2) = -0.41 + GROUND_Z; // update extended bounding box diff --git a/src/slic3r/GUI/3DBed.hpp b/src/slic3r/GUI/3DBed.hpp index b791635fd3..e6335fba3a 100644 --- a/src/slic3r/GUI/3DBed.hpp +++ b/src/slic3r/GUI/3DBed.hpp @@ -134,6 +134,7 @@ public: void set_position(Vec2d& position); void set_axes_mode(bool origin); + void set_axes_origin(const Vec3d& origin) { m_axes.set_origin(origin); } // Design tab: triad at bed centre const Vec2d& get_position() const { return m_position; } // Build volume geometry for various collision detection tasks. diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index f65c0e3532..bf3cdc5303 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -20,6 +20,8 @@ #include "libslic3r/AppConfig.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" #include "libslic3r/Tesselate.hpp" #include "libslic3r/PrintConfig.hpp" @@ -505,10 +507,10 @@ void GLVolume::render_with_outline(const GUI::Size& cnv_size) glsafe(::glClearStencil(0)); glsafe(::glClear(GL_STENCIL_BUFFER_BIT)); glsafe(::glStencilFunc(GL_ALWAYS, 0xFF, 0xFF)); - if (tverts_range == std::make_pair(0, -1)) - model.render(shader); - else - model.render(this->tverts_range, shader); + // This pass paints the visible surface, so it must go through simple_render() to keep + // per-triangle MMU paint colors; the later is_outline passes only draw the flat silhouette + // highlight and are fine using the single-color model. + simple_render(shader, model_objects, colors); glsafe(::glStencilFunc(GL_NOTEQUAL, 0xFF, 0xFF)); glsafe(::glStencilMask(0x00)); shader->set_uniform("is_outline", true); @@ -668,6 +670,8 @@ void GLVolume::simple_render(GLShaderProgram* shader, ModelObjectPtrs& model_obj } while (0); if (color_volume && !picking) { + const bool brighten_selected = selected && !disabled && !force_native_color && !force_neutral_color; + // when force_transparent, we need to keep the alpha if (force_native_color && render_color.is_transparent()) { for (auto &extruder_color : extruder_colors) @@ -689,6 +693,8 @@ void GLVolume::simple_render(GLShaderProgram* shader, ModelObjectPtrs& model_obj int color_idx = std::clamp(extruder_id - 1, 0, int(extruder_colors.size()) - 1); //to make black not too hard too see ColorRGBA new_color = adjust_color_for_rendering(extruder_colors[color_idx]); + if (brighten_selected) + new_color = brighten_color(new_color, 1.25f); if (ban_light) { new_color[3] = (255 - color_idx)/255.0f; } @@ -700,6 +706,8 @@ void GLVolume::simple_render(GLShaderProgram* shader, ModelObjectPtrs& model_obj if (idx <= extruder_colors.size()) { //to make black not too hard too see ColorRGBA new_color = adjust_color_for_rendering(extruder_colors[idx - 1]); + if (brighten_selected) + new_color = brighten_color(new_color, 1.25f); if (ban_light) { new_color[3] = (255 - (idx - 1))/255.0f; } @@ -709,6 +717,8 @@ void GLVolume::simple_render(GLShaderProgram* shader, ModelObjectPtrs& model_obj else { //to make black not too hard too see ColorRGBA new_color = adjust_color_for_rendering(extruder_colors[0]); + if (brighten_selected) + new_color = brighten_color(new_color, 1.25f); if (ban_light) { new_color[3] = (255 - 0) / 255.0f; } @@ -919,6 +929,21 @@ int GLVolumeCollection::load_wipe_tower_preview( GUI::PartPlateList& ppl = GUI::wxGetApp().plater()->get_partplate_list(); std::vector plate_extruders = ppl.get_plate(plate_idx)->get_extruders(true); TriangleMesh wipe_tower_shell = make_cube(width, depth, height); + // The brim is part of the printed footprint: draw it and fold it into the shell so the + // outside-bed shader and the drag clamp react to the true first-layer extent. + const bool show_brim = brim_width > 0.f; + const float brim_height = 0.2f; // one first layer, visual only + TriangleMesh brim_slab; + if (show_brim) { + // The brim follows the real first-layer outline: a Type2 cone-wall tower's base bulges + // past the body box. The wall type and angle are print settings, the planner a printer one. + const DynamicPrintConfig &print_cfg = GUI::wxGetApp().preset_bundle->prints.get_edited_preset().config; + const DynamicPrintConfig &printer_cfg = GUI::wxGetApp().preset_bundle->printers.get_edited_preset().config; + const Polygon outline = estimate_wipe_tower_first_layer_outline(print_cfg, resolve_wipe_tower_type(printer_cfg), width, depth, height); + const Polygons brim_outline = offset(outline, scaled(brim_width)); + brim_slab = WipeTower::its_make_rib_brim(brim_outline.empty() ? outline : brim_outline.front(), brim_height); + wipe_tower_shell.merge(brim_slab); + } for (int extruder_id : plate_extruders) { if (extruder_id <= extruder_colors.size()) colors.push_back(extruder_colors[extruder_id - 1]); @@ -929,14 +954,19 @@ int GLVolumeCollection::load_wipe_tower_preview( // Orca: make it transparent for(auto& color : colors) color.a(0.66f); + const size_t slab_count = colors.size(); // per-filament body slabs; the brim part comes after + if (show_brim && !colors.empty()) + colors.push_back(colors.front()); volumes.emplace_back(new GLWipeTowerVolume(colors)); GLWipeTowerVolume& v = *dynamic_cast(volumes.back()); v.model_per_colors.resize(colors.size()); - for (int i = 0; i < colors.size(); i++) { - TriangleMesh color_part = make_cube(width, depth / colors.size(), height); - color_part.translate({ 0.f, depth * i / colors.size(), 0. }); + for (size_t i = 0; i < slab_count; i++) { + TriangleMesh color_part = make_cube(width, depth / slab_count, height); + color_part.translate({ 0.f, depth * i / slab_count, 0. }); v.model_per_colors[i].init_from(color_part); } + if (show_brim && !colors.empty()) + v.model_per_colors[slab_count].init_from(brim_slab); v.model.init_from(wipe_tower_shell); v.mesh_raycaster = std::make_unique(std::make_shared(wipe_tower_shell)); v.set_convex_hull(wipe_tower_shell); @@ -1127,6 +1157,10 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, const float support_normal_z = get_selection_support_normal_z(); + // The outline passes below are driven by is_outline, which only the object shaders have; with an + // overlay one (wireframe, x-ray) bound they would just draw the volume again. + const bool shader_can_outline = shader->get_uniform_location("is_outline") >= 0; + // Prime depth_tex on every frame so non-outline draws do not keep the // default sampler unit 0, which can conflict with other sampler types. shader->set_uniform("depth_tex", OUTLINE_DEPTH_TEX_UNIT); @@ -1227,7 +1261,7 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, const Matrix3d view_normal_matrix = view_matrix.matrix().block(0, 0, 3, 3) * model_matrix.matrix().block(0, 0, 3, 3).inverse().transpose(); shader->set_uniform("view_normal_matrix", view_normal_matrix); //BBS: add outline related logic - if (volume.first->selected && GUI::wxGetApp().show_outline()) + if (volume.first->selected && shader_can_outline && GUI::wxGetApp().show_outline()) volume.first->render_with_outline(cnv_size); else volume.first->render(); diff --git a/src/slic3r/GUI/AMSDryControl.cpp b/src/slic3r/GUI/AMSDryControl.cpp index c191e24eac..17d7d62ad8 100644 --- a/src/slic3r/GUI/AMSDryControl.cpp +++ b/src/slic3r/GUI/AMSDryControl.cpp @@ -1,6 +1,7 @@ #include "AMSDryControl.hpp" #include "slic3r/GUI/DeviceCore/DevFilaSystem.h" #include "GUI_App.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "I18N.hpp" #include "slic3r/GUI/DeviceCore/DevExtruderSystem.h" @@ -1196,11 +1197,11 @@ void AMSDryCtrWin::update_normal_description(DevAms* dev_ams) for (const auto& lim : ams_limits) { if (dev_ams->GetAmsType() == lim.type) { if (temp_val > lim.max_temp) { - wxString msg = wxString(lim.name) + _L(" maximum drying temperature is ") + wxString::Format(wxT("%d"), lim.max_temp) + wxString::FromUTF8("°C."); + wxString msg = wxString::Format(_L("%s maximum drying temperature is %d°C."), wxString(lim.name), lim.max_temp); warning_text += msg + "\n"; can_enable_button = false; } else if (temp_val < lim.min_temp) { - wxString msg = wxString(lim.name) + _L(" minimum drying temperature is ") + wxString::Format(wxT("%d"), lim.min_temp) + wxString::FromUTF8("°C."); + wxString msg = wxString::Format(_L("%s minimum drying temperature is %d°C."), wxString(lim.name), lim.min_temp); warning_text += msg + "\n"; can_enable_button = false; } diff --git a/src/slic3r/GUI/AMSDryControl.hpp b/src/slic3r/GUI/AMSDryControl.hpp index 46699650d6..6c5df86849 100644 --- a/src/slic3r/GUI/AMSDryControl.hpp +++ b/src/slic3r/GUI/AMSDryControl.hpp @@ -14,6 +14,7 @@ //Previous defintions class wxGrid; +class ProgressBar; namespace Slic3r { @@ -97,12 +98,6 @@ private: wxSimplebook* m_main_simplebook{nullptr}; wxPanel* m_original_page{nullptr}; - wxWindow* m_amswin{nullptr}; - wxBoxSizer* m_sizer_ams_items{nullptr}; - wxScrolledWindow* m_panel_prv_left {nullptr}; - wxScrolledWindow* m_panel_prv_right{nullptr}; - wxBoxSizer* m_sizer_prv_left{nullptr}; - wxBoxSizer* m_sizer_prv_right{nullptr}; // left panel related members ScalableBitmap m_humidity_image; diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 68f1b44212..f0fdf950a0 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -2,6 +2,8 @@ #include "ExtrusionCalibration.hpp" #include "MsgDialog.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "libslic3r/Preset.hpp" #include "I18N.hpp" #include diff --git a/src/slic3r/GUI/ActionRegistry.cpp b/src/slic3r/GUI/ActionRegistry.cpp index f3df867ab7..6dd9b0b542 100644 --- a/src/slic3r/GUI/ActionRegistry.cpp +++ b/src/slic3r/GUI/ActionRegistry.cpp @@ -3,20 +3,48 @@ #include "GUI.hpp" #include "GUI_App.hpp" #include "I18N.hpp" +#include "MainFrame.hpp" +#include "NativeCommands.hpp" +#include "Notebook.hpp" +#include "OptionsGroup.hpp" +#include "Plater.hpp" +#include "SettingsIndex.hpp" +#include "Tab.hpp" #include "slic3r/plugin/PluginManager.hpp" #include +#include #include #include +#include +#include + #include #include #include +#include +#include +#include #include +#include namespace Slic3r { namespace GUI { +std::vector cap_favourites(const std::vector& ids, size_t limit) +{ + std::vector out; + out.reserve(std::min(ids.size(), limit)); + for (const auto& id : ids) { + if (out.size() >= limit) + break; + if (std::find(out.begin(), out.end(), id) == out.end()) + out.push_back(id); + } + return out; +} + namespace { constexpr const char* kConfigSection = "speed_dial"; @@ -28,14 +56,9 @@ nlohmann::json parse_config_json(const std::string& value, nlohmann::json fallba } nlohmann::json read_section(const char* key, nlohmann::json fallback) -{ - return parse_config_json(wxGetApp().app_config->get(kConfigSection, key), std::move(fallback)); -} +{ return parse_config_json(wxGetApp().app_config->get(kConfigSection, key), std::move(fallback)); } -void write_section(const char* key, const nlohmann::json& j) -{ - wxGetApp().app_config->set(kConfigSection, key, j.dump()); -} +void write_section(const char* key, const nlohmann::json& j) { wxGetApp().app_config->set(kConfigSection, key, j.dump()); } std::vector read_string_array(const char* key) { @@ -53,7 +76,7 @@ double frecency_score(int count, long long last, long long now) if (count <= 0) return 0.0; constexpr double HALF_LIFE_DAYS = 30.0; - double age = std::max(0.0, double(now - last) / 86400.0); + double age = std::max(0.0, double(now - last) / 86400.0); return count * std::pow(2.0, -age / HALF_LIFE_DAYS); } @@ -79,26 +102,25 @@ struct PluginScriptAction : AppAction // The id an action for (plugin_key, capability) would have - lets refresh_capability // remove a gone capability without materialising the action. static std::string id_for(const std::string& plugin_key, const std::string& capability) - { - return AppAction::compose_id(kIdPrefix, capability.empty() ? plugin_key : capability, plugin_key); - } + { return AppAction::compose_id(kIdPrefix, capability.empty() ? plugin_key : capability, plugin_key); } PluginScriptAction(std::string plugin_key_in, std::string capability_in, std::string source_name) : AppAction(kIdPrefix, - capability_in.empty() ? plugin_key_in : capability_in, // title - plugin_key_in, // source_key - std::move(source_name)), - plugin_key(std::move(plugin_key_in)), capability(std::move(capability_in)) + capability_in.empty() ? plugin_key_in : capability_in, // title + plugin_key_in, // source_key + std::move(source_name)) + , plugin_key(std::move(plugin_key_in)) + , capability(std::move(capability_in)) {} - AppActionRunResult run() const override + AppActionRunResult run(const std::string& /*param*/) const override { std::string error; const ExecutionResult result = PluginManager::instance().run_script_capability(plugin_key, capability, error); if (!error.empty()) return {AppActionRunResult::Level::Error, from_u8(error)}; - const bool skipped = result.status == PluginResult::Skipped; + const bool skipped = result.status == PluginResult::Skipped; const wxString fallback = skipped ? _L("Script plugin skipped.") : _L("Script plugin finished."); return {skipped ? AppActionRunResult::Level::Info : AppActionRunResult::Level::Success, result.message.empty() ? fallback : from_u8(result.message)}; @@ -107,8 +129,7 @@ struct PluginScriptAction : AppAction // Builds an action for a capability, or nullptr if it is not a currently-loaded, // enabled script capability. -std::unique_ptr make_action(const std::string& plugin_key, const std::string& capability, - const std::string& source_name) +std::unique_ptr make_action(const std::string& plugin_key, const std::string& capability, const std::string& source_name) { PluginManager& manager = PluginManager::instance(); if (!manager.is_plugin_loaded(plugin_key)) @@ -119,8 +140,151 @@ std::unique_ptr make_action(const std::string& plugin_key, const std: return std::make_unique(plugin_key, capability, source_name); } +// ---- built-in command actions (the speed dial "commands" section) ------ + +constexpr const char* kSettingPrefix = "orca_setting"; +constexpr const char* kPlateGotoPrefix = "orca_plate_goto"; +constexpr const char* kRecentProjectPrefix = "orca_recent_project"; + +// Display context for a setting action's eyebrow, e.g. the "Process" in "Process : Quality : Layers". +// Keyed by the option's preset type so the palette reads like the settings sidebar tabs. +std::string setting_type_context(Preset::Type type) +{ + switch (type) { + case Preset::TYPE_FILAMENT: + case Preset::TYPE_SLA_MATERIAL: return _u8L("Filament"); + case Preset::TYPE_PRINTER: return _u8L("Printer"); + case Preset::TYPE_PRINT: + case Preset::TYPE_SLA_PRINT: + default: return _u8L("Process"); + } +} + +// Stable, non-localized mode token for the webview, which maps it to a badge ("Developer" etc.). +const char* mode_key(ConfigOptionMode mode) +{ + switch (mode) { + case comAdvanced: return "advanced"; + case comExpert: return "expert"; + case comDevelop: return "develop"; + default: return "simple"; + } +} + +// A config setting exposed as a first-class action: selecting it jumps the sidebar to the option. +// The id is keyed by opt_key+type (NOT the display label), so renaming/localizing never re-keys +// the action; title/group/source are purely for display + search. run() performs the jump, and +// the generic registry run() bumps stats so a jump shows up in "recents" like any other action. +struct SettingAction : AppAction +{ + std::string opt_key; + Preset::Type type; + std::wstring category; // English category, forwarded to jump_to_option (it localizes) + + static std::string id_for(const std::string& opt_key, Preset::Type type) + { return std::string(kSettingPrefix) + ":" + opt_key + ":" + std::to_string(int(type)); } + + SettingAction(std::string opt_key_in, + Preset::Type type_in, + std::string title, + std::string group, + std::wstring category_in, + std::string source_name, + ConfigOptionMode mode_in) + : AppAction(AppActionId{id_for(opt_key_in, type_in)}, std::move(title), kOrcaSourceKey, std::move(source_name)) + , opt_key(std::move(opt_key_in)) + , type(type_in) + , category(std::move(category_in)) + { + // A setting is a single-phase command: activating it jumps the sidebar to the option + // (like the sidebar's own settings search), then the dial closes. run() performs the jump. + this->kind = AppActionKind::Command; + this->group = std::move(group); + this->required_mode = mode_in; + } + + AppActionRunResult run(const std::string& /*param*/) const override + { + wxGetApp().sidebar().jump_to_option(opt_key, type, category); + return {AppActionRunResult::Level::Success}; + } +}; + +// Seed one action's persisted state (favourite flag + frecency counters) from an already-parsed +// stats blob and capped favourite list. Shared by the dynamic materialisers. +void seed_from(const nlohmann::json& stats, const std::vector& favs, const std::string& id, AppAction& a) +{ + a.favourite = std::find(favs.begin(), favs.end(), id) != favs.end(); + if (auto it = stats.find(id); it != stats.end() && it->is_object()) { + a.count = it->value("count", 0); + a.last = it->value("last", 0LL); + } +} + +// Drop actions whose id starts with `prefix` but that were not seen in this pass (a stale materialisation). +void drop_stale(std::unordered_map>& actions, const char* prefix, + const std::unordered_set& seen) +{ + for (auto it = actions.begin(); it != actions.end();) { + if (it->first.rfind(prefix, 0) == 0 && !seen.count(it->first)) + it = actions.erase(it); + else + ++it; + } +} + +// A dynamic "Go to Plate N" action, one per live plate, rebuilt on every snapshot() (so a +// rename/move immediately shows up). id is keyed by plate index, NOT the display title, so +// renaming a plate never re-keys it - the same contract as SettingAction. A pinned "Go to +// Plate N" whose plate is deleted simply stops resolving (visibleFavourites drops dead pins). +struct PlateAction : AppAction +{ + int plate_index; + + static std::string id_for(int index) { return AppAction::compose_id(kPlateGotoPrefix, std::to_string(index), kOrcaSourceKey); } + + PlateAction(int index, std::string title, std::string source_name) + : AppAction(AppActionId{id_for(index)}, std::move(title), kOrcaSourceKey, std::move(source_name)), plate_index(index) + { + this->kind = AppActionKind::Command; + this->group = _u8L("Plate"); + } + + AppActionRunResult run(const std::string& /*param*/) const override + { return NativeCommands::run("plate_goto", std::to_string(plate_index)); } +}; + +// A dynamic "Open recent project " action, one per recent project file, rebuilt on every +// snapshot() (like PlateAction) so the list always reflects the current recents. The id is keyed +// by the file PATH, NOT the display title - the same contract as SettingAction/PlateAction, so a +// rename of a project (or a reordered recents list) never re-keys the action. A pinned recent whose +// file is deleted simply stops resolving (visibleFavourites drops dead pins). run() loads the +// project through MainFrame::open_recent_project so the existing missing-file handling is reused. +struct RecentProjectAction : AppAction +{ + std::string file_path; + + static std::string id_for(const std::string& path) { return AppAction::compose_id(kRecentProjectPrefix, path, kOrcaSourceKey); } + + RecentProjectAction(std::string path, std::string title, std::string source) + : AppAction(AppActionId{id_for(path)}, std::move(title), kOrcaSourceKey, std::move(source)), file_path(std::move(path)) + { + this->kind = AppActionKind::Command; + this->group = _u8L("Recent Projects"); + } + + AppActionRunResult run(const std::string& /*param*/) const override + { + if (MainFrame* mf = wxGetApp().mainframe; mf) + mf->open_recent_project(size_t(-1), wxString::FromUTF8(file_path)); + return {AppActionRunResult::Level::Success}; + } +}; + } // namespace +ActionRegistry::~ActionRegistry() = default; + void ActionRegistry::init() { assert(wxThread::IsMain()); @@ -151,18 +315,12 @@ void ActionRegistry::init() // Subscribe before enumerating so a concurrent load cannot land between the initial // snapshot and callback registration. Duplicate notifications are safe: upsert is by // id and the m_actions scan in refresh_source is idempotent. - manager.subscribe_on_load_callback( - [on_source](const std::string& key) { on_source(key, ActionChange::Added); }); - manager.subscribe_on_unload_callback( - [on_source](const std::string& key) { on_source(key, ActionChange::Removed); }); + manager.subscribe_on_load_callback([on_source](const std::string& key) { on_source(key, ActionChange::Added); }); + manager.subscribe_on_unload_callback([on_source](const std::string& key) { on_source(key, ActionChange::Removed); }); manager.subscribe_on_capability_load_callback( - [on_capability](const PluginCapabilityId& capability) { - on_capability(capability, ActionChange::Added); - }); + [on_capability](const PluginCapabilityId& capability) { on_capability(capability, ActionChange::Added); }); manager.subscribe_on_capability_unload_callback( - [on_capability](const PluginCapabilityId& capability) { - on_capability(capability, ActionChange::Removed); - }); + [on_capability](const PluginCapabilityId& capability) { on_capability(capability, ActionChange::Removed); }); // enumerate current script capabilities std::unordered_map source_names; @@ -173,12 +331,40 @@ void ActionRegistry::init() for (const auto& capability : manager.get_plugin_capabilities("", PluginCapabilityType::Script)) { if (!capability) continue; - const std::string& key = capability->audit_plugin_key(); - auto it = source_names.find(key); + const std::string& key = capability->audit_plugin_key(); + auto it = source_names.find(key); const std::string& source_name = it == source_names.end() ? key : it->second; if (auto action = make_action(key, capability->name(), source_name)) upsert(std::move(action)); } + + // Built-in palette commands (Save/Load, Preferences, Mode switch, Slice/Preview, Go to layer). + // Register after plugins so the plugin ids win on any (unlikely) id collision - ids are distinct + // by prefix, so this is order-independent. The catalog (and its thin AppAction adapter) lives in + // NativeCommands; the registry only stores and dispatches the result. + for (const NativeCommand& c : NativeCommands::catalog()) + upsert(NativeCommands::make_action(c)); +} + +void ActionRegistry::relocalize_builtins() +{ + assert(wxThread::IsMain()); + if (!m_started) + return; + + // Drop only the built-in commands; plugins and the dynamically materialised families are + // either unlocalized or rebuilt per snapshot. remove() only erases the map entry, and upsert() + // re-seeds favourites/stats from config, so key-based ids keep their pinned state. + std::vector stale; + for (const auto& [id, action] : m_actions) + if (action->source_key() == kOrcaSourceKey && action->kind == AppActionKind::Command) + stale.push_back(id); + for (const std::string& id : stale) + remove(id); + + NativeCommands::rebuild_catalog(); + for (const NativeCommand& c : NativeCommands::catalog()) + upsert(NativeCommands::make_action(c)); } void ActionRegistry::refresh_source(const std::string& plugin_key, ActionChange change) @@ -198,7 +384,7 @@ void ActionRegistry::refresh_source(const std::string& plugin_key, ActionChange if (change == ActionChange::Removed) return; - PluginManager& manager = PluginManager::instance(); + PluginManager& manager = PluginManager::instance(); const std::string source_name = find_loaded_source_name(manager, plugin_key); for (const auto& capability : manager.get_plugin_capabilities(plugin_key, PluginCapabilityType::Script)) { if (!capability) @@ -208,8 +394,7 @@ void ActionRegistry::refresh_source(const std::string& plugin_key, ActionChange } } -void ActionRegistry::refresh_capability(const std::string& plugin_key, const std::string& capability, - ActionChange change) +void ActionRegistry::refresh_capability(const std::string& plugin_key, const std::string& capability, ActionChange change) { assert(wxThread::IsMain()); @@ -233,7 +418,7 @@ void ActionRegistry::upsert(std::unique_ptr action) return; seed_state(*action); - std::string id = action->id(); + std::string id = action->id(); std::shared_ptr stored = std::move(action); m_actions.insert_or_assign(std::move(id), std::move(stored)); } @@ -246,11 +431,13 @@ void ActionRegistry::remove(const std::string& id) void ActionRegistry::seed_state(AppAction& a) const { - auto favs = read_string_array("favourite_actions"); + // Favourites carry the quick-launch order, so the persisted list is the source of truth + // (not re-derived from the frecency sort). Cap it so stale configs can't exceed kFavLimit. + auto favs = favourite_ids(); a.favourite = std::find(favs.begin(), favs.end(), a.id()) != favs.end(); nlohmann::json stats = read_section("stats", nlohmann::json::object()); - auto it = stats.find(a.id()); + auto it = stats.find(a.id()); if (it != stats.end() && it->is_object()) { a.count = it->value("count", 0); a.last = it->value("last", 0LL); @@ -260,6 +447,14 @@ void ActionRegistry::seed_state(AppAction& a) const } } +void ActionRegistry::load_persisted(nlohmann::json& stats, std::vector& favs) const +{ + stats = read_section("stats", nlohmann::json::object()); + if (!stats.is_object()) + stats = nlohmann::json::object(); + favs = favourite_ids(); +} + // ---- read surface ----------------------------------------------------------- const AppAction* ActionRegistry::by_id(const std::string& id) const @@ -269,14 +464,11 @@ const AppAction* ActionRegistry::by_id(const std::string& id) const return it == m_actions.end() ? nullptr : it->second.get(); } -AppAction* ActionRegistry::find(const std::string& id) -{ - return const_cast(by_id(id)); -} +AppAction* ActionRegistry::find(const std::string& id) { return const_cast(by_id(id)); } // ---- dispatch + write-through ---------------------------------------------- -AppActionRunResult ActionRegistry::run(const std::string& id) +AppActionRunResult ActionRegistry::run(const std::string& id, const std::string& param) { assert(wxThread::IsMain()); auto it = m_actions.find(id); @@ -286,13 +478,13 @@ AppActionRunResult ActionRegistry::run(const std::string& id) // nested event loop; a queued source refresh can erase the entry while the // keep-alive preserves the action until run returns. std::shared_ptr keep = it->second; - AppActionRunResult o = keep->run(); + AppActionRunResult o = keep->run(param); if (o.level == AppActionRunResult::Level::Busy) return o; // Bump stats (write-through). Re-read to avoid clobbering a concurrent field. nlohmann::json stats = read_section("stats", nlohmann::json::object()); - if (!stats.is_object()) // corrupt (valid-JSON, non-object) value degrades to empty + if (!stats.is_object()) // corrupt (valid-JSON, non-object) value degrades to empty stats = nlohmann::json::object(); nlohmann::json& e = stats[id]; if (!e.is_object()) @@ -300,22 +492,37 @@ AppActionRunResult ActionRegistry::run(const std::string& id) e["count"] = e.value("count", 0) + 1; e["last"] = (long long) std::time(nullptr); write_section("stats", stats); - if (AppAction* live = find(id)) { live->count = e["count"]; live->last = e["last"]; } + if (AppAction* live = find(id)) { + live->count = e["count"]; + live->last = e["last"]; + } return o; } -void ActionRegistry::set_favourite(const std::string& id, bool on) +bool ActionRegistry::set_favourite(const std::string& id, bool on) { assert(wxThread::IsMain()); - auto favs = read_string_array("favourite_actions"); + // Start from the capped, deduped list so a persisted config can never be written back larger. + auto favs = favourite_ids(); auto it = std::find(favs.begin(), favs.end(), id); - if (on && it == favs.end()) + if (on && it == favs.end()) { + if (favs.size() >= kFavLimit) + return false; // bar is full - the caller surfaces a hint favs.push_back(id); + } if (!on && it != favs.end()) favs.erase(it); write_section("favourite_actions", nlohmann::json(favs)); if (AppAction* live = find(id)) live->favourite = on; + return true; +} + +std::vector ActionRegistry::favourite_ids() const +{ + assert(wxThread::IsMain()); + // Enforce the cap + dedupe on read so the persisted order can never grow past kFavLimit, even from an older config. + return cap_favourites(read_string_array("favourite_actions"), kFavLimit); } void ActionRegistry::reorder_favourites(const std::vector& ids) @@ -325,16 +532,184 @@ void ActionRegistry::reorder_favourites(const std::vector& ids) std::vector next; // keep the requested order, but only ids that are actually favourites (guard a bad payload) for (const auto& id : ids) - if (std::find(cur.begin(), cur.end(), id) != cur.end() && - std::find(next.begin(), next.end(), id) == next.end()) + if (std::find(cur.begin(), cur.end(), id) != cur.end() && std::find(next.begin(), next.end(), id) == next.end()) next.push_back(id); // why: don't drop favourites the page omitted (e.g. pins with no live action hidden from the bar) for (const auto& id : cur) if (std::find(next.begin(), next.end(), id) == next.end()) next.push_back(id); + // never write the bar back larger than the quick-launch slots + next = cap_favourites(next, kFavLimit); write_section("favourite_actions", nlohmann::json(next)); } +void ActionRegistry::materialize_setting_actions() +{ + assert(wxThread::IsMain()); + + // Reuse the Sidebar's live settings index: it's the only catalog whose group/category map is + // populated (Tab::add_key feeds it at build time), and it already mirrors the current + // configs/printer-technology. Use the all-modes view so the Speed Dial lists every setting, + // including those above the user's current mode, and can prompt to switch before jumping. + const std::vector& options = wxGetApp().sidebar().settings_index().all_options(); + + // Load the persisted per-action state ONCE (not per-option) so a re-materialised setting keeps + // its recency/favourite; mirroring seed_state but amortised over the whole option set. + nlohmann::json stats; + std::vector favs; + load_persisted(stats, favs); + + std::unordered_set seen; + for (const Search::Option& opt : options) { + // The row's live state drives both the hidden filter and the title (labels can change at + // runtime, e.g. brim_width -> "Brim ear radius"). Hidden rows are skipped, not marked seen. + Tab* tab = wxGetApp().get_tab(opt.type); + Tab::SettingRowState row; + if (tab) + row = tab->setting_row_state(opt.opt_key()); + if (!row.visible) + continue; + + const std::string id = SettingAction::id_for(opt.opt_key(), opt.type); + seen.insert(id); + + // The page draws Line::label; the descriptive ConfigOptionDef name stays a search-only alias + // ("overhang reversal" still finds "Reverse on even"). + const std::string search_label = boost::nowide::narrow(opt.label_local.empty() ? opt.label : opt.label_local); + std::string title = into_u8(Search::resolve_setting_title(from_u8(opt.display_label), row.label, row.multi)); + if (title.empty()) + title = search_label; + + // Eyebrow/source = the full settings path "Process : Quality : Layers" (localized). The JS + // renders group || source and searches source + " " + group, so putting the whole path in + // source both displays it and makes it matchable by any segment (e.g. a "quality" query). + std::wstring path = boost::nowide::widen(setting_type_context(opt.type)); + if (!opt.category_local.empty()) + path += L" : " + opt.category_local; + if (!opt.group_local.empty()) + path += L" : " + opt.group_local; + + // title = the label the settings row draws; group stays empty so the source path (above) is + // the single display/search breadcrumb rather than being duplicated. + auto action = std::make_unique(opt.opt_key(), opt.type, title, std::string(), opt.category, + boost::nowide::narrow(path), opt.mode); + if (title != search_label) + action->full_label = search_label; + + // Tile pictogram = the icon of the setting's own group header (e.g. Advanced -> param_advanced), + // the one shown next to it in the page. Fall back to the page/category icon for groups + // without one. Keys are the English titles the GUI registers. + action->icon = opt.group_icon; + if (action->icon.empty() && !opt.category.empty() && tab) { + const auto& icons = tab->get_category_icon_map(); + auto it = icons.find(wxString(opt.category)); + if (it != icons.end()) + action->icon = it->second; + } + + // Footer description + wiki affordance; only settings whose row declared a wiki path have one. + action->tooltip = opt.tooltip; + if (!opt.wiki_path.empty()) + action->help_url = into_u8(OptionsGroup::get_url(opt.wiki_path)); + + seed_from(stats, favs, id, *action); + auto const action_id = action->id(); + auto const app_action = std::shared_ptr(std::move(action)); + m_actions.insert_or_assign(action_id, app_action); + } + + // Drop SettingActions whose option no longer exists in the current configs (e.g. the printer + // technology / UI mode changed). Non-setting actions are untouched. + drop_stale(m_actions, kSettingPrefix, seen); +} + +void ActionRegistry::materialize_plate_actions() +{ + assert(wxThread::IsMain()); + + // Plates are a filament (FFF) feature: SLA has a single plate and no plate UI, and gcode-only + // mode has no editable project - so no "Go to Plate N" actions are offered there. + Plater* plater = wxTheApp ? wxGetApp().plater() : nullptr; + if (!plater || plater->printer_technology() != ptFFF || plater->only_gcode_mode()) { + // Drop any stale plate actions (e.g. the printer technology switched to SLA). + drop_stale(m_actions, kPlateGotoPrefix, {}); + return; + } + + // Persisted per-action state, read ONCE (mirrors materialize_setting_actions) so a relisted + // "Go to Plate N" keeps its recency/favourite when the plate is renamed - the id is index-keyed. + nlohmann::json stats; + std::vector favs; + load_persisted(stats, favs); + + const std::vector& list = plater->get_partplate_list().get_plate_list(); + std::unordered_set seen; + for (size_t i = 0; i < list.size(); ++i) { + PartPlate* plate = list[i]; + if (!plate) + continue; + const std::string id = PlateAction::id_for(int(i)); + seen.insert(id); + + // "Go to Plate N" + " (name)" when the plate is named, matching the object-list label. + std::string title(_u8L("Go to Plate")); + title += " " + std::to_string(i + 1); + const std::string name = plate->get_plate_name(); + if (!name.empty()) + title += " (" + name + ")"; + + auto action = std::make_unique(int(i), title, kOrcaSourceName); + seed_from(stats, favs, id, *action); + auto const action_id = action->id(); + auto const app_action = std::shared_ptr(std::move(action)); + m_actions.insert_or_assign(action_id, app_action); + } + + // Drop plate actions whose index no longer exists (a plate was deleted / moved to the front). + drop_stale(m_actions, kPlateGotoPrefix, seen); +} + +void ActionRegistry::materialize_recent_project_actions() +{ + assert(wxThread::IsMain()); + + // Persisted per-action state, read ONCE (mirrors materialize_plate_actions) so a relisted recent + // project keeps its recency/favourite when the recents list reorders - the id is path-keyed. + nlohmann::json stats; + std::vector favs; + load_persisted(stats, favs); + + // app_config stores recents oldest-first; the palette shows newest-first. + std::vector recents = wxGetApp().app_config->get_recent_projects(); + std::reverse(recents.begin(), recents.end()); + + std::unordered_set seen; + for (const std::string& path : recents) { + // Skip projects whose file is gone; the stale id is dropped below. + boost::system::error_code ec; + if (path.empty() || !boost::filesystem::exists(boost::filesystem::path(path), ec)) + continue; + + const std::string id = RecentProjectAction::id_for(path); + seen.insert(id); + + // Title = file basename; source/eyebrow = the full path so search can match either. + boost::filesystem::path p(path); + std::string title = p.filename().string(); + if (title.empty()) + title = path; + + auto action = std::make_unique(path, std::move(title), path); + seed_from(stats, favs, id, *action); + auto const action_id = action->id(); + auto const app_action = std::shared_ptr(std::move(action)); + m_actions.insert_or_assign(action_id, app_action); + } + + // Drop recent-project actions whose file no longer exists / was removed from the recents list. + drop_stale(m_actions, kRecentProjectPrefix, seen); +} + bool ActionRegistry::should_ask(const std::string& id) const { assert(wxThread::IsMain()); @@ -351,11 +726,31 @@ void ActionRegistry::suppress_ask(const std::string& id) write_section("ask_suppressed", nlohmann::json(arr)); } -// ---- snapshot --------------------------------------------------------------- - -nlohmann::json ActionRegistry::snapshot() const +bool ActionRegistry::tooltip_expanded() const { assert(wxThread::IsMain()); + const nlohmann::json j = read_section("tooltip_expanded", nlohmann::json(true)); + return j.is_boolean() ? j.get() : true; +} + +void ActionRegistry::set_tooltip_expanded(bool expanded) +{ + assert(wxThread::IsMain()); + write_section("tooltip_expanded", nlohmann::json(expanded)); +} + +// ---- snapshot --------------------------------------------------------------- + +nlohmann::json ActionRegistry::snapshot() +{ + assert(wxThread::IsMain()); + // Settings and plates are first-class actions; make sure the current visible option set and the + // live plate list are materialised before we serialise the pool (tabs_list is built by the time + // the palette opens). + materialize_setting_actions(); + materialize_plate_actions(); + materialize_recent_project_actions(); + std::vector sorted; sorted.reserve(m_actions.size()); for (const auto& entry : m_actions) @@ -374,17 +769,85 @@ nlohmann::json ActionRegistry::snapshot() const return a->id() < b->id(); }); + auto action_to_json = [](const AppAction* a) { + return nlohmann::json({{"id", a->id()}, + {"title", a->title()}, + {"full_label", a->full_label}, + {"source", a->source_name()}, + {"group", a->group}, + {"kind", a->kind == AppActionKind::Plugin ? "plugin" : "command"}, + {"input", a->input}, + {"icon", a->icon}, + {"mode", mode_key(a->required_mode)}, + {"desc", a->tooltip}, + {"wiki", !a->help_url.empty()}}); + }; + nlohmann::json actions = nlohmann::json::array(); for (const AppAction* a : sorted) - actions.push_back({{"id", a->id()}, - {"title", a->title()}, - {"source", a->source_name()}, - {"shortcut", ""}}); + actions.push_back(action_to_json(a)); + // why: favourites is the ORDERED pin list - it must come from favourite_actions // as stored, not be re-derived from the frecency-sorted actions (that would - // reorder the favourites bar). The page (js) filters out ids with no live action itself. - nlohmann::json favourites(read_string_array("favourite_actions")); - return {{"actions", std::move(actions)}, {"favourites", std::move(favourites)}}; + // reorder the favourites bar). Drop pins with no live action (an option hidden by the + // current mode, an unloaded plugin, a gone plate/project) and persist the pruned list, so + // invisible pins can't silently fill the quick-launch cap. Order is preserved. + std::vector favs = favourite_ids(); + std::vector live_favs; + live_favs.reserve(favs.size()); + for (const auto& id : favs) + if (m_actions.count(id)) + live_favs.push_back(id); + if (live_favs.size() != favs.size()) + write_section("favourite_actions", nlohmann::json(live_favs)); + nlohmann::json favourites(live_favs); + + // Recent = the last-N launched actions by recency (only actions with a run history). N is a + // user preference; 0 hides recents without affecting the frecency order below. + const size_t recent_limit = size_t(wxGetApp().app_config->get_speed_dial_recent_count()); + std::vector recent; + for (const auto& entry : m_actions) + if (entry.second->last > 0) + recent.push_back(entry.second.get()); + std::sort(recent.begin(), recent.end(), [](const AppAction* a, const AppAction* b) { + if (a->last != b->last) + return a->last > b->last; + return a->id() < b->id(); + }); + if (recent.size() > recent_limit) + recent.resize(recent_limit); + nlohmann::json recent_json = nlohmann::json::array(); + for (const AppAction* a : recent) + recent_json.push_back(action_to_json(a)); + + return {{"actions", std::move(actions)}, + {"favourites", std::move(favourites)}, + {"recent", std::move(recent_json)}, + {"user_mode", mode_key(wxGetApp().get_mode())}, + {"tooltip_expanded", tooltip_expanded()}}; +} + +// ---- tab options (enumerate the MainFrame notebook's current pages) ---------- + +nlohmann::json ActionRegistry::tab_options() const +{ + assert(wxThread::IsMain()); + nlohmann::json out = nlohmann::json::array(); + if (!wxTheApp || wxGetApp().is_closing()) + return out; + MainFrame* mf = wxGetApp().mainframe; + if (!mf || !mf->m_tabpanel) + return out; + Notebook* notebook = mf->m_tabpanel; + for (size_t i = 0; i < notebook->GetPageCount(); ++i) { + const wxString id = notebook->GetPageName(i); + if (id.empty()) + continue; + out.push_back({{"id", id.ToStdString()}, + {"title", notebook->GetPageLabel(i).ToStdString()}, + {"icon", notebook->GetPageIcon(i)}}); + } + return out; } }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/ActionRegistry.hpp b/src/slic3r/GUI/ActionRegistry.hpp index c421297217..61cdbffd25 100644 --- a/src/slic3r/GUI/ActionRegistry.hpp +++ b/src/slic3r/GUI/ActionRegistry.hpp @@ -2,10 +2,13 @@ #include +#include + #include #include #include +#include #include #include #include @@ -18,14 +21,25 @@ namespace Slic3r { namespace GUI { // How a source's action set changed. Drives the registry's refresh handlers. enum class ActionChange { Added, Removed }; +// What kind of runnable thing an action is. Drives the run-confirm gate (plugins ask, commands don't). +enum class AppActionKind { Plugin, Command }; + // Result of running an AppAction, in the action layer's own vocabulary. Concrete // actions translate their runner-specific result into this generic shape. struct AppActionRunResult { enum class Level { Success, Info, Error, Busy }; - Level level = Level::Info; - wxString message; // empty = "nothing worth showing" + Level level = Level::Info; + wxString message; // empty = "nothing worth showing" +}; + +// Tag carrying a precomputed action id, used by the explicit-id ctor below. It exists so the +// id ctor and the compose-from-prefix ctor are NOT both reachable from a `const char*` first +// argument (which would make calls like AppAction("orca_command", ...) ambiguous). +struct AppActionId +{ + std::string id; }; // A speed-dial action: identity + user-state seeded from config + how to run itself. @@ -52,12 +66,35 @@ struct AppAction } // seeded from AppConfig for the snapshot / sort: - bool favourite = false; - int count = 0; - long long last = 0; // epoch seconds + bool favourite = false; + int count = 0; + long long last = 0; // epoch seconds + + // Speed Dial presentation: Plugin keeps group empty (the UI falls back to the + // source name); Command sets a section label (e.g. "Commands", "Mode"). + AppActionKind kind = AppActionKind::Plugin; + std::string group; + // Second-phase input descriptor for the palette: "percent" (jump to layer by a 0-100 + // value) or "tab" (pick a notebook tab). Empty = run immediately on activation. + std::string input; + // Tile pictogram: SVG base name under resources/images; empty renders a blank tile (commands + // without a GUI icon, plugins). Set from NativeCommands / the setting's category icon. + std::string icon; + // Settings mode required to edit this action (SettingActions only). The palette prompts before + // running an action whose mode is above the user's current mode. comSimple for everything else. + ConfigOptionMode required_mode = comSimple; + // Description shown in the Speed Dial's footer strip (SettingActions: the localized tooltip). + std::string tooltip; + // Search-only alias when the title differs from the descriptive ConfigOptionDef name (e.g. title + // "Reverse on even", full_label "Overhang reversal"). Empty when the two agree. + std::string full_label; + // Full wiki URL, when the action has one (SettingActions whose row declared a label_path). + std::string help_url; virtual ~AppAction() = default; - virtual AppActionRunResult run() const = 0; // re-resolves + runs (UI thread) + // Re-resolves + runs (UI thread). `param` carries an optional per-run argument for + // commands (e.g. a layer percentage); plugins ignore it. + virtual AppActionRunResult run(const std::string& param = {}) const = 0; protected: // The definition is constructor-set and immutable. Refreshes replace an action @@ -65,10 +102,17 @@ protected: // why: source_key (not the display name) carries identity, so renaming the source's // display name leaves the id - and its persisted stats/favourite - intact. AppAction(std::string_view prefix, std::string title, std::string source_key, std::string source_name) - : m_id(compose_id(prefix, title, source_key)), - m_title(std::move(title)), - m_source_key(std::move(source_key)), - m_source_name(std::move(source_name)) {} + : m_id(compose_id(prefix, title, source_key)) + , m_title(std::move(title)) + , m_source_key(std::move(source_key)) + , m_source_name(std::move(source_name)) + {} + + // Explicit-id ctor: for actions whose id must NOT be derived from the display title + // (e.g. a setting action keyed by opt_key+type, so a rename/localization never re-keys it). + AppAction(AppActionId id, std::string title, std::string source_key, std::string source_name) + : m_id(std::move(id.id)), m_title(std::move(title)), m_source_key(std::move(source_key)), m_source_name(std::move(source_name)) + {} private: std::string m_id; // ::<source_key> - stable identity + AppConfig key @@ -77,26 +121,53 @@ private: std::string m_source_name; // display name of the action's source }; +// Stable identity/display name of the built-in ("OrcaSlicer") action source. Shared by the native +// command catalog and the dynamically materialised setting/plate/recent actions so every built-in +// action re-keys together. +inline constexpr const char* kOrcaSourceKey = "orca"; +inline constexpr const char* kOrcaSourceName = "OrcaSlicer"; + +// True when a setting at `setting_mode` cannot be edited in `current_mode` and the UI must switch +// first. Developer settings are handled as a separate prompt by the Speed Dial. +inline bool requires_mode_switch(ConfigOptionMode setting_mode, ConfigOptionMode current_mode) +{ + return setting_mode > current_mode; +} + +// Cap + dedupe a persisted favourite-id list, preserving first-occurrence order. A stale or +// hand-edited config must never grow the quick-launch bar past `limit`, and a duplicated id must collapse to its first pin. +std::vector<std::string> cap_favourites(const std::vector<std::string>& ids, size_t limit); + // Self-contained sink and single owner of runnable actions for the app session. // // Workflow: -// 1. init() (once, UI thread) subscribes to the plugin loader and enumerates the -// current script capabilities into actions. +// 1. init() (once, UI thread) subscribes to the plugin loader and enumerates the current script +// capabilities into actions, then materialises the static built-ins from the NativeCommands catalog. // 2. Loader load/unload callbacks route through refresh_source()/refresh_capability(), // which upsert()/remove() actions. The registry keeps the only action list and // restores persisted user state as actions arrive. -// 3. Consumers use by_id(), snapshot(), and run() without knowing the source. +// 3. Dynamic built-in families (settings, plates, recent projects) are re-materialised at the top of +// snapshot(), because their membership follows live state (the current configs, plate list, recents). +// 4. Consumers use by_id(), snapshot(), and run() without knowing the source. // -// note: there is exactly one source (script plugins), so it lives inline here rather -// than behind a polymorphic source interface. +// note: the static catalog lives in NativeCommands; the registry owns the pool, persistence and +// dispatch, and materialises the dynamic families inline rather than behind a source interface. class ActionRegistry { public: + ~ActionRegistry(); + // Subscribes to the plugin loader and enumerates its current actions. Call once // on the UI thread after the plugin system is up; wires the initial list and live // updates together. void init(); + // Rebuilds the built-in command actions in the current UI locale. The command catalog copies + // translated titles/groups at construction, so after a live language switch the stored titles + // are stale until this runs. Ids are key-based and upsert re-seeds persisted state, so + // favourites/run history survive. UI thread only. No-op before init(). + void relocalize_builtins(); + // Takes ownership, seeds persisted state, then inserts the action or replaces // the action with the same id. A null action is ignored. void upsert(std::unique_ptr<AppAction> action); @@ -105,31 +176,72 @@ public: void remove(const std::string& id); // Always-clean read surface. UI thread only. - const AppAction* by_id(const std::string& id) const; + const AppAction* by_id(const std::string& id) const; + + // Hard cap on the favourites bar: the numbered quick-launch slots (Alt/Option+1..9, 0). + static constexpr size_t kFavLimit = 10; // Dispatch + write-through (registry is the only thing that touches AppConfig). - AppActionRunResult run(const std::string& id); // runs + bumps stats - void set_favourite(const std::string& id, bool on); - void reorder_favourites(const std::vector<std::string>& ids); // persist a new bar order + AppActionRunResult run(const std::string& id, const std::string& param = {}); // runs + bumps stats + // Pin/unpin. Returns false when `on` would exceed kFavLimit (the bar is full) so the + // caller can surface a "favourites are full" hint instead of silently dropping the pin. + bool set_favourite(const std::string& id, bool on); + void reorder_favourites(const std::vector<std::string>& ids); // persist a new bar order + + // Ordered pinned list (the source of truth), capped at kFavLimit and deduped, matching the + // visible bar the palette renders. + std::vector<std::string> favourite_ids() const; // Run-confirm gate, keyed by action id (per-action "don't ask again"). bool should_ask(const std::string& id) const; void suppress_ask(const std::string& id); - // Flat, frecency-sorted snapshot for the webview: {actions:[...], favourites:[...]}. - nlohmann::json snapshot() const; + // Footer expand/collapse preference. Global (applies to every action) and persisted; absent + // means expanded, so a fresh config picks the richer default with no migration. + bool tooltip_expanded() const; + void set_tooltip_expanded(bool expanded); + + // Flat, frecency-sorted snapshot for the webview: + // {actions:[...], favourites:[...], recent:[...]} (recent = last-N launched by recency). + nlohmann::json snapshot(); + + // "Go to tab..." Speed Dial helper: enumerate the MainFrame notebook's current pages + // as [{id,title,icon},...], using the page's real label (not the compact-blanked button text). + // Live by construction - built-in tabs (Home/Prepare/Preview/Device/Project/Calibration) and + // plugin tabs (plugin.<key>.<name>) are all Notebook pages, so a page appears/disappears with + // the notebook. Plugin tabs hidden in the overflow menu (many plugins) aren't separate pages and + // are not listed. Call on the UI thread; null-safe. + nlohmann::json tab_options() const; private: - void seed_state(AppAction& a) const; // favourite/stats from config - AppAction* find(const std::string& id); + void seed_state(AppAction& a) const; // favourite/stats from config + AppAction* find(const std::string& id); + + // Read the persisted stats blob + capped favourite list once for a materialisation pass. + void load_persisted(nlohmann::json& stats, std::vector<std::string>& favs) const; + + // (Re)materialise the current visible config settings as SettingActions from the live + // searcher (respecting printer-tech + user-mode + visibility filtering), removing stale ones. + // Called at the top of snapshot() so the palette always reflects the current configs. + void materialize_setting_actions(); + + // (Re)materialise one "Go to Plate N" action per live plate, so the palette lists every plate + // directly on each spawn (no second-phase picker). FFF-editor only; SLA/gcode modes have no + // plate UI, so nothing is materialised and stale ids are dropped. Called at the top of snapshot(). + void materialize_plate_actions(); + + // (Re)materialise one "Open recent project <name>" action per recent project file, so the + // palette lists every recent project and can load it by clicking. Keyed by file path (stable); + // files that no longer exist are skipped and their stale ids dropped. Called at the top of snapshot(). + void materialize_recent_project_actions(); // Loader callbacks (marshalled to the UI thread) land here. refresh_source rebuilds // one plugin's whole action set; refresh_capability touches a single capability. void refresh_source(const std::string& plugin_key, ActionChange change); void refresh_capability(const std::string& plugin_key, const std::string& capability, ActionChange change); - bool m_started = false; // init() runs exactly once; guards double-subscription - std::unordered_map<std::string, std::shared_ptr<AppAction>> m_actions; // UI-thread confined; no lock + bool m_started = false; // init() runs exactly once; guards double-subscription + std::unordered_map<std::string, std::shared_ptr<AppAction>> m_actions; // UI-thread confined; no lock }; }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp index 3e745b0a64..32a580845d 100644 --- a/src/slic3r/GUI/AmsMappingPopup.cpp +++ b/src/slic3r/GUI/AmsMappingPopup.cpp @@ -11,6 +11,7 @@ #include "MainFrame.hpp" #include "format.hpp" #include "Widgets/ProgressDialog.hpp" +#include <wx/tooltip.h> #include "Widgets/RoundedRectangle.hpp" #include "Widgets/StaticBox.hpp" @@ -818,7 +819,7 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) : m_scrolled_window = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL | wxHSCROLL); m_scrolled_window->SetBackgroundColour(*wxWHITE); - m_scrolled_window->SetScrollRate(0, FromDIP(10)); + m_scrolled_window->SetScrollRate(0, FromDIP(20)); wxBoxSizer *title_sizer_h= new wxBoxSizer(wxHORIZONTAL); wxBoxSizer *title_sizer_v = new wxBoxSizer(wxVERTICAL); @@ -999,13 +1000,13 @@ AmsMapingPopup::AmsMapingPopup(wxWindow *parent, bool use_in_sync_dialog) : show_pos.x = screen_size.GetLeft(); m_scrolled_window->SetMaxSize(wxSize(screen_size.GetWidth(), popup_height)); m_scrolled_window->SetMinSize(wxSize(screen_size.GetWidth(), popup_height)); - m_scrolled_window->SetScrollRate(FromDIP(10), FromDIP(10)); + m_scrolled_window->SetScrollRate(FromDIP(10), FromDIP(20)); } else { m_scrolled_window->SetMaxSize(wxSize(popup_width, popup_height)); m_scrolled_window->SetMinSize(wxSize(popup_width, popup_height)); - m_scrolled_window->SetScrollRate(0, FromDIP(10)); + m_scrolled_window->SetScrollRate(0, FromDIP(20)); } //Vertical Direction Processing @@ -2116,7 +2117,7 @@ void AmsReplaceMaterialDialog::create() identical_filament->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#009688"))); // Orca: accent teal (not brand green) m_scrollview_groups = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL | wxVSCROLL); - m_scrollview_groups->SetScrollRate(5, 5); + m_scrollview_groups->SetScrollRate(5, FromDIP(20)); //m_scrollview_groups->SetMinSize(wxSize(400, 400)); //m_scrollview_groups->SetMaxSize(wxSize(400, 400)); m_scrollview_sizer = new wxBoxSizer(wxVERTICAL); diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp index fc3f89fa69..21a3e38080 100644 --- a/src/slic3r/GUI/AmsMappingPopup.hpp +++ b/src/slic3r/GUI/AmsMappingPopup.hpp @@ -457,7 +457,6 @@ private: ScalableBitmap close_img; wxStaticBitmap* curr_humidity_img; - wxStaticBitmap* m_img; Label* m_staticText;; Label* m_staticText_note; diff --git a/src/slic3r/GUI/AmsMappingPopupUpdate.cpp b/src/slic3r/GUI/AmsMappingPopupUpdate.cpp index 7d8215f55d..3e2853ad1a 100644 --- a/src/slic3r/GUI/AmsMappingPopupUpdate.cpp +++ b/src/slic3r/GUI/AmsMappingPopupUpdate.cpp @@ -406,7 +406,7 @@ void AmsMapingPopup::update_ams_data_multi_machines() int ams_type = 1; int nozzle_id = 0; - if (ams_type >= 1 || ams_type <= 3) { // 1:ams 2:ams-lite 3:n3f + if (ams_type >= 1 && ams_type <= 3) { // 1:ams 2:ams-lite 3:n3f auto sizer_mapping_list = new wxBoxSizer(wxHORIZONTAL); auto ams_mapping_item_container = new MappingContainer(nozzle_id == 0 ? m_right_marea_panel : m_left_marea_panel, "AMS-1", 4); diff --git a/src/slic3r/GUI/AuiPaneLayout.cpp b/src/slic3r/GUI/AuiPaneLayout.cpp new file mode 100644 index 0000000000..dc93352971 --- /dev/null +++ b/src/slic3r/GUI/AuiPaneLayout.cpp @@ -0,0 +1,20 @@ +#include "AuiPaneLayout.hpp" + +namespace Slic3r { namespace GUI { + +std::string aui_pane_layout_entry(const std::string& layout, const std::string& pane_name) +{ + // Panes are separated by '|'; SavePerspective() escapes a '|' inside a caption as "\|". + const std::string prefix = "name=" + pane_name + ";"; + size_t begin = 0; + for (size_t i = 0; i <= layout.size(); ++i) { + if (i < layout.size() && (layout[i] != '|' || (i > 0 && layout[i - 1] == '\\'))) + continue; + if (layout.compare(begin, prefix.size(), prefix) == 0) + return layout.substr(begin, i - begin); + begin = i + 1; + } + return {}; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/AuiPaneLayout.hpp b/src/slic3r/GUI/AuiPaneLayout.hpp new file mode 100644 index 0000000000..e18b5ff6e1 --- /dev/null +++ b/src/slic3r/GUI/AuiPaneLayout.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include <string> + +namespace Slic3r { namespace GUI { + +// The part a wxAuiManager layout string (wxAuiManager::SavePerspective) holds for `pane_name`, in the +// form wxAuiManager::LoadPaneInfo() takes, or empty when the layout has no such pane. +std::string aui_pane_layout_entry(const std::string& layout, const std::string& pane_name); + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Auxiliary.cpp b/src/slic3r/GUI/Auxiliary.cpp index 13ca173eb6..444daa4f91 100644 --- a/src/slic3r/GUI/Auxiliary.cpp +++ b/src/slic3r/GUI/Auxiliary.cpp @@ -606,7 +606,7 @@ AuFolderPanel::AuFolderPanel(wxWindow *parent, AuxiliaryFolderType type, wxWindo wxBoxSizer *sizer_main = new wxBoxSizer(wxVERTICAL); m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL | wxVSCROLL); - m_scrolledWindow->SetScrollRate(5, 5); + m_scrolledWindow->SetScrollRate(5, FromDIP(20)); wxBoxSizer *sizer_body = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizer_top = new wxBoxSizer(wxHORIZONTAL); @@ -863,17 +863,27 @@ void AuxiliaryPanel::init_tabpanel() m_tabpanel->SetBackgroundColour(wxColour("#FEFFFF")); m_tabpanel->Bind(wxEVT_BOOKCTRL_PAGE_CHANGED, [](wxBookCtrlEvent &e) { /* Event handling */ }); - m_designer_panel = new DesignerPanel(m_tabpanel, AuxiliaryFolderType::DESIGNER); - m_pictures_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::MODEL_PICTURE); - m_bill_of_materials_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::BILL_OF_MATERIALS); - m_assembly_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::ASSEMBLY_GUIDE); - m_others_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::OTHERS); - - m_tabpanel->AddPage(m_designer_panel, _L("Basic Info"), true); - m_tabpanel->AddPage(m_pictures_panel, _L("Pictures"), false); - m_tabpanel->AddPage(m_bill_of_materials_panel, _L("Bill of Materials"), false); - m_tabpanel->AddPage(m_assembly_panel, _L("Assembly Guide"), false); - m_tabpanel->AddPage(m_others_panel, _L("Others"), false); + add_build_step([this] { + m_designer_panel = new DesignerPanel(m_tabpanel, AuxiliaryFolderType::DESIGNER); + m_tabpanel->AddPage(m_designer_panel, _L("Basic Info"), true); + }); + add_build_step([this] { + m_pictures_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::MODEL_PICTURE); + m_tabpanel->AddPage(m_pictures_panel, _L("Pictures"), false); + }); + add_build_step([this] { + m_bill_of_materials_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::BILL_OF_MATERIALS); + m_tabpanel->AddPage(m_bill_of_materials_panel, _L("Bill of Materials"), false); + }); + add_build_step([this] { + m_assembly_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::ASSEMBLY_GUIDE); + m_tabpanel->AddPage(m_assembly_panel, _L("Assembly Guide"), false); + }); + add_build_step([this] { + m_others_panel = new AuFolderPanel(m_tabpanel, AuxiliaryFolderType::OTHERS); + m_tabpanel->AddPage(m_others_panel, _L("Others"), false); + Layout(); + }); } wxWindow *AuxiliaryPanel::create_side_tools() diff --git a/src/slic3r/GUI/Auxiliary.hpp b/src/slic3r/GUI/Auxiliary.hpp index 0bced37115..76e6adf97b 100644 --- a/src/slic3r/GUI/Auxiliary.hpp +++ b/src/slic3r/GUI/Auxiliary.hpp @@ -46,6 +46,7 @@ #include "slic3r/GUI/UpgradePanel.hpp" #include "slic3r/GUI/AmsWidgets.hpp" #include "Widgets/SideTools.hpp" +#include "StagedBuild.hpp" #define AUFILE_GREY700 wxColour(107, 107, 107) #define AUFILE_GREY500 wxColour(158, 158, 158) @@ -194,7 +195,7 @@ public: }; -class AuxiliaryPanel : public wxPanel +class AuxiliaryPanel : public wxPanel, public StagedBuild { private: Tabbook *m_tabpanel = {nullptr}; diff --git a/src/slic3r/GUI/BBLTopbar.hpp b/src/slic3r/GUI/BBLTopbar.hpp index e60a95f64f..2745490d00 100644 --- a/src/slic3r/GUI/BBLTopbar.hpp +++ b/src/slic3r/GUI/BBLTopbar.hpp @@ -93,7 +93,6 @@ private: CenteredTitle* m_title_ctrl { nullptr }; wxString m_titleText; - wxAuiToolBarItem* m_model_store_item; //wxAuiToolBarItem *m_publish_item; wxAuiToolBarItem* m_undo_item; diff --git a/src/slic3r/GUI/BackgroundSlicingProcess.cpp b/src/slic3r/GUI/BackgroundSlicingProcess.cpp index 64c52c6e72..f795b41999 100644 --- a/src/slic3r/GUI/BackgroundSlicingProcess.cpp +++ b/src/slic3r/GUI/BackgroundSlicingProcess.cpp @@ -848,7 +848,9 @@ void BackgroundSlicingProcess::finalize_gcode() case CopyFileResult::SUCCESS: break; // no error case CopyFileResult::FAIL_COPY_FILE: throw Slic3r::ExportError(GUI::format( - _L("Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%"), + m_export_path_on_removable_media ? + _L("Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%") : + _L("Copying of the temporary G-code to the output G-code failed.\nError message: %1%"), error_message)); break; case CopyFileResult::FAIL_FILES_DIFFERENT: diff --git a/src/slic3r/GUI/BaseTransparentDPIFrame.hpp b/src/slic3r/GUI/BaseTransparentDPIFrame.hpp index 35ed51ddfe..7dc83b4d46 100644 --- a/src/slic3r/GUI/BaseTransparentDPIFrame.hpp +++ b/src/slic3r/GUI/BaseTransparentDPIFrame.hpp @@ -5,8 +5,10 @@ #include <thread> #include "GUI_App.hpp" #include "GUI_Utils.hpp" +#include <wx/timer.h> class Button; +class Label; class CheckBox; namespace Slic3r { namespace GUI { class CapsuleButton; diff --git a/src/slic3r/GUI/BindDialog.cpp b/src/slic3r/GUI/BindDialog.cpp index 4c6d3c249d..883765751b 100644 --- a/src/slic3r/GUI/BindDialog.cpp +++ b/src/slic3r/GUI/BindDialog.cpp @@ -558,7 +558,7 @@ PingCodeBindDialog::~PingCodeBindDialog() { //show bind failed info m_sw_bind_failed_info = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(450), FromDIP(300)), wxVSCROLL); m_sw_bind_failed_info->SetBackgroundColour(*wxWHITE); - m_sw_bind_failed_info->SetScrollRate(5, 5); + m_sw_bind_failed_info->SetScrollRate(5, FromDIP(20)); m_sw_bind_failed_info->SetMinSize(wxSize(FromDIP(450), FromDIP(90))); m_sw_bind_failed_info->SetMaxSize(wxSize(FromDIP(450), FromDIP(90))); diff --git a/src/slic3r/GUI/BindDialog.hpp b/src/slic3r/GUI/BindDialog.hpp index b809bc523b..8d21c1be5e 100644 --- a/src/slic3r/GUI/BindDialog.hpp +++ b/src/slic3r/GUI/BindDialog.hpp @@ -65,18 +65,10 @@ private: wxPanel* request_bind_panel; wxPanel* binding_panel; - wxScrolledWindow* m_sw_bind_failed_info; - Label* m_bind_failed_info; - Label* m_st_txt_error_code{ nullptr }; - Label* m_st_txt_error_desc{ nullptr }; - Label* m_st_txt_extra_info{ nullptr }; - HyperLink* m_link_network_state{ nullptr }; wxString m_result_info; wxString m_result_extra; wxString m_ping_code_wiki; - bool m_show_error_info_state = true; - int m_result_code; std::shared_ptr<BBLStatusBarBind> m_status_bar; public: @@ -110,7 +102,6 @@ private: wxBitmap m_bitmap_show_error_close; wxBitmap m_bitmap_show_error_open; wxScrolledWindow* m_sw_bind_failed_info; - Label* m_bind_failed_info; Label* m_st_txt_error_code{ nullptr }; Label* m_st_txt_error_desc{ nullptr }; Label* m_st_txt_extra_info{ nullptr }; diff --git a/src/slic3r/GUI/CAD/DesignCanvas.cpp b/src/slic3r/GUI/CAD/DesignCanvas.cpp new file mode 100644 index 0000000000..8db2afbbc2 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignCanvas.cpp @@ -0,0 +1,1673 @@ +#include "slic3r/GUI/CAD/DesignCanvas.hpp" + +#include "slic3r/GUI/CAD/SketchInlineEditor.hpp" +#include "slic3r/GUI/CAD/DesignInteraction.hpp" +#include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/OpenGLManager.hpp" +#include "slic3r/GUI/3DBed.hpp" +#include "slic3r/GUI/Camera.hpp" // N: look down the sketch plane normal +#include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Plater.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "slic3r/GUI/3DScene.hpp" +#include "slic3r/GUI/MeshUtils.hpp" // ClippingPlane (section view) +#include "libslic3r/Config.hpp" +#include <boost/algorithm/string/predicate.hpp> +#include <algorithm> +#include <cstdlib> + +#include <wx/glcanvas.h> +#include <wx/stopwatch.h> // wxGetLocalTimeMillis: the right-click vs right-hold budget +#include <wx/sizer.h> +#include <wx/frame.h> +#include <wx/stattext.h> +#include <wx/toplevel.h> + +namespace Slic3r { +namespace GUI { + +DesignCanvas::DesignCanvas(wxWindow* parent) + : wxPanel() +{ + if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0)) + return; + + m_canvas_widget = OpenGLManager::create_wxglcanvas(*this); + if (m_canvas_widget == nullptr) + return; + + m_canvas = new GLCanvas3D(m_canvas_widget, m_bed); + m_canvas->set_context(wxGetApp().init_glcontext(*m_canvas_widget)); + m_canvas->allow_multisample(OpenGLManager::can_multisample()); + m_canvas->set_config(wxGetApp().plater()->config()); + m_canvas->set_model(&m_model); + // Nothing to slice here, but GLCanvas3D derefs the process unguarded every frame, so it + // cannot be null. Borrow the plater's, as the editor canvases do. + m_canvas->set_process(&wxGetApp().plater()->background_process()); + m_canvas->set_type(GLCanvas3D::ECanvasType::CanvasView3D); + + // CAD navigation, this canvas only: left-drag sweeps a selection rubber band, so orbit + // moves to middle-drag and pan to right-drag. Design is a different modality from + // Prepare/Preview and every CAD the user already knows maps the mouse this way; the other + // tabs are untouched. + m_canvas->set_cad_navigation(true); + + m_canvas->enable_picking(false); // viewport face/edge picking is custom (TODO) + m_canvas->enable_moving(false); + m_canvas->enable_gizmos(false); + m_canvas->enable_selection(false); // stock volume selection unused; solid highlight is tree-driven + m_canvas->enable_main_toolbar(false); + m_canvas->enable_select_plate_toolbar(false); + m_canvas->enable_assemble_view_toolbar(false); + m_canvas->enable_separator_toolbar(false); + m_canvas->enable_collapse_toolbar(false); + m_canvas->enable_plate_chrome(false); + m_canvas->enable_labels(false); + m_canvas->set_axes_at_bed_center(true); // triad at bed centre = modeling origin + + m_canvas->set_design_sketch_tool(&m_sketch_tool); + m_sketch_tool.on_commit = [this](const SketchProfile& prof, const SketchPlane& pl) { + if (m_on_sketch_commit) m_on_sketch_commit(prof, pl); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); + }; + m_sketch_tool.on_commit_entities = [this](const std::vector<SketchEntity>& ents, + const std::vector<SketchEntityConstraintDef>& cons, + const SketchPlane& pl) { + if (m_on_sketch_entities_commit) m_on_sketch_entities_commit(ents, cons, pl); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); + }; + + // Onshape-style in-canvas value editor, floating over the GL canvas. The tool hands + // us a screen pixel (device px) + a commit/cancel pair; we convert to logical client + // px and wrap the callbacks so each one re-solves and re-renders the viewport. + m_inline_editor = std::make_unique<SketchInlineEditor>(); + // The tool draws it: it owns the frame's ImGui pass and the render scale. Handing it a raw + // pointer rather than the unique_ptr keeps the ownership where it was. + m_sketch_tool.inline_editor = m_inline_editor.get(); + // SCHEDULE a paint, do not render one. request_repaint() renders SYNCHRONOUSLY on software + // GL, and this callback runs from inside DesignSketchTool::render() — so using it here asks + // for a render from within a render. The frames stopped after nine, which is what a + // re-entrancy guard giving up looks like. Refresh() posts a paint event instead: the current + // frame finishes, the event loop runs (which is where ImGui's queued characters are consumed), + // and the next frame starts clean. + // MEASUREMENT: does a typed character reach the GL canvas at all? Everything downstream of + // this point is known good (ImGui reports want_text=1 and our InputText active), so if these + // lines do not appear the character never got past the panel's CHAR_HOOK / the focus chain, + // and no amount of work inside the field will help. Skips always: a pure observer. + if (m_canvas_widget != nullptr && std::getenv("ORCA_CAD_UXTRACE")) { + m_canvas_widget->Bind(wxEVT_CHAR, [](wxKeyEvent& e) { + fprintf(stderr, "[UX] canvas_char key=%d\n", e.GetKeyCode()); + fflush(stderr); + e.Skip(); + }); + } + m_inline_editor->request_frame = [this] { + // BOTH halves, and the dirty flag first: GLCanvas3D's paint handler returns without + // rendering when the canvas is not marked dirty, so a bare Refresh() posts an event that + // draws nothing and the frames still stop. request_repaint() does exactly this pair on + // the hardware path; what it must NOT do here is its software path, which renders + // synchronously — and this callback runs from inside render(). + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(false); + }; + m_sketch_tool.on_inline_edit = [this](wxPoint screen_px, double current, + const std::string& title, + std::function<void(double)> commit, + std::function<void()> cancel) { + if (!m_inline_editor) { if (cancel) cancel(); return; } + // The tool hands us canvas device px and the field is now drawn IN the canvas, so this + // is already the coordinate space it wants — no conversion to screen coordinates, and no + // window to place there. + // Freeze the sketch tool while the field is open so a stray click/move on the GL + // canvas can't draw under the field; released on commit or cancel. + m_sketch_tool.set_inline_busy(true); + // AND PUT THE KEYBOARD ON THE CANVAS. The field is drawn by ImGui, and ImGui is fed from + // GLCanvas3D's own key handler, so a key only reaches it if the canvas is the focused + // widget. That is a focus move WITHIN one window — the toolkit's business, not the window + // manager's, which is the whole point of not being a window any more — but it still has + // to be asked for: after a toolbar click or a tree selection the focus is elsewhere in + // the panel, and the field would sit there taking nothing. + if (m_canvas_widget) m_canvas_widget->SetFocus(); + m_inline_editor->open(screen_px, current, title, + [this, commit](double v) { + m_sketch_tool.set_inline_busy(false); + if (commit) commit(v); + request_repaint(); + }, + [this, cancel]() { + m_sketch_tool.set_inline_busy(false); + if (cancel) cancel(); + request_repaint(); + }); + }; + // Let the tool force-close the field (keep-as-drawn) — polyline right-click/double-click + // ends the chain even while a per-segment value field is open. + m_sketch_tool.on_inline_dismiss = [this]() { + if (m_inline_editor) m_inline_editor->cancel(); + }; + m_sketch_tool.on_inline_commit = [this]() { + if (m_inline_editor) m_inline_editor->commit(); + }; + + // Bottom-right viewport HUD: a borderless, non-focusable float label showing the active + // tool's current values. Top-level (a child widget is hidden by the GL surface, same as + // the inline editor). Fed every frame by the tool's on_readout; empty text hides it. + // NON-FOCUSABLE IS THE LOAD-BEARING WORD, and a wxFrame is not: see the header. The chip + // outlives the gesture that drew it, and while it held the X input focus every sketch + // shortcut was swallowed until the user clicked the canvas. Same window class as the status + // chip below for the same reason. Do not "simplify" it back to a wxFrame. + { + wxWindow* top = wxGetTopLevelParent(m_canvas_widget); + m_hud = new wxPopupWindow(top, wxBORDER_NONE); + m_hud->SetBackgroundColour(wxColour(28, 30, 34)); + m_hud_label = new wxStaticText(m_hud, wxID_ANY, wxEmptyString); + m_hud_label->SetForegroundColour(wxColour(0x46, 0xE0, 0xC8)); // teal, reads on dark bed + wxFont f = m_hud_label->GetFont(); f.MakeBold(); m_hud_label->SetFont(f); + auto* hs = new wxBoxSizer(wxHORIZONTAL); + hs->Add(m_hud_label, 0, wxALL, 6); + m_hud->SetSizerAndFit(hs); + m_hud->Hide(); + } + m_sketch_tool.on_readout = [this](const std::string& s) { set_readout(s); }; + + // Bottom-LEFT twin, carrying the status line. Top-level for the same reason as the readout + // (a child widget is hidden by the GL surface) but a wxPopupWindow rather than a wxFrame, + // because a popup cannot take keyboard focus. The readout gets away with a frame only + // because it appears mid-gesture and the next input is the mouse; this one is up + // permanently and is re-raised on every status change. As a frame it took the WM's focus + // each time and the canvas stopped receiving keys at all — every sketch shortcut silently + // dead, which reads as a broken tool. Do not "simplify" it back to a wxFrame. + // Its colour is set per message — the panel decides whether a line is neutral or an error. + { + wxWindow* top = wxGetTopLevelParent(m_canvas_widget); + m_status_hud = new wxPopupWindow(top, wxBORDER_NONE); + m_status_hud->SetBackgroundColour(wxColour(28, 30, 34)); + m_status_hud_label = new wxStaticText(m_status_hud, wxID_ANY, wxEmptyString); + auto* ss = new wxBoxSizer(wxHORIZONTAL); + // The line never wraps — there is a whole window's width down here — so the chip is + // ONE LINE tall. Spacers rather than a wxALL border because the two axes want + // different numbers: roomy at the sides so it reads as a label, and just enough top + // and bottom to clear the descenders. Zero vertical clips the glyphs; 6 (what the + // readout chip uses) makes it look like a two-line box. + ss->AddSpacer(10); + ss->Add(m_status_hud_label, 0, wxTOP | wxBOTTOM, 3); + ss->AddSpacer(10); + m_status_hud->SetSizerAndFit(ss); + m_status_hud->Hide(); + } + // A floating frame does not follow its parent, so the anchor has to be recomputed whenever + // the canvas changes size (that bind is below bind_event_handlers(), for the reason given + // there). The readout HUD gets away without this because it is transient; the status line is + // on screen almost permanently and would visibly detach. + // ...and it does not follow the WINDOW either. A popup is override-redirect: the window + // manager does not own it, so minimising the app leaves the chip sitting on the bare desktop + // (seen on the rig: whole screen black, chip still there), and it stacks above other + // applications rather than behind them. IsShownOnScreen does not catch this — an iconised + // frame still counts as shown — so the frame has to say so itself. Deactivating the app is + // the same case one step weaker: the chip belongs to a viewport the user is no longer + // looking at. Showing it back is safe because a popup cannot take focus, so neither event + // can be re-triggered by our own Show(). + // Members rather than lambdas so unbind_canvas_event_handlers() can Unbind them: these sit on + // a frame that OUTLIVES this canvas, and a lambda cannot be unbound. + if (wxWindow* top = wxGetTopLevelParent(m_canvas_widget)) { + top->Bind(wxEVT_ICONIZE, &DesignCanvas::on_frame_iconize, this); + top->Bind(wxEVT_ACTIVATE, &DesignCanvas::on_frame_activate, this); + // The anchor is an ABSOLUTE SCREEN position (ClientToScreen below), so moving the window + // moves the canvas out from under a chip that stays where it was. Dragging the frame by + // its title bar left the chip stranded mid-viewport until the next size, status or tab + // change happened to re-place it. Nothing on the canvas fires for a move that does not + // also resize, so it has to come from the frame. + top->Bind(wxEVT_MOVE, &DesignCanvas::on_status_hud_reanchor, this); + } + + refresh_bed(); + + // The view this canvas opens on. Built lazily, on the way into the Design tab, so this + // is the view the user is looking at right now. + m_parked_camera = wxGetApp().plater()->get_camera(); + + // Before any of this class's own Binds below: wx calls dynamically bound handlers in + // reverse order of binding, and GLCanvas3D swallows several events without skipping them — + // wxEVT_RIGHT_UP and wxEVT_ENTER_WINDOW in on_mouse, and wxEVT_SIZE in on_size, which is + // just `m_dirty = true;`. For those, whatever is bound LAST is the only handler that runs. + // The context menu, the focus-follows-mouse and the status-chip re-anchor all depend on + // running first, which is only true while this call stays ahead of them. + m_canvas->bind_event_handlers(); + + // The status-chip re-anchor promised above, bound AFTER the call so it runs first — ahead of + // it the handler never ran at all, leaving a stale anchor and wrap width after any resize + // that did not also move the frame or change the text. Its e.Skip() is load-bearing the + // other way: it falls through to on_size, which is what still marks the canvas dirty. + m_canvas_widget->Bind(wxEVT_SIZE, &DesignCanvas::on_status_hud_reanchor, this); + + // The Design GL canvas only receives key events (Esc to exit/enter Select, Ctrl+Z undo) + // while it holds keyboard focus. Clicking a side-panel button steals focus, after which + // Esc/Ctrl+Z silently do nothing until the viewport is clicked again. Restore focus + // whenever the pointer enters the viewport (focus-follows-mouse, standard CAD behaviour). + m_canvas_widget->Bind(wxEVT_ENTER_WINDOW, [this](wxMouseEvent& e) { + // …but NOT while an inline value field is open: the field floats over the canvas, so + // the smallest pointer jiggle re-enters the viewport and would yank focus off the + // field (the "no cursor focus on the number, click to focus" bug). + if (m_canvas_widget && !m_sketch_tool.inline_busy()) m_canvas_widget->SetFocus(); + e.Skip(); + }); + + + auto* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(m_canvas_widget, 1, wxEXPAND); + SetSizer(sizer); + SetMinSize(wxSize(300, 300)); +} + +// Both are idempotent, and neither destroys anything: the destructor still owns that. +void DesignCanvas::unbind_canvas_event_handlers() +{ + if (wxWindow* top = wxGetTopLevelParent(m_canvas_widget)) { + top->Unbind(wxEVT_ICONIZE, &DesignCanvas::on_frame_iconize, this); + top->Unbind(wxEVT_ACTIVATE, &DesignCanvas::on_frame_activate, this); + top->Unbind(wxEVT_MOVE, &DesignCanvas::on_status_hud_reanchor, this); + } + // Before the popups go down, or a resize still in flight re-places and re-shows the chip. + if (m_canvas_widget) + m_canvas_widget->Unbind(wxEVT_SIZE, &DesignCanvas::on_status_hud_reanchor, this); + // A popup is override-redirect: it does not go down with the frame, so one left showing sits + // on the bare desktop for however long the teardown takes. + show_status_hud(false); + if (m_hud) m_hud->Hide(); + if (m_canvas) m_canvas->unbind_event_handlers(); +} + +void DesignCanvas::reset_canvas_volumes() +{ + if (m_canvas) m_canvas->reset_volumes(); +} + +DesignCanvas::~DesignCanvas() +{ + if (m_hud) m_hud->Destroy(); + delete m_canvas; + delete m_canvas_widget; +} + +// Distinct per-body colours (Onshape-style). Body 0 keeps the familiar gold; the rest +// cycle through a small saturated palette so coexisting solids read as separate parts. +static ColorRGBA body_palette(int body_idx) +{ + static const ColorRGBA kPalette[] = { + ColorRGBA(0.86f, 0.66f, 0.20f, 1.0f), // gold + ColorRGBA(0.30f, 0.62f, 0.90f, 1.0f), // blue + ColorRGBA(0.45f, 0.78f, 0.42f, 1.0f), // green + ColorRGBA(0.86f, 0.45f, 0.40f, 1.0f), // coral + ColorRGBA(0.70f, 0.52f, 0.86f, 1.0f), // violet + ColorRGBA(0.90f, 0.70f, 0.35f, 1.0f), // amber + }; + const int n = int(sizeof(kPalette) / sizeof(kPalette[0])); + return kPalette[((body_idx % n) + n) % n]; +} + +void DesignCanvas::request_repaint() +{ + if (!m_canvas) + return; + m_canvas->set_as_dirty(); + + // NOTHING may touch GL before the canvas has initialised it. The backend probe below calls + // OpenGLManager::get_gl_info().get_renderer(), which runs GLInfo::detect() -> glGetString + // with no context current and, before init_opengl(), no loaded function pointers — a + // segfault at startup with no window and nothing in the log. Anything that asks for a + // repaint while the panel is still being built lands here, so the guard belongs at the top + // rather than around the render() call: the crash was in the PROBE, not in the paint. + if (!m_canvas->is_initialized()) { + if (m_canvas_widget) + m_canvas_widget->Refresh(); // the first real paint draws the current state anyway + return; + } + + if (m_sw_gl < 0) { + // Cache the backend once it's known; the renderer string is empty until + // GL is initialised, so stay "unknown" and take the safe direct path till then. + const std::string& r = OpenGLManager::get_gl_info().get_renderer(); + if (!r.empty()) + m_sw_gl = (boost::icontains(r, "llvmpipe") || boost::icontains(r, "softpipe") || + boost::icontains(r, "swrast") || boost::icontains(r, "software")) ? 1 : 0; + } + + if (m_sw_gl == 0) { + if (m_canvas_widget) + m_canvas_widget->Refresh(); // hardware GL: paint cycle drives render() + } else { + m_canvas->render(); // software GL or backend not yet known + } +} + +void DesignCanvas::enter_viewport() +{ + if (!m_camera_swapped) swap_camera(); +} + +void DesignCanvas::leave_viewport() +{ + if (m_camera_swapped) swap_camera(); +} + +void DesignCanvas::swap_camera() +{ + Plater* plater = wxGetApp().plater(); + if (plater == nullptr) return; + std::swap(plater->get_camera(), m_parked_camera); + m_camera_swapped = !m_camera_swapped; +} + +void DesignCanvas::force_repaint() +{ + if (m_canvas == nullptr || m_canvas_widget == nullptr) + return; + + CallAfter([this]() { + if (m_canvas == nullptr || m_canvas_widget == nullptr) + return; + m_canvas->set_as_dirty(); + m_canvas_widget->Refresh(); + m_canvas_widget->Update(); // synchronous: an expose may never come after a page show + }); +} + +void DesignCanvas::repaint_now() +{ + if (m_canvas == nullptr || m_canvas_widget == nullptr) + return; + request_repaint(); // mark dirty + Refresh (hardware GL) or render (software GL) + m_canvas_widget->Update(); // service the pending paint immediately (a modal popup owns the loop) +} + +void DesignCanvas::reload(bool keep_view) +{ + m_canvas->reset_volumes(); + + for (int i = 0; i < (int)m_model.objects.size(); ++i) + m_canvas->load_object(m_model, i); + + const ColorRGBA sel_gold = design_selection_color(); // same colour as every other selection + const ColorRGBA ghost(0.26f, 0.66f, 1.0f, 0.45f); + + const auto& volumes = m_canvas->get_volumes().volumes; + for (auto* v : volumes) { + int obj_idx = v->object_idx(); + if (obj_idx == 0) { + // Object 0 holds one volume per body — colour each by its body index so + // multiple coexisting solids are visually distinct (Onshape per-part colour). + const int b = v->volume_idx(); + bool hidden = (b >= 0 && b < int(m_body_visible.size())) && !m_body_visible[b]; + // Preview-only mode (fillet/chamfer/draft, once a valid target is picked): hide + // every base body so only the result ghost is on screen until Confirm. + if (m_body_hidden) hidden = true; + v->is_active = !hidden; // per-body visibility toggle + if (!hidden) { + // An EXPLICIT colour outranks the selection tint. m_body_selected is a + // document-wide flag raised whenever a non-Sketch feature row is selected — + // the normal resting state after any modelling operation — so painting every + // body gold on it made the Color tool look broken: the override was written, + // carried across recompute and read back correctly, and then overpainted here + // every single frame. A body the user deliberately coloured keeps its colour; + // the rest still tint, which is all the tint was ever for. + const bool overridden = m_color_bodies != nullptr && b >= 0 + && b < int(m_color_bodies->size()) + && (*m_color_bodies)[b].has_color; + ColorRGBA c = (m_body_selected && !overridden) ? sel_gold : body_color(b); + if (b == m_hl_body_target) c = ColorRGBA(0.30f, 0.90f, 0.70f, 1.0f); // target = teal-green + else if (b == m_hl_body_tool) c = ColorRGBA(1.00f, 0.55f, 0.15f, 1.0f); // tool = orange + if (m_body_translucent) c.a(0.30f); + else if (m_xray_focus >= 0 && b != m_xray_focus) c.a(0.25f); + v->set_color(c); + } + } else if (obj_idx == 1) { + // The ghost is normally a faint blue overlay on the visible body. In preview-only + // mode it IS the result (base bodies hidden), so render it opaque so it reads as a + // finished solid rather than a see-through hint. + v->set_color(m_body_hidden ? ColorRGBA(0.40f, 0.82f, 1.0f, 1.0f) : ghost); + } + } + + if (!keep_view) { + if (m_first_frame && !m_model.objects.empty()) { + m_canvas->select_view("iso"); + m_canvas->zoom_to_volumes(); + m_first_frame = false; + } + } + + m_canvas->set_as_dirty(); + if (m_canvas_widget) + m_canvas_widget->Refresh(); +} + +void DesignCanvas::set_mesh(const TriangleMesh& mesh) +{ + if (m_model.objects.empty()) { + auto* obj = m_model.add_object(); + obj->add_volume(mesh); + obj->add_instance(); + } else { + ModelObject* obj = m_model.objects.front(); + obj->clear_volumes(); + obj->add_volume(mesh); + if (obj->instances.empty()) + obj->add_instance(); + } + + reload(!m_first_frame); +} + +void DesignCanvas::set_bodies(const std::vector<TriangleMesh>& body_meshes, + const std::vector<bool>& visible) +{ + // Object 0 carries one GLVolume per body so reload() can colour each distinctly. + // Falls back to a single-volume object when there's only one body (identical look + // to the old set_mesh path). Picking still uses the combined mesh via set_solid_pick. + m_body_visible = visible; // empty => all visible; reload() reads this per volume + if (body_meshes.empty()) { clear_mesh(); return; } + + ModelObject* obj = m_model.objects.empty() ? m_model.add_object() + : m_model.objects.front(); + obj->clear_volumes(); + for (const TriangleMesh& m : body_meshes) + obj->add_volume(m); + if (obj->instances.empty()) + obj->add_instance(); + + reload(!m_first_frame); +} + +void DesignCanvas::clear_mesh() +{ + if (!m_model.objects.empty()) { + m_model.delete_object((size_t)0); + reload(true); + } +} + +void DesignCanvas::set_preview_mesh(const TriangleMesh& mesh) +{ + // Remove existing ghost (object 1) if present + if (m_model.objects.size() > 1) + m_model.delete_object((size_t)1); + + auto* obj = m_model.add_object(); + obj->add_volume(mesh); + obj->add_instance(); + + reload(true); +} + +void DesignCanvas::clear_preview() +{ + if (m_model.objects.size() > 1) { + m_model.delete_object((size_t)1); + reload(true); + } +} + +void DesignCanvas::fit_view() +{ + if (m_canvas && !m_model.objects.empty()) { + m_canvas->zoom_to_volumes(); + m_canvas->set_as_dirty(); + if (m_canvas_widget) + m_canvas_widget->Refresh(); + } +} + +void DesignCanvas::set_view(const std::string& view_name) +{ + if (m_canvas) { + m_canvas->select_view(view_name); + m_canvas->zoom_to_volumes(); + m_canvas->set_as_dirty(); + if (m_canvas_widget) + m_canvas_widget->Refresh(); + } +} + +void DesignCanvas::begin_sketch(const SketchPlane& plane, DesignSketchTool::Mode mode) +{ + m_sketch_tool.begin(plane, mode); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +void DesignCanvas::set_sketch_plane(const SketchPlane& plane) +{ + m_sketch_tool.set_plane(plane); // keeps the 2D entities; only the carrier plane changes + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +void DesignCanvas::edit_sketch(const std::vector<SketchEntity>& entities, + const std::vector<SketchEntityConstraintDef>& constraints, + const SketchPlane& plane) +{ + m_sketch_tool.begin_edit(entities, constraints, plane); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +void DesignCanvas::set_sketch_tool(DesignSketchTool::Mode mode) +{ + m_sketch_tool.set_tool(mode); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +void DesignCanvas::set_sketch_construction(bool c) +{ + m_sketch_tool.set_construction(c); +} + +bool DesignCanvas::edit_sketch_selection_value() +{ + const bool ok = m_sketch_tool.open_selection_dimension_editor(); + if (ok) request_repaint(); + return ok; +} + +int DesignCanvas::toggle_sketch_construction_selection() +{ + const int n = m_sketch_tool.toggle_selection_construction(); + if (n > 0) request_repaint(); + return n; +} + +bool DesignCanvas::add_sketch_regions( + const std::vector<std::vector<std::vector<Vec2d>>>& regions) +{ + const bool ok = m_sketch_tool.add_imported_regions(regions); + if (ok) request_repaint(); + return ok; +} + +void DesignCanvas::set_sketch_polygon_sides(int n) +{ + m_sketch_tool.set_polygon_sides(n); +} + +void DesignCanvas::set_sketch_polygon_circumscribed(bool c) +{ + m_sketch_tool.set_polygon_circumscribed(c); +} + +void DesignCanvas::finish_sketch() +{ + m_sketch_tool.finish(); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +// Sync the Design bed to the CURRENT printer bed. Done on every tab activation, not just at +// construction: the panel is built early (before the active printer profile is fully applied), +// so a one-shot read picked up the 200x200 default while the real bed (e.g. 270x270) only +// loaded later — leaving the PartPlate grid spilling past the smaller bed quad. +void DesignCanvas::refresh_bed() +{ + const DynamicPrintConfig* config = wxGetApp().plater()->config(); + if (!config) return; + const auto* bed_shape_opt = config->opt<ConfigOptionPoints>("printable_area"); + if (!bed_shape_opt) return; + double printable_height = 100.0; + const auto* ph_opt = config->opt<ConfigOptionFloat>("printable_height"); + if (ph_opt) printable_height = ph_opt->value; + m_bed.set_shape(bed_shape_opt->values, printable_height, {}, {}, "", false); // mainline added extruder_areas/heights params +} + +void DesignCanvas::set_show_bed(bool b) +{ + if (!m_canvas) return; + if (m_canvas->get_show_bed() == b) return; // no repaint for a no-op toggle + m_canvas->set_show_bed(b); + request_repaint(); +} + +bool DesignCanvas::is_sketching() const { return m_sketch_tool.is_active(); } + +void DesignCanvas::cancel_sketch() +{ + m_sketch_tool.cancel(); + if (m_canvas) m_canvas->set_as_dirty(); + if (m_canvas_widget) m_canvas_widget->Refresh(); +} + +void DesignCanvas::set_on_sketch_commit(std::function<void(const SketchProfile&, const SketchPlane&)> cb) +{ + m_on_sketch_commit = std::move(cb); +} + +void DesignCanvas::set_on_sketch_entities_commit( + std::function<void(const std::vector<SketchEntity>&, + const std::vector<SketchEntityConstraintDef>&, + const SketchPlane&)> cb) +{ + m_on_sketch_entities_commit = std::move(cb); +} + +void DesignCanvas::set_on_segment_drawn(std::function<void(double, double)> cb) +{ + m_sketch_tool.on_segment_drawn = std::move(cb); +} + +void DesignCanvas::set_on_cursor_metrics(std::function<void(double, double, bool)> cb) +{ + m_sketch_tool.on_cursor_metrics = std::move(cb); +} + +void DesignCanvas::set_on_solve_state(std::function<void(int, bool, bool)> cb) +{ + m_sketch_tool.on_solve_state = std::move(cb); +} + +void DesignCanvas::set_on_sketch_step(std::function<void(DesignSketchTool::Mode, int, int)> cb) +{ + m_sketch_tool.on_step_changed = std::move(cb); +} + +void DesignCanvas::apply_segment_length(double len) +{ + m_sketch_tool.apply_segment_length(len); + request_repaint(); +} + +void DesignCanvas::keep_segment_as_drawn() +{ + m_sketch_tool.keep_segment_as_drawn(); + request_repaint(); +} + +void DesignCanvas::set_on_sketch_selection_changed(std::function<void(int)> cb) +{ + m_sketch_tool.on_selection_changed = std::move(cb); +} + +void DesignCanvas::set_on_sketch_face_selected(std::function<void(int)> cb) +{ + m_sketch_tool.on_face_selected = std::move(cb); +} + +void DesignCanvas::set_on_display_sketch_selected(std::function<void(int, int, int)> cb) +{ + m_sketch_tool.on_display_sketch_selected = std::move(cb); +} + +void DesignCanvas::set_on_display_sketch_activated(std::function<void(int)> cb) +{ + m_sketch_tool.on_display_sketch_activated = std::move(cb); +} + +std::vector<SketchEntity> DesignCanvas::selected_loop_entities() const +{ + return m_sketch_tool.selected_loop_entities(); +} + +std::vector<std::vector<int>> DesignCanvas::region_entity_indices(const std::vector<SketchEntity>& ents) const +{ + return m_sketch_tool.region_entity_indices(ents); +} + +std::vector<std::vector<int>> DesignCanvas::region_entity_indices_with_holes(const std::vector<SketchEntity>& ents) const +{ + return m_sketch_tool.region_entity_indices_with_holes(ents); +} + +void DesignCanvas::clear_loop_pick() +{ + m_sketch_tool.clear_display_pick(); +} + +void DesignCanvas::set_loop_pick(int feature, int region) +{ + m_sketch_tool.set_display_pick(feature, region); + request_repaint(); +} + +void DesignCanvas::set_escalate_on_repick(bool on) +{ + m_sketch_tool.set_escalate_on_repick(on); +} + +void DesignCanvas::set_solid_pick(const std::vector<CadBody>* bodies, const TriangleMesh* mesh, + const std::vector<int>* tri_face, const std::vector<int>* tri_body, + const std::vector<bool>* visible, + const std::vector<Transform3d>* xform) +{ + m_color_bodies = bodies; // stable address (m_doc.bodies); reload() reads colour overrides + m_sketch_tool.set_solid_pick(bodies, mesh, tri_face, tri_body, visible, xform); +} + +// Effective display colour for a body: per-body override (Color tool) when set, else the +// auto body-index palette. body_palette() is the file-static helper defined above reload(). +ColorRGBA DesignCanvas::body_color(int body) const +{ + if (m_color_bodies != nullptr && body >= 0 && body < int(m_color_bodies->size()) + && (*m_color_bodies)[body].has_color) + return (*m_color_bodies)[body].color; + return body_palette(body); +} + +void DesignCanvas::begin_move_body(int body, const Vec3d& pivot, const Transform3d& base_xform, + double body_radius) +{ + m_sketch_tool.set_move_gizmo(body, pivot, base_xform, body_radius); + request_repaint(); +} + +void DesignCanvas::clear_move_gizmo() +{ + m_sketch_tool.clear_move_gizmo(); + request_repaint(); +} + +bool DesignCanvas::moving_body() const { return m_sketch_tool.moving_body(); } + +void DesignCanvas::set_on_body_move_changed(std::function<void(int, const Transform3d&)> cb) +{ + m_sketch_tool.on_body_move_changed = std::move(cb); +} + +bool DesignCanvas::begin_fillet_gizmo(const Vec3d& body_centroid, double radius) +{ + const bool ok = m_sketch_tool.set_fillet_gizmo(body_centroid, radius); + request_repaint(); + return ok; +} + +void DesignCanvas::clear_fillet_gizmo() +{ + m_sketch_tool.clear_fillet_gizmo(); + request_repaint(); +} + +bool DesignCanvas::filleting() const { return m_sketch_tool.filleting(); } + +void DesignCanvas::set_on_fillet_radius_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_fillet_radius_changed = std::move(cb); +} + +void DesignCanvas::begin_hole_gizmo(const SketchPlane& plane, double x, double y, + double diameter, double depth, bool through) +{ + m_sketch_tool.set_hole_gizmo(plane, x, y, diameter, depth, through); + request_repaint(); +} + +void DesignCanvas::set_hole_face_bounds(bool has, double umin, double umax, double vmin, double vmax) +{ + m_sketch_tool.set_hole_face_bounds(has, umin, umax, vmin, vmax); +} + +void DesignCanvas::clear_hole_gizmo() +{ + m_sketch_tool.clear_hole_gizmo(); + request_repaint(); +} + +bool DesignCanvas::holing() const { return m_sketch_tool.holing(); } + +void DesignCanvas::set_on_hole_changed(std::function<void(double, double, double, double)> cb) +{ + m_sketch_tool.on_hole_changed = std::move(cb); +} + +void DesignCanvas::begin_thread_gizmo(const SketchPlane& plane, double x, double y, + double radius, double height) +{ + m_sketch_tool.set_thread_gizmo(plane, x, y, radius, height); + request_repaint(); +} + +void DesignCanvas::clear_thread_gizmo() +{ + m_sketch_tool.clear_thread_gizmo(); + request_repaint(); +} + +bool DesignCanvas::threading() const { return m_sketch_tool.threading(); } + +void DesignCanvas::set_on_thread_changed(std::function<void(double, double, double, double)> cb) +{ + m_sketch_tool.on_thread_changed = std::move(cb); +} + +void DesignCanvas::begin_shell_gizmo(const Vec3d& face_centroid, const Vec3d& inward_dir, + double thickness) +{ + m_sketch_tool.set_shell_gizmo(face_centroid, inward_dir, thickness); + request_repaint(); +} + +void DesignCanvas::clear_shell_gizmo() +{ + m_sketch_tool.clear_shell_gizmo(); + request_repaint(); +} + +bool DesignCanvas::shelling() const { return m_sketch_tool.shelling(); } + +void DesignCanvas::set_on_shell_thickness_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_shell_thickness_changed = std::move(cb); +} + +void DesignCanvas::begin_revolve_gizmo(const SketchPlane& plane, const Vec2d& centroid, + int axis_sel, double angle, bool flip) +{ + m_sketch_tool.set_revolve_gizmo(plane, centroid, axis_sel, angle, flip); + request_repaint(); +} + +void DesignCanvas::clear_revolve_gizmo() +{ + m_sketch_tool.clear_revolve_gizmo(); + request_repaint(); +} + +bool DesignCanvas::revolving() const { return m_sketch_tool.revolving(); } + +void DesignCanvas::set_on_revolve_angle_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_revolve_angle_changed = std::move(cb); +} + +void DesignCanvas::set_draft_gizmo(const Vec3d& face_centroid, const Vec3d& face_normal, double angle) +{ + m_sketch_tool.set_draft_gizmo(face_centroid, face_normal, angle); + request_repaint(); +} + +void DesignCanvas::clear_draft_gizmo() +{ + m_sketch_tool.clear_draft_gizmo(); + request_repaint(); +} + +bool DesignCanvas::drafting() const { return m_sketch_tool.drafting(); } + +void DesignCanvas::set_on_draft_angle_changed(std::function<void(double)> cb) +{ + m_sketch_tool.set_on_draft_angle_changed(std::move(cb)); +} + +void DesignCanvas::set_cut_gizmo(const SketchPlane& plane, double offset, const Vec3d& body_center, double half_extent) +{ + m_sketch_tool.set_cut_gizmo(plane, offset, body_center, half_extent); + request_repaint(); +} + +void DesignCanvas::clear_cut_gizmo() +{ + m_sketch_tool.clear_cut_gizmo(); + request_repaint(); +} + +bool DesignCanvas::cutting() const { return m_sketch_tool.cutting(); } + +void DesignCanvas::set_on_cut_offset_changed(std::function<void(double)> cb) +{ + m_sketch_tool.set_on_cut_offset_changed(std::move(cb)); +} + +void DesignCanvas::begin_pattern_gizmo(const SketchPlane& plane, const Vec3d& body_centroid, + bool circular, int count, int dir, double spacing, double angle) +{ + m_sketch_tool.set_pattern_gizmo(plane, body_centroid, circular, count, dir, spacing, angle); + request_repaint(); +} + +void DesignCanvas::clear_pattern_gizmo() +{ + m_sketch_tool.clear_pattern_gizmo(); + request_repaint(); +} + +bool DesignCanvas::patterning() const { return m_sketch_tool.patterning(); } + +void DesignCanvas::set_on_pattern_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_pattern_changed = std::move(cb); +} + +void DesignCanvas::set_on_solid_selection_changed(std::function<void(int, int, int, int)> cb) +{ + m_sketch_tool.on_solid_selection_changed = std::move(cb); +} + +void DesignCanvas::set_on_place_on_face(std::function<bool()> cb) +{ + m_sketch_tool.on_place_on_face = std::move(cb); +} + +void DesignCanvas::select_body(int body) +{ + m_sketch_tool.select_body(body); + request_repaint(); +} + +void DesignCanvas::set_extrude_gizmo(const SketchPlane& plane, const Vec2d& centroid, + double depth, double depth2, bool two_sided, bool flip) +{ + m_sketch_tool.set_extrude_gizmo(plane, centroid, depth, depth2, two_sided, flip); + request_repaint(); +} + +void DesignCanvas::clear_extrude_gizmo() +{ + m_sketch_tool.clear_extrude_gizmo(); + request_repaint(); +} + +void DesignCanvas::set_on_extrude_depth_changed(std::function<void(double, bool)> cb) +{ + m_sketch_tool.on_extrude_depth_changed = std::move(cb); +} + +void DesignCanvas::set_datum_gizmo(const SketchPlane& plane, double usize, double vsize, + const Vec3d& base_origin, const Vec3d& base_normal, + double offset, bool offset_on) +{ + m_sketch_tool.set_datum_gizmo(plane, usize, vsize, base_origin, base_normal, offset, offset_on); + request_repaint(); +} + +void DesignCanvas::clear_datum_gizmo() +{ + m_sketch_tool.clear_datum_gizmo(); + request_repaint(); +} + +void DesignCanvas::set_on_datum_size_changed(std::function<void(double, double)> cb) +{ + m_sketch_tool.on_datum_size_changed = std::move(cb); +} + +void DesignCanvas::set_on_datum_offset_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_datum_offset_changed = std::move(cb); +} + +void DesignCanvas::set_helix_gizmo(const SketchPlane& plane, double radius, double pitch, + double height, double taper, bool left_handed) +{ + m_sketch_tool.set_helix_gizmo(plane, radius, pitch, height, taper, left_handed); + request_repaint(); +} + +void DesignCanvas::clear_helix_gizmo() +{ + m_sketch_tool.clear_helix_gizmo(); + request_repaint(); +} + +void DesignCanvas::set_on_helix_changed(std::function<void(double, double, double)> cb) +{ + m_sketch_tool.on_helix_changed = std::move(cb); +} + +void DesignCanvas::set_rib_gizmo(const SketchPlane& plane, const Vec2d& p0, const Vec2d& p1, + double thickness) +{ + m_sketch_tool.set_rib_gizmo(plane, p0, p1, thickness); + request_repaint(); +} + +void DesignCanvas::clear_rib_gizmo() +{ + m_sketch_tool.clear_rib_gizmo(); + request_repaint(); +} + +void DesignCanvas::set_on_rib_thickness_changed(std::function<void(double)> cb) +{ + m_sketch_tool.on_rib_thickness_changed = std::move(cb); +} + +void DesignCanvas::set_base_pick(std::vector<SketchPlane> planes, std::vector<int> bases, + std::vector<std::string> labels) +{ + m_sketch_tool.set_base_pick(std::move(planes), std::move(bases), std::move(labels)); + request_repaint(); +} + +void DesignCanvas::clear_base_pick() +{ + m_sketch_tool.clear_base_pick(); + request_repaint(); +} + +void DesignCanvas::set_on_datum_base_picked(std::function<void(int)> cb) +{ + m_sketch_tool.on_datum_base_picked = std::move(cb); +} + +void DesignCanvas::set_on_sketch_exit(std::function<void()> cb) +{ + m_sketch_tool.on_exit = std::move(cb); +} + +void DesignCanvas::set_on_sketch_exit_refused(std::function<void()> cb) +{ + m_sketch_tool.on_exit_refused = std::move(cb); +} + +void DesignCanvas::set_on_move_exit(std::function<void()> cb) +{ + m_sketch_tool.on_move_exit = std::move(cb); +} + +void DesignCanvas::set_on_context_menu(std::function<void(const wxPoint&)> cb) +{ + m_on_context_menu = std::move(cb); + if (!m_canvas_widget || m_ctx_bound) + return; + m_ctx_bound = true; + // Bound AFTER GLCanvas3D's own handlers, so this runs first and can consume the event. + // It only consumes when it actually opens the offer; every other right-click still falls + // through to the polyline-chain end and the move gizmo, which were there first. + // Right-drag pans. Without remembering where the press landed, every pan ended by popping + // the offer over wherever the camera stopped — the menu appearing as the reward for moving + // the view. The offer is the release of a STATIONARY right-click, at the same 8 px budget + // the left-click pick uses. + m_canvas_widget->Bind(wxEVT_RIGHT_DOWN, [this](wxMouseEvent& e) { + m_ctx_press = e.GetPosition(); + m_ctx_press_ms = wxGetLocalTimeMillis().GetValue(); + e.Skip(); // the canvas still needs the press to seed the orbit + }); + m_canvas_widget->Bind(wxEVT_RIGHT_UP, [this](wxMouseEvent& e) { + const wxPoint d = e.GetPosition() - m_ctx_press; + const long long dt = wxGetLocalTimeMillis().GetValue() - m_ctx_press_ms; + // Always read-and-clear, even when another guard already rules the offer out, or a + // terminator recorded under one condition would still be pending under the next. + const bool terminated = m_sketch_tool.take_right_consumed(); + // Click, or navigation? Both budgets must hold: a press that travelled orbited, and a + // press that was HELD was aiming to orbit even if the hand never quite moved. Two + // independent budgets because the two failure modes are independent — the drift one + // alone still popped a menu at the end of a slow, careful orbit. + const bool is_click = std::max(std::abs(d.x), std::abs(d.y)) <= kCadRightClickDriftPx + && dt <= kCadRightClickMs; + if (m_on_context_menu && !terminated && !inline_busy() && is_click) { + // The menu belongs to what you POINTED AT — and pointing happened at the PRESS, not + // at the release, so the raycast uses the press position. Within a 3 px budget the + // two are the same pixel in practice; using the press is what makes that a + // guarantee rather than a coincidence. Pick first, so a right-click on a line offers + // that line's verbs instead of the empty-selection vocabulary. Selecting an entity + // that is already selected is a no-op, so a multi-entity pick survives a + // right-click on one of its members. + if (m_canvas && m_sketch_tool.select_at_screen(*m_canvas, m_ctx_press.x, m_ctx_press.y)) + request_repaint(); + m_on_context_menu(m_canvas_widget->ClientToScreen(m_ctx_press)); + return; // consumed + } + e.Skip(); + }); +} + +void DesignCanvas::set_on_undo_redo(std::function<void(bool)> cb) +{ + m_sketch_tool.on_undo_redo = std::move(cb); +} + +void DesignCanvas::set_display_sketches(std::vector<DesignSketchTool::DisplaySketch> ds) +{ + m_sketch_tool.set_display_sketches(std::move(ds)); + // Overlay changed programmatically (no mouse event) — force a repaint. + request_repaint(); +} + +void DesignCanvas::set_datum_planes(std::vector<SketchPlane> planes, std::vector<Vec2d> sizes) +{ + m_sketch_tool.set_datum_planes(std::move(planes), std::move(sizes)); + request_repaint(); +} + +void DesignCanvas::set_mate_connectors(std::vector<DesignSketchTool::MateConnectorGlyph> g) +{ + m_sketch_tool.set_mate_connectors(std::move(g)); + request_repaint(); +} + +void DesignCanvas::set_mate_links(std::vector<std::pair<Vec3d, Vec3d>> l) +{ + m_sketch_tool.set_mate_links(std::move(l)); + request_repaint(); +} + +bool DesignCanvas::toggle_planes() +{ + const bool on = m_sketch_tool.toggle_show_planes(); + request_repaint(); + return on; +} + +bool DesignCanvas::toggle_axes() +{ + const bool on = m_sketch_tool.toggle_show_axes(); + request_repaint(); + return on; +} + +void DesignCanvas::set_section_plane(bool on, double z, bool keep_upper) +{ + m_section_on = on; + // The kept half must read as a SOLID part, never a see-through ghost: make sure no leftover + // preview translucency is applied while the section is on. Guarded — a no-op if already opaque. + if (on) { set_body_translucent(false); set_body_hidden(false); } + if (m_canvas) { + if (on) { + // GLCanvas3D turns the two clipping planes into a Z-RANGE: set_z_range(-p0.offset, + // p1.offset). keep_upper=false keeps the LOWER half (z in [-1e5, z]); keep_upper=true + // keeps the OPPOSITE, UPPER half (z in [z, +1e5]). Only HIDES geometry — no bodies. + if (keep_upper) { + m_canvas->set_clipping_plane(0, ClippingPlane(Vec3d(0.0, 0.0, 1.0), -z)); // min_z = z + m_canvas->set_clipping_plane(1, ClippingPlane(Vec3d(0.0, 0.0, 1.0), 1.0e5)); // max_z = +1e5 + } else { + m_canvas->set_clipping_plane(0, ClippingPlane(Vec3d(0.0, 0.0, 1.0), 1.0e5)); // min_z = -1e5 + m_canvas->set_clipping_plane(1, ClippingPlane(Vec3d(0.0, 0.0, 1.0), z)); // max_z = z + } + m_canvas->set_use_clipping_planes(true); + } else { + m_canvas->set_use_clipping_planes(false); + } + m_canvas->set_as_dirty(); + } + request_repaint(); +} + +double DesignCanvas::model_mid_z() const +{ + const BoundingBoxf3 bb = m_model.bounding_box_exact(); + return bb.defined ? bb.center().z() : 0.0; +} + +void DesignCanvas::set_readout(const std::string& text) +{ + if (!m_hud || !m_hud_label || !m_canvas_widget) return; + if (text == m_hud_last) return; // only touch the WM on a real change + m_hud_last = text; + if (text.empty()) { m_hud->Hide(); return; } + m_hud_label->SetLabel(wxString::FromUTF8(text)); + place_readout_hud(); +} + +void DesignCanvas::place_readout_hud() +{ + if (!m_hud || !m_hud_label || !m_canvas_widget) return; + if (m_hud_last.empty() || !m_canvas_widget->IsShownOnScreen()) { m_hud->Hide(); return; } + m_hud->Fit(); + // Anchor to the canvas's bottom-right corner with a small margin (screen coords). + const wxSize cs = m_canvas_widget->GetClientSize(); + const wxSize hs = m_hud->GetSize(); + const wxPoint br = m_canvas_widget->ClientToScreen( + wxPoint(cs.GetWidth() - hs.GetWidth() - 12, cs.GetHeight() - hs.GetHeight() - 12)); + if (!m_hud->IsShown()) m_hud->Show(); // Show before Move (GTK ignores pre-map Move) + m_hud->Move(br); + m_hud->Raise(); +} + +// A popup is override-redirect: the window manager does not own it, so an iconised or +// deactivated app would leave the chip sitting on the bare desktop. The status chip already +// had to answer this; now that the readout is a popup too, it answers it the same way. +void DesignCanvas::show_readout_hud(bool on) +{ + if (!m_hud) return; + if (on) place_readout_hud(); + else m_hud->Hide(); +} + +// Clear of the view cube and the two round view buttons, which own the bottom-left corner. +// Shared by the placement and by the wrap width, which have to agree or the chip wraps to a +// width it is then not given. +static constexpr int kStatusHudLeftInsetDip = 190; + +void DesignCanvas::set_status_text(const wxString& text, const wxColour& colour) +{ + if (!m_status_hud || !m_status_hud_label || !m_canvas_widget) return; + if (text == m_status_hud_last && colour == m_status_hud_colour) return; + m_status_hud_last = text; + m_status_hud_colour = colour; + if (text.IsEmpty()) { m_status_hud->Hide(); return; } + m_status_hud_label->SetForegroundColour(colour); + apply_status_label(); + place_status_hud(); +} + +// SetLabel + Wrap + Fit, in that order and always together. Moving the status out of the panel +// removed the clipping of 8cc but not the underlying problem: the chip is a top-level +// popup that Fit()s to its text, so a long sentence simply grew past the right edge of the canvas +// and hung over the window. Wrapping to the room actually available is what makes the earlier +// promise — "a sentence can be a sentence" — true at every window width, including the charter's +// 1366 reach. Wrap() rewrites the label it is given, so it must follow a fresh SetLabel every +// time; that is the whole reason this is one function instead of three call sites. +void DesignCanvas::apply_status_label() +{ + if (!m_status_hud || !m_status_hud_label || !m_canvas_widget) return; + m_status_hud_label->SetLabel(m_status_hud_last); + const int avail = m_canvas_widget->GetClientSize().GetWidth() + - m_canvas_widget->FromDIP(kStatusHudLeftInsetDip) + - m_canvas_widget->FromDIP(24); + if (avail > m_canvas_widget->FromDIP(120)) // a uselessly narrow canvas: leave it unwrapped + m_status_hud_label->Wrap(avail); + m_status_hud->Fit(); +} + +void DesignCanvas::place_status_hud() +{ + if (!m_status_hud || !m_canvas_widget || m_status_hud_last.IsEmpty()) return; + // The canvas has a client size even while its page is hidden, and it is not the size the + // page will have when shown — anchoring against it put the chip up on the tab bar, where it + // then stayed until the next status change moved it. Nothing to anchor to: stay down. + if (!m_canvas_widget->IsShownOnScreen()) { m_status_hud->Hide(); return; } + const wxSize cs = m_canvas_widget->GetClientSize(); + // Re-wrap first: this also runs on resize, and a chip wrapped for the old width either + // overhangs a narrowed canvas or wastes a widened one. + apply_status_label(); + const wxSize hs = m_status_hud->GetSize(); + const int kLeftInset = m_canvas_widget->FromDIP(kStatusHudLeftInsetDip); + const wxPoint bl = m_canvas_widget->ClientToScreen( + wxPoint(kLeftInset, cs.GetHeight() - hs.GetHeight() - 12)); + // No Raise() and no focus juggling: a popup neither takes focus nor falls behind. This was + // caught with ORCA_CAD_KEYTRACE — shift+S logged a line, the following R logged nothing, and + // the only thing between them was the first status update showing this window. + if (!m_status_hud->IsShown()) m_status_hud->Show(); // Show before Move (GTK ignores pre-map Move) + m_status_hud->Move(bl); +} + +void DesignCanvas::on_frame_iconize(wxIconizeEvent& e) +{ + show_status_hud(!e.IsIconized()); + show_readout_hud(!e.IsIconized()); + e.Skip(); +} + +void DesignCanvas::on_frame_activate(wxActivateEvent& e) +{ + show_status_hud(e.GetActive()); + show_readout_hud(e.GetActive()); + e.Skip(); +} + +// wxEvent& so one handler serves both events that invalidate the anchor: the frame moving out +// from under the chip, and the canvas resizing under it. +void DesignCanvas::on_status_hud_reanchor(wxEvent& e) +{ + place_status_hud(); + e.Skip(); +} + +void DesignCanvas::show_status_hud(bool on) +{ + if (!m_status_hud) return; + if (on) place_status_hud(); // re-anchors first: the page may have been resized while away + else m_status_hud->Hide(); +} + +void DesignCanvas::set_body_highlight(bool on) +{ + if (m_body_selected == on) return; + m_body_selected = on; + reload(true); // recolours the body volume (selected = cyan tint) +} + +void DesignCanvas::set_operand_bodies(int target_body, int tool_body) +{ + if (m_hl_body_target == target_body && m_hl_body_tool == tool_body) return; + m_hl_body_target = target_body; + m_hl_body_tool = tool_body; + reload(true); // recolours the body volumes (same idiom set_body_highlight uses) +} + +void DesignCanvas::set_highlight_sketches(std::vector<std::pair<int, ColorRGBA>> hl) +{ + m_sketch_tool.set_highlight_sketches(std::move(hl)); + request_repaint(); +} + +void DesignCanvas::set_body_translucent(bool on) +{ + if (m_body_translucent == on) return; + m_body_translucent = on; + reload(true); // re-applies object-0 alpha so the solid fades for the fillet preview +} + +void DesignCanvas::set_xray_focus(int body) +{ + if (m_xray_focus == body) return; + m_xray_focus = body; + m_sketch_tool.set_pick_only_body(body); + reload(true); // re-applies per-body alpha so the non-focused bodies fade +} + +void DesignCanvas::set_body_hidden(bool on) +{ + if (m_body_hidden == on) return; + m_body_hidden = on; + reload(true); // hides/show base bodies + flips the ghost opaque/faint for preview-only mode +} + +void DesignCanvas::delete_selected_sketch_entities() +{ + m_sketch_tool.delete_selected(); + request_repaint(); +} + +bool DesignCanvas::inline_busy() const +{ + // Two sources, still: the TOOL's flag says a value is pending, the editor says a field is + // drawn. They agree now that the field is not a window — the orphan state (logically closed, + // still on screen, still eating keys) cannot be represented when there is nothing to leave + // mapped — but the union costs nothing and is the honest question to ask. + return m_sketch_tool.inline_busy() + || (m_inline_editor && m_inline_editor->is_open()); +} + +bool DesignCanvas::inline_has_focus() const +{ + return m_inline_editor && m_inline_editor->has_focus(); +} + +void DesignCanvas::inline_commit() +{ + if (m_inline_editor) m_inline_editor->commit(); +} + +void DesignCanvas::inline_cancel() +{ + if (m_inline_editor) m_inline_editor->cancel(); +} + +void DesignCanvas::request_sketch_exit() +{ + m_sketch_tool.request_exit(); + request_repaint(); +} + +bool DesignCanvas::live_sketch_has_work() const +{ + return m_sketch_tool.live_sketch_has_work(); +} + +bool DesignCanvas::undo_last_sketch_entity() +{ + const bool did = m_sketch_tool.undo_last_entity(); + if (did) request_repaint(); + return did; +} + +bool DesignCanvas::delete_selected_or_last_sketch_entity() +{ + const bool did = m_sketch_tool.delete_selected_or_last(); + if (did) request_repaint(); + return did; +} + +void DesignCanvas::clear_sketch_selection() +{ + m_sketch_tool.clear_selection(); + request_repaint(); +} + +DesignSketchTool::DimType DesignCanvas::sketch_dimension_kind() const +{ + return m_sketch_tool.dimension_kind(); +} + +double DesignCanvas::sketch_dimension_current() const +{ + return m_sketch_tool.dimension_current(); +} + +void DesignCanvas::apply_sketch_dimension(double v) +{ + m_sketch_tool.apply_dimension(v); + request_repaint(); +} + +void DesignCanvas::open_inline_value(double current, std::function<void(double)> commit, + std::function<void()> cancel) +{ + if (!m_inline_editor || !m_canvas_widget) { if (cancel) cancel(); return; } + // Host-driven value entry (committed-feature Constrain path): the trigger is a toolbar + // button. Anchor the field OVER the picked geometry (same as the draw-then-edit tools) when + // the tool can project it; else fall back to the middle of the canvas, where the sketch is + // in view. Everything here is canvas DEVICE px, the space the field is drawn in. + const wxSize cs = m_canvas_widget->GetClientSize(); + const double sf = m_canvas_widget->GetContentScaleFactor(); + wxPoint anchor(int(cs.GetWidth() * sf) / 2, int(cs.GetHeight() * sf) / 2); + m_sketch_tool.constrain_value_anchor(anchor); // device px in the canvas viewport + m_sketch_tool.set_inline_busy(true); + m_canvas_widget->SetFocus(); // same reason as the draw-then-edit path: ImGui reads the + // canvas's key events, so the canvas must be the focused widget + + m_inline_editor->open(anchor, current, "", + [this, commit](double v) { + m_sketch_tool.set_inline_busy(false); + if (commit) commit(v); + request_repaint(); + }, + [this, cancel]() { + m_sketch_tool.set_inline_busy(false); + if (cancel) cancel(); + request_repaint(); + }); +} + +void DesignCanvas::set_on_dimension_pick_complete(std::function<void(double)> cb) +{ + m_sketch_tool.on_dimension_pick_complete = std::move(cb); +} + +DesignSketchTool::DimType DesignCanvas::pending_dimension_type() const +{ + return m_sketch_tool.pending_dimension_type(); +} + +void DesignCanvas::set_sketch_dimension_value(double v) +{ + m_sketch_tool.set_dimension_value(v); + request_repaint(); +} + +void DesignCanvas::cancel_sketch_dimension() +{ + m_sketch_tool.cancel_dimension_value(); + request_repaint(); +} + +void DesignCanvas::begin_constrain(const SketchProfile& prof, const SketchPlane& plane) +{ + m_sketch_tool.begin_constrain(prof, plane); + // The overlay must appear immediately (no mouse move to trigger a repaint). + request_repaint(); +} + +void DesignCanvas::begin_imported_transform( + int feat, const std::vector<std::vector<std::vector<Vec2d>>>& base_regions, + const SketchPlane& plane, const Vec2d& offset, double scale_x, double scale_y) +{ + m_sketch_tool.begin_imported_transform(feat, base_regions, plane, offset, scale_x, scale_y); + request_repaint(); +} + +void DesignCanvas::set_on_imported_transform(std::function<void(int, Vec2d, double, double)> cb) +{ + m_sketch_tool.on_imported_transform = std::move(cb); +} + +void DesignCanvas::end_constrain() +{ + // cancel() clears m_active + the picked-segment/entity indices, so the + // constrain overlay (highlighted picks) disappears on the next render. + m_sketch_tool.cancel(); + request_repaint(); +} + +bool DesignCanvas::is_constraining() const { return m_sketch_tool.is_constraining(); } + +bool DesignCanvas::selected_segment(int& a, int& b) const +{ + return m_sketch_tool.selected_segment(a, b); +} + +void DesignCanvas::update_constrain_profile(const std::vector<Vec2d>& pts) +{ + m_sketch_tool.set_profile_points(pts); + request_repaint(); +} + +void DesignCanvas::begin_constrain_entities(const std::vector<SketchEntity>& ents, + const SketchPlane& plane) +{ + m_sketch_tool.begin_constrain_entities(ents, plane); + request_repaint(); +} + +bool DesignCanvas::is_constraining_entities() const +{ + return m_sketch_tool.is_constraining_entities(); +} + +int DesignCanvas::sketch_selection_count() const +{ + return int(m_sketch_tool.selection().size()); +} + +bool DesignCanvas::view_normal_to_sketch() +{ + if (m_canvas == nullptr) return false; + const SketchPlane& pl = m_sketch_tool.plane(); + Camera& cam = wxGetApp().plater()->get_camera(); + // Keep the distance: this is an orientation change, not a zoom. The plane's own y axis is + // the up vector, so "up" on screen is up in sketch coordinates — which is what makes a + // dimension typed after pressing N land where the eye expects it. + const double dist = cam.get_distance(); + cam.look_at(pl.origin + pl.normal * dist, pl.origin, pl.y_axis); + request_repaint(); + return true; +} + +bool DesignCanvas::sketch_abort_gesture() +{ + if (!m_sketch_tool.abort_gesture()) return false; + request_repaint(); // the rubber band is gone; the canvas must stop drawing it + return true; +} + +bool DesignCanvas::sketch_disarm_tool() +{ + if (!m_sketch_tool.disarm_tool()) return false; + request_repaint(); + return true; +} + +bool DesignCanvas::drawing_in_progress() const +{ + return m_sketch_tool.pending_points() > 0; +} + +bool DesignCanvas::has_any_selection() const +{ + return m_sketch_tool.has_solid_selection() || m_sketch_tool.sketch_has_selection(); +} + +bool DesignCanvas::clear_any_selection() +{ + if (!has_any_selection()) return false; + // Both, unconditionally: which of the two is live depends on the mode, and Esc at idle means + // "nothing is picked" in either of them. clear_selection() reports through the tool's own + // on_selection_changed; the solid side has no such notification, so the panel refreshes what + // depends on it (see DesignPanel::escape). + m_sketch_tool.clear_selection(); + m_sketch_tool.clear_solid_selection(); + // clear_solid_selection() is silent by design (recomputes call it while ids are invalid), but + // the panel mirrors the pick to aim Extrude and the dress-up tools. An Esc that cleared the + // highlight without telling the panel would leave those aimed at a body nothing points to. + if (m_sketch_tool.on_solid_selection_changed) + m_sketch_tool.on_solid_selection_changed(0, -1, -1, -1); + request_repaint(); + return true; +} + +bool DesignCanvas::sketch_first_selected_type(SketchEntity::Type& out) const +{ + return m_sketch_tool.first_selected_type(out); +} + +const std::vector<int>& DesignCanvas::sketch_selection() const +{ + return m_sketch_tool.selection(); +} + +const std::vector<SketchEntity>& DesignCanvas::sketch_entities() const +{ + return m_sketch_tool.entities(); +} + +int DesignCanvas::sketch_constraint_count() const +{ + return int(m_sketch_tool.constraints().size()); +} + +const std::vector<SketchEntityConstraintDef>& DesignCanvas::sketch_constraints() const +{ + return m_sketch_tool.constraints(); +} + +bool DesignCanvas::remove_sketch_constraint(int idx) +{ + const bool removed = m_sketch_tool.remove_constraint(idx); + if (removed) request_repaint(); + return removed; +} + +void DesignCanvas::set_on_sketch_constraints_changed(std::function<void()> cb) +{ + m_sketch_tool.on_constraints_changed = std::move(cb); +} + +bool DesignCanvas::try_add_sketch_constraints(const std::vector<SketchEntityConstraintDef>& defs) +{ + return m_sketch_tool.try_add_constraints(defs); +} + +bool DesignCanvas::selected_constrain_entities(int& e0, int& e1) const +{ + return m_sketch_tool.selected_constrain_entities(e0, e1); +} + +int DesignCanvas::selected_constrain_axis() const +{ + return m_sketch_tool.pick2(); +} + +bool DesignCanvas::pick0_point(Vec2d& out) const +{ + return m_sketch_tool.pick0_point(out); +} + +void DesignCanvas::update_constrain_entities(const std::vector<SketchEntity>& ents) +{ + m_sketch_tool.set_constrain_entities(ents); + request_repaint(); +} + +void DesignCanvas::set_constraint_highlight(std::vector<int> entities) +{ + m_sketch_tool.set_constraint_highlight(std::move(entities)); + request_repaint(); +} + +void DesignCanvas::set_constraint_glyphs(std::vector<SketchEntityConstraintDef> cons) +{ + m_sketch_tool.set_constraint_glyphs(std::move(cons)); + request_repaint(); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/CAD/DesignCanvas.hpp b/src/slic3r/GUI/CAD/DesignCanvas.hpp new file mode 100644 index 0000000000..fab2e556e3 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignCanvas.hpp @@ -0,0 +1,436 @@ +#ifndef slic3r_DesignCanvas_hpp_ +#define slic3r_DesignCanvas_hpp_ + +#include <wx/panel.h> +#include <wx/popupwin.h> + +#include <functional> +#include <memory> +#include <string> + +#include "slic3r/GUI/3DBed.hpp" +#include "slic3r/GUI/Camera.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "slic3r/GUI/CAD/DesignSketchTool.hpp" + +class wxGLCanvas; +class wxFrame; +class wxStaticText; + +namespace Slic3r { + +class TriangleMesh; + +namespace GUI { + +class GLCanvas3D; +class SketchInlineEditor; + +class DesignCanvas : public wxPanel +{ +public: + explicit DesignCanvas(wxWindow* parent); + ~DesignCanvas() override; + + void set_mesh(const TriangleMesh& mesh); + // Multi-body display: one GLVolume per body, each coloured distinctly (per-body colour). + // `visible` (optional, indexed by body) hides bodies whose flag is false. + void set_bodies(const std::vector<TriangleMesh>& body_meshes, + const std::vector<bool>& visible = {}); + void clear_mesh(); + + void set_preview_mesh(const TriangleMesh& mesh); + void clear_preview(); + + void fit_view(); + void set_view(const std::string& view_name); + + void begin_sketch(const SketchPlane& plane, DesignSketchTool::Mode mode); + // Re-open a committed entity sketch for full in-canvas editing (load geometry + + // constraints, re-detect feature groups). Re-commits via finish_sketch(). + void edit_sketch(const std::vector<SketchEntity>& entities, + const std::vector<SketchEntityConstraintDef>& constraints, + const SketchPlane& plane); + void set_sketch_tool(DesignSketchTool::Mode mode); + void set_sketch_plane(const SketchPlane& plane); // re-plane the live sketch when a reference plane is clicked in 3D + void set_sketch_construction(bool c); + // Flip the sketch selection between construction and real geometry; returns the + // number of entities changed (0 = nothing selected, caller falls back to the mode). + // Open the in-canvas value field on the sketch selection's defining number. + bool edit_sketch_selection_value(); + int toggle_sketch_construction_selection(); + // Is the sketch tool on Select (as opposed to a draw/edit tool being armed)? The + // Construction box needs it to tell "convert what I picked" from "arm what I draw next". + bool sketch_is_selecting() const { return m_sketch_tool.mode() == DesignSketchTool::Mode::Select; } + // Text / SVG art into the LIVE sketch, as ordinary editable lines. False = no session. + bool add_sketch_regions(const std::vector<std::vector<std::vector<Vec2d>>>& regions); + void set_sketch_polygon_sides(int n); + void set_sketch_polygon_circumscribed(bool c); + void finish_sketch(); + bool is_sketching() const; + void refresh_bed(); // re-sync the bed to the current printer (call on tab activation) + // The Camera is Plater-owned and shared with Prepare/Preview/Assemble; GLCanvas3D has no + // per-canvas camera, so every orbit here would otherwise overwrite what the editor tabs + // show. Exactly one of the two views is live at a time, so entering and leaving are the + // same operation: trade the live camera for the parked one. That also keeps this canvas's + // own view across a tab switch. + void enter_viewport(); + void leave_viewport(); + void unbind_canvas_event_handlers(); // app close / language switch, from the plater's teardown + void reset_canvas_volumes(); + void set_show_bed(bool b); // view option: draw the printer bed + plate grid, or not + // N: look straight down the sketch plane's normal, keeping the current zoom. A sketch drawn + // at an angle is a sketch drawn wrong, and no amount of orbiting by hand lands exactly square. + bool view_normal_to_sketch(); + void cancel_sketch(); + void set_on_sketch_commit(std::function<void(const SketchProfile&, const SketchPlane&)> cb); + void set_on_sketch_entities_commit( + std::function<void(const std::vector<SketchEntity>&, + const std::vector<SketchEntityConstraintDef>&, + const SketchPlane&)> cb); + + // Line tool: pending-segment length entry + live readout (Phase 2). + void set_on_segment_drawn(std::function<void(double, double)> cb); + void set_on_cursor_metrics(std::function<void(double, double, bool)> cb); + void set_on_solve_state(std::function<void(int, bool, bool)> cb); // dof, ok, has_constraints + // Live per-step guidance from the armed sketch tool (mode, step, picks). 1c0c. + void set_on_sketch_step(std::function<void(DesignSketchTool::Mode, int, int)> cb); + void apply_segment_length(double len); // exact length, then commit & repaint + void keep_segment_as_drawn(); // commit as-drawn & repaint + + // Sketch selection (Mode::Select). + void set_on_sketch_selection_changed(std::function<void(int)> cb); + void set_on_sketch_face_selected(std::function<void(int)> cb); // closed loop clicked: region index passed + void set_on_display_sketch_selected(std::function<void(int, int, int)> cb); // committed loop clicked: (feature, region, entity) + void set_on_display_sketch_activated(std::function<void(int)> cb); // committed sketch DOUBLE-clicked: edit it + std::vector<SketchEntity> selected_loop_entities() const; // entities of the click-selected loop + std::vector<std::vector<int>> region_entity_indices(const std::vector<SketchEntity>& ents) const; + // Like region_entity_indices, but each region's entry is its OWN entities followed by the + // entities of each of its holes — the same order selected_loop_entities() hands the kernel. + // A per-loop extrude of a region WITH holes stores exactly this, so this is the shape a + // consumed loop must be compared against. + std::vector<std::vector<int>> region_entity_indices_with_holes(const std::vector<SketchEntity>& ents) const; + void clear_loop_pick(); // drop the click-selected loop highlight (e.g. after extrude) + void set_loop_pick(int feature, int region); // adopt a loop pick made before the commit + void set_escalate_on_repick(bool on); // off while a card has armed a face/edge pick + // Solid whole/face/edge selection: point the tool at the bodies + concatenated + // tessellation (with per-triangle face & body ids), and a callback fired on each + // whole->face->edge cycle (level, body index, face id, edge id). + void set_solid_pick(const std::vector<CadBody>* bodies, const TriangleMesh* mesh, + const std::vector<int>* tri_face, const std::vector<int>* tri_body, + const std::vector<bool>* visible = nullptr, + const std::vector<Transform3d>* xform = nullptr); + void set_on_solid_selection_changed(std::function<void(int, int, int, int)> cb); + void set_on_place_on_face(std::function<bool()> cb); // F key: Place on Face + void select_body(int body); // Parts-list -> highlight a whole body by index + // Effective display colour of a body: the per-body override (Color tool) when set, + // otherwise the auto body-index palette. Single source of truth shared with reload(). + ColorRGBA body_color(int body) const; + // Move-body gizmo (M5): three world-axis drag arrows on a body; drag fires the move + // callback with the body index + accumulated translation (display-only, host applies it). + // body_radius = bounding-sphere radius of the body in world mm; the gizmo scales with it so + // the rotation rings sit OUTSIDE the solid (Orca's Prepare gizmos do the same). + void begin_move_body(int body, const Vec3d& pivot, const Transform3d& base_xform, + double body_radius); + void clear_move_gizmo(); + bool moving_body() const; + void set_on_body_move_changed(std::function<void(int, const Transform3d&)> cb); + // Visual Fillet/Chamfer radius gizmo: when a solid edge is picked, anchor a radius arrow on + // it; drag/edit fire the radius callback. Returns false if no edge is currently picked. + bool begin_fillet_gizmo(const Vec3d& body_centroid, double radius); + void clear_fillet_gizmo(); + bool filleting() const; + void set_on_fillet_radius_changed(std::function<void(double)> cb); + // Visual Hole gizmo: the panel feeds the hole plane + position + diameter/depth/through while + // its Hole card is open; drag/edit fire the hole callback (x, y, diameter, depth). + void begin_hole_gizmo(const SketchPlane& plane, double x, double y, + double diameter, double depth, bool through); + void set_hole_face_bounds(bool has, double umin, double umax, double vmin, double vmax); + void clear_hole_gizmo(); + bool holing() const; + void set_on_hole_changed(std::function<void(double, double, double, double)> cb); + // Visual Thread gizmo: footprint circle + radius/length arrows + draggable centre. + void begin_thread_gizmo(const SketchPlane& plane, double x, double y, + double radius, double height); + void clear_thread_gizmo(); + bool threading() const; + void set_on_thread_changed(std::function<void(double, double, double, double)> cb); + // Visual Shell gizmo: inward thickness arrow at the picked open-face centroid. + void begin_shell_gizmo(const Vec3d& face_centroid, const Vec3d& inward_dir, double thickness); + void clear_shell_gizmo(); + bool shelling() const; + void set_on_shell_thickness_changed(std::function<void(double)> cb); + // Visual Revolve angle-arc gizmo: the panel feeds the sketch plane + profile centroid + axis + // (0=plane X, 1=plane Y) + angle + flip while its Revolve card is open; drag/edit fire the + // angle callback. + void begin_revolve_gizmo(const SketchPlane& plane, const Vec2d& centroid, + int axis_sel, double angle, bool flip); + void clear_revolve_gizmo(); + bool revolving() const; + void set_on_revolve_angle_changed(std::function<void(double)> cb); + // Visual Draft angle-arc gizmo: the panel feeds the face centroid + face normal + angle while + // its Draft card is open; drag/edit fire the angle callback. + void set_draft_gizmo(const Vec3d& face_centroid, const Vec3d& face_normal, double angle); + void clear_draft_gizmo(); + bool drafting() const; + void set_on_draft_angle_changed(std::function<void(double)> cb); + // Visual Cut gizmo: plane-rectangle preview + draggable normal offset arrow while + // the Cut card is open; drag fires the offset callback. + void set_cut_gizmo(const SketchPlane& plane, double offset, const Vec3d& body_center, double half_extent); + void clear_cut_gizmo(); + bool cutting() const; + void set_on_cut_offset_changed(std::function<void(double)> cb); + // Visual Pattern gizmo: the panel feeds the (world XY) plane + target body centroid + mode + + // count/dir/spacing/angle while its Pattern card is open; drag/edit fire the value callback. + void begin_pattern_gizmo(const SketchPlane& plane, const Vec3d& body_centroid, bool circular, + int count, int dir, double spacing, double angle); + void clear_pattern_gizmo(); + bool patterning() const; + void set_on_pattern_changed(std::function<void(double)> cb); + // Visual Extrude depth-arrow gizmo (C5b): the panel feeds the profile plane + centroid + + // live depths/flags while its Extrude card is open; drag/edit fire the depth callback. + void set_extrude_gizmo(const SketchPlane& plane, const Vec2d& centroid, + double depth, double depth2, bool two_sided, bool flip); + void clear_extrude_gizmo(); + void set_on_extrude_depth_changed(std::function<void(double, bool)> cb); + void set_datum_gizmo(const SketchPlane& plane, double usize, double vsize, + const Vec3d& base_origin, const Vec3d& base_normal, + double offset, bool offset_on); // C3 resize handles + offset arrow + void clear_datum_gizmo(); + void set_on_datum_size_changed(std::function<void(double, double)> cb); + void set_on_datum_offset_changed(std::function<void(double)> cb); + void set_helix_gizmo(const SketchPlane& plane, double radius, double pitch, double height, + double taper, bool left_handed); // helix curve + 3 drag handles + void clear_helix_gizmo(); + void set_on_helix_changed(std::function<void(double, double, double)> cb); + void set_rib_gizmo(const SketchPlane& plane, const Vec2d& p0, const Vec2d& p1, double thickness); // rib slab footprint + 2 thickness handles + void clear_rib_gizmo(); + void set_on_rib_thickness_changed(std::function<void(double)> cb); + void set_base_pick(std::vector<SketchPlane> planes, std::vector<int> bases, + std::vector<std::string> labels = {}); // clickable labelled reference planes + void clear_base_pick(); + void set_on_datum_base_picked(std::function<void(int)> cb); + void set_on_sketch_exit(std::function<void()> cb); // Esc -> exit the tool + void set_on_sketch_exit_refused(std::function<void()> cb); // Esc declined: sketch has work + void set_on_undo_redo(std::function<void(bool /*redo*/)> cb); // Ctrl+Z / Ctrl+Shift+Z + // Persistently draw committed sketches (un-consumed ones stay visible). + void set_display_sketches(std::vector<DesignSketchTool::DisplaySketch> ds); + void set_highlight_sketches(std::vector<std::pair<int, ColorRGBA>> hl); + void set_datum_planes(std::vector<SketchPlane> planes, + std::vector<Vec2d> sizes = {}); // draw datum/reference planes (u/v extents) + // Mate connectors, drawn as frames so their verse and polarity are visible (wgsc). + void set_mate_connectors(std::vector<DesignSketchTool::MateConnectorGlyph> g); + void set_mate_links(std::vector<std::pair<Vec3d, Vec3d>> l); + void set_body_highlight(bool on); // tint the solid when its feature is tree-selected + // The status line, shown along the BASE OF THE VIEWPORT rather than in the side panel: + // the panel clips it at ~73 characters with no warning (8cc), the viewport's + // bottom margin has the whole window width to spare. Empty text hides it. + void set_status_text(const wxString& text, const wxColour& colour); + // Take the status line down / bring it back when the Design page leaves and re-enters view. + // A popup is a TOP-LEVEL window: hiding the page it belongs to does not hide it. Keeps the + // text, so coming back needs no re-selection. + void show_status_hud(bool on); + void set_operand_bodies(int target_body, int tool_body); // -1,-1 clears + void set_body_translucent(bool on); // render the solid see-through (fillet/chamfer preview) + void set_xray_focus(int body); // >=0: fade+lock out every other body (CoordSys picking) + void set_body_hidden(bool on); // preview-only: hide base bodies, show only the result ghost + void set_on_move_exit(std::function<void()> cb); // right-click finished the move-body gizmo + // Right-click (or its platform equivalent) on the viewport with no tool running: open the + // object-driven offer there. Fires with SCREEN coordinates. Deliberately NOT fired while a + // tool is live — right-click already ends a polyline chain and finishes the move gizmo, and + // taking those over would break two working interactions in order to add a third. + void set_on_context_menu(std::function<void(const wxPoint&)> cb); + void delete_selected_sketch_entities(); + bool inline_busy() const; // a sketch value field is open (guard keys) + bool inline_has_focus() const; // the field itself holds keyboard focus + void inline_commit(); // accept the typed value (Enter/Tab) + void inline_cancel(); // discard the typed value (Esc) + // The layered Esc: abandon the points of the gesture in progress, else drop the armed tool + // back to Select, else leave the sketch. Same call GLCanvas3D::on_char makes, exposed so the + // panel can do it when focus is not on the canvas. + void request_sketch_exit(); + bool live_sketch_has_work() const; // the live sketch holds entities a cancel would destroy + bool undo_last_sketch_entity(); // Ctrl+Z in a sketch: drop the last entity + bool delete_selected_or_last_sketch_entity(); // Delete in a sketch: selected, else last + void clear_sketch_selection(); + + // View toggles (keys P / A): origin planes, world axis triad. Each returns the new on/off + // state so the caller can echo it in the status bar. + bool toggle_planes(); + bool toggle_axes(); + + // Section views (non-destructive): the panel owns the named "Section View N" list; the canvas + // just applies/clears one horizontal clip at a time. model_mid_z() is the default cut height. + void set_section_plane(bool on, double z, bool keep_upper = false); + double model_mid_z() const; + + // Dimension tool: act on the current sketch selection. + DesignSketchTool::DimType sketch_dimension_kind() const; + double sketch_dimension_current() const; + void apply_sketch_dimension(double v); + + // Open the in-canvas value editor at the cursor for a host-driven value (the + // committed-feature Constrain path uses this instead of a docked numeric card). + void open_inline_value(double current, std::function<void(double)> commit, + std::function<void()> cancel = {}); + + // Dimension tool (Mode::Dimension): click-to-place quotes. The pick-complete + // callback lets the panel pop the value card; set/cancel apply or keep the value. + void set_on_dimension_pick_complete(std::function<void(double)> cb); + DesignSketchTool::DimType pending_dimension_type() const; + void set_sketch_dimension_value(double v); + void cancel_sketch_dimension(); + + // Constrain mode: load a committed profile for picking + constraint editing. + void begin_constrain(const SketchProfile& prof, const SketchPlane& plane); + // Leave constrain mode and clear any picked-entity highlight from the overlay. + void end_constrain(); + bool is_constraining() const; + bool selected_segment(int& a, int& b) const; + void update_constrain_profile(const std::vector<Vec2d>& pts); + + // Entity-aware Constrain (Fase 4.2): pick Line entities of a committed sketch. + void begin_constrain_entities(const std::vector<SketchEntity>& ents, const SketchPlane& plane); + bool is_constraining_entities() const; + // Sketch selection, for the offer menu: how many entities are selected and what the first + // one is. Returns 0 when nothing is selected. + int sketch_selection_count() const; + // Esc routing (DesignInteraction.hpp). The panel decides WHICH level one press belongs to; + // these are the levels it can act on inside the canvas. Each returns whether it did anything, + // so the panel can fall through to the next level without asking twice. + bool sketch_abort_gesture(); // CadLevel::Gesture — drop the entity being drawn + bool sketch_disarm_tool(); // CadLevel::Tool — armed sketch tool falls back to Select + bool drawing_in_progress() const;// an entity has clicks down but is not committed + bool has_any_selection() const; // model pick or sketch pick + bool clear_any_selection(); // CadLevel::Idle — drop both; true if anything was dropped + bool sketch_first_selected_type(SketchEntity::Type& out) const; + // Live sketch session (Fase 4.2 live constraint path): the panel reads the in-session + // selection and entities, and commits a planned constraint through the tool's + // append->solve->keep-or-rollback, rather than reaching into mcp_sketch_tool(). + const std::vector<int>& sketch_selection() const; + const std::vector<SketchEntity>& sketch_entities() const; + // How many constraints the LIVE session holds. Only a count: the hint line needs to know + // whether any badge is on screen to talk about, nothing more. + int sketch_constraint_count() const; + const std::vector<SketchEntityConstraintDef>& sketch_constraints() const; + bool remove_sketch_constraint(int idx); + void set_on_sketch_constraints_changed(std::function<void()> cb); + bool try_add_sketch_constraints(const std::vector<SketchEntityConstraintDef>& defs); + + // In-canvas bbox transform of imported Text/SVG art (replaces the Move/Scale dialog). + void begin_imported_transform(int feat, + const std::vector<std::vector<std::vector<Vec2d>>>& base_regions, + const SketchPlane& plane, const Vec2d& offset, + double scale_x, double scale_y); + void set_on_imported_transform(std::function<void(int, Vec2d, double, double)> cb); + bool selected_constrain_entities(int& e0, int& e1) const; + int selected_constrain_axis() const; // third pick slot (Symmetric axis), -1 if unset + bool pick0_point(Vec2d& out) const; // plane-coords of the slot-0 pick (trim/extend) + void update_constrain_entities(const std::vector<SketchEntity>& ents); + // Constraint manager (C3.4): highlight the entities referenced by a selected + // constraint (yellow tint in Constrain mode); empty clears the highlight. + void set_constraint_highlight(std::vector<int> entities); + // Constraint glyph badges (C3.4b): the feature's constraints, drawn as iconic + // marks near their entities in Constrain mode; empty clears them. + void set_constraint_glyphs(std::vector<SketchEntityConstraintDef> cons); + // Repaint the embedded canvas the right way for the active GL backend: + // hardware GL gets a scheduled wxEVT_PAINT (render() runs inside the paint + // cycle); software GL (llvmpipe etc.) gets a direct render() because a + // scheduled Refresh() is frequently dropped there. Backend cached on first use. + // Public: DesignPanel calls it after a tree edit to force a frame on software GL. + // Scripted (MCP) access to the live sketch. One accessor rather than a passthrough per + // verb: the MCP layer drives the SAME tool the mouse drives, which is the whole point of + // having it — a socket that talked to a private copy would prove nothing about the app. + DesignSketchTool& mcp_sketch_tool() { return m_sketch_tool; } + const DesignSketchTool& mcp_sketch_tool() const { return m_sketch_tool; } + + void request_repaint(); + // Repaint synchronously, once the pending show/resize has settled. Needed when the + // notebook re-shows the Design page: an invalidation issued while the page is still + // being shown is dropped on hardware GL and no wxEVT_PAINT ever follows, leaving the + // canvas blank until another tab switch forces an expose. + void force_repaint(); + // Repaint synchronously, for use while a modal popup (the offer menu) owns the event loop: + // a queued Refresh() is not serviced until the popup closes, so a hover ghost drawn behind it + // would never appear. Mirrors DesignPanel's m_status->Update() flush. + void repaint_now(); + +private: + void reload(bool keep_view); + void swap_camera(); // enter_viewport / leave_viewport, in the one direction they share + + wxGLCanvas* m_canvas_widget{nullptr}; + GLCanvas3D* m_canvas{nullptr}; + int m_sw_gl{-1}; // -1 unknown, 0 hardware GL, 1 software GL + + std::function<void(const wxPoint&)> m_on_context_menu; + bool m_ctx_bound{false}; // bind the RIGHT_UP handler once, however often the cb is set + wxPoint m_ctx_press{0, 0}; // right-press origin: a right-DRAG orbits, it must not offer + long long m_ctx_press_ms{0}; // and a right-HOLD is navigation too, however still it is held + + Bed3D m_bed; + // The half of the camera swap above that is NOT on screen: the editor tabs' view while + // Design is up, this canvas's view while it is not. Seeded in the constructor so the first + // entry inherits the view the user was already looking at. + Camera m_parked_camera; + bool m_camera_swapped{false}; // guards a leave without an enter, and the reverse + Model m_model; + bool m_first_frame{true}; + bool m_body_selected{false}; // tree selected a body feature → tint the solid + int m_hl_body_target{-1}; + int m_hl_body_tool{-1}; + bool m_body_translucent{false};// fillet/chamfer preview → render the body see-through + int m_xray_focus{-1}; // >=0: only this body is opaque+clickable (CoordSys picking) + bool m_body_hidden{false}; // preview-only mode → hide base bodies, ghost = the result + std::vector<bool> m_body_visible; // per-body visibility (empty => all visible) + // Live pointer to the document's bodies (stable address: m_doc.bodies), stashed by + // set_solid_pick so reload()/body_color() can read each body's colour override. + const std::vector<CadBody>* m_color_bodies{nullptr}; + + DesignSketchTool m_sketch_tool; + + // Section view: whether a horizontal clip is currently applied (guards Alt+Wheel). The cut + // height and the named-view list live in DesignPanel; the canvas is a dumb applier. + bool m_section_on{false}; + + std::unique_ptr<SketchInlineEditor> m_inline_editor; // floating in-canvas value editor + // Bottom-right viewport HUD: a borderless float label over the GL canvas showing the + // active tool's current values (fed by the tool's on_readout). Empty text hides it. + // A wxPopupWindow for the SAME reason as the status chip below, and it was a wxFrame until + // the reason was measured rather than assumed: "it appears mid-gesture and the next input is + // the mouse" is false. The chip keeps the last value on screen AFTER the gesture ends, and a + // frame holds the X input focus once it has it — so the next keystroke went to a 119x31 + // window that has no use for it. Measured on :10: focus on the chip, `r` produced no + // CHAR_HOOK line at all; one bare canvas click moved focus back and the same key armed the + // tool. That is every sketch shortcut dead after every dimensioned entity. + wxPopupWindow* m_hud{nullptr}; + wxStaticText* m_hud_label{nullptr}; + std::string m_hud_last; + void set_readout(const std::string& text); + void place_readout_hud(); // anchor + show, using m_hud_last + void show_readout_hud(bool on); // iconise/deactivate: a popup would float on the desktop + + // Bottom-LEFT viewport HUD: the selection / tool status line, written by DesignPanel. + // A wxPopupWindow, NOT the wxFrame the readout HUD uses: a frame accepts keyboard focus, + // and this one is on screen permanently and re-raised on every status change, so it stole + // the keyboard from the canvas and killed every sketch shortcut in the tab. + wxPopupWindow* m_status_hud{nullptr}; + wxStaticText* m_status_hud_label{nullptr}; + wxString m_status_hud_last; + wxColour m_status_hud_colour; + void place_status_hud(); // re-anchors to the canvas corner (also on resize) + void apply_status_label(); // SetLabel + Wrap to the canvas width + Fit, always together + // On the top-level frame, which outlives this canvas — members so they can be unbound. + void on_frame_iconize(wxIconizeEvent& e); + void on_frame_activate(wxActivateEvent& e); + void on_status_hud_reanchor(wxEvent& e); // frame wxEVT_MOVE and canvas wxEVT_SIZE + std::function<void(const SketchProfile&, const SketchPlane&)> m_on_sketch_commit; + std::function<void(const std::vector<SketchEntity>&, + const std::vector<SketchEntityConstraintDef>&, + const SketchPlane&)> m_on_sketch_entities_commit; +}; + +}} // namespace Slic3r::GUI + +#endif // slic3r_DesignCanvas_hpp_ diff --git a/src/slic3r/GUI/CAD/DesignInteraction.hpp b/src/slic3r/GUI/CAD/DesignInteraction.hpp new file mode 100644 index 0000000000..d849b779e4 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignInteraction.hpp @@ -0,0 +1,59 @@ +#ifndef slic3r_GUI_DesignInteraction_hpp_ +#define slic3r_GUI_DesignInteraction_hpp_ + +namespace Slic3r { namespace GUI { + +// The Design tab's interaction stack, and the ONE rule Esc obeys. +// +// Esc unwinds exactly one level per press, deepest first, and never more. The enum value IS +// the LIFO depth, so "which level does this press belong to" is a comparison, not a chain of +// special cases scattered over three files — which is what it was, and why two presses in a +// row could reach past a tool and destroy the sketch underneath it. +// +// STRICT INVARIANT (the bug this exists to make unrepresentable): no level of Esc deletes a +// feature, discards a sketch that holds geometry, or rolls history back. Destroying work needs +// a gesture that says so — Delete/Backspace on an explicit selection, the banner's Cancel, or +// Ctrl+Z. An Esc that can destroy is an Esc nobody can press with confidence, and being the +// safe key is the whole point of it. +enum class CadLevel : int { + Idle = 0, // nothing transient is up: Esc clears the selection + Tool = 1, // a feature card / armed sketch tool / constrain session: Esc exits it + Gesture = 2, // an uncommitted delta (entity being drawn, body being dragged): Esc reverts it + Transient = 3, // a value field or a popup menu: Esc closes just that +}; + +// What the tab is doing, reduced to the four bits the routing actually needs. Kept as a POD of +// answers rather than a pointer to the panel so the rule below is decidable — and checkable — +// without a window, a GL context or an event loop. +struct CadInteractionState { + bool value_field_open{false}; // in-canvas value field, or the panel's value card + bool gesture_active{false}; // in-progress entity points, or a body being moved + bool tool_armed{false}; // feature card open, sketch draw tool armed, constrain session + bool has_selection{false}; // something is picked (model or sketch) +}; + +// The whole routing rule. Deepest live level wins; Idle is the floor. +constexpr CadLevel cad_escape_level(const CadInteractionState& s) +{ + if (s.value_field_open) return CadLevel::Transient; + if (s.gesture_active) return CadLevel::Gesture; + if (s.tool_armed) return CadLevel::Tool; + return CadLevel::Idle; +} + +// The ordering is the entire contract, so it is checked where it is defined, at compile time. +static_assert(cad_escape_level({true, true, true, true}) == CadLevel::Transient, "value field is deepest"); +static_assert(cad_escape_level({false, true, true, true}) == CadLevel::Gesture, "gesture beats tool"); +static_assert(cad_escape_level({false, false, true, true}) == CadLevel::Tool, "tool beats idle"); +static_assert(cad_escape_level({false, false, false, true}) == CadLevel::Idle, "selection is idle-level"); +static_assert(cad_escape_level({false, false, false, false}) == CadLevel::Idle, "empty is idle"); + +// Right-click vs. right-hold-orbit. A press that stays put and is let go promptly is a click and +// summons the offer; anything longer or further was navigation, and navigation must never be +// rewarded with a menu over wherever the camera happened to stop. +inline constexpr int kCadRightClickMs = 200; // press->release budget +inline constexpr int kCadRightClickDriftPx = 3; // cursor drift budget, max(|dx|,|dy|) + +}} // namespace Slic3r::GUI + +#endif // slic3r_GUI_DesignInteraction_hpp_ diff --git a/src/slic3r/GUI/CAD/DesignOffer.hpp b/src/slic3r/GUI/CAD/DesignOffer.hpp new file mode 100644 index 0000000000..ad1998d5c5 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignOffer.hpp @@ -0,0 +1,189 @@ +// GENERATED FILE — DO NOT EDIT. +// Source: docs/ux/tool_atlas.json Generator: docs/ux/mockups/gen_offer_table.py +// +// The object-driven tool offer (charter 4.1): every verb has ONE row index, that index +// is the same in every selection it appears in, and verbs that do not apply are shown +// disabled in place with their reason rather than removed. Row order was ratified +// 2026-07-31; changing an index is a breaking change to every user's muscle memory. +#ifndef slic3r_GUI_DesignOffer_hpp_ +#define slic3r_GUI_DesignOffer_hpp_ + +#include <cstdint> + +namespace Slic3r { namespace GUI { + +// What the viewport has selected. Ordered as in tool_atlas.json; the bitmask in +// OfferVerb::accepts indexes these. +enum class OfferSel : int { + None = 0, + FacePlanar = 1, + FaceCyl = 2, + FaceOther = 3, + EdgeStr = 4, + EdgeCirc = 5, + Vertex = 6, + BodySolid = 7, + BodySheet = 8, + Bodies2 = 9, + DatumPlane = 10, + DatumAxis = 11, + CoordSys = 12, + Art = 13, + SkLoop = 14, + SkNone = 15, + SkLine = 16, + SkArc = 17, + SkPoint = 18, + Sk2Ent = 19, + Count = 20 +}; + +inline uint32_t offer_bit(OfferSel s) { return 1u << int(s); } + +// One row of the offer. `action` routes to the code that already implements the verb: +// "key:S+E" -> m_keys_feature[SHIFT('E')] +// "key:L" -> m_keys_sketch['L'] +// "fly:material#4" -> row 4 of the "material" feature flyout +// "btn:delete" -> a standalone toolbar button +// nullptr -> kernel support exists, no GUI path yet (row shows disabled) +struct OfferVerb { + const char* id; + const char* name; // drawing-office word (L10); translated at use with wxGetTranslation + int row; // 0..7, the ratified index — NEVER reorder + const char* key; // shortcut shown in the row, or nullptr + const char* action; + const char* refusal; // why this row is greyed, in the product's own words + uint32_t accepts; // bitmask over OfferSel + int need_bodies; + int need_sketches; + bool need_sheet; + bool sketch_mode; // belongs to the sketch-mode vocabulary, not the model one + // Second level INSIDE a row, for tools that come in variants: "Rectangle" holds corner, + // centre, oblique and rounded. nullptr = sits directly in the row. Keeps the row's own + // address fixed (L4.1) while the variants hang one level below it, mirroring the toolbar's + // grouping instead of flattening 19 create tools into one wall. + const char* family; + const char* icon; // resources/images name, or nullptr — the offer draws it beside the row + const char* hint; // what the verb does / what to click; shown on hover +}; + +// Row labels, in ratified order. +static const char* const kOfferRowNames[] = { + "Create", + "Add material", + "Remove", + "Fillet / chamfer / draft", + "Repeat", + "Transform", + "Reference", + "Modify", +}; +static const int kOfferRowCount = 8; + +static const OfferVerb kOfferVerbs[] = { + {"sketch", "Sketch", 0, "Shift+S", "key:S+S", "Click a face or a reference plane in the viewport, then a sketch tool", 0x00000403u, 0, 0, false, false, nullptr, "design_sketch", "Click a face or a reference plane, then pick a drawing tool"}, + {"extrude", "Extrude", 1, "Shift+E", "key:S+E", "Create a sketch, or pick a solid face, first", 0x00004002u, 0, 0, false, false, nullptr, "design_extrude", "Extrude a sketch profile, or push/pull a picked face"}, + {"revolve", "Revolve", 1, "Shift+R", "key:S+R", "Create a sketch profile to revolve first", 0x00004000u, 0, 0, false, false, nullptr, "design_revolve", "Revolve a profile about an axis"}, + {"sweep", "Sweep", 1, "Shift+W", "key:S+W", "Create a profile sketch to sweep first", 0x00004000u, 0, 2, false, false, nullptr, "design_sweep", "Sweep a profile along a path"}, + {"loft", "Loft", 1, "Shift+L", "key:S+L", "Create at least two profile sketches to loft", 0x00004000u, 0, 2, false, false, nullptr, "design_loft", "Loft (skin) between two or more profiles"}, + {"thicken", "Thicken", 1, nullptr, "fly:material#4", "Thicken needs a solid body — add or import one first", 0x0000000au, 1, 0, false, false, nullptr, "design_thicken", "Offset a solid face into a thin plate (new body)"}, + {"rib", "Rib", 1, nullptr, "fly:material#5", "Rib needs a solid body — add or import one first", 0x00010000u, 1, 0, false, false, nullptr, "design_rib", "Grow a thin wall from an open sketch line, fused to a body"}, + {"boolean", "Union", 1, "Shift+B", "btn:bool#0", "Boolean needs two bodies — create or import a second solid", 0x00000200u, 2, 0, false, false, nullptr, "design_boolean", "Fuse the tool body into the target — one solid, no seam"}, + {"bool_subtract", "Subtract", 1, nullptr, "btn:bool#1", "Boolean needs two bodies — create or import a second solid", 0x00000200u, 2, 0, false, false, nullptr, "design_boolean", "Cut the tool body out of the target"}, + {"bool_intersect", "Intersect", 1, nullptr, "btn:bool#2", "Boolean needs two bodies — create or import a second solid", 0x00000200u, 2, 0, false, false, nullptr, "design_boolean", "Keep only where the two bodies overlap"}, + {"surf_extrude", "Surface Extrude", 1, "Shift+G", "key:S+G", "Create a sketch first", 0x00004000u, 0, 0, false, false, nullptr, "design_extrude", "Extrude a sketch into a sheet body (no end caps)"}, + {"surf_revolve", "Surface Revolve", 1, nullptr, "fly:surface#1", "Create a sketch profile to revolve first", 0x00004000u, 0, 0, false, false, nullptr, "design_revolve", "Revolve a sketch profile into a sheet body"}, + {"surf_loft", "Surface Loft", 1, nullptr, "fly:surface#2", "Create at least two profile sketches to loft", 0x00004000u, 0, 2, false, false, nullptr, "design_loft", "Loft (skin) between 2+ profiles, open (no end caps)"}, + {"surf_fill", "Surface Fill", 1, nullptr, "fly:surface#3", "Create a closed sketch first", 0x00004000u, 0, 0, false, false, nullptr, "design_surface", "Fill a sketch boundary with a smooth face"}, + {"thicken_surf", "Thicken Surface", 1, nullptr, "fly:surface#5", "target is not a sheet body", 0x00000100u, 0, 0, true, false, nullptr, "design_thicken", "Thicken a sheet body into a solid"}, + {"hole", "Hole", 2, "Shift+H", "key:S+H", "Pick a face or a plane to drill into", 0x00000402u, 1, 0, false, false, nullptr, "design_hole", "Drill a hole, centred on a picked face or placed on a plane"}, + {"thread", "Thread", 2, "Shift+T", "key:S+T", "Pick a cylindrical surface (bore / outer) or a circular edge for a thread", 0x00000024u, 1, 0, false, false, nullptr, "design_thread", "Thread a cylindrical surface (inner bore / outer) or a circular edge"}, + {"shell", "Shell", 2, "Shift+K", "key:S+K", "Shell needs a solid body", 0x00000082u, 1, 0, false, false, nullptr, "design_shell", "Hollow the body to a wall thickness, opening a picked face"}, + {"cut", "Cut", 2, "Shift+X", "key:S+X", "Create a solid body to cut first", 0x000004feu, 1, 0, false, false, nullptr, "design_cut", "Trim the body with a plane — drag the offset arrow; keep one half or both"}, + {"split", "Split", 2, nullptr, nullptr, "Split needs a solid body", 0x000000feu, 1, 0, false, false, nullptr, nullptr, "Split the body along a picked face into two solids"}, + {"fillet", "Fillet", 3, "Shift+F", "btn:dress#0", "Pick an edge to round", 0x000000b2u, 1, 0, false, false, nullptr, "design_filletedge", "Pick an edge, then drag the radius arrow or type it"}, + {"chamfer", "Chamfer", 3, nullptr, "btn:dress#1", "Pick an edge to bevel", 0x000000b2u, 1, 0, false, false, nullptr, "design_chamfer", "Pick an edge, then drag the distance arrow or type it"}, + {"draft", "Draft", 3, "Shift+D", "key:S+D", "Pick a face to taper", 0x0000000au, 1, 0, false, false, nullptr, "design_draft", "Tilt a picked face by a draft angle"}, + {"surf_offset", "Surface Offset", 3, nullptr, "fly:surface#4", "target is not a sheet body", 0x00000100u, 0, 0, true, false, nullptr, "design_offset", "Offset a sheet body's shell by a signed distance"}, + {"pattern", "Linear pattern", 4, "Shift+N", "btn:pat#0", "Create a solid body to pattern first", 0x00006082u, 1, 0, false, false, nullptr, "design_array", "Repeat the body along a direction — drag the spacing, set the count"}, + {"pattern_circular", "Circular pattern", 4, nullptr, "btn:pat#1", "Create a solid body to pattern first", 0x00006082u, 1, 0, false, false, nullptr, "design_polararray", "Repeat the body around an axis — set the count and sweep"}, + {"mirror", "Mirror", 4, "Shift+Z", "key:S+Z", "Mirror needs a body — add or import one first", 0x000004feu, 1, 0, false, false, nullptr, "design_mirror", "Reflect a body about a plane"}, + {"pat_curve", "Pattern on Curve", 4, nullptr, nullptr, "Pattern on curve needs a body and a curve", 0x00000090u, 1, 0, false, false, nullptr, nullptr, "Repeat the body along a picked curve"}, + {"transform", "Move", 5, "Shift+Y", "key:S+Y", "Transform needs a body — add or import one first", 0x000021feu, 1, 0, false, false, nullptr, "design_move", "Move and/or rotate an existing body"}, + {"mate", "Mate", 5, nullptr, "fly:placement#2", "A mate needs two coordinate systems", 0x00001202u, 2, 0, false, false, nullptr, "design_c_coincident", "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)"}, + {"align", "Align to", 5, nullptr, nullptr, "Align needs a body", 0x00000002u, 1, 0, false, false, nullptr, nullptr, "Align the body to a picked face or plane"}, + {"plane", "Plane", 6, "Shift+P", "key:S+P", nullptr, 0x00000453u, 0, 0, false, false, nullptr, "design_plane", "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)"}, + {"axis", "Axis", 6, "Shift+A", "key:S+A", nullptr, 0x00000057u, 0, 0, false, false, nullptr, "design_line", "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)"}, + {"coordsys_v", "Coord Sys", 6, "Shift+C", "key:S+C", nullptr, 0x00000043u, 0, 0, false, false, nullptr, "design_point", "Datum coordinate system (world point, or face + direction edge)"}, + {"helix", "Helix", 6, nullptr, "fly:plane#3", nullptr, 0x00000405u, 0, 0, false, false, nullptr, "design_thread", "Helical curve (spring path) — use as a sweep path for coils / springs / augers"}, + {"project", "Project", 6, nullptr, "fly:plane#4", "Project needs a body — add or import one first", 0x00000482u, 1, 0, false, false, nullptr, "design_sketch", "Project body edges onto a plane as sketch entities"}, + {"measure", "Measure", 6, nullptr, nullptr, nullptr, 0x000b03feu, 0, 0, false, false, nullptr, nullptr, "Measure between the picked points, edges or faces"}, + {"mass_props", "Mass", 6, nullptr, "btn:mass", nullptr, 0x000000feu, 1, 0, false, false, nullptr, "info", "Report the volume and surface area of the selected body"}, + {"interference", "Interference", 6, nullptr, nullptr, nullptr, 0x00000200u, 2, 0, false, false, nullptr, nullptr, "Check whether two bodies overlap — reports, changes nothing"}, + {"edit_feature", "Edit", 7, nullptr, "btn:edit", nullptr, 0x00007d8eu, 0, 0, false, false, nullptr, "design_edit", "Reopen the selected feature to change what it was made from"}, + {"rename", "Rename…", 7, "F2", "btn:rename", "Select a feature, or a body, to rename it", 0x00004080u, 0, 0, false, false, nullptr, nullptr, "Give this feature a name you will recognise in the tree (a body takes its name from the feature that makes it)"}, + {"delete_face", "Delete Face", 7, nullptr, "fly:dressup#3", "Delete Face needs a body — add or import one first", 0x0000000eu, 1, 0, false, false, nullptr, "design_delete", "Remove faces from a body and heal the solid"}, + {"colour", "Colour", 7, nullptr, "btn:colour", nullptr, 0x000001feu, 1, 0, false, false, nullptr, "color_palette", "Set the selected body's display colour"}, + {"delete", "Delete", 7, "Del", "btn:delete", nullptr, 0x000f7c00u, 0, 0, false, false, nullptr, "design_delete", "Delete what is selected"}, + {"delete_body", "Delete Body", 7, nullptr, "btn:delete_body", nullptr, 0x000001feu, 1, 0, false, false, nullptr, "design_delete", "Delete this whole body — removes the feature it was made from"}, + {"sk_line_t", "Line", 0, "L", "key:L", nullptr, 0x000f8000u, 0, 0, false, true, "Line", "design_line", "Line — click start, then end"}, + {"sk_polyline", "Polyline", 0, nullptr, "fly:design_line#1", nullptr, 0x000f8000u, 0, 0, false, true, "Line", "design_polyline", "Click points; click the first point to close the loop, right-click to end it open"}, + {"sk_rect", "Corner rectangle", 0, "R", "key:R", nullptr, 0x000f8000u, 0, 0, false, true, "Rectangle", "design_rect", "Rectangle — click two opposite corners"}, + {"sk_rect_center", "Centre rectangle", 0, nullptr, "fly:design_rect#1", nullptr, 0x000f8000u, 0, 0, false, true, "Rectangle", "design_crect", "Click center, then a corner"}, + {"sk_rect_oblique", "Oblique rectangle", 0, nullptr, "fly:design_rect#2", nullptr, 0x000f8000u, 0, 0, false, true, "Rectangle", "design_rect_oblique", "Click two corners of one edge, then a point for the width"}, + {"sk_rect_rounded", "Rounded rectangle", 0, nullptr, "fly:design_rect#3", nullptr, 0x000f8000u, 0, 0, false, true, "Rectangle", "design_rect_rounded", "Click two opposite corners, then a point for the corner radius"}, + {"sk_circle", "Centre circle", 0, "C", "key:C", nullptr, 0x000f8000u, 0, 0, false, true, "Circle", "design_circle", "Circle — click center, then radius"}, + {"sk_circle_2pt", "2-point circle", 0, nullptr, "fly:design_circle#1", nullptr, 0x000f8000u, 0, 0, false, true, "Circle", "design_circle2pt", "Click two ends of the diameter"}, + {"sk_circle_3pt", "3-point circle", 0, nullptr, "fly:design_circle#2", nullptr, 0x000f8000u, 0, 0, false, true, "Circle", "design_circle3pt", "Click three points on the circle"}, + {"sk_arc_t", "3-point arc", 0, "A", "key:A", nullptr, 0x000f8000u, 0, 0, false, true, "Arc", "design_arc3pt", "Arc — click start, end, then a point"}, + {"sk_arc_tangent", "Tangent arc", 0, nullptr, "fly:design_arc3pt#1", nullptr, 0x000f8000u, 0, 0, false, true, "Arc", "design_tangentarc", "Click start (on the last entity) then end"}, + {"sk_arc_center", "Centre-point arc", 0, nullptr, "fly:design_arc3pt#2", nullptr, 0x000f8000u, 0, 0, false, true, "Arc", "design_arc_center", "Click center, then start, then a point for the end angle"}, + {"sk_slot", "Slot", 0, "S", "key:S", nullptr, 0x000f8000u, 0, 0, false, true, "Slot", "design_slot", "Slot — two centerline ends, then end radius"}, + {"sk_slot_arc", "Arc slot", 0, nullptr, "fly:design_slot#1", nullptr, 0x000f8000u, 0, 0, false, true, "Slot", "design_slot_arc", "Click center, start, end, then a point for the width"}, + {"sk_ellipse", "Ellipse", 0, "E", "key:E", nullptr, 0x000f8000u, 0, 0, false, true, "Ellipse", "design_ellipse", "Ellipse — center, major end, minor point"}, + {"sk_ellipse_arc", "Elliptical arc", 0, nullptr, "fly:design_ellipse#1", nullptr, 0x000f8000u, 0, 0, false, true, "Ellipse", "design_ellipse_arc", "Click center, major-axis end, minor point, then arc start and end"}, + {"sk_spline", "Spline", 0, "B", "key:B", nullptr, 0x000f8000u, 0, 0, false, true, nullptr, "design_bspline", "Spline — click control points"}, + {"sk_poly_3", "Triangle", 0, nullptr, "btn:poly#3", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Triangle — click centre, then a vertex"}, + {"sk_poly_4", "Square", 0, nullptr, "btn:poly#4", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Square — click centre, then a vertex"}, + {"sk_poly_5", "Pentagon", 0, nullptr, "btn:poly#5", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Pentagon — click centre, then a vertex"}, + {"sk_polygon", "Hexagon", 0, "G", "btn:poly#6", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Hexagon — click centre, then a vertex"}, + {"sk_poly_8", "Octagon", 0, nullptr, "btn:poly#8", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Octagon — click centre, then a vertex"}, + {"sk_poly_12", "Dodecagon", 0, nullptr, "btn:poly#12", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Dodecagon — click centre, then a vertex"}, + {"sk_poly_inscribed", "Inscribed", 0, nullptr, "btn:polyfit#0", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Measure the polygon to its corners (inscribed)"}, + {"sk_poly_circumscribed", "Circumscribed", 0, nullptr, "btn:polyfit#1", nullptr, 0x000f8000u, 0, 0, false, true, "Polygon", "design_polygon", "Measure the polygon to its flats (circumscribed)"}, + {"sk_point_t", "Point", 0, "P", "key:P", nullptr, 0x000f8000u, 0, 0, false, true, nullptr, "design_point", "Point — click to place"}, + {"sk_text", "Text", 0, nullptr, "btn:text", nullptr, 0x000f8000u, 0, 0, false, true, nullptr, "design_text", "Type text; its outline is added to this sketch as editable lines"}, + {"sk_svg", "SVG", 0, nullptr, "btn:svg", nullptr, 0x000f8000u, 0, 0, false, true, nullptr, "design_svg", "Import an SVG outline into this sketch as editable lines"}, + {"sk_offset", "Offset", 1, "O", "key:O", nullptr, 0x000b0000u, 0, 0, false, true, nullptr, "design_offset", "Offset — pick an entity, drag the distance"}, + {"sk_trim", "Trim", 2, "T", "key:T", nullptr, 0x000b0000u, 0, 0, false, true, nullptr, "design_trim", "Trim — click a segment to trim it"}, + {"sk_fillet", "Fillet", 3, "F", "key:F", nullptr, 0x00090000u, 0, 0, false, true, nullptr, "design_filletedge", "Fillet — pick two lines, set the radius"}, + {"sk_chamfer", "Chamfer", 3, "H", "key:H", nullptr, 0x00090000u, 0, 0, false, true, nullptr, "design_chamfer", "Chamfer — pick two lines, set the distance"}, + {"sk_array", "Linear array", 4, nullptr, "fly:design_array#0", nullptr, 0x000b0000u, 0, 0, false, true, "Array", "design_array", "Pick entities, drag the spacing handle, click the count; click empty to apply"}, + {"sk_array_polar", "Polar array", 4, nullptr, "fly:design_array#1", nullptr, 0x000b0000u, 0, 0, false, true, "Array", "design_polararray", "Pick entities, drag the sweep handle, click the count; click empty to apply"}, + {"sk_mirror", "Mirror", 4, "M", "key:M", nullptr, 0x000b0000u, 0, 0, false, true, nullptr, "design_mirror", "Mirror — pick axis, then entities"}, + {"sk_move", "Move", 5, nullptr, "fly:design_move#0", nullptr, 0x000f0000u, 0, 0, false, true, "Move", "design_move", "Pick entities, then drag the handle or click the distance; click empty to apply"}, + {"sk_rotate", "Rotate", 5, nullptr, "fly:design_move#1", nullptr, 0x000f0000u, 0, 0, false, true, "Move", "design_rotate", "Pick entities, then drag around the pivot or click the angle; click empty to apply"}, + {"sk_scale", "Scale", 5, nullptr, "fly:design_move#2", nullptr, 0x000f0000u, 0, 0, false, true, "Move", "design_scale", "Pick entities, then drag the handle or click the factor; click empty to apply"}, + {"sk_dimension", "Dimension", 6, "D", "key:D", nullptr, 0x000f8000u, 0, 0, false, true, nullptr, "design_dimension", "Dimension — click 2 points or an entity"}, + {"sk_constrain", "Constrain", 6, "K", "key:K", nullptr, 0x000f0000u, 0, 0, false, true, nullptr, "design_constrain", "Constrain the selected sketch entities to each other"}, + // Same verb, model-mode vocabulary: offered when a SKETCH is selected (bit 14, SkLoop), the + // state a user is in right after finishing one. Without this row the only way in was the + // toolbar icon, and constraints read as absent — see the Onshape-comparison report. + {"constrain", "Constrain sketch", 7, nullptr, "btn:constrain", "Select a sketch to constrain it", 0x00004000u, 0, 1, false, false, nullptr, "design_constrain", "Add dimensions and relations (coincident, tangent, parallel...) to the selected sketch"}, + {"sk_construct", "Construction", 6, "Q", "key:Q", nullptr, 0x000b8000u, 0, 0, false, true, nullptr, nullptr, "Toggle construction: geometry that guides but is never built"}, + {"sk_extend", "Extend", 7, "X", "key:X", nullptr, 0x000b0000u, 0, 0, false, true, nullptr, "design_extend", "Extend — click a line/arc to extend it"}, + {"sk_delete", "Delete", 7, "Del", "btn:sk_delete", nullptr, 0x000f0000u, 0, 0, false, true, nullptr, "design_delete", "Delete the selected sketch entities"}, + // Typing the defining number of the element you pointed at. Three rows rather than one so + // each names the quantity in the drawing-office word for THAT element; all three land on + // the same handler, because dimension_kind() already resolves the quantity from the + // selection. Without these, an element's own numbers were reachable only by arming the + // Dimension tool and re-picking geometry that was already selected. + {"sk_length", "Length…", 7, "V", "key:V", nullptr, 0x00010000u, 0, 0, false, true, nullptr, "design_dimension", "Type the length of this line"}, + {"sk_radius", "Radius / diameter…", 7, "V", "key:V", nullptr, 0x00020000u, 0, 0, false, true, nullptr, "design_dimension", "Type the radius of this arc, or the diameter of this circle"}, + {"sk_angdist", "Angle / distance…", 7, "V", "key:V", nullptr, 0x00080000u, 0, 0, false, true, nullptr, "design_dimension", "Type the angle between two lines, or the distance between the two picks"}, +}; +static const int kOfferVerbCount = 92; + +}} // namespace Slic3r::GUI + +#endif // slic3r_GUI_DesignOffer_hpp_ diff --git a/src/slic3r/GUI/CAD/DesignPanel.cpp b/src/slic3r/GUI/CAD/DesignPanel.cpp new file mode 100644 index 0000000000..0b4f86a618 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignPanel.cpp @@ -0,0 +1,11775 @@ +#include "slic3r/GUI/CAD/DesignPanel.hpp" +#include "slic3r/GUI/CAD/DesignCanvas.hpp" +#include "slic3r/GUI/CAD/DesignSketchTool.hpp" +#include "slic3r/GUI/CAD/DesignOffer.hpp" // generated offer table — see docs/ux/tool_atlas.json +#include "libslic3r/CAD/GeometryEngine.hpp" // face_by_index for face-extrude gizmo anchor +#include "libslic3r/TriangleMesh.hpp" // mesh import: STL/OBJ -> indexed_triangle_set +#include "libslic3r/Format/OBJ.hpp" +#include "libslic3r/Format/bbs_3mf.hpp" // put_other_changes: mark the project dirty outside the undo stack + +#include <boost/algorithm/string/case_conv.hpp> +#include <boost/filesystem/path.hpp> +#include <boost/log/trivial.hpp> // the offer/atlas join check reports on the log +#include <Standard_Failure.hxx> + +#include <cassert> +#include <cstdarg> // offer_trace: diagnostic row dump for the offer ladder +#include <map> +#include <set> +#include <wx/sizer.h> +#include <wx/button.h> +#include <wx/stattext.h> +#include <wx/checkbox.h> +#include <wx/checklst.h> +#include <wx/spinctrl.h> +#include <wx/listctrl.h> +#include <wx/treectrl.h> +#include <wx/imaglist.h> +#include <wx/statline.h> +#include <wx/statbmp.h> +#include <wx/image.h> +#include <wx/font.h> +#include <wx/textdlg.h> +#include <wx/filedlg.h> +#include <wx/dialog.h> +#include <wx/colordlg.h> +#include <wx/menu.h> +#include <wx/progdlg.h> +#include <wx/utils.h> // wxWindowDisabler, wxMilliSleep +#include <wx/msgdlg.h> // wxMessageBox + +#include <string> +#include <memory> +#include <functional> +#include <cmath> +#include <algorithm> +#include <thread> +#include <atomic> + +#include "slic3r/GUI/wxExtensions.hpp" // ScalableButton, create_scaled_bitmap +#include "slic3r/GUI/Widgets/Label.hpp" // HarmonyOS Sans fonts (Head_*/Body_*) shared with the rest of Orca +#include "slic3r/GUI/Widgets/DropDown.hpp" // Orca-themed combo dropdown (white/teal selector) for the tool flyouts +#include "slic3r/GUI/Widgets/Button.hpp" // Orca-styled Button (ButtonStyle/ButtonType) — same look as Prepare +#include "slic3r/GUI/Widgets/CheckBox.hpp" // Orca teal check (label lives in the row's left column) +#include "slic3r/GUI/Widgets/ComboBox.hpp" // Orca dropdown — replaces wxChoice in every Design card +#include "slic3r/GUI/Widgets/StaticBox.hpp" // Prepare's rounded white card frame around each tool dialog +#include "libslic3r/CAD/SketchImport.hpp" // text_to_regions / svg_to_regions +#include "libslic3r/CAD/ThreadStandards.hpp" // ISO metric / Unified imperial thread tables +#include "libslic3r/Model.hpp" +#include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Plater.hpp" +#include "libslic3r/BuildVolume.hpp" +#include "slic3r/GUI/MainFrame.hpp" +#include "slic3r/GUI/GUI_ObjectList.hpp" + +// English-only pin for the Design tab (see design-ux-contract): one lever +// de-translates this whole TU so our strings never half-translate against the host's +// localized chrome. Host UI still follows the app locale; only this tab is pinned EN. +// GOTCHA: every _L(...) in this file must take a STRING LITERAL (FromUTF8 wants const char*). +#ifdef _L +#undef _L +#endif +#define _L(s) wxString::FromUTF8(s) + +namespace Slic3r { namespace GUI { + +// Mesh -> B-rep import defaults (see GeometryEngine::mesh_to_brep). +// Tolerance is a vertex-dedup cell, not a sew tolerance: 10 um is well under any printable +// feature yet coarse enough to weld the float noise a mesh exporter leaves on shared vertices. +static constexpr double MESH_IMPORT_TOLERANCE = 0.01; // mm +// Merge coplanar neighbours so the body has real, pickable faces instead of one face per +// triangle. 5 deg tolerates the small normal jitter of an exported/scanned flat face while +// still keeping genuinely curved regions faceted. +static constexpr double MESH_IMPORT_MERGE_ANGLE_DEG = 5.0; +// Above this, warn before converting: the build is one OCCT face per triangle. +static constexpr size_t MESH_IMPORT_TRIANGLE_WARN = 50000; + +// Two-column parameter form (label left, control right), matching Prepare's row idiom. The +// control column grows, so every control lines up on the panel's right edge instead of sitting +// at its natural width beside the label — the forms used a plain non-growable grid before, which +// is why Design's rows looked nothing like Prepare's. +static wxFlexGridSizer* two_col_form() +{ + auto* f = new wxFlexGridSizer(2, 6, 8); + f->AddGrowableCol(1, 1); + f->SetFlexibleDirection(wxHORIZONTAL); + return f; +} + + +// Orca's dropdown, sized like Prepare's sidebar combos. Read-only: every Design +// picker is a fixed list, never free text. +static ComboBox* make_combo(wxWindow* parent) +{ + // Explicit width: ComboBox's natural best size is its widest item, which inflated the + // sidebar's virtual width past the viewport and left the panel horizontally scrolled — + // that is what clipped the first letter of every label. The form column grows anyway. + auto* c = new ComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, + wxSize(parent->FromDIP(90), parent->FromDIP(24)), 0, nullptr, wxCB_READONLY); + c->SetMinSize(wxSize(parent->FromDIP(90), parent->FromDIP(24))); + return c; +} + +// Append a row that carries a feature/body index as client data. +// +// It must go through SetClientData(), not Append()'s clientData argument. Orca's ComboBox keeps +// client data in its own vector and its Append() writes that vector directly, never routing +// through wxItemContainer — so the container's m_clientDataItemsType stays wxClientData_None. +// wxItemContainer::GetClientData() opens with +// wxCHECK_MSG( HasClientUntypedData(), NULL, ... ); +// and wxCHECK_MSG is an early RETURN, not a debug-only assert. So the read handed back NULL for +// every row and every caller resolved it to index 0 no matter what the user had picked — silently, +// because index 0 is a legal answer. SetClientData() flips the type to wxClientData_Void, after +// which the value survives the round trip. +static int combo_append_index(ComboBox* c, const wxString& label, int index) +{ + const int row = c->Append(label, wxNullBitmap); + c->SetClientData(unsigned(row), reinterpret_cast<void*>(intptr_t(index))); + return row; +} + +// Format a value with the international ('.') decimal separator regardless of the +// app's LC_NUMERIC locale (wx sets it to the user locale at startup). snprintf may +// emit a comma, so normalise it. +static wxString en_format(double v, int digits = 2) +{ + char fmt[16]; + std::snprintf(fmt, sizeof(fmt), "%%.%df", digits); + char buf[64]; + std::snprintf(buf, sizeof(buf), fmt, v); + for (char* c = buf; *c; ++c) if (*c == ',') *c = '.'; + return wxString::FromUTF8(buf); +} +// Parse a user-typed value accepting either '.' or ',' as the decimal separator. +static bool en_parse(const wxString& text, double& out) +{ + wxString t(text); + t.Replace(wxT(","), wxT(".")); + return t.ToCDouble(&out); +} + +// Design-tab chrome tokens. The dark branch returns the EXACT legacy values so the +// (correct) dark theme stays byte-identical; the light branch maps each onto Orca's +// light surface so the ribbon/sidebar follow the app theme instead of staying black. +static bool dp_dark() { return wxGetApp().dark_mode(); } +static wxColour dp_ribbon_bg() { return dp_dark() ? wxColour(0x36,0x36,0x3C) : wxColour(0xEC,0xEC,0xEE); } +static wxColour dp_ribbon_hover() { return dp_dark() ? wxColour(0x4D,0x4D,0x54) : wxColour(0xD7,0xD7,0xDB); } +static wxColour dp_panel_bg() { return dp_dark() ? wxColour(0x2D,0x2D,0x30) : wxColour(0xFB,0xFB,0xFD); } +static wxColour dp_sec_text() { return dp_dark() ? wxColour(0x81,0x81,0x83) : wxColour(0x66,0x66,0x68); } +static wxColour dp_ctl_text() { return dp_dark() ? wxColour(0xC8,0xC8,0xC8) : wxColour(0x35,0x35,0x37); } +static wxColour dp_item_text() { return dp_dark() ? wxColour(0xE0,0xE0,0xE0) : wxColour(0x2C,0x2C,0x2E); } +static wxColour dp_item_dim() { return dp_dark() ? wxColour(0x80,0x80,0x80) : wxColour(0xA0,0xA0,0xA2); } + +// Prepare's control-outline grey, sampled from its sidebar: #4A4A51 on the #2D2D31 dark +// panel, #DBDBDB on light. Every framed thing in Design uses this so the tab matches. +static wxColour dp_border_col() { return dp_dark() ? wxColour(0x4A,0x4A,0x51) : wxColour(0xDB,0xDB,0xDB); } + +// A tool card: Prepare's rounded white-bordered panel (Plater.cpp's panel_printer_preset +// idiom — radius 8, #EEEEEE border, green on hover). Every card's controls are parented +// to it, so the border actually encloses them. +static StaticBox* make_card(wxWindow* parent) +{ + auto* c = new StaticBox(parent); + c->SetCornerRadius(8); + c->SetBorderColorNormal(dp_border_col()); // no hover accent: the frame is not clickable + return c; +} + +// Prepare outlines every numeric field (rounded, #4A4A51 on dark). wxSpinCtrlDouble is a +// native GTK control that cannot draw that, and Orca's own SpinInput is int-only — it would +// silently truncate a 2.5 mm radius. So the double spin keeps its arrows and validation and +// sits inside an Orca StaticBox that supplies the frame. spin_frame() returns that box, which +// is what goes into the layout sizer. +static wxSpinCtrlDouble* make_spin(wxWindow* parent, double val, + double mn = 0.1, double mx = 1000.0) +{ + auto* box = new StaticBox(parent); + box->SetCornerRadius(4); + box->SetBorderColorNormal(dp_border_col()); + auto* s = new wxSpinCtrlDouble(box, wxID_ANY, "", wxDefaultPosition, wxSize(90, -1), + wxSP_ARROW_KEYS | wxBORDER_NONE); + s->SetRange(mn, mx); + s->SetDigits(2); + s->SetValue(val); + // THE WHEEL SCROLLS THE PANEL, IT DOES NOT EDIT THE VALUE. wxSpinCtrlDouble takes the wheel + // whenever the pointer is over it, so a card taller than the panel could not be scrolled past + // without silently incrementing whatever field happened to be under the cursor — measured: + // eight notches turned an X hint from 1,00 into 6,00, and the same gesture over an Extrude + // distance or a mate Offset is a silent model change made by someone who thought they were + // navigating. Skipping the event lets it reach the scrolled cards panel. A spin the user has + // deliberately focused still takes the wheel, which is the one case where editing is meant. + s->Bind(wxEVT_MOUSEWHEEL, [s](wxMouseEvent& e) { + if (wxWindow::FindFocus() == s) e.Skip(); // focused: wheel edits, as expected + else if (wxWindow* p = s->GetParent()) // otherwise hand it to the panel + wxPostEvent(p, e); + }); + auto* sz = new wxBoxSizer(wxHORIZONTAL); + sz->Add(s, 1, wxEXPAND | wxALL, parent->FromDIP(2)); + box->SetSizer(sz); + return s; +} + +// The framed spin's parent IS its frame; lay that out instead of the bare control. +static wxWindow* spin_frame(wxWindow* spin) { return spin->GetParent(); } + +static SketchPlane plane_from_index(int i) +{ + switch (i) { + case 1: return SketchPlane::XZ(); + case 2: return SketchPlane::YZ(); + default: return SketchPlane::XY(); + } +} + +// Inverse of plane_from_index: recover the ComboBox row from a plane's normal. +// XY normal=(0,0,1)->0, XZ normal=(0,1,0)->1, YZ normal=(1,0,0)->2. +static int index_from_plane(const SketchPlane& p) +{ + if (std::abs(p.normal.y()) > 0.5) return 1; // XZ + if (std::abs(p.normal.x()) > 0.5) return 2; // YZ + return 0; // XY +} + +// Does this plane survive a round trip through the Hole/Thread plane dropdown? The dropdown holds +// only XY/XZ/YZ and index_from_plane SNAPS anything else to the nearest of the three, so a plane +// that is not one of them cannot be restored from the row and has to be carried explicitly. +// Origin is compared too, not just the axes: a face plane parallel to XY but 12 mm up snaps to +// row 0 and would otherwise come back at z=0. Vector norms rather than isApprox, which compares +// relative to magnitude and so is useless against the zero origin. +// modeling_origin is not optional: hole_plane()/thread_plane() ADD it to the dropdown plane before +// the feature stores it, so on a document with a shifted origin every dropdown hole would fail a +// bare XY/XZ/YZ comparison and be mistaken for a face pick. +static bool is_base_plane(const SketchPlane& p, const Vec3d& modeling_origin) +{ + SketchPlane b = plane_from_index(index_from_plane(p)); + b.origin += modeling_origin; + const double e = 1e-6; + return (p.origin - b.origin).norm() < e && (p.normal - b.normal).norm() < e + && (p.x_axis - b.x_axis).norm() < e && (p.y_axis - b.y_axis).norm() < e; +} + +// #2: a sketch plane on `face` with origin at the face centroid and normal pointing INTO the +// solid, so a positioned hole drills inward and its (x,y) read as the offset from the face +// centre. A hole is rotationally symmetric, so the arbitrary in-plane basis is harmless. +static SketchPlane face_plane_inward(const TopoDS_Face& face) +{ + SketchPlane p; + p.origin = GeometryEngine::face_centroid_world(face); + p.normal = (-GeometryEngine::face_normal_world(face)).normalized(); // inward + // Align the in-plane x-axis with the face's LONGEST straight edge so the (u,v) frame matches + // the face sides — then "distance from a side" (the hole construction dims) reads correctly. + Vec3d x(0, 0, 0); double best = 0; + for (const TopoDS_Edge& e : GeometryEngine::edges_of_face(face)) { + const std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(e); + if (pts.size() < 2) continue; + Vec3d d = pts.back() - pts.front(); + d = d - p.normal * d.dot(p.normal); // project the edge direction into the plane + const double len = d.norm(); + if (len > best) { best = len; x = d / len; } + } + if (best < 1e-9) { // curved/edgeless face: fall back to an arbitrary in-plane basis + const Vec3d ref = std::abs(p.normal.z()) < 0.9 ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + x = ref.cross(p.normal).normalized(); + } + p.x_axis = x.normalized(); + p.y_axis = p.normal.cross(p.x_axis).normalized(); + return p; +} + +// Highest upward-facing planar face of a solid — the surface the user is looking down on. +// Hole placement defaults here (instead of the z=0 datum) so the footprint sits on the top +// face at the right depth, not on the model's underside where a top-view drag reads parallax- +// shifted. Returns -1 if the shape has no clearly-upward face. +static int top_face_index_of(const TopoDS_Shape& shape) +{ + int best = -1; double bestz = -1e30; + const int n = GeometryEngine::face_count(shape); + for (int i = 0; i < n; ++i) { + const TopoDS_Face f = GeometryEngine::face_by_index(shape, i); + if (f.IsNull()) continue; + const Vec3d nrm = GeometryEngine::face_normal_world(f); + if (nrm.z() < 0.5) continue; // only faces pointing substantially up + const Vec3d c = GeometryEngine::face_centroid_world(f); + if (c.z() > bestz) { bestz = c.z(); best = i; } + } + return best; +} + +DesignPanel::DesignPanel(wxWindow* parent) + : wxPanel(parent, wxID_ANY) +{ + // Left column: a slim feature-tree + docked tool-dialog column. All form + // controls are parented to m_form so it can scroll independently of the + // live GL viewport. The tool buttons live in the top toolbar (built below). + m_form = new wxScrolledWindow(this, wxID_ANY); + // The sidebar/panel never carried an explicit background, so in light theme it + // inherited the dark window colour and stayed black. Paint it on the light surface; + // dark is left untouched (it already reads correctly via inheritance). + if (!dp_dark()) { + SetBackgroundColour(dp_panel_bg()); + m_form->SetBackgroundColour(dp_panel_bg()); + } + + auto* root = new wxBoxSizer(wxVERTICAL); + { + auto* hdr = new wxStaticText(m_form, wxID_ANY, _L("Design")); + hdr->SetFont(Label::Head_16); // Orca shared HarmonyOS section-title font + root->Add(hdr, 0, wxLEFT | wxRIGHT | wxTOP, 12); + root->AddSpacer(2); + } + + // === Top contextual toolbar (Onshape-style icon strip) === + // Parented to the panel (sits above the form/viewport row). Only the active + // mode's group is shown; the others are hidden by set_ui_mode(). + // Scrollable ribbon: on a narrow/windowed screen the far-right action bar (Confirm/Cancel) + // used to be clipped off the edge with no way to reach it. Horizontal-only scroll (vertical + // rate 0) keeps it reachable; on a wide screen the stretch spacer still pins it far-right. + m_toolbar = new wxScrolledWindow(this, wxID_ANY); + m_toolbar->SetScrollRate(15, 0); + m_toolbar->ShowScrollbars(wxSHOW_SB_DEFAULT, wxSHOW_SB_NEVER); + // Theme-aware tool ribbon: dark uses Orca's elevated surface (#36363C / hover + // #4D4D54); light maps onto the app's light chrome so the strip follows the theme. + m_toolbar->SetBackgroundColour(dp_ribbon_bg()); + + const wxColour tb_bg = dp_ribbon_bg(); + const wxColour tb_hover = dp_ribbon_hover(); + auto icon_btn = [this, tb_bg, tb_hover](const char* icon, const wxString& tip) { + // Prepare's main toolbar: 40 px icon cell, 4 px gap (GLToolbar::Default_Icons_Size + // and set_gap_size(4)) -> 44 px pitch. Match it exactly. + auto* b = new ScalableButton(m_toolbar, wxID_ANY, icon, "", wxSize(40, 40), + wxDefaultPosition, wxBU_EXACTFIT | wxBORDER_NONE, false, 34); + b->SetToolTip(tip); + b->SetBackgroundColour(tb_bg); + m_tool_btns.push_back(b); + // Hover affordance, honouring the active-tool teal state. + b->Bind(wxEVT_ENTER_WINDOW, [this, b, tb_hover](wxMouseEvent& e) { + b->SetBackgroundColour(b == m_active_tool_btn ? wxColour(0x52, 0xC7, 0xB8) : tb_hover); + b->Refresh(); e.Skip(); }); + b->Bind(wxEVT_LEAVE_WINDOW, [this, b, tb_bg](wxMouseEvent& e) { + b->SetBackgroundColour(b == m_active_tool_btn ? wxColour(0x00, 0x96, 0x88) : tb_bg); + b->Refresh(); e.Skip(); }); + // Mark this tool active (teal) on press — a separate event from the + // button's command handler, so it never swallows the click action. + b->Bind(wxEVT_LEFT_DOWN, [this, b](wxMouseEvent& e) { + set_active_tool_btn(b); e.Skip(); }); + return b; + }; + // Small grey group caption (Onshape-style section hint) for each toolbar mode. + auto caption = [this](const wxString& t) { + auto* s = new wxStaticText(m_toolbar, wxID_ANY, t); + wxFont f = Label::Body_12; f.SetWeight(wxFONTWEIGHT_BOLD); + s->SetFont(f); + s->SetForegroundColour(dp_sec_text()); // Orca dark secondary text + return s; + }; + auto add_sep = [this](wxSizer* row) { + row->AddSpacer(5); + row->Add(new wxStaticLine(m_toolbar, wxID_ANY, wxDefaultPosition, wxSize(1, 22), wxLI_VERTICAL), + 0, wxALIGN_CENTER_VERTICAL); + row->AddSpacer(5); + }; + + // Shared sketch-tool selector: begins a session on first use, then switches + // the active entity tool. The Construction toggle marks following entities as + // construction geometry (excluded from the wire). + m_construction = new wxCheckBox(m_toolbar, wxID_ANY, _L("Construction")); + m_construction->SetForegroundColour(dp_ctl_text()); + auto select_tool = [this](DesignSketchTool::Mode mode, const wxString& hint) { + if (!m_viewport) return; + if (!m_viewport->is_sketching()) { + wxString on; + const SketchPlane plane = sketch_plane_from_selection(on); + m_viewport->begin_sketch(plane, mode); + m_construction->SetValue(false); // a fresh session starts non-construction + m_sketch_on = on; // shown with the tool hint, so the target is visible + // The face has been CONSUMED as the sketch plane, so drop the pick. Leaving it live + // meant the next Extrude saw a selected face and push/pulled it instead of extruding + // the sketch just drawn — the same trap the imported-art path already guards against. + if (m_sel_solid_face >= 0 || m_pick_face >= 0) { + m_sel_solid_face = m_sel_solid_edge = m_sel_solid_body = -1; + m_pick_face = m_pick_face_body = -1; + } + } else { + m_viewport->set_sketch_tool(mode); + } + m_viewport->set_sketch_construction(m_construction->GetValue()); + m_status->SetForegroundColour(wxNullColour); + set_status(m_sketch_on.IsEmpty() ? hint + : wxString::Format(_L("%s · on %s"), hint, m_sketch_on)); + m_status->Refresh(); + }; + + // Sketch-tool shortcuts (single letters, active only while a sketch is open). Family tools + // bind to their default mode; the other modes stay in the toolbar flyout. Registered here + // where select_tool is in scope; the closures run at key-press time (members are live by then). + auto sk_key = [this, select_tool](int ch, DesignSketchTool::Mode m, const wxString& h) { + m_keys_sketch[ch] = [select_tool, m, h] { select_tool(m, h); }; + }; + sk_key('L', DesignSketchTool::Mode::Line, _L("Line — click start, then end")); + sk_key('R', DesignSketchTool::Mode::CornerRect, _L("Rectangle — click two opposite corners")); + sk_key('C', DesignSketchTool::Mode::CenterCircle, _L("Circle — click center, then radius")); + sk_key('A', DesignSketchTool::Mode::ThreePointArc,_L("Arc — click start, end, then a point")); + sk_key('S', DesignSketchTool::Mode::Slot, _L("Slot — two centerline ends, then end radius")); + sk_key('E', DesignSketchTool::Mode::Ellipse, _L("Ellipse — center, major end, minor point")); + sk_key('B', DesignSketchTool::Mode::BSpline, _L("Spline — click control points")); + sk_key('P', DesignSketchTool::Mode::Point, _L("Point — click to place")); + sk_key('D', DesignSketchTool::Mode::Dimension, _L("Dimension — click 2 points or an entity")); + sk_key('T', DesignSketchTool::Mode::Trim, _L("Trim — click a segment to trim it")); + sk_key('X', DesignSketchTool::Mode::Extend, _L("Extend — click a line/arc to extend it")); + sk_key('O', DesignSketchTool::Mode::Offset, _L("Offset — pick an entity, drag the distance")); + sk_key('M', DesignSketchTool::Mode::Mirror, _L("Mirror — pick axis, then entities")); + sk_key('F', DesignSketchTool::Mode::Fillet, _L("Fillet — pick two lines, set the radius")); + sk_key('H', DesignSketchTool::Mode::Chamfer, _L("Chamfer — pick two lines, set the distance")); + // Polygon needs its side count / circumscribed flag pushed to the tool before it starts. + m_keys_sketch['G'] = [this, select_tool] { + if (m_viewport) { + push_polygon_params(); + } + select_tool(DesignSketchTool::Mode::Polygon, _L("Polygon — click center, then a vertex")); + }; + // Constrain (finish the live sketch + enter constrain), and Construction toggle. + // V for Value: type the defining number of whatever is selected — a line's length, an arc's + // radius, a circle's diameter, the angle between two lines. One handler behind three offer + // rows, because the quantity comes from the selection, not from which row was clicked. + // + // It needs a KEY, not just a menu row. The deck profile in VSD_n1_streamcontroller is + // generated from these two key tables, so a verb with no shortcut cannot be put on a + // physical button at all — which is the whole point of that profile for a user who drives + // the app from buttons rather than a menu. + m_keys_sketch['V'] = [this] { + if (m_viewport && m_viewport->is_sketching() && !m_viewport->edit_sketch_selection_value()) + set_status(_L("Nothing here has a value to type — pick a line, an arc, a circle, or two entities")); + }; + m_keys_sketch['K'] = [this] { enter_constrain_inline(); }; + // N: square up to the plane. Not a view preference but part of drawing — a sketch read at an + // angle is a sketch whose right angles do not look like right angles, and no hand-orbit lands + // exactly normal. Sketch map only: in Feature mode the navigator orb owns orientation. + m_keys_sketch['N'] = [this] { + if (m_viewport && m_viewport->view_normal_to_sketch()) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Normal to the sketch plane")); + m_status->Refresh(); + } + }; + m_keys_sketch['Q'] = [this] { + // With geometry selected, Q converts THAT geometry (6zic) — the reading + // everyone arrives with from other sketchers. With nothing selected it keeps its + // old meaning: arm construction for whatever you draw next. + if (m_viewport && m_viewport->is_sketching() && + m_viewport->toggle_sketch_construction_selection() > 0) { + set_status(_L("Converted the selection between construction and real geometry")); + return; + } + if (m_construction) { + m_construction->SetValue(!m_construction->GetValue()); + if (m_viewport && m_viewport->is_sketching()) + m_viewport->set_sketch_construction(m_construction->GetValue()); + } + }; + + // Shift+letter encoder for the feature-tool shortcuts (registered via FeatVar::key below, + // and explicitly for the standalone feature buttons). + auto SHIFT = [](int ch) { return ch | SC_SHIFT; }; + + // View toggles (single letters, active when no sketch is open): P origin planes, A world + // axes, X section view (Alt+Wheel slides the cut). Distinct from Shift+P/Shift+X features. + auto status_flag = [this](const wxString& on_msg, const wxString& off_msg, bool on) { + m_status->SetForegroundColour(wxNullColour); + set_status(on ? on_msg : off_msg); + m_status->Refresh(); + }; + m_keys_feature['P'] = [this, status_flag] { + if (m_viewport) status_flag(_L("Origin planes shown"), _L("Origin planes hidden"), + m_viewport->toggle_planes()); + }; + m_keys_feature['A'] = [this, status_flag] { + if (m_viewport) status_flag(_L("World axes shown"), _L("World axes hidden"), + m_viewport->toggle_axes()); + }; + m_keys_feature['X'] = [this] { toggle_section_view(); }; // toggle the single section on/off + + // Home: axonometric view, fitted to the model. + // + // DesignCanvas::set_view() and fit_view() were written and then never called from + // anywhere in the tree, so the Design viewport had NO way back to a standard view — + // no key, no button, nothing but orbiting by hand until the model happened to be in + // frame. A camera left pointing along the bed plane looks exactly like a renderer + // that has failed, which is how this was found. + // + // Home rather than a letter because every letter A-Z is already a Shift+letter tool + // shortcut, and because Home is the reset-the-view key users arrive with. set_view() + // already does select_view + zoom_to_volumes, so this is fit and orient in one. + m_keys_feature[WXK_HOME] = [this] { + if (!m_viewport) return; + m_viewport->set_view("iso"); + set_status(_L("Isometric view, fitted")); + }; + + // Commit to Plate and the bed toggle were mouse-only: a toolbar button and a checkbox with + // no accelerator between them, so neither could be reached from the keyboard at all, nor by + // anything driving the keyboard. Ctrl+Shift+P is Plate, Ctrl+Shift+B is Bed; neither + // collides with Orca's own Ctrl+Shift+S (Save as) or Ctrl+Shift+G (Print plate). + m_keys_feature['P' | SC_SHIFT | SC_CTRL] = [this] { on_commit(); }; + m_keys_feature['B' | SC_SHIFT | SC_CTRL] = [this] { + if (!m_show_bed) return; + const bool show = !m_show_bed->GetValue(); + m_show_bed->SetValue(show); + if (m_viewport) m_viewport->set_show_bed(show); + set_status(show ? _L("Bed shown") : _L("Bed hidden")); + }; + + // Shared flyout glyph tint (used by BOTH the feature and sketch toolbars). Re-tint each + // design_* glyph to the DropDown's resolved TEXT colour so it reads on the popup in either + // theme: text_color is 0x363636, which darkModeColorFor() maps to a light tone in dark mode + // (the popup bg is darkModeColorFor(white) = dark) and leaves dark in light mode. The alpha + // (the glyph shape) is preserved; only RGB is replaced. + // ponytail: wxBitmap(img) drops the HiDPI scale factor (no scale ctor before wx 3.1.6); the + // deploy target runs at scale 1.0, so this is exact there. + const wxColour drop_icon_col = StateColor::darkModeColorFor(wxColour(0x36, 0x36, 0x36)); + auto tint = [](wxBitmap bmp, const wxColour& c) -> wxBitmap { + if (!bmp.IsOk()) return bmp; + wxImage img = bmp.ConvertToImage(); + if (!img.HasAlpha()) img.InitAlpha(); + const int w = img.GetWidth(), h = img.GetHeight(); + for (int y = 0; y < h; ++y) + for (int x = 0; x < w; ++x) + img.SetRGB(x, y, c.Red(), c.Green(), c.Blue()); + return wxBitmap(img); + }; + + // --- Feature group: Sketch / Extrude / Fillet-Chamfer / Hole / Thread / Constrain + m_tb_feature = new wxBoxSizer(wxHORIZONTAL); + // Buttons are created in whatever order reads best in code, but laid out in the order the + // user specified. fadd() records into tb_slot; the flush below the doc group emits them. + // A dropdown occupies two entries (button + chevron) that must stay adjacent. + std::map<std::string, std::vector<wxWindow*>> tb_slot; + // THE TOOLBAR IS CHROME. Every CAD verb is reached from the offer, so a tool's button is + // still BUILT — that is what registers its "fly:<family>#<row>" address and its Shift+key — + // but it is never placed on the bar. Hiding rather than skipping construction is deliberate: + // the addresses are created inside the widget-building loops, so not building would silently + // delete 42 verbs from the offer while they still rendered. 7ih records the cleanup + // that lets the construction go away too. + // What stays: the two doc-row imports (consumed by add_doc below) and the view controls, + // which are chrome_only in the atlas and so have no offer row to fall back on. + static const std::set<std::string> kBarKeep = { "step", "mesh", "place", "section", "flip" }; + auto fadd = [&tb_slot](const char* id, wxWindow* w) { + if (kBarKeep.count(id) == 0) { w->Hide(); return; } + tb_slot[id].push_back(w); + }; + m_tb_feature->Add(caption(_L("FEATURES")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 8); + { + // Onshape-style FEATURE flyouts: same themed-DropDown pattern as the sketch toolbar + // (tinted glyphs, Body_14 measure, content-width popup) but each entry runs an + // arbitrary action — the existing per-feature handler — instead of selecting a Mode. + struct FeatVar { const char* icon; wxString tip; wxString hint; std::function<void()> action; int key = 0; }; + struct FeatFlyout { + std::vector<DropDown::Item> items; // mainline DropDown is Item-based (text/tip/icon per row) + std::vector<std::function<void()>> actions; + std::vector<std::string> icon_names; + ScalableButton* btn = nullptr; + DropDown drop; // declared LAST: destroyed before the vector it references + FeatFlyout() : drop(items) {} + }; + auto feat_dropdown = [&](const char* id, const char* def_icon, const wxString& grp, std::vector<FeatVar> vars) { + // REGISTER FIRST, BUILD SECOND. A verb's two addresses — "fly:<family>#<row>" for the + // offer and its Shift+key — are data. The widget is one door onto them, not their + // owner. Doing this before any wxWindow exists is what lets the build below be skipped + // outright for a family the bar no longer carries. It used to sit INSIDE the build + // loop, so a retired family still had to be constructed and then Hide()n: skipping it + // would have deleted 42 verbs from the offer while their rows still rendered and did + // nothing when picked. 7ih. + // Keyed on "fly:<family>#<row>" so the generated table can name a variant without the + // item struct growing a field at 26 call sites. + for (size_t i = 0; i < vars.size(); ++i) { + if (vars[i].key) m_keys_feature[vars[i].key] = vars[i].action; // key runs the same action + m_verb_actions["fly:" + std::string(id) + "#" + std::to_string(i)] = vars[i].action; + } + if (kBarKeep.count(id) == 0) + return; // reached from the offer alone — no button, no chevron, no popup + auto* b = icon_btn(def_icon, grp); + b->SetFont(Label::Body_14); // measure popup labels in the popup's font (no truncation) + auto fo = std::make_shared<FeatFlyout>(); + for (auto& v : vars) { + DropDown::Item it; + it.text = v.tip; + it.tip = v.hint; + it.icon = tint(create_scaled_bitmap(v.icon, m_form, 18), drop_icon_col); + fo->items.push_back(it); + fo->actions.push_back(std::move(v.action)); + fo->icon_names.emplace_back(v.icon); + } + fo->btn = b; + fo->drop.Create(b); + fo->drop.SetUseContentWidth(true, false); + fo->drop.Invalidate(true); + FeatFlyout* fp = fo.get(); + fo->drop.Bind(wxEVT_COMBOBOX, [this, fp](wxCommandEvent& e) { + int i = e.GetInt(); + if (i >= 0 && i < (int) fp->actions.size()) { + fp->btn->SetBitmap_(fp->icon_names[i]); // button face follows the last pick + fp->actions[i](); + set_active_tool_btn(fp->btn); + } + }); + b->Bind(wxEVT_BUTTON, [b, fp](wxCommandEvent&) { + // Force a fresh content measure before Popup() (ComboBox does this via the + // private autoPosition()); otherwise the popup maps at a stale narrow size. + fp->drop.Invalidate(true); + fp->drop.SetUseContentWidth(false, false); + fp->drop.SetUseContentWidth(true, false); + wxPoint pos = b->ClientToScreen(wxPoint(0, -6)); + fp->drop.Position(pos, wxSize(0, b->GetSize().y + 12)); + fp->drop.Popup(); + }); + m_flyout_keepalive.push_back(fo); + fadd(id, b); + auto* chev = new wxStaticText(m_toolbar, wxID_ANY, wxString::FromUTF8("\xE2\x96\xBE")); + chev->SetForegroundColour(dp_sec_text()); + chev->SetFont(Label::Body_9); + fadd(id, chev); + }; + + auto* b_sketch = icon_btn("design_sketch", _L("Sketch")); + // Sketch means a tool. Pressing it used to set the mode and then ask, unconditionally, + // for the very thing the user had just done — click XZ, read "XZ plane selected, press + // Sketch", press Sketch, and be told to click a reference plane. The plane was never + // lost (m_ref_plane holds it and begin_sketch captures it when the first tool is armed); + // the sentence was simply false, and with right-click excluded in sketch mode there was + // no door to the tools at all, so the only way on was the toolbar this tab is retiring. + std::function<void()> act_sketch = [this] { + set_ui_mode(UiMode::Sketch); + wxString where; + const bool have_plane = sketch_plane_target(where); + m_status->SetForegroundColour(wxNullColour); + set_status(have_plane + ? wxString::Format(_L("Sketching on %s — pick a tool"), where) + : _L("Click a face or a reference plane in the viewport, then a sketch tool")); + m_status->Refresh(); + if (m_sketch_hint) { // the card must agree with the status line, not argue with it + m_sketch_hint->SetLabel(have_plane + ? wxString::Format(_L("Drawing on %s.\nPick a tool, or press Menu for the list."), where) + : _L("Click a face or a reference plane, then a sketch tool.")); + m_sketch_hint->Refresh(); + m_cards->Layout(); + } + // Hand over the tools rather than naming them in a status line. CallAfter so the + // mode change has settled before a modal menu takes the loop; the menu carries each + // tool's shortcut, so pressing the key instead of picking a row costs nothing. + if (have_plane) + CallAfter([this] { show_offer_menu(offer_anchor()); }); + }; + b_sketch->Bind(wxEVT_BUTTON, [act_sketch](wxCommandEvent&) { act_sketch(); }); + m_keys_feature[SHIFT('S')] = act_sketch; + fadd("sketch", b_sketch); + // Add material: every feature that grows new solid material — from a profile + // (extrude/revolve/sweep/loft), from a face (thicken) or from a line (rib). + feat_dropdown("material", "design_extrude", _L("Add material (extrude / revolve / sweep / loft / thicken / rib)"), { + {"design_extrude", _L("Extrude"), _L("Extrude a sketch profile, or push/pull a picked face"), + [this] { + // Onshape push/pull: an explicitly picked solid face (Face-level cycle, no loop + // selected) is extruded as the profile — this takes priority over re-extruding an + // already-consumed sketch (resolve_extrude_sketch always returns the last Sketch). + if (m_sel_solid_face >= 0 && !m_doc.body.IsNull() && m_sel_sketch_region < 0) { + m_extrude_face_src = m_sel_solid_face; + m_extrude_sketch_ref = -1; + open_tool(Tool::Extrude); + return; + } + m_extrude_face_src = -1; // ordinary sketch/loop extrude + m_extrude_sketch_ref = resolve_extrude_sketch(); + if (m_extrude_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch, or pick a solid face, first")); + m_status->Refresh(); + return; + } + open_tool(Tool::Extrude); + }, SHIFT('E')}, + {"design_revolve", _L("Revolve"), _L("Revolve a profile about an axis"), + [this] { + m_revolve_sketch_ref = resolve_extrude_sketch(); + if (m_revolve_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch profile to revolve first")); + m_status->Refresh(); + return; + } + open_tool(Tool::Revolve); + }, SHIFT('R')}, + {"design_sweep", _L("Sweep"), _L("Sweep a profile along a path"), + [this] { + m_sweep_profile_ref = resolve_extrude_sketch(); + m_sweep_path_ref = -1; // fresh sweep: default the picker to the first sketch + if (m_sweep_profile_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a profile sketch to sweep first")); + m_status->Refresh(); + return; + } + open_tool(Tool::Sweep); + }, SHIFT('W')}, + {"design_loft", _L("Loft"), _L("Loft (skin) between two or more profiles"), + [this] { + // Loft skins 2+ profile sketches; need at least two to be meaningful. + int n = 0; + for (const auto& f : m_doc.features) + if (f.type == CadFeatureType::Sketch) ++n; + if (n < 2) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create at least two profile sketches to loft")); + m_status->Refresh(); + return; + } + m_loft_refs.clear(); // fresh loft: nothing pre-checked + open_tool(Tool::Loft); + }, SHIFT('L')}, + {"design_thicken", _L("Thicken"), _L("Offset a solid face into a thin plate (new body)"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Thicken needs a solid body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_thicken_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_thicken_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_thicken_body->GetCount() > 0) + m_thicken_body->SetSelection(std::min(selected_body_default(), + int(m_thicken_body->GetCount()) - 1)); + } + // KEEP a face the user has already picked. Clearing it unconditionally was right + // when the only door was a toolbar button, which carries no selection: you pressed + // Thicken and were then asked to point at something. Reached from the offer the + // verb is invoked ON a face, so discarding it opened the card reading "(pick a + // solid face)" over an immediate "thicken: face not found" — the user pointed at + // the face and the card said it could not find one. kgx. + // The index is per-body, so it only survives if the body combo landed on the body + // it came from; selected_body_default() above returns exactly that when valid. + if (m_thicken_body->GetSelection() != m_sel_solid_body) + m_sel_solid_face = -1; + open_tool(Tool::Thicken); // syncs m_thicken_face_label from m_sel_solid_face + }, 0}, + {"design_rib", _L("Rib"), _L("Grow a thin wall from an open sketch line, fused to a body"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Rib needs a solid body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_rib_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_rib_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_rib_body->GetCount() > 0) + m_rib_body->SetSelection(std::min(selected_body_default(), + int(m_rib_body->GetCount()) - 1)); + } + { + m_rib_sketch->Clear(); + for (int i = 0; i < int(m_doc.features.size()); ++i) { + // 3-arg Append: ComboBox's own Append(text, bitmap) hides + // wxItemContainer's (text, void*) — see the Sweep picker. + // Project features too: they carry Line entities the kernel ribs from + // just like a drawn sketch, so a projected body edge is a valid path. + if (m_doc.features[i].type == CadFeatureType::Sketch || + m_doc.features[i].type == CadFeatureType::Project) + combo_append_index(m_rib_sketch, wxString::FromUTF8(m_doc.features[i].name), i); + } + if (m_rib_sketch->GetCount() > 0) m_rib_sketch->SetSelection(0); + else { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch with an open line first")); + m_status->Refresh(); + return; + } + } + open_tool(Tool::Rib); + }, 'R'}, // plain R, not SHIFT+R (that is Revolve): every SHIFT letter A-Z + // was already taken, and the feature map already carries unshifted + // keys (P, A, X). Rib was the only verb in this dropdown with no + // shortcut at all, which also made its card unreachable to the rig. + }); + + auto* b_pattern = icon_btn("design_pattern", _L("Pattern")); + std::function<void()> act_pattern = [this] { + // Pattern replicates an existing body — needs at least one solid. + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a solid body to pattern first")); + m_status->Refresh(); + return; + } + open_tool(Tool::Pattern); + }; + b_pattern->Bind(wxEVT_BUTTON, [act_pattern](wxCommandEvent&) { act_pattern(); }); + m_keys_feature[SHIFT('N')] = act_pattern; + fadd("pattern", b_pattern); + m_body_gates.push_back({b_pattern, 1, b_pattern->GetToolTipText(), + _L("Pattern — needs a solid body to replicate")}); + + // Surface: sheet-body tools (extrude / revolve / loft / fill / offset / thicken) + // The drawer BUTTON is design_surface, not design_extrude: sharing a face with the + // Add-material drawer made the two buttons indistinguishable in the bar. The entries + // inside may reuse the solid glyphs — a menu row carries its own text label. + feat_dropdown("surface", "design_surface", _L("Surface (extrude / revolve / loft / fill / offset / thicken)"), { + {"design_extrude", _L("Surface Extrude"), _L("Extrude a sketch into a sheet body (no end caps)"), + [this] { + m_surf_extrude_sketch_ref = resolve_extrude_sketch(); + if (m_surf_extrude_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch first")); + m_status->Refresh(); + return; + } + open_tool(Tool::SurfaceExtrude); + }, SHIFT('G')}, + {"design_revolve", _L("Surface Revolve"), _L("Revolve a sketch profile into a sheet body"), + [this] { + m_surf_revolve_sketch_ref = resolve_extrude_sketch(); + if (m_surf_revolve_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch profile to revolve first")); + m_status->Refresh(); + return; + } + open_tool(Tool::SurfaceRevolve); + }, SHIFT('J')}, + {"design_loft", _L("Surface Loft"), _L("Loft (skin) between 2+ profiles, open (no end caps)"), + [this] { + int n = 0; + for (const auto& f : m_doc.features) + if (f.type == CadFeatureType::Sketch) ++n; + if (n < 2) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create at least two profile sketches to loft")); + m_status->Refresh(); + return; + } + m_surf_loft_refs.clear(); + open_tool(Tool::SurfaceLoft); + }, SHIFT('O')}, + {"design_surface", _L("Surface Fill"), _L("Fill a sketch boundary with a smooth face"), + [this] { + m_surf_fill_sketch_ref = resolve_extrude_sketch(); + if (m_surf_fill_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a sketch profile to fill first")); + m_status->Refresh(); + return; + } + open_tool(Tool::SurfaceFill); + }, SHIFT('Q')}, + {"design_offset", _L("Surface Offset"), _L("Offset a sheet body's shell by a signed distance"), + [this] { + populate_sheet_body_choices(m_surf_offset_body); + if (m_surf_offset_body->GetCount() == 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("No sheet body to offset — create a surface feature first")); + m_status->Refresh(); + return; + } + open_tool(Tool::SurfaceOffset); + }, SHIFT('U')}, + {"design_thicken", _L("Thicken Surface"), _L("Thicken a sheet body into a solid"), + [this] { + populate_sheet_body_choices(m_surf_thicken_body); + if (m_surf_thicken_body->GetCount() == 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("No sheet body to thicken — create a surface feature first")); + m_status->Refresh(); + return; + } + open_tool(Tool::ThickenSurface); + }, SHIFT('V')}, + }); + + feat_dropdown("plane", "design_plane", _L("Datum / Curve (plane / axis / coord sys / helix / project)"), { + {"design_plane", _L("Plane"), _L("Reference plane (offset / tilt / midplane / tangent / two edges / coincident)"), + [this] { + populate_plane_choices(m_plane_base); + reset_plane_refs(); + open_tool(Tool::Plane); + }, SHIFT('P')}, + {"design_line", _L("Axis"), _L("Datum axis (two points, face normal, cylinder centerline, two planes, along edge)"), + [this] { + populate_plane_choices(m_axis_plane_a); + populate_plane_choices(m_axis_plane_b); + reset_axis_refs(); + open_tool(Tool::Axis); + }, SHIFT('A')}, + {"design_point", _L("Coord Sys"), _L("Datum coordinate system (world point, or face + direction edge)"), + [this] { + reset_coordsys_refs(); + open_tool(Tool::CoordSys); + }, SHIFT('C')}, + {"design_thread", _L("Helix"), _L("Helical curve (spring path) — use as a sweep path for coils / springs / augers"), + [this] { + populate_plane_choices(m_helix_plane); + open_tool(Tool::Helix); + }, 0}, + // Project belongs here, not in Dress-up: it consumes a body but PRODUCES sketch + // geometry, so it is reference/curve creation like the four above, not a finishing op. + {"design_sketch", _L("Project"), _L("Project body edges onto a plane as sketch entities"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Project needs a body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_proj_source_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_proj_source_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_proj_source_body->GetCount() > 0) + m_proj_source_body->SetSelection(std::min(selected_body_default(), + int(m_proj_source_body->GetCount()) - 1)); + } + populate_plane_choices(m_proj_plane); + m_sel_solid_face = -1; + m_proj_face_label->SetLabel(_L("(all edges)")); + open_tool(Tool::Project); + }, 0}, + }); + + // Placement — operations that MOVE a body without changing its shape. Transform and + // Mirror place one body directly; a Mate places one body relative to another. They were + // in Dress-up (fillet/draft/shell) and Datum, which mixed shape-finishing and reference + // geometry with rigid-body placement. + // Own slot id: "place" is taken by the Place-on-Face button, and put() formats slot + // item 0 as the control and every later item as its chevron, so sharing a slot would + // bottom-align this drawer's button like a chevron. + feat_dropdown("placement", "design_move", _L("Placement (transform / mirror / mate)"), { + {"design_move", _L("Transform"), _L("Move and/or rotate an existing body"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Transform needs a body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_xf_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_xf_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_xf_body->GetCount() > 0) + m_xf_body->SetSelection(std::min(selected_body_default(), + int(m_xf_body->GetCount()) - 1)); + } + open_tool(Tool::Transform); + }, SHIFT('Y')}, + {"design_mirror", _L("Mirror"), _L("Reflect a body about a plane"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mirror needs a body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_mirror_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_mirror_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_mirror_body->GetCount() > 0) + m_mirror_body->SetSelection(std::min(selected_body_default(), + int(m_mirror_body->GetCount()) - 1)); + } + populate_plane_choices(m_mirror_plane); + open_tool(Tool::Mirror); + }, SHIFT('Z')}, + {"design_c_coincident", _L("Mate"), _L("Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)"), + [this] { + open_tool(Tool::Mate); + }, 0}, + }); + + auto* b_boolean = icon_btn("design_boolean", _L("Boolean (combine bodies)")); + std::function<void()> act_boolean = [this] { on_boolean_tool(); }; + b_boolean->Bind(wxEVT_BUTTON, [act_boolean](wxCommandEvent&) { act_boolean(); }); + m_keys_feature[SHIFT('B')] = act_boolean; + fadd("boolean", b_boolean); + m_body_gates.push_back({b_boolean, 2, b_boolean->GetToolTipText(), + _L("Boolean — needs two solid bodies to combine")}); + + auto* b_cut = icon_btn("design_cut", _L("Cut (split a body with a plane)")); + std::function<void()> act_cut = [this] { + // A plane cut needs at least one solid to slice. + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Create a solid body to cut first")); + m_status->Refresh(); + return; + } + populate_plane_choices(m_cut_plane); + populate_body_choices(); + open_tool(Tool::Cut); + }; + b_cut->Bind(wxEVT_BUTTON, [act_cut](wxCommandEvent&) { act_cut(); }); + m_keys_feature[SHIFT('X')] = act_cut; + fadd("cut", b_cut); + m_body_gates.push_back({b_cut, 1, b_cut->GetToolTipText(), + _L("Cut — needs a solid body to slice")}); + + // Color — override the selected body's display colour (per-body, survives recompute). + auto* b_color = icon_btn("color_palette", _L("Color — set the selected body's display colour")); + b_color->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_set_body_color(); }); + fadd("color", b_color); + m_verb_actions["btn:colour"] = [this] { on_set_body_color(); }; + m_verb_actions["btn:delete"] = [this] { on_delete_feature(); }; + // Rename exists as a slow double-click on the row too, but the offer is this tab's only + // tool vocabulary — a rename that only a double-click reveals is not discoverable, and + // the row IS the object, so it belongs in the menu (and on F2) as well as on the row. + auto rename_feature = [this] { + // A BODY renames ITSELF. The earlier version resolved the body to + // CadBody::source_feature and renamed that feature, which is the wrong object: a + // body accumulates many features and the first one is not its name. The body row + // is editable now (CadBody::user_name), so the verb opens the editor there. + const int b = tree_body_selection(); + if (b >= 0 && b < int(m_tree_body_items.size())) { + const wxTreeItemId row = m_tree_body_items[b]; + // After the menu, not inside it: an editor opened from within PopupMenu's + // nested loop never appears. + CallAfter([this, row] { m_parts->SetFocus(); m_parts->EditLabel(row); }); + return; + } + const int sel = tree_selection(); + if (sel != wxNOT_FOUND && sel < int(m_tree_items.size())) { + const wxTreeItemId row = m_tree_items[sel]; + CallAfter([this, row] { m_tree->SetFocus(); m_tree->EditLabel(row); }); + } else { + m_status->SetForegroundColour(wxNullColour); // "nothing selected" is not an error + set_status(_L("Select a feature, or a body, first — then rename it")); + m_status->Refresh(); + } + }; + m_verb_actions["btn:rename"] = rename_feature; + m_keys_feature[WXK_F2] = rename_feature; // a function key, so no letter space spent + // The sketch's own Delete. It used to share "btn:delete" with the feature tree, so + // choosing Delete on a selected LINE ran on_delete_feature() and removed a tree row (or + // nothing) while the line stayed — the reported "I click a line and cannot remove it". + m_verb_actions["btn:sk_delete"] = [this] { + if (m_viewport && m_viewport->is_sketching()) + m_viewport->delete_selected_sketch_entities(); + else + on_delete_feature(); + }; + + m_verb_actions["btn:delete_body"] = [this] { on_delete_body(); }; + m_verb_actions["btn:edit"] = [this] { on_edit_feature(); }; + m_verb_actions["btn:mass"] = [this] { on_mass_properties(); }; + // Reachable from the offer menu on a SELECTED SKETCH, not only from the toolbar icon. + // A user evaluating against Onshape reported that "adding constraints seems to be + // missing" — with nineteen constraint types and a solver shipped. The only paths in + // were an icon-only button and a sketch-mode-only offer row filed under "Reference", + // so after finishing a sketch there was no affordance where users actually look. + m_verb_actions["btn:constrain"] = [this] { + on_begin_constrain(); + if (m_viewport && (m_viewport->is_constraining() || m_viewport->is_constraining_entities())) + set_ui_mode(UiMode::Constrain); + }; + + // Dress-up: finishing operations on the faces and edges of an existing solid — nothing + // that moves a body (see the Placement drawer) and nothing that creates geometry. + feat_dropdown("dressup", "design_dressup", _L("Fillet / chamfer / draft / shell / delete face"), { + {"design_dressup", _L("Fillet / Chamfer"), _L("Round or bevel a picked edge"), + [this] { open_tool(Tool::Dressup); }, SHIFT('F')}, + {"design_draft", _L("Draft (taper a face)"), _L("Tilt a picked face by a draft angle"), + [this] { open_tool(Tool::Draft); }, SHIFT('D')}, + {"design_shell", _L("Shell"), _L("Hollow the body to a wall thickness, opening a picked face"), + [this] { open_tool(Tool::Shell); }, SHIFT('K')}, + {"design_delete", _L("Delete Face"), _L("Remove faces from a body and heal the solid"), + [this] { + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Delete Face needs a body — add or import one first")); + m_status->Refresh(); + return; + } + { + m_del_face_body->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + const std::string& n = m_doc.bodies[i].name; + m_del_face_body->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (m_del_face_body->GetCount() > 0) + m_del_face_body->SetSelection(std::min(selected_body_default(), + int(m_del_face_body->GetCount()) - 1)); + } + m_del_faces.clear(); + m_del_face_list->SetLabel(_L("(none)")); + open_tool(Tool::DeleteFace); + }, 0}, + }); + + // Hole / Thread — drilling into a solid (both face-aware) + feat_dropdown("hole", "design_hole", _L("Hole / thread"), { + {"design_hole", _L("Hole"), _L("Drill a hole, centred on a picked face or placed on a plane"), + [this] { + // #2: drill on the picked solid face, centred on it (origin = face centroid, + // normal = inward). Otherwise fall back to the plane dropdown. m_hole_x/y then + // read as the offset from the face centre (editable for precise placement). + m_hole_on_face = false; + m_hole_face_body = -1; + m_hole_has_bounds = false; + set_hole_target_label(-1); + // Use the explicitly-picked face; otherwise default to the top face of the + // selected (or first) body so the hole lands on the surface being viewed, not + // the z=0 datum under the model. The XY/XZ/YZ dropdown still overrides. + int hb = m_sel_solid_body, hf = m_sel_solid_face; + if (hf < 0 && !m_doc.bodies.empty()) { + hb = (hb >= 0 && hb < int(m_doc.bodies.size())) ? hb : 0; + hf = top_face_index_of(m_doc.bodies[hb].shape); + } + if (hf >= 0 && hb >= 0 && hb < int(m_doc.bodies.size())) { + const TopoDS_Face face = GeometryEngine::face_by_index( + m_doc.bodies[hb].shape, hf); + if (!face.IsNull()) { + m_hole_face_plane = face_plane_inward(face); + m_hole_on_face = true; + m_hole_face_body = hb; + set_hole_target_label(hf); // may be the top-face default, not a pick + // Face (u,v) extents so the hole dims read from the sides (#2 Part B). + m_hole_has_bounds = GeometryEngine::face_plane_bounds( + face, m_hole_face_plane.origin, m_hole_face_plane.x_axis, + m_hole_face_plane.y_axis, m_hole_umin, m_hole_umax, m_hole_vmin, m_hole_vmax); + if (m_hole_x) m_hole_x->SetValue(0.0); // start at the face centre + if (m_hole_y) m_hole_y->SetValue(0.0); + // Reflect the face's orientation in the dropdown so it doesn't keep + // showing a stale "XY" while the hole actually drills on this face. + if (m_hole_plane) + m_hole_plane->SetSelection(index_from_plane(m_hole_face_plane)); + } + } + open_tool(Tool::Hole); + }, SHIFT('H')}, + {"design_thread", _L("Thread"), _L("Thread a cylindrical surface (inner bore / outer) or a circular edge"), + [this] { + // Driven by a picked CYLINDRICAL surface (inner bore = internal, outer = external) + // OR a circular EDGE (a cylinder's rim) — axis + diameter come from the geometry, so + // the user never types a radius. The diameter field shows what was derived. + m_thread_on_face = false; + m_thread_face_body = -1; + set_thread_target_label(-1, -1); + GeometryEngine::CylinderFace cf; + bool from_face = false; // which of the two the cylinder actually came from + if (m_sel_solid_body >= 0 && m_sel_solid_body < int(m_doc.bodies.size())) { + const TopoDS_Shape& shape = m_doc.bodies[m_sel_solid_body].shape; + if (m_sel_solid_face >= 0) + cf = GeometryEngine::cylinder_of_face(GeometryEngine::face_by_index(shape, m_sel_solid_face)); + from_face = cf.ok; + if (!cf.ok && m_sel_solid_edge >= 0) + cf = GeometryEngine::circle_of_edge(GeometryEngine::edge_by_index(shape, m_sel_solid_edge)); + } + if (cf.ok) { + SketchPlane p; // plane on the axis (origin at the base) + p.origin = cf.base; + p.normal = cf.axis; + const Vec3d ref = std::abs(cf.axis.z()) < 0.9 ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + p.x_axis = ref.cross(cf.axis).normalized(); + p.y_axis = cf.axis.cross(p.x_axis).normalized(); + m_thread_face_plane = p; + m_thread_on_face = true; + m_thread_face_body = m_sel_solid_body; + set_thread_target_label(from_face ? m_sel_solid_face : -1, + from_face ? -1 : m_sel_solid_edge); + infer_thread_spec(2.0 * cf.radius); // M diameter + pitch + depth from the cylinder + if (m_thread_height && cf.height > 1e-6) m_thread_height->SetValue(cf.height); + if (m_thread_internal) m_thread_internal->SetValue(cf.internal); + if (m_thread_x) m_thread_x->SetValue(0.0); // on the axis + if (m_thread_y) m_thread_y->SetValue(0.0); + } else if (m_sel_solid_face >= 0 || m_sel_solid_edge >= 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Pick a cylindrical surface (bore / outer) or a circular edge for a thread")); + m_status->Refresh(); + } + open_tool(Tool::Thread); + }, SHIFT('T')}, + }); + // Text / SVG insert tools live in the SKETCH toolbar (they produce 2D profiles = + // sketches), not here. STEP stays in Features: it imports a whole B-rep solid. + // Import STEP — standalone: a STEP comes in as a whole editable B-rep body, not a profile. + auto* b_step = icon_btn("design_step", _L("Import STEP (editable B-rep solid)")); + b_step->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_import_step(); }); + m_keys_feature[SHIFT('I')] = [this] { on_import_step(); }; + fadd("step", b_step); + // Import mesh — same destination as STEP (an editable B-rep body), but the geometry has + // to be reconstructed from triangles first (GeometryEngine::mesh_to_brep). + auto* b_mesh = icon_btn("param_triangles", _L("Import mesh (STL/OBJ) as an editable B-rep solid")); + b_mesh->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_import_mesh(); }); + m_keys_feature[SHIFT('M')] = [this] { on_import_mesh(); }; + fadd("mesh", b_mesh); + auto* b_constrain = icon_btn("design_constrain", _L("Constrain selected sketch")); + b_constrain->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + on_begin_constrain(); + if (m_viewport && (m_viewport->is_constraining() || m_viewport->is_constraining_entities())) + set_ui_mode(UiMode::Constrain); + }); + fadd("constrain", b_constrain); + } + + // --- Sketch group: plane + entity tools + Construction + Finish + m_tb_sketch = new wxBoxSizer(wxHORIZONTAL); + // Sketch carries the most tools of any mode: pack it tight (no inter-icon gap) so the + // whole entity palette fits without crowding the right-hand actions. + // Same for the sketch bar: the drawing tools live in the offer. Only Delete selected stays, + // via sadd_bar. sadd() still runs so sk_key/fly: registrations and the flyout popups survive. + auto sadd = [](wxWindow* w) { w->Hide(); }; + auto sadd_bar = [this](wxWindow* w) { m_tb_sketch->Add(w, 0, wxALIGN_CENTER_VERTICAL); }; + m_tb_sketch->Add(caption(_L("SKETCH")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 8); + { + // The plane/orientation choice lives in the docked Sketch card (Phase 3), + // not in the toolbar; the toolbar carries only the drawing tools. + auto skbtn = [&](const char* icon, DesignSketchTool::Mode mode, + const wxString& tip, const wxString& hint) { + auto* b = icon_btn(icon, tip); + b->Bind(wxEVT_BUTTON, [select_tool, mode, hint](wxCommandEvent&) { select_tool(mode, hint); }); + sadd(b); + }; + // Onshape-style family flyout, rendered with Orca's themed DropDown + // (white/teal selector, #DBDBDB border, HarmonyOS Body_14) — same widget + // as the settings combo dropdowns. The button shows the current variant's + // icon; clicking drops the variants; a small chevron marks it as a group. + struct SkVar { const char* icon; DesignSketchTool::Mode mode; wxString tip; wxString hint; }; + struct ToolFlyout { + std::vector<DropDown::Item> items; // mainline DropDown is Item-based (text/tip/icon per row) + std::vector<DesignSketchTool::Mode> modes; + std::vector<wxString> hints; + std::vector<std::string> icon_names; + ScalableButton* btn = nullptr; + DropDown drop; // declared LAST: destroyed before the vector it references + ToolFlyout() : drop(items) {} + }; + auto dropdown = [&](const char* def_icon, const wxString& grp, std::vector<SkVar> vars) { + // Register first, build second — the same law as feat_dropdown, for the same reason. + // The offer reaches each tool by its ratified address; without these the offer could + // name a family but only ever arm its FIRST tool: picking "Rectangle" ran key:R and + // gave you a corner rectangle, with oblique and rounded unreachable. Keyed on the icon + // id (already unique per family) so no call site grows an argument. 6vs. + for (size_t i = 0; i < vars.size(); ++i) { + const DesignSketchTool::Mode mode = vars[i].mode; + const wxString hint = vars[i].hint; + m_verb_actions["fly:" + std::string(def_icon) + "#" + std::to_string(i)] = + [mode, hint, select_tool] { select_tool(mode, hint); }; + } + if (kBarKeep.count(def_icon) == 0) + return; // the drawing tools live in the offer; nothing of this family is built + auto* b = icon_btn(def_icon, grp); + // messureSize() measures labels with the PARENT's font (this button) but the + // popup draws them in Body_14 — so an under-sized button font truncates rows. + // The button is icon-only (no label), so giving it Body_14 is invisible and + // makes the content-width measure match the draw. + b->SetFont(Label::Body_14); + auto fo = std::make_shared<ToolFlyout>(); + for (auto& v : vars) { + DropDown::Item it; + it.text = v.tip; + it.tip = v.hint; + it.icon = tint(create_scaled_bitmap(v.icon, m_form, 18), drop_icon_col); + fo->items.push_back(it); + fo->modes.push_back(v.mode); + fo->hints.push_back(v.hint); + fo->icon_names.emplace_back(v.icon); + } + fo->btn = b; + fo->drop.Create(b); + fo->drop.SetUseContentWidth(true, false); + fo->drop.Invalidate(true); + ToolFlyout* fp = fo.get(); + fo->drop.Bind(wxEVT_COMBOBOX, [this, fp, select_tool](wxCommandEvent& e) { + int i = e.GetInt(); + if (i >= 0 && i < (int) fp->modes.size()) { + fp->btn->SetBitmap_(fp->icon_names[i]); + select_tool(fp->modes[i], fp->hints[i]); + set_active_tool_btn(fp->btn); + } + }); + b->Bind(wxEVT_BUTTON, [b, fp](wxCommandEvent&) { + // autoPosition()/messureSize() are private; ComboBox calls them before + // Popup() so the window is sized to its content first. Without that the + // popup maps at a stale narrow size and labels ellipsize ("Oblique + // rectang…"). Force a fresh content measure by toggling use_content_width + // (messureSize only runs when the flag actually changes), then show. + fp->drop.Invalidate(true); + fp->drop.SetUseContentWidth(false, false); + fp->drop.SetUseContentWidth(true, false); + wxPoint pos = b->ClientToScreen(wxPoint(0, -6)); + fp->drop.Position(pos, wxSize(0, b->GetSize().y + 12)); + fp->drop.Popup(); + }); + m_flyout_keepalive.push_back(fo); + sadd(b); + auto* chev = new wxStaticText(m_toolbar, wxID_ANY, wxString::FromUTF8("\xE2\x96\xBE")); + chev->SetForegroundColour(dp_sec_text()); + chev->SetFont(Label::Body_9); + sadd(chev); // follows its button off the bar + }; + skbtn("design_select", DesignSketchTool::Mode::Select, _L("Select"), + _L("Click to select; Shift to add; double-click for a whole loop")); + skbtn("design_dimension", DesignSketchTool::Mode::Dimension, _L("Dimension"), + _L("Click 2 points or a line / circle / arc to place a dimension")); + // (separator dropped: the group it divided is now reached from the offer) + dropdown("design_line", _L("Line / polyline"), { + {"design_line", DesignSketchTool::Mode::Line, _L("Line"), _L("Click start, then end — then set the exact length")}, + {"design_polyline", DesignSketchTool::Mode::Polyline, _L("Polyline"), _L("Click points; click first / right-click to close the loop")} }); + dropdown("design_rect", _L("Rectangle"), { + {"design_rect", DesignSketchTool::Mode::CornerRect, _L("Corner rectangle"), _L("Click two opposite corners")}, + {"design_crect", DesignSketchTool::Mode::CenterRect, _L("Center rectangle"), _L("Click center, then a corner")}, + {"design_rect_oblique", DesignSketchTool::Mode::ObliqueRect, _L("Oblique rectangle"), _L("Click two corners of one edge, then a point for the width")}, + {"design_rect_rounded", DesignSketchTool::Mode::RoundedRect, _L("Rounded rectangle"), _L("Click two opposite corners, then a point for the corner radius")} }); + dropdown("design_circle", _L("Circle"), { + {"design_circle", DesignSketchTool::Mode::CenterCircle, _L("Center circle"), _L("Click center, then radius")}, + {"design_circle2pt", DesignSketchTool::Mode::TwoPointCircle, _L("2-point circle"), _L("Click two ends of the diameter")}, + {"design_circle3pt", DesignSketchTool::Mode::ThreePointCircle, _L("3-point circle"), _L("Click three points on the circle")} }); + dropdown("design_arc3pt", _L("Arc"), { + {"design_arc3pt", DesignSketchTool::Mode::ThreePointArc, _L("3-point arc"), _L("Click start, end, then a point on the arc")}, + {"design_tangentarc", DesignSketchTool::Mode::TangentArc, _L("Tangent arc"), _L("Click start (on the last entity) then end")}, + {"design_arc_center", DesignSketchTool::Mode::CenterArc, _L("Center-point arc"), _L("Click center, then start, then a point for the end angle")} }); + dropdown("design_slot", _L("Slot"), { + {"design_slot", DesignSketchTool::Mode::Slot, _L("Slot"), _L("Click two centerline ends, then a point for the end radius")}, + {"design_slot_arc", DesignSketchTool::Mode::ArcSlot, _L("Arc slot"), _L("Click center, start, end, then a point for the width")} }); + dropdown("design_ellipse", _L("Ellipse"), { + {"design_ellipse", DesignSketchTool::Mode::Ellipse, _L("Ellipse"), _L("Click center, a major-axis end, then a point for the minor axis")}, + {"design_ellipse_arc", DesignSketchTool::Mode::EllipseArc, _L("Elliptical arc"), _L("Click center, major-axis end, minor point, then arc start and end")} }); + skbtn("design_bspline", DesignSketchTool::Mode::BSpline, _L("Spline"), + _L("Click control points; double-click or right-click to finish")); + skbtn("design_point", DesignSketchTool::Mode::Point, _L("Point"), + _L("Click to place a point")); + // (separator dropped: the group it divided is now reached from the offer) + // Insert tools — Text / SVG produce a 2D profile (a sketch), so they belong with + // the sketch tools, not in the generic Features strip. Each places the art + // in-canvas, then commits via the Insert card's Confirm. + { + // In Sketch MODE the art must land in the sketch — but begin_sketch() does not run + // until the first tool is armed, so pressing Sketch and then Text would find no + // session and commit a separate feature. Arm Select first: it starts the session on + // the picked plane without drawing anything, so Text behaves the same whether or not + // you had already drawn a line. (MODE vs SESSION — the distinction that has bitten + // this panel before.) + auto ensure_sketch = [this, select_tool] { + if (m_ui_mode == UiMode::Sketch && m_viewport && !m_viewport->is_sketching()) + select_tool(DesignSketchTool::Mode::Select, + _L("Select — click to select; Shift to add")); + }; + auto* b_text = icon_btn("design_text", _L("Text — emboss text as a profile")); + b_text->Bind(wxEVT_BUTTON, [this, ensure_sketch](wxCommandEvent&) { + ensure_sketch(); on_add_text(); }); + sadd(b_text); + auto* b_svg = icon_btn("design_svg", _L("SVG — import an outline as a profile")); + b_svg->Bind(wxEVT_BUTTON, [this, ensure_sketch](wxCommandEvent&) { + ensure_sketch(); on_import_svg(); }); + sadd(b_svg); + // …and reachable from the offer's Create row. These were on the atlas's chrome_only + // list under "document-level actions act on the DOCUMENT, not on a selection" — which + // is not what they do: both call add_imported_sketch(), which drops the art ON a + // picked solid face (SketchPlane::from_face, centred on it) exactly as Sketch does. + // Selection-consuming profile creators, so they belong with the other Create verbs. + m_verb_actions["btn:text"] = [this, ensure_sketch] { ensure_sketch(); on_add_text(); }; + m_verb_actions["btn:svg"] = [this, ensure_sketch] { ensure_sketch(); on_import_svg(); }; + } + // (separator dropped: the group it divided is now reached from the offer) + // In-canvas edit-op tools (drag gizmo / click label), grouped by family. + dropdown("design_filletedge", _L("Fillet / chamfer"), { + {"design_filletedge", DesignSketchTool::Mode::Fillet, _L("Fillet"), _L("Pick two lines, then drag the arrow or click the radius to set it")}, + {"design_chamfer", DesignSketchTool::Mode::Chamfer, _L("Chamfer"), _L("Pick two lines, then drag the arrow or click the distance to set it")} }); + skbtn("design_offset", DesignSketchTool::Mode::Offset, _L("Offset"), + _L("Pick an entity, then drag the arrow or click the distance; click empty to apply")); + skbtn("design_mirror", DesignSketchTool::Mode::Mirror, _L("Mirror"), + _L("Pick a mirror-axis line, then the entities to mirror; click empty to apply")); + // Trim / Extend scissors — standalone sketch tools (NOT inside Constrain): click a + // segment to cut it back to / out to its nearest intersection. One cut per click. + skbtn("design_trim", DesignSketchTool::Mode::Trim, _L("Trim"), + _L("Click a segment to trim it back to its nearest intersection; right-click exits")); + skbtn("design_extend", DesignSketchTool::Mode::Extend, _L("Extend"), + _L("Click a line or arc to extend it to the nearest entity; right-click exits")); + // Constrain — grouped with the edit tools so it's easy to find (nde #13: it was buried + // far-right next to Construction and went unnoticed). Commits the live sketch in place + // and drops into Constrain mode (geometric/dimensional palette). + auto* b_constrain_sk = icon_btn("design_constrain", + _L("Constrain — add geometric/dimensional relations")); + b_constrain_sk->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { enter_constrain_inline(); }); + sadd(b_constrain_sk); + dropdown("design_move", _L("Move / rotate / scale"), { + {"design_move", DesignSketchTool::Mode::Move, _L("Move (translate)"), _L("Pick entities, then drag the handle or click the distance; click empty to apply")}, + {"design_rotate", DesignSketchTool::Mode::Rotate, _L("Rotate (about centroid)"), _L("Pick entities, then drag around the pivot or click the angle; click empty to apply")}, + {"design_scale", DesignSketchTool::Mode::Scale, _L("Scale (about centroid)"), _L("Pick entities, then drag the handle or click the factor; click empty to apply")} }); + dropdown("design_array", _L("Linear / polar array"), { + {"design_array", DesignSketchTool::Mode::Array, _L("Linear array"), _L("Pick entities, drag the spacing handle, click the count; click empty to apply")}, + {"design_polararray", DesignSketchTool::Mode::PolarArray, _L("Polar array (about centroid)"), _L("Pick entities, drag the sweep handle, click the count; click empty to apply")} }); + + // Polygon's side count and fit are TOOL PARAMETERS, so they are chosen from the tool: + // the offer's Create > Polygon submenu. They used to sit inline in this row, then in a + // sidebar card; both put the choice somewhere you had to leave the geometry to reach, + // and the count cannot be recovered afterwards (a drawn polygon's inline editor offers + // Side and Angle, never the count). e1p. + auto arm_polygon = [this, select_tool] { + push_polygon_params(); + select_tool(DesignSketchTool::Mode::Polygon, + wxString::Format(_L("Click center then a vertex — %d sides, %s"), + m_poly_sides, + m_poly_circumscribed ? _L("circumscribed") : _L("inscribed"))); + }; + for (int n : {3, 4, 5, 6, 8, 12}) + m_verb_actions["btn:poly#" + std::to_string(n)] = + [this, arm_polygon, n] { m_poly_sides = n; arm_polygon(); }; + for (int c : {0, 1}) + m_verb_actions["btn:polyfit#" + std::to_string(c)] = + [this, arm_polygon, c] { m_poly_circumscribed = (c == 1); arm_polygon(); }; + + // Same defect, one level up: a combo whose entries are different VERBS wearing a single + // name. "Dress-up" is Fillet or Chamfer; "Combine" is union, subtract or intersect; + // "Pattern" is linear or circular. The choice decides WHAT YOU ARE DOING, so it belongs + // where you chose the tool — not behind a card you must open to discover it existed. + // Each address opens the tool exactly as its shortcut does, then says which one. + // The members are read at INVOCATION, not capture: the cards are built after this row. + // e1p. + auto open_feature = [this](int key) { + auto it = m_keys_feature.find(key); + if (it != m_keys_feature.end() && it->second) it->second(); + }; + // SHIFT() is a constructor-local helper, so resolve the codes here rather than inside + // the stored lambdas, which outlive it. + const int k_dress = SHIFT('F'), k_bool = SHIFT('B'), k_pat = SHIFT('N'); + // Choose FIRST, then open: open_tool() titles the card from m_dressup_type, so setting + // it afterwards left the header reading "Fillet 1" over a chamfer. Nothing in the + // opener resets the combo, so this order is safe. + m_verb_actions["btn:dress#0"] = [this, open_feature] { + if (m_dressup_type) m_dressup_type->SetSelection(0); open_feature(k_dress); }; + m_verb_actions["btn:dress#1"] = [this, open_feature] { + if (m_dressup_type) m_dressup_type->SetSelection(1); open_feature(k_dress); }; + for (int op = 0; op < 3; ++op) + m_verb_actions["btn:bool#" + std::to_string(op)] = [this, open_feature, op] { + open_feature(k_bool); + if (m_bool_op) { m_bool_op->SetSelection(op); refresh_preview(); } }; + for (int t = 0; t < 2; ++t) + m_verb_actions["btn:pat#" + std::to_string(t)] = [this, open_feature, t] { + open_feature(k_pat); if (m_pattern_type) m_pattern_type->SetSelection(t); }; + + auto* b_poly = icon_btn("design_polygon", _L("Polygon")); + b_poly->Bind(wxEVT_BUTTON, [arm_polygon](wxCommandEvent&) { arm_polygon(); }); + sadd(b_poly); + // (separator dropped: the group it divided is now reached from the offer) + // Q's semantics, on the control that carries the word. With geometry selected the box + // CONVERTS it — that is what a user who has just selected a construction circle and + // reached for the box labelled "Construction" is asking for, and until now it was the + // only one of the three routes (Q, the offer's Reference row, this box) that could not + // do it: it armed the mode for the NEXT entity, silently, changing nothing about the + // shape on screen and flipping the draw mode behind the user's back. The tick is a MODE + // indicator, so after a conversion it goes back to what it was. + m_construction->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent&) { + if (!m_viewport || !m_viewport->is_sketching()) + return; + // ONLY IN SELECT MODE. Drawing auto-selects what was just drawn (draw-then-edit), so + // with a draw tool armed "there is a selection" does not mean the user picked + // anything — it means they finished a line. Converting there turns the box into a + // trap: arm construction, draw the axis, click the box to go back to real geometry, + // and instead of disarming the mode it converts the axis you just drew. The gesture + // ladder's mirror rung does exactly that and reported three construction entities + // where it wanted one. In Select mode the intent is unambiguous. + const int n = m_viewport->sketch_is_selecting() + ? m_viewport->toggle_sketch_construction_selection() : 0; + if (n > 0) { + m_construction->SetValue(!m_construction->GetValue()); // the mode did not move + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format( + _L("Converted %d entit%s between construction and real geometry"), + n, n == 1 ? "y" : "ies")); + m_status->Refresh(); + return; + } + m_viewport->set_sketch_construction(m_construction->GetValue()); }); + // STAYS on the bar. Construction is not a tool, it is a persistent MODE — the same kind + // of thing as the Bed checkbox — and the sketch bar is already shown only in Sketch mode, + // so it appears exactly while it can apply. Hiding it left Q and the offer's Construction + // row still toggling a checkbox nobody could see: you could not tell whether the next + // line would be construction geometry. A stateful toggle has to show its state. + sadd_bar(m_construction); + add_sep(m_tb_sketch); + auto* b_del = icon_btn("design_delete", _L("Delete selected")); + b_del->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + if (m_viewport) m_viewport->delete_selected_sketch_entities(); }); + sadd_bar(b_del); // keep-list: Delete selected stays on the bar + // Finish sketch = the unified ✓ Confirm in the action bar (tool_confirm). + } + + // --- Constrain group: geometric constraints + dimensions + edit ops + Done + // Fase 4.2 live path: these buttons are shown during a SKETCH too, not only in Constrain + // mode, so a constraint applies to the live selection without committing first. The caption + // travels with them; the session's Confirm/Cancel stay in m_tb_action (mode-appropriate). + m_tb_relations = new wxBoxSizer(wxHORIZONTAL); + auto cadd = [this](wxWindow* w) { m_tb_relations->Add(w, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 2); }; + m_tb_relations->Add(caption(_L("CONSTRAIN")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 8); + { + auto cbtn = [&](const char* icon, const wxString& tip, SketchConstraintType type) { + auto* b = icon_btn(icon, tip); + b->Bind(wxEVT_BUTTON, [this, type](wxCommandEvent&) { apply_constraint(type); }); + cadd(b); + }; + cbtn("design_c_horizontal", _L("Horizontal"), SketchConstraintType::Horizontal); + cbtn("design_c_vertical", _L("Vertical"), SketchConstraintType::Vertical); + cbtn("design_c_parallel", _L("Parallel"), SketchConstraintType::Parallel); + cbtn("design_c_perpendicular", _L("Perpendicular"), SketchConstraintType::Perpendicular); + cbtn("design_c_coincident", _L("Coincident"), SketchConstraintType::Coincident); + cbtn("design_c_equal", _L("Equal length"), SketchConstraintType::EqualLength); + cbtn("design_c_equal_radius", _L("Equal radius"), SketchConstraintType::EqualRadius); + cbtn("design_c_collinear", _L("Collinear"), SketchConstraintType::Collinear); + cbtn("design_c_concentric", _L("Concentric"), SketchConstraintType::Concentric); + cbtn("design_c_tangent", _L("Tangent"), SketchConstraintType::Tangent); + cbtn("design_c_midpoint", _L("Midpoint"), SketchConstraintType::Midpoint); + cbtn("design_c_symmetric", _L("Symmetric"), SketchConstraintType::Symmetric); + cbtn("design_c_sym_v", _L("Symmetric about the vertical axis"), SketchConstraintType::SymmetricAboutY); + cbtn("design_c_sym_h", _L("Symmetric about the horizontal axis"), SketchConstraintType::SymmetricAboutX); + cbtn("design_c_angle", _L("Angle"), SketchConstraintType::Angle); + cbtn("design_c_radius", _L("Radius"), SketchConstraintType::Radius); + cbtn("design_c_diameter", _L("Diameter"), SketchConstraintType::Diameter); + cbtn("design_c_fix", _L("Fix point (anchor in place)"), SketchConstraintType::Fix); + cbtn("design_c_dist_x", _L("Horizontal distance"), SketchConstraintType::DistanceX); + cbtn("design_c_dist_y", _L("Vertical distance"), SketchConstraintType::DistanceY); + // Trim/Extend are now standalone SKETCH scissors (Mode::Trim/Extend) in the sketch + // toolbar, NOT Constrain buttons. The other edit ops (Mirror/Offset/Fillet/Chamfer/ + // Move/…) are first-class sketch tools too. Done constraining = the action-bar ✓. + } + + // Unified action bar: the ONE Confirm/Cancel surface for every tool and mode. Lives at + // the right end of the ribbon (the "tool dashboard"); shown only while a tool/mode is + // active (update_action_bar). Replaces the 13 per-card buttons + sketch Finish + Done. + m_tb_action = new wxBoxSizer(wxHORIZONTAL); + { + auto* ok = new wxButton(m_toolbar, wxID_ANY, _L("✓ Confirm")); + ok->SetForegroundColour(*wxWHITE); + ok->SetBackgroundColour(wxColour(0x00, 0x96, 0x88)); // Orca teal accent + ok->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { tool_confirm(); }); + m_confirm_btns.push_back(ok); // refresh_preview greys this on an invalid candidate + auto* no = new wxButton(m_toolbar, wxID_ANY, _L("✗ Cancel")); + no->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { tool_cancel(); }); + m_tb_action->Add(ok, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 6); + m_tb_action->Add(no, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10); + } + + // Persistent Undo/Redo group: always visible (not mode-gated like the tool groups), so + // history is reachable from Feature, Sketch and Constrain alike. These are momentary + // actions, so — unlike icon_btn — they are NOT registered in m_tool_btns and never take + // the teal active-tool highlight. They route to the SAME do_undo_redo as the keyboard + // Ctrl+Z / Ctrl+Shift+Z path, and are greyed by update_undo_redo_buttons(). + m_tb_history = new wxBoxSizer(wxHORIZONTAL); + { + auto hist_btn = [this, tb_bg, tb_hover](const char* icon, const wxString& tip) { + auto* b = new ScalableButton(m_toolbar, wxID_ANY, icon, "", wxSize(40, 40), + wxDefaultPosition, wxBU_EXACTFIT | wxBORDER_NONE, false, 34); + b->SetToolTip(tip); + b->SetBackgroundColour(tb_bg); + b->Bind(wxEVT_ENTER_WINDOW, [b, tb_hover](wxMouseEvent& e) { + if (b->IsEnabled()) { b->SetBackgroundColour(tb_hover); b->Refresh(); } e.Skip(); }); + b->Bind(wxEVT_LEAVE_WINDOW, [b, tb_bg](wxMouseEvent& e) { + b->SetBackgroundColour(tb_bg); b->Refresh(); e.Skip(); }); + return b; + }; + m_btn_undo = hist_btn("menu_undo", _L("Undo (Ctrl+Z)")); + m_btn_undo->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { do_undo_redo(false); }); + m_btn_redo = hist_btn("menu_redo", _L("Redo (Ctrl+Shift+Z)")); + m_btn_redo->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { do_undo_redo(true); }); + m_btn_undo->Enable(false); // nothing to undo/redo on a fresh document + m_btn_redo->Enable(false); + m_tb_history->Add(m_btn_undo, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); + m_tb_history->Add(m_btn_redo, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); + } + + // Document actions, left of Undo/Redo and always visible (not mode-gated like the tools). + // Same styling as the history pair: momentary actions, never the teal active-tool state. + m_tb_doc = new wxBoxSizer(wxHORIZONTAL); + const wxColour tb_glyph_col = StateColor::darkModeColorFor(wxColour(0x36, 0x36, 0x36)); + const wxColour tb_commit_col(0x00, 0x96, 0x88); // Orca Confirm accent + { + // Some Orca glyphs (toolbar_add_plate, toolbar_flatten) are drawn for a light toolbar and + // come out the same tone as this dark one — Commit was effectively invisible. Re-tint + // those: Commit in the teal accent it carries as the tab's primary action, the rest in + // the same grey the other toolbar glyphs resolve to. + auto doc_btn = [this, tb_bg, tb_hover, &tint](const char* icon, const wxString& tip, + const wxColour* glyph = nullptr) { + auto* b = new ScalableButton(m_toolbar, wxID_ANY, icon, "", wxSize(40, 40), + wxDefaultPosition, wxBU_EXACTFIT | wxBORDER_NONE, false, 34); + if (glyph != nullptr) + b->SetBitmap(tint(create_scaled_bitmap(icon, m_toolbar, 42), *glyph)); + b->SetToolTip(tip); + b->SetBackgroundColour(tb_bg); + b->Bind(wxEVT_ENTER_WINDOW, [b, tb_hover](wxMouseEvent& e) { + if (b->IsEnabled()) { b->SetBackgroundColour(tb_hover); b->Refresh(); } e.Skip(); }); + b->Bind(wxEVT_LEAVE_WINDOW, [b, tb_bg](wxMouseEvent& e) { + b->SetBackgroundColour(tb_bg); b->Refresh(); e.Skip(); }); + return b; + }; + auto add_doc = [this](ScalableButton* b) { + m_tb_doc->Add(b, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); }; + + auto* b_new = doc_btn("add", _L("New Design — clear the feature tree")); + b_new->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_new_design(); }); + add_doc(b_new); + add_doc(static_cast<ScalableButton*>(tb_slot["step"][0])); // 2. Import STEP + add_doc(static_cast<ScalableButton*>(tb_slot["mesh"][0])); // 3. Import mesh + auto* b_export = doc_btn("save", _L("Export STEP…")); + b_export->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_export_step(); }); + add_doc(b_export); + + // View option, not a document action: hide the printer bed to model without it. Lives in + // this row because it must stay reachable with no tool open — a card would come and go. + m_show_bed = new CheckBox(m_toolbar); + m_show_bed->SetValue(true); // bed visible by default, as the tab opens today + m_show_bed->SetToolTip(_L("Show the printer bed and its plate grid")); + // wxEVT_TOGGLEBUTTON, NOT wxEVT_CHECKBOX: Orca's CheckBox derives from + // wxBitmapToggleButton (Widgets/CheckBox.hpp), so a wxEVT_CHECKBOX handler never fires. + // Read the control rather than the event so the state cannot disagree with the glyph. + m_show_bed->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) { + if (m_viewport) m_viewport->set_show_bed(m_show_bed->GetValue()); + e.Skip(); + }); + auto* bed_lbl = new wxStaticText(m_toolbar, wxID_ANY, _L("Bed")); + bed_lbl->SetForegroundColour(dp_sec_text()); + m_tb_doc->Add(m_show_bed, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 6); + m_tb_doc->Add(bed_lbl, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 4); + + // These act on bodies / the view, so they ride in the feature group, in the slots + // the user assigned them (9, 11bis, 16). + auto* b_place = doc_btn("toolbar_flatten", _L("Place on Face (F) — lay the picked face on the bed"), + &tb_glyph_col); + b_place->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { place_on_face(); }); + tb_slot["place"].push_back(b_place); + + auto* b_section = doc_btn("split_parts", _L("Section View — hide part of the model to see inside. " + "PageUp/PageDown move the plane; Delete removes it.")); + b_section->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { toggle_section_view(); }); + tb_slot["section"].push_back(b_section); + + m_section_flip_btn = doc_btn("design_mirror", _L("Flip Section — show the opposite half")); + m_section_flip_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { flip_section_view(); }); + m_section_flip_btn->Enable(false); // only usable while a section view is active + tb_slot["flip"].push_back(m_section_flip_btn); + + // Commit is the tab's primary action and sits far right, next to Confirm/Cancel. + m_tb_commit = new wxBoxSizer(wxHORIZONTAL); + auto* b_commit = doc_btn("toolbar_add_plate", _L("Commit to Plate — send the solid to Prepare"), + &tb_commit_col); + b_commit->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_commit(); }); + m_tb_commit->Add(b_commit, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); + } + + // Feature-group layout, in the requested left-to-right order. + { + auto put = [&](const char* id) { + auto it = tb_slot.find(id); + if (it == tb_slot.end()) return; + for (size_t i = 0; i < it->second.size(); ++i) + m_tb_feature->Add(it->second[i], 0, + i == 0 ? (wxALIGN_CENTER_VERTICAL | wxRIGHT) + : (wxALIGN_BOTTOM | wxBOTTOM | wxRIGHT), + i == 0 ? 4 : 5); + }; + put("sketch"); put("constrain"); // 7, 7bis + add_sep(m_tb_feature); + put("material"); put("place"); put("placement"); put("plane"); // 8, 9, 9bis, 10 + put("dressup"); put("section"); // 11, 11bis + put("hole"); put("boolean"); put("cut"); // 12, 13, 14 + put("surface"); put("color"); put("flip"); // 14bis, 15, 16 + put("pattern"); // kept, at the end + } + + auto* tbrow = new wxBoxSizer(wxHORIZONTAL); + tbrow->AddSpacer(8); + tbrow->Add(m_tb_doc, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + add_sep(tbrow); + tbrow->Add(m_tb_history, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + add_sep(tbrow); + tbrow->Add(m_tb_feature, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + tbrow->Add(m_tb_sketch, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + tbrow->Add(m_tb_relations, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + tbrow->AddStretchSpacer(); + tbrow->Add(m_tb_commit, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + tbrow->Add(m_tb_action, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, 5); + tbrow->AddSpacer(8); + m_toolbar->SetSizer(tbrow); + // Apply the body gates once now: an empty document is exactly the state the bug was reported + // in, and feed_bodies() has not run yet on a fresh tab. + update_body_gates(); + + // Onshape-style dialog-card header: feature icon + bold title. out receives + // the title control so open_tool() can retitle it per feature. + auto card_header = [](wxWindow* card, const char* icon, const wxString& title, wxStaticText*& out) -> wxSizer* { + auto* h = new wxBoxSizer(wxHORIZONTAL); + auto* ic = new wxStaticBitmap(card, wxID_ANY, create_scaled_bitmap(icon, card, 18)); + out = new wxStaticText(card, wxID_ANY, title); + out->SetFont(Label::Head_14); // Orca shared HarmonyOS card-title font + h->Add(ic, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 8); + h->Add(out, 0, wxALIGN_CENTER_VERTICAL); + return h; + }; + + // Every tool dialog lives inside ONE framed card (only one is ever visible), so the + // active dialog reads as a bordered panel like Prepare's sidebar boxes instead of + // free-floating rows. `cards` is the frame's sizer; open_tool() shows/hides within it. + m_cards = make_card(m_form); + auto* cards = new wxBoxSizer(wxVERTICAL); + m_cards->SetSizer(cards); + root->Add(m_cards, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 8); + + // --- Sketch dialog (shape definition only — no distance/mode) --- + auto* form = two_col_form(); + + m_shape = make_combo(m_cards); + m_shape->Append(_L("Rectangle")); + m_shape->Append(_L("Circle")); + m_shape->SetSelection(0); + form->Add(new wxStaticText(m_cards, wxID_ANY, _L("Shape")), 0, wxALIGN_CENTER_VERTICAL); + form->Add(m_shape, 0, wxEXPAND); + + // NO plane row. A sketch takes its plane from what is picked in the VIEWPORT — a planar face + // on a solid, or one of the reference-plane ghosts clicked in 3D — resolved by + // sketch_plane_from_selection(). A three-row XY/XZ/YZ combo could not express either of those + // targets, so it displayed a value that was at best redundant and at worst false. e1p. + + m_width = make_spin(m_cards, 20); + form->Add(new wxStaticText(m_cards, wxID_ANY, _L("Width / X")), 0, wxALIGN_CENTER_VERTICAL); + form->Add(spin_frame(m_width), 0, wxEXPAND); + + m_height = make_spin(m_cards, 20); + form->Add(new wxStaticText(m_cards, wxID_ANY, _L("Height / Y")), 0, wxALIGN_CENTER_VERTICAL); + form->Add(spin_frame(m_height), 0, wxEXPAND); + + m_radius = make_spin(m_cards, 10); + form->Add(new wxStaticText(m_cards, wxID_ANY, _L("Radius")), 0, wxALIGN_CENTER_VERTICAL); + form->Add(spin_frame(m_radius), 0, wxEXPAND); + + m_box_sketch = new wxBoxSizer(wxVERTICAL); + m_box_sketch->Add(card_header(m_cards, "design_sketch", _L("Sketch"), m_hdr_sketch), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_sketch->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_sketch->Add(form, 0, wxEXPAND | wxALL, 12); + cards->Add(m_box_sketch, 0, wxEXPAND); + + // --- Move / Rotate body --- + { + auto* mform = two_col_form(); + m_move_dx = make_spin(m_cards, 0.0, -100000.0, 100000.0); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Distance X")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_move_dx), 0, wxEXPAND); + m_move_dy = make_spin(m_cards, 0.0, -100000.0, 100000.0); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Distance Y")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_move_dy), 0, wxEXPAND); + m_move_dz = make_spin(m_cards, 0.0, -100000.0, 100000.0); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Distance Z")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_move_dz), 0, wxEXPAND); + + m_move_axis = make_combo(m_cards); + m_move_axis->Append(_L("X")); + m_move_axis->Append(_L("Y")); + m_move_axis->Append(_L("Z")); + m_move_axis->SetSelection(2); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Rotation axis")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_move_axis, 0, wxEXPAND); + + m_move_angle = make_spin(m_cards, 0.0, -360.0, 360.0); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle °")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_move_angle), 0, wxEXPAND); + + for (wxSpinCtrlDouble* sp : { m_move_dx, m_move_dy, m_move_dz, m_move_angle }) + sp->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent& e) { apply_move_card(); e.Skip(); }); + m_move_axis->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& e) { apply_move_card(); e.Skip(); }); + + m_box_move = new wxBoxSizer(wxVERTICAL); + m_box_move->Add(card_header(m_cards, "design_move", _L("Move / Rotate"), m_hdr_move), 0, + wxLEFT | wxRIGHT | wxTOP, 12); + m_box_move->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_move->Add(mform, 0, wxEXPAND | wxALL, 12); + cards->Add(m_box_move, 0, wxEXPAND); + } + + // --- Polygon (sketch tool options) --- + { + // NO polygon card. Sides and Circumscribed are tool parameters and are chosen from the + // tool — the offer's Create > Polygon submenu names the common side counts and the two + // fits, and arming from there sets both. A spin field on the left could not be reached + // without leaving the geometry, and the count is unrecoverable afterwards: the inline + // editor a drawn polygon opens offers Side and Angle, never the count. e1p. + } + + // --- Extrude dialog (consumes the selected sketch) --- + m_box_extrude = new wxBoxSizer(wxVERTICAL); + m_box_extrude->Add(card_header(m_cards, "design_extrude", _L("Extrude"), m_hdr_extrude), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_extrude->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_extrude_sketch_label = new wxStaticText(m_cards, wxID_ANY, _L("Sketch: —")); + m_box_extrude->Add(m_extrude_sketch_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* eform = two_col_form(); + + // A negative distance extrudes the other way — Onshape behaviour, where a negative + // depth IS the flip. The default 0.1 floor made that impossible to type, so the only + // way inward was the Flip box, and a user who typed "-5" silently got +0.1 instead. + // Flip and a negative distance double-negate, which is what setting both asked for. + m_distance = make_spin(m_cards, 10, -1000.0, 1000.0); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Extrude dist")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(spin_frame(m_distance), 0, wxEXPAND); + + // End condition (order MUST match ExtrudeEnd: Blind/Symmetric/TwoSided/ThroughAll/ + // UpToFace/UpToVertex). Up-to-face uses the currently click-selected solid face. + m_extrude_end = make_combo(m_cards); + for (const char* s : { "Blind", "Symmetric", "Two-sided", "Through all", + "Up to face", "Up to vertex" }) + m_extrude_end->Append(s); + m_extrude_end->SetSelection(0); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("End")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(m_extrude_end, 0, wxEXPAND); + + m_distance2 = make_spin(m_cards, 5, 0.0, 100000.0); // second-side depth (Two-sided) + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("2nd dist")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(spin_frame(m_distance2), 0, wxEXPAND); + + m_taper = make_spin(m_cards, 0.0, -89.0, 89.0); // draft angle (deg) + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Taper °")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(spin_frame(m_taper), 0, wxEXPAND); + + m_mode = make_combo(m_cards); + // Order is load-bearing: index maps to BooleanMode (New=0, Add=1, Cut=2, Intersect=3). + // Labels use Onshape wording so the choice reads as the user thinks of it. + m_mode->Append(_L("New body")); // separate coexisting solid + m_mode->Append(_L("Join")); // fuse into the target body (was "Add") + m_mode->Append(_L("Cut")); // subtract from the target body + m_mode->Append(_L("Intersect")); // keep only the overlap + m_mode->SetSelection(0); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Result")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(m_mode, 0, wxEXPAND); + + m_flip = new CheckBox(m_cards); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip direction")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(m_flip, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + + m_box_extrude->Add(eform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_extrude, 0, wxEXPAND); + + // --- Dress-up (Fillet / Chamfer) --- + auto* dform = two_col_form(); + + m_dressup_type = make_combo(m_cards); + m_dressup_type->Append(_L("Fillet")); + m_dressup_type->Append(_L("Chamfer")); + m_dressup_type->SetSelection(0); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Type")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(m_dressup_type, 0, wxEXPAND); + + // The card can dress ONE picked edge or a whole face-group, and which one it will do is + // decided by a viewport pick the card previously said nothing about — so a user who had not + // picked an edge saw only the group combo and concluded per-edge rounding did not exist, + // while a user who HAD picked one saw the combo still reading "All" and was told the opposite + // of what Confirm would do. This row states the actual target, as Shell and Draft already do. + m_dressup_edge_label = new wxStaticText(m_cards, wxID_ANY, _L("(no edge picked — group below)")); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Target")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(m_dressup_edge_label, 0, wxALIGN_CENTER_VERTICAL); + + m_face_group = make_combo(m_cards); + m_face_group->Append(_L("Top")); // index 0 -> FaceGroup::Top + m_face_group->Append(_L("Bottom")); // 1 -> Bottom + m_face_group->Append(_L("Lateral")); // 2 -> Lateral + m_face_group->Append(_L("All")); // 3 -> All + m_face_group->SetSelection(3); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Edges")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(m_face_group, 0, wxEXPAND); + + m_dressup_size = make_spin(m_cards, 2.0); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Size (r/dist)")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(spin_frame(m_dressup_size), 0, wxEXPAND); + + m_box_dressup = new wxBoxSizer(wxVERTICAL); + m_box_dressup->Add(card_header(m_cards, "design_dressup", _L("Fillet / Chamfer"), m_hdr_dressup), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_dressup->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_dressup->Add(dform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + cards->Add(m_box_dressup, 0, wxEXPAND); + + // --- Hole (positioned circular cut) --- + auto* hform = two_col_form(); + + m_hole_plane = make_combo(m_cards); + m_hole_plane->Append(_L("XY")); + m_hole_plane->Append(_L("XZ")); + m_hole_plane->Append(_L("YZ")); + m_hole_plane->SetSelection(0); + // Picking a plane here is an explicit choice: drop any on-face hijack (a stale face pick + // could keep m_hole_on_face true, so the dropdown was ignored and the hole drilled on the + // face's plane instead of the chosen XY/XZ/YZ). + m_hole_plane->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& e) { + m_hole_on_face = false; + m_hole_has_bounds = false; + set_hole_target_label(-1); + update_hole_gizmo(); + refresh_preview(); + e.Skip(); + }); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Hole plane")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(m_hole_plane, 0, wxEXPAND); + + m_hole_diameter = make_spin(m_cards, 6.0); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Diameter")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_hole_diameter), 0, wxEXPAND); + + m_hole_depth = make_spin(m_cards, 10.0); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Depth (blind)")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_hole_depth), 0, wxEXPAND); + + m_hole_x = make_spin(m_cards, 0.0, -1000.0, 1000.0); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pos X")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_hole_x), 0, wxEXPAND); + + m_hole_y = make_spin(m_cards, 0.0, -1000.0, 1000.0); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pos Y")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_hole_y), 0, wxEXPAND); + + m_hole_through = new CheckBox(m_cards); + m_hole_through->SetValue(true); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Through")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(m_hole_through, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + + m_hole_target_label = new wxStaticText(m_cards, wxID_ANY, _L("(none — uses Hole plane)")); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("On face")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(m_hole_target_label, 0, wxALIGN_CENTER_VERTICAL); + + m_box_hole = new wxBoxSizer(wxVERTICAL); + m_box_hole->Add(card_header(m_cards, "design_hole", _L("Hole"), m_hdr_hole), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_hole->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_hole->Add(hform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + cards->Add(m_box_hole, 0, wxEXPAND); + + // --- Thread (helical) --- + auto* tform = two_col_form(); + + m_thread_plane = make_combo(m_cards); + m_thread_plane->Append(_L("XY")); + m_thread_plane->Append(_L("XZ")); + m_thread_plane->Append(_L("YZ")); + m_thread_plane->SetSelection(0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thread plane")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thread_plane, 0, wxEXPAND); + + // Standard designation picker — fills pitch/depth (and nominal radius) from the + // ISO metric / Unified imperial tables. "Custom" leaves the manual spins alone. + m_thread_std = make_combo(m_cards); + m_thread_std->Append(_L("Custom")); + for (const ThreadSpec& s : thread_standards()) + m_thread_std->Append(s.name); + m_thread_std->SetSelection(0); + m_thread_std->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { apply_thread_standard(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Standard")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thread_std, 0, wxEXPAND); + + // Threads are specified by DIAMETER (M6 = Ø6); the value is derived from the picked cylindrical + // surface / circular edge, so it's a readout users rarely type. Stored field holds the diameter. + m_thread_radius = make_spin(m_cards, 10.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Diameter")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_radius), 0, wxEXPAND); + + m_thread_pitch = make_spin(m_cards, 2.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pitch")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_pitch), 0, wxEXPAND); + + m_thread_height = make_spin(m_cards, 10.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Length")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_height), 0, wxEXPAND); + + m_thread_depth = make_spin(m_cards, 1.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thread depth")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_depth), 0, wxEXPAND); + + m_thread_x = make_spin(m_cards, 0.0, -1000.0, 1000.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pos X")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_x), 0, wxEXPAND); + + m_thread_y = make_spin(m_cards, 0.0, -1000.0, 1000.0); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pos Y")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thread_y), 0, wxEXPAND); + + m_thread_internal = new CheckBox(m_cards); + m_thread_internal->SetValue(false); + // External rod uses the major radius; an internal tapped bore uses the minor + // (tap-drill) radius — re-derive the nominal radius when the role flips. + m_thread_internal->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) { + apply_thread_standard(); + e.Skip(); + }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Internal")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thread_internal, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + + m_thread_target_label = new wxStaticText(m_cards, wxID_ANY, _L("(none — uses Thread plane)")); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("On face")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thread_target_label, 0, wxALIGN_CENTER_VERTICAL); + + m_box_thread = new wxBoxSizer(wxVERTICAL); + m_box_thread->Add(card_header(m_cards, "design_thread", _L("Thread"), m_hdr_thread), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_thread->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_thread->Add(tform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + cards->Add(m_box_thread, 0, wxEXPAND); + + // --- Revolve (sweep a sketch profile about an in-plane axis) --- + m_box_revolve = new wxBoxSizer(wxVERTICAL); + m_box_revolve->Add(card_header(m_cards, "design_revolve", _L("Revolve"), m_hdr_revolve), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_revolve->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_revolve_sketch_label = new wxStaticText(m_cards, wxID_ANY, _L("Sketch: —")); + m_box_revolve->Add(m_revolve_sketch_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* rform = two_col_form(); + + m_revolve_angle = make_spin(m_cards, 360.0, 1.0, 360.0); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle °")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(spin_frame(m_revolve_angle), 0, wxEXPAND); + + m_revolve_axis = make_combo(m_cards); + m_revolve_axis->Append(_L("Plane X")); + m_revolve_axis->Append(_L("Plane Y")); + m_revolve_axis->SetSelection(0); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Axis")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_revolve_axis, 0, wxEXPAND); + + m_revolve_mode = make_combo(m_cards); + m_revolve_mode->Append(_L("New")); + m_revolve_mode->Append(_L("Add")); + m_revolve_mode->Append(_L("Cut")); + m_revolve_mode->Append(_L("Intersect")); + m_revolve_mode->SetSelection(0); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Mode")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_revolve_mode, 0, wxEXPAND); + + m_revolve_flip = new CheckBox(m_cards); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip direction")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_revolve_flip, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + + m_box_revolve->Add(rform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_revolve, 0, wxEXPAND); + + // --- Sweep (sweep a profile sketch along a path sketch) --- + m_box_sweep = new wxBoxSizer(wxVERTICAL); + m_box_sweep->Add(card_header(m_cards, "design_sweep", _L("Sweep"), m_hdr_sweep), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_sweep->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_sweep_profile_label = new wxStaticText(m_cards, wxID_ANY, _L("Profile: —")); + m_box_sweep->Add(m_sweep_profile_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* sform = two_col_form(); + + m_sweep_path = make_combo(m_cards); + sform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Path")), 0, wxALIGN_CENTER_VERTICAL); + sform->Add(m_sweep_path, 0, wxEXPAND); + + m_sweep_mode = make_combo(m_cards); + m_sweep_mode->Append(_L("New")); + m_sweep_mode->Append(_L("Add")); + m_sweep_mode->Append(_L("Cut")); + m_sweep_mode->Append(_L("Intersect")); + m_sweep_mode->SetSelection(0); + sform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Mode")), 0, wxALIGN_CENTER_VERTICAL); + sform->Add(m_sweep_mode, 0, wxEXPAND); + + m_box_sweep->Add(sform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_sweep, 0, wxEXPAND); + + // --- Pattern (replicate the target body: linear or circular) --- + m_box_pattern = new wxBoxSizer(wxVERTICAL); + m_box_pattern->Add(card_header(m_cards, "design_pattern", _L("Pattern"), m_hdr_pattern), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_pattern->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* pform = two_col_form(); + + m_pattern_type = make_combo(m_cards); + m_pattern_type->Append(_L("Linear")); + m_pattern_type->Append(_L("Circular")); + m_pattern_type->SetSelection(0); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Type")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(m_pattern_type, 0, wxEXPAND); + + m_pattern_count = make_spin(m_cards, 3, 1, 999); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Count")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(spin_frame(m_pattern_count), 0, wxEXPAND); + + m_pattern_spacing = make_spin(m_cards, 20.0, 0.01, 100000.0); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Spacing")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(spin_frame(m_pattern_spacing), 0, wxEXPAND); + + m_pattern_dir = make_combo(m_cards); + m_pattern_dir->Append(_L("Plane X")); + m_pattern_dir->Append(_L("Plane Y")); + m_pattern_dir->SetSelection(0); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Direction")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(m_pattern_dir, 0, wxEXPAND); + + m_pattern_angle = make_spin(m_cards, 360.0, 1.0, 360.0); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Total angle°")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(spin_frame(m_pattern_angle), 0, wxEXPAND); + + m_box_pattern->Add(pform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_pattern, 0, wxEXPAND); + + // --- Boolean (combine two existing bodies: union / subtract / intersect) --- + m_box_boolean = new wxBoxSizer(wxVERTICAL); + m_box_boolean->Add(card_header(m_cards, "design_boolean", _L("Boolean"), m_hdr_boolean), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_boolean->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* bform = two_col_form(); + + m_bool_op = make_combo(m_cards); + m_bool_op->Append(_L("Union (join)")); + m_bool_op->Append(_L("Subtract (cut)")); + m_bool_op->Append(_L("Intersect")); + m_bool_op->SetSelection(0); + m_bool_op->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + bform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Operation")), 0, wxALIGN_CENTER_VERTICAL); + bform->Add(m_bool_op, 0, wxEXPAND); + + m_bool_target = make_combo(m_cards); + m_bool_target->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + bform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Target (kept)")), 0, wxALIGN_CENTER_VERTICAL); + bform->Add(m_bool_target, 0, wxEXPAND); + + m_bool_tool = make_combo(m_cards); + m_bool_tool->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + bform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Tool")), 0, wxALIGN_CENTER_VERTICAL); + bform->Add(m_bool_tool, 0, wxEXPAND); + + // Fuzzy tolerance (mm): the main use is a tool body cutting a destination — a small + // tolerance lets near-coincident mating faces resolve into a clean cut instead of a + // failed boolean or sliver faces. 0 = exact. + m_bool_tol = make_spin(m_cards, 0.0, 0.0, 100.0); + m_bool_tol->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + bform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Tolerance")), 0, wxALIGN_CENTER_VERTICAL); + bform->Add(spin_frame(m_bool_tol), 0, wxEXPAND); + + m_box_boolean->Add(bform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + m_bool_keep = new CheckBox(m_cards); + m_bool_keep->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + auto* keeprow = new wxBoxSizer(wxHORIZONTAL); + keeprow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Keep tool body")), 0, wxALIGN_CENTER_VERTICAL); + keeprow->AddStretchSpacer(); + keeprow->Add(m_bool_keep, 0, wxALIGN_CENTER_VERTICAL); + m_box_boolean->Add(keeprow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_boolean, 0, wxEXPAND); + + // --- Cut (split a body with a plane): parameters only; ✓/✗ live on the ribbon --- + m_box_cut = new wxBoxSizer(wxVERTICAL); + m_box_cut->Add(card_header(m_cards, "design_cut", _L("Cut"), m_hdr_cut), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_cut->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* cform = two_col_form(); + + m_cut_target = make_combo(m_cards); + m_cut_target->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + cform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxALIGN_CENTER_VERTICAL); + cform->Add(m_cut_target, 0, wxEXPAND); + + m_cut_plane = make_combo(m_cards); + m_cut_plane->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + cform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Plane")), 0, wxALIGN_CENTER_VERTICAL); + cform->Add(m_cut_plane, 0, wxEXPAND); + + m_cut_offset = make_spin(m_cards, 0.0, -10000.0, 10000.0); + m_cut_offset->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + cform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Offset")), 0, wxALIGN_CENTER_VERTICAL); + cform->Add(spin_frame(m_cut_offset), 0, wxEXPAND); + + m_box_cut->Add(cform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + // The cut always leaves BOTH pieces as separate bodies (a non-destructive split); + // delete one from the tree afterwards if you only want a half. + } + cards->Add(m_box_cut, 0, wxEXPAND); + + // --- Insert (Text / SVG placement): Confirm/Cancel for the in-canvas art transform --- + m_box_insert = new wxBoxSizer(wxVERTICAL); + m_box_insert->Add(card_header(m_cards, "design_text", _L("Insert"), m_hdr_insert), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_insert->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_insert->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Drag a corner to size, the centre to move.\nConfirm or Cancel in the toolbar above.")), + 0, wxLEFT | wxRIGHT | wxBOTTOM, 12); + cards->Add(m_box_insert, 0, wxEXPAND); + + // --- Plane (datum/reference plane: offset + tilt from a base plane; no solid) --- + m_box_plane = new wxBoxSizer(wxVERTICAL); + m_box_plane->Add(card_header(m_cards, "design_plane", _L("Plane"), m_hdr_plane), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_plane->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + // Plane type chooses which inputs matter (Onshape/Fusion parity): + // Offset = Base (or Face A) + Offset (+ Tilt about a base axis) + // Angle = Edge A (line) + Base/Face A reference + Angle° + // Midplane = Face A + Face B (halfway between) + // Tangent = Face A (a cylinder) + Angle° around its axis + // Two edges = Edge A + Edge B + // Coincident = Face A (lie on that face) + m_plane_type = make_combo(m_cards); + for (const wxString& t : { _L("Offset"), _L("Angle"), _L("Midplane"), + _L("Tangent"), _L("Two edges"), _L("Coincident") }) + m_plane_type->Append(t); + m_plane_type->SetSelection(0); + m_box_plane->Add(new wxStaticText(m_cards, wxID_ANY, _L("Plane type")), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_plane->Add(m_plane_type, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + auto* plform = two_col_form(); + + m_plane_base = make_combo(m_cards); + populate_plane_choices(m_plane_base); // XY/XZ/YZ + any existing datum planes + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Base")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(m_plane_base, 0, wxEXPAND); + + m_plane_offset = make_spin(m_cards, 20.0, -100000.0, 100000.0); + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Offset")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(spin_frame(m_plane_offset), 0, wxEXPAND); + + m_plane_tilt = make_spin(m_cards, 0.0, -180.0, 180.0); + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle°")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(spin_frame(m_plane_tilt), 0, wxEXPAND); + + m_plane_tilt_axis = make_combo(m_cards); + m_plane_tilt_axis->Append(_L("Base X")); + m_plane_tilt_axis->Append(_L("Base Y")); + m_plane_tilt_axis->SetSelection(0); + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Tilt axis")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(m_plane_tilt_axis, 0, wxEXPAND); + + // Contextual reference picks: arm a target, then click a solid face/edge in the canvas. + auto pick_row = [&](const wxString& label, wxButton*& btn, wxStaticText*& lbl, PlanePick target) { + btn = new wxButton(m_cards, wxID_ANY, label); + lbl = new wxStaticText(m_cards, wxID_ANY, _L("(none)")); + btn->Bind(wxEVT_BUTTON, [this, target](wxCommandEvent&) { arm_plane_pick(target); }); + plform->Add(btn); + plform->Add(lbl, 0, wxALIGN_CENTER_VERTICAL); + }; + pick_row(_L("Pick Face A"), m_plane_pick_faceA, m_plane_faceA_lbl, PlanePick::FaceA); + pick_row(_L("Pick Face B"), m_plane_pick_faceB, m_plane_faceB_lbl, PlanePick::FaceB); + pick_row(_L("Pick Edge A"), m_plane_pick_edgeA, m_plane_edgeA_lbl, PlanePick::EdgeA); + pick_row(_L("Pick Edge B"), m_plane_pick_edgeB, m_plane_edgeB_lbl, PlanePick::EdgeB); + + m_plane_usize = make_spin(m_cards, 60.0, 1.0, 100000.0); + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Size U")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(spin_frame(m_plane_usize), 0, wxEXPAND); + m_plane_vsize = make_spin(m_cards, 60.0, 1.0, 100000.0); + plform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Size V")), 0, wxALIGN_CENTER_VERTICAL); + plform->Add(spin_frame(m_plane_vsize), 0, wxEXPAND); + + m_box_plane->Add(plform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_plane, 0, wxEXPAND); + + // --- Loft (skin a solid through 2+ ordered profile sketches) --- + m_box_loft = new wxBoxSizer(wxVERTICAL); + m_box_loft->Add(card_header(m_cards, "design_loft", _L("Loft"), m_hdr_loft), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_loft->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_loft->Add(new wxStaticText(m_cards, wxID_ANY, _L("Profiles (check 2+, in order):")), + 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_loft_list = new wxCheckListBox(m_cards, wxID_ANY, wxDefaultPosition, wxSize(-1, 120)); + m_loft_list->Bind(wxEVT_CHECKLISTBOX, [this](wxCommandEvent&) { refresh_preview(); }); + m_box_loft->Add(m_loft_list, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* lform = two_col_form(); + + m_loft_mode = make_combo(m_cards); + m_loft_mode->Append(_L("New")); + m_loft_mode->Append(_L("Add")); + m_loft_mode->Append(_L("Cut")); + m_loft_mode->Append(_L("Intersect")); + m_loft_mode->SetSelection(0); + lform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Mode")), 0, wxALIGN_CENTER_VERTICAL); + lform->Add(m_loft_mode, 0, wxEXPAND); + + m_box_loft->Add(lform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + m_loft_ruled = new CheckBox(m_cards); + { + auto* lrow = new wxBoxSizer(wxHORIZONTAL); + lrow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Ruled (straight) sections")), 0, wxALIGN_CENTER_VERTICAL); + lrow->AddStretchSpacer(); + lrow->Add(m_loft_ruled, 0, wxALIGN_CENTER_VERTICAL); + m_box_loft->Add(lrow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_loft, 0, wxEXPAND); + + // --- Surface Extrude (sheet body from sketch) --- + m_box_surf_extrude = new wxBoxSizer(wxVERTICAL); + m_box_surf_extrude->Add(card_header(m_cards, "design_extrude", _L("Surface Extrude"), m_hdr_surf_extrude), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_extrude->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_surf_extrude_sketch_label = new wxStaticText(m_cards, wxID_ANY, _L("Sketch: —")); + m_box_surf_extrude->Add(m_surf_extrude_sketch_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* sform = two_col_form(); + m_surf_extrude_distance = make_spin(m_cards, 10); + sform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Distance")), 0, wxALIGN_CENTER_VERTICAL); + sform->Add(spin_frame(m_surf_extrude_distance), 0, wxEXPAND); + m_box_surf_extrude->Add(sform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_surf_extrude, 0, wxEXPAND); + + // --- Surface Revolve (sheet body from sketch about axis) --- + m_box_surf_revolve = new wxBoxSizer(wxVERTICAL); + m_box_surf_revolve->Add(card_header(m_cards, "design_revolve", _L("Surface Revolve"), m_hdr_surf_revolve), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_revolve->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_surf_revolve_sketch_label = new wxStaticText(m_cards, wxID_ANY, _L("Sketch: —")); + m_box_surf_revolve->Add(m_surf_revolve_sketch_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + { + auto* rform = two_col_form(); + m_surf_revolve_angle = make_spin(m_cards, 360.0, 1.0, 360.0); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle °")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(spin_frame(m_surf_revolve_angle), 0, wxEXPAND); + m_surf_revolve_axis = make_combo(m_cards); + m_surf_revolve_axis->Append(_L("Plane X")); + m_surf_revolve_axis->Append(_L("Plane Y")); + m_surf_revolve_axis->SetSelection(0); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Axis")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_surf_revolve_axis, 0, wxEXPAND); + m_surf_revolve_flip = new CheckBox(m_cards); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip direction")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_surf_revolve_flip, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + m_box_surf_revolve->Add(rform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_surf_revolve, 0, wxEXPAND); + + // --- Surface Loft (sheet skin through 2+ ordered profile sketches) --- + m_box_surf_loft = new wxBoxSizer(wxVERTICAL); + m_box_surf_loft->Add(card_header(m_cards, "design_loft", _L("Surface Loft"), m_hdr_surf_loft), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_loft->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_surf_loft->Add(new wxStaticText(m_cards, wxID_ANY, _L("Profiles (check 2+, in order):")), + 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_surf_loft_list = new wxCheckListBox(m_cards, wxID_ANY, wxDefaultPosition, wxSize(-1, 120)); + m_surf_loft_list->Bind(wxEVT_CHECKLISTBOX, [this](wxCommandEvent&) { refresh_preview(); }); + m_box_surf_loft->Add(m_surf_loft_list, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_surf_loft_ruled = new CheckBox(m_cards); + { + auto* lrow = new wxBoxSizer(wxHORIZONTAL); + lrow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Ruled (straight) sections")), 0, wxALIGN_CENTER_VERTICAL); + lrow->AddStretchSpacer(); + lrow->Add(m_surf_loft_ruled, 0, wxALIGN_CENTER_VERTICAL); + m_box_surf_loft->Add(lrow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_surf_loft, 0, wxEXPAND); + + // --- Surface Fill (one-face sheet from sketch boundary) --- + m_box_surf_fill = new wxBoxSizer(wxVERTICAL); + m_box_surf_fill->Add(card_header(m_cards, "design_surface", _L("Surface Fill"), m_hdr_surf_fill), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_fill->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_surf_fill_sketch_label = new wxStaticText(m_cards, wxID_ANY, _L("Sketch: —")); + m_box_surf_fill->Add(m_surf_fill_sketch_label, 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_fill->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Fills the sketch's closed boundary with a smooth face.")), + 0, wxLEFT | wxRIGHT, 12); + cards->Add(m_box_surf_fill, 0, wxEXPAND); + + // --- Surface Offset (offset a sheet body) --- + m_box_surf_offset = new wxBoxSizer(wxVERTICAL); + m_box_surf_offset->Add(card_header(m_cards, "design_offset", _L("Surface Offset"), m_hdr_surf_offset), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_offset->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* oform = two_col_form(); + m_surf_offset_body = make_combo(m_cards); + m_surf_offset_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + oform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Sheet body")), 0, wxALIGN_CENTER_VERTICAL); + oform->Add(m_surf_offset_body, 0, wxEXPAND); + m_surf_offset_distance = make_spin(m_cards, 1.0, -100000.0, 100000.0); + m_surf_offset_distance->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + oform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Offset")), 0, wxALIGN_CENTER_VERTICAL); + oform->Add(spin_frame(m_surf_offset_distance), 0, wxEXPAND); + m_box_surf_offset->Add(oform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_offset->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Offsets a sheet body's shell. Positive = outward, negative = inward.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_surf_offset, 0, wxEXPAND); + + // --- Thicken Surface (thicken a sheet body into a solid) --- + m_box_surf_thicken = new wxBoxSizer(wxVERTICAL); + m_box_surf_thicken->Add(card_header(m_cards, "design_thicken", _L("Thicken Surface"), m_hdr_surf_thicken), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_thicken->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* tform = two_col_form(); + m_surf_thicken_body = make_combo(m_cards); + m_surf_thicken_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Sheet body")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_surf_thicken_body, 0, wxEXPAND); + m_surf_thicken_thickness = make_spin(m_cards, 1.0, 0.01, 100000.0); + m_surf_thicken_thickness->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thickness")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_surf_thicken_thickness), 0, wxEXPAND); + m_surf_thicken_flip = new CheckBox(m_cards); + m_surf_thicken_flip->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip direction")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_surf_thicken_flip, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); + m_box_surf_thicken->Add(tform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_surf_thicken->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Thickens a sheet body into a solid. Flip reverses the direction.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_surf_thicken, 0, wxEXPAND); + + // --- Shell (hollow the current body to a wall thickness, removing one picked face) --- + auto* sform = two_col_form(); + m_shell_thickness = make_spin(m_cards, 2.0, 0.01, 100000.0); + sform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thickness")), 0, wxALIGN_CENTER_VERTICAL); + sform->Add(spin_frame(m_shell_thickness), 0, wxEXPAND); + m_shell_face_label = new wxStaticText(m_cards, wxID_ANY, _L("(all faces — closed hollow)")); + sform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Open face")), 0, wxALIGN_CENTER_VERTICAL); + sform->Add(m_shell_face_label, 0, wxALIGN_CENTER_VERTICAL); + + m_box_shell = new wxBoxSizer(wxVERTICAL); + m_box_shell->Add(card_header(m_cards, "design_shell", _L("Shell"), m_hdr_shell), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_shell->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_shell->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Pick a solid face to open it, then set the wall thickness.")), + 0, wxLEFT | wxRIGHT, 12); + m_box_shell->Add(sform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + cards->Add(m_box_shell, 0, wxEXPAND); + + // --- Draft (taper a single picked solid face about the body bottom) --- + auto* drform = two_col_form(); + m_draft_angle = make_spin(m_cards, 5.0, -89.0, 89.0); + drform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle (°)")), 0, wxALIGN_CENTER_VERTICAL); + drform->Add(spin_frame(m_draft_angle), 0, wxEXPAND); + m_draft_face_label = new wxStaticText(m_cards, wxID_ANY, _L("(pick a side face)")); + drform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Face")), 0, wxALIGN_CENTER_VERTICAL); + drform->Add(m_draft_face_label, 0, wxALIGN_CENTER_VERTICAL); + + m_box_draft = new wxBoxSizer(wxVERTICAL); + m_box_draft->Add(card_header(m_cards, "design_draft", _L("Draft"), m_hdr_draft), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_draft->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_box_draft->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Pick a side face, then set the draft angle. The face pivots about the body base.")), + 0, wxLEFT | wxRIGHT, 12); + m_box_draft->Add(drform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + cards->Add(m_box_draft, 0, wxEXPAND); + + // --- Transform (rigid move/rotate of an existing body) --- + m_box_transform = new wxBoxSizer(wxVERTICAL); + m_box_transform->Add(card_header(m_cards, "design_move", _L("Transform"), m_hdr_transform), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_transform->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* xform = two_col_form(); + m_xf_body = make_combo(m_cards); + m_xf_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(m_xf_body, 0, wxEXPAND); + m_xf_dx = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_dx->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Translate X")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_dx), 0, wxEXPAND); + m_xf_dy = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_dy->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Translate Y")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_dy), 0, wxEXPAND); + m_xf_dz = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_dz->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Translate Z")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_dz), 0, wxEXPAND); + m_xf_axis = make_combo(m_cards); + m_xf_axis->Append(_L("X")); + m_xf_axis->Append(_L("Y")); + m_xf_axis->Append(_L("Z")); + m_xf_axis->SetSelection(2); // default Z + m_xf_axis->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Rotate axis")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(m_xf_axis, 0, wxEXPAND); + m_xf_angle = make_spin(m_cards, 0.0, -360.0, 360.0); + m_xf_angle->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Angle (°)")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_angle), 0, wxEXPAND); + m_xf_pivot_x = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_pivot_x->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pivot X")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_pivot_x), 0, wxEXPAND); + m_xf_pivot_y = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_pivot_y->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pivot Y")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_pivot_y), 0, wxEXPAND); + m_xf_pivot_z = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_xf_pivot_z->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + xform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pivot Z")), 0, wxALIGN_CENTER_VERTICAL); + xform->Add(spin_frame(m_xf_pivot_z), 0, wxEXPAND); + m_box_transform->Add(xform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_xf_copy = new CheckBox(m_cards); + m_xf_copy->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + auto* cpro = new wxBoxSizer(wxHORIZONTAL); + cpro->Add(new wxStaticText(m_cards, wxID_ANY, _L("Keep original (make a copy)")), 0, wxALIGN_CENTER_VERTICAL); + cpro->AddStretchSpacer(); + cpro->Add(m_xf_copy, 0, wxALIGN_CENTER_VERTICAL); + m_box_transform->Add(cpro, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_transform->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_transform, 0, wxEXPAND); + + // --- Mirror (reflect a body about a plane) --- + m_box_mirror = new wxBoxSizer(wxVERTICAL); + m_box_mirror->Add(card_header(m_cards, "design_mirror", _L("Mirror"), m_hdr_mirror), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_mirror->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* mform = two_col_form(); + m_mirror_body = make_combo(m_cards); + m_mirror_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_mirror_body, 0, wxEXPAND); + m_mirror_plane = make_combo(m_cards); + m_mirror_plane->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Mirror plane")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_mirror_plane, 0, wxEXPAND); + m_box_mirror->Add(mform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_mirror_keep = new CheckBox(m_cards); + m_mirror_keep->SetValue(true); + m_mirror_keep->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + auto* mkrow = new wxBoxSizer(wxHORIZONTAL); + mkrow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Keep original")), 0, wxALIGN_CENTER_VERTICAL); + mkrow->AddStretchSpacer(); + mkrow->Add(m_mirror_keep, 0, wxALIGN_CENTER_VERTICAL); + m_box_mirror->Add(mkrow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_mirror->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_mirror, 0, wxEXPAND); + + // --- Thicken (offset one solid face into a thin plate) --- + m_box_thicken = new wxBoxSizer(wxVERTICAL); + m_box_thicken->Add(card_header(m_cards, "design_thicken", _L("Thicken"), m_hdr_thicken), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_thicken->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* tform = two_col_form(); + m_thicken_body = make_combo(m_cards); + m_thicken_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thicken_body, 0, wxEXPAND); + m_thicken_face_label = new wxStaticText(m_cards, wxID_ANY, _L("(pick a solid face)")); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Face")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(m_thicken_face_label, 0, wxALIGN_CENTER_VERTICAL); + m_thicken_thickness = make_spin(m_cards, 2.0, 0.01, 100000.0); + m_thicken_thickness->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + tform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thickness")), 0, wxALIGN_CENTER_VERTICAL); + tform->Add(spin_frame(m_thicken_thickness), 0, wxEXPAND); + m_box_thicken->Add(tform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_thicken_flip = new CheckBox(m_cards); + m_thicken_flip->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + auto* trow = new wxBoxSizer(wxHORIZONTAL); + trow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip direction")), 0, wxALIGN_CENTER_VERTICAL); + trow->AddStretchSpacer(); + trow->Add(m_thicken_flip, 0, wxALIGN_CENTER_VERTICAL); + m_box_thicken->Add(trow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_thicken->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_thicken, 0, wxEXPAND); + + // --- Rib (thin wall from an open sketch line, fused to a body) --- + m_box_rib = new wxBoxSizer(wxVERTICAL); + m_box_rib->Add(card_header(m_cards, "design_rib", _L("Rib"), m_hdr_rib), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_rib->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* rform = two_col_form(); + m_rib_body = make_combo(m_cards); + m_rib_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Target body")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_rib_body, 0, wxEXPAND); + m_rib_sketch = make_combo(m_cards); + m_rib_sketch->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Sketch")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_rib_sketch, 0, wxEXPAND); + m_rib_entity = new wxSpinCtrl(m_cards, wxID_ANY, "", wxDefaultPosition, wxSize(90, -1), + wxSP_ARROW_KEYS | wxBORDER_SIMPLE); + m_rib_entity->SetRange(0, 999); + m_rib_entity->SetValue(0); + m_rib_entity->Bind(wxEVT_SPINCTRL, [this](wxSpinEvent&) { refresh_preview(); }); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Entity index")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(m_rib_entity, 0, wxEXPAND); + m_rib_thickness = make_spin(m_cards, 2.0, 0.01, 100000.0); + m_rib_thickness->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Thickness")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(spin_frame(m_rib_thickness), 0, wxEXPAND); + m_rib_depth = make_spin(m_cards, 10.0, 0.01, 100000.0); + m_rib_depth->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + rform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Depth")), 0, wxALIGN_CENTER_VERTICAL); + rform->Add(spin_frame(m_rib_depth), 0, wxEXPAND); + m_box_rib->Add(rform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_rib->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_rib, 0, wxEXPAND); + + // --- Project (project body edges onto a plane as sketch entities) --- + m_box_project = new wxBoxSizer(wxVERTICAL); + m_box_project->Add(card_header(m_cards, "design_sketch", _L("Project"), m_hdr_project), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_project->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* pform = two_col_form(); + m_proj_source_body = make_combo(m_cards); + m_proj_source_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Source body")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(m_proj_source_body, 0, wxEXPAND); + m_proj_face_label = new wxStaticText(m_cards, wxID_ANY, _L("(all edges)")); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Face")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(m_proj_face_label, 0, wxALIGN_CENTER_VERTICAL); + m_proj_plane = make_combo(m_cards); + populate_plane_choices(m_proj_plane); + m_proj_plane->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + pform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Target plane")), 0, wxALIGN_CENTER_VERTICAL); + pform->Add(m_proj_plane, 0, wxEXPAND); + m_box_project->Add(pform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_project->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_project, 0, wxEXPAND); + + // --- Delete Face (remove faces, heal the solid) --- + m_box_delete_face = new wxBoxSizer(wxVERTICAL); + m_box_delete_face->Add(card_header(m_cards, "design_delete", _L("Delete Face"), m_hdr_delete_face), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_delete_face->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* dform = two_col_form(); + m_del_face_body = make_combo(m_cards); + m_del_face_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(m_del_face_body, 0, wxEXPAND); + m_del_face_add_btn = new wxButton(m_cards, wxID_ANY, _L("Add picked face")); + m_del_face_add_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + // Say why nothing happened. Clicking with no face picked used to be a silent no-op, + // which is indistinguishable from the button being broken. + if (m_sel_solid_face < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Click a face on the body first, then Add picked face")); + m_status->Refresh(); + return; + } + // Adding the same face twice puts a duplicate id in delete_faces, which the + // defeaturing algorithm has no reason to cope with. Re-clicking is a no-op, not an error. + if (std::find(m_del_faces.begin(), m_del_faces.end(), m_sel_solid_face) != m_del_faces.end()) { + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Face %d is already in the list"), m_sel_solid_face)); + m_status->Refresh(); + return; + } + { + m_del_faces.push_back(m_sel_solid_face); + wxString s; + for (size_t i = 0; i < m_del_faces.size(); ++i) { + if (i > 0) s += ", "; + s += wxString::Format("Face %d", m_del_faces[i]); + } + m_del_face_list->SetLabel(s.empty() ? _L("(none)") : s); + m_del_face_list->GetParent()->Layout(); + m_del_face_list->Refresh(); + refresh_preview(); + } + }); + dform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Faces to delete")), 0, wxALIGN_CENTER_VERTICAL); + dform->Add(m_del_face_add_btn, 0, wxALIGN_CENTER_VERTICAL); + m_del_face_list = new wxStaticText(m_cards, wxID_ANY, _L("(none)")); + dform->Add(0, 0); + dform->Add(m_del_face_list, 0, wxALIGN_CENTER_VERTICAL); + m_box_delete_face->Add(dform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_box_delete_face->Add(new wxStaticText(m_cards, wxID_ANY, + _L("Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_delete_face, 0, wxEXPAND); + + // --- Helix (helical curve) --- + m_box_helix = new wxBoxSizer(wxVERTICAL); + m_box_helix->Add(card_header(m_cards, "design_thread", _L("Helix"), m_hdr_helix), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_helix->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* hform = two_col_form(); + m_helix_plane = make_combo(m_cards); + populate_plane_choices(m_helix_plane); + m_helix_plane->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Plane")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(m_helix_plane, 0, wxEXPAND); + m_helix_radius = make_spin(m_cards, 10.0, 0.01, 10000.0); + m_helix_radius->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Radius")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_helix_radius), 0, wxEXPAND); + m_helix_pitch = make_spin(m_cards, 5.0, 0.01, 10000.0); + m_helix_pitch->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Pitch")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_helix_pitch), 0, wxEXPAND); + m_helix_height = make_spin(m_cards, 20.0, 0.01, 10000.0); + m_helix_height->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + hform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Height")), 0, wxALIGN_CENTER_VERTICAL); + hform->Add(spin_frame(m_helix_height), 0, wxEXPAND); + m_box_helix->Add(hform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_helix_left_handed = new CheckBox(m_cards); + m_helix_left_handed->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + auto* hrow = new wxBoxSizer(wxHORIZONTAL); + hrow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Left-handed")), 0, wxALIGN_CENTER_VERTICAL); + hrow->AddStretchSpacer(); + hrow->Add(m_helix_left_handed, 0, wxALIGN_CENTER_VERTICAL); + m_box_helix->Add(hrow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + m_helix_taper = make_spin(m_cards, 0.0, -89.0, 89.0); + m_helix_taper->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + auto* tvalform = two_col_form(); + tvalform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Taper (°)")), 0, wxALIGN_CENTER_VERTICAL); + tvalform->Add(spin_frame(m_helix_taper), 0, wxEXPAND); + m_box_helix->Add(tvalform, 0, wxEXPAND | wxLEFT | wxRIGHT, 12); + m_box_helix->Add(new wxStaticText(m_cards, wxID_ANY, + _L("A helical curve (spring path). Use as a sweep path to build springs, coils, or augers.")), + 0, wxLEFT | wxRIGHT, 12); + } + cards->Add(m_box_helix, 0, wxEXPAND); + + // --- Axis (datum axis: line through two points or derived from geometry) --- + m_box_axis = new wxBoxSizer(wxVERTICAL); + m_box_axis->Add(card_header(m_cards, "design_line", _L("Axis"), m_hdr_axis), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_axis->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + m_axis_type = make_combo(m_cards); + for (const wxString& t : { _L("Two points"), _L("Face normal"), _L("Cylinder centerline"), + _L("Plane intersection"), _L("Along edge") }) + m_axis_type->Append(t); + m_axis_type->SetSelection(0); + m_box_axis->Add(new wxStaticText(m_cards, wxID_ANY, _L("Axis type")), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_axis->Add(m_axis_type, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + auto* axform = two_col_form(); + + auto ax_pick = [&](const wxString& label, wxButton*& btn, wxStaticText*& lbl, AxisPick target) { + btn = new wxButton(m_cards, wxID_ANY, label); + lbl = new wxStaticText(m_cards, wxID_ANY, _L("(none)")); + btn->Bind(wxEVT_BUTTON, [this, target](wxCommandEvent&) { arm_axis_pick(target); }); + axform->Add(btn); + axform->Add(lbl, 0, wxALIGN_CENTER_VERTICAL); + }; + ax_pick(_L("Pick Face"), m_axis_pick_face, m_axis_face_lbl, AxisPick::Face); + ax_pick(_L("Pick Edge"), m_axis_pick_edge, m_axis_edge_lbl, AxisPick::Edge); + + m_axis_plane_a = make_combo(m_cards); + populate_plane_choices(m_axis_plane_a); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Plane A")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(m_axis_plane_a, 0, wxEXPAND); + m_axis_plane_b = make_combo(m_cards); + populate_plane_choices(m_axis_plane_b); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Plane B")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(m_axis_plane_b, 0, wxEXPAND); + + m_axis_p1x = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_axis_p1y = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_axis_p1z = make_spin(m_cards, 0.0, -100000.0, 100000.0); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 1 X")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p1x), 0, wxEXPAND); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 1 Y")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p1y), 0, wxEXPAND); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 1 Z")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p1z), 0, wxEXPAND); + + m_axis_p2x = make_spin(m_cards, 10.0, -100000.0, 100000.0); + m_axis_p2y = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_axis_p2z = make_spin(m_cards, 0.0, -100000.0, 100000.0); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 2 X")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p2x), 0, wxEXPAND); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 2 Y")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p2y), 0, wxEXPAND); + axform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Point 2 Z")), 0, wxALIGN_CENTER_VERTICAL); + axform->Add(spin_frame(m_axis_p2z), 0, wxEXPAND); + + m_box_axis->Add(axform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_axis, 0, wxEXPAND); + + // --- CoordSys (datum coordinate system: point + orthonormal frame) --- + m_box_coordsys = new wxBoxSizer(wxVERTICAL); + m_box_coordsys->Add(card_header(m_cards, "design_point", _L("Coord Sys"), m_hdr_coordsys), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_coordsys->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + m_coordsys_type = make_combo(m_cards); + for (const wxString& t : { _L("Point (world)"), _L("Face + direction") }) + m_coordsys_type->Append(t); + m_coordsys_type->SetSelection(0); + m_box_coordsys->Add(new wxStaticText(m_cards, wxID_ANY, _L("Type")), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_coordsys->Add(m_coordsys_type, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + m_cs_body = make_combo(m_cards); + m_cs_body->Append(_L("(all)")); + m_cs_body->SetSelection(0); + m_cs_body->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { + if (m_viewport) m_viewport->set_xray_focus(m_cs_body->GetSelection() - 1); + }); + m_box_coordsys->Add(new wxStaticText(m_cards, wxID_ANY, _L("Body")), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_coordsys->Add(m_cs_body, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + auto* body_hint = new wxStaticText(m_cards, wxID_ANY, + _L("Restrict picking to one body — the others go see-through and stop catching clicks")); + body_hint->SetForegroundColour(dp_sec_text()); + m_box_coordsys->Add(body_hint, 0, wxLEFT | wxRIGHT | wxTOP, 12); + + auto* csform = two_col_form(); + + m_cs_x = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_cs_y = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_cs_z = make_spin(m_cards, 0.0, -100000.0, 100000.0); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("X")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_x), 0, wxEXPAND); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Y")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_y), 0, wxEXPAND); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Z")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_z), 0, wxEXPAND); + + auto cs_pick = [&](const wxString& label, wxButton*& btn, wxStaticText*& lbl, CoordSysPick target) { + btn = new wxButton(m_cards, wxID_ANY, label); + lbl = new wxStaticText(m_cards, wxID_ANY, _L("(none)")); + btn->Bind(wxEVT_BUTTON, [this, target](wxCommandEvent&) { arm_coordsys_pick(target); }); + csform->Add(btn); + csform->Add(lbl, 0, wxALIGN_CENTER_VERTICAL); + }; + cs_pick(_L("Pick Face"), m_cs_pick_face, m_cs_face_lbl, CoordSysPick::Face); + + // ponytail: edge pick for CoordSys with rotation-direction hint + m_cs_pick_edge = new wxButton(m_cards, wxID_ANY, _L("Edge (sets in-plane direction)")); + m_cs_edge_lbl = new wxStaticText(m_cards, wxID_ANY, _L("(none)")); + m_cs_pick_edge->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { arm_coordsys_pick(CoordSysPick::Edge); }); + csform->Add(m_cs_pick_edge); + csform->Add(m_cs_edge_lbl, 0, wxALIGN_CENTER_VERTICAL); + auto* edge_hint = new wxStaticText(m_cards, wxID_ANY, + _L("Without an edge the frame takes X from the face's first edge — pick one to choose it yourself")); + edge_hint->SetForegroundColour(dp_sec_text()); + csform->Add(0, 0); // empty left column + csform->Add(edge_hint, 0, wxALIGN_CENTER_VERTICAL); + + m_cs_hx = make_spin(m_cards, 1.0, -100000.0, 100000.0); + m_cs_hy = make_spin(m_cards, 0.0, -100000.0, 100000.0); + m_cs_hz = make_spin(m_cards, 0.0, -100000.0, 100000.0); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("X hint X")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_hx), 0, wxEXPAND); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("X hint Y")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_hy), 0, wxEXPAND); + csform->Add(new wxStaticText(m_cards, wxID_ANY, _L("X hint Z")), 0, wxALIGN_CENTER_VERTICAL); + csform->Add(spin_frame(m_cs_hz), 0, wxEXPAND); + + m_box_coordsys->Add(csform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_coordsys, 0, wxEXPAND); + + // --- Mate (assembly: align two CoordSys features) --- + m_box_mate = new wxBoxSizer(wxVERTICAL); + m_box_mate->Add(card_header(m_cards, "design_c_coincident", _L("Mate"), m_hdr_mate), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_mate->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + auto* mform = two_col_form(); + + m_mate_kind = make_combo(m_cards); + m_mate_kind->Append(_L("Fastened — 6 DOF locked, B driven onto A exactly")); + m_mate_kind->Append(_L("Planar — z aligned, offset distance; free in-plane slide")); + m_mate_kind->Append(_L("Revolute — axes collinear; free rotation about z")); + m_mate_kind->Append(_L("Slider — orientation locked; free axial slide")); + m_mate_kind->Append(_L("Cylindrical — axes collinear; free spin + axial slide")); + m_mate_kind->SetSelection(0); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Kind")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_mate_kind, 0, wxEXPAND); + + // Populate the CoordSys pickers on open; show "A (fixed)" and "B (moves)" combos. + m_mate_cs_a = make_combo(m_cards); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("CS A (fixed)")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_mate_cs_a, 0, wxEXPAND); + + m_mate_cs_b = make_combo(m_cards); + mform->Add(new wxStaticText(m_cards, wxID_ANY, _L("CS B (moves)")), 0, wxALIGN_CENTER_VERTICAL); + mform->Add(m_mate_cs_b, 0, wxEXPAND); + + m_offset_label = new wxStaticText(m_cards, wxID_ANY, _L("Offset")); + m_mate_offset = make_spin(m_cards, 0.0, -100000.0, 100000.0); + mform->Add(m_offset_label, 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_mate_offset), 0, wxEXPAND); + + m_angle_label = new wxStaticText(m_cards, wxID_ANY, _L("Angle \u00b0")); + m_mate_angle = make_spin(m_cards, 0.0, -360.0, 360.0); + mform->Add(m_angle_label, 0, wxALIGN_CENTER_VERTICAL); + mform->Add(spin_frame(m_mate_angle), 0, wxEXPAND); + + m_mate_flip = new CheckBox(m_cards); + auto* frow = new wxBoxSizer(wxHORIZONTAL); + frow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Flip (oppose z axes)")), 0, wxALIGN_CENTER_VERTICAL); + frow->AddStretchSpacer(); + frow->Add(m_mate_flip, 0, wxALIGN_CENTER_VERTICAL); + mform->Add(0, 0); + mform->Add(frow, 0, wxEXPAND); + + // Retitle offset/angle labels when the kind changes. + m_mate_kind->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& e) { + const int kind = m_mate_kind->GetSelection(); + switch (kind) { + case 0: // Fastened + m_offset_label->SetLabel(_L("Offset")); + m_angle_label->SetLabel(_L("Angle \u00b0")); + break; + case 1: // Planar + m_offset_label->SetLabel(_L("Plane distance")); + m_angle_label->SetLabel(_L("Angle \u00b0")); + break; + case 2: // Revolute + m_offset_label->SetLabel(_L("Axial position")); + m_angle_label->SetLabel(_L("Angle \u00b0")); + break; + case 3: // Slider + m_offset_label->SetLabel(_L("Axial position")); + m_angle_label->SetLabel(_L("Angle \u00b0")); + break; + case 4: // Cylindrical + m_offset_label->SetLabel(_L("Axial position")); + m_angle_label->SetLabel(_L("Angle \u00b0")); + break; + } + m_cards->Layout(); m_form->Layout(); m_form->FitInside(); + refresh_preview(); + e.Skip(); + }); + + m_box_mate->Add(mform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_mate, 0, wxEXPAND); + // Refresh the confirm state whenever the mate inputs change. + m_mate_cs_a->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + m_mate_cs_b->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent&) { refresh_preview(); }); + m_mate_offset->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + m_mate_angle->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent&) { refresh_preview(); }); + m_mate_flip->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent&) { refresh_preview(); }); + + // --- Expression binding card (visible during feature edit only) --- + // Lets the user bind a numeric field to a document-variable expression. Field-name + // combo is populated per feature type and is editable for power users. Set applies + // the binding with checkpoint+recompute+undo-on-failure; Clear removes it. + m_box_expr = new wxBoxSizer(wxVERTICAL); + { + wxStaticText* expr_hdr = nullptr; + m_box_expr->Add(card_header(m_cards, "design_constrain", _L("Expression"), expr_hdr), 0, + wxLEFT | wxRIGHT | wxTOP, 12); + m_box_expr->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + + auto* eform = two_col_form(); + + // The only editable combo in this panel, hence not make_combo(): that passes + // wxCB_READONLY, and Orca's ComboBox HIDES its text ctrl under that style + // (ComboBox.cpp:51), so there is nothing to type into and no SetEditable() to + // turn it back on. Constructed with style 0, the ctrl is shown with + // wxTE_PROCESS_ENTER and GetTextLabel() returns what the user typed — which is + // what makes the 21 unmapped feature types reachable at all. + m_expr_field = new ComboBox(m_cards, wxID_ANY, wxEmptyString, wxDefaultPosition, + wxSize(FromDIP(90), FromDIP(24)), 0, nullptr, 0); + m_expr_field->SetMinSize(wxSize(FromDIP(90), FromDIP(24))); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Field")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(m_expr_field, 0, wxEXPAND); + + m_expr_text = new wxTextCtrl(m_cards, wxID_ANY, "", wxDefaultPosition, + wxSize(FromDIP(120), FromDIP(24)), + wxTE_PROCESS_ENTER | wxBORDER_SIMPLE); + m_expr_text->Bind(wxEVT_TEXT_ENTER, [this](wxCommandEvent&) { on_set_expr(); }); + eform->Add(new wxStaticText(m_cards, wxID_ANY, _L("Expr")), 0, wxALIGN_CENTER_VERTICAL); + eform->Add(m_expr_text, 0, wxEXPAND); + + m_box_expr->Add(eform, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + auto* brow = new wxBoxSizer(wxHORIZONTAL); + m_expr_set_btn = new wxButton(m_cards, wxID_ANY, _L("Set"), wxDefaultPosition, wxSize(50, 24)); + m_expr_clear_btn = new wxButton(m_cards, wxID_ANY, _L("Clear"), wxDefaultPosition, wxSize(50, 24)); + m_expr_set_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_set_expr(); }); + m_expr_clear_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_clear_expr(); }); + brow->Add(m_expr_set_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 6); + brow->Add(m_expr_clear_btn, 0, wxALIGN_CENTER_VERTICAL); + brow->AddStretchSpacer(); + m_box_expr->Add(brow, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 12); + + m_expr_status = new wxStaticText(m_cards, wxID_ANY, _L("(no bindings)")); + m_expr_status->SetForegroundColour(dp_sec_text()); + m_box_expr->Add(m_expr_status, 0, wxLEFT | wxRIGHT | wxBOTTOM, 12); + } + cards->Add(m_box_expr, 0, wxEXPAND); + + // --- Docked value-entry card (Onshape Button->Dialog->Confirm for dimensions) --- + m_box_value = new wxBoxSizer(wxVERTICAL); + { + // Header title doubles as the operation label (set by request_value()). + m_box_value->Add(card_header(m_cards, "design_constrain", _L("Value"), m_value_label), 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_value->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + auto* vrow = new wxBoxSizer(wxHORIZONTAL); + // wxTE_PROCESS_ENTER so the user can just type a value and press Enter to + // apply it (the natural CAD-dimension gesture), not only click Confirm. + // Plain text field (not a spin control): on wxGTK the native GtkSpinButton + // formats per the user locale (comma) with no clean override, so we own the + // formatting here to guarantee international '.' decimals. + m_value_input = new wxTextCtrl(m_cards, wxID_ANY, "", wxDefaultPosition, + wxSize(90, -1), wxTE_PROCESS_ENTER); + m_value_input->Bind(wxEVT_TEXT_ENTER, [this](wxCommandEvent&) { confirm_value(); }); + vrow->Add(new wxStaticText(m_cards, wxID_ANY, _L("Value")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 8); + vrow->Add(m_value_input, 0, wxALIGN_CENTER_VERTICAL); + m_box_value->Add(vrow, 0, wxLEFT | wxRIGHT | wxTOP, 12); + } + cards->Add(m_box_value, 0, wxEXPAND); + + // --- Sketch-entry card (Phase 3): plane/orientation, opens on "New sketch", + // persists until Finish. The toolbar holds only the drawing tools. --- + m_box_sketch_session = new wxBoxSizer(wxVERTICAL); + m_box_sketch_session->Add(card_header(m_cards, "design_sketch", _L("Sketch"), m_hdr_sketch_session), + 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_sketch_session->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + { + // NO plane dropdown. The sketch plane comes from what is picked in the VIEWPORT — a face + // on a solid, or one of the reference-plane ghosts — because that is where the user is + // looking and pointing. A combo duplicated that decision somewhere the geometry could not + // see it, and once a face could be picked it went further and displayed a stale row that + // contradicted the real target. e1p. + // Kept as a member, not a local: the card has to be able to STOP saying this. It asked + // for a plane even when one had just been picked, directly contradicting the status line + // two inches below it, which by then read "Sketching on XZ". + m_sketch_hint = new wxStaticText(m_cards, wxID_ANY, + _L("Click a face or a reference plane, then a sketch tool.")); + m_sketch_hint->SetForegroundColour(dp_sec_text()); + m_box_sketch_session->Add(m_sketch_hint, 0, wxLEFT | wxRIGHT | wxTOP | wxBOTTOM, 12); + } + cards->Add(m_box_sketch_session, 0, wxEXPAND); + + // --- Constraint-manager card (C3.4): list of the constrained sketch's + // entity-constraints; each row selects (highlights) + deletes. Shown only + // in Constrain mode; rebuilt by rebuild_constraint_list(). + m_box_constraints = new wxBoxSizer(wxVERTICAL); + m_box_constraints->Add(card_header(m_cards, "design_constrain", _L("Constraints"), m_hdr_constraints), + 0, wxLEFT | wxRIGHT | wxTOP, 12); + m_box_constraints->Add(new wxStaticLine(m_cards), 0, wxEXPAND | wxALL, 8); + m_constraint_rows = new wxBoxSizer(wxVERTICAL); + m_box_constraints->Add(m_constraint_rows, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, 12); + cards->Add(m_box_constraints, 0, wxEXPAND); + + // Wrap every card label now that the whole stack exists. wxStaticText never wraps on its + // own, so a one-sentence help line under a card sets that card's sizer min width to the + // width of the entire sentence — the same failure make_combo's explicit width fixes above, + // and with the same symptom: the card is wider than the sidebar, so every control in it is + // clipped at the panel's right edge. Found by click-testing Transform, Mirror and Coord Sys, + // whose hints are the longest. 240 px sits under m_form's 264 px minimum, so a wrapped hint + // always fits; the short two-column labels are far below it and Wrap() leaves them alone. + for (wxWindow* w : m_cards->GetChildren()) + if (auto* t = dynamic_cast<wxStaticText*>(w)) + t->Wrap(240); + + // Feature tree card. Same idiom as Prepare's sections (icon + Head_14 title + rule) via the + // shared card_header helper, instead of the bare micro-label this used to be; the row-edit + // actions live in the header, as Prepare puts its section actions. + m_tree_box = make_card(m_form); + auto* tree_inner = new wxBoxSizer(wxVERTICAL); + m_tree_box->SetSizer(tree_inner); + root->Add(m_tree_box, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 8); + + m_hdr_tree_row = new wxBoxSizer(wxHORIZONTAL); + m_hdr_tree_row->Add(card_header(m_tree_box, "design_sketch", _L("Feature tree"), m_hdr_tree), 0, + wxALIGN_CENTER_VERTICAL); + m_hdr_tree_row->AddStretchSpacer(); + tree_inner->Add(m_hdr_tree_row, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::ContentMargin())); + tree_inner->Add(new wxStaticLine(m_tree_box), 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::TitlebarMargin())); + m_tree = new wxTreeCtrl(m_tree_box, wxID_ANY, wxDefaultPosition, wxSize(-1, 64), + wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | + wxTR_FULL_ROW_HIGHLIGHT | wxBORDER_SIMPLE | wxTR_EDIT_LABELS); + if (!dp_dark()) m_tree->SetBackgroundColour(dp_panel_bg()); + // Per-feature-type icons (indices match tree_icon_for): sketch/extrude/dressup/hole/thread. + m_tree_images = new wxImageList(16, 16); + m_tree_images->Add(create_scaled_bitmap("design_sketch", nullptr, 16)); // 0 Sketch + m_tree_images->Add(create_scaled_bitmap("design_extrude", nullptr, 16)); // 1 Extrude + m_tree_images->Add(create_scaled_bitmap("design_dressup", nullptr, 16)); // 2 Fillet/Chamfer + m_tree_images->Add(create_scaled_bitmap("design_hole", nullptr, 16)); // 3 Hole + m_tree_images->Add(create_scaled_bitmap("design_thread", nullptr, 16)); // 4 Thread + m_tree_images->Add(create_scaled_bitmap("design_shell", nullptr, 16)); // 5 Shell + m_tree->AssignImageList(m_tree_images); + tree_inner->Add(m_tree, 0, wxEXPAND | wxALL, 12); + + // Selecting a body-producing feature (Extrude/Fillet/Chamfer/Hole/Thread) in the + // tree highlights the solid in the viewport; a Sketch row clears the highlight + // (its face is already shown via the persistent sketch overlay). + m_tree->Bind(wxEVT_TREE_SEL_CHANGED, [this](wxTreeEvent&) { + if (!m_viewport) return; + // Bodies live in the Parts list now; picking a feature here drops any body selection + // so the two lists can't both claim to be "the target". + // ONLY when this tree actually has a selection. These two lists clear each other's + // selection so that "the target" is never ambiguous, and that was harmless while both + // calls were UnselectAll() — a no-op on a wxTR_SINGLE tree. Now that Unselect() really + // clears, the pair became a loop: clicking a body row runs apply_body_row, which calls + // m_tree->Unselect(), which fires THIS handler, which cleared the body row the user had + // just clicked. The guard keeps the mutual-exclusion and drops the echo. + if (m_parts && tree_selection() != wxNOT_FOUND) m_parts->Unselect(); + const int sel = tree_selection(); + const bool body = (sel >= 0 && sel < int(m_doc.features.size()) && + m_doc.features[sel].type != CadFeatureType::Sketch && + !m_doc.body.IsNull()); + m_viewport->set_body_highlight(body); + // A conflicting mate says WHY on selection, and names the one action that resolves it. + // Suppress is the generic per-feature enable toggle (the eye), so the answer is already + // one click away on a row the user has just selected — the message points at it instead + // of describing a problem with no way out. + if (const std::string* why = (sel >= 0) ? mate_conflict_reason(sel) : nullptr) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(wxString::FromUTF8(*why) + _L(" — the eye suppresses this mate")); + m_status->Refresh(); + } else if (sel >= 0 && sel < int(m_doc.features.size())) { + // Name the two gestures the row supports, because neither is visible on it. + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format( + _L("%s selected — F2 or right-click renames it, double-click edits it"), + wxString::FromUTF8(m_doc.features[sel].name))); + m_status->Refresh(); + } + }); + + // Double-click a row = Edit, the same gesture that re-opens a committed sketch on the canvas. + // Without it the row only highlights and the feature looks dead until the user finds the + // Edit button in the section header. + m_tree->Bind(wxEVT_TREE_ITEM_ACTIVATED, [this](wxTreeEvent&) { on_edit_feature(); }); + + // Right-click a row: the three things a row can do. Renaming had no discoverable route at + // all — the header pencil is Edit, a double-click ACTIVATES the row and is also Edit (the + // "slow double-click renames" the old comment promised does not survive wxGTK, which fires + // ITEM_ACTIVATED first), none of the seven header icons renames, and F2 is a function key + // nothing announces. A user who wants to name a sketch tries the row, and now the row + // answers. rename. + m_tree->Bind(wxEVT_TREE_ITEM_RIGHT_CLICK, [this](wxTreeEvent& e) { + m_tree->SelectItem(e.GetItem()); // right-click targets what it points at + const int sel = tree_selection(); + if (sel == wxNOT_FOUND) return; + // EVERYTHING A ROW CAN DO, in one place. The header icons stay as a quick bar, but the + // menu is the reference: the element you click answers with what applies to it, and a + // menu grows without spending an icon nobody recognises. Split into what the row IS + // (name, contents), where it SITS (order, visibility) and what removes it. + wxMenu menu; + const int id_rename = wxWindow::NewControlId(); + const int id_edit = wxWindow::NewControlId(); + const int id_up = wxWindow::NewControlId(); + const int id_down = wxWindow::NewControlId(); + const int id_vis = wxWindow::NewControlId(); + const int id_art = wxWindow::NewControlId(); + const int id_del = wxWindow::NewControlId(); + menu.Append(id_rename, _L("Rename\tF2")); + menu.Append(id_edit, _L("Edit")); + // Scale artwork acts on THIS feature's imported outline, so it belongs to the row and + // is offered only where it means something. It used to hide inside the header's Move + // button, which otherwise moved a body — two different subjects on one icon. + const bool art = sel < int(m_doc.features.size()) && + !m_doc.features[sel].imported_regions.empty(); + if (art) menu.Append(id_art, _L("Scale artwork")); + menu.AppendSeparator(); + menu.Append(id_up, _L("Move up")); + menu.Append(id_down, _L("Move down")); + menu.Append(id_vis, _L("Show / hide")); + menu.AppendSeparator(); + menu.Append(id_del, _L("Delete")); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { + const int row = tree_selection(); + if (row != wxNOT_FOUND && row < int(m_tree_items.size())) + m_tree->EditLabel(m_tree_items[row]); + }, id_rename); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { on_edit_feature(); }, id_edit); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { on_move_feature(-1); }, id_up); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { on_move_feature(+1); }, id_down); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { on_toggle_visibility(); }, id_vis); + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { on_delete_feature(); }, id_del); + if (art) + menu.Bind(wxEVT_MENU, [this](wxCommandEvent&) { + const int row = tree_selection(); + if (row != wxNOT_FOUND) on_transform_imported(row); + }, id_art); + m_tree->PopupMenu(&menu); + }); + + // In-place rename of a feature row (slow double-click, the offer's Rename verb, or F2). + // The name is what makes a tree of eight sketches readable, and the tree row IS the object — + // so renaming belongs on the row, not in a side-panel field. Bodies are computed results, + // not named features, so a body row must never open an editor (it cannot, they live in the + // Parts list, but the guard keeps a future change from slipping a body into this tree). + auto item_index = [this](const wxTreeItemId& it) -> int { + for (size_t i = 0; i < m_tree_items.size(); ++i) + if (m_tree_items[i] == it) return int(i); + return wxNOT_FOUND; + }; + m_tree->Bind(wxEVT_TREE_BEGIN_LABEL_EDIT, [this, item_index](wxTreeEvent& e) { + // The event's item is the authority for WHAT is being edited; tree_selection() is not, + // because the editor can open on a row that is not the current selection. A row that is + // not a feature (a body, or a stray id) gets the edit vetoed before it can take a name. + if (tree_body_selection() >= 0 || item_index(e.GetItem()) == wxNOT_FOUND) { e.Veto(); return; } + e.Skip(); + }); + m_tree->Bind(wxEVT_TREE_END_LABEL_EDIT, [this, item_index](wxTreeEvent& e) { + if (e.IsEditCancelled()) return; + const int idx = item_index(e.GetItem()); + if (idx == wxNOT_FOUND) { e.Veto(); return; } + wxString label = e.GetLabel(); + label.Trim(true).Trim(false); + if (label.empty()) { e.Veto(); return; } // a nameless row is worse than a badly named one + m_doc.features[idx].name = std::string(label.ToUTF8().data()); + sync_recipe_to_model(); // the name is part of the recipe, so the save path persists it + e.Skip(); // let wx finish applying the label to the item it is holding + // REBUILD LATER, NOT NOW. refresh_tree() deletes and re-creates every wxTreeItemId, and + // we are inside wx's own END_LABEL_EDIT dispatch for one of them — destroying it here + // frees the item the caller is still using and takes the process down. Measured: typing + // a name and pressing Enter killed the app outright, with the keystrokes traced and no + // trace for the Return. Deferring to the next event-loop turn lets wx finish first. + CallAfter([this] { refresh_tree(); }); + }); + + // Feature-tree edit actions: act on the selected feature (delete / reorder). These sit in the + // card header (Prepare puts its section actions there too) rather than on a loose row below. + { + wxBoxSizer* trow = m_hdr_tree_row; + auto edit_btn = [this](const char* icon, const wxString& tip) { + // Header-sized: reads as a section action, not a primary control. + auto* b = new ScalableButton(m_tree_box, wxID_ANY, icon, "", wxSize(24, 24), + wxDefaultPosition, wxBU_EXACTFIT | wxBORDER_NONE, false, 20); + b->SetToolTip(tip); + return b; + }; + auto* edit = edit_btn("design_edit", _L("Edit")); + edit->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_edit_feature(); }); + // NO Move here. Moving a body is not a feature-row action — this header sits over the + // FEATURE tree, and the button had to guess its subject from whatever happened to be + // selected, answering a feature row with an instruction about bodies. It lives where a + // body lives: the Bodies card's own action row, and the offer for a selected body. + // Scaling imported artwork, which shared this button, moved to the row's own menu. + auto* vis = edit_btn("design_eye", _L("Show / hide")); + vis->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_toggle_visibility(); }); + auto* del = edit_btn("design_delete", _L("Delete")); + del->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + // A body row deletes the feature that made it. on_delete_body() already resolves + // CadBody::source_feature and asks for confirmation by name; it was reachable only + // from the right-click offer, so this button answered a selected body row with + // "select the FEATURE that created this body" — an instruction the user cannot act + // on, since the tree does not say which feature that is. It does now. + if (tree_body_selection() >= 0) on_delete_body(); + else on_delete_feature(); + }); + auto* up = edit_btn("design_moveup", _L("Move up")); + up->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_move_feature(-1); }); + auto* down = edit_btn("design_movedown", _L("Move down")); + down->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_move_feature(+1); }); + m_btn_interfere = edit_btn("color_palette", _L("Check interference — find overlapping bodies")); + m_btn_interfere->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_check_interference(); }); + const int gap = FromDIP(SidebarProps::ElementSpacing()); + trow->Add(edit, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, gap); + trow->Add(vis, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, gap); + trow->Add(del, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, gap); + trow->Add(up, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, gap); + trow->Add(down, 0, wxALIGN_CENTER_VERTICAL); + // Interference check sits after a rule: it reports, it does not edit the recipe. + trow->AddSpacer(8); + trow->Add(new wxStaticLine(m_tree_box, wxID_ANY, wxDefaultPosition, wxSize(1, 22), wxLI_VERTICAL), + 0, wxALIGN_CENTER_VERTICAL); + trow->AddSpacer(8); + trow->Add(m_btn_interfere, 0, wxALIGN_CENTER_VERTICAL); + // trow IS the header sizer — already added to root above the tree. + } + + // Parts list (Onshape's Features + Parts split). Bodies used to be appended after the + // features INSIDE the feature tree, so they were pushed out of view as the history grew — + // with no way to select a body at all. Their own list keeps them reachable regardless. + m_parts_box = make_card(m_form); + auto* parts_inner = new wxBoxSizer(wxVERTICAL); + m_parts_box->SetSizer(parts_inner); + root->Add(m_parts_box, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 8); + + m_parts_hdr = new wxBoxSizer(wxHORIZONTAL); + m_parts_hdr->Add(card_header(m_parts_box, "design_extrude", _L("Bodies"), m_parts_label), 0, + wxALIGN_CENTER_VERTICAL); + // The bodies card carries the actions that act on a BODY. Move came from the feature-tree + // header, where it had to guess whether its subject was a body or a feature; Show/hide, + // Delete and Colour are deliberate COPIES of feature-tree actions, because a body row is a + // different subject and a user working in this list should not have to travel to another + // card to hide or recolour what they have selected. Boolean is not a copy — it is the one + // body-body operation, gated through on_boolean_tool. Each one already resolves the body row + // itself (on_toggle_visibility, on_delete_body, on_set_body_color), so nothing here decides + // policy — the card only gives them a home next to the rows they act on. + { + auto body_btn = [this](const char* icon, const wxString& tip) { + auto* b = new ScalableButton(m_parts_box, wxID_ANY, icon, "", wxSize(24, 24), + wxDefaultPosition, wxBU_EXACTFIT | wxBORDER_NONE, false, 20); + b->SetToolTip(tip); + return b; + }; + auto* bmove = body_btn("design_move", _L("Move body")); + bmove->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + if (m_sel_solid_body >= 0 && m_sel_solid_body < int(m_doc.bodies.size())) { + on_move_body(); + } else { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Select a body row first, then move it")); + m_status->Refresh(); + } + }); + // Boolean lives here as well as on the toolbar: combining two bodies is a body action, + // and a user working in the body list should not have to leave it to find this. + auto* bbool = body_btn("design_boolean", _L("Boolean — join, subtract or intersect with another body")); + bbool->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_boolean_tool(); }); + auto* bvis = body_btn("design_eye", _L("Show / hide")); + bvis->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_toggle_visibility(); }); + auto* bdel = body_btn("design_delete", _L("Delete")); + bdel->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_delete_body(); }); + auto* bcol = body_btn("color_palette", _L("Colour")); + bcol->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_set_body_color(); }); + const int bgap = FromDIP(SidebarProps::ElementSpacing()); + m_parts_hdr->AddStretchSpacer(1); + m_parts_hdr->Add(bmove, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, bgap); + m_parts_hdr->Add(bbool, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, bgap); + m_parts_hdr->Add(bvis, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, bgap); + m_parts_hdr->Add(bdel, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, bgap); + m_parts_hdr->Add(bcol, 0, wxALIGN_CENTER_VERTICAL); + } + parts_inner->Add(m_parts_hdr, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::ContentMargin())); + m_parts_rule = new wxStaticLine(m_parts_box); + parts_inner->Add(m_parts_rule, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::TitlebarMargin())); + m_parts_hdr->ShowItems(false); // no bodies yet on a fresh document + m_parts_rule->Hide(); + m_parts = new wxTreeCtrl(m_parts_box, wxID_ANY, wxDefaultPosition, wxSize(-1, 48), + wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | + wxTR_FULL_ROW_HIGHLIGHT | wxBORDER_SIMPLE | wxTR_EDIT_LABELS); + if (!dp_dark()) m_parts->SetBackgroundColour(dp_panel_bg()); + parts_inner->Add(m_parts, 0, wxEXPAND | wxALL, 12); + // Start hidden: a fresh document has no bodies, and refresh_parts() only runs on the first + // tree rebuild — until then an empty box would sit under the header. + m_parts->Hide(); + m_parts_label->Hide(); + // Taking a body from the list means the SAME state change however it was asked for, so the + // normalisation lives here and not inside a selection handler. That distinction is not + // pedantry: SelectItem() on a row that is ALREADY selected fires no SEL_CHANGED at all, so a + // version of this that only ran on selection left a stale vertex/edge from an earlier + // viewport pick in place — and offer_selection_kind() tests vertex FIRST, so right-clicking + // the body row served the VERTEX offer (Fillet greyed, Mirror in place of Repeat) while the + // row sat highlighted. Measured on the rig 2026-08-02; it is invisible from the code alone. + auto apply_body_row = [this](int b) { + if (!m_viewport || b < 0) return; + // One selection at a time: a body row and a feature row mean different things to the + // op bar, so clear the feature tree's highlight when a body takes over. + if (m_tree) m_tree->Unselect(); // wxTR_SINGLE: UnselectAll() does nothing here + m_viewport->set_body_highlight(false); // the per-body overlay does the tint + m_viewport->select_body(b); // also drops the vertex/edge marker + m_sel_solid_body = b; + m_sel_solid_face = m_sel_solid_edge = -1; + m_sel_solid_vertex = false; + m_pick_face = m_pick_face_body = -1; // chosen from the list, no face was pointed at + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Body %d selected — right-click for what applies to it"), b + 1)); + m_status->Refresh(); + }; + m_parts->Bind(wxEVT_TREE_SEL_CHANGED, [this, apply_body_row](wxTreeEvent&) { + apply_body_row(tree_body_selection()); + }); + // The third door onto the offer, after the viewport right-click and the Menu key. A body ROW + // is an unambiguous body, so the offer reports BodySolid and the body verbs act on the row you + // can see highlighted. That is the confirmation a face pick cannot give: pointing at a face + // lights the face, never the body the verb will actually change. The status line above has + // been promising this right-click since before it existed. + // Renaming a BODY names the body itself. It does NOT rename the feature that created it: + // an Extrude, a Cut and a Fillet all land on one body, so source_feature is one operation in + // its history and renaming that is renaming the wrong object — reported, correctly, as "you + // consider the extrusion = the body". CadBody::user_name is carried across recompute() by + // index and written into the recipe, so the name outlives both the rebuild and the save. + m_parts->Bind(wxEVT_TREE_BEGIN_LABEL_EDIT, [this](wxTreeEvent& e) { + if (tree_body_selection() < 0) { e.Veto(); return; } + e.Skip(); + }); + m_parts->Bind(wxEVT_TREE_END_LABEL_EDIT, [this](wxTreeEvent& e) { + if (e.IsEditCancelled()) return; + const int b = tree_body_selection(); + if (b < 0 || b >= int(m_doc.bodies.size())) { e.Veto(); return; } + wxString label = e.GetLabel(); + label.Trim(true).Trim(false); + if (label.empty()) { e.Veto(); return; } // a nameless row is worse than a bad name + m_doc.bodies[b].has_user_name = true; + m_doc.bodies[b].user_name = std::string(label.ToUTF8().data()); + sync_recipe_to_model(); // the name is part of what gets saved + e.Skip(); + // Rebuild on the NEXT event-loop turn: refresh_parts() destroys every wxTreeItemId and + // we are inside wx's own END_LABEL_EDIT dispatch for one of them. The feature tree + // learned this the hard way — doing it here took the process down. + CallAfter([this] { refresh_parts(); }); + }); + + m_parts->Bind(wxEVT_TREE_ITEM_MENU, [this, apply_body_row](wxTreeEvent& e) { + if (e.GetItem().IsOk()) + m_parts->SelectItem(e.GetItem()); // the row under the cursor, never a stale one + apply_body_row(tree_body_selection()); // unconditional — see above, SelectItem on an + // already-selected row raises no event + // GetPoint() is tree-client; it is (-1,-1) when the KEYBOARD menu key raised this, so fall + // back to the shared anchor rather than popping the menu at a garbage coordinate. + const wxPoint p = e.GetPoint(); + const wxPoint screen = (p.x >= 0 && p.y >= 0) ? m_parts->ClientToScreen(p) : offer_anchor(); + // Let the modal menu take the loop after this handler returns — same CallAfter as the + // sketch path, which learned it the hard way. + CallAfter([this, screen] { show_offer_menu(screen); }); + }); + + // --- Variables (document-scope named expressions) --- + // Below the feature tree + parts, always visible. wxListCtrl in report mode with two + // columns (Name, Expression). Add / edit open a small dialog; delete removes the + // selected row. Every mutation goes through checkpoint+recompute+undo-on-failure. + m_var_box = make_card(m_form); + auto* var_inner = new wxBoxSizer(wxVERTICAL); + m_var_box->SetSizer(var_inner); + { + auto* var_hdr = new wxBoxSizer(wxHORIZONTAL); + wxStaticText* var_hdr_title = nullptr; + var_hdr->Add(card_header(m_var_box, "design_constrain", _L("Variables"), var_hdr_title), 0, + wxALIGN_CENTER_VERTICAL); + var_hdr->AddStretchSpacer(); + m_btn_add_var = new wxButton(m_var_box, wxID_ANY, _L("+"), wxDefaultPosition, wxSize(30, 24)); + m_btn_edit_var = new wxButton(m_var_box, wxID_ANY, _L("Edit"), wxDefaultPosition, wxSize(50, 24)); + m_btn_del_var = new wxButton(m_var_box, wxID_ANY, _L("Del"), wxDefaultPosition, wxSize(42, 24)); + m_btn_add_var->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_add_variable(); }); + m_btn_edit_var->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_edit_variable(); }); + m_btn_del_var->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_remove_variable(); }); + const int vhgap = FromDIP(SidebarProps::ElementSpacing()); + var_hdr->Add(m_btn_add_var, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, vhgap); + var_hdr->Add(m_btn_edit_var, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, vhgap); + var_hdr->Add(m_btn_del_var, 0, wxALIGN_CENTER_VERTICAL); + var_inner->Add(var_hdr, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::ContentMargin())); + var_inner->Add(new wxStaticLine(m_var_box), 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, + FromDIP(SidebarProps::TitlebarMargin())); + + m_var_list = new wxListCtrl(m_var_box, wxID_ANY, wxDefaultPosition, + wxSize(-1, FromDIP(64)), wxLC_REPORT | wxLC_SINGLE_SEL); + if (!dp_dark()) m_var_list->SetBackgroundColour(dp_panel_bg()); + m_var_list->AppendColumn(_L("Name"), wxLIST_FORMAT_LEFT, FromDIP(90)); + m_var_list->AppendColumn(_L("Expression"), wxLIST_FORMAT_LEFT, FromDIP(120)); + var_inner->Add(m_var_list, 0, wxEXPAND | wxALL, FromDIP(SidebarProps::ContentMargin())); + } + root->Add(m_var_box, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 8); + + // Orca-styled full-width buttons (ButtonType::Expanded), so the Design sidebar reads like + // Prepare's instead of showing raw OS-default wxButtons. + const int cm = FromDIP(SidebarProps::ContentMargin()); + + m_status = new wxStaticText(m_form, wxID_ANY, ""); + m_status->Hide(); // storage only — the line is drawn over the viewport, see set_status() + m_status_default_fg = m_status->GetForegroundColour(); // capture BEFORE any caller writes + root->Add(m_status, 0, wxLEFT | wxRIGHT | wxBOTTOM, 12); + + // DoF / constraint-state readout (P3). Dedicated line so it never clobbers the + // tool hint in m_status; updated by the on_solve_state callback after each solve. + m_dof_status = new wxStaticText(m_form, wxID_ANY, ""); + { + wxFont f = m_dof_status->GetFont(); + f.SetWeight(wxFONTWEIGHT_BOLD); + m_dof_status->SetFont(f); + } + root->Add(m_dof_status, 0, wxLEFT | wxRIGHT | wxBOTTOM, 12); + + + m_shape->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& e) { on_shape_changed(); e.Skip(); }); + on_shape_changed(); + + // Any parameter edit refreshes the translucent preview. Command events from the + // spin/choice/checkbox children propagate up to m_form, so one binding each suffices. + m_form->Bind(wxEVT_SPINCTRLDOUBLE, [this](wxSpinDoubleEvent& e) { refresh_preview(); e.Skip(); }); + m_form->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& e) { refresh_preview(); e.Skip(); }); + m_form->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent& e) { refresh_preview(); e.Skip(); }); + m_form->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) { refresh_preview(); e.Skip(); }); + + m_form->SetSizer(root); + + // Start with every tool dialog hidden (only the toolbar + tree + Commit show). + root->Show(m_parts_box, false, false); // no bodies on a fresh document + root->Show(m_cards, false, false); // no tool open yet: don't draw an empty frame + cards->Show(m_box_sketch, false, true); + cards->Show(m_box_move, false, true); + cards->Show(m_box_extrude, false, true); + cards->Show(m_box_revolve, false, true); + cards->Show(m_box_sweep, false, true); + cards->Show(m_box_pattern, false, true); + cards->Show(m_box_plane, false, true); + cards->Show(m_box_axis, false, true); + cards->Show(m_box_coordsys, false, true); + cards->Show(m_box_loft, false, true); + cards->Show(m_box_draft, false, true); + cards->Show(m_box_boolean, false, true); + cards->Show(m_box_cut, false, true); + cards->Show(m_box_insert, false, true); + cards->Show(m_box_dressup, false, true); + cards->Show(m_box_hole, false, true); + cards->Show(m_box_thread, false, true); + cards->Show(m_box_shell, false, true); + cards->Show(m_box_surf_extrude, false, true); + cards->Show(m_box_surf_revolve, false, true); + cards->Show(m_box_surf_loft, false, true); + cards->Show(m_box_surf_fill, false, true); + cards->Show(m_box_surf_offset, false, true); + cards->Show(m_box_surf_thicken, false, true); + cards->Show(m_box_value, false, true); + cards->Show(m_box_sketch_session, false, true); + cards->Show(m_box_constraints, false, true); + cards->Show(m_box_expr, false, true); + // A card added to the cards sizer is VISIBLE until something hides it. close_tool()'s + // hide-all only runs on a tool switch, so any card missing from THIS block renders + // stacked in the sidebar from the moment the tab opens. These eight were wired into + // close_tool() but not here, which is what bloated the panel. + cards->Show(m_box_transform, false, true); + cards->Show(m_box_mirror, false, true); + cards->Show(m_box_thicken, false, true); + cards->Show(m_box_rib, false, true); + cards->Show(m_box_project, false, true); + cards->Show(m_box_delete_face, false, true); + cards->Show(m_box_helix, false, true); + cards->Show(m_box_mate, false, true); + + m_form->FitInside(); + m_form->SetScrollRate(0, FromDIP(20)); // vertical only, like Prepare's sidebar: never scroll labels out + m_form->SetMinSize(wxSize(264, -1)); + + // Right column: a small view toolbar over the live 3D viewport that mirrors + // the CadDocument body. + m_viewport = new DesignCanvas(this); + + m_viewport->set_on_sketch_commit([this](const SketchProfile& prof, const SketchPlane& plane) { + m_doc.checkpoint(); // undo boundary: committing a sketch + m_feature_counter++; + m_doc.add_sketch_profile(prof, plane, "Sketch" + std::to_string(m_feature_counter)); + m_doc.recompute(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Sketch created — select it, then right-click to Extrude")); + refresh_tree(); + }); + + m_viewport->set_on_sketch_entities_commit( + [this](const std::vector<SketchEntity>& ents, + const std::vector<SketchEntityConstraintDef>& cons, + const SketchPlane& plane) { + if (ents.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Sketch empty — nothing committed")); + m_status->Refresh(); + return; + } + m_doc.checkpoint(); // undo boundary: committing / re-editing an entity sketch + // Re-edit of a committed entity sketch: REPLACE it in place (keep its name + + // tree position) instead of appending a duplicate. + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size()) && + m_doc.features[m_edit_index].type == CadFeatureType::Sketch) { + CadFeature edited = m_doc.features[m_edit_index]; + edited.entities = ents; + edited.entity_constraints = cons; + edited.plane = plane; + if (m_doc.replace_feature(m_edit_index, edited)) { + if (!cons.empty()) m_doc.solve_sketch_feature(m_edit_index); + m_doc.recompute(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Sketch updated")); + m_edit_index = -1; + refresh_tree(); + sync_sketch_display(); + } + return; + } + m_feature_counter++; + const int sk = m_doc.add_sketch_entities(ents, plane, + "Sketch" + std::to_string(m_feature_counter), cons); + if (!cons.empty()) m_doc.solve_sketch_feature(sk); // enforce driving dimensions + m_doc.recompute(); + m_status->SetForegroundColour(wxNullColour); + set_status(cons.empty() + ? _L("Sketch created — select it, then right-click to Extrude") + : wxString::Format(_L("Sketch created (%zu driving dims) — select it, then right-click to Extrude"), + cons.size())); + refresh_tree(); + sync_sketch_display(); // keep the just-committed sketch visible as a face + }); + + // Live length/angle readout while drawing a Line/Polyline segment. + m_viewport->set_on_cursor_metrics([this](double len, double ang_deg, bool locked) { + double a = ang_deg; if (a < 0.0) a += 360.0; // show bearing 0..360 + m_status->SetForegroundColour(wxNullColour); + // APPENDED to the step guidance, never in place of it. This fires on every mouse move + // while a segment is being dragged, so replacing the line wiped the instruction for the + // step the user is in the middle of — one mouse move after the click that armed it. + const wxString metrics = wxString::Format(L"L %.2f mm %.1f°%s", + len, a, locked ? L" (locked)" : L""); + set_status(m_sketch_step.IsEmpty() ? metrics + : m_sketch_step + L" · " + metrics); + m_status->Refresh(); + }); + + // Live per-step guidance: the armed tool says which step it is on, we write the sentence. + m_viewport->set_on_sketch_step([this](DesignSketchTool::Mode mode, int step, int picks) { + on_sketch_step(int(mode), step, picks); + }); + + // A live constraint appeared or went away: refill the rows. CallAfter, not a direct call — + // one of the callers is the ✗ button's own click handler, and rebuild_constraint_list + // destroys those buttons; deleting the window whose handler is still on the stack is a + // use-after-free. Deferring to the next event-loop turn lets the handler return first. + m_viewport->set_on_sketch_constraints_changed([this]() { + CallAfter([this]() { rebuild_constraint_list(); }); + }); + + // DoF feedback (P3): after each live solve, report constraint state on its own + // line. Green = fully constrained, red = conflicting, neutral = N remaining DoF. + m_viewport->set_on_solve_state([this](int dof, bool ok, bool has_constraints) { + // Remembered as well as shown: the readout is fed ONLY by a live solve, and entering + // Constrain mode triggers none — so without a cache the very line the user goes to + // Constrain to read stays blank until they happen to change something. + m_dof_last = dof; m_dof_last_ok = ok; m_dof_last_has = has_constraints; + apply_dof_status(dof, ok, has_constraints); + }); + + // Selection no longer writes the status line: on_sketch_step owns it, says the same thing + // for Select mode and — unlike this callback, which also fired while an edit-op mirrored its + // picks into the selection — never claims "N selected, Delete removes them" in the middle of + // a Mirror gesture, where Delete does nothing of the sort. 1c0c. + + // Onshape flow: clicking inside a closed-loop face commits the sketch and opens + // the Extrude dialog (with a ghost preview) targeting that sketch. + m_viewport->set_on_sketch_face_selected([this](int region) { + if (!m_viewport) return; + m_viewport->finish_sketch(); // commit live sketch (synchronous) + m_extrude_sketch_ref = resolve_extrude_sketch(); + if (m_extrude_sketch_ref < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Could not resolve the sketch to extrude")); + m_status->Refresh(); + return; + } + set_ui_mode(UiMode::Feature); + open_tool(Tool::Extrude); + // AFTER open_tool, not before: opening the tool re-derives the selection state, so a + // region recorded ahead of it is wiped before Extrude ever reads it. + m_sel_sketch_feat = m_extrude_sketch_ref; + m_sel_sketch_region = region; + m_sel_solid_face = m_sel_solid_edge = -1; + m_pick_face = m_pick_face_body = -1; + m_viewport->set_loop_pick(m_extrude_sketch_ref, region); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Face selected — set the depth and Confirm")); + m_status->Refresh(); + }); + + // Clicking a committed sketch loop on the plate (no live session) selects THAT loop: + // the viewport highlights only it (cyan) and its Sketch feature's tree row is selected. + // The (feature, region) pair is remembered so Extrude builds just that one loop. + m_viewport->set_on_display_sketch_selected([this](int feat, int region, int entity) { + if (feat < 0 || feat >= int(m_doc.features.size())) return; + m_sel_sketch_feat = feat; + m_sel_sketch_region = region; + // Last pick wins (symmetric with the solid-pick handler): selecting a sketch loop drops + // any stale solid face/edge pick so Extrude treats this loop as the profile. + m_sel_solid_face = m_sel_solid_edge = -1; + m_pick_face = m_pick_face_body = -1; + // Rib card open: point at the LINE, do not type its index. 'Entity index' was a bare + // wxSpinCtrl ranged 0-999 standing in for a line sitting visible on screen, with nothing + // anywhere telling you which integer was which — the purest case of the thing this epic + // exists to remove. Only a stroke hit carries an entity (an interior click is a region, + // not a line), so a click inside a loop deliberately leaves the field alone rather than + // resetting it to something arbitrary. The sketch picker follows the same pick, so + // pointing at a line in a different sketch retargets both together. 3648. + if (m_active == Tool::Rib && entity >= 0) { + if (m_rib_sketch != nullptr) + for (unsigned i = 0; i < m_rib_sketch->GetCount(); ++i) + if (int(reinterpret_cast<intptr_t>(m_rib_sketch->GetClientData(i))) == feat) { + m_rib_sketch->SetSelection(i); + break; + } + if (m_rib_entity != nullptr) m_rib_entity->SetValue(entity); + refresh_preview(); + } + // Sweep card open: the sketch you point at becomes the PATH. The profile is already + // settled selection-first — you pick a sketch and then invoke Sweep, which is the design + // law's own canonical example — so the path is the input that was still trapped in a + // combo. The picker excludes the profile, so pointing at the profile correctly does + // nothing. e1p item 6; same shape as the Boolean and Mirror fixes. + if (m_active == Tool::Sweep && m_sweep_path != nullptr) { + for (unsigned i = 0; i < m_sweep_path->GetCount(); ++i) { + if (int(reinterpret_cast<intptr_t>(m_sweep_path->GetClientData(i))) != feat) continue; + m_sweep_path->SetSelection(i); + m_sweep_path_ref = feat; + refresh_preview(); + break; + } + } + // Loft card open: pointing at a sketch TOGGLES its membership, so a loft is built by + // clicking the profiles in the viewport instead of hunting rows in a check-list. The + // list stays visible as the typed half and still shows the order, which matters here — + // loft order is not commutative. + if (m_active == Tool::Loft && m_loft_list != nullptr) { + for (size_t i = 0; i < m_loft_sketch_idx.size() && i < m_loft_list->GetCount(); ++i) { + if (m_loft_sketch_idx[i] != feat) continue; + m_loft_list->Check(unsigned(i), !m_loft_list->IsChecked(unsigned(i))); + refresh_preview(); + break; + } + } + set_tree_selection(feat); + m_status->SetForegroundColour(wxNullColour); + set_status(region >= 0 + // "Region", not "Loop": what is selected — and what Extrude will consume — is the + // bounded area including any holes in it, not a single closed curve. + ? _L("Region selected — right-click to Extrude, or double-click to edit") + : _L("Sketch selected — right-click to Extrude, or double-click to edit")); + m_status->Refresh(); + }); + + // Double-click a committed sketch stroke: open THAT sketch for editing, where its entities + // are individually selectable and their quotes editable. on_edit_feature already does the + // whole job — it was only ever reachable from the tree, which is precisely the side-panel + // dependency being retired. The pick has already lit the right tree row by the time the + // double-click arrives, but set it again so the path does not depend on that ordering. + m_viewport->set_on_display_sketch_activated([this](int feat) { + if (feat < 0 || feat >= int(m_doc.features.size())) return; + set_tree_selection(feat); + on_edit_feature(); + }); + + // F key (Prepare's Place on Face): the tool forwards it here when the Design viewport + // has focus; we lay the selected body face on the bed. Returns false when no face is + // selected so the key can fall through to the default handler. + m_viewport->set_on_place_on_face([this]() { return place_on_face(); }); + + // Clicking a solid cycles whole -> face -> edge. The tool draws the cyan overlay for ALL + // levels now (per-body, so other bodies stay untinted) — no whole-compound set_body_highlight. + m_viewport->set_on_solid_selection_changed([this](int level, int body, int face, int edge) { + // A pick that fell through the move gizmo (clicked off the arrows) exits move mode. + if (m_viewport->moving_body()) m_viewport->clear_move_gizmo(); + // Remember which body + face/edge so Extrude / dress-up target the RIGHT body. + m_sel_solid_body = (level >= 1) ? body : -1; + m_sel_solid_face = (level == 2) ? face : -1; // 4 = Vertex: a corner is not its face + m_sel_solid_edge = (level == 3) ? edge : -1; + m_sel_solid_vertex = (level == 4); + // Keep the hit face even at whole-body level: the cycle's first click means "this body", + // but the user pointed AT a face and a sketch should be able to use it. 3a2. + m_pick_face_body = (level >= 1) ? body : -1; + m_pick_face = (level >= 1) ? face : -1; + // Last pick wins: selecting a solid drops any stale committed-sketch loop selection. + // Otherwise a leftover loop keeps `m_sel_sketch_region >= 0`, which blocks the face + // push/pull branch in Extrude (`m_sel_solid_face >= 0 && m_sel_sketch_region < 0`) and + // makes Extrude build a DETACHED new body from the last sketch instead of push/pulling + // the face the user just clicked. + if (level >= 1) { m_sel_sketch_region = -1; m_sel_sketch_feat = -1; } + // Say what got picked. Without this the ONLY feedback is the viewport highlight, so a + // pick that registers but draws faintly is indistinguishable from one that never + // happened — which is precisely how this failure was reported and why it resisted + // diagnosis. Cards that show their own labels still do. The label itself is written + // ONCE, at the end of this handler — a second writer here only ever produced text that + // the later one overwrote before a frame was drawn, and reading it as the live string + // is how a vertex pick came to be "fixed" in a branch that never reaches the screen. + // If the Fillet/Chamfer card is open, re-anchor (or drop) the radius arrow on the new pick + // and rebuild the ghost — once an edge is picked the preview-only mode hides the base body. + if (m_active == Tool::Dressup) { sync_dressup_target(); update_fillet_gizmo(); refresh_preview(); } + // Boolean card open: the VIEWPORT is how you choose the two operands. Until now they + // could only come from two combos — the one control the charter names for this tool + // (e1p item 4), and the same pair 7xx caught silently resolving every row to + // index 0. The highlight already flowed card -> viewport; this closes the loop the + // other way. First pick is the target (kept), second is the tool (consumed); the + // combos mirror both, so the typed half of L2 still works and still round-trips. + // A body cannot be both operands — that boolean is a no-op — but the resolution is to + // SWAP, never to refuse: the pick is the user pointing at a body, and it has to win. + // Refusing it was measurably wrong. Both combos are pre-filled when the card opens + // (target = body 0, tool = a different one), so the very first viewport pick usually + // names a body the other slot already holds; ignoring it left the defaults in place and + // the commit produced body0 - body1 (75000 mm3) when the picks asked for body1 - body0 + // (43000 mm3). Swapping keeps the pair distinct AND honours the click. + if (m_active == Tool::Boolean && m_sel_solid_body >= 0) { + ComboBox* dst = (m_bool_next_slot == 0) ? m_bool_target : m_bool_tool; + ComboBox* other = (m_bool_next_slot == 0) ? m_bool_tool : m_bool_target; + const int row = m_sel_solid_body; // selection index == body index + if (dst != nullptr && row < int(dst->GetCount())) { + const int prev = dst->GetSelection(); + dst->SetSelection(row); + if (other != nullptr && other->GetSelection() == row && prev >= 0 && prev != row) + other->SetSelection(prev); // displaced operand takes the old slot + m_bool_next_slot ^= 1; + refresh_preview(); // re-tints the operands + rebuilds the ghost + } + } + // Mirror card open: the body you point at is the body that gets mirrored. Same one-way + // flow Boolean had (310o) and the same fix — the combo stays as the typed half. + // Only one operand here, so there is no slot to alternate and no swap to do. + if (m_active == Tool::Mirror && m_sel_solid_body >= 0 && m_mirror_body != nullptr && + m_sel_solid_body < int(m_mirror_body->GetCount())) { + m_mirror_body->SetSelection(m_sel_solid_body); // selection index == body index + refresh_preview(); + } + // If the Shell card is open, a face pick chooses the open face: update the label + gizmo + // + ghost so the hollow updates live. + if (m_active == Tool::Shell) { + m_shell_face_label->SetLabel(m_sel_solid_face >= 0 + ? wxString::Format(_L("Face %d"), m_sel_solid_face) + : _L("(all faces — closed hollow)")); + refresh_preview(); // rebuilds the shell ghost + re-anchors the thickness gizmo + } + // Thicken card open: the face pick IS the feature's input, and until now nothing here + // wrote its label — the value reached m_sel_solid_face and Confirm worked, but the card + // read "(pick a solid face)" however many faces you had picked. Invisible because the + // ghost did update, so the card looked wrong while behaving right. + if (m_active == Tool::Thicken) { + m_thicken_face_label->SetLabel(m_sel_solid_face >= 0 + ? wxString::Format(_L("Face %d"), m_sel_solid_face) + : _L("(pick a solid face)")); + refresh_preview(); + } + // Draft card open: a face pick chooses the face to taper; update label + ghost live. + if (m_active == Tool::Draft) { + m_draft_face_label->SetLabel(m_sel_solid_face >= 0 + ? wxString::Format(_L("Face %d"), m_sel_solid_face) + : _L("(pick a side face)")); + refresh_preview(); + } + // Hole card open: clicking a solid FACE re-targets the hole ONTO that face (Orca-style), + // so the hole lives on the object's face — not on a stale dropdown/datum plane. Uses the + // face under the cursor from the FIRST click (handle_solid_click reports it even at the + // Whole level), so no whole->face cycle is needed. + if (m_active == Tool::Hole && face >= 0 && body >= 0 && body < int(m_doc.bodies.size())) { + const TopoDS_Face fc = GeometryEngine::face_by_index(m_doc.bodies[body].shape, face); + if (!fc.IsNull()) { + m_hole_face_plane = face_plane_inward(fc); + m_hole_on_face = true; + m_hole_face_body = body; + set_hole_target_label(face); + m_hole_has_bounds = GeometryEngine::face_plane_bounds( + fc, m_hole_face_plane.origin, m_hole_face_plane.x_axis, + m_hole_face_plane.y_axis, m_hole_umin, m_hole_umax, m_hole_vmin, m_hole_vmax); + if (m_hole_x) m_hole_x->SetValue(0.0); // centre of the picked face + if (m_hole_y) m_hole_y->SetValue(0.0); + if (m_hole_plane) m_hole_plane->SetSelection(index_from_plane(m_hole_face_plane)); + refresh_preview(); // re-place the gizmo + ghost on the new face + } + } + // Thread card open: clicking a cylindrical face or circular edge re-derives the thread. + if (m_active == Tool::Thread && body >= 0 && body < int(m_doc.bodies.size())) { + const TopoDS_Shape& shape = m_doc.bodies[body].shape; + GeometryEngine::CylinderFace cf; + if (face >= 0) + cf = GeometryEngine::cylinder_of_face(GeometryEngine::face_by_index(shape, face)); + const bool from_face = cf.ok; // which of the two the cylinder actually came from + if (!cf.ok && edge >= 0) + cf = GeometryEngine::circle_of_edge(GeometryEngine::edge_by_index(shape, edge)); + if (cf.ok) { + SketchPlane p; p.origin = cf.base; p.normal = cf.axis; + const Vec3d ref = std::abs(cf.axis.z()) < 0.9 ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + p.x_axis = ref.cross(cf.axis).normalized(); + p.y_axis = cf.axis.cross(p.x_axis).normalized(); + m_thread_face_plane = p; + m_thread_on_face = true; + m_thread_face_body = m_sel_solid_body; + set_thread_target_label(from_face ? face : -1, from_face ? -1 : edge); + infer_thread_spec(2.0 * cf.radius); // M diameter + pitch + depth from the cylinder + if (m_thread_height && cf.height > 1e-6) m_thread_height->SetValue(cf.height); + if (m_thread_internal) m_thread_internal->SetValue(cf.internal); + refresh_preview(); + } + } + // Plane tool with a pick armed: capture the right kind of reference (face for Face A/B, + // edge for Edge A/B). If the click wasn't the right kind, stay armed so the user retries. + if (m_active == Tool::Plane && m_plane_pick != PlanePick::None) { + bool got = false; + switch (m_plane_pick) { + case PlanePick::FaceA: if (m_sel_solid_face >= 0) { m_pl_faceA_body = m_sel_solid_body; m_pl_faceA = m_sel_solid_face; got = true; } break; + case PlanePick::FaceB: if (m_sel_solid_face >= 0) { m_pl_faceB_body = m_sel_solid_body; m_pl_faceB = m_sel_solid_face; got = true; } break; + case PlanePick::EdgeA: if (m_sel_solid_edge >= 0) { m_pl_edgeA_body = m_sel_solid_body; m_pl_edgeA = m_sel_solid_edge; got = true; } break; + case PlanePick::EdgeB: if (m_sel_solid_edge >= 0) { m_pl_edgeB_body = m_sel_solid_body; m_pl_edgeB = m_sel_solid_edge; got = true; } break; + default: break; + } + if (got) { m_plane_pick = PlanePick::None; refresh_plane_labels(); } + if (got && m_viewport) m_viewport->set_escalate_on_repick(true); + } + // Axis tool with a pick armed: face or edge. + if (m_active == Tool::Axis && m_axis_pick != AxisPick::None) { + bool got = false; + switch (m_axis_pick) { + case AxisPick::Face: if (m_sel_solid_face >= 0) { m_ax_face_body = m_sel_solid_body; m_ax_face = m_sel_solid_face; got = true; } break; + case AxisPick::Edge: if (m_sel_solid_edge >= 0) { m_ax_face_body = m_sel_solid_body; m_ax_edge = m_sel_solid_edge; got = true; } break; + default: break; + } + if (got) { m_axis_pick = AxisPick::None; refresh_axis_labels(); } + if (got && m_viewport) m_viewport->set_escalate_on_repick(true); + } + // CoordSys tool with a pick armed: face or edge. + if (m_active == Tool::CoordSys && m_coordsys_pick != CoordSysPick::None) { + bool got = false; + switch (m_coordsys_pick) { + case CoordSysPick::Face: if (m_sel_solid_face >= 0) { m_cs_face_body = m_sel_solid_body; m_cs_face = m_sel_solid_face; got = true; } break; + case CoordSysPick::Edge: if (m_sel_solid_edge >= 0) { m_cs_face_body = m_sel_solid_body; m_cs_edge = m_sel_solid_edge; got = true; } break; + default: break; + } + if (got) { + // A picked face or edge is only meaningful to FaceAndDirection. Left on the + // default Point (world), datum_frame ignores the pick entirely and resolves the + // connector to coordsys_point — which is (0,0,0) unless the user typed + // otherwise. Two such connectors then share one frame, so a mate between them + // computes an IDENTITY transform: the feature commits, the recompute succeeds, + // and nothing moves. Picking a face IS the choice of a face-based frame, so make + // the type follow the pick rather than asking for it twice. + if (m_coordsys_type && m_coordsys_type->GetSelection() != (int)CoordSysType::FaceAndDirection) + m_coordsys_type->SetSelection((int)CoordSysType::FaceAndDirection); + m_coordsys_pick = CoordSysPick::None; + refresh_coordsys_labels(); + } + if (got && m_viewport) m_viewport->set_escalate_on_repick(true); + } + m_status->SetForegroundColour(wxNullColour); + const int nb = int(m_doc.bodies.size()); + const wxString bodytag = (nb > 1) ? wxString::Format(_L("Body %d "), body + 1) : wxString(); + // Each sub-element line ends by naming the NEXT click (gem). Escalation to the + // whole body is a gesture nothing on screen would otherwise reveal, and the status line + // is the only surface that can teach it at the moment it applies. It REPLACES the old + // per-level verb hints ("right-click to push/pull it", "Fillet/Chamfer to dress it") + // rather than joining them: the line is clipped at the panel edge past ~55 characters + // (set_status's Wrap() does not take effect — 8cc), and those verbs are shown + // with their icons in the offer anyway, while this gesture is shown nowhere else. + // Both clauses fit now that the line is drawn over the viewport instead of squeezed + // into the panel. Say "what applies to it", never "verbs" — that is this codebase's + // word for a tool-offer entry, not a word the drawing office uses, and the plane and + // bodies-list lines already say it the right way. + set_status(level == 4 ? bodytag + _L("vertex selected — click again for the whole body") + : level == 1 ? bodytag + _L("selected (whole body) — right-click for what applies to it") + : level == 2 ? bodytag + wxString::Format(_L("face %d selected — right-click to push/pull it, or click again for the whole body"), face) + : level == 3 ? bodytag + wxString::Format(_L("edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body"), edge) + : _L("Nothing selected")); + m_status->Refresh(); + }); + + // Visual Extrude gizmo (C5b): dragging/editing the in-canvas depth arrow writes the + // matching spin field and re-previews (which re-feeds the gizmo with the new depth). + m_viewport->set_on_extrude_depth_changed([this](double depth, bool second) { + // One arrow, three tools: Extrude owns the two-sided pair, the other two have a single + // distance each. Routing here rather than arming three near-identical gizmos is the whole + // reason these two tools got a handle at all — the arrow was already written. + if (m_active == Tool::SurfaceExtrude) { + if (m_surf_extrude_distance) m_surf_extrude_distance->SetValue(depth); + } else if (m_active == Tool::Thicken) { + if (m_thicken_thickness) m_thicken_thickness->SetValue(depth); + } else if (m_active == Tool::Rib) { + if (m_rib_depth) m_rib_depth->SetValue(depth); // depth; thickness has its own in-plane pair + } else if (m_active == Tool::SurfaceOffset) { + if (m_surf_offset_distance) m_surf_offset_distance->SetValue(depth); + } else if (m_active == Tool::ThickenSurface) { + if (m_surf_thicken_thickness) m_surf_thicken_thickness->SetValue(depth); + } else if (second) { if (m_distance2) m_distance2->SetValue(depth); } + else { if (m_distance) m_distance->SetValue(depth); } + refresh_preview(); + }); + + // Datum-plane resize handles (C3): a handle drag reports the new u/v extent. Mirror it into the + // Size spins and, when editing a committed datum, into the feature so the rendered rectangle + // follows live. SetValue doesn't emit a command event, so no refresh_preview recursion. + m_viewport->set_on_datum_size_changed([this](double u, double v) { + if (m_plane_usize) m_plane_usize->SetValue(u); + if (m_plane_vsize) m_plane_vsize->SetValue(v); + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size()) && + m_doc.features[m_edit_index].type == CadFeatureType::Plane) { + m_doc.features[m_edit_index].plane_u_size = u; + m_doc.features[m_edit_index].plane_v_size = v; + refresh_datum_planes(); // committed datum rectangle follows the drag + } + m_viewport->request_repaint(); + }); + + // Offset arrow drag: mirror the new offset into the spin + (when editing) the committed feature. + m_viewport->set_on_datum_offset_changed([this](double off) { + if (m_plane_offset) m_plane_offset->SetValue(off); + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size()) && + m_doc.features[m_edit_index].type == CadFeatureType::Plane) { + m_doc.features[m_edit_index].plane_offset = off; + refresh_datum_planes(); + } + m_viewport->request_repaint(); + }); + + // Helix handles: a drag reports the whole triple, since pitch and height are coupled + // through the turn count and reading one without the others would show a stale curve. + m_viewport->set_on_helix_changed([this](double radius, double pitch, double height) { + if (m_helix_radius) m_helix_radius->SetValue(radius); + if (m_helix_pitch) m_helix_pitch->SetValue(pitch); + if (m_helix_height) m_helix_height->SetValue(height); + update_helix_gizmo(); // re-feed so the curve follows the drag + m_viewport->request_repaint(); + }); + + // Rib thickness handle: writes the spin and re-feeds the ghost, same as the depth arrow. + m_viewport->set_on_rib_thickness_changed([this](double thickness) { + if (m_rib_thickness) m_rib_thickness->SetValue(thickness); + refresh_preview(); // Rib HAS a solid ghost, so the full preview path is correct here + }); + + // Clicking a ghost base plane sets the base graphically (replaces the dropdown). A base pick + // drops any offset-from-face choice so the picked base plane wins, then re-resolves the preview. + m_viewport->set_on_datum_base_picked([this](int base) { + if (m_active == Tool::Plane) { + // Plane tool open: the click sets the datum's base plane (replaces the dropdown). + if (m_plane_base && base >= 0 && base < int(m_plane_base->GetCount())) + m_plane_base->SetSelection(base); + m_pl_faceA_body = m_pl_faceA = -1; + refresh_plane_labels(); + refresh_preview(); // re-resolve the frame + move the gizmo/ghosts to the new base + } else { + // Clicking a reference plane in 3D IS how a sketch plane is chosen now. Record it and, + // when a session is already live, re-plane it immediately: begin_sketch captures the + // plane at first-tool-pick, so without this the entities would stay on the old plane + // while the committed feature landed on the new one. + if (base >= 0) { + m_ref_plane = base; + m_plane_picked = true; // chosen, not merely defaulted to + m_pick_face = m_pick_face_body = -1; // last pick wins: a plane beats a stale face + if (m_viewport && m_viewport->is_sketching()) + m_viewport->set_sketch_plane(plane_from_choice(m_ref_plane)); + } + const char* nm = (base == 0) ? "XY" : (base == 1) ? "XZ" : (base == 2) ? "YZ" : "datum"; + m_status->SetForegroundColour(wxColour(120, 210, 120)); + // Both halves named the TOOLBAR, which no longer carries either button: the tools + // moved to the offer. Name the gesture that actually works in each mode, and say + // what a plain click does, since the two are easy to confuse on a plane. + set_status(m_ui_mode == UiMode::Sketch + ? wxString::Format(_L("%s plane selected — right-click for the drawing tools"), nm) + : wxString::Format(_L("%s plane selected — right-click to sketch on it, " + "or click an object to select it"), nm)); + m_status->Refresh(); + } + }); + + // Move-body gizmo (M5): each drag/edit reports the body's new translation. Store it as a + // display-only per-body transform and re-feed the moved meshes (the OCCT shape is untouched, + // so face/edge ids the dress-up ops target stay valid). + m_viewport->set_on_body_move_changed([this](int body, const Transform3d& xform) { + sync_body_xform(); + if (body < 0 || body >= int(m_body_xform.size())) return; + m_body_xform[body] = xform; // full move+rotate transform, baked into the mesh at Commit + feed_bodies(); // rebuilds the transformed meshes in place + refreshes display + pick + // When the move gizmo is serving the Transform card, mirror the drag into the card's + // numeric fields (the card is the typed half, the gizmo the geometry-first half). + if (body == m_xf_gizmo_body && m_active == Tool::Transform) { + const Transform3d d = xform * m_xf_gizmo_base.inverse(); + const Vec3d t = d.translation(); + if (m_xf_dx) m_xf_dx->SetValue(t.x()); + if (m_xf_dy) m_xf_dy->SetValue(t.y()); + if (m_xf_dz) m_xf_dz->SetValue(t.z()); + const Eigen::AngleAxisd aa(Eigen::Quaterniond(d.linear()).normalized()); + // The gizmo's rings are per-world-axis, so a ring drag yields an exactly axial + // rotation and this is lossless for the normal interaction. A composed multi-ring + // pose is not axial; the card can only express one axis, so report the dominant one + // rather than refusing to answer. + int ax = 0; double best = std::abs(aa.axis().x()); + if (std::abs(aa.axis().y()) > best) { ax = 1; best = std::abs(aa.axis().y()); } + if (std::abs(aa.axis().z()) > best) { ax = 2; best = std::abs(aa.axis().z()); } + const double sign = (aa.axis()[ax] < 0.0) ? -1.0 : 1.0; + if (m_xf_axis) m_xf_axis->SetSelection(ax); + if (m_xf_angle) m_xf_angle->SetValue(sign * aa.angle() * 180.0 / M_PI); + } + const int nb = int(m_doc.bodies.size()); + const wxString tag = (nb > 1) ? wxString::Format(_L("Body %d "), body + 1) : wxString(); + const Vec3d t = xform.translation(); + m_status->SetForegroundColour(wxNullColour); + set_status(tag + wxString::Format(_L("placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate"), + t.x(), t.y(), t.z())); + m_status->Refresh(); + }); + + // Fillet/Chamfer radius gizmo: dragging (or editing) the edge-anchored arrow writes the + // Dress-up size and refreshes the ghost. SetValue is silent in wx, so refresh explicitly. + m_viewport->set_on_fillet_radius_changed([this](double radius) { + if (m_dressup_size) m_dressup_size->SetValue(radius); + refresh_preview(); // rebuilds the candidate fillet ghost at the new radius + }); + + // Hole gizmo: dragging/editing the centre, diameter, or depth handle writes the four Hole-card + // spins and refreshes the ghost. SetValue is silent in wx, so refresh explicitly. + m_viewport->set_on_hole_changed([this](double x, double y, double diameter, double depth) { + if (m_hole_x) m_hole_x->SetValue(x); + if (m_hole_y) m_hole_y->SetValue(y); + if (m_hole_diameter) m_hole_diameter->SetValue(diameter); + if (m_hole_depth) m_hole_depth->SetValue(depth); + refresh_preview(); // rebuilds the candidate hole ghost at the new position/size + }); + + // Thread gizmo: dragging/editing the centre, radius, or length handle writes the Thread-card + // spins and refreshes the ghost (SetValue is silent in wx). + m_viewport->set_on_thread_changed([this](double x, double y, double radius, double height) { + if (m_thread_x) m_thread_x->SetValue(x); + if (m_thread_y) m_thread_y->SetValue(y); + if (m_thread_radius) m_thread_radius->SetValue(2.0 * radius); // gizmo reports radius; field = diameter + if (m_thread_height) m_thread_height->SetValue(height); + refresh_preview(); + }); + + // Shell gizmo: dragging/editing the inward thickness arrow writes the Shell-card thickness + // and refreshes the ghost (SetValue is silent in wx). + m_viewport->set_on_shell_thickness_changed([this](double thickness) { + if (m_shell_thickness) m_shell_thickness->SetValue(thickness); + refresh_preview(); + }); + + m_viewport->set_on_revolve_angle_changed([this](double angle) { + if (m_revolve_angle) m_revolve_angle->SetValue(angle); + refresh_preview(); + }); + + m_viewport->set_on_draft_angle_changed([this](double angle) { + if (m_draft_angle) m_draft_angle->SetValue(angle); + refresh_preview(); + }); + + // Cut gizmo: dragging the offset arrow writes the Cut-card offset and refreshes the ghost. + m_viewport->set_on_cut_offset_changed([this](double v) { + if (m_cut_offset) m_cut_offset->SetValue(v); + refresh_preview(); + }); + + m_viewport->set_on_pattern_changed([this](double value) { + // Linear drag feeds spacing; circular drag feeds angle. The card knows which is live. + if (m_pattern_type && m_pattern_type->GetSelection() == 1) { + if (m_pattern_angle) m_pattern_angle->SetValue(value); + } else if (m_pattern_spacing) { + m_pattern_spacing->SetValue(value); + } + refresh_preview(); + }); + + // Leaving an EMPTY sketch session: restore Feature mode + the committed-sketch overlay. + // request_exit() calls this only for an idle Select session that holds no geometry, so + // nothing a user drew can reach here — discarding drawn work goes through tool_cancel's + // confirmation instead. + m_viewport->set_on_sketch_exit([this]() { + // While placing imported Text/SVG art, right-click = Confirm (keep the art) — the + // Insert card is the explicit gate, this is the in-canvas shortcut to it. + if (m_active == Tool::Insert) { finalize_insert(); return; } + if (m_viewport) m_viewport->cancel_sketch(); + m_edit_index = -1; + set_ui_mode(UiMode::Feature); + sync_sketch_display(); + refresh_tree(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Tool exited")); + m_status->Refresh(); + }); + + // The tool declined to leave because the session holds geometry. There is no "press it again" + // any more — the answer is a deliberate Finish or Cancel — so this is a plain statement of + // where you are, not a warning shot. Only the STATUS LINE lives here; the tool reports via + // this callback instead of writing text itself. + m_viewport->set_on_sketch_exit_refused([this]() { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Sketch kept — Finish to commit it, Cancel to discard")); + m_status->Refresh(); + }); + + // Ctrl+Z / Ctrl+Shift+Z (Ctrl+Y) from the viewport → feature-history undo/redo. + m_viewport->set_on_undo_redo([this](bool redo) { do_undo_redo(redo); }); + + // Esc = the unified Cancel everywhere. Feature cards had no key exit (only the button); + // CHAR_HOOK on the panel catches Esc from the card or viewport and routes to tool_cancel. + // Sketch/Constrain keep the viewport's per-gesture Esc (abort the current point first), + // so we only intercept Esc here when a feature/insert card is the thing to dismiss. + Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& e) { + const int key = e.GetKeyCode(); + const bool ctrl = e.ControlDown() || e.CmdDown(); + const bool sketching = (m_ui_mode == UiMode::Sketch) && m_viewport && m_viewport->is_sketching(); + // Which key MAP applies is a question about the MODE, not about whether a session is + // already running. Gating the sketch map on is_sketching() made it unreachable by + // keyboard: is_sketching() only turns true inside select_tool()'s begin_sketch(), and + // select_tool() is what the sketch keys call — so the first letter after entering + // sketch mode fell through to the feature map, matched nothing (feature keys are + // Shift+letter), and did nothing. The mouse worked only because the toolbar flyout + // reaches select_tool() directly. That is why all 17 keys read as dead. 0ud. + const bool sketch_mode = (m_ui_mode == UiMode::Sketch); + // Never steal editing keys from a focused text field or an open in-canvas value field — + // Delete/Ctrl+Z there must edit the text, not the model. + const bool in_text = (dynamic_cast<wxTextCtrl*>(wxWindow::FindFocus()) != nullptr) + || (m_viewport && m_viewport->inline_busy()); + if (getenv("ORCA_CAD_KEYTRACE")) { + wxWindow* fw = wxWindow::FindFocus(); + fprintf(stderr, "[KEYTRACE] key=%d ui_mode=%d is_sketching=%d in_text=%d inline_busy=%d focus=%s\n", + key, int(m_ui_mode), (m_viewport && m_viewport->is_sketching()) ? 1 : 0, in_text ? 1 : 0, + (m_viewport && m_viewport->inline_busy()) ? 1 : 0, + // wxString, not a cast: GetClassName() returns const wxChar* — wchar_t* in + // this build — and casting THAT to const char* and printing it with %s emits + // the first byte and stops at the padding NUL. Every focus= field this tracer + // has ever printed was a single letter: "wxGLCanvas" came out as "w", and so + // did "wxWindow". An instrument that silently truncates its most important + // field is worse than no instrument, and this one was trusted for a whole + // day's diagnosis. + fw ? wxString(fw->GetClassInfo()->GetClassName()).utf8_str().data() : "(none)"); + fflush(stderr); + } + + // NOTE the position: this sits AFTER the KEYTRACE block on purpose. It returns early, + // and putting it first made every forwarded key invisible to the tracer — the one + // instrument that diagnosed this bug in the first place. + // The in-canvas value field is a borderless, always-on-top top-level frame, so whether it + // may take keyboard focus is the platform's decision, not ours: macOS denies key status to a + // borderless window, mutter's focus-stealing prevention refuses a re-mapped window, and the + // rig never grants it. When focus is refused, Enter/Esc/Tab are delivered HERE (to the panel) + // instead of the field, its own wxEVT_TEXT_ENTER / WXK_ESCAPE bindings never fire, and the + // queued-dimension chain (a line queues Length then Angle) becomes unwalkable. Forwarding them + // makes the field behave the same everywhere WITHOUT fighting the window manager for focus, + // which is what seven earlier attempts did unsuccessfully. When the field DOES hold focus we + // deliberately do nothing here, so its own bindings run and typing keeps working. + if (m_viewport && m_viewport->inline_busy() && !m_viewport->inline_has_focus()) { + if (key == WXK_RETURN || key == WXK_NUMPAD_ENTER || key == WXK_TAB) { + m_viewport->inline_commit(); + return; + } + // NO forwarding here any more. The field is drawn INSIDE the GL canvas now, so it + // is fed the way every other ImGui widget in this app is fed: GLCanvas3D::on_char -> + // ImGuiWrapper::update_key_data -> io.AddInputCharacter. Re-adding a panel-side + // forwarder would also mask whether that path works, which is exactly what is being + // measured. + // Esc is NOT special-cased here any more: escape() routes it, and the open field is + // exactly what CadLevel::Transient means, so it closes the field and stops there. + } + + // ONE Esc, ONE route, whatever holds focus. Which widget has focus is an accident of where + // the user last clicked (a toolbar button, the Construction checkbox), and Esc must not + // depend on it. It used to be answered in four places — the inline field above, a sketch + // branch, a feature-card branch, and the canvas — none of which could see the others, so + // a press aimed at one of them fell through to the next and the SECOND press reached a + // layer that discarded the live sketch. escape() picks the single deepest live level and + // acts on that one only; see DesignInteraction.hpp for the ladder and its invariant. + if (key == WXK_ESCAPE) { escape(); return; } + + // The offer from the keyboard (charter 4.1): the Menu key, or Shift+F10 for keyboards that + // do not have one. Same menu the right-click opens — show_offer_menu already decides which + // half of the map applies via sketch_map_applies(), so nothing about the content is decided + // here. With no press to anchor it, offer_anchor() puts it on the viewport. + // WXK_MENU is the GTK code for the physical Menu key (GDK_KEY_Menu); wxMSW instead sends + // WXK_WINDOWS_MENU for VK_APPS and maps Alt to WXK_ALT, so accepting both is safe + // everywhere. CallAfter because the menu is modal: let the key event finish dispatching + // before a nested loop takes the queue, the same reason the Sketch entry does it. + if (!in_text && !ctrl + && (key == WXK_MENU || key == WXK_WINDOWS_MENU || (key == WXK_F10 && e.ShiftDown()))) { + CallAfter([this] { show_offer_menu(offer_anchor()); }); + return; + } + + // Ctrl+Z / Ctrl+Shift+Z / Ctrl+Y — undo/redo handled here (not only in the GL canvas) so + // it works even when the canvas lost keyboard focus. In a sketch, undo drops the last entity. + if (!in_text && ctrl && (key == 'Z' || key == 'z' || key == WXK_CONTROL_Z || + key == 'Y' || key == 'y' || key == WXK_CONTROL_Y)) { + const bool redo = (key == 'Y' || key == 'y' || key == WXK_CONTROL_Y) || e.ShiftDown(); + if (sketching) { if (!redo) m_viewport->undo_last_sketch_entity(); } + else { do_undo_redo(redo); } + return; + } + // Delete — the selected sketch entities (or the last drawn one if none is selected), or the + // selected feature in Feature mode. Focus-independent, same reason as undo above. + // WXK_BACK too: on a keyboard whose Del is a chord (every laptop this runs on), Del is + // the one destructive key nobody can reach, and Backspace is what users press. oql1. + if (!in_text && (key == WXK_DELETE || (key == WXK_BACK && sketching))) { + if (sketching) { m_viewport->delete_selected_or_last_sketch_entity(); return; } + if (m_ui_mode == UiMode::Feature && m_active == Tool::None + && tree_selection() != wxNOT_FOUND) { on_delete_feature(); return; } + } + // Section view controls while it is on (Alt+Wheel is unreliable under remote desktops / is + // grabbed by GLCanvas3D, so the keyboard drives it): PageUp/PageDown move the plane, F flips + // which half is kept (so you can inspect the opposite part). + if (!in_text && !sketch_mode && m_section_on) { + if (key == WXK_PAGEUP || key == WXK_PAGEDOWN) { + m_section_cut_z += (key == WXK_PAGEUP ? 2.0 : -2.0); + if (m_viewport) m_viewport->set_section_plane(true, m_section_cut_z, m_section_upper); + return; + } + if (key == 'F' || key == 'f') { flip_section_view(); return; } + } + // Tool shortcuts (Onshape-style). While a sketch is open, single letters drive sketch + // tools; otherwise Shift+letter drives feature tools and single letters drive view + // toggles / section. Ctrl-combos and focused text fields are never intercepted. + // A SKETCH SHORTCUT MAY LEAVE AN OPEN VALUE FIELD. in_text is true while an inline + // dimension editor is up, and drawing a rectangle opens one automatically for its + // Width/Height — so after a rectangle every single-letter tool key was swallowed and the + // sketch could not be continued at all. A value field holds a NUMBER; a letter is never + // meant for it, so a letter that names a sketch tool is unambiguously a tool switch. + // set_tool() commits the field on the way through, so the typed value is kept. + // Deliberately narrow: sketch mode only, only keys that are actually bound, and only the + // in-canvas field — a focused wxTextCtrl elsewhere (the variables table, a card spin) + // still keeps every key. + const bool inline_field_only = (dynamic_cast<wxTextCtrl*>(wxWindow::FindFocus()) == nullptr) + && m_viewport && m_viewport->inline_busy(); + if (in_text && inline_field_only && sketch_mode && !ctrl) { + const int up2 = (key >= 'a' && key <= 'z') ? key - 'a' + 'A' : key; + auto it2 = m_keys_sketch.find(up2); + if (it2 != m_keys_sketch.end()) { it2->second(); return; } + } + // Ctrl+Shift first: the block below deliberately ignores every Ctrl-combo, which is + // exactly what makes this layer free to use. + if (!in_text && ctrl && e.ShiftDown()) { + const int up = (key >= 'a' && key <= 'z') ? key - 'a' + 'A' : key; + auto it = m_keys_feature.find(up | SC_SHIFT | SC_CTRL); + if (it != m_keys_feature.end()) { it->second(); return; } + } + if (!in_text && !ctrl) { + const int up = (key >= 'a' && key <= 'z') ? key - 'a' + 'A' : key; // normalise case + if (sketch_mode) { + auto it = m_keys_sketch.find(up); + if (it != m_keys_sketch.end()) { it->second(); return; } + } else { + auto it = m_keys_feature.find(up | (e.ShiftDown() ? SC_SHIFT : 0)); + if (it != m_keys_feature.end()) { it->second(); return; } + } + } + e.Skip(); + }); + + // Right-click finishes the move gizmo in the viewport; mirror that on the panel so the + // action bar (shown while moving) hides and the move state clears. + m_viewport->set_on_move_exit([this]() { m_move_body = -1; show_move_card(false); update_action_bar(); }); + + // The offer (§4.1): right-click the geometry, get the verbs that apply to it. Left-click + // still only selects, so pointing at things stays quiet. + m_viewport->set_on_context_menu([this](const wxPoint& p) { show_offer_menu(p); }); + + // The Line tool's length and the Dimension tool's value are both entered in-canvas now + // (live quote labels + the floating SketchInlineEditor), so the old docked-card + // callbacks (on_segment_drawn / on_dimension_pick_complete) are no longer wired. + + // Imported-art bbox transform streams the live offset/scale back here; write them to + // the feature and re-sync the overlay so the art tracks the drag. + m_viewport->set_on_imported_transform([this](int feat, Vec2d off, double sx, double sy) { + if (feat < 0 || feat >= int(m_doc.features.size())) return; + CadFeature& f = m_doc.features[feat]; + if (f.imported_regions.empty()) return; + f.import_offset = off; + f.import_scale_x = sx; + f.import_scale_y = sy; + m_doc.recompute(); + sync_sketch_display(); + }); + + auto* vcol = new wxBoxSizer(wxVERTICAL); + // The sketch banner sits ABOVE the viewport rather than floating inside it: a child window + // over a wxGLCanvas is a platform argument (it is a native window on GTK and does not + // reliably stack over GL), and the banner's job is to be unmissable, not to be clever. + m_sketch_banner = new wxPanel(this, wxID_ANY); + m_sketch_banner->SetBackgroundColour(wxColour(0, 122, 116)); // Orca teal: not a plate colour + m_sketch_banner_txt = new wxStaticText(m_sketch_banner, wxID_ANY, wxString()); + m_sketch_banner_txt->SetForegroundColour(*wxWHITE); + { + wxFont f = m_sketch_banner_txt->GetFont(); + f.SetWeight(wxFONTWEIGHT_BOLD); + m_sketch_banner_txt->SetFont(f); + auto* bs = new wxBoxSizer(wxHORIZONTAL); + bs->Add(m_sketch_banner_txt, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(6)); + m_sketch_banner->SetSizer(bs); + } + m_sketch_banner->Hide(); + vcol->Add(m_sketch_banner, 0, wxEXPAND); + // The bottom 3D-navigator orb handles all view orientation, so no separate view buttons. + // Fit view is a double-click on the viewport (the tool intercepts it -> zoom_to_volumes). + vcol->Add(m_viewport, 1, wxEXPAND); + + // Onshape layout: top toolbar over [ slim left column | center viewport ]. + auto* body = new wxBoxSizer(wxHORIZONTAL); + body->Add(m_form, 0, wxEXPAND); + body->Add(vcol, 1, wxEXPAND); + + auto* outer = new wxBoxSizer(wxVERTICAL); + outer->Add(m_toolbar, 0, wxEXPAND); + outer->Add(new wxStaticLine(this, wxID_ANY), 0, wxEXPAND); + outer->Add(body, 1, wxEXPAND); + SetSizer(outer); + + // The atlas says a verb is wired; the registrations above say what it runs. Nothing checks + // that the two agree, and a broken join is INVISIBLE — the row renders, is enabled, and does + // nothing when picked. That defect has shipped three times (edit_feature and sk_move carrying + // action:null, then a whole flyout family the moment its widget stopped being built), and it + // cannot be seen by reading either side alone. Verify the join once, here, where every + // registration is complete. Cheap: 86 map lookups, once per panel. + { + std::vector<std::string> dead; + for (int i = 0; i < kOfferVerbCount; ++i) { + const OfferVerb& v = kOfferVerbs[i]; + if (v.action == nullptr || *v.action == '\0') + continue; // kernel support, no GUI path — the row shows disabled + const std::string a(v.action); + bool ok = false; + if (a.rfind("key:", 0) == 0) { // resolved exactly as run_offer_action() resolves it + const std::string k = a.substr(4); + if (k.size() >= 3 && k[0] == 'S' && k[1] == '+') { + auto it = m_keys_feature.find(int(k[2]) | SC_SHIFT); + ok = it != m_keys_feature.end() && bool(it->second); + } else if (!k.empty()) { + auto it = m_keys_sketch.find(int(k[0])); + ok = it != m_keys_sketch.end() && bool(it->second); + } + } else { + auto it = m_verb_actions.find(a); + ok = it != m_verb_actions.end() && bool(it->second); + } + if (!ok) + dead.emplace_back(std::string(v.id) + " -> " + a); + } + for (const std::string& d : dead) + BOOST_LOG_TRIVIAL(error) << "Design offer: wired verb has no action: " << d; + assert(dead.empty()); // debug builds stop here; release ships the log line + } + + set_ui_mode(UiMode::Feature); +} + +void DesignPanel::set_active_tool_btn(ScalableButton* b) +{ + // Onshape-style: the active tool's button gets the Orca accent (teal); the + // rest revert to the ribbon surface. nullptr clears the whole strip. + m_active_tool_btn = b; + const wxColour bg = dp_ribbon_bg(), teal(0x00, 0x96, 0x88); + for (auto* btn : m_tool_btns) { + if (btn == nullptr) continue; + btn->SetBackgroundColour(btn == b ? teal : bg); + btn->Refresh(); + } +} + +// Paint the DoF line. Split out of the solve callback so entering Constrain can re-apply the +// last known state — see m_dof_last. +void DesignPanel::apply_dof_status(int dof, bool ok, bool has_constraints) +{ + if (!m_dof_status) return; + if (!has_constraints) { + m_dof_status->SetLabel(wxString()); + } else if (!ok) { + m_dof_status->SetForegroundColour(wxColour(235, 80, 80)); + m_dof_status->SetLabel(_L("✗ Conflicting constraints")); + } else if (dof == 0) { + m_dof_status->SetForegroundColour(wxColour(80, 200, 110)); + m_dof_status->SetLabel(_L("✓ Fully constrained")); + } else if (dof > 0) { + m_dof_status->SetForegroundColour(dp_ctl_text()); + m_dof_status->SetLabel(wxString::Format(_L("%d degrees of freedom"), dof)); + } else { + m_dof_status->SetLabel(wxString()); + } + m_dof_status->Show(!m_dof_status->GetLabel().IsEmpty()); + m_dof_status->Refresh(); + update_cards_frame(); m_form->Layout(); +} + +void DesignPanel::set_ui_mode(UiMode m) +{ + m_ui_mode = m; + if (m != UiMode::Sketch) m_sketch_on.clear(); // no stale "on the picked face" on the next hint + // The DoF readout describes a SKETCH's constraint state, so it means nothing back in Feature + // mode — where it nonetheless stayed on screen after every Confirm, Cancel and Escape + // (752). Cleared here rather than at those three exits because this is the one place + // all of them pass through, and a fourth exit added later would otherwise reintroduce it. + // Constrain mode keeps it: that is where the number is the whole point. + if (m == UiMode::Feature && m_dof_status != nullptr) { + m_dof_status->SetLabel(wxString()); + m_dof_status->Show(false); + } + // Constrain is where the number is the whole point, and clearing it on the way out of + // Sketch left it blank on the way in — no solve fires merely because the mode changed. + if (m == UiMode::Constrain) + apply_dof_status(m_dof_last, m_dof_last_ok, m_dof_last_has); + wxSizer* s = m_toolbar->GetSizer(); + s->Show(m_tb_feature, m == UiMode::Feature, true); + s->Show(m_tb_sketch, m == UiMode::Sketch, true); + // Constraint buttons are live in BOTH Sketch and Constrain (Fase 4.2 live path); the + // Confirm/Cancel action bar (m_tb_action) is already mode-appropriate and stays untouched. + s->Show(m_tb_relations, m == UiMode::Sketch || m == UiMode::Constrain, true); + m_toolbar->Layout(); + m_toolbar->FitInside(); // refresh the horizontal scroll range for the new group widths + set_active_tool_btn(nullptr); // no tool selected right after a mode switch + // Phase 3: the docked Sketch card (plane/orientation) shows for the whole Sketch + // session and hides on Finish/Constrain. + if (m_box_sketch_session != nullptr && m_form != nullptr && m_cards->GetSizer() != nullptr) { + if (m == UiMode::Sketch && m_hdr_sketch_session != nullptr) + m_hdr_sketch_session->SetLabel(wxString::Format(_L("Sketch %d"), m_feature_counter + 1)); + m_cards->GetSizer()->Show(m_box_sketch_session, m == UiMode::Sketch, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + } + // Constraint-manager card follows Constrain mode; rebuilt from the active feature. + if (m_box_constraints != nullptr && m_form != nullptr && m_cards->GetSizer() != nullptr) { + if (m == UiMode::Constrain || m == UiMode::Sketch) + rebuild_constraint_list(); // Sketch too: a live session has its own constraints + else + m_cards->GetSizer()->Show(m_box_constraints, false, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + } + update_action_bar(); // Sketch/Constrain modes show the unified ✓/✗; Feature idle hides it + // The origin planes follow the mode: entering Sketch offers them even when a body exists, + // leaving it takes them back. Without this they would only refresh on the next tree + // rebuild, which is not an event that happens when you merely press Sketch. + update_reference_planes(); + + // Say where you are, in words, across the top of the viewport. + // + // THE BED IS NOT MUTED HERE, and it was: "a plate grid and a sketch grid are the same visual + // language" is true and still the wrong call, because there IS no sketch grid to replace it. + // Seen on the rig: pick XY, arm Line, and the viewport is an empty grey field — no bed, no + // grid, no origin, nothing to judge a length or a direction against. The plate grid was + // carrying the ground reference for the whole tab. The banner already says where you are; + // taking the floor away as well only made the sketch harder to draw. The Bed checkbox is the + // one thing that governs the bed, in every mode. + if (m_sketch_banner != nullptr) { + const bool sketching = (m == UiMode::Sketch); + if (sketching && m_sketch_banner_txt != nullptr) + m_sketch_banner_txt->SetLabel( + wxString::Format(_L("Editing: Sketch %d · N = look normal to the plane · " + "Finish or Cancel in the toolbar"), + m_feature_counter + 1)); + m_sketch_banner->Show(sketching); + m_sketch_banner->GetParent()->Layout(); + } +} + +void DesignPanel::on_shape_changed() +{ + bool rect = (m_shape->GetSelection() == 0); + m_width->Enable(rect); + m_height->Enable(rect); + m_radius->Enable(!rect); +} + +void DesignPanel::set_status_ok() +{ + set_status(wxString::Format(_L("OK — %zu triangles"), + m_doc.display_mesh.its.indices.size())); + if (m_viewport != nullptr) { + m_viewport->clear_move_gizmo(); // a recompute invalidates the gizmo's body centroid + rebuild_disp_meshes(); // apply per-body Move transforms to the display/pick meshes + // Point the solid-pick at the fresh body + TRANSFORMED pick mesh (stable address) + the + // per-body xform vector (for edge sampling). Resets the whole/face/edge selection, whose + // ids invalidate on every recompute. Null body is handled inside. + m_viewport->set_solid_pick(&m_doc.bodies, &m_disp_pick_mesh, + &m_doc.display_tri_face, &m_doc.display_tri_body, + &m_body_visible, &m_body_xform); + feed_bodies(); + } + sync_sketch_display(); +} + +// Draw every committed sketch that no enabled Extrude consumes, so a sketch stays +// visible (as a translucent face + outline) when it is not part of the solid — e.g. +// after its Extrude is removed, or right after Finish. +void DesignPanel::sync_sketch_display() +{ + if (m_viewport == nullptr) return; + const int n = int(m_doc.features.size()); + std::vector<bool> consumed(n, false); + // Per-loop extrudes (sketch_ref < 0) carry a verbatim copy of the one loop they + // consumed; collect those so that loop is hidden from its source sketch overlay. + std::vector<std::vector<SketchEntity>> consumed_loops; + for (const CadFeature& f : m_doc.features) { + if (f.type != CadFeatureType::Extrude || !f.enabled) continue; + if (f.sketch_ref >= 0 && f.sketch_ref < n) consumed[f.sketch_ref] = true; + else if (f.sketch_ref < 0 && !f.entities.empty()) consumed_loops.push_back(f.entities); + } + // Two loops match when their entities are the same geometry in the same order — the + // per-loop extrude stored a verbatim copy, so this is an exact comparison. + auto same_loop = [](const std::vector<SketchEntity>& a, const std::vector<SketchEntity>& b) { + if (a.size() != b.size() || a.empty()) return false; + auto eq = [](const Vec2d& u, const Vec2d& v) { return (u - v).squaredNorm() < 1e-10; }; + for (size_t k = 0; k < a.size(); ++k) { + const SketchEntity& x = a[k]; const SketchEntity& y = b[k]; + if (x.type != y.type || !eq(x.p0, y.p0) || !eq(x.p1, y.p1) || + !eq(x.center, y.center) || std::abs(x.radius - y.radius) > 1e-7) return false; + } + return true; + }; + + std::vector<DesignSketchTool::DisplaySketch> ds; + for (int i = 0; i < n; ++i) { + const CadFeature& f = m_doc.features[i]; + if (f.type != CadFeatureType::Sketch || consumed[i] || !f.enabled) + continue; + if (!f.entities.empty()) { + if (consumed_loops.empty()) { + ds.push_back({ f.entities, f.plane, i }); + } else { + // Drop the entities of any loop already extruded; keep the rest (other + // loops + non-loop entities) so they stay visible and selectable. + std::vector<char> drop(f.entities.size(), 0); + for (const std::vector<int>& loop : m_viewport->region_entity_indices_with_holes(f.entities)) { + std::vector<SketchEntity> es; + for (int ei : loop) + if (ei >= 0 && ei < int(f.entities.size())) es.push_back(f.entities[ei]); + bool gone = false; + for (const std::vector<SketchEntity>& c : consumed_loops) + if (same_loop(es, c)) { gone = true; break; } + if (gone) + for (int ei : loop) + if (ei >= 0 && ei < int(drop.size())) drop[ei] = 1; + } + std::vector<SketchEntity> shown; + for (int ei = 0; ei < int(f.entities.size()); ++ei) + if (!drop[ei]) shown.push_back(f.entities[ei]); + if (!shown.empty()) ds.push_back({ std::move(shown), f.plane, i }); + } + } else if (!f.imported_regions.empty()) { + // Imported art (Text/SVG) carries no solver entities; synthesize + // closed line loops from each region contour so it shows as an + // outline overlay (display only — never stored on the feature). + // Apply the feature's placement transform so the overlay tracks + // moves / scales. + const auto regions = transform_regions(f.imported_regions, f.import_offset, + f.import_scale_x, f.import_scale_y); + std::vector<SketchEntity> lines; + for (const auto& region : regions) + for (const auto& contour : region) { + const int m = int(contour.size()); + for (int k = 0; k < m; ++k) { + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = contour[k]; + e.p1 = contour[(k + 1) % m]; + lines.push_back(e); + } + } + if (!lines.empty()) + ds.push_back({ std::move(lines), f.plane, i }); + } + } + m_viewport->set_display_sketches(std::move(ds)); +} + +void DesignPanel::on_add_text() +{ + wxTextEntryDialog dlg(this, _L("Text to insert:"), _L("Text"), wxEmptyString); + if (dlg.ShowModal() != wxID_OK) + return; + const wxString text = dlg.GetValue(); + if (text.empty()) + return; + const std::string utf8(text.ToUTF8().data()); + // Insert at a default height; resize in-canvas via the bbox handles (Move/Scale). + add_imported_sketch(text_to_regions(utf8, 10.0), _L("Text")); +} + +void DesignPanel::on_import_svg() +{ + wxFileDialog dlg(this, _L("Import SVG"), wxEmptyString, wxEmptyString, + "SVG files (*.svg)|*.svg|All files|*.*", + wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if (dlg.ShowModal() != wxID_OK) + return; + const std::string path(dlg.GetPath().ToUTF8().data()); + // Import at 1:1; resize in-canvas via the bbox handles (Move/Scale). + add_imported_sketch(svg_to_regions(path, 1.0), _L("SVG")); +} + +// Run a long CAD computation off the UI thread. A big STEP costs tens of seconds in OCCT +// (parse + tessellate); running it inline froze the whole window — the compositor marked the +// app unresponsive and nothing repainted. The dialog is app-modal, so the document cannot be +// touched while the worker owns it. Exceptions must not escape the worker: `work` is expected +// to swallow them (OCCT throws Standard_Failure, which is not a std::exception). +static void run_off_ui_thread(wxWindow* parent, const wxString& message, const std::function<void()>& work) +{ + std::atomic<bool> done{false}; + std::thread worker([&work, &done]() { + work(); + done.store(true, std::memory_order_release); + }); + + // Input stays blocked for the whole operation: the worker owns the document, so nothing + // in the UI may mutate it meanwhile. The dialog only appears if the work is actually slow — + // a fillet on a small body finishes in milliseconds and must not flash a dialog. + wxWindowDisabler disabler; + std::unique_ptr<wxProgressDialog> dlg; + int elapsed_ms = 0; + while (!done.load(std::memory_order_acquire)) { + if (dlg == nullptr && elapsed_ms >= 300) + dlg = std::make_unique<wxProgressDialog>(_L("Design"), message, 100, parent, + wxPD_AUTO_HIDE | wxPD_SMOOTH); + if (dlg != nullptr) + dlg->Pulse(); + wxYield(); // keep the window painting instead of going unresponsive + wxMilliSleep(30); + elapsed_ms += 30; + } + worker.join(); +} + +// Rebuild the document off the UI thread. Every feature op (fillet, cut, shell, boolean, ...) +// goes through recompute(), and on a heavy imported solid that is seconds of OCCT work — inline +// it freezes the window. OCCT throws Standard_Failure, which is not a std::exception and would +// terminate the process if it escaped the worker, so both are caught here. +// Keep the Model's copy of the recipe in step with the document. +// +// This used to be written in exactly ONE place — on_commit(), as a side effect of Commit to +// Plate — so a user who modelled for an hour and pressed Ctrl+S saved a project containing no +// feature history at all, and the app reported success (vjk5). The 3MF exporter was +// never at fault: nothing had handed it a recipe. +// +// Every save path (Ctrl+S, Save As, autosave, crash recovery) reads model.cad_recipe, so +// keeping it current after each document change is what makes all of them correct at once, +// rather than teaching each one to ask the Design tab. Commit to Plate means "send this to the +// slicer"; making saving depend on it was the bug, not the cure. +// +// Cost is a serialization per recompute — tens of KB against an OCCT rebuild that just ran. +void DesignPanel::sync_recipe_to_model() +{ + Plater* plater = wxGetApp().plater(); + if (plater == nullptr) return; + // An empty document CLEARS it, so a non-CAD project never carries a stale recipe. + std::string recipe = m_doc.features.empty() ? std::string() : m_doc.serialize_recipe(); + if (recipe == plater->model().cad_recipe) + return; // no change — this is the rehydrate of a project that was just opened + plater->model().cad_recipe = std::move(recipe); + + // The plater's dirty flag rides its own undo/redo stack, which Design edits never touch, and + // a design that has not been committed to the plate has no ModelObjects either — so without + // this the project reads as clean: no autosave, and no "unsaved changes" prompt on quit. + // Same hook the auxiliary-files panel uses for project data that lives outside the model. + Slic3r::put_other_changes(); +} + +bool DesignPanel::recompute_guarded(const wxString& message) +{ + bool ok = false; + run_off_ui_thread(this, message, [this, &ok]() { + try { + ok = m_doc.recompute(); + } catch (const Standard_Failure& e) { + const char* what = e.GetMessageString(); + m_doc.error = (what != nullptr && *what != '\0') ? what : "OCCT failure"; + ok = false; + } catch (const std::exception& e) { + m_doc.error = e.what(); + ok = false; + } + }); + // Only on success: a failed recompute leaves the document mid-edit, and persisting that + // would save a model the user never had. + if (ok) sync_recipe_to_model(); + return ok; +} + +void DesignPanel::on_import_step() +{ + wxFileDialog dlg(this, _L("Import STEP"), wxEmptyString, wxEmptyString, + "STEP files (*.step;*.stp)|*.step;*.stp|All files|*.*", + wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if (dlg.ShowModal() != wxID_OK) + return; + const std::string path(dlg.GetPath().ToUTF8().data()); + std::string err; + // Keep the OCCT B-rep (don't mesh it like the slicer importer): each top-level solid + // becomes a coexisting CadBody, fully editable by the on-face/edge feature tools. + std::vector<TopoDS_Shape> solids; + run_off_ui_thread(this, _L("Reading STEP…"), [&]() { + try { + solids = GeometryEngine::read_step_solids(path, err); + } catch (const Standard_Failure& e) { + const char* what = e.GetMessageString(); + err = (what != nullptr && *what != '\0') ? what : "OCCT failure"; + } catch (const std::exception& e) { + err = e.what(); + } + }); + if (solids.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(err.empty() ? _L("No solids found in STEP") + : (_L("STEP import failed: ") + wxString::FromUTF8(err))); + m_status->Refresh(); + return; + } + m_doc.checkpoint(); // undo boundary: importing STEP solids + for (const TopoDS_Shape& s : solids) { + m_feature_counter++; + CadFeature f; + f.type = CadFeatureType::Import; + f.name = std::string("STEP") + std::to_string(m_feature_counter); + f.imported_solid = s; + f.mode = BooleanMode::New; // each solid is its own coexisting body + m_doc.features.push_back(f); + } + bool rebuilt = false; + run_off_ui_thread(this, _L("Rebuilding model…"), [&]() { + try { + rebuilt = m_doc.recompute(); + } catch (const Standard_Failure& e) { + const char* what = e.GetMessageString(); + m_doc.error = (what != nullptr && *what != '\0') ? what : "OCCT failure"; + } catch (const std::exception& e) { + m_doc.error = e.what(); + } + }); + if (!rebuilt) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("STEP import failed: ") + wxString::FromUTF8(m_doc.error)); + m_status->Refresh(); + return; + } + set_ui_mode(UiMode::Feature); // imported solids live in the feature timeline + refresh_tree(); + set_tree_selection(int(m_doc.features.size()) - 1); + set_status_ok(); // canonical post-recompute viewport/pick/parts refresh + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format( + _L("Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify"), + int(solids.size()))); + m_status->Refresh(); +} + +// Import a triangle mesh as a real B-rep body: the triangles are rebuilt into OCCT faces with +// shared topology, then coplanar neighbours are merged so the result has pickable CAD faces +// rather than one face per triangle. Lands in the same CadFeatureType::Import as a STEP, so +// every downstream feature tool (fillet / cut / shell / face-extrude) works on it unchanged. +void DesignPanel::on_import_mesh() +{ + wxFileDialog dlg(this, _L("Import mesh"), wxEmptyString, wxEmptyString, + "Mesh files (*.stl;*.obj)|*.stl;*.obj|All files|*.*", + wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if (dlg.ShowModal() != wxID_OK) + return; + const std::string path(dlg.GetPath().ToUTF8().data()); + + auto fail = [this](const wxString& msg) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(msg); + m_status->Refresh(); + }; + + // Load the triangles with the slicer's own readers — no new mesh dependency. + TriangleMesh mesh; + const std::string ext = boost::algorithm::to_lower_copy( + boost::filesystem::path(path).extension().string()); + if (ext == ".stl") { + if (!mesh.ReadSTLFile(path.c_str())) { fail(_L("Could not read the STL file")); return; } + } else if (ext == ".obj") { + ObjInfo obj_info; + std::string obj_err; + if (!load_obj(path.c_str(), &mesh, obj_info, obj_err)) { + fail(_L("Could not read the OBJ file: ") + wxString::FromUTF8(obj_err)); + return; + } + } else { + fail(_L("Unsupported mesh format (STL and OBJ are supported)")); + return; + } + if (mesh.its.indices.empty()) { fail(_L("The mesh contains no triangles")); return; } + + // One planar face per triangle before merging, so the cost is driven by the triangle count. + // A dense organic scan has few coplanar neighbours to merge away and stays heavy afterwards; + // warn rather than silently freezing the CAD kernel on every subsequent recompute. + if (mesh.its.indices.size() > MESH_IMPORT_TRIANGLE_WARN) { + const wxString q = wxString::Format( + _L("This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar " + "merging, so importing it may take a long time and leave a body that is slow to " + "edit. Decimating the mesh first is usually better.\n\nImport anyway?"), + int(mesh.its.indices.size())); + if (wxMessageBox(q, _L("Large mesh"), wxYES_NO | wxICON_WARNING, this) != wxYES) + return; + } + + wxBusyCursor busy; + GeometryEngine::MeshBrepStats stats; + TopoDS_Shape shape; + try { + shape = GeometryEngine::mesh_to_brep(mesh.its, MESH_IMPORT_TOLERANCE, + MESH_IMPORT_MERGE_ANGLE_DEG, stats); + } catch (const std::exception& e) { + fail(_L("Mesh conversion failed: ") + wxString::FromUTF8(e.what())); + return; + } catch (const Standard_Failure& e) { // OCCT throws outside std::exception + fail(_L("Mesh conversion failed: ") + wxString::FromUTF8( + e.GetMessageString() ? e.GetMessageString() : "OCCT error")); + return; + } + if (shape.IsNull()) { fail(_L("Mesh conversion produced no geometry")); return; } + + m_doc.checkpoint(); // undo boundary: importing a mesh as a B-rep body + m_feature_counter++; + CadFeature f; + f.type = CadFeatureType::Import; + f.name = std::string("Mesh") + std::to_string(m_feature_counter); + f.imported_solid = shape; + f.mode = BooleanMode::New; // its own coexisting body, like a STEP solid + m_doc.features.push_back(f); + + if (!recompute_guarded(_L("Rebuilding model…"))) { + fail(_L("Mesh import failed: ") + wxString::FromUTF8(m_doc.error)); + return; + } + set_ui_mode(UiMode::Feature); + refresh_tree(); + set_tree_selection(int(m_doc.features.size()) - 1); + set_status_ok(); + + // Report what the mesh actually was, never dress an open shell up as a solid: if it is not + // watertight, say so and say why (boundary vs non-manifold edges) — that is a defect in the + // source mesh the user needs to know about before they start cutting features into it. + if (stats.is_solid) { + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format( + _L("Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, " + "then Fillet / Cut / Shell to modify"), + stats.kept_tris, stats.faces_final, stats.volume)); + } else { + m_status->SetForegroundColour(wxColour(220, 160, 60)); // warning, not an error + set_status(wxString::Format( + _L("Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold " + "edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated " + "geometry; boolean features may fail on it"), + stats.boundary_edges, stats.nonmanifold_edges, stats.kept_tris, stats.faces_final)); + } + m_status->Refresh(); +} + +void DesignPanel::add_imported_sketch( + const std::vector<std::vector<std::vector<Vec2d>>>& regions, + const wxString& base_name) +{ + if (regions.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("No importable geometry found")); + m_status->Refresh(); + return; + } + // DRAWING, not importing: if a sketch is open, the art belongs IN it. The outlines become + // ordinary line entities, so they can be constrained, trimmed and extruded with everything + // else on that plane. Committing a separate Sketch feature while the user is mid-sketch put + // the text on its own plane-origin feature and left the sketch they were drawing untouched. + if (m_viewport && m_viewport->is_sketching() && m_viewport->add_sketch_regions(regions)) { + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("%s added to the sketch — Confirm to commit it"), + base_name)); + m_status->Refresh(); + return; + } + m_doc.checkpoint(); // undo boundary: importing Text/SVG art + m_feature_counter++; + CadFeature f; + f.type = CadFeatureType::Sketch; + f.name = std::string(base_name.ToUTF8().data()) + std::to_string(m_feature_counter); + f.imported_regions = regions; + + // #4: when a solid face is selected, drop the art ON that face, centred on it (ready to + // engrave). Otherwise place it on the draw-plane dropdown at the plane origin (legacy). + bool on_face = false; + if (m_sel_solid_face >= 0 && m_sel_solid_body >= 0 && m_sel_solid_body < int(m_doc.bodies.size())) { + const TopoDS_Face face = + GeometryEngine::face_by_index(m_doc.bodies[m_sel_solid_body].shape, m_sel_solid_face); + if (!face.IsNull()) { + f.plane = SketchPlane::from_face(face); + const Vec3d cw = GeometryEngine::face_centroid_world(face); + const Vec2d c_uv = f.plane.project(cw, f.plane.normal); // face centre in plane (u,v) + Vec2d lo(1e30, 1e30), hi(-1e30, -1e30); // bbox of the imported art + for (const auto& reg : regions) + for (const auto& loop : reg) + for (const Vec2d& p : loop) { lo = lo.cwiseMin(p); hi = hi.cwiseMax(p); } + f.import_offset = c_uv - 0.5 * (lo + hi); // centre the art on the face + f.import_on_face = true; + f.import_face_body = m_sel_solid_body; + on_face = true; + } + } + if (!on_face) { + f.plane = plane_from_choice(m_ref_plane); + } + + // Drop the live face selection (its body is now remembered on import_face_body): otherwise + // the next Extrude would push/pull that face instead of extruding the placed art. + m_sel_solid_face = m_sel_solid_edge = m_sel_solid_body = -1; + + m_doc.features.push_back(f); + m_doc.recompute(); // a lone sketch yields an empty body; that is expected + refresh_tree(); + const int newidx = int(m_doc.features.size()) - 1; + set_tree_selection(newidx); // select the new art + sync_sketch_display(); + on_transform_imported(newidx); // in-canvas place/size gizmo ON + // The feature is provisional until the user explicitly Confirms (Onshape gate). The + // Insert card carries Confirm/Cancel; Cancel undoes this insert. + m_insert_feat = newidx; + open_insert_card(base_name); +} + +// Show the Insert Confirm/Cancel card while the imported art is being placed/sized. +void DesignPanel::open_insert_card(const wxString& base_name) +{ + m_active = Tool::Insert; + if (m_hdr_insert) m_hdr_insert->SetLabel(base_name); + wxSizer* s = m_cards->GetSizer(); + s->Show(m_box_insert, true, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + update_action_bar(); // surface the unified ✓/✗ + m_status->SetForegroundColour(wxNullColour); + set_status(base_name + _L(" — drag to place/size, then Confirm")); + m_status->Refresh(); +} + +// Confirm: keep the placed art and leave the placement gizmo. The feature is already in +// the timeline (added provisionally); we just tear down the transient tool/gizmo state. +void DesignPanel::finalize_insert() +{ + const int feat = m_insert_feat; + m_insert_feat = -1; + if (m_viewport) m_viewport->cancel_sketch(); // exit the TransformArt gizmo + close_tool(); // hides the Insert card, clears m_active + set_ui_mode(UiMode::Feature); // imported art lives in the feature timeline + if (feat >= 0 && feat < int(m_doc.features.size())) set_tree_selection(feat); + sync_sketch_display(); + refresh_tree(); + set_status_ok(); +} + +// Cancel: discard the provisional insert (undo restores the pre-insert feature list). +void DesignPanel::cancel_insert() +{ + m_insert_feat = -1; + if (m_viewport) m_viewport->cancel_sketch(); // exit the TransformArt gizmo + m_doc.undo(); // remove the just-added imported feature + close_tool(); + set_ui_mode(UiMode::Feature); + sync_sketch_display(); + refresh_tree(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Insert cancelled")); + m_status->Refresh(); +} + +void DesignPanel::on_transform_imported(int feat_idx) +{ + if (feat_idx < 0 || feat_idx >= int(m_doc.features.size()) || !m_viewport) + return; + const CadFeature& f = m_doc.features[feat_idx]; + if (f.imported_regions.empty()) + return; + // In-canvas bbox handles (replaces the Move/Scale dialog): drag a corner to scale, + // the centre to move. Values stream back via set_on_imported_transform. + m_viewport->begin_imported_transform(feat_idx, f.imported_regions, f.plane, + f.import_offset, f.import_scale_x, f.import_scale_y); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Drag a corner to scale, the centre to move — right-click when done")); + m_status->Refresh(); +} + +void DesignPanel::on_add_sketch() +{ + SketchShape shape = (m_shape->GetSelection() == 1) ? SketchShape::Circle + : SketchShape::Rectangle; + wxString where; // named for the status line + SketchPlane plane = sketch_plane_from_selection(where); // picked face, else the 3D plane click + m_feature_counter++; + m_doc.add_sketch(shape, plane, m_width->GetValue(), m_height->GetValue(), + m_radius->GetValue(), "Sketch" + std::to_string(m_feature_counter)); + m_doc.recompute(); // a lone sketch yields an empty body; that is expected + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Sketch added on %s — select it, then right-click to Extrude"), where)); + refresh_tree(); +} + +// Extrude should consume only the clicked loop when a specific region of the resolved +// sketch is selected and that loop actually has entities. +bool DesignPanel::extrude_uses_loop() const +{ + return m_viewport != nullptr + && m_sel_sketch_region >= 0 + && m_extrude_sketch_ref >= 0 + && m_extrude_sketch_ref == m_sel_sketch_feat + && m_extrude_sketch_ref < int(m_doc.features.size()) + && !m_viewport->selected_loop_entities().empty(); +} + +void DesignPanel::on_add_extrude() +{ + BooleanMode mode = static_cast<BooleanMode>(m_mode->GetSelection()); // New/Add/Cut/Intersect + m_feature_counter++; + const std::string name = "Extrude" + std::to_string(m_feature_counter); + int idx = -1; + if (m_extrude_face_src >= 0) { + // Onshape face-extrude: the picked solid face is the profile (no sketch wire). + idx = m_doc.add_extrude_face(m_extrude_face_src, m_distance->GetValue(), false, mode, name); + m_extrude_face_src = -1; // consume the face-profile selection + } else if (extrude_uses_loop()) { + // Extrude just the selected loop (its entity subset), leaving the source sketch's + // other loops intact and still selectable. + if (::getenv("ORCA_CAD_PICK_TRACE")) + std::fprintf(stderr, "[pick] on_add_extrude: feat=%d reg=%d ents=%zu\n", + m_extrude_sketch_ref, m_sel_sketch_region, + m_viewport->selected_loop_entities().size()); + idx = m_doc.add_extrude_entities(m_viewport->selected_loop_entities(), + m_doc.features[m_extrude_sketch_ref].plane, + m_distance->GetValue(), false, mode, name); + m_sel_sketch_region = -1; // consume the loop selection + m_viewport->clear_loop_pick(); // drop the now-stale loop highlight + } else { + idx = m_doc.add_extrude(m_extrude_sketch_ref, m_distance->GetValue(), false, mode, name); + } + // Carry the Onshape end-condition / taper / flip / up-to-face onto the new feature so the + // committed solid matches the preview (build_candidate sets the same fields). + if (idx >= 0 && idx < int(m_doc.features.size())) { + CadFeature& f = m_doc.features[idx]; + f.extrude_end = static_cast<ExtrudeEnd>(m_extrude_end->GetSelection()); + f.distance2 = m_distance2->GetValue(); + f.taper_deg = m_taper->GetValue(); + f.flip = m_flip->GetValue(); + f.up_to_face = (f.extrude_end == ExtrudeEnd::UpToFace) ? m_sel_solid_face : -1; + f.target_body = m_sel_solid_body; // multi-body: act on the picked body (-1 = last) + // On-face Text/SVG remembers its host body even after the face pick was cleared by + // the placement recompute, so the engraving Cut hits the right solid. + if (m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size()) + && m_doc.features[m_extrude_sketch_ref].import_on_face) + f.target_body = m_doc.features[m_extrude_sketch_ref].import_face_body; + } + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_dressup() +{ + if (m_doc.body.IsNull()) { + set_status(_L("Add a solid (sketch + extrude) first")); + return; + } + FaceGroup fg = static_cast<FaceGroup>(m_face_group->GetSelection()); // Top=0..All=3 + double sz = m_dressup_size->GetValue(); + bool fillet = (m_dressup_type->GetSelection() == 0); + + m_feature_counter++; + // A click-selected solid edge targets THAT edge; otherwise dress the whole face-group. + int didx = -1; + if (m_sel_solid_edge >= 0) { + if (fillet) + didx = m_doc.add_fillet(sz, m_sel_solid_edge, "Fillet" + std::to_string(m_feature_counter)); + else + didx = m_doc.add_chamfer(sz, m_sel_solid_edge, "Chamfer" + std::to_string(m_feature_counter)); + } else if (fillet) + didx = m_doc.add_fillet(sz, fg, "Fillet" + std::to_string(m_feature_counter)); + else + didx = m_doc.add_chamfer(sz, fg, "Chamfer" + std::to_string(m_feature_counter)); + // Dress the picked body (its face/edge ids are body-local). -1 = last body. + if (didx >= 0 && didx < int(m_doc.features.size())) + m_doc.features[didx].target_body = m_sel_solid_body; + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +// Hole and Thread LATCH the geometry they were opened or picked on; Thicken / Shell / Draft read +// the live selection instead. Both models are right for what they are — a placement tool with its +// own plane state, versus an operation whose operand IS the selected face — and the latch is the +// kinder of the two now that a click on empty canvas clears the selection (od0): a stray +// click costs a Thicken pick, and costs a Hole nothing. What was missing is that nothing in the +// Hole/Thread card NAMED the latched face, so after such a click the only words on screen were +// the viewport's "Nothing selected" — over a ghost still drawn on the face Confirm would drill. +// That reads as a contradiction and was filed as one (200). The card now says what it +// holds, the way the other three cards already do. Pass -1 for "none, using the plane dropdown". +void DesignPanel::set_hole_target_label(int face) +{ + if (m_hole_target_label) + m_hole_target_label->SetLabel(face >= 0 ? wxString::Format(_L("Face %d"), face) + : _L("(none — uses Hole plane)")); +} + +// Thread also latches onto a circular EDGE (a cylinder's rim), so it has two kinds to name. +void DesignPanel::set_thread_target_label(int face, int edge) +{ + if (!m_thread_target_label) return; + m_thread_target_label->SetLabel( + face >= 0 ? wxString::Format(_L("Face %d"), face) + : edge >= 0 ? wxString::Format(_L("Edge %d"), edge) + : _L("(none — uses Thread plane)")); +} + +SketchPlane DesignPanel::hole_plane() const +{ + if (m_hole_on_face) return m_hole_face_plane; + SketchPlane p = plane_from_index(m_hole_plane->GetSelection()); + p.origin += m_doc.modeling_origin; + return p; +} + +void DesignPanel::on_add_hole() +{ + if (m_doc.body.IsNull()) { + set_status(_L("Add a solid (sketch + extrude) first")); + return; + } + SketchPlane plane = hole_plane(); + double dia = m_hole_diameter->GetValue(); + double depth = m_hole_depth->GetValue(); + bool through = m_hole_through->GetValue(); + double px = m_hole_x->GetValue(); + double py = m_hole_y->GetValue(); + + m_feature_counter++; + const int hidx = m_doc.add_hole(dia, depth, through, px, py, plane, + "Hole" + std::to_string(m_feature_counter)); + // On-face holes drill the body the face belongs to (even after the pick was cleared). + if (m_hole_on_face && hidx >= 0 && hidx < int(m_doc.features.size())) + m_doc.features[hidx].target_body = m_hole_face_body; + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +SketchPlane DesignPanel::thread_plane() const +{ + if (m_thread_on_face) return m_thread_face_plane; + SketchPlane p = plane_from_index(m_thread_plane->GetSelection()); + p.origin += m_doc.modeling_origin; + return p; +} + +void DesignPanel::apply_thread_standard() +{ + if (!m_thread_std) return; + const int sel = m_thread_std->GetSelection(); + if (sel <= 0) return; // 0 = "Custom" → leave the manual spins untouched + + const ThreadSpec* s = find_thread_standard( + m_thread_std->GetString(sel).utf8_string()); + if (!s) return; + + // Pitch and depth are the defining "measures" of the standard — always apply. + if (m_thread_pitch) m_thread_pitch->SetValue(s->pitch_mm); + if (m_thread_depth) m_thread_depth->SetValue(s->thread_depth_mm()); + + // Nominal diameter: external rod = major diameter; internal tapped bore = minor (tap-drill) + // diameter. On a picked cylindrical surface/edge the diameter comes from the real geometry, + // so don't override it there. (The field holds DIAMETER.) + if (!m_thread_on_face && m_thread_radius) { + const bool internal = m_thread_internal && m_thread_internal->GetValue(); + const double d = internal ? s->minor_diameter_mm() : s->major_diameter_mm; + m_thread_radius->SetValue(d); + } + + if (m_status) + set_status(wxString::Format(_L("Thread standard: %s (pitch %.3g mm)"), + m_thread_std->GetString(sel), s->pitch_mm)); +} + +void DesignPanel::infer_thread_spec(double diameter) +{ + // Snap to the nearest standard thread by nominal (major) diameter, so picking a Ø9.9 boss + // gives M10 — the M diameter, pitch AND depth all follow from the cylinder's base diameter. + const auto& stds = thread_standards(); + int best = -1; double bestErr = 1e30; + for (int i = 0; i < int(stds.size()); ++i) { + const double e = std::abs(stds[i].major_diameter_mm - diameter); + if (e < bestErr) { bestErr = e; best = i; } + } + if (best < 0) { if (m_thread_radius) m_thread_radius->SetValue(diameter); return; } + const ThreadSpec& s = stds[best]; + if (m_thread_std) m_thread_std->SetSelection(best + 1); // row 0 is "Custom" + if (m_thread_radius) m_thread_radius->SetValue(s.major_diameter_mm); // field = DIAMETER + if (m_thread_pitch) m_thread_pitch->SetValue(s.pitch_mm); + if (m_thread_depth) m_thread_depth->SetValue(s.thread_depth_mm()); +} + +void DesignPanel::on_add_thread() +{ + bool internal = m_thread_internal->GetValue(); + if (internal && m_doc.body.IsNull()) { + set_status(_L("Thread needs a solid body — add or import one first")); + return; + } + SketchPlane plane = thread_plane(); + + m_feature_counter++; + const int tidx = m_doc.add_thread(m_thread_radius->GetValue() * 0.5, m_thread_pitch->GetValue(), + m_thread_height->GetValue(), m_thread_depth->GetValue(), + internal, m_thread_x->GetValue(), m_thread_y->GetValue(), + plane, "Thread" + std::to_string(m_feature_counter)); + // On-surface internal thread taps the body the cylindrical face belongs to. + if (m_thread_on_face && tidx >= 0 && tidx < int(m_doc.features.size())) + m_doc.features[tidx].target_body = m_thread_face_body; + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +void DesignPanel::on_add_revolve() +{ + if (m_revolve_sketch_ref < 0 || m_revolve_sketch_ref >= int(m_doc.features.size())) { + set_status(_L("Pick a sketch profile to revolve first")); + return; + } + const BooleanMode mode = static_cast<BooleanMode>(m_revolve_mode->GetSelection()); + if (mode != BooleanMode::New && m_doc.body.IsNull()) { + set_status(_L("Revolve needs a solid body — add or import one first")); + return; + } + m_feature_counter++; + m_doc.add_revolve(m_revolve_sketch_ref, m_revolve_angle->GetValue(), + m_revolve_axis->GetSelection(), m_revolve_flip->GetValue(), + mode, "Revolve" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +void DesignPanel::on_add_sweep() +{ + if (m_sweep_profile_ref < 0 || m_sweep_profile_ref >= int(m_doc.features.size())) { + set_status(_L("Pick a profile sketch to sweep first")); + return; + } + const int sel = m_sweep_path->GetSelection(); + const int path_ref = (sel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_sweep_path->GetClientData(sel))) : -1; + if (path_ref < 0) { + set_status(_L("Pick a path sketch for the sweep")); + return; + } + const BooleanMode mode = static_cast<BooleanMode>(m_sweep_mode->GetSelection()); + if (mode != BooleanMode::New && m_doc.body.IsNull()) { + set_status(_L("Sweep needs a solid body — add or import one first")); + return; + } + m_feature_counter++; + m_doc.add_sweep(m_sweep_profile_ref, path_ref, mode, + "Sweep" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +void DesignPanel::on_add_loft() +{ + // Collect the checked profile sketches in list (recipe) order. + std::vector<int> refs; + for (unsigned i = 0; i < m_loft_list->GetCount(); ++i) + if (m_loft_list->IsChecked(i) && i < m_loft_sketch_idx.size()) + refs.push_back(m_loft_sketch_idx[i]); + if (refs.size() < 2) { + set_status(_L("Check at least two profile sketches to loft")); + return; + } + const BooleanMode mode = static_cast<BooleanMode>(m_loft_mode->GetSelection()); + if (mode != BooleanMode::New && m_doc.body.IsNull()) { + set_status(_L("Loft needs a solid body — add or import one first")); + return; + } + m_feature_counter++; + m_doc.add_loft(refs, m_loft_ruled->GetValue(), mode, + "Loft" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +void DesignPanel::on_add_surface_extrude() +{ + if (m_surf_extrude_sketch_ref < 0 || m_surf_extrude_sketch_ref >= int(m_doc.features.size())) { + set_status(_L("Pick a sketch profile to extrude first")); + return; + } + m_feature_counter++; + m_doc.add_surface_extrude(m_surf_extrude_sketch_ref, m_surf_extrude_distance->GetValue(), + "SurfaceExtrude" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_surface_revolve() +{ + if (m_surf_revolve_sketch_ref < 0 || m_surf_revolve_sketch_ref >= int(m_doc.features.size())) { + set_status(_L("Pick a sketch profile to revolve first")); + return; + } + m_feature_counter++; + m_doc.add_surface_revolve(m_surf_revolve_sketch_ref, m_surf_revolve_angle->GetValue(), + m_surf_revolve_axis->GetSelection(), + "SurfaceRevolve" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_surface_loft() +{ + std::vector<int> refs; + for (unsigned i = 0; i < m_surf_loft_list->GetCount(); ++i) + if (m_surf_loft_list->IsChecked(i) && i < m_surf_loft_sketch_idx.size()) + refs.push_back(m_surf_loft_sketch_idx[i]); + if (refs.size() < 2) { + set_status(_L("Check at least two profile sketches to loft")); + return; + } + m_feature_counter++; + m_doc.add_surface_loft(refs, m_surf_loft_ruled->GetValue(), + "SurfaceLoft" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_surface_fill() +{ + if (m_surf_fill_sketch_ref < 0 || m_surf_fill_sketch_ref >= int(m_doc.features.size())) { + set_status(_L("Pick a sketch to fill first")); + return; + } + m_feature_counter++; + m_doc.add_surface_fill(m_surf_fill_sketch_ref, + "SurfaceFill" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_surface_offset() +{ + const int sel = sheet_choice_body(m_surf_offset_body); + if (sel < 0 || sel >= int(m_doc.bodies.size())) { + set_status(_L("Select a sheet body first")); + return; + } + m_feature_counter++; + m_doc.add_surface_offset(sel, m_surf_offset_distance->GetValue(), + "SurfaceOffset" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_thicken_surface() +{ + const int sel = sheet_choice_body(m_surf_thicken_body); + if (sel < 0 || sel >= int(m_doc.bodies.size())) { + set_status(_L("Select a sheet body first")); + return; + } + m_feature_counter++; + m_doc.add_thicken_surface(sel, m_surf_thicken_thickness->GetValue(), + m_surf_thicken_flip->GetValue(), + "ThickenSurface" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +// Compose the same matrix apply_transform() builds in the kernel: rotate about the pivot first, +// then translate. Kept here so the preview and the committed feature can never disagree. +static Transform3d xf_compose(const Vec3d& t, const Vec3d& axis, const Vec3d& pivot, double deg) +{ + Transform3d r = Transform3d::Identity(); + if (std::abs(deg) > 1e-12 && axis.norm() > 1e-9) + r = Transform3d(Eigen::Translation3d(pivot)) + * Transform3d(Eigen::AngleAxisd(deg * M_PI / 180.0, axis.normalized())) + * Transform3d(Eigen::Translation3d(-pivot)); + return Transform3d(Eigen::Translation3d(t)) * r; +} + +// Live preview for the Transform card. The gizmo already writes its drag into the body's display +// transform; the typed fields must use the SAME channel or the numbers and the geometry disagree +// until Confirm — which is what makes typing a distance look like it did nothing. In edit mode the +// committed transform is already baked into the kernel geometry, so undo it first: without that, +// typing 80 over a committed 34 would show the body at 114. +void DesignPanel::xf_live_preview() +{ + if (m_active != Tool::Transform || m_xf_dx == nullptr) return; + if (m_xf_copy && m_xf_copy->GetValue()) return; // a copy leaves the original where it is + sync_body_xform(); + const int sel = m_xf_body ? m_xf_body->GetSelection() : wxNOT_FOUND; + const int b = (sel != wxNOT_FOUND) ? sel : int(m_body_xform.size()) - 1; + if (b < 0 || b >= int(m_body_xform.size())) return; + + if (m_xf_prev_body != b) { + xf_clear_preview(); // the card retargeted: hand the old body back first + m_xf_prev_body = b; + m_xf_prev_base = (b == m_xf_gizmo_body) ? m_xf_gizmo_base : m_body_xform[b]; + } + const int ax = m_xf_axis->GetSelection(); + const Vec3d axis = (ax == 0) ? Vec3d::UnitX() : (ax == 1) ? Vec3d::UnitY() : Vec3d::UnitZ(); + const Vec3d pivot(m_xf_pivot_x->GetValue(), m_xf_pivot_y->GetValue(), m_xf_pivot_z->GetValue()); + const Transform3d want = xf_compose(Vec3d(m_xf_dx->GetValue(), m_xf_dy->GetValue(), + m_xf_dz->GetValue()), + axis, pivot, m_xf_angle->GetValue()); + Transform3d undo = Transform3d::Identity(); + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size())) { + const CadFeature& f = m_doc.features[m_edit_index]; + if (f.type == CadFeatureType::Transform && !f.xf_copy) + undo = xf_compose(f.xf_translate, f.xf_axis, f.xf_pivot, f.xf_angle_deg).inverse(); + } + m_body_xform[b] = want * undo * m_xf_prev_base; + feed_bodies(); +} + +// Hand a previewed body back to the pose it had before the card touched it. Every exit from the +// Transform card passes through here, so a preview can never survive into the committed document. +void DesignPanel::xf_clear_preview() +{ + if (m_xf_prev_body < 0) return; + sync_body_xform(); + if (m_xf_prev_body < int(m_body_xform.size())) + m_body_xform[m_xf_prev_body] = m_xf_prev_base; + m_xf_prev_body = -1; + feed_bodies(); +} + +void DesignPanel::on_add_transform() +{ + xf_clear_preview(); // the feature performs this motion parametrically; the preview must go + // The gizmo baked its drag into the display transform so the body followed the cursor. + // The feature about to be created performs that same motion parametrically, so hand the + // body back to its pre-drag pose first or it moves twice. + if (m_xf_gizmo_body >= 0) { + sync_body_xform(); + if (m_xf_gizmo_body < int(m_body_xform.size())) + m_body_xform[m_xf_gizmo_body] = m_xf_gizmo_base; + if (m_viewport) m_viewport->clear_move_gizmo(); + feed_bodies(); // set_status_ok() re-feeds on success, but the recompute-ERROR path + // below does not — without this the body would keep showing the + // dragged pose after a Transform that failed to build. + m_xf_gizmo_body = -1; + m_move_body = -1; + } + if (m_doc.bodies.empty()) { + set_status(_L("Transform needs a body — add or import one first")); + return; + } + const int sel = m_xf_body->GetSelection(); + const int target = (sel != wxNOT_FOUND) ? sel : -1; + const Vec3d trans(m_xf_dx->GetValue(), m_xf_dy->GetValue(), m_xf_dz->GetValue()); + const int ax = m_xf_axis->GetSelection(); + const Vec3d axis = (ax == 0) ? Vec3d(1, 0, 0) : (ax == 1) ? Vec3d(0, 1, 0) : Vec3d(0, 0, 1); + const Vec3d pivot(m_xf_pivot_x->GetValue(), m_xf_pivot_y->GetValue(), m_xf_pivot_z->GetValue()); + m_feature_counter++; + m_doc.add_transform(target, trans, axis, pivot, m_xf_angle->GetValue(), m_xf_copy->GetValue(), + "Transform" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_mirror() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Mirror needs a body — add or import one first")); + return; + } + const int sel = m_mirror_body->GetSelection(); + const int target = (sel != wxNOT_FOUND) ? sel : -1; + const BooleanMode mode = m_mirror_keep->GetValue() ? BooleanMode::New : BooleanMode::Add; + m_feature_counter++; + m_doc.add_mirror(plane_from_choice(m_mirror_plane->GetSelection()), target, mode, + "Mirror" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_thicken() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Thicken needs a solid body — add or import one first")); + return; + } + if (m_sel_solid_face < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Pick a solid face to thicken first")); + m_status->Refresh(); + return; + } + const int sel = m_thicken_body->GetSelection(); + const int target = (sel != wxNOT_FOUND) ? sel : -1; + m_feature_counter++; + m_doc.add_thicken(target, m_sel_solid_face, m_thicken_thickness->GetValue(), + m_thicken_flip->GetValue(), "Thicken" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_rib() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Rib needs a solid body — add or import one first")); + return; + } + const int bsel = m_rib_body->GetSelection(); + const int target = (bsel != wxNOT_FOUND) ? bsel : -1; + const int ssel = m_rib_sketch->GetSelection(); + const int sketch_ref = (ssel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_rib_sketch->GetClientData(ssel))) : -1; + if (sketch_ref < 0) { + set_status(_L("Pick a sketch with an open line first")); + return; + } + m_feature_counter++; + m_doc.add_rib(sketch_ref, m_rib_entity->GetValue(), m_rib_thickness->GetValue(), + m_rib_depth->GetValue(), target, "Rib" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_project() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Project needs a body — add or import one first")); + return; + } + const int sel = m_proj_source_body->GetSelection(); + const int src_body = (sel != wxNOT_FOUND) ? sel : -1; + const int face = (m_sel_solid_face >= 0) ? m_sel_solid_face : -1; + m_feature_counter++; + m_doc.add_project_edges(src_body, {}, face, + plane_from_choice(m_proj_plane->GetSelection()), + "Project" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_delete_face() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Delete Face needs a body — add or import one first")); + return; + } + if (m_del_faces.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Add at least one face to delete first")); + m_status->Refresh(); + return; + } + const int sel = m_del_face_body->GetSelection(); + const int target = (sel != wxNOT_FOUND) ? sel : -1; + m_feature_counter++; + m_doc.add_delete_face(target, m_del_faces, "DeleteFace" + std::to_string(m_feature_counter)); + m_del_faces.clear(); // consumed; fresh state for the next use + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_helix() +{ + m_feature_counter++; + m_doc.add_helix(plane_from_choice(m_helix_plane->GetSelection()), + m_helix_radius->GetValue(), m_helix_pitch->GetValue(), + m_helix_height->GetValue(), m_helix_left_handed->GetValue(), + m_helix_taper->GetValue(), "Helix" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_mate() +{ + const int sel_a = m_mate_cs_a->GetSelection(); + const int sel_b = m_mate_cs_b->GetSelection(); + if (sel_a == wxNOT_FOUND || sel_b == wxNOT_FOUND) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate needs two CoordSys features — create them first")); + m_status->Refresh(); + return; + } + const int cs_a = int(reinterpret_cast<intptr_t>(m_mate_cs_a->GetClientData(sel_a))); + const int cs_b = int(reinterpret_cast<intptr_t>(m_mate_cs_b->GetClientData(sel_b))); + if (cs_a == cs_b) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate: CS A and CS B must be different CoordSys features")); + m_status->Refresh(); + return; + } + m_feature_counter++; + int idx = m_doc.add_mate(m_mate_kind->GetSelection(), cs_a, cs_b, + m_mate_offset->GetValue(), m_mate_angle->GetValue(), + m_mate_flip->GetValue(), + "Mate" + std::to_string(m_feature_counter)); + if (idx < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate rejected")); + m_status->Refresh(); + return; + } + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_check_interference() +{ + if (m_doc.bodies.size() < 2) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("No interference — need at least two solid bodies to check")); + m_status->Refresh(); + return; + } + const auto pairs = m_doc.check_interference(); + if (pairs.empty()) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("No interference found")); + m_status->Refresh(); + return; + } + double worst = 0; + for (const auto& p : pairs) + if (p.volume > worst) worst = p.volume; + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("%zu interference pairs, worst %.2f mm³"), + pairs.size(), worst)); + m_status->Refresh(); + wxString msg = _L("Interference pairs:\n\n"); + for (const auto& p : pairs) { + // 1-based, like every other body label in this panel and in the parts tree: + // reporting "Body 1" for what the tree calls "Body 2" is worse than no name. + wxString na = wxString::Format(_L("Body %d"), p.body_a + 1); + wxString nb = wxString::Format(_L("Body %d"), p.body_b + 1); + if (p.body_a >= 0 && p.body_a < int(m_doc.bodies.size()) && !m_doc.bodies[p.body_a].name.empty()) + na = wxString::FromUTF8(m_doc.bodies[p.body_a].name); + if (p.body_b >= 0 && p.body_b < int(m_doc.bodies.size()) && !m_doc.bodies[p.body_b].name.empty()) + nb = wxString::FromUTF8(m_doc.bodies[p.body_b].name); + msg += wxString::Format("%s <-> %s: %.4f mm³\n", na, nb, p.volume); + } + wxMessageBox(msg, _L("Interference"), wxOK, this); +} + +// Mass properties of the selected solid. A report, not a feature: it never checkpoints, never +// recomputes and never opens a card, which is why it sits beside the interference check rather +// than in the on_add_* family. The caller only reaches us with m_sel_solid_body in range. +void DesignPanel::on_mass_properties() +{ + // This bounds check is not defensive padding — it is what makes the verb safe to fire from + // the socket, which has no offer menu to grey the row out. The menu-only route never reached + // here with nothing selected; run_verb does. Nothing selected is not an error, hence the + // neutral colour, not the error red. + if (m_sel_solid_body < 0 || m_sel_solid_body >= int(m_doc.bodies.size())) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Select a solid body first — its mass properties are what is reported")); + m_status->Refresh(); + return; + } + const auto mp = GeometryEngine::mass_properties(m_doc.bodies[m_sel_solid_body].shape); + if (!mp.valid) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mass properties could not be computed for this body")); + m_status->Refresh(); + return; + } + // 1-based, and the body's own name when it has one — the same wording the parts list uses. + wxString name = wxString::Format(_L("Body %d"), m_sel_solid_body + 1); + if (!m_doc.bodies[m_sel_solid_body].name.empty()) + name = wxString::FromUTF8(m_doc.bodies[m_sel_solid_body].name); + if (!mp.is_solid) { + // Sheet body: quoting a volume here would be inventing material that is not there. + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("%s: sheet body — %.2f cm² of surface, no volume"), + name, mp.surface_area / 100.0)); + m_status->Refresh(); + wxMessageBox(wxString::Format(_L("%s\n\nSheet body (open shell)\nSurface area: %.2f cm²\n\n" + "A sheet encloses no material, so it has no volume. " + "Thicken it into a solid to get one."), + name, mp.surface_area / 100.0), + _L("Mass properties"), wxOK, this); + return; + } + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("%s: %.3f cm³, %.2f cm²"), + name, mp.volume / 1000.0, mp.surface_area / 100.0)); + m_status->Refresh(); + wxMessageBox(wxString::Format(_L("%s\n\nVolume: %.3f cm³\nSurface area: %.2f cm²"), + name, mp.volume / 1000.0, mp.surface_area / 100.0), + _L("Mass properties"), wxOK, this); +} + +// The rows are only the SHEET bodies, so a row index is NOT a body index — with a solid at 0 +// and a sheet at 1 the single row is row 0 but body 1. Every caller must therefore read the +// real body index out of the client data (3-arg Append; the 2-arg form takes a bitmap), never +// GetSelection(). Getting this wrong targets a solid and the kernel rejects it with +// "target is not a sheet", which reads as a kernel bug rather than a picker bug. +void DesignPanel::populate_sheet_body_choices(ComboBox* c) const +{ + if (!c) return; + const int keep = c->GetSelection(); + c->Clear(); + for (size_t i = 0; i < m_doc.bodies.size(); ++i) { + if (!CadDocument::is_sheet_shape(m_doc.bodies[i].shape)) continue; + const std::string& n = m_doc.bodies[i].name; + combo_append_index(c, n.empty() ? wxString::Format(_L("Body %zu"), i + 1) + : wxString::FromUTF8(n), int(i)); + } + if (c->GetCount() > 0) + c->SetSelection(std::min(std::max(keep, 0), int(c->GetCount()) - 1)); +} + +// Real body index behind the current row of a sheet-filtered picker, or -1. +int DesignPanel::sheet_choice_body(ComboBox* c) +{ + if (!c) return -1; + const int sel = c->GetSelection(); + if (sel == wxNOT_FOUND) return -1; + return int(reinterpret_cast<intptr_t>(c->GetClientData(sel))); +} + +// Select the row whose body index is `body`, so a re-edit restores the stored target rather +// than treating it as a row number. +void DesignPanel::select_sheet_choice(ComboBox* c, int body) +{ + if (!c) return; + for (unsigned i = 0; i < c->GetCount(); ++i) { + if (int(reinterpret_cast<intptr_t>(c->GetClientData(i))) == body) { c->SetSelection(int(i)); return; } + } + if (c->GetCount() > 0) c->SetSelection(0); +} + +void DesignPanel::on_add_pattern() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Pattern needs a solid body — add or import one first")); + return; + } + const bool circular = (m_pattern_type->GetSelection() == 1); + const int target = (m_sel_solid_body >= 0 && m_sel_solid_body < int(m_doc.bodies.size())) + ? m_sel_solid_body : -1; + m_feature_counter++; + m_doc.add_pattern(circular, int(m_pattern_count->GetValue()), + m_pattern_spacing->GetValue(), m_pattern_dir->GetSelection(), + m_pattern_angle->GetValue(), target, + "Pattern" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +int DesignPanel::selected_body_default() const +{ + const int n = int(m_doc.bodies.size()); + if (n <= 0) return 0; + return (m_sel_solid_body >= 0 && m_sel_solid_body < n) ? m_sel_solid_body : 0; +} + +void DesignPanel::populate_body_choices(int as_of_feature) +{ + // Re-editing a Boolean: list the bodies as they existed just before it ran, so a tool body + // it consumed still shows and the saved target/tool selections round-trip. Replay a copy of + // the recipe truncated to [0, as_of_feature). Fall back to the live bodies if the replay is + // degenerate (e.g. fewer than the saved refs need). + const std::vector<CadBody>* src = &m_doc.bodies; + std::vector<CadBody> as_of; + if (as_of_feature >= 0 && as_of_feature <= int(m_doc.features.size())) { + CadDocument tmp = m_doc; + tmp.features.resize(as_of_feature); + if (tmp.recompute() && !tmp.bodies.empty()) { as_of = tmp.bodies; src = &as_of; } + } + auto fill = [&](ComboBox* c, int def) { + if (!c) return; + c->Clear(); + for (size_t i = 0; i < src->size(); ++i) { + const std::string& n = (*src)[i].name; + c->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (c->GetCount() > 0) + c->SetSelection(std::min(def, int(c->GetCount()) - 1)); // selection index == body index + }; + const int picked = selected_body_default(); + fill(m_bool_target, picked); + // …and the tool body is a DIFFERENT one: defaulting both to the same body is a no-op the + // user has to notice and undo. Fall back to the neighbour of whatever was picked. + fill(m_bool_tool, picked == 0 ? 1 : 0); + fill(m_cut_target, picked); +} + +void DesignPanel::fill_body_choice(ComboBox* c, int as_of_feature, int want) +{ + if (!c) return; + // Same replay as populate_body_choices, for the single-combo tools. A stored target_body + // indexes the body list AS IT WAS just before that feature ran; listing the final bodies + // instead makes the saved index select whatever now sits at that position, which is a + // different body as soon as a later Cut splits one (indices shift up) or a later Boolean + // consumes its tool body (indices shift down). + const std::vector<CadBody>* src = &m_doc.bodies; + std::vector<CadBody> as_of; + if (as_of_feature >= 0 && as_of_feature <= int(m_doc.features.size())) { + CadDocument tmp = m_doc; + tmp.features.resize(as_of_feature); + if (tmp.recompute() && !tmp.bodies.empty()) { as_of = tmp.bodies; src = &as_of; } + } + c->Clear(); + for (size_t i = 0; i < src->size(); ++i) { + const std::string& n = (*src)[i].name; + c->Append(n.empty() ? wxString::Format(_L("Body %zu"), i + 1) : wxString::FromUTF8(n)); + } + if (want >= 0 && want < int(c->GetCount())) c->SetSelection(want); + else if (c->GetCount() > 0) c->SetSelection(0); +} + +void DesignPanel::on_add_boolean() +{ + if (m_doc.bodies.size() < 2) { + set_status(_L("Boolean needs two solid bodies — add or import a second one")); + return; + } + const int sel = m_bool_op->GetSelection(); + const BooleanMode op = (sel == 1) ? BooleanMode::Cut + : (sel == 2) ? BooleanMode::Intersect + : BooleanMode::Add; // 0 = Union + m_feature_counter++; + m_doc.add_boolean(op, m_bool_target->GetSelection(), m_bool_tool->GetSelection(), + m_bool_keep->GetValue(), m_bool_tol->GetValue(), -1, -1, + "Boolean" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::on_add_cut() +{ + if (m_doc.bodies.empty()) { + set_status(_L("Cut needs a solid body — add or import one first")); + return; + } + m_feature_counter++; + m_doc.add_cut(plane_from_choice(m_cut_plane->GetSelection()), m_cut_offset->GetValue(), + /*flip*/ false, /*keep_upper*/ true, /*keep_lower*/ true, + m_cut_target->GetSelection(), "Cut" + std::to_string(m_feature_counter)); + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); +} + +void DesignPanel::populate_plane_choices(ComboBox* c) const +{ + if (!c) return; + const int keep = c->GetSelection(); + c->Clear(); + c->Append(_L("XY")); c->Append(_L("XZ")); c->Append(_L("YZ")); + for (const auto& dp : m_doc.resolve_datum_planes()) + c->Append(wxString::FromUTF8(dp.first)); + c->SetSelection((keep >= 0 && keep < int(c->GetCount())) ? keep : 0); +} + +wxString DesignPanel::ref_plane_name(int row) const +{ + if (row == 1) return "XZ"; + if (row == 2) return "YZ"; + if (row >= 3) { + const auto datums = m_doc.resolve_datum_planes(); + const int di = row - 3; + if (di < int(datums.size())) return wxString::FromUTF8(datums[di].first); + } + return "XY"; +} + +SketchPlane DesignPanel::plane_from_choice(int row) const +{ + if (row < 3) { // 0=XY,1=XZ,2=YZ through the modeling origin + SketchPlane p = plane_from_index(row); + p.origin += m_doc.modeling_origin; + return p; + } + // Datums are already in world coords (resolve_datum_planes applied the origin to their base). + auto datums = m_doc.resolve_datum_planes(); + const int di = row - 3; + if (di >= 0 && di < int(datums.size())) return datums[di].second; + SketchPlane p = SketchPlane::XY(); p.origin += m_doc.modeling_origin; return p; +} + +// A sketch goes where the user pointed. A planar face picked in the viewport wins outright; only +// when nothing is picked do we fall back to the reference plane, which itself is normally set by +// clicking one of the ghost planes in 3D (on_datum_base_picked) rather than by opening the combo. +// Before this, a picked face was ignored and the only way onto it was to build a Coincident datum +// plane first and then find it in a dropdown — three steps and a junk feature in the tree for the +// most common gesture in solid modelling. 3a2. +SketchPlane DesignPanel::sketch_plane_from_selection(wxString& what) const +{ + SketchPlane p; + // An explicitly face-level selection first, then the face merely CLICKED ON while the whole + // body was selected. The second case is the common one: one click on a face is what a user + // means by "select this face", and requiring the cycle's second click to make it count is the + // whole reason this looked unfixed. + const int fb = (m_sel_solid_face >= 0 && m_sel_solid_body >= 0) ? m_sel_solid_body : m_pick_face_body; + const int fi = (m_sel_solid_face >= 0 && m_sel_solid_body >= 0) ? m_sel_solid_face : m_pick_face; + if (fb >= 0 && fi >= 0 && m_doc.plane_of_face(fb, fi, p)) { + what = (m_doc.bodies.size() > 1) + ? wxString::Format(_L("the picked face of Body %d"), fb + 1) + : _L("the picked face"); + return p; + } + what = ref_plane_name(m_ref_plane); + return plane_from_choice(m_ref_plane); +} + +// Is there a sketch target the USER chose, and what is it called? Distinct from +// sketch_plane_from_selection, which always answers because it falls back to m_ref_plane — +// a caller that wants to say "sketching on X" needs to know whether there is anything to fall +// back FROM, so it can ask for a plane instead of claiming one the user never picked. +bool DesignPanel::sketch_plane_target(wxString& what) const +{ + const int fb = (m_sel_solid_face >= 0 && m_sel_solid_body >= 0) ? m_sel_solid_body : m_pick_face_body; + const int fi = (m_sel_solid_face >= 0 && m_sel_solid_body >= 0) ? m_sel_solid_face : m_pick_face; + SketchPlane p; + if (fb >= 0 && fi >= 0 && m_doc.plane_of_face(fb, fi, p)) { + what = (m_doc.bodies.size() > 1) + ? wxString::Format(_L("the picked face of Body %d"), fb + 1) + : _L("the picked face"); + return true; + } + if (m_plane_picked) { what = ref_plane_name(m_ref_plane); return true; } + return false; +} + +// --------------------------------------------------------------------------------------------- +// The object-driven offer (charter §4.1). Right-click the geometry and get a vertical list in the +// ratified row order, with the verbs that do not apply DISABLED IN PLACE carrying their reason. +// The rows come from DesignOffer.hpp, generated from docs/ux/tool_atlas.json — the same file the +// mockups are drawn from, so a drawing and the product cannot drift apart. +// --------------------------------------------------------------------------------------------- + +bool DesignPanel::sketch_map_applies() const +{ + return m_ui_mode == UiMode::Sketch || (m_viewport && m_viewport->is_sketching()); +} + +// Which kind of thing is selected, as an OfferSel. Classified by the level the pick cycle has +// actually REACHED, so the menu describes what is highlighted — a header that names a face while +// the whole body is lit would be lying, and this menu's whole value is that it tells the truth +// about the selection. (Sketching on the face you merely clicked is unaffected: that path is +// sketch_plane_from_selection, which deliberately uses m_pick_face. 3a2.) +int DesignPanel::offer_selection_kind() const +{ + if (sketch_map_applies()) { + // Classify WHAT is selected in the sketch, rather than collapsing every sketch state to + // SkNone. The offer table has always described verbs for a selected line, arc, point or + // pair — Trim, Extend, Fillet, Chamfer, Offset, Mirror, the arrays, Move/Rotate/Scale, + // Constrain, Delete — but nothing ever RETURNED those kinds, so all thirteen were + // unreachable from the menu and the sketch-editing vocabulary did not exist in the one + // place this app tells users to look. A user comparing against Onshape reported exactly + // that about constraints (OrcaSlicer PR #15238). + const int n = m_viewport ? m_viewport->sketch_selection_count() : 0; + if (n >= 2) return int(OfferSel::Sk2Ent); + if (n == 1) { + SketchEntity::Type t = SketchEntity::Type::Line; + if (m_viewport && m_viewport->sketch_first_selected_type(t)) { + switch (t) { + case SketchEntity::Type::Line: return int(OfferSel::SkLine); + case SketchEntity::Type::Point: return int(OfferSel::SkPoint); + // Arc, Circle, Ellipse, EllipseArc, BSpline all take the curve vocabulary. + default: return int(OfferSel::SkArc); + } + } + } + return int(OfferSel::SkNone); + } + + const int nb = int(m_doc.bodies.size()); + if (m_sel_solid_vertex && m_sel_solid_body >= 0 && m_sel_solid_body < nb) + return int(OfferSel::Vertex); + if (m_sel_solid_edge >= 0 && m_sel_solid_body >= 0 && m_sel_solid_body < nb) { + const TopoDS_Edge e = GeometryEngine::edge_by_index(m_doc.bodies[m_sel_solid_body].shape, + m_sel_solid_edge); + return int(GeometryEngine::circle_of_edge(e).ok ? OfferSel::EdgeCirc : OfferSel::EdgeStr); + } + if (m_sel_solid_face >= 0 && m_sel_solid_body >= 0 && m_sel_solid_body < nb) { + SketchPlane p; + if (m_doc.plane_of_face(m_sel_solid_body, m_sel_solid_face, p)) + return int(OfferSel::FacePlanar); + const TopoDS_Face f = GeometryEngine::face_by_index(m_doc.bodies[m_sel_solid_body].shape, + m_sel_solid_face); + return int(GeometryEngine::cylinder_of_face(f).ok ? OfferSel::FaceCyl : OfferSel::FaceOther); + } + if (m_sel_sketch_region >= 0) + return int(OfferSel::SkLoop); + if (m_sel_solid_body >= 0 && m_sel_solid_body < nb) + return int(CadDocument::is_sheet_shape(m_doc.bodies[m_sel_solid_body].shape) + ? OfferSel::BodySheet : OfferSel::BodySolid); + return int(OfferSel::None); +} + +// Route a row to the code that already implements the verb. Nothing here re-implements a tool: +// the offer is a second door onto the same room, which is what keeps the toolbar, the shortcuts +// and the menu from drifting into three behaviours. +void DesignPanel::run_offer_action(const char* action) +{ + if (!action || !*action) + return; + const std::string a(action); + if (a.rfind("key:", 0) == 0) { + const std::string k = a.substr(4); + if (k.size() >= 3 && k[0] == 'S' && k[1] == '+') { // "S+E" -> Shift+E, model mode + auto it = m_keys_feature.find(int(k[2]) | SC_SHIFT); + if (it != m_keys_feature.end() && it->second) it->second(); + } else if (!k.empty()) { // "L" -> sketch-mode letter + auto it = m_keys_sketch.find(int(k[0])); + if (it != m_keys_sketch.end() && it->second) it->second(); + } + return; + } + auto it = m_verb_actions.find(a); + if (it != m_verb_actions.end() && it->second) + it->second(); +} + +// Look a verb up by its offer id and dispatch it — the "run_verb" half of the MCP offer surface. +// Unknown ids and rows whose action string is null (kernel support, no GUI route yet) return +// false without touching anything, so the caller can tell "no such verb" from "not wired yet". +bool DesignPanel::mcp_run_verb(const char* verb_id) +{ + if (!verb_id) return false; + for (int i = 0; i < kOfferVerbCount; ++i) { + const OfferVerb& v = kOfferVerbs[i]; + if (std::string(v.id) == verb_id) { + if (v.action == nullptr) return false; + run_offer_action(v.action); + return true; + } + } + return false; +} + +wxPoint DesignPanel::offer_anchor() const +{ + const wxPoint mouse = wxGetMousePosition(); + if (!m_viewport) + return mouse; + const wxRect r = m_viewport->GetScreenRect(); + if (r.Contains(mouse)) + return mouse; + return wxPoint(r.x + r.width / 2, r.y + r.height / 2); +} + +// Append a verb row carrying the same glyph its toolbar button shows. The icon name comes from +// the atlas, so a verb and its icon are declared in one place; a null or unknown name leaves +// the row text-only rather than drawing a blank square. +// +// THE BITMAP MUST BE SET BEFORE Append(). wxGTK builds the GtkMenuItem inside Append and reads +// GetBitmap() right there (gtk/menu.cpp) — it makes a gtk_image_menu_item only if a bitmap is +// already present, and a plain one otherwise. Setting it on the item Append() returns is too +// late and silently does nothing, which is exactly how the first attempt failed. This is why +// Orca's own append_menu_item() constructs, sets, then appends. +// One place that writes the status line, so every hint wraps instead of clipping at the panel +// edge. wxStaticText::Wrap() is destructive, which is fine here: the label is replaced whole +// each time, never appended to. +void DesignPanel::set_status(const wxString& text) +{ + if (m_status == nullptr) return; + m_status->SetLabel(text); // the ONE place that may call SetLabel directly + // m_status is HIDDEN and kept only as the owner of the text and its colour — every caller + // sets the colour on it just before calling here, so this stays the one place that knows + // both. What the user reads is drawn along the BASE OF THE VIEWPORT: in the panel the line + // was clipped at ~73 characters with no warning and no wrap (Wrap() never took effect — + // 8cc), which silently length-limited every hint in the tab. The viewport's bottom + // margin has the whole window width, so a sentence can be a sentence. + if (m_viewport != nullptr) { + // wxNullColour means "no opinion", and the dark default text colour is nearly invisible + // on the dark HUD; only a colour a caller actually chose (the error red, the plane-pick + // green) is carried over. Compared against the colour the label was CREATED with — + // comparing against the parent's foreground instead reported "chosen" for every line, + // and the neutral text came out the panel's grey. + const wxColour fg = m_status->GetForegroundColour(); + m_viewport->set_status_text(text, fg != m_status_default_fg ? fg + : wxColour(0xDD, 0xE1, 0xE6)); + } +} + + +// The sentence for the step the armed sketch tool is on (1c0c). One table, so a tool's +// gesture is described in one place and the description cannot drift from the code that reads the +// clicks: the step counts here are the ones DesignSketchTool::render previews and on_mouse +// consumes. `step` = anchors already placed (edit-ops: 0 none, 1 first pick down, 2 ready to +// apply); `picks` = the size of the set the gesture accumulates. +// +// It is deliberately explicit about the gesture that ENDS each tool, because none of them is +// discoverable: a click on empty space applies an edit-op or a transform, right-click cancels it, +// and Esc downgrades an armed tool to Select before it ever exits the sketch. +static wxString sketch_step_prompt(DesignSketchTool::Mode m, int step, int picks) +{ + using Mode = DesignSketchTool::Mode; + auto pick_more = [](const wxString& lead, int n) { + return n <= 0 ? lead + : lead + wxString::Format(_L(" · %d picked"), n); + }; + switch (m) { + case Mode::Select: + return picks > 0 + ? wxString::Format(_L("%d selected · Del removes them · Shift-click adds · " + "double-click takes the whole loop"), picks) + : _L("Select — click an entity to pick it · drag an endpoint or centre to move it · " + "Shift-click adds · Del removes"); + case Mode::Constrain: + return picks > 0 + ? wxString::Format(_L("%d picked · now choose a constraint (Horizontal, Parallel, " + "Tangent, Equal…)"), picks) + : _L("Constrain — click one or two entities, then choose a constraint"); + case Mode::Dimension: + return step == 0 ? _L("Dimension — click an entity, or the first of two points") + : _L("Dimension — click the second point"); + case Mode::Line: + return step == 0 ? _L("Line — click the start point") + : _L("Line — click the end point, or type the length"); + case Mode::Polyline: + return step == 0 ? _L("Polyline — click the first point") + : pick_more(_L("Polyline — click the next point · click the start point " + "to close it · right-click to end the chain"), step); + case Mode::CornerRect: + return step == 0 ? _L("Rectangle — click one corner") + : _L("Rectangle — click the opposite corner"); + case Mode::CenterRect: + return step == 0 ? _L("Centre rectangle — click the centre") + : _L("Centre rectangle — click a corner"); + case Mode::ObliqueRect: + return step == 0 ? _L("Oblique rectangle — click the start of the base edge") + : step == 1 ? _L("Oblique rectangle — click the end of the base edge (this sets the angle)") + : _L("Oblique rectangle — click to set the width"); + case Mode::RoundedRect: + return step == 0 ? _L("Rounded rectangle — click one corner") + : step == 1 ? _L("Rounded rectangle — click the opposite corner") + : _L("Rounded rectangle — click to set the corner radius"); + case Mode::CenterCircle: + return step == 0 ? _L("Circle — click the centre") + : _L("Circle — click to set the radius, or type it"); + case Mode::TwoPointCircle: + return step == 0 ? _L("Circle (2 points) — click one end of the diameter") + : _L("Circle (2 points) — click the other end of the diameter"); + case Mode::ThreePointCircle: + return step == 0 ? _L("Circle (3 points) — click the first point on the circle") + : step == 1 ? _L("Circle (3 points) — click the second point") + : _L("Circle (3 points) — click the third point"); + case Mode::ThreePointArc: + return step == 0 ? _L("Arc — click the start point") + : step == 1 ? _L("Arc — click the end point") + : _L("Arc — click a point the arc passes through"); + case Mode::TangentArc: + return step == 0 ? _L("Tangent arc — click the endpoint it leaves from") + : _L("Tangent arc — click its far end"); + case Mode::CenterArc: + return step == 0 ? _L("Centre arc — click the centre") + : step == 1 ? _L("Centre arc — click the start point (this sets the radius)") + : _L("Centre arc — click the end point"); + case Mode::Slot: + return step == 0 ? _L("Slot — click one end of the centreline") + : step == 1 ? _L("Slot — click the other end of the centreline") + : _L("Slot — click to set the width"); + case Mode::ArcSlot: + return step == 0 ? _L("Arc slot — click the centre the slot curves about") + : step == 1 ? _L("Arc slot — click the start of the centreline (this sets the radius)") + : step == 2 ? _L("Arc slot — click the end of the centreline") + : _L("Arc slot — click to set the width"); + case Mode::Polygon: + return step == 0 ? _L("Polygon — click the centre") + : _L("Polygon — click a vertex (this sets size and orientation)"); + case Mode::Ellipse: + return step == 0 ? _L("Ellipse — click the centre") + : step == 1 ? _L("Ellipse — click the end of the major axis") + : _L("Ellipse — click a point on the minor axis"); + case Mode::EllipseArc: + return step == 0 ? _L("Elliptical arc — click the centre") + : step == 1 ? _L("Elliptical arc — click the end of the major axis") + : step == 2 ? _L("Elliptical arc — click a point on the minor axis") + : step == 3 ? _L("Elliptical arc — click where the arc starts") + : _L("Elliptical arc — click where the arc ends"); + case Mode::BSpline: + return step == 0 ? _L("Spline — click the first control point") + : pick_more(_L("Spline — click the next control point · right-click to " + "finish the curve"), step); + case Mode::Point: + return _L("Point — click to place one; the tool stays armed for more"); + case Mode::Trim: + return _L("Trim — click a segment where it crosses another entity · right-click to exit"); + case Mode::Extend: + return _L("Extend — click a line or arc to grow it out to the nearest entity · " + "right-click to exit"); + case Mode::Fillet: + return step == 0 ? _L("Fillet — click the first of two lines that meet") + : step == 1 ? _L("Fillet — click the second line") + : _L("Fillet — drag the arrow, or click the number to type the radius · " + "click empty space to apply · right-click cancels"); + case Mode::Chamfer: + return step == 0 ? _L("Chamfer — click the first of two lines that meet") + : step == 1 ? _L("Chamfer — click the second line") + : _L("Chamfer — drag the arrow, or click the number to type the setback · " + "click empty space to apply · right-click cancels"); + case Mode::Offset: + return step == 0 ? _L("Offset — click the entity to offset") + : _L("Offset — drag the arrow to either side, or click the number to type " + "the distance · click empty space to apply · right-click cancels"); + case Mode::Mirror: + // The two-phase pick is the one gesture users reported as unguided: nothing said the + // AXIS comes first, and nothing said an empty click is what applies it. + return step == 0 + ? _L("Mirror — first click the LINE to mirror about (a construction line works)") + : picks == 0 + ? _L("Mirror — axis set · now click the entities to mirror · right-click cancels") + : wxString::Format(_L("Mirror — axis set · %d to mirror · click another to add or " + "remove it · click empty space to apply"), picks); + case Mode::Move: + return step == 0 ? _L("Move — click the entities to move") + : pick_more(_L("Move — drag the handle, or click the number to type the " + "distance · click empty space to apply"), picks); + case Mode::Rotate: + return step == 0 ? _L("Rotate — click the entities to rotate") + : pick_more(_L("Rotate — drag the handle, or click the number to type the " + "angle · click empty space to apply"), picks); + case Mode::Scale: + return step == 0 ? _L("Scale — click the entities to scale") + : pick_more(_L("Scale — drag the handle, or click the number to type the " + "factor · click empty space to apply"), picks); + case Mode::Array: + return step == 0 ? _L("Array — click the entities to repeat") + : pick_more(_L("Array — drag the handle to set the step, click the count to " + "type it · click empty space to apply"), picks); + case Mode::PolarArray: + return step == 0 ? _L("Polar array — click the entities to repeat") + : pick_more(_L("Polar array — drag the handle to set the sweep, click the " + "count to type it · click empty space to apply"), picks); + case Mode::TransformArt: + return _L("Drag a corner to scale, the centre to move · right-click when done"); + } + return wxString(); +} + +void DesignPanel::on_sketch_step(int mode, int step, int picks) +{ + wxString text = sketch_step_prompt(DesignSketchTool::Mode(mode), step, picks); + // Esc is layered (DesignSketchTool::request_exit): it drops the anchors down, then downgrades + // the armed tool to Select, and only then leaves the sketch. Nothing in the UI said so, so + // the route back to selecting existing geometry was invisible. Said once, on the step where + // the gesture has not started yet, so it does not crowd the instruction that matters. + if (step == 0 && picks == 0 && DesignSketchTool::Mode(mode) != DesignSketchTool::Mode::Select + && !text.IsEmpty()) + text += _L(" · Esc goes back to Select"); + // Badges are clickable and nothing said so — a glyph reads as decoration until something + // tells you it is a target. Only in Select mode (the only mode where the click is wired) and + // only once a constraint exists, so it never advertises a badge that is not on screen. + if (DesignSketchTool::Mode(mode) == DesignSketchTool::Mode::Select && m_viewport != nullptr && + m_viewport->sketch_constraint_count() > 0 && !text.IsEmpty()) + text += _L(" · click a constraint badge to remove it"); + m_sketch_step = text; + if (text.IsEmpty() || m_status == nullptr) return; + m_status->SetForegroundColour(wxNullColour); + set_status(text); + m_status->Refresh(); +} + +wxMenuItem* DesignPanel::append_offer_item(wxMenu* menu, int id, const wxString& text, + const OfferVerb& v) +{ + auto* item = new wxMenuItem(menu, id, text); + if (v.icon != nullptr && *v.icon != '\0') { + const wxBitmap bmp = create_scaled_bitmap(v.icon, this, 16); + if (bmp.IsOk()) + item->SetBitmap(bmp); + } + menu->Append(item); + return item; +} + +// Diagnostic only: what the offer is about to show, line per row, on stderr. Costs one getenv +// per menu when off. The ladder that drives right-click needs to assert the ROW SET, and the only +// honest source for that is the loop that builds the rows. +static void offer_trace(const char* fmt, ...) +{ + static const bool on = std::getenv("ORCA_CAD_KEYTRACE") != nullptr; + if (!on) return; + va_list ap; + va_start(ap, fmt); + fprintf(stderr, "[OFFER] "); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); + fflush(stderr); +} + +void DesignPanel::show_offer_menu(const wxPoint& screen_pos) +{ + const int kind = offer_selection_kind(); + const uint32_t bit = offer_bit(OfferSel(kind)); + // Which verb MAP applies is a question about the MODE, not about whether a session is + // running — the same distinction the keyboard already had to learn (0ud). Gated on + // is_sketching() the offer opened on entering a sketch showing the FEATURE rows, every one + // of them refusing the sketch selection, so it read as a menu of nine dead entries. + const bool sketching = sketch_map_applies(); + // The offer ladder reads THIS, not the pixels: the trace is emitted from the same loop that + // builds the menu, so it cannot drift from what the user is shown. Gated on the existing + // ORCA_CAD_KEYTRACE so a rig run needs one env var, not two. <offer ladder>. + offer_trace("open kind=%d sketching=%d bodies=%d", kind, sketching ? 1 : 0, + int(m_doc.bodies.size())); + + const int bodies = int(m_doc.bodies.size()); + int sketches = 0; + for (const auto& f : m_doc.features) + if (f.type == CadFeatureType::Sketch) ++sketches; + bool sheet = false; + for (const auto& b : m_doc.bodies) + if (CadDocument::is_sheet_shape(b.shape)) { sheet = true; break; } + + auto applies = [&](const OfferVerb& v) { + return (v.accepts & bit) && v.need_bodies <= bodies && v.need_sketches <= sketches + && (!v.need_sheet || sheet); + }; + // Names and reasons live in the generated table as plain literals; they are the same strings + // the toolbar already ships, so the catalogue already carries their translations. + // Scope the lookup to the APPLICATION catalog. A bare wxGetTranslation() searches every + // loaded catalog, wxWidgets' own wxstd included — so on a non-English system the two row + // names that happen to be wx standard strings came back translated while the other six, + // which wx does not know, stayed English. On an Italian desktop the offer read + // "Create / Add material / Rimuovi / Fillet / chamfer / draft / Repeat / Transform / + // Reference / Modify": one menu, two languages, and not because anything was mistranslated. + // The same trap is waiting for any locale — Supprimer, Löschen, Eliminar. Naming the domain + // means these strings are translated by OUR catalogue or not at all, which is consistent + // either way. + auto tr = [](const char* s) { + return wxGetTranslation(wxString::FromUTF8(s), SLIC3R_APP_KEY); + }; + auto label = [&](const OfferVerb& v) { + wxString s = tr(v.name); + if (v.key && *v.key) s += "\t" + wxString::FromUTF8(v.key); + return s; + }; + + wxMenu menu; + std::vector<const OfferVerb*> bound; // menu id offset -> verb + const int base = wxID_HIGHEST + 4200; + + for (int row = 0; row < kOfferRowCount; ++row) { + std::vector<const OfferVerb*> live, family; + for (int i = 0; i < kOfferVerbCount; ++i) { + const OfferVerb& v = kOfferVerbs[i]; + if (v.row != row || v.sketch_mode != sketching) continue; + family.push_back(&v); + if (applies(v)) live.push_back(&v); + } + if (family.empty()) + continue; // no verb of this family in this mode + const wxString fam = tr(kOfferRowNames[row]); + + if (live.empty()) { + // DISABLED IN PLACE, with the reason. This is the row that makes the list worth + // having: a control that cannot be used still says what it is and what you would + // have to do first, in the product's own words (L7). + // + // The reason must be TRUE for the situation in front of the user. Taking the first + // refusal in the family printed "Transform needs a body — add or import one first" + // on a document that has a body, because the real obstacle was that nothing was + // selected. So: prefer the refusal of a verb that accepts THIS selection and fails + // only on document state — that message is about the actual blocker. If no verb in + // the family accepts this selection at all, the honest thing is to say so, or say + // nothing. + const char* why = nullptr; + for (const OfferVerb* v : family) + if ((v->accepts & bit) && v->refusal) { why = v->refusal; break; } + wxString s = fam; + if (why) + s += wxString::FromUTF8(" — ") + tr(why); + else if (OfferSel(kind) == OfferSel::None) + s += wxString::FromUTF8(" — ") + _L("select something first"); + offer_trace("row=%d %s DISABLED (%s)", row, kOfferRowNames[row], + why ? why : "no verb accepts this selection"); + menu.Append(base + int(bound.size()), s)->Enable(false); + bound.push_back(nullptr); + } else if (live.size() == 1) { + offer_trace("row=%d %s -> %s%s", row, kOfferRowNames[row], live[0]->id, + live[0]->action ? "" : " (no GUI route)"); + append_offer_item(&menu, base + int(bound.size()), label(*live[0]), *live[0]) + ->Enable(live[0]->action != nullptr); + bound.push_back(live[0]); + } else { + // Two levels, not one. A verb with a `family` joins a nested submenu of that name + // (Rectangle -> corner / centre / oblique / rounded); one without sits directly in + // the row. Families keep the order of their first member, so the row's layout is + // stable across selections — the whole point of a fixed address. + auto* sub = new wxMenu(); + std::vector<std::pair<std::string, wxMenu*>> groups; // insertion-ordered + for (const OfferVerb* v : live) { + wxMenu* target = sub; + if (v->family && *v->family) { + auto it = std::find_if(groups.begin(), groups.end(), + [&](const auto& g) { return g.first == v->family; }); + if (it == groups.end()) { + auto* g = new wxMenu(); + groups.emplace_back(v->family, g); + sub->AppendSubMenu(g, tr(v->family)); + target = g; + } else { + target = it->second; + } + } + offer_trace("row=%d %s > %s%s%s%s", row, kOfferRowNames[row], + (v->family && *v->family) ? v->family : "", + (v->family && *v->family) ? " > " : "", v->id, + v->action ? "" : " (no GUI route)"); + append_offer_item(target, base + int(bound.size()), label(*v), *v) + ->Enable(v->action != nullptr); + bound.push_back(v); + } + menu.AppendSubMenu(sub, fam); + } + } + + // --- Mate palette section (lukg part B) --- + // Fed by CadDocument::mate_options() so the offer can never disagree with the kernel about + // which assembly mates a connector pair admits. Shown only when the document holds at least + // two ENABLED CoordSys features: below that the whole section would be one permanently dead + // row, which is noise rather than information. + // Set while a hovered mate row is showing its ghost, so the cleanup after PopupMenu can tell + // "I put that there" from "some other tool's preview was already on screen". + bool mate_ghost = false; + std::vector<int> cs_features; + for (int i = 0; i < int(m_doc.features.size()); ++i) + if (m_doc.features[i].type == CadFeatureType::CoordSys && m_doc.features[i].enabled) + cs_features.push_back(i); + if (cs_features.size() >= 2) { + // Which two connectors the types would apply to. The Mate card's combos when it is open — + // so the offer and the card can never disagree about the pair — otherwise the first two + // enabled CoordSys features, which is a defensible default precisely because the header row + // below NAMES it. An offer that acts on an unnamed pair would be worse than no offer. + int cs_a = -1, cs_b = -1; + if (m_active == Tool::Mate && m_mate_cs_a && m_mate_cs_b + && m_mate_cs_a->GetSelection() != wxNOT_FOUND + && m_mate_cs_b->GetSelection() != wxNOT_FOUND) { + cs_a = int(reinterpret_cast<intptr_t>(m_mate_cs_a->GetClientData(m_mate_cs_a->GetSelection()))); + cs_b = int(reinterpret_cast<intptr_t>(m_mate_cs_b->GetClientData(m_mate_cs_b->GetSelection()))); + } + if (cs_a < 0 || cs_b < 0) { cs_a = cs_features[0]; cs_b = cs_features[1]; } + + // The generated verb rows own [base, base + bound.size()); kOfferVerbCount is 87, so a + // gap of 500 keeps this section's ids clear of that range and lets its own handler index + // by a distinct offset. + const int mate_base = base + 500; + + menu.AppendSeparator(); + // B is the connector on the body that MOVES (CadDocument.hpp:317), so B is the arrow's + // destination — "A first" invites the opposite guess. + const wxString name_a = wxString::FromUTF8(m_doc.features[cs_a].name); + const wxString name_b = wxString::FromUTF8(m_doc.features[cs_b].name); + menu.Append(mate_base, wxString::Format(_L("Mate: %s → %s"), name_a, name_b))->Enable(false); + + // A switch of literal _L() calls, not an array indexed by kind. _L is a gettext macro: + // the extractor scans the SOURCE for literals, so _L(table[i]) compiles fine and then + // silently ships five strings that are never in the catalogue and can never be + // translated. These names appear nowhere else in the tree, so the array version would + // have been their only occurrence. + auto mate_kind_name = [](int kind) -> wxString { + switch (kind) { + case 0: return _L("Fastened"); + case 1: return _L("Planar"); + case 2: return _L("Revolute"); + case 3: return _L("Slider"); + default: return _L("Cylindrical"); + } + }; + // Five rows, always, in kind order. Never reordered, never filtered — a menu that changes + // shape between invocations destroys the motor memory experts rely on. + const std::vector<CadDocument::MateOption> opts = m_doc.mate_options(cs_a, cs_b); + for (int i = 0; i < int(opts.size()); ++i) { + const CadDocument::MateOption& o = opts[i]; + wxString label = mate_kind_name(o.kind); + if (!o.viable) + label += wxString::FromUTF8(" — ") + wxString::FromUTF8(o.reason); + menu.Append(mate_base + 1 + i, label)->Enable(o.viable); + } + + // Hovering a row shows the RESULT, not a description of it (epic gap G3). preview() moves + // the body on a throwaway copy of the document, so nothing is written until the click — + // the "commit nothing until you choose" behaviour the palette was asked for. + auto drop_ghost = [this, &mate_ghost]() { + if (!mate_ghost) return; + m_viewport->clear_preview(); + m_viewport->set_body_hidden(false); + m_viewport->repaint_now(); + mate_ghost = false; + }; + menu.Bind(wxEVT_MENU_HIGHLIGHT, + [this, cs_a, cs_b, opts, &mate_ghost, drop_ghost](wxMenuEvent& e) { + const int i = e.GetMenuId() - (mate_base + 1); + // Off the palette (a verb row, the header, or nothing) — a stale ghost from the row + // you just left is worse than none, so it goes as soon as the cursor does. + if (i < 0 || i >= int(opts.size()) || !opts[i].viable) { drop_ghost(); return; } + std::string err; + mate_ghost = show_mate_ghost(opts[i].kind, cs_a, cs_b, 0.0, 0.0, false, err); + m_viewport->repaint_now(); // synchronous: the popup owns the loop, a queued repaint is never serviced + }); + + menu.Bind(wxEVT_MENU, [this, cs_a, cs_b, opts, drop_ghost](wxCommandEvent& e) { + const int i = e.GetId() - (mate_base + 1); + if (i < 0 || i >= int(opts.size()) || !opts[i].viable) return; + drop_ghost(); // the real bodies are about to become the ghost's pose + m_doc.checkpoint(); // undo boundary: committing a mate from the offer + int idx = m_doc.add_mate(opts[i].kind, cs_a, cs_b, 0.0, 0.0, false, + "Mate" + std::to_string(++m_feature_counter)); + if (idx < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate rejected")); + m_status->Refresh(); + return; + } + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + refresh_tree(); + }); + } + + // Hovering a row explains it. The offer is the only door to these tools now, so a bare + // name is not enough — and the hint arrives while you are still choosing. + // BOUND TO THE VERB ID RANGE, NOT THE WHOLE MENU. These two used to be unfiltered, and + // wxWidgets pushes dynamic entries to the FRONT of the handler list, so being bound LAST made + // them run FIRST for every id — including the mate rows at mate_base+1 (base+501) above. Both + // fall out of `bound`'s range there and return WITHOUT e.Skip(), which wx reads as "handled", + // so the mate handlers never ran: hovering a mate kind showed no ghost and left the previous + // status message on screen, and clicking one created nothing at all. The whole mate palette + // enumerated perfectly and fired nothing. Restricting the range keeps each half to its own ids + // regardless of bind order. + menu.Bind(wxEVT_MENU_HIGHLIGHT, [this, &bound](wxMenuEvent& e) { + const int i = e.GetMenuId() - base; + if (i < 0 || i >= int(bound.size()) || bound[i] == nullptr || bound[i]->hint == nullptr) + return; + m_status->SetForegroundColour(wxNullColour); + set_status(wxGetTranslation(wxString::FromUTF8(bound[i]->hint))); + m_status->Update(); // the popup owns the loop; without this the line repaints late + }, base, base + 499); // 499: the mate section starts at base + 500 (see mate_base) + menu.Bind(wxEVT_MENU, [this, &bound](wxCommandEvent& e) { + const int i = e.GetId() - base; + if (i >= 0 && i < int(bound.size()) && bound[i]) + run_offer_action(bound[i]->action); + }, base, base + 499); // 499: the mate section starts at base + 500 (see mate_base) + PopupMenu(&menu, ScreenToClient(screen_pos)); + // PopupMenu is modal, so by here the menu is gone and any command it raised has already run. + // A hover ghost that outlived the menu it belonged to would leave the committed bodies hidden + // behind a preview nothing can dismiss — bind nothing to the close event, just clean up here. + if (mate_ghost) { + m_viewport->clear_preview(); + m_viewport->set_body_hidden(false); + m_viewport->request_repaint(); + } +} + +void DesignPanel::apply_plane_refs(CadFeature& f) const +{ + f.plane_type = (PlaneType)m_plane_type->GetSelection(); + f.plane_face_body = m_pl_faceA_body; f.plane_face = m_pl_faceA; + f.plane_face2_body = m_pl_faceB_body; f.plane_face2 = m_pl_faceB; + f.plane_edge_body = m_pl_edgeA_body; f.plane_edge = m_pl_edgeA; + f.plane_edge2_body = m_pl_edgeB_body; f.plane_edge2 = m_pl_edgeB; + f.plane_u_size = m_plane_usize->GetValue(); + f.plane_v_size = m_plane_vsize->GetValue(); +} + +void DesignPanel::refresh_plane_labels() +{ + auto txt = [](int idx) { return idx >= 0 ? wxString::Format("#%d", idx) : wxString(_L("(none)")); }; + if (m_plane_faceA_lbl) m_plane_faceA_lbl->SetLabel(txt(m_pl_faceA)); + if (m_plane_faceB_lbl) m_plane_faceB_lbl->SetLabel(txt(m_pl_faceB)); + if (m_plane_edgeA_lbl) m_plane_edgeA_lbl->SetLabel(txt(m_pl_edgeA)); + if (m_plane_edgeB_lbl) m_plane_edgeB_lbl->SetLabel(txt(m_pl_edgeB)); +} + +void DesignPanel::reset_plane_refs() +{ + m_pl_faceA_body = m_pl_faceA = -1; m_pl_faceB_body = m_pl_faceB = -1; + m_pl_edgeA_body = m_pl_edgeA = -1; m_pl_edgeB_body = m_pl_edgeB = -1; + m_plane_pick = PlanePick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_plane_labels(); +} + +void DesignPanel::arm_plane_pick(PlanePick target) +{ + m_plane_pick = target; + // While a pick is armed, a click must CAPTURE the face under the cursor, never escalate to + // the whole body. Without this, clicking a face that already happens to be selected reads as + // a repeat pick, selects the body, and the capture is silently lost — the label stays + // "(none)" and the user has no idea why. The capture path below already restores the flag, + // and reset_plane_refs() restores it when the pick is abandoned; only the arm side was missing. + if (m_viewport) m_viewport->set_escalate_on_repick(false); + const bool face = (target == PlanePick::FaceA || target == PlanePick::FaceB); + m_status->SetForegroundColour(wxNullColour); + set_status(face ? _L("Click a solid FACE in the viewport") + : _L("Click a solid EDGE in the viewport")); + m_status->Refresh(); +} + +// --- Axis helpers --- + +void DesignPanel::apply_axis_refs(CadFeature& f) const +{ + f.axis_type = (AxisType)m_axis_type->GetSelection(); + f.axis_face = m_ax_face; + f.axis_edge = m_ax_edge; + f.axis_plane_a = m_axis_plane_a->GetSelection(); + f.axis_plane_b = m_axis_plane_b->GetSelection(); + f.axis_p1 = Vec3d(m_axis_p1x->GetValue(), m_axis_p1y->GetValue(), m_axis_p1z->GetValue()); + f.axis_p2 = Vec3d(m_axis_p2x->GetValue(), m_axis_p2y->GetValue(), m_axis_p2z->GetValue()); + f.axis_body = m_ax_face_body; +} + +void DesignPanel::refresh_axis_labels() +{ + auto txt = [](int idx) { return idx >= 0 ? wxString::Format("#%d", idx) : wxString(_L("(none)")); }; + if (m_axis_face_lbl) m_axis_face_lbl->SetLabel(txt(m_ax_face)); + if (m_axis_edge_lbl) m_axis_edge_lbl->SetLabel(txt(m_ax_edge)); +} + +void DesignPanel::reset_axis_refs() +{ + m_ax_face_body = m_ax_face = -1; + m_ax_edge = -1; + m_axis_pick = AxisPick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_axis_labels(); +} + +void DesignPanel::arm_axis_pick(AxisPick target) +{ + m_axis_pick = target; + if (m_viewport) m_viewport->set_escalate_on_repick(false); // same as arm_plane_pick + m_status->SetForegroundColour(wxNullColour); + set_status(target == AxisPick::Face ? _L("Click a solid FACE in the viewport") + : _L("Click a solid EDGE in the viewport")); + m_status->Refresh(); +} + +// --- CoordSys helpers --- + +void DesignPanel::apply_coordsys_refs(CadFeature& f) const +{ + f.coordsys_type = (CoordSysType)m_coordsys_type->GetSelection(); + f.coordsys_point = Vec3d(m_cs_x->GetValue(), m_cs_y->GetValue(), m_cs_z->GetValue()); + f.coordsys_body = m_cs_face_body; + f.coordsys_face = m_cs_face; + f.coordsys_edge = m_cs_edge; + f.coordsys_x_hint = Vec3d(m_cs_hx->GetValue(), m_cs_hy->GetValue(), m_cs_hz->GetValue()); +} + +void DesignPanel::refresh_coordsys_labels() +{ + auto txt = [](int idx) { return idx >= 0 ? wxString::Format("#%d", idx) : wxString(_L("(none)")); }; + if (m_cs_face_lbl) m_cs_face_lbl->SetLabel(txt(m_cs_face)); + if (m_cs_edge_lbl) m_cs_edge_lbl->SetLabel(txt(m_cs_edge)); +} + +void DesignPanel::refresh_cs_body_choice() +{ + if (!m_cs_body) return; + const int keep = m_cs_body->GetSelection(); + m_cs_body->Clear(); + m_cs_body->Append(_L("(all)")); + for (size_t b = 0; b < m_doc.bodies.size(); ++b) + m_cs_body->Append(wxString::Format(_L("Body %d"), int(b) + 1)); + const int sel = (keep > 0 && keep < int(m_cs_body->GetCount())) ? keep : 0; + m_cs_body->SetSelection(sel); + // The combo and the viewport focus are ONE state, so they must not be written separately. + // When the body list shrinks, `keep` falls out of range and the selection silently drops to + // "(all)" — while the viewport stayed focused on the old index, leaving every other body at + // 25% alpha and picking locked to a body that may no longer exist. That is the exact mirror + // of the open_tool ordering bug (combo says Body N, viewport opaque); this one says "(all)" + // and stays dimmed. + // + // Guarded on the CoordSys card being the ACTIVE tool because it is the only card that owns + // this focus. In the edit path this function runs BEFORE open_tool, with the previous tool + // still active, so the guard is false and the caller's explicit set_xray_focus still wins. + if (m_viewport != nullptr && m_active == Tool::CoordSys) + m_viewport->set_xray_focus(sel - 1); +} + +void DesignPanel::reset_coordsys_refs() +{ + m_cs_face_body = m_cs_face = -1; + m_cs_edge = -1; + m_coordsys_pick = CoordSysPick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_coordsys_labels(); + if (m_cs_body) m_cs_body->SetSelection(0); + if (m_viewport) m_viewport->set_xray_focus(-1); + refresh_cs_body_choice(); +} + +void DesignPanel::arm_coordsys_pick(CoordSysPick target) +{ + m_coordsys_pick = target; + // While this pick is armed the click the card asked for must reach it, so the whole-body + // escalation is off: clicking the face the card is pointing at is the ANSWER here, not a + // request for its body. + if (m_viewport) m_viewport->set_escalate_on_repick(false); + m_status->SetForegroundColour(wxNullColour); + set_status(target == CoordSysPick::Face ? _L("Click a solid FACE in the viewport") + : _L("Click a solid EDGE in the viewport")); + m_status->Refresh(); +} + +bool DesignPanel::on_add_plane() +{ + // Refuse here rather than let the kernel substitute. Every method in CadDocument's plane + // dispatch falls back to offset_angle_plane() when its references are missing, so picking + // Tangent and confirming with nothing selected used to produce an offset plane reported as + // a success — the user asks for one construction and silently receives another. The kernel + // keeps its fallback (it must return SOMETHING), but no user gesture should reach it. + auto refuse = [this](const wxString& why) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(why); + m_status->Refresh(); + }; + switch ((PlaneType)m_plane_type->GetSelection()) { + case PlaneType::Angle: + if (m_pl_edgeA < 0) { refuse(_L("An angled plane needs an edge to tilt about — pick Edge A")); return false; } + break; + case PlaneType::Midplane: + if (m_pl_faceA < 0 || m_pl_faceB < 0) { refuse(_L("A midplane needs two faces — pick Face A and Face B")); return false; } + if (m_pl_faceA == m_pl_faceB && m_pl_faceA_body == m_pl_faceB_body) { + // Well-defined but useless: the midplane of a face with itself is that same face. + refuse(_L("Face A and Face B are the same face — a midplane needs two different faces")); + return false; + } + break; + case PlaneType::Tangent: + // The face must also be cylindrical; that check stays in the kernel, which has the geometry. + if (m_pl_faceA < 0) { refuse(_L("A tangent plane needs a cylindrical face — pick Face A")); return false; } + break; + case PlaneType::TwoEdges: + if (m_pl_edgeA < 0 || m_pl_edgeB < 0) { refuse(_L("This plane needs two edges — pick Edge A and Edge B")); return false; } + break; + default: + break; // Offset and Coincident are meaningful with no reference: they use the base plane + } + + m_feature_counter++; + int idx = m_doc.add_plane(m_plane_base->GetSelection(), m_plane_offset->GetValue(), + m_plane_tilt->GetValue(), m_plane_tilt_axis->GetSelection(), + "Plane" + std::to_string(m_feature_counter)); + if (idx >= 0 && idx < int(m_doc.features.size())) apply_plane_refs(m_doc.features[idx]); + m_doc.recompute(); // datum-only docs yield no body; that is expected/benign + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Plane added — pick it as a sketch plane")); + refresh_tree(); + return true; +} + +void DesignPanel::on_add_axis() +{ + m_feature_counter++; + int idx = m_doc.add_axis((AxisType)m_axis_type->GetSelection(), + "Axis" + std::to_string(m_feature_counter)); + if (idx >= 0 && idx < int(m_doc.features.size())) apply_axis_refs(m_doc.features[idx]); + m_doc.recompute(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Axis added")); + refresh_tree(); +} + +void DesignPanel::on_add_coordsys() +{ + m_feature_counter++; + Vec3d pt(m_cs_x->GetValue(), m_cs_y->GetValue(), m_cs_z->GetValue()); + int idx = m_doc.add_coordsys((CoordSysType)m_coordsys_type->GetSelection(), pt, + "Coord" + std::to_string(m_feature_counter)); + if (idx >= 0 && idx < int(m_doc.features.size())) apply_coordsys_refs(m_doc.features[idx]); + m_doc.recompute(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Coord Sys added")); + refresh_tree(); +} + +void DesignPanel::on_add_shell() +{ + if (m_doc.body.IsNull()) { + set_status(_L("Shell needs a solid body — add or import one first")); + return; + } + const int face = (m_sel_solid_face >= 0) ? m_sel_solid_face : -1; + + m_feature_counter++; + m_doc.add_shell(m_shell_thickness->GetValue(), face, m_sel_solid_body, + "Shell" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +void DesignPanel::on_add_draft() +{ + if (m_doc.body.IsNull()) { + set_status(_L("Draft needs a solid body — add or import one first")); + return; + } + if (m_sel_solid_face < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Draft needs a picked face — click a side face first")); + m_status->Refresh(); + return; + } + + m_feature_counter++; + m_doc.add_draft(m_draft_angle->GetValue(), m_sel_solid_face, m_sel_solid_body, + "Draft" + std::to_string(m_feature_counter)); + + if (!recompute_guarded(_L("Rebuilding model…"))) + set_status(_L("Recompute error: ") + wxString::FromUTF8(m_doc.error)); + else + set_status_ok(); + + refresh_tree(); +} + +int DesignPanel::tree_icon_for(CadFeatureType t) +{ + switch (t) { + case CadFeatureType::Sketch: return 0; + case CadFeatureType::Extrude: return 1; + case CadFeatureType::Fillet: + case CadFeatureType::Chamfer: return 2; + case CadFeatureType::Hole: return 3; + case CadFeatureType::Thread: return 4; + case CadFeatureType::Shell: return 5; + case CadFeatureType::Revolve: return 1; + case CadFeatureType::Sweep: return 1; + case CadFeatureType::Pattern: return 1; + case CadFeatureType::Plane: return 0; // datum plane: sketch-family icon + case CadFeatureType::Loft: return 1; + case CadFeatureType::Draft: return 5; // dressup-family icon + case CadFeatureType::Import: return 1; // imported solid: solid-family icon + case CadFeatureType::Boolean: return 1; // body-body combine: solid-family icon + case CadFeatureType::Cut: return 1; // plane split: solid-family icon + case CadFeatureType::Axis: return 0; // datum axis: sketch-family icon + case CadFeatureType::CoordSys: return 0; // datum coord sys: sketch-family icon + case CadFeatureType::SurfaceExtrude: return 1; + case CadFeatureType::SurfaceRevolve: return 1; + case CadFeatureType::SurfaceLoft: return 1; + case CadFeatureType::SurfaceFill: return 1; + case CadFeatureType::ThickenSurface: return 1; + case CadFeatureType::SurfaceOffset: return 1; + case CadFeatureType::Transform: return 1; // solid-family icon + case CadFeatureType::Mirror: return 1; // solid-family icon + case CadFeatureType::Thicken: return 1; // solid-family icon + case CadFeatureType::Rib: return 1; // solid-family icon + case CadFeatureType::Project: return 0; // sketch-family icon (produces sketch) + case CadFeatureType::DeleteFace: return 5; // dressup-family icon + case CadFeatureType::Helix: return 4; // thread-family icon (curve) + case CadFeatureType::Mate: return 2; // dressup-family icon (assembly) + } + return 0; +} + +// The reason detect_mate_conflicts() recorded for this feature, or nullptr. A linear scan: an +// assembly has a handful of mates and at most that many conflicts, so a map would cost more to +// build than the scans it saves. +const std::string* DesignPanel::mate_conflict_reason(int feature) const +{ + for (const auto& c : m_doc.mate_conflicts) + if (c.first == feature) return &c.second; + return nullptr; +} + +// What to say when nothing is selected and no tool is open. Lives in one place because it is +// needed from two: after an edit empties the document, and at startup — where after_tree_edit() +// has never run, which is exactly why a fresh tab used to show a blank line. +wxString DesignPanel::idle_hint() const +{ + return m_doc.features.empty() + ? _L("Nothing yet — import a STEP or a mesh from the toolbar,\n" + "or click a reference plane and right-click it to start a sketch.") + : _L("No solid yet — select a sketch and right-click it to Extrude."); +} + +// The Design tab is no longer the visible page (dlj). The status line is a popup floating +// over the GL canvas, so it does NOT go away when this page does — it stayed up over Prepare and +// over the home screen, still reading like a live Design selection ("selected (whole body) — +// right-click for what applies to it") on a tab that has no such selection and no such menu. +// Nothing else in the panel needs to know: the popup keeps its text and comes straight back. +void DesignPanel::on_tab_hidden() +{ + if (m_viewport) { + m_viewport->show_status_hud(false); + m_viewport->leave_viewport(); // hand the shared camera back to the editor tabs + } +} + +void DesignPanel::on_tab_shown() +{ + if (m_viewport) { + m_viewport->show_status_hud(true); // ...and back on the way in + m_viewport->enter_viewport(); // borrow the shared camera; on_tab_hidden gives it back + } + + if (m_active == Tool::None && m_doc.display_mesh.its.indices.empty()) + set_status(idle_hint()); // first paint: the tab has never been edited + + if (m_viewport) m_viewport->refresh_bed(); + + // Modeling origin = bed centre, set BEFORE any recompute/datum-resolve so sketches and datums + // land in the middle of the bed (not the bed corner = world 0). + if (Plater* pl = wxGetApp().plater()) { + const Vec2d bc = pl->build_volume().bed_center(); + m_doc.modeling_origin = Vec3d(bc.x(), bc.y(), 0.0); + } + + // Rehydrate the parametric model from a freshly loaded project (the 3MF carried the + // recipe in Metadata/orca_cad.bin). Only when nothing is in progress here, so we + // never clobber an active design when the user just toggles back to the Design tab. + if (m_doc.features.empty()) { + if (Plater* plater = wxGetApp().plater()) { + const std::string& blob = plater->model().cad_recipe; + if (!blob.empty()) load_recipe(blob); + } + } + update_reference_planes(); // entering the Design tab: show the XY/XZ/YZ planes if no object yet + sync_sidebar_width(); // keep the panel as wide as Prepare's so the canvas edge doesn't jump + if (m_viewport) m_viewport->force_repaint(); // the page was just re-shown: paint it for real +} + +// Application close / language switch, from the plater's canvas teardown. +void DesignPanel::unbind_canvas_event_handlers() +{ + if (m_viewport) m_viewport->unbind_canvas_event_handlers(); +} + +void DesignPanel::reset_canvas_volumes() +{ + if (m_viewport) m_viewport->reset_canvas_volumes(); +} + +// Match Prepare's sidebar width instead of hardcoding one. Design used a fixed 264 px against +// Prepare's ~467, so the canvas edge jumped sideways on every tab switch; reading the live width +// also means the two stay aligned if Orca ever changes its sidebar. +void DesignPanel::sync_sidebar_width() +{ + if (m_form == nullptr) return; + Plater* pl = wxGetApp().plater(); + if (pl == nullptr) return; + const int w = pl->sidebar().GetSize().GetWidth(); + if (w < 200) return; // sidebar not laid out yet — keep what we have + if (m_form->GetMinSize().GetWidth() == w) return; + m_form->SetMinSize(wxSize(w, -1)); + Layout(); +} + +void DesignPanel::load_recipe(const std::string& blob) +{ + if (blob.empty()) return; + if (!m_doc.deserialize_recipe(blob)) { + // Carry the kernel's reason. deserialize_recipe distinguishes three cases that matter + // very differently to the person reading this — saved by a NEWER build, saved by an + // OLDER one, or genuinely unreadable — and replacing all three with one sentence left + // the user unable to tell "update OrcaSlicer" from "your file is damaged". Same + // error-loss class as the 31 McpControl sites (1de72de9ed): the message exists, it was + // simply not passed on. + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(m_doc.error.empty() + ? _L("Could not restore the CAD model from this project") + : _L("Could not restore the CAD model: ") + wxString::FromUTF8(m_doc.error)); + m_status->Refresh(); + return; + } + m_feature_counter = int(m_doc.features.size()); + feed_bodies(); // push the restored bodies into the viewport + refresh_tree(); // rebuild the feature tree from the restored recipe + set_status_ok(); +} + +void DesignPanel::refresh_tree() +{ + // The recipe mirrors the FEATURE LIST, and this is the moment the feature list changed — + // every add, delete, reorder, rename and suppression ends here to redraw the tree. Putting + // the sync in recompute_guarded instead tied it to "a solid was built", and CadDocument:: + // recompute() returns FALSE for a document that has no solid ("no solid-producing features", + // CadDocument.cpp) — which is precisely a document the user has only drawn sketches in. So + // drawing a profile, pressing Confirm and saving wrote a 3MF with no orca_cad.bin in it + // at all, and the app reported success: the whole design was gone on reopen (mtav). + // The three sites that say "a lone sketch yields an empty body; that is expected" call + // m_doc.recompute() directly and so never reached the sync either. One hook here covers all + // of them, including the live sketch tool's own commit path. + // + // ONLY when the document has something in it. sync_recipe_to_model() CLEARS the blob for an + // empty document, and the tree is also refreshed while the Design tab is still empty — before + // the deferred load at on_show() has had the chance to read the blob the project arrived + // with. Clearing there would destroy the recipe of every project being opened. Deleting the + // last feature still clears it, through the tree-edit call site that always did. + if (!m_doc.features.empty()) sync_recipe_to_model(); + + // Preserve the selected row across the rebuild — wxTreeCtrl::DeleteAllItems + // drops the selection, which made every edit/add feel like it "lost" the + // selection (and broke Edit/Move/Delete on the just-touched feature). + const int keep = tree_selection(); + + m_tree->DeleteAllItems(); + m_tree_items.clear(); + m_tree_body_items.clear(); + wxTreeItemId root = m_tree->AddRoot("root"); + // Datum/reference planes carry no solid; feed them to the viewport so they render as + // translucent rectangles (otherwise a Plane feature is invisible in the canvas). + refresh_datum_planes(); + update_reference_planes(); // body added/removed -> show/hide the XY/XZ/YZ origin planes + for (size_t fi = 0; fi < m_doc.features.size(); ++fi) { + const CadFeature& f = m_doc.features[fi]; + const int img = tree_icon_for(f.type); + wxTreeItemId id = m_tree->AppendItem(root, wxString::FromUTF8(f.name), img, img); + // Three states, in this order of precedence: + // disabled -> dim. A SUPPRESSED mate is the user's answer to a conflict, so it must + // read as suppressed rather than keep shouting about the conflict. + // conflict -> warn. detect_mate_conflicts() refills m_doc.mate_conflicts on every + // recompute; the mark goes on the row that carries it, because the tree + // is where the user is already looking for which feature to change. + // otherwise -> normal. + // A conflict is NOT a document error — the document still evaluates — so the row is + // marked and never hidden, and the reason goes to the status line on selection rather + // than into a modal that interrupts without offering an action. + m_tree->SetItemTextColour(id, !f.enabled ? dp_item_dim() + : mate_conflict_reason(int(fi)) != nullptr ? wxColour(235, 110, 110) + : dp_item_text()); + m_tree_items.push_back(id); + } + refresh_parts(); // bodies live in their own list below the tree, never clipped by history + if (keep >= 0 && keep < int(m_tree_items.size())) + m_tree->SelectItem(m_tree_items[keep]); + + // Size the tree to its content (clamped) so it doesn't waste a fixed-height block when + // there are few features, and scrolls internally past ~9 rows instead of growing forever. + const int rows = int(m_tree_items.size()); // bodies are in their own list now + const int rowH = std::max(m_tree->GetCharHeight() + 8, 20); + const int shown = std::min(std::max(rows, 1), 9); + const wxSize ts(-1, shown * rowH + 8); + m_tree->SetMinSize(ts); + m_tree->SetMaxSize(ts); + if (m_form && m_form->GetSizer()) { update_cards_frame(); m_form->Layout(); m_form->FitInside(); } +} + +// Rebuild the Parts list from the document's bodies, preserving the selected row so a +// recompute (fillet, hole, ...) doesn't drop the user's body selection under them. +void DesignPanel::refresh_parts() +{ + if (m_parts == nullptr) return; + const int keep = tree_body_selection(); + + m_parts->DeleteAllItems(); + m_tree_body_items.clear(); + wxTreeItemId proot = m_parts->AddRoot("root"); + + sync_body_visible(); // keep flags parallel before reading them for the row colour + for (size_t b = 0; b < m_doc.bodies.size(); ++b) { + // "Body N" keeps the positional identity every status line and message uses ("Body 2 + // selected", the interference report), and the NAME follows it because that is the part + // a rename can change: a body's name is derived from the feature that produced it, so + // renaming through this row and seeing the label sit unchanged at "Body 1" would read as + // a rename that did nothing. + const bool vis = b >= m_body_visible.size() || m_body_visible[b]; + // The user's name wins over the derived one (the maker's name, restamped every + // recompute); "Body N" still leads, because every status line, the interference report + // and the mate errors identify a body by its number. + const wxString bname = m_doc.bodies[b].has_user_name + ? wxString::FromUTF8(m_doc.bodies[b].user_name) + : wxString::FromUTF8(m_doc.bodies[b].name); + wxTreeItemId id = m_parts->AppendItem(proot, + bname.IsEmpty() ? wxString::Format(_L("Body %zu"), b + 1) + : wxString::Format(_L("Body %zu — %s"), b + 1, bname)); + // Hidden bodies are greyed so the show/hide state reads at a glance (eye toggle). + m_parts->SetItemTextColour(id, vis ? dp_item_text() : dp_item_dim()); + m_tree_body_items.push_back(id); + } + + // Hide the whole block until there is something to list, so an empty document doesn't + // show a stray empty box. + const bool any = !m_tree_body_items.empty(); + m_parts->Show(any); + if (m_parts_label) m_parts_label->Show(any); + if (m_parts_hdr) m_parts_hdr->ShowItems(any); // icon + title live in this sizer + if (m_parts_rule) m_parts_rule->Show(any); + // ...and the frame with it, or an empty bordered box floats there. + if (m_parts_box && m_form && m_form->GetSizer()) m_form->GetSizer()->Show(m_parts_box, any, false); + + if (any) { + const int rowH = std::max(m_parts->GetCharHeight() + 8, 20); + const int shown = std::min(int(m_tree_body_items.size()), 6); // scrolls past 6 + const wxSize ps(-1, shown * rowH + 8); + m_parts->SetMinSize(ps); + m_parts->SetMaxSize(ps); + if (keep >= 0 && keep < int(m_tree_body_items.size())) + m_parts->SelectItem(m_tree_body_items[keep]); + } + if (m_form && m_form->GetSizer()) { update_cards_frame(); m_form->Layout(); m_form->FitInside(); } +} + +int DesignPanel::tree_body_selection() const +{ + if (m_parts == nullptr) return -1; + const wxTreeItemId sel = m_parts->GetSelection(); + if (!sel.IsOk()) return -1; + for (size_t i = 0; i < m_tree_body_items.size(); ++i) + if (m_tree_body_items[i] == sel) return int(i); + return -1; +} + +void DesignPanel::update_section_flip_btn() +{ + if (m_section_flip_btn) m_section_flip_btn->Enable(m_section_on); +} + +void DesignPanel::toggle_section_view() +{ + if (!m_viewport) return; + m_section_on = !m_section_on; + m_status->SetForegroundColour(wxNullColour); + if (m_section_on) { + m_section_cut_z = m_viewport->model_mid_z(); // start at the model's mid-height + m_section_upper = false; // keep the lower half by default + m_viewport->set_section_plane(true, m_section_cut_z, m_section_upper); + set_status(_L("Section view on — hides half the model to see inside; " + "PageUp / PageDown move the plane, Flip shows the other half")); + } else { + m_viewport->set_section_plane(false, 0.0); + set_status(_L("Section view off")); + } + m_status->Refresh(); + update_section_flip_btn(); +} + +void DesignPanel::flip_section_view() +{ + if (!m_viewport || !m_section_on) return; + m_section_upper = !m_section_upper; + m_viewport->set_section_plane(true, m_section_cut_z, m_section_upper); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Section view — showing the %s half"), + m_section_upper ? _L("upper") : _L("lower"))); + m_status->Refresh(); +} + +void DesignPanel::sync_body_visible() +{ + // Keep the visibility vector parallel to bodies; newly-created bodies default visible. + // Bodies are appended in feature order, so existing indices keep their flag on resize. + m_body_visible.resize(m_doc.bodies.size(), true); +} + +void DesignPanel::sync_body_xform() +{ + // Parallel to bodies; new bodies default to identity (no move). Stable on resize. + m_body_xform.resize(m_doc.bodies.size(), Transform3d::Identity()); +} + +// Build the display + pick meshes with each body's Move transform applied. The pick mesh is +// re-merged from the transformed per-body meshes IN THE SAME body order as tessellate_bodies, +// so display_tri_face/display_tri_body stay aligned. m_disp_pick_mesh keeps a stable address — +// the tool holds a pointer to it, so an in-place rebuild updates picking without re-pointing. +void DesignPanel::rebuild_disp_meshes() +{ + sync_body_visible(); + sync_body_xform(); + const std::vector<TriangleMesh>& src = m_doc.display_body_meshes; + + bool any = false; + for (const Transform3d& t : m_body_xform) + if (!t.isApprox(Transform3d::Identity())) { any = true; break; } + + if (!any) { // no body moved: identical to the untransformed meshes + m_disp_body_meshes = src; + m_disp_pick_mesh = m_doc.display_mesh; + return; + } + + m_disp_body_meshes.clear(); + m_disp_body_meshes.reserve(src.size()); + m_disp_pick_mesh = TriangleMesh{}; + for (size_t b = 0; b < src.size(); ++b) { + TriangleMesh m = src[b]; + if (b < m_body_xform.size()) m.transform(m_body_xform[b]); + m_disp_pick_mesh.merge(m); // same order as tessellate_bodies -> tri_* stay aligned + m_disp_body_meshes.push_back(std::move(m)); + } +} + +void DesignPanel::feed_bodies() +{ + // The body count just changed, so the tools that consume a body may have become reachable or + // unreachable. Before the early return below: the gating is about the toolbar, not the canvas. + update_body_gates(); + // Rebuild the transformed meshes first so every display-refresh path (recompute, tint, + // visibility, live move) shows the bodies at their current Move offsets. The solid-pick + // keeps a STABLE pointer to m_disp_pick_mesh / m_body_visible / m_body_xform (rebuilt in + // place), so it needs no re-call here — the whole/face/edge selection survives a move drag. + if (m_viewport == nullptr) return; + rebuild_disp_meshes(); + m_viewport->set_bodies(m_disp_body_meshes, m_body_visible); +} + +// Boolean (combine bodies) — one gate for every door onto the tool. A body-body operation +// needs two solids, and saying so in one place means the toolbar button, its Shift+B binding +// and the Bodies card cannot drift apart on what "available" means. +void DesignPanel::on_boolean_tool() +{ + if (m_doc.bodies.size() < 2) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Boolean needs two bodies — create or import a second solid")); + m_status->Refresh(); + return; + } + populate_body_choices(); + open_tool(Tool::Boolean); +} + +void DesignPanel::on_move_body() +{ + const int b = m_sel_solid_body; + if (m_viewport == nullptr) return; + if (b < 0 || b >= int(m_doc.display_body_meshes.size())) { + // Never fail silently here: the caller gates on bodies.size() while this needs a + // tessellated per-body mesh, and when those disagreed the click did nothing at all. + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(b < 0 ? _L("Select a body first — click it in the viewport or the Bodies list") + : _L("That body has no display mesh yet — recompute first")); + m_status->Refresh(); + return; + } + sync_body_xform(); + // Delta gizmo: pivot at the body's CURRENT world centroid; the tool composes the drag deltas + // onto its current pose, so move + rotate both work (incl. on an already place-on-face'd body). + const Transform3d base = m_body_xform[b]; + const BoundingBoxf3 bb = m_doc.display_body_meshes[b].bounding_box(); + const Vec3d pivot = base * bb.center(); + // Bounding-sphere radius (world): the gizmo scales with it so the rotation rings sit clear of + // the body instead of collapsing into a tangle inside it — same sizing rule as Orca's Prepare + // gizmos. The scale part of `base` is applied so a scaled body still gets a correct radius. + const double radius = (base.linear() * (bb.size() * 0.5)).norm(); + m_viewport->begin_move_body(b, pivot, base, radius); + m_move_body = b; // for the action bar: Cancel reverts to this pose + m_move_prev = base; + // Reset the numeric fields to "no change" and show the card beside the drag gizmo. + if (m_move_dx) m_move_dx->SetValue(0.0); + if (m_move_dy) m_move_dy->SetValue(0.0); + if (m_move_dz) m_move_dz->SetValue(0.0); + if (m_move_angle) m_move_angle->SetValue(0.0); + show_move_card(true); + update_action_bar(); // surface the unified ✓/✗ while moving + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)")); + m_status->Refresh(); +} + +// Transform card (add mode): arm the same move gizmo on the card's body so the geometry-first +// control is what the user drags, while the card's numeric fields mirror the result. The card +// stays visible as the typed half — the gizmo owns the drag, the fields own the numbers. +void DesignPanel::arm_transform_gizmo() +{ + int b = tree_body_selection(); + if (b < 0) b = m_sel_solid_body; + if (b < 0 && m_xf_body) b = m_xf_body->GetSelection(); + if (b < 0 || b >= int(m_doc.display_body_meshes.size())) return; // card alone still works + if (m_xf_body && b < int(m_xf_body->GetCount())) m_xf_body->SetSelection(b); // feature must be created against the gizmo's body + sync_body_xform(); + const Transform3d base = m_body_xform[b]; + const BoundingBoxf3 bb = m_doc.display_body_meshes[b].bounding_box(); + const Vec3d pivot = base * bb.center(); + const double radius = (base.linear() * (bb.size() * 0.5)).norm(); + if (m_viewport) m_viewport->begin_move_body(b, pivot, base, radius); + m_xf_gizmo_body = b; + m_xf_gizmo_base = base; + m_move_body = b; // the existing revert paths key off these two + m_move_prev = base; + // Write the pivot into the card so the parametric feature reproduces what was dragged; + // dx/dy/dz and angle start at zero (the gizmo reports deltas from this pose). + if (m_xf_pivot_x) m_xf_pivot_x->SetValue(pivot.x()); + if (m_xf_pivot_y) m_xf_pivot_y->SetValue(pivot.y()); + if (m_xf_pivot_z) m_xf_pivot_z->SetValue(pivot.z()); + if (m_xf_dx) m_xf_dx->SetValue(0.0); + if (m_xf_dy) m_xf_dy->SetValue(0.0); + if (m_xf_dz) m_xf_dz->SetValue(0.0); + if (m_xf_angle) m_xf_angle->SetValue(0.0); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Drag the arrows to move, the rings to rotate — the numbers follow")); + m_status->Refresh(); +} + +// Color tool: open a colour picker on the selected body and store a per-body display-colour +// override on its CadBody. The override is carried across recompute() by body index and is +// read back by DesignCanvas::body_color()/reload(), so the body keeps its colour through edits. +void DesignPanel::on_set_body_color() +{ + // Same body-selection source Move / visibility use: the Parts-list row first, falling + // back to the in-canvas picked solid so either selection path works. + int b = tree_body_selection(); + if (b < 0) b = m_sel_solid_body; + if (b < 0 || b >= int(m_doc.bodies.size())) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Select a body first")); + m_status->Refresh(); + return; + } + + // Seed the picker with the body's current effective colour (override or auto palette). + const ColorRGBA cur = (m_viewport != nullptr) ? m_viewport->body_color(b) + : m_doc.bodies[b].color; + wxColourData data; + data.SetColour(wxColour(cur.r_uchar(), cur.g_uchar(), cur.b_uchar())); + wxColourDialog dlg(this, &data); + if (dlg.ShowModal() != wxID_OK) return; + + const wxColour picked = dlg.GetColourData().GetColour(); + m_doc.bodies[b].has_color = true; + m_doc.bodies[b].color = ColorRGBA((unsigned char)picked.Red(), (unsigned char)picked.Green(), + (unsigned char)picked.Blue(), (unsigned char)255); + feed_bodies(); // same refresh path the visibility toggle uses → viewport updates immediately + + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Body %d colour set"), b + 1)); + m_status->Refresh(); +} + +// Prepare's "Place on Face" (F), ported to Design. Pick a body face, then this rotates the +// body so that face's outward normal points straight down (-Z) and drops it onto the bed — +// Orca's exact math (Selection::flattening_rotate). Writes the per-body display transform +// m_body_xform (baked into the mesh at Commit), like the Move gizmo; no shape mutation. +// Returns false (with a hint) when no body face is selected, so the F key can fall through. +bool DesignPanel::place_on_face() +{ + const int b = m_sel_solid_body; + if (b < 0 || b >= int(m_doc.bodies.size()) || m_sel_solid_face < 0 + || b >= int(m_doc.display_body_meshes.size())) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Click a face on the solid, then press F")); + m_status->Refresh(); + return false; + } + const TopoDS_Face face = GeometryEngine::face_by_index(m_doc.bodies[b].shape, m_sel_solid_face); + if (face.IsNull()) return false; + sync_body_xform(); + const Transform3d old_x = m_body_xform[b]; + // Outward face normal in the body's CURRENT displayed orientation. + const Vec3d n = (old_x.linear() * GeometryEngine::face_normal_world(face)).normalized(); + if (!n.allFinite() || n.norm() < 0.5) return false; + // Align that normal with the down vector (-Z): the face ends up on the bed. + const Transform3d R(Eigen::Quaterniond().setFromTwoVectors(n, -Vec3d::UnitZ())); + // Rotate about the body's current world centroid so it spins in place, not about the origin. + const Vec3d c = old_x * m_doc.display_body_meshes[b].bounding_box().center(); + Transform3d x = Eigen::Translation3d(c) * R * Eigen::Translation3d(-c) * old_x; + // Drop the re-oriented body so its lowest point sits on the bed (min Z -> 0). + TriangleMesh probe = m_doc.display_body_meshes[b]; + probe.transform(x); + x = Transform3d(Eigen::Translation3d(0.0, 0.0, -probe.bounding_box().min.z())) * x; + m_body_xform[b] = x; + set_status_ok(); // rebuild display/pick meshes, re-point picking; resets face selection + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Placed on face — body laid flat on the bed")); + m_status->Refresh(); + return true; +} + +int DesignPanel::tree_selection() const +{ + const wxTreeItemId sel = m_tree->GetSelection(); + if (!sel.IsOk()) return wxNOT_FOUND; + for (size_t i = 0; i < m_tree_items.size(); ++i) + if (m_tree_items[i] == sel) return int(i); + return wxNOT_FOUND; +} + +void DesignPanel::set_tree_selection(int row) +{ + if (row >= 0 && row < int(m_tree_items.size())) + m_tree->SelectItem(m_tree_items[row]); +} + +void DesignPanel::after_tree_edit(bool ok) +{ + update_undo_redo_buttons(); + refresh_tree(); + refresh_variables(); + if (!ok) { + // The edit was rolled back (recompute failed); the body is unchanged. + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Edit rejected: ") + wxString::FromUTF8(m_doc.error)); + m_status->Refresh(); + return; + } + sync_recipe_to_model(); // deletes, reorders and suppressions change the document too + m_status->SetForegroundColour(wxNullColour); + if (m_doc.display_mesh.its.indices.empty()) { + if (m_viewport != nullptr) m_viewport->clear_mesh(); + sync_sketch_display(); // empty body: show any un-consumed committed sketch + // An empty document used to blank this line — no guidance at the one moment a newcomer + // has none. Name the three real ways in, in the order they are reachable on screen. + set_status(idle_hint()); + } else { + // nde #19/20: a delete/reorder that leaves bodies behind must re-feed the per-body + // GLVolumes — otherwise the viewport keeps showing the pre-edit solid (the deleted + // feature's artifact lingered). feed_bodies() is idempotent for the edit/replace path. + if (m_viewport != nullptr) feed_bodies(); + set_status_ok(); + } + // Force a frame: under software GL (llvmpipe on the :10 test box) reload()'s scheduled + // Refresh() is dropped, so a deleted solid stayed on screen until the next orbit. + if (m_viewport != nullptr) m_viewport->request_repaint(); + m_status->Refresh(); +} + +// Erase the whole document (every feature + body) and start fresh. The single "wipe" the +// feature tree's per-row Delete can't give you — also the way out when a body has no +// removable owning feature. +void DesignPanel::on_new_design() +{ + if (m_doc.features.empty() && m_doc.bodies.empty()) { set_status_ok(); return; } + wxMessageDialog dlg(this, + _L("Erase all features and bodies and start a new design? This cannot be undone."), + _L("New Design"), wxYES_NO | wxICON_EXCLAMATION); + if (dlg.ShowModal() != wxID_YES) return; + clear_document(); +} + +// The teardown behind New Design, without the confirmation. Also what New Project / Open +// Project run through Plater::priv::reset: the document lives here rather than in the Model, +// so without this it survives the project that produced it and the next Design edit writes +// the previous project's feature tree into the new one. +void DesignPanel::clear_document() +{ + tool_cancel(); // leave any active tool / sketch / constrain cleanly + m_doc.clear(); // features + bodies + meshes + history + m_edit_index = -1; + m_move_body = -1; + show_move_card(false); + m_body_xform.clear(); + if (m_viewport) { m_viewport->clear_move_gizmo(); m_viewport->clear_mesh(); } + after_tree_edit(true); // rebuild the (now empty) tree + clear the viewport + update_action_bar(); + set_status_ok(); +} + +// The verb the offer names when you point at a body, or at any face/edge/vertex of one. A body +// is a recomputed RESULT, so what actually gets deleted is the feature that created it +// (CadBody::source_feature). That is an edit to the recipe and can take other features with it, +// so it asks first and NAMES the feature: a body disappearing from the viewport is not by itself +// evidence of which feature went, and this is the one action here that cannot be eyeballed. +void DesignPanel::on_delete_body() +{ + const int nb = int(m_doc.bodies.size()); + if (m_sel_solid_body < 0 || m_sel_solid_body >= nb) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Select a body first")); + m_status->Refresh(); + return; + } + const int src = m_doc.bodies[m_sel_solid_body].source_feature; + if (src < 0 || src >= int(m_doc.features.size())) { + // Only reachable for a body no feature claims — a stale recipe, or a feature type that + // broke the "never replace a whole CadBody" invariant recompute() relies on. + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("This body has no feature to delete — use New Design to start over")); + m_status->Refresh(); + return; + } + const std::string& raw = m_doc.features[src].name; + const wxString fname = raw.empty() ? wxString::Format(_L("feature %d"), src + 1) + : wxString::FromUTF8(raw); + if (wxMessageBox(wxString::Format( + _L("Delete %s?\n\nThat is the feature this body was made from. " + "Features built on it may be removed or stop working."), fname), + _L("Delete body"), wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION, this) != wxYES) + return; + // A card left open over a feature that is about to vanish goes stale — same reason + // on_delete_feature() closes it. + if (m_active != Tool::None || m_edit_index >= 0) { + reset_edit_state(); + close_tool(); + } + m_doc.checkpoint(); // undo boundary: deleting a body's feature + m_sel_solid_body = m_sel_solid_face = m_sel_solid_edge = -1; // the selection is about to + m_sel_solid_vertex = false; // name a body that is gone + after_tree_edit(m_doc.remove_feature(src)); +} + +void DesignPanel::on_delete_feature() +{ + // A Body row has no directly-removable feature (bodies are recomputed results); guide the + // user to delete the feature that created it, or use New Design to wipe everything. + if (tree_body_selection() >= 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Select the FEATURE that created this body (or use New Design)")); + m_status->Refresh(); + return; + } + int sel = tree_selection(); + if (sel == wxNOT_FOUND) { + set_status(_L("Select a feature in the tree first")); + m_status->Refresh(); + return; + } + // If a feature dialog is open (e.g. the feature is being edited), dismiss it first — + // otherwise the deleted feature's settings card lingers in the left panel, out of sync + // with the tree. reset_edit_state() drops the stale m_edit_index; close_tool() hides the card. + if (m_active != Tool::None || m_edit_index >= 0) { + reset_edit_state(); + close_tool(); + } + m_doc.checkpoint(); // undo boundary: deleting a feature + after_tree_edit(m_doc.remove_feature(sel)); +} + +void DesignPanel::on_toggle_visibility() +{ + // A selected Body row toggles that body's visibility (per-body show/hide). The solid + // stays in the document; only its GLVolume + pickability flip. Falls through to the + // feature-level toggle below when a feature row (not a body row) is selected. + const int bsel = tree_body_selection(); + if (bsel >= 0) { + sync_body_visible(); + if (bsel < int(m_body_visible.size())) { + const bool now_visible = !m_body_visible[bsel]; + m_body_visible[bsel] = now_visible; + if (m_viewport != nullptr) { + feed_bodies(); // flips is_active; m_solid_visible is a stable pointer (live) + m_viewport->set_solid_pick(&m_doc.bodies, &m_disp_pick_mesh, + &m_doc.display_tri_face, &m_doc.display_tri_body, + &m_body_visible, &m_body_xform); + } + refresh_tree(); + // Keep the row selected for repeat toggles. m_parts, NOT m_tree: these ids belong + // to the Bodies list, and handing a foreign item to the feature tree left the row + // unselected — so the second press of the eye found tree_body_selection() == -1 and + // fell through to the FEATURE-level branch below instead of un-hiding the body. + if (m_parts != nullptr && bsel < int(m_tree_body_items.size())) + m_parts->SelectItem(m_tree_body_items[bsel]); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(now_visible ? _L("Body %d shown") + : _L("Body %d hidden"), bsel + 1)); + m_status->Refresh(); + } + return; + } + + int sel = tree_selection(); + if (sel == wxNOT_FOUND || sel >= int(m_doc.features.size())) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Select a feature in the tree first")); + m_status->Refresh(); + return; + } + const bool shown = !m_doc.features[sel].enabled; + m_doc.features[sel].enabled = shown; + + // recompute() reports an all-hidden / sketch-only document as false (no + // solid to build), but that is a VALID state for hide — so clear the body + // explicitly instead of letting after_tree_edit treat it as a rejected edit + // (which would skip the overlay refresh, leaving hidden art on screen). + if (!recompute_guarded(_L("Rebuilding model…"))) { + m_doc.body = TopoDS_Shape(); + m_doc.display_mesh = TriangleMesh{}; + m_doc.error.clear(); + } + refresh_tree(); // greys the row + set_tree_selection(sel); // keep the toggled feature selected + if (m_viewport != nullptr) { + if (m_doc.display_mesh.its.indices.empty()) m_viewport->clear_mesh(); + else feed_bodies(); + } + sync_sketch_display(); // skips the hidden sketch + direct-renders + m_status->SetForegroundColour(wxNullColour); + set_status(shown ? _L("Feature shown") : _L("Feature hidden")); + m_status->Refresh(); +} + +void DesignPanel::on_move_feature(int delta) +{ + int sel = tree_selection(); + if (sel == wxNOT_FOUND) { + set_status(_L("Select a feature in the tree first")); + m_status->Refresh(); + return; + } + int target = sel + delta; + if (target < 0 || target >= int(m_doc.features.size())) + return; // already at the end + m_doc.checkpoint(); // undo boundary: reordering a feature + if (m_doc.move_feature(sel, delta)) { + after_tree_edit(true); + set_tree_selection(target); // keep the moved feature selected + } else { + after_tree_edit(false); + } +} + +// Commit the live sketch in place, then enter Constrain mode on the just-committed sketch. +// One-click bridge from the SKETCH toolbar: removes the "Finish -> find in tree -> select -> +// Constrain" friction, so the constraint palette + Trim/Extend are reachable mid-sketch. +bool DesignPanel::enter_constrain_inline() +{ + if (m_viewport && m_viewport->is_sketching()) + m_viewport->finish_sketch(); // synchronous: packages live entities+constraints -> Sketch + const int sk = resolve_extrude_sketch(); // last/selected Sketch feature + if (sk < 0) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Draw a sketch first, then Constrain")); + m_status->Refresh(); + return false; + } + set_tree_selection(sk); // tree drives on_begin_constrain / the constraint manager + on_begin_constrain(sk); + const bool entered = m_viewport && + (m_viewport->is_constraining() || m_viewport->is_constraining_entities()); + if (entered) set_ui_mode(UiMode::Constrain); + return entered; +} + +void DesignPanel::on_begin_constrain(int sel_override) +{ + int sel = (sel_override >= 0) ? sel_override : tree_selection(); + // Fall back to the sketch owning the region picked in the viewport. The offer menu reaches + // this verb from a SkLoop selection (a region clicked on screen), which carries no tree + // selection — without this, choosing "Constrain sketch" from the offer would answer + // "Select a sketch in the tree first" about a sketch the user has visibly selected. + if ((sel == wxNOT_FOUND || sel >= int(m_doc.features.size())) && m_sel_sketch_feat >= 0 + && m_sel_sketch_feat < int(m_doc.features.size())) { + sel = m_sel_sketch_feat; + set_tree_selection(sel); // keep the tree in step with what the viewport says + } + if (sel == wxNOT_FOUND || sel >= int(m_doc.features.size())) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Select a sketch in the tree first")); + m_status->Refresh(); + return; + } + CadFeature& f = m_doc.features[sel]; + if (f.type != CadFeatureType::Sketch) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Selected feature is not a sketch")); + m_status->Refresh(); + return; + } + + // Entity sketches (Fase 4.2): pick Line entities; constraints solve against + // entity endpoints in the kernel. + if (!f.entities.empty()) { + m_constrain_feat = sel; + if (m_viewport) m_viewport->begin_constrain_entities(f.entities, f.plane); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Pick 1-2 lines, then a constraint; right-click exits")); + m_status->Refresh(); + return; + } + + // Legacy profile path (Fase 3). + if (f.profile.points.size() < 3) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Selected feature is not a sketch")); + m_status->Refresh(); + return; + } + m_constrain_feat = sel; + // Anchor the first profile point so H/V constraints don't let the sketch + // float freely; fix_point captures the point's current position in the solver. + if (f.constraints.empty()) + f.constraints.push_back(SketchConstraintDef{SketchConstraintType::Fix, 0, -1, -1, -1, 0.0}); + if (m_viewport) m_viewport->begin_constrain(f.profile, f.plane); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Pick 1-2 entities, then a constraint or dimension; right-click exits")); + m_status->Refresh(); +} + +// Why an entity-constraint pick was refused, as a localized string. The kernel's +// ConstraintReject is coarse on purpose (one reason covers several constraint types whose +// BUTTONS wear different words), so `type` disambiguates the wording without touching the +// kernel. Reuses today's exact strings so nothing regresses for a user or the ladder. +static wxString constraint_reject_text(ConstraintReject reason, SketchConstraintType type) +{ + using T = SketchConstraintType; + switch (reason) { + case ConstraintReject::NeedOneEntity: return _L("Pick an entity first"); + case ConstraintReject::NeedTwoEntities: return _L("Pick two entities first"); + case ConstraintReject::NeedALine: return _L("Horizontal and Vertical apply to a line"); + case ConstraintReject::NeedTwoLines: + if (type == T::Angle) return _L("Angle applies between two lines"); + if (type == T::Collinear) return _L("Collinear needs two lines"); + return _L("Parallel, perpendicular and equal length apply to two lines"); + case ConstraintReject::NeedTwoRounds: + if (type == T::EqualRadius) return _L("Equal radius needs two circles or arcs"); + return _L("Concentric needs two circles or arcs"); + case ConstraintReject::NeedTangentPair: return _L("Tangent needs a line and a circle/arc, or two circles/arcs"); + case ConstraintReject::NeedJoinablePoints: return _L("This constraint needs two entities with a point to join"); + case ConstraintReject::NeedMeasurablePoints: return _L("This dimension needs two entities with a point to measure between"); + case ConstraintReject::NeedPointAndLine: return _L("Midpoint needs a point and a line"); + case ConstraintReject::NeedTwoPointsOrLines: + if (type == T::Symmetric) return _L("Symmetric needs two points or two lines + an axis"); + return _L("Symmetric needs two points or two lines"); + case ConstraintReject::NeedAxisLine: return _L("Symmetric: pick two entities, then an axis line"); + case ConstraintReject::NeedRound: return _L("Radius/Diameter needs a circle or arc"); + case ConstraintReject::Unsupported: return _L("Unsupported constraint"); + case ConstraintReject::None: + default: return wxString(); + } +} + +// Write the typed value into every planned def. The planner returns the prefill in DISPLAY +// units and leaves def.value = 0; Angle is the one type whose stored value is not the number +// the user sees (it is radians), so the conversion lives here, exactly as the old +// apply_entity_constraint did on its Angle branch. +static void write_plan_value(std::vector<SketchEntityConstraintDef>& defs, double v) +{ + for (auto& d : defs) + d.value = (d.type == SketchConstraintType::Angle) ? v * M_PI / 180.0 : v; +} + +void DesignPanel::apply_entity_constraint(SketchConstraintType type) +{ + int e0 = -1, e1 = -1; + m_viewport->selected_constrain_entities(e0, e1); + const int e2 = m_viewport->selected_constrain_axis(); // Symmetric axis pick, -1 otherwise + + CadFeature& feat = m_doc.features[m_constrain_feat]; + const ConstraintPlan plan = plan_entity_constraint(feat.entities, e0, e1, e2, type); + + auto fail = [this](const wxString& msg) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(msg); + m_status->Refresh(); + }; + + switch (plan.kind) { + case ConstraintPlan::Kind::Reject: + fail(constraint_reject_text(plan.reason, type)); + return; + case ConstraintPlan::Kind::AskValue: + m_viewport->open_inline_value(plan.prefill, [this, plan](double v) { + std::vector<SketchEntityConstraintDef> defs = plan.defs; + write_plan_value(defs, v); + commit_entity_constraints(defs); + }); + return; // deferred: commit runs on the typed value + case ConstraintPlan::Kind::Apply: + commit_entity_constraints(plan.defs); + return; + } +} + +void DesignPanel::apply_live_constraint(SketchConstraintType type) +{ + // The in-session selection is the pick: first three indices, e2 being the axis Symmetric + // needs. Fewer than the type needs are left at -1 so plan_entity_constraint — the ONE + // place that knows how many picks a type takes — rejects them rather than this site + // guessing. Known limitation (comment, not solved): a constraint added to a LIVE sketch + // is not on the document undo stack — that stack holds committed features — so Ctrl+Z + // will not take it back until the sketch is committed. + const std::vector<int>& sel = m_viewport->sketch_selection(); + const int e0 = sel.size() > 0 ? sel[0] : -1; + const int e1 = sel.size() > 1 ? sel[1] : -1; + const int e2 = sel.size() > 2 ? sel[2] : -1; + + const ConstraintPlan plan = plan_entity_constraint( + m_viewport->sketch_entities(), e0, e1, e2, type); + + auto fail = [this](const wxString& msg) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(msg); + m_status->Refresh(); + }; + // Shared commit: try_add_constraints appends→solves→keeps-or-rolls-back and leaves the + // geometry untouched on failure, so the same over-constrained message the committed path + // uses is the correct failure report here too. + auto commit = [this, fail](std::vector<SketchEntityConstraintDef> defs, double v) { + write_plan_value(defs, v); + if (!m_viewport->try_add_sketch_constraints(defs)) { + fail(_L("Constraint rejected (over-constrained)")); + return; + } + m_viewport->request_repaint(); + m_status->SetForegroundColour(wxNullColour); + // Say where it went and how to undo it, here at the moment of applying: the hint line + // only refreshes when the step tuple changes, which applying a constraint does not. + set_status(_L("Applied constraint · its badge is on the sketch — click the badge to remove it")); + m_status->Refresh(); + }; + + switch (plan.kind) { + case ConstraintPlan::Kind::Reject: + // "I applied Parallel and NOTHING HAPPENS" is this branch. The text named the + // REQUIREMENT ("applies to two lines") but never the CURRENT PICK, and a creation + // tool auto-selects only the entity it just drew — so after drawing two lines exactly + // one is selected and the button correctly refuses. Say how many are picked, or the + // refusal is indistinguishable from a dead button. + fail(wxString::Format(_L("%s — %d selected. Press Esc for the Select tool, click one " + "line, then Shift- or Ctrl-click the other."), + constraint_reject_text(plan.reason, type), int(sel.size()))); + return; + case ConstraintPlan::Kind::AskValue: + m_viewport->open_inline_value(plan.prefill, [plan, commit](double v) { + commit(plan.defs, v); + }); + return; + case ConstraintPlan::Kind::Apply: + commit(plan.defs, 0.0); + return; + } +} + +void DesignPanel::commit_entity_constraints(const std::vector<SketchEntityConstraintDef>& defs) +{ + if (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()) || + !m_viewport || defs.empty()) + return; + CadFeature& feat = m_doc.features[m_constrain_feat]; + // solve_sketch_feature rewrites entity coords even on failure, so snapshot + // to roll back a rejected (over-constrained) addition cleanly. Multiple defs + // (Symmetric on two lines) must solve together, so push all then resize back. + const std::vector<SketchEntity> saved = feat.entities; + const size_t before = feat.entity_constraints.size(); + // Undo boundary: adding a constraint. Without it Ctrl+Z reached PAST this edit to the + // previous boundary and threw away whatever happened in between — a constraint was the + // one document mutation the user could not take back on its own. + m_doc.checkpoint(); + for (const auto& d : defs) feat.entity_constraints.push_back(d); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) { + feat.entity_constraints.resize(before); + feat.entities = saved; + m_doc.abandon_checkpoint(); // fully restored above: nothing happened, so nothing to undo + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Constraint rejected (over-constrained)")); + m_status->Refresh(); + return; + } + m_doc.recompute(); + // The constraint lives in the recipe, so the save path has to be told the recipe moved; + // otherwise saving after a constraint edit wrote the blob from before it. + sync_recipe_to_model(); + update_undo_redo_buttons(); + m_viewport->update_constrain_entities(m_doc.features[m_constrain_feat].entities); + if (!m_doc.display_mesh.its.indices.empty()) + feed_bodies(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Applied constraint")); + m_status->Refresh(); + + refresh_constrain_dof(); // P3 DoF readout for the Constrain path + rebuild_constraint_list(); // C3.4 manager: a row appeared +} + +// Re-derive the solve state of the constrained feature and mirror it into the same +// DoF readout the in-session path uses, so "✓ Fully constrained" is reachable here. +void DesignPanel::refresh_constrain_dof() +{ + if (!m_dof_status || m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size())) + return; + const CadFeature& feat = m_doc.features[m_constrain_feat]; + std::vector<SketchEntity> ents = feat.entities; // already solved; re-solve is a cheap no-op + const SketchSolveResult r = sketch_solve(ents, feat.entity_constraints); + if (!r.ok) { + m_dof_status->SetForegroundColour(wxColour(235, 80, 80)); + m_dof_status->SetLabel(_L("✗ Conflicting constraints")); m_dof_status->Show(!m_dof_status->GetLabel().IsEmpty()); + } else if (r.dof == 0) { + m_dof_status->SetForegroundColour(wxColour(80, 200, 110)); + m_dof_status->SetLabel(_L("✓ Fully constrained")); m_dof_status->Show(!m_dof_status->GetLabel().IsEmpty()); + } else if (r.dof > 0) { + m_dof_status->SetForegroundColour(dp_ctl_text()); + m_dof_status->SetLabel(wxString::Format(_L("%d degrees of freedom"), r.dof)); m_dof_status->Show(!m_dof_status->GetLabel().IsEmpty()); + } else { + m_dof_status->SetLabel(wxString()); m_dof_status->Show(!m_dof_status->GetLabel().IsEmpty()); + } + m_dof_status->Refresh(); + update_cards_frame(); m_form->Layout(); +} + +// Human-readable label for a constraint row, e.g. "Coincident L0·P1 — L1·P0", +// "Horizontal L2", "Radius C3 = 7.00". Entities are tagged by type letter + index. +wxString DesignPanel::constraint_label(const SketchEntityConstraintDef& d) const +{ + using T = SketchConstraintType; + const CadFeature* feat = (m_constrain_feat >= 0 && m_constrain_feat < int(m_doc.features.size())) + ? &m_doc.features[m_constrain_feat] : nullptr; + auto tag = [&](int ei, SketchPointRole r) -> wxString { + if (ei < 0) return wxString(); + char c = 'E'; + if (feat && ei < int(feat->entities.size())) { + switch (feat->entities[ei].type) { + case SketchEntity::Type::Line: c = 'L'; break; + case SketchEntity::Type::Circle: c = 'C'; break; + case SketchEntity::Type::Arc: c = 'A'; break; + case SketchEntity::Type::Point: c = 'P'; break; + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: c = 'E'; break; + case SketchEntity::Type::BSpline: c = 'B'; break; + } + } + wxString s; s << wxUniChar(c) << ei; // avoid %c assert in Unicode build + if (r == SketchPointRole::P1) s += "·P1"; + else if (r == SketchPointRole::Center) s += "·Ctr"; + else if (r == SketchPointRole::P0) s += "·P0"; + return s; + }; + auto two = [&](const wxString& name) { + return d.eb >= 0 ? wxString::Format("%s %s — %s", name, tag(d.ea, d.ra), tag(d.eb, d.rb)) + : wxString::Format("%s %s", name, tag(d.ea, d.ra)); + }; + switch (d.type) { + case T::Fix: return wxString::Format(_L("Fix %s"), tag(d.ea, d.ra)); + case T::Coincident: return two(_L("Coincident")); + case T::Horizontal: return two(_L("Horizontal")); + case T::Vertical: return two(_L("Vertical")); + case T::Distance: return wxString::Format("%s = %s", two(_L("Distance")), en_format(d.value)); + case T::LockX: return wxString::Format(_L("Lock X %s"), tag(d.ea, d.ra)); + case T::LockY: return wxString::Format(_L("Lock Y %s"), tag(d.ea, d.ra)); + case T::EqualLength: return two(_L("Equal")); + case T::Parallel: return two(_L("Parallel")); + case T::Perpendicular: return two(_L("Perpendicular")); + case T::Concentric: return two(_L("Concentric")); + case T::Tangent: return two(_L("Tangent")); + case T::Midpoint: return two(_L("Midpoint")); + case T::Symmetric: return wxString::Format(_L("Symmetric %s — %s / %s"), + tag(d.ea, d.ra), tag(d.eb, d.rb), tag(d.ec, d.rc)); + case T::SymmetricAboutY: return wxString::Format(_L("Symmetric about Y axis %s — %s"), + tag(d.ea, d.ra), tag(d.eb, d.rb)); + case T::SymmetricAboutX: return wxString::Format(_L("Symmetric about X axis %s — %s"), + tag(d.ea, d.ra), tag(d.eb, d.rb)); + case T::Angle: return wxString::Format("%s = %s°", two(_L("Angle")), en_format(d.value * 180.0 / M_PI, 1)); + case T::Radius: return wxString::Format("%s %s = %s", _L("Radius"), tag(d.ea, d.ra), en_format(d.value)); + case T::Diameter: return wxString::Format("%s %s = %s", _L("Diameter"), tag(d.ea, d.ra), en_format(d.value)); + case T::PointOnLine: return two(_L("On line")); + case T::PointOnObject: return two(_L("On edge")); + } + return _L("Constraint"); +} + +bool DesignPanel::live_constraint_scope() const +{ + return m_viewport != nullptr && m_viewport->is_sketching() && + !m_viewport->is_constraining() && !m_viewport->is_constraining_entities(); +} + +// Rebuild the constraint-row list. Source depends on scope: a LIVE sketch session owns its +// constraints inside the sketch tool and has no committed feature yet, so the list read only +// the feature's and stayed empty for the whole session — constraints applied while drawing had +// no row, no ✗, and no name anywhere in the UI. +void DesignPanel::rebuild_constraint_list() +{ + if (m_constraint_rows == nullptr || m_form == nullptr) + return; + m_constraint_rows->Clear(true /* delete windows */); + m_constraint_sel = -1; + + const bool live = live_constraint_scope(); + const bool active = (m_constrain_feat >= 0 && m_constrain_feat < int(m_doc.features.size())); + const std::vector<SketchEntityConstraintDef> empty; + const std::vector<SketchEntityConstraintDef>& cons = + live ? m_viewport->sketch_constraints() + : active ? m_doc.features[m_constrain_feat].entity_constraints : empty; + + if (m_hdr_constraints) + m_hdr_constraints->SetLabel(wxString::Format(_L("Constraints (%d)"), int(cons.size()))); + + if (cons.empty()) { + auto* none = new wxStaticText(m_cards, wxID_ANY, _L("No constraints yet")); + none->SetForegroundColour(dp_sec_text()); + m_constraint_rows->Add(none, 0, wxTOP, 4); + } + for (int i = 0; i < int(cons.size()); ++i) { + auto* row = new wxBoxSizer(wxHORIZONTAL); + // Delete button first (fixed left position, always visible — long labels can + // horizontally scroll but ✗ stays put and clickable). BMP-safe ✗ glyph. + auto* del = new wxButton(m_cards, wxID_ANY, wxString::FromUTF8("✗"), + wxDefaultPosition, wxSize(26, -1)); + del->SetToolTip(_L("Delete constraint")); + del->Bind(wxEVT_BUTTON, [this, i](wxCommandEvent&) { delete_constraint(i); }); + // Clickable label: selecting it highlights the referenced entities. + auto* lbl = new wxButton(m_cards, wxID_ANY, constraint_label(cons[i]), + wxDefaultPosition, wxDefaultSize, wxBU_LEFT | wxBORDER_NONE); + lbl->Bind(wxEVT_BUTTON, [this, i](wxCommandEvent&) { highlight_constraint_entities(i); }); + row->Add(del, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 6); + row->Add(lbl, 1, wxALIGN_CENTER_VERTICAL); + m_constraint_rows->Add(row, 0, wxEXPAND | wxTOP, 2); + } + + // Feed the same list to the viewport for the on-sketch glyph badges (C3.4b). + if (m_viewport) + m_viewport->set_constraint_glyphs(cons); + + m_cards->GetSizer()->Show(m_box_constraints, + m_ui_mode == UiMode::Constrain || live, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); +} + +// Push the entities referenced by constraint `idx` to the viewport as a yellow +// highlight (toggle off if the same row is clicked again). +void DesignPanel::highlight_constraint_entities(int idx) +{ + if (!m_viewport) + return; + const bool live = live_constraint_scope(); + if (!live && (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()))) + return; + const auto& cons = live ? m_viewport->sketch_constraints() + : m_doc.features[m_constrain_feat].entity_constraints; + if (idx < 0 || idx >= int(cons.size())) + return; + if (m_constraint_sel == idx) { // second click clears + m_constraint_sel = -1; + m_viewport->set_constraint_highlight({}); + return; + } + m_constraint_sel = idx; + const SketchEntityConstraintDef& d = cons[idx]; + std::vector<int> ents; + for (int e : { d.ea, d.eb, d.ec }) + if (e >= 0) ents.push_back(e); + m_viewport->set_constraint_highlight(std::move(ents)); +} + +// Drop constraint `idx`, re-solve the feature, and refresh viewport + list + DoF. +void DesignPanel::delete_constraint(int idx) +{ + // Live session: the constraint lives in the sketch tool, not in any feature. Removing it + // re-solves and fires on_constraints_changed, which rebuilds these rows — so this branch + // deliberately does NOT call rebuild_constraint_list() itself (it would run twice, and the + // second run would delete the wxButton whose click handler is still on the stack). + if (live_constraint_scope()) { + if (!m_viewport->remove_sketch_constraint(idx)) + return; + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Constraint deleted")); + m_status->Refresh(); + return; + } + if (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()) || !m_viewport) + return; + CadFeature& feat = m_doc.features[m_constrain_feat]; + if (idx < 0 || idx >= int(feat.entity_constraints.size())) + return; + m_doc.checkpoint(); // undo boundary: deleting a constraint + feat.entity_constraints.erase(feat.entity_constraints.begin() + idx); + // Re-solve the remaining system (deleting a constraint can only free DoF, so it + // cannot fail for over-constraint; ignore the bool and refresh either way). + m_doc.solve_sketch_feature(m_constrain_feat); + m_doc.recompute(); + sync_recipe_to_model(); // the removal is part of the recipe + update_undo_redo_buttons(); + m_viewport->set_constraint_highlight({}); + m_viewport->update_constrain_entities(m_doc.features[m_constrain_feat].entities); + if (!m_doc.display_mesh.its.indices.empty()) + feed_bodies(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Constraint deleted")); + m_status->Refresh(); + refresh_constrain_dof(); + rebuild_constraint_list(); +} + +void DesignPanel::apply_edit_op(EditOp op) +{ + if (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()) || !m_viewport || + !m_viewport->is_constraining_entities()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Press Constrain on a sketch first")); + m_status->Refresh(); + return; + } + auto fail = [this](const wxString& msg) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(msg); + m_status->Refresh(); + }; + + int e0 = -1, e1 = -1; + m_viewport->selected_constrain_entities(e0, e1); + CadFeature& feat = m_doc.features[m_constrain_feat]; + const int n = int(feat.entities.size()); + if (e0 < 0 || e0 >= n) { fail(_L("Pick an entity first")); return; } + using Type = SketchEntity::Type; + + switch (op) { + case EditOp::Mirror: { + if (e1 < 0 || e1 >= n) { fail(_L("Pick the entity, then a mirror-axis line")); return; } + const SketchEntity& axis = feat.entities[e1]; + if (axis.type != Type::Line) { fail(_L("Mirror axis must be a line")); return; } + auto out = SketchEngine::mirror_entities({ feat.entities[e0] }, axis.p0, axis.p1); + if (out.empty()) { fail(_L("Mirror produced nothing")); return; } + const int mi = n; // index the single mirrored copy lands at (n entities before push) + for (auto& m : out) feat.entities.push_back(m); + + // C4a: bind the mirror to its source with Symmetric constraints about the + // axis, so the pair stays mirror-symmetric under later solves and drags. + // mirror_entities preserves P0/P1/Center ordering, so the constraints are + // satisfied by construction; if the solver still rejects them (degenerate + // axis, redundancy) keep the geometry and drop only the binding. + { + using R = SketchPointRole; + using CT = SketchConstraintType; + const std::vector<SketchEntity> saved_ents = feat.entities; + const size_t cons_before = feat.entity_constraints.size(); + SketchEntityConstraintDef d; d.type = CT::Symmetric; d.ea = e0; d.eb = mi; d.ec = e1; + const Type st = feat.entities[e0].type; + if (st == Type::Line) { + d.ra = R::P0; d.rb = R::P0; feat.entity_constraints.push_back(d); + d.ra = R::P1; d.rb = R::P1; feat.entity_constraints.push_back(d); + } else if (st == Type::Arc || st == Type::Circle) { + d.ra = R::Center; d.rb = R::Center; feat.entity_constraints.push_back(d); + } else if (st == Type::Point) { + d.ra = R::P0; d.rb = R::P0; feat.entity_constraints.push_back(d); + } + if (feat.entity_constraints.size() != cons_before && + !m_doc.solve_sketch_feature(m_constrain_feat)) { + feat.entity_constraints.resize(cons_before); + feat.entities = saved_ents; + } + } + break; + } + case EditOp::Offset: { + const int a = e0; + request_value(_L("Offset distance (+left / -right of direction)"), 1.0, -100000.0, 100000.0, + [this, a](double d) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + auto out = SketchEngine::offset_entities({ f.entities[a] }, d); + if (out.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Offset collapsed the entity")); m_status->Refresh(); return; + } + const int ni = int(f.entities.size()); // offset copy lands here + for (auto& o : out) f.entities.push_back(o); + + // C4c: bind the offset copy to its source. Offset only ADDS geometry + // (the source is untouched), so unlike trim/fillet there are no stale + // constraints to drop — just glue the pair. A line offset stays + // Parallel to its source; an arc/circle offset stays Concentric (same + // centre). Single constraint, so no degradation ladder; solve and roll + // the binding back if the solver rejects it (keep the geometry). + { + using CT = SketchConstraintType; + const Type st = f.entities[a].type; + SketchEntityConstraintDef d2; d2.ea = a; d2.eb = ni; + bool emit = true; + if (st == Type::Line) d2.type = CT::Parallel; + else if (st == Type::Arc || st == Type::Circle) d2.type = CT::Concentric; + else emit = false; + if (emit) { + const size_t cbefore = f.entity_constraints.size(); + f.entity_constraints.push_back(d2); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + f.entity_constraints.resize(cbefore); + } + } + after_edit_op(); + }); + return; // deferred: edit runs on Confirm + } + case EditOp::Fillet: { + if (e1 < 0 || e1 >= n) { fail(_L("Pick two lines to fillet")); return; } + if (feat.entities[e0].type != Type::Line || feat.entities[e1].type != Type::Line) { + fail(_L("Fillet needs two lines")); return; + } + const int a = e0, b = e1; + request_value(_L("Fillet radius"), 1.0, 0.001, 100000.0, [this, a, b](double r) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size()) || b >= int(f.entities.size())) return; + SketchEntity a_out, b_out, arc_out; + if (!SketchEngine::fillet_lines(f.entities[a], f.entities[b], r, a_out, b_out, arc_out)) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Fillet failed (parallel lines or radius too large)")); + m_status->Refresh(); return; + } + f.entities[a] = a_out; + f.entities[b] = b_out; + const int arc = int(f.entities.size()); + f.entities.push_back(arc_out); + + // C4b: glue the fillet arc to the two trimmed lines so it survives a + // re-solve instead of floating free. arc.p0 sits on line a's moved + // endpoint, arc.p1 on line b's; recover the exact endpoint roles by + // nearest match, then emit Coincident (essential — keeps the corner + // joined) + Tangent (smoothness). The full set can be redundant for the + // arc, so try it first and drop tangents progressively until the solver + // accepts it; the Coincident pins survive even if tangency is rejected. + { + using R = SketchPointRole; + using CT = SketchConstraintType; + auto role_near = [](const SketchEntity& ln, const Vec2d& p) -> R { + return ((ln.p0 - p).squaredNorm() <= (ln.p1 - p).squaredNorm()) ? R::P0 : R::P1; + }; + const R ra = role_near(f.entities[a], arc_out.p0); + const R rb = role_near(f.entities[b], arc_out.p1); + + // Fillet trims both lines back from the shared corner, so any + // constraint anchored to a trimmed endpoint is now stale: the corner + // Coincident that joined (a,ra)·(b,rb), and each line's own length + // Distance (its length just changed). Drop them before re-binding — + // leaving them would fight the new arc geometry and reject every + // binding below. + auto refs = [](const SketchEntityConstraintDef& d, int e, R r) { + return (d.ea == e && d.ra == r) || (d.eb == e && d.rb == r); + }; + auto self_len = [](const SketchEntityConstraintDef& d, int e) { + return d.type == CT::Distance && d.ea == e && d.eb == e; + }; + auto& cs = f.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& d) { + return (d.type == CT::Coincident && refs(d, a, ra) && refs(d, b, rb)) + || self_len(d, a) || self_len(d, b); + }), cs.end()); + + auto coin = [&](R arc_role, int ln, R ln_role) { + SketchEntityConstraintDef d; d.type = CT::Coincident; + d.ea = arc; d.ra = arc_role; d.eb = ln; d.rb = ln_role; return d; + }; + auto tang = [&](int ln) { + SketchEntityConstraintDef d; d.type = CT::Tangent; d.ea = arc; d.eb = ln; return d; + }; + const std::vector<std::vector<SketchEntityConstraintDef>> ladder = { + { coin(R::P0, a, ra), coin(R::P1, b, rb), tang(a), tang(b) }, + { coin(R::P0, a, ra), coin(R::P1, b, rb), tang(a) }, + { coin(R::P0, a, ra), coin(R::P1, b, rb) }, + }; + const std::vector<SketchEntity> saved = f.entities; + const size_t cbefore = f.entity_constraints.size(); + for (const auto& set : ladder) { + for (const auto& d : set) f.entity_constraints.push_back(d); + if (m_doc.solve_sketch_feature(m_constrain_feat)) break; // accepted + f.entity_constraints.resize(cbefore); + f.entities = saved; + } + } + after_edit_op(); + }); + return; // deferred: edit runs on Confirm + } + + case EditOp::Chamfer: { + if (e1 < 0 || e1 >= n) { fail(_L("Pick two lines to chamfer")); return; } + if (feat.entities[e0].type != Type::Line || feat.entities[e1].type != Type::Line) { + fail(_L("Chamfer needs two lines")); return; + } + const int a = e0, b = e1; + request_value(_L("Chamfer distance"), 1.0, 0.001, 100000.0, [this, a, b](double d) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size()) || b >= int(f.entities.size())) return; + SketchEntity a_out, b_out, seg_out; + if (!SketchEngine::chamfer_lines(f.entities[a], f.entities[b], d, a_out, b_out, seg_out)) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Chamfer failed (parallel lines or distance too large)")); + m_status->Refresh(); return; + } + f.entities[a] = a_out; + f.entities[b] = b_out; + const int seg = int(f.entities.size()); + f.entities.push_back(seg_out); + + // C4.6: like fillet, chamfer trims both lines back from the shared corner + // and inserts a connecting segment. MUTATING op: drop the stale corner + // Coincident that joined the two trimmed endpoints and each line's own + // length Distance (lengths just changed), then pin the new segment's ends + // onto the trimmed line endpoints with Coincident so it survives re-solve. + { + using R = SketchPointRole; + using CT = SketchConstraintType; + auto role_near = [](const SketchEntity& ln, const Vec2d& p) -> R { + return ((ln.p0 - p).squaredNorm() <= (ln.p1 - p).squaredNorm()) ? R::P0 : R::P1; + }; + const R ra = role_near(f.entities[a], seg_out.p0); + const R rb = role_near(f.entities[b], seg_out.p1); + + auto refs = [](const SketchEntityConstraintDef& dd, int e, R r) { + return (dd.ea == e && dd.ra == r) || (dd.eb == e && dd.rb == r); + }; + auto self_len = [](const SketchEntityConstraintDef& dd, int e) { + return dd.type == CT::Distance && dd.ea == e && dd.eb == e; + }; + auto& cs = f.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& dd) { + return (dd.type == CT::Coincident && refs(dd, a, ra) && refs(dd, b, rb)) + || self_len(dd, a) || self_len(dd, b); + }), cs.end()); + + auto coin = [&](R seg_role, int ln, R ln_role) { + SketchEntityConstraintDef dd; dd.type = CT::Coincident; + dd.ea = seg; dd.ra = seg_role; dd.eb = ln; dd.rb = ln_role; return dd; + }; + const std::vector<SketchEntity> saved = f.entities; + const size_t cbefore = f.entity_constraints.size(); + f.entity_constraints.push_back(coin(R::P0, a, ra)); + f.entity_constraints.push_back(coin(R::P1, b, rb)); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) { + f.entity_constraints.resize(cbefore); // keep geometry, drop pins + f.entities = saved; + } + } + after_edit_op(); + }); + return; // deferred: edit runs on Confirm + } + + case EditOp::Trim: + case EditOp::Extend: { + // Trim accepts Line/Arc/Circle subjects; Extend accepts Line/Arc (a Circle + // is already closed, so there is nothing to extend). + const Type st = feat.entities[e0].type; + const bool subject_ok = (op == EditOp::Trim) + ? (st == Type::Line || st == Type::Arc || st == Type::Circle) + : (st == Type::Line || st == Type::Arc); + if (!subject_ok) { + fail(op == EditOp::Trim ? _L("Trim works on lines, arcs and circles") + : _L("Extend works on lines and arcs")); + return; + } + Vec2d pick; + if (!m_viewport->pick0_point(pick)) { fail(_L("Pick the edge to trim/extend")); return; } + std::vector<SketchEntity> others; + others.reserve(n > 0 ? n - 1 : 0); + for (int i = 0; i < n; ++i) + if (i != e0) others.push_back(feat.entities[i]); + const SketchEntity before = feat.entities[e0]; // C4.1: detect the moved endpoint + const bool ok = (op == EditOp::Trim) + ? SketchEngine::trim_entity(feat.entities[e0], others, pick) + : SketchEngine::extend_entity(feat.entities[e0], others, pick); + if (!ok) { fail(op == EditOp::Trim ? _L("Nothing to trim at the pick") + : _L("No edge to extend to")); return; } + + // C4.1: trim/extend slides ONE endpoint of the subject along its own + // direction (line) or sweep (arc). That (a) kills the subject's + // self-length Distance dim and (b) detaches the moved endpoint from any + // corner Coincident/PointOn* it used to hold. Drop both stale classes, + // then re-anchor the moved endpoint onto the entity it now lands on with a + // PointOnObject (the bridge picks PT_ON_LINE / PT_ON_CIRCLE). A Circle + // subject restructures into an Arc (both endpoints new) — skip the + // re-anchor there; its self constraints (Radius/Concentric) survive, so + // there is nothing stale to drop either. + if (st == Type::Line || st == Type::Arc) { + using R = SketchPointRole; + using CT = SketchConstraintType; + const SketchEntity& aft = feat.entities[e0]; + R moved = R::P0; + Vec2d P; + if (st == Type::Line) { + const bool p0_moved = (before.p0 - aft.p0).squaredNorm() + > (before.p1 - aft.p1).squaredNorm(); + moved = p0_moved ? R::P0 : R::P1; + P = p0_moved ? aft.p0 : aft.p1; + } else { + const bool start_moved = std::abs(before.start_angle - aft.start_angle) + > std::abs(before.end_angle - aft.end_angle); + moved = start_moved ? R::P0 : R::P1; + const double ang = start_moved ? aft.start_angle : aft.end_angle; + P = aft.center + aft.radius * Vec2d(std::cos(ang), std::sin(ang)); + } + + // Drop stale: subject self-length Distance + any Coincident/PointOn* + // pinning the moved endpoint to its old corner. + auto refs = [&](const SketchEntityConstraintDef& d, R r) { + return (d.ea == e0 && d.ra == r) || (d.eb == e0 && d.rb == r); + }; + auto& cs = feat.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& d) { + if (d.type == CT::Distance && d.ea == e0 && d.eb == e0) return true; + return (d.type == CT::Coincident || d.type == CT::PointOnLine + || d.type == CT::PointOnObject) && refs(d, moved); + }), cs.end()); + + // Find which other entity the moved endpoint now lies on (Line/Circle + // cutters only — PT_ON_* needs a line or circle primitive). + int cutter = -1; + const double tol = 1e-5; + for (int i = 0; i < int(feat.entities.size()); ++i) { + if (i == e0) continue; + const SketchEntity& o = feat.entities[i]; + if (o.type == Type::Line) { + Vec2d dv = o.p1 - o.p0; + const double L2 = dv.dot(dv); + if (L2 < 1e-18) continue; + const double t = (P - o.p0).dot(dv) / L2; + if (t < -1e-6 || t > 1.0 + 1e-6) continue; + if ((o.p0 + t * dv - P).norm() < tol) { cutter = i; break; } + } else if (o.type == Type::Circle) { + if (std::abs((P - o.center).norm() - o.radius) < tol) { cutter = i; break; } + } + } + + // Re-anchor with PointOnObject; keep geometry + the stale-drop even if + // the solver rejects the new (possibly redundant) binding. + if (cutter >= 0) { + const size_t cbefore = feat.entity_constraints.size(); + SketchEntityConstraintDef d; d.type = CT::PointOnObject; + d.ea = e0; d.ra = moved; d.eb = cutter; + feat.entity_constraints.push_back(d); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + feat.entity_constraints.resize(cbefore); + } + } + break; + } + case EditOp::Array: { + // C4.4 linear array. Additive op (originals untouched, copies appended) -> + // no stale constraints to drop. Collect count, then spacing; the array runs + // along the subject line's own direction (or +X for non-lines). Copies are + // pure translates, so for lines they are Parallel + EqualLength to the + // source by construction -> bind each copy to the source in a star web; for + // arc/circle subjects the translate preserves radius (but not the centre), + // so the web is a per-copy Radius dimension instead (see below). + const int a = e0; + request_value(_L("Array count (incl. original)"), 3.0, 2.0, 200.0, + [this, a](double cnt_d) { + const int count = std::max(2, int(cnt_d + 0.5)); + request_value(_L("Spacing (mm)"), 20.0, -100000.0, 100000.0, + [this, a, count](double sp) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + using Type = SketchEntity::Type; + // Snapshot everything we need from the source BEFORE pushing the + // copies: push_back can reallocate f.entities and dangle any + // reference into it. Copy the subject by value. + const SketchEntity src = f.entities[a]; + const Type src_type = src.type; + // Default direction: perpendicular to a line (so copies stack + // into a visible, non-overlapping parallel pattern rather than + // extending collinearly); +X for non-line subjects. + Vec2d dir(1.0, 0.0); + if (src_type == Type::Line) { + const Vec2d t = src.p1 - src.p0; + if (t.norm() > 1e-9) { + const Vec2d u = t.normalized(); + dir = Vec2d(-u.y(), u.x()); + } + } + auto copies = SketchEngine::array_entities( + { src }, count, sp * dir, 0.0, Vec2d(0, 0)); + if (copies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Array produced nothing")); m_status->Refresh(); return; + } + const int base = int(f.entities.size()); // first copy index + for (auto& c : copies) f.entities.push_back(c); + + if (src_type == Type::Line) { + using CT = SketchConstraintType; + // Bind every copy to the source in a star web. Emit the + // WHOLE web before solving (a per-constraint solve would run + // while later copies are still unconstrained, which the + // solver rejects), then degrade as a set: try Parallel + + // EqualLength, fall back to Parallel only (EqualLength can be + // rank-deficient on exact congruent copies), then to bare + // geometry. Keep the geometry regardless. + const size_t cb = f.entity_constraints.size(); + auto build_web = [&](bool with_equal) { + f.entity_constraints.resize(cb); + for (int k = 0; k < int(copies.size()); ++k) { + SketchEntityConstraintDef dp; dp.type = CT::Parallel; + dp.ea = a; dp.eb = base + k; + f.entity_constraints.push_back(dp); + if (with_equal) { + SketchEntityConstraintDef de; de.type = CT::EqualLength; + de.ea = a; de.eb = base + k; + f.entity_constraints.push_back(de); + } + } + }; + build_web(true); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) { + build_web(false); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + f.entity_constraints.resize(cb); + } + } else if (src_type == Type::Arc || src_type == Type::Circle) { + // Curved subject: translation preserves the radius but + // marches the centres apart, so the copies are NOT + // concentric. There is no EQUAL_RADIUS in the constraint + // enum, so pin each copy's radius to the source value with + // a per-copy Radius dimension (keeps the array equal-radius + // and documents intent, mirroring the line web). Solve and + // roll the whole web back if the solver rejects it. + using CT = SketchConstraintType; + const size_t cb = f.entity_constraints.size(); + for (int k = 0; k < int(copies.size()); ++k) { + SketchEntityConstraintDef dr; dr.type = CT::Radius; + dr.ea = base + k; dr.value = src.radius; + f.entity_constraints.push_back(dr); + } + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + f.entity_constraints.resize(cb); + } + after_edit_op(); + }); + }); + return; // deferred: edit runs on the two Confirms + } + case EditOp::Move: { + // C4.5 Transform (move). MUTATING op: the subject is translated in place + // (kernel transform_entities with angle=0, scale=1). Pure translation + // PRESERVES orientation and length, so intrinsic + orientation constraints + // survive (Horizontal/Vertical/Parallel/Perpendicular/EqualLength/Angle, + // self-length Distance, Radius/Diameter); it BREAKS position-coupling ones + // (Coincident/PointOn*/Concentric/Symmetric/Midpoint/Fix/LockX/LockY, and + // any Distance tying the subject to a *different* entity). Per the governing + // P4 insight, drop those before re-solving — otherwise the solver drags the + // subject straight back to satisfy them and the move never sticks. + const int a = e0; + request_value(_L("Move dX (mm)"), 20.0, -100000.0, 100000.0, + [this, a](double dx) { + request_value(_L("Move dY (mm)"), 0.0, -100000.0, 100000.0, + [this, a, dx](double dy) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + auto out = SketchEngine::transform_entities( + { f.entities[a] }, Vec2d(dx, dy), 0.0, 1.0, Vec2d(0, 0)); + if (out.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Move produced nothing")); m_status->Refresh(); return; + } + f.entities[a] = out[0]; + + using CT = SketchConstraintType; + auto refs_a = [&](const SketchEntityConstraintDef& d) { + return d.ea == a || d.eb == a || d.ec == a; + }; + auto& cs = f.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& d) { + if (!refs_a(d)) return false; + switch (d.type) { + case CT::Coincident: case CT::PointOnLine: case CT::PointOnObject: + case CT::Concentric: case CT::Symmetric: case CT::Midpoint: + case CT::Fix: case CT::LockX: case CT::LockY: + return true; // position-coupling: broken by translation + case CT::Distance: + // self-length (ea==eb==a) survives translation; a + // distance to a *different* entity does not. + return !(d.ea == a && d.eb == a); + default: + return false; // orientation/length: preserved + } + }), cs.end()); + + // The surviving constraints are satisfied by construction + // (translation preserves them); re-solve to fold the new + // position in, keep the geometry even if the solver balks. + m_doc.solve_sketch_feature(m_constrain_feat); + after_edit_op(); + }); + }); + return; // deferred: edit runs on the two Confirms + } + case EditOp::Rotate: { + // C4.5b Transform (rotate-in-place about the subject centroid). MUTATING op. + // Rotation PRESERVES intrinsic size (length/radius) but changes the subject's + // ORIENTATION and the POSITION of its points. So only the size constraints + // survive (EqualLength/Radius/Diameter + self-length Distance); every + // position- or orientation-coupling constraint is broken and must be dropped + // before re-solving, otherwise the solver spins the subject back to satisfy + // them and the rotation never sticks (governing P4 insight). + const int a = e0; + request_value(_L("Rotate angle (deg)"), 45.0, -360.0, 360.0, + [this, a](double deg) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + auto centroid_of = [](const SketchEntity& e) -> Vec2d { + using T = SketchEntity::Type; + switch (e.type) { + case T::Line: return 0.5 * (e.p0 + e.p1); + case T::Arc: case T::Circle: case T::Ellipse: case T::EllipseArc: + return e.center; + case T::BSpline: + if (!e.ctrl.empty()) { + Vec2d s(0, 0); for (auto& p : e.ctrl) s += p; + return s / double(e.ctrl.size()); + } + return 0.5 * (e.p0 + e.p1); + default: return e.p0; // Point + } + }; + const Vec2d piv = centroid_of(f.entities[a]); + auto out = SketchEngine::transform_entities( + { f.entities[a] }, Vec2d(0, 0), deg * M_PI / 180.0, 1.0, piv); + if (out.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Rotate produced nothing")); m_status->Refresh(); return; + } + f.entities[a] = out[0]; + + using CT = SketchConstraintType; + auto refs_a = [&](const SketchEntityConstraintDef& d) { + return d.ea == a || d.eb == a || d.ec == a; + }; + auto& cs = f.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& d) { + if (!refs_a(d)) return false; + switch (d.type) { + case CT::EqualLength: case CT::Radius: case CT::Diameter: + return false; // intrinsic size: preserved by rotation + case CT::Distance: + return !(d.ea == a && d.eb == a); // self-length survives + default: + return true; // position/orientation-coupling: broken + } + }), cs.end()); + + m_doc.solve_sketch_feature(m_constrain_feat); + after_edit_op(); + }); + return; // deferred: edit runs on Confirm + } + case EditOp::Scale: { + // C4.5c Transform (uniform scale-in-place about the subject centroid). MUTATING + // op. Uniform scaling PRESERVES orientation and angles (Horizontal/Vertical/ + // Parallel/Perpendicular/Angle survive) but changes SIZE and point POSITIONS: + // drop every size constraint (Radius/Diameter/EqualLength/any Distance) and + // every position-coupling constraint before re-solving, else the solver + // rescales the subject back to satisfy them. + const int a = e0; + request_value(_L("Scale factor"), 2.0, 0.01, 1000.0, + [this, a](double sf) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + auto centroid_of = [](const SketchEntity& e) -> Vec2d { + using T = SketchEntity::Type; + switch (e.type) { + case T::Line: return 0.5 * (e.p0 + e.p1); + case T::Arc: case T::Circle: case T::Ellipse: case T::EllipseArc: + return e.center; + case T::BSpline: + if (!e.ctrl.empty()) { + Vec2d s(0, 0); for (auto& p : e.ctrl) s += p; + return s / double(e.ctrl.size()); + } + return 0.5 * (e.p0 + e.p1); + default: return e.p0; // Point + } + }; + const Vec2d piv = centroid_of(f.entities[a]); + auto out = SketchEngine::transform_entities( + { f.entities[a] }, Vec2d(0, 0), 0.0, sf, piv); + if (out.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Scale produced nothing")); m_status->Refresh(); return; + } + f.entities[a] = out[0]; + + using CT = SketchConstraintType; + auto refs_a = [&](const SketchEntityConstraintDef& d) { + return d.ea == a || d.eb == a || d.ec == a; + }; + auto& cs = f.entity_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), + [&](const SketchEntityConstraintDef& d) { + if (!refs_a(d)) return false; + switch (d.type) { + case CT::Horizontal: case CT::Vertical: case CT::Parallel: + case CT::Perpendicular: case CT::Angle: + return false; // orientation/angle: preserved by uniform scale + default: + return true; // size + position-coupling: broken + } + }), cs.end()); + + m_doc.solve_sketch_feature(m_constrain_feat); + after_edit_op(); + }); + return; // deferred: edit runs on Confirm + } + case EditOp::PolarArray: { + // Polar array about the subject centroid. ADDITIVE op (originals untouched, + // count-1 rotated copies appended) -> no stale constraints to drop. Copies + // are rigid rotations of the source, so they preserve LENGTH but NOT + // orientation: bind each copy to the source with EqualLength only (Parallel + // does NOT hold under rotation, unlike the linear-array web). Arc/circle + // subjects rotate about their own centre, so their copies stay Concentric + + // equal-radius instead (see below). Dialogs: count + // then total sweep; angle_step = sweep/count spreads them evenly (last copy + // lands just shy of the original on a full 360). + const int a = e0; + request_value(_L("Polar count (incl. original)"), 6.0, 2.0, 200.0, + [this, a](double cnt_d) { + const int count = std::max(2, int(cnt_d + 0.5)); + request_value(_L("Total sweep (deg)"), 360.0, -360.0, 360.0, + [this, a, count](double sweep_deg) { + CadFeature& f = m_doc.features[m_constrain_feat]; + if (a >= int(f.entities.size())) return; + using Type = SketchEntity::Type; + // Snapshot the subject by value BEFORE pushing copies: push_back + // can reallocate f.entities and dangle a reference into it. + const SketchEntity src = f.entities[a]; + const Type src_type = src.type; + auto centroid_of = [](const SketchEntity& e) -> Vec2d { + using T = SketchEntity::Type; + switch (e.type) { + case T::Line: return 0.5 * (e.p0 + e.p1); + case T::Arc: case T::Circle: case T::Ellipse: case T::EllipseArc: + return e.center; + case T::BSpline: + if (!e.ctrl.empty()) { + Vec2d s(0, 0); for (auto& p : e.ctrl) s += p; + return s / double(e.ctrl.size()); + } + return 0.5 * (e.p0 + e.p1); + default: return e.p0; // Point + } + }; + const Vec2d piv = centroid_of(src); + const double angle_step = (sweep_deg * M_PI / 180.0) / double(count); + auto copies = SketchEngine::array_entities( + { src }, count, Vec2d(0, 0), angle_step, piv); + if (copies.empty()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Polar array produced nothing")); m_status->Refresh(); return; + } + const int base = int(f.entities.size()); // first copy index + for (auto& c : copies) f.entities.push_back(c); + + if (src_type == Type::Line) { + using CT = SketchConstraintType; + // Rotational web: each copy is EqualLength to the source + // (rotation preserves length; orientation differs so NO + // Parallel). Emit the whole web before solving, then fall + // back to bare geometry if it is rank-deficient. + const size_t cb = f.entity_constraints.size(); + for (int k = 0; k < int(copies.size()); ++k) { + SketchEntityConstraintDef de; de.type = CT::EqualLength; + de.ea = a; de.eb = base + k; + f.entity_constraints.push_back(de); + } + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + f.entity_constraints.resize(cb); + } else if (src_type == Type::Arc || src_type == Type::Circle) { + // Curved subject: the polar pivot is the subject centroid, + // which for an arc/circle IS its own centre. Rotating about + // that centre keeps every copy CONCENTRIC with the source and + // at the same radius (only the angular position shifts). Bind + // each copy with Concentric + a per-copy Radius dimension; + // degrade to Radius-only, then to bare geometry, keeping the + // geometry regardless. + using CT = SketchConstraintType; + const size_t cb = f.entity_constraints.size(); + auto build_web = [&](bool with_concentric) { + f.entity_constraints.resize(cb); + for (int k = 0; k < int(copies.size()); ++k) { + if (with_concentric) { + SketchEntityConstraintDef dc; dc.type = CT::Concentric; + dc.ea = a; dc.eb = base + k; + f.entity_constraints.push_back(dc); + } + SketchEntityConstraintDef dr; dr.type = CT::Radius; + dr.ea = base + k; dr.value = src.radius; + f.entity_constraints.push_back(dr); + } + }; + build_web(true); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) { + build_web(false); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) + f.entity_constraints.resize(cb); + } + } + after_edit_op(); + }); + }); + return; // deferred: edit runs on the two Confirms + } + } + + after_edit_op(); +} + +void DesignPanel::after_edit_op() +{ + if (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()) || !m_viewport) + return; + m_doc.recompute(); + m_viewport->set_constraint_highlight({}); // entity indices may have shifted + m_viewport->update_constrain_entities(m_doc.features[m_constrain_feat].entities); + // Refresh the committed-sketch overlay too: it caches the entity list at + // constrain-entry, so a relocating edit (Move/Trim/Extend) would otherwise + // leave a stale ghost of the pre-edit geometry beside the new position. + sync_sketch_display(); + if (!m_doc.display_mesh.its.indices.empty()) + feed_bodies(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Applied edit")); + m_status->Refresh(); + refresh_constrain_dof(); + rebuild_constraint_list(); +} + +void DesignPanel::request_value(const wxString& label, double def, double mn, double mx, + std::function<void(double)> cont, + std::function<void()> on_cancel) +{ + m_value_cont = std::move(cont); + m_value_cancel = std::move(on_cancel); + m_value_min = mn; + m_value_max = mx; + m_value_label->SetLabel(label); + m_value_input->ChangeValue(en_format(def)); // '.' decimals, no EVT_TEXT feedback + m_cards->GetSizer()->Show(m_box_value, true, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + m_value_input->SetFocus(); + m_value_input->SetSelection(-1, -1); // select all so typing replaces the value + m_status->SetForegroundColour(wxNullColour); + set_status(label + _L(" — type a value, press Enter (or Confirm)")); + m_status->Refresh(); +} + +void DesignPanel::confirm_value() +{ + if (!m_value_cont) { cancel_value(); return; } + double v = 0.0; + if (!en_parse(m_value_input->GetValue(), v)) { m_value_input->SetFocus(); return; } + v = std::min(std::max(v, m_value_min), m_value_max); // clamp to range + auto cont = m_value_cont; // copy, then clear before running so a + m_value_cont = nullptr; // re-entrant request_value can re-arm cleanly + m_value_cancel = nullptr; // confirmed: drop the cancel action + m_cards->GetSizer()->Show(m_box_value, false, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + cont(v); // run the deferred constraint / edit-op apply +} + +void DesignPanel::cancel_value() +{ + const bool was_open = (m_value_cont != nullptr); + m_value_cont = nullptr; + auto on_cancel = m_value_cancel; // copy, clear, then run (re-entrancy safe) + m_value_cancel = nullptr; + if (m_box_value) + m_cards->GetSizer()->Show(m_box_value, false, true); + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + if (was_open) { + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + } + if (on_cancel) + on_cancel(); // e.g. keep a pending line segment as drawn +} + +void DesignPanel::apply_constraint(SketchConstraintType type) +{ + // 1. LIVE sketch session: constrain the in-session selection while drawing. The + // discriminator must exclude BOTH constrain modes — begin_constrain_entities AND + // begin_constrain both set m_active, so is_sketching() alone is true during a committed + // Constrain session; without the guards this new path hijacks those and breaks every + // existing constraint rung. !is_constraining() also covers is_constraining_entities() + // (both require Mode::Constrain); it is spelled out for the two reasons a reader expects. + if (m_viewport && m_viewport->is_sketching() && + !m_viewport->is_constraining() && !m_viewport->is_constraining_entities()) { + apply_live_constraint(type); + return; + } + + if (m_constrain_feat < 0 || m_constrain_feat >= int(m_doc.features.size()) || + m_viewport == nullptr) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Press Constrain on a sketch first")); + m_status->Refresh(); + return; + } + + // 2. Entity sketches (Fase 4.2) route through the entity-constraint path. + if (m_viewport->is_constraining_entities()) { + apply_entity_constraint(type); + return; + } + + // 3. Legacy profile path. + if (!m_viewport->is_constraining()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Press Constrain on a sketch first")); + m_status->Refresh(); + return; + } + int a = -1, b = -1; + if (!m_viewport->selected_segment(a, b)) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Pick a segment in the viewport first")); + m_status->Refresh(); + return; + } + CadFeature& feat = m_doc.features[m_constrain_feat]; + // solve_sketch_feature rewrites profile.points even on failure, so snapshot + // the geometry to roll back a rejected constraint cleanly. + const std::vector<Vec2d> saved_pts = feat.profile.points; + m_doc.checkpoint(); // undo boundary: adding a constraint (profile sketches) + feat.constraints.push_back(SketchConstraintDef{type, a, b, -1, -1, 0.0}); + if (!m_doc.solve_sketch_feature(m_constrain_feat)) { + feat.constraints.pop_back(); // reject the non-converging addition + feat.profile.points = saved_pts; // and restore the pre-solve geometry + m_doc.abandon_checkpoint(); // restored: no state change, so no undo step + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Constraint rejected (over-constrained)")); + m_status->Refresh(); + return; + } + m_doc.recompute(); + sync_recipe_to_model(); + update_undo_redo_buttons(); + m_viewport->update_constrain_profile(m_doc.features[m_constrain_feat].profile.points); + if (!m_doc.display_mesh.its.indices.empty()) + feed_bodies(); + m_status->SetForegroundColour(wxNullColour); + set_status(type == SketchConstraintType::Horizontal ? _L("Applied Horizontal") + : _L("Applied Vertical")); + m_status->Refresh(); +} + +void DesignPanel::reset_edit_state() +{ + m_edit_index = -1; +} + +int DesignPanel::resolve_extrude_sketch() const +{ + int sel = tree_selection(); + if (sel != wxNOT_FOUND && sel < int(m_doc.features.size()) && + m_doc.features[sel].type == CadFeatureType::Sketch) + return sel; + for (int i = int(m_doc.features.size()) - 1; i >= 0; --i) + if (m_doc.features[i].type == CadFeatureType::Sketch) return i; + return -1; +} + +void DesignPanel::load_feature_into_dialog(const CadFeature& f) +{ + switch (f.type) { + case CadFeatureType::Sketch: + m_shape->SetSelection(f.shape == SketchShape::Circle ? 1 : 0); + m_width->SetValue(f.width); + m_height->SetValue(f.height); + m_radius->SetValue(f.radius); + break; + case CadFeatureType::Extrude: + m_distance->SetValue(f.distance); + m_mode->SetSelection(static_cast<int>(f.mode)); // New=0,Add=1,Cut=2,Intersect=3 + m_extrude_end->SetSelection(static_cast<int>(f.extrude_end)); + m_distance2->SetValue(f.distance2); + m_taper->SetValue(f.taper_deg); + m_flip->SetValue(f.flip); + m_extrude_sketch_ref = f.sketch_ref; + m_sel_solid_body = f.target_body; // preserve which body on re-edit + if (m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size())) + m_extrude_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_extrude_sketch_ref].name)); + break; + case CadFeatureType::Fillet: + case CadFeatureType::Chamfer: + m_dressup_type->SetSelection(f.type == CadFeatureType::Fillet ? 0 : 1); + m_dressup_size->SetValue(f.dressup_size); + m_face_group->SetSelection(static_cast<int>(f.face_group)); + m_sel_solid_edge = f.dressup_edge; // preserve edge-targeting on re-edit + m_sel_solid_body = f.target_body; // preserve which body on re-edit + sync_dressup_target(); // and say which of the two the re-edit is targeting + break; + case CadFeatureType::Hole: + m_hole_plane->SetSelection(index_from_plane(f.plane)); + m_hole_diameter->SetValue(f.hole_diameter); + m_hole_depth->SetValue(f.hole_depth); + m_hole_through->SetValue(f.hole_through); + m_hole_x->SetValue(f.hole_x); + m_hole_y->SetValue(f.hole_y); + // Re-latch the on-face state FROM THE STORED FEATURE (uif9). m_hole_on_face is + // only ever cleared by the Hole flyout and by the plane combo, so after any on-face hole + // it stays true — and a re-edit then drilled on whatever face was latched last, which may + // be a different face, a different body, or a body since rebuilt. f is the only source + // guaranteed to describe THIS hole. Not the dropdown row just set above: index_from_plane + // snaps an arbitrary face plane to the nearest XY/XZ/YZ, so driving the re-edit from the + // row would MOVE a hole drilled on a slanted or offset face. + m_hole_on_face = !is_base_plane(f.plane, m_doc.modeling_origin); + m_hole_face_plane = f.plane; + m_hole_face_body = m_hole_on_face ? f.target_body : -1; + // The face's (u,v) extent is not serialized, so the gizmo's footprint clamp has nothing + // to stand on. Unbounded is the honest state; the stale bounds of another face are not. + m_hole_has_bounds = false; + if (m_hole_target_label) + m_hole_target_label->SetLabel(m_hole_on_face + // No face index survives in the feature, and inventing one would be worse than + // saying so. "(none — uses Hole plane)" is the one thing that is definitely false. + ? (f.target_body >= 0 ? wxString::Format(_L("On a face of Body %d"), f.target_body + 1) + : _L("On a stored face")) + : _L("(none — uses Hole plane)")); + break; + case CadFeatureType::Thread: + m_thread_plane->SetSelection(index_from_plane(f.plane)); + m_thread_radius->SetValue(f.thread_radius * 2.0); // field = diameter + m_thread_pitch->SetValue(f.thread_pitch); + m_thread_height->SetValue(f.thread_height); + m_thread_depth->SetValue(f.thread_depth); + m_thread_internal->SetValue(f.thread_internal); + m_thread_x->SetValue(f.thread_x); + m_thread_y->SetValue(f.thread_y); + if (m_thread_std) m_thread_std->SetSelection(0); // Custom: spins reflect the stored feature + // Same latch, same failure, same fix as Hole above (uif9). + m_thread_on_face = !is_base_plane(f.plane, m_doc.modeling_origin); + m_thread_face_plane = f.plane; + m_thread_face_body = m_thread_on_face ? f.target_body : -1; + if (m_thread_target_label) + m_thread_target_label->SetLabel(m_thread_on_face + ? (f.target_body >= 0 ? wxString::Format(_L("On a face of Body %d"), f.target_body + 1) + : _L("On a stored face")) + : _L("(none — uses Thread plane)")); + break; + case CadFeatureType::Shell: + m_shell_thickness->SetValue(f.shell_thickness); + m_sel_solid_face = f.shell_face; + m_shell_face_label->SetLabel(f.shell_face >= 0 + ? wxString::Format(_L("Face %d"), f.shell_face) + : _L("(all faces — closed hollow)")); + break; + case CadFeatureType::Revolve: + m_revolve_angle->SetValue(f.revolve_angle); + m_revolve_axis->SetSelection(f.revolve_axis); + m_revolve_mode->SetSelection(static_cast<int>(f.mode)); + m_revolve_flip->SetValue(f.flip); + m_revolve_sketch_ref = f.sketch_ref; + break; + case CadFeatureType::Sweep: + m_sweep_profile_ref = f.sketch_ref; + m_sweep_path_ref = f.sweep_path_ref; // show_tool pre-selects this in the picker + m_sweep_mode->SetSelection(static_cast<int>(f.mode)); + break; + case CadFeatureType::Pattern: + m_pattern_type->SetSelection(f.pattern_circular ? 1 : 0); + m_pattern_count->SetValue(f.pattern_count); + m_pattern_spacing->SetValue(f.pattern_spacing); + m_pattern_dir->SetSelection(f.pattern_dir); + m_pattern_angle->SetValue(f.pattern_angle); + break; + case CadFeatureType::Plane: + populate_plane_choices(m_plane_base); + m_plane_base->SetSelection(f.plane_base); + m_plane_offset->SetValue(f.plane_offset); + m_plane_tilt->SetValue(f.plane_angle_tilt); + m_plane_tilt_axis->SetSelection(f.plane_axis); + m_plane_type->SetSelection((int)f.plane_type); + m_pl_faceA_body = f.plane_face_body; m_pl_faceA = f.plane_face; + m_pl_faceB_body = f.plane_face2_body; m_pl_faceB = f.plane_face2; + m_pl_edgeA_body = f.plane_edge_body; m_pl_edgeA = f.plane_edge; + m_pl_edgeB_body = f.plane_edge2_body; m_pl_edgeB = f.plane_edge2; + m_plane_usize->SetValue(f.plane_u_size); + m_plane_vsize->SetValue(f.plane_v_size); + m_plane_pick = PlanePick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_plane_labels(); + break; + case CadFeatureType::Loft: + m_loft_refs = f.loft_profile_refs; // show_tool re-checks these in the list + m_loft_ruled->SetValue(f.loft_ruled); + m_loft_mode->SetSelection(static_cast<int>(f.mode)); + break; + case CadFeatureType::Draft: + m_draft_angle->SetValue(f.draft_angle); + m_sel_solid_face = f.draft_face; + m_draft_face_label->SetLabel(f.draft_face >= 0 + ? wxString::Format(_L("Face %d"), f.draft_face) + : _L("(pick a side face)")); + break; + case CadFeatureType::Axis: + m_axis_type->SetSelection((int)f.axis_type); + m_ax_face_body = f.axis_body; m_ax_face = f.axis_face; + m_ax_edge = f.axis_edge; + populate_plane_choices(m_axis_plane_a); + populate_plane_choices(m_axis_plane_b); + m_axis_plane_a->SetSelection(f.axis_plane_a >= 0 ? f.axis_plane_a : 0); + m_axis_plane_b->SetSelection(f.axis_plane_b >= 0 ? f.axis_plane_b : 0); + m_axis_p1x->SetValue(f.axis_p1.x()); m_axis_p1y->SetValue(f.axis_p1.y()); m_axis_p1z->SetValue(f.axis_p1.z()); + m_axis_p2x->SetValue(f.axis_p2.x()); m_axis_p2y->SetValue(f.axis_p2.y()); m_axis_p2z->SetValue(f.axis_p2.z()); + m_axis_pick = AxisPick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_axis_labels(); + break; + case CadFeatureType::CoordSys: + m_coordsys_type->SetSelection((int)f.coordsys_type); + m_cs_x->SetValue(f.coordsys_point.x()); + m_cs_y->SetValue(f.coordsys_point.y()); + m_cs_z->SetValue(f.coordsys_point.z()); + m_cs_face_body = f.coordsys_body; m_cs_face = f.coordsys_face; + m_cs_edge = f.coordsys_edge; + m_cs_hx->SetValue(f.coordsys_x_hint.x()); + m_cs_hy->SetValue(f.coordsys_x_hint.y()); + m_cs_hz->SetValue(f.coordsys_x_hint.z()); + m_coordsys_pick = CoordSysPick::None; + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + if (m_viewport) m_viewport->set_escalate_on_repick(true); // pick abandoned + refresh_coordsys_labels(); + refresh_cs_body_choice(); + if (m_cs_body && f.coordsys_body >= 0) { + m_cs_body->SetSelection(f.coordsys_body + 1); + if (m_viewport) m_viewport->set_xray_focus(f.coordsys_body); + } + break; + case CadFeatureType::Boolean: + // List the bodies available to the boolean (as-of its timeline slot), so the consumed + // tool body still appears and the saved selections below land on the right entries. + populate_body_choices(m_edit_index); + m_bool_op->SetSelection(f.mode == BooleanMode::Cut ? 1 + : f.mode == BooleanMode::Intersect ? 2 : 0); // 0 = Union/Add + if (f.target_body >= 0 && f.target_body < int(m_bool_target->GetCount())) + m_bool_target->SetSelection(f.target_body); + if (f.bool_tool_body >= 0 && f.bool_tool_body < int(m_bool_tool->GetCount())) + m_bool_tool->SetSelection(f.bool_tool_body); + m_bool_keep->SetValue(f.bool_keep_tool); + m_bool_tol->SetValue(f.bool_tolerance); + break; + case CadFeatureType::Cut: + // Same as-of-timeline reasoning as Boolean: a Cut splits one body into two, so the + // live body list does not match the one this feature's target index was recorded + // against. Replay to just before it and the stored index lands on the right entry. + populate_body_choices(m_edit_index); + if (f.target_body >= 0 && f.target_body < int(m_cut_target->GetCount())) + m_cut_target->SetSelection(f.target_body); + else if (m_cut_target->GetCount() > 0) + m_cut_target->SetSelection(0); + populate_plane_choices(m_cut_plane); + m_cut_plane->SetSelection(index_from_plane(f.plane)); + m_cut_offset->SetValue(f.cut_offset); + break; + case CadFeatureType::SurfaceExtrude: + m_surf_extrude_distance->SetValue(f.distance); + m_surf_extrude_sketch_ref = f.sketch_ref; + if (m_surf_extrude_sketch_ref >= 0 && m_surf_extrude_sketch_ref < int(m_doc.features.size())) + m_surf_extrude_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_extrude_sketch_ref].name)); + break; + case CadFeatureType::SurfaceRevolve: + m_surf_revolve_angle->SetValue(f.revolve_angle); + m_surf_revolve_axis->SetSelection(f.revolve_axis); + m_surf_revolve_flip->SetValue(f.flip); + m_surf_revolve_sketch_ref = f.sketch_ref; + if (m_surf_revolve_sketch_ref >= 0 && m_surf_revolve_sketch_ref < int(m_doc.features.size())) + m_surf_revolve_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_revolve_sketch_ref].name)); + break; + case CadFeatureType::SurfaceLoft: + m_surf_loft_refs = f.loft_profile_refs; + m_surf_loft_ruled->SetValue(f.loft_ruled); + break; + case CadFeatureType::SurfaceFill: + m_surf_fill_sketch_ref = f.sketch_ref; + if (m_surf_fill_sketch_ref >= 0 && m_surf_fill_sketch_ref < int(m_doc.features.size())) + m_surf_fill_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_fill_sketch_ref].name)); + break; + case CadFeatureType::SurfaceOffset: + populate_sheet_body_choices(m_surf_offset_body); + m_surf_offset_distance->SetValue(f.plane_offset); + // target_body is a BODY index; the rows are sheets only, so match, don't index. + select_sheet_choice(m_surf_offset_body, f.target_body); + break; + case CadFeatureType::ThickenSurface: + populate_sheet_body_choices(m_surf_thicken_body); + m_surf_thicken_thickness->SetValue(f.thicken_thickness); + m_surf_thicken_flip->SetValue(f.thicken_flip); + select_sheet_choice(m_surf_thicken_body, f.target_body); + break; + case CadFeatureType::Transform: { + fill_body_choice(m_xf_body, m_edit_index, f.target_body); + m_xf_dx->SetValue(f.xf_translate.x()); + m_xf_dy->SetValue(f.xf_translate.y()); + m_xf_dz->SetValue(f.xf_translate.z()); + const int ax = (std::abs(f.xf_axis.x()) > 0.5) ? 0 : (std::abs(f.xf_axis.y()) > 0.5) ? 1 : 2; + m_xf_axis->SetSelection(ax); + m_xf_angle->SetValue(f.xf_angle_deg); + m_xf_pivot_x->SetValue(f.xf_pivot.x()); + m_xf_pivot_y->SetValue(f.xf_pivot.y()); + m_xf_pivot_z->SetValue(f.xf_pivot.z()); + m_xf_copy->SetValue(f.xf_copy); + break; + } + case CadFeatureType::Mirror: { + fill_body_choice(m_mirror_body, m_edit_index, f.target_body); + populate_plane_choices(m_mirror_plane); + m_mirror_plane->SetSelection(index_from_plane(f.plane)); + m_mirror_keep->SetValue(f.mirror_keep_original); + break; + } + case CadFeatureType::Thicken: { + fill_body_choice(m_thicken_body, m_edit_index, f.target_body); + m_sel_solid_face = f.thicken_face; + m_thicken_face_label->SetLabel(f.thicken_face >= 0 + ? wxString::Format(_L("Face %d"), f.thicken_face) + : _L("(pick a solid face)")); + m_thicken_thickness->SetValue(f.thicken_thickness); + m_thicken_flip->SetValue(f.thicken_flip); + break; + } + case CadFeatureType::Rib: { + fill_body_choice(m_rib_body, m_edit_index, f.target_body); + { + m_rib_sketch->Clear(); + int pre_sel = wxNOT_FOUND; + for (int i = 0; i < int(m_doc.features.size()); ++i) { + if (m_doc.features[i].type == CadFeatureType::Sketch) { + const int pos = combo_append_index(m_rib_sketch, + wxString::FromUTF8(m_doc.features[i].name), i); + if (i == f.rib_sketch_ref) pre_sel = pos; + } + } + if (pre_sel != wxNOT_FOUND) m_rib_sketch->SetSelection(pre_sel); + else if (m_rib_sketch->GetCount() > 0) m_rib_sketch->SetSelection(0); + } + m_rib_entity->SetValue(f.rib_entity); + m_rib_thickness->SetValue(f.rib_thickness); + m_rib_depth->SetValue(f.rib_depth); + break; + } + case CadFeatureType::Project: { + fill_body_choice(m_proj_source_body, m_edit_index, f.project_source_body); + populate_plane_choices(m_proj_plane); + m_proj_plane->SetSelection(index_from_plane(f.plane)); + m_sel_solid_face = f.project_face; + m_proj_face_label->SetLabel(f.project_face >= 0 + ? wxString::Format(_L("Face %d"), f.project_face) + : _L("(all edges)")); + break; + } + case CadFeatureType::DeleteFace: { + fill_body_choice(m_del_face_body, m_edit_index, f.target_body); + m_del_faces = f.delete_faces; + { + wxString s; + for (size_t i = 0; i < m_del_faces.size(); ++i) { + if (i > 0) s += ", "; + s += wxString::Format("Face %d", m_del_faces[i]); + } + m_del_face_list->SetLabel(s.empty() ? _L("(none)") : s); + } + break; + } + case CadFeatureType::Helix: + populate_plane_choices(m_helix_plane); + m_helix_plane->SetSelection(index_from_plane(f.plane)); + m_helix_radius->SetValue(f.helix_radius); + m_helix_pitch->SetValue(f.helix_pitch); + m_helix_height->SetValue(f.helix_height); + m_helix_left_handed->SetValue(f.helix_left_handed); + m_helix_taper->SetValue(f.helix_taper_deg); + break; + case CadFeatureType::Mate: + m_mate_kind->SetSelection(f.mate_kind); + // CoordSys pickers are repopulated by open_tool(Mate); pre-selection + // is done there too via the stored feature index. + m_mate_offset->SetValue(f.mate_offset); + m_mate_angle->SetValue(f.mate_angle); + m_mate_flip->SetValue(f.mate_flip); + break; + default: break; + } +} + +void DesignPanel::on_edit_feature() +{ + int sel = tree_selection(); + if (sel == wxNOT_FOUND) { + set_status(_L("Select a feature in the tree first")); + m_status->Refresh(); + return; + } + const CadFeature& f = m_doc.features[sel]; + reset_edit_state(); + + switch (f.type) { + case CadFeatureType::Sketch: + // Imported Text/SVG art has no editable sketch dialog — edit means + // move / scale its placement instead, behind the same Confirm/Cancel gate as + // the initial insert (Cancel = undo restores the prior placement). + if (!f.imported_regions.empty()) { + m_doc.checkpoint(); // undo boundary: re-placing imported art + on_transform_imported(sel); + m_insert_feat = sel; + open_insert_card(wxString::FromUTF8(f.name)); + break; + } + m_edit_index = sel; + if (!f.entities.empty()) { + // Entity sketcher: re-open the geometry for full in-canvas editing (handles, + // live quotes, regular-polygon drag) in the ENTITY sketch UI (the top sketch + // toolbar + session card), NOT the legacy parametric card. The commit handler + // replaces this feature in place (see m_edit_index). Hide its display overlay + // so the live tool is the only copy drawn. + set_ui_mode(UiMode::Sketch); + if (m_viewport) { + m_viewport->set_display_sketches({}); + m_viewport->edit_sketch(f.entities, f.entity_constraints, f.plane); + } + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Editing sketch — drag a handle or click a quote to edit")); + m_status->Refresh(); + } else { + load_feature_into_dialog(f); + open_tool(Tool::Sketch); + } + break; + case CadFeatureType::Extrude: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Extrude); + break; + case CadFeatureType::Fillet: + case CadFeatureType::Chamfer: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Dressup); + break; + case CadFeatureType::Hole: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Hole); + break; + case CadFeatureType::Thread: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Thread); + break; + case CadFeatureType::Shell: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Shell); + break; + case CadFeatureType::Revolve: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Revolve); + break; + case CadFeatureType::Sweep: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Sweep); + break; + case CadFeatureType::Pattern: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Pattern); + break; + case CadFeatureType::Plane: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Plane); + break; + case CadFeatureType::Axis: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Axis); + break; + case CadFeatureType::CoordSys: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::CoordSys); + break; + case CadFeatureType::Loft: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Loft); + break; + case CadFeatureType::Draft: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Draft); + break; + case CadFeatureType::Boolean: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Boolean); + break; + case CadFeatureType::SurfaceExtrude: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::SurfaceExtrude); + break; + case CadFeatureType::SurfaceRevolve: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::SurfaceRevolve); + break; + case CadFeatureType::SurfaceLoft: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::SurfaceLoft); + break; + case CadFeatureType::SurfaceFill: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::SurfaceFill); + break; + case CadFeatureType::SurfaceOffset: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::SurfaceOffset); + break; + case CadFeatureType::ThickenSurface: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::ThickenSurface); + break; + case CadFeatureType::Transform: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Transform); + break; + case CadFeatureType::Mirror: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Mirror); + break; + case CadFeatureType::Thicken: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Thicken); + break; + case CadFeatureType::Rib: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Rib); + break; + case CadFeatureType::Project: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Project); + break; + case CadFeatureType::DeleteFace: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::DeleteFace); + break; + case CadFeatureType::Helix: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Helix); + break; + case CadFeatureType::Mate: + m_edit_index = sel; + m_mate_kind->SetSelection(f.mate_kind); + m_mate_offset->SetValue(f.mate_offset); + m_mate_angle->SetValue(f.mate_angle); + m_mate_flip->SetValue(f.mate_flip); + open_tool(Tool::Mate); // populates CS pickers; pre-selects from current selection + // Now set the re-edit cs_a/cs_b after populating (override the open_tool default) + { + int pre_a = wxNOT_FOUND, pre_b = wxNOT_FOUND; + for (unsigned i = 0; i < m_mate_cs_a->GetCount(); ++i) { + const auto* cd = m_mate_cs_a->GetClientData(i); + if (cd && int(reinterpret_cast<intptr_t>(cd)) == f.mate_cs_a) pre_a = int(i); + } + for (unsigned i = 0; i < m_mate_cs_b->GetCount(); ++i) { + const auto* cd = m_mate_cs_b->GetClientData(i); + if (cd && int(reinterpret_cast<intptr_t>(cd)) == f.mate_cs_b) pre_b = int(i); + } + if (pre_a != wxNOT_FOUND) m_mate_cs_a->SetSelection(pre_a); + if (pre_b != wxNOT_FOUND) m_mate_cs_b->SetSelection(pre_b); + } + break; + case CadFeatureType::Cut: + m_edit_index = sel; + load_feature_into_dialog(f); + open_tool(Tool::Cut); + break; + case CadFeatureType::Import: + // An imported solid has no parameters to re-edit: its geometry is rigid data read + // from the file, not something rebuilt from numbers. Repositioning it is Transform's + // job, and that feature already exists — so point there rather than invent a dialog + // that would only duplicate it. (Imported 2D Text/SVG art is different and IS + // re-editable; it arrives as a Sketch feature with imported_regions, handled above.) + m_status->SetForegroundColour(wxNullColour); + set_status(_L("An imported solid has no parameters — use Transform to move or rotate it")); + m_status->Refresh(); + break; + default: + // Every CadFeatureType now has a case. Kept as a guard so a type added later + // announces itself instead of silently swallowing the Edit click. + m_status->SetForegroundColour(wxNullColour); + set_status(_L("This feature type can't be edited yet")); + m_status->Refresh(); + break; + } +} + +void DesignPanel::on_export_step() +{ + // Bake any open feature preview first, so the STEP matches what is shown (mirrors on_commit). + if (m_active != Tool::None) + confirm_tool(); + if (m_doc.bodies.empty()) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Nothing to export — add a feature first")); + m_status->Refresh(); + return; + } + wxFileDialog dlg(this, _L("Export STEP"), wxEmptyString, "model.step", + "STEP files (*.step;*.stp)|*.step;*.stp", + wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if (dlg.ShowModal() != wxID_OK) + return; + sync_body_xform(); // export bodies at their displayed Move-gizmo positions + std::string err; + const bool ok = m_doc.export_step(dlg.GetPath().ToUTF8().data(), m_body_xform, err); + m_status->SetForegroundColour(ok ? wxColour(120, 210, 120) : wxColour(235, 110, 110)); + set_status(ok ? _L("Exported STEP") + : _L("STEP export failed: ") + wxString::FromUTF8(err)); + m_status->Refresh(); +} + +void DesignPanel::on_commit() +{ + // A feature tool open with a live preview ghost (e.g. a fillet being previewed) is + // NOT yet part of the body. Apply it first so "Commit to Plate" ships exactly what + // is shown on screen, not the pre-feature solid. (confirm_tool() applies + closes.) + if (m_active != Tool::None) + confirm_tool(); + + if (m_doc.display_mesh.its.indices.empty()) { + set_status(_L("Nothing to commit — add a feature first")); + return; + } + ObjectList* obj_list = wxGetApp().obj_list(); + if (obj_list == nullptr) + return; + + // Multi-body: ship each (visible) body as its own plate object so they arrive on the + // slicer plate as independent, separately-arrangeable parts (Onshape "Commit all parts"). + // Hidden bodies are skipped — what you see on the Design plate is what gets committed. + sync_body_visible(); + rebuild_disp_meshes(); // ship moved bodies at their Move-gizmo positions + if (m_disp_body_meshes.size() > 1) { + int committed = 0; + for (size_t b = 0; b < m_disp_body_meshes.size(); ++b) { + if (b < m_body_visible.size() && !m_body_visible[b]) continue; // skip hidden + if (m_disp_body_meshes[b].its.indices.empty()) continue; + obj_list->load_mesh_object(m_disp_body_meshes[b], + "Design Body " + std::to_string(b + 1)); + ++committed; + } + if (committed == 0) { // every body hidden — nothing to ship + set_status(_L("All bodies hidden — show one before committing")); + return; + } + } else { + obj_list->load_mesh_object(m_disp_pick_mesh, "Design Body"); + } + + // Persist the editable parametric recipe alongside the committed meshes so the + // saved 3MF reopens with the full feature tree, not just the baked solid. An empty + // doc clears it, keeping non-CAD projects clean. + sync_recipe_to_model(); + + if (wxGetApp().mainframe != nullptr) + wxGetApp().mainframe->select_tab(TAB_ID_PREPARE); +} + +CadFeature DesignPanel::build_candidate(Tool t) const +{ + CadFeature f; + // EDIT MODE: a feature card edits only scalar parameters. The feature's structural + // identity — profile source (sketch_ref / entities / picked face), its plane, the + // up-to-face target and the target body — must be preserved from the feature being + // edited, NOT re-derived from the live tool state (which still reflects the last *add* + // flow). GUI extrudes carry their profile as `entities` with sketch_ref = -1, which the + // card never restores, so a fresh rebuild produced an empty profile -> a misplaced new + // box. Seed from the original; the cases below overlay card scalars and skip the + // structural assignments while editing. + const bool editing = (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size())); + if (editing) + f = m_doc.features[m_edit_index]; + switch (t) { + case Tool::Sketch: + f.type = CadFeatureType::Sketch; + f.shape = (m_shape->GetSelection() == 0) ? SketchShape::Rectangle : SketchShape::Circle; + // The plane is STRUCTURAL, like Extrude's profile source. While EDITING it is preserved + // from the seeded original — the card carries no plane control and the old combo silently + // collapsed a face plane to a base plane through the modeling origin. While ADDING it + // comes from what is picked in the viewport. e1p. + if (!editing) { wxString where; f.plane = sketch_plane_from_selection(where); } + f.width = m_width->GetValue(); + f.height = m_height->GetValue(); + f.radius = m_radius->GetValue(); + break; + case Tool::Extrude: + f.type = CadFeatureType::Extrude; + f.distance = m_distance->GetValue(); + f.symmetric = false; + f.extrude_end = static_cast<ExtrudeEnd>(m_extrude_end->GetSelection()); + f.distance2 = m_distance2->GetValue(); + f.taper_deg = m_taper->GetValue(); + f.flip = m_flip->GetValue(); + f.mode = (m_mode->GetSelection() == 0) ? BooleanMode::New + : (m_mode->GetSelection() == 1) ? BooleanMode::Add + : (m_mode->GetSelection() == 2) ? BooleanMode::Cut + : BooleanMode::Intersect; + // Profile source + up-to-face target are structural: re-derive them from the live + // tool state only when ADDING. While editing they are preserved from the seeded + // original (the card changed only depth/taper/flip/mode). + if (!editing) { + f.up_to_face = (f.extrude_end == ExtrudeEnd::UpToFace) ? m_sel_solid_face : -1; + if (m_extrude_face_src >= 0) { + // Face-as-profile extrude: the kernel grabs the body face by id. + f.extrude_src_face = m_extrude_face_src; + f.sketch_ref = -1; + } else if (extrude_uses_loop()) { + // Just the click-selected loop: carry its entity subset on the feature + // (sketch_ref = -1 -> build_sketch_wire uses f.entities). + f.sketch_ref = -1; + f.entities = m_viewport->selected_loop_entities(); + f.plane = m_doc.features[m_extrude_sketch_ref].plane; + } else { + f.sketch_ref = m_extrude_sketch_ref; + // On-face engraving Cut against the host body (matches the commit). + if (m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size()) + && m_doc.features[m_extrude_sketch_ref].import_on_face) + f.target_body = m_doc.features[m_extrude_sketch_ref].import_face_body; + } + } + break; + case Tool::Dressup: + f.type = (m_dressup_type->GetSelection() == 0) ? CadFeatureType::Fillet + : CadFeatureType::Chamfer; + f.dressup_size = m_dressup_size->GetValue(); + f.face_group = static_cast<FaceGroup>(m_face_group->GetSelection()); + // A click-selected solid edge overrides the face-group: dress THAT edge. + f.dressup_edge = m_sel_solid_edge; // -1 when no edge picked + break; + case Tool::Hole: + f.type = CadFeatureType::Hole; + f.plane = hole_plane(); + f.hole_diameter = m_hole_diameter->GetValue(); + f.hole_depth = m_hole_depth->GetValue(); + f.hole_through = m_hole_through->GetValue(); + f.hole_x = m_hole_x->GetValue(); + f.hole_y = m_hole_y->GetValue(); + if (m_hole_on_face) f.target_body = m_hole_face_body; // preview the right body + break; + case Tool::Thread: + f.type = CadFeatureType::Thread; + f.plane = thread_plane(); + f.thread_radius = m_thread_radius->GetValue() * 0.5; // field = diameter -> kernel radius + f.thread_pitch = m_thread_pitch->GetValue(); + f.thread_height = m_thread_height->GetValue(); + f.thread_depth = m_thread_depth->GetValue(); + f.thread_internal = m_thread_internal->GetValue(); + f.thread_x = m_thread_x->GetValue(); + f.thread_y = m_thread_y->GetValue(); + if (m_thread_on_face) f.target_body = m_thread_face_body; // tap the right body + break; + case Tool::Shell: + f.type = CadFeatureType::Shell; + f.shell_thickness = m_shell_thickness->GetValue(); + // A picked solid face opens the shell there; -1 = closed hollow. + f.shell_face = (m_sel_solid_face >= 0) ? m_sel_solid_face : -1; + break; + case Tool::Draft: + f.type = CadFeatureType::Draft; + f.draft_angle = m_draft_angle->GetValue(); + f.draft_face = (m_sel_solid_face >= 0) ? m_sel_solid_face : -1; + break; + case Tool::Revolve: + f.type = CadFeatureType::Revolve; + f.sketch_ref = m_revolve_sketch_ref; + f.revolve_angle = m_revolve_angle->GetValue(); + f.revolve_axis = m_revolve_axis->GetSelection(); + f.flip = m_revolve_flip->GetValue(); + f.mode = static_cast<BooleanMode>(m_revolve_mode->GetSelection()); + break; + case Tool::Sweep: { + f.type = CadFeatureType::Sweep; + f.sketch_ref = m_sweep_profile_ref; + const int sel = m_sweep_path ? m_sweep_path->GetSelection() : wxNOT_FOUND; + f.sweep_path_ref = (sel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_sweep_path->GetClientData(sel))) : -1; + f.mode = static_cast<BooleanMode>(m_sweep_mode->GetSelection()); + break; + } + case Tool::Pattern: + f.type = CadFeatureType::Pattern; + f.pattern_circular = (m_pattern_type->GetSelection() == 1); + f.pattern_count = int(m_pattern_count->GetValue()); + f.pattern_spacing = m_pattern_spacing->GetValue(); + f.pattern_dir = m_pattern_dir->GetSelection(); + f.pattern_angle = m_pattern_angle->GetValue(); + break; + case Tool::Plane: + f.type = CadFeatureType::Plane; + f.plane_base = m_plane_base->GetSelection(); + f.plane_offset = m_plane_offset->GetValue(); + f.plane_angle_tilt = m_plane_tilt->GetValue(); + f.plane_axis = m_plane_tilt_axis->GetSelection(); + apply_plane_refs(f); // plane_type + face/edge refs + u/v size from the card + break; + case Tool::Axis: + f.type = CadFeatureType::Axis; + apply_axis_refs(f); + break; + case Tool::CoordSys: + f.type = CadFeatureType::CoordSys; + apply_coordsys_refs(f); + break; + case Tool::Loft: { + f.type = CadFeatureType::Loft; + f.loft_ruled = m_loft_ruled->GetValue(); + f.mode = static_cast<BooleanMode>(m_loft_mode->GetSelection()); + f.loft_profile_refs.clear(); + for (unsigned i = 0; i < m_loft_list->GetCount(); ++i) + if (m_loft_list->IsChecked(i) && i < m_loft_sketch_idx.size()) + f.loft_profile_refs.push_back(m_loft_sketch_idx[i]); + break; + } + case Tool::Boolean: { + f.type = CadFeatureType::Boolean; + const int sel = m_bool_op->GetSelection(); + f.mode = (sel == 1) ? BooleanMode::Cut + : (sel == 2) ? BooleanMode::Intersect + : BooleanMode::Add; // 0 = Union + f.target_body = m_bool_target->GetSelection(); + f.bool_tool_body = m_bool_tool->GetSelection(); + f.bool_keep_tool = m_bool_keep->GetValue(); + f.bool_tolerance = m_bool_tol->GetValue(); // OCCT fuzzy: robust cut on near-coincident faces + break; + } + case Tool::Cut: + f.type = CadFeatureType::Cut; + f.plane = plane_from_choice(m_cut_plane->GetSelection()); + f.cut_offset = m_cut_offset->GetValue(); + f.cut_flip = false; + f.cut_keep_upper = true; // always split: keep both pieces as separate bodies + f.cut_keep_lower = true; + f.target_body = m_cut_target->GetSelection(); + break; + case Tool::SurfaceExtrude: + f.type = CadFeatureType::SurfaceExtrude; + f.sketch_ref = m_surf_extrude_sketch_ref; + f.distance = m_surf_extrude_distance->GetValue(); + break; + case Tool::SurfaceRevolve: + f.type = CadFeatureType::SurfaceRevolve; + f.sketch_ref = m_surf_revolve_sketch_ref; + f.revolve_angle = m_surf_revolve_angle->GetValue(); + f.revolve_axis = m_surf_revolve_axis->GetSelection(); + f.flip = m_surf_revolve_flip->GetValue(); + break; + case Tool::SurfaceLoft: { + f.type = CadFeatureType::SurfaceLoft; + f.loft_ruled = m_surf_loft_ruled->GetValue(); + f.loft_profile_refs.clear(); + for (unsigned i = 0; i < m_surf_loft_list->GetCount(); ++i) + if (m_surf_loft_list->IsChecked(i) && i < m_surf_loft_sketch_idx.size()) + f.loft_profile_refs.push_back(m_surf_loft_sketch_idx[i]); + break; + } + case Tool::SurfaceFill: + f.type = CadFeatureType::SurfaceFill; + f.sketch_ref = m_surf_fill_sketch_ref; + break; + case Tool::SurfaceOffset: { + f.type = CadFeatureType::SurfaceOffset; + f.target_body = sheet_choice_body(m_surf_offset_body); + f.plane_offset = m_surf_offset_distance->GetValue(); + break; + } + case Tool::ThickenSurface: { + f.type = CadFeatureType::ThickenSurface; + f.target_body = sheet_choice_body(m_surf_thicken_body); + f.thicken_thickness = m_surf_thicken_thickness->GetValue(); + f.thicken_flip = m_surf_thicken_flip->GetValue(); + break; + } + case Tool::Transform: { + f.type = CadFeatureType::Transform; + const int sel = m_xf_body->GetSelection(); + f.target_body = (sel != wxNOT_FOUND) ? sel : -1; + f.xf_translate = Vec3d(m_xf_dx->GetValue(), m_xf_dy->GetValue(), m_xf_dz->GetValue()); + const int ax = m_xf_axis->GetSelection(); + f.xf_axis = (ax == 0) ? Vec3d(1, 0, 0) : (ax == 1) ? Vec3d(0, 1, 0) : Vec3d(0, 0, 1); + f.xf_pivot = Vec3d(m_xf_pivot_x->GetValue(), m_xf_pivot_y->GetValue(), m_xf_pivot_z->GetValue()); + f.xf_angle_deg = m_xf_angle->GetValue(); + f.xf_copy = m_xf_copy->GetValue(); + break; + } + case Tool::Mirror: { + f.type = CadFeatureType::Mirror; + const int sel = m_mirror_body->GetSelection(); + f.target_body = (sel != wxNOT_FOUND) ? sel : -1; + f.plane = plane_from_choice(m_mirror_plane->GetSelection()); + f.mirror_keep_original = m_mirror_keep->GetValue(); + f.mode = f.mirror_keep_original ? BooleanMode::New : BooleanMode::Add; + break; + } + case Tool::Thicken: { + f.type = CadFeatureType::Thicken; + const int sel = m_thicken_body->GetSelection(); + f.target_body = (sel != wxNOT_FOUND) ? sel : -1; + f.thicken_face = (m_sel_solid_face >= 0) ? m_sel_solid_face : -1; + f.thicken_thickness = m_thicken_thickness->GetValue(); + f.thicken_flip = m_thicken_flip->GetValue(); + break; + } + case Tool::Rib: { + f.type = CadFeatureType::Rib; + const int bsel = m_rib_body->GetSelection(); + f.target_body = (bsel != wxNOT_FOUND) ? bsel : -1; + const int ssel = m_rib_sketch->GetSelection(); + f.rib_sketch_ref = (ssel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_rib_sketch->GetClientData(ssel))) : -1; + f.rib_entity = m_rib_entity->GetValue(); + f.rib_thickness = m_rib_thickness->GetValue(); + f.rib_depth = m_rib_depth->GetValue(); + break; + } + case Tool::Project: { + f.type = CadFeatureType::Project; + const int sel = m_proj_source_body->GetSelection(); + f.project_source_body = (sel != wxNOT_FOUND) ? sel : -1; + f.plane = plane_from_choice(m_proj_plane->GetSelection()); + if (m_sel_solid_face >= 0) { + f.project_face = m_sel_solid_face; + } else { + f.project_face = -1; + } + f.project_edges.clear(); // empty => use project_face + break; + } + case Tool::DeleteFace: { + f.type = CadFeatureType::DeleteFace; + const int sel = m_del_face_body->GetSelection(); + f.target_body = (sel != wxNOT_FOUND) ? sel : -1; + f.delete_faces = m_del_faces; + break; + } + case Tool::Helix: { + f.type = CadFeatureType::Helix; + f.plane = plane_from_choice(m_helix_plane->GetSelection()); + f.helix_radius = m_helix_radius->GetValue(); + f.helix_pitch = m_helix_pitch->GetValue(); + f.helix_height = m_helix_height->GetValue(); + f.helix_left_handed = m_helix_left_handed->GetValue(); + f.helix_taper_deg = m_helix_taper->GetValue(); + break; + } + case Tool::Mate: { + f.type = CadFeatureType::Mate; + f.mate_kind = m_mate_kind->GetSelection(); + f.mate_cs_a = m_mate_cs_a->GetSelection() != wxNOT_FOUND + ? int(reinterpret_cast<intptr_t>(m_mate_cs_a->GetClientData(m_mate_cs_a->GetSelection()))) : -1; + f.mate_cs_b = m_mate_cs_b->GetSelection() != wxNOT_FOUND + ? int(reinterpret_cast<intptr_t>(m_mate_cs_b->GetClientData(m_mate_cs_b->GetSelection()))) : -1; + f.mate_offset = m_mate_offset->GetValue(); + f.mate_angle = m_mate_angle->GetValue(); + f.mate_flip = m_mate_flip->GetValue(); + break; + } + case Tool::Insert: // imported art is committed by add_imported_sketch, not build_candidate + case Tool::None: + break; + } + // Boolean drives its own target/tool body from the card; every other tool targets the + // picked body (face-extrude reads its source face there, dress-up / hole / boolean-mode + // extrude mutate it). -1 when nothing is picked => auto (last body). + // Targeting the picked body is an ADD-time concern; while editing, the original feature's + // target_body is preserved from the seed (the card did not re-pick a body). + // HAZARD: this is a negative list, so a tool that picks its own body is broken by OMISSION — + // the card computes target_body and this line then throws it away. SurfaceOffset and + // ThickenSurface were missing: both read a SHEET body from their own combo and both had it + // overwritten with the picked SOLID's index. Any new card that picks a body belongs here. + if (!editing && m_active != Tool::Boolean && m_active != Tool::Cut + && m_active != Tool::Transform && m_active != Tool::Mirror && m_active != Tool::Thicken + && m_active != Tool::DeleteFace && m_active != Tool::Rib && m_active != Tool::Project + && m_active != Tool::Helix && m_active != Tool::SurfaceOffset + && m_active != Tool::ThickenSurface) + f.target_body = m_sel_solid_body; + return f; +} + +// Resolve the active Extrude's profile plane + a representative 2D centroid (arrow anchor) +// and push them to the viewport gizmo. Self-gates: clears the gizmo unless Extrude is open. +// Keep the Dress-up card honest about what Confirm will actually round: the single edge the +// user picked in the viewport, or the face-group. build_dressup reads m_sel_solid_edge first and +// only falls back to the group, so when an edge is picked the group combo is inert — grey it out +// rather than leave it showing a value it will not use. +void DesignPanel::sync_dressup_target() +{ + if (m_dressup_edge_label == nullptr) return; + const bool have_edge = (m_sel_solid_edge >= 0); + m_dressup_edge_label->SetLabel(have_edge + ? wxString::Format(_L("Edge %d"), m_sel_solid_edge) + : _L("(no edge picked — group below)")); + if (m_face_group != nullptr) m_face_group->Enable(!have_edge); + m_dressup_edge_label->Refresh(); +} + +void DesignPanel::update_fillet_gizmo() +{ + if (!m_viewport) return; + // Only while the Fillet/Chamfer card is open AND a solid EDGE is the target. Face-group + // dress-up (no picked edge) keeps the docked card with no in-canvas handle. The body centroid + // comes from the transformed display mesh so it matches the (transformed) edge sample points. + const bool ok = (m_active == Tool::Dressup) && m_sel_solid_edge >= 0 + && m_sel_solid_body >= 0 && m_sel_solid_body < int(m_disp_body_meshes.size()); + if (!ok) { m_viewport->clear_fillet_gizmo(); return; } + const Vec3d centroid = m_disp_body_meshes[m_sel_solid_body].bounding_box().center(); + m_viewport->begin_fillet_gizmo(centroid, m_dressup_size->GetValue()); +} + +// Push the active Hole card's plane + position + diameter/depth to the viewport gizmo. +// Grey the FEATURE buttons whose tool cannot run yet, and say why in the tooltip (o9j). +// Tommaso reported the array controls as MISSING; they were not, but Pattern with no body +// accepted the click, opened nothing, and wrote its refusal somewhere other than where the click +// happened — from the user's seat that is indistinguishable from a dead button. A control that +// cannot act should look like it cannot act, before it is pressed. +// +// Only the three top-level buttons that carry a body-count guard are gated. The same guard also +// appears on rows INSIDE the flyouts, and those stay live: a drawer holds sketch-only entries too, +// so disabling the drawer would hide tools that are perfectly usable. Their refusal message is +// still written, and now next to the geometry. +// +// The keyboard shortcuts (Shift+N / Shift+X / Shift+B) deliberately keep running the guarded +// action rather than being gated: a key press has no greyed-out state to see, so the sentence is +// the only feedback there is. +void DesignPanel::update_body_gates() +{ + const int n = int(m_doc.bodies.size()); + for (const BodyGate& g : m_body_gates) { + if (g.btn == nullptr) continue; + const bool live = n >= g.min_bodies; + g.btn->Enable(live); + g.btn->SetToolTip(live ? g.tip_live : g.tip_gated); + } +} + +// Self-gates: clears the gizmo unless the Hole card is open. +void DesignPanel::update_hole_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Hole) { m_viewport->clear_hole_gizmo(); return; } + const SketchPlane plane = hole_plane(); + m_viewport->set_hole_face_bounds(m_hole_has_bounds, m_hole_umin, m_hole_umax, + m_hole_vmin, m_hole_vmax); + m_viewport->begin_hole_gizmo(plane, + m_hole_x->GetValue(), m_hole_y->GetValue(), + m_hole_diameter->GetValue(), m_hole_depth->GetValue(), + m_hole_through->GetValue()); +} + +// Push the active Thread card's plane + position + radius/length to the viewport gizmo. +// Self-gates: clears the gizmo unless the Thread card is open. +void DesignPanel::update_thread_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Thread) { m_viewport->clear_thread_gizmo(); return; } + const SketchPlane plane = thread_plane(); + m_viewport->begin_thread_gizmo(plane, + m_thread_x->GetValue(), m_thread_y->GetValue(), + m_thread_radius->GetValue() * 0.5, m_thread_height->GetValue()); +} + +// Anchor an inward thickness arrow at the picked open face's centroid (along -outward-normal). +// Self-gates: clears unless the Shell card is open AND a face is picked. The face centroid/normal +// come from the kernel shape, then carry the body's display-only Move transform. +void DesignPanel::update_shell_gizmo() +{ + if (!m_viewport) return; + const int b = m_sel_solid_body; + const bool ok = (m_active == Tool::Shell) && m_sel_solid_face >= 0 + && b >= 0 && b < int(m_doc.bodies.size()); + if (!ok) { m_viewport->clear_shell_gizmo(); return; } + const TopoDS_Face fc = GeometryEngine::face_by_index(m_doc.bodies[b].shape, m_sel_solid_face); + if (fc.IsNull()) { m_viewport->clear_shell_gizmo(); return; } + Vec3d c = GeometryEngine::face_centroid_world(fc); + Vec3d n = GeometryEngine::face_normal_world(fc); + sync_body_xform(); + if (b < int(m_body_xform.size())) { + c = m_body_xform[b] * c; + n = m_body_xform[b].linear() * n; + } + if (n.norm() < 1e-9) { m_viewport->clear_shell_gizmo(); return; } + // Arrow points inward (into the wall): -outward normal. + m_viewport->begin_shell_gizmo(c, (-n).normalized(), m_shell_thickness->GetValue()); +} + +void DesignPanel::update_revolve_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Revolve + || m_revolve_sketch_ref < 0 || m_revolve_sketch_ref >= int(m_doc.features.size())) { + m_viewport->clear_revolve_gizmo(); + return; + } + const CadFeature& sk = m_doc.features[m_revolve_sketch_ref]; + // Profile centroid in sketch coords (same rule as the Extrude gizmo: average entity centres, + // else profile points, else the plane origin for primitive shapes). + Vec2d centroid(0, 0); + if (!sk.entities.empty()) { + Vec2d acc(0, 0); int n = 0; + for (const SketchEntity& e : sk.entities) { + switch (e.type) { + case SketchEntity::Type::Line: acc += 0.5 * (e.p0 + e.p1); ++n; break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + case SketchEntity::Type::Circle: + case SketchEntity::Type::Ellipse: acc += e.center; ++n; break; + case SketchEntity::Type::Point: acc += e.p0; ++n; break; + case SketchEntity::Type::BSpline: + if (!e.ctrl.empty()) { + Vec2d s(0, 0); for (const Vec2d& q : e.ctrl) s += q; + acc += s / double(e.ctrl.size()); ++n; + } + break; + } + } + if (n > 0) centroid = acc / double(n); + } else if (!sk.profile.points.empty()) { + for (const Vec2d& p : sk.profile.points) centroid += p; + centroid /= double(sk.profile.points.size()); + } + m_viewport->begin_revolve_gizmo(sk.plane, centroid, m_revolve_axis->GetSelection(), + m_revolve_angle->GetValue(), m_revolve_flip->GetValue()); +} + +void DesignPanel::update_draft_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Draft || m_sel_solid_face < 0 || m_sel_solid_body < 0 + || m_sel_solid_body >= int(m_doc.bodies.size())) { + m_viewport->clear_draft_gizmo(); + return; + } + const TopoDS_Face f = GeometryEngine::face_by_index(m_doc.bodies[m_sel_solid_body].shape, m_sel_solid_face); + const Vec3d c = GeometryEngine::face_centroid_world(f); + const Vec3d n = GeometryEngine::face_normal_world(f); + m_viewport->set_draft_gizmo(c, n, m_draft_angle->GetValue()); +} + +void DesignPanel::update_cut_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Cut) { m_viewport->clear_cut_gizmo(); return; } + const int bi = m_cut_target ? m_cut_target->GetSelection() : -1; + if (bi < 0 || bi >= int(m_doc.bodies.size()) || bi >= int(m_doc.display_body_meshes.size())) { + m_viewport->clear_cut_gizmo(); + return; + } + const SketchPlane plane = plane_from_choice(m_cut_plane->GetSelection()); + const BoundingBoxf3 bb = m_doc.display_body_meshes[bi].bounding_box(); + const Vec3d center = bb.center(); + const double half = std::max(0.5 * (bb.max - bb.min).norm(), 10.0); + m_viewport->set_cut_gizmo(plane, m_cut_offset->GetValue(), center, half); +} + +void DesignPanel::update_operand_highlight() +{ + if (!m_viewport) return; + // default: nothing highlighted + int bt = -1, bl = -1; + std::vector<std::pair<int, ColorRGBA>> sk; + if (m_active == Tool::Boolean) { + if (m_bool_target) bt = m_bool_target->GetSelection(); + if (m_bool_tool) bl = m_bool_tool->GetSelection(); + } else if (m_active == Tool::Sweep) { + if (m_sweep_profile_ref >= 0) sk.emplace_back(m_sweep_profile_ref, ColorRGBA(0.30f, 0.85f, 1.0f, 1.0f)); // profile = cyan + if (m_sweep_path_ref >= 0) sk.emplace_back(m_sweep_path_ref, ColorRGBA(1.00f, 0.40f, 0.90f, 1.0f)); // path = magenta + } else if (m_active == Tool::Loft) { + // checked rows of m_loft_list map to feature indices via m_loft_sketch_idx + // (exactly as build_candidate(Tool::Loft) reads them). + if (m_loft_list) + for (unsigned i = 0; i < m_loft_list->GetCount(); ++i) + if (m_loft_list->IsChecked(i) && i < m_loft_sketch_idx.size()) + sk.emplace_back(m_loft_sketch_idx[i], ColorRGBA(0.40f, 0.90f, 0.50f, 1.0f)); // profiles = green + } + m_viewport->set_operand_bodies(bt, bl); + m_viewport->set_highlight_sketches(std::move(sk)); +} + +void DesignPanel::update_pattern_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Pattern || m_doc.display_body_meshes.empty()) { + m_viewport->clear_pattern_gizmo(); + return; + } + // Pattern operates in the default world XY plane (matches the kernel: linear along world X/Y, + // circular about world Z through the origin). Anchor on the target body's bbox centre; if that + // body carries a display-only Move transform, shift the plane origin + anchor by it so the + // gizmo sits on the body where the ghost copies actually appear. + const int b = (m_sel_solid_body >= 0 && m_sel_solid_body < int(m_doc.display_body_meshes.size())) + ? m_sel_solid_body : int(m_doc.display_body_meshes.size()) - 1; + SketchPlane plane; // world XY axes by default + Vec3d base = m_doc.display_body_meshes[b].bounding_box().center(); + if (b < int(m_body_xform.size())) { + plane.origin = m_body_xform[b].translation(); + base = m_body_xform[b] * base; + } + m_viewport->begin_pattern_gizmo(plane, base, m_pattern_type->GetSelection() == 1, + int(m_pattern_count->GetValue()), m_pattern_dir->GetSelection(), + m_pattern_spacing->GetValue(), m_pattern_angle->GetValue()); +} + +void DesignPanel::update_extrude_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Extrude && m_active != Tool::SurfaceExtrude + && m_active != Tool::Thicken && m_active != Tool::Rib + && m_active != Tool::SurfaceOffset && m_active != Tool::ThickenSurface) { + m_viewport->clear_extrude_gizmo(); return; + } + + // SurfaceOffset and ThickenSurface: one distance each, applied to a whole SHEET body chosen + // from a combo. A sheet has no single normal, so there is no frame to anchor an arrow on — + // which is why these were the two tools left with no handle at all. + // + // The way out is not to change what the tool operates on. Both still offset or thicken the + // ENTIRE sheet named in the combo; the picked face only says WHERE TO STAND THE ARROW. So + // the arrow appears whenever the user has a face of that sheet under selection, and its + // absence costs nothing — the card alone still works exactly as before. Purely additive, so + // no existing flow changes and there is no new precondition to learn. + if (m_active == Tool::SurfaceOffset || m_active == Tool::ThickenSurface) { + const bool off = (m_active == Tool::SurfaceOffset); + const int sheet = sheet_choice_body(off ? m_surf_offset_body : m_surf_thicken_body); + // Only when the picked face belongs to the sheet the tool will actually act on: + // an arrow standing on a different body would name the wrong thing. + if (sheet < 0 || sheet >= int(m_doc.bodies.size()) + || m_sel_solid_body != sheet || m_sel_solid_face < 0) { + m_viewport->clear_extrude_gizmo(); return; + } + TopoDS_Face f = GeometryEngine::face_by_index(m_doc.bodies[sheet].shape, m_sel_solid_face); + if (f.IsNull()) { m_viewport->clear_extrude_gizmo(); return; } + SketchPlane plane = SketchPlane::from_face(f); + Vec3d c = GeometryEngine::face_centroid_world(f); + Vec3d n = GeometryEngine::face_normal_world(f); + if (f.Orientation() == TopAbs_REVERSED) n = -n; + sync_body_xform(); + if (sheet < int(m_body_xform.size())) { + c = m_body_xform[sheet] * c; + n = m_body_xform[sheet].linear() * n; + } + plane.origin = c; + if (n.norm() > 1e-9) plane.normal = n.normalized(); + wxSpinCtrlDouble* spin = off ? m_surf_offset_distance : m_surf_thicken_thickness; + m_viewport->set_extrude_gizmo(plane, Vec2d(0, 0), spin ? spin->GetValue() : 0.0, + 0.0, false, + !off && m_surf_thicken_flip && m_surf_thicken_flip->GetValue()); + return; + } + + if (m_active == Tool::Rib) { + // Rib's DEPTH is a distance along the sketch plane normal — the same arrow again, + // anchored at the midpoint of the line the rib is built on rather than at a profile + // centroid, because a rib's line is the whole profile. + // + // This covers only half of L2 for Rib: the THICKNESS is an in-plane offset either side + // of that line and has no handle, which needs an affordance that does not exist yet. + // Half a tool made draggable is still strictly better than none — the remaining half is + // filed separately rather than left implied. + const int ssel = m_rib_sketch ? m_rib_sketch->GetSelection() : wxNOT_FOUND; + const int ref = (ssel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_rib_sketch->GetClientData(ssel))) : -1; + if (ref < 0 || ref >= int(m_doc.features.size())) { m_viewport->clear_extrude_gizmo(); return; } + const CadFeature& sk = m_doc.features[ref]; + const int ei = m_rib_entity ? m_rib_entity->GetValue() : 0; + if (ei < 0 || ei >= int(sk.entities.size())) { m_viewport->clear_extrude_gizmo(); return; } + const SketchEntity& e = sk.entities[ei]; + const Vec2d mid = (e.type == SketchEntity::Type::Line) ? Vec2d(0.5 * (e.p0 + e.p1)) + : Vec2d(e.center); + m_viewport->set_extrude_gizmo(sk.plane, mid, + m_rib_depth ? m_rib_depth->GetValue() : 0.0, + 0.0, false, false); + return; + } + + if (m_active == Tool::SurfaceExtrude) { + const int ref = m_surf_extrude_sketch_ref; + if (ref < 0 || ref >= int(m_doc.features.size())) { m_viewport->clear_extrude_gizmo(); return; } + const CadFeature& sk = m_doc.features[ref]; + Vec2d c(0, 0); + if (!sk.profile.points.empty()) { + for (const Vec2d& p : sk.profile.points) c += p; + c /= double(sk.profile.points.size()); + } + m_viewport->set_extrude_gizmo(sk.plane, c, + m_surf_extrude_distance ? m_surf_extrude_distance->GetValue() : 0.0, + 0.0, false, false); + return; + } + + if (m_active == Tool::Thicken) { + const int b = m_sel_solid_body; + if (b < 0 || b >= int(m_doc.bodies.size()) || m_sel_solid_face < 0) { + m_viewport->clear_extrude_gizmo(); return; + } + TopoDS_Face f = GeometryEngine::face_by_index(m_doc.bodies[b].shape, m_sel_solid_face); + if (f.IsNull()) { m_viewport->clear_extrude_gizmo(); return; } + SketchPlane plane = SketchPlane::from_face(f); + Vec3d c = GeometryEngine::face_centroid_world(f); + Vec3d n = GeometryEngine::face_normal_world(f); + if (f.Orientation() == TopAbs_REVERSED) n = -n; // outward + sync_body_xform(); + if (b < int(m_body_xform.size())) { c = m_body_xform[b] * c; n = m_body_xform[b].linear() * n; } + plane.origin = c; + if (n.norm() > 1e-9) plane.normal = n.normalized(); + m_viewport->set_extrude_gizmo(plane, Vec2d(0, 0), + m_thicken_thickness ? m_thicken_thickness->GetValue() : 0.0, + 0.0, false, + m_thicken_flip && m_thicken_flip->GetValue()); + return; + } + + SketchPlane plane; + std::vector<SketchEntity> ents; + Vec2d centroid(0, 0); + bool have = false, have_centroid = false; + if (extrude_uses_loop()) { + plane = m_doc.features[m_extrude_sketch_ref].plane; + ents = m_viewport->selected_loop_entities(); + have = true; + } else if (m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size())) { + const CadFeature& sk = m_doc.features[m_extrude_sketch_ref]; + plane = sk.plane; + ents = sk.entities; + have = true; + if (ents.empty() && !sk.profile.points.empty()) { + for (const Vec2d& p : sk.profile.points) centroid += p; + centroid /= double(sk.profile.points.size()); + have_centroid = true; + } + // Primitive shape sketches (no entities/profile) are centred at the plane origin -> (0,0). + } else if (m_extrude_face_src >= 0 && !m_doc.bodies.empty()) { + // Face-as-profile (push/pull): anchor the arrow at the picked face's CENTROID, pointing + // along its outward normal. The face id is LOCAL to the owner body — route_feature reads + // it from `context` (the target, else the last body) — so look it up on that SAME body, + // never the whole-document compound (m_doc.body). from_face's plane origin sits at the + // plane's canonical point near the world origin, NOT on the face, which is why the arrow + // used to land on the bed. Carry the body's display Move transform so the arrow sits where + // the body is actually shown. + const int b = int(m_doc.bodies.size()) - 1; // matches route_feature's default context + TopoDS_Face srcf = GeometryEngine::face_by_index(m_doc.bodies[b].shape, m_extrude_face_src); + if (!srcf.IsNull()) { + plane = SketchPlane::from_face(srcf); + Vec3d c = GeometryEngine::face_centroid_world(srcf); + Vec3d n = GeometryEngine::face_normal_world(srcf); + if (srcf.Orientation() == TopAbs_REVERSED) n = -n; // outward, matches the kernel push + sync_body_xform(); + if (b < int(m_body_xform.size())) { c = m_body_xform[b] * c; n = m_body_xform[b].linear() * n; } + plane.origin = c; + if (n.norm() > 1e-9) plane.normal = n.normalized(); + have = true; + } + } + if (!have) { m_viewport->clear_extrude_gizmo(); return; } + + if (!ents.empty()) { + Vec2d acc(0, 0); int n = 0; + for (const SketchEntity& e : ents) { + switch (e.type) { + case SketchEntity::Type::Line: acc += 0.5 * (e.p0 + e.p1); ++n; break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + case SketchEntity::Type::Circle: + case SketchEntity::Type::Ellipse: acc += e.center; ++n; break; + case SketchEntity::Type::Point: acc += e.p0; ++n; break; + case SketchEntity::Type::BSpline: + if (!e.ctrl.empty()) { + Vec2d s(0, 0); for (const Vec2d& q : e.ctrl) s += q; + acc += s / double(e.ctrl.size()); ++n; + } + break; + } + } + if (n > 0) { centroid = acc / double(n); have_centroid = true; } + } + (void)have_centroid; // centroid defaults to (0,0) for primitive sketches + + const ExtrudeEnd end = static_cast<ExtrudeEnd>(m_extrude_end->GetSelection()); + m_viewport->set_extrude_gizmo(plane, centroid, + m_distance->GetValue(), m_distance2->GetValue(), + end == ExtrudeEnd::TwoSided, m_flip->GetValue()); +} + +void DesignPanel::refresh_datum_planes() +{ + if (!m_viewport) return; + std::vector<SketchPlane> dplanes; + for (const auto& dp : m_doc.resolve_datum_planes()) dplanes.push_back(dp.second); + // Parallel per-plane extents, in the SAME order resolve_datum_planes emits + // (enabled Plane features, document order), so each datum draws at its u/v size. + std::vector<Vec2d> dsizes; + for (const auto& f : m_doc.features) + if (f.type == CadFeatureType::Plane && f.enabled) + dsizes.emplace_back(f.plane_u_size, f.plane_v_size); + m_viewport->set_datum_planes(std::move(dplanes), std::move(dsizes)); + refresh_mate_connectors(); +} + +// Feed the connector frames to the viewport. resolve_datum_coordsys() emits them in document order +// over enabled CoordSys features, so the feature index can be recovered by walking the same filter — +// which is what tells us whether a given frame is the one the open Mate card will DRIVE. +void DesignPanel::refresh_mate_connectors() +{ + if (!m_viewport) return; + // Polarity is a property of the MATE, not of an open dialog: a connector that some committed + // mate drives must read as driven whenever it is on screen, or the glyph only tells the truth + // while a card happens to be open. The card, when open, wins — it is the live intent. + std::map<int, int> role_by_feature; // feature index -> 1 fixed, 2 driven + for (const CadFeature& mf : m_doc.features) { + if (mf.type != CadFeatureType::Mate || !mf.enabled) continue; + if (mf.mate_cs_a >= 0) role_by_feature[mf.mate_cs_a] = 1; + if (mf.mate_cs_b >= 0) role_by_feature[mf.mate_cs_b] = 2; + } + const int cs_a = (m_active == Tool::Mate && m_mate_cs_a) ? m_mate_cs_a->GetSelection() : -1; + const int cs_b = (m_active == Tool::Mate && m_mate_cs_b) ? m_mate_cs_b->GetSelection() : -1; + + std::vector<DesignSketchTool::MateConnectorGlyph> out; + // Origins, keyed both ways: a committed mate names its connectors by FEATURE index, the open + // card's combos by ordinal. Only resolved frames land here, so an unresolved end simply draws + // no pair line rather than a line to the origin of the world. + std::map<int, Vec3d> origin_by_feature, origin_by_ordinal; + const auto frames = m_doc.resolve_datum_coordsys(); + size_t k = 0; + for (size_t i = 0; i < m_doc.features.size() && k < frames.size(); ++i) { + const CadFeature& f = m_doc.features[i]; + if (f.type != CadFeatureType::CoordSys || !f.enabled) continue; + const auto& fr = frames[k]; + const int ordinal = int(k); + ++k; + if (!fr.error.empty()) continue; // unresolved: draw nothing, never a guess + DesignSketchTool::MateConnectorGlyph g; + g.origin = fr.origin; + g.x = fr.x; + g.y = fr.y; + const auto it = role_by_feature.find(int(i)); + g.role = (ordinal == cs_b) ? 2 : (ordinal == cs_a ? 1 + : (it != role_by_feature.end() ? it->second : 0)); + // A face-only connector whose face gave no usable in-plane edge fell back to the hint; that + // is the case the glyph has to confess rather than absorb. + g.roll_undefined = (f.coordsys_type == CoordSysType::FaceAndDirection + && f.coordsys_edge < 0); + origin_by_feature[int(i)] = g.origin; + origin_by_ordinal[ordinal] = g.origin; + out.push_back(g); + } + + std::vector<std::pair<Vec3d, Vec3d>> links; + auto add_link = [&links](const std::map<int, Vec3d>& m, int a, int b) { + const auto ia = m.find(a), ib = m.find(b); + if (ia != m.end() && ib != m.end()) links.emplace_back(ia->second, ib->second); + }; + for (const CadFeature& mf : m_doc.features) + if (mf.type == CadFeatureType::Mate && mf.enabled) + add_link(origin_by_feature, mf.mate_cs_a, mf.mate_cs_b); + if (cs_a >= 0 && cs_b >= 0 && cs_a != cs_b) + add_link(origin_by_ordinal, cs_a, cs_b); // the live pick, not yet committed + + m_viewport->set_mate_connectors(std::move(out)); + m_viewport->set_mate_links(std::move(links)); +} + +void DesignPanel::update_datum_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Plane) { m_viewport->clear_datum_gizmo(); update_reference_planes(); return; } + + // Resolve the candidate plane's FRAME against the doc. resolve_datum_planes() is const and + // doesn't rebuild bodies, so transiently swap/append the candidate to read its resolved frame, + // then restore — works for both a fresh (uncommitted) plane and an edit of a committed one. + CadFeature f = build_candidate(Tool::Plane); + const bool editing = (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size()) && + m_doc.features[m_edit_index].type == CadFeatureType::Plane); + CadFeature saved; + int slot; + if (editing) { saved = m_doc.features[m_edit_index]; m_doc.features[m_edit_index] = f; slot = m_edit_index; } + else { m_doc.features.push_back(f); slot = int(m_doc.features.size()) - 1; } + + auto datums = m_doc.resolve_datum_planes(); + // Ordinal of `slot` among enabled Plane features = its index in the resolved list. + int ord = -1; + for (int i = 0; i <= slot; ++i) + if (m_doc.features[i].type == CadFeatureType::Plane && m_doc.features[i].enabled) ++ord; + const bool ok = (ord >= 0 && ord < int(datums.size())); + SketchPlane frame; if (ok) frame = datums[ord].second; + + if (editing) m_doc.features[m_edit_index] = saved; else m_doc.features.pop_back(); + + if (!ok) { m_viewport->clear_datum_gizmo(); update_reference_planes(); return; } + + // Offset arrow anchor = the base/face origin (datum origin walked back along its normal by the + // offset). Works for both Offset-from-base (no tilt) and Offset-from-face exactly. + const Vec3d anchor = frame.origin - frame.normal * f.plane_offset; + const bool offset_on = (f.plane_type == PlaneType::Offset); + m_viewport->set_datum_gizmo(frame, f.plane_u_size, f.plane_v_size, + anchor, frame.normal, f.plane_offset, offset_on); + update_reference_planes(); // base ghosts (origins + datums) follow the tool/model state +} + +void DesignPanel::update_helix_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Helix) { m_viewport->clear_helix_gizmo(); return; } + m_viewport->set_helix_gizmo(plane_from_choice(m_helix_plane->GetSelection()), + m_helix_radius ? m_helix_radius->GetValue() : 0.0, + m_helix_pitch ? m_helix_pitch->GetValue() : 1.0, + m_helix_height ? m_helix_height->GetValue() : 0.0, + m_helix_taper ? m_helix_taper->GetValue() : 0.0, + m_helix_left_handed && m_helix_left_handed->GetValue()); +} + +void DesignPanel::update_rib_gizmo() +{ + if (!m_viewport) return; + if (m_active != Tool::Rib) { m_viewport->clear_rib_gizmo(); return; } + // Same resolution the Tool::Rib branch of update_extrude_gizmo() uses — the depth arrow and + // this share one sketch and one entity, and must never disagree about which line that is. + const int ssel = m_rib_sketch ? m_rib_sketch->GetSelection() : wxNOT_FOUND; + const int ref = (ssel != wxNOT_FOUND) + ? int(reinterpret_cast<intptr_t>(m_rib_sketch->GetClientData(ssel))) : -1; + if (ref < 0 || ref >= int(m_doc.features.size())) { m_viewport->clear_rib_gizmo(); return; } + const CadFeature& sk = m_doc.features[ref]; + const int ei = m_rib_entity ? m_rib_entity->GetValue() : 0; + if (ei < 0 || ei >= int(sk.entities.size())) { m_viewport->clear_rib_gizmo(); return; } + const SketchEntity& e = sk.entities[ei]; + if (e.type != SketchEntity::Type::Line) { m_viewport->clear_rib_gizmo(); return; } // rib is line-only + m_viewport->set_rib_gizmo(sk.plane, e.p0, e.p1, + m_rib_thickness ? m_rib_thickness->GetValue() : 0.0); +} + +// Onshape default planes: the XY/XZ/YZ reference planes are persistent, transparent, labelled, and +// larger than the bed — shown as the FALLBACK when there is no object yet. When the Plane tool is +// open they additionally surface existing datums so a base can be picked. Single authority for the +// reference-plane overlay (set/clear_base_pick). +void DesignPanel::update_reference_planes() +{ + if (!m_viewport) return; + // Default planes pass through the modeling origin (bed centre) — same point the kernel uses to + // resolve XY/XZ/YZ datum bases, so the ghosts, the datums and new sketches all coincide. + const Vec3d o = m_doc.modeling_origin; + SketchPlane xy = SketchPlane::XY(); xy.origin += o; + SketchPlane xz = SketchPlane::XZ(); xz.origin += o; + SketchPlane yz = SketchPlane::YZ(); yz.origin += o; + std::vector<SketchPlane> bp = { xy, xz, yz }; + std::vector<int> bi = { 0, 1, 2 }; + std::vector<std::string> bl = { "XY", "XZ", "YZ" }; + + if (m_active == Tool::Plane) { + // Base picking only makes sense for the Offset method (others reference faces/edges). + if (m_plane_type && (PlaneType)m_plane_type->GetSelection() == PlaneType::Offset) { + auto datums = m_doc.resolve_datum_planes(); // already in world coords (origin applied) + for (int i = 0; i < int(datums.size()); ++i) { + bp.push_back(datums[i].second); bi.push_back(3 + i); bl.push_back(datums[i].first); + } + m_viewport->set_base_pick(std::move(bp), std::move(bi), std::move(bl)); + } else { + m_viewport->clear_base_pick(); + } + return; + } + // Fallback (Onshape default planes): show the 3 reference planes while there is no SOLID body + // yet — so they persist through the 2D-sketch phase and reappear after a sketch is confirmed + // (a sketch creates no body). They no longer block selection: clicking existing geometry wins, + // a base-plane pick only fires on a click that hit nothing else (see on_mouse fall-through). + // Available while there is no solid yet OR while the user is actually choosing a sketch + // plane. The second half fixes a dead end: delete a sketch on a document that still has a + // body, press Sketch, and act_sketch says "click a face or a reference plane" — with the + // reference planes already taken away, because a body existed. The instruction was + // impossible to follow and there was no way to start a sketch at all short of finding a + // face to click. + // + // Not simply always-on: m_dbp_active both RENDERS and picks, so three translucent planes + // would otherwise float over every finished model. Tying them to Sketch mode shows them + // exactly when they are the thing being chosen, and hides them again on Finish. + if (m_doc.bodies.empty() || m_ui_mode == UiMode::Sketch) + m_viewport->set_base_pick(std::move(bp), std::move(bi), std::move(bl)); + else + m_viewport->clear_base_pick(); +} + +TriangleMesh DesignPanel::ghost_from_bodies(const std::vector<TriangleMesh>& per_body) const +{ + TriangleMesh out; + for (size_t b = 0; b < per_body.size(); ++b) { + TriangleMesh m = per_body[b]; + if (b < m_body_xform.size()) m.transform(m_body_xform[b]); + out.merge(m); + } + return out; +} + +bool DesignPanel::show_mate_ghost(int kind, int cs_a, int cs_b, + double offset, double angle_deg, bool flip, std::string& err) +{ + CadFeature cand; + cand.type = CadFeatureType::Mate; + cand.mate_kind = kind; + cand.mate_cs_a = cs_a; + cand.mate_cs_b = cs_b; + cand.mate_offset = offset; + cand.mate_angle = angle_deg; + cand.mate_flip = flip; + + TriangleMesh mesh; + std::vector<TriangleMesh> pbm; + if (!m_doc.preview(cand, mesh, pbm, err)) { + m_viewport->clear_preview(); + m_viewport->set_body_hidden(false); + return false; + } + m_viewport->set_preview_mesh(ghost_from_bodies(pbm)); + // The ghost is the WHOLE assembly in its post-mate pose, not an added lump, so the committed + // bodies have to go: left visible they would draw the mated body in both places at once and + // z-fight everything else against its own copy. Same reason Dressup and Draft hide them. + m_viewport->set_body_hidden(true); + return true; +} + +void DesignPanel::refresh_preview() +{ + if (m_active == Tool::None) { m_viewport->clear_preview(); return; } + + // Transform has no ghost: it moves an existing body rather than building a new one, so its + // preview IS the body, shown through the display transform the gizmo already drives. + if (m_active == Tool::Transform) { xf_live_preview(); return; } + + // Features that produce NO solid: a sketch, the three datums, a helix curve, and Project + // (which emits sketch entities). They have no ghost to build, so they must not go through + // the solid-preview path below — it finds nothing and reports "invalid: preview produced + // no geometry", which is what Axis / CoordSys / Helix / Project did on an empty document. + // route_feature() skips these for the same reason, so the two agree on what is not a solid. + if (m_active == Tool::Sketch || m_active == Tool::Plane || m_active == Tool::Axis || + m_active == Tool::CoordSys || m_active == Tool::Helix || m_active == Tool::Project) { + m_viewport->clear_preview(); + m_status->SetForegroundColour(wxColour(120, 210, 120)); + wxString ready; + switch (m_active) { + case Tool::Plane: ready = _L("Plane ready"); break; + case Tool::Axis: ready = _L("Axis ready"); break; + case Tool::CoordSys: ready = _L("Coord Sys ready"); break; + case Tool::Helix: ready = _L("Helix ready"); break; + case Tool::Project: ready = _L("Project ready"); break; + default: ready = _L("Sketch ready"); break; + } + set_status(ready); + for (wxButton* b : m_confirm_btns) if (b) b->Enable(true); + m_status->Refresh(); + update_datum_gizmo(); // Plane card: show/refresh the in-canvas resize handles + update_helix_gizmo(); // Helix card: draw the live curve + drag handles (no solid ghost) + return; + } + + if (m_active == Tool::Mate) { + // A mate produces no NEW geometry, but it MOVES a body — and the moved assembly is + // exactly the ghost worth showing. This branch used to clear the preview outright, + // saying a mate has no 3D ghost; the kernel had no such opinion (preview() routes a + // Mate candidate through apply_mate on a throwaway copy), so that one line was the + // whole of gap G3. The card's own gate stays: Confirm is disabled when <2 CoordSys + // exist or when A == B, because neither of those is a kernel error, only an unfinished + // form, and the kernel's message for them would be worse than these. + const bool has_two = m_mate_cs_a && m_mate_cs_a->GetCount() >= 2; + const int sel_a = has_two ? m_mate_cs_a->GetSelection() : wxNOT_FOUND; + const int sel_b = has_two ? m_mate_cs_b->GetSelection() : wxNOT_FOUND; + const bool same = has_two && sel_a != wxNOT_FOUND && sel_b != wxNOT_FOUND && sel_a == sel_b; + bool ok = has_two && !same; + if (!has_two) { + m_viewport->clear_preview(); + m_viewport->set_body_hidden(false); // the ghost replaced them; give them back + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate needs at least two CoordSys features")); + } else if (same) { + m_viewport->clear_preview(); + m_viewport->set_body_hidden(false); + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Mate: CS A and CS B must be different")); + } else { + sync_body_xform(); // same reason as the solid path below: drop stale per-body poses + const int cs_a = int(reinterpret_cast<intptr_t>(m_mate_cs_a->GetClientData(sel_a))); + const int cs_b = int(reinterpret_cast<intptr_t>(m_mate_cs_b->GetClientData(sel_b))); + std::string err; + ok = show_mate_ghost(m_mate_kind ? m_mate_kind->GetSelection() : 0, cs_a, cs_b, + m_mate_offset ? m_mate_offset->GetValue() : 0.0, + m_mate_angle ? m_mate_angle->GetValue() : 0.0, + m_mate_flip && m_mate_flip->GetValue(), err); + if (ok) { + m_status->SetForegroundColour(wxColour(120, 210, 120)); + set_status(_L("Mate ready")); + } else { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Invalid: ") + wxString::FromUTF8(err)); + } + } + for (wxButton* b : m_confirm_btns) if (b) b->Enable(ok); + m_status->Refresh(); + return; + } + + // Trim m_body_xform to the LIVE committed bodies before building the ghost. A move + // writes a per-body display transform keyed by index; if a moved body is later deleted + // or consumed, its stale transform must not survive and get re-applied to whatever new + // body lands at that index — that was painting fresh extrudes as a moved+rotated ghost + // far from the sketch. resize() drops entries beyond the current body count. + sync_body_xform(); + + CadFeature cand = build_candidate(m_active); + TriangleMesh mesh; + std::string err; + bool ok = false; + + // The body is displayed through its per-body Move transform (m_body_xform); the ghost is + // built from the untransformed kernel, so without this it floats back at the origin once a + // body has been moved. Re-merge the per-body ghost meshes with the same transforms applied. + auto ghost_from = [this](const std::vector<TriangleMesh>& pbm) { return ghost_from_bodies(pbm); }; + + const bool editing_single = (m_edit_index >= 0); + if (editing_single) { + // Edit-mode preview: stacking the candidate on top of the live body would + // re-apply the feature being edited (fillet-on-fillet) — wrong, and a + // source of OCCT failures. Instead evaluate the *replace* on a throwaway + // copy so the ghost is the true post-edit body. + CadDocument tmp = m_doc; + ok = tmp.replace_feature(m_edit_index, cand); + if (ok) mesh = ghost_from(tmp.display_body_meshes); else err = tmp.error; + } else { + std::vector<TriangleMesh> pbm; + ok = m_doc.preview(cand, mesh, pbm, err); + if (ok) mesh = ghost_from(pbm); + } + + if (ok) { + m_viewport->set_preview_mesh(mesh); + m_status->SetForegroundColour(wxColour(120, 210, 120)); // ok = green + set_status(wxString::Format(_L("Preview — %zu triangles"), mesh.its.indices.size())); + } else { + m_viewport->clear_preview(); + m_status->SetForegroundColour(wxColour(235, 110, 110)); // invalid = red + set_status(_L("Invalid: ") + wxString::FromUTF8(err)); + } + // Onshape parity: a broken candidate cannot be committed. Grey the active dialog's + // Confirm so the user sees the gate before clicking; the red status says why. + for (wxButton* b : m_confirm_btns) + if (b != nullptr) b->Enable(ok); + // Fillet/Chamfer/Draft: once the target edge/face yields a valid result, show ONLY the + // preview (hide the base bodies) so the user sees the finished shape, not the old solid + // doubled with the ghost. Before a valid pick the body stays visible so it can be picked. + m_viewport->set_body_hidden((m_active == Tool::Dressup || m_active == Tool::Draft) && ok); + m_status->Refresh(); + + // Refresh the in-canvas Extrude depth arrow (self-gates: only while the Extrude card is open). + update_extrude_gizmo(); + // Same for the Fillet/Chamfer radius arrow (self-gates: Dressup card + a picked edge). + update_fillet_gizmo(); + // Same for the Hole footprint circle + diameter/depth arrows (self-gates: Hole card). + update_hole_gizmo(); + // Same for the Thread footprint circle + radius/length arrows (self-gates: Thread card). + update_thread_gizmo(); + // Same for the Shell thickness arrow on the picked face (self-gates: Shell card + a face). + update_shell_gizmo(); + // Same for the Revolve angle-arc around the axis (self-gates: only while the Revolve card is open). + update_revolve_gizmo(); + // Same for the Draft angle-arc around the face centroid (self-gates: only while the Draft card is open). + update_draft_gizmo(); + // Same for the Cut plane-rectangle + offset arrow (self-gates: only while the Cut card is open). + update_cut_gizmo(); + // Same for the Pattern spacing arrow / angle-arc (self-gates: only while the Pattern card is open). + update_pattern_gizmo(); + // Datum-plane resize handles (self-gates: only while the Plane card is open). + update_datum_gizmo(); + // Helix curve + handles (self-gates: only while the Helix card is open). + update_helix_gizmo(); + // Rib slab footprint + thickness handles (self-gates: only while the Rib card is open). + update_rib_gizmo(); + update_operand_highlight(); +} + +// The tool-card frame is only worth drawing when a card is actually inside it — +// otherwise an empty bordered box floats above the feature tree. +void DesignPanel::update_cards_frame() +{ + if (m_cards == nullptr || m_cards->GetSizer() == nullptr) return; + wxSizer* root = m_form ? m_form->GetSizer() : nullptr; + if (root == nullptr) return; + bool any = false; + for (const wxSizerItem* it : m_cards->GetSizer()->GetChildren()) + if (it->IsShown()) { any = true; break; } + root->Show(m_cards, any, false); // non-recursive: don't re-show the hidden cards inside +} + +// Move/Rotate card: numeric entry that composes the same transform the drag gizmo builds — +// translation in world mm plus a rotation about the body's centroid, applied onto the pose the +// body had when Move opened (m_move_prev), so typing and dragging cannot fight each other. +void DesignPanel::apply_move_card() +{ + const int b = m_move_body; + if (b < 0 || b >= int(m_body_xform.size()) || b >= int(m_doc.display_body_meshes.size())) return; + + const double ang = m_move_angle ? m_move_angle->GetValue() * M_PI / 180.0 : 0.0; + const int ax = m_move_axis ? m_move_axis->GetSelection() : 2; + const Vec3d axis = (ax == 0) ? Vec3d::UnitX() : (ax == 1) ? Vec3d::UnitY() : Vec3d::UnitZ(); + const Vec3d d(m_move_dx ? m_move_dx->GetValue() : 0.0, + m_move_dy ? m_move_dy->GetValue() : 0.0, + m_move_dz ? m_move_dz->GetValue() : 0.0); + + // Rotate about the body's own centre, not the world origin. + const Vec3d pivot = m_move_prev * m_doc.display_body_meshes[b].bounding_box().center(); + Transform3d x = Transform3d::Identity(); + x.translate(d + pivot); + x.rotate(Eigen::AngleAxisd(ang, axis)); + x.translate(-pivot); + + m_body_xform[b] = x * m_move_prev; + feed_bodies(); + if (m_viewport) m_viewport->request_repaint(); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(_L("Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°"), + b + 1, d.x(), d.y(), d.z(), + m_move_angle ? m_move_angle->GetValue() : 0.0)); + m_status->Refresh(); +} + +void DesignPanel::show_move_card(bool show) +{ + if (m_box_move == nullptr || m_cards == nullptr || m_cards->GetSizer() == nullptr) return; + m_cards->GetSizer()->Show(m_box_move, show, true); + update_cards_frame(); + if (m_form) { m_form->Layout(); m_form->FitInside(); } +} + +// Push the tool's current parameters into the live sketch tool before Polygon starts. They +// come from the offer's Polygon submenu (or from the last choice made there), never from a card. +void DesignPanel::push_polygon_params() +{ + if (m_viewport == nullptr) return; + m_viewport->set_sketch_polygon_sides(m_poly_sides); + m_viewport->set_sketch_polygon_circumscribed(m_poly_circumscribed); +} + +void DesignPanel::open_tool(Tool t) +{ + m_active = t; + // Fillet/Chamfer/Draft no longer fade the body see-through; instead, once a valid target + // is picked, refresh_preview hides the base bodies entirely (preview-only). Keep it opaque + // here so the body is fully visible for picking the edge/face. + // Body focus follows the CoordSys card: entering any other tool drops it. Read it back + // from the combo rather than clearing outright — editing a CoordSys feature loads the + // card (and its body) BEFORE open_tool runs, and a blind clear would strand the viewport + // showing "Body N" while picking stayed unrestricted. + if (m_viewport) { m_viewport->set_body_translucent(false); m_viewport->set_body_hidden(false); + m_viewport->set_xray_focus(t == Tool::CoordSys && m_cs_body ? m_cs_body->GetSelection() - 1 : -1); } + wxSizer* s = m_cards->GetSizer(); + s->Show(m_box_sketch, t == Tool::Sketch, true); + s->Show(m_box_extrude, t == Tool::Extrude, true); + s->Show(m_box_dressup, t == Tool::Dressup, true); + s->Show(m_box_hole, t == Tool::Hole, true); + s->Show(m_box_thread, t == Tool::Thread, true); + s->Show(m_box_shell, t == Tool::Shell, true); + s->Show(m_box_revolve, t == Tool::Revolve, true); + s->Show(m_box_sweep, t == Tool::Sweep, true); + s->Show(m_box_pattern, t == Tool::Pattern, true); + s->Show(m_box_plane, t == Tool::Plane, true); + s->Show(m_box_axis, t == Tool::Axis, true); + s->Show(m_box_coordsys, t == Tool::CoordSys, true); + s->Show(m_box_loft, t == Tool::Loft, true); + s->Show(m_box_boolean, t == Tool::Boolean, true); + s->Show(m_box_cut, t == Tool::Cut, true); + s->Show(m_box_draft, t == Tool::Draft, true); + s->Show(m_box_surf_extrude, t == Tool::SurfaceExtrude, true); + s->Show(m_box_surf_revolve, t == Tool::SurfaceRevolve, true); + s->Show(m_box_surf_loft, t == Tool::SurfaceLoft, true); + s->Show(m_box_surf_fill, t == Tool::SurfaceFill, true); + s->Show(m_box_surf_offset, t == Tool::SurfaceOffset, true); + s->Show(m_box_surf_thicken, t == Tool::ThickenSurface, true); + s->Show(m_box_transform, t == Tool::Transform, true); + s->Show(m_box_mirror, t == Tool::Mirror, true); + s->Show(m_box_thicken, t == Tool::Thicken, true); + s->Show(m_box_rib, t == Tool::Rib, true); + s->Show(m_box_project, t == Tool::Project, true); + s->Show(m_box_delete_face, t == Tool::DeleteFace, true); + s->Show(m_box_helix, t == Tool::Helix, true); + s->Show(m_box_mate, t == Tool::Mate, true); + s->Show(m_box_insert, t == Tool::Insert, true); + s->Show(m_box_expr, m_edit_index >= 0, true); // expression binding available during edit only + + if (t == Tool::Mate) { + // Populate both CoordSys pickers with every CoordSys feature; store the real + // feature index in client data. Keep prior selection when re-editing. + int keep_a = -1, keep_b = -1; + if (m_mate_cs_a->GetCount() > 0 && m_mate_cs_a->GetSelection() != wxNOT_FOUND) { + const auto* cl = m_mate_cs_a->GetClientData(m_mate_cs_a->GetSelection()); + if (cl) keep_a = int(reinterpret_cast<intptr_t>(cl)); + } + if (m_mate_cs_b->GetCount() > 0 && m_mate_cs_b->GetSelection() != wxNOT_FOUND) { + const auto* cl = m_mate_cs_b->GetClientData(m_mate_cs_b->GetSelection()); + if (cl) keep_b = int(reinterpret_cast<intptr_t>(cl)); + } + m_mate_cs_a->Clear(); + m_mate_cs_b->Clear(); + for (int i = 0; i < int(m_doc.features.size()); ++i) { + if (m_doc.features[i].type != CadFeatureType::CoordSys) continue; + const wxString nm = wxString::FromUTF8(m_doc.features[i].name); + const int pos_a = combo_append_index(m_mate_cs_a, nm, i); + const int pos_b = combo_append_index(m_mate_cs_b, nm, i); + if (i == keep_a) m_mate_cs_a->SetSelection(pos_a); + if (i == keep_b) m_mate_cs_b->SetSelection(pos_b); + } + if (keep_a < 0 && m_mate_cs_a->GetCount() > 0) m_mate_cs_a->SetSelection(0); + if (keep_b < 0 && m_mate_cs_b->GetCount() > 0) m_mate_cs_b->SetSelection(0); + } + + if (t == Tool::Revolve && m_revolve_sketch_ref >= 0 + && m_revolve_sketch_ref < int(m_doc.features.size())) + m_revolve_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_revolve_sketch_ref].name)); + + if (t == Tool::Sweep) { + if (m_sweep_profile_ref >= 0 && m_sweep_profile_ref < int(m_doc.features.size())) + m_sweep_profile_label->SetLabel(_L("Profile: ") + + wxString::FromUTF8(m_doc.features[m_sweep_profile_ref].name)); + // Populate the path picker with every Sketch feature except the profile itself; + // the feature index rides in the entry's client data. Pre-select the stored path + // (re-edit), else the first available sketch. + m_sweep_path->Clear(); + int sel_idx = wxNOT_FOUND; + for (int i = 0; i < int(m_doc.features.size()); ++i) { + const CadFeature& sf = m_doc.features[i]; + if (sf.type != CadFeatureType::Sketch || i == m_sweep_profile_ref) continue; + const int pos = combo_append_index(m_sweep_path, wxString::FromUTF8(sf.name), i); + if (i == m_sweep_path_ref) sel_idx = pos; + } + if (sel_idx != wxNOT_FOUND) m_sweep_path->SetSelection(sel_idx); + else if (m_sweep_path->GetCount() > 0) m_sweep_path->SetSelection(0); + } + + if (t == Tool::Loft) { + // List every Sketch feature; the feature index for each row rides in + // m_loft_sketch_idx. Re-check the stored profile refs (re-edit). + m_loft_list->Clear(); + m_loft_sketch_idx.clear(); + for (int i = 0; i < int(m_doc.features.size()); ++i) { + const CadFeature& sf = m_doc.features[i]; + if (sf.type != CadFeatureType::Sketch) continue; + const int row = m_loft_list->Append(wxString::FromUTF8(sf.name)); + m_loft_sketch_idx.push_back(i); + if (std::find(m_loft_refs.begin(), m_loft_refs.end(), i) != m_loft_refs.end()) + m_loft_list->Check(row, true); + } + } + + if (t == Tool::SurfaceExtrude) { + if (m_surf_extrude_sketch_ref >= 0 && m_surf_extrude_sketch_ref < int(m_doc.features.size())) + m_surf_extrude_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_extrude_sketch_ref].name)); + } + + if (t == Tool::SurfaceRevolve) { + if (m_surf_revolve_sketch_ref >= 0 && m_surf_revolve_sketch_ref < int(m_doc.features.size())) + m_surf_revolve_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_revolve_sketch_ref].name)); + } + + if (t == Tool::SurfaceLoft) { + m_surf_loft_list->Clear(); + m_surf_loft_sketch_idx.clear(); + for (int i = 0; i < int(m_doc.features.size()); ++i) { + const CadFeature& sf = m_doc.features[i]; + if (sf.type != CadFeatureType::Sketch) continue; + const int row = m_surf_loft_list->Append(wxString::FromUTF8(sf.name)); + m_surf_loft_sketch_idx.push_back(i); + if (std::find(m_surf_loft_refs.begin(), m_surf_loft_refs.end(), i) != m_surf_loft_refs.end()) + m_surf_loft_list->Check(row, true); + } + } + + if (t == Tool::SurfaceFill) { + if (m_surf_fill_sketch_ref >= 0 && m_surf_fill_sketch_ref < int(m_doc.features.size())) + m_surf_fill_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_surf_fill_sketch_ref].name)); + } + + // Shell and Draft both take their face from the live pick at Confirm time, but until now + // only the PICK handler wrote their labels. So the natural order — pick the face, then open + // the card — left Shell reading "(all faces — closed hollow)" and Draft "(pick a side face)" + // while Confirm went on to use m_sel_solid_face regardless: the card described one operation + // and performed another. Initialise from the current selection here, exactly as Extrude does + // with m_extrude_face_src below. Skipped while re-editing, because load_feature_into_dialog + // has already written the label from the feature's own stored face and runs before this. + // Same reasoning for Dress-up, whose target is the picked EDGE (falling back to the group). + if (t == Tool::Dressup && m_edit_index < 0) + sync_dressup_target(); + + if (t == Tool::Shell && m_edit_index < 0) + m_shell_face_label->SetLabel(m_sel_solid_face >= 0 + ? wxString::Format(_L("Face %d"), m_sel_solid_face) + : _L("(all faces — closed hollow)")); + + if (t == Tool::Draft && m_edit_index < 0) + m_draft_face_label->SetLabel(m_sel_solid_face >= 0 + ? wxString::Format(_L("Face %d"), m_sel_solid_face) + : _L("(pick a side face)")); + + if (t == Tool::Extrude) { + if (m_extrude_face_src >= 0) + m_extrude_sketch_label->SetLabel( + wxString::Format(_L("Face %d (push/pull)"), m_extrude_face_src)); + else if (m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size())) + m_extrude_sketch_label->SetLabel(_L("Sketch: ") + + wxString::FromUTF8(m_doc.features[m_extrude_sketch_ref].name)); + // A fresh extrude defaults to New body — even when other bodies exist — so + // overlapping extrudes stay SEPARATE solids instead of silently fusing. Joining + // is opt-in (pick "Join"). Engraving art onto a face still defaults to Cut. + // (Edit-mode keeps the feature's stored mode, set below.) + if (m_edit_index < 0) { + const bool on_face_import = + m_extrude_sketch_ref >= 0 && m_extrude_sketch_ref < int(m_doc.features.size()) + && m_doc.features[m_extrude_sketch_ref].import_on_face; + if (on_face_import) { + m_mode->SetSelection(2); // Cut — engrave into the face + m_flip->SetValue(true); // extrude inward (the face normal points out) + } else { + m_mode->SetSelection(0); // New body (was: Add when a body already existed) + } + } + } + + // Retitle the active card's header: edit-mode shows the feature's real name, + // add-mode previews the type + next feature number (Onshape "Extrude 1"). + const bool editing = (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size())); + auto title = [&](const wxString& base) -> wxString { + return editing ? wxString::FromUTF8(m_doc.features[m_edit_index].name) + : base + wxString::Format(" %d", m_feature_counter + 1); + }; + switch (t) { + case Tool::Sketch: m_hdr_sketch->SetLabel(title(_L("Sketch"))); break; + case Tool::Extrude: m_hdr_extrude->SetLabel(title(_L("Extrude"))); break; + case Tool::Dressup: m_hdr_dressup->SetLabel(title( + m_dressup_type->GetSelection() == 0 ? _L("Fillet") : _L("Chamfer"))); break; + case Tool::Hole: m_hdr_hole->SetLabel(title(_L("Hole"))); break; + case Tool::Thread: m_hdr_thread->SetLabel(title(_L("Thread"))); break; + case Tool::Shell: m_hdr_shell->SetLabel(title(_L("Shell"))); break; + case Tool::Revolve: m_hdr_revolve->SetLabel(title(_L("Revolve"))); break; + case Tool::Sweep: m_hdr_sweep->SetLabel(title(_L("Sweep"))); break; + case Tool::Pattern: m_hdr_pattern->SetLabel(title(_L("Pattern"))); break; + case Tool::Plane: m_hdr_plane->SetLabel(title(_L("Plane"))); break; + case Tool::Loft: m_hdr_loft->SetLabel(title(_L("Loft"))); break; + case Tool::Draft: m_hdr_draft->SetLabel(title(_L("Draft"))); break; + case Tool::Boolean: m_hdr_boolean->SetLabel(title(_L("Boolean"))); break; + case Tool::Cut: m_hdr_cut->SetLabel(title(_L("Cut"))); break; + case Tool::Axis: m_hdr_axis->SetLabel(title(_L("Axis"))); break; + case Tool::CoordSys: m_hdr_coordsys->SetLabel(title(_L("Coord Sys"))); break; + case Tool::SurfaceExtrude: m_hdr_surf_extrude->SetLabel(title(_L("Surface Extrude"))); break; + case Tool::SurfaceRevolve: m_hdr_surf_revolve->SetLabel(title(_L("Surface Revolve"))); break; + case Tool::SurfaceLoft: m_hdr_surf_loft->SetLabel(title(_L("Surface Loft"))); break; + case Tool::SurfaceFill: m_hdr_surf_fill->SetLabel(title(_L("Surface Fill"))); break; + case Tool::SurfaceOffset: m_hdr_surf_offset->SetLabel(title(_L("Surface Offset"))); break; + case Tool::ThickenSurface: m_hdr_surf_thicken->SetLabel(title(_L("Thicken Surface"))); break; + case Tool::Transform: m_hdr_transform->SetLabel(title(_L("Transform"))); break; + case Tool::Mirror: m_hdr_mirror->SetLabel(title(_L("Mirror"))); break; + case Tool::Thicken: m_hdr_thicken->SetLabel(title(_L("Thicken"))); break; + case Tool::Rib: m_hdr_rib->SetLabel(title(_L("Rib"))); break; + case Tool::Project: m_hdr_project->SetLabel(title(_L("Project"))); break; + case Tool::DeleteFace: m_hdr_delete_face->SetLabel(title(_L("Delete Face"))); break; + case Tool::Helix: m_hdr_helix->SetLabel(title(_L("Helix"))); break; + case Tool::Mate: m_hdr_mate->SetLabel(title(_L("Mate"))); break; + case Tool::Insert: break; // header set by open_insert_card() + case Tool::None: break; + } + + // A card that consumes a face must say WHICH face the moment it appears. These labels used to + // be written only by the pick handler, which runs while a card is already open — so a card + // opened FROM a selection (the offer's whole premise) showed the previous pick, or the "(pick + // one)" placeholder over a face it was in fact about to use. Same law as the Construction + // toggle: a control that carries state has to show it. One writer, on open, for all three. + { + const bool have = m_sel_solid_face >= 0; + const wxString face_name = have ? wxString::Format(_L("Face %d"), m_sel_solid_face) : wxString(); + if (t == Tool::Thicken && m_thicken_face_label) + m_thicken_face_label->SetLabel(have ? face_name : _L("(pick a solid face)")); + if (t == Tool::Shell && m_shell_face_label) + m_shell_face_label->SetLabel(have ? face_name : _L("(all faces — closed hollow)")); + if (t == Tool::Draft && m_draft_face_label) + m_draft_face_label->SetLabel(have ? face_name : _L("(pick a side face)")); + } + + if (editing) { + populate_expr_fields(t); // field-name combo for this feature type + // Display current expression bindings on the edited feature + const CadFeature& ef = m_doc.features[m_edit_index]; + if (ef.expr.empty()) { + m_expr_status->SetLabel(_L("(no bindings)")); + m_expr_status->SetForegroundColour(dp_sec_text()); + } else { + wxString s; + for (const auto& [field, e] : ef.expr) { + if (!s.IsEmpty()) s += "; "; + s += wxString::FromUTF8(field) + " = " + wxString::FromUTF8(e); + } + m_expr_status->SetLabel(s); + m_expr_status->SetForegroundColour(dp_ctl_text()); + } + } + + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + update_action_bar(); // a tool is now active -> show the unified ✓/✗ + refresh_preview(); + + // Add-mode Transform arms the move gizmo on the card's body so the prominent verb is the + // geometry-first control; the card mirrors the drag. Edit mode keeps today's card-only path. + if (t == Tool::Transform && m_edit_index < 0) + arm_transform_gizmo(); + // Opening Boolean re-aims the viewport picks at the target slot, so the first click after + // the card appears always means "keep this one" regardless of what the last session did. + if (t == Tool::Boolean) + m_bool_next_slot = 0; +} + +void DesignPanel::close_tool() +{ + m_active = Tool::None; + set_active_tool_btn(nullptr); // clear the active-tool teal highlight + // Single revert point for the Transform gizmo: Esc, switching tools, and Cancel all pass + // through here, so the body is never left displaced by a Transform that wasn't committed. + xf_clear_preview(); + if (m_xf_gizmo_body >= 0) { + sync_body_xform(); + if (m_xf_gizmo_body < int(m_body_xform.size())) + m_body_xform[m_xf_gizmo_body] = m_xf_gizmo_base; + if (m_viewport) m_viewport->clear_move_gizmo(); + feed_bodies(); + m_xf_gizmo_body = -1; + m_move_body = -1; + } + if (m_viewport) { m_viewport->set_body_translucent(false); m_viewport->set_body_hidden(false); m_viewport->set_xray_focus(-1); } // restore the opaque solid + wxSizer* s = m_cards->GetSizer(); + s->Show(m_box_sketch, false, true); + s->Show(m_box_extrude, false, true); + s->Show(m_box_dressup, false, true); + s->Show(m_box_hole, false, true); + s->Show(m_box_thread, false, true); + s->Show(m_box_shell, false, true); + s->Show(m_box_revolve, false, true); + s->Show(m_box_sweep, false, true); + s->Show(m_box_pattern, false, true); + s->Show(m_box_plane, false, true); + s->Show(m_box_axis, false, true); + s->Show(m_box_coordsys, false, true); + s->Show(m_box_loft, false, true); + s->Show(m_box_boolean, false, true); + s->Show(m_box_cut, false, true); + s->Show(m_box_draft, false, true); + s->Show(m_box_surf_extrude, false, true); + s->Show(m_box_surf_revolve, false, true); + s->Show(m_box_surf_loft, false, true); + s->Show(m_box_surf_fill, false, true); + s->Show(m_box_surf_offset, false, true); + s->Show(m_box_surf_thicken, false, true); + s->Show(m_box_transform, false, true); + s->Show(m_box_mirror, false, true); + s->Show(m_box_thicken, false, true); + s->Show(m_box_rib, false, true); + s->Show(m_box_project, false, true); + s->Show(m_box_delete_face, false, true); + s->Show(m_box_helix, false, true); + s->Show(m_box_mate, false, true); + s->Show(m_box_insert, false, true); + s->Show(m_box_expr, false, true); + m_viewport->clear_preview(); + m_viewport->clear_extrude_gizmo(); + m_viewport->clear_fillet_gizmo(); + m_viewport->clear_hole_gizmo(); + m_viewport->clear_thread_gizmo(); + m_viewport->clear_shell_gizmo(); + m_viewport->clear_revolve_gizmo(); + m_viewport->clear_draft_gizmo(); + m_viewport->clear_cut_gizmo(); + m_viewport->clear_pattern_gizmo(); + m_viewport->clear_datum_gizmo(); + m_viewport->set_operand_bodies(-1, -1); + m_viewport->set_highlight_sketches({}); + update_reference_planes(); // back to no-tool: show the origin planes if there is no object yet + update_cards_frame(); m_form->Layout(); + m_form->FitInside(); + update_action_bar(); // no feature tool active -> hide the bar (unless a mode keeps it) +} + +void DesignPanel::confirm_tool() +{ + // One undo boundary per committed feature (Extrude/Dressup/Hole/Thread/Shell, the + // legacy Sketch card via on_add_sketch, and edit-mode replace all funnel here). + m_doc.checkpoint(); + const bool editing_single = (m_edit_index >= 0); + + if (editing_single) { + // Edit mode: overwrite the existing feature instead of appending. + CadFeature cand = build_candidate(m_active); + bool ok = m_doc.replace_feature(m_edit_index, cand); + reset_edit_state(); + close_tool(); // clears the preview ghost + after_tree_edit(ok); // refresh tree/viewport/status (or "Edit rejected") + return; + } + + switch (m_active) { + case Tool::Sketch: on_add_sketch(); break; + case Tool::Extrude: on_add_extrude(); break; + case Tool::Dressup: on_add_dressup(); break; + case Tool::Hole: on_add_hole(); break; + case Tool::Thread: on_add_thread(); break; + case Tool::Shell: on_add_shell(); break; + case Tool::Revolve: on_add_revolve(); break; + case Tool::Sweep: on_add_sweep(); break; + case Tool::Pattern: on_add_pattern(); break; + case Tool::Plane: if (!on_add_plane()) return; break; // refused: keep the card and its picks + case Tool::Loft: on_add_loft(); break; + case Tool::Draft: on_add_draft(); break; + case Tool::Boolean: on_add_boolean(); break; + case Tool::Cut: on_add_cut(); break; + case Tool::Axis: on_add_axis(); break; + case Tool::CoordSys: on_add_coordsys(); break; + case Tool::Mate: on_add_mate(); break; + case Tool::SurfaceExtrude: on_add_surface_extrude(); break; + case Tool::SurfaceRevolve: on_add_surface_revolve(); break; + case Tool::SurfaceLoft: on_add_surface_loft(); break; + case Tool::SurfaceFill: on_add_surface_fill(); break; + case Tool::SurfaceOffset: on_add_surface_offset(); break; + case Tool::ThickenSurface: on_add_thicken_surface(); break; + case Tool::Transform: on_add_transform(); break; + case Tool::Mirror: on_add_mirror(); break; + case Tool::Thicken: on_add_thicken(); break; + case Tool::Rib: on_add_rib(); break; + case Tool::Project: on_add_project(); break; + case Tool::DeleteFace: on_add_delete_face(); break; + case Tool::Helix: on_add_helix(); break; + case Tool::Insert: return; // committed via finalize_insert(), never here + case Tool::None: return; + } + close_tool(); // also clears the preview ghost; the committed body is now shown +} + +void DesignPanel::cancel_tool() +{ + reset_edit_state(); // abort an in-progress edit: back to add-mode + close_tool(); + // Cancel discards the candidate: clear the stale "Preview …"/"Invalid …" + // label and restore the neutral idle colour (Confirm keeps its "OK" status). + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); +} + +// One Confirm surface for the whole tab. Routes to the right commit by current context: +// a feature card, the Insert placement, the Sketch session, or the Constrain session. +void DesignPanel::tool_confirm() +{ + if (m_value_cont) { confirm_value(); return; } // value card owns ribbon ✓ while a value is pending + if (m_active == Tool::None && m_viewport && m_viewport->moving_body()) { // keep the placement, drop the gizmo + m_viewport->clear_move_gizmo(); + m_move_body = -1; + show_move_card(false); + update_action_bar(); + set_status_ok(); + return; + } + if (m_active == Tool::Insert) { finalize_insert(); return; } + if (m_active != Tool::None) { confirm_tool(); return; } + if (m_ui_mode == UiMode::Sketch) { + if (m_viewport && m_viewport->is_sketching()) m_viewport->finish_sketch(); + set_ui_mode(UiMode::Feature); + return; + } + if (m_ui_mode == UiMode::Constrain) { + cancel_value(); + if (m_viewport) m_viewport->end_constrain(); + m_constrain_feat = -1; + set_ui_mode(UiMode::Feature); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + } +} + +// One Cancel/exit surface (also bound to Esc). Discards the active feature/insert, or a +// drawn-but-uncommitted Sketch, or exits Constrain. +void DesignPanel::tool_cancel() +{ + if (m_value_cont) { cancel_value(); return; } // value card owns ribbon ✗ while a value is pending + if (m_active == Tool::None && m_viewport && m_viewport->moving_body()) { // revert to the pose at move-start + sync_body_xform(); + if (m_move_body >= 0 && m_move_body < int(m_body_xform.size())) + m_body_xform[m_move_body] = m_move_prev; + m_viewport->clear_move_gizmo(); + m_move_body = -1; + show_move_card(false); + feed_bodies(); // re-render the reverted placement + update_action_bar(); + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Move cancelled")); + m_status->Refresh(); + return; + } + if (m_active == Tool::Insert) { cancel_insert(); return; } + if (m_active != Tool::None) { cancel_tool(); return; } + if (m_ui_mode == UiMode::Sketch) { + // THE explicit discard. Esc no longer arrives here at all (it routes through escape(), + // which cannot destroy anything), so this button is now the only way a drawn sketch is + // thrown away — and being the only way, it has to ask. It used to refuse instead, telling + // the user to press the very button they had just pressed: a sketch could be kept but + // never discarded. + if (m_viewport && m_viewport->live_sketch_has_work()) { + wxMessageDialog dlg(this, + _L("Discard this sketch and everything drawn in it?"), + _L("Discard sketch"), + wxYES_NO | wxNO_DEFAULT | wxICON_EXCLAMATION); + dlg.SetYesNoLabels(_L("Discard"), _L("Keep drawing")); + if (dlg.ShowModal() != wxID_YES) return; + } + if (m_viewport) m_viewport->cancel_sketch(); // drop the live session (committed art stays) + m_edit_index = -1; + set_ui_mode(UiMode::Feature); + sync_sketch_display(); + refresh_tree(); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + return; + } + if (m_ui_mode == UiMode::Constrain) { + cancel_value(); + if (m_viewport) m_viewport->end_constrain(); + m_constrain_feat = -1; + set_ui_mode(UiMode::Feature); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + } +} + +// Which level of the interaction stack one Esc press belongs to. The rule itself lives in +// DesignInteraction.hpp, decidable without a window; this only answers the four questions it +// asks about THIS panel. +CadLevel DesignPanel::escape_level() const +{ + CadInteractionState st; + // A value being typed is the deepest thing on screen, whether it is the in-canvas floating + // field or the panel's value card: both are "a number you are in the middle of entering". + st.value_field_open = (m_value_cont != nullptr) + || (m_viewport && m_viewport->inline_busy()); + // An uncommitted delta: clicks are down on an entity that does not exist yet, or a body is + // being moved by a gizmo that has not been confirmed. + st.gesture_active = m_viewport + && (m_viewport->drawing_in_progress() + || (m_active == Tool::None && m_viewport->moving_body())); + // Something is armed and waiting for input: a feature card, a sketch draw tool, Constrain. + // A sketch SESSION is deliberately not in this list — see escape(). + st.tool_armed = (m_active != Tool::None) + || m_ui_mode == UiMode::Constrain + || (m_ui_mode == UiMode::Sketch && m_viewport && !m_viewport->sketch_is_selecting()); + st.has_selection = m_viewport && m_viewport->has_any_selection(); + return cad_escape_level(st); +} + +// Esc: unwind exactly one level. Nothing here deletes a feature, discards geometry or touches +// history — those need Delete/Backspace on a selection, the sketch banner's Cancel, or Ctrl+Z. +void DesignPanel::escape() +{ + switch (escape_level()) { + case CadLevel::Transient: + // Close just the field. The tool stays armed and the geometry is untouched, which is the + // whole reason this level exists: dismissing a number people press Esc for reflexively + // used to cascade down the stack and take the sketch with it. + if (m_value_cont) { cancel_value(); return; } + if (m_viewport) { m_viewport->inline_cancel(); return; } + return; + + case CadLevel::Gesture: + // Restore the state from before the uncommitted delta. Drawing: drop the clicks, keep the + // tool armed so the next click starts a fresh entity. Moving: tool_cancel's move branch + // puts the body back at the pose it had when the gizmo appeared. + if (m_viewport && m_viewport->drawing_in_progress()) { + m_viewport->sketch_abort_gesture(); + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + return; + } + tool_cancel(); + return; + + case CadLevel::Tool: + // Back to the idle state of whatever environment we are in. A feature card discards its + // CANDIDATE (never a committed feature — in edit mode reset_edit_state only forgets which + // feature was being edited, the feature itself is untouched); an armed sketch tool falls + // back to Select, leaving every entity already drawn exactly where it is. + if (m_active != Tool::None || m_ui_mode == UiMode::Constrain) { tool_cancel(); return; } + if (m_viewport && m_viewport->sketch_disarm_tool()) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Select")); + m_status->Refresh(); + } + return; + + case CadLevel::Idle: + // Deselect. In a sketch this is the floor: the session is left through Finish or Cancel, + // both of which say which one they are, and never through a key pressed on the way out of + // something else. + if (m_viewport && m_viewport->clear_any_selection()) { + m_sel_sketch_region = -1; + m_sel_sketch_feat = -1; + m_status->SetForegroundColour(wxNullColour); + set_status(wxString()); + m_status->Refresh(); + return; + } + // Nothing selected and nothing to unwind. An EMPTY sketch session may as well close — + // there is no work to lose, so this cannot be the destructive case, and being unable to + // leave a sketch you have not drawn in yet is its own small trap. + if (m_ui_mode == UiMode::Sketch && m_viewport && !m_viewport->live_sketch_has_work()) { + m_viewport->request_sketch_exit(); + return; + } + if (m_ui_mode == UiMode::Sketch) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Sketch kept — Finish to commit it, Cancel to discard")); + m_status->Refresh(); + } + return; + } +} + +void DesignPanel::update_undo_redo_buttons() +{ + // Grey Undo/Redo to mirror exactly what do_undo_redo will do: it acts only in Feature + // mode with no tool/dialog open (otherwise Esc is the way out), so reflect that gate here + // as well as the document's available history. + if (m_btn_undo == nullptr || m_btn_redo == nullptr) return; + const bool gated = (m_ui_mode != UiMode::Feature) || (m_active != Tool::None); + m_btn_undo->Enable(!gated && m_doc.can_undo()); + m_btn_redo->Enable(!gated && m_doc.can_redo()); +} + +void DesignPanel::update_action_bar() +{ + update_undo_redo_buttons(); // mode/tool changes flip the do_undo_redo gate -> refresh greying + if (m_tb_action == nullptr || m_toolbar == nullptr) return; + wxSizer* s = m_toolbar->GetSizer(); + if (s == nullptr) return; + const bool active = (m_active != Tool::None) + || m_ui_mode == UiMode::Sketch + || m_ui_mode == UiMode::Constrain + || (m_viewport && m_viewport->moving_body()); + s->Show(m_tb_action, active, true); + // HIDING THE BAR ORPHANS THE KEYBOARD, and that is the "app does not consent to sketch" + // report. The ✓/✗ live in this bar, so the click that confirms a feature leaves focus on a + // button that this very call then hides. wx does not hand that focus anywhere useful, and + // wxEVT_CHAR_HOOK is bound on THIS PANEL — it is delivered to the focused window and + // propagates up the parent chain, so with focus outside the panel every Design shortcut + // stops arriving. Measured on the rig: after Confirm, shift+S produced ZERO CHAR_HOOK lines + // (not even the modifier), while X kept focus on the main window throughout — so it was + // never a window-manager problem. One bare canvas click restored it, which is exactly the + // workaround users found and reported as "shift+s works but it is not intuitive". + // The canvas is the right owner of the keyboard in this tab, so give it back explicitly. + if (!active && m_viewport != nullptr) { + wxWindow* f = wxWindow::FindFocus(); + bool in_bar = (f == nullptr); + for (wxWindow* w = f; w != nullptr && !in_bar; w = w->GetParent()) + if (w == m_toolbar) in_bar = true; // the bar is a sizer; its buttons parent to m_toolbar + if (in_bar) m_viewport->SetFocus(); + } + m_toolbar->Layout(); + m_toolbar->FitInside(); // refresh scroll range when the action bar shows/hides +} + +void DesignPanel::do_undo_redo(bool redo) +{ + // v1: act only in Feature mode. While authoring/constraining a sketch (m_ui_mode) or + // with a feature dialog open (m_active), Esc/Cancel is the way out — popping committed + // history mid-tool would be ambiguous (and could orphan the tool's referenced feature). + if (m_ui_mode != UiMode::Feature || m_active != Tool::None) { + m_status->SetForegroundColour(wxNullColour); + set_status(_L("Finish or cancel the current tool first (Esc)")); + m_status->Refresh(); + return; + } + const bool ok = redo ? m_doc.redo() : m_doc.undo(); + if (!ok) { + m_status->SetForegroundColour(wxNullColour); + set_status(redo ? _L("Nothing to redo") : _L("Nothing to undo")); + m_status->Refresh(); + return; + } + // The solid whole/face/edge pick and any in-place edit reference ids that recompute() + // invalidates — drop them before refreshing from the restored document. + m_sel_solid_body = m_sel_solid_face = m_sel_solid_edge = -1; + m_pick_face = m_pick_face_body = -1; // recompute() invalidated the face ids too + reset_edit_state(); + after_tree_edit(true); // refresh tree + viewport meshes + status from the restored doc + m_status->SetForegroundColour(wxNullColour); + set_status(wxString::Format(redo ? _L("Redo (%zu more)") : _L("Undo (%zu more)"), + redo ? m_doc.redo_depth() : m_doc.undo_depth())); + m_status->Refresh(); +} + +// --- Document variables panel --------------------------------------------------------- + +void DesignPanel::refresh_variables() +{ + if (!m_var_list) return; + m_var_list->DeleteAllItems(); + int row = 0; + for (const auto& [name, expr] : m_doc.variables) { + m_var_list->InsertItem(row, wxString::FromUTF8(name)); + m_var_list->SetItem(row, 1, wxString::FromUTF8(expr)); + ++row; + } +} + +void DesignPanel::on_add_variable() +{ + wxString name = ::wxGetTextFromUser(_L("Variable name:"), _L("Add Variable"), "", this); + if (name.IsEmpty()) return; + name.Trim(true).Trim(false); + if (name.Contains(' ')) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("Variable name must not contain spaces")); + m_status->Refresh(); + return; + } + wxString expr = ::wxGetTextFromUser( + wxString::Format(_L("Expression for '%s':"), name), + _L("Add Variable"), "0", this); + if (expr.IsEmpty()) return; + + const std::string name_str = name.ToUTF8().data(); + const std::string expr_str = expr.ToUTF8().data(); + + m_doc.checkpoint(); + m_doc.variables[name_str] = expr_str; + bool ok = m_doc.recompute(); + // undo() recomputes, which SUCCEEDS and clears doc.error — so the reason the edit was + // rejected is gone before anything can display it. Carry it across the rollback. + if (!ok) { const std::string why = m_doc.error; m_doc.undo(); m_doc.error = why; } + after_tree_edit(ok); + refresh_variables(); +} + +void DesignPanel::on_edit_variable() +{ + if (!m_var_list) return; + const long sel = m_var_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + if (sel < 0) { + set_status(_L("Select a variable first")); + m_status->Refresh(); + return; + } + const std::string name_str = m_var_list->GetItemText(sel, 0).ToUTF8().data(); + const std::string old_expr = m_var_list->GetItemText(sel, 1).ToUTF8().data(); + wxString expr = ::wxGetTextFromUser( + wxString::Format(_L("Expression for '%s':"), m_var_list->GetItemText(sel, 0)), + _L("Edit Variable"), wxString::FromUTF8(old_expr), this); + if (expr.IsEmpty()) return; + + const std::string expr_str = expr.ToUTF8().data(); + m_doc.checkpoint(); + m_doc.variables[name_str] = expr_str; + bool ok = m_doc.recompute(); + // undo() recomputes, which SUCCEEDS and clears doc.error — so the reason the edit was + // rejected is gone before anything can display it. Carry it across the rollback. + if (!ok) { const std::string why = m_doc.error; m_doc.undo(); m_doc.error = why; } + after_tree_edit(ok); + refresh_variables(); +} + +void DesignPanel::on_remove_variable() +{ + if (!m_var_list) return; + const long sel = m_var_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + if (sel < 0) { + set_status(_L("Select a variable first")); + m_status->Refresh(); + return; + } + const std::string name_str = m_var_list->GetItemText(sel, 0).ToUTF8().data(); + + m_doc.checkpoint(); + m_doc.variables.erase(name_str); + bool ok = m_doc.recompute(); + if (!ok) { + // Capture before undo(): its recompute succeeds and clears doc.error. + const std::string why = m_doc.error; + m_doc.undo(); + // Almost always a feature expr still referencing the variable — but say so as the + // likely cause and keep the real message, rather than asserting a diagnosis that + // would be wrong for any other failure. + m_doc.error = wxString::Format( + _L("Variable '%s' could not be removed (likely still referenced by a feature " + "expression): %s"), + m_var_list->GetItemText(sel, 0), wxString::FromUTF8(why)).ToUTF8().data(); + } + after_tree_edit(ok); + refresh_variables(); +} + +// --- Expression binding --------------------------------------------------------------- + +// Field-name lists per feature type. The combo is editable so a power user can type any +// valid field name; these lists pre-populate the picker for the common operations. +std::vector<std::string> DesignPanel::fields_for_tool(Tool t) +{ + using T = DesignPanel::Tool; + switch (t) { + case T::Sketch: return {"width", "height", "radius"}; + case T::Extrude: return {"distance", "distance2", "taper_deg"}; + case T::Dressup: return {"dressup_size"}; + case T::Hole: return {"hole_diameter", "hole_depth", "hole_x", "hole_y"}; + case T::Thread: return {"thread_radius", "thread_pitch", "thread_height", "thread_depth", "thread_x", "thread_y"}; + case T::Shell: return {"shell_thickness"}; + case T::Revolve: return {"revolve_angle"}; + case T::Sweep: return {}; + case T::Pattern: return {"pattern_count", "pattern_spacing", "pattern_angle"}; + case T::Plane: return {"plane_offset", "plane_angle_tilt"}; + case T::Loft: return {}; + case T::Draft: return {"draft_angle"}; + case T::Boolean: return {}; + case T::Cut: return {}; + case T::SurfaceExtrude: return {"distance"}; + case T::SurfaceRevolve: return {"revolve_angle"}; + case T::SurfaceLoft: return {}; + case T::SurfaceFill: return {}; + case T::SurfaceOffset: return {"plane_offset"}; + case T::ThickenSurface: return {"thicken_thickness"}; + case T::Transform: return {}; + case T::Mirror: return {}; + case T::Thicken: return {"thicken_thickness"}; + case T::Rib: return {"rib_thickness", "rib_depth"}; + case T::Project: return {}; + case T::DeleteFace: return {}; + case T::Helix: return {"helix_radius", "helix_pitch", "helix_height", "helix_taper_deg"}; + case T::Axis: return {}; + case T::CoordSys: return {}; + case T::Mate: return {}; + case T::Insert: return {}; + case T::None: return {}; + } + return {}; +} + +void DesignPanel::populate_expr_fields(Tool t) +{ + if (!m_expr_field) return; + m_expr_field->Clear(); + for (const std::string& f : fields_for_tool(t)) + m_expr_field->Append(wxString::FromUTF8(f)); + if (m_expr_field->GetCount() > 0) + m_expr_field->SetSelection(0); +} + +void DesignPanel::on_set_expr() +{ + if (m_edit_index < 0 || m_edit_index >= int(m_doc.features.size())) return; + if (!m_expr_field || !m_expr_text) return; + + const wxString fwx = m_expr_field->GetValue(); + const wxString ewx = m_expr_text->GetValue(); + if (fwx.IsEmpty()) return; + + const std::string field = fwx.ToUTF8().data(); + const std::string expr = ewx.ToUTF8().data(); + + m_doc.checkpoint(); + m_doc.features[m_edit_index].expr[field] = expr; + bool ok = m_doc.recompute(); + // undo() recomputes, which SUCCEEDS and clears doc.error — so the reason the edit was + // rejected is gone before anything can display it. Carry it across the rollback. + if (!ok) { const std::string why = m_doc.error; m_doc.undo(); m_doc.error = why; } + after_tree_edit(ok); + if (ok) m_expr_text->Clear(); + + // Refresh the status line showing current bindings + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size())) { + const CadFeature& ef = m_doc.features[m_edit_index]; + if (ef.expr.empty()) { + m_expr_status->SetLabel(_L("(no bindings)")); + m_expr_status->SetForegroundColour(dp_sec_text()); + } else { + wxString s; + for (const auto& [f, e] : ef.expr) { + if (!s.IsEmpty()) s += "; "; + s += wxString::FromUTF8(f) + " = " + wxString::FromUTF8(e); + } + m_expr_status->SetLabel(s); + m_expr_status->SetForegroundColour(dp_ctl_text()); + } + } +} + +void DesignPanel::on_clear_expr() +{ + if (m_edit_index < 0 || m_edit_index >= int(m_doc.features.size())) return; + if (!m_expr_field) return; + + const wxString fwx = m_expr_field->GetValue(); + if (fwx.IsEmpty()) return; + + const std::string field = fwx.ToUTF8().data(); + auto& feat_expr = m_doc.features[m_edit_index].expr; + if (feat_expr.find(field) == feat_expr.end()) { + m_status->SetForegroundColour(wxColour(235, 110, 110)); + set_status(_L("No binding for that field")); + m_status->Refresh(); + return; + } + + m_doc.checkpoint(); + feat_expr.erase(field); + bool ok = m_doc.recompute(); + // undo() recomputes, which SUCCEEDS and clears doc.error — so the reason the edit was + // rejected is gone before anything can display it. Carry it across the rollback. + if (!ok) { const std::string why = m_doc.error; m_doc.undo(); m_doc.error = why; } + after_tree_edit(ok); + + if (m_edit_index >= 0 && m_edit_index < int(m_doc.features.size())) { + const CadFeature& ef = m_doc.features[m_edit_index]; + if (ef.expr.empty()) { + m_expr_status->SetLabel(_L("(no bindings)")); + m_expr_status->SetForegroundColour(dp_sec_text()); + } else { + wxString s; + for (const auto& [f, e] : ef.expr) { + if (!s.IsEmpty()) s += "; "; + s += wxString::FromUTF8(f) + " = " + wxString::FromUTF8(e); + } + m_expr_status->SetLabel(s); + m_expr_status->SetForegroundColour(dp_ctl_text()); + } + } +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/CAD/DesignPanel.hpp b/src/slic3r/GUI/CAD/DesignPanel.hpp new file mode 100644 index 0000000000..16f0a2722c --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignPanel.hpp @@ -0,0 +1,920 @@ +#ifndef slic3r_DesignPanel_hpp_ +#define slic3r_DesignPanel_hpp_ + +#include <wx/panel.h> +#include <wx/scrolwin.h> +#include <wx/treebase.h> // wxTreeItemId + +#include <vector> +#include <memory> +#include <functional> +#include <map> + +#include "libslic3r/CAD/CadDocument.hpp" +#include "slic3r/GUI/CAD/DesignInteraction.hpp" // CadLevel: what one Esc press means +#include "slic3r/GUI/Lazy.hpp" + +class ComboBox; // Orca dropdown (Widgets/ComboBox.hpp) — replaces wxChoice everywhere here +class StaticBox; // Orca rounded card frame (Widgets/StaticBox.hpp) +class wxCheckBox; +class wxCheckListBox; +class wxSpinCtrl; +class wxSpinCtrlDouble; +class wxTreeCtrl; +class wxImageList; +class wxStaticText; +class wxStaticLine; +class Button; // Orca-styled button (Widgets/Button.hpp) +class CheckBox; // Orca teal checkbox (Widgets/CheckBox.hpp) +class wxSizer; +// wxBoxSizer, wxTextCtrl and wxListCtrl are used here as pointers only, so a forward +// declaration is enough — but they must be declared. Every ordinary build happened to pull +// them in transitively through the wx/panel.h + wx/scrolwin.h chain. The Snapmaker fork's +// Flatpak build does not, and it failed to compile this header with "'wxTextCtrl' does not +// name a type; did you mean 'wxTreeCtrl'?". Declaring them keeps the header self-contained +// instead of relying on whatever a particular wx configuration happens to include. +class wxBoxSizer; +class wxTextCtrl; +class wxListCtrl; +class wxButton; +class wxPanel; +class ScalableButton; + +namespace Slic3r { namespace GUI { + +class DesignCanvas; + +// Design (CAD) tab: a sketch-first, Onshape-style form-driven CAD panel. +// Sketch and Extrude are independent tools: the user creates a Sketch first, +// then selects it and Extrudes to produce a solid. +class DesignPanel : public wxPanel, public LazyInstance<DesignPanel> +{ +public: + explicit DesignPanel(wxWindow* parent); + void on_tab_shown(); // re-sync bed to the active printer when the Design tab is activated + void on_tab_hidden(); // another tab took over: take the viewport status line down with us + void unbind_canvas_event_handlers(); // app close / language switch, from the plater's teardown + void reset_canvas_volumes(); + void clear_document(); // New Project / Open Project: drop the document with the project + // Rebuild off the UI thread (progress dialog only if it turns out to be slow), so a feature + // op on a heavy imported solid does not freeze the window. Returns m_doc.recompute()'s result. + // Push the document's recipe into the Model so ANY save path persists it (vjk5). + void sync_recipe_to_model(); + bool recompute_guarded(const wxString& message); + + // MCP control hooks: let the external control server (McpControl.cpp) drive and + // perceive the SAME kernel the GUI uses. Called only on the wx main thread. + CadDocument& mcp_doc() { return m_doc; } // live document (read + mutate) + void mcp_after_change() { after_tree_edit(true); } // refresh tree + viewport + status + DesignCanvas* mcp_viewport() { return m_viewport; } // live sketch + 3D view + // Put the PANEL into (or out of) sketch mode, not just the canvas tool. Measured on the + // rig: a sketch started straight through DesignCanvas::begin_sketch leaves m_ui_mode at + // Feature, and the keyboard map is dispatched on `m_ui_mode == UiMode::Sketch` while the + // offer menu is dispatched on the looser sketch_map_applies() — so the menu offered the + // line's verbs while every sketch shortcut was dead (KEYTRACE: key=81 ui_mode=0 + // is_sketching=1). Half-entering a mode is worse than not entering it. + void mcp_set_sketch_mode(bool on) + { + set_ui_mode(on ? UiMode::Sketch : UiMode::Feature); + update_action_bar(); + } + // The offer-table vocabulary without a right-click: the external controller asks which verbs + // exist (and which apply to the current selection) and fires one by id, so a deck key names a + // verb instead of spending a letter and every verb is reachable — including the rows with no + // keyboard shortcut, which are otherwise invisible to anything that parses key tables. + int mcp_offer_selection_kind() const { return offer_selection_kind(); } // OfferSel as int + void mcp_run_action(const char* action) { run_offer_action(action); } // dispatch an action string + // Defined out of line in DesignPanel.cpp: it needs kOfferVerbs, which this header deliberately + // does not include (the table is generated and belongs to the offer-menu code). + bool mcp_run_verb(const char* verb_id); + +private: + enum class Tool { None, Sketch, Extrude, Dressup, Hole, Thread, Shell, Revolve, Sweep, Pattern, Plane, Loft, Draft, Boolean, Cut, Insert, Axis, CoordSys, SurfaceExtrude, SurfaceRevolve, SurfaceLoft, SurfaceFill, SurfaceOffset, ThickenSurface, Transform, Mirror, Thicken, Rib, Project, DeleteFace, Helix, Mate }; + // Which numeric fields an expression can be bound to, per feature type. A member rather + // than a file-static helper so Tool — 32 values of purely internal card state — does not + // have to become part of this panel's public API just to be named in a signature. + static std::vector<std::string> fields_for_tool(Tool t); + // Plane tool: which datum reference the next solid pick fills (declared early so the + // method decls + card lambdas below can name it). + enum class PlanePick { None, FaceA, FaceB, EdgeA, EdgeB }; + enum class AxisPick { None, Face, Edge }; + enum class CoordSysPick { None, Face, Edge }; + + // Onshape-style contextual top toolbar: only the active mode's tool group is + // shown (Feature = sketch/extrude/dress/hole/thread; Sketch = entity tools; + // Constrain = constraints + edit ops). Replaces the old always-visible wall. + enum class UiMode { Feature, Sketch, Constrain }; + void set_ui_mode(UiMode m); + void apply_dof_status(int dof, bool ok, bool has_constraints); + // Unified action-bar dispatch: one Confirm / one Cancel for every tool and mode. + void tool_confirm(); // ✓ : commit the active feature / sketch / constrain session + void tool_cancel(); // ✗ : cancel the active feature / discard / exit + // Esc. ONE press unwinds ONE level of the interaction stack (DesignInteraction.hpp), and no + // level of it destroys committed work. escape_level() answers which level the press belongs + // to; escape() acts on exactly that one. Every Esc in the tab routes through here — the key + // used to be handled in four places that could not see each other, and that is how two + // presses in a row reached past a tool and discarded the sketch under it. + CadLevel escape_level() const; + void escape(); + void update_action_bar(); // show the ✓/✗ bar iff a tool or mode is active + + void on_shape_changed(); + void on_add_sketch(); + void on_add_extrude(); + void on_add_dressup(); + void on_add_hole(); + void on_add_thread(); + void apply_thread_standard(); // fill pitch/depth/radius from m_thread_std selection + void infer_thread_spec(double diameter); // nearest M-standard from a picked cylinder diameter + void on_add_revolve(); + void on_add_sweep(); + void on_add_loft(); + void on_add_pattern(); + bool on_add_plane(); // false = refused, card stays open + void arm_plane_pick(PlanePick target); // Plane tool: next solid pick fills this reference + void apply_plane_refs(CadFeature& f) const; // copy type + face/edge refs + sizes from the card + void refresh_plane_labels(); // update the 4 pick labels from the captured refs + void reset_plane_refs(); // clear captured refs (fresh Plane add) + void on_add_shell(); + void on_add_draft(); + void on_add_boolean(); + void on_add_cut(); // commit a plane Cut (split-by-plane) + void on_add_axis(); + void arm_axis_pick(AxisPick target); + void apply_axis_refs(CadFeature& f) const; + void refresh_axis_labels(); + void reset_axis_refs(); + void on_add_coordsys(); + void arm_coordsys_pick(CoordSysPick target); + void apply_coordsys_refs(CadFeature& f) const; + void refresh_coordsys_labels(); + void refresh_cs_body_choice(); // fill the CoordSys body chooser from current document + void reset_coordsys_refs(); + void on_add_surface_extrude(); + void on_add_surface_revolve(); + void on_add_surface_loft(); + void on_add_surface_fill(); + void on_add_surface_offset(); + void on_add_thicken_surface(); + void on_add_transform(); + void xf_live_preview(); // typed Transform fields -> body display transform (live) + void xf_clear_preview(); // hand a previewed body back to its pre-card pose + void on_add_mirror(); + void on_add_thicken(); + void on_add_rib(); + void on_add_project(); + void on_add_delete_face(); + void on_add_helix(); + void on_add_mate(); + void on_check_interference(); + void on_mass_properties(); // read-only report on the selected solid; edits nothing + // Fill m_bool_target / m_bool_tool / m_cut_target. as_of_feature < 0 = current bodies (add); + // >= 0 = the bodies as they existed just before that feature index (Boolean re-edit, so a + // consumed tool body still appears and its saved selection round-trips). + // Which body a tool should act on when it opens: the one picked in the VIEWPORT, else + // the first. Selection comes first and the tool consumes it — every body combo used to + // default to index 0, so picking body 3 and opening Mirror silently mirrored body 1. + // Clamped to the list, so it is safe to hand straight to SetSelection. e1p. + int selected_body_default() const; + void populate_body_choices(int as_of_feature = -1); + // Fill `c` with the bodies as they existed just before `as_of_feature` and select + // `want`. Re-editing any feature that stores a body index needs this: the index was + // recorded against the body list at that point in the timeline, not the final one. + void fill_body_choice(ComboBox* c, int as_of_feature, int want); + void populate_sheet_body_choices(ComboBox* c) const; // bodies where is_sheet_shape() is true + // Rows of a sheet-filtered picker are not body indices; go through these two, never + // GetSelection()/SetSelection() directly. + static int sheet_choice_body(ComboBox* c); // real body index of the current row, or -1 + static void select_sheet_choice(ComboBox* c, int body);// select the row holding this body index + // Import rigid 2D art (Text / SVG) as a new Sketch feature carrying + // imported_regions (no solver entities). on_add_text/on_import_svg gather + // input; add_imported_sketch builds the feature, refreshes tree + display. + void on_add_text(); + void on_import_svg(); + void on_import_step(); // STEP -> editable B-rep body (keeps the OCCT solid, not a mesh) + void on_import_mesh(); // STL/OBJ -> B-rep body via GeometryEngine::mesh_to_brep + bool place_on_face(); // Prepare's Place on Face (F): lay the selected body face on the bed + void add_imported_sketch(const std::vector<std::vector<std::vector<Vec2d>>>& regions, + const wxString& base_name); + // Imported Text/SVG art is placed/sized in-canvas then explicitly committed via a + // small Confirm/Cancel card (Onshape Button->Dialog->Preview->Confirm). The feature + // is added provisionally by add_imported_sketch; Confirm keeps it, Cancel undoes it. + void open_insert_card(const wxString& base_name); + void finalize_insert(); // Confirm: keep the placed art, leave the placement gizmo + void cancel_insert(); // Cancel: undo the provisional insert + // Move / enlarge / stretch (independent X/Y) an imported Text/SVG sketch: + // a modal dialog editing the feature's placement transform in place. + void on_transform_imported(int feat_idx); + void on_commit(); + void on_export_step(); // write all bodies to a .step file (native B-rep) + // Rehydrate the parametric model from a project's saved recipe (3MF + // Metadata/orca_cad.bin): deserialize -> recompute -> refresh viewport + tree. + void load_recipe(const std::string& blob); + void refresh_tree(); + void set_status_ok(); + + // Feature-tree editing (Onshape-style): act on the selected tree row. + void on_delete_feature(); + // "Delete Body" — the geometry-first counterpart, reached by pointing at a body or any of + // its faces. Resolves the body to the feature that created it and removes THAT, because a + // body is a recomputed result and has nothing else to delete. + void on_delete_body(); + void on_new_design(); + void on_move_feature(int delta); // -1 = up, +1 = down + void on_toggle_visibility(); // show/hide the selected feature (CadFeature::enabled) + + // Constrain mode: enter on the tree-selected sketch, then apply a geometric + // constraint to the in-canvas picked segment and re-solve in the kernel. + void on_begin_constrain(int sel_override = -1); + // Sketch-toolbar Constrain entry: commit the live sketch in place, then enter Constrain + // mode on it (so the constraint palette + Trim/Extend are reachable without leaving the + // sketch flow). Returns true if constrain mode was entered. + bool enter_constrain_inline(); + void apply_constraint(SketchConstraintType type); + void apply_entity_constraint(SketchConstraintType type); // Fase 4.2 entity path + void apply_live_constraint(SketchConstraintType type); // Fase 4.2 live-sketch path (no commit needed) + enum class EditOp { Mirror, Offset, Fillet, Trim, Extend, Array, Move, Chamfer, Rotate, Scale, PolarArray }; // Fase 4.4/4.5/4.6 sketch edit ops + void apply_edit_op(EditOp op); // mutate selected sketch entities + // Onshape-style docked value entry (replaces wxGetTextFromUser popups for + // Angle/Radius/Diameter constraints + Offset/Fillet edit ops). request_value + // shows the card and stows a continuation run by confirm_value(). + void request_value(const wxString& label, double def, double mn, double mx, + std::function<void(double)> cont, + std::function<void()> on_cancel = nullptr); + void confirm_value(); + void cancel_value(); + void commit_entity_constraints(const std::vector<SketchEntityConstraintDef>& defs); // multi-def (Symmetric) + + // Constraint manager (C3.4): a docked list of the constrained sketch's + // entity-constraints with per-row select (highlight the referenced entities in + // the viewport) and delete (drop the constraint + re-solve). Shown in Constrain + // mode only; operates on m_doc.features[m_constrain_feat].entity_constraints. + // True when the constraint UI must address the LIVE sketch session rather than a committed + // feature. Same discriminator apply_constraint uses to choose apply_live_constraint: both + // Constrain modes set m_active too, so is_sketching() alone would claim the live scope while + // the committed manager is open. + bool live_constraint_scope() const; + void rebuild_constraint_list(); // refill m_constraint_rows + void delete_constraint(int idx); // erase + re-solve + refresh + void highlight_constraint_entities(int idx); // push referenced entities to viewport + void refresh_constrain_dof(); // re-solve feature, mirror DoF readout + wxString constraint_label(const SketchEntityConstraintDef& d) const; // human-readable row text + void after_edit_op(); // shared edit-op refresh tail + void on_edit_feature(); // reopen the selected feature's dialog populated + void after_tree_edit(bool ok); // shared post-op refresh of tree/viewport/status + void load_feature_into_dialog(const CadFeature& f); + void reset_edit_state(); // back to add-mode (m_edit_index = -1) + + // Onshape loop: Button -> open_tool (show dialog) -> refresh_preview (ghost) -> + // confirm_tool (commit) / cancel_tool (abort). + void open_tool(Tool t); + void close_tool(); + void refresh_preview(); + void confirm_tool(); + void cancel_tool(); + // Ctrl+Z / Ctrl+Shift+Z (Ctrl+Y) from the viewport. With a tool/dialog open it + // cancels that (Esc-like); otherwise it undoes/redoes the committed feature history. + void do_undo_redo(bool redo); + // The plane the Hole tool drills on: a picked face (inward, centred) or the dropdown. + SketchPlane hole_plane() const; + // The plane the Thread tool builds on: a picked cylindrical face (axis) or the dropdown. + SketchPlane thread_plane() const; + // Name the geometry the card has LATCHED, so it never has to be inferred from the viewport. + // Pass -1 for "none, falling back to the plane dropdown". See 200. + void set_hole_target_label(int face); + void set_thread_target_label(int face, int edge); + CadFeature build_candidate(Tool t) const; + // Merge per-body ghost meshes with the per-body display transforms applied. The kernel builds + // a ghost from the untransformed bodies, so without this it floats back at the origin once a + // body has been moved. + TriangleMesh ghost_from_bodies(const std::vector<TriangleMesh>& per_body) const; + // A mate makes no new geometry but it MOVES a body, and the moved assembly is the ghost worth + // showing. Used both by the Mate card and by hovering a row of the offer's mate palette. + bool show_mate_ghost(int kind, int cs_a, int cs_b, + double offset, double angle_deg, bool flip, std::string& err); + int resolve_extrude_sketch() const; + // Plane pickers: fill a choice with XY/XZ/YZ + the document's datum planes, and + // map a choice row back to the actual SketchPlane (rows 0-2 base, 3+ datum). + void populate_plane_choices(ComboBox* c) const; + wxString ref_plane_name(int row) const; // "XY" / a datum's name, for the on-geometry hint + SketchPlane plane_from_choice(int row) const; + // Where a new sketch goes, resolved from what is SELECTED IN THE VIEWPORT rather than from a + // list: a picked planar face wins, otherwise the reference plane last clicked in 3D. `what` + // comes back as something to show the user, so the choice is visible without a combo. + SketchPlane sketch_plane_from_selection(wxString& what) const; + // Whether that resolution has anything the USER picked behind it, rather than the default + // reference plane. Lets a caller say "sketching on XZ" only when it is actually true. + bool sketch_plane_target(wxString& what) const; + // True when Extrude should build only the click-selected loop (a region of the + // resolved sketch is selected and it carries entities). + bool extrude_uses_loop() const; + void sync_sketch_display(); // push un-consumed committed sketches to the viewport + // Feed the viewport's visual Extrude depth-arrow gizmo (C5b) with the current profile + // plane + centroid + live depths while the Extrude card is open (self-gates on m_active). + void update_extrude_gizmo(); + void update_fillet_gizmo(); // edge-anchored radius arrow (Dressup card) + void sync_dressup_target(); // Dressup card: show picked edge vs group, gate the combo + void update_hole_gizmo(); // footprint circle + diameter/depth arrows (Hole card) + // A FEATURE button whose tool needs bodies it may not have yet. Greyed with an explanatory + // tooltip below min_bodies, rather than accepting the click and refusing afterwards. + struct BodyGate { wxWindow* btn{nullptr}; int min_bodies{1}; wxString tip_live, tip_gated; }; + std::vector<BodyGate> m_body_gates; + void update_body_gates(); // re-evaluate them against the current body count + void update_thread_gizmo(); // footprint circle + radius/length arrows (Thread card) + void update_shell_gizmo(); // inward thickness arrow on the picked face (Shell card) + void update_revolve_gizmo(); // angle-arc around the axis (Revolve card) + void update_draft_gizmo(); // angle-arc around the face centroid (Draft card) + void update_cut_gizmo(); // plane-rectangle + offset arrow (Cut card) + void update_operand_highlight(); // Boolean/Sweep/Loft operand tinting on the canvas + void update_pattern_gizmo(); // linear spacing arrow / circular angle-arc (Pattern card) + void update_datum_gizmo(); // resize handles on the datum plane being created/edited (C3) + void update_helix_gizmo(); // live helix curve + radius/height/pitch handles (Helix card) + void update_rib_gizmo(); // in-plane slab footprint + thickness handles (Rib card) + void refresh_datum_planes(); // push resolved datum frames + per-plane u/v extents to viewport + void refresh_mate_connectors(); // push connector frames so verse + polarity are visible + void update_reference_planes(); // persistent XY/XZ/YZ reference planes (fallback when no object) + + CadDocument m_doc; + + Tool m_active{Tool::None}; + + // Keyboard shortcuts (Onshape-style, three scoped layers). Keys are encoded as the + // upper-cased letter, OR'd with 0x10000 when Shift is required. m_keys_sketch fires only + // while a sketch is open (single letters = sketch tools); m_keys_feature fires only when + // no sketch is open (Shift+letter = feature tools; single letters = view toggles/section). + static constexpr int SC_SHIFT = 0x10000; + // ...and with 0x20000 when Ctrl is required too. The Shift+letter space is full, so an + // action that arrives late lives on Ctrl+Shift; plain Ctrl-combos are still passed + // straight through, which is what leaves this layer free. + static constexpr int SC_CTRL = 0x20000; + std::map<int, std::function<void()>> m_keys_sketch; + std::map<int, std::function<void()>> m_keys_feature; + + StaticBox* m_tree_box{nullptr}; // framed feature-tree section + StaticBox* m_parts_box{nullptr}; // framed bodies section (hidden while empty) + StaticBox* m_cards{nullptr}; // one framed panel holding every tool dialog (one visible at a time) + void update_cards_frame(); // show that frame iff some card inside it is visible + void show_move_card(bool show); + void apply_move_card(); // numeric move/rotate -> same xform the gizmo builds + void push_polygon_params(); + wxSizer* m_tb_commit{nullptr}; // far-right Commit to Plate, beside Confirm/Cancel + wxSizer* m_tb_doc{nullptr}; // toolbar document/view actions (new, commit, export, section, place) + CheckBox* m_show_bed{nullptr}; // view option: draw the printer bed + plate grid, or not + wxSizer* m_box_move{nullptr}; // Move/Rotate numeric options (distance, axis, angle) + wxSizer* m_box_sketch{nullptr}; + wxSizer* m_box_extrude{nullptr}; + wxSizer* m_box_dressup{nullptr}; + wxSizer* m_box_hole{nullptr}; + wxSizer* m_box_thread{nullptr}; + wxSizer* m_box_shell{nullptr}; + wxSizer* m_box_revolve{nullptr}; + wxSizer* m_box_sweep{nullptr}; + wxSizer* m_box_pattern{nullptr}; + wxSizer* m_box_plane{nullptr}; + wxSizer* m_box_loft{nullptr}; + wxSizer* m_box_draft{nullptr}; + wxSizer* m_box_boolean{nullptr}; + wxSizer* m_box_cut{nullptr}; + wxSizer* m_box_axis{nullptr}; + wxSizer* m_box_coordsys{nullptr}; + wxSizer* m_box_surf_extrude{nullptr}; + wxSizer* m_box_surf_revolve{nullptr}; + wxSizer* m_box_surf_loft{nullptr}; + wxSizer* m_box_surf_fill{nullptr}; + wxSizer* m_box_surf_offset{nullptr}; + wxSizer* m_box_surf_thicken{nullptr}; + wxSizer* m_box_transform{nullptr}; + wxSizer* m_box_mirror{nullptr}; + wxSizer* m_box_thicken{nullptr}; + wxSizer* m_box_rib{nullptr}; + wxSizer* m_box_project{nullptr}; + wxSizer* m_box_delete_face{nullptr}; + wxSizer* m_box_helix{nullptr}; + wxSizer* m_box_mate{nullptr}; + wxSizer* m_box_insert{nullptr}; // Confirm/Cancel card for placing Text/SVG art + wxSizer* m_box_expr{nullptr}; // expression binding card (visible during edit only) + int m_insert_feat{-1}; // provisional imported-art feature awaiting Confirm + // Move-body gizmo runs through the unified action bar too: Confirm keeps the placement, + // Cancel reverts to the pose captured when the move started. + int m_move_body{-1}; + Transform3d m_move_prev{Transform3d::Identity()}; + // Set while the move gizmo is serving the Transform CARD rather than the Move button. + // Both use the same gizmo; only this says which card owns the numbers it reports. + int m_xf_gizmo_body{-1}; + Transform3d m_xf_gizmo_base{Transform3d::Identity()}; // pose when Transform armed it + // Which body the Transform card's typed fields are currently previewing on, and the pose to + // hand it back to. Separate from the gizmo pair because the card can retarget its Body combo. + int m_xf_prev_body{-1}; + Transform3d m_xf_prev_base{Transform3d::Identity()}; + + // Onshape-style dialog-card title rows (icon + bold feature name), retitled + // per tool in open_tool() (edit-mode shows the feature's actual name). + wxStaticText* m_hdr_move{nullptr}; + wxStaticText* m_hdr_sketch{nullptr}; + // Onshape sketch-entry card (plane/orientation) that opens on "New sketch" and + // persists until Finish (Phase 3). + wxSizer* m_box_sketch_session{nullptr}; + wxStaticText* m_hdr_sketch_session{nullptr}; + wxStaticText* m_sketch_hint{nullptr}; // "click a plane" / "drawing on X" — must match the status + wxStaticText* m_hdr_extrude{nullptr}; + wxStaticText* m_hdr_dressup{nullptr}; + wxStaticText* m_hdr_hole{nullptr}; + wxStaticText* m_hdr_thread{nullptr}; + wxStaticText* m_hdr_shell{nullptr}; + wxStaticText* m_hdr_revolve{nullptr}; + wxStaticText* m_hdr_sweep{nullptr}; + wxStaticText* m_hdr_pattern{nullptr}; + wxStaticText* m_hdr_plane{nullptr}; + wxStaticText* m_hdr_loft{nullptr}; + wxStaticText* m_hdr_draft{nullptr}; + wxStaticText* m_hdr_boolean{nullptr}; + wxStaticText* m_hdr_cut{nullptr}; + wxStaticText* m_hdr_axis{nullptr}; + wxStaticText* m_hdr_coordsys{nullptr}; + wxStaticText* m_hdr_surf_extrude{nullptr}; + wxStaticText* m_hdr_surf_revolve{nullptr}; + wxStaticText* m_hdr_surf_loft{nullptr}; + wxStaticText* m_hdr_surf_fill{nullptr}; + wxStaticText* m_hdr_surf_offset{nullptr}; + wxStaticText* m_hdr_surf_thicken{nullptr}; + wxStaticText* m_hdr_transform{nullptr}; + wxStaticText* m_hdr_mirror{nullptr}; + wxStaticText* m_hdr_thicken{nullptr}; + wxStaticText* m_hdr_rib{nullptr}; + wxStaticText* m_hdr_project{nullptr}; + wxStaticText* m_hdr_delete_face{nullptr}; + wxStaticText* m_hdr_helix{nullptr}; + wxStaticText* m_hdr_mate{nullptr}; + wxStaticText* m_hdr_insert{nullptr}; + + wxScrolledWindow* m_form{nullptr}; + DesignCanvas* m_viewport{nullptr}; + + // Top contextual toolbar (parented to the panel, above the form/viewport row). + UiMode m_ui_mode{UiMode::Feature}; + // Sketch environment banner: a strip across the top of the viewport saying, in words, that + // this is a sketch and which one. The mode used to be legible only from the toolbar and the + // left card — both of which look like the rest of the app — so a sketch session and plate + // preparation were one glance apart. Indicator only: Finish/Cancel stay on the ONE ribbon + // action bar (the Design UX contract), and the banner never grows a second pair. + wxPanel* m_sketch_banner{nullptr}; + wxStaticText* m_sketch_banner_txt{nullptr}; + wxScrolledWindow* m_toolbar{nullptr}; // horizontally scrollable so the action bar stays reachable on narrow windows + wxSizer* m_tb_feature{nullptr}; + wxSizer* m_tb_sketch{nullptr}; + // The 20 constraint icon buttons, shown during BOTH Sketch and Constrain (Fase 4.2 live + // path: a constraint must be applicable while drawing, not only after committing). + wxSizer* m_tb_relations{nullptr}; + // Unified Confirm/Cancel action bar (right end of the ribbon). Shown whenever any + // tool or mode is active; the single confirm/cancel surface for the whole tab. + wxSizer* m_tb_action{nullptr}; + // Persistent Undo/Redo group at the left of the ribbon — always visible, independent + // of the mode-gated tool groups. The buttons are greyed per the document history and + // the do_undo_redo gate (see update_undo_redo_buttons). + wxSizer* m_tb_history{nullptr}; + ScalableButton* m_btn_undo{nullptr}; + ScalableButton* m_btn_redo{nullptr}; + void update_undo_redo_buttons(); // enable/disable Undo/Redo from can_undo/can_redo + gate + // All tool buttons, for the active-tool teal highlight (Onshape-style). + std::vector<ScalableButton*> m_tool_btns; + ScalableButton* m_active_tool_btn{nullptr}; + void set_active_tool_btn(ScalableButton* b); // nullptr clears the highlight + // Owns the themed DropDown flyouts (and the item vectors they hold by ref). + std::vector<std::shared_ptr<void>> m_flyout_keepalive; + wxCheckBox* m_construction{nullptr}; // sketch-mode construction toggle + wxSpinCtrlDouble* m_move_dx{nullptr}; // Move/Rotate card: world translation + wxSpinCtrlDouble* m_move_dy{nullptr}; + wxSpinCtrlDouble* m_move_dz{nullptr}; + ComboBox* m_move_axis{nullptr}; // rotation axis: X/Y/Z + wxSpinCtrlDouble* m_move_angle{nullptr}; // rotation angle (deg) + // Polygon's two parameters are chosen FROM THE TOOL, in the offer's Polygon submenu, not + // from a card on the left: the side count cannot be edited after drawing (the inline editor + // offers Side and Angle only), so it has to be settled at the moment the tool is armed — + // which is exactly where the offer already is. e1p. + int m_poly_sides{6}; // 3..64; the submenu names the common ones + bool m_poly_circumscribed{false}; + + // Which reference plane a sketch falls back to when no face is picked: 0/1/2 = XY/XZ/YZ, + // >=3 indexes resolve_datum_planes(). Set by CLICKING a ghost plane in the viewport — there is + // deliberately no dropdown for it. e1p. + int m_ref_plane{0}; + // m_ref_plane is always a VALID plane, so it cannot itself distinguish "the user chose XY" + // from "nobody has chosen anything yet". This does. + bool m_plane_picked{false}; + ComboBox* m_shape{nullptr}; + ComboBox* m_mode{nullptr}; + wxSpinCtrlDouble* m_width{nullptr}; + wxSpinCtrlDouble* m_height{nullptr}; + wxSpinCtrlDouble* m_radius{nullptr}; + wxSpinCtrlDouble* m_distance{nullptr}; + ComboBox* m_extrude_end{nullptr}; // Blind/Symmetric/TwoSided/ThroughAll/UpTo* + wxSpinCtrlDouble* m_distance2{nullptr}; // second-side depth (Two-sided) + wxSpinCtrlDouble* m_taper{nullptr}; // draft angle (deg) + CheckBox* m_flip{nullptr}; // reverse extrude direction + + wxStaticText* m_extrude_sketch_label{nullptr}; + int m_extrude_sketch_ref{-1}; + + // Revolve controls (sweep a sketch profile about an in-plane axis). + wxStaticText* m_revolve_sketch_label{nullptr}; + wxSpinCtrlDouble* m_revolve_angle{nullptr}; + ComboBox* m_revolve_axis{nullptr}; // 0 = plane X, 1 = plane Y + ComboBox* m_revolve_mode{nullptr}; // New/Add/Cut/Intersect + CheckBox* m_revolve_flip{nullptr}; + int m_revolve_sketch_ref{-1}; + + // Sweep controls (sweep a profile sketch along a path sketch). + wxStaticText* m_sweep_profile_label{nullptr}; + ComboBox* m_sweep_path{nullptr}; // path Sketch picker (feature index in client data) + ComboBox* m_sweep_mode{nullptr}; // New/Add/Cut/Intersect + int m_sweep_profile_ref{-1}; + int m_sweep_path_ref{-1}; // path Sketch feature index (for re-edit pre-select) + + // Loft controls (skin a solid through 2+ ordered profile Sketches). + wxCheckListBox* m_loft_list{nullptr}; // every Sketch; check 2+ in list order = profiles + CheckBox* m_loft_ruled{nullptr}; // ruled (straight) vs smooth sections + ComboBox* m_loft_mode{nullptr}; // New/Add/Cut/Intersect + std::vector<int> m_loft_sketch_idx; // feature index for each row in m_loft_list + std::vector<int> m_loft_refs; // chosen profile refs (for re-edit pre-check) + + // Surface Extrude controls (sheet from sketch profile). + wxStaticText* m_surf_extrude_sketch_label{nullptr}; + wxSpinCtrlDouble* m_surf_extrude_distance{nullptr}; + int m_surf_extrude_sketch_ref{-1}; + + // Surface Revolve controls (sheet from sketch about axis). + wxStaticText* m_surf_revolve_sketch_label{nullptr}; + wxSpinCtrlDouble* m_surf_revolve_angle{nullptr}; + ComboBox* m_surf_revolve_axis{nullptr}; // 0 = plane X, 1 = plane Y + CheckBox* m_surf_revolve_flip{nullptr}; + int m_surf_revolve_sketch_ref{-1}; + + // Surface Loft controls (skin a sheet through 2+ ordered profile sketches). + wxCheckListBox* m_surf_loft_list{nullptr}; // every Sketch; check 2+ in list order = profiles + CheckBox* m_surf_loft_ruled{nullptr}; // ruled (straight) vs smooth sections + std::vector<int> m_surf_loft_sketch_idx; // feature index for each row + std::vector<int> m_surf_loft_refs; // chosen profile refs (for re-edit pre-check) + + // Surface Fill controls (one-face sheet from a sketch boundary). + wxStaticText* m_surf_fill_sketch_label{nullptr}; + int m_surf_fill_sketch_ref{-1}; + + // Surface Offset controls (offset a SHEET body). + ComboBox* m_surf_offset_body{nullptr}; // sheet-body picker + wxSpinCtrlDouble* m_surf_offset_distance{nullptr}; + + // Thicken Surface controls (thicken a SHEET body into a solid). + ComboBox* m_surf_thicken_body{nullptr}; // sheet-body picker + wxSpinCtrlDouble* m_surf_thicken_thickness{nullptr}; + CheckBox* m_surf_thicken_flip{nullptr}; + + // Transform controls (rigid move/rotate of a body). + ComboBox* m_xf_body{nullptr}; // body to transform + wxSpinCtrlDouble* m_xf_dx{nullptr}; // translate X + wxSpinCtrlDouble* m_xf_dy{nullptr}; // translate Y + wxSpinCtrlDouble* m_xf_dz{nullptr}; // translate Z + ComboBox* m_xf_axis{nullptr}; // rotation axis: X/Y/Z + wxSpinCtrlDouble* m_xf_angle{nullptr}; // rotation angle (deg) + wxSpinCtrlDouble* m_xf_pivot_x{nullptr}; // pivot X + wxSpinCtrlDouble* m_xf_pivot_y{nullptr}; // pivot Y + wxSpinCtrlDouble* m_xf_pivot_z{nullptr}; // pivot Z + CheckBox* m_xf_copy{nullptr}; // keep original (make a copy) + + // Mirror controls (reflect a body about a plane). + ComboBox* m_mirror_body{nullptr}; // body to mirror + ComboBox* m_mirror_plane{nullptr}; // mirror plane (XY/XZ/YZ + datums) + CheckBox* m_mirror_keep{nullptr}; // keep original body + + // Thicken controls (offset one solid face into a thin plate). + ComboBox* m_thicken_body{nullptr}; // source body + wxStaticText* m_thicken_face_label{nullptr}; // picked face + wxSpinCtrlDouble* m_thicken_thickness{nullptr}; + CheckBox* m_thicken_flip{nullptr}; // flip direction + + // Rib controls (thin wall from an open sketch line). + ComboBox* m_rib_body{nullptr}; // target body + ComboBox* m_rib_sketch{nullptr}; // sketch holding the open line (feature index in client data) + wxSpinCtrl* m_rib_entity{nullptr}; // entity index within the sketch + wxSpinCtrlDouble* m_rib_thickness{nullptr}; + wxSpinCtrlDouble* m_rib_depth{nullptr}; + + // Project controls (project body edges onto a plane as sketch entities). + ComboBox* m_proj_source_body{nullptr}; // source body + wxStaticText* m_proj_face_label{nullptr}; // picked face (or "all edges") + ComboBox* m_proj_plane{nullptr}; // target plane + + // Delete Face controls (remove faces, heal the solid). + ComboBox* m_del_face_body{nullptr}; // target body + wxButton* m_del_face_add_btn{nullptr}; // "Add picked face" button + wxStaticText* m_del_face_list{nullptr}; // shows the accumulated face ids + std::vector<int> m_del_faces; // accumulated face list + + // Helix controls (helical curve). + ComboBox* m_helix_plane{nullptr}; // axis plane (XY/XZ/YZ + datums) + wxSpinCtrlDouble* m_helix_radius{nullptr}; + wxSpinCtrlDouble* m_helix_pitch{nullptr}; + wxSpinCtrlDouble* m_helix_height{nullptr}; + CheckBox* m_helix_left_handed{nullptr}; + wxSpinCtrlDouble* m_helix_taper{nullptr}; + + // Mate (assembly) controls + ComboBox* m_mate_kind{nullptr}; + ComboBox* m_mate_cs_a{nullptr}; + ComboBox* m_mate_cs_b{nullptr}; + wxSpinCtrlDouble* m_mate_offset{nullptr}; + wxSpinCtrlDouble* m_mate_angle{nullptr}; + CheckBox* m_mate_flip{nullptr}; + wxStaticText* m_offset_label{nullptr}; + wxStaticText* m_angle_label{nullptr}; + + // Expression binding (per-feature, visible during edit only) + ComboBox* m_expr_field{nullptr}; // field-name picker (editable) + wxTextCtrl* m_expr_text{nullptr}; // expression string + wxButton* m_expr_set_btn{nullptr}; // Apply / bind + wxButton* m_expr_clear_btn{nullptr}; // Remove binding + wxStaticText* m_expr_status{nullptr}; // shows current bindings for the edited feature + void populate_expr_fields(Tool t); // fill m_expr_field from feature-type fields + void on_set_expr(); // checkpoint + write -> recompute -> undo on fail + void on_clear_expr(); // remove selected binding + + // Document variables panel (below the feature tree / parts) + StaticBox* m_var_box{nullptr}; + wxListCtrl* m_var_list{nullptr}; + wxButton* m_btn_add_var{nullptr}; + wxButton* m_btn_edit_var{nullptr}; + wxButton* m_btn_del_var{nullptr}; + void refresh_variables(); // rebuild m_var_list from m_doc.variables + void on_add_variable(); + void on_edit_variable(); + void on_remove_variable(); + + // Feature-tree button + ScalableButton* m_btn_interfere{nullptr}; + + // Pattern controls (replicate the target body: linear or circular). + ComboBox* m_pattern_type{nullptr}; // 0 = Linear, 1 = Circular + wxSpinCtrlDouble* m_pattern_count{nullptr}; // total instances incl. seed + wxSpinCtrlDouble* m_pattern_spacing{nullptr}; // linear step (mm) + ComboBox* m_pattern_dir{nullptr}; // linear direction: 0 = plane X, 1 = plane Y + wxSpinCtrlDouble* m_pattern_angle{nullptr}; // circular total angle (deg) + // Boolean controls (combine two existing bodies). + ComboBox* m_bool_op{nullptr}; // 0 = Union, 1 = Subtract, 2 = Intersect + ComboBox* m_bool_target{nullptr}; // body that survives (selection == body index) + ComboBox* m_bool_tool{nullptr}; // body consumed (selection == body index) + // Which operand the NEXT viewport body pick fills: 0 = target, 1 = tool. Reset when the + // card opens, so the first two clicks in the viewport always mean "keep this, cut with + // that" in that order. The combos remain the typed half and mirror whatever is picked. + int m_bool_next_slot{0}; + CheckBox* m_bool_keep{nullptr}; // keep the tool body after the op + wxSpinCtrlDouble* m_bool_tol{nullptr}; // OCCT fuzzy tolerance (mm); robust cut on near-coincident faces + + // Plane Cut (split-by-plane): a reference plane + offset splits the target body into + // two separate bodies (both pieces kept). + ComboBox* m_cut_plane{nullptr}; // XY/XZ/YZ + datum planes (cut plane) + ComboBox* m_cut_target{nullptr}; // body to cut (selection == body index) + wxSpinCtrlDouble* m_cut_offset{nullptr}; // offset along the plane normal (mm) + // Datum plane controls (derive a selectable sketch plane: offset + tilt from a base). + ComboBox* m_plane_base{nullptr}; // 0=XY,1=XZ,2=YZ, 3+N = Nth datum plane + wxSpinCtrlDouble* m_plane_offset{nullptr}; // offset along base normal (mm) + wxSpinCtrlDouble* m_plane_tilt{nullptr}; // tilt about a base axis (deg) / Angle / Tangent angle + ComboBox* m_plane_tilt_axis{nullptr}; // 0 = base X, 1 = base Y + // Plane construction method + contextual face/edge reference picks (Onshape/Fusion parity). + ComboBox* m_plane_type{nullptr}; // PlaneType: Offset/Angle/Midplane/Tangent/TwoEdges/Coincident + wxButton* m_plane_pick_faceA{nullptr}; wxStaticText* m_plane_faceA_lbl{nullptr}; + wxButton* m_plane_pick_faceB{nullptr}; wxStaticText* m_plane_faceB_lbl{nullptr}; + wxButton* m_plane_pick_edgeA{nullptr}; wxStaticText* m_plane_edgeA_lbl{nullptr}; + wxButton* m_plane_pick_edgeB{nullptr}; wxStaticText* m_plane_edgeB_lbl{nullptr}; + wxSpinCtrlDouble* m_plane_usize{nullptr}; // datum rectangle extent u (mm) — also driven by drag handles + wxSpinCtrlDouble* m_plane_vsize{nullptr}; // datum rectangle extent v (mm) + // Captured references for the candidate datum (body index + face/edge index, -1 = none). + int m_pl_faceA_body{-1}, m_pl_faceA{-1}; + int m_pl_faceB_body{-1}, m_pl_faceB{-1}; + int m_pl_edgeA_body{-1}, m_pl_edgeA{-1}; + int m_pl_edgeB_body{-1}, m_pl_edgeB{-1}; + PlanePick m_plane_pick{PlanePick::None}; // which ref the next solid pick fills + // Plate loop selection (click a committed sketch loop): the Sketch feature + the + // clicked closed-region index, so Extrude builds just that one loop. -1 = none. + int m_sel_sketch_feat{-1}; + int m_sel_sketch_region{-1}; + // Click-selected solid topology (whole/face/edge cycle): face id for up-to-face / dress-up. + int m_sel_solid_body{-1}; // which body the face/edge selection is on + int m_sel_solid_face{-1}; + int m_sel_solid_edge{-1}; + bool m_sel_solid_vertex{false}; // a corner is picked (body+point, no face/edge) + // The face actually under the last solid click, INDEPENDENT of the whole/face/edge cycle level. + // The first click on a solid selects the WHOLE body, but the ray has already resolved which face + // it hit and the callback passes it. "Sketch on the face I clicked" must not require discovering + // that a second click refines the selection, so keep it instead of throwing it away. 3a2. + int m_pick_face_body{-1}; + int m_pick_face{-1}; + // What the live sketch was actually opened on ("the picked face", "XY", a datum's name), so the + // hint can say it. Resolved from the selection at begin_sketch, not read back from a combo. + wxString m_sketch_on; + // --- the object-driven offer (charter 4.1) --------------------------------------------- + // Right-click the geometry -> a vertical list in ratified row order, verbs that do not + // apply disabled IN PLACE with their reason. The rows come from the generated table in + // DesignOffer.hpp; this map is how a row reaches the code that already implements it, for + // the verbs that have no keyboard shortcut to route through. + std::map<std::string, std::function<void()>> m_verb_actions; + // Append an offer row with its toolbar glyph. The bitmap must be set BEFORE Append — + // wxGTK builds the GtkMenuItem there and only makes an image item if one is present. + // Every status write goes through here so long hints wrap instead of clipping. + void set_status(const wxString& text); + wxString idle_hint() const; // what to say when nothing is selected + // Reason detect_mate_conflicts() recorded for a feature, or nullptr. Marks the tree row and + // feeds the status line; a conflict is a diagnostic, not a document error. + const std::string* mate_conflict_reason(int feature) const; + + wxMenuItem* append_offer_item(wxMenu* menu, int id, const wxString& text, + const struct OfferVerb& v); + void show_offer_menu(const wxPoint& screen_pos); + // Where the offer opens when no mouse press anchors it: the keyboard route, and the automatic + // open on entering Sketch. The pointer if it is over the viewport, else the viewport's centre. + // A raw wxGetMousePosition() can be sitting on the toolbar, on the card column or on another + // monitor, and the menu would map there — detached from the geometry it is about. + wxPoint offer_anchor() const; + int offer_selection_kind() const; // an OfferSel, as int to keep the header light + // Does the SKETCH half of the map apply? A mode question, not a session one: begin_sketch + // does not run until the first tool is armed, so between "press Sketch" and "pick a tool" + // is_sketching() is still false — precisely when the drawing tools must be on offer. The + // is_sketching() arm covers re-opening a committed sketch, which enters the session first. + bool sketch_map_applies() const; + void run_offer_action(const char* action); + // Face-as-profile extrude (Onshape): when Extrude is opened on a picked solid face with + // no sketch source, this carries that global face id so the kernel extrudes the face. + // -1 = ordinary sketch/loop extrude. Set when opening the Extrude card, consumed on add. + int m_extrude_face_src{-1}; + + ComboBox* m_dressup_type{nullptr}; + ComboBox* m_face_group{nullptr}; + wxSpinCtrlDouble* m_dressup_size{nullptr}; + wxStaticText* m_dressup_edge_label{nullptr}; // shows the picked edge, or the group fallback + + ComboBox* m_hole_plane{nullptr}; + wxSpinCtrlDouble* m_hole_diameter{nullptr}; + wxSpinCtrlDouble* m_hole_depth{nullptr}; + CheckBox* m_hole_through{nullptr}; + wxSpinCtrlDouble* m_hole_x{nullptr}; + wxSpinCtrlDouble* m_hole_y{nullptr}; + // #2: when the Hole tool is opened on a picked solid face, drill on that face centred + // on it (origin = face centroid, normal = inward). m_hole_x/y then read as the offset + // from the face centre. Falls back to the m_hole_plane dropdown when no face is picked. + bool m_hole_on_face{false}; + SketchPlane m_hole_face_plane; + int m_hole_face_body{-1}; + // #2 Part B: the picked face's (u,v) bounds in m_hole_face_plane, so the hole's construction + // dims read as distance from the face sides (umin/vmin edges) rather than from the centre. + bool m_hole_has_bounds{false}; + double m_hole_umin{0}, m_hole_umax{0}, m_hole_vmin{0}, m_hole_vmax{0}; + // Says which face the latch above is holding. Thicken/Shell/Draft show theirs because their + // face IS the live selection; this one has to be shown precisely BECAUSE it is not, and the + // status line goes on saying "Nothing selected" while the ghost keeps drilling. 200. + wxStaticText* m_hole_target_label{nullptr}; + + ComboBox* m_thread_plane{nullptr}; + ComboBox* m_thread_std{nullptr}; // standard designation (M6, 1/4-20 UNC, ...) + wxSpinCtrlDouble* m_thread_radius{nullptr}; + wxSpinCtrlDouble* m_thread_pitch{nullptr}; + wxSpinCtrlDouble* m_thread_height{nullptr}; + wxSpinCtrlDouble* m_thread_depth{nullptr}; + CheckBox* m_thread_internal{nullptr}; + wxSpinCtrlDouble* m_thread_x{nullptr}; + wxSpinCtrlDouble* m_thread_y{nullptr}; + // #3: when the Thread tool is opened on a picked cylindrical face (a hole bore or a + // cylinder), thread that surface — plane on its axis, radius/internal derived from it. + bool m_thread_on_face{false}; + SketchPlane m_thread_face_plane; + int m_thread_face_body{-1}; + wxStaticText* m_thread_target_label{nullptr}; // the latched face/edge — see m_hole_target_label + + wxSpinCtrlDouble* m_shell_thickness{nullptr}; + wxStaticText* m_shell_face_label{nullptr}; // shows the picked face to remove + + // Draft controls (taper a single picked solid face about the body bottom). + wxSpinCtrlDouble* m_draft_angle{nullptr}; + wxStaticText* m_draft_face_label{nullptr}; // shows the picked face to draft + + // Axis controls (datum axis: line through two points or derived from geometry). + ComboBox* m_axis_type{nullptr}; // AxisType: TwoPoints/FaceNormal/CylinderCenterline/PlaneIntersection/AlongEdge + wxButton* m_axis_pick_face{nullptr}; wxStaticText* m_axis_face_lbl{nullptr}; + wxButton* m_axis_pick_edge{nullptr}; wxStaticText* m_axis_edge_lbl{nullptr}; + ComboBox* m_axis_plane_a{nullptr}; + ComboBox* m_axis_plane_b{nullptr}; + wxSpinCtrlDouble* m_axis_p1x{nullptr}; wxSpinCtrlDouble* m_axis_p1y{nullptr}; wxSpinCtrlDouble* m_axis_p1z{nullptr}; + wxSpinCtrlDouble* m_axis_p2x{nullptr}; wxSpinCtrlDouble* m_axis_p2y{nullptr}; wxSpinCtrlDouble* m_axis_p2z{nullptr}; + int m_ax_face_body{-1}, m_ax_face{-1}; + int m_ax_edge_body{-1}, m_ax_edge{-1}; + AxisPick m_axis_pick{AxisPick::None}; + + // CoordSys controls (datum coordinate system: point + orthonormal frame). + ComboBox* m_coordsys_type{nullptr}; // CoordSysType: PointWorld/FaceAndDirection + ComboBox* m_cs_body{nullptr}; // body-focus chooser: restrict picking to one body + wxSpinCtrlDouble* m_cs_x{nullptr}; wxSpinCtrlDouble* m_cs_y{nullptr}; wxSpinCtrlDouble* m_cs_z{nullptr}; + wxButton* m_cs_pick_face{nullptr}; wxStaticText* m_cs_face_lbl{nullptr}; + wxButton* m_cs_pick_edge{nullptr}; wxStaticText* m_cs_edge_lbl{nullptr}; + wxSpinCtrlDouble* m_cs_hx{nullptr}; wxSpinCtrlDouble* m_cs_hy{nullptr}; wxSpinCtrlDouble* m_cs_hz{nullptr}; + int m_cs_face_body{-1}, m_cs_face{-1}; + int m_cs_edge_body{-1}, m_cs_edge{-1}; + CoordSysPick m_coordsys_pick{CoordSysPick::None}; + + // Onshape-style docked value-entry card (Angle/Radius/Diameter/Offset/Fillet). + wxSizer* m_box_value{nullptr}; + wxStaticText* m_value_label{nullptr}; + wxTextCtrl* m_value_input{nullptr}; // plain text field: forces en ('.') decimals + double m_value_min{0.0}; // range for confirm-time clamping + double m_value_max{0.0}; + std::function<void(double)> m_value_cont; // deferred apply, run on Confirm + std::function<void()> m_value_cancel; // optional action when the card is cancelled + + // Feature tree: a wxTreeCtrl with per-feature-type icons. Callers keep using + // integer row indices via tree_selection()/set_tree_selection(); m_tree_items + // maps feature order -> tree node, rebuilt by refresh_tree(). + wxTreeCtrl* m_tree{nullptr}; + wxTreeCtrl* m_parts{nullptr}; // Bodies list under the feature tree + wxStaticText* m_parts_label{nullptr}; // its "Bodies" caption (hidden when empty) + wxBoxSizer* m_parts_hdr{nullptr}; // Bodies card header (icon + title) + wxStaticLine* m_parts_rule{nullptr}; // rule under that header + wxBoxSizer* m_hdr_tree_row{nullptr}; // Feature tree header: title + row actions + wxStaticText* m_hdr_tree{nullptr}; // its title label + wxImageList* m_tree_images{nullptr}; + std::vector<wxTreeItemId> m_tree_items; + // Parts list: tree rows for each body (parallel to m_doc.bodies). Selecting one + // highlights that body and makes it the target for the next op. + std::vector<wxTreeItemId> m_tree_body_items; + + // Section views (non-destructive): named "Section View N" entries listed in the tree, each a + // horizontal clip height. View-only — NOT bodies/features, never serialized. Key X adds one; + // clicking a row activates it (again = off); Delete removes it; Alt+Wheel moves the active one. + // Section view (single, non-destructive): ONE horizontal clip that hides half the model to + // inspect inside — solid, no ghost of the hidden half. Toggled on/off; Flip shows the other + // half. Never a body, no tree entry. + bool m_section_on{false}; + double m_section_cut_z{0.0}; + bool m_section_upper{false}; // false = keep lower half, true = upper + ScalableButton* m_section_flip_btn{nullptr}; // toolbar action; enabled only while the section is on + void toggle_section_view(); // Section View button / X: on <-> off + void flip_section_view(); // Flip button / F: opposite half + void update_section_flip_btn(); // enable the Flip button iff the section is on + // Per-body visibility (parallel to m_doc.bodies; index stable across recompute since + // bodies are appended in feature order). Empty/grown to all-visible by sync_body_visible(). + std::vector<bool> m_body_visible; + void sync_body_visible(); // grow/shrink m_body_visible to bodies.size() + // Per-body display translation (Move-body, M5). Parallel to m_doc.bodies; default + // identity. Applied to the display/pick meshes only — the OCCT shape (and face/edge + // global ids) is never touched, so dress-up targeting stays stable across a move. + std::vector<Transform3d> m_body_xform; + std::vector<TriangleMesh> m_disp_body_meshes; // display_body_meshes with m_body_xform applied + TriangleMesh m_disp_pick_mesh; // combined pick mesh with m_body_xform applied + void sync_body_xform(); // grow m_body_xform to bodies.size() (identity) + void rebuild_disp_meshes(); // recompute m_disp_* from m_doc + m_body_xform + void feed_bodies(); // push m_disp_* + visibility/xform to the viewport + void on_move_body(); // start the move gizmo on the selected body + void arm_transform_gizmo(); // arm the move gizmo on the Transform card's body (add mode only) + void on_set_body_color(); // Color tool: pick a per-body display colour override + void on_boolean_tool(); // Boolean (combine bodies): needs two solids, then opens the tool + int tree_selection() const; // selected feature row, or wxNOT_FOUND + int tree_body_selection() const; // selected Parts-list body index, or -1 + void refresh_parts(); // rebuild the Bodies list under the feature tree + void sync_sidebar_width(); // keep the panel as wide as Prepare's sidebar + void set_tree_selection(int row); + static int tree_icon_for(CadFeatureType t); + + wxStaticText* m_status{nullptr}; + // m_status's foreground as created, captured before any caller touches it. Callers signal + // "no opinion" by setting wxNullColour, which restores exactly this — so it is the only + // reliable way to tell a chosen colour (the error red) from the default. See set_status(). + wxColour m_status_default_fg; + // The guidance sentence for the step the armed sketch tool is on, kept so a transient + // readout (the live length/angle while a segment is being dragged) can be appended to it + // instead of replacing it — the guidance used to vanish on the first mouse move after a + // click, which is precisely when it is needed. 1c0c. + wxString m_sketch_step; + // mode is a DesignSketchTool::Mode; passed as an int because this header deliberately does + // not include the tool's, and the .cpp (which does) casts it back. + void on_sketch_step(int mode, int step, int picks); + wxStaticText* m_dof_status{nullptr}; // DoF / constraint-state readout (P3) + // Last live-solve result, so entering Constrain can restore the readout without a solve. + int m_dof_last{-1}; + bool m_dof_last_ok{true}; + bool m_dof_last_has{false}; + int m_feature_counter{0}; + + std::vector<wxButton*> m_confirm_btns; + + // Edit-in-place state: add-mode is m_edit_index == -1. Single-feature edit + // (Sketch or Extrude independently) uses only m_edit_index as the row to replace. + int m_edit_index{-1}; + + // Tree row of the sketch currently being constrained (-1 = not constraining). + int m_constrain_feat{-1}; + + // Constraint-manager card (C3.4): header + a rebuildable list of constraint rows. + wxSizer* m_box_constraints{nullptr}; + wxStaticText* m_hdr_constraints{nullptr}; + wxSizer* m_constraint_rows{nullptr}; + int m_constraint_sel{-1}; // highlighted constraint row, or -1 +}; + +}} // namespace Slic3r::GUI + +#endif // slic3r_DesignPanel_hpp_ diff --git a/src/slic3r/GUI/CAD/DesignSketchTool.cpp b/src/slic3r/GUI/CAD/DesignSketchTool.cpp new file mode 100644 index 0000000000..716df658ed --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignSketchTool.cpp @@ -0,0 +1,11154 @@ +#include "slic3r/GUI/CAD/DesignSketchTool.hpp" +#include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/ImGuiWrapper.hpp" +#include "slic3r/GUI/CAD/SketchInlineEditor.hpp" +#include "slic3r/GUI/Plater.hpp" + +#include <imgui/imgui.h> +#include <imgui/imgui_internal.h> +#include "libslic3r/BuildVolume.hpp" +#include "slic3r/GUI/Camera.hpp" +#include "slic3r/GUI/3DScene.hpp" +#include "slic3r/GUI/GLShader.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" +#include "libslic3r/TriangleMesh.hpp" + +#include <GL/glew.h> +#include <wx/gdicmn.h> +#include <algorithm> +#include <climits> +#include <limits> +#include <array> +#include <cmath> +#include <cstdio> +#include <cstdarg> +#include <cstdlib> + +namespace Slic3r { +namespace GUI { + +// How many chords an arc is drawn with. loop_report corrects each arc's area back to the true +// curve using this exact number, so the two MUST agree — changing it here without updating the +// correction silently biases every reported area. +static constexpr int kArcFacets = 24; + +// Positioning helpers (defined lower down, used by the dimension methods above them). +static bool entity_ref_point(const SketchEntity& e, Vec2d& out); +static void translate_entity(SketchEntity& e, const Vec2d& d); +// Pick-distance helpers (defined lower down; used earlier by the edit-op gizmo). +static double point_segment_dist(const Vec2d& p, const Vec2d& a, const Vec2d& b); +static double entity_pick_dist(const Vec2d& p, const SketchEntity& e); +static bool point_in_poly(const Vec2d& q, const std::vector<Vec2d>& poly); +static bool ray_triangle(const Vec3d& ro, const Vec3d& rd, const Vec3d& v0, const Vec3d& v1, + const Vec3d& v2, double& t); +static double ray_segment_dist3(const Vec3d& ro, const Vec3d& rd, const Vec3d& a, const Vec3d& b); + +// Project a world-space point to canvas screen pixels (device px, GL viewport units; +// origin top-left after the GL y-flip). Mirrors GLCanvas3D's world->screen pattern: +// projection * view, perspective divide, NDC -> viewport. Returns (-1,-1) if behind. +// (Retained for auto-emitted dimensions in Phase B, which have no click to anchor to; +// needs the design canvas's own camera/viewport, not the plater's.) +[[maybe_unused]] static wxPoint world_to_screen_px(const Camera& cam, const Vec3d& world) +{ + // NB: multiply the raw 4x4 matrices, NOT the Transform3d objects — the projection is not + // affine, so Transform*Transform mangles it (Eigen assumes affine) and yields garbage w. + const Eigen::Matrix4d m = cam.get_projection_matrix().matrix() * cam.get_view_matrix().matrix(); + const Eigen::Vector4d clip = m * world.homogeneous(); + if (std::abs(clip.w()) < 1e-9) return wxPoint(-1, -1); + const Vec3d ndc = clip.head<3>() / clip.w(); + const std::array<int, 4>& vp = cam.get_viewport(); + const double sx = vp[0] + (ndc.x() * 0.5 + 0.5) * vp[2]; + const double sy = vp[1] + (1.0 - (ndc.y() * 0.5 + 0.5)) * vp[3]; // GL y-up -> wx y-down + return wxPoint(int(sx + 0.5), int(sy + 0.5)); +} + +// The kernel's weld tolerance follows the app preference, and it must be pushed at EVERY +// point that starts a sketch session: a Constrain session never passes through begin(), and +// it uses region_loops()/connected_loop(), which read the same tolerance. Pushing in one +// place only would leave those sessions on whatever the previous session set. +static void push_auto_close_pref() +{ + Slic3r::set_sketch_auto_close(wxGetApp().is_auto_close_sketch_loops()); +} + +void DesignSketchTool::begin(const SketchPlane& plane, Mode mode) +{ + push_auto_close_pref(); + + m_plane = plane; + m_mode = mode; + m_step_mode_last = -1; // a new session re-announces its step, even if it repeats the last + m_points.clear(); + m_entities.clear(); + m_construction = false; + m_has_cursor = false; + m_sel_a = m_sel_b = -1; + m_constrain_entities = false; + m_pick0 = m_pick1 = m_pick2 = -1; + m_constraint_hl.clear(); + m_constrain_cons.clear(); + m_awaiting_length = false; + m_autoedit_seen = 0; // baseline: no entities yet; first commit triggers edit + m_autoedit_pending = false; + m_selection.clear(); + m_point_sel.clear(); + m_constraints.clear(); + m_dimensions.clear(); + m_dim_has0 = false; + m_pending_dim = -1; + m_dof = -1; m_solve_ok = true; m_entity_conflict.clear(); + m_features.clear(); + m_open_feature = -1; + m_active = true; +} + +// Re-open a committed entity sketch for editing: mirror begin() (fresh Select session), +// then load the geometry + driving constraints, re-detect feature groups, and live-solve +// so handles/quotes/regular-drag work exactly as in the original draw session. +void DesignSketchTool::begin_edit(const std::vector<SketchEntity>& entities, + const std::vector<SketchEntityConstraintDef>& constraints, + const SketchPlane& plane) +{ + begin(plane, Mode::Select); + m_entities = entities; + m_constraints = constraints; + rebuild_features_from_entities(); + resolve_live(); +} + +// Walk the entity list grouping each consecutive CLOSED chain (entities are stored in +// gesture order, so a polygon/rect/slot's members are contiguous and end-to-end linked) +// and classify it: L,A,L,A -> Slot; 4 arcs (2 concentric + 2 caps) -> ArcSlot; +// L,A×4 (4 equal-radius corner arcs) -> RoundedRect; 4 right-angled lines -> Rect; +// N equal-length lines -> Polygon. Single/irregular entities stay ungrouped (they fall +// back to per-entity quotes). This reconstructs m_features for a re-opened sketch. +void DesignSketchTool::rebuild_features_from_entities() +{ + m_features.clear(); + m_open_feature = -1; + const int n = int(m_entities.size()); + using T = SketchEntity::Type; + auto start = [&](int i) { return m_entities[i].p0; }; + auto end = [&](int i) { const SketchEntity& e = m_entities[i]; + return (e.type == T::Line || e.type == T::Arc) ? e.p1 : e.p0; }; + auto is_near = [](const Vec2d& a, const Vec2d& b) { + return (a - b).norm() <= 0.05 + 1e-3 * std::max(a.norm(), b.norm()); }; + + int i = 0; + while (i < n) { + int j = i; bool closed = false; // greedily extend a consecutive chain + while (j + 1 < n && is_near(end(j), start(j + 1))) { + ++j; + if ((j - i) >= 2 && is_near(end(j), start(i))) { closed = true; break; } + } + const int cnt = j - i + 1; + if (!closed || cnt < 3) { ++i; continue; } + + int arcs = 0; bool all_line = true; + for (int k = i; k <= j; ++k) { + if (m_entities[k].type == T::Arc) ++arcs; + if (m_entities[k].type != T::Line) all_line = false; + } + Vec2d c(0, 0); for (int k = i; k <= j; ++k) c += start(k); c /= double(cnt); + Feature f; f.begin = i; f.end = j + 1; f.c0 = c; + + if (cnt == 4 && arcs == 2 && + m_entities[i].type == T::Line && m_entities[i + 1].type == T::Arc && + m_entities[i + 2].type == T::Line && m_entities[i + 3].type == T::Arc) { + f.kind = FeatureKind::Slot; // make_slot: top, cap@c1, bottom, cap@c0 + f.c0 = m_entities[i + 3].center; + f.c1 = m_entities[i + 1].center; + f.param = m_entities[i + 1].radius; + m_features.push_back(f); + } else if (cnt == 4 && arcs == 4 && + is_near(m_entities[i].center, m_entities[i + 2].center) && + std::abs(m_entities[i + 1].radius - m_entities[i + 3].radius) <= + 0.02 * std::max(m_entities[i + 1].radius, 1e-6) && + m_entities[i].radius > m_entities[i + 2].radius) { + // make_arc_slot: [0]outer(Rc+w), [1]cap@E(w), [2]inner(Rc-w), [3]cap@S(w). + // c0=main centre, c1=centreline start (cap@S centre = Sc), param=half-width. + f.kind = FeatureKind::ArcSlot; + f.c0 = m_entities[i].center; + f.c1 = m_entities[i + 3].center; + f.param = m_entities[i + 3].radius; + m_features.push_back(f); + } else if (cnt == 8 && arcs == 4 && + m_entities[i].type == T::Line && m_entities[i + 1].type == T::Arc && + m_entities[i + 2].type == T::Line && m_entities[i + 3].type == T::Arc && + m_entities[i + 4].type == T::Line && m_entities[i + 5].type == T::Arc && + m_entities[i + 6].type == T::Line && m_entities[i + 7].type == T::Arc) { + // rounded_rect_entities: 4 corner arcs (equal radius r) at the inset corners. + // Recover the axis-aligned bounds from the arc centres ± r. + const double r = m_entities[i + 1].radius; + bool equal_r = true; + for (int k : {3, 5, 7}) + if (std::abs(m_entities[i + k].radius - r) > 0.02 * std::max(r, 1e-6)) + equal_r = false; + if (equal_r && r > 1e-6) { + double cxmin = 1e18, cxmax = -1e18, cymin = 1e18, cymax = -1e18; + for (int k : {1, 3, 5, 7}) { + const Vec2d& o = m_entities[i + k].center; + cxmin = std::min(cxmin, o.x()); cxmax = std::max(cxmax, o.x()); + cymin = std::min(cymin, o.y()); cymax = std::max(cymax, o.y()); + } + f.kind = FeatureKind::RoundedRect; + f.c0 = Vec2d(cxmin - r, cymin - r); // (xmin,ymin) + f.c1 = Vec2d(cxmax + r, cymax + r); // (xmax,ymax) + f.param = r; + m_features.push_back(f); + } + } else if (all_line) { + std::vector<double> sidelen(cnt); + for (int k = 0; k < cnt; ++k) sidelen[k] = (m_entities[i + k].p1 - m_entities[i + k].p0).norm(); + const double lmin = *std::min_element(sidelen.begin(), sidelen.end()); + const double lmax = *std::max_element(sidelen.begin(), sidelen.end()); + const bool equal_sides = lmin > 1e-6 && (lmax - lmin) / lmax < 0.02; + bool all_right = true; + for (int k = 0; k < cnt && all_right; ++k) { + Vec2d u = m_entities[i + k].p1 - m_entities[i + k].p0; + Vec2d v = m_entities[i + (k + 1) % cnt].p1 - m_entities[i + (k + 1) % cnt].p0; + if (u.norm() < 1e-9 || v.norm() < 1e-9) { all_right = false; break; } + if (std::abs(u.normalized().dot(v.normalized())) > 0.06) all_right = false; // ~3.4° + } + if (cnt == 4 && all_right) { + f.kind = FeatureKind::CornerRect; f.c0 = start(i); f.c1 = start(i + 2); + m_features.push_back(f); + } else if (equal_sides) { + f.kind = FeatureKind::Polygon; f.c0 = c; f.c1 = start(i); + f.sides = cnt; f.param = (start(i) - c).norm(); + m_features.push_back(f); + } + } + i = j + 1; + } +} + +void DesignSketchTool::set_tool(Mode mode) +{ + // A READY edit-op carries the user's typed or dragged value, so switching tools commits it + // rather than dropping it — the same rule Tab follows in the dimension editor. Discarding it + // here is most of why Fillet looked like it simply did not work: every documented route (type + // the radius, or drag the arrow) left the op ready-but-pending, and the next tool click threw + // the value away and reverted the corner to sharp, with nothing on screen saying so. + // This MUST run before m_mode is reassigned: op_ready() and confirm_op() both switch on + // m_mode, so after the assignment they would test the tool being switched TO. That read + // op_ready()==0 with a=0 b=3 val=28.205 sitting right there — picked, valued, and dropped. + if (op_ready()) confirm_op(); + + // An OPEN inline value field freezes the canvas (on_mouse_impl returns early while + // m_awaiting_length) and blocks every keyboard shortcut (in_text includes inline_busy()). + // Drawing a rectangle opens one automatically for its Width/Height, so after a rectangle the + // sketch was STUCK: pressing C did nothing because the key never reached this function, and + // clicking on the canvas did nothing because the canvas was frozen. Committing here accepts + // the typed value and closes the field, which is the same rule the ready-edit-op above + // follows — leaving a tool must not silently discard what the user entered. + if (on_inline_commit) on_inline_commit(); + + // Switch the active drawing tool without dropping accumulated entities. + m_mode = mode; + m_points.clear(); + m_has_cursor = false; + // DRAIN THE QUEUED DIMENSIONS, do not just resync the baseline. on_inline_commit() above + // commits the field that is open, and the commit callback installed by + // open_next_autoedit_dim does `++m_autoedit_dim_idx; CallAfter(open_next_autoedit_dim)` — + // so the switch's OWN commit schedules the next queued field, which then opens on top of the + // tool the user just armed. Measured: draw a rectangle, its Width field opens, arm Line from + // the offer; Width commits, the status line reads "Line — click start, then end", and the + // rectangle's Height field is sitting over it. (The keyboard cannot reproduce it: in_text + // includes inline_busy(), so letters are swallowed while a field is open — the switch has to + // come from the menu, the toolbar or the MCP socket.) + // + // reset_autoedit() is the existing helper for exactly this and its comment already says it + // "mirrors set_tool's resync" — the three lines that used to be here were that mirror drifting + // out of step, missing the two members that matter. The already-queued CallAfter then finds + // m_autoedit_dim_idx == -1 and returns through the guard at the top of open_next_autoedit_dim. + // + // The current value is COMMITTED rather than cancelled, matching the ready-edit-op rule a few + // lines above and Tab in the dimension editor. Esc is the gesture that means keep-as-drawn; a + // tool switch is not Esc. + reset_autoedit(); + + // An abandoned gesture must not leave its half-open Feature behind. begin_feature() pushes a + // Feature with end == begin immediately and end_feature() is what fills it in — and pops it + // when the gesture appended nothing. Switching tools mid-gesture skips end_feature entirely, + // so a zero-span Feature stays in m_features for good and m_open_feature stays set, which + // also gates the auto-edit trigger for whatever is drawn next. + if (m_open_feature >= 0 && m_open_feature < int(m_features.size()) + && m_features[m_open_feature].end <= m_features[m_open_feature].begin) + m_features.pop_back(); // always the last one: begin_feature pushed it + m_open_feature = -1; + + // Constrain-mode picks and the imported-art transform outlived the tool that made them. + // Neither can misfire while another mode is active, which is why this is quieter than the + // dimension picks — but coming BACK to Constrain resurrected picks made before leaving, + // possibly against entities deleted in between. Reset them the way begin_constrain does. + m_sel_a = m_sel_b = -1; + m_constrain_entities = false; + reset_xform(); // cancel() already does this; a tool switch is just as much a leave + // A READY edit-op carries the user's typed or dragged value, so switching tools commits it + // rather than dropping it — the same rule Tab follows in the dimension editor. Discarding it + // here is most of why Fillet looked like it simply did not work: every documented route (type + // the radius, or drag the arrow) left the op ready-but-pending, and the next tool click threw + // the value away and reverted the corner to sharp, with nothing on screen saying so. + reset_op(); // drop any in-progress (not yet ready) edit-op gizmo + reset_tf(); // drop any in-progress transform gizmo + // A pick that survives the tool that made it is invisible, and the first sign of it is a + // constraint or a dimension landing on geometry the user did not choose. Drop the modal + // picks left armed by the tool we are leaving: the Dimension tool's first pick, the + // Constrain tool's picks, and the individual point selection. + m_dim_has0 = false; + m_dim_e0 = -1; + m_dim_r0 = SketchPointRole::P0; + m_pick0 = m_pick1 = m_pick2 = -1; + m_point_sel.clear(); + m_selection.clear(); + if (on_selection_changed) on_selection_changed(0); +} + +void DesignSketchTool::cancel() +{ + close_session_chrome(); // same orphaned-field freeze as finish() — see yce + m_active = false; + m_step_mode_last = -1; + m_points.clear(); + m_entities.clear(); + m_construction = false; + m_has_cursor = false; + m_sel_a = m_sel_b = -1; + m_constrain_entities = false; + m_pick0 = m_pick1 = m_pick2 = -1; + m_constraint_hl.clear(); + m_constrain_cons.clear(); + m_awaiting_length = false; + m_selection.clear(); + m_point_sel.clear(); + m_constraints.clear(); + m_dimensions.clear(); + m_dim_has0 = false; + m_pending_dim = -1; + m_dof = -1; m_solve_ok = true; m_entity_conflict.clear(); + m_features.clear(); + m_open_feature = -1; + reset_op(); + reset_xform(); + reset_tf(); +} + +// CadLevel::Gesture inside a sketch: drop the entity being drawn, keep the tool armed. +bool DesignSketchTool::abort_gesture() +{ + if (m_points.empty()) return false; + m_points.clear(); + m_has_cursor = false; + return true; +} + +// CadLevel::Tool inside a sketch: an armed draw/edit tool falls back to Select. +// Drop any pending edit-op BEFORE the downgrade: set_tool commits a ready one, and Esc must +// cancel it, never apply it. Right-click already discards it through its own branch. +bool DesignSketchTool::disarm_tool() +{ + if (m_mode == Mode::Select) return false; + reset_op(); + set_tool(Mode::Select); + return true; +} + +// Esc / right-click while active: layered exit (Onshape-like), and layered is where it stops. +// Abort an in-progress entity first, then drop a draw tool back to Select, then — only if the +// session holds NOTHING a user could mourn — leave it. +// +// It used to have a fourth layer: refuse once, and let the SECOND consecutive request destroy a +// drawn sketch. That is the "I pressed Esc twice and my rectangle was gone" report, and no +// warning makes it acceptable, because the two presses are never deliberate — the first is aimed +// at a value field or a tool and the second at the tool underneath it. A session holding geometry +// is now left ONLY through Finish (keep) or Cancel (discard), both of which say which they are. +// This is the single decision point for every caller, keyboard and mouse alike, so the guarantee +// cannot be re-opened by adding a route. +void DesignSketchTool::request_exit() +{ + if (abort_gesture()) return; + if (disarm_tool()) return; + if (live_sketch_has_work()) { if (on_exit_refused) on_exit_refused(); return; } + if (on_exit) on_exit(); + else cancel(); +} + +void DesignSketchTool::request_undo_redo(bool redo) +{ + if (on_undo_redo) on_undo_redo(redo); +} + +void DesignSketchTool::clear_selection() +{ + if (m_selection.empty() && m_point_sel.empty()) return; + m_selection.clear(); + m_point_sel.clear(); + if (on_selection_changed) on_selection_changed(0); +} + +void DesignSketchTool::delete_selected() +{ + if (m_selection.empty()) return; + const int n = int(m_entities.size()); + std::vector<bool> del(n, false); + for (int i : m_selection) + if (i >= 0 && i < n) del[i] = true; + // old index -> new index (or -1 if deleted), to fix up constraint references. + std::vector<int> remap(n, -1); + int next = 0; + for (int i = 0; i < n; ++i) + if (!del[i]) remap[i] = next++; + for (int i = n - 1; i >= 0; --i) + if (del[i]) m_entities.erase(m_entities.begin() + i); + // Drop constraints touching a deleted entity; remap the survivors. + std::vector<SketchEntityConstraintDef> kept; + auto live = [&](int e) { return e < 0 || (e < n && remap[e] >= 0); }; + auto map = [&](int e) { return e < 0 ? -1 : remap[e]; }; + for (SketchEntityConstraintDef c : m_constraints) { + if (!live(c.ea) || !live(c.eb) || !live(c.ec)) continue; + c.ea = map(c.ea); c.eb = map(c.eb); c.ec = map(c.ec); + kept.push_back(c); + } + m_constraints.swap(kept); + m_selection.clear(); + m_point_sel.clear(); + // v1: placed quotes reference entity indices that have shifted; drop them rather + // than risk a dangling reference (the driving constraints survive, reindexed). + m_dimensions.clear(); + m_dim_has0 = false; + m_pending_dim = -1; + // The Dimension tool's pending FIRST pick is the same dangling-reference hazard as the placed + // quotes just cleared above: it references an entity index that has shifted or gone away, and + // a stale m_dim_e0 would dereference out of range on the next click. Drop it too. + m_dim_e0 = -1; + m_dim_r0 = SketchPointRole::P0; + + // FEATURE GROUPS hold [begin,end) ranges into m_entities, and every index past a deletion has + // just moved. Left alone they point at other people's geometry: feature_of() then answers with + // a group the user never drew, and the rect/slot/polygon handles and live quotes follow it. + // Survivors are remapped (a contiguous range stays contiguous, since the remap preserves + // order); a group that lost any member is dropped, the same rule the placed quotes above + // already follow — dangling is worse than absent. + { + std::vector<Feature> kept_f; + for (const Feature& f : m_features) { + if (f.begin < 0 || f.end > n || f.end <= f.begin) continue; + bool whole = true; + for (int k = f.begin; k < f.end; ++k) + if (del[k]) { whole = false; break; } + if (!whole) continue; + Feature g = f; + g.begin = remap[f.begin]; + g.end = remap[f.end - 1] + 1; + kept_f.push_back(g); + } + m_features.swap(kept_f); + m_open_feature = -1; + } + + // The draw-then-edit QUEUE outlives the entities it was queued for. Its own helper says so: + // "Removing an entity that still has a deferred auto-edit would otherwise open a field on a + // now-deleted entity and freeze the flow" — it was simply never called from here. Measured: + // delete a rectangle whose Width/Height were still queued, draw a circle, type its radius — + // the field opens, the digits go in, and the radius does not move, because the field belongs + // to a rectangle that no longer exists. ua9g. + reset_autoedit(); + + // And re-solve, so the sketch's reported degrees of freedom describe the sketch that is + // actually there. Without this, sketch_describe answered dof=16 for a document holding one + // circle — the DoF of the geometry that had just been deleted. + resolve_live(); + if (on_selection_changed) on_selection_changed(0); +} + +// Convert the selection to/from construction geometry (6zic). The Construction +// checkbox only ever set the mode for what you draw NEXT, so a line drawn as real geometry +// could never become a guide, nor a guide become real. Whole Feature groups flip together: +// a rectangle is four Line entities and converting three of them is never what was meant. +int DesignSketchTool::toggle_selection_construction() +{ + if (!selection_valid() || m_selection.empty()) return 0; + std::vector<bool> hit(m_entities.size(), false); + for (int i : m_selection) { + const int f = feature_of(i); + if (f >= 0) + for (int k = m_features[f].begin; k < m_features[f].end; ++k) hit[k] = true; + else + hit[i] = true; + } + // One direction for the whole batch: any real geometry in it -> all become construction. + bool any_real = false; + for (size_t i = 0; i < hit.size(); ++i) + if (hit[i] && !m_entities[i].construction) { any_real = true; break; } + int n = 0; + for (size_t i = 0; i < hit.size(); ++i) + if (hit[i] && m_entities[i].construction != any_real) { m_entities[i].construction = any_real; ++n; } + return n; +} + +bool DesignSketchTool::selection_valid() const +{ + for (int i : m_selection) + if (i < 0 || i >= int(m_entities.size())) return false; + return true; +} + +DesignSketchTool::DimType DesignSketchTool::dimension_kind() const +{ + if (!selection_valid()) return DimType::None; + if (m_selection.size() == 1) { + switch (m_entities[m_selection[0]].type) { + case SketchEntity::Type::Line: return DimType::Length; + case SketchEntity::Type::Circle: return DimType::Diameter; + case SketchEntity::Type::Arc: return DimType::Radius; + default: return DimType::None; + } + } + if (m_selection.size() == 2) { + const SketchEntity& a = m_entities[m_selection[0]]; + const SketchEntity& b = m_entities[m_selection[1]]; + const bool aLine = (a.type == SketchEntity::Type::Line); + const bool bLine = (b.type == SketchEntity::Type::Line); + Vec2d tmp(0, 0); + if (aLine && bLine) return DimType::Angle; + // one line + one point-like (point / circle-centre / arc-centre) + if (aLine && entity_ref_point(b, tmp)) return DimType::DistanceToLine; + if (bLine && entity_ref_point(a, tmp)) return DimType::DistanceToLine; + // two point-likes -> centre/point distance (0 = coincident/concentric) + if (entity_ref_point(a, tmp) && entity_ref_point(b, tmp)) return DimType::Distance; + } + return DimType::None; +} + +double DesignSketchTool::dimension_current() const +{ + switch (dimension_kind()) { + case DimType::Length: { const auto& e = m_entities[m_selection[0]]; return (e.p1 - e.p0).norm(); } + case DimType::Diameter: return 2.0 * m_entities[m_selection[0]].radius; + case DimType::Radius: return m_entities[m_selection[0]].radius; + case DimType::Angle: { + const auto& a = m_entities[m_selection[0]]; + const auto& b = m_entities[m_selection[1]]; + const Vec2d da = a.p1 - a.p0, db = b.p1 - b.p0; + const double na = da.norm(), nb = db.norm(); + if (na < 1e-9 || nb < 1e-9) return 0.0; + const double c = std::max(-1.0, std::min(1.0, da.dot(db) / (na * nb))); + return std::acos(c) * 180.0 / M_PI; + } + case DimType::Distance: { + Vec2d ra(0, 0), rb(0, 0); + entity_ref_point(m_entities[m_selection[0]], ra); + entity_ref_point(m_entities[m_selection[1]], rb); + return (rb - ra).norm(); + } + case DimType::DistanceToLine: { + const SketchEntity& a = m_entities[m_selection[0]]; + const SketchEntity& b = m_entities[m_selection[1]]; + const bool aLine = (a.type == SketchEntity::Type::Line); + const SketchEntity& L = aLine ? a : b; + const SketchEntity& P = aLine ? b : a; + Vec2d rp(0, 0); entity_ref_point(P, rp); + Vec2d dir = L.p1 - L.p0; + const double n = dir.norm(); + if (n < 1e-9) return 0.0; + const Vec2d nrm(-dir.y() / n, dir.x() / n); // unit normal to the line + return std::abs((rp - L.p0).dot(nrm)); + } + default: return 0.0; + } +} + +void DesignSketchTool::apply_angle_between(int ia, int ib, double deg) +{ + SketchEntity& A = m_entities[ia]; + SketchEntity& B = m_entities[ib]; + const Vec2d aE[2] = { A.p0, A.p1 }; + const Vec2d bE[2] = { B.p0, B.p1 }; + int si = -1, sj = -1; + double best = 1e-6; + for (int i = 0; i < 2; ++i) + for (int j = 0; j < 2; ++j) { + const double d = (aE[i] - bE[j]).squaredNorm(); + if (d < best) { best = d; si = i; sj = j; } + } + Vec2d pivot, refDir, bMoving; + bool moveP1; + if (si >= 0) { // shared vertex: pivot there, A's arm is the reference + pivot = aE[si]; + refDir = aE[1 - si] - pivot; + moveP1 = (sj == 0); // move the B end that is NOT at the pivot + bMoving = moveP1 ? B.p1 : B.p0; + } else { // no shared vertex: pivot B.p0, A's direction is reference + pivot = B.p0; + refDir = A.p1 - A.p0; + moveP1 = true; + bMoving = B.p1; + } + double nr = refDir.norm(); + if (nr < 1e-9) return; + refDir /= nr; + const Vec2d db = bMoving - pivot; + const double Lb = db.norm(); + if (Lb < 1e-9) return; + const double cross = refDir.x() * db.y() - refDir.y() * db.x(); + const double sign = (cross >= 0.0) ? 1.0 : -1.0; // keep B on its current side + const double rad = sign * deg * M_PI / 180.0; + const Vec2d ndir(refDir.x() * std::cos(rad) - refDir.y() * std::sin(rad), + refDir.x() * std::sin(rad) + refDir.y() * std::cos(rad)); + const Vec2d nb = pivot + Lb * ndir; + if (moveP1) B.p1 = nb; else B.p0 = nb; +} + +void DesignSketchTool::apply_dimension(double v) +{ + switch (dimension_kind()) { + case DimType::Length: { + SketchEntity& e = m_entities[m_selection[0]]; + const Vec2d d = e.p1 - e.p0; + const double r = d.norm(); + if (r > 1e-9 && v > 1e-9) e.p1 = e.p0 + (v / r) * d; + break; + } + case DimType::Diameter: if (v > 1e-9) m_entities[m_selection[0]].radius = 0.5 * v; break; + case DimType::Radius: if (v > 1e-9) m_entities[m_selection[0]].radius = v; break; + case DimType::Angle: apply_angle_between(m_selection[0], m_selection[1], v); break; + case DimType::Distance: { + // Move the 2nd selection so its reference point sits at distance v from the + // 1st (v == 0 -> coincident / concentric). Translate the whole entity. + if (v < 0.0) break; + Vec2d ra(0, 0), rb(0, 0); + entity_ref_point(m_entities[m_selection[0]], ra); + SketchEntity& b = m_entities[m_selection[1]]; + entity_ref_point(b, rb); + const Vec2d d = rb - ra; + const double r = d.norm(); + Vec2d target = ra; + if (r > 1e-9) target = ra + (v / r) * d; + else target = ra + Vec2d(v, 0.0); + translate_entity(b, target - rb); + break; + } + case DimType::DistanceToLine: { + // Move the point-like selection perpendicular to the line so its reference + // point is at distance v (v == 0 -> on the line / on the axis). + if (v < 0.0) break; + const bool aLine = (m_entities[m_selection[0]].type == SketchEntity::Type::Line); + const SketchEntity& L = m_entities[m_selection[aLine ? 0 : 1]]; + SketchEntity& P = m_entities[m_selection[aLine ? 1 : 0]]; + Vec2d rp(0, 0); entity_ref_point(P, rp); + Vec2d dir = L.p1 - L.p0; + const double n = dir.norm(); + if (n < 1e-9) break; + const Vec2d nrm(-dir.y() / n, dir.x() / n); + const double d0 = (rp - L.p0).dot(nrm); // current signed distance + const double sign = (d0 >= 0.0) ? 1.0 : -1.0; // keep the point on its side + translate_entity(P, (sign * v - d0) * nrm); + break; + } + default: break; + } + record_dimension_constraint(v); // store a driving constraint for this dimension + resolve_live(); // live-solve so the viewport shows the solved sketch + m_selection.clear(); + if (on_selection_changed) on_selection_changed(0); +} + +// Append the SketchEntityConstraintDef that makes the just-applied dimension a +// driving constraint (enforced by the kernel live and at commit). DistanceToLine +// records a PointOnLine constraint so "centre onto axis" persists through re-solve. +void DesignSketchTool::record_dimension_constraint(double v) +{ + const DimType k = dimension_kind(); + auto role = [&](int i) { + return (m_entities[i].type == SketchEntity::Type::Point) ? SketchPointRole::P0 + : SketchPointRole::Center; + }; + SketchEntityConstraintDef c; + switch (k) { + case DimType::Length: + c.type = SketchConstraintType::Distance; + c.ea = m_selection[0]; c.ra = SketchPointRole::P0; + c.eb = m_selection[0]; c.rb = SketchPointRole::P1; + c.value = v; m_constraints.push_back(c); break; + case DimType::Diameter: + c.type = SketchConstraintType::Diameter; c.ea = m_selection[0]; c.value = v; + m_constraints.push_back(c); break; + case DimType::Radius: + c.type = SketchConstraintType::Radius; c.ea = m_selection[0]; c.value = v; + m_constraints.push_back(c); break; + case DimType::Angle: + c.type = SketchConstraintType::Angle; + c.ea = m_selection[0]; c.eb = m_selection[1]; c.value = v; + m_constraints.push_back(c); break; + case DimType::Distance: { + const int ia = m_selection[0], ib = m_selection[1]; + if (v < 1e-9) c.type = SketchConstraintType::Coincident; + else { c.type = SketchConstraintType::Distance; c.value = v; } + c.ea = ia; c.ra = role(ia); c.eb = ib; c.rb = role(ib); + m_constraints.push_back(c); break; + } + case DimType::DistanceToLine: { + // Point-on-line driving constraint: hold the point-like entity at unsigned + // perpendicular distance v from the line (v == 0 -> on the axis). + const bool aLine = (m_entities[m_selection[0]].type == SketchEntity::Type::Line); + const int ip = m_selection[aLine ? 1 : 0]; // point-like (Point/Circle/Arc) + const int il = m_selection[aLine ? 0 : 1]; // line + c.type = SketchConstraintType::PointOnLine; + c.ea = ip; c.ra = role(ip); c.eb = il; c.value = v; + m_constraints.push_back(c); break; + } + default: break; // None: no driving constraint recorded + } +} + +// Onshape-style live solve: enforce all accumulated driving constraints on the +// in-session entities immediately, so the viewport reflects the solved sketch as +// each dimension/constraint is added (not only at commit). The pre-edit geometry +// is the solver's initial guess, keeping convergence local and side-preserving. +void DesignSketchTool::resolve_live() +{ + resolve_live_drag(-1, SketchPointRole::P0); +} + +void DesignSketchTool::resolve_live_drag(int dragged_ei, SketchPointRole dragged_role) +{ + const bool has = !m_constraints.empty(); + m_entity_conflict.assign(m_entities.size(), 0); + if (has) { + // Dragging a line endpoint must move ONLY that endpoint (changing the line's angle + + // length), anchoring the other end — Onshape behaviour. Without this, a constraint on + // the line (e.g. a length dimension or an inferred H/V) lets the solver relocate the + // un-dragged endpoint too, so the whole line appears to shift. Temporarily Fix the + // opposite endpoint for this drag-solve only (set_point already moved just the grabbed + // point, so the other end's current coord is its anchor). + std::vector<SketchEntityConstraintDef> cons = m_constraints; + const bool line_end = dragged_ei >= 0 && dragged_ei < int(m_entities.size()) && + m_entities[dragged_ei].type == SketchEntity::Type::Line && + (dragged_role == SketchPointRole::P0 || dragged_role == SketchPointRole::P1); + if (line_end) { + SketchEntityConstraintDef fix; + fix.type = SketchConstraintType::Fix; + fix.ea = dragged_ei; + fix.ra = (dragged_role == SketchPointRole::P0) ? SketchPointRole::P1 + : SketchPointRole::P0; + cons.push_back(fix); + } + const SketchSolveResult r = (dragged_ei >= 0) + ? sketch_solve_drag(m_entities, cons, dragged_ei, dragged_role) + : sketch_solve(m_entities, cons); + m_dof = r.dof; + m_solve_ok = r.ok; + // Flag every entity referenced by a conflicting constraint so render() can + // tint it red (Onshape/SolveSpace over-constrained feedback). + for (int bi : r.bad) { + if (bi < 0 || bi >= int(m_constraints.size())) continue; + const SketchEntityConstraintDef& c = m_constraints[bi]; + for (int e : {c.ea, c.eb, c.ec}) + if (e >= 0 && e < int(m_entity_conflict.size())) m_entity_conflict[e] = 1; + } + } else { + m_dof = -1; m_solve_ok = true; + } + if (on_solve_state) on_solve_state(m_dof, m_solve_ok, has); +} + +// ---- Onshape-style visual editing: feature grouping + handles ----------------- + +// Index of the Feature whose entity span contains ei, or -1 (last match wins so a +// later, tighter gesture shadows an earlier one if they ever overlap). +int DesignSketchTool::feature_of(int ei) const +{ + for (int i = int(m_features.size()) - 1; i >= 0; --i) + if (ei >= m_features[i].begin && ei < m_features[i].end) return i; + return -1; +} + +// Open a Feature spanning the entities a single gesture is about to append. The +// [begin,end) range is closed in end_feature() once the gesture's entities are in. +void DesignSketchTool::begin_feature(FeatureKind kind) +{ + Feature f; + f.kind = kind; + f.begin = int(m_entities.size()); + f.end = f.begin; + m_features.push_back(f); + m_open_feature = int(m_features.size()) - 1; +} + +// Close the open Feature: record its entity span end + the gesture's parametric +// anchors (centres / corners / half-width / sides) for later handle + dim rebuild. +void DesignSketchTool::end_feature(const Vec2d& c0, const Vec2d& c1, double param, int sides) +{ + if (m_open_feature < 0 || m_open_feature >= int(m_features.size())) return; + Feature& f = m_features[m_open_feature]; + f.end = int(m_entities.size()); + f.c0 = c0; + f.c1 = c1; + f.param = param; + f.sides = sides; + // Drop a degenerate feature (gesture appended nothing). + if (f.end <= f.begin) m_features.pop_back(); + m_open_feature = -1; +} + +// Forward decls: these ellipse helpers are defined further down but used by the +// handle/drag code above their definition. +static Vec2d ellipse_point(const Vec2d& c, double a, double b, double phi, double t); +static double ellipse_param_of(const Vec2d& center, double a, double b, double phi, const Vec2d& q); + +// Live handle set (A3: Line + Circle). Recomputed from solved geometry every frame, +// never persisted — so handles always track the current solve. Derived roles (here +// the circle RadiusHandle, which is NOT a serialized SketchPointRole) are what let a +// tool expose a parametric control its raw entity points don't carry. A4 routes a +// Select-mode drag through hit_test_handle + set_handle; later phases add the +// slot/rect/polygon/ellipse roles off the Feature groups. +std::vector<DesignSketchTool::Handle> DesignSketchTool::build_handles() const +{ + std::vector<Handle> hs; + hs.reserve(m_entities.size() * 2); + for (size_t i = 0; i < m_entities.size(); ++i) { + const SketchEntity& e = m_entities[i]; + switch (e.type) { + case SketchEntity::Type::Line: { + Handle a; a.role = HandleRole::P0; a.ei = int(i); a.pos = e.p0; hs.push_back(a); + Handle b; b.role = HandleRole::P1; b.ei = int(i); b.pos = e.p1; hs.push_back(b); + break; + } + case SketchEntity::Type::Circle: { + Handle c; c.role = HandleRole::Center; c.ei = int(i); c.pos = e.center; hs.push_back(c); + // RadiusHandle sits on the circle to the +x side of its centre; dragging it + // (A4) edits the radius. Pure geometry, no constraint of its own. + Handle r; r.role = HandleRole::RadiusHandle; r.ei = int(i); + r.pos = e.center + Vec2d(e.radius, 0.0); hs.push_back(r); + break; + } + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: { + // 3 grips: centre (translate), major-axis end (semi-major a + orientation phi), + // minor-axis end (semi-minor b). a=e.radius, b=e.rminor, phi=e.rotation. + // (EllipseArc also exposes its two endpoints via hit_test_point for sweep.) + const Vec2d um(std::cos(e.rotation), std::sin(e.rotation)); // major dir + const Vec2d un(-um.y(), um.x()); // minor dir + Handle c; c.role = HandleRole::Center; c.ei = int(i); c.pos = e.center; hs.push_back(c); + Handle ma; ma.role = HandleRole::MajorAxis; ma.ei = int(i); + ma.pos = e.center + um * e.radius; hs.push_back(ma); + Handle mi; mi.role = HandleRole::MinorAxis; mi.ei = int(i); + mi.pos = e.center + un * e.rminor; hs.push_back(mi); + break; + } + case SketchEntity::Type::BSpline: { + // One draggable grip per control pole; dragging a pole reshapes the curve. + for (size_t k = 0; k < e.ctrl.size(); ++k) { + Handle h; h.role = HandleRole::BSplineCtrl; h.ei = int(i); + h.ctrl_index = int(k); h.pos = e.ctrl[k]; hs.push_back(h); + } + break; + } + default: break; // Arc derived handles land in later chunks + } + } + return hs; +} + +// Nearest handle to plane-point p within tol. Ties broken by smallest distance. +bool DesignSketchTool::hit_test_handle(const Vec2d& p, double tol, Handle& out) const +{ + bool found = false; + double best = tol; + for (const Handle& h : build_handles()) { + const double d = (h.pos - p).norm(); + if (d <= best) { best = d; out = h; out.hovered = true; found = true; } + } + return found; +} + +// Recompute the hovered handle on a plain (no-button) move. Returns true ONLY when the +// hovered handle changes, so on_mouse forces a single repaint per transition rather than +// re-rendering on every motion event. A no-op (false) for non-Moving events. +bool DesignSketchTool::update_hover(GLCanvas3D& canvas, wxMouseEvent& evt) +{ + if (!evt.Moving()) return false; + Vec2d p; + screen_to_plane(canvas, evt, p); + // Zoom-aware pick tolerance: project a point a few px away and measure in plane units. + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 6, evt.GetY())); + const double tol = std::max(1e-3, (m_plane.project(r2.a, r2.vector()) - p).norm()); + const bool had = m_has_hover_handle; + const Handle prev = m_hover_handle; + Handle h; + m_has_hover_handle = hit_test_handle(p, tol, h); + if (m_has_hover_handle) m_hover_handle = h; + return (had != m_has_hover_handle) || + (m_has_hover_handle && (prev.ei != h.ei || prev.role != h.role)); +} + +// Apply a handle drag (A4). Point handles (P0/P1/Center) move the entity point and +// pin it in the drag-solve so constraints settle around the cursor. The derived +// RadiusHandle isn't a solver point — it edits the circle radius directly, then a +// full re-solve lets any driving Radius/Diameter constraint reassert (an unconstrained +// radius is a free DoF, so the solver keeps the new value). Slot/rect/polygon/ellipse +// roles land in later phases (they rebuild their Feature group). +void DesignSketchTool::set_handle(const Handle& h, const Vec2d& target) +{ + if (h.ei < 0 || h.ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[h.ei]; + switch (h.role) { + case HandleRole::P0: + set_point(h.ei, SketchPointRole::P0, target); resolve_live_drag(h.ei, SketchPointRole::P0); break; + case HandleRole::P1: + set_point(h.ei, SketchPointRole::P1, target); resolve_live_drag(h.ei, SketchPointRole::P1); break; + case HandleRole::Center: + set_point(h.ei, SketchPointRole::Center, target); resolve_live_drag(h.ei, SketchPointRole::Center); break; + case HandleRole::RadiusHandle: { + const double r = (target - e.center).norm(); + if (r > 1e-6) e.radius = r; + resolve_live(); + break; + } + case HandleRole::MajorAxis: { + // The major grip defines the major-axis vector: sets semi-major a + orientation phi. + const Vec2d d = target - e.center; + const double a = d.norm(); + if (a > 1e-6) { + e.rotation = std::atan2(d.y(), d.x()); + e.radius = std::max(a, e.rminor); // keep OCCT invariant a >= b + } + if (e.type == SketchEntity::Type::EllipseArc) { // endpoints ride the reshaped frame + e.p0 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.start_angle); + e.p1 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.end_angle); + } + resolve_live(); + break; + } + case HandleRole::MinorAxis: { + // The minor grip sets semi-minor b = perpendicular distance to the major axis. + const Vec2d um(std::cos(e.rotation), std::sin(e.rotation)); + const Vec2d un(-um.y(), um.x()); + const double b = std::abs((target - e.center).dot(un)); + if (b > 1e-6) e.rminor = std::min(b, e.radius); + if (e.type == SketchEntity::Type::EllipseArc) { + e.p0 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.start_angle); + e.p1 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.end_angle); + } + resolve_live(); + break; + } + case HandleRole::BSplineCtrl: { + // Move one control pole; the end poles mirror p0/p1 (kept in sync for picking). + const int k = h.ctrl_index; + if (k >= 0 && k < int(e.ctrl.size())) { + e.ctrl[k] = target; + if (k == 0) e.p0 = target; + if (k == int(e.ctrl.size()) - 1) e.p1 = target; + } + resolve_live(); + break; + } + default: break; + } +} + +// ---- Dimension tool (Mode::Dimension): click-to-place driving quotes ---------- + +bool DesignSketchTool::point_at(int ei, SketchPointRole role, Vec2d& out) const +{ + if (ei < 0 || ei >= int(m_entities.size())) return false; + const SketchEntity& e = m_entities[ei]; + switch (role) { + case SketchPointRole::P0: out = e.p0; return true; + case SketchPointRole::P1: out = e.p1; return true; + case SketchPointRole::Center: out = e.center; return true; + } + return false; +} + +// Move an entity point to v. Lines/Points set the coordinate directly; a circle/ +// arc centre translates the whole entity (arc endpoints ride along). Dragging an +// arc's endpoint is intentionally a no-op (it would redefine radius + angles). +void DesignSketchTool::set_point(int ei, SketchPointRole role, const Vec2d& v) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + switch (e.type) { + case SketchEntity::Type::Line: + if (role == SketchPointRole::P0) e.p0 = v; + else if (role == SketchPointRole::P1) e.p1 = v; + break; + case SketchEntity::Type::Point: + e.p0 = v; + break; + case SketchEntity::Type::Circle: + // p0 mirrors the centre for circles, which is the convention the solver both writes + // (SketchSolver.cpp:110) and restores after every solve (:421). Moving only e.center + // left the two disagreeing for the whole duration of a live drag, so anything reading + // p0 in that window saw the pre-drag position. + if (role == SketchPointRole::Center) { e.center = v; e.p0 = v; } + break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + if (role == SketchPointRole::Center) { + const Vec2d d = v - e.center; // rigid translate, keep radius/angles + e.center = v; e.p0 += d; e.p1 += d; + } + break; + case SketchEntity::Type::Ellipse: + if (role == SketchPointRole::Center) { e.center = v; e.p0 = v; } + break; + case SketchEntity::Type::BSpline: + // P0/P1 drag the end poles; Center rigidly translates the whole curve. + if (role == SketchPointRole::P0 && !e.ctrl.empty()) { e.ctrl.front() = v; e.p0 = v; } + else if (role == SketchPointRole::P1 && !e.ctrl.empty()) { e.ctrl.back() = v; e.p1 = v; } + else if (role == SketchPointRole::Center) { + const Vec2d d = v - (e.ctrl.empty() ? e.p0 : e.ctrl.front()); + for (auto& cp : e.ctrl) cp += d; + e.p0 += d; e.p1 += d; + } + break; + } +} + +// Nearest entity *point* (endpoint / centre) within tol, with its role. +bool DesignSketchTool::hit_test_point(const Vec2d& p, double tol, int& ei, SketchPointRole& role) const +{ + double best = tol; + bool found = false; + auto consider = [&](int i, SketchPointRole r, const Vec2d& q) { + const double d = (q - p).norm(); + if (d < best) { best = d; ei = i; role = r; found = true; } + }; + for (size_t i = 0; i < m_entities.size(); ++i) { + const SketchEntity& e = m_entities[i]; + switch (e.type) { + case SketchEntity::Type::Line: + consider(int(i), SketchPointRole::P0, e.p0); + consider(int(i), SketchPointRole::P1, e.p1); + break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + consider(int(i), SketchPointRole::P0, e.p0); + consider(int(i), SketchPointRole::P1, e.p1); + consider(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::Circle: + case SketchEntity::Type::Ellipse: + consider(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::BSpline: + consider(int(i), SketchPointRole::P0, e.p0); + consider(int(i), SketchPointRole::P1, e.p1); + break; + case SketchEntity::Type::Point: + consider(int(i), SketchPointRole::P0, e.p0); + break; + } + } + return found; +} + +double DesignSketchTool::measure_dim(const DimAnnot& a) const +{ + Vec2d pa, pb; + switch (a.kind) { + case DimType::Length: + return (a.ea >= 0 && a.ea < int(m_entities.size())) + ? (m_entities[a.ea].p1 - m_entities[a.ea].p0).norm() : 0.0; + case DimType::Diameter: + return (a.ea >= 0 && a.ea < int(m_entities.size())) ? 2.0 * m_entities[a.ea].radius : 0.0; + case DimType::Radius: + return (a.ea >= 0 && a.ea < int(m_entities.size())) ? m_entities[a.ea].radius : 0.0; + case DimType::Angle: { + // Single line: angle to the +X axis, normalised to [0,360). (Line-to-line angle + // dimensions use the legacy dialog path.) + if (a.ea < 0 || a.ea >= int(m_entities.size())) return 0.0; + const SketchEntity& e = m_entities[a.ea]; + if (e.type != SketchEntity::Type::Line) return 0.0; + const Vec2d d = e.p1 - e.p0; + if (d.squaredNorm() < 1e-18) return 0.0; + double deg = std::atan2(d.y(), d.x()) * 180.0 / M_PI; + if (deg < 0.0) deg += 360.0; + return deg; + } + case DimType::Distance: + return (point_at(a.ea, a.ra, pa) && point_at(a.eb, a.rb, pb)) ? (pb - pa).norm() : 0.0; + case DimType::DistanceToLine: { + if (!point_at(a.ea, a.ra, pa) || a.eb < 0 || a.eb >= int(m_entities.size())) return 0.0; + const SketchEntity& L = m_entities[a.eb]; + const Vec2d d = L.p1 - L.p0; + const double n = d.norm(); + if (n < 1e-9) return 0.0; + const Vec2d nrm(-d.y() / n, d.x() / n); + return std::abs((pa - L.p0).dot(nrm)); + } + default: return 0.0; + } +} + +// One driving constraint per (kind, operands) — update it in place rather than appending a +// second one every time its value is edited. +// +// Re-typing a quote used to push a duplicate alongside the original: draw a line and accept its +// length, and you get Distance(P0,P1)=64.9; click the quote later and type 30, and you get a +// SECOND Distance on the same two points asking for 30. That is over-constrained by +// construction, so the solver reported "Conflicting constraints" and refused to move anything — +// the number on screen changed and the geometry did not, which reads as the edit being ignored. +// A line carrying no dimension yet was unaffected, which is what made it look intermittent. +// +// Operand order is ignored: a Distance from A to B is the same constraint as B to A, and so is +// an Angle. Returns the index, so callers can keep the annotation's `con` link pointing at the +// constraint that is actually live — which is what makes the next edit an update too. +int DesignSketchTool::upsert_constraint(const SketchEntityConstraintDef& c) +{ + auto same_operands = [&](const SketchEntityConstraintDef& o) { + if (o.ea == c.ea && o.ra == c.ra && o.eb == c.eb && o.rb == c.rb) return true; + return o.ea == c.eb && o.ra == c.rb && o.eb == c.ea && o.rb == c.ra; + }; + for (int i = 0; i < int(m_constraints.size()); ++i) + if (m_constraints[i].type == c.type && same_operands(m_constraints[i])) { + m_constraints[i] = c; + return i; + } + m_constraints.push_back(c); + return int(m_constraints.size()) - 1; +} + +// The same rule for the visible annotation: one quote per (kind, operands), so repeated edits +// do not stack labels on top of each other reading different values. +int DesignSketchTool::upsert_dimension(const DimAnnot& a) +{ + for (int i = 0; i < int(m_dimensions.size()); ++i) { + const DimAnnot& o = m_dimensions[i]; + if (o.kind == a.kind && ((o.ea == a.ea && o.eb == a.eb) || (o.ea == a.eb && o.eb == a.ea))) { + const Vec2d keep = m_dimensions[i].label_pos; // don't teleport a placed label + m_dimensions[i] = a; + m_dimensions[i].label_pos = keep; + return i; + } + } + m_dimensions.push_back(a); + return int(m_dimensions.size()) - 1; +} + +SketchEntityConstraintDef DesignSketchTool::constraint_for(const DimAnnot& a) const +{ + SketchEntityConstraintDef c; + switch (a.kind) { + case DimType::Length: + c.type = SketchConstraintType::Distance; + c.ea = a.ea; c.ra = SketchPointRole::P0; + c.eb = a.ea; c.rb = SketchPointRole::P1; c.value = a.value; + break; + case DimType::Diameter: c.type = SketchConstraintType::Diameter; c.ea = a.ea; c.value = a.value; break; + case DimType::Radius: c.type = SketchConstraintType::Radius; c.ea = a.ea; c.value = a.value; break; + case DimType::Distance: + if (a.value < 1e-9) c.type = SketchConstraintType::Coincident; + else { c.type = SketchConstraintType::Distance; c.value = a.value; } + c.ea = a.ea; c.ra = a.ra; c.eb = a.eb; c.rb = a.rb; + break; + case DimType::DistanceToLine: + c.type = SketchConstraintType::PointOnLine; + c.ea = a.ea; c.ra = a.ra; c.eb = a.eb; c.value = a.value; + break; + default: break; + } + return c; +} + +// Measure the just-picked dimension, append its driving constraint, live-solve, and +// fire the value-card callback so the user can override the value. +int DesignSketchTool::place_dimension(DimAnnot a) +{ + a.value = measure_dim(a); + a.con = upsert_constraint(constraint_for(a)); + const int di = upsert_dimension(a); + resolve_live(); + open_value_editor(di); + return m_pending_dim; +} + +// Nearest placed-dimension label within tol (uses the centre cached by render). +int DesignSketchTool::hit_test_dimension(const Vec2d& p, double tol) const +{ + double best = tol; + int bi = -1; + for (size_t i = 0; i < m_dimensions.size(); ++i) { + const double d = (m_dimensions[i].label_pos - p).norm(); + if (d < best) { best = d; bi = int(i); } + } + return bi; +} + +// Reopen the value editor on an existing dimension (click/double-click its label). +void DesignSketchTool::edit_dimension(int di) +{ + if (di < 0 || di >= int(m_dimensions.size())) return; + open_value_editor(di); +} + +// Representative plane anchor for a dimension's value editor: the cached label centre +// once render has computed it, otherwise a geometric midpoint (length/distance) or the +// entity centre (radius/diameter). +Vec2d DesignSketchTool::dim_anchor(const DimAnnot& a) const +{ + if (a.label_pos.squaredNorm() > 1e-12) return a.label_pos; + Vec2d pa, pb; + if ((a.kind == DimType::Radius || a.kind == DimType::Diameter) && + point_at(a.ea, SketchPointRole::Center, pa)) + return pa; + const bool ga = point_at(a.ea, a.ra, pa); + const bool gb = point_at(a.eb, a.rb, pb); + if (ga && gb) return 0.5 * (pa + pb); + if (ga) return pa; + if (gb) return pb; + return Vec2d(0, 0); +} + +// Open the in-canvas value editor on dimension `di`. Projects the dimension's anchor +// to screen pixels and hands the host (DesignCanvas) a commit/cancel pair that drive +// the value through the existing set/cancel_dimension_value path. Falls back to the +// modal pick-complete callback when no inline-edit host is wired. +void DesignSketchTool::open_value_editor(int di) +{ + if (di < 0 || di >= int(m_dimensions.size())) return; + m_pending_dim = di; + if (!on_inline_edit) { + if (on_dimension_pick_complete) on_dimension_pick_complete(m_dimensions[di].value); + return; + } + const DimAnnot& a = m_dimensions[di]; + // Anchor the field OVER the dimension (project its label/anchor to the viewport), same as + // the draw-then-edit tools and Constrain mode; fall back to the click point if it projects + // off-screen. + wxPoint px(m_last_mouse_x, m_last_mouse_y); + const Camera& cam = wxGetApp().plater()->get_camera(); + const wxPoint lp = world_to_screen_px(cam, m_plane.to_world(dim_anchor(a))); + const std::array<int, 4>& vp = cam.get_viewport(); + if (lp.x >= vp[0] && lp.y >= vp[1] && lp.x <= vp[0] + vp[2] && lp.y <= vp[1] + vp[3]) + px = lp; + on_inline_edit(px, a.value, dimtype_title(a.kind), + [this](double v) { set_dimension_value(v); }, + [this]() { cancel_dimension_value(); }); +} + +// In-canvas editor for a line's angle-to-horizontal. Unlike length/radius, a single +// line's angle has no libslvs constraint here (SLVS_C_ANGLE is line-to-line), so the +// commit rotates the segment GEOMETRICALLY about P0 to the typed degrees, then re-solves +// — the angle is a free DoF, so the solver keeps the new orientation (mirrors the radius +// handle). Length-constrained lines keep their length. +void DesignSketchTool::open_angle_editor(int ei) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + if (m_entities[ei].type != SketchEntity::Type::Line) return; + if (!on_inline_edit) return; + DimAnnot a; a.kind = DimType::Angle; a.ea = ei; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, measure_dim(a), "Angle", + [this, ei](double deg) { set_line_angle(ei, deg); }, + []() {}); +} + +// Type the defining number of whatever is selected. One entry point for every 2D element, so +// the gesture is the same whichever tool drew it: point at it, right-click, type the value. +// +// This is what a sketch element was missing. Its endpoints could be dragged and its handles +// grabbed, but its own quantities — a line's LENGTH, an arc's RADIUS, a circle's DIAMETER, the +// ANGLE between two lines — were reachable only by arming the Dimension tool and re-picking the +// geometry that was already selected. The machinery was all here (dimension_kind / dimension_ +// current / apply_dimension); the way in was not. +bool DesignSketchTool::open_selection_dimension_editor() +{ + if (!on_inline_edit || !selection_valid()) return false; + const DimType k = dimension_kind(); + if (k == DimType::None) return false; + const char* title = "Value"; + switch (k) { + case DimType::Length: title = "Length"; break; + case DimType::Radius: title = "Radius"; break; + case DimType::Diameter: title = "Diameter"; break; + case DimType::Angle: title = "Angle"; break; + case DimType::Distance: title = "Distance"; break; + case DimType::DistanceToLine: title = "Distance"; break; + default: break; + } + // Anchor over the geometry it belongs to, not the panel: the value belongs to the element. + DimAnnot a; a.kind = k; + a.ea = m_selection.empty() ? -1 : m_selection[0]; + if (m_selection.size() > 1) a.eb = m_selection[1]; + const Vec2d at = dim_anchor(a); + const Camera& cam = wxGetApp().plater()->get_camera(); + wxPoint px = world_to_screen_px(cam, m_plane.to_world(at)); + if (px.x < 0 || px.y < 0) px = wxPoint(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, dimension_current(), title, + [this](double v) { apply_dimension(v); }, + []() {}); + return true; +} + +void DesignSketchTool::set_line_angle(int ei, double deg) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Line) return; + const double L = (e.p1 - e.p0).norm(); + if (L < 1e-9) return; + drop_orientation_constraints(ei, ei + 1); // a typed angle overrides an inferred H/V + const double r = deg * M_PI / 180.0; + e.p1 = e.p0 + Vec2d(std::cos(r), std::sin(r)) * L; // rotate about P0, keep length + resolve_live(); +} + +// Open the queued scalar quote at m_autoedit_dim_idx. Commit appends the driving dimension +// AND advances to the next queued quote (deferred via CallAfter so the single SketchInlineEditor +// fully unwinds its Enter handler before being reopened). Cancel (Esc) aborts the whole chain — +// the shape is kept as drawn. This is what lets a rectangle edit Width THEN Height, a slot its +// centre-distance THEN width, etc., instead of only the first dimension. +void DesignSketchTool::open_next_autoedit_dim() +{ + if (!on_inline_edit || !m_active) { m_autoedit_dim_idx = -1; return; } + if (m_autoedit_dim_idx < 0 || m_autoedit_dim_idx >= int(m_autoedit_dims.size())) { + m_autoedit_dim_idx = -1; + return; + } + const AutoEditStep step = m_autoedit_dims[m_autoedit_dim_idx]; + // Anchor the field OVER this dimension's label (project its plane-coords centre to the + // viewport), not at the last cursor spot — otherwise each field pops up in an unrelated + // screen position. Fall back to the cursor if the label projects off-screen. + // Anchor the field OVER this dimension's label (project its plane-coords centre to the + // viewport). A label can project OFF-screen (near-degenerate perspective divide when the + // sketch plane is viewed at a grazing angle), in which case we fall back to the cursor — + // but staggered by step index, so a shape's successive fields (rrect W/H/R) don't all + // stack on the exact same pixel and hide each other. + const Camera& cam = wxGetApp().plater()->get_camera(); + const wxPoint lp = world_to_screen_px(cam, m_plane.to_world(step.label)); + const std::array<int, 4>& vp = cam.get_viewport(); + wxPoint px(m_last_mouse_x, m_last_mouse_y + m_autoedit_dim_idx * 34); + if (lp.x >= vp[0] && lp.y >= vp[1] && lp.x <= vp[0] + vp[2] && lp.y <= vp[1] + vp[3]) + px = lp; + on_inline_edit(px, step.value, step.title, + [this, step](double v) { // commit: apply this dimension, then next + if (step.apply) step.apply(v); + ++m_autoedit_dim_idx; + wxGetApp().CallAfter([this] { open_next_autoedit_dim(); }); + }, + [this]() { m_autoedit_dim_idx = -1; }); // cancel: keep as drawn, stop the chain +} + +// Polyline draw-then-edit: after each click places a chain vertex, refine THAT segment's +// Length then Angle through the same AutoEditStep queue. The polyline batch-creates its +// entities only when the chain ends, so here we edit the pending m_points vertex directly +// (geometric): Length rescales it along the segment, Angle rotates it about the previous +// vertex. The next click continues from the adjusted vertex. Same field/anchor/focus path as +// every other tool — Enter advances Length->Angle, Esc keeps the segment as clicked. +void DesignSketchTool::arm_polyline_segment_edit() +{ + const int k = int(m_points.size()) - 1; // index of the just-placed vertex + if (k < 1 || !on_inline_edit) return; + const Vec2d a = m_points[k - 1]; // segment anchor (previous vertex) + const Vec2d mid = 0.5 * (a + m_points[k]); // label anchor = segment midpoint + const Vec2d d = m_points[k] - a; + const double L = d.norm(); + if (L < 1e-9) return; + double deg = std::atan2(d.y(), d.x()) * 180.0 / M_PI; if (deg < 0.0) deg += 360.0; + + m_autoedit_dims.clear(); + m_autoedit_dims.push_back({ mid, L, [this, k, a](double len) { // Length + if (k < int(m_points.size())) { + Vec2d dd = m_points[k] - a; const double n = dd.norm(); + if (n > 1e-9 && len > 1e-9) m_points[k] = a + (len / n) * dd; + } + }, {}, "Length" }); + m_autoedit_dims.push_back({ mid, deg, [this, k, a](double dg) { // Angle + if (k < int(m_points.size())) { + const double len = (m_points[k] - a).norm(); + const double r = dg * M_PI / 180.0; + m_points[k] = a + len * Vec2d(std::cos(r), std::sin(r)); + } + }, {}, "Angle" }); + m_autoedit_dim_idx = 0; + wxGetApp().CallAfter([this] { open_next_autoedit_dim(); }); +} + +std::string DesignSketchTool::dimtype_title(DimType k) const { + switch (k) { + case DimType::Length: return "Length"; + case DimType::Diameter: return "Diameter"; + case DimType::Radius: return "Radius"; + case DimType::Angle: return "Angle"; + case DimType::Distance: return "Distance"; + case DimType::DistanceToLine: return "Distance"; + default: return "Value"; + } +} + +// Draw-then-edit dispatcher: mirror the Select-mode quote-click logic, but target the +// freshly-drawn selection's PRIMARY value and use the tentative (clean-cancel) path for +// scalar quotes. Runs after render_live_quotes, so the live-quote state is populated. +// Why a draw-then-edit chain did not start. Four early returns can swallow it, and from outside +// they are indistinguishable: the shape appears, no field opens, and nothing says which guard +// fired. check-gui-click-edit.py reports that as "a value field opened (nothing did)" for every +// tool at once, which reads like a total product failure and is not necessarily one. +static void trace_autoedit(const char* why, size_t n) +{ + if (!std::getenv("ORCA_CAD_UXTRACE")) return; + fprintf(stderr, "[UX] autoedit %s steps=%zu\n", why, n); + fflush(stderr); +} + +void DesignSketchTool::open_primary_autoedit() +{ + if (!on_inline_edit) { trace_autoedit("skip: no on_inline_edit host", 0); return; } + if (m_awaiting_length) { trace_autoedit("skip: a field is already open", 0); return; } + if (!m_active) { trace_autoedit("skip: session ended before the deferred tick", 0); return; } + + // Build ONE ordered list of edit steps covering EVERY characteristic dimension of the + // freshly-drawn shape — scalar quotes (constraint-based) AND geometric editors — so every + // 2D tool behaves like the rectangle: a linear sequence of value fields, each over its own + // label, Enter advances to the next, Esc keeps the shape as drawn. (Line keeps its own + // dedicated length field; Polyline/BSpline/Point have no two-click dimension set.) + m_autoedit_dims.clear(); + + // (1) Scalar quotes: rect Width+Height, slot Distance+Radius, circle/arc Radius, line + // Length. The lone Angle quote (only a single Line emits one) becomes a GEOMETRIC + // orientation step (set_line_angle, like the polygon angle) — so the Line tool gets + // Length THEN Angle, same as the rectangle gets W then H. + for (const DimAnnot& q : m_live_quotes) { + if (q.kind == DimType::Angle) { + const int ei = q.ea; + m_autoedit_dims.push_back({ q.label_pos, measure_dim(q), + [this, ei](double v) { set_line_angle(ei, v); }, { ei }, "Angle" }); + continue; + } + DimAnnot a = q; + a.value = measure_dim(a); + m_autoedit_dims.push_back({ a.label_pos, a.value, + [this, a](double v) mutable { + a.value = v; + a.con = upsert_constraint(constraint_for(a)); + upsert_dimension(a); + resolve_live(); + }, { a.ea, a.eb }, dimtype_title(a.kind) }); + } + + // (2) Geometric editors (mutate geometry directly, no constraint). Each reads the CURRENT + // feature/entity state inside apply(), so sequential edits compose correctly. + // Entities to highlight = the feature's whole [begin,end) span, so editing any of its + // characteristic dims lights up the shape it drives. + auto span = [this](int fi) { + std::vector<int> v; + if (fi >= 0 && fi < int(m_features.size())) + for (int k = m_features[fi].begin; k < m_features[fi].end; ++k) v.push_back(k); + return v; + }; + if (m_live_poly_fi >= 0) { + const Feature& f = m_features[m_live_poly_fi]; + const int fi = m_live_poly_fi; + if (f.begin >= 0 && f.begin < int(m_entities.size())) { + const double side = (m_entities[f.begin].p1 - m_entities[f.begin].p0).norm(); + const Vec2d sp = m_entities[f.begin].p0 - f.c0; + double deg = std::atan2(sp.y(), sp.x()) * 180.0 / M_PI; if (deg < 0.0) deg += 360.0; + m_autoedit_dims.push_back({ m_live_poly_side_label, side, [this, fi](double v){ set_polygon_side(fi, v); }, span(fi), "Side" }); + m_autoedit_dims.push_back({ m_live_poly_angle_label, deg, [this, fi](double v){ set_polygon_angle(fi, v); }, span(fi), "Angle" }); + } + } + if (m_live_rrect_fi >= 0) { + const Feature& f = m_features[m_live_rrect_fi]; + const int fi = m_live_rrect_fi; + const double w = std::abs(f.c1.x() - f.c0.x()), h = std::abs(f.c1.y() - f.c0.y()), r = f.param; + auto rr_w = [this, fi](double v){ const Feature& g = m_features[fi]; set_rounded_rect(fi, v, std::abs(g.c1.y()-g.c0.y()), g.param); }; + auto rr_h = [this, fi](double v){ const Feature& g = m_features[fi]; set_rounded_rect(fi, std::abs(g.c1.x()-g.c0.x()), v, g.param); }; + auto rr_r = [this, fi](double v){ const Feature& g = m_features[fi]; set_rounded_rect(fi, std::abs(g.c1.x()-g.c0.x()), std::abs(g.c1.y()-g.c0.y()), v); }; + m_autoedit_dims.push_back({ m_live_rrect_w_label, w, rr_w, span(fi), "Width" }); + m_autoedit_dims.push_back({ m_live_rrect_h_label, h, rr_h, span(fi), "Height" }); + m_autoedit_dims.push_back({ m_live_rrect_r_label, r, rr_r, span(fi), "Radius" }); + } + if (m_live_aslot_fi >= 0) { + const Feature& f = m_features[m_live_aslot_fi]; + const int fi = m_live_aslot_fi; + const double Rc = (f.c1 - f.c0).norm(), fw = 2.0 * f.param; + m_autoedit_dims.push_back({ m_live_aslot_r_label, Rc, [this, fi](double v){ const Feature& g = m_features[fi]; set_arc_slot(fi, v, g.param); }, span(fi), "Radius" }); + m_autoedit_dims.push_back({ m_live_aslot_w_label, fw, [this, fi](double v){ const Feature& g = m_features[fi]; set_arc_slot(fi, (g.c1-g.c0).norm(), std::max(1e-3, v*0.5)); }, span(fi), "Width" }); + } + if (m_live_slot_fi >= 0) { + const Feature& f = m_features[m_live_slot_fi]; + const int fi = m_live_slot_fi; + // Slot dims, in order: (1) inter-centre distance, (2) radius (= half-width), (3) angle. + const Vec2d d = f.c1 - f.c0; + const double Lc = d.norm(); + double deg = std::atan2(d.y(), d.x()) * 180.0 / M_PI; if (deg < 0.0) deg += 360.0; + m_autoedit_dims.push_back({ m_live_slot_len_label, Lc, [this, fi](double v){ const Feature& g = m_features[fi]; set_slot(fi, v, g.param); }, span(fi), "Length" }); + m_autoedit_dims.push_back({ m_live_slot_w_label, f.param, [this, fi](double v){ const Feature& g = m_features[fi]; set_slot(fi, (g.c1-g.c0).norm(), std::max(1e-3, v)); }, span(fi), "Radius" }); + m_autoedit_dims.push_back({ m_live_slot_angle_label, deg, [this, fi](double v){ set_slot_angle(fi, v); }, span(fi), "Angle" }); + } + if (m_live_arc_ei >= 0) { // arc Radius is already a scalar step above; add its sweep angle + const int ei = m_live_arc_ei; + const SketchEntity& e = m_entities[ei]; + const double swdeg = std::abs(e.end_angle - e.start_angle) * 180.0 / M_PI; + m_autoedit_dims.push_back({ m_live_arc_angle_label, swdeg, [this, ei](double v){ set_arc_sweep(ei, v); }, { ei }, "Angle" }); + } + if (m_live_ellipse_ei >= 0) { + const int ei = m_live_ellipse_ei; + const SketchEntity& e = m_entities[ei]; + m_autoedit_dims.push_back({ m_live_ellipse_major_label, e.radius, [this, ei](double v){ set_ellipse_axis(ei, true, v); }, { ei }, "Major" }); + m_autoedit_dims.push_back({ m_live_ellipse_minor_label, e.rminor, [this, ei](double v){ set_ellipse_axis(ei, false, v); }, { ei }, "Minor" }); + if (e.type == SketchEntity::Type::EllipseArc) { // + included sweep + const double swdeg = std::abs(e.end_angle - e.start_angle) * 180.0 / M_PI; + m_autoedit_dims.push_back({ m_live_ellipsearc_sweep_label, swdeg, + [this, ei](double v){ set_ellipsearc_sweep(ei, v); }, { ei }, "Angle" }); + } + } + if (m_live_obrect_fi >= 0) { // oblique rect: W,H already added as scalars; + orientation + const int fi = m_live_obrect_fi; + const Feature& f = m_features[fi]; + const SketchEntity& e0 = m_entities[f.begin]; + double adeg = std::atan2(e0.p1.y() - e0.p0.y(), e0.p1.x() - e0.p0.x()) * 180.0 / M_PI; + if (adeg < 0.0) adeg += 360.0; + m_autoedit_dims.push_back({ m_live_obrect_angle_label, adeg, + [this, fi](double v){ set_rect_angle(fi, v); }, span(fi), "Angle" }); + } + + trace_autoedit(m_autoedit_dims.empty() ? "built NO steps (no live quote matched)" : "opening", + m_autoedit_dims.size()); + if (!m_autoedit_dims.empty()) { + m_autoedit_dim_idx = 0; + open_next_autoedit_dim(); + } +} + +// A regular polygon is N raw lines with no centre entity, so (like the line angle) its +// side and orientation edits transform the whole loop GEOMETRICALLY about its centre. +void DesignSketchTool::open_polygon_side_editor(int fi) +{ + if (fi < 0 || fi >= int(m_features.size()) || !on_inline_edit) return; + const Feature& f = m_features[fi]; + if (f.begin < 0 || f.begin >= int(m_entities.size())) return; + const double side = (m_entities[f.begin].p1 - m_entities[f.begin].p0).norm(); + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, side, "Side", + [this, fi](double v) { set_polygon_side(fi, v); }, + []() {}); +} + +void DesignSketchTool::open_polygon_angle_editor(int fi) +{ + if (fi < 0 || fi >= int(m_features.size()) || !on_inline_edit) return; + const Feature& f = m_features[fi]; + if (f.begin < 0 || f.begin >= int(m_entities.size())) return; + const Vec2d sp = m_entities[f.begin].p0 - f.c0; // centre -> vertex0 spoke + double deg = std::atan2(sp.y(), sp.x()) * 180.0 / M_PI; + if (deg < 0.0) deg += 360.0; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, deg, "Angle", + [this, fi](double v) { set_polygon_angle(fi, v); }, + []() {}); +} + +// Scale the loop uniformly about its centre so an edge equals `side`. For a regular +// n-gon, circumradius R = side / (2 sin(pi/n)). +void DesignSketchTool::set_polygon_side(int fi, double side) +{ + if (fi < 0 || fi >= int(m_features.size()) || side < 1e-6) return; + const int n = std::max(3, m_features[fi].sides); + const double R = side / (2.0 * std::sin(M_PI / double(n))); + set_polygon_radius(fi, R); +} + +// Remove orientation constraints touching [begin,end). A pure rotation makes inferred +// per-edge Horizontal/Vertical (and Parallel/Perp/Angle/Lock) inconsistent, so leaving +// them in would make resolve_live collapse the shape to satisfy them. +void DesignSketchTool::drop_orientation_constraints(int begin, int end) +{ + using CT = SketchConstraintType; + auto orient = [](CT t) { + return t == CT::Horizontal || t == CT::Vertical || t == CT::Parallel || + t == CT::Perpendicular || t == CT::Angle || t == CT::LockX || t == CT::LockY; + }; + auto in = [&](int e) { return e >= begin && e < end; }; + std::vector<int> remap(m_constraints.size(), -1); + std::vector<SketchEntityConstraintDef> kept; + kept.reserve(m_constraints.size()); + for (int i = 0; i < int(m_constraints.size()); ++i) { + const SketchEntityConstraintDef& c = m_constraints[i]; + if (orient(c.type) && (in(c.ea) || in(c.eb))) continue; // drop + remap[i] = int(kept.size()); + kept.push_back(c); + } + if (kept.size() == m_constraints.size()) return; // nothing dropped + m_constraints.swap(kept); + for (DimAnnot& a : m_dimensions) // fix cached con indices + if (a.con >= 0) a.con = (a.con < int(remap.size())) ? remap[a.con] : -1; +} + +void DesignSketchTool::drop_constraints_referencing(int ei) +{ + std::vector<int> remap(m_constraints.size(), -1); + std::vector<SketchEntityConstraintDef> kept; + kept.reserve(m_constraints.size()); + for (int i = 0; i < int(m_constraints.size()); ++i) { + const SketchEntityConstraintDef& c = m_constraints[i]; + if (c.ea == ei || c.eb == ei || c.ec == ei) continue; // drop refs to the cut entity + remap[i] = int(kept.size()); + kept.push_back(c); + } + if (kept.size() == m_constraints.size()) return; + m_constraints.swap(kept); + for (DimAnnot& a : m_dimensions) + if (a.con >= 0) a.con = (a.con < int(remap.size())) ? remap[a.con] : -1; +} + +// Onshape scissors on the live sketch: cut the picked entity at its nearest intersection. +// trim_entity/extend_entity mutate the subject in place (slide one endpoint) given the other +// entities + the pick point — no entity is added/removed, so indices stay stable. +bool DesignSketchTool::apply_live_trim(const Vec2d& p, double tol, bool extend) +{ + double best = 1e30; int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + if (bi < 0 || best > tol) return false; + using Ty = SketchEntity::Type; + const Ty st = m_entities[bi].type; + const bool subject_ok = extend ? (st == Ty::Line || st == Ty::Arc) + : (st == Ty::Line || st == Ty::Arc || st == Ty::Circle); + if (!subject_ok) return false; + std::vector<SketchEntity> others; + others.reserve(m_entities.size()); + for (size_t i = 0; i < m_entities.size(); ++i) + if (int(i) != bi) others.push_back(m_entities[i]); + const bool ok = extend ? SketchEngine::extend_entity(m_entities[bi], others, p) + : SketchEngine::trim_entity(m_entities[bi], others, p); + if (!ok) return false; + drop_constraints_referencing(bi); // the slid endpoint invalidates this entity's constraints + return true; +} + +// Hover preview for the Trim/Extend scissors: replay apply_live_trim's pick and the engine +// cut on a COPY of the subject, then diff the copy against the original to recover the exact +// sub-portion a click would remove (Trim) / add (Extend). Pure computation, mutates nothing. +bool DesignSketchTool::compute_trim_preview(const Vec2d& p, double tol, bool extend, + int& subject_ei, std::vector<Vec2d>& removed_poly) const +{ + subject_ei = -1; + removed_poly.clear(); + + double best = 1e30; int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + if (bi < 0 || best > tol) return false; + + using Ty = SketchEntity::Type; + const Ty st = m_entities[bi].type; + const bool subject_ok = extend ? (st == Ty::Line || st == Ty::Arc) + : (st == Ty::Line || st == Ty::Arc || st == Ty::Circle); + if (!subject_ok) return false; + + std::vector<SketchEntity> others; + others.reserve(m_entities.size()); + for (size_t i = 0; i < m_entities.size(); ++i) + if (int(i) != bi) others.push_back(m_entities[i]); + + const SketchEntity& orig = m_entities[bi]; + SketchEntity trimmed = orig; // cut on the copy, never the live entity + const bool ok = extend ? SketchEngine::extend_entity(trimmed, others, p) + : SketchEngine::trim_entity(trimmed, others, p); + if (!ok) return false; + + // The highlighted portion is where `trimmed` differs from `orig`: the dropped sub-segment + // (Trim) or the grown one (Extend). Rebuild it as a temp entity and sample its polyline. + const double EPS2 = 1e-14; // squared plane-unit endpoint tolerance + const double AEPS = 1e-7; // radian tolerance + bool closed = false; + + if (orig.type == Ty::Line) { + SketchEntity seg = orig; + if ((trimmed.p0 - orig.p0).squaredNorm() > EPS2) { + seg.p0 = orig.p0; seg.p1 = trimmed.p0; // start endpoint moved + } else if ((trimmed.p1 - orig.p1).squaredNorm() > EPS2) { + seg.p0 = trimmed.p1; seg.p1 = orig.p1; // end endpoint moved + } else { + return false; // nothing changed + } + removed_poly = entity_polyline(seg, closed); + } else if (orig.type == Ty::Arc) { + SketchEntity arc = orig; // same centre/radius + if (std::abs(trimmed.start_angle - orig.start_angle) > AEPS) { + arc.start_angle = orig.start_angle; arc.end_angle = trimmed.start_angle; + } else if (std::abs(trimmed.end_angle - orig.end_angle) > AEPS) { + arc.start_angle = trimmed.end_angle; arc.end_angle = orig.end_angle; + } else { + return false; + } + removed_poly = entity_polyline(arc, closed); + } else if (orig.type == Ty::Circle) { + // Trim opens the Circle into the kept Arc [start,end]; the removed gap is its + // complement, swept from the kept arc's end round to its start. + if (trimmed.type != Ty::Arc) return false; + SketchEntity gap = orig; + gap.type = Ty::Arc; + gap.start_angle = trimmed.end_angle; + gap.end_angle = trimmed.start_angle + 2.0 * M_PI; + removed_poly = entity_polyline(gap, closed); + } else { + return false; + } + + if (removed_poly.size() < 2) return false; + subject_ei = bi; + return true; +} + +// Rotate the whole loop about its centre so the centre->vertex0 spoke points at `deg` +// (degrees from +X). +void DesignSketchTool::set_polygon_angle(int fi, double deg) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.begin >= int(m_entities.size())) return; + const Vec2d c = f.c0; + const Vec2d sp = m_entities[f.begin].p0 - c; // centre -> vertex0 + if (sp.squaredNorm() < 1e-12) return; + const double cur = std::atan2(sp.y(), sp.x()); + const double da = deg * M_PI / 180.0 - cur; + drop_orientation_constraints(f.begin, f.end); // rotation invalidates edge H/V + const double ca = std::cos(da), sa = std::sin(da); + // -> Vec2d is REQUIRED: an auto return deduces an Eigen expression template that holds + // a reference to the destroyed `c + Vec2d(...)` temporary (dangling -> garbage coords). + auto rot = [&](const Vec2d& pt) -> Vec2d { const Vec2d r = pt - c; + return c + Vec2d(r.x() * ca - r.y() * sa, r.x() * sa + r.y() * ca); }; + for (int i = f.begin; i < f.end && i < int(m_entities.size()); ++i) { + SketchEntity& e = m_entities[i]; + if (e.type != SketchEntity::Type::Line) continue; + e.p0 = rot(e.p0); e.p1 = rot(e.p1); + } + // Do NOT re-solve: the rotated geometry is already a correct regular polygon, and the + // inferred loop (redundant Coincident, now with no H/V anchor) collapses to a point + // under libslvs. We only drop the stale edge H/V (above) so a later commit-solve stays + // sane; the display renders the mutated entities directly. +} + +// Drag a polygon vertex keeping the loop regular: scale + rotate the whole polygon +// about its centroid so the grabbed vertex lands on `target`. This adjusts both the +// circumradius (|target-centroid|) and the orientation (its direction) at once. +void DesignSketchTool::drag_polygon_vertex(int fi, int ei, SketchPointRole role, const Vec2d& target) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size())) return; + // Centroid of the loop = the regular polygon's centre (robust if it was moved). + Vec2d c(0, 0); int n = 0; + for (int i = f.begin; i < f.end; ++i) + if (m_entities[i].type == SketchEntity::Type::Line) { c += m_entities[i].p0; ++n; } + if (n == 0) return; + c /= double(n); + Vec2d vpos; + if (!point_at(ei, role, vpos)) return; + const Vec2d cur = vpos - c; // current grabbed-vertex spoke + const Vec2d tgt = target - c; // desired spoke + const double curR = cur.norm(), newR = tgt.norm(); + if (curR < 1e-9 || newR < 1e-6) return; + const double s = newR / curR; + const double da = std::atan2(tgt.y(), tgt.x()) - std::atan2(cur.y(), cur.x()); + const double ca = std::cos(da), sa = std::sin(da); + auto tf = [&](const Vec2d& p) -> Vec2d { const Vec2d r = (p - c) * s; // -> Vec2d: avoid + return c + Vec2d(r.x() * ca - r.y() * sa, r.x() * sa + r.y() * ca); }; // Eigen dangling + + for (int i = f.begin; i < f.end; ++i) { + SketchEntity& e = m_entities[i]; + if (e.type != SketchEntity::Type::Line) continue; + e.p0 = tf(e.p0); e.p1 = tf(e.p1); + } + f.c0 = c; f.param = newR; + drop_orientation_constraints(f.begin, f.end); // the drag rotates -> edge H/V invalid + // No re-solve (see set_polygon_angle): the transformed geometry is already a correct + // regular polygon; solving the anchorless redundant loop would collapse it. +} + +void DesignSketchTool::set_polygon_radius(int fi, double R) +{ + if (fi < 0 || fi >= int(m_features.size()) || R < 1e-6) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.begin >= int(m_entities.size())) return; + const Vec2d c = f.c0; + const double curR = (m_entities[f.begin].p0 - c).norm(); + if (curR < 1e-9) return; + const double s = R / curR; // uniform scale about the centre + for (int i = f.begin; i < f.end && i < int(m_entities.size()); ++i) { + SketchEntity& e = m_entities[i]; + if (e.type != SketchEntity::Type::Line) continue; + e.p0 = c + (e.p0 - c) * s; + e.p1 = c + (e.p1 - c) * s; + } + f.param = R; + // Geometric only (no solve): consistent with the rotation edits, and avoids collapsing + // the loop if its H/V anchors were already dropped by a prior rotation. +} + +void DesignSketchTool::open_arc_angle_editor(int ei) +{ + if (ei < 0 || ei >= int(m_entities.size()) || !on_inline_edit) return; + const SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Arc) return; + double swdeg = std::abs(e.end_angle - e.start_angle) * 180.0 / M_PI; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, swdeg, "Angle", + [this, ei](double v) { set_arc_sweep(ei, v); }, + []() {}); +} + +// Set the arc's included (sweep) angle to `deg`, keeping the start point and radius fixed +// and rotating the end point about the centre. Geometric (SLVS angle is line-to-line), so +// no re-solve; the mutated entity renders directly. Direction (CCW/CW) of the original +// sweep is preserved. +void DesignSketchTool::set_arc_sweep(int ei, double deg) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Arc || e.radius < 1e-6) return; + double sweep = std::max(1e-3, std::min(deg, 359.999)) * M_PI / 180.0; + const double sign = (e.end_angle >= e.start_angle) ? 1.0 : -1.0; + e.end_angle = e.start_angle + sign * sweep; + e.p1 = e.center + e.radius * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle)); + resolve_live(); +} + +// Drag one of the arc's three handles. Roles are split so each grip changes ONE property +// (Onshape-like): Center -> translate; START point (P0) -> radius only; END point (P1) -> +// sweep angle only. Geometric (mutates the entity directly), then re-solve for any +// coincident constraints on the arc endpoints. +void DesignSketchTool::drag_arc_handle(int ei, SketchPointRole role, const Vec2d& target) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Arc) return; + if (role == SketchPointRole::Center) { + const Vec2d d = target - e.center; // rigid translate, keep R + angles + e.center = target; e.p0 += d; e.p1 += d; + } else if (role == SketchPointRole::P0) { // start = RADIUS handle (keep angles) + const double R = (target - e.center).norm(); + if (R < 1e-6) return; + e.radius = R; + e.p0 = e.center + R * Vec2d(std::cos(e.start_angle), std::sin(e.start_angle)); + e.p1 = e.center + R * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle)); + } else if (role == SketchPointRole::P1) { // end = ANGLE handle (keep radius) + const Vec2d d = target - e.center; + if (d.squaredNorm() < 1e-12) return; + // Keep the CCW sweep continuous (0,2pi) so the arc never flips to its complement. + double da = std::atan2(d.y(), d.x()) - e.start_angle; + while (da < 0.0) da += 2.0 * M_PI; + while (da >= 2.0 * M_PI) da -= 2.0 * M_PI; + e.end_angle = e.start_angle + da; + e.p1 = e.center + e.radius * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle)); + } + resolve_live(); +} + +// Drag an elliptical-arc grip. Center rigidly translates (endpoints + frame move with it); +// P0/P1 set the sweep start/end to the cursor's parametric angle on the ellipse, keeping +// the ellipse shape (a/b/phi). Geometric, then resolve_live(). +void DesignSketchTool::drag_ellipsearc_handle(int ei, SketchPointRole role, const Vec2d& target) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::EllipseArc) return; + if (role == SketchPointRole::Center) { + const Vec2d d = target - e.center; + e.center = target; e.p0 += d; e.p1 += d; + } else if (role == SketchPointRole::P0 || role == SketchPointRole::P1) { + const double t = ellipse_param_of(e.center, e.radius, e.rminor, e.rotation, target); + if (role == SketchPointRole::P0) { + e.start_angle = t; + e.p0 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, t); + } else { + // Keep the CCW sweep (end strictly after start) so the arc never inverts. + double t1 = t; while (t1 <= e.start_angle) t1 += 2.0 * M_PI; + e.end_angle = t1; + e.p1 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, t1); + } + } + resolve_live(); +} + +void DesignSketchTool::open_ellipse_axis_editor(int ei, bool major) +{ + if (ei < 0 || ei >= int(m_entities.size()) || !on_inline_edit) return; + const SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Ellipse && e.type != SketchEntity::Type::EllipseArc) return; + const double v = major ? e.radius : e.rminor; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, v, major ? "Major" : "Minor", + [this, ei, major](double nv) { set_ellipse_axis(ei, major, nv); }, + []() {}); +} + +// Set a semi-axis to `v`: major -> e.radius, minor -> e.rminor; keep OCCT a >= b. +void DesignSketchTool::set_ellipse_axis(int ei, bool major, double v) +{ + if (ei < 0 || ei >= int(m_entities.size()) || v < 1e-6) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Ellipse && e.type != SketchEntity::Type::EllipseArc) return; + if (major) e.radius = std::max(v, e.rminor); + else e.rminor = std::min(v, e.radius); + if (e.type == SketchEntity::Type::EllipseArc) { // endpoints ride the reshaped frame + e.p0 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.start_angle); + e.p1 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.end_angle); + } + resolve_live(); +} + +// Set an elliptical arc's included (parametric) sweep, keeping the start fixed and moving the +// end. Geometric (mirrors set_arc_sweep), then resolve_live for any endpoint coincidences. +void DesignSketchTool::set_ellipsearc_sweep(int ei, double deg) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::EllipseArc) return; + const double sweep = std::max(1e-3, std::min(deg, 359.999)) * M_PI / 180.0; + const double sign = (e.end_angle >= e.start_angle) ? 1.0 : -1.0; + e.end_angle = e.start_angle + sign * sweep; + e.p1 = ellipse_point(e.center, e.radius, e.rminor, e.rotation, e.end_angle); + resolve_live(); +} + +// Rotate an oblique rectangle to an absolute orientation (angle of edge0 to +X), pivoting on +// its anchor corner f.c0. Geometric, mirrors set_polygon_angle: drop the now-inconsistent edge +// H/V first, rotate every member point + the opposite corner, and DON'T re-solve (the rotated +// loop is already consistent; a length Distance the user may have set is rotation-invariant). +void DesignSketchTool::set_rect_angle(int fi, double deg) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size()) || f.end <= f.begin) return; + const SketchEntity& e0 = m_entities[f.begin]; + const Vec2d d0 = e0.p1 - e0.p0; + if (d0.squaredNorm() < 1e-12) return; + const double da = deg * M_PI / 180.0 - std::atan2(d0.y(), d0.x()); + drop_orientation_constraints(f.begin, f.end); + const Vec2d pivot = f.c0; + const double ca = std::cos(da), sa = std::sin(da); + // -> Vec2d REQUIRED (see set_polygon_angle): an auto return deduces an Eigen expression + // template referencing the destroyed temporary -> dangling. + auto rot = [&](const Vec2d& pt) -> Vec2d { const Vec2d r = pt - pivot; + return pivot + Vec2d(r.x() * ca - r.y() * sa, r.x() * sa + r.y() * ca); }; + for (int i = f.begin; i < f.end && i < int(m_entities.size()); ++i) { + SketchEntity& e = m_entities[i]; + e.p0 = rot(e.p0); e.p1 = rot(e.p1); + } + f.c1 = rot(f.c1); // keep the opposite corner consistent for later W/H quotes +} + +// Screen anchor for a Constrain-mode value field: over the picked geometry (its representative +// point — circle/arc centre, else segment midpoint; averaged when two entities are picked), +// projected to the viewport. Lets a dimensional constraint's field open ON the geometry like +// the draw-then-edit tools, instead of floating at viewport centre. False if no valid pick or +// it projects off-screen (caller falls back to centre). +bool DesignSketchTool::constrain_value_anchor(wxPoint& out) const +{ + if (m_pick0 < 0 || m_pick0 >= int(m_entities.size())) return false; + auto rep = [](const SketchEntity& e) -> Vec2d { + using T = SketchEntity::Type; + if (e.type == T::Circle || e.type == T::Arc || + e.type == T::Ellipse || e.type == T::EllipseArc) return e.center; + return 0.5 * (e.p0 + e.p1); + }; + Vec2d p = rep(m_entities[m_pick0]); + if (m_pick1 >= 0 && m_pick1 < int(m_entities.size())) + p = 0.5 * (p + rep(m_entities[m_pick1])); + const Camera& cam = wxGetApp().plater()->get_camera(); + const wxPoint sp = world_to_screen_px(cam, m_plane.to_world(p)); + const std::array<int, 4>& vp = cam.get_viewport(); + if (sp.x < vp[0] || sp.y < vp[1] || sp.x > vp[0] + vp[2] || sp.y > vp[1] + vp[3]) return false; + out = sp; + return true; +} + +void DesignSketchTool::open_rounded_rect_editor(int fi, int which) +{ + if (fi < 0 || fi >= int(m_features.size()) || !on_inline_edit) return; + const Feature& f = m_features[fi]; + const double w = std::abs(f.c1.x() - f.c0.x()); + const double h = std::abs(f.c1.y() - f.c0.y()); + const double r = f.param; + const double v = (which == 0) ? w : (which == 1) ? h : r; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, v, which == 0 ? "Width" : which == 1 ? "Height" : "Radius", + [this, fi, which](double nv) { + const Feature& g = m_features[fi]; + double gw = std::abs(g.c1.x() - g.c0.x()); + double gh = std::abs(g.c1.y() - g.c0.y()); + double gr = g.param; + if (which == 0) gw = nv; else if (which == 1) gh = nv; else gr = nv; + set_rounded_rect(fi, gw, gh, gr); + }, + []() {}); +} + +// Rebuild the rounded-rect's 8 entities in place for a new width/height/fillet radius, +// keeping the min corner (c0) fixed. Geometric (entity order/count preserved so constraint +// refs stay valid); fillet clamped to (0, min(w,h)/2]. +void DesignSketchTool::set_rounded_rect(int fi, double w, double h, double r) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size()) || f.end <= f.begin) return; + w = std::max(w, 1e-3); h = std::max(h, 1e-3); + r = std::max(1e-3, std::min(r, std::min(w, h) * 0.5 - 1e-4)); + const double xmin = std::min(f.c0.x(), f.c1.x()), ymin = std::min(f.c0.y(), f.c1.y()); + const double xmax = xmin + w, ymax = ymin + h; + std::vector<SketchEntity> rebuilt = rounded_rect_entities(xmin, ymin, xmax, ymax, r); + if (int(rebuilt.size()) != f.end - f.begin) return; // count must match to keep con refs + for (int i = 0; i < int(rebuilt.size()); ++i) { + rebuilt[i].construction = m_entities[f.begin + i].construction; // preserve flag + m_entities[f.begin + i] = rebuilt[i]; + } + f.c0 = Vec2d(xmin, ymin); f.c1 = Vec2d(xmax, ymax); f.param = r; + resolve_live(); +} + +void DesignSketchTool::open_arc_slot_editor(int fi, bool radius) +{ + if (fi < 0 || fi >= int(m_features.size()) || !on_inline_edit) return; + const Feature& f = m_features[fi]; + const double Rc = (f.c1 - f.c0).norm(); + const double v = radius ? Rc : (2.0 * f.param); // width quote shows the FULL width + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, v, radius ? "Radius" : "Width", + [this, fi, radius](double nv) { + const Feature& g = m_features[fi]; + const double gRc = (g.c1 - g.c0).norm(); + if (radius) set_arc_slot(fi, nv, g.param); + else set_arc_slot(fi, gRc, std::max(1e-3, nv * 0.5)); // full width -> half + }, + []() {}); +} + +// Rebuild the arc-slot's 4 arcs in place for a new centreline radius / half-width. Centre +// + the two centreline directions are kept (the end direction is recovered from the cap@E +// arc centre). Geometric; entity count preserved so constraint refs stay valid. +void DesignSketchTool::set_arc_slot(int fi, double Rc, double w) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size()) || f.end - f.begin != 4) return; + const Vec2d center = f.c0; + Vec2d dirS = f.c1 - center; + const Vec2d Ec = m_entities[f.begin + 1].center; // cap@E centre = centreline end + Vec2d dirE = Ec - center; + if (dirS.squaredNorm() < 1e-12 || dirE.squaredNorm() < 1e-12) return; + dirS.normalize(); dirE.normalize(); + Rc = std::max(Rc, 2e-3); + w = std::max(1e-3, std::min(w, Rc - 1e-3)); // make_arc_slot needs w < Rc + std::vector<SketchEntity> rebuilt = + make_arc_slot(center, center + Rc * dirS, center + Rc * dirE, w); + if (int(rebuilt.size()) != 4) return; + for (int i = 0; i < 4; ++i) { + rebuilt[i].construction = m_entities[f.begin + i].construction; + m_entities[f.begin + i] = rebuilt[i]; + } + f.c1 = center + Rc * dirS; f.param = w; + resolve_live(); +} + +// Open the inline editor for a straight slot's dimension: which 0 = inter-centre distance, +// 1 = radius (half-width), 2 = centreline angle. Drives set_slot / set_slot_angle geometrically. +void DesignSketchTool::open_slot_editor(int fi, int which) +{ + if (fi < 0 || fi >= int(m_features.size()) || !on_inline_edit) return; + const Feature& f = m_features[fi]; + const Vec2d d = f.c1 - f.c0; + double deg = std::atan2(d.y(), d.x()) * 180.0 / M_PI; if (deg < 0.0) deg += 360.0; + const double v = (which == 0) ? d.norm() : (which == 1) ? f.param : deg; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, v, which == 0 ? "Length" : which == 1 ? "Radius" : "Angle", + [this, fi, which](double nv) { + const Feature& g = m_features[fi]; + if (which == 0) set_slot(fi, nv, g.param); + else if (which == 1) set_slot(fi, (g.c1 - g.c0).norm(), std::max(1e-3, nv)); + else set_slot_angle(fi, nv); + }, + []() {}); +} + +// Rebuild the straight slot's 4 entities in place for a new centreline length / half-width. +// Centre c0 and the centreline direction are kept; only c1 (length) or param (width) change. +// Geometric; entity count preserved so constraint refs stay valid. +void DesignSketchTool::set_slot(int fi, double length, double w) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size()) || f.end - f.begin != 4) return; + Vec2d dir = f.c1 - f.c0; + if (dir.squaredNorm() < 1e-12) return; + dir.normalize(); + length = std::max(length, 2e-3); + w = std::max(1e-3, w); + const Vec2d c0 = f.c0, c1 = f.c0 + length * dir; + std::vector<SketchEntity> rebuilt = make_slot(c0, c1, w); + if (int(rebuilt.size()) != 4) return; + for (int i = 0; i < 4; ++i) { + rebuilt[i].construction = m_entities[f.begin + i].construction; + m_entities[f.begin + i] = rebuilt[i]; + } + f.c1 = c1; f.param = w; + resolve_live(); +} + +// Rotate a straight slot about c0 to a new centreline angle (degrees), keeping length + radius. +void DesignSketchTool::set_slot_angle(int fi, double deg) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.begin < 0 || f.end > int(m_entities.size()) || f.end - f.begin != 4) return; + const double L = (f.c1 - f.c0).norm(); + if (L < 1e-9) return; + const double a = deg * M_PI / 180.0; + const Vec2d c1 = f.c0 + L * Vec2d(std::cos(a), std::sin(a)); + std::vector<SketchEntity> rebuilt = make_slot(f.c0, c1, f.param); + if (int(rebuilt.size()) != 4) return; + for (int i = 0; i < 4; ++i) { + rebuilt[i].construction = m_entities[f.begin + i].construction; + m_entities[f.begin + i] = rebuilt[i]; + } + f.c1 = c1; + resolve_live(); +} + +// Resize an axis-aligned rectangle by dragging a corner: the diagonally-opposite corner +// (captured at grab as m_drag_rect_anchor) stays fixed; the box becomes [anchor, cursor]. +// Geometric rebuild in place (4 lines, same order) — edges stay axis-aligned so the +// inferred H/V + corner-coincident constraints remain satisfied (no re-solve needed). +void DesignSketchTool::drag_rect_corner(int fi, const Vec2d& cursor) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.end - f.begin != 4) return; + const Vec2d A = m_drag_rect_anchor, B = cursor; + if (std::abs(B.x() - A.x()) < 1e-4 || std::abs(B.y() - A.y()) < 1e-4) return; // degenerate + const Vec2d corners[4] = { A, Vec2d(B.x(), A.y()), B, Vec2d(A.x(), B.y()) }; + for (int i = 0; i < 4; ++i) { + SketchEntity e; e.type = SketchEntity::Type::Line; + e.p0 = corners[i]; e.p1 = corners[(i + 1) % 4]; + e.construction = m_entities[f.begin + i].construction; + m_entities[f.begin + i] = e; + } + f.c0 = A; f.c1 = B; +} + +// Move one end of a slot by dragging its cap centre (which cap captured at grab); the other +// centre + half-width are kept. Rebuilds the 4-entity span via make_slot. Geometric. +void DesignSketchTool::drag_slot_handle(int fi, const Vec2d& cursor) +{ + if (fi < 0 || fi >= int(m_features.size())) return; + Feature& f = m_features[fi]; + if (f.end - f.begin != 4) return; + const Vec2d c0 = m_drag_slot_c1 ? f.c0 : cursor; + const Vec2d c1 = m_drag_slot_c1 ? cursor : f.c1; + std::vector<SketchEntity> rebuilt = make_slot(c0, c1, f.param); + if (int(rebuilt.size()) != 4) return; + for (int i = 0; i < 4; ++i) { + rebuilt[i].construction = m_entities[f.begin + i].construction; + m_entities[f.begin + i] = rebuilt[i]; + } + f.c0 = c0; f.c1 = c1; +} + +DesignSketchTool::DimType DesignSketchTool::pending_dimension_type() const +{ + return (m_pending_dim >= 0 && m_pending_dim < int(m_dimensions.size())) + ? m_dimensions[m_pending_dim].kind : DimType::None; +} + +void DesignSketchTool::set_dimension_value(double v) +{ + if (m_pending_dim < 0 || m_pending_dim >= int(m_dimensions.size())) return; + DimAnnot& a = m_dimensions[m_pending_dim]; + a.value = v; + if (a.con >= 0 && a.con < int(m_constraints.size())) + m_constraints[a.con] = constraint_for(a); + resolve_live(); + m_pending_dim = -1; +} + +void DesignSketchTool::cancel_dimension_value() +{ + m_pending_dim = -1; // keep the placed dimension at its measured value +} + +std::string DesignSketchTool::dim_text(const DimAnnot& a) const +{ + char buf[32]; + const char* prefix = (a.kind == DimType::Diameter) ? "\xC3\x98" // 'Ø' + : (a.kind == DimType::Radius) ? "R" : ""; + const char* suffix = (a.kind == DimType::Angle) ? "\xC2\xB0" : ""; // '°' + std::snprintf(buf, sizeof(buf), "%s%.1f%s", prefix, a.value, suffix); + // Force the international (en) decimal point: wx sets LC_NUMERIC to the user + // locale at startup, so snprintf("%.1f") can emit a comma. Normalise it. + for (char& ch : buf) + if (ch == ',') ch = '.'; + std::string out(buf); + if (a.kind != DimType::Angle) { + const bool use_in = wxGetApp().app_config->get_bool("use_inches"); + out += use_in ? " in" : " mm"; + } + return out; +} + +void DesignSketchTool::apply_segment_length(double len) +{ + if (m_points.size() == 2 && len > 1e-9) { + const Vec2d d = m_points[1] - m_points[0]; + const double r = d.norm(); + if (r > 1e-9) + m_points[1] = m_points[0] + (len / r) * d; + } + keep_segment_as_drawn(); + // Driving length constraint on the just-committed Line entity. + if (len > 1e-9 && !m_entities.empty()) { + const int i = int(m_entities.size()) - 1; + if (m_entities[i].type == SketchEntity::Type::Line) { + SketchEntityConstraintDef c; + c.type = SketchConstraintType::Distance; + c.ea = i; c.ra = SketchPointRole::P0; + c.eb = i; c.rb = SketchPointRole::P1; + c.value = len; + m_constraints.push_back(c); + } + } + resolve_live(); // live-solve the in-session sketch +} + +void DesignSketchTool::keep_segment_as_drawn() +{ + if (m_points.size() == 2) { + const int base = int(m_entities.size()); + push_line(m_points[0], m_points[1]); // accrues into the session's entities + infer_auto_constraints(base); // auto Coincident at snapped ends + H/V + } + m_points.clear(); + m_has_cursor = false; + m_awaiting_length = false; +} + +void DesignSketchTool::finish() +{ + // A value field still open at commit time outlives the session — the editor is a top-level + // frame — and inline_busy stays set, so every later click is swallowed at on_mouse_impl's + // first branch and the viewport reads as dead. Dismiss it first (keep-as-drawn, the same + // contract as the polyline terminators) and drop any queued field with it. + close_session_chrome(); + if (op_ready()) confirm_op(); // apply a pending edit-op gizmo before committing + if (tf_ready()) confirm_transform(); // apply a pending transform gizmo before committing + auto cb = on_commit_entities; + std::vector<SketchEntity> ents = m_entities; + std::vector<SketchEntityConstraintDef> cons = m_constraints; + SketchPlane pl = m_plane; + m_active = false; + m_points.clear(); + m_entities.clear(); + m_constraints.clear(); + m_dimensions.clear(); + m_point_sel.clear(); + m_dim_has0 = false; + m_pending_dim = -1; + m_has_cursor = false; + m_features.clear(); + m_open_feature = -1; + if (cb) + cb(ents, cons, pl); +} + +void DesignSketchTool::begin_constrain(const SketchProfile& prof, const SketchPlane& plane) +{ + push_auto_close_pref(); + m_plane = plane; + m_mode = Mode::Constrain; + m_points = prof.points; + m_entities.clear(); + m_has_cursor = false; + m_sel_a = m_sel_b = -1; + m_constrain_entities = false; + m_pick0 = m_pick1 = m_pick2 = -1; + m_active = true; +} + +void DesignSketchTool::begin_constrain_entities(const std::vector<SketchEntity>& ents, + const SketchPlane& plane) +{ + push_auto_close_pref(); + m_plane = plane; + m_mode = Mode::Constrain; + m_constrain_entities = true; + m_points.clear(); + m_entities = ents; + m_has_cursor = false; + m_sel_a = m_sel_b = -1; + m_pick0 = m_pick1 = m_pick2 = -1; + m_active = true; +} + +bool DesignSketchTool::selected_segment(int& a, int& b) const +{ + if (m_sel_a < 0 || m_sel_b < 0) + return false; + a = m_sel_a; + b = m_sel_b; + return true; +} + +bool DesignSketchTool::screen_to_plane(GLCanvas3D& canvas, const wxMouseEvent& evt, Vec2d& out) const +{ + Point pos(evt.GetX(), evt.GetY()); + Linef3 r = canvas.mouse_ray(pos); + out = m_plane.project(r.a, r.vector()); + return true; +} + +// Closing the loop is THE outcome this tab exists for — a sketch that is not closed cannot be +// extruded — so it must be as easy and as visible as any other snap, and it must behave the +// same at every zoom. This used to be a bare `squaredNorm() < 4.0`, i.e. a fixed 2 mm bubble in +// plane units: a pixel hunt zoomed out, an over-eager magnet zoomed in, and invisible either +// way — nothing told the user their next click would close the loop rather than place another +// vertex. Now the chain's first point is a real snap target on the same 8 px screen tolerance +// as every endpoint snap: hovering it moves the cursor exactly onto it, which makes the rubber +// band draw the closing segment as a preview and lights the existing snap marker. The click +// then closes only because it was SNAPPED, never because it was merely nearby. +bool DesignSketchTool::snap_chain_start(GLCanvas3D& canvas, const wxMouseEvent& evt, Vec2d& p) const +{ + if (m_mode != Mode::Polyline || m_points.size() < 3) return false; + if ((p - m_points[0]).norm() > screen_tol(canvas, evt, p)) return false; + p = m_points[0]; + InferenceSnap s; + s.kind = InferenceSnap::Kind::Endpoint; // renders the same hint as any endpoint snap + s.point = m_points[0]; + const_cast<DesignSketchTool*>(this)->m_cursor_snap = s; + return true; +} + +Vec2d DesignSketchTool::snap_dir(const Vec2d& anchor, const Vec2d& raw, bool& locked) const +{ + locked = false; + if (m_snap_off) return raw; + + const Vec2d d = raw - anchor; + const double r = d.norm(); + if (r < 1e-9) return raw; + + const double tol_deg = 5.0; // inference half-window + double ang = std::atan2(d.y(), d.x()) * 180.0 / M_PI; // (-180,180] + if (ang < 0.0) ang += 360.0; // [0,360) + + // Base angles within one quadrant, replicated every 90 deg up to 360. + static const double base[] = {0.0, 30.0, 45.0, 60.0}; + double best_cand = ang, best_diff = 1e30; + for (int q = 0; q < 4; ++q) { + for (double b : base) { + const double cand = b + 90.0 * q; + double diff = std::abs(ang - cand); + if (diff > 180.0) diff = 360.0 - diff; + if (diff < best_diff) { best_diff = diff; best_cand = cand; } + } + } + if (best_diff > tol_deg) return raw; + + locked = true; + const double rad = best_cand * M_PI / 180.0; + return anchor + r * Vec2d(std::cos(rad), std::sin(rad)); +} + +double DesignSketchTool::screen_tol(GLCanvas3D& canvas, const wxMouseEvent& evt, + const Vec2d& at, double px) const +{ + // Project a point `px` screen pixels away and measure the gap in plane units. + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + int(px), evt.GetY())); + const Vec2d p2 = m_plane.project(r2.a, r2.vector()); + return std::max(1e-3, (p2 - at).norm()); +} + +InferenceSnap DesignSketchTool::infer_at(GLCanvas3D& canvas, const wxMouseEvent& evt, + const Vec2d& raw) const +{ + if (evt.ShiftDown()) { InferenceSnap s; s.point = raw; return s; } // Shift suppresses + const double tol = screen_tol(canvas, evt, raw); + return infer_point_snap(m_entities, raw, tol); +} + +Vec2d DesignSketchTool::snap_vertex(GLCanvas3D& canvas, const wxMouseEvent& evt, + const Vec2d& raw, bool& snapped) const +{ + const InferenceSnap s = infer_at(canvas, evt, raw); + // Cache the target so render() can draw a snap hint; only endpoint/centre/origin + // count as a "vertex" snap for the callers that gate angle inference on it. + const_cast<DesignSketchTool*>(this)->m_cursor_snap = s; + snapped = s.snapped(); // any hard snap moves the cursor + suppresses angle lock + return s.point; +} + +bool DesignSketchTool::has_coincident(int ea, SketchPointRole ra, int eb, SketchPointRole rb) const +{ + for (const auto& c : m_constraints) { + if (c.type != SketchConstraintType::Coincident) continue; + if ((c.ea == ea && c.ra == ra && c.eb == eb && c.rb == rb) || + (c.ea == eb && c.ra == rb && c.eb == ea && c.rb == ra)) + return true; + } + return false; +} + +bool DesignSketchTool::try_add_constraints(const std::vector<SketchEntityConstraintDef>& cands) +{ + if (cands.empty()) return true; + const size_t mark = m_constraints.size(); + for (const auto& c : cands) m_constraints.push_back(c); + if (solve_sketch_entities(m_entities, m_constraints)) { + if (on_constraints_changed) on_constraints_changed(); + return true; + } + m_constraints.resize(mark); // roll back the conflicting batch + // No re-solve to "restore": a failed solve no longer touches the geometry + // (SketchSolver.cpp only writes back on success), so m_entities still holds the + // prior solved state exactly. pl5. + return false; +} + +// Delete the constraint whose badge is under `p`. Removing a constraint can only FREE degrees +// of freedom, so the re-solve cannot fail for over-constraint -- but it is still run, because +// the geometry must relax back to what the remaining system allows. +bool DesignSketchTool::remove_constraint_near(const Vec2d& p) +{ + if (m_glyph_hits.empty() || m_glyph_r <= 0.0) return false; + int best = -1; + double best_d = m_glyph_r; + for (const GlyphHit& g : m_glyph_hits) { + const double d = (g.c - p).norm(); + if (d < best_d && g.con >= 0 && g.con < int(m_constraints.size())) { best_d = d; best = g.con; } + } + if (best < 0) return false; + return remove_constraint(best); +} + +bool DesignSketchTool::remove_constraint(int idx) +{ + if (idx < 0 || idx >= int(m_constraints.size())) return false; + m_constraints.erase(m_constraints.begin() + idx); + // resolve_live(), not a bare solve: it is the path that recomputes the DoF, clears the + // per-entity conflict flags and fires on_solve_state. Solving directly would relax the + // geometry while leaving the DoF readout and any red over-constrained tint stale — the + // readout would still describe the constraint that was just deleted. + resolve_live(); + m_glyph_hits.clear(); // stale until the next render rebuilds them + if (on_constraints_changed) on_constraints_changed(); + return true; +} + +void DesignSketchTool::infer_auto_constraints(int base, double ang_tol_rad, double weld_tol) +{ + const int n = int(m_entities.size()); + if (base < 0 || base >= n) return; + + // Endpoint roles an entity exposes for coincidence matching. + auto roles_of = [](const SketchEntity& e, SketchPointRole out[2]) -> int { + switch (e.type) { + case SketchEntity::Type::Line: out[0] = SketchPointRole::P0; out[1] = SketchPointRole::P1; return 2; + case SketchEntity::Type::Arc: out[0] = SketchPointRole::P0; out[1] = SketchPointRole::P1; return 2; + // EllipseArc was missing here while the otherwise identical roles_of in + // heal_coincidences (below) has it, so an ellipse arc's endpoints could be WELDED by the + // healer but never auto-inferred coincident at draw time -- the same gesture behaved + // differently depending on which path ran. Two copies of one rule is how that happens. + case SketchEntity::Type::EllipseArc: + out[0] = SketchPointRole::P0; out[1] = SketchPointRole::P1; return 2; + case SketchEntity::Type::BSpline:out[0] = SketchPointRole::P0; out[1] = SketchPointRole::P1; return 2; + case SketchEntity::Type::Point: out[0] = SketchPointRole::P0; return 1; + default: return 0; // circle: centre coincidence handled by Concentric, not here + } + }; + + // 1) Coincident between a new endpoint and any (co-located) endpoint of another + // entity. snap_vertex already drove the coordinates together; this records it + // so a re-solve keeps the loop closed. + std::vector<SketchEntityConstraintDef> coincs; + for (int i = base; i < n; ++i) { + SketchPointRole ir[2]; const int ni = roles_of(m_entities[i], ir); + for (int a = 0; a < ni; ++a) { + Vec2d pa; if (!point_at(i, ir[a], pa)) continue; + for (int j = 0; j < n; ++j) { + if (j == i) continue; + SketchPointRole jr[2]; const int nj = roles_of(m_entities[j], jr); + for (int b = 0; b < nj; ++b) { + if (j >= base && j < i) continue; // avoid duplicate (i,j)/(j,i) + Vec2d pb; if (!point_at(j, jr[b], pb)) continue; + if ((pa - pb).squaredNorm() > weld_tol * weld_tol) continue; + if (has_coincident(i, ir[a], j, jr[b])) continue; + SketchEntityConstraintDef c; + c.type = SketchConstraintType::Coincident; + c.ea = i; c.ra = ir[a]; c.eb = j; c.rb = jr[b]; + coincs.push_back(c); + } + } + } + } + try_add_constraints(coincs); // co-located points: consistent by construction + + // 2) Horizontal / Vertical on axis-aligned new line segments. Tried as ONE batch first and + // only then one at a time, which is the same outcome — a single conflict never drops the + // others — for one solve instead of n. That matters now that large sketches actually + // solve: a bulk add of 1200 axis-aligned segments used to be fast only because every + // solve failed instantly on the unknown limit, and once they started succeeding the + // per-constraint loop turned into 1200 solves and blew the MCP main-thread budget. + std::vector<SketchEntityConstraintDef> axes; + for (int i = base; i < n; ++i) { + if (m_entities[i].type != SketchEntity::Type::Line) continue; + auto ax = infer_axis_constraint(m_entities[i].p0, m_entities[i].p1, ang_tol_rad); + if (!ax) continue; + SketchEntityConstraintDef c; + c.type = *ax; + c.ea = i; c.ra = SketchPointRole::P0; + c.eb = i; c.rb = SketchPointRole::P1; + axes.push_back(c); + } + if (!try_add_constraints(axes)) + for (const auto& c : axes) try_add_constraints({ c }); + + // 3) Relational constraints on the new entities (parallel/perpendicular on connected + // lines, equal radius, tangent). Same batch-then-one-at-a-time fallback as above: + // try_add_constraints rolls a conflicting batch back, so a single rejected relation + // never costs the others. Every rule only pins a relation that is ALREADY true, so + // nothing the user drew is moved by this. + // A SCRIPTED ADD IS NOT A DRAWN GESTURE — the rule this function already states at its + // bulk call site, which passes zero tolerances for exactly that reason (8xg1). + // Relational inference must obey it too, and for a second reason beyond tolerance: + // EqualRadius couples entities that are geometrically far apart, so on a real drawing it + // merges independent connected components into one huge system and defeats the + // component partitioning that makes large sketches solvable at all (yww4). + // Measured 2026-08-31 on the corpus rung: geometry stayed correct (32/32 sheets clean) + // but seven of the largest sheets hit main-thread timeout — MPD681 among them, the very + // sheet named in the comment at the bulk call site. Exact-equality would not save it + // either: patterned holes in real drawings ARE exactly equal. + // So: relations only for batches the size of a human gesture. A polyline segment is 1, a + // rectangle 4, a polygon a dozen; a scripted or imported add is hundreds. + constexpr int kRelInferMaxBatch = 16; + std::vector<SketchEntityConstraintDef> rels; + if (n - base <= kRelInferMaxBatch) { + const double rel_len_tol = ang_tol_rad > 0.0 ? 0.01 : 0.0; // exact-only when the caller asked for exact + for (int i = base; i < n; ++i) { + auto r = infer_relations(m_entities, i, ang_tol_rad, rel_len_tol); + rels.insert(rels.end(), r.begin(), r.end()); + } + } + // NO one-at-a-time fallback here, unlike the two batches above. Relations are a + // convenience: nothing is incorrect without them. The fallback costs one SOLVE PER + // CONSTRAINT, which is what the warning on the axes batch is about, and paying it for + // optional constraints is how a bulk add pins the app at 100% CPU with the MCP socket + // unresponsive (measured 2026-08-31). If the batch conflicts, drop the batch. + if (!rels.empty()) try_add_constraints(rels); + + resolve_live(); +} + +static std::vector<Vec2d> circle_polygon(const Vec2d& c, double r, int n = 48) +{ + std::vector<Vec2d> v; v.reserve(n); + for (int i = 0; i < n; ++i) { + const double a = 2.0 * M_PI * double(i) / double(n); + v.push_back(Vec2d(c.x() + r * std::cos(a), c.y() + r * std::sin(a))); + } + return v; +} + +// Point on an ellipse at parametric angle theta: center + R(phi)*(a cos t, b sin t). +static Vec2d ellipse_point(const Vec2d& c, double a, double b, double phi, double t) +{ + const double cu = std::cos(phi), su = std::sin(phi); + const double x = a * std::cos(t), y = b * std::sin(t); + return Vec2d(c.x() + x * cu - y * su, c.y() + x * su + y * cu); +} + +// Tessellate an ellipse arc parametric range [t0,t1] into a polyline. +static std::vector<Vec2d> ellipse_polyline(const Vec2d& c, double a, double b, double phi, + double t0, double t1, int n = 48) +{ + std::vector<Vec2d> v; v.reserve(n + 1); + for (int i = 0; i <= n; ++i) + v.push_back(ellipse_point(c, a, b, phi, t0 + (t1 - t0) * double(i) / double(n))); + return v; +} + +// Clamped uniform B-spline (degree min(3, n-1)) through control poles. The knot +// construction mirrors SketchEngine::entities_to_wire's OCCT Geom_BSplineCurve so +// the previewed/extruded curve match. de Boor evaluation. +static int bspline_degree(int n) { return n >= 4 ? 3 : (n >= 2 ? n - 1 : 0); } + +static std::vector<double> bspline_knots(int n, int p) +{ + std::vector<double> U; // full knot vector, length n+p+1 + const int interior = n - p - 1; + for (int i = 0; i <= p; ++i) U.push_back(0.0); + for (int i = 1; i <= interior; ++i) U.push_back(double(i)); + const double last = double(interior + 1); + for (int i = 0; i <= p; ++i) U.push_back(last); + return U; +} + +static Vec2d bspline_eval(const std::vector<Vec2d>& P, const std::vector<double>& U, int p, double u) +{ + const int n = int(P.size()); + if (u <= U[p]) return P.front(); + if (u >= U[n]) return P.back(); // U[n] == domain max (clamped) + int k = p; + while (k < n - 1 && U[k + 1] <= u) ++k; // span: U[k] <= u < U[k+1] + std::vector<Vec2d> d(p + 1); + for (int j = 0; j <= p; ++j) d[j] = P[j + k - p]; + for (int r = 1; r <= p; ++r) + for (int j = p; j >= r; --j) { + const double denom = U[j + 1 + k - r] - U[j + k - p]; + const double a = denom > 1e-12 ? (u - U[j + k - p]) / denom : 0.0; + d[j] = (1.0 - a) * d[j - 1] + a * d[j]; + } + return d[p]; +} + +static std::vector<Vec2d> bspline_polyline(const std::vector<Vec2d>& ctrl, int samples = 0) +{ + const int n = int(ctrl.size()); + if (n < 2) return ctrl; + const int p = bspline_degree(n); + const std::vector<double> U = bspline_knots(n, p); + const double umax = double(n - p); + if (samples <= 0) samples = std::max(24, 14 * (n - 1)); + std::vector<Vec2d> out; out.reserve(samples + 1); + for (int i = 0; i <= samples; ++i) + out.push_back(bspline_eval(ctrl, U, p, umax * double(i) / double(samples))); + return out; +} + +// ---- entity builders -------------------------------------------------------- + +void DesignSketchTool::push_line(const Vec2d& a, const Vec2d& b) +{ + if ((b - a).squaredNorm() < 1e-9) + return; + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = a; + e.p1 = b; + e.construction = m_construction; + m_entities.push_back(e); +} + +bool DesignSketchTool::add_imported_regions( + const std::vector<std::vector<std::vector<Vec2d>>>& regions) +{ + if (!m_active) return false; // no session to draw into; caller makes a feature + const bool saved = m_construction; + m_construction = false; // art is real geometry, never construction lines + size_t before = m_entities.size(); + for (const auto& region : regions) + for (const auto& loop : region) + push_closed_lines(loop); // every glyph contour, holes included + m_construction = saved; + if (m_entities.size() == before) return false; // nothing importable — say so, do not lie + // Art is not "just drawn", so it must NOT enter the draw-then-edit queue. Without this the + // glyph contours are treated as fresh entities and a Length field opens on the first of + // them — on a word, that is one value editor per segment, and an open field freezes the + // canvas (yce). reset_autoedit() marks every entity as already seen. + reset_autoedit(); + // The new lines carry no constraints, so the solver has nothing to move; resolve anyway so + // the degrees-of-freedom readout counts them instead of going stale. + resolve_live(); + return true; +} + +void DesignSketchTool::push_closed_lines(const std::vector<Vec2d>& corners) +{ + const size_t n = corners.size(); + if (n < 2) return; + for (size_t i = 0; i < n; ++i) + push_line(corners[i], corners[(i + 1) % n]); +} + +void DesignSketchTool::push_open_chain(const std::vector<Vec2d>& pts) +{ + for (size_t i = 0; i + 1 < pts.size(); ++i) + push_line(pts[i], pts[i + 1]); +} + +void DesignSketchTool::push_circle(const Vec2d& center, double radius) +{ + if (radius < 1e-3) return; + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = center; + e.p0 = center; + e.radius = radius; + e.construction = m_construction; + m_entities.push_back(e); +} + +void DesignSketchTool::push_point(const Vec2d& p) +{ + SketchEntity e; + e.type = SketchEntity::Type::Point; + e.p0 = p; + e.center = p; + e.construction = m_construction; + m_entities.push_back(e); +} + +void DesignSketchTool::append_entities(const std::vector<SketchEntity>& ents) +{ + for (const SketchEntity& e : ents) + m_entities.push_back(e); +} + +static double wrap_2pi(double a) +{ + while (a < 0.0) a += 2.0 * M_PI; + while (a >= 2.0 * M_PI) a -= 2.0 * M_PI; + return a; +} + +// Circumcircle of 3 points. Returns false if (nearly) collinear. +static bool circumcircle(const Vec2d& a, const Vec2d& b, const Vec2d& c, + Vec2d& center, double& radius) +{ + const double d = 2.0 * (a.x() * (b.y() - c.y()) + + b.x() * (c.y() - a.y()) + + c.x() * (a.y() - b.y())); + if (std::abs(d) < 1e-9) + return false; + const double a2 = a.squaredNorm(), b2 = b.squaredNorm(), c2 = c.squaredNorm(); + const double ux = (a2 * (b.y() - c.y()) + b2 * (c.y() - a.y()) + c2 * (a.y() - b.y())) / d; + const double uy = (a2 * (c.x() - b.x()) + b2 * (a.x() - c.x()) + c2 * (b.x() - a.x())) / d; + center = Vec2d(ux, uy); + radius = (a - center).norm(); + return true; +} + +// Build an Arc entity that sweeps start -> end passing through `through`. The +// kernel reconstructs the mid from (start_angle+end_angle)/2, so the angle pair +// must bracket `through` on the correct side of the circle. +static SketchEntity make_arc_through(const Vec2d& center, double radius, + const Vec2d& start, const Vec2d& end, + const Vec2d& through, bool construction) +{ + const double a_start = std::atan2(start.y() - center.y(), start.x() - center.x()); + const double a_end = std::atan2(end.y() - center.y(), end.x() - center.x()); + const double a_thru = std::atan2(through.y() - center.y(), through.x() - center.x()); + const double de = wrap_2pi(a_end - a_start); // CCW sweep to end (0,2π) + const double d3 = wrap_2pi(a_thru - a_start); // CCW position of through + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = center; + e.radius = radius; + e.p0 = start; + e.p1 = end; + e.start_angle = a_start; + e.end_angle = (d3 <= de) ? (a_start + de) : (a_start + de - 2.0 * M_PI); + e.construction = construction; + return e; +} + +std::vector<SketchEntity> DesignSketchTool::make_three_point_circle(const Vec2d& a, const Vec2d& b, const Vec2d& c) const +{ + Vec2d center; double radius; + if (!circumcircle(a, b, c, center, radius)) + return {}; + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = center; + e.p0 = center; + e.radius = radius; + e.construction = m_construction; + return { e }; +} + +std::vector<SketchEntity> DesignSketchTool::make_three_point_arc(const Vec2d& start, const Vec2d& end, const Vec2d& on_arc) const +{ + Vec2d center; double radius; + if (!circumcircle(start, end, on_arc, center, radius)) + return {}; + return { make_arc_through(center, radius, start, end, on_arc, m_construction) }; +} + +std::vector<SketchEntity> DesignSketchTool::make_tangent_arc(const Vec2d& start, const Vec2d& end) const +{ + // Tangent direction at `start` = exit direction of the previous entity. + Vec2d t(1, 0); + bool have_t = false; + if (!m_entities.empty()) { + const SketchEntity& prev = m_entities.back(); + if (prev.type == SketchEntity::Type::Line) { + t = prev.p1 - prev.p0; have_t = (t.squaredNorm() > 1e-12); + } else if (prev.type == SketchEntity::Type::Arc) { + // Tangent at the arc end p1 is perpendicular to its radius, in the + // sweep direction. + const Vec2d r = prev.p1 - prev.center; + const double sweep = prev.end_angle - prev.start_angle; + t = (sweep >= 0.0) ? Vec2d(-r.y(), r.x()) : Vec2d(r.y(), -r.x()); + have_t = (r.squaredNorm() > 1e-12); + } + } + const Vec2d se = end - start; + if (!have_t || se.squaredNorm() < 1e-12) { + // No tangent reference or zero length: fall back to a straight line. + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = start; e.p1 = end; + e.construction = m_construction; + return { e }; + } + t.normalize(); + const Vec2d n(-t.y(), t.x()); // unit normal to the tangent + const double denom = 2.0 * n.dot(se); + if (std::abs(denom) < 1e-9) { // end lies along the tangent: line + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = start; e.p1 = end; + e.construction = m_construction; + return { e }; + } + const double R = se.squaredNorm() / denom; // signed radius along n + const Vec2d center = start + n * R; + const double radius = std::abs(R); + // Mid of the tangent arc: project the chord midpoint outward onto the circle. + const Vec2d chord_mid = (start + end) * 0.5; + Vec2d to_mid = chord_mid - center; + if (to_mid.squaredNorm() < 1e-12) to_mid = n; + to_mid.normalize(); + const Vec2d through = center + to_mid * radius; + return { make_arc_through(center, radius, start, end, through, m_construction) }; +} + +std::vector<SketchEntity> DesignSketchTool::make_center_arc(const Vec2d& center, const Vec2d& start, const Vec2d& end_dir) const +{ + const double radius = (start - center).norm(); + if (radius < 1e-9) + return {}; + const double a_start = std::atan2(start.y() - center.y(), start.x() - center.x()); + const double a_end = std::atan2(end_dir.y() - center.y(), end_dir.x() - center.x()); + const double de = wrap_2pi(a_end - a_start); // CCW sweep start -> end (0,2π) + const Vec2d end = center + radius * Vec2d(std::cos(a_end), std::sin(a_end)); + const double a_mid = a_start + de * 0.5; // bisector brackets the sweep + const Vec2d through = center + radius * Vec2d(std::cos(a_mid), std::sin(a_mid)); + return { make_arc_through(center, radius, start, end, through, m_construction) }; +} + +std::vector<SketchEntity> DesignSketchTool::make_slot(const Vec2d& c0, const Vec2d& c1, double half_width) const +{ + std::vector<SketchEntity> out; + Vec2d u = c1 - c0; + if (u.squaredNorm() < 1e-12 || half_width < 1e-6) + return out; + u.normalize(); + const Vec2d nrm(-u.y(), u.x()); + const double w = half_width; + // Names avoid termios macros (B0 is a baud-rate #define pulled in transitively). + const Vec2d top0 = c0 + nrm * w, top1 = c1 + nrm * w; // upper side (c0 -> c1) + const Vec2d bot1 = c1 - nrm * w, bot0 = c0 - nrm * w; // lower side (c1 -> c0) + + auto line = [&](const Vec2d& p0, const Vec2d& p1) { + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = p0; e.p1 = p1; + e.construction = m_construction; return e; + }; + out.push_back(line(top0, top1)); // top + out.push_back(make_arc_through(c1, w, top1, bot1, c1 + u * w, m_construction)); // cap @c1 (+u) + out.push_back(line(bot1, bot0)); // bottom + out.push_back(make_arc_through(c0, w, bot0, top0, c0 - u * w, m_construction)); // cap @c0 (-u) + return out; +} + +// Arc slot: a slot whose centerline is a circular arc (center, start, end_dir on +// the same radius). Bounded by an outer arc (Rc+w), an inner arc (Rc-w) and two +// semicircular end caps. CCW closed loop, mirroring make_slot's structure. +std::vector<SketchEntity> DesignSketchTool::make_arc_slot(const Vec2d& center, const Vec2d& start, + const Vec2d& end_dir, double half_width) const +{ + std::vector<SketchEntity> out; + const double Rc = (start - center).norm(); + const double w = half_width; + if (Rc < 1e-6 || w < 1e-6 || w >= Rc) return out; + const Vec2d dirS = (start - center) / Rc; + Vec2d de = end_dir - center; + if (de.squaredNorm() < 1e-12) return out; + const Vec2d dirE = de.normalized(); + const double aS = std::atan2(dirS.y(), dirS.x()); + const double aE = std::atan2(dirE.y(), dirE.x()); + const double sweep = wrap_2pi(aE - aS); // CCW start -> end + const double aMid = aS + sweep * 0.5; + const Vec2d uMid(std::cos(aMid), std::sin(aMid)); + const Vec2d Sc = center + Rc * dirS; // centerline start point (cap centre) + const Vec2d Ec = center + Rc * dirE; // centerline end point (cap centre) + const Vec2d S_out = center + (Rc + w) * dirS, S_in = center + (Rc - w) * dirS; + const Vec2d E_out = center + (Rc + w) * dirE, E_in = center + (Rc - w) * dirE; + const Vec2d tE(-dirE.y(), dirE.x()); // CCW travel-forward tangent at E + const Vec2d tS(-dirS.y(), dirS.x()); // CCW travel-forward tangent at S + out.push_back(make_arc_through(center, Rc + w, S_out, E_out, center + (Rc + w) * uMid, m_construction)); // outer + out.push_back(make_arc_through(Ec, w, E_out, E_in, Ec + w * tE, m_construction)); // cap @E (forward) + out.push_back(make_arc_through(center, Rc - w, E_in, S_in, center + (Rc - w) * uMid, m_construction)); // inner + out.push_back(make_arc_through(Sc, w, S_in, S_out, Sc - w * tS, m_construction)); // cap @S (backward) + return out; +} + +// Rounded rectangle: axis-aligned box (a,b opposite corners) with filleted +// corners. radius_pt's distance to the nearest corner sets the fillet radius. +// 4 straight edges + 4 quarter arcs, CCW. +// Build the 8 entities (4 lines + 4 corner arcs, CCW) of an axis-aligned rounded box +// from explicit bounds + fillet radius. Shared by make_rounded_rect (gesture) and +// set_rounded_rect (label/handle edit) so the entity order/count is identical → a rebuild +// in place keeps constraint indices into the feature span valid. +std::vector<SketchEntity> DesignSketchTool::rounded_rect_entities(double xmin, double ymin, + double xmax, double ymax, double r) const +{ + std::vector<SketchEntity> out; + auto line = [&](const Vec2d& p0, const Vec2d& p1) { + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = p0; e.p1 = p1; + e.construction = m_construction; return e; }; + auto corner = [&](const Vec2d& O, const Vec2d& sharp, const Vec2d& start, const Vec2d& end) { + const Vec2d thr = O + r * (sharp - O).normalized(); + return make_arc_through(O, r, start, end, thr, m_construction); }; + out.push_back(line({xmin + r, ymin}, {xmax - r, ymin})); // bottom + out.push_back(corner({xmax - r, ymin + r}, {xmax, ymin}, {xmax - r, ymin}, {xmax, ymin + r})); // BR + out.push_back(line({xmax, ymin + r}, {xmax, ymax - r})); // right + out.push_back(corner({xmax - r, ymax - r}, {xmax, ymax}, {xmax, ymax - r}, {xmax - r, ymax})); // TR + out.push_back(line({xmax - r, ymax}, {xmin + r, ymax})); // top + out.push_back(corner({xmin + r, ymax - r}, {xmin, ymax}, {xmin + r, ymax}, {xmin, ymax - r})); // TL + out.push_back(line({xmin, ymax - r}, {xmin, ymin + r})); // left + out.push_back(corner({xmin + r, ymin + r}, {xmin, ymin}, {xmin, ymin + r}, {xmin + r, ymin})); // BL + return out; +} + +std::vector<SketchEntity> DesignSketchTool::make_rounded_rect(const Vec2d& a, const Vec2d& b, const Vec2d& radius_pt) const +{ + std::vector<SketchEntity> out; + const double xmin = std::min(a.x(), b.x()), xmax = std::max(a.x(), b.x()); + const double ymin = std::min(a.y(), b.y()), ymax = std::max(a.y(), b.y()); + const double bw = xmax - xmin, bh = ymax - ymin; + if (bw < 1e-6 || bh < 1e-6) return out; + const Vec2d cs[4] = { {xmin,ymin}, {xmax,ymin}, {xmax,ymax}, {xmin,ymax} }; + double r = 1e18; + for (const Vec2d& c : cs) r = std::min(r, (radius_pt - c).norm()); + r = std::min(r, std::min(bw, bh) * 0.5); + if (r < 1e-6) { // degenerate -> plain rectangle + auto line = [&](const Vec2d& p0, const Vec2d& p1) { + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = p0; e.p1 = p1; + e.construction = m_construction; return e; }; + for (int i = 0; i < 4; ++i) out.push_back(line(cs[i], cs[(i + 1) % 4])); + return out; + } + return rounded_rect_entities(xmin, ymin, xmax, ymax, r); +} + +std::vector<SketchEntity> DesignSketchTool::make_polygon(const Vec2d& center, const Vec2d& vertex, int sides) const +{ + std::vector<SketchEntity> out; + if (sides < 3) sides = 3; + const Vec2d rv = vertex - center; + const double d = rv.norm(); + if (d < 1e-6) return out; + // Inscribed: cursor is a vertex (circumradius = d). Circumscribed: cursor is an + // edge midpoint (apothem = d) → circumradius R = d / cos(pi/n), rotated by half + // a step so an edge midpoint points at the cursor. + double R = d, a0 = std::atan2(rv.y(), rv.x()); + if (m_polygon_circumscribed) { + R = d / std::cos(M_PI / double(sides)); + a0 = std::atan2(rv.y(), rv.x()) - M_PI / double(sides); + } + std::vector<Vec2d> verts; verts.reserve(sides); + for (int i = 0; i < sides; ++i) { + const double a = a0 + 2.0 * M_PI * double(i) / double(sides); + verts.push_back(Vec2d(center.x() + R * std::cos(a), center.y() + R * std::sin(a))); + } + for (int i = 0; i < sides; ++i) { + SketchEntity e; e.type = SketchEntity::Type::Line; + e.p0 = verts[i]; e.p1 = verts[(i + 1) % sides]; + e.construction = m_construction; + out.push_back(e); + } + return out; +} + +// Derive (a, b, phi) of an ellipse from the 3 defining clicks. First axis click = +// major (a, phi); the minor point's perpendicular distance to the major axis = b, +// clamped to a so OCCT's a >= b holds. +static void ellipse_axes(const Vec2d& center, const Vec2d& major_end, const Vec2d& minor_pt, + double& a, double& b, double& phi) +{ + const Vec2d maj = major_end - center; + a = std::max(maj.norm(), 1e-6); + phi = std::atan2(maj.y(), maj.x()); + const Vec2d n(-std::sin(phi), std::cos(phi)); // minor-axis direction + b = std::min(std::abs((minor_pt - center).dot(n)), a); +} + +// Parametric angle on an ellipse of the point nearest `q` (q projected onto the frame). +static double ellipse_param_of(const Vec2d& center, double a, double b, double phi, const Vec2d& q) +{ + const Vec2d d = q - center; + const double cu = std::cos(phi), su = std::sin(phi); + const double u = d.x() * cu + d.y() * su; // along major + const double v = -d.x() * su + d.y() * cu; // along minor + return std::atan2(v / std::max(b, 1e-9), u / std::max(a, 1e-9)); +} + +std::vector<SketchEntity> DesignSketchTool::make_ellipse(const Vec2d& center, const Vec2d& major_end, + const Vec2d& minor_pt) const +{ + double a, b, phi; + ellipse_axes(center, major_end, minor_pt, a, b, phi); + if (b < 1e-6) return {}; + SketchEntity e; + e.type = SketchEntity::Type::Ellipse; + e.center = center; e.p0 = center; + e.radius = a; e.rminor = b; e.rotation = phi; + e.start_angle = 0.0; e.end_angle = 2.0 * M_PI; + e.construction = m_construction; + return { e }; +} + +std::vector<SketchEntity> DesignSketchTool::make_ellipse_arc(const Vec2d& center, const Vec2d& major_end, + const Vec2d& minor_pt, const Vec2d& start_pt, + const Vec2d& end_pt) const +{ + double a, b, phi; + ellipse_axes(center, major_end, minor_pt, a, b, phi); + if (b < 1e-6) return {}; + double t0 = ellipse_param_of(center, a, b, phi, start_pt); + double t1 = ellipse_param_of(center, a, b, phi, end_pt); + // CCW sweep from t0 to t1. + while (t1 <= t0) t1 += 2.0 * M_PI; + SketchEntity e; + e.type = SketchEntity::Type::EllipseArc; + e.center = center; + e.radius = a; e.rminor = b; e.rotation = phi; + e.start_angle = t0; e.end_angle = t1; + e.p0 = ellipse_point(center, a, b, phi, t0); + e.p1 = ellipse_point(center, a, b, phi, t1); + e.construction = m_construction; + return { e }; +} + +std::vector<SketchEntity> DesignSketchTool::make_bspline(const std::vector<Vec2d>& ctrl) const +{ + if (ctrl.size() < 2) return {}; + SketchEntity e; + e.type = SketchEntity::Type::BSpline; + e.ctrl = ctrl; + e.p0 = ctrl.front(); + e.p1 = ctrl.back(); + e.construction = m_construction; + return { e }; +} + +std::vector<Vec2d> DesignSketchTool::entity_polyline(const SketchEntity& e, bool& closed) const +{ + closed = false; + switch (e.type) { + case SketchEntity::Type::Line: + return { e.p0, e.p1 }; + case SketchEntity::Type::Circle: + closed = true; + return circle_polygon(e.center, e.radius); + case SketchEntity::Type::Arc: { + const int n = kArcFacets; + std::vector<Vec2d> pts; pts.reserve(n + 1); + for (int i = 0; i <= n; ++i) { + const double a = e.start_angle + (e.end_angle - e.start_angle) * double(i) / double(n); + pts.push_back(Vec2d(e.center.x() + e.radius * std::cos(a), + e.center.y() + e.radius * std::sin(a))); + } + return pts; + } + case SketchEntity::Type::Ellipse: + closed = true; + return ellipse_polyline(e.center, e.radius, e.rminor, e.rotation, 0.0, 2.0 * M_PI); + case SketchEntity::Type::EllipseArc: + return ellipse_polyline(e.center, e.radius, e.rminor, e.rotation, e.start_angle, e.end_angle); + case SketchEntity::Type::BSpline: + return bspline_polyline(e.ctrl); + case SketchEntity::Type::Point: + return { e.p0 }; + } + return {}; +} + +std::vector<std::vector<Vec2d>> DesignSketchTool::closed_regions() const +{ + return closed_regions(m_entities); +} + +std::vector<std::vector<Vec2d>> DesignSketchTool::closed_regions(const std::vector<SketchEntity>& ents) const +{ + std::vector<std::vector<Vec2d>> out; + for (RegionLoop& r : region_loops(ents)) out.push_back(std::move(r.poly)); + return out; +} + +std::vector<std::vector<int>> +DesignSketchTool::region_entity_indices(const std::vector<SketchEntity>& ents) const +{ + std::vector<std::vector<int>> out; + for (RegionLoop& r : region_loops(ents)) out.push_back(std::move(r.ents)); + return out; +} + +std::vector<std::vector<int>> +DesignSketchTool::region_entity_indices_with_holes(const std::vector<SketchEntity>& ents) const +{ + const std::vector<RegionLoop> loops = region_loops(ents); + std::vector<std::vector<int>> out; + out.reserve(loops.size()); + for (const RegionLoop& r : loops) { + std::vector<int> ids = r.ents; + for (int h : r.holes) + if (h >= 0 && h < int(loops.size())) + ids.insert(ids.end(), loops[h].ents.begin(), loops[h].ents.end()); + out.push_back(std::move(ids)); + } + return out; +} + +// Nearest stroke, and the enclosing region if the cursor is inside one, for ONE committed +// sketch. Factored out so the single-click and double-click paths cannot drift apart: they must +// agree about what is under the pointer or one of them will act on something else. +// +// region_loops exists to find EXTRUDABLE regions, and by design it discards open chains — its +// own walk comment says so. Using it as the pick index meant a committed sketch of open lines +// had no pickable geometry whatsoever: the strokes drew, and not one of them could be clicked, +// so there was no way to select it and therefore none to edit or delete it. Whether a stroke +// bounds a region has nothing to do with whether the user can point at it. Region membership +// decides what a hit REPORTS, not whether the hit can happen. +static void dp_pick_trace(const char* fmt, ...); // defined below; used by the diagnostics here +static bool dp_pick_trace_on(); // ditto — lets callers skip building a message +void DesignSketchTool::hit_display_sketch(const DisplaySketch& d, const Vec2d& p, double tol, + int& edge_feat, int& edge_reg, int& edge_ent, + double& edge_d, int& face_feat, int& face_reg) const +{ + const std::vector<RegionLoop> loops = region_loops(d.entities); + // What did the sketch decompose into, and what is under the click? This is the trace that + // settled txp8 — it prints the loop table with each loop's hole count, so + // "containment is wrong" and "the click landed elsewhere" stop being indistinguishable. + // Guarded rather than merely silent: hit_display_sketch runs on every pick, and the message + // costs a string build and a heap allocation per loop even when nothing consumes it. + if (dp_pick_trace_on()) { + std::string h; + for (size_t r = 0; r < loops.size(); ++r) { + h += " loop" + std::to_string(r) + "(ents=" + std::to_string(loops[r].ents.size()) + + ",poly=" + std::to_string(loops[r].poly.size()) + + ",holes=" + std::to_string(loops[r].holes.size()) + ")"; + } + dp_pick_trace("sketch feat=%d entities=%zu loops=%zu:%s", d.feature, d.entities.size(), + loops.size(), h.c_str()); + } + std::vector<int> ent_region(d.entities.size(), -1); + for (int r = 0; r < int(loops.size()); ++r) + for (int ei : loops[r].ents) + if (ei >= 0 && ei < int(ent_region.size())) ent_region[ei] = r; + + for (int ei = 0; ei < int(d.entities.size()); ++ei) { + if (d.entities[ei].construction) continue; // as region_loops filters it + const double ed = entity_pick_dist(p, d.entities[ei]); + if (ed <= tol * 3.0 && ed < edge_d) { + edge_d = ed; edge_feat = d.feature; edge_reg = ent_region[ei]; edge_ent = ei; + } + } + // Pick the region the point is REALLY in: inside its boundary and not inside any of its + // holes. Clicking the middle of a plate-with-hole must select the plate; clicking inside + // the hole must select the disc, not the plate. Previously the first containing polygon + // won, so a click inside the circle selected the rectangle. + for (int r = 0; r < int(loops.size()); ++r) { + if (face_feat >= 0) break; + if (!point_in_poly(p, loops[r].poly)) continue; + bool in_hole = false; + for (int h : loops[r].holes) + if (h >= 0 && h < int(loops.size()) && point_in_poly(p, loops[h].poly)) { in_hole = true; break; } + if (!in_hole) { face_feat = d.feature; face_reg = r; } + } + // edge_ent is printed because it is now DELIVERED (3648) — a tool can ask for the + // line you pointed at, not just its loop, and "which entity did that click resolve to" is + // otherwise unanswerable from outside. + dp_pick_trace("region hit -> feat=%d reg=%d (edge_feat=%d edge_reg=%d edge_ent=%d)", + face_feat, face_reg, edge_feat, edge_reg, edge_ent); +} + +std::vector<SketchEntity> DesignSketchTool::selected_loop_entities() const +{ + if (m_display_pick < 0 || m_display_pick_region < 0) return {}; + for (const DisplaySketch& d : m_display_sketches) { + if (d.feature != m_display_pick) continue; + const std::vector<RegionLoop> loops = region_loops(d.entities); + if (m_display_pick_region >= int(loops.size())) return {}; + // The region's OWN boundary plus every loop nested in it. Handing over only the outer + // loop is what made a rectangle-with-a-circle extrude to a plain box: the circle was + // never passed to the kernel, so build_sketch_face had one loop to work with and the + // multi-loop path never ran. + std::vector<SketchEntity> out; + auto take = [&](int region) { + if (region < 0 || region >= int(loops.size())) return; + for (int ei : loops[region].ents) + if (ei >= 0 && ei < int(d.entities.size())) out.push_back(d.entities[ei]); + }; + take(m_display_pick_region); + for (int h : loops[m_display_pick_region].holes) take(h); + return out; + } + return {}; +} + +// ---- Solid topology selection (whole -> face -> edge cycle) ---- + +void DesignSketchTool::set_solid_pick(const std::vector<CadBody>* bodies, const TriangleMesh* mesh, + const std::vector<int>* tri_face, const std::vector<int>* tri_body, + const std::vector<bool>* visible, + const std::vector<Transform3d>* xform) +{ + // Treat no bodies or an empty mesh as "no solid" so has_display()/picking stay off. + if (bodies == nullptr || bodies->empty() || mesh == nullptr || mesh->its.indices.empty()) { + m_solid_bodies = nullptr; m_solid_mesh = nullptr; m_solid_tri_face = nullptr; m_solid_tri_body = nullptr; + m_solid_visible = nullptr; m_solid_xform = nullptr; + } else { + m_solid_bodies = bodies; m_solid_mesh = mesh; m_solid_tri_face = tri_face; m_solid_tri_body = tri_body; + m_solid_visible = visible; m_solid_xform = xform; + } + clear_solid_selection(); +} + +// Map a point sampled from the (untransformed) OCCT body shape through the body's display +// transform, so edge picking/highlight track a moved body. The pick MESH is already +// transformed by the host; only OCCT-sampled edges need this. +Vec3d DesignSketchTool::body_xform_pt(int body, const Vec3d& p) const +{ + if (m_solid_xform != nullptr && body >= 0 && body < int(m_solid_xform->size())) + return (*m_solid_xform)[body] * p; + return p; +} + +// A body is pickable unless an explicit visibility vector marks it hidden. +bool DesignSketchTool::body_pickable(int b) const +{ + if (b < 0) return false; + // Body-focus mode. The focus is an INDEX held by the panel across recomputes, so it can + // outlive the body it names — delete a body and the stored index may point past the end. + // A restriction to a body that no longer exists rejects EVERY body, which is a viewport + // that silently accepts no clicks at all: the worst possible failure for a picking mode, + // because nothing on screen says why. Out of range therefore means NO restriction — fail + // open, never dead. + const bool focus_live = m_pick_only_body >= 0 && m_solid_bodies != nullptr + && m_pick_only_body < int(m_solid_bodies->size()); + if (focus_live && b != m_pick_only_body) return false; + if (m_solid_visible == nullptr || b >= int(m_solid_visible->size())) return true; + return (*m_solid_visible)[b]; +} + +void DesignSketchTool::clear_solid_selection() +{ + m_solid_sel = SolidSel::None; + m_sel_body = m_sel_face = m_sel_edge = -1; + m_sel_edge_pts.clear(); + // The pre-highlight names a face/edge/vertex by index into a shape that a recompute has just + // rebuilt, so it expires with the selection it was a promise about. Left behind it would keep + // glowing on whatever now sits at those indices — a real entity, but not the one meant. + m_pre = SolidPick{}; +} + +void DesignSketchTool::select_body(int body) +{ + // Hidden bodies aren't highlighted (the tint overlay would otherwise draw over a + // body whose GLVolume is off, leaving a ghost after a hide). + if (m_solid_bodies == nullptr || body < 0 || body >= int(m_solid_bodies->size()) + || !body_pickable(body)) { + clear_solid_selection(); + return; + } + m_sel_body = body; + m_sel_face = m_sel_edge = -1; + m_sel_edge_pts.clear(); + m_solid_sel = SolidSel::Whole; // render_solid_highlight tints just this body +} + +// Pick tracing. Selection failures on a real desktop have repeatedly turned out to be an +// event that never arrived rather than a ray that missed, and the two look identical from +// the UI. Set ORCA_CAD_PICK_TRACE=1 and the whole press->release->ray path narrates itself +// on stderr. Off by default: no cost, no noise. +static bool dp_pick_trace_on() +{ + static const bool on = ::getenv("ORCA_CAD_PICK_TRACE") != nullptr; + return on; +} + +static void dp_pick_trace(const char* fmt, ...) +{ + if (!dp_pick_trace_on()) return; + va_list ap; va_start(ap, fmt); + std::fputs("[pick] ", stderr); + std::vfprintf(stderr, fmt, ap); + std::fputc('\n', stderr); + va_end(ap); + std::fflush(stderr); +} + +// Resolve a swept rubber band into a whole-body selection. +// +// Sample points are the display mesh's triangle vertices plus each triangle's centroid. That +// mesh is already in world coordinates — the very points the ray pick tests — so no per-body +// transform is needed here. A body counts as swept when any of its samples lands inside the +// rectangle (crossing semantics: touching selects, which is the forgiving reading of a sweep), +// and the body with the most samples inside wins because the selection callback downstream +// carries exactly one body. +// +// ponytail: crossing over a triangle sample set. A rectangle small enough to sit entirely +// inside one flat triangle selects nothing — drag a bigger one, or click. Real multi-body +// selection (and the homogeneous-set rule that goes with it) is 9xw. +void DesignSketchTool::pick_bodies_in_rectangle() +{ + if (m_solid_mesh == nullptr || m_solid_tri_body == nullptr || m_solid_bodies == nullptr) + return; + const indexed_triangle_set& its = m_solid_mesh->its; + std::vector<Vec3d> pts; + std::vector<int> owner; + pts.reserve(its.indices.size() * 4); + owner.reserve(its.indices.size() * 4); + for (size_t i = 0; i < its.indices.size(); ++i) { + const int b = (i < m_solid_tri_body->size()) ? (*m_solid_tri_body)[i] : -1; + if (!body_pickable(b)) continue; // hidden bodies aren't swept either + const auto& idx = its.indices[i]; + Vec3d c = Vec3d::Zero(); + for (int k = 0; k < 3; ++k) { + const Vec3d p = its.vertices[idx(k)].cast<double>(); + pts.push_back(p); owner.push_back(b); c += p; + } + pts.push_back(c / 3.0); owner.push_back(b); + } + + std::vector<int> hits(m_solid_bodies->size(), 0); + if (!pts.empty()) + for (unsigned int i : m_rubber.contains(pts)) + if (i < owner.size() && owner[i] >= 0 && owner[i] < int(hits.size())) + ++hits[owner[i]]; + + int best = -1, best_n = 0; + for (int b = 0; b < int(hits.size()); ++b) + if (hits[b] > best_n) { best_n = hits[b]; best = b; } + + if (best < 0) clear_solid_selection(); // swept empty space -> drop the selection + else select_body(best); + dp_pick_trace("rubber band -> body=%d (%d samples)", best, best_n); + if (on_solid_selection_changed) + on_solid_selection_changed(int(m_solid_sel), m_sel_body, m_sel_face, m_sel_edge); +} + +// Resolve what a pick at (mx,my) would take. CONST, and it writes only into `out`: the hover +// path calls this many times a second and must not disturb the committed selection by doing so. +bool DesignSketchTool::resolve_solid_pick(GLCanvas3D& canvas, int mx, int my, SolidPick& out) const +{ + out = SolidPick{}; + if (m_solid_bodies == nullptr || m_solid_mesh == nullptr) { + dp_pick_trace("no solid data (bodies=%p mesh=%p)", + (const void*) m_solid_bodies, (const void*) m_solid_mesh); + return false; + } + const Linef3 r = canvas.mouse_ray(Point(mx, my)); + const Vec3d ro = r.a, rd = r.b - r.a; + + // 1) nearest solid face under the cursor (ray vs display-mesh triangles). Resolve WHICH + // body and which face-within-that-body via the per-triangle (tri_body, tri_face) tags. + const indexed_triangle_set& its = m_solid_mesh->its; + int best_face = -1, best_body = -1; double best_t = 1e30; + for (size_t i = 0; i < its.indices.size(); ++i) { + const auto& idx = its.indices[i]; + const Vec3d v0 = its.vertices[idx(0)].cast<double>(); + const Vec3d v1 = its.vertices[idx(1)].cast<double>(); + const Vec3d v2 = its.vertices[idx(2)].cast<double>(); + double t; + if (ray_triangle(ro, rd, v0, v1, v2, t) && t < best_t) { + const int cand_body = (m_solid_tri_body && i < m_solid_tri_body->size()) ? (*m_solid_tri_body)[i] : -1; + if (!body_pickable(cand_body)) continue; // hidden bodies don't catch clicks + best_t = t; + best_face = (m_solid_tri_face && i < m_solid_tri_face->size()) ? (*m_solid_tri_face)[i] : -1; + best_body = cand_body; + } + } + dp_pick_trace("ray tris=%zu -> body=%d face=%d t=%.3f", its.indices.size(), + best_body, best_face, best_t); + if (best_face < 0 || best_body < 0 || best_body >= int(m_solid_bodies->size())) + return false; // missed the solid + + // ---- one click, one deterministic result --------------------------------------------- + // NO CYCLE. A click selects the SMALLEST thing under the cursor: the edge if the pointer is + // within tolerance of one, otherwise the face. The WHOLE body is taken by a left-drag + // rubber band (pick_bodies_in_rectangle) — a different gesture for a different scale. + // + // What this replaces: click 1 = whole body, click 2 = face, click 3 = nearest edge, click 4 + // = back to whole. That made "click a face" a two-click gesture and "click an edge" a + // three-click one, neither discoverable — the L5 violation §10 of the charter already + // listed, and the real reason sketching on a face kept reading as broken however often the + // plane resolution was fixed. Selection is the foundation the tool offer stands on: the + // offer can only ever be as truthful as the selection beneath it. + // + // Tolerance is measured in SCREEN PIXELS. The old edge step compared a ray-to-segment + // distance in millimetres, so the same gesture meant different things at different zooms — + // the pointer is a screen object and its tolerance has to be one too. + const Camera& cam = wxGetApp().plater()->get_camera(); + const wxPoint cursor(mx, my); + // Vertex beats edge beats face, and the vertex tolerance is the larger of the two: a corner + // sits ON its edges, so an equal radius would make vertices unreachable — every click near + // one would resolve to the edge it lies on. + const double kVertexTolPx = 11.0; + const double kEdgeTolPx = 8.0; + + auto seg_px = [](const wxPoint& p, const wxPoint& a, const wxPoint& b) { // 2D point→segment, px + const double vx = b.x - a.x, vy = b.y - a.y; + const double wx = p.x - a.x, wy = p.y - a.y; + const double L2 = vx * vx + vy * vy; + double t = (L2 > 1e-12) ? (wx * vx + wy * vy) / L2 : 0.0; + t = std::max(0.0, std::min(1.0, t)); + return std::hypot(wx - t * vx, wy - t * vy); + }; + + out.body = best_body; + out.face = best_face; + + { + const TopoDS_Shape& bshape = (*m_solid_bodies)[out.body].shape; + const TopoDS_Face face = GeometryEngine::face_by_index(bshape, out.face); + double best_ed = 1e30; std::vector<Vec3d> ed_pts; TopoDS_Edge ed_edge; bool have_edge = false; + double best_vd = 1e30; Vec3d vtx = Vec3d::Zero(); bool have_vtx = false; + // Screen extent of the face, accumulated from the same edge samples the loop already + // takes. A FIXED edge tolerance makes a narrow face unreachable: a 3 mm-wide plate is + // barely wider on screen than the 8 px budget, so every point on it is "on an edge" and + // the face level can never be picked — which also blocks the face-based Coord Sys that a + // mate needs. The tolerances below shrink with the face so its middle stays its own. + int fx0 = INT_MAX, fy0 = INT_MAX, fx1 = INT_MIN, fy1 = INT_MIN; + if (!face.IsNull()) { + for (const TopoDS_Edge& e : GeometryEngine::edges_of_face(face)) { + std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(e); + for (Vec3d& q : pts) q = body_xform_pt(out.body, q); // follow a moved body + if (pts.size() < 2) continue; + // The polyline ends ARE the edge's vertices; every corner of the face is the + // end of one of its edges, so this covers them without a separate topology walk. + for (const Vec3d& v : {pts.front(), pts.back()}) { + const wxPoint sp = world_to_screen_px(cam, v); + if (sp.x < 0) continue; + const double d = std::hypot(double(sp.x - cursor.x), double(sp.y - cursor.y)); + if (d < best_vd) { best_vd = d; vtx = v; have_vtx = true; } + } + double d = 1e30; + for (size_t s = 1; s < pts.size(); ++s) { + const wxPoint a = world_to_screen_px(cam, pts[s - 1]); + const wxPoint b = world_to_screen_px(cam, pts[s]); + if (a.x < 0 || b.x < 0) continue; // behind the camera + fx0 = std::min({fx0, a.x, b.x}); fx1 = std::max({fx1, a.x, b.x}); + fy0 = std::min({fy0, a.y, b.y}); fy1 = std::max({fy1, a.y, b.y}); + d = std::min(d, seg_px(cursor, a, b)); + } + if (d < best_ed) { best_ed = d; ed_pts = pts; ed_edge = e; have_edge = true; } + } + } + // A third of the face's SHORTER on-screen side, so the two tolerances can never meet in + // the middle. Only ever shrinks: a face big enough keeps the full budget. + double vtol = kVertexTolPx, etol = kEdgeTolPx; + if (fx1 > fx0 && fy1 > fy0) { + const double narrow = double(std::min(fx1 - fx0, fy1 - fy0)) / 3.0; + vtol = std::min(vtol, narrow); + etol = std::min(etol, narrow); + } + if (have_vtx && best_vd <= vtol) { + out.vertex_pt = vtx; + out.kind = SolidSel::Vertex; + } else if (have_edge && best_ed <= etol) { + // Promote the face-relative pick to a STABLE GLOBAL edge id so dress-up ops + // (fillet/chamfer) can target this exact edge across recomputes. + out.edge = GeometryEngine::edge_index_of(bshape, ed_edge); + out.edge_pts = std::move(ed_pts); + out.kind = SolidSel::Edge; + } else { + out.kind = SolidSel::Face; + } + } + return true; +} + +// A click on the solid takes the smallest thing under the cursor (vertex/edge/face). Returns +// true if the click hit the solid (consumed); false otherwise so the caller can try +// committed-sketch loop picking. Whole bodies are taken by the rubber band, not by clicking. +bool DesignSketchTool::handle_solid_click(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + SolidPick p; + if (!resolve_solid_pick(canvas, evt.GetX(), evt.GetY(), p)) + return false; // missed the solid, or no solid data — same two exits as before + + // What was selected BEFORE this pick — the escalation below is the only thing that reads + // it, and everything from here on overwrites it. + const SolidSel prev_kind = m_solid_sel; + const int prev_body = m_sel_body, prev_face = m_sel_face, prev_edge = m_sel_edge; + const Vec3d prev_vtx = m_sel_vertex_pt; + + m_sel_body = p.body; + m_sel_face = p.face; + m_sel_edge = p.edge; + m_sel_edge_pts = std::move(p.edge_pts); + m_sel_vertex_pt = p.vertex_pt; + m_solid_sel = p.kind; + + // CLICK AGAIN ON THE SAME THING -> THE WHOLE BODY (gem). Pointing at a face and + // pointing at its body are different intents, and until now only the rubber band could + // express the second one — so the status line said "face 0 selected" while the user + // believed they had taken the body, and every body verb had to opt into the face kinds to + // stay reachable. One more click on the SAME sub-element escalates. + // + // This is not the pick cycle that was removed (bc2b741ce9). That one was silent and three + // deep, so no click had a predictable meaning. Here the escalation is announced by the + // status line BEFORE you make the click, and a further click just takes the face under the + // cursor again — the ordinary meaning of clicking a face, which needs no teaching. + // + // Double-click is safe: wx sends Down/Up/DClick/Up, and only the first Up carries a + // pending press, so a fast double-click zooms to fit and picks ONCE. Escalation needs two + // separate clicks, the same "click, pause, click" distinction a file manager uses. + // + // "The same thing" is compared AT THE LEVEL THAT WAS PICKED, and nothing else. Requiring + // every field to match looked stricter and was simply wrong: an edge pick leaves m_sel_face + // set to whichever face the ray happened to hit, and a shared edge is reached through a + // different face depending on which side of the body you are looking from. So picking an + // edge, orbiting, and clicking that same edge from the other side left m_sel_edge equal and + // m_sel_face different, and the escalation the status line had just promised did not happen. + // The edge id here is already the STABLE GLOBAL one (edge_index_of, a few lines up) — it + // identifies the edge on its own and does not need the face to disambiguate it. + const bool same_pick = m_solid_sel == prev_kind && m_sel_body == prev_body + && (m_solid_sel == SolidSel::Vertex ? (m_sel_vertex_pt - prev_vtx).norm() < 1e-9 + : m_solid_sel == SolidSel::Edge ? m_sel_edge == prev_edge + : m_solid_sel == SolidSel::Face ? m_sel_face == prev_face + : true); + if (same_pick && m_escalate_repick) { + select_body(m_sel_body); // clears face/edge/vertex, tints the whole body + dp_pick_trace("re-pick -> escalated to whole body %d", m_sel_body); + } + dp_pick_trace("pick -> sel=%d body=%d face=%d edge=%d", + int(m_solid_sel), m_sel_body, m_sel_face, m_sel_edge); + if (on_solid_selection_changed) + on_solid_selection_changed(int(m_solid_sel), m_sel_body, m_sel_face, m_sel_edge); + return true; +} + +// Recompute what the pointer is over. Returns true only when the answer CHANGED — this runs on +// every motion event, and a repaint per event would cost far more than the pick itself. +bool DesignSketchTool::update_solid_hover(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + SolidPick p; + if (!resolve_solid_pick(canvas, evt.GetX(), evt.GetY(), p)) + p = SolidPick{}; // off the solid: no promise to make + // Compared AT THE LEVEL THAT WAS PICKED, for the same reason the click's escalation is + // (see same_pick above): an edge pick carries whichever face the ray happened to cross, and + // that face changes as the pointer slides along the edge without the answer changing at all. + const bool same = p.kind == m_pre.kind && p.body == m_pre.body + && (p.kind == SolidSel::Vertex ? (p.vertex_pt - m_pre.vertex_pt).norm() < 1e-9 + : p.kind == SolidSel::Edge ? p.edge == m_pre.edge + : p.kind == SolidSel::Face ? p.face == m_pre.face + : true); + if (same) return false; + m_pre = std::move(p); + return true; +} + +// One highlight, drawn from explicit arguments rather than from the selection members, so the +// committed selection and the hover pre-highlight cannot drift apart in how they look. alpha_mul +// scales every layer at once: the pre-highlight is the same shape in the same place, quieter. +void DesignSketchTool::render_solid_sel(SolidSel kind, int body, int face, + const std::vector<Vec3d>& edge_pts, + const Vec3d& vertex_pt, + const ColorRGBA& rgb, float alpha_mul) +{ + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + // Opaque: the edge ribbon and the vertex square render with GL_BLEND OFF, so an alpha below 1 + // here would be silently ignored. Those two are quietened by a MUTED rgb from the caller + // instead; alpha_mul only reaches the face fill, which is the one layer that is blended. + const ColorRGBA cyan(rgb.r(), rgb.g(), rgb.b(), 1.0f); + + // Whole tints the picked BODY (all its triangles, lighter alpha); Face tints just the + // picked face on that body. Both filter by `body` so other bodies stay untinted. + if ((kind == SolidSel::Face || kind == SolidSel::Whole) + && m_solid_mesh != nullptr && m_solid_tri_body != nullptr && body >= 0) { + const bool face_only = (kind == SolidSel::Face); + const indexed_triangle_set& its = m_solid_mesh->its; + GLModel::Geometry g; g.format = { EPT::Triangles, EVL::P3 }; + unsigned int base = 0; + for (size_t i = 0; i < its.indices.size(); ++i) { + if (i >= m_solid_tri_body->size() || (*m_solid_tri_body)[i] != body) continue; + if (face_only && (m_solid_tri_face == nullptr || i >= m_solid_tri_face->size() + || (*m_solid_tri_face)[i] != face)) continue; + const auto& idx = its.indices[i]; + for (int j = 0; j < 3; ++j) g.add_vertex(its.vertices[idx(j)]); + g.add_triangle(base, base + 1, base + 2); base += 3; + } + if (base > 0) { + glsafe(::glEnable(GL_DEPTH_TEST)); + glsafe(::glEnable(GL_POLYGON_OFFSET_FILL)); + glsafe(::glPolygonOffset(-2.0f, -2.0f)); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + m_solid_face_model.reset(); + m_solid_face_model.init_from(std::move(g)); + m_solid_face_model.set_color(ColorRGBA(rgb.r(), rgb.g(), rgb.b(), + (face_only ? 0.40f : 0.22f) * alpha_mul)); + m_solid_face_model.render(); + glsafe(::glDisable(GL_BLEND)); + glsafe(::glDisable(GL_POLYGON_OFFSET_FILL)); + glsafe(::glDisable(GL_DEPTH_TEST)); + } + } else if (kind == SolidSel::Edge && edge_pts.size() >= 2) { + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d vd = cam.get_dir_forward(); + const double hw = 2.0 / std::max(cam.get_zoom(), 1e-6); // ~2 px ribbon half-width + GLModel::Geometry g; g.format = { EPT::Triangles, EVL::P3 }; + unsigned int base = 0; + for (size_t s = 1; s < edge_pts.size(); ++s) { + const Vec3d a = edge_pts[s - 1], b = edge_pts[s]; + Vec3d dir = b - a; if (dir.norm() < 1e-9) continue; dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(cam.get_dir_up()); + if (off.norm() < 1e-9) continue; + off.normalize(); off *= hw; + g.add_vertex((Vec3f)(a + off).cast<float>()); + g.add_vertex((Vec3f)(b + off).cast<float>()); + g.add_vertex((Vec3f)(b - off).cast<float>()); + g.add_vertex((Vec3f)(a - off).cast<float>()); + g.add_triangle(base, base + 1, base + 2); + g.add_triangle(base, base + 2, base + 3); base += 4; + } + if (base > 0) { + glsafe(::glDisable(GL_DEPTH_TEST)); + m_solid_edge_model.reset(); + m_solid_edge_model.init_from(std::move(g)); + m_solid_edge_model.set_color(cyan); + m_solid_edge_model.render(); + } + } else if (kind == SolidSel::Vertex) { + // A camera-facing square at the picked corner, sized in screen terms (the same + // 1/zoom trick the edge ribbon uses) so it stays a constant dot at every zoom. A + // selection you cannot see is not a selection (L5), which is why vertex picking waited + // for this rather than shipping without a highlight. + const Camera& cam = wxGetApp().plater()->get_camera(); + Vec3d right = cam.get_dir_right(), up = cam.get_dir_up(); + const double h = 4.5 / std::max(cam.get_zoom(), 1e-6); // ~4.5 px half-size + right *= h; up *= h; + const Vec3d c = vertex_pt; + GLModel::Geometry g; g.format = { EPT::Triangles, EVL::P3 }; + g.add_vertex((Vec3f)(c - right - up).cast<float>()); + g.add_vertex((Vec3f)(c + right - up).cast<float>()); + g.add_vertex((Vec3f)(c + right + up).cast<float>()); + g.add_vertex((Vec3f)(c - right + up).cast<float>()); + g.add_triangle(0, 1, 2); + g.add_triangle(0, 2, 3); + glsafe(::glDisable(GL_DEPTH_TEST)); + m_solid_vertex_model.reset(); + m_solid_vertex_model.init_from(std::move(g)); + m_solid_vertex_model.set_color(cyan); + m_solid_vertex_model.render(); + } +} + +// Cyan overlay for the picked face / edge / vertex, plus the quieter pre-highlight of whatever +// the pointer is currently over. Whole-solid tint is the panel's job (set_body_highlight). +// Called from render() while no sketch session is active. +void DesignSketchTool::render_solid_highlight() +{ + const ColorRGBA sel_cyan = design_selection_color(); + + // The pre-highlight goes FIRST so the committed selection paints over it where the two + // overlap — what you HAVE outranks what you would get. Suppressed entirely when they are the + // same thing: two coats of the same colour on the same face reads as a rendering fault, and + // a promise about a click that would change nothing is not worth making. + const bool pre_is_sel = m_pre.kind == m_solid_sel && m_pre.body == m_sel_body + && (m_pre.kind == SolidSel::Vertex ? (m_pre.vertex_pt - m_sel_vertex_pt).norm() < 1e-9 + : m_pre.kind == SolidSel::Edge ? m_pre.edge == m_sel_edge + : m_pre.kind == SolidSel::Face ? m_pre.face == m_sel_face + : true); + if (m_pre.kind != SolidSel::None && !pre_is_sel) + // Desaturated toward white rather than a second hue: a distinct colour would read as a + // distinct KIND of selection, when it is the same selection one moment earlier. + render_solid_sel(m_pre.kind, m_pre.body, m_pre.face, m_pre.edge_pts, m_pre.vertex_pt, + design_selection_color(), 0.45f); // hover = the same colour, quieter + + render_solid_sel(m_solid_sel, m_sel_body, m_sel_face, m_sel_edge_pts, m_sel_vertex_pt, + sel_cyan, 1.0f); +} + +// Datum/reference planes (Plane feature) have no solid; draw each as a translucent indigo +// rectangle + border so it is visible in the viewport (Onshape-style finite plane). World +// space, depth-test off so it reads over the bed; indigo to stay distinct from the cyan +// solid-selection tint, orange sketches and amber feature ghosts. +void DesignSketchTool::render_view_helpers() +{ + if (!m_show_planes && !m_show_axes) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d vd = cam.get_dir_forward(); + const double hw = 1.5 / std::max(cam.get_zoom(), 1e-6); // billboard ribbon half-width (px) + + glsafe(::glDisable(GL_DEPTH_TEST)); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + + if (m_show_planes) { + const double H = 40.0; // half-extent (mm) + SketchPlane pl[3]; // XY / XZ / YZ through the world origin + pl[0].origin = Vec3d(0,0,0); pl[0].x_axis = Vec3d(1,0,0); pl[0].y_axis = Vec3d(0,1,0); pl[0].normal = Vec3d(0,0,1); + pl[1].origin = Vec3d(0,0,0); pl[1].x_axis = Vec3d(1,0,0); pl[1].y_axis = Vec3d(0,0,1); pl[1].normal = Vec3d(0,1,0); + pl[2].origin = Vec3d(0,0,0); pl[2].x_axis = Vec3d(0,1,0); pl[2].y_axis = Vec3d(0,0,1); pl[2].normal = Vec3d(1,0,0); + GLModel::Geometry fill; fill.format = { EPT::Triangles, EVL::P3 }; + unsigned int fb = 0; + for (const SketchPlane& p : pl) { + const Vec3d c[4] = { p.to_world(Vec2d(-H,-H)), p.to_world(Vec2d(H,-H)), + p.to_world(Vec2d(H,H)), p.to_world(Vec2d(-H,H)) }; + fill.add_vertex((Vec3f)c[0].cast<float>()); fill.add_vertex((Vec3f)c[1].cast<float>()); + fill.add_vertex((Vec3f)c[2].cast<float>()); fill.add_triangle(fb, fb+1, fb+2); fb += 3; + fill.add_vertex((Vec3f)c[0].cast<float>()); fill.add_vertex((Vec3f)c[2].cast<float>()); + fill.add_vertex((Vec3f)c[3].cast<float>()); fill.add_triangle(fb, fb+1, fb+2); fb += 3; + } + if (fb > 0) { GLModel fm; fm.init_from(std::move(fill)); + fm.set_color(ColorRGBA(0.42f, 0.52f, 0.78f, 0.20f)); fm.render(); } + } + + if (m_show_axes) { + const double L = 60.0; // axis length (mm) + struct Ax { Vec3d dir; ColorRGBA col; }; + const Ax axes[3] = { { Vec3d(1,0,0), ColorRGBA(0.92f, 0.28f, 0.28f, 0.9f) }, + { Vec3d(0,1,0), ColorRGBA(0.30f, 0.80f, 0.34f, 0.9f) }, + { Vec3d(0,0,1), ColorRGBA(0.32f, 0.55f, 0.95f, 0.9f) } }; + for (const Ax& ax : axes) { + // Lines don't rasterise under the reused software GL context, so each axis is a + // thin view-facing ribbon (two triangles), like the datum-plane border. + const Vec3d a = Vec3d(0,0,0), b = ax.dir * L; + Vec3d dir = (b - a).normalized(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(cam.get_dir_up()); + if (off.norm() < 1e-9) continue; + off.normalize(); off *= hw * 1.5; + GLModel::Geometry g; g.format = { EPT::Triangles, EVL::P3 }; + g.add_vertex((Vec3f)(a + off).cast<float>()); g.add_vertex((Vec3f)(b + off).cast<float>()); + g.add_vertex((Vec3f)(b - off).cast<float>()); g.add_vertex((Vec3f)(a - off).cast<float>()); + g.add_triangle(0, 1, 2); g.add_triangle(0, 2, 3); + GLModel m; m.init_from(std::move(g)); m.set_color(ax.col); m.render(); + } + } + glsafe(::glDisable(GL_BLEND)); +} + +void DesignSketchTool::render_datum_planes() +{ + if (m_datum_planes.empty()) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const double H = 40.0; // default half-extent when no per-plane size is given (mm) + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d vd = cam.get_dir_forward(); + const double hw = 1.5 / std::max(cam.get_zoom(), 1e-6); // ~1.5 px border ribbon + + GLModel::Geometry fill; fill.format = { EPT::Triangles, EVL::P3 }; + GLModel::Geometry border; border.format = { EPT::Triangles, EVL::P3 }; + unsigned int fb = 0, bb = 0; + for (size_t pi = 0; pi < m_datum_planes.size(); ++pi) { + const SketchPlane& p = m_datum_planes[pi]; + // Per-plane u/v half-extent (the GUI Size U/V + drag handles drive these); fall + // back to the square default when no size was supplied. + const double hu = (pi < m_datum_sizes.size() && m_datum_sizes[pi].x() > 1e-6) + ? m_datum_sizes[pi].x() * 0.5 : H; + const double hv = (pi < m_datum_sizes.size() && m_datum_sizes[pi].y() > 1e-6) + ? m_datum_sizes[pi].y() * 0.5 : H; + const Vec3d c[4] = { p.to_world(Vec2d(-hu, -hv)), p.to_world(Vec2d(hu, -hv)), + p.to_world(Vec2d(hu, hv)), p.to_world(Vec2d(-hu, hv)) }; + fill.add_vertex((Vec3f)c[0].cast<float>()); fill.add_vertex((Vec3f)c[1].cast<float>()); + fill.add_vertex((Vec3f)c[2].cast<float>()); fill.add_triangle(fb, fb + 1, fb + 2); fb += 3; + fill.add_vertex((Vec3f)c[0].cast<float>()); fill.add_vertex((Vec3f)c[2].cast<float>()); + fill.add_vertex((Vec3f)c[3].cast<float>()); fill.add_triangle(fb, fb + 1, fb + 2); fb += 3; + for (int s = 0; s < 4; ++s) { + const Vec3d a = c[s], b = c[(s + 1) & 3]; + Vec3d dir = b - a; if (dir.norm() < 1e-9) continue; dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(cam.get_dir_up()); + if (off.norm() < 1e-9) continue; + off.normalize(); off *= hw; + border.add_vertex((Vec3f)(a + off).cast<float>()); + border.add_vertex((Vec3f)(b + off).cast<float>()); + border.add_vertex((Vec3f)(b - off).cast<float>()); + border.add_vertex((Vec3f)(a - off).cast<float>()); + border.add_triangle(bb, bb + 1, bb + 2); + border.add_triangle(bb, bb + 2, bb + 3); bb += 4; + } + } + glsafe(::glDisable(GL_DEPTH_TEST)); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + if (fb > 0) { + GLModel fm; fm.init_from(std::move(fill)); + fm.set_color(ColorRGBA(0.62f, 0.52f, 0.95f, 0.10f)); + fm.render(); + } + if (bb > 0) { + GLModel bm; bm.init_from(std::move(border)); + bm.set_color(ColorRGBA(0.70f, 0.60f, 1.0f, 0.85f)); + bm.render(); + } + glsafe(::glDisable(GL_BLEND)); +} + +// ---- Visual Extrude gizmo (C5b) ------------------------------------------------------- +void DesignSketchTool::set_extrude_gizmo(const SketchPlane& plane, const Vec2d& centroid, + double depth, double depth2, bool two_sided, bool flip) +{ + m_ex_active = true; + m_ex_plane = plane; + m_ex_centroid = centroid; + m_ex_depth = std::max(0.0, depth); + m_ex_depth2 = std::max(0.0, depth2); + m_ex_two_sided = two_sided; + m_ex_flip = flip; +} + +void DesignSketchTool::clear_extrude_gizmo() +{ + m_ex_active = false; + m_ex_drag = -1; +} + +// Camera-billboarded depth arrow(s) along the profile normal, drawn in WORLD via a billboard +// SketchPlane at the centroid (draw_strokes/draw_text lift 2D coords through m_plane.to_world, +// so swapping m_plane to a screen-facing frame renders a flat, screen-aligned arrow + label). +// The mate-connector glyph. Three elements, each answering one question, and every dimension is in +// SCREEN PIXELS via upp (= 1/zoom) like every other gizmo here — a connector is a symbol, not a part, +// so it must not shrink with the model. +// +// disc the XY plane "I am a frame, and this is the plane I sit in" +// quadrant the +x/+y sector "this is where X is" -- the roll, otherwise invisible +// Z arrow +Z only, never -Z "this is the way I point" -- the VERSE +// +// POLARITY (which one is anchored, which one is about to move) is carried by the head: a filled +// cone travels, an open collar receives. No surveyed CAD system encodes this at all; both ends of +// their mates are drawn identically, which is why "which part moves?" is a standing complaint. +// +// ORCA_CAD_GLYPH=A|B selects the treatment while this is being judged on the rig: +// A three short axis arms, no head differentiation (the Onshape baseline) +// B one-sided Z arrow, filled vs open head (the proposal) -- default +void DesignSketchTool::render_mate_connectors() +{ + if (m_mate_connectors.empty()) return; + static const bool style_A = [] { + const char* s = ::getenv("ORCA_CAD_GLYPH"); + return s && (*s == 'A' || *s == 'a'); + }(); + // The face treatment, on by default. Read every frame rather than latched in a static, so + // toggling the preference takes effect on the next repaint instead of at the next launch — + // it is a look, and a look you cannot A/B without restarting will not get compared. + // ORCA_CAD_GLYPH=D forces the disc regardless, which is how the rig drives the other branch. + const bool face_style = !style_A + && wxGetApp().app_config->get_bool("design_connector_face_glyph") + && [] { const char* s = ::getenv("ORCA_CAD_GLYPH"); + return !(s && (*s == 'D' || *s == 'd')); }(); + + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double R = 22.0 * upp; // disc radius, ~22 px + const double lw = std::max(0.9 * upp, 1e-4); + + const ColorRGBA gold (0.93f, 0.66f, 0.09f, 1.0f); + const ColorRGBA blue (0.18f, 0.44f, 0.93f, 1.0f); + const ColorRGBA grey (0.42f, 0.46f, 0.52f, 1.0f); + // F5: roll-undefined was a loud red — the strongest colour in the viewport spent on the LEAST + // important connector, which pulled the eye away from the mate being made. It is a "this one + // could not be derived" mark, not an error: muted amber says look-here without shouting. + const ColorRGBA warn (0.72f, 0.55f, 0.22f, 1.0f); + + const SketchPlane saved = m_plane; + + for (const MateConnectorGlyph& g : m_mate_connectors) { + const Vec3d X = g.x.normalized(); + const Vec3d Y = g.y.normalized(); + const Vec3d Z = X.cross(Y).normalized(); + const ColorRGBA body = (g.role == 2) ? blue : grey; + + // ---- disc + quadrant, drawn IN the connector's own plane. This is the part that must not + // be billboarded: a disc that always faces the camera cannot show the frame's orientation, + // which is the only reason it is a disc and not a dot. + // Lifted off the surface by a sub-pixel epsilon. A connector's disc is EXACTLY coplanar with + // the face it sits on, so depth-testing it z-fights: on the rig the disc came out as a broken + // dotted arc that flickered with the camera. Depth off floats it through solids, depth on and + // coplanar tears it — the lift is what buys both. Scaled by upp so it stays sub-pixel at any + // zoom instead of becoming a visible gap when you zoom in. + // A face asserts a definite roll. When the roll could NOT be derived, drawing one would be + // a confident lie about the very thing that is unknown — the same objection that rejected + // billboarding the quadrant — so an underived connector keeps the disc treatment and its + // hatched quadrant, whatever the preference says. + if (face_style && !g.roll_undefined) { + render_mate_face(g.origin, X, Y, Z, R, body); + } else { + + SketchPlane cp; cp.origin = g.origin + Z * (0.7 * upp); + cp.x_axis = X; cp.y_axis = Y; cp.normal = Z; + m_plane = cp; + { + std::vector<std::pair<Vec2d, Vec2d>> segs; + const int N = 40; + for (int i = 0; i < N; ++i) { + const double a0 = (2.0 * M_PI * i) / N, a1 = (2.0 * M_PI * (i + 1)) / N; + segs.emplace_back(Vec2d(R * std::cos(a0), R * std::sin(a0)), + Vec2d(R * std::cos(a1), R * std::sin(a1))); + } + // Depth test ON for the disc, deliberately. With it off, a connector on a face pointing + // AWAY from the camera still drew its disc over the solid, so the part looked covered in + // frames that were really on its back — and a disc floating over an edge read as + // detached rather than planted. render_hole_gizmo learned the same thing for its cube. + glsafe(::glEnable(GL_DEPTH_TEST)); + draw_strokes(m_mc_stroke_model, segs, lw, g.roll_undefined ? warn : body); + + // The quadrant: hatched when the roll could not be derived (a full circular face or a + // seam offers no in-plane direction), so the fallback is a mark you cannot miss rather + // than a silent guess. + std::vector<std::pair<Vec2d, Vec2d>> q; + const double qr = R * 0.84; + const int QN = 10; + for (int i = 0; i < QN; ++i) { + const double a0 = (M_PI_2 * i) / QN, a1 = (M_PI_2 * (i + 1)) / QN; + q.emplace_back(Vec2d(qr * std::cos(a0), qr * std::sin(a0)), + Vec2d(qr * std::cos(a1), qr * std::sin(a1))); + } + q.emplace_back(Vec2d(0, 0), Vec2d(qr, 0)); + q.emplace_back(Vec2d(0, 0), Vec2d(0, qr)); + if (!g.roll_undefined) { + for (int i = 1; i < 5; ++i) { // fan lines read as "filled" at any angle + const double a = (M_PI_2 * i) / 5.0; + q.emplace_back(Vec2d(0, 0), Vec2d(qr * std::cos(a), qr * std::sin(a))); + } + // F4: the quadrant collapses to a blob at grazing angles — exactly when the roll + // is hardest to read. A radial tick along +X, extending PAST the disc rim, is what + // survives that: as the disc flattens to a line the sector loses all area, but a + // radial spoke keeps its length and its direction along the one axis that still + // projects. + // + // The alternative on the issue was billboarding the quadrant. Rejected, and not + // on taste: at true grazing the view direction lies IN the connector's plane, so + // every in-plane direction projects onto the same screen line and the roll is + // geometrically unrecoverable. A billboarded quadrant would not recover it — it + // would face the camera and read as a definite orientation that is not the frame's. + // Better to degrade to a direction you can still trust than to draw a confident + // lie. Judge the tick on the rig at a true grazing view before calling F4 closed. + q.emplace_back(Vec2d(R, 0), Vec2d(R * 1.28, 0)); + } + draw_strokes(m_mc_stroke_model, q, lw, g.roll_undefined ? warn : gold); + } + } // end of the disc treatment + + // ---- the axes. Billboarded at the origin: a 3D direction is projected onto the screen + // frame, which is the only way an arrow keeps a readable head at any viewing angle. + SketchPlane bb; bb.origin = g.origin; bb.x_axis = right; bb.y_axis = up; + bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + + auto arrow = [&](const Vec3d& dir, double len, const ColorRGBA& col, bool filled_head) { + const Vec3d tipw = g.origin + dir * len; + const Vec2d tip2((tipw - g.origin).dot(right), (tipw - g.origin).dot(up)); + std::vector<std::pair<Vec2d, Vec2d>> segs; + // Foreshortening: when the axis points at (or away from) the camera it projects to + // nothing and an arrow degenerates into a dot. Draw a ring instead — "pointing at you" + // — rather than silently vanishing, which is what a naive projection does. + if (tip2.norm() < R * 0.28) { + const int N = 24; + const double rr = R * 0.30; + for (int i = 0; i < N; ++i) { + const double a0 = (2.0 * M_PI * i) / N, a1 = (2.0 * M_PI * (i + 1)) / N; + segs.emplace_back(Vec2d(rr * std::cos(a0), rr * std::sin(a0)), + Vec2d(rr * std::cos(a1), rr * std::sin(a1))); + } + draw_strokes(m_mc_stroke_model, segs, lw, col); + return; + } + const Vec2d u = tip2.normalized(); + const Vec2d n(-u.y(), u.x()); + const double as = R * 0.42; + const Vec2d back = tip2 - u * as; + segs.emplace_back(Vec2d(0, 0), back); + segs.emplace_back(tip2, back + n * (as * 0.45)); + segs.emplace_back(tip2, back - n * (as * 0.45)); + if (filled_head) { + // A closed head reads solid; the open one is left as two barbs. At 20-odd pixels + // this is the difference that says "this body travels". + segs.emplace_back(back + n * (as * 0.45), back - n * (as * 0.45)); + segs.emplace_back(back + n * (as * 0.22), tip2); + segs.emplace_back(back - n * (as * 0.22), tip2); + } else { + segs.emplace_back(back + n * (as * 0.45), back - n * (as * 0.45)); + } + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_mc_stroke_model, segs, lw, col); + }; + + if (style_A) { + arrow(X, R * 1.15, ColorRGBA(0.85f, 0.29f, 0.24f, 1.0f), true); + arrow(Y, R * 1.15, ColorRGBA(0.23f, 0.65f, 0.35f, 1.0f), true); + arrow(Z, R * 1.60, blue, true); + } else { + arrow(Z, R * 2.10, body, g.role == 2); // +Z only. Nothing is ever drawn on -Z. + } + } + + // ---- the pair line. Dashed, drawn IN WORLD along the segment joining the two origins, so it + // foreshortens with the model and its length is the gap the mate has still to close. Screen- + // constant dashes like everything else here; the dash pitch opens up on a long span so a mate + // across a large assembly cannot emit thousands of segments. + for (const auto& lnk : m_mate_links) { + const Vec3d d = lnk.second - lnk.first; + const double L = d.norm(); + if (L < 1e-9) continue; + SketchPlane lp; + lp.origin = lnk.first; + lp.x_axis = d / L; + lp.y_axis = lp.x_axis.cross(cam.get_dir_forward().normalized()); + if (lp.y_axis.norm() < 1e-6) lp.y_axis = lp.x_axis.cross(up); // link along the view axis + lp.y_axis.normalize(); + lp.normal = lp.x_axis.cross(lp.y_axis); + m_plane = lp; + + std::vector<std::pair<Vec2d, Vec2d>> segs; + const double dash = 6.0 * upp; + const double step = std::max(dash + 4.0 * upp, L / 400.0); + for (double t = 0.0; t < L; t += step) + segs.emplace_back(Vec2d(t, 0.0), Vec2d(std::min(t + dash, L), 0.0)); + // Depth off: the line's job is to say "these two belong together", and it has to say it + // even when the parts it spans are between the camera and one of the ends. + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_mc_stroke_model, segs, lw, grey); + } + + m_plane = saved; +} + +// --------------------------------------------------------------------------------------------- +// THE FACE TREATMENT of the mate connector (x0kd). The disc + roll quadrant answers +// "where is X" with a shape that has to be learned; a face does not. Face orientation is +// hardwired perception -- a toddler reads a face's roll and verse with no instruction at all -- +// and that is the whole reason this exists. Default ON, switchable in Preferences for users who +// expect the conventional CAD representation. +// +// WHY A RELIEF AND NOT A FLAT DRAWING, which is the non-obvious half. A flat face drawn in the +// connector's plane foreshortens by sin(elevation) and collapses at a grazing view exactly like +// the quadrant it replaces -- measured on the rig, the quadrant falls from 89 lit pixels at 47 +// degrees to 3 at 10 and 0 edge-on. A relief does not: at a grazing angle its SILHOUETTE carries +// the information. The same bear rendered flat vs in relief gives 164 vs 210 lit pixels at 16 +// degrees and 66 vs 120 at 6. So the glyph is a small shaded solid, not an outline. +// +// The geometry is EMITTED from the real part by doc/design/mate-connectors/emit_glyph_table.py, +// not hand-drawn, so the glyph and the printed connector cannot drift apart. Two vertices stand +// above the 3 mm plate in the actual B-rep, which is why the snout here is a tent with one crest +// edge and four flanks drafted at 20 degrees rather than anything more elaborate. +// +// The cheek dot is the handedness mark. Without it the glyph differs from its own mirror by only +// 5-9 % of its lit pixels, which is not enough to read; the dot roughly doubles that and, unlike +// making the eyes uneven, identifies the side from that cheek alone instead of by comparison. +// Emitted by doc/design/mate-connectors/emit_glyph_table.py from bear.step — do not hand-edit. +// Normalised to the part's bounding span and centred: the renderer scales by one radius. +static const Vec2d kBearOutline[] = { // 12 verts, RDP eps 0.030, CCW + {+0.3842, +0.3294}, {+0.3156, +0.4002}, {+0.2424, +0.3294}, + {-0.2524, +0.3294}, {-0.3377, +0.3877}, {-0.3693, +0.3298}, + {-0.3256, +0.2631}, {-0.4893, -0.3337}, {-0.3960, -0.4002}, + {+0.4151, -0.4002}, {+0.5000, -0.3154}, {+0.3156, +0.2631}, +}; +static const Vec2d kBearChin[] = { // the CHIN BAR, flat. The muzzle is relief — see kBearCrest. + {-0.2682, -0.3578}, {+0.2628, -0.3578}, {+0.2237, -0.1786}, +}; +// {cx, cy, r}: two eyes, then the cheek dot that carries handedness (wi3z). +static const Vec3d kBearMarks[] = { + {-0.1997, +0.1760, +0.0590}, + {+0.1947, +0.1760, +0.0590}, + {+0.2797, +0.0760, +0.0380}, +}; +// THE MUZZLE, lifted off the mesh: a tapered wedge, base quad + crest edge, 6 facets. +// This is the only feature standing along +Z and the only one still legible edge-on. +static const double kBearPlateZ = +0.0360; +static const Vec2d kBearSnoutBase[] = { // CCW from the nose end + {-0.0727, -0.2417}, + {+0.0630, -0.2417}, + {+0.0259, +0.1939}, + {-0.0356, +0.1939}, +}; +static const Vec3d kBearCrest[] = { // nose (tall) -> tail (short) + {-0.0048, -0.1793, +0.2073}, + {-0.0048, +0.1605, +0.1279}, +}; + +void DesignSketchTool::render_mate_face(const Vec3d& origin, const Vec3d& X, const Vec3d& Y, + const Vec3d& Z, double R, const ColorRGBA& body) +{ + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d fwd = cam.get_dir_forward().normalized(); + const double S = 2.0 * R; // the table spans 1.0, the disc spans 2R + + // Light fixed in CAMERA space, so orbiting the model does not swing the shading around and + // turn a stable symbol into a flickering one. + const Vec3d light = (-0.35 * right + 0.55 * up - 0.76 * fwd).normalized(); + + auto to_world = [&](const Vec3d& p) { + return origin + X * (p.x() * S) + Y * (p.y() * S) + Z * (p.z() * S); + }; + + struct Facet { std::vector<Vec3d> w; ColorRGBA c; double depth; }; + std::vector<Facet> facets; + auto emit = [&](std::vector<Vec3d> pts, const ColorRGBA& base, bool shade) { + if (pts.size() < 3) return; + Facet f; f.w.reserve(pts.size()); + for (const Vec3d& p : pts) f.w.push_back(to_world(p)); + const Vec3d n0 = (f.w[1] - f.w[0]).cross(f.w[2] - f.w[0]); + Vec3d n = Z; + if (n0.norm() > 1e-12) n = n0.normalized(); + if (n.dot(fwd) > 0.0) n = -n; // always take the camera-facing side + double k = 1.0; + if (shade) { + // Ambient floor so a facet turned away still reads as part of the same object rather + // than as a hole punched in it. + k = 0.42 + 0.58 * std::max(0.0, n.dot(light)); + } + f.c = ColorRGBA(float(base.r() * k), float(base.g() * k), float(base.b() * k), base.a()); + double d = 0.0; + for (const Vec3d& p : f.w) d += p.dot(fwd); + f.depth = d / double(f.w.size()); + facets.push_back(std::move(f)); + }; + + const int NO = int(sizeof(kBearOutline) / sizeof(kBearOutline[0])); + const double zp = kBearPlateZ; + + // The plate: sides first so the silhouette exists at a grazing view, then the top. + for (int i = 0; i < NO; ++i) { + const Vec2d& a = kBearOutline[i]; + const Vec2d& b = kBearOutline[(i + 1) % NO]; + emit({ Vec3d(a.x(), a.y(), 0.0), Vec3d(b.x(), b.y(), 0.0), + Vec3d(b.x(), b.y(), zp), Vec3d(a.x(), a.y(), zp) }, body, true); + } + { + std::vector<Vec3d> top; + top.reserve(NO); + for (int i = 0; i < NO; ++i) top.emplace_back(kBearOutline[i].x(), kBearOutline[i].y(), zp); + emit(std::move(top), body, true); + } + + // The marks, a hair above the plate so they cannot z-fight it: two eyes then the cheek dot. + const ColorRGBA mark(body.r() * 0.30f, body.g() * 0.30f, body.b() * 0.30f, 1.0f); + const double zm = zp + 0.004; + for (const Vec3d& m : kBearMarks) { + std::vector<Vec3d> disc; + const int N = 12; + for (int i = 0; i < N; ++i) { + const double a = (2.0 * M_PI * i) / N; + disc.emplace_back(m.x() + m.z() * std::cos(a), m.y() + m.z() * std::sin(a), zm); + } + emit(std::move(disc), mark, false); + } + { + std::vector<Vec3d> chin; + for (const Vec2d& p : kBearChin) chin.emplace_back(p.x(), p.y(), zm); + emit(std::move(chin), mark, false); + } + + // THE MUZZLE, and the two decisions that make it legible rather than merely present. + // + // It is the one feature standing along +Z, so it says which way the connector points, and it + // is all that survives edge-on where a drawing in the plane has nothing left. Its geometry is + // the part's own ridge: crest 29.0 mm, 6.58 mm drop, 13.1 deg, against the 28.3 / 6.61 / 13.1 + // the review measured on the B-rep. Base taken from the mesh, NOT recomputed from + // height*tan(draft) -- that produced a needle, because the real base overhangs the crest at + // both ends and it is the overhang that makes this a wedge rather than a blade. + // + // BUT FIDELITY ALONE FAILS. Scaled honestly the ridge is 11.3 mm on an 83.3 mm face, 13.6 % + // of the width, and at 22-48 px that reads as a scratch -- Tommaso looked at the faithful + // version and could not find the muzzle at all, which is the only test that counts. A glyph + // is a symbol, not a scale model, so it gets two deliberate exaggerations: + // + // COLOUR does the work. In the body tone the muzzle is a grey sliver whichever way it is + // lit; in the accent it is the first thing the eye lands on at every elevation, and at 6 + // degrees it is the ONLY structured thing above the flat line. Measured share of lit + // pixels at 90/16/6 deg: body 14.8/11.3/17.5 %, accent 18.3/19.2/23.9 %. + // WIDTH 1.8x on top of that: 23.5/25.2/31.2 %, and it stops reading as a needle. + // + // The accent is the same gold the disc treatment spends on its roll quadrant, which is + // consistent -- it is this tab's "here is the direction that matters" colour. Polarity is + // still carried by the Z arrow's head, so nothing collides. + { + const ColorRGBA gold(0.93f, 0.66f, 0.09f, 1.0f); + const double widen = 1.8; + const Vec3d& A = kBearCrest[0]; + const Vec3d& B = kBearCrest[1]; + auto base = [&](int i) { + return Vec3d(kBearSnoutBase[i].x() * widen, kBearSnoutBase[i].y(), zp); + }; + const Vec3d nl = base(0), nr = base(1), tr = base(2), tl = base(3); + emit({ nl, tl, B, A }, gold, true); // left flank + emit({ nr, A, B, tr }, gold, true); // right flank + emit({ nl, A, nr }, gold, true); // nose cap, sloped by the base overhang + emit({ tr, B, tl }, gold, true); // tail cap + } + + // Painter's algorithm: depth testing is off for this overlay, so draw order IS the depth. + std::sort(facets.begin(), facets.end(), + [](const Facet& a, const Facet& b) { return a.depth > b.depth; }); + + // draw_fill works in m_plane, so project into a screen-aligned frame at the connector origin + // and hand it flat polygons. The relief survives because the PROJECTION is 3D, not the plane. + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = origin; bb.x_axis = right; bb.y_axis = up; bb.normal = fwd; + m_plane = bb; + glsafe(::glDisable(GL_DEPTH_TEST)); + for (const Facet& f : facets) { + std::vector<Vec2d> poly; + poly.reserve(f.w.size()); + for (const Vec3d& p : f.w) poly.emplace_back((p - origin).dot(right), (p - origin).dot(up)); + draw_fill(m_mc_fill_model, poly, f.c); + } + m_plane = saved; +} + +void DesignSketchTool::render_extrude_gizmo() +{ + if (!m_ex_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d fwd = cam.get_dir_forward().normalized(); + const Vec3d base = m_ex_plane.to_world(m_ex_centroid); + const Vec3d ndir = (m_ex_flip ? -1.0 : 1.0) * m_ex_plane.normal.normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + + // Express everything in the billboard frame (origin=base) so it always faces the camera. + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = base; bb.x_axis = right; bb.y_axis = up; bb.normal = fwd; + m_plane = bb; + const ColorRGBA arrowc(1.0f, 0.62f, 0.16f, 1.0f); // CAD amber + + auto draw_arrow = [&](double depth, bool flip_side) { + if (depth <= 1e-6) return; + const Vec3d dirw = (flip_side ? -1.0 : 1.0) * ndir; // world arrow direction + const Vec3d tipw = base + dirw * depth; + const Vec2d tip2((tipw - base).dot(right), (tipw - base).dot(up)); + if (tip2.norm() < 1e-6) return; // axis ~ parallel to view: no arrow + const Vec2d u = tip2.normalized(); + const Vec2d nrm(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.18, th * 0.9); // arrowhead size + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm * (as * 0.5)); + segs.emplace_back(tip2, back - nrm * (as * 0.5)); + draw_strokes(m_ex_arrow_model, segs, std::max(0.7 * upp, 1e-4), arrowc); + DimAnnot a; a.kind = DimType::Distance; a.value = depth; + draw_text(m_line_model, dim_text(a), tip2 + u * (th * 1.4), th, arrowc); + }; + + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_arrow(m_ex_depth, false); + if (m_ex_two_sided) draw_arrow(m_ex_depth2, true); + m_plane = saved; +} + +// Ray vs the arrow segment(s) in world space; `which` = 0 primary, 1 second side. +bool DesignSketchTool::hit_test_extrude_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const +{ + if (!m_ex_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double tol = 7.0 / std::max(cam.get_zoom(), 1e-6); // ~7 px in world units + const Vec3d ndir = (m_ex_flip ? -1.0 : 1.0) * m_ex_plane.normal.normalized(); + const Vec3d base = m_ex_plane.to_world(m_ex_centroid); + double dA = 1e30, dB = 1e30; + if (m_ex_depth > 1e-6) dA = ray_segment_dist3(ro, rd, base, base + ndir * m_ex_depth); + if (m_ex_two_sided && m_ex_depth2 > 1e-6) + dB = ray_segment_dist3(ro, rd, base, base - ndir * m_ex_depth2); + if (dA <= tol && dA <= dB) { which = 0; return true; } + if (dB <= tol) { which = 1; return true; } + return false; +} + +// Drag the arrow handle: closest point on the world arrow axis to the mouse ray (skew-line +// closest-point), projected onto the axis direction -> signed depth (clamped positive). +void DesignSketchTool::drag_extrude_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Vec3d nd = (m_ex_flip ? -1.0 : 1.0) * m_ex_plane.normal.normalized(); + const Vec3d e = (which == 1 ? -1.0 : 1.0) * nd; // axis dir for this arrow + const Vec3d base = m_ex_plane.to_world(m_ex_centroid); + const Vec3d w0 = base - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ axis: leave depth as-is + const double depth = std::max(0.01, (b * ee - c * dd) / denom); + if (which == 1) m_ex_depth2 = depth; else m_ex_depth = depth; + if (on_extrude_depth_changed) on_extrude_depth_changed(depth, which == 1); +} + +void DesignSketchTool::open_extrude_editor(int which) +{ + if (!on_inline_edit) return; + const double cur = (which == 1) ? m_ex_depth2 : m_ex_depth; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, cur, "", + [this, which](double v) { + const double d = std::max(0.01, v); + if (which == 1) m_ex_depth2 = d; else m_ex_depth = d; + if (on_extrude_depth_changed) on_extrude_depth_changed(d, which == 1); + }, + []() {}); +} + +// ---- Datum-plane resize gizmo (C3) ---------------------------------------------------- +void DesignSketchTool::set_datum_gizmo(const SketchPlane& plane, double usize, double vsize, + const Vec3d& base_origin, const Vec3d& base_normal, + double offset, bool offset_on) +{ + m_dz_active = true; + m_dz_plane = plane; + m_dz_usize = std::max(1.0, usize); + m_dz_vsize = std::max(1.0, vsize); + m_dz_anchor = base_origin; + m_dz_normal = base_normal.normalized(); + m_dz_offset = offset; + m_dz_offset_on = offset_on; +} + +void DesignSketchTool::clear_datum_gizmo() +{ + m_dz_active = false; + m_dz_drag = -1; +} + +// Draw the datum rectangle outline + 4 camera-billboarded edge-midpoint handles. Self-contained +// so it shows even for an uncommitted (not-yet-Confirmed) datum that render_datum_planes can't draw. +void DesignSketchTool::render_datum_gizmo() +{ + if (!m_dz_active) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d vd = cam.get_dir_forward(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double hs = 6.0 * upp; // handle half-size (~6 px) + const double hw = 1.5 * upp; // outline ribbon half-width + const double hu = m_dz_usize * 0.5, hv = m_dz_vsize * 0.5; + const SketchPlane& p = m_dz_plane; + + // Rectangle outline (4 thin camera-facing ribbons). + const Vec3d c[4] = { p.to_world(Vec2d(-hu, -hv)), p.to_world(Vec2d(hu, -hv)), + p.to_world(Vec2d(hu, hv)), p.to_world(Vec2d(-hu, hv)) }; + GLModel::Geometry border; border.format = { EPT::Triangles, EVL::P3 }; + unsigned int bb = 0; + for (int s = 0; s < 4; ++s) { + const Vec3d a = c[s], b = c[(s + 1) & 3]; + Vec3d dir = b - a; if (dir.norm() < 1e-9) continue; dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(up); + if (off.norm() < 1e-9) continue; + off.normalize(); off *= hw; + border.add_vertex((Vec3f)(a + off).cast<float>()); border.add_vertex((Vec3f)(b + off).cast<float>()); + border.add_vertex((Vec3f)(b - off).cast<float>()); border.add_vertex((Vec3f)(a - off).cast<float>()); + border.add_triangle(bb, bb + 1, bb + 2); border.add_triangle(bb, bb + 2, bb + 3); bb += 4; + } + + // 4 edge-midpoint handle squares. + const Vec2d hpos[4] = { Vec2d(hu, 0), Vec2d(-hu, 0), Vec2d(0, hv), Vec2d(0, -hv) }; + GLModel::Geometry handles; handles.format = { EPT::Triangles, EVL::P3 }; + unsigned int hb = 0; + for (int i = 0; i < 4; ++i) { + const Vec3d ctr = p.to_world(hpos[i]); + const Vec3d q0 = ctr - right * hs - up * hs, q1 = ctr + right * hs - up * hs, + q2 = ctr + right * hs + up * hs, q3 = ctr - right * hs + up * hs; + handles.add_vertex((Vec3f)q0.cast<float>()); handles.add_vertex((Vec3f)q1.cast<float>()); + handles.add_vertex((Vec3f)q2.cast<float>()); handles.add_vertex((Vec3f)q3.cast<float>()); + handles.add_triangle(hb, hb + 1, hb + 2); handles.add_triangle(hb, hb + 2, hb + 3); hb += 4; + } + + glsafe(::glDisable(GL_DEPTH_TEST)); + if (bb > 0) { + GLModel m; m.init_from(std::move(border)); + m.set_color(ColorRGBA(1.0f, 0.62f, 0.16f, 0.9f)); // CAD amber + m.render(); + } + if (hb > 0) { + GLModel m; m.init_from(std::move(handles)); + m.set_color(ColorRGBA(1.0f, 0.72f, 0.28f, 1.0f)); + m.render(); + } + + // Offset arrow: a camera-facing ribbon from the base origin along the base normal to the + // datum origin, with a grabbable square at the tip. Drag the tip to set the offset distance. + if (m_dz_offset_on) { + const Vec3d tip = m_dz_anchor + m_dz_normal * m_dz_offset; + Vec3d off = m_dz_normal.cross(vd); + if (off.norm() < 1e-9) off = m_dz_normal.cross(up); + GLModel::Geometry shaft; shaft.format = { EPT::Triangles, EVL::P3 }; + if (off.norm() > 1e-9 && (tip - m_dz_anchor).norm() > 1e-9) { + off.normalize(); off *= hw; + shaft.add_vertex((Vec3f)(m_dz_anchor + off).cast<float>()); + shaft.add_vertex((Vec3f)(tip + off).cast<float>()); + shaft.add_vertex((Vec3f)(tip - off).cast<float>()); + shaft.add_vertex((Vec3f)(m_dz_anchor - off).cast<float>()); + shaft.add_triangle(0, 1, 2); shaft.add_triangle(0, 2, 3); + GLModel sm; sm.init_from(std::move(shaft)); + sm.set_color(ColorRGBA(0.30f, 0.78f, 1.0f, 0.95f)); // cyan offset axis + sm.render(); + } + GLModel::Geometry tipsq; tipsq.format = { EPT::Triangles, EVL::P3 }; + const Vec3d t0 = tip - right * hs - up * hs, t1 = tip + right * hs - up * hs, + t2 = tip + right * hs + up * hs, t3 = tip - right * hs + up * hs; + tipsq.add_vertex((Vec3f)t0.cast<float>()); tipsq.add_vertex((Vec3f)t1.cast<float>()); + tipsq.add_vertex((Vec3f)t2.cast<float>()); tipsq.add_vertex((Vec3f)t3.cast<float>()); + tipsq.add_triangle(0, 1, 2); tipsq.add_triangle(0, 2, 3); + GLModel tm; tm.init_from(std::move(tipsq)); + tm.set_color(ColorRGBA(0.45f, 0.86f, 1.0f, 1.0f)); + tm.render(); + } +} + +bool DesignSketchTool::hit_test_datum_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const +{ + if (!m_dz_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double tol = 9.0 / std::max(cam.get_zoom(), 1e-6); // ~9 px in world units + const double hu = m_dz_usize * 0.5, hv = m_dz_vsize * 0.5; + const Vec2d hpos[4] = { Vec2d(hu, 0), Vec2d(-hu, 0), Vec2d(0, hv), Vec2d(0, -hv) }; + double best = tol; which = -1; + for (int i = 0; i < 4; ++i) { + const Vec3d pt = m_dz_plane.to_world(hpos[i]); + const Vec3d w = pt - ro; + const double t = w.dot(rd) / std::max(rd.dot(rd), 1e-12); + const double d = (w - rd * t).norm(); + if (d < best) { best = d; which = i; } + } + if (m_dz_offset_on) { // offset arrow tip = handle 4 + const Vec3d pt = m_dz_anchor + m_dz_normal * m_dz_offset; + const Vec3d w = pt - ro; + const double t = w.dot(rd) / std::max(rd.dot(rd), 1e-12); + const double d = (w - rd * t).norm(); + if (d < best) { best = d; which = 4; } + } + return which >= 0; +} + +// Drag a handle: closest point of the mouse ray to the plane axis (u or v) through the origin, +// |param| -> new half-extent, doubled to the full size. +void DesignSketchTool::drag_datum_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + if (which == 4) { // offset arrow: drag along base normal + const Vec3d e = m_dz_normal; // signed offset, may go negative + const Vec3d w0 = m_dz_anchor - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ normal: leave offset as-is + m_dz_offset = (b * ee - c * dd) / denom; // signed distance along the normal + m_dz_plane.origin = m_dz_anchor + m_dz_normal * m_dz_offset; // rectangle follows live + if (on_datum_offset_changed) on_datum_offset_changed(m_dz_offset); + return; + } + const bool uaxis = (which == 0 || which == 1); + const Vec3d e = (uaxis ? m_dz_plane.x_axis : m_dz_plane.y_axis).normalized(); + const Vec3d base = m_dz_plane.origin; + const Vec3d w0 = base - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ axis: leave size as-is + const double s = (b * ee - c * dd) / denom; // signed coord along e of closest pt + const double size = std::max(2.0, 2.0 * std::abs(s)); + if (uaxis) m_dz_usize = size; else m_dz_vsize = size; + if (on_datum_size_changed) on_datum_size_changed(m_dz_usize, m_dz_vsize); +} + +// ---- Helix gizmo (plane-anchored curve + 3 drag handles) -------------------------------- +void DesignSketchTool::set_helix_gizmo(const SketchPlane& plane, double radius, double pitch, + double height, double taper, bool left_handed) +{ + m_hx_active = true; + m_hx_plane = plane; + m_hx_radius = radius; + m_hx_pitch = pitch; + m_hx_height = height; + m_hx_taper = taper; + m_hx_left = left_handed; +} + +void DesignSketchTool::clear_helix_gizmo() +{ + m_hx_active = false; + m_hx_drag = -1; +} + +// Curve point at parameter t (t in turns): angle 2*pi*t, negated when left-handed, rising one +// pitch per turn along the plane normal. +// +// Taper is an ANGLE IN DEGREES and must be read the way the kernel reads it. CadDocument's +// helix_spine() builds a Geom_ConicalSurface of half-angle taper and computes the top radius as +// R + H*tan(taper), so the radius grows with the HEIGHT RISEN, not as a fraction of R consumed +// over the turn count. Getting that wrong draws a preview that collapses to a point for any +// non-zero taper while the committed feature is fine — a preview that lies is worse than none. +Vec3d DesignSketchTool::helix_point(double t) const +{ + const Vec3d O = m_hx_plane.origin; + const Vec3d n = m_hx_plane.normal.normalized(); + const Vec3d u = m_hx_plane.x_axis.normalized(); + const Vec3d v = m_hx_plane.y_axis.normalized(); + const double a = (m_hx_left ? -1.0 : 1.0) * 2.0 * M_PI * t; + const double z = m_hx_pitch * t; // height risen at this parameter + double rt = m_hx_radius + z * std::tan(m_hx_taper * M_PI / 180.0); + // The kernel REFUSES a taper that drives the radius negative before the full height; the + // preview shows it collapsing instead, so the user can see which value did it. + if (rt < 0.0) rt = 0.0; + return O + u * (rt * std::cos(a)) + v * (rt * std::sin(a)) + n * z; +} + +// Draw the live helix as a connected camera-facing ribbon, a dim axis line, and three square +// handles (radius on the base circle, height on the axis top, pitch at the end of the first turn). +void DesignSketchTool::render_helix_gizmo() +{ + if (!m_hx_active) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d vd = cam.get_dir_forward(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double hs = 6.0 * upp; // handle half-size (~6 px) + const double hw = 1.5 * upp; // ribbon half-width + const Vec3d O = m_hx_plane.origin; + const Vec3d n = m_hx_plane.normal.normalized(); + const double turns = m_hx_pitch > 1e-9 ? m_hx_height / m_hx_pitch : 0.0; + + // Curve ribbon: connected thin camera-facing quads over t in [0, turns]. + const int segs = std::min(2048, std::max(48, int(turns * 32.0))); + GLModel::Geometry curve; curve.format = { EPT::Triangles, EVL::P3 }; + unsigned int cb = 0; + auto add_seg = [&](const Vec3d& a, const Vec3d& b) { + Vec3d dir = b - a; if (dir.norm() < 1e-9) return; dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(up); + if (off.norm() < 1e-9) return; + off.normalize(); off *= hw; + curve.add_vertex((Vec3f)(a + off).cast<float>()); curve.add_vertex((Vec3f)(b + off).cast<float>()); + curve.add_vertex((Vec3f)(b - off).cast<float>()); curve.add_vertex((Vec3f)(a - off).cast<float>()); + curve.add_triangle(cb, cb + 1, cb + 2); curve.add_triangle(cb, cb + 2, cb + 3); cb += 4; + }; + for (int i = 0; i < segs; ++i) + add_seg(helix_point(turns * i / segs), helix_point(turns * (i + 1) / segs)); + + // Axis: a dim line from the plane origin to the top of the helix. + const Vec3d top = O + n * m_hx_height; + GLModel::Geometry axis; axis.format = { EPT::Triangles, EVL::P3 }; + { + Vec3d dir = top - O; + if (dir.norm() > 1e-9) { + dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(up); + if (off.norm() > 1e-9) { + off.normalize(); off *= hw * 0.6; + axis.add_vertex((Vec3f)(O + off).cast<float>()); axis.add_vertex((Vec3f)(top + off).cast<float>()); + axis.add_vertex((Vec3f)(top - off).cast<float>()); axis.add_vertex((Vec3f)(O - off).cast<float>()); + axis.add_triangle(0, 1, 2); axis.add_triangle(0, 2, 3); + } + } + } + + // Three handles: 0=radius (t=0), 1=height (axis top), 2=pitch (end of first turn, or the + // whole curve if shorter than one turn so the handle never floats off a missing curve). + const Vec3d hpts[3] = { helix_point(0.0), top, + helix_point(m_hx_height < m_hx_pitch ? turns : 1.0) }; + const ColorRGBA hcol[3] = { ColorRGBA(1.0f, 0.72f, 0.28f, 1.0f), // radius — amber + ColorRGBA(0.45f, 0.86f, 1.0f, 1.0f), // height — cyan + ColorRGBA(0.30f, 0.80f, 0.34f, 1.0f) }; // pitch — green + const ColorRGBA hot(1.0f, 0.85f, 0.2f, 1.0f); + + glsafe(::glDisable(GL_DEPTH_TEST)); + if (cb > 0) { + GLModel m; m.init_from(std::move(curve)); + m.set_color(ColorRGBA(1.0f, 0.62f, 0.16f, 0.9f)); // CAD amber helix curve + m.render(); + } + if (!axis.vertices.empty()) { + GLModel m; m.init_from(std::move(axis)); + m.set_color(ColorRGBA(0.42f, 0.46f, 0.52f, 0.55f)); // dim grey axis + m.render(); + } + for (int i = 0; i < 3; ++i) { + const Vec3d ctr = hpts[i]; + const Vec3d q0 = ctr - right * hs - up * hs, q1 = ctr + right * hs - up * hs, + q2 = ctr + right * hs + up * hs, q3 = ctr - right * hs + up * hs; + GLModel::Geometry sq; sq.format = { EPT::Triangles, EVL::P3 }; + sq.add_vertex((Vec3f)q0.cast<float>()); sq.add_vertex((Vec3f)q1.cast<float>()); + sq.add_vertex((Vec3f)q2.cast<float>()); sq.add_vertex((Vec3f)q3.cast<float>()); + sq.add_triangle(0, 1, 2); sq.add_triangle(0, 2, 3); + GLModel m; m.init_from(std::move(sq)); + m.set_color(m_hx_drag == i ? hot : hcol[i]); + m.render(); + } +} + +bool DesignSketchTool::hit_test_helix_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const +{ + if (!m_hx_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double tol = 9.0 / std::max(cam.get_zoom(), 1e-6); // ~9 px in world units + const Vec3d O = m_hx_plane.origin; + const Vec3d n = m_hx_plane.normal.normalized(); + const double turns = m_hx_pitch > 1e-9 ? m_hx_height / m_hx_pitch : 0.0; + const Vec3d hpts[3] = { helix_point(0.0), O + n * m_hx_height, + helix_point(m_hx_height < m_hx_pitch ? turns : 1.0) }; + double best = tol; which = -1; + for (int i = 0; i < 3; ++i) { + const Vec3d w = hpts[i] - ro; + const double t = w.dot(rd) / std::max(rd.dot(rd), 1e-12); + const double d = (w - rd * t).norm(); + if (d < best) { best = d; which = i; } + } + return which >= 0; +} + +// Drag a handle: radius = cursor's in-plane distance from the origin, height/pitch = the signed +// distance of the cursor's closest axis point. All fire the full (radius, pitch, height) triple. +void DesignSketchTool::drag_helix_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const SketchPlane& p = m_hx_plane; + const Vec3d O = p.origin, n = p.normal.normalized(); + + if (which == 0) { // radius: in-plane distance from O + const Vec2d lp = p.project(ro, rd); + m_hx_radius = std::max(0.01, lp.norm()); + } else { // height/pitch: signed distance along n + const Vec3d e = n; + const Vec3d w0 = O - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ axis: leave value as-is + const double s = (b * ee - c * dd) / denom; // signed distance along the axis + if (which == 1) m_hx_height = std::max(0.0, s); + else m_hx_pitch = std::max(0.01, s); // zero/negative pitch divides by zero + } + if (on_helix_changed) on_helix_changed(m_hx_radius, m_hx_pitch, m_hx_height); +} + +// ---- Rib thickness gizmo (in-plane slab footprint + 2 symmetric handles) ----------------- +void DesignSketchTool::set_rib_gizmo(const SketchPlane& plane, const Vec2d& p0, const Vec2d& p1, + double thickness) +{ + m_rb_active = true; + m_rb_plane = plane; + m_rb_p0 = p0; + m_rb_p1 = p1; + m_rb_thickness = thickness; +} + +void DesignSketchTool::clear_rib_gizmo() +{ + m_rb_active = false; + m_rb_drag = -1; +} + +// Resolve the rib line's in-plane frame: unit direction d, perpendicular perp, midpoint, and +// half-thickness. A degenerate line (zero length) has no direction to grow a slab perpendicular +// to — return false so the caller draws nothing and never divides by zero. +static bool rib_frame(const Vec2d& p0, const Vec2d& p1, double thickness, + Vec2d& d, Vec2d& perp, Vec2d& mid, double& half) +{ + const Vec2d seg = p1 - p0; + const double len = seg.norm(); + if (len < 1e-9) return false; + d = seg / len; + perp = Vec2d(-d.y(), d.x()); + mid = 0.5 * (p0 + p1); + half = thickness * 0.5; + return true; +} + +// Draw the rib slab's actual footprint (the rectangle p0±perp·half, p1±perp·half) as a thin +// closed ribbon plus two square handles at mid ± perp·half. Both handles sit at half-thickness, +// so a drag on either expresses the full thickness symmetrically. +void DesignSketchTool::render_rib_gizmo() +{ + if (!m_rb_active) return; + Vec2d d, perp, mid; double half; + if (!rib_frame(m_rb_p0, m_rb_p1, m_rb_thickness, d, perp, mid, half)) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d vd = cam.get_dir_forward(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double hs = 6.0 * upp; // handle half-size (~6 px) + const double hw = 1.5 * upp; // ribbon half-width + + // Slab footprint outline (4 thin camera-facing ribbons). + const Vec3d c[4] = { m_rb_plane.to_world(m_rb_p0 + perp * half), + m_rb_plane.to_world(m_rb_p1 + perp * half), + m_rb_plane.to_world(m_rb_p1 - perp * half), + m_rb_plane.to_world(m_rb_p0 - perp * half) }; + GLModel::Geometry border; border.format = { EPT::Triangles, EVL::P3 }; + unsigned int bb = 0; + for (int s = 0; s < 4; ++s) { + const Vec3d a = c[s], b = c[(s + 1) & 3]; + Vec3d dir = b - a; if (dir.norm() < 1e-9) continue; dir.normalize(); + Vec3d off = dir.cross(vd); + if (off.norm() < 1e-9) off = dir.cross(up); + if (off.norm() < 1e-9) continue; + off.normalize(); off *= hw; + border.add_vertex((Vec3f)(a + off).cast<float>()); border.add_vertex((Vec3f)(b + off).cast<float>()); + border.add_vertex((Vec3f)(b - off).cast<float>()); border.add_vertex((Vec3f)(a - off).cast<float>()); + border.add_triangle(bb, bb + 1, bb + 2); border.add_triangle(bb, bb + 2, bb + 3); bb += 4; + } + + // Two handles: 0 = +perp side, 1 = -perp side (both at half-thickness). + const Vec3d hpts[2] = { m_rb_plane.to_world(mid + perp * half), + m_rb_plane.to_world(mid - perp * half) }; + const ColorRGBA hot(1.0f, 0.85f, 0.2f, 1.0f); + + glsafe(::glDisable(GL_DEPTH_TEST)); + if (bb > 0) { + GLModel m; m.init_from(std::move(border)); + m.set_color(ColorRGBA(1.0f, 0.62f, 0.16f, 0.9f)); // CAD amber slab footprint + m.render(); + } + for (int i = 0; i < 2; ++i) { + const Vec3d ctr = hpts[i]; + const Vec3d q0 = ctr - right * hs - up * hs, q1 = ctr + right * hs - up * hs, + q2 = ctr + right * hs + up * hs, q3 = ctr - right * hs + up * hs; + GLModel::Geometry sq; sq.format = { EPT::Triangles, EVL::P3 }; + sq.add_vertex((Vec3f)q0.cast<float>()); sq.add_vertex((Vec3f)q1.cast<float>()); + sq.add_vertex((Vec3f)q2.cast<float>()); sq.add_vertex((Vec3f)q3.cast<float>()); + sq.add_triangle(0, 1, 2); sq.add_triangle(0, 2, 3); + GLModel m; m.init_from(std::move(sq)); + m.set_color(m_rb_drag == i ? hot : ColorRGBA(0.30f, 0.80f, 0.34f, 1.0f)); // green + m.render(); + } +} + +bool DesignSketchTool::hit_test_rib_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const +{ + if (!m_rb_active) return false; + Vec2d d, perp, mid; double half; + if (!rib_frame(m_rb_p0, m_rb_p1, m_rb_thickness, d, perp, mid, half)) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double tol = 9.0 / std::max(cam.get_zoom(), 1e-6); // ~9 px in world units + const Vec3d hpts[2] = { m_rb_plane.to_world(mid + perp * half), + m_rb_plane.to_world(mid - perp * half) }; + double best = tol; which = -1; + for (int i = 0; i < 2; ++i) { + const Vec3d w = hpts[i] - ro; + const double t = w.dot(rd) / std::max(rd.dot(rd), 1e-12); + const double dd = (w - rd * t).norm(); + if (dd < best) { best = dd; which = i; } + } + return which >= 0; +} + +// Drag a handle: project the cursor ray onto the rib plane (the same call the helix radius drag +// uses), take the perpendicular distance from the rib LINE to that point, and set the thickness +// to twice that distance — the slab is centred on the line and the handle sits at half-thickness. +void DesignSketchTool::drag_rib_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + (void)which; // both handles behave identically: a drag on either sets the full thickness + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + Vec2d d, perp, mid; double half; + if (!rib_frame(m_rb_p0, m_rb_p1, m_rb_thickness, d, perp, mid, half)) return; + const Vec2d lp = m_rb_plane.project(ro, rd); + const Vec2d w = lp - m_rb_p0; + const double dist = std::abs(w.x() * d.y() - w.y() * d.x()); // |cross(w, d)| = perp distance + m_rb_thickness = std::max(0.01, 2.0 * dist); // ×2: centred slab, handle at half + if (on_rib_thickness_changed) on_rib_thickness_changed(m_rb_thickness); +} + +// ---- Reference/base planes (Onshape-style default planes) ----------------------------- +void DesignSketchTool::set_base_pick(std::vector<SketchPlane> planes, std::vector<int> bases, + std::vector<std::string> labels) +{ + m_dbp_active = !planes.empty(); + m_dbp_planes = std::move(planes); + m_dbp_base = std::move(bases); + m_dbp_labels = std::move(labels); + if (m_dbp_hover >= int(m_dbp_planes.size())) m_dbp_hover = -1; +} + +void DesignSketchTool::clear_base_pick() +{ + m_dbp_active = false; + m_dbp_planes.clear(); + m_dbp_base.clear(); + m_dbp_labels.clear(); + m_dbp_hover = -1; +} + +// Reference planes sit INSIDE the bed. They used to be 0.6 * the bed's larger side, i.e. a square +// 1.2x the plate, and three of them are drawn with depth testing off — so they painted over the +// plate grid from edge to edge and the bed simply was not readable any more. "The planes hide the +// bed", reported exactly that way. Small enough to leave the grid legible around them is also the +// Onshape look this was reaching for: a modest square at the origin, not a tablecloth. +double DesignSketchTool::dbp_half_extent() const +{ + double half = 75.0; + if (auto* pl = wxGetApp().plater()) { + const BoundingBoxf bb = pl->build_volume().bounding_volume2d(); + const double w = bb.max.x() - bb.min.x(), d = bb.max.y() - bb.min.y(); + if (w > 1.0 && d > 1.0) half = 0.3 * std::max(w, d); + } + return half; +} + +// Draw the reference planes as large translucent labelled squares; the hovered one brightens. +void DesignSketchTool::render_base_pick() +{ + if (!m_dbp_active || m_dbp_planes.empty()) return; + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const double H = dbp_half_extent(); + // Onshape-ish per-plane tints: XY blue, XZ green, YZ red (keyed by base index 0/1/2; datums grey). + auto tint = [](int base, bool hot) -> ColorRGBA { + float a = hot ? 0.10f : 0.047f; // base planes kept faint (reduced ~2/3 from 0.30/0.14) + if (base == 0) return ColorRGBA(0.30f, 0.55f, 0.95f, a); + if (base == 1) return ColorRGBA(0.35f, 0.80f, 0.45f, a); + if (base == 2) return ColorRGBA(0.92f, 0.42f, 0.42f, a); + return ColorRGBA(0.70f, 0.72f, 0.78f, a); + }; + glsafe(::glDisable(GL_DEPTH_TEST)); + glsafe(::glDisable(GL_CULL_FACE)); + glsafe(::glEnable(GL_BLEND)); // alpha is ignored without this + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + const SketchPlane saved_plane = m_plane; + for (size_t i = 0; i < m_dbp_planes.size(); ++i) { + const SketchPlane& p = m_dbp_planes[i]; + const Vec3d q0 = p.to_world(Vec2d(-H, -H)), q1 = p.to_world(Vec2d(H, -H)), + q2 = p.to_world(Vec2d(H, H)), q3 = p.to_world(Vec2d(-H, H)); + GLModel::Geometry quad; quad.format = { EPT::Triangles, EVL::P3 }; + quad.add_vertex((Vec3f)q0.cast<float>()); quad.add_vertex((Vec3f)q1.cast<float>()); + quad.add_vertex((Vec3f)q2.cast<float>()); quad.add_vertex((Vec3f)q3.cast<float>()); + quad.add_triangle(0, 1, 2); quad.add_triangle(0, 2, 3); + GLModel m; m.init_from(std::move(quad)); + const bool hot = (int(i) == m_dbp_hover); + const int base = (i < m_dbp_base.size()) ? m_dbp_base[i] : -1; + m.set_color(tint(base, hot)); + m.render(); + + // Label near the top-left corner, drawn in the plane (draw_text lifts through m_plane). + if (i < m_dbp_labels.size() && !m_dbp_labels[i].empty()) { + m_plane = p; + const double th = H * 0.10; + const ColorRGBA lc = tint(base, true); ColorRGBA lcs(lc.r(), lc.g(), lc.b(), 1.0f); + draw_text(m_line_model, m_dbp_labels[i], Vec2d(-H + th * 2.0, H - th * 1.6), th, lcs); + } + } + m_plane = saved_plane; // draw_text renders each label immediately (draw_strokes self-renders) + glsafe(::glDisable(GL_BLEND)); +} + +// Ray-pick the reference planes: intersect the mouse ray with each plane, keep hits inside the +// square, return the index of the nearest by |t|. -1 on miss. +int DesignSketchTool::hit_test_base_pick(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_dbp_active) return -1; + const double H = dbp_half_extent(); + + // THE LABEL WINS, and it has to. Each plane's name is a screen-space chip centred on its + // own in-plane anchor, and it is the one part of a base plane a user aims at deliberately — + // the quads are near-transparent and overlap everywhere. Ray-casting the quads alone made + // the labels pure decoration: on a fresh document at 1920x1060, clicking "XY" reported + // "XZ plane selected", because the XZ quad happens to sit in front at that pixel. Nothing + // about the click was ambiguous to the user; they clicked the word XY. + // Anchor and text height must track render_base_pick's, which is where they are drawn. + const Camera& cam = wxGetApp().plater()->get_camera(); + const double th = H * 0.10; + const Vec2d anchor(-H + th * 2.0, H - th * 1.6); + int lbest = -1; double lbest_d = 1e30; + for (size_t i = 0; i < m_dbp_planes.size(); ++i) { + if (i >= m_dbp_labels.size() || m_dbp_labels[i].empty()) continue; + const wxPoint sp = world_to_screen_px(cam, m_dbp_planes[i].to_world(anchor)); + if (sp.x < 0 && sp.y < 0) continue; // behind the camera + const double dx = std::abs(double(evt.GetX() - sp.x)); + const double dy = std::abs(double(evt.GetY() - sp.y)); + // Chip half-extents in px, scaled like the label itself. Generous rather than tight: + // missing the text and silently selecting a different plane is the failure being fixed. + const double hw = (9.0 + 5.0 * double(m_dbp_labels[i].size())) * double(m_render_scale); + const double hh = 11.0 * double(m_render_scale); + if (dx > hw || dy > hh) continue; + const double d = dx * dx + dy * dy; // nearest label if chips overlap + if (d < lbest_d) { lbest_d = d; lbest = int(i); } + } + if (lbest >= 0) return lbest; + + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + int best = -1; double best_t = 1e30; + for (size_t i = 0; i < m_dbp_planes.size(); ++i) { + const SketchPlane& p = m_dbp_planes[i]; + const double dn = rd.dot(p.normal); + if (std::abs(dn) < 1e-9) continue; // ray parallel to plane + const double t = (p.origin - ro).dot(p.normal) / dn; + if (t < 0) continue; // behind the camera + const Vec3d hit = ro + rd * t; + const Vec3d d = hit - p.origin; + if (std::abs(d.dot(p.x_axis)) > H || std::abs(d.dot(p.y_axis)) > H) continue; + if (t < best_t) { best_t = t; best = int(i); } + } + return best; +} + +// ---- Move-body gizmo (M5) ------------------------------------------------------------- +void DesignSketchTool::set_move_gizmo(int body, const Vec3d& pivot, const Transform3d& base_xform, + double body_radius) +{ + m_mv_active = true; + m_mv_body = body; + m_mv_base = pivot; // body's world centroid at Move-open = rotation pivot + m_mv_base_xform = base_xform; // pose the deltas compose onto + m_mv_offset = Vec3d::Zero(); + m_mv_rot = Eigen::Matrix3d::Identity(); + m_mv_drag = -1; + m_mv_radius = std::max(body_radius, 0.0); +} + +// Gizmo arm length in world mm. Orca's Prepare gizmos size themselves from the selection's +// bounding sphere (GLGizmoRotate3D: m_radius = Offset + sphere radius) so the handles always sit +// clear of the object; a fixed screen-size arm instead collapsed into a tangle buried inside a +// large solid, which is why the rotation rings read as "missing". Same idea here, with a +// screen-space floor so the gizmo stays grabbable on a tiny body or when zoomed far out. +double DesignSketchTool::move_gizmo_arm(const Camera& cam) const +{ + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double screen_min = 70.0 * upp; // never smaller than the old fixed size + return std::max(screen_min, m_mv_radius * 1.25); // 25% clear of the body surface +} + +void DesignSketchTool::clear_move_gizmo() +{ + m_mv_active = false; + m_mv_drag = -1; + m_mv_body = -1; + m_mv_offset = Vec3d::Zero(); + m_mv_rot = Eigen::Matrix3d::Identity(); +} + +// Final body transform = translate(delta) then rotate(delta, about pivot) on the open pose. +Transform3d DesignSketchTool::compose_move_xform() const +{ + const Vec3d p = m_mv_base; + Transform3d R = Transform3d::Identity(); + R.linear() = m_mv_rot; + const Transform3d rot_about_pivot = + Transform3d(Eigen::Translation3d(p)) * R * Transform3d(Eigen::Translation3d(-p)); + return Transform3d(Eigen::Translation3d(m_mv_offset)) * rot_about_pivot * m_mv_base_xform; +} + +// World axis `e` of ring `axis` plus an in-plane orthonormal basis (u,v). +void DesignSketchTool::ring_basis(int axis, Vec3d& e, Vec3d& u, Vec3d& v) const +{ + switch (axis) { + case 0: e = Vec3d::UnitX(); u = Vec3d::UnitY(); v = Vec3d::UnitZ(); break; + case 1: e = Vec3d::UnitY(); u = Vec3d::UnitZ(); v = Vec3d::UnitX(); break; + default:e = Vec3d::UnitZ(); u = Vec3d::UnitX(); v = Vec3d::UnitY(); break; + } +} + +// Three world-axis arrows (X red / Y green / Z blue) from the body centroid + current +// offset, billboarded into a screen-facing frame like the extrude depth arrow. +void DesignSketchTool::render_move_gizmo() +{ + if (!m_mv_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const Vec3d fwd = cam.get_dir_forward().normalized(); + const Vec3d anchor = m_mv_base + m_mv_offset; + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const double L = move_gizmo_arm(cam); // scales with the body (see move_gizmo_arm) + + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = anchor; bb.x_axis = right; bb.y_axis = up; bb.normal = fwd; + m_plane = bb; + + const Vec3d axes[3] = { Vec3d::UnitX(), Vec3d::UnitY(), Vec3d::UnitZ() }; + const ColorRGBA cols[3] = { ColorRGBA(0.92f, 0.28f, 0.28f, 1.0f), // X red + ColorRGBA(0.30f, 0.80f, 0.34f, 1.0f), // Y green + ColorRGBA(0.32f, 0.55f, 0.95f, 1.0f) }; // Z blue + + glsafe(::glDisable(GL_DEPTH_TEST)); + for (int a = 0; a < 3; ++a) { + const Vec3d tipw = anchor + axes[a] * L; + const Vec2d tip2((tipw - anchor).dot(right), (tipw - anchor).dot(up)); + if (tip2.norm() < 1e-6) continue; // axis ~parallel to view: skip + const Vec2d u = tip2.normalized(); + const Vec2d nrm(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm * (as * 0.5)); + segs.emplace_back(tip2, back - nrm * (as * 0.5)); + draw_strokes(m_mv_arrow_model, segs, std::max(0.7 * upp, 1e-4), cols[a]); + const double off = m_mv_offset[a]; + if (std::abs(off) > 1e-4) { + DimAnnot da; da.kind = DimType::Distance; da.value = std::abs(off); + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, cols[a]); + } + } + m_plane = saved; + + // Three world-axis rotation rings (X/Y/Z), each a circle in the plane perpendicular to + // its axis through the gizmo anchor — drag a ring to rotate the body about that axis. + const double R = 0.83 * move_gizmo_arm(cam); // rings just inside the arrow tips + for (int a = 0; a < 3; ++a) { + Vec3d e, u, v; ring_basis(a, e, u, v); + SketchPlane rp; rp.origin = anchor; rp.x_axis = u; rp.y_axis = v; rp.normal = e; + m_plane = rp; + std::vector<std::pair<Vec2d, Vec2d>> segs; + const int N = 48; + Vec2d prev(R, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = 2.0 * M_PI * double(i) / double(N); + const Vec2d cur(R * std::cos(t), R * std::sin(t)); + segs.emplace_back(prev, cur); prev = cur; + } + draw_strokes(m_mv_arrow_model, segs, std::max(0.55 * upp, 1e-4), cols[a]); + } + m_plane = saved; +} + +// Ray vs each world-axis arrow segment; nearest within ~7 px wins. +bool DesignSketchTool::hit_test_move_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int& axis) const +{ + if (!m_mv_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double L = move_gizmo_arm(cam); // must match render_move_gizmo + const Vec3d anchor = m_mv_base + m_mv_offset; + const Vec3d axes[3] = { Vec3d::UnitX(), Vec3d::UnitY(), Vec3d::UnitZ() }; + int best = -1; double bestd = 7.0 * upp; // ~7 px tolerance + for (int a = 0; a < 3; ++a) { + const double d = ray_segment_dist3(ro, rd, anchor, anchor + axes[a] * L); + if (d <= bestd) { bestd = d; best = a; } + } + if (best < 0) return false; + axis = best; return true; +} + +// Skew-line closest point of the mouse ray to the axis line through the ORIGINAL centroid +// -> signed offset along that axis (no clamp; a body can move either way). +void DesignSketchTool::drag_move_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis) +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Vec3d axes[3] = { Vec3d::UnitX(), Vec3d::UnitY(), Vec3d::UnitZ() }; + const Vec3d e = axes[axis]; + const Vec3d w0 = m_mv_base - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ axis: leave offset as-is + m_mv_offset[axis] = (b * ee - c * dd) / denom; + if (on_body_move_changed) on_body_move_changed(m_mv_body, compose_move_xform()); +} + +void DesignSketchTool::open_move_editor(int axis) +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, m_mv_offset[axis], "", + [this, axis](double v) { + m_mv_offset[axis] = v; + if (on_body_move_changed) on_body_move_changed(m_mv_body, compose_move_xform()); + }, + []() {}); +} + +// Ray vs each rotation ring (sampled polyline); nearest within ~7 px wins -> axis 0/1/2. +bool DesignSketchTool::hit_test_move_arc(GLCanvas3D& canvas, const wxMouseEvent& evt, int& axis) const +{ + if (!m_mv_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double R = 0.83 * move_gizmo_arm(cam); // rings just inside the arrow tips + const Vec3d anchor = m_mv_base + m_mv_offset; + int best = -1; double bestd = 7.0 * upp; + const int N = 48; + for (int a = 0; a < 3; ++a) { + Vec3d e, u, v; ring_basis(a, e, u, v); + Vec3d prev = anchor + R * u; + for (int i = 1; i <= N; ++i) { + const double t = 2.0 * M_PI * double(i) / double(N); + const Vec3d cur = anchor + R * (std::cos(t) * u + std::sin(t) * v); + const double d = ray_segment_dist3(ro, rd, prev, cur); + if (d <= bestd) { bestd = d; best = a; } + prev = cur; + } + } + if (best < 0) return false; + axis = best; return true; +} + +// Intersect the mouse ray with ring `axis`'s plane through the anchor -> in-plane angle. +bool DesignSketchTool::arc_mouse_angle(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis, double& ang) const +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + Vec3d e, u, v; ring_basis(axis, e, u, v); + const Vec3d p = m_mv_base + m_mv_offset; + const double denom = rd.dot(e); + if (std::abs(denom) < 1e-9) return false; // ray ∥ ring plane + const Vec3d hit = ro + ((p - ro).dot(e) / denom) * rd; + const Vec3d d = hit - p; + ang = std::atan2(d.dot(v), d.dot(u)); + return true; +} + +// Drag a ring -> rotate the body about that world axis by (mouse angle - grab angle). +void DesignSketchTool::drag_move_arc(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis) +{ + double ang; + if (!arc_mouse_angle(canvas, evt, axis, ang)) return; + Vec3d e, u, v; ring_basis(axis, e, u, v); + const double delta = ang - m_mv_arc_a0; + m_mv_rot = Eigen::AngleAxisd(delta, e).toRotationMatrix() * m_mv_rot_start; + if (on_body_move_changed) on_body_move_changed(m_mv_body, compose_move_xform()); +} + +// ---- Fillet/Chamfer radius gizmo ------------------------------------------------------ +// Anchor a single radius arrow at the picked edge midpoint (m_sel_edge_pts is already in world +// space, body-transformed), perpendicular to the edge and pointing away from the body centroid — +// the natural outward direction a fillet/chamfer grows. +bool DesignSketchTool::set_fillet_gizmo(const Vec3d& body_centroid, double radius) +{ + if (m_sel_edge_pts.size() < 2) { m_fl_active = false; return false; } + const size_t n = m_sel_edge_pts.size(); + // True geometric midpoint along the edge: a straight edge often samples to just its two + // endpoints, so the middle INDEX would land on an end. Walk the polyline to its half-length. + double total = 0.0; + for (size_t i = 1; i < n; ++i) total += (m_sel_edge_pts[i] - m_sel_edge_pts[i - 1]).norm(); + m_fl_anchor = m_sel_edge_pts[0]; + Vec3d t = m_sel_edge_pts[n - 1] - m_sel_edge_pts[0]; + const double half = 0.5 * total; + double acc = 0.0; + for (size_t i = 1; i < n; ++i) { + const Vec3d seg = m_sel_edge_pts[i] - m_sel_edge_pts[i - 1]; + const double L = seg.norm(); + if (acc + L >= half && L > 1e-12) { + m_fl_anchor = m_sel_edge_pts[i - 1] + seg * ((half - acc) / L); + t = seg; + break; + } + acc += L; + } + if (t.norm() < 1e-9) return false; + t.normalize(); + Vec3d r = m_fl_anchor - body_centroid; // radial offset from the body centre + r -= r.dot(t) * t; // strip the along-edge component + if (r.norm() < 1e-6) { // edge passes through the centroid + r = t.cross(Vec3d::UnitZ()); + if (r.norm() < 1e-6) r = t.cross(Vec3d::UnitX()); + } + m_fl_dir = r.normalized(); + m_fl_radius = std::max(0.01, radius); + if (!m_fl_active) m_fl_drag = false; // re-anchored every preview: preserve an in-progress drag + m_fl_active = true; + return true; +} + +void DesignSketchTool::clear_fillet_gizmo() +{ + m_fl_active = false; + m_fl_drag = false; +} + +// Single billboarded radius arrow from the edge midpoint along m_fl_dir; length = radius (world), +// floored to a grabbable screen size. Label shows the true radius (R-prefixed). +void DesignSketchTool::render_fillet_gizmo() +{ + if (!m_fl_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const double L = std::max(m_fl_radius, 40.0 * upp); // WYSIWYG, floored to a comfortable handle + const Vec3d tipw = m_fl_anchor + m_fl_dir * L; + + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = m_fl_anchor; bb.x_axis = right; bb.y_axis = up; bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + const ColorRGBA arrowc(1.0f, 0.62f, 0.16f, 1.0f); // CAD amber + + const Vec2d tip2((tipw - m_fl_anchor).dot(right), (tipw - m_fl_anchor).dot(up)); + if (tip2.norm() > 1e-6) { + const Vec2d u = tip2.normalized(); + const Vec2d nrm(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm * (as * 0.5)); + segs.emplace_back(tip2, back - nrm * (as * 0.5)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_fl_arrow_model, segs, std::max(0.7 * upp, 1e-4), arrowc); + DimAnnot da; da.kind = DimType::Radius; da.value = m_fl_radius; + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, arrowc); + } + m_plane = saved; +} + +// Ray vs the radius arrow segment; ~12 px tolerance over the (floored) handle length. +bool DesignSketchTool::hit_test_fillet_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_fl_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double L = std::max(m_fl_radius, 40.0 * upp); + return ray_segment_dist3(ro, rd, m_fl_anchor, m_fl_anchor + m_fl_dir * L) <= 12.0 * upp; +} + +// Skew-line closest point of the mouse ray to the radius axis -> signed distance along m_fl_dir +// from the anchor. NaN when the camera is ~parallel to the axis (no meaningful projection). +double DesignSketchTool::fillet_axis_proj(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Vec3d e = m_fl_dir; + const Vec3d w0 = m_fl_anchor - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return std::nan(""); + return (b * ee - c * dd) / denom; +} + +// Record the grab reference so the drag is RELATIVE (grab anywhere on the handle without the +// radius snapping to the grab point — important since the handle is floored to a min size). +void DesignSketchTool::start_fillet_drag(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + m_fl_drag = true; + m_fl_press_x = evt.GetX(); + m_fl_press_y = evt.GetY(); + m_fl_grab_radius = m_fl_radius; + const double p = fillet_axis_proj(canvas, evt); + m_fl_grab_proj = std::isnan(p) ? 0.0 : p; +} + +void DesignSketchTool::drag_fillet_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const double proj = fillet_axis_proj(canvas, evt); + if (std::isnan(proj)) return; // camera ∥ axis: leave radius as-is + m_fl_radius = std::max(0.01, m_fl_grab_radius + (proj - m_fl_grab_proj)); + if (on_fillet_radius_changed) on_fillet_radius_changed(m_fl_radius); +} + +void DesignSketchTool::open_fillet_editor() +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, m_fl_radius, "", + [this](double v) { + m_fl_radius = std::max(0.01, v); + if (on_fillet_radius_changed) on_fillet_radius_changed(m_fl_radius); + }, + []() {}); +} + +// ---- Hole gizmo ----------------------------------------------------------------------------- +// Positioned circular cut: footprint circle on the plane + a radial diameter arrow (plane u-axis) +// + a normal-axis depth arrow (drawn only when !through, matching the kernel's blind cut) + a +// draggable centre marker. The panel re-pushes this every preview, so (like the fillet gizmo) we +// must NOT reset an in-progress drag when already active. +void DesignSketchTool::set_hole_gizmo(const SketchPlane& plane, double x, double y, + double diameter, double depth, bool through) +{ + m_hl_plane = plane; + m_hl_x = x; + m_hl_y = y; + m_hl_diameter = std::max(0.01, diameter); + m_hl_depth = std::max(0.01, depth); + m_hl_through = through; + if (!m_hl_active) m_hl_drag = -1; // re-pushed every preview: preserve an in-progress drag + m_hl_active = true; +} + +void DesignSketchTool::clear_hole_gizmo() +{ + m_hl_active = false; + m_hl_drag = -1; +} + +void DesignSketchTool::set_hole_face_bounds(bool has, double umin, double umax, double vmin, double vmax) +{ + m_hl_has_bounds = has; + m_hl_umin = umin; m_hl_umax = umax; m_hl_vmin = vmin; m_hl_vmax = vmax; +} + +void DesignSketchTool::render_hole_gizmo() +{ + if (!m_hl_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + + const Vec3d centre = m_hl_plane.to_world(Vec2d(m_hl_x, m_hl_y)); + const Vec3d nrm = m_hl_plane.normal.normalized(); + const Vec3d ddir = m_hl_plane.x_axis.normalized(); // diameter arrow runs along plane u + const double r = std::max(0.01, m_hl_diameter * 0.5); + + const SketchPlane saved = m_plane; + + // (1) Footprint circle drawn ON the plane (lifts plane u/v -> world through to_world). + { + m_plane = m_hl_plane; + std::vector<std::pair<Vec2d, Vec2d>> segs; + const int N = 48; + for (int i = 0; i < N; ++i) { + const double a0 = (2.0 * M_PI * i) / N, a1 = (2.0 * M_PI * (i + 1)) / N; + segs.emplace_back(Vec2d(m_hl_x + r * std::cos(a0), m_hl_y + r * std::sin(a0)), + Vec2d(m_hl_x + r * std::cos(a1), m_hl_y + r * std::sin(a1))); + } + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_hl_stroke_model, segs, std::max(0.6 * upp, 1e-4), ColorRGBA(1.0f, 0.62f, 0.16f, 1.0f)); + m_plane = saved; + } + + // (2) Billboarded handles (centre marker + diameter arrow + depth arrow), screen-facing frame + // at the centre so draw_strokes/draw_text read on top regardless of orientation. + SketchPlane bb; bb.origin = centre; bb.x_axis = right; bb.y_axis = up; bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + const ColorRGBA amber(1.0f, 0.62f, 0.16f, 1.0f); + const ColorRGBA blue (0.30f, 0.55f, 1.0f, 1.0f); + + auto arrow_to = [&](const Vec3d& tipw, const ColorRGBA& col, const DimAnnot& da) { + const Vec2d tip2((tipw - centre).dot(right), (tipw - centre).dot(up)); + if (tip2.norm() <= 1e-6) return; + const Vec2d u = tip2.normalized(); + const Vec2d nrm2(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm2 * (as * 0.5)); + segs.emplace_back(tip2, back - nrm2 * (as * 0.5)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_hl_stroke_model, segs, std::max(0.7 * upp, 1e-4), col); + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, col); + }; + + // Diameter arrow: WYSIWYG radius, floored to a grabbable handle; label shows Ø (full diameter). + { + const double L = std::max(r, 40.0 * upp); + DimAnnot da; da.kind = DimType::Diameter; da.value = m_hl_diameter; + arrow_to(centre + ddir * L, amber, da); + } + // Depth arrow along +normal (blind cut). Through cuts ignore depth, so skip the arrow then. + if (!m_hl_through) { + const double L = std::max(m_hl_depth, 40.0 * upp); + DimAnnot da; da.kind = DimType::Distance; da.value = m_hl_depth; + arrow_to(centre + nrm * L, blue, da); + } + + m_plane = saved; + + // Move handle: a small 3D CUBE at the hole centre (Orca text/SVG-on-face feel) — grab and drag + // it to slide the hole across the face. Built from the plane axes so it sits flat on the face. + { + using EPT = GLModel::Geometry::EPrimitiveType; + using EVL = GLModel::Geometry::EVertexLayout; + const double hs = 9.0 * upp; // cube half-size (~9 px); hit-test uses the same below + const Vec3d U = ddir * hs, V = m_hl_plane.y_axis.normalized() * hs, Nn = nrm * hs; + // Cube centred EXACTLY on the surface point (= the hole). Depth-test ON occludes the inner + // half inside the solid, so the visible half-cube reads as planted at the hole — no depth-off + // float that looked offset from the on-surface footprint. Hit-test targets the same `centre`. + Vec3d c8[8]; + for (int i = 0; i < 8; ++i) + c8[i] = centre + ((i & 1) ? U : -U) + ((i & 2) ? V : -V) + ((i & 4) ? Nn : -Nn); + // 6 faces (CCW), each as 2 triangles, lightly shaded so the box reads as a cube. + const int faces[6][4] = { {0,1,3,2},{4,6,7,5},{0,4,5,1},{2,3,7,6},{0,2,6,4},{1,5,7,3} }; + const float shade[6] = { 0.78f, 1.0f, 0.86f, 0.92f, 0.70f, 0.96f }; + glsafe(::glEnable(GL_DEPTH_TEST)); + glsafe(::glDisable(GL_CULL_FACE)); + for (int f = 0; f < 6; ++f) { + GLModel::Geometry g; g.format = { EPT::Triangles, EVL::P3 }; + for (int k = 0; k < 4; ++k) g.add_vertex((Vec3f)c8[faces[f][k]].cast<float>()); + g.add_triangle(0, 1, 2); g.add_triangle(0, 2, 3); + GLModel m; m.init_from(std::move(g)); + m.set_color(ColorRGBA(1.0f * shade[f], 0.62f * shade[f], 0.16f * shade[f], 1.0f)); + m.render(); + } + } +} + +// Best-matching hole handle under the cursor: centre (0) / diameter (1) / depth (2), or -1. +// Tested by ray-to-segment distance in world; ~12 px tolerance. Centre wins at the shared base. +int DesignSketchTool::hit_test_hole_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_hl_active) return -1; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + + const Vec3d centre = m_hl_plane.to_world(Vec2d(m_hl_x, m_hl_y)); + const Vec3d nrm = m_hl_plane.normal.normalized(); + const Vec3d ddir = m_hl_plane.x_axis.normalized(); + const double rad = std::max(m_hl_diameter * 0.5, 40.0 * upp); + const double depL = std::max(m_hl_depth, 40.0 * upp); + const double tol = 12.0 * upp; + + // Centre wins at the shared base: the move cube straddles the centre, so a grab within the cube + // half-size is a reposition. The arrows are only grabbable along the shaft extending outward, + // which also keeps an edge-on arrow (e.g. depth in top view) from stealing the reposition grab. + if (ray_segment_dist3(ro, rd, centre, centre) <= 9.0 * upp) return 0; // cube half-size + + int best = -1; double bestd = tol; + const double dD = ray_segment_dist3(ro, rd, centre, centre + ddir * rad); + if (dD < bestd) { bestd = dD; best = 1; } + if (!m_hl_through) { + const double dZ = ray_segment_dist3(ro, rd, centre, centre + nrm * depL); + if (dZ < bestd) { bestd = dZ; best = 2; } + } + return best; +} + +// Skew-line closest point of the mouse ray to an axis (anchor + t*dir) -> signed distance along +// dir. NaN when the camera is ~parallel to the axis (no meaningful projection). +double DesignSketchTool::hole_axis_proj(GLCanvas3D& canvas, const wxMouseEvent& evt, + const Vec3d& anchor, const Vec3d& dir) const +{ + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Vec3d e = dir; + const Vec3d w0 = anchor - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + // Relative near-parallel guard: when the camera ray is ~along the axis (e.g. the depth axis in + // top view) denom collapses; a tiny absolute floor lets a huge, unstable projection through. + if (std::abs(denom) < 1e-4 * std::max(a * c, 1e-12)) return std::nan(""); + return (b * ee - c * dd) / denom; +} + +void DesignSketchTool::start_hole_drag(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + m_hl_drag = which; + m_hl_press_x = evt.GetX(); + m_hl_press_y = evt.GetY(); + const Vec3d centre = m_hl_plane.to_world(Vec2d(m_hl_x, m_hl_y)); + if (which == 0) { + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + m_hl_grab_uv = m_hl_plane.project(r.a, r.b - r.a); + m_hl_grab_x = m_hl_x; + m_hl_grab_y = m_hl_y; + } else if (which == 1 || which == 2) { + const Vec3d dir = (which == 1) ? m_hl_plane.x_axis.normalized() : m_hl_plane.normal.normalized(); + const double p = hole_axis_proj(canvas, evt, centre, dir); + m_hl_grab_proj = std::isnan(p) ? 0.0 : p; + m_hl_grab_val = (which == 1) ? m_hl_diameter * 0.5 : m_hl_depth; + } + // which == 3/4 (X/Y dim labels) are edit-only: a stationary click opens the inline editor. +} + +void DesignSketchTool::drag_hole_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + if (m_hl_drag >= 3) return; // X/Y dim labels are click-to-edit, not drag + if (m_hl_drag == 0) { // reposition centre on the plane + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec2d uv = m_hl_plane.project(r.a, r.b - r.a); + m_hl_x = m_hl_grab_x + (uv.x() - m_hl_grab_uv.x()); + m_hl_y = m_hl_grab_y + (uv.y() - m_hl_grab_uv.y()); + } else { // diameter (1) or depth (2): relative axis drag + const Vec3d centre = m_hl_plane.to_world(Vec2d(m_hl_x, m_hl_y)); + const Vec3d dir = (m_hl_drag == 1) ? m_hl_plane.x_axis.normalized() : m_hl_plane.normal.normalized(); + const double proj = hole_axis_proj(canvas, evt, centre, dir); + if (std::isnan(proj)) return; // camera ∥ axis: leave value as-is + const double v = std::max(0.01, m_hl_grab_val + (proj - m_hl_grab_proj)); + if (m_hl_drag == 1) m_hl_diameter = 2.0 * v; + else m_hl_depth = v; + } + if (on_hole_changed) on_hole_changed(m_hl_x, m_hl_y, m_hl_diameter, m_hl_depth); +} + +void DesignSketchTool::open_hole_editor(int which) +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + if (which == 1) { + on_inline_edit(px, m_hl_diameter, "", + [this](double v) { + m_hl_diameter = std::max(0.01, v); + if (on_hole_changed) on_hole_changed(m_hl_x, m_hl_y, m_hl_diameter, m_hl_depth); + }, + []() {}); + } else if (which == 2) { + on_inline_edit(px, m_hl_depth, "", + [this](double v) { + m_hl_depth = std::max(0.01, v); + if (on_hole_changed) on_hole_changed(m_hl_x, m_hl_y, m_hl_diameter, m_hl_depth); + }, + []() {}); + } else if (which == 3) { // #2 Part B: edit the distance from the u-side + const double ru = m_hl_has_bounds ? m_hl_umin : 0.0; + on_inline_edit(px, m_hl_x - ru, "", + [this, ru](double v) { + m_hl_x = ru + v; + if (on_hole_changed) on_hole_changed(m_hl_x, m_hl_y, m_hl_diameter, m_hl_depth); + }, + []() {}); + } else if (which == 4) { // edit the distance from the v-side + const double rv = m_hl_has_bounds ? m_hl_vmin : 0.0; + on_inline_edit(px, m_hl_y - rv, "", + [this, rv](double v) { + m_hl_y = rv + v; + if (on_hole_changed) on_hole_changed(m_hl_x, m_hl_y, m_hl_diameter, m_hl_depth); + }, + []() {}); + } + // which == 0 (centre): no scalar to edit inline — it's a drag-only reposition handle. +} + +// ---- Thread gizmo --------------------------------------------------------------------------- +// Mirrors the hole gizmo: footprint circle on the plane at the nominal radius + a radial radius +// arrow (R label) + a normal-axis length arrow (always shown) + a draggable centre marker. +// Reuses hole_axis_proj() for the relative axis drags. +void DesignSketchTool::set_thread_gizmo(const SketchPlane& plane, double x, double y, + double radius, double height) +{ + m_th_plane = plane; + m_th_x = x; + m_th_y = y; + m_th_radius = std::max(0.01, radius); + m_th_height = std::max(0.01, height); + if (!m_th_active) m_th_drag = -1; // re-pushed every preview: preserve an in-progress drag + m_th_active = true; +} + +void DesignSketchTool::clear_thread_gizmo() +{ + m_th_active = false; + m_th_drag = -1; +} + +void DesignSketchTool::render_thread_gizmo() +{ + if (!m_th_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + + const Vec3d centre = m_th_plane.to_world(Vec2d(m_th_x, m_th_y)); + const Vec3d nrm = m_th_plane.normal.normalized(); + const Vec3d ddir = m_th_plane.x_axis.normalized(); // radius arrow runs along plane u + const double r = std::max(0.01, m_th_radius); + + const SketchPlane saved = m_plane; + + // (1) Footprint circle on the plane at the nominal radius. + { + m_plane = m_th_plane; + std::vector<std::pair<Vec2d, Vec2d>> segs; + const int N = 48; + for (int i = 0; i < N; ++i) { + const double a0 = (2.0 * M_PI * i) / N, a1 = (2.0 * M_PI * (i + 1)) / N; + segs.emplace_back(Vec2d(m_th_x + r * std::cos(a0), m_th_y + r * std::sin(a0)), + Vec2d(m_th_x + r * std::cos(a1), m_th_y + r * std::sin(a1))); + } + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_th_stroke_model, segs, std::max(0.6 * upp, 1e-4), ColorRGBA(0.55f, 0.80f, 0.30f, 1.0f)); + m_plane = saved; + } + + // (2) Billboarded handles. + SketchPlane bb; bb.origin = centre; bb.x_axis = right; bb.y_axis = up; bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + const ColorRGBA green(0.55f, 0.80f, 0.30f, 1.0f); + const ColorRGBA blue (0.30f, 0.55f, 1.0f, 1.0f); + + auto arrow_to = [&](const Vec3d& tipw, const ColorRGBA& col, const DimAnnot& da) { + const Vec2d tip2((tipw - centre).dot(right), (tipw - centre).dot(up)); + if (tip2.norm() <= 1e-6) return; + const Vec2d u = tip2.normalized(); + const Vec2d nrm2(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm2 * (as * 0.5)); + segs.emplace_back(tip2, back - nrm2 * (as * 0.5)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_th_stroke_model, segs, std::max(0.7 * upp, 1e-4), col); + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, col); + }; + + { // Radius arrow (R label), floored to a grabbable handle. + const double L = std::max(r, 40.0 * upp); + DimAnnot da; da.kind = DimType::Radius; da.value = m_th_radius; + arrow_to(centre + ddir * L, green, da); + } + { // Length arrow along +normal. + const double L = std::max(m_th_height, 40.0 * upp); + DimAnnot da; da.kind = DimType::Distance; da.value = m_th_height; + arrow_to(centre + nrm * L, blue, da); + } + { // Centre marker. + const double s = 7.0 * upp; + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(-s, -s), Vec2d(s, -s)); + segs.emplace_back(Vec2d( s, -s), Vec2d(s, s)); + segs.emplace_back(Vec2d( s, s), Vec2d(-s, s)); + segs.emplace_back(Vec2d(-s, s), Vec2d(-s, -s)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_th_stroke_model, segs, std::max(0.7 * upp, 1e-4), green); + } + + m_plane = saved; +} + +int DesignSketchTool::hit_test_thread_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_th_active) return -1; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + + const Vec3d centre = m_th_plane.to_world(Vec2d(m_th_x, m_th_y)); + const Vec3d nrm = m_th_plane.normal.normalized(); + const Vec3d ddir = m_th_plane.x_axis.normalized(); + const double rad = std::max(m_th_radius, 40.0 * upp); + const double hL = std::max(m_th_height, 40.0 * upp); + const double tol = 12.0 * upp; + + if (ray_segment_dist3(ro, rd, centre, centre) <= tol) return 0; // centre wins at the base + int best = -1; double bestd = tol; + const double dR = ray_segment_dist3(ro, rd, centre, centre + ddir * rad); + if (dR < bestd) { bestd = dR; best = 1; } + const double dH = ray_segment_dist3(ro, rd, centre, centre + nrm * hL); + if (dH < bestd) { bestd = dH; best = 2; } + return best; +} + +void DesignSketchTool::start_thread_drag(GLCanvas3D& canvas, const wxMouseEvent& evt, int which) +{ + m_th_drag = which; + m_th_press_x = evt.GetX(); + m_th_press_y = evt.GetY(); + const Vec3d centre = m_th_plane.to_world(Vec2d(m_th_x, m_th_y)); + if (which == 0) { + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + m_th_grab_uv = m_th_plane.project(r.a, r.b - r.a); + m_th_grab_x = m_th_x; + m_th_grab_y = m_th_y; + } else { + const Vec3d dir = (which == 1) ? m_th_plane.x_axis.normalized() : m_th_plane.normal.normalized(); + const double p = hole_axis_proj(canvas, evt, centre, dir); + m_th_grab_proj = std::isnan(p) ? 0.0 : p; + m_th_grab_val = (which == 1) ? m_th_radius : m_th_height; + } +} + +void DesignSketchTool::drag_thread_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + if (m_th_drag == 0) { + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec2d uv = m_th_plane.project(r.a, r.b - r.a); + m_th_x = m_th_grab_x + (uv.x() - m_th_grab_uv.x()); + m_th_y = m_th_grab_y + (uv.y() - m_th_grab_uv.y()); + } else { + const Vec3d centre = m_th_plane.to_world(Vec2d(m_th_x, m_th_y)); + const Vec3d dir = (m_th_drag == 1) ? m_th_plane.x_axis.normalized() : m_th_plane.normal.normalized(); + const double proj = hole_axis_proj(canvas, evt, centre, dir); + if (std::isnan(proj)) return; + const double v = std::max(0.01, m_th_grab_val + (proj - m_th_grab_proj)); + if (m_th_drag == 1) m_th_radius = v; + else m_th_height = v; + } + if (on_thread_changed) on_thread_changed(m_th_x, m_th_y, m_th_radius, m_th_height); +} + +void DesignSketchTool::open_thread_editor(int which) +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + if (which == 1) { + on_inline_edit(px, m_th_radius, "", + [this](double v) { + m_th_radius = std::max(0.01, v); + if (on_thread_changed) on_thread_changed(m_th_x, m_th_y, m_th_radius, m_th_height); + }, + []() {}); + } else if (which == 2) { + on_inline_edit(px, m_th_height, "", + [this](double v) { + m_th_height = std::max(0.01, v); + if (on_thread_changed) on_thread_changed(m_th_x, m_th_y, m_th_radius, m_th_height); + }, + []() {}); + } +} + +// ---- Shell gizmo ---------------------------------------------------------------------------- +// A single inward thickness arrow at the picked open-face centroid (mirrors the fillet radius +// arrow). RELATIVE drag (like fillet), reusing hole_axis_proj for the projection. +void DesignSketchTool::set_shell_gizmo(const Vec3d& face_centroid, const Vec3d& inward_dir, + double thickness) +{ + m_sh_anchor = face_centroid; + if (inward_dir.norm() > 1e-9) m_sh_dir = inward_dir.normalized(); + m_sh_thickness = std::max(0.01, thickness); + if (!m_sh_active) m_sh_drag = false; // re-pushed every preview: preserve an in-progress drag + m_sh_active = true; +} + +void DesignSketchTool::clear_shell_gizmo() +{ + m_sh_active = false; + m_sh_drag = false; +} + +void DesignSketchTool::render_shell_gizmo() +{ + if (!m_sh_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const double L = std::max(m_sh_thickness, 40.0 * upp); // WYSIWYG, floored to a handle + const Vec3d tipw = m_sh_anchor + m_sh_dir * L; + + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = m_sh_anchor; bb.x_axis = right; bb.y_axis = up; bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + const ColorRGBA teal(0.20f, 0.80f, 0.75f, 1.0f); + + const Vec2d tip2((tipw - m_sh_anchor).dot(right), (tipw - m_sh_anchor).dot(up)); + if (tip2.norm() > 1e-6) { + const Vec2d u = tip2.normalized(); + const Vec2d nrm(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm * (as * 0.5)); + segs.emplace_back(tip2, back - nrm * (as * 0.5)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_sh_stroke_model, segs, std::max(0.7 * upp, 1e-4), teal); + DimAnnot da; da.kind = DimType::Distance; da.value = m_sh_thickness; + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, teal); + } + m_plane = saved; +} + +bool DesignSketchTool::hit_test_shell_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_sh_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double L = std::max(m_sh_thickness, 40.0 * upp); + return ray_segment_dist3(ro, rd, m_sh_anchor, m_sh_anchor + m_sh_dir * L) <= 12.0 * upp; +} + +void DesignSketchTool::start_shell_drag(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + m_sh_drag = true; + m_sh_press_x = evt.GetX(); + m_sh_press_y = evt.GetY(); + m_sh_grab_val = m_sh_thickness; + const double p = hole_axis_proj(canvas, evt, m_sh_anchor, m_sh_dir); + m_sh_grab_proj = std::isnan(p) ? 0.0 : p; +} + +void DesignSketchTool::drag_shell_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const double proj = hole_axis_proj(canvas, evt, m_sh_anchor, m_sh_dir); + if (std::isnan(proj)) return; + m_sh_thickness = std::max(0.01, m_sh_grab_val + (proj - m_sh_grab_proj)); + if (on_shell_thickness_changed) on_shell_thickness_changed(m_sh_thickness); +} + +void DesignSketchTool::open_shell_editor() +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, m_sh_thickness, "", + [this](double v) { + m_sh_thickness = std::max(0.01, v); + if (on_shell_thickness_changed) on_shell_thickness_changed(m_sh_thickness); + }, + []() {}); +} + +// ---- Revolve angle-arc gizmo ---------------------------------------------------------------- +// Arc in the revolve plane (perpendicular to the axis) at the profile's radius. The arc center is +// the projection of the profile centroid onto the axis, so the arc rides at the profile's height. +// The yaxis sense follows m_rv_flip, matching the kernel's negative-angle reversed sweep. +static Vec3d rv_yaxis(const Vec3d& axis, const Vec3d& ref, bool flip) +{ + Vec3d y = axis.cross(ref); + if (y.norm() < 1e-9) return ref; // degenerate; never used (ref ⟂ axis by construction) + y.normalize(); + return flip ? -y : y; +} + +// Arc in the draft plane (perpendicular to the world +Z axis through the face centroid). +// The arc sweeps from angle 0 to m_dr_angle, representing the taper amount. +static Vec3d dr_yaxis(const Vec3d& axis, const Vec3d& ref) +{ + Vec3d y = axis.cross(ref); + if (y.norm() < 1e-9) return ref; + y.normalize(); + return y; +} + +void DesignSketchTool::set_draft_gizmo(const Vec3d& face_centroid, const Vec3d& face_normal, double angle) +{ + m_dr_center = face_centroid; + m_dr_angle = std::min(89.0, std::max(-89.0, angle)); + m_dr_axis = Vec3d::UnitZ(); // pull direction is world +Z + Vec3d ref = face_normal - face_normal.dot(m_dr_axis) * m_dr_axis; // horizontal component + if (ref.norm() < 1e-6) ref = Vec3d::UnitX(); // fallback: face normal is parallel to Z + m_dr_ref = ref / ref.norm(); + m_dr_radius = 12.0; // fixed world-size manipulator + if (!m_dr_active) m_dr_drag = false; + m_dr_active = true; +} + +void DesignSketchTool::clear_draft_gizmo() +{ + m_dr_active = false; + m_dr_drag = false; +} + +void DesignSketchTool::render_draft_gizmo() +{ + if (!m_dr_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const Vec3d yax = dr_yaxis(m_dr_axis, m_dr_ref); + + const SketchPlane saved = m_plane; + SketchPlane rp; rp.origin = m_dr_center; rp.x_axis = m_dr_ref; rp.y_axis = yax; rp.normal = m_dr_axis; + m_plane = rp; + const ColorRGBA arcc(0.15f, 0.92f, 1.0f, 1.0f); + const double r = m_dr_radius; + // Draft angle can be negative: sweep counter-clockwise (positive) or clockwise (negative) + const double a = m_dr_angle * M_PI / 180.0; + const int N = std::max(8, int(std::abs(a) / (M_PI / 32.0))); // ~ every 5.6° + + std::vector<std::pair<Vec2d, Vec2d>> segs; + Vec2d prev(r, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = a * double(i) / double(N); + const Vec2d cur(r * std::cos(t), r * std::sin(t)); + segs.emplace_back(prev, cur); + prev = cur; + } + const Vec2d tip(r * std::cos(a), r * std::sin(a)); + segs.emplace_back(Vec2d(0, 0), Vec2d(r, 0)); // spoke at angle 0 + segs.emplace_back(Vec2d(0, 0), tip); // spoke at the swept angle (the handle) + const Vec2d tang(-std::sin(a), std::cos(a)); + const Vec2d radial = tip.normalized(); + const double as = std::max(r * 0.14, th); + segs.emplace_back(tip, tip - tang * as - radial * (as * 0.5)); + segs.emplace_back(tip, tip - tang * as + radial * (as * 0.5)); + const double hs = std::max(th * 0.8, r * 0.05); + const Vec2d du = radial * hs, dv = Vec2d(-radial.y(), radial.x()) * hs; + segs.emplace_back(tip + du, tip + dv); + segs.emplace_back(tip + dv, tip - du); + segs.emplace_back(tip - du, tip - dv); + segs.emplace_back(tip - dv, tip + du); + + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_dr_stroke_model, segs, std::max(0.8 * upp, 1e-4), arcc); + DimAnnot da; da.kind = DimType::Angle; da.value = m_dr_angle; + draw_text(m_line_model, dim_text(da), tip * 1.14, th, arcc); + m_plane = saved; +} + +bool DesignSketchTool::hit_test_draft_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_dr_active) return false; + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const Vec3d yax = dr_yaxis(m_dr_axis, m_dr_ref); + const double a = m_dr_angle * M_PI / 180.0; + const double tol = 16.0 * upp; + auto ray_pt = [&](const Vec3d& p) { + const double t = (p - ro).dot(rd) / std::max(rd.dot(rd), 1e-12); + return (p - (ro + t * rd)).norm(); + }; + const Vec3d tip = m_dr_center + m_dr_radius * (std::cos(a) * m_dr_ref + std::sin(a) * yax); + const Vec3d ref = m_dr_center + m_dr_radius * m_dr_ref; // angle-0 spoke end + const int N = 48; + for (int i = 0; i <= N; ++i) { + const double f = double(i) / double(N); + const double th = a * f; + const Vec3d arc = m_dr_center + m_dr_radius * (std::cos(th) * m_dr_ref + std::sin(th) * yax); + if (ray_pt(arc) <= tol) return true; + if (ray_pt(m_dr_center + f * (tip - m_dr_center)) <= tol) return true; + if (ray_pt(m_dr_center + f * (ref - m_dr_center)) <= tol) return true; + } + return false; +} + +void DesignSketchTool::drag_draft_arc(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + const double denom = rd.dot(m_dr_axis); + if (std::abs(denom) < 1e-9) return; + const double t = (m_dr_center - ro).dot(m_dr_axis) / denom; + const Vec3d p = ro + t * rd; + const Vec3d yax = dr_yaxis(m_dr_axis, m_dr_ref); + const double u = (p - m_dr_center).dot(m_dr_ref); + const double v = (p - m_dr_center).dot(yax); + double deg = std::atan2(v, u) * 180.0 / M_PI; + deg = std::min(89.0, std::max(-89.0, deg)); + m_dr_angle = deg; + if (m_on_draft_angle_changed) m_on_draft_angle_changed(deg); +} + +// ---- Cut gizmo (plane normal arrow + wire rectangle preview) -------------------------------- +// Arrow: shaft + arrowhead billboarded along the cut-plane normal from the projected body +// centre, with a signed Distance label = offset. Drag is RELATIVE via hole_axis_proj. +// Rectangle: 4 segments in the cut plane at the current offset, sized to the target body. + +void DesignSketchTool::set_cut_gizmo(const SketchPlane& plane, double offset, const Vec3d& body_center, double half_extent) +{ + m_ct_n = plane.normal.normalized(); + m_ct_u = plane.x_axis.normalized(); + m_ct_v = plane.y_axis.normalized(); + Vec3d rel = body_center - plane.origin; + m_ct_base = plane.origin + (rel - rel.dot(m_ct_n) * m_ct_n); // body center projected into the cut plane + m_ct_offset = offset; + m_ct_half = std::max(half_extent, 10.0); + if (!m_ct_active) m_ct_drag = false; + m_ct_active = true; +} + +void DesignSketchTool::clear_cut_gizmo() +{ + m_ct_active = false; + m_ct_drag = false; +} + +void DesignSketchTool::render_cut_gizmo() +{ + if (!m_ct_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const Vec3d right = cam.get_dir_right().normalized(); + const Vec3d up = cam.get_dir_up().normalized(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const ColorRGBA teal(0.20f, 0.80f, 0.75f, 1.0f); + + // ---- Wire rectangle in the cut plane ---- + { + const Vec3d cutpos = m_ct_base + m_ct_offset * m_ct_n; + const SketchPlane saved = m_plane; + SketchPlane rp; rp.origin = cutpos; rp.x_axis = m_ct_u; rp.y_axis = m_ct_v; rp.normal = m_ct_n; + m_plane = rp; + const double h = m_ct_half; + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(-h, -h), Vec2d( h, -h)); + segs.emplace_back(Vec2d( h, -h), Vec2d( h, h)); + segs.emplace_back(Vec2d( h, h), Vec2d(-h, h)); + segs.emplace_back(Vec2d(-h, h), Vec2d(-h, -h)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_ct_rect_model, segs, std::max(0.7 * upp, 1e-4), teal); + m_plane = saved; + } + + // ---- Offset arrow (billboarded, clone of render_shell_gizmo) ---- + { + const double L_sign = (std::abs(m_ct_offset) < 40.0 * upp) + ? std::copysign(40.0 * upp, (m_ct_offset == 0.0 ? 1.0 : m_ct_offset)) + : m_ct_offset; + const Vec3d tipw = m_ct_base + m_ct_n * L_sign; + + const SketchPlane saved = m_plane; + SketchPlane bb; bb.origin = m_ct_base; bb.x_axis = right; bb.y_axis = up; + bb.normal = cam.get_dir_forward().normalized(); + m_plane = bb; + + const Vec2d tip2((tipw - m_ct_base).dot(right), (tipw - m_ct_base).dot(up)); + if (tip2.norm() > 1e-6) { + const Vec2d u = tip2.normalized(); + const Vec2d nrm(-u.y(), u.x()); + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(Vec2d(0, 0), tip2); + const double as = std::max(tip2.norm() * 0.20, th * 0.9); + const Vec2d back = tip2 - u * as; + segs.emplace_back(tip2, back + nrm * (as * 0.5)); + segs.emplace_back(tip2, back - nrm * (as * 0.5)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_ct_stroke_model, segs, std::max(0.7 * upp, 1e-4), teal); + DimAnnot da; da.kind = DimType::Distance; da.value = m_ct_offset; + draw_text(m_line_model, dim_text(da), tip2 + u * (th * 1.4), th, teal); + } + m_plane = saved; + } +} + +bool DesignSketchTool::hit_test_cut_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_ct_active) return false; + const Linef3 r = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = r.a, rd = r.b - r.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double L_sign = (std::abs(m_ct_offset) < 40.0 * upp) + ? std::copysign(40.0 * upp, (m_ct_offset == 0.0 ? 1.0 : m_ct_offset)) + : m_ct_offset; + return ray_segment_dist3(ro, rd, m_ct_base, m_ct_base + m_ct_n * L_sign) <= 12.0 * upp; +} + +void DesignSketchTool::start_cut_drag(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + m_ct_drag = true; + m_ct_grab_val = m_ct_offset; + const double p = hole_axis_proj(canvas, evt, m_ct_base, m_ct_n); + m_ct_grab_proj = std::isnan(p) ? 0.0 : p; +} + +void DesignSketchTool::drag_cut_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const double proj = hole_axis_proj(canvas, evt, m_ct_base, m_ct_n); + if (std::isnan(proj)) return; + m_ct_offset = m_ct_grab_val + (proj - m_ct_grab_proj); + if (m_on_cut_offset_changed) m_on_cut_offset_changed(m_ct_offset); +} + +void DesignSketchTool::set_revolve_gizmo(const SketchPlane& plane, const Vec2d& centroid, + int axis_sel, double angle, bool flip) +{ + const Vec3d ax = (axis_sel == 1 ? plane.y_axis : plane.x_axis).normalized(); + const Vec3d cw = plane.to_world(centroid); + const double axial = (cw - plane.origin).dot(ax); + m_rv_center = plane.origin + axial * ax; // foot of the centroid on the axis line + Vec3d ref = cw - m_rv_center; // perpendicular to ax by construction + double r = ref.norm(); + if (r < 1e-6) { ref = plane.normal.normalized(); r = std::max(plane.normal.norm(), 1.0); } + m_rv_axis = ax; + m_rv_ref = ref / ref.norm(); + m_rv_radius = std::max(r, 1.0); + m_rv_angle = std::min(360.0, std::max(1.0, std::abs(angle))); + m_rv_flip = flip; + if (!m_rv_active) m_rv_drag = false; // re-pushed every preview: keep an in-progress drag + m_rv_active = true; +} + +void DesignSketchTool::clear_revolve_gizmo() +{ + m_rv_active = false; + m_rv_drag = false; +} + +void DesignSketchTool::render_revolve_gizmo() +{ + if (!m_rv_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const Vec3d yax = rv_yaxis(m_rv_axis, m_rv_ref, m_rv_flip); + + // The arc lives in the true revolve plane (NOT billboarded) so the sweep reads in 3D. + const SketchPlane saved = m_plane; + SketchPlane rp; rp.origin = m_rv_center; rp.x_axis = m_rv_ref; rp.y_axis = yax; rp.normal = m_rv_axis; + m_plane = rp; + // Vivid cyan: the revolve ghost is amber, so the arc manipulator must contrast with it + // (it overlaps the solid, unlike the extrude depth-arrow which points away into empty space). + const ColorRGBA arcc(0.15f, 0.92f, 1.0f, 1.0f); + const double r = m_rv_radius; + const double a = m_rv_angle * M_PI / 180.0; + const int N = std::max(8, int(a / (M_PI / 32.0))); // ~ every 5.6° + + std::vector<std::pair<Vec2d, Vec2d>> segs; + Vec2d prev(r, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = a * double(i) / double(N); + const Vec2d cur(r * std::cos(t), r * std::sin(t)); + segs.emplace_back(prev, cur); + prev = cur; + } + const Vec2d tip(r * std::cos(a), r * std::sin(a)); + segs.emplace_back(Vec2d(0, 0), Vec2d(r, 0)); // spoke at angle 0 + segs.emplace_back(Vec2d(0, 0), tip); // spoke at the swept angle (the handle) + // Arrowhead at the tip, pointing along the sweep tangent (-sin,cos) rotated by a. + const Vec2d tang(-std::sin(a), std::cos(a)); + const Vec2d radial = tip.normalized(); + const double as = std::max(r * 0.14, th); + segs.emplace_back(tip, tip - tang * as - radial * (as * 0.5)); + segs.emplace_back(tip, tip - tang * as + radial * (as * 0.5)); + // A diamond grab-handle at the tip so the draggable target is unmistakable. + const double hs = std::max(th * 0.8, r * 0.05); + const Vec2d du = radial * hs, dv = Vec2d(-radial.y(), radial.x()) * hs; + segs.emplace_back(tip + du, tip + dv); + segs.emplace_back(tip + dv, tip - du); + segs.emplace_back(tip - du, tip - dv); + segs.emplace_back(tip - dv, tip + du); + + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_rv_stroke_model, segs, std::max(0.8 * upp, 1e-4), arcc); + DimAnnot da; da.kind = DimType::Angle; da.value = m_rv_angle; + draw_text(m_line_model, dim_text(da), tip * 1.14, th, arcc); + m_plane = saved; +} + +bool DesignSketchTool::hit_test_revolve_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_rv_active) return false; + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const Vec3d yax = rv_yaxis(m_rv_axis, m_rv_ref, m_rv_flip); + const double a = m_rv_angle * M_PI / 180.0; + const double tol = 16.0 * upp; + // Grab anywhere on the whole gizmo (Onshape-style): the arc curve OR either radial spoke. + // Take the nearest ray-to-point distance over a dense sampling. + auto ray_pt = [&](const Vec3d& p) { + const double t = (p - ro).dot(rd) / std::max(rd.dot(rd), 1e-12); + return (p - (ro + t * rd)).norm(); + }; + const Vec3d tip = m_rv_center + m_rv_radius * (std::cos(a) * m_rv_ref + std::sin(a) * yax); + const Vec3d ref = m_rv_center + m_rv_radius * m_rv_ref; // angle-0 spoke end + const int N = 48; + for (int i = 0; i <= N; ++i) { + const double f = double(i) / double(N); + const double th = a * f; + const Vec3d arc = m_rv_center + m_rv_radius * (std::cos(th) * m_rv_ref + std::sin(th) * yax); + if (ray_pt(arc) <= tol) return true; // on the arc curve + if (ray_pt(m_rv_center + f * (tip - m_rv_center)) <= tol) return true; // on the swept spoke + if (ray_pt(m_rv_center + f * (ref - m_rv_center)) <= tol) return true; // on the ref spoke + } + return false; +} + +// Intersect the mouse ray with the revolve plane, read its angle around the center -> sweep angle. +void DesignSketchTool::drag_revolve_arc(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + const double denom = rd.dot(m_rv_axis); + if (std::abs(denom) < 1e-9) return; // ray ∥ revolve plane: leave angle as-is + const double t = (m_rv_center - ro).dot(m_rv_axis) / denom; + const Vec3d p = ro + t * rd; + const Vec3d yax = rv_yaxis(m_rv_axis, m_rv_ref, m_rv_flip); + const double u = (p - m_rv_center).dot(m_rv_ref); + const double v = (p - m_rv_center).dot(yax); + double deg = std::atan2(v, u) * 180.0 / M_PI; + if (deg < 0.0) deg += 360.0; + deg = std::min(360.0, std::max(1.0, deg)); + m_rv_angle = deg; + if (on_revolve_angle_changed) on_revolve_angle_changed(deg); +} + +void DesignSketchTool::open_revolve_editor() +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, m_rv_angle, "", + [this](double v) { + m_rv_angle = std::min(360.0, std::max(1.0, v)); + if (on_revolve_angle_changed) on_revolve_angle_changed(m_rv_angle); + }, + []() {}); +} + +// ---- Pattern gizmo (linear spacing arrow | circular angle-arc) ------------------------------ +// Linear: a 3D arrow along the world march axis with a tick at each copy; the diamond at the end +// drags the spacing. Circular: a Revolve-style arc about the plane normal through the plane origin. +void DesignSketchTool::set_pattern_gizmo(const SketchPlane& plane, const Vec3d& body_centroid, + bool circular, int count, int dir, double spacing, double angle) +{ + m_pt_circular = circular; + m_pt_base = body_centroid; + m_pt_count = std::max(1, count); + m_pt_spacing = std::max(0.01, spacing); + m_pt_angle = std::min(360.0, std::max(1.0, angle)); + m_pt_dirw = (dir == 1 ? plane.y_axis : plane.x_axis).normalized(); + m_pt_origin = plane.origin; + m_pt_normal = plane.normal.normalized(); + // Circular arc center = foot of the body centroid on the rotation axis; ref = perpendicular dir. + const double axial = (body_centroid - plane.origin).dot(m_pt_normal); + m_pt_ccenter = plane.origin + axial * m_pt_normal; + Vec3d ref = body_centroid - m_pt_ccenter; + double r = ref.norm(); + if (r < 1e-6) { ref = m_pt_dirw; r = 1.0; } // body centred on the axis: nominal radius + m_pt_cref = ref / ref.norm(); + m_pt_radius = std::max(r, 1.0); + if (!m_pt_active) m_pt_drag = false; // re-pushed every preview: keep an in-progress drag + m_pt_active = true; +} + +void DesignSketchTool::clear_pattern_gizmo() +{ + m_pt_active = false; + m_pt_drag = false; +} + +// Linear arrow span = spacing*(count-1), at least one step so count=1 still shows a direction. +static double pt_linear_len(double spacing, int count) +{ + return std::max(spacing * double(std::max(1, count) - 1), spacing); +} + +void DesignSketchTool::render_pattern_gizmo() +{ + if (!m_pt_active) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + const double th = std::max(15.0 * upp, 1e-4); + const ColorRGBA col(0.15f, 0.92f, 1.0f, 1.0f); // vivid cyan, matches the gizmo family + const SketchPlane saved = m_plane; + std::vector<std::pair<Vec2d, Vec2d>> segs; + + if (!m_pt_circular) { + // The arrow lives in the true world plane (NOT billboarded) so the march reads in 3D. + const Vec3d perp = m_pt_normal.cross(m_pt_dirw).normalized(); + SketchPlane fp; fp.origin = m_pt_base; fp.x_axis = m_pt_dirw; fp.y_axis = perp; fp.normal = m_pt_normal; + m_plane = fp; + const int copies = std::max(1, m_pt_count); + const double L = pt_linear_len(m_pt_spacing, copies); + segs.emplace_back(Vec2d(0, 0), Vec2d(L, 0)); // shaft + const double as = std::max(L * 0.12, th); // arrowhead + segs.emplace_back(Vec2d(L, 0), Vec2d(L - as, as * 0.5)); + segs.emplace_back(Vec2d(L, 0), Vec2d(L - as, -as * 0.5)); + const double tk = std::max(th, L * 0.05); // copy tick half-height + for (int i = 0; i < copies; ++i) { + const double x = m_pt_spacing * i; + segs.emplace_back(Vec2d(x, -tk), Vec2d(x, tk)); + } + const Vec2d E(L, 0); // diamond grab-handle + const double hs = std::max(th * 0.8, L * 0.04); + segs.emplace_back(E + Vec2d(hs, 0), E + Vec2d(0, hs)); + segs.emplace_back(E + Vec2d(0, hs), E + Vec2d(-hs, 0)); + segs.emplace_back(E + Vec2d(-hs, 0), E + Vec2d(0, -hs)); + segs.emplace_back(E + Vec2d(0, -hs), E + Vec2d(hs, 0)); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_pt_stroke_model, segs, std::max(0.8 * upp, 1e-4), col); + DimAnnot da; da.kind = DimType::Distance; da.value = m_pt_spacing; + draw_text(m_line_model, dim_text(da), Vec2d(m_pt_spacing * 0.5, tk * 1.7), th, col); + m_plane = saved; + return; + } + + // ---- Circular: clone the Revolve arc about the plane normal through the plane origin ---- + const Vec3d yax = m_pt_normal.cross(m_pt_cref).normalized(); + SketchPlane rp; rp.origin = m_pt_ccenter; rp.x_axis = m_pt_cref; rp.y_axis = yax; rp.normal = m_pt_normal; + m_plane = rp; + const double r = m_pt_radius; + const double a = m_pt_angle * M_PI / 180.0; + const int N = std::max(8, int(a / (M_PI / 32.0))); + Vec2d prev(r, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = a * double(i) / double(N); + const Vec2d cur(r * std::cos(t), r * std::sin(t)); + segs.emplace_back(prev, cur); + prev = cur; + } + const Vec2d tip(r * std::cos(a), r * std::sin(a)); + segs.emplace_back(Vec2d(0, 0), Vec2d(r, 0)); // angle-0 spoke + segs.emplace_back(Vec2d(0, 0), tip); // swept spoke (the handle) + const Vec2d tang(-std::sin(a), std::cos(a)); + const Vec2d radial = tip.normalized(); + const double as = std::max(r * 0.14, th); + segs.emplace_back(tip, tip - tang * as - radial * (as * 0.5)); + segs.emplace_back(tip, tip - tang * as + radial * (as * 0.5)); + const double hs = std::max(th * 0.8, r * 0.05); + const Vec2d du = radial * hs, dv = Vec2d(-radial.y(), radial.x()) * hs; + segs.emplace_back(tip + du, tip + dv); + segs.emplace_back(tip + dv, tip - du); + segs.emplace_back(tip - du, tip - dv); + segs.emplace_back(tip - dv, tip + du); + glsafe(::glDisable(GL_DEPTH_TEST)); + draw_strokes(m_pt_stroke_model, segs, std::max(0.8 * upp, 1e-4), col); + DimAnnot da; da.kind = DimType::Angle; da.value = m_pt_angle; + draw_text(m_line_model, dim_text(da), tip * 1.14, th, col); + m_plane = saved; +} + +bool DesignSketchTool::hit_test_pattern_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const +{ + if (!m_pt_active) return false; + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + const Camera& cam = wxGetApp().plater()->get_camera(); + const double upp = 1.0 / std::max(cam.get_zoom(), 1e-6); + auto ray_pt = [&](const Vec3d& p) { + const double t = (p - ro).dot(rd) / std::max(rd.dot(rd), 1e-12); + return (p - (ro + t * rd)).norm(); + }; + if (!m_pt_circular) { + const double tol = 8.0 * upp; + const double L = pt_linear_len(m_pt_spacing, m_pt_count); + return ray_segment_dist3(ro, rd, m_pt_base, m_pt_base + m_pt_dirw * L) <= tol; + } + const double tol = 16.0 * upp; + const Vec3d yax = m_pt_normal.cross(m_pt_cref).normalized(); + const double a = m_pt_angle * M_PI / 180.0; + const Vec3d tip = m_pt_ccenter + m_pt_radius * (std::cos(a) * m_pt_cref + std::sin(a) * yax); + const Vec3d ref = m_pt_ccenter + m_pt_radius * m_pt_cref; + const int N = 48; + for (int i = 0; i <= N; ++i) { + const double f = double(i) / double(N); + const Vec3d arc = m_pt_ccenter + m_pt_radius * (std::cos(a * f) * m_pt_cref + std::sin(a * f) * yax); + if (ray_pt(arc) <= tol) return true; + if (ray_pt(m_pt_ccenter + f * (tip - m_pt_ccenter)) <= tol) return true; + if (ray_pt(m_pt_ccenter + f * (ref - m_pt_ccenter)) <= tol) return true; + } + return false; +} + +void DesignSketchTool::drag_pattern_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) +{ + const Linef3 ray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Vec3d ro = ray.a, rd = ray.b - ray.a; + if (!m_pt_circular) { + // Skew-line closest point of the mouse ray to the march axis -> span -> spacing. + const Vec3d e = m_pt_dirw; + const Vec3d w0 = m_pt_base - ro; + const double a = e.dot(e), b = e.dot(rd), c = rd.dot(rd), dd = e.dot(w0), ee = rd.dot(w0); + const double denom = a * c - b * b; + if (std::abs(denom) < 1e-7) return; // camera ∥ axis: leave spacing as-is + const double span = std::max(0.01, (b * ee - c * dd) / denom); + const int div = std::max(1, m_pt_count - 1); + m_pt_spacing = std::max(0.1, span / double(div)); + if (on_pattern_changed) on_pattern_changed(m_pt_spacing); + return; + } + const double denom = rd.dot(m_pt_normal); + if (std::abs(denom) < 1e-9) return; // ray ∥ rotation plane: leave angle as-is + const double t = (m_pt_ccenter - ro).dot(m_pt_normal) / denom; + const Vec3d p = ro + t * rd; + const Vec3d yax = m_pt_normal.cross(m_pt_cref).normalized(); + double deg = std::atan2((p - m_pt_ccenter).dot(yax), (p - m_pt_ccenter).dot(m_pt_cref)) * 180.0 / M_PI; + if (deg < 0.0) deg += 360.0; + m_pt_angle = std::min(360.0, std::max(1.0, deg)); + if (on_pattern_changed) on_pattern_changed(m_pt_angle); +} + +void DesignSketchTool::open_pattern_editor() +{ + if (!on_inline_edit) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + const double cur = m_pt_circular ? m_pt_angle : m_pt_spacing; + on_inline_edit(px, cur, "", + [this](double v) { + if (m_pt_circular) m_pt_angle = std::min(360.0, std::max(1.0, v)); + else m_pt_spacing = std::max(0.1, v); + if (on_pattern_changed) on_pattern_changed(m_pt_circular ? m_pt_angle : m_pt_spacing); + }, + []() {}); +} + +// Closed loops + the entity indices that form each one. A circle/ellipse is its own loop; +// line/arc chains are walked endpoint-to-endpoint. Entity membership lets a single loop be +// highlighted and extruded on its own. +std::vector<DesignSketchTool::RegionLoop> +DesignSketchTool::region_loops(const std::vector<SketchEntity>& ents) const +{ + std::vector<RegionLoop> regions; + const double eps2 = sketch_join_tol() * sketch_join_tol(); + auto is_near = [&](const Vec2d& a, const Vec2d& b) { return (a - b).squaredNorm() < eps2; }; + + // Circles are self-closed regions; lines/arcs are open segments to be chained. Each + // Seg remembers the entity index it came from. + struct Seg { std::vector<Vec2d> pts; int ent{-1}; bool used{false}; }; + std::vector<Seg> segs; + for (int i = 0; i < int(ents.size()); ++i) { + const SketchEntity& e = ents[i]; + if (e.construction) continue; + bool closed = false; + if (e.type == SketchEntity::Type::Circle || e.type == SketchEntity::Type::Ellipse) { + regions.push_back({ entity_polyline(e, closed), { i } }); + } else if (e.type == SketchEntity::Type::Line || e.type == SketchEntity::Type::Arc + || e.type == SketchEntity::Type::EllipseArc + || e.type == SketchEntity::Type::BSpline) { + std::vector<Vec2d> p = entity_polyline(e, closed); + if (p.size() >= 2) segs.push_back({ std::move(p), i, false }); + } + } + + // Walk each unused segment endpoint-to-endpoint until the chain returns to its + // start (a closed loop) or stalls (an open chain, discarded). + for (size_t s = 0; s < segs.size(); ++s) { + if (segs[s].used) continue; + segs[s].used = true; + std::vector<Vec2d> loop = segs[s].pts; + std::vector<int> loop_ents = { segs[s].ent }; + const Vec2d start = loop.front(); + Vec2d cur = loop.back(); + bool extended = true; + while (extended && !is_near(cur, start)) { + extended = false; + for (size_t t = 0; t < segs.size(); ++t) { + if (segs[t].used) continue; + const std::vector<Vec2d>& q = segs[t].pts; + if (is_near(q.front(), cur)) { + for (size_t k = 1; k < q.size(); ++k) loop.push_back(q[k]); + cur = q.back(); + } else if (is_near(q.back(), cur)) { + for (int k = int(q.size()) - 2; k >= 0; --k) loop.push_back(q[k]); + cur = q.front(); + } else { + continue; + } + segs[t].used = true; + loop_ents.push_back(segs[t].ent); + extended = true; + break; + } + } + if (is_near(cur, start) && loop.size() >= 4) { + loop.pop_back(); // drop the duplicate closing vertex + regions.push_back({ std::move(loop), std::move(loop_ents), {} }); + } + } + + // NESTING. A loop drawn inside another one is that one's HOLE. Without this a sketch is + // just N disjoint filled polygons, so "the plate with the hole" is not expressible and the + // multi-loop kernel path (88v) is unreachable from the viewport — which is exactly + // what Tommaso hit: a rectangle with a circle inside extruded to a plain box, because only + // the rectangle loop could be picked and only its entities were passed on. + // + // Loops in a well-formed sketch do not cross, so testing ONE point decides containment. + // Each loop is assigned to the SMALLEST loop that contains it, which is what makes a hole + // belong to the region that actually bounds it rather than to every enclosing loop. + // + // The point must be STRICTLY INSIDE the loop, not one of its vertices. A vertex is exactly + // where two loops are most likely to touch in a real drawing — a bore breaking out through + // a boss wall, a slot that ends on an outline — and a ray cast from a point that lies ON the + // polygon being tested answers by rounding, so the same drawing can be read either way. + // Measured on the StudyCadCam corpus: the engine and an independent containment check + // disagreed on 6 of 39 sheets, and every disagreement was a probe point sitting on the other + // loop's boundary. 5hvl. + auto poly_area = [](const std::vector<Vec2d>& q) { + double a2 = 0.0; + for (size_t i = 0, j = q.size() - 1; i < q.size(); j = i++) + a2 += (q[j].x() + q[i].x()) * (q[j].y() - q[i].y()); + return std::abs(a2) * 0.5; + }; + auto point_in = [](const Vec2d& pt, const std::vector<Vec2d>& q) { + bool in = false; + for (size_t i = 0, j = q.size() - 1; i < q.size(); j = i++) { + const Vec2d& A = q[i]; const Vec2d& B = q[j]; + if (((A.y() > pt.y()) != (B.y() > pt.y())) && + (pt.x() < (B.x() - A.x()) * (pt.y() - A.y()) / (B.y() - A.y()) + A.x())) + in = !in; + } + return in; + }; + // A point strictly inside a simple polygon: the lowest vertex of a simple polygon is always + // CONVEX, so stepping from it along the bisector of its two edges goes into the interior. + // The step is a small fraction of the shorter adjacent edge, so it stays inside however + // sharp the corner is. + auto interior_point = [](const std::vector<Vec2d>& q) { + size_t k = 0; + for (size_t i = 1; i < q.size(); ++i) + if (q[i].y() < q[k].y() || (q[i].y() == q[k].y() && q[i].x() < q[k].x())) k = i; + const Vec2d& v = q[k]; + Vec2d a = q[(k + q.size() - 1) % q.size()] - v; + Vec2d b = q[(k + 1) % q.size()] - v; + const double la = a.norm(), lb = b.norm(); + if (la < 1e-12 || lb < 1e-12) return v; // degenerate: nothing better to say + a /= la; b /= lb; + Vec2d bis = a + b; + if (bis.norm() < 1e-12) return v; // 180 deg spike: same + bis.normalize(); + return Vec2d(v + bis * (1e-3 * std::min(la, lb))); + }; + std::vector<Vec2d> probe(regions.size()); + for (size_t i = 0; i < regions.size(); ++i) + if (regions[i].poly.size() >= 3) probe[i] = interior_point(regions[i].poly); + else if (!regions[i].poly.empty()) probe[i] = regions[i].poly.front(); + for (size_t i = 0; i < regions.size(); ++i) { + if (regions[i].poly.empty()) continue; + int best = -1; + double best_area = 0.0; + for (size_t j = 0; j < regions.size(); ++j) { + if (i == j || regions[j].poly.size() < 3) continue; + if (!point_in(probe[i], regions[j].poly)) continue; + const double a2 = poly_area(regions[j].poly); + if (best < 0 || a2 < best_area) { best = int(j); best_area = a2; } + } + if (best >= 0) regions[best].holes.push_back(int(i)); + } + return regions; +} + +int DesignSketchTool::region_at(const Vec2d& p) const +{ + // Walk region_loops (which already knows about holes) rather than the raw polygons: the + // returned index must stay meaningful after the sketch is committed, so it has to use the + // SAME numbering selected_loop_entities() and hit_display_sketch consume. + const std::vector<RegionLoop> regions = region_loops(m_entities); + auto inside = [](const Vec2d& q, const std::vector<Vec2d>& poly) { + bool in = false; + for (size_t i = 0, j = poly.size() - 1; i < poly.size(); j = i++) { + const Vec2d& a = poly[i]; + const Vec2d& b = poly[j]; + if (((a.y() > q.y()) != (b.y() > q.y())) && + (q.x() < (b.x() - a.x()) * (q.y() - a.y()) / (b.y() - a.y()) + a.x())) + in = !in; + } + return in; + }; + // Shoelace area (absolute): the SMALLEST loop containing p is the innermost one, which is + // the region that actually owns the point — a bore inside a plate resolves to the disc, and + // a click on the plate material resolves to the plate even though the disc is also inside it. + auto poly_area = [](const std::vector<Vec2d>& q) { + double a2 = 0.0; + for (size_t i = 0, j = q.size() - 1; i < q.size(); j = i++) + a2 += (q[j].x() + q[i].x()) * (q[j].y() - q[i].y()); + return std::abs(a2) * 0.5; + }; + int best = -1; + double best_area = 0.0; + for (size_t i = 0; i < regions.size(); ++i) { + if (regions[i].poly.size() < 3) continue; + if (!inside(p, regions[i].poly)) continue; + bool in_hole = false; // p inside one of this region's holes → that hole owns it, not us + for (int h : regions[i].holes) { + if (h < 0 || h >= int(regions.size()) || regions[h].poly.size() < 3) continue; + if (inside(p, regions[h].poly)) { in_hole = true; break; } + } + if (in_hole) continue; + const double a = poly_area(regions[i].poly); + if (best < 0 || a < best_area) { best = int(i); best_area = a; } + } + return best; +} + +// ---- rendering -------------------------------------------------------------- + +// Chop a polyline into dashes (imlq). Construction geometry is dashed in every CAD; +// this one painted it solid grey, which against the under-constrained orange reads as "another +// line", not as "reference only". The dash and gap arrive in WORLD units — the caller scales them +// by units-per-pixel, so the dash keeps its size on screen at any zoom instead of turning into a +// solid line when you zoom out and into three dashes when you zoom in. +static std::vector<std::vector<Vec2d>> dash_polyline(const std::vector<Vec2d>& pts, bool closed, + double dash, double gap) +{ + std::vector<std::vector<Vec2d>> out; + if (pts.size() < 2 || dash <= 0.0 || gap <= 0.0) return out; + const size_t segs = closed ? pts.size() : pts.size() - 1; + bool on = true; // start on a dash, so a short entity is still visible + double left = dash; // distance remaining in the current dash/gap + std::vector<Vec2d> cur; + if (on) cur.push_back(pts[0]); + for (size_t i = 0; i < segs; ++i) { + const Vec2d a = pts[i], b = pts[(i + 1) % pts.size()]; + double seg = (b - a).norm(); + if (seg < 1e-12) continue; + const Vec2d dir = (b - a) / seg; + double t = 0.0; + while (seg - t > left) { + t += left; + const Vec2d p = a + dir * t; + if (on) { cur.push_back(p); out.push_back(cur); cur.clear(); } + else { cur.clear(); cur.push_back(p); } + on = !on; + left = on ? dash : gap; + } + left -= (seg - t); + if (on) cur.push_back(b); + } + if (on && cur.size() >= 2) out.push_back(cur); + return out; +} + +void DesignSketchTool::draw_quad_strip(GLModel& model, const std::vector<Vec2d>& pts, bool closed, const ColorRGBA& color) +{ + if (pts.size() < 2) + return; + + // Half-width in WORLD units, so a stroke is 2*hw mm wide on the plane. Halved from 0.6 on + // user report 2026-08-23: at 1.2 mm the orange under-constrained line was heavy enough to + // swallow a short segment and to hide which of two near-parallel lines the cursor was on. + // Every one of this function's call sites is a sketch stroke (entities, previews, rubber + // bands), which is why the constant is here and not a parameter at twenty call sites. + const double hw = 0.3; + GLModel::Geometry g; + g.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; + unsigned int base = 0; + + const size_t segs = closed ? pts.size() : pts.size() - 1; + for (size_t i = 0; i < segs; ++i) { + const Vec2d a = pts[i]; + const Vec2d b = pts[(i + 1) % pts.size()]; + const Vec2d d = b - a; + const double len = d.norm(); + if (len < 1e-6) + continue; + const Vec2d n(-d.y() / len, d.x() / len); + const Vec2d o = n * hw; + g.add_vertex((Vec3f)m_plane.to_world(a + o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(b + o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(b - o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(a - o).cast<float>()); + g.add_triangle(base, base + 1, base + 2); + g.add_triangle(base, base + 2, base + 3); + base += 4; + } + + if (base > 0) { + model.reset(); + model.init_from(std::move(g)); + model.set_color(color); + model.render(); + } +} + +namespace { +double poly_signed_area(const std::vector<Vec2d>& p) +{ + double a = 0.0; + for (size_t i = 0, n = p.size(); i < n; ++i) { + const Vec2d& u = p[i]; + const Vec2d& v = p[(i + 1) % n]; + a += u.x() * v.y() - v.x() * u.y(); + } + return 0.5 * a; +} +bool pt_in_tri(const Vec2d& p, const Vec2d& a, const Vec2d& b, const Vec2d& c) +{ + auto cross = [](const Vec2d& u, const Vec2d& v, const Vec2d& w) { + return (v.x() - u.x()) * (w.y() - u.y()) - (v.y() - u.y()) * (w.x() - u.x()); + }; + const double d1 = cross(a, b, p), d2 = cross(b, c, p), d3 = cross(c, a, p); + const bool neg = (d1 < 0) || (d2 < 0) || (d3 < 0); + const bool pos = (d1 > 0) || (d2 > 0) || (d3 > 0); + return !(neg && pos); // inside iff all cross products share a sign +} +// Ear-clipping triangulation of a simple polygon; returns index triples into `poly`. +std::vector<std::array<unsigned, 3>> ear_clip(const std::vector<Vec2d>& poly) +{ + std::vector<std::array<unsigned, 3>> tris; + const size_t n = poly.size(); + if (n < 3) return tris; + std::vector<unsigned> idx(n); + for (unsigned i = 0; i < n; ++i) idx[i] = i; + if (poly_signed_area(poly) < 0.0) std::reverse(idx.begin(), idx.end()); // work CCW + int guard = 0; + while (idx.size() > 3 && guard++ < int(10 * n)) { + bool clipped = false; + const int m = int(idx.size()); + for (int i = 0; i < m; ++i) { + const unsigned i0 = idx[(i + m - 1) % m]; + const unsigned i1 = idx[i]; + const unsigned i2 = idx[(i + 1) % m]; + const Vec2d& a = poly[i0]; const Vec2d& b = poly[i1]; const Vec2d& c = poly[i2]; + const double cr = (b.x() - a.x()) * (c.y() - a.y()) - (b.y() - a.y()) * (c.x() - a.x()); + if (cr <= 0.0) continue; // reflex vertex, not an ear tip + bool ear = true; + for (int j = 0; j < m; ++j) { + const unsigned ij = idx[j]; + if (ij == i0 || ij == i1 || ij == i2) continue; + if (pt_in_tri(poly[ij], a, b, c)) { ear = false; break; } + } + if (!ear) continue; + tris.push_back({ i0, i1, i2 }); + idx.erase(idx.begin() + i); + clipped = true; + break; + } + if (!clipped) break; // degenerate input: bail rather than spin + } + if (idx.size() == 3) tris.push_back({ idx[0], idx[1], idx[2] }); + return tris; +} +} // namespace + +// Fill a region that has holes with an EVEN-ODD SCANLINE fill: each horizontal band is scanned +// across every contour, the crossings sorted, and the spans between alternate crossings emitted +// as quads. A hole is just two more crossings, so any number of holes and any concavity fall out +// of the parity rule — no bridge and no triangulation to fail. +void DesignSketchTool::draw_fill_holed(GLModel& model, const std::vector<Vec2d>& outer, + const std::vector<std::vector<Vec2d>>& holes, + const ColorRGBA& color) +{ + if (outer.size() < 3) return; + if (holes.empty()) { draw_fill(model, outer, color); return; } + + // EVEN-ODD SCANLINE, not a triangulation. The previous version spliced each hole into the + // outer contour through a keyhole corridor and ear-clipped the result; the corridor did not + // collapse to zero width and was drawn as a visible triangle running from the bore to the + // nearest rectangle corner. Rather than tune a bridge that can always find a new shape to + // fail on, this fills the region the way a rasteriser would: for each horizontal band, cross + // EVERY contour, sort the crossings, and fill between alternate pairs. A hole is simply two + // more crossings, so any number of holes and any concavity fall out of the same rule and no + // corridor exists to leak. + std::vector<const std::vector<Vec2d>*> contours; + contours.push_back(&outer); + for (const auto& h : holes) if (h.size() >= 3) contours.push_back(&h); + + double ymin = outer[0].y(), ymax = ymin, xmin = outer[0].x(), xmax = xmin; + for (const auto* c : contours) + for (const Vec2d& v : *c) { + ymin = std::min(ymin, v.y()); ymax = std::max(ymax, v.y()); + xmin = std::min(xmin, v.x()); xmax = std::max(xmax, v.x()); + } + if (ymax - ymin < 1e-9) return; + + // Enough bands that the step is far below a pixel at any sane zoom, cheap enough to rebuild + // every frame: this is a translucent highlight, not geometry. + const int ROWS = 256; + const double dy = (ymax - ymin) / ROWS; + + GLModel::Geometry g; + g.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; + unsigned base = 0; + std::vector<double> xs; + for (int row = 0; row < ROWS; ++row) { + const double y0 = ymin + dy * row, y1 = y0 + dy, ym = 0.5 * (y0 + y1); + xs.clear(); + for (const auto* c : contours) { + const std::vector<Vec2d>& q = *c; + for (size_t i = 0, j = q.size() - 1; i < q.size(); j = i++) { + const Vec2d& A = q[i]; const Vec2d& B = q[j]; + if ((A.y() > ym) == (B.y() > ym)) continue; // edge does not cross this row + xs.push_back(A.x() + (ym - A.y()) * (B.x() - A.x()) / (B.y() - A.y())); + } + } + if (xs.size() < 2) continue; + std::sort(xs.begin(), xs.end()); + for (size_t k = 0; k + 1 < xs.size(); k += 2) { // even-odd: fill alternate spans + const double xa = xs[k], xb = xs[k + 1]; + if (xb - xa < 1e-9) continue; + g.add_vertex((Vec3f)m_plane.to_world(Vec2d(xa, y0)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(Vec2d(xb, y0)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(Vec2d(xb, y1)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(Vec2d(xa, y1)).cast<float>()); + g.add_triangle(base, base + 1, base + 2); + g.add_triangle(base, base + 2, base + 3); + base += 4; + } + } + if (base == 0) return; + model.reset(); + model.init_from(std::move(g)); + model.set_color(color); + model.render(); +} + +void DesignSketchTool::draw_fill(GLModel& model, const std::vector<Vec2d>& poly, const ColorRGBA& color) +{ + if (poly.size() < 3) return; + const auto tris = ear_clip(poly); + if (tris.empty()) return; + GLModel::Geometry g; + g.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; + for (const Vec2d& p : poly) + g.add_vertex((Vec3f)m_plane.to_world(p).cast<float>()); + for (const auto& t : tris) + g.add_triangle(t[0], t[1], t[2]); + model.reset(); + model.init_from(std::move(g)); + model.set_color(color); + model.render(); +} + +void DesignSketchTool::draw_vertices(GLModel& model, const std::vector<Vec2d>& pts, const ColorRGBA& color, + double half_size) +{ + if (pts.empty()) + return; + + const double hs = half_size; + GLModel::Geometry g; + g.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; + unsigned int base = 0; + for (const Vec2d& p : pts) { + g.add_vertex((Vec3f)m_plane.to_world(p + Vec2d(-hs, -hs)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(p + Vec2d( hs, -hs)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(p + Vec2d( hs, hs)).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(p + Vec2d(-hs, hs)).cast<float>()); + g.add_triangle(base, base + 1, base + 2); + g.add_triangle(base, base + 2, base + 3); + base += 4; + } + + model.reset(); + model.init_from(std::move(g)); + model.set_color(color); + model.render(); +} + +// Independent thick-line segments batched into one immediate-mode draw (quote lines, +// extension lines, arrowheads, glyph strokes). Mirrors draw_quad_strip's lift-to-world. +void DesignSketchTool::draw_strokes(GLModel& model, const std::vector<std::pair<Vec2d, Vec2d>>& segs, + double hw, const ColorRGBA& color) +{ + GLModel::Geometry g; + g.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; + unsigned int base = 0; + for (const auto& s : segs) { + const Vec2d a = s.first, b = s.second; + const Vec2d d = b - a; + const double len = d.norm(); + if (len < 1e-6) continue; + const Vec2d n(-d.y() / len, d.x() / len); + const Vec2d o = n * hw; + g.add_vertex((Vec3f)m_plane.to_world(a + o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(b + o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(b - o).cast<float>()); + g.add_vertex((Vec3f)m_plane.to_world(a - o).cast<float>()); + g.add_triangle(base, base + 1, base + 2); + g.add_triangle(base, base + 2, base + 3); + base += 4; + } + if (base > 0) { + model.reset(); + model.init_from(std::move(g)); + model.set_color(color); + model.render(); + } +} + +namespace { +// Smooth single-stroke (Hershey-style) vector font for dimension labels. Glyphs +// live in a 0..0.6 (x) by 0..1 (y) cell, baseline at y=0, cap height y=1; curved +// digits are sampled as short segments so they read as rounded shapes, not blocks. +// `advance` is the pen step after the glyph. +constexpr double kPi = 3.14159265358979323846; +inline double rad(double deg) { return deg * kPi / 180.0; } + +// Connect a list of points as a polyline. +void poly(std::vector<std::pair<Vec2d, Vec2d>>& out, std::initializer_list<Vec2d> p) +{ + auto it = p.begin(); + if (it == p.end()) return; + Vec2d prev = *it++; + for (; it != p.end(); ++it) { out.emplace_back(prev, *it); prev = *it; } +} +// Sample an elliptical arc (centre cx,cy; radii rx,ry) from angle a0..a1. +void arc(std::vector<std::pair<Vec2d, Vec2d>>& out, double cx, double cy, double rx, double ry, + double a0, double a1, int n = 14) +{ + Vec2d prev(cx + rx * std::cos(a0), cy + ry * std::sin(a0)); + for (int i = 1; i <= n; ++i) { + const double t = a0 + (a1 - a0) * (double)i / n; + const Vec2d cur(cx + rx * std::cos(t), cy + ry * std::sin(t)); + out.emplace_back(prev, cur); + prev = cur; + } +} + +void glyph_strokes(char c, std::vector<std::pair<Vec2d, Vec2d>>& out, double& advance) +{ + advance = 0.72; + switch (c) { + case '0': + arc(out, 0.30, 0.50, 0.25, 0.48, 0.0, 2.0 * kPi); + break; + case '1': + poly(out, {Vec2d(0.13, 0.76), Vec2d(0.33, 1.0), Vec2d(0.33, 0.0)}); + poly(out, {Vec2d(0.13, 0.0), Vec2d(0.53, 0.0)}); + advance = 0.52; + break; + case '2': + arc(out, 0.30, 0.72, 0.25, 0.25, rad(170), rad(-45)); + poly(out, {Vec2d(0.477, 0.543), Vec2d(0.06, 0.0), Vec2d(0.56, 0.0)}); + break; + case '3': + arc(out, 0.30, 0.74, 0.24, 0.24, rad(160), rad(-90)); + arc(out, 0.30, 0.26, 0.26, 0.26, rad(90), rad(-160)); + break; + case '4': + poly(out, {Vec2d(0.42, 1.0), Vec2d(0.04, 0.32), Vec2d(0.58, 0.32)}); + poly(out, {Vec2d(0.42, 1.0), Vec2d(0.42, 0.0)}); + break; + case '5': + poly(out, {Vec2d(0.54, 1.0), Vec2d(0.12, 1.0), Vec2d(0.11, 0.52)}); + arc(out, 0.27, 0.30, 0.27, 0.27, rad(130), rad(-120)); + break; + case '6': + arc(out, 0.30, 0.28, 0.26, 0.26, 0.0, 2.0 * kPi); + arc(out, 0.30, 0.55, 0.30, 0.45, rad(90), rad(190)); + break; + case '7': + poly(out, {Vec2d(0.05, 1.0), Vec2d(0.57, 1.0), Vec2d(0.22, 0.0)}); + break; + case '8': + arc(out, 0.30, 0.73, 0.22, 0.25, 0.0, 2.0 * kPi); + arc(out, 0.30, 0.26, 0.26, 0.26, 0.0, 2.0 * kPi); + break; + case '9': + arc(out, 0.30, 0.70, 0.26, 0.26, 0.0, 2.0 * kPi); + arc(out, 0.28, 0.55, 0.28, 0.55, rad(15), rad(-90)); + break; + case '.': + case ',': // locale (LC_NUMERIC) may format the decimal separator as a comma + // small solid dot: crossed short strokes so the quads fill a visible disk + poly(out, {Vec2d(0.10, 0.08), Vec2d(0.24, 0.08)}); + poly(out, {Vec2d(0.17, 0.02), Vec2d(0.17, 0.15)}); + advance = 0.30; + break; + case '-': + poly(out, {Vec2d(0.10, 0.5), Vec2d(0.50, 0.5)}); + advance = 0.62; + break; + case 'R': + poly(out, {Vec2d(0.08, 0.0), Vec2d(0.08, 1.0), Vec2d(0.38, 1.0)}); + arc(out, 0.38, 0.75, 0.17, 0.25, rad(90), rad(-90)); + poly(out, {Vec2d(0.38, 0.50), Vec2d(0.08, 0.50)}); + poly(out, {Vec2d(0.30, 0.50), Vec2d(0.58, 0.0)}); + advance = 0.80; + break; + case 'X': + poly(out, {Vec2d(0.06, 1.0), Vec2d(0.58, 0.0)}); + poly(out, {Vec2d(0.58, 1.0), Vec2d(0.06, 0.0)}); + advance = 0.72; + break; + case 'Y': + poly(out, {Vec2d(0.06, 1.0), Vec2d(0.32, 0.52)}); + poly(out, {Vec2d(0.58, 1.0), Vec2d(0.32, 0.52)}); + poly(out, {Vec2d(0.32, 0.52), Vec2d(0.32, 0.0)}); + advance = 0.72; + break; + case 'Z': + poly(out, {Vec2d(0.06, 1.0), Vec2d(0.58, 1.0), Vec2d(0.06, 0.0), Vec2d(0.58, 0.0)}); + advance = 0.72; + break; + case ' ': + advance = 0.5; + break; + default: + advance = 0.5; + break; + } +} +} // namespace + +void DesignSketchTool::draw_dim_label(const std::string& txt, const Vec2d& plane_center) +{ + if (txt.empty()) return; + const Camera& cam = wxGetApp().plater()->get_camera(); + const wxPoint sp = world_to_screen_px(cam, m_plane.to_world(plane_center)); + if (sp.x < 0 && sp.y < 0) return; + ImGuiWrapper* imgui = wxGetApp().imgui(); + // Identical to the Prepare/Preview Measure gizmo label (GLGizmoMeasure::render_dimensioning): + // push_common_window_style sets the white text colour + font/scale (without it the text is + // invisible); BringWindowToDisplayFront keeps the per-frame label window on top. + ImGuiWrapper::push_common_window_style(m_render_scale); + imgui->set_next_window_pos((float)sp.x, (float)sp.y, ImGuiCond_Always, 0.5f, 0.5f); + imgui->set_next_window_bg_alpha(0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(1.0f, 1.0f)); + const std::string win = "##sketchdim" + std::to_string(m_dim_label_seq++); + imgui->begin(win, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration + | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoFocusOnAppearing + | ImGuiWindowFlags_NoNav); + ImGui::BringWindowToDisplayFront(ImGui::GetCurrentWindow()); + ImGui::AlignTextToFramePadding(); + ImDrawList* dl = ImGui::GetWindowDrawList(); + const ImVec2 pos = ImGui::GetCursorScreenPos(); + const ImVec2 ts = ImGui::CalcTextSize(txt.c_str()); + const ImGuiStyle& st = ImGui::GetStyle(); + dl->AddRectFilled(ImVec2(pos.x - st.FramePadding.x, pos.y + st.FramePadding.y), + ImVec2(pos.x + ts.x + 2.0f * st.FramePadding.x, + pos.y + ts.y + 2.0f * st.FramePadding.y), + ImGuiWrapper::to_ImU32(ColorRGBA(1.0f, 1.0f, 1.0f, 0.5f))); + ImGui::SetCursorScreenPos(ImVec2(pos.x + st.FramePadding.x, pos.y)); + imgui->text(txt); + imgui->end(); + ImGui::PopStyleVar(3); + ImGuiWrapper::pop_common_window_style(); +} + +void DesignSketchTool::draw_text(GLModel& /*model*/, const std::string& s, const Vec2d& center, + double /*height*/, const ColorRGBA& /*color*/) +{ + // ponytail: all sketch labels now render as Measure-gizmo-style ImGui labels for visual + // parity with the Prepare/Preview tabs; the old vector-font path (glyph_strokes/draw_strokes + // for text) is retired. Leader lines/arrows still draw via draw_strokes at the call sites. + draw_dim_label(s, center); +} + +// Draw every placed dimension: extension lines, the offset dimension line, arrowheads +// and the numeric label. Geometry is recomputed from the (solved) entities each frame +// so the quote tracks the sketch. +// Draw one dimension's quote (extension/dimension lines, arrowheads, numeric label). +// Geometry is recomputed from the (solved) entities so the quote tracks the sketch. +// Returns the label centre in out_label; false if the annot references missing/degenerate +// geometry. Shared by placed (render_dimensions) and live (render_live_quotes) quotes. +bool DesignSketchTool::draw_dim_quote(const DimAnnot& a, double th, const ColorRGBA& dimcol, + Vec2d& out_label) +{ + std::vector<std::pair<Vec2d, Vec2d>> segs; + if (a.kind == DimType::Length || a.kind == DimType::Distance) { + Vec2d pa, pb; + if (a.kind == DimType::Length) { + if (a.ea < 0 || a.ea >= int(m_entities.size())) return false; + pa = m_entities[a.ea].p0; pb = m_entities[a.ea].p1; + } else if (!point_at(a.ea, a.ra, pa) || !point_at(a.eb, a.rb, pb)) { + return false; + } + const Vec2d d = pb - pa; + const double L = d.norm(); + if (L < 1e-6) return false; + const Vec2d u = d / L; + const Vec2d nrm(-u.y(), u.x()); + const double side = (a.side != 0.0) ? a.side : 1.0; + const double off = side * std::max(L * 0.18, 8.0); + const Vec2d A2 = pa + nrm * off, B2 = pb + nrm * off; // offset clear of the sketch line + segs.emplace_back(A2, B2); // dimension line (not on the geometry) + const double as = std::max(L * 0.04, 2.0); + auto arrow = [&](const Vec2d& tip, const Vec2d& dir) { + const Vec2d back = tip + dir * as; + segs.emplace_back(tip, back + nrm * (as * 0.5)); + segs.emplace_back(tip, back - nrm * (as * 0.5)); + }; + arrow(A2, u); arrow(B2, -u); + out_label = (A2 + B2) * 0.5 + nrm * (side * (th * 0.7 + 1.5)); + } else if (a.kind == DimType::Diameter || a.kind == DimType::Radius) { + if (a.ea < 0 || a.ea >= int(m_entities.size())) return false; + const SketchEntity& e = m_entities[a.ea]; + const Vec2d c = e.center; + const double r = e.radius; + if (r < 1e-6) return false; + const Vec2d u(1.0, 0.0); + const double as = std::max(r * 0.12, 2.0); + if (a.kind == DimType::Diameter) { + const Vec2d p1 = c - u * r, p2 = c + u * r; + segs.emplace_back(p1, p2); + segs.emplace_back(p1, p1 + u * as + Vec2d(0, 1) * (as * 0.5)); + segs.emplace_back(p1, p1 + u * as - Vec2d(0, 1) * (as * 0.5)); + segs.emplace_back(p2, p2 - u * as + Vec2d(0, 1) * (as * 0.5)); + segs.emplace_back(p2, p2 - u * as - Vec2d(0, 1) * (as * 0.5)); + out_label = c + Vec2d(0, 1) * (th * 0.8); + } else { + const Vec2d p2 = c + u * r; + segs.emplace_back(c, p2); + segs.emplace_back(p2, p2 - u * as + Vec2d(0, 1) * (as * 0.5)); + segs.emplace_back(p2, p2 - u * as - Vec2d(0, 1) * (as * 0.5)); + out_label = (c + p2) * 0.5 + Vec2d(0, 1) * (th * 0.8); + } + } else if (a.kind == DimType::DistanceToLine) { + Vec2d pa; + if (!point_at(a.ea, a.ra, pa) || a.eb < 0 || a.eb >= int(m_entities.size())) return false; + const SketchEntity& Ln = m_entities[a.eb]; + const Vec2d ld = Ln.p1 - Ln.p0; + const double n = ld.norm(); + if (n < 1e-9) return false; + const Vec2d u = ld / n; + const double t = (pa - Ln.p0).dot(u); + const Vec2d foot = Ln.p0 + u * t; // perpendicular foot on the line + segs.emplace_back(pa, foot); + out_label = (pa + foot) * 0.5 + u * (th * 0.7 + 1.5); + } else if (a.kind == DimType::Angle) { + if (a.ea < 0 || a.ea >= int(m_entities.size())) return false; + const SketchEntity& e = m_entities[a.ea]; + if (e.type != SketchEntity::Type::Line) return false; + const Vec2d d = e.p1 - e.p0; + const double L = d.norm(); + if (L < 1e-6) return false; + double ang = std::atan2(d.y(), d.x()); // signed, matches measure_dim sweep + const double rr = std::max(std::min(L * 0.35, 40.0), th * 1.6); // arc radius + segs.emplace_back(e.p0, e.p0 + Vec2d(rr * 1.15, 0.0)); // horizontal reference leg + const int N = 20; // arc 0 -> ang about p0 + Vec2d prev = e.p0 + Vec2d(rr, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = ang * double(i) / N; + const Vec2d cur = e.p0 + Vec2d(rr * std::cos(t), rr * std::sin(t)); + segs.emplace_back(prev, cur); prev = cur; + } + const double mid = ang * 0.5; + out_label = e.p0 + Vec2d(std::cos(mid), std::sin(mid)) * (rr + th * 1.1); + } else { + return false; + } + draw_strokes(m_highlight_model, segs, 0.2, dimcol); + draw_text(m_line_model, dim_text(a), out_label, th, dimcol); + return true; +} + +// Draw every placed (driving) dimension; cache each label centre for picking. +void DesignSketchTool::render_dimensions(double unit_per_px) +{ + if (m_dimensions.empty()) return; + const ColorRGBA dimcol(0.85f, 0.85f, 0.85f, 1.0f); // neutral leader (Measure parity) + // Label text is a CONSTANT screen size (like real CAD), not scaled to geometry, + // so a long line doesn't get huge text. ~15 px tall in plane units at this zoom. + const double th = std::max(15.0 * unit_per_px, 1e-4); + for (size_t di = 0; di < m_dimensions.size(); ++di) { + Vec2d label; + if (draw_dim_quote(m_dimensions[di], th, dimcol, label)) + m_dimensions[di].label_pos = label; + } +} + +// Per-entity-type characteristic dimensions, drawn as live non-driving quotes for the +// entity being edited (point/handle drag, or a lone selection). This is the Onshape +// pattern that scales to every tool: each kind reports its defining dimension(s); each +// is clickable (m_live_quotes) to promote to a driving dim + open the inline editor. +// A dim already driven on the entity is skipped (render_dimensions draws that one). +void DesignSketchTool::render_live_quotes(double unit_per_px) +{ + m_live_quotes.clear(); + m_live_poly_fi = -1; + m_live_poly_side_label = m_live_poly_angle_label = Vec2d(1e18, 1e18); + m_live_arc_ei = -1; + m_live_arc_angle_label = Vec2d(1e18, 1e18); + m_live_ellipse_ei = -1; + m_live_ellipse_major_label = m_live_ellipse_minor_label = Vec2d(1e18, 1e18); + m_live_ellipsearc_sweep_label = Vec2d(1e18, 1e18); + m_live_obrect_fi = -1; + m_live_obrect_angle_label = Vec2d(1e18, 1e18); + m_live_rrect_fi = -1; + m_live_rrect_w_label = m_live_rrect_h_label = m_live_rrect_r_label = Vec2d(1e18, 1e18); + m_live_aslot_fi = -1; + m_live_aslot_r_label = m_live_aslot_w_label = Vec2d(1e18, 1e18); + m_live_slot_fi = -1; + m_live_slot_len_label = m_live_slot_w_label = m_live_slot_angle_label = Vec2d(1e18, 1e18); + // Edit-op tools (Fillet/Chamfer/Offset/Mirror) put their picks in m_selection for the + // highlight, but their own arrow/label gizmo is the value affordance — don't also draw + // the picked entity's characteristic quotes (Length/Angle/…) or the view gets cluttered. + if (is_edit_op_mode() || is_transform_mode()) return; + int ei = -1; + if (m_dragging_point && m_drag_ei >= 0) ei = m_drag_ei; + else if (m_dragging_handle) ei = m_drag_handle.ei; + else if (m_selection.size() == 1) ei = m_selection[0]; + else if (!m_selection.empty()) { + // A GROUPED FEATURE SELECTS EVERY MEMBER, so "exactly one entity" hid the characteristic + // quotes for precisely the shapes that have nothing else. A rounded rectangle is eight + // entities — four lines and four arcs — so picking it makes m_selection.size() == 8, this + // pass returned here, and its Width / Height / Radius labels were never drawn. With no + // label on screen there is nothing to click, which is the whole of "cannot edit labels in + // rounded rectangles": not a value that refuses to change, a label that does not exist. + // + // A plain rectangle looked fine only by accident: typing into its auto-edit chain creates + // a DRIVEN dimension, and render_dimensions draws that one from the annotation list. The + // rounded rect's W/H/R go through set_rounded_rect, which rebuilds the geometry and leaves + // no annotation behind — so the live label was the only affordance it ever had. + // + // Accept a selection that is entirely ONE feature and let any member speak for it; the + // switch below already keys off feature_of(ei) rather than the entity itself. + const int f0 = feature_of(m_selection.front()); + if (f0 >= 0) { + bool same_feature = true; + for (int s : m_selection) + if (feature_of(s) != f0) { same_feature = false; break; } + if (same_feature) ei = m_selection.front(); + } + } + if (ei < 0 || ei >= int(m_entities.size())) return; + const SketchEntity& e = m_entities[ei]; + + std::vector<DimAnnot> protos; + auto add_len = [&](int line_ei, double side) { + if (line_ei < 0 || line_ei >= int(m_entities.size())) return; + if (m_entities[line_ei].type != SketchEntity::Type::Line) return; + DimAnnot a; a.kind = DimType::Length; a.ea = line_ei; a.side = side; protos.push_back(a); + }; + + // A grouped gesture (rect/slot/polygon decomposes into raw lines/arcs) exposes its + // DERIVED characteristic dims off the Feature span, regardless of which member edge + // was picked. Rect: Width = first edge length, Height = second edge length (the two + // axes of the 4-line loop pushed by push_closed_lines: edge0 horizontal, edge1 + // vertical). Quotes offset to opposite sides so they don't overlap. + const int fi = feature_of(ei); + if (fi >= 0) { + const Feature& f = m_features[fi]; + switch (f.kind) { + case FeatureKind::CornerRect: + case FeatureKind::CenterRect: { + add_len(f.begin + 0, 1.0); // Width + add_len(f.begin + 1, -1.0); // Height + // OBLIQUE rect (drawn off-axis, also a CornerRect feature): expose its orientation + // too. Gated to genuinely-tilted edges so an axis-aligned Corner/Center rect never + // gets an angle quote (and its verified W/H behaviour is untouched). + if (f.begin >= 0 && f.begin < int(m_entities.size())) { + const SketchEntity& e0 = m_entities[f.begin]; + Vec2d d0 = e0.p1 - e0.p0; + if (d0.squaredNorm() > 1e-12) { + double deg = std::atan2(d0.y(), d0.x()) * 180.0 / M_PI; + const double off = std::fmod(std::fmod(deg, 90.0) + 90.0, 90.0); // dist to axis + if (off > 2.0 && off < 88.0) { + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + double adeg = deg; if (adeg < 0.0) adeg += 360.0; + const Vec2d mid = 0.5 * (e0.p0 + e0.p1); + Vec2d nrm(-d0.y(), d0.x()); if (nrm.squaredNorm() > 1e-12) nrm.normalize(); + m_live_obrect_angle_label = mid + nrm * (th * 1.4); + DimAnnot at; at.kind = DimType::Angle; at.value = adeg; + draw_text(m_line_model, dim_text(at), m_live_obrect_angle_label, th, dc); + m_live_obrect_fi = fi; + } + } + } + break; + } + case FeatureKind::Slot: { + // Straight slot edits GEOMETRICALLY (like the arc-slot / rounded-rect), NOT through + // the constraint-based scalar quotes. Its dims are the centreline LENGTH (distance + // between the two cap centres c0,c1) and the WIDTH (2*param). The old + // Distance-between-arc-centres + Radius quotes never registered as editable, so the + // labels did nothing on click (nde #6). Draw both labels clear of the fillable face + // and remember the feature so open_primary_autoedit / click-to-promote drive set_slot. + // Slot dims: (1) inter-centre distance, (2) radius (= half-width), (3) centreline angle. + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + Vec2d u = f.c1 - f.c0; + const double Lc = u.norm(); + if (Lc > 1e-9) { + u /= Lc; + const Vec2d n(-u.y(), u.x()); + const double w = f.param; + DimAnnot len; len.kind = DimType::Length; len.value = Lc; + m_live_slot_len_label = 0.5 * (f.c0 + f.c1) + n * (w + th * 2.0); + draw_text(m_line_model, dim_text(len), m_live_slot_len_label, th, dc); + DimAnnot rd; rd.kind = DimType::Radius; rd.value = w; + m_live_slot_w_label = f.c1 + u * (w + th * 2.0); + draw_text(m_line_model, dim_text(rd), m_live_slot_w_label, th, dc); + double deg = std::atan2(f.c1.y() - f.c0.y(), f.c1.x() - f.c0.x()) * 180.0 / M_PI; + if (deg < 0.0) deg += 360.0; + DimAnnot an; an.kind = DimType::Angle; an.value = deg; + m_live_slot_angle_label = f.c0 - u * (w + th * 2.0); + draw_text(m_line_model, dim_text(an), m_live_slot_angle_label, th, dc); + m_live_slot_fi = fi; + } + break; + } + case FeatureKind::Polygon: { + // A regular polygon is N raw lines (no centre entity). Its natural editable + // dims are the SIDE length and the ORIENTATION — NOT a circumradius (a polygon + // is not a circle). Both edit the whole loop geometrically: side scales it + // uniformly, angle rotates it. Drawn off edge0 with draw_dim_quote (Length + + // Angle); the side quote is offset OUTWARD so its label clears the face. + if (f.begin < int(m_entities.size()) && + m_entities[f.begin].type == SketchEntity::Type::Line) { + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const SketchEntity& e0 = m_entities[f.begin]; + const Vec2d m0 = 0.5 * (e0.p0 + e0.p1); + Vec2d u0 = e0.p1 - e0.p0; + if (u0.squaredNorm() > 1e-12) u0.normalize(); + const Vec2d n0(-u0.y(), u0.x()); + const double outsign = ((m0 + n0) - f.c0).norm() >= (m0 - f.c0).norm() ? 1.0 : -1.0; + DimAnnot side; side.kind = DimType::Length; side.ea = f.begin; side.side = outsign; + side.value = measure_dim(side); + Vec2d slbl; + if (draw_dim_quote(side, th, dc, slbl)) m_live_poly_side_label = slbl; + + // Orientation = the angle of the centre->vertex0 spoke from +X (the + // intuitive "which way does the polygon point"), NOT the edge direction. + // Drawn as a wedge OUTSIDE the polygon (radius just past the circumradius) + // so its arc/label clear the fillable face. + const Vec2d sp = m_entities[f.begin].p0 - f.c0; // centre -> vertex0 + const double R = sp.norm(); + if (R > 1e-6) { + double av = std::atan2(sp.y(), sp.x()); + double avdeg = av * 180.0 / M_PI; if (avdeg < 0.0) avdeg += 360.0; + const double rr = R + th * 2.5; // wedge just outside the loop + std::vector<std::pair<Vec2d, Vec2d>> asegs; + asegs.emplace_back(f.c0, f.c0 + Vec2d(rr, 0.0)); // +X leg + asegs.emplace_back(f.c0, f.c0 + Vec2d(std::cos(av), std::sin(av)) * rr); // spoke leg + const int N = 20; Vec2d prev = f.c0 + Vec2d(rr, 0.0); + for (int i = 1; i <= N; ++i) { + const double t = av * double(i) / N; + const Vec2d cur = f.c0 + Vec2d(rr * std::cos(t), rr * std::sin(t)); + asegs.emplace_back(prev, cur); prev = cur; + } + const double mid = av * 0.5; + const Vec2d albl = f.c0 + Vec2d(std::cos(mid), std::sin(mid)) * (rr + th * 1.2); + DimAnnot at; at.kind = DimType::Angle; at.value = avdeg; // "NN.N°" + draw_strokes(m_highlight_model, asegs, 0.6, dc); + draw_text(m_line_model, dim_text(at), albl, th, dc); + m_live_poly_angle_label = albl; + } + m_live_poly_fi = fi; + } + break; + } + case FeatureKind::RoundedRect: { + // Width + Height (box bounds) + fillet Radius, drawn as clickable quotes that + // rebuild the box geometrically (set_rounded_rect). c0=min corner, c1=max, param=r. + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const double xmin = std::min(f.c0.x(), f.c1.x()), xmax = std::max(f.c0.x(), f.c1.x()); + const double ymin = std::min(f.c0.y(), f.c1.y()), ymax = std::max(f.c0.y(), f.c1.y()); + const double w = xmax - xmin, h = ymax - ymin, r = f.param; + const double off = th * 2.0; + std::vector<std::pair<Vec2d, Vec2d>> segs; + // Width quote below the box. + const double yb = ymin - off; + segs.emplace_back(Vec2d(xmin, ymin), Vec2d(xmin, yb)); + segs.emplace_back(Vec2d(xmax, ymin), Vec2d(xmax, yb)); + segs.emplace_back(Vec2d(xmin, yb), Vec2d(xmax, yb)); + // Height quote left of the box. + const double xl = xmin - off; + segs.emplace_back(Vec2d(xmin, ymin), Vec2d(xl, ymin)); + segs.emplace_back(Vec2d(xmin, ymax), Vec2d(xl, ymax)); + segs.emplace_back(Vec2d(xl, ymin), Vec2d(xl, ymax)); + // Fillet-radius leader from the TR arc centre out to the corner. + const Vec2d rc(xmax - r, ymax - r); + segs.emplace_back(rc, rc + Vec2d(r, r).normalized() * r); + draw_strokes(m_highlight_model, segs, 0.6, dc); + DimAnnot wa; wa.kind = DimType::Length; wa.value = w; + DimAnnot ha; ha.kind = DimType::Length; ha.value = h; + DimAnnot ra; ra.kind = DimType::Radius; ra.value = r; + m_live_rrect_w_label = Vec2d((xmin + xmax) * 0.5, yb - th * 0.8); + m_live_rrect_h_label = Vec2d(xl - th * 0.8, (ymin + ymax) * 0.5); + m_live_rrect_r_label = rc + Vec2d(r, r).normalized() * (r + th * 1.2); + draw_text(m_line_model, dim_text(wa), m_live_rrect_w_label, th, dc); + draw_text(m_line_model, dim_text(ha), m_live_rrect_h_label, th, dc); + draw_text(m_line_model, dim_text(ra), m_live_rrect_r_label, th, dc); + m_live_rrect_fi = fi; + break; + } + case FeatureKind::ArcSlot: { + // Centreline Radius + slot Width quotes. centre=f.c0, centreline start=f.c1, + // half-width=f.param; end direction from the cap@E arc centre (begin+1). + if (f.begin + 1 < int(m_entities.size())) { + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const Vec2d center = f.c0; + const double Rc = (f.c1 - center).norm(); + const double w = f.param; + Vec2d dirS = (f.c1 - center); + Vec2d dirE = (m_entities[f.begin + 1].center - center); + if (dirS.squaredNorm() > 1e-12 && dirE.squaredNorm() > 1e-12 && Rc > 1e-6) { + dirS.normalize(); dirE.normalize(); + const double aS = std::atan2(dirS.y(), dirS.x()); + double sweep = std::atan2(dirE.y(), dirE.x()) - aS; + while (sweep < 0) sweep += 2.0 * M_PI; + const double aMid = aS + sweep * 0.5; + const Vec2d uMid(std::cos(aMid), std::sin(aMid)); + // Centreline-radius leader: centre -> centreline midpoint. + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(center, center + uMid * Rc); + // Width tick across the slot at the start cap (outer<->inner). + segs.emplace_back(center + dirS * (Rc + w), center + dirS * (Rc - w)); + draw_strokes(m_highlight_model, segs, 0.6, dc); + DimAnnot ra; ra.kind = DimType::Radius; ra.value = Rc; + DimAnnot wa; wa.kind = DimType::Length; wa.value = 2.0 * w; + m_live_aslot_r_label = center + uMid * (Rc * 0.5) + Vec2d(0, th); + m_live_aslot_w_label = center + dirS * (Rc + w) + dirS * (th * 1.2); + draw_text(m_line_model, dim_text(ra), m_live_aslot_r_label, th, dc); + draw_text(m_line_model, dim_text(wa), m_live_aslot_w_label, th, dc); + m_live_aslot_fi = fi; + } + } + break; + } + default: break; // other features: later chunks + } + } + + if (protos.empty() && m_live_poly_fi < 0 && m_live_rrect_fi < 0 && + m_live_aslot_fi < 0 && m_live_slot_fi < 0) { // ungrouped single entity + switch (e.type) { + case SketchEntity::Type::Line: { + DimAnnot len; len.kind = DimType::Length; len.ea = ei; len.side = 1.0; protos.push_back(len); + DimAnnot ang; ang.kind = DimType::Angle; ang.ea = ei; ang.eb = -1; protos.push_back(ang); + break; // segment length + angle-to-horizontal + } + case SketchEntity::Type::Circle: { + DimAnnot a; a.kind = DimType::Radius; a.ea = ei; protos.push_back(a); break; + } + case SketchEntity::Type::Arc: { + // Arc radius is its single defining dimension (sweep angles edit via the end + // handles). radius lives in the same .radius field measure_dim/constraint_for + // read, so the Radius promotion path is identical to Circle. + DimAnnot a; a.kind = DimType::Radius; a.ea = ei; protos.push_back(a); break; + } + default: break; // ellipse/bspline: later + } + } + + // Arc sweep-angle wedge: drawn inline (like the polygon orientation) because it is a + // GEOMETRIC edit (SLVS angle constraints are line-to-line). A wedge spans the arc's + // start->end angles just OUTSIDE the radius; its label shows the included angle and is + // clickable to type a new sweep. The radius quote is still emitted via `protos`. + if (m_live_poly_fi < 0 && m_live_rrect_fi < 0 && m_live_aslot_fi < 0 && m_live_slot_fi < 0 && + e.type == SketchEntity::Type::Arc && e.radius > 1e-6) { + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const Vec2d c = e.center; + const double a0 = e.start_angle, a1 = e.end_angle; + const double sweep = a1 - a0; // signed (CCW>0); |sweep| shown + double swdeg = std::abs(sweep) * 180.0 / M_PI; + const double rr = e.radius + th * 2.5; // wedge just outside the arc + std::vector<std::pair<Vec2d, Vec2d>> asegs; + asegs.emplace_back(c, c + Vec2d(std::cos(a0), std::sin(a0)) * rr); // start leg + asegs.emplace_back(c, c + Vec2d(std::cos(a1), std::sin(a1)) * rr); // end leg + const int N = 24; Vec2d prev = c + Vec2d(std::cos(a0), std::sin(a0)) * rr; + for (int i = 1; i <= N; ++i) { + const double t = a0 + sweep * double(i) / N; + const Vec2d cur = c + Vec2d(rr * std::cos(t), rr * std::sin(t)); + asegs.emplace_back(prev, cur); prev = cur; + } + const double mid = a0 + sweep * 0.5; + const Vec2d albl = c + Vec2d(std::cos(mid), std::sin(mid)) * (rr + th * 1.2); + DimAnnot at; at.kind = DimType::Angle; at.value = swdeg; // "NN.N°" + draw_strokes(m_highlight_model, asegs, 0.6, dc); + draw_text(m_line_model, dim_text(at), albl, th, dc); + m_live_arc_angle_label = albl; + m_live_arc_ei = ei; + } + + // Ellipse: two clickable axis quotes — semi-major (a) along the major direction and + // semi-minor (b) along the minor. Both edit geometrically (a=e.radius, b=e.rminor); + // phi (orientation) is changed by dragging the major grip, not via a label. + if (m_live_poly_fi < 0 && m_live_rrect_fi < 0 && + (e.type == SketchEntity::Type::Ellipse || e.type == SketchEntity::Type::EllipseArc) && + e.radius > 1e-6 && e.rminor > 1e-6) { + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const Vec2d c = e.center; + const Vec2d um(std::cos(e.rotation), std::sin(e.rotation)); // major dir + const Vec2d un(-um.y(), um.x()); // minor dir + std::vector<std::pair<Vec2d, Vec2d>> segs; + const Vec2d majEnd = c + um * e.radius, minEnd = c + un * e.rminor; + segs.emplace_back(c, majEnd); + segs.emplace_back(c, minEnd); + draw_strokes(m_highlight_model, segs, 0.6, dc); + DimAnnot ma; ma.kind = DimType::Length; ma.value = e.radius; // plain "NN.N" + DimAnnot mi; mi.kind = DimType::Length; mi.value = e.rminor; + const Vec2d majLbl = c + um * (e.radius * 0.5) + un * (th * 1.0); + const Vec2d minLbl = c + un * (e.rminor * 0.5) + um * (th * 1.0); + draw_text(m_line_model, dim_text(ma), majLbl, th, dc); + draw_text(m_line_model, dim_text(mi), minLbl, th, dc); + m_live_ellipse_major_label = majLbl; + m_live_ellipse_minor_label = minLbl; + m_live_ellipse_ei = ei; + // Elliptical arc also has a SWEEP (included parametric angle), drawn outside the arc + // midpoint; the full ellipse skips this (closed). + if (e.type == SketchEntity::Type::EllipseArc) { + const double midp = 0.5 * (e.start_angle + e.end_angle); + const Vec2d mp = ellipse_point(c, e.radius, e.rminor, e.rotation, midp); + Vec2d outw = mp - c; if (outw.squaredNorm() > 1e-12) outw.normalize(); + m_live_ellipsearc_sweep_label = mp + outw * (th * 1.5); + DimAnnot sw; sw.kind = DimType::Angle; + sw.value = std::abs(e.end_angle - e.start_angle) * 180.0 / M_PI; + draw_text(m_line_model, dim_text(sw), m_live_ellipsearc_sweep_label, th, dc); + } + } + + if (protos.empty()) return; + + const ColorRGBA dimcol(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + for (DimAnnot a : protos) { + bool driven = false; // skip if already a driving dim of this kind + for (const DimAnnot& d : m_dimensions) + if (d.ea == a.ea && d.kind == a.kind) { driven = true; break; } + if (driven) continue; + a.value = measure_dim(a); + Vec2d label; + if (draw_dim_quote(a, th, dimcol, label)) { + a.label_pos = label; + m_live_quotes.push_back(a); // remember for click-to-promote + } + } +} + +// Iconic constraint badges drawn near each constraint's primary entity (C3.4b). +// Each glyph is authored in a unit cell [-0.5,0.5]^2 then scaled to a constant +// on-screen size and translated to the anchor; badges on the same entity stack +// upward so multiple constraints stay legible. +void DesignSketchTool::build_constraint_glyphs(double unit_per_px, + const std::vector<SketchEntityConstraintDef>& cons, + std::vector<std::pair<Vec2d, Vec2d>>& out) +{ + m_glyph_hits.clear(); + if (cons.empty() || m_entities.empty()) return; + using T = SketchConstraintType; + const double s = std::max(11.0 * unit_per_px, 1e-4); // glyph cell size in plane units + const double step = s * 1.5; // vertical stacking step + + // Representative anchor point on an entity (line midpoint, round-entity centre). + auto anchor_of = [&](int ei) -> Vec2d { + if (ei < 0 || ei >= int(m_entities.size())) return Vec2d(0, 0); + const SketchEntity& e = m_entities[ei]; + switch (e.type) { + case SketchEntity::Type::Line: return 0.5 * (e.p0 + e.p1); + case SketchEntity::Type::Circle: + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: return e.center; + case SketchEntity::Type::BSpline: return 0.5 * (e.p0 + e.p1); + case SketchEntity::Type::Point: return e.p0; + } + return e.p0; + }; + + // Unit-cell stroke authoring helpers (cell centred on origin). + auto seg = [&](std::vector<std::pair<Vec2d, Vec2d>>& v, Vec2d a, Vec2d b) { v.emplace_back(a, b); }; + auto circ = [&](std::vector<std::pair<Vec2d, Vec2d>>& v, Vec2d c, double r) { + const int n = 12; Vec2d prev(c.x() + r, c.y()); + for (int i = 1; i <= n; ++i) { + const double t = 2.0 * 3.14159265358979 * i / n; + Vec2d cur(c.x() + r * std::cos(t), c.y() + r * std::sin(t)); + v.emplace_back(prev, cur); prev = cur; + } + }; + // Author one glyph type into a unit-cell stroke list. + auto unit_glyph = [&](T type, std::vector<std::pair<Vec2d, Vec2d>>& v) { + switch (type) { + case T::Horizontal: seg(v, {-0.5, 0}, {0.5, 0}); break; + case T::Vertical: seg(v, {0, -0.5}, {0, 0.5}); break; + case T::Parallel: seg(v, {-0.35, -0.5}, {0.0, 0.5}); seg(v, {0.05, -0.5}, {0.4, 0.5}); break; + case T::Perpendicular: seg(v, {-0.4, 0.5}, {-0.4, -0.4}); seg(v, {-0.4, -0.4}, {0.5, -0.4}); break; + case T::Coincident: circ(v, {0, 0}, 0.42); break; + case T::Concentric: circ(v, {0, 0}, 0.5); circ(v, {0, 0}, 0.24); break; + case T::EqualLength:seg(v, {-0.4, 0.16}, {0.4, 0.16}); seg(v, {-0.4, -0.16}, {0.4, -0.16}); break; + case T::Tangent: circ(v, {0, -0.1}, 0.35); seg(v, {-0.5, 0.42}, {0.5, 0.42}); break; + case T::Midpoint: seg(v, {-0.4, 0}, {0.4, 0}); seg(v, {0, -0.18}, {0, 0.18}); break; + case T::Symmetric: seg(v, {0, -0.5}, {0, 0.5}); + seg(v, {-0.5, 0.4}, {-0.15, 0}); seg(v, {-0.5, -0.4}, {-0.15, 0}); + seg(v, {0.5, 0.4}, {0.15, 0}); seg(v, {0.5, -0.4}, {0.15, 0}); break; + case T::Fix: seg(v, {-0.4, -0.4}, {0.4, -0.4}); seg(v, {0.4, -0.4}, {0.4, 0.4}); + seg(v, {0.4, 0.4}, {-0.4, 0.4}); seg(v, {-0.4, 0.4}, {-0.4, -0.4}); break; + case T::Angle: seg(v, {-0.4, -0.4}, {0.4, -0.4}); seg(v, {-0.4, -0.4}, {0.3, 0.4}); break; + case T::Radius: circ(v, {0, 0}, 0.45); seg(v, {0, 0}, {0.45, 0}); break; + case T::Diameter: circ(v, {0, 0}, 0.45); seg(v, {-0.45, 0}, {0.45, 0}); break; + case T::PointOnLine: + case T::PointOnObject: seg(v, {-0.5, -0.3}, {0.5, -0.3}); circ(v, {0, 0.05}, 0.16); break; + case T::Distance: + case T::LockX: + case T::LockY: seg(v, {-0.4, 0}, {0.4, 0}); break; // generic tick + } + }; + + // Stack count per entity so successive badges step upward. + std::vector<int> stack(m_entities.size(), 0); + const Vec2d up(0.0, 1.0); // plane-space up; offset so badge sits off the geometry + m_glyph_r = 0.6 * s; + for (size_t ci = 0; ci < cons.size(); ++ci) { + const SketchEntityConstraintDef& d = cons[ci]; + if (d.ea < 0 || d.ea >= int(m_entities.size())) continue; + const int k = stack[d.ea]++; + const Vec2d center = anchor_of(d.ea) + up * (step * (1.0 + k)); + m_glyph_hits.push_back({center, int(ci)}); + std::vector<std::pair<Vec2d, Vec2d>> cell; + unit_glyph(d.type, cell); + for (auto& sgp : cell) + out.emplace_back(center + sgp.first * s, center + sgp.second * s); + } +} + +void DesignSketchTool::draw_entities_preview(const std::vector<SketchEntity>& ents, const ColorRGBA& color) +{ + std::vector<Vec2d> point_markers; + for (const SketchEntity& e : ents) { + // A Point has no polyline (entity_polyline returns nothing), so the strip path below + // cannot draw it; render it as a vertex marker, the same way the live session does. + if (e.type == SketchEntity::Type::Point) { point_markers.push_back(e.p0); continue; } + bool closed = false; + std::vector<Vec2d> poly = entity_polyline(e, closed); + draw_quad_strip(m_highlight_model, poly, closed, color); + } + if (!point_markers.empty()) + draw_vertices(m_highlight_model, point_markers, color); +} + +// ---- In-canvas edit-op gizmo (Fillet/Chamfer/Offset/Mirror toolbar tools) ---------- +// These tools replace the docked numeric card. They operate on the LIVE session's +// m_entities/m_constraints, so they work both while drawing and after begin_edit re-opens +// a committed sketch. The SketchEngine op (context-free) is reused verbatim; the +// constraint binding is ported from DesignPanel::apply_entity_constraint into m_constraints +// via try_add_constraints (append→solve→keep / rollback). + +void DesignSketchTool::reset_op() +{ + m_op_a = m_op_b = -1; + m_op_value = 0.0; + m_op_anchor = Vec2d(0, 0); + m_op_dir = Vec2d(0, 0); + m_op_label = Vec2d(1e18, 1e18); + m_op_ghost.clear(); + m_op_dragging_arrow = false; + m_mirror_targets.clear(); +} + +// ---- Imported-art bounding-box transform gizmo (Mode::TransformArt) ---- + +void DesignSketchTool::reset_xform() +{ + m_xform_base.clear(); + m_xform_feat = -1; + m_xform_handle = -1; + m_xform_offset = Vec2d(0, 0); + m_xform_sx = m_xform_sy = 1.0; + m_xform_min = m_xform_max = Vec2d(0, 0); +} + +void DesignSketchTool::begin_imported_transform( + int feat, const std::vector<std::vector<std::vector<Vec2d>>>& base_regions, + const SketchPlane& plane, const Vec2d& offset, double sx, double sy) +{ + cancel(); // drop any prior session, clears state + m_plane = plane; + m_mode = Mode::TransformArt; + m_xform_base = base_regions; + m_xform_feat = feat; + m_xform_offset = offset; + m_xform_sx = (std::abs(sx) > 1e-6) ? sx : 1.0; + m_xform_sy = (std::abs(sy) > 1e-6) ? sy : 1.0; + m_xform_handle = -1; + Vec2d mn(1e30, 1e30), mx(-1e30, -1e30); + for (const auto& region : m_xform_base) + for (const auto& contour : region) + for (const Vec2d& p : contour) { + mn.x() = std::min(mn.x(), p.x()); mn.y() = std::min(mn.y(), p.y()); + mx.x() = std::max(mx.x(), p.x()); mx.y() = std::max(mx.y(), p.y()); + } + if (mx.x() < mn.x()) { mn = Vec2d(0, 0); mx = Vec2d(0, 0); } + m_xform_min = mn; m_xform_max = mx; + m_active = true; + m_has_cursor = false; +} + +// 4 bbox corners in plane coords: 0=min/min, 1=max/min, 2=max/max, 3=min/max. The art +// transform is world = base*scale + offset (CadFeature import convention). +void DesignSketchTool::xform_world_corners(Vec2d out[4]) const +{ + const double x0 = m_xform_min.x() * m_xform_sx + m_xform_offset.x(); + const double x1 = m_xform_max.x() * m_xform_sx + m_xform_offset.x(); + const double y0 = m_xform_min.y() * m_xform_sy + m_xform_offset.y(); + const double y1 = m_xform_max.y() * m_xform_sy + m_xform_offset.y(); + out[0] = Vec2d(x0, y0); out[1] = Vec2d(x1, y0); + out[2] = Vec2d(x1, y1); out[3] = Vec2d(x0, y1); +} + +int DesignSketchTool::hit_test_xform_handle(const Vec2d& p, double tol) const +{ + Vec2d c[4]; xform_world_corners(c); + int best = -1; double bd = tol; + for (int i = 0; i < 4; ++i) { const double d = (c[i] - p).norm(); if (d < bd) { bd = d; best = i; } } + if (best >= 0) return best; + if ((0.5 * (c[0] + c[2]) - p).norm() <= tol) return 4; // centre move-handle + return -1; +} + +void DesignSketchTool::drag_xform_handle(const Vec2d& target) +{ + if (m_xform_handle < 0) return; + if (m_xform_handle == 4) { // centre move: translate by cursor delta + m_xform_offset += (target - m_xform_anchor); + m_xform_anchor = target; + emit_xform(); + return; + } + // Corner scale: hold the opposite corner (fixed world anchor O), send the grabbed + // corner to the cursor. base coords of grabbed (bg) and opposite (ba) corners. + auto base_corner = [&](int i) { + return Vec2d((i == 1 || i == 2) ? m_xform_max.x() : m_xform_min.x(), + (i == 2 || i == 3) ? m_xform_max.y() : m_xform_min.y()); + }; + const int h = m_xform_handle; + const Vec2d bg = base_corner(h); + const Vec2d ba = base_corner((h + 2) % 4); + const Vec2d O = m_xform_anchor; + const double dbx = bg.x() - ba.x(), dby = bg.y() - ba.y(); + if (std::abs(dbx) > 1e-9) { + double nsx = (target.x() - O.x()) / dbx; + if (std::abs(nsx) < 1e-4) nsx = (nsx < 0 ? -1e-4 : 1e-4); + m_xform_sx = nsx; + m_xform_offset.x() = O.x() - ba.x() * nsx; + } + if (std::abs(dby) > 1e-9) { + double nsy = (target.y() - O.y()) / dby; + if (std::abs(nsy) < 1e-4) nsy = (nsy < 0 ? -1e-4 : 1e-4); + m_xform_sy = nsy; + m_xform_offset.y() = O.y() - ba.y() * nsy; + } + emit_xform(); +} + +void DesignSketchTool::emit_xform() +{ + if (on_imported_transform) + on_imported_transform(m_xform_feat, m_xform_offset, m_xform_sx, m_xform_sy); +} + +void DesignSketchTool::render_xform_gizmo() +{ + if (m_mode != Mode::TransformArt) return; + Vec2d c[4]; xform_world_corners(c); + const ColorRGBA box(0.30f, 0.88f, 0.66f, 1.0f); + std::vector<std::pair<Vec2d, Vec2d>> segs; + for (int i = 0; i < 4; ++i) segs.emplace_back(c[i], c[(i + 1) % 4]); + draw_strokes(m_highlight_model, segs, 0.6, box); + const Camera& cam = wxGetApp().plater()->get_camera(); + const double hs = 7.0 / std::max(cam.get_zoom(), 1e-6); // screen-constant half-size + const ColorRGBA hcol(0.30f, 0.88f, 0.66f, 1.0f); + const ColorRGBA hhot(1.0f, 0.85f, 0.2f, 1.0f); + auto square = [&](const Vec2d& q, const ColorRGBA& col) { + const std::vector<Vec2d> sq = { q + Vec2d(-hs, -hs), q + Vec2d(hs, -hs), + q + Vec2d(hs, hs), q + Vec2d(-hs, hs) }; + draw_fill(m_fill_model, sq, col); + }; + for (int i = 0; i < 4; ++i) square(c[i], m_xform_handle == i ? hhot : hcol); + square(0.5 * (c[0] + c[2]), m_xform_handle == 4 ? hhot : hcol); +} + +bool DesignSketchTool::op_ready() const +{ + switch (m_mode) { + case Mode::Fillet: + case Mode::Chamfer: return m_op_a >= 0 && m_op_b >= 0; + case Mode::Offset: return m_op_a >= 0; + case Mode::Mirror: return m_op_a >= 0 && !m_mirror_targets.empty(); + default: return false; + } +} + +// Corner vertex of two lines + the inward angle bisector (unit), pointing from the vertex +// into the fillet/chamfer interior. Mirrors SketchEngine::fillet_lines's geometry so the +// arrow tracks the op exactly. +bool DesignSketchTool::op_corner(int a, int b, Vec2d& C, Vec2d& bis, double& theta) const +{ + if (a < 0 || b < 0 || a >= int(m_entities.size()) || b >= int(m_entities.size())) return false; + const SketchEntity& ea = m_entities[a]; + const SketchEntity& eb = m_entities[b]; + if (ea.type != SketchEntity::Type::Line || eb.type != SketchEntity::Type::Line) return false; + const Vec2d da = ea.p1 - ea.p0, db = eb.p1 - eb.p0; + const double denom = da.x() * db.y() - da.y() * db.x(); + if (std::abs(denom) < 1e-12) return false; // parallel + const Vec2d diff = eb.p0 - ea.p0; + const double s = (diff.x() * db.y() - diff.y() * db.x()) / denom; + C = ea.p0 + s * da; + Vec2d ua = ((ea.p0 - C).norm() <= (ea.p1 - C).norm()) ? (ea.p1 - C) : (ea.p0 - C); + Vec2d ub = ((eb.p0 - C).norm() <= (eb.p1 - C).norm()) ? (eb.p1 - C) : (eb.p0 - C); + if (ua.norm() < 1e-12 || ub.norm() < 1e-12) return false; + ua.normalize(); ub.normalize(); + theta = std::acos(std::max(-1.0, std::min(1.0, ua.dot(ub)))); + bis = ua + ub; + if (bis.norm() < 1e-12) return false; // 180° corner + bis.normalize(); + return true; +} + +void DesignSketchTool::recompute_op_ghost() +{ + m_op_ghost.clear(); + if (m_mode == Mode::Fillet || m_mode == Mode::Chamfer) { + if (m_op_a < 0 || m_op_b < 0) return; + Vec2d C, bis; double theta; + if (op_corner(m_op_a, m_op_b, C, bis, theta)) { m_op_anchor = C; m_op_dir = bis; } + SketchEntity a_out, b_out, extra; + const bool ok = (m_mode == Mode::Fillet) + ? SketchEngine::fillet_lines(m_entities[m_op_a], m_entities[m_op_b], m_op_value, a_out, b_out, extra) + : SketchEngine::chamfer_lines(m_entities[m_op_a], m_entities[m_op_b], m_op_value, a_out, b_out, extra); + if (ok) m_op_ghost = { a_out, b_out, extra }; + } else if (m_mode == Mode::Offset) { + if (m_op_a < 0) return; + const SketchEntity& e = m_entities[m_op_a]; + if (e.type == SketchEntity::Type::Line) { + m_op_anchor = 0.5 * (e.p0 + e.p1); + Vec2d u = e.p1 - e.p0; if (u.norm() > 1e-12) u.normalize(); + m_op_dir = Vec2d(-u.y(), u.x()); // left normal = +distance side + } else if (e.type == SketchEntity::Type::Circle || e.type == SketchEntity::Type::Arc) { + m_op_anchor = e.center + Vec2d(e.radius, 0.0); + m_op_dir = Vec2d(1, 0); + } + m_op_ghost = SketchEngine::offset_entities({ e }, m_op_value); + } else if (m_mode == Mode::Mirror) { + if (m_op_a < 0 || m_mirror_targets.empty()) return; + const SketchEntity& axis = m_entities[m_op_a]; + std::vector<SketchEntity> src; + for (int ti : m_mirror_targets) + if (ti >= 0 && ti < int(m_entities.size())) src.push_back(m_entities[ti]); + m_op_ghost = SketchEngine::mirror_entities(src, axis.p0, axis.p1); + } +} + +// Route an entity pick to the active op; sets an initial value + ghost once enough +// entities are picked. Highlights the running picks via m_selection. +void DesignSketchTool::op_pick(int ei) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + const SketchEntity::Type t = m_entities[ei].type; + switch (m_mode) { + case Mode::Fillet: + case Mode::Chamfer: + if (t != SketchEntity::Type::Line) return; // corner ops need two lines + if (m_op_a < 0) m_op_a = ei; + else if (ei != m_op_a) { + m_op_b = ei; + const double la = (m_entities[m_op_a].p1 - m_entities[m_op_a].p0).norm(); + const double lb = (m_entities[m_op_b].p1 - m_entities[m_op_b].p0).norm(); + m_op_value = std::max(0.001, 0.2 * std::min(la, lb)); // a sensible starting size + recompute_op_ghost(); + } + break; + case Mode::Offset: { + m_op_a = ei; + const SketchEntity& e = m_entities[ei]; + const double sz = (e.type == SketchEntity::Type::Line) ? (e.p1 - e.p0).norm() + : std::max(e.radius * 2.0, 1.0); + m_op_value = std::max(0.001, 0.1 * sz); + recompute_op_ghost(); + break; + } + case Mode::Mirror: + if (m_op_a < 0) { + if (t != SketchEntity::Type::Line) return; // axis must be a line + m_op_a = ei; + } else if (ei != m_op_a) { + auto it = std::find(m_mirror_targets.begin(), m_mirror_targets.end(), ei); + if (it == m_mirror_targets.end()) m_mirror_targets.push_back(ei); + else m_mirror_targets.erase(it); + recompute_op_ghost(); + } + break; + default: break; + } + // Mirror the picks into m_selection so the existing highlight shows them. + m_selection.clear(); + if (m_op_a >= 0) m_selection.push_back(m_op_a); + if (m_op_b >= 0) m_selection.push_back(m_op_b); + for (int ti : m_mirror_targets) m_selection.push_back(ti); + if (on_selection_changed) on_selection_changed(int(m_selection.size())); +} + +bool DesignSketchTool::hit_test_op_arrow(const Vec2d& p, double tol) const +{ + if (!op_ready() || m_mode == Mode::Mirror) return false; + const Vec2d tip = m_op_anchor + m_op_dir * m_op_value; + return point_segment_dist(p, m_op_anchor, tip) <= tol * 1.5; +} + +void DesignSketchTool::drag_op_arrow(const Vec2d& target) +{ + const double v = (target - m_op_anchor).dot(m_op_dir); // project onto the arrow axis + if (m_mode == Mode::Offset) m_op_value = v; // signed: chooses the side + else m_op_value = std::max(0.001, v);// fillet/chamfer: positive + recompute_op_ghost(); +} + +void DesignSketchTool::open_op_editor() +{ + if (!on_inline_edit || !op_ready() || m_mode == Mode::Mirror) return; + const double sign = (m_mode == Mode::Offset && m_op_value < 0) ? -1.0 : 1.0; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, std::abs(m_op_value), "", + [this, sign](double v) { + m_op_value = (m_mode == Mode::Offset) ? sign * std::abs(v) : std::max(0.001, v); + // Entering a radius IS the commit. Leaving it as a preview meant the most obvious + // route of all — click the radius, type it, press Return — ended with the value set, + // the ghost drawn, and no geometry written; the only paths that ever applied it were + // finishing the whole sketch or clicking empty space, neither of which is signposted. + if (op_ready()) confirm_op(); + else recompute_op_ghost(); + }, + []() {}); +} + +void DesignSketchTool::render_op_gizmo(double unit_per_px) +{ + m_op_label = Vec2d(1e18, 1e18); + if (!op_ready()) return; + const ColorRGBA ghostc(0.30f, 0.88f, 0.66f, 0.55f); + draw_entities_preview(m_op_ghost, ghostc); + if (m_mode == Mode::Mirror) return; // pick-only, no arrow/label + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const Vec2d dir = (m_op_value >= 0 ? m_op_dir : -m_op_dir); + const Vec2d tip = m_op_anchor + m_op_dir * m_op_value; // signed length picks the side + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(m_op_anchor, tip); + const double as = std::max(std::abs(m_op_value) * 0.18, th * 0.8); // arrowhead size + const Vec2d nrm(-dir.y(), dir.x()); + const Vec2d back = tip - dir * as; + segs.emplace_back(tip, back + nrm * (as * 0.5)); + segs.emplace_back(tip, back - nrm * (as * 0.5)); + draw_strokes(m_highlight_model, segs, 0.6, dc); + DimAnnot a; + a.kind = (m_mode == Mode::Fillet) ? DimType::Radius : DimType::Distance; + a.value = std::abs(m_op_value); + m_op_label = tip + dir * (th * 1.2); + draw_text(m_line_model, dim_text(a), m_op_label, th, dc); +} + +// Did an entity actually change shape or position? Compares only the fields that define each +// type, so a re-solve that leaves the geometry alone reads as "unchanged" whatever else moved in +// the record. Used by the mirror postcondition below. +static bool entity_moved(const SketchEntity& a, const SketchEntity& b, double tol) +{ + if (a.type != b.type) return true; + auto moved = [tol](const Vec2d& p, const Vec2d& q) { return (p - q).norm() > tol; }; + if (moved(a.p0, b.p0)) return true; + switch (a.type) { + case SketchEntity::Type::Point: + return false; + case SketchEntity::Type::Line: + return moved(a.p1, b.p1); + case SketchEntity::Type::Circle: + return moved(a.center, b.center) || std::abs(a.radius - b.radius) > tol; + case SketchEntity::Type::Arc: + return moved(a.p1, b.p1) || moved(a.center, b.center) + || std::abs(a.radius - b.radius) > tol + || std::abs((a.end_angle - a.start_angle) - (b.end_angle - b.start_angle)) > tol; + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: + return moved(a.center, b.center) || std::abs(a.radius - b.radius) > tol + || std::abs(a.rminor - b.rminor) > tol || std::abs(a.rotation - b.rotation) > tol; + default: + return moved(a.p1, b.p1); + } +} + +void DesignSketchTool::confirm_op() +{ + if (!op_ready()) return; + using R = SketchPointRole; + using CT = SketchConstraintType; + + if (m_mode == Mode::Fillet || m_mode == Mode::Chamfer) { + const bool fillet = (m_mode == Mode::Fillet); + SketchEntity a_out, b_out, extra; + const bool ok = fillet + ? SketchEngine::fillet_lines(m_entities[m_op_a], m_entities[m_op_b], m_op_value, a_out, b_out, extra) + : SketchEngine::chamfer_lines(m_entities[m_op_a], m_entities[m_op_b], m_op_value, a_out, b_out, extra); + if (!ok) { reset_op(); return; } + const int a = m_op_a, b = m_op_b; + m_entities[a] = a_out; m_entities[b] = b_out; + const int xi = int(m_entities.size()); + m_entities.push_back(extra); // fillet arc / chamfer segment + auto role_near = [](const SketchEntity& ln, const Vec2d& q) -> R { + return ((ln.p0 - q).squaredNorm() <= (ln.p1 - q).squaredNorm()) ? R::P0 : R::P1; }; + const R ra = role_near(m_entities[a], extra.p0); + const R rb = role_near(m_entities[b], extra.p1); + // Drop the now-stale corner Coincident + each line's own length Distance (the op + // trimmed both legs back), then bind the new entity onto the trimmed endpoints. + auto refs = [](const SketchEntityConstraintDef& d, int e, R r) { + return (d.ea == e && d.ra == r) || (d.eb == e && d.rb == r); }; + auto self_len = [](const SketchEntityConstraintDef& d, int e) { + return d.type == CT::Distance && d.ea == e && d.eb == e; }; + auto& cs = m_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), [&](const SketchEntityConstraintDef& d) { + return (d.type == CT::Coincident && refs(d, a, ra) && refs(d, b, rb)) + || self_len(d, a) || self_len(d, b); + }), cs.end()); + auto coin = [&](R xr, int ln, R lr) { + SketchEntityConstraintDef d; d.type = CT::Coincident; d.ea = xi; d.ra = xr; d.eb = ln; d.rb = lr; return d; }; + if (fillet) { + auto tang = [&](int ln) { + SketchEntityConstraintDef d; d.type = CT::Tangent; d.ea = xi; d.eb = ln; return d; }; + const std::vector<std::vector<SketchEntityConstraintDef>> ladder = { + { coin(R::P0, a, ra), coin(R::P1, b, rb), tang(a), tang(b) }, + { coin(R::P0, a, ra), coin(R::P1, b, rb), tang(a) }, + { coin(R::P0, a, ra), coin(R::P1, b, rb) }, + }; + for (const auto& set : ladder) if (try_add_constraints(set)) break; + } else { + try_add_constraints({ coin(R::P0, a, ra), coin(R::P1, b, rb) }); + } + } else if (m_mode == Mode::Offset) { + const int a = m_op_a; + auto out = SketchEngine::offset_entities({ m_entities[a] }, m_op_value); + if (out.empty()) { reset_op(); return; } + const int ni = int(m_entities.size()); + for (auto& o : out) m_entities.push_back(o); + const SketchEntity::Type st = m_entities[a].type; + SketchEntityConstraintDef d; d.ea = a; d.eb = ni; + bool emit = true; + if (st == SketchEntity::Type::Line) d.type = CT::Parallel; + else if (st == SketchEntity::Type::Arc || st == SketchEntity::Type::Circle) d.type = CT::Concentric; + else emit = false; + if (emit) try_add_constraints({ d }); + } else if (m_mode == Mode::Mirror) { + const SketchEntity axis = m_entities[m_op_a]; // by value (m_entities grows below) + // The sources as they stand BEFORE any of this op's constraints exist. Two jobs: every + // copy is reflected from the untouched original (so a batch that moves the sketch cannot + // feed a later copy moved geometry), and the invariant at the bottom has something to + // compare against. mirror-slot. + const std::vector<SketchEntity> before = m_entities; + const size_t cmark = m_constraints.size(); + std::vector<std::pair<int, SketchEntity>> fresh; // copy index -> its pristine reflection + for (int ti : m_mirror_targets) { + if (ti < 0 || ti >= int(before.size())) continue; + auto out = SketchEngine::mirror_entities({ before[ti] }, axis.p0, axis.p1); + if (out.empty()) continue; + const int mi = int(m_entities.size()); + for (auto& m : out) { fresh.emplace_back(int(m_entities.size()), m); m_entities.push_back(m); } + SketchEntityConstraintDef d; d.type = CT::Symmetric; d.ea = ti; d.eb = mi; d.ec = m_op_a; + const SketchEntity::Type st = before[ti].type; + std::vector<std::vector<SketchEntityConstraintDef>> ladder; + if (st == SketchEntity::Type::Line) { + d.ra = R::P0; d.rb = R::P0; auto p0 = d; + d.ra = R::P1; d.rb = R::P1; auto p1 = d; + ladder = { { p0, p1 }, { p0 } }; + } else if (st == SketchEntity::Type::Arc) { + // BOTH ENDS AND THE CENTRE. Binding only the centre — which is all this did — + // leaves the copy's endpoints and sweep free while the shape's own coincidences + // still tie them to its neighbours, and the solver then answers with a wildly + // different, internally consistent sketch: a slot's caps came back at r=32.2 and + // a 237 deg sweep, one rail collapsed from 62.9 mm to 2.1 mm, and the ORIGINAL + // moved with them. A circle survived the same code only because a circle has no + // endpoints to leave free, which is why the bug reads as "circles fine, rounded + // rectangles and slots destroyed". + d.ra = R::Center; d.rb = R::Center; auto ct = d; + d.ra = R::P0; d.rb = R::P0; auto p0 = d; + d.ra = R::P1; d.rb = R::P1; auto p1 = d; + // Endpoints BEFORE centre: an arc is five DoF, so {centre, p0, p1} is six + // equations and is refused; {p0, p1} is four and pins the sweep, which is the + // half that was going wild. The postcondition below is what makes the ladder + // safe — any rung that does not reproduce the preview is thrown away whole. + ladder = { { p0, p1 }, { ct, p0 }, { ct } }; + } else if (st == SketchEntity::Type::Circle) { + d.ra = R::Center; d.rb = R::Center; ladder = { { d } }; + } else if (st == SketchEntity::Type::Point) { + d.ra = R::P0; d.rb = R::P0; ladder = { { d } }; + } + for (const auto& set : ladder) if (try_add_constraints(set)) break; + } + // A MIRROR MAY NOT MOVE WHAT IT COPIED. try_add_constraints only rolls back when the + // solve FAILS, and the failure here is a solve that succeeds at something else: the + // numbers above came out of a solver that was perfectly happy. So the op checks its own + // postcondition on the geometry, and if a source moved it keeps the copies — which are + // exactly what the preview showed — and drops the whole constraint web that moved them. + // Restoring the sources needs no re-solve: the pre-batch state was itself solved, and a + // failed solve does not write back (pl5). + // BOTH HALVES. Watching only the sources caught the slot (whose web dragged everything) + // and missed the rounded rectangle, where the solver held the sources still and put the + // COPIES somewhere else: an arc has five degrees of freedom and Symmetric on centre plus + // both endpoints is six equations, so that batch is refused and the ladder degrades to a + // set that leaves the sweep free. The rule that covers both, and that is what the user + // actually asked for, is: THE APPLIED RESULT IS THE PREVIEW. Anything else drops the web. + bool disturbed = false; + for (size_t i = 0; i < before.size() && !disturbed; ++i) + disturbed = entity_moved(before[i], m_entities[i], 1e-6); + for (const auto& f : fresh) + if (!disturbed && f.first < int(m_entities.size())) + disturbed = entity_moved(f.second, m_entities[f.first], 1e-6); + if (disturbed) { + m_constraints.resize(cmark); + for (size_t i = 0; i < before.size(); ++i) m_entities[i] = before[i]; + // The copies too, and for the same reason: a batch that moved the sketch moved them + // as well, so the ones sitting in m_entities are the solver's answer, not the + // reflection. Restoring only the sources left a slot whose copy came back with a + // 13.8 mm rail and a 308 deg cap — the original was safe and the copy was still + // wrong, which is half a fix. `fresh` is what the preview drew. + for (const auto& f : fresh) + if (f.first < int(m_entities.size())) m_entities[f.first] = f.second; + } + } + reset_op(); + m_selection.clear(); + resolve_live(); + if (on_selection_changed) on_selection_changed(0); +} + +// ---- In-canvas transform gizmo (Move/Rotate/Scale/Array/PolarArray) ---- +// These replace the docked numeric cards: pick subject entities in-canvas, then a single +// draggable handle drives the continuous parameter (Move/Array offset, Rotate/Polar angle, +// Scale factor) and an editable value label sets it exactly; Array/PolarArray expose a +// second label for the copy count. A live translucent ghost previews the result. Confirm +// applies the geometry and emits the per-op constraint web (mutating ops drop the classes +// the map invalidates; additive ops bind each copy to its source) into m_constraints. + +void DesignSketchTool::reset_tf() +{ + m_tf_targets.clear(); + m_tf_pivot = Vec2d(0, 0); + m_tf_delta = Vec2d(0, 0); + m_tf_angle = 0.0; + m_tf_scale = 1.0; + m_tf_count = 3; + m_tf_handle_r = 1.0; + m_tf_ghost.clear(); + m_tf_handle = -1; + m_tf_dragging = false; + m_tf_label_a = Vec2d(1e18, 1e18); + m_tf_label_b = Vec2d(1e18, 1e18); +} + +bool DesignSketchTool::tf_ready() const { return !m_tf_targets.empty(); } + +// Centroid of the picked subject set (the rotate/scale/polar pivot, and the array origin), +// plus a reference radius (max distance from the pivot to any subject extremum) used to +// size the rotate/polar handle ring and the scale handle's unit position. +void DesignSketchTool::compute_tf_pivot() +{ + using T = SketchEntity::Type; + auto cen = [](const SketchEntity& e) -> Vec2d { + switch (e.type) { + case T::Line: return 0.5 * (e.p0 + e.p1); + case T::Arc: case T::Circle: case T::Ellipse: case T::EllipseArc: return e.center; + case T::BSpline: + if (!e.ctrl.empty()) { Vec2d s(0, 0); for (const auto& p : e.ctrl) s += p; return s / double(e.ctrl.size()); } + return 0.5 * (e.p0 + e.p1); + default: return e.p0; + } + }; + Vec2d c(0, 0); int n = 0; + for (int ti : m_tf_targets) + if (ti >= 0 && ti < int(m_entities.size())) { c += cen(m_entities[ti]); ++n; } + if (n == 0) { m_tf_pivot = Vec2d(0, 0); m_tf_handle_r = 1.0; return; } + m_tf_pivot = c / double(n); + double r = 0.0; + for (int ti : m_tf_targets) { + if (ti < 0 || ti >= int(m_entities.size())) continue; + const SketchEntity& e = m_entities[ti]; + auto upd = [&](const Vec2d& p) { r = std::max(r, (p - m_tf_pivot).norm()); }; + switch (e.type) { + case T::Line: upd(e.p0); upd(e.p1); break; + case T::Arc: case T::Circle: case T::Ellipse: case T::EllipseArc: + upd(e.center + Vec2d(e.radius, 0)); upd(e.center - Vec2d(e.radius, 0)); break; + case T::BSpline: for (const auto& p : e.ctrl) upd(p); break; + default: upd(e.p0); break; + } + } + m_tf_handle_r = std::max(r, 1.0); +} + +void DesignSketchTool::tf_pick(int ei) +{ + if (ei < 0 || ei >= int(m_entities.size())) return; + auto it = std::find(m_tf_targets.begin(), m_tf_targets.end(), ei); + if (it == m_tf_targets.end()) m_tf_targets.push_back(ei); // toggle-select like Mirror + else m_tf_targets.erase(it); + compute_tf_pivot(); + // Seed sensible starting parameters (mirrors the retired card defaults so the ghost is + // immediately visible). Only seed while still at the neutral value, so re-picking more + // targets keeps a value the user already dialled in. + if (!m_tf_targets.empty()) { + const double step = std::max(m_tf_handle_r * 1.5, 1.0); + switch (m_mode) { + case Mode::Move: + if (m_tf_delta.norm() < 1e-9) m_tf_delta = Vec2d(step, 0.0); + break; + case Mode::Array: + if (m_tf_delta.norm() < 1e-9) { + Vec2d d(step, 0.0); // default: perpendicular to a single line, else +X + if (m_tf_targets.size() == 1) { + const SketchEntity& e = m_entities[m_tf_targets[0]]; + if (e.type == SketchEntity::Type::Line) { + Vec2d t = e.p1 - e.p0; + if (t.norm() > 1e-9) { t.normalize(); d = Vec2d(-t.y(), t.x()) * step; } + } + } + m_tf_delta = d; + } + break; + case Mode::Rotate: if (std::abs(m_tf_angle) < 1e-9) m_tf_angle = M_PI / 4.0; break; // 45° + case Mode::PolarArray: if (std::abs(m_tf_angle) < 1e-9) m_tf_angle = 2.0 * M_PI; break; // 360° + case Mode::Scale: if (std::abs(m_tf_scale - 1.0) < 1e-9) m_tf_scale = 2.0; break; + default: break; + } + } + recompute_tf_ghost(); + m_selection = m_tf_targets; // reuse the existing selection highlight + if (on_selection_changed) on_selection_changed(int(m_selection.size())); +} + +void DesignSketchTool::recompute_tf_ghost() +{ + m_tf_ghost.clear(); + if (m_tf_targets.empty()) return; + std::vector<SketchEntity> src; + for (int ti : m_tf_targets) + if (ti >= 0 && ti < int(m_entities.size())) src.push_back(m_entities[ti]); + if (src.empty()) return; + const int count = std::max(2, m_tf_count); + switch (m_mode) { + case Mode::Move: + m_tf_ghost = SketchEngine::transform_entities(src, m_tf_delta, 0.0, 1.0, Vec2d(0, 0)); + break; + case Mode::Rotate: + m_tf_ghost = SketchEngine::transform_entities(src, Vec2d(0, 0), m_tf_angle, 1.0, m_tf_pivot); + break; + case Mode::Scale: + m_tf_ghost = SketchEngine::transform_entities(src, Vec2d(0, 0), 0.0, m_tf_scale, m_tf_pivot); + break; + case Mode::Array: + m_tf_ghost = SketchEngine::array_entities(src, count, m_tf_delta, 0.0, m_tf_pivot); + break; + case Mode::PolarArray: + m_tf_ghost = SketchEngine::array_entities(src, count, Vec2d(0, 0), m_tf_angle / double(count), m_tf_pivot); + break; + default: break; + } +} + +// World position of the single drag handle: at the translated/spacing tip for the linear +// ops, on the pivot-centred ring at the current angle for the rotational ops, and at the +// scaled unit position along +X for Scale. +Vec2d DesignSketchTool::tf_handle_pos() const +{ + switch (m_mode) { + case Mode::Move: + case Mode::Array: return m_tf_pivot + m_tf_delta; + case Mode::Rotate: + case Mode::PolarArray: return m_tf_pivot + m_tf_handle_r * Vec2d(std::cos(m_tf_angle), std::sin(m_tf_angle)); + case Mode::Scale: return m_tf_pivot + Vec2d(m_tf_scale * m_tf_handle_r, 0.0); + default: return m_tf_pivot; + } +} + +bool DesignSketchTool::hit_test_tf_handle(const Vec2d& p, double tol) const +{ + if (!tf_ready()) return false; + return (tf_handle_pos() - p).norm() <= tol * 2.5; +} + +void DesignSketchTool::drag_tf_handle(const Vec2d& target) +{ + switch (m_mode) { + case Mode::Move: + case Mode::Array: + m_tf_delta = target - m_tf_pivot; + break; + case Mode::Rotate: + case Mode::PolarArray: { + const Vec2d d = target - m_tf_pivot; + if (d.norm() > 1e-9) m_tf_angle = std::atan2(d.y(), d.x()); + break; + } + case Mode::Scale: { + const double r = (target - m_tf_pivot).norm(); + m_tf_scale = std::max(1e-3, r / std::max(m_tf_handle_r, 1e-9)); + break; + } + default: break; + } + recompute_tf_ghost(); +} + +void DesignSketchTool::open_tf_editor_a() +{ + if (!on_inline_edit || !tf_ready()) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + double cur; + if (m_mode == Mode::Rotate || m_mode == Mode::PolarArray) cur = std::abs(m_tf_angle) * 180.0 / M_PI; + else if (m_mode == Mode::Scale) cur = m_tf_scale; + else cur = m_tf_delta.norm(); + Vec2d dir = m_tf_delta; if (dir.norm() > 1e-9) dir.normalize(); else dir = Vec2d(1, 0); + const double sgn = (m_tf_angle < 0) ? -1.0 : 1.0; + on_inline_edit(px, cur, "", + [this, dir, sgn](double v) { + switch (m_mode) { + case Mode::Move: case Mode::Array: m_tf_delta = dir * v; break; + case Mode::Rotate: case Mode::PolarArray: m_tf_angle = sgn * std::abs(v) * M_PI / 180.0; break; + case Mode::Scale: m_tf_scale = std::max(1e-3, v); break; + default: break; + } + recompute_tf_ghost(); + }, + []() {}); +} + +void DesignSketchTool::open_tf_editor_count() +{ + if (!on_inline_edit || !tf_ready()) return; + if (m_mode != Mode::Array && m_mode != Mode::PolarArray) return; + const wxPoint px(m_last_mouse_x, m_last_mouse_y); + on_inline_edit(px, double(std::max(2, m_tf_count)), "", + [this](double v) { m_tf_count = std::max(2, int(v + 0.5)); recompute_tf_ghost(); }, + []() {}); +} + +void DesignSketchTool::render_tf_gizmo(double unit_per_px) +{ + m_tf_label_a = Vec2d(1e18, 1e18); + m_tf_label_b = Vec2d(1e18, 1e18); + if (!tf_ready()) return; + const ColorRGBA ghostc(0.30f, 0.88f, 0.66f, 0.55f); + draw_entities_preview(m_tf_ghost, ghostc); + + const ColorRGBA dc(0.30f, 0.88f, 0.66f, 1.0f); + const ColorRGBA hot(1.0f, 0.85f, 0.2f, 1.0f); + const double th = std::max(15.0 * unit_per_px, 1e-4); + const Vec2d handle = tf_handle_pos(); + + // spoke from the pivot to the handle (+ arrowhead for the linear ops). + std::vector<std::pair<Vec2d, Vec2d>> segs; + segs.emplace_back(m_tf_pivot, handle); + if (m_mode == Mode::Move || m_mode == Mode::Array || m_mode == Mode::Scale) { + Vec2d dir = handle - m_tf_pivot; const double L = dir.norm(); + if (L > 1e-9) { + dir /= L; + const double as = std::max(L * 0.15, th * 0.8); + const Vec2d nrm(-dir.y(), dir.x()); + const Vec2d back = handle - dir * as; + segs.emplace_back(handle, back + nrm * (as * 0.5)); + segs.emplace_back(handle, back - nrm * (as * 0.5)); + } + } + draw_strokes(m_highlight_model, segs, 0.6, dc); + + const double hs = 6.0 * unit_per_px; // screen-constant handle marker + const std::vector<Vec2d> sq = { handle + Vec2d(-hs, -hs), handle + Vec2d(hs, -hs), + handle + Vec2d(hs, hs), handle + Vec2d(-hs, hs) }; + draw_fill(m_fill_model, sq, m_tf_dragging ? hot : dc); + draw_vertices(m_vertex_model, { m_tf_pivot }, dc, std::max(3.0 * unit_per_px, 1e-4)); + + // primary parameter label at the handle. + std::string txt_a; + if (m_mode == Mode::Rotate || m_mode == Mode::PolarArray) { + DimAnnot a; a.kind = DimType::Angle; a.value = std::abs(m_tf_angle) * 180.0 / M_PI; + txt_a = dim_text(a); + } else if (m_mode == Mode::Scale) { + char b[24]; std::snprintf(b, sizeof(b), "x%.2f", m_tf_scale); + for (char& ch : b) if (ch == ',') ch = '.'; + txt_a = b; + } else { + DimAnnot a; a.kind = DimType::Distance; a.value = m_tf_delta.norm(); + txt_a = dim_text(a); + } + Vec2d outw = handle - m_tf_pivot; if (outw.norm() > 1e-9) outw.normalize(); else outw = Vec2d(1, 0); + m_tf_label_a = handle + outw * (th * 1.2); + draw_text(m_line_model, txt_a, m_tf_label_a, th, dc); + + if (m_mode == Mode::Array || m_mode == Mode::PolarArray) { + char cb[16]; std::snprintf(cb, sizeof(cb), "x%d", std::max(2, m_tf_count)); + m_tf_label_b = m_tf_pivot + Vec2d(th * 1.5, th * 1.5); + draw_text(m_line_model, cb, m_tf_label_b, th, dc); + } +} + +void DesignSketchTool::confirm_transform() +{ + if (!tf_ready()) { reset_tf(); return; } + using CT = SketchConstraintType; + const std::vector<int> targets = m_tf_targets; // snapshot by value (m_entities grows) + auto is_target = [&](int e) { + return e >= 0 && std::find(targets.begin(), targets.end(), e) != targets.end(); + }; + + if (m_mode == Mode::Move || m_mode == Mode::Rotate || m_mode == Mode::Scale) { + // MUTATING: map every subject in place, then drop the constraint classes the map + // invalidates for any constraint touching a subject. Surviving classes are + // satisfied by construction; the re-solve folds in the new placement. + const Mode mode = m_mode; + for (int ti : targets) { + if (ti < 0 || ti >= int(m_entities.size())) continue; + std::vector<SketchEntity> out; + if (mode == Mode::Move) + out = SketchEngine::transform_entities({ m_entities[ti] }, m_tf_delta, 0.0, 1.0, Vec2d(0, 0)); + else if (mode == Mode::Rotate) + out = SketchEngine::transform_entities({ m_entities[ti] }, Vec2d(0, 0), m_tf_angle, 1.0, m_tf_pivot); + else + out = SketchEngine::transform_entities({ m_entities[ti] }, Vec2d(0, 0), 0.0, m_tf_scale, m_tf_pivot); + if (!out.empty()) m_entities[ti] = out[0]; + } + auto& cs = m_constraints; + cs.erase(std::remove_if(cs.begin(), cs.end(), [&](const SketchEntityConstraintDef& d) { + if (!(is_target(d.ea) || is_target(d.eb) || is_target(d.ec))) return false; + const bool self = (d.ea == d.eb); // self-length Distance survives translate/rotate + if (mode == Mode::Move) { + switch (d.type) { + case CT::Coincident: case CT::PointOnLine: case CT::PointOnObject: + case CT::Concentric: case CT::Symmetric: case CT::Midpoint: + case CT::Fix: case CT::LockX: case CT::LockY: return true; + case CT::Distance: return !self; + default: return false; // orientation/length preserved by translation + } + } else if (mode == Mode::Rotate) { + switch (d.type) { + case CT::EqualLength: case CT::Radius: case CT::Diameter: return false; + case CT::Distance: return !self; + default: return true; // orientation + position broken by rotation + } + } else { // Scale (uniform / conformal) + switch (d.type) { + case CT::Horizontal: case CT::Vertical: case CT::Parallel: + case CT::Perpendicular: case CT::Angle: return false; + default: return true; // size + position broken + } + } + }), cs.end()); + } else if (m_mode == Mode::Array || m_mode == Mode::PolarArray) { + // ADDITIVE: append copies of each subject, then bind each copy to its source. Lines + // get Parallel+EqualLength (linear) or EqualLength only (polar — rotation breaks + // Parallel); arc/circle copies get a per-copy Radius (equal-radius under any rigid + // map) plus Concentric when the polar pivot is the source's own centre. Emit each + // web as a degrade ladder (try_add_constraints keeps the first set the solver + // accepts, else the geometry stays unconstrained). + const bool polar = (m_mode == Mode::PolarArray); + const int count = std::max(2, m_tf_count); + for (int ti : targets) { + if (ti < 0 || ti >= int(m_entities.size())) continue; + const SketchEntity src = m_entities[ti]; // by value (m_entities grows below) + std::vector<SketchEntity> copies = polar + ? SketchEngine::array_entities({ src }, count, Vec2d(0, 0), m_tf_angle / double(count), m_tf_pivot) + : SketchEngine::array_entities({ src }, count, m_tf_delta, 0.0, m_tf_pivot); + if (copies.empty()) continue; + const int base = int(m_entities.size()); + for (auto& c : copies) m_entities.push_back(c); + const int nc = int(copies.size()); + const SketchEntity::Type st = src.type; + std::vector<std::vector<SketchEntityConstraintDef>> ladder; + if (st == SketchEntity::Type::Line) { + auto mk = [&](bool eq, bool par) { + std::vector<SketchEntityConstraintDef> w; + for (int k = 0; k < nc; ++k) { + const int ci = base + k; + if (par) { SketchEntityConstraintDef dp; dp.type = CT::Parallel; dp.ea = ti; dp.eb = ci; w.push_back(dp); } + if (eq) { SketchEntityConstraintDef de; de.type = CT::EqualLength; de.ea = ti; de.eb = ci; w.push_back(de); } + } + return w; + }; + if (polar) ladder = { mk(true, false) }; + else ladder = { mk(true, true), mk(false, true) }; + } else if (st == SketchEntity::Type::Arc || st == SketchEntity::Type::Circle) { + const bool can_conc = polar && (m_tf_pivot - src.center).norm() < 1e-6; + auto mk = [&](bool conc) { + std::vector<SketchEntityConstraintDef> w; + for (int k = 0; k < nc; ++k) { + const int ci = base + k; + SketchEntityConstraintDef dr; dr.type = CT::Radius; dr.ea = ci; dr.value = src.radius; w.push_back(dr); + if (conc) { + SketchEntityConstraintDef dco; dco.type = CT::Concentric; + dco.ea = ti; dco.ra = SketchPointRole::Center; dco.eb = ci; dco.rb = SketchPointRole::Center; + w.push_back(dco); + } + } + return w; + }; + ladder = can_conc ? std::vector<std::vector<SketchEntityConstraintDef>>{ mk(true), mk(false) } + : std::vector<std::vector<SketchEntityConstraintDef>>{ mk(false) }; + } + for (auto& w : ladder) if (!w.empty() && try_add_constraints(w)) break; + } + } + reset_tf(); + m_selection.clear(); + resolve_live(); + if (on_selection_changed) on_selection_changed(0); +} + +const ColorRGBA* DesignSketchTool::sketch_hl_color(int feature) const +{ + for (const auto& h : m_hl_sketches) if (h.first == feature) return &h.second; + return nullptr; +} + +// Which step of the armed gesture is live, reported only when it moves (1c0c). Called +// from render(), which is the one place EVERY state change passes through — a per-call-site +// notification would have to be added to each of the thirty-odd tool branches and would be +// forgotten by the next one. Cheap: three ints compared per frame. +void DesignSketchTool::emit_step_hint() +{ + if (!on_step_changed) return; + int step = 0, picks = 0; + if (is_edit_op_mode()) { + picks = (m_mode == Mode::Mirror) ? int(m_mirror_targets.size()) + : int(m_op_a >= 0) + int(m_op_b >= 0); + step = (m_op_a < 0) ? 0 : (op_ready() ? 2 : 1); + } else if (is_transform_mode()) { + picks = int(m_tf_targets.size()); + step = m_tf_targets.empty() ? 0 : 1; + } else if (m_mode == Mode::Select || m_mode == Mode::Constrain) { + picks = int(m_selection.size()); + } else { + step = int(m_points.size()); + } + if (int(m_mode) == m_step_mode_last && step == m_step_last && picks == m_step_picks_last) + return; + m_step_mode_last = int(m_mode); m_step_last = step; m_step_picks_last = picks; + on_step_changed(m_mode, step, picks); +} + +void DesignSketchTool::render(GLCanvas3D& canvas) +{ + m_dim_label_seq = 0; + m_render_scale = canvas.get_scale(); + emit_step_hint(); // before the early returns: an armed tool on an empty sketch still guides + // The value field, BEFORE every early return below. It can be up in Constrain mode on a + // committed feature and on an empty sketch, and a field that is not drawn is a field that is + // not there — there is no window to fall back to any more. + if (inline_editor != nullptr) + inline_editor->render(*wxGetApp().imgui(), m_render_scale); + (void)canvas; + if (!has_display()) { + if (on_readout) on_readout(std::string()); // nothing to show -> hide HUD + return; + } + render_view_helpers(); // origin planes / world axes — drawn whenever their toggle is on + m_rubber.render(canvas); // left-drag rubber band (no-op unless one is being swept). Drawn + // here, ahead of every early return below, so a band over an empty + // plate is still visible. + if (m_active && m_mode != Mode::Constrain && m_entities.empty() && m_points.empty() + && m_display_sketches.empty()) { + if (on_readout) on_readout(std::string()); + return; + } + + + // Draw-then-edit: a creation tool that just committed a new entity/feature (gesture now + // idle) gets its result auto-selected — so render_live_quotes below computes its quotes — + // and the primary value editor armed (opened after those quotes exist, see service block). + if (m_active && is_creation_autoedit_mode() && m_points.empty() && + m_open_feature < 0 && !m_awaiting_length) { + const int n = int(m_entities.size()); + if (m_autoedit_seen >= 0 && n > m_autoedit_seen && n > 0) { + m_selection.clear(); + m_selection.push_back(n - 1); // feature_of(last) groups rect/slot/poly/ellipse + m_autoedit_pending = true; + } + m_autoedit_seen = n; + } + + GLShaderProgram* shader = wxGetApp().get_shader("flat"); + if (shader == nullptr) + return; + + glsafe(::glDisable(GL_DEPTH_TEST)); + glsafe(::glDisable(GL_CULL_FACE)); + shader->start_using(); + const Camera& camera = wxGetApp().plater()->get_camera(); + shader->set_uniform("view_model_matrix", camera.get_view_matrix()); + shader->set_uniform("projection_matrix", camera.get_projection_matrix()); + + // Persistent committed sketches (e.g. an un-consumed sketch left visible after its + // extrude is removed): faces translucent, outlines orange. Each uses its own plane. + if (!m_display_sketches.empty()) { + const SketchPlane saved_plane = m_plane; + // CYAN/BLUE MEANS SELECTED — nothing else may wear it. The unselected fill used to be + // (0.30,0.60,1.0), one shade off the selected (0.30,0.80,1.0), so an ordinary region + // read as picked and a picked one added nothing. The outlines already got this right: + // orange for a sketch, cyan for the selection. The fill now follows the same logic, so + // an unselected region is faint amber — the sketch's own colour — and every blue thing + // on screen is something you selected. + const ColorRGBA dface = design_idle_face_color(); // unselected: neutral grey, never the selection colour + const ColorRGBA sface = design_selection_color(0.34f); // selected region + const ColorRGBA dwire(1.0f, 0.55f, 0.1f, 1.0f); // normal orange outline + const ColorRGBA swire = design_selection_color(); // selected outline + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + for (const DisplaySketch& ds : m_display_sketches) { + m_plane = ds.plane; + const std::vector<RegionLoop> loops = region_loops(ds.entities); + for (int r = 0; r < int(loops.size()); ++r) { + const bool sel = (ds.feature == m_display_pick && r == m_display_pick_region); + const ColorRGBA* hlc = sketch_hl_color(ds.feature); + ColorRGBA fc = sel ? sface : dface; + if (hlc && !sel) { fc = *hlc; fc.a(0.20f); } + std::vector<std::vector<Vec2d>> hp; + for (int h : loops[r].holes) + if (h >= 0 && h < int(loops.size())) hp.push_back(loops[h].poly); + draw_fill_holed(m_fill_model, loops[r].poly, hp, fc); + } + } + glsafe(::glDisable(GL_BLEND)); + for (const DisplaySketch& ds : m_display_sketches) { + m_plane = ds.plane; + // Entities forming the selected loop (highlighted cyan); the rest stay orange. + std::vector<char> sel_ent(ds.entities.size(), 0); + if (ds.feature == m_display_pick && m_display_pick_region >= 0) { + const std::vector<RegionLoop> loops = region_loops(ds.entities); + if (m_display_pick_region < int(loops.size())) { + // The holes light up with their region. The highlight has to show what will + // be EXTRUDED, and a hole is part of that — a plate whose bore stays orange + // while its outline turns cyan would say the circle is not coming along, + // which is precisely the thing that used to be true and is now not. + auto mark = [&](int region) { + if (region < 0 || region >= int(loops.size())) return; + for (int ei : loops[region].ents) + if (ei >= 0 && ei < int(sel_ent.size())) sel_ent[ei] = 1; + }; + mark(m_display_pick_region); + for (int h : loops[m_display_pick_region].holes) mark(h); + } + } + std::vector<Vec2d> point_markers, sel_point_markers; + for (int i = 0; i < int(ds.entities.size()); ++i) { + const SketchEntity& e = ds.entities[i]; + // A Point has no polyline to strip; draw it as a vertex marker so a committed + // point stays visible (it vanished on commit). Selection colouring keeps working: + // sel_ent[] stays index-aligned with ds.entities, untouched for the other types. + if (e.type == SketchEntity::Type::Point) { + (sel_ent[i] ? sel_point_markers : point_markers).push_back(e.p0); + continue; + } + bool closed = false; + std::vector<Vec2d> poly = entity_polyline(e, closed); + const ColorRGBA* hlc = sketch_hl_color(ds.feature); + ColorRGBA wc = sel_ent[i] ? swire : (hlc ? *hlc : dwire); + draw_quad_strip(m_line_model, poly, closed, wc); + } + if (!point_markers.empty()) { + const ColorRGBA* hlc = sketch_hl_color(ds.feature); + draw_vertices(m_vertex_model, point_markers, hlc ? *hlc : dwire); + } + if (!sel_point_markers.empty()) + draw_vertices(m_highlight_model, sel_point_markers, swire); + } + m_plane = saved_plane; + } + + // Nothing else to draw when no live sketch session is active — except the solid + // face/edge highlight overlay (whole-solid tint is handled by set_body_highlight). + if (!m_active) { + render_datum_planes(); + render_mate_connectors(); + render_solid_highlight(); + if (m_dbp_active) render_base_pick(); + if (m_dz_active) render_datum_gizmo(); + if (m_hx_active) render_helix_gizmo(); + if (m_rb_active) render_rib_gizmo(); + if (m_ex_active) render_extrude_gizmo(); + if (m_mv_active) render_move_gizmo(); + if (m_fl_active) render_fillet_gizmo(); + if (m_hl_active) render_hole_gizmo(); + if (m_th_active) render_thread_gizmo(); + if (m_sh_active) render_shell_gizmo(); + if (m_rv_active) render_revolve_gizmo(); + if (m_dr_active) render_draft_gizmo(); + if (m_ct_active) render_cut_gizmo(); + if (m_pt_active) render_pattern_gizmo(); + shader->stop_using(); + glsafe(::glEnable(GL_CULL_FACE)); + glsafe(::glEnable(GL_DEPTH_TEST)); + return; + } + + // Imported-art transform: only the bbox + handles over the (display-overlay) art. + if (m_mode == Mode::TransformArt) { + render_xform_gizmo(); + shader->stop_using(); + glsafe(::glEnable(GL_CULL_FACE)); + glsafe(::glEnable(GL_DEPTH_TEST)); + return; + } + + const ColorRGBA orange(1.0f, 0.55f, 0.1f, 1.0f); + const ColorRGBA yellow(1.0f, 0.85f, 0.2f, 1.0f); + const ColorRGBA grey(0.55f, 0.55f, 0.60f, 1.0f); + + if (m_mode == Mode::Constrain) { + const ColorRGBA cyan(0.30f, 0.80f, 1.0f, 1.0f); + const ColorRGBA red(1.0f, 0.25f, 0.25f, 1.0f); + if (m_constrain_entities) { + // Draw all entities cyan; picked Line entities highlighted red. + std::vector<Vec2d> markers; + for (size_t i = 0; i < m_entities.size(); ++i) { + const SketchEntity& e = m_entities[i]; + const bool sel = (int(i) == m_pick0 || int(i) == m_pick1 || int(i) == m_pick2); + // Constraint-manager highlight: the entities a selected constraint + // references glow yellow (picked entities still win as red). + const bool hl = !sel && std::find(m_constraint_hl.begin(), m_constraint_hl.end(), + int(i)) != m_constraint_hl.end(); + const ColorRGBA col = sel ? red : (hl ? yellow : cyan); + if (e.type == SketchEntity::Type::Point) { markers.push_back(e.p0); continue; } + bool closed = false; + std::vector<Vec2d> poly = entity_polyline(e, closed); + draw_quad_strip((sel || hl) ? m_highlight_model : m_line_model, poly, closed, col); + } + if (!markers.empty()) + draw_vertices(m_vertex_model, markers, cyan); + // Constraint badges (C3.4b): iconic glyphs near each constraint's entity. + { + const double upp = 1.0 / std::max(camera.get_zoom(), 1e-6); + std::vector<std::pair<Vec2d, Vec2d>> glyphs; + build_constraint_glyphs(upp, m_constrain_cons, glyphs); + if (!glyphs.empty()) { + const ColorRGBA badge(0.45f, 0.95f, 0.70f, 1.0f); // CAD teal-green + draw_strokes(m_fill_model, glyphs, std::max(0.9 * upp, 1e-4), badge); + } + } + shader->stop_using(); + glsafe(::glEnable(GL_CULL_FACE)); + glsafe(::glEnable(GL_DEPTH_TEST)); + return; + } + draw_quad_strip(m_line_model, m_points, true, cyan); + draw_vertices(m_vertex_model, m_points, cyan); + if (m_sel_a >= 0 && m_sel_b >= 0 && + m_sel_a < int(m_points.size()) && m_sel_b < int(m_points.size())) { + std::vector<Vec2d> seg = { m_points[m_sel_a], m_points[m_sel_b] }; + draw_quad_strip(m_highlight_model, seg, false, red); + } + shader->stop_using(); + glsafe(::glEnable(GL_CULL_FACE)); + glsafe(::glEnable(GL_DEPTH_TEST)); + return; + } + + // Closed loops fill as translucent faces (the "closed loop = selectable face" + // affordance). Drawn first so the entity outlines paint over the fill. + { + // region_loops(), NOT closed_regions(): the latter returns raw polygons with no notion + // of nesting, so a circle drawn inside a rectangle was filled as its own solid disc on + // top of a solid rectangle. That is why a live sketch still showed a filled blue circle + // however often the COMMITTED renderer below was corrected — these are two separate + // renderers and only one of them had been taught about holes. + const std::vector<RegionLoop> loops = region_loops(m_entities); + if (!loops.empty()) { + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + // A bore is not a face. Skip loops that are somebody's hole, and cut those holes out + // of the region that owns them, so a plate with a hole LOOKS like one while drawing. + std::vector<char> is_hole(loops.size(), 0); + for (const RegionLoop& L : loops) + for (int h : L.holes) + if (h >= 0 && h < int(is_hole.size())) is_hole[h] = 1; + for (size_t r = 0; r < loops.size(); ++r) { + if (is_hole[r]) continue; + std::vector<std::vector<Vec2d>> hp; + for (int h : loops[r].holes) + if (h >= 0 && h < int(loops.size())) hp.push_back(loops[h].poly); + draw_fill_holed(m_fill_model, loops[r].poly, hp, design_idle_face_color()); + } + glsafe(::glDisable(GL_BLEND)); + } + } + + // Committed entities of this session. DoF feedback (P3): a fully-constrained + // sketch (dof==0, consistent) paints green; entities touched by a conflicting + // constraint paint red; otherwise the under-constrained default (orange / grey + // construction). Selected entities always override to the shared selection colour. + // NOT white: the Design tab now paints a bed grid, and white-on-grid made a freshly + // drawn (hence auto-selected) line invisible against it. design_selection_color() is + // the same cyan the solid picks already wear, so "selected" reads the same everywhere. + const ColorRGBA white(1.0f, 1.0f, 1.0f, 1.0f); // hover handle only + const ColorRGBA sel_col = design_selection_color(); + const ColorRGBA green(0.30f, 0.85f, 0.42f, 1.0f); + const ColorRGBA conflict(1.0f, 0.22f, 0.22f, 1.0f); + const ColorRGBA opref(0.80f, 0.45f, 1.0f, 1.0f); // violet: the edit-op's reference pick + const double upp_dash = 1.0 / std::max(camera.get_zoom(), 1e-6); // world units per pixel + const ColorRGBA editing(1.0f, 0.78f, 0.10f, 1.0f); // amber: entity whose dim is being typed + const bool fully = (m_dof == 0 && m_solve_ok); + // While an auto-edit value field is open, the active step names the entities its dimension + // drives — light them up so it's obvious WHICH feature the number (e.g. a circle's radius) + // changes. + const std::vector<int>* edit_hi = + (m_autoedit_dim_idx >= 0 && m_autoedit_dim_idx < int(m_autoedit_dims.size())) + ? &m_autoedit_dims[m_autoedit_dim_idx].hi : nullptr; + std::vector<Vec2d> point_markers, sel_point_markers; + for (size_t i = 0; i < m_entities.size(); ++i) { + const SketchEntity& e = m_entities[i]; + const bool selected = + std::find(m_selection.begin(), m_selection.end(), int(i)) != m_selection.end(); + const bool editing_this = + edit_hi && std::find(edit_hi->begin(), edit_hi->end(), int(i)) != edit_hi->end(); + const bool bad = i < m_entity_conflict.size() && m_entity_conflict[i]; + // The first pick of an edit-op has a DIFFERENT ROLE from the rest of the selection — + // Mirror's is the axis, Fillet/Chamfer's is the first of the two lines — and until now + // every pick painted the same white, so the picture could not answer "what did I select + // as what". Violet, not cyan: cyan means SELECTED here and nothing else may wear it. + // vd6v. + const bool op_ref = is_edit_op_mode() && int(i) == m_op_a; + ColorRGBA col; + if (editing_this) col = editing; + else if (op_ref) col = opref; + else if (selected) col = sel_col; + else if (bad) col = conflict; + else if (e.construction) col = grey; + else col = fully ? green : orange; + if (e.type == SketchEntity::Type::Point) { + (selected ? sel_point_markers : point_markers).push_back(e.p0); + continue; + } + bool closed = false; + std::vector<Vec2d> poly = entity_polyline(e, closed); + GLModel& target = (selected || editing_this || op_ref) ? m_highlight_model : m_line_model; + if (e.construction) { + for (const std::vector<Vec2d>& d : dash_polyline(poly, closed, 9.0 * upp_dash, 6.0 * upp_dash)) + draw_quad_strip(target, d, false, col); + } else { + draw_quad_strip(target, poly, closed, col); + } + } + if (!point_markers.empty()) + draw_vertices(m_vertex_model, point_markers, yellow); + if (!sel_point_markers.empty()) + draw_vertices(m_highlight_model, sel_point_markers, sel_col); + + // Constraint badges during a LIVE sketch. They used to render only inside Mode::Constrain + // on a COMMITTED feature, so every constraint applied while drawing — which is the path the + // Constrain buttons take during a session — was invisible and unremovable: you could not + // tell whether Parallel had been applied, nor take it back. Same glyphs, same teal, sourced + // from this session's m_constraints; click one to delete it (remove_constraint_near). + if (!m_constraints.empty()) { + std::vector<std::pair<Vec2d, Vec2d>> glyphs; + build_constraint_glyphs(upp_dash, m_constraints, glyphs); + if (!glyphs.empty()) + draw_strokes(m_fill_model, glyphs, std::max(0.9 * upp_dash, 1e-4), + ColorRGBA(0.45f, 0.95f, 0.70f, 1.0f)); // CAD teal-green + } + + // Endpoint / centre handles so individual points are visible and pickable in the + // Select and Dimension tools (a line = a segment + 2 points). Selected ones cyan. + m_show_handles = (m_mode == Mode::Select || m_mode == Mode::Dimension); + if (m_show_handles) { + std::vector<Vec2d> handles, sel_handles; + auto add_h = [&](int ei, SketchPointRole r, const Vec2d& q) { + const bool s = std::find(m_point_sel.begin(), m_point_sel.end(), + std::make_pair(ei, r)) != m_point_sel.end(); + (s ? sel_handles : handles).push_back(q); + }; + for (size_t i = 0; i < m_entities.size(); ++i) { + const SketchEntity& e = m_entities[i]; + switch (e.type) { + case SketchEntity::Type::Line: + add_h(int(i), SketchPointRole::P0, e.p0); + add_h(int(i), SketchPointRole::P1, e.p1); + break; + case SketchEntity::Type::Arc: + case SketchEntity::Type::EllipseArc: + add_h(int(i), SketchPointRole::P0, e.p0); + add_h(int(i), SketchPointRole::P1, e.p1); + add_h(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::Circle: + case SketchEntity::Type::Ellipse: + add_h(int(i), SketchPointRole::Center, e.center); + break; + case SketchEntity::Type::BSpline: + add_h(int(i), SketchPointRole::P0, e.p0); + add_h(int(i), SketchPointRole::P1, e.p1); + break; + case SketchEntity::Type::Point: + break; // its own marker is drawn above + } + } + if (!handles.empty()) draw_vertices(m_vertex_model, handles, ColorRGBA(0.65f, 0.65f, 0.30f, 1.0f)); + if (!sel_handles.empty()) draw_vertices(m_highlight_model, sel_handles, sel_col); + + // Midpoint of every segment, drawn smaller and cooler than the endpoint handles + // (te8v). Without it the Midpoint snap is invisible: it exists in the + // inference engine but the user has nothing to aim at. Construction lines get one + // too — you constrain to them as readily as to real geometry. + std::vector<Vec2d> mids; + for (const SketchEntity& e : m_entities) { + if (e.type == SketchEntity::Type::Line) + mids.push_back(0.5 * (e.p0 + e.p1)); + else if (e.type == SketchEntity::Type::Arc) { + const double am = 0.5 * (e.start_angle + e.end_angle); + mids.push_back(Vec2d(e.center.x() + e.radius * std::cos(am), + e.center.y() + e.radius * std::sin(am))); + } + } + if (!mids.empty()) + draw_vertices(m_vertex_model, mids, ColorRGBA(0.35f, 0.75f, 0.85f, 1.0f), 0.9); + + // Derived feature handles (A3): the circle RadiusHandle is not a SketchPointRole, + // so the per-point pass above doesn't draw it. Render it (cyan) + the hovered + // handle (white, larger) at a screen-constant size so they stay grabbable at any + // zoom. A4 makes these draggable; later phases add slot/rect/polygon handles. + const double upp = 1.0 / std::max(camera.get_zoom(), 1e-6); + std::vector<Vec2d> radius_h; + for (const Handle& h : build_handles()) + if (h.role == HandleRole::RadiusHandle || h.role == HandleRole::MajorAxis || + h.role == HandleRole::MinorAxis || h.role == HandleRole::BSplineCtrl) + radius_h.push_back(h.pos); + if (!radius_h.empty()) + draw_vertices(m_vertex_model, radius_h, ColorRGBA(0.30f, 0.75f, 0.95f, 1.0f), + std::max(4.0 * upp, 1e-4)); + if (m_has_hover_handle) + draw_vertices(m_highlight_model, { m_hover_handle.pos }, white, + std::max(5.5 * upp, 1e-4)); + } + + // Placed dimension quotes (drawn in every mode so they persist while sketching). + // Pass plane-units-per-pixel so labels keep a constant on-screen size. + render_dimensions(1.0 / std::max(camera.get_zoom(), 1e-6)); + render_live_quotes(1.0 / std::max(camera.get_zoom(), 1e-6)); + // Draw-then-edit: the selection's live quotes now exist. Open the primary value editor on + // the next event-loop tick (NOT here inside the paint) so the floating field grabs focus + // cleanly — the same context the Line path opens from. m_live_quotes persists until the + // next render_live_quotes(), so the deferred open still sees this frame's values. + if (m_autoedit_pending) { + m_autoedit_pending = false; + trace_autoedit("pending -> deferring open", 0); + wxGetApp().CallAfter([this] { open_primary_autoedit(); }); + } + if (is_edit_op_mode()) + render_op_gizmo(1.0 / std::max(camera.get_zoom(), 1e-6)); + if (is_transform_mode()) + render_tf_gizmo(1.0 / std::max(camera.get_zoom(), 1e-6)); + + // In-progress entity preview for the active tool. + const ColorRGBA preview = m_construction ? grey : orange; + switch (m_mode) { + + case Mode::Select: + case Mode::Dimension: + break; // selection highlight / placed quotes are drawn above; no rubber-band + + case Mode::Polyline: { + std::vector<Vec2d> pts = m_points; + if (m_has_cursor) + pts.push_back(m_cursor); + draw_quad_strip(m_highlight_model, pts, false, preview); + draw_vertices(m_vertex_model, m_points, yellow); + // Teal rubber-band = the new segment is locked to an inference angle. + if (m_cursor_locked && m_has_cursor && !m_points.empty()) { + const ColorRGBA lock(0.10f, 0.85f, 0.80f, 1.0f); + std::vector<Vec2d> seg = { m_points.back(), m_cursor }; + draw_quad_strip(m_line_model, seg, false, lock); + } + break; + } + + case Mode::Line: { + std::vector<Vec2d> pts = m_points; + if (m_has_cursor && m_points.size() == 1) + pts.push_back(m_cursor); + if (pts.size() >= 2) { + const ColorRGBA col = (m_cursor_locked && m_points.size() == 1) + ? ColorRGBA(0.10f, 0.85f, 0.80f, 1.0f) : preview; + draw_quad_strip(m_highlight_model, pts, false, col); + } + draw_vertices(m_vertex_model, m_points, yellow); + break; + } + + case Mode::CornerRect: { + if (m_points.size() == 1 && m_has_cursor) { + const Vec2d A = m_points[0]; + const Vec2d B = m_cursor; + std::vector<Vec2d> corners = { A, Vec2d(B.x(), A.y()), B, Vec2d(A.x(), B.y()) }; + draw_quad_strip(m_highlight_model, corners, true, preview); + } + break; + } + + case Mode::CenterRect: { + if (m_points.size() == 1 && m_has_cursor) { + const Vec2d C = m_points[0]; + const Vec2d P = m_cursor; + const double hx = std::abs(P.x() - C.x()); + const double hy = std::abs(P.y() - C.y()); + std::vector<Vec2d> corners = { + Vec2d(C.x() - hx, C.y() - hy), Vec2d(C.x() + hx, C.y() - hy), + Vec2d(C.x() + hx, C.y() + hy), Vec2d(C.x() - hx, C.y() + hy) }; + draw_quad_strip(m_highlight_model, corners, true, preview); + draw_vertices(m_vertex_model, { C }, yellow); + } + break; + } + + case Mode::ObliqueRect: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 2 && m_has_cursor) { + const Vec2d A = m_points[0], B = m_points[1]; + Vec2d u = B - A; + if (u.squaredNorm() > 1e-12) { + u.normalize(); + const Vec2d n(-u.y(), u.x()); + const double w = n.dot(m_cursor - A); + draw_quad_strip(m_highlight_model, { A, B, B + n * w, A + n * w }, true, preview); + } + } + break; + } + + case Mode::RoundedRect: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + const Vec2d A = m_points[0], B = m_cursor; // box not yet fixed: plain rect + draw_quad_strip(m_highlight_model, { A, Vec2d(B.x(), A.y()), B, Vec2d(A.x(), B.y()) }, true, preview); + } else if (m_points.size() == 2 && m_has_cursor) { + draw_entities_preview(make_rounded_rect(m_points[0], m_points[1], m_cursor), preview); + } + break; + } + + case Mode::CenterCircle: { + if (m_points.size() == 1 && m_has_cursor) { + const Vec2d C = m_points[0]; + const double r = (m_cursor - C).norm(); + draw_quad_strip(m_highlight_model, circle_polygon(C, r), true, preview); + draw_vertices(m_vertex_model, { C }, yellow); + } + break; + } + + case Mode::TwoPointCircle: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + const Vec2d C = (m_points[0] + m_cursor) * 0.5; + const double r = (m_cursor - m_points[0]).norm() * 0.5; + draw_quad_strip(m_highlight_model, circle_polygon(C, r), true, preview); + } + break; + } + + case Mode::ThreePointCircle: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 2 && m_has_cursor) + draw_entities_preview(make_three_point_circle(m_points[0], m_points[1], m_cursor), preview); + break; + } + + case Mode::ThreePointArc: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 2 && m_has_cursor) + draw_entities_preview(make_three_point_arc(m_points[0], m_points[1], m_cursor), preview); + break; + } + + case Mode::TangentArc: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) + draw_entities_preview(make_tangent_arc(m_points[0], m_cursor), preview); + break; + } + + case Mode::CenterArc: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + // center placed: show the radius rubber-band as a faint guide circle + SketchEntity g; g.type = SketchEntity::Type::Circle; g.center = m_points[0]; + g.p0 = m_points[0]; g.radius = (m_cursor - m_points[0]).norm(); g.construction = true; + draw_entities_preview({ g }, preview); + } else if (m_points.size() == 2 && m_has_cursor) { + draw_entities_preview(make_center_arc(m_points[0], m_points[1], m_cursor), preview); + } + break; + } + + case Mode::Slot: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + draw_quad_strip(m_highlight_model, { m_points[0], m_cursor }, false, grey); + } else if (m_points.size() == 2 && m_has_cursor) { + Vec2d u = m_points[1] - m_points[0]; + if (u.squaredNorm() > 1e-12) { + u.normalize(); + const Vec2d n(-u.y(), u.x()); + const double w = std::abs(n.dot(m_cursor - m_points[0])); + draw_entities_preview(make_slot(m_points[0], m_points[1], w), preview); + } + } + break; + } + + case Mode::ArcSlot: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + // center placed: faint guide circle for the centerline radius + SketchEntity g; g.type = SketchEntity::Type::Circle; g.center = m_points[0]; + g.p0 = m_points[0]; g.radius = (m_cursor - m_points[0]).norm(); g.construction = true; + draw_entities_preview({ g }, preview); + } else if (m_points.size() == 2 && m_has_cursor) { + draw_entities_preview(make_center_arc(m_points[0], m_points[1], m_cursor), preview); // centerline arc + } else if (m_points.size() == 3 && m_has_cursor) { + const double Rc = (m_points[1] - m_points[0]).norm(); + const double w = std::abs((m_cursor - m_points[0]).norm() - Rc); + draw_entities_preview(make_arc_slot(m_points[0], m_points[1], m_points[2], w), preview); + } + break; + } + + case Mode::Polygon: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) + draw_entities_preview(make_polygon(m_points[0], m_cursor, m_polygon_sides), preview); + break; + } + + case Mode::Ellipse: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + SketchEntity g; g.type = SketchEntity::Type::Line; + g.p0 = m_points[0]; g.p1 = m_cursor; g.construction = true; // major-axis rubber band + draw_entities_preview({ g }, preview); + } else if (m_points.size() == 2 && m_has_cursor) { + draw_entities_preview(make_ellipse(m_points[0], m_points[1], m_cursor), preview); + } + break; + } + + case Mode::EllipseArc: { + draw_vertices(m_vertex_model, m_points, yellow); + if (m_points.size() == 1 && m_has_cursor) { + SketchEntity g; g.type = SketchEntity::Type::Line; + g.p0 = m_points[0]; g.p1 = m_cursor; g.construction = true; + draw_entities_preview({ g }, preview); + } else if (m_points.size() == 2 && m_has_cursor) { + draw_entities_preview(make_ellipse(m_points[0], m_points[1], m_cursor), preview); + } else if (m_points.size() == 3 && m_has_cursor) { + std::vector<SketchEntity> full = make_ellipse(m_points[0], m_points[1], m_points[2]); + for (auto& e : full) e.construction = true; // faint full ellipse + draw_entities_preview(full, preview); + } else if (m_points.size() == 4 && m_has_cursor) { + draw_entities_preview(make_ellipse_arc(m_points[0], m_points[1], m_points[2], + m_points[3], m_cursor), preview); + } + break; + } + + case Mode::BSpline: { + std::vector<Vec2d> poles = m_points; + if (m_has_cursor) poles.push_back(m_cursor); + // Faint control polygon as a placement guide. + if (poles.size() >= 2) { + std::vector<SketchEntity> guide; + for (size_t i = 1; i < poles.size(); ++i) { + SketchEntity g; g.type = SketchEntity::Type::Line; + g.p0 = poles[i - 1]; g.p1 = poles[i]; g.construction = true; + guide.push_back(g); + } + draw_entities_preview(guide, grey); + } + // The spline curve itself. + if (poles.size() >= 2) + draw_quad_strip(m_highlight_model, bspline_polyline(poles), false, preview); + draw_vertices(m_vertex_model, m_points, yellow); + break; + } + + case Mode::Trim: + case Mode::Extend: { + // Hover preview: paint the exact sub-portion a click would cut (Trim) / add (Extend) + // in red, recomputed from the cursor every frame (never persisted). The pick tolerance + // matches on_mouse: ~8 px projected to plane units, x3 (here via zoom -> units/px). + if (m_has_cursor) { + const double upp = 1.0 / std::max(camera.get_zoom(), 1e-6); + int subj = -1; + std::vector<Vec2d> removed; + const ColorRGBA cut(1.0f, 0.2f, 0.2f, 1.0f); + if (compute_trim_preview(m_cursor, 24.0 * upp, m_mode == Mode::Extend, subj, removed)) + draw_quad_strip(m_highlight_model, removed, false, cut); + } + break; + } + + case Mode::Point: + case Mode::Constrain: + break; + } + + // Inference hint: highlight the snapped target under the cursor (C1.3). Colour + // encodes what the placed point will be Coincident/PointOnObject/Fixed onto. + if (m_has_cursor && m_mode != Mode::Constrain && m_cursor_snap.snapped()) { + ColorRGBA hint(1.0f, 0.55f, 0.1f, 1.0f); // endpoint: orange + switch (m_cursor_snap.kind) { + case InferenceSnap::Kind::Midpoint: hint = ColorRGBA(0.35f, 0.90f, 0.75f, 1.0f); break; // teal + case InferenceSnap::Kind::Center: hint = ColorRGBA(0.30f, 0.80f, 1.0f, 1.0f); break; // cyan + case InferenceSnap::Kind::Origin: hint = ColorRGBA(1.0f, 0.30f, 0.85f, 1.0f); break; // magenta + case InferenceSnap::Kind::OnEdge: hint = ColorRGBA(0.45f, 0.70f, 1.0f, 1.0f); break; // blue + default: break; + } + draw_vertices(m_highlight_model, { m_cursor_snap.point }, hint); + } + + shader->stop_using(); + glsafe(::glEnable(GL_CULL_FACE)); + glsafe(::glEnable(GL_DEPTH_TEST)); + + if (on_readout) on_readout(build_readout()); // bottom-right viewport HUD +} + +// Compact "current values" for the bottom-right HUD: the live segment being drawn (length +// + bearing) takes priority; otherwise the selected entity's characteristic quotes (the +// same values render_live_quotes just drew on the geometry). +std::string DesignSketchTool::build_readout() const +{ + auto en = [](char* b) { for (char* c = b; *c; ++c) if (*c == ',') *c = '.'; }; + if (m_active && (m_mode == Mode::Line || m_mode == Mode::Polyline) && + !m_points.empty() && m_has_cursor) { + const Vec2d d = m_cursor - m_points.back(); + double ang = std::atan2(d.y(), d.x()) * 180.0 / M_PI; if (ang < 0.0) ang += 360.0; + char b[80]; std::snprintf(b, sizeof(b), "L %.2f mm %.1f\xC2\xB0", d.norm(), ang); + en(b); + std::string out = b; + // Tell the user how to end a polyline chain — there's no other affordance for it. + if (m_mode == Mode::Polyline && m_points.size() >= 2) + out += " right-click or double-click to finish, click start to close"; + return out; + } + if (!m_active) return std::string(); + std::string out; + for (const DimAnnot& q : m_live_quotes) { // selection's Length/Radius/Width/… quotes + if (!out.empty()) out += " "; + out += dim_text(q); + } + return out; +} + +// Distance from point p to the segment [a,b] in plane (2D) coordinates. +static double point_segment_dist(const Vec2d& p, const Vec2d& a, const Vec2d& b) +{ + const Vec2d ab = b - a; + const double len2 = ab.squaredNorm(); + if (len2 < 1e-12) + return (p - a).norm(); + double t = (p - a).dot(ab) / len2; + t = std::max(0.0, std::min(1.0, t)); + return (p - (a + t * ab)).norm(); +} + +// Even-odd point-in-polygon test (plane coords), for picking a closed-loop interior. +static bool point_in_poly(const Vec2d& q, const std::vector<Vec2d>& poly) +{ + if (poly.size() < 3) return false; + bool in = false; + for (size_t i = 0, j = poly.size() - 1; i < poly.size(); j = i++) { + const Vec2d& a = poly[i]; + const Vec2d& b = poly[j]; + if (((a.y() > q.y()) != (b.y() > q.y())) && + (q.x() < (b.x() - a.x()) * (q.y() - a.y()) / (b.y() - a.y()) + a.x())) + in = !in; + } + return in; +} + +// Möller–Trumbore ray/triangle intersection in 3D world space. ro=ray origin, rd=ray dir +// (not necessarily unit). Returns true + the ray parameter t (>0) of the hit. +static bool ray_triangle(const Vec3d& ro, const Vec3d& rd, + const Vec3d& v0, const Vec3d& v1, const Vec3d& v2, double& t) +{ + const Vec3d e1 = v1 - v0, e2 = v2 - v0; + const Vec3d p = rd.cross(e2); + const double det = e1.dot(p); + if (std::abs(det) < 1e-12) return false; // parallel + const double inv = 1.0 / det; + const Vec3d s = ro - v0; + const double u = s.dot(p) * inv; + if (u < -1e-9 || u > 1.0 + 1e-9) return false; + const Vec3d q = s.cross(e1); + const double v = rd.dot(q) * inv; + if (v < -1e-9 || u + v > 1.0 + 1e-9) return false; + t = e2.dot(q) * inv; + return t > 1e-9; +} + +// Shortest distance between an infinite ray (ro+rd) and a 3D segment [a,b]. +static double ray_segment_dist3(const Vec3d& ro, const Vec3d& rd, const Vec3d& a, const Vec3d& b) +{ + const Vec3d d1 = rd, d2 = b - a, r = ro - a; + const double A = d1.dot(d1), B = d1.dot(d2), C = d2.dot(d2), D = d1.dot(r), E = d2.dot(r); + const double denom = A * C - B * B; + double s = (std::abs(denom) > 1e-12) ? (A * E - B * D) / denom : 0.0; // param on segment + s = std::max(0.0, std::min(1.0, s)); + double tt = (B * s - D) / std::max(A, 1e-12); // param on ray + tt = std::max(0.0, tt); // ray is forward-only + const Vec3d pr = ro + tt * d1, ps = a + s * d2; + return (pr - ps).norm(); +} + +// Screen-plane distance from p to a sketch entity, for click picking in Constrain +// mode. Circles/arcs measure distance to the ring; points to their position. +static double entity_pick_dist(const Vec2d& p, const SketchEntity& e) +{ + switch (e.type) { + case SketchEntity::Type::Line: return point_segment_dist(p, e.p0, e.p1); + case SketchEntity::Type::Point: return (p - e.p0).norm(); + case SketchEntity::Type::Circle: + case SketchEntity::Type::Arc: return std::abs((p - e.center).norm() - e.radius); + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: { + // Accurate edge pick: sample the true ellipse outline as a polyline and take the + // min segment distance. The crude mean-radius circle mis-picks eccentric ellipses + // (the outline at the major/minor extremes is far from that circle), which made the + // face-fill swallow edge clicks. Full ellipse sweeps 0..2pi; an arc its param range. + const double cu = std::cos(e.rotation), su = std::sin(e.rotation); + const bool full = (e.type == SketchEntity::Type::Ellipse); + const double t0 = full ? 0.0 : e.start_angle; + const double t1 = full ? 2.0 * M_PI : e.end_angle; + const int n = 48; + double best = 1e30; Vec2d prev; + for (int i = 0; i <= n; ++i) { + const double t = t0 + (t1 - t0) * double(i) / n; + const double lx = e.radius * std::cos(t), ly = e.rminor * std::sin(t); // local + const Vec2d q(e.center.x() + lx * cu - ly * su, + e.center.y() + lx * su + ly * cu); // world + if (i > 0) best = std::min(best, point_segment_dist(p, prev, q)); + prev = q; + } + return best; + } + case SketchEntity::Type::BSpline: { + const std::vector<Vec2d> poly = bspline_polyline(e.ctrl); + double best = 1e30; + for (size_t i = 1; i < poly.size(); ++i) + best = std::min(best, point_segment_dist(p, poly[i - 1], poly[i])); + return best; + } + } + return 1e30; +} + +// Adjacency endpoints for loop walking (Circles/Points have none -> stand-alone). +static void entity_endpoints(const SketchEntity& e, std::vector<Vec2d>& out) +{ + out.clear(); + if (e.type == SketchEntity::Type::Line) { + out.push_back(e.p0); + out.push_back(e.p1); + } else if (e.type == SketchEntity::Type::Arc) { + out.push_back(e.center + e.radius * Vec2d(std::cos(e.start_angle), std::sin(e.start_angle))); + out.push_back(e.center + e.radius * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle))); + } +} + +// Reference point for positioning ops: a Point's position, or a Circle/Arc centre. +// Lines have no single reference point (return false). +static bool entity_ref_point(const SketchEntity& e, Vec2d& out) +{ + switch (e.type) { + case SketchEntity::Type::Point: out = e.p0; return true; + case SketchEntity::Type::Circle: + case SketchEntity::Type::Arc: + case SketchEntity::Type::Ellipse: + case SketchEntity::Type::EllipseArc: out = e.center; return true; + default: return false; // Line + } +} + +// Rigidly translate a whole entity (keeps size/shape). +static void translate_entity(SketchEntity& e, const Vec2d& d) +{ + e.p0 += d; + e.p1 += d; + e.center += d; + for (auto& cp : e.ctrl) cp += d; // BSpline poles +} + +// Select whatever the cursor is over, for a RIGHT-click. In every CAD application the context +// menu belongs to the thing you pointed at; here the menu was built from whatever happened to be +// selected already, so right-clicking a line you had not left-clicked first offered the empty- +// selection vocabulary and its own Delete/Length/Trim rows were nowhere. The offer table already +// described all of those for SkLine/SkArc/SkPoint — the pick was the missing half. +// +// Nothing is stolen from an existing selection: if the entity under the cursor is already part +// of it, the selection is left exactly as it is, so right-clicking one member of a multi-entity +// pick still offers the multi-entity verbs. +// ---- Scripted surface (MCP) ------------------------------------------------------------ + +int DesignSketchTool::add_entities_scripted(const std::vector<SketchEntity>& ents) +{ + if (ents.empty()) return -1; + const int base = int(m_entities.size()); + for (const SketchEntity& e : ents) m_entities.push_back(e); + // Auto-constrain, but do NOT let the inference move what the caller specified. A gesture + // gets 3 degrees of slack because a hand cannot click an exact horizontal; a scripted add + // has already said exactly what it means, and snapping a segment 2 degrees off to exactly + // horizontal silently rewrites it. Measured on a real drawing: feeding the 64 flattened + // segments of one circle moved vertices by up to 0.058 mm and shrank the enclosed area by + // 0.067%, because several segments of the polygon fell inside that 3 degree window. Exact + // coincidence inference is unaffected — it already tests to 1e-6 — so chains still weld + // and genuinely axis-aligned scripted geometry still gets its Horizontal/Vertical. + // + // ZERO, not 1e-4. Any window at all is a window that moves the caller's points, and 1e-4 rad + // was still wide enough to catch the short chords of a small flattened circle: on four of + // the 39 corpus drawings the loops that came back wrong were all TINY (1.4 to 13 mm^2), out + // by up to 7e-4 relative, because a 0.005 degree tilt on a 0.3 mm chord is inside 1e-4. + // With zero, only a segment that is EXACTLY axis-aligned is constrained, and constraining + // something already true cannot move it. 8xg1. + // The weld window closes too. Two endpoints a micron apart are not the same point when a + // caller typed both of them: on MPD681, 20 of 363 scripted segments were dragged onto a + // common point up to 0.0021 mm away, because welding is TRANSITIVE and three vertices near + // the origin chained into one. Exactly-equal endpoints still weld, which is what keeps a + // scripted profile closed — a ring's last point IS its first point. + infer_auto_constraints(base, 0.0, 0.0); + resolve_live(); + // A scripted add is not a drawn gesture, and draw-then-edit must not fire for it. The render + // pass arms that on a jump in the entity count (see the m_autoedit_seen block in render()), + // so a bulk load made while a creation tool is armed selected the last scripted entity and + // opened that tool's value field — which freezes the canvas (on_mouse_impl returns early + // while m_awaiting_length) and swallows every letter (in_text includes inline_busy()). The + // symptom was that the first key and click after sketch_add did nothing until one Escape had + // dismissed the field. Resyncing the baseline here leaves an ALREADY open field alone; it + // only stops this add from being read as something the user just drew. j7gc. + m_autoedit_seen = int(m_entities.size()); + return base; +} + +bool DesignSketchTool::select_indices(const std::vector<int>& idx) +{ + m_selection.clear(); + m_point_sel.clear(); + const int n = int(m_entities.size()); + for (int i : idx) + if (i >= 0 && i < n && + std::find(m_selection.begin(), m_selection.end(), i) == m_selection.end()) + m_selection.push_back(i); + if (on_selection_changed) on_selection_changed(int(m_selection.size())); + return !m_selection.empty(); +} + +DesignSketchTool::LoopReport DesignSketchTool::loop_report() const +{ + LoopReport out; + + // Closed regions and their voids come straight from the code the viewport already uses to + // decide what can be extruded, so the report cannot drift from what the tool will build. + const auto regs = region_loops(m_entities); + out.loops.reserve(regs.size()); + for (const auto& r : regs) { + LoopInfo li; + li.ents = r.ents; + li.holes = r.holes; + li.closed = true; + // Analytic where the loop IS one closed curve; shoelace only where it is a chain. + // region_loops hands back the render polyline, and a circle's is a 64-gon whose area is + // 0.3% short — a number reported as "area" must not be the faceting error. + if (r.ents.size() == 1 && r.ents[0] >= 0 && r.ents[0] < int(m_entities.size()) && + (m_entities[r.ents[0]].type == SketchEntity::Type::Circle || + m_entities[r.ents[0]].type == SketchEntity::Type::Ellipse)) { + const SketchEntity& c = m_entities[r.ents[0]]; + li.area = (c.type == SketchEntity::Type::Circle) + ? M_PI * c.radius * c.radius + : M_PI * c.radius * c.rminor; + } else { + // EXACT area by Green's theorem over the chain, entity by entity, with no faceting + // anywhere. The obvious alternative — shoelace over the render polyline — is short by + // the slivers between each arc and its chords: 2.02 mm2 on a 3706.86 mm2 stadium, + // 0.054%, invisible on screen and simply wrong in a number reported as "the area". + // Correcting the shoelace afterwards does NOT work: a mirrored arc stores a negated + // sweep, so two corrections that should add cancel instead. Integrating each entity + // in TRAVERSAL order sidesteps the sign question entirely. + // line A->B : x0*y1 - x1*y0 + // arc a0->a1: Cx*r*(sin a1 - sin a0) - Cy*r*(cos a1 - cos a0) + r^2*(a1 - a0) + // Both are the integrand of the contour integral, so area2 accumulates 2*area and is + // halved once at the end. (Doubling the arc term instead reads 5913.72 on the stadium + // — exactly one arc's contribution too much, which is how the slip was caught.) + auto ent_ends = [&](int ei, Vec2d& a, Vec2d& b) { + a = m_entities[ei].p0; b = m_entities[ei].p1; + }; + const double eps = 1e-6; + double area2 = 0.0; + bool exact = true; + Vec2d cur(0, 0); + for (size_t k = 0; k < r.ents.size(); ++k) { + const int ei = r.ents[k]; + if (ei < 0 || ei >= int(m_entities.size())) { exact = false; break; } + const SketchEntity& e = m_entities[ei]; + if (e.type != SketchEntity::Type::Line && e.type != SketchEntity::Type::Arc) { + exact = false; break; // spline / ellipse arc: fall back below + } + Vec2d A, B; ent_ends(ei, A, B); + bool rev = false; + if (k == 0) { + // Orient the first entity by whichever of its ends the SECOND one touches: + // that shared point is where this entity must finish. + if (r.ents.size() > 1) { + Vec2d C, D; ent_ends(r.ents[1], C, D); + if ((A - C).norm() < eps || (A - D).norm() < eps) rev = true; + } + } else { + if ((B - cur).norm() < eps) rev = true; + else if ((A - cur).norm() >= eps) { exact = false; break; } + } + const Vec2d P = rev ? B : A; + const Vec2d Q = rev ? A : B; + if (e.type == SketchEntity::Type::Line) { + area2 += P.x() * Q.y() - Q.x() * P.y(); + } else { + const double a0 = rev ? e.end_angle : e.start_angle; + const double a1 = rev ? e.start_angle : e.end_angle; + area2 += e.center.x() * e.radius * (std::sin(a1) - std::sin(a0)) + - e.center.y() * e.radius * (std::cos(a1) - std::cos(a0)) + + e.radius * e.radius * (a1 - a0); + } + cur = Q; + } + if (exact) { + li.area = 0.5 * area2; + } else { + // Splines and elliptical arcs have no closed form here; the render polyline is + // the honest best estimate, and it is flagged as such by being the fallback. + double a = 0.0; + for (size_t i = 0; i + 1 < r.poly.size(); ++i) + a += r.poly[i].x() * r.poly[i + 1].y() - r.poly[i + 1].x() * r.poly[i].y(); + if (r.poly.size() > 2) + a += r.poly.back().x() * r.poly.front().y() - r.poly.front().x() * r.poly.back().y(); + li.area = 0.5 * a; + } + } + out.loops.push_back(std::move(li)); + } + + // Open ends: an endpoint of an open curve that no other open curve's endpoint meets. This is + // the actionable half of the report — it says WHERE the profile fails to close, in plane + // coordinates, instead of only that it does. + struct End { Vec2d p; }; + std::vector<End> ends; + for (const SketchEntity& e : m_entities) { + if (e.construction) continue; + if (e.type == SketchEntity::Type::Line || e.type == SketchEntity::Type::Arc || + e.type == SketchEntity::Type::EllipseArc || e.type == SketchEntity::Type::BSpline) { + ends.push_back({ e.p0 }); + ends.push_back({ e.p1 }); + } + } + const double eps = sketch_join_tol(); + for (size_t i = 0; i < ends.size(); ++i) { + int met = 0; + for (size_t j = 0; j < ends.size(); ++j) { + if (i == j) continue; + if ((ends[i].p - ends[j].p).norm() < eps) ++met; + } + if (met == 0) { + // Report each free end once; two ends of the same gap are two different points. + bool dup = false; + for (const Vec2d& q : out.open_ends) + if ((q - ends[i].p).norm() < eps) { dup = true; break; } + if (!dup) out.open_ends.push_back(ends[i].p); + } + } + return out; +} + +int DesignSketchTool::heal_coincidences(double tol, bool ignore_construction) +{ + if (tol <= 0.0) tol = 1e-3; + // Endpoint roles an entity exposes, same set infer_auto_constraints matches on. + auto roles_of = [](const SketchEntity& e, SketchPointRole out[2]) -> int { + switch (e.type) { + case SketchEntity::Type::Line: + case SketchEntity::Type::Arc: + case SketchEntity::Type::BSpline: + case SketchEntity::Type::EllipseArc: + out[0] = SketchPointRole::P0; out[1] = SketchPointRole::P1; return 2; + case SketchEntity::Type::Point: + out[0] = SketchPointRole::P0; return 1; + default: return 0; + } + }; + + const int n = int(m_entities.size()); + int welded = 0; + std::vector<SketchEntityConstraintDef> cands; + for (int i = 0; i < n; ++i) { + if (ignore_construction && m_entities[i].construction) continue; + SketchPointRole ir[2]; const int ni = roles_of(m_entities[i], ir); + for (int a = 0; a < ni; ++a) { + Vec2d pa; if (!point_at(i, ir[a], pa)) continue; + for (int j = i + 1; j < n; ++j) { + if (ignore_construction && m_entities[j].construction) continue; + SketchPointRole jr[2]; const int nj = roles_of(m_entities[j], jr); + for (int b = 0; b < nj; ++b) { + Vec2d pb; if (!point_at(j, jr[b], pb)) continue; + const double d = (pa - pb).norm(); + if (d > tol) continue; + if (has_coincident(i, ir[a], j, jr[b])) continue; + // WELD FIRST, then constrain. Handing the solver two points a tolerance + // apart and asking it to make them equal lets it move the rest of the sketch + // to get there; snapping them together first means the constraint it is + // asked to satisfy is already true, so nothing else shifts. + if (d > 0.0) { set_point(j, jr[b], pa); pb = pa; } + SketchEntityConstraintDef c; + c.type = SketchConstraintType::Coincident; + c.ea = i; c.ra = ir[a]; c.eb = j; c.rb = jr[b]; + cands.push_back(c); + ++welded; + } + } + } + } + if (!cands.empty()) { + try_add_constraints(cands); + resolve_live(); + } + return welded; +} + +bool DesignSketchTool::select_at_screen(GLCanvas3D& canvas, int sx, int sy) +{ + if (!is_active()) return false; + const Linef3 ray = canvas.mouse_ray(Point(sx, sy)); + const Linef3 ray8 = canvas.mouse_ray(Point(sx + 8, sy)); + const Vec2d p = m_plane.project(ray.a, ray.vector()); + const Vec2d p8 = m_plane.project(ray8.a, ray8.vector()); + const double tol = std::max(1e-3, (p8 - p).norm()); + + // A point handle beats the curve it belongs to, same precedence the left-click pick uses. + int ei = -1; SketchPointRole role = SketchPointRole::P0; + if (hit_test_point(p, tol, ei, role)) { + // A Point ENTITY is its own handle: there is nothing else to select there. Taking the + // handle branch for it filled m_point_sel and left m_selection empty — and the offer + // counts only m_selection, so right-clicking a sketch point produced the EMPTY + // vocabulary and every SkPoint row in the atlas was unreachable from the menu. Other + // entities keep the handle pick: a line's endpoint is a drag target, not a thing with a + // vocabulary of its own. lnri. + if (ei >= 0 && ei < int(m_entities.size()) + && m_entities[ei].type == SketchEntity::Type::Point) { + if (std::find(m_selection.begin(), m_selection.end(), ei) != m_selection.end()) + return false; // already selected: leave it alone + m_selection.assign(1, ei); + m_point_sel.clear(); + if (on_selection_changed) on_selection_changed(1); + return true; + } + const auto pr = std::make_pair(ei, role); + if (std::find(m_point_sel.begin(), m_point_sel.end(), pr) != m_point_sel.end()) + return false; // already selected: leave it alone + m_selection.clear(); + m_point_sel.assign(1, pr); + if (on_selection_changed) on_selection_changed(1); + return true; + } + + const int hit = hit_test(p, tol); + if (hit < 0) return false; + if (std::find(m_selection.begin(), m_selection.end(), hit) != m_selection.end()) + return false; // already selected: leave it alone + m_selection.assign(1, hit); + m_point_sel.clear(); + if (on_selection_changed) on_selection_changed(1); + return true; +} + +int DesignSketchTool::hit_test(const Vec2d& p, double tol) const +{ + double best = tol; + int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + return bi; +} + +std::vector<int> DesignSketchTool::connected_loop(int seed) const +{ + std::vector<int> out; + if (seed < 0 || seed >= int(m_entities.size())) return out; + const double eps2 = sketch_join_tol() * sketch_join_tol(); + std::vector<bool> vis(m_entities.size(), false); + std::vector<int> stack = { seed }; + vis[seed] = true; + while (!stack.empty()) { + const int cur = stack.back(); + stack.pop_back(); + out.push_back(cur); + std::vector<Vec2d> ce; + entity_endpoints(m_entities[cur], ce); + if (ce.empty()) continue; // circle/point: not part of a chain + for (size_t j = 0; j < m_entities.size(); ++j) { + if (vis[j]) continue; + std::vector<Vec2d> je; + entity_endpoints(m_entities[j], je); + if (je.empty()) continue; + bool adj = false; + for (const Vec2d& a : ce) + for (const Vec2d& b : je) + if ((a - b).squaredNorm() < eps2) { adj = true; break; } + if (adj) { vis[j] = true; stack.push_back(int(j)); } + } + } + return out; +} + +// Right-click has two jobs in a sketch, and they were resolved by giving one of them everything: +// the offer was excluded in sketch mode wholesale so a right-click could end a polyline chain, +// abandon an anchor or exit a tool. That made every sketch row in the atlas unreachable. +// The honest test is not "which mode are we in" but "did the tool actually USE this right-click", +// and only the tool knows. Wrapping on_mouse records that once, for every terminator, instead of +// threading a flag through the twenty-odd sites that consume a RightDown. +// Right-click abandons the anchor a draw tool has down. With NOTHING down there is nothing to +// abandon — and consuming the click anyway made the offer unreachable from every armed draw tool: +// on_mouse records the consumption in m_right_consumed and DesignCanvas's RIGHT_UP handler +// suppresses the menu whenever it is set, so right-click became a no-op that also hid the one door +// to half the vocabulary (47 of 86 verbs have no shortcut). Measured on the rig: with Line armed, +// two right-clicks in a row produced no menu and no tool change; only Escape freed it. +// Same rule as xmh6, which said it for the selection: clearing nothing is not a gesture +// terminator. ghcz. +bool DesignSketchTool::right_abandon() +{ + if (m_points.empty()) + return false; // hand it back, so the canvas opens the offer + m_points.clear(); + m_has_cursor = false; + return true; +} + +bool DesignSketchTool::on_mouse(wxMouseEvent& evt, GLCanvas3D& canvas) +{ + const bool consumed = on_mouse_impl(evt, canvas); + if (evt.RightDown()) + m_right_consumed = consumed; + return consumed; +} + +bool DesignSketchTool::on_mouse_impl(wxMouseEvent& evt, GLCanvas3D& canvas) +{ + // Track the cursor in canvas client px so the in-canvas value editor can open right + // where the user clicked (Onshape places the field at the click, not via a camera + // projection — the design canvas's viewport isn't valid outside its own paint). + m_last_mouse_x = evt.GetX(); + m_last_mouse_y = evt.GetY(); + + // Line draw-then-edit: while the length editor is open right after the second click, + // freeze the canvas so a stray move/click can't push a third point or rubber-band a + // segment under the floating field. The editor's Enter/Esc resolves it + // (apply_segment_length / keep_segment_as_drawn, the latter clears this flag). + if (m_awaiting_length) { + // Polyline terminators must work even with a per-segment field open: right-click or + // double-click accepts the current segment as drawn (close the field) and falls through + // so the Polyline handler ends the chain. Without this the freeze ate every terminator. + if (m_mode == Mode::Polyline && (evt.RightDown() || evt.LeftDClick()) && on_inline_dismiss) + on_inline_dismiss(); // -> set_inline_busy(false), m_awaiting_length=false + // The freeze exists so a stray click can't draw under the floating field — it was + // never meant to trap the camera. Let drags and the wheel through, so a field that + // opens somewhere unexpected can't leave the viewport unusable. + else if (evt.Dragging() || evt.GetWheelRotation() != 0) + return false; + else + return true; + } + + // No live session, but committed sketches are shown as overlays on the plate: a left + // click on a loop (its edge OR its closed interior) selects that Sketch feature. This + // is the ONLY interaction in display-only mode; everything else (drag/move/wheel/right) + // falls through (return false) so the camera can still orbit the plate. + if (!m_active) { + // Double-click on a committed sketch stroke OPENS IT FOR EDITING; on empty space it + // still fits the view. A sketch line has to be editable from the line, not from a tree + // row — selecting it already lit the feature, but "now go and press Edit in the panel" + // is the side-panel dependency this tab exists to remove. Fit keeps the rest of the + // plate, so nothing is taken away. + if (evt.LeftDClick()) { + int f = -1, r = -1, e = -1, ff = -1, fr = -1; double dbest = 1e30; + const Linef3 dray = canvas.mouse_ray(Point(evt.GetX(), evt.GetY())); + const Linef3 dray8 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + for (const DisplaySketch& d : m_display_sketches) { + const Vec2d dp = d.plane.project(dray.a, dray.vector()); + const Vec2d dp8 = d.plane.project(dray8.a, dray8.vector()); + hit_display_sketch(d, dp, std::max(1e-3, (dp8 - dp).norm()), f, r, e, dbest, ff, fr); + } + const int target = (f >= 0) ? f : ff; + if (target >= 0 && on_display_sketch_activated) { + dp_pick_trace("double-click -> edit sketch feature %d (entity %d)", target, e); + on_display_sketch_activated(target); + return true; + } + canvas.zoom_to_volumes(); + return true; + } + // Visual Extrude gizmo (C5b): while the Extrude card is open the depth arrow is + // grabbable — drag changes the depth live; a click (no drag) on the arrow opens the + // inline depth editor. Intercept before the early no-LeftDown bailout so Dragging/ + // LeftUp reach us; a LeftDown that misses the arrow falls through to solid/loop pick. + // Move-body gizmo (M5): three world-axis arrows on the selected body. Drag an arrow to + // translate live; a stationary click on it opens the inline offset editor; a right click + // exits move mode. A LeftDown that misses the arrows falls through to solid re-pick. + if (m_mv_active) { + if (m_mv_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + if (m_mv_drag < 3) drag_move_arrow(canvas, evt, m_mv_drag); + else drag_move_arc(canvas, evt, m_mv_drag - 3); + return true; + } + if (evt.LeftUp() && m_mv_drag >= 0) { + const int d = m_mv_drag; m_mv_drag = -1; + const bool moved = std::abs(evt.GetX() - m_mv_press_x) + + std::abs(evt.GetY() - m_mv_press_y) > 3; + if (!moved && d < 3) open_move_editor(d); // stationary click on an arrow = edit offset + return true; + } + if (evt.RightDown()) { clear_move_gizmo(); canvas.set_as_dirty(); if (on_move_exit) on_move_exit(); return true; } + if (evt.LeftDown()) { + int axis = -1; + if (hit_test_move_arrow(canvas, evt, axis)) { // translate arrows win over rings + m_mv_drag = axis; m_mv_press_x = evt.GetX(); m_mv_press_y = evt.GetY(); + return true; + } + if (hit_test_move_arc(canvas, evt, axis)) { + m_mv_drag = 3 + axis; m_mv_press_x = evt.GetX(); m_mv_press_y = evt.GetY(); + m_mv_rot_start = m_mv_rot; + double a0; if (arc_mouse_angle(canvas, evt, axis, a0)) m_mv_arc_a0 = a0; + return true; + } + } + } + // Datum-plane resize gizmo (C3): while the Plane card is open the 4 edge handles are + // grabbable — drag changes the u/v extent live. A LeftDown that misses falls through. + if (m_dz_active) { + if (m_dz_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_datum_handle(canvas, evt, m_dz_drag); + return true; + } + if (evt.LeftUp() && m_dz_drag >= 0) { m_dz_drag = -1; return true; } + if (evt.LeftDown()) { + int which = -1; + if (hit_test_datum_handle(canvas, evt, which)) { + m_dz_drag = which; m_dz_press_x = evt.GetX(); m_dz_press_y = evt.GetY(); + return true; + } + } + } + // Helix gizmo: radius/height/pitch handles on the live curve, while the Helix card is open. + if (m_hx_active) { + if (m_hx_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_helix_handle(canvas, evt, m_hx_drag); + return true; + } + if (evt.LeftUp() && m_hx_drag >= 0) { m_hx_drag = -1; return true; } + if (evt.LeftDown()) { + int which = -1; + if (hit_test_helix_handle(canvas, evt, which)) { + m_hx_drag = which; m_hx_press_x = evt.GetX(); m_hx_press_y = evt.GetY(); + return true; + } + } + } + // Rib thickness gizmo: two in-plane handles on the slab footprint, while the Rib card is open. + if (m_rb_active) { + if (m_rb_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_rib_handle(canvas, evt, m_rb_drag); + return true; + } + if (evt.LeftUp() && m_rb_drag >= 0) { m_rb_drag = -1; return true; } + if (evt.LeftDown()) { + int which = -1; + if (hit_test_rib_handle(canvas, evt, which)) { + m_rb_drag = which; + return true; + } + } + } + // Datum base picker: HOVER highlight only here. The CLICK is handled at the very end of the + // selection fall-through (below), so picking existing geometry (committed sketch loops, + // solid faces/edges) always wins over a base-plane click — the planes never block selection. + if (m_dbp_active && evt.Moving() && !evt.LeftIsDown()) { + const int h = hit_test_base_pick(canvas, evt); + if (h != m_dbp_hover) { + m_dbp_hover = h; + canvas.set_as_dirty(); + if (h >= 0) return true; // caller render()s on true -> hover repaints on software GL + } + } + if (m_ex_active) { + if (m_ex_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_extrude_arrow(canvas, evt, m_ex_drag); + return true; + } + if (evt.LeftUp() && m_ex_drag >= 0) { + const int which = m_ex_drag; m_ex_drag = -1; + const bool moved = std::abs(evt.GetX() - m_ex_press_x) + + std::abs(evt.GetY() - m_ex_press_y) > 3; + if (!moved) open_extrude_editor(which); // treat a stationary click as edit + return true; + } + if (evt.LeftDown()) { + int which = -1; + if (hit_test_extrude_arrow(canvas, evt, which)) { + m_ex_drag = which; m_ex_press_x = evt.GetX(); m_ex_press_y = evt.GetY(); + return true; + } + } + } + // Revolve angle-arc gizmo: drag the arc tip to sweep the angle; a stationary click on the + // handle opens the inline editor. A LeftDown that misses falls through to normal picking. + if (m_rv_active) { + if (m_rv_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_revolve_arc(canvas, evt); + return true; + } + if (evt.LeftUp() && m_rv_drag) { + m_rv_drag = false; + const bool moved = std::abs(evt.GetX() - m_rv_press_x) + + std::abs(evt.GetY() - m_rv_press_y) > 3; + if (!moved) open_revolve_editor(); + return true; + } + if (evt.LeftDown() && hit_test_revolve_handle(canvas, evt)) { + m_rv_drag = true; m_rv_press_x = evt.GetX(); m_rv_press_y = evt.GetY(); + return true; + } + } + // Draft angle-arc gizmo: drag the arc tip to sweep the draft angle; a stationary click + // edits it. A LeftDown that misses falls through to normal picking. + if (m_dr_active) { + if (m_dr_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_draft_arc(canvas, evt); + return true; + } + if (evt.LeftUp() && m_dr_drag) { + m_dr_drag = false; + return true; + } + if (evt.LeftDown() && hit_test_draft_handle(canvas, evt)) { + m_dr_drag = true; m_dr_press_x = evt.GetX(); m_dr_press_y = evt.GetY(); + return true; + } + } + // Cut gizmo: drag the offset arrow along the cut-plane normal; no positive clamp (offset is signed). + if (m_ct_active) { + if (m_ct_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_cut_arrow(canvas, evt); + return true; + } + if (evt.LeftUp() && m_ct_drag) { + m_ct_drag = false; + return true; + } + if (evt.LeftDown() && hit_test_cut_arrow(canvas, evt)) { + start_cut_drag(canvas, evt); + return true; + } + } + // Pattern gizmo: drag the diamond/arc handle to set the spacing (linear) or angle (circular); + // a stationary click opens the inline editor. A LeftDown that misses falls through to picking. + if (m_pt_active) { + if (m_pt_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_pattern_handle(canvas, evt); + return true; + } + if (evt.LeftUp() && m_pt_drag) { + m_pt_drag = false; + const bool moved = std::abs(evt.GetX() - m_pt_press_x) + + std::abs(evt.GetY() - m_pt_press_y) > 3; + if (!moved) open_pattern_editor(); + return true; + } + if (evt.LeftDown() && hit_test_pattern_handle(canvas, evt)) { + m_pt_drag = true; m_pt_press_x = evt.GetX(); m_pt_press_y = evt.GetY(); + return true; + } + } + // Fillet/Chamfer radius gizmo: drag the edge-anchored arrow to set the radius live; a + // stationary click opens the inline editor. A LeftDown that misses falls through to pick. + if (m_fl_active) { + if (m_fl_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_fillet_arrow(canvas, evt); + return true; + } + if (evt.LeftUp() && m_fl_drag) { + m_fl_drag = false; + const bool moved = std::abs(evt.GetX() - m_fl_press_x) + + std::abs(evt.GetY() - m_fl_press_y) > 3; + if (!moved) open_fillet_editor(); // stationary click = edit + return true; + } + if (evt.LeftDown() && hit_test_fillet_arrow(canvas, evt)) { + start_fillet_drag(canvas, evt); + return true; + } + } + // Hole gizmo: drag the centre to reposition / the diameter or depth arrow to resize; a + // stationary click on an arrow opens its inline editor. A LeftDown that misses any handle + // falls through to solid/loop picking. + if (m_hl_active) { + if (m_hl_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_hole_handle(canvas, evt); + return true; + } + if (evt.LeftUp() && m_hl_drag >= 0) { + const int which = m_hl_drag; m_hl_drag = -1; + const bool moved = std::abs(evt.GetX() - m_hl_press_x) + + std::abs(evt.GetY() - m_hl_press_y) > 3; + if (!moved) open_hole_editor(which); // stationary click = edit + return true; + } + if (evt.LeftDown()) { + const int which = hit_test_hole_handle(canvas, evt); + if (which >= 0) { start_hole_drag(canvas, evt, which); return true; } + } + } + // Thread gizmo: same interaction as the hole gizmo (centre / radius / length handles). + if (m_th_active) { + if (m_th_drag >= 0 && evt.Dragging() && evt.LeftIsDown()) { + drag_thread_handle(canvas, evt); + return true; + } + if (evt.LeftUp() && m_th_drag >= 0) { + const int which = m_th_drag; m_th_drag = -1; + const bool moved = std::abs(evt.GetX() - m_th_press_x) + + std::abs(evt.GetY() - m_th_press_y) > 3; + if (!moved) open_thread_editor(which); + return true; + } + if (evt.LeftDown()) { + const int which = hit_test_thread_handle(canvas, evt); + if (which >= 0) { start_thread_drag(canvas, evt, which); return true; } + } + } + // Shell gizmo: drag the inward thickness arrow; stationary click opens the inline editor. + if (m_sh_active) { + if (m_sh_drag && evt.Dragging() && evt.LeftIsDown()) { + drag_shell_arrow(canvas, evt); + return true; + } + if (evt.LeftUp() && m_sh_drag) { + m_sh_drag = false; + const bool moved = std::abs(evt.GetX() - m_sh_press_x) + + std::abs(evt.GetY() - m_sh_press_y) > 3; + if (!moved) open_shell_editor(); + return true; + } + if (evt.LeftDown() && hit_test_shell_arrow(canvas, evt)) { + start_shell_drag(canvas, evt); + return true; + } + } + // Left-drag rubber band -> whole body. Past the click budget the press becomes a sweep: + // the rectangle is anchored at the ORIGINAL press point (not at the frame where the + // threshold was crossed, which would lose the first few pixels) and the events are + // consumed from here on. Left-drag no longer orbits in this canvas — DesignCanvas puts + // orbit on middle-drag and pan on right-drag, the CAD convention — so nothing downstream + // is being starved of a gesture it used to own. + // HOVER PRE-HIGHLIGHT (9xw part 3): say what a click would take, before it is + // taken. Plain motion only — no button down, no band running — because during a drag the + // pointer is doing something else and a promise about clicking would be a lie. Returns + // false so the event still reaches the camera; this only asks for a repaint, it does not + // consume the gesture, which is the difference between a hint and a handler. + if (evt.Moving() && !evt.LeftIsDown() && !m_rubber.is_dragging()) { + if (update_solid_hover(canvas, evt)) canvas.set_as_dirty(); + return false; + } + if (evt.Dragging() && evt.LeftIsDown() && m_pick_pending) { + if (!m_rubber.is_dragging()) { + if (std::max(std::abs(evt.GetX() - m_pick_press_x), + std::abs(evt.GetY() - m_pick_press_y)) <= 8) + return false; // still inside the click budget + m_rubber.start_dragging(Vec2d(m_pick_press_x, m_pick_press_y), + GLSelectionRectangle::Select); + } + m_rubber.dragging(Vec2d(evt.GetX(), evt.GetY())); + return true; + } + // Any event with the left button up ends a band — not just LeftUp. A release that lands + // outside the canvas never sends us one, and a band left running would then paint a + // rectangle that follows the cursor with no button held. + if (m_rubber.is_dragging() && !evt.LeftIsDown()) { + m_pick_pending = false; + if (evt.LeftUp()) pick_bodies_in_rectangle(); // a release elsewhere selects nothing + m_rubber.stop_dragging(); + return evt.LeftUp(); + } + // Click vs drag. Consuming the LeftDown here killed camera orbit/pan the moment a + // solid was on screen: Orca starts a rotate drag on the press, so swallowing it meant + // the canvas never began one. (A SpaceMouse kept working — it never goes through + // wxMouseEvent.) Remember the press, let it fall through so the canvas can orbit, and + // resolve the pick on release only if the pointer stayed put. + if (evt.LeftDown()) { + m_pick_press_x = evt.GetX(); + m_pick_press_y = evt.GetY(); + m_pick_pending = true; + dp_pick_trace("down x=%d y=%d", evt.GetX(), evt.GetY()); + return false; + } + if (!(evt.LeftUp() && m_pick_pending)) { + if (evt.LeftUp()) dp_pick_trace("up with no pending press (press was eaten upstream)"); + return false; + } + m_pick_pending = false; + dp_pick_trace("up x=%d y=%d drift=%d", evt.GetX(), evt.GetY(), + std::max(std::abs(evt.GetX() - m_pick_press_x), + std::abs(evt.GetY() - m_pick_press_y))); + // Threshold per axis, at GTK's own drag threshold. A hand-held mouse drifts several + // pixels during an ordinary click — a tight budget silently swallowed real clicks and + // looked exactly like "selection does not work". Synthetic clicks never drift, which + // is why the headless rig could not show this. + if (std::max(std::abs(evt.GetX() - m_pick_press_x), + std::abs(evt.GetY() - m_pick_press_y)) > 8) { + dp_pick_trace("rejected as drag"); + return false; // it was a drag: the canvas already orbited, don't also select + } + // Committed-sketch loop pick is computed FIRST. A click that lands on a loop's + // STROKE (edge) selects that loop even when it lies on a solid face — so a sketch + // drawn ON a face can be selected and extruded/cut (Onshape engraving workflow). + // Open-face area (no loop stroke under the cursor) falls through to the solid + // whole/face/edge cycle; an interior hit with no solid behind it is the last resort. + Point pos(evt.GetX(), evt.GetY()); + const Linef3 ray = canvas.mouse_ray(pos); + const Linef3 ray8 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + int edge_feat = -1, edge_reg = -1, edge_ent = -1; double edge_d = 1e30; // nearest stroke + int face_feat = -1, face_reg = -1; // interior (fallback) + dp_pick_trace("display sketches available: %zu", m_display_sketches.size()); + for (const DisplaySketch& d : m_display_sketches) { + const Vec2d p = d.plane.project(ray.a, ray.vector()); + const Vec2d p8 = d.plane.project(ray8.a, ray8.vector()); + const double tol = std::max(1e-3, (p8 - p).norm()); + hit_display_sketch(d, p, tol, edge_feat, edge_reg, edge_ent, edge_d, face_feat, face_reg); + } + // A precise hit on a loop outline wins over the solid face beneath it. + if (edge_feat >= 0) { + m_display_pick = edge_feat; m_display_pick_region = edge_reg; + if (on_display_sketch_selected) on_display_sketch_selected(edge_feat, edge_reg, edge_ent); + return true; + } + // No loop stroke under the cursor: the solid is the foreground (whole/face/edge cycle). + if (handle_solid_click(canvas, evt)) return true; + // Interior of a committed loop with no solid behind it. + if (face_feat >= 0) { + m_display_pick = face_feat; m_display_pick_region = face_reg; + if (on_display_sketch_selected) on_display_sketch_selected(face_feat, face_reg, -1); + return true; + } + m_display_pick = -1; m_display_pick_region = -1; // clicked bare plate -> drop highlight + // ...and the SOLID selection goes with it (od0). A click that hits nothing has to + // mean what a rubber band that sweeps nothing already means — pick_bodies_in_rectangle + // clears on an empty sweep, and the two gestures cannot disagree about the same outcome. + // Until now the face survived a click on bare plate, so "click away, then click the face + // again" arrived here as the SECOND click on the same face and escalated to the whole + // body, when the click away was the user letting go of it. + // + // The cost is real and is the intended trade: Thicken / Shell / Draft hold their input + // face in the panel's m_sel_solid_face, so a stray click on empty canvas with one of + // those cards open gives that face back. Their handlers already write the "(pick a solid + // face)" placeholder and rebuild the ghost at level 0, so the card SAYS it lost the pick + // rather than confirming against a face the viewport has stopped highlighting. + // + // Guarded on there being something to clear: this runs on every click that misses, and + // the callback re-renders the open card's preview. + if (m_solid_sel != SolidSel::None) { + clear_solid_selection(); + dp_pick_trace("clicked empty space -> selection cleared"); + if (on_solid_selection_changed) + on_solid_selection_changed(int(m_solid_sel), m_sel_body, m_sel_face, m_sel_edge); + } + // Last resort: a click that hit no geometry but landed on a reference/base plane picks it. + if (m_dbp_active) { + const int h = hit_test_base_pick(canvas, evt); + if (h >= 0 && h < int(m_dbp_base.size())) { + if (on_datum_base_picked) on_datum_base_picked(m_dbp_base[h]); + return true; + } + } + return false; // let the stock canvas orbit / deselect + } + + // In-canvas edit-op tools (Fillet/Chamfer/Offset/Mirror): pick entities, then a + // draggable arrow + editable value label (Mirror: a two-phase pick) drives a live + // ghost. A click on empty space confirms; right-click/Esc cancels the gesture. + // Standalone Trim / Extend scissors: click a segment to cut it back to (Trim) or out to + // (Extend) its nearest intersection with the other live entities. One cut per click; the + // tool stays active for more cuts; right-click exits. Drag falls through so the camera can + // still orbit. Operates directly on the live sketch — no Constrain mode. + if (m_mode == Mode::Trim || m_mode == Mode::Extend) { + if (evt.Moving()) { screen_to_plane(canvas, evt, m_cursor); m_has_cursor = true; return true; } + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + const double tol = std::max(1e-3, (m_plane.project(r2.a, r2.vector()) - p).norm()); + if (apply_live_trim(p, tol * 3.0, m_mode == Mode::Extend)) { + resolve_live(); + } else if (on_readout) { + // nde #15: don't fail silently. The pick found nothing to cut/extend — either + // the click missed every live segment, or the picked segment has no crossing / + // target among the OTHER live entities (committed sketches aren't trimmed). + on_readout(m_mode == Mode::Extend + ? std::string("Extend: click a line/arc that can reach another live entity") + : std::string("Trim: click a segment where it crosses another live entity")); + } + return true; + } + if (evt.RightDown()) { request_exit(); return true; } + return false; // let move/drag orbit the camera + } + + if (is_edit_op_mode()) { + if (evt.Moving()) { + screen_to_plane(canvas, evt, m_cursor); + m_has_cursor = true; + return true; + } + if (m_op_dragging_arrow && evt.Dragging() && evt.LeftIsDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + drag_op_arrow(p); + return true; + } + if (evt.LeftUp()) { + if (m_op_dragging_arrow) { m_op_dragging_arrow = false; return true; } + return false; + } + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + const double tol = std::max(1e-3, (m_plane.project(r2.a, r2.vector()) - p).norm()); + // 1) live gizmo: click the value label to type, or grab the arrow to drag. + if (op_ready() && m_mode != Mode::Mirror) { + const Linef3 rl = canvas.mouse_ray(Point(evt.GetX() + 24, evt.GetY())); + const double ltol = std::max(tol, (m_plane.project(rl.a, rl.vector()) - p).norm()); + if ((m_op_label - p).norm() <= ltol) { open_op_editor(); return true; } + if (hit_test_op_arrow(p, tol)) { m_op_dragging_arrow = true; return true; } + } + // 2) entity pick (close enough to an entity edge). + double best = 1e30; int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + if (bi >= 0 && best <= tol * 3.0) { op_pick(bi); return true; } + // 3) empty click confirms a ready gesture. + if (op_ready()) confirm_op(); + return true; + } + if (evt.RightDown()) { + if (m_op_a >= 0 || !m_mirror_targets.empty()) { + reset_op(); + m_selection.clear(); + if (on_selection_changed) on_selection_changed(0); + } else { + request_exit(); + } + return true; + } + return false; + } + + // In-canvas transform tools (Move/Rotate/Scale/Array/PolarArray): pick subject + // entities, then a single draggable handle + editable value label(s) drive a live + // ghost. A click on empty space confirms; right-click drops the gesture / exits. + if (is_transform_mode()) { + if (evt.Moving()) { + screen_to_plane(canvas, evt, m_cursor); + m_has_cursor = true; + return true; + } + if (m_tf_dragging && evt.Dragging() && evt.LeftIsDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + drag_tf_handle(p); + return true; + } + if (evt.LeftUp()) { + if (m_tf_dragging) { m_tf_dragging = false; return true; } + return false; + } + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + const double tol = std::max(1e-3, (m_plane.project(r2.a, r2.vector()) - p).norm()); + // 1) live gizmo: click a value label to type, or grab the handle to drag. + if (tf_ready()) { + const Linef3 rl = canvas.mouse_ray(Point(evt.GetX() + 24, evt.GetY())); + const double ltol = std::max(tol, (m_plane.project(rl.a, rl.vector()) - p).norm()); + if ((m_tf_label_a - p).norm() <= ltol) { open_tf_editor_a(); return true; } + if ((m_tf_label_b - p).norm() <= ltol) { open_tf_editor_count(); return true; } + if (hit_test_tf_handle(p, tol)) { m_tf_dragging = true; return true; } + } + // 2) entity pick (close enough to an entity edge). + double best = 1e30; int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + if (bi >= 0 && best <= tol * 3.0) { tf_pick(bi); return true; } + // 3) empty click confirms a ready gesture. + if (tf_ready()) confirm_transform(); + return true; + } + if (evt.RightDown()) { + if (!m_tf_targets.empty()) { + reset_tf(); + m_selection.clear(); + if (on_selection_changed) on_selection_changed(0); + } else { + request_exit(); + } + return true; + } + return false; + } + + // Imported-art bbox transform: drag a corner to scale, the centre to move. Right-click + // ends the session. Values stream live to the host via on_imported_transform. + if (m_mode == Mode::TransformArt) { + if (evt.Moving()) { + screen_to_plane(canvas, evt, m_cursor); + m_has_cursor = true; + return true; + } + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 10, evt.GetY())); + const double tol = std::max(1e-3, (m_plane.project(r2.a, r2.vector()) - p).norm()); + const int h = hit_test_xform_handle(p, tol); + if (h >= 0) { + m_xform_handle = h; + if (h == 4) m_xform_anchor = p; // centre move: track the delta + else { Vec2d c[4]; xform_world_corners(c); m_xform_anchor = c[(h + 2) % 4]; } + } + return true; // swallow (no camera orbit while placing) + } + if (m_xform_handle >= 0 && evt.Dragging() && evt.LeftIsDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + drag_xform_handle(p); + return true; + } + if (evt.LeftUp()) { m_xform_handle = -1; return true; } + if (evt.RightDown()) { if (on_exit) on_exit(); else cancel(); return true; } + return false; + } + + // Constrain mode: pick a segment on click; let move/drag fall through so the + // camera can still orbit while inspecting the sketch. + if (m_mode == Mode::Constrain) { + if (m_constrain_entities) { + // Pick any entity (line/circle/arc/point): rolling two-slot selection. + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + double best = 1e30; + int bi = -1; + for (size_t i = 0; i < m_entities.size(); ++i) { + const double d = entity_pick_dist(p, m_entities[i]); + if (d < best) { best = d; bi = int(i); } + } + if (bi >= 0) { + // Rolling three-slot selection: slots 0/1 feed all 2-entity + // constraints; slot 2 is the Symmetric axis (only filled once + // 0 and 1 are set). A click past slot 2 restarts the cycle. + if (m_pick0 < 0) { m_pick0 = bi; m_pick0_pt = p; } + else if (m_pick1 < 0 && bi != m_pick0) m_pick1 = bi; + else if (m_pick1 >= 0 && m_pick2 < 0 && bi != m_pick0 && bi != m_pick1) m_pick2 = bi; + else { m_pick0 = bi; m_pick1 = m_pick2 = -1; m_pick0_pt = p; } + } + return true; + } + if (evt.RightDown()) { cancel(); return true; } + return false; + } + if (evt.LeftDown()) { + if (m_points.size() < 2) + return false; + Vec2d p; + screen_to_plane(canvas, evt, p); + const size_t n = m_points.size(); + double best = 1e30; + int bi = -1; + for (size_t i = 0; i < n; ++i) { + const double d = point_segment_dist(p, m_points[i], m_points[(i + 1) % n]); + if (d < best) { best = d; bi = int(i); } + } + if (bi >= 0) { + m_sel_a = bi; + m_sel_b = int((bi + 1) % n); + } + return true; + } + if (evt.RightDown()) { + cancel(); + return true; + } + return false; + } + + // Selection mode: click to pick an entity, Shift/Ctrl to extend, double-click + // to grab the whole connected loop. Drag falls through so the camera can orbit. + if (m_mode == Mode::Select) { + if (update_hover(canvas, evt)) return true; // repaint when the hovered handle changes + const bool extend = evt.ShiftDown() || evt.ControlDown(); + + // A constraint badge is a click target: clicking it DELETES that constraint. Existing or + // not is the whole of a constraint's state, so this click is the toggle. Checked before + // entity picking because badges sit clear of the geometry (offset along +Y), so a hit + // here is unambiguous; plain click only, so Shift/Ctrl multi-select is never eaten. + if (evt.LeftDown() && !extend) { + Vec2d gp; + if (screen_to_plane(canvas, evt, gp) && remove_constraint_near(gp)) { + if (on_selection_changed) + on_selection_changed(int(m_selection.size() + m_point_sel.size())); + return true; + } + } + + // Live point drag: once an endpoint/centre was grabbed on LeftDown, dragging + // moves it (re-solving constraints live) until the button is released. When + // nothing is grabbed, drag falls through so the camera can still orbit. + if (m_dragging_point && evt.Dragging() && evt.LeftIsDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + if (m_drag_poly_fi >= 0) + drag_polygon_vertex(m_drag_poly_fi, m_drag_ei, m_drag_role, p); // keep regular + else if (m_drag_rect_fi >= 0) + drag_rect_corner(m_drag_rect_fi, p); // resize axis-aligned box + else if (m_drag_slot_fi >= 0) + drag_slot_handle(m_drag_slot_fi, p); // move a slot end + else if (m_drag_ei >= 0 && m_drag_ei < int(m_entities.size()) && + m_entities[m_drag_ei].type == SketchEntity::Type::Arc) + drag_arc_handle(m_drag_ei, m_drag_role, p); // center/radius/angle grips + else if (m_drag_ei >= 0 && m_drag_ei < int(m_entities.size()) && + m_entities[m_drag_ei].type == SketchEntity::Type::EllipseArc) + drag_ellipsearc_handle(m_drag_ei, m_drag_role, p); // center/sweep endpoints + else { + set_point(m_drag_ei, m_drag_role, p); + resolve_live_drag(m_drag_ei, m_drag_role); + } + return true; + } + // Derived-handle drag (A4): the circle RadiusHandle (and later slot/rect/etc.) + // isn't an entity point, so it rides set_handle, which applies the role-specific + // geometry edit + re-solve. + if (m_dragging_handle && evt.Dragging() && evt.LeftIsDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + set_handle(m_drag_handle, p); + return true; + } + if (evt.LeftUp()) { + if (m_dragging_point) { + Vec2d p; + screen_to_plane(canvas, evt, p); + if (m_drag_poly_fi >= 0) + drag_polygon_vertex(m_drag_poly_fi, m_drag_ei, m_drag_role, p); + else if (m_drag_rect_fi >= 0) + drag_rect_corner(m_drag_rect_fi, p); + else if (m_drag_slot_fi >= 0) + drag_slot_handle(m_drag_slot_fi, p); + else if (m_drag_ei >= 0 && m_drag_ei < int(m_entities.size()) && + m_entities[m_drag_ei].type == SketchEntity::Type::Arc) + drag_arc_handle(m_drag_ei, m_drag_role, p); + else if (m_drag_ei >= 0 && m_drag_ei < int(m_entities.size()) && + m_entities[m_drag_ei].type == SketchEntity::Type::EllipseArc) + drag_ellipsearc_handle(m_drag_ei, m_drag_role, p); + else { + set_point(m_drag_ei, m_drag_role, p); + resolve_live_drag(m_drag_ei, m_drag_role); + } + m_dragging_point = false; + m_drag_ei = -1; + m_drag_poly_fi = -1; + m_drag_rect_fi = -1; + m_drag_slot_fi = -1; + return true; + } + if (m_dragging_handle) { + Vec2d p; + screen_to_plane(canvas, evt, p); + set_handle(m_drag_handle, p); + m_dragging_handle = false; + return true; + } + return false; + } + + if (evt.LeftDown() || evt.LeftDClick()) { + m_dragging_point = false; // a fresh press disarms any stale grab + m_dragging_handle = false; + m_drag_poly_fi = -1; + m_drag_rect_fi = -1; + m_drag_slot_fi = -1; + Vec2d p; + screen_to_plane(canvas, evt, p); + if (evt.LeftDClick()) { // double-click a quote label -> edit it + const Linef3 rd = canvas.mouse_ray(Point(evt.GetX() + 28, evt.GetY())); + const double dtol = std::max(2.0, (m_plane.project(rd.a, rd.vector()) - p).norm()); + const int di = hit_test_dimension(p, dtol); + if (di >= 0) { edit_dimension(di); return true; } + } + // Zoom-aware tolerance: project a point 8 px away and measure in plane units. + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + const Vec2d p2 = m_plane.project(r2.a, r2.vector()); + const double tol = std::max(1e-3, (p2 - p).norm()); + + // Single-click a dimension quote label -> edit its value in place. A placed + // driving quote reopens its editor; a live (non-driving) characteristic quote + // is first promoted to a driving dimension (place_dimension), then its editor + // opens — so typing a value sets the precise dimension. Generous label + // tolerance (~24 px) since text labels are wider than a point grip. + if (evt.LeftDown()) { + const Linef3 rdl = canvas.mouse_ray(Point(evt.GetX() + 24, evt.GetY())); + const double ltol = std::max(tol, (m_plane.project(rdl.a, rdl.vector()) - p).norm()); + const int di = hit_test_dimension(p, ltol); + if (di >= 0) { open_value_editor(di); return true; } + for (const DimAnnot& q : m_live_quotes) { + if ((q.label_pos - p).norm() <= ltol) { + if (q.kind == DimType::Angle) + open_angle_editor(q.ea); // geometric rotate to a typed angle + else + place_dimension(q); // promote -> driving dim + open editor + return true; + } + } + if (m_live_poly_fi >= 0) { + if ((m_live_poly_side_label - p).norm() <= ltol) { + open_polygon_side_editor(m_live_poly_fi); // geometric uniform scale + return true; + } + if ((m_live_poly_angle_label - p).norm() <= ltol) { + open_polygon_angle_editor(m_live_poly_fi); // geometric rotate + return true; + } + } + if (m_live_arc_ei >= 0 && (m_live_arc_angle_label - p).norm() <= ltol) { + open_arc_angle_editor(m_live_arc_ei); // geometric sweep change + return true; + } + if (m_live_ellipse_ei >= 0) { + if ((m_live_ellipse_major_label - p).norm() <= ltol) { + open_ellipse_axis_editor(m_live_ellipse_ei, true); // semi-major + return true; + } + if ((m_live_ellipse_minor_label - p).norm() <= ltol) { + open_ellipse_axis_editor(m_live_ellipse_ei, false); // semi-minor + return true; + } + } + if (m_live_rrect_fi >= 0) { + if ((m_live_rrect_w_label - p).norm() <= ltol) { open_rounded_rect_editor(m_live_rrect_fi, 0); return true; } + if ((m_live_rrect_h_label - p).norm() <= ltol) { open_rounded_rect_editor(m_live_rrect_fi, 1); return true; } + if ((m_live_rrect_r_label - p).norm() <= ltol) { open_rounded_rect_editor(m_live_rrect_fi, 2); return true; } + } + if (m_live_aslot_fi >= 0) { + if ((m_live_aslot_r_label - p).norm() <= ltol) { open_arc_slot_editor(m_live_aslot_fi, true); return true; } + if ((m_live_aslot_w_label - p).norm() <= ltol) { open_arc_slot_editor(m_live_aslot_fi, false); return true; } + } + if (m_live_slot_fi >= 0) { + if ((m_live_slot_len_label - p).norm() <= ltol) { open_slot_editor(m_live_slot_fi, 0); return true; } + if ((m_live_slot_w_label - p).norm() <= ltol) { open_slot_editor(m_live_slot_fi, 1); return true; } + if ((m_live_slot_angle_label - p).norm() <= ltol) { open_slot_editor(m_live_slot_fi, 2); return true; } + } + } + + // A derived handle (the circle RadiusHandle — not an entity point, so + // hit_test_point can't grab it) arms a handle drag that resizes on motion. + // Checked before the point/entity hit-tests so the radius grip wins near + // the circle edge. + if (evt.LeftDown()) { + Handle hh; + if (hit_test_handle(p, tol, hh) && + (hh.role == HandleRole::RadiusHandle || hh.role == HandleRole::MajorAxis || + hh.role == HandleRole::MinorAxis || hh.role == HandleRole::BSplineCtrl)) { + m_dragging_handle = true; + m_drag_handle = hh; + m_selection.clear(); + m_point_sel.clear(); + m_selection.push_back(hh.ei); // highlight the circle being resized + if (on_selection_changed) + on_selection_changed(int(m_selection.size())); + return true; + } + } + + // A nearby endpoint/centre selects that POINT (a line = a segment + 2 + // points); a click on the bare segment selects the whole entity. + if (evt.LeftDown()) { + int pe; SketchPointRole pr; + if (hit_test_point(p, tol, pe, pr)) { + const auto key = std::make_pair(pe, pr); + auto it = std::find(m_point_sel.begin(), m_point_sel.end(), key); + if (extend) { + if (it == m_point_sel.end()) m_point_sel.push_back(key); + else m_point_sel.erase(it); + } else { + m_selection.clear(); + m_point_sel.clear(); + m_point_sel.push_back(key); + } + // Arm the drag so the grabbed point follows the cursor. + m_dragging_point = true; + m_drag_ei = pe; + m_drag_role = pr; + // If the grabbed point is a polygon vertex, the drag must keep the + // polygon REGULAR — it adjusts the circumradius + orientation (the + // vertex follows the cursor) instead of moving one point freely. + const int pf = feature_of(pe); + m_drag_poly_fi = (pf >= 0 && m_features[pf].kind == FeatureKind::Polygon) ? pf : -1; + m_drag_rect_fi = -1; m_drag_slot_fi = -1; + if (pf >= 0 && m_drag_poly_fi < 0) { + const Feature& ft = m_features[pf]; + if (ft.kind == FeatureKind::CornerRect || ft.kind == FeatureKind::CenterRect) { + // Only axis-aligned boxes resize by corner (oblique rects fall + // back to free point move). Capture the fixed opposite corner. + const SketchEntity& e0 = m_entities[ft.begin]; + const Vec2d d0 = e0.p1 - e0.p0; + const bool aa = std::abs(d0.x()) < 1e-6 || std::abs(d0.y()) < 1e-6; + Vec2d gp; + if (aa && point_at(pe, pr, gp)) { + Vec2d opp; + opp.x() = (std::abs(gp.x() - ft.c0.x()) < std::abs(gp.x() - ft.c1.x())) ? ft.c1.x() : ft.c0.x(); + opp.y() = (std::abs(gp.y() - ft.c0.y()) < std::abs(gp.y() - ft.c1.y())) ? ft.c1.y() : ft.c0.y(); + m_drag_rect_fi = pf; m_drag_rect_anchor = opp; + } + } else if (ft.kind == FeatureKind::Slot && + pr == SketchPointRole::Center && + (pe == ft.begin + 1 || pe == ft.begin + 3)) { + m_drag_slot_fi = pf; // cap@c1 = begin+1, cap@c0 = begin+3 + m_drag_slot_c1 = (pe == ft.begin + 1); + } + } + if (on_selection_changed) + on_selection_changed(int(m_selection.size() + m_point_sel.size())); + return true; + } + } + + const int hit = hit_test(p, tol); + + if (evt.LeftDClick() && hit >= 0) { + if (!extend) m_selection.clear(); + for (int idx : connected_loop(hit)) + if (std::find(m_selection.begin(), m_selection.end(), idx) == m_selection.end()) + m_selection.push_back(idx); + } else if (hit >= 0) { + auto it = std::find(m_selection.begin(), m_selection.end(), hit); + if (extend) { + if (it == m_selection.end()) m_selection.push_back(hit); + else m_selection.erase(it); // toggle off + } else { + m_selection.clear(); + m_point_sel.clear(); + m_selection.push_back(hit); + } + } else if (!extend) { + // Inside a closed loop (not on an edge/point) → select it as a face + // and hand off to the panel, which commits the sketch and extrudes. + if (evt.LeftDown() && on_face_selected) { + const int reg = region_at(p); + if (reg >= 0) { + m_selection.clear(); + m_point_sel.clear(); + on_face_selected(reg); + return true; + } + } + m_selection.clear(); // clicked empty space + m_point_sel.clear(); + } + if (on_selection_changed) + on_selection_changed(int(m_selection.size() + m_point_sel.size())); + return true; + } + if (evt.RightDown()) { + // Hand the click back (return false) so the offer opens: the m_right_consumed flag + // this return value feeds means "the tool USED this right-click", and a plain + // right-click in Select mode is not a gesture terminator. + // + // But do NOT drop the selection on the way out. The offer menu describes WHAT IS + // SELECTED, so clearing first guaranteed it could only ever describe nothing: select + // a line, right-click, and the sketch verbs — Trim, Extend, Fillet, Chamfer, Offset, + // Mirror, the arrays, Constrain — were all greyed, because by the time the menu was + // built the line was no longer selected. Reported from the machine as "selected a + // line, right-click exit from selection: only create and reference are usable". + // Deselecting still has a gesture: left-click on empty space, a few lines above. + return false; + } + return false; // let drag orbit the camera + } + + // Dimension mode: click entities directly. 2 points -> Distance, a line -> Length, + // a circle -> Diameter, an arc -> Radius, a point then a line -> DistanceToLine. + // Each resolved pick places a driving quote and pops the value card. + if (m_mode == Mode::Dimension) { + if (update_hover(canvas, evt)) return true; // repaint when the hovered handle changes + if (evt.LeftDClick()) { // double-click a quote label -> edit it + Vec2d p; + screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 28, evt.GetY())); + const Vec2d p2 = m_plane.project(r2.a, r2.vector()); + const double di_tol = std::max(2.0, (p2 - p).norm()); + const int di = hit_test_dimension(p, di_tol); + if (di >= 0) edit_dimension(di); + m_dim_has0 = false; + return true; + } + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + const Linef3 r2 = canvas.mouse_ray(Point(evt.GetX() + 8, evt.GetY())); + const Vec2d p2 = m_plane.project(r2.a, r2.vector()); + const double tol = std::max(1e-3, (p2 - p).norm()); + int pe; SketchPointRole pr; + const bool got_pt = hit_test_point(p, tol, pe, pr); + const int he = hit_test(p, tol); + if (!m_dim_has0) { + if (got_pt) { // first point picked: await a second + m_dim_e0 = pe; m_dim_r0 = pr; m_dim_has0 = true; + } else if (he >= 0) { // whole-entity dimension + DimAnnot a; a.ea = he; + const SketchEntity::Type t = m_entities[he].type; + if (t == SketchEntity::Type::Line) { a.kind = DimType::Length; place_dimension(a); } + else if (t == SketchEntity::Type::Circle) { a.kind = DimType::Diameter; place_dimension(a); } + else if (t == SketchEntity::Type::Arc) { a.kind = DimType::Radius; place_dimension(a); } + } + } else { + if (got_pt && !(pe == m_dim_e0 && pr == m_dim_r0)) { + DimAnnot a; a.kind = DimType::Distance; + a.ea = m_dim_e0; a.ra = m_dim_r0; a.eb = pe; a.rb = pr; + place_dimension(a); + } else if (he >= 0 && m_entities[he].type == SketchEntity::Type::Line) { + DimAnnot a; a.kind = DimType::DistanceToLine; + a.ea = m_dim_e0; a.ra = m_dim_r0; a.eb = he; + place_dimension(a); + } + m_dim_has0 = false; // reset after the second pick + } + return true; + } + if (evt.RightDown()) { m_dim_has0 = false; return true; } + return false; // let drag orbit the camera + } + + if (evt.Moving()) { + m_snap_off = evt.ShiftDown(); + screen_to_plane(canvas, evt, m_cursor); + m_has_cursor = true; + m_cursor_locked = false; + bool vsnap = false; + m_cursor = snap_vertex(canvas, evt, m_cursor, vsnap); // preview-snap to endpoints + // The chain's own start is not an entity yet, so snap_vertex cannot see it. Offer it + // here: the cursor lands exactly on it, so the rubber band below IS the closing segment. + if (snap_chain_start(canvas, evt, m_cursor)) vsnap = true; + const bool line_like = (m_mode == Mode::Polyline || m_mode == Mode::Line); + if (line_like && !m_points.empty() && !vsnap) + m_cursor = snap_dir(m_points.back(), m_cursor, m_cursor_locked); + if (on_cursor_metrics && line_like && !m_points.empty() && !m_awaiting_length) { + const Vec2d d = m_cursor - m_points.back(); + on_cursor_metrics(d.norm(), std::atan2(d.y(), d.x()) * 180.0 / M_PI, m_cursor_locked); + } + return true; + } + + switch (m_mode) { + + case Mode::Polyline: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + m_snap_off = evt.ShiftDown(); + bool vsnap = false; + p = snap_vertex(canvas, evt, p, vsnap); // snap onto an existing endpoint + if (snap_chain_start(canvas, evt, p)) { // clicked the previewed close target + const int base = int(m_entities.size()); + push_closed_lines(m_points); // close the loop + infer_auto_constraints(base); // loop self-closes via auto Coincident + H/V + m_points.clear(); + return true; + } + if (!m_points.empty() && !vsnap) { + bool lk = false; + p = snap_dir(m_points.back(), p, lk); // lock new segment to inference angle + } + m_points.push_back(p); + arm_polyline_segment_edit(); // refine this segment's Length+Angle, then continue + return true; + } + if (evt.LeftDClick()) { + if (m_points.size() >= 2) { + const int base = int(m_entities.size()); + push_open_chain(m_points); // end as an open chain + infer_auto_constraints(base); + m_points.clear(); + } + return true; + } + if (evt.RightDown() && m_points.empty()) + return false; // no chain to end — ghcz, let the offer open + if (evt.RightDown()) { + // END the chain — do NOT close it. This used to call push_closed_lines() for three + // or more points, i.e. it drew a final segment from the last point back to the + // first that the user never asked for, and did it silently. No mainstream sketcher + // does that: FreeCAD, Fusion and Onshape all end an open chain on right-click and + // require the close to be EXPLICIT. Ours has that gesture — click the chain's first + // point, which snap_chain_start() previews and snaps onto in the LeftDown branch + // above, so the closing segment is on screen BEFORE it is committed. A closed loop + // is this tab's goal and it stays a four-action triangle either way; what changes + // is that the closing edge is now something the user saw and chose, not one the + // app appended on their behalf. + const int base = int(m_entities.size()); + if (m_points.size() >= 2) + push_open_chain(m_points); + infer_auto_constraints(base); + m_points.clear(); + return true; + } + break; + } + + case Mode::Line: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + m_snap_off = evt.ShiftDown(); + bool vsnap = false; + p = snap_vertex(canvas, evt, p, vsnap); // snap onto an existing endpoint + if (m_points.empty()) { // first click = anchor + m_points.push_back(p); + return true; + } + bool lk = false; + if (!vsnap) p = snap_dir(m_points.back(), p, lk); // vertex snap wins over angle + m_points.push_back(p); // second click completes the segment + // Draw-then-edit: just commit the segment. The generic detect/service path + // (is_creation_autoedit_mode now includes Line) auto-selects it and opens its + // Length THEN Angle fields in sequence, each over its label — same UX as every + // other 2D tool. Enter advances (Length drives a Distance constraint, Angle rotates + // about P0); Esc keeps it as drawn. + keep_segment_as_drawn(); + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::CornerRect: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + if (m_points.empty()) { + m_points.push_back(p); + } else { + const Vec2d A = m_points[0]; + const Vec2d B = p; + const int base = int(m_entities.size()); + begin_feature(FeatureKind::CornerRect); + push_closed_lines({ A, Vec2d(B.x(), A.y()), B, Vec2d(A.x(), B.y()) }); + infer_auto_constraints(base); // corners Coincident + sides H/V + end_feature(A, B); // group: Width/Height live quotes + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::CenterRect: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + if (m_points.empty()) { + m_points.push_back(p); + } else { + const Vec2d C = m_points[0]; + const double hx = std::abs(p.x() - C.x()); + const double hy = std::abs(p.y() - C.y()); + const int base = int(m_entities.size()); + begin_feature(FeatureKind::CenterRect); + push_closed_lines({ + Vec2d(C.x() - hx, C.y() - hy), Vec2d(C.x() + hx, C.y() - hy), + Vec2d(C.x() + hx, C.y() + hy), Vec2d(C.x() - hx, C.y() + hy) }); + infer_auto_constraints(base); + end_feature(Vec2d(C.x() - hx, C.y() - hy), Vec2d(C.x() + hx, C.y() + hy)); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::ObliqueRect: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.size() < 2) // corners snap; 3rd click is the width + p = snap_vertex(canvas, evt, p, vsnap); + m_points.push_back(p); + if (m_points.size() == 3) { + const Vec2d A = m_points[0], B = m_points[1]; + Vec2d u = B - A; + if (u.squaredNorm() > 1e-12) { + u.normalize(); + const Vec2d n(-u.y(), u.x()); + const double w = n.dot(m_points[2] - A); // signed perpendicular width + const int base = int(m_entities.size()); + begin_feature(FeatureKind::CornerRect); + push_closed_lines({ A, B, B + n * w, A + n * w }); + infer_auto_constraints(base); // corners Coincident + the AB pair parallel + end_feature(A, B + n * w); // group: Width/Height live quotes + } + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::RoundedRect: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.size() < 2) // the two corners snap; 3rd sets radius + p = snap_vertex(canvas, evt, p, vsnap); + m_points.push_back(p); + if (m_points.size() == 3) { + const int base = int(m_entities.size()); + begin_feature(FeatureKind::RoundedRect); + append_entities(make_rounded_rect(m_points[0], m_points[1], m_points[2])); + infer_auto_constraints(base); + // Group with the actual clamped fillet radius so the W/H/R live quotes + // and rebuild edits can recover the box. (Skip grouping if degenerate.) + const Vec2d a = m_points[0], b = m_points[1]; + const double xmin=std::min(a.x(),b.x()), xmax=std::max(a.x(),b.x()); + const double ymin=std::min(a.y(),b.y()), ymax=std::max(a.y(),b.y()); + const double bw=xmax-xmin, bh=ymax-ymin; + const Vec2d cs[4]={{xmin,ymin},{xmax,ymin},{xmax,ymax},{xmin,ymax}}; + double r=1e18; for(const Vec2d&c:cs) r=std::min(r,(m_points[2]-c).norm()); + r=std::min(r, std::min(bw,bh)*0.5); + end_feature(Vec2d(xmin,ymin), Vec2d(xmax,ymax), r); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::CenterCircle: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + if (m_points.empty()) { + m_points.push_back(p); + } else { + const Vec2d C = m_points[0]; + push_circle(C, (p - C).norm()); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::TwoPointCircle: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + p = snap_vertex(canvas, evt, p, vsnap); // diameter ends snap onto geometry + m_points.push_back(p); + if (m_points.size() == 2) { + const Vec2d C = (m_points[0] + m_points[1]) * 0.5; + push_circle(C, (m_points[1] - m_points[0]).norm() * 0.5); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::ThreePointCircle: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + m_points.push_back(p); + if (m_points.size() == 3) { + append_entities(make_three_point_circle(m_points[0], m_points[1], m_points[2])); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::ThreePointArc: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.size() < 2) // snap the start/end onto endpoints + p = snap_vertex(canvas, evt, p, vsnap); // (the 3rd click is the through-point) + m_points.push_back(p); + if (m_points.size() == 3) { + // clicks: start, end, point-on-arc + const int base = int(m_entities.size()); + append_entities(make_three_point_arc(m_points[0], m_points[1], m_points[2])); + infer_auto_constraints(base); // arc ends Coincident onto snapped vertices + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::TangentArc: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + p = snap_vertex(canvas, evt, p, vsnap); // snap both ends onto endpoints + m_points.push_back(p); + if (m_points.size() == 2) { + const int base = int(m_entities.size()); + append_entities(make_tangent_arc(m_points[0], m_points[1])); + infer_auto_constraints(base); // tangent-arc ends Coincident onto vertices + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::CenterArc: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + // The start (2nd click) snaps onto endpoints; center & end-dir are free. + if (m_points.size() == 1) + p = snap_vertex(canvas, evt, p, vsnap); + m_points.push_back(p); + if (m_points.size() == 3) { + const int base = int(m_entities.size()); + append_entities(make_center_arc(m_points[0], m_points[1], m_points[2])); + infer_auto_constraints(base); // arc start Coincident onto a snapped vertex + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::Slot: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + if (m_points.size() < 2) { + m_points.push_back(p); + } else { + // third click sets the half-width (distance to the centerline) + Vec2d u = m_points[1] - m_points[0]; + if (u.squaredNorm() > 1e-12) { + u.normalize(); + const Vec2d n(-u.y(), u.x()); + const double w = std::abs(n.dot(p - m_points[0])); + const int base = int(m_entities.size()); + begin_feature(FeatureKind::Slot); + append_entities(make_slot(m_points[0], m_points[1], w)); + infer_auto_constraints(base); + end_feature(m_points[0], m_points[1], w); // centres + half-width + } + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::ArcSlot: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.size() == 1) // start snaps; center & end-dir are free + p = snap_vertex(canvas, evt, p, vsnap); + m_points.push_back(p); + if (m_points.size() == 4) { + // clicks: center, start, end-dir, width + const double Rc = (m_points[1] - m_points[0]).norm(); + const double w = std::abs((m_points[3] - m_points[0]).norm() - Rc); + const int base = int(m_entities.size()); + begin_feature(FeatureKind::ArcSlot); + append_entities(make_arc_slot(m_points[0], m_points[1], m_points[2], w)); + infer_auto_constraints(base); + // c0 = centre, c1 = centreline start point; param = half-width. The end + // direction is recovered from the cap@E arc centre when rebuilding. + end_feature(m_points[0], m_points[1], w); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::Polygon: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + if (m_points.empty()) { + m_points.push_back(p); + } else { + const int base = int(m_entities.size()); + begin_feature(FeatureKind::Polygon); + append_entities(make_polygon(m_points[0], p, m_polygon_sides)); + infer_auto_constraints(base); + end_feature(m_points[0], p, (p - m_points[0]).norm(), m_polygon_sides); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::Ellipse: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.empty()) p = snap_vertex(canvas, evt, p, vsnap); // center can snap + m_points.push_back(p); + if (m_points.size() == 3) { // center, major-end, minor + const int base = int(m_entities.size()); + append_entities(make_ellipse(m_points[0], m_points[1], m_points[2])); + infer_auto_constraints(base); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::EllipseArc: { + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + bool vsnap = false; + if (m_points.empty()) p = snap_vertex(canvas, evt, p, vsnap); // center can snap + m_points.push_back(p); + if (m_points.size() == 5) { // center, major, minor, start, end + const int base = int(m_entities.size()); + append_entities(make_ellipse_arc(m_points[0], m_points[1], m_points[2], + m_points[3], m_points[4])); + infer_auto_constraints(base); + m_points.clear(); + } + return true; + } + if (evt.RightDown()) return right_abandon(); + break; + } + + case Mode::BSpline: { + // Variable-length: left-click adds a control pole (each can snap onto existing + // geometry); double-click or right-click finishes as an open spline. + if (evt.LeftDown()) { + Vec2d p; screen_to_plane(canvas, evt, p); + m_snap_off = evt.ShiftDown(); + bool vsnap = false; + p = snap_vertex(canvas, evt, p, vsnap); // poles can land on endpoints + m_points.push_back(p); + return true; + } + if (evt.RightDown() && m_points.empty()) + return false; // no poles down — ghcz, let the offer open + if (evt.LeftDClick() || evt.RightDown()) { + if (m_points.size() >= 2) { + const int base = int(m_entities.size()); + append_entities(make_bspline(m_points)); + infer_auto_constraints(base); // end poles auto-Coincident -> loops close + } + m_points.clear(); + return true; + } + break; + } + + case Mode::Point: { + if (evt.LeftDown()) { + Vec2d p; + screen_to_plane(canvas, evt, p); + push_point(p); + return true; + } + if (evt.RightDown()) return false; // no anchor to abandon: the offer belongs here + break; + } + + case Mode::Constrain: + break; + } + + if (evt.Dragging()) + return false; + + return false; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/CAD/DesignSketchTool.hpp b/src/slic3r/GUI/CAD/DesignSketchTool.hpp new file mode 100644 index 0000000000..c88b149c59 --- /dev/null +++ b/src/slic3r/GUI/CAD/DesignSketchTool.hpp @@ -0,0 +1,1466 @@ +#ifndef slic3r_DesignSketchTool_hpp_ +#define slic3r_DesignSketchTool_hpp_ + +#include "libslic3r/Point.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/CAD/CadDocument.hpp" // CadBody for per-body solid picking +#include "libslic3r/CAD/SketchInference.hpp" +#include "libslic3r/CAD/SketchSolver.hpp" +#include "slic3r/GUI/GLModel.hpp" +#include "slic3r/GUI/GLSelectionRectangle.hpp" // left-drag rubber band over the committed bodies +#include <functional> +#include <vector> +#include <string> +#include <utility> + +class wxMouseEvent; +class wxPoint; + +namespace Slic3r { + +class TriangleMesh; // fwd (libslic3r) — solid-pick mesh, non-owning pointer + +namespace GUI { + +class GLCanvas3D; +class Camera; // fwd — move_gizmo_arm() sizes the gizmo from the current zoom + +// Onshape-style sketch session. `begin` enters a session on a plane; the active +// drawing tool (Mode) can be switched mid-session via `set_tool` while entities +// accumulate. `finish` commits the whole entity list as one sketch feature; +// `cancel` aborts. Constrain is a separate legacy mode that operates on a +// committed profile's points (entity constraints land in a later chunk). + + +// ONE colour means SELECTED — a face, an edge, a vertex, a whole body, a 2D sketch region. +// Nothing else on screen may wear it. Before this there were four near-identical cyans plus a +// constant still named sel_gold that had long since become cyan, and the UNSELECTED region fill +// was blue (0.30,0.60,1.0) — one shade from the selected one — so an ordinary region read as +// picked. Selection is a state, not a decoration: it gets its own colour and keeps it. +inline ColorRGBA design_selection_color(float alpha = 1.0f) +{ + return ColorRGBA(0.20f, 0.85f, 1.00f, alpha); +} +// Unselected geometry — 2D regions and faces — is neutral translucent grey, so the only +// coloured thing in the viewport is the thing you picked. +inline ColorRGBA design_idle_face_color() +{ + return ColorRGBA(0.72f, 0.76f, 0.80f, 0.14f); +} +class DesignSketchTool { +public: + enum class Mode { Select, Dimension, Polyline, Line, CornerRect, CenterRect, ObliqueRect, + RoundedRect, CenterCircle, TwoPointCircle, Point, + ThreePointCircle, ThreePointArc, TangentArc, CenterArc, Slot, ArcSlot, Polygon, + Ellipse, EllipseArc, BSpline, + // In-canvas edit-op TOOLBAR tools (drag-arrow + label, no numeric card): + Fillet, Chamfer, Offset, Mirror, + // Standalone scissors: click a segment to trim/extend it (immediate, no card): + Trim, Extend, + // In-canvas transform TOOLBAR tools (pick targets + drag handle/label, no card): + Move, Rotate, Scale, Array, PolarArray, + // In-canvas bounding-box transform for imported Text/SVG art: + TransformArt, + Constrain }; + // Which tool is armed, and how many anchors it has down. Read-only, for the offer ladder: + // "the menu armed the verb I chose" is otherwise unassertable, and a menu walk that lands one + // row off arms a NEIGHBOURING tool and then grades whatever that drew. ekt9. + Mode mode() const { return m_mode; } + int pending_points() const { return int(m_points.size()); } + void emit_step_hint(); // fires on_step_changed when the step actually moved + // Is an in-canvas value field open? While one is, the canvas is frozen and every letter is + // swallowed — the single most common reason a driven gesture "does nothing". + bool value_field_open() const { return m_awaiting_length; } + bool is_edit_op_mode() const { return m_mode == Mode::Fillet || m_mode == Mode::Chamfer || + m_mode == Mode::Offset || m_mode == Mode::Mirror; } + bool is_transform_mode() const { return m_mode == Mode::Move || m_mode == Mode::Rotate || + m_mode == Mode::Scale || m_mode == Mode::Array || + m_mode == Mode::PolarArray; } + // Creation tools that get draw-then-edit: on commit the new entity/feature is selected + // and its primary value editor opens. Line is handled inline (its own length field); + // Polyline/BSpline/Point have no single primary value, so they opt out. + bool is_creation_autoedit_mode() const { + switch (m_mode) { + case Mode::Line: + case Mode::CornerRect: case Mode::CenterRect: case Mode::ObliqueRect: + case Mode::RoundedRect: case Mode::CenterCircle: case Mode::TwoPointCircle: + case Mode::ThreePointCircle: case Mode::ThreePointArc: case Mode::TangentArc: + case Mode::CenterArc: case Mode::Slot: case Mode::ArcSlot: case Mode::Polygon: + case Mode::Ellipse: case Mode::EllipseArc: + return true; + default: return false; + } + } + // The host (DesignCanvas) flags the canvas frozen while an inline value editor is open, + // so a stray click/move can't draw under the floating field. Reuses m_awaiting_length + // (Line's existing freeze flag) as the single "inline editor open" gate. + void set_inline_busy(bool b) { m_awaiting_length = b; } + bool inline_busy() const { return m_awaiting_length; } // true while a value field is open + // Does the live session hold anything a cancel would throw away? Escape must not silently + // destroy drawn geometry; the panel asks this before treating Escape as "discard sketch". + bool live_sketch_has_work() const { return !m_entities.empty(); } + + // Clicking the same sub-element again escalates to the whole body. That is right for free + // picking and WRONG while a card has armed a face/edge pick: the card says "click a FACE", + // the user clicks the face it is already showing, and the escalation turns it into a + // whole-body pick that the armed capture then rejects. The host turns this off for as long + // as a pick is armed. + void set_escalate_on_repick(bool on) { m_escalate_repick = on; } + bool constrain_value_anchor(wxPoint& out) const; // screen anchor over the picked constrain geometry + + void begin(const SketchPlane& plane, Mode mode = Mode::Polyline); + // Re-open a committed entity sketch for full in-canvas editing: load its entities + + // driving constraints, re-detect the polygon/rect/slot grouping, and live-solve. The + // caller re-commits via finish() (the panel replaces the feature, see m_edit_index). + void begin_edit(const std::vector<SketchEntity>& entities, + const std::vector<SketchEntityConstraintDef>& constraints, + const SketchPlane& plane); + // Drop rigid 2D art (Text / SVG outlines) INTO the live sketch as ordinary line entities, + // so it joins the sketch being drawn instead of committing a separate Sketch feature. + // `regions` are loops in PLANE coordinates; every closed loop becomes a closed polyline, so + // the result is editable, constrainable and extrudable like anything else drawn by hand — + // unlike imported_regions, which are rigid and carry no solver entities. + // Returns false when no session is live, so the caller can fall back to a new feature. + bool add_imported_regions(const std::vector<std::vector<std::vector<Vec2d>>>& regions); + void set_tool(Mode mode); // switch tool, keep accumulated entities + void set_plane(const SketchPlane& plane) { m_plane = plane; } // re-plane a live sketch (a reference plane was clicked mid-session); entities are 2D, re-lifted through the new plane + void set_construction(bool c) { m_construction = c; } + void set_polygon_sides(int n) { m_polygon_sides = (n < 3 ? 3 : n); } + void set_polygon_circumscribed(bool c) { m_polygon_circumscribed = c; } + void finish(); // emit accumulated entities, end session + void cancel(); + bool is_active() const { return m_active; } + bool has_entities() const { return !m_entities.empty(); } + bool on_mouse(wxMouseEvent& evt, GLCanvas3D& canvas); + // Right-click on a draw tool: true when an in-progress anchor was abandoned, false when + // there was nothing to abandon — and false is what lets the offer menu open. ghcz. + bool right_abandon(); + // True if the LAST right-press was consumed as a gesture terminator (end a polyline chain, + // abandon an anchor, exit a tool). Read-and-clear: the canvas asks on the matching release to + // decide whether that right-click was the user's, in which case it opens the offer. + bool take_right_consumed() { const bool b = m_right_consumed; m_right_consumed = false; return b; } + void render(GLCanvas3D& canvas); + // The in-canvas value field, drawn by render() before any early return. Owned by + // DesignCanvas; null until it sets it. Not a window — see SketchInlineEditor.hpp. + class SketchInlineEditor* inline_editor{nullptr}; + + // Persistent committed sketches to draw even when no session is active (e.g. an + // un-consumed sketch left visible after its extrude is removed). Each carries its + // own plane. render() draws these as translucent faces + outlines. + struct DisplaySketch { std::vector<SketchEntity> entities; SketchPlane plane; int feature{-1}; }; + void set_display_sketches(std::vector<DisplaySketch> ds) { m_display_sketches = std::move(ds); } + void set_highlight_sketches(std::vector<std::pair<int, ColorRGBA>> hl) { m_hl_sketches = std::move(hl); } + // Solid pick is resolved on LeftUp (see on_mouse): consuming the press broke orbit/pan. + int m_pick_press_x = 0; + int m_pick_press_y = 0; + bool m_pick_pending = false; + + bool has_display() const { return m_active || !m_display_sketches.empty() + || (m_solid_bodies != nullptr && !m_solid_bodies->empty()) + || !m_datum_planes.empty() + || m_show_planes || m_show_axes + || m_ex_active || m_mv_active || m_fl_active + || m_hl_active || m_th_active || m_sh_active + || m_dr_active || m_ct_active || m_dz_active || m_dbp_active || m_hx_active || m_rb_active; } + + // View helpers: the 3 world origin planes (XY/XZ/YZ) and the world axis triad, each + // shown/hidden by a toggle (keys P / A). Off by default so the idle scene stays clean. + void set_show_planes(bool s) { m_show_planes = s; } + void set_show_axes(bool s) { m_show_axes = s; } + bool toggle_show_planes() { m_show_planes = !m_show_planes; return m_show_planes; } + bool toggle_show_axes() { m_show_axes = !m_show_axes; return m_show_axes; } + + // Solid topology selection on the committed bodies: clicking a solid cycles + // whole-solid -> face -> edge (Onshape-style) to target fillet/chamfer/extrude. With + // multiple bodies the pick resolves WHICH body was hit (per-triangle body id). + // Appended, never reordered: DesignPanel maps this to a level int (Whole=1, Face=2, + // Edge=3, Vertex=4) and the offer table keys off it. + enum class SolidSel { None, Whole, Face, Edge, Vertex }; + // Point the tool at the current bodies + their concatenated tessellation (non-owning; + // pass nullptr to clear). Call after each recompute — selection resets (ids invalidate). + // tri_face = per-triangle face id within its body; tri_body = per-triangle body index. + void set_solid_pick(const std::vector<CadBody>* bodies, const TriangleMesh* mesh, + const std::vector<int>* tri_face, const std::vector<int>* tri_body, + const std::vector<bool>* visible = nullptr, + const std::vector<Transform3d>* xform = nullptr); + // Body-focus picking: >=0 restricts every pick to that one body, so a face behind + // another solid is reachable without hiding anything. -1 = no restriction. + // Survives set_solid_pick() — it is owned by the panel, not by the mesh feed. + void set_pick_only_body(int b) { m_pick_only_body = b; } + void clear_solid_selection(); + bool has_solid_selection() const { return m_solid_sel != SolidSel::None; } + // Select a whole body by index (from the Parts list) — Whole-level highlight, no face/edge. + // body < 0 or out of range clears the selection. + void select_body(int body); + + // Move-body gizmo (M5): translate a whole body with three world-axis drag arrows + // (X red / Y green / Z blue) anchored at the body centroid. Display-only — the host + // keeps a per-body Transform3d and re-feeds the moved display/pick meshes; the OCCT + // shape (and thus face/edge global ids) is never touched. Drag fires on_body_move_changed + // live; a stationary click on an arrow opens the inline offset editor for that axis. + void set_move_gizmo(int body, const Vec3d& pivot, const Transform3d& base_xform, + double body_radius = 0.0); + void clear_move_gizmo(); + bool moving_body() const { return m_mv_active; } + int move_body_index() const { return m_mv_body; } + // F key forwarded from the canvas (Prepare's Place on Face): returns true if it acted. + bool request_place_on_face() { return on_place_on_face ? on_place_on_face() : false; } + std::function<bool()> on_place_on_face; + std::function<void(int body, const Transform3d& xform)> on_body_move_changed; + // Fired on each cycle change: (level 0=None/1=Whole/2=Face/3=Edge, body index, face id, edge id). + std::function<void(int level, int body, int face, int edge)> on_solid_selection_changed; + // Click a committed sketch overlay (no live session) -> select that loop: the Sketch + // feature index + the clicked closed-region index within it (-1 = no specific loop). + // entity = the sketch entity index under the cursor when the click landed on a loop + // STROKE, else -1 for an interior/region hit. Carried because a tool can legitimately + // want the LINE you pointed at, not just the loop it belongs to (Rib, 3648). + std::function<void(int feature, int region, int entity)> on_display_sketch_selected; + // Double-click on a committed sketch stroke: open THAT feature for editing. Selecting a line + // and then hunting for an Edit button in a panel is the dependency this tab exists to remove. + std::function<void(int feature)> on_display_sketch_activated; + // Entities forming the currently click-selected loop (for a per-loop extrude); empty + // if no loop is selected. + std::vector<SketchEntity> selected_loop_entities() const; + // Per closed loop, the indices into `ents` that form it (for hiding already-extruded + // loops from the committed-sketch overlay). + std::vector<std::vector<int>> region_entity_indices(const std::vector<SketchEntity>& ents) const; + // Same, but each region's entry is its OWN entities followed by the entities of each of its + // holes, in that order — the exact list a per-loop extrude of a region WITH holes stores + // (see selected_loop_entities()). Needed to match a consumed loop against its source sketch. + std::vector<std::vector<int>> region_entity_indices_with_holes(const std::vector<SketchEntity>& ents) const; + void clear_display_pick() { m_display_pick = -1; m_display_pick_region = -1; } + // Adopt a loop pick the tool did not make itself. The live-sketch path resolves the region + // BEFORE the sketch is committed, so once finish_sketch() has turned it into a display + // sketch there is nothing left that would set this — and selected_loop_entities(), which is + // what Extrude consumes, reads exactly these two fields. + void set_display_pick(int feature, int region) { m_display_pick = feature; m_display_pick_region = region; } + + // Visual Extrude gizmo (C5b). The Extrude tool is a DesignPanel docked card, so the + // sketch tool is NOT active during it; the panel feeds the profile plane + a 2D centroid + // (arrow anchor) + the live depths/flags, and the tool renders an in-canvas world-space + // depth arrow along plane.normal with a draggable handle + editable label. TwoSided draws + // a second arrow along -normal driven by depth2. Drag/edit fire on_extrude_depth_changed + // back to the panel, which writes the spin value + refreshes the ghost preview. + void set_extrude_gizmo(const SketchPlane& plane, const Vec2d& centroid, + double depth, double depth2, bool two_sided, bool flip); + void clear_extrude_gizmo(); + // (new_depth, second_side): second_side=false drives the primary depth, true the 2nd side. + std::function<void(double depth, bool second)> on_extrude_depth_changed; + + // Datum-plane resize gizmo (C3). The Plane tool is a DesignPanel docked card (sketch tool + // NOT active), so the panel resolves the candidate plane's frame + current u/v extent and + // feeds them here; the tool draws the rectangle outline + 4 edge-midpoint handles. Dragging a + // handle changes the u (left/right) or v (top/bottom) extent live and fires on_datum_size_changed + // back to the panel, which writes the Size spins + re-pushes the rendered datum. + void set_datum_gizmo(const SketchPlane& plane, double usize, double vsize, + const Vec3d& base_origin, const Vec3d& base_normal, + double offset, bool offset_on); + void clear_datum_gizmo(); + std::function<void(double usize, double vsize)> on_datum_size_changed; + std::function<void(double offset)> on_datum_offset_changed; + + // Visual Helix gizmo. The Helix tool is a DesignPanel docked card (sketch tool NOT active), + // so the panel resolves the axis plane and feeds the live parameters here; the tool draws + // the helix curve itself plus three handles — radius on the base circle, height at the top + // of the axis, pitch at the end of the first turn. Taper and handedness stay on the card: + // one is a shape modifier and the other is a flag, and L2 governs numbers you can point at. + void set_helix_gizmo(const SketchPlane& plane, double radius, double pitch, double height, + double taper, bool left_handed); + void clear_helix_gizmo(); + std::function<void(double radius, double pitch, double height)> on_helix_changed; + + // Visual Rib thickness gizmo. The rib is a thin slab grown either side of an open sketch + // line, so its thickness is an IN-PLANE offset perpendicular to that line — the depth arrow + // (which points along the plane normal) cannot express it. Two handles, one per side, + // dragged symmetrically: the slab is centred on the line, so a drag on either side sets the + // full thickness rather than one half. + void set_rib_gizmo(const SketchPlane& plane, const Vec2d& p0, const Vec2d& p1, double thickness); + void clear_rib_gizmo(); + std::function<void(double thickness)> on_rib_thickness_changed; + + // Graphical base/origin pick: while the Plane card is open, the candidate base planes + // (XY/XZ/YZ origin planes + existing datums) draw as translucent clickable ghosts. A click + // on one fires on_datum_base_picked(base) with that plane's base index (0/1/2 or 3+N). + void set_base_pick(std::vector<SketchPlane> planes, std::vector<int> bases, + std::vector<std::string> labels = {}); + void clear_base_pick(); + std::function<void(int base)> on_datum_base_picked; + + // Visual Fillet/Chamfer gizmo. The Dressup tool is a DesignPanel docked card, so the sketch + // tool is NOT active during it; when a solid EDGE is picked the panel passes the body centroid + // + current radius and the tool anchors a world-space radius arrow at the picked edge midpoint + // (from m_sel_edge_pts), perpendicular to the edge, pointing outward (away from the centroid). + // Dragging the arrow changes the radius live; a stationary click opens the inline editor; both + // fire on_fillet_radius_changed back to the panel, which writes the spin + refreshes the ghost. + // Returns true if it could anchor (needs a picked edge with >=2 sample points). + bool set_fillet_gizmo(const Vec3d& body_centroid, double radius); + void clear_fillet_gizmo(); + bool filleting() const { return m_fl_active; } + std::function<void(double radius)> on_fillet_radius_changed; + + // Visual Hole gizmo. Like Dressup, the Hole tool is a DesignPanel docked card, so the sketch + // tool is NOT active during it; the panel passes the hole plane + position + diameter + depth + + // through flag, and the tool draws an on-plane footprint circle plus a radial diameter arrow, + // a normal-axis depth arrow (only when !through), and a draggable centre marker. Dragging the + // centre repositions (plane u/v), the diameter arrow resizes, the depth arrow deepens — all + // live; a stationary click on an arrow opens its inline editor. Every change fires + // on_hole_changed back to the panel, which writes the spins + refreshes the ghost. + void set_hole_gizmo(const SketchPlane& plane, double x, double y, + double diameter, double depth, bool through); + // Provide the face (u,v) bounds so the hole's construction dims read from the face sides. + void set_hole_face_bounds(bool has, double umin, double umax, double vmin, double vmax); + void clear_hole_gizmo(); + bool holing() const { return m_hl_active; } + std::function<void(double x, double y, double diameter, double depth)> on_hole_changed; + + // Visual Thread gizmo. Same docked-card story as Hole: the panel feeds the thread plane + + // axis position + nominal radius + length; the tool draws an on-plane footprint circle plus a + // radial radius arrow and a normal-axis length arrow (always shown — a thread has no "through") + // and a draggable centre. Pitch/depth/internal stay in the card. Drag is live; a stationary + // click on an arrow opens its inline editor; every change fires on_thread_changed. + void set_thread_gizmo(const SketchPlane& plane, double x, double y, + double radius, double height); + void clear_thread_gizmo(); + bool threading() const { return m_th_active; } + std::function<void(double x, double y, double radius, double height)> on_thread_changed; + + // Visual Shell gizmo. The panel passes the picked open-face centroid + an inward direction + // (-outward normal) + the current wall thickness; the tool anchors a single thickness arrow + // there (mirrors the fillet radius arrow). Dragging sets the thickness live; a stationary + // click opens the inline editor; both fire on_shell_thickness_changed. + void set_shell_gizmo(const Vec3d& face_centroid, const Vec3d& inward_dir, double thickness); + void clear_shell_gizmo(); + bool shelling() const { return m_sh_active; } + std::function<void(double thickness)> on_shell_thickness_changed; + + // Datum/reference planes (Plane feature) carry no solid; the panel feeds their resolved + // SketchPlanes so they render as translucent rectangles in feature mode (otherwise a + // Plane feature is invisible in the canvas). + void set_datum_planes(std::vector<SketchPlane> planes, std::vector<Vec2d> sizes = {}) { + m_datum_planes = std::move(planes); m_datum_sizes = std::move(sizes); + } + + // Mate connectors. Until now a connector was visible only to a program — resolve_datum_coordsys + // had exactly one consumer, the MCP socket — so the frame a mate is built on could not be seen + // at all. The glyph has to answer two questions on sight (wgsc): which way does Z point + // (the VERSE), and which of the pair is anchored versus driven (the POLARITY). Nothing in any + // surveyed CAD system encodes the second one. + struct MateConnectorGlyph { + Vec3d origin{0, 0, 0}; + Vec3d x{1, 0, 0}; // roll reference; the filled quadrant spans x -> y + Vec3d y{0, 1, 0}; + int role{0}; // 0 = neutral, 1 = fixed (receives), 2 = driven (moves) + bool roll_undefined{false}; + }; + void set_mate_connectors(std::vector<MateConnectorGlyph> g) { m_mate_connectors = std::move(g); } + // The pair line: the two origins of every mate — committed ones, plus the live pick of an open + // Mate card. Two connectors a mate binds are ONE object with a gap still in it; drawn as two + // separate frames they read as unrelated. + void set_mate_links(std::vector<std::pair<Vec3d, Vec3d>> l) { m_mate_links = std::move(l); } + void clear_mate_connectors() { m_mate_connectors.clear(); m_mate_links.clear(); } + + // Visual Revolve gizmo. The panel feeds the sketch plane + profile centroid + axis (0=plane X, + // 1=plane Y) + angle + flip while its Revolve card is open; an angle-arc is drawn in the + // revolve plane at the profile radius. Dragging the tip sweeps the angle, a stationary click + // edits it; both fire on_revolve_angle_changed. + void set_revolve_gizmo(const SketchPlane& plane, const Vec2d& centroid, + int axis_sel, double angle, bool flip); + void clear_revolve_gizmo(); + bool revolving() const { return m_rv_active; } + std::function<void(double angle)> on_revolve_angle_changed; + + // Visual Draft angle-arc gizmo (taper a picked face; axis = world +Z, arc in XY). + void set_draft_gizmo(const Vec3d& face_centroid, const Vec3d& face_normal, double angle); + void clear_draft_gizmo(); + bool drafting() const { return m_dr_active; } + void set_on_draft_angle_changed(std::function<void(double)> cb) { m_on_draft_angle_changed = std::move(cb); } + + // Visual Cut gizmo (plane normal arrow + plane rectangle preview). + void set_cut_gizmo(const SketchPlane& plane, double offset, const Vec3d& body_center, double half_extent); + void clear_cut_gizmo(); + bool cutting() const { return m_ct_active; } + void set_on_cut_offset_changed(std::function<void(double)> cb) { m_on_cut_offset_changed = std::move(cb); } + + // Visual Pattern gizmo. Linear: a 3D arrow along the world axis (plane X/Y per `dir`) of length + // spacing*(count-1) with a tick at each copy; dragging the end sets the spacing. Circular: a + // revolve-style angle-arc about the plane normal through the plane origin sweeping `angle`. + // Both fire on_pattern_changed (spacing for linear, angle for circular). + void set_pattern_gizmo(const SketchPlane& plane, const Vec3d& body_centroid, bool circular, + int count, int dir, double spacing, double angle); + void clear_pattern_gizmo(); + bool patterning() const { return m_pt_active; } + std::function<void(double value)> on_pattern_changed; + + // Constrain mode: load an already-committed profile for entity picking + + // constraint application (the geometry is solved in the kernel, not here). + void begin_constrain(const SketchProfile& prof, const SketchPlane& plane); + bool is_constraining() const { return m_active && m_mode == Mode::Constrain; } + // Replace the displayed profile (e.g. after the kernel re-solved it). + void set_profile_points(const std::vector<Vec2d>& pts) { m_points = pts; } + // The currently picked segment's endpoint indices into the profile. + bool selected_segment(int& a, int& b) const; + + // Entity-aware Constrain (Fase 4.2): load a committed entity sketch and pick + // Line entities (constraints are solved against entity endpoints in the kernel). + void begin_constrain_entities(const std::vector<SketchEntity>& ents, const SketchPlane& plane); + bool is_constraining_entities() const { return m_active && m_mode == Mode::Constrain && m_constrain_entities; } + + // In-canvas bounding-box transform of imported Text/SVG art (replaces the Move/Scale + // dialog). `base_regions` are the untransformed region contours; the gizmo shows the + // current bbox with 4 corner scale-handles + a centre move-handle. Dragging fires + // on_imported_transform live with the new offset/scale, which the host writes back to + // the feature. Exiting (Esc/right-click) ends the session. + void begin_imported_transform(int feat, + const std::vector<std::vector<std::vector<Vec2d>>>& base_regions, + const SketchPlane& plane, const Vec2d& offset, + double scale_x, double scale_y); + std::function<void(int feat, Vec2d offset, double scale_x, double scale_y)> on_imported_transform; + // Up to two picked line-entity indices; returns true if at least one is picked. + bool selected_constrain_entities(int& e0, int& e1) const { e0 = m_pick0; e1 = m_pick1; return m_pick0 >= 0; } + // Third pick slot (Symmetric axis): only filled after slots 0 and 1 are set. + int pick2() const { return m_pick2; } + // Plane-coords of the click that filled slot 0 (for pick-point edit ops: trim/extend). + bool pick0_point(Vec2d& out) const { out = m_pick0_pt; return m_pick0 >= 0; } + // Refresh the displayed entities after the kernel re-solved them. + void set_constrain_entities(const std::vector<SketchEntity>& ents) { m_entities = ents; } + // Constraint manager (C3.4): entity indices the panel asks to highlight (the + // entities a selected constraint references); rendered yellow in Constrain mode. + void set_constraint_highlight(std::vector<int> v) { m_constraint_hl = std::move(v); } + // The committed feature's constraints, supplied so Constrain-mode render can draw + // an iconic glyph badge per constraint near its primary entity (C3.4b). + void set_constraint_glyphs(std::vector<SketchEntityConstraintDef> v) { m_constrain_cons = std::move(v); } + + // Line tool: after a single segment is placed, the panel pops a length dialog + // (length, angle_deg are the as-drawn values); it then resolves via + // apply_segment_length() (exact length) or keep_segment_as_drawn() (cancel). + std::function<void(double length, double angle_deg)> on_segment_drawn; + void apply_segment_length(double len); // rescale the pending segment, then commit it + void keep_segment_as_drawn(); // commit the pending segment unchanged + + // Live readout while drawing a Line/Polyline segment (anchor->cursor metrics). + std::function<void(double length, double angle_deg, bool locked)> on_cursor_metrics; + + // Live step guidance (1c0c). The armed tool reports WHICH STEP of its gesture the + // user is on, every time that changes, so the status line can name the next click instead of + // repeating the one-shot sentence written when the tool was armed. step = anchors/picks + // already down (Mirror: 0 = no axis, 1 = axis down, 2 = ready to apply); picks = size of the + // set the gesture accumulates (mirror targets, transform targets, Select's selection). + std::function<void(Mode mode, int step, int picks)> on_step_changed; + // Fired when the live constraint SET changes (one added or removed), never on a re-solve. + // The panel rebuilds its constraint rows from this; binding it to on_solve_state instead + // would rebuild the whole list on every frame of a drag. + std::function<void()> on_constraints_changed; + + // DoF feedback (P3): solver state after each live solve. dof>0 = under-constrained, + // dof==0 = fully constrained, ok==false = conflicting/inconsistent constraints. + // has_constraints is false while the sketch carries no driving constraints yet. + std::function<void(int dof, bool ok, bool has_constraints)> on_solve_state; + + // Selection (Mode::Select): pick points/lines/arcs/circles of the in-session + // sketch; Shift/Ctrl extends, double-click grabs the whole connected loop. + const std::vector<int>& selection() const { return m_selection; } + // Entities OR bare points: clear_selection() drops both, so "is anything picked" must ask + // about both, or Esc at idle would report nothing to do while a point sat highlighted. + bool sketch_has_selection() const { return !m_selection.empty() || !m_point_sel.empty(); } + // Type of the first selected entity. False when nothing is selected, so the offer menu can + // tell a line from an arc from a point and stop collapsing every sketch selection to "none". + bool first_selected_type(SketchEntity::Type& out) const { + if (m_selection.empty()) return false; + const int i = m_selection.front(); + if (i < 0 || i >= int(m_entities.size())) return false; + out = m_entities[i].type; + return true; + } + // Right-click pick: select the entity (or point handle) under the given canvas pixel, so + // the context menu describes what was pointed at. No-op when it is already selected, or + // when nothing is there. Returns true if the selection changed. + bool select_at_screen(GLCanvas3D& canvas, int sx, int sy); + // Open the in-canvas value field on the SELECTION's defining number (a line's length, an + // arc's radius, a circle's diameter, the angle between two lines, a point-to-point or + // point-to-line distance). False when the selection has no such number. + bool open_selection_dimension_editor(); + // ---- Scripted surface (MCP) ------------------------------------------------------- + // The same operations the right-click offers, reachable without a mouse gesture, so the 2D + // layer can be driven and asserted headlessly. Everything here goes through the SAME code a + // gesture goes through — append + infer_auto_constraints + live solve — because a test that + // exercises a private shortcut proves nothing about the tool the user drives. + const std::vector<SketchEntity>& entities() const { return m_entities; } + const SketchPlane& plane() const { return m_plane; } + int dof() const { return m_dof; } + bool solve_ok() const { return m_solve_ok; } + // Append entities exactly as a finished gesture does. Returns the index of the first one. + int add_entities_scripted(const std::vector<SketchEntity>& ents); + // Replace the selection with these entity indices (out-of-range ones are ignored). + bool select_indices(const std::vector<int>& idx); + // Append candidates, live-solve, and roll back the batch if it turns the system + // inconsistent. Returns true when the batch was kept. Public so the panel's live-constraint + // path can commit a plan through the SAME append→solve→keep-or-rollback the gestures use. + bool try_add_constraints(const std::vector<SketchEntityConstraintDef>& cands); + // Click-to-delete on a constraint badge: drop the constraint whose glyph sits under `p` + // and re-solve. Returns true if one was removed (the caller then repaints). + bool remove_constraint_near(const Vec2d& p); + // Drop constraint `idx` from the live session and re-solve. Same operation the badge click + // performs, addressed by index instead of by position — the panel list needs the index form. + bool remove_constraint(int idx); + + // The loop report: what is CLOSED, what its internal voids are, and where a chain is still + // open. This is the answer to "is my profile buildable", and it is the one question the + // sketch layer could never be asked from outside. + struct LoopInfo { + std::vector<int> ents; // entities of this loop, in chain order + std::vector<int> holes; // indices into LoopReport::loops that this loop encloses + bool closed{false}; + double area{0.0}; // signed shoelace area of the loop polyline + }; + struct LoopReport { + std::vector<LoopInfo> loops; + std::vector<Vec2d> open_ends; // free endpoints: where a chain fails to close + }; + LoopReport loop_report() const; + + // FreeCAD's ValidateSketch, as one call: weld endpoints that are within `tol` of each other + // and RECORD the Coincident constraints, so a loop that was closed by floating-point luck + // becomes closed by construction and survives every later solve. Returns how many pairs were + // welded. Construction geometry is skipped when `ignore_construction`. + int heal_coincidences(double tol, bool ignore_construction); + + void clear_selection(); + // Flip the selection between construction and real geometry (whole Feature groups). + // Returns how many entities changed; 0 when nothing is selected. + int toggle_selection_construction(); + void delete_selected(); // erase selected entities + // Abort any pending/queued draw-then-edit value-field sequence. Removing an entity that + // still has a deferred auto-edit would otherwise open a field on a now-deleted entity and + // freeze the flow (its live quote label also lingers). Mirrors set_tool's resync. + void reset_autoedit() { + m_awaiting_length = false; + m_autoedit_pending = false; + m_autoedit_dims.clear(); + m_autoedit_dim_idx = -1; + m_autoedit_seen = int(m_entities.size()); + m_live_quotes.clear(); // rebuilt from current geometry on the next render + } + // Take down the session's floating chrome: the open value field (dismiss = keep-as-drawn), + // the queue of fields behind it, and the corner readout. All three are top-level windows fed + // only while the tool is live, so nothing else would ever clear them — reset_autoedit() alone + // clears the flag and leaves the frame on screen. Called by finish()/cancel(); safe when + // nothing is open. + void close_session_chrome() { + if (on_inline_dismiss) on_inline_dismiss(); // no-op when no field is open + reset_autoedit(); + if (on_readout) on_readout(std::string()); // the HUD is not redrawn once the tool stops + } + // Ctrl+Z while sketching: drop the last drawn entity (reuses delete_selected's remap). + bool undo_last_entity() { + if (!m_active || m_entities.empty()) return false; + m_selection.assign(1, int(m_entities.size()) - 1); + delete_selected(); + reset_autoedit(); + return true; + } + // Delete while sketching: the selected entities, or the last drawn one if none is selected. + bool delete_selected_or_last() { + if (!m_active) return false; + if (m_selection.empty()) { + if (m_entities.empty()) return false; + m_selection.assign(1, int(m_entities.size()) - 1); + } + delete_selected(); + reset_autoedit(); + return true; + } + std::function<void(int count)> on_selection_changed; + + // Dimension tool: infer a driving dimension from the current selection and set + // it exactly. Sizing: 1 line=Length, 1 circle=Diameter, 1 arc=Radius, + // 2 lines=Angle. Positioning (a value of 0 makes them coincident): + // 2 point-likes (point/circle-centre/arc-centre)=Distance, moving the 2nd onto + // the 1st; a point-like + a line=DistanceToLine, moving the point-like's + // reference point onto/away-from the line (e.g. a circle centre onto an axis). + enum class DimType { None, Length, Diameter, Radius, Angle, Distance, DistanceToLine }; + DimType dimension_kind() const; // what the selection supports (None if invalid) + double dimension_current() const; // current value, to pre-fill the dialog + void apply_dimension(double v); // set it exactly, then clear the selection + + // Onshape-style Dimension tool (Mode::Dimension): with the tool active you click + // directly in the viewport — 2 points -> Distance, a line -> Length, a circle -> + // Diameter, an arc -> Radius, a point then a line -> DistanceToLine. A quote line + // with extension lines, arrowheads and a numeric label is PLACED in the sketch and + // drives the geometry (auto-offset; label editable). on_dimension_pick_complete + // fires when a pick resolves so the panel can pop the value card pre-filled. + std::function<void(double current)> on_dimension_pick_complete; + DimType pending_dimension_type() const; // type of the dim awaiting a value, or None + void set_dimension_value(double v); // apply the typed value to the placed dim + void cancel_dimension_value(); // keep the placed dim at its measured value + + // Onshape-style in-canvas value editing: open a floating text editor at the given + // screen pixel, pre-filled with `current`; commit applies the value, cancel keeps + // it. The owner (DesignCanvas) hosts the wxTextCtrl over the GL canvas. This is the + // single numeric-entry path for all sketch dimensions (replaces the modal cards). + std::function<void(wxPoint screen_px, double current, const std::string& title, + std::function<void(double)> commit, + std::function<void()> cancel)> on_inline_edit; + // Force-close any open inline field (runs its cancel = keep-as-drawn). Used by the polyline + // terminators (right-click / double-click) to end the chain even mid per-segment edit. + std::function<void()> on_inline_dismiss; + // Accept and close an open inline value field. dismiss() CANCELS; this one keeps the value, + // which is what leaving a tool should do — see set_tool(). + std::function<void()> on_inline_commit; + + // Bottom-right viewport readout: emitted each frame with the active tool's current + // values (live segment length/angle while drawing a line, or the selected entity's + // characteristic dimensions). Empty string -> hide the HUD. The owner (DesignCanvas) + // shows it as a floating corner label over the GL canvas. + std::function<void(const std::string&)> on_readout; + + // Driving dimension constraints accumulated during the session (the Dimension + // tool records a SketchEntityConstraintDef per applied dimension); committed + // alongside the entities on finish() so the kernel keeps enforcing them. + const std::vector<SketchEntityConstraintDef>& constraints() const { return m_constraints; } + + // Emitted by finish() with the accumulated entities + driving constraints. + std::function<void(const std::vector<SketchEntity>&, + const std::vector<SketchEntityConstraintDef>&, + const SketchPlane&)> on_commit_entities; + // Legacy single-profile commit (kept for compatibility; unused by entity tools). + std::function<void(const SketchProfile&, const SketchPlane&)> on_commit; + // Emitted when a closed-loop face is clicked in Select mode (Onshape: a region + // becomes a selectable face → extrude). The panel commits the sketch + extrudes. + std::function<void(int)> on_face_selected; // region index into region_loops(m_entities) + // Esc pressed while the tool is active with nothing left to unwind and no geometry to + // lose: leave the session (the panel restores Feature mode). + std::function<void()> on_exit; + // request_exit() declined to leave because the session holds geometry. The panel owns the + // status line, so the tool reports through this instead of writing text itself. + std::function<void()> on_exit_refused; + std::function<void()> on_move_exit; // right-click finished the move-body gizmo + // The two inner Esc levels, callable on their own so the panel can route one press to one + // level (see DesignInteraction.hpp). Each returns whether it had anything to unwind. + bool abort_gesture(); // CadLevel::Gesture — drop the entity being drawn + bool disarm_tool(); // CadLevel::Tool — armed draw/edit tool falls back to Select + void request_exit(); + // Ctrl+Z / Ctrl+Shift+Z (Ctrl+Y) while the Design canvas is focused: undo/redo the + // committed feature history. The tool just forwards to the host, which owns the + // CadDocument (the tool has no document of its own). redo == true requests redo. + std::function<void(bool /*redo*/)> on_undo_redo; + void request_undo_redo(bool redo); + +private: + bool screen_to_plane(GLCanvas3D& canvas, const wxMouseEvent& evt, Vec2d& out) const; + // True when the cursor is close enough to the open chain's FIRST point to close the loop, + // on the same screen tolerance as every other snap; snaps `p` exactly onto that point so + // the rubber band previews the closing segment and the snap marker lights. + bool snap_chain_start(GLCanvas3D& canvas, const wxMouseEvent& evt, Vec2d& p) const; + + // Onshape-style angle inference: snap the direction anchor->raw to the nearest + // of {0,30,45,60,90} deg (replicated every 90 deg) when within tolerance, keeping + // the same length. Sets `locked` when a snap was applied. Suppressed by m_snap_off. + Vec2d snap_dir(const Vec2d& anchor, const Vec2d& raw, bool& locked) const; + // Snap a placed point onto the nearest existing entity endpoint within ~8 px so + // chains join across entities (a line + an arc can close into one loop). Shift + // disables it. `snapped` reports whether a vertex was hit. + Vec2d snap_vertex(GLCanvas3D& canvas, const wxMouseEvent& evt, const Vec2d& raw, bool& snapped) const; + + // --- P1 inference / auto-constraint engine --------------------------------- + // Plane-units tolerance equivalent to ~`px` screen pixels at the cursor. + double screen_tol(GLCanvas3D& canvas, const wxMouseEvent& evt, const Vec2d& at, double px = 8.0) const; + // Run kernel inference at the cursor, cache the target for the hint renderer. + InferenceSnap infer_at(GLCanvas3D& canvas, const wxMouseEvent& evt, const Vec2d& raw) const; + // True if m_constraints already holds an equivalent Coincident between the two refs. + bool has_coincident(int ea, SketchPointRole ra, int eb, SketchPointRole rb) const; + // After entities [base, end) were committed, auto-emit the constraints that make + // the new geometry stick: Coincident between co-located endpoints (so loops close + // on their own) and Horizontal/Vertical on axis-aligned new segments. + // ang_tol_rad is how far from an axis a segment may be and still be CALLED axis-aligned. + // A gesture needs the default 3 degrees — nobody clicks a horizontal line exactly — but + // that same slack MOVES geometry that was given exactly, so the scripted path passes a + // tolerance tight enough to recognise only what is already true. See add_entities_scripted. + // ang_tol_rad: how far off axis a segment may be and still be called Horizontal/Vertical. + // weld_tol: how far apart two endpoints may be and still be called Coincident. + // Both default to GESTURE slack. A scripted add passes zero for both: the caller has + // already said exactly what it means, and every non-zero window is a window in which the + // inference rewrites it. 8xg1. + void infer_auto_constraints(int base, double ang_tol_rad = 3.0 * M_PI / 180.0, + double weld_tol = 1e-3); + + // Selection helpers (Mode::Select). + int hit_test(const Vec2d& p, double tol) const; // nearest entity within tol, or -1 + std::vector<int> connected_loop(int seed) const; // entities joined by shared endpoints + void apply_angle_between(int ia, int ib, double deg); // rotate line B to set the A^B angle + bool selection_valid() const; // all selection indices in range + void record_dimension_constraint(double v); // append the driving def for the selection + void resolve_live(); // solve accumulated constraints on m_entities now + // Drag-aware re-solve: pins the dragged point at its current coord and lets the + // solver move the rest (Slvs dragged[]). Used live while a point grab is active. + void resolve_live_drag(int dragged_ei, SketchPointRole dragged_role); + + // Placed dimension annotation. References entity points/entities (not cached + // coords) so the quote follows the geometry as the kernel solves it. `value` + // drives the constraint stored at index `con` in m_constraints. + struct DimAnnot { + DimType kind{DimType::None}; + int ea{-1}; SketchPointRole ra{SketchPointRole::P0}; + int eb{-1}; SketchPointRole rb{SketchPointRole::P0}; + double value{0.0}; + double side{1.0}; // perpendicular offset sign of the quote line + int con{-1}; // slot in m_constraints driving this dimension + Vec2d label_pos{0, 0}; // cached label centre (plane coords), for picking + }; + + // --- Onshape-style visual editing: handles + parametric feature grouping ----- + // A draggable handle on a defining point of an entity (or a derived point of a + // feature group). GUI-only; recomputed from solved geometry every frame (never + // persisted), so handles always track the current solve. Derived roles (radius, + // slot width/centres, rect corners, polygon vertex, ellipse axes) let tools that + // decompose into raw Line/Arc entities still expose their parametric controls. + enum class HandleRole { P0, P1, Center, RadiusHandle, + SlotCenter0, SlotCenter1, SlotWidth, + RectCorner, PolygonVertex, MajorAxis, MinorAxis, BSplineCtrl }; + struct Handle { + HandleRole role{HandleRole::P0}; + int ei{-1}; // primary entity index + int group{-1}; // index into m_features, or -1 for a raw-entity handle + int ctrl_index{-1}; // BSplineCtrl pole index + Vec2d pos{0, 0}; // current plane coords (recomputed each frame) + bool hovered{false}; + }; + // A parametric grouping over a contiguous run of entities produced by one gesture. + // Slot/Rect/Polygon/etc. have no SketchEntity type of their own — they decompose + // into raw Line/Arc entities — so the Feature carries the gesture's anchors so + // derived handles + characteristic dimensions can be reconstructed. + enum class FeatureKind { Free, Line, Circle, Arc, CornerRect, CenterRect, + Slot, ArcSlot, Polygon, Ellipse, RoundedRect, BSpline }; + struct Feature { + FeatureKind kind{FeatureKind::Free}; + int begin{0}, end{0}; // [begin,end) into m_entities + Vec2d c0{0, 0}, c1{0, 0}; // slot centres / rect corners / ellipse centre+major + double param{0.0}; // slot half-width / polygon circumradius / fillet radius + int sides{0}; // polygon side count + }; + // Build the live handle set for the current selection / just-drawn feature. + std::vector<Handle> build_handles() const; + // Nearest handle to plane-point p within tol; fills `out`. (Phase A: stub.) + bool hit_test_handle(const Vec2d& p, double tol, Handle& out) const; + // Move a handle to `target`, applying the role-specific geometry edit + re-solve. + void set_handle(const Handle& h, const Vec2d& target); + // On a no-button move, recompute the hovered handle; returns true iff it changed + // (so the caller forces exactly one repaint). No-op for non-Moving events. + bool update_hover(GLCanvas3D& canvas, wxMouseEvent& evt); + // Index of the Feature whose [begin,end) entity span contains ei, or -1. + int feature_of(int ei) const; + // Re-detect parametric Feature groups (polygon / rect / slot) from the raw entity + // list — used when a committed sketch is re-opened, where m_features is empty. + void rebuild_features_from_entities(); + // Open/close a Feature record around the entities a single gesture appends. + void begin_feature(FeatureKind kind); + void end_feature(const Vec2d& c0 = Vec2d(0, 0), const Vec2d& c1 = Vec2d(0, 0), + double param = 0.0, int sides = 0); + + bool point_at(int ei, SketchPointRole role, Vec2d& out) const; // current coords + void set_point(int ei, SketchPointRole role, const Vec2d& v); // move an entity point + bool hit_test_point(const Vec2d& p, double tol, int& ei, SketchPointRole& role) const; + int hit_test_dimension(const Vec2d& p, double tol) const; // nearest dim label + void edit_dimension(int di); // reopen value card for di + // Representative plane-coords anchor of a dimension (label centre if known, else a + // geometric midpoint/centre) — where the in-canvas value editor is positioned. + Vec2d dim_anchor(const DimAnnot& a) const; + // Open the in-canvas value editor on dimension `di` (falls back to the modal + // pick-complete callback when no inline-edit host is wired). + void open_value_editor(int di); + // In-canvas editor for a line's angle-to-horizontal; commit rotates the segment + // geometrically about P0 (no single-line angle constraint in libslvs). + void open_angle_editor(int ei); + void set_line_angle(int ei, double deg); + // Draw-then-edit (all creation tools): open the inline editor on the freshly-drawn + // selection's PRIMARY characteristic value. Called after render_live_quotes has computed + // the selection's quotes, so it dispatches on the same live-quote state a Select-mode + // click would use. + void open_primary_autoedit(); + // Compact "current values" string for the bottom-right HUD (see on_readout). + std::string build_readout() const; + // Open a characteristic live quote as a TENTATIVE driving dimension: the constraint is + // appended only if the user commits a value (Enter); cancel (Esc) adds nothing — so + // drawing never silently over-constrains. (place_dimension is the eager Select-mode twin.) + void open_next_autoedit_dim(); // opens m_autoedit_dims[idx]; commit -> next, Esc -> stop + void arm_polyline_segment_edit();// per-segment Length+Angle edit of the pending chain vertex + // In-canvas editors for a regular polygon's side length and orientation. Both edit + // the whole loop GEOMETRICALLY (polygon has no centre entity): side scales it + // uniformly about its centre, angle rotates it. set_polygon_radius is the shared + // uniform-scale primitive (circumradius). + void open_polygon_side_editor(int fi); + void open_polygon_angle_editor(int fi); + void set_polygon_side(int fi, double side); + void set_polygon_angle(int fi, double deg); + void set_polygon_radius(int fi, double R); + // Arc sweep-angle quote: geometric edit (SLVS angle is line-to-line only). Keeps the + // arc start point + radius fixed and moves the end point to span `deg` degrees. + void open_arc_angle_editor(int ei); + void set_arc_sweep(int ei, double deg); + // Arc handle drag (3 grips): Center rigidly translates; the START point changes the + // radius (keeps both sweep angles); the END point changes the sweep angle (keeps the + // radius). Geometric — no solver (SLVS has no arc radius/angle handle concept here). + void drag_arc_handle(int ei, SketchPointRole role, const Vec2d& target); + // Ellipse axis labels (geometric edit of the semi-axes a/b; phi via the major grip). + void open_ellipse_axis_editor(int ei, bool major); + void set_ellipse_axis(int ei, bool major, double v); + void set_ellipsearc_sweep(int ei, double deg); // draw-then-edit: included sweep of an elliptical arc + void set_rect_angle(int fi, double deg); // draw-then-edit: orientation of an oblique rect + // EllipseArc endpoint drag: Center translates; P0/P1 move the sweep start/end to the + // parametric angle of the cursor on the ellipse frame (radius/shape preserved). + void drag_ellipsearc_handle(int ei, SketchPointRole role, const Vec2d& target); + // Drop orientation constraints (H/V/Parallel/Perp/Angle/LockX/LockY) on entities in + // [begin,end). A ROTATION makes inferred per-edge H/V inconsistent, so re-solving + // against them collapses the shape — drop them first (fixes up DimAnnot.con indices). + void drop_orientation_constraints(int begin, int end); + // Drop every live constraint that references entity `ei` (Trim/Extend slide an endpoint, + // invalidating its constraints) and fix the dimensions' cached constraint indices. + void drop_constraints_referencing(int ei); + // Standalone Trim/Extend scissors on the LIVE sketch: pick the entity nearest `p` (within + // `tol` plane units) and cut it back to / out to its nearest intersection with the others. + // Returns true if an entity was modified. + bool apply_live_trim(const Vec2d& p, double tol, bool extend); + // Pure-computation hover preview for Trim/Extend: mirror apply_live_trim's pick + the + // engine's cut on a COPY (mutating nothing) and return, via `removed_poly`, the polyline + // of the sub-portion a click would REMOVE (Trim) or ADD (Extend). `subject_ei` is the + // picked entity. Returns false if nothing is in range or nothing would change. + bool compute_trim_preview(const Vec2d& p, double tol, bool extend, + int& subject_ei, std::vector<Vec2d>& removed_poly) const; + // Drag a polygon vertex while keeping the loop REGULAR: scale + rotate the whole + // polygon about its centroid so the grabbed vertex follows `target` (adjusts + // circumradius + orientation together). + void drag_polygon_vertex(int fi, int ei, SketchPointRole role, const Vec2d& target); + double measure_dim(const DimAnnot& a) const; // value from geometry + std::string dimtype_title(DimType k) const; + SketchEntityConstraintDef constraint_for(const DimAnnot& a) const; // driving def + // One driving constraint (and one visible quote) per kind+operands: re-typing a value must + // UPDATE it, not append a rival asking for something else. Both return the index. + int upsert_constraint(const SketchEntityConstraintDef& c); + int upsert_dimension(const DimAnnot& a); + int place_dimension(DimAnnot a); // create+drive+notify + std::string dim_text(const DimAnnot& a) const; // rendered label string + void render_dimensions(double unit_per_px); // quote lines + labels + // Draw ONE dimension's quote (extension/dimension lines, arrowheads, label) and + // return its label centre in out_label; false if the annot can't be drawn. Shared + // by render_dimensions (placed driving quotes) and render_live_quotes (live ones). + bool draw_dim_quote(const DimAnnot& a, double th, const ColorRGBA& col, Vec2d& out_label); + // Live, non-driving characteristic quotes for the entity being edited (point/handle + // drag, or a lone selection): the tool's defining dimensions shown Onshape-style so + // editing shows live values; click one (m_live_quotes) to promote it to a driving + // dim. Self-gates; skips a dim already driven on that entity. + void render_live_quotes(double unit_per_px); + // Iconic constraint badges (C3.4b): for each m_constrain_cons entry, append a + // small screen-constant glyph (H, V, ∥, ⊥, =, ○, …) near its primary entity into + // `out`; glyphs touching the same entity stack so they don't overlap. + void build_constraint_glyphs(double unit_per_px, + const std::vector<SketchEntityConstraintDef>& cons, + std::vector<std::pair<Vec2d, Vec2d>>& out); + void draw_strokes(GLModel& model, const std::vector<std::pair<Vec2d, Vec2d>>& segs, + double hw, const ColorRGBA& color); + void draw_text(GLModel& model, const std::string& s, const Vec2d& center, + double height, const ColorRGBA& color); // GL stroke font + void draw_dim_label(const std::string& txt, const Vec2d& plane_center); + + // Entity builders: append to m_entities (honoring the construction flag). + void push_line(const Vec2d& a, const Vec2d& b); + void push_closed_lines(const std::vector<Vec2d>& corners); + void push_open_chain(const std::vector<Vec2d>& pts); + void push_circle(const Vec2d& center, double radius); + void push_point(const Vec2d& p); + + // Multi-click tool builders: return the entities for a finished gesture so + // both on_mouse (append) and render (preview) share one geometry path. + std::vector<SketchEntity> make_three_point_circle(const Vec2d& a, const Vec2d& b, const Vec2d& c) const; + std::vector<SketchEntity> make_three_point_arc(const Vec2d& start, const Vec2d& end, const Vec2d& on_arc) const; + std::vector<SketchEntity> make_tangent_arc(const Vec2d& start, const Vec2d& end) const; + // Center-start-end arc: click center, then start (sets radius), then a third + // point whose direction from the center sets the CCW end angle. + std::vector<SketchEntity> make_center_arc(const Vec2d& center, const Vec2d& start, const Vec2d& end_dir) const; + std::vector<SketchEntity> make_slot(const Vec2d& c0, const Vec2d& c1, double half_width) const; + std::vector<SketchEntity> make_arc_slot(const Vec2d& center, const Vec2d& start, + const Vec2d& end_dir, double half_width) const; + std::vector<SketchEntity> make_rounded_rect(const Vec2d& a, const Vec2d& b, const Vec2d& radius_pt) const; + std::vector<SketchEntity> rounded_rect_entities(double xmin, double ymin, + double xmax, double ymax, double r) const; + // Rounded-rect grouped edit: W/H/fillet-R labels rebuild the 8-entity span in place. + void open_rounded_rect_editor(int fi, int which); // 0=Width 1=Height 2=fillet R + void set_rounded_rect(int fi, double w, double h, double r); + // Arc-slot grouped edit: centreline-radius + width labels rebuild the 4-arc span. + void open_arc_slot_editor(int fi, bool radius); // true=centreline R, false=width + void set_arc_slot(int fi, double Rc, double w); + // Straight-slot grouped edit: centreline-length + width labels rebuild the 4-entity span. + void open_slot_editor(int fi, int which); // 0=inter-centre distance, 1=radius, 2=angle + void set_slot(int fi, double length, double w); + void set_slot_angle(int fi, double deg); // rotate the centreline about c0, keep len+radius + // Grouped derived-handle drag: resize an axis-aligned rect by a corner (opposite corner + // fixed); move a slot end by its cap centre. Both rebuild the feature span geometrically. + void drag_rect_corner(int fi, const Vec2d& cursor); + void drag_slot_handle(int fi, const Vec2d& cursor); + std::vector<SketchEntity> make_polygon(const Vec2d& center, const Vec2d& vertex, int sides) const; + // Ellipse: click center, then major-axis endpoint (sets a + rotation phi), + // then a point whose perpendicular distance to the major axis sets b. + std::vector<SketchEntity> make_ellipse(const Vec2d& center, const Vec2d& major_end, + const Vec2d& minor_pt) const; + // Elliptical arc: same 3 axis clicks, then start and end points whose parametric + // angles on the ellipse bound the CCW sweep. + std::vector<SketchEntity> make_bspline(const std::vector<Vec2d>& ctrl) const; + std::vector<SketchEntity> make_ellipse_arc(const Vec2d& center, const Vec2d& major_end, + const Vec2d& minor_pt, const Vec2d& start_pt, + const Vec2d& end_pt) const; + void append_entities(const std::vector<SketchEntity>& ents); + void draw_entities_preview(const std::vector<SketchEntity>& ents, const ColorRGBA& color); + + // --- In-canvas edit-op gizmo (Fillet/Chamfer/Offset/Mirror toolbar tools) -------- + // These replace the docked numeric card: pick the entities in-canvas, then a draggable + // arrow with a value label is projected toward the corner/centre (Fillet/Chamfer/Offset), + // or a two-phase pick (axis line, then targets) drives a live mirrored ghost. The + // SketchEngine op is recomputed live so a translucent ghost previews the result; confirm + // applies the geometry and binds constraints into m_constraints (try_add_constraints). + bool op_corner(int a, int b, Vec2d& C, Vec2d& bis, double& theta) const; // line-line vertex + inward bisector + void op_pick(int ei); // route an entity pick to the active op + void recompute_op_ghost(); // rebuild m_op_ghost from m_op_value + void render_op_gizmo(double unit_per_px); // ghost + arrow + value label (caches m_op_label) + bool hit_test_op_arrow(const Vec2d& p, double tol) const; + void drag_op_arrow(const Vec2d& target); // project cursor onto m_op_dir -> value + void open_op_editor(); // inline-edit the value label + void confirm_op(); // apply + bind, then reset for the next gesture + void reset_op(); // clear gizmo state (keeps the tool active) + bool op_ready() const; // required entities picked -> arrow/ghost live + + // Sample an entity into a 2D polyline for the overlay renderer. + std::vector<Vec2d> entity_polyline(const SketchEntity& e, bool& closed) const; + + // Closed regions formed by the current (non-construction) entities: each a CCW- + // ordered boundary polygon on the plane. A circle is its own region; line/arc + // chains are walked endpoint-to-endpoint into loops. Used to fill faces. + std::vector<std::vector<Vec2d>> closed_regions() const; + std::vector<std::vector<Vec2d>> closed_regions(const std::vector<SketchEntity>& ents) const; + // Same loops, but each carries the indices of the entities that form it — so a single + // loop can be highlighted / extruded on its own (per-region selection on the plate). + // A selectable sketch region: its own boundary, plus the loops nested INSIDE it, which + // are its holes. Modelling holes is what makes "the plate with the hole in it" a thing the + // user can point at — without it a sketch is N disjoint filled polygons and the only + // selectable things are the rectangle alone or the circle alone (txp8). + struct RegionLoop { + std::vector<Vec2d> poly; + std::vector<int> ents; + std::vector<int> holes; // indices into the same vector; one nesting level + }; + std::vector<RegionLoop> region_loops(const std::vector<SketchEntity>& ents) const; + // Index of the closed region containing plane-point p (point-in-polygon), or -1. + int region_at(const Vec2d& p) const; + + void draw_quad_strip(GLModel& model, const std::vector<Vec2d>& pts, bool closed, const ColorRGBA& color); + // half_size is the square marker half-extent in PLANE units. Callers pass a + // zoom-scaled value (k / zoom) for screen-constant handles; the default keeps + // legacy point markers exactly as before. + void draw_vertices(GLModel& model, const std::vector<Vec2d>& pts, const ColorRGBA& color, + double half_size = 1.3); + void draw_fill(GLModel& model, const std::vector<Vec2d>& poly, const ColorRGBA& color); + // Same, with the region's holes cut out, so a selected plate-with-a-hole is drawn as an + // ANNULUS instead of a filled rectangle painted straight across its own bore. + void draw_fill_holed(GLModel& model, const std::vector<Vec2d>& outer, + const std::vector<std::vector<Vec2d>>& holes, const ColorRGBA& color); + const ColorRGBA* sketch_hl_color(int feature) const; + + bool m_active{false}; + SketchPlane m_plane; + std::vector<Vec2d> m_points; // clicks of the in-progress entity / chain + std::vector<SketchEntity> m_entities; // committed entities of this session + bool m_construction{false}; + int m_polygon_sides{6}; + bool m_polygon_circumscribed{false}; + Vec2d m_cursor{0,0}; + bool m_has_cursor{false}; + bool m_snap_off{false}; // Shift held -> suppress angle snapping + InferenceSnap m_cursor_snap; // last cursor inference target (for hint render) + bool m_cursor_locked{false}; // rubber-band segment is angle-locked + bool m_awaiting_length{false}; // inline value editor open -> freeze canvas + int m_autoedit_seen{-1}; // entity count baseline for draw-then-edit + bool m_autoedit_pending{false};// a new entity just committed -> open editor + // Draw-then-edit step queue: every characteristic dimension of the freshly-drawn shape + // (scalar quote OR geometric editor) becomes one step, opened in sequence over its label. + struct AutoEditStep { + Vec2d label; // anchor (plane coords) — field opens over this + double value; // initial value shown + std::function<void(double)> apply; // commit: set the dimension + std::vector<int> hi; // entities to highlight while THIS field is open + std::string title; // label shown above the value field + }; + std::vector<AutoEditStep> m_autoedit_dims; // queued steps to edit in sequence + int m_autoedit_dim_idx{-1}; // index into m_autoedit_dims (-1 = idle) + std::vector<int> m_selection; // selected entity indices (Mode::Select) + std::vector<std::pair<int, SketchPointRole>> m_point_sel; // selected individual points + int m_last_mouse_x{0}; // last cursor pos (canvas client px), for + int m_last_mouse_y{0}; // anchoring the in-canvas value editor + bool m_dragging_point{false}; // a point grab is in progress (Mode::Select) + int m_drag_ei{-1}; // entity whose point is being dragged + int m_drag_poly_fi{-1}; // >=0 if the grabbed point is a polygon + // vertex: drag scales+rotates the loop + int m_drag_rect_fi{-1}; // >=0 if dragging an axis-aligned rect corner + Vec2d m_drag_rect_anchor{0,0}; // the fixed (opposite) corner + int m_drag_slot_fi{-1}; // >=0 if dragging a slot cap centre + bool m_drag_slot_c1{false}; // true=cap@c1, false=cap@c0 + SketchPointRole m_drag_role{SketchPointRole::P0}; + std::vector<SketchEntityConstraintDef> m_constraints; // driving dims, committed on finish + + // Onshape-style visual editing state. + bool m_show_handles{false}; // draw + interact with handles + bool m_dragging_handle{false};// a handle grab is in progress + Handle m_drag_handle; // the handle being dragged + bool m_has_hover_handle{false};// cursor is near a handle (highlight it) + Handle m_hover_handle; // the hovered handle (recomputed on move) + std::vector<DimAnnot> m_live_quotes; // live non-driving characteristic quotes, + // clickable to promote to driving dims + Vec2d m_live_poly_side_label{0,0}; // polygon side-length quote label + Vec2d m_live_poly_angle_label{0,0}; // polygon orientation quote label + int m_live_poly_fi{-1}; // their Feature (geometric edits) + Vec2d m_live_arc_angle_label{0,0}; // arc sweep-angle quote label + int m_live_arc_ei{-1}; // the arc it belongs to (geometric edit) + Vec2d m_live_ellipse_major_label{0,0}; // ellipse semi-major quote label + Vec2d m_live_ellipse_minor_label{0,0}; // ellipse semi-minor quote label + Vec2d m_live_ellipsearc_sweep_label{0,0}; // elliptical-arc sweep quote label + int m_live_ellipse_ei{-1}; // the ellipse the labels belong to + Vec2d m_live_obrect_angle_label{0,0}; // oblique-rect orientation quote label + int m_live_obrect_fi{-1}; // an OBLIQUE rect Feature (angle editable) + Vec2d m_live_rrect_w_label{0,0}; // rounded-rect width quote label + Vec2d m_live_rrect_h_label{0,0}; // rounded-rect height quote label + Vec2d m_live_rrect_r_label{0,0}; // rounded-rect fillet-radius label + int m_live_rrect_fi{-1}; // the rounded-rect Feature (rebuild edits) + Vec2d m_live_aslot_r_label{0,0}; // arc-slot centreline-radius label + Vec2d m_live_aslot_w_label{0,0}; // arc-slot width label + int m_live_aslot_fi{-1}; // the arc-slot Feature (rebuild edits) + Vec2d m_live_slot_len_label{0,0}; // straight-slot inter-centre distance label + Vec2d m_live_slot_w_label{0,0}; // straight-slot radius (half-width) label + Vec2d m_live_slot_angle_label{0,0}; // straight-slot centreline angle label + int m_live_slot_fi{-1}; // the straight-slot Feature (rebuild edits) + std::vector<Feature> m_features; // parametric groups over m_entities + int m_open_feature{-1}; // index of the Feature being built, or -1 + + // In-canvas edit-op gizmo state (Fillet/Chamfer/Offset/Mirror). GUI-only, reset by + // set_tool/cancel. Fillet/Chamfer: m_op_a,m_op_b = the two lines; Offset: m_op_a = src; + // Mirror: m_op_a = axis line, m_mirror_targets = entities to mirror. + // Last (mode, step, picks) reported through on_step_changed; -1 mode = nothing reported yet. + int m_step_mode_last{-1}; + int m_step_last{-1}; + int m_step_picks_last{-1}; + int m_op_a{-1}; + int m_op_b{-1}; + double m_op_value{0.0}; // radius / setback / signed offset distance + Vec2d m_op_anchor{0,0}; // arrow base (corner vertex / entity midpoint) + Vec2d m_op_dir{0,0}; // unit arrow direction (inward bisector / outward normal) + Vec2d m_op_label{1e18,1e18}; // cached arrow-label centre, for picking + std::vector<SketchEntity> m_op_ghost; // live result preview (recomputed on value change) + bool m_op_dragging_arrow{false}; // arrowhead drag in progress + std::vector<int> m_mirror_targets; // Mirror: entities to be mirrored (axis = m_op_a) + + // In-canvas imported-art transform gizmo (Mode::TransformArt). GUI-only. The art's + // untransformed contours + its bbox in base coords; the live offset/scale; the grabbed + // handle (0..3 = corners, 4 = centre move, -1 = none) and the fixed world anchor (the + // opposite corner during a corner-scale drag). + std::vector<std::vector<std::vector<Vec2d>>> m_xform_base; + int m_xform_feat{-1}; + Vec2d m_xform_min{0,0}, m_xform_max{0,0}; // bbox of m_xform_base (untransformed) + Vec2d m_xform_offset{0,0}; + double m_xform_sx{1.0}, m_xform_sy{1.0}; + int m_xform_handle{-1}; + Vec2d m_xform_anchor{0,0}; + void xform_world_corners(Vec2d out[4]) const; // 4 bbox corners in plane coords + int hit_test_xform_handle(const Vec2d& p, double tol) const; + void drag_xform_handle(const Vec2d& target); + void render_xform_gizmo(); + void emit_xform(); + void reset_xform(); + + // In-canvas transform gizmo state (Mode::Move/Rotate/Scale/Array/PolarArray). GUI-only, + // reset by set_tool/cancel. Pick one or more subject entities (m_tf_targets), then a + // single draggable handle drives the continuous parameter and a live translucent ghost + // previews the result; Array/PolarArray add a second editable label for the copy count. + // Mutating ops (Move/Rotate/Scale) drop the constraint classes the map invalidates; + // additive ops (Array/PolarArray) bind each copy to its source. See confirm_transform(). + std::vector<int> m_tf_targets; // picked subject entity indices + Vec2d m_tf_pivot{0,0}; // rotate/scale/polar pivot = set centroid + Vec2d m_tf_delta{0,0}; // Move translation / Array per-step vector + double m_tf_angle{0.0}; // Rotate angle / PolarArray total sweep (rad) + double m_tf_scale{1.0}; // Scale factor + int m_tf_count{3}; // Array/PolarArray copy count (incl. original) + double m_tf_handle_r{1.0}; // ring/handle reference radius (set on pick) + std::vector<SketchEntity> m_tf_ghost; // live result preview + int m_tf_handle{-1}; // 0 = primary drag handle grabbed, -1 = none + bool m_tf_dragging{false}; + Vec2d m_tf_label_a{1e18,1e18}; // primary-param label centre (picking) + Vec2d m_tf_label_b{1e18,1e18}; // count label centre (Array/PolarArray) + bool tf_ready() const; // >=1 target picked -> gizmo + ghost live + void tf_pick(int ei); // accumulate a subject, seed defaults once + void compute_tf_pivot(); // centroid + extent of the target set + void recompute_tf_ghost(); + Vec2d tf_handle_pos() const; // world position of the drag handle + bool hit_test_tf_handle(const Vec2d& p, double tol) const; + void drag_tf_handle(const Vec2d& target); + void render_tf_gizmo(double unit_per_px); + void open_tf_editor_a(); // inline-edit the continuous parameter + void open_tf_editor_count(); // inline-edit the copy count + void confirm_transform(); // apply geometry + constraint web + void reset_tf(); + + // DoF feedback state, refreshed by resolve_live() from the libslvs solve result. + int m_dof{-1}; // remaining DoF; 0 = fully constrained, <0 = unknown + bool m_solve_ok{true}; // solver consistent (no conflicting constraints) + std::vector<char> m_entity_conflict; // per-entity flag: touched by a conflicting constraint + std::vector<DimAnnot> m_dimensions; // placed dimension quotes (Mode::Dimension) + int m_dim_e0{-1}; // first picked point's entity (Dimension) + SketchPointRole m_dim_r0{SketchPointRole::P0}; + bool m_dim_has0{false}; // a first point is pending + int m_pending_dim{-1}; // dim awaiting a value-card entry + Mode m_mode{Mode::Polyline}; + int m_sel_a{-1}; // picked segment endpoints (legacy Constrain mode) + int m_sel_b{-1}; + bool m_constrain_entities{false}; // Constrain mode acts on entities + int m_pick0{-1}; // picked line-entity indices (entity Constrain) + int m_pick1{-1}; + int m_pick2{-1}; // third slot (Symmetric axis) + Vec2d m_pick0_pt{0,0}; // plane-coords of the slot-0 pick (trim/extend) + std::vector<int> m_constraint_hl; // entities highlighted by the constraint manager + std::vector<SketchEntityConstraintDef> m_constrain_cons; // for glyph badges (C3.4b) + // Where each badge landed, so a click can find the constraint it stands for. Rebuilt by + // build_constraint_glyphs on every render, which is always the frame the user clicked on. + struct GlyphHit { Vec2d c{0,0}; int con{-1}; }; + std::vector<GlyphHit> m_glyph_hits; + double m_glyph_r{0.0}; // badge half-size in plane units (hit radius) + GLModel m_line_model; + GLModel m_vertex_model; + GLModel m_highlight_model; + int m_dim_label_seq{0}; + float m_render_scale{1.0f}; // canvas scale for Measure-style dim labels + GLModel m_fill_model; // translucent face fill for closed regions + std::vector<DisplaySketch> m_display_sketches; // committed sketches drawn persistently + std::vector<std::pair<int, ColorRGBA>> m_hl_sketches; // feature index -> outline colour (Sweep/Loft operands) + int m_display_pick{-1}; // FEATURE index of the click-selected display sketch (-1 none) + + // Solid (whole/face/edge) selection on the committed bodies. Pointers are non-owning, + // into CadDocument (bodies + display_mesh + per-triangle face/body ids), refreshed each + // recompute via set_solid_pick. m_sel_edge_pts caches the picked edge's world polyline. + const std::vector<CadBody>* m_solid_bodies{nullptr}; + const TriangleMesh* m_solid_mesh{nullptr}; + const std::vector<int>* m_solid_tri_face{nullptr}; + const std::vector<int>* m_solid_tri_body{nullptr}; + const std::vector<bool>* m_solid_visible{nullptr}; // per-body visibility; hidden bodies aren't pickable + int m_pick_only_body{-1}; // >=0: only this body catches clicks (body-focus x-ray for CoordSys picking) + const std::vector<Transform3d>* m_solid_xform{nullptr}; // per-body display transform (for edge sampling) + Vec3d body_xform_pt(int body, const Vec3d& p) const; // map an OCCT-shape point through the body xform + bool body_pickable(int b) const; // false when the body is explicitly hidden + SolidSel m_solid_sel{SolidSel::None}; + int m_sel_body{-1}; // which body the face/edge selection is on + int m_sel_face{-1}; + int m_sel_edge{-1}; + std::vector<Vec3d> m_sel_edge_pts; + Vec3d m_sel_vertex_pt{Vec3d::Zero()}; // world point of a picked vertex + bool handle_solid_click(GLCanvas3D& canvas, const wxMouseEvent& evt); // pick + notify + // What a click at (mx,my) WOULD take, resolved without touching the selection. One + // implementation, two callers: the click, and the hover pre-highlight that promises what the + // click is about to do. Split so the promise cannot drift from the act. + struct SolidPick { + SolidSel kind{SolidSel::None}; + int body{-1}, face{-1}, edge{-1}; + std::vector<Vec3d> edge_pts; + Vec3d vertex_pt{Vec3d::Zero()}; + }; + bool resolve_solid_pick(GLCanvas3D& canvas, int mx, int my, SolidPick& out) const; + // HOVER PRE-HIGHLIGHT (9xw part 3). Vertex-beats-edge-beats-face is a rule the user + // cannot see until after they commit to a click; showing the outcome under the pointer is + // what makes the precedence learnable at all, and is the charter's L5 (one click, one visible + // change) read honestly — the change has to be predictable before the click, not only after. + SolidPick m_pre; // what the pointer is currently over (kind None = nothing) + bool update_solid_hover(GLCanvas3D& canvas, const wxMouseEvent& evt); // true when it changed + // Left-drag rubber band: sweep a rectangle over the plate to take a whole body. Orbit + // moves to middle-drag in this canvas (DesignCanvas::set_cad_navigation) so the left + // button is free for it, which is the CAD convention (Onshape/SolidWorks). + GLSelectionRectangle m_rubber; + void pick_bodies_in_rectangle(); // resolve the swept rectangle -> whole-body selection + bool on_mouse_impl(wxMouseEvent& evt, GLCanvas3D& canvas); // the body; on_mouse wraps it + // Nearest stroke + enclosing region of ONE committed sketch. Shared by the click and + // double-click paths so they cannot disagree about what is under the pointer. + void hit_display_sketch(const DisplaySketch& d, const Vec2d& p, double tol, + int& edge_feat, int& edge_reg, int& edge_ent, + double& edge_d, int& face_feat, int& face_reg) const; + bool m_right_consumed{false}; // last RightDown was a gesture terminator, not a menu + bool m_escalate_repick{true}; // re-picking the same sub-element takes the whole body + void render_solid_highlight(); + // The shared body of the above: one highlight from explicit arguments, so the committed + // selection and the hover pre-highlight cannot drift apart in how they look. + void render_solid_sel(SolidSel kind, int body, int face, const std::vector<Vec3d>& edge_pts, + const Vec3d& vertex_pt, const ColorRGBA& rgb, float alpha_mul); + void render_datum_planes(); // translucent rectangles for datum/reference planes + void render_view_helpers(); // world origin planes + axis triad (P / A toggles) + bool m_show_planes{false}; + bool m_show_axes{false}; + std::vector<SketchPlane> m_datum_planes; + std::vector<Vec2d> m_datum_sizes; // per-plane (u,v) full extent; empty -> default + void render_mate_connectors(); // disc + roll quadrant + one-sided Z arrow + // The face treatment of the same connector: a shaded low-poly relief of a bear's head in the + // connector's own frame. Draws the plate, the snout tent and the marks; the caller still draws + // the Z arrow, which is shared with the disc treatment. + void render_mate_face(const Vec3d& origin, const Vec3d& X, const Vec3d& Y, const Vec3d& Z, + double R, const ColorRGBA& body); + std::vector<MateConnectorGlyph> m_mate_connectors; + std::vector<std::pair<Vec3d, Vec3d>> m_mate_links; + GLModel m_mc_stroke_model; + GLModel m_mc_fill_model; // the face treatment's shaded facets + GLModel m_solid_face_model; + GLModel m_solid_edge_model; + GLModel m_solid_vertex_model; + int m_display_pick_region{-1}; // selected closed-region index within that feature (-1 none) + + // Visual Extrude gizmo state (C5b). GUI-only; fed by the panel each refresh_preview. + bool m_ex_active{false}; + SketchPlane m_ex_plane; // profile plane (gives normal + to_world anchor) + Vec2d m_ex_centroid{0,0}; // arrow base in plane coords (profile centroid) + double m_ex_depth{0.0}; // primary depth (= m_distance) + double m_ex_depth2{0.0}; // second-side depth (TwoSided, = m_distance2) + bool m_ex_two_sided{false}; + bool m_ex_flip{false}; + int m_ex_drag{-1}; // 0 = primary arrow, 1 = second arrow, -1 = none + int m_ex_press_x{0}, m_ex_press_y{0}; // press px to tell click-to-edit from drag + void render_extrude_gizmo(); + bool hit_test_extrude_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const; + void drag_extrude_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + void open_extrude_editor(int which); + GLModel m_ex_arrow_model; + + // Datum-plane resize gizmo state (C3). GUI-only; fed by the panel while the Plane card is open. + bool m_dz_active{false}; + SketchPlane m_dz_plane; // resolved datum frame (origin + axes) + double m_dz_usize{60.0}; // current u extent (full width) + double m_dz_vsize{60.0}; // current v extent (full height) + int m_dz_drag{-1}; // 0=+u,1=-u,2=+v,3=-v handle, 4=offset tip, -1 none + int m_dz_press_x{0}, m_dz_press_y{0}; + Vec3d m_dz_anchor{Vec3d::Zero()}; // base-plane origin (offset arrow tail) + Vec3d m_dz_normal{0.0, 0.0, 1.0}; // base normal (offset arrow direction) + double m_dz_offset{0.0}; // current signed offset along the base normal + bool m_dz_offset_on{false}; // draw/allow the offset arrow (Offset-from-base only) + void render_datum_gizmo(); + bool hit_test_datum_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const; + void drag_datum_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + // Helix gizmo state (plane-anchored curve + 3 drag handles). Fed by the panel while the + // Helix card is open (sketch tool NOT active); the tool draws the live helix plus a handle + // on each length parameter (radius/height/pitch). Taper and handedness stay on the card. + bool m_hx_active{false}; + SketchPlane m_hx_plane; // axis = plane normal, base circle in the plane + double m_hx_radius{10.0}; + double m_hx_pitch{2.0}; + double m_hx_height{20.0}; + double m_hx_taper{0.0}; // DEGREES (cone half-angle), as the kernel reads it + bool m_hx_left{false}; + int m_hx_drag{-1}; // 0=radius, 1=height, 2=pitch, -1 none + int m_hx_press_x{0}, m_hx_press_y{0}; + Vec3d helix_point(double t) const; // curve point at parameter t (shared render/hit/drag) + void render_helix_gizmo(); + bool hit_test_helix_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const; + void drag_helix_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + // Rib thickness gizmo state (plane-anchored slab footprint + 2 drag handles). Fed by the + // panel while the Rib card is open (sketch tool NOT active); the tool draws the rib's + // footprint outline and a handle on each side of the line at half-thickness. Dragging either + // handle sets the full thickness (the slab is centred on the line). + bool m_rb_active{false}; + SketchPlane m_rb_plane; + Vec2d m_rb_p0{Vec2d::Zero()}; // rib line endpoints, in plane coords + Vec2d m_rb_p1{Vec2d::Zero()}; + double m_rb_thickness{2.0}; + int m_rb_drag{-1}; // 0 = +perp handle, 1 = -perp handle, -1 none + void render_rib_gizmo(); + bool hit_test_rib_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int& which) const; + void drag_rib_handle(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + // Datum base picker (translucent clickable origin/datum planes) + bool m_dbp_active{false}; + std::vector<SketchPlane> m_dbp_planes; + std::vector<int> m_dbp_base; + std::vector<std::string> m_dbp_labels; + int m_dbp_hover{-1}; + double dbp_half_extent() const; // bed-derived: reference planes are larger than the bed + void render_base_pick(); + int hit_test_base_pick(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + + // Move-body gizmo state: 3 world-axis translate arrows + 3 world-axis rotate rings. + // Delta model: offset/rot are deltas about a fixed pivot, composed onto m_mv_base_xform + // (the body's pose when Move opened) so rotation works even on an already-placed body. + bool m_mv_active{false}; + int m_mv_body{-1}; + Vec3d m_mv_base{Vec3d::Zero()}; // pivot = body's world centroid at Move-open + Vec3d m_mv_offset{Vec3d::Zero()}; // delta translation along world X/Y/Z + Transform3d m_mv_base_xform{Transform3d::Identity()}; // pose when Move opened + Eigen::Matrix3d m_mv_rot{Eigen::Matrix3d::Identity()}; // accumulated delta rotation (world, about pivot) + Eigen::Matrix3d m_mv_rot_start{Eigen::Matrix3d::Identity()}; // rot snapshot at arc-drag start + double m_mv_arc_a0{0.0}; // mouse angle on the ring at drag start + int m_mv_drag{-1}; // 0..2 = X/Y/Z arrow, 3..5 = X/Y/Z ring, -1 none + double m_mv_radius{0.0}; // body bounding-sphere radius (mm); 0 = unknown + int m_mv_press_x{0}, m_mv_press_y{0}; + Transform3d compose_move_xform() const; // T(offset)*T(pivot)*rot*T(-pivot)*base_xform + void ring_basis(int axis, Vec3d& e, Vec3d& u, Vec3d& v) const; // world axis + in-plane basis + void render_move_gizmo(); + // Gizmo arm length (world mm): scales with the body so the rings clear its surface. + double move_gizmo_arm(const Camera& cam) const; + bool hit_test_move_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int& axis) const; + bool hit_test_move_arc(GLCanvas3D& canvas, const wxMouseEvent& evt, int& axis) const; + void drag_move_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis); + void drag_move_arc(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis); + bool arc_mouse_angle(GLCanvas3D& canvas, const wxMouseEvent& evt, int axis, double& ang) const; + void open_move_editor(int axis); + GLModel m_mv_arrow_model; + + // Fillet/Chamfer radius gizmo state (single world-space arrow at the picked edge midpoint). + bool m_fl_active{false}; + Vec3d m_fl_anchor{Vec3d::Zero()}; // edge midpoint (world, already body-transformed) + Vec3d m_fl_dir{Vec3d::UnitZ()}; // unit radius direction (perp to edge, outward) + double m_fl_radius{1.0}; // current radius (= dressup size) + bool m_fl_drag{false}; + int m_fl_press_x{0}, m_fl_press_y{0}; + double m_fl_grab_proj{0.0}; // axis projection at grab (relative drag reference) + double m_fl_grab_radius{1.0}; // radius at grab (relative drag reference) + void render_fillet_gizmo(); + bool hit_test_fillet_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + double fillet_axis_proj(GLCanvas3D& canvas, const wxMouseEvent& evt) const; // NaN if camera∥axis + void start_fillet_drag(GLCanvas3D& canvas, const wxMouseEvent& evt); + void drag_fillet_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_fillet_editor(); + GLModel m_fl_arrow_model; + + // Hole gizmo state. The hole is a positioned circular cut on m_hl_plane at (m_hl_x, m_hl_y); + // the footprint circle is drawn on the plane, the diameter arrow runs along the plane u-axis, + // the depth arrow along +normal (matching the kernel's make_extrude). Three draggable handles: + // 0 = centre (reposition in plane u/v), 1 = diameter, 2 = depth (only shown when !through). + bool m_hl_active{false}; + SketchPlane m_hl_plane; + double m_hl_x{0.0}, m_hl_y{0.0}; // centre on the plane (u/v mm) + double m_hl_diameter{6.0}; + double m_hl_depth{10.0}; + bool m_hl_through{true}; + // #2 Part B: face (u,v) bounds, so the construction dims read as distance from the face SIDES + // (umin/vmin = two adjacent edges) rather than from the centre. Off for a dropdown-plane hole. + bool m_hl_has_bounds{false}; + double m_hl_umin{0}, m_hl_umax{0}, m_hl_vmin{0}, m_hl_vmax{0}; + int m_hl_drag{-1}; // 0=centre, 1=diameter, 2=depth, 3=X-dim, 4=Y-dim, -1=none + int m_hl_press_x{0}, m_hl_press_y{0}; + double m_hl_grab_proj{0.0}; // diameter/depth axis projection at grab (relative) + double m_hl_grab_val{0.0}; // radius (diameter drag) or depth at grab + Vec2d m_hl_grab_uv{0.0, 0.0}; // centre drag: plane-projected grab point + double m_hl_grab_x{0.0}, m_hl_grab_y{0.0}; // centre drag: x/y at grab + void render_hole_gizmo(); + int hit_test_hole_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const; // 0/1/2/-1 + double hole_axis_proj(GLCanvas3D& canvas, const wxMouseEvent& evt, + const Vec3d& anchor, const Vec3d& dir) const; // NaN if camera∥axis + void start_hole_drag(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + void drag_hole_handle(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_hole_editor(int which); + GLModel m_hl_stroke_model; + + // Thread gizmo state (mirrors the hole gizmo; radius arrow uses an R label, length arrow is + // always shown). Handles: 0 = centre (thread_x/y), 1 = radius, 2 = length. + bool m_th_active{false}; + SketchPlane m_th_plane; + double m_th_x{0.0}, m_th_y{0.0}; + double m_th_radius{5.0}; + double m_th_height{10.0}; + int m_th_drag{-1}; // 0=centre, 1=radius, 2=length, -1=none + int m_th_press_x{0}, m_th_press_y{0}; + double m_th_grab_proj{0.0}; + double m_th_grab_val{0.0}; + Vec2d m_th_grab_uv{0.0, 0.0}; + double m_th_grab_x{0.0}, m_th_grab_y{0.0}; + void render_thread_gizmo(); + int hit_test_thread_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const; // 0/1/2/-1 + void start_thread_drag(GLCanvas3D& canvas, const wxMouseEvent& evt, int which); + void drag_thread_handle(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_thread_editor(int which); + GLModel m_th_stroke_model; + + // Shell gizmo state (single inward thickness arrow at the picked face centroid). + bool m_sh_active{false}; + Vec3d m_sh_anchor{Vec3d::Zero()}; // picked face centroid (world) + Vec3d m_sh_dir{Vec3d::UnitZ()}; // inward unit direction (-outward normal) + double m_sh_thickness{2.0}; + bool m_sh_drag{false}; + int m_sh_press_x{0}, m_sh_press_y{0}; + double m_sh_grab_proj{0.0}; + double m_sh_grab_val{2.0}; + void render_shell_gizmo(); + bool hit_test_shell_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + void start_shell_drag(GLCanvas3D& canvas, const wxMouseEvent& evt); + void drag_shell_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_shell_editor(); + GLModel m_sh_stroke_model; + + // Revolve gizmo state (arc center = projection of the profile centroid onto the axis). + bool m_rv_active{false}; + Vec3d m_rv_center{Vec3d::Zero()}; // arc center on the axis (world) + Vec3d m_rv_axis{Vec3d::UnitX()}; // revolve axis unit dir (world) + Vec3d m_rv_ref{Vec3d::UnitY()}; // angle-0 reference dir (perp to axis, toward profile) + double m_rv_radius{10.0}; // arc radius = profile perpendicular distance (world) + double m_rv_angle{360.0}; // current sweep magnitude (deg, 1..360) + bool m_rv_flip{false}; // sweep sense (matches the kernel's negative-angle flip) + bool m_rv_drag{false}; + int m_rv_press_x{0}, m_rv_press_y{0}; + void render_revolve_gizmo(); + bool hit_test_revolve_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + void drag_revolve_arc(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_revolve_editor(); + GLModel m_rv_stroke_model; + + // Draft gizmo state (arc center = picked face centroid; axis = world +Z, taper pull direction). + bool m_dr_active{false}; + Vec3d m_dr_center{Vec3d::Zero()}; // arc center = face centroid (world) + Vec3d m_dr_axis{Vec3d::UnitZ()}; // draft axis = world +Z (pull direction) + Vec3d m_dr_ref{Vec3d::UnitX()}; // angle-0 reference dir (perp to axis) + double m_dr_radius{10.0}; // arc radius (world) + double m_dr_angle{5.0}; // current sweep magnitude (deg, [-89, 89]) + bool m_dr_drag{false}; + int m_dr_press_x{0}, m_dr_press_y{0}; + void render_draft_gizmo(); + bool hit_test_draft_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + void drag_draft_arc(GLCanvas3D& canvas, const wxMouseEvent& evt); + GLModel m_dr_stroke_model; + std::function<void(double)> m_on_draft_angle_changed; + + // Cut gizmo state (plane normal arrow + wire rectangle at the current offset). + bool m_ct_active{false}; + Vec3d m_ct_base{Vec3d::Zero()}; // body centre projected into the cut plane + Vec3d m_ct_n{Vec3d::UnitZ()}; // cut plane normal (unit) + Vec3d m_ct_u{Vec3d::UnitX()}; // cut plane U axis (unit) + Vec3d m_ct_v{Vec3d::UnitY()}; // cut plane V axis (unit) + double m_ct_offset{0.0}; + double m_ct_half{10.0}; + bool m_ct_drag{false}; + double m_ct_grab_val{0.0}; + double m_ct_grab_proj{0.0}; + void render_cut_gizmo(); + bool hit_test_cut_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + void start_cut_drag(GLCanvas3D& canvas, const wxMouseEvent& evt); + void drag_cut_arrow(GLCanvas3D& canvas, const wxMouseEvent& evt); + GLModel m_ct_stroke_model; + GLModel m_ct_rect_model; + std::function<void(double)> m_on_cut_offset_changed; + + // Pattern gizmo state. Linear arrow along m_pt_dirw from m_pt_base; circular arc like Revolve + // but axis = m_pt_normal through m_pt_origin (the world XY plane by default). + bool m_pt_active{false}; + bool m_pt_circular{false}; + Vec3d m_pt_base{Vec3d::Zero()}; // target body centroid (world): linear anchor / radius ref + Vec3d m_pt_dirw{Vec3d::UnitX()}; // linear march direction (world) + Vec3d m_pt_origin{Vec3d::Zero()}; // circular rotation axis origin (world) + Vec3d m_pt_normal{Vec3d::UnitZ()}; // circular rotation axis (world) + Vec3d m_pt_cref{Vec3d::UnitX()}; // circular angle-0 reference dir (perp to normal, toward body) + Vec3d m_pt_ccenter{Vec3d::Zero()}; // circular arc center (foot of body centroid on the axis) + double m_pt_radius{10.0}; // circular arc radius (world) + int m_pt_count{3}; + double m_pt_spacing{20.0}; + double m_pt_angle{360.0}; + bool m_pt_drag{false}; + int m_pt_press_x{0}, m_pt_press_y{0}; + void render_pattern_gizmo(); + bool hit_test_pattern_handle(GLCanvas3D& canvas, const wxMouseEvent& evt) const; + void drag_pattern_handle(GLCanvas3D& canvas, const wxMouseEvent& evt); + void open_pattern_editor(); + GLModel m_pt_stroke_model; +}; + +}} // namespace Slic3r::GUI + +#endif // slic3r_DesignSketchTool_hpp_ diff --git a/src/slic3r/GUI/CAD/McpControl.cpp b/src/slic3r/GUI/CAD/McpControl.cpp new file mode 100644 index 0000000000..0ad05667c3 --- /dev/null +++ b/src/slic3r/GUI/CAD/McpControl.cpp @@ -0,0 +1,2220 @@ +#include "slic3r/GUI/CAD/McpControl.hpp" + +#ifndef _WIN32 // POSIX Unix-domain-socket transport only (slice 1) + +#include <sys/socket.h> +#include <sys/un.h> +#include <sys/stat.h> // umask/chmod: the socket's file mode IS its access control +#include <unistd.h> +#include <cstdlib> +#include <cstring> +#include <string> +#include <vector> +#include <thread> +#include <future> +#include <chrono> +#include <memory> +#include <cmath> +#include <algorithm> +#include <utility> + +#include <nlohmann/json.hpp> +#include <boost/log/trivial.hpp> +#include <Standard_Failure.hxx> // OCCT base error (not a std::exception) + +#include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/MainFrame.hpp" +#include "slic3r/GUI/CAD/DesignPanel.hpp" +#include "slic3r/GUI/CAD/DesignCanvas.hpp" +#include "slic3r/GUI/CAD/DesignSketchTool.hpp" +#include "slic3r/GUI/CAD/DesignOffer.hpp" // offer table — served whole by list_verbs, fired by run_verb + +#include "libslic3r/CAD/CadDocument.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Format/OBJ.hpp" +#include <boost/algorithm/string/case_conv.hpp> +#include <boost/filesystem/path.hpp> +#include "libslic3r/BoundingBox.hpp" + +#include <gp_Pln.hxx> +#include <BRepAlgoAPI_Section.hxx> +#include <TopExp_Explorer.hxx> +#include <TopoDS.hxx> +#include <TopoDS_Edge.hxx> +#include <TopoDS_Compound.hxx> +#include <BRep_Builder.hxx> +#include <GProp_GProps.hxx> +#include <BRepGProp.hxx> +#include <Bnd_Box.hxx> +#include <BRepBndLib.hxx> + +using json = nlohmann::json; + +namespace Slic3r { namespace GUI { + +namespace { + +const char* feature_type_name(CadFeatureType t) +{ + switch (t) { + case CadFeatureType::Sketch: return "Sketch"; + case CadFeatureType::Extrude: return "Extrude"; + case CadFeatureType::Fillet: return "Fillet"; + case CadFeatureType::Chamfer: return "Chamfer"; + case CadFeatureType::Hole: return "Hole"; + case CadFeatureType::Thread: return "Thread"; + case CadFeatureType::Shell: return "Shell"; + case CadFeatureType::Revolve: return "Revolve"; + case CadFeatureType::Sweep: return "Sweep"; + case CadFeatureType::Pattern: return "Pattern"; + case CadFeatureType::Plane: return "Plane"; + case CadFeatureType::Loft: return "Loft"; + case CadFeatureType::Draft: return "Draft"; + case CadFeatureType::Import: return "Import"; + case CadFeatureType::Boolean: return "Boolean"; + case CadFeatureType::Cut: return "Cut"; + case CadFeatureType::Mirror: return "Mirror"; + case CadFeatureType::Axis: return "Axis"; + case CadFeatureType::CoordSys: return "CoordSys"; + case CadFeatureType::Helix: return "Helix"; + case CadFeatureType::Transform: return "Transform"; + case CadFeatureType::Thicken: return "Thicken"; + case CadFeatureType::Project: return "Project"; + case CadFeatureType::DeleteFace: return "DeleteFace"; + case CadFeatureType::Rib: return "Rib"; + case CadFeatureType::SurfaceExtrude: return "SurfaceExtrude"; + case CadFeatureType::SurfaceRevolve: return "SurfaceRevolve"; + case CadFeatureType::ThickenSurface: return "ThickenSurface"; + case CadFeatureType::SurfaceOffset: return "SurfaceOffset"; + case CadFeatureType::SurfaceLoft: return "SurfaceLoft"; + case CadFeatureType::SurfaceFill: return "SurfaceFill"; + case CadFeatureType::Mate: return "Mate"; + } + return "Unknown"; +} + +// --- JSON-RPC envelope helpers ------------------------------------------------- +std::string rpc_result(const json& id, const json& result) +{ + return json{{"jsonrpc", "2.0"}, {"id", id}, {"result", result}}.dump(); +} +std::string rpc_error(const json& id, int code, const std::string& msg) +{ + return json{{"jsonrpc", "2.0"}, {"id", id}, + {"error", {{"code", code}, {"message", msg}}}}.dump(); +} + +// --- the three slice-1 methods (run on the wx MAIN thread) --------------------- + +json describe_tools() +{ + // Hand-written descriptor. The bridge turns this into MCP tool schemas; later + // slices grow this list (ideally from the kernel directly). + return json{ + {"app", "Orca CAD"}, + {"protocol", "jsonrpc-2.0"}, + {"slice", 5}, + // Read this before using any face or edge id. + {"id_lifetime", + "Global face and edge ids are indices into the CURRENT topology and expire the moment " + "a feature rebuilds the model. Reading the scene once and then issuing several " + "operations addresses the wrong edge on every call after the first, and does NOT " + "error, because a stale id still names a real edge. Either re-read query_topology " + "before each id-taking call, or pass the 'generation' you were given back with the " + "call and have it refused if the model has moved on."}, + {"tools", json::array({ + json{{"name", "describe_tools"}, {"summary", "List callable tools and their parameters."}, + {"params", json::array()}}, + json{{"name", "describe_scene"}, {"summary", "Feature tree + per-body bounding boxes of the Design document."}, + {"params", json::array()}}, + json{{"name", "extrude"}, {"summary", "Extrude a profile to a depth. Give an explicit closed `profile` (list of [x,y]) or default to a centred width x height rectangle. End conditions match Onshape."}, + {"params", json::array({ + json{{"name", "width"}, {"type", "number"}, {"unit", "mm"}, {"default", 20}, {"min", 0.01}}, + json{{"name", "height"}, {"type", "number"}, {"unit", "mm"}, {"default", 20}, {"min", 0.01}}, + json{{"name", "distance"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + json{{"name", "profile"}, {"type", "array"}, {"default", json::array()}, {"description", "optional closed contour [[x,y],...] in plane mm; overrides width/height"}}, + json{{"name", "boolean"}, {"type", "string"}, {"enum", json::array({"new", "union", "subtract", "intersect"})}, {"default", "new"}}, + json{{"name", "end"}, {"type", "string"}, {"enum", json::array({"blind", "symmetric", "two_sided", "through_all", "up_to_face"})}, {"default", "blind"}}, + json{{"name", "distance2"},{"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "second-side depth when end=two_sided (else falls back to distance)"}}, + json{{"name", "up_to_face"},{"type", "integer"}, {"default", -1}, {"description", "target face id (query_topology on the last body) when end=up_to_face"}}, + json{{"name", "taper"}, {"type", "number"}, {"unit", "deg"}, {"default", 0}, {"description", "draft/taper of the side wall"}}, + json{{"name", "flip"}, {"type", "boolean"}, {"default", false}}, + })}}, + json{{"name", "revolve"}, {"summary", "Revolve a profile about a plane axis. Give an explicit `profile` offset from the axis (or a rectangle) — angle degrees about axis 0=plane X / 1=plane Y."}, + {"params", json::array({ + json{{"name", "width"}, {"type", "number"}, {"unit", "mm"}, {"default", 20}, {"min", 0.01}}, + json{{"name", "height"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 360}}, + json{{"name", "axis"}, {"type", "integer"}, {"enum", json::array({0, 1})}, {"default", 0}}, + json{{"name", "flip"}, {"type", "boolean"}, {"default", false}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + json{{"name", "profile"}, {"type", "array"}, {"default", json::array()}, {"description", "optional closed contour [[x,y],...] in plane mm; overrides width/height"}}, + json{{"name", "boolean"}, {"type", "string"}, {"enum", json::array({"new", "union", "subtract", "intersect"})}, {"default", "new"}}, + })}}, + json{{"name", "fillet"}, {"summary", "Round a measured edge of a body (edge id from query_topology on that body)."}, + {"params", json::array({ + json{{"name", "edge"}, {"type", "integer"}}, + json{{"name", "radius"}, {"type", "number"}, {"unit", "mm"}, {"default", 1}, {"min", 0.01}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body. edge id is resolved against THIS body."}}, + })}}, + json{{"name", "chamfer"}, {"summary", "Chamfer a measured edge of a body (edge id from query_topology on that body)."}, + {"params", json::array({ + json{{"name", "edge"}, {"type", "integer"}}, + json{{"name", "distance"}, {"type", "number"}, {"unit", "mm"}, {"default", 1}, {"min", 0.01}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body. edge id is resolved against THIS body."}}, + })}}, + json{{"name", "hole"}, {"summary", "Drill a circular hole into the current body at (x,y) on a plane."}, + {"params", json::array({ + json{{"name", "diameter"}, {"type", "number"}, {"unit", "mm"}, {"default", 5}, {"min", 0.01}}, + json{{"name", "depth"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "through"}, {"type", "boolean"}, {"default", false}}, + json{{"name", "x"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "y"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + })}}, + json{{"name", "hole_styled"}, {"summary", "Drill a hole with optional counterbore (style=1) or countersink (style=2) at (x,y) on a plane."}, + {"params", json::array({ + json{{"name", "diameter"}, {"type", "number"}, {"unit", "mm"}, {"default", 5}, {"min", 0.01}}, + json{{"name", "depth"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "through"}, {"type", "boolean"}, {"default", true}}, + json{{"name", "x"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "y"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + json{{"name", "style"}, {"type", "integer"}, {"default", 0}, {"description", "0=simple, 1=counterbore, 2=countersink"}}, + json{{"name", "cbore_diameter"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "cbore_depth"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "csink_diameter"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "csink_angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 90}}, + json{{"name", "standard"}, {"type", "string"}, {"default", ""}, {"description", "provenance designation, e.g. M6"}}, + })}}, + json{{"name", "hole_standard"}, {"summary", "Drill a standard clearance hole (ISO 273 / ANSI) at (x,y) on a plane. style: 0=simple, 1=counterbore, 2=countersink."}, + {"params", json::array({ + json{{"name", "designation"}, {"type", "string"}, {"description", "e.g. M6, 1/4-20"}}, + json{{"name", "style"}, {"type", "integer"}, {"default", 0}}, + json{{"name", "through"}, {"type", "boolean"}, {"default", true}}, + json{{"name", "depth"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "x"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "y"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}, {"description", "in the sketch plane's frame (origin = describe_scene.modeling_origin), NOT world"}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + })}}, + json{{"name", "boolean"}, {"summary", "Combine two bodies: union | subtract (tool from target) | intersect."}, + {"params", json::array({ + json{{"name", "op"}, {"type", "string"}, {"enum", json::array({"union", "subtract", "intersect"})}, {"default", "subtract"}}, + json{{"name", "target"}, {"type", "integer"}, {"default", 0}}, + json{{"name", "tool"}, {"type", "integer"}, {"default", 1}}, + json{{"name", "keep_tool"}, {"type", "boolean"}, {"default", false}}, + json{{"name", "tolerance"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + })}}, + json{{"name", "pattern"}, {"summary", "Replicate a body: linear (count along a plane axis at spacing) or circular (count over an angle about the plane normal)."}, + {"params", json::array({ + json{{"name", "circular"}, {"type", "boolean"}, {"default", false}}, + json{{"name", "count"}, {"type", "integer"}, {"default", 3}, {"min", 1}}, + json{{"name", "spacing"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"description", "linear step"}}, + json{{"name", "dir"}, {"type", "integer"}, {"enum", json::array({0, 1})}, {"default", 0}, {"description", "linear axis: 0=plane X, 1=plane Y"}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 360}, {"description", "circular total sweep"}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "pattern_on_curve"}, {"summary", "Replicate a body along a sketch curve: `count` copies placed at equal-parameter points on the entity, each translated by (P_i - P_0)."}, + {"params", json::array({ + json{{"name", "count"}, {"type", "integer"}, {"default", 3}, {"min", 1}}, + json{{"name", "sketch"}, {"type", "integer"}, {"description", "feature index of the sketch holding the guide curve"}}, + json{{"name", "entity"}, {"type", "integer"}, {"description", "entity index of the guide curve within that sketch"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "shell"}, {"summary", "Hollow a body to a wall thickness (inward); optionally leave one face open."}, + {"params", json::array({ + json{{"name", "thickness"}, {"type", "number"}, {"unit", "mm"}, {"default", 1}, {"min", 0.01}}, + json{{"name", "face"}, {"type", "integer"}, {"default", -1}, {"description", "face id to leave open (query_topology); omit for a closed hollow"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "draft"}, {"summary", "Taper a body face by an angle about its base (pull direction +Z)."}, + {"params", json::array({ + json{{"name", "face"}, {"type", "integer"}, {"description", "face id to draft (query_topology)"}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 5}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "mirror"}, {"summary", "Mirror a body about a base plane. mode=new creates a mirrored copy; mode=add fuses the mirror back into the source."}, + {"params", json::array({ + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XZ"}}, + json{{"name", "mode"}, {"type", "string"}, {"enum", json::array({"new", "add"})}, {"default", "new"}}, + json{{"name", "keep_original"},{"type", "boolean"}, {"default", true}, {"description", "when mode=new, keep the source body"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "transform"}, {"summary", "Move and/or rotate a body (B-rep transform). copy=true keeps the source and appends the transformed copy as a new body."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + json{{"name", "dx"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "dy"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "dz"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "axis_x"}, {"type", "number"}, {"default", 0}}, + json{{"name", "axis_y"}, {"type", "number"}, {"default", 0}}, + json{{"name", "axis_z"}, {"type", "number"}, {"default", 1}}, + json{{"name", "pivot_x"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "pivot_y"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "pivot_z"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 0}}, + json{{"name", "copy"}, {"type", "boolean"}, {"default", false}}, + })}}, + json{{"name", "axis"}, {"summary", "Create a datum axis (reference line): two points, face normal, cylinder centreline, plane intersection, or along edge."}, + {"params", json::array({ + json{{"name", "type"}, {"type", "string"}, {"enum", json::array({"two_points", "face_normal", "cylinder", "plane_intersection", "along_edge"})}, {"default", "two_points"}}, + json{{"name", "p1"}, {"type", "array"}, {"default", json::array({0,0,0})}, {"description", "first point [x,y,z] for two_points"}}, + json{{"name", "p2"}, {"type", "array"}, {"default", json::array({0,0,10})}, {"description", "second point [x,y,z] for two_points"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "body for face/edge refs"}}, + json{{"name", "face"}, {"type", "integer"}, {"default", -1}, {"description", "face id (query_topology) for face_normal/cylinder"}}, + json{{"name", "edge"}, {"type", "integer"}, {"default", -1}, {"description", "edge id (query_topology) for along_edge"}}, + json{{"name", "plane_a"}, {"type", "integer"}, {"default", -1}, {"description", "first datum plane feature index for plane_intersection"}}, + json{{"name", "plane_b"}, {"type", "integer"}, {"default", -1}, {"description", "second datum plane feature index for plane_intersection"}}, + })}}, + json{{"name", "coordsys"}, {"summary", "Create a datum coordinate system (origin + orthonormal axes). PointWorld aligns to world; FaceAndDirection uses a face for Z and an edge/hint for X."}, + {"params", json::array({ + json{{"name", "type"}, {"type", "string"}, {"enum", json::array({"point_world", "face_and_direction"})}, {"default", "point_world"}}, + json{{"name", "point"}, {"type", "array"}, {"default", json::array({0,0,0})}, {"description", "origin [x,y,z] for point_world"}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "body for face/edge refs"}}, + json{{"name", "face"}, {"type", "integer"}, {"default", -1}, {"description", "face id (query_topology) for Z axis"}}, + json{{"name", "edge"}, {"type", "integer"}, {"default", -1}, {"description", "edge id (query_topology) for X axis hint"}}, + json{{"name", "x_hint"}, {"type", "array"}, {"default", json::array({1,0,0})}, {"description", "fallback X direction hint if no edge given"}}, + })}}, + json{{"name", "helix"}, {"summary", "Create a helical curve (consumed by sweep as a path to build springs/coils/augers). pitch = axial rise per turn. left_handed flips the winding. taper_deg != 0 gives a conical helix."}, + {"params", json::array({ + json{{"name", "radius"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "pitch"}, {"type", "number"}, {"unit", "mm"}, {"default", 5}, {"min", 0.01}}, + json{{"name", "height"}, {"type", "number"}, {"unit", "mm"}, {"default", 20}, {"min", 0.01}}, + json{{"name", "left_handed"}, {"type", "boolean"}, {"default", false}}, + json{{"name", "taper_deg"}, {"type", "number"}, {"unit", "deg"}, {"default", 0}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + })}}, + json{{"name", "thicken"}, {"summary", "Offset a face of a body by a wall thickness, producing a new thin solid body."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + json{{"name", "face"}, {"type", "integer"}, {"description", "face id to thicken (query_topology)"}}, + json{{"name", "thickness"}, {"type", "number"}, {"unit", "mm"}, {"default", 2}, {"min", 0.01}}, + json{{"name", "flip"}, {"type", "boolean"}, {"default", false}}, + })}}, + json{{"name", "split"}, {"summary", "Split a body along the plane of a picked face."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + json{{"name", "face_body"}, {"type", "integer"}, {"default", -1}, {"description", "body that owns the face; -1 = target"}}, + json{{"name", "face"}, {"type", "integer"}, {"description", "face id to split along (query_topology)"}}, + json{{"name", "keep_upper"},{"type", "boolean"}, {"default", true}}, + json{{"name", "keep_lower"},{"type", "boolean"}, {"default", true}}, + })}}, + json{{"name", "project"}, {"summary", "Project edges of a solid onto a sketch plane, producing a new sketch feature."}, + {"params", json::array({ + json{{"name", "source_body"}, {"type", "integer"}, {"default", -1}, {"description", "body owning the edges; -1 = last body"}}, + json{{"name", "face"}, {"type", "integer"}, {"default", -1}, {"description", "global face id on the source body; when set, all its edges are projected"}}, + json{{"name", "edges"}, {"type", "array"}, {"default", json::array()}, {"description", "global edge ids to project; empty => project the face"}}, + json{{"name", "plane"}, {"type", "string"}, {"default", "XY"}, {"description", "target sketch plane (XY/XZ/YZ)"}}, + })}}, + json{{"name", "delete_face"}, {"summary", "Remove faces from a solid, healing the gap via OCCT defeaturing."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + json{{"name", "faces"}, {"type", "array"}, {"description", "global face ids to delete"}}, + })}}, + json{{"name", "bridge"}, {"summary", "Build a cubic-Bezier G1 bridge (BSpline) between two sketch-entity endpoints within a sketch feature."}, + {"params", json::array({ + json{{"name", "sketch"}, {"type", "integer"}, {"description", "sketch feature index"}}, + json{{"name", "ent_a"}, {"type", "integer"}, {"description", "first entity index within the sketch"}}, + json{{"name", "end_a"}, {"type", "integer"}, {"enum", json::array({0, 1})}, {"default", 1}, {"description", "0 = start/p0 side, 1 = end/p1 side"}}, + json{{"name", "ent_b"}, {"type", "integer"}, {"description", "second entity index within the sketch"}}, + json{{"name", "end_b"}, {"type", "integer"}, {"enum", json::array({0, 1})}, {"default", 0}, {"description", "0 = start/p0 side, 1 = end/p1 side"}}, + })}}, + json{{"name", "rib"}, {"summary", "Grow a thin rib wall (stiffener) from an open Line sketch entity, fused to a body."}, + {"params", json::array({ + json{{"name", "sketch"}, {"type", "integer"}, {"description", "sketch feature index holding the open line"}}, + json{{"name", "entity"}, {"type", "integer"}, {"description", "entity index of the open Line within the sketch"}}, + json{{"name", "thickness"}, {"type", "number"}, {"unit", "mm"}, {"default", 2}, {"min", 0.01}}, + json{{"name", "depth"}, {"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + json{{"name", "body"}, {"type", "integer"}, {"default", -1}, {"description", "target body; omit for the last body"}}, + })}}, + json{{"name", "surface_extrude"}, {"summary", "Extrude a sketch wire with no end caps -> an open sheet body."}, + {"params", json::array({ + json{{"name", "sketch"}, {"type", "integer"}, {"description", "sketch feature index"}}, + json{{"name", "distance"},{"type", "number"}, {"unit", "mm"}, {"default", 10}, {"min", 0.01}}, + })}}, + json{{"name", "surface_revolve"}, {"summary", "Revolve a sketch wire with no caps -> an open sheet body."}, + {"params", json::array({ + json{{"name", "sketch"}, {"type", "integer"}, {"description", "sketch feature index"}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 360}}, + json{{"name", "axis"}, {"type", "integer"}, {"enum", json::array({0, 1})}, {"default", 0}}, + })}}, + json{{"name", "mate"}, {"summary", "Mate two bodies: transform the moving body (cs_b) so its connector lands on the fixed one (cs_a). kind: 0=Fastened, 1=Planar, 2=Revolute, 3=Slider, 4=Cylindrical."}, + {"params", json::array({ + json{{"name", "kind"}, {"type", "integer"}, {"default", 0}, {"description", "0=Fastened (rigid), 1=Planar (normal only), 2=Revolute (free rotation about axis), 3=Slider (free translation along axis), 4=Cylindrical (free rotation+translation)"}}, + json{{"name", "cs_a"}, {"type", "integer"}, {"description", "feature index of the fixed CoordSys (mate connector A)"}}, + json{{"name", "cs_b"}, {"type", "integer"}, {"description", "feature index of the CoordSys on the body that moves"}}, + json{{"name", "offset"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + json{{"name", "angle"}, {"type", "number"}, {"unit", "deg"}, {"default", 0}}, + json{{"name", "flip"}, {"type", "boolean"}, {"default", false}}, + })}}, + json{{"name", "check_interference"}, {"summary", "Solid bodies that overlap, as {body_a, body_b, volume}. Read-only; bodies that merely touch enclose no volume and are not reported."}, + {"params", json::array({ + json{{"name", "min_volume"}, {"type", "number"}, {"unit", "mm^3"}, {"default", 1e-6}, {"description", "overlap volume above which a pair counts as interfering"}}, + })}}, + json{{"name", "query_topology"}, {"summary", "Measured faces (centroid/normal/cylinder) and edges (length/circle) of a body."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", 0}}, + })}}, + json{{"name", "measure"}, {"summary", "Distance (and angle, when both have direction) between two refs {face|edge|point} on a body."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", 0}}, + json{{"name", "a"}, {"type", "object"}}, + json{{"name", "b"}, {"type", "object"}}, + })}}, + json{{"name", "mass_properties"}, {"summary", "Volume / surface area / centre of mass / inertia tensor of a body."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", 0}}, + })}}, + json{{"name", "slice_body"}, {"summary", "Cross-section of a body by a base plane at an offset (sections-as-evidence); returns ordered world contours, each flagged closed/open."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", 0}}, + json{{"name", "plane"}, {"type", "string"}, {"enum", json::array({"XY", "XZ", "YZ"})}, {"default", "XY"}}, + json{{"name", "offset"}, {"type", "number"}, {"unit", "mm"}, {"default", 0}}, + })}}, + json{{"name", "import_step"}, {"summary", "Import a STEP file as native B-rep bodies (the reference part to measure)."}, + {"params", json::array({ + json{{"name", "path"}, {"type", "string"}}, + })}}, + json{{"name", "import_mesh"}, {"summary", "Convert a triangle mesh (STL/OBJ) into an editable B-rep body. Reports whether the result is a real solid or an open shell, and why."}, + {"params", json::array({ + json{{"name", "path"}, {"type", "string"}}, + json{{"name", "tolerance"}, {"type", "number"}, {"default", 0.01}}, + json{{"name", "merge_angle_deg"}, {"type", "number"}, {"default", 5.0}}, + })}}, + json{{"name", "validate_against"}, {"summary", "Volume + bbox/centroid + surface deviation (max/mean/rms mm) of a body vs a reference {step:path|body:id} (the RE acceptance metric)."}, + {"params", json::array({ + json{{"name", "body"}, {"type", "integer"}, {"default", 0}}, + json{{"name", "reference"}, {"type", "object"}}, + })}}, + })}, + }; +} + +json describe_scene(DesignPanel* panel) +{ + CadDocument& doc = panel->mcp_doc(); + + json features = json::array(); + for (size_t i = 0; i < doc.features.size(); ++i) { + const CadFeature& f = doc.features[i]; + features.push_back(json{ + {"index", int(i)}, {"type", feature_type_name(f.type)}, + {"name", f.name}, {"enabled", f.enabled}}); + } + + json bodies = json::array(); + for (size_t i = 0; i < doc.bodies.size(); ++i) { + // The user's name when the body has one, the derived maker name otherwise — the same + // rule the Bodies row shows, so a driver and a person read the same thing. + json b{{"index", int(i)}, + {"name", doc.bodies[i].has_user_name ? doc.bodies[i].user_name : doc.bodies[i].name}, + {"user_name", doc.bodies[i].has_user_name}, + {"has_color", doc.bodies[i].has_color}}; + // Per-body bbox/centre from the already-tessellated display meshes. + if (i < doc.display_body_meshes.size() && !doc.display_body_meshes[i].empty()) { + BoundingBoxf3 bb = doc.display_body_meshes[i].bounding_box(); + b["bbox"] = json{{"min", {bb.min.x(), bb.min.y(), bb.min.z()}}, + {"max", {bb.max.x(), bb.max.y(), bb.max.z()}}}; + Vec3d c = bb.center(); + b["center"] = {c.x(), c.y(), c.z()}; + } + bodies.push_back(std::move(b)); + } + + return json{ + {"modeling_origin", {doc.modeling_origin.x(), doc.modeling_origin.y(), doc.modeling_origin.z()}}, + {"features", std::move(features)}, + {"bodies", std::move(bodies)}, + {"error", doc.error}, + // Pass this back as "generation" on any call that takes a face or edge id and the call + // is refused if the topology has moved on. See the note on the dispatcher. + {"generation", doc.topo_generation}, + }; +} + +// --- Measure layer (read-only "evidence" half of the RE loop) ------------------ +inline json vec3(const Vec3d& v) { return json::array({v.x(), v.y(), v.z()}); } + +// Shared Build helpers. +SketchPlane plane_from(const json& params, const CadDocument& doc) +{ + std::string n = params.value("plane", std::string("XY")); + SketchPlane pl = n == "XZ" ? SketchPlane::XZ() : n == "YZ" ? SketchPlane::YZ() : SketchPlane::XY(); + pl.origin = doc.modeling_origin; // land on the bed centre, like the GUI + return pl; +} +BooleanMode bool_from(const std::string& s) +{ + if (s == "union" || s == "add") return BooleanMode::Add; + if (s == "subtract" || s == "cut") return BooleanMode::Cut; + if (s == "intersect" || s == "common")return BooleanMode::Intersect; + return BooleanMode::New; +} +// Optional explicit closed profile: params["profile"] = [[x,y],...] in plane mm. +// This is the Measure->Build bridge — feed a measured contour straight back. +bool profile_from(const json& params, SketchProfile& out) +{ + if (!params.contains("profile")) return false; + out.points.clear(); + for (const auto& p : params["profile"]) out.points.emplace_back(p[0].get<double>(), p[1].get<double>()); + out.closed = true; + return out.points.size() >= 3; +} + +// Resolve body index -> shape, throwing a clear error if out of range / null. +const TopoDS_Shape& body_shape(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + int idx = params.value("body", 0); + if (idx < 0 || idx >= int(doc.bodies.size())) + throw std::runtime_error("body index out of range (have " + std::to_string(doc.bodies.size()) + ")"); + if (doc.bodies[idx].shape.IsNull()) + throw std::runtime_error("body has no shape"); + return doc.bodies[idx].shape; +} + +json query_topology(DesignPanel* panel, const json& params) +{ + const TopoDS_Shape& shape = body_shape(panel, params); + // Enumerate once. The _by_index accessors rescan the shape on every call (edge_by_index + // rebuilds the whole indexed map), so indexing a body face-by-face is quadratic: ~15 s on a + // 4.7k-face imported solid, on the UI thread. faces_of/edges_of keep the very same ids. + const std::vector<TopoDS_Face> all_faces = GeometryEngine::faces_of(shape); + const std::vector<TopoDS_Edge> all_edges = GeometryEngine::edges_of(shape); + + json faces = json::array(); + const int nf = int(all_faces.size()); + for (int i = 0; i < nf; ++i) { + const TopoDS_Face& f = all_faces[i]; + if (f.IsNull()) continue; + json jf{{"id", i}, {"centroid", vec3(GeometryEngine::face_centroid_world(f))}, + {"normal", vec3(GeometryEngine::face_normal_world(f))}, {"kind", "planar"}}; + GeometryEngine::CylinderFace cyl = GeometryEngine::cylinder_of_face(f); + if (cyl.ok) { jf["kind"] = "cylindrical"; jf["radius"] = cyl.radius; + jf["axis"] = vec3(cyl.axis); jf["internal"] = cyl.internal; } + faces.push_back(std::move(jf)); + } + json edges = json::array(); + const int ne = int(all_edges.size()); + for (int i = 0; i < ne; ++i) { + const TopoDS_Edge& e = all_edges[i]; + if (e.IsNull()) continue; + std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(e); + if (pts.size() < 2) continue; + double len = 0; for (size_t k = 1; k < pts.size(); ++k) len += (pts[k] - pts[k-1]).norm(); + json je{{"id", i}, {"length", len}, {"p0", vec3(pts.front())}, {"p1", vec3(pts.back())}, + {"kind", "line"}}; + GeometryEngine::CylinderFace circ = GeometryEngine::circle_of_edge(e); + if (circ.ok) { je["kind"] = "circle"; je["radius"] = circ.radius; je["center"] = vec3(circ.base); } + edges.push_back(std::move(je)); + } + return json{{"body", params.value("body", 0)}, {"face_count", nf}, {"edge_count", ne}, + {"faces", std::move(faces)}, {"edges", std::move(edges)}, + // The ids above are indices into this exact topology and expire with it. Echo + // this back as "generation" on the calls that consume them. + {"generation", panel->mcp_doc().topo_generation}}; +} + +// One measurement reference -> a representative point and (optionally) a direction. +// ref = {"face": id} | {"edge": id} | {"point": [x,y,z]} on the given body. +bool resolve_ref(const TopoDS_Shape& shape, const json& ref, Vec3d& point, Vec3d& dir, bool& has_dir) +{ + has_dir = false; + if (ref.contains("point")) { auto p = ref["point"]; point = Vec3d(p[0], p[1], p[2]); return true; } + if (ref.contains("face")) { + TopoDS_Face f = GeometryEngine::face_by_index(shape, ref["face"].get<int>()); + if (f.IsNull()) return false; + point = GeometryEngine::face_centroid_world(f); + dir = GeometryEngine::face_normal_world(f); has_dir = true; return true; + } + if (ref.contains("edge")) { + TopoDS_Edge e = GeometryEngine::edge_by_index(shape, ref["edge"].get<int>()); + if (e.IsNull()) return false; + std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(e); + if (pts.empty()) return false; + point = pts[pts.size() / 2]; // midpoint sample + if (pts.size() >= 2) { dir = (pts.back() - pts.front()).normalized(); has_dir = true; } + return true; + } + return false; +} + +json measure(DesignPanel* panel, const json& params) +{ + const TopoDS_Shape& shape = body_shape(panel, params); + Vec3d pa, pb, da, db; bool hda = false, hdb = false; + if (!params.contains("a") || !params.contains("b")) + throw std::runtime_error("measure needs refs 'a' and 'b' ({face|edge|point})"); + if (!resolve_ref(shape, params["a"], pa, da, hda) || !resolve_ref(shape, params["b"], pb, db, hdb)) + throw std::runtime_error("could not resolve a measurement reference"); + json r{{"distance", (pa - pb).norm()}, {"point_a", vec3(pa)}, {"point_b", vec3(pb)}}; + if (hda && hdb) { + double c = std::max(-1.0, std::min(1.0, da.normalized().dot(db.normalized()))); + r["angle_deg"] = std::acos(c) * 180.0 / M_PI; + } + return r; +} + +json mass_properties(DesignPanel* panel, const json& params) +{ + const TopoDS_Shape& shape = body_shape(panel, params); + auto mp = GeometryEngine::mass_properties(shape); + if (!mp.valid) throw std::runtime_error("mass properties could not be computed (null/empty shape)"); + // A sheet body has no volume and no inertia. Report the area and say so, rather than + // returning numbers a caller would reasonably treat as a material check. + if (!mp.is_solid) + return json{ + {"surface_area", mp.surface_area}, + {"volume", 0.0}, + {"is_solid", false}, + {"valid", mp.valid}, + {"note", "sheet body (open shell): it encloses no material, so volume and inertia " + "are not defined; surface_area is exact"}, + }; + return json{ + {"volume", mp.volume}, + {"surface_area", mp.surface_area}, + {"center_of_mass", json::array({mp.center_of_mass.x(), mp.center_of_mass.y(), mp.center_of_mass.z()})}, + {"inertia", mp.inertia}, + {"is_solid", true}, + {"valid", mp.valid}, + }; +} + +// Chain raw section segments (each a sampled-edge polyline) into ordered contours by joining +// endpoints within tol. Grows the tail; when the tail is stuck, reverses the contour and grows +// the other end. A contour is closed when its two ends meet. OCCT section vertices are exact, +// so a small absolute tol suffices. +std::vector<std::pair<std::vector<Vec3d>, bool>> +chain_segments(std::vector<std::vector<Vec3d>> segs, double tol) +{ + std::vector<std::pair<std::vector<Vec3d>, bool>> contours; + std::vector<char> used(segs.size(), 0); + auto meets = [&](const Vec3d& a, const Vec3d& b) { return (a - b).norm() <= tol; }; + for (size_t i = 0; i < segs.size(); ++i) { + if (used[i] || segs[i].size() < 2) continue; + used[i] = 1; + std::vector<Vec3d> c = segs[i]; + for (int side = 0; side < 2; ) { // grow tail; reverse once when stuck + bool grew = false; + for (size_t j = 0; j < segs.size(); ++j) { + if (used[j] || segs[j].size() < 2) continue; + if (meets(c.back(), segs[j].front())) { + c.insert(c.end(), segs[j].begin() + 1, segs[j].end()); used[j] = 1; grew = true; + } else if (meets(c.back(), segs[j].back())) { + for (auto it = segs[j].rbegin() + 1; it != segs[j].rend(); ++it) c.push_back(*it); + used[j] = 1; grew = true; + } + } + if (grew) { side = 0; continue; } + std::reverse(c.begin(), c.end()); ++side; // try the other end + } + bool closed = c.size() > 2 && meets(c.front(), c.back()); + contours.emplace_back(std::move(c), closed); + } + return contours; +} + +// sections-as-evidence: cross-section of a body by a named base plane at an offset. +json slice_body(DesignPanel* panel, const json& params) +{ + const TopoDS_Shape& shape = body_shape(panel, params); + const std::string plane_name = params.value("plane", std::string("XY")); + const double offset = params.value("offset", 0.0); + // Base plane normal; offset shifts the plane along it. + gp_Dir n = plane_name == "XZ" ? gp_Dir(0, 1, 0) + : plane_name == "YZ" ? gp_Dir(1, 0, 0) + : gp_Dir(0, 0, 1); + gp_Pnt o(n.X() * offset, n.Y() * offset, n.Z() * offset); + BRepAlgoAPI_Section sect(shape, gp_Pln(o, n), Standard_False); + sect.ComputePCurveOn1(Standard_False); + sect.Approximation(Standard_True); + sect.Build(); + if (!sect.IsDone()) throw std::runtime_error("section failed"); + std::vector<std::vector<Vec3d>> segs; + for (TopExp_Explorer ex(sect.Shape(), TopAbs_EDGE); ex.More(); ex.Next()) { + std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(TopoDS::Edge(ex.Current())); + if (pts.size() >= 2) segs.push_back(std::move(pts)); + } + const int raw = int(segs.size()); + auto contours = chain_segments(std::move(segs), 1e-3); + json jcont = json::array(); + int closed_n = 0; + for (auto& pc : contours) { + if (pc.second) ++closed_n; + json pts = json::array(); + for (const Vec3d& p : pc.first) pts.push_back(vec3(p)); + jcont.push_back(json{{"closed", pc.second}, {"points", std::move(pts)}}); + } + return json{{"body", params.value("body", 0)}, {"plane", plane_name}, {"offset", offset}, + {"segment_count", raw}, {"contour_count", int(contours.size())}, + {"closed_count", closed_n}, {"contours", std::move(jcont)}}; +} + +// --- Build: bring a reference part in (Import STEP as native B-rep bodies) ------ +json import_step(DesignPanel* panel, const json& params) +{ + if (!params.contains("path")) throw std::runtime_error("import_step needs 'path'"); + const std::string path = params["path"].get<std::string>(); + std::string err; + std::vector<TopoDS_Shape> solids = GeometryEngine::read_step_solids(path, err); + if (solids.empty()) throw std::runtime_error(err.empty() ? "no solids in STEP" : err); + + CadDocument& doc = panel->mcp_doc(); + doc.checkpoint(); + int first = int(doc.features.size()); + for (const TopoDS_Shape& s : solids) { + CadFeature f; + f.type = CadFeatureType::Import; + f.name = "STEP" + std::to_string(int(doc.features.size()) + 1); + f.imported_solid = s; + f.mode = BooleanMode::New; // each solid = its own coexisting body + doc.features.push_back(f); + } + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"imported", int(solids.size())}, {"first_feature", first}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +// --- Import a triangle mesh as a B-rep body (GeometryEngine::mesh_to_brep) --- +// Same destination as import_step: a CadFeatureType::Import body every feature tool can edit. +// The full conversion stats come back so a caller can tell an honest solid from an open shell +// instead of discovering it later when a boolean silently fails. +json import_mesh(DesignPanel* panel, const json& params) +{ + if (!params.contains("path")) throw std::runtime_error("import_mesh needs 'path'"); + const std::string path = params["path"].get<std::string>(); + const double tolerance = params.value("tolerance", 0.01); + const double merge_angle_deg = params.value("merge_angle_deg", 5.0); + + TriangleMesh mesh; + const std::string ext = boost::algorithm::to_lower_copy( + boost::filesystem::path(path).extension().string()); + if (ext == ".stl") { + if (!mesh.ReadSTLFile(path.c_str())) throw std::runtime_error("could not read STL: " + path); + } else if (ext == ".obj") { + ObjInfo obj_info; std::string obj_err; + if (!load_obj(path.c_str(), &mesh, obj_info, obj_err)) + throw std::runtime_error("could not read OBJ: " + obj_err); + } else { + throw std::runtime_error("unsupported mesh format (want .stl or .obj): " + ext); + } + + GeometryEngine::MeshBrepStats st; + const TopoDS_Shape shape = GeometryEngine::mesh_to_brep(mesh.its, tolerance, merge_angle_deg, st); + if (shape.IsNull()) throw std::runtime_error("mesh conversion produced no geometry"); + + CadDocument& doc = panel->mcp_doc(); + doc.checkpoint(); + const int first = int(doc.features.size()); + CadFeature f; + f.type = CadFeatureType::Import; + f.name = "Mesh" + std::to_string(first + 1); + f.imported_solid = shape; + f.mode = BooleanMode::New; + doc.features.push_back(f); + + const bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"first_feature", first}, {"bodies", int(doc.bodies.size())}, + {"input_triangles", st.input_tris}, {"kept_triangles", st.kept_tris}, + {"degenerate_collapsed", st.degenerate_collapsed}, + {"degenerate_sliver", st.degenerate_sliver}, + {"faces_built", st.faces_built}, {"faces_failed", st.faces_failed}, + {"faces_final", st.faces_final}, {"unique_edges", st.unique_edges}, + {"boundary_edges", st.boundary_edges}, + {"nonmanifold_edges", st.nonmanifold_edges}, + {"watertight", st.watertight}, {"is_solid", st.is_solid}, + {"volume", st.volume}, {"error", doc.error}}; +} + +// --- Validate: volume + bbox deviation of a body vs a reference (the "scarto %") -- +// ponytail: volume delta + bbox/centroid offset (the RE skill's actual acceptance metric). +// Surface-deviation heat-map is the upgrade path (per-vertex BRepExtrema), add when needed. +struct ShapeMetrics { double volume; Vec3d centroid, bmin, bmax; }; +ShapeMetrics shape_metrics(const TopoDS_Shape& s) +{ + GProp_GProps vp; BRepGProp::VolumeProperties(s, vp); + gp_Pnt c = vp.CentreOfMass(); + Bnd_Box bb; BRepBndLib::Add(s, bb); + Standard_Real x0, y0, z0, x1, y1, z1; bb.Get(x0, y0, z0, x1, y1, z1); + return {vp.Mass(), Vec3d(c.X(), c.Y(), c.Z()), Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}; +} + +json validate_against(DesignPanel* panel, const json& params) +{ + const TopoDS_Shape& cand = body_shape(panel, params); // candidate = the reconstruction + if (!params.contains("reference")) throw std::runtime_error("validate_against needs 'reference' {step|body}"); + const json& r = params["reference"]; + + TopoDS_Shape ref; + if (r.contains("step")) { + std::string err; + std::vector<TopoDS_Shape> solids = GeometryEngine::read_step_solids(r["step"].get<std::string>(), err); + if (solids.empty()) throw std::runtime_error(err.empty() ? "reference STEP has no solids" : err); + BRep_Builder b; TopoDS_Compound comp; b.MakeCompound(comp); + for (const TopoDS_Shape& s : solids) if (!s.IsNull()) b.Add(comp, s); + ref = comp; + } else if (r.contains("body")) { + CadDocument& doc = panel->mcp_doc(); + int idx = r["body"].get<int>(); + if (idx < 0 || idx >= int(doc.bodies.size()) || doc.bodies[idx].shape.IsNull()) + throw std::runtime_error("reference body index out of range / null"); + ref = doc.bodies[idx].shape; + } else { + throw std::runtime_error("reference must be {\"step\": path} or {\"body\": id}"); + } + + ShapeMetrics a = shape_metrics(cand), b = shape_metrics(ref); + double dv = b.volume > 0 ? (a.volume - b.volume) / b.volume * 100.0 : 0.0; + Vec3d coff = a.centroid - b.centroid; + Vec3d dmin = a.bmin - b.bmin, dmax = a.bmax - b.bmax; + // Surface-level deviation (one-sided Hausdorff, candidate vertices -> reference solid): + // catches local shape error that matching volume + bbox can hide. + GeometryEngine::Deviation dev = GeometryEngine::surface_deviation(cand, ref); + return json{ + {"volume", a.volume}, {"volume_reference", b.volume}, {"volume_delta_pct", dv}, + {"centroid_offset", vec3(coff)}, {"centroid_offset_mm", coff.norm()}, + {"bbox", json{{"min", vec3(a.bmin)}, {"max", vec3(a.bmax)}}}, + {"bbox_reference", json{{"min", vec3(b.bmin)}, {"max", vec3(b.bmax)}}}, + {"bbox_delta", json{{"min", vec3(dmin)}, {"max", vec3(dmax)}}}, + {"surface_deviation", json{{"max_mm", dev.max_mm}, {"mean_mm", dev.mean_mm}, + {"rms_mm", dev.rms_mm}, {"samples", dev.sample_count}}}, + }; +} + +json action_extrude(DesignPanel* panel, const json& params) +{ + const double d = params.value("distance", 10.0); + if (d <= 0) throw std::runtime_error("distance must be > 0"); + CadDocument& doc = panel->mcp_doc(); + SketchPlane pl = plane_from(params, doc); + BooleanMode mode = bool_from(params.value("boolean", std::string("new"))); + + SketchProfile prof; + bool has_prof = profile_from(params, prof); + double w = 0, h = 0; + if (!has_prof) { + w = params.value("width", 20.0); h = params.value("height", 20.0); + if (w <= 0 || h <= 0) throw std::runtime_error("width and height must be > 0"); + } + doc.checkpoint(); + int s = has_prof ? doc.add_sketch_profile(prof, pl, "Sketch") + : doc.add_sketch(SketchShape::Rectangle, pl, w, h, 0.0, "Sketch"); + int e = doc.add_extrude(s, d, /*symmetric*/false, mode, "Extrude"); + // End condition (Onshape parity). apply reads extrude_end directly; the kernel `symmetric` + // bool is unused, so set the field here. up_to_face id comes from query_topology on the + // target (last) body. taper_deg lofts the side wall; flip negates the direction. + const std::string end = params.value("end", std::string("blind")); + CadFeature& fe = doc.features[e]; + fe.flip = params.value("flip", false); + fe.taper_deg = params.value("taper", 0.0); + if (end == "symmetric") fe.extrude_end = ExtrudeEnd::Symmetric; + else if (end == "two_sided") { fe.extrude_end = ExtrudeEnd::TwoSided; fe.distance2 = params.value("distance2", d); } + else if (end == "through_all") fe.extrude_end = ExtrudeEnd::ThroughAll; + else if (end == "up_to_face") { fe.extrude_end = ExtrudeEnd::UpToFace; fe.up_to_face = params.value("up_to_face", -1); } + else fe.extrude_end = ExtrudeEnd::Blind; + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"sketch_index", s}, {"extrude_index", e}, {"end", end}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_revolve(DesignPanel* panel, const json& params) +{ + const double angle = params.value("angle", 360.0); + const int axis = params.value("axis", 0); // 0 = plane X, 1 = plane Y + const bool flip = params.value("flip", false); + CadDocument& doc = panel->mcp_doc(); + SketchPlane pl = plane_from(params, doc); + BooleanMode mode = bool_from(params.value("boolean", std::string("new"))); + + SketchProfile prof; + bool has_prof = profile_from(params, prof); + double w = 0, h = 0; + if (!has_prof) { // ponytail: rectangle centred on the axis may self-overlap; offset via `profile` + w = params.value("width", 20.0); h = params.value("height", 10.0); + if (w <= 0 || h <= 0) throw std::runtime_error("width and height must be > 0"); + } + doc.checkpoint(); + int s = has_prof ? doc.add_sketch_profile(prof, pl, "Sketch") + : doc.add_sketch(SketchShape::Rectangle, pl, w, h, 0.0, "Sketch"); + int r = doc.add_revolve(s, angle, axis, flip, mode, "Revolve"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"sketch_index", s}, {"revolve_index", r}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +// Resolve an optional explicit body target. Default (no `body`, or <0) = last body, which is +// what the kernel picks anyway. Validated BEFORE any checkpoint so a bad index throws clean. +int target_body_arg(const json& params, const CadDocument& doc) +{ + int bi = params.value("body", -1); + if (bi >= int(doc.bodies.size())) + throw std::runtime_error("body index out of range (have " + std::to_string(doc.bodies.size()) + ")"); + return bi; // <0 -> kernel uses the last body +} + +json action_fillet(DesignPanel* panel, const json& params) +{ + if (!params.contains("edge")) throw std::runtime_error("fillet needs 'edge' (id from query_topology)"); + const double radius = params.value("radius", 1.0); + if (radius <= 0) throw std::runtime_error("radius must be > 0"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to fillet"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int f = doc.add_fillet(radius, params["edge"].get<int>(), "Fillet"); + if (bi >= 0) doc.features[f].target_body = bi; // edge id resolved against THIS body's shape + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"fillet_index", f}, {"body", bi < 0 ? int(doc.bodies.size()) - 1 : bi}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_chamfer(DesignPanel* panel, const json& params) +{ + if (!params.contains("edge")) throw std::runtime_error("chamfer needs 'edge' (id from query_topology)"); + const double dist = params.value("distance", 1.0); + if (dist <= 0) throw std::runtime_error("distance must be > 0"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to chamfer"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int c = doc.add_chamfer(dist, params["edge"].get<int>(), "Chamfer"); + if (bi >= 0) doc.features[c].target_body = bi; // edge id resolved against THIS body's shape + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"chamfer_index", c}, {"body", bi < 0 ? int(doc.bodies.size()) - 1 : bi}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_hole(DesignPanel* panel, const json& params) +{ + const double dia = params.value("diameter", 5.0); + const double depth = params.value("depth", 10.0); + const bool thru = params.value("through", false); + const double x = params.value("x", 0.0), y = params.value("y", 0.0); + if (dia <= 0) throw std::runtime_error("diameter must be > 0"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to drill"); + SketchPlane pl = plane_from(params, doc); + doc.checkpoint(); + int h = doc.add_hole(dia, depth, thru, x, y, pl, "Hole"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"hole_index", h}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_hole_styled(DesignPanel* panel, const json& params) +{ + const double dia = params.value("diameter", 5.0); + const double depth = params.value("depth", 10.0); + const bool thru = params.value("through", true); + const double x = params.value("x", 0.0), y = params.value("y", 0.0); + const int style = params.value("style", 0); + const double cbore_diameter = params.value("cbore_diameter", 0.0); + const double cbore_depth = params.value("cbore_depth", 0.0); + const double csink_diameter = params.value("csink_diameter", 0.0); + const double csink_angle = params.value("csink_angle", 90.0); + const std::string standard = params.value("standard", std::string("")); + if (dia <= 0) throw std::runtime_error("diameter must be > 0"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to drill"); + SketchPlane pl = plane_from(params, doc); + doc.checkpoint(); + int h = doc.add_hole_styled(dia, depth, thru, x, y, pl, style, + cbore_diameter, cbore_depth, + csink_diameter, csink_angle, standard, "Hole"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"hole_index", h}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_hole_standard(DesignPanel* panel, const json& params) +{ + const std::string desig = params.value("designation", std::string("")); + if (desig.empty()) throw std::runtime_error("designation is required"); + const int style = params.value("style", 0); + const bool thru = params.value("through", true); + const double depth = params.value("depth", 10.0); + const double x = params.value("x", 0.0), y = params.value("y", 0.0); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to drill"); + SketchPlane pl = plane_from(params, doc); + doc.checkpoint(); + try { + int h = doc.add_hole_standard(desig, style, thru, depth, x, y, pl, "Hole"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"hole_index", h}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; + } catch (const std::exception& ex) { + doc.undo(); + panel->mcp_after_change(); + return json{{"ok", false}, {"error", ex.what()}}; + } +} + +json action_boolean(DesignPanel* panel, const json& params) +{ + BooleanMode m = bool_from(params.value("op", std::string("subtract"))); + if (m == BooleanMode::New) throw std::runtime_error("op must be union | subtract | intersect"); + const int target = params.value("target", 0); + const int tool = params.value("tool", 1); + const bool keep = params.value("keep_tool", false); + const double tol = params.value("tolerance", 0.0); + CadDocument& doc = panel->mcp_doc(); + int n = int(doc.bodies.size()); + if (target < 0 || target >= n || tool < 0 || tool >= n) + throw std::runtime_error("target/tool body index out of range (have " + std::to_string(n) + ")"); + if (target == tool) throw std::runtime_error("target and tool must differ"); + doc.checkpoint(); + int b = doc.add_boolean(m, target, tool, keep, tol, -1, -1, "Boolean"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"boolean_index", b}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_pattern(DesignPanel* panel, const json& params) +{ + const bool circular = params.value("circular", false); + const int count = params.value("count", 3); + const double spacing = params.value("spacing", 10.0); // linear step (mm) + const int dir = params.value("dir", 0); // 0 = plane X, 1 = plane Y + const double angle = params.value("angle", 360.0); // circular total sweep (deg) + if (count < 1) throw std::runtime_error("count must be >= 1"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to pattern"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int p = doc.add_pattern(circular, count, spacing, dir, angle, bi, "Pattern"); + doc.features[p].plane = plane_from(params, doc); // axis (circular) / step dirs (linear) + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"pattern_index", p}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_pattern_on_curve(DesignPanel* panel, const json& params) +{ + const int count = params.value("count", 3); + if (count < 1) throw std::runtime_error("count must be >= 1"); + if (!params.contains("sketch")) throw std::runtime_error("pattern_on_curve needs 'sketch' (feature index)"); + if (!params.contains("entity")) throw std::runtime_error("pattern_on_curve needs 'entity' (entity index)"); + const int sketch = params["sketch"].get<int>(); + const int entity = params["entity"].get<int>(); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to pattern"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int p = doc.add_pattern_on_curve(count, sketch, entity, bi, "PatternOnCurve"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"pattern_index", p}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_shell(DesignPanel* panel, const json& params) +{ + const double thickness = params.value("thickness", 1.0); + if (thickness <= 0) throw std::runtime_error("thickness must be > 0"); + const int face = params.value("face", -1); // face id to leave open (-1 = closed hollow) + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to shell"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int s = doc.add_shell(thickness, face, bi, "Shell"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"shell_index", s}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_rib(DesignPanel* panel, const json& params) +{ + if (!params.contains("sketch")) throw std::runtime_error("rib needs 'sketch' (feature index)"); + if (!params.contains("entity")) throw std::runtime_error("rib needs 'entity' (entity index)"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to rib"); + int sketch = params["sketch"].get<int>(); + int entity = params["entity"].get<int>(); + double thickness = params.value("thickness", 2.0); + double depth = params.value("depth", 10.0); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int idx = doc.add_rib(sketch, entity, thickness, depth, bi, "Rib"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"rib_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_surface_extrude(DesignPanel* panel, const json& params) +{ + if (!params.contains("sketch")) throw std::runtime_error("surface_extrude needs 'sketch' (feature index)"); + CadDocument& doc = panel->mcp_doc(); + int sketch = params["sketch"].get<int>(); + double distance = params.value("distance", 10.0); + doc.checkpoint(); + int idx = doc.add_surface_extrude(sketch, distance, "SurfaceExtrude"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_surface_revolve(DesignPanel* panel, const json& params) +{ + if (!params.contains("sketch")) throw std::runtime_error("surface_revolve needs 'sketch' (feature index)"); + CadDocument& doc = panel->mcp_doc(); + int sketch = params["sketch"].get<int>(); + double angle = params.value("angle", 360.0); + int axis = params.value("axis", 0); + doc.checkpoint(); + int idx = doc.add_surface_revolve(sketch, angle, axis, "SurfaceRevolve"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_thicken_surface(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no sheet body to thicken"); + int bi = target_body_arg(params, doc); + double thickness = params.value("thickness", 2.0); + bool flip = params.value("flip", false); + doc.checkpoint(); + int idx = doc.add_thicken_surface(bi, thickness, flip, "ThickenSurface"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_surface_offset(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no sheet body to offset"); + int bi = target_body_arg(params, doc); + double offset = params.value("offset", 1.0); + doc.checkpoint(); + int idx = doc.add_surface_offset(bi, offset, "SurfaceOffset"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_surface_loft(DesignPanel* panel, const json& params) +{ + if (!params.contains("profiles") || !params["profiles"].is_array()) + throw std::runtime_error("surface_loft needs 'profiles' (array of int feature indices)"); + CadDocument& doc = panel->mcp_doc(); + std::vector<int> profiles; + for (const json& j : params["profiles"]) profiles.push_back(j.get<int>()); + bool ruled = params.value("ruled", false); + doc.checkpoint(); + int idx = doc.add_surface_loft(profiles, ruled, "SurfaceLoft"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_surface_fill(DesignPanel* panel, const json& params) +{ + if (!params.contains("sketch")) throw std::runtime_error("surface_fill needs 'sketch' (feature index)"); + CadDocument& doc = panel->mcp_doc(); + int sketch = params["sketch"].get<int>(); + doc.checkpoint(); + int idx = doc.add_surface_fill(sketch, "SurfaceFill"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_draft(DesignPanel* panel, const json& params) +{ + if (!params.contains("face")) throw std::runtime_error("draft needs 'face' (id from query_topology)"); + const double angle = params.value("angle", 5.0); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to draft"); + int bi = target_body_arg(params, doc); + doc.checkpoint(); + int d = doc.add_draft(angle, params["face"].get<int>(), bi, "Draft"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"draft_index", d}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +// ---- 2D sketch verbs -------------------------------------------------------------------- +// +// The model is FreeCAD's Sketcher, adapted to this tab's right-click world. Three ideas are +// taken over deliberately: +// +// * GEOMETRY IS SEPARATE FROM CONSTRAINTS. You add curves, then you constrain them; the +// solver reports degrees of freedom and whether it is consistent. `sketch_describe` returns +// both halves plus the DoF, which is the whole state a caller needs to reason about. +// * A SKETCH IS JUDGED BY ITS LOOPS, not by its coordinates. FreeCAD asks whether the profile +// is closed before it will build from it; `sketch_describe` answers that directly, listing +// each closed loop, the loops it encloses as VOIDS, and — the actionable part — the exact +// plane coordinates where a chain is still open. +// * VALIDATE, THEN FIX. FreeCAD's ValidateSketch finds vertices that overlap within a +// tolerance but carry no coincidence, and adds the missing ones. `sketch_validate` reports +// them, `sketch_heal` welds and constrains them. That is what turns a loop that is closed by +// floating-point luck into one that is closed by construction and stays closed through +// every later solve. +// +// What is NOT taken over: FreeCAD's Sketcher is a modal dialog with its own toolbars. Here the +// vocabulary is the right-click offer, so these verbs are named after what the menu offers on a +// selection, and every one of them drives the SAME DesignSketchTool the mouse drives. + +DesignSketchTool& mcp_sketch(DesignPanel* panel) +{ + DesignCanvas* vp = panel->mcp_viewport(); + if (vp == nullptr) throw std::runtime_error("no viewport"); + if (!vp->is_sketching()) + throw std::runtime_error("no sketch is open — call sketch_begin first"); + return vp->mcp_sketch_tool(); +} + +SketchEntity sketch_entity_from(const json& j) +{ + const std::string t = j.value("type", std::string("")); + SketchEntity e; + auto p = [&](const char* k, double dx, double dy) { + if (!j.contains(k)) return Vec2d(dx, dy); + const json& a = j.at(k); + if (!a.is_array() || a.size() < 2) throw std::runtime_error(std::string(k) + " must be [x, y]"); + return Vec2d(a[0].get<double>(), a[1].get<double>()); + }; + e.construction = j.value("construction", false); + // A circle and an arc are defined BY their centre, so a request that does not carry one is + // incomplete, not a request for a circle at the origin. Defaulting it silently put geometry + // somewhere the caller never asked for and then reported perfectly consistent loops, areas + // and hole attribution ABOUT THAT WRONG GEOMETRY — which is far more expensive to disbelieve + // than an error would have been. `p0` is accepted as an alias because that is exactly what a + // circle stores internally (e.p0 = e.center below), so a caller who writes p0 means centre. + auto centre_of = [&](const char* what) { + if (j.contains("center")) return p("center", 0, 0); + if (j.contains("centre")) return p("centre", 0, 0); + if (j.contains("p0")) return p("p0", 0, 0); + throw std::runtime_error(std::string(what) + " needs a 'center' (or 'p0')"); + }; + if (t == "line") { + e.type = SketchEntity::Type::Line; + e.p0 = p("p0", 0, 0); e.p1 = p("p1", 0, 0); + } else if (t == "circle") { + e.type = SketchEntity::Type::Circle; + e.center = centre_of("circle"); + e.radius = j.value("radius", 0.0); + e.p0 = e.center; + if (e.radius <= 0.0) throw std::runtime_error("circle needs a positive 'radius'"); + } else if (t == "arc") { + e.type = SketchEntity::Type::Arc; + e.center = centre_of("arc"); + e.radius = j.value("radius", 0.0); + e.start_angle = j.value("start_angle", 0.0); + e.end_angle = j.value("end_angle", 0.0); + if (e.radius <= 0.0) throw std::runtime_error("arc needs a positive 'radius'"); + e.p0 = e.center + e.radius * Vec2d(std::cos(e.start_angle), std::sin(e.start_angle)); + e.p1 = e.center + e.radius * Vec2d(std::cos(e.end_angle), std::sin(e.end_angle)); + } else if (t == "point") { + e.type = SketchEntity::Type::Point; + e.p0 = p("p", 0, 0); + } else { + throw std::runtime_error("unknown entity type '" + t + "' (line, arc, circle, point)"); + } + return e; +} + +json sketch_entity_to(const SketchEntity& e, int index) +{ + json j{{"index", index}, {"construction", e.construction}}; + switch (e.type) { + case SketchEntity::Type::Line: + j["type"] = "line"; + j["p0"] = json::array({e.p0.x(), e.p0.y()}); + j["p1"] = json::array({e.p1.x(), e.p1.y()}); + j["length"] = (e.p1 - e.p0).norm(); + break; + case SketchEntity::Type::Circle: + j["type"] = "circle"; + j["center"] = json::array({e.center.x(), e.center.y()}); + j["radius"] = e.radius; + break; + case SketchEntity::Type::Arc: + j["type"] = "arc"; + j["center"] = json::array({e.center.x(), e.center.y()}); + j["radius"] = e.radius; + j["start_angle"] = e.start_angle; + j["end_angle"] = e.end_angle; + j["p0"] = json::array({e.p0.x(), e.p0.y()}); + j["p1"] = json::array({e.p1.x(), e.p1.y()}); + break; + case SketchEntity::Type::Point: + j["type"] = "point"; + j["p"] = json::array({e.p0.x(), e.p0.y()}); + break; + // Ellipses and splines used to serialise as a TYPE NAME and nothing else, so every + // parameter they have was invisible to the only read-back this project has. A ladder could + // count them and grade the faceted area of the loop they close (2e-2, the faceting error) — + // it could not check a single axis, angle or pole. "Precise definition of every aspect" + // cannot be asserted about an entity whose aspects the instrument cannot see. + case SketchEntity::Type::Ellipse: + j["type"] = "ellipse"; + j["center"] = json::array({e.center.x(), e.center.y()}); + j["radius"] = e.radius; // semi-major (a) + j["rminor"] = e.rminor; // semi-minor (b) + j["rotation"] = e.rotation; // major-axis angle, radians + break; + case SketchEntity::Type::EllipseArc: + j["type"] = "ellipse_arc"; + j["center"] = json::array({e.center.x(), e.center.y()}); + j["radius"] = e.radius; + j["rminor"] = e.rminor; + j["rotation"] = e.rotation; + j["start_angle"] = e.start_angle; + j["end_angle"] = e.end_angle; + j["p0"] = json::array({e.p0.x(), e.p0.y()}); + j["p1"] = json::array({e.p1.x(), e.p1.y()}); + break; + case SketchEntity::Type::BSpline: { + j["type"] = "spline"; + json poles = json::array(); + for (const Vec2d& c : e.ctrl) poles.push_back(json::array({c.x(), c.y()})); + j["ctrl"] = poles; + j["p0"] = json::array({e.p0.x(), e.p0.y()}); + j["p1"] = json::array({e.p1.x(), e.p1.y()}); + break; + } + } + return j; +} + +// Which entities a verb acts on: an explicit "entities" array, else the current selection, +// else — only where the verb says so — everything. Same precedence the menu uses: what you +// pointed at wins, and the menu never silently acts on the whole sketch. +std::vector<int> sketch_targets(const json& params, DesignSketchTool& t, bool all_if_empty) +{ + std::vector<int> out; + if (params.contains("entities")) { + for (const auto& v : params.at("entities")) out.push_back(v.get<int>()); + return out; + } + out = t.selection(); + if (out.empty() && all_if_empty) + for (int i = 0; i < int(t.entities().size()); ++i) out.push_back(i); + return out; +} + +json action_sketch_begin(DesignPanel* panel, const json& params) +{ + DesignCanvas* vp = panel->mcp_viewport(); + if (vp == nullptr) throw std::runtime_error("no viewport"); + if (vp->is_sketching()) throw std::runtime_error("a sketch is already open"); + const std::string pl = params.value("plane", std::string("XY")); + SketchPlane plane = SketchPlane::XY(); + if (pl == "XZ") plane = SketchPlane::XZ(); + else if (pl == "YZ") plane = SketchPlane::YZ(); + else if (pl != "XY") throw std::runtime_error("plane must be XY, XZ or YZ"); + vp->begin_sketch(plane, DesignSketchTool::Mode::Select); + // The panel has to enter sketch mode too, or the app is half in it: the tool sketches, the + // offer menu offers sketch verbs, and every sketch KEY is dead because key dispatch tests + // m_ui_mode while the menu tests the viewport. Driving the socket must leave the GUI in the + // state a user would be in, not a state only the socket can produce. + panel->mcp_set_sketch_mode(true); + return json{{"ok", true}, {"plane", pl}}; +} + +json action_sketch_commit(DesignPanel* panel, const json& params) +{ + (void)params; + DesignCanvas* vp = panel->mcp_viewport(); + if (vp == nullptr || !vp->is_sketching()) throw std::runtime_error("no sketch is open"); + vp->finish_sketch(); + panel->mcp_set_sketch_mode(false); + panel->mcp_after_change(); + return json{{"ok", true}, {"features", int(panel->mcp_doc().features.size())}}; +} + +json action_sketch_cancel(DesignPanel* panel, const json& params) +{ + (void)params; + DesignCanvas* vp = panel->mcp_viewport(); + if (vp == nullptr || !vp->is_sketching()) throw std::runtime_error("no sketch is open"); + vp->cancel_sketch(); + panel->mcp_set_sketch_mode(false); + return json{{"ok", true}}; +} + +json action_sketch_add(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + std::vector<SketchEntity> ents; + if (params.contains("entities")) { + for (const auto& j : params.at("entities")) ents.push_back(sketch_entity_from(j)); + } else if (params.contains("type")) { + ents.push_back(sketch_entity_from(params)); // single-entity shorthand + } else if (params.contains("rect")) { + // Corner rectangle as four shared-endpoint lines, so it arrives as ONE closed loop + // rather than four segments that happen to touch. + const json& r = params.at("rect"); + if (!r.is_array() || r.size() < 4) throw std::runtime_error("rect must be [x0, y0, x1, y1]"); + const double x0 = r[0].get<double>(), y0 = r[1].get<double>(); + const double x1 = r[2].get<double>(), y1 = r[3].get<double>(); + const bool c = params.value("construction", false); + auto seg = [&](Vec2d a, Vec2d b) { SketchEntity e; e.type = SketchEntity::Type::Line; + e.p0 = a; e.p1 = b; e.construction = c; return e; }; + ents.push_back(seg({x0, y0}, {x1, y0})); + ents.push_back(seg({x1, y0}, {x1, y1})); + ents.push_back(seg({x1, y1}, {x0, y1})); + ents.push_back(seg({x0, y1}, {x0, y0})); + } else { + throw std::runtime_error("sketch_add needs 'entities', a single 'type', or 'rect'"); + } + const int base = t.add_entities_scripted(ents); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", base >= 0}, {"first_index", base}, {"added", int(ents.size())}, + {"entities", int(t.entities().size())}, {"dof", t.dof()}}; +} + +json action_sketch_select(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + std::vector<int> idx; + if (params.contains("entities")) + for (const auto& v : params.at("entities")) idx.push_back(v.get<int>()); + const bool any = t.select_indices(idx); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", true}, {"selected", int(t.selection().size())}, {"any", any}}; +} + +json action_sketch_delete(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + const std::vector<int> tgt = sketch_targets(params, t, false); + if (tgt.empty()) throw std::runtime_error("nothing selected and no 'entities' given"); + const int before = int(t.entities().size()); + t.select_indices(tgt); + t.delete_selected(); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", true}, {"removed", before - int(t.entities().size())}, + {"entities", int(t.entities().size())}}; +} + +json action_sketch_construction(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + const std::vector<int> tgt = sketch_targets(params, t, false); + if (tgt.empty()) throw std::runtime_error("nothing selected and no 'entities' given"); + t.select_indices(tgt); + const int n = t.toggle_selection_construction(); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", n > 0}, {"changed", n}}; +} + +json action_sketch_offset(DesignPanel* panel, const json& params) +{ + if (!params.contains("distance")) throw std::runtime_error("sketch_offset needs 'distance'"); + DesignSketchTool& t = mcp_sketch(panel); + const double d = params.at("distance").get<double>(); + const std::vector<int> tgt = sketch_targets(params, t, true); + std::vector<SketchEntity> src; + for (int i : tgt) + if (i >= 0 && i < int(t.entities().size())) src.push_back(t.entities()[i]); + if (src.empty()) throw std::runtime_error("nothing to offset"); + const auto out = SketchEngine::offset_entities(src, d); + if (out.empty()) throw std::runtime_error("offset produced nothing (ellipses and splines are not offset)"); + const int base = t.add_entities_scripted(out); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", true}, {"first_index", base}, {"added", int(out.size())}, {"dof", t.dof()}}; +} + +json action_sketch_mirror(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + auto pt = [&](const char* k, double dx, double dy) { + if (!params.contains(k)) return Vec2d(dx, dy); + const json& a = params.at(k); + if (!a.is_array() || a.size() < 2) throw std::runtime_error(std::string(k) + " must be [x, y]"); + return Vec2d(a[0].get<double>(), a[1].get<double>()); + }; + const Vec2d a = pt("axis_a", 0, 0), b = pt("axis_b", 0, 1); + const std::vector<int> tgt = sketch_targets(params, t, true); + std::vector<SketchEntity> src; + for (int i : tgt) + if (i >= 0 && i < int(t.entities().size())) src.push_back(t.entities()[i]); + if (src.empty()) throw std::runtime_error("nothing to mirror"); + const auto out = SketchEngine::mirror_entities(src, a, b); + const int base = t.add_entities_scripted(out); + panel->mcp_viewport()->request_repaint(); + return json{{"ok", true}, {"first_index", base}, {"added", int(out.size())}, {"dof", t.dof()}}; +} + +json sketch_report(DesignSketchTool& t) +{ + const auto rep = t.loop_report(); + json loops = json::array(); + for (const auto& l : rep.loops) { + json holes = json::array(); + for (int h : l.holes) holes.push_back(h); + loops.push_back(json{{"entities", l.ents}, {"holes", holes}, + {"closed", l.closed}, {"area", l.area}}); + } + json open_ends = json::array(); + for (const Vec2d& p : rep.open_ends) open_ends.push_back(json::array({p.x(), p.y()})); + // A profile is buildable when at least one loop closed and nothing is left dangling. + const bool buildable = !rep.loops.empty() && rep.open_ends.empty(); + return json{{"closed_loops", loops}, {"open_ends", open_ends}, {"buildable", buildable}}; +} + +json action_sketch_describe(DesignPanel* panel, const json& params) +{ + (void)params; + DesignSketchTool& t = mcp_sketch(panel); + json ents = json::array(); + for (int i = 0; i < int(t.entities().size()); ++i) + ents.push_back(sketch_entity_to(t.entities()[i], i)); + // The armed TOOL and its pending anchors. Without these the only way to tell which tool a + // menu row actually armed is to draw with it and infer from what came out — which is how a + // menu walk that lands one row off gets diagnosed as "the tool is broken". + static const char* const kModeNames[] = { + "select", "dimension", "polyline", "line", "rect_corner", "rect_center", "rect_oblique", + "rect_rounded", "circle_center", "circle_2pt", "point", + "circle_3pt", "arc_3pt", "arc_tangent", "arc_center", "slot", "slot_arc", "polygon", + "ellipse", "ellipse_arc", "spline", + "fillet", "chamfer", "offset", "mirror", + "trim", "extend", + "move", "rotate", "scale", "array", "array_polar", + "transform_art", + "constrain" }; + const int mi = int(t.mode()); + json out{{"ok", true}, + {"entities", ents}, + {"constraints", int(t.constraints().size())}, + {"dof", t.dof()}, + {"solve_ok", t.solve_ok()}, + {"tool", (mi >= 0 && mi < int(sizeof(kModeNames) / sizeof(kModeNames[0]))) + ? kModeNames[mi] : "unknown"}, + {"pending", t.pending_points()}, + {"editing", t.value_field_open()}, + {"selection", t.selection()}}; + out.update(sketch_report(t)); + return out; +} + +json action_sketch_validate(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + const double tol = params.value("tolerance", 1e-3); + json out{{"ok", true}, {"tolerance", tol}, {"dof", t.dof()}, {"solve_ok", t.solve_ok()}}; + out.update(sketch_report(t)); + return out; +} + +json action_sketch_heal(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + const double tol = params.value("tolerance", 1e-3); + const bool ic = params.value("ignore_construction", true); + const int welded = t.heal_coincidences(tol, ic); + panel->mcp_viewport()->request_repaint(); + json out{{"ok", true}, {"welded", welded}, {"tolerance", tol}, + {"dof", t.dof()}, {"solve_ok", t.solve_ok()}}; + out.update(sketch_report(t)); + return out; +} + +// Why sketch_set_value exists: committing a typed dimension could previously only be exercised +// by driving the in-canvas value field, and the rig's window manager never gives that frame +// keyboard focus, so the behaviour of apply_dimension on CONSTRAINED geometry was untestable. +// This calls the same function the widget calls, so the geometry can be asserted with no window +// manager involved. Note apply_dimension clears the selection. +json action_sketch_set_value(DesignPanel* panel, const json& params) +{ + DesignSketchTool& t = mcp_sketch(panel); + if (!params.contains("value")) throw std::runtime_error("sketch_set_value needs 'value'"); + const double value = params["value"].get<double>(); + const DesignSketchTool::DimType kind = t.dimension_kind(); + if (kind == DesignSketchTool::DimType::None) + throw std::runtime_error("the selection has no value to set — pick a line, an arc, a circle, or two entities"); + + const char* kind_name = "none"; + switch (kind) { + case DesignSketchTool::DimType::Length: kind_name = "length"; break; + case DesignSketchTool::DimType::Radius: kind_name = "radius"; break; + case DesignSketchTool::DimType::Diameter: kind_name = "diameter"; break; + case DesignSketchTool::DimType::Angle: kind_name = "angle"; break; + case DesignSketchTool::DimType::Distance: kind_name = "distance"; break; + case DesignSketchTool::DimType::DistanceToLine: kind_name = "distance_to_line"; break; + default: break; + } + + // Validate BEFORE apply_dimension, at the socket boundary. The tool only MOVES geometry when + // the value passes its own per-case thresholds, but it records the driving constraint + // UNCONDITIONALLY afterwards — a negative/zero/NaN value that moved nothing would still be + // pushed to the solver as a constraint it must satisfy and cannot, silently corrupting the + // sketch rather than failing. (apply_dimension has the same flaw for any other caller; this + // guard protects the socket, not the tool.) Fail loudly instead of recording a poison value. + if (!std::isfinite(value)) + throw std::runtime_error("dimension must be finite — NaN or infinity is not a dimension"); + switch (kind) { + case DesignSketchTool::DimType::Length: + case DesignSketchTool::DimType::Radius: + case DesignSketchTool::DimType::Diameter: + if (value <= 0.0) + throw std::runtime_error(std::string(kind_name) + " must be positive (got " + std::to_string(value) + ")"); + break; + case DesignSketchTool::DimType::Distance: + case DesignSketchTool::DimType::DistanceToLine: + if (value < 0.0) + throw std::runtime_error(std::string(kind_name) + " must be >= 0 (zero means coincident / on the line)"); + break; + case DesignSketchTool::DimType::Angle: + default: + break; // any finite angle is valid + } + + const double before = t.dimension_current(); + t.apply_dimension(value); + panel->mcp_viewport()->request_repaint(); + + json out{{"ok", true}, {"kind", kind_name}, {"before", before}, {"value", value}, + {"dof", t.dof()}, {"solve_ok", t.solve_ok()}}; + out.update(sketch_report(t)); + return out; +} + +// Verbs whose handler opens a MODAL dialog. This matters more than it looks: the socket thread +// posts the call to the wx main thread and waits 15 s on a future, so a verb that blocks that +// thread inside ShowModal() times the RPC out AND leaves the main thread blocked until a human +// dismisses the dialog — every later call then times out too, 15 s at a time. Which is exactly +// the trap for the deck user this surface exists for: one button press and the app is modal, +// waiting for a mouse they may not be reaching for. +// +// So run_verb NEVER dispatches inline. The list here is only so list_verbs can label the keys +// that will want a mouse; re-derive it with +// grep -n ShowModal src/slic3r/GUI/CAD/DesignPanel.cpp +// and map each handler back to its action string in DesignOffer.hpp. +bool verb_is_modal(const char* id) +{ + static const char* kModal[] = { "sk_text", "sk_svg", "colour" }; + for (const char* m : kModal) + if (std::strcmp(m, id) == 0) return true; + return false; +} + +// Why list_verbs exists: the deck profile in VSD_n1_streamcontroller is built by parsing +// DesignPanel's key tables out of the SOURCE, so a verb without a keyboard shortcut is invisible +// to it. Serving the whole offer table over the socket lets the profile be generated from the +// running app instead, and lets a deck key name a verb rather than spend a letter. +json action_list_verbs(DesignPanel* panel, const json& params) +{ + const int kind = panel->mcp_offer_selection_kind(); + const uint32_t bit = offer_bit(OfferSel(kind)); + const bool applicable_only = params.value("applicable_only", false); + const bool has_sketch_mode = params.contains("sketch_mode"); + const bool want_sketch_mode = has_sketch_mode && params["sketch_mode"].get<bool>(); + + json verbs = json::array(); + for (int i = 0; i < kOfferVerbCount; ++i) { + const OfferVerb& v = kOfferVerbs[i]; + const bool applies = (v.accepts & bit) != 0; + if (applicable_only && !applies) continue; + if (has_sketch_mode && v.sketch_mode != want_sketch_mode) continue; + // Verbs whose action is nullptr exist in the vocabulary but have no GUI path yet — report + // them with a null action rather than dropping them. + verbs.push_back(json{ + {"id", v.id}, + {"name", v.name}, + {"row", v.row}, + {"row_name", kOfferRowNames[v.row]}, + {"key", v.key ? json(v.key) : json(nullptr)}, + {"action", v.action ? json(v.action) : json(nullptr)}, + {"sketch_mode", v.sketch_mode}, + {"applies", applies}, + {"modal", verb_is_modal(v.id)}, // opening a dialog: this key will want a mouse + {"hint", v.hint ? json(v.hint) : json(nullptr)}, + }); + } + return json{{"ok", true}, {"selection_kind", kind}, {"count", verbs.size()}, + {"verbs", std::move(verbs)}}; +} + +json action_run_verb(DesignPanel* panel, const json& params) +{ + if (!params.contains("verb")) throw std::runtime_error("run_verb needs 'verb' (an offer verb id)"); + const std::string verb = params["verb"].get<std::string>(); + + // Scan the offer table BEFORE dispatching so the failure message can tell an unknown id from + // one that exists in the vocabulary but has no GUI path (action == nullptr). + bool known = false; + bool has_action = false; + const char* action = nullptr; + for (int i = 0; i < kOfferVerbCount; ++i) { + if (std::strcmp(kOfferVerbs[i].id, verb.c_str()) == 0) { + known = true; + has_action = (kOfferVerbs[i].action != nullptr); + action = kOfferVerbs[i].action; + break; + } + } + + if (!known) throw std::runtime_error("run_verb: unknown verb '" + verb + "'"); + if (!has_action) throw std::runtime_error("run_verb: '" + verb + "' has no GUI path yet"); + + // Whether the verb would be OFFERED for the current selection. Not a refusal: the GUI lets + // you press a tool's shortcut whatever is selected, and refusing here would make the socket + // stricter than the keyboard for no reason. Reported so a caller can tell "did nothing + // because it did not apply" from "did nothing because it is broken". + const int kind = panel->mcp_offer_selection_kind(); + const uint32_t bit = offer_bit(OfferSel(kind)); + bool applies = false; + for (int i = 0; i < kOfferVerbCount; ++i) + if (std::strcmp(kOfferVerbs[i].id, verb.c_str()) == 0) { applies = (kOfferVerbs[i].accepts & bit) != 0; break; } + + // The rule is not "validate more", it is "the socket should offer exactly what the GUI + // offers, no more and no less". A "btn:"/"fly:" verb is reachable in the GUI ONLY through + // the offer menu, which GREYS its row when it does not apply to the current selection — so + // a socket caller must not be able to fire it either. But a "key:" verb is reachable from + // the KEYBOARD whatever is selected, and the app permits that, so refusing it would make + // the socket stricter than the keyboard for no reason. Refuse only the menu-only verbs. + if (!applies && action && + (std::strncmp(action, "btn:", 4) == 0 || std::strncmp(action, "fly:", 4) == 0)) { + throw std::runtime_error("run_verb: '" + verb + + "' does not apply to the current selection (selection_kind " + + std::to_string(kind) + ")"); + } + + // Dispatch on the NEXT turn of the event loop, never inline. See verb_is_modal above: a verb + // that opens a dialog would otherwise block the thread this call is running on. Deferring + // costs the ability to report the verb's outcome — which run_offer_action never returned + // anyway — and buys a socket that cannot be wedged by any verb in the table. + wxGetApp().CallAfter([panel, verb]() { panel->mcp_run_verb(verb.c_str()); }); + + return json{{"ok", true}, {"verb", verb}, {"dispatched", true}, + {"applies", applies}, {"modal", verb_is_modal(verb.c_str())}, + {"selection_kind", kind}}; +} + +json action_mirror(DesignPanel* panel, const json& params) +{ + std::string m_str = params.value("mode", std::string("new")); + BooleanMode m = (m_str == "add") ? BooleanMode::Add : BooleanMode::New; + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to mirror"); + int bi = target_body_arg(params, doc); + bool keep = params.value("keep_original", true); + doc.checkpoint(); + int idx = doc.add_mirror(plane_from(params, doc), bi, m, "Mirror"); + doc.features[idx].mirror_keep_original = keep; + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"mirror_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_transform(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to transform"); + int bi = target_body_arg(params, doc); + Vec3d translate(params.value("dx", 0.0), params.value("dy", 0.0), params.value("dz", 0.0)); + Vec3d axis(params.value("axis_x", 0.0), params.value("axis_y", 0.0), params.value("axis_z", 1.0)); + Vec3d pivot(params.value("pivot_x", 0.0), params.value("pivot_y", 0.0), params.value("pivot_z", 0.0)); + double angle = params.value("angle", 0.0); + bool copy = params.value("copy", false); + doc.checkpoint(); + int idx = doc.add_transform(bi, translate, axis, pivot, angle, copy, "Transform"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"transform_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_thicken(DesignPanel* panel, const json& params) +{ + if (!params.contains("face")) throw std::runtime_error("thicken needs 'face' (id from query_topology)"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to thicken"); + int bi = target_body_arg(params, doc); + int face = params["face"].get<int>(); + double thickness = params.value("thickness", 2.0); + bool flip = params.value("flip", false); + doc.checkpoint(); + int idx = doc.add_thicken(bi, face, thickness, flip, "Thicken"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"thicken_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_split(DesignPanel* panel, const json& params) +{ + if (!params.contains("face")) throw std::runtime_error("split needs 'face' (id from query_topology)"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to split"); + int bi = target_body_arg(params, doc); + int face_body = params.value("face_body", -1); + int face = params["face"].get<int>(); + bool keep_upper = params.value("keep_upper", true); + bool keep_lower = params.value("keep_lower", true); + doc.checkpoint(); + int idx = doc.add_split_by_face(bi, face_body, face, keep_upper, keep_lower, "Split"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"split_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_project(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no source body to project from"); + int source_body = params.value("source_body", -1); + int face = params.value("face", -1); + std::vector<int> edges; + if (params.contains("edges") && params["edges"].is_array()) + for (const auto& v : params["edges"]) edges.push_back(v.get<int>()); + SketchPlane pl = plane_from(params, doc); + doc.checkpoint(); + int idx = doc.add_project_edges(source_body, edges, face, pl, "Project"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"project_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_delete_face(DesignPanel* panel, const json& params) +{ + if (!params.contains("faces")) throw std::runtime_error("delete_face needs 'faces' (array of face ids)"); + CadDocument& doc = panel->mcp_doc(); + if (doc.bodies.empty()) throw std::runtime_error("no body to delete faces from"); + int bi = target_body_arg(params, doc); + std::vector<int> faces; + if (params["faces"].is_array()) + for (const auto& v : params["faces"]) faces.push_back(v.get<int>()); + doc.checkpoint(); + int idx = doc.add_delete_face(bi, faces, "DeleteFace"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_bridge(DesignPanel* panel, const json& params) +{ + if (!params.contains("sketch")) throw std::runtime_error("bridge needs 'sketch' (feature index)"); + if (!params.contains("ent_a")) throw std::runtime_error("bridge needs 'ent_a' (entity index)"); + if (!params.contains("ent_b")) throw std::runtime_error("bridge needs 'ent_b' (entity index)"); + int sketch = params["sketch"].get<int>(); + int ent_a = params["ent_a"].get<int>(); + int ent_b = params["ent_b"].get<int>(); + int end_a = params.value("end_a", 1); + int end_b = params.value("end_b", 0); + CadDocument& doc = panel->mcp_doc(); + doc.checkpoint(); + int ei = doc.add_bridge(sketch, ent_a, end_a, ent_b, end_b, "Bridge"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"sketch_index", sketch}, {"entity_index", ei}, + {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_axis(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + std::string t = params.value("type", std::string("two_points")); + AxisType at = AxisType::TwoPoints; + if (t == "face_normal") at = AxisType::FaceNormal; + else if (t == "cylinder") at = AxisType::CylinderCenterline; + else if (t == "plane_intersection") at = AxisType::PlaneIntersection; + else if (t == "along_edge") at = AxisType::AlongEdge; + doc.checkpoint(); + int idx = doc.add_axis(at, "Axis"); + CadFeature& f = doc.features[idx]; + if (params.contains("p1") && params["p1"].is_array() && params["p1"].size() >= 3) + f.axis_p1 = Vec3d(params["p1"][0].get<double>(), params["p1"][1].get<double>(), params["p1"][2].get<double>()); + if (params.contains("p2") && params["p2"].is_array() && params["p2"].size() >= 3) + f.axis_p2 = Vec3d(params["p2"][0].get<double>(), params["p2"][1].get<double>(), params["p2"][2].get<double>()); + f.axis_body = params.value("body", -1); + f.axis_face = params.value("face", -1); + f.axis_edge = params.value("edge", -1); + f.axis_plane_a = params.value("plane_a", -1); + f.axis_plane_b = params.value("plane_b", -1); + // Datum features don't produce a body; check for an error returned by resolve. + bool recompute_ok = doc.recompute(); + auto axes = doc.resolve_datum_axes(); + std::string err = doc.error; + if (recompute_ok && err.empty() && !axes.empty() && !axes.back().error.empty()) + err = axes.back().error; + panel->mcp_after_change(); + return json{{"ok", true}, {"axis_index", idx}, {"error", err}}; +} + +json action_coordsys(DesignPanel* panel, const json& params) +{ + CadDocument& doc = panel->mcp_doc(); + std::string t = params.value("type", std::string("point_world")); + CoordSysType ct = CoordSysType::PointWorld; + if (t == "face_and_direction") ct = CoordSysType::FaceAndDirection; + Vec3d pt(0, 0, 0); + if (params.contains("point") && params["point"].is_array() && params["point"].size() >= 3) + pt = Vec3d(params["point"][0].get<double>(), params["point"][1].get<double>(), params["point"][2].get<double>()); + doc.checkpoint(); + int idx = doc.add_coordsys(ct, pt, "CoordSys"); + CadFeature& f = doc.features[idx]; + f.coordsys_body = params.value("body", -1); + f.coordsys_face = params.value("face", -1); + f.coordsys_edge = params.value("edge", -1); + if (params.contains("x_hint") && params["x_hint"].is_array() && params["x_hint"].size() >= 3) + f.coordsys_x_hint = Vec3d(params["x_hint"][0].get<double>(), params["x_hint"][1].get<double>(), params["x_hint"][2].get<double>()); + bool recompute_ok = doc.recompute(); + auto css = doc.resolve_datum_coordsys(); + std::string err = doc.error; + if (recompute_ok && err.empty() && !css.empty() && !css.back().error.empty()) + err = css.back().error; + panel->mcp_after_change(); + return json{{"ok", true}, {"coordsys_index", idx}, {"error", err}}; +} + +json action_helix(DesignPanel* panel, const json& params) +{ + const double radius = params.value("radius", 10.0); + const double pitch = params.value("pitch", 5.0); + const double height = params.value("height", 20.0); + const bool left_handed = params.value("left_handed", false); + const double taper = params.value("taper_deg", 0.0); + CadDocument& doc = panel->mcp_doc(); + doc.checkpoint(); + int idx = doc.add_helix(plane_from(params, doc), radius, pitch, height, left_handed, taper, "Helix"); + panel->mcp_after_change(); + return json{{"ok", true}, {"helix_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_mate(DesignPanel* panel, const json& params) +{ + if (!params.contains("cs_a")) throw std::runtime_error("mate needs 'cs_a' (CoordSys feature index)"); + if (!params.contains("cs_b")) throw std::runtime_error("mate needs 'cs_b' (CoordSys feature index)"); + const int kind = params.value("kind", 0); + const int cs_a = params["cs_a"].get<int>(); + const int cs_b = params["cs_b"].get<int>(); + const double offset = params.value("offset", 0.0); + const double angle = params.value("angle", 0.0); + const bool flip = params.value("flip", false); + CadDocument& doc = panel->mcp_doc(); + doc.checkpoint(); + int idx = doc.add_mate(kind, cs_a, cs_b, offset, angle, flip, "Mate"); + bool ok = doc.recompute(); + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"mate_index", idx}, {"bodies", int(doc.bodies.size())}, {"error", doc.error}}; +} + +json action_check_interference(DesignPanel* panel, const json& params) +{ + const double min_volume = params.value("min_volume", 1e-6); + CadDocument& doc = panel->mcp_doc(); + // Read-only: no checkpoint(), no recompute(), no mcp_after_change(). + const auto hits = doc.check_interference(min_volume); + json arr = json::array(); + for (const auto& h : hits) { + arr.push_back(json{{"body_a", h.body_a}, {"body_b", h.body_b}, {"volume", h.volume}}); + } + return json{{"ok", true}, {"count", int(hits.size())}, {"interferences", arr}}; +} + +json action_set_variable(DesignPanel* panel, const json& params) +{ + if (!params.contains("name")) throw std::runtime_error("set_variable needs 'name'"); + if (!params.contains("expr")) throw std::runtime_error("set_variable needs 'expr'"); + CadDocument& doc = panel->mcp_doc(); + std::string name = params["name"].get<std::string>(); + std::string expr = params["expr"].get<std::string>(); + std::string old = doc.variables.count(name) ? doc.variables[name] : ""; + doc.checkpoint(); + doc.variables[name] = expr; + bool ok = doc.recompute(); + // undo() recomputes, which succeeds and clears doc.error; carry the reason across so + // the JSON reply below reports why the edit was rejected instead of an empty string. + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"name", name}, {"error", doc.error}}; +} + +json action_set_feature_expr(DesignPanel* panel, const json& params) +{ + if (!params.contains("feature")) throw std::runtime_error("set_feature_expr needs 'feature' index"); + if (!params.contains("field")) throw std::runtime_error("set_feature_expr needs 'field' name"); + if (!params.contains("expr")) throw std::runtime_error("set_feature_expr needs 'expr' string"); + CadDocument& doc = panel->mcp_doc(); + int fi = params["feature"].get<int>(); + if (fi < 0 || fi >= (int)doc.features.size()) + return json{{"ok", false}, {"error", "feature index out of range"}}; + std::string field = params["field"].get<std::string>(); + std::string expr = params["expr"].get<std::string>(); + std::string old = doc.features[fi].expr.count(field) ? doc.features[fi].expr[field] : ""; + doc.checkpoint(); + doc.features[fi].expr[field] = expr; + bool ok = doc.recompute(); + // undo() recomputes, which succeeds and clears doc.error; carry the reason across so + // the JSON reply below reports why the edit was rejected instead of an empty string. + if (!ok) { const std::string why = doc.error; doc.undo(); doc.error = why; } + panel->mcp_after_change(); + return json{{"ok", ok}, {"feature", fi}, {"field", field}, {"error", doc.error}}; +} + +// Dispatch one parsed request ON THE MAIN THREAD. Returns a JSON-RPC reply string. +std::string handle_on_main(const std::string& method, const json& params, const json& id) +{ + // The panel is built on first use, and in a headless session nobody clicks the tab that + // would build it -- so build it here rather than refusing. Safe: this runs on the main + // thread (see the CallAfter that dispatches us). + DesignPanel* panel = DesignPanel::ensure(); + if (!panel) + return rpc_error(id, -32001, "Design panel not ready"); + + // Stale-id guard, checked here rather than in each handler. + // + // Global face and edge ids are indices into TopExp::MapShapes, valid only against the + // topology that produced them. Every dress-up rewrites those maps, so the natural way to + // drive this socket — read the scene once, then issue several operations — silently + // addresses the WRONG edge on every call after the first. Measured on a box: four chamfers + // with ids re-read each time remove 0.400/0.397/0.397/0.395 mm3; the same four with ids + // captured up front remove 0.400/0.008/0.397/0.280. Neither run errors, because a stale id + // still resolves to a real edge — just not the one that was asked for. + // + // So a caller may pass back the "generation" it got from describe_scene or query_topology, + // and a mismatch is refused instead of silently obeyed. Optional by design: omitting it + // keeps every existing script working exactly as before, and supplying it is what buys the + // guarantee. One check at the dispatcher rather than one per handler, so a method added + // later cannot forget it. + // + // The type check is not decoration: this runs OUTSIDE the try below, and a bare + // get<uint64_t>() on `"generation": "x"` throws nlohmann::type_error straight out of + // the CallAfter lambda that invoked us — through a wx event loop, which does not catch, + // so the whole GUI went down on one malformed line. Refuse it as a parameter error. + if (params.is_object() && params.contains("generation")) { + if (!params["generation"].is_number_unsigned()) + return rpc_error(id, -32602, "generation must be an unsigned integer"); + const uint64_t want = params["generation"].get<uint64_t>(); + const uint64_t have = panel->mcp_doc().topo_generation; + if (want != have) + return rpc_error(id, -32010, + "stale face/edge ids: they were read at generation " + std::to_string(want) + + " but the model is now at " + std::to_string(have) + + ". Re-read query_topology and use the new ids — the old ones still name real " + "edges, just not the ones you measured."); + } + + try { + if (method == "describe_tools") return rpc_result(id, describe_tools()); + if (method == "describe_scene") return rpc_result(id, describe_scene(panel)); + if (method == "query_topology") return rpc_result(id, query_topology(panel, params)); + if (method == "measure") return rpc_result(id, measure(panel, params)); + if (method == "mass_properties") return rpc_result(id, mass_properties(panel, params)); + if (method == "slice_body") return rpc_result(id, slice_body(panel, params)); + if (method == "import_step") return rpc_result(id, import_step(panel, params)); + if (method == "import_mesh") return rpc_result(id, import_mesh(panel, params)); + if (method == "validate_against") return rpc_result(id, validate_against(panel, params)); + if (method == "extrude") return rpc_result(id, action_extrude(panel, params)); + if (method == "revolve") return rpc_result(id, action_revolve(panel, params)); + if (method == "fillet") return rpc_result(id, action_fillet(panel, params)); + if (method == "chamfer") return rpc_result(id, action_chamfer(panel, params)); + if (method == "hole") return rpc_result(id, action_hole(panel, params)); + if (method == "hole_styled") return rpc_result(id, action_hole_styled(panel, params)); + if (method == "hole_standard") return rpc_result(id, action_hole_standard(panel, params)); + if (method == "boolean") return rpc_result(id, action_boolean(panel, params)); + if (method == "pattern") return rpc_result(id, action_pattern(panel, params)); + if (method == "pattern_on_curve") return rpc_result(id, action_pattern_on_curve(panel, params)); + if (method == "shell") return rpc_result(id, action_shell(panel, params)); + if (method == "rib") return rpc_result(id, action_rib(panel, params)); + if (method == "draft") return rpc_result(id, action_draft(panel, params)); + if (method == "mirror") return rpc_result(id, action_mirror(panel, params)); + if (method == "sketch_begin") return rpc_result(id, action_sketch_begin(panel, params)); + if (method == "sketch_commit") return rpc_result(id, action_sketch_commit(panel, params)); + if (method == "sketch_cancel") return rpc_result(id, action_sketch_cancel(panel, params)); + if (method == "sketch_add") return rpc_result(id, action_sketch_add(panel, params)); + if (method == "sketch_select") return rpc_result(id, action_sketch_select(panel, params)); + if (method == "sketch_delete") return rpc_result(id, action_sketch_delete(panel, params)); + if (method == "sketch_construction") return rpc_result(id, action_sketch_construction(panel, params)); + if (method == "sketch_offset") return rpc_result(id, action_sketch_offset(panel, params)); + if (method == "sketch_mirror") return rpc_result(id, action_sketch_mirror(panel, params)); + if (method == "sketch_describe") return rpc_result(id, action_sketch_describe(panel, params)); + if (method == "sketch_validate") return rpc_result(id, action_sketch_validate(panel, params)); + if (method == "sketch_heal") return rpc_result(id, action_sketch_heal(panel, params)); + if (method == "sketch_set_value") return rpc_result(id, action_sketch_set_value(panel, params)); + if (method == "list_verbs") return rpc_result(id, action_list_verbs(panel, params)); + if (method == "run_verb") return rpc_result(id, action_run_verb(panel, params)); + if (method == "transform") return rpc_result(id, action_transform(panel, params)); + if (method == "thicken") return rpc_result(id, action_thicken(panel, params)); + if (method == "split") return rpc_result(id, action_split(panel, params)); + if (method == "project") return rpc_result(id, action_project(panel, params)); + if (method == "delete_face") return rpc_result(id, action_delete_face(panel, params)); + if (method == "bridge") return rpc_result(id, action_bridge(panel, params)); + if (method == "axis") return rpc_result(id, action_axis(panel, params)); + if (method == "coordsys") return rpc_result(id, action_coordsys(panel, params)); + if (method == "helix") return rpc_result(id, action_helix(panel, params)); + if (method == "set_variable") return rpc_result(id, action_set_variable(panel, params)); + if (method == "set_feature_expr") return rpc_result(id, action_set_feature_expr(panel, params)); + if (method == "surface_extrude") return rpc_result(id, action_surface_extrude(panel, params)); + if (method == "surface_revolve") return rpc_result(id, action_surface_revolve(panel, params)); + if (method == "thicken_surface") return rpc_result(id, action_thicken_surface(panel, params)); + if (method == "surface_offset") return rpc_result(id, action_surface_offset(panel, params)); + if (method == "surface_loft") return rpc_result(id, action_surface_loft(panel, params)); + if (method == "surface_fill") return rpc_result(id, action_surface_fill(panel, params)); + if (method == "mate") return rpc_result(id, action_mate(panel, params)); + if (method == "check_interference") return rpc_result(id, action_check_interference(panel, params)); + return rpc_error(id, -32601, "Unknown method: " + method); + } catch (const Standard_Failure& ex) { // OCCT errors are NOT std::exception + return rpc_error(id, -32000, std::string("OCCT: ") + (ex.GetMessageString() ? ex.GetMessageString() : "failure")); + } catch (const std::exception& ex) { + return rpc_error(id, -32000, ex.what()); + } +} + +// Marshal a request to the main thread and block (with a timeout) for the reply. +std::string dispatch_request(const std::string& line) +{ + json req; + try { req = json::parse(line); } + catch (const std::exception& ex) { return rpc_error(nullptr, -32700, std::string("parse error: ") + ex.what()); } + + json id = req.contains("id") ? req["id"] : json(nullptr); + std::string method = req.value("method", std::string()); + json params = req.contains("params") ? req["params"] : json::object(); + if (method.empty()) return rpc_error(id, -32600, "missing method"); + + auto prom = std::make_shared<std::promise<std::string>>(); + auto fut = prom->get_future(); + // Nothing may escape this lambda. It is invoked by the wx event loop, which has no + // handler of its own, so an escaping exception is std::terminate — the socket would + // become a way for any client to kill the application. handle_on_main() catches what + // it knows about; this catches what it does not, and still answers the caller. + wxGetApp().CallAfter([prom, method, params, id]() { + try { + prom->set_value(handle_on_main(method, params, id)); + } catch (const std::exception& ex) { + prom->set_value(rpc_error(id, -32000, std::string("internal error: ") + ex.what())); + } catch (...) { + prom->set_value(rpc_error(id, -32000, "internal error: unknown exception")); + } + }); + if (fut.wait_for(std::chrono::seconds(15)) != std::future_status::ready) + return rpc_error(id, -32000, "main-thread timeout"); + return fut.get(); +} + +// Read newline-delimited requests off one client connection until EOF. +void serve_client(int cfd) +{ + std::string buf; + char chunk[4096]; + for (;;) { + ssize_t n = ::read(cfd, chunk, sizeof(chunk)); + if (n <= 0) break; + buf.append(chunk, size_t(n)); + size_t nl; + while ((nl = buf.find('\n')) != std::string::npos) { + std::string line = buf.substr(0, nl); + buf.erase(0, nl + 1); + if (line.empty()) continue; + std::string reply = dispatch_request(line); + reply.push_back('\n'); + // Never a bare write(): a client that hangs up between its request and our + // reply raises SIGPIPE, whose default action kills the process — so closing + // a socket mid-call would take the GUI with it. +#ifdef MSG_NOSIGNAL + if (::send(cfd, reply.data(), reply.size(), MSG_NOSIGNAL) < 0) return; +#else + if (::write(cfd, reply.data(), reply.size()) < 0) return; // SO_NOSIGPIPE set at accept +#endif + } + } +} + +void server_thread(std::string sock_path) +{ + ::unlink(sock_path.c_str()); + int sfd = ::socket(AF_UNIX, SOCK_STREAM, 0); + if (sfd < 0) { BOOST_LOG_TRIVIAL(error) << "MCP: socket() failed"; return; } + + sockaddr_un addr{}; + addr.sun_family = AF_UNIX; + std::strncpy(addr.sun_path, sock_path.c_str(), sizeof(addr.sun_path) - 1); + // The socket is the full CAD command surface, including import_step on absolute paths. + // It lands in a world-writable directory by default (/tmp), so its access control is + // its file mode and nothing else — leaving that to the ambient umask means any local + // process may drive the modeller. umask around bind() makes it 0600 with no window in + // which a wider mode exists; the chmod afterwards covers platforms that do not apply + // umask to sockets. + const mode_t old_umask = ::umask(0177); + const int bind_rc = ::bind(sfd, reinterpret_cast<sockaddr*>(&addr), sizeof(addr)); + ::umask(old_umask); + if (bind_rc < 0) { + BOOST_LOG_TRIVIAL(error) << "MCP: bind() failed on " << sock_path; + ::close(sfd); return; + } + if (::chmod(sock_path.c_str(), S_IRUSR | S_IWUSR) < 0) { + BOOST_LOG_TRIVIAL(error) << "MCP: cannot restrict " << sock_path << " to the owner; refusing to listen"; + ::close(sfd); ::unlink(sock_path.c_str()); return; + } + if (::listen(sfd, 1) < 0) { BOOST_LOG_TRIVIAL(error) << "MCP: listen() failed"; ::close(sfd); return; } + BOOST_LOG_TRIVIAL(info) << "MCP control listening on " << sock_path; + + for (;;) { + int cfd = ::accept(sfd, nullptr, nullptr); + if (cfd < 0) continue; +#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE) + const int on = 1; // macOS/BSD equivalent of MSG_NOSIGNAL + ::setsockopt(cfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on)); +#endif + serve_client(cfd); + ::close(cfd); + } +} + +} // namespace + +void start_mcp_control_if_enabled() +{ + const char* env = std::getenv("ORCA_CAD_MCP"); + if (!env || !*env) return; + std::string path = (std::strcmp(env, "1") == 0) ? "/tmp/orca-cad-mcp.sock" : env; + static bool started = false; + if (started) return; + started = true; + std::thread(server_thread, path).detach(); +} + +}} // namespace Slic3r::GUI + +#else // _WIN32 + +namespace Slic3r { namespace GUI { +void start_mcp_control_if_enabled() {} // ponytail: no Windows transport yet +}} + +#endif diff --git a/src/slic3r/GUI/CAD/McpControl.hpp b/src/slic3r/GUI/CAD/McpControl.hpp new file mode 100644 index 0000000000..12e3289eb5 --- /dev/null +++ b/src/slic3r/GUI/CAD/McpControl.hpp @@ -0,0 +1,24 @@ +#ifndef slic3r_GUI_McpControl_hpp_ +#define slic3r_GUI_McpControl_hpp_ + +// MCP control surface (slice 1): a local JSON-RPC 2.0 server, line-delimited over a +// Unix domain socket, that lets an external MCP bridge drive and perceive the Design +// tab. Off unless the env var ORCA_CAD_MCP is set: +// ORCA_CAD_MCP=1 -> socket at /tmp/orca-cad-mcp.sock +// ORCA_CAD_MCP=/path/to.sock -> socket at that path +// All CAD work is marshalled onto the wx main thread and runs through the SAME +// CadDocument kernel the GUI uses (no parallel engine). Slice-1 methods: +// describe_tools, describe_scene, extrude. +// +// ponytail: Unix-socket only (POSIX). Windows compiles this to a no-op; add a named +// pipe transport when a Windows agent actually needs it. + +namespace Slic3r { namespace GUI { + +// Start the server thread iff ORCA_CAD_MCP is set. Safe to call once after the +// MainFrame + DesignPanel exist. No-op when the env var is unset or on Windows. +void start_mcp_control_if_enabled(); + +}} // namespace Slic3r::GUI + +#endif // slic3r_GUI_McpControl_hpp_ diff --git a/src/slic3r/GUI/CAD/SketchInlineEditor.cpp b/src/slic3r/GUI/CAD/SketchInlineEditor.cpp new file mode 100644 index 0000000000..8dfb939576 --- /dev/null +++ b/src/slic3r/GUI/CAD/SketchInlineEditor.cpp @@ -0,0 +1,203 @@ +#include "slic3r/GUI/CAD/SketchInlineEditor.hpp" + +#include "slic3r/GUI/ImGuiWrapper.hpp" +#include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "libslic3r/Color.hpp" + +#include <imgui/imgui.h> +#include <imgui/imgui_internal.h> // BringWindowToDisplayFront / GetCurrentWindow + +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <string> + +namespace Slic3r { +namespace GUI { + +namespace { + +// Numbers are typed and shown with a POINT, whatever the locale: this field feeds a CAD kernel, +// and a decimal comma reaching it as a thousands separator is a silent order-of-magnitude error. +// Parsing accepts either separator because a keyboard's numeric pad may only offer one. +std::string fmt_value(double v, int digits = 2) +{ + char fmt[16]; + std::snprintf(fmt, sizeof(fmt), "%%.%df", digits); + char buf[64]; + std::snprintf(buf, sizeof(buf), fmt, v); + for (char* c = buf; *c; ++c) + if (*c == ',') *c = '.'; + return std::string(buf); +} + +bool parse_value(const char* text, double& out) +{ + if (text == nullptr) return false; + std::string t(text); + for (char& c : t) + if (c == ',') c = '.'; + // strtod, not std::stod: no exceptions, and `end` tells us whether the WHOLE field was a + // number. "12mm" must be refused, not silently read as 12. + const char* b = t.c_str(); + char* end = nullptr; + const double v = std::strtod(b, &end); + if (end == b) return false; + while (*end == ' ' || *end == '\t') ++end; + if (*end != '\0') return false; + out = v; + return true; +} + +// One machine-readable line per event of the click-edit contract, for the UX check that runs +// after every build (scripts/CAD/check-gui-click-edit.py). Deliberately NOT the same switch as +// ORCA_CAD_KEYTRACE: that one is a debugging firehose, this one is an assertion surface and its +// format is a contract the script parses. +// +// The pair that matters is `open` vs `commit`: the check always types a value DIFFERENT from the +// prefill, so a field that is on screen but not editable commits its prefill and the two lines +// disagree. A focus flag cannot show that — it read 0 even when typing worked — but the number +// the user actually gets can. +void ux_trace(const char* event, const std::string& title, const std::string& detail) +{ + if (!std::getenv("ORCA_CAD_UXTRACE")) return; + std::fprintf(stderr, "[UX] %s title=%s %s\n", event, title.c_str(), detail.c_str()); + std::fflush(stderr); +} + +} // namespace + +void SketchInlineEditor::open(const wxPoint& canvas_px, double value, const std::string& title, + std::function<void(double)> on_commit, + std::function<void()> on_cancel) +{ + m_anchor = canvas_px; + m_title = title; + m_err.clear(); + m_commit = std::move(on_commit); + m_cancel = std::move(on_cancel); + const std::string v = fmt_value(value); + std::snprintf(m_buf, sizeof(m_buf), "%s", v.c_str()); + m_open = true; + // ImGui takes keyboard focus for one frame on request; asking on the frame the field first + // appears is what makes typing land without a click. There is no window manager to consult. + m_focus_pending = true; + ux_trace("open", m_title, "prefill=" + v); +} + +void SketchInlineEditor::close() +{ + m_open = false; + m_focus_pending = false; + m_commit = nullptr; + m_cancel = nullptr; + m_err.clear(); +} + +void SketchInlineEditor::cancel() +{ + if (m_open) do_cancel(); +} + +void SketchInlineEditor::commit() +{ + if (m_open) do_commit(); +} + +void SketchInlineEditor::do_cancel() +{ + ux_trace("cancel", m_title, ""); + auto cb = m_cancel; + close(); + if (cb) cb(); +} + +void SketchInlineEditor::do_commit() +{ + double v = 0.0; + if (!parse_value(m_buf, v)) { + // Refusing input in silence is indistinguishable from the app having frozen: the field + // just sits there and the user has no idea what it wants. Say so in the title line and + // keep editing. + ux_trace("refused", m_title, std::string("typed=") + m_buf); + m_err = (m_buf[0] == '\0') ? _u8L("Enter a number") : _u8L("Not a number"); + m_focus_pending = true; + return; + } + ux_trace("commit", m_title, std::string("typed=") + m_buf + " value=" + fmt_value(v, 4)); + auto cb = m_commit; + close(); + // AFTER close(): the callback may open the next queued dimension (a rectangle queues Width + // then Height), and doing that into a field that still believes it is open would drop the + // second one's prefill on the floor. + if (cb) cb(v); +} + +bool SketchInlineEditor::render(ImGuiWrapper& imgui, float scale) +{ + if (!m_open) return false; + + ImGuiWrapper::push_common_window_style(scale); + imgui.set_next_window_pos((float) m_anchor.x, (float) m_anchor.y, ImGuiCond_Always, 0.5f, 0.5f); + ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 3.0f); + // NoInputs is what every other sketch overlay sets and is exactly what this one must not: + // it is the only overlay in the tab that the user types into. + imgui.begin(std::string("##sketchvalue"), + ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDecoration + | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings); + ImGui::BringWindowToDisplayFront(ImGui::GetCurrentWindow()); + + if (!m_title.empty() || !m_err.empty()) { + if (m_err.empty()) { + imgui.text(m_title); + } else { + ImGui::PushStyleColor(ImGuiCol_Text, ImGuiWrapper::to_ImVec4(ColorRGBA(0.91f, 0.42f, 0.42f, 1.0f))); + imgui.text(m_err); + ImGui::PopStyleColor(); + } + } + + if (m_focus_pending) { + ImGui::SetKeyboardFocusHere(); + m_focus_pending = false; + } + ImGui::PushItemWidth(90.0f * scale); + // EnterReturnsTrue so Enter commits from inside the widget; AutoSelectAll so the prefill is + // replaced by the first digit typed, which is what "pre-selected" meant when this was a + // wxTextCtrl and is what makes typing a value a single gesture. + const bool entered = ImGui::InputText("##sketchvalue_in", m_buf, sizeof(m_buf), + ImGuiInputTextFlags_EnterReturnsTrue + | ImGuiInputTextFlags_AutoSelectAll + | ImGuiInputTextFlags_CharsDecimal); + // MEASUREMENT, not a fix: one line per frame saying whether ImGui believes it owns the + // keyboard and whether our widget is the active one. "Typing does not arrive" has two very + // different causes — no FRAMES (this canvas repaints on demand only, so an idle canvas never + // processes ImGui's queued characters) versus frames that run while the input is not active — + // and they are indistinguishable from outside. + if (std::getenv("ORCA_CAD_UXTRACE")) { + const ImGuiIO& io = ImGui::GetIO(); + std::fprintf(stderr, "[UX] frame title=%s want_text=%d want_kb=%d active=%d buf=%s\n", + m_title.c_str(), (int) io.WantTextInput, (int) io.WantCaptureKeyboard, + (int) ImGui::IsItemActive(), m_buf); + std::fflush(stderr); + } + ImGui::PopItemWidth(); + imgui.end(); + ImGui::PopStyleVar(); + ImGuiWrapper::pop_common_window_style(); + + // Keep the frames coming while the field is up — see request_frame's note in the header. + if (m_open && request_frame) + request_frame(); + + // Act AFTER end(): do_commit can reopen the field for the next queued dimension, and that + // must not happen inside this frame's window. + if (entered) + do_commit(); + else if (ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Escape))) + do_cancel(); + return true; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/CAD/SketchInlineEditor.hpp b/src/slic3r/GUI/CAD/SketchInlineEditor.hpp new file mode 100644 index 0000000000..162d157864 --- /dev/null +++ b/src/slic3r/GUI/CAD/SketchInlineEditor.hpp @@ -0,0 +1,95 @@ +#ifndef slic3r_SketchInlineEditor_hpp_ +#define slic3r_SketchInlineEditor_hpp_ + +#include <functional> +#include <string> + +#include <wx/gdicmn.h> + +namespace Slic3r { +namespace GUI { + +class ImGuiWrapper; + +// Onshape-style in-canvas value editor. +// +// IT IS NOT A WINDOW. It used to be a borderless top-level wxFrame holding a wxTextCtrl, and +// that is the whole history of this file: a separate top-level window can only receive typing +// if the window manager grants it focus, and whether it does is not ours to decide. openbox +// grants it; mutter's focus-stealing prevention refuses it, so on a GNOME desktop the field +// appeared, showed its value selected, and silently ignored every keystroke — Enter then +// committed the number it opened with. Seven workarounds were tried against that (a real X11 +// server timestamp for gtk_window_present, re-asserted SetFocus, dropping the _UTILITY hint, +// keeping the frame mapped between two queued fields, forwarding keys from the panel's +// CHAR_HOOK), one of them caused a macOS regression, and the test harness ended up clicking the +// field before typing — which is the workaround a user cannot be asked to perform, and is +// exactly the "label value not editable" report. +// +// So the field stops asking. It is now drawn INSIDE the GL canvas as an ImGui overlay, at the +// same screen point as before, and its keys arrive through the canvas's own key events, which +// GLCanvas3D already feeds to ImGui (see GLCanvas3D::on_key / on_char -> update_key_data). The +// canvas is part of the main window and already has focus, so there is no second window, no +// second focus, and no window manager in the path. The dimension labels next to it are already +// ImGui overlays (DesignSketchTool::draw_dim_label), so this is the same vocabulary, not a new +// one. +// +// Ownership: DesignCanvas owns it; DesignSketchTool::render() calls render() once per frame. +class SketchInlineEditor +{ +public: + SketchInlineEditor() = default; + + // Open the field anchored at `canvas_px` (canvas DEVICE pixels, the coordinate space the + // sketch tool works in), pre-filled with `value` and pre-selected. on_commit(parsed) fires + // on Enter with a valid number; on_cancel() on Esc. + void open(const wxPoint& canvas_px, double value, const std::string& title, + std::function<void(double)> on_commit, + std::function<void()> on_cancel); + void close(); // drop it with neither callback + void cancel(); // if open, run the registered cancel (keep-as-drawn) + void commit(); // if open, run the registered commit (accept the typed value) + bool is_open() const { return m_open; } + + // Draw it, and let ImGui do the editing. Called from DesignSketchTool::render() inside the + // frame's ImGui pass; `scale` is the tool's m_render_scale. Returns true if it drew. + bool render(ImGuiWrapper& imgui, float scale); + + // Ask for another frame. THE FIELD DOES NOT WORK WITHOUT THIS, and the reason is a deadlock + // that only a per-frame trace shows: + // + // [UX] frame want_text=0 want_kb=0 active=0 <- frame 1: the widget is not active yet + // [UX] frame want_text=0 want_kb=0 active=1 <- frame 2: it is now + // (nothing further) <- the canvas has nothing to redraw, so it stops + // + // This canvas repaints ON DEMAND. ImGui decides whether it wants the keyboard at the END of a + // frame, from the active item, and GLCanvas3D::on_char only calls render() when + // update_key_data() says ImGui wants it. No frames -> WantTextInput never turns on -> no + // render on a keystroke -> still no frames. The characters sit in ImGui's queue and the field + // looks exactly as deaf as the window it replaced. One repaint per frame while it is open + // breaks the circle. + std::function<void()> request_frame; + + // Kept because callers ask them, but there is no longer any difference to report: with no + // window there is no state where the field is on screen but logically closed, and no state + // where it is open but somebody else holds the keyboard. + bool is_mapped() const { return m_open; } + bool has_focus() const { return m_open; } + void dismiss() { close(); } + +private: + void do_commit(); + void do_cancel(); + + std::function<void(double)> m_commit; + std::function<void()> m_cancel; + bool m_open{false}; + bool m_focus_pending{false}; // one frame of SetKeyboardFocusHere after opening + wxPoint m_anchor{0, 0}; // canvas device px + std::string m_title; + std::string m_err; // why the last value was refused, shown in the title line + char m_buf[64]{}; // the edited text; ImGui::InputText writes into it +}; + +}} // namespace Slic3r::GUI + +#endif // slic3r_SketchInlineEditor_hpp_ diff --git a/src/slic3r/GUI/CaliHistoryDialog.cpp b/src/slic3r/GUI/CaliHistoryDialog.cpp index 3ce8c1bb81..7055f441ac 100644 --- a/src/slic3r/GUI/CaliHistoryDialog.cpp +++ b/src/slic3r/GUI/CaliHistoryDialog.cpp @@ -115,7 +115,7 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector<PACalibResult>& auto main_sizer = new wxBoxSizer(wxVERTICAL); auto scroll_window = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL | wxVSCROLL); - scroll_window->SetScrollRate(5, 5); + scroll_window->SetScrollRate(5, FromDIP(20)); scroll_window->SetBackgroundColour(*wxWHITE); scroll_window->SetMinSize(HISTORY_WINDOW_SIZE); scroll_window->SetSize(HISTORY_WINDOW_SIZE); diff --git a/src/slic3r/GUI/CalibrationPanel.cpp b/src/slic3r/GUI/CalibrationPanel.cpp index bdc79c1c8e..d906a8211c 100644 --- a/src/slic3r/GUI/CalibrationPanel.cpp +++ b/src/slic3r/GUI/CalibrationPanel.cpp @@ -207,7 +207,7 @@ SelectMObjectPopup::SelectMObjectPopup(wxWindow* parent) m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, SELECT_MACHINE_LIST_SIZE, wxHSCROLL | wxVSCROLL); m_scrolledWindow->SetBackgroundColour(*wxWHITE); m_scrolledWindow->SetMinSize(SELECT_MACHINE_LIST_SIZE); - m_scrolledWindow->SetScrollRate(0, 5); + m_scrolledWindow->SetScrollRate(0, SELECT_MACHINE_ITEM_SIZE.y); auto m_sizxer_scrolledWindow = new wxBoxSizer(wxVERTICAL); m_scrolledWindow->SetSizer(m_sizxer_scrolledWindow); m_scrolledWindow->Layout(); @@ -491,14 +491,15 @@ void CalibrationPanel::init_tabpanel() { selected); } + for (int i = 0; i < (int)CALI_MODE_COUNT; i++) + add_build_steps_of(*m_cali_panels[i]); + // ORCA use standard paddings and keep arrow icon for consistent look between sidebars //for (int i = 0; i < (int)CALI_MODE_COUNT; i++) // m_tabpanel->SetPageImage(i, ""); //auto padding_size = m_tabpanel->GetBtnsListCtrl()->GetPaddingSize(0); //m_tabpanel->GetBtnsListCtrl()->SetPaddingSize({ FromDIP(15), padding_size.y }); - - m_initialized = true; } void CalibrationPanel::init_timer() @@ -534,6 +535,8 @@ void CalibrationPanel::update_print_error_info(int code, std::string msg, std::s } void CalibrationPanel::update_all() { + // Every wizard's pages exist once the last build step has run. + if (!built()) return; NetworkAgent* m_agent = wxGetApp().getAgent(); Slic3r::DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); @@ -597,7 +600,7 @@ void CalibrationPanel::update_all() { void CalibrationPanel::show_status(int status) { - if (!m_initialized) return; + if (!built()) return; if (last_status == status)return; last_status = status; diff --git a/src/slic3r/GUI/CalibrationPanel.hpp b/src/slic3r/GUI/CalibrationPanel.hpp index eafb380c79..960c5eed37 100644 --- a/src/slic3r/GUI/CalibrationPanel.hpp +++ b/src/slic3r/GUI/CalibrationPanel.hpp @@ -3,6 +3,7 @@ #include "CalibrationWizard.hpp" #include "Tabbook.hpp" +#include "Lazy.hpp" //#include "Widgets/SideTools.hpp" namespace Slic3r { namespace GUI { @@ -70,11 +71,7 @@ public: private: int m_my_devices_count{ 0 }; - int m_other_devices_count{ 0 }; bool m_dismiss{ false }; - wxWindow* m_placeholder_panel { nullptr }; - wxWindow* m_panel_body{ nullptr }; - wxBoxSizer* m_sizer_body{ nullptr }; wxBoxSizer* m_sizer_my_devices{ nullptr }; wxScrolledWindow* m_scrolledWindow{ nullptr }; wxTimer* m_refresh_timer{ nullptr }; @@ -92,7 +89,7 @@ private: }; -class CalibrationPanel : public wxPanel +class CalibrationPanel : public wxPanel, public StagedBuild, public LazyInstance<CalibrationPanel> { public: CalibrationPanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL); @@ -113,7 +110,6 @@ protected: int last_status; - bool m_initialized { false }; std::string last_conn_type = "undedefined"; MachineObject* obj{ nullptr }; MachineObject* last_obj { nullptr }; diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index 7496d59a51..4d6e694380 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -1,6 +1,7 @@ #include "CalibrationWizard.hpp" #include "I18N.hpp" #include "GUI_App.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "MsgDialog.hpp" #include "CalibrationWizardPage.hpp" #include "../../libslic3r/calib.hpp" @@ -80,7 +81,7 @@ CalibrationWizard::CalibrationWizard(wxWindow* parent, CalibMode mode, wxWindowI wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL); m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL | wxVSCROLL); - m_scrolledWindow->SetScrollRate(5, 5); + m_scrolledWindow->SetScrollRate(5, FromDIP(20)); m_scrolledWindow->SetBackgroundColour(*wxWHITE); wxBoxSizer* padding_sizer = new wxBoxSizer(wxHORIZONTAL); @@ -129,6 +130,15 @@ CalibrationWizard::~CalibrationWizard() ; } +void CalibrationWizard::add_page_step(CalibrationWizardPageStep*& step, std::function<CalibrationWizardPage*()> make) +{ + add_build_step([this, &step, make = std::move(make)] { + step = new CalibrationWizardPageStep(make()); + m_all_pages_sizer->Add(step->page, 1, wxEXPAND | wxALL, FromDIP(25)); + step->page->Hide(); + }); +} + void CalibrationWizard::on_cali_job_finished(wxCommandEvent& event) { this->on_cali_job_finished(event.GetString()); @@ -519,33 +529,28 @@ void PressureAdvanceWizard::on_cali_job_finished(wxString evt_data) void PressureAdvanceWizard::create_pages() { - start_step = new CalibrationWizardPageStep(new CalibrationPAStartPage(m_scrolledWindow)); - preset_step = new CalibrationWizardPageStep(new CalibrationPresetPage(m_scrolledWindow, m_mode, false)); - cali_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode)); - save_step = new CalibrationWizardPageStep(new CalibrationPASavePage(m_scrolledWindow)); + add_page_step(start_step, [this] { return new CalibrationPAStartPage(m_scrolledWindow); }); + add_page_step(preset_step, [this] { return new CalibrationPresetPage(m_scrolledWindow, m_mode, false); }); + add_page_step(cali_step, [this] { return new CalibrationCaliPage(m_scrolledWindow, m_mode); }); + add_page_step(save_step, [this] { return new CalibrationPASavePage(m_scrolledWindow); }); - m_all_pages_sizer->Add(start_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(preset_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(cali_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(save_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); + add_build_step([this] { + m_page_steps.push_back(start_step); + m_page_steps.push_back(preset_step); + m_page_steps.push_back(cali_step); + m_page_steps.push_back(save_step); + for (int i = 0; i < m_page_steps.size() -1; i++) { + m_page_steps[i]->chain(m_page_steps[i+1]); + } - m_page_steps.push_back(start_step); - m_page_steps.push_back(preset_step); - m_page_steps.push_back(cali_step); - m_page_steps.push_back(save_step); + for (int i = 0; i < m_page_steps.size(); i++) { + m_page_steps[i]->page->Bind(EVT_CALI_ACTION, &PressureAdvanceWizard::on_cali_action, this); + } - for (int i = 0; i < m_page_steps.size() -1; i++) { - m_page_steps[i]->chain(m_page_steps[i+1]); - } - - for (int i = 0; i < m_page_steps.size(); i++) { - m_page_steps[i]->page->Hide(); - m_page_steps[i]->page->Bind(EVT_CALI_ACTION, &PressureAdvanceWizard::on_cali_action, this); - } - - if (!m_page_steps.empty()) - show_step(m_page_steps.front()); + if (!m_page_steps.empty()) + show_step(m_page_steps.front()); + }); } void PressureAdvanceWizard::on_cali_action(wxCommandEvent& evt) @@ -1052,59 +1057,46 @@ FlowRateWizard::FlowRateWizard(wxWindow* parent, wxWindowID id, const wxPoint& p void FlowRateWizard::create_pages() { - start_step = new CalibrationWizardPageStep(new CalibrationFlowRateStartPage(m_scrolledWindow)); - preset_step = new CalibrationWizardPageStep(new CalibrationPresetPage(m_scrolledWindow, m_mode, false)); + add_page_step(start_step, [this] { return new CalibrationFlowRateStartPage(m_scrolledWindow); }); + add_page_step(preset_step, [this] { return new CalibrationPresetPage(m_scrolledWindow, m_mode, false); }); // manual - cali_coarse_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode, CaliPageType::CALI_PAGE_CALI)); - coarse_save_step = new CalibrationWizardPageStep(new CalibrationFlowCoarseSavePage(m_scrolledWindow)); - cali_fine_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode, CaliPageType::CALI_PAGE_FINE_CALI)); - fine_save_step = new CalibrationWizardPageStep(new CalibrationFlowFineSavePage(m_scrolledWindow)); + add_page_step(cali_coarse_step, [this] { return new CalibrationCaliPage(m_scrolledWindow, m_mode, CaliPageType::CALI_PAGE_CALI); }); + add_page_step(coarse_save_step, [this] { return new CalibrationFlowCoarseSavePage(m_scrolledWindow); }); + add_page_step(cali_fine_step, [this] { return new CalibrationCaliPage(m_scrolledWindow, m_mode, CaliPageType::CALI_PAGE_FINE_CALI); }); + add_page_step(fine_save_step, [this] { return new CalibrationFlowFineSavePage(m_scrolledWindow); }); // auto - cali_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode)); - save_step = new CalibrationWizardPageStep(new CalibrationFlowX1SavePage(m_scrolledWindow)); + add_page_step(cali_step, [this] { return new CalibrationCaliPage(m_scrolledWindow, m_mode); }); + add_page_step(save_step, [this] { return new CalibrationFlowX1SavePage(m_scrolledWindow); }); - m_all_pages_sizer->Add(start_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(preset_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(cali_coarse_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(coarse_save_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(cali_fine_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(fine_save_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); + add_build_step([this] { + m_page_steps.push_back(start_step); + m_page_steps.push_back(preset_step); + m_page_steps.push_back(cali_coarse_step); + m_page_steps.push_back(coarse_save_step); + m_page_steps.push_back(cali_fine_step); + m_page_steps.push_back(fine_save_step); - m_all_pages_sizer->Add(cali_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); - m_all_pages_sizer->Add(save_step->page, 1, wxEXPAND | wxALL, FromDIP(25)); + //m_page_steps.push_back(cali_step); + //m_page_steps.push_back(save_step); - m_page_steps.push_back(start_step); - m_page_steps.push_back(preset_step); - m_page_steps.push_back(cali_coarse_step); - m_page_steps.push_back(coarse_save_step); - m_page_steps.push_back(cali_fine_step); - m_page_steps.push_back(fine_save_step); + for (int i = 0; i < m_page_steps.size() - 1; i++) { + m_page_steps[i]->chain(m_page_steps[i + 1]); + } - //m_page_steps.push_back(cali_step); - //m_page_steps.push_back(save_step); + for (int i = 0; i < m_page_steps.size(); i++) { + m_page_steps[i]->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); + } - for (int i = 0; i < m_page_steps.size() - 1; i++) { - m_page_steps[i]->chain(m_page_steps[i + 1]); - } + cali_step->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); + save_step->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); - // hide all pages - cali_step->page->Hide(); - save_step->page->Hide(); - for (int i = 0; i < m_page_steps.size(); i++) { - m_page_steps[i]->page->Hide(); - m_page_steps[i]->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); - } + if (!m_page_steps.empty()) + show_step(m_page_steps.front()); - - cali_step->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); - save_step->page->Bind(EVT_CALI_ACTION, &FlowRateWizard::on_cali_action, this); - - if (!m_page_steps.empty()) - show_step(m_page_steps.front()); - - set_cali_method(CalibrationMethod::CALI_METHOD_MANUAL); + set_cali_method(CalibrationMethod::CALI_METHOD_MANUAL); + }); } void FlowRateWizard::on_cali_action(wxCommandEvent& evt) diff --git a/src/slic3r/GUI/CalibrationWizard.hpp b/src/slic3r/GUI/CalibrationWizard.hpp index d72d5fcb7b..89c515eb80 100644 --- a/src/slic3r/GUI/CalibrationWizard.hpp +++ b/src/slic3r/GUI/CalibrationWizard.hpp @@ -9,6 +9,7 @@ #include "CalibrationWizardPresetPage.hpp" #include "CalibrationWizardCaliPage.hpp" #include "CalibrationWizardSavePage.hpp" +#include "StagedBuild.hpp" namespace Slic3r { namespace GUI { @@ -36,7 +37,7 @@ struct ConfigIndexValue int index{0}; }; -class CalibrationWizard : public wxPanel { +class CalibrationWizard : public wxPanel, public StagedBuild { public: CalibrationWizard(wxWindow* parent, CalibMode mode, wxWindowID id = wxID_ANY, @@ -79,6 +80,9 @@ public: protected: void on_cali_go_home(); + // Queues a page as a build step, created hidden and added to the pages sizer. + void add_page_step(CalibrationWizardPageStep*& step, std::function<CalibrationWizardPage*()> make); + protected: /* wx widgets*/ wxScrolledWindow* m_scrolledWindow; diff --git a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp index 152f46f37c..2dc766dca3 100644 --- a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp @@ -192,8 +192,10 @@ void CalibrationCaliPage::update(MachineObject* obj) set_cali_img(); } + // A calibration can run before the Device tab is ever opened, and only its status + // panel shows a print error. if (obj->print_error > 0) { - StatusPanel* status_panel = Slic3r::GUI::wxGetApp().mainframe->m_monitor->get_status_panel(); + StatusPanel* status_panel = MonitorPanel::ensure()->get_status_panel(); status_panel->obj = obj; status_panel->update_error_message(); } diff --git a/src/slic3r/GUI/CalibrationWizardPage.cpp b/src/slic3r/GUI/CalibrationWizardPage.cpp index c117ec8857..ff02feab68 100644 --- a/src/slic3r/GUI/CalibrationWizardPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardPage.cpp @@ -834,7 +834,7 @@ void CaliPageSendingPanel::create(wxWindow* parent) m_sw_print_failed_info = new wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(380), FromDIP(125)), wxVSCROLL); m_sw_print_failed_info->SetBackgroundColour(*wxWHITE); - m_sw_print_failed_info->SetScrollRate(0, 5); + m_sw_print_failed_info->SetScrollRate(0, FromDIP(20)); m_sw_print_failed_info->SetMinSize(wxSize(FromDIP(380), FromDIP(125))); m_sw_print_failed_info->SetMaxSize(wxSize(FromDIP(380), FromDIP(125))); diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp index 5267715439..7a83d39dd3 100644 --- a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp @@ -1,5 +1,7 @@ #include <regex> #include "CalibrationWizardPresetPage.hpp" +#include "GUI.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "I18N.hpp" #include "Widgets/Label.hpp" #include "MsgDialog.hpp" @@ -360,7 +362,7 @@ void CaliPresetCustomRangePanel::create_panel(wxWindow* parent) int max_decimal_length; if (i <= 1) max_decimal_length = 3; - else if (i >= 2) + else max_decimal_length = 4; if (decimal_number > max_decimal_length) { int allowed_length = number.length() - decimal_number + max_decimal_length; diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.cpp b/src/slic3r/GUI/CalibrationWizardSavePage.cpp index f7699cfab0..427f022d1c 100644 --- a/src/slic3r/GUI/CalibrationWizardSavePage.cpp +++ b/src/slic3r/GUI/CalibrationWizardSavePage.cpp @@ -1,4 +1,5 @@ #include "CalibrationWizardSavePage.hpp" +#include "GUI.hpp" #include "I18N.hpp" #include "Widgets/Label.hpp" #include "MsgDialog.hpp" diff --git a/src/slic3r/GUI/CameraPopup.cpp b/src/slic3r/GUI/CameraPopup.cpp index cc7e00eec6..c4e3c5486c 100644 --- a/src/slic3r/GUI/CameraPopup.cpp +++ b/src/slic3r/GUI/CameraPopup.cpp @@ -82,7 +82,7 @@ CameraPopup::CameraPopup(wxWindow *parent) top_sizer->Add(m_text_liveview_retry, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, FromDIP(5)); top_sizer->Add(m_switch_liveview_retry, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxALL, FromDIP(5)); - m_switch_liveview_retry->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent &e) { + m_switch_liveview_retry->Bind(wxEVT_TOGGLEBUTTON, [](wxCommandEvent &e) { wxGetApp().app_config->set("liveview", "auto_retry", e.IsChecked()); e.Skip(); }); diff --git a/src/slic3r/GUI/CameraPopup.hpp b/src/slic3r/GUI/CameraPopup.hpp index dbdb81a9cb..f45ebb6e42 100644 --- a/src/slic3r/GUI/CameraPopup.hpp +++ b/src/slic3r/GUI/CameraPopup.hpp @@ -72,8 +72,10 @@ private: SwitchButton* m_switch_recording; wxStaticText* m_text_vcamera; SwitchButton* m_switch_vcamera; +#if !BBL_RELEASE_TO_PUBLIC wxStaticText* m_text_liveview_retry; SwitchButton* m_switch_liveview_retry; +#endif //BBL_RELEASE_TO_PUBLIC wxStaticText* m_custom_camera_hint; TextInput* m_custom_camera_input; Button* m_custom_camera_input_confirm; diff --git a/src/slic3r/GUI/CapsuleButton.cpp b/src/slic3r/GUI/CapsuleButton.cpp index 8afe39889e..8d71f9911e 100644 --- a/src/slic3r/GUI/CapsuleButton.cpp +++ b/src/slic3r/GUI/CapsuleButton.cpp @@ -1,5 +1,6 @@ #include "GUI_App.hpp" #include "CapsuleButton.hpp" +#include "Widgets/StateColor.hpp" #include <wx/dcbuffer.h> #include "wx/graphics.h" #include "Widgets/Label.hpp" diff --git a/src/slic3r/GUI/ColorDecomposeSupport.cpp b/src/slic3r/GUI/ColorDecomposeSupport.cpp index 6621b97059..cfd0d02532 100644 --- a/src/slic3r/GUI/ColorDecomposeSupport.cpp +++ b/src/slic3r/GUI/ColorDecomposeSupport.cpp @@ -1,4 +1,5 @@ #include "ColorDecomposeSupport.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "MixedFilamentDialog.hpp" #include "GUI_App.hpp" #include "MsgDialog.hpp" @@ -394,8 +395,9 @@ bool confirm_create_decompose_missing_components(wxWindow* parent, const std::ve missing_text += missing[i].display_name; } - wxString message = _L("The current filament list does not contain ") + missing_text + - _L(". A project filament required by the mixed filament will be created automatically after decomposition."); + wxString message = wxString::Format(_L("The current filament list does not contain %s. A project filament required by " + "the mixed filament will be created automatically after decomposition."), + missing_text); MessageDialog dlg(parent, message, _L("Tip"), wxOK | wxCANCEL | wxICON_INFORMATION); dlg.show_dsa_button(); diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 8eab1c785c..5a58ec7b6c 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -2,6 +2,7 @@ #include "ConfigManipulation.hpp" #include "I18N.hpp" #include "GUI_App.hpp" +#include "DeviceCore/DevConfigUtil.h" #include "format.hpp" #include "libslic3r/Config.hpp" #include "libslic3r/Model.hpp" @@ -1040,10 +1041,14 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in for (auto el : {"wipe_tower_rotation_angle", "wipe_tower_cone_angle", "wipe_tower_extra_spacing", "wipe_tower_max_purge_speed", - "wipe_tower_bridging", "wipe_tower_extra_flow", - "wipe_tower_no_sparse_layers"}) + "wipe_tower_bridging", "wipe_tower_extra_flow"}) toggle_line(el, have_prime_tower && supports_wipe_tower_2); + // Orca: both tower generators skip sparse layers, so this is not a wipe tower 2 exclusive. + toggle_line("wipe_tower_no_sparse_layers", have_prime_tower); + // Dropping the sparse layers outright leaves nothing to combine, so the two are exclusive. + toggle_line("wipe_tower_sparse_layers_combination", have_prime_tower && !config->opt_bool("wipe_tower_no_sparse_layers")); + WipeTowerWallType wipe_tower_wall_type = config->opt_enum<WipeTowerWallType>("wipe_tower_wall_type"); bool have_rib_wall = (wipe_tower_wall_type == WipeTowerWallType::wtwRib)&&have_prime_tower; toggle_line("wipe_tower_cone_angle", have_prime_tower && supports_wipe_tower_2 && wipe_tower_wall_type == WipeTowerWallType::wtwCone); @@ -1054,6 +1059,10 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in toggle_line("single_extruder_multi_material_priming", !bSEMM && have_prime_tower && supports_wipe_tower_2); + bool use_cyclic_ordering = config->opt_enum<ToolChangeOrderingType>("toolchange_ordering") == ToolChangeOrderingType::Cyclic; + toggle_line("toolchange_cyclic_order", use_cyclic_ordering); + toggle_line("toolchange_cyclic_first_layer", use_cyclic_ordering); + toggle_line("prime_volume",have_prime_tower && (!purge_in_primetower || !bSEMM)); for (auto el : {"flush_into_infill", "flush_into_support", "flush_into_objects"}) @@ -1103,6 +1112,9 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in auto is_role_based_wipe_speed = config->opt_bool("role_based_wipe_speed"); toggle_field("wipe_speed",!is_role_based_wipe_speed); + const bool have_wipe_inward = config->opt_bool("wipe_inward"); + toggle_line("wipe_inward_distance", have_wipe_inward); + for (auto el : {"accel_to_decel_enable", "accel_to_decel_factor"}) toggle_line(el, gcf_is_klipper); if(gcf_is_klipper) @@ -1124,6 +1136,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in bool has_detect_overhang_wall = config->opt_bool("detect_overhang_wall"); bool has_overhang_reverse = config->opt_bool("overhang_reverse"); bool allow_overhang_reverse = !has_spiral_vase; + toggle_line("unsupported_wall_last", has_detect_overhang_wall); toggle_line("overhang_reverse", allow_overhang_reverse); toggle_line("overhang_reverse_internal_only", allow_overhang_reverse && has_overhang_reverse); bool has_overhang_reverse_internal_only = config->opt_bool("overhang_reverse_internal_only"); diff --git a/src/slic3r/GUI/ConfigValueFormatter.cpp b/src/slic3r/GUI/ConfigValueFormatter.cpp new file mode 100644 index 0000000000..17cf902217 --- /dev/null +++ b/src/slic3r/GUI/ConfigValueFormatter.cpp @@ -0,0 +1,256 @@ +#include "ConfigValueFormatter.hpp" + +#include <algorithm> +#include <cstdlib> +#include <string> +#include <vector> + +#include <boost/algorithm/string.hpp> +#include <boost/format.hpp> + +#include "libslic3r/Config.hpp" +#include "libslic3r/PrintConfig.hpp" + +#include "I18N.hpp" +#include "GUI.hpp" +#include "Field.hpp" + +namespace Slic3r { +namespace GUI { + +std::string get_pure_opt_key(const std::string& opt_key) +{ + std::string pure_key = opt_key; + const int pos = pure_key.find("#"); + if (pos > 0) + boost::erase_tail(pure_key, pure_key.size() - pos); + return pure_key; +} + +wxString get_string_from_enum(const std::string& opt_key, const DynamicPrintConfig& config, bool is_infill, int idx) +{ + const ConfigOptionDef& def = config.def()->options.at(opt_key); + const std::vector<std::string>& names = def.enum_labels;//ConfigOptionEnum<T>::get_enum_names(); + int val = 0; + + if (idx >= 0) + val = dynamic_cast<const ConfigOptionInts*>(config.option(opt_key))->get_at(idx); + else + val = config.option(opt_key)->getInt(); + + // Each infill doesn't use all list of infill declared in PrintConfig.hpp. + // So we should "convert" val to the correct one + if (is_infill) { + for (auto key_val : *def.enum_keys_map) + if (int(key_val.second) == val) { + auto it = std::find(def.enum_values.begin(), def.enum_values.end(), key_val.first); + if (it == def.enum_values.end()) + return ""; + return from_u8(_utf8(names[it - def.enum_values.begin()])); + } + return _L("Undefined"); + } + return from_u8(_utf8(names[val])); +} + +wxString get_full_label(const std::string& opt_key, const DynamicPrintConfig& config) +{ + const std::string pure_key = get_pure_opt_key(opt_key); + auto option = config.option(pure_key); + + if (!option || option->is_nil()) + return _L("N/A"); + + const ConfigOptionDef* opt = config.def()->get(pure_key); + return opt->full_label.empty() ? opt->label : opt->full_label; +} + +wxString get_string_value(const std::string& opt_key, const DynamicPrintConfig& config) +{ + int orig_opt_idx = -1; + int opt_idx = -1; + int pos = opt_key.find("#"); + std::string temp_str = opt_key; + if (pos > 0) { + boost::erase_head(temp_str, pos + 1); + orig_opt_idx = std::atoi(temp_str.c_str()); + } + opt_idx = orig_opt_idx >= 0 ? orig_opt_idx : 0; + const std::string pure_key = get_pure_opt_key(opt_key); + auto option = config.option(pure_key); + if (!option) { + return _L("N/A"); + } + auto opt_vector = dynamic_cast<const ConfigOptionVectorBase *>(option); + + if ((option->is_scalar() && option->is_nil()) || + (option->is_vector() && opt_vector && opt_idx >= 0 && opt_idx < opt_vector->size() && opt_vector->is_nil(opt_idx))) + return _L("N/A"); + + wxString out; + + const ConfigOptionDef* opt = config.def()->get(pure_key); + bool is_nullable = opt->nullable; + + switch (opt->type) { + case coInt: + return from_u8((boost::format("%1%") % config.opt_int(pure_key)).str()); + case coInts: { + if (is_nullable) { + auto values = config.opt<ConfigOptionIntsNullable>(pure_key); + if (opt_idx < values->size()) + return from_u8((boost::format("%1%") % values->get_at(opt_idx)).str()); + } + else { + auto values = config.opt<ConfigOptionInts>(pure_key); + if (orig_opt_idx >= 0 && orig_opt_idx < values->size()) { + return from_u8((boost::format("%1%") % values->get_at(opt_idx)).str()); + } + else { + std::string value_str; + for (int i = 0; i < values->size(); i++) { + value_str += std::to_string(values->get_at(i)); + if (i != values->size() - 1) { + value_str += ","; + } + } + return from_u8(value_str); + } + } + return _L("Undefined"); + } + case coBool: + return config.opt_bool(pure_key) ? "true" : "false"; + case coBools: { + if (is_nullable) { + auto values = config.opt<ConfigOptionBoolsNullable>(pure_key); + if (opt_idx < values->size()) + return values->get_at(opt_idx) ? "true" : "false"; + } + else { + auto values = config.opt<ConfigOptionBools>(pure_key); + if (opt_idx < values->size()) + return values->get_at(opt_idx) ? "true" : "false"; + } + return _L("Undefined"); + } + case coPercent: + return from_u8((boost::format("%1%%%") % int(config.optptr(pure_key)->getFloat())).str()); + case coPercents: { + if (is_nullable) { + auto values = config.opt<ConfigOptionPercentsNullable>(pure_key); + if (opt_idx < values->size()) + return from_u8((boost::format("%1%%%") % values->get_at(opt_idx)).str()); + } + else { + auto values = config.opt<ConfigOptionPercents>(pure_key); + if (opt_idx < values->size()) + return from_u8((boost::format("%1%%%") % values->get_at(opt_idx)).str()); + } + return _L("Undefined"); + } + case coFloat: + return double_to_string(config.opt_float(pure_key)); + case coFloats: { + if (is_nullable) { + auto values = config.opt<ConfigOptionFloatsNullable>(pure_key); + if (opt_idx < values->size()) + return double_to_string(values->get_at(opt_idx)); + } + else { + auto values = config.opt<ConfigOptionFloats>(pure_key); + if (values && opt_idx < values->size()) + return double_to_string(values->get_at(opt_idx)); + } + return _L("Undefined"); + } + case coString: + return from_u8(config.opt_string(pure_key)); + case coStrings: { + const ConfigOptionStrings* strings = config.opt<ConfigOptionStrings>(pure_key); + if (strings) { + if (pure_key == "compatible_printers" || pure_key == "compatible_prints") { + if (strings->empty()) + return _L("All"); + for (size_t id = 0; id < strings->size(); id++) + out += from_u8(strings->get_at(id)) + "\n"; + out.RemoveLast(1); + return out; + } + if (!strings->empty() && opt_idx < strings->values.size()) + return from_u8(strings->get_at(opt_idx)); + } + break; + } + case coFloatOrPercent: { + const ConfigOptionFloatOrPercent* opt = config.opt<ConfigOptionFloatOrPercent>(pure_key); + if (opt) + out = double_to_string(opt->value) + (opt->percent ? "%" : ""); + return out; + } + case coFloatsOrPercents: { + const auto* values = static_cast<const ConfigOptionVector<FloatOrPercent>*>(option); + // Orca: Preset comparison may request the entire vector instead of an indexed entry. + if (orig_opt_idx < 0) + return from_u8(option->serialize()); + if (opt_idx < values->size()) { + const FloatOrPercent& value = values->get_at(opt_idx); + return double_to_string(value.value) + (value.percent ? "%" : ""); + } + return _L("Undefined"); + } + case coEnum: { + return get_string_from_enum(pure_key, config, + pure_key == "top_surface_pattern" || + pure_key == "bottom_surface_pattern" || + pure_key == "internal_solid_infill_pattern" || + pure_key == "sparse_infill_pattern" || + pure_key == "ironing_pattern" || + pure_key == "support_ironing_pattern" || + pure_key == "support_pattern" || + pure_key == "support_interface_pattern") + ; + } + case coEnums: { + return get_string_from_enum(pure_key, config, + pure_key == "top_surface_pattern" || + pure_key == "bottom_surface_pattern" || + pure_key == "internal_solid_infill_pattern" || + pure_key == "sparse_infill_pattern" || + pure_key == "ironing_pattern" || + pure_key == "support_ironing_pattern" || + pure_key == "support_pattern" || + pure_key == "support_interface_pattern" + , opt_idx); + } + case coPoint: { + Vec2d val = config.opt<ConfigOptionPoint>(pure_key)->value; + return from_u8((boost::format("[%1%]") % ConfigOptionPoint(val).serialize()).str()); + } + case coPoints: { + //BBS: add bed_exclude_area + if (pure_key == "printable_area" || pure_key == "thumbnails") { + ConfigOptionPoints points = *config.option<ConfigOptionPoints>(pure_key); + //BuildVolume build_volume = {points.values, 0.}; + return get_thumbnails_string(points.values); + } + else if (pure_key == "bed_exclude_area") { + return get_thumbnails_string(config.option<ConfigOptionPoints>(pure_key)->values); + } + else if (pure_key == "head_wrap_detect_zone") { + return get_thumbnails_string(config.option<ConfigOptionPoints>(pure_key)->values); + } + else if (pure_key == "wrapping_exclude_area") { + return get_thumbnails_string(config.option<ConfigOptionPoints>(pure_key)->values); + } + Vec2d val = config.opt<ConfigOptionPoints>(pure_key)->get_at(opt_idx); + return from_u8((boost::format("[%1%]") % ConfigOptionPoint(val).serialize()).str()); + } + default: + break; + } + return out; +} + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/ConfigValueFormatter.hpp b/src/slic3r/GUI/ConfigValueFormatter.hpp new file mode 100644 index 0000000000..67b16f9326 --- /dev/null +++ b/src/slic3r/GUI/ConfigValueFormatter.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include <string> + +#include <wx/string.h> + +namespace Slic3r { + +class DynamicPrintConfig; + +namespace GUI { + +// Human-readable value of opt_key (may carry a "#<index>" suffix) in config. +wxString get_string_value(const std::string& opt_key, const DynamicPrintConfig& config); + +// Full label of opt_key; "N/A" when the option is not set. +wxString get_full_label(const std::string& opt_key, const DynamicPrintConfig& config); + +// Strip the "#<index>" suffix (if any) from the option key. +std::string get_pure_opt_key(const std::string& opt_key); + +// Localized label of the currently selected value of an enum option. +wxString get_string_from_enum(const std::string& opt_key, const DynamicPrintConfig& config, bool is_infill = false, int idx = -1); + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 412df19091..7aaa0e7865 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -2710,7 +2710,7 @@ ConfigWizard::ConfigWizard(wxWindow *parent) SetSizerAndFit(vsizer); // We can now enable scrolling on hscroll - p->hscroll->SetScrollRate(30, 30); + p->hscroll->SetScrollRate(30, FromDIP(20)); on_window_geometry(this, [this]() { p->init_dialog_size(); diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index e6fb6e0782..16b9a5765d 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -699,7 +699,7 @@ CreateFilamentPresetDialog::CreateFilamentPresetDialog(wxWindow *parent) m_scrolled_preset_panel = new wxScrolledWindow(this, wxID_ANY); m_scrolled_preset_panel->SetMaxSize(wxSize(-1, FromDIP(350))); m_scrolled_preset_panel->SetBackgroundColour(*wxWHITE); - m_scrolled_preset_panel->SetScrollRate(5, 5); + m_scrolled_preset_panel->SetScrollRate(5, FromDIP(20)); m_scrolled_sizer = new wxBoxSizer(wxVERTICAL); m_scrolled_sizer->Add(create_item(FilamentOptionType::PRESET_FOR_PRINTER), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5)); m_scrolled_sizer->Add(0, 0, 0, wxTOP, FromDIP(5)); @@ -1593,7 +1593,7 @@ CreatePrinterPresetDialog::CreatePrinterPresetDialog(wxWindow *parent) m_page1 = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize); m_page1->SetBackgroundColour(*wxWHITE); - m_page1->SetScrollRate(5, 5); + m_page1->SetScrollRate(5, FromDIP(20)); m_page2 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize); m_page2->SetBackgroundColour(*wxWHITE); create_printer_page1(m_page1); @@ -2652,7 +2652,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_presets_template_item(wxWindow *pa wxBoxSizer *vertical_sizer = new wxBoxSizer(wxVERTICAL); m_scrolled_preset_window = new wxScrolledWindow(parent); - m_scrolled_preset_window->SetScrollRate(5, 5); + m_scrolled_preset_window->SetScrollRate(5, FromDIP(20)); m_scrolled_preset_window->SetBackgroundColour(*wxWHITE); //m_scrolled_preset_window->SetMinSize(wxSize(FromDIP(1500), FromDIP(-1))); m_scrolled_preset_window->SetMaxSize(wxSize(FromDIP(1500), FromDIP(-1))); @@ -4297,7 +4297,7 @@ wxBoxSizer *ExportConfigsDialog::create_select_printer(wxWindow *parent) optionSizer->SetMinSize(OPTION_SIZE); horizontal_sizer->Add(optionSizer, 0, wxEXPAND | wxALL, FromDIP(10)); m_scrolled_preset_window = new wxScrolledWindow(parent); - m_scrolled_preset_window->SetScrollRate(5, 5); + m_scrolled_preset_window->SetScrollRate(5, FromDIP(20)); m_scrolled_preset_window->SetBackgroundColour(*wxWHITE); m_scrolled_preset_window->SetMaxSize(wxSize(FromDIP(660), FromDIP(400))); m_scrolled_preset_window->SetSize(wxSize(FromDIP(660), FromDIP(400))); @@ -4736,7 +4736,7 @@ wxBoxSizer *EditFilamentPresetDialog::create_preset_tree_sizer() { wxBoxSizer *filament_preset_tree_sizer = new wxBoxSizer(wxHORIZONTAL); m_preset_tree_window = new wxScrolledWindow(this); - m_preset_tree_window->SetScrollRate(5, 5); + m_preset_tree_window->SetScrollRate(5, FromDIP(20)); m_preset_tree_window->SetBackgroundColour(PRINTER_LIST_COLOUR); m_preset_tree_window->SetMinSize(wxSize(-1, FromDIP(400))); m_preset_tree_window->SetMaxSize(wxSize(-1, FromDIP(300))); diff --git a/src/slic3r/GUI/CreatePresetsDialog.hpp b/src/slic3r/GUI/CreatePresetsDialog.hpp index 701779b1bf..07811aa144 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.hpp +++ b/src/slic3r/GUI/CreatePresetsDialog.hpp @@ -74,7 +74,6 @@ private: std::unordered_set<std::string> m_system_filament_types_set; std::set<std::string> m_visible_printers; CreateType m_create_type; - Button * m_button_cancel = nullptr; ComboBox * m_filament_vendor_combobox = nullptr; ::CheckBox * m_can_not_find_vendor_checkbox = nullptr; ComboBox * m_filament_type_combobox = nullptr; diff --git a/src/slic3r/GUI/DailyTips.cpp b/src/slic3r/GUI/DailyTips.cpp index f585425130..894c0316bb 100644 --- a/src/slic3r/GUI/DailyTips.cpp +++ b/src/slic3r/GUI/DailyTips.cpp @@ -1,4 +1,5 @@ #include "DailyTips.hpp" +#include "slic3r/GUI/Widgets/Label.hpp" #ifndef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS @@ -245,7 +246,6 @@ DailyTipsPanel::DailyTipsPanel(bool can_expand, DailyTipsLayout layout) m_width(0), m_height(0), m_can_expand(can_expand), - m_layout(layout), m_uid(DailyTipsPanel::uid++), m_dailytips_renderer(std::make_unique<DailyTipsDataRenderer>(layout)) { diff --git a/src/slic3r/GUI/DailyTips.hpp b/src/slic3r/GUI/DailyTips.hpp index 508a8ad7e9..537fed4952 100644 --- a/src/slic3r/GUI/DailyTips.hpp +++ b/src/slic3r/GUI/DailyTips.hpp @@ -51,7 +51,6 @@ private: int m_uid; bool m_first_enter{ false }; bool m_is_dark{ false }; - DailyTipsLayout m_layout{ DailyTipsLayout::Vertical }; float m_fade_opacity{ 1.0f }; }; diff --git a/src/slic3r/GUI/DeviceCore/DevCalib.cpp b/src/slic3r/GUI/DeviceCore/DevCalib.cpp index cf7ee1d90e..ddf71e0c62 100644 --- a/src/slic3r/GUI/DeviceCore/DevCalib.cpp +++ b/src/slic3r/GUI/DeviceCore/DevCalib.cpp @@ -1,5 +1,7 @@ #include <boost/log/trivial.hpp> #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/GUI/DeviceManager.hpp" #include "slic3r/GUI/UserNotification.hpp" #include "libslic3r/PrintConfig.hpp" diff --git a/src/slic3r/GUI/DeviceCore/DevConfig.h b/src/slic3r/GUI/DeviceCore/DevConfig.h index 449b5a7253..b0cdcb936e 100644 --- a/src/slic3r/GUI/DeviceCore/DevConfig.h +++ b/src/slic3r/GUI/DeviceCore/DevConfig.h @@ -54,7 +54,7 @@ public: void ParseCalibrationConfig(const json& print_json); //cali private: - MachineObject* m_obj; + [[maybe_unused]] MachineObject* m_obj; /*configure vals*/ // chamber diff --git a/src/slic3r/GUI/DeviceCore/DevExtensionTool.h b/src/slic3r/GUI/DeviceCore/DevExtensionTool.h index 02f0b6a213..c3b9c5b0b7 100644 --- a/src/slic3r/GUI/DeviceCore/DevExtensionTool.h +++ b/src/slic3r/GUI/DeviceCore/DevExtensionTool.h @@ -31,7 +31,7 @@ protected: DevExtensionTool(MachineObject* obj); private: - MachineObject* m_owner = nullptr; + [[maybe_unused]] MachineObject* m_owner = nullptr; enum MountState { diff --git a/src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h b/src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h index efdad308b2..ca59b9fd3e 100644 --- a/src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h +++ b/src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h @@ -28,7 +28,7 @@ public: void SetAutoRefillEnabled(bool enable) { m_enable_auto_refill = enable; } private: - DevFilaSystem* m_owner = nullptr; + [[maybe_unused]] DevFilaSystem* m_owner = nullptr; std::optional<bool> m_enable_detect_on_insert = false; bool m_enable_detect_on_powerup = false; diff --git a/src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp b/src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp index b59499d9d9..7ae990730a 100644 --- a/src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp +++ b/src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp @@ -4,6 +4,8 @@ #include <set> #include "DevFilaBlackList.h" +#include "slic3r/Utils/NetworkAgent.hpp" +#include "slic3r/GUI/DeviceManager.hpp" #include "DevFilaSystem.h" #include "DevManager.h" #include "DevConfigUtil.h" diff --git a/src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp b/src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp index e0a230969b..881aa75d20 100644 --- a/src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp +++ b/src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp @@ -1,5 +1,6 @@ #include <nlohmann/json.hpp> #include "DevFilaSystem.h" +#include "slic3r/Utils/NetworkAgent.hpp" #include "DevNozzleSystem.h" // DevNozzle / DevNozzleSystem for GetNozzleFlowStringByAmsId // TODO: remove this include diff --git a/src/slic3r/GUI/DeviceCore/DevHMS.h b/src/slic3r/GUI/DeviceCore/DevHMS.h index 205cad77b3..f72d899187 100644 --- a/src/slic3r/GUI/DeviceCore/DevHMS.h +++ b/src/slic3r/GUI/DeviceCore/DevHMS.h @@ -21,7 +21,7 @@ public: const std::vector<DevHMSItem>& GetHMSItems() const { return m_hms_list; }; private: - MachineObject* m_object = nullptr; + [[maybe_unused]] MachineObject* m_object = nullptr; // all hms for this machine std::vector<DevHMSItem> m_hms_list; diff --git a/src/slic3r/GUI/DeviceCore/DevInfo.h b/src/slic3r/GUI/DeviceCore/DevInfo.h index 66224888e6..259c277e46 100644 --- a/src/slic3r/GUI/DeviceCore/DevInfo.h +++ b/src/slic3r/GUI/DeviceCore/DevInfo.h @@ -34,7 +34,7 @@ private: //std::string m_connect_type; //std::string m_bind_state; - MachineObject* m_owner = nullptr; + [[maybe_unused]] MachineObject* m_owner = nullptr; }; } // namespace Slic3r \ No newline at end of file diff --git a/src/slic3r/GUI/DeviceCore/DevManager.cpp b/src/slic3r/GUI/DeviceCore/DevManager.cpp index 8844303793..c03f0cfe59 100644 --- a/src/slic3r/GUI/DeviceCore/DevManager.cpp +++ b/src/slic3r/GUI/DeviceCore/DevManager.cpp @@ -10,6 +10,7 @@ #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/Plater.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "slic3r/Utils/NetworkAgentFactory.hpp" #include "libslic3r/Time.hpp" @@ -355,7 +356,10 @@ namespace Slic3r obj->bind_state = "free"; obj->last_alive = Slic3r::Utils::get_current_time_utc(); - obj->m_is_online = true; + // Route through set_online_state() (rather than writing m_is_online directly) so the + // DeviceOnline lifecycle event fires consistently; same effective value/behavior + // here since the object was already online in the common case. + obj->set_online_state(true); obj->set_dev_name(dev_name); /* if (!obj->dev_ip.empty()) { Slic3r::GUI::wxGetApp().app_config->set_str("ip_address", obj->dev_id, obj->dev_ip); @@ -373,6 +377,10 @@ namespace Slic3r obj->bind_sec_link = sec_link; obj->dev_connection_name = connection_name; obj->bind_ssdp_version = ssdp_version; + // Discovery establishes the initial reachability state. Do not report it as an + // online transition; DeviceDiscovered below is the lifecycle event for a new + // device. Subsequent updates route through set_online_state(), so a known device + // still emits DeviceOnline/DeviceOffline when its reachability actually changes. obj->m_is_online = true; //load access code @@ -389,6 +397,15 @@ namespace Slic3r BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " New Machine, dev_id= " << dev_id << ", ip = " << dev_ip <<", printer_name = " << dev_name << ", con_type= " << connect_type <<", signal= " << printer_signal << ", bind_state= " << bind_state; + + // First discovery of a genuinely new device (not a periodic SSDP/heartbeat update to + // an already-known one, which is handled in the branch above). + { + LifecycleEventContext ctx; + ctx.name = dev_id; + ctx.code = LifecycleEvtCode::Ok; + fire_lifecycle_event(LifecycleEvent::DeviceDiscovered, ctx); + } } update_local_machine(*obj); } @@ -872,7 +889,7 @@ namespace Slic3r obj->m_is_online = elem["dev_online"].get<bool>(); if (elem.contains("dev_model_name") && !elem["dev_model_name"].is_null()) { auto printer_type = elem["dev_model_name"].get<std::string>(); - for (const std::pair<std::string, std::vector<std::string>> &pair : device_subseries) { + for (const auto &pair : device_subseries) { auto it = std::find(pair.second.begin(), pair.second.end(), printer_type); if (it != pair.second.end()) { @@ -984,8 +1001,14 @@ namespace Slic3r } void DeviceManager::OnSelectedMachineChanged(const std::string& /*pre_dev_id*/, - const std::string& /*new_dev_id*/) + const std::string& new_dev_id) { + { + LifecycleEventContext ctx; + ctx.name = new_dev_id; // empty string is a valid deselection + ctx.code = LifecycleEvtCode::Ok; + fire_lifecycle_event(LifecycleEvent::DeviceSelected, ctx); + } if (MachineObject* obj_ = get_selected_machine()) { GUI::wxGetApp().sidebar().update_sync_status(obj_); if(m_agent->get_filament_sync_mode() == FilamentSyncMode::subscription) diff --git a/src/slic3r/GUI/DeviceCore/DevMapping.cpp b/src/slic3r/GUI/DeviceCore/DevMapping.cpp index 165492c9f6..0040bb05f2 100644 --- a/src/slic3r/GUI/DeviceCore/DevMapping.cpp +++ b/src/slic3r/GUI/DeviceCore/DevMapping.cpp @@ -1,3 +1,5 @@ +#include <limits> + #include <nlohmann/json.hpp> #include "DevMapping.h" #include "DevFilaSystem.h" @@ -270,7 +272,7 @@ namespace Slic3r std::set<int> picked_tar; for (int k = 0; k < distance_map.size(); k++) { - float min_val = INT_MAX; + float min_val = std::numeric_limits<float>::max(); int picked_src_idx = -1; int picked_tar_idx = -1; for (int i = 0; i < distance_map.size(); i++) diff --git a/src/slic3r/GUI/DeviceCore/DevStatus.h b/src/slic3r/GUI/DeviceCore/DevStatus.h index 45f76d2239..4ed0d5c416 100644 --- a/src/slic3r/GUI/DeviceCore/DevStatus.h +++ b/src/slic3r/GUI/DeviceCore/DevStatus.h @@ -36,7 +36,7 @@ public: void ParseStatus(const nlohmann::json& print_jj); private: - MachineObject *m_owner = nullptr; + [[maybe_unused]] MachineObject *m_owner = nullptr; std::optional<DevJobState> m_job_state; // could be nullopt for some old firmware }; diff --git a/src/slic3r/GUI/DeviceCore/DevStorage.h b/src/slic3r/GUI/DeviceCore/DevStorage.h index 537665f778..8ac53b7fea 100644 --- a/src/slic3r/GUI/DeviceCore/DevStorage.h +++ b/src/slic3r/GUI/DeviceCore/DevStorage.h @@ -31,7 +31,7 @@ public: bool is_timelapse_storage_low(const std::string& storage) const; private: - MachineObject *m_owner; + [[maybe_unused]] MachineObject *m_owner; SdcardState m_sdcard_state { NO_SDCARD }; // timelapse storage space info (from device push cam data) int tl_internal_free_kb{-1}; diff --git a/src/slic3r/GUI/DeviceErrorDialog.cpp b/src/slic3r/GUI/DeviceErrorDialog.cpp index 2a55d77d24..4e81135a75 100644 --- a/src/slic3r/GUI/DeviceErrorDialog.cpp +++ b/src/slic3r/GUI/DeviceErrorDialog.cpp @@ -39,7 +39,7 @@ DeviceErrorDialog::DeviceErrorDialog(MachineObject* obj, wxWindow* parent, wxWin m_line_top->SetBackgroundColour(wxColour(166, 169, 170)); m_scroll_area = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_scroll_area->SetScrollRate(0, 5); + m_scroll_area->SetScrollRate(0, FromDIP(20)); m_scroll_area->SetBackgroundColour(*wxWHITE); m_scroll_area->SetMinSize(wxSize(FromDIP(320), FromDIP(250))); @@ -538,7 +538,8 @@ void DeviceErrorDialog::on_button_click(ActionButton btn_id) break; } case DeviceErrorDialog::CHECK_ASSISTANT: { - wxGetApp().mainframe->m_monitor->jump_to_HMS(); // go to assistant page + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->jump_to_HMS(); // go to assistant page break; } case DeviceErrorDialog::FILAMENT_EXTRUDED: { @@ -568,7 +569,8 @@ void DeviceErrorDialog::on_button_click(ActionButton btn_id) } case DeviceErrorDialog::JUMP_TO_LIVEVIEW: { Slic3r::GUI::wxGetApp().mainframe->jump_to_monitor(); - Slic3r::GUI::wxGetApp().mainframe->m_monitor->jump_to_LiveView(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->jump_to_LiveView(); break; } case DeviceErrorDialog::NO_REMINDER_NEXT_TIME: { @@ -618,7 +620,8 @@ void DeviceErrorDialog::on_button_click(ActionButton btn_id) } case DeviceErrorDialog::OK_JUMP_RACK: { Slic3r::GUI::wxGetApp().mainframe->jump_to_monitor(); - Slic3r::GUI::wxGetApp().mainframe->m_monitor->jump_to_Rack(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->jump_to_Rack(); break; } case DeviceErrorDialog::ABORT: { diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 782574c220..6bd690e9a6 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1,8 +1,11 @@ #include "libslic3r/libslic3r.h" #include "DeviceManager.hpp" +#include "HMS.hpp" +#include "I18N.hpp" #include "libslic3r/Time.hpp" #include "libslic3r/Thread.hpp" #include "slic3r/Utils/NetworkAgent.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "slic3r/Utils/NetworkAgentFactory.hpp" #include "GuiColor.hpp" @@ -2624,7 +2627,15 @@ void MachineObject::reset() void MachineObject::set_print_state(std::string status) { + const bool changed = (print_status != status); print_status = status; + if (changed) { + LifecycleEventContext ctx; + ctx.name = dev_id; + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = print_status; + fire_lifecycle_event(LifecycleEvent::PrintStateChanged, ctx); + } } int MachineObject::connect(bool use_openssl) @@ -2646,7 +2657,10 @@ int MachineObject::connect(bool use_openssl) int MachineObject::disconnect() { if (m_agent) { - return m_agent->disconnect_printer(); + const int result = m_agent->disconnect_printer(); + if (result == 0) + set_online_state(false); + return result; } return -1; } @@ -2676,8 +2690,16 @@ bool MachineObject::is_connecting() void MachineObject::set_online_state(bool on_off) { + const bool changed = (m_is_online != on_off); m_is_online = on_off; if (!on_off) m_active_state = NotActive; + if (changed) { + LifecycleEventContext ctx; + ctx.name = dev_id; + ctx.code = LifecycleEvtCode::Ok; + ctx.msg = on_off ? "online" : "offline"; + fire_lifecycle_event(on_off ? LifecycleEvent::DeviceOnline : LifecycleEvent::DeviceOffline, ctx); + } } bool MachineObject::is_info_ready(bool check_version) const @@ -2804,13 +2826,6 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_ parse_msg_count++; std::chrono::system_clock::time_point clock_start = std::chrono::system_clock::now(); - this->set_online_state(true); - - std::chrono::system_clock::time_point curr_time = std::chrono::system_clock::now(); - auto diff1 = std::chrono::duration_cast<std::chrono::microseconds>(curr_time - last_update_time); - - /* update last received time */ - last_update_time = std::chrono::system_clock::now(); json j_pre; bool parse_ok = false; @@ -2823,8 +2838,29 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_ /* post process payload */ sanitizeToUtf8(payload); BOOST_LOG_TRIVIAL(info) << "parse_json: sanitize to utf8"; + try { + j_pre = json::parse(payload); + parse_ok = true; + } + catch (...) {} } + bool client_disconnected = false; + if (parse_ok && j_pre.is_object() && j_pre.contains("event") && j_pre["event"].is_object() && + j_pre["event"].contains("event") && j_pre["event"]["event"].is_string()) { + client_disconnected = j_pre["event"]["event"].get<std::string>() == "client.disconnected"; + } + + // A disconnect notification is a transport message too, but it must not first mark an + // already-offline device as online through the generic message-received path. + set_online_state(!client_disconnected); + + std::chrono::system_clock::time_point curr_time = std::chrono::system_clock::now(); + auto diff1 = std::chrono::duration_cast<std::chrono::microseconds>(curr_time - last_update_time); + + /* update last received time */ + last_update_time = std::chrono::system_clock::now(); + try { bool restored_json = false; json j; @@ -4595,19 +4631,6 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_ } } - // event info - try { - if (j.contains("event")) { - if (j["event"].contains("event")) { - if (j["event"]["event"].get<std::string>() == "client.disconnected") - set_online_state(false); - else if (j["event"]["event"].get<std::string>() == "client.connected") - set_online_state(true); - } - } - } - catch (...) {} - if (!key_field_only) { BOOST_LOG_TRIVIAL(trace) << "parse_json m_active_state =" << m_active_state; parse_state_changed_event(); diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 914c8f7868..ca3b7c3c44 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -897,6 +897,7 @@ public: bool is_connected(); bool is_connecting(); + // Emits DeviceOnline or DeviceOffline only when the reachability state changes. void set_online_state(bool on_off); bool is_online() { return m_is_online; } bool is_info_ready(bool check_version = true) const; diff --git a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.cpp b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.cpp index 44394866c8..00d4c3e809 100644 --- a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.cpp +++ b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.cpp @@ -934,7 +934,8 @@ void wgtDeviceNozzleRackNozzleItem::OnBtnNozzleStatus(wxMouseEvent& evt) dlg.AddButton(wxID_OK,_L("Jump to the upgrade page"), true); if (dlg.ShowModal() == wxID_OK) { - wxGetApp().mainframe->m_monitor->jump_to_Upgrade(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->jump_to_Upgrade(); }; } } diff --git a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.cpp b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.cpp index fac14e31d9..eae377c147 100644 --- a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.cpp +++ b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.cpp @@ -344,7 +344,8 @@ void wgtDeviceNozzleRackHotendUpdate::OnStatusIconClick(wxMouseEvent& event) if (dlg.ShowModal() == wxID_OK) { - wxGetApp().mainframe->m_monitor->jump_to_Upgrade(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->jump_to_Upgrade(); wxCommandEvent evt(wxEVT_NOZZLE_JUMP_UPGRADE, GetId()); evt.SetEventObject(this); diff --git a/src/slic3r/GUI/DeviceTab/wgtMsgPanel.cpp b/src/slic3r/GUI/DeviceTab/wgtMsgPanel.cpp index 64195d97a8..16ae8812be 100644 --- a/src/slic3r/GUI/DeviceTab/wgtMsgPanel.cpp +++ b/src/slic3r/GUI/DeviceTab/wgtMsgPanel.cpp @@ -1,6 +1,7 @@ #include "wgtMsgPanel.h" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/Widgets/Label.hpp" #include "slic3r/GUI/Widgets/StateColor.hpp" #include "slic3r/GUI/wxExtensions.hpp" diff --git a/src/slic3r/GUI/DockPanel.cpp b/src/slic3r/GUI/DockPanel.cpp new file mode 100644 index 0000000000..0a5d25c4e7 --- /dev/null +++ b/src/slic3r/GUI/DockPanel.cpp @@ -0,0 +1,103 @@ +#include "DockPanel.hpp" + +#include "GUI_App.hpp" +#include "Plater.hpp" +#include "Widgets/WebHosting.hpp" + +#include <wx/weakref.h> + +#include <algorithm> +#include <utility> + +namespace Slic3r { namespace GUI { + +std::string plugin_pane_name(const std::string& plugin_key, const std::string& title) +{ + std::string name = "plugin:" + plugin_key + ":" + title; + std::replace_if(name.begin(), name.end(), [](char c) { return c == '|' || c == ';' || c == '=' || c == '\\'; }, '_'); + return name; +} + +DockPanel::DockPanel(wxWindow* parent, + const std::string& html, + MessageHandler on_message, + CloseHandler on_close, + CloseHandler on_destroyed) + : WebPanel(parent, web_hosting::orca_bridge_script()) + , m_html(html) + , m_on_message(std::move(on_message)) + , m_on_close(std::move(on_close)) + , m_on_destroyed(std::move(on_destroyed)) +{ + // A link asking for a new window has nowhere to open from a docked panel. + browser()->Bind(wxEVT_WEBVIEW_NEWWINDOW, [](wxWebViewEvent& event) { event.Veto(); }); +} + +DockPanel::~DockPanel() +{ + if (m_on_destroyed) + m_on_destroyed(); +} + +bool DockPanel::on_page_message(const std::string& kind, const nlohmann::json& data) +{ + if (kind == "message") { + if (m_on_message) + m_on_message(data); + return true; + } + if (kind == "close") { + request_close(); + return true; + } + return false; +} + +void DockPanel::push_message(const nlohmann::json& data) +{ + if (!m_closing) + post_to_page(data.dump(-1, ' ', false, nlohmann::json::error_handler_t::replace)); +} + +void DockPanel::fire_close() +{ + if (m_closing) + return; + m_closing = true; + if (m_on_close) { + CloseHandler on_close = std::move(m_on_close); + m_on_close = nullptr; + on_close(); + } +} + +void DockPanel::request_close() +{ + if (m_closing) + return; + fire_close(); + // A page-requested close arrives inside the web view's script callback, so destroy later; another + // close path may have destroyed the panel by then. + wxWeakRef<DockPanel> self(this); + CallAfter([self]() { + if (self) + self->remove_pane(); + }); +} + +void DockPanel::destroy_silently() +{ + m_closing = true; + m_on_close = nullptr; + remove_pane(); +} + +void DockPanel::remove_pane() +{ + if (Plater* plater = wxGetApp().plater()) + plater->remove_dock_pane(this); + else + Destroy(); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/DockPanel.hpp b/src/slic3r/GUI/DockPanel.hpp new file mode 100644 index 0000000000..a9a0a0d6b3 --- /dev/null +++ b/src/slic3r/GUI/DockPanel.hpp @@ -0,0 +1,54 @@ +#pragma once + +#include "WebPanel.hpp" + +#include <functional> +#include <string> + +namespace Slic3r { namespace GUI { + +// Stable across sessions so the saved layout finds the pane; free of wxAuiManager layout delimiters. +std::string plugin_pane_name(const std::string& plugin_key, const std::string& title); + +// A WebPanel docked in the Plater, on the plugin-window bridge minus submit. It can be destroyed +// without the GIL, so its hooks must not capture pybind11 objects. +class DockPanel : public WebPanel +{ +public: + using MessageHandler = std::function<void(const nlohmann::json& data)>; + using CloseHandler = std::function<void()>; + + // on_close fires once, on a user or page close. on_destroyed runs on every destruction and must + // touch host-side state only. + DockPanel(wxWindow* parent, + const std::string& html, + MessageHandler on_message, + CloseHandler on_close, + CloseHandler on_destroyed); + ~DockPanel() override; + + // Main thread only. + void push_message(const nlohmann::json& data); + // Fires on_close, then removes the pane. + void request_close(); + // Removes the pane without on_close, for plugin unload. Destroys at once: unload always comes from + // the host, never from this panel's own callbacks. + void destroy_silently(); + // Fires on_close at most once; also run by the pane's own close button. + void fire_close(); + +protected: + std::optional<std::string> page_html() override { return m_html; } + bool on_page_message(const std::string& kind, const nlohmann::json& data) override; + +private: + void remove_pane(); + + std::string m_html; + bool m_closing{false}; + MessageHandler m_on_message; + CloseHandler m_on_close; + CloseHandler m_on_destroyed; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/DragCanvas.cpp b/src/slic3r/GUI/DragCanvas.cpp index 04d51c0861..66a9acecbc 100644 --- a/src/slic3r/GUI/DragCanvas.cpp +++ b/src/slic3r/GUI/DragCanvas.cpp @@ -1,6 +1,7 @@ #include "DragCanvas.hpp" #include "wxExtensions.hpp" #include "GUI_App.hpp" +#include "Widgets/StateColor.hpp" namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/EncodedFilament.cpp b/src/slic3r/GUI/EncodedFilament.cpp index f9054e7f6d..0cab200386 100644 --- a/src/slic3r/GUI/EncodedFilament.cpp +++ b/src/slic3r/GUI/EncodedFilament.cpp @@ -1,7 +1,10 @@ #include "EncodedFilament.hpp" +#include <nlohmann/json.hpp> #include "GUI_App.hpp" +using json = nlohmann::json; + namespace Slic3r { diff --git a/src/slic3r/GUI/ExportPresetBundleDialog.cpp b/src/slic3r/GUI/ExportPresetBundleDialog.cpp index 6d642ee1c1..9d2f26bf6a 100644 --- a/src/slic3r/GUI/ExportPresetBundleDialog.cpp +++ b/src/slic3r/GUI/ExportPresetBundleDialog.cpp @@ -1,4 +1,5 @@ #include "ExportPresetBundleDialog.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "GUI_App.hpp" #include "ConfigWizard.hpp" #include "I18N.hpp" @@ -12,7 +13,11 @@ #include <libslic3r/PresetBundle.hpp> #include <wx/string.h> #include <miniz.h> +#include <nlohmann/json.hpp> #include <slic3r/GUI/MsgDialog.hpp> + +using json = nlohmann::json; + namespace Slic3r { namespace GUI { ExportPresetBundleDialog::ExportPresetBundleDialog( diff --git a/src/slic3r/GUI/ExtraRenderers.cpp b/src/slic3r/GUI/ExtraRenderers.cpp index 18811ef241..3abfdb82ff 100644 --- a/src/slic3r/GUI/ExtraRenderers.cpp +++ b/src/slic3r/GUI/ExtraRenderers.cpp @@ -1,6 +1,7 @@ #include "ExtraRenderers.hpp" #include "wxExtensions.hpp" #include "GUI.hpp" +#include "I18N.hpp" #include "BitmapComboBox.hpp" #include "Plater.hpp" #include "Widgets/ComboBox.hpp" diff --git a/src/slic3r/GUI/ExtrusionCalibration.cpp b/src/slic3r/GUI/ExtrusionCalibration.cpp index 933e2ac211..1f07823d61 100644 --- a/src/slic3r/GUI/ExtrusionCalibration.cpp +++ b/src/slic3r/GUI/ExtrusionCalibration.cpp @@ -1,5 +1,6 @@ #include "ExtrusionCalibration.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" #include "MsgDialog.hpp" #include "libslic3r/Preset.hpp" #include <algorithm> diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 142cf70522..74ef3f87c8 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -11,6 +11,7 @@ #include "libslic3r/PrintConfig.hpp" #include <algorithm> +#include <cmath> #include <regex> #include <utility> #include <cstdint> @@ -540,51 +541,95 @@ void Field::get_value_by_opt_type(wxString& str, const bool check_value/* = true case coStrings: case coFloatOrPercent: case coFloatsOrPercents: { - if ((m_opt.type == coFloatOrPercent || m_opt.type == coFloatsOrPercents) && !str.IsEmpty() && str.Last() != '%') - { + if ((m_opt.type == coFloatOrPercent || m_opt.type == coFloatsOrPercents) && !str.IsEmpty() && + !(m_opt.nullable && str == m_na_value)) { + bool update_control = false; + wxString numeric_str = str; double val = 0.; + const char dec_sep = is_decimal_separator_point() ? '.' : ','; const char dec_sep_alt = dec_sep == '.' ? ',' : '.'; - // Replace the first incorrect separator in decimal number. - if (str.Replace(dec_sep_alt, dec_sep, false) != 0) - set_value(str, false); + // Orca: normalize the decimal separator and optional unit before + // detecting the percentage suffix and parsing the numeric part. + update_control |= numeric_str.Replace(dec_sep_alt, dec_sep, false) != 0; + update_control |= numeric_str.Replace(" ", "", true) != 0; + const bool has_literal_unit = numeric_str.EndsWith("mm"); + if (has_literal_unit) { + numeric_str.RemoveLast(2); + update_control = true; + } + bool is_percent = !numeric_str.IsEmpty() && numeric_str.Last() == '%'; + if (is_percent) + numeric_str.RemoveLast(); - - // remove space and "mm" substring, if any exists - str.Replace(" ", "", true); - str.Replace("m", "", true); - - if (!str.ToDouble(&val)) - { + if ((has_literal_unit && is_percent) || !numeric_str.ToDouble(&val) || !std::isfinite(val)) { if (!check_value) { m_value.clear(); break; } show_error(m_parent, _L("Invalid numeric.")); - set_value(double_to_string(val), true); - } - else if (((m_opt.sidetext.rfind("mm/s") != std::string::npos && val > m_opt.max) || - (m_opt.sidetext.rfind("mm ") != std::string::npos && val > /*1*/m_opt.max_literal)) && - (m_value.empty() || into_u8(str) != boost::any_cast<std::string>(m_value))) - { - if (!check_value) { - m_value.clear(); - break; + numeric_str = double_to_string(std::clamp(0., double(m_opt.min), double(m_opt.max))); + is_percent = false; + update_control = true; + } else { + const bool looks_like_missing_percent = !is_percent && !has_literal_unit && + ((m_opt.sidetext.rfind("mm/s") != std::string::npos && val > m_opt.max) || + (m_opt.sidetext.rfind("mm ") != std::string::npos && val > m_opt.max_literal)); + // Orca: validate explicit percentages and literal values before + // asking whether an otherwise valid literal was meant as a percentage. + const bool out_of_range = !m_opt.is_value_valid(val); + if (out_of_range) { + if (!check_value) { + m_value.clear(); + break; + } + show_error(m_parent, _L("Value is out of range.")); + val = std::clamp(val, double(m_opt.min), double(m_opt.max)); + // Orca: retain the inferred percent unit when clamping a + // suspicious unitless value, so 2000 becomes 100%, not 100 mm. + is_percent |= looks_like_missing_percent; + numeric_str = double_to_string(val); + update_control = true; + } else { + const bool value_changed = m_value.empty() || into_u8(str) != boost::any_cast<std::string>(m_value); + if (looks_like_missing_percent && value_changed) { + if (!check_value) { + m_value.clear(); + break; + } + + const std::string sidetext = m_opt.sidetext.rfind("mm/s") != std::string::npos ? "mm/s" : "mm"; + const wxString stVal = numeric_str; + const wxString msg_text = from_u8((boost::format(_utf8(L("Is it %s%% or %s %s?"))) % + stVal % stVal % sidetext).str()); + WarningDialog dialog(m_parent, msg_text, _L("Parameter validation") + ": " + m_opt_id, wxYES | wxNO); + dialog.SetButtonLabel(wxID_YES, stVal + _L("%")); + dialog.SetButtonLabel(wxID_NO, stVal + " " + _L(sidetext)); + dialog.GetSizer()->SetSizeHints(&dialog); + dialog.Fit(); + dialog.CenterOnParent(); + is_percent = dialog.ShowModal() == wxID_YES; + update_control = true; + } } - const std::string sidetext = m_opt.sidetext.rfind("mm/s") != std::string::npos ? "mm/s" : "mm"; - const wxString stVal = double_to_string(val, 2); - const wxString msg_text = from_u8((boost::format(_utf8(L("Is it %s%% or %s %s?\n" - "YES for %s%%, \n" - "NO for %s %s."))) % - stVal % stVal % sidetext % stVal % stVal % sidetext) - .str()); - WarningDialog dialog(m_parent, msg_text, _L("Parameter validation") + ": " + m_opt_id, wxYES | wxNO); - if ((val > 100) && dialog.ShowModal() == wxID_YES) { - set_value(from_u8((boost::format("%s%%") % stVal).str()), false /*true*/); - str += "%%"; - } else - set_value(stVal, false); // it's no needed but can be helpful, when inputted value contained "," instead of "." + // Orca: also enforce the literal limit after clamping an explicit mm input. + if (!is_percent && m_opt.sidetext.rfind("mm ") != std::string::npos && val > m_opt.max_literal) { + if (!check_value) { + m_value.clear(); + break; + } + if (!out_of_range) + show_error(m_parent, _L("Value is out of range.")); + val = m_opt.max_literal; + numeric_str = double_to_string(val); + update_control = true; + } + } + + if (update_control) { + str = numeric_str + (is_percent ? "%" : ""); + set_value(str, true); } } if (m_opt.opt_key == "thumbnails") { @@ -2154,6 +2199,7 @@ void PrinterAgentChoice::msw_rescale() void PluginField::BUILD() { auto* panel = new wxPanel(m_parent, wxID_ANY); + panel->SetBackgroundColour(*wxWHITE); wxGetApp().UpdateDarkUI(panel); window = panel; @@ -2196,9 +2242,8 @@ void PluginField::rebuild_ui() m_rows.clear(); m_standalone_add_btn = nullptr; - if (m_values.empty()) { - add_empty_state_row(); - } else { + add_empty_state_row(); + if (!m_values.empty()) { for (size_t i = 0; i < m_values.size(); ++i) add_plugin_row(display_name_for_value(m_values[i]), i == m_values.size() - 1); } @@ -2215,94 +2260,43 @@ void PluginField::rebuild_ui() void PluginField::add_empty_state_row() { - const auto button_size = wxSize(def_width_thinner() * m_em_unit, -1); - auto row_sizer = new wxBoxSizer(wxHORIZONTAL); - - wxTextCtrl* display = new wxTextCtrl(window, wxID_ANY, _L("No plugin selected"), - wxDefaultPosition, wxSize(def_width_wider() * m_em_unit, wxDefaultCoord), - wxTE_READONLY); - display->SetEditable(false); - wxGetApp().UpdateDarkUI(display); - display->SetToolTip(_L("No plugin selected")); - - auto add_btn = new ScalableButton(window, wxID_ANY, "param_add", wxEmptyString, - button_size, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 16); - wxGetApp().UpdateDarkUI(add_btn); - add_btn->SetToolTip(_L("Add plugin")); + auto add_btn = new Button(window, _L("Add plugin"), "param_add", 0, 16); + add_btn->SetStyle(ButtonStyle::Regular, ButtonType::Parameter); add_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_add_clicked(); }); - row_sizer->Add(display, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); - row_sizer->Add(add_btn, 0, wxALIGN_CENTER_VERTICAL); - m_main_sizer->Add(row_sizer, 0, wxEXPAND); - - PluginRow row; - row.display = display; - row.add_btn = add_btn; - row.sizer = row_sizer; - m_rows.push_back(row); + m_main_sizer->Add(add_btn, 0, wxEXPAND | wxBOTTOM, window->FromDIP(SidebarProps::ContentMarginV())); m_standalone_add_btn = add_btn; } void PluginField::add_plugin_row(const wxString& value, bool is_last) { - const auto button_size = wxSize(def_width_thinner() * m_em_unit, -1); auto row_sizer = new wxBoxSizer(wxHORIZONTAL); - ScalableButton* select_btn = new ScalableButton(window, wxID_ANY, "search", wxEmptyString, - button_size, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 16); - wxGetApp().UpdateDarkUI(select_btn); - select_btn->SetToolTip(_L("Select plugin")); - - wxTextCtrl* display = new wxTextCtrl(window, wxID_ANY, value, - wxDefaultPosition, wxSize(def_width_wider() * m_em_unit, wxDefaultCoord), - wxTE_READONLY); - display->SetEditable(false); - wxGetApp().UpdateDarkUI(display); + ComboBox* display = new ComboBox(window, wxID_ANY, value, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY | CB_NO_DROP_ICON); + display->SetIcon("edit"); display->SetToolTip(get_tooltip_text(value)); - ScalableButton* remove_btn = nullptr; - if (!m_opt.readonly) { - remove_btn = new ScalableButton(window, wxID_ANY, "cross", wxEmptyString, - button_size, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 16); - wxGetApp().UpdateDarkUI(remove_btn); - remove_btn->SetToolTip(_L("Remove plugin")); - } + ScalableButton* remove_btn = new ScalableButton(window, wxID_ANY, "cross", wxEmptyString, + wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 16); + remove_btn->SetToolTip(_L("Remove plugin")); - ScalableButton* add_btn = nullptr; - if (is_last && !m_opt.readonly) { - add_btn = new ScalableButton(window, wxID_ANY, "param_add", wxEmptyString, - button_size, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true, 16); - wxGetApp().UpdateDarkUI(add_btn); - add_btn->SetToolTip(_L("Add plugin")); - add_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { on_add_clicked(); }); - } + if (m_opt.readonly) + remove_btn->Disable(); const size_t row_index = m_rows.size(); - select_btn->Bind(wxEVT_BUTTON, [this, row_index](wxCommandEvent&) { on_select_clicked(row_index); }); - if (remove_btn) - remove_btn->Bind(wxEVT_BUTTON, [this, row_index](wxCommandEvent&) { on_remove_clicked(row_index); }); + display->Bind(wxEVT_LEFT_DOWN, [this, row_index](wxMouseEvent& ) { on_select_clicked(row_index); }); + remove_btn->Bind(wxEVT_BUTTON, [this, row_index](wxCommandEvent&) { on_remove_clicked(row_index); }); - row_sizer->Add(select_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); - row_sizer->Add(display, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); - if (remove_btn) - row_sizer->Add(remove_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 4); - if (add_btn) - row_sizer->Add(add_btn, 0, wxALIGN_CENTER_VERTICAL); - else if (!m_opt.readonly) { - // Reserve space equal to the add button so all rows align. - row_sizer->Add(button_size.GetWidth(), button_size.GetHeight(), 0, wxALIGN_CENTER_VERTICAL); - } + row_sizer->Add(display , 1, wxALIGN_CENTER_VERTICAL); + row_sizer->Add(remove_btn, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, window->FromDIP(SidebarProps::ElementSpacing())); - const int bottom_gap = is_last ? 0 : 4; - m_main_sizer->Add(row_sizer, 0, wxEXPAND | (bottom_gap > 0 ? wxBOTTOM : 0), bottom_gap); + m_main_sizer->Add(row_sizer, 0, wxEXPAND | wxBOTTOM, window->FromDIP(is_last ? SidebarProps::ContentMarginV() : 4)); PluginRow row; - row.select_btn = select_btn; row.display = display; row.remove_btn = remove_btn; - row.add_btn = add_btn; row.sizer = row_sizer; m_rows.push_back(row); } @@ -2354,9 +2348,9 @@ void PluginField::on_add_clicked() m_values.push_back(selected); m_value = m_values; - rebuild_ui(); - - on_change_field(); + // Defer: don't destroy the clicked button from inside its own handler. + if(window) + window->CallAfter([this]() {rebuild_ui(); on_change_field();}); } void PluginField::on_remove_clicked(size_t index) @@ -2367,8 +2361,9 @@ void PluginField::on_remove_clicked(size_t index) m_values.erase(m_values.begin() + index); m_value = m_values; - rebuild_ui(); - on_change_field(); + // Defer: don't destroy the clicked button from inside its own handler. + if(window) + window->CallAfter([this]() {rebuild_ui(); on_change_field();}); } wxString PluginField::get_row_value(size_t index) const @@ -2382,7 +2377,7 @@ void PluginField::set_row_value(size_t index, const wxString& value) { if (index >= m_rows.size() || !m_rows[index].display) return; - m_rows[index].display->ChangeValue(value); + m_rows[index].display->SetValue(value); m_rows[index].display->SetToolTip(get_tooltip_text(value)); } @@ -2425,14 +2420,10 @@ boost::any& PluginField::get_value() void PluginField::enable() { for (auto& row : m_rows) { - if (row.select_btn) - row.select_btn->Enable(); if (row.display) row.display->Enable(); if (row.remove_btn) row.remove_btn->Enable(); - if (row.add_btn) - row.add_btn->Enable(); } if (m_standalone_add_btn) m_standalone_add_btn->Enable(); @@ -2441,14 +2432,10 @@ void PluginField::enable() void PluginField::disable() { for (auto& row : m_rows) { - if (row.select_btn) - row.select_btn->Disable(); if (row.display) row.display->Disable(); if (row.remove_btn) row.remove_btn->Disable(); - if (row.add_btn) - row.add_btn->Disable(); } if (m_standalone_add_btn) m_standalone_add_btn->Disable(); @@ -2711,7 +2698,8 @@ void ColourPicker::set_value(const boost::any& value, bool change_event) auto field = dynamic_cast<wxColourPickerCtrl*>(window); #ifdef __WXMSW__ - wxColour clr = (clr_str.IsEmpty() || !clr.IsOk()) ? wxTransparentColour : clr_str; + const wxColour parsed_clr(clr_str); + wxColour clr = (clr_str.IsEmpty() || !parsed_clr.IsOk()) ? wxTransparentColour : parsed_clr; field->SetColour(clr); draw_bmp_btn(field, clr); #else @@ -2862,11 +2850,11 @@ void PointCtrl::BUILD() //temp->Add(static_text_y, 0, wxALIGN_CENTER_VERTICAL, 0); temp->Add(y_input); - x_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_value(x_textctrl); }), x_textctrl->GetId()); - y_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_value(y_textctrl); }), y_textctrl->GetId()); + x_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_input_value(x_textctrl); }), x_textctrl->GetId()); + y_textctrl->Bind(wxEVT_TEXT_ENTER, ([this](wxCommandEvent e) { propagate_input_value(y_textctrl); }), y_textctrl->GetId()); - x_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_value(x_textctrl); }), x_textctrl->GetId()); - y_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_value(y_textctrl); }), y_textctrl->GetId()); + x_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_input_value(x_textctrl); }), x_textctrl->GetId()); + y_textctrl->Bind(wxEVT_KILL_FOCUS, ([this](wxEvent& e) { e.Skip(); propagate_input_value(y_textctrl); }), y_textctrl->GetId()); // // recast as a wxWindow to fit the calling convention window = dynamic_cast<wxWindow*>(x_input); @@ -2915,7 +2903,7 @@ bool PointCtrl::value_was_changed(wxTextCtrl* win) return boost::any_cast<Vec2d>(m_value) != boost::any_cast<Vec2d>(val); } -void PointCtrl::propagate_value(wxTextCtrl* win) +void PointCtrl::propagate_input_value(wxTextCtrl* win) { if (win->GetValue().empty()) on_kill_focus(); diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index 5d5d549427..3f55bf5c5a 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -25,6 +25,7 @@ #include "wxExtensions.hpp" #include "Widgets/SpinInput.hpp" #include "Widgets/TextInput.hpp" +#include "Widgets/ComboBox.hpp" #ifdef __WXMSW__ #define wxMSW true @@ -532,10 +533,8 @@ public: private: struct PluginRow { - ScalableButton* select_btn { nullptr }; - wxTextCtrl* display { nullptr }; + ComboBox* display { nullptr }; ScalableButton* remove_btn { nullptr }; - ScalableButton* add_btn { nullptr }; wxBoxSizer* sizer { nullptr }; }; @@ -553,7 +552,7 @@ private: wxBoxSizer* m_main_sizer { nullptr }; std::vector<PluginRow> m_rows; std::vector<std::string> m_values; - ScalableButton* m_standalone_add_btn { nullptr }; + Button* m_standalone_add_btn { nullptr }; std::function<std::string()> m_selector; }; @@ -628,8 +627,10 @@ private: void on_button_click(wxCommandEvent &WXUNUSED(ev)); void save_colors_to_config(); private: +#if !defined(__linux__) && !defined(__LINUX__) wxColourData* m_clrData{nullptr}; wxColourPickerWidget* m_picker_widget{nullptr}; +#endif }; class PointCtrl : public Field { @@ -649,7 +650,7 @@ public: void BUILD() override; bool value_was_changed(wxTextCtrl* win); // Propagate value from field to the OptionGroupe and Config after kill_focus/ENTER - void propagate_value(wxTextCtrl* win); + void propagate_input_value(wxTextCtrl* win); void set_value(const Vec2d& value, bool change_event = false); void set_value(const boost::any& value, bool change_event = false) override; boost::any& get_value() override; diff --git a/src/slic3r/GUI/FilamentBitmapUtils.cpp b/src/slic3r/GUI/FilamentBitmapUtils.cpp index 1f51fc79b3..3af3d1ad01 100644 --- a/src/slic3r/GUI/FilamentBitmapUtils.cpp +++ b/src/slic3r/GUI/FilamentBitmapUtils.cpp @@ -1,16 +1,66 @@ #include <wx/dcmemory.h> +#include <wx/dcgraph.h> #include <wx/graphics.h> +#include <wx/settings.h> +#include <wx/window.h> #include <algorithm> #include <cmath> +#include <map> +#include <numeric> +#include <string> +#include <tuple> #include "EncodedFilament.hpp" #include "FilamentBitmapUtils.hpp" #include "GUI_App.hpp" +#include "GuiColor.hpp" +#include "I18N.hpp" +#include "Widgets/Label.hpp" +#include "Widgets/StateColor.hpp" #include "libslic3r/FilamentMixer.hpp" #include "libslic3r/PrintConfig.hpp" namespace Slic3r { namespace GUI { +// Barycentric utilities for a ternary (triangle) ratio picker. +double tri_signed_area2(TriPoint a, TriPoint b, TriPoint c) +{ + return (b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y); +} + +bool tri_contains(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2) +{ + double total = tri_signed_area2(v0, v1, v2); + if (std::abs(total) < 1e-9) return false; + double s0 = tri_signed_area2(p, v1, v2) / total; + double s1 = tri_signed_area2(v0, p, v2) / total; + double s2 = 1.0 - s0 - s1; + return s0 >= -0.001 && s1 >= -0.001 && s2 >= -0.001; +} + +void tri_barycentric(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2, + double& w0, double& w1, double& w2) +{ + double total = std::abs(tri_signed_area2(v0, v1, v2)); + if (total < 1e-9) { w0 = w1 = w2 = 1.0 / 3.0; return; } + w0 = std::abs(tri_signed_area2(p, v1, v2)) / total; + w1 = std::abs(tri_signed_area2(v0, p, v2)) / total; + w2 = 1.0 - w0 - w1; + w0 = std::clamp(w0, 0.0, 1.0); + w1 = std::clamp(w1, 0.0, 1.0); + w2 = std::clamp(w2, 0.0, 1.0); + double s = w0 + w1 + w2; + if (s > 0) { w0 /= s; w1 /= s; w2 /= s; } +} + +TriPoint tri_clamp(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2) +{ + double w0, w1, w2; + tri_barycentric(p, v0, v1, v2, w0, w1, w2); + return {w0 * v0.x + w1 * v1.x + w2 * v2.x, + w0 * v0.y + w1 * v1.y + w2 * v2.y}; +} + void fill_gradient_rect_east(wxDC& dc, const wxRect& rect, const wxColour& from, const wxColour& to) { if (rect.width <= 0 || rect.height <= 0) return; @@ -73,7 +123,7 @@ std::vector<wxColour> sample_gradient_ramp(const wxColour& first, // Resolve the curve a gradient slot is sampled with, mirroring the slicer's fallback in // ToolOrdering: a custom curve wins, otherwise a straight line between gradient_range's // endpoints, otherwise the 0.10 -> 0.90 default. -static Slic3r::GradientCurve mixed_gradient_curve(const Slic3r::DynamicPrintConfig& cfg, size_t slot) +Slic3r::GradientCurve mixed_gradient_curve(const Slic3r::DynamicPrintConfig& cfg, size_t slot) { const auto* curve_opt = cfg.option<ConfigOptionStrings>("filament_mixed_gradient_curve"); if (curve_opt && slot < curve_opt->values.size() && !curve_opt->values[slot].empty()) { @@ -449,4 +499,378 @@ void recompute_mixed_slot_colors(std::vector<wxColour>& colors, } } +namespace { + +// Layout ratios of the gradient plot rect, copied from GradientCurveEditor so the read-only +// preview and the interactive editor stay pixel-identical. Plot rect is square 1:1; the +// right/bottom margins host the axis arrows and labels. +constexpr double kPlotLeftRatio = 0.0316; +constexpr double kPlotRightRatio = 0.6766; +constexpr double kPlotTopRatio = 0.1529; +constexpr double kPlotBottomRatio = 0.8474; +constexpr int kGridDivisions = 9; // 10 grid lines including the outer borders. +constexpr int kStrokeAxis = 2; // axis line width (px, no DPI scaling) +constexpr int kAxisArrowHalf = 5; // half-base of the axis arrow triangle (DIP) +constexpr int kAxisArrowLen = 10; // length of the axis arrow triangle (DIP) +constexpr int kPointRadius = 4; // anchor outer radius (DIP) +constexpr float kBgSimilarThreshold = 15.0f; +constexpr int kOutlineExtraDip = 2; +constexpr double kTriangleMarginDip = 20.0; + +// Quadratic blend that never goes out of gamut, matching MixedFilamentDialog::blend_colors. +wxColour lerp_blend(const wxColour& a, const wxColour& b, double ratio_a) +{ + unsigned char r, g, bl; + Slic3r::filament_mixer_lerp(a.Red(), a.Green(), a.Blue(), + b.Red(), b.Green(), b.Blue(), + static_cast<float>(1.0 - ratio_a), &r, &g, &bl); + return wxColour(r, g, bl); +} + +// DIP conversion for these free functions: unlike the wxWindow member FromDIP, it needs the +// window parameter explicitly; nullptr picks the app's default DPI like the Publish dialog does. +int dip_px(int v) { return wxWindow::FromDIP(v, nullptr); } + +} // namespace + +wxRect mixed_gradient_plot_rect(const wxSize& sz) +{ + const int x = static_cast<int>(std::lround(sz.x * kPlotLeftRatio)); + const int y = static_cast<int>(std::lround(sz.y * kPlotTopRatio)); + const int x2 = static_cast<int>(std::lround(sz.x * kPlotRightRatio)); + const int y2 = static_cast<int>(std::lround(sz.y * kPlotBottomRatio)); + const int side = std::max(1, std::min(x2 - x, y2 - y)); + return wxRect(x, y, side, side); +} + +void draw_mixed_gradient_plot(wxDC& raw_dc, const wxSize& canvas, + const std::vector<MixedGradientCurve>& curves, + const std::vector<wxPoint2DDouble>& anchors, + const MixedGradientTheme& theme) +{ + // Draw into an internal opaque buffer so wxGCDC text/curves anti-alias against a solid + // background (never a transparent one), then blit the finished image onto the caller's + // buffered paint DC. wxGCDC cannot wrap a generic wxDC&, so the buffer is always a + // wxMemoryDC -- the one type wxGCDC accepts on every platform. + if (canvas.x <= 0 || canvas.y <= 0) + return; + const wxRect rc = mixed_gradient_plot_rect(canvas); + if (rc.width <= 0 || rc.height <= 0) + return; + + wxBitmap buf(canvas); + wxMemoryDC memdc(buf); + memdc.SetBackground(wxBrush(theme.background)); + memdc.Clear(); + wxGCDC dc(memdc); + wxGraphicsContext* gc = dc.GetGraphicsContext(); + + // 10x10 light grid (10 lines including outer borders, 9 equal divisions). + dc.SetPen(wxPen(theme.grid, 1)); + for (int i = 0; i <= kGridDivisions; ++i) { + const int x = rc.x + rc.width * i / kGridDivisions; + const int y = rc.y + rc.height * i / kGridDivisions; + dc.DrawLine(x, rc.y, x, rc.y + rc.height); + dc.DrawLine(rc.x, y, rc.x + rc.width, y); + } + + // Set the label font first so text width measurements drive arrow / label placement. + wxFont label_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + label_font.SetPointSize(std::max(7, label_font.GetPointSize() - 1)); + dc.SetFont(label_font); + + const wxString axis_y_title = _L("Material Ratio"); + const wxString axis_x_title = _L("Model Height"); + const wxString pct_text = wxT("100%"); + const wxSize x_title_sz = dc.GetTextExtent(axis_x_title); + const wxSize y_title_sz = dc.GetTextExtent(axis_y_title); + + wxFont strong_font = label_font; + strong_font.SetWeight(wxFONTWEIGHT_SEMIBOLD); + dc.SetFont(strong_font); + const wxSize pct_text_sz = dc.GetTextExtent(pct_text); + dc.SetFont(label_font); + + // Axes (grey 700) with filled triangle arrows. Y-axis extends above the plot top to the + // canvas top edge; X-axis extends past the plot right toward the canvas right edge. + const int arrow_half = dip_px(kAxisArrowHalf); + const int arrow_len = dip_px(kAxisArrowLen); + dc.SetPen(wxPen(theme.axis, kStrokeAxis)); + dc.SetBrush(wxBrush(theme.axis)); + + const int y_axis_x = rc.x; + const int y_title_pct_gap = dip_px(1); + const int y_title_bottom_pad = dip_px(2); + const int y_title_y = std::max(0, rc.y - y_title_sz.y - y_title_pct_gap - pct_text_sz.y - y_title_bottom_pad); + const int y_arrow_tip_y = y_title_y; + const int y_arrow_ty = y_arrow_tip_y + arrow_len; + dc.DrawLine(y_axis_x, y_arrow_ty, y_axis_x, rc.y + rc.height); + { + wxPoint tri[3] = { + wxPoint(y_axis_x, y_arrow_tip_y), + wxPoint(y_axis_x - arrow_half, y_arrow_ty), + wxPoint(y_axis_x + arrow_half, y_arrow_ty), + }; + dc.DrawPolygon(3, tri); + } + + const int x_axis_y = rc.y + rc.height; + const int x_label_gap = dip_px(4); + const int x_edge_pad = dip_px(6); + const int x_arrow_ideal = rc.x + rc.width + dip_px(10); + const int x_arrow_max = canvas.x - x_title_sz.x - x_label_gap - x_edge_pad - arrow_len; + const int x_arrow_tx = std::max(rc.x + rc.width + arrow_len, std::min(x_arrow_ideal, x_arrow_max)); + const int x_arrow_tip_x = x_arrow_tx + arrow_len; + const int x_title_x = x_arrow_tip_x + x_label_gap; + dc.DrawLine(rc.x, x_axis_y, x_arrow_tx, x_axis_y); + { + wxPoint tri[3] = { + wxPoint(x_arrow_tip_x, x_axis_y), + wxPoint(x_arrow_tx, x_axis_y - arrow_half), + wxPoint(x_arrow_tx, x_axis_y + arrow_half), + }; + dc.DrawPolygon(3, tri); + } + + // Labels: "Material Ratio" and the leading "100%" share the same left x; the trailing + // "Model Height" follows the X-axis arrow tip (already clamped to make room). + const int label_left_x = y_axis_x + dip_px(10); + dc.SetTextForeground(theme.label); + dc.DrawText(axis_y_title, label_left_x, y_title_y); + + dc.SetFont(strong_font); + dc.SetTextForeground(theme.label_strong); + dc.DrawText(pct_text, label_left_x, y_title_y + y_title_sz.y + y_title_pct_gap); + + dc.DrawText(pct_text, rc.x + rc.width - pct_text_sz.x, x_axis_y); + dc.SetFont(label_font); + dc.SetTextForeground(theme.label); + dc.DrawText(axis_x_title, x_title_x, x_axis_y - x_title_sz.y / 2); + + if (!gc) + return; + + // Outline only when the curve colour is perceptually close to the background; otherwise the + // plain filament colour reads fine and the extra stroke would look heavy. + auto needs_outline = [&](const wxColour& c) { + return calc_color_distance(c, theme.background) < kBgSimilarThreshold; + }; + + // Only the geometry goes through the graphics context: dc.DrawLines() takes integer wxPoint + // and would quantize the curve back to whole pixels. The pen is still set on the dc, which + // forwards it here while keeping its own cached state in sync for later dc drawing. + auto draw_polyline = [&](const MixedGradientCurve& curve) { + if (curve.points.size() < 2) + return; + dc.SetPen(wxPen(curve.colour, dip_px(curve.stroke_dip))); + gc->StrokeLines(curve.points.size(), curve.points.data()); + }; + + for (const MixedGradientCurve& curve : curves) { + if (needs_outline(curve.colour)) + draw_polyline({curve.points, theme.outline, curve.stroke_dip + kOutlineExtraDip}); + draw_polyline(curve); + } + + // Control points: hollow circle with axis-colour border, theme-aware fill, drawn with a + // sub-pixel centre so the ring stays centred on the curve. + if (!anchors.empty()) { + const double r = dip_px(kPointRadius); + dc.SetPen(wxPen(theme.axis, 1)); + dc.SetBrush(wxBrush(theme.point_fill)); + for (const wxPoint2DDouble& p : anchors) + gc->DrawEllipse(p.m_x - r, p.m_y - r, r * 2, r * 2); + } + + memdc.SelectObject(wxNullBitmap); + raw_dc.DrawBitmap(buf, 0, 0); +} + +void draw_mixed_ratio_blend_bar(wxDC& dc, const wxRect& rect, const wxColour& first, + const wxColour& second, double second_fraction) +{ + if (rect.width <= 0 || rect.height <= 0) + return; + for (int x = 0; x < rect.width; ++x) { + const double t = rect.width > 1 ? double(x) / rect.width : 0.0; + const wxColour c = lerp_blend(first, second, 1.0 - t); + dc.SetPen(wxPen(c)); + dc.DrawLine(rect.x + x, rect.y, rect.x + x, rect.y + rect.height); + } + + // Fixed in both themes, like the triangle picker's drag handle: the divider is drawn over + // blended filament colour, so it has to keep its contrast against data rather than chrome. + const int div_x = rect.x + static_cast<int>(second_fraction * rect.width); + dc.SetPen(wxPen(wxColour(80, 80, 80), dip_px(4))); + dc.DrawLine(div_x, rect.y, div_x, rect.y + rect.height); + dc.SetPen(wxPen(*wxWHITE, dip_px(2))); + dc.DrawLine(div_x, rect.y, div_x, rect.y + rect.height); +} + +void draw_mixed_ratio_segments(wxDC& dc, const wxRect& rect, const std::vector<wxColour>& colours, + const std::vector<double>& shares) +{ + const size_t n = std::min(colours.size(), shares.size()); + if (n == 0 || rect.width <= 0 || rect.height <= 0) + return; + std::vector<double> norm = shares; + double total = 0.0; + for (double s : norm) + total += s; + if (total <= 0.0) { + norm.assign(n, 1.0 / n); + total = 1.0; + } + auto share_to_px = [&](double share_sum) { return rect.x + int(std::lround(share_sum / total * double(rect.width))); }; + int x0 = rect.x; + std::vector<wxRect> segs(n); + for (size_t i = 0; i < n; ++i) { + int x1 = rect.x + rect.width; + if (i + 1 < n) + x1 = share_to_px(std::accumulate(norm.begin(), norm.begin() + i + 1, 0.0)); + segs[i] = wxRect(x0, rect.y, std::max(1, x1 - x0), rect.height); + x0 = segs[i].GetRight() + 1; + } + for (size_t i = 0; i < n; ++i) { + dc.SetPen(*wxTRANSPARENT_PEN); + dc.SetBrush(wxBrush(colours[i])); + dc.DrawRectangle(segs[i]); + } + dc.SetBrush(*wxTRANSPARENT_BRUSH); + dc.SetPen(wxPen(StateColor::darkModeColorFor(wxColour("#ACACAC")), 1)); + dc.DrawRectangle(rect); +} + +namespace { + +struct TriCacheKey +{ + int w, h; + int c0r, c0g, c0b, c1r, c1g, c1b, c2r, c2g, c2b; + int bg_r, bg_g, bg_b, ol_r, ol_g, ol_b; + bool operator<(const TriCacheKey& o) const + { + return std::tie(w, h, c0r, c0g, c0b, c1r, c1g, c1b, c2r, c2g, c2b, bg_r, bg_g, bg_b, ol_r, ol_g, ol_b) < + std::tie(o.w, o.h, o.c0r, o.c0g, o.c0b, o.c1r, o.c1g, o.c1b, o.c2r, o.c2g, o.c2b, o.bg_r, o.bg_g, o.bg_b, o.ol_r, o.ol_g, o.ol_b); + } +}; + +std::map<TriCacheKey, wxBitmap>& tri_cache() +{ + static std::map<TriCacheKey, wxBitmap> cache; + return cache; +} + +} // namespace + +std::array<TriPoint, 3> mixed_triangle_vertices(const wxSize& size, double margin_dip) +{ + const double pw = size.GetWidth(), ph = size.GetHeight(); + const double margin = dip_px(int(margin_dip)); + const double avail = std::min(pw, ph) - 2.0 * margin; + const double side = avail; + const double tri_h = side * std::sqrt(3.0) / 2.0; + const double cx = pw / 2.0; + const double top_y = (ph - tri_h) / 2.0; + return {{{cx, top_y}, {cx - side / 2.0, top_y + tri_h}, {cx + side / 2.0, top_y + tri_h}}}; +} + +void draw_mixed_triangle_picker(wxDC& dc, const wxSize& size, const std::array<wxColour, 3>& colours, + const std::array<double, 3>& weights, const MixedTriangleTheme& theme) +{ + if (size.GetWidth() <= 0 || size.GetHeight() <= 0) + return; + const std::array<TriPoint, 3> v = mixed_triangle_vertices(size, kTriangleMarginDip); + + dc.SetBrush(wxBrush(theme.background)); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.DrawRectangle(0, 0, size.GetWidth(), size.GetHeight()); + + const wxColour& c0 = colours[0]; + const wxColour& c1 = colours[1]; + const wxColour& c2 = colours[2]; + const TriCacheKey key{size.GetWidth(), size.GetHeight(), + c0.Red(), c0.Green(), c0.Blue(), + c1.Red(), c1.Green(), c1.Blue(), + c2.Red(), c2.Green(), c2.Blue(), + theme.background.Red(), theme.background.Green(), theme.background.Blue(), + theme.outline.Red(), theme.outline.Green(), theme.outline.Blue()}; + + wxBitmap& bmp = tri_cache()[key]; + if (!bmp.IsOk()) { + bmp = wxBitmap(size.GetWidth(), size.GetHeight(), 24); + wxMemoryDC mdc(bmp); + mdc.SetBrush(wxBrush(theme.background)); + mdc.SetPen(*wxTRANSPARENT_PEN); + mdc.DrawRectangle(0, 0, size.GetWidth(), size.GetHeight()); + + const int min_y = int(std::min({v[0].y, v[1].y, v[2].y})); + const int max_y = int(std::max({v[0].y, v[1].y, v[2].y})); + const int min_x = int(std::min({v[0].x, v[1].x, v[2].x})); + const int max_x = int(std::max({v[0].x, v[1].x, v[2].x})); + for (int py = min_y; py <= max_y; ++py) { + for (int px = min_x; px <= max_x; ++px) { + const TriPoint p = {double(px), double(py)}; + if (!tri_contains(p, v[0], v[1], v[2])) + continue; + double w0, w1, w2; + tri_barycentric(p, v[0], v[1], v[2], w0, w1, w2); + unsigned char mr, mg, mb; + if (w0 + w1 > 1e-6) { + float t01 = float(w1 / (w0 + w1)); + Slic3r::filament_mixer_lerp(c0.Red(), c0.Green(), c0.Blue(), c1.Red(), c1.Green(), c1.Blue(), t01, &mr, &mg, &mb); + Slic3r::filament_mixer_lerp(mr, mg, mb, c2.Red(), c2.Green(), c2.Blue(), float(w2), &mr, &mg, &mb); + } else { + mr = c2.Red(); mg = c2.Green(); mb = c2.Blue(); + } + mdc.SetPen(wxPen(wxColour(mr, mg, mb))); + mdc.DrawPoint(px, py); + } + } + + mdc.SetPen(wxPen(theme.outline, 1)); + mdc.SetBrush(*wxTRANSPARENT_BRUSH); + const wxPoint pts[3] = {{int(v[0].x), int(v[0].y)}, {int(v[1].x), int(v[1].y)}, {int(v[2].x), int(v[2].y)}}; + mdc.DrawPolygon(3, pts); + mdc.SelectObject(wxNullBitmap); + + // Keep the cache from growing without bound across DPI/size changes. + if (tri_cache().size() > 6) { + auto& cache = tri_cache(); + cache.erase(cache.begin()); + } + } + dc.DrawBitmap(bmp, 0, 0); + + // Published-ratio marker (read-only twin of the editor's drag handle). + const double w0 = weights[0], w1 = weights[1], w2 = weights[2]; + const int hx = int(w0 * v[0].x + w1 * v[1].x + w2 * v[2].x); + const int hy = int(w0 * v[0].y + w1 * v[1].y + w2 * v[2].y); + dc.SetBrush(*wxWHITE_BRUSH); + dc.SetPen(wxPen(theme.ring, dip_px(2))); + dc.DrawCircle(hx, hy, dip_px(5)); +} + +void draw_mixed_triangle_labels(wxDC& dc, const wxSize& size, const std::array<double, 3>& weights, + const MixedTriangleTheme& theme) +{ + const std::array<TriPoint, 3> v = mixed_triangle_vertices(size, kTriangleMarginDip); + dc.SetFont(::Label::Body_12); + dc.SetTextForeground(theme.label); + + // "Ratio" title, sitting above the top vertex. + const wxString title = _L("Ratio"); + dc.DrawText(title, dip_px(2), std::max(0, int(v[0].y - dc.GetTextExtent(title).GetHeight() - dip_px(4)))); + + for (int i = 0; i < 3; ++i) { + const wxString text = wxString::Format("%d%%", int(std::lround(weights[i] * 100.0))); + const wxSize tsz = dc.GetTextExtent(text); + int lx = int(v[i].x - tsz.GetWidth() / 2.0); + int ly = (i == 0) ? int(v[i].y - tsz.GetHeight() - dip_px(4)) : int(v[i].y + dip_px(3)); + ly = std::clamp(ly, 0, size.GetHeight() - tsz.GetHeight()); + lx = std::clamp(lx, 0, size.GetWidth() - tsz.GetWidth()); + dc.DrawText(text, lx, ly); + } +} + }} // namespace Slic3r::GUI \ No newline at end of file diff --git a/src/slic3r/GUI/FilamentBitmapUtils.hpp b/src/slic3r/GUI/FilamentBitmapUtils.hpp index 11696f3401..687d34a825 100644 --- a/src/slic3r/GUI/FilamentBitmapUtils.hpp +++ b/src/slic3r/GUI/FilamentBitmapUtils.hpp @@ -5,6 +5,9 @@ #include <wx/colour.h> #include <wx/dc.h> #include <wx/gdicmn.h> +#include <wx/geometry.h> +#include <wx/graphics.h> +#include <array> #include <vector> // Orca: forward-declare so the header is self-contained outside libslic3r_gui's @@ -13,6 +16,16 @@ namespace Slic3r { class DynamicPrintConfig; struct GradientCurve; } namespace Slic3r { namespace GUI { +// Barycentric utilities for a ternary (triangle) ratio picker, shared by the mixed-filament +// editor and the Publish dialog's read-only definition preview. +struct TriPoint { double x, y; }; + +double tri_signed_area2(TriPoint a, TriPoint b, TriPoint c); +bool tri_contains(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2); +void tri_barycentric(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2, + double& w0, double& w1, double& w2); +TriPoint tri_clamp(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2); + // Fills a rect with a west->east linear gradient by drawing solid 1px columns. // Use instead of wxDC::GradientFillLinear, whose CoreGraphics (CGShading) backend // fails to render on some macOS builds; solid fills are unaffected. @@ -51,6 +64,12 @@ std::vector<wxColour> sample_gradient_ramp(const wxColour& first, // destination's height in pixels. std::vector<wxColour> mixed_gradient_ramp(const Slic3r::DynamicPrintConfig& cfg, size_t slot, int steps); +// Resolve the curve a gradient slot is sampled with: the custom curve wins when it has at +// least two points, otherwise a straight line between gradient_range's endpoints, otherwise +// the 0.10 -> 0.90 default. Mirrors the slicer's ToolOrdering fallback so every preview +// agrees with what gets sliced. Always returns a two-point curve. +Slic3r::GradientCurve mixed_gradient_curve(const Slic3r::DynamicPrintConfig& cfg, size_t slot); + // Fill rect with a ramp, ramp.front() along the bottom edge. void fill_gradient_ramp_rect(wxDC& dc, const wxRect& rect, const std::vector<wxColour>& ramp); @@ -63,6 +82,81 @@ wxBitmap create_gradient_ramp_bitmap(const std::vector<wxColour>& ramp, const wx void recompute_mixed_slot_colors(std::vector<wxColour>& colors, const Slic3r::DynamicPrintConfig& cfg); +// --- Gradient plot (shared by GradientCurveEditor and the Publish dialog's read-only +// preview). The plot is a square 1:1 rect laid out with the editor's ratios so both +// render identically; curves are drawn as sub-pixel anti-aliased polylines through +// wxGCDC so they never quantize to whole pixels. + +// One curve of the plot: screen-space sub-pixel points already mapped into the plot +// rect, the stroke colour and the stroke width in DIP. +struct MixedGradientCurve +{ + std::vector<wxPoint2DDouble> points; + wxColour colour; + int stroke_dip; +}; + +// Theme tokens, resolved by the caller through StateColor::darkModeColorFor. +struct MixedGradientTheme +{ + wxColour background; // for near-background outline detection + wxColour grid; // grid line + wxColour axis; // axis + arrow fill + wxColour label; // "Material Ratio" / "Model Height" + wxColour label_strong; // "100%" + wxColour outline; // near-background curve lift + wxColour point_fill; // anchor fill +}; + +// Square 1:1 plot rect inside `canvas`, using the editor's plot ratios. +wxRect mixed_gradient_plot_rect(const wxSize& canvas); + +// Draw the whole plot (grid, axes + arrowheads, axis labels, each curve with an optional +// near-background outline, and anchor circles). `anchors` are empty when the caller has +// none to show. `dc` is the caller's buffered paint DC; a wxGCDC is created inside so the +// geometry gets anti-aliased. +void draw_mixed_gradient_plot(wxDC& dc, const wxSize& canvas, + const std::vector<MixedGradientCurve>& curves, + const std::vector<wxPoint2DDouble>& anchors, + const MixedGradientTheme& theme); + +// --- Ratio bar (2-component continuous blend + divider, matching MixedFilamentDialog). +// Colours blend first->second across the rect; the divider marks `second_fraction` of the +// rect's width (the second component's share, 0..1). +void draw_mixed_ratio_blend_bar(wxDC& dc, const wxRect& rect, const wxColour& first, + const wxColour& second, double second_fraction); + +// Fallback ratio bar for N>2 non-gradient slots: one solid segment per component, +// widths proportional to shares. Label text (the "NN%" inside wide-enough segments) is +// the caller's concern. +void draw_mixed_ratio_segments(wxDC& dc, const wxRect& rect, const std::vector<wxColour>& colours, + const std::vector<double>& shares); + +// --- Triangle picker (3-component), shared by MixedFilamentDialog and the Publish preview. +struct MixedTriangleTheme +{ + wxColour background; + wxColour outline; // triangle border + wxColour ring; // drag-handle ring + wxColour label; // "Ratio" title + per-vertex labels +}; + +// The three vertices of the read-only/miniature triangle inside a `size` square panel, +// with `margin_dip` inset. Order: top, bottom-left, bottom-right. +std::array<TriPoint, 3> mixed_triangle_vertices(const wxSize& size, double margin_dip = 20.0); + +// Draw background, the cached barycentric fill, the outline and the drag-handle marker. +// `weights` are the three barycentric shares (sum 1). The "Ratio" title and per-vertex +// percentage labels are drawn by the caller so the interactive editor can keep its own +// live child labels while the read-only preview draws them as text. +void draw_mixed_triangle_picker(wxDC& dc, const wxSize& size, const std::array<wxColour, 3>& colours, + const std::array<double, 3>& weights, const MixedTriangleTheme& theme); + +// Draw the "Ratio" title plus one "NN%" label per vertex (used by the read-only preview; +// the interactive editor positions its own live labels instead). +void draw_mixed_triangle_labels(wxDC& dc, const wxSize& size, const std::array<double, 3>& weights, + const MixedTriangleTheme& theme); + }} // namespace Slic3r::GUI #endif // slic3r_GUI_FilamentBitmapUtils_hpp_ \ No newline at end of file diff --git a/src/slic3r/GUI/FilamentMapPanel.cpp b/src/slic3r/GUI/FilamentMapPanel.cpp index 81117bc2a6..0f3cc7217d 100644 --- a/src/slic3r/GUI/FilamentMapPanel.cpp +++ b/src/slic3r/GUI/FilamentMapPanel.cpp @@ -1,5 +1,6 @@ #include "FilamentMapPanel.hpp" #include "GUI_App.hpp" +#include "I18N.hpp" #include "Plater.hpp" #include "Widgets/MultiNozzleSync.hpp" // manuallySetNozzleCount producer for extruder_nozzle_stats #include <algorithm> diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 49477ac7dd..68e81493c1 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -17,6 +17,7 @@ #include "Plater.hpp" #include "Camera.hpp" #include "I18N.hpp" +#include "format.hpp" #include "GUI_Utils.hpp" #include "GUI.hpp" #include "GLCanvas3D.hpp" @@ -103,6 +104,31 @@ static std::string get_view_type_string(libvgcode::EViewType view_type) return ""; } +// ORCA: Stable, locale independent names used to persist a view type in the application config. +// Keep these in sync with the entries of libvgcode::EViewType exposed in the preview combo box. +static const std::vector<std::pair<std::string, libvgcode::EViewType>>& view_type_config_map() +{ + static const std::vector<std::pair<std::string, libvgcode::EViewType>> map = { + { "summary", libvgcode::EViewType::Summary }, + { "feature_type", libvgcode::EViewType::FeatureType }, + { "color_print", libvgcode::EViewType::ColorPrint }, + { "speed", libvgcode::EViewType::Speed }, + { "actual_speed", libvgcode::EViewType::ActualSpeed }, + { "acceleration", libvgcode::EViewType::Acceleration }, + { "jerk", libvgcode::EViewType::Jerk }, + { "height", libvgcode::EViewType::Height }, + { "width", libvgcode::EViewType::Width }, + { "volumetric_flow_rate", libvgcode::EViewType::VolumetricFlowRate }, + { "actual_volumetric_flow_rate", libvgcode::EViewType::ActualVolumetricFlowRate }, + { "layer_time_linear", libvgcode::EViewType::LayerTimeLinear }, + { "layer_time_logarithmic", libvgcode::EViewType::LayerTimeLogarithmic }, + { "fan_speed", libvgcode::EViewType::FanSpeed }, + { "temperature", libvgcode::EViewType::Temperature }, + { "pressure_advance", libvgcode::EViewType::PressureAdvance }, + }; + return map; +} + // Find an index of a value in a sorted vector, which is in <z-eps, z+eps>. // Returns -1 if there is no such member. static int find_close_layer_idx(const std::vector<double> &zs, double &z, double eps) @@ -996,13 +1022,17 @@ void GCodeViewer::SequentialView::GCodeWindow::stop_mapping_file() BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": finished mapping file " << m_filename; } } -void GCodeViewer::SequentialView::render(const bool has_render_path, float legend_height, const libvgcode::Viewer* viewer, uint32_t gcode_id, int canvas_width, int canvas_height, int right_margin, const libvgcode::EViewType& view_type) +void GCodeViewer::SequentialView::render_marker(const bool has_render_path, int canvas_width, int canvas_height, const libvgcode::EViewType& view_type) { - if (has_render_path && m_show_marker) { + if (has_render_path && m_show_marker) // marker.set_world_offset(current_offset); marker.render(canvas_width, canvas_height, view_type); +} + +void GCodeViewer::SequentialView::render_overlay(const bool has_render_path, float legend_height, const libvgcode::Viewer* viewer, uint32_t gcode_id, int canvas_width, int canvas_height, int right_margin, const libvgcode::EViewType& view_type) +{ + if (has_render_path && m_show_marker) marker.render_position_window(viewer, canvas_width, canvas_height, view_type); - } //float bottom = wxGetApp().plater()->get_current_canvas3D()->get_canvas_size().get_height(); // BBS @@ -1086,9 +1116,7 @@ void GCodeViewer::init(ConfigOptionMode mode, PresetBundle* preset_bundle) // Default view type at first slice. // May be overridden in load() once we know how many tools are actually used in the G-code. m_nozzle_nums = preset_bundle ? preset_bundle->get_printer_extruder_count() : 1; - auto it = std::find(view_type_items.begin(), view_type_items.end(), libvgcode::EViewType::FeatureType); - m_view_type_sel = (it != view_type_items.end()) ? std::distance(view_type_items.begin(), it) : 0; - set_view_type(libvgcode::EViewType::FeatureType); + apply_default_view_type(); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": finished"); } @@ -1109,6 +1137,73 @@ void GCodeViewer::set_scale(float scale) } } +// ORCA: Preview default view type preference, see "preview_default_view_type" in the application config. +std::string GCodeViewer::view_type_to_config_name(libvgcode::EViewType type) +{ + for (const auto& [name, value] : view_type_config_map()) { + if (value == type) + return name; + } + return std::string(); +} + +bool GCodeViewer::view_type_from_config_name(const std::string& name, libvgcode::EViewType& type) +{ + for (const auto& [config_name, value] : view_type_config_map()) { + if (config_name == name) { + type = value; + return true; + } + } + return false; +} + +std::vector<std::pair<std::string, std::string>> GCodeViewer::default_view_type_choices() +{ + std::vector<std::pair<std::string, std::string>> choices = { + { "auto", _u8L("Automatic") }, + { "last", _u8L("Last used") }, + }; + for (const auto& [name, type] : view_type_config_map()) + choices.push_back({ name, get_view_type_string(type) }); + return choices; +} + +void GCodeViewer::select_view_type(libvgcode::EViewType type) +{ + auto it = std::find(view_type_items.begin(), view_type_items.end(), type); + m_view_type_sel = (it != view_type_items.end()) ? static_cast<int>(std::distance(view_type_items.begin(), it)) : 0; + set_view_type(type); +} + +// ORCA: Pick the view type the preview opens with, following the "preview_default_view_type" preference: +// a fixed view type, the one the user picked last ("last"), or the automatic choice ("auto", the default) +// which shows Filament for multi material prints and Line Type for single material ones. +// The default is only (re)applied when it actually changes, so a view type picked by hand survives a reslice. +void GCodeViewer::apply_default_view_type() +{ + const std::string preference = wxGetApp().app_config->get("preview_default_view_type"); + + std::string key = preference; + libvgcode::EViewType type = libvgcode::EViewType::FeatureType; + if (preference == "last") { + if (!view_type_from_config_name(wxGetApp().app_config->get("preview_last_view_type"), type)) + type = libvgcode::EViewType::FeatureType; + } + else if (!view_type_from_config_name(preference, type)) { + // "auto", or an unknown value written by a newer version + const bool multi_material = m_viewer.get_used_extruders_count() > 1; + type = multi_material ? libvgcode::EViewType::ColorPrint : libvgcode::EViewType::FeatureType; + key = multi_material ? "auto_multi_material" : "auto_single_material"; + } + + if (m_applied_default_view_type_key == key) + return; + + m_applied_default_view_type_key = key; + select_view_type(type); +} + void GCodeViewer::update_by_mode(ConfigOptionMode mode) { view_type_items.clear(); @@ -1390,27 +1485,8 @@ void GCodeViewer::load_as_gcode(const GCodeProcessorResult& gcode_result, const // load_toolpaths(gcode_result, build_volume, exclude_bounding_box); - // ORCA: Apply smart default view type when extruder count changes. - // Multi-color: ColorPrint (Filament), Single-color: FeatureType (Line Type). - // User selections persist within same extruder count, defaults reapply on count change. - int current_count = m_viewer.get_used_extruders_count(); - if (current_count > 1) { - if (m_last_extruder_count_default_applied != 2) { - auto it = std::find(view_type_items.begin(), view_type_items.end(), libvgcode::EViewType::ColorPrint); - if (it != view_type_items.end()) - m_view_type_sel = std::distance(view_type_items.begin(), it); - set_view_type(libvgcode::EViewType::ColorPrint); - m_last_extruder_count_default_applied = 2; - } - } else { - if (m_last_extruder_count_default_applied != 1) { - auto it = std::find(view_type_items.begin(), view_type_items.end(), libvgcode::EViewType::FeatureType); - if (it != view_type_items.end()) - m_view_type_sel = std::distance(view_type_items.begin(), it); - set_view_type(libvgcode::EViewType::FeatureType); - m_last_extruder_count_default_applied = 1; - } - } + // ORCA: Apply the default view type now that we know how many tools the G-code actually uses. + apply_default_view_type(); // BBS: data for rendering color arrangement recommendation m_nozzle_nums = print.config().option<ConfigOptionFloats>("nozzle_diameter")->values.size(); @@ -1617,16 +1693,53 @@ void GCodeViewer::reset() } //BBS: GUI refactor: add canvas width and height -void GCodeViewer::render(int canvas_width, int canvas_height, int right_margin) +void GCodeViewer::render_scene(int canvas_width, int canvas_height) { glsafe(::glEnable(GL_DEPTH_TEST)); render_shells(canvas_width, canvas_height); - if (m_viewer.get_extrusion_roles().empty()) + if (m_viewer.get_extrusion_roles_count() == 0) return; render_toolpaths(); + auto current = m_viewer.get_view_visible_range(); + auto endpoints = m_viewer.get_view_full_range(); + m_sequential_view.m_show_marker = m_sequential_view.m_show_marker || (current.back() != endpoints.back() && !m_no_render_path); + const libvgcode::PathVertex& curr_vertex = m_viewer.get_current_vertex(); + m_sequential_view.marker.set_world_position(libvgcode::convert(curr_vertex.position)); + m_sequential_view.marker.set_z_offset(m_z_offset + 0.5f); + m_sequential_view.render_marker(!m_no_render_path, canvas_width, sequential_view_height(canvas_height), m_viewer.get_view_type()); +} + +void GCodeViewer::render_shadow_casters(const Transform3d& light_view_matrix, const Transform3d& light_projection_matrix, const Vec3d& light_position) +{ + if (!has_data()) + return; + + m_viewer.render_shadow_casters( + libvgcode::convert(static_cast<Matrix4f>(light_view_matrix.matrix().cast<float>())), + libvgcode::convert(static_cast<Matrix4f>(light_projection_matrix.matrix().cast<float>())), + libvgcode::convert(static_cast<Vec3f>(light_position.cast<float>()))); +} + +void GCodeViewer::set_shadow_map(int texture_unit, const Transform3d& light_view_projection, float intensity, float texel_size) +{ + m_viewer.set_shadow_map(texture_unit, + libvgcode::convert(static_cast<Matrix4f>(light_view_projection.matrix().cast<float>())), + intensity, texel_size); +} + +void GCodeViewer::set_tone(float exposure, float saturation) +{ + m_viewer.set_tone(exposure, saturation); +} + +void GCodeViewer::render_overlay(int canvas_width, int canvas_height, int right_margin) +{ + if (m_viewer.get_extrusion_roles().empty()) + return; + float legend_height = 0.0f; render_legend(legend_height, canvas_width, canvas_height, right_margin); @@ -1635,16 +1748,7 @@ void GCodeViewer::render(int canvas_width, int canvas_height, int right_margin) m_user_mode = wxGetApp().get_mode(); } - //BBS fixed bottom_margin for space to render horiz slider - int bottom_margin = SLIDER_BOTTOM_MARGIN * GCODE_VIEWER_SLIDER_SCALE; - auto current = m_viewer.get_view_visible_range(); - auto endpoints = m_viewer.get_view_full_range(); - m_sequential_view.m_show_marker = m_sequential_view.m_show_marker || (current.back() != endpoints.back() && !m_no_render_path); - const libvgcode::PathVertex& curr_vertex = m_viewer.get_current_vertex(); - m_sequential_view.marker.set_world_position(libvgcode::convert(curr_vertex.position)); - m_sequential_view.marker.set_z_offset(m_z_offset + 0.5f); - // BBS fixed buttom margin. m_moves_slider.pos_y - m_sequential_view.render(!m_no_render_path, legend_height, &m_viewer, m_viewer.get_current_vertex().gcode_id, canvas_width, canvas_height - bottom_margin * m_scale, right_margin * m_scale, m_viewer.get_view_type()); + m_sequential_view.render_overlay(!m_no_render_path, legend_height, &m_viewer, m_viewer.get_current_vertex().gcode_id, canvas_width, sequential_view_height(canvas_height), right_margin * m_scale, m_viewer.get_view_type()); #if VGCODE_ENABLE_COG_AND_TOOL_MARKERS if (is_legend_shown()) { @@ -1685,6 +1789,14 @@ void GCodeViewer::render(int canvas_width, int canvas_height, int right_margin) render_slider(canvas_width, canvas_height); } +int GCodeViewer::sequential_view_height(int canvas_height) const +{ + //BBS fixed bottom_margin for space to render horiz slider + const int bottom_margin = SLIDER_BOTTOM_MARGIN * GCODE_VIEWER_SLIDER_SCALE; + // BBS fixed buttom margin. m_moves_slider.pos_y + return canvas_height - bottom_margin * m_scale; +} + #define ENABLE_CALIBRATION_THUMBNAIL_OUTPUT 0 #if ENABLE_CALIBRATION_THUMBNAIL_OUTPUT static void debug_calibration_output_thumbnail(const ThumbnailData& thumbnail_data) @@ -3408,6 +3520,12 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv std::vector<std::pair<ColorRGBA, std::pair<double, double>>> ret; ret.reserve(custom_gcode_per_print_z.size()); + // Loop invariant, but built lazily: this lambda runs once per extruder on every frame + // and most prints reach neither colour change below, so fetching it up front would cost + // more than the per-item fetch it replaces. + std::vector<float> zs; + bool zs_built = false; + for (const auto& item : custom_gcode_per_print_z) { if (extruder_id + 1 != static_cast<unsigned char>(item.extruder)) continue; @@ -3415,7 +3533,10 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv if (item.type != ColorChange) continue; - const std::vector<float> zs = m_viewer.get_layers_zs(); + if (!zs_built) { + zs = m_viewer.get_layers_zs(); + zs_built = true; + } auto lower_b = std::lower_bound(zs.begin(), zs.end(), static_cast<float>(item.print_z - epsilon())); if (lower_b == zs.end()) @@ -3436,16 +3557,18 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv return ret; }; + // Whole sentences: the bare "up to"/"above"/"from"/"to" these used to be glued from gave a + // translator no context, and left the unit and the numbers stuck in English word order. auto upto_label = [](double z) { char buf[64]; ::sprintf(buf, "%.2f", z); - return _u8L("up to") + " " + std::string(buf) + " " + _u8L("mm"); + return format(_u8L("up to %1% mm"), buf); }; auto above_label = [](double z) { char buf[64]; ::sprintf(buf, "%.2f", z); - return _u8L("above") + " " + std::string(buf) + " " + _u8L("mm"); + return format(_u8L("above %1% mm"), buf); }; auto fromto_label = [](double z1, double z2) { @@ -3453,7 +3576,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv ::sprintf(buf1, "%.2f", z1); char buf2[64]; ::sprintf(buf2, "%.2f", z2); - return _u8L("from") + " " + std::string(buf1) + " " + _u8L("to") + " " + std::string(buf2) + " " + _u8L("mm"); + return format(_u8L("from %1% to %2% mm"), buf1, buf2); }; auto role_time_and_percent = [this, total_estimated_time](libvgcode::EGCodeExtrusionRole role) { @@ -3538,6 +3661,10 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv m_view_type_sel = i; set_view_type(view_type_items[m_view_type_sel]); reset_visible(view_type_items[m_view_type_sel]); + // ORCA: remember the pick so the "Last used" preview default can restore it + const std::string view_type_name = view_type_to_config_name(view_type_items[m_view_type_sel]); + if (!view_type_name.empty()) + wxGetApp().app_config->set("preview_last_view_type", view_type_name); update_moves_slider(); #if ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT imgui.set_requires_extra_frame(); @@ -4562,6 +4689,8 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv // ORCA: Get layer Zs as doubles std::vector<double> layer_zs = get_layers_zs(); + // loop invariant, same reason as the layer Zs above + const std::vector<float> layer_times = m_viewer.get_layers_estimated_times(); for (Slic3r::CustomGCode::Item custom_gcode : custom_gcode_per_print_z) { ImGui::Dummy({window_padding, window_padding}); @@ -4581,7 +4710,6 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv imgui.text(buf); ImGui::SameLine(max_len * 1.5); - std::vector<float> layer_times = m_viewer.get_layers_estimated_times(); float custom_gcode_time = 0; if (layer > 0) { @@ -4630,7 +4758,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv std::string print_str = _u8L("Model printing time"); std::string total_str = _u8L("Total time"); float max_len = window_padding + 2 * ImGui::GetStyle().ItemSpacing.x; - if (m_viewer.get_layers_estimated_times().empty()) + if (m_viewer.get_layers_count() == 0) max_len += ImGui::CalcTextSize(total_str.c_str()).x; else { if (m_viewer.get_view_type() == libvgcode::EViewType::FeatureType) diff --git a/src/slic3r/GUI/GCodeViewer.hpp b/src/slic3r/GUI/GCodeViewer.hpp index 5ba748775c..f4ebe2e81d 100644 --- a/src/slic3r/GUI/GCodeViewer.hpp +++ b/src/slic3r/GUI/GCodeViewer.hpp @@ -153,7 +153,10 @@ public: GCodeWindow gcode_window; float m_scale = 1.0; bool m_show_marker = false; - void render(const bool has_render_path, float legend_height, const libvgcode::Viewer* viewer, uint32_t gcode_id, int canvas_width, int canvas_height, int right_margin, const libvgcode::EViewType& view_type); + // The tool marker at the current move, drawn in 3D. + void render_marker(const bool has_render_path, int canvas_width, int canvas_height, const libvgcode::EViewType& view_type); + // The marker's position window and the G-code window, both ImGui. + void render_overlay(const bool has_render_path, float legend_height, const libvgcode::Viewer* viewer, uint32_t gcode_id, int canvas_width, int canvas_height, int right_margin, const libvgcode::EViewType& view_type); }; struct ExtruderFilament { @@ -225,7 +228,8 @@ private: std::vector<libvgcode::EViewType> view_type_items; std::vector<std::string> view_type_items_str; int m_view_type_sel = 0; - int m_last_extruder_count_default_applied{0}; // 0=unset, 1=single, 2+=multi + // ORCA: which default view type was last applied, see apply_default_view_type(). Empty until the first one is applied. + std::string m_applied_default_view_type_key; std::vector<EMoveType> options_items; bool m_legend_visible{ true }; @@ -272,7 +276,17 @@ public: //BBS: add all plates filament statistics void render_all_plates_stats(const std::vector<const GCodeProcessorResult*>& gcode_result_list, bool show = true) const; //BBS: GUI refactor: add canvas width and height - void render(int canvas_width, int canvas_height, int right_margin); + // Shells, toolpaths and the sequential marker, drawn in 3D. + void render_scene(int canvas_width, int canvas_height); + // Legend, sliders, the marker's position window and the G-code window, all ImGui. + void render_overlay(int canvas_width, int canvas_height, int right_margin); + // ORCA: realistic view. Depth-only pass drawing the toolpaths as the light sees them, into + // the shadow map the caller has bound, and the map they sample back in render_scene. + void render_shadow_casters(const Transform3d& light_view_matrix, const Transform3d& light_projection_matrix, const Vec3d& light_position); + void set_shadow_map(int texture_unit, const Transform3d& light_view_projection, float intensity, float texel_size); + // ORCA: tone applied to the shaded toolpaths, paying back the light the lighting term, + // the shadow and the SSAO pass each take off. 1.0/1.0 is a no-op. + void set_tone(float exposure, float saturation); //BBS // void _render_calibration_thumbnail_internal(ThumbnailData& thumbnail_data, const ThumbnailsParams& thumbnail_params, PartPlateList& partplate_list, OpenGLManager& opengl_manager); // void _render_calibration_thumbnail_framebuffer(ThumbnailData& thumbnail_data, unsigned int w, unsigned int h, const ThumbnailsParams& thumbnail_params, PartPlateList& partplate_list, OpenGLManager& opengl_manager); @@ -318,6 +332,16 @@ public: void set_view_type(libvgcode::EViewType type) { m_viewer.set_view_type(type); } + // ORCA: select a view type in the preview combo box and apply it + void select_view_type(libvgcode::EViewType type); + // ORCA: apply the "preview_default_view_type" preference, see the definition for the supported values + void apply_default_view_type(); + + // ORCA: stable, locale independent name of a view type, as stored in the application config + static std::string view_type_to_config_name(libvgcode::EViewType type); + static bool view_type_from_config_name(const std::string& name, libvgcode::EViewType& type); + // ORCA: (config value, translated label) pairs for the "preview_default_view_type" preference combo box + static std::vector<std::pair<std::string, std::string>> default_view_type_choices(); void reset_visible(libvgcode::EViewType type) { if (type == libvgcode::EViewType::FeatureType) { auto roles = m_viewer.get_extrusion_roles(); @@ -362,6 +386,8 @@ public: private: //BBS: always load shell at preview //void load_shells(const Print& print); + // Canvas height minus the room the horizontal slider takes. + int sequential_view_height(int canvas_height) const; void render_toolpaths(); void render_shells(int canvas_width, int canvas_height); diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 6cdc27ed65..ffa067308c 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1,5 +1,8 @@ #include "libslic3r/libslic3r.h" #include "GLCanvas3D.hpp" +#ifdef SLIC3R_CAD +#include "slic3r/GUI/CAD/DesignSketchTool.hpp" // Design tab: interactive 2D sketch tool +#endif #include <igl/unproject.h> @@ -17,6 +20,7 @@ #include "libslic3r/AppConfig.hpp" #include "3DScene.hpp" #include "BackgroundSlicingProcess.hpp" +#include "CameraUtils.hpp" #include "GLShader.hpp" #include "GUI.hpp" #include "Tab.hpp" @@ -26,6 +30,7 @@ #include "MainFrame.hpp" #include "WipeTowerDialog.hpp" #include "GUI_App.hpp" +#include "Shortcuts.hpp" #include "GUI_ObjectList.hpp" #include "GUI_Colors.hpp" #include "Mouse3DController.hpp" @@ -39,6 +44,7 @@ #include "slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp" #include "slic3r/Utils/UndoRedo.hpp" #include "slic3r/Utils/MacDarkMode.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include <slic3r/GUI/GUI_Utils.hpp> @@ -66,6 +72,7 @@ #include <tbb/parallel_for.h> #include <tbb/spin_mutex.h> +#include <boost/functional/hash.hpp> #include <boost/log/trivial.hpp> #include <boost/algorithm/string/predicate.hpp> @@ -73,6 +80,7 @@ #include <float.h> #include <algorithm> #include <cmath> +#include <set> #ifndef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS @@ -110,6 +118,36 @@ void GLCanvas3D::load_render_colors() namespace Slic3r { namespace GUI { +static void pan_camera(Camera& camera, const Vec2d& screen_delta, const Vec3d& anchor) +{ + // Orca: Derive world-units-per-pixel from the projection which produced the visible frame. + // Perspective additionally scales with the eye-space depth of the point being dragged. + const auto& viewport = camera.get_viewport(); + const auto& projection = camera.get_projection_matrix().matrix(); + const double depth_scale = camera.get_type() == Camera::EType::Perspective ? + (anchor - camera.get_position()).dot(camera.get_dir_forward()) : 1.0; + const double projection_x = projection(0, 0) * viewport[2]; + const double projection_y = projection(1, 1) * viewport[3]; + + // Orca: X/Y projection coefficients already include zoom. Using them directly avoids a + // project/unproject round-trip through window depth, whose precision depends on the scene frustum. + if (viewport[2] > 0 && viewport[3] > 0 && anchor.allFinite() && depth_scale > EPSILON && + std::abs(projection_x) > EPSILON && std::abs(projection_y) > EPSILON) { + const Vec3d displacement = 2.0 * depth_scale * + (screen_delta.y() / projection_y * camera.get_dir_up() - + screen_delta.x() / projection_x * camera.get_dir_right()); + if (displacement.allFinite()) { + camera.translate(displacement); + return; + } + } + + // Orca: Preserve the former target-plane behavior if the projection or anchor is invalid. + // Screen Y grows downward, and the camera moves opposite to the drag. + camera.translate(camera.get_inv_zoom() * + (screen_delta.y() * camera.get_dir_up() - screen_delta.x() * camera.get_dir_right())); +} + #ifdef __WXGTK3__ // wxGTK3 seems to simulate OSX behavior in regard to HiDPI scaling support. RetinaHelper::RetinaHelper(wxWindow* window) : m_window(window), m_self(nullptr) {} @@ -367,7 +405,6 @@ void GLCanvas3D::LayersEditing::render_variable_layer_height_dialog(GLCanvas3D& void GLCanvas3D::LayersEditing::render_overlay(GLCanvas3D& canvas) { - render_variable_layer_height_dialog(canvas); render_active_object_annotations(canvas); render_profile(canvas); } @@ -1039,7 +1076,6 @@ wxDEFINE_EVENT(EVT_GLCANVAS_ORIENT_PARTPLATE, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_SELECT_ALL, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_QUESTION_MARK, SimpleEvent); -wxDEFINE_EVENT(EVT_GLCANVAS_OPEN_SPEED_DIAL, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_INCREASE_INSTANCES, Event<int>); wxDEFINE_EVENT(EVT_GLCANVAS_INSTANCE_MOVED, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_INSTANCE_ROTATED, SimpleEvent); @@ -1052,9 +1088,6 @@ wxDEFINE_EVENT(EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_UPDATE_BED_SHAPE, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_TAB, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_RESETGIZMOS, SimpleEvent); -wxDEFINE_EVENT(EVT_GLCANVAS_MOVE_SLIDERS, wxKeyEvent); -wxDEFINE_EVENT(EVT_GLCANVAS_EDIT_COLOR_CHANGE, wxKeyEvent); -wxDEFINE_EVENT(EVT_GLCANVAS_JUMP_TO, wxKeyEvent); wxDEFINE_EVENT(EVT_GLCANVAS_UNDO, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_REDO, SimpleEvent); wxDEFINE_EVENT(EVT_GLCANVAS_SWITCH_TO_OBJECT, SimpleEvent); @@ -1078,56 +1111,36 @@ const double GLCanvas3D::DefaultCameraZoomToPlateMarginFactor = 1.25; void GLCanvas3D::load_arrange_settings() { - std::string dist_fff_str = - wxGetApp().app_config->get("arrange", "min_object_distance_fff"); + // Each key must match what _render_arrange_menu writes, which appends a per-mode + // postfix to the base name. + auto load_float = [](const char *key, float &out) { + // The menu writes these with float_to_string_decimal_point, so parse them back + // the same way rather than with anything locale-dependent. + std::string value = wxGetApp().app_config->get("arrange", key); + size_t parsed = 0; + double number = string_to_double_decimal_point(value, &parsed); + if (parsed > 0) + out = float(number); + }; + auto load_bool = [](const char *key, bool &out) { + std::string value = wxGetApp().app_config->get("arrange", key); + if (!value.empty()) + out = (value == "1" || value == "true"); + }; - std::string dist_fff_seq_print_str = - wxGetApp().app_config->get("arrange", "min_object_distance_seq_print_fff"); + load_float("min_object_distance_fff", m_arrange_settings_fff.distance); + load_float("min_object_distance_fff_seq_print", m_arrange_settings_fff_seq_print.distance); + load_float("min_object_distance_sla", m_arrange_settings_sla.distance); - std::string dist_sla_str = - wxGetApp().app_config->get("arrange", "min_object_distance_sla"); + load_bool("enable_rotation_fff", m_arrange_settings_fff.enable_rotation); + load_bool("enable_rotation_fff_seq_print", m_arrange_settings_fff_seq_print.enable_rotation); + load_bool("enable_rotation_sla", m_arrange_settings_sla.enable_rotation); - std::string en_rot_fff_str = - wxGetApp().app_config->get("arrange", "enable_rotation_fff"); - - std::string en_rot_fff_seqp_str = - wxGetApp().app_config->get("arrange", "enable_rotation_seq_print"); - - std::string en_rot_sla_str = - wxGetApp().app_config->get("arrange", "enable_rotation_sla"); - - std::string en_allow_multiple_materials_str = - wxGetApp().app_config->get("arrange", "allow_multi_materials_on_same_plate"); - - std::string en_avoid_region_str = - wxGetApp().app_config->get("arrange", "avoid_extrusion_cali_region"); - - - - if (!dist_fff_str.empty()) - m_arrange_settings_fff.distance = std::stof(dist_fff_str); - - if (!dist_fff_seq_print_str.empty()) - m_arrange_settings_fff_seq_print.distance = std::stof(dist_fff_seq_print_str); - - if (!dist_sla_str.empty()) - m_arrange_settings_sla.distance = std::stof(dist_sla_str); - - if (!en_rot_fff_str.empty()) - m_arrange_settings_fff.enable_rotation = (en_rot_fff_str == "1" || en_rot_fff_str == "true"); - - if (!en_allow_multiple_materials_str.empty()) - m_arrange_settings_fff.allow_multi_materials_on_same_plate = (en_allow_multiple_materials_str == "1" || en_allow_multiple_materials_str == "true"); - - - if (!en_rot_fff_seqp_str.empty()) - m_arrange_settings_fff_seq_print.enable_rotation = (en_rot_fff_seqp_str == "1" || en_rot_fff_seqp_str == "true"); - - if(!en_avoid_region_str.empty()) - m_arrange_settings_fff.avoid_extrusion_cali_region = (en_avoid_region_str == "1" || en_avoid_region_str == "true"); - - if (!en_rot_sla_str.empty()) - m_arrange_settings_sla.enable_rotation = (en_rot_sla_str == "1" || en_rot_sla_str == "true"); + // These two keys carry no postfix, so the one stored value covers both FFF modes. + load_bool("allow_multi_materials_on_same_plate", m_arrange_settings_fff.allow_multi_materials_on_same_plate); + load_bool("allow_multi_materials_on_same_plate", m_arrange_settings_fff_seq_print.allow_multi_materials_on_same_plate); + load_bool("avoid_extrusion_cali_region", m_arrange_settings_fff.avoid_extrusion_cali_region); + load_bool("avoid_extrusion_cali_region", m_arrange_settings_fff_seq_print.avoid_extrusion_cali_region); //BBS: add specific arrange settings m_arrange_settings_fff_seq_print.is_seq_print = true; @@ -1192,7 +1205,6 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, Bed3D &bed) , m_dynamic_background_enabled(false) , m_multisample_allowed(false) , m_moving(false) - , m_tab_down(false) , m_camera_movement(false) , m_cursor_type(Standard) , m_color_by("volume") @@ -1209,6 +1221,7 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, Bed3D &bed) #endif // ENABLE_RETINA_GL } m_timer_set_color.Bind(wxEVT_TIMER, &GLCanvas3D::on_set_color_timer, this); + m_fps_overlay_timer.Bind(wxEVT_TIMER, &GLCanvas3D::on_fps_overlay_timer, this); load_arrange_settings(); m_selection.set_volumes(&m_volumes.volumes); @@ -1225,6 +1238,7 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, Bed3D &bed) GLCanvas3D::~GLCanvas3D() { if (_set_current()) { + m_scene_cache.reset(); if (m_fxaa_texture_id != 0) { glsafe(::glDeleteTextures(1, &m_fxaa_texture_id)); m_fxaa_texture_id = 0; @@ -1372,6 +1386,7 @@ void GLCanvas3D::on_change_color_mode(bool is_dark, bool reinit) { m_gizmos.set_icon_dirty(); } } + m_dirty = true; } const float GLCanvas3D::get_scale() const @@ -1847,6 +1862,16 @@ void GLCanvas3D::enable_separator_toolbar(bool enable) m_separator_toolbar.set_enabled(enable); } +void GLCanvas3D::enable_collapse_toolbar(bool enable) +{ + m_collapse_toolbar_enabled = enable; +} + +void GLCanvas3D::enable_plate_chrome(bool enable) +{ + m_plate_chrome_enabled = enable; +} + bool GLCanvas3D::has_mouse_capture() const { return m_canvas != nullptr && m_canvas->HasCapture(); } @@ -1946,7 +1971,14 @@ bool GLCanvas3D::make_current_for_postinit() { return _set_current(); } +// Redraws the scene and presents it. void GLCanvas3D::render(bool only_init) +{ + m_presented_signature.reset(); + _render_frame(true, only_init); +} + +void GLCanvas3D::_render_frame(bool scene_dirty, bool only_init) { if (m_in_render) { // if called recursively, return @@ -2049,110 +2081,33 @@ void GLCanvas3D::render(bool only_init) } } - // draw scene - glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); - // Invalidate the shadow map each frame; only the View3D path below rebuilds it. This keeps - // the Preview / Assemble canvases from sampling a stale map with an outdated light matrix. - m_shadow_map_valid = false; - _render_background(); + const bool overlay_tick = m_fps_overlay_tick; + m_fps_overlay_tick = false; - //BBS add partplater rendering logic - bool only_current = false, only_body = false, no_partplate = false; - bool show_grid = true; - GLGizmosManager::EType gizmo_type = m_gizmos.get_current_type(); - if (!m_main_toolbar.is_enabled()) { - //only_body = true; - only_current = true; + // An overlay-only frame reuses the last scene pass. The overlay is rebuilt either way, and drawn + // below once it is known whether the frame differs from the one on screen. + const bool reuse_scene = !scene_dirty && _can_reuse_cached_scene(camera); + if (!reuse_scene) { + _render_scene(camera, cnv_size); + if (!overlay_tick) + m_render_stats.increment_scene_fps_counter(); } - else if ((gizmo_type == GLGizmosManager::FdmSupports) || (gizmo_type == GLGizmosManager::Seam) || (gizmo_type == GLGizmosManager::MmSegmentation) || (gizmo_type == GLGizmosManager::FuzzySkin)) - no_partplate = true; - else if (gizmo_type == GLGizmosManager::BrimEars && !camera.is_looking_downward()) - show_grid = false; - /* view3D render*/ - int hover_id = (m_hover_plate_idxs.size() > 0)?m_hover_plate_idxs.front():-1; - if (m_canvas_type == ECanvasType::CanvasView3D) { - if (!no_partplate) - _render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), m_show_world_axes); - if (!no_partplate) //BBS: add outline logic - _render_platelist(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), only_current, only_body, hover_id, true, show_grid); - - //BBS: add outline logic - // Depth pass for object-on-object and self shadows; consumed by the gouraud shader below. - _render_shadows(camera.get_view_matrix(), camera.get_projection_matrix()); - _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); - _render_sla_slices(); - _render_selection(); - _render_objects(GLVolumeCollection::ERenderType::Transparent, !m_gizmos.is_running()); - _render_wireframe_overlay(); - } - /* preview render */ - else if (m_canvas_type == ECanvasType::CanvasPreview && m_render_preview) { - _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); - _render_sla_slices(); - _render_selection(); - _render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), m_show_world_axes); - _render_platelist(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), only_current, true, hover_id); + if (m_canvas_type == ECanvasType::CanvasPreview && m_render_preview) // BBS: GUI refactor: add canvas size as parameters - _render_gcode(cnv_size.get_width(), cnv_size.get_height()); - } - /* assemble render*/ - else if (m_canvas_type == ECanvasType::CanvasAssembleView) { - //BBS: add outline logic - //if (m_show_world_axes) { - // m_axes.render(); - //} - _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); - _render_selection(); - //_render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), show_axes); - _render_plane(); - //BBS: add outline logic insteadof selection under assemble view - //_render_selection(); - // BBS: add outline logic - _render_objects(GLVolumeCollection::ERenderType::Transparent, !m_gizmos.is_running()); - _render_wireframe_overlay(); - } - - _render_sequential_clearance(); -#if ENABLE_RENDER_SELECTION_CENTER - _render_selection_center(); -#endif // ENABLE_RENDER_SELECTION_CENTER - - // we need to set the mouse's scene position here because the depth buffer - // could be invalidated by the following gizmo render methods - // this position is used later into on_mouse() to drag the objects - if (m_picking_enabled) - m_mouse.scene_position = _mouse_to_3d(m_mouse.position.cast<coord_t>()); - - // sidebar hints need to be rendered before the gizmos because the depth buffer - // could be invalidated by the following gizmo render methods - _render_selection_sidebar_hints(); - _render_current_gizmo(); - -#if ENABLE_RAYCAST_PICKING_DEBUG - if (m_picking_enabled && !m_mouse.dragging && !m_gizmos.is_dragging() && !m_rectangle_selection.is_dragging()) - m_scene_raycaster.render_hit(camera); -#endif // ENABLE_RAYCAST_PICKING_DEBUG - -#if ENABLE_SHOW_CAMERA_TARGET - _render_camera_target(); -#endif // ENABLE_SHOW_CAMERA_TARGET - - if (m_picking_enabled && m_rectangle_selection.is_dragging()) - m_rectangle_selection.render(*this); - - if (_is_ssao_enabled()) - _render_ssao_pass(static_cast<unsigned int>(cnv_size.get_width()), static_cast<unsigned int>(cnv_size.get_height())); - - if (_is_fxaa_enabled()) - _render_fxaa_pass(static_cast<unsigned int>(cnv_size.get_width()), static_cast<unsigned int>(cnv_size.get_height())); + _render_gcode_overlay(cnv_size.get_width(), cnv_size.get_height()); // draw overlays _render_overlays(); const int current_fps = m_render_stats.get_fps_and_reset_if_needed(); - if (_is_fps_overlay_enabled()) + if (_is_fps_overlay_enabled()) { _render_fps_overlay(current_fps); + // The timer requests an overlay-only frame a second from now. A frame it requested + // re-arms it only while a count is above zero. + if (!overlay_tick || current_fps > 0 || m_render_stats.get_scene_fps() > 0) + m_fps_overlay_timer.StartOnce(1000); + } if (wxGetApp().plater()->is_render_statistic_dialog_visible()) { ImGui::ShowMetricsWindow(); @@ -2191,7 +2146,7 @@ void GLCanvas3D::render(bool only_init) // Negative coordinate means out of the window, likely because the window was deactivated. // In that case the tooltip should be hidden. - if (m_mouse.position.x() >= 0. && m_mouse.position.y() >= 0. || has_mouse_capture()) { // ORCA continue to capture mouse pos mid drag + if ((m_mouse.position.x() >= 0. && m_mouse.position.y() >= 0.) || has_mouse_capture()) { // ORCA continue to capture mouse pos mid drag if (tooltip.empty()) tooltip = m_layers_editing.get_tooltip(*this); @@ -2238,14 +2193,150 @@ void GLCanvas3D::render(bool only_init) wxGetApp().plater()->get_dailytips()->render(); } - wxGetApp().imgui()->render(); + ImDrawData* draw_data = wxGetApp().imgui()->end_frame(); + + std::optional<size_t> signature; + if (_is_frame_skipping_enabled()) + signature = _overlay_signature(draw_data); + + if (reuse_scene) { + // A reused scene under an unchanged overlay is the frame already on screen. + if (signature.has_value() && signature == m_presented_signature) + return; + m_scene_cache.render(m_background); + } + + _render_overlay_toolbars(); + + wxGetApp().imgui()->render(draw_data); // On Wayland, eglSwapBuffers blocks when the canvas is hidden or // occluded. Skip the swap to avoid stalling the render loop. if (m_canvas->IsShownOnScreen()) { m_canvas->SwapBuffers(); - m_render_stats.increment_fps_counter(); + if (!overlay_tick) + m_render_stats.increment_fps_counter(); + m_presented_signature = signature; } + else + m_presented_signature.reset(); +} + +// Everything drawn into the 3D scene, from the clear to the post processing passes, ending in the +// capture an overlay-only frame reuses. +void GLCanvas3D::_render_scene(const Camera& camera, const Size& cnv_size) +{ + // Recorded by PartPlate::render_icons() below, when it runs. + wxGetApp().plater()->get_partplate_list().clear_hover_tooltip(); + glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); + // Invalidate the shadow map each frame; the View3D and Preview paths below rebuild it. This + // keeps the Assemble canvas from sampling a stale map with an outdated light matrix. + m_shadow_map_valid = false; + _render_background(); + + //BBS add partplater rendering logic + bool only_current = false, only_body = false; + const bool show_bed = is_bed_visible(); + bool show_grid = true; + GLGizmosManager::EType gizmo_type = m_gizmos.get_current_type(); + if (!m_main_toolbar.is_enabled()) { + //only_body = true; + only_current = true; + } + else if (gizmo_type == GLGizmosManager::BrimEars && !camera.is_looking_downward()) + show_grid = false; + if (m_axes_at_bed_center) + // Design tab: the plate grid is generated from the plate's front-left corner, so it + // floats mid-cell under the modeling-origin triad. Suppress it here; a CAD grid centred + // on the origin is rendered in its place (see _render_cad_grid). + show_grid = false; + + /* view3D render*/ + int hover_id = (m_hover_plate_idxs.size() > 0)?m_hover_plate_idxs.front():-1; + if (m_canvas_type == ECanvasType::CanvasView3D) { + // m_show_bed gates the plate list too: hiding the bed but leaving its grid and outline + // floating would read as a rendering fault rather than a deliberate view option. + if (show_bed) + _render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), m_show_world_axes); + if (show_bed) //BBS: add outline logic + _render_platelist(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), only_current, only_body, hover_id, true, show_grid); + if (m_axes_at_bed_center && show_bed) + // Design tab: replace the plate's corner-origin grid with the origin-centred CAD grid. + _render_cad_grid(camera.get_view_matrix(), camera.get_projection_matrix()); + + //BBS: add outline logic + // Depth pass for object-on-object and self shadows; consumed by the gouraud shader below. + _render_shadows(camera.get_view_matrix(), camera.get_projection_matrix()); + _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); + _render_sla_slices(); + _render_selection(); + _render_objects(GLVolumeCollection::ERenderType::Transparent, !m_gizmos.is_running()); + _render_wireframe_overlay(); + } + /* preview render */ + else if (m_canvas_type == ECanvasType::CanvasPreview && m_render_preview) { + _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); + _render_sla_slices(); + _render_selection(); + _render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), m_show_world_axes); + _render_platelist(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), only_current, true, hover_id); + // Realistic view: the print casts a shadow onto the plate here as it does in View3D. + _render_shadows(camera.get_view_matrix(), camera.get_projection_matrix()); + // BBS: GUI refactor: add canvas size as parameters + _render_gcode(cnv_size.get_width(), cnv_size.get_height()); + } + /* assemble render*/ + else if (m_canvas_type == ECanvasType::CanvasAssembleView) { + //BBS: add outline logic + //if (m_show_world_axes) { + // m_axes.render(); + //} + _render_objects(GLVolumeCollection::ERenderType::Opaque, !m_gizmos.is_running()); + _render_selection(); + //_render_bed(camera.get_view_matrix(), camera.get_projection_matrix(), !camera.is_looking_downward(), show_axes); + _render_plane(); + //BBS: add outline logic insteadof selection under assemble view + //_render_selection(); + // BBS: add outline logic + _render_objects(GLVolumeCollection::ERenderType::Transparent, !m_gizmos.is_running()); + _render_wireframe_overlay(); + } + + _render_sequential_clearance(); +#if ENABLE_RENDER_SELECTION_CENTER + _render_selection_center(); +#endif // ENABLE_RENDER_SELECTION_CENTER + // sidebar hints need to be rendered before the gizmos because the depth buffer + // could be invalidated by the following gizmo render methods + _render_selection_sidebar_hints(); + _render_current_gizmo(); + +#if ENABLE_RAYCAST_PICKING_DEBUG + if (m_picking_enabled && !m_mouse.dragging && !m_gizmos.is_dragging() && !m_rectangle_selection.is_dragging()) + m_scene_raycaster.render_hit(camera); +#endif // ENABLE_RAYCAST_PICKING_DEBUG + +#if ENABLE_SHOW_CAMERA_TARGET + _render_camera_target(); +#endif // ENABLE_SHOW_CAMERA_TARGET + + if (m_picking_enabled && m_rectangle_selection.is_dragging()) + m_rectangle_selection.render(*this); + + if (_is_ssao_enabled()) + _render_ssao_pass(static_cast<unsigned int>(cnv_size.get_width()), static_cast<unsigned int>(cnv_size.get_height())); + + if (_is_fxaa_enabled()) + _render_fxaa_pass(static_cast<unsigned int>(cnv_size.get_width()), static_cast<unsigned int>(cnv_size.get_height())); + + // Design tab: interactive 2D sketch overlay, drawn over the scene but + // beneath the UI overlays (toolbars, labels). +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->has_display()) + m_design_sketch_tool->render(*this); +#endif + + _capture_scene_cache(camera); } void GLCanvas3D::render_thumbnail(ThumbnailData & thumbnail_data, @@ -2261,6 +2352,13 @@ void GLCanvas3D::render_thumbnail(ThumbnailData & thumbnail_data, render_thumbnail(thumbnail_data, w, h, thumbnail_params, model_objects, m_volumes, camera_type, camera_view_angle_type, for_picking, ban_light); } +bool GLCanvas3D::_set_shown_canvas_current() +{ + // Thumbnails also render outside render(), where another library's GL context (e.g. WebKitGTK's) can be current. + // Inside render(), the shown canvas is the one already bound. + return wxGetApp().plater()->get_current_canvas3D()->_set_current(); +} + void GLCanvas3D::render_thumbnail(ThumbnailData & thumbnail_data, unsigned int w, unsigned int h, @@ -2272,6 +2370,9 @@ void GLCanvas3D::render_thumbnail(ThumbnailData & thumbnail_data, bool for_picking, bool ban_light) { + if (!_set_shown_canvas_current()) + return; + GLShaderProgram* shader = nullptr; if (for_picking) shader = wxGetApp().get_shader("flat"); @@ -2310,6 +2411,9 @@ void GLCanvas3D::render_thumbnail(ThumbnailData & thumbnail_d bool for_picking, bool ban_light) { + if (!_set_shown_canvas_current()) + return; + GLShaderProgram *shader = wxGetApp().get_shader("thumbnail"); switch (OpenGLManager::get_framebuffers_type()) { case OpenGLManager::EFramebufferType::Arb: { @@ -2891,23 +2995,37 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re DynamicPrintConfig& proj_cfg = wxGetApp().preset_bundle->project_config; float x = dynamic_cast<const ConfigOptionFloats*>(proj_cfg.option("wipe_tower_x"))->get_at(plate_id); float y = dynamic_cast<const ConfigOptionFloats*>(proj_cfg.option("wipe_tower_y"))->get_at(plate_id); - float w = dynamic_cast<const ConfigOptionFloat*>(m_config->option("prime_tower_width"))->value; float a = dynamic_cast<const ConfigOptionFloat*>(m_config->option("wipe_tower_rotation_angle"))->value; - // BBS - float v = dynamic_cast<const ConfigOptionFloat*>(m_config->option("prime_volume"))->value; Vec3d plate_origin = ppl.get_plate(plate_id)->get_origin(); - const Print* print = m_process->fff_print(); const Print* current_print = part_plate->fff_print(); - if (!need_wipe_tower && part_plate->get_extruders(true).size() < 2) continue; if (part_plate->get_objects_on_this_plate().empty()) continue; - float brim_width = print->wipe_tower_data(filaments_count).brim_width; - int nozzle_nums = wxGetApp().preset_bundle->get_printer_extruder_count(); - Vec3d wipe_tower_size = ppl.get_plate(plate_id)->estimate_wipe_tower_size(full_config, w, v, nozzle_nums, 0, false, dynamic_cast<const ConfigOptionBool*>(dconfig.option("enable_wrapping_detection"))->value); + // Body and brim from this plate's own estimate: m_process->fff_print() is the + // selected plate's, so an auto brim drew every tower with that plate's brim. + const WipeTowerFootprint footprint = part_plate->estimate_wipe_tower_footprint(full_config); + // The estimate is also the answer to whether this plate prints a tower; + // deciding it here as well only gave the two room to drift. + if (footprint.depth <= 0.) continue; + float brim_width = float(footprint.brim_width); + Vec3d wipe_tower_size(footprint.width, footprint.depth, footprint.height); + + // set_default_wipe_tower_pos_for_plate doesn't rerun when painting changes the + // filament count, so redo its clamp here on every reload — unconditionally: a + // paint-triggered reload can arrive before the background process invalidates + // psWipeTower, so gating on it would skip the clamp exactly when it is needed. + { + Vec3d clamped_pos, clamped_size; + part_plate->estimate_wipe_tower_polygon(full_config, plate_id, clamped_pos, clamped_size); + if (std::abs(x - (float) clamped_pos(0)) > EPSILON || std::abs(y - (float) clamped_pos(1)) > EPSILON) { + x = (float) clamped_pos(0); + y = (float) clamped_pos(1); + ConfigOptionFloat wt_x_opt(x), wt_y_opt(y); + dynamic_cast<ConfigOptionFloats*>(proj_cfg.option("wipe_tower_x"))->set_at(&wt_x_opt, plate_id, 0); + dynamic_cast<ConfigOptionFloats*>(proj_cfg.option("wipe_tower_y"))->set_at(&wt_y_opt, plate_id, 0); + } + } - // The stored position is already clamped onto the bed, by - // set_default_wipe_tower_pos_for_plate and again on every drag. if (!current_print->is_step_done(psWipeTower) || !current_print->wipe_tower_data().wipe_tower_mesh_data) { // update for wipe tower position int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview(1000 + plate_id, x + plate_origin(0), y + plate_origin(1), @@ -3155,6 +3273,9 @@ void GLCanvas3D::bind_event_handlers() m_canvas->Bind(wxEVT_PAINT, &GLCanvas3D::on_paint, this); m_canvas->Bind(wxEVT_SET_FOCUS, &GLCanvas3D::on_set_focus, this); m_canvas->Bind(wxEVT_KILL_FOCUS, [this](wxFocusEvent& evt) { + // The key-up that would commit a keyboard edit goes to whatever took the focus. + if (m_selection_edit.kind != SelectionEdit::None) + finish_selection_edit(); ImGui::SetWindowFocus(nullptr); render(); evt.Skip(); @@ -3201,6 +3322,9 @@ void GLCanvas3D::unbind_event_handlers() m_canvas->Unbind(wxEVT_GESTURE_PAN, &GLCanvas3D::on_gesture, this); m_canvas->Unbind(wxEVT_GESTURE_ZOOM, &GLCanvas3D::on_gesture, this); m_canvas->Unbind(wxEVT_GESTURE_ROTATE, &GLCanvas3D::on_gesture, this); +#if __WXOSX__ + initGestures(m_canvas->GetHandle(), nullptr); +#endif } } @@ -3209,25 +3333,30 @@ void GLCanvas3D::on_idle(wxIdleEvent& evt) if (!m_initialized) return; - m_dirty |= m_main_toolbar.update_items_state(); + // Toolbar states, notifications and ImGui's own layout settling only touch the overlay. + m_overlay_dirty |= m_main_toolbar.update_items_state(); //BBS: GUI refactor: GLToolbar - m_dirty |= m_assemble_view_toolbar.update_items_state(); + m_overlay_dirty |= m_assemble_view_toolbar.update_items_state(); // BBS //m_dirty |= wxGetApp().plater()->get_view_toolbar().update_items_state(); - m_dirty |= wxGetApp().plater()->get_collapse_toolbar().update_items_state(); - bool mouse3d_controller_applied = wxGetApp().plater()->get_mouse3d_controller().apply(wxGetApp().plater()->get_camera()); + m_overlay_dirty |= wxGetApp().plater()->get_collapse_toolbar().update_items_state(); + // apply() DRAINS the 3D-mouse queue, so only the canvas actually on screen may call it: a + // hidden canvas renders nothing, so the motion it swallowed moves the shared camera without + // ever being drawn and the next visible frame jumps several states at once. + bool mouse3d_controller_applied = _is_shown_on_screen() + && wxGetApp().plater()->get_mouse3d_controller().apply(wxGetApp().plater()->get_camera()); m_dirty |= mouse3d_controller_applied; - m_dirty |= wxGetApp().plater()->get_notification_manager()->update_notifications(*this); + m_overlay_dirty |= wxGetApp().plater()->get_notification_manager()->update_notifications(*this); auto gizmo = wxGetApp().plater()->get_view3D_canvas3D()->get_gizmos_manager().get_current(); if (gizmo != nullptr) m_dirty |= gizmo->update_items_state(); #if ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT // ImGuiWrapper::m_requires_extra_frame may have been set by a render made outside of the OnIdle mechanism bool imgui_requires_extra_frame = wxGetApp().imgui()->requires_extra_frame(); - m_dirty |= imgui_requires_extra_frame; + m_overlay_dirty |= imgui_requires_extra_frame; #endif // ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT m_dirty |= GLTexture::Compressor::has_compressed_texture_to_refresh(); - if (!m_dirty) + if (!m_dirty && !m_overlay_dirty) return; #if ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT @@ -3252,19 +3381,24 @@ void GLCanvas3D::on_idle(wxIdleEvent& evt) m_last_frame_start_time = now; } - _refresh_if_shown_on_screen(); + // Read and cleared before the render; a request made during it is left for the next frame. + const bool scene_dirty = m_dirty; + m_dirty = false; + m_overlay_dirty = false; + _refresh_if_shown_on_screen(scene_dirty); -#if ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT - if (m_extra_frame_requested || mouse3d_controller_applied || imgui_requires_extra_frame || wxGetApp().imgui()->requires_extra_frame()) { -#else if (m_extra_frame_requested || mouse3d_controller_applied) { m_dirty = true; -#endif // ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT m_extra_frame_requested = false; evt.RequestMore(); } - else - m_dirty = false; +#if ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT + else if (imgui_requires_extra_frame || wxGetApp().imgui()->requires_extra_frame()) { + // ImGui settling a window or fading a tooltip. + m_overlay_dirty = true; + evt.RequestMore(); + } +#endif // ENABLE_ENHANCED_IMGUI_SLIDER_FLOAT } void GLCanvas3D::on_char(wxKeyEvent& evt) @@ -3274,8 +3408,6 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) // see include/wx/defs.h enum wxKeyCode int keyCode = evt.GetKeyCode(); - int ctrlMask = wxMOD_CONTROL; - int shiftMask = wxMOD_SHIFT; auto imgui = wxGetApp().imgui(); if (imgui->update_key_data(evt)) { @@ -3283,11 +3415,68 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) return; } - bool is_in_painting_mode = false; - GLGizmoPainterBase *current_gizmo_painter = dynamic_cast<GLGizmoPainterBase *>(get_gizmos_manager().get_current()); - if (current_gizmo_painter != nullptr) { - is_in_painting_mode = true; +#ifdef SLIC3R_CAD + const int ctrlMask = wxMOD_CONTROL; + const int shiftMask = wxMOD_SHIFT; +#endif + + // Design tab: Delete/Backspace removes the selected sketch entities while a + // sketch tool is active and the canvas has focus (dialog text fields are separate + // wx controls, so this never eats their editing keys). +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->is_active() + && (keyCode == WXK_DELETE || keyCode == WXK_BACK) + && !m_design_sketch_tool->selection().empty()) { + m_design_sketch_tool->delete_selected(); + m_dirty = true; + render(); + return; } +#endif + + // Esc exits the active sketch tool (Onshape-like, layered: abort in-progress entity -> + // drop to Select -> exit the session back to Feature mode). +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->is_active() + && keyCode == WXK_ESCAPE) { + m_design_sketch_tool->request_exit(); + m_dirty = true; + render(); + return; + } +#endif + + // Design tab: Ctrl+Z / Ctrl+Shift+Z (and Ctrl+Y) undo/redo the Design feature + // history. Scoped by m_design_sketch_tool — only the Design canvas owns one — so the + // main 3D editor's undo/redo (the CanvasView3D-gated cases further below) is untouched. + // Handled here, before the generic Ctrl block, so it takes precedence and early-returns. +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && (evt.GetModifiers() & ctrlMask) != 0) { + const bool is_z = (keyCode == 'z' || keyCode == 'Z' || keyCode == WXK_CONTROL_Z); + const bool is_y = (keyCode == 'y' || keyCode == 'Y' || keyCode == WXK_CONTROL_Y); + if (is_z || is_y) { + const bool redo = is_y || ((evt.GetModifiers() & shiftMask) != 0); + m_design_sketch_tool->request_undo_redo(redo); + m_dirty = true; + render(); + return; + } + } +#endif + + // Design tab: F = Place on Face (Prepare's lay-flat), when the Design viewport is up + // and a body face is selected. The tool forwards to DesignPanel::place_on_face; it returns + // false (no face picked) so F falls through to the default handler below. +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->has_display() + && (keyCode == 'f' || keyCode == 'F') && (evt.GetModifiers() & ctrlMask) == 0) { + if (m_design_sketch_tool->request_place_on_face()) { + m_dirty = true; + render(); + return; + } + } +#endif //BBS: add orient deactivate logic if (keyCode == WXK_ESCAPE @@ -3297,408 +3486,293 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) if (m_gizmos.on_char(evt)) return; - if ((evt.GetModifiers() & ctrlMask) != 0) { - // CTRL is pressed - switch (keyCode) { -#ifdef __APPLE__ - case 'a': - case 'A': -#else /* __APPLE__ */ - case WXK_CONTROL_A: -#endif /* __APPLE__ */ - if (!is_in_painting_mode && !m_layers_editing.is_enabled()) { - if (evt.ShiftDown()) - post_event(SimpleEvent(EVT_GLCANVAS_SELECT_ALL)); - else - post_event(SimpleEvent(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL)); - } + if (const KeyChord chord = KeyChord::from_event(evt); chord.is_punctuation() && handle_shortcut(chord)) + return; + + if (evt.HasModifiers()) { + evt.Skip(); + return; + } + + auto obj_list = wxGetApp().obj_list(); + switch (keyCode) + { + case WXK_ESCAPE: { deselect_all(); break; } + + // BBS: use keypad to change extruder + case '1': { + if (!m_timer_set_color.IsRunning()) { + m_timer_set_color.StartOnce(500); + break; + } + } + case '0': //Color logic for material 10 + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': { + if (m_timer_set_color.IsRunning()) { + if (keyCode < '7') keyCode += 10; + m_timer_set_color.Stop(); + } + if (m_gizmos.get_current_type() != GLGizmosManager::MmSegmentation) + obj_list->set_extruder_for_selected_items(keyCode - '0'); break; -#ifdef __APPLE__ - case 'c': - case 'C': -#else /* __APPLE__ */ - case WXK_CONTROL_C: -#endif /* __APPLE__ */ - if (!is_in_painting_mode) - post_event(SimpleEvent(EVT_GLTOOLBAR_COPY)); - break; -#ifdef __APPLE__ - case 'm': - case 'M': -#else /* __APPLE__ */ - case WXK_CONTROL_M: -#endif /* __APPLE__ */ - { -#ifdef _WIN32 - if (wxGetApp().app_config->get("use_legacy_3DConnexion") == "true") { -#endif //_WIN32 -#ifdef __APPLE__ - // On OSX use Cmd+Shift+M to "Show/Hide 3Dconnexion devices settings dialog" - if ((evt.GetModifiers() & shiftMask) != 0) { -#endif // __APPLE__ - Mouse3DController& controller = wxGetApp().plater()->get_mouse3d_controller(); - controller.show_settings_dialog(!controller.is_settings_dialog_shown()); - m_dirty = true; -#ifdef __APPLE__ - } - else - // and Cmd+M to minimize application - wxGetApp().mainframe->Iconize(); -#endif // __APPLE__ -#ifdef _WIN32 - } -#endif //_WIN32 - break; - } -#ifdef __APPLE__ - case 'v': - case 'V': -#else /* __APPLE__ */ - case WXK_CONTROL_V: -#endif /* __APPLE__ */ - if (!is_in_painting_mode) - post_event(SimpleEvent(EVT_GLTOOLBAR_PASTE)); - break; - -#ifdef __APPLE__ - case 'x': - case 'X': -#else /* __APPLE__ */ - case WXK_CONTROL_X: -#endif /* __APPLE__ */ - if (!is_in_painting_mode) - post_event(SimpleEvent(EVT_GLTOOLBAR_CUT)); - break; - -#ifdef __APPLE__ - case 'f': - case 'F': -#else /* __APPLE__ */ - case WXK_CONTROL_F: -#endif /* __APPLE__ */ - break; - - -#ifdef __APPLE__ - case 'y': - case 'Y': -#else /* __APPLE__ */ - case WXK_CONTROL_Y: -#endif /* __APPLE__ */ - if (m_canvas_type == CanvasView3D || m_canvas_type == CanvasAssembleView) { - post_event(SimpleEvent(EVT_GLCANVAS_REDO)); - } - break; -#ifdef __APPLE__ - case 'z': - case 'Z': -#else /* __APPLE__ */ - case WXK_CONTROL_Z: -#endif /* __APPLE__ */ - // only support redu/undo in CanvasView3D - if (m_canvas_type == CanvasView3D || m_canvas_type == CanvasAssembleView) { - post_event(SimpleEvent(EVT_GLCANVAS_UNDO)); - } - break; - - // BBS -#ifdef __APPLE__ - case 'E': - case 'e': -#else /* __APPLE__ */ - case WXK_CONTROL_E: -#endif /* __APPLE__ */ - { m_labels.show(!m_labels.is_shown()); m_dirty = true; break; } - case '0': { - select_view("plate"); - zoom_to_bed(); - break; } - case '1': { select_view("top"); break; } - case '2': { select_view("bottom"); break; } - case '3': { select_view("front"); break; } - case '4': { select_view("rear"); break; } - case '5': { select_view("left"); break; } - case '6': { select_view("right"); break; } - case '7': { select_plate(); break; } - - //case WXK_BACK: - //case WXK_DELETE: -#ifdef __APPLE__ - case 'd': - case 'D': -#else /* __APPLE__ */ - case WXK_CONTROL_D: -#endif /* __APPLE__ */ - post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE_ALL)); - break; -#ifdef __APPLE__ - case 'k': - case 'K': -#else /* __APPLE__ */ - case WXK_CONTROL_K: -#endif /* __APPLE__ */ - post_event(SimpleEvent(EVT_GLTOOLBAR_CLONE)); - break; - default: evt.Skip(); - } - } else { - auto obj_list = wxGetApp().obj_list(); - switch (keyCode) - { - //case WXK_BACK: - case WXK_DELETE: { post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE)); break; } - // BBS -#ifdef __APPLE__ - case WXK_BACK: { post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE)); break; } -#endif - case WXK_ESCAPE: { deselect_all(); break; } - case WXK_F5: { - if (wxGetApp().mainframe->is_printer_view()) - wxGetApp().mainframe->load_printer_url(); - - //if ((wxGetApp().is_editor() && !wxGetApp().plater()->model().objects.empty()) || - // (wxGetApp().is_gcode_viewer() && !wxGetApp().plater()->get_last_loaded_gcode().empty())) - // post_event(SimpleEvent(EVT_GLCANVAS_RELOAD_FROM_DISK)); - break; - } - - // BBS: use keypad to change extruder - case '1': { - if (!m_timer_set_color.IsRunning()) { - m_timer_set_color.StartOnce(500); - break; - } - } - case '0': //Color logic for material 10 - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': { - if (m_timer_set_color.IsRunning()) { - if (keyCode < '7') keyCode += 10; - m_timer_set_color.Stop(); - } - if (m_gizmos.get_current_type() != GLGizmosManager::MmSegmentation) - obj_list->set_extruder_for_selected_items(keyCode - '0'); - break; - } - - case '+': { - if (dynamic_cast<Preview*>(m_canvas->GetParent()) != nullptr) - post_event(wxKeyEvent(EVT_GLCANVAS_EDIT_COLOR_CHANGE, evt)); - else - post_event(Event<int>(EVT_GLCANVAS_INCREASE_INSTANCES, +1)); - break; - } - case '-': { - if (dynamic_cast<Preview*>(m_canvas->GetParent()) != nullptr) - post_event(wxKeyEvent(EVT_GLCANVAS_EDIT_COLOR_CHANGE, evt)); - else - post_event(Event<int>(EVT_GLCANVAS_INCREASE_INSTANCES, -1)); - break; - } - case '?': { post_event(SimpleEvent(EVT_GLCANVAS_QUESTION_MARK)); break; } - case ' ': { - if (m_canvas_type == ECanvasType::CanvasView3D) - post_event(SimpleEvent(EVT_GLCANVAS_OPEN_SPEED_DIAL)); - break; - } - case 'A': - case 'a': - { - if ((evt.GetModifiers() & shiftMask) != 0) - post_event(SimpleEvent(EVT_GLCANVAS_ARRANGE_PARTPLATE)); - else - post_event(SimpleEvent(EVT_GLCANVAS_ARRANGE)); - break; - } - //case 'B': - //case 'b': { zoom_to_bed(); break; } - case 'C': - case 'c': { wxGetApp().toggle_show_gcode_window(); m_dirty = true; request_extra_frame(); break; } - //case 'G': - //case 'g': { - // if ((evt.GetModifiers() & shiftMask) != 0) { - // if (dynamic_cast<Preview*>(m_canvas->GetParent()) != nullptr) - // post_event(wxKeyEvent(EVT_GLCANVAS_JUMP_TO, evt)); - // } - // break; - //} - case 'I': - case 'i': { _update_camera_zoom(1.0); break; } - //case 'K': - //case 'k': { wxGetApp().plater()->get_camera().select_next_type(); m_dirty = true; break; } - //case 'L': - //case 'l': { - //if (!m_main_toolbar.is_enabled()) { - // m_gcode_viewer.enable_legend(!m_gcode_viewer.is_legend_enabled()); - // m_dirty = true; - // wxGetApp().plater()->update_preview_bottom_toolbar(); - //} - //break; - //} - case 'O': - case 'o': { _update_camera_zoom(-1.0); break; } - case 'q': - case 'Q': - { - if ((evt.GetModifiers() & shiftMask) != 0) - post_event(SimpleEvent(EVT_GLCANVAS_ORIENT_PARTPLATE)); - else - post_event(SimpleEvent(EVT_GLCANVAS_ORIENT)); - break; - } - //case 'Z': - //case 'z': { - // if (!m_selection.is_empty()) - // zoom_to_selection(); - // else { - // if (!m_volumes.empty()) - // zoom_to_volumes(); - // else - // _zoom_to_box(m_gcode_viewer.get_paths_bounding_box()); - // } - // break; - //} - case 'v': - case 'V': { post_event(SimpleEvent(EVT_GLCANVAS_PRINTABLE)); break; } - default: { evt.Skip(); break; } - } + } + default: { evt.Skip(); break; } } } -class TranslationProcessor +bool GLCanvas3D::handle_shortcut(const KeyChord& chord) { - using UpAction = std::function<void(void)>; - using DownAction = std::function<void(const Vec3d&, bool, bool)>; + const ShortcutContext context = m_canvas_type == CanvasPreview ? ShortcutContext::Preview : ShortcutContext::Plater; + const std::optional<ShortcutRegistry::Match> match = wxGetApp().shortcuts().match(context, chord); + if (!match.has_value()) + return false; + const Shortcut shortcut = match->shortcut; + const int held = match->step_modifiers; + if (m_key_down.repeat && !shortcut_info(shortcut).repeatable) + return true; - UpAction m_up_action{ nullptr }; - DownAction m_down_action{ nullptr }; + const bool painting = dynamic_cast<GLGizmoPainterBase*>(m_gizmos.get_current()) != nullptr; + const bool can_edit = m_canvas_type == CanvasView3D || m_canvas_type == CanvasAssembleView; + auto edit_selection = [this](SelectionEdit::Kind kind, const Vec3d& direction) { + if (!m_gizmos.is_enabled() || m_selection.is_empty() || m_canvas_type == CanvasAssembleView) + return false; + m_selection_edit.kind = kind; + m_selection_edit.key = m_key_down.code; + m_selection_edit.direction = direction; + return true; + }; + auto move_selection = [&](const Vec3d& direction) { + if (edit_selection(SelectionEdit::Move, direction)) + apply_selection_move((held & wxMOD_SHIFT) != 0, (held & wxMOD_CONTROL) != 0); + }; + auto rotate_selection = [&](double angle_z_rad) { + if (edit_selection(SelectionEdit::Rotate, Vec3d::UnitZ())) + apply_selection_rotate(angle_z_rad); + }; + auto step_slider = [this, held](auto&& step) { + IMSlider* layers = get_gcode_viewer().get_layers_slider(); + IMSlider* moves = get_gcode_viewer().get_moves_slider(); + step(layers, moves, held != 0 ? 5 : 1); + if (layers->is_dirty() && layers->is_one_layer()) + layers->SetLowerValue(layers->GetHigherValue()); + m_dirty = true; + }; - bool m_running{ false }; - Vec3d m_direction{ Vec3d::UnitX() }; - -public: - TranslationProcessor(UpAction up_action, DownAction down_action) - : m_up_action(up_action), m_down_action(down_action) - { - } - - void process(wxKeyEvent& evt) - { - const int keyCode = evt.GetKeyCode(); - wxEventType type = evt.GetEventType(); - if (type == wxEVT_KEY_UP) { - switch (keyCode) - { - case WXK_NUMPAD_LEFT: case WXK_LEFT: - case WXK_NUMPAD_RIGHT: case WXK_RIGHT: - case WXK_NUMPAD_UP: case WXK_UP: - case WXK_NUMPAD_DOWN: case WXK_DOWN: - { - m_running = false; - m_up_action(); - break; - } - default: { break; } - } - } - else if (type == wxEVT_KEY_DOWN) { - bool apply = false; - - switch (keyCode) - { - case WXK_SHIFT: - { - if (m_running) - apply = true; - - break; - } - case WXK_NUMPAD_LEFT: - case WXK_LEFT: - { - m_direction = -Vec3d::UnitX(); - apply = true; - break; - } - case WXK_NUMPAD_RIGHT: - case WXK_RIGHT: - { - m_direction = Vec3d::UnitX(); - apply = true; - break; - } - case WXK_NUMPAD_UP: - case WXK_UP: - { - m_direction = Vec3d::UnitY(); - apply = true; - break; - } - case WXK_NUMPAD_DOWN: - case WXK_DOWN: - { - m_direction = -Vec3d::UnitY(); - apply = true; - break; - } - default: { break; } - } - - if (apply) { - m_running = true; - m_down_action(m_direction, evt.ShiftDown(), evt.CmdDown()); - } + switch (shortcut) { + case Shortcut::SelectAll: + if (!painting && !m_layers_editing.is_enabled()) + post_event(SimpleEvent(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL)); + break; + case Shortcut::SelectAllPlates: + if (!painting && !m_layers_editing.is_enabled()) + post_event(SimpleEvent(EVT_GLCANVAS_SELECT_ALL)); + break; + case Shortcut::Copy: if (!painting) post_event(SimpleEvent(EVT_GLTOOLBAR_COPY)); break; + case Shortcut::Paste: if (!painting) post_event(SimpleEvent(EVT_GLTOOLBAR_PASTE)); break; + case Shortcut::Cut: if (!painting) post_event(SimpleEvent(EVT_GLTOOLBAR_CUT)); break; + case Shortcut::Undo: if (can_edit) post_event(SimpleEvent(EVT_GLCANVAS_UNDO)); break; + case Shortcut::Redo: if (can_edit) post_event(SimpleEvent(EVT_GLCANVAS_REDO)); break; + case Shortcut::DeleteSelected: + if (!m_gizmos.on_delete_key()) + post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE)); + break; + case Shortcut::DeleteAll: post_event(SimpleEvent(EVT_GLTOOLBAR_DELETE_ALL)); break; + case Shortcut::CloneSelected: post_event(SimpleEvent(EVT_GLTOOLBAR_CLONE)); break; + case Shortcut::AddInstance: post_event(Event<int>(EVT_GLCANVAS_INCREASE_INSTANCES, +1)); break; + case Shortcut::RemoveInstance: post_event(Event<int>(EVT_GLCANVAS_INCREASE_INSTANCES, -1)); break; + case Shortcut::TogglePrintable: post_event(SimpleEvent(EVT_GLCANVAS_PRINTABLE)); break; + case Shortcut::Arrange: + if (!m_gizmos.is_running()) + post_event(SimpleEvent(EVT_GLCANVAS_ARRANGE)); + break; + case Shortcut::ArrangePlate: + if (!m_gizmos.is_running()) + post_event(SimpleEvent(EVT_GLCANVAS_ARRANGE_PARTPLATE)); + break; + case Shortcut::Orient: post_event(SimpleEvent(EVT_GLCANVAS_ORIENT)); break; + case Shortcut::OrientPlate: post_event(SimpleEvent(EVT_GLCANVAS_ORIENT_PARTPLATE)); break; + case Shortcut::RotateSelectionLeft: rotate_selection(0.25 * M_PI); break; + case Shortcut::RotateSelectionRight: rotate_selection(-0.25 * M_PI); break; + case Shortcut::MoveSelectionLeft: move_selection(-Vec3d::UnitX()); break; + case Shortcut::MoveSelectionRight: move_selection(Vec3d::UnitX()); break; + case Shortcut::MoveSelectionUp: move_selection(Vec3d::UnitY()); break; + case Shortcut::MoveSelectionDown: move_selection(-Vec3d::UnitY()); break; + case Shortcut::ZoomIn: _update_camera_zoom(1.0); break; + case Shortcut::ZoomOut: _update_camera_zoom(-1.0); break; + case Shortcut::SwitchView: post_event(SimpleEvent(EVT_GLCANVAS_TAB)); break; + case Shortcut::CollapseSidebar: + if (!wxGetApp().is_gcode_viewer()) + post_event(SimpleEvent(EVT_GLCANVAS_COLLAPSE_SIDEBAR)); + break; + case Shortcut::ShowWireframe: + wxGetApp().plater()->toggle_show_wireframe(); + m_dirty = true; + break; + case Shortcut::Mouse3DSettings: { +#ifdef _WIN32 + if (wxGetApp().app_config->get("use_legacy_3DConnexion") == "true") { +#endif //_WIN32 + Mouse3DController& controller = wxGetApp().plater()->get_mouse3d_controller(); + controller.show_settings_dialog(!controller.is_settings_dialog_shown()); + m_dirty = true; +#ifdef _WIN32 } +#endif //_WIN32 + break; } -}; + case Shortcut::ReloadDevicePage: + if (wxGetApp().mainframe->is_printer_view()) + wxGetApp().mainframe->load_printer_url(); + break; + case Shortcut::KeyboardShortcuts: post_event(SimpleEvent(EVT_GLCANVAS_QUESTION_MARK)); break; + case Shortcut::ToggleGcodeWindow: + wxGetApp().toggle_show_gcode_window(); + m_dirty = true; + request_extra_frame(); + break; + case Shortcut::ToggleOneLayerMode: + get_gcode_viewer().get_layers_slider()->switch_one_layer_mode(); + m_dirty = true; + break; + case Shortcut::GoToLayer: + if (!m_gizmos.is_enabled()) { + get_gcode_viewer().get_layers_slider()->show_go_to_layer(true); + m_dirty = true; + } + break; + case Shortcut::LayerSliderUp: + case Shortcut::LayerSliderDown: + step_slider([up = shortcut == Shortcut::LayerSliderUp](IMSlider* layers, IMSlider* moves, int increment) { + const int delta = up ? increment : -increment; + if (layers->GetSelection() == ssHigher) { + layers->SetHigherValue(layers->GetHigherValue() + delta); + moves->SetHigherValue(moves->GetMaxValue()); + } + else if (layers->GetSelection() == ssLower) + layers->SetLowerValue(layers->GetLowerValue() + delta); + }); + break; + case Shortcut::MovesSliderLeft: + step_slider([](IMSlider* layers, IMSlider* moves, int increment) { + if (moves->GetHigherValue() == moves->GetMinValue() && layers->GetHigherValue() > layers->GetMinValue()) { + layers->SetHigherValue(layers->GetHigherValue() - 1); + moves->SetHigherValue(moves->GetMaxValue()); + } + else + moves->SetHigherValue(moves->GetHigherValue() - increment); + }); + break; + case Shortcut::MovesSliderRight: + step_slider([](IMSlider* layers, IMSlider* moves, int increment) { + if (moves->GetHigherValue() == moves->GetMaxValue() && layers->GetHigherValue() < layers->GetMaxValue()) { + layers->SetHigherValue(layers->GetHigherValue() + 1); + moves->SetHigherValue(moves->GetMinValue()); + } + else + moves->SetHigherValue(moves->GetHigherValue() + increment); + }); + break; + case Shortcut::MovesSliderStart: + case Shortcut::MovesSliderEnd: + step_slider([start = shortcut == Shortcut::MovesSliderStart](IMSlider*, IMSlider* moves, int) { + moves->SetHigherValue(start ? moves->GetMinValue() : moves->GetMaxValue()); + moves->set_as_dirty(); + }); + break; + default: + if (!m_gizmos.open_gizmo_by_shortcut(shortcut)) + return false; + m_dirty = true; + break; + } + return true; +} + +void GLCanvas3D::apply_selection_move(bool slow, bool camera_space) +{ + m_selection.setup_cache(); + const double multiplier = slow ? 1.0 : 10.0; + + Vec3d displacement; + if (camera_space) { + Eigen::Matrix<double, 3, 3, Eigen::DontAlign> inv_view_3x3 = wxGetApp().plater()->get_camera().get_view_matrix().inverse().matrix().block(0, 0, 3, 3); + displacement = multiplier * (inv_view_3x3 * m_selection_edit.direction); + displacement.z() = 0.0; + } + else + displacement = multiplier * m_selection_edit.direction; + + TransformationType trafo_type; + trafo_type.set_relative(); + m_selection.translate(displacement, trafo_type); + m_dirty = true; +} + +void GLCanvas3D::apply_selection_rotate(double angle_z_rad) +{ + m_selection.setup_cache(); + m_selection.rotate(angle_z_rad * m_selection_edit.direction, TransformationType(TransformationType::World_Relative_Joint)); + m_dirty = true; +} + +void GLCanvas3D::finish_selection_edit() +{ + const SelectionEdit::Kind kind = m_selection_edit.kind; + m_selection_edit.kind = SelectionEdit::None; + if (kind == SelectionEdit::Move) + do_move(L("Tool move")); + else + do_rotate(L("Tool Rotate")); + m_gizmos.update_data(); + // Let the plater know that the dragging finished, so a delayed refresh + // of the scene with the background processing data should be performed. + post_event(SimpleEvent(EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED)); + // updates camera target constraints + refresh_camera_scene_box(); + m_dirty = true; +} + +// Keys held since their last key-up, shared by every canvas because a shortcut can move the +// focus, and with it the key-up, to another one. +static std::set<int> s_keys_down; + +static bool key_repeats(int key) +{ + for (auto it = s_keys_down.begin(); it != s_keys_down.end();) // drops keys released while no canvas had the focus + it = wxGetKeyState(wxKeyCode(*it)) ? std::next(it) : s_keys_down.erase(it); + return !s_keys_down.insert(key).second; +} + +static void key_released(int key) { s_keys_down.erase(key); } void GLCanvas3D::on_key(wxKeyEvent& evt) { - static GLCanvas3D const * thiz = nullptr; - static TranslationProcessor translationProcessor(nullptr, nullptr); - if (thiz != this) { - thiz = this; - translationProcessor = TranslationProcessor( - [this]() { - do_move(L("Tool move")); - m_gizmos.update_data(); - - // BBS - //wxGetApp().obj_manipul()->set_dirty(); - // Let the plater know that the dragging finished, so a delayed refresh - // of the scene with the background processing data should be performed. - post_event(SimpleEvent(EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED)); - // updates camera target constraints - refresh_camera_scene_box(); - m_dirty = true; - }, - [this](const Vec3d& direction, bool slow, bool camera_space) { - m_selection.setup_cache(); - double multiplier = slow ? 1.0 : 10.0; - - Vec3d displacement; - if (camera_space) { - Eigen::Matrix<double, 3, 3, Eigen::DontAlign> inv_view_3x3 = wxGetApp().plater()->get_camera().get_view_matrix().inverse().matrix().block(0, 0, 3, 3); - displacement = multiplier * (inv_view_3x3 * direction); - displacement.z() = 0.0; - } - else - displacement = multiplier * direction; - - TransformationType trafo_type; - trafo_type.set_relative(); - m_selection.translate(displacement, trafo_type); - m_dirty = true; - } - );} + // Design tab: Delete/Backspace removes selected sketch entities. GTK delivers + // these as KEY_DOWN rather than CHAR, so handle it here too. +#ifdef SLIC3R_CAD + if (evt.GetEventType() == wxEVT_KEY_DOWN + && m_design_sketch_tool != nullptr && m_design_sketch_tool->is_active() + && (evt.GetKeyCode() == WXK_DELETE || evt.GetKeyCode() == WXK_BACK) + && !m_design_sketch_tool->selection().empty()) { + m_design_sketch_tool->delete_selected(); + m_dirty = true; + render(); + return; + } +#endif const int keyCode = evt.GetKeyCode(); + if (evt.GetEventType() == wxEVT_KEY_DOWN) + m_key_down = { keyCode, key_repeats(keyCode) }; + else if (evt.GetEventType() == wxEVT_KEY_UP) + key_released(keyCode); auto imgui = wxGetApp().imgui(); if (imgui->update_key_data(evt)) @@ -3712,23 +3786,8 @@ void GLCanvas3D::on_key(wxKeyEvent& evt) wxGetApp().plater()->toggle_render_statistic_dialog(); m_dirty = true; #endif - } else if ((evt.ShiftDown() && evt.ControlDown() && keyCode == WXK_RETURN) || - (evt.ShiftDown() && evt.AltDown() && keyCode == WXK_RETURN)) { - wxGetApp().plater()->toggle_show_wireframe(); - m_dirty = true; - } - else if (m_tab_down && keyCode == WXK_TAB && !evt.HasAnyModifiers()) { - // Enable switching between 3D and Preview with Tab - // m_canvas->HandleAsNavigationKey(evt); // XXX: Doesn't work in some cases / on Linux - post_event(SimpleEvent(EVT_GLCANVAS_TAB)); - } - else if (keyCode == WXK_TAB && evt.ShiftDown() && !evt.ControlDown() && ! wxGetApp().is_gcode_viewer()) { - // Collapse side-panel with Shift+Tab - post_event(SimpleEvent(EVT_GLCANVAS_COLLAPSE_SIDEBAR)); } else if (keyCode == WXK_SHIFT) { - translationProcessor.process(evt); - if (m_picking_enabled && m_rectangle_selection.is_dragging()) { _update_selection_from_hover(); m_rectangle_selection.stop_dragging(); @@ -3754,70 +3813,15 @@ void GLCanvas3D::on_key(wxKeyEvent& evt) } else if (keyCode == WXK_CONTROL) m_dirty = true; - else if (m_gizmos.is_enabled() && !m_selection.is_empty() && m_canvas_type != CanvasAssembleView) { - translationProcessor.process(evt); - - switch (keyCode) - { - case WXK_NUMPAD_PAGEUP: case WXK_PAGEUP: - case WXK_NUMPAD_PAGEDOWN: case WXK_PAGEDOWN: - { - do_rotate(L("Tool Rotate")); - m_gizmos.update_data(); - - // BBS - //wxGetApp().obj_manipul()->set_dirty(); - // Let the plater know that the dragging finished, so a delayed refresh - // of the scene with the background processing data should be performed. - post_event(SimpleEvent(EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED)); - // updates camera target constraints - refresh_camera_scene_box(); - m_dirty = true; - - break; - } - default: { break; } - } - } - - // BBS: add select view logic - if (evt.ControlDown()) { - switch (keyCode) { - case '0': - case WXK_NUMPAD0: //0 on numpad - { select_view("plate"); - zoom_to_bed(); - break; - } - case '1': - case WXK_NUMPAD1: //1 on numpad - { select_view("top"); break; } - case '2': - case WXK_NUMPAD2: //2 on numpad - { select_view("bottom"); break; } - case '3': - case WXK_NUMPAD3: //3 on numpad - { select_view("front"); break; } - case '4': - case WXK_NUMPAD4: //4 on numpad - { select_view("rear"); break; } - case '5': - case WXK_NUMPAD5: //5 on numpad - { select_view("left"); break; } - case '6': - case WXK_NUMPAD6: //6 on numpad - { select_view("right"); break; } - case '7': - case WXK_NUMPAD7: //7 on numpad - { select_plate(); break; } - default: break; - } - } + else if (m_selection_edit.kind != SelectionEdit::None && keyCode == m_selection_edit.key) + finish_selection_edit(); } else if (evt.GetEventType() == wxEVT_KEY_DOWN) { - m_tab_down = keyCode == WXK_TAB && !evt.HasAnyModifiers(); + if (handle_shortcut(KeyChord::from_event(evt))) + return; if (keyCode == WXK_SHIFT) { - translationProcessor.process(evt); + if (m_selection_edit.kind == SelectionEdit::Move) + apply_selection_move(true, evt.CmdDown()); if (m_picking_enabled /*&& (m_gizmos.get_current_type() != GLGizmosManager::SlaSupports)*/) { @@ -3834,68 +3838,6 @@ void GLCanvas3D::on_key(wxKeyEvent& evt) } else if (keyCode == WXK_CONTROL) m_dirty = true; - else if (m_gizmos.is_enabled() && !m_selection.is_empty() && m_canvas_type != CanvasAssembleView) { - auto _do_rotate = [this](double angle_z_rad) { - m_selection.setup_cache(); - m_selection.rotate(Vec3d(0.0, 0.0, angle_z_rad), TransformationType(TransformationType::World_Relative_Joint)); - m_dirty = true; -// wxGetApp().obj_manipul()->set_dirty(); - }; - - translationProcessor.process(evt); - - switch (keyCode) - { - case WXK_NUMPAD_PAGEUP: case WXK_PAGEUP: { _do_rotate(0.25 * M_PI); break; } - case WXK_NUMPAD_PAGEDOWN: case WXK_PAGEDOWN: { _do_rotate(-0.25 * M_PI); break; } - default: { break; } - } - } else if (!m_gizmos.is_enabled()) { - // DoubleSlider navigation in Preview - if (m_canvas_type == CanvasPreview) { - IMSlider *m_layers_slider = get_gcode_viewer().get_layers_slider(); - IMSlider *m_moves_slider = get_gcode_viewer().get_moves_slider(); - int increment = (evt.CmdDown() || evt.ShiftDown()) ? 5 : 1; - if ((evt.CmdDown() || evt.ShiftDown()) && evt.GetKeyCode() == 'G') { - m_layers_slider->show_go_to_layer(true); - } - else if (keyCode == WXK_UP || keyCode == WXK_DOWN) { - int new_pos; - if (m_layers_slider->GetSelection() == ssHigher) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetHigherValue() + increment : m_layers_slider->GetHigherValue() - increment; - m_layers_slider->SetHigherValue(new_pos); - m_moves_slider->SetHigherValue(m_moves_slider->GetMaxValue()); - } - else if (m_layers_slider->GetSelection() == ssLower) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetLowerValue() + increment : m_layers_slider->GetLowerValue() - increment; - m_layers_slider->SetLowerValue(new_pos); - } - } else if (keyCode == WXK_LEFT) { - if (m_moves_slider->GetHigherValue() == m_moves_slider->GetMinValue() && (m_layers_slider->GetHigherValue() > m_layers_slider->GetMinValue())) { - m_layers_slider->SetHigherValue(m_layers_slider->GetHigherValue() - 1); - m_moves_slider->SetHigherValue(m_moves_slider->GetMaxValue()); - } else { - m_moves_slider->SetHigherValue(m_moves_slider->GetHigherValue() - increment); - } - } else if (keyCode == WXK_RIGHT) { - if (m_moves_slider->GetHigherValue() == m_moves_slider->GetMaxValue() && (m_layers_slider->GetHigherValue() < m_layers_slider->GetMaxValue())) { - m_layers_slider->SetHigherValue(m_layers_slider->GetHigherValue() + 1); - m_moves_slider->SetHigherValue(m_moves_slider->GetMinValue()); - } else { - m_moves_slider->SetHigherValue(m_moves_slider->GetHigherValue() + increment); - } - } else if (keyCode == WXK_HOME || keyCode == WXK_END) { - const int new_pos = keyCode == WXK_HOME ? m_moves_slider->GetMinValue() : m_moves_slider->GetMaxValue(); - m_moves_slider->SetHigherValue(new_pos); - m_moves_slider->set_as_dirty(); - } - - if (m_layers_slider->is_dirty() && m_layers_slider->is_one_layer()) - m_layers_slider->SetLowerValue(m_layers_slider->GetHigherValue()); - - m_dirty = true; - } - } } } else return; @@ -4036,6 +3978,12 @@ void GLCanvas3D::on_set_color_timer(wxTimerEvent& evt) m_timer_set_color.Stop(); } +void GLCanvas3D::on_fps_overlay_timer(wxTimerEvent& evt) +{ + m_fps_overlay_tick = true; + _set_overlay_as_dirty(); + wxWakeUpIdle(); +} void GLCanvas3D::schedule_extra_frame(int milliseconds) { @@ -4125,27 +4073,38 @@ void GLCanvas3D::on_gesture(wxGestureEvent &evt) auto & camera = wxGetApp().plater()->get_camera(); if (evt.GetEventType() == wxEVT_GESTURE_PAN) { - auto p = evt.GetPosition(); + // Orca: Gesture coordinates must use framebuffer pixels, and one stable world-space + // anchor must be retained for the complete gesture to prevent perspective drift. + const auto p = evt.GetPosition(); auto d = static_cast<wxPanGestureEvent&>(evt).GetDelta(); - float z = 0; - const Vec3d &p2 = _mouse_to_3d({p.x, p.y}, &z); - const Vec3d &p1 = _mouse_to_3d({p.x - d.x, p.y - d.y}, &z); - camera.set_target(camera.get_target() + p1 - p2); + Vec2d screen_position(p.x, p.y); + Vec2d screen_delta(d.x, d.y); + apply_retina_scale(screen_position); + apply_retina_scale(screen_delta); + if (evt.IsGestureStart() || !m_gesture_pan_anchor.has_value()) + m_gesture_pan_anchor = get_camera_pan_anchor(camera, ECameraNavigationType::Gesture, + screen_position - screen_delta); + pan_camera(camera, screen_delta, *m_gesture_pan_anchor); + if (evt.IsGestureEnd()) + m_gesture_pan_anchor.reset(); } else if (evt.GetEventType() == wxEVT_GESTURE_ZOOM) { static float zoom_start = 1; if (evt.IsGestureStart()) zoom_start = camera.get_zoom(); camera.set_zoom(zoom_start * static_cast<wxZoomGestureEvent&>(evt).GetZoomFactor()); } else if (evt.GetEventType() == wxEVT_GESTURE_ROTATE) { - PartPlate* plate = wxGetApp().plater()->get_partplate_list().get_curr_plate(); + // Orca: Rotation starts a different navigation operation, so a previous pan anchor + // must not be reused; rotation and pan fallbacks share the same navigation pivot. + m_gesture_pan_anchor.reset(); bool rotate_limit = current_printer_technology() != ptSLA; static double last_rotate = 0; if (evt.IsGestureStart()) last_rotate = 0; auto rotate = static_cast<wxRotateGestureEvent&>(evt).GetRotationAngle() - last_rotate; last_rotate += rotate; - if (plate) - camera.rotate_on_sphere_with_target(-rotate, 0, rotate_limit, plate->get_bounding_box().center()); + const std::optional<Vec3d> rotate_target = get_camera_orbit_target(ECameraNavigationType::Gesture); + if (rotate_target.has_value()) + camera.rotate_on_sphere_with_target(-rotate, 0, rotate_limit, *rotate_target); else camera.rotate_on_sphere(-rotate, 0, rotate_limit); camera.auto_type(Camera::EType::Perspective); @@ -4213,17 +4172,41 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (evt.LeftUp() || evt.MiddleUp() || evt.RightUp()) mouse_up_cleanup(); - render(); + // Hovering an ImGui window only changes the overlay. + const bool overlay_only = evt.Moving() && !m_mouse.dragging; + // ImGui takes a press or a release only inside a frame. Motion is rendered from on_idle(). + if (evt.ButtonDown() || evt.ButtonUp() || evt.ButtonDClick()) + _render_frame(true); #ifdef SLIC3R_DEBUG_MOUSE_EVENTS printf((format_mouse_event_debug_message(evt) + " - Consumed by ImGUI\n").c_str()); #endif /* SLIC3R_DEBUG_MOUSE_EVENTS */ - m_dirty = true; + if (overlay_only) + _set_overlay_as_dirty(); + else + m_dirty = true; // do not return if dragging or tooltip not empty to allow for tooltip update // also, do not return if the mouse is moving and also is inside MM gizmo to allow update seed fill selection if (!m_mouse.dragging && m_tooltip.is_empty() && (m_gizmos.get_current_type() != GLGizmosManager::MmSegmentation || !evt.Moving())) return; } + // Design tab: the interactive sketch tool owns the mouse whenever it has + // something on screen — an active session OR committed sketch overlays that the user + // can click to select. It runs after ImGui (so dialogs still work) but before + // camera/toolbar/gizmo handling; on_mouse returns false for events it doesn't consume + // (drag/orbit/wheel) so the camera keeps working over the display-only plate. +#ifdef SLIC3R_CAD + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->has_display()) { + if (evt.LeftDown() && m_canvas != nullptr) + m_canvas->SetFocus(); // grab keyboard focus so Delete/keys reach this canvas + if (m_design_sketch_tool->on_mouse(evt, *this)) { + m_dirty = true; + render(); // force an immediate redraw so the sketch overlay updates live + return; + } + } +#endif + #ifdef __WXMSW__ bool on_enter_workaround = false; if (! evt.Entering() && ! evt.Leaving() && m_mouse.position.x() == -1.0) { @@ -4328,6 +4311,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (can_sequential_clearance_show_in_gizmo()) update_sequential_clearance(); } else { + // Orca: by-layer counterpart, for a prime tower compacted by "No sparse layers". + if (current_printer_technology() == ptFFF && can_sequential_clearance_show_in_gizmo()) + update_compacted_wipe_tower_clearance(); if (c == GLGizmosManager::EType::Move || c == GLGizmosManager::EType::Scale || c == GLGizmosManager::EType::Rotate) @@ -4340,6 +4326,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) wxGetApp().obj_list()->selection_changed(); } + // A gizmo that acts on a click or a drag may not request a frame itself. + if (!evt.Moving()) + m_dirty = true; return; } @@ -4405,6 +4394,10 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) post_event(SimpleEvent(EVT_GLCANVAS_SWITCH_TO_GLOBAL)); } else if (evt.LeftDown() || evt.RightDown() || evt.MiddleDown()) { + // Orca: Retain the click position even if the first motion event crosses a surface edge. + m_mouse.set_start_position_2D_as_invalid(); + m_mouse.drag.start_position_2D = pos; + //BBS: add orient deactivate logic if (!m_gizmos.on_mouse(evt)) { if (_deactivate_arrange_menu() || _deactivate_orient_menu()) @@ -4497,12 +4490,13 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) BoundingBoxf3 volume_bbox = m_volumes.volumes[volume_idx]->transformed_bounding_box(); volume_bbox.offset(1.0); const bool is_cut_connector_selected = m_selection.is_any_connector(); - if ((!any_gizmo_active || !evt.CmdDown()) && volume_bbox.contains(m_mouse.scene_position) && !is_cut_connector_selected) { + const Vec3d scene_position = _mouse_to_3d(pos); + if ((!any_gizmo_active || !evt.CmdDown()) && volume_bbox.contains(scene_position) && !is_cut_connector_selected) { m_volumes.volumes[volume_idx]->hover = GLVolume::HS_None; // The dragging operation is initiated. m_mouse.drag.move_volume_idx = volume_idx; m_selection.setup_cache(); - m_mouse.drag.start_position_3D = m_mouse.scene_position; + m_mouse.drag.start_position_3D = scene_position; m_sequential_print_clearance_first_displacement = true; m_moving = true; @@ -4560,8 +4554,12 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) TransformationType trafo_type; trafo_type.set_relative(); m_selection.translate(cur_pos - m_mouse.drag.start_position_3D, trafo_type); - if (current_printer_technology() == ptFFF && (fff_print()->config().print_sequence == PrintSequence::ByObject)) - update_sequential_clearance(); + if (current_printer_technology() == ptFFF) { + if (fff_print()->config().print_sequence == PrintSequence::ByObject) + update_sequential_clearance(); + else + update_compacted_wipe_tower_clearance(); + } // BBS //wxGetApp().obj_manipul()->set_dirty(); m_dirty = true; @@ -4593,6 +4591,9 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } // do not process the dragging if the left mouse was set down in another canvas else if (is_camera_rotate(evt, button_mappings)) { + // Orca: Rotation and panning use different drag coordinates and cached anchors. + // Clear the pan state before processing rotation or switching buttons mid-drag. + m_mouse.set_start_position_2D_as_invalid(); if (!has_mouse_capture()) // ORCA keep tracking mouse position while drag active and cursor not in window bounds m_canvas->CaptureMouse(); @@ -4610,12 +4611,12 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (this->m_canvas_type == ECanvasType::CanvasAssembleView || m_gizmos.get_current_type() == GLGizmosManager::FdmSupports || m_gizmos.get_current_type() == GLGizmosManager::Seam || m_gizmos.get_current_type() == GLGizmosManager::MmSegmentation || m_gizmos.get_current_type() == GLGizmosManager::FuzzySkin) { - Vec3d rotate_target = Vec3d::Zero(); - if (!m_selection.is_empty()) - rotate_target = m_selection.get_bounding_box().center(); + // Orca: Reuse the centralized pivot policy for scene-oriented tools. + const std::optional<Vec3d> rotate_target = get_camera_orbit_target(ECameraNavigationType::Mouse); + if (rotate_target.has_value()) + camera.rotate_on_sphere_with_target(rot.x(), rot.y(), false, *rotate_target); else - rotate_target = volumes_bounding_box().center(); - camera.rotate_on_sphere_with_target(rot.x(), rot.y(), false, rotate_target); + camera.rotate_on_sphere(rot.x(), rot.y(), false); } else { if (wxGetApp().app_config->get_bool("use_free_camera")) @@ -4639,28 +4640,11 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) } camera.rotate_on_sphere_with_target(rot.x(), rot.y(), rotate_limit, m_rotation_center); } else { - Vec3d rotate_target = Vec3d::Zero(); - if (m_canvas_type == ECanvasType::CanvasPreview) { - PartPlate *plate = wxGetApp().plater()->get_partplate_list().get_curr_plate(); - if (plate) - rotate_target = plate->get_bounding_box().center(); - } - else { - if (!m_selection.is_empty()) - rotate_target = m_selection.get_bounding_box().center(); - else { - // Rotate around the center of objects on current plate - auto bbox = volumes_bounding_box(true); - if (!bbox.defined) { - // Rotate around current plate center if current plate is empty - bbox = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_bounding_box(); - } - rotate_target = bbox.center(); - } - } - - if (!rotate_target.isZero()) - camera.rotate_on_sphere_with_target(rot.x(), rot.y(), rotate_limit, rotate_target); + // Orca: Keep regular mouse orbit and perspective-pan fallback centered + // on the same selection, active-plate, or scene reference. + const std::optional<Vec3d> rotate_target = get_camera_orbit_target(ECameraNavigationType::Mouse); + if (rotate_target.has_value()) + camera.rotate_on_sphere_with_target(rot.x(), rot.y(), rotate_limit, *rotate_target); else camera.rotate_on_sphere(rot.x(), rot.y(), rotate_limit); } @@ -4676,16 +4660,14 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_mouse.drag.start_position_3D = Vec3d((double)pos(0), (double)pos(1), 0.0); } else if (is_camera_pan(evt, button_mappings)) { + // Orca: Pan uses screen coordinates and must not inherit the rotation start point. + m_mouse.set_start_position_3D_as_invalid(); if (!has_mouse_capture()) // ORCA keep tracking mouse position while drag active and cursor not in window bounds m_canvas->CaptureMouse(); // if dragging with right button or if button functions swapped and dragging with left button over blank area then pan if (m_mouse.is_start_position_2D_defined()) { - // get point in model space at Z = 0 - float z = 0.0f; - const Vec3d& cur_pos = _mouse_to_3d(pos, &z); - Vec3d orig = _mouse_to_3d(m_mouse.drag.start_position_2D, &z); Camera& camera = wxGetApp().plater()->get_camera(); if (this->m_canvas_type != ECanvasType::CanvasAssembleView) { // Orca: Use a constrained camera when navigating the 3D scene with a regular mouse, if the free camera is not selected @@ -4697,7 +4679,14 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) camera.recover_from_free_camera(); } - camera.set_target(camera.get_target() + orig - cur_pos); + // Orca: Cache the surface under the initial click and apply every incremental + // cursor delta at that depth, so perspective zoom and camera angle stay exact. + const Vec2d screen_delta = + pos.cast<double>() - m_mouse.drag.start_position_2D.cast<double>(); + if (!m_mouse.drag.camera_pan_anchor.has_value()) + m_mouse.drag.camera_pan_anchor = get_camera_pan_anchor(camera, ECameraNavigationType::Mouse, + m_mouse.drag.start_position_2D.cast<double>()); + pan_camera(camera, screen_delta, *m_mouse.drag.camera_pan_anchor); m_dirty = true; m_mouse.ignore_right_up = true; // will be reset on button up event even if not right button is pressed } @@ -4826,7 +4815,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) if (m_selection.is_empty()) m_gizmos.reset_all_states(); - m_dirty = true; + _set_overlay_as_dirty(); } else evt.Skip(); @@ -4876,6 +4865,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) void GLCanvas3D::on_paint(wxPaintEvent& evt) { + m_presented_signature.reset(); if (m_initialized) { #ifdef __WXMSW__ // Idle events are not dispatched during the Windows resize modal loop, @@ -4927,6 +4917,8 @@ bool GLCanvas3D::is_camera_rotate(const wxMouseEvent& evt, const std::map<MouseB { if (m_is_touchpad_navigation) { return evt.Moving() && evt.AltDown() && !evt.ShiftDown(); + } else if (m_cad_navigation) { + return evt.Dragging() && evt.MiddleIsDown(); // left-drag is the selection rubber band } else { return evt.Dragging() && clicked_button_matches_action(evt, MouseAction::Rotation, mappings); } @@ -4936,6 +4928,8 @@ bool GLCanvas3D::is_camera_pan(const wxMouseEvent& evt, const std::map<MouseButt { if (m_is_touchpad_navigation) { return evt.Moving() && evt.ShiftDown() && !evt.AltDown(); + } else if (m_cad_navigation) { + return evt.Dragging() && evt.RightIsDown(); // middle now orbits, so pan is right only } else { return evt.Dragging() && clicked_button_matches_action(evt, MouseAction::Pan, mappings); ; @@ -5045,7 +5039,21 @@ void GLCanvas3D::do_move(const std::string& snapshot_type) } //BBS: notify instance updates to part plater list - m_selection.notify_instance_update(-1, 0); + // Only what moved: the selected instances, or every instance of an object one of whose + // parts moved. Notifying a plate about an instance that stayed put invalidates its slice + // result, and notifying instance 0 alone left a moved copy unregistered on its new plate. + { + std::set<std::pair<int, int>> notified; + for (unsigned int i : m_selection.get_volume_idxs()) { + const GLVolume* v = m_volumes.volumes[i]; + const int object_idx = v->object_idx(); + if (object_idx < 0 || object_idx >= static_cast<int>(m_model->objects.size())) + continue; + const std::pair<int, int> key(object_idx, selection_mode == Selection::Volume ? -1 : v->instance_idx()); + if (notified.insert(key).second) + m_selection.notify_instance_update(key.first, key.second); + } + } // Fixes sinking/flying instances (snaps object to buildplate) for (const std::pair<int, int>& i : done) { @@ -5071,8 +5079,16 @@ void GLCanvas3D::do_move(const std::string& snapshot_type) //BBS: nofity object list to update wxGetApp().plater()->sidebar().obj_list()->update_plate_values_for_items(); - if (object_moved) + if (object_moved) { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "moved"; + if (done.size() == 1) + ctx.name = m_model->objects[done.begin()->first]->name; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + post_event(SimpleEvent(EVT_GLCANVAS_INSTANCE_MOVED)); + } // BBS: support wipe-tower for multi-plates for (int plate_id = 0; plate_id < wipe_tower_origins.size(); plate_id++) { @@ -5193,8 +5209,16 @@ void GLCanvas3D::do_rotate(const std::string& snapshot_type) //BBS: nofity object list to update wxGetApp().plater()->sidebar().obj_list()->update_plate_values_for_items(); - if (!done.empty()) + if (!done.empty()) { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "rotated"; + if (done.size() == 1) + ctx.name = m_model->objects[done.begin()->first]->name; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + post_event(SimpleEvent(EVT_GLCANVAS_INSTANCE_ROTATED)); + } m_dirty = true; } @@ -5285,8 +5309,16 @@ void GLCanvas3D::do_scale(const std::string& snapshot_type) //BBS: notify object info update wxGetApp().plater()->show_object_info(); - if (!done.empty()) + if (!done.empty()) { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "scaled"; + if (done.size() == 1) + ctx.name = m_model->objects[done.begin()->first]->name; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + post_event(SimpleEvent(EVT_GLCANVAS_INSTANCE_SCALED)); + } m_dirty = true; } @@ -5411,7 +5443,11 @@ void GLCanvas3D::update_gizmos_on_off_state() void GLCanvas3D::handle_sidebar_focus_event(const std::string& opt_key, bool focus_on) { - m_sidebar_field = focus_on ? opt_key : ""; + const std::string field = focus_on ? opt_key : ""; + // The gizmo panels report this on every build. + if (m_sidebar_field == field) + return; + m_sidebar_field = field; //BBS: this event was sent from gizmo now, no need to clear gizmo //if (!m_sidebar_field.empty()) @@ -5611,6 +5647,101 @@ bool GLCanvas3D::can_sequential_clearance_show_in_gizmo() { return false; } +// Live preview of the compacted prime tower clearance, the by-layer counterpart of +// update_sequential_clearance(). Called while the user drags a volume / gizmo; idle visibility +// matches sequential print (hidden when valid, filled when Print::validate reports a collision). +// Print::compacted_wipe_tower_clearance_valid() answers the same question authoritatively, but it +// reads the tower position from the config, which only catches up once do_move() writes it back on +// mouse release. Recomputing from the volumes here is what makes the keep-out zone follow the tower +// while it is still under the cursor. +void GLCanvas3D::update_compacted_wipe_tower_clearance() +{ + if (current_printer_technology() != ptFFF) + return; + const Print *print = fff_print(); + if (print == nullptr) + return; + const PrintConfig &config = print->config(); + if (config.print_sequence != PrintSequence::ByLayer || ! wipe_tower_sparse_layers_skipped(config) || ! print->has_wipe_tower()) + return; + + PartPlateList &plate_list = wxGetApp().plater()->get_partplate_list(); + PartPlate *plate = plate_list.get_curr_plate(); + if (plate == nullptr) + return; + const int plate_id = plate_list.get_curr_plate_index(); + + // Once the tower has been generated the scene shows its real mesh with the brim merged in, + // otherwise it is a bare estimated cube with no brim at all. Only the latter needs the brim added + // here, and the width comes from WipeTowerData, the same source the preview box is sized from, so + // the zone cannot be padded against a brim the preview was not built with. + const bool preview_carries_brim = print->is_step_done(psWipeTower) && print->wipe_tower_data().wipe_tower_mesh_data.has_value(); + const double brim = preview_carries_brim ? 0. : double(print->wipe_tower_data(print->extruders().size()).brim_width); + const double padding = compacted_tower_footprint_padding(config, brim); + + // Tower footprint straight from the volume the user sees, so that dragging either the tower or an + // object updates the zone on the very next frame. + Polygon tower_footprint; + for (const GLVolume *v : m_volumes.volumes) { + if (! v->is_wipe_tower || v->object_idx() - 1000 != plate_id) + continue; + const BoundingBoxf3 bbox = v->transformed_convex_hull_bounding_box(); + tower_footprint = Polygon({ Point(scale_(bbox.min.x() - padding), scale_(bbox.min.y() - padding)), + Point(scale_(bbox.max.x() + padding), scale_(bbox.min.y() - padding)), + Point(scale_(bbox.max.x() + padding), scale_(bbox.max.y() + padding)), + Point(scale_(bbox.min.x() - padding), scale_(bbox.max.y() + padding)) }); + break; + } + + const CompactedTowerZone zone = compacted_wipe_tower_zone(config, tower_footprint); + if (zone.empty()) { + reset_sequential_print_clearance(); + return; + } + + // While dragging, outline every on-plate instance next to the tower ring, the way sequential print + // outlines every object. Both carry half of the clearance, so the two outlines meeting is precisely + // the moment that object goes over its limit - which is what makes the pair worth drawing at all. + // The tier is per object, so a short object gets the narrow nozzle outline rather than the wide + // body one it is not subject to; without that, a 3 mm object parked beside the tower would be drawn + // deep inside the keep-out ring while passing the check. Only the instances that already exceed + // allowed_rise also get a height limit plane. + Polygons outlines; + std::vector<std::pair<Polygon, float>> height_polygons; + bool body_tier_used = false; + const BoundingBox plate_bb = plate->get_bounding_box_crd(); + for (const ModelObject *model_object : m_model->objects) { + for (size_t i = 0; i < model_object->instances.size(); ++i) { + Geometry::Transformation trafo(model_object->instances[i]->get_transformation()); + const Vec3d offset = trafo.get_offset(); + trafo.set_offset(Vec3d(offset.x(), offset.y(), 0.0)); + const Polygon inst_hull = model_object->convex_hull_2d(trafo.get_matrix()); + if (inst_hull.points.empty() || ! plate_bb.overlap(inst_hull.bounding_box())) + continue; + + // Same tiers and the same rise measured from the plate as + // Print::compacted_wipe_tower_clearance_valid(), so that the preview and the validation + // that follows it never contradict each other. + const double object_top = model_object->get_instance_max_z(i); + const CompactedTowerClearance clearance = compacted_wipe_tower_clearance(config, zone, inst_hull, object_top); + body_tier_used = body_tier_used || compacted_tower_body_tier(clearance); + + const Polygon outline = compacted_wipe_tower_offender_outline(inst_hull, clearance.body_clearance); + outlines.emplace_back(outline); + if (object_top <= clearance.allowed_rise + EPSILON) + continue; + height_polygons.emplace_back(outline, float(clearance.allowed_rise)); + } + } + + Polygons polygons = compacted_wipe_tower_rings(zone, body_tier_used); + append(polygons, outlines); + + set_sequential_print_clearance_visible(true); + set_sequential_print_clearance_render_fill(false); + set_sequential_print_clearance_polygons(polygons, height_polygons); +} + void GLCanvas3D::update_sequential_clearance() { if (current_printer_technology() != ptFFF || (fff_print()->config().print_sequence == PrintSequence::ByLayer)) @@ -5931,7 +6062,7 @@ bool GLCanvas3D::_render_orient_menu(float left, float right, float bottom, floa } //BBS: GUI refactor: adjust main toolbar position -bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, float top) +void GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, float top) { ImGuiWrapper *imgui = wxGetApp().imgui(); @@ -5956,7 +6087,6 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo imgui->begin(_L("Arrange options"), ImGuiWindowFlags_NoMove | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar); - ArrangeSettings settings = get_arrange_settings(); ArrangeSettings &settings_out = get_arrange_settings(); const float slider_icon_width = imgui->get_slider_icon_size().x; const float cursor_slider_left = imgui->calc_text_size(_L("Spacing")).x + imgui->scaled(1.5f); @@ -5965,13 +6095,9 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo auto &appcfg = wxGetApp().app_config; PrinterTechnology ptech = current_printer_technology(); - bool settings_changed = false; - float dist_min = 0.f; // 0 means auto std::string dist_key = "min_object_distance", rot_key = "enable_rotation"; - std::string bed_shrink_x_key = "bed_shrink_x", bed_shrink_y_key = "bed_shrink_y"; std::string multi_material_key = "allow_multi_materials_on_same_plate"; std::string avoid_extrusion_key = "avoid_extrusion_cali_region"; - std::string align_to_y_axis_key = "align_to_y_axis"; std::string postfix; //BBS: bool seq_print = false; @@ -5979,59 +6105,41 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo if (ptech == ptSLA) { postfix = "_sla"; } else if (ptech == ptFFF) { - seq_print = &settings == &m_arrange_settings_fff_seq_print; - if (seq_print) { - postfix = "_fff_seq_print"; - } else { - postfix = "_fff"; - } + seq_print = wxGetApp().global_print_sequence() == PrintSequence::ByObject; + postfix = seq_print ? "_fff_seq_print" : "_fff"; } dist_key += postfix; rot_key += postfix; - bed_shrink_x_key += postfix; - bed_shrink_y_key += postfix; ImGui::AlignTextToFramePadding(); imgui->text(_L("Spacing")); ImGui::SameLine(1.2 * cursor_slider_left); ImGui::PushItemWidth(window_width - slider_icon_width); - bool b_Spacing = imgui->bbl_slider_float_style("##Spacing", &settings.distance, dist_min, 100.0f, "%5.2f") || dist_min > settings.distance; + bool b_Spacing = imgui->bbl_slider_float_style("##Spacing", &settings_out.distance, 0.f, 100.0f, "%5.2f", 1.0f, /*clamp=*/false); ImGui::SameLine(window_width - slider_icon_width + 1.3 * cursor_slider_left); ImGui::PushItemWidth(1.5 * slider_icon_width); - bool b_spacing_input = ImGui::BBLDragFloat("##spacing_input", &settings.distance, 0.05f, 0.0f, 0.0f, "%.2f"); - if (b_Spacing || b_spacing_input) - { - settings.distance = std::max(dist_min, settings.distance); - settings_out.distance = settings.distance; + bool b_spacing_input = ImGui::BBLDragFloat("##spacing_input", &settings_out.distance, 0.05f, 0.0f, 0.0f, "%.2f"); + if (b_Spacing || b_spacing_input) { + settings_out.distance = std::max(0.f, settings_out.distance); appcfg->set("arrange", dist_key.c_str(), float_to_string_decimal_point(settings_out.distance)); - settings_changed = true; } imgui->text(_L("0 means auto spacing.")); ImGui::Separator(); - if (imgui->bbl_checkbox(_L("Auto rotate for arrangement"), settings.enable_rotation)) { - settings_out.enable_rotation = settings.enable_rotation; + if (imgui->bbl_checkbox(_L("Auto rotate for arrangement"), settings_out.enable_rotation)) appcfg->set("arrange", rot_key.c_str(), settings_out.enable_rotation); - settings_changed = true; - } - if (imgui->bbl_checkbox(_L("Allow multiple materials on same plate"), settings.allow_multi_materials_on_same_plate)) { - settings_out.allow_multi_materials_on_same_plate = settings.allow_multi_materials_on_same_plate; - appcfg->set("arrange", multi_material_key.c_str(), settings_out.allow_multi_materials_on_same_plate ); - settings_changed = true; - } + if (imgui->bbl_checkbox(_L("Allow multiple materials on same plate"), settings_out.allow_multi_materials_on_same_plate)) + appcfg->set("arrange", multi_material_key.c_str(), settings_out.allow_multi_materials_on_same_plate); // only show this option if the printer has micro Lidar and can do first layer scan DynamicPrintConfig ¤t_config = wxGetApp().preset_bundle->printers.get_edited_preset().config; const bool has_lidar = wxGetApp().preset_bundle->is_bbl_vendor(); auto op = current_config.option("scan_first_layer"); if (has_lidar && op && op->getBool()) { - if (imgui->bbl_checkbox(_L("Avoid extrusion calibration region"), settings.avoid_extrusion_cali_region)) { - settings_out.avoid_extrusion_cali_region = settings.avoid_extrusion_cali_region; - appcfg->set("arrange", avoid_extrusion_key.c_str(), settings_out.avoid_extrusion_cali_region ? "1" : "0"); - settings_changed = true; - } + if (imgui->bbl_checkbox(_L("Avoid extrusion calibration region"), settings_out.avoid_extrusion_cali_region)) + appcfg->set("arrange", avoid_extrusion_key.c_str(), settings_out.avoid_extrusion_cali_region); } else { settings_out.avoid_extrusion_cali_region = false; } @@ -6043,11 +6151,7 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo settings_out.align_to_y_axis = false; } - if (imgui->bbl_checkbox(_L("Align to Y axis"), settings.align_to_y_axis)) { - settings_out.align_to_y_axis = settings.align_to_y_axis; - appcfg->set("arrange", align_to_y_axis_key, settings_out.align_to_y_axis ? "1" : "0"); - settings_changed = true; - } + imgui->bbl_checkbox(_L("Align to Y axis"), settings_out.align_to_y_axis); if (settings_out.enable_rotation == true) { imgui->disabled_end(); } } @@ -6063,7 +6167,6 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo if (imgui->button(_L("Reset"))) { settings_out = ArrangeSettings{}; - settings_out.distance = std::max(dist_min, settings_out.distance); //BBS: add specific arrange settings if (seq_print) settings_out.is_seq_print = true; @@ -6073,18 +6176,16 @@ bool GLCanvas3D::_render_arrange_menu(float left, float right, float bottom, flo else settings_out.align_to_y_axis = false; - appcfg->set("arrange", dist_key, float_to_string_decimal_point(settings_out.distance)); - appcfg->set("arrange", rot_key, settings_out.enable_rotation ? "1" : "0"); - appcfg->set("arrange", align_to_y_axis_key, settings_out.align_to_y_axis ? "1" : "0"); - settings_changed = true; + appcfg->erase("arrange", dist_key); + appcfg->erase("arrange", rot_key); + appcfg->erase("arrange", multi_material_key); + appcfg->erase("arrange", avoid_extrusion_key); } ImGui::PopStyleVar(1); imgui->end(); //BBS ImGuiWrapper::pop_toolbar_style(); - - return settings_changed; } static const float cameraProjection[16] = {1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 0.f, 1.f}; @@ -6444,6 +6545,9 @@ void GLCanvas3D::render_thumbnail_internal(ThumbnailData& thumbnail_data, const //if (thumbnail_params.transparent_background) // glsafe(::glClearColor(1.0f, 1.0f, 1.0f, 1.0f)); BOOST_LOG_TRIVIAL(info) << boost::format("render_thumbnail: finished"); + + // Puts the canvas viewport back in place of the thumbnail one set above. + wxGetApp().plater()->get_camera().apply_viewport(); } void GLCanvas3D::render_thumbnail_framebuffer(ThumbnailData& thumbnail_data, unsigned int w, unsigned int h, const ThumbnailsParams& thumbnail_params, @@ -6694,9 +6798,6 @@ void GLCanvas3D::render_thumbnail_legacy(ThumbnailData& thumbnail_data, unsigned #if ENABLE_THUMBNAIL_GENERATOR_DEBUG_OUTPUT debug_output_thumbnail(thumbnail_data); #endif // ENABLE_THUMBNAIL_GENERATOR_DEBUG_OUTPUT - - // restore the default framebuffer size to avoid flickering on the 3D scene - //wxGetApp().plater()->get_camera().apply_viewport(); } //BBS: GUI refractor @@ -6835,7 +6936,6 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "add"; item.icon_filename = m_is_dark ? "toolbar_open_dark.svg" : "toolbar_open.svg"; - item.tooltip = _utf8(L("Add")) + " [" + GUI::shortkey_ctrl_prefix() + "I]"; item.sprite_id = 0; item.left.action_callback = [this]() { if (m_canvas != nullptr) wxPostEvent(m_canvas, SimpleEvent(EVT_GLTOOLBAR_ADD)); }; item.enabling_callback = []()->bool {return wxGetApp().plater()->can_add_model(); }; @@ -6853,7 +6953,6 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "orient"; item.icon_filename = m_is_dark ? "toolbar_orient_dark.svg" : "toolbar_orient.svg"; - item.tooltip = _utf8(L("Auto orient all/selected objects")) + " [Q]\n" + _utf8(L("Auto orient all objects on current plate")) + " [" + _utf8(L("Shift+")) + "Q]"; item.sprite_id++; item.left.render_callback = nullptr; item.enabling_callback = []()->bool { return wxGetApp().plater()->can_arrange(); }; @@ -6875,7 +6974,6 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "arrange"; item.icon_filename = m_is_dark ? "toolbar_arrange_dark.svg" : "toolbar_arrange.svg"; - item.tooltip = _utf8(L("Arrange all objects")) + " [A]\n" + _utf8(L("Arrange objects on selected plates")) + " [" + _utf8(L("Shift+")) + "A]"; item.sprite_id++; item.left.action_callback = []() {}; item.enabling_callback = []()->bool { return wxGetApp().plater()->can_arrange(); }; @@ -6899,7 +6997,6 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "more"; item.icon_filename = m_is_dark ? "instance_add_dark.svg" : "instance_add.svg"; - item.tooltip = _utf8(L("Add instance")) + " [+]"; item.sprite_id++; item.left.render_callback = nullptr; item.left.action_callback = [this]() { if (m_canvas != nullptr) wxPostEvent(m_canvas, SimpleEvent(EVT_GLTOOLBAR_MORE)); }; @@ -6911,7 +7008,6 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "fewer"; item.icon_filename = m_is_dark ? "instance_remove_dark.svg" : "instance_remove.svg"; - item.tooltip = _utf8(L("Remove instance")) + " [-]"; item.sprite_id++; item.left.render_callback = nullptr; item.left.action_callback = [this]() { if (m_canvas != nullptr) wxPostEvent(m_canvas, SimpleEvent(EVT_GLTOOLBAR_FEWER)); }; @@ -6961,9 +7057,20 @@ bool GLCanvas3D::_init_main_toolbar() if (!m_main_toolbar.add_item(item)) return false; + update_shortcut_tooltips(); return true; } +void GLCanvas3D::update_shortcut_tooltips() +{ + const ShortcutRegistry& shortcuts = wxGetApp().shortcuts(); + m_main_toolbar.set_tooltip(m_main_toolbar.get_item_id("add"), shortcuts.with_key(_u8L("Add"), Shortcut::ImportModel)); + m_main_toolbar.set_tooltip(m_main_toolbar.get_item_id("orient"), shortcuts.with_key(_u8L("Auto orient all/selected objects"), Shortcut::Orient) + "\n" + shortcuts.with_key(_u8L("Auto orient all objects on current plate"), Shortcut::OrientPlate)); + m_main_toolbar.set_tooltip(m_main_toolbar.get_item_id("arrange"), shortcuts.with_key(_u8L("Arrange all objects"), Shortcut::Arrange) + "\n" + shortcuts.with_key(_u8L("Arrange objects on selected plates"), Shortcut::ArrangePlate)); + m_main_toolbar.set_tooltip(m_main_toolbar.get_item_id("more"), shortcuts.with_key(_u8L("Add instance"), Shortcut::AddInstance)); + m_main_toolbar.set_tooltip(m_main_toolbar.get_item_id("fewer"), shortcuts.with_key(_u8L("Remove instance"), Shortcut::RemoveInstance)); +} + //BBS: GUI refactor: GLToolbar bool GLCanvas3D::_init_select_plate_toolbar() { @@ -7174,6 +7281,16 @@ void GLCanvas3D::_resize(unsigned int w, unsigned int h) m_last_w = w; m_last_h = h; + set_imgui_scaling(); + + this->request_extra_frame(); + + // ensures that this canvas is current + _set_current(); +} + +void GLCanvas3D::set_imgui_scaling() +{ float font_size = wxGetApp().em_unit(); #ifdef _WIN32 @@ -7186,15 +7303,10 @@ void GLCanvas3D::_resize(unsigned int w, unsigned int h) #endif #if ENABLE_RETINA_GL - imgui->set_scaling(font_size, 1.0f, m_retina_helper->get_scale_factor()); + wxGetApp().imgui()->set_scaling(font_size, 1.0f, m_retina_helper->get_scale_factor()); #else - imgui->set_scaling(font_size, m_canvas->GetContentScaleFactor(), 1.0f); + wxGetApp().imgui()->set_scaling(font_size, m_canvas->GetContentScaleFactor(), 1.0f); #endif - - this->request_extra_frame(); - - // ensures that this canvas is current - _set_current(); } BoundingBoxf3 GLCanvas3D::_max_bounding_box(bool include_gizmos, bool include_bed_model, bool include_plates) const @@ -7245,15 +7357,15 @@ void GLCanvas3D::_update_camera_zoom(double zoom) m_dirty = true; } -void GLCanvas3D::_refresh_if_shown_on_screen() +void GLCanvas3D::_refresh_if_shown_on_screen(bool scene_dirty) { if (_is_shown_on_screen()) { const Size& cnv_size = get_canvas_size(); _resize((unsigned int)cnv_size.get_width(), (unsigned int)cnv_size.get_height()); // Because of performance problems on macOS, where PaintEvents are not delivered - // frequently enough, we call render() here directly when we can. - render(); + // frequently enough, we render here directly when we can. + _render_frame(scene_dirty); } } @@ -7272,11 +7384,8 @@ void GLCanvas3D::_picking_pass() m_hover_volume_idxs.clear(); m_hover_plate_idxs.clear(); - // Orca: ignore clipping plane if not applying - GLGizmoBase *current_gizmo = m_gizmos.get_current(); - const ClippingPlane clipping_plane = ((!current_gizmo || current_gizmo->apply_clipping_plane()) ? m_gizmos.get_clipping_plane() : - ClippingPlane::ClipsNothing()) - .inverted_normal(); + // Orca: Picking and camera navigation must interpret the active gizmo clipping plane identically. + const ClippingPlane clipping_plane = get_raycaster_clipping_plane(); const SceneRaycaster::HitResult hit = m_scene_raycaster.hit(m_mouse.position, wxGetApp().plater()->get_camera(), &clipping_plane); if (hit.is_valid()) { switch (hit.type) @@ -7614,11 +7723,20 @@ bool GLCanvas3D::_is_fxaa_enabled() const return wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_FXAA_ENABLED); } +bool GLCanvas3D::_is_realistic_view_enabled() const +{ + const AppConfig* cfg = wxGetApp().app_config; + if (cfg == nullptr || !cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE)) + return false; + // Prepare and Assemble follow the umbrella toggle alone; Preview needs its own opt-in. + return m_canvas_type != ECanvasType::CanvasPreview || cfg->get_bool(SETTING_OPENGL_REALISTIC_PREVIEW); +} + bool GLCanvas3D::_is_ssao_enabled() const { if (wxGetApp().app_config == nullptr) return false; - return wxGetApp().app_config->get_bool(SETTING_OPENGL_REALISTIC_MODE) && + return _is_realistic_view_enabled() && wxGetApp().app_config->get_bool(SETTING_OPENGL_PHONG_SSAO); } @@ -7645,6 +7763,36 @@ bool GLCanvas3D::_is_fps_overlay_enabled() const return wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_SHOW_FPS_OVERLAY); } +bool GLCanvas3D::_is_scene_cache_enabled() const +{ + return wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_SCENE_CACHE); +} + +bool GLCanvas3D::_is_scene_cacheable() const +{ + if (!_is_scene_cache_enabled()) + return false; + +#ifdef SLIC3R_CAD + // The Design tab draws its sketch overlay, ImGui included, inside the scene. + if (m_design_sketch_tool != nullptr && m_design_sketch_tool->has_display()) + return false; +#endif + + // The scene follows the cursor during a drag, under a gizmo that draws at the cursor, and while + // the cursor is on the layer height bar, where the object shader draws a band at its height. + const GLGizmoBase* gizmo = m_gizmos.get_current(); + const bool cursor_on_layers_bar = is_layers_editing_enabled() && + m_layers_editing.bar_rect_contains(*this, (float)m_mouse.position.x(), (float)m_mouse.position.y()); + return !m_mouse.dragging && !m_gizmos.is_dragging() && !m_rectangle_selection.is_dragging() && + (gizmo == nullptr || !gizmo->render_follows_cursor()) && !cursor_on_layers_bar; +} + +bool GLCanvas3D::_is_frame_skipping_enabled() const +{ + return wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_SKIP_IDENTICAL_FRAMES); +} + void GLCanvas3D::_render_fps_overlay(int fps) const { if (fps < 0) @@ -7665,6 +7813,8 @@ void GLCanvas3D::_render_fps_overlay(int fps) const ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoInputs); imgui.text(std::string("FPS: ") + std::to_string(fps)); + // The subset of those frames that redrew the scene rather than reusing the cached one. + imgui.text(std::string("3D: ") + std::to_string(m_render_stats.get_scene_fps())); imgui.end(); } @@ -7677,23 +7827,7 @@ void GLCanvas3D::_render_fxaa_pass(unsigned int width, unsigned int height) if (shader == nullptr) return; - if (m_fxaa_texture_id == 0) { - glsafe(::glGenTextures(1, &m_fxaa_texture_id)); - glsafe(::glBindTexture(GL_TEXTURE_2D, m_fxaa_texture_id)); - glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); - glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); - glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); - glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); - glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); - } - - glsafe(::glBindTexture(GL_TEXTURE_2D, m_fxaa_texture_id)); - if (m_fxaa_texture_size[0] != width || m_fxaa_texture_size[1] != height) { - glsafe(::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr)); - m_fxaa_texture_size = { width, height }; - } - - glsafe(::glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, width, height)); + GLTexture::copy_from_framebuffer(m_fxaa_texture_id, m_fxaa_texture_size, width, height, GL_LINEAR); glsafe(::glDisable(GL_DEPTH_TEST)); glsafe(::glDisable(GL_BLEND)); @@ -7757,95 +7891,23 @@ void GLCanvas3D::_render_ssao_pass(unsigned int width, unsigned int height) const Camera& camera = wxGetApp().plater()->get_camera(); - GLint prev_stencil_mask = 0xFF; - glsafe(::glGetIntegerv(GL_STENCIL_WRITEMASK, &prev_stencil_mask)); - GLboolean prev_stencil_test = GL_FALSE; - glsafe(::glGetBooleanv(GL_STENCIL_TEST, &prev_stencil_test)); - GLboolean prev_depth_mask = GL_TRUE; - glsafe(::glGetBooleanv(GL_DEPTH_WRITEMASK, &prev_depth_mask)); - GLint prev_depth_func = GL_LESS; - glsafe(::glGetIntegerv(GL_DEPTH_FUNC, &prev_depth_func)); - glsafe(::glDisable(GL_DEPTH_TEST)); glsafe(::glDisable(GL_BLEND)); - // Build stencil mask for bed/plate and apply SSAO only outside this mask. - glsafe(::glEnable(GL_STENCIL_TEST)); - glsafe(::glStencilMask(0xFF)); - glsafe(::glClearStencil(0)); - glsafe(::glClear(GL_STENCIL_BUFFER_BIT)); - glsafe(::glStencilFunc(GL_ALWAYS, 1, 0xFF)); - glsafe(::glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE)); - // Mark only visible plate pixels (do not exclude objects in front of plate). - glsafe(::glEnable(GL_DEPTH_TEST)); - glsafe(::glDepthMask(GL_FALSE)); - glsafe(::glDepthFunc(GL_LEQUAL)); - - GLboolean prev_color_mask[4] = { GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE }; - glsafe(::glGetBooleanv(GL_COLOR_WRITEMASK, prev_color_mask)); - glsafe(::glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE)); - - if (const BuildVolume& build_volume = m_bed.build_volume(); build_volume.valid()) { - GLShaderProgram* flat = wxGetApp().get_shader("flat"); - if (flat != nullptr) { - flat->start_using(); - flat->set_uniform("projection_matrix", camera.get_projection_matrix()); - - GLModel plate_mask; - GLModel::Geometry mask; - mask.format = { GLModel::Geometry::EPrimitiveType::Triangles, GLModel::Geometry::EVertexLayout::P3 }; - - if (build_volume.type() == BuildVolume_Type::Rectangle) { - const BoundingBox3Base<Vec3d> bb = build_volume.bounding_volume(); - mask.reserve_vertices(4); - mask.reserve_indices(6); - mask.add_vertex(Vec3f((float)bb.min.x(), (float)bb.min.y(), 0.0f)); - mask.add_vertex(Vec3f((float)bb.max.x(), (float)bb.min.y(), 0.0f)); - mask.add_vertex(Vec3f((float)bb.max.x(), (float)bb.max.y(), 0.0f)); - mask.add_vertex(Vec3f((float)bb.min.x(), (float)bb.max.y(), 0.0f)); - mask.add_triangle(0, 1, 2); - mask.add_triangle(0, 2, 3); - } else if (build_volume.type() == BuildVolume_Type::Circle) { - const Vec2f c = Vec2f(unscaled<float>(build_volume.circle().center.x()), unscaled<float>(build_volume.circle().center.y())); - const float r = unscaled<float>(build_volume.circle().radius); - const int segments = 64; - mask.reserve_vertices(segments + 1); - mask.reserve_indices(segments * 3); - mask.add_vertex(Vec3f(c.x(), c.y(), 0.0f)); - for (int i = 0; i < segments; ++i) { - const float a = (2.0f * float(PI) * float(i)) / float(segments); - mask.add_vertex(Vec3f(c.x() + r * std::cos(a), c.y() + r * std::sin(a), 0.0f)); - } - for (int i = 0; i < segments; ++i) { - const unsigned int i1 = 1 + i; - const unsigned int i2 = 1 + ((i + 1) % segments); - mask.add_triangle(0, i1, i2); - } - } - - if (mask.vertices_count() > 0 && mask.indices_count() > 0) { - plate_mask.init_from(std::move(mask)); - flat->set_uniform("view_model_matrix", camera.get_view_matrix()); - plate_mask.render(flat); - } - flat->stop_using(); - } - } - - glsafe(::glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE)); - glsafe(::glDisable(GL_DEPTH_TEST)); - glsafe(::glStencilMask(0x00)); - glsafe(::glStencilFunc(GL_NOTEQUAL, 1, 0xFF)); - glsafe(::glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)); - shader->start_using(); shader->set_uniform("view_model_matrix", Transform3d::Identity()); shader->set_uniform("projection_matrix", Transform3d::Identity()); shader->set_uniform("color_texture", 0); shader->set_uniform("depth_texture", 1); shader->set_uniform("inv_tex_size", Vec2f(1.0f / static_cast<float>(width), 1.0f / static_cast<float>(height))); - shader->set_uniform("z_near", camera.get_near_z()); shader->set_uniform("z_far", camera.get_far_z()); + // The shader reconstructs the surface normal from the depth buffer, there being no normal + // target to read: it unprojects a pixel back into view space, then measures the result + // against world +Z expressed in view space to tell a top surface from a wall. + const Matrix4d inv_projection_matrix = camera.get_projection_matrix().matrix().inverse(); + shader->set_uniform("inv_projection_matrix", inv_projection_matrix); + const Vec3d up_view = (camera.get_view_matrix().matrix().block<3, 3>(0, 0) * Vec3d::UnitZ()).normalized(); + shader->set_uniform("up_view", up_view); glsafe(::glActiveTexture(GL_TEXTURE0)); glsafe(::glBindTexture(GL_TEXTURE_2D, m_ssao_color_texture_id)); @@ -7857,18 +7919,56 @@ void GLCanvas3D::_render_ssao_pass(unsigned int width, unsigned int height) glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); shader->stop_using(); - if (!prev_stencil_test) - glsafe(::glDisable(GL_STENCIL_TEST)); - glsafe(::glStencilMask(prev_stencil_mask)); - glsafe(::glColorMask(prev_color_mask[0], prev_color_mask[1], prev_color_mask[2], prev_color_mask[3])); - - glsafe(::glDepthMask(prev_depth_mask)); - glsafe(::glDepthFunc(prev_depth_func)); glsafe(::glEnable(GL_DEPTH_TEST)); glsafe(::glEnable(GL_BLEND)); glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); } +SceneCache::Key GLCanvas3D::_scene_cache_key(const Camera& camera) const +{ + SceneCache::Key key; + const std::array<int, 4>& viewport = camera.get_viewport(); + key.size = { { (unsigned int)viewport[2], (unsigned int)viewport[3] } }; + key.view_matrix = camera.get_view_matrix(); + key.projection_matrix = camera.get_projection_matrix(); + // Hover reaches the scene only through the sinking contour a hovered volume draws over + // itself (GLVolumeCollection::render()), the plate icons (PartPlate::render_icons()) and the + // open gizmo's grabbers. + for (size_t i = 0; i < m_volumes.volumes.size(); ++i) { + const GLVolume& volume = *m_volumes.volumes[i]; + if (volume.hover != GLVolume::HS_None && volume.is_sinking() && !volume.is_below_printbed()) + key.sinking_hover_volume_idxs.emplace_back((int)i); + } + for (int id : m_hover_plate_idxs) { + if (id % PartPlate::GRABBER_COUNT != 0) + key.hover_plate_icon_idxs.emplace_back(id); + } + const GLGizmoBase* gizmo = m_gizmos.get_current(); + key.gizmo_hover_id = gizmo != nullptr ? gizmo->get_hover_id() : -1; + key.render_preview = m_render_preview; + return key; +} + +bool GLCanvas3D::_can_reuse_cached_scene(const Camera& camera) const +{ + return _is_scene_cacheable() && m_scene_cache.matches(_scene_cache_key(camera)); +} + +void GLCanvas3D::_capture_scene_cache(const Camera& camera) +{ + if (!_is_scene_cache_enabled()) { + m_scene_cache.reset(); + return; + } + + if (!_is_scene_cacheable()) { + m_scene_cache.invalidate(); + return; + } + + m_scene_cache.capture(_scene_cache_key(camera)); +} + void GLCanvas3D::_render_background() { bool use_error_color = false; @@ -7950,28 +8050,132 @@ void GLCanvas3D::_render_bed(const Transform3d& view_matrix, const Transform3d& */ //bool show_texture = true; //BBS set axes mode - m_bed.set_axes_mode(m_main_toolbar.is_enabled()); + if (m_axes_at_bed_center) { + // Design tab: triad at the bed centre = modeling origin (set every frame because + // set_shape/set_axes_mode otherwise reset it to the bed corner). + const Vec2d bc = m_bed.build_volume().bed_center(); + m_bed.set_axes_origin(Vec3d(bc.x(), bc.y(), 0.0)); + } else { + m_bed.set_axes_mode(m_main_toolbar.is_enabled()); + } m_bed.render(*this, view_matrix, projection_matrix, bottom, scale_factor, show_axes); } void GLCanvas3D::_render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid) { - wxGetApp().plater()->get_partplate_list().render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid); + wxGetApp().plater()->get_partplate_list().render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid, !m_plate_chrome_enabled); +} + +// Design tab: CAD grid on the bed plane, drawn in place of the plate's corner-origin grid. +// Generated from the bed centre (= modeling origin) so a grid line passes exactly through the +// triad in both axes. Minor lines every 10 mm, major every 50 mm; the two GLModels are built +// once and rebuilt only when the bed shape changes, not per frame. +void GLCanvas3D::_render_cad_grid(const Transform3d& view_matrix, const Transform3d& projection_matrix) +{ + const BuildVolume& build_volume = m_bed.build_volume(); + if (!build_volume.valid()) + return; + + const Vec2d center = build_volume.bed_center(); + const BoundingBoxf bb = build_volume.bounding_volume2d(); + if (!m_cad_grid_valid || m_cad_grid_center != center || m_cad_grid_bb != bb) { + m_cad_grid_center = center; + m_cad_grid_bb = bb; + m_cad_grid_valid = true; + + // Same z as PartPlate::GROUND_Z_GRIDLINE (-0.26f): just below the bed fill (GROUND_Z = + // -0.03f, which is drawn with the depth mask disabled) and above the physical bed model + // (offset z = -0.41), so the grid never z-fights the bed quad. Chosen by construction, + // not by magic number: it is the exact z the plate grid already uses on the shared bed. + const float z = -0.26f; + + auto build_grid = [&z, ¢er, &bb](double step, GLModel& model) { + std::vector<std::pair<Vec2d, Vec2d>> segs; + // Constant-x (vertical on screen) lines, both directions from the centre so the + // centre column itself is always present. Clipped to the bed bounding box so nothing + // spills past the bed quad. + for (double x = center.x(); x >= bb.min.x(); x -= step) + segs.emplace_back(Vec2d(x, bb.min.y()), Vec2d(x, bb.max.y())); + for (double x = center.x() + step; x <= bb.max.x(); x += step) + segs.emplace_back(Vec2d(x, bb.min.y()), Vec2d(x, bb.max.y())); + // Constant-y (horizontal on screen) lines, same centre-first convention. + for (double y = center.y(); y >= bb.min.y(); y -= step) + segs.emplace_back(Vec2d(bb.min.x(), y), Vec2d(bb.max.x(), y)); + for (double y = center.y() + step; y <= bb.max.y(); y += step) + segs.emplace_back(Vec2d(bb.min.x(), y), Vec2d(bb.max.x(), y)); + + GLModel::Geometry data; + data.format = { GLModel::Geometry::EPrimitiveType::Lines, GLModel::Geometry::EVertexLayout::P3 }; + data.reserve_vertices(2 * segs.size()); + data.reserve_indices(2 * segs.size()); + for (const auto& s : segs) { + data.add_vertex(Vec3f(float(s.first.x()), float(s.first.y()), z)); + data.add_vertex(Vec3f(float(s.second.x()), float(s.second.y()), z)); + const unsigned int vc = static_cast<unsigned int>(data.vertices_count()); + data.add_line(vc - 2, vc - 1); + } + model.init_from(std::move(data)); + }; + + m_cad_grid_minor.reset(); + m_cad_grid_major.reset(); + build_grid(10.0, m_cad_grid_minor); + build_grid(50.0, m_cad_grid_major); + } + + if (!m_cad_grid_minor.is_initialized() || !m_cad_grid_major.is_initialized()) + return; + + GLShaderProgram* shader = wxGetApp().get_shader("flat"); + if (shader == nullptr) + return; + + shader->start_using(); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + shader->set_uniform("view_model_matrix", view_matrix); + shader->set_uniform("projection_matrix", projection_matrix); + + // White every 5 cm, grey every 1 cm — the SAME in both themes, deliberately. There is no + // "white bed" to vanish against: the plate is dark grey either way, DEFAULT_MODEL_COLOR + // {0.326,0.337,0.337} on light and DEFAULT_MODEL_COLOR_DARK {0.255,0.255,0.283} on dark + // (3DBed.cpp:185-186), a difference of 0.07. A per-theme palette here would be a branch + // that buys nothing and one more thing to keep in step. + // + // For contrast with what this replaces: the plate's own grid uses LINE_TOP_DARK_COLOR, a + // 0.43 grey, for BOTH its thin and its bold family — which is most of why the stock grid + // reads as a flat mesh with no scale to it. + const ColorRGBA minor_color(0.40f, 0.40f, 0.42f, 1.0f); + const ColorRGBA major_color(0.90f, 0.90f, 0.90f, 1.0f); + + glsafe(::glLineWidth(1.0f)); + m_cad_grid_minor.set_color(minor_color); + m_cad_grid_minor.render(); + + glsafe(::glLineWidth(2.0f)); + m_cad_grid_major.set_color(major_color); + m_cad_grid_major.render(); + + glsafe(::glDisable(GL_BLEND)); } void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix) { if (wxGetApp().app_config == nullptr) return; - if (!wxGetApp().app_config->get_bool(SETTING_OPENGL_REALISTIC_MODE)) + if (!_is_realistic_view_enabled()) return; if (!wxGetApp().app_config->get_bool(SETTING_OPENGL_PHONG_BASIC_PLATE_SHADOWS)) return; - if (m_volumes.empty()) - return; - GLShaderProgram* shader = wxGetApp().get_shader("flat"); - if (shader == nullptr) + // The preview canvas holds no volumes of its own for FFF. Once slicing has run its printed + // geometry is the G-code toolpaths, which both cast into the map here and sample it back in + // _render_gcode; before slicing there are only shells, and nothing casts at all. View3D and + // SLA preview use m_volumes. The shells are deliberately never casters: they are a + // translucent ghost of the whole object, so they would drop the solid shadow of a print that + // has not been sliced, and at any layer below the last, one that is not there yet. + const bool toolpath_casters = m_canvas_type == ECanvasType::CanvasPreview && m_gcode_viewer.has_data(); + if (!toolpath_casters && m_volumes.empty()) return; if (OpenGLManager::get_framebuffers_type() == OpenGLManager::EFramebufferType::Arb) { @@ -7983,10 +8187,30 @@ void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform // Bounding box of the printable objects (the shadow casters). BoundingBoxf3 obj_bb; - for (const GLVolume* volume : m_volumes.volumes) { - if (volume == nullptr || !volume->is_active || !volume->printable || volume->is_modifier || volume->is_wipe_tower) - continue; - obj_bb.merge(volume->transformed_bounding_box()); + if (toolpath_casters) { + // Merged corner by corner: BoundingBoxf3(min, max) marks itself undefined at zero + // Z extent, which a single layer print gives, and the check below would then drop + // every shadow in the frame. + const BoundingBoxf3& paths_bb = m_gcode_viewer.get_paths_bounding_box(); + if ((paths_bb.min.array() <= paths_bb.max.array()).all()) { + obj_bb.merge(paths_bb.min); + obj_bb.merge(paths_bb.max); + } + // Only the enabled layers are drawn, so fitting the map to the whole print wastes + // its depth range and makes contact shadows shift as the slider moves. The z = 0 + // shadow is enclosed separately below, so the plate shadow is unaffected. + const std::vector<double> layer_zs = m_gcode_viewer.get_layers_zs(); + if (!layer_zs.empty()) { + const size_t top = std::min<size_t>(m_gcode_viewer.get_layers_z_range()[1], layer_zs.size() - 1); + obj_bb.max.z() = std::max(obj_bb.min.z(), std::min(obj_bb.max.z(), layer_zs[top])); + } + } + else { + for (const GLVolume* volume : m_volumes.volumes) { + if (volume == nullptr || !volume->is_active || !volume->printable || volume->is_modifier || volume->is_wipe_tower) + continue; + obj_bb.merge(volume->transformed_bounding_box()); + } } if (!obj_bb.defined) return; // no objects to cast shadows @@ -8108,16 +8332,21 @@ void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform glsafe(::glPolygonOffset(4.0f, 4.0f)); glsafe(::glDisable(GL_CULL_FACE)); - shader->start_using(); - shader->set_uniform("projection_matrix", Transform3d(light_proj)); - for (GLVolume* volume : m_volumes.volumes) { - if (volume == nullptr || !volume->is_active || !volume->printable || volume->is_modifier || volume->is_wipe_tower) - continue; - const Transform3d view_model = Transform3d(light_view) * volume->world_matrix(); - shader->set_uniform("view_model_matrix", view_model); - volume->model.render(shader); + if (toolpath_casters) + m_gcode_viewer.render_shadow_casters(Transform3d(light_view), Transform3d(light_proj), eye); + // Only this branch draws through "flat"; the toolpaths bring their own program. + else if (GLShaderProgram* shader = wxGetApp().get_shader("flat"); shader != nullptr) { + shader->start_using(); + shader->set_uniform("projection_matrix", Transform3d(light_proj)); + for (GLVolume* volume : m_volumes.volumes) { + if (volume == nullptr || !volume->is_active || !volume->printable || volume->is_modifier || volume->is_wipe_tower) + continue; + const Transform3d view_model = Transform3d(light_view) * volume->world_matrix(); + shader->set_uniform("view_model_matrix", view_model); + volume->model.render(shader); + } + shader->stop_using(); } - shader->stop_using(); // Restore state glsafe(::glDisable(GL_POLYGON_OFFSET_FILL)); @@ -8317,7 +8546,16 @@ void GLCanvas3D::_render_objects(GLVolumeCollection::ERenderType type, bool with else m_volumes.set_show_sinking_contours(!m_gizmos.is_hiding_instances()); - const bool realistic_mode = wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_REALISTIC_MODE); + // Orca: X-Ray replaces both shaded passes with a single one, driven from the opaque call, and + // reuses the volume state (print volume, z range, clipping plane) set up above. + if (_is_xray_view_active()) { + if (type == GLVolumeCollection::ERenderType::Opaque) + _render_xray_volumes(); + m_camera_clipping_plane = ClippingPlane::ClipsNothing(); + return; + } + + const bool realistic_mode = _is_realistic_view_enabled(); const bool realistic_phong = wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_REALISTIC_PHONG); const std::string shader_name = (realistic_mode && realistic_phong) ? "phong" : "gouraud"; GLShaderProgram* shader = wxGetApp().get_shader(shader_name); @@ -8453,6 +8691,51 @@ void GLCanvas3D::_render_objects(GLVolumeCollection::ERenderType type, bool with m_camera_clipping_plane = ClippingPlane::ClipsNothing(); } +bool GLCanvas3D::_is_xray_view_active() const +{ + if (m_canvas_type == ECanvasType::CanvasPreview || !wxGetApp().plater()->is_show_xray()) + return false; + + // A painting gizmo and the layer height editor draw the object through their own shaders, and + // would lose what they draw if X-Ray took the pass over. + if (dynamic_cast<const GLGizmoPainterBase*>(m_gizmos.get_current()) != nullptr) + return false; + return !(m_picking_enabled && m_layers_editing.is_enabled() && m_layers_editing.last_object_id != -1 && + m_layers_editing.object_max_z() > 0.0f); +} + +void GLCanvas3D::_render_xray_volumes() +{ + if (m_volumes.empty()) + return; + + GLShaderProgram* shader = wxGetApp().get_shader("xray"); + if (shader == nullptr) + return; + + const Camera& camera = wxGetApp().plater()->get_camera(); + const ECanvasType canvas_type = m_canvas_type; + + // Depth writes off so every surface along a view ray composites, not just the nearest one, and + // back faces kept for the far wall of a hollow part. The low, near-uniform coverage the shader + // emits saturates towards the volume color whatever the order, so the volumes are not sorted. + glsafe(::glDepthMask(GL_FALSE)); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); + + shader->start_using(); + m_volumes.render(GLVolumeCollection::ERenderType::All, true, camera.get_view_matrix(), camera.get_projection_matrix(), + get_canvas_size(), [this, canvas_type](const GLVolume& volume) { + if (canvas_type == ECanvasType::CanvasAssembleView) + return !volume.is_modifier && !volume.is_wipe_tower; + return m_render_sla_auxiliaries || volume.composite_id.volume_id >= 0; + }); + shader->stop_using(); + + glsafe(::glDisable(GL_BLEND)); + glsafe(::glDepthMask(GL_TRUE)); +} + void GLCanvas3D::_render_wireframe_overlay() { if (!wxGetApp().plater()->is_show_wireframe()) @@ -8496,7 +8779,39 @@ void GLCanvas3D::_render_wireframe_overlay() //BBS: GUI refactor: add canvas size as parameters void GLCanvas3D::_render_gcode(int canvas_width, int canvas_height) { - m_gcode_viewer.render(canvas_width, canvas_height, SLIDER_RIGHT_MARGIN * GCODE_VIEWER_SLIDER_SCALE); + // Realistic view: the toolpaths receive the same depth map they were rendered into by + // _render_shadows, which is what gives them object-on-object and self shadows. Intensity 0 + // short-circuits the lookup in the shader, so this is inert whenever the map is missing. + const bool receive_shadows = m_shadow_map_valid && m_shadow_map_texture_id != 0 && m_shadow_map_size != 0; + if (receive_shadows) { + glsafe(::glActiveTexture(GL_TEXTURE4)); + glsafe(::glBindTexture(GL_TEXTURE_2D, m_shadow_map_texture_id)); + glsafe(::glActiveTexture(GL_TEXTURE0)); + m_gcode_viewer.set_shadow_map(4, m_shadow_light_vp, 0.35f, 1.0f / static_cast<float>(m_shadow_map_size)); + } + else + m_gcode_viewer.set_shadow_map(4, Transform3d::Identity(), 0.0f, 0.0f); + + // The lighting term leaves the print dimmer and duller than the legend colours. Saturation + // pays back the duller half in both modes; brightness only where something takes light off + // again - realistic view with at least one lossy pass on - else the lift would just clip. + const AppConfig* cfg = wxGetApp().app_config; + const bool lossy_passes = cfg != nullptr && _is_realistic_view_enabled() && + (cfg->get_bool(SETTING_OPENGL_PHONG_BASIC_PLATE_SHADOWS) || cfg->get_bool(SETTING_OPENGL_PHONG_SSAO)); + m_gcode_viewer.set_tone(lossy_passes ? 1.1f : 1.0f, 1.15f); + + m_gcode_viewer.render_scene(canvas_width, canvas_height); + + if (receive_shadows) { + glsafe(::glActiveTexture(GL_TEXTURE4)); + glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); + glsafe(::glActiveTexture(GL_TEXTURE0)); + } +} + +void GLCanvas3D::_render_gcode_overlay(int canvas_width, int canvas_height) +{ + m_gcode_viewer.render_overlay(canvas_width, canvas_height, SLIDER_RIGHT_MARGIN * GCODE_VIEWER_SLIDER_SCALE); IMSlider *layers_slider = m_gcode_viewer.get_layers_slider(); IMSlider *moves_slider = m_gcode_viewer.get_moves_slider(); @@ -8628,20 +8943,14 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale() wxGetApp().set_auto_toolbar_icon_scale(new_scale); } +// The ImGui half of the overlay, drawn by ImGui at the end of the frame. void GLCanvas3D::_render_overlays() { - glsafe(::glDisable(GL_DEPTH_TEST)); - _check_and_update_toolbar_icon_scale(); _render_assemble_control(); _render_assemble_info(); - _render_separator_toolbar_right(); - _render_separator_toolbar_left(); - _render_main_toolbar(); - _render_collapse_toolbar(); - _render_assemble_view_toolbar(); //BBS: GUI refactor: GLToolbar _render_imgui_select_plate_toolbar(); _render_return_toolbar(); @@ -8649,12 +8958,13 @@ void GLCanvas3D::_render_overlays() //_render_view_toolbar(); _render_paint_toolbar(); - //BBS: GUI refactor: GLToolbar - //move gizmos behind of main - _render_gizmos_overlay(); + // The options window of a pressed toolbar item (arrange). + m_main_toolbar.render_item_windows(*this); + + m_gizmos.render_overlay_input_window(); if (m_layers_editing.last_object_id >= 0 && m_layers_editing.object_max_z() > 0.0f) - m_layers_editing.render_overlay(*this); + m_layers_editing.render_variable_layer_height_dialog(*this); auto curr_plate = wxGetApp().plater()->get_partplate_list().get_curr_plate(); auto curr_print_seq = curr_plate->get_real_print_seq(); @@ -8681,6 +8991,40 @@ void GLCanvas3D::_render_overlays() _render_3d_navigator(); _render_canvas_toolbar(); + + // Recorded by the scene pass, which a reused frame skips. + wxGetApp().plater()->get_partplate_list().render_hover_tooltip(); +} + +// The GL half of the overlay. +void GLCanvas3D::_render_overlay_toolbars() +{ + glsafe(::glDisable(GL_DEPTH_TEST)); + + _render_separator_toolbar_right(); + _render_separator_toolbar_left(); + _render_main_toolbar(); + _render_collapse_toolbar(); + _render_assemble_view_toolbar(); + //BBS: GUI refactor: GLToolbar + //move gizmos behind of main + _render_gizmos_overlay(); + + if (m_layers_editing.last_object_id >= 0 && m_layers_editing.object_max_z() > 0.0f) + m_layers_editing.render_overlay(*this); +} + +size_t GLCanvas3D::_overlay_signature(const ImDrawData* draw_data) const +{ + // The recorded ImGui geometry plus the state of the toolbars and the gizmo bar, which draw + // outside ImGui. + size_t hash = ImGuiWrapper::draw_data_signature(draw_data); + for (size_t state_hash : { m_main_toolbar.get_state_hash(), m_separator_toolbar.get_state_hash(), + m_assemble_view_toolbar.get_state_hash(), + wxGetApp().plater()->get_collapse_toolbar().get_state_hash(), + m_gizmos.get_overlay_state_hash() }) + boost::hash_combine(hash, state_hash); + return hash; } void GLCanvas3D::_render_style_editor() @@ -9545,8 +9889,14 @@ void GLCanvas3D::_render_canvas_toolbar() [this, p]{p->toggle_show_wireframe(); m_dirty = true;} ); - create_menu_item( _utf8(L("Realistic View")), + create_menu_item( _utf8(L("X-Ray")), m_canvas_type != ECanvasType::CanvasPreview, // not work on preview + p->is_show_xray(), + [this, p]{p->toggle_show_xray(); m_dirty = true;} + ); + + create_menu_item( _utf8(L("Realistic View")), + true, // work on all cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE), [&cfg]{ cfg->set_bool(SETTING_OPENGL_REALISTIC_MODE, !cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE)); @@ -9629,6 +9979,9 @@ void GLCanvas3D::_render_separator_toolbar_left() const void GLCanvas3D::_render_collapse_toolbar() const { + if (!m_collapse_toolbar_enabled) + return; + auto& plater = *wxGetApp().plater(); const auto sidebar_docking_dir = plater.get_sidebar_docking_state(); if (sidebar_docking_dir == Sidebar::None) { @@ -9766,18 +10119,18 @@ void GLCanvas3D::_render_paint_toolbar() const ImVec2 number_label_size = ImGui::CalcTextSize(std::to_string(i + 1).c_str()); ImGui::SetCursorPosY(cursor_y + text_offset_y); ImGui::SetCursorPosX(spacing + i * (spacing + button_size.x) + (button_size.x - number_label_size.x) / 2); - ImGui::TextColored(text_color, std::to_string(i + 1).c_str()); + ImGui::TextColored(text_color, "%s", std::to_string(i + 1).c_str()); imgui.pop_bold_font(); ImVec2 filament_first_line_label_size = ImGui::CalcTextSize(filament_text_first_line[i].c_str()); ImGui::SetCursorPosY(cursor_y + text_offset_y + number_label_size.y); ImGui::SetCursorPosX(spacing + i * (spacing + button_size.x) + (button_size.x - filament_first_line_label_size.x) / 2); - ImGui::TextColored(text_color, filament_text_first_line[i].c_str()); + ImGui::TextColored(text_color, "%s", filament_text_first_line[i].c_str()); ImVec2 filament_second_line_label_size = ImGui::CalcTextSize(filament_text_second_line[i].c_str()); ImGui::SetCursorPosY(cursor_y + text_offset_y + number_label_size.y + filament_first_line_label_size.y); ImGui::SetCursorPosX(spacing + i * (spacing + button_size.x) + (button_size.x - filament_second_line_label_size.x) / 2); - ImGui::TextColored(text_color, filament_text_second_line[i].c_str()); + ImGui::TextColored(text_color, "%s", filament_text_second_line[i].c_str()); } if (ImGui::GetWindowWidth() == constraint_window_width) { @@ -10004,9 +10357,9 @@ void GLCanvas3D::_render_assemble_info() const double size1 = m_selection.get_bounding_box().size()(1); double size2 = m_selection.get_bounding_box().size()(2); if (!m_selection.is_empty()) { - ImGui::Text(_L("Volume:").ToUTF8()); ImGui::SameLine(caption_max); + ImGui::Text("%s", _L("Volume:").ToUTF8().data()); ImGui::SameLine(caption_max); ImGui::Text("%.2f", size0 * size1 * size2); - ImGui::Text(_L("Size:").ToUTF8()); ImGui::SameLine(caption_max); + ImGui::Text("%s", _L("Size:").ToUTF8().data()); ImGui::SameLine(caption_max); ImGui::Text("%.2f x %.2f x %.2f", size0, size1, size2); } imgui->end(); @@ -10326,6 +10679,129 @@ Vec3d GLCanvas3D::_mouse_to_bed_3d(const Point& mouse_pos) return mouse_ray(mouse_pos).intersect_plane(0.0); } +ClippingPlane GLCanvas3D::get_raycaster_clipping_plane() const +{ + // Orca: Ignore the gizmo clipping plane when the active tool does not apply it, and + // invert the result into the convention expected by SceneRaycaster. + GLGizmoBase* current_gizmo = m_gizmos.get_current(); + return ((!current_gizmo || current_gizmo->apply_clipping_plane()) ? m_gizmos.get_clipping_plane() : + ClippingPlane::ClipsNothing()) + .inverted_normal(); +} + +std::optional<Vec3d> GLCanvas3D::get_camera_orbit_target(ECameraNavigationType navigation_type) const +{ + // Orca: Centralize the pre-existing pivot rules so orbiting and pan fallback cannot + // choose different reference depths for the same canvas and active tool. + PartPlate* current_plate = wxGetApp().plater()->get_partplate_list().get_curr_plate(); + if (navigation_type == ECameraNavigationType::Gesture) + return current_plate == nullptr ? std::nullopt : + std::make_optional(current_plate->get_bounding_box().center()); + + const GLGizmosManager::EType gizmo_type = m_gizmos.get_current_type(); + const bool use_scene_target = m_canvas_type == ECanvasType::CanvasAssembleView || + gizmo_type == GLGizmosManager::FdmSupports || gizmo_type == GLGizmosManager::Seam || + gizmo_type == GLGizmosManager::MmSegmentation || gizmo_type == GLGizmosManager::FuzzySkin; + if (use_scene_target) { + if (!m_selection.is_empty()) + return m_selection.get_bounding_box().center(); + + // Orca: Preserve the world-origin fallback used by orbit in an empty scene. + return volumes_bounding_box().center(); + } + + // Orca: Free-camera rotation uses Camera::m_target rather than a plate or selection pivot. + if (wxGetApp().app_config->get_bool("use_free_camera")) + return std::nullopt; + + Vec3d target = Vec3d::Zero(); + if (m_canvas_type == ECanvasType::CanvasPreview) { + if (current_plate != nullptr) + target = current_plate->get_bounding_box().center(); + } else if (!m_selection.is_empty()) { + target = m_selection.get_bounding_box().center(); + } else { + // Orca: Match regular mouse orbit: objects on the active plate, then the plate itself. + BoundingBoxf3 bbox = volumes_bounding_box(true); + if (!bbox.defined && current_plate != nullptr) + bbox = current_plate->get_bounding_box(); + if (bbox.defined) + target = bbox.center(); + } + + // Orca: Preserve the existing zero sentinel used by regular mouse orbit. + return target.isZero() ? std::nullopt : std::make_optional(target); +} + +bool GLCanvas3D::is_bed_visible() const +{ + if (m_canvas_type == ECanvasType::CanvasPreview) + return m_render_preview; + if (m_canvas_type != ECanvasType::CanvasView3D || !m_show_bed) + return false; + if (!m_main_toolbar.is_enabled()) + return true; + + const auto type = m_gizmos.get_current_type(); + return type != GLGizmosManager::FdmSupports && type != GLGizmosManager::Seam && + type != GLGizmosManager::MmSegmentation && type != GLGizmosManager::FuzzySkin; +} + +Vec3d GLCanvas3D::get_camera_pan_anchor(Camera& camera, ECameraNavigationType navigation_type, + const Vec2d& screen_position) const +{ + // Orthographic panning has the same scale at every depth, so no raycast is needed. + if (camera.get_type() != Camera::EType::Perspective) + return camera.get_target(); + + // Orca: Reject non-finite anchors and points behind the camera before their depth is + // allowed to scale a perspective pan. + const Vec3d camera_position = camera.get_position(); + const Vec3d camera_forward = camera.get_dir_forward(); + const auto is_valid_anchor = [&camera_position, &camera_forward](const Vec3d& anchor) { + return anchor.allFinite() && (anchor - camera_position).dot(camera_forward) > EPSILON; + }; + + // Orca: Prefer the nearest visible bed or volume surface and exclude gizmos and + // selected-volume picking priority from navigation depth selection. + const ClippingPlane clipping_plane = get_raycaster_clipping_plane(); + const bool bed_visible = is_bed_visible(); + const SceneRaycaster::HitResult hit = m_scene_raycaster.hit(screen_position, camera, &clipping_plane, + bed_visible ? SceneRaycaster::EHitMode::SceneOnly : SceneRaycaster::EHitMode::VolumesOnly); + if (hit.is_valid()) { + const Vec3d hit_position = hit.position.cast<double>(); + if (is_valid_anchor(hit_position)) + return hit_position; + } + + // Orca: When the cursor is just outside the visible plate, use the point under it on the active + // plate plane. Using the plate center here would give it a different perspective depth. + PartPlate* current_plate = wxGetApp().plater()->get_partplate_list().get_curr_plate(); + // Orca: An almost edge-on perspective makes intersection depth extremely sensitive to + // the cursor's vertical position. Use the stable orbit depth around horizontal views. + static constexpr double min_plate_plane_forward_z = 0.05; + if (bed_visible && std::abs(camera_forward.z()) >= min_plate_plane_forward_z && + current_plate != nullptr && current_plate->get_bounding_box().defined) { + Vec3d ray_origin; + Vec3d ray_direction; + CameraUtils::ray_from_screen_pos(camera, screen_position, ray_origin, ray_direction); + const double z_direction = ray_direction.z(); + if (ray_origin.allFinite() && ray_direction.allFinite() && std::abs(z_direction) > EPSILON) { + const double plate_z = current_plate->get_bounding_box().center().z(); + const double distance = (plate_z - ray_origin.z()) / z_direction; + const Vec3d plate_position = ray_origin + distance * ray_direction; + const double eye_depth = (plate_position - camera_position).dot(camera_forward); + if (distance >= 0.0 && is_valid_anchor(plate_position) && + eye_depth >= camera.get_near_z() && eye_depth <= camera.get_far_z()) + return plate_position; + } + } + + // Orca: Near-horizontal rays and points outside the scene depth use the orbit reference point. + const std::optional<Vec3d> orbit_target = get_camera_orbit_target(navigation_type); + return orbit_target.has_value() && is_valid_anchor(*orbit_target) ? *orbit_target : camera.get_target(); +} + // While it looks like we can call // this->reload_scene(true, true) // the two functions are quite different: diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 84dbd5d652..36a6c7b944 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -5,6 +5,7 @@ #include <memory> #include <chrono> #include <cstdint> +#include <optional> #include "GLToolbar.hpp" #include "Event.hpp" @@ -17,6 +18,7 @@ #include "GCodeViewer.hpp" #include "Camera.hpp" #include "SceneRaycaster.hpp" +#include "SceneCache.hpp" #include "IMToolbar.hpp" #include "slic3r/GUI/3DBed.hpp" #include "libslic3r/Slicing.hpp" @@ -33,6 +35,7 @@ class wxTimerEvent; class wxPaintEvent; class wxGLCanvas; class wxGLContext; +struct ImDrawData; // Support for Retina OpenGL on Mac OS. // wxGTK3 seems to simulate OSX behavior in regard to HiDPI scaling support, enable it as well. @@ -57,6 +60,10 @@ namespace GUI { class Bed3D; class PartPlateList; +#ifdef SLIC3R_CAD +class DesignSketchTool; // Design tab: interactive 2D sketch tool +#endif +struct KeyChord; #if ENABLE_RETINA_GL class RetinaHelper; @@ -166,7 +173,6 @@ wxDECLARE_EVENT(EVT_GLCANVAS_ORIENT_PARTPLATE, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_SELECT_CURR_PLATE_ALL, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_SELECT_ALL, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_QUESTION_MARK, SimpleEvent); -wxDECLARE_EVENT(EVT_GLCANVAS_OPEN_SPEED_DIAL, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_INCREASE_INSTANCES, Event<int>); // data: +1 => increase, -1 => decrease wxDECLARE_EVENT(EVT_GLCANVAS_INSTANCE_MOVED, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_FORCE_UPDATE, SimpleEvent); @@ -179,9 +185,6 @@ wxDECLARE_EVENT(EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_UPDATE_BED_SHAPE, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_TAB, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_RESETGIZMOS, SimpleEvent); -wxDECLARE_EVENT(EVT_GLCANVAS_MOVE_SLIDERS, wxKeyEvent); -wxDECLARE_EVENT(EVT_GLCANVAS_EDIT_COLOR_CHANGE, wxKeyEvent); -wxDECLARE_EVENT(EVT_GLCANVAS_JUMP_TO, wxKeyEvent); wxDECLARE_EVENT(EVT_GLCANVAS_UNDO, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_REDO, SimpleEvent); wxDECLARE_EVENT(EVT_GLCANVAS_SWITCH_TO_OBJECT, SimpleEvent); @@ -333,16 +336,22 @@ class GLCanvas3D int move_volume_idx{ -1 }; bool move_requires_threshold{ false }; Point move_start_threshold_position_2D{ Invalid_2D_Point }; + // Orca: Keep the world-space point selected at the start of a mouse pan. + std::optional<Vec3d> camera_pan_anchor; }; bool dragging{ false }; Vec2d position{ DBL_MAX, DBL_MAX }; - Vec3d scene_position{ DBL_MAX, DBL_MAX, DBL_MAX }; bool ignore_left_up{ false }; Drag drag; bool ignore_right_up; - void set_start_position_2D_as_invalid() { drag.start_position_2D = Drag::Invalid_2D_Point; } + // Orca: The screen-space start and world-space anchor describe the same pan session. + // Invalidating one must invalidate the other so a new drag cannot reuse stale depth. + void set_start_position_2D_as_invalid() { + drag.start_position_2D = Drag::Invalid_2D_Point; + drag.camera_pan_anchor.reset(); + } void set_start_position_3D_as_invalid() { drag.start_position_3D = Drag::Invalid_3D_Point; } void set_move_start_threshold_position_2D_as_invalid() { drag.move_start_threshold_position_2D = Drag::Invalid_2D_Point; } @@ -401,16 +410,23 @@ class GLCanvas3D std::chrono::time_point<std::chrono::high_resolution_clock> m_measuring_start; int m_fps_out = -1; int m_fps_running = 0; + // Frames that redrew the 3D scene rather than reusing the cached one. + int m_scene_fps_out = 0; + int m_scene_fps_running = 0; public: void increment_fps_counter() { ++m_fps_running; } + void increment_scene_fps_counter() { ++m_scene_fps_running; } int get_fps() { return m_fps_out; } + int get_scene_fps() const { return m_scene_fps_out; } int get_fps_and_reset_if_needed() { auto cur_time = std::chrono::high_resolution_clock::now(); int elapsed_ms = std::chrono::duration_cast<std::chrono::milliseconds>(cur_time-m_measuring_start).count(); if (elapsed_ms > 1000 || m_fps_out == -1) { m_measuring_start = cur_time; m_fps_out = int (1000. * m_fps_running / elapsed_ms); + m_scene_fps_out = int (1000. * m_scene_fps_running / elapsed_ms); m_fps_running = 0; + m_scene_fps_running = 0; } return m_fps_out; } @@ -532,8 +548,14 @@ private: bool m_in_render; wxTimer m_timer; wxTimer m_timer_set_color; + // Armed by each frame that draws the FPS overlay; its tick requests an overlay-only frame. + wxTimer m_fps_overlay_timer; + // True during the frame the timer requested, which is not counted. + bool m_fps_overlay_tick{ false }; LayersEditing m_layers_editing; Mouse m_mouse; + // Orca: Gesture pans have their own lifecycle and stable world-space anchor. + std::optional<Vec3d> m_gesture_pan_anchor; GLGizmosManager m_gizmos; //BBS: GUI refactor: GLToolbar mutable GLToolbar m_main_toolbar; @@ -544,6 +566,27 @@ private: mutable Vec2i32 m_canvas_toolbar_pos = {140, 5}; mutable float m_sc{1}; mutable float m_paint_toolbar_width; + bool m_collapse_toolbar_enabled{true}; + bool m_plate_chrome_enabled{true}; + // Design tab: render the world-axis triad at the bed centre (= modeling origin) instead of + // the bed corner. Default false preserves the main editor's corner triad. + bool m_axes_at_bed_center{false}; + // Design tab: draw the printer bed and its plate grid at all. Default true, so the + // main editor is untouched; the Design tab lets the user hide it to model without a bed. + bool m_show_bed{true}; + // Design tab: CAD grid drawn on the bed plane in place of the plate's corner-origin grid. + // Two GLModels (10 mm minor / 50 mm major) generated from the bed centre so a line passes + // exactly through the modeling origin; built once and rebuilt only when the bed shape changes. + GLModel m_cad_grid_minor; + GLModel m_cad_grid_major; + // Geometry the CAD grid models were last built from, so they are rebuilt on bed-shape change + // rather than every frame. + BoundingBoxf m_cad_grid_bb; + Vec2d m_cad_grid_center; + bool m_cad_grid_valid{false}; +#ifdef SLIC3R_CAD + DesignSketchTool* m_design_sketch_tool{nullptr}; +#endif //BBS: add canvas type for assemble view usage ECanvasType m_canvas_type; @@ -571,9 +614,15 @@ private: std::array<unsigned int, 2> m_old_size{ 0, 0 }; bool m_is_touchpad_navigation{ false }; + // CAD navigation (Design tab only): left-drag is a selection rubber band, so orbit moves + // to middle-drag and pan to right-drag — the Onshape/SolidWorks mapping. Off everywhere + // else, so Prepare/Preview keep the mouse the user already learned. + bool m_cad_navigation{ false }; // Screen is only refreshed from the OnIdle handler if it is dirty. bool m_dirty; + // A frame is needed, and only for the overlay. + bool m_overlay_dirty{ false }; bool m_initialized; //BBS: add flag to controll rendering bool m_render_preview{ true }; @@ -584,7 +633,23 @@ private: bool m_dynamic_background_enabled; bool m_multisample_allowed; bool m_moving; - bool m_tab_down; + // The key-down being dispatched, kept for the char event that may follow it. + struct KeyDown + { + int code = WXK_NONE; + bool repeat = false; + }; + KeyDown m_key_down; + // A keyboard move or rotation of the selection runs from the key-down that started it to + // that key's release, so a held key becomes one undo step. + struct SelectionEdit + { + enum Kind { None, Move, Rotate }; + Kind kind = None; + int key = WXK_NONE; // raw key code of the key-down, matched against the key-up + Vec3d direction{ Vec3d::UnitX() }; + }; + SelectionEdit m_selection_edit; bool m_camera_movement; //BBS: add toolpath outside bool m_toolpath_outside{ false }; @@ -656,11 +721,7 @@ public: } void load_arrange_settings(); - ArrangeSettings& get_arrange_settings();// { return get_arrange_settings(this); } - ArrangeSettings& get_arrange_settings(PrintSequence print_seq) { - return (print_seq == PrintSequence::ByObject) ? m_arrange_settings_fff_seq_print - : m_arrange_settings_fff; - } + ArrangeSettings& get_arrange_settings(); class SequentialPrintClearance { @@ -733,6 +794,11 @@ public: unsigned int m_ssao_color_texture_id{ 0 }; unsigned int m_ssao_depth_texture_id{ 0 }; std::array<unsigned int, 2> m_ssao_texture_size{ { 0, 0 } }; + // The last scene pass, for frames that only rebuild the overlay. + SceneCache m_scene_cache; + // Signature of the overlay on screen; empty after render(), a paint request or a frame drawn but + // not shown, so the next frame is presented regardless. + std::optional<size_t> m_presented_signature; GLModel m_plate_shadow_mask; std::string m_plate_shadow_mask_key; // Depth-based shadow map used to cast object shadows onto other objects and themselves. @@ -888,6 +954,15 @@ public: void enable_assemble_view_toolbar(bool enable); void enable_return_toolbar(bool enable); void enable_separator_toolbar(bool enable); + void enable_collapse_toolbar(bool enable); + void enable_plate_chrome(bool enable); + void set_axes_at_bed_center(bool b) { m_axes_at_bed_center = b; } + void set_show_bed(bool b) { m_show_bed = b; } + bool get_show_bed() const { return m_show_bed; } +#ifdef SLIC3R_CAD + void set_design_sketch_tool(DesignSketchTool* tool) { m_design_sketch_tool = tool; } + DesignSketchTool* get_design_sketch_tool() const { return m_design_sketch_tool; } +#endif void enable_dynamic_background(bool enable) { m_dynamic_background_enabled = enable; } void enable_labels(bool enable) { m_labels.enable(enable); } void enable_slope(bool enable) { m_slope.enable(enable); } @@ -1042,10 +1117,18 @@ public: void on_idle(wxIdleEvent& evt); void on_char(wxKeyEvent& evt); void on_key(wxKeyEvent& evt); + // Runs the Plater/Preview shortcut bound to chord, swallowing auto-repeats of one-shot + // shortcuts; false when nothing is bound. + bool handle_shortcut(const KeyChord& chord); + void apply_selection_move(bool slow, bool camera_space); + void apply_selection_rotate(double angle_z_rad); + void finish_selection_edit(); + void update_shortcut_tooltips(); void on_mouse_wheel(wxMouseEvent& evt); void on_timer(wxTimerEvent& evt); void on_render_timer(wxTimerEvent& evt); void on_set_color_timer(wxTimerEvent& evt); + void on_fps_overlay_timer(wxTimerEvent& evt); void on_mouse(wxMouseEvent& evt); void on_gesture(wxGestureEvent& evt); void on_paint(wxPaintEvent& evt); @@ -1057,6 +1140,7 @@ public: bool clicked_button_matches_action(const wxMouseEvent& evt, MouseAction action, const std::map<MouseButton, MouseAction>& mappings) const; bool is_camera_rotate(const wxMouseEvent& evt, const std::map<MouseButton, MouseAction>& mappings) const; bool is_camera_pan(const wxMouseEvent& evt, const std::map<MouseButton, MouseAction>& mappings) const; + void set_cad_navigation(bool b) { m_cad_navigation = b; } Size get_canvas_size() const; Vec2d get_local_mouse_position() const; @@ -1163,17 +1247,6 @@ public: void highlight_toolbar_item(const std::string& item_name); void highlight_gizmo(const std::string& gizmo_name); - ArrangeSettings get_arrange_settings() const { - const ArrangeSettings &settings = get_arrange_settings(); - ArrangeSettings ret = settings; - if (&settings == &m_arrange_settings_fff_seq_print) { - ret.distance = std::max(ret.distance, - float(min_object_distance(*m_config))); - } - - return ret; - } - // Timestamp for FPS calculation and notification fade-outs. static int64_t timestamp_now() { #ifdef _WIN32 @@ -1207,6 +1280,8 @@ public: bool can_sequential_clearance_show_in_gizmo(); void update_sequential_clearance(); + // Orca: by-layer counterpart, for a prime tower compacted by "No sparse layers". + void update_compacted_wipe_tower_clearance(); const Print* fff_print() const; const SLAPrint* sla_print() const; @@ -1224,6 +1299,8 @@ public: Vec3d _mouse_to_3d(const Point& mouse_pos, float* z = nullptr); bool make_current_for_postinit(); + // Sizes ImGui's fonts and style for this canvas; the fonts are rebuilt when the size changes. + void set_imgui_scaling(); private: bool _is_shown_on_screen() const; @@ -1243,6 +1320,7 @@ private: bool _init_collapse_toolbar(); bool _set_current(); + bool _set_shown_canvas_current(); void _resize(unsigned int w, unsigned int h); //BBS: add part plate related logic @@ -1251,17 +1329,30 @@ private: void _zoom_to_box(const BoundingBoxf3& box, double margin_factor = DefaultCameraZoomToBoxMarginFactor); void _update_camera_zoom(double zoom); - void _refresh_if_shown_on_screen(); + void _refresh_if_shown_on_screen(bool scene_dirty = true); void _picking_pass(); void _rectangular_selection_picking_pass(); bool _is_fxaa_enabled() const; + bool _is_realistic_view_enabled() const; bool _is_ssao_enabled() const; int _get_effective_fps_cap() const; bool _is_fps_overlay_enabled() const; + bool _is_scene_cache_enabled() const; + bool _is_scene_cacheable() const; + bool _is_frame_skipping_enabled() const; void _render_fps_overlay(int fps) const; void _render_fxaa_pass(unsigned int width, unsigned int height); void _render_ssao_pass(unsigned int width, unsigned int height); + // scene_dirty is false only for a frame that its requester knows to be overlay-only. + void _render_frame(bool scene_dirty, bool only_init = false); + void _render_scene(const Camera& camera, const Size& cnv_size); + // Request a frame that only rebuilds the overlay. + void _set_overlay_as_dirty() { m_overlay_dirty = true; } + // These read the hover state _picking_pass() sets. + SceneCache::Key _scene_cache_key(const Camera& camera) const; + bool _can_reuse_cached_scene(const Camera& camera) const; + void _capture_scene_cache(const Camera& camera); void _render_background(); void _render_bed(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool show_axes); // Build the light-space depth shadow map (consumed by gouraud/phong for object & self shadows) @@ -1269,11 +1360,18 @@ private: void _render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix); //BBS: add part plate related logic void _render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true); + // Design tab: draw the CAD grid (minor 10 mm + major 50 mm) in place of the plate's + // corner-origin grid when the axes sit at the bed centre (modeling origin). Rebuilds its + // GLModels lazily, only when the bed shape changed. + void _render_cad_grid(const Transform3d& view_matrix, const Transform3d& projection_matrix); //BBS: add outline drawing logic void _render_objects(GLVolumeCollection::ERenderType type, bool with_outline = true); void _render_wireframe_overlay(); + bool _is_xray_view_active() const; + void _render_xray_volumes(); //BBS: GUI refactor: add canvas size as parameters void _render_gcode(int canvas_width, int canvas_height); + void _render_gcode_overlay(int canvas_width, int canvas_height); //BBS: render a plane for assemble void _render_plane() const; void _render_selection(); @@ -1283,6 +1381,8 @@ private: #endif // ENABLE_RENDER_SELECTION_CENTER void _check_and_update_toolbar_icon_scale(); void _render_overlays(); + void _render_overlay_toolbars(); + size_t _overlay_signature(const ImDrawData* draw_data) const; void _render_style_editor(); void _render_volumes_for_picking(const Camera& camera) const; void _render_current_gizmo() const; @@ -1308,7 +1408,7 @@ private: void _render_selection_sidebar_hints() { m_selection.render_sidebar_hints(m_sidebar_field, m_gizmos.get_uniform_scaling()); } //BBS: GUI refactor: adjust main toolbar position bool _render_orient_menu(float left, float right, float bottom, float top); - bool _render_arrange_menu(float left, float right, float bottom, float top); + void _render_arrange_menu(float left, float right, float bottom, float top); void _render_3d_navigator(); void _update_volumes_hover_state(); @@ -1316,6 +1416,20 @@ private: // Convert the screen space coordinate to world coordinate on the bed. Vec3d _mouse_to_bed_3d(const Point& mouse_pos); + // Orca: Navigation type selects the legacy pivot policy used when no visible surface is hit. + enum class ECameraNavigationType : unsigned char + { + Mouse, + Gesture + }; + + // Orca: These helpers keep clipping, orbit pivots, and perspective-pan depth selection consistent. + ClippingPlane get_raycaster_clipping_plane() const; + bool is_bed_visible() const; + std::optional<Vec3d> get_camera_orbit_target(ECameraNavigationType navigation_type) const; + Vec3d get_camera_pan_anchor(Camera& camera, ECameraNavigationType navigation_type, + const Vec2d& screen_position) const; + void _start_timer() { m_timer.Start(100, wxTIMER_CONTINUOUS); } void _stop_timer() { m_timer.Stop(); } diff --git a/src/slic3r/GUI/GLModel.cpp b/src/slic3r/GUI/GLModel.cpp index 3dd15c3fdd..92296030e1 100644 --- a/src/slic3r/GUI/GLModel.cpp +++ b/src/slic3r/GUI/GLModel.cpp @@ -456,8 +456,9 @@ void GLModel::init_from(const indexed_triangle_set& its) data.reserve_vertices(3 * its.indices.size()); data.reserve_indices(3 * its.indices.size()); - // Read user preference: smooth normals enabled - const bool smooth_normals_enabled = wxGetApp().app_config != nullptr && wxGetApp().app_config->get_bool(SETTING_OPENGL_PHONG_SMOOTH_NORMALS); + // CLI thumbnail generation can initialize models without a wx application. + const bool smooth_normals_enabled = wxApp::GetInstance() != nullptr && wxGetApp().app_config != nullptr && + wxGetApp().app_config->get_bool(SETTING_OPENGL_PHONG_SMOOTH_NORMALS); if (smooth_normals_enabled) { // Use per-corner smooth normals (via IGL) diff --git a/src/slic3r/GUI/GLShadersManager.cpp b/src/slic3r/GUI/GLShadersManager.cpp index 2b8a0edf0a..b35d598829 100644 --- a/src/slic3r/GUI/GLShadersManager.cpp +++ b/src/slic3r/GUI/GLShadersManager.cpp @@ -90,6 +90,8 @@ std::pair<bool, std::string> GLShadersManager::init() , { "ENABLE_ENVIRONMENT_MAP"sv } #endif // ENABLE_ENVIRONMENT_MAP ); + // used to render objects as translucent, edge weighted surfaces in the X-Ray view + valid &= append_shader("xray", { prefix + "xray.vs", prefix + "xray.fs" }); // used to render variable layers heights in 3d editor valid &= append_shader("variable_layer_height", { prefix + "variable_layer_height.vs", prefix + "variable_layer_height.fs" }); // used to render highlight contour around selected triangles inside the multi-material gizmo diff --git a/src/slic3r/GUI/GLTexture.cpp b/src/slic3r/GUI/GLTexture.cpp index d670181b1b..3df368de3f 100644 --- a/src/slic3r/GUI/GLTexture.cpp +++ b/src/slic3r/GUI/GLTexture.cpp @@ -9,6 +9,7 @@ #include "3DScene.hpp" #include "OpenGLManager.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" #include "GLModel.hpp" #include <glad/gl.h> @@ -31,6 +32,7 @@ #include "GUI_App.hpp" #include <boost/log/trivial.hpp> #include <wx/dcgraph.h> +#include <wx/dcmemory.h> namespace Slic3r { namespace GUI { @@ -705,6 +707,29 @@ void GLTexture::render_sub_texture(unsigned int tex_id, float left, float right, glsafe(::glDisable(GL_BLEND)); } +void GLTexture::copy_from_framebuffer(unsigned int& tex_id, std::array<unsigned int, 2>& tex_size, unsigned int width, unsigned int height, int filter) +{ + if (tex_id == 0) { + glsafe(::glGenTextures(1, &tex_id)); + glsafe(::glBindTexture(GL_TEXTURE_2D, tex_id)); + glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter)); + glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter)); + glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); + glsafe(::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); + } + else + glsafe(::glBindTexture(GL_TEXTURE_2D, tex_id)); + + if (tex_size[0] != width || tex_size[1] != height) { + glsafe(::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr)); + tex_size = { width, height }; + } + + // Copying from the default framebuffer resolves its multisampling. + glsafe(::glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, width, height)); + glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); +} + static bool to_squared_power_of_two(const std::string& filename, int max_size_px, int& w, int& h) { auto is_power_of_two = [](int v) { return v != 0 && (v & (v - 1)) == 0; }; diff --git a/src/slic3r/GUI/GLTexture.hpp b/src/slic3r/GUI/GLTexture.hpp index 1bb63651f0..5e3d11984d 100644 --- a/src/slic3r/GUI/GLTexture.hpp +++ b/src/slic3r/GUI/GLTexture.hpp @@ -4,6 +4,7 @@ #include <atomic> #include <string> #include <vector> +#include <array> #include <thread> #include <wx/colour.h> @@ -132,6 +133,9 @@ namespace GUI { static void render_texture(unsigned int tex_id, float left, float right, float bottom, float top); static void render_sub_texture(unsigned int tex_id, float left, float right, float bottom, float top, const Quad_UVs& uvs); + // Copies the bound read framebuffer into an RGBA texture, creating it on first use and + // reallocating it when the size changes. + static void copy_from_framebuffer(unsigned int& tex_id, std::array<unsigned int, 2>& tex_size, unsigned int width, unsigned int height, int filter); private: bool load_from_png(const std::string& filename, bool use_mipmaps, ECompressionType compression_type, bool apply_anisotropy); diff --git a/src/slic3r/GUI/GLToolbar.cpp b/src/slic3r/GUI/GLToolbar.cpp index 234340dc6b..e36385c946 100644 --- a/src/slic3r/GUI/GLToolbar.cpp +++ b/src/slic3r/GUI/GLToolbar.cpp @@ -8,6 +8,8 @@ #include "slic3r/GUI/Camera.hpp" #include "slic3r/GUI/Plater.hpp" +#include <boost/functional/hash.hpp> + #include <wx/event.h> #include <wx/bitmap.h> #include <wx/dcmemory.h> @@ -199,7 +201,10 @@ void GLToolbarItem::render(unsigned int tex_id, float left, float right, float b }; GLTexture::render_sub_texture(tex_id, left, right, bottom, top, uvs(tex_width, tex_height, icon_size)); +} +void GLToolbarItem::render_window(float left, float right, float bottom, float top) const +{ if (is_pressed()) { if ((m_last_action_type == Left) && m_data.left.can_render()) @@ -215,13 +220,6 @@ void GLToolbarItem::render_image(unsigned int tex_id, float left, float right, f //GLTexture::Quad_UVs image_uvs = { { 0.0f, 1.0f }, { 1.0f, 1.0f }, { 1.0f, 0.0f }, { 0.0f, 0.0f } }; GLTexture::render_sub_texture(tex_id, left, right, bottom, top, image_uvs); - - if (is_pressed()) { - if ((m_last_action_type == Left) && m_data.left.can_render()) - m_data.left.render_callback(left, right, bottom, top); - else if ((m_last_action_type == Right) && m_data.right.can_render()) - m_data.right.render_callback(left, right, bottom, top); - } } BackgroundTexture::Metadata::Metadata() @@ -544,11 +542,35 @@ void GLToolbar::render(const GLCanvas3D& parent,GLToolbarItem::EType type) switch (m_layout.type) { default: - case Layout::Horizontal: { render_horizontal(parent,type); break; } - case Layout::Vertical: { render_vertical(parent); break; } + case Layout::Horizontal: { render_horizontal(parent, type, true); break; } + case Layout::Vertical: { render_vertical(parent, true); break; } } } +void GLToolbar::render_item_windows(const GLCanvas3D& parent) +{ + if (!m_enabled || m_items.empty()) + return; + + switch (m_layout.type) + { + default: + case Layout::Horizontal: { render_horizontal(parent, GLToolbarItem::Action, false); break; } + case Layout::Vertical: { render_vertical(parent, false); break; } + } +} + +size_t GLToolbar::get_state_hash() const +{ + size_t hash = 0; + boost::hash_combine(hash, m_enabled); + for (const GLToolbarItem* item : m_items) { + boost::hash_combine(hash, (int)item->get_state()); + boost::hash_combine(hash, item->is_visible()); + } + return hash; +} + bool GLToolbar::on_mouse(wxMouseEvent& evt, GLCanvas3D& parent) { if (!m_enabled) @@ -1354,7 +1376,7 @@ void GLToolbar::render_arrow(const GLCanvas3D& parent, GLToolbarItem* highlighte } } -void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType type) +void GLToolbar::render_horizontal(const GLCanvas3D& parent, GLToolbarItem::EType type, bool draw_icons) { const Size cnv_size = parent.get_canvas_size(); const float cnv_w = (float)cnv_size.get_width(); @@ -1385,7 +1407,8 @@ void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType right = left + width * 0.5; const float bottom = top - height; - render_background(left, top, right, bottom, border_w, border_h); + if (draw_icons) + render_background(left, top, right, bottom, border_w, border_h); left += border_w; top -= border_h; @@ -1400,7 +1423,9 @@ void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType else { //BBS GUI refactor item->render_left_pos = left; - if (!item->is_action_with_text_image()) { + if (!draw_icons) + item->render_window(left, left + icons_size_x, top - icons_size_y, top); + else if (!item->is_action_with_text_image()) { unsigned int tex_id = m_icons_texture.get_id(); int tex_width = m_icons_texture.get_width(); int tex_height = m_icons_texture.get_height(); @@ -1412,7 +1437,8 @@ void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType if (item->is_action_with_text()) { float scaled_text_size = item->get_extra_size_ratio() * icons_size_x; - item->render_text(left + icons_size_x, left + icons_size_x + scaled_text_size, top - icons_size_y, top); + if (draw_icons) + item->render_text(left + icons_size_x, left + icons_size_x + scaled_text_size, top - icons_size_y, top); left += scaled_text_size; } left += icon_stride; @@ -1420,7 +1446,7 @@ void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType } } -void GLToolbar::render_vertical(const GLCanvas3D& parent) +void GLToolbar::render_vertical(const GLCanvas3D& parent, bool draw_icons) { const Size cnv_size = parent.get_canvas_size(); const float cnv_w = (float)cnv_size.get_width(); @@ -1449,7 +1475,8 @@ void GLToolbar::render_vertical(const GLCanvas3D& parent) const float right = left + width; const float bottom = top - height; - render_background(left, top, right, bottom, border_w, border_h); + if (draw_icons) + render_background(left, top, right, bottom, border_w, border_h); left += border_w; top -= border_h; @@ -1462,6 +1489,11 @@ void GLToolbar::render_vertical(const GLCanvas3D& parent) if (item->is_separator()) top -= separator_stride; else { + if (!draw_icons) { + item->render_window(left, left + icons_size_x, top - icons_size_y, top); + top -= icon_stride; + continue; + } unsigned int tex_id; int tex_width, tex_height; if (item->is_action_with_text_image()) { diff --git a/src/slic3r/GUI/GLToolbar.hpp b/src/slic3r/GUI/GLToolbar.hpp index c4bc88045e..638ac937d4 100644 --- a/src/slic3r/GUI/GLToolbar.hpp +++ b/src/slic3r/GUI/GLToolbar.hpp @@ -231,6 +231,8 @@ public: int generate_image_texture(); void render(unsigned int tex_id, float left, float right, float bottom, float top, unsigned int tex_width, unsigned int tex_height, unsigned int icon_size) const; + // The ImGui window a pressed item shows, given the icon's rectangle. + void render_window(float left, float right, float bottom, float top) const; void render_image(unsigned int tex_id, float left, float right, float bottom, float top, unsigned int tex_width, unsigned int tex_height, unsigned int icon_size) const; private: void set_visible(bool visible) { m_data.visible = visible; } @@ -410,6 +412,10 @@ public: bool update_items_state(); void render(const GLCanvas3D& parent,GLToolbarItem::EType type = GLToolbarItem::Action); + // The ImGui windows of pressed items, built with the same layout as render(). + void render_item_windows(const GLCanvas3D& parent); + // Hash of the state render() draws from: enabled, and each item's state and visibility. + size_t get_state_hash() const; void render_arrow(const GLCanvas3D& parent, GLToolbarItem* highlighted_item); bool on_mouse(wxMouseEvent& evt, GLCanvas3D& parent); @@ -438,8 +444,8 @@ private: int contains_mouse_vertical(const Vec2d& mouse_pos, const GLCanvas3D& parent) const; void render_background(float left, float top, float right, float bottom, float border_w, float border_h) const; - void render_horizontal(const GLCanvas3D &parent, GLToolbarItem::EType type); - void render_vertical(const GLCanvas3D& parent); + void render_horizontal(const GLCanvas3D &parent, GLToolbarItem::EType type, bool draw_icons); + void render_vertical(const GLCanvas3D& parent, bool draw_icons); bool generate_icons_texture(); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 3500493329..a41001f9e0 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3,6 +3,15 @@ #include "libslic3r/Technologies.hpp" #include "libslic3r/Platform.hpp" #include "GUI_App.hpp" +#include "Shortcuts.hpp" +#include "BindDialog.hpp" +#include "DeviceManager.hpp" +#include "HMS.hpp" +#include "PresetBundleDialog.hpp" +#include "WebUserLoginDialog.hpp" +#include "WebViewDialog.hpp" +#include "slic3r/Utils/BBLCloudServiceAgent.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "GUI_Init.hpp" #include "GUI_ObjectList.hpp" #include "slic3r/GUI/UserManager.hpp" @@ -598,7 +607,7 @@ wxString file_wildcards(FileType file_type, const std::string &custom_extension) static std::string libslic3r_translate_callback(const char *s) { return wxGetTranslation(wxString(s, wxConvUTF8)).utf8_str().data(); } #ifdef WIN32 -static GUID GUID_DEVINTERFACE_HID = { 0x4D1E55B2, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }; +static GUID GUID_DEVINTERFACE_HID = { 0x4D1E55B2, 0xF16F, 0x11CF, { 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 } }; static void register_win32_device_notification_event() { @@ -848,13 +857,18 @@ void GUI_App::post_init() slow_bootup = true; BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", slow bootup, won't render gl here."; } - if (!switch_to_3d) { + // Starting on Home, the GL resources load at idle so Home paints first and Prepare is never + // shown. + const bool gl_at_idle = !starts_on_prepare() && is_editor(); + if (!switch_to_3d && gl_at_idle) { + plater_->select_view_3D("3D"); + } else if (!switch_to_3d) { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", begin load_gl_resources"; #ifndef __linux__ mainframe->Freeze(); #endif plater_->canvas3D()->enable_render(false); - mainframe->select_tab(TAB_ID_PREPARE); + mainframe->select_prepare_for_gl_init(); plater_->select_view_3D("3D"); //BBS init the opengl resource here if (!plater_->canvas3D()->get_wxglcanvas()->IsShownOnScreen() || @@ -891,9 +905,7 @@ void GUI_App::post_init() BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", finished rendering a first frame for test"; } } - if (is_editor()) - mainframe->select_tab(TAB_ID_HOME); - if (app_config->get("default_page") == "1") + if (starts_on_prepare()) mainframe->select_tab(TAB_ID_PREPARE); #ifndef __linux__ mainframe->Thaw(); @@ -903,6 +915,7 @@ void GUI_App::post_init() plater_->trigger_restore_project(1); //#endif + mainframe->prebuild_pages_when_idle(); //BBS: remove GCodeViewer as seperate APP logic /*if (this->init_params->start_as_gcodeviewer) { @@ -1112,6 +1125,8 @@ GUI_App::GUI_App() { //app config initializes early becasuse it is used in instance checking in OrcaSlicer.cpp this->init_app_config(); + m_shortcuts = std::make_unique<ShortcutRegistry>(); + m_shortcuts->load(*app_config); this->init_download_path(); // Note: the WebView2 runtime check (init_webview_runtime) used to run here, but // the constructor executes before wxWidgets is fully initialized and before the @@ -1915,9 +1930,9 @@ bool GUI_App::hot_reload_network_plugin() m_device_manager->add_user_subscribe(); } - if (mainframe && mainframe->m_monitor) { - mainframe->m_monitor->update_network_version_footer(); - mainframe->m_monitor->set_default(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) { + monitor->update_network_version_footer(); + monitor->set_default(); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": reset monitor panel"; } @@ -2171,6 +2186,8 @@ void GUI_App::init_networking_callbacks() obj->command_get_access_code(); if (m_agent) m_agent->install_device_cert(obj->get_dev_id(), obj->is_lan_mode_printer()); + + obj->set_online_state(true); } }); }); @@ -2209,6 +2226,8 @@ void GUI_App::init_networking_callbacks() obj->command_get_version(); event.SetInt(0); event.SetString(obj->get_dev_id()); + + obj->set_online_state(true); } else if (state == ConnectStatus::ConnectStatusFailed) { // Orca: only update status if same device id if (m_device_manager->selected_machine != dev_id) return; @@ -2224,10 +2243,14 @@ void GUI_App::init_networking_callbacks() wxGetApp().show_dialog(text); } event.SetInt(-1); + + obj->set_online_state(false); } else if (state == ConnectStatus::ConnectStatusLost) { m_device_manager->set_selected_machine(""); event.SetInt(-1); BOOST_LOG_TRIVIAL(info) << "set_on_local_connect_fn: state = lost"; + + obj->set_online_state(false); } else { event.SetInt(-1); BOOST_LOG_TRIVIAL(info) << "set_on_local_connect_fn: state = " << state; @@ -2616,6 +2639,10 @@ void GUI_App::init_app_config() } #endif // _WIN32 } + // Speed Dial opens on a bare Space from any page by default. Seed the flag so Preferences and the + // MainFrame shortcut read the same value; an existing config (true or false) is left untouched. + if (app_config->get("enable_speed_dial").empty()) + app_config->set_bool("enable_speed_dial", true); set_logging_level(Slic3r::level_string_to_boost(app_config->get("log_severity_level"))); } @@ -3396,14 +3423,20 @@ bool GUI_App::on_init_inner() } BOOST_LOG_TRIVIAL(info) << "create the main window"; mainframe = new MainFrame(); - // hide settings tabs after first Layout + // The first render can happen as soon as the frame is shown, before the queued + // new_project() sets the same view. + plater_->get_camera().select_view("topfront"); + plater_->get_camera().requires_zoom_to_bed = true; if (is_editor()) { - mainframe->select_tab(TAB_ID_HOME); + if (starts_on_prepare()) { + mainframe->select_tab(TAB_ID_PREPARE); + } else { + mainframe->select_tab(TAB_ID_HOME); + } } sidebar().obj_list()->init(); //sidebar().aux_list()->init_auxiliary(); - mainframe->m_project->init_auxiliary(); // update_mode(); // !!! do that later SetTopWindow(mainframe); @@ -4114,13 +4147,13 @@ void GUI_App::select_machine(const std::string& agent_id) // Use MonitorPanel::select_machine() to trigger full selection flow // This reuses existing logic for machine switching (UI updates, callbacks, etc.) - if (mainframe && mainframe->m_monitor) { - mainframe->m_monitor->select_machine(dev_id); + if (MonitorPanel* monitor = MonitorPanel::if_built()) { + monitor->select_machine(dev_id); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": triggered select_machine for dev_id=" << dev_id; - } else { - // Fallback if MonitorPanel not available - m_device_manager->set_selected_machine(dev_id); - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": fallback set_selected_machine dev_id=" << dev_id; + } else if (m_device_manager->set_selected_machine(dev_id)) { + // The Device tab's own state is set when the tab is built. + MonitorPanel::on_machine_selected(m_device_manager->get_selected_machine()); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": set_selected_machine dev_id=" << dev_id; } } @@ -4595,6 +4628,12 @@ void GUI_App::recreate_GUI(const wxString &msg_name) BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "recreate_GUI enter"; m_is_recreating_gui = true; + // The palette injects its translated strings once, at creation; drop the cached dialog so the + // next open rebuilds it in the current locale (and can't outlive the old mainframe). + if (m_speed_dial_dialog) { + m_speed_dial_dialog->Destroy(); + m_speed_dial_dialog = nullptr; + } mainframe->shutdown(); ProgressDialog dlg(msg_name, msg_name, 100, nullptr, wxPD_AUTO_HIDE); @@ -4638,6 +4677,7 @@ void GUI_App::recreate_GUI(const wxString &msg_name) //BBS: trigger restore project logic here, and skip confirm plater_->trigger_restore_project(1); + mainframe->prebuild_pages_when_idle(); // #ys_FIXME_delete_after_testing Do we still need this ? // CallAfter([]() { @@ -4659,12 +4699,28 @@ void GUI_App::system_info() //dlg.ShowModal(); } -void GUI_App::keyboard_shortcuts() +void GUI_App::keyboard_shortcuts(ShortcutContext page, wxWindow* parent) { - KBShortcutsDialog dlg; + KBShortcutsDialog dlg(parent != nullptr ? parent : mainframe, page); dlg.ShowModal(); } +void GUI_App::on_shortcuts_changed() +{ + m_shortcuts->save(*app_config); + app_config->save(); + if (mainframe == nullptr) + return; + mainframe->update_shortcut_labels(); + if (Plater* plater = this->plater(); plater != nullptr) { + if (GLCanvas3D* canvas = plater->get_view3D_canvas3D(); canvas != nullptr) + canvas->update_shortcut_tooltips(); +#ifdef __WXOSX__ + obj_list()->update_shortcut_accelerators(); +#endif + } +} + void GUI_App::troubleshoot() { TroubleshootDialog dlg; @@ -4963,7 +5019,8 @@ void GUI_App::get_login_info(const std::string& provider/* = ORCA_CLOUD_PROVIDER wxString strJS = wxString::Format("window.postMessage(%s)", from_u8(logout_cmd)); GUI::wxGetApp().run_script(strJS); } - mainframe->m_webview->SetLoginPanelVisibility(true); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SetLoginPanelVisibility(true); } } @@ -5095,9 +5152,9 @@ std::string GUI_App::handle_web_request(std::string cmd) "homepage_bambu_login_or_register", }; if (app_config->get_stealth_mode() && stealth_blocked_info_commands.count(command_str)) { - CallAfter([this] { - if (mainframe && mainframe->m_webview) - mainframe->m_webview->SendCloudProvidersInfo(); + CallAfter([] { + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendCloudProvidersInfo(); }); return ""; } @@ -5111,8 +5168,8 @@ std::string GUI_App::handle_web_request(std::string cmd) if (dlg.ShowModal() == wxID_OK) { app_config->set_bool("stealth_mode", false); app_config->save(); - if (mainframe && mainframe->m_webview) - mainframe->m_webview->SendCloudProvidersInfo(); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendCloudProvidersInfo(); // Continue with login if (command_str == "homepage_login_or_register") this->request_login(true); @@ -5193,8 +5250,8 @@ std::string GUI_App::handle_web_request(std::string cmd) } else if (command_str.compare("get_recent_projects") == 0) { if (mainframe) { - if (mainframe->m_webview) { - mainframe->m_webview->SendRecentList(INT_MAX); + if (WebViewPanel* home = WebViewPanel::if_built()) { + home->SendRecentList(INT_MAX); } } } @@ -6808,7 +6865,7 @@ bool GUI_App::check_preset_parent_available(const std::pair<std::string, std::ma void GUI_App::add_pending_vendor_preset(const std::pair<std::string, std::map<std::string, std::string>>& preset_data) { - Preset::Type type; + Preset::Type type = Preset::Type::TYPE_INVALID; if (preset_data.second.at(BBL_JSON_KEY_TYPE) == PRESET_IOT_PRINT_TYPE) type = Preset::Type::TYPE_PRINT; else if (preset_data.second.at(BBL_JSON_KEY_TYPE) == PRESET_IOT_PRINTER_TYPE) @@ -7727,8 +7784,8 @@ void GUI_App::on_stealth_mode_enter() BOOST_LOG_TRIVIAL(info) << "logout: on_stealth_mode_enter"; request_user_logout(ORCA_CLOUD_PROVIDER); request_user_logout(BBL_CLOUD_PROVIDER); - if (mainframe && mainframe->m_webview) { - mainframe->m_webview->SendCloudProvidersInfo(); + if (WebViewPanel* home = WebViewPanel::if_built()) { + home->SendCloudProvidersInfo(); } } @@ -7769,21 +7826,6 @@ void GUI_App::stop_http_server() m_http_server.stop(); } -void GUI_App::switch_staff_pick(bool on) -{ - mainframe->m_webview->SendDesignStaffpick(on); -} - -bool GUI_App::switch_language() -{ - if (select_language()) { - recreate_GUI(_L("Switching application language") + dots); - return true; - } else { - return false; - } -} - #ifdef __linux__ static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language, const wxLanguageInfo* system_language) @@ -7878,72 +7920,6 @@ int GUI_App::GetSingleChoiceIndex(const wxString& message, #endif } -// select language from the list of installed languages -bool GUI_App::select_language() -{ - wxArrayString translations = wxTranslations::Get()->GetAvailableTranslations(SLIC3R_APP_KEY); - std::vector<const wxLanguageInfo*> language_infos; - language_infos.emplace_back(wxLocale::GetLanguageInfo(wxLANGUAGE_ENGLISH)); - for (size_t i = 0; i < translations.GetCount(); ++ i) { - const wxLanguageInfo *langinfo = wxLocale::FindLanguageInfo(translations[i]); - if (langinfo != nullptr) - language_infos.emplace_back(langinfo); - } - sort_remove_duplicates(language_infos); - std::sort(language_infos.begin(), language_infos.end(), [](const wxLanguageInfo* l, const wxLanguageInfo* r) { return l->Description < r->Description; }); - - wxArrayString names; - names.Alloc(language_infos.size()); - - // Some valid language should be selected since the application start up. - const wxString active_language_code = current_language_code(); - const wxLanguageInfo* active_language_info = wxLocale::FindLanguageInfo(active_language_code); - const wxLanguage current_language = active_language_info != nullptr ? wxLanguage(active_language_info->Language) : wxLanguage(m_wxLocale->GetLanguage()); - const wxString active_lang_prefix = active_language_code.BeforeFirst('_'); - int init_selection = -1; - int init_selection_alt = -1; - int init_selection_default = -1; - for (size_t i = 0; i < language_infos.size(); ++ i) { - if (wxLanguage(language_infos[i]->Language) == current_language) - // The dictionary matches the active language and country. - init_selection = i; - else if ((language_infos[i]->CanonicalName.BeforeFirst('_') == active_lang_prefix) || - // if the active language is Slovak, mark the Czech language as active. - (language_infos[i]->CanonicalName.BeforeFirst('_') == "cs" && active_lang_prefix == "sk")) - // The dictionary matches the active language, it does not necessarily match the country. - init_selection_alt = i; - if (language_infos[i]->CanonicalName.BeforeFirst('_') == "en") - // This will be the default selection if the active language does not match any dictionary. - init_selection_default = i; - names.Add(language_infos[i]->Description); - } - if (init_selection == -1) - // This is the dictionary matching the active language. - init_selection = init_selection_alt; - if (init_selection != -1) - // This is the language to highlight in the choice dialog initially. - init_selection_default = init_selection; - - const long index = GetSingleChoiceIndex(_L("Select the language"), _L("Language"), names, init_selection_default); - // Try to load a new language. - if (index != -1 && (init_selection == -1 || init_selection != index)) { - const wxLanguageInfo *new_language_info = language_infos[index]; - if (this->load_language(new_language_info->CanonicalName, false)) { - // Save language at application config. - // Which language to save as the selected dictionary language? - // 1) Hopefully the language set to wxTranslations by this->load_language(), but that API is weird and we don't want to rely on its - // stability in the future: - // wxTranslations::Get()->GetBestTranslation(SLIC3R_APP_KEY, wxLANGUAGE_ENGLISH); - // 2) Current locale language may not match the dictionary name, see GH issue #3901 - // m_wxLocale->GetCanonicalName() - // 3) new_language_info->CanonicalName is a safe bet. It points to a valid dictionary name. - app_config->set("language", new_language_info->CanonicalName.ToUTF8().data()); - return true; - } - } - - return false; -} // Load gettext translation files and activate them at the start of the application, // based on the "language" key stored in the application config. @@ -8219,6 +8195,26 @@ ConfigOptionMode GUI_App::get_saved_mode() return saved_mode_from_string(app_config->get("user_mode")); } +bool GUI_App::starts_on_prepare() const +{ + return app_config->get("default_page") == "1"; +} + +int GUI_App::input_idle_ms() const +{ + return int(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() - m_last_input).count()); +} + +// Every wxCommandEvent claims the user-input category, so only real mouse and key events count, +// plus main window resizes, since a border drag produces no mouse events. +int GUI_App::FilterEvent(wxEvent& event) +{ + if ((!event.IsCommandEvent() && (event.GetEventCategory() & wxEVT_CATEGORY_USER_INPUT)) || + (event.GetEventType() == wxEVT_SIZE && event.GetEventObject() == mainframe)) + m_last_input = std::chrono::steady_clock::now(); + return Event_Skip; +} + ConfigOptionMode GUI_App::get_mode() { return app_config->get_bool("developer_mode") ? comDevelop : get_saved_mode(); @@ -8244,6 +8240,22 @@ void GUI_App::save_mode(const /*ConfigOptionMode*/int mode) update_mode(); } +void GUI_App::set_mode(ConfigOptionMode mode) +{ + const bool was_developer = app_config->get_bool("developer_mode"); + if (was_developer) + app_config->set_bool("developer_mode", false); + save_mode(mode); + if (was_developer) + app_config->save(); +} + +void GUI_App::enable_developer_mode() +{ + app_config->set_bool("developer_mode", true); + update_mode(); +} + // Update view mode according to selected menu void GUI_App::update_mode() { @@ -8254,9 +8266,10 @@ void GUI_App::update_mode() mainframe->m_param_panel->update_mode(); if (mainframe->m_param_dialog) mainframe->m_param_dialog->panel()->update_mode(); - if (mainframe->m_printer_view) - mainframe->m_printer_view->update_mode(); - mainframe->m_webview->update_mode(); + if (PrinterWebView* view = PrinterWebView::if_built()) + view->update_mode(); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->update_mode(); #ifdef _MSW_DARK_MODE if (!wxGetApp().tabs_as_menu()) @@ -8274,9 +8287,10 @@ void GUI_App::update_mode() } void GUI_App::update_internal_development() { - mainframe->m_webview->update_mode(); - if (mainframe->m_printer_view) - mainframe->m_printer_view->update_mode(); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->update_mode(); + if (PrinterWebView* view = PrinterWebView::if_built()) + view->update_mode(); } void GUI_App::show_ip_address_enter_dialog(wxString title) @@ -8330,146 +8344,6 @@ void GUI_App::show_ip_address_enter_dialog_handler(wxCommandEvent& evt) show_modal_ip_address_enter_dialog(mode == -1?false:true, title); } -//void GUI_App::add_config_menu(wxMenuBar *menu) -//void GUI_App::add_config_menu(wxMenu *menu) -//{ -// auto local_menu = new wxMenu(); -// wxWindowID config_id_base = wxWindow::NewControlId(int(ConfigMenuCnt)); -// -// const auto config_wizard_name = _(ConfigWizard::name(true)); -// const auto config_wizard_tooltip = from_u8((boost::format(_utf8(L("Open %s"))) % config_wizard_name).str()); -// // Cmd+, is standard on OS X - what about other operating systems? -// if (is_editor()) { -// local_menu->Append(config_id_base + ConfigMenuWizard, config_wizard_name + dots, config_wizard_tooltip); -// local_menu->Append(config_id_base + ConfigMenuUpdate, _L("Check for Configuration Updates"), _L("Check for configuration updates")); -// local_menu->AppendSeparator(); -// } -// local_menu->Append(config_id_base + ConfigMenuPreferences, _L("Preferences") + dots + -//#ifdef __APPLE__ -// "\tCtrl+,", -//#else -// "\tCtrl+P", -//#endif -// _L("Application preferences")); -// wxMenu* mode_menu = nullptr; -// if (is_editor()) { -// local_menu->AppendSeparator(); -// mode_menu = new wxMenu(); -// mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeSimple, _L("Simple"), _L("Simple Mode")); -// mode_menu->AppendRadioItem(config_id_base + ConfigMenuModeAdvanced, _L("Advanced"), _L("Advanced Mode")); -// Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { if (get_mode() == comSimple) evt.Check(true); }, config_id_base + ConfigMenuModeSimple); -// Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { if (get_mode() == comAdvanced) evt.Check(true); }, config_id_base + ConfigMenuModeAdvanced); -// -// local_menu->AppendSubMenu(mode_menu, _L("Mode"), wxString::Format(_L("%s Mode"), SLIC3R_APP_NAME)); -// } -// local_menu->AppendSeparator(); -// local_menu->Append(config_id_base + ConfigMenuLanguage, _L("Language")); -// if (is_editor()) { -// local_menu->AppendSeparator(); -// } -// -// local_menu->Bind(wxEVT_MENU, [this, config_id_base](wxEvent &event) { -// switch (event.GetId() - config_id_base) { -// case ConfigMenuWizard: -// run_wizard(ConfigWizard::RR_USER); -// break; -// case ConfigMenuUpdate: -// check_updates(true); -// break; -//#ifdef __linux__ -// case ConfigMenuDesktopIntegration: -// show_desktop_integration_dialog(); -// break; -//#endif -// case ConfigMenuSnapshots: -// //BBS do not support task snapshot -// break; -// case ConfigMenuPreferences: -// { -// //BBS GUI refactor: remove unuse layout logic -// //bool app_layout_changed = false; -// { -// // the dialog needs to be destroyed before the call to recreate_GUI() -// // or sometimes the application crashes into wxDialogBase() destructor -// // so we put it into an inner scope -// PreferencesDialog dlg(mainframe); -// dlg.ShowModal(); -// //BBS GUI refactor: remove unuse layout logic -// //app_layout_changed = dlg.settings_layout_changed(); -// if (dlg.seq_top_layer_only_changed()) -// this->plater_->refresh_print(); -// -// if (dlg.recreate_GUI()) { -// recreate_GUI(_L("Restart application") + dots); -// return; -// } -//#ifdef _WIN32 -// if (is_editor()) { -// if (app_config->get("associate_3mf") == "true") -// associate_3mf_files(); -// if (app_config->get("associate_stl") == "true") -// associate_stl_files(); -// } -// else { -// if (app_config->get("associate_gcode") == "true") -// associate_gcode_files(); -// } -//#endif // _WIN32 -// } -// //BBS GUI refactor: remove unuse layout logic -// /*if (app_layout_changed) { -// // hide full main_sizer for mainFrame -// mainframe->GetSizer()->Show(false); -// mainframe->update_layout(); -// mainframe->select_tab(size_t(0)); -// }*/ -// break; -// } -// case ConfigMenuLanguage: -// { -// /* Before change application language, let's check unsaved changes on 3D-Scene -// * and draw user's attention to the application restarting after a language change -// */ -// { -// // the dialog needs to be destroyed before the call to switch_language() -// // or sometimes the application crashes into wxDialogBase() destructor -// // so we put it into an inner scope -// wxString title = is_editor() ? wxString(SLIC3R_APP_NAME) : wxString(GCODEVIEWER_APP_NAME); -// title += " - " + _L("Choose language"); -// //wxMessageDialog dialog(nullptr, -// MessageDialog dialog(nullptr, -// _L("Switching the language requires application restart.\n") + "\n\n" + -// _L("Do you want to continue?"), -// title, -// wxICON_QUESTION | wxOK | wxCANCEL); -// if (dialog.ShowModal() == wxID_CANCEL) -// return; -// } -// -// switch_language(); -// break; -// } -// case ConfigMenuFlashFirmware: -// //BBS FirmwareDialog::run(mainframe); -// break; -// default: -// break; -// } -// }); -// -// using std::placeholders::_1; -// -// if (mode_menu != nullptr) { -// auto modfn = [this](int mode, wxCommandEvent&) { if (get_mode() != mode) save_mode(mode); }; -// mode_menu->Bind(wxEVT_MENU, std::bind(modfn, comSimple, _1), config_id_base + ConfigMenuModeSimple); -// mode_menu->Bind(wxEVT_MENU, std::bind(modfn, comAdvanced, _1), config_id_base + ConfigMenuModeAdvanced); -// } -// -// // BBS -// //menu->Append(local_menu, _L("Configuration")); -// menu->AppendSubMenu(local_menu, _L("Configuration")); -//} - void GUI_App::open_presetbundledialog(size_t open_on_tab, const std::string& highlight_option) { bool app_layout_changed = false; @@ -8532,6 +8406,65 @@ void GUI_App::open_plugins_dialog(size_t open_on_tab, const std::string& highlig } } +void GUI_App::refresh_plugins() +{ + // The metadata refresh blocks on disc discovery and a cloud round-trip, so run it on a worker + // and report completion through the notification manager -- the speed dial needs no dialog. + std::thread([]() { + wxString error; + try { + refresh_plugin_metadata_blocking(/*fetch_cloud=*/true); + } catch (const std::exception& ex) { + error = from_u8(ex.what()); + } catch (...) { + error = "Unknown error"; // plain literal: wx translation isn't safe off the UI thread + } + if (!wxTheApp) + return; + wxTheApp->CallAfter([error]() { + if (wxGetApp().is_closing()) + return; + Plater* plater = wxGetApp().plater(); + if (plater == nullptr) + return; + if (error.IsEmpty()) + plater->get_notification_manager()->push_notification( + NotificationType::CustomNotification, + NotificationManager::NotificationLevel::RegularNotificationLevel, + into_u8(_L("Plugins refreshed."))); + else + plater->get_notification_manager()->push_notification( + NotificationType::CustomNotification, + NotificationManager::NotificationLevel::ErrorNotificationLevel, + into_u8(wxString::Format(_L("Failed to refresh plugins: %s"), error))); + }); + }).detach(); +} + +void GUI_App::install_local_plugin() +{ + if (mainframe == nullptr) + return; + + wxFileDialog dialog(mainframe, _L("Select plugin package"), wxEmptyString, wxEmptyString, _L("Plugin files (*.py;*.whl)|*.py;*.whl"), + wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if (dialog.ShowModal() != wxID_OK) + return; + + wxString message; + const bool ok = install_local_plugin_package(boost::filesystem::path(dialog.GetPath().ToUTF8().data()), mainframe, message); + if (message.IsEmpty()) + return; // user cancelled the overwrite prompt + + Plater* plater = this->plater(); + if (plater == nullptr) + return; + plater->get_notification_manager()->push_notification( + NotificationType::CustomNotification, + ok ? NotificationManager::NotificationLevel::RegularNotificationLevel : NotificationManager::NotificationLevel::ErrorNotificationLevel, + into_u8(message)); +} + void GUI_App::open_terminal_dialog() { // Reached from the plugins dialog's webview ("open_terminal" command), i.e. from @@ -8593,14 +8526,18 @@ void GUI_App::open_exportpresetbundledialog(size_t open_on_tab, const std::strin } } -void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_option) +void GUI_App::open_preferences() { open_preferences(PreferencesTab::General); } + +void GUI_App::open_preferences(PreferencesTab tab, const std::string& highlight_option) { - static constexpr const char* opengl_fxaa_setting_key = "opengl_fxaa_enabled"; - static constexpr const char* opengl_fps_cap_setting_key = "opengl_fps_cap"; - static constexpr const char* opengl_show_fps_overlay_setting_key = "opengl_show_fps_overlay"; - const std::string previous_opengl_fxaa = app_config->get(opengl_fxaa_setting_key); - const std::string previous_opengl_fps_cap = app_config->get(opengl_fps_cap_setting_key); - const std::string previous_opengl_show_fps_overlay = app_config->get(opengl_show_fps_overlay_setting_key); + // Render settings the canvas reads every frame; a change needs one redraw to show. + static constexpr const char* opengl_render_setting_keys[] = { + SETTING_OPENGL_FXAA_ENABLED, SETTING_OPENGL_FPS_CAP, SETTING_OPENGL_SHOW_FPS_OVERLAY, SETTING_OPENGL_SCENE_CACHE, + SETTING_OPENGL_SKIP_IDENTICAL_FRAMES + }; + std::vector<std::string> previous_opengl_render_settings; + for (const char* key : opengl_render_setting_keys) + previous_opengl_render_settings.emplace_back(app_config->get(key)); bool need_recreate_gui = false; std::string pending_language; @@ -8608,7 +8545,8 @@ void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_ // the dialog needs to be destroyed before the call to recreate_GUI() // or sometimes the application crashes into wxDialogBase() destructor // so we put it into an inner scope - PreferencesDialog dlg(mainframe, open_on_tab, highlight_option); + PreferencesDialog dlg(mainframe); + dlg.select_tab(tab, highlight_option); dlg.ShowModal(); need_recreate_gui = dlg.recreate_GUI(); pending_language = dlg.pending_language(); @@ -8640,10 +8578,10 @@ void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_ } } - const bool opengl_fxaa_changed = app_config->get(opengl_fxaa_setting_key) != previous_opengl_fxaa; - const bool opengl_fps_cap_changed = app_config->get(opengl_fps_cap_setting_key) != previous_opengl_fps_cap; - const bool opengl_show_fps_overlay_changed = app_config->get(opengl_show_fps_overlay_setting_key) != previous_opengl_show_fps_overlay; - if ((opengl_fxaa_changed || opengl_fps_cap_changed || opengl_show_fps_overlay_changed) && !need_recreate_gui && this->plater_ != nullptr) { + bool opengl_render_settings_changed = false; + for (size_t i = 0; i < previous_opengl_render_settings.size(); ++i) + opengl_render_settings_changed |= app_config->get(opengl_render_setting_keys[i]) != previous_opengl_render_settings[i]; + if (opengl_render_settings_changed && !need_recreate_gui && this->plater_ != nullptr) { this->plater_->set_current_canvas_as_dirty(); this->plater_->get_current_canvas3D()->force_set_focus(); } @@ -8657,6 +8595,9 @@ void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_ this->plater_->get_current_canvas3D()->force_set_focus(); return; } + // Built-in Speed Dial command titles are copied from the catalog at init and don't follow a + // live locale switch; rebuild them in the new language before the GUI (and palette) rebuilds. + m_action_registry.relocalize_builtins(); } if (need_recreate_gui) @@ -9418,7 +9359,7 @@ int GUI_App::filaments_cnt() const PrintSequence GUI_App::global_print_sequence() const { PrintSequence global_print_seq = PrintSequence::ByDefault; - auto curr_preset_config = preset_bundle->prints.get_edited_preset().config; + const auto &curr_preset_config = preset_bundle->prints.get_edited_preset().config; if (curr_preset_config.has("print_sequence")) global_print_seq = curr_preset_config.option<ConfigOptionEnum<PrintSequence>>("print_sequence")->value; return global_print_seq; diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 8bf32df64c..a8fa8432b1 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -1,23 +1,18 @@ #ifndef slic3r_GUI_App_hpp_ #define slic3r_GUI_App_hpp_ +#include <chrono> +#include <functional> #include <memory> #include <string> #include "ActionRegistry.hpp" #include "ImGuiWrapper.hpp" #include "ConfigWizard.hpp" #include "OpenGLManager.hpp" -#include "PresetBundleDialog.hpp" #include "libslic3r/Preset.hpp" #include "libslic3r/PresetBundle.hpp" -#include "slic3r/GUI/DeviceManager.hpp" #include "slic3r/GUI/UserNotification.hpp" -#include "slic3r/Utils/NetworkAgent.hpp" -#include "slic3r/Utils/BBLCloudServiceAgent.hpp" -#include "slic3r/GUI/WebViewDialog.hpp" -#include "slic3r/GUI/WebUserLoginDialog.hpp" -#include "slic3r/GUI/BindDialog.hpp" -#include "slic3r/GUI/HMS.hpp" +#include "slic3r/Utils/CloudProvider.hpp" #include "slic3r/GUI/Jobs/UpgradeNetworkJob.hpp" #include "slic3r/GUI/HttpServer.hpp" #include "../Utils/PrintHost.hpp" @@ -64,13 +59,21 @@ class ModelObject; class Model; class UserManager; class DeviceManager; +class MachineObject; class NetworkAgent; +class IPrinterAgent; class TaskManager; +// Same typedef as in bambu_networking.hpp, so this header need not include it. +typedef std::function<bool()> WasCancelledFn; + namespace GUI{ class RemovableDriveManager; class OtherInstanceMessageHandler; +class ShortcutRegistry; +enum class ShortcutContext : uint8_t; +enum class PreferencesTab; class MainFrame; class Sidebar; class ObjectSettings; @@ -85,6 +88,8 @@ class ParamsDialog; class HMSQuery; class ModelMallDialog; class PingCodeBindDialog; +class PresetBundleDialog; +class ZUserLogin; class NetworkErrorDialog; class PluginsDialog; class SpeedDialWebDialog; @@ -244,6 +249,7 @@ private: bool m_app_conf_exists{ false }; EAppMode m_app_mode{ EAppMode::Editor }; bool m_is_recreating_gui{ false }; + std::chrono::steady_clock::time_point m_last_input{ std::chrono::steady_clock::now() }; #ifdef __linux__ bool m_opengl_initialized{ false }; #endif @@ -285,6 +291,7 @@ private: std::unique_ptr<RemovableDriveManager> m_removable_drive_manager; std::unique_ptr<ImGuiWrapper> m_imgui; + std::unique_ptr<ShortcutRegistry> m_shortcuts; std::unique_ptr<PrintHostJobQueue> m_printhost_job_queue; std::unique_ptr <OtherInstanceMessageHandler> m_other_instance_message_handler; std::unique_ptr <wxSingleInstanceChecker> m_single_instance_checker; @@ -349,6 +356,11 @@ public: int OnExit() override; bool initialized() const { return m_initialized; } inline bool is_enable_multi_machine() { return this->app_config&& this->app_config->get("enable_multi_machine") == "true"; } +#ifdef SLIC3R_CAD + inline bool is_enable_cad_feature() { return this->app_config && this->app_config->get_bool("enable_cad_feature"); } + inline bool is_auto_close_sketch_loops() { return !this->app_config + || this->app_config->get_bool("auto_close_sketch_loops"); } +#endif std::map<std::string, bool> test_url_state; @@ -377,6 +389,11 @@ public: bool is_editor() const { return m_app_mode == EAppMode::Editor; } bool is_gcode_viewer() const { return m_app_mode == EAppMode::GCodeViewer; } bool is_recreating_gui() const { return m_is_recreating_gui; } + // Milliseconds since the last mouse or keyboard event the app processed, or main window resize. + int input_idle_ms() const; + int FilterEvent(wxEvent& event) override; + // The Preferences "Default page" choice, stored as its index: 0 Home, 1 Prepare. + bool starts_on_prepare() const; std::string logo_name() const { return is_editor() ? "OrcaSlicer" : "OrcaSlicer-gcodeviewer"; } bool is_closing() const { return m_is_closing.load(std::memory_order_acquire); } @@ -477,7 +494,7 @@ public: void recreate_GUI(const wxString& message); void system_info(); - void keyboard_shortcuts(); + void keyboard_shortcuts(ShortcutContext page, wxWindow* parent = nullptr); // the main frame when null void troubleshoot(); void load_project(wxWindow *parent, wxString& input_file) const; void import_model(wxWindow *parent, wxArrayString& input_files) const; @@ -569,7 +586,6 @@ public: void start_http_server(const std::string& provider = ORCA_CLOUD_PROVIDER); void start_http_server(int port, const std::string& provider = ORCA_CLOUD_PROVIDER); void stop_http_server(); - void switch_staff_pick(bool on); void on_show_check_privacy_dlg(int online_login = 0, const std::string& provider = ORCA_CLOUD_PROVIDER); void show_check_privacy_dlg(wxCommandEvent& evt); @@ -583,7 +599,6 @@ public: void persist_window_geometry(wxTopLevelWindow *window, bool default_maximized = false); void update_ui_from_settings(); - bool switch_language(); bool load_language(wxString language, bool initial); Tab* get_tab(Preset::Type type); @@ -595,6 +610,11 @@ public: std::string get_saved_mode_str(); std::string get_mode_str(); void save_mode(const /*ConfigOptionMode*/int mode) ; + // Switch to `mode` from the Speed Dial: a developer-mode override hides the saved mode + // (get_mode returns comDevelop), so clear it first and persist the choice. + void set_mode(ConfigOptionMode mode); + // Turn the developer-mode override on and refresh the UI (used before jumping to a Developer setting). + void enable_developer_mode(); void update_mode(); void update_internal_development(); void show_ip_address_enter_dialog(wxString title = wxEmptyString); @@ -630,9 +650,13 @@ public: wxString current_language_code_safe() const; bool is_localized() const { return m_wxLocale->GetLocale() != "English"; } - void open_preferences(size_t open_on_tab = 0, const std::string& highlight_option = std::string()); + void open_preferences(); // on the General tab + void open_preferences(PreferencesTab tab, const std::string& highlight_option = std::string()); void open_presetbundledialog(size_t open_on_tab = 0, const std::string& highlight_option = std::string()); void open_plugins_dialog(size_t open_on_tab = 0, const std::string& highlight_option = std::string()); + // Dialog-free plugin actions used by the speed dial: they never require the Plugins dialog to be open. + void refresh_plugins(); + void install_local_plugin(); void open_terminal_dialog(); void open_speed_dial(); ActionRegistry& action_registry() { return m_action_registry; } @@ -725,6 +749,9 @@ public: size_t get_instance_hash_int () { return m_instance_hash_int; } ImGuiWrapper* imgui() { return m_imgui.get(); } + ShortcutRegistry& shortcuts() { return *m_shortcuts; } + // Saves the bindings and refreshes every menu label, tooltip and accelerator table that shows one. + void on_shortcuts_changed(); PrintHostJobQueue& printhost_job_queue() { return *m_printhost_job_queue.get(); } @@ -801,7 +828,6 @@ private: bool window_pos_restore(wxTopLevelWindow* window, const std::string &name, bool default_maximized = false); void window_pos_sanitize(wxTopLevelWindow* window); void window_pos_center(wxTopLevelWindow *window); - bool select_language(); // Dynamic printer agent selection - internal helpers for switch_printer_agent // and the plugin load/unload callbacks (init_plugin_gui_wiring). @@ -832,7 +858,7 @@ wxDECLARE_EVENT(EVT_UPDATE_BUNDLE_COMPLETE, wxCommandEvent); bool is_support_filament(int extruder_id, bool strict_check = true); bool is_soluble_filament(int extruder_id); // check if the filament for model is in the list -bool has_filaments(const std::vector<string>& model_filaments); +bool has_filaments(const std::vector<std::string>& model_filaments); } // namespace GUI } // Slic3r diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index d8e54978fa..ecca540aa9 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -6,6 +6,7 @@ #include "GUI_Factories.hpp" #include "GUI_ObjectList.hpp" #include "GUI_App.hpp" +#include "Shortcuts.hpp" #include "I18N.hpp" #include "Plater.hpp" #include "ObjectDataViewModel.hpp" @@ -578,113 +579,131 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty return sub_menu; } +// Orca: handy models shipped under <resources>/handy_models. Defining everything in one table keeps +// the menu label, the files to load and the per-model behavior in a single place. Labels are wrapped +// in L() so they are picked up for translation. Shared with the command palette. +const std::vector<MenuFactory::HandyModel>& MenuFactory::handy_models() +{ + static const std::vector<HandyModel> models = { + {"orca_cube", L("Orca Cube"), {"OrcaCube_v2.drc", "OrcaPlug_v2.drc"}, true}, + {"orcasliced_combo", L("OrcaSliced Combo"), {"OrcaSliced.3mf", "OrcaCube_v2.drc", "OrcaPlug_v2.drc"}, true}, + {"orca_badge", L("Orca Badge"), {"OrcaBadge.3mf"}}, + {"orca_tolerance_test", L("Orca Tolerance Test"), {"OrcaToleranceTest.drc"}}, + {"3dbenchy", L("3DBenchy"), {"3DBenchy.drc"}}, + {"cali_cat", L("Cali Cat"), {"calicat.drc"}}, + {"autodesk_fdm_test", L("Autodesk FDM Test"), {"ksr_fdmtest_v4.drc"}}, + {"voron_cube", L("Voron Cube"), {"Voron_Design_Cube_v7.drc"}}, + {"stanford_bunny", L("Stanford Bunny"), {"Stanford_Bunny.drc"}}, + {"orca_string_hell", L("Orca String Hell"), {"Orca_stringhell.drc"}, false, true}, + }; + return models; +} + +void MenuFactory::load_handy_model(std::size_t index) +{ + const std::vector<HandyModel>& models = handy_models(); + if (index >= models.size()) + return; + const HandyModel& model = models[index]; + + std::vector<boost::filesystem::path> input_files; + input_files.reserve(model.file_names.size()); + for (const auto& file_name : model.file_names) + input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name)); + + Plater* pl = plater(); + if (!pl) + return; + pl->load_files(input_files, LoadStrategy::LoadModel); + if (model.arrange_after_import) { + pl->set_prepare_state(Job::PREPARE_STATE_MENU); + pl->arrange(); + } + + // Suggest to change settings for stringhell + // This serves as mini tutorial for new users + if (model.is_stringhell) { + wxGetApp().CallAfter([=] { + DynamicPrintConfig* m_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; + + bool is_only_one_wall_top = m_config->opt_bool("only_one_wall_top"); + auto min_width_top_surface = m_config->option<ConfigOptionFloatOrPercent>("min_width_top_surface")->value; + if (is_only_one_wall_top && min_width_top_surface > 0) { + wxString msg_text = _L("This model features text embossment on the top surface. For optimal results, it is " + "advisable to set the 'One Wall Threshold (min_width_top_surface)' " + "to 0 for the 'Only One Wall on Top Surfaces' to work best.\n" + "Yes - Change these settings automatically\n" + "No - Do not change these settings for me"); + + MessageDialog dialog(wxGetApp().plater(), msg_text, _L("Suggestion"), wxICON_WARNING | wxYES | wxNO); + if (dialog.ShowModal() == wxID_YES) { + m_config->set_key_value("min_width_top_surface", new ConfigOptionFloatOrPercent(0, false)); + wxGetApp().get_tab(Preset::TYPE_PRINT)->update_dirty(); + wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config(); + } + wxGetApp().plater()->update(); + } + }); + } +} + // Orca: add submenu for adding handy models wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeType type) { auto sub_menu = new wxMenu; - // Orca: handy models shipped under <resources>/handy_models. Defining everything in one table - // keeps the menu label, the files to load and the per-model behavior in a single place and - // avoids repeating the label strings (and the value-vs-pointer comparison pitfalls that come - // with that). Labels are wrapped in L() so they are picked up for translation. - struct HandyModel - { - const char* label; - std::vector<std::string> file_names; - bool arrange_after_import = false; - bool is_stringhell = false; - }; - static const std::vector<HandyModel> handy_models = { - {L("Orca Cube"), {"OrcaCube_v2.drc", "OrcaPlug_v2.drc"}, true}, - {L("OrcaSliced Combo"), {"OrcaSliced.3mf", "OrcaCube_v2.drc", "OrcaPlug_v2.drc"}, true}, - {L("Orca Badge"), {"OrcaBadge.3mf"}}, - {L("Orca Tolerance Test"), {"OrcaToleranceTest.drc"}}, - {L("3DBenchy"), {"3DBenchy.drc"}}, - {L("Cali Cat"), {"calicat.drc"}}, - {L("Autodesk FDM Test"), {"ksr_fdmtest_v4.drc"}}, - {L("Voron Cube"), {"Voron_Design_Cube_v7.drc"}}, - {L("Stanford Bunny"), {"Stanford_Bunny.drc"}}, - {L("Orca String Hell"), {"Orca_stringhell.drc"}, false, true}, - }; - - for (const auto& model : handy_models) { - append_menu_item( - sub_menu, wxID_ANY, _(model.label), "", - [&model](wxCommandEvent&) { - std::vector<boost::filesystem::path> input_files; - input_files.reserve(model.file_names.size()); - for (const auto& file_name : model.file_names) - input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name)); - - plater()->load_files(input_files, LoadStrategy::LoadModel); - if (model.arrange_after_import) { - plater()->set_prepare_state(Job::PREPARE_STATE_MENU); - plater()->arrange(); - } - - // Suggest to change settings for stringhell - // This serves as mini tutorial for new users - if (model.is_stringhell) { - wxGetApp().CallAfter([=] { - DynamicPrintConfig* m_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; - - bool is_only_one_wall_top = m_config->opt_bool("only_one_wall_top"); - auto min_width_top_surface = m_config->option<ConfigOptionFloatOrPercent>("min_width_top_surface")->value; - if (is_only_one_wall_top && min_width_top_surface > 0) { - wxString msg_text = _L("This model features text embossment on the top surface. For optimal results, it is " - "advisable to set the 'One Wall Threshold (min_width_top_surface)' " - "to 0 for the 'Only One Wall on Top Surfaces' to work best.\n" - "Yes - Change these settings automatically\n" - "No - Do not change these settings for me"); - - MessageDialog dialog(wxGetApp().plater(), msg_text, _L("Suggestion"), wxICON_WARNING | wxYES | wxNO); - if (dialog.ShowModal() == wxID_YES) { - m_config->set_key_value("min_width_top_surface", new ConfigOptionFloatOrPercent(0, false)); - wxGetApp().get_tab(Preset::TYPE_PRINT)->update_dirty(); - wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config(); - } - wxGetApp().plater()->update(); - } - }); - } - }, - "", menu); + const std::vector<HandyModel>& models = handy_models(); + for (std::size_t i = 0; i < models.size(); ++i) { + append_menu_item(sub_menu, wxID_ANY, _(models[i].label), "", + [i](wxCommandEvent&) { MenuFactory::load_handy_model(i); }, "", menu); } - return sub_menu; } + +// Create a Text/SVG volume through the matching gizmo. `type == INVALID` means "create a new object". +// Shared by the add menu and the command palette. +static void add_volume_with_gizmo(GLGizmosManager::EType gizmo_type, ModelVolumeType type) +{ + Plater* pl = plater(); + if (!pl) + return; + const GLCanvas3D* canvas = pl->canvas3D(); + if (!canvas) + return; + GLGizmoBase* gizmo_base = canvas->get_gizmos_manager().get_gizmo(gizmo_type); + if (!gizmo_base) + return; + + ModelVolumeType volume_type = type; + // no selected object means create new object + if (volume_type == ModelVolumeType::INVALID) + volume_type = ModelVolumeType::MODEL_PART; + + auto screen_position = canvas->get_popup_menu_position(); + if (gizmo_type == GLGizmosManager::Emboss) { + auto* emboss = dynamic_cast<GLGizmoEmboss*>(gizmo_base); + if (emboss == nullptr) + return; + if (screen_position.has_value()) + emboss->create_volume(volume_type, *screen_position); + else + emboss->create_volume(volume_type); + } else if (gizmo_type == GLGizmosManager::Svg) { + auto* svg = dynamic_cast<GLGizmoSVG*>(gizmo_base); + if (svg == nullptr) + return; + if (screen_position.has_value()) + svg->create_volume(volume_type, *screen_position); + else + svg->create_volume(volume_type); + } +} + +void MenuFactory::add_text_volume(ModelVolumeType type) { add_volume_with_gizmo(GLGizmosManager::Emboss, type); } +void MenuFactory::add_svg_volume(ModelVolumeType type) { add_volume_with_gizmo(GLGizmosManager::Svg, type); } + static void append_menu_itemm_add_(const wxString& name, GLGizmosManager::EType gizmo_type, wxMenu *menu, ModelVolumeType type, bool is_submenu_item) { - auto add_ = [type, gizmo_type](const wxCommandEvent & /*unnamed*/) { - const GLCanvas3D *canvas = plater()->canvas3D(); - const GLGizmosManager &mng = canvas->get_gizmos_manager(); - GLGizmoBase *gizmo_base = mng.get_gizmo(gizmo_type); - - ModelVolumeType volume_type = type; - // no selected object means create new object - if (volume_type == ModelVolumeType::INVALID) - volume_type = ModelVolumeType::MODEL_PART; - - auto screen_position = canvas->get_popup_menu_position(); - if (gizmo_type == GLGizmosManager::Emboss) { - auto emboss = dynamic_cast<GLGizmoEmboss *>(gizmo_base); - assert(emboss != nullptr); - if (emboss == nullptr) return; - if (screen_position.has_value()) { - emboss->create_volume(volume_type, *screen_position); - } else { - emboss->create_volume(volume_type); - } - } else if (gizmo_type == GLGizmosManager::Svg) { - auto svg = dynamic_cast<GLGizmoSVG *>(gizmo_base); - assert(svg != nullptr); - if (svg == nullptr) return; - if (screen_position.has_value()) { - svg->create_volume(volume_type, *screen_position); - } else { - svg->create_volume(volume_type); - } - } - }; + auto add_ = [type, gizmo_type](const wxCommandEvent & /*unnamed*/) { add_volume_with_gizmo(gizmo_type, type); }; if (type == ModelVolumeType::MODEL_PART || type == ModelVolumeType::NEGATIVE_VOLUME || type == ModelVolumeType::PARAMETER_MODIFIER || type == ModelVolumeType::INVALID // cannot use gizmo without selected object @@ -1392,7 +1411,7 @@ void MenuFactory::create_default_menu() { wxMenu* sub_menu_primitives = append_submenu_add_generic(&m_default_menu, ModelVolumeType::INVALID); wxMenu* sub_menu_handy = append_submenu_add_handy_model(&m_default_menu, ModelVolumeType::INVALID); -#ifdef __WINDOWS__ + append_submenu(&m_default_menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "menu_add_part", []() {return true; }, m_parent); append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part", @@ -1400,15 +1419,6 @@ void MenuFactory::create_default_menu() append_menu_item(&m_default_menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models [](wxCommandEvent&) { plater()->add_file(); }, "menu_add_part", &m_default_menu, []() {return wxGetApp().plater()->can_add_model(); }, m_parent); -#else - append_submenu(&m_default_menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "", - []() {return true; }, m_parent); - append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "", - []() {return true; }, m_parent); - append_menu_item(&m_default_menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models - [](wxCommandEvent&) { plater()->add_file(); }, "", &m_default_menu, - []() {return wxGetApp().plater()->can_add_model(); }, m_parent); -#endif m_default_menu.AppendSeparator(); @@ -1789,7 +1799,6 @@ void MenuFactory::create_plate_menu() wxMenu* sub_menu_primitives = append_submenu_add_generic(menu, ModelVolumeType::INVALID); wxMenu* sub_menu_handy = append_submenu_add_handy_model(menu, ModelVolumeType::INVALID); -#ifdef __WINDOWS__ append_submenu(menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "menu_add_part", []() {return true; }, m_parent); append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part", @@ -1797,15 +1806,7 @@ void MenuFactory::create_plate_menu() append_menu_item(menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models [](wxCommandEvent&) { plater()->add_file(); }, "menu_add_part", menu, []() {return wxGetApp().plater()->can_add_model(); }, m_parent); -#else - append_submenu(menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "", - []() {return true; }, m_parent); - append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "", - []() {return true; }, m_parent); - append_menu_item(menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models - [](wxCommandEvent&) { plater()->add_file(); }, "", menu, - []() {return wxGetApp().plater()->can_add_model(); }, m_parent); -#endif + append_menu_item_replace_all_with_stl(menu); @@ -2083,13 +2084,8 @@ wxMenu* MenuFactory::assemble_part_menu() void MenuFactory::append_menu_item_clone(wxMenu* menu) { -#ifdef __APPLE__ - static const wxString ctrl = ("Ctrl+"); -#else - // FIXME: maybe should be using GUI::shortkey_ctrl_prefix() or equivalent? - static const wxString ctrl = _L("Ctrl+"); -#endif - append_menu_item(menu, wxID_ANY, _L("Clone") + "\t" + ctrl + "K", "", + const std::string accel = wxGetApp().shortcuts().accelerator(Shortcut::CloneSelected); + append_menu_item(menu, wxID_ANY, _L("Clone") + (accel.empty() ? wxString() : "\t" + from_u8(accel)), "", [](wxCommandEvent&) { plater()->clone_selection(); }, "", nullptr, diff --git a/src/slic3r/GUI/GUI_Factories.hpp b/src/slic3r/GUI/GUI_Factories.hpp index f80ef85d53..ec7b0a0b03 100644 --- a/src/slic3r/GUI/GUI_Factories.hpp +++ b/src/slic3r/GUI/GUI_Factories.hpp @@ -4,6 +4,7 @@ #include <map> #include <vector> #include <array> +#include <cstddef> #include <wx/bitmap.h> @@ -51,6 +52,23 @@ public: static std::vector<wxBitmap> get_text_volume_bitmaps(); static std::vector<wxBitmap> get_svg_volume_bitmaps(); + // Orca: handy models shipped under <resources>/handy_models. The menu and the command palette + // share this table so the model list and its per-model behavior live in one place. + struct HandyModel + { + const char* key; + const char* label; + std::vector<std::string> file_names; + bool arrange_after_import = false; + bool is_stringhell = false; + }; + static const std::vector<HandyModel>& handy_models(); + static void load_handy_model(std::size_t index); + + // Add a Text/SVG volume through the Emboss/SVG gizmo. Shared by the add menu and the palette. + static void add_text_volume(ModelVolumeType type); + static void add_svg_volume(ModelVolumeType type); + MenuFactory(); ~MenuFactory() = default; diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 8067afd8df..5220e026c7 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -1,14 +1,17 @@ #include "libslic3r/libslic3r.h" #include "libslic3r/PresetBundle.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include "GUI_ObjectList.hpp" #include "GUI_Factories.hpp" //#include "GUI_ObjectLayers.hpp" #include "GUI_App.hpp" +#include "Shortcuts.hpp" #include "I18N.hpp" #include "Plater.hpp" #include "BitmapComboBox.hpp" #include "MainFrame.hpp" #include "slic3r/Utils/UndoRedo.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "OptionsGroup.hpp" #include "Tab.hpp" @@ -245,56 +248,15 @@ ObjectList::ObjectList(wxWindow* parent) : // Key events are not correctly processed by the wxDataViewCtrl on OSX. // Our patched wxWidgets process the keyboard accelerators. // On the other hand, using accelerators will break in-place editing on Windows & Linux/GTK (there is no in-place editing working on OSX for wxDataViewCtrl for now). -// Bind(wxEVT_KEY_DOWN, &ObjectList::OnChar, this); - { - // Accelerators - // wxAcceleratorEntry entries[25]; - wxAcceleratorEntry entries[26]; - int index = 0; - entries[index++].Set(wxACCEL_CTRL, (int)'C', wxID_COPY); - entries[index++].Set(wxACCEL_CTRL, (int)'X', wxID_CUT); - entries[index++].Set(wxACCEL_CTRL, (int)'V', wxID_PASTE); - entries[index++].Set(wxACCEL_CTRL, (int)'M', wxID_DUPLICATE); - entries[index++].Set(wxACCEL_CTRL, (int)'A', wxID_SELECTALL); - entries[index++].Set(wxACCEL_CTRL, (int)'Z', wxID_UNDO); - entries[index++].Set(wxACCEL_CTRL, (int)'Y', wxID_REDO); - entries[index++].Set(wxACCEL_NORMAL, WXK_BACK, wxID_DELETE); - //entries[index++].Set(wxACCEL_NORMAL, int('+'), wxID_ADD); - //entries[index++].Set(wxACCEL_NORMAL, WXK_NUMPAD_ADD, wxID_ADD); - //entries[index++].Set(wxACCEL_NORMAL, int('-'), wxID_REMOVE); - //entries[index++].Set(wxACCEL_NORMAL, WXK_NUMPAD_SUBTRACT, wxID_REMOVE); - //entries[index++].Set(wxACCEL_NORMAL, int('p'), wxID_PRINT); - - int numbers_cnt = 0; - for (auto char_number : { '1', '2', '3', '4', '5', '6', '7', '8', '9' }) { - entries[index + numbers_cnt].Set(wxACCEL_NORMAL, int(char_number), wxID_LAST + numbers_cnt+1); - entries[index + 9 + numbers_cnt].Set(wxACCEL_NORMAL, WXK_NUMPAD0 + numbers_cnt - 1, wxID_LAST + numbers_cnt+1); - numbers_cnt++; - // index++; - } - wxAcceleratorTable accel(26, entries); - SetAcceleratorTable(accel); - - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->copy(); }, wxID_COPY); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->paste(); }, wxID_PASTE); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->select_item_all_children(); }, wxID_SELECTALL); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->remove(); }, wxID_DELETE); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->undo(); }, wxID_UNDO); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->redo(); }, wxID_REDO); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->cut(); }, wxID_CUT); - this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->clone(); }, wxID_DUPLICATE); - //this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->increase_instances(); }, wxID_ADD); - //this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->decrease_instances(); }, wxID_REMOVE); - //this->Bind(wxEVT_MENU, [this](wxCommandEvent &evt) { this->toggle_printable_state(); }, wxID_PRINT); - - for (int i = 1; i < 10; i++) - this->Bind(wxEVT_MENU, [this, i](wxCommandEvent &evt) { - if (filaments_count() > 1 && i <= filaments_count()) - this->set_extruder_for_selected_items(i); - }, wxID_LAST+i); - - m_accel = accel; - } + m_shortcut_id_base = wxWindow::NewControlId(int(Shortcut::Count)); + for (size_t i = 0; i < size_t(Shortcut::Count); ++i) + this->Bind(wxEVT_MENU, [this, shortcut = Shortcut(i)](wxCommandEvent&) { dispatch_shortcut(shortcut); }, m_shortcut_id_base + int(i)); + for (int i = 1; i < 10; i++) + this->Bind(wxEVT_MENU, [this, i](wxCommandEvent &evt) { + if (filaments_count() > 1 && i <= filaments_count()) + this->set_extruder_for_selected_items(i); + }, wxID_LAST+i); + update_shortcut_accelerators(); #else //__WXOSX__ Bind(wxEVT_CHAR, [this](wxKeyEvent& event) { key_event(event); }); // doesn't work on OSX #endif @@ -1199,17 +1161,39 @@ void ObjectList::update_name_in_model(const wxDataViewItem& item) const if (m_objects_model->GetItemType(item) & itObject) { std::string name = m_objects_model->GetName(item).ToUTF8().data(); if (obj->name != name) { + const std::string previous_name = obj->name; obj->name = name; // if object has just one volume, rename this volume too if (obj->volumes.size() == 1) obj->volumes[0]->name = obj->name; Slic3r::save_object_mesh(*obj); + + LifecycleEventContext ctx; + ctx.name = name; + ctx.previous_name = previous_name; + ctx.id = std::to_string(obj->id().id); + ctx.index = obj_idx; + ctx.source = "object"; + fire_lifecycle_event(LifecycleEvent::ObjectRenamed, ctx); } return; } if (volume_id < 0) return; - obj->volumes[volume_id]->name = m_objects_model->GetName(item).ToUTF8().data(); + std::string name = m_objects_model->GetName(item).ToUTF8().data(); + if (obj->volumes[volume_id]->name == name) + return; + + const std::string previous_name = obj->volumes[volume_id]->name; + obj->volumes[volume_id]->name = name; + + LifecycleEventContext ctx; + ctx.name = name; + ctx.previous_name = previous_name; + ctx.id = std::to_string(obj->volumes[volume_id]->id().id); + ctx.index = volume_id; + ctx.source = "volume"; + fire_lifecycle_event(LifecycleEvent::ObjectRenamed, ctx); } void ObjectList::update_name_in_list(int obj_idx, int vol_idx) const @@ -1796,36 +1780,10 @@ void ObjectList::decrease_instances() #ifndef __WXOSX__ void ObjectList::key_event(wxKeyEvent& event) { - //if (event.GetKeyCode() == WXK_TAB) - // Navigate(event.ShiftDown() ? wxNavigationKeyEvent::IsBackward : wxNavigationKeyEvent::IsForward); - //else - if (event.GetKeyCode() == WXK_DELETE /*|| event.GetKeyCode() == WXK_BACK*/ ) - remove(); - //else if (event.GetKeyCode() == WXK_F5) - // wxGetApp().plater()->reload_all_from_disk(); - else if (wxGetKeyState(wxKeyCode('A')) && wxGetKeyState(WXK_CONTROL/*WXK_SHIFT*/)) - select_item_all_children(); - else if (wxGetKeyState(wxKeyCode('C')) && wxGetKeyState(WXK_CONTROL)) - copy(); - else if (wxGetKeyState(wxKeyCode('V')) && wxGetKeyState(WXK_CONTROL)) - paste(); - else if (wxGetKeyState(wxKeyCode('Y')) && wxGetKeyState(WXK_CONTROL)) - redo(); - else if (wxGetKeyState(wxKeyCode('Z')) && wxGetKeyState(WXK_CONTROL)) - undo(); - else if (wxGetKeyState(wxKeyCode('X')) && wxGetKeyState(WXK_CONTROL)) - cut(); - else if (wxGetKeyState(wxKeyCode('K')) && wxGetKeyState(WXK_CONTROL)) - clone(); - else if (event.GetUnicodeKey() == '+') - increase_instances(); - else if (event.GetUnicodeKey() == '-') - decrease_instances(); - else if (event.GetUnicodeKey() == 'p') - toggle_printable_state(); - else if (event.GetUnicodeKey() == 'd') - toggle_auto_drop(); - else if (filaments_count() > 1) { + const std::optional<Shortcut> shortcut = wxGetApp().shortcuts().lookup(ShortcutContext::ObjectList, KeyChord::from_event(event)); + if (shortcut.has_value() && dispatch_shortcut(*shortcut)) + return; + if (filaments_count() > 1) { std::vector<wxChar> numbers = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; wxChar key_char = event.GetUnicodeKey(); if (std::find(numbers.begin(), numbers.end(), key_char) != numbers.end()) { @@ -1842,6 +1800,43 @@ void ObjectList::key_event(wxKeyEvent& event) } #endif /* __WXOSX__ */ +#ifdef __WXOSX__ +void ObjectList::update_shortcut_accelerators() +{ + std::vector<wxAcceleratorEntry> entries; + const ShortcutRegistry& shortcuts = wxGetApp().shortcuts(); + for (Shortcut shortcut : shortcuts_in(ShortcutContext::ObjectList)) + if (const KeyChord chord = shortcuts.binding(shortcut); chord.valid()) + entries.push_back(chord.to_accelerator_entry(m_shortcut_id_base + int(shortcut))); + for (int i = 1; i < 10; ++i) { + entries.emplace_back(wxACCEL_NORMAL, '0' + i, wxID_LAST + i); + entries.emplace_back(wxACCEL_NORMAL, WXK_NUMPAD0 + i, wxID_LAST + i); + } + m_accel = wxAcceleratorTable(int(entries.size()), entries.data()); + SetAcceleratorTable(m_accel); +} +#endif /* __WXOSX__ */ + +bool ObjectList::dispatch_shortcut(Shortcut shortcut) +{ + switch (shortcut) { + case Shortcut::DeleteSelected: remove(); break; + case Shortcut::SelectAll: select_item_all_children(); break; + case Shortcut::Copy: copy(); break; + case Shortcut::Paste: paste(); break; + case Shortcut::Cut: cut(); break; + case Shortcut::Undo: undo(); break; + case Shortcut::Redo: redo(); break; + case Shortcut::CloneSelected: clone(); break; + case Shortcut::AddInstance: increase_instances(); break; + case Shortcut::RemoveInstance: decrease_instances(); break; + case Shortcut::TogglePrintable: toggle_printable_state(); break; + case Shortcut::ToggleAutoDrop: toggle_auto_drop(); break; + default: return false; + } + return true; +} + void ObjectList::OnBeginDrag(wxDataViewEvent &event) { const bool mult_sel = multiple_selection(); @@ -3548,7 +3543,14 @@ void ObjectList::delete_all_connectors_for_object(int obj_idx) obj->delete_connectors(); if (obj->volumes.empty() || !obj->has_solid_mesh()) { + const std::string deleted_obj_name = obj->name; model.delete_object(idx); + { + Slic3r::LifecycleEventContext ctx; + ctx.name = deleted_obj_name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectDeleted, ctx); + } m_objects_model->Delete(m_objects_model->GetItemById(idx)); continue; } @@ -4117,6 +4119,13 @@ void ObjectList::add_object_to_list(size_t obj_idx, bool call_selection_changed, const auto item = m_objects_model->AddObject(model_object, warning_bitmap, model_object->is_cut()); Expand(m_objects_model->GetParent(item)); + { + Slic3r::LifecycleEventContext ctx; + ctx.name = model_object->name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectAdded, ctx); + } + if (!do_info_update) return; diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index cab78b6adc..5705aa2c8b 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -40,6 +40,9 @@ typedef std::map<t_layer_height_range, ModelConfig> t_layer_config_ranges; #define FIX_THROUGH_CGAL_ALWAYS 1 namespace GUI { + +enum class Shortcut : uint8_t; + struct ObjectVolumeID { ModelObject* object{ nullptr }; ModelVolume* volume{ nullptr }; @@ -270,7 +273,11 @@ public: void extruder_editing(); #ifndef __WXOSX__ void key_event(wxKeyEvent& event); +#else + // wxDataViewCtrl never sees key events on macOS, so the bindings are installed as accelerators. + void update_shortcut_accelerators(); #endif /* __WXOSX__ */ + bool dispatch_shortcut(Shortcut shortcut); void copy(); void paste(); @@ -482,8 +489,8 @@ public: private: #ifdef __WXOSX__ -// void OnChar(wxKeyEvent& event); wxAcceleratorTable m_accel; + wxWindowID m_shortcut_id_base; #endif /* __WXOSX__ */ void OnContextMenu(wxDataViewEvent &event); void list_manipulation(const wxPoint& mouse_pos, bool evt_context_menu = false); diff --git a/src/slic3r/GUI/GUI_ObjectTable.cpp b/src/slic3r/GUI/GUI_ObjectTable.cpp index 35508c6113..c3c3295800 100644 --- a/src/slic3r/GUI/GUI_ObjectTable.cpp +++ b/src/slic3r/GUI/GUI_ObjectTable.cpp @@ -2578,7 +2578,7 @@ void ObjectGridTable::OnSelectCell(int row, int col) return; m_panel->m_side_window->Freeze(); if (row == 0 || col == col_filaments) { - m_panel->m_object_settings->UpdateAndShow(row, false, false, false, nullptr, nullptr, std::string()); + m_panel->m_object_settings->UpdateAndShowRow(row, false, false, false, nullptr, nullptr, std::string()); } else { ObjectGridRow* grid_row = m_grid_data[row - 1]; @@ -2588,7 +2588,7 @@ void ObjectGridTable::OnSelectCell(int row, int col) //m_panel->m_object_settings->get_og()->set_name(GUI::from_u8(grid_row->name.value)); //m_panel->m_page_text->SetLabel(GUI::from_u8(grid_row->name.value)); - m_panel->m_object_settings->UpdateAndShow(row, true, is_object, false, object, grid_row->config, grid_col->category); + m_panel->m_object_settings->UpdateAndShowRow(row, true, is_object, false, object, grid_row->config, grid_col->category); std::vector<ObjectVolumeID> object_volume_ids; ObjectVolumeID object_volume_id; @@ -2764,12 +2764,12 @@ ObjectTablePanel::ObjectTablePanel( wxWindow* parent, wxWindowID id, const wxPoi //m_object_grid->AssignTable(m_object_grid_table); m_side_window = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(440),FromDIP(480)), wxVSCROLL); - m_side_window->SetScrollRate( 0, 5 ); + m_side_window->SetScrollRate(0, FromDIP(20)); m_page_sizer = new wxBoxSizer(wxVERTICAL); //m_page_top_sizer = new wxBoxSizer(wxHORIZONTAL); m_side_window->SetBackgroundColour(wxColour(0xff, 0xff, 0xff)); m_side_window->SetSizer(m_page_sizer); - m_side_window->SetScrollbars(1, 20, 1, 2); + m_side_window->SetScrollbars(1, FromDIP(20), 1, 2); //m_side_window->ShowScrollbars(wxSHOW_SB_NEVER, wxSHOW_SB_NEVER); //m_side_window->EnableScrolling(false, true); diff --git a/src/slic3r/GUI/GUI_ObjectTable.hpp b/src/slic3r/GUI/GUI_ObjectTable.hpp index a5a0059e1b..0fbd432e02 100644 --- a/src/slic3r/GUI/GUI_ObjectTable.hpp +++ b/src/slic3r/GUI/GUI_ObjectTable.hpp @@ -591,16 +591,11 @@ private: wxColour m_hover_colour; wxBoxSizer* m_top_sizer{nullptr}; wxBoxSizer* m_page_sizer{nullptr}; - wxBoxSizer* m_page_top_sizer{nullptr}; - wxTextCtrl* m_search_line{ nullptr }; ObjectGrid* m_object_grid{nullptr}; ObjectGridTable* m_object_grid_table{nullptr}; - wxStaticText* m_page_text{nullptr}; - ScalableButton* m_global_reset{nullptr}; wxScrolledWindow* m_side_window{nullptr}; ObjectTableSettings* m_object_settings{ nullptr }; Model* m_model{nullptr}; - ModelConfig* m_config {nullptr}; Plater* m_plater{nullptr}; int m_cur_row { -1 }; @@ -625,8 +620,6 @@ class ObjectTableDialog : public GUI::DPIDialog const int POPUP_HEIGHT = FromDIP(1024); //wxPanel* m_panel{ nullptr }; - wxBoxSizer* m_top_sizer{ nullptr }; - wxStaticText* m_static_title{ nullptr }; //wxTimer* m_refresh_timer; ObjectTablePanel* m_obj_panel{ nullptr }; Model* m_model{ nullptr }; diff --git a/src/slic3r/GUI/GUI_ObjectTableSettings.cpp b/src/slic3r/GUI/GUI_ObjectTableSettings.cpp index 2290018419..4cd272840f 100644 --- a/src/slic3r/GUI/GUI_ObjectTableSettings.cpp +++ b/src/slic3r/GUI/GUI_ObjectTableSettings.cpp @@ -463,7 +463,7 @@ void ObjectTableSettings::update_config_values(bool is_object, ModelObject* obje m_table->reload_cell_data(m_current_row, category); } -void ObjectTableSettings::UpdateAndShow(int row, const bool show, bool is_object, bool is_multiple_selection, ModelObject* object, ModelConfig* config, const std::string& category) +void ObjectTableSettings::UpdateAndShowRow(int row, const bool show, bool is_object, bool is_multiple_selection, ModelObject* object, ModelConfig* config, const std::string& category) { m_current_row = row; m_current_category = category; diff --git a/src/slic3r/GUI/GUI_ObjectTableSettings.hpp b/src/slic3r/GUI/GUI_ObjectTableSettings.hpp index 39e7e514e2..24e3d427a9 100644 --- a/src/slic3r/GUI/GUI_ObjectTableSettings.hpp +++ b/src/slic3r/GUI/GUI_ObjectTableSettings.hpp @@ -71,7 +71,7 @@ public: //return visible count int update_extra_column_visible_status(ConfigOptionsGroup* option_group, const std::vector<SimpleSettingData>& option_keys, ModelConfig* config); void update_config_values(bool is_object, ModelObject* object, ModelConfig* config, const std::string& category, const std::string& changed_opt_key = ""); - void UpdateAndShow(int row, const bool show, bool is_object, bool is_multiple_selection, ModelObject* object, ModelConfig* config, const std::string& category); + void UpdateAndShowRow(int row, const bool show, bool is_object, bool is_multiple_selection, ModelObject* object, ModelConfig* config, const std::string& category); void ValueChanged(int row, bool is_object, ModelObject* object, ModelConfig* config, const std::string& category, const std::string& key); void resetAllValues(int row, bool is_object, ModelObject* object, ModelConfig* config, const std::string& category); void msw_rescale(); diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index ea3ae5d21d..2c44202876 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -280,8 +280,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Model* model) m_canvas->enable_assemble_view_toolbar(false); // sizer, m_canvas_widget - m_canvas_widget->Bind(wxEVT_KEY_DOWN, &Preview::update_layers_slider_from_canvas, this); - wxBoxSizer *main_sizer = new wxBoxSizer(wxVERTICAL); main_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0); @@ -505,28 +503,6 @@ void Preview::update_layers_slider_mode() m_layers_slider->SetModeAndOnlyExtruder(one_extruder_printed_model, only_extruder, can_change_color); } -void Preview::update_layers_slider_from_canvas(wxKeyEvent &event) -{ - if (event.HasModifiers()) { - event.Skip(); - return; - } - - const auto key = event.GetKeyCode(); - - IMSlider *m_layers_slider = m_canvas->get_gcode_viewer().get_layers_slider(); - IMSlider *m_moves_slider = m_canvas->get_gcode_viewer().get_moves_slider(); - if (key == 'L') { - if(!m_layers_slider->switch_one_layer_mode()) - event.Skip(); - m_canvas->set_as_dirty(); - } - /*else if (key == WXK_SHIFT) - m_layers_slider->UseDefaultColors(false);*/ - else - event.Skip(); -} - void Preview::update_layers_slider(const std::vector<double>& layers_z, bool keep_z_range) { IMSlider *m_layers_slider = m_canvas->get_gcode_viewer().get_layers_slider(); diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp index 5469e32b71..fdfe364fb8 100644 --- a/src/slic3r/GUI/GUI_Preview.hpp +++ b/src/slic3r/GUI/GUI_Preview.hpp @@ -171,7 +171,6 @@ private: void update_layers_slider(const std::vector<double>& layers_z, bool keep_z_range = false); void update_layers_slider_mode(); - void update_layers_slider_from_canvas(wxKeyEvent &event); //BBS: add only gcode mode void load_print_as_fff(bool keep_z_range = false, bool only_gcode = false); }; diff --git a/src/slic3r/GUI/GUI_Utils.cpp b/src/slic3r/GUI/GUI_Utils.cpp index cb8ba45c6b..5c55e341c9 100644 --- a/src/slic3r/GUI/GUI_Utils.cpp +++ b/src/slic3r/GUI/GUI_Utils.cpp @@ -69,6 +69,8 @@ CopyFileResult copy_file_gui(const std::string &from, const std::string &to, std HANDLE handlesrc = nullptr; HANDLE handledst = nullptr; CopyFileResult ret = SUCCESS; + DWORD size = 0; + DWORD dwRead = 0, dwWrite = 0; handlesrc = CreateFile(src.wc_str(), GENERIC_READ, @@ -96,13 +98,12 @@ CopyFileResult copy_file_gui(const std::string &from, const std::string &to, std goto __finished; } - DWORD size=GetFileSize(handlesrc,NULL); + size = GetFileSize(handlesrc,NULL); buff = new char[size+1]; - DWORD dwRead=0,dwWrite; result = ReadFile(handlesrc, buff, size, &dwRead, NULL); if (!result) { DWORD errCode = GetLastError(); - error_message = "Error: " + errCode; + error_message = "Error: " + std::to_string(errCode); ret = FAIL_COPY_FILE; goto __finished; } @@ -110,7 +111,7 @@ CopyFileResult copy_file_gui(const std::string &from, const std::string &to, std result = WriteFile(handledst,buff,size,&dwWrite,NULL); if (!result) { DWORD errCode = GetLastError(); - error_message = "Error: " + errCode; + error_message = "Error: " + std::to_string(errCode); ret = FAIL_COPY_FILE; goto __finished; } @@ -246,7 +247,9 @@ int get_dpi_for_window(const wxWindow *window) const HDC hdc = GetDC(hwnd); if (hdc == NULL) { return DPI_DEFAULT; } - return GetDeviceCaps(hdc, LOGPIXELSX); + const int dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(hwnd, hdc); // GetDC's handle must be released, unlike GetWindowDC's + return dpi; } #elif defined __linux__ // TODO diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp index 85790516ee..dae0305f1d 100644 --- a/src/slic3r/GUI/GUI_Utils.hpp +++ b/src/slic3r/GUI/GUI_Utils.hpp @@ -478,6 +478,8 @@ int get_dpi_for_window(const wxWindow *window); #ifdef __WXOSX__ void dataview_remove_insets(wxDataViewCtrl* dv); void staticbox_remove_margin(wxStaticBox* sb); +// Clip a top-level window (and its webview) to a rounded rect with a native layer. +void set_window_corner_radius(wxWindow* win, int radius); #endif #ifdef __WXGTK__ diff --git a/src/slic3r/GUI/GUI_UtilsMac.mm b/src/slic3r/GUI/GUI_UtilsMac.mm index 01501f6265..453229e429 100644 --- a/src/slic3r/GUI/GUI_UtilsMac.mm +++ b/src/slic3r/GUI/GUI_UtilsMac.mm @@ -1,5 +1,6 @@ #include <unistd.h> #include <sys/sysctl.h> +#import <Cocoa/Cocoa.h> #import <wx/osx/cocoa/dataview.h> #import "GUI_Utils.hpp" @@ -21,6 +22,22 @@ void staticbox_remove_margin(wxStaticBox* sb) { [nativeBox setBorderWidth:0]; } +// wxOSX SetShape only clears the window background; it cannot clip to a region. Clipping the +// window's view layer to a rounded rect is what actually rounds the opaque webview inside. +void set_window_corner_radius(wxWindow* win, int radius) { + if (!win) + return; + NSView* view = (NSView*)win->GetHandle(); + if (!view) + return; + NSWindow* window = [view window]; + [window setOpaque:NO]; + [window setBackgroundColor:[NSColor clearColor]]; + [view setWantsLayer:YES]; + [[view layer] setCornerRadius:radius]; + [[view layer] setMasksToBounds:YES]; +} + bool is_debugger_present() // Returns true if the current process is being debugged (either // running under the debugger or has a debugger attached post facto). diff --git a/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp index 012e62b2bc..09bb92dddf 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp @@ -1,5 +1,7 @@ // Include GLGizmoBase.hpp before I18N.hpp as it includes some libigl code, which overrides our localization "L" macro. #include "GLGizmoAdvancedCut.hpp" +#include "slic3r/GUI/Widgets/ProgressDialog.hpp" +#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include <glad/gl.h> @@ -352,7 +354,6 @@ bool GLGizmoAdvancedCut::on_init() if (!GLGizmoRotate3D::on_init()) return false; - m_shortcut_key = WXK_CONTROL_C; // initiate info shortcuts const wxString ctrl = GUI::shortkey_ctrl_prefix(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp index b1b163ed9d..9560078cb2 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoAssembly.cpp @@ -1,6 +1,7 @@ #include "GLGizmoAssembly.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" #include "slic3r/Utils/UndoRedo.hpp" @@ -46,7 +47,7 @@ bool GLGizmoAssembly::on_init() { GLGizmoMeasure::on_init(); - m_shortcut_key = WXK_CONTROL_Y; + m_shortcut = Shortcut::GizmoAssembly; return true; } @@ -69,6 +70,7 @@ bool GLGizmoAssembly::on_is_activable() const void GLGizmoAssembly::on_render_input_window(float x, float y, float bottom_limit) { + render_dimensioning_if_scene_reused(); static std::optional<Measure::SurfaceFeature> last_feature; static EMode last_mode = EMode::FeatureSelection; static SelectedFeatures last_selected_features; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBase.cpp b/src/slic3r/GUI/Gizmos/GLGizmoBase.cpp index 1aaac99d40..6ff2c8213d 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBase.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBase.cpp @@ -4,6 +4,7 @@ #include <glad/gl.h> #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/GUI_Colors.hpp" @@ -299,7 +300,6 @@ GLGizmoBase::GLGizmoBase(GLCanvas3D &parent, const std::string &icon_filename, u : m_parent(parent) , m_group_id(-1) , m_state(Off) - , m_shortcut_key(NO_SHORTCUT_KEY_VALUE) , m_icon_filename(icon_filename) , m_sprite_id(sprite_id) , m_imgui(wxGetApp().imgui()) @@ -515,11 +515,8 @@ void GLGizmoBase::render_input_window(float x, float y, float bottom_limit) std::string GLGizmoBase::get_name(bool include_shortcut) const { - int key = get_shortcut_key(); - std::string out = on_get_name(); - if (include_shortcut && key >= WXK_CONTROL_A && key <= WXK_CONTROL_Z) - out += std::string(" [") + char(int('A') + key - int(WXK_CONTROL_A)) + "]"; - return out; + const std::string name = on_get_name(); + return include_shortcut && m_shortcut.has_value() ? wxGetApp().shortcuts().with_key(name, *m_shortcut) : name; } } // namespace GUI diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp index 73e0484977..47e8f832a6 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp @@ -11,6 +11,7 @@ #include "slic3r/GUI/3DScene.hpp" #include <cereal/archives/binary.hpp> +#include <optional> #include <wx/event.h> @@ -29,6 +30,7 @@ namespace GUI { class ImGuiWrapper; +enum class Shortcut : uint8_t; class GLCanvas3D; enum class CommonGizmosDataID; class CommonGizmosDataPool; @@ -72,9 +74,6 @@ public: NegZ = 1 << 5, }; - // Represents NO key(button on keyboard) value - static const int NO_SHORTCUT_KEY_VALUE = 0; - protected: struct Grabber { @@ -138,7 +137,7 @@ protected: int m_group_id; // TODO: remove only for rotate EState m_state; - int m_shortcut_key; + std::optional<Shortcut> m_shortcut; // the registry entry that opens this gizmo std::string m_icon_filename; unsigned int m_sprite_id; int m_hover_id{ -1 }; @@ -169,7 +168,7 @@ public: EState get_state() const { return m_state; } void set_state(EState state) { m_state = state; on_set_state(); } - int get_shortcut_key() const { return m_shortcut_key; } + std::optional<Shortcut> shortcut() const { return m_shortcut; } const std::string& get_icon_filename() const { return m_icon_filename; } @@ -179,6 +178,8 @@ public: bool is_selectable() const { return on_is_selectable(); } CommonGizmosDataID get_requirements() const { return on_get_requirements(); } virtual bool wants_enter_leave_snapshots() const { return false; } + // True when what on_render() draws would change if the cursor moved. + virtual bool render_follows_cursor() const { return false; } virtual std::string get_gizmo_entering_text() const { assert(false); return ""; } virtual std::string get_gizmo_leaving_text() const { assert(false); return ""; } virtual std::string get_action_snapshot_name() const; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp index 709e7b5b21..750e5fe6cb 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.cpp @@ -1,9 +1,11 @@ #include "GLGizmoBrimEars.hpp" #include <glad/gl.h> #include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/Camera.hpp" #include "slic3r/GUI/Gizmos/GLGizmosCommon.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ExPolygon.hpp" @@ -45,7 +47,7 @@ bool GLGizmoBrimEars::on_init() { m_new_point_head_radius = get_brim_default_radius(); - m_shortcut_key = WXK_CONTROL_E; + m_shortcut = Shortcut::GizmoBrimEars; const wxString ctrl = GUI::shortkey_ctrl_prefix(); const wxString alt = GUI::shortkey_alt_prefix(); @@ -342,7 +344,7 @@ bool GLGizmoBrimEars::on_mouse(const wxMouseEvent& mouse_event) // concludes that the event was not intended for it, it should return false. bool GLGizmoBrimEars::gizmo_event(SLAGizmoEventType action, const Vec2d &mouse_position, bool shift_down, bool alt_down, bool control_down) { - if (action != SLAGizmoEventType::MouseWheelDown || action != SLAGizmoEventType::MouseWheelUp || action != SLAGizmoEventType::Moving) { + if (action != SLAGizmoEventType::MouseWheelDown && action != SLAGizmoEventType::MouseWheelUp && action != SLAGizmoEventType::Moving) { apply_radius_change(); } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.hpp b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.hpp index cd3bc53cbd..075fb37b21 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBrimEars.hpp @@ -167,6 +167,8 @@ protected: std::string on_get_name() const override; bool on_is_activable() const override; + // The preview ear is drawn only while the cursor is on the model. + bool render_follows_cursor() const override { return render_hover_point.has_value(); } //bool on_is_selectable() const override; virtual CommonGizmosDataID on_get_requirements() const override; void on_load(cereal::BinaryInputArchive& ar) override; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index 273bb94b90..2100b1fca7 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -6,6 +6,7 @@ #include <algorithm> #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" #include "slic3r/GUI/format.hpp" @@ -1310,7 +1311,7 @@ void GLGizmoCut3D::render_cut_line() bool GLGizmoCut3D::on_init() { m_grabbers.emplace_back(); - m_shortcut_key = WXK_CONTROL_C; + m_shortcut = Shortcut::GizmoCut; // initiate info shortcuts const wxString ctrl = GUI::shortkey_ctrl_prefix(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.hpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.hpp index e6cbb7d0ef..109e0fe5bc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.hpp @@ -94,7 +94,6 @@ class GLGizmoCut3D : public GLGizmoBase GLModel m_reference_radius; GLModel m_angle_arc; - Vec3d m_old_center; Vec3d m_cut_normal; struct InvalidConnectorsStatistics diff --git a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp index ecf465afe7..1009a6e89b 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp @@ -1,6 +1,7 @@ #include "GLGizmoEmboss.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" #include "slic3r/GUI/MainFrame.hpp" // to update title when add text @@ -727,7 +728,7 @@ bool GLGizmoEmboss::on_init() m_rotate_gizmo.set_highlight_color(gray_color); // NOTE: It has special handling in GLGizmosManager::handle_shortcut - m_shortcut_key = WXK_CONTROL_T; + m_shortcut = Shortcut::GizmoEmboss; m_shortcuts = { {_L("Drag"), _L("Position on surface")} diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp index f190e1ad97..06d69c3e82 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp @@ -8,6 +8,7 @@ //#include "slic3r/GUI/3DScene.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" @@ -78,7 +79,7 @@ std::string GLGizmoFdmSupports::on_get_name() const bool GLGizmoFdmSupports::on_init() { // BBS - m_shortcut_key = WXK_CONTROL_L; + m_shortcut = Shortcut::GizmoFdmSupports; m_desc["perform"] = _L("Apply"); m_desc["on_overhangs_only"] = _L("On highlighted overhangs only"); @@ -122,7 +123,7 @@ bool GLGizmoFdmSupports::on_init() {ctrl + _L("Mouse wheel"), _L("Gap area")} }; - memset(&m_print_instance, 0, sizeof(m_print_instance)); + m_print_instance = PrintInstance(); return true; } @@ -149,25 +150,14 @@ void GLGizmoFdmSupports::render_painter_gizmo() glsafe(::glDisable(GL_BLEND)); } -// BBS -bool GLGizmoFdmSupports::on_key_down_select_tool_type(int keyCode) { - switch (keyCode) - { - case 'F': - m_current_tool = ImGui::FillButtonIcon; - break; - case 'S': - m_current_tool = ImGui::SphereButtonIcon; - break; - case 'C': - m_current_tool = ImGui::CircleButtonIcon; - break; - case 'G': - m_current_tool = ImGui::GapFillIcon; - break; - default: - return false; - break; +bool GLGizmoFdmSupports::on_tool_shortcut(Shortcut shortcut) +{ + switch (shortcut) { + case Shortcut::PaintToolFill: m_current_tool = ImGui::FillButtonIcon; break; + case Shortcut::PaintToolSphere: m_current_tool = ImGui::SphereButtonIcon; break; + case Shortcut::PaintToolCircle: m_current_tool = ImGui::CircleButtonIcon; break; + case Shortcut::PaintToolGapFill: m_current_tool = ImGui::GapFillIcon; break; + default: return false; } return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.hpp b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.hpp index 57a6cc1981..d282a06b65 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.hpp @@ -26,8 +26,7 @@ public: state_ready }; - //BBS - bool on_key_down_select_tool_type(int keyCode); + bool on_tool_shortcut(Shortcut shortcut) override; protected: void on_render_input_window(float x, float y, float bottom_limit) override; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp index a040d96bd5..54dbd96ba7 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp @@ -1,10 +1,11 @@ #include "GLGizmoFlatten.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Gizmos/GLGizmosCommon.hpp" -#include "libslic3r/Geometry/ConvexHull.hpp" +#include "libslic3r/LayOnFace.hpp" #include "libslic3r/Model.hpp" #include <numeric> @@ -45,16 +46,16 @@ void GLGizmoFlatten::data_changed(bool is_serializing) const ModelObject *model_object = nullptr; int instance_id = -1; if (selection.is_single_full_instance() || - selection.is_from_single_object() ) { + selection.is_from_single_object() ) { model_object = selection.get_model()->objects[selection.get_object_idx()]; instance_id = selection.get_instance_idx(); - } + } set_flattening_data(model_object, instance_id); } bool GLGizmoFlatten::on_init() { - m_shortcut_key = WXK_CONTROL_F; + m_shortcut = Shortcut::GizmoFlatten; return true; } @@ -86,7 +87,7 @@ void GLGizmoFlatten::on_render() GLShaderProgram* shader = wxGetApp().get_shader("flat"); if (shader == nullptr) return; - + shader->start_using(); glsafe(::glClear(GL_DEPTH_BUFFER_BIT)); @@ -152,134 +153,18 @@ void GLGizmoFlatten::set_flattening_data(const ModelObject* model_object, int in void GLGizmoFlatten::update_planes() { const ModelObject* mo = m_c->selection_info()->model_object(); - TriangleMesh ch; - for (const ModelVolume* vol : mo->volumes) { - if (vol->type() != ModelVolumeType::MODEL_PART) - continue; - TriangleMesh vol_ch = vol->get_convex_hull(); - vol_ch.transform(vol->get_matrix()); - ch.merge(vol_ch); - } - ch = ch.convex_hull_3d(); + const Transform3d &inst_matrix = mo->instances.front()->get_matrix_no_offset(); + // The candidate faces are shared with the CLI --ground-* options, the rest only prepares them for rendering. + std::vector<LayOnFacePlane> planes = lay_on_face_planes(*mo, inst_matrix); m_planes.clear(); on_unregister_raycasters_for_picking(); - const Transform3d &inst_matrix = mo->instances.front()->get_matrix_no_offset(); - // Following constants are used for discarding too small polygons. - const float minimal_area = 5.f; // in square mm (world coordinates) - const float minimal_side = 1.f; // mm - const float minimal_angle = 1.f; // degree, initial value was 10, but cause bugs + // We only keep the 254 largest planes (because of the picking pass limitations): + planes.resize(std::min((int)planes.size(), 254)); - // Now we'll go through all the facets and append Points of facets sharing the same normal. - // This part is still performed in mesh coordinate system. - const int num_of_facets = ch.facets_count(); - const std::vector<Vec3f> face_normals = its_face_normals(ch.its); - const std::vector<Vec3i32> face_neighbors = its_face_neighbors(ch.its); - std::vector<int> facet_queue(num_of_facets, 0); - std::vector<bool> facet_visited(num_of_facets, false); - int facet_queue_cnt = 0; - const stl_normal* normal_ptr = nullptr; - int facet_idx = 0; - while (1) { - // Find next unvisited triangle: - for (; facet_idx < num_of_facets; ++ facet_idx) - if (!facet_visited[facet_idx]) { - facet_queue[facet_queue_cnt ++] = facet_idx; - facet_visited[facet_idx] = true; - normal_ptr = &face_normals[facet_idx]; - m_planes.emplace_back(); - break; - } - if (facet_idx == num_of_facets) - break; // Everything was visited already - - while (facet_queue_cnt > 0) { - int facet_idx = facet_queue[-- facet_queue_cnt]; - const stl_normal& this_normal = face_normals[facet_idx]; - if (std::abs(this_normal(0) - (*normal_ptr)(0)) < 0.001 && std::abs(this_normal(1) - (*normal_ptr)(1)) < 0.001 && std::abs(this_normal(2) - (*normal_ptr)(2)) < 0.001) { - const Vec3i32 face = ch.its.indices[facet_idx]; - for (int j=0; j<3; ++j) - m_planes.back().vertices.emplace_back(ch.its.vertices[face[j]].cast<double>()); - - facet_visited[facet_idx] = true; - for (int j = 0; j < 3; ++ j) - if (int neighbor_idx = face_neighbors[facet_idx][j]; neighbor_idx >= 0 && ! facet_visited[neighbor_idx]) - facet_queue[facet_queue_cnt ++] = neighbor_idx; - } - } - m_planes.back().normal = normal_ptr->cast<double>(); - - Pointf3s& verts = m_planes.back().vertices; - // Now we'll transform all the points into world coordinates, so that the areas, angles and distances - // make real sense. - verts = transform(verts, inst_matrix); - - // if this is a just a very small triangle, remove it to speed up further calculations (it would be rejected later anyway): - if (verts.size() == 3 && - ((verts[0] - verts[1]).norm() < minimal_side - || (verts[0] - verts[2]).norm() < minimal_side - || (verts[1] - verts[2]).norm() < minimal_side)) - m_planes.pop_back(); - } - - // Let's prepare transformation of the normal vector from mesh to instance coordinates. - const Matrix3d normal_matrix = inst_matrix.matrix().block(0, 0, 3, 3).inverse().transpose(); - - // Now we'll go through all the polygons, transform the points into xy plane to process them: - for (unsigned int polygon_id=0; polygon_id < m_planes.size(); ++polygon_id) { - Pointf3s& polygon = m_planes[polygon_id].vertices; - const Vec3d& normal = m_planes[polygon_id].normal; - - // transform the normal according to the instance matrix: - const Vec3d normal_transformed = normal_matrix * normal; - - // We are going to rotate about z and y to flatten the plane - Eigen::Quaterniond q; - Transform3d m = Transform3d::Identity(); - m.matrix().block(0, 0, 3, 3) = q.setFromTwoVectors(normal_transformed, Vec3d::UnitZ()).toRotationMatrix(); - polygon = transform(polygon, m); - - // Now to remove the inner points. We'll misuse Geometry::convex_hull for that, but since - // it works in fixed point representation, we will rescale the polygon to avoid overflows. - // And yes, it is a nasty thing to do. Whoever has time is free to refactor. - Vec3d bb_size = BoundingBoxf3(polygon).size(); - float sf = std::min(1./bb_size(0), 1./bb_size(1)); - Transform3d tr = Geometry::scale_transform({ sf, sf, 1.f }); - polygon = transform(polygon, tr); - polygon = Slic3r::Geometry::convex_hull(polygon); - polygon = transform(polygon, tr.inverse()); - - // Calculate area of the polygons and discard ones that are too small - float& area = m_planes[polygon_id].area; - area = 0.f; - for (unsigned int i = 0; i < polygon.size(); i++) // Shoelace formula - area += polygon[i](0)*polygon[i + 1 < polygon.size() ? i + 1 : 0](1) - polygon[i + 1 < polygon.size() ? i + 1 : 0](0)*polygon[i](1); - area = 0.5f * std::abs(area); - - bool discard = false; - if (area < minimal_area) - discard = true; - else { - // We also check the inner angles and discard polygons with angles smaller than the following threshold - const double angle_threshold = ::cos(minimal_angle * (double)PI / 180.0); - - for (unsigned int i = 0; i < polygon.size(); ++i) { - const Vec3d& prec = polygon[(i == 0) ? polygon.size() - 1 : i - 1]; - const Vec3d& curr = polygon[i]; - const Vec3d& next = polygon[(i == polygon.size() - 1) ? 0 : i + 1]; - - if ((prec - curr).normalized().dot((next - curr).normalized()) > angle_threshold) { - discard = true; - break; - } - } - } - - if (discard) { - m_planes[polygon_id--] = std::move(m_planes.back()); - m_planes.pop_back(); - continue; - } + for (LayOnFacePlane& plane : planes) { + // The outline is convex and lies in the plane frame, where the plane is horizontal. + Pointf3s& polygon = plane.outline; // We will shrink the polygon a little bit so it does not touch the object edges: Vec3d centroid = std::accumulate(polygon.begin(), polygon.end(), Vec3d(0.0, 0.0, 0.0)); @@ -332,13 +217,12 @@ void GLGizmoFlatten::update_planes() b(2) += 0.1f; // Transform back to 3D (and also back to mesh coordinates) - polygon = transform(polygon, inst_matrix.inverse() * m.inverse()); + m_planes.emplace_back(); + m_planes.back().normal = plane.normal; + m_planes.back().area = plane.area; + m_planes.back().vertices = transform(polygon, inst_matrix.inverse() * plane.to_plane_frame.inverse()); } - // We'll sort the planes by area and only keep the 254 largest ones (because of the picking pass limitations): - std::sort(m_planes.rbegin(), m_planes.rend(), [](const PlaneData& a, const PlaneData& b) { return a.area < b.area; }); - m_planes.resize(std::min((int)m_planes.size(), 254)); - // Planes are finished - let's save what we calculated it from: m_volumes_matrices.clear(); m_volumes_types.clear(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp index 6689fcdcea..8938e8a264 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp @@ -4,7 +4,9 @@ #include "libslic3r/Print.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/MsgDialog.hpp" @@ -30,7 +32,7 @@ std::string GLGizmoFuzzySkin::on_get_name() const bool GLGizmoFuzzySkin::on_init() { - m_shortcut_key = WXK_CONTROL_H; + m_shortcut = Shortcut::GizmoFuzzySkin; const wxString ctrl = GUI::shortkey_ctrl_prefix(); const wxString alt = GUI::shortkey_alt_prefix(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp b/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp index 843a4b45fe..e5c6502452 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp @@ -25,7 +25,6 @@ GLGizmoHollow::GLGizmoHollow(GLCanvas3D& parent, const std::string& icon_filenam bool GLGizmoHollow::on_init() { - m_shortcut_key = WXK_CONTROL_H; m_desc["enable"] = _(L("Hollow this object")); m_desc["preview"] = _(L("Preview hollowed and drilled model")); m_desc["offset"] = _(L("Offset")) + ": "; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp index e21498163a..8ec564e5b4 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp @@ -1,6 +1,8 @@ #include "GLGizmoMeasure.hpp" +#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" #include "slic3r/Utils/UndoRedo.hpp" @@ -448,7 +450,7 @@ bool GLGizmoMeasure::gizmo_event(SLAGizmoEventType action, const Vec2d& mouse_po bool GLGizmoMeasure::on_init() { - m_shortcut_key = WXK_CONTROL_U; + m_shortcut = Shortcut::GizmoMeasure; const wxString shift = GUI::shortkey_shift_prefix(); @@ -562,8 +564,30 @@ void GLGizmoMeasure::init_plane_glmodel(GripperType gripper_type, const Measure: } } +bool GLGizmoMeasure::render_follows_cursor() const +{ + // The two raycasts on_render() starts with, without their side effects. + if (m_editing_distance) + return false; + + const Vec2d mouse_position = m_parent.get_local_mouse_position(); + const Camera& camera = wxGetApp().plater()->get_camera(); + Vec3f hit = Vec3f::Zero(); + Vec3f normal = Vec3f::Zero(); + for (const auto& item : m_gripper_id_raycast_map) { + if (item.second->get_id() > 0 && item.second->get_raycaster()->closest_hit(mouse_position, item.second->get_transform(), camera, hit, normal)) + return true; + } + for (const auto& item : m_mesh_raycaster_map) { + if (item.second->get_raycaster()->unproject_on_mesh(mouse_position, item.second->get_transform(), camera, hit, normal)) + return true; + } + return false; +} + void GLGizmoMeasure::on_render() { + m_rendered_this_frame = true; #if ENABLE_MEASURE_GIZMO_DEBUG render_debug_dialog(); #endif // ENABLE_MEASURE_GIZMO_DEBUG @@ -700,35 +724,36 @@ void GLGizmoMeasure::on_render() reset_gripper_pick(GripperType::UNDEFINE, true); m_curr_feature = curr_feature; - if (!m_curr_feature.has_value()) - return; - m_curr_feature->volume = m_last_hit_volume; - m_curr_feature->world_tran = m_mesh_raycaster_map[m_last_hit_volume]->get_transform(); + // The selected features are drawn below whether or not one is hovered. + if (m_curr_feature.has_value()) { + m_curr_feature->volume = m_last_hit_volume; + m_curr_feature->world_tran = m_mesh_raycaster_map[m_last_hit_volume]->get_transform(); - switch (m_curr_feature->get_type()) { - default: { assert(false); break; } - case Measure::SurfaceFeatureType::Point: - { - m_gripper_id_raycast_map[GripperType::POINT] = std::make_shared<PickRaycaster>(POINT_ID, *m_sphere.mesh_raycaster); - break; - } - case Measure::SurfaceFeatureType::Edge: - { - m_gripper_id_raycast_map[GripperType::EDGE] = std::make_shared<PickRaycaster>(EDGE_ID, *m_cylinder.mesh_raycaster); - break; - } - case Measure::SurfaceFeatureType::Circle: { - m_curr_circle.last_circle_feature = nullptr; - m_curr_circle.inv_zoom = 0; - init_circle_glmodel(GripperType::CIRCLE, *m_curr_feature, m_curr_circle,inv_zoom); - break; - } - case Measure::SurfaceFeatureType::Plane: { - update_world_plane_features(m_curr_measuring.get(), *m_curr_feature); - m_curr_plane.plane_idx = -1; - init_plane_glmodel(GripperType::PLANE, *m_curr_feature, m_curr_plane); - break; - } + switch (m_curr_feature->get_type()) { + default: { assert(false); break; } + case Measure::SurfaceFeatureType::Point: + { + m_gripper_id_raycast_map[GripperType::POINT] = std::make_shared<PickRaycaster>(POINT_ID, *m_sphere.mesh_raycaster); + break; + } + case Measure::SurfaceFeatureType::Edge: + { + m_gripper_id_raycast_map[GripperType::EDGE] = std::make_shared<PickRaycaster>(EDGE_ID, *m_cylinder.mesh_raycaster); + break; + } + case Measure::SurfaceFeatureType::Circle: { + m_curr_circle.last_circle_feature = nullptr; + m_curr_circle.inv_zoom = 0; + init_circle_glmodel(GripperType::CIRCLE, *m_curr_feature, m_curr_circle,inv_zoom); + break; + } + case Measure::SurfaceFeatureType::Plane: { + update_world_plane_features(m_curr_measuring.get(), *m_curr_feature); + m_curr_plane.plane_idx = -1; + init_plane_glmodel(GripperType::PLANE, *m_curr_feature, m_curr_plane); + break; + } + } } } } @@ -2135,8 +2160,18 @@ void GLGizmoMeasure::init_render_input_window() m_same_model_object = is_two_volume_in_same_model_object(); } +void GLGizmoMeasure::render_dimensioning_if_scene_reused() +{ + // The labels are ImGui and live one frame; the lines drawn with them land under the cached + // scene, which is drawn after the overlay is built. + if (!m_rendered_this_frame) + render_dimensioning(); + m_rendered_this_frame = false; +} + void GLGizmoMeasure::on_render_input_window(float x, float y, float bottom_limit) { + render_dimensioning_if_scene_reused(); static std::optional<Measure::SurfaceFeature> last_feature; static EMode last_mode = EMode::FeatureSelection; static SelectedFeatures last_selected_features; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.hpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.hpp index 3965652c05..40cb3bab1f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.hpp @@ -228,6 +228,9 @@ protected: void restore_scene_raycasters_state(); void render_dimensioning(); + // Builds the dimension labels on a frame that reused the cached scene and so skipped on_render(). + void render_dimensioning_if_scene_reused(); + bool m_rendered_this_frame{ false }; #if ENABLE_MEASURE_GIZMO_DEBUG void render_debug_dialog(); @@ -255,6 +258,9 @@ protected: bool on_init() override; std::string on_get_name() const override; bool on_is_activable() const override; + // The hover is resolved inside on_render(), against the mesh and against the grippers of the + // selected features, which sit off the mesh. + bool render_follows_cursor() const override; void on_render() override; void on_set_state() override; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp index 8b12da14f9..b91f0a9468 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp @@ -1,5 +1,6 @@ #include "GLGizmoMeshBoolean.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/GUI.hpp" #include "libslic3r/MeshBoolean.hpp" @@ -104,7 +105,7 @@ bool GLGizmoMeshBoolean::on_mouse(const wxMouseEvent &mouse_event) bool GLGizmoMeshBoolean::on_init() { - m_shortcut_key = WXK_CONTROL_B; + m_shortcut = Shortcut::GizmoMeshBoolean; return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp index 3d4af75cde..2e741fa5e5 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp @@ -2,6 +2,7 @@ #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/Camera.hpp" #include "slic3r/GUI/Plater.hpp" @@ -90,7 +91,7 @@ void GLGizmoMmuSegmentation::init_extruders_data() bool GLGizmoMmuSegmentation::on_init() { // BBS - m_shortcut_key = WXK_CONTROL_N; + m_shortcut = Shortcut::GizmoMmuSegmentation; const wxString ctrl = GUI::shortkey_ctrl_prefix(); const wxString alt = GUI::shortkey_alt_prefix(); @@ -209,30 +210,16 @@ bool GLGizmoMmuSegmentation::on_number_key_down(int number) return true; } -bool GLGizmoMmuSegmentation::on_key_down_select_tool_type(int keyCode) { - switch (keyCode) - { - case 'F': - m_current_tool = ImGui::FillButtonIcon; - break; - case 'T': - m_current_tool = ImGui::TriangleButtonIcon; - break; - case 'S': - m_current_tool = ImGui::SphereButtonIcon; - break; - case 'C': - m_current_tool = ImGui::CircleButtonIcon; - break; - case 'H': - m_current_tool = ImGui::HeightRangeIcon; - break; - case 'G': - m_current_tool = ImGui::GapFillIcon; - break; - default: - return false; - break; +bool GLGizmoMmuSegmentation::on_tool_shortcut(Shortcut shortcut) +{ + switch (shortcut) { + case Shortcut::PaintToolFill: m_current_tool = ImGui::FillButtonIcon; break; + case Shortcut::PaintToolTriangle: m_current_tool = ImGui::TriangleButtonIcon; break; + case Shortcut::PaintToolSphere: m_current_tool = ImGui::SphereButtonIcon; break; + case Shortcut::PaintToolCircle: m_current_tool = ImGui::CircleButtonIcon; break; + case Shortcut::PaintToolHeightRange: m_current_tool = ImGui::HeightRangeIcon; break; + case Shortcut::PaintToolGapFill: m_current_tool = ImGui::GapFillIcon; break; + default: return false; } return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.hpp b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.hpp index 70cfde5aed..b2b04acdbe 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.hpp @@ -82,7 +82,7 @@ public: // BBS bool on_number_key_down(int number); - bool on_key_down_select_tool_type(int keyCode); + bool on_tool_shortcut(Shortcut shortcut) override; protected: // BBS diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp index 2f3195620a..4bee1a6cfc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp @@ -1,6 +1,7 @@ #include "GLGizmoMove.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" //BBS: GUI refactor #include "slic3r/GUI/Plater.hpp" #include "libslic3r/AppConfig.hpp" @@ -61,7 +62,7 @@ bool GLGizmoMove3D::on_init() m_grabbers[0].angles = { 0.0, 0.5 * double(PI), 0.0 }; m_grabbers[1].angles = { -0.5 * double(PI), 0.0, 0.0 }; - m_shortcut_key = WXK_CONTROL_M; + m_shortcut = Shortcut::GizmoMove; return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp index 3dcf51cbb5..d90579e589 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp @@ -131,15 +131,12 @@ void GLGizmoPainterBase::render_triangles(const Selection& selection) const } } -void GLGizmoPainterBase::render_cursor() +std::vector<Transform3d> GLGizmoPainterBase::mesh_trafo_matrices() const { - // First check that the mouse pointer is on an object. const ModelObject* mo = m_c->selection_info()->model_object(); const Selection& selection = m_parent.get_selection(); const ModelInstance* mi = mo->instances[selection.get_instance_idx()]; - const Camera& camera = wxGetApp().plater()->get_camera(); - // Precalculate transformations of individual meshes. std::vector<Transform3d> trafo_matrices; for (const ModelVolume* mv : mo->volumes) { if (mv->is_model_part()) @@ -154,6 +151,26 @@ void GLGizmoPainterBase::render_cursor() } } } + return trafo_matrices; +} + +bool GLGizmoPainterBase::render_follows_cursor() const +{ + // The brush is drawn only where the cursor meets the model. update_raycast_cache() keeps the + // answer for render_cursor(). + if (m_c->selection_info() == nullptr || m_c->selection_info()->model_object() == nullptr) + return false; + update_raycast_cache(m_parent.get_local_mouse_position(), wxGetApp().plater()->get_camera(), mesh_trafo_matrices()); + return m_rr.mesh_id != -1; +} + +void GLGizmoPainterBase::render_cursor() +{ + // First check that the mouse pointer is on an object. + const Camera& camera = wxGetApp().plater()->get_camera(); + + // Precalculate transformations of individual meshes. + const std::vector<Transform3d> trafo_matrices = mesh_trafo_matrices(); // Raycast and return if there's no hit. update_raycast_cache(m_parent.get_local_mouse_position(), camera, trafo_matrices); if (m_rr.mesh_id == -1) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp index 8ec1cb1fb0..9ba6065458 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp @@ -192,6 +192,8 @@ public: ~GLGizmoPainterBase() override; void data_changed(bool is_serializing) override; virtual bool gizmo_event(SLAGizmoEventType action, const Vec2d& mouse_position, bool shift_down, bool alt_down, bool control_down); + // Switches the painting tool a Painting-context shortcut names; false when this gizmo has no such tool. + virtual bool on_tool_shortcut(Shortcut shortcut) { return false; } // Following function renders the triangles and cursor. Having this separated // from usual on_render method allows to render them before transparent @@ -318,6 +320,8 @@ private: std::vector<ProjectedHeightRange> get_projected_height_range(const Vec2d& mouse_position, double resolution, const std::vector<const ModelVolume*>& part_volumes, const std::vector<Transform3d>& trafo_matrices) const; bool is_mesh_point_clipped(const Vec3d& point, const Transform3d& trafo) const; + // World transforms of the model parts, in mo->volumes order. + std::vector<Transform3d> mesh_trafo_matrices() const; void update_raycast_cache(const Vec2d& mouse_position, const Camera& camera, const std::vector<Transform3d>& trafo_matrices) const; @@ -370,6 +374,7 @@ protected: virtual PainterGizmoType get_painter_type() const = 0; bool on_is_activable() const override; + bool render_follows_cursor() const override; bool on_is_selectable() const override; void on_load(cereal::BinaryInputArchive& ar) override; void on_save(cereal::BinaryOutputArchive& ar) const override {} diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.cpp b/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.cpp new file mode 100644 index 0000000000..4e1a197a39 --- /dev/null +++ b/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.cpp @@ -0,0 +1,186 @@ +#include "GLGizmoPrimitive.hpp" +#include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/ImGuiWrapper.hpp" +#include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/Plater.hpp" +#include "slic3r/GUI/GUI_ObjectList.hpp" +#include "slic3r/GUI/NotificationManager.hpp" +#include "libslic3r/Model.hpp" + +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif +#include <imgui/imgui_internal.h> + +namespace Slic3r { +namespace GUI { + +GLGizmoPrimitive::GLGizmoPrimitive(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id) + : GLGizmoBase(parent, icon_filename, sprite_id) {} + +bool GLGizmoPrimitive::on_init() { return true; } +std::string GLGizmoPrimitive::on_get_name() const { return _u8L("Primitive"); } +bool GLGizmoPrimitive::on_is_activable() const { return true; } +void GLGizmoPrimitive::on_render() {} +void GLGizmoPrimitive::on_set_state() +{ if (m_state == EState::On) { m_params = PrimitiveParams{}; m_preview_dirty = true; } } + +bool GLGizmoPrimitive::on_mouse(const wxMouseEvent&) { return false; } + +CommonGizmosDataID GLGizmoPrimitive::on_get_requirements() const +{ return CommonGizmosDataID(int(CommonGizmosDataID::SelectionInfo) | int(CommonGizmosDataID::InstancesHider)); } + +void GLGizmoPrimitive::on_load(cereal::BinaryInputArchive& ar) +{ ar(m_params); m_preview_dirty = true; } +void GLGizmoPrimitive::on_save(cereal::BinaryOutputArchive& ar) const +{ ar(m_params); } + +void GLGizmoPrimitive::apply_preset(const char*, double w, double h, double d) +{ + m_params.type = PrimitiveType::Box; + m_params.box_w = w; m_params.box_h = h; m_params.box_d = d; + m_preview_dirty = true; +} + +static void gen_mesh_and_add(PrimitiveParams& p, const char* snap_name) +{ + TopoDS_Solid solid = GeometryEngine::make_primitive(p); + TopoDS_Shape shape = solid; + if (p.dressup_enabled) { + if (p.dressup_type == DressUpType::Fillet) + shape = GeometryEngine::apply_fillet(shape, p.dressup_radius, p.dressup_faces); + else + shape = GeometryEngine::apply_chamfer(shape, p.dressup_chamfer_dist, p.dressup_faces); + } + TriangleMesh mesh = GeometryEngine::tessellate(shape, p.linear_deflection, p.angular_deflection); + if (mesh.its.indices.empty()) { + wxGetApp().notification_manager()->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::WarningNotificationLevel, _u8L("Empty mesh generated")); + return; + } + wxGetApp().plater()->take_snapshot(snap_name); + ModelObject* mo = wxGetApp().model().add_object(); + std::string name = GeometryEngine::primitive_name(p.type); + if (p.dressup_enabled && p.dressup_type == DressUpType::Fillet) name += " (Fillet)"; + else if (p.dressup_enabled) name += " (Chamfer)"; + mo->name = name; + mo->add_volume(std::move(mesh))->set_new_unique_id(); + mo->ensure_on_bed(); + wxGetApp().plater()->update(); +} + +void GLGizmoPrimitive::apply_primitive() { gen_mesh_and_add(m_params, "Add Primitive"); } + +void GLGizmoPrimitive::on_render_input_window(float x, float y, float bottom_limit) +{ + y = std::min(y, bottom_limit - ImGui::GetWindowHeight()); + const float scale = m_parent.get_scale(); + ImGuiWrapper::push_toolbar_style(scale); + GizmoImguiSetNextWIndowPos(x, y, ImGuiCond_Always, 0.0f, 0.0f); + GizmoImguiBegin("Primitive", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoMove + | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse + | ImGuiWindowFlags_NoTitleBar); + + if (ImGui::CollapsingHeader("Shape", ImGuiTreeNodeFlags_DefaultOpen)) { + static const char* names[] = {"Box", "Cylinder", "Sphere", "Cone", "Torus"}; + int cur = (int)m_params.type; + if (ImGui::Combo("##type", &cur, names, (int)PrimitiveType::COUNT)) { + m_params.type = (PrimitiveType)cur; + m_preview_dirty = true; + } + ImGui::Text("Quick:"); + ImGui::SameLine(); + if (ImGui::SmallButton("10mm")) apply_preset("10mm cube", 10, 10, 10); + ImGui::SameLine(); + if (ImGui::SmallButton("20mm")) apply_preset("20mm cube", 20, 20, 20); + ImGui::SameLine(); + if (ImGui::SmallButton("50mm")) apply_preset("50mm cube", 50, 50, 50); + } + + ImGui::Separator(); + + if (ImGui::CollapsingHeader("Dimensions", ImGuiTreeNodeFlags_DefaultOpen)) { + auto dim = [&](const char* label, double& val, double step=0.5, double fast=5.0) { + ImGui::SetNextItemWidth(130); + if (ImGui::InputDouble(label, &val, step, fast, "%.1f mm")) m_preview_dirty = true; + if (val < 0.5) val = 0.5; + }; + switch (m_params.type) { + case PrimitiveType::Box: + dim("Width (X)", m_params.box_w); + dim("Depth (Y)", m_params.box_d); + dim("Height (Z)", m_params.box_h); + break; + case PrimitiveType::Cylinder: + dim("Radius", m_params.cyl_radius); + dim("Height", m_params.cyl_height); + break; + case PrimitiveType::Sphere: + dim("Radius", m_params.sph_radius); + break; + case PrimitiveType::Cone: + dim("Bottom R", m_params.cone_r1); + dim("Top R", m_params.cone_r2); + dim("Height", m_params.cone_height); + break; + case PrimitiveType::Torus: + dim("Major R", m_params.torus_r1); + dim("Minor R", m_params.torus_r2, 0.1, 1.0); + break; + default: break; + } + } + + ImGui::Separator(); + + if (ImGui::CollapsingHeader("Fillet / Chamfer")) { + ImGui::Checkbox("Enable", &m_params.dressup_enabled); + if (m_params.dressup_enabled) { + static const char* dn[] = {"Fillet", "Chamfer"}; + int du = (int)m_params.dressup_type; + ImGui::SetNextItemWidth(100); + if (ImGui::Combo("##dtype", &du, dn, 2)) { m_params.dressup_type = (DressUpType)du; m_preview_dirty = true; } + static const char* fn[] = {"All edges", "Top edges", "Bottom edges", "Lateral edges"}; + int fg = (int)m_params.dressup_faces; + ImGui::SetNextItemWidth(140); + if (ImGui::Combo("Edges", &fg, fn, 4)) { m_params.dressup_faces = (FaceGroup)fg; m_preview_dirty = true; } + if (m_params.dressup_type == DressUpType::Fillet) { + ImGui::SetNextItemWidth(100); + if (ImGui::InputDouble("Radius", &m_params.dressup_radius, 0.1, 1.0, "%.1f mm")) { + if (m_params.dressup_radius < 0.1) m_params.dressup_radius = 0.1; + m_preview_dirty = true; + } + } else { + ImGui::SetNextItemWidth(100); + if (ImGui::InputDouble("Distance", &m_params.dressup_chamfer_dist, 0.1, 1.0, "%.1f mm")) { + if (m_params.dressup_chamfer_dist < 0.1) m_params.dressup_chamfer_dist = 0.1; + m_preview_dirty = true; + } + } + } + } + + ImGui::Separator(); + + if (ImGui::CollapsingHeader("Quality")) { + ImGui::SetNextItemWidth(130); + if (ImGui::InputDouble("Mesh resolution", &m_params.linear_deflection, 0.001, 0.1, "%.3f mm")) { + if (m_params.linear_deflection < 0.001) m_params.linear_deflection = 0.001; + if (m_params.linear_deflection > 1.0) m_params.linear_deflection = 1.0; + m_preview_dirty = true; + } + } + + ImGui::Separator(); + + if (ImGui::Button("Add Shape", {-1, 28})) + apply_primitive(); + + if (ImGui::Button("Close", {-1, 0})) + m_parent.reset_all_gizmos(); + + GizmoImguiEnd(); + ImGuiWrapper::pop_toolbar_style(); +} + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.hpp b/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.hpp new file mode 100644 index 0000000000..f78289a58d --- /dev/null +++ b/src/slic3r/GUI/Gizmos/GLGizmoPrimitive.hpp @@ -0,0 +1,43 @@ +#ifndef slic3r_GLGizmoPrimitive_hpp_ +#define slic3r_GLGizmoPrimitive_hpp_ + +#include "GLGizmoBase.hpp" +#include "GLGizmosCommon.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" + +namespace Slic3r { +namespace GUI { + +class GLGizmoPrimitive : public GLGizmoBase +{ +public: + GLGizmoPrimitive(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id); + ~GLGizmoPrimitive() = default; + + bool on_mouse(const wxMouseEvent& mouse_event) override; + +protected: + bool on_init() override; + std::string on_get_name() const override; + bool on_is_activable() const override; + void on_render() override; + void on_set_state() override; + CommonGizmosDataID on_get_requirements() const override; + void on_render_input_window(float x, float y, float bottom_limit) override; + + void on_load(cereal::BinaryInputArchive& ar) override; + void on_save(cereal::BinaryOutputArchive& ar) const override; + +private: + void apply_primitive(); + void apply_preset(const char* name, double w, double h, double d); + + PrimitiveParams m_params; + TriangleMesh m_preview_mesh; + bool m_preview_dirty{true}; +}; + +} // namespace GUI +} // namespace Slic3r + +#endif // slic3r_GLGizmoPrimitive_hpp_ diff --git a/src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp b/src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp index 5521640eee..835b97f072 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp @@ -3,6 +3,7 @@ #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Jobs/RotoptimizeJob.hpp" @@ -555,7 +556,7 @@ bool GLGizmoRotate3D::on_init() for (unsigned int i = 0; i < 3; ++i) m_gizmos[i].set_highlight_color(AXES_COLOR[i]); - m_shortcut_key = WXK_CONTROL_R; + m_shortcut = Shortcut::GizmoRotate; return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp index 88e744c2b8..c30acba386 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp @@ -1,6 +1,7 @@ #include "GLGizmoScale.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/Plater.hpp" #include <glad/gl.h> @@ -135,7 +136,7 @@ bool GLGizmoScale3D::on_init() // BBS m_grabbers[4].enabled = false; - m_shortcut_key = WXK_CONTROL_S; + m_shortcut = Shortcut::GizmoScale; return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp index b211a18fb2..f36a47c8ec 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp @@ -5,6 +5,7 @@ //#include "slic3r/GUI/3DScene.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" @@ -28,7 +29,7 @@ void GLGizmoSeam::on_shutdown() bool GLGizmoSeam::on_init() { - m_shortcut_key = WXK_CONTROL_P; + m_shortcut = Shortcut::GizmoSeam; const wxString ctrl = GUI::shortkey_ctrl_prefix(); const wxString alt = GUI::shortkey_alt_prefix(); @@ -86,19 +87,12 @@ void GLGizmoSeam::render_painter_gizmo() glsafe(::glDisable(GL_BLEND)); } -// BBS -bool GLGizmoSeam::on_key_down_select_tool_type(int keyCode) { - switch (keyCode) - { - case 'S': - m_current_tool = ImGui::SphereButtonIcon; - break; - case 'C': - m_current_tool = ImGui::CircleButtonIcon; - break; - default: - return false; - break; +bool GLGizmoSeam::on_tool_shortcut(Shortcut shortcut) +{ + switch (shortcut) { + case Shortcut::PaintToolSphere: m_current_tool = ImGui::SphereButtonIcon; break; + case Shortcut::PaintToolCircle: m_current_tool = ImGui::CircleButtonIcon; break; + default: return false; } return true; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp b/src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp index 5b143dc32c..f1c48a12d6 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp @@ -12,8 +12,7 @@ public: void render_painter_gizmo() override; - //BBS - bool on_key_down_select_tool_type(int keyCode); + bool on_tool_shortcut(Shortcut shortcut) override; protected: // BBS diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp index f4fa1fbbb9..6a08d5eff4 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp @@ -343,12 +343,12 @@ void GLGizmoSimplify::on_render_input_window(float x, float y, float bottom_limi ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(10,20)); if (is_worker_running) { // apply or preview // draw progress bar - std::string progress_text = GUI::format("%1%", std::to_string(progress)) + "%%"; + std::string progress_text = GUI::format("%1%", std::to_string(progress)) + "%"; ImVec2 progress_size(bottom_left_width - space_size, 0.0f); ImGui::BBLProgressBar2(progress / 100., progress_size); ImGui::SameLine(); ImGui::AlignTextToFramePadding(); - ImGui::TextColored(ImVec4(0.42f, 0.42f, 0.42f, 1.00f), progress_text.c_str()); + ImGui::TextColored(ImVec4(0.42f, 0.42f, 0.42f, 1.00f), "%s", progress_text.c_str()); ImGui::SameLine(bottom_left_width + slider_width + m_imgui->scaled(1.0f)); } else { ImGui::Dummy(ImVec2(bottom_left_width - space_size, -1)); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSketch.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSketch.cpp new file mode 100644 index 0000000000..195ceba713 --- /dev/null +++ b/src/slic3r/GUI/Gizmos/GLGizmoSketch.cpp @@ -0,0 +1,458 @@ +#include "GLGizmoSketch.hpp" +#include "slic3r/GUI/GLCanvas3D.hpp" +#include "slic3r/GUI/ImGuiWrapper.hpp" +#include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/Plater.hpp" +#include "slic3r/GUI/GUI_ObjectList.hpp" +#include "slic3r/GUI/NotificationManager.hpp" +#include "libslic3r/Model.hpp" +#include <BRepBuilderAPI_MakeFace.hxx> +#include <BRepPrimAPI_MakeRevol.hxx> +#include <BRepAlgoAPI_Fuse.hxx> + +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif +#include <imgui/imgui_internal.h> + +#define UL(s) Slic3r::GUI::I18N::translate_utf8((s)).c_str() + +namespace Slic3r { +namespace GUI { + +GLGizmoSketch::GLGizmoSketch(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id) + : GLGizmoBase(parent, icon_filename, sprite_id) {} + +bool GLGizmoSketch::on_init() { return true; } +std::string GLGizmoSketch::on_get_name() const { return _u8L("Sketch"); } +bool GLGizmoSketch::on_is_activable() const { return true; } +void GLGizmoSketch::on_render() {} +void GLGizmoSketch::on_set_state() { if (m_state == EState::On) clear_all(); } +bool GLGizmoSketch::on_mouse(const wxMouseEvent&) { return false; } + +CommonGizmosDataID GLGizmoSketch::on_get_requirements() const +{ return CommonGizmosDataID(int(CommonGizmosDataID::SelectionInfo)); } + +void GLGizmoSketch::on_load(cereal::BinaryInputArchive& ar) +{ + ar(m_tool, m_profiles, m_plane, m_sp, m_rect_w, m_rect_h, m_circle_r, m_poly_sides, m_poly_r, m_snap_grid, m_grid_step); + m_active_profile = -1; +} + +void GLGizmoSketch::on_save(cereal::BinaryOutputArchive& ar) const +{ + ar(m_tool, m_profiles, m_plane, m_sp, m_rect_w, m_rect_h, m_circle_r, m_poly_sides, m_poly_r, m_snap_grid, m_grid_step); +} + +SketchProfile& GLGizmoSketch::active_profile() +{ + if (m_active_profile < 0 || m_active_profile >= (int)m_profiles.size()) { + m_profiles.emplace_back(); + m_active_profile = (int)m_profiles.size() - 1; + } + return m_profiles[m_active_profile]; +} + +bool GLGizmoSketch::has_closed_profile() const +{ + for (auto& p : m_profiles) if (p.closed && p.points.size() >= 3) return true; + return false; +} + +void GLGizmoSketch::clear_all() +{ + m_profiles.clear(); + m_canvas_points.clear(); + m_active_profile = -1; +} + +void GLGizmoSketch::add_closed_profile() +{ + auto& ap = active_profile(); + if (ap.points.size() >= 3) { + ap.closed = true; + m_active_profile = -1; + } +} + +void GLGizmoSketch::delete_profile(int idx) +{ + if (idx >= 0 && idx < (int)m_profiles.size()) { + m_profiles.erase(m_profiles.begin() + idx); + if (m_active_profile >= (int)m_profiles.size()) m_active_profile = -1; + } +} + +Vec2d GLGizmoSketch::snap(Vec2d pt) const +{ + if (!m_snap_grid) return pt; + double gs = m_grid_step; + return {round(pt.x() / gs) * gs, round(pt.y() / gs) * gs}; +} + +void GLGizmoSketch::build_preset_profile() +{ + auto& ap = active_profile(); + ap.clear(); + auto add = [&](double x, double y) { ap.points.emplace_back(x, y); }; + switch (m_tool) { + case SketchTool::Rectangle: + add(-m_rect_w/2, -m_rect_h/2); add( m_rect_w/2, -m_rect_h/2); + add( m_rect_w/2, m_rect_h/2); add(-m_rect_w/2, m_rect_h/2); + ap.closed = true; m_active_profile = -1; break; + case SketchTool::Circle: + for (int i = 0; i <= m_circle_seg; ++i) { + double a = 2.0*M_PI*i/m_circle_seg; + add(cos(a)*m_circle_r, sin(a)*m_circle_r); + } + ap.closed = true; m_active_profile = -1; break; + case SketchTool::Polygon: + for (int i = 0; i < m_poly_sides; ++i) { + double a = 2.0*M_PI*i/m_poly_sides - M_PI/2; + add(cos(a)*m_poly_r, sin(a)*m_poly_r); + } + ap.closed = true; m_active_profile = -1; break; + default: break; + } +} + +void GLGizmoSketch::handle_canvas_click(ImVec2 pos) +{ + Vec2d pt = snap({pos.x / m_canvas_scale, -pos.y / m_canvas_scale}); + if (m_tool == SketchTool::Line) { + auto& ap = active_profile(); + if (ap.points.size() >= 3 && (pt - ap.points.front()).norm() < m_grid_step) { + ap.points.push_back(ap.points.front()); + ap.closed = true; + m_active_profile = -1; + return; + } + ap.points.push_back(pt); + } +} + +void GLGizmoSketch::draw_canvas() +{ + ImDrawList* dl = ImGui::GetWindowDrawList(); + ImVec2 pos = ImGui::GetCursorScreenPos(); + float w = 280, h = 200; + ImVec2 end(pos.x+w, pos.y+h); + float cx = pos.x+w/2, cy = pos.y+h/2; + auto tc = [&](const ImVec2& p) { return ImVec2(cx+p.x*m_canvas_scale, cy-p.y*m_canvas_scale); }; + + dl->AddRectFilled(pos, end, IM_COL32(28,28,36,255)); + dl->AddRect(pos, end, IM_COL32(55,55,68,255)); + + float gs = m_grid_step; + for (float g = 0; g < w; g += gs * m_canvas_scale) { + ImU32 gc = (int(g/(gs*m_canvas_scale)) % 5 == 0) ? IM_COL32(60,60,75,100) : IM_COL32(45,45,55,60); + dl->AddLine({pos.x+g,pos.y}, {pos.x+g,end.y}, gc); + } + for (float g = 0; g < h; g += gs * m_canvas_scale) { + ImU32 gc = (int(g/(gs*m_canvas_scale)) % 5 == 0) ? IM_COL32(60,60,75,100) : IM_COL32(45,45,55,60); + dl->AddLine({pos.x,pos.y+g}, {end.x,pos.y+g}, gc); + } + + dl->AddLine({cx,pos.y},{cx,end.y}, IM_COL32(70,70,85,180), 1.5f); + dl->AddLine({pos.x,cy},{end.x,cy}, IM_COL32(70,70,85,180), 1.5f); + dl->AddText({end.x-12, cy+2}, IM_COL32(120,120,140,200), "X"); + dl->AddText({cx+4, pos.y+2}, IM_COL32(120,120,140,200), "Y"); + + for (size_t pi = 0; pi < m_profiles.size(); ++pi) { + auto& prof = m_profiles[pi]; + if (prof.points.size() < 2) continue; + std::vector<ImVec2> sp; + for (auto& p : prof.points) sp.push_back(tc({(float)p.x(), (float)p.y()})); + if (prof.closed && sp.size() >= 3) { + bool is_outer = (pi == 0); + ImU32 fill = is_outer ? IM_COL32(0,180,90,35) : IM_COL32(180,60,60,35); + ImU32 line = is_outer ? IM_COL32(0,220,100,255) : IM_COL32(220,80,80,255); + dl->AddConvexPolyFilled(sp.data(), (int)sp.size(), fill); + for (size_t i=0; i<sp.size(); ++i) + dl->AddLine(sp[i], sp[(i+1)%sp.size()], line, (pi==0)?2.5f:2.0f); + for (size_t i=0; i<sp.size()-1; ++i) + dl->AddCircleFilled(sp[i], 3.0f, IM_COL32(255,255,255,255)); + } + } + + auto& ap = active_profile(); + if (!ap.closed && ap.points.size() >= 1) { + std::vector<ImVec2> sp; + for (auto& p : ap.points) sp.push_back(tc({(float)p.x(), (float)p.y()})); + for (size_t i=1; i<sp.size(); ++i) + dl->AddLine(sp[i-1], sp[i], IM_COL32(0,200,255,200), 2.0f); + for (auto& s : sp) dl->AddCircleFilled(s, 3.5f, IM_COL32(100,200,255,255)); + ImVec2 mouse = ImGui::GetMousePos(); + if (mouse.x > pos.x && mouse.x < end.x && mouse.y > pos.y && mouse.y < end.y) + dl->AddLine(sp.back(), mouse, IM_COL32(100,160,220,120), 1.5f); + } + + ImGui::InvisibleButton("canvas", ImVec2(w,h)); + if (ImGui::IsItemHovered()) { + ImVec2 m = ImGui::GetMousePos(); + Vec2d sk({(m.x-cx)/m_canvas_scale, -(m.y-cy)/m_canvas_scale}); + if (m_snap_grid) sk = snap(sk); + auto txt = wxString::Format("X:%.1f Y:%.1f", sk.x(), sk.y()).ToStdString(); + dl->AddText({pos.x+4, end.y-16}, IM_COL32(160,160,180,200), txt.c_str()); + if (ImGui::IsMouseClicked(ImGuiMouseButton_Left)) + handle_canvas_click({(m.x-cx)/m_canvas_scale, -(m.y-cy)/m_canvas_scale}); + if (ImGui::IsMouseClicked(ImGuiMouseButton_Right)) { + auto& ap2 = active_profile(); + if (ap2.points.size() >= 3) { + ap2.points.push_back(ap2.points.front()); + ap2.closed = true; + m_active_profile = -1; + } + } + } +} + +TopoDS_Shape GLGizmoSketch::build_combined_shape() +{ + if (m_profiles.empty() || !m_profiles[0].closed) + throw std::runtime_error("No outer profile"); + + TopoDS_Wire outer_wire = m_profiles[0].to_occt_wire(m_plane); + BRepBuilderAPI_MakeFace face_maker(outer_wire); + if (!face_maker.IsDone()) throw std::runtime_error("Failed to make outer face"); + + for (size_t i = 1; i < m_profiles.size(); ++i) { + if (!m_profiles[i].closed) continue; + TopoDS_Wire inner = m_profiles[i].to_occt_wire(m_plane); + face_maker.Add(inner); + } + face_maker.Build(); + if (!face_maker.IsDone()) throw std::runtime_error("Failed to build face with holes"); + + TopoDS_Face face = face_maker.Face(); + + TopoDS_Shape shape; + if (m_sp.revolve_deg < 360.0 && m_sp.revolve_deg > 0.0) { + gp_Pnt o(m_plane.origin.x(), m_plane.origin.y(), m_plane.origin.z()); + gp_Dir xd(m_plane.x_axis.x(), m_plane.x_axis.y(), m_plane.x_axis.z()); + gp_Ax1 axis(o, xd); + BRepPrimAPI_MakeRevol rev(face, axis, m_sp.revolve_deg * M_PI / 180.0); + if (!rev.IsDone()) throw std::runtime_error("Revolve failed"); + shape = rev.Shape(); + } else { + shape = SketchEngine::make_extrude_face(face, m_plane, m_sp.extrude_len, m_sp.extrude_sym); + } + + if (m_sp.dressup_enabled) { + if (m_sp.dressup_type == DressUpType::Fillet) + shape = GeometryEngine::apply_fillet(shape, m_sp.dressup_radius, m_sp.dressup_faces); + else + shape = GeometryEngine::apply_chamfer(shape, m_sp.dressup_chamfer_dist, m_sp.dressup_faces); + } + return shape; +} + +void GLGizmoSketch::on_render_input_window(float x, float y, float bottom_limit) +{ + y = std::min(y, bottom_limit - ImGui::GetWindowHeight()); + const float scale = m_parent.get_scale(); + ImGuiWrapper::push_toolbar_style(scale); + GizmoImguiSetNextWIndowPos(x, y, ImGuiCond_Always, 0.0f, 0.0f); + GizmoImguiBegin("Sketch", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoMove + | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse + | ImGuiWindowFlags_NoTitleBar); + + if (ImGui::CollapsingHeader(UL("Profile"), ImGuiTreeNodeFlags_DefaultOpen)) { + static const char* names[] = {"Line", "Rectangle", "Circle", "Polygon"}; + int cur = (int)m_tool; + if (ImGui::Combo("##shape", &cur, names, (int)SketchTool::COUNT)) { + m_tool = (SketchTool)cur; + if (m_tool != SketchTool::Line) build_preset_profile(); + } + ImGui::SameLine(); + if (m_imgui->button("+##newprofile")) m_active_profile = -1; + if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", UL("Start new profile (for holes)")); + + if (m_tool == SketchTool::Rectangle) { + ImGui::SetNextItemWidth(80); if (ImGui::InputDouble("W", &m_rect_w,1,10,"%.0f")) build_preset_profile(); + ImGui::SameLine(); + ImGui::SetNextItemWidth(80); if (ImGui::InputDouble("H", &m_rect_h,1,10,"%.0f")) build_preset_profile(); + } else if (m_tool == SketchTool::Circle) { + ImGui::SetNextItemWidth(80); if (ImGui::InputDouble("R", &m_circle_r,1,5,"%.0f")) build_preset_profile(); + ImGui::SameLine(); + ImGui::SetNextItemWidth(80); if (ImGui::SliderInt("Seg", &m_circle_seg,8,64)) build_preset_profile(); + } else if (m_tool == SketchTool::Polygon) { + ImGui::SetNextItemWidth(80); if (ImGui::SliderInt("Sides", &m_poly_sides,3,12)) build_preset_profile(); + ImGui::SameLine(); + ImGui::SetNextItemWidth(80); if (ImGui::InputDouble("R", &m_poly_r,1,5,"%.0f")) build_preset_profile(); + } else { + ImGui::Text("%s", UL("Click on canvas to draw")); + } + + ImGui::Checkbox(UL("Snap to grid"), &m_snap_grid); + ImGui::SameLine(); + ImGui::SetNextItemWidth(80); ImGui::InputFloat("Step", &m_grid_step, 1, 5, "%.0f mm"); + + draw_canvas(); + + if (!m_profiles.empty()) { + ImGui::Text("%s: %zu", UL("Profiles"), m_profiles.size()); + for (int i = 0; i < (int)m_profiles.size(); ++i) { + auto& p = m_profiles[i]; + ImGui::PushID(i); + bool outer = (i == 0); + ImVec4 col = outer ? ImVec4(0,1,0,1) : ImVec4(1,0.3f,0.3f,1); + const char* label = outer ? "Outer" : "Hole"; + ImGui::TextColored(col, "%s %d: %zu pts %s", label, i+1, p.points.size(), p.closed ? "CLOSED" : ""); + ImGui::SameLine(); + if (ImGui::SmallButton("X")) delete_profile(i); + ImGui::PopID(); + } + } + } + + ImGui::Separator(); + + bool is_revolve = false; + bool has_sel = false; + + if (ImGui::CollapsingHeader(UL("Operation"), ImGuiTreeNodeFlags_DefaultOpen)) { + static int pi = 0; + if (ImGui::Combo(UL("Plane"), &pi, "XY (Top)\0XZ (Front)\0YZ (Side)\0")) + m_plane = (pi==0) ? SketchPlane::XY() : (pi==1) ? SketchPlane::XZ() : SketchPlane::YZ(); + + is_revolve = (m_sp.revolve_deg > 0 && m_sp.revolve_deg < 360); + ImGui::SetNextItemWidth(100); + if (ImGui::InputDouble(UL("Revolve deg"), &m_sp.revolve_deg, 15, 90, "%.0f")) { + if (m_sp.revolve_deg > 360) m_sp.revolve_deg = 360; + if (m_sp.revolve_deg < 0) m_sp.revolve_deg = 0; + } + if (ImGui::IsItemHovered()) ImGui::SetTooltip("%s", UL("Set to 0 for extrude, >0 for revolve")); + + if (!is_revolve) { + ImGui::SetNextItemWidth(100); + ImGui::InputDouble(UL("Length"), &m_sp.extrude_len, 0.5, 5, "%.1f mm"); + ImGui::SameLine(); + ImGui::Checkbox(UL("Symmetric"), &m_sp.extrude_sym); + } + + has_sel = !m_parent.get_selection().is_empty(); + if (has_sel) { + if (ImGui::Checkbox(UL("Pocket (cut)"), &m_sp.is_pocket)) + if (m_sp.is_pocket) m_sp.dressup_enabled = false; + } else m_sp.is_pocket = false; + } + + ImGui::Separator(); + + if (!m_sp.is_pocket && ImGui::CollapsingHeader(UL("Fillet / Chamfer"))) { + ImGui::Checkbox(UL("Enable"), &m_sp.dressup_enabled); + if (m_sp.dressup_enabled) { + static const char* dn[] = {"Fillet", "Chamfer"}; + int du = (int)m_sp.dressup_type; + ImGui::SetNextItemWidth(100); + if (ImGui::Combo("##dtype", &du, dn, 2)) m_sp.dressup_type = (DressUpType)du; + static const char* fn[] = {"All edges", "Top edges", "Bottom edges", "Lateral edges"}; + int fg = (int)m_sp.dressup_faces; + ImGui::SetNextItemWidth(140); + ImGui::Combo(UL("Edges"), &fg, fn, 4); m_sp.dressup_faces = (FaceGroup)fg; + ImGui::SetNextItemWidth(100); + if (m_sp.dressup_type == DressUpType::Fillet) + ImGui::InputDouble(UL("Radius"), &m_sp.dressup_radius, 0.1, 1, "%.1f mm"); + else + ImGui::InputDouble(UL("Distance"), &m_sp.dressup_chamfer_dist, 0.1, 1, "%.1f mm"); + } + } + + ImGui::Separator(); + + bool ok = has_closed_profile(); + if (ok) ImGui::TextColored({0,1,0,1}, "%zu %s", m_profiles.size(), UL("closed profile(s)")); + else ImGui::TextColored({0.6f,0.6f,0.6f,1}, "%s", UL("Draw a closed profile to enable")); + + auto btn = [&](const char* label, bool enabled) { + if (!enabled) { ImGui::PushItemFlag(ImGuiItemFlags_Disabled,true); ImGui::PushStyleColor(ImGuiCol_Button,{0.25f,0.25f,0.25f,1}); } + bool clicked = ImGui::Button(label, {-1,0}); + if (!enabled) { ImGui::PopStyleColor(); ImGui::PopItemFlag(); } + return clicked && enabled; + }; + + if (m_sp.is_pocket && has_sel) { + if (btn(_u8L("Pocket (Cut)").c_str(), ok)) apply_pocket(); + } else if (is_revolve) { + if (btn(_u8L("Revolve").c_str(), ok)) apply_revolve(); + } else { + if (btn(_u8L("Extrude").c_str(), ok)) apply_extrude(); + } + + if (ImGui::Button(_u8L("Clear All").c_str(), {-1,0})) clear_all(); + if (ImGui::Button(_u8L("Close").c_str(), {-1,0})) m_parent.reset_all_gizmos(); + + GizmoImguiEnd(); + ImGuiWrapper::pop_toolbar_style(); +} + +void GLGizmoSketch::apply_extrude() +{ + try { + TopoDS_Shape shape = build_combined_shape(); + TriangleMesh mesh = SketchEngine::tessellate(shape, m_sp.linear_deflection); + if (mesh.its.indices.empty()) throw std::runtime_error("Empty result"); + wxGetApp().plater()->take_snapshot("Sketch Extrude"); + ModelObject* mo = wxGetApp().model().add_object(); + mo->name = "Extrusion"; + mo->add_volume(std::move(mesh))->set_new_unique_id(); + mo->ensure_on_bed(); + wxGetApp().plater()->update(); + clear_all(); + } catch (const std::exception& e) { + wxGetApp().notification_manager()->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, std::string("Extrude: ")+e.what()); + } +} + +void GLGizmoSketch::apply_revolve() +{ + try { + TopoDS_Shape shape = build_combined_shape(); + TriangleMesh mesh = SketchEngine::tessellate(shape, m_sp.linear_deflection); + if (mesh.its.indices.empty()) throw std::runtime_error("Empty result"); + wxGetApp().plater()->take_snapshot("Sketch Revolve"); + ModelObject* mo = wxGetApp().model().add_object(); + mo->name = "Revolve"; + mo->add_volume(std::move(mesh))->set_new_unique_id(); + mo->ensure_on_bed(); + wxGetApp().plater()->update(); + clear_all(); + } catch (const std::exception& e) { + wxGetApp().notification_manager()->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, std::string("Revolve: ")+e.what()); + } +} + +void GLGizmoSketch::apply_pocket() +{ + try { + Selection& sel = m_parent.get_selection(); + int obj_idx = sel.get_object_idx(); + if (obj_idx < 0) throw std::runtime_error("No object selected"); + ModelObject* mo = wxGetApp().model().objects[obj_idx]; + + TopoDS_Wire outer = m_profiles[0].to_occt_wire(m_plane); + BRepBuilderAPI_MakeFace fm(outer); + if (!fm.IsDone()) throw std::runtime_error("Face failed"); + for (size_t i = 1; i < m_profiles.size(); ++i) + if (m_profiles[i].closed) fm.Add(m_profiles[i].to_occt_wire(m_plane)); + fm.Build(); + if (!fm.IsDone()) throw std::runtime_error("Face with holes failed"); + + TopoDS_Shape tool = SketchEngine::make_extrude_face(fm.Face(), m_plane, m_sp.extrude_len + 5.0, false); + TriangleMesh tool_mesh = SketchEngine::tessellate(tool, m_sp.linear_deflection); + if (tool_mesh.its.indices.empty()) throw std::runtime_error("Tool mesh empty"); + + wxGetApp().plater()->take_snapshot("Sketch Pocket"); + mo->add_volume(std::move(tool_mesh), ModelVolumeType::NEGATIVE_VOLUME)->set_new_unique_id(); + mo->ensure_on_bed(); + wxGetApp().plater()->update(); + clear_all(); + wxGetApp().notification_manager()->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::RegularNotificationLevel, UL("Pocket added (negative volume)")); + } catch (const std::exception& e) { + wxGetApp().notification_manager()->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, std::string("Pocket: ")+e.what()); + } +} + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSketch.hpp b/src/slic3r/GUI/Gizmos/GLGizmoSketch.hpp new file mode 100644 index 0000000000..5a4b59edfd --- /dev/null +++ b/src/slic3r/GUI/Gizmos/GLGizmoSketch.hpp @@ -0,0 +1,74 @@ +#ifndef slic3r_GLGizmoSketch_hpp_ +#define slic3r_GLGizmoSketch_hpp_ + +#include "GLGizmoBase.hpp" +#include "GLGizmosCommon.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include <imgui/imgui.h> + +namespace Slic3r { +namespace GUI { + +enum class SketchTool { Line, Rectangle, Circle, Polygon, COUNT }; + +class GLGizmoSketch : public GLGizmoBase +{ +public: + GLGizmoSketch(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id); + + bool on_mouse(const wxMouseEvent& mouse_event) override; + +protected: + bool on_init() override; + std::string on_get_name() const override; + bool on_is_activable() const override; + void on_render() override; + void on_set_state() override; + CommonGizmosDataID on_get_requirements() const override; + void on_render_input_window(float x, float y, float bottom_limit) override; + + void on_load(cereal::BinaryInputArchive& ar) override; + void on_save(cereal::BinaryOutputArchive& ar) const override; + +private: + SketchTool m_tool{SketchTool::Line}; + std::vector<SketchProfile> m_profiles; // multiple profiles (outer + holes) + SketchPlane m_plane{SketchPlane::XY()}; + SketchParams m_sp; + + // Shape presets + double m_rect_w{20}, m_rect_h{15}; + double m_circle_r{10}; int m_circle_seg{32}; + int m_poly_sides{6}; double m_poly_r{10}; + + // Canvas + std::vector<ImVec2> m_canvas_points; + Vec2d m_canvas_center{0,0}; + float m_canvas_scale{5.0f}; + bool m_snap_grid{true}; + float m_grid_step{5.0f}; + + // Current profile being drawn + int m_active_profile{-1}; + + SketchProfile& active_profile(); + bool has_closed_profile() const; + + void build_preset_profile(); + void add_closed_profile(); + void delete_profile(int idx); + void clear_all(); + + TopoDS_Shape build_combined_shape(); // all profiles as face with holes + void apply_extrude(); + void apply_revolve(); + void apply_pocket(); + void draw_canvas(); + void handle_canvas_click(ImVec2 pos); + Vec2d snap(Vec2d pt) const; +}; + +} // namespace GUI +} // namespace Slic3r + +#endif // slic3r_GLGizmoSketch_hpp_ diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp index ca22b14d99..49818e8e11 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp @@ -34,7 +34,6 @@ GLGizmoSlaSupports::GLGizmoSlaSupports(GLCanvas3D& parent, const std::string& ic bool GLGizmoSlaSupports::on_init() { - m_shortcut_key = WXK_CONTROL_L; m_desc["head_diameter"] = _L("Head diameter") + ": "; m_desc["lock_supports"] = _L("Lock supports under new islands"); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp index df3e9be584..9ae979eeef 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp @@ -261,7 +261,6 @@ bool GLGizmoText::on_init() //m_avail_font_names = init_occt_fonts(); update_font_texture(); m_scale = m_imgui->get_font_size(); - m_shortcut_key = WXK_CONTROL_T; m_grabbers.push_back(Grabber()); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoUtils.cpp b/src/slic3r/GUI/Gizmos/GLGizmoUtils.cpp index 00d608b80a..75dca0855d 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoUtils.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoUtils.cpp @@ -32,6 +32,8 @@ */ +using namespace std::string_view_literals; + namespace Slic3r::GUI::GLGizmoUtils { void render_tooltip_button( diff --git a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp index 64e566805e..5243c8294f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp @@ -410,6 +410,10 @@ void ObjectClipper::set_position_by_ratio(double pos, bool keep_normal, bool ver void ObjectClipper::set_range_and_pos(const Vec3d& cpl_normal, double cpl_offset, double pos) { + // Called every frame by GLGizmoCut3D::on_render(), usually with the plane already set. + if (m_clp && *m_clp == ClippingPlane(cpl_normal, cpl_offset) && m_clp_ratio == pos) + return; + m_clp.reset(new ClippingPlane(cpl_normal, cpl_offset)); m_clp_ratio = pos; get_pool()->get_canvas()->set_as_dirty(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index 9cff834346..dc51518acc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -4,6 +4,7 @@ #include "slic3r/GUI/3DScene.hpp" #include "slic3r/GUI/Camera.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/Shortcuts.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/Utils/UndoRedo.hpp" @@ -27,11 +28,17 @@ #include "slic3r/GUI/Gizmos/GLGizmoSVG.hpp" #include "slic3r/GUI/Gizmos/GLGizmoMeshBoolean.hpp" #include "slic3r/GUI/Gizmos/GLGizmoAssembly.hpp" +#ifdef SLIC3R_CAD +#include "slic3r/GUI/Gizmos/GLGizmoPrimitive.hpp" +#include "slic3r/GUI/Gizmos/GLGizmoSketch.hpp" +#endif #include "libslic3r/format.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/PresetBundle.hpp" +#include <boost/functional/hash.hpp> + #include <wx/glcanvas.h> namespace Slic3r { @@ -176,6 +183,14 @@ void GLGizmosManager::switch_gizmos_icon_filename() case (EType::BrimEars): gizmo->set_icon_filename(m_is_dark ? "toolbar_brimears_dark.svg" : "toolbar_brimears.svg"); break; +#ifdef SLIC3R_CAD + case (EType::Primitive): + gizmo->set_icon_filename(m_is_dark ? "toolbar_modifier_cube_dark.svg" : "toolbar_modifier_cube.svg"); + break; + case (EType::Sketch): + gizmo->set_icon_filename(m_is_dark ? "toolbar_sketch_dark.svg" : "toolbar_sketch.svg"); + break; +#endif } } @@ -219,6 +234,14 @@ bool GLGizmosManager::init() m_gizmos.emplace_back(new GLGizmoAssembly(m_parent, m_is_dark ? "toolbar_assembly_dark.svg" : "toolbar_assembly.svg", EType::Assembly)); m_gizmos.emplace_back(new GLGizmoSimplify(m_parent, "reduce_triangles.svg", EType::Simplify)); m_gizmos.emplace_back(new GLGizmoBrimEars(m_parent, m_is_dark ? "toolbar_brimears_dark.svg" : "toolbar_brimears.svg", EType::BrimEars)); +#ifdef SLIC3R_CAD + // Registered last: Primitive and Sketch are the final entries before Undefined, so + // omitting them leaves every preceding m_gizmos index (indexed by EType) untouched. + if (wxGetApp().is_enable_cad_feature()) { + m_gizmos.emplace_back(new GLGizmoPrimitive(m_parent, m_is_dark ? "toolbar_modifier_cube_dark.svg" : "toolbar_modifier_cube.svg", static_cast<unsigned int>(Primitive))); + m_gizmos.emplace_back(new GLGizmoSketch(m_parent, m_is_dark ? "toolbar_sketch_dark.svg" : "toolbar_sketch.svg", static_cast<unsigned int>(Sketch))); + } +#endif //m_gizmos.emplace_back(new GLGizmoSlaSupports(m_parent, "sla_supports.svg", sprite_id++)); //m_gizmos.emplace_back(new GLGizmoFaceDetector(m_parent, "face recognition.svg", sprite_id++)); //m_gizmos.emplace_back(new GLGizmoHollow(m_parent, "hollow.svg", sprite_id++)); @@ -464,15 +487,13 @@ bool GLGizmosManager::is_running() const return m_current != Undefined; } -bool GLGizmosManager::handle_shortcut(int key) +bool GLGizmosManager::open_gizmo_by_shortcut(Shortcut shortcut) { if (!m_enabled) return false; - auto is_key = [pressed_key = key](int gizmo_key) { return (gizmo_key == pressed_key - 64) || (gizmo_key == pressed_key - 96); }; - // allowe open shortcut even when selection is empty - if (GLGizmoBase* gizmo_emboss = m_gizmos[Emboss].get(); - is_key(gizmo_emboss->get_shortcut_key())) { + // The text tool opens without a selection because it creates its own object. + if (GLGizmoBase* gizmo_emboss = m_gizmos[Emboss].get(); gizmo_emboss->shortcut() == shortcut) { dynamic_cast<GLGizmoEmboss *>(gizmo_emboss)->on_shortcut_key(); return true; } @@ -480,16 +501,21 @@ bool GLGizmosManager::handle_shortcut(int key) if (m_parent.get_selection().is_empty()) return false; - auto is_gizmo = [is_key](const std::unique_ptr<GLGizmoBase> &gizmo) { - return gizmo->is_activable() && is_key(gizmo->get_shortcut_key()); - }; - auto it = std::find_if(m_gizmos.begin(), m_gizmos.end(), is_gizmo); - + auto it = std::find_if(m_gizmos.begin(), m_gizmos.end(), [shortcut](const std::unique_ptr<GLGizmoBase> &gizmo) { + return gizmo->is_activable() && gizmo->shortcut() == shortcut; + }); if (it == m_gizmos.end()) return false; - EType gizmo_type = EType(it - m_gizmos.begin()); - return open_gizmo(gizmo_type); + return open_gizmo(EType(it - m_gizmos.begin())); +} + +bool GLGizmosManager::on_delete_key() +{ + const bool processed = (m_current == Cut || m_current == Measure || m_current == Assembly) && gizmo_event(SLAGizmoEventType::Delete); + if (processed) + m_parent.set_as_dirty(); + return processed; } bool GLGizmosManager::is_dragging() const @@ -611,6 +637,7 @@ void GLGizmosManager::render_painter_assemble_view() const m_assemble_view_data->model_objects_clipper()->render_cut(); } +// The icon bar, drawn with GL. void GLGizmosManager::render_overlay() { if (!m_enabled) @@ -619,7 +646,27 @@ void GLGizmosManager::render_overlay() if (m_icons_texture_dirty) generate_icons_texture(); - do_render_overlay(); + do_render_overlay(true); +} + +// The open gizmo's settings panel, ImGui. +void GLGizmosManager::render_overlay_input_window() +{ + if (!m_enabled) + return; + + do_render_overlay(false); +} + +size_t GLGizmosManager::get_overlay_state_hash() const +{ + size_t hash = 0; + boost::hash_combine(hash, m_enabled); + boost::hash_combine(hash, (int)m_hover); + boost::hash_combine(hash, (int)m_current); + boost::hash_combine(hash, (int)m_highlight.first); + boost::hash_combine(hash, m_highlight.second); + return hash; } std::string GLGizmosManager::get_tooltip() const @@ -813,15 +860,6 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt) } break; } - //skip some keys when gizmo - case 'A': - case 'a': - { - if (is_running()) { - processed = true; - } - break; - } //case WXK_RETURN: //{ // if ((m_current == SlaSupports) && gizmo_event(SLAGizmoEventType::ApplyChanges)) @@ -840,12 +878,6 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt) //} - case WXK_BACK: - case WXK_DELETE: { - if ((m_current == Cut || m_current == Measure || m_current == Assembly) && gizmo_event(SLAGizmoEventType::Delete)) - processed = true; - break; - } //case 'A': //case 'a': //{ @@ -889,11 +921,6 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt) } } - if (!processed && !evt.HasModifiers()) { - if (handle_shortcut(keyCode)) - processed = true; - } - if (processed) m_parent.set_as_dirty(); @@ -1034,40 +1061,24 @@ bool GLGizmosManager::on_key(wxKeyEvent& evt) processed = select(digit); } } - else if (keyCode == 'F' || keyCode == 'T' || keyCode == 'S' || keyCode == 'C' || keyCode == 'H' || keyCode == 'G') { - processed = mmu_seg->on_key_down_select_tool_type(keyCode); - if (processed) { - // force extra frame to automatically update window size - wxGetApp().imgui()->set_requires_extra_frame(); - } - } } } - else if (m_current == FdmSupports) { - GLGizmoFdmSupports* fdm_support = dynamic_cast<GLGizmoFdmSupports*>(get_current()); - if (fdm_support != nullptr && (keyCode == 'F' || keyCode == 'S' || keyCode == 'C' || keyCode == 'G')) { - processed = fdm_support->on_key_down_select_tool_type(keyCode); - } - if (processed) { - // force extra frame to automatically update window size - wxGetApp().imgui()->set_requires_extra_frame(); - } - } - else if (m_current == Seam) { - GLGizmoSeam* seam = dynamic_cast<GLGizmoSeam*>(get_current()); - if (seam != nullptr && (keyCode == 'S' || keyCode == 'C')) { - processed = seam->on_key_down_select_tool_type(keyCode); - } - if (processed) { - // force extra frame to automatically update window size - wxGetApp().imgui()->set_requires_extra_frame(); - } - } else if (m_current == Measure || m_current == Assembly) { + else if (m_current == Measure || m_current == Assembly) { if (keyCode == WXK_CONTROL) gizmo_event(SLAGizmoEventType::CtrlDown, Vec2d::Zero(), evt.ShiftDown(), evt.AltDown(), evt.CmdDown()); else if (keyCode == WXK_SHIFT) gizmo_event(SLAGizmoEventType::ShiftDown, Vec2d::Zero(), evt.ShiftDown(), evt.AltDown(), evt.CmdDown()); } + + if (!processed) { + if (auto painter = dynamic_cast<GLGizmoPainterBase*>(get_current()); painter != nullptr) { + const std::optional<Shortcut> shortcut = wxGetApp().shortcuts().lookup(ShortcutContext::Painting, KeyChord::from_event(evt)); + processed = shortcut.has_value() && painter->on_tool_shortcut(*shortcut); + if (processed) + // force extra frame to automatically update window size + wxGetApp().imgui()->set_requires_extra_frame(); + } + } } if (processed) @@ -1202,7 +1213,9 @@ void GLGizmosManager::render_arrow(const GLCanvas3D& parent, EType highlighted_t //BBS: GUI refactor: GLToolbar&&Gizmo adjust //when rendering, {0, 0} is at the center, {-0.5, 0.5} at the left-top -void GLGizmosManager::do_render_overlay() const +// draw_icons selects the icon bar (GL) or the open gizmo's input window (ImGui), placed by the same +// layout walk. +void GLGizmosManager::do_render_overlay(bool draw_icons) const { const std::vector<size_t> selectable_idxs = get_selectable_idxs(); if (selectable_idxs.empty()) @@ -1241,7 +1254,8 @@ void GLGizmosManager::do_render_overlay() const } float top_y = 1.0f; - render_background(top_x, top_y, top_x + width, top_y - height, border_w, border_h); + if (draw_icons) + render_background(top_x, top_y, top_x + width, top_y - height, border_w, border_h); top_x += border_w; top_y -= border_h; @@ -1278,7 +1292,8 @@ void GLGizmosManager::do_render_overlay() const const float v_top = v_offset + sprite_id * dv; const float v_bottom = v_top + dv - v_offset; - GLTexture::render_sub_texture(icons_texture_id, top_x, top_x + icons_size_x, top_y - icons_size_y, top_y, { { u_left, v_bottom }, { u_right, v_bottom }, { u_right, v_top }, { u_left, v_top } }); + if (draw_icons) + GLTexture::render_sub_texture(icons_texture_id, top_x, top_x + icons_size_x, top_y - icons_size_y, top_y, { { u_left, v_bottom }, { u_right, v_bottom }, { u_right, v_top }, { u_left, v_top } }); if (idx == m_current // Orca: Show Svg dialog at the same place as emboss gizmo || (m_current == Svg && idx == Emboss)) { @@ -1286,7 +1301,8 @@ void GLGizmosManager::do_render_overlay() const //render_input_window uses a different coordination(imgui) //1. no need to scale by camera zoom, set {0,0} at left-up corner for imgui //gizmo->render_input_window(width, 0.5f * cnv_h - zoomed_top_y * zoom, toolbar_top); - m_gizmos[m_current]->render_input_window(0.5 * cnv_w + 0.5f * top_x * cnv_w, get_scaled_total_height(), cnv_h); + if (!draw_icons) + m_gizmos[m_current]->render_input_window(0.5 * cnv_w + 0.5f * top_x * cnv_w, get_scaled_total_height(), cnv_h); is_render_current = true; } @@ -1294,7 +1310,7 @@ void GLGizmosManager::do_render_overlay() const } // BBS simplify gizmo is not a selected gizmo and need to render input window - if (!is_render_current && m_current != Undefined) { + if (!draw_icons && !is_render_current && m_current != Undefined) { m_gizmos[m_current]->render_input_window(0.5 * cnv_w + 0.5f * top_x * cnv_w, get_scaled_total_height(), cnv_h); } } @@ -1326,7 +1342,8 @@ GLGizmoBase* GLGizmosManager::get_current() const GLGizmoBase* GLGizmosManager::get_gizmo(GLGizmosManager::EType type) const { - return ((type == Undefined) || m_gizmos.empty()) ? nullptr : m_gizmos[type].get(); + // m_gizmos ends before the enum does when the CAD gizmos are not registered. + return type < m_gizmos.size() ? m_gizmos[type].get() : nullptr; } GLGizmosManager::EType GLGizmosManager::get_gizmo_from_name(const std::string& gizmo_name) const diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp index 157eb43dc7..2a4afac16d 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp @@ -90,6 +90,12 @@ public: Assembly, Simplify, BrimEars, +#ifdef SLIC3R_CAD + // Both need the CAD kernel (GeometryEngine); keep them last so that with + // SLIC3R_CAD off the enum matches upstream's numbering exactly. + Primitive, + Sketch, +#endif //SlaSupports, // BBS //FaceRecognition, @@ -257,7 +263,10 @@ public: EType get_gizmo_from_name(const std::string& gizmo_name) const; bool is_running() const; - bool handle_shortcut(int key); + // Opens the gizmo bound to a Plater-context shortcut; false when no gizmo has it or it cannot open now. + bool open_gizmo_by_shortcut(Shortcut shortcut); + // Lets the current gizmo consume the delete key; false when it did not. + bool on_delete_key(); bool is_dragging() const; @@ -290,6 +299,9 @@ public: void render_painter_assemble_view() const; void render_overlay(); + void render_overlay_input_window(); + // Hash of the state render_overlay() draws from: enabled, hover, current and highlight. + size_t get_overlay_state_hash() const; void render_arrow(const GLCanvas3D& parent, EType highlighted_type) const; @@ -323,7 +335,7 @@ private: void render_background(float left, float top, float right, float bottom, float border_w, float border_h) const; - void do_render_overlay() const; + void do_render_overlay(bool draw_icons) const; bool generate_icons_texture(); diff --git a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp index 7c4a2afd38..5d70fde833 100644 --- a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp +++ b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp @@ -702,7 +702,7 @@ bool GizmoObjectManipulation::reset_zero_button(ImGuiWrapper *imgui_wrapper, bo for (int i = 0; i < number; i++) { - char buf[3][64] = {0}; + char buf[3][64] = {}; float buf_size[3] = {0}; for (int j = 0; j < 3; j++) { ImGui::DataTypeFormatString(buf[j], IM_ARRAYSIZE(buf[j]), ImGuiDataType_Double, (void *) &vec[i][j], "%.2f"); diff --git a/src/slic3r/GUI/GradientCurveEditor.cpp b/src/slic3r/GUI/GradientCurveEditor.cpp index 5b1073d231..6d38ef81a5 100644 --- a/src/slic3r/GUI/GradientCurveEditor.cpp +++ b/src/slic3r/GUI/GradientCurveEditor.cpp @@ -1,4 +1,5 @@ #include "GradientCurveEditor.hpp" +#include "FilamentBitmapUtils.hpp" #include "GUI_App.hpp" #include "GuiColor.hpp" #include "I18N.hpp" @@ -19,23 +20,13 @@ namespace GUI { wxDEFINE_EVENT(wxEVT_GRADIENT_CURVE_CHANGED, wxCommandEvent); namespace { -// Layout ratios of the plot rect within the widget, taken from a 214 x 180 px reference drawing. -// Plot rect occupies the upper-left region; right + bottom margins host axis arrows / labels. -constexpr double kPlotLeftRatio = 0.0316; -constexpr double kPlotRightRatio = 0.6766; -constexpr double kPlotTopRatio = 0.1529; -constexpr double kPlotBottomRatio = 0.8474; -constexpr int kGridDivisions = 9; // 10 grid lines including the outer borders. - -// Hit / stroke (DIP). +// Hit / stroke (DIP). The plot-rect ratios, grid divisions, axis/arrow geometry and the +// near-background outline threshold now live in FilamentBitmapUtils so the read-only Publish +// preview and this editor stay pixel-identical. constexpr int kHitRadius = 6; constexpr int kCurveHitRadius = 5; -constexpr int kPointRadius = 4; // anchor outer radius (DIP) constexpr int kStrokeUnselected = 2; constexpr int kStrokeSelected = 4; -constexpr int kStrokeAxis = 2; // axis line width (px, no DPI scaling - matches kGridColor pen and 2DBed convention) -constexpr int kAxisArrowHalf = 5; // half-base of the axis arrow triangle (DIP) -constexpr int kAxisArrowLen = 10; // length of the axis arrow triangle (DIP) // Light-mode design tokens. Resolved through StateColor::darkModeColorFor() // at paint time so the editor follows the app theme (#EEEEEE -> #4C4C55, #6B6B6B -> @@ -46,12 +37,6 @@ const wxColour kAxisColor (107, 107, 107); // #6B6B6B grey 700 const wxColour kLabelMuted (107, 107, 107); // #6B6B6B grey 700 const wxColour kLabelStrong ( 38, 46, 48); // #262E30 grey 900 const wxColour kOutlineColor(172, 172, 172); // #ACACAC dimmed elements - -// LAB (DeltaE76) threshold for "curve color is too close to the background": below it the curve -// gets a subtle outline so it does not visually vanish, otherwise it is drawn plain. Looser than -// the 5.0 of FlushPredict::is_similar_color, so a pastel pink on white still gets an outline. -constexpr float kBgSimilarThreshold = 15.0f; -constexpr int kOutlineExtraDip = 2; } // namespace GradientCurveEditor::GradientCurveEditor(wxWindow* parent, @@ -177,15 +162,8 @@ void GradientCurveEditor::emit_changed() wxRect GradientCurveEditor::plot_rect() const { - const wxSize sz = GetClientSize(); - const int x = static_cast<int>(std::lround(sz.x * kPlotLeftRatio)); - const int y = static_cast<int>(std::lround(sz.y * kPlotTopRatio)); - const int x2 = static_cast<int>(std::lround(sz.x * kPlotRightRatio)); - const int y2 = static_cast<int>(std::lround(sz.y * kPlotBottomRatio)); - // Force square 1:1 so X/Y axes share the same scale and grid cells stay square. Anchor at - // the top-left so the "100%" labels on the bottom/right still align with the plot edges. - const int side = std::max(1, std::min(x2 - x, y2 - y)); - return wxRect(x, y, side, side); + // Square 1:1 plot, shared with the Publish dialog's read-only preview. + return mixed_gradient_plot_rect(GetClientSize()); } wxPoint2DDouble GradientCurveEditor::data_to_px_f(double x, double y) const @@ -330,171 +308,52 @@ void GradientCurveEditor::on_paint(wxPaintEvent& /*evt*/) raw_dc.SetBackground(wxBrush(bg)); raw_dc.Clear(); - // Render through wxGCDC so curves, arrows and anchor circles get anti-aliased; the buffered - // DC is the actual back buffer that gets blitted to the window. - wxGCDC dc(raw_dc); - // The curve and its anchors are drawn straight on the graphics context so their - // coordinates stay sub-pixel accurate (see data_to_px_f). - wxGraphicsContext* gc = dc.GetGraphicsContext(); - - const wxRect rc = plot_rect(); - if (rc.width <= 0 || rc.height <= 0) - return; - - // 10x10 light grid (10 lines including outer borders, 9 equal divisions). - dc.SetPen(wxPen(grid_color, 1)); - for (int i = 0; i <= kGridDivisions; ++i) { - const int x = rc.x + rc.width * i / kGridDivisions; - const int y = rc.y + rc.height * i / kGridDivisions; - dc.DrawLine(x, rc.y, x, rc.y + rc.height); - dc.DrawLine(rc.x, y, rc.x + rc.width, y); - } - - // Set the label font first so text width measurements drive arrow / label placement. - wxFont label_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); - label_font.SetPointSize(std::max(7, label_font.GetPointSize() - 1)); - dc.SetFont(label_font); - - const wxString axis_y_title = _L("Material Ratio"); - const wxString axis_x_title = _L("Model Height"); - const wxString pct_text = wxT("100%"); - const wxSize x_title_sz = dc.GetTextExtent(axis_x_title); - const wxSize y_title_sz = dc.GetTextExtent(axis_y_title); - - wxFont strong_font = label_font; - strong_font.SetWeight(wxFONTWEIGHT_SEMIBOLD); - dc.SetFont(strong_font); - const wxSize pct_text_sz = dc.GetTextExtent(pct_text); - dc.SetFont(label_font); - - // Axes (grey 700) with filled triangle arrows. Y-axis extends above the plot top to the - // canvas top edge; X-axis extends past the plot right toward the canvas right edge. - const int arrow_half = FromDIP(kAxisArrowHalf); - const int arrow_len = FromDIP(kAxisArrowLen); - const wxSize sz = GetClientSize(); - dc.SetPen(wxPen(axis_color, kStrokeAxis)); - dc.SetBrush(wxBrush(axis_color)); - - // Y-axis: vertical line at plot_left, from arrow tip near canvas top down to plot bottom. - const int y_axis_x = rc.x; - const int y_title_pct_gap = FromDIP(1); - const int y_title_bottom_pad = FromDIP(2); - const int y_title_y = std::max(0, rc.y - y_title_sz.y - y_title_pct_gap - pct_text_sz.y - y_title_bottom_pad); - const int y_arrow_tip_y = y_title_y; - const int y_arrow_ty = y_arrow_tip_y + arrow_len; - dc.DrawLine(y_axis_x, y_arrow_ty, y_axis_x, rc.y + rc.height); - { - wxPoint tri[3] = { - wxPoint(y_axis_x, y_arrow_tip_y), - wxPoint(y_axis_x - arrow_half, y_arrow_ty), - wxPoint(y_axis_x + arrow_half, y_arrow_ty), + // Render the plot (grid, axes, labels, curves, anchors) through the shared painter so the + // interactive editor and the Publish dialog's read-only preview stay pixel-identical. The + // curves are handed over as sub-pixel polylines and anti-alias inside the helper. + std::vector<MixedGradientCurve> curves; + std::vector<wxPoint2DDouble> anchors; + if (m_points.size() >= 2) { + auto color_for_curve = [&](int curve_idx) -> wxColour { + wxColour c = (curve_idx == 0) ? m_color_low : m_color_high; + // Transparent filaments (alpha == 0, e.g. #FFFFFF00) would be invisible. + if (c.Alpha() == 0) + c.Set(c.Red(), c.Green(), c.Blue(), 150); + return c; }; - dc.DrawPolygon(3, tri); - } - // X-axis arrow tip: stays just past the plot ideally, but is clamped so the trailing - // "Material Ratio" label still fits inside the canvas without overlapping the arrow. - const int x_axis_y = rc.y + rc.height; - const int x_label_gap = FromDIP(4); - const int x_edge_pad = FromDIP(6); - const int x_arrow_ideal = rc.x + rc.width + FromDIP(10); - const int x_arrow_max = sz.x - x_title_sz.x - x_label_gap - x_edge_pad - arrow_len; - const int x_arrow_tx = std::max(rc.x + rc.width + arrow_len, - std::min(x_arrow_ideal, x_arrow_max)); - const int x_arrow_tip_x = x_arrow_tx + arrow_len; - const int x_title_x = x_arrow_tip_x + x_label_gap; - dc.DrawLine(rc.x, x_axis_y, x_arrow_tx, x_axis_y); - { - wxPoint tri[3] = { - wxPoint(x_arrow_tip_x, x_axis_y), - wxPoint(x_arrow_tx, x_axis_y - arrow_half), - wxPoint(x_arrow_tx, x_axis_y + arrow_half), + auto build_polyline = [&](int curve_idx) -> std::vector<wxPoint2DDouble> { + const int samples = std::max(128, plot_rect().width * 2); + std::vector<wxPoint2DDouble> poly; + poly.reserve(samples + 1); + for (int s = 0; s <= samples; ++s) { + const double x = double(s) / samples; + const double y0 = sample_curve_y(x); + const double vy = to_visual_y(curve_idx, y0); + poly.push_back(data_to_px_f(x, vy)); + } + return poly; }; - dc.DrawPolygon(3, tri); - } - // Labels. - // "Model Height" and "100%" share the same left x; the gap is larger than the - // axis-arrow half-base so the text never visually touches the Y-axis arrow. - const int label_left_x = y_axis_x + FromDIP(10); - dc.SetTextForeground(label_muted); - dc.DrawText(axis_y_title, label_left_x, y_title_y); - - dc.SetFont(strong_font); - dc.SetTextForeground(label_strong); - dc.DrawText(pct_text, label_left_x, y_title_y + y_title_sz.y + y_title_pct_gap); - - // Bottom-right "100%" sits under the right end of the plot; "Material Ratio" follows the - // X-axis arrow tip (placement was already clamped above to leave room). - dc.DrawText(pct_text, rc.x + rc.width - pct_text_sz.x, x_axis_y); - dc.SetFont(label_font); - dc.SetTextForeground(label_muted); - dc.DrawText(axis_x_title, x_title_x, x_axis_y - x_title_sz.y / 2); - - if (m_points.size() < 2 || !gc) - return; - - auto color_for_curve = [&](int curve_idx) -> wxColour { - wxColour c = (curve_idx == 0) ? m_color_low : m_color_high; - // Transparent filaments (alpha == 0, e.g. #FFFFFF00) would be invisible. - // Lift alpha so the curve stays visible while still hinting at transparency. - if (c.Alpha() == 0) - c.Set(c.Red(), c.Green(), c.Blue(), 150); - return c; - }; - - auto build_polyline = [&](int curve_idx) -> std::vector<wxPoint2DDouble> { - const int samples = std::max(128, rc.width * 2); - std::vector<wxPoint2DDouble> poly; - poly.reserve(samples + 1); - for (int s = 0; s <= samples; ++s) { - const double x = double(s) / samples; - const double y0 = sample_curve_y(x); - const double vy = to_visual_y(curve_idx, y0); - poly.push_back(data_to_px_f(x, vy)); + // Draw unselected first so the selected curve sits on top. + const int other = 1 - m_selected_curve; + for (const int idx : {other, m_selected_curve}) { + std::vector<wxPoint2DDouble> pts = build_polyline(idx); + if (pts.empty()) + continue; + curves.push_back({std::move(pts), color_for_curve(idx), idx == m_selected_curve ? kStrokeSelected : kStrokeUnselected}); } - return poly; - }; - // Only the geometry goes through the graphics context: dc.DrawLines() takes integer wxPoint - // and would quantize the curve back to whole pixels. The pen is still set on the dc, which - // forwards it here while keeping its own cached state in sync for later dc drawing. - auto draw_polyline = [&](const std::vector<wxPoint2DDouble>& poly, const wxColour& col, int stroke_dip) { - dc.SetPen(wxPen(col, FromDIP(stroke_dip))); - gc->StrokeLines(poly.size(), poly.data()); - }; - - // Outline only when the curve color is perceptually close to the background; otherwise - // the plain filament color reads fine and the extra stroke would look heavy. - auto needs_outline = [&](const wxColour& c) { - return calc_color_distance(c, bg) < kBgSimilarThreshold; - }; - - auto draw_one = [&](int curve_idx, int stroke_dip) { - const auto poly = build_polyline(curve_idx); - const wxColour col = color_for_curve(curve_idx); - if (needs_outline(col)) - draw_polyline(poly, outline_color, stroke_dip + kOutlineExtraDip); - draw_polyline(poly, col, stroke_dip); - }; - - // Draw unselected first so the selected curve sits on top. - const int other = 1 - m_selected_curve; - draw_one(other, kStrokeUnselected); - draw_one(m_selected_curve, kStrokeSelected); - - // Control points (selected curve only): hollow circle with axis-color border, theme-aware fill. - // Drawn on the graphics context with a sub-pixel center so the ring stays centered on the - // curve instead of drifting up to half a pixel off it; pen and brush go through the dc for - // the same reason as in draw_polyline above. - const double r = FromDIP(kPointRadius); - dc.SetPen(wxPen(axis_color, 1)); - dc.SetBrush(wxBrush(point_fill)); - for (size_t i = 0; i < m_points.size(); ++i) { - const double vy = to_visual_y(m_selected_curve, m_points[i].y); - const wxPoint2DDouble p = data_to_px_f(m_points[i].x, vy); - gc->DrawEllipse(p.m_x - r, p.m_y - r, r * 2, r * 2); + // Control points (selected curve only). + anchors.reserve(m_points.size()); + for (size_t i = 0; i < m_points.size(); ++i) { + const double vy = to_visual_y(m_selected_curve, m_points[i].y); + anchors.push_back(data_to_px_f(m_points[i].x, vy)); + } } + + const MixedGradientTheme theme{bg, grid_color, axis_color, label_muted, label_strong, outline_color, point_fill}; + draw_mixed_gradient_plot(raw_dc, GetClientSize(), curves, anchors, theme); } void GradientCurveEditor::on_left_down(wxMouseEvent& evt) diff --git a/src/slic3r/GUI/HMSPanel.cpp b/src/slic3r/GUI/HMSPanel.cpp index cd3d35bfc8..1268cb8f7b 100644 --- a/src/slic3r/GUI/HMSPanel.cpp +++ b/src/slic3r/GUI/HMSPanel.cpp @@ -122,7 +122,8 @@ HMSNotifyItem::HMSNotifyItem(const std::string& dev_id, wxWindow *parent, DevHMS m_hms_content->Bind(wxEVT_LEFT_UP, [this](wxMouseEvent& e) { wxCommandEvent evt(EVT_ALREADY_READ_HMS); evt.SetString(long_error_code); - wxPostEvent(wxGetApp().mainframe->m_monitor, evt); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + wxPostEvent(monitor, evt); if (!m_url.empty()) wxLaunchDefaultBrowser(m_url); }); @@ -170,7 +171,7 @@ HMSPanel::HMSPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wx m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); m_scrolledWindow->SetBackgroundColour(*wxWHITE); - m_scrolledWindow->SetScrollRate(5, 5); + m_scrolledWindow->SetScrollRate(5, FromDIP(20)); m_top_sizer = new wxBoxSizer(wxVERTICAL); diff --git a/src/slic3r/GUI/HMSPanel.hpp b/src/slic3r/GUI/HMSPanel.hpp index 49910590b8..25ac56de96 100644 --- a/src/slic3r/GUI/HMSPanel.hpp +++ b/src/slic3r/GUI/HMSPanel.hpp @@ -25,7 +25,6 @@ class HMSNotifyItem : public wxPanel wxStaticBitmap *m_bitmap_notify; wxStaticBitmap *m_bitmap_arrow; wxStaticText * m_hms_content; - wxHtmlWindow * m_html; wxPanel * m_staticline; wxBitmap m_img_notify_lv1; diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp index c08a447e1e..de5f12e07e 100644 --- a/src/slic3r/GUI/HintNotification.cpp +++ b/src/slic3r/GUI/HintNotification.cpp @@ -5,6 +5,7 @@ #include "GUI_ObjectList.hpp" #include "GLCanvas3D.hpp" #include "MainFrame.hpp" +#include "Preferences.hpp" #include "Tab.hpp" #include "libslic3r/AppConfig.hpp" #include "libslic3r/Utils.hpp" @@ -444,9 +445,8 @@ void HintDatabase::load_hints_from_file(const boost::filesystem::path& path) // open preferences } else if (dict["hypertext_type"] == "preferences") { - std::string page = dict["hypertext_preferences_page"]; std::string item = dict["hypertext_preferences_item"]; - HintData hint_data{ id_string, text1, weight, was_displayed, hypertext_text, follow_text, disabled_tags, enabled_tags, false, documentation_link, img_url, [page, item]() { wxGetApp().open_preferences(1, page); } };// 1 is to modify + HintData hint_data{ id_string, text1, weight, was_displayed, hypertext_text, follow_text, disabled_tags, enabled_tags, false, documentation_link, img_url, [item]() { wxGetApp().open_preferences(PreferencesTab::Control, item); } }; m_loaded_hints.emplace_back(hint_data); } else if (dict["hypertext_type"] == "plater") { diff --git a/src/slic3r/GUI/HttpServer.cpp b/src/slic3r/GUI/HttpServer.cpp index afdc46e9f0..ef26f20173 100644 --- a/src/slic3r/GUI/HttpServer.cpp +++ b/src/slic3r/GUI/HttpServer.cpp @@ -4,6 +4,10 @@ #include "slic3r/Utils/Http.hpp" #include "slic3r/Utils/NetworkAgent.hpp" #include "slic3r/Utils/BBLNetworkPlugin.hpp" +#include "libslic3r/Thread.hpp" +#include <nlohmann/json.hpp> + +using json = nlohmann::json; namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/IMSlider.cpp b/src/slic3r/GUI/IMSlider.cpp index c008963646..fa777b6a37 100644 --- a/src/slic3r/GUI/IMSlider.cpp +++ b/src/slic3r/GUI/IMSlider.cpp @@ -1,6 +1,7 @@ #include "IMSlider.hpp" #include "libslic3r/GCode.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" #include "NotificationManager.hpp" #include "Widgets/StateColor.hpp" #ifndef IMGUI_DEFINE_MATH_OPERATORS @@ -790,7 +791,7 @@ void IMSlider::draw_ticks(const ImRect& slideable_region) { void IMSlider::show_tooltip(const std::string tooltip) { ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 6 * m_scale, 3 * m_scale }); - ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, { 3 * m_scale }); + ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 3 * m_scale); ImGui::PushStyleColor(ImGuiCol_PopupBg, ImGuiWrapper::COL_WINDOW_BACKGROUND); ImGui::PushStyleColor(ImGuiCol_Border, { 0,0,0,0 }); ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.00f, 1.00f, 1.00f, 1.00f)); diff --git a/src/slic3r/GUI/IMSlider.hpp b/src/slic3r/GUI/IMSlider.hpp index 45e4d6ccb8..d28a65c1ff 100644 --- a/src/slic3r/GUI/IMSlider.hpp +++ b/src/slic3r/GUI/IMSlider.hpp @@ -216,7 +216,6 @@ private: long m_extra_style; float m_label_koef{1.0}; - float m_zero_layer_height = 0.0f; std::vector<double> m_values; TickCodeInfo m_ticks; std::vector<double> m_layers_times; diff --git a/src/slic3r/GUI/IdleScheduler.cpp b/src/slic3r/GUI/IdleScheduler.cpp new file mode 100644 index 0000000000..18498fce0d --- /dev/null +++ b/src/slic3r/GUI/IdleScheduler.cpp @@ -0,0 +1,105 @@ +#include "IdleScheduler.hpp" + +#include <chrono> + +#include <boost/log/trivial.hpp> +#include <wx/evtloop.h> + +#include "libslic3r/Utils.hpp" + +#ifdef _WIN32 +#include <windows.h> +#endif + +namespace Slic3r { namespace GUI { + +namespace { + +// The timer's period while waiting for the user to go quiet. +constexpr int tick_ms = 250; +// Input-free time before a slice may start, about a double-click interval, so a user +// mid-gesture is left alone. +constexpr int quiet_ms = 500; +// Budget of one slice. The next slice is a timer message, so paint, timers and input +// queued meanwhile are handled first; a click waits at most a slice plus the unit that +// overran it. +constexpr int slice_ms = 40; +// Delay before the next slice; on GTK a due timer runs ahead of repaints and posted events, +// and wxOSX rejects a 0 ms timer. +constexpr int next_slice_ms = 5; + +// True when unhandled keyboard, button, touch or pen input is queued; only Windows can ask. +bool input_pending() +{ +#ifdef _WIN32 + // Windows synthesizes a mouse move whenever a window appears under the cursor, so those + // do not count. + return (GetQueueStatus(QS_INPUT & ~QS_MOUSEMOVE) >> 16) != 0; +#else + return false; +#endif +} + +// True inside a wxYield(), where a slice would build pages in the middle of the code that yielded. +bool yielding() +{ + const wxEventLoopBase* loop = wxEventLoopBase::GetActive(); + return loop != nullptr && loop->IsYielding(); +} + +} // namespace + +IdleScheduler::IdleScheduler(std::function<int()> input_idle_ms) : m_input_idle_ms(std::move(input_idle_ms)) +{ + m_timer.Bind(wxEVT_TIMER, [this](wxTimerEvent&) { tick(); }); +} + +void IdleScheduler::start() +{ + if (!m_timer.IsRunning()) + m_timer.Start(tick_ms); +} + +void IdleScheduler::stop() +{ + m_timer.Stop(); +} + +void IdleScheduler::tick() +{ + // A unit that pumps the event loop lets the timer fire inside its own slice. + if (m_in_slice) + return; + if (!m_queue.pending()) { + stop(); + return; + } + if (m_input_idle_ms() < quiet_ms || input_pending() || yielding()) { + start(); + return; + } + const auto now_ms = [] { + return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now().time_since_epoch()).count(); + }; + const char* const fn = __FUNCTION__; + m_in_slice = true; + PrebuildQueue::Slice slice; + { + ScopeGuard in_slice([this] { m_in_slice = false; }); + slice = m_queue.run_slice(slice_ms, now_ms, input_pending, [fn](const std::string& name, long long ms) { + BOOST_LOG_TRIVIAL(debug) << fn << ": " << name << ": unit took " << ms << " ms"; + }); + } + if (slice.completed) + BOOST_LOG_TRIVIAL(info) << fn << ": task complete: " << slice.name << ", " << slice.units << " unit(s) in " << slice.ms << " ms this slice"; + else + BOOST_LOG_TRIVIAL(debug) << fn << ": " << slice.name << ": " << slice.units << " unit(s) in " << slice.ms << " ms, yielding"; + if (!slice.remaining) + stop(); + else if (input_pending()) + m_timer.Start(tick_ms); + else + m_timer.StartOnce(next_slice_ms); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/IdleScheduler.hpp b/src/slic3r/GUI/IdleScheduler.hpp new file mode 100644 index 0000000000..7c31e9414c --- /dev/null +++ b/src/slic3r/GUI/IdleScheduler.hpp @@ -0,0 +1,41 @@ +#pragma once + +#include <functional> +#include <string> + +#include <wx/event.h> +#include <wx/timer.h> + +#include "PrebuildQueue.hpp" + +namespace Slic3r { namespace GUI { + +// Runs the queue's units while the user is idle. Once the user has been idle long enough, +// slices run one per timer message until the work is done or input arrives, so the event +// loop handles what it has between slices. Main thread only. +class IdleScheduler +{ +public: + // input_idle_ms reports how long ago the user last touched the mouse or keyboard. + explicit IdleScheduler(std::function<int()> input_idle_ms); + + void add(LazyBase& task) { m_queue.add(task); } + void clear() { m_queue.clear(); } + // The task names in queue order, for a log line. + std::string names() const { return m_queue.names(); } + + // Arms the timer; it stops itself once no task is pending, so call again when a task + // appears. + void start(); + void stop(); + +private: + void tick(); + + PrebuildQueue m_queue; + wxTimer m_timer; + std::function<int()> m_input_idle_ms; + bool m_in_slice{ false }; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index eeaadd0cbd..3ccbc6745a 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -505,6 +505,23 @@ bool ImGuiWrapper::update_key_data(wxKeyEvent &evt) if (evt.GetEventType() == wxEVT_CHAR) { // Char event const auto key = evt.GetUnicodeKey(); + // THE MEASUREMENT THAT CANNOT LIE. This is the ONLY place in the application where ImGui + // is ever handed a character, so an ImGui text field that stays empty while reporting + // itself active has exactly two possible causes, and this line separates them: no output + // at all means the wxEVT_CHAR never reached the GL canvas (a focus problem, upstream of + // ImGui entirely), while output with unicode=0 means the character arrived empty and is + // being dropped right here. + // + // It lives here rather than on the canvas because a probe bound on the canvas CANNOT + // answer this: GLCanvas3D::on_char is bound later than any constructor-time probe, wx + // runs handlers in reverse bind order, and on_char returns without Skip() whenever this + // function returns true — so such a probe stays silent whether or not the key arrived. + // A day was lost to reading that silence as evidence. + if (std::getenv("ORCA_CAD_UXTRACE")) { + fprintf(stderr, "[UX] imgui_char unicode=%d keycode=%d want_text=%d\n", + (int) key, evt.GetKeyCode(), (int) io.WantTextInput); + fflush(stderr); + } if (key != 0) { io.AddInputCharacter(key); } @@ -573,11 +590,39 @@ void ImGuiWrapper::new_frame() // BBL: end copy & paste } -void ImGuiWrapper::render() +ImDrawData* ImGuiWrapper::end_frame() { ImGui::Render(); - render_draw_data(ImGui::GetDrawData()); m_new_frame_open = false; + return ImGui::GetDrawData(); +} + +void ImGuiWrapper::render(ImDrawData* draw_data) +{ + render_draw_data(draw_data); +} + +ImGuiID ImGuiWrapper::draw_data_signature(const ImDrawData* draw_data) +{ + ImGuiID hash = 0; + if (draw_data == nullptr) + return hash; + + for (int i = 0; i < draw_data->CmdListsCount; ++i) { + const ImDrawList* list = draw_data->CmdLists[i]; + hash = ImHashData(list->VtxBuffer.Data, list->VtxBuffer.Size * sizeof(ImDrawVert), hash); + hash = ImHashData(list->IdxBuffer.Data, list->IdxBuffer.Size * sizeof(ImDrawIdx), hash); + // ImDrawCmd has padding, and a hovered ImageButton3() differs only in TextureId. + for (const ImDrawCmd& cmd : list->CmdBuffer) { + hash = ImHashData(&cmd.ClipRect, sizeof(cmd.ClipRect), hash); + hash = ImHashData(&cmd.TextureId, sizeof(cmd.TextureId), hash); + hash = ImHashData(&cmd.VtxOffset, sizeof(cmd.VtxOffset), hash); + hash = ImHashData(&cmd.IdxOffset, sizeof(cmd.IdxOffset), hash); + hash = ImHashData(&cmd.ElemCount, sizeof(cmd.ElemCount), hash); + hash = ImHashData(&cmd.UserCallback, sizeof(cmd.UserCallback), hash); + } + } + return hash; } ImVec2 ImGuiWrapper::calc_text_size(std::string_view text, diff --git a/src/slic3r/GUI/ImGuiWrapper.hpp b/src/slic3r/GUI/ImGuiWrapper.hpp index db94b3edcb..ad83d50d2d 100644 --- a/src/slic3r/GUI/ImGuiWrapper.hpp +++ b/src/slic3r/GUI/ImGuiWrapper.hpp @@ -98,7 +98,11 @@ public: const ImWchar *get_glyph_ranges() const { return m_glyph_ranges; } // language specific void new_frame(); - void render(); + // Ends the frame and returns its draw data without drawing it. + ImDrawData* end_frame(); + void render(ImDrawData* draw_data); + // Hash of every draw list's vertices, indices and commands. + static ImGuiID draw_data_signature(const ImDrawData* draw_data); float scaled(float x) const { return x * m_font_size; } ImVec2 scaled(float x, float y) const { return ImVec2(x * m_font_size, y * m_font_size); } diff --git a/src/slic3r/GUI/ImageDPIFrame.hpp b/src/slic3r/GUI/ImageDPIFrame.hpp index 817ef6be18..c22d296492 100644 --- a/src/slic3r/GUI/ImageDPIFrame.hpp +++ b/src/slic3r/GUI/ImageDPIFrame.hpp @@ -3,6 +3,8 @@ #include "GUI_App.hpp" #include "GUI_Utils.hpp" +#include <wx/stattext.h> +#include <wx/timer.h> class wxStaticBitmap; namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/ImageGrid.cpp b/src/slic3r/GUI/ImageGrid.cpp index abef6f0f12..f6bf25d77c 100644 --- a/src/slic3r/GUI/ImageGrid.cpp +++ b/src/slic3r/GUI/ImageGrid.cpp @@ -521,7 +521,7 @@ void ImageGrid::render(wxDC& dc) if (!m_status_msg.IsEmpty()) { auto si = m_status_icon.GetBmpSize(); auto st = dc.GetMultiLineTextExtent(m_status_msg); - auto rect = wxRect{0, 0, max(st.x, si.x), si.y + 26 + st.y}.CenterIn(wxRect({0, 0}, size)); + auto rect = wxRect{0, 0, std::max(st.x, si.x), si.y + 26 + st.y}.CenterIn(wxRect({0, 0}, size)); dc.DrawBitmap(m_status_icon.bmp(), rect.x + (rect.width - si.x) / 2, rect.y); dc.SetTextForeground(wxColor(0x909090)); dc.DrawText(m_status_msg, rect.x + (rect.width - st.x) / 2, rect.GetBottom() - st.y); diff --git a/src/slic3r/GUI/InstanceCheck.cpp b/src/slic3r/GUI/InstanceCheck.cpp index bc68a3f788..28c5176cb1 100644 --- a/src/slic3r/GUI/InstanceCheck.cpp +++ b/src/slic3r/GUI/InstanceCheck.cpp @@ -114,7 +114,10 @@ namespace instance_check_internal if (my_instance_hash == other_instance_hash) { BOOST_LOG_TRIVIAL(debug) << "win enum - found correct instance"; orca_slicer_hwnd = hwnd; - ShowWindow(hwnd, SW_SHOWMAXIMIZED); + // Do not alter the window state when opening a file in the existing instance. + // A minimized window still needs restoring before it can receive focus. + if (IsIconic(hwnd)) + ShowWindow(hwnd, SW_RESTORE); SetForegroundWindow(hwnd); return false; } diff --git a/src/slic3r/GUI/InstanceCheck.hpp b/src/slic3r/GUI/InstanceCheck.hpp index 5f26f1e48f..9bfb3e2500 100644 --- a/src/slic3r/GUI/InstanceCheck.hpp +++ b/src/slic3r/GUI/InstanceCheck.hpp @@ -87,7 +87,6 @@ private: std::condition_variable m_thread_stop_condition; mutable std::mutex m_thread_stop_mutex; bool m_stop{ false }; - bool m_start{ true }; // background thread method void listen(); diff --git a/src/slic3r/GUI/Jobs/ArrangeJob.cpp b/src/slic3r/GUI/Jobs/ArrangeJob.cpp index 6b74b71af1..438bda2cc2 100644 --- a/src/slic3r/GUI/Jobs/ArrangeJob.cpp +++ b/src/slic3r/GUI/Jobs/ArrangeJob.cpp @@ -13,6 +13,7 @@ #include "slic3r/GUI/NotificationManager.hpp" #include "slic3r/GUI/format.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "libnest2d/common.hpp" @@ -265,8 +266,7 @@ arrangement::ArrangePolygon estimate_wipe_tower_info(int plate_index, std::set<i int extruder_size = extruder_ids.size(); Vec3d wipe_tower_size, wipe_tower_pos; - int nozzle_nums = wxGetApp().preset_bundle->get_printer_extruder_count(); - auto arrange_poly = ppl.get_plate(plate_index_valid)->estimate_wipe_tower_polygon(full_config, plate_index, wipe_tower_pos, wipe_tower_size, nozzle_nums, extruder_size); + auto arrange_poly = ppl.get_plate(plate_index_valid)->estimate_wipe_tower_polygon(full_config, plate_index, wipe_tower_pos, wipe_tower_size, extruder_size); arrange_poly.bed_idx = plate_index; return arrange_poly; } @@ -699,6 +699,13 @@ void ArrangeJob::finalize(bool canceled, std::exception_ptr &eptr) { BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(":arrange m_unprintable: name: %4%, bed_id %1%, trans {%2%,%3%}") % ap.bed_idx % unscale<double>(ap.translation(X)) % unscale<double>(ap.translation(Y)) % ap.name; } + { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "arranged"; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + } + m_plater->update(); // BBS //wxGetApp().obj_manipul()->set_dirty(); diff --git a/src/slic3r/GUI/Jobs/BindJob.cpp b/src/slic3r/GUI/Jobs/BindJob.cpp index 61c430c6e6..76af712f63 100644 --- a/src/slic3r/GUI/Jobs/BindJob.cpp +++ b/src/slic3r/GUI/Jobs/BindJob.cpp @@ -3,6 +3,10 @@ #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/DeviceManager.hpp" +#include "slic3r/GUI/HMS.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "slic3r/GUI/DeviceCore/DevManager.h" diff --git a/src/slic3r/GUI/Jobs/BindJob.hpp b/src/slic3r/GUI/Jobs/BindJob.hpp index af89e2fc1b..1e8aa91d6f 100644 --- a/src/slic3r/GUI/Jobs/BindJob.hpp +++ b/src/slic3r/GUI/Jobs/BindJob.hpp @@ -20,7 +20,6 @@ class BindJob : public Job std::string m_sec_link; std::string m_ssdp_version; bool m_job_finished{ false }; - int m_print_job_completed_id = 0; bool m_improved{false}; public: diff --git a/src/slic3r/GUI/Jobs/FillBedJob.cpp b/src/slic3r/GUI/Jobs/FillBedJob.cpp index 5364cb5648..961b8af566 100644 --- a/src/slic3r/GUI/Jobs/FillBedJob.cpp +++ b/src/slic3r/GUI/Jobs/FillBedJob.cpp @@ -6,6 +6,7 @@ #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/GUI_ObjectList.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "libnest2d/common.hpp" #include <numeric> @@ -347,6 +348,13 @@ void FillBedJob::finalize(bool canceled, std::exception_ptr &eptr) m_plater->arrange(); } m_plater->update(); + + { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "arranged"; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + } } m_plater->mark_plate_toolbar_image_dirty(); diff --git a/src/slic3r/GUI/Jobs/OrientJob.cpp b/src/slic3r/GUI/Jobs/OrientJob.cpp index ee8ea875c0..ed9117e8bf 100644 --- a/src/slic3r/GUI/Jobs/OrientJob.cpp +++ b/src/slic3r/GUI/Jobs/OrientJob.cpp @@ -5,6 +5,7 @@ #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/NotificationManager.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "libslic3r/PresetBundle.hpp" @@ -254,6 +255,12 @@ void OrientJob::finalize(bool canceled, std::exception_ptr &eptr) mesh.apply(); } + if (!m_selected.empty()) { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + ctx.msg = "auto_oriented"; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectTransformed, ctx); + } m_plater->update(); diff --git a/src/slic3r/GUI/Jobs/PrintJob.cpp b/src/slic3r/GUI/Jobs/PrintJob.cpp index dae05494e3..76e45eb1d7 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.cpp +++ b/src/slic3r/GUI/Jobs/PrintJob.cpp @@ -1,4 +1,5 @@ #include "PrintJob.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include "libslic3r/MTUtils.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/PresetBundle.hpp" @@ -152,6 +153,18 @@ void PrintJob::process(Ctl &ctl) int result = -1; std::string http_body; + const auto mark_lifecycle_started = [this]() { + if (m_lifecycle_started) + return; + + LifecycleEventContext start_ctx; + start_ctx.name = m_project_name; + start_ctx.device_id = m_dev_id; + start_ctx.source = "print_job"; + fire_lifecycle_event(LifecycleEvent::PrintJobStarted, start_ctx); + m_lifecycle_started = true; + }; + int total_plate_num = plate_data.plate_count; if (!plate_data.is_valid) { total_plate_num = m_plater->get_partplate_list().get_plate_count(); @@ -173,7 +186,7 @@ void PrintJob::process(Ctl &ctl) } } - m_project_name = truncate_string(m_project_name, 100); + const std::string transport_project_name = truncate_string(m_project_name, 100); int curr_plate_idx = 0; if (m_print_type == "from_normal") { @@ -372,11 +385,11 @@ void PrintJob::process(Ctl &ctl) } } - if (params.preset_name.empty() && m_print_type == "from_normal") { params.preset_name = wxString::Format("%s_plate_%d", m_project_name, curr_plate_idx).ToStdString(); } - if (params.project_name.empty()) {params.project_name = m_project_name;} + if (params.preset_name.empty() && m_print_type == "from_normal") { params.preset_name = wxString::Format("%s_plate_%d", transport_project_name, curr_plate_idx).ToStdString(); } + if (params.project_name.empty()) {params.project_name = transport_project_name;} if (m_is_calibration_task) { - params.project_name = m_project_name; + params.project_name = transport_project_name; params.origin_model_id = ""; } @@ -543,6 +556,7 @@ void PrintJob::process(Ctl &ctl) if (m_print_type == "from_sdcard_view") { BOOST_LOG_TRIVIAL(info) << "print_job: try to send with cloud, model is sdcard view"; ctl.update_status(curr_percent, _u8L("Sending print job through cloud service")); + mark_lifecycle_started(); result = m_agent->start_sdcard_print(params, update_fn, cancel_fn); } else if (params.connection_type != "lan") { if (params.dev_ip.empty()) @@ -566,6 +580,7 @@ void PrintJob::process(Ctl &ctl) BOOST_LOG_TRIVIAL(info) << "print_job: use ftp send print only"; ctl.update_status(curr_percent, _u8L("Sending print job over LAN")); is_try_lan_mode = true; + mark_lifecycle_started(); result = m_agent->start_local_print_with_record(params, update_fn, cancel_fn, wait_fn); if (result < 0) { error_text = wxString::Format(_L("Access code:%s IP address:%s"), params.password, params.dev_ip); @@ -582,6 +597,7 @@ void PrintJob::process(Ctl &ctl) // try to send local with record BOOST_LOG_TRIVIAL(info) << "print_job: try to start local print with record"; ctl.update_status(curr_percent, _u8L("Sending print job over LAN")); + mark_lifecycle_started(); result = m_agent->start_local_print_with_record(params, update_fn, cancel_fn, wait_fn); if (result == 0) { params.comments = ""; @@ -597,18 +613,21 @@ void PrintJob::process(Ctl &ctl) // try to send with cloud BOOST_LOG_TRIVIAL(warning) << "print_job: try to send with cloud"; ctl.update_status(curr_percent, _u8L("Sending print job through cloud service")); + // Started was already emitted before the local attempt. result = m_agent->start_print(params, update_fn, cancel_fn, wait_fn); } } else { BOOST_LOG_TRIVIAL(info) << "print_job: send with cloud"; ctl.update_status(curr_percent, _u8L("Sending print job through cloud service")); + mark_lifecycle_started(); result = m_agent->start_print(params, update_fn, cancel_fn, wait_fn); } } } else { if (this->could_emmc_print) { ctl.update_status(curr_percent, _u8L("Sending print job over LAN")); + mark_lifecycle_started(); result = m_agent->start_local_print(params, update_fn, cancel_fn); } else { switch(this->sdcard_state) { @@ -619,6 +638,7 @@ void PrintJob::process(Ctl &ctl) if(this->has_sdcard) { // means the storage is abnormal but can be used option is enabled ctl.update_status(curr_percent, _u8L("Sending print job over LAN, but the Storage in the printer is abnormal and print-issues may be caused by this.")); + mark_lifecycle_started(); result = m_agent->start_local_print(params, update_fn, cancel_fn); break; } @@ -629,6 +649,7 @@ void PrintJob::process(Ctl &ctl) return; case DevStorage::SdcardState::HAS_SDCARD_NORMAL: ctl.update_status(curr_percent, _u8L("Sending print job over LAN")); + mark_lifecycle_started(); result = m_agent->start_local_print(params, update_fn, cancel_fn); break; default: @@ -686,6 +707,7 @@ void PrintJob::process(Ctl &ctl) } wxQueueEvent(m_plater, evt); m_job_finished = true; + m_lifecycle_success = true; } } @@ -698,6 +720,19 @@ void PrintJob::finalize(bool canceled, std::exception_ptr &eptr) { eptr = std::current_exception(); } + if (m_lifecycle_started && !m_lifecycle_finished) { + LifecycleEventContext finish_ctx; + finish_ctx.name = m_project_name; + finish_ctx.device_id = m_dev_id; + finish_ctx.source = "print_job"; + finish_ctx.code = canceled ? LifecycleEvtCode::Warn : + (eptr || !m_lifecycle_success ? LifecycleEvtCode::Error : LifecycleEvtCode::Ok); + finish_ctx.msg = canceled ? "cancelled" : (eptr ? "exception" : + (m_lifecycle_success ? "" : "failed")); + fire_lifecycle_event(LifecycleEvent::PrintJobFinished, finish_ctx); + m_lifecycle_finished = true; + } + if (canceled || eptr) return; } diff --git a/src/slic3r/GUI/Jobs/PrintJob.hpp b/src/slic3r/GUI/Jobs/PrintJob.hpp index 9a23b04054..4be68031d9 100644 --- a/src/slic3r/GUI/Jobs/PrintJob.hpp +++ b/src/slic3r/GUI/Jobs/PrintJob.hpp @@ -43,6 +43,9 @@ class PrintJob : public Job std::function<void()> m_success_fun{nullptr}; std::string m_dev_id; bool m_job_finished{ false }; + bool m_lifecycle_started{ false }; + bool m_lifecycle_finished{ false }; + bool m_lifecycle_success{ false }; int m_print_job_completed_id = 0; wxString m_completed_evt_data; std::function<void()> m_enter_ip_address_fun_fail{ nullptr }; diff --git a/src/slic3r/GUI/Jobs/SendJob.cpp b/src/slic3r/GUI/Jobs/SendJob.cpp index 67ce02b476..505475e4a9 100644 --- a/src/slic3r/GUI/Jobs/SendJob.cpp +++ b/src/slic3r/GUI/Jobs/SendJob.cpp @@ -1,4 +1,7 @@ #include "SendJob.hpp" +#include "libslic3r/LifecycleEvents.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "libslic3r/MTUtils.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/PresetBundle.hpp" @@ -146,6 +149,13 @@ void SendJob::process(Ctl &ctl) } } + LifecycleEventContext start_ctx; + start_ctx.name = m_project_name; + start_ctx.device_id = m_dev_id; + start_ctx.source = "send_job"; + fire_lifecycle_event(LifecycleEvent::SendJobStarted, start_ctx); + m_lifecycle_started = true; + int total_plate_num = m_plater->get_partplate_list().get_plate_count(); PartPlate* plate = m_plater->get_partplate_list().get_plate(job_data.plate_idx); @@ -422,6 +432,19 @@ void SendJob::finalize(bool canceled, std::exception_ptr &eptr) eptr = std::current_exception(); } + if (m_lifecycle_started && !m_lifecycle_finished) { + LifecycleEventContext finish_ctx; + finish_ctx.name = m_project_name; + finish_ctx.device_id = m_dev_id; + finish_ctx.source = "send_job"; + finish_ctx.code = canceled ? LifecycleEvtCode::Warn : + (eptr ? LifecycleEvtCode::Error : (m_job_finished ? LifecycleEvtCode::Ok : LifecycleEvtCode::Error)); + finish_ctx.msg = canceled ? "cancelled" : (eptr ? "exception" : + (m_job_finished ? "" : "failed")); + fire_lifecycle_event(LifecycleEvent::SendJobFinished, finish_ctx); + m_lifecycle_finished = true; + } + if (canceled || eptr) return; } diff --git a/src/slic3r/GUI/Jobs/SendJob.hpp b/src/slic3r/GUI/Jobs/SendJob.hpp index 1d4e025d6e..86d180ac8c 100644 --- a/src/slic3r/GUI/Jobs/SendJob.hpp +++ b/src/slic3r/GUI/Jobs/SendJob.hpp @@ -22,6 +22,8 @@ class SendJob : public Job PrintPrepareData job_data; std::string m_dev_id; bool m_job_finished{ false }; + bool m_lifecycle_started{ false }; + bool m_lifecycle_finished{ false }; int m_print_job_completed_id = 0; bool m_is_check_mode{false}; bool m_check_and_continue{false}; diff --git a/src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp b/src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp index 6cd88ac5d3..7090f0e2e0 100644 --- a/src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp +++ b/src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp @@ -2,6 +2,7 @@ #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/I18N.hpp" #include "slic3r/Utils/Http.hpp" namespace Slic3r { diff --git a/src/slic3r/GUI/Jobs/UpgradeNetworkJob.hpp b/src/slic3r/GUI/Jobs/UpgradeNetworkJob.hpp index 5a531065f3..3e634e0337 100644 --- a/src/slic3r/GUI/Jobs/UpgradeNetworkJob.hpp +++ b/src/slic3r/GUI/Jobs/UpgradeNetworkJob.hpp @@ -27,7 +27,6 @@ class UpgradeNetworkJob : public Job wxWindow * m_event_handle{nullptr}; std::function<void()> m_success_fun{nullptr}; bool m_job_finished{ false }; - int m_print_job_completed_id = 0; InstallProgressFn pro_fn { nullptr }; diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index ed513c425f..63580387a7 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -6,357 +6,323 @@ #include "Notebook.hpp" #include <wx/scrolwin.h> #include <wx/display.h> +#include <algorithm> +#include <set> #include "GUI_App.hpp" #include "wxExtensions.hpp" #include "MainFrame.hpp" +#include "MsgDialog.hpp" +#include "Preferences.hpp" +#include "Widgets/Button.hpp" +#include "Widgets/DialogButtons.hpp" +#include "Widgets/Label.hpp" +#include "Widgets/StaticBox.hpp" +#include "Widgets/StaticLine.hpp" +#include "Widgets/TabCtrl.hpp" #include <wx/notebook.h> namespace Slic3r { namespace GUI { -wxDEFINE_EVENT(EVT_PREFERENCES_SELECT_TAB, wxCommandEvent); +namespace { -KBShortcutsDialog::KBShortcutsDialog() - : DPIDialog(static_cast<wxWindow*>(wxGetApp().mainframe), wxID_ANY,_L("Keyboard Shortcuts"), - wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE) +wxString shortcut_names(const std::vector<Shortcut>& shortcuts) { - // fonts - const wxFont& font = wxGetApp().normal_font(); - const wxFont& bold_font = wxGetApp().bold_font(); - SetFont(font); - - this->SetSizeHints(wxDefaultSize, wxDefaultSize); - this->SetBackgroundColour(wxColour(255, 255, 255)); - - wxBoxSizer *m_sizer_top = new wxBoxSizer(wxVERTICAL); - - auto m_top_line = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL); - m_top_line->SetBackgroundColour(wxColour(166, 169, 170)); - - m_sizer_top->Add(m_top_line, 0, wxEXPAND, 0); - m_sizer_body = new wxBoxSizer(wxHORIZONTAL); - - m_panel_selects = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); - m_panel_selects->SetBackgroundColour(wxColour(248, 248, 248)); - wxBoxSizer *m_sizer_left = new wxBoxSizer(wxVERTICAL); - - m_sizer_left->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(20)); - - m_sizer_left->Add(create_button(0, _L("Global")), 0, wxEXPAND, 0); - m_sizer_left->Add(create_button(1, _L("Prepare")), 0, wxEXPAND, 0); - m_sizer_left->Add(create_button(2, _L("Toolbar")), 0, wxEXPAND, 0); - m_sizer_left->Add(create_button(3, _L("Objects list")), 0, wxEXPAND, 0); - m_sizer_left->Add(create_button(4, _L("Preview")), 0, wxEXPAND, 0); - - m_panel_selects->SetSizer(m_sizer_left); - m_panel_selects->Layout(); - m_sizer_left->Fit(m_panel_selects); - m_sizer_body->Add(m_panel_selects, 0, wxEXPAND, 0); - - m_sizer_right = new wxBoxSizer(wxHORIZONTAL); - - m_sizer_right->Add(0, 0, 0, wxEXPAND | wxLEFT, FromDIP(12)); - - m_simplebook = new wxSimplebook(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(870), FromDIP(500)), 0); - - m_sizer_right->Add(m_simplebook, 1, wxEXPAND, 0); - m_sizer_body->Add(m_sizer_right, 1, wxEXPAND, 0); - m_sizer_top->Add(m_sizer_body, 1, wxEXPAND, 0); - - fill_shortcuts(); - for (size_t i = 0; i < m_full_shortcuts.size(); ++i) { - wxPanel *page = create_page(m_simplebook, m_full_shortcuts[i], font, bold_font); - m_pages.push_back(page); - m_simplebook->AddPage(page, m_full_shortcuts[i].first.first, i == 0); + wxString names; + for (Shortcut shortcut : shortcuts) { + if (!names.empty()) + names += ", "; + names += _(shortcut_info(shortcut).name); } + return names; +} - Bind(EVT_PREFERENCES_SELECT_TAB, &KBShortcutsDialog::OnSelectTabel, this); +const wxColour ERROR_COLOUR("#D01B1B"); - SetSizer(m_sizer_top); - Layout(); - Fit(); +// The camera action a mouse button drags, as set in Preferences > Control. +const char* mouse_action(const char* preference) +{ + const std::string action = wxGetApp().app_config->get(preference); + return action == "1" ? L("Pan View") : action == "2" ? L("Rotate View") : L("None"); +} + +// Page layout in DIPs; titles and rows are indented as in the Preferences dialog. +constexpr int PAGE_WIDTH = 640; +constexpr int TITLE_MARGIN = DESIGN_LEFT_MARGIN - 10; +constexpr int ROW_MARGIN = DESIGN_LEFT_MARGIN; +constexpr int ROW_GAP = 16; + +template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; }; +template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>; + +std::vector<wxString> to_wx(const std::vector<std::string>& parts) +{ + std::vector<wxString> out; + for (const std::string& part : parts) + out.push_back(from_u8(part)); + return out; +} + +// The keys a Global shortcut can use, the second line of its hint and of a rejection. +wxString global_key_advice() +{ + return wxString::Format(_L("Use %s or %s, or a key that does not type a character."), + from_u8(KeyChord::modifier_name(wxMOD_CONTROL)), from_u8(KeyChord::modifier_name(wxMOD_ALT))); +} + +// The pieces of a chord, spaced out for the dialog: "Ctrl + Shift + A". +wxString join_keys(const std::vector<wxString>& parts) +{ + wxString out; + for (const wxString& part : parts) + out += (out.empty() ? "" : " + ") + part; + return out; +} + +} // namespace + +KBShortcutsDialog::KBShortcutsDialog(wxWindow* parent, ShortcutContext page) + : DPIDialog(parent, wxID_ANY, _L("Keyboard Shortcuts"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE) +{ + SetFont(wxGetApp().normal_font()); + SetBackgroundColour(*wxWHITE); + + fill_pages(); + + ScalableButton* probe = new ScalableButton(this, wxID_ANY, "edit"); + m_edit_size = probe->GetBestSize(); + probe->Destroy(); + m_buttons_width = 2 * m_edit_size.x + FromDIP(6); + m_row_text_width = FromDIP(PAGE_WIDTH) - FromDIP(ROW_MARGIN) - FromDIP(TITLE_MARGIN) - 2 * FromDIP(ROW_GAP) - m_buttons_width; + GetTextExtent("W", &m_key_slot, nullptr, nullptr, nullptr, &Label::Head_14); + + // The page tabs follow the Preferences dialog. + m_tabs = new TabCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_NO_BUTTONS | wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | wxBORDER_NONE | wxWANTS_CHARS | wxTR_FULL_ROW_HIGHLIGHT); + m_tabs->Bind(wxEVT_RIGHT_DOWN, [](auto&) {}); + m_tabs->SetFont(Label::Body_14); + m_simplebook = new wxSimplebook(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(660), FromDIP(500))); + for (const Page& page : m_pages) { + m_tabs->AppendItem(page.title); + m_simplebook->AddPage(create_page(m_simplebook, page), page.title); + } + const StateColor tab_colour(std::make_pair(wxColour("#6B6B6C"), (int) StateColor::NotChecked), std::make_pair(wxColour("#363636"), (int) StateColor::Normal)); + for (size_t i = 0; i < m_tabs->GetCount(); ++i) + m_tabs->SetItemTextColour(i, tab_colour); + m_tabs->Bind(wxEVT_TAB_SEL_CHANGED, [this](wxCommandEvent& e) { + for (size_t i = 0; i < m_tabs->GetCount(); ++i) + m_tabs->SetItemBold(i, int(i) == e.GetSelection()); + m_simplebook->SetSelection(e.GetSelection()); + }); + const auto shown = std::find_if(m_pages.begin(), m_pages.end(), [page](const Page& entry) { return entry.context == page; }); + m_tabs->SelectItem(shown == m_pages.end() ? 0 : int(shown - m_pages.begin())); + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(m_tabs, 0, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(5)); + sizer->Add(m_simplebook, 1, wxEXPAND); + SetSizerAndFit(sizer); CenterOnParent(); - - // select first - auto event = wxCommandEvent(EVT_PREFERENCES_SELECT_TAB); - event.SetInt(0); - event.SetEventObject(this); - wxPostEvent(this, event); wxGetApp().UpdateDlgDarkUI(this); } -void KBShortcutsDialog::OnSelectTabel(wxCommandEvent &event) -{ - auto id = event.GetInt(); - SelectHash::iterator i = m_hash_selector.begin(); - while (i != m_hash_selector.end()) { - Select *sel = i->second; - if (id == sel->m_index) { - sel->m_tab_button->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#BFE1DE"))); // ORCA color for selected tab background - sel->m_tab_text->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#BFE1DE"))); // ORCA color for selected tab background - sel->m_tab_text->SetFont(::Label::Head_13); - sel->m_tab_button->Refresh(); - sel->m_tab_text->Refresh(); - - m_simplebook->SetSelection(id); - } else { - sel->m_tab_button->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#F8F8F8"))); - sel->m_tab_text->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#F8F8F8"))); - sel->m_tab_text->SetFont(::Label::Body_13); - sel->m_tab_button->Refresh(); - sel->m_tab_text->Refresh(); - } - i++; - } - wxGetApp().UpdateDlgDarkUI(this); -} - -wxWindow *KBShortcutsDialog::create_button(int id, wxString text) -{ - auto tab_button = new wxWindow(m_panel_selects, wxID_ANY, wxDefaultPosition, wxSize( FromDIP(150), FromDIP(28)), wxTAB_TRAVERSAL); - - wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL); - - sizer->Add(0, 0, 0, wxEXPAND | wxLEFT, FromDIP(22)); - - auto stext = new wxStaticText(tab_button, wxID_ANY, text, wxDefaultPosition, wxDefaultSize, 0); - stext->SetFont(::Label::Body_13); - stext->SetForegroundColour(wxColour(38, 46, 48)); - stext->Wrap(-1); - sizer->Add(stext, 1, wxALIGN_CENTER, 0); - - tab_button->Bind(wxEVT_LEFT_DOWN, [this, id](auto &e) { - auto event = wxCommandEvent(EVT_PREFERENCES_SELECT_TAB); - event.SetInt(id); - event.SetEventObject(this); - wxPostEvent(this, event); - }); - - stext->Bind(wxEVT_LEFT_DOWN, [this, id](wxMouseEvent &e) { - auto event = wxCommandEvent(EVT_PREFERENCES_SELECT_TAB); - event.SetInt(id); - event.SetEventObject(this); - wxPostEvent(this, event); - }); - - Select *sel = new Select; - sel->m_index = id; - sel->m_tab_button = tab_button; - sel->m_tab_text = stext; - m_hash_selector[sel->m_index] = sel; - - tab_button->SetSizer(sizer); - tab_button->Layout(); - return tab_button; -} - void KBShortcutsDialog::on_dpi_changed(const wxRect& suggested_rect) { - m_logo_bmp.msw_rescale(); - m_header_bitmap->SetBitmap(m_logo_bmp.bmp()); - msw_buttons_rescale(this, em_unit(), { wxID_OK }); - + m_tabs->Rescale(); Layout(); Fit(); Refresh(); } -void KBShortcutsDialog::fill_shortcuts() +void KBShortcutsDialog::fill_pages() { - const std::string ctrl = GUI::shortkey_ctrl_prefix(); - const std::string alt = GUI::shortkey_alt_prefix(); - const std::string shift = L("Shift+"); + // A fixed row is listed in the section of the shortcuts it belongs with. + auto fixed = [](ShortcutSection section, std::vector<wxString> keys, const char* description) { return Row{ FixedKey{ std::move(keys), description }, section }; }; + auto mouse = [](ShortcutSection section, const wxString& button, const char* preference) { return Row{ MouseAction{ button, preference }, section }; }; + auto key = [](const std::string& key) { return _L_CONTEXT(key, "Keyboard Shortcut"); }; + auto page = [this](const wxString& title, const wxString& caption, ShortcutContext context, std::vector<Row> fixed_rows) { + Page entry{ title, caption, context, {} }; + for (Shortcut shortcut : shortcuts_in(context)) + entry.rows.push_back({ shortcut, shortcut_section(shortcut) }); + entry.rows.insert(entry.rows.end(), fixed_rows.begin(), fixed_rows.end()); + std::stable_sort(entry.rows.begin(), entry.rows.end(), [](const Row& a, const Row& b) { return a.section < b.section; }); + m_pages.push_back(std::move(entry)); + }; + + const wxString ctrl = from_u8(KeyChord::modifier_name(wxMOD_CONTROL)); + const wxString alt = from_u8(KeyChord::modifier_name(wxMOD_ALT)); + const wxString shift = from_u8(KeyChord::modifier_name(wxMOD_SHIFT)); + const wxString shift_ctrl = shift + "/" + ctrl; // either one + const wxString any_key = key(L_CONTEXT("Key", "Keyboard Shortcut")); // the key the row's shortcut is bound to + const wxString esc = key(L_CONTEXT("Esc", "Keyboard Shortcut")); + const wxString left_button = _L("Left mouse"); + const wxString wheel = _L("Mouse wheel"); + using Section = ShortcutSection; if (wxGetApp().is_editor()) { - Shortcuts global_shortcuts = { - // File - { ctrl + "N", L("New Project") }, - { ctrl + "O", L("Open Project") }, - { ctrl + "S", L("Save Project") }, - { ctrl + shift + "S", L("Save Project as")}, - // File>Import - { ctrl + "I", L("Import geometry data from STL/STEP/3MF/OBJ/AMF files") }, - // File>Export - { ctrl + "G", L("Export plate sliced file")}, - // Slice plate - { ctrl + "R", L("Slice plate")}, - // Send to Print - { ctrl + shift + "G", L("Print plate")}, - // Edit - { ctrl + "X", L("Cut") }, - { ctrl + "C", L("Copy to clipboard") }, - { ctrl + "V", L("Paste from clipboard") }, - // Configuration - { ctrl + "P", L("Preferences") }, - //3D control -#ifdef __APPLE__ - { ctrl + shift + "M", L("Show/Hide 3Dconnexion devices settings dialog") }, -#else - { ctrl + "M", L("Show/Hide 3Dconnexion devices settings dialog") }, -#endif // __APPLE + page(_L("Global"), _L("Available anywhere in the window, even while typing in a text field."), ShortcutContext::Global, { + fixed(Section::SpeedDial, { alt, "1-9, 0" }, L("Run favorite 1 to 10")), + fixed(Section::SpeedDial, { ctrl, "B" }, L("Pin or unpin the selected action")), + // wx cycles notebook pages on Ctrl+Tab, which is Cmd+Tab on macOS and never arrives there. +#ifndef __APPLE__ + fixed(Section::Application, { ctrl, key(L_CONTEXT("Tab", "Keyboard Shortcut")) }, L("Switch to the next main tab")), +#endif + }); - // Switch table page - { ctrl + L("Tab"), L("Switch table page")}, - //DEL - #ifdef __APPLE__ - {"fn+⌫", L("Delete Selected")}, - #else - {L_CONTEXT("Del", "Keyboard Shortcut"), L("Delete Selected")}, - #endif - // Help - { "?", L("Show keyboard shortcuts list") } - }; - m_full_shortcuts.push_back({{_L("Global shortcuts"), ""}, global_shortcuts}); + page(_L("Prepare"), _L("Available while the 3D view on the Prepare tab has focus."), ShortcutContext::Plater, { + fixed(Section::Selection, { alt, left_button }, L("Select a part")), + fixed(Section::Selection, { ctrl, left_button }, L("Select multiple objects")), + fixed(Section::Selection, { shift, left_button }, L("Select objects by rectangle")), + fixed(Section::Selection, { esc }, L("Deselect All")), + fixed(Section::Objects, { "1-9" }, L("Keyboard 1-9: set filament for object/part")), + fixed(Section::Placement, { shift, any_key }, L("Movement step set to 1mm")), + fixed(Section::Placement, { ctrl, any_key }, L("Movement in camera space")), + mouse(Section::Camera, left_button, "left_mouse_drag_action"), + mouse(Section::Camera, _L("Middle mouse"), "middle_mouse_drag_action"), + mouse(Section::Camera, _L("Right mouse"), "right_mouse_drag_action"), + fixed(Section::Camera, { wheel }, L("Zoom View")), + }); - - // Retrieve mouse actions from config and map to MouseAction - std::map<std::string, std::string> mouse_actions; - mouse_actions["0"] = L("None"); - mouse_actions["1"] = L("Pan View"); - mouse_actions["2"] = L("Rotate View"); + page(_L("Painting"), _L("Available while a painting gizmo is open: supports, seam, fuzzy skin or color painting."), ShortcutContext::Painting, { + fixed(Section::Gizmos, { esc }, L("Deselect All")), + fixed(Section::Gizmos, { shift, left_button }, L("Move: press to snap by 1mm")), + fixed(Section::PaintingTools, { ctrl, wheel }, L("Support/Color Painting: adjust pen radius")), + fixed(Section::PaintingTools, { alt, wheel }, L("Support/Color Painting: adjust section position")), + }); - Shortcuts plater_shortcuts = { - { L("Left mouse button"), mouse_actions[wxGetApp().app_config->get("left_mouse_drag_action").c_str()]}, - { L("Middle mouse button"), mouse_actions[wxGetApp().app_config->get("middle_mouse_drag_action").c_str()]}, - { L("Right mouse button"), mouse_actions[wxGetApp().app_config->get("right_mouse_drag_action").c_str()]}, - { L("Mouse wheel"), L("Zoom View") }, - { "A", L("Arrange all objects") }, - { shift + "A", L("Arrange objects on selected plates") }, - - { "Q", L("Auto orients selected objects or all objects. If there are selected objects, it just orients the selected ones. Otherwise, it will orient all objects in the current project.") }, - { shift + "Q", L("Auto orients all objects on the active plate.") }, - - {shift + L("Tab"), L("Collapse/Expand the sidebar")}, - {ctrl + L("Any arrow"), L("Movement in camera space")}, - {alt + L("Left mouse button"), L("Select a part")}, - {ctrl + L("Left mouse button"), L("Select multiple objects")}, - {shift + L("Left mouse button"), L("Select objects by rectangle")}, - {L_CONTEXT("Arrow Up", "Keyboard Shortcut"), L("Move selection 10mm in positive Y direction")}, - {L_CONTEXT("Arrow Down", "Keyboard Shortcut"), L("Move selection 10mm in negative Y direction")}, - {L_CONTEXT("Arrow Left", "Keyboard Shortcut"), L("Move selection 10mm in negative X direction")}, - {L_CONTEXT("Arrow Right", "Keyboard Shortcut"), L("Move selection 10mm in positive X direction")}, - {shift + L("Any arrow"), L("Movement step set to 1mm")}, - {L_CONTEXT("Esc", "Keyboard Shortcut"), L("Deselect All")}, - {"1-9", L("Keyboard 1-9: set filament for object/part")}, - {ctrl + "0", L("Camera view - Default")}, - {ctrl + "1", L("Camera view - Top")}, - {ctrl + "2", L("Camera view - Bottom")}, - {ctrl + "3", L("Camera view - Front")}, - {ctrl + "4", L("Camera view - Behind")}, - {ctrl + "5", L("Camera Angle - Left side")}, - {ctrl + "6", L("Camera Angle - Right side")}, - - {ctrl + "A", L("Select all objects")}, - {ctrl + "D", L("Delete All")}, - {ctrl + "Z", L("Undo")}, - {ctrl + "Y", L("Redo")}, - { "M", L("Gizmo move") }, - { "R", L("Gizmo rotate") }, - { "S", L("Gizmo scale") }, - { "F", L("Gizmo place face on bed") }, - { "C", L("Gizmo cut") }, - { "B", L("Gizmo mesh boolean") }, - { "H", L("Gizmo FDM paint-on fuzzy skin") }, - { "L", L("Gizmo SLA support points") }, - { "P", L("Gizmo FDM paint-on seam") }, - { "T", L("Gizmo text emboss/engrave") }, - { "U", L("Gizmo measure") }, - { "Y", L("Gizmo assemble") }, - { "E", L("Gizmo brim ears") }, - { "I", L("Zoom in") }, - { "O", L("Zoom out") }, - { "V", L("Toggle printable for object/part") }, - { L_CONTEXT("Tab", "Keyboard Shortcut"), L("Switch between Prepare/Preview") }, - { L_CONTEXT("Space", "Keyboard Shortcut"), L("Open actions speed dial") }, - - }; - m_full_shortcuts.push_back({ { _L("Plater"), "" }, plater_shortcuts }); - - Shortcuts gizmos_shortcuts = { - {L_CONTEXT("Esc", "Keyboard Shortcut"), L("Deselect All")}, - {shift, L("Move: press to snap by 1mm")}, - {ctrl + L("Mouse wheel"), L("Support/Color Painting: adjust pen radius")}, - {alt + L("Mouse wheel"), L("Support/Color Painting: adjust section position")}, - }; - m_full_shortcuts.push_back({{_L("Gizmo"), ""}, gizmos_shortcuts}); - - Shortcuts object_list_shortcuts = { - {"1-9", L("Set extruder number for the objects and parts") }, - {L_CONTEXT("Del", "Keyboard Shortcut"), L("Delete objects, parts, modifiers")}, - {L_CONTEXT("Esc", "Keyboard Shortcut"), L("Deselect All")}, - {ctrl + "C", L("Copy to clipboard")}, - {ctrl + "V", L("Paste from clipboard")}, - {ctrl + "X", L("Cut")}, - {ctrl + "A", L("Select all objects")}, - {ctrl + "K", L("Clone Selected")}, - {ctrl + "Z", L("Undo")}, - {ctrl + "Y", L("Redo")}, - {L_CONTEXT("Space", "Keyboard Shortcut"), L("Select the object/part and press space to change the name")}, - {L("Mouse click"), L("Select the object/part and mouse click to change the name")}, - }; - m_full_shortcuts.push_back({ { _L("Objects List"), "" }, object_list_shortcuts }); + page(_L("Objects list"), _L("Available while the object list has focus."), ShortcutContext::ObjectList, { + fixed(Section::Selection, { esc }, L("Deselect All")), + fixed(Section::Objects, { "1-9" }, L("Set extruder number for the objects and parts")), + fixed(Section::Objects, { key(L_CONTEXT("Space", "Keyboard Shortcut")) }, L("Select the object/part and press space to change the name")), + fixed(Section::Objects, { _L("Mouse click") }, L("Select the object/part and mouse click to change the name")), + }); } - Shortcuts preview_shortcuts = { - { L_CONTEXT("Arrow Up", "Keyboard Shortcut"), L("Vertical slider - Move active thumb Up")}, - { L_CONTEXT("Arrow Down", "Keyboard Shortcut"), L("Vertical slider - Move active thumb Down")}, - { L_CONTEXT("Arrow Left", "Keyboard Shortcut"), L("Horizontal slider - Move active thumb Left")}, - { L_CONTEXT("Arrow Right", "Keyboard Shortcut"), L("Horizontal slider - Move active thumb Right")}, - { "L", L("On/Off one layer mode of the vertical slider")}, - { "C", L("On/Off G-code window")}, - { L_CONTEXT("Tab", "Keyboard Shortcut"), L("Switch between Prepare/Preview")}, - {shift + L("Any arrow"), L("Move slider 5x faster")}, - {shift + L("Mouse wheel"), L("Move slider 5x faster")}, - {ctrl + L("Any arrow"), L("Move slider 5x faster")}, - {ctrl + L("Mouse wheel"), L("Move slider 5x faster")}, - { L_CONTEXT("Home", "Keyboard Shortcut"), L("Horizontal slider - Move to start position")}, - { L_CONTEXT("End", "Keyboard Shortcut"), L("Horizontal slider - Move to last position")}, - }; - m_full_shortcuts.push_back({ { _L("Preview"), "" }, preview_shortcuts }); + page(_L("Preview"), _L("Available while the 3D view on the Preview tab has focus."), ShortcutContext::Preview, { + fixed(Section::Sliders, { shift_ctrl, any_key }, L("Move slider 5x faster")), + fixed(Section::Sliders, { shift_ctrl, wheel }, L("Scroll slider 5x faster")), + }); } -wxPanel* KBShortcutsDialog::create_page(wxWindow* parent, const ShortcutsItem& shortcuts, const wxFont& font, const wxFont& bold_font) +wxPanel* KBShortcutsDialog::create_page(wxWindow* parent, const Page& page) { wxPanel* main_page = new wxPanel(parent); wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL); - if (!shortcuts.first.second.empty()) { - main_sizer->AddSpacer(FromDIP(10)); - wxBoxSizer* info_sizer = new wxBoxSizer(wxHORIZONTAL); - info_sizer->AddStretchSpacer(); - info_sizer->Add(new wxStaticText(main_page, wxID_ANY, shortcuts.first.second), 0); - info_sizer->AddStretchSpacer(); - main_sizer->Add(info_sizer, 0, wxEXPAND); - main_sizer->AddSpacer(FromDIP(10)); - } - - int items_count = (int) shortcuts.second.size(); wxScrolledWindow *scrollable_panel = new wxScrolledWindow(main_page); wxGetApp().UpdateDarkUI(scrollable_panel); - scrollable_panel->SetScrollbars(20, 20, 50, 50); - scrollable_panel->SetInitialSize(wxSize(FromDIP(850), FromDIP(450))); + const wxColour page_colour = StateColor::darkModeColorFor(*wxWHITE); + scrollable_panel->SetBackgroundColour(page_colour); + scrollable_panel->SetScrollRate(0, FromDIP(20)); + const int page_width = FromDIP(PAGE_WIDTH); + scrollable_panel->SetInitialSize(wxSize(page_width, FromDIP(450))); - wxBoxSizer * scrollable_panel_sizer = new wxBoxSizer(wxVERTICAL); - wxFlexGridSizer *grid_sizer = new wxFlexGridSizer(items_count, 2, FromDIP(10), FromDIP(20)); + const int title_margin = FromDIP(TITLE_MARGIN); + const int row_margin = FromDIP(ROW_MARGIN); + const int gap = FromDIP(ROW_GAP); - for (int i = 0; i < items_count; ++i) { - const auto &[shortcut, description] = shortcuts.second[i]; - // Keyboard keys carry a "Keyboard Shortcut" context so translators keep them in English; - // mouse-input labels are ordinary phrases and use the plain lookup. - const bool is_mouse = shortcut.find("Mouse") != std::string::npos || shortcut.find("mouse") != std::string::npos; - auto key = new wxStaticText(scrollable_panel, wxID_ANY, is_mouse ? _(shortcut) : _L_CONTEXT(shortcut, "Keyboard Shortcut")); - key->SetForegroundColour(wxColour(50, 58, 61)); - key->SetFont(bold_font); - grid_sizer->Add(key, 0, wxALIGN_CENTRE_VERTICAL); + wxBoxSizer* scrollable_panel_sizer = new wxBoxSizer(wxVERTICAL); - auto desc = new wxStaticText(scrollable_panel, wxID_ANY, _(description)); - desc->SetFont(font); - desc->SetForegroundColour(wxColour(50, 58, 61)); - desc->Wrap(FromDIP(600)); - grid_sizer->Add(desc, 0, wxALIGN_CENTRE_VERTICAL); + const wxColour note_colour = StateColor::darkModeColorFor(wxColour("#F8F8F8")); + const wxColour note_text = StateColor::darkModeColorFor(wxColour("#6B6B6A")); + StaticBox* note = new StaticBox(scrollable_panel); + note->SetCornerRadius(FromDIP(4)); + note->SetBorderWidth(0); + note->SetBackgroundColor(note_colour); + note->SetBackgroundColour(note_colour); + auto note_icon = new wxStaticBitmap(note, wxID_ANY, ScalableBitmap(note, "help", 16).bmp()); + auto note_text_ctrl = new wxStaticText(note, wxID_ANY, page.caption); + note_text_ctrl->SetFont(Label::Body_13); + note_text_ctrl->SetForegroundColour(note_text); + note_text_ctrl->SetBackgroundColour(note_colour); + note_text_ctrl->Wrap(page_width - 2 * title_margin - FromDIP(10 + 16 + 8 + 10)); + wxBoxSizer* note_sizer = new wxBoxSizer(wxHORIZONTAL); + note_sizer->Add(note_icon, 0, wxALIGN_CENTRE_VERTICAL | wxLEFT, FromDIP(10)); + note_sizer->Add(note_text_ctrl, 1, wxALIGN_CENTRE_VERTICAL | wxALL, FromDIP(8)); + note->SetSizer(note_sizer); + scrollable_panel_sizer->Add(note, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, title_margin); + + auto key_parts = [](const Row& row) { + return std::visit(overloaded{ + [](Shortcut shortcut) { return to_wx(wxGetApp().shortcuts().binding(shortcut).display_parts()); }, + [](const FixedKey& fixed) { return fixed.keys; }, + [](const MouseAction& mouse) { return std::vector<wxString>{ mouse.button }; }, + }, row.content); + }; + auto description = [](const Row& row) { + return std::visit(overloaded{ + [](Shortcut shortcut) { return _(shortcut_info(shortcut).name); }, + [](const FixedKey& fixed) { return _(fixed.description); }, + [](const MouseAction& mouse) { return _(mouse_action(mouse.preference)); }, + }, row.content); + }; + auto icon_button = [&](const char* icon, const wxString& tooltip) { + auto button = new ScalableButton(scrollable_panel, wxID_ANY, icon); + button->SetBackgroundColour(page_colour); + button->SetToolTip(tooltip); + return button; + }; + + std::optional<ShortcutSection> section; + for (const Row& row : page.rows) { + if (section != row.section) { + auto heading = new StaticLine(scrollable_panel, false, _(section_name(row.section))); + heading->SetFont(Label::Head_14); + heading->SetForegroundColour(DESIGN_GRAY900_COLOR); + wxBoxSizer* heading_sizer = new wxBoxSizer(wxHORIZONTAL); + heading_sizer->AddSpacer(title_margin); + heading_sizer->Add(heading, 1, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(6)); + heading_sizer->AddSpacer(title_margin); + scrollable_panel_sizer->Add(heading_sizer, 0, wxEXPAND | wxTOP, FromDIP(section.has_value() ? 10 : 6)); + section = row.section; + } + auto desc = new wxStaticText(scrollable_panel, wxID_ANY, description(row)); + desc->SetFont(Label::Body_14); + desc->SetForegroundColour(DESIGN_GRAY900_COLOR); + auto chord_label = [&](long style) { + auto label = new wxStaticText(scrollable_panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, style); + label->SetFont(Label::Head_14); + label->SetForegroundColour(DESIGN_GRAY900_COLOR); + return label; + }; + wxStaticText* modifiers = chord_label(0); + wxStaticText* key = chord_label(wxALIGN_CENTRE_HORIZONTAL); // a single key is centred in its column + desc->Wrap(m_row_text_width - set_chord_labels(modifiers, key, key_parts(row))); + + wxBoxSizer* buttons = new wxBoxSizer(wxHORIZONTAL); + if (const MouseAction* mouse = std::get_if<MouseAction>(&row.content)) { + auto settings = icon_button("settings", _L("Preferences")); + settings->Bind(wxEVT_BUTTON, [this, preference = mouse->preference](wxCommandEvent&) { open_mouse_preferences(preference); }); + buttons->Add(settings, 0, wxALIGN_CENTRE_VERTICAL); + m_preference_rows.push_back({ mouse->preference, desc }); + } else if (const Shortcut* editable = std::get_if<Shortcut>(&row.content)) { + const Shortcut shortcut = *editable; + auto change = icon_button("edit", _L("Edit")); + change->Bind(wxEVT_BUTTON, [this, shortcut](wxCommandEvent&) { edit_shortcut(shortcut); }); + auto reset = icon_button("undo", _L("Reset")); + reset->Bind(wxEVT_BUTTON, [this, shortcut](wxCommandEvent&) { reset_shortcut(shortcut); }); + reset->Show(wxGetApp().shortcuts().is_customized(shortcut)); + buttons->Add(change, 0, wxALIGN_CENTRE_VERTICAL | wxRIGHT, FromDIP(6)); + buttons->Add(reset, 0, wxALIGN_CENTRE_VERTICAL | wxRESERVE_SPACE_EVEN_IF_HIDDEN); + m_editable_rows.push_back({ shortcut, desc, modifiers, key, reset }); + } else { + auto lock = new wxStaticBitmap(scrollable_panel, wxID_ANY, ScalableBitmap(scrollable_panel, "printer_status_lock", 16).bmp()); + lock->SetToolTip(_L("Not customizable")); + buttons->Add((m_edit_size.x - lock->GetBestSize().x) / 2, m_edit_size.y); // centred under the edit icons, at their height + buttons->Add(lock, 0, wxALIGN_CENTRE_VERTICAL); + } + if (const int used = buttons->GetMinSize().x; used < m_buttons_width) // a box sizer recomputes its own min size, so pad it + buttons->AddSpacer(m_buttons_width - used); + + wxBoxSizer* row_sizer = new wxBoxSizer(wxHORIZONTAL); + row_sizer->AddSpacer(row_margin); + row_sizer->Add(desc, 1, wxALIGN_CENTRE_VERTICAL); + row_sizer->AddSpacer(gap); + row_sizer->Add(modifiers, 0, wxALIGN_CENTRE_VERTICAL); + row_sizer->Add(key, 0, wxALIGN_CENTRE_VERTICAL); + row_sizer->Add(buttons, 0, wxALIGN_CENTRE_VERTICAL | wxLEFT, gap); + row_sizer->AddSpacer(title_margin); + scrollable_panel_sizer->Add(row_sizer, 0, wxEXPAND | wxTOP, FromDIP(4)); } - - scrollable_panel_sizer->Add(grid_sizer, 1, wxEXPAND | wxALL, FromDIP(20)); + scrollable_panel_sizer->AddSpacer(title_margin); scrollable_panel->SetSizer(scrollable_panel_sizer); main_sizer->Add(scrollable_panel, 1, wxEXPAND); @@ -365,5 +331,232 @@ wxPanel* KBShortcutsDialog::create_page(wxWindow* parent, const ShortcutsItem& s return main_page; } +void KBShortcutsDialog::edit_shortcut(Shortcut shortcut) +{ + ShortcutCaptureDialog dlg(this, shortcut); + if (dlg.ShowModal() != wxID_OK) + return; + const wxString question = wxString::Format(_L("%s is assigned to %s. Reassign it to %s?"), + join_keys(to_wx(dlg.chord().display_parts())), shortcut_names(dlg.conflicts()), _(shortcut_info(shortcut).name)); + if (!take_chord_from(shortcut, dlg.conflicts(), question)) + return; + wxGetApp().shortcuts().bind(shortcut, dlg.chord()); + apply_bindings(); +} + +void KBShortcutsDialog::reset_shortcut(Shortcut shortcut) +{ + const std::vector<Shortcut> conflicts = wxGetApp().shortcuts().conflicts(shortcut, shortcut_info(shortcut).default_chord); + const wxString question = wxString::Format(_L("The default %s is assigned to %s. Reassign it to %s?"), + join_keys(to_wx(shortcut_info(shortcut).default_chord.display_parts())), shortcut_names(conflicts), _(shortcut_info(shortcut).name)); + if (!take_chord_from(shortcut, conflicts, question)) + return; + wxGetApp().shortcuts().reset(shortcut); + apply_bindings(); +} + +bool KBShortcutsDialog::take_chord_from(Shortcut shortcut, const std::vector<Shortcut>& conflicts, const wxString& question) +{ + if (conflicts.empty()) + return true; + MessageDialog confirm(this, question, _(shortcut_info(shortcut).name), wxICON_QUESTION | wxOK | wxCANCEL); + if (confirm.ShowModal() != wxID_OK) + return false; + for (Shortcut other : conflicts) + wxGetApp().shortcuts().bind(other, KeyChord{}); + return true; +} + +void KBShortcutsDialog::apply_bindings() +{ + const ShortcutRegistry& shortcuts = wxGetApp().shortcuts(); + std::set<wxWindow*> pages; + for (const EditableRow& row : m_editable_rows) { + const int chord_width = set_chord_labels(row.modifiers, row.key, to_wx(shortcuts.binding(row.shortcut).display_parts())); + row.description->SetLabel(_(shortcut_info(row.shortcut).name)); + row.description->Wrap(m_row_text_width - chord_width); + row.reset->Show(shortcuts.is_customized(row.shortcut)); + pages.insert(row.key->GetParent()); + } + for (wxWindow* page : pages) + page->Layout(); + wxGetApp().on_shortcuts_changed(); +} + +int KBShortcutsDialog::set_chord_labels(wxStaticText* modifiers, wxStaticText* key, std::vector<wxString> parts) +{ + const wxString last = parts.empty() ? wxString() : parts.back(); + if (!parts.empty()) + parts.pop_back(); + modifiers->SetLabel(parts.empty() ? wxString() : join_keys(parts) + " + "); + modifiers->Show(!parts.empty()); + key->SetLabel(last); + const int key_width = last.length() == 1 ? m_key_slot : key->GetBestSize().x; + key->SetMinSize(wxSize(key_width, -1)); + return (parts.empty() ? 0 : modifiers->GetBestSize().x) + key_width; +} + +void KBShortcutsDialog::open_mouse_preferences(const char* preference) +{ + // Opened from Preferences > Control, the settings are right behind this dialog. + if (auto preferences = dynamic_cast<PreferencesDialog*>(GetParent()); preferences != nullptr) { + // Runs once this dialog has closed and the focus is back in Preferences. + preferences->CallAfter([preferences, preference] { preferences->select_tab(PreferencesTab::Control, preference); }); + EndModal(wxID_OK); + return; + } + wxGetApp().open_preferences(PreferencesTab::Control, preference); + // A language change rebuilds the main frame, taking this dialog with it. + if (GetParent() != wxGetApp().mainframe) { + EndModal(wxID_CANCEL); + return; + } + for (const PreferenceRow& row : m_preference_rows) + row.description->SetLabel(_(mouse_action(row.preference))); +} + +ShortcutCaptureDialog::ShortcutCaptureDialog(wxWindow* parent, Shortcut shortcut) + : DPIDialog(parent, wxID_ANY, _(shortcut_info(shortcut).name), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE) + , m_shortcut(shortcut) +{ + SetBackgroundColour(*wxWHITE); + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + + // A Global shortcut also runs while a text field has the focus, so its hint names the keys it can use. + const bool global = (shortcut_info(shortcut).contexts & context_bit(ShortcutContext::Global)) != 0; + const wxString advice = global_key_advice(); + const wxString typing = _L("Global shortcuts also apply while typing."); + const wxString rule = _L("A key that types a character cannot be a global shortcut."); + m_hint = global ? typing + "\n" + advice : _L("Esc cancels, Enter confirms."); + m_rejection = rule + "\n" + advice; + + // Wide enough for each sentence on a line of its own where the translation allows, within limits. + int width = FromDIP(450); + for (const wxString& sentence : { typing, rule, advice }) { + int extent = 0; + GetTextExtent(sentence, &extent, nullptr, nullptr, nullptr, &wxGetApp().normal_font()); + width = std::max(width, extent); + } + width = std::min(width, FromDIP(550)); + + auto prompt = new Label(this, wxGetApp().normal_font(), wxString::Format(_L("Press the new shortcut for\n\"%s\""), _(shortcut_info(shortcut).name)), LB_AUTO_WRAP); + prompt->SetMinSize(wxSize(width, -1)); + sizer->Add(prompt, 0, wxALL, FromDIP(20)); + + // Keyboard focus stays on this box so the buttons never receive the key presses. + const wxColour box_colour = StateColor::darkModeColorFor(*wxWHITE); + StaticBox* capture = new StaticBox(this, wxID_ANY, wxDefaultPosition, wxSize(width, FromDIP(60)), wxWANTS_CHARS); + capture->SetCornerRadius(FromDIP(4)); + capture->SetBorderColorNormal(StateColor::darkModeColorFor(wxColour("#009688"))); // the focused-input colour, since the box always has the focus + capture->SetBackgroundColorNormal(box_colour); + capture->SetBackgroundColour(box_colour); + wxBoxSizer* capture_sizer = new wxBoxSizer(wxVERTICAL); + m_chord_label = new wxStaticText(capture, wxID_ANY, join_keys(to_wx(wxGetApp().shortcuts().binding(shortcut).display_parts()))); + m_chord_label->SetFont(::Label::Head_14); + m_chord_label->SetBackgroundColour(box_colour); + capture_sizer->AddStretchSpacer(); + capture_sizer->Add(m_chord_label, 0, wxALIGN_CENTER); + capture_sizer->AddStretchSpacer(); + capture->SetSizer(capture_sizer); + capture->Layout(); // the box is created at its final size, so nothing resizes it into laying the sizer out + // The hook runs before the window procedure, so Windows does not open its window menu + // over the dialog on Alt+Space. + Bind(wxEVT_CHAR_HOOK, &ShortcutCaptureDialog::on_key, this); + capture->Bind(wxEVT_CHAR, &ShortcutCaptureDialog::on_char, this); + capture->Bind(wxEVT_LEFT_DOWN, [capture](wxMouseEvent&) { capture->SetFocus(); }); + sizer->Add(capture, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(20)); + + m_status = new Label(this, wxGetApp().normal_font(), m_hint, LB_AUTO_WRAP); + m_status->SetMinSize(wxSize(width, 3 * m_status->GetCharHeight())); // room for three lines, so the dialog keeps its size while keys are tried + m_status_colour = m_status->GetForegroundColour(); + sizer->Add(m_status, 0, wxLEFT | wxRIGHT | wxTOP, FromDIP(20)); + + auto dlg_btns = new DialogButtons(this, {"Unbind", "OK", "Cancel"}, "", 1 /*left_aligned*/); + dlg_btns->GetFIRST()->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + m_chord = KeyChord{}; + m_conflicts.clear(); + EndModal(wxID_OK); + }); + dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { EndModal(wxID_CANCEL); }); + m_ok = dlg_btns->GetOK(); + m_ok->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { EndModal(wxID_OK); }); + m_ok->Enable(false); + sizer->Add(dlg_btns, 0, wxEXPAND | wxTOP, FromDIP(10)); + + SetSizerAndFit(sizer); + CenterOnParent(); + wxGetApp().UpdateDlgDarkUI(this); + capture->CallAfter([capture]() { capture->SetFocus(); }); +} + +void ShortcutCaptureDialog::on_dpi_changed(const wxRect& suggested_rect) +{ + Layout(); + Fit(); +} + +void ShortcutCaptureDialog::on_key(wxKeyEvent& evt) +{ + if (!evt.HasAnyModifiers()) { + if (evt.GetKeyCode() == WXK_ESCAPE) { + EndModal(wxID_CANCEL); + return; + } + if (evt.GetKeyCode() == WXK_RETURN || evt.GetKeyCode() == WXK_NUMPAD_ENTER) { + if (m_ok->IsEnabled()) + EndModal(wxID_OK); + return; + } + } + const KeyChord chord = KeyChord::from_event(evt); + if (!chord.valid()) + return; + if (chord.needs_char_event()) { + evt.Skip(); + return; + } + record(chord); +} + +void ShortcutCaptureDialog::on_char(wxKeyEvent& evt) +{ + const KeyChord chord = KeyChord::from_event(evt); + if (chord.is_punctuation()) + record(chord); +} + +void ShortcutCaptureDialog::record(const KeyChord& chord) +{ + m_chord = chord; + m_chord_label->SetLabel(join_keys(to_wx(chord.display_parts()))); + m_chord_label->GetParent()->Layout(); + + auto reject = [this](const wxString& reason) { + m_status->SetForegroundColour(ERROR_COLOUR); + m_status->SetLabel(reason); + m_conflicts.clear(); + m_ok->Enable(false); + }; + const bool global = (shortcut_info(m_shortcut).contexts & context_bit(ShortcutContext::Global)) != 0; + if (chord.is_system_shortcut()) { + reject(_L("The system uses this shortcut, so it cannot be assigned.")); + } else if (global && !chord.is_menu_accelerator()) { + reject(m_rejection); + } else if (const std::optional<Shortcut> owner = wxGetApp().shortcuts().step_owner(m_shortcut, chord); owner.has_value()) { + reject(wxString::Format(_L("Shift and Ctrl with this key belong to %s and cannot be assigned."), _(shortcut_info(*owner).name))); + } else { + m_conflicts = wxGetApp().shortcuts().conflicts(m_shortcut, chord); + m_status->SetForegroundColour(m_status_colour); + if (m_conflicts.empty()) + m_status->SetLabel(m_hint); + else + m_status->SetLabel(wxString::Format(_L("Already assigned to %s. Press OK to reassign it."), shortcut_names(m_conflicts))); + m_ok->Enable(true); + } + m_status->Refresh(); // a colour change alone does not repaint + Layout(); + Fit(); +} + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/KBShortcutsDialog.hpp b/src/slic3r/GUI/KBShortcutsDialog.hpp index 9d49cd35c5..3091726147 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.hpp +++ b/src/slic3r/GUI/KBShortcutsDialog.hpp @@ -3,53 +3,120 @@ #include <wx/wx.h> #include <map> +#include <variant> #include <vector> #include "GUI_Utils.hpp" +#include "Shortcuts.hpp" #include "wxExtensions.hpp" #include <wx/simplebook.h> +class Button; +class Label; +class TabCtrl; + namespace Slic3r { namespace GUI { -class Select -{ -public: - int m_index; - wxWindow *m_tab_button; - wxWindow *m_tab_text; -}; -WX_DECLARE_HASH_MAP(int, Select *, wxIntegerHash, wxIntegerEqual, SelectHash); - +// Lists every shortcut per context and lets the user rebind the assignable ones. class KBShortcutsDialog : public DPIDialog { - typedef std::pair<std::string, std::string> Shortcut; - typedef std::vector<Shortcut> Shortcuts; - typedef std::pair<std::pair<wxString, wxString>, Shortcuts> ShortcutsItem; - typedef std::vector<ShortcutsItem> ShortcutsVec; + // A key the user cannot rebind. + struct FixedKey + { + std::vector<wxString> keys; // modifier names and the key, shown joined with "+" + const char* description; // untranslated + }; + // A mouse button whose camera action is chosen in Preferences. + struct MouseAction + { + wxString button; + const char* preference; // AppConfig key of the action + }; + struct Row + { + std::variant<Shortcut, FixedKey, MouseAction> content; + ShortcutSection section; + }; + struct Page + { + wxString title; + wxString caption; // when the page's keys apply + ShortcutContext context; + std::vector<Row> rows; + }; + struct EditableRow + { + Shortcut shortcut; + wxStaticText* description; + wxStaticText* modifiers; + wxStaticText* key; + ScalableButton* reset; + }; + struct PreferenceRow + { + const char* preference; + wxStaticText* description; + }; - ShortcutsVec m_full_shortcuts; - ScalableBitmap m_logo_bmp; - wxStaticBitmap* m_header_bitmap; - std::vector<wxPanel*> m_pages; + std::vector<Page> m_pages; + std::vector<EditableRow> m_editable_rows; + std::vector<PreferenceRow> m_preference_rows; + // Row geometry, measured once and shared by every page. + wxSize m_edit_size; // an edit or reset icon + int m_buttons_width = 0; // every row's buttons column, so the right-aligned keys share an edge + int m_row_text_width = 0; // what a description and its chord share; the description wraps at the rest + int m_key_slot = 0; // width of the widest single key, the column single keys line up in + + TabCtrl* m_tabs; + wxSimplebook* m_simplebook; public: - KBShortcutsDialog(); - wxWindow* create_button(int id, wxString text); - void OnSelectTabel(wxCommandEvent &event); - wxPanel *m_panel_selects; - wxBoxSizer *m_sizer_right; - wxSimplebook *m_simplebook; - wxBoxSizer * m_sizer_body; - SelectHash m_hash_selector; + KBShortcutsDialog(wxWindow* parent, ShortcutContext page); // opens on the page of that context protected: void on_dpi_changed(const wxRect &suggested_rect) override; private: - void fill_shortcuts(); - wxPanel* create_header(wxWindow* parent, const wxFont& bold_font); - wxPanel* create_page(wxWindow* parent, const ShortcutsItem& shortcuts, const wxFont& font, const wxFont& bold_font); + void fill_pages(); + wxPanel* create_page(wxWindow* parent, const Page& page); + void edit_shortcut(Shortcut shortcut); + void reset_shortcut(Shortcut shortcut); + // Asks question before unbinding conflicts; false when the user declined. + bool take_chord_from(Shortcut shortcut, const std::vector<Shortcut>& conflicts, const wxString& question); + void apply_bindings(); // refreshes the rows and pushes the change to the rest of the app + // Puts a chord on a row's two labels, a single key in the shared column, and returns the width the chord takes. + int set_chord_labels(wxStaticText* modifiers, wxStaticText* key, std::vector<wxString> parts); + void open_mouse_preferences(const char* preference); +}; + +// Records one key chord for a shortcut, warning about the shortcuts it would take the chord from. +class ShortcutCaptureDialog : public DPIDialog +{ +public: + ShortcutCaptureDialog(wxWindow* parent, Shortcut shortcut); + + // Valid after ShowModal() returned wxID_OK; an invalid chord means "unbind". + const KeyChord& chord() const { return m_chord; } + const std::vector<Shortcut>& conflicts() const { return m_conflicts; } + +protected: + void on_dpi_changed(const wxRect& suggested_rect) override; + +private: + void on_key(wxKeyEvent& evt); + void on_char(wxKeyEvent& evt); + void record(const KeyChord& chord); + + Shortcut m_shortcut; + KeyChord m_chord; + std::vector<Shortcut> m_conflicts; + wxStaticText* m_chord_label; + wxString m_hint; // what m_status shows while there is nothing to warn about + wxString m_rejection; // what it shows for a key a Global shortcut cannot use + Label* m_status; + wxColour m_status_colour; + Button* m_ok; }; } // namespace GUI diff --git a/src/slic3r/GUI/KeyChord.cpp b/src/slic3r/GUI/KeyChord.cpp new file mode 100644 index 0000000000..f6aeacd3ce --- /dev/null +++ b/src/slic3r/GUI/KeyChord.cpp @@ -0,0 +1,324 @@ +#include "KeyChord.hpp" + +#include "GUI.hpp" +#include "I18N.hpp" + +#include <wx/event.h> + +#include <algorithm> +#include <array> +#include <cctype> + +namespace Slic3r { namespace GUI { + +namespace { + +constexpr int BINDABLE_MODIFIERS = wxMOD_CONTROL | wxMOD_SHIFT | wxMOD_ALT | wxMOD_RAW_CONTROL; + +struct KeyName +{ + int key; + const char* name; // canonical name, as wx parses it + const char* alias; // accepted when parsing; nullptr when there is none + const char* label; // translation key for KeyChord::display(); nullptr when name is it +}; + +constexpr std::array<KeyName, 15> special_keys{{ + { WXK_BACK, L_CONTEXT("Backspace", "Keyboard Shortcut"), "Back", nullptr }, + { WXK_TAB, L_CONTEXT("Tab", "Keyboard Shortcut"), nullptr, nullptr }, + { WXK_RETURN, L_CONTEXT("Enter", "Keyboard Shortcut"), "Return", nullptr }, + { WXK_ESCAPE, L_CONTEXT("Esc", "Keyboard Shortcut"), "Escape", nullptr }, + { WXK_SPACE, L_CONTEXT("Space", "Keyboard Shortcut"), nullptr, nullptr }, + { WXK_DELETE, L_CONTEXT("Del", "Keyboard Shortcut"), "Delete", nullptr }, + { WXK_INSERT, L_CONTEXT("Ins", "Keyboard Shortcut"), "Insert", nullptr }, + { WXK_HOME, L_CONTEXT("Home", "Keyboard Shortcut"), nullptr, nullptr }, + { WXK_END, L_CONTEXT("End", "Keyboard Shortcut"), nullptr, nullptr }, + { WXK_PAGEUP, L_CONTEXT("PgUp", "Keyboard Shortcut"), "PageUp", nullptr }, + { WXK_PAGEDOWN, L_CONTEXT("PgDn", "Keyboard Shortcut"), "PageDown", nullptr }, + // Displayed as "Arrow Left" and so on, which is what the catalogs translate. + { WXK_LEFT, "Left", nullptr, L_CONTEXT("Arrow Left", "Keyboard Shortcut") }, + { WXK_RIGHT, "Right", nullptr, L_CONTEXT("Arrow Right", "Keyboard Shortcut") }, + { WXK_UP, "Up", nullptr, L_CONTEXT("Arrow Up", "Keyboard Shortcut") }, + { WXK_DOWN, "Down", nullptr, L_CONTEXT("Arrow Down", "Keyboard Shortcut") }, +}}; + +bool equals_ignoring_case(const std::string& a, const char* b) +{ + if (b == nullptr) + return false; + size_t i = 0; + for (; i < a.size() && b[i] != '\0'; ++i) + if (std::tolower(static_cast<unsigned char>(a[i])) != std::tolower(static_cast<unsigned char>(b[i]))) + return false; + return i == a.size() && b[i] == '\0'; +} + +bool is_letter(int key) { return key >= 'A' && key <= 'Z'; } +bool is_digit(int key) { return key >= '0' && key <= '9'; } +bool is_printable(int key) { return key > ' ' && key < 127; } +bool is_symbol(int key) { return is_printable(key) && !std::isalnum(key); } +bool is_function_key(int key) { return key >= WXK_F1 && key <= WXK_F24; } + +bool is_special(int key) +{ + if (is_function_key(key)) + return true; + return std::any_of(special_keys.begin(), special_keys.end(), [key](const KeyName& k) { return k.key == key; }); +} + +std::string special_key_name(int key) +{ + if (is_function_key(key)) + return "F" + std::to_string(key - WXK_F1 + 1); + for (const KeyName& k : special_keys) + if (k.key == key) + return k.name; + return {}; +} + +std::string special_key_label(int key) +{ + for (const KeyName& k : special_keys) + if (k.key == key) + return _u8L_CONTEXT(k.label != nullptr ? k.label : k.name, "Keyboard Shortcut"); + return special_key_name(key); +} + +int parse_key(const std::string& text) +{ + if (text.size() == 1) { + const int key = static_cast<unsigned char>(text[0]); + return is_printable(key) ? std::toupper(key) : WXK_NONE; + } + for (const KeyName& k : special_keys) + if (equals_ignoring_case(text, k.name) || equals_ignoring_case(text, k.alias)) + return k.key; + if ((text[0] == 'F' || text[0] == 'f') && text.size() <= 3 && std::all_of(text.begin() + 1, text.end(), [](char c) { return std::isdigit(static_cast<unsigned char>(c)); })) { + const int n = std::stoi(text.substr(1)); + if (n >= 1 && n <= 24) + return WXK_F1 + n - 1; + } + return WXK_NONE; +} + +int parse_modifier(const std::string& text) +{ + if (equals_ignoring_case(text, "Ctrl") || equals_ignoring_case(text, "Control") || equals_ignoring_case(text, "Cmd") || equals_ignoring_case(text, "Command")) + return wxMOD_CONTROL; + if (equals_ignoring_case(text, "Shift")) + return wxMOD_SHIFT; + if (equals_ignoring_case(text, "Alt") || equals_ignoring_case(text, "Option")) + return wxMOD_ALT; + if (equals_ignoring_case(text, "RawCtrl")) + return wxMOD_RAW_CONTROL; + return wxMOD_NONE; +} + +// Numpad keys act as their main-keyboard counterparts, so one binding covers both. +int fold_numpad(int key) +{ + if (key >= WXK_NUMPAD0 && key <= WXK_NUMPAD9) + return '0' + (key - WXK_NUMPAD0); + switch (key) { + case WXK_NUMPAD_ENTER: return WXK_RETURN; + case WXK_NUMPAD_SPACE: return WXK_SPACE; + case WXK_NUMPAD_TAB: return WXK_TAB; + case WXK_NUMPAD_HOME: return WXK_HOME; + case WXK_NUMPAD_END: return WXK_END; + case WXK_NUMPAD_PAGEUP: return WXK_PAGEUP; + case WXK_NUMPAD_PAGEDOWN: return WXK_PAGEDOWN; + case WXK_NUMPAD_LEFT: return WXK_LEFT; + case WXK_NUMPAD_RIGHT: return WXK_RIGHT; + case WXK_NUMPAD_UP: return WXK_UP; + case WXK_NUMPAD_DOWN: return WXK_DOWN; + case WXK_NUMPAD_INSERT: return WXK_INSERT; + case WXK_NUMPAD_DELETE: return WXK_DELETE; + case WXK_NUMPAD_ADD: return '+'; + case WXK_NUMPAD_SUBTRACT: return '-'; + case WXK_NUMPAD_MULTIPLY: return '*'; + case WXK_NUMPAD_DIVIDE: return '/'; + case WXK_NUMPAD_DECIMAL: return '.'; + case WXK_NUMPAD_EQUAL: return '='; + default: return key; + } +} + +// Modifiers in the order the text forms list them; wxMOD_RAW_CONTROL is wxMOD_CONTROL off macOS. +#ifdef __APPLE__ +constexpr std::array<int, 4> MODIFIER_ORDER{ wxMOD_CONTROL, wxMOD_SHIFT, wxMOD_ALT, wxMOD_RAW_CONTROL }; +#else +constexpr std::array<int, 3> MODIFIER_ORDER{ wxMOD_CONTROL, wxMOD_SHIFT, wxMOD_ALT }; +#endif + +const char* canonical_modifier_prefix(int modifier) +{ + if (modifier == wxMOD_CONTROL) + return "Ctrl+"; + if (modifier == wxMOD_SHIFT) + return "Shift+"; + if (modifier == wxMOD_ALT) + return "Alt+"; + return "RawCtrl+"; +} + +template<typename Prefix> +std::string join_modifiers(int modifiers, Prefix prefix) +{ + std::string out; + for (int modifier : MODIFIER_ORDER) + if (modifiers & modifier) + out += prefix(modifier); + return out; +} + +} // namespace + +bool KeyChord::is_punctuation() const { return is_symbol(key) && modifiers == wxMOD_NONE; } + +bool KeyChord::needs_char_event() const { return is_symbol(key) && (modifiers & ~wxMOD_SHIFT) == 0; } + +bool KeyChord::is_menu_accelerator() const +{ + return valid() && ((modifiers & (wxMOD_CONTROL | wxMOD_ALT | wxMOD_RAW_CONTROL)) != 0 || (!is_printable(key) && key != WXK_SPACE)); +} + +// Only a chord the desktop acts on while still delivering it to the app belongs here. +bool KeyChord::is_system_shortcut() const +{ +#ifdef _WIN32 + return modifiers == wxMOD_ALT && (key == WXK_F4 || key == WXK_SPACE); +#else + return false; +#endif +} + +std::string KeyChord::to_string() const +{ + if (!valid()) + return {}; + std::string out = join_modifiers(modifiers, canonical_modifier_prefix); + if (is_printable(key)) + out += char(key); + else + out += special_key_name(key); + return out; +} + +std::optional<KeyChord> KeyChord::parse(const std::string& text) +{ + if (text.empty()) + return std::nullopt; + + // The key is whatever follows the last separator; a trailing '+' is the '+' key itself. + size_t key_start = text.size() - 1; + if (text.back() != '+') { + const size_t sep = text.rfind('+'); + key_start = sep == std::string::npos ? 0 : sep + 1; + } + KeyChord chord; + chord.key = parse_key(text.substr(key_start)); + if (chord.key == WXK_NONE) + return std::nullopt; + + const std::string prefix = key_start == 0 ? std::string() : text.substr(0, key_start - 1); + size_t begin = 0; + while (begin < prefix.size()) { + size_t end = prefix.find('+', begin); + if (end == std::string::npos) + end = prefix.size(); + const int modifier = parse_modifier(prefix.substr(begin, end - begin)); + if (modifier == wxMOD_NONE) + return std::nullopt; + chord.modifiers |= modifier; + begin = end + 1; + } + if (is_letter(chord.key) || is_digit(chord.key) || !is_printable(chord.key) || chord.modifiers == wxMOD_NONE) + return chord; + // Shift is folded into the character for punctuation, so "Shift+/" is not accepted. + return (chord.modifiers & wxMOD_SHIFT) ? std::nullopt : std::optional<KeyChord>(chord); +} + +std::string KeyChord::display() const +{ + std::string out; + for (const std::string& part : display_parts()) + out += (out.empty() ? "" : "+") + part; + return out; +} + +std::vector<std::string> KeyChord::display_parts() const +{ + std::vector<std::string> parts; + if (!valid()) + return parts; + for (int modifier : MODIFIER_ORDER) + if (modifiers & modifier) + parts.push_back(modifier_name(modifier)); + parts.push_back(is_printable(key) ? std::string(1, char(key)) : special_key_label(key)); + return parts; +} + +std::string KeyChord::modifier_prefix(int modifier) +{ + if (modifier == wxMOD_CONTROL) + return shortkey_ctrl_prefix(); + if (modifier == wxMOD_SHIFT) + return _u8L("Shift+"); + if (modifier == wxMOD_ALT) + return shortkey_alt_prefix(); +#ifdef __APPLE__ + if (modifier == wxMOD_RAW_CONTROL) + return u8"⌃+"; +#endif + return {}; +} + +// The catalogue holds the "Ctrl+" prefixes, so the bare name is the prefix without its "+" +// and any space before it ("Strg +" in German). +std::string KeyChord::modifier_name(int modifier) +{ + std::string name = modifier_prefix(modifier); + if (!name.empty() && name.back() == '+') + name.pop_back(); + while (!name.empty() && name.back() == ' ') + name.pop_back(); + return name; +} + +wxAcceleratorEntry KeyChord::to_accelerator_entry(int command) const +{ + int flags = wxACCEL_NORMAL; + if (modifiers & wxMOD_CONTROL) + flags |= wxACCEL_CTRL; + if (modifiers & wxMOD_SHIFT) + flags |= wxACCEL_SHIFT; + if (modifiers & wxMOD_ALT) + flags |= wxACCEL_ALT; +#ifdef __APPLE__ + if (modifiers & wxMOD_RAW_CONTROL) + flags |= wxACCEL_RAW_CTRL; +#endif + return wxAcceleratorEntry(flags, key, command); +} + +KeyChord KeyChord::from_event(const wxKeyEvent& evt) +{ + KeyChord chord; + chord.modifiers = evt.GetModifiers() & BINDABLE_MODIFIERS; + int key = fold_numpad(evt.GetKeyCode()); + + if (evt.GetEventType() == wxEVT_CHAR) { + if (key >= 1 && key <= 26 && evt.ControlDown()) + key = 'A' + key - 1; // Ctrl+letter arrives as the control character + else if (is_symbol(key)) + chord.modifiers &= ~wxMOD_SHIFT; // the character already reflects Shift + } + if (key >= 'a' && key <= 'z') + key -= 'a' - 'A'; + + if (is_printable(key) || is_special(key)) + chord.key = key; + return chord; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/KeyChord.hpp b/src/slic3r/GUI/KeyChord.hpp new file mode 100644 index 0000000000..c2cfb88883 --- /dev/null +++ b/src/slic3r/GUI/KeyChord.hpp @@ -0,0 +1,67 @@ +#pragma once + +#include <wx/accel.h> +#include <wx/defs.h> + +#include <functional> +#include <optional> +#include <string> +#include <vector> + +class wxKeyEvent; + +namespace Slic3r { namespace GUI { + +// One key press: a key code as wxEVT_KEY_DOWN reports it (letters upper-case, numpad keys +// folded onto their main-keyboard equivalents) plus the wxMOD_* modifiers held with it. +// Printable punctuation is stored as the character it produces, so "+" means the key that +// types "+" on the user's layout. +struct KeyChord +{ + int key = WXK_NONE; + int modifiers = wxMOD_NONE; + + bool valid() const { return key != WXK_NONE; } + bool operator==(const KeyChord& other) const { return key == other.key && modifiers == other.modifiers; } + bool operator!=(const KeyChord& other) const { return !(*this == other); } + + // Bare printable keys other than letters and digits are matched on wxEVT_CHAR, because + // only the char event knows which character a key produces under the active layout. + bool is_punctuation() const; + // True for a printable non-alphanumeric key pressed with nothing but Shift, which only the + // char event that follows can resolve. + bool needs_char_event() const; + // True when Ctrl or Alt is held or the key is non-printable, the chords a menu can own without + // swallowing typing in text fields. + bool is_menu_accelerator() const; + // True for a chord the desktop acts on although the app receives it, so a binding would + // take it from the system. + bool is_system_shortcut() const; + + // Platform-neutral text ("Ctrl+Shift+S") for persistence and wx accelerator strings. + std::string to_string() const; + static std::optional<KeyChord> parse(const std::string& text); + + // Text for menus, tooltips and the shortcuts dialog, with translated modifier names and the + // command and option glyphs on macOS. + std::string display() const; + // The pieces display() joins with "+": the modifier names, then the key name. + std::vector<std::string> display_parts() const; + // Translated text of one wxMOD_* modifier, as a "Ctrl+" prefix or the bare "Ctrl" name. + static std::string modifier_prefix(int modifier); + static std::string modifier_name(int modifier); + + wxAcceleratorEntry to_accelerator_entry(int command) const; + + // Builds the chord a key event describes, or an invalid chord for pure modifier presses and + // keys outside the bindable set. wxEVT_CHAR events are normalized to the key codes + // wxEVT_KEY_DOWN reports for letters, digits and special keys. + static KeyChord from_event(const wxKeyEvent& evt); +}; + +struct KeyChordHash +{ + size_t operator()(const KeyChord& chord) const { return std::hash<long long>()((static_cast<long long>(chord.modifiers) << 32) | unsigned(chord.key)); } +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Lazy.cpp b/src/slic3r/GUI/Lazy.cpp new file mode 100644 index 0000000000..2a1a74510a --- /dev/null +++ b/src/slic3r/GUI/Lazy.cpp @@ -0,0 +1,27 @@ +#include "Lazy.hpp" + +#include <boost/log/trivial.hpp> +#include <wx/app.h> +#include <wx/utils.h> + +namespace Slic3r { namespace GUI { + +LazyBase::OnDemandBuild::OnDemandBuild(const LazyBase& lazy) : m_lazy(lazy), m_started(std::chrono::steady_clock::now()) +{ + // The unit tests have no app. + if (wxTheApp != nullptr) + m_busy = std::make_unique<wxBusyCursor>(); +} + +LazyBase::OnDemandBuild::~OnDemandBuild() +{ + BOOST_LOG_TRIVIAL(info) << "Lazy::ensure: built " << m_lazy.name() << " on demand, " << m_units << " unit(s) in " + << std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::steady_clock::now() - m_started).count() << " ms"; +} + +void LazyBase::log_null_factory(const std::string& name) +{ + BOOST_LOG_TRIVIAL(error) << "Lazy::build_step: the factory for " << name << " returned null"; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Lazy.hpp b/src/slic3r/GUI/Lazy.hpp new file mode 100644 index 0000000000..33e092d887 --- /dev/null +++ b/src/slic3r/GUI/Lazy.hpp @@ -0,0 +1,198 @@ +#pragma once + +#include <atomic> +#include <chrono> +#include <functional> +#include <memory> +#include <string> +#include <type_traits> +#include <utility> +#include <vector> + +#include "StagedBuild.hpp" + +class wxBusyCursor; + +// Deferred construction of one object. Lazy<T> holds the factory and builds the object on +// demand or, unit by unit, from an IdleScheduler; LazyBase is what the scheduler sees of +// it; LazyInstance<Self> gives a type with one such object app-wide static access to it. +// docs/HLSD/deferred-page-construction.md covers the design. + +namespace Slic3r { namespace GUI { + +template <class Self> class LazyInstance; + +// A prebuild task: what PrebuildQueue sees of a Lazy<T>. A type with its own unit sequence +// implements it directly. +class LazyBase +{ +public: + virtual ~LazyBase() = default; + + // Labels the object in logs. + virtual const std::string& name() const = 0; + virtual bool built() const = 0; + // Whether the idle prebuild has work here. + virtual bool pending() const { return !built(); } + // Runs one unit and returns true while more remain. + virtual bool build_step() = 0; + // Position in the idle queue: lower builds first, negative is never prebuilt. + virtual int prebuild_order() const = 0; + +protected: + // Busy cursor around a build the user is waiting on, and a log line after it. + class OnDemandBuild + { + public: + explicit OnDemandBuild(const LazyBase& lazy); + ~OnDemandBuild(); + void unit() { ++m_units; } + + private: + const LazyBase& m_lazy; + std::unique_ptr<wxBusyCursor> m_busy; + std::chrono::steady_clock::time_point m_started; + int m_units{ 0 }; + }; + + static void log_null_factory(const std::string& name); +}; + +// Holds an object a factory makes on the first build_step() or ensure(), followed by one +// StagedBuild step per unit if the type has them, and keeps callbacks until the object is +// complete. The object's parent owns it, not the holder. A LazyInstance type is registered +// for its statics; any other type is reached only through the holder. +template <class T> +class Lazy : public LazyBase +{ +public: + using Factory = std::function<T*()>; + + Lazy(std::string name, int order, Factory make) : m_name(std::move(name)), m_order(order), m_make(std::move(make)) + { + if constexpr (registered()) + LazyInstance<T>::s_lazy = this; + } + ~Lazy() override + { + if constexpr (registered()) + if (LazyInstance<T>::s_lazy == this) + LazyInstance<T>::s_lazy = nullptr; + } + Lazy(const Lazy&) = delete; + Lazy& operator=(const Lazy&) = delete; + + // Null until completely built. + T* get() const { return built() ? m_object : nullptr; } + + // Builds whatever is left now and returns the object, null if the factory returned null + // or a nested call finds the object mid-build. + T* ensure() + { + if (!built() && !m_building) { + OnDemandBuild build(*this); + do + build.unit(); + while (build_step()); + } + return get(); + } + + // Runs fn on the object now if it is built, otherwise once it is. + void when_built(std::function<void(T&)> fn) + { + if (built()) + fn(*m_object); + else + m_deferred.push_back(std::move(fn)); + } + + const std::string& name() const override { return m_name; } + // Read by a worker thread through the statics; the last write in build_step() releases it. + bool built() const override { return m_complete.load(std::memory_order_acquire); } + bool pending() const override { return !built() && !m_failed; } + int prebuild_order() const override { return m_order; } + + // The factory is the first unit, then one StagedBuild step each. A unit that pumps the + // event loop cannot re-enter; a nested call does nothing. + bool build_step() override + { + if (built() || m_building || m_failed) + return false; + m_building = true; + try { + if (m_object == nullptr) + m_object = m_make(); + else + step(); + } catch (...) { + m_building = false; + throw; + } + m_building = false; + if (m_object == nullptr) { + m_failed = true; + log_null_factory(m_name); + return false; + } + if (steps_remain()) + return true; + m_complete.store(true, std::memory_order_release); + for (auto& fn : m_deferred) + fn(*m_object); + m_deferred.clear(); + return false; + } + +private: + static constexpr bool registered() { return std::is_base_of_v<LazyInstance<T>, T>; } + static constexpr bool staged() { return std::is_base_of_v<StagedBuild, T>; } + + bool steps_remain() const + { + if constexpr (staged()) + return !m_object->built(); + else + return false; + } + void step() + { + if constexpr (staged()) + m_object->build_step(); + } + + std::string m_name; + int m_order; + Factory m_make; + T* m_object{ nullptr }; + std::atomic<bool> m_complete{ false }; + bool m_building{ false }; + bool m_failed{ false }; + std::vector<std::function<void(T&)>> m_deferred; +}; + +// Mixin for a type with one lazily built instance in the app. The statics reach that +// instance through its Lazy holder (a recreated MainFrame's holder replaces the old +// frame's). +template <class Self> +class LazyInstance +{ +public: + // Null until completely built. + static Self* if_built() { return s_lazy ? s_lazy->get() : nullptr; } + // Builds the object if needed; null while no holder exists or the holder has no + // object. + static Self* ensure() { return s_lazy ? s_lazy->ensure() : nullptr; } + // Runs fn on the object now if it is built, otherwise once it is. + static void when_built(std::function<void(Self&)> fn) + { + if (s_lazy) + s_lazy->when_built(std::move(fn)); + } + +private: + friend class Lazy<Self>; + inline static Lazy<Self>* s_lazy{ nullptr }; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/LazyPage.cpp b/src/slic3r/GUI/LazyPage.cpp new file mode 100644 index 0000000000..d14947bd80 --- /dev/null +++ b/src/slic3r/GUI/LazyPage.cpp @@ -0,0 +1,14 @@ +#include "LazyPage.hpp" + +#include "GUI_App.hpp" + +namespace Slic3r { namespace GUI { + +void apply_dark_ui_to_lazy_panel(wxWindow* panel) +{ +#ifdef _MSW_DARK_MODE + wxGetApp().UpdateDarkUIWin(panel); +#endif +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/LazyPage.hpp b/src/slic3r/GUI/LazyPage.hpp new file mode 100644 index 0000000000..fc85f69285 --- /dev/null +++ b/src/slic3r/GUI/LazyPage.hpp @@ -0,0 +1,77 @@ +#pragma once + +#include <functional> +#include <string> +#include <utility> + +#include <wx/bookctrl.h> +#include <wx/panel.h> +#include <wx/sizer.h> + +#include "Lazy.hpp" + +namespace Slic3r { namespace GUI { + +// Applies the app's dark-mode pass to a panel built after the frame's own pass ran. +void apply_dark_ui_to_lazy_panel(wxWindow* panel); + +// A page whose panel is built the first time the page is shown, or earlier by an +// IdleScheduler; nothing builds while the frame is still hidden. The Lazy side holds the +// panel and, for a LazyInstance panel type, registers it for the type's statics. +template <class Panel> +class LazyPage : public wxPanel, public Lazy<Panel> +{ +public: + using Factory = std::function<Panel*(wxWindow* parent)>; + + LazyPage(wxWindow* parent, std::string name, int order, Factory make = [](wxWindow* parent) { return new Panel(parent); }) + : wxPanel(parent), Lazy<Panel>(std::move(name), order, [this, make = std::move(make)] { + Panel* panel = make(this); + GetSizer()->Add(panel, 1, wxEXPAND); + // Hidden while its page is, as an inserted page would be. + if (!IsShown()) + panel->Hide(); + return panel; + }) + { + SetSizer(new wxBoxSizer(wxVERTICAL)); + // Shown by the book when its tab is selected. + Hide(); + this->when_built([this](Panel& panel) { + apply_dark_ui_to_lazy_panel(&panel); + Layout(); + }); + } + + // The parent book currently lists this page. + bool in_book() const + { + auto* book = dynamic_cast<wxBookCtrlBase*>(GetParent()); + return book != nullptr && book->FindPage(this) != wxNOT_FOUND; + } + + // Pending only while the tab is in the book. + bool pending() const override { return in_book() && Lazy<Panel>::pending(); } + + // Forwarded so the panel's own Show() override stays its activation hook; wx calls this + // virtual from the book's ShowWithEffect() only for wxSHOW_EFFECT_NONE, the default. + bool Show(bool show = true) override + { + const bool changed = wxPanel::Show(show); + if (show) { + // The book shows its first page as it is inserted, before startup has chosen the + // start page, so a hidden frame builds nothing; MainFrame::Show() completes it. + if (this->built() || wxGetTopLevelParent(this)->IsShown()) { + if (Panel* panel = this->ensure()) + panel->Show(true); + // The sizer skipped the panel while the book kept it hidden. + Layout(); + } + } else if (Panel* panel = this->get()) { + panel->Show(false); + } + return changed; + } +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 675bc8da27..a57dbf0b97 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1,6 +1,7 @@ #include "MainFrame.hpp" #include <wx/panel.h> +#include <wx/textentry.h> #include <wx/notebook.h> #include <wx/listbook.h> #include <wx/simplebook.h> @@ -37,23 +38,27 @@ #include "I18N.hpp" #include "GLCanvas3D.hpp" #include "Plater.hpp" +#ifdef SLIC3R_CAD +#include "slic3r/GUI/CAD/DesignPanel.hpp" +#include "slic3r/GUI/CAD/McpControl.hpp" +#endif #include "WebViewDialog.hpp" #include "../Utils/Process.hpp" -#include "format.hpp" // BBS #include "PartPlate.hpp" #include "Preferences.hpp" +#include "Widgets/Button.hpp" #include "Widgets/ProgressDialog.hpp" +#include "Widgets/StaticBox.hpp" #include "BindDialog.hpp" #include "../Utils/MacDarkMode.hpp" #include "../Utils/NetworkAgentFactory.hpp" #include "../Utils/PrintHost.hpp" -#include <fstream> -#include <string_view> - #include "GUI_App.hpp" +#include "Shortcuts.hpp" #include "UnsavedChangesDialog.hpp" +#include "PublishSettingsDialog.hpp" #include "MsgDialog.hpp" #include "Notebook.hpp" #include "GUI_Factories.hpp" @@ -76,6 +81,7 @@ #ifdef __WXGTK__ #include <gtk/gtk.h> +#include <wx/glcanvas.h> #endif // __WXGTK__ #include <slic3r/GUI/CreatePresetsDialog.hpp> @@ -106,6 +112,31 @@ enum class ERescaleTarget SettingsDialog }; +namespace { + +// Space opens the speed dial, but it is the activation key for buttons, checkboxes and other +// controls. CHAR_HOOK runs before the focused child, so only take Space when the focused window has +// no keyboard-activation meaning of its own. Canvases (GLCanvas3D) and panels are not controls and +// fall through to "open"; the Notebook itself does too, so Space still opens the dial on any page. +bool focus_keeps_space(wxWindow* focus) +{ + if (!focus) + return false; + if (dynamic_cast<wxTextEntryBase*>(focus)) + return true; // typing a space into a text field + if (dynamic_cast<wxWebView*>(focus)) + return true; // web content scrolls and hosts its own text fields + if (dynamic_cast<::Button*>(focus)) + return true; // custom button: Space clicks it (it is a wxWindow, not a wxControl) + if (dynamic_cast<StaticBox*>(focus)) + return true; // custom composites (ComboBox, SpinInput, ...) activate with Space and are wxWindow + if (dynamic_cast<wxControl*>(focus) && !dynamic_cast<Notebook*>(focus)) + return true; // stock button/checkbox/choice/list/etc. keep Space + return false; +} + +} // namespace + #ifdef __WXGTK__ // A thin transparent panel placed at a window edge to handle resize. // Works regardless of underlying content (GLCanvas3D, wxWebView, etc.) @@ -281,24 +312,14 @@ static wxIcon main_frame_icon(GUI_App::EAppMode app_mode) wxDEFINE_EVENT(EVT_SYNC_CLOUD_PRESET, SimpleEvent); -#ifdef __APPLE__ -static const wxString ctrl = ("Ctrl+"); -// FIXME: maybe should be using GUI::shortkey_ctrl_prefix() or equivalent? -static const std::string ctrl_t = u8"\u2318+"; // "⌘" (Mac Command) -#else -static const wxString ctrl = _L("Ctrl+"); -// FIXME: maybe should be using GUI::shortkey_ctrl_prefix() or equivalent? -static const wxString ctrl_t = ctrl; -#endif -static const wxString shift = _L("Shift+"); - MainFrame::MainFrame() : DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_STYLE, "mainframe") , m_printhost_queue_dlg(new PrintHostQueueDialog(this)) // BBS , m_recent_projects(18) , m_settings_dialog(this) - , diff_dialog(this) + , m_idle([] { return wxGetApp().input_idle_ms(); }) + , m_diff_dialog("compare_presets", 100, [this] { return make_diff_dialog(); }) { #ifdef __WXOSX__ set_miniaturizable(GetHandle()); @@ -490,6 +511,9 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ wxQueueEvent(wxGetApp().plater(), new SimpleEvent(EVT_NOTICE_CHILDE_SIZE_CHANGED)); fit_tab_labels(); // ORCA on resize + // Restarts the idle build so a hidden Prepare page is laid out at the new size. + if (m_prebuild_started) + m_idle.start(); }); //BBS @@ -701,49 +725,8 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ } return;} #endif - if (evt.CmdDown() && evt.GetKeyCode() == 'R') { if (m_slice_enable) { wxGetApp().plater()->update(true, true); wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_PLATE)); this->m_tabpanel->SelectPageByName(TAB_ID_PREVIEW); } return; } - if (evt.CmdDown() && evt.ShiftDown() && evt.GetKeyCode() == 'G') { - m_plater->apply_background_progress(); - m_print_enable = get_enable_print_status(); - m_print_btn->Enable(m_print_enable); - if (m_print_enable) { - if (wxGetApp().preset_bundle->use_bbl_network() || wxGetApp().app_config->get_bool("use_printer_agents")) - wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_PRINT_PLATE)); - else - wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SEND_GCODE)); - } + if (!handle_global_shortcut(KeyChord::from_event(evt))) evt.Skip(); - return; - } - else if (evt.CmdDown() && evt.GetKeyCode() == 'G') { if (can_export_gcode()) { wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_EXPORT_SLICED_FILE)); } evt.Skip(); return; } - if (evt.CmdDown() && evt.GetKeyCode() == 'J') { m_printhost_queue_dlg->Show(); return; } - if (evt.CmdDown() && evt.GetKeyCode() == 'N') { m_plater->new_project(); return;} - if (evt.CmdDown() && evt.GetKeyCode() == 'O') { m_plater->load_project(); return;} - if (evt.CmdDown() && evt.ShiftDown() && evt.GetKeyCode() == 'S') { if (can_save_as()) m_plater->save_project(true); return;} - else if (evt.CmdDown() && evt.GetKeyCode() == 'S') { if (can_save()) m_plater->save_project(); return;} - if (evt.CmdDown() && evt.GetKeyCode() == 'F') { - if (m_plater && is_prepare_or_preview_tab()) { - m_plater->sidebar().can_search(); - } - } -#ifdef __APPLE__ - if (evt.CmdDown() && evt.GetKeyCode() == ',') -#else - if (evt.CmdDown() && evt.GetKeyCode() == 'P') -#endif - { - // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit - wxGetApp().open_preferences(); - plater()->get_current_canvas3D()->force_set_focus(); - return; - } - - if (evt.CmdDown() && evt.GetKeyCode() == 'I' && !evt.ShiftDown()) { - if (!can_add_models()) return; - if (m_plater) { m_plater->add_file(); } - return; - } - evt.Skip(); }); Bind(wxEVT_SHOW, [](wxShowEvent &evt) { @@ -759,13 +742,102 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ wxGetApp().persist_window_geometry(this, true); wxGetApp().persist_window_geometry(&m_settings_dialog, true); - // bind events from DiffDlg - - bind_diff_dialog(); } -void MainFrame::bind_diff_dialog() +bool MainFrame::handle_global_shortcut(const KeyChord& chord) { + const std::optional<Shortcut> shortcut = wxGetApp().shortcuts().lookup(ShortcutContext::Global, chord); + if (!shortcut.has_value()) + return false; + + switch (*shortcut) { + case Shortcut::SlicePlate: + if (m_slice_enable) { + wxGetApp().plater()->update(true, true); + wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_PLATE)); + m_tabpanel->SelectPageByName(TAB_ID_PREVIEW); + } + break; + case Shortcut::PrintPlate: + m_plater->apply_background_progress(); + m_print_enable = get_enable_print_status(); + m_print_btn->Enable(m_print_enable); + if (m_print_enable) { + if (wxGetApp().preset_bundle->use_bbl_network() || wxGetApp().app_config->get_bool("use_printer_agents")) + wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_PRINT_PLATE)); + else + wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SEND_GCODE)); + } + return false; + case Shortcut::ExportSlicedFile: + if (can_export_gcode()) + wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_EXPORT_SLICED_FILE)); + return false; + case Shortcut::PrintHostQueue: m_printhost_queue_dlg->Show(); break; + case Shortcut::SpeedDial: + if (!wxGetApp().app_config->get_bool("enable_speed_dial") || (chord == KeyChord{ WXK_SPACE } && focus_keeps_space(wxWindow::FindFocus()))) + return false; + // Deferred out of the native key-event stack: open_speed_dial() may create a WebView and run script. + CallAfter([] { wxGetApp().open_speed_dial(); }); + break; + case Shortcut::NewProject: m_plater->new_project(); break; + case Shortcut::OpenProject: m_plater->load_project(); break; + case Shortcut::SaveProjectAs: + if (can_save_as()) + m_plater->save_project(true); + break; + case Shortcut::SaveProject: + if (can_save()) + m_plater->save_project(); + break; + case Shortcut::Search: + if (m_plater && is_prepare_or_preview_tab()) + m_plater->sidebar().can_search(); + return false; + case Shortcut::Preferences: + // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit + wxGetApp().open_preferences(); + plater()->get_current_canvas3D()->force_set_focus(); + break; + case Shortcut::ImportModel: + if (can_add_models() && m_plater) + m_plater->add_file(); + break; + case Shortcut::Publish3mf: + if (can_export_model()) + publish_project(); + break; + case Shortcut::ShowLabels: + if (m_plater && m_plater->is_view3D_shown()) { + m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); + m_plater->get_current_canvas3D()->post_event(SimpleEvent(wxEVT_PAINT)); + } + break; + case Shortcut::ViewDefault: + if (m_plater) { + select_view("plate"); + m_plater->get_current_canvas3D()->zoom_to_bed(); + } + break; + case Shortcut::ViewTop: select_view("top"); break; + case Shortcut::ViewBottom: select_view("bottom"); break; + case Shortcut::ViewFront: select_view("front"); break; + case Shortcut::ViewRear: select_view("rear"); break; + case Shortcut::ViewLeft: select_view("left"); break; + case Shortcut::ViewRight: select_view("right"); break; + case Shortcut::ViewPlate: + if (m_plater) + m_plater->get_current_canvas3D()->select_plate(); + break; + default: return false; + } + return true; +} + +DiffPresetDialog* MainFrame::make_diff_dialog() +{ + auto* dialog = new DiffPresetDialog(this); + auto get_tab = [](Preset::Type type) { Tab* null_tab = nullptr; for (Tab* tab : wxGetApp().tabs_list) @@ -774,23 +846,24 @@ void MainFrame::bind_diff_dialog() return null_tab; }; - auto transfer = [this, get_tab](Preset::Type type) { - get_tab(type)->transfer_options(diff_dialog.get_left_preset_name(type), - diff_dialog.get_right_preset_name(type), - diff_dialog.get_selected_options(type)); + auto transfer = [dialog, get_tab](Preset::Type type) { + get_tab(type)->transfer_options(dialog->get_left_preset_name(type), + dialog->get_right_preset_name(type), + dialog->get_selected_options(type)); }; - auto process_options = [this](std::function<void(Preset::Type)> process) { - const Preset::Type diff_dlg_type = diff_dialog.view_type(); + auto process_options = [dialog](std::function<void(Preset::Type)> process) { + const Preset::Type diff_dlg_type = dialog->view_type(); if (diff_dlg_type == Preset::TYPE_INVALID) { - for (const Preset::Type& type : diff_dialog.types_list() ) + for (const Preset::Type& type : dialog->types_list() ) process(type); } else process(diff_dlg_type); }; - diff_dialog.Bind(EVT_DIFF_DIALOG_TRANSFER, [process_options, transfer](SimpleEvent&) { process_options(transfer); }); + dialog->Bind(EVT_DIFF_DIALOG_TRANSFER, [process_options, transfer](SimpleEvent&) { process_options(transfer); }); + return dialog; } @@ -1018,7 +1091,15 @@ void MainFrame::update_layout() // Right after Home — or first, when there is no Home tab (PositionAfter() would // append instead, and by now the other built-in tabs are already in place). const int home_idx = m_tabpanel->FindPageByName(TAB_ID_HOME); - const size_t prepare_pos = (home_idx == wxNOT_FOUND) ? 0 : static_cast<size_t>(home_idx) + 1; + size_t prepare_pos = (home_idx == wxNOT_FOUND) ? 0 : static_cast<size_t>(home_idx) + 1; +#ifdef SLIC3R_CAD + // Design sits between Home and Prepare, so it goes in first and pushes Prepare along. + // The page only exists when the experimental CAD feature is enabled. + if (m_design_page != nullptr) { + m_design_page->Reparent(m_tabpanel); + m_tabpanel->InsertPage(prepare_pos++, TAB_ID_DESIGN, m_design_page, _L("Design"), "tab_design_active"); + } +#endif m_tabpanel->InsertPage(prepare_pos, TAB_ID_PREPARE, m_plater, _L("Prepare"), "tab_3d_active"); m_tabpanel->InsertPage(prepare_pos + 1, TAB_ID_PREVIEW, m_plater, _L("Preview"), "tab_preview_active"); m_main_sizer->Add(m_tabpanel, 1, wxEXPAND | wxTOP, 0); @@ -1110,9 +1191,12 @@ void MainFrame::update_edge_panels() void MainFrame::shutdown() { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "MainFrame::shutdown enter"; - if (m_project != nullptr) - m_project->shutdown(); + m_idle.stop(); + if (ProjectPanel* project = ProjectPanel::if_built()) + project->shutdown(); m_plugin_pages.shutdown(); + if (m_plater != nullptr) + m_plater->remove_dock_panes(); #ifdef __WXGTK__ // Edge panels are child windows — wxWidgets destroys them automatically. m_edge_bottom = nullptr; @@ -1276,9 +1360,23 @@ void MainFrame::init_tabpanel() { } //else if (panel == m_param_panel) // m_param_panel->OnActivate(); - else if (panel == m_monitor) { +#ifdef SLIC3R_CAD + else if (m_design_page != nullptr && panel == m_design_page) { + // Re-sync the Design bed to the active printer: the panel is built before the + // printer profile is fully applied, so its bed must refresh on activation or the + // grid (true bed) spills past the stale default bed quad. + DesignPanel::ensure()->on_tab_shown(); + } +#endif + else if (panel == m_monitor_page) { //monitor } +#ifdef SLIC3R_CAD + // Any page that is not Design takes the Design status line down with it — see + // DesignPanel::on_tab_hidden for why the popup does not follow the page on its own. + if (DesignPanel* design = DesignPanel::if_built(); design != nullptr && panel != m_design_page) + design->on_tab_hidden(); +#endif #ifndef __APPLE__ if (m_last_selected_tab == TAB_ID_PREPARE) { m_topbar->EnableUndoRedoItems(); @@ -1293,13 +1391,14 @@ void MainFrame::init_tabpanel() { }); if (wxGetApp().is_editor()) { - m_webview = new WebViewPanel(m_tabpanel); + m_home_page = new LazyPage<WebViewPanel>(m_tabpanel, TAB_ID_HOME, 10); + m_lazy_pages.push_back(m_home_page); Bind(EVT_LOAD_URL, [this](wxCommandEvent &evt) { wxString url = evt.GetString(); select_tab(TAB_ID_HOME); - m_webview->load_url(url); + WebViewPanel::ensure()->load_url(url); }); - m_tabpanel->AddPage(TAB_ID_HOME, m_webview, "", "tab_home_active"); + m_tabpanel->AddPage(TAB_ID_HOME, m_home_page, "", "tab_home_active"); m_param_panel = new ParamsPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBK_LEFT | wxTAB_TRAVERSAL); } @@ -1309,36 +1408,56 @@ void MainFrame::init_tabpanel() { wxGetApp().plater_ = m_plater; +#ifdef SLIC3R_CAD + // The experimental feature is off by default, and when it is off the page is never + // created, so the tab does not appear at all (the preference takes effect on the next + // start, like the other feature toggles). + if (wxGetApp().is_enable_cad_feature()) { + // Experimental and heavy enough that building it unasked would cost more than it saves. + m_design_page = new LazyPage<DesignPanel>(this, TAB_ID_DESIGN, -1); + m_lazy_pages.push_back(m_design_page); + start_mcp_control_if_enabled(); // opens the MCP socket iff ORCA_CAD_MCP is set + } +#endif + create_preset_tabs(); //BBS add pages - m_monitor = new MonitorPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_monitor->SetBackgroundColour(*wxWHITE); - m_tabpanel->AddPage(TAB_ID_MONITOR, m_monitor, _L("Device"), "tab_monitor_active"); + m_monitor_page = new LazyPage<MonitorPanel>(m_tabpanel, TAB_ID_MONITOR, 20); + m_lazy_pages.push_back(m_monitor_page); + m_tabpanel->AddPage(TAB_ID_MONITOR, m_monitor_page, _L("Device"), "tab_monitor_active"); - m_printer_view = new PrinterWebView(m_tabpanel); + m_printer_view_page = new LazyPage<PrinterWebView>(m_tabpanel, TAB_ID_MONITOR_WEB, 50, [this](wxWindow* parent) { + auto* view = new PrinterWebView(parent); + if (!m_printer_url.empty()) + view->load_url(m_printer_url, m_printer_api_key); + return view; + }); + m_lazy_pages.push_back(m_printer_view_page); Bind(EVT_LOAD_PRINTER_URL, [this](LoadPrinterViewEvent &evt) { - wxString url = evt.GetString(); - wxString key = evt.GetAPIkey(); //select_tab(MainFrame::tpMonitor); - m_printer_view->load_url(url, key); + m_printer_url = evt.GetString(); + m_printer_api_key = evt.GetAPIkey(); + if (PrinterWebView* view = PrinterWebView::if_built()) + view->load_url(m_printer_url, m_printer_api_key); }); - m_printer_view->Hide(); + m_multi_machine_page = new LazyPage<MultiMachinePage>(m_tabpanel, TAB_ID_MULTI_DEVICE, 40); + m_lazy_pages.push_back(m_multi_machine_page); if (wxGetApp().is_enable_multi_machine()) { - m_multi_machine = new MultiMachinePage(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_multi_machine->SetBackgroundColour(*wxWHITE); // TODO: change the bitmap - m_tabpanel->AddPage(TAB_ID_MULTI_DEVICE, m_multi_machine, _L("Multi-device"), "tab_multi_active"); + m_tabpanel->AddPage(TAB_ID_MULTI_DEVICE, m_multi_machine_page, _L("Multi-device"), "tab_multi_active"); } - m_project = new ProjectPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_project->SetBackgroundColour(*wxWHITE); - m_tabpanel->AddPage(TAB_ID_PROJECT, m_project, _L("Project"), "tab_auxiliary_active"); + m_project_page = new LazyPage<ProjectPanel>(m_tabpanel, TAB_ID_PROJECT, 60); + m_lazy_pages.push_back(m_project_page); + m_tabpanel->AddPage(TAB_ID_PROJECT, m_project_page, _L("Project"), "tab_auxiliary_active"); - m_calibration = new CalibrationPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_calibration->SetBackgroundColour(*wxWHITE); - m_tabpanel->AddPage(TAB_ID_CALIBRATION, m_calibration, _L("Calibration"), "tab_calibration_active"); + // show_device() removes this tab for printers without the Bambu device tab, and the page + // then never builds its panel. + m_calibration_page = new LazyPage<CalibrationPanel>(m_tabpanel, TAB_ID_CALIBRATION, 30); + m_lazy_pages.push_back(m_calibration_page); + m_tabpanel->AddPage(TAB_ID_CALIBRATION, m_calibration_page, _L("Calibration"), "tab_calibration_active"); // Plugin pages are appended after the built-in tabs; their ids are namespaced // (plugin.<plugin_key>.<name>) so they can't collide with the built-in TAB_ID_* constants. @@ -1373,67 +1492,44 @@ void MainFrame::show_device(bool should_use_native) { // Remove the extra page before switching to any layout that shouldn't have it. if (!want_web_device_tab) { if ((idx = m_tabpanel->FindPageByName(TAB_ID_MONITOR_WEB)) != wxNOT_FOUND) { - m_printer_view->Show(false); + m_printer_view_page->Show(false); m_tabpanel->RemovePage(idx); } } if (use_printer_agents) { - if (!m_monitor) { - m_monitor = new MonitorPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_monitor->SetBackgroundColour(*wxWHITE); - } - - if (m_tabpanel->FindPage(m_monitor) == wxNOT_FOUND) { - if ((idx = m_tabpanel->FindPage(m_printer_view)) != wxNOT_FOUND) { - m_printer_view->Show(false); + if (!m_monitor_page->in_book()) { + if ((idx = m_tabpanel->FindPage(m_printer_view_page)) != wxNOT_FOUND) { + m_printer_view_page->Show(false); m_tabpanel->RemovePage(idx); } - m_monitor->Show(false); - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_monitor, + m_monitor_page->Show(false); + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_monitor_page, _L("Device"), "tab_monitor_active"); } - if (m_printer_view == nullptr) { - m_printer_view = new PrinterWebView(m_tabpanel); - Bind(EVT_LOAD_PRINTER_URL, [this](LoadPrinterViewEvent& evt) { - wxString url = evt.GetString(); - wxString key = evt.GetAPIkey(); - // select_tab(MainFrame::tpMonitor); - m_printer_view->load_url(url, key); - }); - } - if (wxGetApp().is_enable_multi_machine()) { - if (!m_multi_machine) { - m_multi_machine = new MultiMachinePage(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_multi_machine->SetBackgroundColour(*wxWHITE); - } // TODO: change the bitmap - if (m_tabpanel->FindPage(m_multi_machine) == wxNOT_FOUND) { - m_multi_machine->Show(false); + if (!m_multi_machine_page->in_book()) { + m_multi_machine_page->Show(false); // Past the web Device tab when it is already there, so enabling multi-machine // later can't wedge this page between the two Device tabs. m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_MONITOR_WEB, TAB_ID_MONITOR}), - TAB_ID_MULTI_DEVICE, m_multi_machine, _L("Multi-device"), "tab_multi_active"); + TAB_ID_MULTI_DEVICE, m_multi_machine_page, _L("Multi-device"), "tab_multi_active"); } } - if (!m_calibration) { - m_calibration = new CalibrationPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_calibration->SetBackgroundColour(*wxWHITE); - } - if (m_tabpanel->FindPage(m_calibration) == wxNOT_FOUND) { - m_calibration->Show(false); - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PROJECT}), TAB_ID_CALIBRATION, m_calibration, + if (!m_calibration_page->in_book()) { + m_calibration_page->Show(false); + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PROJECT}), TAB_ID_CALIBRATION, m_calibration_page, _L("Calibration"), "tab_calibration_active"); } if (want_web_device_tab) { - if ((idx = m_tabpanel->FindPage(m_printer_view)) == wxNOT_FOUND) { - m_printer_view->Show(false); + if ((idx = m_tabpanel->FindPage(m_printer_view_page)) == wxNOT_FOUND) { + m_printer_view_page->Show(false); // Immediately right of the native Device tab, not at the end of the tab bar. m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_MONITOR}), TAB_ID_MONITOR_WEB, - m_printer_view, _L("Device (Web)"), "tab_monitor_active"); + m_printer_view_page, _L("Device (Web)"), "tab_monitor_active"); } else { m_tabpanel->SetPageText(idx, _L("Device (Web)")); } @@ -1445,48 +1541,37 @@ void MainFrame::show_device(bool should_use_native) { fit_tab_labels(); // ORCA on printer change m_plugin_pages.relayout(); // re-sync plugin tabs against the native tabs just mutated above - + if (m_prebuild_started) + m_idle.start(); return; } if (should_use_native) { - if (m_tabpanel->FindPage(m_monitor) != wxNOT_FOUND) { + if (m_monitor_page->in_book()) { fit_tab_labels(); // ORCA on printer change - same button layout return; } // Remove printer view - if ((idx = m_tabpanel->FindPage(m_printer_view)) != wxNOT_FOUND) { - m_printer_view->Show(false); + if ((idx = m_tabpanel->FindPage(m_printer_view_page)) != wxNOT_FOUND) { + m_printer_view_page->Show(false); m_tabpanel->RemovePage(idx); } - // Create/insert monitor page - if (!m_monitor) { - m_monitor = new MonitorPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_monitor->SetBackgroundColour(*wxWHITE); - } - m_monitor->Show(false); - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_monitor, + // Insert monitor page + m_monitor_page->Show(false); + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_monitor_page, _L("Device"), "tab_monitor_active"); if (wxGetApp().is_enable_multi_machine()) { - if (!m_multi_machine) { - m_multi_machine = new MultiMachinePage(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_multi_machine->SetBackgroundColour(*wxWHITE); - } // TODO: change the bitmap - m_multi_machine->Show(false); - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_MONITOR}), TAB_ID_MULTI_DEVICE, m_multi_machine, + m_multi_machine_page->Show(false); + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_MONITOR}), TAB_ID_MULTI_DEVICE, m_multi_machine_page, _L("Multi-device"), "tab_multi_active"); } - if (!m_calibration) { - m_calibration = new CalibrationPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize); - m_calibration->SetBackgroundColour(*wxWHITE); - } - m_calibration->Show(false); + m_calibration_page->Show(false); // Last of the built-in tabs, but plugin tabs already sit past it — anchor rather than // append, so its position doesn't depend on the relayout() below running afterwards. - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PROJECT}), TAB_ID_CALIBRATION, m_calibration, + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PROJECT}), TAB_ID_CALIBRATION, m_calibration_page, _L("Calibration"), "tab_calibration_active"); #ifdef _MSW_DARK_MODE @@ -1494,37 +1579,30 @@ void MainFrame::show_device(bool should_use_native) { #endif // _MSW_DARK_MODE } else { - if (m_tabpanel->FindPage(m_printer_view) != wxNOT_FOUND) { + if (m_printer_view_page->in_book()) { fit_tab_labels(); // ORCA on printer change - same button layout return; } - if ((idx = m_tabpanel->FindPage(m_calibration)) != wxNOT_FOUND) { - m_calibration->Show(false); + if ((idx = m_tabpanel->FindPage(m_calibration_page)) != wxNOT_FOUND) { + m_calibration_page->Show(false); m_tabpanel->RemovePage(idx); } - if ((idx = m_tabpanel->FindPage(m_multi_machine)) != wxNOT_FOUND) { - m_multi_machine->Show(false); + if ((idx = m_tabpanel->FindPage(m_multi_machine_page)) != wxNOT_FOUND) { + m_multi_machine_page->Show(false); m_tabpanel->RemovePage(idx); } - if ((idx = m_tabpanel->FindPage(m_monitor)) != wxNOT_FOUND) { - m_monitor->Show(false); + if ((idx = m_tabpanel->FindPage(m_monitor_page)) != wxNOT_FOUND) { + m_monitor_page->Show(false); m_tabpanel->RemovePage(idx); } - if (m_printer_view == nullptr) { - m_printer_view = new PrinterWebView(m_tabpanel); - Bind(EVT_LOAD_PRINTER_URL, [this](LoadPrinterViewEvent& evt) { - wxString url = evt.GetString(); - wxString key = evt.GetAPIkey(); - // select_tab(MainFrame::tpMonitor); - m_printer_view->load_url(url, key); - }); - } - m_printer_view->Show(false); - m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_printer_view, + m_printer_view_page->Show(false); + m_tabpanel->InsertPage(m_tabpanel->PositionAfter({TAB_ID_PREVIEW}), TAB_ID_MONITOR, m_printer_view_page, _L("Device"), "tab_monitor_active"); } fit_tab_labels(); // ORCA on printer change m_plugin_pages.relayout(); // re-sync plugin tabs against the native tabs just mutated above + if (m_prebuild_started) + m_idle.start(); } bool MainFrame::is_prepare_or_preview_tab() const @@ -1590,7 +1668,7 @@ void MainFrame::register_win32_callbacks() //static GUID GUID_DEVINTERFACE_USB_DEVICE = { 0xA5DCBF10, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED }; //static GUID GUID_DEVINTERFACE_DISK = { 0x53f56307, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b }; //static GUID GUID_DEVINTERFACE_VOLUME = { 0x71a27cdd, 0x812a, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f }; - static GUID GUID_DEVINTERFACE_HID = { 0x4D1E55B2, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 }; + static GUID GUID_DEVINTERFACE_HID = { 0x4D1E55B2, 0xF16F, 0x11CF, { 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 } }; // Register USB HID (Human Interface Devices) notifications to trigger the 3DConnexion enumeration. DEV_BROADCAST_DEVICEINTERFACE NotificationFilter = { 0 }; @@ -1630,7 +1708,7 @@ void MainFrame::register_win32_callbacks() { static constexpr int device_count = 1; - RAWINPUTDEVICE devices[device_count] = { 0 }; + RAWINPUTDEVICE devices[device_count] = {}; // multi-axis mouse (SpaceNavigator, etc.) devices[0].usUsagePage = 0x01; devices[0].usUsage = 0x08; @@ -1739,6 +1817,22 @@ bool MainFrame::save_project_as(const wxString& filename) return ret; } +void MainFrame::publish_project() +{ + if (m_plater == nullptr) + return; + // Seed the dialog from the session selection (a remembered state or a freshly loaded + // published 3MF); a null pointer means "fresh", keeping the dirty defaults. + std::vector<std::string> pending_keys; + std::vector<Slic3r::PublishedMaterialEntry> pending_material; + const bool has_prior = m_plater->get_pending_published(pending_keys, pending_material); + PublishSettingsDialog dlg(this, has_prior ? &pending_keys : nullptr, has_prior ? &pending_material : nullptr); + if (dlg.ShowModal() != wxID_OK) + return; + m_plater->set_pending_published(dlg.GetPublishedKeys(), dlg.GetPublishedMaterialKeys()); + m_plater->export_published_3mf(dlg.GetPublishedKeys(), dlg.GetPublishedMaterialKeys()); +} + bool MainFrame::can_upload() const { return true; @@ -2554,13 +2648,11 @@ void MainFrame::on_dpi_changed(const wxRect& suggested_rect) //BBS GUI refactor: remove unused layout new/dlg //if (m_layout != ESettingsLayout::Dlg) // Do not update tabs if the Settings are in the separated dialog m_param_panel->msw_rescale(); - m_project->msw_rescale(); - if(m_monitor) - m_monitor->msw_rescale(); - if(m_multi_machine) - m_multi_machine->msw_rescale(); - if(m_calibration) - m_calibration->msw_rescale(); + // A panel mid-build gets the pass once it is complete. + ProjectPanel::when_built([](ProjectPanel& project) { project.msw_rescale(); }); + MonitorPanel::when_built([](MonitorPanel& monitor) { monitor.msw_rescale(); }); + MultiMachinePage::when_built([](MultiMachinePage& multi_machine) { multi_machine.msw_rescale(); }); + CalibrationPanel::when_built([](CalibrationPanel& calibration) { calibration.msw_rescale(); }); // BBS #if 0 @@ -2614,7 +2706,8 @@ void MainFrame::on_sys_color_changed() #endif #endif - diff_dialog.on_sys_color_changed(); + if (DiffPresetDialog* dialog = DiffPresetDialog::if_built()) + dialog->on_sys_color_changed(); // BBS m_tabpanel->Rescale(); @@ -2622,10 +2715,8 @@ void MainFrame::on_sys_color_changed() // update Plater wxGetApp().plater()->sys_color_changed(); - if(m_monitor) - m_monitor->on_sys_color_changed(); - if(m_calibration) - m_calibration->on_sys_color_changed(); + MonitorPanel::when_built([](MonitorPanel& monitor) { monitor.on_sys_color_changed(); }); + CalibrationPanel::when_built([](CalibrationPanel& calibration) { calibration.on_sys_color_changed(); }); // update Tabs for (auto tab : wxGetApp().tabs_list) tab->sys_color_changed(); @@ -2649,13 +2740,31 @@ static const wxString sep = " - "; static const wxString sep = "\t"; #endif -static wxMenu* generate_help_menu() +wxString MainFrame::shortcut_label(const wxString& label, Shortcut shortcut, bool accelerator) +{ + const ShortcutRegistry& shortcuts = wxGetApp().shortcuts(); + if (accelerator) { + const std::string accel = shortcuts.accelerator(shortcut); + if (!accel.empty()) + return label + " " + from_u8(accel); + } + const std::string text = shortcuts.display(shortcut); + return text.empty() ? label : label + sep + from_u8(text); +} + +void MainFrame::update_shortcut_labels() +{ + for (const ShortcutMenuItem& entry : m_shortcut_menu_items) + entry.item->SetItemLabel(shortcut_label(entry.label, entry.shortcut, entry.accelerator)); +} + +wxMenu* MainFrame::generate_help_menu() { wxMenu* helpMenu = new wxMenu(); // shortcut key - append_menu_item(helpMenu, wxID_ANY, _L("Keyboard Shortcuts") + sep + "&?", _L("Show the list of keyboard shortcuts"), - [](wxCommandEvent&) { wxGetApp().keyboard_shortcuts(); }); + append_shortcut_item(helpMenu, Shortcut::KeyboardShortcuts, false, _L("Keyboard Shortcuts"), _L("Show the list of keyboard shortcuts"), + [](wxCommandEvent&) { wxGetApp().keyboard_shortcuts(ShortcutContext::Global); }); // Show Beginner's Tutorial append_menu_item(helpMenu, wxID_ANY, _L("Setup Wizard"), _L("Setup Wizard"), [](wxCommandEvent &) {wxGetApp().ShowUserGuide();}); @@ -2737,29 +2846,28 @@ static void add_common_publish_menu_items(wxMenu* publish_menu, MainFrame* mainF #endif } -static void add_common_view_menu_items(wxMenu* view_menu, MainFrame* mainFrame, std::function<bool(void)> can_change_view) +void MainFrame::add_common_view_menu_items(wxMenu* view_menu, std::function<bool(void)> can_change_view) { - // The camera control accelerators are captured by GLCanvas3D::on_char(). - append_menu_item(view_menu, wxID_ANY, _L("Default View") + "\t" + ctrl + "0", _L("Default View"), [mainFrame](wxCommandEvent&) { - mainFrame->select_view("plate"); - mainFrame->plater()->get_current_canvas3D()->zoom_to_bed(); + append_shortcut_item(view_menu, Shortcut::ViewDefault, true, _L("Default View"), _L("Default View"), [this](wxCommandEvent&) { + select_view("plate"); + plater()->get_current_canvas3D()->zoom_to_bed(); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); + "", nullptr, [can_change_view]() { return can_change_view(); }, this); //view_menu->AppendSeparator(); //TRN To be shown in the main menu View->Top - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Top", "Camera View") + "\t" + ctrl + "1", _L("Top View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("top"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); + append_shortcut_item(view_menu, Shortcut::ViewTop, true, _L_CONTEXT("Top", "Camera View"), _L("Top View"), [this](wxCommandEvent&) { select_view("top"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); //TRN To be shown in the main menu View->Bottom - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Bottom", "Camera View") + "\t" + ctrl + "2", _L("Bottom View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("bottom"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Front", "Camera View") + "\t" + ctrl + "3", _L("Front View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("front"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Rear", "Camera View") + "\t" + ctrl + "4", _L("Rear View"), [mainFrame](wxCommandEvent&) { mainFrame->select_view("rear"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Left", "Camera View") + "\t" + ctrl + "5", _L("Left View"),[mainFrame](wxCommandEvent &) {mainFrame->select_view("left"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); - append_menu_item(view_menu, wxID_ANY, _L_CONTEXT("Right", "Camera View") + "\t" + ctrl + "6", _L("Right View"),[mainFrame](wxCommandEvent &) { mainFrame->select_view("right"); }, - "", nullptr, [can_change_view]() { return can_change_view(); }, mainFrame); + append_shortcut_item(view_menu, Shortcut::ViewBottom, true, _L_CONTEXT("Bottom", "Camera View"), _L("Bottom View"), [this](wxCommandEvent&) { select_view("bottom"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); + append_shortcut_item(view_menu, Shortcut::ViewFront, true, _L_CONTEXT("Front", "Camera View"), _L("Front View"), [this](wxCommandEvent&) { select_view("front"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); + append_shortcut_item(view_menu, Shortcut::ViewRear, true, _L_CONTEXT("Rear", "Camera View"), _L("Rear View"), [this](wxCommandEvent&) { select_view("rear"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); + append_shortcut_item(view_menu, Shortcut::ViewLeft, true, _L_CONTEXT("Left", "Camera View"), _L("Left View"), [this](wxCommandEvent &) { select_view("left"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); + append_shortcut_item(view_menu, Shortcut::ViewRight, true, _L_CONTEXT("Right", "Camera View"), _L("Right View"), [this](wxCommandEvent &) { select_view("right"); }, + "", nullptr, [can_change_view]() { return can_change_view(); }, this); } void MainFrame::init_menubar_as_editor() @@ -2778,17 +2886,17 @@ void MainFrame::init_menubar_as_editor() [this] { return m_plater != nullptr && wxGetApp().app_config->get("app", "single_instance") == "false"; }, this); #endif // New Project - append_menu_item(fileMenu, wxID_ANY, _L("New Project") + "\t" + ctrl + "N", _L("Start a new project"), + append_shortcut_item(fileMenu, Shortcut::NewProject, true, _L("New Project"), _L("Start a new project"), [this](wxCommandEvent&) { if (m_plater) m_plater->new_project(); }, "", nullptr, [this](){return can_start_new_project(); }, this); // Open Project #ifndef __APPLE__ - append_menu_item(fileMenu, wxID_ANY, _L("Open Project") + dots + "\t" + ctrl + "O", _L("Open a project file"), + append_shortcut_item(fileMenu, Shortcut::OpenProject, true, _L("Open Project") + dots, _L("Open a project file"), [this](wxCommandEvent&) { if (m_plater) m_plater->load_project(); }, "menu_open", nullptr, [this](){return can_open_project(); }, this); #else - append_menu_item(fileMenu, wxID_ANY, _L("Open Project") + dots + "\t" + ctrl + "O", _L("Open a project file"), + append_shortcut_item(fileMenu, Shortcut::OpenProject, true, _L("Open Project") + dots, _L("Open a project file"), [this](wxCommandEvent&) { if (m_plater) m_plater->load_project(); }, "", nullptr, [this](){return can_open_project(); }, this); #endif @@ -2815,38 +2923,52 @@ void MainFrame::init_menubar_as_editor() // BBS: close save project #ifndef __APPLE__ - append_menu_item(fileMenu, wxID_ANY, _L("Save Project") + "\t" + ctrl + "S", _L("Save current project to file"), + append_shortcut_item(fileMenu, Shortcut::SaveProject, true, _L("Save Project"), _L("Save current project to file"), [this](wxCommandEvent&) { if (m_plater) m_plater->save_project(); }, "menu_save", nullptr, [this](){return m_plater != nullptr && can_save(); }, this); #else - append_menu_item(fileMenu, wxID_ANY, _L("Save Project") + "\t" + ctrl + "S", _L("Save current project to file"), + append_shortcut_item(fileMenu, Shortcut::SaveProject, true, _L("Save Project"), _L("Save current project to file"), [this](wxCommandEvent&) { if (m_plater) m_plater->save_project(); }, "", nullptr, [this](){return m_plater != nullptr && can_save(); }, this); #endif #ifndef __APPLE__ - append_menu_item(fileMenu, wxID_ANY, _L("Save Project as") + dots + "\t" + ctrl + shift + "S", _L("Save current project as"), + append_shortcut_item(fileMenu, Shortcut::SaveProjectAs, true, _L("Save Project as") + dots, _L("Save current project as"), [this](wxCommandEvent&) { if (m_plater) m_plater->save_project(true); }, "menu_save", nullptr, [this](){return m_plater != nullptr && can_save_as(); }, this); #else - append_menu_item(fileMenu, wxID_ANY, _L("Save Project as") + dots + "\t" + ctrl + shift + "S", _L("Save current project as"), + append_shortcut_item(fileMenu, Shortcut::SaveProjectAs, true, _L("Save Project as") + dots, _L("Save current project as"), [this](wxCommandEvent&) { if (m_plater) m_plater->save_project(true); }, "", nullptr, [this](){return m_plater != nullptr && can_save_as(); }, this); #endif + // BBS: publish + fileMenu->AppendSeparator(); + auto publish_handler = [this](wxCommandEvent&) { publish_project(); }; + +#ifndef __APPLE__ + append_shortcut_item(fileMenu, Shortcut::Publish3mf, true, _L("Publish 3MF") + dots, _L("Export a 3MF file with the selected settings embedded"), + publish_handler, "menu_publish", nullptr, + [this](){return can_export_model(); }, this); +#else + append_shortcut_item(fileMenu, Shortcut::Publish3mf, true, _L("Publish 3MF") + dots, _L("Export a 3MF file with the selected settings embedded"), + publish_handler, "", nullptr, + [this](){return can_export_model(); }, this); +#endif + fileMenu->AppendSeparator(); // BBS wxMenu *import_menu = new wxMenu(); #ifndef __APPLE__ - append_menu_item(import_menu, wxID_ANY, _L("Import 3MF/STL/STEP/SVG/OBJ/AMF") + dots + "\t" + ctrl + "I", _L("Load a model"), + append_shortcut_item(import_menu, Shortcut::ImportModel, true, _L("Import 3MF/STL/STEP/SVG/OBJ/AMF") + dots, _L("Load a model"), [this](wxCommandEvent&) { if (m_plater) { m_plater->add_file(); } }, "menu_import", nullptr, [this](){return can_add_models(); }, this); #else - append_menu_item(import_menu, wxID_ANY, _L("Import 3MF/STL/STEP/SVG/OBJ/AMF") + dots + "\t" + ctrl + "I", _L("Load a model"), + append_shortcut_item(import_menu, Shortcut::ImportModel, true, _L("Import 3MF/STL/STEP/SVG/OBJ/AMF") + dots, _L("Load a model"), [this](wxCommandEvent&) { if (m_plater) { m_plater->add_model(); } }, "", nullptr, [this](){return can_add_models(); }, this); #endif @@ -2878,7 +3000,7 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->export_core_3mf(); }, "menu_export_sliced_file", nullptr, [this](){return can_export_model(); }, this); // BBS export .gcode.3mf - append_menu_item(export_menu, wxID_ANY, _L("Export plate sliced file") + dots + "\t" + ctrl + "G", _L("Export current sliced file"), + append_shortcut_item(export_menu, Shortcut::ExportSlicedFile, true, _L("Export plate sliced file") + dots, _L("Export current sliced file"), [this](wxCommandEvent&) { if (m_plater) wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_EXPORT_SLICED_FILE)); }, "menu_export_sliced_file", nullptr, [this](){return can_export_gcode(); }, this); @@ -2928,37 +3050,37 @@ void MainFrame::init_menubar_as_editor() }; #ifndef __APPLE__ // BBS undo - append_menu_item(editMenu, wxID_ANY, _L("Undo") + "\t" + ctrl + "Z", + append_shortcut_item(editMenu, Shortcut::Undo, true, _L("Undo"), _L("Undo"), [this](wxCommandEvent&) { m_plater->undo(); }, "menu_undo", nullptr, [this](){return m_plater->can_undo(); }, this); // BBS redo - append_menu_item(editMenu, wxID_ANY, _L("Redo") + "\t" + ctrl + "Y", + append_shortcut_item(editMenu, Shortcut::Redo, true, _L("Redo"), _L("Redo"), [this](wxCommandEvent&) { m_plater->redo(); }, "menu_redo", nullptr, [this](){return m_plater->can_redo(); }, this); editMenu->AppendSeparator(); // BBS Cut TODO - append_menu_item(editMenu, wxID_ANY, _L("Cut") + "\t" + ctrl + "X", + append_shortcut_item(editMenu, Shortcut::Cut, true, _L("Cut"), _L("Cut selection to clipboard"), [this](wxCommandEvent&) {m_plater->cut_selection_to_clipboard(); }, "menu_cut", nullptr, [this]() {return m_plater->can_copy_to_clipboard(); }, this); // BBS Copy - append_menu_item(editMenu, wxID_ANY, _L("Copy") + "\t" + ctrl + "C", + append_shortcut_item(editMenu, Shortcut::Copy, true, _L("Copy"), _L("Copy selection to clipboard"), [this](wxCommandEvent&) { m_plater->copy_selection_to_clipboard(); }, "menu_copy", nullptr, [this](){return m_plater->can_copy_to_clipboard(); }, this); // BBS Paste - append_menu_item(editMenu, wxID_ANY, _L("Paste") + "\t" + ctrl + "V", + append_shortcut_item(editMenu, Shortcut::Paste, true, _L("Paste"), _L("Paste clipboard"), [this](wxCommandEvent&) { m_plater->paste_from_clipboard(); }, "menu_paste", nullptr, [this](){return m_plater->can_paste_from_clipboard(); }, this); // BBS Delete selected - append_menu_item(editMenu, wxID_ANY, _L("Delete Selected") + "\t" + _L_CONTEXT("Del", "Keyboard Shortcut"), + append_shortcut_item(editMenu, Shortcut::DeleteSelected, true, _L("Delete Selected"), _L("Deletes the current selection"),[this](wxCommandEvent&) { m_plater->remove_selected(); }, "menu_remove", nullptr, [this](){return can_delete(); }, this); //BBS: delete all - append_menu_item(editMenu, wxID_ANY, _L("Delete All") + "\t" + ctrl + "D", + append_shortcut_item(editMenu, Shortcut::DeleteAll, true, _L("Delete All"), _L("Deletes all objects"),[this](wxCommandEvent&) { m_plater->delete_all_objects_from_model(); }, "menu_remove", nullptr, [this](){return can_delete_all(); }, this); editMenu->AppendSeparator(); // BBS Clone Selected - append_menu_item(editMenu, wxID_ANY, _L("Clone Selected") /*+ "\t" + ctrl + "M"*/, + append_shortcut_item(editMenu, Shortcut::CloneSelected, true, _L("Clone Selected"), _L("Clone copies of selections"),[this](wxCommandEvent&) { m_plater->clone_selection(); }, @@ -2972,7 +3094,7 @@ void MainFrame::init_menubar_as_editor() editMenu->AppendSeparator(); #else // BBS undo - append_menu_item(editMenu, wxID_ANY, _L("Undo") + sep + ctrl_t + "Z", + append_shortcut_item(editMenu, Shortcut::Undo, false, _L("Undo"), _L("Undo"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -2984,7 +3106,7 @@ void MainFrame::init_menubar_as_editor() m_plater->undo(); }, "", nullptr, [this](){return m_plater->can_undo(); }, this); // BBS redo - append_menu_item(editMenu, wxID_ANY, _L("Redo") + sep + ctrl_t + "Y", + append_shortcut_item(editMenu, Shortcut::Redo, false, _L("Redo"), _L("Redo"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -2997,7 +3119,7 @@ void MainFrame::init_menubar_as_editor() "", nullptr, [this](){return m_plater->can_redo(); }, this); editMenu->AppendSeparator(); // BBS Cut TODO - append_menu_item(editMenu, wxID_ANY, _L("Cut") + sep + ctrl_t + "X", + append_shortcut_item(editMenu, Shortcut::Cut, false, _L("Cut"), _L("Cut selection to clipboard"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3009,7 +3131,7 @@ void MainFrame::init_menubar_as_editor() m_plater->cut_selection_to_clipboard(); }, "", nullptr, [this]() {return m_plater->can_copy_to_clipboard(); }, this); // BBS Copy - append_menu_item(editMenu, wxID_ANY, _L("Copy") + sep + ctrl_t + "C", + append_shortcut_item(editMenu, Shortcut::Copy, false, _L("Copy"), _L("Copy selection to clipboard"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3021,7 +3143,7 @@ void MainFrame::init_menubar_as_editor() m_plater->copy_selection_to_clipboard(); }, "", nullptr, [this](){return m_plater->can_copy_to_clipboard(); }, this); // BBS Paste - append_menu_item(editMenu, wxID_ANY, _L("Paste") + sep + ctrl_t + "V", + append_shortcut_item(editMenu, Shortcut::Paste, false, _L("Paste"), _L("Paste clipboard"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3034,14 +3156,14 @@ void MainFrame::init_menubar_as_editor() "", nullptr, [this](){return m_plater->can_paste_from_clipboard(); }, this); #if 0 // BBS Delete selected - append_menu_item(editMenu, wxID_ANY, _L("Delete Selected") + "\t" + _L_CONTEXT("Backspace", "Keyboard Shortcut"), + append_shortcut_item(editMenu, Shortcut::DeleteSelected, true, _L("Delete Selected"), _L("Deletes the current selection"),[this](wxCommandEvent&) { m_plater->remove_selected(); }, "", nullptr, [this](){return can_delete(); }, this); #endif //BBS: delete all - append_menu_item(editMenu, wxID_ANY, _L("Delete All") + "\t" + ctrl + "D", + append_shortcut_item(editMenu, Shortcut::DeleteAll, true, _L("Delete All"), _L("Deletes all objects"),[this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3054,7 +3176,7 @@ void MainFrame::init_menubar_as_editor() "", nullptr, [this](){return can_delete_all(); }, this); editMenu->AppendSeparator(); // BBS Clone Selected - append_menu_item(editMenu, wxID_ANY, _L("Clone Selected") + "\t" + ctrl + "K", + append_shortcut_item(editMenu, Shortcut::CloneSelected, true, _L("Clone Selected"), _L("Clone copies of selections"),[this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3077,7 +3199,7 @@ void MainFrame::init_menubar_as_editor() #endif // BBS Select All - append_menu_item(editMenu, wxID_ANY, _L("Select All") + sep + ctrl_t + "A", + append_shortcut_item(editMenu, Shortcut::SelectAll, false, _L("Select All"), _L("Selects all objects"), [this, handle_key_event](wxCommandEvent&) { wxKeyEvent e; e.SetEventType(wxEVT_KEY_DOWN); @@ -3129,7 +3251,7 @@ void MainFrame::init_menubar_as_editor() wxMenu* viewMenu = nullptr; if (m_plater) { viewMenu = new wxMenu(); - add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this)); + add_common_view_menu_items(viewMenu, std::bind(&MainFrame::can_change_view, this)); viewMenu->AppendSeparator(); //BBS perspective view @@ -3160,13 +3282,14 @@ void MainFrame::init_menubar_as_editor() []() { return wxGetApp().app_config->get_bool("auto_perspective"); }, this); viewMenu->AppendSeparator(); - append_menu_check_item(viewMenu, wxID_ANY, _L("Show &G-code Window") + sep + "C", _L("Show G-code window in Preview scene."), + wxMenuItem* gcode_window = append_menu_check_item(viewMenu, wxID_ANY, shortcut_label(_L("Show &G-code Window"), Shortcut::ToggleGcodeWindow, true), _L("Show G-code window in Preview scene."), [this](wxCommandEvent &) { wxGetApp().toggle_show_gcode_window(); m_plater->get_current_canvas3D()->post_event(SimpleEvent(wxEVT_PAINT)); }, this, [this]() { return m_tabpanel->GetSelectedPageName() == TAB_ID_PREVIEW; }, []() { return wxGetApp().show_gcode_window(); }, this); + m_shortcut_menu_items.push_back({ gcode_window, Shortcut::ToggleGcodeWindow, _L("Show &G-code Window"), true }); append_menu_check_item( viewMenu, wxID_ANY, _L("Show 3D Navigator"), _L("Show 3D navigator in Prepare and Preview scene."), @@ -3194,9 +3317,10 @@ void MainFrame::init_menubar_as_editor() this); viewMenu->AppendSeparator(); - append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + "\t" + ctrl + "E", _L("Show object labels in 3D scene."), + wxMenuItem* show_labels = append_menu_check_item(viewMenu, wxID_ANY, shortcut_label(_L("Show &Labels"), Shortcut::ShowLabels, true), _L("Show object labels in 3D scene."), [this](wxCommandEvent&) { m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); m_plater->get_current_canvas3D()->post_event(SimpleEvent(wxEVT_PAINT)); }, this, [this]() { return m_plater->is_view3D_shown(); }, [this]() { return m_plater->are_view3D_labels_shown(); }, this); + m_shortcut_menu_items.push_back({ show_labels, Shortcut::ShowLabels, _L("Show &Labels"), true }); append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Overhang"), _L("Show object overhang highlight in 3D scene."), [this](wxCommandEvent &) { @@ -3241,107 +3365,16 @@ void MainFrame::init_menubar_as_editor() //auto preference_item = new wxMenuItem(parent_menu, OrcaSlicerMenuPreferences + bambu_studio_id_base, _L("Preferences") + "\t" + ctrl + ",", ""); #else wxMenu* parent_menu = m_topbar->GetTopMenu(); - auto preference_item = new wxMenuItem(parent_menu, ConfigMenuPreferences + config_id_base, _L("Preferences") + "\t" + ctrl + "P", ""); - #endif - //auto printer_item = new wxMenuItem(parent_menu, ConfigMenuPrinter + config_id_base, _L("Printer"), ""); - //auto language_item = new wxMenuItem(parent_menu, ConfigMenuLanguage + config_id_base, _L("Switch Language"), ""); -// parent_menu->Bind(wxEVT_MENU, [this, config_id_base](wxEvent& event) { -// switch (event.GetId() - config_id_base) { -// //case ConfigMenuLanguage: -// //{ -// // /* Before change application language, let's check unsaved changes on 3D-Scene -// // * and draw user's attention to the application restarting after a language change -// // */ -// // { -// // // the dialog needs to be destroyed before the call to switch_language() -// // // or sometimes the application crashes into wxDialogBase() destructor -// // // so we put it into an inner scope -// // wxString title = _L("Language selection"); -// // wxMessageDialog dialog(nullptr, -// // _L("Switching the language requires application restart.\n") + "\n\n" + -// // _L("Do you want to continue?"), -// // title, -// // wxICON_QUESTION | wxOK | wxCANCEL); -// // if (dialog.ShowModal() == wxID_CANCEL) -// // return; -// // } -// -// // wxGetApp().switch_language(); -// // break; -// //} -// //case ConfigMenuWizard: -// //{ -// // wxGetApp().run_wizard(ConfigWizard::RR_USER); -// // break; -// //} -// case ConfigMenuPrinter: -// { -// wxGetApp().params_dialog()->Popup(); -// wxGetApp().get_tab(Preset::TYPE_PRINTER)->restore_last_select_item(); -// break; -// } -// case ConfigMenuPreferences: -// { -// CallAfter([this] { -// PreferencesDialog dlg(this); -// dlg.ShowModal(); -//#if ENABLE_GCODE_LINES_ID_IN_H_SLIDER -// if (dlg.seq_top_layer_only_changed() || dlg.seq_seq_top_gcode_indices_changed()) -//#else -// if (dlg.seq_top_layer_only_changed()) -//#endif // ENABLE_GCODE_LINES_ID_IN_H_SLIDER -// plater()->refresh_print(); -//#if ENABLE_CUSTOMIZABLE_FILES_ASSOCIATION_ON_WIN -//#ifdef _WIN32 -// /* -// if (wxGetApp().app_config()->get("associate_3mf") == "true") -// wxGetApp().associate_3mf_files(); -// if (wxGetApp().app_config()->get("associate_stl") == "true") -// wxGetApp().associate_stl_files(); -// /*if (wxGetApp().app_config()->get("associate_step") == "true") -// wxGetApp().associate_step_files();*/ -//#endif // _WIN32 -//#endif -// }); -// break; -// } -// default: -// break; -// } -// }); #ifdef __APPLE__ wxString about_title = wxString::Format(_L("&About %s"), SLIC3R_APP_FULL_NAME); - //auto about_item = new wxMenuItem(parent_menu, OrcaSlicerMenuAbout + bambu_studio_id_base, about_title, ""); - //parent_menu->Bind(wxEVT_MENU, [this, bambu_studio_id_base](wxEvent& event) { - // switch (event.GetId() - bambu_studio_id_base) { - // case OrcaSlicerMenuAbout: - // Slic3r::GUI::about(); - // break; - // case OrcaSlicerMenuPreferences: - // CallAfter([this] { - // PreferencesDialog dlg(this); - // dlg.ShowModal(); - //#if ENABLE_GCODE_LINES_ID_IN_H_SLIDER - // if (dlg.seq_top_layer_only_changed() || dlg.seq_seq_top_gcode_indices_changed()) - //#else - // if (dlg.seq_top_layer_only_changed()) - //#endif // ENABLE_GCODE_LINES_ID_IN_H_SLIDER - // plater()->refresh_print(); - // }); - // break; - // default: - // break; - // } - //}); - //parent_menu->Insert(0, about_item); append_menu_item( parent_menu, wxID_ANY, _L(about_title), "", [](wxCommandEvent &) { Slic3r::GUI::about();}, "", nullptr, []() { return true; }, this, 0); - append_menu_item( - parent_menu, wxID_ANY, _L("Preferences") + "\t" + ctrl + ",", "", + append_shortcut_item( + parent_menu, Shortcut::Preferences, true, _L("Preferences"), "", [](wxCommandEvent &) { wxGetApp().open_preferences(); }, @@ -3359,8 +3392,8 @@ void MainFrame::init_menubar_as_editor() m_topbar->AddDropDownSubMenu(viewMenu, _L("View")); //BBS add Preference - append_menu_item( - m_topbar->GetTopMenu(), wxID_ANY, _L("Preferences") + "\t" + ctrl + "P", "", + append_shortcut_item( + m_topbar->GetTopMenu(), Shortcut::Preferences, true, _L("Preferences"), "", [](wxCommandEvent &) { // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit wxGetApp().open_preferences(); @@ -3370,7 +3403,13 @@ void MainFrame::init_menubar_as_editor() auto top_menu = m_topbar->GetTopMenu(); top_menu->AppendSeparator(); - append_menu_item( + append_shortcut_item( + top_menu, Shortcut::SpeedDial, false, _L("Open Speed Dial"), "", + [](wxCommandEvent &) { wxGetApp().open_speed_dial(); }, + "", nullptr, []() { return true; }, this); + top_menu->AppendSeparator(); + + append_menu_item( top_menu, wxID_ANY, _L("Preset Bundle") + "\t", "", [this](wxCommandEvent &) { // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit @@ -3416,88 +3455,51 @@ void MainFrame::init_menubar_as_editor() // Temperature append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Temperature"), _L("Temperature Calibration"), - [this](wxCommandEvent&) { - if (!m_temp_calib_dlg) - m_temp_calib_dlg = new Temp_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_temp_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Temperature); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Max Volumetric Speed append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), - [this](wxCommandEvent&) { - if (!m_vol_test_dlg) - m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vol_test_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::MaxVolumetric); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Pressure Advance append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Pressure advance"), _L("Pressure advance"), - [this](wxCommandEvent&) { - if (!m_pa_calib_dlg) - m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_pa_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::PressureAdvance); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Flow rate (Wizard Dialog) append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Flow ratio"), _L("Flow Rate Calibration"), - [this](wxCommandEvent&) { - if (!m_plater) return; - if (!m_flow_rate_calib_dlg) - m_flow_rate_calib_dlg = new FlowRateCalibrationDialog((wxWindow*)this, wxID_ANY, m_plater); - m_flow_rate_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::FlowRatio); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Retraction append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Retraction"), _L("Retraction"), - [this](wxCommandEvent&) { - if (!m_retraction_calib_dlg) - m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_retraction_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Retraction); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Cornering append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Cornering"), _L("Cornering calibration"), - [this](wxCommandEvent&) { - auto dlg = new Cornering_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Cornering); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Input Shaping (with submenu) auto input_shaping_menu = new wxMenu(); append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Frequency"), _L("Input Shaping Frequency"), - [this](wxCommandEvent&) { - auto dlg = new Input_Shaping_Freq_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, + [this](wxCommandEvent&) { run_calibration(CalibKind::InputShapingFreq); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Damping/zeta factor"), _L("Input Shaping Damping/zeta factor"), - [this](wxCommandEvent&) { - auto dlg = new Input_Shaping_Damp_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, + [this](wxCommandEvent&) { run_calibration(CalibKind::InputShapingDamp); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); m_topbar->GetCalibMenu()->AppendSubMenu(input_shaping_menu, _L("Input Shaping")); // VFA append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("VFA"), _L("VFA"), - [this](wxCommandEvent&) { - if (!m_vfa_test_dlg) - m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vfa_test_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::VFA); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // help @@ -3508,6 +3510,10 @@ void MainFrame::init_menubar_as_editor() #else // On Mac, the Apple menu ignores non-standard custom items, so add Preset Bundle to the File menu fileMenu->AppendSeparator(); + append_shortcut_item( + fileMenu, Shortcut::SpeedDial, false, _L("Open Speed Dial"), "", + [](wxCommandEvent&) { wxGetApp().open_speed_dial(); }, + "", nullptr, []() { return true; }, this); append_menu_item( fileMenu, wxID_ANY, _L("Preset Bundle"), "", [this](wxCommandEvent&) { @@ -3554,89 +3560,52 @@ void MainFrame::init_menubar_as_editor() // Temperature append_menu_item(calib_menu, wxID_ANY, _L("Temperature"), _L("Temperature"), - [this](wxCommandEvent&) { - if (!m_temp_calib_dlg) - m_temp_calib_dlg = new Temp_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_temp_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Temperature); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Max Volumetric Speed append_menu_item(calib_menu, wxID_ANY, _L("Max flowrate"), _L("Max flowrate"), - [this](wxCommandEvent&) { - if (!m_vol_test_dlg) - m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vol_test_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::MaxVolumetric); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Pressure Advance append_menu_item(calib_menu, wxID_ANY, _L("Pressure advance"), _L("Pressure advance"), - [this](wxCommandEvent&) { - if (!m_pa_calib_dlg) - m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_pa_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::PressureAdvance); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Flowrate (with submenu) // ORCA: Flow rate (Wizard Dialog) append_menu_item(calib_menu, wxID_ANY, _L("Flow ratio"), _L("Flow Rate Calibration"), - [this](wxCommandEvent&) { - if (!m_plater) return; - if (!m_flow_rate_calib_dlg) - m_flow_rate_calib_dlg = new FlowRateCalibrationDialog((wxWindow*)this, wxID_ANY, m_plater); - m_flow_rate_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::FlowRatio); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Retraction append_menu_item(calib_menu, wxID_ANY, _L("Retraction"), _L("Retraction"), - [this](wxCommandEvent&) { - if (!m_retraction_calib_dlg) - m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_retraction_calib_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Retraction); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Cornering append_menu_item(calib_menu, wxID_ANY, _L("Cornering"), _L("Cornering calibration"), - [this](wxCommandEvent&) { - auto dlg = new Cornering_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::Cornering); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // Input Shaping (with submenu) auto input_shaping_menu = new wxMenu(); append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Frequency"), _L("Input Shaping Frequency"), - [this](wxCommandEvent&) { - auto dlg = new Input_Shaping_Freq_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, + [this](wxCommandEvent&) { run_calibration(CalibKind::InputShapingFreq); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); append_menu_item( input_shaping_menu, wxID_ANY, _L("Input Shaping Damping/zeta factor"), _L("Input Shaping Damping/zeta factor"), - [this](wxCommandEvent&) { - auto dlg = new Input_Shaping_Damp_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - dlg->ShowModal(); - dlg->Destroy(); - }, + [this](wxCommandEvent&) { run_calibration(CalibKind::InputShapingDamp); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); calib_menu->AppendSubMenu(input_shaping_menu, _L("Input Shaping")); // VFA append_menu_item(calib_menu, wxID_ANY, _L("VFA"), _L("VFA"), - [this](wxCommandEvent&) { - if (!m_vfa_test_dlg) - m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); - m_vfa_test_dlg->ShowModal(); - }, "", nullptr, + [this](wxCommandEvent&) { run_calibration(CalibKind::VFA); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // help append_menu_item(calib_menu, wxID_ANY, _L("Calibration Guide"), _L("Calibration Guide"), @@ -3680,7 +3649,8 @@ void MainFrame::set_max_recent_count(int max) } wxGetApp().app_config->set_recent_projects(recent_projects); wxGetApp().app_config->save(); - m_webview->SendRecentList(-1); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendRecentList(-1); } } @@ -3745,7 +3715,7 @@ void MainFrame::init_menubar_as_gcodeviewer() wxMenu* viewMenu = nullptr; if (m_plater != nullptr) { viewMenu = new wxMenu(); - add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this)); + add_common_view_menu_items(viewMenu, std::bind(&MainFrame::can_change_view, this)); } // helpmenu @@ -4024,23 +3994,124 @@ void MainFrame::select_tab(wxPanel* panel) select_tab(page_name); } +// Selects the Prepare page without the page-changed event, so the GL canvas is on screen +// and nothing else is built for the pass. +void MainFrame::select_prepare_for_gl_init() +{ + m_tabpanel->ChangeSelection(m_tabpanel->FindPageByName(TAB_ID_PREPARE)); +} + +// The book shows its first page as it is inserted, while the frame is hidden and nothing +// may build; the first show completes that page. +bool MainFrame::Show(bool show) +{ + const bool changed = DPIFrame::Show(show); + if (show && changed && m_tabpanel != nullptr) + if (wxWindow* page = m_tabpanel->GetCurrentPage()) + page->Show(true); + return changed; +} + +bool MainFrame::GLResourcesPrebuild::built() const +{ + return m_frame.m_plater != nullptr && m_frame.m_plater->canvas3D()->is_initialized() && + m_frame.m_plater->get_partplate_list().icon_textures_loaded(); +} + +bool MainFrame::GLResourcesPrebuild::build_step() +{ + GLCanvas3D* canvas = m_frame.m_plater->canvas3D(); +#ifdef __WXGTK__ + // wx creates a GTK canvas's GL surface when the widget is realized, so the context can be + // made current on it while hidden. + gtk_widget_realize(canvas->get_wxglcanvas()->GetHandle()); +#endif + if (!canvas->make_current_for_postinit()) { + // The first render of the canvas loads everything instead. + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": cannot make the GL context current on the hidden canvas"; + m_failed = true; + return false; + } + switch (m_step) { + case 0: + m_failed = !wxGetApp().init_opengl(); + break; + case 1: { + const Size size = canvas->get_canvas_size(); + wxGetApp().imgui()->set_display_size(float(std::max(1, size.get_width())), float(std::max(1, size.get_height()))); + canvas->set_imgui_scaling(); + // Builds the font atlas without leaving a frame open at the hidden canvas's size. + wxGetApp().imgui()->new_frame(); + wxGetApp().imgui()->end_frame(); + break; + } + case 2: + // One texture per unit until none remain. + if (m_frame.m_plater->get_partplate_list().load_next_plate_texture()) + return true; + break; + case 3: + m_failed = !canvas->init(); + break; + default: + // Runs after init(), which sets the color mode the icons are drawn for. + m_frame.m_plater->get_partplate_list().load_icon_textures(); + return false; + } + ++m_step; + return !m_failed; +} + +bool MainFrame::PrepareLayoutPrebuild::built() const +{ + // The book lays out the page it shows. + const wxWindow* page = m_frame.m_tabpanel != nullptr ? m_frame.m_tabpanel->GetCurrentPage() : nullptr; + return page == nullptr || page == m_frame.m_plater || page->GetSize() == m_laid_out_size; +} + +bool MainFrame::PrepareLayoutPrebuild::build_step() +{ + // Sized as the book sizes the page it selects, so the selection finds nothing to lay out. + const wxWindow* page = m_frame.m_tabpanel->GetCurrentPage(); + m_laid_out_size = page->GetSize(); + m_frame.m_plater->SetSize(page->GetRect()); + return false; +} + +// A page out of the book stays registered and is passed over; a negative order is never +// registered. +void MainFrame::prebuild_pages_when_idle() +{ + m_idle.clear(); + m_idle.add(m_gl_prebuild); + if (m_param_panel) + m_idle.add(m_param_panel->settings_page_prebuild()); + m_idle.add(m_prepare_layout_prebuild); + for (LazyBase* page : m_lazy_pages) + if (page->prebuild_order() >= 0) + m_idle.add(*page); + m_idle.add(m_diff_dialog); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": prebuild queue: " << m_idle.names(); + m_idle.start(); + m_prebuild_started = true; +} + //BBS void MainFrame::jump_to_monitor(std::string dev_id) { - if(!m_monitor) - return; m_tabpanel->SelectPageByName(TAB_ID_MONITOR); if (!dev_id.empty()) { - ((MonitorPanel*)m_monitor)->select_machine(dev_id); + MonitorPanel::ensure()->select_machine(dev_id); } } void MainFrame::jump_to_multipage() { - if(!m_multi_machine) + if (!m_multi_machine_page->in_book()) return; m_tabpanel->SelectPageByName(TAB_ID_MULTI_DEVICE); - ((MultiMachinePage*)m_multi_machine)->jump_to_send_page(); + if (MultiMachinePage* page = m_multi_machine_page->ensure()) + page->jump_to_send_page(); } @@ -4089,8 +4160,8 @@ void MainFrame::request_select_tab(const wxString& id) } int MainFrame::get_calibration_curr_tab() { - if (m_calibration) - return m_calibration->get_tabpanel()->GetSelection(); + if (CalibrationPanel* calibration = CalibrationPanel::if_built()) + return calibration->get_tabpanel()->GetSelection(); return -1; } @@ -4199,7 +4270,8 @@ void MainFrame::add_to_recent_projects(const wxString& filename) recent_projects.push_back(into_u8(m_recent_projects.GetHistoryFile(i))); } wxGetApp().app_config->set_recent_projects(recent_projects); - m_webview->SendRecentList(0); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendRecentList(0); } } @@ -4212,15 +4284,23 @@ std::wstring MainFrame::FileHistory::GetThumbnailUrl(int index) const return wss.str(); } +bool MainFrame::FileHistory::GetPublished(int index) const +{ + return index >= 0 && index < static_cast<int>(m_published_files.size()) && m_published_files[index]; +} + void MainFrame::FileHistory::AddFileToHistory(const wxString &file) { if (this->m_fileMaxFiles == 0) return; wxFileHistory::AddFileToHistory(file); - if (m_load_called) + if (m_load_called) { m_thumbnails.push_front(bbs_3mf_get_thumbnail(into_u8(file).c_str())); - else + m_published_files.push_front(bbs_3mf_is_published(into_u8(file))); + } else { m_thumbnails.push_front(""); + m_published_files.push_front(false); + } } void MainFrame::FileHistory::RemoveFileFromHistory(size_t i) @@ -4229,6 +4309,7 @@ void MainFrame::FileHistory::RemoveFileFromHistory(size_t i) return; wxFileHistory::RemoveFileFromHistory(i); m_thumbnails.erase(m_thumbnails.begin() + i); + m_published_files.erase(m_published_files.begin() + i); } size_t MainFrame::FileHistory::FindFileInHistory(const wxString & file) @@ -4244,6 +4325,7 @@ void MainFrame::FileHistory::LoadThumbnails() if (!thumbnail.empty()) { m_thumbnails[i] = thumbnail; } + m_published_files[i] = bbs_3mf_is_published(into_u8(GetHistoryFile(i))); } }); m_load_called = true; @@ -4264,6 +4346,7 @@ void MainFrame::get_recent_projects(boost::property_tree::wptree &tree, int imag std::wstring proj = m_recent_projects.GetHistoryFile(i).ToStdWstring(); item.put(L"project_name", proj.substr(proj.find_last_of(L"/\\") + 1)); item.put(L"path", proj); + item.put(L"published", m_recent_projects.GetPublished(i) ? L"1" : L"0"); boost::system::error_code ec; std::time_t t = boost::filesystem::last_write_time(proj, ec); if (!ec) { @@ -4304,7 +4387,8 @@ void MainFrame::open_recent_project(size_t file_id, wxString const & filename) recent_projects.push_back(into_u8(m_recent_projects.GetHistoryFile(i))); } wxGetApp().app_config->set_recent_projects(recent_projects); - m_webview->SendRecentList(-1); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendRecentList(-1); } } } @@ -4327,7 +4411,8 @@ void MainFrame::remove_recent_project(size_t file_id, wxString const &filename) recent_projects.push_back(into_u8(m_recent_projects.GetHistoryFile(i))); } wxGetApp().app_config->set_recent_projects(recent_projects); - m_webview->SendRecentList(-1); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendRecentList(-1); } void MainFrame::load_url(wxString url) @@ -4381,14 +4466,14 @@ bool MainFrame::is_printer_view() const { return m_tabpanel->GetSelectedPageName void MainFrame::refresh_plugin_tips() { - if (m_webview != nullptr) - m_webview->ShowNetpluginTip(); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->ShowNetpluginTip(); } void MainFrame::RunScript(wxString js) { - if (m_webview != nullptr) - m_webview->RunScript(js); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->RunScript(js); } void MainFrame::technology_changed() @@ -4399,6 +4484,72 @@ void MainFrame::technology_changed() m_menubar->SetMenuLabel(id, pt == ptSLA ? _omitL("Material Settings") : _L("Filament settings")); } +// Opens the calibration wizard for `calib_kind`. Single source of truth for the wizard lifecycle: +// the Calibration menu handlers and the Speed Dial native commands both call it. Most wizards are +// cached members reused across launches; cornering/input-shaping build a fresh transient dialog. +// Call while the Prepare (3D) panel is shown. +void MainFrame::run_calibration(CalibKind calib_kind) +{ + switch (calib_kind) { + case CalibKind::Temperature: { + if (!m_temp_calib_dlg) + m_temp_calib_dlg = new Temp_Calibration_Dlg((wxWindow*) this, wxID_ANY, m_plater); + m_temp_calib_dlg->ShowModal(); + break; + } + case CalibKind::MaxVolumetric: { + if (!m_vol_test_dlg) + m_vol_test_dlg = new MaxVolumetricSpeed_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + m_vol_test_dlg->ShowModal(); + break; + } + case CalibKind::PressureAdvance: { + if (!m_pa_calib_dlg) + m_pa_calib_dlg = new PA_Calibration_Dlg((wxWindow*) this, wxID_ANY, m_plater); + m_pa_calib_dlg->ShowModal(); + break; + } + case CalibKind::FlowRatio: { + if (!m_plater) + break; + if (!m_flow_rate_calib_dlg) + m_flow_rate_calib_dlg = new FlowRateCalibrationDialog((wxWindow*) this, wxID_ANY, m_plater); + m_flow_rate_calib_dlg->ShowModal(); + break; + } + case CalibKind::Retraction: { + if (!m_retraction_calib_dlg) + m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + m_retraction_calib_dlg->ShowModal(); + break; + } + case CalibKind::Cornering: { + auto dlg = new Cornering_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + dlg->ShowModal(); + dlg->Destroy(); + break; + } + case CalibKind::InputShapingFreq: { + auto dlg = new Input_Shaping_Freq_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + dlg->ShowModal(); + dlg->Destroy(); + break; + } + case CalibKind::InputShapingDamp: { + auto dlg = new Input_Shaping_Damp_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + dlg->ShowModal(); + dlg->Destroy(); + break; + } + case CalibKind::VFA: { + if (!m_vfa_test_dlg) + m_vfa_test_dlg = new VFA_Test_Dlg((wxWindow*) this, wxID_ANY, m_plater); + m_vfa_test_dlg->ShowModal(); + break; + } + } +} + // // Called after the Preferences dialog is closed and the program settings are saved. @@ -4431,7 +4582,8 @@ void MainFrame::update_side_preset_ui() //take off multi machine - if(m_multi_machine){m_multi_machine->clear_page();} + if (MultiMachinePage* multi_machine = MultiMachinePage::if_built()) + multi_machine->clear_page(); } void MainFrame::on_select_default_preset(SimpleEvent& evt) @@ -4488,10 +4640,9 @@ std::string MainFrame::get_dir_name(const wxString &full_name) const // ---------------------------------------------------------------------------- SettingsDialog::SettingsDialog(MainFrame* mainframe) -:DPIDialog(NULL, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _L("Settings"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, "settings_dialog"), +:DPIDialog(NULL, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _L("Settings"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, "settings_dialog") //: DPIDialog(mainframe, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _L("Settings"), wxDefaultPosition, wxDefaultSize, // wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX, "settings_dialog"), - m_main_frame(mainframe) { if (wxGetApp().is_gcode_viewer()) return; diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 2052860d80..dce12c3fc1 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -26,6 +26,8 @@ #include "Widgets/SideButton.hpp" #include "Widgets/SideMenuPopup.hpp" #include "FilamentGroupPopup.hpp" +#include "LazyPage.hpp" +#include "IdleScheduler.hpp" #include <boost/property_tree/ptree_fwd.hpp> @@ -40,6 +42,9 @@ // Stable identifiers for MainFrame::m_tabpanel's built-in pages. These are // names rather than positional indices so optional pages cannot shift them. #define TAB_ID_HOME "home" +#ifdef SLIC3R_CAD +#define TAB_ID_DESIGN "design" +#endif #define TAB_ID_PREPARE "prepare" #define TAB_ID_PREVIEW "preview" #define TAB_ID_MONITOR "monitor" @@ -65,8 +70,14 @@ namespace GUI class Tab; class PrintHostQueueDialog; class Plater; +#ifdef SLIC3R_CAD +class DesignPanel; +#endif class MainFrame; +class WebViewPanel; class ParamsDialog; +enum class Shortcut : uint8_t; +struct KeyChord; #ifdef __WXGTK__ class ResizeEdgePanel; #endif @@ -94,7 +105,6 @@ class SettingsDialog : public DPIDialog//DPIDialog { //wxNotebook* m_tabpanel { nullptr }; Notebook* m_tabpanel{ nullptr }; - MainFrame* m_main_frame { nullptr }; wxMenuBar* m_menubar{ nullptr }; public: SettingsDialog(MainFrame* mainframe); @@ -107,6 +117,20 @@ protected: void on_dpi_changed(const wxRect& suggested_rect) override; }; +// Calibration wizard identity, shared by MainFrame::run_calibration and the Speed Dial command runners. +enum class CalibKind : int +{ + Temperature, + MaxVolumetric, + PressureAdvance, + FlowRatio, + Retraction, + Cornering, + InputShapingFreq, + InputShapingDamp, + VFA +}; + class MainFrame : public DPIFrame { #ifdef __APPLE__ @@ -114,6 +138,45 @@ class MainFrame : public DPIFrame #endif bool m_loaded {false}; wxTimer* m_reset_title_text_colour_timer{ nullptr }; + IdleScheduler m_idle; + bool m_prebuild_started{ false }; + // Loads the Prepare canvas's GL resources while its page is hidden. + class GLResourcesPrebuild : public LazyBase + { + public: + explicit GLResourcesPrebuild(MainFrame& frame) : m_frame(frame) {} + const std::string& name() const override { return m_name; } + bool built() const override; + bool pending() const override { return !m_failed && !built(); } + bool build_step() override; + int prebuild_order() const override { return 0; } + + private: + MainFrame& m_frame; + std::string m_name{ "gl_resources" }; + int m_step{ 0 }; + bool m_failed{ false }; + } m_gl_prebuild{ *this }; + // Lays out the hidden Prepare page at the size the book gives its pages. + class PrepareLayoutPrebuild : public LazyBase + { + public: + explicit PrepareLayoutPrebuild(MainFrame& frame) : m_frame(frame) {} + const std::string& name() const override { return m_name; } + bool built() const override; + bool build_step() override; + int prebuild_order() const override { return 0; } + + private: + MainFrame& m_frame; + std::string m_name{ "prepare_layout" }; + wxSize m_laid_out_size; + } m_prepare_layout_prebuild{ *this }; + // Every LazyPage, in and out of the book; prebuild_pages_when_idle() registers them. + std::vector<LazyBase*> m_lazy_pages; + // The latest EVT_LOAD_PRINTER_URL, applied when the web Device view is built. + wxString m_printer_url; + wxString m_printer_api_key; wxString m_qs_last_input_file = wxEmptyString; wxString m_qs_last_output_file = wxEmptyString; @@ -158,7 +221,7 @@ class MainFrame : public DPIFrame bool can_delete() const; bool can_delete_all() const; bool can_reslice() const; - void bind_diff_dialog(); + DiffPresetDialog* make_diff_dialog(); // BBS wxBoxSizer* create_side_tools(); @@ -175,10 +238,34 @@ class MainFrame : public DPIFrame // vector of a MenuBar items changeable in respect to printer technology std::vector<wxMenuItem*> m_changeable_menu_items; + // Menu items whose label shows a key binding; update_shortcut_labels() rewrites them. + struct ShortcutMenuItem + { + wxMenuItem* item; + Shortcut shortcut; + wxString label; + bool accelerator; // false keeps the binding display-only on macOS, where the menu bar's accelerators are live + }; + std::vector<ShortcutMenuItem> m_shortcut_menu_items; + + wxString shortcut_label(const wxString& label, Shortcut shortcut, bool accelerator); + template<typename... Args> + wxMenuItem* append_shortcut_item(wxMenu* menu, Shortcut shortcut, bool accelerator, const wxString& label, Args&&... args) + { + wxMenuItem* item = append_menu_item(menu, wxID_ANY, shortcut_label(label, shortcut, accelerator), std::forward<Args>(args)...); + m_shortcut_menu_items.push_back({ item, shortcut, label, accelerator }); + return item; + } + // Runs the Global shortcut bound to chord; false when the focused control should see the key as well. + bool handle_global_shortcut(const KeyChord& chord); + void add_common_view_menu_items(wxMenu* view_menu, std::function<bool(void)> can_change_view); + wxMenu* generate_help_menu(); + struct FileHistory : wxFileHistory { FileHistory(int max) : wxFileHistory(max) {} std::wstring GetThumbnailUrl(int index) const; + bool GetPublished(int index) const; virtual void AddFileToHistory(const wxString &file); virtual void RemoveFileFromHistory(size_t i); @@ -189,6 +276,7 @@ class MainFrame : public DPIFrame void SetMaxFiles(int max); private: std::deque<std::string> m_thumbnails; + std::deque<bool> m_published_files; // parallel to m_thumbnails: is it a published 3mf? bool m_load_called = false; }; @@ -330,8 +418,15 @@ public: void select_tab(wxPanel* panel); void select_tab(const wxString& id = wxString()); void request_select_tab(const wxString& id); + // post_init() needs the plater's canvas on screen to initialize OpenGL; this pass does not + // build the settings page. + void select_prepare_for_gl_init(); + // Builds the lazy tab pages while the user is idle; post_init() calls it once. + void prebuild_pages_when_idle(); + bool Show(bool show = true) override; int get_calibration_curr_tab(); void select_view(const std::string& direction); + void update_shortcut_labels(); // Propagate changed configuration from the Tab to the Plater and save changes to the AppConfig void on_config_changed(DynamicPrintConfig* cfg) const ; void set_print_button_to_default(PrintSelectType select_type); @@ -342,6 +437,8 @@ public: bool can_upload() const; void save_project(); bool save_project_as(const wxString& filename = wxString()); + // Open the Publish dialog and export the selected settings as a published 3MF. + void publish_project(); void add_to_recent_projects(const wxString& filename); void get_recent_projects(boost::property_tree::wptree &tree, int images); @@ -350,6 +447,11 @@ public: void technology_changed(); + // Opens the calibration wizard for `kind`. Single source of truth for the wizard lifecycle: + // the Calibration menu handlers and the Speed Dial native commands both call this. Most wizards + // are cached members; cornering/input-shaping are transient. Call while the Prepare (3D) panel + // is shown (menu items are gated on is_view3D_shown; the speed dial ensures it first). + void run_calibration(CalibKind calib_kind); //BBS void load_url(wxString url); @@ -380,16 +482,21 @@ public: BBLTopbar* m_topbar{ nullptr }; PrintHostQueueDialog* printhost_queue_dlg() { return m_printhost_queue_dlg; } Plater* m_plater { nullptr }; + // Lazy pages, created once and kept for the frame's life; their panels are reached + // through LazyInstance's statics, and show_device() only moves pages in and out of the book. +#ifdef SLIC3R_CAD + LazyPage<DesignPanel>* m_design_page { nullptr }; +#endif //BBS: GUI refactor - MonitorPanel* m_monitor{ nullptr }; + LazyPage<MonitorPanel>* m_monitor_page{ nullptr }; //AuxiliaryPanel* m_auxiliary{ nullptr }; - MultiMachinePage* m_multi_machine{ nullptr }; - ProjectPanel* m_project{ nullptr }; + LazyPage<MultiMachinePage>* m_multi_machine_page{ nullptr }; + LazyPage<ProjectPanel>* m_project_page{ nullptr }; - CalibrationPanel* m_calibration{ nullptr }; - WebViewPanel* m_webview { nullptr }; - PrinterWebView* m_printer_view{nullptr}; + LazyPage<CalibrationPanel>* m_calibration_page{ nullptr }; + LazyPage<WebViewPanel>* m_home_page { nullptr }; + LazyPage<PrinterWebView>* m_printer_view_page{nullptr}; PluginPages m_plugin_pages; wxLogWindow* m_log_window { nullptr }; // BBS @@ -400,7 +507,8 @@ public: ParamsDialog* m_param_dialog{ nullptr }; //BBS SettingsDialog m_settings_dialog; - DiffPresetDialog diff_dialog; + // The Compare presets dialog, built on first use or at idle through its holder. + Lazy<DiffPresetDialog> m_diff_dialog; wxWindow* m_plater_page{ nullptr }; PrintHostQueueDialog* m_printhost_queue_dlg; diff --git a/src/slic3r/GUI/MediaFilePanel.cpp b/src/slic3r/GUI/MediaFilePanel.cpp index 36316f8ff5..e9e1f56b03 100644 --- a/src/slic3r/GUI/MediaFilePanel.cpp +++ b/src/slic3r/GUI/MediaFilePanel.cpp @@ -2,6 +2,9 @@ #include "ImageGrid.h" #include "I18N.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" +#include "DeviceManager.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "Plater.hpp" #include "Widgets/Button.hpp" #include "Widgets/SwitchButton.hpp" diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index 0d75c3770d..557d859cf7 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -3,6 +3,11 @@ #include "Widgets/CheckBox.hpp" #include "Widgets/Label.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" +#include "DeviceManager.hpp" +#include "DeviceCore/DevConfigUtil.h" +#include "slic3r/Utils/NetworkAgent.hpp" +#include "libslic3r/Thread.hpp" #include "libslic3r/AppConfig.hpp" #include "I18N.hpp" #include "MsgDialog.hpp" @@ -13,6 +18,7 @@ #include <boost/lexical_cast.hpp> #include <boost/log/trivial.hpp> #include <boost/nowide/cstdio.hpp> +#include <boost/nowide/fstream.hpp> #include <boost/nowide/utf8_codecvt.hpp> #undef pid_t #include <boost/process.hpp> @@ -71,7 +77,7 @@ MediaPlayCtrl::MediaPlayCtrl(wxWindow *parent, wxMediaCtrl3 *media_ctrl, const w auto ip = str.find(' ', ik); if (ip == wxString::npos) ip = str.Length(); auto v = str.Mid(ik, ip - ik); - if (k == "T:" && v.Length() == 8) { + if (strcmp(k, "T:") == 0 && v.Length() == 8) { long h = 0,m = 0,s = 0; v.Left(2).ToLong(&h); v.Mid(3, 2).ToLong(&m); diff --git a/src/slic3r/GUI/MeshUtils.cpp b/src/slic3r/GUI/MeshUtils.cpp index bc6c60a360..173c5d2f13 100644 --- a/src/slic3r/GUI/MeshUtils.cpp +++ b/src/slic3r/GUI/MeshUtils.cpp @@ -297,7 +297,7 @@ void MeshClipper::recalculate_triangles() // it so it lies on our line. This will be the figure to subtract // from the cut. The coordinates must not overflow after the transform, // make the rectangle a bit smaller. - const coord_t size = (std::numeric_limits<coord_t>::max()/2 - scale_(std::max(std::abs(e * a), std::abs(e * b)))) / 4; + const coord_t size = (double(std::numeric_limits<coord_t>::max()/2) - scale_(std::max(std::abs(e * a), std::abs(e * b)))) / 4; Polygons ep {Polygon({Point(-size, 0), Point(size, 0), Point(size, 2*size), Point(-size, 2*size)})}; ep.front().rotate(angle); ep.front().translate(scale_(-e * a), scale_(-e * b)); @@ -352,7 +352,7 @@ void MeshClipper::recalculate_triangles() // To prevent overflow after scaling, downscale the input if needed: double extra_scale = 1.; - coord_t limit = coord_t(std::min(std::numeric_limits<coord_t>::max() / (2. * std::max(1., scale_x)), std::numeric_limits<coord_t>::max() / (2. * std::max(1., scale_y)))); + coord_t limit = coord_t(std::min(double(std::numeric_limits<coord_t>::max()) / (2. * std::max(1., scale_x)), double(std::numeric_limits<coord_t>::max()) / (2. * std::max(1., scale_y)))); coord_t max_coord = 0; for (const Point& pt : exp.contour) max_coord = std::max(max_coord, std::max(std::abs(pt.x()), std::abs(pt.y()))); diff --git a/src/slic3r/GUI/MixedFilamentDialog.cpp b/src/slic3r/GUI/MixedFilamentDialog.cpp index 902c12d27b..246c6548c6 100644 --- a/src/slic3r/GUI/MixedFilamentDialog.cpp +++ b/src/slic3r/GUI/MixedFilamentDialog.cpp @@ -126,7 +126,6 @@ MixedFilamentDialog::MixedFilamentDialog(wxWindow* parent, const std::vector<std::string>& physical_types) : DPIDialog(parent, wxID_ANY, _L("Add Mixed Filament"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) - , m_edit_mode(false) , m_physical_colors(physical_colors) , m_physical_names(physical_names) , m_physical_types(physical_types) @@ -157,7 +156,6 @@ MixedFilamentDialog::MixedFilamentDialog(wxWindow* parent, : DPIDialog(parent, wxID_ANY, _L("Edit Mixed Filament"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) , m_result(existing) - , m_edit_mode(true) , m_physical_colors(physical_colors) , m_physical_names(physical_names) , m_physical_types(physical_types) @@ -847,23 +845,8 @@ wxBoxSizer* MixedFilamentDialog::create_ratio_slider() m_ratio_bar->Bind(wxEVT_PAINT, [this](wxPaintEvent&) { wxBufferedPaintDC dc(m_ratio_bar); wxSize sz = m_ratio_bar->GetClientSize(); - - wxColour col_a = comp_colour(0), col_b = comp_colour(1); - - for (int x = 0; x < sz.GetWidth(); ++x) { - double t = (double)x / sz.GetWidth(); - wxColour c = blend_colors(col_a, col_b, 1.0 - t); - dc.SetPen(wxPen(c)); - dc.DrawLine(x, 0, x, sz.GetHeight()); - } - - int div_x = (int)(ratio(1) / 100.0 * sz.GetWidth()); - // Fixed in both themes, like the triangle picker's drag handle: the divider is drawn over - // blended filament colour, so it has to keep its contrast against data rather than chrome. - dc.SetPen(wxPen(wxColour(80, 80, 80), FromDIP(4))); - dc.DrawLine(div_x, 0, div_x, sz.GetHeight()); - dc.SetPen(wxPen(*wxWHITE, FromDIP(2))); - dc.DrawLine(div_x, 0, div_x, sz.GetHeight()); + draw_mixed_ratio_blend_bar(dc, wxRect(0, 0, sz.GetWidth(), sz.GetHeight()), + comp_colour(0), comp_colour(1), ratio(1) / 100.0); }); m_ratio_bar->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) { @@ -919,52 +902,8 @@ wxBoxSizer* MixedFilamentDialog::create_ratio_slider() } // ---- Triangle (ternary) ratio picker ---- - -// Barycentric coordinate utilities -struct TriPoint { double x, y; }; - -static double tri_signed_area2(TriPoint a, TriPoint b, TriPoint c) -{ - return (b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y); -} - -static bool tri_contains(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2) -{ - double total = tri_signed_area2(v0, v1, v2); - if (std::abs(total) < 1e-9) return false; - double s0 = tri_signed_area2(p, v1, v2) / total; - double s1 = tri_signed_area2(v0, p, v2) / total; - double s2 = 1.0 - s0 - s1; - return s0 >= -0.001 && s1 >= -0.001 && s2 >= -0.001; -} - -static void tri_barycentric(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2, - double& w0, double& w1, double& w2) -{ - double total = std::abs(tri_signed_area2(v0, v1, v2)); - if (total < 1e-9) { w0 = w1 = w2 = 1.0 / 3.0; return; } - w0 = std::abs(tri_signed_area2(p, v1, v2)) / total; - w1 = std::abs(tri_signed_area2(v0, p, v2)) / total; - w2 = 1.0 - w0 - w1; - w0 = std::clamp(w0, 0.0, 1.0); - w1 = std::clamp(w1, 0.0, 1.0); - w2 = std::clamp(w2, 0.0, 1.0); - double s = w0 + w1 + w2; - if (s > 0) { w0 /= s; w1 /= s; w2 /= s; } -} - -static TriPoint tri_clamp(TriPoint p, TriPoint v0, TriPoint v1, TriPoint v2) -{ - double w0, w1, w2; - tri_barycentric(p, v0, v1, v2, w0, w1, w2); - w0 = std::clamp(w0, 0.0, 1.0); - w1 = std::clamp(w1, 0.0, 1.0); - w2 = std::clamp(w2, 0.0, 1.0); - double s = w0 + w1 + w2; - if (s > 0) { w0 /= s; w1 /= s; w2 /= s; } - return {w0 * v0.x + w1 * v1.x + w2 * v2.x, - w0 * v0.y + w1 * v1.y + w2 * v2.y}; -} +// The barycentric utilities (TriPoint, tri_contains, tri_barycentric, tri_clamp) live in +// FilamentBitmapUtils so the Publish dialog can mirror this picker read-only. wxBoxSizer* MixedFilamentDialog::create_triangle_picker() { @@ -998,72 +937,15 @@ wxBoxSizer* MixedFilamentDialog::create_triangle_picker() wxSize sz = m_triangle_panel->GetClientSize(); auto [v0, v1, v2] = get_vertices(); - wxColour tri_bg = StateColor::darkModeColorFor(*wxWHITE); - dc.SetBrush(wxBrush(tri_bg)); - dc.SetPen(*wxTRANSPARENT_PEN); - dc.DrawRectangle(0, 0, sz.GetWidth(), sz.GetHeight()); - - wxColour c0 = comp_colour(0), c1 = comp_colour(1), c2 = comp_colour(2); - - const bool cache_valid = m_tri_cache_bmp.IsOk() && - m_tri_cache_size == sz && - m_tri_cache_c0 == c0 && m_tri_cache_c1 == c1 && m_tri_cache_c2 == c2; - - if (!cache_valid) { - int min_y = (int)std::min({v0.y, v1.y, v2.y}); - int max_y = (int)std::max({v0.y, v1.y, v2.y}); - int min_x = (int)std::min({v0.x, v1.x, v2.x}); - int max_x = (int)std::max({v0.x, v1.x, v2.x}); - - m_tri_cache_bmp = wxBitmap(sz.GetWidth(), sz.GetHeight(), 24); - wxMemoryDC mdc(m_tri_cache_bmp); - mdc.SetBrush(wxBrush(tri_bg)); - mdc.SetPen(*wxTRANSPARENT_PEN); - mdc.DrawRectangle(0, 0, sz.GetWidth(), sz.GetHeight()); - - for (int py = min_y; py <= max_y; ++py) { - for (int px = min_x; px <= max_x; ++px) { - TriPoint p = {(double)px, (double)py}; - if (!tri_contains(p, v0, v1, v2)) continue; - double w0, w1, w2; - tri_barycentric(p, v0, v1, v2, w0, w1, w2); - unsigned char mr, mg, mb; - if (w0 + w1 > 1e-6) { - float t01 = static_cast<float>(w1 / (w0 + w1)); - Slic3r::filament_mixer_lerp(c0.Red(), c0.Green(), c0.Blue(), - c1.Red(), c1.Green(), c1.Blue(), - t01, &mr, &mg, &mb); - float t2 = static_cast<float>(w2); - Slic3r::filament_mixer_lerp(mr, mg, mb, - c2.Red(), c2.Green(), c2.Blue(), - t2, &mr, &mg, &mb); - } else { - mr = c2.Red(); mg = c2.Green(); mb = c2.Blue(); - } - mdc.SetPen(wxPen(wxColour(mr, mg, mb))); - mdc.DrawPoint(px, py); - } - } - - mdc.SetPen(wxPen(StateColor::darkModeColorFor(wxColour("#CECECE")), 1)); - mdc.SetBrush(*wxTRANSPARENT_BRUSH); - wxPoint pts[3] = {{(int)v0.x, (int)v0.y}, {(int)v1.x, (int)v1.y}, {(int)v2.x, (int)v2.y}}; - mdc.DrawPolygon(3, pts); - - mdc.SelectObject(wxNullBitmap); - m_tri_cache_c0 = c0; m_tri_cache_c1 = c1; m_tri_cache_c2 = c2; - m_tri_cache_size = sz; - } - - dc.DrawBitmap(m_tri_cache_bmp, 0, 0); - - // Drag handle (always redrawn on top of cached bitmap) - double hx = m_tri_wx * v0.x + m_tri_wy * v1.x + m_tri_wz * v2.x; - double hy = m_tri_wx * v0.y + m_tri_wy * v1.y + m_tri_wz * v2.y; - int handle_r = FromDIP(5); - dc.SetBrush(*wxWHITE_BRUSH); - dc.SetPen(wxPen(wxColour("#262E30"), FromDIP(2))); - dc.DrawCircle((int)hx, (int)hy, handle_r); + // Draw the background, cached barycentric fill, outline and drag-handle marker through the + // shared picker painter (same geometry the read-only Publish preview uses). + draw_mixed_triangle_picker(dc, sz, + {comp_colour(0), comp_colour(1), comp_colour(2)}, + {m_tri_wx, m_tri_wy, m_tri_wz}, + {StateColor::darkModeColorFor(*wxWHITE), + StateColor::darkModeColorFor(wxColour("#CECECE")), + StateColor::darkModeColorFor(wxColour("#262E30")), + StateColor::darkModeColorFor(COLOR_LABEL_MUTED)}); if (m_result.ratios.size() >= 3) { dc.SetFont(::Label::Body_10); @@ -1243,7 +1125,7 @@ wxBoxSizer* MixedFilamentDialog::create_recommendation_grid() outer->Add(title_sizer, 0, wxEXPAND | wxBOTTOM, FromDIP(4)); m_recommendation_scroll = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(-1, FromDIP(116))); - m_recommendation_scroll->SetScrollRate(0, 5); + m_recommendation_scroll->SetScrollRate(0, FromDIP(20)); m_recommendation_scroll->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#F8F8F8"))); m_recommendation_grid = new wxWrapSizer(wxHORIZONTAL, wxREMOVE_LEADING_SPACES); diff --git a/src/slic3r/GUI/MixedFilamentDialog.hpp b/src/slic3r/GUI/MixedFilamentDialog.hpp index ea8ac5ad16..381896494e 100644 --- a/src/slic3r/GUI/MixedFilamentDialog.hpp +++ b/src/slic3r/GUI/MixedFilamentDialog.hpp @@ -115,7 +115,6 @@ private: wxColour comp_colour(size_t i) const; MixedFilamentResult m_result; - bool m_edit_mode{false}; std::vector<std::string> m_physical_colors; std::vector<std::string> m_physical_names; std::vector<std::string> m_physical_types; @@ -170,10 +169,6 @@ private: // Triangle picker drag point (barycentric weights) double m_tri_wx{0.333}, m_tri_wy{0.333}, m_tri_wz{0.334}; - // Cached triangle color bitmap (invalidated when colors or size change) - wxBitmap m_tri_cache_bmp; - wxColour m_tri_cache_c0, m_tri_cache_c1, m_tri_cache_c2; - wxSize m_tri_cache_size; std::array<RatioLabelPanel*, 3> m_triangle_ratio_labels{nullptr, nullptr, nullptr}; }; diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index 1a6d969988..7352ee3dd7 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -103,6 +103,7 @@ MonitorPanel::MonitorPanel(wxWindow* parent, wxWindowID id, const wxPoint& pos, : wxPanel(parent, id, pos, size, style), m_select_machine(SelectMachinePopup(this)) { + SetBackgroundColour(*wxWHITE); #ifdef __WINDOWS__ SetDoubleBuffered(true); #endif //__WINDOWS__ @@ -180,31 +181,36 @@ void MonitorPanel::init_tabpanel() auto title = m_tabpanel->GetPageText(m_tabpanel->GetSelection()); m_media_file_panel->SwitchStorage(title == _L("Storage")); } - page->SetFocus(); + // The first page is selected while the panel is built off screen. + if (page->IsShownOnScreen()) + page->SetFocus(); update_all(); }, m_tabpanel->GetId()); - //m_status_add_machine_panel = new AddMachinePanel(m_tabpanel); - m_status_info_panel = new StatusPanel(m_tabpanel); + m_status_info_panel = new StatusPanel(m_tabpanel); + // Queued before the page is added, since adding it selects it and runs the handler above, + // where built() must already be false. + add_build_steps_of(*m_status_info_panel); m_tabpanel->AddPage(m_status_info_panel, _L("Status"), true); + add_build_step([this] { + m_media_file_panel = new MediaFilePanel(m_tabpanel); + m_tabpanel->AddPage(m_media_file_panel, _L("Storage"), false); + }); + add_build_step([this] { + m_upgrade_panel = new UpgradePanel(m_tabpanel); + m_tabpanel->AddPage(m_upgrade_panel, _L_CONTEXT(L_CONTEXT("Update", "Firmware"), "Firmware"), false); + }); + add_build_step([this] { + m_hms_panel = new HMSPanel(m_tabpanel); + m_tabpanel->AddPage(m_hms_panel, _L("Assistant(HMS)"), false); - m_media_file_panel = new MediaFilePanel(m_tabpanel); - m_tabpanel->AddPage(m_media_file_panel, _L("Storage"), false); - //m_tabpanel->AddPage(m_media_file_panel, _L("Internal Storage"), false); + std::string network_ver = Slic3r::NetworkAgent::get_version(); + if (!network_ver.empty()) { + m_tabpanel->SetFooterText(wxString::Format(_L("Network plug-in v%s"), network_ver)); + } - m_upgrade_panel = new UpgradePanel(m_tabpanel); - m_tabpanel->AddPage(m_upgrade_panel, _L_CONTEXT(L_CONTEXT("Update", "Firmware"), "Firmware"), false); - - m_hms_panel = new HMSPanel(m_tabpanel); - m_tabpanel->AddPage(m_hms_panel, _L("Assistant(HMS)"), false); - - std::string network_ver = Slic3r::NetworkAgent::get_version(); - if (!network_ver.empty()) { - m_tabpanel->SetFooterText(wxString::Format(_L("Network plug-in v%s"), network_ver)); - } - - m_initialized = true; - show_status((int)MonitorStatus::MONITOR_NO_PRINTER); + show_status((int)MonitorStatus::MONITOR_NO_PRINTER); + }); } void MonitorPanel::set_default() @@ -288,19 +294,23 @@ void MonitorPanel::on_select_printer(wxCommandEvent& event) set_default(); update_all(); - MachineObject *obj_ = dev->get_selected_machine(); - if (obj_) { - obj_->last_cali_version = -1; - obj_->reset_pa_cali_history_result(); - obj_->reset_pa_cali_result(); - Sidebar &sidebar = GUI::wxGetApp().sidebar(); - sidebar.update_sync_status(obj_); - sidebar.set_need_auto_sync_after_connect_printer(sidebar.need_auto_sync_extruder_list_after_connect_priner(obj_)); - } + on_machine_selected(dev->get_selected_machine()); Layout(); } +void MonitorPanel::on_machine_selected(MachineObject* obj) +{ + if (obj == nullptr) + return; + obj->last_cali_version = -1; + obj->reset_pa_cali_history_result(); + obj->reset_pa_cali_result(); + Sidebar& sidebar = GUI::wxGetApp().sidebar(); + sidebar.update_sync_status(obj); + sidebar.set_need_auto_sync_after_connect_printer(sidebar.need_auto_sync_extruder_list_after_connect_priner(obj)); +} + void MonitorPanel::on_printer_clicked(wxMouseEvent &event) { auto mouse_pos = ClientToScreen(event.GetPosition()); @@ -331,7 +341,8 @@ void MonitorPanel::on_size(wxSizeEvent &event) void MonitorPanel::update_all() { - if (!m_initialized) + // Every page exists once the last build step has run. + if (!built()) return; NetworkAgent* m_agent = wxGetApp().getAgent(); @@ -412,16 +423,12 @@ void MonitorPanel::update_hms_tag() bool MonitorPanel::Show(bool show) { -#ifdef __APPLE__ - // Notebook::InsertPage() hides every page it appends, so this also runs while MainFrame is - // still constructing, before GUI_App::mainframe is assigned. Same guard as Plater::Show(). - if (wxGetApp().mainframe) - wxGetApp().mainframe->SetMinSize(wxGetApp().plater()->GetMinSize()); -#endif - NetworkAgent* m_agent = wxGetApp().getAgent(); DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (show) { +#ifdef __APPLE__ + wxGetApp().mainframe->SetMinSize(wxGetApp().plater()->GetMinSize()); +#endif start_update(); update_network_version_footer(); @@ -448,7 +455,7 @@ bool MonitorPanel::Show(bool show) void MonitorPanel::show_status(int status) { - if (!m_initialized) return; + if (!built()) return; if (last_status == status)return; if ((last_status & (int)MonitorStatus::MONITOR_CONNECTING) != 0) { NetworkAgent* agent = wxGetApp().getAgent(); diff --git a/src/slic3r/GUI/Monitor.hpp b/src/slic3r/GUI/Monitor.hpp index 13688d6526..94474f73b0 100644 --- a/src/slic3r/GUI/Monitor.hpp +++ b/src/slic3r/GUI/Monitor.hpp @@ -49,6 +49,7 @@ #include "slic3r/GUI/AmsWidgets.hpp" #include "Widgets/SideTools.hpp" #include "SelectMachinePop.hpp" +#include "Lazy.hpp" namespace Slic3r { namespace GUI { @@ -72,22 +73,19 @@ public: void msw_rescale(); }; -class MonitorPanel : public wxPanel +class MonitorPanel : public wxPanel, public StagedBuild, public LazyInstance<MonitorPanel> { private: Tabbook* m_tabpanel{ nullptr }; wxSizer* m_main_sizer{ nullptr }; - AddMachinePanel* m_status_add_machine_panel; - StatusPanel* m_status_info_panel; - MediaFilePanel* m_media_file_panel; - UpgradePanel* m_upgrade_panel; - HMSPanel* m_hms_panel; + StatusPanel* m_status_info_panel{ nullptr }; + MediaFilePanel* m_media_file_panel{ nullptr }; + UpgradePanel* m_upgrade_panel{ nullptr }; + HMSPanel* m_hms_panel{ nullptr }; /* side tools */ SideTools* m_side_tools{nullptr}; - wxStaticBitmap* m_bitmap_arrow; - wxStaticBitmap* m_bitmap_wifi_signal; SelectMachinePopup m_select_machine; /* images */ @@ -99,7 +97,6 @@ private: wxBitmap m_arrow_img; int last_status; - bool m_initialized { false }; bool update_flag{false}; wxTimer* m_refresh_timer = nullptr; @@ -128,6 +125,8 @@ public: StatusPanel* get_status_panel() {return m_status_info_panel;}; void select_machine(std::string machine_sn); + // Resets the selected printer's calibration results and syncs the sidebar, without the Device tab. + static void on_machine_selected(MachineObject* obj); void on_timer(wxTimerEvent& event); void on_select_printer(wxCommandEvent& event); void on_printer_clicked(wxMouseEvent &event); diff --git a/src/slic3r/GUI/Mouse3DController.cpp b/src/slic3r/GUI/Mouse3DController.cpp index 11709501ac..0317342412 100644 --- a/src/slic3r/GUI/Mouse3DController.cpp +++ b/src/slic3r/GUI/Mouse3DController.cpp @@ -1,6 +1,7 @@ #include "libslic3r/libslic3r.h" #include "libslic3r/PresetBundle.hpp" #include "Mouse3DController.hpp" +#include "GUI.hpp" #include "Camera.hpp" #include "GUI_App.hpp" @@ -498,7 +499,7 @@ void Mouse3DController::render_settings_dialog(GLCanvas3D& canvas) const ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(20.0f, 20.0f)); static ImVec2 last_win_size(0.0f, 0.0f); bool shown = true; - if (imgui.begin(_L("3Dconnexion settings"), &shown, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoCollapse || ImGuiWindowFlags_NoTitleBar)) { + if (imgui.begin(_L("3Dconnexion settings"), &shown, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar)) { if (shown) { ImVec2 win_size = ImGui::GetWindowSize(); if (last_win_size.x != win_size.x || last_win_size.y != win_size.y) { diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index 7f1effd162..8c981a970f 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -194,9 +194,10 @@ Button* MsgDialog::add_button(wxWindowID btn_id, bool set_focus /*= false*/, con bd->button = btn; //bd->type = type; - mb->id = wxString::Format("%d", m_buttons.size()); + // m_buttons.size() is a size_t, which does not match the %d conversion + mb->id = wxString(std::to_string(m_buttons.size())); mb->buttondata = bd; - m_buttons[ wxString::Format("%d", m_buttons.size())] = mb; + m_buttons[ wxString(std::to_string(m_buttons.size()))] = mb; return btn; }; @@ -398,7 +399,7 @@ static void add_msg_content(wxWindow *parent, } wxScrolledWindow *scrolledWindow = new wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); scrolledWindow->SetBackgroundColour(*wxWHITE); - scrolledWindow->SetScrollRate(0, 20); + scrolledWindow->SetScrollRate(0, scrolledWindow->FromDIP(20)); scrolledWindow->EnableScrolling(false, true); wxBoxSizer *sizer_scrolled = new wxBoxSizer(wxHORIZONTAL); Label *wrapped_text = new Label(scrolledWindow, font, msg, LB_AUTO_WRAP, wxSize(info_width, -1)); diff --git a/src/slic3r/GUI/MsgDialog.hpp b/src/slic3r/GUI/MsgDialog.hpp index 90fd160310..ed8079d88c 100644 --- a/src/slic3r/GUI/MsgDialog.hpp +++ b/src/slic3r/GUI/MsgDialog.hpp @@ -177,7 +177,6 @@ public: // Generic rich message dialog, used intead of wxRichMessageDialog class RichMessageDialog : public MsgDialog { - wxCheckBox* m_checkBox{ nullptr }; wxString m_checkBoxText; bool m_checkBoxValue{ false }; @@ -416,7 +415,6 @@ private: wxString m_new_keys; Button * m_update_btn = nullptr; Button * m_later_btn = nullptr; - wxStaticText *m_msg_text = nullptr; }; diff --git a/src/slic3r/GUI/MultiMachineManagerPage.cpp b/src/slic3r/GUI/MultiMachineManagerPage.cpp index 792c23fb13..f68188a9f1 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.cpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.cpp @@ -21,8 +21,9 @@ MultiMachineItem::MultiMachineItem(wxWindow* parent, MachineObject* obj) Bind(wxEVT_MOTION, &MultiMachineItem::OnMove, this); Bind(EVT_MULTI_DEVICE_VIEW, [obj](auto& e) { wxGetApp().mainframe->jump_to_monitor(obj->get_dev_id()); - if (wxGetApp().mainframe->m_monitor->get_status_panel()->get_media_play_ctrl()) { - wxGetApp().mainframe->m_monitor->get_status_panel()->get_media_play_ctrl()->jump_to_play(); + MonitorPanel* monitor = MonitorPanel::if_built(); + if (monitor && monitor->get_status_panel()->get_media_play_ctrl()) { + monitor->get_status_panel()->get_media_play_ctrl()->jump_to_play(); } }); wxGetApp().UpdateDarkUIWin(this); @@ -397,7 +398,7 @@ MultiMachineManagerPage::MultiMachineManagerPage(wxWindow* parent) m_machine_list = new wxScrolledWindow(m_main_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize); m_machine_list->SetBackgroundColour(*wxWHITE); - m_machine_list->SetScrollRate(0, 5); + m_machine_list->SetScrollRate(0, FromDIP(DEVICE_ITEM_MAX_HEIGHT)); m_machine_list->SetMinSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), 10 * FromDIP(DEVICE_ITEM_MAX_HEIGHT))); m_machine_list->SetMaxSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), 10 * FromDIP(DEVICE_ITEM_MAX_HEIGHT))); diff --git a/src/slic3r/GUI/MultiMachineManagerPage.hpp b/src/slic3r/GUI/MultiMachineManagerPage.hpp index 2576e36f12..9b5655a9ee 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.hpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.hpp @@ -79,7 +79,6 @@ private: wxBoxSizer* m_main_sizer{nullptr}; wxBoxSizer* m_sizer_machine_list{nullptr}; wxScrolledWindow* m_machine_list{ nullptr }; - wxStaticText* m_selected_num{ nullptr }; // table head wxPanel* m_table_head_panel{ nullptr }; @@ -99,8 +98,6 @@ private: int m_total_count{ 0 }; int m_count_page_item{ 10 }; - bool prev{ false }; - bool next{ false }; Button* btn_last_page{ nullptr }; Button* btn_next_page{ nullptr }; wxStaticText* st_page_number{ nullptr }; diff --git a/src/slic3r/GUI/MultiMachinePage.cpp b/src/slic3r/GUI/MultiMachinePage.cpp index dd67e099a0..2b6fe75f34 100644 --- a/src/slic3r/GUI/MultiMachinePage.cpp +++ b/src/slic3r/GUI/MultiMachinePage.cpp @@ -11,6 +11,7 @@ namespace GUI { MultiMachinePage::MultiMachinePage(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style) { + SetBackgroundColour(*wxWHITE); init_tabpanel(); m_main_sizer = new wxBoxSizer(wxHORIZONTAL); m_main_sizer->Add(m_tabpanel, 1, wxEXPAND | wxLEFT, 0); @@ -322,7 +323,7 @@ MultiMachinePickPage::MultiMachinePickPage(Plater* plater /*= nullptr*/) scroll_macine_list->SetMinSize(wxSize(FromDIP(400), FromDIP(10 * 30))); scroll_macine_list->SetMaxSize(wxSize(FromDIP(400), FromDIP(10 * 30))); scroll_macine_list->SetBackgroundColour(*wxWHITE); - scroll_macine_list->SetScrollRate(0, 5); + scroll_macine_list->SetScrollRate(0, FromDIP(DEVICE_ITEM_MAX_HEIGHT)); sizer_machine_list = new wxBoxSizer(wxVERTICAL); scroll_macine_list->SetSizer(sizer_machine_list); diff --git a/src/slic3r/GUI/MultiMachinePage.hpp b/src/slic3r/GUI/MultiMachinePage.hpp index 0572c30d1b..14d531e8ab 100644 --- a/src/slic3r/GUI/MultiMachinePage.hpp +++ b/src/slic3r/GUI/MultiMachinePage.hpp @@ -7,6 +7,7 @@ #include "MultiTaskManagerPage.hpp" #include "MultiMachineManagerPage.hpp" #include "Tabbook.hpp" +#include "Lazy.hpp" #include "wx/button.h" @@ -19,7 +20,7 @@ namespace GUI { #define PICK_LEFT_DEV_STATUS 250 #define PICK_DEVICE_MAX 6 -class MultiMachinePage : public wxPanel +class MultiMachinePage : public wxPanel, public LazyInstance<MultiMachinePage> { private: wxTimer* m_refresh_timer = nullptr; @@ -81,7 +82,6 @@ private: AppConfig* app_config; Label* m_label{ nullptr }; wxScrolledWindow* scroll_macine_list{ nullptr }; - wxBoxSizer* m_sizer_body{ nullptr }; wxBoxSizer* sizer_machine_list{ nullptr }; std::map<std::string, DevicePickItem*> m_device_items; int m_selected_count{0}; diff --git a/src/slic3r/GUI/MultiTaskManagerPage.cpp b/src/slic3r/GUI/MultiTaskManagerPage.cpp index 48a7fbe43e..d063b34743 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.cpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.cpp @@ -675,7 +675,7 @@ LocalTaskManagerPage::LocalTaskManagerPage(wxWindow* parent) m_task_list = new wxScrolledWindow(m_main_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize); m_task_list->SetBackgroundColour(*wxWHITE); - m_task_list->SetScrollRate(0, 5); + m_task_list->SetScrollRate(0, FromDIP(DEVICE_ITEM_MAX_HEIGHT)); m_task_list->SetMinSize(wxSize(FromDIP(CLOUD_TASK_ITEM_MAX_WIDTH), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); m_task_list->SetMaxSize(wxSize(FromDIP(CLOUD_TASK_ITEM_MAX_WIDTH), 10 * FromDIP(DEVICE_ITEM_MAX_HEIGHT))); @@ -1056,7 +1056,7 @@ CloudTaskManagerPage::CloudTaskManagerPage(wxWindow* parent) m_task_list = new wxScrolledWindow(m_main_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize); m_task_list->SetBackgroundColour(*wxWHITE); - m_task_list->SetScrollRate(0, 5); + m_task_list->SetScrollRate(0, FromDIP(DEVICE_ITEM_MAX_HEIGHT)); m_task_list->SetMinSize(wxSize(FromDIP(CLOUD_TASK_ITEM_MAX_WIDTH), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); m_task_list->SetMaxSize(wxSize(FromDIP(CLOUD_TASK_ITEM_MAX_WIDTH), 10 * FromDIP(DEVICE_ITEM_MAX_HEIGHT))); diff --git a/src/slic3r/GUI/MultiTaskManagerPage.hpp b/src/slic3r/GUI/MultiTaskManagerPage.hpp index 0f676d06b3..f1b35ca2aa 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.hpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.hpp @@ -99,7 +99,6 @@ private: wxBoxSizer* page_sizer{ nullptr }; wxBoxSizer* m_sizer_task_list{ nullptr }; wxScrolledWindow* m_task_list{ nullptr }; - wxStaticText* m_selected_num{ nullptr }; // table head wxPanel* m_table_head_panel{ nullptr }; @@ -113,7 +112,6 @@ private: Button* m_action{ nullptr }; // ctrl button for all - int m_sel_number{0}; wxPanel* m_ctrl_btn_panel{ nullptr }; wxBoxSizer* m_btn_sizer{ nullptr }; Button* btn_stop_all{ nullptr }; @@ -160,15 +158,12 @@ private: wxBoxSizer* m_sizer_task_list{ nullptr }; wxBoxSizer* m_main_sizer{ nullptr }; wxScrolledWindow* m_task_list{ nullptr }; - wxStaticText* m_selected_num{ nullptr }; // Flipping pages int m_current_page{ 0 }; int m_total_page{0}; int m_total_count{ 0 }; int m_count_page_item{ 10 }; - bool prev{ false }; - bool next{ false }; Button* btn_last_page{ nullptr }; Button* btn_next_page{ nullptr }; wxStaticText* st_page_number{ nullptr }; @@ -191,7 +186,6 @@ private: Button* m_action{ nullptr }; // ctrl button for all - int m_sel_number; wxPanel* m_ctrl_btn_panel{ nullptr }; wxBoxSizer* m_btn_sizer{ nullptr }; Button* btn_pause_all{ nullptr }; diff --git a/src/slic3r/GUI/NativeCommands.cpp b/src/slic3r/GUI/NativeCommands.cpp new file mode 100644 index 0000000000..1297cd4a24 --- /dev/null +++ b/src/slic3r/GUI/NativeCommands.cpp @@ -0,0 +1,669 @@ +#include "NativeCommands.hpp" + +#include "calib_dlg.hpp" +#include "Camera.hpp" +#include "DailyTips.hpp" +#include "GCodeViewer.hpp" +#include "GLCanvas3D.hpp" +#include "GUI.hpp" +#include "GUI_App.hpp" +#include "GUI_Factories.hpp" +#include "GUI_ObjectList.hpp" +#include "I18N.hpp" +#include "Shortcuts.hpp" +#include "IMSlider.hpp" +#include "MainFrame.hpp" +#include "NetworkTestDialog.hpp" +#include "Plater.hpp" +#include "PluginsDialog.hpp" +#include "PlateSettingsDialog.hpp" +#include "DeviceCore/DevManager.h" + +#include <libslic3r/Model.hpp> +#include <libslic3r/Utils.hpp> + +#include <algorithm> +#include <cmath> +#include <cstdlib> +#include <exception> +#include <memory> +#include <string> +#include <tuple> +#include <utility> + +#include <wx/utils.h> + +namespace Slic3r { namespace GUI { + +namespace { + +// Plate ops are an FFF feature: SLA has a single plate and no plate UI, gcode-only mode has no +// editable project - so gate every plate op on FFF + the normal editor. +bool is_fff_plater(Plater* plater) { return plater && plater->printer_technology() == ptFFF && !plater->only_gcode_mode(); } + +AppActionRunResult plate_unavailable() { return {AppActionRunResult::Level::Info, _L("Plates are a filament (FFF) feature.")}; } + +// Switch to the Prepare (3D) panel so object/calibration ops have a live canvas + selection, and +// the notebook page label matches. A no-op when the 3D panel is already shown. +void ensure_3d_view(Plater* plater) +{ + if (plater && !plater->is_view3D_shown()) { + plater->select_view_3D("3D"); + if (MainFrame* mf = wxGetApp().mainframe; mf) + mf->select_tab(TAB_ID_PREPARE); + } +} + +// Object op guard + run: object ops read the Prepare canvas selection, so ensure that view first so +// a launch from another tab doesn't report a spuriously empty selection. +AppActionRunResult object_op(Plater* plater, bool (*ok)(Plater*), void (*op)(Plater*)) +{ + if (!plater) + return {AppActionRunResult::Level::Info, _L("Open the 3D view first.")}; + ensure_3d_view(plater); + if (!ok(plater)) + return {AppActionRunResult::Level::Info, _L("Select an object first.")}; + op(plater); + return {AppActionRunResult::Level::Success}; +} + +// Jump the preview to a layer selected by a 0-100 percent of the layer range. The caller has already +// switched to Preview (which may request a slice); if a slicer result is present the slider is +// repositioned immediately, otherwise the jump is a no-op until the user re-slices. +void go_to_layer(Plater* plater, const std::string& param) +{ + if (!plater) + return; + double pct = 50.0; + try { + pct = std::stod(param); + } catch (const std::exception&) {} + pct = std::clamp(pct, 0.0, 100.0); + + GLCanvas3D* canvas = plater->get_current_canvas3D(); + if (!canvas) + return; + GCodeViewer& viewer = canvas->get_gcode_viewer(); + IMSlider* layers = viewer.get_layers_slider(); + IMSlider* moves = viewer.get_moves_slider(); + if (!layers || layers->GetMaxValue() <= 0) + return; + + const double max = double(layers->GetMaxValue()); + const int target = int(std::lround(pct / 100.0 * max)); + layers->SetHigherValue(target); + if (layers->is_one_layer()) + layers->SetLowerValue(target); + layers->set_as_dirty(); + if (moves) { + moves->SetHigherValue(moves->GetMaxValue()); + moves->set_as_dirty(); + } +} + +// Select a named camera view. Plater::select_view dispatches to the current panel. +AppActionRunResult view_command(Plater* plater, const std::string& dir) +{ + if (plater) + plater->select_view(dir); + return {AppActionRunResult::Level::Success}; +} + +// Calibration wizards. Routes through MainFrame::run_calibration, the same entry point as the +// Calibration menu (which caches most of the wizard dialogs). +AppActionRunResult calib_command(CalibKind kind) +{ + MainFrame* mf = wxGetApp().mainframe; + if (!mf) + return {AppActionRunResult::Level::Info, _L("Open the 3D view first.")}; + ensure_3d_view(wxGetApp().plater()); + mf->run_calibration(kind); + return {AppActionRunResult::Level::Success}; +} + +constexpr const char* kCommandPrefix = "orca_command"; + +// Thin AppAction wrapper for one catalog entry: identity and presentation come from the catalog, +// run() routes back to it. The id is keyed by the stable catalog key (not the display title), so a +// rename or a UI-language switch never re-keys the action. +struct CommandAction : AppAction +{ + std::string command_key; + + AppActionRunResult run(const std::string& param) const override { return NativeCommands::run(command_key, param); } + + explicit CommandAction(const NativeCommand& c) + : AppAction(AppActionId{AppAction::compose_id(kCommandPrefix, c.key, kOrcaSourceKey)}, c.title, kOrcaSourceKey, kOrcaSourceName) + , command_key(c.key) + { + this->kind = AppActionKind::Command; + this->group = c.group; + this->input = c.input; + this->icon = c.icon; + } +}; + +std::vector<NativeCommand> build_command_catalog() +{ + std::vector<NativeCommand> out; + auto add = [&](std::string key, std::string title, std::string group, std::function<AppActionRunResult(const std::string&)> runner, + std::string input = {}, std::string icon = {}) { + out.push_back({std::move(key), std::move(title), std::move(group), std::move(input), std::move(icon), std::move(runner)}); + }; + // Presentation-first overload: keeps the tile icon next to the title/group it belongs to. + auto add_with_icon = [&](std::string key, std::string title, std::string group, std::string icon, + std::function<AppActionRunResult(const std::string&)> runner, std::string input = {}) { + add(std::move(key), std::move(title), std::move(group), std::move(runner), std::move(input), std::move(icon)); + }; + + // ---- Slice & Export ---- + add_with_icon("slice_and_preview", _u8L("Slice and Preview"), _u8L("Slice & Export"), "media_play", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (plater) { + plater->reslice(); + plater->select_view_3D("Preview", false); + if (MainFrame* mf = wxGetApp().mainframe; mf) + mf->select_tab(TAB_ID_PREVIEW); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + add_with_icon( + "go_to_layer", _u8L("Go to layer (percent)"), _u8L("Commands"), "height_range_layer", + [](const std::string& param) { + Plater* plater = wxGetApp().plater(); + if (plater) { + plater->select_view_3D("Preview", false); + if (MainFrame* mf = wxGetApp().mainframe; mf) + mf->select_tab(TAB_ID_PREVIEW); + go_to_layer(plater, param); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }, + "percent"); + + // "go_to_tab" is two-phase: the palette collects the tab after activating it, then hands the tab + // id back as `param` (same contract as go_to_layer's percent). + add( + "go_to_tab", _u8L("Go to tab..."), _u8L("Commands"), + [](const std::string& param) { + if (MainFrame* mf = wxGetApp().mainframe; mf && !param.empty()) + mf->select_tab(from_u8(param)); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }, + "tab"); + + add_with_icon("load_project", _u8L("Load Project"), _u8L("Commands"), "menu_open", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->load_project(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("save_project", _u8L("Save Project"), _u8L("Commands"), "menu_save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->save_project(false); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("save_project_as", _u8L("Save Project As"), _u8L("Commands"), "menu_save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->save_project(true); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("open_preferences", _u8L("Preferences"), _u8L("Commands"), "cog", [](const std::string&) { + wxGetApp().open_preferences(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Mode ---- + add_with_icon("mode_simple", _u8L("Mode: Simple"), _u8L("Mode"), "advanced", [](const std::string&) { + wxGetApp().set_mode(comSimple); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("mode_advanced", _u8L("Mode: Advanced"), _u8L("Mode"), "advanced", [](const std::string&) { + wxGetApp().set_mode(comAdvanced); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("mode_expert", _u8L("Mode: Expert"), _u8L("Mode"), "advanced", [](const std::string&) { + wxGetApp().set_mode(comExpert); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + // Mirrors Preferences > Developer > Developer mode: flip the flag, persist, refresh the UI. + add_with_icon("toggle_developer_mode", _u8L("Toggle Developer Mode"), _u8L("Mode"), "advanced", [](const std::string&) { + GUI_App& app = wxGetApp(); + const bool on = !app.app_config->get_bool("developer_mode"); + app.app_config->set_bool("developer_mode", on); + app.app_config->save(); + app.update_mode(); + return AppActionRunResult{AppActionRunResult::Level::Success, on ? _L("Developer mode enabled.") : _L("Developer mode disabled.")}; + }); + + // ---- Export pipeline ---- + add_with_icon("export_gcode", _u8L("Export G-code"), _u8L("Slice & Export"), "custom-gcode_gcode", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_gcode(false); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_stl", _u8L("Export STL"), _u8L("Slice & Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_stl(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_3mf", _u8L("Export 3MF"), _u8L("Slice & Export"), "menu_save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_core_3mf(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_sliced_file", _u8L("Export Sliced File"), _u8L("Slice & Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_gcode_3mf(false); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_all_sliced_file", _u8L("Export All Sliced Files"), _u8L("Slice & Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_gcode_3mf(true); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Calibration ---- + // The tab-strip calib_sf glyph is drawn white for the dark tab bar and vanishes on the palette's + // light tile, so each wizard borrows the matching settings-group icon instead (gray + accent green). + add_with_icon("calib_temperature", _u8L("Temperature Calibration"), _u8L("Calibration"), "param_temperature", + [](const std::string&) { return calib_command(CalibKind::Temperature); }); + add_with_icon("calib_max_volumetric", _u8L("Max Volumetric Speed Calibration"), _u8L("Calibration"), "param_volumetric_speed", + [](const std::string&) { return calib_command(CalibKind::MaxVolumetric); }); + add_with_icon("calib_pressure_advance", _u8L("Pressure Advance Calibration"), _u8L("Calibration"), "param_flow_ratio_and_pressure_advance", + [](const std::string&) { return calib_command(CalibKind::PressureAdvance); }); + add_with_icon("calib_flow_ratio", _u8L("Flow Ratio Calibration"), _u8L("Calibration"), "param_flow_ratio_and_pressure_advance", + [](const std::string&) { return calib_command(CalibKind::FlowRatio); }); + add_with_icon("calib_retraction", _u8L("Retraction Calibration"), _u8L("Calibration"), "param_retraction", + [](const std::string&) { return calib_command(CalibKind::Retraction); }); + add_with_icon("calib_cornering", _u8L("Cornering Calibration"), _u8L("Calibration"), "param_precision", + [](const std::string&) { return calib_command(CalibKind::Cornering); }); + add_with_icon("calib_input_shaping_freq", _u8L("Input Shaping Frequency Calibration"), _u8L("Calibration"), "param_resonance_avoidance", + [](const std::string&) { return calib_command(CalibKind::InputShapingFreq); }); + add_with_icon("calib_input_shaping_damp", _u8L("Input Shaping Damping Calibration"), _u8L("Calibration"), "param_resonance_avoidance", + [](const std::string&) { return calib_command(CalibKind::InputShapingDamp); }); + add_with_icon("calib_vfa", _u8L("VFA Calibration"), _u8L("Calibration"), "param_speed", [](const std::string&) { return calib_command(CalibKind::VFA); }); + + // ---- View ---- + // Titles are built with _u8L here (not via a variable) so xgettext can extract them. + for (auto [key, dir, title] : + std::initializer_list<std::tuple<const char*, const char*, std::string>>{{"view_top", "top", _u8L("View: Top")}, + {"view_bottom", "bottom", _u8L("View: Bottom")}, + {"view_front", "front", _u8L("View: Front")}, + {"view_rear", "rear", _u8L("View: Rear")}, + {"view_left", "left", _u8L("View: Left")}, + {"view_right", "right", _u8L("View: Right")}, + {"view_iso", "iso", _u8L("View: Isometric")}}) { + std::string k = key, d = dir; + add(k, title, _u8L("View"), + [d](const std::string&) { return view_command(wxGetApp().plater(), d); }); + } + add("view_default", _u8L("View: Default"), _u8L("View"), [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (plater) { + plater->select_view("plate"); + if (GLCanvas3D* canvas = plater->get_current_canvas3D()) + canvas->zoom_to_bed(); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("view_fit_bed", _u8L("Fit Bed to View"), _u8L("View"), [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + if (GLCanvas3D* canvas = plater->get_current_canvas3D()) + canvas->zoom_to_bed(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("view_toggle_perspective", _u8L("Toggle Perspective"), _u8L("View"), [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->get_camera().select_next_type(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("reset_window_layout", _u8L("Reset Window Layout"), _u8L("View"), "toolbar_reset", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->reset_window_layout(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Object ---- + add_with_icon("obj_delete", _u8L("Delete Selected"), _u8L("Object"), "delete", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return !p->is_selection_empty(); }, [](Plater* p) { p->remove_selected(); }); + }); + add_with_icon("obj_delete_all", _u8L("Delete All Objects"), _u8L("Object"), "delete", [](const std::string&) { + return object_op( + wxGetApp().plater(), [](Plater* p) { return p->can_delete_all(); }, [](Plater* p) { p->delete_all_objects_from_model(); }); + }); + add_with_icon("obj_mirror_x", _u8L("Mirror X"), _u8L("Object"), "menu_mirror_x", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_mirror(); }, [](Plater* p) { p->mirror(Axis::X); }); + }); + add_with_icon("obj_mirror_y", _u8L("Mirror Y"), _u8L("Object"), "menu_mirror_y", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_mirror(); }, [](Plater* p) { p->mirror(Axis::Y); }); + }); + add_with_icon("obj_mirror_z", _u8L("Mirror Z"), _u8L("Object"), "menu_mirror_z", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_mirror(); }, [](Plater* p) { p->mirror(Axis::Z); }); + }); + add_with_icon("obj_split_objects", _u8L("Split to Objects"), _u8L("Object"), "menu_split_objects", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_split_to_objects(); }, [](Plater* p) { p->split_object(true); }); + }); + add_with_icon("obj_split_parts", _u8L("Split to Parts"), _u8L("Object"), "menu_split_parts", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_split_to_volumes(); }, [](Plater* p) { p->split_volume(); }); + }); + add("obj_center", _u8L("Center Selected on Plate"), _u8L("Object"), [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return !p->is_selection_empty(); }, [](Plater* p) { p->center_selection(); }); + }); + add_with_icon("obj_drop", _u8L("Drop to Bed"), _u8L("Object"), "toolbar_flatten", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return !p->is_selection_empty(); }, [](Plater* p) { p->drop_selection(); }); + }); + add("obj_fit_volume", _u8L("Scale to Fit Print Volume"), _u8L("Object"), [](const std::string&) { + return object_op( + wxGetApp().plater(), [](Plater* p) { return p->can_scale_to_print_volume(); }, + [](Plater* p) { p->scale_selection_to_fit_print_volume(); }); + }); + add_with_icon("obj_instances_up", _u8L("Increase Instances"), _u8L("Object"), "instance_add", [](const std::string&) { + return object_op( + wxGetApp().plater(), [](Plater* p) { return p->can_increase_instances(); }, [](Plater* p) { p->increase_instances(); }); + }); + add_with_icon("obj_instances_down", _u8L("Decrease Instances"), _u8L("Object"), "instance_remove", [](const std::string&) { + return object_op( + wxGetApp().plater(), [](Plater* p) { return p->can_decrease_instances(); }, [](Plater* p) { p->decrease_instances(); }); + }); + add_with_icon("obj_arrange", _u8L("Auto-Arrange"), _u8L("Object"), "toolbar_arrange", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_arrange(); }, [](Plater* p) { p->arrange(); }); + }); + add_with_icon("obj_orient", _u8L("Auto-Orient"), _u8L("Object"), "toolbar_orient", [](const std::string&) { + return object_op(wxGetApp().plater(), [](Plater* p) { return p->can_arrange(); }, [](Plater* p) { p->orient(); }); + }); + + // ---- Add Primitive ---- (the Add > Add Primitive submenu; creates a new object) + auto add_primitive = [&](std::string key, std::string title, std::string icon, const char* type_name) { + add_with_icon(std::move(key), std::move(title), _u8L("Add Primitive"), std::move(icon), [type_name](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (plater) { + ensure_3d_view(plater); + if (ObjectList* list = wxGetApp().obj_list()) + list->load_generic_subobject(type_name, ModelVolumeType::INVALID); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + }; + add_primitive("add_primitive_cube", _u8L("Cube"), "menu_obj_cube", "Cube"); + add_primitive("add_primitive_cylinder", _u8L("Cylinder"), "menu_obj_cylinder", "Cylinder"); + add_primitive("add_primitive_sphere", _u8L("Sphere"), "menu_obj_sphere", "Sphere"); + add_primitive("add_primitive_cone", _u8L("Cone"), "menu_obj_cone", "Cone"); + add_primitive("add_primitive_disc", _u8L("Disc"), "menu_obj_disc", "Disc"); + add_primitive("add_primitive_torus", _u8L("Torus"), "menu_obj_torus", "Torus"); + add_with_icon("add_primitive_text", _u8L("Text"), _u8L("Add Primitive"), "menu_obj_text", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (plater) { + ensure_3d_view(plater); + if (GLCanvas3D* canvas = plater->canvas3D()) + canvas->clear_popup_menu_position(); + MenuFactory::add_text_volume(ModelVolumeType::INVALID); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("add_primitive_svg", _u8L("SVG"), _u8L("Add Primitive"), "menu_obj_svg", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (plater) { + ensure_3d_view(plater); + if (GLCanvas3D* canvas = plater->canvas3D()) + canvas->clear_popup_menu_position(); + MenuFactory::add_svg_volume(ModelVolumeType::INVALID); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Add Handy models ---- (the Add > Add Handy models submenu) + const std::vector<MenuFactory::HandyModel>& handy = MenuFactory::handy_models(); + for (std::size_t i = 0; i < handy.size(); ++i) { + add("add_handy_" + std::string(handy[i].key), Slic3r::GUI::I18N::translate_utf8(handy[i].label), _u8L("Add Handy models"), + [i](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + ensure_3d_view(plater); + MenuFactory::load_handy_model(i); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + } + + // ---- Plate ---- + add_with_icon("plate_add", _u8L("Add Plate"), _u8L("Plate"), "toolbar_add_plate", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + if (!plater->can_add_plate()) + return AppActionRunResult{AppActionRunResult::Level::Info, _L("Cannot add another plate (maximum reached).")}; + plater->add_plate(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("plate_duplicate", _u8L("Duplicate Plate"), _u8L("Plate"), "menu_copy", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + if (!plater->can_add_plate()) + return AppActionRunResult{AppActionRunResult::Level::Info, _L("Cannot duplicate a plate (maximum reached).")}; + plater->duplicate_plate(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("plate_delete", _u8L("Delete Plate"), _u8L("Plate"), "delete", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + if (!plater->can_delete_plate()) + return AppActionRunResult{AppActionRunResult::Level::Info, _L("Cannot delete the only plate.")}; + plater->delete_plate(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("plate_rename", _u8L("Rename Plate"), _u8L("Plate"), "plate_name_edit", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + PartPlate* curr = plater->get_partplate_list().get_curr_plate(); + PlateNameEditDialog dlg((wxWindow*) wxGetApp().mainframe, wxID_ANY, _L("Edit Plate Name")); + dlg.set_plate_name(from_u8(curr->get_plate_name())); + if (dlg.ShowModal() == wxID_YES) + curr->set_plate_name(dlg.get_plate_name().ToUTF8().data()); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("plate_toggle_lock", _u8L("Toggle Plate Lock"), _u8L("Plate"), "lock_normal", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + PartPlateList& plates = plater->get_partplate_list(); + const int index = plates.get_curr_plate_index(); + plater->take_snapshot("lock partplate"); + plates.lock_plate(index, !plates.is_locked(index)); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("plate_goto", _u8L("Go to Plate"), _u8L("Plate"), "go_next_plate", [](const std::string& param) { + Plater* plater = wxGetApp().plater(); + if (!is_fff_plater(plater)) + return plate_unavailable(); + PartPlateList& plates = plater->get_partplate_list(); + const int count = plates.get_plate_count(); + if (count <= 0) + return AppActionRunResult{AppActionRunResult::Level::Info, _L("No plates available.")}; + int index = 0; + try { + index = std::stoi(param); + } catch (const std::exception&) {} + index = std::clamp(index, 0, count - 1); + plater->select_plate(index, false); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Printer / device connection ---- + add_with_icon("sync_ams", _u8L("Synchronize Filament List from AMS"), _u8L("Printer"), "ams_fila_sync", [](const std::string&) { + Plater* plater = wxGetApp().plater(); + DeviceManager* dev = wxGetApp().getDeviceManager(); + if (dev && dev->get_selected_machine() && plater) { + plater->sidebar().sync_ams_list(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + } + return AppActionRunResult{AppActionRunResult::Level::Info, _L("Connect a printer to synchronize the AMS filament list.")}; + }); + + // ---- Presets / cloud ---- + add_with_icon("preset_bundle", _u8L("Open Preset Bundle"), _u8L("Presets"), "menu_edit_preset", [](const std::string&) { + wxGetApp().open_presetbundledialog(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("sync_presets", _u8L("Sync Presets"), _u8L("Presets"), "printer_sync_ok", [](const std::string&) { + if (!wxGetApp().is_user_login()) + return AppActionRunResult{AppActionRunResult::Level::Info, _L("Sign in to sync presets.")}; + wxGetApp().restart_sync_user_preset(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Import ---- + add_with_icon("import_file", _u8L("Import 3MF/STL/STEP/SVG/OBJ/AMF"), _u8L("Import"), "menu_open", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) { +#ifdef __APPLE__ + plater->add_model(); +#else + plater->add_file(); +#endif + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("import_zip_archive", _u8L("Import ZIP Archive"), _u8L("Import"), "menu_open", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->import_zip_archive(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("import_configs", _u8L("Import Configs"), _u8L("Import"), "menu_open", [](const std::string&) { + if (MainFrame* mf = wxGetApp().mainframe) + mf->load_config_file(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Export extras ---- + add_with_icon("export_stl_multi", _u8L("Export All Objects as STLs"), _u8L("Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_stl(false, false, true); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_drc_single", _u8L("Export All Objects as DRC (one file)"), _u8L("Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_stl(false, false, false, FT_DRC); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_drc_multi", _u8L("Export All Objects as DRCs"), _u8L("Export"), "save", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_stl(false, false, true, FT_DRC); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_toolpaths_obj", _u8L("Export Toolpaths as OBJ"), _u8L("Export"), "custom-gcode_gcode", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) + plater->export_toolpaths_to_obj(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("export_config", _u8L("Export Preset Bundle"), _u8L("Export"), "save", [](const std::string&) { + if (MainFrame* mf = wxGetApp().mainframe) + mf->export_config(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Help ---- (mirrors the top-bar Help menu, plus the wiki/YouTube links) + add("help_keyboard_shortcuts", _u8L("Keyboard Shortcuts"), _u8L("Help"), [](const std::string&) { + wxGetApp().keyboard_shortcuts(ShortcutContext::Global); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("help_setup_wizard", _u8L("Setup Wizard"), _u8L("Help"), [](const std::string&) { + wxGetApp().ShowUserGuide(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("help_open_config_folder", _u8L("Show Configuration Folder"), _u8L("Help"), "open_project", [](const std::string&) { + Slic3r::GUI::desktop_open_datadir_folder(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("help_troubleshoot", _u8L("Troubleshoot Center"), _u8L("Help"), [](const std::string&) { + wxGetApp().troubleshoot(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("help_network_test", _u8L("Open Network Test"), _u8L("Help"), [](const std::string&) { + NetworkTestDialog dlg(wxGetApp().mainframe); + dlg.ShowModal(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("help_tip_of_the_day", _u8L("Show Tip of the Day"), _u8L("Help"), "info", [](const std::string&) { + if (Plater* plater = wxGetApp().plater()) { + plater->get_dailytips()->open(); + if (GLCanvas3D* canvas = plater->get_current_canvas3D()) + canvas->set_as_dirty(); + } + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("help_check_updates", _u8L("Check for Updates"), _u8L("Help"), "refresh", [](const std::string&) { + wxGetApp().check_new_version_sf(true, 1); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("help_about", _u8L("About OrcaSlicer"), _u8L("Help"), "OrcaSlicer_gradient_circle", [](const std::string&) { + Slic3r::GUI::about(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add_with_icon("open_wiki", _u8L("Open Wiki"), _u8L("Help"), "link_wiki_img", [](const std::string&) { + wxLaunchDefaultBrowser("https://www.orcaslicer.com/wiki/", wxBROWSER_NEW_WINDOW); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("open_youtube", _u8L("Open YouTube Channel"), _u8L("Help"), [](const std::string&) { + wxLaunchDefaultBrowser("https://www.youtube.com/@OfficialOrcaSlicer/videos", wxBROWSER_NEW_WINDOW); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + // ---- Plugins ---- + add("open_plugins", _u8L("Open Plugins"), _u8L("Plugins"), [](const std::string&) { + wxGetApp().open_plugins_dialog(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("refresh_plugins", _u8L("Refresh Plugins"), _u8L("Plugins"), [](const std::string&) { + wxGetApp().refresh_plugins(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("install_plugin", _u8L("Install Plugin"), _u8L("Plugins"), [](const std::string&) { + open_plugin_hub(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + add("install_local_plugin", _u8L("Install Local Plugin"), _u8L("Plugins"), [](const std::string&) { + wxGetApp().install_local_plugin(); + return AppActionRunResult{AppActionRunResult::Level::Success}; + }); + + return out; +} + +std::vector<NativeCommand>& catalog_storage() +{ + static std::vector<NativeCommand> commands = build_command_catalog(); + return commands; +} + +} // namespace + +const std::vector<NativeCommand>& NativeCommands::catalog() +{ + return catalog_storage(); +} + +void NativeCommands::rebuild_catalog() +{ + // build_command_catalog() re-runs _u8L under the current locale, so replacing the storage + // refreshes every translated title/group after a language switch. + catalog_storage() = build_command_catalog(); +} + +std::unique_ptr<AppAction> NativeCommands::make_action(const NativeCommand& command) +{ + return std::make_unique<CommandAction>(command); +} + +AppActionRunResult NativeCommands::run(const std::string& key, const std::string& param) +{ + GUI_App& app = wxGetApp(); + if (app.is_closing()) + return {}; + for (const NativeCommand& c : catalog()) + if (c.key == key) + return c.runner(param); + return {AppActionRunResult::Level::Info, _L("Unknown command.")}; +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/NativeCommands.hpp b/src/slic3r/GUI/NativeCommands.hpp new file mode 100644 index 0000000000..993b37f564 --- /dev/null +++ b/src/slic3r/GUI/NativeCommands.hpp @@ -0,0 +1,43 @@ +#pragma once + +#include <functional> +#include <memory> +#include <string> +#include <vector> + +#include "ActionRegistry.hpp" // for AppAction / AppActionRunResult + +namespace Slic3r { namespace GUI { + +// A built-in speed-dial command: identity + how to run it. make_action() wraps a value as a thin +// AppAction for the registry, so this catalog is the single source of truth for the behaviour +// (runner => an owner method), the presentation (title/group/input), and the tile pictogram +// (icon = an SVG base name under resources/images, "" for no icon). +struct NativeCommand +{ + std::string key; + std::string title; + std::string group; + std::string input; // "percent"/"tab" or "" for immediate run + std::string icon; // SVG base name, or "" to render a blank tile + std::function<AppActionRunResult(const std::string& param)> runner; +}; + +namespace NativeCommands { +// The full built-in command catalog. Built on first use and reused; call rebuild_catalog() after a +// live UI language switch so the translated titles/groups match the new locale. UI thread only. +const std::vector<NativeCommand>& catalog(); + +// Rebuilds the catalog in the current locale. UI thread only. +void rebuild_catalog(); + +// Dispatches `key` to its runner (unknown keys return a quiet Info). UI thread only. +AppActionRunResult run(const std::string& key, const std::string& param = {}); + +// Materialises one catalog entry as a runnable AppAction. Keeps the catalog's identity, +// presentation and behaviour as the single source of truth; ActionRegistry only stores and +// dispatches the result. UI thread only. +std::unique_ptr<AppAction> make_action(const NativeCommand& command); +} // namespace NativeCommands + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Notebook.cpp b/src/slic3r/GUI/Notebook.cpp index 67c1831e4d..7b69effacc 100644 --- a/src/slic3r/GUI/Notebook.cpp +++ b/src/slic3r/GUI/Notebook.cpp @@ -10,6 +10,7 @@ #include "Widgets/Label.hpp" #include <wx/button.h> +#include <wx/dcclient.h> #include <wx/sizer.h> wxDEFINE_EVENT(wxCUSTOMEVT_NOTEBOOK_SEL_CHANGED, wxCommandEvent); @@ -158,12 +159,22 @@ void ButtonsListCtrl::SetSelection(int sel) bool ButtonsListCtrl::InsertPage(size_t n, const wxString &text, bool bSelect /* = false*/, const std::string &bmp_name /* = ""*/, const wxBitmap &bmp /* = wxNullBitmap */) { - Button * btn = new Button(this, text.empty() ? text : " " + text, bmp_name, wxNO_BORDER); + Button * btn = new Button(this, text, bmp_name, wxNO_BORDER); btn->SetCornerRadius(0); if (bmp_name.empty() && bmp.IsOk()) btn->SetIcon(bmp); + // The label no longer carries a leading space, so widen the icon<->text gap to keep the + // original spacing between a tab's icon and its caption. + { + wxClientDC dc(btn); + dc.SetFont(btn->GetFont()); + int space_w = 0; + dc.GetTextExtent(" ", &space_w, nullptr); + btn->SetIconSpacing(5 + space_w); + } + int em = em_unit(this); //BBS set size for button btn->SetMinSize({(text.empty() ? 40 : 136) * em / 10, 36 * em / 10}); @@ -190,6 +201,7 @@ bool ButtonsListCtrl::InsertPage(size_t n, const wxString &text, bool bSelect /* Slic3r::GUI::wxGetApp().UpdateDarkUI(btn); m_pageButtons.insert(m_pageButtons.begin() + n, btn); m_pageLabels.insert(m_pageLabels.begin() + n, text); // ORCA + m_pageIcons.insert(m_pageIcons.begin() + n, bmp_name); m_buttons_sizer->Insert(n, new wxSizerItem(btn)); m_buttons_sizer->SetCols(m_buttons_sizer->GetCols() + 1); m_sizer->Layout(); @@ -209,6 +221,7 @@ void ButtonsListCtrl::RemovePage(size_t n) Button* btn = m_pageButtons[n]; m_pageButtons.erase(m_pageButtons.begin() + n); m_pageLabels.erase(m_pageLabels.begin() + n); // ORCA + m_pageIcons.erase(m_pageIcons.begin() + n); m_buttons_sizer->Remove(n); #if __WXOSX__ RemoveChild(btn); @@ -245,7 +258,7 @@ void ButtonsListCtrl::SetCompact(size_t n, bool compact) int em = em_unit(this); Button* btn = m_pageButtons[n]; btn->SetMinSize({(compact ? 40 : 136) * em / 10, 36 * em / 10}); - btn->SetLabel(compact ? "" : (" " + m_pageLabels[n])); + btn->SetLabel(compact ? "" : m_pageLabels[n]); } wxString ButtonsListCtrl::GetPageText(size_t n) const @@ -254,6 +267,12 @@ wxString ButtonsListCtrl::GetPageText(size_t n) const return btn->GetLabel(); } +// ORCA +wxString ButtonsListCtrl::GetPageLabel(size_t n) const +{ + return n < m_pageLabels.size() ? m_pageLabels[n] : wxString(); +} + // ORCA void ButtonsListCtrl::SetOverflowButton(wxWindow* button) { diff --git a/src/slic3r/GUI/Notebook.hpp b/src/slic3r/GUI/Notebook.hpp index 4734122b18..cc6ad91f21 100644 --- a/src/slic3r/GUI/Notebook.hpp +++ b/src/slic3r/GUI/Notebook.hpp @@ -33,6 +33,14 @@ public: void SetPageText(size_t n, const wxString& strText); void SetCompact(size_t n, bool compact); // ORCA wxString GetPageText(size_t n) const; + // ORCA: the full page label, unaffected by SetCompact() blanking the button text. + wxString GetPageLabel(size_t n) const; + // Resource name the page was inserted with (empty for plugin pages, which pass a wxBitmap). + const std::string& GetPageIcon(size_t n) const + { + static const std::string empty; + return n < m_pageIcons.size() ? m_pageIcons[n] : empty; + } wxFlexGridSizer* GetBtnsSizer(){return m_buttons_sizer;}; // ORCA // ORCA: a companion widget shown right after the tab buttons (before any side_tools), e.g. // an overflow indicator. Pass nullptr to remove it; ownership stays with the caller. @@ -47,6 +55,7 @@ private: int m_btn_margin; int m_line_margin; std::vector<wxString> m_pageLabels; // ORCA + std::vector<std::string> m_pageIcons; // ORCA: resource icon name per page, plugin pages empty wxWindow* m_overflow_button{nullptr}; // ORCA }; @@ -241,6 +250,20 @@ public: return GetBtnsListCtrl()->GetPageText(n); } + // ORCA: the real page label. GetPageText() returns the button label, which SetCompact() blanks. + wxString GetPageLabel(size_t n) const + { + wxCHECK_MSG(n < GetPageCount(), wxString(), wxS("Invalid page")); + return GetBtnsListCtrl()->GetPageLabel(n); + } + + // Resource icon name the page was inserted with; empty for pages added with a wxBitmap. + std::string GetPageIcon(size_t n) const + { + wxCHECK_MSG(n < GetPageCount(), std::string(), wxS("Invalid page")); + return GetBtnsListCtrl()->GetPageIcon(n); + } + virtual bool SetPageImage(size_t WXUNUSED(n), int WXUNUSED(imageId)) override { return false; diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 5e83ad845f..2ee875901c 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -3083,7 +3083,7 @@ bool NotificationManager::push_notification_data(std::unique_ptr<NotificationMan } bool retval = false; if (this->activate_existing(notification.get())) { - if (m_initialized) { // ignore update action - it cant be initialized if canvas and imgui context is not ready + if (m_initialized && m_imgui_ready) { if (notification->get_type() == NotificationType::SlicingWarning) { m_pop_notifications.back()->append(notification->get_data().ori_text); } else { @@ -3129,6 +3129,10 @@ void NotificationManager::stop_delayed_notifications_of_type(const NotificationT void NotificationManager::render_notifications(GLCanvas3D &canvas, float overlay_width, float bottom_margin, float right_margin) { + // Notifications render inside an ImGui frame, so the font atlas is built from this point on + // and pushed notifications may safely measure their text. + m_imgui_ready = true; + sort_notifications(); float bottom_up_last_y = bottom_margin; // ORCA dont scale margins @@ -3339,17 +3343,7 @@ size_t NotificationManager::get_notification_count() const void NotificationManager::bbl_show_plateinfo_notification(const std::string &text) { NotificationData data{NotificationType::BBLPlateInfo, NotificationLevel::PrintInfoNotificationLevel, BBL_NOTICE_MAX_INTERVAL, text}; - - for (std::unique_ptr<PopNotification> ¬ification : m_pop_notifications) { - if (notification->get_type() == NotificationType::BBLPlateInfo) { - notification->reinit(); - notification->update(data); - return; - } - } - - auto notification = std::make_unique<NotificationManager::PopNotification>(data, m_id_provider, m_evt_handler); - push_notification_data(std::move(notification), 0); + push_notification_data(data, 0); } void NotificationManager::bbl_close_3mf_warn_notification() @@ -3360,20 +3354,10 @@ void NotificationManager::bbl_close_3mf_warn_notification() } } -void NotificationManager::bbl_show_3mf_warn_notification(const std::string &text) +void NotificationManager::bbl_show_3mf_warn_notification(const std::string &text, NotificationLevel level) { - NotificationData data{NotificationType::BBL3MFInfo, NotificationLevel::ErrorNotificationLevel, BBL_NOTICE_MAX_INTERVAL, text}; - - for (std::unique_ptr<PopNotification> ¬ification : m_pop_notifications) { - if (notification->get_type() == NotificationType::BBL3MFInfo) { - notification->reinit(); - notification->update(data); - return; - } - } - - auto notification = std::make_unique<NotificationManager::PopNotification>(data, m_id_provider, m_evt_handler); - push_notification_data(std::move(notification), 0); + NotificationData data{NotificationType::BBL3MFInfo, level, BBL_NOTICE_MAX_INTERVAL, text}; + push_notification_data(data, 0); } void NotificationManager::bbl_close_plateinfo_notification() @@ -3388,17 +3372,7 @@ void NotificationManager::bbl_close_plateinfo_notification() void NotificationManager::bbl_show_preview_only_notification(const std::string &text) { NotificationData data{NotificationType::BBLPreviewOnlyMode, NotificationLevel::WarningNotificationLevel, 0, text}; - - for (std::unique_ptr<PopNotification> ¬ification : m_pop_notifications) { - if (notification->get_type() == NotificationType::BBLPreviewOnlyMode) { - notification->reinit(); - notification->update(data); - return; - } - } - - auto notification = std::make_unique<NotificationManager::PopNotification>(data, m_id_provider, m_evt_handler); - push_notification_data(std::move(notification), 0); + push_notification_data(data, 0); } void NotificationManager::bbl_close_preview_only_notification() diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index bf0a5cfe1a..cb65524dac 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -378,7 +378,9 @@ public: void bbl_close_plateinfo_notification(); //BBS-- 3mf warning - void bbl_show_3mf_warn_notification(const std::string &text); + // level defaults to the historical error styling; callers reporting informational + // 3MF load notices (published settings) pass WarningNotificationLevel instead. + void bbl_show_3mf_warn_notification(const std::string &text, NotificationLevel level = NotificationLevel::ErrorNotificationLevel); void bbl_close_3mf_warn_notification(); //BBS--preview only mode @@ -1052,6 +1054,11 @@ private: bool m_is_dark = false; // set by init(), until false notifications are only added not updated and frame is not requested after push bool m_initialized{ false }; + // set by render_notifications() on the first rendered frame. m_initialized only proves the + // manager exists, not that the ImGui context can measure text: the font atlas is built lazily + // in ImGuiWrapper::new_frame() on the first GL render, so updating a notification before that + // (PopNotification::init -> count_spaces -> ImGui::CalcTextSize) dereferences a null font. + bool m_imgui_ready{ false }; // Target for wxWidgets events sent by clicking on the hyperlink available at some notifications. wxEvtHandler* m_evt_handler; // Cache of IDs to identify and reuse ImGUI windows. @@ -1076,7 +1083,10 @@ private: NotificationType::ProgressBar, NotificationType::PrintHostUpload, NotificationType::SimplifySuggestion, - NotificationType::ValidateWarning + NotificationType::ValidateWarning, + // A published file load can produce several distinct 3MF warnings (invalid values, + // skipped settings, changed slots); let them stack rather than clobber each other. + NotificationType::BBL3MFInfo }; //prepared (basic) notifications // non-static so its not loaded too early. If static, the translations wont load correctly. diff --git a/src/slic3r/GUI/ObjColorDialog.cpp b/src/slic3r/GUI/ObjColorDialog.cpp index d5a37fc9a7..4388449bb5 100644 --- a/src/slic3r/GUI/ObjColorDialog.cpp +++ b/src/slic3r/GUI/ObjColorDialog.cpp @@ -86,8 +86,6 @@ ObjColorDialog::ObjColorDialog(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE /* | wxRESIZE_BORDER*/) - , m_filament_ids(in_out.filament_ids) - , m_first_extruder_id(in_out.first_extruder_id) { auto m_line_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1)); m_line_top->SetBackgroundColour(wxColour(166, 169, 170)); @@ -357,7 +355,7 @@ ObjColorPanel::ObjColorPanel(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, c //new color table m_scrolledWindow = new wxScrolledWindow(m_page_simple, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); m_scrolledWindow->SetBackgroundColour(*wxWHITE); - m_scrolledWindow->SetScrollRate(0, 20); + m_scrolledWindow->SetScrollRate(0, FromDIP(20)); m_scrolledWindow->EnableScrolling(false, true); m_scrolledWindow->ShowScrollbars(wxScrollbarVisibility::wxSHOW_SB_NEVER, wxScrollbarVisibility::wxSHOW_SB_DEFAULT); draw_new_table(); diff --git a/src/slic3r/GUI/ObjColorDialog.hpp b/src/slic3r/GUI/ObjColorDialog.hpp index 19ed1dcb24..34f9eb5de5 100644 --- a/src/slic3r/GUI/ObjColorDialog.hpp +++ b/src/slic3r/GUI/ObjColorDialog.hpp @@ -94,7 +94,6 @@ private: std::vector<int> m_cluster_map_filaments;//show middle int m_max_filament_index = 0; std::vector<wxColour> m_cluster_colours;//from_algo and show left - bool m_can_add_filament{true}; bool m_deal_thumbnail_flag{false}; std::vector<wxColour> m_new_add_colors; std::vector<wxColour> m_new_add_final_colors; @@ -123,8 +122,6 @@ private: wxBoxSizer * m_main_sizer = nullptr; wxBoxSizer * m_buttons_sizer = nullptr; std::unordered_map<int, Button *> m_button_list; - std::vector<unsigned char>& m_filament_ids; - unsigned char & m_first_extruder_id; }; #endif // _WIPE_TOWER_DIALOG_H_ \ No newline at end of file diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index 25c13c4b8d..84e6fc43c3 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -1,6 +1,7 @@ #include "OptionsGroup.hpp" #include "ConfigExceptions.hpp" #include "Plater.hpp" +#include "SettingsIndex.hpp" #include "GUI_App.hpp" #include "MainFrame.hpp" #include "OG_CustomCtrl.hpp" @@ -244,6 +245,25 @@ void OptionsGroup::append_line(const Line& line) { m_lines.emplace_back(line); + // Feed the searcher the row's wiki path (Line::label_path, for the Speed Dial's "open wiki" + // affordance) and the label the row actually draws, so a setting action is named like the page. + if (m_use_custom_ctrl) { + Search::SettingsIndex& index = wxGetApp().sidebar().settings_index(); + const Preset::Type type = static_cast<Preset::Type>(config_type()); + const bool multi = line.get_options().size() > 1; + for (const auto& opt : line.get_options()) { + if (!line.label_path.empty()) + index.set_path(opt.opt_id, type, line.label_path); + // Mirror the sub-label OG_CustomCtrl draws for a multi-option row, so the palette + // names each field like the page does. + const std::string& leaf_src = opt.opt.label; + const wxString leaf = (leaf_src == L_CONTEXT("Top", "Layers") || leaf_src == L_CONTEXT("Bottom", "Layers")) ? + _L_CONTEXT(leaf_src, "Layers") : + _(leaf_src); + index.set_line_label(opt.opt_id, type, Search::compose_display_label(line.label, leaf, multi)); + } + } + if (line.full_width && (line.widget != nullptr || !line.get_extra_widgets().empty())) return; @@ -650,7 +670,7 @@ Option ConfigOptionsGroup::get_option(const std::string& opt_key, int opt_index m_opt_map.emplace(opt_id, pair); if (m_use_custom_ctrl) // fill group and category values just for options from Settings Tab - wxGetApp().sidebar().get_searcher().add_key(opt_id, static_cast<Preset::Type>(this->config_type()), title, this->config_category()); + wxGetApp().sidebar().settings_index().add_key(opt_id, static_cast<Preset::Type>(this->config_type()), title, this->config_category(), this->icon); return Option(*m_config->def()->get(opt_key), opt_id); } @@ -698,10 +718,15 @@ std::string OptionsGroup::pick_plugin(const ConfigOptionDef& opt) Slic3r::PluginManager& manager = Slic3r::PluginManager::instance(); const Slic3r::PluginCapabilityType plugin_type = Slic3r::plugin_capability_type_from_string(opt.plugin_type); if (plugin_type == Slic3r::PluginCapabilityType::Unknown) { - const std::string message = opt.plugin_type.empty() - ? "This setting does not specify a plugin capability type." - : "This setting specifies an unrecognized plugin capability type: '" + opt.plugin_type + "'."; - wxMessageBox(from_u8(message), _L("Plugin Selection"), wxOK | wxICON_WARNING, m_parent); + MessageDialog dlg(m_parent, + opt.plugin_type.empty() ? _L("This setting does not specify a plugin capability type.") + : _L("This setting specifies an unrecognized plugin capability type: ") + "'" + opt.plugin_type + "'.", + _L("Plugin Selection"), + wxOK | wxICON_WARNING + ); + dlg.CenterOnParent(); + dlg.ShowModal(); + return {}; } @@ -714,7 +739,13 @@ std::string OptionsGroup::pick_plugin(const ConfigOptionDef& opt) }); if (caps.empty()) { - wxMessageBox(_L("No plugins capabilities available for this type.\nEnable or install some to use."), _L("Plugin Selection"), wxOK | wxICON_INFORMATION, m_parent); + MessageDialog dlg(m_parent, + _L("No plugins capabilities available for this type.\nEnable or install some to use."), + _L("Plugin Selection"), + wxOK | wxICON_INFORMATION + ); + dlg.CenterOnParent(); + dlg.ShowModal(); return {}; } @@ -787,11 +818,9 @@ void ConfigOptionsGroup::back_to_config_value(const DynamicPrintConfig& config, #endif else if (opt_key == "printer_agent") { - // why: printer_agent is a coString kept out of m_opt_map. The generic non-opt_map revert - // below restores the edited config from get_value(), but a deregistered/"(missing)" saved - // id has no selectable row, so the field yields no value and the edited config keeps the - // user's interim pick -> stuck dirty. Restore the SAVED id straight into the edited config - // (displayable or not; config is the saved or system baseline), then repaint and notify. + // A deregistered/"(missing)" saved id has no selectable row, so the field yields no + // value. Restore the saved id directly instead of letting the generic revert path read + // the field value back into the edited config. const std::string saved_id = config.opt_string("printer_agent"); set_value(opt_key, saved_id); this->change_opt_value(opt_key, saved_id); diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp index b20d16aca9..8dde661bdd 100644 --- a/src/slic3r/GUI/OptionsGroup.hpp +++ b/src/slic3r/GUI/OptionsGroup.hpp @@ -112,7 +112,7 @@ public: bool split_multi_line{false}; bool option_label_at_right{false}; // BBS: new layout - wxWindow * stb; + wxWindow * stb{ nullptr }; const wxString icon; const wxString title; bool m_labels_hidden{false}; @@ -250,6 +250,10 @@ protected: virtual void back_to_initial_value(const std::string& opt_key) {} virtual void back_to_sys_value(const std::string& opt_key) {} + // Preset::Type of a settings group; -1 for groups not tied to a preset. Used by append_line to + // register each option's wiki path with the searcher. Overridden by ConfigOptionsGroup. + virtual int config_type() const { return -1; } + public: static wxString get_url(const std::string& path_end); static bool launch_browser(const std::string& path_end); @@ -273,7 +277,7 @@ public: OptionsGroup(parent, wxEmptyString, wxEmptyString, true, nullptr) {} const wxString& config_category() const throw() { return m_config_category; } - int config_type() const throw() { return m_config_type; } + int config_type() const throw() override { return m_config_type; } const t_opt_map& opt_map() const throw() { return m_opt_map; } void set_config_category_and_type(const wxString &category, int type) { m_config_category = category; m_config_type = type; } diff --git a/src/slic3r/GUI/ParamsPanel.cpp b/src/slic3r/GUI/ParamsPanel.cpp index a0834666ad..9e16fcf8df 100644 --- a/src/slic3r/GUI/ParamsPanel.cpp +++ b/src/slic3r/GUI/ParamsPanel.cpp @@ -290,7 +290,7 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c m_compare_btn = new ScalableButton(m_top_panel, wxID_ANY, "compare", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true); m_compare_btn->SetToolTip(_L("Compare presets")); - m_compare_btn->Bind(wxEVT_BUTTON, ([](wxCommandEvent e) { wxGetApp().mainframe->diff_dialog.show(); })); + m_compare_btn->Bind(wxEVT_BUTTON, ([](wxCommandEvent e) { DiffPresetDialog::ensure()->show(); })); m_setting_btn = new ScalableButton(m_top_panel, wxID_ANY, "table", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true); m_setting_btn->SetToolTip(_L("View all object's settings")); @@ -324,7 +324,9 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c wxID_ANY, wxDefaultPosition, wxDefaultSize, - wxVSCROLL) // hide hori-bar will cause hidden field mis-position + wxVSCROLL // hide hori-bar will cause hidden field mis-position + | wxTAB_TRAVERSAL // Allows for traversal via tab key + ) { // ShowScrollBar(GetHandle(), SB_BOTH, FALSE); Bind(wxEVT_SCROLL_CHANGED, [this](auto &e) { @@ -389,7 +391,7 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c m_page_sizer = new wxBoxSizer(wxVERTICAL); m_page_view->SetSizer(m_page_sizer); - m_page_view->SetScrollbars(1, 20, 1, 2); + m_page_view->SetScrollbars(1, FromDIP(20), 1, 2); //m_page_view->SetScrollRate( 5, 5 ); if (m_mode_region) @@ -548,18 +550,36 @@ void ParamsPanel::clear_page() void ParamsPanel::OnActivate() { if (m_current_tab == NULL) - { - //the first time - BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": first time opened, set current tab to print"); - // BBS: open/close tab - //m_current_tab = m_tab_print; - set_active_tab(m_tab_print ? m_tab_print : m_tab_filament); - } + select_default_tab(); Tab* cur_tab = dynamic_cast<Tab *> (m_current_tab); if (cur_tab) cur_tab->OnActivate(); } +void ParamsPanel::select_default_tab() +{ + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": first time opened, set current tab to print"); + // BBS: open/close tab + //m_current_tab = m_tab_print; + set_active_tab(m_tab_print ? m_tab_print : m_tab_filament); +} + +bool ParamsPanel::SettingsPagePrebuild::built() const +{ + Tab* tab = dynamic_cast<Tab*>(m_panel.m_current_tab); + return tab != nullptr && !tab->page_build_pending(); +} + +bool ParamsPanel::SettingsPagePrebuild::build_step() +{ + if (m_panel.m_current_tab == nullptr) { + m_panel.select_default_tab(); + return !built(); + } + Tab* tab = dynamic_cast<Tab*>(m_panel.m_current_tab); + return tab != nullptr && tab->page_build_step(); +} + void ParamsPanel::OnToggled(wxCommandEvent& event) { if (m_mode_region && m_mode_region->GetId() == event.GetId()) { diff --git a/src/slic3r/GUI/ParamsPanel.hpp b/src/slic3r/GUI/ParamsPanel.hpp index 0726db91d3..f4e151456d 100644 --- a/src/slic3r/GUI/ParamsPanel.hpp +++ b/src/slic3r/GUI/ParamsPanel.hpp @@ -30,6 +30,7 @@ #include "wxExtensions.hpp" #include "GUI_Utils.hpp" #include "Widgets/Button.hpp" +#include "Lazy.hpp" class ModeSwitchButton; class SwitchButton; @@ -66,7 +67,6 @@ class ParamsPanel : public wxPanel { #if __WXOSX__ wxWindow* m_tmp_panel; - int m_size_move = -1; #endif // __WXOSX__ private: @@ -122,6 +122,22 @@ class ParamsPanel : public wxPanel wxPanel* m_current_tab { nullptr }; + // Builds the selected page's option groups at idle and then shows them for the mode; + // while no tab is selected yet, its first unit selects the default one. + class SettingsPagePrebuild : public LazyBase + { + public: + explicit SettingsPagePrebuild(ParamsPanel& panel) : m_panel(panel) {} + const std::string& name() const override { return m_name; } + bool built() const override; + bool build_step() override; + int prebuild_order() const override { return 0; } + + private: + ParamsPanel& m_panel; + std::string m_name{ "settings_page" }; + } m_settings_page_prebuild{ *this }; + bool m_has_object_config { false }; struct Highlighter @@ -150,6 +166,10 @@ class ParamsPanel : public wxPanel //clear the right page void clear_page(); void OnActivate(); + // The print tab, or the filament tab without one. + void select_default_tab(); + // The settings page's prebuild task. + LazyBase& settings_page_prebuild() { return m_settings_page_prebuild; } void set_active_tab(wxPanel*tab); bool is_active_and_shown_tab(wxPanel*tab); void update_mode(); diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 849aa4e31a..8e2d6ba37b 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1,5 +1,6 @@ #include <cstddef> #include <algorithm> +#include <limits> #include <numeric> #include <vector> #include <string> @@ -16,16 +17,19 @@ #include <boost/log/trivial.hpp> #include <boost/nowide/convert.hpp> #include <boost/nowide/cstdio.hpp> +#include <boost/nowide/fstream.hpp> #include <boost/algorithm/string/predicate.hpp> #include "libslic3r/libslic3r.h" #include "libslic3r/Polygon.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/BoundingBox.hpp" #include "libslic3r/Geometry.hpp" #include "libslic3r/Tesselate.hpp" #include "libslic3r/GCode/ThumbnailData.hpp" #include "libslic3r/Utils.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include "I18N.hpp" #include "GUI_App.hpp" @@ -795,67 +799,8 @@ void PartPlate::render_logo(bool bottom, bool render_cali) { if (!m_partplate_list->render_bedtype_logo) { // render third-party printer texture logo - if (m_partplate_list->m_logo_texture_filename.empty()) { - m_partplate_list->m_logo_texture.reset(); + if (!m_partplate_list->load_logo_texture()) return; - } - - //GLTexture* temp_texture = const_cast<GLTexture*>(&m_temp_texture); - - if (m_partplate_list->m_logo_texture.get_id() == 0 || m_partplate_list->m_logo_texture.get_source() != m_partplate_list->m_logo_texture_filename) { - m_partplate_list->m_logo_texture.reset(); - - if (boost::algorithm::iends_with(m_partplate_list->m_logo_texture_filename, ".svg")) { - /*// use higher resolution images if graphic card and opengl version allow - GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(); - if (temp_texture->get_id() == 0 || temp_texture->get_source() != m_texture_filename) { - // generate a temporary lower resolution texture to show while no main texture levels have been compressed - if (!temp_texture->load_from_svg_file(m_texture_filename, false, false, false, max_tex_size / 8)) { - render_default(bottom, false); - return; - } - canvas.request_extra_frame(); - }*/ - - // starts generating the main texture, compression will run asynchronously - GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(); - GLint logo_tex_size = (max_tex_size < 2048) ? max_tex_size : 2048; - if (!m_partplate_list->m_logo_texture.load_from_svg_file(m_partplate_list->m_logo_texture_filename, true, true, true, logo_tex_size)) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % m_partplate_list->m_logo_texture_filename; - return; - } - } - else if (boost::algorithm::iends_with(m_partplate_list->m_logo_texture_filename, ".png")) { - // generate a temporary lower resolution texture to show while no main texture levels have been compressed - /* if (temp_texture->get_id() == 0 || temp_texture->get_source() != m_logo_texture_filename) { - if (!temp_texture->load_from_file(m_logo_texture_filename, false, GLTexture::None, false)) { - render_default(bottom, false); - return; - } - canvas.request_extra_frame(); - }*/ - - // starts generating the main texture, compression will run asynchronously - if (!m_partplate_list->m_logo_texture.load_from_file(m_partplate_list->m_logo_texture_filename, true, GLTexture::MultiThreaded, true)) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % m_partplate_list->m_logo_texture_filename; - return; - } - } - else { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": can not load logo texture from %1%, unsupported format") % m_partplate_list->m_logo_texture_filename; - return; - } - } - else if (m_partplate_list->m_logo_texture.unsent_compressed_data_available()) { - // sends to gpu the already available compressed levels of the main texture - m_partplate_list->m_logo_texture.send_compressed_data_to_gpu(); - - // the temporary texture is not needed anymore, reset it - //if (temp_texture->get_id() != 0) - // temp_texture->reset(); - - //canvas.request_extra_frame(); - } if (m_logo_triangles.is_initialized()) render_logo_texture(m_partplate_list->m_logo_texture, m_logo_triangles, bottom); @@ -1050,7 +995,13 @@ void PartPlate::render_grid(bool bottom) { void PartPlate::render_height_limit(PartPlate::HeightLimitMode mode) { - if (m_print && m_print->config().print_sequence == PrintSequence::ByObject && mode != HEIGHT_LIMIT_NONE) + // Orca: a prime tower compacted by "No sparse layers" drags the nozzle back down to the plate on + // every toolchange, so the rod and the lid limit how tall a neighbouring object may be exactly as + // they do in sequential printing. The reference lines are just as useful there. + const bool relevant_for_print_mode = m_print && (m_print->config().print_sequence == PrintSequence::ByObject || + (m_print->config().print_sequence == PrintSequence::ByLayer && + wipe_tower_sparse_layers_skipped(m_print->config()) && m_print->has_wipe_tower())); + if (relevant_for_print_mode && mode != HEIGHT_LIMIT_NONE) { // draw lower limit // ORCA: OpenGL Core Profile @@ -1106,19 +1057,9 @@ void PartPlate::render_plate_name_texture() glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); } -void PartPlate::show_tooltip(const std::string tooltip) +void PartPlate::set_hover_tooltip(const std::string& tooltip) { - const auto scale = m_plater->get_current_canvas3D()->get_scale(); - ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, {6 * scale, 3 * scale}); - ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, {3 * scale}); - ImGui::PushStyleColor(ImGuiCol_PopupBg, ImGuiWrapper::COL_WINDOW_BACKGROUND); - ImGui::PushStyleColor(ImGuiCol_Border, {0, 0, 0, 0}); - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.00f, 1.00f, 1.00f, 1.00f)); - ImGui::BeginTooltip(); - ImGui::TextUnformatted(tooltip.c_str()); - ImGui::EndTooltip(); - ImGui::PopStyleColor(3); - ImGui::PopStyleVar(2); + m_partplate_list->m_hover_tooltip = tooltip; } void PartPlate::render_icons(bool bottom, bool only_name, int hover_id) @@ -1143,21 +1084,21 @@ void PartPlate::render_icons(bool bottom, bool only_name, int hover_id) if (!only_name) { if (hover_id == 1) { render_icon_texture(m_del_icon.model, m_partplate_list->m_del_hovered_texture); - show_tooltip(_u8L("Remove current plate (if not last one)")); + set_hover_tooltip(_u8L("Remove current plate (if not last one)")); } else render_icon_texture(m_del_icon.model, m_partplate_list->m_del_texture); if (hover_id == 2) { render_icon_texture(m_orient_icon.model, m_partplate_list->m_orient_hovered_texture); - show_tooltip(_u8L("Auto orient objects on current plate")); + set_hover_tooltip(_u8L("Auto orient objects on current plate")); } else render_icon_texture(m_orient_icon.model, m_partplate_list->m_orient_texture); if (hover_id == 3) { render_icon_texture(m_arrange_icon.model, m_partplate_list->m_arrange_hovered_texture); - show_tooltip(_u8L("Arrange objects on current plate")); + set_hover_tooltip(_u8L("Arrange objects on current plate")); } else render_icon_texture(m_arrange_icon.model, m_partplate_list->m_arrange_texture); @@ -1166,12 +1107,12 @@ void PartPlate::render_icons(bool bottom, bool only_name, int hover_id) if (this->is_locked()) { render_icon_texture(m_lock_icon.model, m_partplate_list->m_locked_hovered_texture); - show_tooltip(_u8L("Unlock current plate")); + set_hover_tooltip(_u8L("Unlock current plate")); } else { render_icon_texture(m_lock_icon.model, m_partplate_list->m_lockopen_hovered_texture); - show_tooltip(_u8L("Lock current plate")); + set_hover_tooltip(_u8L("Lock current plate")); } } else { if (this->is_locked()) @@ -1185,21 +1126,21 @@ void PartPlate::render_icons(bool bottom, bool only_name, int hover_id) if (dual_bbl) { if (hover_id == PLATE_FILAMENT_MAP_ID){ render_icon_texture(m_plate_filament_map_icon.model, m_partplate_list->m_plate_set_filament_map_hovered_texture); - show_tooltip(_u8L("Filament grouping")); + set_hover_tooltip(_u8L("Filament grouping")); } else render_icon_texture(m_plate_filament_map_icon.model, m_partplate_list->m_plate_set_filament_map_texture); } if (hover_id == 6) { render_icon_texture(m_plate_name_edit_icon.model, m_partplate_list->m_plate_name_edit_hovered_texture); - show_tooltip(_u8L("Edit current plate name")); + set_hover_tooltip(_u8L("Edit current plate name")); } else render_icon_texture(m_plate_name_edit_icon.model, m_partplate_list->m_plate_name_edit_texture); if (hover_id == 7) { render_icon_texture(m_move_front_icon.model, m_partplate_list->m_move_front_hovered_texture); - show_tooltip(_u8L("Move plate to the front")); + set_hover_tooltip(_u8L("Move plate to the front")); } else render_icon_texture(m_move_front_icon.model, m_partplate_list->m_move_front_texture); @@ -1212,7 +1153,7 @@ void PartPlate::render_icons(bool bottom, bool only_name, int hover_id) else render_icon_texture(m_plate_settings_icon.model, m_partplate_list->m_plate_settings_changed_hovered_texture); - show_tooltip(_u8L("Customize current plate")); + set_hover_tooltip(_u8L("Customize current plate")); } else { if (!has_plate_settings) render_icon_texture(m_plate_settings_icon.model, m_partplate_list->m_plate_settings_texture); @@ -1531,8 +1472,23 @@ std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode) const if (check_objects_empty_and_gcode3mf(plate_extruders)) { return plate_extruders; } - // if 3mf file - const DynamicPrintConfig& glb_config = wxGetApp().preset_bundle->prints.get_edited_preset().config; + return get_extruders(conside_custom_gcode, wxGetApp().preset_bundle->prints.get_edited_preset().config, wxGetApp().preset_bundle->project_config); +} + +// The plate's filaments, with the global keys read from the given configs rather than the +// application's presets: the wipe tower estimate is also called under the CLI, which has no +// application object. get_extruders(bool) passes the edited presets; a full config serves both. +std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode, const DynamicPrintConfig& glb_config, const DynamicPrintConfig& project_config) const +{ + std::vector<int> plate_extruders; + // A plate from a sliced .gcode.3mf holds no objects, so report the filaments the G-code + // used. check_objects_empty_and_gcode3mf does this for get_extruders(bool), but reaches + // the plater, which the CLI has none of; slice_filaments_info is only filled for such a plate. + if (m_model->objects.empty()) { + for (const FilamentInfo &info : slice_filaments_info) + plate_extruders.push_back(info.id + 1); + return plate_extruders; + } int glb_support_intf_extr = glb_config.opt_int("support_interface_filament"); int glb_support_extr = glb_config.opt_int("support_filament"); int glb_outer_wall_extr = glb_config.opt_int("outer_wall_filament_id"); @@ -1549,7 +1505,9 @@ std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode) const glb_support |= glb_config.opt_int("raft_layers") > 0; for (int obj_idx = 0; obj_idx < m_model->objects.size(); obj_idx++) { - if (!contain_instance_totally(obj_idx, 0)) + // Any instance on the plate counts, as PrintApply does: after an arrange, instance 0 + // can sit on a different plate. + if (!contain_any_instance_totally(obj_idx)) continue; ModelObject* mo = m_model->objects[obj_idx]; @@ -1662,7 +1620,7 @@ std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode) const if (conside_custom_gcode) { //BBS int nums_extruders = 0; - if (const ConfigOptionStrings *color_option = dynamic_cast<const ConfigOptionStrings *>(wxGetApp().preset_bundle->project_config.option("filament_colour"))) { + if (const ConfigOptionStrings *color_option = dynamic_cast<const ConfigOptionStrings *>(project_config.option("filament_colour"))) { nums_extruders = color_option->values.size(); if (m_model->plates_custom_gcodes.find(m_plate_index) != m_model->plates_custom_gcodes.end()) { for (auto item : m_model->plates_custom_gcodes.at(m_plate_index).gcodes) { @@ -1681,9 +1639,8 @@ std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode) const // is never loaded into a tray, so callers (AMS mapping, filament checks) must see the // physical filaments it resolves to instead. { - auto& project_config = wxGetApp().preset_bundle->project_config; - auto* is_mixed_opt = project_config.option<ConfigOptionBools>("filament_is_mixed"); - auto* comp_strs_opt = project_config.option<ConfigOptionStrings>("filament_mixed_components"); + const auto* is_mixed_opt = project_config.option<ConfigOptionBools>("filament_is_mixed"); + const auto* comp_strs_opt = project_config.option<ConfigOptionStrings>("filament_mixed_components"); if (is_mixed_opt && comp_strs_opt && has_any_mixed_filament(is_mixed_opt->values)) { std::vector<unsigned int> ext_0based; for (int e : plate_extruders) @@ -1698,7 +1655,7 @@ std::vector<int> PartPlate::get_extruders(bool conside_custom_gcode) const return plate_extruders; } -std::vector<int> PartPlate::get_extruders_under_cli(bool conside_custom_gcode, DynamicPrintConfig& full_config) const +std::vector<int> PartPlate::get_extruders_under_cli(bool conside_custom_gcode, DynamicPrintConfig& full_config, bool expand_mixed_slots) const { std::vector<int> plate_extruders; @@ -1859,7 +1816,7 @@ std::vector<int> PartPlate::get_extruders_under_cli(bool conside_custom_gcode, D // Expand mixed filament slots to their physical components. A mixed slot is virtual and // is never loaded into a tray, so callers (AMS mapping, filament checks) must see the // physical filaments it resolves to instead. - { + if (expand_mixed_slots) { auto* is_mixed_opt = full_config.option<ConfigOptionBools>("filament_is_mixed"); auto* comp_strs_opt = full_config.option<ConfigOptionStrings>("filament_mixed_components"); if (is_mixed_opt && comp_strs_opt && has_any_mixed_filament(is_mixed_opt->values)) { @@ -1899,7 +1856,7 @@ std::vector<int> PartPlate::get_extruders_without_support(bool conside_custom_gc const DynamicPrintConfig& glb_config = wxGetApp().preset_bundle->prints.get_edited_preset().config; for (int obj_idx = 0; obj_idx < m_model->objects.size(); obj_idx++) { - if (!contain_instance_totally(obj_idx, 0)) + if (!contain_any_instance_totally(obj_idx)) continue; ModelObject* mo = m_model->objects[obj_idx]; @@ -2070,7 +2027,7 @@ bool PartPlate::check_single_extruder_mixed_filament_risk(const DynamicPrintConf "which may significantly increase waste and the risk of nozzle / waste-chute clogging."); for (int obj_idx = 0; obj_idx < (int)m_model->objects.size(); ++obj_idx) { - if (!contain_instance_totally(obj_idx, 0)) + if (!contain_any_instance_totally(obj_idx)) continue; ModelObject *mo = m_model->objects[obj_idx]; int obj_ext = mo->config.has("extruder") ? mo->config.extruder() : 1; @@ -2289,7 +2246,7 @@ bool PartPlate::check_compatible_of_nozzle_and_filament(const DynamicPrintConfig return wipe_tower_size; for (int obj_idx = 0; obj_idx < m_model->objects.size(); obj_idx++) { - if (!use_global_objects && !contain_instance_totally(obj_idx, 0)) + if (!use_global_objects && !contain_any_instance_totally(obj_idx)) continue; BoundingBoxf3 bbox = m_model->objects[obj_idx]->bounding_box(); @@ -2311,113 +2268,97 @@ bool PartPlate::check_compatible_of_nozzle_and_filament(const DynamicPrintConfig return wipe_tower_size; }*/ -Vec3d PartPlate::estimate_wipe_tower_size(const DynamicPrintConfig & config, const double w, const double wipe_volume, int extruder_count, int plate_extruder_size, bool use_global_objects, bool enable_wrapping_detection) const +WipeTowerFootprint PartPlate::estimate_wipe_tower_footprint(const DynamicPrintConfig &config, int plate_extruder_size, bool use_global_objects) const { - Vec3d wipe_tower_size; - double layer_height = 0.08f; // hard code layer height - double max_height = 0.f; - wipe_tower_size.setZero(); + // The CLI calls this too, so the plate's filaments are derived from the passed config: + // get_extruders(bool) reads the same keys off wxGetApp()'s presets, which the CLI has none of. + // An explicit count is a floor: init-time and arrange estimates size an empty plate for that + // many generic filaments, the lowest ids not already on the plate. + std::vector<int> plate_extruders = get_extruders(true, config, config); + for (int id = 1; int(plate_extruders.size()) < plate_extruder_size; ++id) + if (std::find(plate_extruders.begin(), plate_extruders.end(), id) == plate_extruders.end()) + plate_extruders.push_back(id); + // The wipe tower filament joins the tool ordering even when unused (Print::extruders), so + // validation counts it - but only where there is a tower to join, which is the + // has_wipe_tower() half of that guard. + const ConfigOption *wipe_tower_filament_opt = config.option("wipe_tower_filament"); + const ConfigOption *enable_prime_tower_opt = config.option("enable_prime_tower"); + const int wipe_tower_filament = wipe_tower_filament_opt != nullptr ? wipe_tower_filament_opt->getInt() : 0; + if (enable_prime_tower_opt != nullptr && enable_prime_tower_opt->getBool() && plate_extruders.size() > 1 && wipe_tower_filament > 0 && + std::find(plate_extruders.begin(), plate_extruders.end(), wipe_tower_filament) == plate_extruders.end()) + plate_extruders.push_back(wipe_tower_filament); + if (plate_extruders.empty()) + return WipeTowerFootprint(); - const ConfigOption* layer_height_opt = config.option("layer_height"); - if (layer_height_opt) - layer_height = layer_height_opt->getFloat(); - - // empty plate - if (plate_extruder_size == 0) - { - std::vector<int> plate_extruders = get_extruders(true); - plate_extruder_size = plate_extruders.size(); - } - if (plate_extruder_size == 0) - return wipe_tower_size; - - for (int obj_idx = 0; obj_idx < m_model->objects.size(); obj_idx++) { - if (!use_global_objects && !contain_instance_totally(obj_idx, 0)) + // Tallest object on this plate and the thinnest layer it is sliced at, resolved per object + // as PrintObject resolves them (override, else preset) and over this plate's objects only - + // seeding from the global value, or folding in an off-plate override, diverges from Print. + const ConfigOption *layer_height_opt = config.option("layer_height"); + const double global_layer_height = layer_height_opt != nullptr ? layer_height_opt->getFloat() : 0.08; + double max_height = 0.; + double layer_height = std::numeric_limits<double>::max(); + for (int obj_idx = 0; obj_idx < int(m_model->objects.size()); ++obj_idx) { + const ModelObject *object = m_model->objects[obj_idx]; + if (!use_global_objects && !contain_any_instance_totally(obj_idx)) continue; - - BoundingBoxf3 bbox = m_model->objects[obj_idx]->bounding_box_exact(); - max_height = std::max(bbox.size().z(), max_height); - } - wipe_tower_size(2) = max_height; - //const DynamicPrintConfig &dconfig = wxGetApp().preset_bundle->prints.get_edited_preset().config; - auto timelapse_type = config.option<ConfigOptionEnum<TimelapseType>>("timelapse_type"); - bool need_wipe_tower = (timelapse_type ? (timelapse_type->value == TimelapseType::tlSmooth) : false) | enable_wrapping_detection; - double extra_spacing = config.option("prime_tower_infill_gap")->getFloat() / 100.; - const ConfigOptionEnum<WipeTowerWallType>* use_rib_wall_opt = config.option<ConfigOptionEnum<WipeTowerWallType>>("wipe_tower_wall_type"); - bool use_rib_wall = use_rib_wall_opt ? use_rib_wall_opt->value == WipeTowerWallType::wtwRib: false; - double rib_width = config.option("wipe_tower_rib_width")->getFloat(); - double depth; - double filament_change_volume=0.; - { - std::vector<double> filament_change_lengths; - auto filament_change_lengths_opt = m_print->config().option<ConfigOptionFloats>("filament_change_length"); - if (filament_change_lengths_opt) filament_change_lengths = filament_change_lengths_opt->values; - double length = filament_change_lengths.empty() ? 0 : *std::max_element(filament_change_lengths.begin(), filament_change_lengths.end()); - double diameter = 1.75; - std::vector<double> diameters; - auto filament_diameter_opt = m_print->config().option<ConfigOptionFloats>("filament_diameter"); - if (filament_diameter_opt) diameters = filament_diameter_opt->values; - diameter = diameters.empty() ? diameter : *std::max_element(diameters.begin(), diameters.end()); - filament_change_volume = length * PI * diameter * diameter / 4.; - } - double volume = wipe_volume * (extruder_count == 2 ? plate_extruder_size : (plate_extruder_size - 1)); - if (extruder_count == 2) volume += filament_change_volume * (int) (plate_extruder_size / 2); - // Read from the passed plate config — m_print may not have been applied yet - // (fresh plates, CLI), in which case its PrintConfig still holds defaults. - const auto *purge_opt = config.option<ConfigOptionBool>("purge_in_prime_tower"); - const auto *semm_opt = config.option<ConfigOptionBool>("single_extruder_multi_material"); - const bool semm_flush = purge_opt && purge_opt->value && semm_opt && semm_opt->value; - if (semm_flush) volume = WipeTower2::estimate_semm_flush_volume(config, plate_extruder_size); - if (use_rib_wall) { - depth = std::sqrt(volume / layer_height * extra_spacing); - if (need_wipe_tower || plate_extruder_size > 1) { - float min_wipe_tower_depth = WipeTower::get_limit_depth_by_height(max_height); - double volume_depth = depth; - depth = std::max((double) min_wipe_tower_depth, depth); - rib_width = std::min(rib_width, depth / 2); - depth = rib_width / std::sqrt(2) + std::max(depth + m_print->config().wipe_tower_extra_rib_length.value, volume_depth); - wipe_tower_size(0) = wipe_tower_size(1) = depth; + // Per instance, to match PrintObject::size(); the union over instances differs once + // they are rotated apart. The cached convex hull has the mesh's z extent and is cheap + // enough for every scene reload. + for (int inst_idx = 0; inst_idx < int(object->instances.size()); ++inst_idx) { + if (!use_global_objects && !contain_instance_totally(obj_idx, inst_idx)) + continue; + max_height = std::max(max_height, object->instance_convex_hull_bounding_box(inst_idx, true).size().z()); } + const ConfigOption *object_layer_height = object->config.option("layer_height"); + layer_height = std::min(layer_height, object_layer_height != nullptr ? object_layer_height->getFloat() : global_layer_height); } - else { - depth = volume / (layer_height * w); - // The flush volumes already hold the spacing between wipes. - if (!semm_flush) depth *= extra_spacing; - if (need_wipe_tower || depth > EPSILON) { - float min_wipe_tower_depth = WipeTower::get_limit_depth_by_height(max_height); - depth = std::max((double)min_wipe_tower_depth, depth); - } - wipe_tower_size(0) = w; - wipe_tower_size(1) = depth; - } + if (layer_height == std::numeric_limits<double>::max()) + layer_height = global_layer_height; - return wipe_tower_size; + std::vector<unsigned int> filament_ids; + for (int id : plate_extruders) + if (id > 0) + filament_ids.push_back(static_cast<unsigned int>(id - 1)); + return Slic3r::estimate_wipe_tower_footprint(config, resolve_wipe_tower_type(config), filament_ids, layer_height, max_height); } -arrangement::ArrangePolygon PartPlate::estimate_wipe_tower_polygon(const DynamicPrintConfig& config, int plate_index, Vec3d& wt_pos, Vec3d& wt_size, int extruder_count, int plate_extruder_size, bool use_global_objects) const +arrangement::ArrangePolygon PartPlate::estimate_wipe_tower_polygon(const DynamicPrintConfig& config, int plate_index, Vec3d& wt_pos, Vec3d& wt_size, int plate_extruder_size, bool use_global_objects) const { float x = dynamic_cast<const ConfigOptionFloats*>(config.option("wipe_tower_x"))->get_at(plate_index); float y = dynamic_cast<const ConfigOptionFloats*>(config.option("wipe_tower_y"))->get_at(plate_index); - float w = dynamic_cast<const ConfigOptionFloat*>(config.option("prime_tower_width"))->value; //float a = dynamic_cast<const ConfigOptionFloat*>(config.option("wipe_tower_rotation_angle"))->value; - float v = dynamic_cast<const ConfigOptionFloat*>(config.option("prime_volume"))->value; - float tower_brim_width = dynamic_cast<const ConfigOptionFloat*>(config.option("prime_tower_brim_width"))->value; - const ConfigOptionBool * wrapping_opt = dynamic_cast<const ConfigOptionBool *>(config.option("enable_wrapping_detection")); - bool enable_wrapping = (wrapping_opt != nullptr) && wrapping_opt->value; - wt_size = estimate_wipe_tower_size(config, w, v, extruder_count, plate_extruder_size, use_global_objects, enable_wrapping); + const WipeTowerFootprint footprint = estimate_wipe_tower_footprint(config, plate_extruder_size, use_global_objects); + wt_size = Vec3d(footprint.width, footprint.depth, footprint.height); int plate_width=m_width, plate_depth=m_depth; - w = wt_size(0); // effective width; differs from prime_tower_width when the rib wall squares the tower + float w = wt_size(0); // effective width; differs from prime_tower_width when the rib wall squares the tower float depth = wt_size(1); - float margin = WIPE_TOWER_MARGIN + tower_brim_width, wp_brim_width = 0.f; - const ConfigOption* wipe_tower_brim_width_opt = config.option("prime_tower_brim_width"); - if (wipe_tower_brim_width_opt) { - wp_brim_width = wipe_tower_brim_width_opt->getFloat(); - if (wp_brim_width < 0) wp_brim_width = WipeTower::get_auto_brim_by_height((float) wt_size.z()); - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("arrange wipe_tower: wp_brim_width %1%") % wp_brim_width; - } - - x = std::clamp(x, margin, (float)plate_width - w - margin - wp_brim_width); - y = std::clamp(y, margin, (float)plate_depth - depth - margin - wp_brim_width); + // Resolved brim, not the raw option: "Auto" (-1) would yield a margin of 0 and let the + // clamp put the brim off the bed. Matches set_default_wipe_tower_pos_for_plate. + float wp_brim_width = float(footprint.brim_width); + // A Type2 stabilization cone bulges past the body box like a brim does - fold its worst-axis + // bulge into the same margin. + const BoundingBox outline = get_extents(estimate_wipe_tower_first_layer_outline(config, resolve_wipe_tower_type(config), w, depth, wt_size.z())); + wp_brim_width += float(std::max({0., unscaled(outline.max.x()) - w, unscaled(outline.max.y()) - depth, -unscaled(outline.min.x()), -unscaled(outline.min.y())})); + // A position valid by WIPE_TOWER_MARGIN is the user's choice and stays untouched; an + // invalid one is re-placed with the comfort margin (falling back to the validity bounds + // on cramped plates). std::clamp is UB if lo > hi, so keep every hi >= lo. + const float margin = WIPE_TOWER_MARGIN + wp_brim_width; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("arrange wipe_tower: wp_brim_width %1%") % wp_brim_width; + const float x_hi = std::max(margin, (float) plate_width - w - margin); + const float y_hi = std::max(margin, (float) plate_depth - depth - margin); + const float margin_c = (float) WIPE_TOWER_AUTO_MARGIN + wp_brim_width; + float x_lo_c = margin_c, x_hi_c = (float) plate_width - w - margin_c; + if (x_lo_c > x_hi_c) { x_lo_c = margin; x_hi_c = x_hi; } + float y_lo_c = margin_c, y_hi_c = (float) plate_depth - depth - margin_c; + if (y_lo_c > y_hi_c) { y_lo_c = margin; y_hi_c = y_hi; } + // Drag clamps reach this limit through the volume's bounding box (post-slice: the real + // mesh, a couple of mm inside this reserved estimate), so a drop can land slightly out + // of bounds — snap it onto the bound; only far-out positions get the comfort re-place. + const float tol = 5.f; + if (x < margin - tol || x > x_hi + tol) x = std::clamp(x, x_lo_c, x_hi_c); + else x = std::clamp(x, margin, x_hi); + if (y < margin - tol || y > y_hi + tol) y = std::clamp(y, y_lo_c, y_hi_c); + else y = std::clamp(y, margin, y_hi); wt_pos(0) = x; wt_pos(1) = y; wt_pos(2) = 0.f; @@ -2627,11 +2568,20 @@ void PartPlate::set_plate_name(const std::string& name) if (boost::equals(m_name, name)) return; + const std::string previous_name = m_name; m_name = name; if (m_print != nullptr) m_print->set_plate_name(name); invalidate_plate_name_texture(); + + if (m_plater != nullptr && !m_plater->is_loading_project()) { + LifecycleEventContext ctx; + ctx.name = name; + ctx.previous_name = previous_name; + ctx.index = m_plate_index; + fire_lifecycle_event(LifecycleEvent::PlateRenamed, ctx); + } } //get the print's object, result and index @@ -2755,6 +2705,20 @@ bool PartPlate::contain_instance_totally(int obj_id, int instance_id) const return result; } +//judge whether any of the object's instances is totally included in plate or not +bool PartPlate::contain_any_instance_totally(int obj_id) const +{ + if (obj_id < 0 || obj_id >= int(m_model->objects.size())) + return false; + + const ModelObject *object = m_model->objects[obj_id]; + for (int instance_id = 0; instance_id < int(object->instances.size()); ++instance_id) + if (contain_instance_totally(obj_id, instance_id)) + return true; + + return false; +} + //check whether instance is outside the plate or not bool PartPlate::check_outside(int obj_id, int instance_id, BoundingBoxf3* bounding_box) { @@ -3484,7 +3448,7 @@ bool PartPlate::intersects(const BoundingBoxf3& bb) const return print_volume.intersects(bb); } -void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid) +void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid, bool hide_chrome) { glsafe(::glEnable(GL_DEPTH_TEST)); @@ -3532,19 +3496,24 @@ void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projec shader->stop_using(); } - if (wxGetApp().show_plate_gridlines() && show_grid) + if (wxGetApp().show_plate_gridlines() && show_grid) { + glsafe(::glDepthMask(bottom ? GL_TRUE : GL_FALSE)); render_grid(bottom); + glsafe(::glDepthMask(GL_TRUE)); + } - if (!bottom && m_selected && !force_background_color) { + if (!hide_chrome && !bottom && m_selected && !force_background_color) { if (m_partplate_list) render_logo(bottom, m_partplate_list->render_cali_logo && render_cali); else render_logo(bottom); } - render_icons(bottom, only_body, hover_id); - if (!force_background_color) { - render_only_numbers(bottom); + if (!hide_chrome) { + render_icons(bottom, only_body, hover_id); + if (!force_background_color) { + render_only_numbers(bottom); + } } glsafe(::glDisable(GL_DEPTH_TEST)); @@ -4204,6 +4173,7 @@ Vec2d PartPlateList::compute_shape_position(int index, int cols) //generate icon textures void PartPlateList::generate_icon_textures() { + m_icon_textures_dark = m_is_dark; // use higher resolution images if graphic card and opengl version allow GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(), icon_size = max_tex_size / 8; std::string path = resources_dir() + "/images/"; @@ -4419,6 +4389,9 @@ void PartPlateList::release_icon_textures() PartPlateList::is_load_bedtype_textures = false; PartPlateList::is_load_extruder_only_area_textures = false; PartPlateList::is_load_cali_texture = false; + m_next_bedtype_texture = 0; + m_next_extruder_only_area_texture = 0; + m_next_cali_texture = 0; for (int i = 0; i < btCount; i++) { for (auto& part: bed_texture_info[i].parts) { if (part.texture) { @@ -4488,26 +4461,16 @@ void PartPlateList::set_default_wipe_tower_pos_for_plate(int plate_idx, bool ini f_volume_maps = wxGetApp().preset_bundle->get_default_nozzle_volume_types_for_filaments(filament_maps); } DynamicPrintConfig full_config = wxGetApp().preset_bundle->full_config(false, filament_maps, f_volume_maps); - float w = dynamic_cast<const ConfigOptionFloat *>(full_config.option("prime_tower_width"))->value; - float v = dynamic_cast<const ConfigOptionFloat *>(full_config.option("prime_volume"))->value; - bool enable_wrapping = false; - const ConfigOptionBool *wrapping_opt = dynamic_cast<const ConfigOptionBool *>(full_config.option("enable_wrapping_detection")); - if (wrapping_opt) enable_wrapping = wrapping_opt->value; - int nozzle_nums = wxGetApp().preset_bundle->get_printer_extruder_count(); - Vec3d wipe_tower_size = part_plate->estimate_wipe_tower_size(full_config, w, v, nozzle_nums, init_pos ? 2 : 0, false, enable_wrapping); + WipeTowerFootprint footprint = part_plate->estimate_wipe_tower_footprint(full_config, init_pos ? 2 : 0); - if (!init_pos && (is_approx(wipe_tower_size(0), 0.0) || is_approx(wipe_tower_size(1), 0.0))) { - wipe_tower_size = part_plate->estimate_wipe_tower_size(full_config, w, v, nozzle_nums, 2, false, enable_wrapping); + if (!init_pos && (is_approx(footprint.width, 0.0) || is_approx(footprint.depth, 0.0))) { + footprint = part_plate->estimate_wipe_tower_footprint(full_config, 2); } + Vec3d wipe_tower_size(footprint.width, footprint.depth, footprint.height); - // Compute brim-aware margin: brim extends outward from tower position - float brim_width = 0.f; - const ConfigOptionFloat *brim_opt = full_config.option<ConfigOptionFloat>("prime_tower_brim_width"); - if (brim_opt) { - brim_width = brim_opt->value; - if (brim_width < 0) brim_width = WipeTower::get_auto_brim_by_height((float) wipe_tower_size.z()); - } - const float margin = WIPE_TOWER_MARGIN + brim_width; + // Brim-aware margin: the brim extends outward from the tower position. + const float brim_width = float(footprint.brim_width); + const float margin = WIPE_TOWER_AUTO_MARGIN + brim_width; // clamp wipe tower position within plate boundaries { @@ -4736,9 +4699,16 @@ int PartPlateList::create_plate(bool adjust_position) if (m_plater) { // In GUI mode - wxGetApp().obj_list()->on_plate_added(plate); + wxGetApp().obj_list()->on_plate_added(plate); } + if (m_plater != nullptr && m_intialized && !m_plater->is_loading_project()) { + LifecycleEventContext ctx; + ctx.name = plate->get_plate_name(); + ctx.index = new_index; + fire_lifecycle_event(LifecycleEvent::PlateCreated, ctx); + } + BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(":created a new plate %1%") % new_index; return new_index; } @@ -4837,6 +4807,7 @@ int PartPlateList::delete_plate(int index) BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(":plate %1%, has an invalid index %2%") % index % plate->get_index(); return -1; } + const std::string plate_name = plate->get_plate_name(); if (m_plater) { // In GUI mode @@ -4919,6 +4890,13 @@ int PartPlateList::delete_plate(int index) delete plate; + if (m_plater != nullptr && m_intialized && !m_plater->is_loading_project()) { + LifecycleEventContext ctx; + ctx.name = plate_name; + ctx.index = index; + fire_lifecycle_event(LifecycleEvent::PlateDeleted, ctx); + } + // FIX: context of BackgroundSliceProcess and gcode preview need to be updated before ObjectList::reload_all_plates(). #if 0 if (m_plater != nullptr) { @@ -5027,6 +5005,7 @@ int PartPlateList::select_plate(int index) if (m_plate_list.empty() || index >= m_plate_list.size()) { return -1; } + const int previous_index = m_current_plate; // BBS: erase unnecessary snapshot if (get_curr_plate_index() != index && m_intialized) { @@ -5053,6 +5032,13 @@ int PartPlateList::select_plate(int index) //wxQueueEvent(m_plater, new SimpleEvent(EVT_GLCANVAS_PLATE_SELECT)); } + if (previous_index != index && m_intialized && m_plater != nullptr && !m_plater->is_loading_project()) { + LifecycleEventContext ctx; + ctx.name = m_plate_list[index]->get_plate_name(); + ctx.index = index; + fire_lifecycle_event(LifecycleEvent::PlateSelected, ctx); + } + return 0; } @@ -5949,7 +5935,7 @@ void PartPlateList::postprocess_arrange_polygon(arrangement::ArrangePolygon& arr /*rendering related functions*/ //render -void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid) +void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid, bool hide_chrome) { const std::lock_guard<std::mutex> local_lock(m_plates_mutex); std::vector<PartPlate*>::iterator it = m_plate_list.begin(); @@ -5961,12 +5947,7 @@ void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& pr plate_hover_action = hover_id % PartPlate::GRABBER_COUNT; } - static bool last_dark_mode_status = m_is_dark; - if (m_is_dark != last_dark_mode_status) { - last_dark_mode_status = m_is_dark; - generate_icon_textures(); - } else if(m_del_texture.get_id() == 0) - generate_icon_textures(); + load_icon_textures(); for (it = m_plate_list.begin(); it != m_plate_list.end(); it++) { int current_index = (*it)->get_index(); if (only_current && (current_index != m_current_plate)) @@ -5974,19 +5955,37 @@ void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& pr if (current_index == m_current_plate) { PartPlate::HeightLimitMode height_mode = (only_current)?PartPlate::HEIGHT_LIMIT_NONE:m_height_limit_mode; if (plate_hover_index == current_index) - (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid); + (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid, hide_chrome); else - (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid); + (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid, hide_chrome); } else { if (plate_hover_index == current_index) - (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid); + (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid, hide_chrome); else - (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid); + (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid, hide_chrome); } } } +void PartPlateList::render_hover_tooltip() const +{ + if (m_hover_tooltip.empty()) + return; + + const auto scale = m_plater->get_current_canvas3D()->get_scale(); + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, {6 * scale, 3 * scale}); + ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 3 * scale); + ImGui::PushStyleColor(ImGuiCol_PopupBg, ImGuiWrapper::COL_WINDOW_BACKGROUND); + ImGui::PushStyleColor(ImGuiCol_Border, {0, 0, 0, 0}); + ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.00f, 1.00f, 1.00f, 1.00f)); + ImGui::BeginTooltip(); + ImGui::TextUnformatted(m_hover_tooltip.c_str()); + ImGui::EndTooltip(); + ImGui::PopStyleColor(3); + ImGui::PopStyleVar(2); +} + /*int PartPlateList::select_plate_by_hover_id(int hover_id) { int index = hover_id / PartPlate::GRABBER_COUNT; @@ -6090,6 +6089,8 @@ bool PartPlateList::set_shapes(const Pointfs &shape, } is_load_bedtype_textures = false; //reload textures is_load_extruder_only_area_textures = false; // reload textures + m_next_bedtype_texture = 0; + m_next_extruder_only_area_texture = 0; calc_bounding_boxes(); update_logo_texture_filename(texture_filename); @@ -7030,53 +7031,120 @@ bool PartPlateList::init_extruder_only_area_info() return true; } -void PartPlateList::load_bedtype_textures() +static GLint logo_texture_size() { - if (PartPlateList::is_load_bedtype_textures) return; - - init_bed_type_info(); - GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(); - GLint logo_tex_size = (max_tex_size < 2048) ? max_tex_size : 2048; - for (int i = 0; i < (unsigned int)btCount; ++i) { - for (int j = 0; j < bed_texture_info[i].parts.size(); j++) { - std::string filename = resources_dir() + "/images/" + bed_texture_info[i].parts[j].filename; - if (boost::filesystem::exists(filename)) { - PartPlateList::bed_texture_info[i].parts[j].texture = new GLTexture(); - if (!PartPlateList::bed_texture_info[i].parts[j].texture->load_from_svg_file(filename, true, true, true, logo_tex_size)) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % filename; - } - } else { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % filename; - } - } - } - PartPlateList::is_load_bedtype_textures = true; + return std::min<GLint>(OpenGLManager::get_gl_info().get_max_tex_size(), 2048); } -void PartPlateList::load_extruder_only_area_textures() { - if (PartPlateList::is_load_extruder_only_area_textures) return; +// Loads the texture of the next untried part across the parts of `infos`, in order, advancing +// `next`; false once every part has been tried. +static bool load_next_part_texture(PartPlateList::BedTextureInfo* infos, size_t count, size_t& next, bool compress_and_filter) +{ + size_t k = next; + for (size_t i = 0; i < count; ++i) { + if (k >= infos[i].parts.size()) { + k -= infos[i].parts.size(); + continue; + } + ++next; + PartPlateList::BedTextureInfo::TexturePart& part = infos[i].parts[k]; + const std::string filename = resources_dir() + "/images/" + part.filename; + if (boost::filesystem::exists(filename)) { + part.texture = new GLTexture(); + if (!part.texture->load_from_svg_file(filename, true, compress_and_filter, compress_and_filter, logo_texture_size())) + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load texture from %1% failed!") % filename; + } else { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load texture from %1% failed!") % filename; + } + return true; + } + return false; +} - auto ok = init_extruder_only_area_info(); - if (!ok) { +void PartPlateList::load_bedtype_textures() +{ + while (load_next_bedtype_texture()) {} +} + +bool PartPlateList::load_next_bedtype_texture() +{ + if (PartPlateList::is_load_bedtype_textures) + return false; + if (m_next_bedtype_texture == 0) + init_bed_type_info(); + if (load_next_part_texture(bed_texture_info, btCount, m_next_bedtype_texture, true)) + return true; + PartPlateList::is_load_bedtype_textures = true; + return false; +} + +bool PartPlateList::load_logo_texture() +{ + if (m_logo_texture_filename.empty()) { + m_logo_texture.reset(); + return false; + } + + if (m_logo_texture.get_id() != 0 && m_logo_texture.get_source() == m_logo_texture_filename) { + if (m_logo_texture.unsent_compressed_data_available()) + // sends to gpu the already available compressed levels of the main texture + m_logo_texture.send_compressed_data_to_gpu(); + return true; + } + + m_logo_texture.reset(); + // starts generating the main texture, compression will run asynchronously + if (boost::algorithm::iends_with(m_logo_texture_filename, ".svg")) { + if (!m_logo_texture.load_from_svg_file(m_logo_texture_filename, true, true, true, logo_texture_size())) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % m_logo_texture_filename; + return false; + } + } + else if (boost::algorithm::iends_with(m_logo_texture_filename, ".png")) { + if (!m_logo_texture.load_from_file(m_logo_texture_filename, true, GLTexture::MultiThreaded, true)) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % m_logo_texture_filename; + return false; + } + } + else { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": can not load logo texture from %1%, unsupported format") % m_logo_texture_filename; + return false; + } + return true; +} + +void PartPlateList::load_icon_textures() +{ + if (!icon_textures_loaded()) + generate_icon_textures(); +} + +bool PartPlateList::load_next_plate_texture() +{ + if (!render_bedtype_logo) { + load_logo_texture(); + return false; + } + return load_next_bedtype_texture() || load_next_cali_texture() || load_next_extruder_only_area_texture(); +} + +void PartPlateList::load_extruder_only_area_textures() +{ + while (load_next_extruder_only_area_texture()) {} +} + +bool PartPlateList::load_next_extruder_only_area_texture() +{ + if (PartPlateList::is_load_extruder_only_area_textures) + return false; + if (m_next_extruder_only_area_texture == 0 && !init_extruder_only_area_info()) { PartPlateList::is_load_extruder_only_area_textures = true; - return; - } - GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(); - GLint logo_tex_size = (max_tex_size < 2048) ? max_tex_size : 2048; - for (int i = 0; i < (unsigned int) ExtruderOnlyAreaType::btAreaCount; ++i) { - for (int j = 0; j < extruder_only_area_info[i].parts.size(); j++) { - std::string filename = resources_dir() + "/images/" + extruder_only_area_info[i].parts[j].filename; - if (boost::filesystem::exists(filename)) { - PartPlateList::extruder_only_area_info[i].parts[j].texture = new GLTexture(); - if (!PartPlateList::extruder_only_area_info[i].parts[j].texture->load_from_svg_file(filename, true, false, false, logo_tex_size)) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % filename; - } - } else { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load logo texture from %1% failed!") % filename; - } - } + return false; } + if (load_next_part_texture(extruder_only_area_info, (size_t) ExtruderOnlyAreaType::btAreaCount, m_next_extruder_only_area_texture, false)) + return true; PartPlateList::is_load_extruder_only_area_textures = true; + return false; } void PartPlateList::init_cali_texture_info() @@ -7091,26 +7159,19 @@ void PartPlateList::init_cali_texture_info() void PartPlateList::load_cali_textures() { - if (PartPlateList::is_load_cali_texture) return; + while (load_next_cali_texture()) {} +} - init_cali_texture_info(); - GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size(); - GLint logo_tex_size = (max_tex_size < 2048) ? max_tex_size : 2048; - for (int i = 0; i < (unsigned int)btCount; ++i) { - for (int j = 0; j < cali_texture_info.parts.size(); j++) { - std::string filename = resources_dir() + "/images/" + cali_texture_info.parts[j].filename; - if (boost::filesystem::exists(filename)) { - PartPlateList::cali_texture_info.parts[j].texture = new GLTexture(); - if (!PartPlateList::cali_texture_info.parts[j].texture->load_from_svg_file(filename, true, true, true, logo_tex_size)) { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load cali texture from %1% failed!") % filename; - } - } - else { - BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": load cali texture from %1% failed!") % filename; - } - } - } +bool PartPlateList::load_next_cali_texture() +{ + if (PartPlateList::is_load_cali_texture) + return false; + if (m_next_cali_texture == 0) + init_cali_texture_info(); + if (load_next_part_texture(&cali_texture_info, 1, m_next_cali_texture, true)) + return true; PartPlateList::is_load_cali_texture = true; + return false; } void PartPlateList::on_extruder_count_changed(int extruder_count) diff --git a/src/slic3r/GUI/PartPlate.hpp b/src/slic3r/GUI/PartPlate.hpp index 8ad2f4a7d1..52a277d0e3 100644 --- a/src/slic3r/GUI/PartPlate.hpp +++ b/src/slic3r/GUI/PartPlate.hpp @@ -11,6 +11,7 @@ #include "libslic3r/GCode/GCodeProcessor.hpp" #include "libslic3r/Format/bbs_3mf.hpp" #include "libslic3r/Slicing.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" #include "libslic3r/Arrange.hpp" #include "Plater.hpp" #include "libslic3r/Model.hpp" @@ -196,7 +197,7 @@ private: // void render_left_arrow(const ColorRGBA render_color, bool use_lighting) const; // void render_right_arrow(const ColorRGBA render_color, bool use_lighting) const; void render_icon_texture(GLModel &buffer, GLTexture &texture); - void show_tooltip(const std::string tooltip); + void set_hover_tooltip(const std::string& tooltip); void render_icons(bool bottom, bool only_name = false, int hover_id = -1); void render_only_numbers(bool bottom); void render_plate_name_texture(); @@ -339,12 +340,18 @@ public: Vec3d get_origin() { return m_origin; } //Vec3d calculate_wipe_tower_size(const DynamicPrintConfig &config, const double w, const double wipe_volume, int plate_extruder_size = 0, bool use_global_objects = false) const; - Vec3d estimate_wipe_tower_size(const DynamicPrintConfig & config, const double w, const double wipe_volume, int extruder_count = 1, int plate_extruder_size = 0, bool use_global_objects = false, bool enable_wrapping_detection = false) const; - arrangement::ArrangePolygon estimate_wipe_tower_polygon(const DynamicPrintConfig & config, int plate_index, Vec3d& wt_pos, Vec3d& wt_size, int extruder_count = 1, int plate_extruder_size = 0, bool use_global_objects = false) const; + // plate_extruder_size: a floor on the filaments purged on the plate; its own are always + // counted, so 0 sizes for exactly those. + // use_global_objects skips the containment test, which the CLI needs before objects are + // assigned to plates - the layer height is then the project's thinnest, which over-reserves. + WipeTowerFootprint estimate_wipe_tower_footprint(const DynamicPrintConfig & config, int plate_extruder_size = 0, bool use_global_objects = false) const; + arrangement::ArrangePolygon estimate_wipe_tower_polygon(const DynamicPrintConfig & config, int plate_index, Vec3d& wt_pos, Vec3d& wt_size, int plate_extruder_size = 0, bool use_global_objects = false) const; bool check_objects_empty_and_gcode3mf(std::vector<int> &result) const; // get used filaments from config, 1 based idx std::vector<int> get_extruders(bool conside_custom_gcode = false) const; - std::vector<int> get_extruders_under_cli(bool conside_custom_gcode, DynamicPrintConfig& full_config) const; + std::vector<int> get_extruders(bool conside_custom_gcode, const DynamicPrintConfig& glb_config, const DynamicPrintConfig& project_config) const; + // expand_mixed_slots = false keeps mixed filament slots as slots instead of their components. + std::vector<int> get_extruders_under_cli(bool conside_custom_gcode, DynamicPrintConfig& full_config, bool expand_mixed_slots = true) const; std::vector<int> get_extruders_without_support(bool conside_custom_gcode = false) const; // get used filaments from gcode result, 1 based idx std::vector<int> get_used_filaments(); @@ -366,6 +373,8 @@ public: bool contain_instance_totally(ModelObject* object, int instance_id) const; //judge whether instance is totally included in plate or not bool contain_instance_totally(int obj_id, int instance_id) const; + //judge whether any of the object's instances is totally included in plate or not + bool contain_any_instance_totally(int obj_id) const; //judge whether the plate's origin is at the left of instance or not bool is_left_top_of(int obj_id, int instance_id); @@ -419,7 +428,7 @@ public: bool contains(const BoundingBoxf3& bb) const; bool intersects(const BoundingBoxf3& bb) const; - void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true); + void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false); void set_selected(); void set_unselected(); @@ -631,8 +640,11 @@ class PartPlateList : public ObjectBase bool render_bedtype_logo = true; bool render_plate_settings = true; bool render_cali_logo = true; + // Tooltip of the plate icon the last scene pass drew hovered; the canvas overlay shows it. + std::string m_hover_tooltip; bool m_is_dark = false; + bool m_icon_textures_dark = false; int m_filament_count = 1; @@ -848,9 +860,11 @@ public: /*rendering related functions*/ void on_change_color_mode(bool is_dark) { m_is_dark = is_dark; } - void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true); + void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false); void set_render_option(bool bedtype_texture, bool plate_settings); void set_render_cali(bool value = true) { render_cali_logo = value; } + void render_hover_tooltip() const; + void clear_hover_tooltip() { m_hover_tooltip.clear(); } void register_raycasters_for_picking(GLCanvas3D& canvas) { for (auto plate : m_plate_list) @@ -930,12 +944,25 @@ public: bool calc_extruder_only_area(Rect &left_only_rect, Rect &right_only_rect); void init_bed_type_info(); bool init_extruder_only_area_info(); + // Each load_*_textures() loads whatever of its set is not loaded yet; each load_next_*() + // loads one texture and returns false once none remain. void load_bedtype_textures(); + bool load_next_bedtype_texture(); void load_extruder_only_area_textures(); + bool load_next_extruder_only_area_texture(); + // Starts loading the printer's logo texture, or sends the levels compressed since; false when + // there is no logo to draw. + bool load_logo_texture(); void show_cali_texture(bool show = true); void init_cali_texture_info(); void load_cali_textures(); + bool load_next_cali_texture(); + bool icon_textures_loaded() const { return m_del_texture.get_id() != 0 && m_icon_textures_dark == m_is_dark; } + void load_icon_textures(); + // Loads the next bed-type, calibration or extruder-area texture, or the logo, which rendering + // otherwise loads on first use; false once none remain. + bool load_next_plate_texture(); void on_extruder_count_changed(int extruder_count); @@ -947,6 +974,13 @@ public: BedTextureInfo bed_texture_info[btCount]; BedTextureInfo cali_texture_info; BedTextureInfo extruder_only_area_info[(unsigned char) Slic3r::ExtruderOnlyAreaType::btAreaCount]; + +private: + // The next part to load in each texture set, counted across the set's parts in order; reset + // with the set's is_load_* flag. + size_t m_next_bedtype_texture{ 0 }; + size_t m_next_cali_texture{ 0 }; + size_t m_next_extruder_only_area_texture{ 0 }; }; } // namespace GUI diff --git a/src/slic3r/GUI/PartSkipDialog.cpp b/src/slic3r/GUI/PartSkipDialog.cpp index b9dd7d5007..860779ead4 100644 --- a/src/slic3r/GUI/PartSkipDialog.cpp +++ b/src/slic3r/GUI/PartSkipDialog.cpp @@ -1,5 +1,6 @@ #include "GUI_Utils.hpp" #include "GUI_App.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include <wx/panel.h> #include <wx/bitmap.h> #include <wx/image.h> @@ -147,7 +148,7 @@ PartSkipDialog::PartSkipDialog(wxWindow *parent) : DPIDialog(parent, wxID_ANY, _ m_line->SetBackgroundColour(wxColor(238, 238, 238)); m_list_view = new wxScrolledWindow(m_book_third_panel, wxID_ANY, wxDefaultPosition, wxSize(267, -1), wxHSCROLL | wxVSCROLL); - m_list_view->SetScrollRate(5, 5); + m_list_view->SetScrollRate(5, FromDIP(30)); m_list_view->SetMinSize(wxSize(FromDIP(267), FromDIP(378))); m_list_view->SetMaxSize(wxSize(FromDIP(267), FromDIP(378))); m_list_view->SetBackgroundColour(*wxWHITE); diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 989cf204e1..1facddbff1 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -9,6 +9,7 @@ #include <boost/regex.hpp> #include <wx/sizer.h> +#include <wx/tooltip.h> #include <wx/stattext.h> #include <wx/textctrl.h> #include <wx/button.h> @@ -264,6 +265,43 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr return sizer; }; + + auto ultimaker_generate_creds = [=](wxWindow* parent) { + auto sizer = create_sizer_with_btn(parent, &m_printhost_generate_creds_btn, "ultimaker_generate_creds", _L("Generate API Key")); + + m_printhost_generate_creds_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& e) { + std::unique_ptr<PrintHost> host(PrintHost::get_print_host(m_config)); + if (!host) { + const wxString text = _L("Could not get a valid Printer Host reference"); + show_error(this, text); + return; + } + + wxString msg = "generate_auth_creds"; + bool result; + { + // Show a wait cursor during the connection test, as it is blocking UI. + wxBusyCursor wait; + // Send request to printer for api key and such + result = host->test(msg); // using test with special input because I don't want to create the generate_auth_creds func for every printer + + // Prompt user to approve access on the machine. + show_info(this, "API Key created. Go to the physical printer and hit \"authorize\" on the screen, then run \"Test\" again.\n"+msg, "API Key created."); + + + } + if (result) + show_info(this, host->get_test_ok_msg(), _L("Success!")); + else + show_error(this, host->get_test_failed_msg(msg)); + + update(); + }); + + return sizer; + }; + + auto print_host_logout = [&](wxWindow* parent) { auto sizer = create_sizer_with_btn(parent, &m_printhost_logout_btn, "", _L("Log Out")); @@ -302,6 +340,7 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr Line host_line = m_optgroup->create_single_option_line(option); host_line.append_widget(printhost_browse); host_line.append_widget(print_host_test); + host_line.append_widget(ultimaker_generate_creds); host_line.append_widget(print_host_logout); m_optgroup->append_line(host_line); @@ -605,8 +644,7 @@ void PhysicalPrinterDialog::update(bool printer_change) m_optgroup->hide_field("bbl_use_print_host_webui"); m_optgroup->enable_field("printhost_cafile"); m_optgroup->enable_field("printhost_ssl_ignore_revoke"); - if (m_printhost_cafile_browse_btn) - m_printhost_cafile_browse_btn->Enable(); + if (m_printhost_cafile_browse_btn) { m_printhost_cafile_browse_btn->Enable(); } // hide pre-configured address, in case user switched to a different host type if (Field* printhost_field = m_optgroup->get_field("print_host"); printhost_field) { @@ -703,7 +741,24 @@ void PhysicalPrinterDialog::update(bool printer_change) m_optgroup->hide_field("printhost_authorization_type"); } else { m_optgroup->hide_field("flashforge_serial_number"); - } + } + + if (opt->value == htUltiMaker) { + m_optgroup->hide_field("printhost_apikey"); + m_optgroup->hide_field("printhost_authorization_type"); + m_optgroup->hide_field("bbl_use_print_host_webui"); + m_optgroup->hide_field("printhost_cafile"); + m_optgroup->show_field("printhost_user"); + m_optgroup->show_field("printhost_password"); + m_optgroup->enable_field("print_host"); + m_optgroup->show_field("print_host_webui"); + if (m_printhost_cafile_browse_btn) { + m_printhost_cafile_browse_btn->Disable(); + } + if (m_printhost_generate_creds_btn) { + m_printhost_generate_creds_btn->Enable(); + } + } } else { m_optgroup->set_value("host_type", int(PrintHostType::htOctoPrint), false); @@ -719,6 +774,10 @@ void PhysicalPrinterDialog::update(bool printer_change) m_optgroup->show_field(opt_key, auth_type == AuthorizationType::atUserPassword); } + // The "Generate API Key" button is only meaningful for UltiMaker printers. + if (m_printhost_generate_creds_btn) + m_printhost_generate_creds_btn->Show(tech == ptFFF && m_config->opt_enum<PrintHostType>("host_type") == htUltiMaker); + m_optgroup->show_field("printhost_port", supports_multiple_printers); m_printhost_port_browse_btn->Show(supports_multiple_printers); @@ -786,6 +845,7 @@ void PhysicalPrinterDialog::on_dpi_changed(const wxRect& suggested_rect) m_printhost_browse_btn->Rescale(); m_printhost_test_btn->Rescale(); + m_printhost_generate_creds_btn->Rescale(); m_printhost_logout_btn->Rescale(); if (m_printhost_cafile_browse_btn) m_printhost_cafile_browse_btn->Rescale(); diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.hpp b/src/slic3r/GUI/PhysicalPrinterDialog.hpp index c32da334be..276e62416e 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.hpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.hpp @@ -31,6 +31,7 @@ class PhysicalPrinterDialog : public DPIDialog Button* m_printhost_browse_btn {nullptr}; Button* m_printhost_test_btn {nullptr}; + Button* m_printhost_generate_creds_btn {nullptr}; Button* m_printhost_logout_btn {nullptr}; Button* m_printhost_cafile_browse_btn {nullptr}; Button* m_printhost_port_browse_btn {nullptr}; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 2d8816960b..bdb8340edc 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1,12 +1,10 @@ #include "Plater.hpp" #include "../Utils/NetworkAgent.hpp" -#include "../Utils/NetworkAgentFactory.hpp" #include "libslic3r/Config.hpp" #include "libslic3r_version.h" #include <cstddef> #include <algorithm> -#include <chrono> #include <numeric> #include <limits> #include <optional> @@ -16,8 +14,6 @@ #include <vector> #include <string> #include <regex> -#include <future> -#include <thread> #include <atomic> #include <mutex> #include <boost/algorithm/string.hpp> @@ -61,6 +57,7 @@ #include <wx/aui/aui.h> #include "libslic3r/libslic3r.h" +#include "libslic3r/LifecycleEvents.hpp" #include "libslic3r/Format/STL.hpp" #include "libslic3r/Format/DRC.hpp" #include "libslic3r/Format/STEP.hpp" @@ -69,7 +66,6 @@ #include "libslic3r/Format/bbs_3mf.hpp" #include "libslic3r/GCode/ThumbnailData.hpp" #include "libslic3r/Model.hpp" -#include "libslic3r/SLA/Hollowing.hpp" #include "libslic3r/SLA/SupportPoint.hpp" #include "libslic3r/SLA/ReprojectPointsOnMesh.hpp" #include "libslic3r/Polygon.hpp" @@ -78,25 +74,29 @@ #include "libslic3r/SLAPrint.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/PresetBundle.hpp" +#include "libslic3r/PublishSettings.hpp" #include "slic3r/Utils/CrealityPrint.hpp" #include "libslic3r/ClipperUtils.hpp" -#include "libslic3r/ObjColorUtils.hpp" // For stl export #include "libslic3r/CSGMesh/ModelToCSGMesh.hpp" #include "libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp" #include "GUI.hpp" #include "GUI_App.hpp" -#include "GuiColor.hpp" +#include "Shortcuts.hpp" #include "GUI_ObjectList.hpp" #ifdef __WXGTK__ #include "LinuxDisplayBackend.hpp" #endif +#include "AuiPaneLayout.hpp" #include "GUI_Utils.hpp" #include "GUI_Factories.hpp" #include "wxExtensions.hpp" #include "../Utils/PrintHost.hpp" #include "MainFrame.hpp" +#ifdef SLIC3R_CAD +#include "slic3r/GUI/CAD/DesignPanel.hpp" +#endif #include "format.hpp" #include "3DScene.hpp" #include "GLCanvas3D.hpp" @@ -123,7 +123,6 @@ #include "SendMultiMachinePage.hpp" #include "SendToPrinter.hpp" #include "PublishDialog.hpp" -#include "ModelMall.hpp" #include "ConfigWizard.hpp" #include "SyncAmsInfoDialog.hpp" #include "../Utils/ASCIIFolding.hpp" @@ -149,11 +148,9 @@ #include "ParamsDialog.hpp" #include "ImageDPIFrame.hpp" #include "Widgets/Label.hpp" -#include "Widgets/RoundedRectangle.hpp" #include "Widgets/RadioGroup.hpp" #include "Widgets/CheckBox.hpp" #include "Widgets/Button.hpp" -#include "Widgets/StaticGroup.hpp" #include "GUI_ObjectTable.hpp" #include "libslic3r/Thread.hpp" @@ -480,14 +477,9 @@ enum class ActionButtonType : int { abSendGCode }; -// Background for the extruder-group title chip and its edit buttons, matching the StaticGroup -// interior. macOS keeps a lighter #F7F7F7 tint in light mode; dark mode uses the mapped colour. +// Background for the extruder-group title chip and its edit buttons static wxColour extruder_group_chip_bg() { -#ifdef __WXOSX__ - if (!wxGetApp().dark_mode()) - return wxColour("#F7F7F7"); -#endif return StateColor::darkModeColorFor(*wxWHITE); } @@ -502,38 +494,39 @@ public: SetBackgroundColour(extruder_group_chip_bg()); auto sizer = new wxBoxSizer(wxHORIZONTAL); + auto label_color = StateColor::darkModeColorFor(wxColour("#363636")); + m_label = new wxStaticText(this, wxID_ANY, label, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); - m_label->SetFont(Label::Body_13); - m_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#6B6B6B"))); + m_label->SetFont(Label::Body_12); + m_label->SetForegroundColour(label_color); m_brace_left = new wxStaticText(this, wxID_ANY, "(", wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); - m_brace_left->SetFont(Label::Body_13); - m_brace_left->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + m_brace_left->SetFont(Label::Body_12); + m_brace_left->SetForegroundColour(label_color); m_brace_left->Hide(); m_count = new wxStaticText(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); - m_count->SetFont(Label::Body_13.Bold()); - m_count->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + m_count->SetFont(Label::Body_12.Bold()); + m_count->SetForegroundColour(label_color); m_count->Hide(); m_brace_right = new wxStaticText(this, wxID_ANY, ")", wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); - m_brace_right->SetFont(Label::Body_13); - m_brace_right->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + m_brace_right->SetFont(Label::Body_12); + m_brace_right->SetForegroundColour(label_color); m_brace_right->Hide(); - m_hover_btn = new ScalableButton(this, wxID_ANY, "dot"); - m_hover_btn->SetMinSize(wxSize(FromDIP(25), -1)); + m_hover_btn = new ScalableButton(this, wxID_ANY, "edit_12px", wxEmptyString, FromDIP(wxSize(12,12)), wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 12); m_hover_btn->SetBackgroundColour(extruder_group_chip_bg()); m_hover_btn->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this](auto &evt) { if (m_enabled && m_hover_on_click) m_hover_on_click(); }); - sizer->Add(m_label, 0, wxALIGN_CENTER_VERTICAL); - sizer->Add(m_brace_left, 0, wxALIGN_CENTER_VERTICAL); - sizer->Add(m_count, 0, wxALIGN_CENTER_VERTICAL); + sizer->Add(m_label , 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, FromDIP(4)); + sizer->Add(m_brace_left , 0, wxALIGN_CENTER_VERTICAL); + sizer->Add(m_count , 0, wxALIGN_CENTER_VERTICAL); sizer->Add(m_brace_right, 0, wxALIGN_CENTER_VERTICAL); - sizer->Add(m_hover_btn, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(5)); + sizer->Add(m_hover_btn , 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, FromDIP(4)); // No SetSizerAndFit: that would record the count-hidden width as an explicit min size, // which outranks best size in sizer allocation, so once the count is shown any ancestor @@ -545,7 +538,7 @@ public: void EnableEdit(bool enable) { m_enabled = enable; - m_hover_btn->SetBitmap_(enable ? "edit" : "dot"); + //m_hover_btn->SetBitmap_(enable ? "edit_12px" : "dot"); // it causes crash if icon sizes not matches } void SetOnHoverClick(std::function<void()> on_click) { m_hover_on_click = std::move(on_click); } @@ -556,11 +549,13 @@ public: m_count->Hide(); m_brace_left->Hide(); m_brace_right->Hide(); + m_hover_btn->Hide(); } else { m_count->SetLabel(wxString::Format("%d", count)); m_count->Show(); m_brace_left->Show(); m_brace_right->Show(); + m_hover_btn->Show(); } UpdateSizing(); } @@ -571,15 +566,19 @@ public: UpdateSizing(); } - void Rescale() { m_hover_btn->msw_rescale(); } + void Rescale() { + m_hover_btn->msw_rescale(); + UpdateSizing(); + } // Re-apply the chip colours on a live light/dark switch (they are set once at construction). void sys_color_changed() { SetBackgroundColour(extruder_group_chip_bg()); - m_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#6B6B6B"))); + auto label_color = StateColor::darkModeColorFor(wxColour("#363636")); + m_label->SetForegroundColour(label_color); for (wxStaticText *t : {m_brace_left, m_count, m_brace_right}) - t->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + t->SetForegroundColour(label_color); m_hover_btn->SetBackgroundColour(extruder_group_chip_bg()); Refresh(); } @@ -606,11 +605,12 @@ private: bool m_enabled{false}; }; -struct ExtruderGroup : StaticGroup +struct ExtruderGroup : StaticBox { ExtruderGroup(wxWindow * parent, int index, wxString const &title); - wxStaticBoxSizer *sizer = nullptr; + wxBoxSizer * sizer = nullptr; HoverLabel * hover_label = nullptr; + wxStaticText* ams_label{nullptr}; ScalableButton * btn_edit = nullptr; ComboBox * combo_diameter = nullptr; ComboBox * combo_flow = nullptr; @@ -650,8 +650,10 @@ struct ExtruderGroup : StaticGroup { if (hover_label) hover_label->Rescale(); - if (btn_edit) + if (btn_edit){ btn_edit->msw_rescale(); + btn_edit->SetMinSize(ams_label->GetSize()); + } btn_up->msw_rescale(); btn_down->msw_rescale(); combo_diameter->Rescale(); @@ -866,9 +868,9 @@ void Sidebar::priv::layout_printer(bool isBBL, bool isDual) // double extruder_dual_sizer = new wxBoxSizer(wxHORIZONTAL); - extruder_dual_sizer->Add(left_extruder->sizer, 1, wxEXPAND, 0); + extruder_dual_sizer->Add(left_extruder, 1, wxEXPAND, 0); extruder_dual_sizer->AddSpacer(FromDIP(4)); - extruder_dual_sizer->Add(right_extruder->sizer, 1, wxEXPAND, 0); + extruder_dual_sizer->Add(right_extruder, 1, wxEXPAND, 0); // Filament Track Switch status icon, floated over the extruder AMS area (positioned in // update_extruder_separator_icon). Created hidden; a click re-shows the ready/not-ready tip. @@ -883,7 +885,9 @@ void Sidebar::priv::layout_printer(bool isBBL, bool isDual) } // single - extruder_single_sizer = single_extruder->sizer; + extruder_single_sizer = new wxBoxSizer(wxHORIZONTAL); + extruder_single_sizer->Add(single_extruder, 1, wxEXPAND, 0); + wxBoxSizer * extruder_sizer = new wxBoxSizer(wxVERTICAL); extruder_sizer->Add(extruder_dual_sizer , 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(SidebarProps::ContentMargin())); extruder_sizer->Add(extruder_single_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(SidebarProps::ContentMargin())); @@ -1261,7 +1265,7 @@ public: Bind(wxEVT_PAINT, [this](wxPaintEvent& evt) { wxPaintDC dc(this); - dc.SetPen(StateColor::darkModeColorFor(wxColour("#DBDBDB"))); // ORCA match popup border color + dc.SetPen(StateColor::darkModeColorFor(wxColour("#009688"))); // ORCA match popup border color dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRoundedRectangle(0, 0, GetSize().x, GetSize().y, 0); }); @@ -1315,29 +1319,25 @@ public: }; ExtruderGroup::ExtruderGroup(wxWindow * parent, int index, wxString const &title) - : StaticGroup(parent, wxID_ANY, wxString()) + : StaticBox(parent) { SetFont(Label::Body_10); SetForegroundColour(wxColour("#CECECE")); SetBorderColor(wxColour("#EEEEEE")); SetCornerRadius(FromDIP(PRINTER_PANEL_RADIUS)); // ORCA match radius with other boxes ShowBadge(true); + SetTopMargin(FromDIP(7)); // ORCA - // The title lives in an interactive row inside the card (with the nozzle-count badge and its edit - // button) instead of being painted on the border by StaticGroup. + // The title lives in an interactive row inside the card (with the nozzle-count badge and its edit button) hover_label = new HoverLabel(this, title); + hover_label->SetPosition(wxPoint(FromDIP(PRINTER_PANEL_RADIUS), 0)); // position it without putting in a sizer so it will look like title // Nozzle - wxStaticText *label_diameter = new wxStaticText(this, wxID_ANY, _L("Diameter")); - label_diameter->SetFont(Label::Body_14); - label_diameter->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); - if (index >= 0) label_diameter->SetMinSize({FromDIP(80), -1}); auto combo_diameter = new ComboBox(this, wxID_ANY, wxString(""), wxDefaultPosition, wxDefaultSize, 0, nullptr, wxCB_READONLY); this->combo_diameter = combo_diameter; - wxStaticText *label_flow = new wxStaticText(this, wxID_ANY, _L("Flow")); - label_flow->SetFont(Label::Body_14); - label_flow->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); - if (index >= 0) label_flow->SetMinSize({FromDIP(80), -1}); + combo_diameter->SetToolTip(_L("Diameter")); + + // Flow auto combo_flow = new ComboBox(this, wxID_ANY, wxString(""), wxDefaultPosition, wxDefaultSize, 0, nullptr, wxCB_READONLY); combo_flow->GetDropDown().SetUseContentWidth(true); combo_flow->Bind(wxEVT_COMBOBOX, [index, combo_flow](wxCommandEvent &evt) { @@ -1354,51 +1354,75 @@ ExtruderGroup::ExtruderGroup(wxWindow * parent, int index, wxString const &title } }); this->combo_flow = combo_flow; + combo_flow->SetToolTip(_L("Flow")); // AMS - wxStaticText *label_ams = new wxStaticText(this, wxID_ANY, _L("AMS")); - label_ams->SetFont(Label::Body_14); - label_ams->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); - //label_ams->SetMinSize({FromDIP(70), -1}); + auto ams_panel = new wxPanel(this, wxID_ANY); + ams_panel->SetBackgroundColour(*wxWHITE); + + ams_label = new wxStaticText(ams_panel, wxID_ANY, _L("AMS")); + ams_label->SetFont(Label::Body_14); + ams_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#363636"))); + + // AMS not installed message + ams_not_installed_msg = new wxStaticText(ams_panel, wxID_ANY, _L("Not installed")); + ams_not_installed_msg->SetFont(Label::Body_14); + ams_not_installed_msg->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#6B6B6B"))); + if (index >= 0) { - btn_edit = new ScalableButton(this, wxID_ANY, "dot"); + btn_edit = new ScalableButton(ams_panel, wxID_ANY, "edit"); + btn_edit->SetMinSize(ams_label->GetSize()); btn_edit->SetBackgroundColour(extruder_group_chip_bg()); btn_edit->Hide(); - btn_edit->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this, index](auto &evt) { + btn_edit->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this, index, combo_diameter](auto &evt) { PopupWindow *window = new AMSCountPopupWindow(this, index); - auto size = GetSize(); - auto pos = ClientToScreen({0, size.y + 12}); + auto size = GetSize(); + auto pos = ClientToScreen({0, size.y - FromDIP(8) - combo_diameter->GetSize().y}); size.SetWidth(size.GetWidth() + FromDIP(10)); window->Position(pos, {0, 0}); window->Popup(); }); auto hovered = std::make_shared<wxWindow *>(); - for (wxWindow *w : std::initializer_list<wxWindow *>{this, label_diameter, combo_diameter, label_flow, combo_flow, btn_edit, label_ams}) { - w->Bind(wxEVT_ENTER_WINDOW, [w, hovered, this](wxMouseEvent &evt) { *hovered = w; btn_edit->SetBitmap_("edit"); }); - w->Bind(wxEVT_LEAVE_WINDOW, [w, hovered, this](wxMouseEvent &evt) { if (*hovered == w) { btn_edit->SetBitmap_("dot"); *hovered = nullptr; } }); + for (wxWindow *w : std::initializer_list<wxWindow *>{this, btn_edit, ams_not_installed_msg, ams_label, ams_panel}) { + // ORCA using CallAfter fixes crash on linux while clicking edit button + w->Bind(wxEVT_ENTER_WINDOW, [w, hovered, this](wxMouseEvent &evt) { + *hovered = w; + this->CallAfter([this]() { + btn_edit->Show(); + ams_label->Hide(); + hsizer_ams->Layout(); + }); + }); + w->Bind(wxEVT_LEAVE_WINDOW, [w, hovered, this](wxMouseEvent &evt) { + if (*hovered == w) { + *hovered = nullptr; + this->CallAfter([this]() { + btn_edit->Hide(); + ams_label->Show(); + hsizer_ams->Layout(); + }); + } + }); } } - // AMS not installed message - ams_not_installed_msg = new wxStaticText(this, wxID_ANY, _L("Not installed")); - ams_not_installed_msg->SetFont(Label::Body_14); - ams_not_installed_msg->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); - // AMS group for (size_t i = 0; i < 4; ++i) { - ams[i] = new AMSPreview(this, wxID_ANY, AMSinfo(), AMSModel::GENERIC_AMS); + ams[i] = new AMSPreview(ams_panel, wxID_ANY, AMSinfo(), AMSModel::GENERIC_AMS); ams[i]->Close(); } hsizer_ams = new wxBoxSizer(wxHORIZONTAL); hsizer_ams->SetMinSize(0, ams[0]->GetMinHeight()); - hsizer_ams->Add(label_ams, 0, wxALIGN_CENTER); + hsizer_ams->Add(ams_label, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(5)); if (btn_edit) - hsizer_ams->Add(btn_edit, 0, wxLEFT | wxALIGN_CENTER, FromDIP(2)); - hsizer_ams->Add(ams_not_installed_msg, 0, wxALIGN_CENTER); + hsizer_ams->Add(btn_edit, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(5)); + hsizer_ams->Add(ams_not_installed_msg, 1, wxALIGN_CENTER); - btn_up = new ScalableButton(this, wxID_ANY, "page_up", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); + ams_panel->SetSizer(hsizer_ams); + + btn_up = new ScalableButton(ams_panel, wxID_ANY, "page_up", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); btn_up->SetBackgroundColour(*wxWHITE); btn_up->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this](auto &evt) { if (page_cur > 0) @@ -1406,7 +1430,7 @@ ExtruderGroup::ExtruderGroup(wxWindow * parent, int index, wxString const &title update_ams(); }); btn_up->Hide(); - btn_down = new ScalableButton(this, wxID_ANY, "page_down", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); + btn_down = new ScalableButton(ams_panel, wxID_ANY, "page_down", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); btn_down->SetBackgroundColour(*wxWHITE); btn_down->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this](auto &evt) { if (page_cur + 1 < page_num) @@ -1415,31 +1439,24 @@ ExtruderGroup::ExtruderGroup(wxWindow * parent, int index, wxString const &title }); btn_down->Hide(); - wxBoxSizer *hsizer_diameter = new wxBoxSizer(wxHORIZONTAL); - hsizer_diameter->Add(label_diameter, 0, wxALIGN_CENTER); - hsizer_diameter->Add(combo_diameter, 1, wxEXPAND); - wxBoxSizer * hsizer_nozzle = new wxBoxSizer(wxHORIZONTAL); - hsizer_nozzle->Add(label_flow, 0, wxALIGN_CENTER); - hsizer_nozzle->Add(combo_flow, 1, wxEXPAND); + wxBoxSizer *vsizer = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *hsizer = new wxBoxSizer(wxHORIZONTAL); + + hsizer->Add(combo_diameter, 1, wxRIGHT, FromDIP(5)); + hsizer->Add(combo_flow , 1); + + vsizer->AddSpacer(FromDIP(16)); // spacing for title and control if (index < 0) { - label_ams->Hide(); - ams_not_installed_msg->Hide(); - wxStaticBoxSizer *vsizer = new wxStaticBoxSizer(this, wxVERTICAL); - wxBoxSizer *hsizer = new wxBoxSizer(wxHORIZONTAL); - hsizer->Add(hsizer_diameter, 1, wxEXPAND | wxTOP| wxBOTTOM, FromDIP(8)); - hsizer->Add(hsizer_nozzle, 1, wxEXPAND | wxALL, FromDIP(8)); - hsizer->AddSpacer(FromDIP(2)); // Avoid badge - vsizer->Add(hover_label, 0, wxLEFT | wxALL, FromDIP(2)); - vsizer->Add(hsizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(2)); - this->sizer = vsizer; + ams_panel->Hide(); } else { - wxStaticBoxSizer *vsizer = new wxStaticBoxSizer(this, wxVERTICAL); - vsizer->Add(hover_label, 0, wxLEFT | wxALL, FromDIP(2)); - vsizer->Add(hsizer_ams, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, FromDIP(2)); - vsizer->Add(hsizer_diameter, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, FromDIP(2)); - vsizer->Add(hsizer_nozzle, 0, wxEXPAND | wxALL, FromDIP(2)); - this->sizer = vsizer; + vsizer->Add(ams_panel, 0, wxEXPAND | wxLEFT | wxRIGHT , FromDIP(5)); + vsizer->AddSpacer(FromDIP(2)); } + vsizer->Add(hsizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5)); + + SetSizer(vsizer); + Layout(); + AMSCountPopupWindow::UpdateAMSCount(index < 0 ? 0 : index, this); } @@ -1510,7 +1527,7 @@ void ExtruderGroup::update_ams() } } - sizer->Layout(); + Layout(); } void ExtruderGroup::sync_ams(MachineObject const *obj, std::vector<DevAms *> const &ams4, std::vector<DevAms *> const &ams1) @@ -3032,8 +3049,7 @@ Sidebar::Sidebar(Plater *parent) // add filament content p->m_panel_filament_content = new wxScrolledWindow(p->m_filament_area_wrapper, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - p->m_panel_filament_content->SetScrollbars(0, 100, 1, 2); - p->m_panel_filament_content->SetScrollRate(0, 5); + p->m_panel_filament_content->SetScrollRate(0, FromDIP(20)); //p->m_panel_filament_content->SetMaxSize(wxSize{-1, FromDIP(174)}); p->m_panel_filament_content->SetBackgroundColour(wxColour(255, 255, 255)); @@ -3125,8 +3141,7 @@ Sidebar::Sidebar(Plater *parent) // 3) Mixed filament rows, in their own scroll area so a long mixed list does not // push the physical filament list off screen. p->m_mixed_scroll_area = new wxScrolledWindow(p->m_filament_area_wrapper, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); - p->m_mixed_scroll_area->SetScrollbars(0, 100, 1, 2); - p->m_mixed_scroll_area->SetScrollRate(0, 5); + p->m_mixed_scroll_area->SetScrollRate(0, FromDIP(20)); p->m_mixed_scroll_area->SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE)); { auto* mix_scroll_sizer = new wxBoxSizer(wxVERTICAL); @@ -3667,8 +3682,8 @@ void Sidebar::update_presets(Preset::Type preset_type) // so extruders without an explicit sub-nozzle count never offer Hybrid. A nullable-int // nil is INT_MAX (> 1) and would otherwise falsely pass the gate, so exclude it too. if (boost::algorithm::contains(extruder_variants->values[index], type + " " + nozzle_volumes_def->enum_labels[i]) || - extruder_max_nozzle_count->get_at(index) > 1 && extruder_max_nozzle_count->get_at(index) != ConfigOptionIntsNullable::nil_value() && - nozzle_volumes_def->enum_keys_map->at(nozzle_volumes_def->enum_values[i]) == nvtHybrid) { + (extruder_max_nozzle_count->get_at(index) > 1 && extruder_max_nozzle_count->get_at(index) != ConfigOptionIntsNullable::nil_value() && + nozzle_volumes_def->enum_keys_map->at(nozzle_volumes_def->enum_values[i]) == nvtHybrid)) { if (nozzle_volumes_def->enum_keys_map->at(nozzle_volumes_def->enum_values[i]) == NozzleVolumeType::nvtHighFlow &&(diameter == "0.2" || is_skip_high_flow_printer(printer_model))) continue; @@ -6427,6 +6442,11 @@ Search::OptionsSearcher& Sidebar::get_searcher() return p->searcher; } +Search::SettingsIndex& Sidebar::settings_index() +{ + return p->searcher.index(); +} + std::string& Sidebar::get_search_line() { return p->searcher.search_string(); @@ -6712,6 +6732,12 @@ struct Plater::priv SendToPrinterDialog* m_send_to_sdcard_dlg = nullptr; PublishDialog *m_publish_dlg = nullptr; + // Session-level stash of the last published selection. Written on publish and on + // loading a published 3MF; read when the Publish dialog is opened. + bool m_has_pending_published{false}; + std::vector<std::string> m_pending_published_keys; + std::vector<Slic3r::PublishedMaterialEntry> m_pending_material_keys; + // Data Slic3r::DynamicPrintConfig *config; // FIXME: leak? Slic3r::Print fff_print; @@ -6722,6 +6748,14 @@ struct Plater::priv // GUI elements AuiMgr m_aui_mgr; + // Live dock panes. `on_close` runs when the user closes one from its close button; `shown` is + // what the owner asked for. + struct DockPane + { + std::function<void()> on_close; + bool shown{true}; + }; + std::map<wxWindow*, DockPane> m_dock_panes; wxString m_default_window_layout; wxPanel* current_panel{ nullptr }; std::vector<wxPanel*> panels; @@ -6802,6 +6836,7 @@ struct Plater::priv bool show_render_statistic_dialog{ false }; bool show_wireframe{ false }; bool wireframe_enabled{ true }; + bool show_xray{ false }; static const std::regex pattern_bundle; static const std::regex pattern_3mf; @@ -6893,6 +6928,11 @@ struct Plater::priv void update_sidebar(bool force_update = false); void reset_window_layout(); Sidebar::DockingState get_sidebar_docking_state(); + void add_dock_pane(wxWindow* window, const std::string& name, const wxString& caption, const std::string& dock, + const wxSize& size, std::function<void()> on_close); + void remove_dock_pane(wxWindow* window); + void show_dock_pane(wxWindow* window, bool show); + bool dock_pane_visible(const DockPane& dock_pane, const wxAuiPaneInfo& pane) const; bool is_view3D_layers_editing_enabled() const { return (current_panel == view3D) && view3D->get_canvas3d()->is_layers_editing_enabled(); } @@ -6936,7 +6976,10 @@ struct Plater::priv // BBS: backup & restore using LoadProgressCallback = std::function<bool(int, const wxString&)>; - std::vector<size_t> load_files(const std::vector<fs::path>& input_files, LoadStrategy strategy, bool ask_multi = false); + std::vector<size_t> load_files(const std::vector<fs::path>& input_files, + LoadStrategy strategy, + bool ask_multi = false, + bool* published_out = nullptr); std::vector<size_t> load_model_objects(const ModelObjectPtrs& model_objects, bool allow_negative_z = false, bool split_object = false, bool auto_drop = true); // Texture-to-color import: a mesh loaded with UVs + a texture map gets its faces clustered @@ -6964,7 +7007,7 @@ struct Plater::priv std::function<bool()> cancel_callback = {}); fs::path get_export_file_path(GUI::FileType file_type); - wxString get_export_file(GUI::FileType file_type); + wxString get_export_file(GUI::FileType file_type, const wxString& title = {}, bool published = false); // BBS void load_auxiliary_files(); @@ -6988,7 +7031,7 @@ struct Plater::priv void remove(size_t obj_idx); bool delete_object_from_model(size_t obj_idx, bool refresh_immediately = true); //BBS void delete_all_objects_from_model(); - void reset(bool apply_presets_change = false); + void reset(bool apply_presets_change = false, bool reload_presets = true); void center_selection(); void drop_selection(); void mirror(Axis axis); @@ -7470,6 +7513,18 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) panel_3d->SetSizer(panel_sizer); m_aui_mgr.AddPane(panel_3d, wxAuiPaneInfo().Name("main").CenterPane().PaneBorder(false)); + q->Bind(wxEVT_AUI_PANE_CLOSE, [this](wxAuiManagerEvent& evt) { + const wxAuiPaneInfo* pane = evt.GetPane(); + auto it = pane != nullptr ? m_dock_panes.find(pane->window) : m_dock_panes.end(); + if (it != m_dock_panes.end()) { + const std::function<void()> on_close = std::move(it->second.on_close); + m_dock_panes.erase(it); + if (on_close) + on_close(); + } + evt.Skip(); + }); + m_default_window_layout = m_aui_mgr.SavePerspective(); { @@ -7566,10 +7621,8 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) view3D_canvas->Bind(EVT_GLCANVAS_PRINTABLE, [this](SimpleEvent& evt) { this->sidebar->obj_list()->toggle_printable_state(); }); view3D_canvas->Bind(EVT_GLCANVAS_SELECT_ALL, [this](SimpleEvent&) { this->q->select_all(); }); - view3D_canvas->Bind(EVT_GLCANVAS_QUESTION_MARK, [](SimpleEvent&) { wxGetApp().keyboard_shortcuts(); }); - view3D_canvas->Bind(EVT_GLCANVAS_OPEN_SPEED_DIAL, [this](SimpleEvent&) { - if (this->q->is_view3D_shown()) - wxGetApp().open_speed_dial(); + view3D_canvas->Bind(EVT_GLCANVAS_QUESTION_MARK, [this](SimpleEvent&) { + wxGetApp().keyboard_shortcuts(view3D->get_canvas3d()->get_gizmos_manager().is_paint_gizmo() ? ShortcutContext::Painting : ShortcutContext::Plater); }); view3D_canvas->Bind(EVT_GLCANVAS_INCREASE_INSTANCES, [this](Event<int>& evt) { if (evt.data == 1) this->q->increase_instances(); else if (this->can_decrease_instances()) this->q->decrease_instances(); }); @@ -7647,7 +7700,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) view3D_canvas->Bind(EVT_GLCANVAS_UPDATE_BED_SHAPE, [q](SimpleEvent&) { q->set_bed_shape(); }); // Preview events: - preview->get_wxglcanvas()->Bind(EVT_GLCANVAS_QUESTION_MARK, [](SimpleEvent&) { wxGetApp().keyboard_shortcuts(); }); + preview->get_wxglcanvas()->Bind(EVT_GLCANVAS_QUESTION_MARK, [](SimpleEvent&) { wxGetApp().keyboard_shortcuts(ShortcutContext::Preview); }); preview->get_wxglcanvas()->Bind(EVT_GLCANVAS_UPDATE_BED_SHAPE, [q](SimpleEvent&) { q->set_bed_shape(); }); preview->get_wxglcanvas()->Bind(EVT_GLCANVAS_UPDATE, [this](SimpleEvent &) { preview->get_canvas3d()->set_as_dirty(); @@ -7836,7 +7889,8 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) if (this->q->get_project_filename().IsEmpty() && this->q->is_empty_project()) { int skip_confirm = e.GetInt(); - this->q->new_project(skip_confirm, true); + // Skips the preset reload; trigger_restore_project()'s callers load the presets first. + this->q->new_project(skip_confirm, true, wxString(), false); } }); //wxPostEvent(this->q, wxCommandEvent{EVT_RESTORE_PROJECT}); @@ -8108,10 +8162,7 @@ void Plater::priv::collapse_sidebar(bool collapse) sidebar_layout.is_collapsed = collapse; // Now update the tooltip in the toolbar. - std::string new_tooltip = collapse - ? _u8L("Expand sidebar") - : _u8L("Collapse sidebar"); - new_tooltip += " [" + _u8L("Shift+") + _u8L("Tab") + "]"; + const std::string new_tooltip = wxGetApp().shortcuts().with_key(collapse ? _u8L("Expand sidebar") : _u8L("Collapse sidebar"), Shortcut::CollapseSidebar); int id = collapse_toolbar.get_item_id("collapse_sidebar"); collapse_toolbar.set_tooltip(id, new_tooltip); @@ -8140,6 +8191,14 @@ void Plater::priv::update_sidebar(bool force_update) { } } + for (const auto& [window, dock_pane] : m_dock_panes) { + wxAuiPaneInfo& pane = m_aui_mgr.GetPane(window); + if (pane.IsOk() && pane.IsShown() != dock_pane_visible(dock_pane, pane)) { + pane.Show(!pane.IsShown()); + needs_update = true; + } + } + if (needs_update) { notification_manager->set_sidebar_collapsed(sidebar.IsShown()); m_aui_mgr.Update(); @@ -8149,10 +8208,96 @@ void Plater::priv::update_sidebar(bool force_update) { void Plater::priv::reset_window_layout() { m_aui_mgr.LoadPerspective(m_default_window_layout, false); + // Loading a layout docks and hides every pane it does not list, and the default layout lists no + // dock panes: a floating dock pane is docked again, like the rest of the window. + for (const auto& [window, dock_pane] : m_dock_panes) + if (wxAuiPaneInfo& pane = m_aui_mgr.GetPane(window); pane.IsOk()) + pane.Show(dock_pane_visible(dock_pane, pane)); sidebar_layout.is_collapsed = false; update_sidebar(true); } +bool Plater::priv::dock_pane_visible(const DockPane& dock_pane, const wxAuiPaneInfo& pane) const +{ + // A floating pane is a top-level window, so it does not hide with the Plater on other tabs. + return dock_pane.shown && (!pane.IsFloating() || sidebar_layout.show); +} + +void Plater::priv::add_dock_pane(wxWindow* window, const std::string& name, const wxString& caption, const std::string& dock, + const wxSize& size, std::function<void()> on_close) +{ + const wxString base_name = wxString::FromUTF8(name); + wxString unique_name = base_name; + for (int i = 2; m_aui_mgr.GetPane(unique_name).IsOk(); ++i) + unique_name = base_name + wxString::Format("#%d", i); + + // A restored layout below already holds pixels. + const wxSize pixels = q->FromDIP(size); + wxAuiPaneInfo info; + info.Name(unique_name).Caption(caption).BestSize(pixels).FloatingSize(pixels).DestroyOnClose(true); + if (dock == "left") + info.Left(); + else if (dock == "bottom") + info.Bottom(); + else + info.Right(); + if (dock == "float") + info.Float(); + + // Put the pane back where it was the last time the window layout was saved with it open. + const std::string saved = aui_pane_layout_entry(wxGetApp().app_config->get("window_layout"), unique_name.utf8_string()); + if (!saved.empty()) { + m_aui_mgr.LoadPaneInfo(wxString::FromUTF8(saved), info); + info.Caption(caption).DestroyOnClose(true).Show(); + } + + // Floating is disabled on Wayland. + if ((m_aui_mgr.GetFlags() & wxAUI_MGR_ALLOW_FLOATING) == 0) { + info.Dock().Floatable(false); + if (info.dock_direction == wxAUI_DOCK_NONE) + info.Right(); + } + + const DockPane& dock_pane = m_dock_panes[window] = DockPane{std::move(on_close)}; + info.Show(dock_pane_visible(dock_pane, info)); + m_aui_mgr.AddPane(window, info); + + // wxAUI does not record a dragged sash in best_size, so track the docked size like the sidebar + // does, for the saved layout. + window->Bind(wxEVT_IDLE, [this, window](wxIdleEvent& evt) { + wxAuiPaneInfo& pane = m_aui_mgr.GetPane(window); + if (pane.IsOk() && pane.IsShown() && pane.IsDocked() && pane.rect.GetWidth() > 0 && pane.rect.GetHeight() > 0) { + const bool horizontal = pane.dock_direction == wxAUI_DOCK_TOP || pane.dock_direction == wxAUI_DOCK_BOTTOM; + pane.BestSize(horizontal ? pane.best_size.GetWidth() : pane.rect.GetWidth(), + horizontal ? pane.rect.GetHeight() : pane.best_size.GetHeight()); + } + evt.Skip(); + }); + + m_aui_mgr.Update(); +} + +void Plater::priv::remove_dock_pane(wxWindow* window) +{ + m_dock_panes.erase(window); + if (m_aui_mgr.DetachPane(window)) + m_aui_mgr.Update(); + window->Destroy(); +} + +void Plater::priv::show_dock_pane(wxWindow* window, bool show) +{ + const auto it = m_dock_panes.find(window); + wxAuiPaneInfo& pane = m_aui_mgr.GetPane(window); + if (it == m_dock_panes.end() || !pane.IsOk()) + return; + it->second.shown = show; + if (pane.IsShown() == dock_pane_visible(it->second, pane)) + return; + pane.Show(!pane.IsShown()); + m_aui_mgr.Update(); +} + Sidebar::DockingState Plater::priv::get_sidebar_docking_state() { if (!sidebar_layout.is_enabled) { return Sidebar::None; @@ -8272,7 +8417,10 @@ void read_binary_stl(const std::string& filename, std::string& model_id, std::st } // BBS: backup & restore -std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_files, LoadStrategy strategy, bool ask_multi) +std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_files, + LoadStrategy strategy, + bool ask_multi, + bool* published_out) { std::vector<size_t> empty_result; bool dlg_cont = true; @@ -8323,6 +8471,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ int answer_convert_from_meters = wxOK_DEFAULT; int answer_convert_from_imperial_units = wxOK_DEFAULT; int tolal_model_count = 0; + // Whether one of the files being loaded here carried a CAD recipe. A statement about these + // files, not about the plater — q->model() may still hold the previous project's recipe. + bool loaded_cad_recipe = false; int progress_percent = 0; int total_files = input_files.size(); @@ -8352,6 +8503,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ const float INPUT_FILES_RATIO = 0.7; const float INIT_MODEL_RATIO = 0.75; const float CENTER_AROUND_ORIGIN_RATIO = 0.8; + const float LOAD_MODEL_RATIO = 0.9; for (size_t i = 0; i < input_files.size(); ++i) { @@ -8392,6 +8544,11 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ DynamicPrintConfig config; Semver file_version; En3mfType en_3mf_file_type = En3mfType::From_BBS; + // BBS: a "published" 3MF carries a flag plus the author-selected setting keys; + // on load keep the user's current presets and overlay only those keys. Declared + // here (outside the config block below) so it stays alive for the embedded-preset + // gate, the metadata strip and the preset overlay after the block closes. + PublishedConfig published_config; { DynamicPrintConfig config_loaded; @@ -8419,6 +8576,107 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ << boost::format(", plate_data.size %1%, project_preset.size %2%, is_bbs_or_orca_3mf %3%, file_version %4% \n") % plate_data.size() % project_presets.size() % (en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) % file_version.to_string(); + // BBS: a "published" 3MF carries a flag plus the author-selected setting keys; + // on load keep the user's current presets and overlay only those keys. Parsed + // here (before the version/fallback chain below) because a published file has + // no project_settings.config: its values travel in the published_config + // metadata payload, which must fill config_loaded before the chain decides + // whether to import geometry only. + if (model.model_info != nullptr) { + auto published_it = model.model_info->metadata_items.find(ORCA_PUBLISHED_TAG); + if (published_it != model.model_info->metadata_items.end() && is_published_3mf_flag(published_it->second)) { + published_config.published = true; + auto keys_it = model.model_info->metadata_items.find(ORCA_PUBLISHED_KEYS_TAG); + if (keys_it != model.model_info->metadata_items.end()) { + try { + auto j = nlohmann::json::parse(keys_it->second); + if (j.is_array()) + for (const auto& k : j) + if (k.is_string()) + published_config.published_keys.emplace_back(k.get<std::string>()); + } catch (...) { + // Ignore malformed published_keys; the project still loads normally. + } + } + + auto material_keys_it = model.model_info->metadata_items.find(ORCA_PUBLISHED_MATERIAL_TAG); + if (material_keys_it != model.model_info->metadata_items.end()) { + try { + auto jm = nlohmann::json::parse(material_keys_it->second); + if (jm.is_array()) + for (const auto& m : jm) { + try { + // Malformed entries are isolated so one bad item + // cannot discard valid entries that follow it. + if (!m.is_object()) + continue; + PublishedMaterialEntry entry; + const auto mat_it = m.find("material"); + if (mat_it != m.end() && mat_it->is_object()) { + const auto& mat = *mat_it; + if (mat.contains("filament_type") && mat["filament_type"].is_string()) + entry.filament_type = mat["filament_type"].get<std::string>(); + if (mat.contains("filament_vendor") && mat["filament_vendor"].is_string()) + entry.filament_vendor = mat["filament_vendor"].get<std::string>(); + if (mat.contains("filament_id") && mat["filament_id"].is_string()) + entry.filament_id = mat["filament_id"].get<std::string>(); + if (mat.contains("setting_id") && mat["setting_id"].is_string()) + entry.setting_id = mat["setting_id"].get<std::string>(); + if (mat.contains("name") && mat["name"].is_string()) + entry.preset_name = mat["name"].get<std::string>(); + } + if (m.contains("slot") && m["slot"].is_number_integer()) + entry.slot = m["slot"].get<int>(); + const auto entry_keys_it = m.find("keys"); + if (entry_keys_it != m.end() && entry_keys_it->is_array()) + for (const auto& k : *entry_keys_it) + if (k.is_string()) + entry.keys.emplace_back(k.get<std::string>()); + // Fields always written by the current exporter. + if (m.contains("full") && m["full"].is_boolean()) + entry.full = m["full"].get<bool>(); + const auto entry_full_keys_it = m.find("full_keys"); + if (entry_full_keys_it != m.end() && entry_full_keys_it->is_array()) + for (const auto& k : *entry_full_keys_it) + if (k.is_string()) + entry.full_keys.emplace_back(k.get<std::string>()); + if (m.contains("publish_type") && m["publish_type"].is_boolean()) + entry.publish_type = m["publish_type"].get<bool>(); + if (m.contains("type") && m["type"].is_string()) + entry.publish_type_value = m["type"].get<std::string>(); + if (m.contains("publish_color") && m["publish_color"].is_boolean()) + entry.publish_color = m["publish_color"].get<bool>(); + if (m.contains("color") && m["color"].is_string()) + entry.color = m["color"].get<std::string>(); + published_config.material_keys.emplace_back(std::move(entry)); + } catch (const nlohmann::json::exception&) { + // Ignore only this malformed material entry. + } + } + } catch (const nlohmann::json::exception&) { + // Ignore malformed published_material_keys; the project still loads normally. + } + } + + // Rebuild the published values from the metadata payload: a published + // file carries no project_settings.config, so config_loaded is filled + // from here; a missing or malformed payload leaves it empty and the + // fallback chain below imports the geometry only. + auto payload_it = model.model_info->metadata_items.find(ORCA_PUBLISHED_CONFIG_TAG); + if (payload_it != model.model_info->metadata_items.end()) { + try { + ConfigSubstitutions payload_substitutions = + config_loaded.load_from_ini_string(payload_it->second, ForwardCompatibilitySubstitutionRule::Enable); + config_substitutions.substitutions.insert(config_substitutions.substitutions.end(), + std::make_move_iterator(payload_substitutions.begin()), + std::make_move_iterator(payload_substitutions.end())); + } catch (...) { + // Ignore malformed published_config; the project still loads normally. + } + } + } + } + // 1. add extruder for prusa model if the number of existing extruders is not enough // 2. add extruder for BBS or Other model if only import geometry if (en_3mf_file_type == En3mfType::From_Prusa || (load_model && !load_config)) { @@ -8582,7 +8840,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ text += "\n"; log_and_show_3mf_info(text, bambu_project_title); } - } else if (load_config) { + } else if (load_config && !published_config.published) { // BambuStudio version is older or same as our SLIC3R_VERSION wxString text = _L("The 3MF was created by BambuStudio. Some settings may differ from OrcaSlicer."); log_and_show_3mf_info(text, bambu_project_title); @@ -8642,7 +8900,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ } Semver old_version(1, 5, 9); - if ((en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) && (file_version < old_version) && load_model && load_config && !config_loaded.empty()) { + // A published 3MF has no project config to migrate: skip the old-version + // translations even if a slicer tag slipped through classification. + if ((en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) && (file_version < old_version) && !published_config.published && load_model && load_config && !config_loaded.empty()) { translate_old = true; partplate_list.get_plate_size(current_width, current_depth, current_height); } @@ -8664,8 +8924,10 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ } } - // BBS:: project embedded presets - if ((project_presets.size() > 0) && load_config) { + // BBS:: project embedded presets (skipped for published projects: the author's + // embedded presets must not pollute the receiver's library, the overlay applies + // the published keys to the receiver's own presets instead). + if ((project_presets.size() > 0) && load_config && !published_config.published) { // load project embedded presets PresetsConfigSubstitutions preset_substitutions; PresetBundle & preset_bundle = *wxGetApp().preset_bundle; @@ -8721,6 +8983,19 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ } } + // BBS: a "published" 3MF loads as a new project: its path must not become the + // project filename (Save/Ctrl-S would overwrite the shared file), and the + // published metadata is consumed above and stripped so a later save is a normal + // unpublished 3MF. + if (published_out != nullptr && published_config.published) + *published_out = true; + if (published_config.published && load_config && this->model.model_info != nullptr) { + this->model.model_info->metadata_items.erase(ORCA_PUBLISHED_TAG); + this->model.model_info->metadata_items.erase(ORCA_PUBLISHED_KEYS_TAG); + this->model.model_info->metadata_items.erase(ORCA_PUBLISHED_MATERIAL_TAG); + this->model.model_info->metadata_items.erase(ORCA_PUBLISHED_CONFIG_TAG); + } + if (load_config) { if (!config.empty()) { Preset::normalize(config); @@ -8729,7 +9004,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ { // BBS: modify the prime tower params for old version file Semver old_version3(2, 0, 0); - if ((en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) && file_version < old_version3) { + if ((en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) && !published_config.published && file_version < old_version3) { double old_filament_prime_volume = 0.; int filament_count = 0; { @@ -8779,7 +9054,7 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ } auto choise = wxGetApp().app_config->get("no_warn_when_modified_gcodes"); - if (choise.empty() || choise != "true") { + if (!published_config.published && (choise.empty() || choise != "true")) { // BBS: first validate the printer // validate the system profiles std::set<std::string> modified_gcodes; @@ -8824,12 +9099,56 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ if (wipe_tower_y_opt) file_wipe_tower_y = *wipe_tower_y_opt; + // Convert the printer's filament ids to Orca ids before loading. if (auto* agent = wxGetApp().getAgent()) { if (auto* ids = config.opt<ConfigOptionStrings>("filament_ids")) for (std::string& id : ids->values) id = agent->to_orca_filament_id(id); } - preset_bundle->load_config_model(filename.string(), std::move(config), file_version); + preset_bundle->load_config_model(filename.string(), std::move(config), file_version, &published_config); + + // Mixed-filament definitions that collided with one of the + // receiver's real slots were relocated during the preset load. + // Re-point the freshly parsed model's extruder references and + // color painting from the author's slot numbers to where each + // definition landed, so volumes colored with a mix follow it. + // Runs before the objects are handed over to the plater below. + if (load_model && !published_config.mixed_slot_relocations.empty()) + Slic3r::remap_model_filament_slots(model, published_config.mixed_slot_relocations); + + // BBS: notify the user about published settings that could not be applied. + if (!published_config.skipped_keys.empty()) { + NotificationManager* notify_manager = q->get_notification_manager(); + std::string message = _u8L("Some published settings could not be applied:"); + for (const std::string& key : published_config.skipped_keys) + message += "\n-" + key; + // Informational: the load succeeded, these keys were skipped. + notify_manager + ->bbl_show_3mf_warn_notification(message, + NotificationManager::NotificationLevel::WarningNotificationLevel); + } + + // BBS: notify the user about slot materials that were replaced while + // loading a published project (type mismatch / no same-type match). + if (!published_config.material_replacements.empty()) { + NotificationManager* notify_manager = q->get_notification_manager(); + std::string message = _u8L("Some filament slots were changed:"); + for (const std::string& replacement : published_config.material_replacements) + message += "\n-" + replacement; + // Informational: the load succeeded, the slots were adapted. + notify_manager + ->bbl_show_3mf_warn_notification(message, + NotificationManager::NotificationLevel::WarningNotificationLevel); + } + + // Remember the imported published selection so the Publish dialog is + // pre-seeded with the file's settings. Stored after the load so any + // per-slot relocations are already reflected in material_keys. + if (published_config.published) { + this->m_has_pending_published = true; + this->m_pending_published_keys = published_config.published_keys; + this->m_pending_material_keys = published_config.material_keys; + } ConfigOption* bed_type_opt = preset_bundle->project_config.option("curr_bed_type"); if (bed_type_opt != nullptr) { @@ -8970,7 +9289,13 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ dynamic_map->value = false; } // Update filament combobox after loading config - wxGetApp().plater()->sidebar().update_presets(Preset::TYPE_FILAMENT); + if (published_config.published) { + q->update_filament_colors_in_full_config(); + wxGetApp().plater()->sidebar().update_all_preset_comboboxes(); + wxGetApp().plater()->sidebar().update_dynamic_filament_list(); + } else { + wxGetApp().plater()->sidebar().update_presets(Preset::TYPE_FILAMENT); + } // The loaded project supplies nozzle_volume_type; refresh the sidebar // nozzle-count badges against it. if (auto *nozzle_volumes = wxGetApp().preset_bundle->project_config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type")) { @@ -9274,6 +9599,16 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ auto loaded_idxs = load_model_objects(model.objects, is_project_file); obj_idxs.insert(obj_idxs.end(), loaded_idxs.begin(), loaded_idxs.end()); + // load_model_objects only transfers ModelObjects; carry the Model-level CAD recipe + // onto the plater model so the Design tab can rehydrate the editable feature tree on + // reopen. Assigned unconditionally on the project-replacing path so that opening a + // project without a recipe clears whatever the previous one left behind; importing a + // plain model into the open project leaves the current recipe alone. + if (is_project_file) { + q->model().cad_recipe = model.cad_recipe; + loaded_cad_recipe = !model.cad_recipe.empty(); + } + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << boost::format(", finished load_model_objects"); wxString msg = wxString::Format(_L("Loading file: %s"), from_path(real_filename)); dlg_cont = dlg.Update(progress_percent, msg); @@ -9490,7 +9825,12 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_ // q->model().stl_design_country = ""; //} - if (tolal_model_count <= 0 && !q->m_exported_file) { + // A CAD project legitimately carries no mesh: the model lives in the feature tree until it is + // committed to the plate. Warning "no geometry data" for one is false, and it is the LAST thing + // a user sees after opening a design they spent an hour on — it reads as "your work is gone" + // when the recipe has in fact just been loaded and the Design tab will rehydrate it. Count a + // recipe that came from THESE files as geometry. + if (tolal_model_count <= 0 && !loaded_cad_recipe && !q->m_exported_file) { dlg.Hide(); if (!is_user_cancel) { MessageDialog msg(wxGetApp().mainframe, _L("The file does not contain any geometry data."), _L("Warning"), wxYES | wxICON_WARNING); @@ -9723,7 +10063,7 @@ fs::path Plater::priv::get_export_file_path(GUI::FileType file_type) return output_file; } -wxString Plater::priv::get_export_file(GUI::FileType file_type) +wxString Plater::priv::get_export_file(GUI::FileType file_type, const wxString& title, bool published) { wxString wildcard; switch (file_type) { @@ -9765,8 +10105,11 @@ wxString Plater::priv::get_export_file(GUI::FileType file_type) } case FT_3MF: { - output_file.replace_extension("3mf"); - dlg_title = _L("Save file as"); + // A published export is suggested as "<name>.published.3mf" so the role is visible in the + // dialog and in the recent-files list. This is only a pre-filled suggestion; the user's + // typed filename wins, keeping a plain ".3mf" output fully valid. + output_file.replace_extension(published ? "published.3mf" : "3mf"); + dlg_title = title.empty() ? _L("Save file as") : title; break; } case FT_OBJ: @@ -9921,7 +10264,14 @@ void Plater::priv::remove(size_t obj_idx) view3D->enable_layers_editing(false); m_worker.cancel_all(); + std::string obj_name = (obj_idx < model.objects.size()) ? model.objects[obj_idx]->name : std::to_string(obj_idx); model.delete_object(obj_idx); + { + Slic3r::LifecycleEventContext ctx; + ctx.name = obj_name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectDeleted, ctx); + } //BBS: notify partplate the instance removed partplate_list.notify_instance_removed(obj_idx, -1); update(); @@ -9954,7 +10304,14 @@ bool Plater::priv::delete_object_from_model(size_t obj_idx, bool refresh_immedia if (obj->is_cut()) sidebar->obj_list()->invalidate_cut_info_for_object(obj_idx); + std::string obj_name = obj->name; model.delete_object(obj_idx); + { + Slic3r::LifecycleEventContext ctx; + ctx.name = obj_name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ObjectDeleted, ctx); + } //BBS: notify partplate the instance removed partplate_list.notify_instance_removed(obj_idx, -1); @@ -9998,12 +10355,29 @@ void Plater::priv::delete_all_objects_from_model() model.plates_custom_gcodes.clear(); } -void Plater::priv::reset(bool apply_presets_change) +void Plater::priv::reset(bool apply_presets_change, bool reload_presets) { + // TakeSnapshot below and load_current_presets() further down each re-evaluate the + // aggregate dirty flag against a baseline that hasn't been reset yet, so they can toggle + // is_dirty() back and forth several times before it settles; coalesce those into one event. + ProjectDirtyStateManager::NotificationSuppressor dirty_notify_suppressor(dirty_state); + Plater::TakeSnapshot snapshot(q, _u8L("Reset Project"), UndoRedo::SnapshotType::ProjectSeparator); clear_warnings(); + const std::string closed_project_name = into_u8(get_project_filename()); + if (!closed_project_name.empty() || !model.objects.empty()) { + Slic3r::LifecycleEventContext ctx; + ctx.name = closed_project_name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ProjectClosed, ctx); + } + // A new project must not inherit the previous project's published selection (Feature A/B). + m_has_pending_published = false; + m_pending_published_keys.clear(); + m_pending_material_keys.clear(); + set_project_filename(""); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << __LINE__ << " call set_project_filename: empty"; @@ -10029,6 +10403,16 @@ void Plater::priv::reset(bool apply_presets_change) // Stop and reset the Print content. this->background_process.reset(); model.clear_objects(); + // clear_objects() only drops the ModelObjects; the CAD recipe is Model-level state and would + // otherwise be written into every project saved for the rest of the session. + model.cad_recipe.clear(); +#ifdef SLIC3R_CAD + // Same reason, one level up: the Design tab keeps the editable document, not the Model, so + // clearing the recipe alone leaves the tab showing the previous project's feature tree — + // and its next edit syncs that tree straight back into the new project. + if (DesignPanel* design = DesignPanel::if_built()) + design->clear_document(); +#endif assemble_view->get_canvas3d()->reset_explosion_ratio(); update(); @@ -10046,7 +10430,7 @@ void Plater::priv::reset(bool apply_presets_change) wxGetApp().preset_bundle->reset_project_embedded_presets(); if (apply_presets_change) wxGetApp().apply_keeped_preset_modifications(); - else + else if (reload_presets) wxGetApp().load_current_presets(false, false); //BBS @@ -12416,11 +12800,15 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt) notification_manager->set_slicing_progress_export_possible(); // Reset the "export G-code path" name, so that the automatic background processing will be enabled again. + const std::string lifecycle_job_name = this->background_process.fff_print() ? + this->background_process.fff_print()->output_filename() : std::string(); this->background_process.reset_export(); // This bool stops showing export finished notification even when process_completed_with_error is false bool has_error = false; + std::string lifecycle_error_msg; if (evt.error()) { auto message = evt.format_error_message(); + lifecycle_error_msg = message.first; if (evt.critical_error()) { if (q->m_tracking_popup_menu) { // We don't want to pop-up a message box when tracking a pop-up menu. @@ -12458,6 +12846,14 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt) is_finished = true; } + { + Slic3r::LifecycleEventContext ctx; + ctx.name = lifecycle_job_name; + ctx.code = evt.cancelled() ? Slic3r::LifecycleEvtCode::Warn : (has_error ? Slic3r::LifecycleEvtCode::Error : Slic3r::LifecycleEvtCode::Ok); + ctx.msg = evt.cancelled() ? "cancelled" : (has_error ? lifecycle_error_msg : std::string()); + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::SlicingJobComplete, ctx); + } + //BBS: set the current plater's slice result to valid if (!this->background_process.empty()) this->background_process.get_current_plate()->update_slice_result_valid_state(evt.success()); @@ -12614,17 +13010,8 @@ void Plater::priv::on_action_add(SimpleEvent&) //BBS: add plate from toolbar void Plater::priv::on_action_add_plate(SimpleEvent&) { - if (q != nullptr) { - take_snapshot("add partplate"); - this->partplate_list.create_plate(); - int new_plate = this->partplate_list.get_plate_count() - 1; - this->partplate_list.select_plate(new_plate); - update(); - - // BBS set default view - //q->get_camera().select_view("topfront"); - q->get_camera().requires_zoom_to_plate = REQUIRES_ZOOM_TO_ALL_PLATE; - } + if (q != nullptr) + q->add_plate(); } //BBS: remove plate from toolbar @@ -12795,17 +13182,17 @@ void Plater::priv::on_tab_selection_changing(wxBookCtrlEvent& e) // Pointer test, not a name lookup: in printer-agents mode this page is TAB_ID_MONITOR_WEB // while the native Device tab holds TAB_ID_MONITOR, and in legacy-web mode it holds // TAB_ID_MONITOR itself. - const bool selecting_web_device_tab = main_frame->m_printer_view && - main_frame->m_tabpanel->GetPage(new_sel) == main_frame->m_printer_view; + const bool selecting_web_device_tab = main_frame->m_printer_view_page && + main_frame->m_tabpanel->GetPage(new_sel) == main_frame->m_printer_view_page; if (selecting_web_device_tab) { // Use the selected discovered machine when the preset has no host. main_frame->load_printer_url(); } else if (new_name == TAB_ID_MONITOR && wxGetApp().preset_bundle != nullptr) { auto cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config; wxString url = from_u8(PrintHost::get_print_host_webui(&cfg)); - if (main_frame->m_printer_view && url.empty()) { + if (PrinterWebView* view = PrinterWebView::if_built(); view != nullptr && url.empty()) { // It's missing_connection page, reload so that we can replay the gif image - main_frame->m_printer_view->reload(); + view->reload(); } } } @@ -13531,6 +13918,14 @@ void Plater::priv::unbind_canvas_event_handlers() if (assemble_view != nullptr) assemble_view->get_canvas3d()->unbind_event_handlers(); + +#ifdef SLIC3R_CAD + // The Design tab's viewport is a fourth GLCanvas3D on the same shared GL context, owned by + // MainFrame rather than by us — same reach as reset() uses for clear_document(). Null until + // the tab has been opened once, so most sessions skip it. + if (DesignPanel* design = DesignPanel::if_built()) + design->unbind_canvas_event_handlers(); +#endif } void Plater::priv::reset_canvas_volumes() @@ -13540,6 +13935,11 @@ void Plater::priv::reset_canvas_volumes() if (preview != nullptr) preview->get_canvas3d()->reset_volumes(); + +#ifdef SLIC3R_CAD + if (DesignPanel* design = DesignPanel::if_built()) + design->reset_canvas_volumes(); +#endif } bool Plater::priv::check_ams_status_impl(bool is_slice_all) @@ -14950,7 +15350,7 @@ Print& Plater::fff_print() { return p->fff_print; } const SLAPrint& Plater::sla_print() const { return p->sla_print; } SLAPrint& Plater::sla_print() { return p->sla_print; } -int Plater::new_project(bool skip_confirm, bool silent, const wxString& project_name) +int Plater::new_project(bool skip_confirm, bool silent, const wxString& project_name, bool reload_presets) { model().calib_pa_pattern.reset(nullptr); model().plates_custom_gcodes.clear(); @@ -14987,21 +15387,33 @@ int Plater::new_project(bool skip_confirm, bool silent, const wxString& project_ //get_partplate_list().reinit(); //get_partplate_list().update_slice_context_to_current_plate(p->background_process); //p->preview->update_gcode_result(p->partplate_list.get_current_slice_result()); - reset(transfer_preset_changes); - reset_project_dirty_after_save(); - reset_project_dirty_initial_presets(); - wxGetApp().update_saved_preset_from_current_preset(); - update_project_dirty_from_presets(); + if (!silent) { + Slic3r::LifecycleEventContext ctx; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::NewProject, ctx); + } + { + // Same rationale as in Plater::priv::reset(): the whole reset + preset-reload + + // baseline-reset sequence below settles into its final dirty state only once it + // completes, so hold notifications until then to avoid firing on transient flips. + ProjectDirtyStateManager::NotificationSuppressor dirty_notify_suppressor(p->dirty_state); - //reset project - p->project.reset(); - //set project name - if (project_name.empty()) - p->set_project_name(_L("Untitled")); - else - p->set_project_name(project_name); + reset(transfer_preset_changes, reload_presets); + reset_project_dirty_after_save(); + reset_project_dirty_initial_presets(); + wxGetApp().update_saved_preset_from_current_preset(); + update_project_dirty_from_presets(); - Plater::TakeSnapshot snapshot(this, "New Project", UndoRedo::SnapshotType::ProjectSeparator); + //reset project + p->project.reset(); + //set project name + if (project_name.empty()) + p->set_project_name(_L("Untitled")); + else + p->set_project_name(project_name); + + Plater::TakeSnapshot snapshot(this, "New Project", UndoRedo::SnapshotType::ProjectSeparator); + } Model m; model().load_from(m); // new id avoid same path name @@ -15104,24 +15516,41 @@ void Plater::load_project(wxString const& filename2, if (strategy & LoadStrategy::Restore) input_paths.push_back(into_u8(originfile)); - std::vector<size_t> res = load_files(input_paths, strategy); + bool loaded_published = false; + std::vector<size_t> res = load_files(input_paths, strategy, false, &loaded_published); reset_project_dirty_initial_presets(); update_project_dirty_from_presets(); wxGetApp().preset_bundle->export_selections(*wxGetApp().app_config); // if res is empty no data has been loaded - if (!res.empty() && (load_restore || !(strategy & LoadStrategy::Silence))) { + if (!res.empty() && !loaded_published && (load_restore || !(strategy & LoadStrategy::Silence))) { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << __LINE__ << " call set_project_filename: " << (load_restore ? originfile : filename); p->set_project_filename(load_restore ? originfile : filename); if (load_restore && originfile.IsEmpty()) { p->set_project_name(_L("Untitled")); } + { + Slic3r::LifecycleEventContext ctx; + ctx.name = into_u8(load_restore ? originfile : filename); + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ProjectOpened, ctx); + } + } else { if (using_exported_file()) { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << __LINE__ << " using ecported set project filename: " << filename; p->set_project_filename(filename); + } else if (loaded_published && !res.empty()) { + // A "published" 3MF loads as a new project: its path must not become the project + // filename (Save/Ctrl-S prompts for a destination instead of overwriting it); + // reset() already cleared the project name, so restore the default title and keep + // the file in recents. Only on a successful load (res not empty): a failed or + // cancelled load must not pollute "Recently opened". + p->set_project_name(_L("Untitled")); + if (!filename.IsEmpty()) + wxGetApp().mainframe->add_to_recent_projects(filename); } } @@ -15180,11 +15609,23 @@ int Plater::save_project(bool saveAs) if (full_pathnames) { save_strategy = save_strategy | SaveStrategy::FullPathSources; } + { + Slic3r::LifecycleEventContext ctx; + ctx.name = into_u8(filename); + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ProjectBeforeSave, ctx); + } if (export_3mf(into_path(filename), save_strategy) < 0) { MessageDialog(this, _L("Failed to save the project.\nPlease check whether the folder exists online or if other programs have the project file open."), _L("Save project"), wxOK | wxICON_WARNING).ShowModal(); return wxID_CANCEL; } + { + Slic3r::LifecycleEventContext ctx; + ctx.name = into_u8(filename); + ctx.code = Slic3r::LifecycleEvtCode::Ok; + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::ProjectAfterSave, ctx); + } Slic3r::remove_backup(model(), false); @@ -15481,8 +15922,12 @@ bool Plater::up_to_date(bool saved, bool backup) Slic3r::clear_other_changes(backup); return p->up_to_date(saved, backup); } - return p->model.objects.empty() || (p->up_to_date(saved, backup) && - !Slic3r::has_other_changes(backup)); + // A Design-tab project is object-less until it is committed to the plate, but its feature + // tree is real work: treating it as an empty project skipped both the autosave and the + // "unsaved changes" prompt, so quitting threw it away without asking. Non-CAD projects + // never carry a recipe, so the empty-project shortcut is unchanged for them. + return (p->model.objects.empty() && p->model.cad_recipe.empty()) || + (p->up_to_date(saved, backup) && !Slic3r::has_other_changes(backup)); } bool Plater::add_model(bool imperial_units, std::string fname) @@ -15559,6 +16004,7 @@ void Plater::calib_pa(const Calib_Params& params) auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; print_config->set_key_value("overhang_reverse", new ConfigOptionBool(false)); print_config->set_key_value("precise_z_height", new ConfigOptionBool(false)); + print_config->set_key_value("wipe_inward", new ConfigOptionBool(false)); printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false}); switch (params.mode) { case CalibMode::Calib_PA_Line: @@ -15962,7 +16408,9 @@ void adjust_settings_for_flowrate_calib(ModelObjectPtrs& objects, bool linear, i _obj->config.set_key_value("internal_solid_infill_line_width", new ConfigOptionFloatOrPercent(nozzle_diameter * 1.2f, false)); // ORCA: use the pattern parameter _obj->config.set_key_value("top_surface_pattern", new ConfigOptionEnum<InfillPattern>(pattern)); - _obj->config.set_key_value("top_solid_infill_flow_ratio", new ConfigOptionFloat(1.0f)); + const auto *top_solid_flow = dynamic_cast<const ConfigOptionFloatsNullable *>(_obj->config.option("top_solid_infill_flow_ratio")); + _obj->config.set_key_value("top_solid_infill_flow_ratio", + new ConfigOptionFloatsNullable(top_solid_flow ? top_solid_flow->size() : 1, 1.0f)); _obj->config.set_key_value("infill_direction", new ConfigOptionFloat(45)); _obj->config.set_key_value("solid_infill_direction", new ConfigOptionFloat(135)); _obj->config.set_key_value("center_of_surface_pattern", new ConfigOptionEnum<CenterOfSurfacePattern>(CenterOfSurfacePattern::Each_Surface)); @@ -16244,6 +16692,7 @@ void Plater::calib_retraction(const Calib_Params& params) auto obj = model().objects[0]; print_config->set_key_value("enable_wrapping_detection", new ConfigOptionBool(false)); + print_config->set_key_value("wipe_inward", new ConfigOptionBool(false)); float nozzle_diameter = printer_config->option<ConfigOptionFloats>("nozzle_diameter")->get_at(0); float layer_height; @@ -16779,22 +17228,12 @@ void Plater::force_update_all_plate_thumbnails() } // BBS: backup -std::vector<size_t> Plater::load_files(const std::vector<fs::path>& input_files, LoadStrategy strategy, bool ask_multi) { +std::vector<size_t> Plater::load_files(const std::vector<fs::path>& input_files, LoadStrategy strategy, bool ask_multi, bool* published_out) { //BBS: wish to reset state when load a new file p->m_slice_all_only_has_gcode = false; //BBS: wish to reset all plates stats item selected state when load a new file p->preview->get_canvas3d()->reset_select_plate_toolbar_selection(); - return p->load_files(input_files, strategy, ask_multi); -} - -// To be called when providing a list of files to the GUI slic3r on command line. -std::vector<size_t> Plater::load_files(const std::vector<std::string>& input_files, LoadStrategy strategy, bool ask_multi) -{ - std::vector<fs::path> paths; - paths.reserve(input_files.size()); - for (const std::string& path : input_files) - paths.emplace_back(path); - return p->load_files(paths, strategy, ask_multi); + return p->load_files(input_files, strategy, ask_multi, published_out); } bool Plater::preview_zip_archive(const boost::filesystem::path& archive_path) @@ -17524,6 +17963,19 @@ Sidebar::DockingState Plater::get_sidebar_docking_state() const { return p->get_ void Plater::reset_window_layout() { p->reset_window_layout(); } +void Plater::add_dock_pane(wxWindow* window, const std::string& name, const wxString& caption, const std::string& dock, + const wxSize& size, std::function<void()> on_close) +{ + p->add_dock_pane(window, name, caption, dock, size, std::move(on_close)); +} +void Plater::remove_dock_pane(wxWindow* window) { p->remove_dock_pane(window); } +void Plater::remove_dock_panes() +{ + while (!p->m_dock_panes.empty()) + p->remove_dock_pane(p->m_dock_panes.begin()->first); +} +void Plater::show_dock_pane(wxWindow* window, bool show) { p->show_dock_pane(window, show); } + //BBS void Plater::select_curr_plate_all() { p->select_curr_plate_all(); } void Plater::remove_curr_plate_all() { p->remove_curr_plate_all(); } @@ -17533,7 +17985,7 @@ void Plater::deselect_all() { p->deselect_all(); } void Plater::exit_gizmo() { p->exit_gizmo(); } void Plater::remove(size_t obj_idx) { p->remove(obj_idx); } -void Plater::reset(bool apply_presets_change) { p->reset(apply_presets_change); } +void Plater::reset(bool apply_presets_change, bool reload_presets) { p->reset(apply_presets_change, reload_presets); } void Plater::reset_with_confirm() { if (p->model.objects.empty() || MessageDialog(static_cast<wxWindow *>(this), _L("All objects will be removed, continue?"), @@ -17653,6 +18105,10 @@ void Plater::increase_instances(size_t num) model_object->add_instance(offset_vec, model_instance->get_scaling_factor(), model_instance->get_rotation(), model_instance->get_mirror()); // p->print.get_object(obj_idx)->add_copy(Slic3r::to_2d(offset_vec)); } + // Register the copies with the plate they land on before the scene reloads: the plate's + // filament list and wipe tower preview are read from that registry. + for (size_t i = model_object->instances.size() - num; i < model_object->instances.size(); ++i) + p->partplate_list.notify_instance_update(obj_idx, static_cast<int>(i)); #ifdef SUPPORT_AUTO_CENTER if (p->get_config("autocenter") == "true") @@ -17683,8 +18139,10 @@ void Plater::decrease_instances(size_t num) ModelObject* model_object = p->model.objects[obj_idx]; if (model_object->instances.size() > num) { - for (size_t i = 0; i < num; ++ i) + for (size_t i = 0; i < num; ++ i) { + p->partplate_list.notify_instance_removed(obj_idx, static_cast<int>(model_object->instances.size()) - 1); model_object->delete_last_instance(); + } p->update(); // Delete object from Sidebar list. Do it after update, so that the GLScene selection is updated with the modified model. sidebar().obj_list()->decrease_object_instances(obj_idx, num); @@ -18023,7 +18481,6 @@ void Plater::send_gcode_finish(wxString name) auto out_str = GUI::format(_L("The file %s has been sent to the printer's storage space and can be viewed on the printer."), name); p->notification_manager->push_exporting_finished_notification(out_str, "", false); } - void Plater::export_core_3mf() { wxString path = p->get_export_file(FT_3MF); @@ -18032,6 +18489,182 @@ void Plater::export_core_3mf() export_3mf(path_u8, SaveStrategy::Silence); } +// Export the current project as a "published" 3MF: a pure export that never touches the +// project's file name, dirty state, backup path or title, and attaches the published metadata +// to the model only for the duration of the export (a later Save Project is a normal 3MF). +int Plater::export_published_3mf(const std::vector<std::string>& published_keys, + const std::vector<Slic3r::PublishedMaterialEntry>& material_keys) +{ + wxString path = p->get_export_file(FT_3MF, _L("Publish 3MF file as:"), true); + if (path.empty() || path == "<cancel>") + return wxID_CANCEL; + + nlohmann::json j = nlohmann::json::array(); + for (const std::string& key : published_keys) + j.push_back(key); + nlohmann::json jm = nlohmann::json::array(); + for (const Slic3r::PublishedMaterialEntry& e : material_keys) + jm.push_back({{"material", + {{"filament_type", e.filament_type}, + {"filament_vendor", e.filament_vendor}, + {"filament_id", e.filament_id}, + {"setting_id", e.setting_id}, + {"name", e.preset_name}}}, + {"slot", e.slot}, + {"keys", e.keys}, + {"full", e.full}, + {"full_keys", e.full_keys}, + {"publish_type", e.publish_type}, + {"type", e.publish_type_value}, + {"publish_color", e.publish_color}, + {"color", e.color}}); + + Model& model = this->model(); + // Save the previous metadata so it can be restored after the export, keeping the in-memory + // project pristine (the published flag lives only in the exported file). + const bool had_model_info = (model.model_info != nullptr); + const bool had_published = had_model_info && + (model.model_info->metadata_items.find(ORCA_PUBLISHED_TAG) != model.model_info->metadata_items.end()); + const bool had_published_keys = had_model_info && (model.model_info->metadata_items.find(ORCA_PUBLISHED_KEYS_TAG) != + model.model_info->metadata_items.end()); + const bool had_material_keys = had_model_info && (model.model_info->metadata_items.find(ORCA_PUBLISHED_MATERIAL_TAG) != + model.model_info->metadata_items.end()); + const bool had_payload = had_model_info && + (model.model_info->metadata_items.find(ORCA_PUBLISHED_CONFIG_TAG) != model.model_info->metadata_items.end()); + const std::string prev_published = had_published ? model.model_info->metadata_items.at(ORCA_PUBLISHED_TAG) : std::string(); + const std::string prev_published_keys = had_published_keys ? model.model_info->metadata_items.at(ORCA_PUBLISHED_KEYS_TAG) : + std::string(); + const std::string prev_material_keys = had_material_keys ? model.model_info->metadata_items.at(ORCA_PUBLISHED_MATERIAL_TAG) : + std::string(); + const std::string prev_payload = had_payload ? model.model_info->metadata_items.at(ORCA_PUBLISHED_CONFIG_TAG) : std::string(); + + // export_3mf() assigns archive paths to previously unsaved SVGs. Preserve those fields too, + // otherwise a publish changes what a later normal project save writes. + std::vector<std::pair<std::string*, std::string>> previous_svg_paths; + for (ModelObject* object : model.objects) + for (ModelVolume* volume : object->volumes) + if (volume != nullptr && volume->emboss_shape.has_value() && volume->emboss_shape->svg_file.has_value()) { + std::string* path_in_3mf = &volume->emboss_shape->svg_file->path_in_3mf; + previous_svg_paths.emplace_back(path_in_3mf, *path_in_3mf); + } + + auto restore_temporary_state = [&]() { + for (const auto& [path_in_3mf, previous_path] : previous_svg_paths) + *path_in_3mf = previous_path; + + if (!had_model_info) { + model.model_info = nullptr; + } else { + if (had_published) + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = prev_published; + else + model.model_info->metadata_items.erase(ORCA_PUBLISHED_TAG); + if (had_published_keys) + model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] = prev_published_keys; + else + model.model_info->metadata_items.erase(ORCA_PUBLISHED_KEYS_TAG); + if (had_material_keys) + model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] = prev_material_keys; + else + model.model_info->metadata_items.erase(ORCA_PUBLISHED_MATERIAL_TAG); + if (had_payload) + model.model_info->metadata_items[ORCA_PUBLISHED_CONFIG_TAG] = prev_payload; + else + model.model_info->metadata_items.erase(ORCA_PUBLISHED_CONFIG_TAG); + } + }; + bool state_restored = false; + auto restore_now = [&]() { + if (state_restored) + return; + restore_temporary_state(); + state_restored = true; + }; + ScopeGuard restore_guard(restore_now); + + if (model.model_info == nullptr) + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = "1"; + model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] = j.dump(); + model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] = jm.dump(); + + int ret = -1; + try { + // Minimal published export: filter full_config to the published keys, material keys, + // identity fields and plate geometry keys, and omit the project config file, the + // project-embedded preset dumps and the OrcaSlicer version tag from the archive. The + // filtered values are serialized into the published_config metadata payload instead, so + // OrcaSlicer versions without the publish feature fall back to importing the geometry only + // (keeping the receiver's presets) while new versions rebuild the config from the payload. + DynamicPrintConfig full_cfg = wxGetApp().preset_bundle->full_config_secure(); + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, published_keys, material_keys); + std::string payload; + for (const std::string& key : filtered_cfg.keys()) { + // A value containing a newline would break the INI written below (read_ini throws), + // so load_from_ini_string discards the whole settings block on import. Skip such + // keys instead of silently dropping every setting. + std::string value = filtered_cfg.opt_serialize(key); + if (value.find('\n') != std::string::npos) { + BOOST_LOG_TRIVIAL(warning) << "publish: dropping key \"" << key + << "\" from the published payload (value contains a newline)"; + continue; + } + payload += key + " = " + value + "\n"; + } + model.model_info->metadata_items[ORCA_PUBLISHED_CONFIG_TAG] = std::move(payload); + + // Same file layout as save_project(), plus Silence (so export_3mf does not set the project + // filename on success, keeping this a pure export like export_core_3mf()) and MinimalPublished. + auto save_strategy = SaveStrategy::SplitModel | SaveStrategy::ShareMesh | SaveStrategy::Silence | SaveStrategy::MinimalPublished; + bool full_pathnames = wxGetApp().app_config->get_bool("export_sources_full_pathnames"); + if (full_pathnames) + save_strategy = save_strategy | SaveStrategy::FullPathSources; + ret = export_3mf(into_path(path), save_strategy, -1, nullptr); + } catch (...) { + restore_now(); + MessageDialog(this, + _L("Failed to export the published 3MF file.\nPlease check whether the folder exists online or if other programs " + "have the file open."), + _L("Publish"), wxOK | wxICON_WARNING) + .ShowModal(); + return wxID_CANCEL; + } + + if (ret < 0) { + restore_now(); + MessageDialog(this, + _L("Failed to export the published 3MF file.\nPlease check whether the folder exists online or if other programs " + "have the file open."), + _L("Publish"), wxOK | wxICON_WARNING) + .ShowModal(); + return wxID_CANCEL; + } + restore_now(); + + // Register the exported file in the "Recently opened" list + wxGetApp().mainframe->add_to_recent_projects(path); + + return wxID_YES; +} + +bool Plater::get_pending_published(std::vector<std::string>& out_keys, + std::vector<Slic3r::PublishedMaterialEntry>& out_material) const +{ + if (!p->m_has_pending_published) + return false; + out_keys = p->m_pending_published_keys; + out_material = p->m_pending_material_keys; + return true; +} + +void Plater::set_pending_published(const std::vector<std::string>& published_keys, + const std::vector<Slic3r::PublishedMaterialEntry>& material_keys) +{ + p->m_has_pending_published = true; + p->m_pending_published_keys = published_keys; + p->m_pending_material_keys = material_keys; +} + Preset *get_printer_preset(const MachineObject *obj) { if (!obj) @@ -19369,7 +20002,7 @@ int Plater::export_config_3mf(int plate_idx, Export3mfProgressFn proFn) void Plater::send_calibration_job_finished(wxCommandEvent & evt) { p->main_frame->request_select_tab(TAB_ID_CALIBRATION); - auto calibration_panel = p->main_frame->m_calibration; + CalibrationPanel* calibration_panel = CalibrationPanel::ensure(); if (calibration_panel) { auto curr_wizard = static_cast<CalibrationWizard*>(calibration_panel->get_tabpanel()->GetPage(evt.GetInt())); wxCommandEvent event(EVT_CALIBRATION_JOB_FINISHED); @@ -19401,8 +20034,8 @@ void Plater::print_job_finished(wxCommandEvent &evt) dev->set_selected_machine(evt.GetString().ToStdString()); p->main_frame->request_select_tab(TAB_ID_MONITOR); - //jump to monitor and select device status panel - MonitorPanel* curr_monitor = p->main_frame->m_monitor; + // Selects the status page on a built Device tab; one built by the switch starts there. + MonitorPanel* curr_monitor = MonitorPanel::if_built(); if(curr_monitor) curr_monitor->get_tabpanel()->ChangeSelection(MonitorPanel::PrinterTab::PT_STATUS); } @@ -20142,8 +20775,8 @@ void Plater::update_print_error_info(int code, std::string msg, std::string extr if (p->m_send_to_sdcard_dlg) { p->m_send_to_sdcard_dlg->update_print_error_info(code, msg, extra); } - if (p->main_frame->m_calibration) - p->main_frame->m_calibration->update_print_error_info(code, msg, extra); + if (CalibrationPanel* calibration = CalibrationPanel::if_built()) + calibration->update_print_error_info(code, msg, extra); } wxString Plater::get_project_filename(const wxString& extension) const @@ -20327,6 +20960,14 @@ void Plater::changed_object(ModelObject &object){ // Check outside bed get_current_canvas3D()->requires_check_outside_state(); + + if (!is_loading_project()) { + LifecycleEventContext ctx; + ctx.name = object.name; + ctx.id = std::to_string(object.id().id); + ctx.source = "geometry"; + fire_lifecycle_event(LifecycleEvent::ObjectChanged, ctx); + } } void Plater::changed_object(int obj_idx) @@ -20363,6 +21004,20 @@ void Plater::changed_objects(const std::vector<size_t>& object_idxs) // update print this->p->schedule_background_process(); + + if (!is_loading_project()) { + for (size_t obj_idx : object_idxs) { + if (obj_idx >= p->model.objects.size() || p->model.objects[obj_idx] == nullptr) + continue; + + LifecycleEventContext ctx; + ctx.name = p->model.objects[obj_idx]->name; + ctx.id = std::to_string(p->model.objects[obj_idx]->id().id); + ctx.index = static_cast<int>(obj_idx); + ctx.source = "geometry"; + fire_lifecycle_event(LifecycleEvent::ObjectChanged, ctx); + } + } } void Plater::schedule_background_process(bool schedule/* = true*/) @@ -20414,7 +21069,8 @@ void Plater::pop_warning_and_go_to_device_page(wxString printer_name, PrinterWar { printer_name.Replace("Bambu Lab", "", false); wxString content; - bool device_page = (wxGetApp().mainframe == nullptr) && (wxGetApp().mainframe->m_monitor->IsShown()); + MainFrame* frame = wxGetApp().mainframe; + bool device_page = frame != nullptr && frame->m_monitor_page->in_book(); if (type == PrinterWarningType::NOT_CONNECTED) { if (device_page) { content = wxString::Format(_L("Printer not connected. Please go to the device page to connect %s before syncing."), @@ -21496,6 +22152,24 @@ int Plater::select_plate_by_hover_id(int hover_id, bool right_click, bool isModi return ret; } +//BBS: add an empty plate and switch to it (mirrors the toolbar's Add Plate). +int Plater::add_plate() +{ + if (!p->can_add_plate()) + return -1; + take_snapshot("add partplate"); + int new_plate = p->partplate_list.create_plate(); + if (new_plate < 0) + return new_plate; + p->partplate_list.select_plate(new_plate); + update(); + + // BBS set default view + //get_camera().select_view("topfront"); + p->camera.requires_zoom_to_plate = REQUIRES_ZOOM_TO_ALL_PLATE; + return new_plate; +} + int Plater::duplicate_plate(int plate_index) { int index = plate_index, ret; @@ -21953,6 +22627,16 @@ bool Plater::is_wireframe_enabled() const return p->wireframe_enabled; } +void Plater::toggle_show_xray() +{ + p->show_xray = !p->show_xray; +} + +bool Plater::is_show_xray() const +{ + return p->show_xray; +} + /*Plater::TakeSnapshot::TakeSnapshot(Plater *plater, const std::string &snapshot_name) : TakeSnapshot(plater, from_u8(snapshot_name)) {} diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 5308deec61..90d0e5e673 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -42,6 +42,7 @@ class Button; namespace Slic3r { class BuildVolume; +class MachineObject; enum class BuildVolume_Type : char; class Model; class ModelObject; @@ -282,6 +283,7 @@ public: std::vector<std::string>& types, std::vector<size_t>* config_indices = nullptr); Search::OptionsSearcher& get_searcher(); + Search::SettingsIndex& settings_index(); std::string& get_search_line(); void update_printer_thumbnail(); @@ -337,7 +339,7 @@ public: // Helper: returns config indices where filament_is_mixed == false std::vector<size_t> physical_filament_config_indices() const; - int new_project(bool skip_confirm = false, bool silent = false, const wxString& project_name = wxString()); + int new_project(bool skip_confirm = false, bool silent = false, const wxString& project_name = wxString(), bool reload_presets = true); // BBS: save & backup void load_project(wxString const & filename = "", wxString const & originfile = "-"); int save_project(bool saveAs = false); @@ -407,9 +409,7 @@ public: bool preview_zip_archive(const boost::filesystem::path& archive_path); // BBS: restore - std::vector<size_t> load_files(const std::vector<boost::filesystem::path>& input_files, LoadStrategy strategy = LoadStrategy::LoadModel | LoadStrategy::LoadConfig, bool ask_multi = false); - // To be called when providing a list of files to the GUI slic3r on command line. - std::vector<size_t> load_files(const std::vector<std::string>& input_files, LoadStrategy strategy = LoadStrategy::LoadModel | LoadStrategy::LoadConfig, bool ask_multi = false); + std::vector<size_t> load_files(const std::vector<boost::filesystem::path>& input_files, LoadStrategy strategy = LoadStrategy::LoadModel | LoadStrategy::LoadConfig, bool ask_multi = false, bool* published_out = nullptr); // to be called on drag and drop bool load_files(const wxArrayString& filenames); @@ -476,6 +476,17 @@ public: void reset_window_layout(); + // Dock panes sit alongside the sidebar; `window` must be a child of the Plater. `dock` is + // "left", "right", "bottom" or "float", and `size` is in DIPs. A pane closed from its own close + // button is destroyed after on_close runs; remove_dock_pane() destroys it without calling on_close. + void add_dock_pane(wxWindow* window, const std::string& name, const wxString& caption, const std::string& dock, + const wxSize& size, std::function<void()> on_close); + void remove_dock_pane(wxWindow* window); + void show_dock_pane(wxWindow* window, bool show); + // Removes every dock pane without calling on_close, for MainFrame::shutdown() (app exit and a + // language switch), while the Plater and any floating frames still exist. + void remove_dock_panes(); + // Called after the Preferences dialog is closed and the program settings are saved. // Update the UI based on the current preferences. void update_ui_from_settings(); @@ -488,7 +499,7 @@ public: void deselect_all(); void exit_gizmo(); void remove(size_t obj_idx); - void reset(bool apply_presets_change = false); + void reset(bool apply_presets_change = false, bool reload_presets = true); void reset_with_confirm(); //BBS: return int for various result int close_with_confirm(std::function<bool(bool yes_or_no)> second_check = nullptr); // BBS close project @@ -519,6 +530,13 @@ public: void export_gcode_3mf(bool export_all = false); void send_gcode_finish(wxString name); void export_core_3mf(); + // Export a "published" 3MF embedding the author-selected settings in the file metadata; a + // pure export that leaves the in-memory project untouched. + int export_published_3mf(const std::vector<std::string>& published_keys, const std::vector<Slic3r::PublishedMaterialEntry>& material_keys); + // Session-level stash of the last published selection, seeded into the Publish dialog on + // open and written on publish or on loading a published 3MF + bool get_pending_published(std::vector<std::string>& out_keys, std::vector<Slic3r::PublishedMaterialEntry>& out_material) const; + void set_pending_published(const std::vector<std::string>& published_keys, const std::vector<Slic3r::PublishedMaterialEntry>& material_keys); static TriangleMesh combine_mesh_fff(const ModelObject& mo, int instance_id, std::function<void(const std::string&)> notify_func = {}); void export_stl(bool extended = false, bool selection_only = false, bool multi_stls = false, FileType file_type = FT_STL); //BBS: remove amf @@ -775,6 +793,9 @@ public: void apply_background_progress(); //BBS: select the plate by hover_id int select_plate_by_hover_id(int hover_id, bool right_click = false, bool isModidyPlateName = false); + //BBS: add an empty plate and switch to it (the toolbar's Add Plate). Returns the new + // plate index, or -1 when the plate cap is reached. + int add_plate(); //BBS: delete the plate, index= -1 means the current plate int delete_plate(int plate_index = -1); int duplicate_plate(int plate_index = -1); @@ -946,6 +967,9 @@ public: void enable_wireframe(bool status); bool is_wireframe_enabled() const; + void toggle_show_xray(); + bool is_show_xray() const; + // Wrapper around wxWindow::PopupMenu to suppress error messages popping out while tracking the popup menu. bool PopupMenu(wxMenu *menu, const wxPoint& pos = wxDefaultPosition); bool PopupMenu(wxMenu *menu, int x, int y) { return this->PopupMenu(menu, wxPoint(x, y)); } diff --git a/src/slic3r/GUI/PluginPickerDialog.cpp b/src/slic3r/GUI/PluginPickerDialog.cpp index d0c387b0c0..5109b3b483 100644 --- a/src/slic3r/GUI/PluginPickerDialog.cpp +++ b/src/slic3r/GUI/PluginPickerDialog.cpp @@ -9,14 +9,17 @@ #include "GUI.hpp" #include "I18N.hpp" +#include "GUI_App.hpp" + +#include "Widgets/DialogButtons.hpp" + namespace Slic3r { namespace GUI { PluginPickerDialog::PluginPickerDialog(wxWindow* parent, const wxString& plugin_type_label, const std::vector<Slic3r::PluginDescriptor>& plugins) - : wxDialog(parent, wxID_ANY, wxString::Format(_L("Select %s Plugin"), plugin_type_label)) + : DPIDialog(parent, wxID_ANY, wxString::Format(_L("Select %s Plugin"), plugin_type_label)) , m_plugins(plugins) - , m_capability_mode(false) { build_ui(plugin_type_label); CentreOnParent(); @@ -25,9 +28,8 @@ PluginPickerDialog::PluginPickerDialog(wxWindow* parent, PluginPickerDialog::PluginPickerDialog(wxWindow* parent, const wxString& plugin_type_label, std::vector<CapabilityEntry> capabilities) - : wxDialog(parent, wxID_ANY, wxString::Format(_L("Select %s Plugin"), plugin_type_label)) + : DPIDialog(parent, wxID_ANY, wxString::Format(_L("Select %s Plugin"), plugin_type_label)) , m_capabilities(std::move(capabilities)) - , m_capability_mode(true) { build_capability_ui(plugin_type_label); CentreOnParent(); @@ -35,12 +37,18 @@ PluginPickerDialog::PluginPickerDialog(wxWindow* parent, void PluginPickerDialog::build_ui(const wxString& plugin_type_label) { + SetBackgroundColour(*wxWHITE); + const bool has_plugins = !m_plugins.empty(); auto* top_sizer = new wxBoxSizer(wxVERTICAL); auto* info_text = new wxStaticText(this, wxID_ANY, wxString::Format(_L("Choose a %s plugin from the list below."), plugin_type_label)); - top_sizer->Add(info_text, 0, wxALL | wxEXPAND, 10); + info_text->SetFont(Label::Body_14); + info_text->SetForegroundColour(wxColour("#363636")); + top_sizer->Add(info_text, 0, wxALL | wxEXPAND, FromDIP(10)); + + top_sizer->AddSpacer(FromDIP(5)); wxArrayString choices; choices.reserve(m_plugins.size()); @@ -51,84 +59,103 @@ void PluginPickerDialog::build_ui(const wxString& plugin_type_label) choices.Add(label); } - m_choice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices); + m_choice = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY); + for (const wxString &opt : choices) { m_choice->Append(opt); } + if (has_plugins) { m_choice->SetSelection(0); - m_choice->Bind(wxEVT_CHOICE, [this](wxCommandEvent& evt) { + m_choice->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& evt) { update_description(evt.GetSelection()); }); } else { m_choice->Enable(false); } - top_sizer->Add(m_choice, 0, wxLEFT | wxRIGHT | wxEXPAND, 10); + top_sizer->Add(m_choice, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(10)); m_description = new wxStaticText(this, wxID_ANY, wxEmptyString); + m_description->SetFont(Label::Body_14); + m_description->SetForegroundColour(wxColour("#363636")); m_description->Wrap(400); - top_sizer->Add(m_description, 0, wxALL | wxEXPAND, 10); + top_sizer->Add(m_description, 0, wxALL | wxEXPAND, FromDIP(10)); if (has_plugins) update_description(0); else m_description->SetLabel(_L("No plugins found for this type.")); - auto* button_sizer = new wxStdDialogButtonSizer(); - auto* ok_button = new wxButton(this, wxID_OK); - ok_button->Enable(has_plugins); - button_sizer->AddButton(ok_button); - button_sizer->AddButton(new wxButton(this, wxID_CANCEL)); - button_sizer->Realize(); + auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"}); - top_sizer->Add(button_sizer, 0, wxALL | wxALIGN_RIGHT, 10); + dlg_btns->GetOK()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { EndModal(wxID_OK); }); + dlg_btns->GetOK()->Enable(has_plugins); + + dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { EndModal(wxID_CANCEL); }); + + top_sizer->Add(dlg_btns, 0, wxEXPAND); SetSizerAndFit(top_sizer); + + wxGetApp().UpdateDlgDarkUI(this); } void PluginPickerDialog::build_capability_ui(const wxString& plugin_type_label) { + SetBackgroundColour(*wxWHITE); + const bool has_capabilities = !m_capabilities.empty(); auto* top_sizer = new wxBoxSizer(wxVERTICAL); auto* info_text = new wxStaticText(this, wxID_ANY, wxString::Format(_L("Choose a %s plugin from the list below."), plugin_type_label)); - top_sizer->Add(info_text, 0, wxALL | wxEXPAND, 10); + info_text->SetFont(Label::Body_14); + info_text->SetForegroundColour(wxColour("#363636")); + + top_sizer->Add(info_text, 0, wxALL | wxEXPAND, FromDIP(10)); + + top_sizer->AddSpacer(FromDIP(5)); wxArrayString choices; choices.reserve(m_capabilities.size()); for (const auto& cap : m_capabilities) choices.Add(cap.label); - m_choice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices); + m_choice = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY); + for (const wxString &opt : choices) { m_choice->Append(opt); } + if (has_capabilities) { m_choice->SetSelection(0); - m_choice->Bind(wxEVT_CHOICE, [this](wxCommandEvent& evt) { + m_choice->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& evt) { update_capability_description(evt.GetSelection()); }); } else { m_choice->Enable(false); } - top_sizer->Add(m_choice, 0, wxLEFT | wxRIGHT | wxEXPAND, 10); + top_sizer->Add(m_choice, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(10)); m_description = new wxStaticText(this, wxID_ANY, wxEmptyString); + m_description->SetFont(Label::Body_14); + m_description->SetForegroundColour(wxColour("#363636")); m_description->Wrap(400); - top_sizer->Add(m_description, 0, wxALL | wxEXPAND, 10); + top_sizer->Add(m_description, 0, wxALL | wxEXPAND, FromDIP(10)); if (has_capabilities) update_capability_description(0); else m_description->SetLabel(_L("No plugins found for this type.")); - auto* button_sizer = new wxStdDialogButtonSizer(); - auto* ok_button = new wxButton(this, wxID_OK); - ok_button->Enable(has_capabilities); - button_sizer->AddButton(ok_button); - button_sizer->AddButton(new wxButton(this, wxID_CANCEL)); - button_sizer->Realize(); + auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"}); - top_sizer->Add(button_sizer, 0, wxALL | wxALIGN_RIGHT, 10); + dlg_btns->GetOK()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { EndModal(wxID_OK); }); + dlg_btns->GetOK()->Enable(has_capabilities); + + dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { EndModal(wxID_CANCEL); }); + + top_sizer->Add(dlg_btns, 0, wxEXPAND); SetSizerAndFit(top_sizer); + + wxGetApp().UpdateDlgDarkUI(this); } PluginPickerDialog::CapabilityEntry PluginPickerDialog::selected_capability() const @@ -187,4 +214,6 @@ void PluginPickerDialog::update_description(int selection) Layout(); } +void PluginPickerDialog::on_dpi_changed(const wxRect &suggested_rect) {} + }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/PluginPickerDialog.hpp b/src/slic3r/GUI/PluginPickerDialog.hpp index 0d676eb04d..6ae4163c5f 100644 --- a/src/slic3r/GUI/PluginPickerDialog.hpp +++ b/src/slic3r/GUI/PluginPickerDialog.hpp @@ -11,9 +11,12 @@ #include "slic3r/plugin/PluginManager.hpp" +#include "GUI_Utils.hpp" +#include "Widgets/ComboBox.hpp" + namespace Slic3r { namespace GUI { -class PluginPickerDialog : public wxDialog +class PluginPickerDialog : public DPIDialog { public: // Entry for capability-level selection (plugin_type non-empty path). @@ -40,17 +43,18 @@ public: // Returns the {plugin_key, name} of the selected capability (capability path). CapabilityEntry selected_capability() const; + void on_dpi_changed(const wxRect &suggested_rect) override; + private: void build_ui(const wxString& plugin_type_label); void build_capability_ui(const wxString& plugin_type_label); void update_description(int selection); void update_capability_description(int selection); - wxChoice* m_choice { nullptr }; + ComboBox* m_choice { nullptr }; wxStaticText* m_description { nullptr }; std::vector<Slic3r::PluginDescriptor> m_plugins; std::vector<CapabilityEntry> m_capabilities; - bool m_capability_mode { false }; }; }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/PluginsConfigDialog.cpp b/src/slic3r/GUI/PluginsConfigDialog.cpp index 0241b47b8c..9a79588af1 100644 --- a/src/slic3r/GUI/PluginsConfigDialog.cpp +++ b/src/slic3r/GUI/PluginsConfigDialog.cpp @@ -1,6 +1,7 @@ #include "PluginsConfigDialog.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" #include "I18N.hpp" #include "format.hpp" diff --git a/src/slic3r/GUI/PluginsDialog.cpp b/src/slic3r/GUI/PluginsDialog.cpp index a39fcbc535..8b8a89a45a 100644 --- a/src/slic3r/GUI/PluginsDialog.cpp +++ b/src/slic3r/GUI/PluginsDialog.cpp @@ -2,6 +2,7 @@ #include "GUI.hpp" #include "GUI_App.hpp" +#include "slic3r/Utils/NetworkAgent.hpp" #include "I18N.hpp" #include "OrcaCloudServiceAgent.hpp" #include "slic3r/plugin/PluginConfig.hpp" @@ -125,15 +126,6 @@ PluginCapabilityType primary_capability_type_of(PluginManager& manager, const st return capabilities.empty() ? PluginCapabilityType::Unknown : capabilities.front()->type(); } -std::vector<PluginDescriptor> current_cloud_metadata_snapshot() -{ - std::vector<PluginDescriptor> cloud_entries; - for (const PluginDescriptor& entry : PluginManager::instance().get_plugin_descriptors(/*include_invalid=*/true)) - if (entry.is_cloud_plugin()) - cloud_entries.push_back(entry); - return cloud_entries; -} - PluginDescriptor as_cloud_only_descriptor(PluginDescriptor descriptor) { descriptor.plugin_root.clear(); @@ -149,41 +141,6 @@ PluginDescriptor as_cloud_only_descriptor(PluginDescriptor descriptor) return descriptor; } -void refresh_plugin_metadata_blocking(bool fetch_cloud) -{ - PluginManager& manager = PluginManager::instance(); - - std::vector<std::string> not_found, unauthorized; - const std::vector<PluginDescriptor> current_cloud_metadata = fetch_cloud ? std::vector<PluginDescriptor>{} : - current_cloud_metadata_snapshot(); - - manager.rescan_plugins(); - - if (!fetch_cloud) { - manager.update_cloud_metadata(current_cloud_metadata); - return; - } - - manager.fetch_plugins_from_cloud(¬_found, &unauthorized); - - wxGetApp().CallAfter([not_found = std::move(not_found), unauthorized = std::move(unauthorized)]() { - if (wxGetApp().is_closing()) - return; - Plater* plater = wxGetApp().plater(); - if (plater == nullptr) - return; - - for (const auto& uuid : not_found) - plater->get_notification_manager()->push_notification(NotificationType::CustomNotification, - NotificationManager::NotificationLevel::RegularNotificationLevel, - format(_L("Plugin %s is no longer available."), uuid)); - for (const auto& uuid : unauthorized) - plater->get_notification_manager()->push_notification(NotificationType::CustomNotification, - NotificationManager::NotificationLevel::RegularNotificationLevel, - format(_L("Plugin %s access is unauthorized."), uuid)); - }); -} - std::string to_string(PluginUpdateStatus status); nlohmann::json build_context_actions_payload(const PluginAvailableActions& available_actions); @@ -447,6 +404,176 @@ bool take_plugin_operation_result(const std::shared_ptr<PluginOperationState>& s } } // namespace +// ── Dialog-independent plugin actions (also used by the speed dial) ─────────────────────────── + +namespace { + +// Snapshot of the currently-known cloud plugin descriptors, used to refresh metadata without a +// network round-trip (kUseCurrentCloudMeta). +std::vector<PluginDescriptor> current_cloud_metadata_snapshot() +{ + std::vector<PluginDescriptor> cloud_entries; + for (const PluginDescriptor& entry : PluginManager::instance().get_plugin_descriptors(/*include_invalid=*/true)) + if (entry.is_cloud_plugin()) + cloud_entries.push_back(entry); + return cloud_entries; +} + +} // namespace + +void refresh_plugin_metadata_blocking(bool fetch_cloud) +{ + PluginManager& manager = PluginManager::instance(); + + std::vector<std::string> not_found, unauthorized; + const std::vector<PluginDescriptor> current_cloud_metadata = fetch_cloud ? std::vector<PluginDescriptor>{} : + current_cloud_metadata_snapshot(); + + manager.rescan_plugins(); + + if (!fetch_cloud) { + manager.update_cloud_metadata(current_cloud_metadata); + return; + } + + manager.fetch_plugins_from_cloud(¬_found, &unauthorized); + + wxGetApp().CallAfter([not_found = std::move(not_found), unauthorized = std::move(unauthorized)]() { + if (wxGetApp().is_closing()) + return; + Plater* plater = wxGetApp().plater(); + if (plater == nullptr) + return; + + for (const auto& uuid : not_found) + plater->get_notification_manager()->push_notification(NotificationType::CustomNotification, + NotificationManager::NotificationLevel::RegularNotificationLevel, + format(_L("Plugin %s is no longer available."), uuid)); + for (const auto& uuid : unauthorized) + plater->get_notification_manager()->push_notification(NotificationType::CustomNotification, + NotificationManager::NotificationLevel::RegularNotificationLevel, + format(_L("Plugin %s access is unauthorized."), uuid)); + }); +} + +void open_plugin_hub() +{ + std::string cloud_base_url = "https://cloud.orcaslicer.com"; + + if (wxGetApp().getAgent()) { + auto orca_agent = std::dynamic_pointer_cast<OrcaCloudServiceAgent>(wxGetApp().getAgent()->get_cloud_agent()); + if (orca_agent && !orca_agent->get_cloud_base_url().empty()) + cloud_base_url = orca_agent->get_cloud_base_url(); + } + + while (!cloud_base_url.empty() && cloud_base_url.back() == '/') + cloud_base_url.pop_back(); + if (cloud_base_url.empty()) + cloud_base_url = "https://cloud.orcaslicer.com"; + + wxLaunchDefaultBrowser(wxString::FromUTF8(cloud_base_url + "/app/plugins/plugin-hub")); +} + +bool install_local_plugin_package(const boost::filesystem::path& package_file, wxWindow* parent, wxString& message) +{ + message.clear(); + if (package_file.empty()) + return false; + + // ---- pre-flight (main thread): validate + inspect + overwrite prompt ---- + const wxString package_name = from_u8(package_file.filename().string()); + + std::string extension = package_file.extension().string(); + std::transform(extension.begin(), extension.end(), extension.begin(), + [](unsigned char ch) { return static_cast<char>(std::tolower(ch)); }); + if (extension != ".py" && extension != ".whl") { + message = _L("Select a .py or .whl plugin package."); + return false; + } + + PluginDescriptor plugin_descriptor; + bool existing_installation = false; + std::string error; + try { + if (!PluginManager::instance().inspect_local_plugin_package(package_file, plugin_descriptor, existing_installation, error)) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": Plugin package inspection failed for " << package_file << " error=" << error; + message = _L("Failed to install plugin package. See the log for details."); + return false; + } + } catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": Plugin package inspection failed for " << package_file << " error=" << ex.what(); + message = _L("Failed to install plugin package. See the log for details."); + return false; + } catch (...) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": Plugin package inspection failed for " << package_file; + message = _L("Failed to install plugin package. See the log for details."); + return false; + } + + if (existing_installation) { + const wxString plugin_name = from_u8(plugin_descriptor.name.empty() ? package_file.filename().string() : plugin_descriptor.name); + wxMessageDialog dialog(parent, + wxString::Format(_L("Plugin \"%s\" is already installed.\n\nInstalling this package will overwrite the existing plugin."), + plugin_name), + kOverwritePluginTitle, wxOK | wxCANCEL | wxCANCEL_DEFAULT | wxICON_WARNING); + dialog.SetOKCancelLabels(_L("Overwrite"), _L("Cancel")); + if (dialog.ShowModal() != wxID_OK) { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": Plugin package installation cancelled before overwrite. package=" << package_file + << " plugin=" << plugin_descriptor.name; + return false; // cancelled: message stays empty so callers stay silent + } + } + + // ---- install + refresh on a worker behind a modal progress dialog (keeps the UI live) ---- + bool installed = false; + { + struct Result + { + std::mutex mutex; + bool ok = false; + std::string error; + }; + auto state = std::make_shared<Result>(); + + detail::run_wait_with_progress( + [state, package_file]() { + std::string error; + bool ok = false; + try { + ok = PluginManager::instance().install_plugin(package_file, error); + } catch (const std::exception& ex) { + error = ex.what(); + } catch (...) { + error = "Unknown error"; + } + if (ok) { + // Reflect the new package in discovery/cloud metadata without blocking the caller. + try { refresh_plugin_metadata_blocking(kUseCurrentCloudMeta); } catch (...) {} + } + std::lock_guard<std::mutex> lock(state->mutex); + state->ok = ok; + state->error = std::move(error); + }, + parent, _L("Installing plugin"), _L("Installing plugin") + ": " + package_name, 100, + wxPD_APP_MODAL | wxPD_AUTO_HIDE | wxPD_ELAPSED_TIME, /*alive=*/nullptr, /*restore=*/{}); + + std::lock_guard<std::mutex> lock(state->mutex); + installed = state->ok; + error = std::move(state->error); + } + + if (!installed) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": Plugin package installation failed for " << package_file << " error=" << error; + message = _L("Failed to install plugin package. See the log for details."); + return false; + } + + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": Plugin package installed successfully from " << package_file; + const wxString installed_name = from_u8(plugin_descriptor.name.empty() ? package_file.filename().string() : plugin_descriptor.name); + message = wxString::Format(_L("Installed \"%s\"."), installed_name); + return true; +} + PluginsDialog::PluginsDialog(wxWindow* parent, wxWindowID id, const wxString&, const wxPoint& pos, const wxSize& size, long style) : WebViewHostDialog(parent, id, _L("Plugins"), pos, size, style) { create_webview("web/dialog/PluginsDialog/index.html", _L("Plugins"), wxSize(900, 820), wxSize(760, 715)); } @@ -818,78 +945,31 @@ bool PluginsDialog::install_plugin_package(const std::string& package_path) { if (package_path.empty()) return false; - BOOST_LOG_TRIVIAL(info) << "Installing local plugin package from path: " << package_path; - std::string error; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": Installing local plugin package from path: " << package_path; + const boost::filesystem::path package_file(package_path); - const wxString package_name = from_u8(package_file.filename().string()); + wxString message; + const bool installed = install_local_plugin_package(package_file, this, message); + // The helper's overwrite prompt and progress dialog can push this webview behind; re-raise it + // once, after both have closed (the speed-dial path parents to the mainframe instead). + restore_z_order(); - std::string extension = package_file.extension().string(); - std::transform(extension.begin(), extension.end(), extension.begin(), - [](unsigned char ch) { return static_cast<char>(std::tolower(ch)); }); - if (extension != ".py" && extension != ".whl") { - show_status(_L("Select a .py or .whl plugin package."), "info"); - return false; - } - - PluginDescriptor plugin_descriptor; - bool existing_installation = false; - auto report_inspection_failure = [&]() { - BOOST_LOG_TRIVIAL(error) << "Plugin package inspection failed for " << package_path << " error=" << error; - show_status(_L("Failed to install plugin package. See the log for details."), "warn"); + // The shared helper reports a user-cancelled overwrite with an empty message: stay silent. + if (message.IsEmpty()) { send_plugins(); return false; - }; - - try { - if (!PluginManager::instance().inspect_local_plugin_package(package_file, plugin_descriptor, existing_installation, error)) - return report_inspection_failure(); - } catch (const std::exception& ex) { - error = ex.what(); - return report_inspection_failure(); - } catch (...) { - error = "Unknown error"; - return report_inspection_failure(); - } - - if (existing_installation) { - const wxString plugin_name = from_u8(plugin_descriptor.name.empty() ? package_file.filename().string() : plugin_descriptor.name); - wxMessageDialog dialog( - this, - wxString::Format(_L("Plugin \"%s\" is already installed.\n\nInstalling this package will overwrite the existing plugin."), - plugin_name), - kOverwritePluginTitle, wxOK | wxCANCEL | wxCANCEL_DEFAULT | wxICON_WARNING); - dialog.SetOKCancelLabels(_L("Overwrite"), _L("Cancel")); - const int overwrite_rc = dialog.ShowModal(); - restore_z_order(); - if (overwrite_rc != wxID_OK) { - BOOST_LOG_TRIVIAL(info) << "Plugin package installation cancelled before overwrite. package=" << package_path - << " plugin=" << plugin_descriptor.name; - return false; - } - } - - bool installed = false; - try { - installed = run_with_dialog_wait([package_file, &error]() { return PluginManager::instance().install_plugin(package_file, error); }, - _L("Installing plugin"), _L("Installing plugin") + ": " + package_name, 100, - wxPD_APP_MODAL | wxPD_AUTO_HIDE | wxPD_ELAPSED_TIME); - } catch (const std::exception& ex) { - error = ex.what(); - } catch (...) { - error = "Unknown error"; } if (!installed) { - BOOST_LOG_TRIVIAL(error) << "Plugin package installation failed for " << package_path << " error=" << error; - show_status(_L("Failed to install plugin package. See the log for details."), "warn"); + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": Failed to install plugin package."; + show_status(message, "warn"); send_plugins(); return false; } - BOOST_LOG_TRIVIAL(info) << "Plugin package installed successfully from " << package_path; - const wxString installed_name = from_u8(plugin_descriptor.name.empty() ? package_file.filename().string() : plugin_descriptor.name); - show_status(wxString::Format(_L("Installed \"%s\"."), installed_name), "success"); - refresh_plugin_metadata_async(_L("Refreshing"), _L("Refreshing plugins data"), kUseCurrentCloudMeta); + show_status(message, "success"); + prompt_for_missing_plugins(); + send_plugins(); return true; } @@ -1085,23 +1165,7 @@ void PluginsDialog::open_plugin_on_cloud(const std::string& sharing_token) wxLaunchDefaultBrowser(wxString::FromUTF8(orca_agent->get_cloud_base_url() + "/p/" + sharing_token)); } -void PluginsDialog::open_plugin_hub() -{ - std::string cloud_base_url = "https://cloud.orcaslicer.com"; - - if (wxGetApp().getAgent()) { - auto orca_agent = std::dynamic_pointer_cast<OrcaCloudServiceAgent>(wxGetApp().getAgent()->get_cloud_agent()); - if (orca_agent && !orca_agent->get_cloud_base_url().empty()) - cloud_base_url = orca_agent->get_cloud_base_url(); - } - - while (!cloud_base_url.empty() && cloud_base_url.back() == '/') - cloud_base_url.pop_back(); - if (cloud_base_url.empty()) - cloud_base_url = "https://cloud.orcaslicer.com"; - - wxLaunchDefaultBrowser(wxString::FromUTF8(cloud_base_url + "/app/plugins/plugin-hub")); -} +void PluginsDialog::open_plugin_hub() { Slic3r::GUI::open_plugin_hub(); } void PluginsDialog::delete_local_plugin(const PluginDescriptor& plugin) { diff --git a/src/slic3r/GUI/PluginsDialog.hpp b/src/slic3r/GUI/PluginsDialog.hpp index e663de79e4..c85e57040c 100644 --- a/src/slic3r/GUI/PluginsDialog.hpp +++ b/src/slic3r/GUI/PluginsDialog.hpp @@ -2,6 +2,7 @@ #define slic3r_PluginsDialog_hpp_ #include "Widgets/WebViewHostDialog.hpp" +#include "Widgets/ProgressDialog.hpp" #include "PluginSource.hpp" #include "PluginStatus.hpp" #include "PluginSort.hpp" @@ -24,6 +25,8 @@ #include <wx/string.h> #include <wx/timer.h> +#include <boost/filesystem.hpp> + class wxTimer; namespace Slic3r { @@ -34,6 +37,184 @@ enum class PluginCapabilityType; namespace GUI { +// Dialog-independent plugin-management actions, shared by the Plugins dialog and the speed dial: +// they never require the webview dialog to be open. + +// Rescans local plugins and (optionally) re-fetches cloud metadata. Blocking: run off the UI +// thread. Used by PluginsDialog (behind its progress dialog) and GUI_App::refresh_plugins(). +void refresh_plugin_metadata_blocking(bool fetch_cloud); + +// Opens the Cloud plugin hub in the default browser. No dialog needed. +void open_plugin_hub(); + +// Synchronously installs a local plugin package (.py/.whl). Runs on the UI thread but keeps it +// responsive by performing the install on a worker behind a modal progress dialog. `parent` owns +// the overwrite prompt and the progress dialog. On success `message` carries the localized +// confirmation; on a user-cancelled overwrite it is empty; on failure it carries the reason. +bool install_local_plugin_package(const boost::filesystem::path& package_file, wxWindow* parent, wxString& message); + +namespace detail { + +// Shared worker + modal-progress machinery: pulse a progress dialog while `run` executes on a +// detached worker, then run `on_finish` back on the UI thread. `alive`, when non-null, gates both +// the pulse and `on_finish` so a worker outliving its dialog can't touch freed windows; pass null +// for a dialog-independent caller. `restore` runs after the progress dialog is destroyed and before +// `on_finish`, so a webview host can re-raise itself. `finish_after_dialog_destroyed` still calls +// `on_finish` (without touching the dialog) when the host died, so a waiting loop can exit. +template<typename Run, typename OnFinish> +void run_off_thread_with_progress(Run&& run, + OnFinish&& on_finish, + wxWindow* parent, + const wxString& title, + const wxString& message, + int maximum, + int style, + std::shared_ptr<std::atomic<bool>> alive, + bool finish_after_dialog_destroyed, + std::function<void()> restore) +{ + wxProgressDialog* progress = new wxProgressDialog(title, message, maximum, parent, style); + wxTimer* timer = new wxTimer(); + + timer->Bind(wxEVT_TIMER, [alive, progress, message](wxTimerEvent&) { + if ((!alive || alive->load(std::memory_order_acquire)) && progress) + progress->Pulse(message); + }); + + timer->Start(100); + + std::thread([alive, + progress, + timer, + run = std::forward<Run>(run), + on_finish = std::forward<OnFinish>(on_finish), + finish_after_dialog_destroyed, + restore = std::move(restore)]() mutable { + try { + run(); + } catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(error) << "Plugin dialog worker failed: " << ex.what(); + } catch (...) { + BOOST_LOG_TRIVIAL(error) << "Plugin dialog worker failed with an unknown exception"; + } + + if (wxTheApp == nullptr) + return; + + wxTheApp->CallAfter([alive, + progress, + timer, + on_finish = std::move(on_finish), + finish_after_dialog_destroyed, + restore = std::move(restore)]() mutable { + timer->Stop(); + delete timer; + + if (!alive || alive->load(std::memory_order_acquire)) { + progress->Destroy(); + if (restore) + restore(); + on_finish(); + } else if (finish_after_dialog_destroyed) { + on_finish(); + } + }); + }).detach(); +} + +// Wait for a worker behind a progress dialog, returning its result (or rethrowing). The waiting +// loop stays responsive because it pumps the event loop the worker posts its completion into. +template<typename Run> +std::invoke_result_t<std::decay_t<Run>&> run_wait_with_progress(Run&& run, + wxWindow* parent, + const wxString& title, + const wxString& message, + int maximum, + int style, + std::shared_ptr<std::atomic<bool>> alive, + std::function<void()> restore) +{ + using Result = std::invoke_result_t<std::decay_t<Run>&>; + + bool finished = false; + wxEventLoop loop; + auto on_finish = [&finished, &loop]() { + finished = true; + if (loop.IsRunning()) + loop.Exit(); + }; + + if constexpr (std::is_void_v<Result>) { + struct WaitState + { + std::mutex mutex; + std::exception_ptr exception; + }; + + auto state = std::make_shared<WaitState>(); + run_off_thread_with_progress( + [run = std::forward<Run>(run), state]() mutable { + try { + run(); + } catch (...) { + std::lock_guard<std::mutex> lock(state->mutex); + state->exception = std::current_exception(); + } + }, + on_finish, parent, title, message, maximum, style, std::move(alive), /*finish_after_dialog_destroyed=*/true, std::move(restore)); + + if (!finished) + loop.Run(); + + std::exception_ptr exception; + { + std::lock_guard<std::mutex> lock(state->mutex); + exception = state->exception; + } + if (exception) + std::rethrow_exception(exception); + } else { + using StoredResult = std::decay_t<Result>; + struct WaitState + { + std::mutex mutex; + std::optional<StoredResult> result; + std::exception_ptr exception; + }; + + auto state = std::make_shared<WaitState>(); + run_off_thread_with_progress( + [run = std::forward<Run>(run), state]() mutable { + try { + StoredResult result = run(); + std::lock_guard<std::mutex> lock(state->mutex); + state->result.emplace(std::move(result)); + } catch (...) { + std::lock_guard<std::mutex> lock(state->mutex); + state->exception = std::current_exception(); + } + }, + on_finish, parent, title, message, maximum, style, std::move(alive), /*finish_after_dialog_destroyed=*/true, std::move(restore)); + + if (!finished) + loop.Run(); + + std::optional<StoredResult> result; + std::exception_ptr exception; + { + std::lock_guard<std::mutex> lock(state->mutex); + if (state->result) + result.emplace(std::move(*state->result)); + exception = state->exception; + } + if (exception) + std::rethrow_exception(exception); + return std::move(*result); + } +} + +} // namespace detail + class PluginsDialog : public Slic3r::GUI::WebViewHostDialog { public: @@ -107,56 +288,11 @@ private: const wxString& title, const wxString& message, int maximum = 100, - int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE, + int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE, // | wxPD_CAN_ABORT for cancel button bool finish_after_dialog_destroyed = false) { - const auto alive = m_alive; - wxProgressDialog* progress = new wxProgressDialog(title, message, maximum, this, style); - wxTimer* timer = new wxTimer(); - - timer->Bind(wxEVT_TIMER, [alive, progress, message](wxTimerEvent&) { - if (alive->load(std::memory_order_acquire) && progress) - progress->Pulse(message); - }); - - timer->Start(100); - - std::thread([this, - alive, - progress, - timer, - run = std::forward<Run>(run), - on_finish = std::forward<OnFinish>(on_finish), - finish_after_dialog_destroyed]() mutable { - try { - run(); - } catch (const std::exception& ex) { - BOOST_LOG_TRIVIAL(error) << "Plugin dialog worker failed: " << ex.what(); - } catch (...) { - BOOST_LOG_TRIVIAL(error) << "Plugin dialog worker failed with an unknown exception"; - } - - if (wxTheApp == nullptr) - return; - - wxTheApp->CallAfter([this, - alive, - progress, - timer, - on_finish = std::move(on_finish), - finish_after_dialog_destroyed]() mutable { - timer->Stop(); - delete timer; - - if (alive->load(std::memory_order_acquire)) { - progress->Destroy(); - restore_z_order(); - on_finish(); - } else if (finish_after_dialog_destroyed) { - on_finish(); - } - }); - }).detach(); + detail::run_off_thread_with_progress(std::forward<Run>(run), std::forward<OnFinish>(on_finish), this, title, message, maximum, style, + m_alive, finish_after_dialog_destroyed, [this] { restore_z_order(); }); } template<typename Run> @@ -166,83 +302,7 @@ private: int maximum = 100, int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE) { - using Result = std::invoke_result_t<std::decay_t<Run>&>; - - bool finished = false; - wxEventLoop loop; - auto on_finish = [&finished, &loop]() { - finished = true; - if (loop.IsRunning()) - loop.Exit(); - }; - - if constexpr (std::is_void_v<Result>) { - struct WaitState - { - std::mutex mutex; - std::exception_ptr exception; - }; - - auto state = std::make_shared<WaitState>(); - run_with_dialog( - [run = std::forward<Run>(run), state]() mutable { - try { - run(); - } catch (...) { - std::lock_guard<std::mutex> lock(state->mutex); - state->exception = std::current_exception(); - } - }, - on_finish, title, message, maximum, style, true); - - if (!finished) - loop.Run(); - - std::exception_ptr exception; - { - std::lock_guard<std::mutex> lock(state->mutex); - exception = state->exception; - } - if (exception) - std::rethrow_exception(exception); - } else { - using StoredResult = std::decay_t<Result>; - struct WaitState - { - std::mutex mutex; - std::optional<StoredResult> result; - std::exception_ptr exception; - }; - - auto state = std::make_shared<WaitState>(); - run_with_dialog( - [run = std::forward<Run>(run), state]() mutable { - try { - StoredResult result = run(); - std::lock_guard<std::mutex> lock(state->mutex); - state->result.emplace(std::move(result)); - } catch (...) { - std::lock_guard<std::mutex> lock(state->mutex); - state->exception = std::current_exception(); - } - }, - on_finish, title, message, maximum, style, true); - - if (!finished) - loop.Run(); - - std::optional<StoredResult> result; - std::exception_ptr exception; - { - std::lock_guard<std::mutex> lock(state->mutex); - if (state->result) - result.emplace(std::move(*state->result)); - exception = state->exception; - } - if (exception) - std::rethrow_exception(exception); - return std::move(*result); - } + return detail::run_wait_with_progress(std::forward<Run>(run), this, title, message, maximum, style, m_alive, [this] { restore_z_order(); }); } std::function<void()> m_open_terminal_dlg_fn; diff --git a/src/slic3r/GUI/PrebuildQueue.hpp b/src/slic3r/GUI/PrebuildQueue.hpp new file mode 100644 index 0000000000..c013f53865 --- /dev/null +++ b/src/slic3r/GUI/PrebuildQueue.hpp @@ -0,0 +1,89 @@ +#pragma once + +#include <algorithm> +#include <functional> +#include <string> +#include <vector> + +#include "Lazy.hpp" + +namespace Slic3r { namespace GUI { + +// Holders to build at idle, ordered by prebuild_order(), run one slice at a time. The +// holders outlive the queue. Main thread only. +class PrebuildQueue +{ +public: + struct Slice + { + std::string name; // the task that ran; empty when nothing was pending + int units{ 0 }; // units run + long long ms{ 0 }; // time spent + bool completed{ false }; // the task has no more units + bool remaining{ false }; // some task is still pending + }; + + // Lower order runs first, equal order in the order added. + void add(LazyBase& task) + { + auto after = std::find_if(m_tasks.begin(), m_tasks.end(), [&](const LazyBase* t) { return t->prebuild_order() > task.prebuild_order(); }); + m_tasks.insert(after, &task); + } + + void clear() { m_tasks.clear(); } + + bool pending() const + { + return std::any_of(m_tasks.begin(), m_tasks.end(), [](const LazyBase* t) { return t->pending(); }); + } + + // The task names in queue order, comma separated. + std::string names() const + { + std::string out; + for (const LazyBase* t : m_tasks) + out += (out.empty() ? "" : ", ") + t->name(); + return out; + } + + // Runs units of the first pending task until it completes, budget_ms of now_ms() have + // passed, or interrupt() is true after a unit; on_unit gets the task name and each + // unit's duration. A task with no work is passed over and stays in the queue, so one + // whose work returns is pending again. + Slice run_slice(int budget_ms, + const std::function<long long()>& now_ms, + const std::function<bool()>& interrupt, + const std::function<void(const std::string&, long long)>& on_unit = {}) + { + Slice slice; + auto next = std::find_if(m_tasks.begin(), m_tasks.end(), [](const LazyBase* t) { return t->pending(); }); + if (next == m_tasks.end()) + return slice; + // The pointer is copied out, since a unit may add tasks and reallocate m_tasks. + LazyBase* const task = *next; + slice.name = task->name(); + const long long started = now_ms(); + for (;;) { + const long long unit_started = now_ms(); + const bool more = task->build_step(); + const long long now = now_ms(); + ++slice.units; + if (on_unit) + on_unit(slice.name, now - unit_started); + slice.ms = now - started; + if (!more) { + slice.completed = true; + break; + } + if (slice.ms >= budget_ms || interrupt()) + break; + } + slice.remaining = pending(); + return slice; + } + +private: + std::vector<LazyBase*> m_tasks; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 08483f3100..055449c35d 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -2,12 +2,14 @@ #include "OptionsGroup.hpp" #include "GUI_App.hpp" #include "MainFrame.hpp" +#include "WebViewDialog.hpp" #include "Plater.hpp" #include "GLCanvas3D.hpp" // ORCA: for live preview refresh when toggling "Dim lower layers" #include "MsgDialog.hpp" #include "I18N.hpp" #include "libslic3r/AppConfig.hpp" #include "libslic3r/Format/DRC.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" #include <wx/language.h> #include "OG_CustomCtrl.hpp" #include "wx/graphics.h" @@ -16,6 +18,7 @@ #include "NetworkTestDialog.hpp" #include "Widgets/StaticLine.hpp" #include "Widgets/RadioGroup.hpp" +#include "Shortcuts.hpp" #include "slic3r/Utils/bambu_networking.hpp" #include "slic3r/Utils/NetworkAgent.hpp" #include "NetworkPluginDialog.hpp" @@ -283,6 +286,7 @@ std::tuple<wxBoxSizer*, ComboBox*> PreferencesDialog::create_item_combobox_base( auto combobox = new ::ComboBox(m_parent, wxID_ANY, wxEmptyString, wxDefaultPosition, DESIGN_LARGE_COMBOBOX_SIZE, 0, nullptr, wxCB_READONLY); combobox->GetDropDown().SetUseContentWidth(true); combobox->SetToolTip(tip); + combobox->SetName(param); // select_tab() finds the row by this name std::vector<wxString>::iterator iter; for (iter = vlist.begin(); iter != vlist.end(); iter++) { @@ -366,7 +370,8 @@ wxBoxSizer *PreferencesDialog::create_item_language_combobox(wxString title, wxS wxLANGUAGE_PORTUGUESE_BRAZILIAN, wxLANGUAGE_LITHUANIAN, wxLANGUAGE_VIETNAMESE, - wxLANGUAGE_THAI + wxLANGUAGE_THAI, + wxLANGUAGE_ROMANIAN }; auto translations = wxTranslations::Get()->GetAvailableTranslations(SLIC3R_APP_KEY); @@ -507,26 +512,14 @@ wxBoxSizer *PreferencesDialog::create_item_language_combobox(wxString title, wxS } } - - // the dialog needs to be destroyed before the call to switch_language() - // or sometimes the application crashes into wxDialogBase() destructor - // so we put it into an inner scope - MessageDialog msg_wingow(nullptr, _L("Switching languages requires the application to restart.\n") + "\n" + _L("Do you want to continue?"), - L("Language selection"), wxICON_QUESTION | wxOK | wxCANCEL); - if (msg_wingow.ShowModal() == wxID_CANCEL) { + MessageDialog msg_window(nullptr, _L("Switching languages requires the application to restart.\n") + "\n" + _L("Do you want to continue?"), + _L("Language selection"), wxICON_QUESTION | wxOK | wxCANCEL); + if (msg_window.ShowModal() == wxID_CANCEL) { combobox->SetSelection(m_current_language_selected); return; } } - auto check = [](bool yes_or_no) { - // if (yes_or_no) - // return true; - int act_btns = ActionButtons::SAVE; - return wxGetApp().check_and_keep_current_preset_changes(_L("Switching application language"), - _L("Switching application language while some presets are modified."), act_btns); - }; - m_current_language_selected = combobox->GetSelection(); if (m_current_language_selected >= 0 && m_current_language_selected < vlist.size()) { m_pending_language = vlist[m_current_language_selected]->CanonicalName.ToUTF8().data(); @@ -1014,6 +1007,7 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too checkbox->SetToolTip(tip); if (param == "sync_user_preset") { m_sync_user_preset_checkbox = checkbox; } + if (param == SETTING_OPENGL_SKIP_IDENTICAL_FRAMES) { m_skip_identical_frames_checkbox = checkbox; } m_sizer->Add(checkbox, 0, wxALIGN_CENTER); @@ -1031,11 +1025,6 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too app_config->set_bool(param, checkbox->GetValue()); app_config->save(); - // if (param == "staff_pick_switch") { - // bool pbool = app_config->get("staff_pick_switch") == "true"; - // wxGetApp().switch_staff_pick(pbool); - // } - if (param == "sync_user_preset") { bool sync = app_config->get("sync_user_preset") == "true" ? true : false; if (sync) { @@ -1045,6 +1034,9 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too } BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " sync_user_preset: " << (sync ? "true" : "false"); } + else if (param == SETTING_OPENGL_SCENE_CACHE) { + if (m_skip_identical_frames_checkbox) m_skip_identical_frames_checkbox->Enable(checkbox->GetValue()); + } else if (param == "stealth_mode") { bool enabled = app_config->get_stealth_mode(); if (enabled) wxGetApp().on_stealth_mode_enter(); @@ -1052,8 +1044,8 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too if (m_bambu_cloud_checkbox) m_bambu_cloud_checkbox->Enable(!enabled); } else if (param == "hide_login_side_panel") { - if (wxGetApp().mainframe && wxGetApp().mainframe->m_webview) { - wxGetApp().mainframe->m_webview->SendCloudProvidersInfo(); + if (WebViewPanel* home = WebViewPanel::if_built()) { + home->SendCloudProvidersInfo(); } } // ORCA: apply the preview dimming change immediately to the currently loaded preview @@ -1262,9 +1254,8 @@ wxBoxSizer *PreferencesDialog::create_item_bambu_cloud(wxString title, wxString app_config->save(); // Update homepage visibility immediately - auto *mainframe = wxGetApp().mainframe; - if (mainframe && mainframe->m_webview) - mainframe->m_webview->SendCloudProvidersInfo(); + if (WebViewPanel* home = WebViewPanel::if_built()) + home->SendCloudProvidersInfo(); }); m_sizer->Add(cb, 0, wxALIGN_CENTER); @@ -1484,7 +1475,7 @@ void PreferencesDialog::create() app_config = get_app_config(); m_parent = new MyscrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_parent->SetScrollRate(5, 5); + m_parent->SetScrollRate(0, FromDIP(20)); m_parent->SetBackgroundColour(*wxWHITE); m_sizer_body = new wxBoxSizer(wxVERTICAL); @@ -1532,6 +1523,19 @@ PreferencesDialog::~PreferencesDialog() { } +void PreferencesDialog::select_tab(PreferencesTab tab, const std::string& option) +{ + if (const auto index = m_tab_index.find(tab); index != m_tab_index.end()) + m_pref_tabs->SelectItem(index->second); + wxWindow* control = option.empty() ? nullptr : m_parent->FindWindow(wxString(option)); + if (control == nullptr) + return; + int unit = 1; + m_parent->GetScrollPixelsPerUnit(nullptr, &unit); + m_parent->Scroll(wxDefaultCoord, (m_parent->CalcUnscrolledPosition(control->GetPosition()).y - FromDIP(10)) / unit); + control->SetFocus(); // the focused tint marks the row +} + void PreferencesDialog::on_dpi_changed(const wxRect &suggested_rect) { m_pref_tabs->Rescale(); @@ -1609,7 +1613,7 @@ void PreferencesDialog::create_items() ////////////////////////// //// GENERAL TAB ///////////////////////////////////// - m_pref_tabs->AppendItem(_L("General")); + m_tab_index[PreferencesTab::General] = m_pref_tabs->AppendItem(_L("General")); f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); g_sizer = f_sizers.back(); g_sizer->AddGrowableCol(0, 1); @@ -1740,6 +1744,36 @@ void PreferencesDialog::create_items() auto item_multi_machine = create_item_checkbox(_L("Multi device management"), _L("With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices."), "enable_multi_machine", _L("(Requires restart)")); g_sizer->Add(item_multi_machine); + auto item_speed_dial = create_item_checkbox(_L("Open the Speed Dial from the keyboard"), + _L("When enabled, the Speed Dial keyboard shortcut (Space by default) opens the action search from any page."), + "enable_speed_dial"); + g_sizer->Add(item_speed_dial); + + auto item_speed_dial_recents = create_item_spinctrl( + _L("Recent actions"), + "", + _L("actions"), + _L("How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions."), + SETTING_SPEED_DIAL_RECENT_COUNT, + SPEED_DIAL_RECENT_COUNT_MIN, + SPEED_DIAL_RECENT_COUNT_MAX); + g_sizer->Add(item_speed_dial_recents); + +#ifdef SLIC3R_CAD + auto item_cad_feature = create_item_checkbox(_L("CAD feature (experimental)"), + _L("With this option enabled, the Design tab is shown, where models can be built and edited " + "parametrically. This feature is experimental and still under development."), + "enable_cad_feature", _L("(Requires restart)")); + g_sizer->Add(item_cad_feature); + + auto item_auto_close_sketch_loops = create_item_checkbox(_L("Auto-close sketch loops"), + _L("Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. " + "Off: only exactly coincident endpoints join, so a loop with a tiny gap is " + "shown as open instead of being closed for you."), + "auto_close_sketch_loops"); + g_sizer->Add(item_auto_close_sketch_loops); +#endif + #if 0 g_sizer->Add(create_item_title(_L("Filament Grouping")), 1, wxEXPAND); //temporarily disable it @@ -1769,7 +1803,7 @@ void PreferencesDialog::create_items() ////////////////////////// //// CONTROL TAB ///////////////////////////////////// - m_pref_tabs->AppendItem(_L("Control")); + m_tab_index[PreferencesTab::Control] = m_pref_tabs->AppendItem(_L("Control")); f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); g_sizer = f_sizers.back(); g_sizer->AddGrowableCol(0, 1); @@ -1816,6 +1850,21 @@ void PreferencesDialog::create_items() auto reverse_mouse_zoom = create_item_checkbox(_L("Reverse mouse zoom"), _L("If enabled, reverses the direction of zoom with mouse wheel."), "reverse_mouse_wheel_zoom"); g_sizer->Add(reverse_mouse_zoom); +#ifdef SLIC3R_CAD + // Design-tab only, so it stays out of the way while the CAD feature is switched off. + if (wxGetApp().is_enable_cad_feature()) { + auto item_connector_face_glyph = create_item_checkbox(_L("Draw mate connectors as a face"), + _L("In the Design tab, draw a mate connector as a small face instead of the conventional " + "disc with a roll quadrant. A face's orientation is read without being learned. " + "Turn this off for the conventional CAD representation."), "design_connector_face_glyph"); + g_sizer->Add(item_connector_face_glyph); + } + + // Push the weld preference into the kernel now so toggling it takes effect without + // a restart (the sketch tool also re-pushes on activation, see DesignSketchTool::begin). + Slic3r::set_sketch_auto_close(wxGetApp().is_auto_close_sketch_loops()); +#endif + std::vector<wxString> ButtonDragActions = {_L("None"), _L("Pan"), _L("Rotate")}; auto item_left_mouse_drag = create_item_combobox(_L("Left Mouse Drag"), _L("Set the action that dragging the left mouse button should perform."), "left_mouse_drag_action", ButtonDragActions); g_sizer->Add(item_left_mouse_drag); @@ -1824,6 +1873,14 @@ void PreferencesDialog::create_items() auto item_right_mouse_drag = create_item_combobox(_L("Right Mouse Drag"), _L("Set the action that dragging the right mouse button should perform."), "right_mouse_drag_action", ButtonDragActions); g_sizer->Add(item_right_mouse_drag); + //// CONTROL > Keyboard + g_sizer->Add(create_item_title(_L("Keyboard")), 1, wxEXPAND); + + auto item_shortcuts = create_item_button(_L("Keyboard shortcuts"), _L("Edit") + dots, "", _L("Choose the key for each action."), [this]() { + wxGetApp().keyboard_shortcuts(ShortcutContext::Global, this); + }); + g_sizer->Add(item_shortcuts); + //// CONTROL > Clear my choice on ... g_sizer->Add(create_item_title(_L("Clear my choice on...")), 1, wxEXPAND); @@ -1848,7 +1905,7 @@ void PreferencesDialog::create_items() ////////////////////////// //// GRAPHICS TAB ///////////////////////////////////// - m_pref_tabs->AppendItem(_L("Graphics")); + m_tab_index[PreferencesTab::Graphics] = m_pref_tabs->AppendItem(_L("Graphics")); f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); g_sizer = f_sizers.back(); g_sizer->AddGrowableCol(0, 1); @@ -1874,6 +1931,15 @@ void PreferencesDialog::create_items() ); g_sizer->Add(item_realistic_phong); + auto item_realistic_preview = create_item_checkbox( + _L("Enable in Preview"), + _L("Also applies realistic view to the Preview canvas, not just Prepare.\n" + "Preview draws the full toolpath geometry, so shadows and SSAO cost considerably" + " more there than on a plain model."), + SETTING_OPENGL_REALISTIC_PREVIEW + ); + g_sizer->Add(item_realistic_preview); + auto item_realistic_ssao = create_item_checkbox( _L("SSAO ambient occlusion"), _L("Applies SSAO in realistic view."), @@ -1928,9 +1994,32 @@ void PreferencesDialog::create_items() ); g_sizer->Add(item_fps_cap); + auto item_scene_cache = create_item_checkbox( + _L("Reuse the 3D scene while idle"), + _L("Skips redrawing the 3D scene when only the mouse cursor moves over the viewport,\n" + "and reuses the previous frame's scene instead. Reduces GPU load.\n" + "Disable it if the viewport shows stale or missing contents.\n\n" + "Takes effect immediately."), + SETTING_OPENGL_SCENE_CACHE + ); + g_sizer->Add(item_scene_cache); + + auto item_skip_identical_frames = create_item_checkbox( + _L("Skip unchanged frames"), + _L("Skips drawing a frame altogether when it would be identical to the one already on screen.\n" + "Only applies to frames that reuse the 3D scene, so it needs Reuse the 3D scene while idle.\n" + "Disable it if a hover highlight, tooltip or animation stops updating.\n\n" + "Takes effect immediately."), + SETTING_OPENGL_SKIP_IDENTICAL_FRAMES + ); + g_sizer->Add(item_skip_identical_frames); + if (m_skip_identical_frames_checkbox) m_skip_identical_frames_checkbox->Enable(app_config->get_bool(SETTING_OPENGL_SCENE_CACHE)); + auto item_fps_overlay = create_item_checkbox( _L("Show FPS overlay"), - _L("Displays current viewport FPS in the top-right corner."), + _L("Displays rendering counts in the top-right corner of the viewport.") + "\n" + + _L("FPS: frames presented to the screen per second.") + "\n" + + _L("3D: frames per second that redrew the 3D scene."), SETTING_OPENGL_SHOW_FPS_OVERLAY ); g_sizer->Add(item_fps_overlay); @@ -1938,6 +2027,23 @@ void PreferencesDialog::create_items() //// GRAPHICS > G-code Preview g_sizer->Add(create_item_title(_L("G-code Preview")), 1, wxEXPAND); + // ORCA: view type the preview opens with + std::vector<wxString> PreviewViewTypeLabels; + std::vector<std::string> PreviewViewTypeValues; + for (const auto& [value, label] : GCodeViewer::default_view_type_choices()) { + PreviewViewTypeValues.push_back(value); + PreviewViewTypeLabels.push_back(from_u8(label)); + } + auto item_preview_view_type = create_item_combobox( + _L("Default view type"), + _L("The color scheme the sliced preview opens with.\n" + "Automatic: Filament for multi material prints, Line Type for single material ones.\n" + "Last used: the view type you selected last.\n" + "Any other value always opens that view type.\n" + "You can still switch the view type in the preview afterwards."), + "preview_default_view_type", PreviewViewTypeLabels, PreviewViewTypeValues); + g_sizer->Add(item_preview_view_type); + auto item_dim_previous_layers = create_item_checkbox( _L("Dim lower layers"), _L("When scrubbing the layer slider in the sliced preview, render the layers below the current one darkened so that only the layer being viewed is shown at full brightness."), @@ -1973,7 +2079,7 @@ void PreferencesDialog::create_items() ////////////////////////// //// ONLINE TAB ///////////////////////////////////// - m_pref_tabs->AppendItem(_L("Online")); + m_tab_index[PreferencesTab::Online] = m_pref_tabs->AppendItem(_L("Online")); f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); g_sizer = f_sizers.back(); g_sizer->AddGrowableCol(0, 1); diff --git a/src/slic3r/GUI/Preferences.hpp b/src/slic3r/GUI/Preferences.hpp index 94340ce619..e3b6ffdc7d 100644 --- a/src/slic3r/GUI/Preferences.hpp +++ b/src/slic3r/GUI/Preferences.hpp @@ -29,6 +29,9 @@ namespace Slic3r { namespace GUI { #define DESIGN_INPUT_SIZE wxSize(FromDIP(120), -1) #define DESIGN_LEFT_MARGIN 25 +// The tabs other dialogs open Preferences on. +enum class PreferencesTab { General, Control, Graphics, Online }; + class PreferencesDialog : public DPIDialog { private: @@ -38,6 +41,7 @@ protected: wxBoxSizer * m_sizer_body; wxScrolledWindow* m_parent; TabCtrl* m_pref_tabs; + std::map<PreferencesTab, int> m_tab_index; // position of each tab in m_pref_tabs // bool m_settings_layout_changed {false}; bool m_seq_top_layer_only_changed{false}; @@ -60,6 +64,8 @@ public: ~PreferencesDialog(); + void select_tab(PreferencesTab tab, const std::string& option = {}); // and scrolls a combobox option's row into view, focused + wxString m_backup_interval_time; wxTimer m_filament_height_timer; @@ -71,6 +77,7 @@ public: ::CheckBox * m_dark_mode_ckeckbox = {nullptr}; ::CheckBox * m_sync_user_preset_checkbox = {nullptr}; ::CheckBox * m_bambu_cloud_checkbox = {nullptr}; + ::CheckBox * m_skip_identical_frames_checkbox = {nullptr}; ::TextInput *m_backup_interval_textinput = {nullptr}; ::SpinInput *m_dim_previous_layers_brightness_input = {nullptr}; ::ComboBox * m_network_version_combo = {nullptr}; diff --git a/src/slic3r/GUI/PrintOptionsDialog.cpp b/src/slic3r/GUI/PrintOptionsDialog.cpp index 349e75fa06..d68bd24ccc 100644 --- a/src/slic3r/GUI/PrintOptionsDialog.cpp +++ b/src/slic3r/GUI/PrintOptionsDialog.cpp @@ -32,7 +32,7 @@ PrintOptionsDialog::PrintOptionsDialog(wxWindow* parent) m_scrollwindow = new wxScrolledWindow(this, wxID_ANY); - m_scrollwindow->SetScrollRate(0, FromDIP(10)); + m_scrollwindow->SetScrollRate(0, FromDIP(20)); m_scrollwindow->SetBackgroundColour(*wxWHITE); m_scrollwindow->SetMinSize(wxSize(FromDIP(480), wxDefaultCoord)); m_scrollwindow->SetMaxSize(wxSize(FromDIP(480), wxDefaultCoord)); diff --git a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp index 8ec6909c8c..9aa35e2cff 100644 --- a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp +++ b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp @@ -1803,7 +1803,7 @@ static void* get_function(const char* name) return function; #if defined(_MSC_VER) || defined(_WIN32) - function = GetProcAddress(module, name); + function = reinterpret_cast<void*>(GetProcAddress(module, name)); #else function = dlsym(module, name); #endif diff --git a/src/slic3r/GUI/PrinterWebView.hpp b/src/slic3r/GUI/PrinterWebView.hpp index 8a62ce70a2..1ab1e17932 100644 --- a/src/slic3r/GUI/PrinterWebView.hpp +++ b/src/slic3r/GUI/PrinterWebView.hpp @@ -26,6 +26,7 @@ #include "wx/textctrl.h" #include <wx/timer.h> #include <memory> +#include "Lazy.hpp" namespace Slic3r { @@ -34,7 +35,7 @@ namespace GUI { class PrinterWebViewHandler; -class PrinterWebView : public wxPanel { +class PrinterWebView : public wxPanel, public LazyInstance<PrinterWebView> { public: PrinterWebView(wxWindow *parent); virtual ~PrinterWebView(); diff --git a/src/slic3r/GUI/PrivacyUpdateDialog.cpp b/src/slic3r/GUI/PrivacyUpdateDialog.cpp index 92d6d6c8c7..c417767a42 100644 --- a/src/slic3r/GUI/PrivacyUpdateDialog.cpp +++ b/src/slic3r/GUI/PrivacyUpdateDialog.cpp @@ -1,5 +1,6 @@ #include "PrivacyUpdateDialog.hpp" #include "GUI_App.hpp" +#include "GUI.hpp" #include "BitmapCache.hpp" #include <wx/dcgraph.h> #include <slic3r/GUI/I18N.hpp> diff --git a/src/slic3r/GUI/Project.cpp b/src/slic3r/GUI/Project.cpp index 6d1eb0e180..8d87939afc 100644 --- a/src/slic3r/GUI/Project.cpp +++ b/src/slic3r/GUI/Project.cpp @@ -44,6 +44,7 @@ const std::vector<std::string> license_list = { ProjectPanel::ProjectPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style) : wxPanel(parent, id, pos, size, style) { + SetBackgroundColour(*wxWHITE); m_project_home_url = wxString::Format("file://%s/web/model/index.html", from_u8(resources_dir())); wxString strlang = wxGetApp().current_language_code_safe(); if (strlang != "") @@ -67,6 +68,7 @@ ProjectPanel::ProjectPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, m_auxiliary = new AuxiliaryPanel(this); m_auxiliary->Hide(); main_sizer->Add(m_auxiliary, wxSizerFlags().Expand().Proportion(1)); + add_build_steps_of(*m_auxiliary); Bind(EVT_AUXILIARY_DONE, [this](wxCommandEvent& e) { update_model_data();}); SetSizer(main_sizer); diff --git a/src/slic3r/GUI/Project.hpp b/src/slic3r/GUI/Project.hpp index a590212cb7..a22bc44430 100644 --- a/src/slic3r/GUI/Project.hpp +++ b/src/slic3r/GUI/Project.hpp @@ -35,6 +35,7 @@ #include "libslic3r/ProjectTask.hpp" #include "wxExtensions.hpp" #include "Auxiliary.hpp" +#include "Lazy.hpp" #define AUFILE_GREY700 wxColour(107, 107, 107) #define AUFILE_GREY500 wxColour(158, 158, 158) @@ -59,7 +60,7 @@ struct project_file{ std::string size; }; -class ProjectPanel : public wxPanel +class ProjectPanel : public wxPanel, public StagedBuild, public LazyInstance<ProjectPanel> { private: std::atomic<bool> m_web_init_completed{false}; @@ -90,7 +91,6 @@ public: void msw_rescale(); void update_model_data(); void clear_model_info(); - void init_auxiliary() { m_auxiliary->init_auxiliary(); } bool Show(bool show); void OnScriptMessage(wxWebViewEvent& evt); diff --git a/src/slic3r/GUI/ProjectDirtyStateManager.cpp b/src/slic3r/GUI/ProjectDirtyStateManager.cpp index c986328f71..53eb3cd353 100644 --- a/src/slic3r/GUI/ProjectDirtyStateManager.cpp +++ b/src/slic3r/GUI/ProjectDirtyStateManager.cpp @@ -6,6 +6,7 @@ #include "MainFrame.hpp" #include "I18N.hpp" #include "Plater.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include <boost/algorithm/string/predicate.hpp> @@ -17,13 +18,23 @@ namespace GUI { void ProjectDirtyStateManager::update_from_undo_redo_stack(bool dirty) { + const bool was_dirty = is_dirty(); m_plater_dirty = dirty; + notify_dirty_change(was_dirty, "undo_redo"); if (const Plater *plater = wxGetApp().plater(); plater && wxGetApp().initialized()) wxGetApp().mainframe->update_title(); } +void ProjectDirtyStateManager::set_plater_dirty(bool is_dirty) +{ + const bool was_dirty = this->is_dirty(); + m_plater_dirty = is_dirty; + notify_dirty_change(was_dirty, "plater"); +} + void ProjectDirtyStateManager::update_from_presets() { + const bool was_dirty = is_dirty(); m_presets_dirty = false; // check switching of the presets only for exist/loaded project, but not for new GUI_App &app = wxGetApp(); @@ -45,18 +56,53 @@ void ProjectDirtyStateManager::update_from_presets() } m_presets_dirty |= app.has_unsaved_preset_changes(); m_project_config_dirty = m_initial_project_config != app.preset_bundle->project_config; + notify_dirty_change(was_dirty, "presets"); app.mainframe->update_title(); } void ProjectDirtyStateManager::reset_after_save() { + const bool was_dirty = is_dirty(); this->reset_initial_presets(); m_plater_dirty = false; m_presets_dirty = false; m_project_config_dirty = false; + notify_dirty_change(was_dirty, "save"); wxGetApp().mainframe->update_title(); } +void ProjectDirtyStateManager::notify_dirty_change(bool was_dirty, const char *source) +{ + if (m_suppress_depth > 0) + return; + + const bool dirty = is_dirty(); + if (was_dirty == dirty) + return; + + LifecycleEventContext ctx; + ctx.code = LifecycleEvtCode::Ok; + ctx.dirty = dirty; + ctx.source = source; + fire_lifecycle_event(LifecycleEvent::ProjectDirtyChanged, ctx); +} + +void ProjectDirtyStateManager::begin_suppress_notifications() +{ + if (m_suppress_depth == 0) + m_suppress_entry_dirty = is_dirty(); + ++m_suppress_depth; +} + +void ProjectDirtyStateManager::end_suppress_notifications() +{ + assert(m_suppress_depth > 0); + if (m_suppress_depth > 0) + --m_suppress_depth; + if (m_suppress_depth == 0) + notify_dirty_change(m_suppress_entry_dirty, "batch"); +} + void ProjectDirtyStateManager::reset_initial_presets() { m_initial_presets.fill(std::string{}); @@ -168,4 +214,3 @@ void ProjectDirtyStateManager::render_debug_window() const } // namespace GUI } // namespace Slic3r - diff --git a/src/slic3r/GUI/ProjectDirtyStateManager.hpp b/src/slic3r/GUI/ProjectDirtyStateManager.hpp index 171d19e219..fd121d1d85 100644 --- a/src/slic3r/GUI/ProjectDirtyStateManager.hpp +++ b/src/slic3r/GUI/ProjectDirtyStateManager.hpp @@ -14,21 +14,42 @@ public: void reset_after_save(); void reset_initial_presets(); - void set_plater_dirty(bool is_dirty) { m_plater_dirty = is_dirty; } + void set_plater_dirty(bool is_dirty); bool is_dirty() const { return m_plater_dirty || m_project_config_dirty || m_presets_dirty; } bool is_presets_dirty() const { return m_presets_dirty; } + // RAII guard coalescing dirty-state updates: while any guard is alive, ProjectDirtyChanged + // notifications are held back; when the outermost guard is destroyed, at most one + // notification fires, reflecting only the net change across the whole guarded scope. + class NotificationSuppressor + { + public: + explicit NotificationSuppressor(ProjectDirtyStateManager &owner) : m_owner(owner) { m_owner.begin_suppress_notifications(); } + ~NotificationSuppressor() { m_owner.end_suppress_notifications(); } + NotificationSuppressor(const NotificationSuppressor &) = delete; + NotificationSuppressor &operator=(const NotificationSuppressor &) = delete; + private: + ProjectDirtyStateManager &m_owner; + }; + #if ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW void render_debug_window() const; #endif // ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW private: + void notify_dirty_change(bool was_dirty, const char *source); + void begin_suppress_notifications(); + void end_suppress_notifications(); + // Does the Undo / Redo stack indicate the project is dirty? bool m_plater_dirty { false }; // Do the presets indicate the project is dirty? bool m_presets_dirty { false }; // Is the project config dirty? bool m_project_config_dirty { false }; + // NotificationSuppressor nesting depth and the dirty state observed when the outermost guard began. + int m_suppress_depth { 0 }; + bool m_suppress_entry_dirty { false }; // Keeps track of preset names selected at the time of last project save. std::array<std::string, Preset::TYPE_COUNT> m_initial_presets; DynamicPrintConfig m_initial_project_config; diff --git a/src/slic3r/GUI/PublishSettingsDialog.cpp b/src/slic3r/GUI/PublishSettingsDialog.cpp new file mode 100644 index 0000000000..d231857f2c --- /dev/null +++ b/src/slic3r/GUI/PublishSettingsDialog.cpp @@ -0,0 +1,2288 @@ +#include "PublishSettingsDialog.hpp" + +#include "GUI_App.hpp" +#include "MainFrame.hpp" +#include "MsgDialog.hpp" +#include "I18N.hpp" +#include "Tab.hpp" +#include "ConfigValueFormatter.hpp" +#include "FilamentBitmapUtils.hpp" +#include "Widgets/Label.hpp" +#include "Widgets/CheckBox.hpp" +#include "Widgets/HyperLink.hpp" +#include "Widgets/TextInput.hpp" +#include "Widgets/DialogButtons.hpp" +#include "Widgets/StaticLine.hpp" +#include "Widgets/StateColor.hpp" + +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Preset.hpp" +#include "libslic3r/PublishSettings.hpp" +#include "libslic3r/FilamentMixer.hpp" +#include "libslic3r/Model.hpp" + +#include <boost/algorithm/string/trim.hpp> +#include <wx/display.h> +#include <wx/utils.h> +#include <wx/dcbuffer.h> +#include <wx/dcmemory.h> +#include <wx/dcgraph.h> +#include <wx/image.h> +#include <wx/wrapsizer.h> +#include <set> +#include <algorithm> +#include <cmath> +#include <cstring> +#include <memory> +#include <numeric> +#include <tuple> +#include <utility> + +namespace Slic3r { namespace GUI { +namespace { + +// Orca's bitmap checkbox has the established teal checked state on every platform. Keep the +// label separate so it stays clickable like a native wxCheckBox, while the control itself +// remains accessible by keyboard. +wxStaticText* add_checkbox_label(wxWindow* parent, + wxBoxSizer* sizer, + ::CheckBox* check, + const wxString& label, + const wxString& tooltip, + int label_width = 0) +{ + check->SetToolTip(tooltip); + sizer->Add(check, 0, wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM, parent->FromDIP(2)); + + auto* text = new wxStaticText(parent, wxID_ANY, label); + text->SetFont(Label::Body_14); + text->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#363636"))); + if (label_width > 0) { + text->SetMinSize(wxSize(label_width, -1)); + text->SetMaxSize(wxSize(label_width, -1)); + text->Wrap(label_width); + } + text->SetToolTip(tooltip); + text->SetCursor(wxCURSOR_HAND); + const auto toggle = [check]() { + if (!check->IsEnabled()) + return; + check->SetValue(!check->GetValue()); + wxCommandEvent event(wxEVT_TOGGLEBUTTON, check->GetId()); + event.SetEventObject(check); + check->GetEventHandler()->ProcessEvent(event); + }; + text->Bind(wxEVT_LEFT_DOWN, [toggle](wxMouseEvent& event) { + if (!event.LeftDClick()) + toggle(); + }); + text->Bind(wxEVT_LEFT_DCLICK, [toggle](wxMouseEvent&) { + toggle(); + }); + sizer->Add(text, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, parent->FromDIP(5)); + return text; +} + +// Menu ids for show_menu(): dedicated range so the popup cannot collide with application-level +// bindings (e.g. MainFrame's recent-files wxID_FILE1.. range). +enum { + kPublishSelectAll = wxID_HIGHEST + 1, + kPublishDeselectAll, + kPublishSelectVisible, + kPublishDeselectVisible, + kPublishFilterSelected, + kPublishFilterNonSelected +}; + +// Tree-style flags shared by the outer tabs and every group's inner tabs. +constexpr long s_tab_style = wxTR_NO_BUTTONS | wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | wxBORDER_NONE | wxWANTS_CHARS | + wxTR_FULL_ROW_HIGHLIGHT; + +// The author's hex colour for a filament slot (empty when the slot is out of range); shared by +// the header chip, the inner-tab chip and the DPI rescale paths. +std::string filament_color_hex(const DynamicPrintConfig& full, size_t slot) +{ + if (const auto* colours = full.opt<ConfigOptionStrings>("filament_colour")) + if (slot < colours->size()) + return colours->get_at(slot); + return std::string(); +} + +PublishMaterialIdentity material_identity(size_t slot, const DynamicPrintConfig& full) +{ + PublishMaterialIdentity identity; + if (const auto* types = full.opt<ConfigOptionStrings>("filament_type")) + if (slot < types->size()) + identity.type = types->get_at(slot); + if (const auto* vendors = full.opt<ConfigOptionStrings>("filament_vendor")) + if (slot < vendors->size()) + identity.vendor = vendors->get_at(slot); + if (const auto* ids = full.opt<ConfigOptionStrings>("filament_ids")) + if (slot < ids->size()) + identity.id = ids->get_at(slot); + return identity; +} + +// "Generic PLA @System" -> "Generic PLA"; mirrors the alias derivation in PresetBundle.cpp. +std::string material_display_name(const std::string& preset_name) +{ + const size_t at = preset_name.find_first_of('@'); + if (at == std::string::npos) + return preset_name; + std::string bare = preset_name.substr(0, at); + boost::trim_right(bare); + return bare.empty() ? preset_name : bare; +} + +// Section title for a filament slot: the resolved preset name, then the filament type, then +// the generic "Material". +wxString material_title(size_t slot, const PresetBundle* bundle, const DynamicPrintConfig& full) +{ + if (slot < bundle->filament_presets.size()) { + const Preset* preset = bundle->filaments.find_preset(bundle->filament_presets[slot]); + if (preset != nullptr && !preset->name.empty()) { + // Display the name the sidebar does: the alias (already bare-name + variant-tail + // stripped for root filament presets). + const std::string& display = preset->alias.empty() ? get_preset_bare_name(preset->name) : preset->alias; + return from_u8(material_display_name(display)); + } + } + const PublishMaterialIdentity identity = material_identity(slot, full); + if (!identity.type.empty()) + return from_u8(identity.type); + return _L("Material"); +} + +// The component slots of a mixed filament ("1,2,3"), 1-based, or empty when out of range. +std::vector<unsigned int> mixed_slot_components(const DynamicPrintConfig& full, size_t slot) +{ + const auto* comp_opt = full.opt<ConfigOptionStrings>("filament_mixed_components"); + if (comp_opt == nullptr || slot >= comp_opt->size()) + return {}; + return parse_mixed_components(comp_opt->values[slot]); +} + +// Human-readable label of a mixed filament, mirroring the sidebar's mixed filament rows: the +// 1-based component slot numbers with their blend percentages (or a "->" gradient arrow), +// e.g. "1 (60%) + 2 (40%)". Used as the slot's tab/header title in place of a preset name. +wxString mixed_filament_label(const DynamicPrintConfig& full, size_t slot) +{ + const std::vector<unsigned int> comps = mixed_slot_components(full, slot); + if (comps.empty()) + return _L("Mixed filament"); + const auto* grad_opt = full.opt<ConfigOptionBools>("filament_mixed_gradient"); + const bool is_gradient = grad_opt != nullptr && slot < grad_opt->size() && grad_opt->values[slot]; + const auto* ratios_opt = full.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios"); + wxString label; + for (size_t i = 0; i < comps.size(); ++i) { + if (i > 0) + label += is_gradient ? wxString::FromUTF8(" \u2192 ") : wxString::FromUTF8(" + "); + label += wxString::Format("%u", comps[i]); + if (!is_gradient) { + double ratio = 100.0 / comps.size(); + if (ratios_opt != nullptr && slot < ratios_opt->size()) { + const std::vector<double> rs = parse_mixed_ratios(ratios_opt->values[slot], comps.size()); + if (i < rs.size()) + ratio = rs[i] * 100.0; + } + label += wxString::Format(" (%d%%)", int(ratio + 0.5)); + } + } + return label; +} + +// Blended representative colour of a mixed slot, computed exactly like the sidebar's swatches +// (recompute_mixed_slot_colors): sublayer slots blend by their ratios, gradient slots by their +// two end colours, broken references fall back to grey. +wxColour mixed_filament_blend_color(const DynamicPrintConfig& full, size_t slot) +{ + std::vector<wxColour> colors; + if (const auto* colours = full.opt<ConfigOptionStrings>("filament_colour")) { + colors.reserve(colours->values.size()); + for (const std::string& hex : colours->values) { + const wxColour c(hex); + colors.push_back(c.IsOk() ? c : wxColour(0, 0, 0)); + } + } + while (colors.size() <= slot) + colors.push_back(wxColour("#D9D9D9")); + recompute_mixed_slot_colors(colors, full); + return slot < colors.size() ? colors[slot] : wxColour("#D9D9D9"); +} + +// The slot's own chip as the main GUI renders it: a curve-sampled gradient swatch for a +// gradient mixed slot, the static blended colour otherwise. Returns wxNullBitmap when nothing +// could be rendered (the caller falls back to a plain label). +wxBitmap mixed_filament_chip_bitmap(const DynamicPrintConfig& full, size_t slot, int swatch_sz) +{ + const std::string label = std::to_string(slot + 1); + const auto* grad_opt = full.opt<ConfigOptionBools>("filament_mixed_gradient"); + const bool is_gradient = grad_opt != nullptr && slot < grad_opt->size() && grad_opt->values[slot]; + wxBitmap* icon = nullptr; + if (is_gradient) { + // The same curve-sampled ramp the sidebar chips use; an empty ramp (broken definition) + // degrades to a plain fade between the slot's two component colours. + const std::vector<wxColour> ramp = mixed_gradient_ramp(full, slot, swatch_sz); + if (!ramp.empty()) { + icon = get_extruder_color_icon(std::vector<std::string>(), true, label, swatch_sz, swatch_sz, &ramp); + } else { + std::vector<std::string> hexes; + for (const unsigned int comp : mixed_slot_components(full, slot)) { + std::string hex = filament_color_hex(full, size_t(comp) - 1); + if (hex.empty()) + hex = "#D9D9D9"; + hexes.push_back(std::move(hex)); + } + if (hexes.size() >= 2) + icon = get_extruder_color_icon(std::move(hexes), true, label, swatch_sz, swatch_sz); + } + } + if (icon == nullptr) { + const wxColour blend = mixed_filament_blend_color(full, slot); + const std::string blend_hex = blend.IsOk() ? + std::string(wxString::Format("#%02X%02X%02X", blend.Red(), blend.Green(), blend.Blue()).ToUTF8()) : + std::string("#808080"); + icon = get_extruder_color_icon(blend_hex, label, swatch_sz, swatch_sz); + } + return icon != nullptr ? *icon : wxNullBitmap; +} + +// Tab-strip bitmap for a mixed slot: the mix's own chip, then its component swatches each +// followed by their percent share (or a "->" arrow for gradients), mirroring the main GUI's +// sidebar rows - e.g. "[3 purple]: [1 red] 50% + [2 blue] 50%". The whole composition is one +// bitmap because a TabCtrl item cannot interleave images into its text; the tab's text is +// therefore empty. The bitmap is opaque and bakes tab_bg (the tab strip's background colour): +// its texts are rasterized with plain GDI on that solid ground, like the sidebar rows and the +// color chips. Text on a transparent bitmap has to go through the graphics-context route, and +// on MSW that degrades into jagged ClearType-fallback glyphs with fringe halos - the same +// reason draw_mixed_gradient_plot renders into an opaque buffer (FilamentBitmapUtils.cpp). +wxBitmap mixed_filament_tab_bitmap(const DynamicPrintConfig& full, size_t slot, int swatch_sz, const wxColour& tab_bg) +{ + const std::vector<unsigned int> comps = mixed_slot_components(full, slot); + if (comps.empty()) + return wxNullBitmap; + const auto* grad_opt = full.opt<ConfigOptionBools>("filament_mixed_gradient"); + const bool is_gradient = grad_opt != nullptr && slot < grad_opt->size() && grad_opt->values[slot]; + const auto* ratios_opt = full.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios"); + std::vector<double> ratio_pct(comps.size(), 100.0 / comps.size()); + if (!is_gradient && ratios_opt != nullptr && slot < ratios_opt->size()) { + const std::vector<double> rs = parse_mixed_ratios(ratios_opt->values[slot], comps.size()); + for (size_t i = 0; i < rs.size() && i < comps.size(); ++i) + ratio_pct[i] = rs[i] * 100.0; + } + + const auto* colours = full.opt<ConfigOptionStrings>("filament_colour"); + const wxString lead_sep = wxString::FromUTF8(":"); + const wxString comp_sep = is_gradient ? wxString::FromUTF8("\u2192") : wxString::FromUTF8("+"); + + // Phase 1 (layout): render every swatch and measure every text piece so the composite + // width is known before drawing; the dummy bitmap keeps GetTextExtent reliable. + struct Piece + { + enum Kind { Swatch, Text } kind{Text}; + wxBitmap bmp; + wxString text; + }; + std::vector<Piece> pieces; + bool has_lead = false; + wxBitmap dummy(1, 1); + wxMemoryDC measure_dc; + measure_dc.SelectObject(dummy); + measure_dc.SetFont(::Label::Body_12); + const int gap = wxWindow::FromDIP(4, nullptr); + + auto push_swatch = [&](const std::string& hex, const std::string& label) { + wxBitmap* icon = get_extruder_color_icon(hex, label, swatch_sz, swatch_sz); + if (icon == nullptr) + return; + pieces.push_back({Piece::Swatch, *icon, wxString()}); + }; + auto push_text = [&](const wxString& text) { pieces.push_back({Piece::Text, wxNullBitmap, text}); }; + + { + const wxBitmap chip = mixed_filament_chip_bitmap(full, slot, swatch_sz); + has_lead = chip.IsOk(); + if (has_lead) + pieces.push_back({Piece::Swatch, chip, wxString()}); + } + for (size_t ci = 0; ci < comps.size(); ++ci) { + if (pieces.empty()) + break; + push_text(has_lead && pieces.size() == 1 ? lead_sep : comp_sep); // lead chip may have failed to render + std::string hex = "#D9D9D9"; + if (colours != nullptr && comps[ci] >= 1 && comps[ci] <= colours->size()) + hex = colours->values[comps[ci] - 1]; + const size_t before = pieces.size(); + push_swatch(hex, std::to_string(comps[ci])); + if (pieces.size() == before) + break; // swatch failed: stop cleanly before an orphaned separator/percent pair + if (!is_gradient) { + push_text(wxString::Format("%d%%", int(ratio_pct[ci] + 0.5))); + } + } + if (pieces.empty()) + return wxNullBitmap; + + int width = 0; + for (const Piece& p : pieces) + width += (p.kind == Piece::Swatch ? swatch_sz : measure_dc.GetTextExtent(p.text).x + gap); + + // Phase 2 (draw): opaque, filled with the tab strip's background colour. Text goes through + // the plain DC on every platform (see the function comment for why the alpha route is + // avoided); chip bitmaps keep their own alpha and composite cleanly onto the fill. + wxBitmap composite(width, swatch_sz); + wxMemoryDC memdc; + memdc.SelectObject(composite); + memdc.SetBackground(wxBrush(tab_bg)); + memdc.Clear(); + memdc.SetBackgroundMode(wxTRANSPARENT); + memdc.SetFont(::Label::Body_12); + memdc.SetTextForeground(StateColor::darkModeColorFor(wxColour("#262E30"))); + int x = 0; + for (const Piece& p : pieces) { + if (p.kind == Piece::Swatch) { + memdc.DrawBitmap(p.bmp, x, 0, true); + x += swatch_sz; + } else { + const wxSize tsz = measure_dc.GetTextExtent(p.text); + memdc.DrawText(p.text, x + gap / 2, (swatch_sz - tsz.y) / 2); + x += tsz.x + gap; + } + } + memdc.SelectObject(wxNullBitmap); + return composite; +} + +// The filament slots (0-based) the current project actually uses, across every plate: base and +// MMU-painted volume extruders, per-object layer-range and support/wall/infill filament +// overrides, and custom-gcode tool changes. Used mixed slots are preserved as themselves (so an +// in-use mix is publishable) while their physical components are added too - a mix always ships +// with the materials of its components even if a component is not referenced directly anywhere. +std::set<size_t> project_used_filament_slots(const PresetBundle& bundle, const DynamicPrintConfig& full, const Model& model) +{ + std::set<size_t> used; // 0-based used slots, mixed slots not yet expanded + if (model.objects.empty()) + return used; + + auto add_1based = [&used](int id) { + if (id > 0) + used.insert(size_t(id - 1)); + }; + + const DynamicPrintConfig& print_cfg = bundle.prints.get_edited_preset().config; + const int glb_support_intf = print_cfg.opt_int("support_interface_filament"); + const int glb_support = print_cfg.opt_int("support_filament"); + const int glb_outer_wall = print_cfg.opt_int("outer_wall_filament_id"); + const int glb_inner_wall = print_cfg.opt_int("inner_wall_filament_id"); + const int glb_sparse_infill = print_cfg.opt_int("sparse_infill_filament_id"); + const int glb_internal_solid = print_cfg.opt_int("internal_solid_filament_id"); + const int glb_top_surface = print_cfg.opt_int("top_surface_filament_id"); + const int glb_bottom_surface = print_cfg.opt_int("bottom_surface_filament_id"); + const bool glb_support_on = print_cfg.opt_bool("enable_support") || print_cfg.opt_int("raft_layers") > 0; + + for (ModelObject* mo : model.objects) { + for (ModelVolume* mv : mo->volumes) + for (int e : mv->get_extruders()) + add_1based(e); + + for (const auto& range_entry : mo->layer_config_ranges) + if (const ConfigOption* ext_opt = range_entry.second.option("extruder")) + add_1based(ext_opt->getInt()); + + bool obj_support = glb_support_on; + if (const ConfigOption* s_opt = mo->config.option("enable_support"); s_opt != nullptr) + obj_support = s_opt->getBool(); + else if (const ConfigOption* r_opt = mo->config.option("raft_layers"); r_opt != nullptr) + obj_support = r_opt->getInt() > 0; + + if (obj_support) { + if (const ConfigOption* opt = mo->config.option("support_interface_filament"); opt != nullptr && opt->getInt() != 0) + add_1based(opt->getInt()); + else + add_1based(glb_support_intf); + + if (const ConfigOption* opt = mo->config.option("support_filament"); opt != nullptr && opt->getInt() != 0) + add_1based(opt->getInt()); + else + add_1based(glb_support); + } + + auto obj_id = [&mo](const char* key) { + const ConfigOption* opt = mo->config.option(key); + return (opt != nullptr) ? opt->getInt() : 0; + }; + + int obj_outer_wall = obj_id("outer_wall_filament_id"); + if (obj_outer_wall == 0) + obj_outer_wall = obj_id("inner_wall_filament_id"); + add_1based(obj_outer_wall != 0 ? obj_outer_wall : glb_outer_wall); + + int obj_inner_wall = obj_id("inner_wall_filament_id"); + if (obj_inner_wall == 0) + obj_inner_wall = obj_id("outer_wall_filament_id"); + add_1based(obj_inner_wall != 0 ? obj_inner_wall : glb_inner_wall); + + const int obj_sparse = obj_id("sparse_infill_filament_id"); + add_1based(obj_sparse != 0 ? obj_sparse : glb_sparse_infill); + + const int obj_internal_solid = obj_id("internal_solid_filament_id"); + add_1based(obj_internal_solid != 0 ? obj_internal_solid : glb_internal_solid); + + int obj_top = obj_id("top_surface_filament_id"); + if (obj_top == 0) + obj_top = obj_internal_solid; + add_1based(obj_top != 0 ? obj_top : glb_top_surface); + + int obj_bottom = obj_id("bottom_surface_filament_id"); + if (obj_bottom == 0) + obj_bottom = obj_internal_solid; + add_1based(obj_bottom != 0 ? obj_bottom : glb_bottom_surface); + } + + for (const auto& plate_entry : model.plates_custom_gcodes) + for (const CustomGCode::Item& item : plate_entry.second.gcodes) + if (item.type == CustomGCode::Type::ToolChange) + add_1based(item.extruder); + + // Expand used mixed slots to their physical components and keep each mixed slot itself so the + // dialog shows the mix. A component both used directly and pulled in via a mix is deduped. + const auto* is_mixed_opt = full.opt<ConfigOptionBools>("filament_is_mixed"); + const auto* comp_opt = full.opt<ConfigOptionStrings>("filament_mixed_components"); + if (is_mixed_opt != nullptr && comp_opt != nullptr && has_any_mixed_filament(is_mixed_opt->values)) { + const std::vector<unsigned int> raw(used.begin(), used.end()); + const std::vector<unsigned int> expanded = expand_mixed_filaments(raw, is_mixed_opt->values, comp_opt->values); + std::set<size_t> result(expanded.begin(), expanded.end()); + for (unsigned int s : raw) + if (s < is_mixed_opt->values.size() && is_mixed_opt->values[s]) + result.insert(s); + return result; + } + + return used; +} + +// Lays a translated sentence out along `row`, replacing each "%1%"-style placeholder with the +// matching window from `chips`. Keeping the sentence in one msgid lets a translation put the +// placeholders wherever its own grammar needs them; spacing comes from the translation itself. +void add_sentence_with_chips(wxWindow* parent, wxSizer* row, const wxString& sentence, const std::vector<wxWindow*>& chips) +{ + std::vector<bool> placed(chips.size(), false); + auto add_text = [&](wxString text) { + text.Replace("%%", "%"); // the sentence is a format string + if (text.IsEmpty()) + return; + auto* label = new wxStaticText(parent, wxID_ANY, text); + label->SetFont(Label::Body_12); + label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#6B6B6B"))); + row->Add(label, 0, wxALIGN_CENTER_VERTICAL); + }; + auto add_chip = [&](size_t i) { + if (i < chips.size() && chips[i] != nullptr && !placed[i]) { + placed[i] = true; + row->Add(chips[i], 0, wxALIGN_CENTER_VERTICAL); + } + }; + + size_t literal = 0, pos = 0; + while ((pos = sentence.find('%', pos)) != wxString::npos) { + size_t end = pos + 1; + while (end < sentence.length() && sentence[end] >= '0' && sentence[end] <= '9') + ++end; + if (end == pos + 1 || end >= sentence.length() || sentence[end] != '%') { + ++pos; // a bare '%' + continue; + } + long index = 0; + sentence.Mid(pos + 1, end - pos - 1).ToLong(&index); + add_text(sentence.Mid(literal, pos - literal)); + add_chip(size_t(index - 1)); + literal = pos = end + 1; + } + add_text(sentence.Mid(literal)); + for (size_t i = 0; i < chips.size(); ++i) // whatever the translation left out + add_chip(i); +} + +} // namespace + +// Warning shown on OK when an enabled mixed-filament slot relies on a filament that would ship +// without its material. One row per unmet dependency, each a single translated sentence whose +// two placeholders are the mixed slot's and the component filament's colour chips. "Cancel" is +// the safe choice and keeps the dialog open; "Publish anyway" continues. +class MixedFilamentWarningDialog : public MsgDialog +{ +public: + MixedFilamentWarningDialog(wxWindow* parent, const DynamicPrintConfig& full, const std::vector<MixedDependencyIssue>& issues) + : MsgDialog(parent, _L("Warning"), wxEmptyString, wxOK | wxCANCEL | wxICON_WARNING) + { + auto* content = new wxBoxSizer(wxVERTICAL); + + auto* intro = new wxStaticText(this, wxID_ANY, _L("Some mixed filaments rely on filaments that will not be published:")); + intro->SetFont(Label::Body_13); + intro->Wrap(FromDIP(400)); + content->Add(intro, 0, wxEXPAND); + content->AddSpacer(FromDIP(10)); + + const int swatch = FromDIP(20); + // The slot's colour swatch, numbered like its tab, with the slot name on hover; falls + // back to a label so the sentence always names both filaments. + auto make_chip = [&](const wxBitmap& bmp, const wxString& name) -> wxWindow* { + if (bmp.IsOk()) { + auto* chip = new wxStaticBitmap(this, wxID_ANY, bmp); + chip->SetToolTip(name); + return chip; + } + auto* label = new wxStaticText(this, wxID_ANY, name); + label->SetFont(Label::Body_12); + return label; + }; + + for (const MixedDependencyIssue& issue : issues) { + std::string hex = filament_color_hex(full, issue.component_slot); + if (hex.empty()) + hex = "#D9D9D9"; + const wxBitmap* comp_bmp = get_extruder_color_icon(hex, std::to_string(issue.component_slot + 1), swatch, swatch); + + wxWindow* mix_chip = make_chip(mixed_filament_chip_bitmap(full, issue.mixed_slot, swatch), + wxString::Format(_L("Filament %d (mixed)"), int(issue.mixed_slot) + 1)); + wxWindow* comp_chip = make_chip(comp_bmp != nullptr ? *comp_bmp : wxNullBitmap, + wxString::Format(_L("Filament %d"), int(issue.component_slot) + 1)); + + auto* row = new wxWrapSizer(wxHORIZONTAL); + add_sentence_with_chips(this, row, + issue.reason == MixedDependencyIssue::Reason::Disabled ? + _L("%1% needs %2%, which is not enabled.") : + _L("%1% needs %2%, whose material will not be published."), + {mix_chip, comp_chip}); + content->Add(row, 0, wxEXPAND | wxLEFT, FromDIP(10)); + content->AddSpacer(FromDIP(6)); + } + + auto* hint = new wxStaticText( + this, wxID_ANY, + _L("To publish a mixed filament, enable every filament it uses and choose Full Publish or check its Type requirement.")); + hint->SetFont(Label::Body_12); + hint->Wrap(FromDIP(380)); + content->Add(hint, 0, wxEXPAND | wxTOP, FromDIP(4)); + + content_sizer->Add(content, 0, wxEXPAND); + + SetButtonLabel(wxID_OK, _L("Publish anyway")); + SetButtonLabel(wxID_CANCEL, _L("Cancel"), true); // safe choice gets the focus + + finalize(); + } +}; + +PublishSettingsDialog::MixedVisualSpec PublishSettingsDialog::make_mixed_visual_spec(const DynamicPrintConfig& full, size_t slot) +{ + MixedVisualSpec spec; + const std::vector<unsigned int> comps = mixed_slot_components(full, slot); + if (comps.empty()) + return spec; + + const auto* grad_opt = full.opt<ConfigOptionBools>("filament_mixed_gradient"); + spec.is_gradient = grad_opt != nullptr && slot < grad_opt->size() && grad_opt->values[slot]; + + const auto* colours = full.opt<ConfigOptionStrings>("filament_colour"); + for (unsigned int cid : comps) { + std::string hex = "#D9D9D9"; + if (colours != nullptr && cid >= 1 && cid <= colours->size()) + hex = colours->values[cid - 1]; + const wxColour c(hex); + spec.component_colours.push_back(c.IsOk() ? c : wxColour("#D9D9D9")); + } + + if (!spec.is_gradient) { + // Sublayer shares; parse_mixed_ratios already falls back to equal shares and + // normalizes to sum 1. + spec.ratios.assign(comps.size(), 1.0 / comps.size()); + if (const auto* ratios_opt = full.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")) + if (slot < ratios_opt->size()) { + const std::vector<double> rs = parse_mixed_ratios(ratios_opt->values[slot], comps.size()); + if (rs.size() == comps.size()) + spec.ratios = rs; + } + if (comps.size() == 3) + spec.tri_weights = spec.ratios; // the picker's barycentric shares + } else { + const Slic3r::GradientCurve curve = mixed_gradient_curve(full, slot); + constexpr int kSamples = 256; + for (int i = 0; i <= kSamples; ++i) { + const double t = double(i) / kSamples; + spec.gradient_samples.emplace_back(t, sample_gradient_curve(curve, t)); + } + for (const Slic3r::GradientAnchor& anchor : curve.points) + spec.gradient_anchors.emplace_back(anchor.x, anchor.y); + } + + spec.valid = true; + return spec; +} + +PublishSettingsDialog::PublishSettingsDialog(wxWindow* parent, + const std::vector<std::string>* published_keys, + const std::vector<Slic3r::PublishedMaterialEntry>* material_keys) + : DPIDialog(parent ? parent : static_cast<wxWindow*>(wxGetApp().mainframe), + wxID_ANY, + _L("Publish 3MF..."), + wxDefaultPosition, + wxDefaultSize, + wxCAPTION | wxCLOSE_BOX | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE) + , m_search(this, "search", 16) + , m_menu(this, "filter", 16) +{ + SetBackgroundColour(*wxWHITE); + + // --- filter bar: search box, All/None, menu button --- + wxPanel* f_bar = new wxPanel(this, wxID_ANY); + f_bar->SetBackgroundColour(GetBackgroundColour()); + wxBoxSizer* f_sizer = new wxBoxSizer(wxHORIZONTAL); + + m_filter_box = new TextInput(f_bar, "", "", "", wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); + m_filter_box->SetIcon(m_search.bmp()); + m_filter_box->SetMinSize(FromDIP(wxSize(200, 24))); + m_filter_box->SetSize(FromDIP(wxSize(-1, 24))); + m_filter_box->SetFocus(); + m_filter_ctrl = m_filter_box->GetTextCtrl(); + m_filter_ctrl->SetFont(Label::Body_13); + m_filter_ctrl->SetSize(wxSize(-1, FromDIP(16))); // centers text vertically + m_filter_ctrl->SetHint(_L("Type to filter...")); + m_filter_ctrl->Bind(wxEVT_TEXT, [this](auto&) { apply_filter(m_filter_ctrl->GetValue()); }); + m_filter_ctrl->Bind(wxEVT_TEXT_ENTER, [this](auto&) { apply_filter(m_filter_ctrl->GetValue()); }); + m_filter_ctrl->Bind(wxEVT_LEFT_DOWN, [this](auto& e) { + if (m_filter_mode != FilterMode::Text) + apply_filter(m_filter_ctrl->GetValue()); + e.Skip(); + }); + f_sizer->Add(m_filter_box, 1, wxEXPAND); + + m_fb_sizer = new wxBoxSizer(wxHORIZONTAL); + auto create_btn = [this, f_bar](wxString title, bool select) { + auto btn = new wxStaticText(f_bar, wxID_ANY, title); + btn->SetForegroundColour("#009687"); + btn->SetCursor(wxCURSOR_HAND); + btn->SetFont(Label::Body_13); + btn->Bind(wxEVT_LEFT_DOWN, [this, select](wxMouseEvent&) { select_all(select); }); + m_fb_sizer->Add(btn, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(10)); + }; + f_sizer->Add(m_fb_sizer, 0, wxALIGN_CENTER_VERTICAL); + create_btn(_L("All"), true); + create_btn(_L("None"), false); + + // Indicator for the menu's pseudo filters: sits where All/None go while they are hidden. + // Labels reuse the menu entries (no new strings); clicking the chip returns to text + // filtering, keeping the search box contents. + m_pseudo_chip = new wxStaticText(f_bar, wxID_ANY, ""); + m_pseudo_chip->SetForegroundColour("#009687"); + m_pseudo_chip->SetCursor(wxCURSOR_HAND); + m_pseudo_chip->SetFont(Label::Body_13); + m_pseudo_chip->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent&) { apply_filter(m_filter_ctrl->GetValue()); }); + m_pseudo_chip->Hide(); + f_sizer->Add(m_pseudo_chip, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(10)); + + m_menu_button = new wxStaticBitmap(f_bar, wxID_ANY, m_menu.bmp()); + m_menu_button->SetCursor(wxCURSOR_HAND); + m_menu_button->Bind(wxEVT_LEFT_DOWN, &PublishSettingsDialog::show_menu, this); + f_sizer->Add(m_menu_button, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(10)); + + f_bar->SetSizerAndFit(f_sizer); + + m_outer_tabs = new TabCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, s_tab_style); + m_outer_tabs->SetFont(Label::Body_14); + m_outer_tabs->SetBackgroundColour(GetBackgroundColour()); + + m_outer_host = new wxPanel(this, wxID_ANY); +#ifdef __WINDOWS__ + m_outer_host->SetDoubleBuffered(true); +#endif + m_outer_host->SetBackgroundColour(GetBackgroundColour()); + m_outer_host_sizer = new wxBoxSizer(wxVERTICAL); + m_outer_host->SetSizer(m_outer_host_sizer); + + wxBoxSizer* w_sizer = new wxBoxSizer(wxVERTICAL); + + wxStaticText* msg = new wxStaticText(this, wxID_ANY, _L("Select which settings to be published in the 3MF file")); + msg->SetFont(Label::Body_13); + msg->Wrap(-1); + w_sizer->Add(msg, 0, wxRIGHT | wxLEFT | wxTOP, FromDIP(10)); + + w_sizer->Add(f_bar, 0, wxRIGHT | wxLEFT | wxTOP | wxEXPAND, FromDIP(10)); + w_sizer->Add(m_outer_tabs, 0, wxRIGHT | wxLEFT | wxTOP | wxEXPAND, FromDIP(10)); + w_sizer->Add(m_outer_host, 1, wxRIGHT | wxLEFT | wxTOP | wxEXPAND, FromDIP(10)); + + build_option_model(); + + // Seed from a remembered session selection or a freshly loaded published 3MF (authoritative). + if (published_keys != nullptr || material_keys != nullptr) + apply_selection(published_keys != nullptr ? *published_keys : std::vector<std::string>(), + material_keys != nullptr ? *material_keys : std::vector<Slic3r::PublishedMaterialEntry>()); + + auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"}); + + dlg_btns->GetOK()->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { + // Publish is always allowed: no settings selected means no settings override. Warn only + // when an enabled mixed filament would ship without the material of one of its + // components; "Publish anyway" accepts that and publishes anyway. + if (const std::vector<MixedDependencyIssue> issues = unpublished_mixed_components(); !issues.empty()) { + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + MixedFilamentWarningDialog warn(this, full, issues); + if (warn.ShowModal() != wxID_OK) + return; // Cancel: dismiss the warning and stay in this dialog + } + EndModal(wxID_OK); + }); + dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) { EndModal(wxID_CANCEL); }); + + // Guide links, bottom-left, sharing the footer row with the OK/Cancel buttons (pushed right). + wxBoxSizer* links_sizer = new wxBoxSizer(wxVERTICAL); + auto* wiki_link = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/publishing_3mf/publish_3mf.html"); + auto* video_link = new HyperLink(this, _L("Video Guide"), "https://www.youtube.com/watch?v=-xt1N29UIOg"); + links_sizer->Add(wiki_link , 0, wxALIGN_LEFT); + links_sizer->Add(video_link, 0, wxTOP | wxALIGN_LEFT, FromDIP(4)); + + wxBoxSizer* footer = new wxBoxSizer(wxHORIZONTAL); + footer->Add(links_sizer, 0, wxALIGN_CENTER_VERTICAL); + footer->AddStretchSpacer(); + footer->Add(dlg_btns, 0, wxALIGN_CENTER_VERTICAL); + auto* footer_line = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1)); + footer_line->SetBackgroundColour(wxColour("#CECECE")); + footer_line->SetMinSize(wxSize(-1, 1)); + footer_line->SetMaxSize(wxSize(-1, 1)); + w_sizer->Add(footer_line, 0, wxRIGHT | wxLEFT | wxTOP | wxEXPAND, FromDIP(10)); + w_sizer->Add(footer, 0, wxRIGHT | wxLEFT | wxTOP | wxBOTTOM | wxEXPAND, FromDIP(10)); + + SetSizerAndFit(w_sizer); + fit_to_content(); // initial size only; the dialog is resizable + wxGetApp().UpdateDlgDarkUI(this); + // The dark-UI walk re-colours the tab strips after the compositions were baked; rebuild so + // they carry the theme-resolved background (the sidebar resolves its colours at paint time, + // this dialog bakes, so the bake has to happen after the walk). + refresh_mixed_tab_bitmaps(); +} + +// Size the window to its content: width follows the widest tab strip so no filament tab is +// hidden (TabCtrl::relayout hides overflowing buttons), height scales proportionally. Both +// are floored at the 530x530 base and capped at hard DIP limits - deliberately not the whole +// display - with one last-resort clamp so the dialog can never open larger than the screen. +// Also owns the resize floor: the window cannot be resized below what the tabs need, so +// shrinking never re-hides a filament tab. +void PublishSettingsDialog::fit_to_content() +{ + static const wxSize BASE{530, 530}; // base size in DIP, the minimum the dialog can shrink to + static const wxSize CAP{1300, 850}; // hard cap in DIP, the maximum the dialog can grow to + + int strip = m_outer_tabs->GetFullSize(); + for (const SectionGroup& section : m_sections) { + strip = std::max(strip, section.tabs->GetFullSize()); + if (section.mixed_tabs != nullptr) + strip = std::max(strip, section.mixed_tabs->GetFullSize()); + } + + // Minimum width: whatever keeps every tab visible (never below the base). strip is device + // pixels (Button min sizes); BASE/CAP are DIP and converted over. + const int min_w = std::max(strip + 2 * FromDIP(10), FromDIP(BASE.x)); + + // Initial size: prefer proportional growth within the caps. + const int w = std::clamp(min_w, FromDIP(BASE.x), FromDIP(CAP.x)); + const double f = double(w) / FromDIP(BASE.x); + const int h = std::clamp(int(FromDIP(BASE.y) * f), FromDIP(BASE.y), FromDIP(CAP.y)); + + const wxRect area = wxDisplay(this).GetClientArea(); + const int max_w = area.width * 9 / 10; + const int max_h = area.height * 9 / 10; + + SetMinSize(wxSize(std::min(min_w, max_w), std::min(FromDIP(BASE.y), max_h))); + SetSize(std::min(w, max_w), std::min(h, max_h)); +} + +PublishSettingsDialog::~PublishSettingsDialog() {} + +void PublishSettingsDialog::build_option_model() +{ + // Structural / non-publishable keys, shared with the published-3MF overlay path. + const std::set<std::string>& denylist = publish_structural_keys(); + // Base keys already added in the print section (dedup across pages/optgroups). The printer + // section keeps its own printer_added set keyed by the full per-extruder "#N" opt_id, so + // every extruder gets its own row (see Phase 1 below). + std::set<std::string> added; + + PresetBundle* bundle = wxGetApp().preset_bundle; + DynamicPrintConfig full = bundle->full_config(); + + m_info_nonsel = _L("No selected items..."); + m_info_allsel = _L("All items selected..."); + m_info_empty = _L("No matching items..."); + m_info_mix = _L("Mixed filament - published as a whole when \"Enable\" above is selected"); + + // Tab order differs from Section's enum order (Print, Printer, Material): the dialog + // presents Printer, Filament, Process. + m_sections.reserve(3); + const Section tab_order[] = {Section::Printer, Section::Material, Section::Print}; + for (Section kind : tab_order) + section_group_for(kind); + bind_tab_events(); + + // Shared per-option label/value computation; returns false when the option must be skipped + // (denylisted / unknown / empty label). value is the stringified value; unit the translated + // sidetext (may be empty). + auto option_text = [&denylist, &full](const std::string& opt_id, const std::string& pure_key, wxString& label, wxString& value, + wxString& unit) -> bool { + if (denylist.count(pure_key) > 0) + return false; + const ConfigOptionDef* def = print_config_def.get(pure_key); + if (def == nullptr) + return false; + label = _(def->full_label.empty() ? def->label : def->full_label); + if (label.IsEmpty()) + return false; + value = get_string_value(opt_id, full); + unit = _(def->sidetext); + if (unit == "%" && value.EndsWith("%")) + unit.clear(); + return true; + }; + + // --- Phase 1: printer per-extruder retraction settings (first, mirroring the sidebar's + // Printer group), from the printer tab's "Extruder"/"Extruder N" pages. One inner tab per + // extruder (e.g. "Left Extruder"/"Right Extruder" via Tab::translate_category), each holding + // that extruder's Retraction and Z-Hop rows with per-extruder "#N" values. + { + size_t g = section_group_for(Section::Printer); + std::set<std::string> printer_added; + for (Tab* tab : wxGetApp().tabs_list) { + if (tab->m_type != Preset::TYPE_PRINTER) + continue; + for (const PageShp& page : tab->m_pages) { + if (!page->title().StartsWith("Extruder")) + continue; + // The extruder index of this page: its options are appended with the same + // "#N" opt_index (opt.second.second), so derive the tab's index from the first + // allowlisted option; skip the page when none is found (defensive). + int extruder_idx = -1; + for (const ConfigOptionsGroupShp& optgroup : page->m_optgroups) { + if (optgroup->title != "Retraction" && optgroup->title != "Z-Hop") + continue; + for (const auto& opt : optgroup->opt_map()) + if (extruder_idx < 0) + extruder_idx = opt.second.second; + if (extruder_idx >= 0) + break; + } + if (extruder_idx < 0) + continue; + const wxString page_title = Tab::translate_category(page->title(), tab->m_type); + for (const ConfigOptionsGroupShp& optgroup : page->m_optgroups) { + // Allowlist on the untranslated optgroup title; the "Retraction when + // switching material" group is intentionally skipped. + if (optgroup->title != "Retraction" && optgroup->title != "Z-Hop") + continue; + const wxString subcategory = _(optgroup->title); + for (const auto& opt : optgroup->opt_map()) { + const std::string& opt_id = opt.first; + const std::string& pure_key = opt.second.first; + // Rows are keyed by the full per-extruder "#N" opt_id so each extruder + // tab publishes its own value; GetPublishedKeys() emits the checked rows + // as-is. + if (!printer_added.insert(opt_id).second) + continue; + wxString label, value, unit; + if (!option_text(opt_id, pure_key, label, value, unit)) + continue; + size_t cat_index = category_index_for(page_title, Section::Printer, g, size_t(extruder_idx)); + size_t sub_index = subcategory_index_for(cat_index, subcategory, optgroup->icon); + add_row_ui(opt_id, label, value, unit, cat_index, sub_index); + } + } + } + } + } + + // --- Phase 2: per-material sections synthesized from the filament tab's "Setting + // Overrides" page, under the Filament group. + { + size_t g = section_group_for(Section::Material); + Tab* filament_tab = nullptr; + for (Tab* tab : wxGetApp().tabs_list) + if (tab->m_type == Preset::TYPE_FILAMENT) { + filament_tab = tab; + break; + } + if (filament_tab != nullptr) { + const Page* overrides_page = nullptr; + for (const PageShp& page : filament_tab->m_pages) + if (page->title() == "Setting Overrides") { + overrides_page = page.get(); + break; + } + + if (overrides_page != nullptr) { + // Mixed-color slots are virtual: they carry no per-key Material/Retraction + // settings; their "Enable" toggle always embeds the mix definition (components, + // ratios, gradient). Detect them via the project-level flag. + const ConfigOptionBools* is_mixed_opt = full.opt<ConfigOptionBools>("filament_is_mixed"); + // Only the slots the project actually uses: base/MMU-painted volume extruders, + // support/wall/infill overrides and custom-gcode tool changes, plus the physical + // components of any in-use mixed slot. Unused slots get no section at all (and are + // therefore never published). One section per used slot, disambiguated by its + // colour chip and slot identity while showing the bare name. + const std::set<size_t> used_slots = project_used_filament_slots(*bundle, full, wxGetApp().plater()->model()); + for (size_t slot = 0; slot < bundle->filament_presets.size(); ++slot) { + if (used_slots.find(slot) == used_slots.end()) + continue; + const bool is_mixed = is_mixed_opt != nullptr && slot < is_mixed_opt->size() && is_mixed_opt->values[slot]; + const PublishMaterialIdentity identity = material_identity(slot, full); + // A mixed slot's title is its component composition (e.g. "1 (60%) + 2 + // (40%)"), not the cloned preset's name shown in the main GUI. + const wxString title = is_mixed ? mixed_filament_label(full, slot) : material_title(slot, bundle, full); + const size_t category_index = category_index_for(title, Section::Material, g, slot, identity, is_mixed); + + if (is_mixed) { + // A mixed slot publishes as one unit (its definition); nothing to select + // per-key. Its component filaments are auto-enabled + Full Published when + // "Enable" is checked (see on_enable_toggle). Its page still shows what + // would be published: a ratio bar, or the gradient graph. + add_mixed_visual(category_index, make_mixed_visual_spec(full, slot)); + continue; + } + + // Material requirement rows: an optional filament colour and/or a + // vendor-agnostic material type for this slot, in their own optgroup so they + // stay visually separated from the setting rows. + { + const size_t req_sub = subcategory_index_for(category_index, _L("Material"), "custom-gcode_filament"); + add_row_ui("filament_colour", _L("Color"), from_u8(filament_color_hex(full, slot)), wxString(), category_index, + req_sub, RowKind::Color); + std::string type; + if (const auto* types = full.opt<ConfigOptionStrings>("filament_type")) + if (slot < types->size()) + type = types->get_at(slot); + add_row_ui("filament_type", _L("Type"), from_u8(normalize_filament_type(type)), wxString(), category_index, req_sub, + RowKind::Type); + } + + // A material section must not repeat a key; the same key may appear in other + // material sections - that is intended. + std::set<std::string> material_added; + + for (const ConfigOptionsGroupShp& optgroup : overrides_page->m_optgroups) { + // Allowlist on the untranslated optgroup title; "Ironing" is skipped. + if (optgroup->title != "Retraction" && optgroup->title != "Retraction when switching material") + continue; + for (const auto& opt : optgroup->opt_map()) { + // Row keys are base keys; the load side applies them positionally. + const std::string& opt_id = opt.first; + std::string base = publish_base_key(opt_id); + if (!material_added.insert(base).second) + continue; + // Show the value of this slot; fall back to slot 0 if out of range. + std::string value_opt_id = base + "#" + std::to_string(slot); + if (const ConfigOption* opt_cfg = full.option(base)) + if (const auto* vec = dynamic_cast<const ConfigOptionVectorBase*>(opt_cfg)) + if (vec->size() > 0 && slot >= vec->size()) + value_opt_id = base + "#0"; + wxString label, value, unit; + if (!option_text(value_opt_id, base, label, value, unit)) + continue; + size_t sub_index = subcategory_index_for(category_index, _(optgroup->title), optgroup->icon); + add_row_ui(base, label, value, unit, category_index, sub_index); + } + } + } + } + } + } + + // --- Phase 3: process (print) settings; grouping matches the process tab. + { + size_t g = section_group_for(Section::Print); + for (Tab* tab : wxGetApp().tabs_list) { + if (tab->m_type != Preset::TYPE_PRINT) + continue; + size_t page_index = 0; + for (const PageShp& page : tab->m_pages) { + wxString category = Tab::translate_category(page->title(), tab->m_type); + const size_t category_index = category_index_for(category, Section::Print, g, page_index); + + for (const ConfigOptionsGroupShp& optgroup : page->m_optgroups) { + for (const auto& opt : optgroup->opt_map()) { + // opt_map() key is the opt_id (may carry "#N"); the value is + // (pure_opt_key, opt_index). + const std::string& opt_id = opt.first; + const std::string& pure_key = opt.second.first; + // A key may appear in more than one page/group; keep the first. + if (!added.insert(pure_key).second) + continue; + wxString label, value, unit; + if (!option_text(opt_id, pure_key, label, value, unit)) + continue; + size_t sub_index = subcategory_index_for(category_index, _(optgroup->title), optgroup->icon); + add_row_ui(opt_id, label, value, unit, category_index, sub_index); + } + } + ++page_index; + } + } + } + + // Pre-check the dirty (modified) settings and mark them bold (per-slot match, across all + // sections; collect_dirty_settings_keys unions the prints, printers and filaments). + // Dirty keys carry a "#N" per-extruder/per-slot suffix (deep_diff), so the base key alone + // cannot distinguish which extruder/filament slot changed: match the row's exact key, and + // for material rows (base key + per-slot value) the base key plus the section's slot. + std::set<std::string> dirty_keys; + for (const std::string& key : collect_dirty_settings_keys(*wxGetApp().preset_bundle)) + dirty_keys.insert(key); + for (Row& row : m_rows) { + // The Color/Type requirement rows are not "dirty overrides": never auto-checked. + if (row.kind != RowKind::Setting) + continue; + bool dirty = dirty_keys.count(row.key) != 0; + if (!dirty && row.section == Section::Material) + dirty = dirty_keys.count(publish_base_key(row.key) + "#" + std::to_string(m_categories[row.inner_index].filament_slot)) != 0; + row.dirty = dirty; + if (row.dirty) { + row.check->SetValue(true); + set_row_bold(row, true); + } + } + + // Wire the "Enable" checkboxes: toggling one reveals/hides the slot's settings below the + // header (and, for a mixed slot, auto-selects its components). Bind by index so the lambda + // stays valid even if the vector is reallocated later. + for (size_t c = 0; c < m_categories.size(); ++c) + if (m_categories[c].enable_check != nullptr) + m_categories[c].enable_check->Bind(wxEVT_TOGGLEBUTTON, [this, c](wxCommandEvent& event) { + on_enable_toggle(c); + event.Skip(); + }); + + // Wire the "Full Publish" checkboxes (physical slots): toggling one disables/enables the + // material's rows. + for (size_t c = 0; c < m_categories.size(); ++c) + if (m_categories[c].full_check != nullptr) + m_categories[c].full_check->Bind(wxEVT_TOGGLEBUTTON, [this, c](wxCommandEvent& event) { + on_full_toggle(c); + event.Skip(); + }); + + // No filter is active at startup: every row matches until the user types. + for (Row& row : m_rows) + row.matches_filter = true; + apply_visibility(); + + for (Category& category : m_categories) { + category.scroll->FitInside(); + category.list_sizer->Layout(); + } + for (SectionGroup& section : m_sections) + if (!section.categories.empty()) + section.tabs->SelectItem(0); + if (!m_sections.empty()) { + m_outer_tabs->SelectItem(0); + show_outer_page(0); + } + refresh_tab_indicators(); +} + +size_t PublishSettingsDialog::section_group_for(Section kind) +{ + for (size_t i = 0; i < m_sections.size(); ++i) + if (m_sections[i].kind == kind) + return i; + + SectionGroup section; + section.kind = kind; + const size_t new_index = m_sections.size(); + switch (kind) { + case Section::Printer: + section.title = _L("Printer"); + section.icon_name = "printer"; + break; + case Section::Material: + section.title = _L("Filament"); + section.icon_name = "filament"; + break; + case Section::Print: + section.title = _L("Process"); + section.icon_name = "process"; + break; + } + section.icon_bmp = ScalableBitmap(this, section.icon_name, 16); + + section.page = new wxPanel(m_outer_host, wxID_ANY); + section.page->SetBackgroundColour(GetBackgroundColour()); + auto* page_sizer = new wxBoxSizer(wxVERTICAL); + section.tabs = new TabCtrl(section.page, wxID_ANY, wxDefaultPosition, wxDefaultSize, s_tab_style); + section.tabs->SetFont(Label::Body_14); + section.tabs->SetBackgroundColour(GetBackgroundColour()); + page_sizer->Add(section.tabs, 0, wxEXPAND); + // Mixed-color filament slots get a second tab strip below the physical filament tabs; only + // the Material section has them. + if (kind == Section::Material) { + section.mixed_tabs = new TabCtrl(section.page, wxID_ANY, wxDefaultPosition, wxDefaultSize, s_tab_style); + section.mixed_tabs->SetFont(Label::Body_14); + section.mixed_tabs->SetBackgroundColour(GetBackgroundColour()); + page_sizer->Add(section.mixed_tabs, 0, wxEXPAND | wxTOP, FromDIP(2)); + section.mixed_tabs->Hide(); + } + section.page_host = new wxPanel(section.page, wxID_ANY); +#ifdef __WINDOWS__ + section.page_host->SetDoubleBuffered(true); +#endif + section.page_host->SetBackgroundColour(GetBackgroundColour()); + section.page_host_sizer = new wxBoxSizer(wxVERTICAL); + section.page_host->SetSizer(section.page_host_sizer); + page_sizer->Add(section.page_host, 1, wxEXPAND | wxTOP, FromDIP(4)); + section.page->SetSizer(page_sizer); + + if (section.icon_bmp.bmp().IsOk()) + m_outer_tabs->AppendItem(section.title, section.icon_bmp.bmp()); + else + m_outer_tabs->AppendItem(section.title); + m_outer_host_sizer->Add(section.page, 1, wxEXPAND); + section.page->Hide(); + m_sections.push_back(std::move(section)); + return new_index; +} + +size_t PublishSettingsDialog::category_index_for( + const wxString& title, Section section, size_t group, size_t source_index, const PublishMaterialIdentity& identity, bool is_mixed) +{ + // Dedup across both tab rows (physical + mixed); mixed slots are never duplicated anyway. + auto match = [&](const Category& existing) { + return existing.title == title && existing.section == section && existing.source_index == source_index && + existing.filament_id == identity.id && existing.filament_type == identity.type && + existing.filament_vendor == identity.vendor; + }; + for (size_t i : m_sections[group].categories) + if (match(m_categories[i])) + return i; + for (size_t i : m_sections[group].mixed_categories) + if (match(m_categories[i])) + return i; + + Category category; + category.title = title; + category.section = section; + category.group = group; + category.source_index = source_index; + category.filament_type = identity.type; + category.filament_vendor = identity.vendor; + category.filament_id = identity.id; + category.filament_slot = source_index; + category.is_mixed = is_mixed; + category.page = new wxPanel(m_sections[group].page_host, wxID_ANY); + category.page->SetBackgroundColour(GetBackgroundColour()); + auto* page_sizer = new wxBoxSizer(wxVERTICAL); + + // The physical slot's colour chip decorates the page header and the inner tab; it carries + // the 1-based slot number, mirroring the main GUI's filament swatches. A mixed slot has no + // header at all: its page is just the Enable toggle above the (always visible) definition + // preview - the identification lives in the tab strip's composition bitmap. + std::string hex; + std::string chip_label; + if (section == Section::Material && !is_mixed) { + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + hex = filament_color_hex(full, source_index); + chip_label = std::to_string(source_index + 1); + } + + if (section == Section::Material) { + if (is_mixed) { + // No chip/title: the lone "Enable" checkbox tops the page. + auto* enable_sizer = new wxBoxSizer(wxHORIZONTAL); + category.enable_check = new ::CheckBox(category.page, wxID_ANY); + category.enable_label = add_checkbox_label(category.page, enable_sizer, category.enable_check, _L("Enable"), + _L("Publish this mixed filament and enable + Full Publish its component filaments")); + page_sizer->Add(enable_sizer, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(6)); + } else { + // Line 1: [chip] [title] [Enable]. The Enable checkbox gates the whole slot: while + // it is unchecked nothing below the title is shown and nothing of it is published. + auto* header_sizer = new wxBoxSizer(wxHORIZONTAL); + if (wxBitmap* chip = get_extruder_color_icon(hex, chip_label, FromDIP(20), FromDIP(20))) { + category.filament_color_chip = new wxStaticBitmap(category.page, wxID_ANY, *chip); + header_sizer->Add(category.filament_color_chip, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(4)); + } + category.title_label = new wxStaticText(category.page, wxID_ANY, title); + category.title_label->SetFont(Label::Head_14); + header_sizer->Add(category.title_label, 0, wxALIGN_CENTER_VERTICAL); + auto* enable_sizer = new wxBoxSizer(wxHORIZONTAL); + category.enable_check = new ::CheckBox(category.page, wxID_ANY); + category.enable_label = add_checkbox_label(category.page, enable_sizer, category.enable_check, _L("Enable"), + _L("Publish this filament slot in the 3MF file")); + header_sizer->Add(enable_sizer, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(10)); + page_sizer->Add(header_sizer, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(6)); + + // Line 2: the "Full Publish" toggle, on its own line below the title (hidden until + // the slot is enabled), aligned with the colour chip above it. + auto* full_sizer = new wxBoxSizer(wxHORIZONTAL); + category.full_check = new ::CheckBox(category.page, wxID_ANY); + category.full_label = add_checkbox_label(category.page, full_sizer, category.full_check, _L("Full Publish"), + _L("Embed the entire filament of this slot in the 3MF file")); + category.full_line_item = page_sizer->Add(full_sizer, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(6)); + } + } + + category.scroll = new wxScrolledWindow(category.page, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); + category.scroll->SetScrollRate(0, FromDIP(20)); + category.scroll->SetBackgroundColour(GetBackgroundColour()); + category.list_sizer = new wxBoxSizer(wxVERTICAL); + category.scroll->SetSizer(category.list_sizer); + category.scroll->DisableFocusFromKeyboard(); + category.scroll->Bind(wxEVT_RIGHT_DOWN, &PublishSettingsDialog::show_menu, this); + category.info = new wxStaticText(category.scroll, wxID_ANY, is_mixed ? m_info_mix : m_info_empty); + category.info->SetFont(Label::Body_13); + category.list_sizer->Add(category.info, 1, wxALIGN_CENTER_HORIZONTAL | wxALL, FromDIP(10)); + category.info->Hide(); + page_sizer->Add(category.scroll, 1, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(4)); + // A material slot starts disabled: its rows (and its Full Publish line) stay hidden until + // "Enable" is checked. + if (section == Section::Material) + category.scroll->Hide(); + category.page->SetSizer(page_sizer); + category.page->Hide(); + + const size_t category_index = m_categories.size(); + m_categories.push_back(std::move(category)); + // Mixed slots live in a second tab row below the physical filament tabs. + if (is_mixed) + m_sections[group].mixed_categories.push_back(category_index); + else + m_sections[group].categories.push_back(category_index); + if (section == Section::Material) { + TabCtrl* target = is_mixed ? m_sections[group].mixed_tabs : m_sections[group].tabs; + if (is_mixed) { + // The tab's whole composition (mix chip + components + percents) lives in one + // bitmap; the text is empty because a TabCtrl item cannot interleave images into + // its text. + const DynamicPrintConfig full_cfg = wxGetApp().preset_bundle->full_config(); + const wxBitmap tab_bmp = mixed_filament_tab_bitmap(full_cfg, source_index, FromDIP(20), target->GetBackgroundColour()); + if (tab_bmp.IsOk()) + target->AppendItem(wxString(), tab_bmp); + else + target->AppendItem(title); + } else if (wxBitmap* chip = get_extruder_color_icon(hex, chip_label, FromDIP(20), FromDIP(20))) { + target->AppendItem(title, *chip); + } else { + target->AppendItem(title); + } + } else { + m_sections[group].tabs->AppendItem(title); + } + m_sections[group].page_host_sizer->Add(m_categories[category_index].page, 1, wxEXPAND); + if (is_mixed) { + if (m_sections[group].selected_mixed < 0) + m_sections[group].selected_mixed = 0; + m_sections[group].mixed_tabs->Show(); + } else if (m_sections[group].selected_inner < 0) { + m_sections[group].selected_inner = 0; + } + return category_index; +} + +size_t PublishSettingsDialog::subcategory_index_for(size_t category_index, const wxString& title, const wxString& icon) +{ + Category& category = m_categories[category_index]; + for (size_t i = 0; i < category.subs.size(); ++i) + if (category.subs[i].title == title) + return i; + + Subcategory sub; + sub.title = title; + if (!title.IsEmpty()) { + sub.header = new ::StaticLine(category.scroll, false, title, icon); + sub.header->SetFont(Label::Head_14); + sub.header->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#363636"))); + auto* wrap = new wxBoxSizer(wxVERTICAL); + wrap->Add(sub.header, 0, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(6)); + sub.item = category.list_sizer->Add(wrap, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(5)); + } + category.subs.push_back(std::move(sub)); + return category.subs.size() - 1; +} + +void PublishSettingsDialog::add_row_ui(const std::string& key, + const wxString& label, + const wxString& value, + const wxString& unit, + size_t category_index, + size_t subcategory_index, + RowKind kind) +{ + Category& category = m_categories[category_index]; + Row row; + row.key = key; + row.label = label; + row.value = value; + row.unit = unit; + row.kind = kind; + row.category = category.title; + row.subcategory = category.subs[subcategory_index].title; + row.section = category.section; + row.section_title = m_sections[category.group].title; + row.outer_index = category.group; + row.inner_index = category_index; + const size_t row_index = m_rows.size(); + m_rows.push_back(std::move(row)); + Row& current = m_rows[row_index]; + current.check = new ::CheckBox(category.scroll, wxID_ANY); + current.check->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& event) { + refresh_tab_indicators(); + event.Skip(); + }); + auto* row_sizer = new wxBoxSizer(wxHORIZONTAL); + current.check_label = add_checkbox_label(category.scroll, row_sizer, current.check, label + ":", wxEmptyString, + 24 * wxGetApp().em_unit()); + // The value is read-only text (incl. the Type row: the published type is the slot's + // normalized type, not author-editable). + current.value_label = new wxStaticText(category.scroll, wxID_ANY, value, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + current.value_label->SetFont(Label::Body_14); + current.value_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + current.value_label->SetToolTip(unit.IsEmpty() ? value : value + " " + unit); + if (kind == RowKind::Color && !value.IsEmpty()) { + // The colour swatch carries this slot's 1-based number, like the main GUI swatches. + const std::string chip_label = std::to_string(category.filament_slot + 1); + if (wxBitmap* chip = get_extruder_color_icon(value.ToStdString(), chip_label, FromDIP(20), FromDIP(20))) { + current.color_chip = new wxStaticBitmap(category.scroll, wxID_ANY, *chip); + row_sizer->Add(current.color_chip, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(8)); + } + } + row_sizer->Add(current.value_label, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(8)); + if (!unit.IsEmpty()) { + current.unit_label = new wxStaticText(category.scroll, wxID_ANY, unit); + current.unit_label->SetFont(Label::Body_14); + current.unit_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#6B6B6B"))); + row_sizer->Add(current.unit_label, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(4)); + } + current.item = category.list_sizer->Add(row_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(5)); + category.rows.push_back(row_index); + category.subs[subcategory_index].rows.push_back(row_index); +} + +void PublishSettingsDialog::on_full_toggle(size_t category_index) +{ + Category& cat = m_categories[category_index]; + const bool full = cat.full_check->GetValue(); + for (size_t r : cat.rows) { + m_rows[r].check->Enable(!full); + m_rows[r].check_label->Enable(!full); + } + refresh_tab_indicators(); +} + +void PublishSettingsDialog::on_enable_toggle(size_t category_index) +{ + Category& cat = m_categories[category_index]; + const bool enabled = cat.enable_check->GetValue(); + + // A published mixed filament needs its component filaments published too: mark the slots it + // uses as "Enable"d and Full Published so the mix's physical components always ship their + // identities. + if (cat.is_mixed && enabled) { + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + const std::vector<unsigned int> components = mixed_slot_components(full, cat.filament_slot); + for (const unsigned int component : components) { + // Components are 1-based physical filament indices. + const size_t component_slot = size_t(component) - 1; + for (size_t c = 0; c < m_categories.size(); ++c) { + Category& comp_cat = m_categories[c]; + if (comp_cat.section != Section::Material || comp_cat.is_mixed || comp_cat.filament_slot != component_slot) + continue; + if (comp_cat.enable_check != nullptr) + comp_cat.enable_check->SetValue(true); + if (comp_cat.full_check != nullptr) + comp_cat.full_check->SetValue(true); + on_full_toggle(c); + } + } + } + + // Reveal/hide everything below the slot's header (rows, info, Full Publish line) and refresh + // the visibility of the auto-selected component slots. + apply_visibility(); + if (cat.page != nullptr) + cat.page->GetSizer()->Layout(); + refresh_tab_indicators(); +} + +void PublishSettingsDialog::add_mixed_visual(size_t category_index, const MixedVisualSpec& spec) +{ + if (category_index >= m_categories.size() || !spec.valid) + return; + Category& category = m_categories[category_index]; + if (category.page == nullptr || category.page->GetSizer() == nullptr || category.scroll == nullptr || spec.component_colours.empty()) + return; + + auto* viz = new wxPanel(category.page, wxID_ANY); + viz->SetBackgroundStyle(wxBG_STYLE_PAINT); + // Theme colours and DIP metrics are resolved inside the paint handler so dark-mode toggles + // and DPI changes are picked up on the next repaint without any explicit listener. The + // ternary fill cache lives inside the shared triangle painter (FilamentBitmapUtils). + viz->Bind(wxEVT_PAINT, [this, panel = viz, spec](wxPaintEvent&) { + const wxColour bg = StateColor::darkModeColorFor(*wxWHITE); + wxBufferedPaintDC pdc(panel); + pdc.SetBackground(wxBrush(bg)); + pdc.Clear(); + const wxRect rc = panel->GetClientRect(); + if (rc.width <= 0 || rc.height <= 0) + return; + + const size_t n = spec.component_colours.size(); + + if (spec.tri_weights.size() == 3 && n == 3 && !spec.is_gradient) { + // Ternary mix: read-only miniature of the MixedFilamentDialog's triangle picker. + const MixedTriangleTheme tri_theme{StateColor::darkModeColorFor(*wxWHITE), StateColor::darkModeColorFor(wxColour("#CECECE")), + StateColor::darkModeColorFor(wxColour("#262E30")), + StateColor::darkModeColorFor(wxColour(107, 107, 107))}; + draw_mixed_triangle_picker(pdc, rc.GetSize(), {spec.component_colours[0], spec.component_colours[1], spec.component_colours[2]}, + {spec.tri_weights[0], spec.tri_weights[1], spec.tri_weights[2]}, tri_theme); + draw_mixed_triangle_labels(pdc, rc.GetSize(), {spec.tri_weights[0], spec.tri_weights[1], spec.tri_weights[2]}, tri_theme); + } else if (!spec.is_gradient) { + // Ratio bar. A 2-component slot matches the MixedFilamentDialog's continuous blend + + // divider (with its two end labels); wider non-gradient mixes (rare) fall back to one + // solid segment per component. + if (n == 2) { + const int bar_h = FromDIP(27); + draw_mixed_ratio_blend_bar(pdc, wxRect(rc.x, rc.y, rc.width, bar_h), spec.component_colours[0], spec.component_colours[1], + spec.ratios[1]); + // Read-only twin of the dialog's left/right percentage labels. + pdc.SetFont(::Label::Body_12); + pdc.SetTextForeground(StateColor::darkModeColorFor(wxColour(107, 107, 107))); + const wxString la = wxString::Format("%d%%", int(std::lround(spec.ratios[0] * 100.0))); + const wxString lb = wxString::Format("%d%%", int(std::lround(spec.ratios[1] * 100.0))); + const int lab_y = rc.y + bar_h + FromDIP(2); + pdc.DrawText(la, rc.x, lab_y); + pdc.DrawText(lb, rc.x + rc.width - pdc.GetTextExtent(lb).GetWidth(), lab_y); + } else { + draw_mixed_ratio_segments(pdc, rc, spec.component_colours, spec.ratios); + // Percent label centred in each segment wide enough to hold it. + std::vector<double> shares = spec.ratios; + double total = 0.0; + for (double r : shares) + total += r; + if (total <= 0.0) { + shares.assign(n, 1.0 / n); + total = 1.0; + } + pdc.SetFont(::Label::Body_12); + int x0 = rc.x; + for (size_t i = 0; i < n; ++i) { + const int x1 = (i + 1 < n) ? rc.x + int(std::lround(std::accumulate(shares.begin(), shares.begin() + i + 1, 0.0) / + total * double(rc.width))) : + rc.x + rc.width; + const int w = std::max(1, x1 - x0); + const wxString text = wxString::Format("%d%%", int(std::lround(shares[i] / total * 100.0))); + const wxSize tsz = pdc.GetTextExtent(text); + if (tsz.GetWidth() + FromDIP(4) <= w) { + const wxColour& c = spec.component_colours[i]; + const double lum = 0.299 * c.Red() + 0.587 * c.Green() + 0.114 * c.Blue(); + pdc.SetTextForeground(lum > 140 ? wxColour("#262E30") : *wxWHITE); + pdc.DrawText(text, x0 + (w - tsz.GetWidth()) / 2, rc.y + (rc.height - tsz.GetHeight()) / 2); + } + x0 = x1; + } + } + } else { + // Gradient: read-only miniature of the GradientCurveEditor plot, drawn through the + // shared painter so it anti-aliases and keeps the square proportions and labels. + const MixedGradientTheme grad_theme{StateColor::darkModeColorFor(*wxWHITE), + StateColor::darkModeColorFor(wxColour(238, 238, 238)), + StateColor::darkModeColorFor(wxColour(107, 107, 107)), + StateColor::darkModeColorFor(wxColour(107, 107, 107)), + StateColor::darkModeColorFor(wxColour(38, 46, 48)), + StateColor::darkModeColorFor(wxColour(172, 172, 172)), + StateColor::darkModeColorFor(*wxWHITE)}; + std::vector<MixedGradientCurve> curves; + std::vector<wxPoint2DDouble> anchors; + if (spec.gradient_samples.size() >= 2 && n >= 2) { + const wxRect plot = mixed_gradient_plot_rect(rc.GetSize()); + auto lift_alpha = [](wxColour c) { + if (c.Alpha() == 0) + c.Set(c.Red(), c.Green(), c.Blue(), 150); + return c; + }; + // First component's ratio solid, its mirror twin for the other. + const wxColour col_a = lift_alpha(spec.component_colours[0]); + const wxColour col_b = lift_alpha(spec.component_colours[1]); + std::vector<wxPoint2DDouble> pts_a, pts_b; + pts_a.reserve(spec.gradient_samples.size()); + pts_b.reserve(spec.gradient_samples.size()); + for (const auto& [t, r] : spec.gradient_samples) { + pts_a.push_back({plot.x + t * plot.width, plot.y + (1.0 - r) * plot.height}); + pts_b.push_back({plot.x + t * plot.width, plot.y + r * plot.height}); + } + // Control-point anchors of the stored curve on the first component's line. + anchors.reserve(spec.gradient_anchors.size()); + for (const auto& [t, r] : spec.gradient_anchors) + anchors.push_back({plot.x + t * plot.width, plot.y + (1.0 - r) * plot.height}); + curves.push_back({std::move(pts_a), col_a, 4}); + curves.push_back({std::move(pts_b), col_b, 2}); + } + draw_mixed_gradient_plot(pdc, rc.GetSize(), curves, anchors, grad_theme); + } + }); + + // Fixed DIP size, left-aligned: the visualization keeps its proportions no matter how the + // dialog is resized (the paint handler draws into whatever client rect the panel ends up + // with, so nothing else has to change). Sizes mirror the MixedFilamentDialog controls: the + // gradient plot and triangle picker match the editor's 260x200 / 160x160, the ratio bar is + // the dialog's 27px bar plus its label line. + int viz_h; + int viz_w; + if (spec.is_gradient) { + viz_w = 260; + viz_h = 200; + } else if (spec.tri_weights.size() == 3 && spec.component_colours.size() == 3) { + viz_w = 160; + viz_h = 160; + } else { + viz_w = 240; + viz_h = spec.component_colours.size() == 2 ? 50 : 30; + } + const wxSize viz_sz(FromDIP(viz_w), FromDIP(viz_h)); + viz->SetMinSize(viz_sz); + viz->SetMaxSize(viz_sz); + // Parented to the page right above the scroll area, so it is always shown with the tab: + // the "Enable" toggle keeps gating only the rows/info below, never this preview. + wxSizer* page_sizer = category.page->GetSizer(); + int scroll_idx = -1; + for (size_t i = 0; i < page_sizer->GetChildren().size(); ++i) + if (page_sizer->GetChildren()[i]->GetWindow() == category.scroll) { + scroll_idx = int(i); + break; + } + if (scroll_idx < 0) + page_sizer->Add(viz, 0, wxLEFT | wxRIGHT | wxTOP, FromDIP(10)); // defensive: no scroll item + else + page_sizer->Insert(scroll_idx, viz, 0, wxLEFT | wxRIGHT | wxTOP, FromDIP(10)); +} + +void PublishSettingsDialog::set_row_bold(Row& row, bool bold) +{ + // Rebase on the dialog's body font so clearing bold restores the exact original font. + row.check_label->SetFont(bold ? Label::Body_13.Bold() : Label::Body_13); +} + +void PublishSettingsDialog::save_scroll_position(Category& category) +{ + if (category.scroll != nullptr) + category.scroll->GetViewStart(&category.scroll_pos.x, &category.scroll_pos.y); +} + +void PublishSettingsDialog::show_outer_page(size_t section_index) +{ + if (section_index >= m_sections.size()) + return; + if (m_selected_outer >= 0 && m_selected_outer < static_cast<int>(m_sections.size())) { + SectionGroup& old_section = m_sections[m_selected_outer]; + if (old_section.selected_inner >= 0 && old_section.selected_inner < static_cast<int>(old_section.categories.size())) + save_scroll_position(m_categories[old_section.categories[old_section.selected_inner]]); + if (old_section.selected_mixed >= 0 && old_section.selected_mixed < static_cast<int>(old_section.mixed_categories.size())) + save_scroll_position(m_categories[old_section.mixed_categories[old_section.selected_mixed]]); + m_sections[m_selected_outer].page->Hide(); + } + m_selected_outer = static_cast<int>(section_index); + SectionGroup& section = m_sections[section_index]; + section.page->Show(); + // Restore whichever tab row (physical or mixed) was active. + if (section.selected_inner >= 0) + show_inner_page(section_index, section.selected_inner); + else if (section.selected_mixed >= 0) + show_mixed_page(section_index, section.selected_mixed); + m_outer_host_sizer->Layout(); +} + +void PublishSettingsDialog::show_inner_page(size_t section_index, int inner_index) +{ + if (section_index >= m_sections.size()) + return; + SectionGroup& section = m_sections[section_index]; + if (inner_index < 0 || inner_index >= static_cast<int>(section.categories.size())) + return; + if (section.selected_inner >= 0 && section.selected_inner < static_cast<int>(section.categories.size())) { + save_scroll_position(m_categories[section.categories[section.selected_inner]]); + m_categories[section.categories[section.selected_inner]].page->Hide(); + } + if (section.selected_mixed >= 0 && section.selected_mixed < static_cast<int>(section.mixed_categories.size())) { + save_scroll_position(m_categories[section.mixed_categories[section.selected_mixed]]); + m_categories[section.mixed_categories[section.selected_mixed]].page->Hide(); + section.selected_mixed = -1; + } + section.selected_inner = inner_index; + Category& category = m_categories[section.categories[inner_index]]; + category.page->Show(); + category.scroll->FitInside(); + category.scroll->Scroll(category.scroll_pos.x, category.scroll_pos.y); + if (section.mixed_tabs != nullptr) + section.mixed_tabs->Unselect(); + section.page_host_sizer->Layout(); +} + +void PublishSettingsDialog::show_mixed_page(size_t section_index, int mixed_index) +{ + if (section_index >= m_sections.size()) + return; + SectionGroup& section = m_sections[section_index]; + if (mixed_index < 0 || mixed_index >= static_cast<int>(section.mixed_categories.size())) + return; + if (section.selected_mixed >= 0 && section.selected_mixed < static_cast<int>(section.mixed_categories.size())) { + save_scroll_position(m_categories[section.mixed_categories[section.selected_mixed]]); + m_categories[section.mixed_categories[section.selected_mixed]].page->Hide(); + } + if (section.selected_inner >= 0 && section.selected_inner < static_cast<int>(section.categories.size())) { + save_scroll_position(m_categories[section.categories[section.selected_inner]]); + m_categories[section.categories[section.selected_inner]].page->Hide(); + section.selected_inner = -1; + } + section.selected_mixed = mixed_index; + Category& category = m_categories[section.mixed_categories[mixed_index]]; + category.page->Show(); + category.scroll->FitInside(); + category.scroll->Scroll(category.scroll_pos.x, category.scroll_pos.y); + section.tabs->Unselect(); + section.page_host_sizer->Layout(); +} + +void PublishSettingsDialog::on_outer_tab_changed(wxCommandEvent& event) +{ + const int selection = event.GetInt(); + if (selection >= 0 && selection < static_cast<int>(m_sections.size())) + show_outer_page(static_cast<size_t>(selection)); +} + +void PublishSettingsDialog::on_inner_tab_changed(size_t section_index, wxCommandEvent& event) +{ + const int selection = event.GetInt(); + if (section_index < m_sections.size() && selection >= 0 && selection < static_cast<int>(m_sections[section_index].categories.size())) + show_inner_page(section_index, selection); +} + +void PublishSettingsDialog::on_mixed_tab_changed(size_t section_index, wxCommandEvent& event) +{ + const int selection = event.GetInt(); + if (section_index < m_sections.size() && selection >= 0 && + selection < static_cast<int>(m_sections[section_index].mixed_categories.size())) + show_mixed_page(section_index, selection); +} + +void PublishSettingsDialog::bind_tab_events() +{ + m_outer_tabs->Bind(wxEVT_TAB_SEL_CHANGED, &PublishSettingsDialog::on_outer_tab_changed, this); + for (size_t section_index = 0; section_index < m_sections.size(); ++section_index) { + m_sections[section_index].tabs->Bind(wxEVT_TAB_SEL_CHANGED, + [this, section_index](wxCommandEvent& event) { on_inner_tab_changed(section_index, event); }); + if (m_sections[section_index].mixed_tabs != nullptr) + m_sections[section_index].mixed_tabs->Bind(wxEVT_TAB_SEL_CHANGED, [this, section_index](wxCommandEvent& event) { + on_mixed_tab_changed(section_index, event); + }); + } +} + +void PublishSettingsDialog::apply_filter(const wxString& filter_text) +{ + m_filter_mode = FilterMode::Text; + refresh_filter(filter_text.Lower()); +} + +void PublishSettingsDialog::apply_pseudo_filter(bool selected_only) +{ + m_filter_mode = selected_only ? FilterMode::SelectedOnly : FilterMode::UnselectedOnly; + refresh_filter(wxString()); // the pseudo modes ignore the search text +} + +void PublishSettingsDialog::refresh_filter(const wxString& filter) +{ + Freeze(); + const bool pseudo = m_filter_mode != FilterMode::Text; + const bool want_checked = m_filter_mode == FilterMode::SelectedOnly; + m_fb_sizer->Show(!pseudo); + if (pseudo) { + // "×" marks the chip as a dismissible filter state (U+00D7, present in all UI fonts). + m_pseudo_chip->SetLabel((want_checked ? _L("Filter selected") : _L("Filter non-selected")) + " " + wxString::FromUTF8("\u00d7")); + } + m_pseudo_chip->Show(pseudo); + + // Row matches are computed first; page and optgroup visibility is applied below. + if (pseudo) { + for (Row& row : m_rows) + row.matches_filter = row.check->IsEnabled() && row.check->GetValue() == want_checked; + } else { + const bool clear = filter.IsEmpty(); + for (Row& row : m_rows) { + row.matches_filter = clear || (row.section_title + " " + row.category + " " + row.subcategory + " " + row.label + " " + + row.value + " " + row.unit) + .Lower() + .Contains(filter); + } + } + + size_t first_outer = 0; + int first_inner = -1; + bool active_has_match = false; + for (size_t s = 0; s < m_sections.size(); ++s) { + for (size_t inner = 0; inner < m_sections[s].categories.size(); ++inner) { + Category& category = m_categories[m_sections[s].categories[inner]]; + bool has_match = false; + for (size_t r : category.rows) + has_match = has_match || m_rows[r].matches_filter; + category.info->Show(!has_match); + if (!has_match) + // A mixed slot has no selectable rows: always explain it is published whole. + category.info->SetLabel(category.is_mixed ? m_info_mix : + (pseudo ? (want_checked ? m_info_nonsel : m_info_allsel) : m_info_empty)); + if (has_match && first_inner < 0) { + first_outer = s; + first_inner = static_cast<int>(inner); + } + if (static_cast<int>(s) == m_selected_outer && static_cast<int>(inner) == m_sections[s].selected_inner) + active_has_match = has_match; + } + // Mixed slots have no rows: they can never match a filter, so they always fall back to + // their explanatory hint (shown once the slot is enabled). + for (size_t mixed : m_sections[s].mixed_categories) { + Category& category = m_categories[mixed]; + category.info->Show(true); + category.info->SetLabel(m_info_mix); + } + } + if (!active_has_match && first_inner >= 0 && + (m_selected_outer != static_cast<int>(first_outer) || m_sections[first_outer].selected_inner != first_inner)) { + if (m_selected_outer != static_cast<int>(first_outer)) { + m_outer_tabs->SelectItem(static_cast<int>(first_outer)); + show_outer_page(first_outer); + } + m_sections[first_outer].tabs->SelectItem(first_inner); + show_inner_page(first_outer, first_inner); + } + + apply_visibility(); + for (Category& category : m_categories) { + save_scroll_position(category); + category.scroll->FitInside(); + category.list_sizer->Layout(); + category.scroll->Scroll(category.scroll_pos.x, category.scroll_pos.y); + } + Layout(); + Thaw(); +} + +void PublishSettingsDialog::apply_visibility() +{ + Freeze(); + for (Category& category : m_categories) { + // A disabled material slot hides everything below its header (rows, info and the Full + // Publish line); enable it first to reveal its settings. + const bool enabled = category.section != Section::Material || + (category.enable_check != nullptr && category.enable_check->GetValue()); + if (category.scroll != nullptr) + category.scroll->Show(enabled); + if (category.full_line_item != nullptr) + category.full_line_item->Show(enabled); + bool category_any = false; + for (size_t r : category.rows) + category_any = category_any || m_rows[r].matches_filter; + category.info->Show(enabled && !category_any); + for (Subcategory& sub : category.subs) { + bool sub_any = false; + for (size_t r : sub.rows) + sub_any = sub_any || m_rows[r].matches_filter; + if (sub.header != nullptr) + sub.item->Show(enabled && sub_any); + for (size_t r : sub.rows) + m_rows[r].item->Show(enabled && m_rows[r].matches_filter); + } + category.list_sizer->Layout(); + category.scroll->FitInside(); + } + Thaw(); +} + +void PublishSettingsDialog::select_all(bool value) +{ + // "All" skips disabled (gated) rows; "None" leaves a gated row's preserved value. + for (Row& row : m_rows) + if (row.check->IsEnabled()) + row.check->SetValue(value); + // "All" also enables every material slot (so its rows/Full Publish become visible and the + // selection is actually exported); "None" disables them all again. + for (Category& cat : m_categories) + if (cat.section == Section::Material && cat.enable_check != nullptr) + cat.enable_check->SetValue(value); + // CheckBox::SetValue does not emit wxEVT_TOGGLEBUTTON, so re-run the enable handlers to + // propagate mixed-slot components and refresh visibility as if the user had clicked. + for (size_t c = 0; c < m_categories.size(); ++c) + if (m_categories[c].section == Section::Material) + on_enable_toggle(c); + apply_visibility(); + refresh_tab_indicators(); +} + +bool PublishSettingsDialog::row_is_visible(const Row& row) const +{ + if (m_selected_outer < 0 || m_selected_outer >= static_cast<int>(m_sections.size()) || + row.outer_index != static_cast<size_t>(m_selected_outer) || m_sections[m_selected_outer].selected_inner < 0 || + m_sections[m_selected_outer].selected_inner >= static_cast<int>(m_sections[m_selected_outer].categories.size()) || + row.inner_index != m_sections[m_selected_outer].categories[m_sections[m_selected_outer].selected_inner] || !row.matches_filter || + !row.check->IsEnabled()) + return false; + return row.item->IsShown(); +} + +void PublishSettingsDialog::select_visible(bool value) +{ + // In a pseudo-filter view the rows being toggled would all disappear; drop the filter + // afterwards so the result stays visible. + const bool clear_pseudo = (m_filter_mode == FilterMode::UnselectedOnly && !value) || + (m_filter_mode == FilterMode::SelectedOnly && value); + + // Toggle the rows visible under the *current* filter. + for (Row& row : m_rows) + if (row_is_visible(row)) + row.check->SetValue(value); + + if (clear_pseudo) { + // Note: SetValue() may fire wxEVT_TEXT on some platforms, re-entering apply_filter() - + // that is fine; the rows above were already toggled and the trailing call is idempotent. + m_filter_ctrl->ChangeValue(""); + apply_filter(""); // resync visibility and the All/None bar + } + refresh_tab_indicators(); +} + +void PublishSettingsDialog::show_menu(wxMouseEvent& evt) +{ + bool filtering = !m_filter_ctrl->GetValue().IsEmpty() || m_filter_mode != FilterMode::Text; + bool list_empty = true; + if (m_selected_outer >= 0) { + for (const Row& row : m_rows) + if (row_is_visible(row)) { + list_empty = false; + break; + } + } + + wxMenu m; + m.Append(kPublishSelectAll, _L("Select All"))->Enable(!filtering); + m.Append(kPublishDeselectAll, _L("Deselect All"))->Enable(!filtering); + m.AppendSeparator(); + m.Append(kPublishSelectVisible, _L("Select visible"))->Enable(!list_empty && filtering); + m.Append(kPublishDeselectVisible, _L("Deselect visible"))->Enable(!list_empty && filtering); + m.AppendSeparator(); + m.AppendCheckItem(kPublishFilterSelected, _L("Filter selected")); + m.AppendCheckItem(kPublishFilterNonSelected, _L("Filter non-selected")); + m.Check(kPublishFilterSelected, m_filter_mode == FilterMode::SelectedOnly); + m.Check(kPublishFilterNonSelected, m_filter_mode == FilterMode::UnselectedOnly); + + m.Bind( + wxEVT_MENU, + [this](wxCommandEvent& e) { + switch (e.GetId()) { + case kPublishSelectAll: select_all(true); break; + case kPublishDeselectAll: select_all(false); break; + case kPublishSelectVisible: select_visible(true); break; + case kPublishDeselectVisible: select_visible(false); break; + case kPublishFilterSelected: + // Clicking the active entry again clears the pseudo filter. + if (m_filter_mode == FilterMode::SelectedOnly) + apply_filter(m_filter_ctrl->GetValue()); + else + apply_pseudo_filter(true); + break; + case kPublishFilterNonSelected: + if (m_filter_mode == FilterMode::UnselectedOnly) + apply_filter(m_filter_ctrl->GetValue()); + else + apply_pseudo_filter(false); + break; + default: break; + } + }, + kPublishSelectAll, kPublishFilterNonSelected); + + wxWindow* src = dynamic_cast<wxWindow*>(evt.GetEventObject()); + if (!src) + return; + wxPoint screen_pos = src->ClientToScreen(evt.GetPosition()); + wxPoint local_pos = ScreenToClient(screen_pos); + PopupMenu(&m, local_pos); +} + +void PublishSettingsDialog::apply_selection(const std::vector<std::string>& published_keys, + const std::vector<Slic3r::PublishedMaterialEntry>& material_keys) +{ + // The supplied selection is authoritative: clear the dirty-default pre-check first so a + // dirty key the user deselected stays off, then re-select exactly what the selection names. + for (Row& row : m_rows) + if (row.check != nullptr) + row.check->SetValue(false); + for (Category& cat : m_categories) { + if (cat.section != Section::Material) + continue; + if (cat.enable_check != nullptr) + cat.enable_check->SetValue(false); + if (cat.full_check != nullptr) + cat.full_check->SetValue(false); + } + + // Print / printer rows: match by exact row key (the full "#N" opt_id where present). + for (const std::string& key : published_keys) + for (Row& row : m_rows) + if ((row.section == Section::Print || row.section == Section::Printer) && row.check != nullptr && row.key == key) { + row.check->SetValue(true); + break; + } + + // Per-slot material selections, applied positionally by slot. + for (const Slic3r::PublishedMaterialEntry& entry : material_keys) { + if (entry.slot < 0) + continue; + bool entry_mixed = false; + for (const std::string& k : entry.keys) + if (publish_mixed_keys().count(publish_base_key(k)) != 0) { + entry_mixed = true; + break; + } + size_t cat_idx = size_t(-1); + for (size_t c = 0; c < m_categories.size(); ++c) { + const Category& cat = m_categories[c]; + if (cat.section != Section::Material || cat.is_mixed != entry_mixed || cat.filament_slot != size_t(entry.slot)) + continue; + cat_idx = c; + break; + } + if (cat_idx == size_t(-1)) + continue; // slot not present in the receiver (out of range / skipped) + Category& cat = m_categories[cat_idx]; + if (cat.enable_check != nullptr) { + cat.enable_check->SetValue(true); + on_enable_toggle(cat_idx); + } + if (entry.full && cat.full_check != nullptr) { + cat.full_check->SetValue(true); + on_full_toggle(cat_idx); + } else { + // Setting rows are keyed by the base key. + for (const std::string& key : entry.keys) { + const std::string base = publish_base_key(key); + for (const size_t r : cat.rows) { + Row& row = m_rows[r]; + if (row.kind == RowKind::Setting && row.key == base) { + row.check->SetValue(true); + break; + } + } + } + if (entry.publish_type && !entry.publish_type_value.empty()) + for (const size_t r : cat.rows) + if (m_rows[r].kind == RowKind::Type && m_rows[r].check != nullptr) { + m_rows[r].check->SetValue(true); + break; + } + if (entry.publish_color && !entry.color.empty()) + for (const size_t r : cat.rows) + if (m_rows[r].kind == RowKind::Color && m_rows[r].check != nullptr) { + m_rows[r].check->SetValue(true); + break; + } + } + } + + apply_visibility(); + refresh_tab_indicators(); +} + +std::vector<std::string> PublishSettingsDialog::GetPublishedKeys() const +{ + std::vector<std::string> out; + // Process and printer sections both travel through published_keys (the load-side overlay + // applies process keys to the prints edited preset and the allowlisted printer keys to the + // printers edited preset); material keys use a separate API. Printer rows carry the full + // per-extruder "#N" opt_id (built in Phase 1), so a checked row publishes exactly that + // extruder's value - per-extruder selection is independent. + for (const Row& row : m_rows) { + if ((row.section != Section::Print && row.section != Section::Printer) || !row.check->GetValue()) + continue; + out.push_back(row.key); + } + return out; +} + +std::vector<MixedDependencyIssue> PublishSettingsDialog::unpublished_mixed_components() const +{ + std::vector<MixedDependencyIssue> out; + for (const Category& cat : m_categories) { + if (!cat.is_mixed || cat.section != Section::Material) + continue; + // Only enabled mixed slots depend on their components being published. + if (cat.enable_check == nullptr || !cat.enable_check->GetValue()) + continue; + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + // Components are 1-based physical filament indices. + for (const unsigned int component : mixed_slot_components(full, cat.filament_slot)) { + const size_t component_slot = size_t(component) - 1; + // Find the component slot's material category (one exists per physical slot). + const Category* comp_cat = nullptr; + for (const Category& other : m_categories) { + if (other.section == Section::Material && !other.is_mixed && other.filament_slot == component_slot) { + comp_cat = &other; + break; + } + } + if (comp_cat == nullptr || comp_cat->enable_check == nullptr) + continue; + // Missing when the component's "Enable" is off, or it is enabled with neither + // "Full Publish" nor the "Type" requirement row checked. Colour never counts: + // the receiver renders the mix from its own components' colours. + if (!comp_cat->enable_check->GetValue()) { + out.push_back({cat.filament_slot, component_slot, MixedDependencyIssue::Reason::Disabled}); + continue; + } + if (comp_cat->full_check != nullptr && comp_cat->full_check->GetValue()) + continue; + bool type_checked = false; + for (const size_t r : comp_cat->rows) { + const Row& row = m_rows[r]; + if (row.kind == RowKind::Type && row.check->GetValue()) { + type_checked = true; + break; + } + } + if (!type_checked) + out.push_back({cat.filament_slot, component_slot, MixedDependencyIssue::Reason::MaterialNotPublished}); + } + } + // Deterministic order for the warning rows: by mixed slot, then component slot. The same + // (mix, component) pair cannot repeat: each mix's components come from a config list. + std::sort(out.begin(), out.end(), [](const MixedDependencyIssue& a, const MixedDependencyIssue& b) { + return std::tie(a.mixed_slot, a.component_slot) < std::tie(b.mixed_slot, b.component_slot); + }); + return out; +} + +std::vector<Slic3r::PublishedMaterialEntry> PublishSettingsDialog::GetPublishedMaterialKeys() const +{ + std::vector<Slic3r::PublishedMaterialEntry> out; + for (const Category& cat : m_categories) { + if (cat.section != Section::Material) + continue; + // A slot that is not "Enable"d publishes nothing at all. + if (cat.enable_check != nullptr && !cat.enable_check->GetValue()) + continue; + Slic3r::PublishedMaterialEntry entry; + entry.filament_type = cat.filament_type; + entry.filament_vendor = cat.filament_vendor; + entry.filament_id = cat.filament_id; + entry.slot = static_cast<int>(cat.filament_slot); + // The author's preset id distinguishes exact variants that share filament_id + // ("Generic PLA" vs "Generic PLA Matte"), so the receiver can match precisely; the + // preset name is the most direct identity and is matched first on load. + PresetBundle* bundle = wxGetApp().preset_bundle; + if (bundle != nullptr && cat.filament_slot < bundle->filament_presets.size()) { + if (const Preset* preset = bundle->filaments.find_preset(bundle->filament_presets[cat.filament_slot], false, true)) { + entry.setting_id = preset->setting_id; + entry.preset_name = preset->name; + } + } + // A mixed slot publishes as one unit: its definition (components, ratios, gradient) + // always travels (its Enable implies this), and the component filaments are enabled + + // Full Published by on_enable_toggle into their own entries. + if (cat.is_mixed) { + Slic3r::PublishedMaterialEntry mixed_entry; + mixed_entry.filament_type = cat.filament_type; + mixed_entry.filament_vendor = cat.filament_vendor; + mixed_entry.filament_id = cat.filament_id; + mixed_entry.slot = static_cast<int>(cat.filament_slot); + // The mix's own colour (blended) is a property of the definition, not a + // requirement row; carry it so the receiver renders the swatch. + const DynamicPrintConfig full_cfg = wxGetApp().preset_bundle->full_config(); + const std::string mix_color = filament_color_hex(full_cfg, cat.filament_slot); + if (!mix_color.empty()) { + mixed_entry.publish_color = true; + mixed_entry.color = mix_color; + } + for (const std::string& key : publish_mixed_keys()) + mixed_entry.keys.emplace_back(key); + out.push_back(std::move(mixed_entry)); + continue; + } + // "Full Publish": the whole filament preset is embedded; type and colour are implicitly + // published, and the per-key rows are disabled / their state ignored. + if (cat.full_check != nullptr && cat.full_check->GetValue()) { + entry.full = true; + entry.full_keys = full_keys_for_slot(); + entry.publish_type = true; + entry.publish_type_value = normalize_filament_type(cat.filament_type); + for (size_t r : cat.rows) { + const Row& row = m_rows[r]; + if (row.kind == RowKind::Color && !row.value.IsEmpty()) { + entry.publish_color = true; + entry.color = row.value.ToStdString(); + } + } + out.push_back(std::move(entry)); + continue; + } + for (size_t r : cat.rows) { + const Row& row = m_rows[r]; + if (!row.check->GetValue()) + continue; + if (row.kind == RowKind::Color) { + entry.publish_color = true; + entry.color = row.value.ToStdString(); + } else if (row.kind == RowKind::Type) { + entry.publish_type = true; + entry.publish_type_value = row.value.ToStdString(); + } else { + entry.keys.push_back(row.key); + } + } + // Nothing checked at all -> nothing to write. + if (!entry.keys.empty() || entry.publish_type || entry.publish_color) + out.push_back(std::move(entry)); + } + return out; +} + +bool PublishSettingsDialog::category_has_selection(const Category& cat) const +{ + // A material slot publishes (or not) as a whole, gated by "Enable". + if (cat.section == Section::Material) + return cat.enable_check != nullptr && cat.enable_check->GetValue(); + // Print/Printer categories have no gate: any checked row counts. + for (const size_t r : cat.rows) + if (m_rows[r].check->GetValue()) + return true; + return false; +} + +void PublishSettingsDialog::refresh_tab_indicators() +{ + for (size_t s = 0; s < m_sections.size(); ++s) { + SectionGroup& section = m_sections[s]; + bool any = false; + for (size_t i = 0; i < section.categories.size(); ++i) { + const bool on = category_has_selection(m_categories[section.categories[i]]); + section.tabs->SetItemIndicator(static_cast<unsigned int>(i), on); + any = any || on; + } + if (section.mixed_tabs != nullptr) + for (size_t i = 0; i < section.mixed_categories.size(); ++i) { + const bool on = category_has_selection(m_categories[section.mixed_categories[i]]); + section.mixed_tabs->SetItemIndicator(static_cast<unsigned int>(i), on); + any = any || on; + } + m_outer_tabs->SetItemIndicator(static_cast<unsigned int>(s), any); + } +} + +std::vector<std::string> PublishSettingsDialog::full_keys_for_slot() const +{ + // The canonical filament preset keys minus the structural keys the published overlay must + // never touch (inherits, compatibility, *_settings_id, ...), plus filament_colour (not a + // member of Preset::filament_options). Values travel in the exported config, masked to + // this slot, and are applied on load onto the receiver's slot. + const std::set<std::string>& denylist = publish_structural_keys(); + std::vector<std::string> keys; + for (const std::string& key : Preset::filament_options()) + if (denylist.count(key) == 0) + keys.emplace_back(key); + keys.emplace_back("filament_colour"); + return keys; +} + +void PublishSettingsDialog::on_dpi_changed(const wxRect& suggested_rect) +{ + // Rescale toolbar bitmaps and icons; collapse chevrons are vector-drawn and repaint. + m_search.msw_rescale(); + m_menu.msw_rescale(); + m_filter_box->SetIcon(m_search.bmp()); + m_menu_button->SetBitmap(m_menu.bmp()); + m_outer_tabs->Rescale(); + + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + + for (Category& cat : m_categories) { + if (cat.full_check != nullptr) + cat.full_check->Refresh(); + if (cat.enable_check != nullptr) + cat.enable_check->Refresh(); + if (cat.title_label != nullptr) + cat.title_label->Refresh(); + if (cat.filament_color_chip != nullptr) { + // Mixed pages have no header chip; this only ever fires for physical slots. + if (wxBitmap* chip = get_extruder_color_icon(filament_color_hex(full, cat.filament_slot), std::to_string(cat.filament_slot + 1), + FromDIP(20), FromDIP(20))) { + cat.filament_color_chip->SetBitmap(*chip); + } + } + cat.scroll->FitInside(); + cat.list_sizer->Layout(); + } + + for (size_t s = 0; s < m_sections.size(); ++s) { + SectionGroup& section = m_sections[s]; + section.icon_bmp.msw_rescale(); + if (section.icon_bmp.bmp().IsOk()) + m_outer_tabs->SetItemBitmap(s, section.icon_bmp.bmp()); + section.tabs->Rescale(); + if (section.mixed_tabs != nullptr) + section.mixed_tabs->Rescale(); + } + + // Refresh the per-row Color chips at the new DPI (they carry the slot number too). + for (Row& row : m_rows) { + if (row.color_chip != nullptr && !row.value.IsEmpty()) { + const std::string chip_label = (row.inner_index < m_categories.size()) ? + std::to_string(m_categories[row.inner_index].filament_slot + 1) : + ""; + if (wxBitmap* chip = get_extruder_color_icon(row.value.ToStdString(), chip_label, FromDIP(20), FromDIP(20))) + row.color_chip->SetBitmap(*chip); + } + } + + for (size_t category_index = 0; category_index < m_categories.size(); ++category_index) { + const Category& category = m_categories[category_index]; + if (category.section != Section::Material || category.is_mixed) + continue; + if (wxBitmap* chip = get_extruder_color_icon(filament_color_hex(full, category.filament_slot), + std::to_string(category.filament_slot + 1), FromDIP(20), FromDIP(20))) { + const SectionGroup& section = m_sections[category.group]; + const auto iter = std::find(section.categories.begin(), section.categories.end(), category_index); + if (iter != section.categories.end()) + m_sections[category.group].tabs->SetItemBitmap(static_cast<unsigned int>(iter - section.categories.begin()), *chip); + } + } + refresh_mixed_tab_bitmaps(); + + fit_to_content(); // tab buttons' min widths grew with the DPI: re-fit (incl. resize floor) + Refresh(); +} + +void PublishSettingsDialog::refresh_mixed_tab_bitmaps() +{ + // The mixed-tab composition bitmaps bake the tab strip's background colour and DPI-scaled + // text, so both a theme flip and a DPI change have to rebuild them. + const DynamicPrintConfig full = wxGetApp().preset_bundle->full_config(); + for (SectionGroup& section : m_sections) { + if (section.mixed_tabs == nullptr) + continue; + const wxColour tab_bg = section.mixed_tabs->GetBackgroundColour(); + for (size_t i = 0; i < section.mixed_categories.size(); ++i) { + const Category& category = m_categories[section.mixed_categories[i]]; + const wxBitmap tab_bmp = mixed_filament_tab_bitmap(full, category.filament_slot, FromDIP(20), tab_bg); + if (tab_bmp.IsOk()) + section.mixed_tabs->SetItemBitmap(static_cast<unsigned int>(i), tab_bmp); + } + } +} + +void PublishSettingsDialog::on_sys_color_changed() +{ + // The mixed-tab compositions bake the tab strip's background colour: rebuild them when the + // theme changes (on_dpi_changed covers rescales). + refresh_mixed_tab_bitmaps(); + Refresh(); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/PublishSettingsDialog.hpp b/src/slic3r/GUI/PublishSettingsDialog.hpp new file mode 100644 index 0000000000..c38d865413 --- /dev/null +++ b/src/slic3r/GUI/PublishSettingsDialog.hpp @@ -0,0 +1,290 @@ +#pragma once + +#include "GUI_Utils.hpp" +#include "wxExtensions.hpp" +#include "Widgets/TabCtrl.hpp" + +#include "libslic3r/PublishSettings.hpp" + +#include <wx/wx.h> +#include <wx/colour.h> +#include <wx/scrolwin.h> +#include <wx/menu.h> +#include <utility> +#include <vector> +#include <string> + +// Forward declarations (all are global classes, see Widgets/TextInput.hpp and +// Widgets/StaticLine.hpp). +class TextInput; +class StaticLine; +class CheckBox; + +namespace Slic3r { namespace GUI { + +struct PublishMaterialIdentity +{ + std::string type; + std::string vendor; + std::string id; +}; + +// One unmet dependency of an enabled mixed-filament slot: the component filament the mix uses +// would ship without its material (either the component slot is not enabled at all, or it is +// enabled with neither "Full Publish" nor the "Type" requirement checked). Slots are 0-based. +struct MixedDependencyIssue +{ + enum class Reason { Disabled, MaterialNotPublished }; + size_t mixed_slot{0}; + size_t component_slot{0}; + Reason reason{Reason::Disabled}; +}; + +// Dialog letting a model author select which settings get embedded in a 3MF. Nested tab layout +// mirroring the Process settings (Printer / Filament / Process outer tabs, category or material +// tabs inside each). Dirty settings are pre-checked and shown bold; on OK the print rows become +// "orca_published_keys" and the material rows become "orca_published_material_keys". +class PublishSettingsDialog : public DPIDialog +{ +public: + // Optional published selection (Feature A/B): when the caller supplies one (either a + // remembered session selection or the payload of a freshly loaded published 3MF) the dialog + // is seeded from it, overriding the dirty-default pre-check. A non-null pointer to an empty + // selection means "publish nothing" (an intentional empty state); a null pointer means "no + // remembered selection" (keep the dirty defaults). + PublishSettingsDialog(wxWindow* parent = nullptr, + const std::vector<std::string>* published_keys = nullptr, + const std::vector<Slic3r::PublishedMaterialEntry>* material_keys = nullptr); + ~PublishSettingsDialog(); + + // The selected print/printer setting keys (in display order); printer keys carry a '#N' + // per-extruder suffix. + std::vector<std::string> GetPublishedKeys() const; + + // The selected keys grouped per material section (base keys, no '#N' suffix). + std::vector<Slic3r::PublishedMaterialEntry> GetPublishedMaterialKeys() const; + +protected: + void on_dpi_changed(const wxRect& suggested_rect) override; + void on_sys_color_changed() override; + +private: + void fit_to_content(); + void refresh_mixed_tab_bitmaps(); + + // Which part of the settings the row/category came from. + enum class Section { Print, Printer, Material }; + + // One selectable setting row: a checkbox (setting name) plus a value label and an optional + // grey unit label. key is the full config key, possibly with a "#N" variant suffix + // (print/printer rows); material rows carry the base key. + enum class RowKind { + Setting, // a regular setting key + Color, // material colour requirement (filament_colour) + Type, // material type requirement (read-only text) + }; + struct Row + { + std::string key; + wxString category; + wxString subcategory; + wxString label; + wxString value; + wxString unit; + wxString section_title; // outer tab title, for filter matching + Section section{Section::Print}; + RowKind kind{RowKind::Setting}; + size_t outer_index{0}; + size_t inner_index{0}; + bool dirty{false}; // matches a dirty base key: pre-checked + bold + bool matches_filter{false}; // survives the active filter (computed by apply_filter) + ::CheckBox* check{nullptr}; + wxStaticText* check_label{nullptr}; + wxStaticText* value_label{nullptr}; + wxStaticText* unit_label{nullptr}; + wxStaticBitmap* color_chip{nullptr}; // Color rows only; swatch next to the value + wxSizerItem* item{nullptr}; // sizer item of this row's h-sizer in its tab list sizer + }; + + // An optgroup heading. Rows store indices into m_rows. + struct Subcategory + { + wxString title; + ::StaticLine* header{nullptr}; // null when the title is empty + wxSizerItem* item{nullptr}; + std::vector<size_t> rows; + }; + + // An inner TabCtrl page with its material controls and content. + struct Category + { + wxString title; + Section section{Section::Print}; + size_t group{0}; // index into m_sections / outer page + size_t source_index{0}; // stable source page or material slot index + wxPanel* page{nullptr}; + wxScrolledWindow* scroll{nullptr}; + wxBoxSizer* list_sizer{nullptr}; + wxStaticText* info{nullptr}; + wxPoint scroll_pos{0, 0}; + wxStaticBitmap* filament_color_chip{nullptr}; + wxStaticText* title_label{nullptr}; // material title (static text; Full Publish carries the label elsewhere) + // "Enable": while unchecked nothing of this slot is exported and everything below the + // header row is hidden. For physical slots the Full Publish toggle sits on a second + // line (full_line_item) visible only when enabled; for mixed slots Enable alone implies + // publishing the mix definition, so no Full Publish widget exists at all. + ::CheckBox* enable_check{nullptr}; + wxStaticText* enable_label{nullptr}; + wxSizerItem* full_line_item{nullptr}; // sizer item of the Full Publish line (physical slots only) + // "Full Publish": while checked, the whole slot preset is serialized and its rows + // (incl. Color/Type) are disabled. + ::CheckBox* full_check{nullptr}; + wxStaticText* full_label{nullptr}; + // True for a mixed-color filament slot: no Material/Retraction rows; Enable publishes + // the slot's gradient/ratio definition as a whole. + bool is_mixed{false}; + // Material identity, only for Section::Material categories. + std::string filament_type; + std::string filament_vendor; + std::string filament_id; + // The author's 0-based filament slot this material section represents. + size_t filament_slot{0}; + std::vector<Subcategory> subs; + std::vector<size_t> rows; // flattened rows of this category + }; + + // Frozen snapshot of a mixed filament slot's definition for the read-only visualization + // painted on the slot's page. Plain data only: the paint handler must never touch the + // config. For gradient slots the curve is pre-sampled (t, ratio) pairs, where ratio is the + // first component's share over model height; anchors carry the raw control points. + struct MixedVisualSpec + { + bool valid{false}; + bool is_gradient{false}; + std::vector<wxColour> component_colours; // colour per component, in config order + std::vector<double> ratios; // sublayer shares summing to ~1 (non-gradient) + std::vector<double> tri_weights; // 3-component mixes: barycentric shares + std::vector<std::pair<double, double>> gradient_samples; + std::vector<std::pair<double, double>> gradient_anchors; + }; + + // One outer TabCtrl page. Category entries are its inner tabs. + struct SectionGroup + { + wxString title; // _L("Printer") / _L("Filament") / _L("Process") + Section kind{Section::Print}; // maps 1:1 to the display group + std::string icon_name; // "printer" / "filament" / "process" + ScalableBitmap icon_bmp; // tab icon next to the title; rescaled on DPI change + wxPanel* page{nullptr}; + TabCtrl* tabs{nullptr}; + // Second tab strip, below the main one, listing only the mixed-color filament slots. + // Present on the Material section only (null elsewhere). + TabCtrl* mixed_tabs{nullptr}; + wxPanel* page_host{nullptr}; + wxBoxSizer* page_host_sizer{nullptr}; + int selected_inner{-1}; + // Selected mixed tab (index into mixed_categories), valid while a mixed slot page is shown. + int selected_mixed{-1}; + std::vector<size_t> categories; // indices into m_categories (physical slots) + std::vector<size_t> mixed_categories; // indices into m_categories (mixed slots) + }; + + void build_option_model(); + // Seed the dialog from a published selection (print/printer keys + per-slot material keys): + // the supplied selection is authoritative - it is applied after the dirty pre-check and + // overrides it, so deselected dirty keys stay off. Rows/slots not present in the selection + // are left unselected. Unknown or out-of-range entries are skipped gracefully. + void apply_selection(const std::vector<std::string>& published_keys, + const std::vector<Slic3r::PublishedMaterialEntry>& material_keys); + // Frozen snapshot of a mixed slot's definition for the page visualization, resolved from + // the full config once at dialog-build time. Gradient slots pre-sample exactly what the + // slicer will print: the custom curve wins over the gradient_range endpoints over the + // 0.10 -> 0.90 default (the resolution FilamentBitmapUtils::mixed_gradient_curve mirrors). + static MixedVisualSpec make_mixed_visual_spec(const Slic3r::DynamicPrintConfig& full, size_t slot); + void apply_filter(const wxString& filter_text); + // Menu-only pseudo filters: show only the checked ("Filter selected") or only the + // unchecked ("Filter non-selected") rows. The search box keeps the user's text. + void apply_pseudo_filter(bool selected_only); + // Recompute row matches and visibility for the active filter mode. filter is the lowered + // search text; it is ignored by the pseudo modes. + void refresh_filter(const wxString& filter); + void select_all(bool value); + void select_visible(bool value); + void show_menu(wxMouseEvent& evt); + void set_row_bold(Row& row, bool bold); + // "Full Publish" toggled: disables/enables the material's rows. + void on_full_toggle(size_t category_index); + // "Enable" toggled on a material slot: reveals/hides everything below the header and, for a + // mixed slot, auto-selects its component filaments' "Enable" + "Full Publish" toggles. + void on_enable_toggle(size_t category_index); + // Whether a category currently publishes something, driving its tab's indicator dot. + // Print/Printer: any row checked. Material: the slot's "Enable" is on. + bool category_has_selection(const Category& cat) const; + // Recompute the indicator dot on every outer/inner tab from the current selection state. + void refresh_tab_indicators(); + // Unmet dependencies of enabled mixed-filament slots, one record per (mix, component) pair: + // "Enable" not checked on the component, or enabled with neither "Full Publish" nor the + // "Type" requirement row checked. Colour is deliberately ignored (the receiver renders the + // mix from its own components' colours). Sorted by mixed slot, then component slot. + std::vector<MixedDependencyIssue> unpublished_mixed_components() const; + // Read-only visualization of a mixed slot's definition (a stacked ratio bar, or the + // Material Ratio vs Model Height graph for a gradient), inserted above the info hint + // inside the category's scroll area. + void add_mixed_visual(size_t category_index, const MixedVisualSpec& spec); + // Return/create the fixed outer page for a Section kind. + size_t section_group_for(Section kind); + size_t category_index_for(const wxString& title, + Section section, + size_t group, + size_t source_index, + const PublishMaterialIdentity& identity = PublishMaterialIdentity(), + bool is_mixed = false); + size_t subcategory_index_for(size_t category_index, const wxString& title, const wxString& icon); + void add_row_ui(const std::string& key, + const wxString& label, + const wxString& value, + const wxString& unit, + size_t category_index, + size_t subcategory_index, + RowKind kind = RowKind::Setting); + // The non-structural filament keys of a slot's preset, for a "Full Publish" entry. + std::vector<std::string> full_keys_for_slot() const; + void save_scroll_position(Category& category); + void show_outer_page(size_t section_index); + void show_inner_page(size_t section_index, int inner_index); + void show_mixed_page(size_t section_index, int mixed_index); + void on_outer_tab_changed(wxCommandEvent& event); + void on_inner_tab_changed(size_t section_index, wxCommandEvent& event); + void on_mixed_tab_changed(size_t section_index, wxCommandEvent& event); + bool row_is_visible(const Row& row) const; + void apply_visibility(); + void bind_tab_events(); + + TabCtrl* m_outer_tabs{nullptr}; + wxPanel* m_outer_host{nullptr}; + wxBoxSizer* m_outer_host_sizer{nullptr}; + int m_selected_outer{-1}; + wxBoxSizer* m_fb_sizer{nullptr}; // "All"/"None" buttons sizer + // Active filter mode: free text from the search box, or one of the menu's pseudo filters. + enum class FilterMode { Text, SelectedOnly, UnselectedOnly }; + FilterMode m_filter_mode{FilterMode::Text}; + TextInput* m_filter_box{nullptr}; + wxTextCtrl* m_filter_ctrl{nullptr}; + wxStaticBitmap* m_menu_button{nullptr}; + // Shown while a pseudo filter is active (the search box keeps the user's text, so the chip + // carries the visible state); clicking it returns to text filtering. + wxStaticText* m_pseudo_chip{nullptr}; + wxString m_info_nonsel; + wxString m_info_allsel; + wxString m_info_empty; + wxString m_info_mix; // body hint shown for a mixed slot (published as a whole) + + ScalableBitmap m_search; + ScalableBitmap m_menu; + + std::vector<Row> m_rows; + std::vector<Category> m_categories; + std::vector<SectionGroup> m_sections; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/RammingChart.cpp b/src/slic3r/GUI/RammingChart.cpp index 96cd3b65a7..29116b12cb 100644 --- a/src/slic3r/GUI/RammingChart.cpp +++ b/src/slic3r/GUI/RammingChart.cpp @@ -7,6 +7,7 @@ #include "GUI.hpp" #include "GUI_App.hpp" #include "I18N.hpp" +#include "Widgets/StateColor.hpp" wxDEFINE_EVENT(EVT_WIPE_TOWER_CHART_CHANGED, wxCommandEvent); diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index 029310faf9..c8338dc79a 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -76,7 +76,7 @@ ReleaseNoteDialog::ReleaseNoteDialog(Plater *plater /*= nullptr*/) m_sizer_right->Add(0, 0, 1, wxTOP, FromDIP(15)); m_vebview_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(560), FromDIP(430)), wxVSCROLL); - m_vebview_release_note->SetScrollRate(5, 5); + m_vebview_release_note->SetScrollRate(5, FromDIP(20)); m_vebview_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8)); m_vebview_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430))); @@ -142,7 +142,7 @@ UpdatePluginDialog::UpdatePluginDialog(wxWindow* parent /*= nullptr*/) operation_tips->SetMaxSize(wxSize(FromDIP(260), -1)); m_vebview_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_vebview_release_note->SetScrollRate(5, 5); + m_vebview_release_note->SetScrollRate(5, FromDIP(20)); m_vebview_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8)); m_vebview_release_note->SetMinSize(wxSize(FromDIP(260), FromDIP(150))); m_vebview_release_note->SetMaxSize(wxSize(FromDIP(260), FromDIP(150))); @@ -277,7 +277,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) m_simplebook_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8)); m_scrollwindows_release_note = new wxScrolledWindow(m_simplebook_release_note, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(560), FromDIP(430)), wxVSCROLL); - m_scrollwindows_release_note->SetScrollRate(5, 5); + m_scrollwindows_release_note->SetScrollRate(5, FromDIP(20)); m_scrollwindows_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8)); //webview @@ -538,7 +538,7 @@ SecondaryCheckDialog::SecondaryCheckDialog(wxWindow* parent, wxWindowID id, cons m_sizer_right->Add(0, 0, 1, wxTOP, FromDIP(15)); m_vebview_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_vebview_release_note->SetScrollRate(0, 5); + m_vebview_release_note->SetScrollRate(0, FromDIP(20)); m_vebview_release_note->SetBackgroundColour(*wxWHITE); m_vebview_release_note->SetMinSize(wxSize(FromDIP(400), FromDIP(380))); m_sizer_right->Add(m_vebview_release_note, 0, wxEXPAND | wxRIGHT | wxLEFT, FromDIP(15)); @@ -823,7 +823,7 @@ PrintErrorDialog::PrintErrorDialog(wxWindow* parent, wxWindowID id, const wxStri m_sizer_right->Add(0, 0, 1, wxTOP, FromDIP(5)); m_vebview_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_vebview_release_note->SetScrollRate(0, 5); + m_vebview_release_note->SetScrollRate(0, FromDIP(20)); m_vebview_release_note->SetBackgroundColour(*wxWHITE); m_vebview_release_note->SetMinSize(wxSize(FromDIP(320), FromDIP(250))); m_sizer_right->Add(m_vebview_release_note, 0, wxEXPAND | wxRIGHT | wxLEFT, FromDIP(15)); @@ -1122,7 +1122,7 @@ ConfirmBeforeSendDialog::ConfirmBeforeSendDialog(wxWindow* parent, wxWindowID id m_sizer_right->Add(0, 0, 1, wxTOP, FromDIP(15)); m_vebview_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_vebview_release_note->SetScrollRate(0, 5); + m_vebview_release_note->SetScrollRate(0, FromDIP(20)); m_vebview_release_note->SetBackgroundColour(*wxWHITE); m_vebview_release_note->SetMinSize(wxSize(FromDIP(400), FromDIP(380))); m_sizer_right->Add(m_vebview_release_note, 0, wxEXPAND | wxRIGHT | wxLEFT, FromDIP(15)); diff --git a/src/slic3r/GUI/ReleaseNote.hpp b/src/slic3r/GUI/ReleaseNote.hpp index 0c11dc2f58..cfd372bc97 100644 --- a/src/slic3r/GUI/ReleaseNote.hpp +++ b/src/slic3r/GUI/ReleaseNote.hpp @@ -35,6 +35,7 @@ #include "Widgets/CheckBox.hpp" #include "Widgets/ComboBox.hpp" #include "Widgets/ScrolledWindow.hpp" +#include "Widgets/HyperLink.hpp" #include <wx/hashmap.h> #include <wx/webview.h> diff --git a/src/slic3r/GUI/SafetyOptionsDialog.cpp b/src/slic3r/GUI/SafetyOptionsDialog.cpp index 6536666bb1..c633d2778e 100644 --- a/src/slic3r/GUI/SafetyOptionsDialog.cpp +++ b/src/slic3r/GUI/SafetyOptionsDialog.cpp @@ -31,7 +31,7 @@ SafetyOptionsDialog::SafetyOptionsDialog(wxWindow* parent) SetSize(FromDIP(480),FromDIP(320)); m_scrollwindow = new wxScrolledWindow(this, wxID_ANY); - m_scrollwindow->SetScrollRate(0, FromDIP(10)); + m_scrollwindow->SetScrollRate(0, FromDIP(20)); m_scrollwindow->SetBackgroundColour(*wxWHITE); m_scrollwindow->SetMinSize(wxSize(FromDIP(480), wxDefaultCoord)); m_scrollwindow->SetMaxSize(wxSize(FromDIP(480), wxDefaultCoord)); @@ -272,4 +272,4 @@ void SafetyOptionsDialog::show_idel_heating_toast(const wxString &text) m_idel_heating_toast_timer.StartOnce(3000); } -}} // namespace Slic3r::GUI \ No newline at end of file +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/SceneCache.cpp b/src/slic3r/GUI/SceneCache.cpp new file mode 100644 index 0000000000..a72e32695f --- /dev/null +++ b/src/slic3r/GUI/SceneCache.cpp @@ -0,0 +1,62 @@ +#include "libslic3r/libslic3r.h" +#include "SceneCache.hpp" + +#include "3DScene.hpp" +#include "GLModel.hpp" +#include "GLShader.hpp" +#include "GLTexture.hpp" +#include "GUI_App.hpp" + +#include <glad/gl.h> + +namespace Slic3r { +namespace GUI { + +void SceneCache::capture(Key key) +{ + m_valid = false; + + if (wxGetApp().get_shader("flat_texture") == nullptr) + return; + + GLTexture::copy_from_framebuffer(m_texture_id, m_texture_size, key.size[0], key.size[1], GL_NEAREST); + + m_key = std::move(key); + m_valid = true; +} + +void SceneCache::render(GLModel& quad) +{ + GLShaderProgram* shader = wxGetApp().get_shader("flat_texture"); + + glsafe(::glDisable(GL_DEPTH_TEST)); + glsafe(::glDisable(GL_BLEND)); + + shader->start_using(); + shader->set_uniform("view_model_matrix", Transform3d::Identity()); + shader->set_uniform("projection_matrix", Transform3d::Identity()); + shader->set_uniform("uniform_texture", 0); + + glsafe(::glActiveTexture(GL_TEXTURE0)); + glsafe(::glBindTexture(GL_TEXTURE_2D, m_texture_id)); + quad.render(); + glsafe(::glBindTexture(GL_TEXTURE_2D, 0)); + shader->stop_using(); + + glsafe(::glEnable(GL_DEPTH_TEST)); + glsafe(::glEnable(GL_BLEND)); + glsafe(::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)); +} + +void SceneCache::reset() +{ + m_valid = false; + if (m_texture_id != 0) { + glsafe(::glDeleteTextures(1, &m_texture_id)); + m_texture_id = 0; + } + m_texture_size = { { 0, 0 } }; +} + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/SceneCache.hpp b/src/slic3r/GUI/SceneCache.hpp new file mode 100644 index 0000000000..d645d2d2a6 --- /dev/null +++ b/src/slic3r/GUI/SceneCache.hpp @@ -0,0 +1,56 @@ +#pragma once + +#include "libslic3r/Point.hpp" + +#include <array> +#include <vector> + +namespace Slic3r { +namespace GUI { + +class GLModel; + +// The last 3D scene pass, kept as a texture for frames that only rebuild the overlay. +class SceneCache +{ +public: + // Scene pass inputs that change without any frame request. + struct Key + { + std::array<unsigned int, 2> size{ { 0, 0 } }; + Transform3d view_matrix{ Transform3d::Identity() }; + Transform3d projection_matrix{ Transform3d::Identity() }; + // Hovered volumes that draw their sinking contour, hovered plate icons, hovered gizmo grabber. + std::vector<int> sinking_hover_volume_idxs; + std::vector<int> hover_plate_icon_idxs; + int gizmo_hover_id{ -1 }; + bool render_preview{ true }; + + bool operator == (const Key& other) const { + return size == other.size && render_preview == other.render_preview && + gizmo_hover_id == other.gizmo_hover_id && + sinking_hover_volume_idxs == other.sinking_hover_volume_idxs && + hover_plate_icon_idxs == other.hover_plate_icon_idxs && + view_matrix.isApprox(other.view_matrix) && + projection_matrix.isApprox(other.projection_matrix); + } + }; + + // Copies the bound read framebuffer, sized by key.size, and remembers key. + void capture(Key key); + bool matches(const Key& key) const { return m_valid && m_key == key; } + // Draws the last capture over the whole viewport, on the given full screen quad. + void render(GLModel& quad); + void invalidate() { m_valid = false; } + // Frees the texture. + void reset(); + +private: + unsigned int m_texture_id{ 0 }; + std::array<unsigned int, 2> m_texture_size{ { 0, 0 } }; + Key m_key; + bool m_valid{ false }; +}; + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/SceneRaycaster.cpp b/src/slic3r/GUI/SceneRaycaster.cpp index 64a091211b..408e910ff8 100644 --- a/src/slic3r/GUI/SceneRaycaster.cpp +++ b/src/slic3r/GUI/SceneRaycaster.cpp @@ -99,8 +99,11 @@ void SceneRaycaster::remove_raycaster(std::shared_ptr<SceneRaycasterItem> item) } } -SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Camera& camera, const ClippingPlane* clipping_plane) const +SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Camera& camera, + const ClippingPlane* clipping_plane, SceneRaycaster::EHitMode mode) const { + // Orca: Picking may favor an already selected volume for interaction, while camera + // navigation must always use the geometrically closest visible scene surface. // helper class used to return currently selected volume as hit when overlapping with other volumes // to allow the user to click and drag on a selected volume class VolumeKeeper @@ -110,7 +113,11 @@ SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Came bool m_selected_volume_already_found{ false }; public: - VolumeKeeper() { + explicit VolumeKeeper(bool enabled) { + // Orca: Disable selected-volume bias for navigation raycasts. + if (!enabled) + return; + const Selection& selection = wxGetApp().plater()->get_selection(); if (selection.is_single_volume() || selection.is_single_modifier()) { const GLVolume* volume = selection.get_first_volume(); @@ -135,7 +142,7 @@ SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Came } }; - VolumeKeeper volume_keeper; + VolumeKeeper volume_keeper(mode == EHitMode::Picking); double closest_hit_squared_distance = std::numeric_limits<double>::max(); auto is_closest = [&closest_hit_squared_distance, &volume_keeper](const Camera& camera, const Vec3f& hit) { @@ -154,7 +161,7 @@ SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Came HitResult ret; - auto test_raycasters = [this, is_closest, clipping_plane, &volume_keeper](EType type, const Vec2d& mouse_pos, const Camera& camera, HitResult& ret) { + auto test_raycasters = [this, is_closest, clipping_plane, mode, &volume_keeper](EType type, const Vec2d& mouse_pos, const Camera& camera, HitResult& ret) { const ClippingPlane* clip_plane = (clipping_plane != nullptr && type == EType::Volume) ? clipping_plane : nullptr; const std::vector<std::shared_ptr<SceneRaycasterItem>>* raycasters = get_raycasters(type); const Vec3f camera_forward = camera.get_dir_forward().cast<float>(); @@ -163,12 +170,22 @@ SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Came if (!item->is_active()) continue; + // Each plate's component 0 is its surface; the remaining Bed IDs are controls. + // Keep controls clickable, but do not use them as camera-pan anchors. + if (mode != EHitMode::Picking && type == EType::Bed && + decode_id(type, item->get_id()) % PartPlate::GRABBER_COUNT != 0) + continue; + current_hit.raycaster_id = item->get_id(); const Transform3d& trafo = item->get_transform(); if (item->get_raycaster()->closest_hit(mouse_pos, trafo, camera, current_hit.position, current_hit.normal, clip_plane)) { current_hit.position = (trafo * current_hit.position.cast<double>()).cast<float>(); current_hit.normal = (trafo.matrix().block(0, 0, 3, 3).inverse().transpose() * current_hit.normal.cast<double>()).normalized().cast<float>(); - if (item->use_back_faces() || current_hit.normal.dot(camera_forward) < 0.0f) { + // Orca: Perspective rays away from the viewport center are not parallel to camera_forward. + // Keep picking's legacy policy, but accept every front-facing navigation surface. + const Vec3f view_direction = mode != EHitMode::Picking && camera.get_type() == Camera::EType::Perspective ? + Vec3f((current_hit.position.cast<double>() - camera.get_position()).cast<float>()) : camera_forward; + if (item->use_back_faces() || current_hit.normal.dot(view_direction) < 0.0f) { if (is_closest(camera, current_hit.position)) { if (volume_keeper.is_active()) { if (volume_keeper.check_hit_result(current_hit)) @@ -182,14 +199,18 @@ SceneRaycaster::HitResult SceneRaycaster::hit(const Vec2d& mouse_pos, const Came } }; - if (!m_gizmos.empty()) - test_raycasters(EType::Gizmo, mouse_pos, camera, ret); + // Orca: Gizmo geometry is an interaction target, not a valid depth anchor for camera movement. + if (mode == EHitMode::Picking) { + if (!m_gizmos.empty()) + test_raycasters(EType::Gizmo, mouse_pos, camera, ret); - if (!m_fallback_gizmos.empty() && !ret.is_valid()) - test_raycasters(EType::FallbackGizmo, mouse_pos, camera, ret); + if (!m_fallback_gizmos.empty() && !ret.is_valid()) + test_raycasters(EType::FallbackGizmo, mouse_pos, camera, ret); + } if (!m_gizmos_on_top || !ret.is_valid()) { - if (camera.is_looking_downward() && !m_bed.empty()) + // Orca: In perspective the bottom of the viewport can see the bed even at a horizontal view. + if ((mode == EHitMode::SceneOnly || (mode == EHitMode::Picking && camera.is_looking_downward())) && !m_bed.empty()) test_raycasters(EType::Bed, mouse_pos, camera, ret); if (!m_volumes.empty()) test_raycasters(EType::Volume, mouse_pos, camera, ret); diff --git a/src/slic3r/GUI/SceneRaycaster.hpp b/src/slic3r/GUI/SceneRaycaster.hpp index 99152712dd..9aa527abee 100644 --- a/src/slic3r/GUI/SceneRaycaster.hpp +++ b/src/slic3r/GUI/SceneRaycaster.hpp @@ -57,6 +57,15 @@ public: FallbackGizmo = 2000000 }; + // Orca: Navigation needs the closest visible scene surface, without picking-specific + // gizmo and selected-volume priority. + enum class EHitMode : unsigned char + { + Picking, + SceneOnly, + VolumesOnly // Navigation when the bed is hidden. + }; + struct HitResult { EType type{ EType::None }; @@ -97,7 +106,8 @@ public: void set_gizmos_on_top(bool value) { m_gizmos_on_top = value; } - HitResult hit(const Vec2d& mouse_pos, const Camera& camera, const ClippingPlane* clipping_plane = nullptr) const; + HitResult hit(const Vec2d& mouse_pos, const Camera& camera, const ClippingPlane* clipping_plane = nullptr, + EHitMode mode = EHitMode::Picking) const; #if ENABLE_RAYCAST_PICKING_DEBUG void render_hit(const Camera& camera); diff --git a/src/slic3r/GUI/Search.cpp b/src/slic3r/GUI/Search.cpp index f8fc51ed02..427271ad2f 100644 --- a/src/slic3r/GUI/Search.cpp +++ b/src/slic3r/GUI/Search.cpp @@ -62,94 +62,12 @@ static char marker_by_type(Preset::Type type, PrinterTechnology pt) } } -std::string Option::opt_key() const { return into_u8(key).substr(2); } - void FoundOption::get_marked_label_and_tooltip(const char **label_, const char **tooltip_) const { *label_ = marked_label.c_str(); *tooltip_ = tooltip.c_str(); } -template<class T> -// void change_opt_key(std::string& opt_key, DynamicPrintConfig* config) -void change_opt_key(std::string &opt_key, DynamicPrintConfig *config, int &cnt) -{ - T *opt_cur = static_cast<T *>(config->option(opt_key)); - cnt = opt_cur->values.size(); - return; - - if (opt_cur->values.size() > 0) opt_key += "#" + std::to_string(0); -} - -static std::string get_key(const std::string &opt_key, Preset::Type type) { return std::to_string(int(type)) + ";" + opt_key; } - -void OptionsSearcher::append_options(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode) -{ - auto emplace = [this, type](const std::string key, const wxString &label) { - const GroupAndCategory &gc = groups_and_categories[key]; - if (gc.group.IsEmpty() || gc.category.IsEmpty()) return; - - wxString suffix; - wxString suffix_local; - if (gc.category == "Machine limits") { - //suffix = key.back() == '1' ? L("Stealth") : L("Normal"); - suffix = key.back() == '1' ? wxEmptyString : wxEmptyString; - suffix_local = " " + _(suffix); - suffix = " " + suffix; - } - - if (!label.IsEmpty()) - options.emplace_back(Option{boost::nowide::widen(key), type, (label + suffix).ToStdWstring(), (_(label) + suffix_local).ToStdWstring(), gc.group.ToStdWstring(), - _(gc.group).ToStdWstring(), gc.category.ToStdWstring(), GUI::Tab::translate_category(gc.category, type).ToStdWstring()}); - }; - - for (std::string opt_key : config->keys()) { - const ConfigOptionDef &opt = config->def()->options.at(opt_key); - if (opt.mode > mode) continue; - - int cnt = 0; - - if ((type == Preset::TYPE_SLA_MATERIAL || type == Preset::TYPE_PRINTER || type == Preset::TYPE_PRINT) && opt_key != "printable_area") - switch (config->option(opt_key)->type()) { - case coInts: change_opt_key<ConfigOptionInts>(opt_key, config, cnt); break; - case coBools: change_opt_key<ConfigOptionBools>(opt_key, config, cnt); break; - case coFloats: change_opt_key<ConfigOptionFloats>(opt_key, config, cnt); break; - case coStrings: change_opt_key<ConfigOptionStrings>(opt_key, config, cnt); break; - case coPercents: change_opt_key<ConfigOptionPercents>(opt_key, config, cnt); break; - case coPoints: change_opt_key<ConfigOptionPoints>(opt_key, config, cnt); break; - // BBS - case coEnums: change_opt_key<ConfigOptionInts>(opt_key, config, cnt); break; - default: break; - } - - if (type == Preset::TYPE_FILAMENT && filament_options_with_variant.find(opt_key) != filament_options_with_variant.end()) - opt_key += "#0"; - - wxString label = opt.full_label.empty() ? opt.label : opt.full_label; - - std::string key = get_key(opt_key, type); - if (cnt == 0) - emplace(key, label); - else - for (int i = 0; i < cnt; ++i) - // ! It's very important to use "#". opt_key#n is a real option key used in GroupAndCategory - emplace(key + "#" + std::to_string(i), label); - } -} - -inline void OptionsSearcher::sort_options() -{ - std::sort(options.begin(), options.end(), [](const Option &o1, const Option &o2) { return o1.label < o2.label; }); - Option * last = nullptr; - for (auto& opt : options) { - if (last && last->label == opt.label && last->group == opt.group && last->type == opt.type && last->category != opt.category) { - last->multi_category = true; - opt.multi_category = true; - } - last = &opt; - } -} - // Mark a string using ColorMarkerStart and ColorMarkerEnd symbols static std::wstring mark_string(const std::wstring &str, const std::vector<uint16_t> &matches, Preset::Type type, PrinterTechnology pt) { @@ -234,7 +152,8 @@ bool OptionsSearcher::search(const std::string &search, bool force /* = false*/, return wxString(marker_by_type(opt.type, printer_technology)) + opt.category_local + sep + opt.group_local + sep + opt.label_local; }; - std::vector<uint16_t> matches, matches2; + std::vector<uint16_t> matches, matches2; + const std::vector<Option> &options = m_index.options(); for (size_t i = 0; i < options.size(); i++) { const Option &opt = options[i]; if (full_list) { @@ -306,111 +225,21 @@ OptionsSearcher::~OptionsSearcher() {} void OptionsSearcher::init(std::vector<InputInfo> input_values) { - options.clear(); - for (auto i : input_values) append_options(i.config, i.type, i.mode); - sort_options(); + m_index.init(std::move(input_values)); search(search_line, true, search_type); } void OptionsSearcher::apply(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode) { - if (options.empty()) return; - - options.erase(std::remove_if(options.begin(), options.end(), [type](Option opt) { return opt.type == type; }), options.end()); - - append_options(config, type, mode); - - sort_options(); - - search(search_line, true, search_type); + if (m_index.apply(config, type, mode)) + search(search_line, true, search_type); } const Option &OptionsSearcher::get_option(size_t pos_in_filter) const { assert(pos_in_filter != size_t(-1) && found[pos_in_filter].option_idx != size_t(-1)); - return options[found[pos_in_filter].option_idx]; -} - -const Option &OptionsSearcher::get_option(const std::string &opt_key, Preset::Type type, int &variant_index) const -{ - std::string opt_key2 = opt_key; - if (auto n = opt_key.find('#'); n != std::string::npos) { - variant_index = std::atoi(opt_key.c_str() + n + 1); - opt_key2 = opt_key.substr(0, n); - } - auto it = std::lower_bound(options.begin(), options.end(), Option({boost::nowide::widen(get_key(opt_key2, type))})); - // BBS: return the 0th option when not found in searcher caused by mode difference - // assert(it != options.end()); - if (it == options.end()) { variant_index = -2 ; return options[0]; } - if (it->opt_key() == opt_key2) { - variant_index = -1; - } else { - const std::string opt_key3 = opt_key2 + "#"; - it = std::lower_bound(it, options.end(), Option({boost::nowide::widen(get_key(opt_key3, type))})); - if (it == options.end() || it->opt_key().compare(0, opt_key3.length(), opt_key3) != 0) { - variant_index = -2; // Not found - return options[0]; - } - auto it2 = it; - ++it2; - if (it2 != options.end() && it2->opt_key().compare(0, opt_key3.length(), opt_key3) == 0 - && printer_options_with_variant_1.find(opt_key2) == printer_options_with_variant_1.end()) - variant_index = -2; - } - - return options[it - options.begin()]; -} - -static Option create_option(const std::string &opt_key, const wxString &label, Preset::Type type, const GroupAndCategory &gc) -{ - wxString suffix; - wxString suffix_local; - if (gc.category == "Machine limits") { - //suffix = opt_key.back() == '1' ? L("Stealth") : L("Normal"); - suffix = opt_key.back() == '1' ? wxEmptyString : wxEmptyString; - suffix_local = " " + _(suffix); - suffix = " " + suffix; - } - - wxString category = gc.category; - if (type == Preset::TYPE_PRINTER && category.Contains("Extruder ")) { - std::string opt_idx = opt_key.substr(opt_key.find("#") + 1); - category = wxString::Format("%s %d", "Extruder", atoi(opt_idx.c_str()) + 1); - } - - return Option{boost::nowide::widen(get_key(opt_key, type)), - type, - (label + suffix).ToStdWstring(), - (_(label) + suffix_local).ToStdWstring(), - gc.group.ToStdWstring(), - _(gc.group).ToStdWstring(), - gc.category.ToStdWstring(), - GUI::Tab::translate_category(category, type).ToStdWstring()}; -} - -Option OptionsSearcher::get_option(const std::string &opt_key, const wxString &label, Preset::Type type) const -{ - std::string key = get_key(opt_key, type); - auto it = std::lower_bound(options.begin(), options.end(), Option({boost::nowide::widen(key)})); - // BBS: return the 0th option when not found in searcher caused by mode difference - if (it == options.end()) return options[0]; - if (it->key == boost::nowide::widen(key)) return options[it - options.begin()]; - if (groups_and_categories.find(key) == groups_and_categories.end()) { - size_t pos = key.find('#'); - if (pos == std::string::npos) return options[it - options.begin()]; - - std::string zero_opt_key = key.substr(0, pos + 1) + "0"; - - if (groups_and_categories.find(zero_opt_key) == groups_and_categories.end()) return options[it - options.begin()]; - - return create_option(opt_key, label, type, groups_and_categories.at(zero_opt_key)); - } - - const GroupAndCategory &gc = groups_and_categories.at(key); - if (gc.group.IsEmpty() || gc.category.IsEmpty()) return options[it - options.begin()]; - - return create_option(opt_key, label, type, gc); + return m_index.option_at(found[pos_in_filter].option_idx); } void OptionsSearcher::show_dialog(Preset::Type type, wxWindow *parent, TextInput *input, wxWindow* ssearch_btn) @@ -437,11 +266,6 @@ void OptionsSearcher::dlg_msw_rescale() { if (search_dialog) search_dialog->msw_rescale(); } - -void OptionsSearcher::add_key(const std::string &opt_key, Preset::Type type, const wxString &group, const wxString &category) -{ - groups_and_categories[get_key(opt_key, type)] = GroupAndCategory{group, category}; -} //------------------------------------------ // SearchItem //------------------------------------------ diff --git a/src/slic3r/GUI/Search.hpp b/src/slic3r/GUI/Search.hpp index 4ae43dbca0..92ccd4d28c 100644 --- a/src/slic3r/GUI/Search.hpp +++ b/src/slic3r/GUI/Search.hpp @@ -19,6 +19,7 @@ #include "wxExtensions.hpp" #include "GUI_Utils.hpp" #include "libslic3r/Preset.hpp" +#include "SettingsIndex.hpp" #include "Widgets/ScrolledWindow.hpp" #include "Widgets/TextInput.hpp" #include "Widgets/PopupWindow.hpp" @@ -34,39 +35,6 @@ namespace Search { class SearchDialog; -struct InputInfo -{ - DynamicPrintConfig *config{nullptr}; - Preset::Type type{Preset::TYPE_INVALID}; - ConfigOptionMode mode{comSimple}; -}; - -struct GroupAndCategory -{ - wxString group; - wxString category; -}; - -struct Option -{ - // bool operator<(const Option& other) const { return other.label > this->label; } - bool operator<(const Option &other) const { return other.key > this->key; } - - // Fuzzy matching works at a character level. Thus matching with wide characters is a safer bet than with short characters, - // though for some languages (Chinese?) it may not work correctly. - std::wstring key; - Preset::Type type{Preset::TYPE_INVALID}; - std::wstring label; - std::wstring label_local; - std::wstring group; - std::wstring group_local; - std::wstring category; - std::wstring category_local; - bool multi_category { false }; - - std::string opt_key() const; -}; - struct FoundOption { // UTF8 encoding, to be consumed by ImGUI by reference. @@ -90,25 +58,19 @@ struct OptionViewParameters class OptionsSearcher { - std::string search_line; - Preset::Type search_type = Preset::TYPE_INVALID; + SettingsIndex m_index; - std::map<std::string, GroupAndCategory> groups_and_categories; - PrinterTechnology printer_technology; - - std::vector<Option> options{}; + std::string search_line; + Preset::Type search_type = Preset::TYPE_INVALID; + PrinterTechnology printer_technology; std::vector<FoundOption> found{}; - void append_options(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode); - - void sort_options(); void sort_found() { std::sort(found.begin(), found.end(), [](const FoundOption &f1, const FoundOption &f2) { return f1.outScore > f2.outScore || (f1.outScore == f2.outScore && f1.label < f2.label); }); }; - size_t options_size() const { return options.size(); } size_t found_size() const { return found.size(); } public: @@ -119,32 +81,26 @@ public: OptionsSearcher(); ~OptionsSearcher(); + SettingsIndex & index() { return m_index; } + const SettingsIndex &index() const { return m_index; } + + // Rebuild the catalog and re-run the current query so the cached results track it. void init(std::vector<InputInfo> input_values); void apply(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode); + bool search(); bool search(const std::string &search, bool force = false, Preset::Type type = Preset::TYPE_INVALID); - void add_key(const std::string &opt_key, Preset::Type type, const wxString &group, const wxString &category); - size_t size() const { return found_size(); } const FoundOption &operator[](const size_t pos) const noexcept { return found[pos]; } const Option & get_option(size_t pos_in_filter) const; - const Option & get_option(const std::string &opt_key, Preset::Type type, int &variant_index) const; - Option get_option(const std::string &opt_key, const wxString &label, Preset::Type type) const; const std::vector<FoundOption> &found_options() { return found; } - const GroupAndCategory & get_group_and_category(const std::string &opt_key) { return groups_and_categories[opt_key]; } std::string & search_string() { return search_line; } void set_printer_technology(PrinterTechnology pt) { printer_technology = pt; } - void sort_options_by_key() - { - std::sort(options.begin(), options.end(), [](const Option &o1, const Option &o2) { return o1.key < o2.key; }); - } - void sort_options_by_label() { sort_options(); } - void show_dialog(Preset::Type type, wxWindow *parent, TextInput *input, wxWindow *ssearch_btn); void dlg_sys_color_changed(); void dlg_msw_rescale(); diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 41ee523fbe..a3b83bd643 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -148,7 +148,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) wxBoxSizer* m_scroll_sizer = new wxBoxSizer(wxVERTICAL); m_scroll_area = new wxScrolledWindow(this); - m_scroll_area->SetScrollRate(0, 20); + m_scroll_area->SetScrollRate(0, FromDIP(20)); m_scroll_area->SetBackgroundColour(m_colour_def_color); m_scroll_area->SetMinSize(wxSize(FromDIP(700), FromDIP(600))); m_scroll_area->SetMaxSize(wxSize(FromDIP(700), FromDIP(600))); @@ -707,7 +707,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater) //show bind failed info m_sw_print_failed_info = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(SELECT_MACHINE_DIALOG_SIMBOOK_SIZE2.x, FromDIP(125)), wxVSCROLL); m_sw_print_failed_info->SetBackgroundColour(*wxWHITE); - m_sw_print_failed_info->SetScrollRate(0, 5); + m_sw_print_failed_info->SetScrollRate(0, FromDIP(20)); m_sw_print_failed_info->SetMinSize(wxSize(SELECT_MACHINE_DIALOG_SIMBOOK_SIZE2.x, FromDIP(125))); m_sw_print_failed_info->SetMaxSize(wxSize(SELECT_MACHINE_DIALOG_SIMBOOK_SIZE2.x, FromDIP(125))); @@ -3073,7 +3073,7 @@ static bool _HasExt(const std::vector<FilamentInfo> &ams_mapping_result) { }; for (const auto &info : ams_mapping_result) { - if (info.ams_id == VIRTUAL_AMS_MAIN_ID_STR || info.ams_id == VIRTUAL_AMS_DEPUTY_ID_STR && !info.ams_id.empty()) { + if (info.ams_id == VIRTUAL_AMS_MAIN_ID_STR || (info.ams_id == VIRTUAL_AMS_DEPUTY_ID_STR && !info.ams_id.empty())) { return true; } } @@ -3470,7 +3470,7 @@ void SelectMachineDialog::navigate_to_timelapse_page() main_frame->jump_to_monitor(); // then switch to Storage (Media) tab inside Monitor - auto* monitor = dynamic_cast<MonitorPanel*>(main_frame->m_monitor); + MonitorPanel* monitor = MonitorPanel::if_built(); if (monitor) { auto* tabpanel = monitor->get_tabpanel(); if (tabpanel) { diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index 46d6adf4f4..6a3acce54c 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -662,7 +662,6 @@ private: ScalableButton* m_button_question { nullptr }; wxStaticBitmap* m_bed_image{ nullptr }; - Label* m_text_bed_type; }; diff --git a/src/slic3r/GUI/SelectMachinePop.cpp b/src/slic3r/GUI/SelectMachinePop.cpp index 9b34e74f23..0046fd5f7f 100644 --- a/src/slic3r/GUI/SelectMachinePop.cpp +++ b/src/slic3r/GUI/SelectMachinePop.cpp @@ -327,7 +327,7 @@ SelectMachinePopup::SelectMachinePopup(wxWindow *parent) m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, SELECT_MACHINE_LIST_SIZE, wxHSCROLL | wxVSCROLL); m_scrolledWindow->SetBackgroundColour(*wxWHITE); m_scrolledWindow->SetMinSize(SELECT_MACHINE_LIST_SIZE); - m_scrolledWindow->SetScrollRate(0, 5); + m_scrolledWindow->SetScrollRate(0, SELECT_MACHINE_ITEM_SIZE.y); auto m_sizxer_scrolledWindow = new wxBoxSizer(wxVERTICAL); m_scrolledWindow->SetSizer(m_sizxer_scrolledWindow); m_scrolledWindow->Layout(); diff --git a/src/slic3r/GUI/SelectMachinePop.hpp b/src/slic3r/GUI/SelectMachinePop.hpp index 764ffd6af5..e34a23708c 100644 --- a/src/slic3r/GUI/SelectMachinePop.hpp +++ b/src/slic3r/GUI/SelectMachinePop.hpp @@ -181,13 +181,13 @@ private: PinCodePanel* m_panel_direct_connection{nullptr}; wxWindow* m_placeholder_panel{nullptr}; HyperLink* m_hyperlink{nullptr}; // ORCA - wxBoxSizer * m_sizer_body{nullptr}; wxBoxSizer * m_sizer_my_devices{nullptr}; wxBoxSizer * m_sizer_other_devices{nullptr}; +#if defined(__WINDOWS__) wxBoxSizer * m_sizer_search_bar{nullptr}; +#endif wxSearchCtrl* m_search_bar{nullptr}; wxScrolledWindow * m_scrolledWindow{nullptr}; - wxWindow * m_panel_body{nullptr}; wxTimer * m_refresh_timer{nullptr}; std::vector<MachinePanel*> m_user_list_machine_panel; std::vector<MachinePanel*> m_other_list_machine_panel; diff --git a/src/slic3r/GUI/Selection.cpp b/src/slic3r/GUI/Selection.cpp index b6d7abde21..84f4a0b836 100644 --- a/src/slic3r/GUI/Selection.cpp +++ b/src/slic3r/GUI/Selection.cpp @@ -1273,10 +1273,9 @@ void Selection::translate(const Vec3d &displacement, TransformationType transfor const Polygons bed_polys{wxGetApp().plater()->get_partplate_list().get_plate(plate_idx)->get_shared_printable_polygon()}; Vec3d tower_origin = m_cache.volumes_data[i].get_volume_position(); Vec3d actual_displacement = displacement; - bool show_read_wipe_tower = wxGetApp().plater()->get_partplate_list().get_plate(plate_idx)->fff_print()->is_step_done(psWipeTower); - float brim_width = wxGetApp().preset_bundle->prints.get_edited_preset().config.opt_float("prime_tower_brim_width"); - - const double margin = show_read_wipe_tower ? WIPE_TOWER_MARGIN : brim_width + 0.5; // 0.5 is the line width of wipe tower + // Both preview volumes carry the brim in their bounding box, and the release + // clamp holds it WIPE_TOWER_MARGIN inside — same margin, so drops don't snap. + const double margin = WIPE_TOWER_MARGIN; actual_displacement = (m_cache.volumes_data[i].get_instance_rotation_matrix() * m_cache.volumes_data[i].get_instance_scale_matrix() * m_cache.volumes_data[i].get_instance_mirror_matrix()) diff --git a/src/slic3r/GUI/SendMultiMachinePage.cpp b/src/slic3r/GUI/SendMultiMachinePage.cpp index 3a52caec3f..b386d1f451 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.cpp +++ b/src/slic3r/GUI/SendMultiMachinePage.cpp @@ -3,6 +3,7 @@ #include "I18N.hpp" #include "GUI_App.hpp" +#include "slic3r/Utils/bambu_networking.hpp" #include "MainFrame.hpp" #include "Widgets/RadioBox.hpp" #include <wx/listimpl.cpp> @@ -277,7 +278,7 @@ SendMultiMachinePage::SendMultiMachinePage(Plater* plater) m_main_scroll = new ScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); m_main_scroll->SetBackgroundColour(*wxWHITE); - m_main_scroll->SetScrollRate(5, 5); + m_main_scroll->SetScrollRate(5, FromDIP(20)); m_sizer_body = new wxBoxSizer(wxVERTICAL); m_main_page = create_page(); @@ -814,13 +815,13 @@ wxBoxSizer* SendMultiMachinePage::create_item_title(wxString title, wxWindow* pa wxBoxSizer* m_sizer_title = new wxBoxSizer(wxHORIZONTAL); auto m_title = new wxStaticText(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, 0); - m_title->SetForegroundColour(DESIGN_GRAY800_COLOR); + m_title->SetForegroundColour(SEND_DESIGN_GRAY800_COLOR); m_title->SetFont(::Label::Head_13); m_title->Wrap(-1); m_title->SetToolTip(tooltip); auto m_line = new wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL); - m_line->SetBackgroundColour(DESIGN_GRAY400_COLOR); + m_line->SetBackgroundColour(SEND_DESIGN_GRAY400_COLOR); m_sizer_title->Add(m_title, 0, wxALIGN_CENTER | wxALL, 3); m_sizer_title->Add(0, 0, 0, wxLEFT, 9); @@ -843,7 +844,7 @@ wxBoxSizer* SendMultiMachinePage::create_item_checkbox(wxString title, wxWindow* m_sizer_checkbox->Add(0, 0, 0, wxEXPAND | wxLEFT, 8); auto checkbox_title = new wxStaticText(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, 0); - checkbox_title->SetForegroundColour(DESIGN_GRAY900_COLOR); + checkbox_title->SetForegroundColour(SEND_DESIGN_GRAY900_COLOR); checkbox_title->SetFont(::Label::Body_13); auto size = checkbox_title->GetTextExtent(title); @@ -867,12 +868,12 @@ wxBoxSizer* SendMultiMachinePage::create_item_input(wxString str_before, wxStrin { wxBoxSizer* sizer_input = new wxBoxSizer(wxHORIZONTAL); auto input_title = new wxStaticText(parent, wxID_ANY, str_before); - input_title->SetForegroundColour(DESIGN_GRAY900_COLOR); + input_title->SetForegroundColour(SEND_DESIGN_GRAY900_COLOR); input_title->SetFont(::Label::Body_13); input_title->SetToolTip(tooltip); input_title->Wrap(-1); - auto input = new ::TextInput(parent, wxEmptyString, wxEmptyString, wxEmptyString, wxDefaultPosition, DESIGN_INPUT_SIZE, wxTE_PROCESS_ENTER); + auto input = new ::TextInput(parent, wxEmptyString, wxEmptyString, wxEmptyString, wxDefaultPosition, SEND_DESIGN_INPUT_SIZE, wxTE_PROCESS_ENTER); StateColor input_bg(std::pair<wxColour, int>(wxColour("#F0F0F1"), StateColor::Disabled), std::pair<wxColour, int>(*wxWHITE, StateColor::Enabled)); input->SetBackgroundColor(input_bg); input->GetTextCtrl()->SetValue(app_config->get(param)); @@ -880,7 +881,7 @@ wxBoxSizer* SendMultiMachinePage::create_item_input(wxString str_before, wxStrin input->GetTextCtrl()->SetValidator(validator); auto second_title = new wxStaticText(parent, wxID_ANY, str_after, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); - second_title->SetForegroundColour(DESIGN_GRAY900_COLOR); + second_title->SetForegroundColour(SEND_DESIGN_GRAY900_COLOR); second_title->SetFont(::Label::Body_13); second_title->SetToolTip(tooltip); second_title->Wrap(-1); @@ -1337,7 +1338,7 @@ wxPanel* SendMultiMachinePage::create_page() m_tip_text->SetMinSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), -1)); m_tip_text->SetMaxSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), -1)); m_tip_text->SetLabel(_L("Please select the devices you would like to manage here (up to 6 devices)")); - m_tip_text->SetForegroundColour(DESIGN_GRAY800_COLOR); + m_tip_text->SetForegroundColour(SEND_DESIGN_GRAY800_COLOR); m_tip_text->SetFont(::Label::Head_20); m_tip_text->Wrap(-1); @@ -1352,7 +1353,7 @@ wxPanel* SendMultiMachinePage::create_page() scroll_macine_list = new wxScrolledWindow(main_page, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(800), FromDIP(300)), wxHSCROLL | wxVSCROLL); scroll_macine_list->SetBackgroundColour(*wxWHITE); - scroll_macine_list->SetScrollRate(5, 5); + scroll_macine_list->SetScrollRate(5, FromDIP(SEND_ITEM_MAX_HEIGHT)); scroll_macine_list->SetMinSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), 10 * FromDIP(SEND_ITEM_MAX_HEIGHT))); scroll_macine_list->SetMaxSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), 10 * FromDIP(SEND_ITEM_MAX_HEIGHT))); diff --git a/src/slic3r/GUI/SendMultiMachinePage.hpp b/src/slic3r/GUI/SendMultiMachinePage.hpp index 7d77849bf3..eadd78eb0a 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.hpp +++ b/src/slic3r/GUI/SendMultiMachinePage.hpp @@ -15,6 +15,9 @@ #include "SelectMachine.hpp" namespace Slic3r { + +struct PrintParams; + namespace GUI { #define SEND_LEFT_PADDING_LEFT 15 #define SEND_LEFT_PRINTABLE 40 @@ -22,15 +25,15 @@ namespace GUI { #define SEND_LEFT_DEV_STATUS 250 #define SEND_LEFT_TAKS_STATUS 180 -#define DESIGN_SELECTOR_NOMORE_COLOR wxColour(248, 248, 248) -#define DESIGN_GRAY900_COLOR wxColour(38, 46, 48) -#define DESIGN_GRAY800_COLOR wxColour(50, 58, 61) -#define DESIGN_GRAY600_COLOR wxColour(144, 144, 144) -#define DESIGN_GRAY400_COLOR wxColour(166, 169, 170) -#define DESIGN_RESOUTION_PREFERENCES wxSize(FromDIP(540), -1) -#define DESIGN_COMBOBOX_SIZE wxSize(FromDIP(140), -1) -#define DESIGN_LARGE_COMBOBOX_SIZE wxSize(FromDIP(160), -1) -#define DESIGN_INPUT_SIZE wxSize(FromDIP(50), -1) +#define SEND_DESIGN_SELECTOR_NOMORE_COLOR wxColour(248, 248, 248) +#define SEND_DESIGN_GRAY900_COLOR wxColour(38, 46, 48) +#define SEND_DESIGN_GRAY800_COLOR wxColour(50, 58, 61) +#define SEND_DESIGN_GRAY600_COLOR wxColour(144, 144, 144) +#define SEND_DESIGN_GRAY400_COLOR wxColour(166, 169, 170) +#define SEND_DESIGN_RESOUTION_PREFERENCES wxSize(FromDIP(540), -1) +#define SEND_DESIGN_COMBOBOX_SIZE wxSize(FromDIP(140), -1) +#define SEND_DESIGN_LARGE_COMBOBOX_SIZE wxSize(FromDIP(160), -1) +#define SEND_DESIGN_INPUT_SIZE wxSize(FromDIP(50), -1) diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index c4db0423ab..9071c0affd 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -384,7 +384,7 @@ SendToPrinterDialog::SendToPrinterDialog(Plater *plater) //show bind failed info m_sw_print_failed_info = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(380), FromDIP(125)), wxVSCROLL); m_sw_print_failed_info->SetBackgroundColour(*wxWHITE); - m_sw_print_failed_info->SetScrollRate(0, 5); + m_sw_print_failed_info->SetScrollRate(0, FromDIP(20)); m_sw_print_failed_info->SetMinSize(wxSize(FromDIP(380), FromDIP(125))); m_sw_print_failed_info->SetMaxSize(wxSize(FromDIP(380), FromDIP(125))); diff --git a/src/slic3r/GUI/SendToPrinter.hpp b/src/slic3r/GUI/SendToPrinter.hpp index 93215c4e06..24e483ae33 100644 --- a/src/slic3r/GUI/SendToPrinter.hpp +++ b/src/slic3r/GUI/SendToPrinter.hpp @@ -55,7 +55,6 @@ private: void init_timer(); int m_print_plate_idx; - int m_current_filament_id; int m_print_error_code = 0; int timeout_count = 0; int m_connect_try_times = 0; @@ -77,7 +76,6 @@ private: TextInput* m_rename_input{ nullptr }; wxSimplebook* m_rename_switch_panel{ nullptr }; Plater* m_plater{ nullptr }; - wxStaticBitmap* m_staticbitmap{ nullptr }; ThumbnailPanel* m_thumbnailPanel{ nullptr }; ComboBox* m_comboBox_printer{ nullptr }; Button* m_rename_button{ nullptr }; @@ -97,8 +95,6 @@ private: wxPanel * m_connecting_panel{nullptr}; wxSimplebook* m_simplebook{ nullptr }; wxStaticText* m_statictext_finish{ nullptr }; - wxStaticText* m_stext_sending{ nullptr }; - wxStaticText* m_staticText_bed_title{ nullptr }; wxStaticText* m_statictext_printer_msg{ nullptr }; wxStaticText * m_connecting_printer_msg{nullptr}; wxStaticText* m_stext_printer_title{ nullptr }; @@ -115,7 +111,6 @@ private: wxBoxSizer* sizer_thumbnail; wxBoxSizer* m_sizer_scrollable_region; wxBoxSizer* m_sizer_main; - wxStaticText* m_file_name; PrintDialogStatus m_print_status{ PrintStatusInit }; AnimaIcon * m_animaicon{nullptr}; @@ -134,8 +129,6 @@ private: std::vector<RadioBox *> m_storage_radioBox; std::string m_selected_storage; bool m_if_has_sdcard; - bool m_waiting_support{ false }; - bool m_waiting_enable{ false }; std::vector<std::string> m_ability_list; public: diff --git a/src/slic3r/GUI/SettingsIndex.cpp b/src/slic3r/GUI/SettingsIndex.cpp new file mode 100644 index 0000000000..fed344ff71 --- /dev/null +++ b/src/slic3r/GUI/SettingsIndex.cpp @@ -0,0 +1,258 @@ +#include "SettingsIndex.hpp" + +#include <algorithm> +#include <cstddef> +#include <cstdlib> +#include <string> +#include <vector> + +#include <boost/nowide/convert.hpp> + +#include "GUI.hpp" +#include "I18N.hpp" +#include "Tab.hpp" + +#include "libslic3r/PrintConfig.hpp" + +namespace Slic3r { + +using GUI::into_u8; + +namespace Search { + +static std::string get_key(const std::string &opt_key, Preset::Type type) { return std::to_string(int(type)) + ";" + opt_key; } + +std::string Option::opt_key() const { return key.size() < 2 ? std::string() : into_u8(key).substr(2); } + +template<class T> +// void change_opt_key(std::string& opt_key, DynamicPrintConfig* config) +void change_opt_key(std::string &opt_key, DynamicPrintConfig *config, int &cnt) +{ + T *opt_cur = static_cast<T *>(config->option(opt_key)); + cnt = opt_cur->values.size(); + return; + + if (opt_cur->values.size() > 0) opt_key += "#" + std::to_string(0); +} + +// Single assembler for an indexed Option, shared by append_options() and create_option(), so a new +// Option field is only wired up in one place. +static Option make_option(const std::string &key, Preset::Type type, const wxString &label, const GroupAndCategory &gc, + ConfigOptionMode mode, const std::string &tooltip, bool rewrite_extruder_category) +{ + wxString suffix; + wxString suffix_local; + if (gc.category == "Machine limits") { + //suffix = key.back() == '1' ? L("Stealth") : L("Normal"); + suffix = key.back() == '1' ? wxEmptyString : wxEmptyString; + suffix_local = " " + _(suffix); + suffix = " " + suffix; + } + + wxString category = gc.category; + if (rewrite_extruder_category && type == Preset::TYPE_PRINTER && category.Contains("Extruder ")) { + std::string opt_idx = key.substr(key.find("#") + 1); + category = wxString::Format("%s %d", "Extruder", atoi(opt_idx.c_str()) + 1); + } + + Option option{boost::nowide::widen(key), type, (label + suffix).ToStdWstring(), (_(label) + suffix_local).ToStdWstring(), + gc.group.ToStdWstring(), _(gc.group).ToStdWstring(), into_u8(gc.icon), gc.category.ToStdWstring(), + GUI::Tab::translate_category(category, type).ToStdWstring(), false, mode, tooltip, gc.path, + // The settings page draws Line::label; carrying it lets the Speed Dial name a setting + // the way the page does. `label`/`label_local` stay the search-oriented name. + into_u8(gc.line_label)}; + return option; +} + +void SettingsIndex::append_options(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode) +{ + for (std::string opt_key : config->keys()) { + const ConfigOptionDef &opt = config->def()->options.at(opt_key); + const bool in_filtered = opt.mode <= mode; + + int cnt = 0; + + if ((type == Preset::TYPE_SLA_MATERIAL || type == Preset::TYPE_PRINTER || type == Preset::TYPE_PRINT) && opt_key != "printable_area") + switch (config->option(opt_key)->type()) { + case coInts: change_opt_key<ConfigOptionInts>(opt_key, config, cnt); break; + case coBools: change_opt_key<ConfigOptionBools>(opt_key, config, cnt); break; + case coFloats: change_opt_key<ConfigOptionFloats>(opt_key, config, cnt); break; + case coStrings: change_opt_key<ConfigOptionStrings>(opt_key, config, cnt); break; + case coPercents: change_opt_key<ConfigOptionPercents>(opt_key, config, cnt); break; + case coFloatsOrPercents: change_opt_key<ConfigOptionVector<FloatOrPercent>>(opt_key, config, cnt); break; + case coPoints: change_opt_key<ConfigOptionPoints>(opt_key, config, cnt); break; + // BBS + case coEnums: change_opt_key<ConfigOptionInts>(opt_key, config, cnt); break; + default: break; + } + + if (type == Preset::TYPE_FILAMENT && filament_options_with_variant.find(opt_key) != filament_options_with_variant.end()) + opt_key += "#0"; + + wxString label = opt.full_label.empty() ? opt.label : opt.full_label; + + std::string key = get_key(opt_key, type); + auto add = [&](const std::string &k) { + const GroupAndCategory &gc = m_groups_and_categories[k]; + if (gc.group.IsEmpty() || gc.category.IsEmpty() || label.IsEmpty()) return; + + const std::string tooltip = into_u8(_(opt.tooltip)); + if (in_filtered) + m_options.emplace_back(make_option(k, type, label, gc, opt.mode, tooltip, false)); + m_all_modes.emplace_back(make_option(k, type, label, gc, opt.mode, tooltip, false)); + }; + if (cnt == 0) + add(key); + else + for (int i = 0; i < cnt; ++i) + // ! It's very important to use "#". opt_key#n is a real option key used in GroupAndCategory + add(key + "#" + std::to_string(i)); + } +} + +void SettingsIndex::sort_options() +{ + // Both views are label-sorted and multi_category-marked. They are separate consumers (the sidebar + // search and the Speed Dial); keeping them in sync here prevents the all-modes view from silently + // diverging in order or flags. + auto sort_and_mark = [](std::vector<Option> &v) { + std::sort(v.begin(), v.end(), [](const Option &o1, const Option &o2) { return o1.label < o2.label; }); + Option *last = nullptr; + for (auto &opt : v) { + if (last && last->label == opt.label && last->group == opt.group && last->type == opt.type && last->category != opt.category) { + last->multi_category = true; + opt.multi_category = true; + } + last = &opt; + } + }; + sort_and_mark(m_options); + sort_and_mark(m_all_modes); +} + +void SettingsIndex::init(std::vector<InputInfo> input_values) +{ + m_options.clear(); + m_all_modes.clear(); + for (auto i : input_values) append_options(i.config, i.type, i.mode); + sort_options(); +} + +bool SettingsIndex::apply(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode) +{ + // m_all_modes is a separate consumer (the Speed Dial), so "nothing initialised yet" means both + // views are empty - the mode-filtered m_options can be empty while m_all_modes is not. + if (m_options.empty() && m_all_modes.empty()) return false; + + m_options.erase(std::remove_if(m_options.begin(), m_options.end(), [type](Option opt) { return opt.type == type; }), m_options.end()); + m_all_modes.erase(std::remove_if(m_all_modes.begin(), m_all_modes.end(), [type](Option opt) { return opt.type == type; }), m_all_modes.end()); + + append_options(config, type, mode); + + sort_options(); + + return true; +} + +const Option &SettingsIndex::get_option(const std::string &opt_key, Preset::Type type, int &variant_index) const +{ + auto not_found = [&variant_index]() -> const Option & { + static const Option empty_option; + variant_index = -2; + return empty_option; + }; + + variant_index = -1; + std::string opt_key2 = opt_key; + if (auto n = opt_key.find('#'); n != std::string::npos) { + variant_index = std::atoi(opt_key.c_str() + n + 1); + opt_key2 = opt_key.substr(0, n); + } + const std::wstring key = boost::nowide::widen(get_key(opt_key2, type)); + auto it = std::lower_bound(m_options.begin(), m_options.end(), Option({key})); + if (it == m_options.end()) return not_found(); + if (it->key == key) { + variant_index = -1; + } else { + const std::wstring prefix = key + L"#"; + it = std::lower_bound(it, m_options.end(), Option({prefix})); + if (it == m_options.end() || it->key.compare(0, prefix.length(), prefix) != 0) + return not_found(); + // Orca: Copy-parameters dialogs request the base key, without a vector index. + if (variant_index < 0) return *it; + + const bool has_mode = type == Preset::TYPE_PRINTER && printer_options_with_variant_2.count(opt_key2) > 0; + const bool has_variant = + (type == Preset::TYPE_PRINT && print_options_with_variant.count(opt_key2) > 0) || + (type == Preset::TYPE_FILAMENT && filament_options_with_variant.count(opt_key2) > 0) || + (type == Preset::TYPE_PRINTER && printer_options_with_variant_1.count(opt_key2) > 0) || has_mode; + if (!has_variant || has_mode) { + // Orca: Machine limits store (Normal, Silent) pairs per variant; the UI registers only #0/#1. + const std::wstring indexed_key = has_mode ? prefix + std::to_wstring(variant_index % 2) : + boost::nowide::widen(get_key(opt_key, type)); + it = std::lower_bound(it, m_options.end(), Option({indexed_key})); + if (it == m_options.end() || it->key != indexed_key) + return not_found(); + if (!has_variant) + variant_index = -1; + } + } + + return m_options[it - m_options.begin()]; +} + +static Option create_option(const std::string &opt_key, const wxString &label, Preset::Type type, const GroupAndCategory &gc) +{ + return make_option(get_key(opt_key, type), type, label, gc, comSimple, std::string(), true); +} + +Option SettingsIndex::get_option(const std::string &opt_key, const wxString &label, Preset::Type type) const +{ + std::string key = get_key(opt_key, type); + auto it = std::lower_bound(m_options.begin(), m_options.end(), Option({boost::nowide::widen(key)})); + // BBS: return the 0th option when not found in searcher caused by mode difference + if (it == m_options.end()) return m_options[0]; + if (it->key == boost::nowide::widen(key)) return m_options[it - m_options.begin()]; + if (m_groups_and_categories.find(key) == m_groups_and_categories.end()) { + size_t pos = key.find('#'); + if (pos == std::string::npos) return m_options[it - m_options.begin()]; + + std::string zero_opt_key = key.substr(0, pos + 1) + "0"; + + if (m_groups_and_categories.find(zero_opt_key) == m_groups_and_categories.end()) return m_options[it - m_options.begin()]; + + return create_option(opt_key, label, type, m_groups_and_categories.at(zero_opt_key)); + } + + const GroupAndCategory &gc = m_groups_and_categories.at(key); + if (gc.group.IsEmpty() || gc.category.IsEmpty()) return m_options[it - m_options.begin()]; + + return create_option(opt_key, label, type, gc); +} + +void SettingsIndex::add_key(const std::string &opt_key, Preset::Type type, const wxString &group, const wxString &category, const wxString &icon) +{ + // Update fields in place so a page rebuild (get_option after set_path) doesn't drop the + // previously recorded wiki path. + GroupAndCategory &gc = m_groups_and_categories[get_key(opt_key, type)]; + gc.group = group; + gc.category = category; + gc.icon = icon; +} + +void SettingsIndex::set_path(const std::string &opt_key, Preset::Type type, const std::string &path) +{ + if (path.empty()) + return; + m_groups_and_categories[get_key(opt_key, type)].path = path; +} + +void SettingsIndex::set_line_label(const std::string &opt_key, Preset::Type type, const wxString &label) +{ + if (label.IsEmpty()) + return; + m_groups_and_categories[get_key(opt_key, type)].line_label = label; +} + +} // namespace Search +} // namespace Slic3r diff --git a/src/slic3r/GUI/SettingsIndex.hpp b/src/slic3r/GUI/SettingsIndex.hpp new file mode 100644 index 0000000000..a31d2109e0 --- /dev/null +++ b/src/slic3r/GUI/SettingsIndex.hpp @@ -0,0 +1,123 @@ +#ifndef slic3r_SettingsIndex_hpp_ +#define slic3r_SettingsIndex_hpp_ + +#include <algorithm> +#include <cstddef> +#include <map> +#include <string> +#include <vector> + +#include <wx/string.h> + +#include <libslic3r/Config.hpp> +#include <libslic3r/Preset.hpp> + +namespace Slic3r { +namespace Search { + +struct InputInfo +{ + DynamicPrintConfig *config{nullptr}; + Preset::Type type{Preset::TYPE_INVALID}; + ConfigOptionMode mode{comSimple}; +}; + +struct GroupAndCategory +{ + wxString group; + wxString category; + wxString icon; // icon of the group's own header, or empty + wxString line_label; // label the settings row actually draws (Line::label), or empty + std::string path; // wiki path (Line::label_path) of the option's line, or empty +}; + +// Title for a setting: the row label, qualified with the field leaf when the row packs several +// options (e.g. "Cool Plate \u2013 First layer"). Pure; inputs are already localized. +inline wxString compose_display_label(const wxString& line_label, const wxString& leaf_label, bool multi) +{ + if (line_label.empty()) + return leaf_label; + if (!multi || leaf_label.empty() || leaf_label == line_label) + return line_label; + return line_label + L" \u2013 " + leaf_label; // en dash separator +} + +// Title to show. A single-option row uses its live label, which can be renamed at runtime +// (brim_width -> "Brim ear radius"); otherwise fall back to the precomposed label. +inline wxString resolve_setting_title(const wxString& precomposed, const wxString& live_label, bool live_multi) +{ + if (!live_multi && !live_label.empty()) + return live_label; + return precomposed; +} + +struct Option +{ + // bool operator<(const Option& other) const { return other.label > this->label; } + bool operator<(const Option &other) const { return other.key > this->key; } + + // Fuzzy matching works at a character level. Thus matching with wide characters is a safer bet than with short characters, + // though for some languages (Chinese?) it may not work correctly. + std::wstring key; + Preset::Type type{Preset::TYPE_INVALID}; + std::wstring label; + std::wstring label_local; + std::wstring group; + std::wstring group_local; + std::string group_icon; // SVG base name of the group's own header icon, or empty + std::wstring category; + std::wstring category_local; + bool multi_category { false }; + ConfigOptionMode mode{comSimple}; // option's visibility threshold; drives the Speed Dial's mode prompt + std::string tooltip; // localized ConfigOptionDef::tooltip, or empty + std::string wiki_path; // Line::label_path for the option's row, or empty + std::string display_label; // label the settings row draws (localized); empty falls back to label + + std::string opt_key() const; +}; + +// Catalog of settings and their metadata. Owns the group/category registry populated by the +// settings pages, plus two views of the options: the mode-filtered view the sidebar search +// queries, and every option regardless of mode for the Speed Dial. +class SettingsIndex +{ + std::map<std::string, GroupAndCategory> m_groups_and_categories; + + std::vector<Option> m_options; // mode-filtered view used by the sidebar search + std::vector<Option> m_all_modes; // every option regardless of mode, for the Speed Dial + + void append_options(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode); + void sort_options(); + +public: + void init(std::vector<InputInfo> input_values); + // Rebuild the given type's options; returns false when the index was never initialised. + bool apply(DynamicPrintConfig *config, Preset::Type type, ConfigOptionMode mode); + + void add_key(const std::string &opt_key, Preset::Type type, const wxString &group, const wxString &category, + const wxString &icon = wxEmptyString); + void set_path(const std::string &opt_key, Preset::Type type, const std::string &path); + // Record the label the option's row draws, so the Speed Dial names a setting like the page + // (ConfigOptionDef::label/full_label is a search name, not the row text). + void set_line_label(const std::string &opt_key, Preset::Type type, const wxString &label); + + const std::vector<Option> &options() const { return m_options; } + const std::vector<Option> &all_options() const { return m_all_modes; } + const Option & option_at(size_t pos) const { return m_options[pos]; } + + const Option &get_option(const std::string &opt_key, Preset::Type type, int &variant_index) const; + Option get_option(const std::string &opt_key, const wxString &label, Preset::Type type) const; + + const GroupAndCategory &get_group_and_category(const std::string &opt_key) { return m_groups_and_categories[opt_key]; } + + void sort_options_by_key() + { + std::sort(m_options.begin(), m_options.end(), [](const Option &o1, const Option &o2) { return o1.key < o2.key; }); + } + void sort_options_by_label() { sort_options(); } +}; + +} // namespace Search +} // namespace Slic3r + +#endif // slic3r_SettingsIndex_hpp_ diff --git a/src/slic3r/GUI/Shortcuts.cpp b/src/slic3r/GUI/Shortcuts.cpp new file mode 100644 index 0000000000..be713b7cf8 --- /dev/null +++ b/src/slic3r/GUI/Shortcuts.cpp @@ -0,0 +1,380 @@ +#include "Shortcuts.hpp" + +#include "I18N.hpp" +#include "libslic3r/AppConfig.hpp" + +#include <algorithm> +#include <map> +#include <utility> + +namespace Slic3r { namespace GUI { + +namespace { + +constexpr uint8_t GLOBAL = context_bit(ShortcutContext::Global); +constexpr uint8_t PLATER = context_bit(ShortcutContext::Plater); +constexpr uint8_t PREVIEW = context_bit(ShortcutContext::Preview); +constexpr uint8_t OBJECT_LIST = context_bit(ShortcutContext::ObjectList); +constexpr uint8_t PAINTING = context_bit(ShortcutContext::Painting); +constexpr uint8_t CANVAS = PLATER | PREVIEW; + +constexpr int CTRL = wxMOD_CONTROL; +constexpr int SHIFT = wxMOD_SHIFT; +constexpr int CTRL_SHIFT = wxMOD_CONTROL | wxMOD_SHIFT; + +#ifdef __APPLE__ +constexpr KeyChord PREFERENCES_CHORD{ ',', CTRL }; +constexpr KeyChord DELETE_CHORD{ WXK_BACK }; +constexpr KeyChord MOUSE3D_CHORD{ 'M', CTRL_SHIFT }; +#else +constexpr KeyChord PREFERENCES_CHORD{ 'P', CTRL }; +constexpr KeyChord DELETE_CHORD{ WXK_DELETE }; +constexpr KeyChord MOUSE3D_CHORD{ 'M', CTRL }; +#endif + +// Each row: enum value, AppConfig key, description shown in the dialog, contexts the key is +// looked up in, and the default chord. Rows are in the order the dialog lists them, within +// the sections of the Shortcut enum. +// SHORTCUT runs once per key press. +// REPEATING runs again on every auto-repeat of a held key. +// STEPPING repeats, and Shift or Ctrl held with its key select a step variant of it instead +// of another shortcut (ShortcutInfo::modifier_variants). +#define SHORTCUT(id, key, name, contexts, ...) ShortcutInfo{ Shortcut::id, key, name, contexts, __VA_ARGS__, false, false } +#define REPEATING(id, key, name, contexts, ...) ShortcutInfo{ Shortcut::id, key, name, contexts, __VA_ARGS__, true, false } +#define STEPPING(id, key, name, contexts, ...) ShortcutInfo{ Shortcut::id, key, name, contexts, __VA_ARGS__, true, true } + +constexpr std::array<ShortcutInfo, size_t(Shortcut::Count)> shortcut_table = {{ + // Project + SHORTCUT(NewProject, "new_project", L("New Project"), GLOBAL, { 'N', CTRL }), + SHORTCUT(OpenProject, "open_project", L("Open Project"), GLOBAL, { 'O', CTRL }), + SHORTCUT(SaveProject, "save_project", L("Save Project"), GLOBAL, { 'S', CTRL }), + SHORTCUT(SaveProjectAs, "save_project_as", L("Save Project as"), GLOBAL, { 'S', CTRL_SHIFT }), + SHORTCUT(ImportModel, "import_model", L("Import geometry data from STL/STEP/3MF/OBJ/AMF files"), GLOBAL, { 'I', CTRL }), + SHORTCUT(Publish3mf, "publish_3mf", L("Publish 3MF"), GLOBAL, { 'E', CTRL_SHIFT }), + + // Slicing and printing + SHORTCUT(SlicePlate, "slice_plate", L("Slice plate"), GLOBAL, { 'R', CTRL }), + SHORTCUT(ExportSlicedFile, "export_sliced_file", L("Export plate sliced file"), GLOBAL, { 'G', CTRL }), + SHORTCUT(PrintPlate, "print_plate", L("Print plate"), GLOBAL, { 'G', CTRL_SHIFT }), + SHORTCUT(PrintHostQueue, "print_host_queue", L("Print host upload queue"), GLOBAL, { 'J', CTRL }), + + // Selection + SHORTCUT(SelectAll, "select_all", L("Select all objects"), PLATER | OBJECT_LIST, { 'A', CTRL }), + SHORTCUT(SelectAllPlates, "select_all_plates", L("Select all objects on all plates"), PLATER, { 'A', CTRL_SHIFT }), + + // Editing + REPEATING(Undo, "undo", L("Undo"), PLATER | OBJECT_LIST, { 'Z', CTRL }), + REPEATING(Redo, "redo", L("Redo"), PLATER | OBJECT_LIST, { 'Y', CTRL }), + SHORTCUT(Cut, "cut", L("Cut"), PLATER | OBJECT_LIST, { 'X', CTRL }), + SHORTCUT(Copy, "copy", L("Copy to clipboard"), PLATER | OBJECT_LIST, { 'C', CTRL }), + SHORTCUT(Paste, "paste", L("Paste from clipboard"), PLATER | OBJECT_LIST, { 'V', CTRL }), + SHORTCUT(DeleteSelected, "delete_selected", L("Delete Selected"), PLATER | OBJECT_LIST, DELETE_CHORD), + SHORTCUT(DeleteAll, "delete_all", L("Delete All"), PLATER, { 'D', CTRL }), + SHORTCUT(CloneSelected, "clone_selected", L("Clone Selected"), PLATER | OBJECT_LIST, { 'K', CTRL }), + + // Objects + REPEATING(AddInstance, "add_instance", L("Add instance"), PLATER | OBJECT_LIST, { '+' }), + REPEATING(RemoveInstance, "remove_instance", L("Remove instance"), PLATER | OBJECT_LIST, { '-' }), + SHORTCUT(TogglePrintable, "toggle_printable", L("Toggle printable for object/part"), PLATER | OBJECT_LIST, { 'V' }), + SHORTCUT(ToggleAutoDrop, "toggle_auto_drop", L("Auto Drop"), OBJECT_LIST, { 'D' }), + + // Placement + SHORTCUT(Arrange, "arrange", L("Arrange all objects"), PLATER, { 'A' }), + SHORTCUT(ArrangePlate, "arrange_plate", L("Arrange objects on selected plates"), PLATER, { 'A', SHIFT }), + SHORTCUT(Orient, "orient", L("Auto orient all/selected objects"), PLATER, { 'Q' }), + SHORTCUT(OrientPlate, "orient_plate", L("Auto orient all objects on current plate"), PLATER, { 'Q', SHIFT }), + STEPPING(MoveSelectionLeft, "move_selection_left", L("Move selection 10mm in negative X direction"), PLATER, { WXK_LEFT }), + STEPPING(MoveSelectionRight, "move_selection_right", L("Move selection 10mm in positive X direction"), PLATER, { WXK_RIGHT }), + STEPPING(MoveSelectionUp, "move_selection_up", L("Move selection 10mm in positive Y direction"), PLATER, { WXK_UP }), + STEPPING(MoveSelectionDown, "move_selection_down", L("Move selection 10mm in negative Y direction"), PLATER, { WXK_DOWN }), + REPEATING(RotateSelectionLeft, "rotate_selection_left", L("Rotate selection 45 degrees counterclockwise"), PLATER, { WXK_PAGEUP }), + REPEATING(RotateSelectionRight, "rotate_selection_right", L("Rotate selection 45 degrees clockwise"), PLATER, { WXK_PAGEDOWN }), + + // Gizmos + SHORTCUT(GizmoMove, "gizmo_move", L("Gizmo move"), PLATER, { 'M' }), + SHORTCUT(GizmoRotate, "gizmo_rotate", L("Gizmo rotate"), PLATER, { 'R' }), + SHORTCUT(GizmoScale, "gizmo_scale", L("Gizmo scale"), PLATER, { 'S' }), + SHORTCUT(GizmoFlatten, "gizmo_flatten", L("Gizmo place face on bed"), PLATER, { 'F' }), + SHORTCUT(GizmoCut, "gizmo_cut", L("Gizmo cut"), PLATER, { 'C' }), + SHORTCUT(GizmoMeshBoolean, "gizmo_mesh_boolean", L("Gizmo mesh boolean"), PLATER, { 'B' }), + SHORTCUT(GizmoFdmSupports, "gizmo_fdm_supports", L("Gizmo FDM paint-on supports"), PLATER, { 'L' }), + SHORTCUT(GizmoSeam, "gizmo_seam", L("Gizmo FDM paint-on seam"), PLATER, { 'P' }), + SHORTCUT(GizmoFuzzySkin, "gizmo_fuzzy_skin", L("Gizmo FDM paint-on fuzzy skin"), PLATER, { 'H' }), + SHORTCUT(GizmoMmuSegmentation, "gizmo_mmu_segmentation", L("Gizmo multi-material painting"), PLATER, { 'N' }), + SHORTCUT(GizmoEmboss, "gizmo_emboss", L("Gizmo text emboss/engrave"), PLATER, { 'T' }), + SHORTCUT(GizmoMeasure, "gizmo_measure", L("Gizmo measure"), PLATER, { 'U' }), + SHORTCUT(GizmoAssembly, "gizmo_assembly", L("Gizmo assemble"), PLATER, { 'Y' }), + SHORTCUT(GizmoBrimEars, "gizmo_brim_ears", L("Gizmo brim ears"), PLATER, { 'E' }), + + // Sliders + SHORTCUT(GoToLayer, "go_to_layer", L("Jump to layer"), PREVIEW, { 'G', SHIFT }), + STEPPING(LayerSliderUp, "layer_slider_up", L("Vertical slider - Move active thumb Up"), PREVIEW, { WXK_UP }), + STEPPING(LayerSliderDown, "layer_slider_down", L("Vertical slider - Move active thumb Down"), PREVIEW, { WXK_DOWN }), + STEPPING(MovesSliderLeft, "moves_slider_left", L("Horizontal slider - Move active thumb Left"), PREVIEW, { WXK_LEFT }), + STEPPING(MovesSliderRight, "moves_slider_right", L("Horizontal slider - Move active thumb Right"), PREVIEW, { WXK_RIGHT }), + REPEATING(MovesSliderStart, "moves_slider_start", L("Horizontal slider - Move to start position"), PREVIEW, { WXK_HOME }), + REPEATING(MovesSliderEnd, "moves_slider_end", L("Horizontal slider - Move to last position"), PREVIEW, { WXK_END }), + + // Painting tools + SHORTCUT(PaintToolCircle, "paint_tool_circle", L("Circle"), PAINTING, { 'C' }), + SHORTCUT(PaintToolSphere, "paint_tool_sphere", L("Sphere"), PAINTING, { 'S' }), + SHORTCUT(PaintToolFill, "paint_tool_fill", L("Fill"), PAINTING, { 'F' }), + SHORTCUT(PaintToolGapFill, "paint_tool_gap_fill", L("Gap Fill"), PAINTING, { 'G' }), + SHORTCUT(PaintToolTriangle, "paint_tool_triangle", L("Triangle"), PAINTING, { 'T' }), + SHORTCUT(PaintToolHeightRange, "paint_tool_height_range", L("Height Range"), PAINTING, { 'H' }), + + // Camera + SHORTCUT(ViewDefault, "view_default", L("Camera view - Default"), GLOBAL, { '0', CTRL }), + SHORTCUT(ViewTop, "view_top", L("Camera view - Top"), GLOBAL, { '1', CTRL }), + SHORTCUT(ViewBottom, "view_bottom", L("Camera view - Bottom"), GLOBAL, { '2', CTRL }), + SHORTCUT(ViewFront, "view_front", L("Camera view - Front"), GLOBAL, { '3', CTRL }), + SHORTCUT(ViewRear, "view_rear", L("Camera view - Behind"), GLOBAL, { '4', CTRL }), + SHORTCUT(ViewLeft, "view_left", L("Camera Angle - Left side"), GLOBAL, { '5', CTRL }), + SHORTCUT(ViewRight, "view_right", L("Camera Angle - Right side"), GLOBAL, { '6', CTRL }), + SHORTCUT(ViewPlate, "view_plate", L("Camera view - Current plate"), GLOBAL, { '7', CTRL }), + REPEATING(ZoomIn, "zoom_in", L("Zoom in"), CANVAS, { 'I' }), + REPEATING(ZoomOut, "zoom_out", L("Zoom out"), CANVAS, { 'O' }), + SHORTCUT(Mouse3DSettings, "mouse3d_settings", L("Show/Hide 3Dconnexion devices settings dialog"), CANVAS, MOUSE3D_CHORD), + + // Display + SHORTCUT(ShowLabels, "show_labels", L("Show object labels in 3D scene."), GLOBAL, { 'E', CTRL }), + SHORTCUT(ShowWireframe, "show_wireframe", L("Show/Hide wireframe"), CANVAS, { WXK_RETURN, CTRL_SHIFT }), + SHORTCUT(ToggleGcodeWindow, "toggle_gcode_window", L("On/Off G-code window"), PREVIEW, { 'C' }), + SHORTCUT(ToggleOneLayerMode, "toggle_one_layer_mode", L("On/Off one layer mode of the vertical slider"), PREVIEW, { 'L' }), + + // Application + SHORTCUT(Preferences, "preferences", L("Preferences"), GLOBAL, PREFERENCES_CHORD), + SHORTCUT(Search, "search", L("Search"), GLOBAL, { 'F', CTRL }), + SHORTCUT(SwitchView, "switch_view", L("Switch between Prepare/Preview"), CANVAS, { WXK_TAB }), + SHORTCUT(CollapseSidebar, "collapse_sidebar", L("Collapse/Expand the sidebar"), CANVAS, { WXK_TAB, SHIFT }), + SHORTCUT(ReloadDevicePage, "reload_device_page", L("Reload the device page"), CANVAS, { WXK_F5 }), + SHORTCUT(KeyboardShortcuts, "keyboard_shortcuts", L("Show keyboard shortcuts list"), CANVAS, { '?' }), + + // Speed Dial + SHORTCUT(SpeedDial, "speed_dial", L("Open the Speed Dial"), GLOBAL, { WXK_SPACE }), +}}; + +#undef SHORTCUT +#undef REPEATING +#undef STEPPING + +// The first shortcut of each section's run in shortcut_table and the section's heading, indexed +// by ShortcutSection. +struct SectionInfo +{ + Shortcut first; + const char* name; +}; + +constexpr std::array<SectionInfo, size_t(ShortcutSection::Count)> section_table = {{ + { Shortcut::NewProject, L("Project") }, + { Shortcut::SlicePlate, L("Slicing and printing") }, + { Shortcut::SelectAll, L("Selection") }, + { Shortcut::Undo, L("Editing") }, + { Shortcut::AddInstance, L("Objects") }, + { Shortcut::Arrange, L("Placement") }, + { Shortcut::GizmoMove, L("Gizmos") }, + { Shortcut::GoToLayer, L("Sliders") }, + { Shortcut::PaintToolCircle, L("Painting tools") }, + { Shortcut::ViewDefault, L("Camera") }, + { Shortcut::ShowLabels, L("Display") }, + { Shortcut::Preferences, L("Application") }, + { Shortcut::SpeedDial, L("Speed Dial") }, +}}; + +constexpr bool sections_follow_table_order() +{ + if (section_table.front().first != Shortcut(0)) + return false; + for (size_t i = 1; i < section_table.size(); ++i) + if (section_table[i].first <= section_table[i - 1].first) + return false; + return true; +} +static_assert(sections_follow_table_order(), "section_table must begin at the first shortcut and ascend"); + +constexpr bool table_is_in_enum_order() +{ + for (size_t i = 0; i < shortcut_table.size(); ++i) + if (shortcut_table[i].id != Shortcut(i)) + return false; + return true; +} +static_assert(table_is_in_enum_order(), "shortcut_table must list every Shortcut in declaration order"); + +const char* CONFIG_SECTION = "shortcuts"; +const char* UNBOUND = "none"; + +bool share_context(uint8_t a, uint8_t b) { return (a & b) != 0 || (a & GLOBAL) != 0 || (b & GLOBAL) != 0; } + +// The modifiers a modifier_variants shortcut accepts on top of its binding. +constexpr int STEP_MODIFIERS = wxMOD_SHIFT | wxMOD_CONTROL; + +// The step modifiers chord adds to binding, 0 when chord is not a step of it; a binding with +// Shift or Ctrl of its own has no steps, so no two bindings share one. +int step_modifiers(const KeyChord& chord, const KeyChord& binding) +{ + if (!binding.valid() || (binding.modifiers & STEP_MODIFIERS) != 0 || chord.key != binding.key || + (chord.modifiers & ~STEP_MODIFIERS) != binding.modifiers) + return 0; + return chord.modifiers & STEP_MODIFIERS; +} + +} // namespace + +const ShortcutInfo& shortcut_info(Shortcut shortcut) { return shortcut_table[size_t(shortcut)]; } + +ShortcutSection shortcut_section(Shortcut shortcut) +{ + size_t section = 0; + for (size_t i = 1; i < section_table.size(); ++i) + if (section_table[i].first <= shortcut) + section = i; + return ShortcutSection(section); +} + +const char* section_name(ShortcutSection section) { return section_table[size_t(section)].name; } + +std::vector<Shortcut> shortcuts_in(ShortcutContext context) +{ + std::vector<Shortcut> out; + for (const ShortcutInfo& info : shortcut_table) + if (info.contexts & context_bit(context)) + out.push_back(info.id); + return out; +} + +ShortcutRegistry::ShortcutRegistry() { rebuild_index(); } + +KeyChord ShortcutRegistry::binding(Shortcut shortcut) const +{ + const std::optional<KeyChord>& override = m_overrides[size_t(shortcut)]; + return override.has_value() ? *override : shortcut_info(shortcut).default_chord; +} + +bool ShortcutRegistry::is_customized(Shortcut shortcut) const { return m_overrides[size_t(shortcut)].has_value(); } + +std::string ShortcutRegistry::display(Shortcut shortcut) const { return binding(shortcut).display(); } + +std::string ShortcutRegistry::with_key(const std::string& text, Shortcut shortcut) const +{ + const std::string key = display(shortcut); + return key.empty() ? text : text + " [" + key + "]"; +} + +std::string ShortcutRegistry::accelerator(Shortcut shortcut) const +{ + const KeyChord chord = binding(shortcut); + return chord.is_menu_accelerator() ? chord.to_string() : std::string(); +} + +std::optional<Shortcut> ShortcutRegistry::lookup(ShortcutContext context, const KeyChord& chord) const +{ + if (!chord.valid()) + return std::nullopt; + auto it = m_index.find(chord); + if (it == m_index.end()) + return std::nullopt; + for (Shortcut shortcut : it->second) + if (shortcut_info(shortcut).contexts & context_bit(context)) + return shortcut; + return std::nullopt; +} + +std::optional<ShortcutRegistry::Match> ShortcutRegistry::match(ShortcutContext context, const KeyChord& chord) const +{ + if (const std::optional<Shortcut> exact = lookup(context, chord); exact.has_value()) + return Match{ *exact, 0 }; + if ((chord.modifiers & STEP_MODIFIERS) == 0) + return std::nullopt; + for (const ShortcutInfo& info : shortcut_table) + if (info.modifier_variants && (info.contexts & context_bit(context))) + if (const int step = step_modifiers(chord, binding(info.id)); step != 0) + return Match{ info.id, step }; + return std::nullopt; +} + +std::vector<Shortcut> ShortcutRegistry::conflicts(Shortcut shortcut, const KeyChord& chord) const +{ + std::vector<Shortcut> out; + if (!chord.valid()) + return out; + const uint8_t contexts = shortcut_info(shortcut).contexts; + for (const ShortcutInfo& other : shortcut_table) + if (other.id != shortcut && share_context(contexts, other.contexts) && binding(other.id) == chord) + out.push_back(other.id); + return out; +} + +std::optional<Shortcut> ShortcutRegistry::step_owner(Shortcut shortcut, const KeyChord& chord) const +{ + const uint8_t contexts = shortcut_info(shortcut).contexts; + for (const ShortcutInfo& other : shortcut_table) + if (other.modifier_variants && other.id != shortcut && share_context(contexts, other.contexts)) + if (const int step = step_modifiers(chord, binding(other.id)); step == wxMOD_SHIFT || step == wxMOD_CONTROL) // the combined step stays assignable + return other.id; + return std::nullopt; +} + +void ShortcutRegistry::bind(Shortcut shortcut, const KeyChord& chord) +{ + const ShortcutInfo& info = shortcut_info(shortcut); + if (chord == info.default_chord) + m_overrides[size_t(shortcut)].reset(); + else + m_overrides[size_t(shortcut)] = chord; + rebuild_index(); +} + +void ShortcutRegistry::reset(Shortcut shortcut) +{ + m_overrides[size_t(shortcut)].reset(); + rebuild_index(); +} + +void ShortcutRegistry::reset_all() +{ + m_overrides.fill(std::nullopt); + rebuild_index(); +} + +void ShortcutRegistry::load(const AppConfig& config) +{ + m_overrides.fill(std::nullopt); + if (config.has_section(CONFIG_SECTION)) { + const std::map<std::string, std::string>& section = config.get_section(CONFIG_SECTION); + for (const ShortcutInfo& info : shortcut_table) { + auto it = section.find(info.key); + if (it == section.end()) + continue; + if (it->second == UNBOUND) + m_overrides[size_t(info.id)] = KeyChord{}; + else if (std::optional<KeyChord> chord = KeyChord::parse(it->second); chord.has_value()) + // A Global chord is seen before any text field, so it needs a modifier or a non-typing key. + if ((info.contexts & GLOBAL) == 0 || chord->is_menu_accelerator()) + m_overrides[size_t(info.id)] = *chord; + } + } + rebuild_index(); +} + +void ShortcutRegistry::save(AppConfig& config) const +{ + for (const ShortcutInfo& info : shortcut_table) { + const std::optional<KeyChord>& override = m_overrides[size_t(info.id)]; + if (override.has_value()) + config.set(CONFIG_SECTION, info.key, override->valid() ? override->to_string() : UNBOUND); + else + config.erase(CONFIG_SECTION, info.key); + } +} + +void ShortcutRegistry::rebuild_index() +{ + m_index.clear(); + for (const ShortcutInfo& info : shortcut_table) + if (const KeyChord chord = binding(info.id); chord.valid()) + m_index[chord].push_back(info.id); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Shortcuts.hpp b/src/slic3r/GUI/Shortcuts.hpp new file mode 100644 index 0000000000..71fe299a98 --- /dev/null +++ b/src/slic3r/GUI/Shortcuts.hpp @@ -0,0 +1,129 @@ +#pragma once + +#include "KeyChord.hpp" + +#include <array> +#include <cstdint> +#include <optional> +#include <string> +#include <unordered_map> +#include <vector> + +namespace Slic3r { + +class AppConfig; + +namespace GUI { + +// Where a key press is looked up. A shortcut may belong to several contexts; Global ones are +// dispatched by the main frame before any child window sees the key. +enum class ShortcutContext : uint8_t { Global, Plater, Preview, ObjectList, Painting, Count }; + +constexpr uint8_t context_bit(ShortcutContext context) { return uint8_t(1u << unsigned(context)); } + +enum class Shortcut : uint8_t { + // Project + NewProject, OpenProject, SaveProject, SaveProjectAs, ImportModel, Publish3mf, + // Slicing and printing + SlicePlate, ExportSlicedFile, PrintPlate, PrintHostQueue, + // Selection + SelectAll, SelectAllPlates, + // Editing + Undo, Redo, Cut, Copy, Paste, DeleteSelected, DeleteAll, CloneSelected, + // Objects + AddInstance, RemoveInstance, TogglePrintable, ToggleAutoDrop, + // Placement + Arrange, ArrangePlate, Orient, OrientPlate, + MoveSelectionLeft, MoveSelectionRight, MoveSelectionUp, MoveSelectionDown, RotateSelectionLeft, RotateSelectionRight, + // Gizmos + GizmoMove, GizmoRotate, GizmoScale, GizmoFlatten, GizmoCut, GizmoMeshBoolean, GizmoFdmSupports, GizmoSeam, GizmoFuzzySkin, + GizmoMmuSegmentation, GizmoEmboss, GizmoMeasure, GizmoAssembly, GizmoBrimEars, + // Sliders + GoToLayer, LayerSliderUp, LayerSliderDown, MovesSliderLeft, MovesSliderRight, MovesSliderStart, MovesSliderEnd, + // Painting tools + PaintToolCircle, PaintToolSphere, PaintToolFill, PaintToolGapFill, PaintToolTriangle, PaintToolHeightRange, + // Camera + ViewDefault, ViewTop, ViewBottom, ViewFront, ViewRear, ViewLeft, ViewRight, ViewPlate, ZoomIn, ZoomOut, Mouse3DSettings, + // Display + ShowLabels, ShowWireframe, ToggleGcodeWindow, ToggleOneLayerMode, + // Application + Preferences, Search, SwitchView, CollapseSidebar, ReloadDevicePage, KeyboardShortcuts, + // Speed Dial + SpeedDial, + Count +}; + +struct ShortcutInfo +{ + Shortcut id; + const char* key; // AppConfig key + const char* name; // untranslated description + uint8_t contexts; // context_bit() mask + KeyChord default_chord; + bool repeatable; // runs on key auto-repeat as well + // Shift or Ctrl held with the bound key select a variant of this action, such as the finer + // move step or the faster slider step. + bool modifier_variants; +}; + +// Headings of the shortcuts dialog, in listing order. +enum class ShortcutSection : uint8_t { + Project, SlicingAndPrinting, Selection, Editing, Objects, Placement, Gizmos, Sliders, PaintingTools, Camera, Display, Application, SpeedDial, + Count +}; + +const ShortcutInfo& shortcut_info(Shortcut shortcut); +ShortcutSection shortcut_section(Shortcut shortcut); +const char* section_name(ShortcutSection section); // untranslated heading +std::vector<Shortcut> shortcuts_in(ShortcutContext context); // in table order + +// Effective key bindings: the built-in defaults overlaid with the user's own. Owns the +// chord -> shortcut index every dispatcher queries. +class ShortcutRegistry +{ +public: + ShortcutRegistry(); + + KeyChord binding(Shortcut shortcut) const; // invalid when unbound + bool is_customized(Shortcut shortcut) const; + + std::string display(Shortcut shortcut) const; // "Ctrl+N" for tooltips and the shortcuts dialog + std::string with_key(const std::string& text, Shortcut shortcut) const; // "text [Ctrl+N]", or text alone when unbound + std::string accelerator(Shortcut shortcut) const; // wx accelerator text for menu labels; empty when unbound or not menu-safe + + // Matches a key event in one context. Global shortcuts are only found through the Global context. + std::optional<Shortcut> lookup(ShortcutContext context, const KeyChord& chord) const; + + // lookup(), then the modifier_variants shortcuts, which also match with Shift or Ctrl added + // to their binding; step_modifiers holds whichever of the two were added. + struct Match + { + Shortcut shortcut; + int step_modifiers; + }; + std::optional<Match> match(ShortcutContext context, const KeyChord& chord) const; + + // Shortcuts other than shortcut bound to chord in a context it shares; Global shortcuts + // share every context. + std::vector<Shortcut> conflicts(Shortcut shortcut, const KeyChord& chord) const; + + // The modifier_variants shortcut in a shared context whose Shift or Ctrl step is chord; + // such a chord is reserved for that step. + std::optional<Shortcut> step_owner(Shortcut shortcut, const KeyChord& chord) const; + + void bind(Shortcut shortcut, const KeyChord& chord); // an invalid chord unbinds + void reset(Shortcut shortcut); + void reset_all(); + + void load(const AppConfig& config); + void save(AppConfig& config) const; + +private: + void rebuild_index(); + + std::array<std::optional<KeyChord>, size_t(Shortcut::Count)> m_overrides; + std::unordered_map<KeyChord, std::vector<Shortcut>, KeyChordHash> m_index; +}; + +} // namespace GUI +} // namespace Slic3r diff --git a/src/slic3r/GUI/SliceInfoPanel.hpp b/src/slic3r/GUI/SliceInfoPanel.hpp index 8f1710022b..09708d68e4 100644 --- a/src/slic3r/GUI/SliceInfoPanel.hpp +++ b/src/slic3r/GUI/SliceInfoPanel.hpp @@ -28,7 +28,6 @@ public: private: wxScrolledWindow *m_panel; - BBLSliceInfo *m_info { nullptr }; void OnMouse(wxMouseEvent &event); void OnSize(wxSizeEvent &event); diff --git a/src/slic3r/GUI/SpeedDialDialog.cpp b/src/slic3r/GUI/SpeedDialDialog.cpp index 09140b9868..1d81021a60 100644 --- a/src/slic3r/GUI/SpeedDialDialog.cpp +++ b/src/slic3r/GUI/SpeedDialDialog.cpp @@ -9,11 +9,20 @@ #include "Plater.hpp" #include "Widgets/WebViewHostDialog.hpp" +#include "slic3r/Utils/MacDarkMode.hpp" + #include <algorithm> +#include <wx/dcmemory.h> #include <wx/display.h> +#include <wx/region.h> #include <wx/sizer.h> #include <wx/stattext.h> +#include <wx/utils.h> + +#ifdef __linux__ +#include <gtk/gtk.h> +#endif namespace Slic3r { namespace GUI { @@ -21,8 +30,8 @@ namespace { // ADJUST WIDTH HERE (DIP px). Fixed dialog width; was 360, now 1.5x. Height is not set here - // the dialog auto-resizes to the page content (see resize_to_content + the list max-height in style.css). -constexpr int kPopupWidth = 540; -constexpr int kPopupMinHeight = 60; // just above the bare search-bar height, so the dialog hugs content +constexpr int kPopupWidth = 540; +constexpr int kPopupMinHeight = 60; // just above the bare search-bar height, so the dialog hugs content constexpr int kPopupMaxHeight = 282; int json_int_or(const nlohmann::json& j, const char* key, int fallback) @@ -31,47 +40,158 @@ int json_int_or(const nlohmann::json& j, const char* key, int fallback) return it != j.end() && it->is_number() ? it->get<int>() : fallback; } -wxColour bg_color() { return wxGetApp().get_window_default_clr(); } - -} - -SpeedDialWebDialog::SpeedDialWebDialog(wxWindow* parent) - : WebViewHostDialog(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, - wxBORDER_NONE | wxFRAME_NO_TASKBAR) +// Display name of a settings mode, for the mode-switch confirmation. +wxString mode_label(ConfigOptionMode mode) { - SetBackgroundColour(bg_color()); - Bind(wxEVT_ACTIVATE, [this](wxActivateEvent& event) { - if (!event.GetActive() && IsShown()) - Hide(); - event.Skip(); - }); - if (!create_webview("web/dialog/SpeedDial/index.html", wxEmptyString, - wxSize(kPopupWidth, kPopupMaxHeight), wxSize(kPopupWidth, kPopupMinHeight))) { - auto* sizer = new wxBoxSizer(wxVERTICAL); - sizer->Add(new wxStaticText(this, wxID_ANY, wxS("wxWebView unavailable")), - wxSizerFlags().Border(wxALL, 20)); - SetSizer(sizer); - SetClientSize(FromDIP(wxSize(kPopupWidth, kPopupMinHeight))); + switch (mode) { + case comAdvanced: return _L("Advanced"); + case comExpert: return _L("Expert"); + case comDevelop: return _L("Developer"); + default: return _L("Simple"); } } +wxColour bg_color() { return wxGetApp().get_window_default_clr(); } + +// Give the WebKitGTK widget itself input focus, not its GtkScrolledWindow container. +// (browser()->SetFocus() grabs focus on the container and doesn't reach the web content, +// so typing only works after the user clicks.) On Linux the native backend is the +// WebKitWebView widget; grab focus there directly. Elsewhere SetFocus() is correct. +void focus_webview(wxWebView* browser, bool page_ready) +{ + if (!browser) + return; +#ifdef __linux__ + if (void* nb = browser->GetNativeBackend()) + gtk_widget_grab_focus((GtkWidget*) nb); +#else + browser->SetFocus(); +#endif + if (page_ready) + browser->RunScript("focusInput();"); +} + +// Localized strings for the Speed Dial page, injected as a document-start user script. The page's +// T() reads window.ORCA_UI_STRINGS, so these flow through the same .po pipeline as the rest of the +// UI (the JS literals are only a fallback before the script runs / in the node vm test). +// %% is a literal '%': T() collapses it after substituting %s. Keep the shortcut tokens out of the +// translated text so the platform prefix (Alt+/⌥+, Ctrl+/⌘+) stays correct. +nlohmann::json speed_dial_ui_strings() +{ + const std::string alt = GUI::shortkey_alt_prefix(); + const std::string ctrl = GUI::shortkey_ctrl_prefix(); + return { + {"shortcut_alt", alt}, + {"shortcut_ctrl", ctrl}, + + {"sd_search", _u8L("Search actions")}, + {"sd_clear", _u8L("Clear")}, + {"sd_recent", _u8L("Recent")}, + {"sd_plugins", _u8L("Plugins")}, + {"sd_other", _u8L("Other")}, + {"sd_no_match_total", _u8L("No actions match (Total: %s)")}, + {"sd_no_actions", _u8L("No actions yet")}, + {"sd_no_tabs_match", _u8L("No tabs match")}, + {"sd_no_tabs", _u8L("No tabs")}, + {"sd_result_count", _u8L("Showing %s actions")}, + {"sd_result_count_all", _u8L("%s actions")}, + {"sd_tab_count", _u8L("%s tabs")}, + {"sd_tab_match_count", _u8L("%s matches")}, + {"sd_favs_full", _u8L("Favourites are full (%s max)")}, + {"sd_go_to_pct", _u8L("Go to %s%% of the layer range")}, + {"sd_enter_pct", _u8L("Enter a layer percentage (0-100)")}, + {"sd_go_layer_ph", _u8L("Go to layer %% (0-100)")}, + {"sd_go_tab_ph", _u8L("Go to tab")}, + {"sd_fav_slot", _u8L("Favourite %s (%s)")}, + {"sd_pin_fav", _u8L("Pin to favourites (%s)")}, + {"sd_unpin_fav", _u8L("Unpin from favourites (%s)")}, + {"sd_remove_fav", _u8L("Remove from favourites")}, + {"sd_move_left", _u8L("Move left")}, + {"sd_move_right", _u8L("Move right")}, + {"sd_unpin", _u8L("Unpin")}, + {"sd_mode_advanced", _u8L("Advanced")}, + {"sd_mode_expert", _u8L("Expert")}, + {"sd_mode_develop", _u8L("Developer")}, + {"sd_wiki_f1", _u8L("Wiki (F1)")}, + {"sd_no_wiki", _u8L("No wiki page for this action")}, + {"sd_show_details", _u8L("Show details")}, + {"sd_hide_details", _u8L("Hide details")}, + }; +} + +} // namespace + +SpeedDialWebDialog::SpeedDialWebDialog(wxWindow* parent) + : WebViewHostDialog(parent, + wxID_ANY, + wxEmptyString, + wxDefaultPosition, + wxDefaultSize, + wxBORDER_NONE | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT | wxFRAME_SHAPED) +{ + SetBackgroundColour(bg_color()); + Bind(wxEVT_ACTIVATE, [this](wxActivateEvent& event) { + // Focus the WebKit widget exactly when the WM makes the popup the active window + // (modeless focus is granted asynchronously, so a focus request made right after + // Show() is dropped). Also re-corrects focus on every re-open. + if (event.GetActive() && IsShown()) + focus_webview(browser(), m_page_ready); + else if (!event.GetActive() && IsShown()) + Hide(); + event.Skip(); + }); + if (!create_webview("web/dialog/SpeedDial/index.html", wxEmptyString, wxSize(kPopupWidth, kPopupMaxHeight), + wxSize(kPopupWidth, kPopupMinHeight))) { + auto* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(new wxStaticText(this, wxID_ANY, wxS("wxWebView unavailable")), wxSizerFlags().Border(wxALL, 20)); + SetSizer(sizer); + SetClientSize(FromDIP(wxSize(kPopupWidth, kPopupMinHeight))); + } + // WebView2's browser accelerator keys include Ctrl +/-/0 and Ctrl+wheel zoom, which would resize + // the page inside the fixed-size popup. No-op on the other backends (wxWidgets 3.3 base virtual). + if (wxWebView* wv = browser()) + wv->EnableBrowserAcceleratorKeys(false); + // Re-cut the shape whenever layout changes the client size. wxOSX SetShape resizes the + // NSWindow, which fires this synchronously; apply_rounded_shape() guards re-entry. + Bind(wxEVT_SIZE, [this](wxSizeEvent& event) { + event.Skip(); + apply_rounded_shape(); + }); + apply_rounded_shape(); +} + SpeedDialWebDialog::~SpeedDialWebDialog() { m_alive->store(false, std::memory_order_release); } +// Document-start hook: hand the page its translated strings before speeddial.js runs, so the first +// paint is already localized. The table is built when the dialog is created; a live language switch +// rebuilds the GUI (and with it this dialog), so the next open re-injects the new locale. +void SpeedDialWebDialog::add_user_scripts() +{ + if (wxWebView* wv = browser()) { + const std::string js = "window.ORCA_UI_STRINGS = " + + speed_dial_ui_strings().dump(-1, ' ', false, nlohmann::json::error_handler_t::ignore) + ";"; + wv->AddUserScript(wxString::FromUTF8(js)); + } +} + void SpeedDialWebDialog::request_show() { if (IsShown()) { Raise(); - if (browser()) - browser()->SetFocus(); + focus_webview(browser(), m_page_ready); + repaint_webview(); return; } Show(); Raise(); + apply_rounded_shape(); if (m_page_ready) send_actions(); - if (browser()) - browser()->SetFocus(); + // Grab focus now and again on wxEVT_ACTIVATE; grabbing directly on the WebKit widget is + // what makes typing reach the search field immediately on open. + focus_webview(browser(), m_page_ready); + repaint_webview(); } void SpeedDialWebDialog::on_script_message(const nlohmann::json& payload) @@ -95,23 +215,44 @@ void SpeedDialWebDialog::handle_web_command(const nlohmann::json& payload) if (command == "request_actions") { m_page_ready = true; send_actions(); - } - else if (command == "toggle_favourite") - wxGetApp().action_registry().set_favourite(payload.value("id", ""), payload.value("fav", false)); - else if (command == "reorder_favourites") { + } else if (command == "toggle_favourite") { + // set_favourite() refuses once the bar hits kFavLimit; tell the page so it can undo the + // pin and show a "favourites are full" hint instead of silently losing the favourite. + const std::string fav_id = payload.value("id", ""); + const bool ok = wxGetApp().action_registry().set_favourite(fav_id, payload.value("fav", false)); + if (!ok) + call_web_handler({{"command", "favourite_full"}, {"limit", (int) ActionRegistry::kFavLimit}, {"id", fav_id}}); + } else if (command == "reorder_favourites") { std::vector<std::string> ids; if (payload.contains("ids") && payload["ids"].is_array()) for (const auto& id : payload["ids"]) if (id.is_string()) ids.push_back(id.get<std::string>()); wxGetApp().action_registry().reorder_favourites(ids); - } + } else if (command == "set_tooltip_expanded") + wxGetApp().action_registry().set_tooltip_expanded(payload.value("expanded", true)); else if (command == "run_action") - run_action(payload.value("id", ""), payload.value("title", "")); + run_action(payload.value("id", ""), payload.value("title", ""), payload.value("param", "")); + else if (command == "open_wiki") + open_wiki(payload.value("id", "")); + else if (command == "search_tabs") + search_tabs(); else if (command == "resize") resize_to_content(json_int_or(payload, "height", 0)); } +void SpeedDialWebDialog::search_tabs() +{ + // Round-trip is async because the webview delivers script messages synchronously on the + // GTK/macOS stack; defer the (cheap) enumeration and push the result back to the page. + wxGetApp().CallAfter([this, alive = m_alive]() { + if (!alive->load(std::memory_order_acquire)) + return; + auto tabs = wxGetApp().action_registry().tab_options(); + call_web_handler({{"command", "tab_results"}, {"tabs", std::move(tabs)}}); + }); +} + void SpeedDialWebDialog::resize_to_content(int height) { if (height <= 0) @@ -125,17 +266,122 @@ void SpeedDialWebDialog::resize_to_content(int height) const int height_dip = std::max(kPopupMinHeight, std::min(height, max_dip)); SetClientSize(FromDIP(wxSize(kPopupWidth, height_dip))); Layout(); +#ifdef __WXOSX__ + // WKWebView can lag the dialog's new client size; force the viewport to match so the page is + // never painted (and clipped by the rounded layer) below the footer. Unconditional: on a + // re-open the size is often unchanged, and skipping the sync leaves the fresh render unpainted. + if (wxWebView* wv = browser()) + wv->SetSize(GetClientSize()); +#endif + apply_rounded_shape(); + // A re-open re-renders at (usually) the same size, so nothing above may generate damage. + // Repaint explicitly so the newly rendered list is shown without needing user input. + repaint_webview(); } -void SpeedDialWebDialog::run_action(const std::string& id, const std::string& title) +void SpeedDialWebDialog::repaint_webview() +{ + wxWebView* wv = browser(); + if (!wv) + return; + // Portable invalidate; the platform blocks below reach the widget/layer that actually paints. + wv->Refresh(); +#ifdef __WXOSX__ + if (void* nb = wv->GetNativeBackend()) + WKWebView_force_display(nb); + wv->Update(); +#elif defined(__linux__) + // WebKitGTK's WebKitWebView owns its own GdkWindow, so invalidating the wxWebView wrapper + // (the GtkScrolledWindow) does not redraw it. + if (void* nb = wv->GetNativeBackend()) + gtk_widget_queue_draw((GtkWidget*) nb); +#else + wv->Update(); +#endif +} + +// Rounded corners: the webview paints an opaque rectangle, so round the whole top-level window. +// GTK/MSW use a shape region (same mask trick as FilamentPickerDialog, binary edges, no +// anti-aliasing); macOS clips the native view layer instead, since SetShape cannot shape there. +void SpeedDialWebDialog::apply_rounded_shape() +{ + // wxOSX SetShape resizes the NSWindow (setContentSize 10x10 then back), which synchronously + // fires wxEVT_SIZE -> apply_rounded_shape() -> SetShape() and recurses until the stack + // overflows. GTK/MSW set a region without resizing, so they are unaffected. + if (m_applying_shape) + return; + + // BORDER_NONE means the window is all client area, so the client size is the shape size. + const wxSize size = GetClientSize(); + if (size.GetWidth() <= 0 || size.GetHeight() <= 0) + return; + + m_applying_shape = true; + +#ifdef __WXOSX__ + // wxOSX ignores the region (it only clears the window background), so round the native view. + set_window_corner_radius(this, FromDIP(m_corner_radius)); +#else + m_shape_bmp.Create(size.GetWidth(), size.GetHeight(), 32); + if (m_shape_bmp.IsOk()) { + wxMemoryDC dc; + dc.SelectObject(m_shape_bmp); + dc.SetBackground(wxBrush(wxColour(0, 0, 0))); + dc.Clear(); + dc.SetBrush(wxBrush(wxColour(255, 255, 255, 255))); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.DrawRoundedRectangle(0, 0, size.GetWidth(), size.GetHeight(), FromDIP(m_corner_radius)); + dc.SelectObject(wxNullBitmap); + + wxRegion region(m_shape_bmp, wxColour(0, 0, 0)); + if (region.IsOk()) + SetShape(region); + } +#endif + + m_applying_shape = false; +} + +void SpeedDialWebDialog::on_dpi_changed(const wxRect&) +{ + apply_rounded_shape(); + Refresh(); +} + +void SpeedDialWebDialog::run_action(const std::string& id, const std::string& title, const std::string& param) { ActionRegistry& reg = wxGetApp().action_registry(); - const AppAction* a = reg.by_id(id); + const AppAction* a = reg.by_id(id); if (!a) return; - const bool ask = reg.should_ask(id); - const std::string atitle = a->title(); + // Only plugin actions get the "Run plugin?" confirm. Built-in commands act immediately. + const bool ask = a->kind == AppActionKind::Plugin && reg.should_ask(id); + const std::string atitle = a->title(); + const ConfigOptionMode required = a->required_mode; + + // Settings the current mode hides require a switch first. Ask while the dial is still up; a + // cancel dismisses both (the dial also auto-hides when the modal takes activation). + if (requires_mode_switch(required, wxGetApp().get_mode())) { + const wxString setting = title.empty() ? from_u8(atitle) : from_u8(title); + if (required == comDevelop) { + RichMessageDialog dlg(wxGetApp().mainframe, + wxString::Format(_L("\"%s\" is a Developer setting. Enable Developer mode to edit it?"), setting), + _L("Developer setting"), wxOK | wxCANCEL); + if (dlg.ShowModal() != wxID_OK) + return; + wxGetApp().enable_developer_mode(); + } else { + RichMessageDialog dlg(wxGetApp().mainframe, + wxString::Format(_L("\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?"), setting, + mode_label(required), mode_label(wxGetApp().get_mode()), mode_label(required)), + _L("Switch settings mode"), wxOK | wxCANCEL); + if (dlg.ShowModal() != wxID_OK) + return; + wxGetApp().save_mode(required); + } + } + if (IsModal()) EndModal(wxID_CANCEL); else @@ -143,8 +389,7 @@ void SpeedDialWebDialog::run_action(const std::string& id, const std::string& ti if (ask) { const wxString label = title.empty() ? from_u8(atitle) : from_u8(title); - RichMessageDialog dlg(wxGetApp().mainframe, wxString::Format(_L("Run \"%s\"?"), label), - _L("Run plugin"), wxOK | wxCANCEL); + RichMessageDialog dlg(wxGetApp().mainframe, wxString::Format(_L("Run \"%s\"?"), label), _L("Run plugin"), wxOK | wxCANCEL); dlg.ShowCheckBox(_L("Don't ask again for this action")); if (dlg.ShowModal() != wxID_OK) return; @@ -152,27 +397,42 @@ void SpeedDialWebDialog::run_action(const std::string& id, const std::string& ti wxGetApp().action_registry().suppress_ask(id); } - wxGetApp().CallAfter([id] { + wxGetApp().CallAfter([id, param] { if (wxGetApp().is_closing()) return; - AppActionRunResult result = wxGetApp().action_registry().run(id); + AppActionRunResult result = wxGetApp().action_registry().run(id, param); if (result.level == AppActionRunResult::Level::Busy) return; if (!result.message.IsEmpty() && wxGetApp().plater()) - wxGetApp().plater()->get_notification_manager()->push_notification( - NotificationType::CustomNotification, - result.level == AppActionRunResult::Level::Error ? NotificationManager::NotificationLevel::ErrorNotificationLevel : - NotificationManager::NotificationLevel::RegularNotificationLevel, - into_u8(result.message)); + wxGetApp() + .plater() + ->get_notification_manager() + ->push_notification(NotificationType::CustomNotification, + result.level == AppActionRunResult::Level::Error ? + NotificationManager::NotificationLevel::ErrorNotificationLevel : + NotificationManager::NotificationLevel::RegularNotificationLevel, + into_u8(result.message)); }); } +void SpeedDialWebDialog::open_wiki(const std::string& id) +{ + const AppAction* a = wxGetApp().action_registry().by_id(id); + if (!a || a->help_url.empty()) + return; + Hide(); + wxLaunchDefaultBrowser(from_u8(a->help_url)); +} + void SpeedDialWebDialog::send_actions() { nlohmann::json snap = wxGetApp().action_registry().snapshot(); call_web_handler({{"command", "list_actions"}, {"actions", std::move(snap["actions"])}, - {"favourites", std::move(snap["favourites"])}}); + {"favourites", std::move(snap["favourites"])}, + {"recent", std::move(snap["recent"])}, + {"user_mode", std::move(snap["user_mode"])}, + {"tooltip_expanded", std::move(snap["tooltip_expanded"])}}); } -}} +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/SpeedDialDialog.hpp b/src/slic3r/GUI/SpeedDialDialog.hpp index 52ee05e502..d3b75f2256 100644 --- a/src/slic3r/GUI/SpeedDialDialog.hpp +++ b/src/slic3r/GUI/SpeedDialDialog.hpp @@ -7,6 +7,8 @@ #include <memory> #include <string> +#include <wx/bitmap.h> + namespace Slic3r { namespace GUI { class SpeedDialWebDialog : public WebViewHostDialog @@ -17,13 +19,27 @@ public: void request_show(); private: + void add_user_scripts() override; void on_script_message(const nlohmann::json& payload) override; void handle_web_command(const nlohmann::json& payload); void resize_to_content(int height); - void run_action(const std::string& id, const std::string& title); + void run_action(const std::string& id, const std::string& title, const std::string& param = ""); + void open_wiki(const std::string& id); void send_actions(); + void search_tabs(); + void apply_rounded_shape(); + // Forces the webview to repaint after it is mapped / re-rendered. The popup is transparent and + // chrome-less, so a missed frame leaves it blank until input; platform-specific because the + // widget that actually paints is not always the wxWebView wrapper. + void repaint_webview(); + void on_dpi_changed(const wxRect& suggested_rect) override; bool m_page_ready{false}; + // Rounded corners (shape region on GTK/MSW, native layer on macOS), since the webview is opaque. + int m_corner_radius{7}; + wxBitmap m_shape_bmp; + // wxOSX SetShape resizes the window, which re-enters apply_rounded_shape() through wxEVT_SIZE. + bool m_applying_shape{false}; // Guards the CallAfter in on_script_message across dialog destruction, same as // PluginsDialog::m_alive (PluginsDialog.hpp:249). std::shared_ptr<std::atomic<bool>> m_alive = std::make_shared<std::atomic<bool>>(true); diff --git a/src/slic3r/GUI/StagedBuild.hpp b/src/slic3r/GUI/StagedBuild.hpp new file mode 100644 index 0000000000..8f4c0454c3 --- /dev/null +++ b/src/slic3r/GUI/StagedBuild.hpp @@ -0,0 +1,60 @@ +#pragma once + +#include <algorithm> +#include <functional> +#include <vector> + +namespace Slic3r { namespace GUI { + +// A panel whose constructor builds the skeleton and queues the rest as steps, run in order +// on the main thread, one at a time. +class StagedBuild +{ +public: + virtual ~StagedBuild() = default; + + bool built() const + { + return m_next_step == m_steps.size() && + std::all_of(m_children.begin(), m_children.end(), [](const StagedBuild* child) { return child->built(); }); + } + + // Runs one step and returns true while more remain. Own steps first, then whatever a + // child queued after its steps were forwarded. + bool build_step() + { + if (m_next_step < m_steps.size()) { + // Copied out, since a step may queue more steps and reallocate m_steps. + auto step = std::move(m_steps[m_next_step++]); + step(); + } else if (StagedBuild* child = unfinished_child()) { + child->build_step(); + } + return !built(); + } + +protected: + void add_build_step(std::function<void()> step) { m_steps.push_back(std::move(step)); } + + // Queues one step per step the child has now, and keeps the child so that built() waits + // for any it queues later. + void add_build_steps_of(StagedBuild& child) + { + m_children.push_back(&child); + for (size_t i = child.m_next_step; i < child.m_steps.size(); ++i) + add_build_step([&child] { child.build_step(); }); + } + +private: + StagedBuild* unfinished_child() const + { + auto it = std::find_if(m_children.begin(), m_children.end(), [](const StagedBuild* child) { return !child->built(); }); + return it == m_children.end() ? nullptr : *it; + } + + std::vector<std::function<void()>> m_steps; + std::vector<StagedBuild*> m_children; + size_t m_next_step{ 0 }; +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index f7bd41fe84..0b6e4b6577 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -1302,7 +1302,7 @@ void PrintingTaskPanel::set_star_count(int star_count) StatusBasePanel::StatusBasePanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style, const wxString &name) : wxScrolledWindow(parent, id, pos, size, wxHSCROLL | wxVSCROLL) { - this->SetScrollRate(25, 25); + SetScrollRate(25, FromDIP(20)); Slic3r::DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (!dev) return; obj = dev->get_selected_machine(); @@ -1328,18 +1328,21 @@ StatusBasePanel::StatusBasePanel(wxWindow *parent, wxWindowID id, const wxPoint wxBoxSizer *bSizer_left = new wxBoxSizer(wxVERTICAL); - auto m_monitoring_sizer = create_monitoring_page(); - bSizer_left->Add(m_monitoring_sizer, 1, wxEXPAND | wxALL, 0); + // The sizers are nested here so each step only appends to its own. + add_build_step([this, bSizer_left] { + auto m_monitoring_sizer = create_monitoring_page(); + bSizer_left->Add(m_monitoring_sizer, 1, wxEXPAND | wxALL, 0); - auto m_panel_separotor1 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); - m_panel_separotor1->SetBackgroundColour(STATUS_PANEL_BG); - m_panel_separotor1->SetMinSize(wxSize(-1, PAGE_SPACING)); - m_panel_separotor1->SetMaxSize(wxSize(-1, PAGE_SPACING)); - m_monitoring_sizer->Add(m_panel_separotor1, 0, wxEXPAND, 0); + auto m_panel_separotor1 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); + m_panel_separotor1->SetBackgroundColour(STATUS_PANEL_BG); + m_panel_separotor1->SetMinSize(wxSize(-1, PAGE_SPACING)); + m_panel_separotor1->SetMaxSize(wxSize(-1, PAGE_SPACING)); + m_monitoring_sizer->Add(m_panel_separotor1, 0, wxEXPAND, 0); - m_project_task_panel = new PrintingTaskPanel(this, PrintingTaskType::PRINGINT); - m_project_task_panel->init_bitmaps(); - m_monitoring_sizer->Add(m_project_task_panel, 0, wxALL | wxEXPAND , 0); + m_project_task_panel = new PrintingTaskPanel(this, PrintingTaskType::PRINGINT); + m_project_task_panel->init_bitmaps(); + m_monitoring_sizer->Add(m_project_task_panel, 0, wxALL | wxEXPAND , 0); + }); // auto m_panel_separotor2 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); // m_panel_separotor2->SetBackgroundColour(STATUS_PANEL_BG); @@ -1359,8 +1362,10 @@ StatusBasePanel::StatusBasePanel(wxWindow *parent, wxWindowID id, const wxPoint m_machine_ctrl_panel->SetDoubleBuffered(true); auto m_machine_control = create_machine_control_page(m_machine_ctrl_panel); m_machine_ctrl_panel->SetSizer(m_machine_control); - m_machine_ctrl_panel->Layout(); - m_machine_control->Fit(m_machine_ctrl_panel); + add_build_step([this, m_machine_control] { + m_machine_ctrl_panel->Layout(); + m_machine_control->Fit(m_machine_ctrl_panel); + }); bSizer_status_below->Add(m_machine_ctrl_panel, 0, wxALL, 0); @@ -1375,8 +1380,11 @@ StatusBasePanel::StatusBasePanel(wxWindow *parent, wxWindowID id, const wxPoint m_panel_separotor_bottom->SetBackgroundColour(STATUS_PANEL_BG); bSizer_status->Add(m_panel_separotor_bottom, 0, wxEXPAND | wxALL, 0); - this->SetSizerAndFit(bSizer_status); - this->Layout(); + this->SetSizer(bSizer_status); + add_build_step([this, bSizer_status] { + bSizer_status->SetSizeHints(this); + this->Layout(); + }); } StatusBasePanel::~StatusBasePanel() @@ -1462,7 +1470,7 @@ wxBoxSizer *StatusBasePanel::create_monitoring_page() #if !BBL_RELEASE_TO_PUBLIC m_staticText_timelapse->Show(); m_bmToggleBtn_timelapse->Show(); - m_bmToggleBtn_timelapse->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent &e) { + m_bmToggleBtn_timelapse->Bind(wxEVT_TOGGLEBUTTON, [](wxCommandEvent &e) { if (e.IsChecked()) wxGetApp().getAgent()->start_subscribe("tunnel"); else @@ -1614,16 +1622,24 @@ wxBoxSizer *StatusBasePanel::create_machine_control_page(wxWindow *parent) wxBoxSizer *bSizer_control = new wxBoxSizer(wxVERTICAL); - auto temp_axis_ctrl_sizer = create_temp_axis_group(parent); - auto m_filament_load_sizer = create_filament_group(parent); - + // The slot sizers keep each group's place in bSizer_control. + wxBoxSizer *temp_axis_slot = new wxBoxSizer(wxVERTICAL); + wxBoxSizer *filament_slot = new wxBoxSizer(wxVERTICAL); /* ams control box or live nozzle-rack panel (rack printers switch between the two) */ wxSizer *ams_rack_sizer = new wxBoxSizer(wxHORIZONTAL); - ams_rack_sizer->Add(create_ams_group(parent), 0, wxEXPAND | wxLEFT); - m_panel_nozzle_rack = new wgtDeviceNozzleRack(parent); - m_panel_nozzle_rack->Show(false); - ams_rack_sizer->Add(m_panel_nozzle_rack, 0, wxEXPAND | wxLEFT); + add_build_step([this, parent, temp_axis_slot, filament_slot] { + temp_axis_slot->Add(create_temp_axis_group(parent), 0, wxEXPAND); + filament_slot->Add(create_filament_group(parent), 0, wxEXPAND); + }); + add_build_step([this, parent, ams_rack_sizer] { + ams_rack_sizer->Add(create_ams_group(parent), 0, wxEXPAND | wxLEFT); + }); + add_build_step([this, parent, ams_rack_sizer] { + m_panel_nozzle_rack = new wgtDeviceNozzleRack(parent); + m_panel_nozzle_rack->Show(false); + ams_rack_sizer->Add(m_panel_nozzle_rack, 0, wxEXPAND | wxLEFT); + }); m_ams_rack_switch = new SwitchBoard(parent, _L("Filament"), _L("Hotends"), wxSize(FromDIP(126), FromDIP(26))); m_ams_rack_switch->updateState("left"); @@ -1631,12 +1647,12 @@ wxBoxSizer *StatusBasePanel::create_machine_control_page(wxWindow *parent) m_ams_rack_switch->Bind(wxCUSTOMEVT_SWITCH_POS, &StatusBasePanel::on_ams_rack_switch, this); bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(8)); - bSizer_control->Add(temp_axis_ctrl_sizer, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8)); + bSizer_control->Add(temp_axis_slot, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8)); bSizer_control->Add(m_ams_rack_switch, 0, wxALIGN_CENTRE|wxTOP, FromDIP(6)); bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(6)); bSizer_control->Add(ams_rack_sizer, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8)); bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(6)); - bSizer_control->Add(m_filament_load_sizer, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8)); + bSizer_control->Add(filament_slot, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8)); bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(4)); bSizer_right->Add(bSizer_control, 1, wxEXPAND | wxALL, 0); @@ -2228,8 +2244,10 @@ void StatusBasePanel::expand_filament_loading(wxMouseEvent& e) m_filament_step->Show(tag_show); Layout(); Fit(); - wxGetApp().mainframe->m_monitor->get_status_panel()->Layout(); - wxGetApp().mainframe->m_monitor->Layout(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) { + monitor->get_status_panel()->Layout(); + monitor->Layout(); + } } void StatusBasePanel::show_ams_group(bool show) @@ -2240,7 +2258,8 @@ void StatusBasePanel::show_ams_group(bool show) m_ams_control->Fit(); Layout(); Fit(); - wxGetApp().mainframe->m_monitor->Layout(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->Layout(); } // On rack printers, don't clobber the rack view when the user has the switch on "Hotends". @@ -2253,7 +2272,8 @@ void StatusBasePanel::show_ams_group(bool show) m_ams_control->Fit(); Layout(); Fit(); - wxGetApp().mainframe->m_monitor->Layout(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) + monitor->Layout(); } } @@ -2277,8 +2297,10 @@ void StatusBasePanel::show_filament_load_group(bool show) Layout(); Fit(); - wxGetApp().mainframe->m_monitor->get_status_panel()->Layout(); - wxGetApp().mainframe->m_monitor->Layout(); + if (MonitorPanel* monitor = MonitorPanel::if_built()) { + monitor->get_status_panel()->Layout(); + monitor->Layout(); + } } } @@ -2403,6 +2425,12 @@ void StatusPanel::update_camera_state(MachineObject* obj) StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style, const wxString &name) : StatusBasePanel(parent, id, pos, size, style) +{ + // Wires the controls the base class builds in steps, so it is the last step. + add_build_step([this] { wire_controls(); }); +} + +void StatusPanel::wire_controls() { init_scaled_buttons(); m_buttons.push_back(m_bpButton_z_10); @@ -2514,47 +2542,50 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co StatusPanel::~StatusPanel() { - // Disconnect Events - m_project_task_panel->get_bitmap_thumbnail()->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::refresh_thumbnail_webrequest), NULL, this); - m_project_task_panel->get_partskip_button()->Disconnect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_subtask_partskip), NULL, this); - m_project_task_panel->get_pause_resume_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_pause_resume), NULL, this); - m_project_task_panel->get_abort_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_abort), NULL, this); - m_project_task_panel->get_market_scoring_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_market_scoring), NULL, this); - m_project_task_panel->get_market_retry_buttom()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_market_retry), NULL, this); - m_project_task_panel->get_clean_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_print_error_clean), NULL, this); + // The controls only exist once the last build step has run. + if (built()) { + // Disconnect Events + m_project_task_panel->get_bitmap_thumbnail()->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::refresh_thumbnail_webrequest), NULL, this); + m_project_task_panel->get_partskip_button()->Disconnect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_subtask_partskip), NULL, this); + m_project_task_panel->get_pause_resume_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_pause_resume), NULL, this); + m_project_task_panel->get_abort_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_abort), NULL, this); + m_project_task_panel->get_market_scoring_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_market_scoring), NULL, this); + m_project_task_panel->get_market_retry_buttom()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_market_retry), NULL, this); + m_project_task_panel->get_clean_button()->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_print_error_clean), NULL, this); - m_setting_button->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this); - m_setting_button->Disconnect(wxEVT_LEFT_DCLICK, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this); - m_tempCtrl_bed->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_kill_focus), NULL, this); - m_tempCtrl_bed->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this); - m_tempCtrl_nozzle->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); - m_tempCtrl_nozzle->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); + m_setting_button->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this); + m_setting_button->Disconnect(wxEVT_LEFT_DCLICK, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this); + m_tempCtrl_bed->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_kill_focus), NULL, this); + m_tempCtrl_bed->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_bed_temp_set_focus), NULL, this); + m_tempCtrl_nozzle->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); + m_tempCtrl_nozzle->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); - m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); - m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); + m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_KILL_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_kill_focus), NULL, this); + m_tempCtrl_nozzle_deputy->Disconnect(wxEVT_SET_FOCUS, wxFocusEventHandler(StatusPanel::on_nozzle_temp_set_focus), NULL, this); - m_switch_lamp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this); - /*m_switch_nozzle_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); - m_switch_printing_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); - m_switch_cham_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this);*/ + m_switch_lamp->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_lamp_switch), NULL, this); + /*m_switch_nozzle_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); + m_switch_printing_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); + m_switch_cham_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this);*/ - //m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); - //m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); - m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); + //m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); + //m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); + m_switch_fan->Disconnect(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_nozzle_fan_switch), NULL, this); - m_bpButton_xy->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_xy), NULL, this); - m_bpButton_z_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_up_10), NULL, this); - m_bpButton_z_1->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_up_1), NULL, this); - m_bpButton_z_down_1->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_down_1), NULL, this); - m_bpButton_z_down_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_down_10), NULL, this); - m_bpButton_e_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_e_up_10), NULL, this); - m_bpButton_e_down_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_e_down_10), NULL, this); - m_nozzle_btn_panel->Disconnect(wxCUSTOMEVT_SWITCH_POS, wxCommandEventHandler(StatusPanel::on_nozzle_selected), NULL, this); - m_switch_speed->Disconnect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_switch_speed), NULL, this); - m_calibration_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_start_calibration), NULL, this); - m_options_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_print_options), NULL, this); - m_safety_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_safety_options), NULL, this); - m_parts_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_parts_options), NULL, this); + m_bpButton_xy->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_xy), NULL, this); + m_bpButton_z_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_up_10), NULL, this); + m_bpButton_z_1->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_up_1), NULL, this); + m_bpButton_z_down_1->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_down_1), NULL, this); + m_bpButton_z_down_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_z_down_10), NULL, this); + m_bpButton_e_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_e_up_10), NULL, this); + m_bpButton_e_down_10->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_axis_ctrl_e_down_10), NULL, this); + m_nozzle_btn_panel->Disconnect(wxCUSTOMEVT_SWITCH_POS, wxCommandEventHandler(StatusPanel::on_nozzle_selected), NULL, this); + m_switch_speed->Disconnect(wxEVT_LEFT_DOWN, wxCommandEventHandler(StatusPanel::on_switch_speed), NULL, this); + m_calibration_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_start_calibration), NULL, this); + m_options_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_print_options), NULL, this); + m_safety_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_safety_options), NULL, this); + m_parts_btn->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_show_parts_options), NULL, this); + } // remove warning dialogs if (abort_dlg != nullptr) @@ -5216,7 +5247,9 @@ void StatusPanel::set_default() m_filament_step->Hide(); error_info_reset(); #ifndef __WXGTK__ - SetFocus(); + // Also reached while the panel is built off screen. + if (IsShownOnScreen()) + SetFocus(); #endif } diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index 341bb9ab69..d79c3d3915 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -36,6 +36,7 @@ #include "HMS.hpp" #include "PartSkipDialog.hpp" #include "DeviceErrorDialog.hpp" +#include "StagedBuild.hpp" class StepIndicator; @@ -375,7 +376,7 @@ public: void paint(wxPaintEvent&); }; -class StatusBasePanel : public wxScrolledWindow +class StatusBasePanel : public wxScrolledWindow, public StagedBuild { protected: wxBitmap m_item_placeholder; @@ -443,7 +444,7 @@ protected: wxMediaCtrl3 * m_media_ctrl; - MediaPlayCtrl * m_media_play_ctrl; + MediaPlayCtrl * m_media_play_ctrl{nullptr}; Label * m_staticText_printing; wxStaticBitmap *m_bitmap_thumbnail; @@ -629,6 +630,7 @@ class StatusPanel : public StatusBasePanel { private: friend class MonitorPanel; + void wire_controls(); protected: std::shared_ptr<SliceInfoPopup> m_slice_info_popup; @@ -679,7 +681,7 @@ protected: std::map<std::string, std::string> m_print_connect_types; std::vector<Button *> m_buttons; int last_status; - ScoreData *m_score_data; + ScoreData *m_score_data = nullptr; wxBitmap* calib_bitmap = nullptr; CalibMode m_calib_mode; CalibrationMethod m_calib_method; diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.cpp b/src/slic3r/GUI/SyncAmsInfoDialog.cpp index 7ae48008c8..19b1ddc568 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.cpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.cpp @@ -631,7 +631,6 @@ void SyncAmsInfoDialog::updata_ui_when_priner_not_same() { SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) : DPIDialog(static_cast<wxWindow *>(wxGetApp().mainframe), wxID_ANY, _L("Synchronize AMS Filament Information"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) , m_input_info(info) - , m_export_3mf_cancel(false) , m_mapping_popup(AmsMapingPopup(this,true)) , m_mapping_tip_popup(AmsMapingTipPopup(this)) , m_mapping_tutorial_popup(AmsTutorialPopup(this)) @@ -679,7 +678,7 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) : wxBoxSizer *loading_Sizer = new wxBoxSizer(wxHORIZONTAL); m_gif_ctrl = new wxAnimationCtrl(m_loading_page, wxID_ANY, wxNullAnimation, wxDefaultPosition, wxDefaultSize, wxAC_DEFAULT_STYLE); - auto gif_path = Slic3r::var("loading.gif").c_str(); + const wxString gif_path = from_u8(Slic3r::var("loading.gif")); if (m_gif_ctrl->LoadFile(gif_path)){ m_gif_ctrl->SetSize(m_gif_ctrl->GetAnimation().GetSize()); m_gif_ctrl->Play(); @@ -701,7 +700,7 @@ SyncAmsInfoDialog::SyncAmsInfoDialog(wxWindow *parent, SyncInfo &info) : //wxBoxSizer *m_scroll_sizer = new wxBoxSizer(wxVERTICAL); m_scrolledWindow = new wxScrolledWindow(m_show_page, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); m_scrolledWindow->SetBackgroundColour(*wxWHITE); - m_scrolledWindow->SetScrollRate(0, 20); + m_scrolledWindow->SetScrollRate(0, FromDIP(20)); m_scrolledWindow->SetMinSize(wxSize(-1, SyncAmsInfoDialogHeightMAX)); m_scrolledWindow->SetMaxSize(wxSize(-1, SyncAmsInfoDialogHeightMAX)); m_scrolledWindow->EnableScrolling(false,true); @@ -1548,7 +1547,7 @@ bool SyncAmsInfoDialog::is_nozzle_type_match(DevExtderSystem data, wxString &err auto sai_nz_pt = wxGetApp().preset_bundle->printers.get_edited_preset().get_printer_type(wxGetApp().preset_bundle); if (target_machine_nozzle_id == DEPUTY_EXTRUDER_ID) { pos = _L(DevPrinterConfigUtil::get_toolhead_display_name(sai_nz_pt, DEPUTY_EXTRUDER_ID, ToolHeadComponent::Nozzle, ToolHeadNameCase::LowerCase)); - } else if ((target_machine_nozzle_id == MAIN_EXTRUDER_ID)) { + } else if (target_machine_nozzle_id == MAIN_EXTRUDER_ID) { pos = _L(DevPrinterConfigUtil::get_toolhead_display_name(sai_nz_pt, MAIN_EXTRUDER_ID, ToolHeadComponent::Nozzle, ToolHeadNameCase::LowerCase)); } diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.hpp b/src/slic3r/GUI/SyncAmsInfoDialog.hpp index b0868f8c58..6f86af6032 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.hpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.hpp @@ -21,15 +21,11 @@ class SyncAmsInfoDialog : public DPIDialog bool m_only_exist_ext_spool_flag{false}; int m_current_filament_id{0}; int m_print_plate_idx{0}; - int m_print_plate_total{0}; int m_timeout_count{0}; int m_print_error_code{0}; bool m_is_in_sending_mode{false}; bool m_ams_mapping_res{false}; bool m_ams_mapping_valid{false}; - bool m_export_3mf_cancel{false}; - bool m_is_canceled{false}; - bool m_is_rename_mode{false}; bool m_check_flag{false}; PrintPageMode m_print_page_mode{PrintPageMode::PrintPageModePrepare}; std::string m_print_error_msg; diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index e650c45126..bf348f856f 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -7,6 +7,7 @@ #include "libslic3r/FilamentMixer.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/Model.hpp" +#include "libslic3r/PublishSettings.hpp" #include "libslic3r/GCode/GCodeProcessor.hpp" #include "Search.hpp" @@ -37,6 +38,7 @@ #include "slic3r/Utils/NetworkAgentFactory.hpp" #include "slic3r/Utils/PresetUpdater.hpp" #include "slic3r/plugin/PluginConfig.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "Plater.hpp" #include "MainFrame.hpp" #include "format.hpp" @@ -802,6 +804,10 @@ void Tab::OnActivate() } #endif + // The OnActivate() that shows the tab builds the page. + if (wxGetApp().mainframe != nullptr && !wxGetApp().mainframe->is_active_and_shown_tab(m_parent)) + return; + // BBS: select on first active if (!m_active_page) restore_last_select_item(); @@ -1735,16 +1741,46 @@ void Tab::toggle_option(const std::string& opt_key, bool toggle, int opt_index/* void Tab::toggle_line(const std::string &opt_key, bool toggle, int opt_index) { - if (!m_active_page) return; - Line *line = m_active_page->get_line(opt_key, opt_index); - if (line) line->toggle_visible = toggle; + // Apply to every page that owns the option, not just m_active_page. ConfigManipulation runs while + // each tab updates at preset load, so the Speed Dial sees the same visibility regardless of page. + for (const PageShp& page : m_pages) { + if (!page) continue; + if (Line *line = page->get_line(opt_key, opt_index)) + line->toggle_visible = toggle; + } }; void Tab::set_option_label(const std::string &opt_key, const wxString &label, int opt_index) { - if (!m_active_page) return; - Line *line = m_active_page->get_line(opt_key, opt_index); - if (line) line->set_label(label); + // Same as toggle_line: a runtime rename (brim_width -> "Brim ear radius") must reach every page + // so the Speed Dial titles the setting before the page has been shown. + for (const PageShp& page : m_pages) { + if (!page) continue; + if (Line *line = page->get_line(opt_key, opt_index)) + line->set_label(label); + } +} + +Tab::SettingRowState Tab::setting_row_state(const std::string &opt_id) const +{ + bool found = false; + for (const PageShp& page : m_pages) { + if (!page) continue; + for (const ConfigOptionsGroupShp& group : page->m_optgroups) { + if (!group) continue; + for (const Line& line : group->get_lines()) { + for (const Option& opt : line.get_options()) { + if (opt.opt_id != opt_id) + continue; + if (line.toggle_visible) // shown on any owning page is enough + return {true, line.label, line.get_options().size() > 1}; + found = true; + } + } + } + } + // Never registered on a page -> visible, but with no row label to contribute. + return {!found, wxString(), false}; } // To be called by custom widgets, load a value into a config, @@ -1991,6 +2027,20 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) // reload scene to update timelapse wipe tower if (opt_key == "timelapse_type") { + // Smooth timelapse parks the nozzle on the prime tower every layer, so it needs a tower on + // every layer. That is exactly what "No sparse layers" removes, and with both on the tower is + // planned full height and then dropped on emission. Drop "No sparse layers" and tell the user. + if (boost::any_cast<int>(value) == (int) TimelapseType::tlSmooth && m_config->opt_bool("wipe_tower_no_sparse_layers")) { + MessageDialog dlg(wxGetApp().plater(), + _L("Smooth timelapse needs a prime tower on every layer, which is not compatible with \"No sparse layers\". " + "\"No sparse layers\" has been turned off."), + _L("Warning"), wxICON_WARNING | wxOK); + dlg.ShowModal(); + DynamicPrintConfig new_conf = *m_config; + new_conf.set_key_value("wipe_tower_no_sparse_layers", new ConfigOptionBool(false)); + m_config_manipulation.apply(m_config, &new_conf); + } + bool wipe_tower_enabled = m_config->option<ConfigOptionBool>("enable_prime_tower")->value; if (!wipe_tower_enabled && boost::any_cast<int>(value) == (int)TimelapseType::tlSmooth) { MessageDialog dlg(wxGetApp().plater(), _L("A prime tower is required for smooth timelapse mode. There may be flaws on the model without prime tower. Do you want to enable the prime tower\?"), @@ -2006,6 +2056,23 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) } } + // Mirror of the timelapse_type branch above: enabling "No sparse layers" while smooth timelapse + // is active would leave the tower on every layer anyway, so fall back to traditional timelapse. + if (opt_key == "wipe_tower_no_sparse_layers" && boost::any_cast<bool>(value)) { + auto timelapse_type = m_config->option<ConfigOptionEnum<TimelapseType>>("timelapse_type"); + if (timelapse_type && timelapse_type->value == TimelapseType::tlSmooth) { + MessageDialog dlg(wxGetApp().plater(), + _L("\"No sparse layers\" is not compatible with smooth timelapse, which needs a prime tower on every layer. " + "Timelapse has been switched to traditional mode."), + _L("Warning"), wxICON_WARNING | wxOK); + dlg.ShowModal(); + DynamicPrintConfig new_conf = *m_config; + new_conf.set_key_value("timelapse_type", new ConfigOptionEnum<TimelapseType>(TimelapseType::tlTraditional)); + m_config_manipulation.apply(m_config, &new_conf); + wxGetApp().plater()->update(); + } + } + if (opt_key == "print_sequence" && m_config->opt_enum<PrintSequence>("print_sequence") == PrintSequence::ByObject) { auto printer_structure_opt = m_preset_bundle->printers.get_edited_preset().config.option<ConfigOptionEnum<PrinterStructure>>("printer_structure"); if (printer_structure_opt && printer_structure_opt->value == PrinterStructure::psI3) { @@ -2668,6 +2735,8 @@ void TabPrint::build() optgroup->append_single_option_line("role_based_wipe_speed","quality_settings_seam#role-based-wipe-speed"); optgroup->append_single_option_line("wipe_speed", "quality_settings_seam#wipe-speed"); optgroup->append_single_option_line("wipe_on_loops","quality_settings_seam#wipe-on-loop-inward-movement"); + optgroup->append_single_option_line("wipe_inward", "quality_settings_seam#wipe-inward"); + optgroup->append_single_option_line("wipe_inward_distance", "quality_settings_seam#wipe-inward"); optgroup->append_single_option_line("wipe_before_external_loop","quality_settings_seam#wipe-before-external"); @@ -2722,7 +2791,7 @@ void TabPrint::build() optgroup->append_single_option_line("is_infill_first", "quality_settings_wall_and_surfaces#print-infill-first"); optgroup->append_single_option_line("wall_direction", "quality_settings_wall_and_surfaces#wall-loop-direction"); optgroup->append_single_option_line("print_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); - optgroup->append_single_option_line("top_solid_infill_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); + optgroup->append_single_option_line("top_solid_infill_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio", 0); optgroup->append_single_option_line("bottom_solid_infill_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); optgroup->append_single_option_line("set_other_flow_ratios", "quality_settings_wall_and_surfaces#surface-flow-ratio"); optgroup->append_single_option_line("first_layer_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); @@ -2760,6 +2829,7 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Overhangs"), L"param_overhang"); optgroup->append_single_option_line("detect_overhang_wall", "quality_settings_overhangs#detect-overhang-wall"); + optgroup->append_single_option_line("unsupported_wall_last", "quality_settings_overhangs#unsupported-wall-last"); optgroup->append_single_option_line("make_overhang_printable", "quality_settings_overhangs#make-overhang-printable"); optgroup->append_single_option_line("make_overhang_printable_angle", "quality_settings_overhangs#maximum-angle"); optgroup->append_single_option_line("make_overhang_printable_hole_size", "quality_settings_overhangs#hole-area"); @@ -2999,6 +3069,7 @@ void TabPrint::build() optgroup->append_single_option_line("wipe_tower_rib_width", "multimaterial_settings_prime_tower#rib-width"); optgroup->append_single_option_line("wipe_tower_fillet_wall", "multimaterial_settings_prime_tower#fillet-wall"); optgroup->append_single_option_line("wipe_tower_no_sparse_layers", "multimaterial_settings_prime_tower#no-sparse-layers"); + optgroup->append_single_option_line("wipe_tower_sparse_layers_combination", "multimaterial_settings_prime_tower#combine-sparse-layers"); optgroup->append_single_option_line("single_extruder_multi_material_priming", "multimaterial_settings_prime_tower"); optgroup = page->new_optgroup(L("Filament for Features"), L"param_filament_for_features"); @@ -3023,6 +3094,8 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Advanced"), L"advanced"); optgroup->append_single_option_line("interlocking_beam", "multimaterial_settings_advanced#interlocking-beam"); optgroup->append_single_option_line("toolchange_ordering", "multimaterial_settings_advanced#toolchange-ordering"); + optgroup->append_single_option_line("toolchange_cyclic_order", "multimaterial_settings_advanced#toolchange-order"); + optgroup->append_single_option_line("toolchange_cyclic_first_layer", "multimaterial_settings_advanced#toolchange-order"); optgroup->append_single_option_line("interface_shells", "multimaterial_settings_advanced#interface-shells"); optgroup->append_single_option_line("mmu_segmented_region_max_width", "multimaterial_settings_advanced#maximum-width-of-segmented-region"); optgroup->append_single_option_line("mmu_segmented_region_interlocking_depth", "multimaterial_settings_advanced#interlocking-depth-of-segmented-region"); @@ -3924,7 +3997,7 @@ void TabPrintLayer::update_custom_dirty(std::vector<std::string> &dirty_options, bool Tab::validate_custom_gcode(const wxString& title, const std::string& gcode) { std::vector<std::string> tags; - bool invalid = GCodeProcessor::contains_reserved_tags(gcode, 5, tags); + bool invalid = GCodeProcessor::contains_reserved_tags(gcode, 5, tags, wxGetApp().preset_bundle->is_bbl_vendor()); if (invalid) { std::string lines = ":\n"; for (const std::string& keyword : tags) @@ -3953,11 +4026,27 @@ static void validate_custom_gcode_cb(Tab* tab, ConfigOptionsGroupShp opt_group, tab->on_value_change(opt_key, value); } +// Orca: names the field the way its page does. The option label alone is ambiguous, as the machine's +// and the filament's custom G-code are both labelled "Start G-code". +static wxString custom_gcode_group_title(const Page* page, const t_config_option_key& opt_key) +{ + if (page) + for (const auto& opt_group : page->m_optgroups) + for (const auto& opt : opt_group->opt_map()) + if (opt.second.first == opt_key) + return opt_group->title; + return from_u8(opt_key); +} + void Tab::edit_custom_gcode(const t_config_option_key& opt_key) { EditGCodeDialog dlg = EditGCodeDialog(this, opt_key, get_custom_gcode(opt_key)); if (dlg.ShowModal() == wxID_OK) { - set_custom_gcode(opt_key, dlg.get_edited_gcode()); + const std::string edited_gcode = dlg.get_edited_gcode(); + // Orca: this dialog writes the value straight into the config, bypassing the field's change + // handler, so the reserved keyword check has to run here as it does when editing in place. + validate_custom_gcodes_was_shown = !validate_custom_gcode(custom_gcode_group_title(m_active_page, opt_key), edited_gcode); + set_custom_gcode(opt_key, edited_gcode); update_dirty(); update(); } @@ -5028,28 +5117,12 @@ void TabPrinter::build_fff() auto registered_printer_agents = NetworkAgentFactory::get_registered_printer_agents(); if (!registered_printer_agents.empty()) { - ConfigOptionDef def; - def.type = coString; - def.gui_type = ConfigOptionDef::GUIType::printer_agent_select; - def.width = 3 * Field::def_width_wider() / 2; - def.label = L("Printer Agent"); - def.tooltip = L("Select the network agent implementation for printer communication. " + option = optgroup->get_option("printer_agent"); + option.opt.gui_type = ConfigOptionDef::GUIType::printer_agent_select; + option.opt.width = 3 * Field::def_width_wider() / 2; + option.opt.tooltip = L("Select the network agent implementation for printer communication. " "Available agents are registered at startup."); - def.mode = comAdvanced; - - // Create the field without get_option() so it is not registered in m_opt_map. - // ConfigOptionsGroup handles printer_agent before the generic mapped write path. - Line agent_line = optgroup->create_single_option_line(Option(def, "printer_agent")); - optgroup->append_line(agent_line); - if (Field* agent_field = get_field("printer_agent")) - { - if (auto* choice = dynamic_cast<PrinterAgentChoice*>(agent_field); choice && choice->getWindow()) - choice->set_value(m_config->opt_string("printer_agent"), false); - } - - // Register by hand so the UnsavedChanges dialog can render a row for it. - wxGetApp().sidebar().get_searcher().add_key("printer_agent", m_type, optgroup->title, - optgroup->config_category()); + optgroup->append_single_option_line(option); } } @@ -5120,6 +5193,7 @@ void TabPrinter::build_fff() optgroup = page->new_optgroup(L("Extruder Clearance"), "param_extruder_clearance"); optgroup->append_single_option_line("extruder_clearance_radius", "printer_basic_information_extruder_clearance#radius"); + optgroup->append_single_option_line("extruder_clearance_dist_to_rod", "printer_basic_information_extruder_clearance#distance-to-rod"); optgroup->append_single_option_line("extruder_clearance_height_to_rod", "printer_basic_information_extruder_clearance#height-to-rod"); optgroup->append_single_option_line("extruder_clearance_height_to_lid", "printer_basic_information_extruder_clearance#height-to-lid"); @@ -5699,26 +5773,16 @@ if (is_marlin_flavor) optgroup->append_single_option_line("extruder_offset", "printer_extruder_basic_information#extruder-offset-position", extruder_idx); //BBS: don't show retract related config menu in machine page + // These optgroups are built from publishable_printer_retraction/z_hop_options() so the + // published-3MF printer allowlist (their union in libslic3r/PublishSettings.hpp) can + // never drift from what the machine page actually shows. optgroup = page->new_optgroup(L("Retraction"), L"param_retraction"); - optgroup->append_single_option_line("retraction_length", "printer_extruder_retraction#length", extruder_idx); - optgroup->append_single_option_line("retract_restart_extra", "printer_extruder_retraction#extra-length-on-restart", extruder_idx); - optgroup->append_single_option_line("retraction_speed", "printer_extruder_retraction#retraction-speed", extruder_idx); - optgroup->append_single_option_line("deretraction_speed", "printer_extruder_retraction#deretraction-speed", extruder_idx); - optgroup->append_single_option_line("retraction_minimum_travel", "printer_extruder_retraction#travel-distance-threshold", extruder_idx); - optgroup->append_single_option_line("retract_when_changing_layer", "printer_extruder_retraction#retract-on-layer-change", extruder_idx); - optgroup->append_single_option_line("wipe", "printer_extruder_retraction#wipe-while-retracting", extruder_idx); - optgroup->append_single_option_line("wipe_distance", "printer_extruder_retraction#wipe-distance", extruder_idx); - optgroup->append_single_option_line("retract_before_wipe", "printer_extruder_retraction#retract-amount-before-wipe", extruder_idx); - // Orca - optgroup->append_single_option_line("retract_after_wipe", "printer_extruder_retraction#retract-amount-after-wipe", extruder_idx); + for (const PublishablePrinterOption& opt : publishable_printer_retraction_options()) + optgroup->append_single_option_line(opt.key, opt.icon, extruder_idx); optgroup = page->new_optgroup(L("Z-Hop"), L"param_extruder_lift_enforcement"); - optgroup->append_single_option_line("retract_lift_enforce", "printer_extruder_z_hop#on-surfaces", extruder_idx); - optgroup->append_single_option_line("z_hop_types", "printer_extruder_z_hop#z-hop-type", extruder_idx); - optgroup->append_single_option_line("z_hop", "printer_extruder_z_hop#z-hop-height", extruder_idx); - optgroup->append_single_option_line("travel_slope", "printer_extruder_z_hop#traveling-angle", extruder_idx); - optgroup->append_single_option_line("retract_lift_above", "printer_extruder_z_hop#only-lift-z-above", extruder_idx); - optgroup->append_single_option_line("retract_lift_below", "printer_extruder_z_hop#only-lift-z-below", extruder_idx); + for (const PublishablePrinterOption& opt : publishable_printer_z_hop_options()) + optgroup->append_single_option_line(opt.key, opt.icon, extruder_idx); optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction_material_change"); optgroup->append_single_option_line("retract_length_toolchange", "printer_extruder_retraction#retraction-when-switching-materials", extruder_idx); @@ -5770,11 +5834,11 @@ if (is_marlin_flavor) } else if (m_extruders_count_old == 1) { first_extruder_title = wxString::Format("Extruder %d", 1); } - auto & searcher = wxGetApp().sidebar().get_searcher(); + auto & index = wxGetApp().sidebar().settings_index(); for (auto &group : m_pages[n_before_extruders]->m_optgroups) { group->set_config_category_and_type(first_extruder_title, m_type); for (auto &opt : group->opt_map()) - searcher.add_key(opt.first + "#0", m_type, group->title, first_extruder_title); + index.add_key(opt.first + "#0", m_type, group->title, first_extruder_title, group->icon); } Thaw(); @@ -5921,15 +5985,6 @@ void TabPrinter::reload_config() if (m_active_page && m_active_page->title() == "Multimaterial") m_active_page->set_value("extruders_count", int(m_extruders_count)); - // m_opt_map-driven reload does not cover printer_agent, so sync this custom field explicitly. - if (Field* agent_field = get_field("printer_agent")) - { - if (auto* choice = dynamic_cast<PrinterAgentChoice*>(agent_field); choice && choice->getWindow()) - { - const std::string selected_agent = m_config->opt_string("printer_agent"); - choice->set_value(selected_agent, false); - } - } } void TabPrinter::activate_selected_page(std::function<void()> throw_if_canceled) @@ -5941,15 +5996,6 @@ void TabPrinter::activate_selected_page(std::function<void()> throw_if_canceled) if (m_active_page && m_active_page->title() == "Multimaterial") m_active_page->set_value("extruders_count", int(m_extruders_count)); - // m_opt_map-driven reload does not cover printer_agent, so sync this custom field explicitly. - if (Field* agent_field = get_field("printer_agent")) - { - if (auto* choice = dynamic_cast<PrinterAgentChoice*>(agent_field); choice && choice->getWindow()) - { - const std::string selected_agent = m_config->opt_string("printer_agent"); - choice->set_value(selected_agent, false); - } - } } void TabPrinter::clear_pages() @@ -6924,6 +6970,20 @@ bool Tab::select_preset( } load_current_preset(); + { + Slic3r::LifecycleEventContext ctx; + ctx.name = preset_name; + ctx.code = Slic3r::LifecycleEvtCode::Ok; + switch (m_type) { + case Preset::TYPE_PRINT: ctx.msg = "print"; break; + case Preset::TYPE_SLA_PRINT: ctx.msg = "sla_print"; break; + case Preset::TYPE_FILAMENT: ctx.msg = "filament"; break; + case Preset::TYPE_SLA_MATERIAL: ctx.msg = "sla_material"; break; + case Preset::TYPE_PRINTER: ctx.msg = "printer"; break; + default: break; + } + Slic3r::fire_lifecycle_event(Slic3r::LifecycleEvent::PresetSelected, ctx); + } if (delete_third_printer) { wxGetApp().CallAfter([filament_presets, process_presets]() { @@ -7104,6 +7164,22 @@ void Tab::restore_last_select_item() m_tabctrl->SelectItem(item); } +bool Tab::page_build_pending() const +{ + return m_active_page != nullptr && (m_active_page->build_pending() || m_active_page->visibility_pending()); +} + +bool Tab::page_build_step() +{ + if (m_active_page == nullptr) + return false; + if (m_active_page->build_pending()) + m_active_page->build_step(m_mode); + else + m_active_page->update_visibility(m_mode, true); + return page_build_pending(); +} + void Tab::update_description_lines() { if (m_active_page && m_active_page->title() == "Dependencies" && m_parent_preset_description_line) @@ -7115,6 +7191,14 @@ void Tab::activate_selected_page(std::function<void()> throw_if_canceled) if (!m_active_page) return; +#ifdef __WXGTK__ + // Builds the page off screen, since GTK crashes when it desensitizes a multiline text view + // that was built on screen and hidden before its first size allocation. + const bool hide_view = m_active_page->build_pending() && m_page_view->IsShown(); + if (hide_view) + m_page_view->Hide(); + ScopeGuard show_view([this, hide_view] { if (hide_view) m_page_view->Show(); }); +#endif m_active_page->activate(m_mode, throw_if_canceled); update_changed_ui(); update_description_lines(); @@ -7320,7 +7404,7 @@ void Tab::OnKeyDown(wxKeyEvent& event) void Tab::compare_preset() { - wxGetApp().mainframe->diff_dialog.show(m_type); + DiffPresetDialog::ensure()->show(m_type); } void Tab::transfer_options(const std::string &name_from, const std::string &name_to, std::vector<std::string> options) @@ -7488,8 +7572,10 @@ void Tab::save_preset(std::string name /*= ""*/, bool detach, bool save_to_proje wxGetApp().get_tab(preset_type)->update_tab_ui(); } - // update preset comboboxes in DiffPresetDlg - wxGetApp().mainframe->diff_dialog.update_presets(m_type); + // show() reloads the presets, so only a visible Compare dialog needs updating. + DiffPresetDialog* diff_dialog = DiffPresetDialog::if_built(); + if (diff_dialog != nullptr && diff_dialog->IsShown()) + diff_dialog->update_presets(m_type); } // Called for a currently selected preset. @@ -7876,10 +7962,10 @@ wxSizer* TabPrinter::create_bed_shape_widget(wxWindow* parent) })); { - Search::OptionsSearcher& searcher = wxGetApp().sidebar().get_searcher(); - const Search::GroupAndCategory& gc = searcher.get_group_and_category("printable_area"); - searcher.add_key("bed_custom_texture", m_type, gc.group, gc.category); - searcher.add_key("bed_custom_model", m_type, gc.group, gc.category); + Search::SettingsIndex& index = wxGetApp().sidebar().settings_index(); + const Search::GroupAndCategory& gc = index.get_group_and_category("printable_area"); + index.add_key("bed_custom_texture", m_type, gc.group, gc.category, gc.icon); + index.add_key("bed_custom_model", m_type, gc.group, gc.category, gc.icon); } return sizer; @@ -8362,17 +8448,19 @@ void Tab::sync_excluder() Preset & printer_preset = m_preset_bundle->printers.get_edited_preset(); auto nozzle_volumes = m_preset_bundle->project_config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type"); auto extruders = printer_preset.config.option<ConfigOptionEnumsGeneric>("extruder_type"); + // Motion ability options hold a (normal, silent) pair per variant, so switch_excluder indexes that page with stride 2. + const int stride = m_active_page->title().StartsWith("Motion ability") ? 2 : 1; auto get_index_for_extruder = - [this, &extruders, variant_keys = extruder_variant_keys[m_type >= Preset::TYPE_COUNT ? Preset::TYPE_PRINT : m_type]](int extruder_id, NozzleVolumeType nozzle_type) { + [this, &extruders, stride, variant_keys = extruder_variant_keys[m_type >= Preset::TYPE_COUNT ? Preset::TYPE_PRINT : m_type]](int extruder_id, NozzleVolumeType nozzle_type) { return m_config->get_index_for_extruder(extruder_id + 1, variant_keys.first, - ExtruderType(extruders->values[extruder_id]), nozzle_type, variant_keys.second); + ExtruderType(extruders->values[extruder_id]), nozzle_type, variant_keys.second, stride); }; int active_index = get_current_active_extruder(); auto active_nozzle = get_actual_nozzle_volume_type(active_index); int from_index = get_index_for_extruder(active_index, active_nozzle); int dest_index = get_index_for_extruder(1 - active_index, active_nozzle); - auto from_str = std::to_string(from_index); - auto dest_str = std::to_string(dest_index); + if (from_index < 0 || dest_index < 0) // no variant column for this nozzle on one of the extruders + return; auto dirty_options = m_presets->current_dirty_options(true); DynamicConfig config_origin, config_to_apply; for (int i = 0; i < dirty_options.size(); ++i) { @@ -8385,16 +8473,21 @@ void Tab::sync_excluder() if (field == nullptr || line == nullptr) continue; ++n; - bool dirty = opt.substr(n) == from_str; + auto is_from_slot = [&](const std::string &dirty_opt) { + int slot = std::atoi(dirty_opt.c_str() + n); + return slot >= from_index && slot < from_index + stride; + }; + bool dirty = is_from_slot(opt); while (i + 1 < dirty_options.size() && dirty_options[i + 1].compare(0, n, opt, 0, n) == 0) { - dirty |= dirty_options[i + 1].substr(n) == from_str; + dirty |= is_from_slot(dirty_options[i + 1]); ++i; } if (dirty) { auto key = opt.substr(0, n - 1); auto option = dynamic_cast<ConfigOptionVectorBase*>(m_config->option(key)); auto option2 = dynamic_cast<ConfigOptionVectorBase*>(option->clone()); - option2->set_at(option, dest_index, from_index); + for (int s = 0; s < stride; ++s) + option2->set_at(option, dest_index + s, from_index + s); if (*option == *option2) { delete option2; continue; @@ -8515,6 +8608,8 @@ void Page::update_visibility(ConfigOptionMode mode, bool update_contolls_visibil } m_show = ret_val; + if (update_contolls_visibility) + m_visibility_applied = true; #ifdef __WXMSW__ if (!m_show) return; // BBS: fix field control position @@ -8542,20 +8637,8 @@ void Page::activate(ConfigOptionMode mode, std::function<void()> throw_if_cancel #else //m_vsizer->AddSpacer(10); #endif -#if HIDE_FIRST_SPLIT_LINE - // BBS: no line spliter for first group - bool first = true; -#endif - for (auto group : m_optgroups) { - if (!group->activate(throw_if_canceled)) - continue; - m_vsizer->Add(group->sizer, 0, wxEXPAND | (group->is_legend_line() ? (wxLEFT|wxTOP) : wxALL), m_parent->FromDIP(5)); // ORCA use less margin on parameters section - group->update_visibility(mode); -#if HIDE_FIRST_SPLIT_LINE - if (first) group->stb->Hide(); - first = false; -#endif - group->reload_config(); + for (size_t i = 0; i < m_optgroups.size(); ++i) { + activate_group(i, mode, throw_if_canceled); throw_if_canceled(); } @@ -8574,11 +8657,48 @@ void Page::activate(ConfigOptionMode mode, std::function<void()> throw_if_cancel #endif } +// Builds one option group; false when it already has its controls. +bool Page::activate_group(size_t i, ConfigOptionMode mode, std::function<void()> throw_if_canceled) +{ + auto& group = m_optgroups[i]; + if (!group->activate(throw_if_canceled)) + return false; + m_visibility_applied = false; + m_vsizer->Add(group->sizer, 0, wxEXPAND | (group->is_legend_line() ? (wxLEFT|wxTOP) : wxALL), m_parent->FromDIP(5)); // ORCA use less margin on parameters section + group->update_visibility(mode); +#if HIDE_FIRST_SPLIT_LINE + // BBS: no line spliter for first group + if (i == 0) group->stb->Hide(); +#endif + group->reload_config(); + return true; +} + +// The first group without controls. +size_t Page::next_group_to_build() const +{ + return std::find_if(m_optgroups.begin(), m_optgroups.end(), [](const auto& group) { return !group->is_activated(); }) - m_optgroups.begin(); +} + +bool Page::build_pending() const +{ + return next_group_to_build() < m_optgroups.size(); +} + +bool Page::build_step(ConfigOptionMode mode) +{ + const size_t i = next_group_to_build(); + if (i < m_optgroups.size()) + activate_group(i, mode, [] {}); + return build_pending(); +} + void Page::clear() { for (auto group : m_optgroups) group->clear(); m_page_title = NULL; + m_visibility_applied = false; } void Page::msw_rescale() diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 5069b76417..fa8a7ae68b 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -30,7 +30,6 @@ #include <memory> //#include "BedShapeDialog.hpp" -#include "Event.hpp" #include "wxExtensions.hpp" #include "ConfigManipulation.hpp" #include "OptionsGroup.hpp" @@ -38,7 +37,6 @@ //BBS: GUI refactor #include "Notebook.hpp" #include "ParamsPanel.hpp" -#include "Widgets/RoundedRectangle.hpp" #include "Widgets/TextInput.hpp" #include "Widgets/CheckBox.hpp" // ORCA @@ -73,6 +71,7 @@ class Page: public std::enable_shared_from_this<Page>// : public wxScrolledWindo // BBS: new layout wxStaticText* m_page_title; bool m_show = true; + bool m_visibility_applied = false; public: //BBS: GUI refactor Page(wxWindow* parent, const wxString& title, int iconID, wxPanel* tab_owner); @@ -96,6 +95,12 @@ public: void reload_config(); void update_visibility(ConfigOptionMode mode, bool update_contolls_visibility); void activate(ConfigOptionMode mode, std::function<void()> throw_if_canceled); + // Whether an option group has no controls yet. + bool build_pending() const; + // Builds the next option group that has no controls yet; true while some remain. + bool build_step(ConfigOptionMode mode); + // Whether the controls have not been shown or hidden for a mode since they were built. + bool visibility_pending() const { return !m_visibility_applied; } void clear(); void msw_rescale(); void sys_color_changed(); @@ -123,6 +128,8 @@ public: std::map<std::string, std::string> m_opt_id_map; protected: + size_t next_group_to_build() const; + bool activate_group(size_t i, ConfigOptionMode mode, std::function<void()> throw_if_canceled); // Color of TreeCtrlItem. The wxColour will be updated only if the new wxColour pointer differs from the currently rendered one. const wxColour* m_item_color; }; @@ -403,6 +410,16 @@ public: void toggle_option(const std::string &opt_key, bool toggle, int opt_index = -1); void toggle_line(const std::string &opt_key, bool toggle, int opt_index = -1); // BBS: hide some line void set_option_label(const std::string &opt_key, const wxString &label, int opt_index = -1); + + // Live state of the settings row that owns an option, read from the built pages. + struct SettingRowState + { + bool visible{true}; // false when ConfigManipulation hides the row + wxString label; // Line::label the row draws (may change at runtime) + bool multi{false}; // row packs several options, so label is precomposed + }; + SettingRowState setting_row_state(const std::string &opt_id) const; + wxSizer* description_line_widget(wxWindow* parent, ogStaticText** StaticText, wxString text = wxEmptyString); bool current_preset_is_dirty() const; bool saved_preset_is_dirty() const; @@ -429,6 +446,10 @@ public: // BBS: new layout void set_expanded(bool value); void restore_last_select_item(); + // page_build_pending() says whether the selected page has groups without controls or controls + // not yet shown for the mode, and page_build_step() does the next of those. + bool page_build_pending() const; + bool page_build_step(); static bool validate_custom_gcode(const wxString& title, const std::string& gcode); bool validate_custom_gcodes(); @@ -472,6 +493,7 @@ protected: std::string m_last_sparse_infill_rotate_template_value; ConfigManipulation get_config_manipulation(); friend class EditGCodeDialog; + friend class PublishSettingsDialog; }; class TabPrint : public Tab @@ -630,7 +652,6 @@ private: std::vector<PageShp> m_pages_fff; std::vector<PageShp> m_pages_sla; - wxBoxSizer* m_presets_sizer {nullptr}; public: ScalableButton* m_reset_to_filament_color = nullptr; diff --git a/src/slic3r/GUI/TaskManager.cpp b/src/slic3r/GUI/TaskManager.cpp index d294d140c5..64f3e5d6a5 100644 --- a/src/slic3r/GUI/TaskManager.cpp +++ b/src/slic3r/GUI/TaskManager.cpp @@ -1,10 +1,13 @@ #include "TaskManager.hpp" #include "libslic3r/Thread.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include "nlohmann/json.hpp" #include "MainFrame.hpp" #include "GUI_App.hpp" +#include <exception> + using namespace nlohmann; namespace Slic3r { @@ -214,17 +217,34 @@ int TaskManager::schedule(TaskStateInfo* task) boost::thread* new_sending_thread = new boost::thread(); *new_sending_thread = Slic3r::create_thread( [this, task] { + // Keep both lifecycle callbacks on this per-task worker thread. Plugin observers can + // therefore associate Started and Finished for one task with a single execution context. + LifecycleEventContext start_ctx; + start_ctx.name = task->params().project_name; + start_ctx.device_id = task->params().dev_id; + start_ctx.job_id = std::to_string(task->task_info_id); + start_ctx.source = "task_manager"; + fire_lifecycle_event(LifecycleEvent::PrintJobStarted, start_ctx); + + int result = -1; if (!m_agent) { BOOST_LOG_TRIVIAL(trace) << "task_manager: NetworkAgent is nullptr"; - return; } - assert(m_agent); + else { + assert(m_agent); + try { // DEBUG FOR TEST #if 0 - int result = start_print_test(task->get_params(), task->update_status_fn, task->cancel_fn, task->wait_fn); + result = start_print_test(task->get_params(), task->update_status_fn, task->cancel_fn, task->wait_fn); #else - int result = m_agent->start_print(task->get_params(), task->update_status_fn, task->cancel_fn, task->wait_fn); + result = m_agent->start_print(task->get_params(), task->update_status_fn, task->cancel_fn, task->wait_fn); #endif + } catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(error) << "task_manager: start_print threw: " << ex.what(); + } catch (...) { + BOOST_LOG_TRIVIAL(error) << "task_manager: start_print threw an unknown exception"; + } + } if (result == 0) { last_sent_timestamp = std::chrono::system_clock::now(); task->set_sent_time(last_sent_timestamp); @@ -237,6 +257,16 @@ int TaskManager::schedule(TaskStateInfo* task) task->set_state(TaskState::TS_SEND_CANCELED); } } + + LifecycleEventContext finish_ctx; + finish_ctx.name = task->params().project_name; + finish_ctx.device_id = task->params().dev_id; + finish_ctx.job_id = std::to_string(task->task_info_id); + finish_ctx.source = "task_manager"; + finish_ctx.code = result == 0 ? LifecycleEvtCode::Ok : + (task->is_canceled() ? LifecycleEvtCode::Warn : LifecycleEvtCode::Error); + finish_ctx.msg = result == 0 ? "" : (task->is_canceled() ? "cancelled" : "failed"); + fire_lifecycle_event(LifecycleEvent::PrintJobFinished, finish_ctx); /* remove from sending task list */ m_scedule_mutex.lock(); diff --git a/src/slic3r/GUI/TextureImportDialog.cpp b/src/slic3r/GUI/TextureImportDialog.cpp index 1a24799a15..7296a1ebeb 100644 --- a/src/slic3r/GUI/TextureImportDialog.cpp +++ b/src/slic3r/GUI/TextureImportDialog.cpp @@ -134,7 +134,9 @@ public: } private: +#if defined(__WXMSW__) || defined(__APPLE__) int m_suspended_count = 0; +#endif }; static bool needs_filament_swatch_border(const wxColour& colour) @@ -519,7 +521,6 @@ public: , m_entries(entries) , m_colors_rgba(colors_rgba) , m_names(names) - , m_existing_count(existing_count) , m_dialog_anchor(dialog_anchor) , m_on_select(std::move(on_select)) , m_on_add_filament(std::move(on_add_filament)) @@ -533,7 +534,7 @@ public: m_content = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); m_content->SetBackgroundColour(pop_bg); - m_content->SetScrollRate(0, FromDIP(5)); + m_content->SetScrollRate(0, FromDIP(20)); auto* outer = new wxBoxSizer(wxVERTICAL); const int pop_w = std::max(FromDIP(213), popup_width); @@ -877,7 +878,6 @@ private: std::vector<TextureFilamentEntry> m_entries; std::vector<std::array<float, 4>> m_colors_rgba; std::vector<std::string> m_names; - size_t m_existing_count = 0; wxWindow* m_dialog_anchor = nullptr; std::function<void(int)> m_on_select; std::function<void(wxColour)> m_on_add_filament; @@ -2274,7 +2274,7 @@ void TextureImportDialog::build_mapping_panel(wxWindow* parent, wxSizer* sizer) m_mapping_scroll = new wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(-1, FromDIP(300))); - m_mapping_scroll->SetScrollRate(0, FromDIP(10)); + m_mapping_scroll->SetScrollRate(0, FromDIP(20)); m_mapping_scroll->SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE)); m_mapping_scroll->Bind(wxEVT_MOUSEWHEEL, &TextureImportDialog::dismiss_filament_popup_on_wheel, this); @@ -4335,7 +4335,7 @@ void TextureImportDialog::on_dpi_changed(const wxRect&) if (m_mapping_scroll) { m_mapping_scroll->SetMinSize(wxSize(-1, FromDIP(300))); - m_mapping_scroll->SetScrollRate(0, FromDIP(10)); + m_mapping_scroll->SetScrollRate(0, FromDIP(20)); } if (m_btn_skip) { diff --git a/src/slic3r/GUI/TroubleshootDialog.cpp b/src/slic3r/GUI/TroubleshootDialog.cpp index 5acb75c6ea..7cbb00b5d8 100644 --- a/src/slic3r/GUI/TroubleshootDialog.cpp +++ b/src/slic3r/GUI/TroubleshootDialog.cpp @@ -6,6 +6,8 @@ #include "GUI_App.hpp" #include "MainFrame.hpp" +#include <wx/filename.h> +#include <wx/stdpaths.h> #include <wx/display.h> #include <wx/wfstream.h> #include "wx/clipbrd.h" diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index 5c69466cfa..df809396f5 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -12,6 +12,7 @@ #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Color.hpp" #include "format.hpp" +#include "ConfigValueFormatter.hpp" #include "GUI_App.hpp" #include "Plater.hpp" #include "Tab.hpp" @@ -22,7 +23,6 @@ #include "MsgDialog.hpp" #include "PresetComboBoxes.hpp" -#include "Widgets/RoundedRectangle.hpp" #include "Widgets/CheckBox.hpp" #include "Widgets/DialogButtons.hpp" #include "Widgets/HyperLink.hpp" @@ -571,14 +571,6 @@ void DiffModel::Clear() } -static std::string get_pure_opt_key(std::string opt_key) -{ - const int pos = opt_key.find("#"); - if (pos > 0) - boost::erase_tail(opt_key, opt_key.size() - pos); - return opt_key; -} - // ---------------------------------------------------------------------------- // DiffViewCtrl // ---------------------------------------------------------------------------- @@ -950,7 +942,7 @@ void UnsavedChangesDialog::build(Preset::Type type, PresetCollection *dependent_ m_sizer_tab->Add(m_table_top, 1, 0, 0); m_scrolledWindow = new wxScrolledWindow(m_panel_tab, wxID_ANY, wxDefaultPosition, UNSAVE_CHANGE_DIALOG_SCROLL_WINDOW_SIZE, wxNO_BORDER|wxVSCROLL); - m_scrolledWindow->SetScrollRate(0, 5); + m_scrolledWindow->SetScrollRate(0, FromDIP(20)); m_scrolledWindow->SetBackgroundColour(GREY200); m_sizer_bottom = new wxBoxSizer(wxVERTICAL); m_sizer_bottom->Add(m_scrolledWindow, 1, wxEXPAND, 0); @@ -1212,32 +1204,6 @@ bool UnsavedChangesDialog::save(PresetCollection* dependent_presets, bool show_s return true; } -wxString get_string_from_enum(const std::string& opt_key, const DynamicPrintConfig& config, bool is_infill = false, int idx = -1) -{ - const ConfigOptionDef& def = config.def()->options.at(opt_key); - const std::vector<std::string>& names = def.enum_labels;//ConfigOptionEnum<T>::get_enum_names(); - int val = 0; - - if (idx >= 0) - val = dynamic_cast<const ConfigOptionInts*>(config.option(opt_key))->get_at(idx); - else - val = config.option(opt_key)->getInt(); - - // Each infill doesn't use all list of infill declared in PrintConfig.hpp. - // So we should "convert" val to the correct one - if (is_infill) { - for (auto key_val : *def.enum_keys_map) - if (int(key_val.second) == val) { - auto it = std::find(def.enum_values.begin(), def.enum_values.end(), key_val.first); - if (it == def.enum_values.end()) - return ""; - return from_u8(_utf8(names[it - def.enum_values.begin()])); - } - return _L("Undefined"); - } - return from_u8(_utf8(names[val])); -} - // BBS #if 0 static size_t get_id_from_opt_key(std::string opt_key) @@ -1251,194 +1217,6 @@ static size_t get_id_from_opt_key(std::string opt_key) } #endif -static wxString get_full_label(std::string opt_key, const DynamicPrintConfig& config) -{ - opt_key = get_pure_opt_key(opt_key); - auto option = config.option(opt_key); - - if (!option || option->is_nil()) - return _L("N/A"); - - const ConfigOptionDef* opt = config.def()->get(opt_key); - return opt->full_label.empty() ? opt->label : opt->full_label; -} - -static wxString get_string_value(std::string opt_key, const DynamicPrintConfig& config) -{ - int orig_opt_idx = -1; - int opt_idx = -1; - int pos = opt_key.find("#"); - std::string temp_str = opt_key; - if (pos > 0) { - boost::erase_head(temp_str, pos + 1); - orig_opt_idx = static_cast<size_t>(atoi(temp_str.c_str())); - } - opt_idx = orig_opt_idx >= 0 ? orig_opt_idx : 0; - opt_key = get_pure_opt_key(opt_key); - auto option = config.option(opt_key); - if (!option) { - return _L("N/A"); - } - auto opt_vector = dynamic_cast<const ConfigOptionVectorBase *>(option); - - if (option->is_scalar() && config.option(opt_key)->is_nil() || - option->is_vector() && opt_vector && opt_idx >= 0 && opt_idx < opt_vector->size() && opt_vector->is_nil(opt_idx)) - return _L("N/A"); - - wxString out; - - const ConfigOptionDef* opt = config.def()->get(opt_key); - bool is_nullable = opt->nullable; - - switch (opt->type) { - case coInt: - return from_u8((boost::format("%1%") % config.opt_int(opt_key)).str()); - case coInts: { - if (is_nullable) { - auto values = config.opt<ConfigOptionIntsNullable>(opt_key); - if (opt_idx < values->size()) - return from_u8((boost::format("%1%") % values->get_at(opt_idx)).str()); - } - else { - auto values = config.opt<ConfigOptionInts>(opt_key); - if (orig_opt_idx >= 0 && orig_opt_idx < values->size()) { - return from_u8((boost::format("%1%") % values->get_at(opt_idx)).str()); - } - else { - std::string value_str; - for (int i = 0; i < values->size(); i++) { - value_str += std::to_string(values->get_at(i)); - if (i != values->size() - 1) { - value_str += ","; - } - } - return from_u8(value_str); - } - } - return _L("Undefined"); - } - case coBool: - return config.opt_bool(opt_key) ? "true" : "false"; - case coBools: { - if (is_nullable) { - auto values = config.opt<ConfigOptionBoolsNullable>(opt_key); - if (opt_idx < values->size()) - return values->get_at(opt_idx) ? "true" : "false"; - } - else { - auto values = config.opt<ConfigOptionBools>(opt_key); - if (opt_idx < values->size()) - return values->get_at(opt_idx) ? "true" : "false"; - } - return _L("Undefined"); - } - case coPercent: - return from_u8((boost::format("%1%%%") % int(config.optptr(opt_key)->getFloat())).str()); - case coPercents: { - if (is_nullable) { - auto values = config.opt<ConfigOptionPercentsNullable>(opt_key); - if (opt_idx < values->size()) - return from_u8((boost::format("%1%%%") % values->get_at(opt_idx)).str()); - } - else { - auto values = config.opt<ConfigOptionPercents>(opt_key); - if (opt_idx < values->size()) - return from_u8((boost::format("%1%%%") % values->get_at(opt_idx)).str()); - } - return _L("Undefined"); - } - case coFloat: - return double_to_string(config.opt_float(opt_key)); - case coFloats: { - if (is_nullable) { - auto values = config.opt<ConfigOptionFloatsNullable>(opt_key); - if (opt_idx < values->size()) - return double_to_string(values->get_at(opt_idx)); - } - else { - auto values = config.opt<ConfigOptionFloats>(opt_key); - if (values && opt_idx < values->size()) - return double_to_string(values->get_at(opt_idx)); - } - return _L("Undefined"); - } - case coString: - return from_u8(config.opt_string(opt_key)); - case coStrings: { - const ConfigOptionStrings* strings = config.opt<ConfigOptionStrings>(opt_key); - if (strings) { - if (opt_key == "compatible_printers" || opt_key == "compatible_prints") { - if (strings->empty()) - return _L("All"); - for (size_t id = 0; id < strings->size(); id++) - out += from_u8(strings->get_at(id)) + "\n"; - out.RemoveLast(1); - return out; - } - if (!strings->empty() && opt_idx < strings->values.size()) - return from_u8(strings->get_at(opt_idx)); - } - break; - } - case coFloatOrPercent: { - const ConfigOptionFloatOrPercent* opt = config.opt<ConfigOptionFloatOrPercent>(opt_key); - if (opt) - out = double_to_string(opt->value) + (opt->percent ? "%" : ""); - return out; - } - case coEnum: { - return get_string_from_enum(opt_key, config, - opt_key == "top_surface_pattern" || - opt_key == "bottom_surface_pattern" || - opt_key == "internal_solid_infill_pattern" || - opt_key == "sparse_infill_pattern" || - opt_key == "ironing_pattern" || - opt_key == "support_ironing_pattern" || - opt_key == "support_pattern" || - opt_key == "support_interface_pattern") - ; - } - case coEnums: { - return get_string_from_enum(opt_key, config, - opt_key == "top_surface_pattern" || - opt_key == "bottom_surface_pattern" || - opt_key == "internal_solid_infill_pattern" || - opt_key == "sparse_infill_pattern" || - opt_key == "ironing_pattern" || - opt_key == "support_ironing_pattern" || - opt_key == "support_pattern" || - opt_key == "support_interface_pattern" - , opt_idx); - } - case coPoint: { - Vec2d val = config.opt<ConfigOptionPoint>(opt_key)->value; - return from_u8((boost::format("[%1%]") % ConfigOptionPoint(val).serialize()).str()); - } - case coPoints: { - //BBS: add bed_exclude_area - if (opt_key == "printable_area" || opt_key == "thumbnails") { - ConfigOptionPoints points = *config.option<ConfigOptionPoints>(opt_key); - //BuildVolume build_volume = {points.values, 0.}; - return get_thumbnails_string(points.values); - } - else if (opt_key == "bed_exclude_area") { - return get_thumbnails_string(config.option<ConfigOptionPoints>(opt_key)->values); - } - else if (opt_key == "head_wrap_detect_zone") { - return get_thumbnails_string(config.option<ConfigOptionPoints>(opt_key)->values); - } - else if (opt_key == "wrapping_exclude_area") { - return get_thumbnails_string(config.option<ConfigOptionPoints>(opt_key)->values); - } - Vec2d val = config.opt<ConfigOptionPoints>(opt_key)->get_at(opt_idx); - return from_u8((boost::format("[%1%]") % ConfigOptionPoint(val).serialize()).str()); - } - default: - break; - } - return out; -} - void UnsavedChangesDialog::update(Preset::Type type, PresetCollection* dependent_presets, const std::string& new_selected_preset, const wxString& header) { PresetCollection* presets = dependent_presets; @@ -1707,12 +1485,20 @@ std::string UnsavedChangesDialog::subreplace(std::string resource_str, std::stri void UnsavedChangesDialog::update_tree(Preset::Type type, DynamicConfig * config, int from, int to) { - Search::OptionsSearcher &searcher = wxGetApp().sidebar().get_searcher(); - searcher.sort_options_by_key(); + Search::SettingsIndex &index = wxGetApp().sidebar().settings_index(); + index.sort_options_by_key(); for (const std::string &opt_key : config->keys()) { int variant_index = -2; - const Search::Option &option = searcher.get_option(opt_key, type, variant_index); + Search::Option option = index.get_option(opt_key, type, variant_index); + if (variant_index == -2) { + // Orca: Every transferred setting must remain visible even when it is absent from the search index. + const ConfigOptionDef* def = print_config_def.get(opt_key); + const std::string label = def ? (def->full_label.empty() ? def->label : def->full_label) : std::string(); + option.label_local = (label.empty() ? from_u8(opt_key) : _L(label)).ToStdWstring(); + option.category_local = (def && !def->category.empty() ? + Tab::translate_category(from_u8(def->category), type) : _L("Others")).ToStdWstring(); + } auto category = option.category_local; auto opt = dynamic_cast<ConfigOptionVectorBase*>(config->option(opt_key)); std::string value_from = opt->vserialize()[from]; @@ -1724,8 +1510,8 @@ void UnsavedChangesDialog::update_tree(Preset::Type type, DynamicConfig * config void UnsavedChangesDialog::update_tree(Preset::Type type, PresetCollection* presets_) { - Search::OptionsSearcher& searcher = wxGetApp().sidebar().get_searcher(); - searcher.sort_options_by_key(); + Search::SettingsIndex& index = wxGetApp().sidebar().settings_index(); + index.sort_options_by_key(); // list of the presets with unsaved changes std::vector<PresetCollection*> presets_list; @@ -1740,6 +1526,8 @@ void UnsavedChangesDialog::update_tree(Preset::Type type, PresetCollection* pres else presets_list.emplace_back(presets_); + const bool multiple_extruders = wxGetApp().preset_bundle->get_printer_extruder_count() > 1; + // Display a dialog showing the dirty options in a human readable form. for (PresetCollection* presets : presets_list) { @@ -1775,29 +1563,41 @@ void UnsavedChangesDialog::update_tree(Preset::Type type, PresetCollection* pres auto variant_key = Preset::get_iot_type_string(type) + "_extruder_variant"; auto id_key = Preset::get_iot_type_string(type) + "_extruder_id"; - auto extruder_variant = dynamic_cast<ConfigOptionStrings const *>(old_config.option(variant_key)); - auto extruder_id = dynamic_cast<ConfigOptionInts const *>(old_config.option(id_key)); + // Orca: Dirty indices belong to the edited config, which may contain newly added variants. + auto extruder_variant = dynamic_cast<ConfigOptionStrings const *>(new_config.option(variant_key)); + auto extruder_id = dynamic_cast<ConfigOptionInts const *>(new_config.option(id_key)); for (const std::string& opt_key : dirty_options) { int variant_index = -2; - const Search::Option &option = searcher.get_option(opt_key, type, variant_index); - if (option.opt_key() != opt_key && variant_index < -1) { + const Search::Option &option = index.get_option(opt_key, type, variant_index); + if (variant_index == -2) { // When founded option isn't the correct one. // It can be for dirty_options: "default_print_profile", "printer_model", "printer_settings_id", - // because of they don't exist in searcher + // because of they don't exist in the index continue; } - auto category = option.category_local; - if (variant_index >= 0) { - if (printer_options_with_variant_2.count(opt_key.substr(0, opt_key.find_last_of('#'))) > 0) - variant_index /= 2; - if (boost::nowide::narrow(category).find("Extruder ") == 0) - category = category.substr(0, 8); - if (extruder_id) - category = category + (wxString(" {") + (extruder_id->values[variant_index] == 1 ? _L("Left: ") : _L("Right: ")) - + L(extruder_variant->values[variant_index]) + "}"); - else - category = category + (wxString(" {") + L(extruder_variant->values[variant_index]) + "}"); + wxString category = option.category_local; + wxString label = option.label_local; + if (type == Preset::TYPE_PRINTER && variant_index >= 0 && + printer_options_with_variant_2.count(get_pure_opt_key(opt_key)) > 0) { + // Orca: silent_mode is obsolete on import, but its option and two-column UI still exist. + // Keep mode labels for configs that explicitly enable it; omit them in the default single-mode UI. + if (new_config.opt_bool("silent_mode")) + label += " (" + (variant_index % 2 == 0 ? _L("Normal") : _L("Silent")) + ")"; + variant_index /= 2; + } + if (variant_index >= 0 && extruder_variant && variant_index < extruder_variant->size()) { + // Orca: Match the untranslated category and use the same extruder names as the printer tabs. + if (option.category.compare(0, 9, L"Extruder ") == 0) + category = _L("Extruder"); + wxString variant_label = L(extruder_variant->values[variant_index]); + // Orca: An extruder name only disambiguates variants on printers with multiple extruders. + if (multiple_extruders && extruder_id && variant_index < extruder_id->size() && extruder_id->values[variant_index] > 0) { + const wxString extruder_name = Tab::translate_category( + wxString::Format("Extruder %d", extruder_id->values[variant_index]), Preset::TYPE_PRINTER); + variant_label = extruder_name + " (" + variant_label + ")"; + } + category = variant_label + ": " + category; } /*m_tree->Append(opt_key, type, option.category_local, option.group_local, option.label_local, @@ -1806,14 +1606,14 @@ void UnsavedChangesDialog::update_tree(Preset::Type type, PresetCollection* pres //PresetItem pi = {opt_key, type, 1983}; //m_presetitems.push_back() - PresetItem pi = {type, opt_key, category, option.group_local, option.label_local, get_string_value(opt_key, old_config), get_string_value(opt_key, new_config)}; + PresetItem pi = {type, opt_key, category, option.group_local, label, get_string_value(opt_key, old_config), get_string_value(opt_key, new_config)}; m_presetitems.push_back(pi); } } - // Revert sort of searcher back - searcher.sort_options_by_label(); + // Revert sort of index back + index.sort_options_by_label(); } void UnsavedChangesDialog::on_dpi_changed(const wxRect& suggested_rect) @@ -2162,8 +1962,9 @@ DiffPresetDialog::DiffPresetDialog(MainFrame* mainframe) assert(wxGetApp().preset_bundle); - m_preset_bundle_left = std::make_unique<PresetBundle>(*wxGetApp().preset_bundle); - m_preset_bundle_right = std::make_unique<PresetBundle>(*wxGetApp().preset_bundle); + // show() copies the app's bundle into both before anything is displayed. + m_preset_bundle_left = std::make_unique<PresetBundle>(); + m_preset_bundle_right = std::make_unique<PresetBundle>(); // Create UI items @@ -2265,8 +2066,8 @@ void DiffPresetDialog::update_bottom_info(wxString bottom_info) void DiffPresetDialog::update_tree() { - Search::OptionsSearcher& searcher = wxGetApp().sidebar().get_searcher(); - searcher.sort_options_by_key(); + Search::SettingsIndex& index = wxGetApp().sidebar().settings_index(); + index.sort_options_by_key(); m_tree->Clear(); wxString bottom_info = ""; @@ -2346,14 +2147,14 @@ void DiffPresetDialog::update_tree() wxString right_val = get_string_value(opt_key, right_congig); const std::string lookup_key = get_pure_opt_key(opt_key); - Search::Option option = searcher.get_option(lookup_key, get_full_label(lookup_key, left_config), type); + Search::Option option = index.get_option(lookup_key, get_full_label(lookup_key, left_config), type); if (get_pure_opt_key(option.opt_key()) != lookup_key) - option = searcher.get_option(opt_key, get_full_label(opt_key, left_config), type); + option = index.get_option(opt_key, get_full_label(opt_key, left_config), type); if (get_pure_opt_key(option.opt_key()) != lookup_key) { // When the found option is not the requested one. // This can happen for dirty_options such as: // "default_print_profile", "printer_model", "printer_settings_id", - // because they do not exist in the searcher. + // because they do not exist in the index. continue; } m_tree->Append(opt_key, type, option.category_local, option.group_local, option.label_local, @@ -2377,8 +2178,8 @@ void DiffPresetDialog::update_tree() Refresh(); } - // Revert sort of searcher back - searcher.sort_options_by_label(); + // Revert sort of index back + index.sort_options_by_label(); } void DiffPresetDialog::on_dpi_changed(const wxRect&) diff --git a/src/slic3r/GUI/UnsavedChangesDialog.hpp b/src/slic3r/GUI/UnsavedChangesDialog.hpp index fc6b8043f4..3145434e8c 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.hpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.hpp @@ -10,6 +10,7 @@ #include "libslic3r/PresetBundle.hpp" #include "Widgets/Button.hpp" #include "Widgets/ScrolledWindow.hpp" +#include "Lazy.hpp" class ScalableButton; class wxStaticText; @@ -416,7 +417,7 @@ public: //------------------------------------------ // DiffPresetDialog //------------------------------------------ -class DiffPresetDialog : public DPIDialog +class DiffPresetDialog : public DPIDialog, public LazyInstance<DiffPresetDialog> { DiffViewCtrl* m_tree { nullptr }; wxBoxSizer* m_presets_sizer { nullptr }; diff --git a/src/slic3r/GUI/UpdateDialogs.cpp b/src/slic3r/GUI/UpdateDialogs.cpp index 0710e054f7..42383cd177 100644 --- a/src/slic3r/GUI/UpdateDialogs.cpp +++ b/src/slic3r/GUI/UpdateDialogs.cpp @@ -130,7 +130,7 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector<Update> &updates, bool force_ m_sizer_right->Add(0, 0, 1, wxTOP, FromDIP(15)); auto m_scrollwindw_release_note = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(560), FromDIP(430)),wxVSCROLL); - m_scrollwindw_release_note->SetScrollRate(0, 5); + m_scrollwindw_release_note->SetScrollRate(0, FromDIP(20)); m_scrollwindw_release_note->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8)); m_scrollwindw_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430))); m_scrollwindw_release_note->SetWindowStyle(wxVSCROLL); diff --git a/src/slic3r/GUI/UpdateDialogs.hpp b/src/slic3r/GUI/UpdateDialogs.hpp index 04eb4ffb3c..784c10f09a 100644 --- a/src/slic3r/GUI/UpdateDialogs.hpp +++ b/src/slic3r/GUI/UpdateDialogs.hpp @@ -33,7 +33,6 @@ public: void on_hyperlink(wxHyperlinkEvent& evt); private: - wxCheckBox *cbox; }; diff --git a/src/slic3r/GUI/UpgradePanel.cpp b/src/slic3r/GUI/UpgradePanel.cpp index d31fde8613..5f168025ed 100644 --- a/src/slic3r/GUI/UpgradePanel.cpp +++ b/src/slic3r/GUI/UpgradePanel.cpp @@ -1629,7 +1629,7 @@ UpgradePanel::UpgradePanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, auto m_main_sizer = new wxBoxSizer(wxVERTICAL); m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL); - m_scrolledWindow->SetScrollRate(5, 25); + m_scrolledWindow->SetScrollRate(5, FromDIP(20)); m_machine_list_sizer = new wxBoxSizer(wxVERTICAL); diff --git a/src/slic3r/GUI/UserManager.cpp b/src/slic3r/GUI/UserManager.cpp index 456582e896..e874c2158d 100644 --- a/src/slic3r/GUI/UserManager.cpp +++ b/src/slic3r/GUI/UserManager.cpp @@ -1,9 +1,11 @@ #include "libslic3r/libslic3r.h" #include "UserManager.hpp" #include "DeviceManager.hpp" +#include "BindDialog.hpp" #include "NetworkAgent.hpp" #include "GUI.hpp" #include "GUI_App.hpp" +#include "I18N.hpp" #include "MsgDialog.hpp" #include "DeviceCore/DevManager.h" diff --git a/src/slic3r/GUI/PluginWebDialog.cpp b/src/slic3r/GUI/WebDialog.cpp similarity index 52% rename from src/slic3r/GUI/PluginWebDialog.cpp rename to src/slic3r/GUI/WebDialog.cpp index d89aac7270..8bcb517d87 100644 --- a/src/slic3r/GUI/PluginWebDialog.cpp +++ b/src/slic3r/GUI/WebDialog.cpp @@ -1,11 +1,7 @@ -#include "PluginWebDialog.hpp" +#include "WebDialog.hpp" -#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" - -#include <libslic3r/Utils.hpp> - -#include <boost/filesystem.hpp> +#include "slic3r/GUI/Widgets/WebHosting.hpp" #include <wx/event.h> @@ -13,59 +9,15 @@ namespace Slic3r { namespace GUI { -namespace { - -// Injected into the top-level page at document start (before the plugin's own -// scripts). Defines window.orca as the only host surface the page may use. It -// references window.wx lazily (at call time) so it never races the backend's -// deferred registration of the "wx" message handler. Guarded against -// double-injection so it is harmless if also prepended. -constexpr char ORCA_BRIDGE_JS[] = R"JS( -(function () { - if (window.top !== window.self) return; - if (window.orca) return; - var handlers = []; - function send(kind, data) { - try { - window.wx.postMessage(JSON.stringify({ - channel: 'orca', kind: kind, data: (data === undefined ? null : data) - })); - } catch (e) { /* bridge not ready yet */ } - } - window.orca = { - postMessage: function (d) { send('message', d); }, - submit: function (d) { send('submit', d); }, - close: function () { send('close'); }, - onMessage: function (cb) { if (typeof cb === 'function') handlers.push(cb); } - }; - window.__orcaDispatch = function (payload) { - var data = payload ? payload.data : null; - for (var i = 0; i < handlers.length; i++) { - try { handlers[i](data); } catch (e) {} - } - }; -})(); -)JS"; - -// file:// base URL for plugin HTML loaded via SetPage, so self-referencing -// relative URLs resolve against the bundled web resources directory. -wxString web_base_url() -{ - const std::string dir = (boost::filesystem::path(resources_dir()) / "web").make_preferred().string(); - return wxString("file://") + from_u8(dir) + "/"; -} - -} // namespace - -PluginWebDialog::PluginWebDialog(wxWindow* parent, - const wxString& title, - const std::string& html, - const wxSize& size, - MessageHandler on_message, - SubmitHandler on_submit, - CloseHandler on_close, - CloseHandler on_destroyed, - long wx_style) +WebDialog::WebDialog(wxWindow* parent, + const wxString& title, + const std::string& html, + const wxSize& size, + MessageHandler on_message, + SubmitHandler on_submit, + CloseHandler on_close, + CloseHandler on_destroyed, + long wx_style) : WebViewHostDialog(parent, wxID_ANY, title, wxDefaultPosition, size, wx_style) , m_html(html) , m_on_message(std::move(on_message)) @@ -75,7 +27,7 @@ PluginWebDialog::PluginWebDialog(wxWindow* parent, { // A tiny bundled bootstrap page brings the webview up; the real plugin HTML // is swapped in via SetPage once the bootstrap finishes loading. - create_webview("web/dialog/PluginWebDialog/blank.html", title, size, wxSize(320, 240)); + create_webview(web_hosting::BOOTSTRAP_PAGE, title, size, wxSize(320, 240)); // Paint the window/webview in the themed background so there is no white // flash before the (transparent) bootstrap page and plugin HTML render. @@ -87,21 +39,22 @@ PluginWebDialog::PluginWebDialog(wxWindow* parent, // create_webview() via add_user_scripts(); nothing to add here. // Swap in the plugin HTML once the bootstrap page settles. Bind ERROR too so a // missing/blocked bootstrap resource (e.g. a packaged build) still triggers it. - Bind(wxEVT_WEBVIEW_LOADED, &PluginWebDialog::on_bootstrap_event, this, wv->GetId()); - Bind(wxEVT_WEBVIEW_ERROR, &PluginWebDialog::on_bootstrap_event, this, wv->GetId()); + Bind(wxEVT_WEBVIEW_LOADED, &WebDialog::on_bootstrap_event, this, wv->GetId()); + Bind(wxEVT_WEBVIEW_ERROR, &WebDialog::on_bootstrap_event, this, wv->GetId()); + Bind(wxEVT_WEBVIEW_NAVIGATED, &WebDialog::on_navigated, this, wv->GetId()); } - Bind(wxEVT_CLOSE_WINDOW, &PluginWebDialog::on_close_window, this); + Bind(wxEVT_CLOSE_WINDOW, &WebDialog::on_close_window, this); } -void PluginWebDialog::add_user_scripts() +void WebDialog::add_user_scripts() { if (wxWebView* wv = browser()) { - wv->AddUserScript(wxString::FromUTF8(WebViewHostDialog::plugin_defaults_user_script())); - wv->AddUserScript(ORCA_BRIDGE_JS); + wv->AddUserScript(wxString::FromUTF8(WebViewHostDialog::element_defaults_user_script())); + wv->AddUserScript(wxString::FromUTF8(web_hosting::orca_bridge_script())); } } -PluginWebDialog::~PluginWebDialog() +WebDialog::~WebDialog() { // Runs on every destruction path. Deliberately NOT a wxEVT_DESTROY handler: // that event is sent from the base ~wxDialog(), after this subclass's members @@ -111,19 +64,19 @@ PluginWebDialog::~PluginWebDialog() m_on_destroyed(); } -void PluginWebDialog::post_message(PluginWebDialog* dialog, const nlohmann::json& data) +void WebDialog::post_message(WebDialog* dialog, const nlohmann::json& data) { if (dialog != nullptr && dialog->is_open()) dialog->push_message(data); } -void PluginWebDialog::request_close(PluginWebDialog* dialog) +void WebDialog::request_close(WebDialog* dialog) { if (dialog != nullptr) dialog->Close(); } -void PluginWebDialog::destroy_for_plugin(PluginWebDialog* dialog) +void WebDialog::destroy_silently(WebDialog* dialog) { if (dialog == nullptr) return; @@ -137,24 +90,42 @@ void PluginWebDialog::destroy_for_plugin(PluginWebDialog* dialog) dialog->Destroy(); } -void PluginWebDialog::on_bootstrap_event(wxWebViewEvent& event) +void WebDialog::on_bootstrap_event(wxWebViewEvent& event) { - // The first bootstrap load (or its error) triggers the swap to plugin HTML; - // the resulting plugin-page load is ignored (guarded by m_content_loaded). - load_plugin_content(); + const bool loaded = event.GetEventType() == wxEVT_WEBVIEW_LOADED; + // The first bootstrap load (or its error) triggers the swap to plugin HTML. + if (!m_content_loaded) + load_page_html(); + // WebKit reloads the SetPage base URL, so a committed load of it that we did not start is a reload. + // A failed navigation is reported against the page that stayed but never commits. Edge ignores the + // base URL and restores SetPage content itself, so nothing matches there. + else if (web_hosting::is_content_url(event.GetURL())) { + if (m_own_page_load) + m_own_page_load = false; + else if (loaded && m_content_navigated) + load_page_html(); + } + if (loaded) + m_content_navigated = false; event.Skip(); } -void PluginWebDialog::load_plugin_content() +void WebDialog::on_navigated(wxWebViewEvent& event) { - if (m_content_loaded) - return; - m_content_loaded = true; - if (wxWebView* wv = browser()) - wv->SetPage(wxString::FromUTF8(m_html), web_base_url()); + m_content_navigated = web_hosting::is_content_url(event.GetURL()); + event.Skip(); } -void PluginWebDialog::on_script_message(const nlohmann::json& payload) +void WebDialog::load_page_html() +{ + m_content_loaded = true; + if (wxWebView* wv = browser()) { + m_own_page_load = true; + wv->SetPage(wxString::FromUTF8(m_html), web_hosting::content_base_url()); + } +} + +void WebDialog::on_script_message(const nlohmann::json& payload) { if (payload.value("channel", std::string()) == "orca") { const std::string kind = payload.value("kind", std::string()); @@ -174,7 +145,7 @@ void PluginWebDialog::on_script_message(const nlohmann::json& payload) handle_common_script_command(payload); } -void PluginWebDialog::push_message(const nlohmann::json& data) +void WebDialog::push_message(const nlohmann::json& data) { if (!m_open) return; @@ -183,7 +154,7 @@ void PluginWebDialog::push_message(const nlohmann::json& data) call_web_handler(envelope, wxT("__orcaDispatch")); } -void PluginWebDialog::finish(bool submitted, const nlohmann::json& data) +void WebDialog::finish(bool submitted, const nlohmann::json& data) { if (!m_open) return; @@ -202,7 +173,7 @@ void PluginWebDialog::finish(bool submitted, const nlohmann::json& data) Close(); } -void PluginWebDialog::on_close_window(wxCloseEvent&) +void WebDialog::on_close_window(wxCloseEvent&) { if (!m_open) { // finish() already dispatched submit/close and requested the close. @@ -222,7 +193,7 @@ void PluginWebDialog::on_close_window(wxCloseEvent&) Destroy(); } -void PluginWebDialog::fire_submit(const nlohmann::json& data) +void WebDialog::fire_submit(const nlohmann::json& data) { if (m_on_submit) { SubmitHandler cb = std::move(m_on_submit); @@ -230,7 +201,7 @@ void PluginWebDialog::fire_submit(const nlohmann::json& data) } } -void PluginWebDialog::fire_close() +void WebDialog::fire_close() { if (m_close_fired) return; diff --git a/src/slic3r/GUI/PluginWebDialog.hpp b/src/slic3r/GUI/WebDialog.hpp similarity index 70% rename from src/slic3r/GUI/PluginWebDialog.hpp rename to src/slic3r/GUI/WebDialog.hpp index 05f77f5148..aec5de18ef 100644 --- a/src/slic3r/GUI/PluginWebDialog.hpp +++ b/src/slic3r/GUI/WebDialog.hpp @@ -1,5 +1,5 @@ -#ifndef slic3r_GUI_PluginWebDialog_hpp_ -#define slic3r_GUI_PluginWebDialog_hpp_ +#ifndef slic3r_GUI_WebDialog_hpp_ +#define slic3r_GUI_WebDialog_hpp_ #include "Widgets/WebViewHostDialog.hpp" @@ -21,7 +21,7 @@ namespace Slic3r { namespace GUI { // GIL held; the plugin layer wraps any Python callables in a GIL-safe holder. // // Usable both modally (ShowModal -> read result()) and modelessly (Show()). -class PluginWebDialog : public Slic3r::GUI::WebViewHostDialog +class WebDialog : public Slic3r::GUI::WebViewHostDialog { public: using MessageHandler = std::function<void(const nlohmann::json& data)>; @@ -32,20 +32,20 @@ public: // user/JS-initiated close (while the window is alive). on_destroyed runs from // the destructor on every path and must touch host-side state only (no Python // / no derived members). - PluginWebDialog(wxWindow* parent, - const wxString& title, - const std::string& html, - const wxSize& size, - MessageHandler on_message, - SubmitHandler on_submit, - CloseHandler on_close, - CloseHandler on_destroyed, - long wx_style = wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER); - ~PluginWebDialog() override; + WebDialog(wxWindow* parent, + const wxString& title, + const std::string& html, + const wxSize& size, + MessageHandler on_message, + SubmitHandler on_submit, + CloseHandler on_close, + CloseHandler on_destroyed, + long wx_style = wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER); + ~WebDialog() override; - static void post_message(PluginWebDialog* dialog, const nlohmann::json& data); - static void request_close(PluginWebDialog* dialog); - static void destroy_for_plugin(PluginWebDialog* dialog); + static void post_message(WebDialog* dialog, const nlohmann::json& data); + static void request_close(WebDialog* dialog); + static void destroy_silently(WebDialog* dialog); // Push a payload to the page; delivered to handlers registered via // window.orca.onMessage(). MAIN-THREAD ONLY (the plugin layer marshals). @@ -64,7 +64,8 @@ protected: private: void on_bootstrap_event(wxWebViewEvent& event); - void load_plugin_content(); + void on_navigated(wxWebViewEvent& event); + void load_page_html(); void on_close_window(wxCloseEvent& event); void fire_submit(const nlohmann::json& data); void fire_close(); @@ -72,6 +73,8 @@ private: std::string m_html; bool m_content_loaded{false}; + bool m_own_page_load{false}; // a SetPage of the plugin HTML is in flight + bool m_content_navigated{false}; // a navigation to the base URL has committed bool m_open{true}; bool m_close_fired{false}; std::optional<nlohmann::json> m_result; @@ -83,4 +86,4 @@ private: }} // namespace Slic3r::GUI -#endif // slic3r_GUI_PluginWebDialog_hpp_ +#endif // slic3r_GUI_WebDialog_hpp_ diff --git a/src/slic3r/GUI/WebGuideDialog.cpp b/src/slic3r/GUI/WebGuideDialog.cpp index ae259f23d1..9cea8bec28 100644 --- a/src/slic3r/GUI/WebGuideDialog.cpp +++ b/src/slic3r/GUI/WebGuideDialog.cpp @@ -23,6 +23,7 @@ #include <wx/textdlg.h> #include <wx/wx.h> +#include <wx/weakref.h> #include <wx/display.h> #include <wx/fileconf.h> #include <wx/file.h> @@ -562,6 +563,78 @@ void GuideFrame::OnScriptMessage(wxWebViewEvent &evt) m_ProfileJson["filament"][fName]["selected"] = 1; } } + else if (strCmd == "check_for_new_printers") { + json response = json::object(); + response["command"] = "check_new_printers_result"; + // Guide pages currently send sequence_id as a number, while older + // pages may send it as a string. Preserve the value without + // forcing either representation. + if (j.contains("sequence_id")) + response["sequence_id"] = j["sequence_id"]; + else + response["sequence_id"] = ""; + + if (!m_MainPtr->preset_updater) { + response["error"] = "Printer update service is unavailable."; + wxString strJS = wxString::Format("HandleStudio(%s)", response.dump(-1, ' ', true)); + wxGetApp().CallAfter([this, strJS] { RunScript(strJS); }); + } else { + // Orca: enumerate vendors directly from disk rather than from m_ProfileJson["model"] + // — a vendor with no machine models (e.g. a filament-only bundle, or a test fixture + // like "test123" with an empty machine_model_list) never gets a "vendor" entry + // pushed into "model" by LoadProfileFamily(), so it would be invisible to the + // request body and get endlessly re-offered by the server. Scan both the system dir + // (already-installed vendors) and the bundled resources dir (shipped-but-not-yet- + // installed vendors), same as LoadProfileData() does when building loaded_vendors. + std::set<std::string> system_vendors; + for (const auto& dir : {vendor_dir, rsrc_vendor_dir}) { + if (!boost::filesystem::exists(dir)) + continue; + for (const auto& entry : boost::filesystem::directory_iterator(dir)) { + if (!boost::filesystem::is_directory(entry) && boost::iequals(entry.path().extension().string(), ".json")) + system_vendors.insert(entry.path().stem().string()); + } + } + // Orca: check_new_vendors() is async (network + confirmation dialog + download + // all happen off the calling thread apart from the dialog itself); guard against + // this dialog being closed before the callback fires. + wxWeakRef<GuideFrame> weak_this(this); + try { + m_MainPtr->preset_updater->check_new_vendors( + system_vendors, [weak_this, response](std::vector<std::string> installed_vendors, bool declined) mutable { + if (!weak_this) + return; + + // Orca: append the newly installed vendor(s) into the in-memory + // profile data (instead of a full LoadProfileData() rescan of every + // vendor) and push the refreshed list to the webview, the same way + // request_userguide_profile does, so the printer list picks them up + // without needing to reopen the guide. + for (const auto& vendor_id : installed_vendors) { + weak_this->LoadProfileFamily(vendor_id, (weak_this->vendor_dir / (vendor_id + ".json")).string()); + } + if (!installed_vendors.empty()) { + json profile_response = json::object(); + profile_response["command"] = "response_userguide_profile"; + profile_response["sequence_id"] = "10001"; + profile_response["response"] = weak_this->m_ProfileJson; + wxString profileJS = wxString::Format("HandleStudio(%s)", profile_response.dump(-1, ' ', true)); + weak_this->RunScript(profileJS); + } + + response["vendors"] = installed_vendors; + response["declined"] = declined; + wxString strJS = wxString::Format("HandleStudio(%s)", response.dump(-1, ' ', true)); + weak_this->RunScript(strJS); + }); + } catch (const std::exception &e) { + BOOST_LOG_TRIVIAL(warning) << "Failed to check for new printers: " << e.what(); + response["error"] = "Failed to check for new printers."; + wxString strJS = wxString::Format("HandleStudio(%s)", response.dump(-1, ' ', true)); + wxGetApp().CallAfter([this, strJS] { RunScript(strJS); }); + } + } + } else if (strCmd == "user_guide_finish") { SaveProfile(); @@ -1086,10 +1159,25 @@ bool GuideFrame::run() } int GuideFrame::GetFilamentInfo( std::string VendorDirectory, json & pFilaList, std::string filepath, std::string &sVendor, std::string &sType) +{ + std::unordered_set<std::string> visiting; + return GetFilamentInfo(VendorDirectory, pFilaList, filepath, sVendor, sType, visiting); +} + +int GuideFrame::GetFilamentInfo(const std::string& VendorDirectory, json& pFilaList, + const std::string& filepath, std::string& sVendor, + std::string& sType, std::unordered_set<std::string>& visiting) { //GetStardardFilePath(filepath); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " GetFilamentInfo:VendorDirectory - " << VendorDirectory << ", Filepath - "<<filepath; + // Path-scoped guard: without it an `inherits` cycle would recurse forever. + // The repeated file was not inserted, so the cycle hit has nothing to erase. + if (!visiting.insert(filepath).second) { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " inherits cycle at " << filepath; + return -1; + } + // Resolve this file's own vendor/type into LOCAL variables, independent of // whatever the caller already accumulated. The cache entry for `filepath` // must reflect only this file's own inherits chain — passing the caller's @@ -1124,41 +1212,30 @@ int GuideFrame::GetFilamentInfo( std::string VendorDirectory, json & pFilaList, else BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << filepath << " - Not Contains filament_type"; - if (vendor == "" || type == "") { - if (jLocal.contains("inherits")) { - std::string FName = jLocal["inherits"]; + if (jLocal.contains("inherits")) { + std::string FName = jLocal["inherits"]; - if (!pFilaList.contains(FName)) { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "pFilaList - Not Contains inherits filaments: " << FName; - status = -1; - } else { - std::string FPath = pFilaList[FName]["sub_path"]; - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " Before Format Inherits Path: VendorDirectory - " << VendorDirectory << ", sub_path - " << FPath; - wxString strNewFile = wxString::Format("%s%c%s", wxString(VendorDirectory.c_str(), wxConvUTF8), boost::filesystem::path::preferred_separator, FPath); - boost::filesystem::path inherits_path(w2s(strNewFile)); - if (!boost::filesystem::exists(inherits_path)) - inherits_path = (boost::filesystem::path(m_OrcaFilaLibPath) / boost::filesystem::path(FPath)).make_preferred(); - - if (boost::filesystem::exists(inherits_path)) { - // Recurse with this file's own (vendor, type) as the chain accumulator. - status = GetFilamentInfo(VendorDirectory, pFilaList, inherits_path.string(), vendor, type); - } else { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " inherits File Not Exist: " << inherits_path; - status = -1; - } - } + if (!pFilaList.contains(FName)) { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "pFilaList - Not Contains inherits filaments: " << FName; + status = -1; } else { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << filepath << " - Not Contains inherits"; - if (type == "") { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "sType is Empty"; - status = -1; + std::string FPath = pFilaList[FName]["sub_path"]; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " Before Format Inherits Path: VendorDirectory - " << VendorDirectory << ", sub_path - " << FPath; + wxString strNewFile = wxString::Format("%s%c%s", wxString(VendorDirectory.c_str(), wxConvUTF8), boost::filesystem::path::preferred_separator, FPath); + boost::filesystem::path inherits_path(w2s(strNewFile)); + if (!boost::filesystem::exists(inherits_path)) + inherits_path = (boost::filesystem::path(m_OrcaFilaLibPath) / boost::filesystem::path(FPath)).make_preferred(); + + if (boost::filesystem::exists(inherits_path)) { + // Traverse the full chain for errors; inherited values only fill local gaps. + status = GetFilamentInfo(VendorDirectory, pFilaList, inherits_path.string(), vendor, type, visiting); } else { - if (vendor == "") - vendor = "Generic"; - status = 0; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " inherits File Not Exist: " << inherits_path; + status = -1; } } } else { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << filepath << " - Not Contains inherits"; status = 0; } } @@ -1177,6 +1254,7 @@ int GuideFrame::GetFilamentInfo( std::string VendorDirectory, json & pFilaList, // Merge this file's resolved values into the caller's out-params (fill empties only). if (sVendor.empty()) sVendor = vendor; if (sType.empty()) sType = type; + visiting.erase(filepath); return status; } @@ -1644,13 +1722,15 @@ int GuideFrame::LoadProfileFamily(std::string strVendor, std::string strFilePath OneModel["materials"] = pm["default_materials"]; // wxString strCoverPath = wxString::Format("%s\\%s\\%s_cover.png", strFolder, strVendor, std::string(s1.mb_str())); - std::string cover_file = s1 + "_cover.png"; - boost::filesystem::path cover_path = boost::filesystem::absolute(boost::filesystem::path(resources_dir()) / "/profiles/" / strVendor / cover_file).make_preferred(); + std::string cover_file = s1 + "_cover.png"; + boost::filesystem::path cover_path = boost::filesystem::absolute(vendor_dir / cover_file).make_preferred(); + BOOST_LOG_TRIVIAL(info) << "[WebGuideDialog] " << cover_path; if (!boost::filesystem::exists(cover_path)) { - cover_path = - (boost::filesystem::absolute(boost::filesystem::path(resources_dir()) / "/web/image/printer/") / - cover_file) - .make_preferred(); + cover_path = boost::filesystem::absolute(boost::filesystem::path(resources_dir()) / "/profiles/" / strVendor / cover_file) + .make_preferred(); + if (!boost::filesystem::exists(cover_path)) + cover_path = (boost::filesystem::absolute(boost::filesystem::path(resources_dir()) / "/web/image/printer/") / cover_file) + .make_preferred(); } OneModel["cover"] = cover_path.string(); @@ -1728,8 +1808,8 @@ int GuideFrame::LoadProfileFamily(std::string strVendor, std::string strFilePath std::string sT; int nRet = GetFilamentInfo(vendor_dir.string(),tFilaList, sub_file, sV, sT); - if (nRet != 0) { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "Load Filament:" << s1 << ",GetFilamentInfo Failed, Vendor:" << sV << ",Type:"<< sT; + if (nRet != 0 || sV.empty() || sT.empty()) { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "Load Filament:" << s1 << ",unresolved vendor/type, Vendor:" << sV << ",Type:"<< sT; continue; } diff --git a/src/slic3r/GUI/WebGuideDialog.hpp b/src/slic3r/GUI/WebGuideDialog.hpp index c4cfc8bf6d..9cd95d2515 100644 --- a/src/slic3r/GUI/WebGuideDialog.hpp +++ b/src/slic3r/GUI/WebGuideDialog.hpp @@ -33,6 +33,7 @@ #include <atomic> #include <memory> #include <unordered_map> +#include <unordered_set> #include <nlohmann/json.hpp> @@ -43,6 +44,8 @@ namespace Slic3r { namespace GUI { class GuideFrame : public DPIDialog { public: + using json = nlohmann::json; + GuideFrame(GUI_App *pGUI, long style = wxCAPTION | wxCLOSE_BOX | wxSYSTEM_MENU); virtual ~GuideFrame(); @@ -108,6 +111,9 @@ public: void on_dpi_changed(const wxRect &suggested_rect) {} private: + int GetFilamentInfo(const std::string& VendorDirectory, json& pFilaList, const std::string& filepath, + std::string& sVendor, std::string& sType, std::unordered_set<std::string>& visiting); + GUI_App *m_MainPtr; AppConfig m_appconfig_new; diff --git a/src/slic3r/GUI/WebPanel.cpp b/src/slic3r/GUI/WebPanel.cpp new file mode 100644 index 0000000000..a8cef9d941 --- /dev/null +++ b/src/slic3r/GUI/WebPanel.cpp @@ -0,0 +1,111 @@ +#include "WebPanel.hpp" + +#include "GUI_App.hpp" +#include "Widgets/WebHosting.hpp" +#include "Widgets/WebView.hpp" +#include "Widgets/WebViewHostDialog.hpp" + +#include <boost/log/trivial.hpp> + +#include <wx/sizer.h> + +namespace Slic3r { namespace GUI { + +WebPanel::WebPanel(wxWindow* parent, const char* bridge_script) + : wxPanel(parent, wxID_ANY) +{ + SetBackgroundColour(wxGetApp().get_window_default_clr()); + auto* sizer = new wxBoxSizer(wxVERTICAL); + SetSizer(sizer); + + // Never null: WebView::CreateWebView substitutes a placeholder view when no backend is available. + m_browser = WebView::CreateWebView(this, web_hosting::bootstrap_url()); + m_browser->SetBackgroundColour(GetBackgroundColour()); + m_browser->AddUserScript(wxString::FromUTF8(WebViewHostDialog::theme_user_script())); + m_browser->AddUserScript(wxString::FromUTF8(WebViewHostDialog::element_defaults_user_script())); + m_browser->AddUserScript(wxString::FromUTF8(bridge_script)); + m_browser->Bind(wxEVT_WEBVIEW_LOADED, &WebPanel::on_load_event, this); + m_browser->Bind(wxEVT_WEBVIEW_ERROR, &WebPanel::on_load_event, this); + m_browser->Bind(wxEVT_WEBVIEW_NAVIGATED, &WebPanel::on_navigated, this); + m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &WebPanel::on_script_message, this); + m_browser->Bind(EVT_WEBVIEW_RECREATED, &WebPanel::on_webview_recreated, this); + sizer->Add(m_browser, 1, wxEXPAND); +} + +void WebPanel::on_load_event(wxWebViewEvent& event) +{ + const bool loaded = event.GetEventType() == wxEVT_WEBVIEW_LOADED; + if (!m_content_loaded) { + // The first bootstrap load (or its error) triggers the swap to the plugin HTML. + m_content_loaded = true; + load_page_html(); + } else if (!web_hosting::is_content_url(event.GetURL())) { + // Not our document (a linked page, a substituted error page), or any document on Edge, which ignores + // the base URL and restores SetPage content on a reload itself; either way it takes the app theme. + if (loaded) + apply_theme(); + } else if (m_own_page_load) { + m_own_page_load = false; + // The document-start theme script is fixed at creation, so re-apply the app theme. + if (loaded) + apply_theme(); + } else if (loaded && m_content_navigated) { + // WebKit reloads the SetPage base URL, so a committed load of it that we did not start is a + // reload. A failed navigation is reported against the page that stayed but never commits. + load_page_html(); + } + if (loaded) + m_content_navigated = false; + event.Skip(); +} + +void WebPanel::on_navigated(wxWebViewEvent& event) +{ + m_content_navigated = web_hosting::is_content_url(event.GetURL()); + event.Skip(); +} + +void WebPanel::load_page_html() +{ + if (const std::optional<std::string> html = page_html()) { + m_own_page_load = true; + m_browser->SetPage(wxString::FromUTF8(*html), web_hosting::content_base_url()); + } +} + +void WebPanel::on_script_message(wxWebViewEvent& event) +{ + const nlohmann::json payload = nlohmann::json::parse(event.GetString().utf8_string(), nullptr, false); + if (!payload.is_object() || payload.value("channel", std::string()) != "orca") + return; + + const std::string kind = payload.value("kind", std::string()); + if (!on_page_message(kind, payload.contains("data") ? payload["data"] : nlohmann::json())) + BOOST_LOG_TRIVIAL(warning) << "WebPanel ignored a window.orca '" << kind << "' call; this host does not support it"; +} + +void WebPanel::on_webview_recreated(wxCommandEvent&) +{ + SetBackgroundColour(wxGetApp().get_window_default_clr()); + m_browser->SetBackgroundColour(GetBackgroundColour()); + Refresh(); + // Handled without Skip(), so WebView::RecreateAll() does not reload the plugin page. + apply_theme(); +} + +void WebPanel::apply_theme() +{ + WebView::RunScript(m_browser, wxString::FromUTF8(WebViewHostDialog::theme_apply_script())); +} + +void WebPanel::post_to_page(const std::string& json) +{ + WebView::RunScript(m_browser, wxString::Format( + "(function dispatch(payload, attempts) {\n" + " if (typeof window.__orcaDispatch === 'function') { window.__orcaDispatch(payload); return; }\n" + " if (attempts < 100) window.setTimeout(function() { dispatch(payload, attempts + 1); }, 25);\n" + "})({data: %s}, 0);", + wxString::FromUTF8(json))); +} + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/WebPanel.hpp b/src/slic3r/GUI/WebPanel.hpp new file mode 100644 index 0000000000..d4c493dbc1 --- /dev/null +++ b/src/slic3r/GUI/WebPanel.hpp @@ -0,0 +1,48 @@ +#pragma once + +#include <nlohmann/json.hpp> + +#include <wx/panel.h> +#include <wx/webview.h> + +#include <optional> +#include <string> + +namespace Slic3r { namespace GUI { + +// Host-supplied HTML in a web view panel, for any window that embeds or derives from it (today plugin +// Pages tabs and docked panels): bootstrap page and swap, theme and bridge scripts, live re-theming, and +// window.orca messages routed to on_page_message(). +class WebPanel : public wxPanel +{ +public: + WebPanel(wxWindow* parent, const char* bridge_script); + +protected: + wxWebView* browser() const { return m_browser; } + + // Delivers an already serialised JSON value to the page's window.orca.onMessage handlers, + // waiting briefly for the bridge while the page is still loading. Main thread only. + void post_to_page(const std::string& json); + + // The plugin HTML to show once the bootstrap page has loaded, and again when WebKit reloads it; + // std::nullopt leaves it blank. + virtual std::optional<std::string> page_html() = 0; + // A window.orca message from the page; false for a kind this host does not handle (logged). + virtual bool on_page_message(const std::string& kind, const nlohmann::json& data) = 0; + +private: + void on_load_event(wxWebViewEvent& event); + void on_navigated(wxWebViewEvent& event); + void on_script_message(wxWebViewEvent& event); + void on_webview_recreated(wxCommandEvent& event); + void apply_theme(); + void load_page_html(); + + wxWebView* m_browser{nullptr}; + bool m_content_loaded{false}; + bool m_own_page_load{false}; // a SetPage of the plugin HTML is in flight + bool m_content_navigated{false}; // a navigation to the base URL has committed +}; + +}} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 661cfaed32..f20d24163c 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -219,6 +219,7 @@ WebViewPanel::WebViewPanel(wxWindow *parent) Bind(wxEVT_CLOSE_WINDOW, &WebViewPanel::OnClose, this); m_LoginUpdateTimer = nullptr; + update_mode(); } WebViewPanel::~WebViewPanel() @@ -416,8 +417,7 @@ void WebViewPanel::OnClose(wxCloseEvent& evt) void WebViewPanel::OnFreshLoginStatus(wxTimerEvent &event) { - auto mainframe = Slic3r::GUI::wxGetApp().mainframe; - if (mainframe && mainframe->m_webview == this) { + if (WebViewPanel::if_built() == this) { auto* app_config = Slic3r::GUI::wxGetApp().app_config; if (app_config && app_config->get_stealth_mode()) return; Slic3r::GUI::wxGetApp().get_login_info(ORCA_CLOUD_PROVIDER); diff --git a/src/slic3r/GUI/WebViewDialog.hpp b/src/slic3r/GUI/WebViewDialog.hpp index 123025ef85..73ad061bb0 100644 --- a/src/slic3r/GUI/WebViewDialog.hpp +++ b/src/slic3r/GUI/WebViewDialog.hpp @@ -24,6 +24,7 @@ #include <wx/tbarbase.h> #include "wx/textctrl.h" #include <wx/timer.h> +#include "Lazy.hpp" namespace Slic3r { @@ -33,7 +34,7 @@ class NetworkAgent; namespace GUI { -class WebViewPanel : public wxPanel +class WebViewPanel : public wxPanel, public LazyInstance<WebViewPanel> { public: WebViewPanel(wxWindow *parent); @@ -108,13 +109,16 @@ public: private: wxWebView* m_browser; + wxButton * m_button_stop; + wxTextCtrl *m_url; +#if !BBL_RELEASE_TO_PUBLIC + // Created only by the internal-build toolbar in the constructor. wxBoxSizer *bSizer_toolbar; wxButton * m_button_back; wxButton * m_button_forward; - wxButton * m_button_stop; wxButton * m_button_reload; - wxTextCtrl *m_url; wxButton * m_button_tools; +#endif //BBL_RELEASE_TO_PUBLIC wxMenu* m_tools_menu; wxMenuItem* m_tools_handle_navigation; @@ -143,7 +147,6 @@ private: wxMenuItem* m_dev_tools; wxInfoBar *m_info; - wxStaticText* m_info_text; long m_zoomFactor; diff --git a/src/slic3r/GUI/Widgets/AMSItem.hpp b/src/slic3r/GUI/Widgets/AMSItem.hpp index c43c71f580..ac4283b7e8 100644 --- a/src/slic3r/GUI/Widgets/AMSItem.hpp +++ b/src/slic3r/GUI/Widgets/AMSItem.hpp @@ -641,17 +641,11 @@ private: AMSRoadShowMode m_road_mode = {AMSRoadShowMode::AMS_ROAD_MODE_FOUR}; AMSPassRoadSTEP m_load_step = {AMSPassRoadSTEP::AMS_ROAD_STEP_NONE}; - bool m_selected = {false}; - int m_passroad_width = {6}; - double m_radius = {4}; wxColour m_road_def_color; wxColour m_road_color; std::vector<ScalableBitmap> ams_humidity_img; - int m_humidity = {0}; - bool m_show_humidity = {false}; - bool m_vams_loading{false}; AMSModel m_ams_model; }; @@ -690,14 +684,10 @@ private: int m_left_road_length = {-1}; int m_right_road_length = {-1}; - int m_passroad_width = {6}; - double m_radius = {4}; AMSPassRoadSTEP m_pass_road_left_step = {AMSPassRoadSTEP::AMS_ROAD_STEP_NONE}; AMSPassRoadSTEP m_pass_road_right_step = {AMSPassRoadSTEP::AMS_ROAD_STEP_NONE}; std::map<int, wxColour> m_road_color; - bool m_vams_loading{false}; - AMSModel m_ams_model; }; /************************************************* diff --git a/src/slic3r/GUI/Widgets/Button.cpp b/src/slic3r/GUI/Widgets/Button.cpp index 5a5bd89403..d29daef1de 100644 --- a/src/slic3r/GUI/Widgets/Button.cpp +++ b/src/slic3r/GUI/Widgets/Button.cpp @@ -25,36 +25,29 @@ END_EVENT_TABLE() * calling Refresh()/Update(). */ -Button::Button() - : paddingSize(10, 8) +Button::Button() : paddingSize(10, 8) { - background_color = StateColor( - std::make_pair(0xF0F0F1, (int) StateColor::Disabled), - std::make_pair(0x52c7b8, (int) StateColor::Hovered | StateColor::Checked), - std::make_pair(0x009688, (int) StateColor::Checked), - std::make_pair(*wxLIGHT_GREY, (int) StateColor::Hovered), - std::make_pair(*wxWHITE, (int) StateColor::Normal)); - text_color = StateColor( - std::make_pair(*wxLIGHT_GREY, (int) StateColor::Disabled), - std::make_pair(*wxBLACK, (int) StateColor::Normal)); + background_color = StateColor(std::make_pair(0xF0F0F1, (int) StateColor::Disabled), + std::make_pair(0x52c7b8, (int) StateColor::Hovered | StateColor::Checked), + std::make_pair(0x009688, (int) StateColor::Checked), + std::make_pair(*wxLIGHT_GREY, (int) StateColor::Hovered), + std::make_pair(*wxWHITE, (int) StateColor::Normal)); + text_color = StateColor(std::make_pair(*wxLIGHT_GREY, (int) StateColor::Disabled), std::make_pair(*wxBLACK, (int) StateColor::Normal)); } -Button::Button(wxWindow* parent, wxString text, wxString icon, long style, int iconSize, wxWindowID btn_id) - : Button() -{ - Create(parent, text, icon, style, iconSize, btn_id); -} +Button::Button(wxWindow* parent, wxString text, wxString icon, long style, int iconSize, wxWindowID btn_id) : Button() +{ Create(parent, text, icon, style, iconSize, btn_id); } bool Button::Create(wxWindow* parent, wxString text, wxString icon, long style, int iconSize, wxWindowID btn_id) { StaticBox::Create(parent, btn_id, wxDefaultPosition, wxDefaultSize, style); state_handler.attach(std::vector<StateColor const*>{&text_color}); state_handler.update_binds(); - //BBS set default font + // BBS set default font SetFont(Label::Body_14); wxWindow::SetLabel(text); if (!icon.IsEmpty()) { - //BBS set button icon default size to 20 + // BBS set button icon default size to 20 this->active_icon = ScalableBitmap(this, icon.ToStdString(), iconSize > 0 ? iconSize : 20); } messureSize(); @@ -82,14 +75,12 @@ void Button::SetIcon(const wxString& icon) { auto tmpBitmap = ScalableBitmap(this, icon.ToStdString(), this->active_icon.px_cnt()); if (!icon.IsEmpty()) { - //BBS set button icon default size to 20 + // BBS set button icon default size to 20 if (!tmpBitmap.bmp().IsSameAs(this->active_icon.bmp())) { this->active_icon = tmpBitmap; Refresh(); } - } - else - { + } else { this->active_icon = ScalableBitmap(); Refresh(); } @@ -97,7 +88,7 @@ void Button::SetIcon(const wxString& icon) void Button::SetIcon(const wxBitmap& icon) { - this->active_icon = ScalableBitmap(); + this->active_icon = ScalableBitmap(); this->active_icon.bmp() = icon; messureSize(); Refresh(); @@ -121,6 +112,13 @@ void Button::SetPaddingSize(const wxSize& size) messureSize(); } +void Button::SetIconSpacing(int spacing) +{ + m_icon_spacing = spacing; + messureSize(); + Refresh(); +} + void Button::SetTextColor(StateColor const& color) { text_color = color; @@ -128,7 +126,7 @@ void Button::SetTextColor(StateColor const& color) Refresh(); } -void Button::SetTextColorNormal(wxColor const &color) +void Button::SetTextColorNormal(wxColor const& color) { text_color.setColorForStates(color, 0); Refresh(); @@ -145,22 +143,31 @@ bool Button::Enable(bool enable) return result; } -void Button::SetCanFocus(bool canFocus) { +void Button::SetCanFocus(bool canFocus) +{ StaticBox::SetCanFocus(canFocus); this->canFocus = canFocus; } void Button::SetValue(bool state) { - if (GetValue() == state) return; + if (GetValue() == state) + return; state_handler.set_state(state ? StateHandler::Checked : 0, StateHandler::Checked); } bool Button::GetValue() const { return state_handler.states() & StateHandler::Checked; } -void Button::SetCenter(bool isCenter) +void Button::SetCenter(bool isCenter) { this->isCenter = isCenter; } + +void Button::SetIndicator(bool on) { - this->isCenter = isCenter; } + if (m_show_indicator == on) + return; + m_show_indicator = on; + messureSize(); + Refresh(); +} void Button::SetVertical(bool vertical) { @@ -177,38 +184,33 @@ wxString btn_disabled[10] = {"#DFDFDF", "#DFDFDF", "#DFDFDF", "#DFDFDF", "#DFDFD void Button::SetStyle(const ButtonStyle style, const ButtonType type) { - if (type == ButtonType::Compact) { - this->SetPaddingSize(FromDIP(wxSize(8,3))); + if (type == ButtonType::Compact) { + this->SetPaddingSize(FromDIP(wxSize(8, 3))); this->SetCornerRadius(this->FromDIP(8)); this->SetFont(Label::Body_10); - } - else if (type == ButtonType::Window) { - this->SetSize(FromDIP(wxSize(58,24))); - this->SetMinSize(FromDIP(wxSize(58,24))); + } else if (type == ButtonType::Window) { + this->SetSize(FromDIP(wxSize(58, 24))); + this->SetMinSize(FromDIP(wxSize(58, 24))); this->SetCornerRadius(this->FromDIP(12)); this->SetFont(Label::Body_12); - } - else if (type == ButtonType::Choice) { - this->SetMinSize(FromDIP(wxSize(100,32))); - this->SetPaddingSize(FromDIP(wxSize(12,8))); + } else if (type == ButtonType::Choice) { + this->SetMinSize(FromDIP(wxSize(100, 32))); + this->SetPaddingSize(FromDIP(wxSize(12, 8))); this->SetCornerRadius(this->FromDIP(4)); this->SetFont(Label::Body_14); - } - else if (type == ButtonType::Parameter) { - this->SetMinSize(FromDIP(wxSize(120,26))); - this->SetSize(FromDIP(wxSize(120,26))); + } else if (type == ButtonType::Parameter) { + this->SetMinSize(FromDIP(wxSize(120, 26))); + this->SetSize(FromDIP(wxSize(120, 26))); this->SetCornerRadius(this->FromDIP(4)); this->SetFont(Label::Body_14); - } - else if (type == ButtonType::Icon) { - this->SetPaddingSize(FromDIP(wxSize(5,5))); - this->SetMinSize(FromDIP(wxSize(26,26))); - this->SetSize(FromDIP(wxSize(26,26))); + } else if (type == ButtonType::Icon) { + this->SetPaddingSize(FromDIP(wxSize(5, 5))); + this->SetMinSize(FromDIP(wxSize(26, 26))); + this->SetSize(FromDIP(wxSize(26, 26))); this->SetCornerRadius(this->FromDIP(4)); - } - else if (type == ButtonType::Expanded) { - this->SetMinSize(FromDIP(wxSize(-1,32))); - this->SetPaddingSize(FromDIP(wxSize(12,8))); + } else if (type == ButtonType::Expanded) { + this->SetMinSize(FromDIP(wxSize(-1, 32))); + this->SetPaddingSize(FromDIP(wxSize(12, 8))); this->SetCornerRadius(this->FromDIP(4)); this->SetFont(Label::Body_14); } @@ -217,39 +219,33 @@ void Button::SetStyle(const ButtonStyle style, const ButtonType type) bool is_dark = StateColor::darkModeColorFor("#FFFFFF") != wxColour("#FFFFFF"); - auto clr_arr = style == ButtonStyle::Regular ? btn_regular : - style == ButtonStyle::Confirm ? btn_confirm : - style == ButtonStyle::Alert ? btn_alert : + auto clr_arr = style == ButtonStyle::Regular ? btn_regular : + style == ButtonStyle::Confirm ? btn_confirm : + style == ButtonStyle::Alert ? btn_alert : style == ButtonStyle::Disabled ? btn_disabled : - btn_regular ; + btn_regular; - auto bg_color = StateColor( - std::pair(wxColour(clr_arr[0]), (int)StateColor::Disabled), - std::pair(wxColour(clr_arr[1]), (int)StateColor::Pressed), - std::pair(wxColour(clr_arr[2]), (int)StateColor::Hovered), - std::pair(wxColour(clr_arr[3]), (int)StateColor::Normal), - std::pair(wxColour(clr_arr[4]), (int)StateColor::Enabled) - ); + auto bg_color = StateColor(std::pair(wxColour(clr_arr[0]), (int) StateColor::Disabled), + std::pair(wxColour(clr_arr[1]), (int) StateColor::Pressed), + std::pair(wxColour(clr_arr[2]), (int) StateColor::Hovered), + std::pair(wxColour(clr_arr[3]), (int) StateColor::Normal), + std::pair(wxColour(clr_arr[4]), (int) StateColor::Enabled)); bg_color.setTakeFocusedAsHovered(false); this->SetBackgroundColor(bg_color); wxColour focus_clr = clr_arr[is_dark ? 8 : 9]; - auto border_color = StateColor( - std::pair(wxColour(clr_arr[0]), (int)StateColor::Disabled), - std::pair(wxColour(clr_arr[2]), (int)(StateColor::Hovered | ~StateColor::Focused)), - std::pair(wxColour(focus_clr ), (int)StateColor::Focused), - std::pair(wxColour(clr_arr[3]), (int)StateColor::Normal) - ); + auto border_color = StateColor(std::pair(wxColour(clr_arr[0]), (int) StateColor::Disabled), + std::pair(wxColour(clr_arr[2]), (int) (StateColor::Hovered | ~StateColor::Focused)), + std::pair(wxColour(focus_clr), (int) StateColor::Focused), + std::pair(wxColour(clr_arr[3]), (int) StateColor::Normal)); border_color.setTakeFocusedAsHovered(false); this->SetBorderColor(border_color); - this->SetTextColor(StateColor( - std::pair(wxColour(clr_arr[5]), (int)StateColor::Disabled), - std::pair(wxColour(clr_arr[7]), (int)StateColor::Hovered), - std::pair(wxColour(clr_arr[6]), (int)StateColor::Normal) - )); + this->SetTextColor(StateColor(std::pair(wxColour(clr_arr[5]), (int) StateColor::Disabled), + std::pair(wxColour(clr_arr[7]), (int) StateColor::Hovered), + std::pair(wxColour(clr_arr[6]), (int) StateColor::Normal))); m_has_style = true; - m_style = style; - m_type = type; + m_style = style; + m_type = type; } void Button::Rescale() @@ -260,7 +256,7 @@ void Button::Rescale() messureSize(); - if(m_has_style) + if (m_has_style) SetStyle(m_style, m_type); Refresh(); @@ -281,7 +277,7 @@ void Button::paintEvent(wxPaintEvent& evt) void Button::render(wxDC& dc) { StaticBox::render(dc); - int states = state_handler.states(); + int states = state_handler.states(); wxSize size = GetSize(); dc.SetBrush(*wxTRANSPARENT_BRUSH); // calc content size @@ -289,22 +285,25 @@ void Button::render(wxDC& dc) wxSize textSize = this->textSize.GetSize(); const ScalableBitmap& icon = active_icon; - wxSize padding = this->paddingSize; - int spacing = 5; + wxSize padding = this->paddingSize; + int spacing = m_icon_spacing; // Wrap text auto text = GetLabel(); if (vertical && textSize.x + padding.x * 2 > size.x) { Label::split_lines(dc, size.x - padding.x * 2, text, text, 2); textSize = dc.GetMultiLineTextExtent(text); if (padding.x * 2 + textSize.x > size.x) { - text = wxControl::Ellipsize(text, dc, wxELLIPSIZE_END, size.x - padding.x * 2); + text = wxControl::Ellipsize(text, dc, wxELLIPSIZE_END, size.x - padding.x * 2); textSize = dc.GetMultiLineTextExtent(text); } } auto szContent = textSize; + // Whether the measured content reserved the text/icon gap. macOS measures an empty label + // as 0-high, so the gap is skipped there; the dot must not advance past it in that case. + const bool gap_reserved = szContent.y > 0; if (icon.bmp().IsOk()) { - if (szContent.y > 0) { - //BBS norrow size between text and icon + if (gap_reserved) { + // BBS norrow size between text and icon if (vertical) szContent.y += spacing; else @@ -313,10 +312,12 @@ void Button::render(wxDC& dc) szIcon = icon.GetBmpSize(); if (vertical) { szContent.y += szIcon.y; - if (szIcon.x > szContent.x) szContent.x = szIcon.x; + if (szIcon.x > szContent.x) + szContent.x = szIcon.x; } else { szContent.x += szIcon.x; - if (szIcon.y > szContent.y) szContent.y = szIcon.y; + if (szIcon.y > szContent.y) + szContent.y = szIcon.y; } if (szContent.x > size.x) { int d = std::min(padding.x, (szContent.x - size.x) / 2); @@ -324,11 +325,19 @@ void Button::render(wxDC& dc) szContent.x -= d; } } + if (m_show_indicator) { + const int dot = FromDIP(6); + if (vertical) + szContent.y += dot + FromDIP(6); + else + szContent.x += dot + FromDIP(6); + } // move to center - wxRect rcContent = { {0, 0}, size }; + wxRect rcContent = {{0, 0}, size}; if (isCenter) { wxSize offset = (size - szContent) / 2; - if (offset.x < 0) offset.x = 0; + if (offset.x < 0) + offset.x = 0; rcContent.Deflate(offset.x, offset.y); } // start draw @@ -339,12 +348,12 @@ void Button::render(wxDC& dc) else pt.y += (rcContent.height - szIcon.y) / 2; dc.DrawBitmap(icon.bmp(), pt); - //BBS norrow size between text and icon + // BBS norrow size between text and icon if (vertical) { - pt.y += szIcon.y + spacing; + pt.y += szIcon.y + (gap_reserved ? spacing : 0); pt.x = rcContent.x; } else { - pt.x += szIcon.x + spacing; + pt.x += szIcon.x + (gap_reserved ? spacing : 0); pt.y = rcContent.y; } } @@ -364,6 +373,17 @@ void Button::render(wxDC& dc) #endif dc.DrawText(text, pt); } + if (m_show_indicator) { + const int dot = FromDIP(6); // diameter + wxPoint dot_pt; + dot_pt.x = pt.x + (text.IsEmpty() ? 0 : textSize.x) + FromDIP(6) + dot / 2; + // Centre on the content vertically; a bitmap-only (empty-label) tab has no text row. + dot_pt.y = text.IsEmpty() ? rcContent.y + rcContent.height / 2 : pt.y + textSize.y / 2; + const wxColour c = StateColor::darkModeColorFor(m_indicator_color); + dc.SetBrush(wxBrush(c)); + dc.SetPen(wxPen(c)); + dc.DrawCircle(dot_pt, dot / 2); + } } void Button::messureSize() @@ -373,21 +393,31 @@ void Button::messureSize() wxSize szContent = textSize.GetSize(); if (this->active_icon.bmp().IsOk()) { if (szContent.y > 0) { - //BBS norrow size between text and icon + // BBS narrow size between text and icon if (vertical) - szContent.y += 5; + szContent.y += m_icon_spacing; else - szContent.x += 5; + szContent.x += m_icon_spacing; } wxSize szIcon = this->active_icon.GetBmpSize(); if (vertical) { szContent.y += szIcon.y; - if (szIcon.x > szContent.x) szContent.x = szIcon.x; + if (szIcon.x > szContent.x) + szContent.x = szIcon.x; } else { szContent.x += szIcon.x; - if (szIcon.y > szContent.y) szContent.y = szIcon.y; + if (szIcon.y > szContent.y) + szContent.y = szIcon.y; } } + if (m_show_indicator) { + // Indicator dot sits to the right of the label: its diameter plus the gap from the text. + const int dot = FromDIP(6); + if (vertical) + szContent.y += dot + FromDIP(6); + else + szContent.x += dot + FromDIP(6); + } wxSize size = szContent + paddingSize * 2; if (minSize.GetHeight() > 0) size.SetHeight(minSize.GetHeight()); @@ -429,13 +459,13 @@ void Button::mouseReleased(wxMouseEvent& event) } } -void Button::mouseCaptureLost(wxMouseCaptureLostEvent &event) +void Button::mouseCaptureLost(wxMouseCaptureLostEvent& event) { wxMouseEvent evt; mouseReleased(evt); } -void Button::keyDownUp(wxKeyEvent &event) +void Button::keyDownUp(wxKeyEvent& event) { if (event.GetKeyCode() == WXK_SPACE || event.GetKeyCode() == WXK_RETURN) { wxMouseEvent evt(event.GetEventType() == wxEVT_KEY_UP ? wxEVT_LEFT_UP : wxEVT_LEFT_DOWN); @@ -444,8 +474,8 @@ void Button::keyDownUp(wxKeyEvent &event) return; } if (event.GetEventType() == wxEVT_KEY_DOWN && - (event.GetKeyCode() == WXK_TAB || event.GetKeyCode() == WXK_LEFT || event.GetKeyCode() == WXK_RIGHT - || event.GetKeyCode() == WXK_UP || event.GetKeyCode() == WXK_DOWN)) + (event.GetKeyCode() == WXK_TAB || event.GetKeyCode() == WXK_LEFT || event.GetKeyCode() == WXK_RIGHT || + event.GetKeyCode() == WXK_UP || event.GetKeyCode() == WXK_DOWN)) HandleAsNavigationKey(event); else event.Skip(); @@ -462,7 +492,9 @@ void Button::sendButtonEvent() WXLRESULT Button::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { - if (nMsg == WM_GETDLGCODE) { return DLGC_WANTMESSAGE; } + if (nMsg == WM_GETDLGCODE) { + return DLGC_WANTMESSAGE; + } if (nMsg == WM_KEYDOWN) { wxKeyEvent event(CreateKeyEvent(wxEVT_KEY_DOWN, wParam, lParam)); switch (wParam) { @@ -483,8 +515,7 @@ void Button::EnableTooltipEvenDisabled() { #if defined(_MSC_VER) || defined(_WIN32) auto parent = this->GetParent(); - if (parent) - { + if (parent) { parent->Bind(wxEVT_MOTION, &Button::OnParentMotion, this); parent->Bind(wxEVT_LEAVE_WINDOW, &Button::OnParentLeave, this); }; @@ -494,22 +525,21 @@ void Button::EnableTooltipEvenDisabled() void Button::OnParentMotion(wxMouseEvent& event) { auto parent = this->GetParent(); - if (!parent) return event.Skip(); + if (!parent) + return event.Skip(); - wxPoint pos = parent->ClientToScreen(event.GetPosition()); + wxPoint pos = parent->ClientToScreen(event.GetPosition()); wxRect screen_rect = this->GetScreenRect(); - wxString tip = this->GetToolTipText(); - if (!tip.IsEmpty() && !this->IsEnabled() && screen_rect.Contains(pos)) - { - if (!tipWindow) - { + wxString tip = this->GetToolTipText(); + if (!tip.IsEmpty() && !this->IsEnabled() && screen_rect.Contains(pos)) { + if (!tipWindow) { tipWindow = wxTipWindow::New(this, tip); - if (!tipWindow) return event.Skip(); + if (!tipWindow) + return event.Skip(); tipWindow->Enable(false); } - if (tipWindow->GetLabel() != tip) - { + if (tipWindow->GetLabel() != tip) { tipWindow->SetLabel(tip); } @@ -517,11 +547,8 @@ void Button::OnParentMotion(wxMouseEvent& event) // using wxGetMousePosition() which returns (0,0) on Wayland. tipWindow->Position(this->ClientToScreen(wxPoint(0, 0)), this->GetSize()); tipWindow->Popup(); - } - else - { - if (tipWindow) - { + } else { + if (tipWindow) { tipWindow->Dismiss(); tipWindow->Destroy(); tipWindow = nullptr; @@ -534,15 +561,14 @@ void Button::OnParentMotion(wxMouseEvent& event) void Button::OnParentLeave(wxMouseEvent& event) { auto parent = this->GetParent(); - if (!parent) return event.Skip(); + if (!parent) + return event.Skip(); - if (tipWindow) - { - wxPoint pos = parent->ClientToScreen(event.GetPosition()); + if (tipWindow) { + wxPoint pos = parent->ClientToScreen(event.GetPosition()); wxRect screen_rect = this->GetScreenRect(); - wxString tip = this->GetToolTipText(); - if (!screen_rect.Contains(pos)) - { + wxString tip = this->GetToolTipText(); + if (!screen_rect.Contains(pos)) { tipWindow->Dismiss(); tipWindow->Destroy(); tipWindow = nullptr; diff --git a/src/slic3r/GUI/Widgets/Button.hpp b/src/slic3r/GUI/Widgets/Button.hpp index 2991edd425..4077bd5cac 100644 --- a/src/slic3r/GUI/Widgets/Button.hpp +++ b/src/slic3r/GUI/Widgets/Button.hpp @@ -4,28 +4,30 @@ #include "../wxExtensions.hpp" #include "StaticBox.hpp" #include <wx/tipwin.h> +#include <wx/colour.h> class ButtonProps { public: - static int ChoiceButtonGap(){return 10;}; - static int WindowButtonGap(){return 10;}; + static int ChoiceButtonGap() { return 10; }; + static int WindowButtonGap() { return 10; }; }; -enum class ButtonStyle{ +enum class ButtonStyle { Regular, Confirm, Alert, Disabled, }; -enum class ButtonType{ - Compact , // Font10 FullyRounded For spaces with less areas - Window , // Font12 FullyRounded For regular buttons in windows and not related with parameter boxes - Choice , // Font14 Semi-Rounded For dialog/window choice buttons +enum class ButtonType { + Compact, // Font10 FullyRounded For spaces with less areas + Window, // Font12 FullyRounded For regular buttons in windows and not related with parameter boxes + Choice, // Font14 Semi-Rounded For dialog/window choice buttons Parameter, // Font14 Semi-Rounded For buttons that near parameter boxes - Icon , // ------ Semi-Rounded For buttons that only has icons. icons should be 16x16 and iconSize has to be defined as 16 while creation of button - Expanded , // Font14 Semi-Rounded For full length buttons. ex. buttons in static box + Icon, // ------ Semi-Rounded For buttons that only has icons. icons should be 16x16 and iconSize has to be defined as 16 while + // creation of button + Expanded, // Font14 Semi-Rounded For full length buttons. ex. buttons in static box }; class Button : public StaticBox @@ -34,17 +36,20 @@ class Button : public StaticBox wxRect textSize; wxSize minSize; // set by outer wxSize paddingSize; + int m_icon_spacing = 5; ScalableBitmap active_icon; - StateColor text_color; + StateColor text_color; bool pressedDown = false; bool m_selected = true; - bool canFocus = true; + bool canFocus = true; bool isCenter = true; bool vertical = false; + bool m_show_indicator = false; + wxColour m_indicator_color = wxColour("#009688"); - static const int buttonWidth = 200; + static const int buttonWidth = 200; static const int buttonHeight = 50; public: @@ -66,21 +71,27 @@ public: void SetPaddingSize(const wxSize& size); + void SetIconSpacing(int spacing); + void SetStyle(const ButtonStyle style /*= ButtonStyle::Regular*/, const ButtonType type /*= ButtonType::None*/); - void SetTextColor(StateColor const &color); + void SetTextColor(StateColor const& color); - void SetTextColorNormal(wxColor const &color); + void SetTextColorNormal(wxColor const& color); void SetSelected(bool selected = true) { m_selected = selected; } + // Show a small coloured dot to the right of the label (used by TabCtrl tabs to flag that + // the tab's category has a selected/toggled setting). + void SetIndicator(bool on); + // Only meant to be used by inspector, not public API ButtonStyle GetStyle() const { return m_style; } - ButtonType GetType() const { return m_type; } - bool IsSelected() const { return m_selected; } + ButtonType GetType() const { return m_type; } + bool IsSelected() const { return m_selected; } bool Enable(bool enable = true) override; - void EnableTooltipEvenDisabled();// The tip will be shown even if the button is disabled + void EnableTooltipEvenDisabled(); // The tip will be shown even if the button is disabled void SetCanFocus(bool canFocus) override; @@ -104,7 +115,7 @@ protected: private: bool m_has_style = false; ButtonStyle m_style; - ButtonType m_type; + ButtonType m_type; void paintEvent(wxPaintEvent& evt); @@ -115,10 +126,10 @@ private: // some useful events void mouseDown(wxMouseEvent& event); void mouseReleased(wxMouseEvent& event); - void mouseCaptureLost(wxMouseCaptureLostEvent &event); - void keyDownUp(wxKeyEvent &event); + void mouseCaptureLost(wxMouseCaptureLostEvent& event); + void keyDownUp(wxKeyEvent& event); - // + // void sendButtonEvent(); // parent motion diff --git a/src/slic3r/GUI/Widgets/CheckList.cpp b/src/slic3r/GUI/Widgets/CheckList.cpp index cd0dcebff3..ed404c62fe 100644 --- a/src/slic3r/GUI/Widgets/CheckList.cpp +++ b/src/slic3r/GUI/Widgets/CheckList.cpp @@ -1,6 +1,7 @@ #include "CheckList.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/I18N.hpp" CheckList::CheckList( wxWindow* parent, @@ -61,7 +62,7 @@ CheckList::CheckList( s_sizer = new wxBoxSizer(wxVERTICAL); m_scroll_area = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, scroll_style); - m_scroll_area->SetScrollRate(0, 10); + m_scroll_area->SetScrollRate(0, FromDIP(20)); m_scroll_area->SetSizer(s_sizer); m_scroll_area->SetBackgroundColour(parent->GetBackgroundColour()); m_scroll_area->Bind(wxEVT_RIGHT_DOWN, &CheckList::ShowMenu, this); @@ -222,4 +223,4 @@ void CheckList::ShowMenu(wxMouseEvent &evt) wxPoint screen_pos = src->ClientToScreen(evt.GetPosition()); wxPoint local_pos = ScreenToClient(screen_pos); PopupMenu(&m, local_pos); -} \ No newline at end of file +} diff --git a/src/slic3r/GUI/Widgets/FanControl.cpp b/src/slic3r/GUI/Widgets/FanControl.cpp index f10553814e..7efdfabf07 100644 --- a/src/slic3r/GUI/Widgets/FanControl.cpp +++ b/src/slic3r/GUI/Widgets/FanControl.cpp @@ -995,7 +995,7 @@ void FanControlPopupNew::init_names(MachineObject* obj) { radio_btn_name[AIR_DUCT::AIR_DUCT_HEATING_INTERNAL_FILT] = _L("Heating"); radio_btn_name[AIR_DUCT::AIR_DUCT_EXHAUST] = _L("Exhaust"); radio_btn_name[AIR_DUCT::AIR_DUCT_FULL_COOLING] = _L("Full Cooling"); - radio_btn_name[AIR_DUCT::AIR_DUCT_INIT] = L("Init"); + radio_btn_name[AIR_DUCT::AIR_DUCT_INIT] = _L("Init"); air_door_func_name[AIR_DOOR::AIR_DOOR_FUNC_CHAMBER] = _L("Chamber"); air_door_func_name[AIR_DOOR::AIR_DOOR_FUNC_INNERLOOP] = _L("Innerloop"); diff --git a/src/slic3r/GUI/Widgets/FanControl.hpp b/src/slic3r/GUI/Widgets/FanControl.hpp index b13ce19d41..2badbf8594 100644 --- a/src/slic3r/GUI/Widgets/FanControl.hpp +++ b/src/slic3r/GUI/Widgets/FanControl.hpp @@ -212,7 +212,6 @@ private: wxGridSizer* m_sizer_fanControl { nullptr }; wxBoxSizer *m_mode_sizer{ nullptr }; - wxBoxSizer *m_bottom_sizer{ nullptr }; // mode switch buttons std::unordered_map<int, SendModeSwitchButton*> m_mode_switch_btns; //<mode_id, SendModeSwitchButton> diff --git a/src/slic3r/GUI/Widgets/MultiNozzleSync.cpp b/src/slic3r/GUI/Widgets/MultiNozzleSync.cpp index 20944df553..316389d65c 100644 --- a/src/slic3r/GUI/Widgets/MultiNozzleSync.cpp +++ b/src/slic3r/GUI/Widgets/MultiNozzleSync.cpp @@ -9,6 +9,7 @@ #include "../wxExtensions.hpp" #include "Button.hpp" #include "Label.hpp" +#include "ComboBox.hpp" #include "StaticBox.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Utils.hpp" @@ -20,6 +21,8 @@ #include <set> #include <wx/choice.h> +#include <wx/filename.h> +#include <wx/filesys.h> #include <wx/sizer.h> #include <wx/stattext.h> @@ -75,13 +78,16 @@ ManualNozzleCountDialog::ManualNozzleCountDialog( wxPanel *content = new wxPanel(this); content->SetBackgroundColour(*wxWHITE); - wxBitmap nozzle_bmp = create_scaled_bitmap("hotend_thumbnail", nullptr, FromDIP(60)); + wxBitmap nozzle_bmp = create_scaled_bitmap("hotend_thumbnail", nullptr, 60); auto *nozzle_icon = new wxStaticBitmap(content, wxID_ANY, nozzle_bmp); wxBoxSizer *content_sizer = new wxBoxSizer(wxHORIZONTAL); content->SetSizer(content_sizer); wxBoxSizer *choice_sizer = new wxBoxSizer(wxVERTICAL); - choice_sizer->Add(new wxStaticText(content, wxID_ANY, _L("Please set nozzle count")), 0, wxALL | wxALIGN_LEFT, FromDIP(10)); + auto nozzle_label = new wxStaticText(content, wxID_ANY, _L("Please set nozzle count")); + nozzle_label->SetFont(Label::Body_14); + nozzle_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#262E30"))); + choice_sizer->Add(nozzle_label, 0, wxTOP | wxRIGHT, FromDIP(15)); wxArrayString nozzle_choices; for (int i = 0; i <= max_nozzle_count; ++i) @@ -90,16 +96,32 @@ ManualNozzleCountDialog::ManualNozzleCountDialog( // A Hybrid extruder mixes Standard and High Flow nozzles, so it gets both count choices; the concrete // types get exactly one. if (volume_type == nvtStandard || volume_type == nvtHybrid) { - choice_sizer->Add(new wxStaticText(content, wxID_ANY, _L(get_nozzle_volume_type_string(nvtStandard))), 0, wxALL | wxALIGN_LEFT, FromDIP(5)); - m_standard_choice = new wxChoice(content, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(100), -1), nozzle_choices); + wxBoxSizer *standard_sizer = new wxBoxSizer(wxHORIZONTAL); + auto standard_label = new wxStaticText(content, wxID_ANY, _L(get_nozzle_volume_type_string(nvtStandard)), wxDefaultPosition, wxSize(FromDIP(100), -1)); + standard_label->SetFont(Label::Body_14); + standard_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#363636"))); + standard_sizer->Add(standard_label, 0, wxALIGN_CENTER_VERTICAL); + m_standard_choice = new ComboBox(content, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(80), -1), 0, nullptr, wxCB_READONLY); + std::vector<wxString>::iterator iter; + for (iter = nozzle_choices.begin(); iter != nozzle_choices.end(); iter++) + m_standard_choice->Append(*iter); m_standard_choice->SetSelection(standard_count); - choice_sizer->Add(m_standard_choice, 0, wxLEFT | wxBOTTOM | wxRIGHT, FromDIP(10)); + standard_sizer->Add(m_standard_choice, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(5)); + choice_sizer->Add(standard_sizer, 0, wxTOP | wxRIGHT, FromDIP(15)); } if (volume_type == nvtHighFlow || volume_type == nvtHybrid) { - choice_sizer->Add(new wxStaticText(content, wxID_ANY, _L(get_nozzle_volume_type_string(nvtHighFlow))), 0, wxALL | wxALIGN_LEFT, FromDIP(5)); - m_highflow_choice = new wxChoice(content, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(100), -1), nozzle_choices); + wxBoxSizer *highflow_sizer = new wxBoxSizer(wxHORIZONTAL); + auto highflow_label = new wxStaticText(content, wxID_ANY, _L(get_nozzle_volume_type_string(nvtHighFlow)), wxDefaultPosition, wxSize(FromDIP(100), -1)); + highflow_label->SetFont(Label::Body_14); + highflow_label->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#363636"))); + highflow_sizer->Add(highflow_label, 0, wxALIGN_CENTER_VERTICAL); + m_highflow_choice = new ComboBox(content, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(80), -1), 0, nullptr, wxCB_READONLY); + std::vector<wxString>::iterator iter; + for (iter = nozzle_choices.begin(); iter != nozzle_choices.end(); iter++) + m_highflow_choice->Append(*iter); m_highflow_choice->SetSelection(highflow_count); - choice_sizer->Add(m_highflow_choice, 0, wxLEFT | wxBOTTOM | wxRIGHT, FromDIP(10)); + highflow_sizer->Add(m_highflow_choice, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(5)); + choice_sizer->Add(highflow_sizer, 0, wxTOP | wxRIGHT, FromDIP(15)); } m_error_label = new wxStaticText(this, wxID_ANY, ""); @@ -126,12 +148,12 @@ ManualNozzleCountDialog::ManualNozzleCountDialog( }; if (m_standard_choice) - m_standard_choice->Bind(wxEVT_CHOICE, [this, update_nozzle_error](wxCommandEvent &e) { + m_standard_choice->Bind(wxEVT_COMBOBOX, [this, update_nozzle_error](wxCommandEvent &e) { update_nozzle_error(m_standard_choice->GetSelection(), m_highflow_choice ? m_highflow_choice->GetSelection() : 0); e.Skip(); }); if (m_highflow_choice) - m_highflow_choice->Bind(wxEVT_CHOICE, [this, update_nozzle_error](wxCommandEvent &e) { + m_highflow_choice->Bind(wxEVT_COMBOBOX, [this, update_nozzle_error](wxCommandEvent &e) { update_nozzle_error(m_standard_choice ? m_standard_choice->GetSelection() : 0, m_highflow_choice->GetSelection()); e.Skip(); }); @@ -140,13 +162,13 @@ ManualNozzleCountDialog::ManualNozzleCountDialog( content_sizer->Add(choice_sizer, 0, wxALIGN_CENTRE_VERTICAL); m_confirm_btn = new Button(this, _L("Confirm")); - m_confirm_btn->SetStyle(ButtonStyle::Confirm, ButtonType::Window); + m_confirm_btn->SetStyle(ButtonStyle::Confirm, ButtonType::Choice); m_confirm_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) { EndModal(wxID_OK); }); wxBoxSizer *main_sizer = new wxBoxSizer(wxVERTICAL); main_sizer->Add(content, 1, wxEXPAND); - main_sizer->Add(m_error_label, 0, wxALL, FromDIP(5)); - main_sizer->Add(m_confirm_btn, 0, wxALIGN_CENTER_HORIZONTAL | wxBOTTOM, FromDIP(20)); + main_sizer->Add(m_error_label, 0, wxALIGN_RIGHT | wxALL, FromDIP(5)); + main_sizer->Add(m_confirm_btn, 0, wxALIGN_RIGHT | wxALL, FromDIP(15)); SetSizerAndFit(main_sizer); CentreOnParent(); diff --git a/src/slic3r/GUI/Widgets/MultiNozzleSync.hpp b/src/slic3r/GUI/Widgets/MultiNozzleSync.hpp index 3baea061dc..5a3e9374a7 100644 --- a/src/slic3r/GUI/Widgets/MultiNozzleSync.hpp +++ b/src/slic3r/GUI/Widgets/MultiNozzleSync.hpp @@ -31,12 +31,12 @@ #include <unordered_map> #include <vector> -class wxChoice; class wxStaticText; class wxStaticBitmap; class Button; // global widget (src/slic3r/GUI/Widgets/Button.hpp), not in the Slic3r::GUI namespace class Label; // global widget (src/slic3r/GUI/Widgets/Label.hpp) class StaticBox; +class ComboBox; namespace Slic3r { class PresetBundle; @@ -70,8 +70,8 @@ public: int GetNozzleCount(NozzleVolumeType volume_type) const; private: - wxChoice *m_standard_choice{nullptr}; - wxChoice *m_highflow_choice{nullptr}; + ComboBox *m_standard_choice{nullptr}; + ComboBox *m_highflow_choice{nullptr}; Button *m_confirm_btn{nullptr}; wxStaticText *m_error_label{nullptr}; }; @@ -89,8 +89,6 @@ private: bool m_right_on{ true }; wxStaticBitmap* badget; - Label* left; - Label* right; Label* left_diameter_desp; Label* right_diameter_desp; Label* left_flow_desp; diff --git a/src/slic3r/GUI/Widgets/ProgressDialog.cpp b/src/slic3r/GUI/Widgets/ProgressDialog.cpp index 53842ecaea..6d42df1007 100644 --- a/src/slic3r/GUI/Widgets/ProgressDialog.cpp +++ b/src/slic3r/GUI/Widgets/ProgressDialog.cpp @@ -178,7 +178,7 @@ bool ProgressDialog::Create(const wxString &title, const wxString &message, int wxBoxSizer *sizer_1line = new wxBoxSizer(wxHORIZONTAL); m_msg = new wxStaticText(m_panel_1line, wxID_ANY, wxEmptyString, wxDefaultPosition, PROGRESSDIALOG_SIMPLEBOOK_SIZE, 0); m_msg->Wrap(-1); - m_msg->SetFont(::Label::Body_13); + m_msg->SetFont(::Label::Body_14); m_msg->SetForegroundColour(PROGRESSDIALOG_GREY_700); sizer_1line->Add(m_msg, 0, wxALIGN_CENTER, 0); m_panel_1line->SetSizer(sizer_1line); @@ -188,7 +188,7 @@ bool ProgressDialog::Create(const wxString &title, const wxString &message, int wxBoxSizer *sizer_2line = new wxBoxSizer(wxVERTICAL); m_msg_2line = new wxStaticText(m_panel_2line, wxID_ANY, wxEmptyString, wxDefaultPosition, PROGRESSDIALOG_SIMPLEBOOK_SIZE, 0); m_msg_2line->Wrap(PROGRESSDIALOG_SIMPLEBOOK_SIZE.x); - m_msg_2line->SetFont(::Label::Body_13); + m_msg_2line->SetFont(::Label::Body_14); m_msg_2line->SetForegroundColour(PROGRESSDIALOG_GREY_700); m_msg_2line->SetMaxSize(wxSize(PROGRESSDIALOG_SIMPLEBOOK_SIZE.x, -1)); sizer_2line->Add(m_msg_2line, 1, wxALL, 0); @@ -199,12 +199,12 @@ bool ProgressDialog::Create(const wxString &title, const wxString &message, int m_sizer_main->Add(m_simplebook, 1, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(28)); } else { m_msg_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); - m_msg_scrolledWindow->SetScrollRate(0,5); + m_msg_scrolledWindow->SetScrollRate(0, FromDIP(20)); wxBoxSizer* m_msg_sizer= new wxBoxSizer(wxVERTICAL); m_msg = new wxStaticText(m_msg_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(PROGRESSDIALOG_SIMPLEBOOK_SIZE.x, -1), 0); m_msg->Wrap(PROGRESSDIALOG_SIMPLEBOOK_SIZE.x); - m_msg->SetFont(::Label::Body_13); + m_msg->SetFont(::Label::Body_14); m_msg->SetForegroundColour(PROGRESSDIALOG_GREY_700); m_msg_sizer->Add(m_msg, 0, wxEXPAND | wxALL, 0); @@ -228,6 +228,9 @@ bool ProgressDialog::Create(const wxString &title, const wxString &message, int if (!HasPDFlag(wxPD_NO_PROGRESS)) { m_gauge = new wxGauge(this, wxID_ANY, maximum, wxDefaultPosition, PROGRESSDIALOG_GAUGE_SIZE, gauge_style); m_gauge->SetValue(0); + m_gauge->SetForegroundColour(wxColour("#009688")); + m_gauge->SetBackgroundColour(wxColour("#D9D9D9")); + wxGetApp().UpdateDarkUI(m_gauge); m_sizer_main->Add(m_gauge, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(28)); } diff --git a/src/slic3r/GUI/Widgets/ProgressDialog.hpp b/src/slic3r/GUI/Widgets/ProgressDialog.hpp index bb770298a9..9ebf31b194 100644 --- a/src/slic3r/GUI/Widgets/ProgressDialog.hpp +++ b/src/slic3r/GUI/Widgets/ProgressDialog.hpp @@ -18,7 +18,7 @@ class WXDLLIMPEXP_FWD_CORE wxWindowDisabler; #define PROGRESSDIALOG_GAUGE_SIZE wxSize(FromDIP(320), FromDIP(6)) #define PROGRESSDIALOG_CANCEL_BUTTON_SIZE wxSize(FromDIP(60), FromDIP(24)) #define PROGRESSDIALOG_DEF_BK wxColour(255,255,255) -#define PROGRESSDIALOG_GREY_700 wxColour(107,107,107) +#define PROGRESSDIALOG_GREY_700 wxColour(54,54,54) // #363636 label color #define wxPD_NO_PROGRESS 0x0100 diff --git a/src/slic3r/GUI/Widgets/StaticBox.cpp b/src/slic3r/GUI/Widgets/StaticBox.cpp index 6391c1a8c4..75953ceb3f 100644 --- a/src/slic3r/GUI/Widgets/StaticBox.cpp +++ b/src/slic3r/GUI/Widgets/StaticBox.cpp @@ -7,6 +7,7 @@ BEGIN_EVENT_TABLE(StaticBox, wxWindow) // catch paint events //EVT_ERASE_BACKGROUND(StaticBox::eraseEvent) +EVT_SIZE(StaticBox::sizeEvent) EVT_PAINT(StaticBox::paintEvent) END_EVENT_TABLE() @@ -52,6 +53,13 @@ void StaticBox::SetCornerRadius(double radius) Refresh(); } +// ORCA use when adding widgets to top to show it like LabeledStaticBox +void StaticBox::SetTopMargin(int margin) +{ + this->top_margin = margin; + Refresh(); +} + void StaticBox::SetBorderStyle(wxPenStyle style) { border_style = style; @@ -140,6 +148,12 @@ void StaticBox::eraseEvent(wxEraseEvent& evt) #endif } +void StaticBox::sizeEvent(wxSizeEvent& evt) +{ + Refresh(); + evt.Skip(); +} + void StaticBox::paintEvent(wxPaintEvent& evt) { // depending on your system you may need to look at double-buffered dcs @@ -191,7 +205,8 @@ void StaticBox::doRender(wxDC& dc) int states = state_handler.states(); if (background_color2.count() == 0) { if ((border_width && border_color.count() > 0) || background_color.count() > 0) { - wxRect rc(0, 0, size.x, size.y); + int topM = top_margin > 0 ? top_margin : 0; + wxRect rc(0, topM, size.x, size.y - topM); if (border_width && border_color.count() > 0) { const double scale = dc.GetContentScaleFactor(); @@ -238,6 +253,6 @@ void StaticBox::doRender(wxDC& dc) if (badge.bmp().IsOk()) { auto s = badge.bmp().GetScaledSize(); - dc.DrawBitmap(badge.bmp(), size.x - s.x, 0); + dc.DrawBitmap(badge.bmp(), size.x - s.x, top_margin > 0 ? top_margin : 0); } } diff --git a/src/slic3r/GUI/Widgets/StaticBox.hpp b/src/slic3r/GUI/Widgets/StaticBox.hpp index b7cdee34ef..b1aee505ce 100644 --- a/src/slic3r/GUI/Widgets/StaticBox.hpp +++ b/src/slic3r/GUI/Widgets/StaticBox.hpp @@ -27,6 +27,8 @@ public: void SetBorderWidth(int width); + void SetTopMargin(int margin); // ORCA + void SetBorderColor(StateColor const & color); void SetBorderColorNormal(wxColor const &color); @@ -46,6 +48,8 @@ public: protected: void eraseEvent(wxEraseEvent& evt); + void sizeEvent(wxSizeEvent& evt); + void paintEvent(wxPaintEvent& evt); void render(wxDC& dc); @@ -55,6 +59,7 @@ protected: protected: double radius; int border_width = 1; + int top_margin = 0; wxPenStyle border_style = wxPENSTYLE_SOLID; StateHandler state_handler; StateColor border_color; diff --git a/src/slic3r/GUI/Widgets/StaticGroup.cpp b/src/slic3r/GUI/Widgets/StaticGroup.cpp deleted file mode 100644 index 69f6137939..0000000000 --- a/src/slic3r/GUI/Widgets/StaticGroup.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "StaticGroup.hpp" - -StaticGroup::StaticGroup(wxWindow *parent, wxWindowID id, const wxString &label) - : LabeledStaticBox(parent, label) -{ - SetBackgroundColour(*wxWHITE); - SetForegroundColour("#CECECE"); -} - -void StaticGroup::ShowBadge(bool show) -{ - if (show && badge.name() != "badge") { - badge = ScalableBitmap(this, "badge", 18); - Refresh(); - } else if (!show && !badge.name().empty()) { - badge = ScalableBitmap{}; - Refresh(); - } -} - -void StaticGroup::DrawBorderAndLabel(wxDC& dc) -{ - LabeledStaticBox::DrawBorderAndLabel(dc); - if (badge.bmp().IsOk()) { - auto s = badge.bmp().GetScaledSize(); - dc.DrawBitmap(badge.bmp(), GetSize().x - s.x, std::max(0, m_pos.y) + m_label_height / 2); - } -} diff --git a/src/slic3r/GUI/Widgets/StaticGroup.hpp b/src/slic3r/GUI/Widgets/StaticGroup.hpp deleted file mode 100644 index 9c98a733b2..0000000000 --- a/src/slic3r/GUI/Widgets/StaticGroup.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef slic3r_GUI_StaticGroup_hpp_ -#define slic3r_GUI_StaticGroup_hpp_ - -#include "../wxExtensions.hpp" - -#include "LabeledStaticBox.hpp" - -class StaticGroup : public LabeledStaticBox -{ -public: - StaticGroup(wxWindow *parent, wxWindowID id, const wxString &label); - void ShowBadge(bool show); - -private: - void DrawBorderAndLabel(wxDC& dc) override; - ScalableBitmap badge; -}; - -#endif // !slic3r_GUI_StaticGroup_hpp_ diff --git a/src/slic3r/GUI/Widgets/TabCtrl.cpp b/src/slic3r/GUI/Widgets/TabCtrl.cpp index 882d2f6897..ef23e2c5e4 100644 --- a/src/slic3r/GUI/Widgets/TabCtrl.cpp +++ b/src/slic3r/GUI/Widgets/TabCtrl.cpp @@ -2,8 +2,8 @@ #include <wx/dc.h> -wxDEFINE_EVENT( wxEVT_TAB_SEL_CHANGING, wxCommandEvent ); -wxDEFINE_EVENT( wxEVT_TAB_SEL_CHANGED, wxCommandEvent ); +wxDEFINE_EVENT(wxEVT_TAB_SEL_CHANGING, wxCommandEvent); +wxDEFINE_EVENT(wxEVT_TAB_SEL_CHANGED, wxCommandEvent); BEGIN_EVENT_TABLE(TabCtrl, StaticBox) @@ -22,11 +22,7 @@ END_EVENT_TABLE() #define TAB_BUTTON_PADDING_Y 2 #define TAB_BUTTON_PADDING TAB_BUTTON_PADDING_X, TAB_BUTTON_PADDING_Y -TabCtrl::TabCtrl(wxWindow * parent, - wxWindowID id, - const wxPoint & pos, - const wxSize & size, - long style) +TabCtrl::TabCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : StaticBox(parent, id, pos, size, style) { #if 0 @@ -42,14 +38,11 @@ TabCtrl::TabCtrl(wxWindow * parent, hsizer->Add(sizer, 0, wxEXPAND | wxBOTTOM, border_width * 4); SetSizer(hsizer); Bind(wxEVT_COMMAND_BUTTON_CLICKED, &TabCtrl::buttonClicked, this); - //wxString reason; - //IsTransparentBackgroundSupported(&reason); + // wxString reason; + // IsTransparentBackgroundSupported(&reason); } -TabCtrl::~TabCtrl() -{ - delete images; -} +TabCtrl::~TabCtrl() { delete images; } int TabCtrl::GetSelection() const { return sel; } @@ -75,15 +68,13 @@ void TabCtrl::SelectItem(int item) Refresh(); } -void TabCtrl::Unselect() -{ - SelectItem(-1); -} +void TabCtrl::Unselect() { SelectItem(-1); } void TabCtrl::Rescale() { - for (auto & b : btns) + for (auto& b : btns) b->Rescale(); + relayout(); } bool TabCtrl::SetFont(wxFont const& font) @@ -95,28 +86,32 @@ bool TabCtrl::SetFont(wxFont const& font) return true; } -int TabCtrl::AppendItem(const wxString &item, - int image, int selImage, - void * clientData) +int TabCtrl::AppendItem(const wxString& item, int image, int selImage, void* clientData) { - Button * btn = new Button(); + Button* btn = new Button(); btn->Create(this, item, "", wxBORDER_NONE); btn->SetFont(GetFont()); - btn->SetTextColor(StateColor( - std::make_pair(0x6B6B6C, (int) StateColor::NotChecked), - std::make_pair(*wxLIGHT_GREY, (int) StateColor::Normal))); + btn->SetTextColor( + StateColor(std::make_pair(0x6B6B6C, (int) StateColor::NotChecked), std::make_pair(wxColour("#262E30"), (int) StateColor::Normal))); btn->SetBackgroundColor(StateColor()); btn->SetCornerRadius(0); btn->SetPaddingSize({TAB_BUTTON_PADDING}); btns.push_back(btn); if (btns.size() > 1) sizer->GetItem(sizer->GetItemCount() - 1)->SetMinSize({0, 0}); - sizer->Add(btn, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, TAB_BUTTON_SPACE); + sizer->Add(btn, 0, wxALIGN_CENTER_VERTICAL); sizer->AddStretchSpacer(1); relayout(); return btns.size() - 1; } +int TabCtrl::AppendItem(const wxString& item, const wxBitmap& bitmap, void* clientData) +{ + const int index = AppendItem(item, -1, -1, clientData); + SetItemBitmap(index, bitmap); + return index; +} + bool TabCtrl::DeleteItem(int item) { if (item < 0 || item >= btns.size()) { @@ -136,7 +131,7 @@ bool TabCtrl::DeleteItem(int item) sizer->GetItem(sizer->GetItemCount() - 1)->SetMinSize({0, 0}); if (selection_changed) { - sel--; // `relayout()` uses `sel` so we need to update this before calling `relayout()` + sel--; // `relayout()` uses `sel` so we need to update this before calling `relayout()` } relayout(); if (selection_changed) { @@ -159,75 +154,87 @@ void TabCtrl::DeleteAllItems() unsigned int TabCtrl::GetCount() const { return btns.size(); } -wxString TabCtrl::GetItemText(unsigned int item) const +wxString TabCtrl::GetItemText(unsigned int item) const { return item < btns.size() ? btns[item]->GetLabel() : wxString{}; } + +void TabCtrl::SetItemText(unsigned int item, wxString const& value) { - return item < btns.size() ? btns[item]->GetLabel() : wxString{}; + if (item >= btns.size()) + return; + btns[item]->SetLabel(value); } -void TabCtrl::SetItemText(unsigned int item, wxString const &value) +void TabCtrl::SetItemBitmap(unsigned int item, const wxBitmap& bitmap) { - if (item >= btns.size()) return; - btns[item]->SetLabel(value); + if (item >= btns.size()) + return; + btns[item]->SetIcon(bitmap); + relayout(); +} + +void TabCtrl::SetItemIndicator(unsigned int item, bool on) +{ + if (item >= btns.size()) + return; + btns[item]->SetIndicator(on); + relayout(); } bool TabCtrl::GetItemBold(unsigned int item) const { - if (item >= btns.size()) return false; + if (item >= btns.size()) + return false; return btns[item]->GetFont() == bold; } void TabCtrl::SetItemBold(unsigned int item, bool bold) { - if (item >= btns.size()) return; + if (item >= btns.size()) + return; btns[item]->SetFont(bold ? this->bold : GetFont()); btns[item]->Rescale(); } void* TabCtrl::GetItemData(unsigned int item) const { - if (item >= btns.size()) return nullptr; + if (item >= btns.size()) + return nullptr; return btns[item]->GetClientData(); } void TabCtrl::SetItemData(unsigned int item, void* clientData) { - if (item >= btns.size()) return; + if (item >= btns.size()) + return; btns[item]->SetClientData(clientData); } void TabCtrl::AssignImageList(wxImageList* imageList) { - if (images == imageList) return; + if (images == imageList) + return; delete images; images = imageList; } -void TabCtrl::SetItemTextColour(unsigned int item, const StateColor &col) +void TabCtrl::SetItemTextColour(unsigned int item, const StateColor& col) { - if (item >= btns.size()) return; + if (item >= btns.size()) + return; btns[item]->SetTextColor(col); } -int TabCtrl::GetFirstVisibleItem() const -{ - return btns.size() == 0 ? -1 : 0; -} +int TabCtrl::GetFirstVisibleItem() const { return btns.size() == 0 ? -1 : 0; } -int TabCtrl::GetNextVisible(int item) const -{ - return ++item < btns.size() ? item : -1; -} +int TabCtrl::GetNextVisible(int item) const { return ++item < btns.size() ? item : -1; } -bool TabCtrl::IsVisible(unsigned int item) const -{ - return true; -} +bool TabCtrl::IsVisible(unsigned int item) const { return true; } void TabCtrl::DoSetSize(int x, int y, int width, int height, int sizeFlags) { auto size = GetSize(); wxWindow::DoSetSize(x, y, width, height, sizeFlags); - if (size == GetSize()) return; + if (size == GetSize()) + return; relayout(); } @@ -235,7 +242,9 @@ void TabCtrl::DoSetSize(int x, int y, int width, int height, int sizeFlags) WXLRESULT TabCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { - if (nMsg == WM_GETDLGCODE) { return DLGC_WANTARROWS; } + if (nMsg == WM_GETDLGCODE) { + return DLGC_WANTARROWS; + } return wxWindow::MSWWindowProc(nMsg, wParam, lParam); } @@ -244,15 +253,15 @@ WXLRESULT TabCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) void TabCtrl::relayout() { int offset = 10; - int item = sel + 1; - int first = 0; + int item = sel + 1; + int first = 0; for (int i = 0; i < item; ++i) - offset += btns[i]->GetMinSize().x + TAB_BUTTON_SPACE * 2; + offset += btns[i]->GetMinSize().x; if (item < btns.size()) - offset += btns[item]->GetMinSize().x + TAB_BUTTON_SPACE * 2; - int width = GetSize().x; + offset += btns[item]->GetMinSize().x; + int width = GetSize().x; for (int i = 0; i < btns.size(); ++i) { - auto size = btns[i]->GetMinSize().x + TAB_BUTTON_SPACE * 2; + auto size = btns[i]->GetMinSize().x; if (i < sel && offset > width) { sizer->Show(i * 2 + 1, false); sizer->Show(i * 2 + 2, false); @@ -273,14 +282,23 @@ void TabCtrl::relayout() sizer->GetItem(i * 2 + 2)->SetMinSize({0, 0}); } if (item >= btns.size()) - -- item; + --item; // Keep spacing 2 ~ 10 TAB_BUTTON_SPACE - int b = GetSize().x - offset - 10 - (item + 1 - first) * TAB_BUTTON_SPACE * 8; + int b = GetSize().x - offset - 10 - (item + 1 - first) * 16; sizer->GetItem(item * 2 + 2)->SetMinSize({b > 0 ? b : 0, 0}); Layout(); } -void TabCtrl::buttonClicked(wxCommandEvent &event) +int TabCtrl::GetFullSize() const +{ + // Mirrors relayout(): a 10px leading spacer plus every button's min width. + int width = 10; + for (const Button* btn : btns) + width += btn->GetMinSize().x; + return width; +} + +void TabCtrl::buttonClicked(wxCommandEvent& event) { SetFocus(); auto btn = event.GetEventObject(); @@ -288,7 +306,7 @@ void TabCtrl::buttonClicked(wxCommandEvent &event) SelectItem(iter == btns.end() ? -1 : iter - btns.begin()); } -void TabCtrl::keyDown(wxKeyEvent &event) +void TabCtrl::keyDown(wxKeyEvent& event) { switch (event.GetKeyCode()) { case WXK_UP: @@ -307,11 +325,13 @@ void TabCtrl::keyDown(wxKeyEvent &event) void TabCtrl::doRender(wxDC& dc) { wxSize size = GetSize(); - int states = state_handler.states(); - if (sel < 0) { return; } + int states = state_handler.states(); + if (sel < 0) { + return; + } - auto x1 = btns[sel]->GetPosition().x; - auto x2 = x1 + btns[sel]->GetSize().x; + auto x1 = btns[sel]->GetPosition().x; + auto x2 = x1 + btns[sel]->GetSize().x; const int BS2 = (1 + border_width) / 2; #if 0 const int BS = border_width / 2; diff --git a/src/slic3r/GUI/Widgets/TabCtrl.hpp b/src/slic3r/GUI/Widgets/TabCtrl.hpp index 04b5b8e24e..d89da145af 100644 --- a/src/slic3r/GUI/Widgets/TabCtrl.hpp +++ b/src/slic3r/GUI/Widgets/TabCtrl.hpp @@ -3,32 +3,29 @@ #include "Button.hpp" -wxDECLARE_EVENT( wxEVT_TAB_SEL_CHANGING, wxCommandEvent ); -wxDECLARE_EVENT( wxEVT_TAB_SEL_CHANGED, wxCommandEvent ); +wxDECLARE_EVENT(wxEVT_TAB_SEL_CHANGING, wxCommandEvent); +wxDECLARE_EVENT(wxEVT_TAB_SEL_CHANGED, wxCommandEvent); class TabCtrl : public StaticBox { std::vector<Button*> btns; wxImageList* images = nullptr; - wxBoxSizer * sizer = nullptr; + wxBoxSizer* sizer = nullptr; int sel = -1; wxFont bold; public: - TabCtrl(wxWindow * parent, - wxWindowID id, - const wxPoint & pos = wxDefaultPosition, - const wxSize & size = wxDefaultSize, - long style = 0); + TabCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0); ~TabCtrl(); public: - virtual bool SetFont(wxFont const & font) override; + virtual bool SetFont(wxFont const& font) override; public: - int AppendItem(const wxString &item, int image = -1, int selImage = -1, void *clientData = nullptr); + int AppendItem(const wxString& item, int image = -1, int selImage = -1, void* clientData = nullptr); + int AppendItem(const wxString& item, const wxBitmap& bitmap, void* clientData = nullptr); bool DeleteItem(int item); @@ -36,7 +33,7 @@ public: unsigned int GetCount() const; - int GetSelection() const; + int GetSelection() const; void SelectItem(int item); @@ -45,15 +42,19 @@ public: virtual void Rescale(); wxString GetItemText(unsigned int item) const; - void SetItemText(unsigned int item, wxString const &value); + void SetItemText(unsigned int item, wxString const& value); + void SetItemBitmap(unsigned int item, const wxBitmap& bitmap); - bool GetItemBold(unsigned int item) const; - void SetItemBold(unsigned int item, bool bold); + // Show/hide the small "has selection" dot next to a tab's text. + void SetItemIndicator(unsigned int item, bool on); - void* GetItemData(unsigned int item) const; - void SetItemData(unsigned int item, void *clientData); - - void AssignImageList(wxImageList *imageList); + bool GetItemBold(unsigned int item) const; + void SetItemBold(unsigned int item, bool bold); + + void* GetItemData(unsigned int item) const; + void SetItemData(unsigned int item, void* clientData); + + void AssignImageList(wxImageList* imageList); void SetItemTextColour(unsigned int item, const StateColor& col); @@ -62,6 +63,8 @@ public: int GetNextVisible(int item) const; bool IsVisible(unsigned int item) const; + int GetFullSize() const; + private: virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO) override; @@ -71,10 +74,10 @@ private: void relayout(); - void buttonClicked(wxCommandEvent & event); - void keyDown(wxKeyEvent &event); + void buttonClicked(wxCommandEvent& event); + void keyDown(wxKeyEvent& event); - void doRender(wxDC & dc) override; + void doRender(wxDC& dc) override; // some useful events bool sendTabCtrlEvent(bool changing = false); diff --git a/src/slic3r/GUI/Widgets/TempInput.cpp b/src/slic3r/GUI/Widgets/TempInput.cpp index 6705378dac..79899940d1 100644 --- a/src/slic3r/GUI/Widgets/TempInput.cpp +++ b/src/slic3r/GUI/Widgets/TempInput.cpp @@ -275,9 +275,9 @@ void TempInput::Warning(bool warn, WarningType type) wxString warning_string; if (type == WarningType::WARNING_TOO_HIGH) - warning_string = _L("The maximum temperature cannot exceed ") + wxString::Format("%d", max_temp); + warning_string = wxString::Format(_L("The maximum temperature cannot exceed %d"), max_temp); else if (type == WarningType::WARNING_TOO_LOW) - warning_string = _L("The minmum temperature should not be less than ") + wxString::Format("%d", min_temp); + warning_string = wxString::Format(_L("The minimum temperature should not be less than %d"), min_temp); warning_text->SetLabel(warning_string); warning_text->Wrap(-1); warning_text->Fit(); diff --git a/src/slic3r/GUI/Widgets/WebHosting.cpp b/src/slic3r/GUI/Widgets/WebHosting.cpp new file mode 100644 index 0000000000..a1b0df496a --- /dev/null +++ b/src/slic3r/GUI/Widgets/WebHosting.cpp @@ -0,0 +1,69 @@ +#include "WebHosting.hpp" + +#include "slic3r/GUI/GUI.hpp" + +#include <libslic3r/Utils.hpp> + +#include <boost/filesystem.hpp> + +#include <wx/uri.h> + +namespace Slic3r { namespace GUI { namespace web_hosting { + +namespace { + +// Injected into the top-level page at document start (before the plugin's own +// scripts). Defines window.orca as the only host surface the page may use. It +// references window.wx lazily (at call time) so it never races the backend's +// deferred registration of the "wx" message handler. Guarded against +// double-injection so it is harmless if also prepended. +constexpr char ORCA_BRIDGE_JS[] = R"JS( +(function () { + if (window.top !== window.self) return; + if (window.orca) return; + var handlers = []; + function send(kind, data) { + try { + window.wx.postMessage(JSON.stringify({ + channel: 'orca', kind: kind, data: (data === undefined ? null : data) + })); + } catch (e) { /* bridge not ready yet */ } + } + window.orca = { + postMessage: function (d) { send('message', d); }, + submit: function (d) { send('submit', d); }, + close: function () { send('close'); }, + onMessage: function (cb) { if (typeof cb === 'function') handlers.push(cb); } + }; + window.__orcaDispatch = function (payload) { + var data = payload ? payload.data : null; + for (var i = 0; i < handlers.length; i++) { + try { handlers[i](data); } catch (e) {} + } + }; +})(); +)JS"; + +} // namespace + +wxString bootstrap_url() +{ + return wxString("file://") + from_u8((boost::filesystem::path(resources_dir()) / BOOTSTRAP_PAGE).make_preferred().string()); +} + +wxString content_base_url() +{ + const std::string dir = (boost::filesystem::path(resources_dir()) / "web").make_preferred().string(); + return wxString("file://") + from_u8(dir) + "/"; +} + +bool is_content_url(const wxString& url) +{ + // The web view reports the URL it parsed, which escapes anything the resources path holds + // (a space, a non-ASCII character), while content_base_url() is the raw path. + return wxURI::Unescape(url.BeforeFirst('#')) == content_base_url(); +} + +const char* orca_bridge_script() { return ORCA_BRIDGE_JS; } + +}}} // namespace Slic3r::GUI::web_hosting diff --git a/src/slic3r/GUI/Widgets/WebHosting.hpp b/src/slic3r/GUI/Widgets/WebHosting.hpp new file mode 100644 index 0000000000..5bf0ebc166 --- /dev/null +++ b/src/slic3r/GUI/Widgets/WebHosting.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include <wx/string.h> + +namespace Slic3r { namespace GUI { namespace web_hosting { + +// Shared by the hosts that show plugin HTML: WebDialog and WebPanel. + +// The bundled blank page a plugin web view loads before the plugin HTML is swapped in. +constexpr const char* BOOTSTRAP_PAGE = "web/dialog/WebDialog/blank.html"; + +// The file:// URL of BOOTSTRAP_PAGE. +wxString bootstrap_url(); + +// The file:// base URL plugin HTML is loaded against, so relative URLs resolve to bundled resources. +wxString content_base_url(); + +// Whether `url` is the plugin HTML's base URL, ignoring any fragment. WebKit reports it for the +// injected page, a reload and a failed navigation alike, so a match alone is not a new document. +bool is_content_url(const wxString& url); + +// The window.orca bridge of plugin windows and docked panels. Pages tabs ship their own. +const char* orca_bridge_script(); + +}}} // namespace Slic3r::GUI::web_hosting diff --git a/src/slic3r/GUI/Widgets/WebView.cpp b/src/slic3r/GUI/Widgets/WebView.cpp index e281d97407..a313e80d66 100644 --- a/src/slic3r/GUI/Widgets/WebView.cpp +++ b/src/slic3r/GUI/Widgets/WebView.cpp @@ -1,17 +1,24 @@ #include "WebView.hpp" +#include "slic3r/GUI/Widgets/StateColor.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/Utils/MacDarkMode.hpp" #include <boost/log/trivial.hpp> +#include <chrono> +#include <thread> + #include <wx/webviewarchivehandler.h> #include <wx/webviewfshandler.h> +#include <wx/weakref.h> #if wxUSE_WEBVIEW_EDGE #include <wx/msw/webview_edge.h> #elif defined(__WXMAC__) #include <wx/osx/webview_webkit.h> #endif #include <wx/uri.h> +#include <wx/filename.h> +#include <wx/stdpaths.h> #if defined(__WIN32__) || defined(__WXMAC__) #include "wx/private/jsscriptwrapper.h" #endif @@ -73,7 +80,7 @@ DWORD DownloadAndInstallWV2RT() { }) .perform_sync(); // Sleep for 1 second to wait for the buffer writen into disk - std::this_thread::sleep_for(1000ms); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); if (downloaded) { // Either Package the WebView2 Bootstrapper with your app or download it using fwlink // Then invoke install at Runtime. @@ -229,7 +236,9 @@ class FakeWebView : public wxWebView wxDEFINE_EVENT(EVT_WEBVIEW_RECREATED, wxCommandEvent); static std::vector<wxWebView*> g_webviews; -static std::vector<wxWebView*> g_delay_webviews; +// Webviews waiting for their script handler while another one is added; adding it yields, so a +// view can be destroyed while it waits. +static std::vector<wxWeakRef<wxWebView>> g_delay_webviews; class WebViewRef : public wxObjectRefData { @@ -334,8 +343,9 @@ wxWebView* WebView::CreateWebView(wxWindow * parent, wxString const & url) addScriptMessageHandler(webView); while (!g_delay_webviews.empty()) { auto views = std::move(g_delay_webviews); - for (auto wv : views) - addScriptMessageHandler(wv); + for (const wxWeakRef<wxWebView>& wv : views) + if (wv) + addScriptMessageHandler(wv.get()); } } #ifndef __WIN32__ diff --git a/src/slic3r/GUI/Widgets/WebViewHostDialog.cpp b/src/slic3r/GUI/Widgets/WebViewHostDialog.cpp index 044fe33cde..e4e3d2878a 100644 --- a/src/slic3r/GUI/Widgets/WebViewHostDialog.cpp +++ b/src/slic3r/GUI/Widgets/WebViewHostDialog.cpp @@ -75,6 +75,8 @@ if(document.documentElement) } // namespace +std::string WebViewHostDialog::theme_apply_script() { return host_theme_apply_js(); } + // Document-start user script: injects the contract <style>, stamps data-orca-theme before // first paint, and raises a JS flag so the legacy globalapi.js dark.css poll stands down for // host-themed pages. The WebView2 timing guard lives in document_start_injector(). @@ -87,7 +89,7 @@ std::string WebViewHostDialog::theme_user_script() "if(document.documentElement)document.documentElement.setAttribute('data-orca-theme',theme);"); } -std::string WebViewHostDialog::plugin_defaults_user_script() +std::string WebViewHostDialog::element_defaults_user_script() { std::string css; css += "<style id=\"orca-plugin-defaults\">"; diff --git a/src/slic3r/GUI/Widgets/WebViewHostDialog.hpp b/src/slic3r/GUI/Widgets/WebViewHostDialog.hpp index 119e3b5955..57ee21d119 100644 --- a/src/slic3r/GUI/Widgets/WebViewHostDialog.hpp +++ b/src/slic3r/GUI/Widgets/WebViewHostDialog.hpp @@ -49,9 +49,11 @@ public: const std::string& prelude = {}, const std::string& on_inject = {}); - // Shared by modeless Pages tabs and PluginWebDialog. + // Shared by WebPanel hosts and WebDialog. static std::string theme_user_script(); - static std::string plugin_defaults_user_script(); + static std::string element_defaults_user_script(); + // Re-themes an already-loaded page in place, for web views hosted outside a dialog. + static std::string theme_apply_script(); protected: wxWebView* browser() const { return m_browser; } diff --git a/src/slic3r/GUI/WipeTowerDialog.cpp b/src/slic3r/GUI/WipeTowerDialog.cpp index d4fbcc6fe3..9a473c7c8a 100644 --- a/src/slic3r/GUI/WipeTowerDialog.cpp +++ b/src/slic3r/GUI/WipeTowerDialog.cpp @@ -6,6 +6,7 @@ #include "GUI.hpp" #include "I18N.hpp" #include "GUI_App.hpp" +#include "WebViewDialog.hpp" #include "MsgDialog.hpp" #include "format.hpp" #include "libslic3r/Color.hpp" diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 88e2df31c0..0857612ac3 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -1222,7 +1222,7 @@ ImageTransientPopup::ImageTransientPopup( wxWindow *parent, bool scrolled, wxBit m_panel->SetSize(300, 300); // And also actually enable them. - m_panel->SetScrollRate(10, 10); + m_panel->SetScrollRate(10, FromDIP(20)); } else { diff --git a/src/slic3r/Utils/3DPrinterOS.cpp b/src/slic3r/Utils/3DPrinterOS.cpp index 61fcc80d5b..503dbe63e3 100755 --- a/src/slic3r/Utils/3DPrinterOS.cpp +++ b/src/slic3r/Utils/3DPrinterOS.cpp @@ -8,6 +8,7 @@ #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> #include <boost/algorithm/string/predicate.hpp> +#include <nlohmann/json.hpp> #include <wx/progdlg.h> #include <wx/string.h> @@ -30,6 +31,8 @@ #include <wx/busyinfo.h> +using json = nlohmann::json; + namespace fs = boost::filesystem; namespace pt = boost::property_tree; diff --git a/src/slic3r/Utils/BBLCloudServiceAgent.cpp b/src/slic3r/Utils/BBLCloudServiceAgent.cpp index 846e4ce509..801ad1cf57 100644 --- a/src/slic3r/Utils/BBLCloudServiceAgent.cpp +++ b/src/slic3r/Utils/BBLCloudServiceAgent.cpp @@ -8,6 +8,9 @@ #include <sstream> #include <boost/algorithm/string/replace.hpp> #include <nlohmann/json.hpp> + +using json = nlohmann::json; + namespace Slic3r { diff --git a/src/slic3r/Utils/BBLNetworkPlugin.cpp b/src/slic3r/Utils/BBLNetworkPlugin.cpp index 607e7d16d1..d795abf354 100644 --- a/src/slic3r/Utils/BBLNetworkPlugin.cpp +++ b/src/slic3r/Utils/BBLNetworkPlugin.cpp @@ -349,7 +349,7 @@ void* BBLNetworkPlugin::get_function(const char* name) return function; #if defined(_MSC_VER) || defined(_WIN32) - function = GetProcAddress(m_networking_module, name); + function = reinterpret_cast<void*>(GetProcAddress(m_networking_module, name)); #else function = dlsym(m_networking_module, name); #endif diff --git a/src/slic3r/Utils/BBLPrinterAgent.cpp b/src/slic3r/Utils/BBLPrinterAgent.cpp index 5e73edf84c..0c6225cc55 100644 --- a/src/slic3r/Utils/BBLPrinterAgent.cpp +++ b/src/slic3r/Utils/BBLPrinterAgent.cpp @@ -8,6 +8,7 @@ #include <nlohmann/json.hpp> using json = nlohmann::json; +#include <type_traits> #include <unordered_map> namespace Slic3r { @@ -90,6 +91,16 @@ OnMessageFn to_orca_messages(OnMessageFn fn) return [fn = std::move(fn)](std::string dev_id, std::string msg) { fn(std::move(dev_id), BBLPrinterAgent::to_orca_payload(std::move(msg))); }; } +// Retypes a plug-in entry point for an older plug-in generation. The detour through the +// generic function pointer marks the signature change as deliberate, which a direct cast +// between two signatures does not. +template <typename To, typename From> +To as_abi(From fn) +{ + static_assert(std::is_function_v<std::remove_pointer_t<From>>, "as_abi retypes a function pointer"); + return reinterpret_cast<To>(reinterpret_cast<void (*)()>(fn)); +} + } // namespace std::string BBLPrinterAgent::to_orca_filament_id(const std::string& printer_filament_id) const @@ -141,7 +152,7 @@ int BBLPrinterAgent::send_message(std::string dev_id, std::string json_str, int // series through the legacy form would silently drop MessageFlag sign/encrypt. switch (plugin.network_abi()) { case NetworkAbi::Legacy: { - auto legacy_func = reinterpret_cast<func_send_message_legacy>(func); + auto legacy_func = as_abi<func_send_message_legacy>(func); return legacy_func(agent, std::move(dev_id), std::move(json_str), qos); } case NetworkAbi::V0203: @@ -185,7 +196,7 @@ int BBLPrinterAgent::send_message_to_printer(std::string dev_id, std::string jso if (func && agent) { switch (plugin.network_abi()) { case NetworkAbi::Legacy: { - auto legacy_func = reinterpret_cast<func_send_message_to_printer_legacy>(func); + auto legacy_func = as_abi<func_send_message_to_printer_legacy>(func); return legacy_func(agent, std::move(dev_id), std::move(json_str), qos); } case NetworkAbi::V0203: @@ -275,7 +286,7 @@ int BBLPrinterAgent::bind(std::string dev_ip, std::string dev_id, std::string de switch (plugin.network_abi()) { case NetworkAbi::Legacy: case NetworkAbi::V0203: { - auto older_func = reinterpret_cast<func_bind_pre0208>(func); + auto older_func = as_abi<func_bind_pre0208>(func); return older_func(agent, dev_ip, dev_id, sec_link, timezone, improved, update_fn); } case NetworkAbi::Current: @@ -436,9 +447,9 @@ int dispatch_start(CurrentFn func, PrintParams& params, const CallbackFns&... ca params.ams_mapping_info = BBLPrinterAgent::from_orca_payload(std::move(params.ams_mapping_info)); switch (plugin.network_abi()) { case NetworkAbi::Legacy: - return reinterpret_cast<LegacyFn>(func)(agent, BBLNetworkPlugin::as_legacy(params), callbacks...); + return as_abi<LegacyFn>(func)(agent, BBLNetworkPlugin::as_legacy(params), callbacks...); case NetworkAbi::V0203: - return reinterpret_cast<Fn0203>(func)(agent, BBLNetworkPlugin::as_0203(params), callbacks...); + return as_abi<Fn0203>(func)(agent, BBLNetworkPlugin::as_0203(params), callbacks...); case NetworkAbi::Current: return func(agent, std::move(params), callbacks...); default: diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 499228d13c..00a36947dc 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -3,6 +3,7 @@ #include "../GUI/GUI_App.hpp" #include "../GUI/DeviceCore/DevStorage.h" #include "../GUI/DeviceManager.hpp" +#include "NetworkAgent.hpp" #include "../GUI/Jobs/ProgressIndicator.hpp" #include "../GUI/PartPlate.hpp" #include "libslic3r/CutUtils.hpp" @@ -752,7 +753,9 @@ bool CalibUtils::calib_flowrate(int pass, const CalibInfo &calib_info, wxString _obj->config.set_key_value("top_surface_line_width", new ConfigOptionFloatOrPercent(nozzle_diameter * 1.2f, false)); _obj->config.set_key_value("internal_solid_infill_line_width", new ConfigOptionFloatOrPercent(nozzle_diameter * 1.2f, false)); _obj->config.set_key_value("top_surface_pattern", new ConfigOptionEnum<InfillPattern>(ipMonotonic)); - _obj->config.set_key_value("top_solid_infill_flow_ratio", new ConfigOptionFloat(1.0f)); + const auto *top_solid_flow = dynamic_cast<const ConfigOptionFloatsNullable *>(_obj->config.option("top_solid_infill_flow_ratio")); + _obj->config.set_key_value("top_solid_infill_flow_ratio", + new ConfigOptionFloatsNullable(top_solid_flow ? top_solid_flow->size() : 1, 1.0f)); _obj->config.set_key_value("infill_direction", new ConfigOptionFloat(45)); _obj->config.set_key_value("ironing_type", new ConfigOptionEnum<IroningType>(IroningType::NoIroning)); _obj->config.set_key_value("internal_solid_infill_speed", new ConfigOptionFloatsNullable({internal_solid_speed})); @@ -1095,6 +1098,7 @@ bool CalibUtils::calib_generic_PA(const CalibInfo &calib_info, wxString &error_m calib_pa_pattern(calib_info, model); DynamicPrintConfig print_config = calib_info.print_prest->config; + print_config.set_key_value("wipe_inward", new ConfigOptionBool(false)); DynamicPrintConfig filament_config = calib_info.filament_prest->config; DynamicPrintConfig printer_config = calib_info.printer_prest->config; @@ -1356,6 +1360,7 @@ void CalibUtils::calib_retraction(const CalibInfo &calib_info, wxString &error_m read_model_from_file(input_file, model); DynamicPrintConfig print_config = calib_info.print_prest->config; + print_config.set_key_value("wipe_inward", new ConfigOptionBool(false)); DynamicPrintConfig filament_config = calib_info.filament_prest->config; DynamicPrintConfig printer_config = calib_info.printer_prest->config; diff --git a/src/slic3r/Utils/CloudProvider.hpp b/src/slic3r/Utils/CloudProvider.hpp new file mode 100644 index 0000000000..0f03683222 --- /dev/null +++ b/src/slic3r/Utils/CloudProvider.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include <string> + +namespace Slic3r { + +// Identifiers of the cloud services an ICloudServiceAgent can stand for. +static const std::string ORCA_CLOUD_PROVIDER("orca"); +static const std::string BBL_CLOUD_PROVIDER("bbl"); + +} // namespace Slic3r diff --git a/src/slic3r/Utils/CrealityHostDiscovery.cpp b/src/slic3r/Utils/CrealityHostDiscovery.cpp index 8fcf16749d..a3256794e2 100644 --- a/src/slic3r/Utils/CrealityHostDiscovery.cpp +++ b/src/slic3r/Utils/CrealityHostDiscovery.cpp @@ -1,4 +1,5 @@ #include "CrealityHostDiscovery.hpp" +#include "CrealityPrint.hpp" #include "cxmdns.h" #include "Http.hpp" @@ -11,25 +12,16 @@ namespace Slic3r { namespace { -struct ModelEntry { const char* code; const char* name; }; -constexpr ModelEntry kCfsCapableModels[] = { - {"F008", "K2 Plus"}, - {"F012", "K2 Pro"}, - {"F021", "K2"}, -}; - +// Model capability/name lookups live in CrealityPrint (one table shared +// with the print host) so discovery can't drift out of sync again. bool is_cfs_capable(const std::string& code) { - for (const auto& m : kCfsCapableModels) - if (code == m.code) return true; - return false; + return CrealityPrint::model_supports_multi_color(code); } std::string model_name_for(const std::string& code) { - for (const auto& m : kCfsCapableModels) - if (code == m.code) return m.name; - return {}; + return CrealityPrint::model_display_name(code); } // Extract the device suffix from a service name like diff --git a/src/slic3r/Utils/CrealityPrint.cpp b/src/slic3r/Utils/CrealityPrint.cpp index ec980cee98..323db56ff6 100644 --- a/src/slic3r/Utils/CrealityPrint.cpp +++ b/src/slic3r/Utils/CrealityPrint.cpp @@ -2,6 +2,7 @@ #include <algorithm> #include <map> +#include <unordered_set> #include <sstream> #include <exception> #include <boost/format.hpp> @@ -217,29 +218,36 @@ static void ws_connect(net::io_context& ioc, websocket::stream<beast::tcp_stream std::string(BOOST_BEAST_VERSION_STRING) + " websocket-client-coro"); })); ws.handshake(host, "/"); - -#ifdef _WIN32 - DWORD recv_timeout = 3000; -#else - struct timeval recv_timeout = {3, 0}; -#endif - setsockopt(beast::get_lowest_layer(ws).socket().native_handle(), - SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast<const char*>(&recv_timeout), sizeof(recv_timeout)); + // K1-family firmware requires TEXT-mode WebSocket frames; K2-family accepts both. + // SO_RCVTIMEO is a no-op with Boost.Asio on macOS/Linux (kqueue/epoll); use + // expires_after() on the tcp_stream layer instead (managed per-call by the caller). + ws.text(true); } static std::string ws_send_and_read(websocket::stream<beast::tcp_stream>& ws, const json& cmd, const std::string& expected_key, int max_reads = 20) { ws.write(net::buffer(to_string(cmd))); - for (int i = 0; i < max_reads; i++) { + // total caps the loop if the printer sends a continuous stream of heartbeats + for (int reads = 0, total = 0; reads < max_reads && total < max_reads * 3; ++total) { beast::flat_buffer buf; beast::error_code ec; ws.read(buf, ec); - if (ec == net::error::would_block) + // would_block = SO_RCVTIMEO fired (Windows/raw sockets) + // beast::error::timeout = expires_after() fired (Boost.Beast, macOS/Linux) + if (ec == net::error::would_block || ec == beast::error::timeout) break; if (ec) throw beast::system_error{ec}; std::string msg = beast::buffers_to_string(buf.data()); + // K1-family firmware sends periodic heartbeat pings; ack them so the + // printer does not close the connection, then keep reading. + if (msg.find("heart_beat") != std::string::npos) { + beast::error_code wr_ec; + ws.write(net::buffer(std::string("ok")), wr_ec); + continue; + } + ++reads; if (msg.find(expected_key) != std::string::npos) return msg; } @@ -247,6 +255,19 @@ static std::string ws_send_and_read(websocket::stream<beast::tcp_stream>& ws, co return {}; } +// K1-family firmware stores gcodes under /usr/data and uses a stricter WebSocket +// protocol (TEXT frames, heartbeat acks). Add verified K1-family model IDs here. +static bool is_k1_family(const std::string& model) +{ + static const std::unordered_set<std::string> k1_models = { + "K1", + "K1 SE", + "K1C", + "K1_CFS-C", + }; + return k1_models.count(model) > 0; +} + void CrealityPrint::query_model() const { if (!m_model.empty()) @@ -256,29 +277,48 @@ void CrealityPrint::query_model() const test(msg); } -bool CrealityPrint::supports_multi_color_print() const +// CFS-capable models. One table for capability checks, display names and +// LAN-discovery labelling -- keep additions here only. +static const std::map<std::string, std::string>& cfs_capable_models() { - query_model(); - // K2-platform printers with CFS support - return m_model == "F008" // K2 Plus - || m_model == "F012" // K2 Pro - || m_model == "F021" // K2 - || m_model == "F022"; // SPARKX i7 -} - -std::string CrealityPrint::model_name() const -{ - static const std::map<std::string, std::string> names = { + static const std::map<std::string, std::string> models = { {"F008", "K2 Plus"}, {"F012", "K2 Pro"}, {"F021", "K2"}, {"F022", "SPARKX i7"}, + {"K1", "K1"}, + {"K1 SE", "K1 SE"}, + {"K1C", "K1C"}, + {"K1_CFS-C", "K1_CFS-C"}, }; + return models; +} + +bool CrealityPrint::model_supports_multi_color(const std::string& model) +{ + return cfs_capable_models().count(model) > 0; +} + +std::string CrealityPrint::model_display_name(const std::string& model) +{ + auto& names = cfs_capable_models(); + auto it = names.find(model); + return it != names.end() ? it->second : std::string{}; +} + +bool CrealityPrint::supports_multi_color_print() const +{ + query_model(); + return model_supports_multi_color(m_model); +} + +std::string CrealityPrint::model_name() const +{ query_model(); if (m_model.empty()) return "unreachable"; - auto it = names.find(m_model); - return it != names.end() ? it->second : "unknown (" + m_model + ")"; + std::string name = model_display_name(m_model); + return !name.empty() ? name : "unknown (" + m_model + ")"; } std::string CrealityPrint::query_boxes_info() const @@ -288,9 +328,15 @@ std::string CrealityPrint::query_boxes_info() const websocket::stream<beast::tcp_stream> ws{ioc}; ws_connect(ioc, ws, m_host, "9999"); + beast::get_lowest_layer(ws).expires_after(std::chrono::seconds(10)); json boxs_query = {{"method", "get"}, {"params", {{"boxsInfo", 1}}}}; std::string result = ws_send_and_read(ws, boxs_query, "boxsInfo"); - ws.close(websocket::close_code::normal); + + // K1 SE closes its side after responding; use the error_code overload so + // the resulting EOF does not throw and discard the already-received result. + beast::error_code close_ec; + beast::get_lowest_layer(ws).expires_after(std::chrono::seconds(3)); + ws.close(websocket::close_code::normal, close_ec); return result; } catch (std::exception const& e) { BOOST_LOG_TRIVIAL(error) << "CrealityPrint: Failed to query boxsInfo: " << e.what(); @@ -301,7 +347,8 @@ std::string CrealityPrint::query_boxes_info() const bool CrealityPrint::start_print(wxString &msg, const std::string &filename, const std::map<std::string, std::string>& extended_info) const { try { - const std::string gcode_path = "/mnt/UDISK/printer_data/gcodes/" + filename; + const std::string data_root = is_k1_family(m_model) ? "/usr/data" : "/mnt/UDISK"; + const std::string gcode_path = data_root + "/printer_data/gcodes/" + filename; net::io_context ioc; websocket::stream<beast::tcp_stream> ws{ioc}; @@ -379,7 +426,7 @@ bool CrealityPrint::start_print(wxString &msg, const std::string &filename, cons json cmd = { {"method", "set"}, {"params", { - {"opGcodeFile", "printprt:/usr/data/printer_data/gcodes/" + filename} + {"opGcodeFile", "printprt:" + gcode_path} }} }; ws.write(net::buffer(to_string(cmd))); @@ -396,6 +443,7 @@ bool CrealityPrint::start_print(wxString &msg, const std::string &filename, cons // Same reason: the printer may have already closed the connection. A close // error here is not a failure — the start command was sent above. beast::error_code close_ec; + beast::get_lowest_layer(ws).expires_after(std::chrono::seconds(3)); ws.close(websocket::close_code::normal, close_ec); return true; } catch(std::exception const& e) { diff --git a/src/slic3r/Utils/CrealityPrint.hpp b/src/slic3r/Utils/CrealityPrint.hpp index 3b5287f382..2c3c554cf4 100644 --- a/src/slic3r/Utils/CrealityPrint.hpp +++ b/src/slic3r/Utils/CrealityPrint.hpp @@ -31,6 +31,12 @@ public: PrintHostPostUploadActions get_post_upload_actions() const override; bool upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const override; bool supports_multi_color_print() const; + + // Single source of truth for the CFS-capable model table, shared with + // LAN discovery (CrealityHostDiscovery). Model is the /info "model" + // value: an F-code on the K2 platform, a literal name on K1-family. + static bool model_supports_multi_color(const std::string& model); + static std::string model_display_name(const std::string& model); std::string query_boxes_info() const; std::string model_name() const; diff --git a/src/slic3r/Utils/CrealityPrintAgent.cpp b/src/slic3r/Utils/CrealityPrintAgent.cpp index 9b3bd5843e..f340a61267 100644 --- a/src/slic3r/Utils/CrealityPrintAgent.cpp +++ b/src/slic3r/Utils/CrealityPrintAgent.cpp @@ -12,6 +12,8 @@ #include <map> #include <set> +using json = nlohmann::json; + namespace Slic3r { namespace { diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp index f1ff056d10..6f43df74e4 100644 --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp @@ -254,10 +254,8 @@ int Http::priv::xfercb(void *userp, curl_off_t dltotal, curl_off_t dlnow, curl_o bool cb_cancel = false; if (self->progressfn) { - double speed; + double speed = 0.; curl_easy_getinfo(self->curl, CURLINFO_SPEED_UPLOAD, &speed); - if (speed > 0.01) - speed = speed; Progress progress(dltotal, dlnow, ultotal, ulnow, self->buffer, speed); self->progressfn(progress, cb_cancel); } @@ -323,8 +321,10 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha // We can't use CURLFORM_FILECONTENT, because curl doesn't support Unicode filenames on Windows // and so we use CURLFORM_STREAM with boost ifstream to read the file. + std::string filename_str; if (filename == nullptr) { - filename = path.string().c_str(); + filename_str = path.string(); + filename = filename_str.c_str(); } form_files.emplace_back(path, offset, length); diff --git a/src/slic3r/Utils/ICloudServiceAgent.hpp b/src/slic3r/Utils/ICloudServiceAgent.hpp index 556c253641..7d326eb4c6 100644 --- a/src/slic3r/Utils/ICloudServiceAgent.hpp +++ b/src/slic3r/Utils/ICloudServiceAgent.hpp @@ -2,6 +2,7 @@ #define __I_CLOUD_SERVICE_AGENT_HPP__ #include "bambu_networking.hpp" +#include "CloudProvider.hpp" #include "../../libslic3r/ProjectTask.hpp" #include <string> #include <string_view> @@ -37,9 +38,6 @@ namespace Slic3r { * implementation. */ -static const std::string ORCA_CLOUD_PROVIDER("orca"); -static const std::string BBL_CLOUD_PROVIDER("bbl"); - struct CloudEvent { std::string provider; // ORCA_CLOUD_PROVIDER or BBL_CLOUD_PROVIDER }; diff --git a/src/slic3r/Utils/MacDarkMode.hpp b/src/slic3r/Utils/MacDarkMode.hpp index 435a164d1e..8c1cea4663 100644 --- a/src/slic3r/Utils/MacDarkMode.hpp +++ b/src/slic3r/Utils/MacDarkMode.hpp @@ -12,6 +12,7 @@ extern double mac_max_scaling_factor(); extern void set_miniaturizable(void * window); void WKWebView_evaluateJavaScript(void * web, wxString const & script, void (*callback)(wxString const &)); void WKWebView_setTransparentBackground(void * web); +void WKWebView_force_display(void * web); void set_tag_when_enter_full_screen(bool isfullscreen); void set_title_colour_after_set_title(void * window); void initGestures(void * view, wxEvtHandler * handler); diff --git a/src/slic3r/Utils/MacDarkMode.mm b/src/slic3r/Utils/MacDarkMode.mm index cecd90044b..7a5e8fb027 100644 --- a/src/slic3r/Utils/MacDarkMode.mm +++ b/src/slic3r/Utils/MacDarkMode.mm @@ -1,7 +1,9 @@ #import "MacDarkMode.hpp" #include "../GUI/Widgets/Label.hpp" +#include "wx/graphics.h" #include "wx/osx/core/cfstring.h" +#include "wx/osx/private.h" #import <algorithm> @@ -57,7 +59,7 @@ void set_miniaturizable(void * window) while(viewObject = (NSView *)[viewEnum nextObject]) { if([viewObject class] == [NSTextField self]) { //[(NSTextField*)viewObject setTextColor : NSColor.whiteColor]; - mainframe_text_field = viewObject; + mainframe_text_field = (NSTextField*)viewObject; } } } @@ -74,7 +76,7 @@ void set_title_colour_after_set_title(void * window) while(viewObject = (NSView *)[viewEnum nextObject]) { if([viewObject class] == [NSTextField self]) { [(NSTextField*)viewObject setTextColor : NSColor.whiteColor]; - mainframe_text_field = viewObject; + mainframe_text_field = (NSTextField*)viewObject; } } @@ -100,6 +102,20 @@ void WKWebView_setTransparentBackground(void * web) [webView registerForDraggedTypes: @[NSFilenamesPboardType]]; } +// Force a WKWebView to re-lay-out and repaint. Needed for chrome-less popups: the window is +// transparent, so a WKWebView whose layer has no pending frame leaves the whole window invisible +// until the user generates input (scroll/arrow). setNeedsDisplay alone does not always reach the +// web-content layer, so flag layout and both the view and its layer. +void WKWebView_force_display(void * web) +{ + WKWebView * webView = (WKWebView*)web; + if (!webView) + return; + [webView setNeedsLayout:YES]; + [webView setNeedsDisplay:YES]; + [[webView layer] setNeedsDisplay]; +} + void openFolderForFile(wxString const & file) { NSArray *fileURLs = [NSArray arrayWithObjects:wxCFStringRef(file).AsNSString(), /* ... */ nil]; @@ -334,11 +350,28 @@ bool addObserver = false; } @end +// Orca: A Shift-trackpad pan belongs to one GL view; sharing its lifecycle across views +// could make a gesture reuse another canvas's world-space anchor. +static char scroll_pan_active_key; +static char gesture_handler_key; + +static wxEvtHandler* get_gesture_handler(NSView* view) +{ + return static_cast<wxEvtHandler*>([objc_getAssociatedObject(view, &gesture_handler_key) pointerValue]); +} + +static bool is_scroll_pan_active(NSView* view) +{ + return [objc_getAssociatedObject(view, &scroll_pan_active_key) boolValue]; +} + +static void set_scroll_pan_active(NSView* view, bool active) +{ + objc_setAssociatedObject(view, &scroll_pan_active_key, active ? @YES : nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} @implementation wxNSCustomOpenGLView (Gesture) -wxEvtHandler * _gestureHandler = nullptr; - - (void) onGestureMove: (NSPanGestureRecognizer*) gesture { wxPanGestureEvent evt; @@ -364,22 +397,43 @@ wxEvtHandler * _gestureHandler = nullptr; - (void) postEvent: (wxGestureEvent &) evt withGesture: (NSGestureRecognizer* ) gesture { NSPoint pos = [gesture locationInView: self]; - evt.SetPosition({(int) pos.x, (int) pos.y}); + evt.SetPosition(wxFromNSPoint(self, pos)); if (gesture.state == NSGestureRecognizerStateBegan) evt.SetGestureStart(); else if (gesture.state == NSGestureRecognizerStateEnded) evt.SetGestureEnd(); - _gestureHandler->ProcessEvent(evt); + if (wxEvtHandler* handler = get_gesture_handler(self)) + handler->ProcessEvent(evt); } - (void) scrollWheel2:(NSEvent *)event { bool shiftDown = [event modifierFlags] & NSShiftKeyMask; - if (_gestureHandler && shiftDown && event.hasPreciseScrollingDeltas) { + wxEvtHandler* handler = get_gesture_handler(self); + if (handler && shiftDown && event.hasPreciseScrollingDeltas) { wxPanGestureEvent evt; - evt.SetDelta({-(int)[event scrollingDeltaX], - (int)[event scrollingDeltaY]}); - _gestureHandler->ProcessEvent(evt); + // NSOpenGLView uses bottom-left coordinates; wx gestures use top-left coordinates. + const wxPoint pos = wxFromNSPoint(self, [self convertPoint:[event locationInWindow] fromView:nil]); + const wxPoint delta(-(int)[event scrollingDeltaX], -(int)[event scrollingDeltaY]); + // Orca: GLCanvas3D derives the anchor position as position - delta, so synthesize + // the post-delta position from the native cursor coordinate. + evt.SetPosition(pos + delta); + evt.SetDelta(delta); + // Orca: Preserve the anchor throughout a trackpad scroll, including its momentum events. + // Keep it after phase Ended: momentum may follow. The next Began replaces it. + const NSEventPhase phase = event.phase; + const NSEventPhase momentum_phase = event.momentumPhase; + const bool unphased = phase == NSEventPhaseNone && momentum_phase == NSEventPhaseNone; + if (!is_scroll_pan_active(self) || unphased || (phase & (NSEventPhaseMayBegin | NSEventPhaseBegan))) + evt.SetGestureStart(); + if (unphased || (phase & NSEventPhaseCancelled) || + (momentum_phase & (NSEventPhaseEnded | NSEventPhaseCancelled))) + evt.SetGestureEnd(); + set_scroll_pan_active(self, !evt.IsGestureEnd()); + handler->ProcessEvent(evt); } else { + // Orca: Switching away from Shift-pan must not reuse its depth when Shift is pressed again. + set_scroll_pan_active(self, false); [self scrollWheel2: event]; } } @@ -401,7 +455,9 @@ wxEvtHandler * _gestureHandler = nullptr; // [self addGestureRecognizer:pan]; // [self addGestureRecognizer:magnification]; // [self addGestureRecognizer:rotation]; - _gestureHandler = handler; + objc_setAssociatedObject(self, &gesture_handler_key, handler ? [NSValue valueWithPointer:handler] : nil, + OBJC_ASSOCIATION_RETAIN_NONATOMIC); + set_scroll_pan_active(self, false); } @end diff --git a/src/slic3r/Utils/MeshInspect.cpp b/src/slic3r/Utils/MeshInspect.cpp new file mode 100644 index 0000000000..0a60358278 --- /dev/null +++ b/src/slic3r/Utils/MeshInspect.cpp @@ -0,0 +1,61 @@ +#include "MeshInspect.hpp" + +#include "libslic3r/LayOnFace.hpp" +#include "libslic3r/Model.hpp" + +#include <nlohmann/json.hpp> + +#include <algorithm> +#include <cmath> +#include <ostream> + +namespace Slic3r { +namespace MeshInspect { + +using json = nlohmann::json; + +static json to_json(const Vec3d &v) { return json::array({ v.x(), v.y(), v.z() }); } + +static json to_json(const BoundingBoxf3 &bb) +{ + return { { "min", to_json(bb.min) }, { "max", to_json(bb.max) }, { "size", to_json(bb.size()) } }; +} + +void inspect_to_json(const Model &model, const std::vector<std::string> &source_paths, std::ostream &out, size_t max_planes) +{ + json objects = json::array(); + for (const ModelObject *mo : model.objects) { + json obj = { { "name", mo->name }, + { "triangle_count", mo->facets_count() }, + { "instance_count", mo->instances.size() }, + { "bbox_object", to_json(mo->raw_mesh_bounding_box()) } }; + if (!mo->instances.empty()) { + const std::vector<LayOnFacePlane> planes = lay_on_face_planes(*mo, mo->instances.front()->get_matrix_no_offset()); + json planes_json = json::array(); + for (size_t i = 0; i < std::min(planes.size(), max_planes); ++i) + planes_json.push_back({ { "normal", to_json(planes[i].normal) }, + { "area_mm2", std::round(double(planes[i].area) * 1000.) / 1000. }, + { "center", to_json(planes[i].center) } }); + obj["bbox_world"] = to_json(mo->instance_bounding_box(0)); + obj["instance_offset"] = to_json(mo->instances.front()->get_offset()); + obj["plane_count"] = planes.size(); + obj["planes"] = std::move(planes_json); + } + objects.push_back(std::move(obj)); + } + + const json root = { + { "sources", source_paths }, + { "note", "Lengths in mm. bbox_object and the plane normals and centers are in object coordinates: the parts as " + "currently transformed, without the instance transformation. --ground-face-normal and " + "--ground-face-point take values in these coordinates. area_mm2 uses instance 0's scale, " + "bbox_world is instance 0 on the plate." }, + { "objects", std::move(objects) }, + }; + // Object names and file paths are arbitrary bytes, and dump() throws on invalid UTF-8 by default. + // Replace such sequences with U+FFFD so the output is always valid JSON. + out << root.dump(2, ' ', false, json::error_handler_t::replace) << std::endl; +} + +} // namespace MeshInspect +} // namespace Slic3r diff --git a/src/slic3r/Utils/MeshInspect.hpp b/src/slic3r/Utils/MeshInspect.hpp new file mode 100644 index 0000000000..0f53b41c4a --- /dev/null +++ b/src/slic3r/Utils/MeshInspect.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include <iosfwd> +#include <string> +#include <vector> + +namespace Slic3r { + +class Model; + +namespace MeshInspect { + +// Writes the --inspect-mesh JSON for `model` to `out`: per object its bounding boxes and the faces +// it can be laid on, taken from lay_on_face_planes() so they are the faces the --ground-* options +// choose from, in the frame those options take. At most `max_planes` faces are listed per object, +// largest first. `source_paths` lists every input file; the CLI merges them into one model. +void inspect_to_json(const Model &model, const std::vector<std::string> &source_paths, std::ostream &out, size_t max_planes = 8); + +} // namespace MeshInspect +} // namespace Slic3r diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp index 571d707a9f..384a69d51e 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp @@ -3,6 +3,7 @@ #include "libslic3r/Preset.hpp" #include "libslic3r/PresetBundle.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include "slic3r/GUI/DeviceManager.hpp" #include "slic3r/GUI/DeviceCore/DevFilaSystem.h" #include "slic3r/GUI/DeviceCore/DevManager.h" #include "../GUI/DeviceCore/DevStorage.h" diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp index 4bfe429cd3..5d129a490e 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp @@ -16,6 +16,7 @@ #include <iostream> #include <libslic3r/Platform.hpp> #include <memory> +#include <nlohmann/json.hpp> #include <openssl/evp.h> #include <openssl/hmac.h> #include <openssl/rand.h> diff --git a/src/slic3r/Utils/PaintCLI.cpp b/src/slic3r/Utils/PaintCLI.cpp new file mode 100644 index 0000000000..d99dc0b450 --- /dev/null +++ b/src/slic3r/Utils/PaintCLI.cpp @@ -0,0 +1,204 @@ +// PaintCLI.cpp — CLI paint-inspection primitives. See PaintCLI.hpp. +#include "PaintCLI.hpp" + +#include "libslic3r/Model.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/TriangleSelector.hpp" + +#include <nlohmann/json.hpp> + +#include <cmath> +#include <string> +#include <utility> +#include <vector> + +namespace Slic3r { +namespace PaintCLI { + +namespace { + +using json = nlohmann::json; + +double its_surface_area(const indexed_triangle_set &its) +{ + double total = 0.0; + for (const stl_triangle_vertex_indices &t : its.indices) { + const Vec3f &a = its.vertices[t(0)]; + const Vec3f &b = its.vertices[t(1)]; + const Vec3f &c = its.vertices[t(2)]; + total += 0.5 * (b - a).cross(c - a).norm(); + } + return total; +} + +// Bbox over triangle-referenced vertices only. get_facets_strict() returns +// an itset with the full source vertex list — using bounding_box() on it +// would report the whole mesh's bbox even when only a few facets are painted. +BoundingBoxf3 its_referenced_bbox(const indexed_triangle_set &its) +{ + BoundingBoxf3 bb; + bool first = true; + for (const stl_triangle_vertex_indices &t : its.indices) { + for (int k = 0; k < 3; ++k) { + const Vec3d v = its.vertices[t(k)].cast<double>(); + if (first) { bb.min = bb.max = v; first = false; } + else bb.merge(v); + } + } + return bb; +} + +json vec3_to_json(const Vec3d &v) +{ + return json::array({ v.x(), v.y(), v.z() }); +} + +json bbox_to_json(const BoundingBoxf3 &bb) +{ + return { + { "min", vec3_to_json(bb.min) }, + { "max", vec3_to_json(bb.max) }, + { "size", vec3_to_json(Vec3d(bb.max - bb.min)) }, + }; +} + +// One (layer, state) row — empty ones are omitted at the caller level. +json state_entry(const std::string &label, const indexed_triangle_set &its) +{ + return { + { "state", label }, + { "facets", its.indices.size() }, + { "area_mm2", its_surface_area(its) }, + { "bbox", bbox_to_json(its_referenced_bbox(its)) }, + }; +} + +// Iterate the states relevant to one FacetsAnnotation kind, collecting +// non-empty entries. Empty layer → {"empty": true}. `n_facets_out` is the +// running total of painted facets — bumped for the summary. +json inspect_layer(const ModelVolume &mv, const FacetsAnnotation &fa, + const std::vector<std::pair<EnforcerBlockerType, std::string>> &states, + size_t &n_facets_out) +{ + if (fa.empty()) + return { { "empty", true } }; + + json entries = json::array(); + for (const auto &st : states) { + if (!fa.has_facets(mv, st.first)) + continue; + indexed_triangle_set its = fa.get_facets_strict(mv, st.first); + if (its.indices.empty()) + continue; + n_facets_out += its.indices.size(); + entries.push_back(state_entry(st.second, its)); + } + return { + { "empty", entries.empty() }, + { "states", std::move(entries) }, + }; +} + +const std::vector<std::pair<EnforcerBlockerType, std::string>> &supports_states() +{ + static const std::vector<std::pair<EnforcerBlockerType, std::string>> s = { + { EnforcerBlockerType::ENFORCER, "ENFORCER" }, + { EnforcerBlockerType::BLOCKER, "BLOCKER" }, + }; + return s; +} + +const std::vector<std::pair<EnforcerBlockerType, std::string>> &fuzzy_states() +{ + // FUZZY_SKIN is an enum alias for ENFORCER; the layer is single-state. + static const std::vector<std::pair<EnforcerBlockerType, std::string>> s = { + { EnforcerBlockerType::FUZZY_SKIN, "FUZZY_SKIN" }, + }; + return s; +} + +const std::vector<std::pair<EnforcerBlockerType, std::string>> &mmu_states() +{ + static std::vector<std::pair<EnforcerBlockerType, std::string>> s = []{ + std::vector<std::pair<EnforcerBlockerType, std::string>> v; + for (int i = 1; i <= int(EnforcerBlockerType::ExtruderMax); ++i) + v.emplace_back(EnforcerBlockerType(i), "extruder_" + std::to_string(i)); + return v; + }(); + return s; +} + +} // namespace + +void inspect_to_json(const Model &model, const std::vector<std::string> &source_paths, + std::ostream &out) +{ + json root; + root["sources"] = source_paths; + root["frame"] = "mesh_local"; + root["note"] = "Coordinates are mesh-local (each volume's own frame). " + "Paint gizmos operate in this frame."; + + json objects = json::array(); + size_t total_objects = 0, total_volumes = 0, total_painted = 0, total_facets = 0; + + for (size_t oi = 0; oi < model.objects.size(); ++oi) { + const ModelObject *mo = model.objects[oi]; + if (!mo) continue; + ++total_objects; + + json obj; + obj["index"] = oi; + obj["name"] = mo->name; + + json volumes = json::array(); + for (size_t vi = 0; vi < mo->volumes.size(); ++vi) { + const ModelVolume *mv = mo->volumes[vi]; + if (!mv) continue; + ++total_volumes; + + const indexed_triangle_set &its = mv->mesh().its; + json vol; + vol["index"] = vi; + vol["name"] = mv->name; + vol["n_facets"] = its.indices.size(); + vol["is_model_part"] = mv->is_model_part(); + vol["bbox_mesh_local"] = bbox_to_json(bounding_box(its)); + + size_t vol_painted = 0; + json paints; + paints["supports"] = inspect_layer(*mv, mv->supported_facets, + supports_states(), vol_painted); + paints["seam"] = inspect_layer(*mv, mv->seam_facets, + supports_states(), vol_painted); + paints["mmu_segmentation"] = inspect_layer(*mv, mv->mmu_segmentation_facets, + mmu_states(), vol_painted); + paints["fuzzy_skin"] = inspect_layer(*mv, mv->fuzzy_skin_facets, + fuzzy_states(), vol_painted); + vol["paints"] = std::move(paints); + vol["painted_facets_total"] = vol_painted; + + if (vol_painted > 0) ++total_painted; + total_facets += vol_painted; + + volumes.push_back(std::move(vol)); + } + obj["volumes"] = std::move(volumes); + objects.push_back(std::move(obj)); + } + root["objects"] = std::move(objects); + root["summary"] = { + { "objects", total_objects }, + { "volumes", total_volumes }, + { "volumes_with_paint", total_painted }, + { "painted_facets_total", total_facets }, + }; + + // Object names and file paths are arbitrary bytes, and dump() throws on invalid + // UTF-8 by default. Replace such sequences with U+FFFD so the output is always + // valid JSON rather than an exception out of the CLI. + out << root.dump(2, ' ', false, json::error_handler_t::replace) << std::endl; +} + +} // namespace PaintCLI +} // namespace Slic3r diff --git a/src/slic3r/Utils/PaintCLI.hpp b/src/slic3r/Utils/PaintCLI.hpp new file mode 100644 index 0000000000..8e31750b37 --- /dev/null +++ b/src/slic3r/Utils/PaintCLI.hpp @@ -0,0 +1,31 @@ +// PaintCLI.hpp — CLI paint-inspection primitives. +// +// Backs the --inspect-paint CLI action. Reads the per-facet enforcer / +// blocker / extruder / fuzzy-skin state that OrcaSlicer stores on every +// ModelVolume (supports, seam, MMU color, fuzzy-skin) and emits a +// structured JSON summary — facet count, surface area, and mesh-local +// bounding box per state — so CI / scripted / AI tooling can reason +// about existing paint on a .3mf without opening the GUI. +// +// Coordinates are mesh-local (each volume's own frame), matching the +// frame that the paint gizmos operate in. +#ifndef slic3r_PaintCLI_hpp_ +#define slic3r_PaintCLI_hpp_ + +#include <iosfwd> +#include <string> +#include <vector> + +namespace Slic3r { +class Model; + +namespace PaintCLI { + +// `source_paths` lists every input file; the CLI merges them into one Model. +void inspect_to_json(const Model &model, const std::vector<std::string> &source_paths, + std::ostream &out); + +} // namespace PaintCLI +} // namespace Slic3r + +#endif diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index 663a4ce8c3..b8379697d6 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -10,6 +10,7 @@ #include <set> #include <string> #include <thread> +#include <mutex> #include <unordered_map> #include <ostream> #include <utility> @@ -29,6 +30,7 @@ #include "libslic3r/format.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/PresetBundle.hpp" +#include "libslic3r/PresetCacheFormat.hpp" #include "libslic3r_version.h" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/GUI_App.hpp" @@ -40,6 +42,7 @@ #include "slic3r/GUI/format.hpp" #include "slic3r/GUI/NotificationManager.hpp" #include "slic3r/Utils/Http.hpp" +#include "slic3r/Utils/bambu_networking.hpp" #include "slic3r/Config/Version.hpp" #include "slic3r/Config/Snapshot.hpp" #include "slic3r/GUI/MarkdownTip.hpp" @@ -96,6 +99,8 @@ struct Update bool forced_update; //BBS: add directory support bool is_directory {false}; + // Orca: a vendor update may be the cache-only form. + bool is_opc {false}; Update() {} //BBS: add directory support @@ -126,13 +131,24 @@ struct Update //BBS: add directory support void install() const { - if (is_directory) { + if (is_directory) { copy_directory_recursively(source, target, file_filter); - } - else { + } else { copy_file_fix(source, target); + + // A vendor must be installed in exactly one form. Remove the + // representation that would otherwise be stale or shadow this one. + boost::system::error_code ec; + if (is_opc) { + fs::remove(target.parent_path() / (vendor + ".json"), ec); + ec.clear(); + fs::remove_all(target.parent_path() / vendor, ec); + } + else { + fs::remove(target.parent_path() / (vendor + ".opc"), ec); + } } - } + } friend std::ostream& operator<<(std::ostream& os, const Update &self) { @@ -180,6 +196,8 @@ struct Updates std::vector<Update> updates; }; +static bool reload_configs_update_gui(); + wxDEFINE_EVENT(EVT_SLIC3R_VERSION_ONLINE, wxCommandEvent); wxDEFINE_EVENT(EVT_SLIC3R_EXPERIMENTAL_VERSION_ONLINE, wxCommandEvent); @@ -207,6 +225,10 @@ struct PresetUpdater::priv // Per-vendor update checking std::set<std::string> checked_vendors; + // Orca (PR #130): changelog text for each vendor, captured in memory during + // sync_vendor_config()/check_new_vendors() instead of written beside the cache. + std::unordered_map<std::string, std::string> vendor_changelogs; + mutable std::mutex vendor_changelogs_mutex; std::vector<std::thread> vendor_check_threads; std::atomic<bool> vendor_check_cancel{false}; @@ -231,6 +253,8 @@ struct PresetUpdater::priv void parse_version_string(const std::string& body) const; void sync_resources(std::string http_url, std::map<std::string, Resource> &resources, bool check_patch = false, std::string current_version="", std::string changelog_file=""); void sync_vendor_config(const std::string& vendor_id); + void check_new_vendors(const std::set<std::string>& system_vendors, + std::function<void(std::vector<std::string>, bool)> callback); void sync_tooltip(std::string http_url, std::string language); void sync_plugins(std::string http_url, std::string plugin_version); void sync_printer_config(std::string http_url); @@ -268,7 +292,7 @@ void PresetUpdater::priv::set_download_prefs(AppConfig *app_config) version_check_url = app_config->version_check_url(); auto profile_update_url = app_config->profile_update_url(); - if (!profile_update_url.empty()) + if (!profile_update_url.empty() && app_config->get_bool("enable_ota")) enabled_config_update = true; else enabled_config_update = false; @@ -671,6 +695,9 @@ void PresetUpdater::priv::sync_vendor_config(const std::string& vendor_id) std::string online_version_str; // this represents the PROFILE VERSION, not ORCA VERSION std::string download_url_str; + std::string changelog; + + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] fetching vendor update status from " << url; Http::get(url) .timeout_connect(5) @@ -683,9 +710,12 @@ void PresetUpdater::priv::sync_vendor_config(const std::string& vendor_id) if (http_status != 200) return; try { json j = json::parse(body); + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] url: " << url << " returned:" << body; + if (j.contains("vendor_version") && j.contains("download_url")) { online_version_str = j["vendor_version"].get<std::string>(); download_url_str = j["download_url"].get<std::string>(); + changelog = j.value("changelog", std::string()); } } catch (const std::exception& e) { BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] vendor check JSON parse failed: " << e.what(); @@ -707,6 +737,10 @@ void PresetUpdater::priv::sync_vendor_config(const std::string& vendor_id) boost::system::error_code ec; fs::remove_all(cache_profile_path / vendor_id, ec); fs::remove(cache_profile_path / (vendor_id + ".json"), ec); + // Orca: the OPC cache is the vendor's whole installation in one file; clear it too. + fs::remove(cache_profile_path / (vendor_id + ".opc"), ec); + // Best-effort cleanup of the legacy on-disk changelog written by older builds + // (changelogs are now kept in memory - see vendor_changelogs). fs::remove(cache_profile_path / (vendor_id + ".changelog"), ec); // Download the zip @@ -735,7 +769,7 @@ void PresetUpdater::priv::sync_vendor_config(const std::string& vendor_id) if (!download_ok || cancel || vendor_check_cancel) return; // Extract vendor profile bundles under ota/profiles. The downloaded zip contains - // the vendor json/folder at its root. + // either the vendor json/folder or the vendor cache at its root. BOOST_LOG_TRIVIAL(info) << "[Orca Updater] extracting update for " << vendor_id; if (!extract_file(download_file, cache_profile_path)) { BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] extraction failed for " << vendor_id; @@ -745,6 +779,27 @@ void PresetUpdater::priv::sync_vendor_config(const std::string& vendor_id) if (cancel || vendor_check_cancel) return; + const fs::path cached_vendor_json = cache_profile_path / (vendor_id + ".json"); + const fs::path cached_vendor_folder = cache_profile_path / vendor_id; + + const fs::path cached_vendor_opc = cache_profile_path / (vendor_id + ".opc"); + + bool is_json_update = fs::is_regular_file(cached_vendor_json) && fs::is_directory(cached_vendor_folder) && !fs::is_empty(cached_vendor_folder); + bool is_opc_update = fs::is_regular_file(cached_vendor_opc); + if (!is_json_update && !is_opc_update) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] rejected update for " << vendor_id + << ": expected " << vendor_id << ".json and a non-empty " + << vendor_id << " directory, or OPC update format."; + fs::remove_all(cached_vendor_folder, ec); + fs::remove(cached_vendor_json, ec); + return; + } + + { + std::lock_guard<std::mutex> lock(vendor_changelogs_mutex); + vendor_changelogs[vendor_id] = std::move(changelog); + } + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] vendor " << vendor_id << " update cached, notifying UI"; GUI::wxGetApp().CallAfter([] { GUI::wxGetApp().check_config_updates_from_updater(); @@ -1039,45 +1094,38 @@ void PresetUpdater::priv::check_installed_vendor_profiles() const BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:Checking whether the profile from resource is newer"; AppConfig *app_config = GUI::wxGetApp().app_config; + const auto enabled_vendors = app_config->vendors(); std::set<std::string> bundles; - // Orca: always install filament library - bundles.insert(PresetBundle::ORCA_FILAMENT_LIBRARY); // A vendor is named by its profile or, where the build ships preset caches // instead of the raw profile JSONs, by its cache alone. for (const std::string &vendor_name : vendor_names_in(rsrc_path)) { - if (bundles.find(vendor_name) != bundles.end())continue; - - const auto is_vendor_enabled = (vendor_name == PresetBundle::ORCA_DEFAULT_BUNDLE) // always update configs from resource to vendor for ORCA_DEFAULT_BUNDLE + // enabled_vendors lists the vendors whose printer models the user picked, and + // neither of these two is ever in it. + const auto is_vendor_enabled = (vendor_name == PresetBundle::ORCA_DEFAULT_BUNDLE) + || (vendor_name == PresetBundle::ORCA_FILAMENT_LIBRARY) || (enabled_vendors.find(vendor_name) != enabled_vendors.end()); - if (enabled_config_update) { - if (is_vendor_installed(vendor_name)) { - if (is_vendor_enabled) { - // Orca: whichever form of the vendor resources ships at the newer - // version is the one installing lays down, and the one to judge - // what is installed against. - Semver resource_ver = resource_vendor_version(vendor_name); - // Orca: a vendor installed as a preset cache has no profile - // beside it; the version it was installed at is in the cache. - Semver vendor_ver = installed_vendor_version(vendor_name); + if (is_vendor_installed(vendor_name)) { + if (is_vendor_enabled) { + // Orca: whichever form of the vendor resources ships at the newer + // version is the one installing lays down, and the one to judge + // what is installed against. + Semver resource_ver = resource_vendor_version(vendor_name); + // Orca: a vendor installed as a preset cache has no profile + // beside it; the version it was installed at is in the cache. + Semver vendor_ver = installed_vendor_version(vendor_name); - if (vendor_ver < resource_ver) { - BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:found vendor " << vendor_name << " newer version " - << resource_ver.to_string() << " from resource, old version " << vendor_ver.to_string(); - bundles.insert(vendor_name); - } - } - else { - //need to be removed because not installed - remove_installed_vendor(vendor_name); + if (vendor_ver < resource_ver) { + BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:found vendor " << vendor_name << " newer version " + << resource_ver.to_string() << " from resource, old version " << vendor_ver.to_string(); + bundles.insert(vendor_name); } + } else { + // need to be removed because not installed + remove_installed_vendor(vendor_name); } - else if (is_vendor_enabled) { - bundles.insert(vendor_name); - } - } - else if (is_vendor_enabled) { + } else if (is_vendor_enabled) { bundles.insert(vendor_name); } } @@ -1147,68 +1195,110 @@ Updates PresetUpdater::priv::get_config_updates(const Semver &old_slic3r_version if (!fs::exists(cache_profile_path)) return updates; - for (auto &dir_entry : boost::filesystem::directory_iterator(cache_profile_path)) { - const auto &path = dir_entry.path(); - std::string file_path = path.string(); - if (is_json_file(file_path)) { - const auto path_in_vendor = vendor_path / path.filename(); - std::string vendor_name = path.filename().string(); - // Remove the .json suffix. - vendor_name.erase(vendor_name.size() - 5); - auto print_in_cache = (cache_profile_path / vendor_name / PRESET_PRINT_NAME); - auto filament_in_cache = (cache_profile_path / vendor_name / PRESET_FILAMENT_NAME); - auto machine_in_cache = (cache_profile_path / vendor_name / PRESET_PRINTER_NAME); + // Orca (PR #130): vendor changelogs are captured in memory during + // sync_vendor_config()/check_new_vendors(), not written beside the cache. + std::unordered_map<std::string, std::string> changelogs; + { + std::lock_guard<std::mutex> lock(vendor_changelogs_mutex); + changelogs = vendor_changelogs; + } - if (is_vendor_installed(vendor_name) - || fs::exists(print_in_cache) - || fs::exists(filament_in_cache) - || fs::exists(machine_in_cache)) { - // Orca: a vendor installed as a preset cache carries its version there. - Semver vendor_ver = installed_vendor_version(vendor_name); + for (auto &dir_entry : boost::filesystem::directory_iterator(cache_profile_path)) { + const auto &path = dir_entry.path(); + std::string file_path = path.string(); + const bool is_opc_file = boost::iequals(path.extension().string(), ".opc"); + if (!is_json_file(file_path) && !is_opc_file) + continue; - std::map<std::string, std::string> key_values; - std::vector<std::string> keys(3); - Semver cache_ver; - keys[0] = BBL_JSON_KEY_VERSION; - keys[1] = BBL_JSON_KEY_DESCRIPTION; - keys[2] = BBL_JSON_KEY_FORCE_UPDATE; - get_values_from_json(file_path, keys, key_values); - std::string description = key_values[BBL_JSON_KEY_DESCRIPTION]; - bool force_update = false; - if (key_values.find(BBL_JSON_KEY_FORCE_UPDATE) != key_values.end()) - force_update = (key_values[BBL_JSON_KEY_FORCE_UPDATE] == "1")?true:false; - auto config_version = Semver::parse(key_values[BBL_JSON_KEY_VERSION]); - if (config_version) - cache_ver = *config_version; + const std::string vendor_name = path.stem().string(); + auto print_in_cache = (cache_profile_path / vendor_name / PRESET_PRINT_NAME); + auto filament_in_cache = (cache_profile_path / vendor_name / PRESET_FILAMENT_NAME); + auto machine_in_cache = (cache_profile_path / vendor_name / PRESET_PRINTER_NAME); - std::string changelog; - std::string changelog_file = (cache_profile_path / (vendor_name + ".changelog")).string(); - boost::nowide::ifstream ifs(changelog_file); - if (ifs) { - std::ostringstream oss; - oss<< ifs.rdbuf(); - changelog = oss.str(); - ifs.close(); - } + // Orca (PR #130): a JSON cache entry is only meaningful next to a non-empty + // <vendor>/ preset directory; a stray or half-downloaded <vendor>.json is + // skipped. An .opc cache is a single self-contained file (validated below), + // so this check does not apply to it. + if (!is_opc_file) { + const auto vendor_folder_in_cache = cache_profile_path / vendor_name; + if (!fs::is_regular_file(path) || !fs::is_directory(vendor_folder_in_cache) || + fs::is_empty(vendor_folder_in_cache)) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater]:ignoring invalid cached update for " + << vendor_name << ": expected " << vendor_name + << ".json and a non-empty " << vendor_name << " directory"; + continue; + } + } - if (vendor_ver < cache_ver) { - BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:need to update settings from " << vendor_ver.to_string() - << " to newer version " << cache_ver.to_string() << ", app version " << SLIC3R_VERSION; - Version version; - version.config_version = cache_ver; - version.comment = description; - // Orca: update vendor.json - updates.updates.emplace_back(std::move(file_path), path_in_vendor.string(), std::move(version), vendor_name, changelog, "", force_update, false); - //Orca: update vendor folder - updates.updates.emplace_back(cache_profile_path / vendor_name, vendor_path / vendor_name, Version(), vendor_name, "", "", force_update, true); - } else { - BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:cached settings for " << vendor_name - << " are not newer than installed version, installed " << vendor_ver.to_string() - << ", cached " << cache_ver.to_string(); - } - } - } - } + if (is_vendor_installed(vendor_name) + || is_opc_file + || fs::exists(print_in_cache) + || fs::exists(filament_in_cache) + || fs::exists(machine_in_cache)) { + // Orca: a vendor installed as a preset cache carries its version there. + Semver vendor_ver = installed_vendor_version(vendor_name); + + Semver cache_ver; + std::string description; + bool force_update = false; + if (is_opc_file) { + cache_ver = VendorCacheFile::usable_version(file_path, vendor_name); + if (!cache_ver.valid()) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater]:ignoring unreadable vendor cache " << file_path; + continue; + } + } + else { + std::map<std::string, std::string> key_values; + std::vector<std::string> keys(3); + keys[0] = BBL_JSON_KEY_VERSION; + keys[1] = BBL_JSON_KEY_DESCRIPTION; + keys[2] = BBL_JSON_KEY_FORCE_UPDATE; + get_values_from_json(file_path, keys, key_values); + description = key_values[BBL_JSON_KEY_DESCRIPTION]; + if (key_values.find(BBL_JSON_KEY_FORCE_UPDATE) != key_values.end()) + force_update = (key_values[BBL_JSON_KEY_FORCE_UPDATE] == "1")?true:false; + auto config_version = Semver::parse(key_values[BBL_JSON_KEY_VERSION]); + if (config_version) + cache_ver = *config_version; + } + + // Orca (PR #130): changelog for this vendor was captured in memory at sync time. + const auto changelog_it = changelogs.find(vendor_name); + std::string changelog = changelog_it != changelogs.end() ? changelog_it->second : std::string(); + + if (vendor_ver < cache_ver) { + BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:need to update settings from " << vendor_ver.to_string() + << " to newer version " << cache_ver.to_string() << ", app version " << SLIC3R_VERSION; + Version version; + version.config_version = cache_ver; + version.comment = description; + if (is_opc_file) { + // A cache contains the vendor profile and all presets. + // Install it directly; Update::install removes any + // superseded JSON representation. + auto &update = updates.updates.emplace_back( + std::move(file_path), vendor_path / (vendor_name + ".opc"), + std::move(version), vendor_name, changelog, "", force_update, false); + update.is_opc = true; + } + else { + // JSON profile and its preset directory are installed + // separately, as before. + updates.updates.emplace_back(std::move(file_path), + vendor_path / (vendor_name + ".json"), std::move(version), + vendor_name, changelog, "", force_update, false); + updates.updates.emplace_back(cache_profile_path / vendor_name, + vendor_path / vendor_name, Version(), vendor_name, + "", "", force_update, true); + } + } else { + BOOST_LOG_TRIVIAL(info) << "[Orca Updater]:cached settings for " << vendor_name + << " are not newer than installed version, installed " << vendor_ver.to_string() + << ", cached " << cache_ver.to_string(); + } + } + } return updates; } @@ -1317,6 +1407,9 @@ void PresetUpdater::sync(std::string http_url, std::string language, std::string // after the startup printer preset has been restored. this->p->sync_plugins(http_url, plugin_version); this->p->sync_printer_config(http_url); + // Orca (PR #130): the filament library is always installed, so refresh it + // from the updater on every startup sync rather than deferring to check_vendor_update(). + this->p->sync_vendor_config(PresetBundle::ORCA_FILAMENT_LIBRARY); //if (p->cancel) // return; //remove the tooltip currently @@ -1349,6 +1442,302 @@ void PresetUpdater::check_vendor_update(const std::string& vendor_id) }); } +// Orca: ask the server which vendors from `system_vendors` have a profile bundle available that +// isn't installed yet (or is newer than what's installed). Request body maps vendor id -> currently +// installed profile version (unknown/not-yet-installed vendors report "0.0.0"). Response maps +// vendor id -> {version, download_url, changelog} for each vendor the server has an update for. +// Any such vendor is downloaded and cached under ota/profiles the same way sync_vendor_config() +// does; the caller's check_config_updates_from_updater() -> get_config_updates()/perform_updates() +// flow then installs the cached profiles into data_dir()/system. +// +// Mirrors check_vendor_update()/sync_vendor_config(): the network query and the download/extract +// work run on a background thread (vendor_check_threads), never on the calling (UI) thread. Only +// the confirmation dialog (which must run on the UI thread) and the final callback are marshaled +// back via CallAfter(). +void PresetUpdater::priv::check_new_vendors(const std::set<std::string>& system_vendors, + std::function<void(std::vector<std::string>, bool)> callback) +{ + vendor_check_threads.emplace_back([this, system_vendors, callback]() { + AppConfig* app_config = GUI::wxGetApp().app_config; + std::string url = app_config->profile_update_url() + "/new?orcaslicer_version=" + Http::url_encode(SoftFever_VERSION); + + auto check_cancel = [this](Http::Progress, bool& cancel_http) { + if (cancel || vendor_check_cancel) + cancel_http = true; + }; + + json request_body = json::object(); + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] checking new vendors for:"; + for (const auto& vendor_id : system_vendors) { + // Orca: installed_vendor_version() reads whichever form the vendor is + // installed as - the .json profile or the .opc preset cache stamp - + // so a cache-only vendor is not reported as version 0.0.0 and then + // endlessly re-offered by the server. + Semver installed_ver = installed_vendor_version(vendor_id); + request_body[vendor_id] = installed_ver.to_string(); + BOOST_LOG_TRIVIAL(info) << vendor_id << " (installed version " << installed_ver.to_string() << ")"; + } + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] new vendor check request url: " << url; + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] new vendor check request body: " << request_body.dump(2); + + json response_json; + bool got_response = false; + + auto post = Http::post(url); + + post.timeout_connect(5); + post.on_progress(check_cancel); + post.header("Content-Type", "application/json"); + post.on_error([](std::string body, std::string error, unsigned http_status) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] new vendor check HTTP error: " << error; + }) + .on_complete([&response_json, &got_response](std::string body, unsigned http_status) { + if (http_status != 200) + return; + try { + json j = json::parse(body); + if (j.is_object()) { + response_json = std::move(j); + got_response = true; + } + } catch (const std::exception& e) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] new vendor check JSON parse failed: " << e.what(); + } + }); + + post.set_post_body(request_body.dump()); + post.perform_sync(); + + if (cancel || vendor_check_cancel) + return; + + if (!got_response) { + GUI::wxGetApp().CallAfter([callback]() { callback({}, false); }); + return; + } + + // Collect candidates before touching the filesystem or network again. + struct NewVendorCandidate + { + std::string vendor_id; + Semver version; + std::string download_url; + std::string changelog; + }; + std::vector<NewVendorCandidate> candidates; + for (auto it = response_json.begin(); it != response_json.end(); ++it) { + const json& entry = it.value(); + if (!entry.is_object()) + continue; + std::string download_url_str = entry.value("download_url", std::string()); + if (download_url_str.empty()) + continue; + + NewVendorCandidate candidate; + candidate.vendor_id = it.key(); + auto parsed_ver = Semver::parse(entry.value("version", std::string())); + candidate.version = parsed_ver ? *parsed_ver : Semver(); + candidate.download_url = std::move(download_url_str); + candidate.changelog = entry.value("changelog", std::string()); + candidates.push_back(std::move(candidate)); + } + + if (candidates.empty()) { + GUI::wxGetApp().CallAfter([callback]() { callback({}, false); }); + return; + } + + // Orca: the confirmation dialog must run on the UI thread; if confirmed, the actual + // download/install work is dispatched back onto a new background thread from there, + // same as check_vendor_update() does for a single vendor. + GUI::wxGetApp().CallAfter([this, candidates, callback]() { + std::vector<GUI::MsgUpdateConfig::Update> updates_msg; + for (const auto& candidate : candidates) + updates_msg.emplace_back(candidate.vendor_id, candidate.version, std::string(), candidate.changelog); + + GUI::MsgUpdateConfig dlg(updates_msg); + if (dlg.ShowModal() != wxID_OK) { + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] user declined installing new vendors"; + callback({}, true); + return; + } + + // Orca: the actual download runs on a background thread below (so it doesn't block the + // UI), but that also means nothing visibly happens for the several seconds it can take + // (longer still if a retry kicks in) — push a notification so it's clear work is + // ongoing rather than looking hung. + { + std::string vendor_list; + for (const auto& candidate : candidates) { + if (!vendor_list.empty()) + vendor_list += ", "; + vendor_list += candidate.vendor_id; + } + GUI::wxGetApp().plater()->get_notification_manager()->push_notification( + _u8L("Downloading new vendor profile(s): ") + vendor_list + _u8L("...")); + } + + vendor_check_threads.emplace_back([this, candidates, callback]() { + auto check_cancel = [this](Http::Progress, bool& cancel_http) { + if (cancel || vendor_check_cancel) + cancel_http = true; + }; + + std::vector<std::string> new_vendor_ids; + std::vector<std::string> failed_vendor_ids; + auto cache_profile_path = cache_path / "profiles"; + fs::create_directories(cache_profile_path); + boost::system::error_code ec; + + for (const auto& candidate : candidates) { + if (cancel || vendor_check_cancel) + break; + + const std::string& vendor_id = candidate.vendor_id; + const std::string& download_url_str = candidate.download_url; + std::string changelog = candidate.changelog; + + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] downloading new vendor " << vendor_id << " version " << candidate.version.to_string(); + + // Clear only this vendor's cached data, same as sync_vendor_config(). + fs::remove_all(cache_profile_path / vendor_id, ec); + fs::remove(cache_profile_path / (vendor_id + ".json"), ec); + + fs::path download_file = cache_path / (vendor_id + TMP_EXTENSION); + bool download_ok = false; + + // Orca: same retry pattern as Plater.cpp's project download — a single-shot + // 5s connect timeout against GitHub's redirect chain is prone to transient + // failures (DNS/connect hiccups) that succeed a moment later, so retry a few + // times before giving up rather than failing the whole vendor on one blip. + int retry_count = 0; + const int max_retries = 3; + bool keep_trying = true; + while (keep_trying && retry_count < max_retries) { + retry_count++; + Http::get(download_url_str) + .timeout_connect(5) + .on_progress(check_cancel) + .on_error([&vendor_id, &retry_count](std::string body, std::string error, unsigned http_status) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] download failed for new vendor " << vendor_id + << " (attempt " << retry_count << "/" << max_retries << "): " << error; + }) + .on_complete([&](std::string body, unsigned http_status) { + if (http_status != 200) + return; + fs::fstream file(download_file, std::ios::out | std::ios::binary | std::ios::trunc); + if (!file.good()) + return; + file.write(body.c_str(), body.size()); + file.close(); + if (file.good()) + download_ok = true; + }) + .perform_sync(); + + keep_trying = !download_ok && !(cancel || vendor_check_cancel); + } + + if (!download_ok || cancel || vendor_check_cancel) { + if (!download_ok) + failed_vendor_ids.push_back(vendor_id); + continue; + } + + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] extracting new vendor " << vendor_id; + if (!extract_file(download_file, cache_profile_path)) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] extraction failed for new vendor " << vendor_id; + fs::remove(download_file, ec); + failed_vendor_ids.push_back(vendor_id); + continue; + } + fs::remove(download_file, ec); + + const fs::path cached_vendor_json = cache_profile_path / (vendor_id + ".json"); + const fs::path cached_vendor_folder = cache_profile_path / vendor_id; + if (!fs::is_regular_file(cached_vendor_json) || !fs::is_directory(cached_vendor_folder) || + fs::is_empty(cached_vendor_folder)) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] rejected new vendor " << vendor_id << ": expected " << vendor_id + << ".json and a non-empty " << vendor_id << " directory"; + fs::remove_all(cached_vendor_folder, ec); + fs::remove(cached_vendor_json, ec); + failed_vendor_ids.push_back(vendor_id); + continue; + } + + { + std::lock_guard<std::mutex> lock(vendor_changelogs_mutex); + vendor_changelogs[vendor_id] = std::move(changelog); + } + + new_vendor_ids.push_back(vendor_id); + } + + if (!new_vendor_ids.empty()) { + // Orca: the user already confirmed via the dialog above, so install right away + // instead of routing through check_config_updates_from_updater(), which only + // queues a passive notification (meant for the silent background per-vendor + // check) requiring yet another click + confirmation before anything is copied + // into data_dir()/system. + GUI::wxGetApp().CallAfter([this, new_vendor_ids] { + AppConfig* app_config = GUI::wxGetApp().app_config; + Updates updates = get_config_updates(app_config->orig_version()); + + // Only install the vendors just confirmed; leave any other unrelated + // pending cached update (from a background sync_vendor_config()) alone, + // still gated behind its own notification/confirmation. + std::set<std::string> confirmed(new_vendor_ids.begin(), new_vendor_ids.end()); + Updates filtered; + for (auto& update : updates.updates) + if (confirmed.count(update.vendor)) + filtered.updates.push_back(std::move(update)); + + if (filtered.updates.empty()) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] new vendors cached but no updates detected"; + return; + } + + if (!perform_updates(std::move(filtered)) || !reload_configs_update_gui()) { + BOOST_LOG_TRIVIAL(warning) << "[Orca Updater] failed to install new vendors"; + return; + } + + BOOST_LOG_TRIVIAL(info) << "[Orca Updater] new vendors installed"; + for (const auto& vendor_id : new_vendor_ids) { + Semver cur_ver = GUI::wxGetApp().preset_bundle->get_vendor_profile_version(vendor_id); + GUI::wxGetApp().plater()->get_notification_manager()->push_notification( + GUI::NotificationType::PresetUpdateFinished, + GUI::NotificationManager::NotificationLevel::ImportantNotificationLevel, + Slic3r::format(_u8L("Configuration package: %1% updated to %2%"), vendor_id, cur_ver.to_string())); + } + }); + } + + if (!failed_vendor_ids.empty()) { + GUI::wxGetApp().CallAfter([failed_vendor_ids] { + std::string vendor_list; + for (const auto& vendor_id : failed_vendor_ids) { + if (!vendor_list.empty()) + vendor_list += ", "; + vendor_list += vendor_id; + } + GUI::wxGetApp().plater()->get_notification_manager()->push_notification( + _u8L("Failed to download vendor profile(s): ") + vendor_list); + }); + } + + GUI::wxGetApp().CallAfter([callback, new_vendor_ids]() { callback(new_vendor_ids, false); }); + }); + }); + }); +} + +void PresetUpdater::check_new_vendors(const std::set<std::string>& system_vendors, + std::function<void(std::vector<std::string>, bool)> callback) +{ + p->check_new_vendors(system_vendors, std::move(callback)); +} + void PresetUpdater::slic3r_update_notify() { if (! p->enabled_version_check) @@ -1370,10 +1759,9 @@ static bool reload_configs_update_gui() GUI::wxGetApp().load_current_presets(); GUI::wxGetApp().plater()->set_bed_shape(); - return true; + return true; } - PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3r_version, UpdateParams params) const { if (! p->enabled_config_update) { return R_NOOP; } @@ -1415,7 +1803,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 ->get_notification_manager() ->push_notification(GUI::NotificationType::PresetUpdateFinished, GUI::NotificationManager::NotificationLevel::ImportantNotificationLevel, - _u8L("Configuration package: ") + b + _u8L(" updated to ") + cur_ver.to_string()); + Slic3r::format(_u8L("Configuration package: %1% updated to %2%"), b, cur_ver.to_string())); } return R_UPDATE_INSTALLED; } diff --git a/src/slic3r/Utils/PresetUpdater.hpp b/src/slic3r/Utils/PresetUpdater.hpp index 27ec6748f2..ccb0902fd5 100644 --- a/src/slic3r/Utils/PresetUpdater.hpp +++ b/src/slic3r/Utils/PresetUpdater.hpp @@ -1,7 +1,9 @@ #ifndef slic3r_PresetUpdate_hpp_ #define slic3r_PresetUpdate_hpp_ +#include <functional> #include <memory> +#include <set> #include <vector> #include <wx/event.h> @@ -59,6 +61,12 @@ public: void on_update_notification_confirm(); void do_printer_config_update(); void check_vendor_update(const std::string& vendor_id); + // Orca: async, mirrors check_vendor_update()/sync_vendor_config() — the network query and any + // download/install work happen on a background thread; only the confirmation dialog runs on + // the UI thread. `callback` is invoked on the UI thread with the ids of vendors that were + // installed (empty if none were found, or the user declined) and whether the user declined. + void check_new_vendors(const std::set<std::string>& system_vendors, + std::function<void(std::vector<std::string> installed_vendors, bool declined)> callback); bool version_check_enabled() const; diff --git a/src/slic3r/Utils/PrintHost.cpp b/src/slic3r/Utils/PrintHost.cpp index cc15805256..f3333c731d 100644 --- a/src/slic3r/Utils/PrintHost.cpp +++ b/src/slic3r/Utils/PrintHost.cpp @@ -6,6 +6,7 @@ #include <boost/optional.hpp> #include <boost/log/trivial.hpp> #include <boost/filesystem.hpp> +#include <nlohmann/json.hpp> #include <wx/string.h> #include <wx/app.h> @@ -15,6 +16,7 @@ #include "libslic3r/Channel.hpp" #include "OctoPrint.hpp" #include "Duet.hpp" +#include "UltiMaker.hpp" #include "FlashAir.hpp" #include "AstroBox.hpp" #include "Repetier.hpp" @@ -23,6 +25,7 @@ #include "CrealityPrint.hpp" #include "../GUI/PrintHostDialogs.hpp" #include "../GUI/MainFrame.hpp" +#include "slic3r/plugin/PluginManager.hpp" #include "Obico.hpp" #include "Flashforge.hpp" #include "SimplyPrint.hpp" @@ -57,6 +60,7 @@ PrintHost* PrintHost::get_print_host(DynamicPrintConfig *config) switch (host_type) { case htOctoPrint: return new OctoPrint(config); case htDuet: return new Duet(config); + case htUltiMaker: return new UltiMaker(config); case htFlashAir: return new FlashAir(config); case htAstroBox: return new AstroBox(config); case htRepetier: return new Repetier(config); @@ -112,10 +116,67 @@ std::string PrintHost::get_print_host_webui(DynamicPrintConfig* config) return webui_url; } +namespace { + +// Moonraker (Klipper's API server) reports a raised exception as { "error": { "code", "message", "traceback" } } +// under every host type that connects to it, often with the cause only in the traceback. Returns the reason to show, +// or empty for any other body. +std::string moonraker_error_reason(const std::string &body) +{ + const auto root = nlohmann::json::parse(body, nullptr, false); + const auto err = root.find("error"); + if (err == root.end()) + return {}; + const auto message = err->find("message"); + const auto traceback = err->find("traceback"); + if (message == err->end() || traceback == err->end() || !message->is_string() || !traceback->is_string()) + return {}; + + const auto &msg = message->get_ref<const std::string &>(); + const auto &tb = traceback->get_ref<const std::string &>(); + if (msg.empty()) + return {}; + const auto end = tb.find_last_not_of(" \t\r\n"); + if (end == std::string::npos) + return msg; + + // Chained exceptions each start a new traceback; the one that failed the request is the last. + const auto header = tb.rfind("Traceback (most recent call last):", end); + + // Tornado renders a raised HTTPError as "HTTP <code>: <reason>[ (<detail>)]", and the detail may span lines. + const auto code = err->find("code"); + if (code != err->end() && code->is_number_integer()) { + const std::string marker = "HTTP " + std::to_string(code->get<int>()) + ": "; + const auto pos = tb.rfind(marker, end); + if (pos != std::string::npos && (header == std::string::npos || pos > header) && pos + marker.size() <= end) { + const std::string reason = tb.substr(pos + marker.size(), end + 1 - pos - marker.size()); + // An HTTPError whose detail equals its reason, like HTTPError(401, "Unauthorized"), renders the phrase twice. + return reason == msg + " (" + msg + ")" ? msg : reason; + } + } + + // Any other exception's type and message are everything from the first unindented line after its frames. + auto begin = (header == std::string::npos) ? std::string::npos : tb.find('\n', header); + while (begin != std::string::npos && begin < end) { + ++begin; + if (tb[begin] != ' ' && tb[begin] != '\r' && tb[begin] != '\n') + break; + begin = tb.find('\n', begin); + } + if (begin == std::string::npos || begin > end) { + const auto nl = tb.rfind('\n', end); + begin = (nl == std::string::npos) ? 0 : nl + 1; + } + return msg + " (" + tb.substr(begin, end + 1 - begin) + ")"; +} + +} // namespace + wxString PrintHost::format_error(const std::string &body, const std::string &error, unsigned status) const { if (status != 0) { - auto wxbody = wxString::FromUTF8(body.data()); + const std::string reason = moonraker_error_reason(body); + auto wxbody = wxString::FromUTF8(reason.empty() ? body : reason); return wxString::Format("HTTP %u: %s", status, wxbody); } else { if (error.find("curl:Timeout was reached") != std::string::npos) { @@ -358,12 +419,29 @@ void PrintHostJobQueue::priv::perform_job(PrintHostJob the_job) { emit_progress(0); // Indicate the upload is starting + // Captured before upload_data is moved into upload() below. + const std::string upload_filename = the_job.upload_data.source_path.filename().string(); + + { + LifecycleEventContext ctx; + ctx.name = upload_filename; + ctx.code = LifecycleEvtCode::Ok; + fire_lifecycle_event(LifecycleEvent::UploadStarted, ctx); + } + bool success = the_job.printhost->upload(std::move(the_job.upload_data), [this](Http::Progress progress, bool &cancel) { this->progress_fn(std::move(progress), cancel); }, [this](wxString error) { this->error_fn(std::move(error)); }, [this](wxString tag, wxString host) { this->info_fn(std::move(tag), std::move(host)); } ); + { + LifecycleEventContext ctx; + ctx.name = upload_filename; + ctx.code = success ? LifecycleEvtCode::Ok : LifecycleEvtCode::Error; + fire_lifecycle_event(LifecycleEvent::UploadFinished, ctx); + } + if (success) { emit_progress(100); if (the_job.switch_to_device_tab) { diff --git a/src/slic3r/Utils/Process.cpp b/src/slic3r/Utils/Process.cpp index 518462bbc9..96da521114 100644 --- a/src/slic3r/Utils/Process.cpp +++ b/src/slic3r/Utils/Process.cpp @@ -21,6 +21,7 @@ #include <boost/process/args.hpp> #endif +#include <wx/filename.h> #include <wx/stdpaths.h> namespace Slic3r { diff --git a/src/slic3r/Utils/QidiPrinterAgent.cpp b/src/slic3r/Utils/QidiPrinterAgent.cpp index 6b05480194..1f437853ba 100644 --- a/src/slic3r/Utils/QidiPrinterAgent.cpp +++ b/src/slic3r/Utils/QidiPrinterAgent.cpp @@ -9,6 +9,8 @@ #include <cctype> #include <sstream> +using json = nlohmann::json; + namespace Slic3r { namespace { diff --git a/src/slic3r/Utils/Serial.cpp b/src/slic3r/Utils/Serial.cpp index 4db1acc6b6..f8c03ceb26 100644 --- a/src/slic3r/Utils/Serial.cpp +++ b/src/slic3r/Utils/Serial.cpp @@ -331,7 +331,9 @@ void Serial::set_baud_rate(unsigned baud_rate) speed_t c_ispeed; speed_t c_ospeed; }; +#ifndef BOTHER #define BOTHER CBAUDEX +#endif termios2 ios; handle_errno(::ioctl(handle, TCGETS2, &ios)); diff --git a/src/slic3r/Utils/SnapmakerPrinterAgent.cpp b/src/slic3r/Utils/SnapmakerPrinterAgent.cpp index 9b9a6809fd..5783738af7 100644 --- a/src/slic3r/Utils/SnapmakerPrinterAgent.cpp +++ b/src/slic3r/Utils/SnapmakerPrinterAgent.cpp @@ -6,6 +6,8 @@ #include "nlohmann/json.hpp" #include <boost/log/trivial.hpp> +using json = nlohmann::json; + namespace Slic3r { namespace { @@ -39,7 +41,7 @@ std::string find_closest_color_preset_by_vendor_and_type(const PresetCollection& std::string p_color = p.config.opt_string("default_filament_colour", 0u); unsigned int p_color_value; if (!p_color.empty()) { - unsigned int hash_pos = p_color.find("#"); + size_t hash_pos = p_color.find("#"); p_color_value = std::stoul(p_color.substr(hash_pos != std::string::npos ? hash_pos + 1 : 0), nullptr, 16); } else { // Default to black if no color specified in profile. Assume other profiles might be a closer color match. diff --git a/src/slic3r/Utils/UltiMaker.cpp b/src/slic3r/Utils/UltiMaker.cpp new file mode 100644 index 0000000000..0376578db0 --- /dev/null +++ b/src/slic3r/Utils/UltiMaker.cpp @@ -0,0 +1,666 @@ +#include "UltiMaker.hpp" + +#include <algorithm> +#include <ctime> +#include <boost/filesystem/path.hpp> +#include <boost/format.hpp> +#include <boost/log/trivial.hpp> +#include <boost/property_tree/ptree.hpp> +#include <boost/property_tree/json_parser.hpp> + +#include <wx/frame.h> +#include <wx/event.h> +#include <wx/progdlg.h> +#include <wx/sizer.h> +#include <wx/stattext.h> +#include <wx/textctrl.h> +#include <wx/checkbox.h> + +#include "libslic3r/PrintConfig.hpp" +#include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/GUI/MsgDialog.hpp" +#include "Http.hpp" + +#include <iostream> +#include <stdio.h> +#include <string> +namespace fs = boost::filesystem; +namespace pt = boost::property_tree; + +namespace Slic3r { + +UltiMaker::UltiMaker(DynamicPrintConfig *config) : + + m_host(config->opt_string("print_host")), + host(config->opt_string("print_host")), + + m_api_username(config->opt_string("printhost_user")), + m_api_password(config->opt_string("printhost_password")), + m_ssl_revoke_best_effort(config->opt_bool("printhost_ssl_ignore_revoke")) +{} + +const char* UltiMaker::get_name() const { return "UltiMaker"; } + +// Modified from OctoPrint::test in OctoPrint.cpp +bool UltiMaker::test(wxString &msg) const +{ + // Returns true on success, false on error. + // If called with specific arg, just generate the auth creds. + if (msg == "generate_auth_creds") { + BOOST_LOG_TRIVIAL(debug) << "UltiMaker: test called with generate_auth_creds! Generating the auth credentials."; + return this->generate_auth_creds(msg); + } + + // Since the request is performed synchronously here, + // it is ok to refer to `msg` from within the closure + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Attempting to test machine"); + + const char* name = get_name(); + + bool res = true; + auto url = (boost::format("http://%1%/api/v1/system/variant") % host).str(); + + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Get system variant at: %2%") % name % url; + + auto http = Http::get(std::move(url)); + set_auth(http); + http.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error getting system variant: %2%, HTTP %3%, body: `%4%`") % name % error % status % body; + res = false; + msg = format_error(body, error, status); + }) + .on_complete([name, &res](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Got system variant: %2%") % name % body; + + // Validate that response is correct ("UltiMaker 3", "UltiMaker 3 extended" or "UltiMaker S5") + res = (boost::starts_with(body, "\"Ultimaker 3") || body == "\"Ultimaker S5\""); + }) +#ifdef WIN32 + .ssl_revoke_best_effort(m_ssl_revoke_best_effort) + .on_ip_resolve([&](std::string address) { + // Workaround for Windows 10/11 mDNS resolve issue, where two mDNS resolves in succession fail. + // Remember resolved address to be reused at successive REST API call. + msg = GUI::from_u8(address); + }) +#endif // WIN32 + .perform_sync(); + + + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Testing auth.") % name; + std::string auth_result = test_auth(); + if ( !boost::starts_with(auth_result,"OK") ) { msg = auth_result; res = false; }; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Auth test result: %2%") % name % auth_result; + return res; +} + + +wxString UltiMaker::get_test_ok_msg () const +{ + return _("Connection to UltiMaker works correctly."); +} + +wxString UltiMaker::get_test_failed_msg (wxString &msg) const +{ + return GUI::from_u8((boost::format("%s: %s") + % _utf8("Could not connect to UltiMaker") + % std::string(msg.ToUTF8())).str()); +} + + +#pragma region Auth +// Modified from PrusaLink::set_auth in OctoPrint.cpp +void UltiMaker::set_auth(Http& http) const +{ + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: set_auth, m_api_username of %1% and m_api_password of %2%") % get_api_username() % get_api_password(); + http.auth_digest(m_api_username, m_api_password); +} + + +bool UltiMaker::has_auth_creds() const{ + // True if has authentication credentials, false otherwise + return (!m_api_username.empty()) && (!m_api_password.empty()); +} + + +bool UltiMaker::is_authorized() const{ + + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: is_authorized() checking if creds are valid."); + + const char* name = get_name(); + + bool rtn = false; + auto url = (boost::format("http://%1%/api/v1/auth/verify") % host).str(); + + auto http = Http::get(std::move(url)); + set_auth(http); + http.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error verifying credentials: %2%, HTTP %3%, body: `%4%`") % name % error % status % body; + + if (status == 403 || body == "{\"message\": \"Authorization required.\"}") { + rtn = false; + } + + }) + .on_complete([&](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: url completed without error: %1%") % url; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Got credential verification: %2%") % name % body; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: [auth] rtn=%2%") % name % rtn; // DEBUG + + try { + // Validate that response is correct + rtn = (boost::starts_with(body, "\"ok\"") || body == "{\"message\": \"ok\"}"); + } + catch (const std::exception &) { + rtn = false; + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: is_authorized Caught error") % name; + } + }) +#ifdef WIN32 + .ssl_revoke_best_effort(m_ssl_revoke_best_effort) + .on_ip_resolve([&](std::string address) { + // Workaround for Windows 10/11 mDNS resolve issue, where two mDNS resolves in succession fail. + // Remember resolved address to be reused at successive REST API call. + // msg = GUI::from_u8(address); + }) +#endif // WIN32 + .perform_sync(); + + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: [auth] rtn=%2%") % name % rtn; + return rtn; +} + + + + +std::string UltiMaker::auth_status() const{ + // returns 'authorized', 'unauthorized', or 'waiting', or 'ERROR: unknown value' on a different output + + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: auth_status() verifying credentials."); + + const char* name = get_name(); + + std::string rtn = "ERROR: unknown value"; + auto url = (boost::format("http://%1%/api/v1/auth/check/%2%") % host % m_api_username).str(); + + auto http = Http::get(std::move(url)); + set_auth(http); + http.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error verifying credentials: %2%, HTTP %3%, body: `%4%`") % name % error % status % body; + + }) + .on_complete([&](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: url completed without error: %1%") % url; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Got credential verification: %2%") % name % body; + + try { + if (body == "{\"message\": \"unknown\"}") { rtn = "waiting";} + if (body == "{\"message\": \"authorized\"}" ) {rtn = "authorized";} + if (body == "{\"message\": \"unauthorized\"}") {rtn = "unauthorized";} + + } + catch (const std::exception &) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: auth_status Caught error") % name; + } + }) +#ifdef WIN32 + .ssl_revoke_best_effort(m_ssl_revoke_best_effort) + .on_ip_resolve([&](std::string address) { + // Workaround for Windows 10/11 mDNS resolve issue, where two mDNS resolves in succession fail. + // Remember resolved address to be reused at successive REST API call. + // msg = GUI::from_u8(address); + }) +#endif // WIN32 + .perform_sync(); + + if (boost::starts_with(rtn, "ERROR")) { BOOST_LOG_TRIVIAL(warning) << boost::format("%1%: [auth][auth_status] Unknown value encountered in api/v1/auth/check") % name;} + return rtn; +} + + + +bool UltiMaker::generate_auth_creds(wxString &msg) const { + // Returns true if no error, false otherwise. + + BOOST_LOG_TRIVIAL(debug) << "UltiMaker: generate_auth_creds called!"; + bool ret = true; + /* + The auth POST request returns json of the form + { + "id": "string", + "key": "string" + } + where id is the m_api_username and key is the m_api_password + */ + const std::string name = get_name(); + std::string application = "OrcaSlicer"; + std::string application_key = "application"; + std::string user = "OrcaSlicer"; + std::string user_key = "user"; + std::string exclusionKey = "OrcaSlicer"; + std::string exclusionKey_key = "OrcaSlicer"; + auto url = (boost::format("http://%1%/api/v1/auth/request") % host).str(); + auto http = Http::post(std::move(url)); + + // Note: the body/form cannot be blank or OrcaSlicer's Http library crashes on perform_sync() + http.form_clear(); + http.mime_form_add_text(application_key,application); + http.mime_form_add_text(user_key,user); + http.mime_form_add_text(exclusionKey_key,exclusionKey); + + http.on_error([name, &msg, &ret](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error generating credentials: %2%, HTTP %3%, body: `%4%`") % name % error % status % body; + msg = "Error generating credentials! See the log for details."; + ret = false; + }) + .on_complete([name, &msg, &ret](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: body: %2%") % name % body; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: POST request completed without error") % name; + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Got credential verification: %2%") % name % body; + + std::stringstream sin(body); + boost::property_tree::ptree pt; + + try { + // Parse JSON into property tree + boost::property_tree::read_json(sin, pt); + // Extract the keys from the json + std::string id = pt.get<std::string>("id", ""); + std::string key = pt.get<std::string>("key", ""); + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Got id and key. ID=%1%") % id; + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: KEY=%1%") % key; + + if (id.empty() || key.empty()) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Either ID or KEY is empty.") % name; + msg = GUI::from_u8("ERROR: Either ID or KEY is empty. ID=" + id + " KEY=" + key); + ret = false; + } else { + BOOST_LOG_TRIVIAL(info) << boost::format("%1%: ID and KEY are both present. Setting message appropriately.") % name; + msg = GUI::from_u8("Username: " + id + " Password: " + key); + } + } + catch (const std::exception & e) { + BOOST_LOG_TRIVIAL(error) << boost::format("%1%: generate_auth_creds Caught error") % name; + BOOST_LOG_TRIVIAL(error) << "Json parse err: " << e.what(); + ret = false; + } + }) +#ifdef WIN32 + .ssl_revoke_best_effort(m_ssl_revoke_best_effort) + .on_ip_resolve([&](std::string address) { + // Workaround for Windows 10/11 mDNS resolve issue, where two mDNS resolves in succession fail. + // Remember resolved address to be reused at successive REST API call. + // msg = GUI::from_u8(address); + }) +#endif // WIN32 + .perform_sync(); + + + // Wait for user to authorize on the physical machine + BOOST_LOG_TRIVIAL(debug) << "UltiMaker: generate_auth_creds done! ret=" << ret; + return ret; +} + + + +std::string UltiMaker::test_auth() const { + /* + Used in UltiMaker::test(), creates creds if they don't already + exist, and returns various error strings if errors. + Returns "OK" if no errors and creds are valid. + */ + const char* name = get_name(); + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Testing for presence of auth creds...") % name; + + // Auth credentials are alreay existing (user-entered) + if (has_auth_creds()) { + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: Has auth credentials. Testing validity...") % name; + + std::string auth_stat = auth_status(); + BOOST_LOG_TRIVIAL(debug) << boost::format("%1%: auth_status returned %2%") % name % auth_stat; + + if (auth_stat == "waiting") { + BOOST_LOG_TRIVIAL(info) << boost::format("%1%: Auth credentials are waiting for user approval at the physical machine.") % name; + return "Authentication creds waiting on approval; Please approve access via the dialog box on the printer's screen."; + + } else if (auth_stat == "authorized" && is_authorized()) { + BOOST_LOG_TRIVIAL(info) << boost::format("%1%: Auth credentials are valid. Returning OK") % name; + return "OK"; + + } else { + BOOST_LOG_TRIVIAL(warning) << boost::format("%1%: Auth credentials are INVALID. auth_status returned %2%") % name % auth_stat; + return "Invalid authentication credentials"; + } + + } else { // Auth credentials do not exist + BOOST_LOG_TRIVIAL(info) << boost::format("%1%: Auth credentials do NOT already exist. Returning error string.") % name; + return "Error: No authentication credentials found!"; + } + +} + +#pragma endregion Auth + + +int UltiMaker::getPrintTime(std::string filepath) const { + // Get the total print time in seconds from the provided gcode filepath + std::ifstream file_in(filepath); + std::string line; + int ret = 0; + bool found = false; + int h = 0; + int m = 0; + int s = 0; + + if (file_in.is_open()){ + while (getline(file_in, line) && !found) { + if (boost::starts_with(line, "; estimated printing time (normal mode) =")) { + if (sscanf(line.c_str(), "; estimated printing time (normal mode) = %dh %dm %ds", &h, &m, &s) == 3) { + ret = 3600*h + 60*m + s; + BOOST_LOG_TRIVIAL(warning) << boost::format("UltiMaker: Hours=%1% Minutes=%2% Seconds=%3% Total Seconds=%4%") % h % m % s % ret; + found = true; + } else if (sscanf(line.c_str(), "; estimated printing time (normal mode) = %dm %ds", &m, &s) == 2) { + ret = 60*m + s; + BOOST_LOG_TRIVIAL(warning) << boost::format("UltiMaker: No Hours, Minutes=%1% Seconds=%2% Total Seconds=%3%") % m % s % ret; + found = true; + } else { + BOOST_LOG_TRIVIAL(warning) << boost::format("UltiMaker: ERROR: sscanf error while getting total print time, no vars assigned."); + } + } + } + } else { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker postprocessing ERROR: file %1% or file %2% was unable to open!") % filepath % (filepath+".temp"); + return 0; + } + + if (!found) { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Print time estimate not found!!"); + } + + file_in.close(); + + return ret; +} + + +bool UltiMaker::makeGriffinCompatible(std::string filepath) const { + // Modifies the header of the given file path to remove the double colon + // at the timestamp because >1 colons in a line makes UltiMakers crash. + + // Opening and modifying files code was modified from https://www.w3resource.com/cpp-exercises/file-handling/cpp-file-handling-exercise-6.php + std::string file_temp = filepath+".temp"; + std::ifstream file_in(filepath); + std::ofstream file_out(file_temp); + std::string line; + bool write_on = false; + + if (file_in.is_open() && file_out.is_open()){ + while (getline(file_in, line)) { + + if (write_on) { + if (boost::starts_with(line, "; generated by OrcaSlicer")) { + boost::replace_all(line, ":", "-"); // Replace the colons in the date with dashes to prevent printer crash. + } + + // UM machines need total print time in seconds. + if (boost::starts_with(line, ";PRINT.TIME:")) { + file_out << ";PRINT.TIME:"<< getPrintTime(filepath) << "\n"; + + } else { + file_out << line << "\n"; // Write the modified line to the output file + } + + } else if (boost::starts_with(line, ";START_OF_HEADER")) { + write_on = true; + file_out << line << "\n"; + } + } + } else { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: file %1% or file %2% was unable to open!") % filepath % (filepath+".temp"); + return false; + } + + if (!write_on) { + BOOST_LOG_TRIVIAL(warning) << boost::format("UltiMaker: while postprocessing to make compatible with Griffin, headers not found!"); + } + + file_in.close(); + file_out.close(); + + // Now replace the upload file with the temp one + std::remove(filepath.c_str()); + std::rename(file_temp.c_str(), filepath.c_str()); + // boost::filesystem::copy_file(file_temp, filepath); // replacement of the above line to keep in /tmp/ + return true; +} + + +bool UltiMaker::upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const +{ + // Preprocess the file so the machine doesn't crash + if (makeGriffinCompatible(upload_data.source_path.string())) { + BOOST_LOG_TRIVIAL(info) << "UltiMaker: [upload] Griffin compatibility appeared successful."; + } else { + BOOST_LOG_TRIVIAL(warning) << "UltiMaker: [upload] Griffin compatibility FAILED."; + return false; + } + + wxString connect_msg; + auto connectionType = connect(connect_msg); + if (connectionType == ConnectionType::error) { + BOOST_LOG_TRIVIAL(warning) << boost::format("UltiMaker: [upload] connectionType is of type error!"); + error_fn(std::move(connect_msg)); + return false; + } + + bool res = true; + bool dsf = (connectionType == ConnectionType::dsf); + + auto upload_cmd = get_upload_url(upload_data.upload_path.string(), connectionType); + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Uploading file %1%, filepath: %2%, post_action: %3%, command: %4%") + % upload_data.source_path + % upload_data.upload_path + % int(upload_data.post_action) + % upload_cmd; + + auto http = (dsf ? Http::put(std::move(upload_cmd)) : Http::post(std::move(upload_cmd))); + http.form_add("jobname",upload_data.upload_path.string()); + http.form_add_file("file", upload_data.source_path, upload_data.upload_path.string()); + + set_auth(http); + http.on_complete([&](std::string body, unsigned status) { + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: File uploaded: HTTP %1%: %2%") % status % body; + + int err_code = dsf ? (status == 201 ? 0 : 1) : get_err_code_from_body(body); + if (err_code != 0) { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Request completed but error code was received: %1%") % err_code; + error_fn(format_error(body, L("Unknown error occurred"), 0)); + res = false; + } else if (upload_data.post_action == PrintHostPostUploadAction::StartPrint) { + wxString errormsg; + res = start_print(errormsg, upload_data.upload_path.string(), connectionType); + if (! res) { + error_fn(std::move(errormsg)); + } + } + }) + .on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Error uploading file: %1%, HTTP %2%, body: `%3%`") % error % status % body; + error_fn(format_error(body, error, status)); + res = false; + }) + .on_progress([&](Http::Progress progress, bool &cancel) { + prorgess_fn(std::move(progress), cancel); + if (cancel) { + // Upload was canceled + BOOST_LOG_TRIVIAL(info) << "UltiMaker: Upload canceled"; + res = false; + } + }) + .perform_sync(); + + disconnect(connectionType); + + return res; +} + +UltiMaker::ConnectionType UltiMaker::connect(wxString &msg) const +{ + BOOST_LOG_TRIVIAL(info) << boost::format("UltiMaker: Attempting to connect"); + + auto res = ConnectionType::error; + auto url = get_connect_url(); + + auto http = Http::get(std::move(url)); + set_auth(http); + + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Connecting to url %1%") % url; + + http.on_error([&](std::string body, std::string error, unsigned status) { + auto dsfUrl = get_connect_url(); + auto dsfHttp = Http::get(std::move(dsfUrl)); + dsfHttp.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Error connecting: %1%, HTTP %2%, body: `%3%`") % error % status % body; + msg = format_error(body, error, status); + }) + .on_complete([&](std::string body, unsigned) { + res = ConnectionType::dsf; + }) + .perform_sync(); + }) + .on_complete([&](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Got: %1%") % body; + + int err_code = get_err_code_from_body(body); + switch (err_code) { + case 0: + res = ConnectionType::rrf; + break; + case 1: + msg = format_error(body, L("Wrong password"), 0); + break; + case 2: + msg = format_error(body, L("Could not get resources to create a new connection"), 0); + break; + default: + msg = format_error(body, L("Unknown error occurred"), 0); + break; + } + + }) + .perform_sync(); + + return res; +} + +void UltiMaker::disconnect(ConnectionType connectionType) const +{ + // we don't need to disconnect from DSF or if it failed anyway + if (connectionType != ConnectionType::rrf) { + return; + } + auto url = (boost::format("%1%rr_disconnect") + % get_base_url()).str(); + + auto http = Http::get(std::move(url)); + http.on_error([&](std::string body, std::string error, unsigned status) { + // we don't care about it, if disconnect is not working UltiMaker will disconnect automatically after some time + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Error disconnecting: %1%, HTTP %2%, body: `%3%`") % error % status % body; + }) + .perform_sync(); +} + + +#pragma region Get Constants +std::string UltiMaker::get_upload_url(const std::string &filename, ConnectionType connectionType) const +{ + assert(connectionType != ConnectionType::error); + + if (connectionType == ConnectionType::dsf) { + return (boost::format("%1%/machine/file/gcodes/%2%") + % get_base_url() + % Http::url_encode(filename)).str(); + } else { + return get_base_url()+"/print_job"; + } +} + +std::string UltiMaker::get_status_url() const +{ + return (boost::format("%1%/printer/status") % get_base_url()).str(); +} + +std::string UltiMaker::get_connect_url() const +{ + return (boost::format("%1%/printer/status") % get_base_url()).str(); +} + +std::string UltiMaker::get_base_url() const +{ + if (host.find("http://") == 0 || host.find("https://") == 0) { + if (host.back() == '/') { + return host; + } else { + return (boost::format("%1%/api/v1") % host).str(); + } + } else { + return (boost::format("http://%1%/api/v1") % host).str(); + } +} + +std::string UltiMaker::timestamp_str() const +{ + enum { BUFFER_SIZE = 32 }; + + auto t = std::time(nullptr); + auto tm = *std::localtime(&t); + + char buffer[BUFFER_SIZE]; + std::strftime(buffer, BUFFER_SIZE, "time=%Y-%m-%dT%H:%M:%S", &tm); + + return std::string(buffer); +} + +#pragma endregion Get Constants + +bool UltiMaker::start_print(wxString &msg, const std::string &filename, ConnectionType connectionType) const +{ + assert(connectionType != ConnectionType::error); + + bool res = false; + bool dsf = (connectionType == ConnectionType::dsf); + + auto url = dsf + ? (boost::format("%1%machine/code") % get_base_url()).str() + : (boost::format("%1%rr_gcode?gcode=M32%%20\"0:/gcodes/%2%\"") % get_base_url() % Http::url_encode(filename)).str(); + + auto http = (dsf ? Http::post(std::move(url)) : Http::get(std::move(url))); + set_auth(http); + if (dsf) { + http.set_post_body( + (boost::format("M32 \"0:/gcodes/%1%\"") % filename).str() + ); + } + http.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("UltiMaker: Error starting print: %1%, HTTP %2%, body: `%3%`") % error % status % body; + msg = format_error(body, error, status); + }) + .on_complete([&](std::string body, unsigned) { + BOOST_LOG_TRIVIAL(debug) << boost::format("UltiMaker: Got: %1%") % body; + res = true; + }) + .perform_sync(); + + return res; +} + +int UltiMaker::get_err_code_from_body(const std::string &body) const +{ + pt::ptree root; + std::istringstream iss (body); // wrap returned json to istringstream + pt::read_json(iss, root); + + return root.get<int>("err", 0); +} + +} diff --git a/src/slic3r/Utils/UltiMaker.hpp b/src/slic3r/Utils/UltiMaker.hpp new file mode 100644 index 0000000000..b32b87434f --- /dev/null +++ b/src/slic3r/Utils/UltiMaker.hpp @@ -0,0 +1,72 @@ +#ifndef slic3r_UltiMaker_hpp_ +#define slic3r_UltiMaker_hpp_ + +#include <string> +#include <wx/string.h> + +#include "PrintHost.hpp" + +namespace Slic3r { + +class DynamicPrintConfig; +class Http; + +class UltiMaker : public PrintHost +{ +public: + explicit UltiMaker(DynamicPrintConfig *config); + ~UltiMaker() override = default; + + const char* get_name() const override; + + bool test(wxString &curl_msg) const override; + wxString get_test_ok_msg() const override; + wxString get_test_failed_msg(wxString &msg) const override; + + bool has_auth_creds() const; + bool is_authorized() const; + std::string auth_status() const; + bool generate_auth_creds(wxString &msg) const; + std::string test_auth() const; + + bool upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const override; + bool has_auto_discovery() const override { return false; } + bool can_test() const override { return true; } + PrintHostPostUploadActions get_post_upload_actions() const override { return PrintHostPostUploadAction::StartPrint; } + std::string get_host() const override { return host; } + const std::string& get_api_user() const { return m_api_username; } + const std::string& get_api_username() const { return m_api_username; } + const std::string& get_api_password() const { return m_api_password; } + + int getPrintTime(std::string filepath) const; + +protected: + std::string m_host; + + // username and password for HTTP Digest Authentization (RFC RFC2617) + std::string m_api_username; + std::string m_api_password; + + bool m_ssl_revoke_best_effort; + + bool makeGriffinCompatible(std::string filepath) const; + +private: + enum class ConnectionType { rrf, dsf, error }; + std::string host; + + std::string get_upload_url(const std::string &filename, ConnectionType connectionType) const; + std::string get_status_url() const; + std::string get_connect_url() const; + std::string get_base_url() const; + std::string timestamp_str() const; + ConnectionType connect(wxString &msg) const; + void set_auth(Http& http) const; + void disconnect(ConnectionType connectionType) const; + bool start_print(wxString &msg, const std::string &filename, ConnectionType connectionType) const; + int get_err_code_from_body(const std::string &body) const; +}; + +} + +#endif diff --git a/src/slic3r/plugin/PluginHooks.cpp b/src/slic3r/plugin/PluginHooks.cpp index c6aaaf803c..2d84df5fdb 100644 --- a/src/slic3r/plugin/PluginHooks.cpp +++ b/src/slic3r/plugin/PluginHooks.cpp @@ -7,6 +7,7 @@ #include "libslic3r/Config.hpp" #include "libslic3r/Exception.hpp" +#include "libslic3r/LifecycleEvents.hpp" #include "libslic3r/Print.hpp" #include "libslic3r_version.h" @@ -46,6 +47,16 @@ void install_capability_resolver() }); } +// Global libslic3r-side seam (Slic3r::fire_lifecycle_event, in libslic3r/LifecycleEvents.hpp): +// broadcasts to every loaded, enabled capability regardless of type, unlike the SlicingPipeline +// hook below which only targets picker-selected SlicingPipeline capabilities. +void install_lifecycle_event_hook() +{ + set_lifecycle_hook_fn([](LifecycleEvent event, const LifecycleEventContext& ctx) { + PluginManager::instance().dispatch_lifecycle_event(event, ctx); + }); +} + // Print::process() fires this hook at each pipeline seam on the slicing worker // thread; here we run the picker-selected SlicingPipeline capabilities. Per // capability we acquire the GIL, honor cancellation, and convert a plugin @@ -122,12 +133,14 @@ void install() { install_capability_resolver(); install_slicing_pipeline_hook(); + install_lifecycle_event_hook(); } void uninstall() { ConfigBase::set_resolve_capability_fn(nullptr); Print::set_slicing_pipeline_hook_fn(nullptr); + set_lifecycle_hook_fn(nullptr); } } // namespace Slic3r::plugin_hooks diff --git a/src/slic3r/plugin/PluginHooks.hpp b/src/slic3r/plugin/PluginHooks.hpp index bff276c5df..5eeacfa449 100644 --- a/src/slic3r/plugin/PluginHooks.hpp +++ b/src/slic3r/plugin/PluginHooks.hpp @@ -14,8 +14,9 @@ namespace Slic3r::plugin_hooks { void install(); // Reset every hook to null so none can enter Python after the interpreter -// finalizes. Called from PluginManager::shutdown(); callers must have stopped -// background slicing first (resetting a hook while process() runs is a race). +// finalizes. The lifecycle-event hook drains callbacks already in progress +// before returning. Other hooks retain their existing caller-side shutdown +// requirements. void uninstall(); } // namespace Slic3r::plugin_hooks diff --git a/src/slic3r/plugin/PluginManager.cpp b/src/slic3r/plugin/PluginManager.cpp index f9a6dc60ac..022f85eb1f 100644 --- a/src/slic3r/plugin/PluginManager.cpp +++ b/src/slic3r/plugin/PluginManager.cpp @@ -1,5 +1,6 @@ #include "PluginManager.hpp" +#include <exception> #include <libslic3r/Utils.hpp> #include <memory> #include <pybind11/embed.h> @@ -134,7 +135,8 @@ void PluginManager::shutdown() BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": PluginManager shutdown enter"; // Detach the libslic3r hooks first so nothing dispatches into Python while (or after) plugins - // unload. Callers stop background slicing before this. + // unload. The lifecycle-event hook also drains callbacks already in progress before returning; + // the remaining hook seams retain their existing shutdown requirements. plugin_hooks::uninstall(); // Reject new plugin loads before we drain. @@ -2042,6 +2044,8 @@ bool PluginManager::delete_and_unsubscribe_cloud_plugin(const std::string& plugi return false; } + unload_plugin(plugin_key); + if (!m_cloud_service.request_cloud_unsubscribe(descriptor, error)) { set_plugin_error(plugin_key, error); return false; @@ -2087,4 +2091,33 @@ ExecutionResult PluginManager::run_script_capability(const std::string& plugin_k return result; } +void PluginManager::dispatch_lifecycle_event(LifecycleEvent evt, const LifecycleEventContext& ctx) { + const auto is_canceled = [&ctx]() { + return ctx.cancellation_check && ctx.cancellation_check(); + }; + + if (is_canceled()) + return; + + for (const auto& cap : get_plugin_capabilities()) { + if (!cap || !cap->is_enabled()) continue; + if (is_canceled()) + break; + try { + cap->on_lifecycle_event(evt, ctx); + } catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": plugin '" << cap->audit_plugin_key() << "/" << cap->name() + << "' on_lifecycle_event(" << lifecycle_event_to_string(evt) << ") threw: " << ex.what() + << " [ctx name='" << ctx.name << "', code=" << lifecycle_evt_code_to_string(ctx.code) + << ", msg='" << ctx.msg << "']"; + } catch (...) { + BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << ": plugin '" << cap->audit_plugin_key() << "/" << cap->name() + << "' on_lifecycle_event(" << lifecycle_event_to_string(evt) + << ") threw a non-standard exception" + << " [ctx name='" << ctx.name << "', code=" << lifecycle_evt_code_to_string(ctx.code) + << ", msg='" << ctx.msg << "']"; + } + } +} + } // namespace Slic3r diff --git a/src/slic3r/plugin/PluginManager.hpp b/src/slic3r/plugin/PluginManager.hpp index e1fedaff94..891f787bf2 100644 --- a/src/slic3r/plugin/PluginManager.hpp +++ b/src/slic3r/plugin/PluginManager.hpp @@ -8,6 +8,7 @@ #include <condition_variable> #include <functional> #include <libslic3r/Config.hpp> +#include <libslic3r/LifecycleEvents.hpp> #include <map> #include <memory> #include <mutex> @@ -20,7 +21,6 @@ #include <pybind11/embed.h> #include "CloudPluginService.hpp" -#include "PluginFsUtils.hpp" #include "PluginDescriptor.hpp" #include "PluginLoader.hpp" #include "PluginConfig.hpp" @@ -210,6 +210,8 @@ public: ExecutionResult run_script_capability(const std::string& plugin_key, const std::string& capability_name, std::string& error); + void dispatch_lifecycle_event(LifecycleEvent evt, const LifecycleEventContext& ctx); + private: PluginManager() = default; PluginManager(const PluginManager&) = delete; diff --git a/src/slic3r/plugin/PluginResolver.cpp b/src/slic3r/plugin/PluginResolver.cpp index 4ba58ee550..6e72929c63 100644 --- a/src/slic3r/plugin/PluginResolver.cpp +++ b/src/slic3r/plugin/PluginResolver.cpp @@ -3,6 +3,7 @@ #include "PluginManager.hpp" #include "../Utils/Http.hpp" #include "../Utils/OrcaCloudServiceAgent.hpp" +#include "../Utils/NetworkAgent.hpp" #include "../GUI/GUI.hpp" #include "../GUI/GUI_App.hpp" #include "../GUI/I18N.hpp" diff --git a/src/slic3r/plugin/PyPluginTrampoline.hpp b/src/slic3r/plugin/PyPluginTrampoline.hpp index ad7fe25f10..4c77f1ba9c 100644 --- a/src/slic3r/plugin/PyPluginTrampoline.hpp +++ b/src/slic3r/plugin/PyPluginTrampoline.hpp @@ -132,6 +132,11 @@ public: { ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE, void, Base, on_cancelled); } + + void on_lifecycle_event(LifecycleEvent event, const LifecycleEventContext& ctx) override + { + ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE, void, Base, on_lifecycle_event, event, ctx); + } }; class PyPluginInterfaceTrampoline : public PyPluginCommonTrampoline<PluginCapabilityInterface> diff --git a/src/slic3r/plugin/PythonPluginBridge.cpp b/src/slic3r/plugin/PythonPluginBridge.cpp index 11bb6159cc..a88695005c 100644 --- a/src/slic3r/plugin/PythonPluginBridge.cpp +++ b/src/slic3r/plugin/PythonPluginBridge.cpp @@ -377,6 +377,61 @@ void bind_python_api(pybind11::module_& m) .value("FatalError", PluginResult::FatalError) .export_values(); + py::enum_<LifecycleEvent>(m, "LifecycleEvent", "Application lifecycle moment passed to on_lifecycle_event") + .value("NewProject", LifecycleEvent::NewProject) + .value("ProjectOpened", LifecycleEvent::ProjectOpened) + .value("ProjectBeforeSave", LifecycleEvent::ProjectBeforeSave) + .value("ProjectAfterSave", LifecycleEvent::ProjectAfterSave) + .value("ProjectClosed", LifecycleEvent::ProjectClosed) + .value("ProjectDirtyChanged", LifecycleEvent::ProjectDirtyChanged) + .value("SliceStarted", LifecycleEvent::SliceStarted) + .value("SliceGeometryFinished", LifecycleEvent::SliceGeometryFinished) + .value("GCodeExportStarted", LifecycleEvent::GCodeExportStarted) + .value("GCodeExportFinished", LifecycleEvent::GCodeExportFinished) + .value("SlicingJobComplete", LifecycleEvent::SlicingJobComplete) + .value("ObjectAdded", LifecycleEvent::ObjectAdded) + .value("ObjectDeleted", LifecycleEvent::ObjectDeleted) + .value("ObjectTransformed", LifecycleEvent::ObjectTransformed) + .value("ObjectChanged", LifecycleEvent::ObjectChanged) + .value("ObjectRenamed", LifecycleEvent::ObjectRenamed) + .value("PlateCreated", LifecycleEvent::PlateCreated) + .value("PlateDeleted", LifecycleEvent::PlateDeleted) + .value("PlateSelected", LifecycleEvent::PlateSelected) + .value("PlateRenamed", LifecycleEvent::PlateRenamed) + .value("PresetSelected", LifecycleEvent::PresetSelected) + .value("PresetSaved", LifecycleEvent::PresetSaved) + .value("PrintStateChanged", LifecycleEvent::PrintStateChanged) + .value("DeviceOnline", LifecycleEvent::DeviceOnline) + .value("DeviceOffline", LifecycleEvent::DeviceOffline) + .value("DeviceDiscovered", LifecycleEvent::DeviceDiscovered) + .value("DeviceSelected", LifecycleEvent::DeviceSelected) + .value("UploadStarted", LifecycleEvent::UploadStarted) + .value("UploadFinished", LifecycleEvent::UploadFinished) + .value("PrintJobStarted", LifecycleEvent::PrintJobStarted) + .value("PrintJobFinished", LifecycleEvent::PrintJobFinished) + .value("SendJobStarted", LifecycleEvent::SendJobStarted) + .value("SendJobFinished", LifecycleEvent::SendJobFinished) + .export_values(); + + py::enum_<LifecycleEvtCode>(m, "LifecycleEvtCode", "Outcome code accompanying a LifecycleEventContext") + .value("Ok", LifecycleEvtCode::Ok) + .value("Error", LifecycleEvtCode::Error) + .value("Warn", LifecycleEvtCode::Warn) + .export_values(); + + py::class_<LifecycleEventContext>(m, "LifecycleEventContext", "Payload accompanying a LifecycleEvent") + .def(py::init<>()) + .def_readonly("name", &LifecycleEventContext::name) + .def_readonly("code", &LifecycleEventContext::code) + .def_readonly("msg", &LifecycleEventContext::msg) + .def_readonly("id", &LifecycleEventContext::id) + .def_readonly("previous_name", &LifecycleEventContext::previous_name) + .def_readonly("device_id", &LifecycleEventContext::device_id) + .def_readonly("job_id", &LifecycleEventContext::job_id) + .def_readonly("source", &LifecycleEventContext::source) + .def_readonly("index", &LifecycleEventContext::index) + .def_readonly("dirty", &LifecycleEventContext::dirty); + py::class_<PluginContext>(m, "PluginContext", "Context shared with plugin entry points") .def(py::init<>()) .def_readwrite("orca_version", &PluginContext::orca_version); @@ -401,6 +456,9 @@ void bind_python_api(pybind11::module_& m) .def("get_type", &PluginCapabilityInterface::get_type) .def("on_load", &PluginCapabilityInterface::on_load) .def("on_unload", &PluginCapabilityInterface::on_unload) + .def("on_lifecycle_event", &PluginCapabilityInterface::on_lifecycle_event, + "Override to react to an application lifecycle moment (LifecycleEvent) and its\n" + "LifecycleEventContext payload. Available on every capability type.") .def("has_config_ui", &PluginCapabilityInterface::has_config_ui, "Override to return True to replace the host's default JSON editor with your own HTML\n" "UI, returned by get_config_ui(). Every capability is configurable and appears in the\n" diff --git a/src/slic3r/plugin/PythonPluginInterface.hpp b/src/slic3r/plugin/PythonPluginInterface.hpp index 8b7518cf1c..2702275166 100644 --- a/src/slic3r/plugin/PythonPluginInterface.hpp +++ b/src/slic3r/plugin/PythonPluginInterface.hpp @@ -10,6 +10,8 @@ #include <nlohmann/json.hpp> #include <pybind11/embed.h> +#include <libslic3r/LifecycleEvents.hpp> + namespace Slic3r { enum class PluginCapabilityType { PrinterConnection = 0, Pages, Analysis, Importer, Exporter, Visualization, Script, SlicingPipeline, Unknown }; @@ -167,6 +169,8 @@ public: virtual void on_unload() {} virtual void on_cancelled() {} + virtual void on_lifecycle_event(LifecycleEvent event, const LifecycleEventContext& ctx) { (void) event; (void) ctx; } + // ── C++-only host state, never exposed to Python. Set by the loader at materialization. ── // // The capability owns its own identity and enable flag: they are read once under the GIL, live diff --git a/src/slic3r/plugin/host/PluginHostUi.cpp b/src/slic3r/plugin/host/PluginHostUi.cpp index c098ea3224..ed501f0249 100644 --- a/src/slic3r/plugin/host/PluginHostUi.cpp +++ b/src/slic3r/plugin/host/PluginHostUi.cpp @@ -7,8 +7,11 @@ #include <slic3r/GUI/GUI_App.hpp> #include <slic3r/GUI/MainFrame.hpp> #include <slic3r/GUI/MsgDialog.hpp> +#include <slic3r/GUI/Plater.hpp> +#include <slic3r/GUI/DockPanel.hpp> #include <slic3r/GUI/PluginProgressDialog.hpp> -#include <slic3r/GUI/PluginWebDialog.hpp> +#include <slic3r/GUI/WebDialog.hpp> +#include <slic3r/GUI/NotificationManager.hpp> #include <nlohmann/json.hpp> #include <pybind11/pybind11.h> @@ -19,6 +22,8 @@ #include <wx/defs.h> #include <wx/window.h> +#include <algorithm> +#include <atomic> #include <cstdint> #include <future> #include <memory> @@ -44,16 +49,20 @@ namespace { struct GilSafeCallable { py::object fn; + std::atomic_bool active{true}; explicit GilSafeCallable(py::object f) : fn(std::move(f)) {} + void disable() + { + active.store(false, std::memory_order_release); + PythonGILState gil; + if (gil) + fn = py::object(); + else + (void) fn.release(); + } ~GilSafeCallable() { - if (fn) { - PythonGILState gil; - if (gil) - fn = py::object(); - else - (void) fn.release(); - } + disable(); } }; using CallablePtr = std::shared_ptr<GilSafeCallable>; @@ -67,7 +76,7 @@ CallablePtr make_holder(py::object obj) // Adapt a Python callable to a GUI message handler that acquires the GIL and // swallows/logs exceptions (a raising handler must not escape into wx events). -GUI::PluginWebDialog::MessageHandler make_message_adapter(py::object on_message) +GUI::WebDialog::MessageHandler make_message_adapter(py::object on_message) { CallablePtr holder = make_holder(std::move(on_message)); if (!holder) @@ -85,7 +94,7 @@ GUI::PluginWebDialog::MessageHandler make_message_adapter(py::object on_message) }; } -GUI::PluginWebDialog::SubmitHandler make_submit_adapter(py::object on_submit) +GUI::WebDialog::SubmitHandler make_submit_adapter(py::object on_submit) { CallablePtr holder = make_holder(std::move(on_submit)); if (!holder) @@ -103,6 +112,25 @@ GUI::PluginWebDialog::SubmitHandler make_submit_adapter(py::object on_submit) }; } +// The plugin's on_close: fired only on a user/JS-initiated close (not forced teardown), while the +// window is alive. Empty if the plugin passed None. +std::function<void()> make_close_adapter(const CallablePtr& holder) +{ + if (!holder) + return nullptr; + return [holder]() { + PythonGILState gil; + if (!gil) + return; + try { + holder->fn(); + } catch (py::error_already_set& e) { + BOOST_LOG_TRIVIAL(error) << "orca.host.ui on_close handler raised: " << e.what(); + PyErr_Clear(); + } + }; +} + // -------------------------------------------------------------------------- // Registry of live plugin UI resources. Keyed by an opaque id; tracks the // owning plugin so all of a plugin's UI can be torn down on unload. @@ -166,11 +194,34 @@ public: } return out; } + void bind_callback(const CallablePtr& callback, const std::string& plugin_key) + { + if (!callback) + return; + std::lock_guard<std::mutex> lk(m_mtx); + m_callbacks[plugin_key].push_back(callback); + } + std::vector<CallablePtr> take_callbacks_for_plugin(const std::string& plugin_key) + { + std::lock_guard<std::mutex> lk(m_mtx); + auto it = m_callbacks.find(plugin_key); + if (it == m_callbacks.end()) + return {}; + std::vector<CallablePtr> callbacks; + callbacks.reserve(it->second.size()); + for (const std::weak_ptr<GilSafeCallable>& weak_callback : it->second) { + if (auto callback = weak_callback.lock()) + callbacks.push_back(std::move(callback)); + } + m_callbacks.erase(it); + return callbacks; + } private: std::mutex m_mtx; std::unordered_map<int, wxWindow*> m_resources; std::unordered_map<int, std::string> m_owners; + std::unordered_map<std::string, std::vector<std::weak_ptr<GilSafeCallable>>> m_callbacks; int m_next_id{1}; }; @@ -321,28 +372,13 @@ py::object ui_create_window(const std::string& html, const std::string& title, i if (!UiRegistry::instance().is_open(new_id)) return; - // Plugin's on_close: fired only on a user/JS-initiated close (not forced - // teardown), while the dialog is alive. Empty if the plugin passed None. - GUI::PluginWebDialog::CloseHandler on_close; - if (close_holder) { - on_close = [close_holder]() { - PythonGILState gil; - if (!gil) - return; - try { - close_holder->fn(); - } catch (py::error_already_set& e) { - BOOST_LOG_TRIVIAL(error) << "orca.host.ui on_close handler raised: " << e.what(); - PyErr_Clear(); - } - }; - } + GUI::WebDialog::CloseHandler on_close = make_close_adapter(close_holder); // Registry cleanup: GIL-free, runs from the dialog destructor on every path. auto on_destroyed = [new_id]() { UiRegistry::instance().remove(new_id); }; - auto* dlg = new GUI::PluginWebDialog(ui_parent(), wxString::FromUTF8(title), html, - wxSize(w, h), std::move(msg_adapter), std::move(submit_adapter), - std::move(on_close), std::move(on_destroyed), PLUGIN_WX_STYLE); + auto* dlg = new GUI::WebDialog(ui_parent(), wxString::FromUTF8(title), html, + wxSize(w, h), std::move(msg_adapter), std::move(submit_adapter), + std::move(on_close), std::move(on_destroyed), PLUGIN_WX_STYLE); UiRegistry::instance().bind(new_id, dlg, plugin_key); if (modal) { dlg->ShowModal(); @@ -358,14 +394,69 @@ py::object ui_create_window(const std::string& html, const std::string& title, i return py::cast(UiWindowHandle{new_id}); } +// -------------------------------------------------------------------------- +// orca.host.ui.create_dock_panel + UiDockPanel handle +// -------------------------------------------------------------------------- +constexpr const char* DOCK_POSITIONS[] = {"left", "right", "bottom", "float"}; + +struct UiDockPanelHandle +{ + int id{0}; +}; + +py::object ui_create_dock_panel(const std::string& html, const std::string& title, int width, int height, + py::object on_message, py::object on_close, const std::string& dock) +{ + if (std::find(std::begin(DOCK_POSITIONS), std::end(DOCK_POSITIONS), dock) == std::end(DOCK_POSITIONS)) + throw std::invalid_argument("orca.host.ui.create_dock_panel dock must be \"left\", \"right\", \"bottom\" or \"float\""); + + auto msg_adapter = make_message_adapter(std::move(on_message)); + CallablePtr close_holder = make_holder(std::move(on_close)); + const std::string plugin_key = PluginAuditManager::instance().current_plugin(); + const int w = width > 0 ? width : 320; + const int h = height > 0 ? height : 480; + + if (wxTheApp == nullptr) + throw std::runtime_error("OrcaSlicer application is not initialized"); + + // Deferred and pre-bound for the same reasons as create_window(). + const int new_id = UiRegistry::instance().reserve_id(); + UiRegistry::instance().bind(new_id, nullptr, plugin_key); + + GUI::wxGetApp().CallAfter([new_id, plugin_key, html, title, dock, w, h, + msg_adapter = std::move(msg_adapter), + close_holder = std::move(close_holder)]() mutable { + if (!UiRegistry::instance().is_open(new_id)) + return; + + GUI::Plater* plater = GUI::wxGetApp().plater(); + if (plater == nullptr || GUI::wxGetApp().is_closing()) { + UiRegistry::instance().remove(new_id); + return; + } + + auto on_destroyed = [new_id]() { UiRegistry::instance().remove(new_id); }; + auto* panel = new GUI::DockPanel(plater, html, std::move(msg_adapter), make_close_adapter(close_holder), + std::move(on_destroyed)); + UiRegistry::instance().bind(new_id, panel, plugin_key); + plater->add_dock_pane(panel, GUI::plugin_pane_name(plugin_key, title), wxString::FromUTF8(title), dock, + wxSize(w, h), [panel]() { panel->fire_close(); }); + }); + + return py::cast(UiDockPanelHandle{new_id}); +} + void handle_post(int id, py::object data) { if (wxTheApp == nullptr) return; json j = py_to_json(data); // GIL held (binding body) GUI::wxGetApp().CallAfter([id, j = std::move(j)]() { - auto* d = UiRegistry::instance().get_as<GUI::PluginWebDialog>(id); - GUI::PluginWebDialog::post_message(d, j); + auto* window = UiRegistry::instance().get_as<wxWindow>(id); + if (auto* panel = dynamic_cast<GUI::DockPanel*>(window)) + panel->push_message(j); + else + GUI::WebDialog::post_message(dynamic_cast<GUI::WebDialog*>(window), j); }); } @@ -374,8 +465,23 @@ void handle_close(int id) if (wxTheApp == nullptr) return; GUI::wxGetApp().CallAfter([id]() { - auto* d = UiRegistry::instance().get_as<GUI::PluginWebDialog>(id); - GUI::PluginWebDialog::request_close(d); + auto* window = UiRegistry::instance().get_as<wxWindow>(id); + if (auto* panel = dynamic_cast<GUI::DockPanel*>(window)) + panel->request_close(); + else + GUI::WebDialog::request_close(dynamic_cast<GUI::WebDialog*>(window)); + }); +} + +void handle_show(int id, bool show) +{ + if (wxTheApp == nullptr) + return; + GUI::wxGetApp().CallAfter([id, show]() { + auto* panel = UiRegistry::instance().get_as<GUI::DockPanel>(id); + GUI::Plater* plater = GUI::wxGetApp().plater(); + if (panel != nullptr && plater != nullptr) + plater->show_dock_pane(panel, show); }); } @@ -448,6 +554,46 @@ void progress_close(int id) }); } +void plater_notification(NotificationManager::NotificationLevel notification_level, const std::string& text, + const std::string& hypertext, py::object on_click) +{ + const std::string plugin_key = PluginAuditManager::instance().current_plugin(); + CallablePtr holder = make_holder(std::move(on_click)); + if (holder) + UiRegistry::instance().bind_callback(holder, plugin_key); + + std::function<bool(wxEvtHandler*)> callback; + if (holder) { + callback = [holder](wxEvtHandler*) -> bool { + if (!holder->active.load(std::memory_order_acquire)) + return false; + + PythonGILState gil; + if (!gil) + return false; + try { + py::object result = holder->fn(); + return result.is_none() || result.cast<bool>(); + } catch (py::error_already_set& e) { + BOOST_LOG_TRIVIAL(error) << "orca.host.ui notification callback raised: " << e.what(); + PyErr_Clear(); + return false; + } catch (const std::exception& e) { + BOOST_LOG_TRIVIAL(error) << "orca.host.ui notification callback raised: " << e.what(); + return false; + } catch (...) { + BOOST_LOG_TRIVIAL(error) << "orca.host.ui notification callback raised an unknown exception"; + return false; + } + }; + } + + run_on_ui_blocking([notification_level, text, hypertext, callback = std::move(callback)]() mutable { + wxGetApp().plater()->get_notification_manager()->push_notification(NotificationType::CustomNotification, notification_level, text, + hypertext, std::move(callback)); + }); +} + } // namespace void PluginHostUi::RegisterBindings(pybind11::module_& host) @@ -494,6 +640,31 @@ void PluginHostUi::RegisterBindings(pybind11::module_& host) "or WINDOW_MODAL. on_message(data) is called on the UI thread when the page posts; on_submit(data) " "is called when the page submits; offload heavy work to a thread and push results back with window.post()."); + py::class_<UiDockPanelHandle>(ui, "UiDockPanel", "Handle to a dockable plugin HTML panel created by create_dock_panel().") + .def_property_readonly("id", [](const UiDockPanelHandle& h) { return h.id; }) + .def( + "post", [](const UiDockPanelHandle& h, py::object data) { handle_post(h.id, std::move(data)); }, + py::arg("data"), "Send a payload to the page (delivered to window.orca.onMessage handlers).") + .def( + "show", [](const UiDockPanelHandle& h) { handle_show(h.id, true); }, "Show the panel again after hide().") + .def( + "hide", [](const UiDockPanelHandle& h) { handle_show(h.id, false); }, "Hide the panel without closing it.") + .def( + "close", [](const UiDockPanelHandle& h) { handle_close(h.id); }, "Close the panel (fires on_close).") + .def( + "is_open", [](const UiDockPanelHandle& h) { return UiRegistry::instance().is_open(h.id); }, + "Return True until the panel is closed; a hidden panel is still open."); + + ui.def("create_dock_panel", &ui_create_dock_panel, py::arg("html"), py::arg("title") = "OrcaSlicer", + py::arg("width") = 320, py::arg("height") = 480, py::arg("on_message") = py::none(), + py::arg("on_close") = py::none(), py::arg("dock") = "right", + "Open an HTML panel docked beside the 3D view and return a UiDockPanel. dock is \"left\", \"right\", " + "\"bottom\" or \"float\", and width/height are in DIPs; the user can move and resize the panel, and a panel " + "opened again comes back where the window layout was last saved. The panel belongs to the Prepare and " + "Preview tabs. on_message(data) is called on the UI thread when the page posts; window.orca.close() " + "or the panel's close button closes it and calls on_close(). A post() made before the page has " + "loaded can be dropped, so have the page request its first data."); + py::class_<UiProgressHandle>(ui, "ProgressDialog", "Handle to a native progress dialog.") .def(py::init(&new_progress_dialog), py::arg("title"), py::arg("message"), py::arg("maximum") = 100, py::arg("style") = wxPD_APP_MODAL | wxPD_AUTO_HIDE) @@ -530,6 +701,23 @@ void PluginHostUi::RegisterBindings(pybind11::module_& host) ui.def("create_progress_dialog", &ui_create_progress_dialog, py::arg("title"), py::arg("message"), py::arg("maximum") = 100, py::arg("style") = wxPD_APP_MODAL | wxPD_AUTO_HIDE, "Create a native progress dialog and return a ProgressDialog handle."); + + py::enum_<NotificationManager::NotificationLevel>(ui, "NotificationLevel") + .value("ProgressBarNotificationLevel", NotificationManager::NotificationLevel::ProgressBarNotificationLevel) + .value("HintNotificationLevel", NotificationManager::NotificationLevel::HintNotificationLevel) + .value("RegularNotificationLevel", NotificationManager::NotificationLevel::RegularNotificationLevel) + .value("PrintInfoNotificationLevel", NotificationManager::NotificationLevel::PrintInfoNotificationLevel) + .value("PrintInfoShortNotificationLevel", NotificationManager::NotificationLevel::PrintInfoShortNotificationLevel) + .value("ImportantNotificationLevel", NotificationManager::NotificationLevel::ImportantNotificationLevel) + .value("WarningNotificationLevel", NotificationManager::NotificationLevel::WarningNotificationLevel) + .value("SeriousWarningNotificationLevel", NotificationManager::NotificationLevel::SeriousWarningNotificationLevel) + .value("ErrorNotificationLevel", NotificationManager::NotificationLevel::ErrorNotificationLevel) + .export_values(); + + ui.def("push_notification", &plater_notification, py::arg("notification_level"), py::arg("text"), + py::arg("hyper_text") = "", py::arg("on_click") = py::none(), + "Push a plater notification. hyper_text is an underlined label; on_click() is called when it is clicked " + "and may return True to close the notification."); } void PluginHostUi::close_windows_for_plugin(const std::string& plugin_key) @@ -538,11 +726,16 @@ void PluginHostUi::close_windows_for_plugin(const std::string& plugin_key) return; auto teardown = [plugin_key]() { + for (auto& callback : UiRegistry::instance().take_callbacks_for_plugin(plugin_key)) + callback->disable(); + // Destroy() bypasses wxEVT_CLOSE, so the plugin's on_close is not fired on // forced teardown (intended); the resource destructor still cleans the registry. for (auto* window : UiRegistry::instance().take_for_plugin(plugin_key)) { - if (auto* dialog = dynamic_cast<GUI::PluginWebDialog*>(window)) - GUI::PluginWebDialog::destroy_for_plugin(dialog); + if (auto* dialog = dynamic_cast<GUI::WebDialog*>(window)) + GUI::WebDialog::destroy_silently(dialog); + else if (auto* panel = dynamic_cast<GUI::DockPanel*>(window)) + panel->destroy_silently(); else if (window != nullptr) window->Destroy(); } diff --git a/src/slic3r/plugin/host/PluginPages.cpp b/src/slic3r/plugin/host/PluginPages.cpp index fed16ee416..eb8b3332b9 100644 --- a/src/slic3r/plugin/host/PluginPages.cpp +++ b/src/slic3r/plugin/host/PluginPages.cpp @@ -1,17 +1,12 @@ #include "PluginPages.hpp" #include "libslic3r/AppConfig.hpp" -#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/Notebook.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/Widgets/Button.hpp" -#include "slic3r/GUI/Widgets/WebView.hpp" -#include "slic3r/GUI/Widgets/WebViewHostDialog.hpp" #include "slic3r/GUI/wxExtensions.hpp" #include "slic3r/plugin/PluginManager.hpp" -#include <libslic3r/Utils.hpp> - #include <algorithm> #include <boost/filesystem/path.hpp> @@ -66,27 +61,11 @@ constexpr char PLUGIN_PAGE_BRIDGE_JS[] = R"JS( } // namespace PluginPage::PluginPage(wxWindow* parent, std::shared_ptr<PagesPluginCapability> capability) - : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize) + : GUI::WebPanel(parent, PLUGIN_PAGE_BRIDGE_JS) , m_cap(std::move(capability)) , m_lifetime(std::make_shared<std::atomic<PluginPage*>>(this)) { - auto* topsizer = new wxBoxSizer(wxVERTICAL); - SetSizer(topsizer); - - m_browser = WebView::CreateWebView(this, bootstrap_url()); - if (m_browser == nullptr) { - wxLogError("Could not initialize plugin page web view"); - return; - } - - topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); - m_browser->Bind(wxEVT_WEBVIEW_LOADED, &PluginPage::on_bootstrap_event, this); - m_browser->Bind(wxEVT_WEBVIEW_ERROR, &PluginPage::on_bootstrap_event, this); - m_browser->Bind(wxEVT_WEBVIEW_NEWWINDOW, &PluginPage::on_new_window, this); - m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &PluginPage::on_script_message, this); - m_browser->AddUserScript(wxString::FromUTF8(GUI::WebViewHostDialog::theme_user_script())); - m_browser->AddUserScript(wxString::FromUTF8(GUI::WebViewHostDialog::plugin_defaults_user_script())); - m_browser->AddUserScript(PLUGIN_PAGE_BRIDGE_JS); + browser()->Bind(wxEVT_WEBVIEW_NEWWINDOW, &PluginPage::on_new_window, this); const std::shared_ptr<std::atomic<PluginPage*>> lifetime = m_lifetime; m_cap->set_message_sender([lifetime](const std::string& message) { @@ -117,89 +96,54 @@ void PluginPage::detach_capability() m_cap.reset(); } -wxString PluginPage::web_base_url() const +std::optional<std::string> PluginPage::page_html() { - const auto path = (boost::filesystem::path(resources_dir()) / "web").make_preferred().string(); - return wxString("file://") + GUI::from_u8(path) + "/"; -} + if (m_cap == nullptr) + return std::nullopt; -wxString PluginPage::bootstrap_url() const -{ - const auto path = (boost::filesystem::path(resources_dir()) / "web/dialog/PluginWebDialog/blank.html").make_preferred().string(); - return wxString("file://") + GUI::from_u8(path); -} - -void PluginPage::on_bootstrap_event(wxWebViewEvent& event) -{ - load_plugin_content(); - event.Skip(); -} - -void PluginPage::load_plugin_content() -{ - if (m_content_loaded || m_browser == nullptr || m_cap == nullptr) - return; - - m_content_loaded = true; try { - m_browser->SetPage(wxString::FromUTF8(m_cap->get_ui()), web_base_url()); + return m_cap->get_ui(); } catch (const std::exception& error) { BOOST_LOG_TRIVIAL(error) << "Failed to load plugin page '" << m_cap->name() << "': " << error.what(); - detach_capability(); } catch (...) { BOOST_LOG_TRIVIAL(error) << "Failed to load plugin page '" << m_cap->name() << "'"; - detach_capability(); } + detach_capability(); + return std::nullopt; } void PluginPage::on_new_window(wxWebViewEvent& event) { const wxString url = event.GetURL(); - if (!url.empty() && m_browser != nullptr) - m_browser->LoadURL(url); + if (!url.empty()) + browser()->LoadURL(url); event.Veto(); } -void PluginPage::on_script_message(wxWebViewEvent& event) +bool PluginPage::on_page_message(const std::string& kind, const nlohmann::json& data) { + if (kind != "message") + return false; if (!m_cap) - return; + return true; - const wxString payload = event.GetString(); - nlohmann::json root = nlohmann::json::parse(payload.utf8_string(), nullptr, false); - if (root.is_discarded() || root.value("channel", std::string()) != "orca" || - root.value("kind", std::string()) != "message") - return; - - const auto data = root.find("data"); try { - m_cap->on_message(data == root.end() - ? "null" - : data->dump(-1, ' ', false, nlohmann::json::error_handler_t::replace)); + m_cap->on_message(data.dump(-1, ' ', false, nlohmann::json::error_handler_t::replace)); } catch (const std::exception& error) { BOOST_LOG_TRIVIAL(error) << "Plugin page message handler failed for '" << m_cap->name() << "': " << error.what(); } catch (...) { BOOST_LOG_TRIVIAL(error) << "Plugin page message handler failed for '" << m_cap->name() << "'"; } + return true; } void PluginPage::push_message(const std::string& message) { - if (m_browser == nullptr) - return; - // PagesPluginCapability::post_message() already dumps JSON, so accept it as-is; only a // non-JSON payload needs wrapping as a string literal. - const std::string payload = nlohmann::json::accept(message) - ? message - : nlohmann::json(message).dump(-1, ' ', false, nlohmann::json::error_handler_t::replace); - - WebView::RunScript(m_browser, wxString::Format( - "(function dispatch(payload, attempts) {\n" - " if (typeof window.__orcaDispatch === 'function') { window.__orcaDispatch(payload); return; }\n" - " if (attempts < 100) window.setTimeout(function() { dispatch(payload, attempts + 1); }, 25);\n" - "})({data: %s}, 0);", - wxString::FromUTF8(payload))); + post_to_page(nlohmann::json::accept(message) + ? message + : nlohmann::json(message).dump(-1, ' ', false, nlohmann::json::error_handler_t::replace)); } PluginPages::~PluginPages() @@ -268,10 +212,6 @@ bool PluginPages::create_page(const PluginCapabilityId& id) } auto* page = new PluginPage(m_parent, std::move(capability)); - if (!page->is_valid()) { - page->Destroy(); - return false; - } if (!icon.empty()) { try { diff --git a/src/slic3r/plugin/host/PluginPages.hpp b/src/slic3r/plugin/host/PluginPages.hpp index 4d00de6df9..59d34fe9ff 100644 --- a/src/slic3r/plugin/host/PluginPages.hpp +++ b/src/slic3r/plugin/host/PluginPages.hpp @@ -1,5 +1,6 @@ #pragma once +#include <slic3r/GUI/WebPanel.hpp> #include <slic3r/plugin/PythonPluginInterface.hpp> #include <slic3r/plugin/pluginTypes/pages/PagesPluginCapability.hpp> @@ -11,14 +12,13 @@ #include <vector> #include <wx/bitmap.h> -#include <wx/panel.h> #include <wx/webview.h> class Notebook; namespace Slic3r { -class PluginPage : public wxPanel +class PluginPage : public GUI::WebPanel { public: PluginPage(wxWindow* parent, std::shared_ptr<PagesPluginCapability> capability); @@ -26,24 +26,20 @@ public: PluginPage() = delete; - bool is_valid() const { return m_browser != nullptr && m_cap != nullptr; } void detach_capability(); - void on_bootstrap_event(wxWebViewEvent& event); - void on_new_window(wxWebViewEvent& event); - void on_script_message(wxWebViewEvent& event); void push_message(const std::string& message); void set_icon(const wxBitmap& icon) { m_icon = icon; } const wxBitmap& icon() const { return m_icon; } +protected: + std::optional<std::string> page_html() override; + bool on_page_message(const std::string& kind, const nlohmann::json& data) override; + private: - void load_plugin_content(); - wxString bootstrap_url() const; - wxString web_base_url() const; + void on_new_window(wxWebViewEvent& event); - wxWebView* m_browser{nullptr}; std::shared_ptr<PagesPluginCapability> m_cap; std::shared_ptr<std::atomic<PluginPage*>> m_lifetime; - bool m_content_loaded{false}; wxBitmap m_icon; }; diff --git a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp index 5491e1cef6..cdb533d2cb 100644 --- a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp +++ b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp @@ -7,7 +7,31 @@ #include "IPrinterAgent.hpp" #include <slic3r/plugin/PythonPluginInterface.hpp> +#include <type_traits> + +// IPrinterAgent reports failure through its return values and its callers do not catch, so nothing +// the plugin does may leave the trampoline as an exception: a Python raise, a missing override or a +// wrongly typed return is logged and answered with what NetworkAgent returns when no agent is set. +#define ORCA_PY_AGENT_CATCH(name) \ + catch (const std::exception& ex) { this->log_failure(#name, ex.what()); } \ + catch (...) { this->log_failure(#name, "unknown error"); } + +#define ORCA_PY_AGENT_OVERRIDE(ret, name, ...) \ + try { \ + ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE_PURE, ret, PrinterAgentPluginCapability, name, ##__VA_ARGS__); \ + } ORCA_PY_AGENT_CATCH(name) \ + return printer_agent_failure<ret>() + namespace Slic3r { +// NetworkAgent's no-agent answer: -1 for a status code, the empty value (false, "", none) otherwise. +template<typename T> T printer_agent_failure() +{ + if constexpr (std::is_same_v<T, int>) + return -1; + else if constexpr (!std::is_void_v<T>) + return T{}; +} + class PyPrinterAgentPluginCapabilityTrampoline : public PyPluginCommonTrampoline<PrinterAgentPluginCapability> { public: @@ -15,207 +39,158 @@ public: AgentInfo get_agent_info() override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, AgentInfo, PrinterAgentPluginCapability, - get_agent_info); + ORCA_PY_AGENT_OVERRIDE(AgentInfo, get_agent_info); } int connect_printer(std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, connect_printer, dev_id, - dev_ip, username, password, use_ssl); + ORCA_PY_AGENT_OVERRIDE(int, connect_printer, dev_id, dev_ip, username, password, use_ssl); } int disconnect_printer() override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, disconnect_printer); + ORCA_PY_AGENT_OVERRIDE(int, disconnect_printer); } int send_message(std::string dev_id, std::string json_str, int qos, int flag) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, send_message, dev_id, - json_str, qos, flag); + ORCA_PY_AGENT_OVERRIDE(int, send_message, dev_id, json_str, qos, flag); } int send_message_to_printer(std::string dev_id, std::string json_str, int qos, int flag) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, send_message_to_printer, - dev_id, json_str, qos, flag); + ORCA_PY_AGENT_OVERRIDE(int, send_message_to_printer, dev_id, json_str, qos, flag); } bool start_discovery(bool start, bool sending) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, bool, PrinterAgentPluginCapability, start_discovery, start, - sending); + ORCA_PY_AGENT_OVERRIDE(bool, start_discovery, start, sending); } int bind_detect(std::string dev_ip, std::string sec_link, detectResult& detect) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, bind_detect, dev_ip, - sec_link, detect); + // Passed as a pointer: pybind11 copies a reference argument, so the plugin's writes would be lost. + ORCA_PY_AGENT_OVERRIDE(int, bind_detect, dev_ip, sec_link, &detect); } std::string get_user_selected_machine() override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, std::string, PrinterAgentPluginCapability, - get_user_selected_machine); + ORCA_PY_AGENT_OVERRIDE(std::string, get_user_selected_machine); } int set_user_selected_machine(std::string dev_id) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, - set_user_selected_machine, dev_id); + ORCA_PY_AGENT_OVERRIDE(int, set_user_selected_machine, dev_id); } int start_send_gcode_to_sdcard(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, - start_send_gcode_to_sdcard, params, update_fn, cancel_fn, wait_fn); + ORCA_PY_AGENT_OVERRIDE(int, start_send_gcode_to_sdcard, params, update_fn, cancel_fn, wait_fn); } int start_local_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, start_local_print, - params, update_fn, cancel_fn); + ORCA_PY_AGENT_OVERRIDE(int, start_local_print, params, update_fn, cancel_fn); } FilamentSyncMode get_filament_sync_mode() const override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, FilamentSyncMode, PrinterAgentPluginCapability, - get_filament_sync_mode); + ORCA_PY_AGENT_OVERRIDE(FilamentSyncMode, get_filament_sync_mode); } bool fetch_filament_info(std::string dev_id) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, bool, PrinterAgentPluginCapability, fetch_filament_info, dev_id); + ORCA_PY_AGENT_OVERRIDE(bool, fetch_filament_info, dev_id); } int check_cert() override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, check_cert); + ORCA_PY_AGENT_OVERRIDE(int, check_cert); } void install_device_cert(std::string dev_id, bool lan_only) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, void, PrinterAgentPluginCapability, install_device_cert, dev_id, - lan_only); + ORCA_PY_AGENT_OVERRIDE(void, install_device_cert, dev_id, lan_only); } int ping_bind(std::string ping_code) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, ping_bind, ping_code); + ORCA_PY_AGENT_OVERRIDE(int, ping_bind, ping_code); } int bind(std::string dev_ip, std::string dev_id, std::string dev_model, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, bind, dev_ip, dev_id, - dev_model, sec_link, timezone, improved, update_fn); + ORCA_PY_AGENT_OVERRIDE(int, bind, dev_ip, dev_id, dev_model, sec_link, timezone, improved, update_fn); } int unbind(std::string dev_id) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, unbind, dev_id); + ORCA_PY_AGENT_OVERRIDE(int, unbind, dev_id); } int start_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, start_print, params, - update_fn, cancel_fn, wait_fn); + ORCA_PY_AGENT_OVERRIDE(int, start_print, params, update_fn, cancel_fn, wait_fn); } int start_local_print_with_record(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, - start_local_print_with_record, params, update_fn, cancel_fn, wait_fn); + ORCA_PY_AGENT_OVERRIDE(int, start_local_print_with_record, params, update_fn, cancel_fn, wait_fn); } int start_sdcard_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, start_sdcard_print, params, - update_fn, cancel_fn); + ORCA_PY_AGENT_OVERRIDE(int, start_sdcard_print, params, update_fn, cancel_fn); } int get_hms_snapshot(std::string dev_id, std::string file_name, std::function<void(std::string, int)> callback) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, get_hms_snapshot, dev_id, - file_name, callback); + ORCA_PY_AGENT_OVERRIDE(int, get_hms_snapshot, dev_id, file_name, callback); } int set_server_callback(OnServerErrFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_server_callback, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_server_callback, fn); } int set_on_ssdp_msg_fn(OnMsgArrivedFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_ssdp_msg_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_ssdp_msg_fn, fn); } int set_on_printer_connected_fn(OnPrinterConnectedFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_printer_connected_fn, - fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_printer_connected_fn, fn); } int set_on_subscribe_failure_fn(GetSubscribeFailureFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_subscribe_failure_fn, - fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_subscribe_failure_fn, fn); } int set_on_message_fn(OnMessageFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_message_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_message_fn, fn); } int set_on_user_message_fn(OnMessageFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_user_message_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_user_message_fn, fn); } int set_on_local_connect_fn(OnLocalConnectedFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_local_connect_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_local_connect_fn, fn); } int set_on_local_message_fn(OnMessageFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_on_local_message_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_on_local_message_fn, fn); } int set_queue_on_main_fn(QueueOnMainFn fn) override { - ORCA_PY_OVERRIDE_AUDITED( - [] {}, PYBIND11_OVERRIDE_PURE, int, PrinterAgentPluginCapability, set_queue_on_main_fn, fn); + ORCA_PY_AGENT_OVERRIDE(int, set_queue_on_main_fn, fn); } // request_bind_ticket returns its ticket through a std::string* out-param, which pybind11 @@ -223,24 +198,33 @@ public: // returns a (result, ticket) tuple, which we unpack into the int result and the out-param. int request_bind_ticket(std::string* ticket) override { - ORCA_PY_AUDIT_SCOPE(); - ::Slic3r::PluginCapabilityInterface::RefCounter _orca_ref_counter(*this); - ::Slic3r::PythonGILState gil; - if (!gil) - throw std::runtime_error("Python interpreter is shutting down"); - pybind11::function override = - pybind11::get_override(static_cast<const PrinterAgentPluginCapability*>(this), "request_bind_ticket"); - if (!override) - pybind11::pybind11_fail("Tried to call pure virtual function \"PrinterAgentPluginCapability::request_bind_ticket\""); try { - pybind11::tuple result = override().cast<pybind11::tuple>(); - if (ticket) - *ticket = result[1].cast<std::string>(); - return result[0].cast<int>(); - } catch (pybind11::error_already_set& err) { - ::Slic3r::log_python_exception_keep(err); - throw; - } + ORCA_PY_AUDIT_SCOPE(); + ::Slic3r::PluginCapabilityInterface::RefCounter _orca_ref_counter(*this); + ::Slic3r::PythonGILState gil; + if (!gil) + throw std::runtime_error("Python interpreter is shutting down"); + pybind11::function override = + pybind11::get_override(static_cast<const PrinterAgentPluginCapability*>(this), "request_bind_ticket"); + if (!override) + pybind11::pybind11_fail("Tried to call pure virtual function \"PrinterAgentPluginCapability::request_bind_ticket\""); + try { + pybind11::tuple result = override().cast<pybind11::tuple>(); + if (ticket) + *ticket = result[1].cast<std::string>(); + return result[0].cast<int>(); + } catch (pybind11::error_already_set& err) { + ::Slic3r::log_python_exception_keep(err); + throw; + } + } ORCA_PY_AGENT_CATCH(request_bind_ticket) + return printer_agent_failure<int>(); + } + +private: + void log_failure(const char* operation, const char* error) const + { + BOOST_LOG_TRIVIAL(error) << "Printer agent plugin '" << this->audit_plugin_key() << "': " << operation << " failed: " << error; } }; } // namespace Slic3r diff --git a/tests/AGENTS.md b/tests/AGENTS.md index c62a1d12ec..e6f3bf864c 100644 --- a/tests/AGENTS.md +++ b/tests/AGENTS.md @@ -10,16 +10,17 @@ Rules for writing tests under `tests/`. [CATCH2.md](CATCH2.md) is the Catch2 ref - `libnest2d`: 2D nesting and packing. - `slic3rutils`: the Python plugin system and its slicing-pipeline bindings. - `filament_group`: filament-to-extruder grouping, checked against golden files. +- `cli`: end-to-end runs of the built `orca-slicer` binary, Linux only. These tests carry the `RequiresApp` label, which the CI unit-test job excludes because it receives only `build/tests`; run them with `ctest --test-dir build/tests -C Release -L RequiresApp`. ## Building and running Tests are off by default, so the build has to be told to include them. -- Windows: `build_release_vs.bat tests`, then `ctest --test-dir build/tests -C Release` +- Windows: `build_win.bat -ds --run-tests`, which builds the dependencies and the tests and runs them (`-l -x` for the clang-cl and Ninja build CI uses) - macOS: `./build_release_macos.sh -s -a arm64 -T`, which builds and runs them -- Linux: `./build_linux.sh -t`, then `ctest --test-dir build/tests` +- Linux: `./build_linux.sh -t`, then `ctest --test-dir build/tests -C Release` -Rebuild a single suite with `cmake --build build --config Release --target <suite>_tests`. Visual Studio and Xcode are multi-configuration generators, so `ctest` needs `-C` there; on Linux it does not. +Rebuild a single suite with `cmake --build build --config Release --target <suite>_tests`. Visual Studio, Xcode and the Ninja Multi-Config generator that `build_linux.sh` uses are all multi-configuration, so `ctest` needs `-C` on every platform; without it, tests registered with plain `add_test()` lose their labels and report "Not Run". ## Where a test goes diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c403152c4e..f79a3c54c2 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -85,4 +85,9 @@ add_subdirectory(fff_print) add_subdirectory(sla_print) add_subdirectory(filament_group) +# End-to-end checks of the orca-slicer binary. Linux only: they read result.json, which the CLI +# writes on Linux only. src/ is added before tests/, so the target is known here. +if (UNIX AND NOT APPLE AND TARGET OrcaSlicer) + add_subdirectory(cli) +endif () diff --git a/tests/cli/CMakeLists.txt b/tests/cli/CMakeLists.txt new file mode 100644 index 0000000000..6707159fb2 --- /dev/null +++ b/tests/cli/CMakeLists.txt @@ -0,0 +1,17 @@ +# Runs the real orca-slicer binary, so it needs the built app and resources/, not just build/tests. +# The CI unit-test job only receives build/tests, so the test carries the RequiresApp label that +# scripts/run_unit_tests.sh excludes. Run it with `ctest -C Release -L RequiresApp`. It also exits 77 +# (skipped) when the binary is missing. + +find_program(ORCA_CLI_TEST_PYTHON NAMES python3) +if (NOT ORCA_CLI_TEST_PYTHON) + message(STATUS "python3 not found, not registering the CLI tests") + return() +endif () + +add_test(NAME cli_strict_mode + COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/test_cli_strict.sh $<TARGET_FILE:OrcaSlicer> ${ORCA_CLI_TEST_PYTHON}) +set_tests_properties(cli_strict_mode PROPERTIES + LABELS "CLI;RequiresApp" + SKIP_RETURN_CODE 77 + TIMEOUT 900) diff --git a/tests/cli/test_cli_strict.sh b/tests/cli/test_cli_strict.sh new file mode 100644 index 0000000000..6051511f23 --- /dev/null +++ b/tests/cli/test_cli_strict.sh @@ -0,0 +1,153 @@ +#!/usr/bin/env bash +# End-to-end check of the CLI --strict option against the real orca-slicer binary. +# +# A model with a large unsupported overhang, sliced with support off, raises the NON_CRITICAL +# "support needed" slicing warning. The CLI lists it in result.json's "warnings" array, and with +# --strict it also fails the run with CLI_SLICING_ERROR. --strict with --no-check is rejected up +# front, because --no-check skips that check. +# +# usage: test_cli_strict.sh <orca-slicer binary> <python3> +set -u + +BIN="${1:-}" +PY="${2:-python3}" +# 77 is the test's SKIP_RETURN_CODE. +[ -x "$BIN" ] || { echo "SKIP: orca-slicer binary not found: $BIN"; exit 77; } + +# From src/libslic3r/Utils.hpp. main() returns them, so the shell sees them modulo 256. +CLI_SUCCESS=0 +CLI_INVALID_PARAMS=-2 +CLI_SLICING_ERROR=-100 + +WORK="$(mktemp -d "${TMPDIR:-/tmp}/orca-cli-strict.XXXXXX")" +trap 'rm -rf "$WORK"' EXIT +mkdir -p "$WORK/datadir" + +# Standalone presets: without "inherits" the CLI loads them as-is, with no preset bundle. +cat > "$WORK/machine.json" <<'EOF' +{ + "type": "machine", + "from": "User", + "name": "CLI strict test printer", + "printable_area": ["0x0", "200x0", "200x200", "0x200"], + "printable_height": "100", + "layer_change_gcode": "G92 E0" +} +EOF +cat > "$WORK/process.json" <<'EOF' +{ + "type": "process", + "from": "User", + "name": "CLI strict test process", + "enable_support": "0", + "enforce_support_layers": "0" +} +EOF + +# A 40x40mm cap on an 8x8mm stem: the cap reaches ~22mm past the stem, beyond the 6mm +# cantilever limit of PrintObject::is_support_necessary(). +"$PY" - "$WORK/capital.stl" <<'EOF' +import sys + +def box(x0, y0, z0, x1, y1, z1): + v = [(x, y, z) for z in (z0, z1) for y in (y0, y1) for x in (x0, x1)] + # Faces wound counter-clockwise seen from outside: -z, +z, -y, +y, -x, +x. + for a, b, c, d in ((0, 2, 3, 1), (4, 5, 7, 6), (0, 1, 5, 4), (2, 6, 7, 3), (0, 4, 6, 2), (1, 3, 7, 5)): + yield v[a], v[b], v[c] + yield v[a], v[c], v[d] + +with open(sys.argv[1], "w") as f: + f.write("solid capital\n") + for tri in (*box(16, 16, 0, 24, 24, 13), *box(0, 0, 12, 40, 40, 14)): + f.write("facet normal 0 0 0\nouter loop\n") + for p in tri: + f.write("vertex %g %g %g\n" % p) + f.write("endloop\nendfacet\n") + f.write("endsolid capital\n") +EOF + +fails=0 +fail() { echo "FAIL: $*"; fails=$((fails + 1)); } + +# run <tag> [option...]: slice into $WORK/<tag>, keeping the log and the shell status there. +run() { + local out="$WORK/$1"; shift + mkdir -p "$out" + timeout 300 "$BIN" --datadir "$WORK/datadir" --load-settings "$WORK/machine.json;$WORK/process.json" \ + "$@" --slice 0 --outputdir "$out" "$WORK/capital.stl" > "$out/log" 2>&1 + echo $? > "$out/status" +} + +# expect_status <tag> <cli code> +expect_status() { + local got; got="$(cat "$WORK/$1/status")" + [ "$got" -eq $(( $2 & 255 )) ] || fail "$1: shell status $got, want $(( $2 & 255 )) (code $2)" +} + +# expect_gcode <tag> yes|no +expect_gcode() { + if compgen -G "$WORK/$1/*.gcode" > /dev/null; then + [ "$2" = yes ] || fail "$1: G-code was exported" + else + [ "$2" = no ] || fail "$1: no G-code was exported" + fi +} + +# expect_result <tag> <return_code> <strict_mode true|false> <non-critical warning: some|none> +expect_result() { + "$PY" - "$WORK/$1/result.json" "$2" "$3" "$4" <<'EOF' || fail "$1: result.json" +import json, sys + +path, want_rc, want_strict, want_warning = sys.argv[1], int(sys.argv[2]), sys.argv[3] == "true", sys.argv[4] +try: + with open(path) as f: + result = json.load(f) +except (OSError, ValueError) as e: + sys.exit("cannot read %s: %s" % (path, e)) + +errors = [] +if result.get("return_code") != want_rc: + errors.append("return_code %r, want %d" % (result.get("return_code"), want_rc)) +if result.get("strict_mode") is not want_strict: + errors.append("strict_mode %r, want %r" % (result.get("strict_mode"), want_strict)) +warnings = result.get("warnings") +if not isinstance(warnings, list): + errors.append("warnings %r is not a list" % (warnings,)) +else: + found = any(isinstance(w, dict) and w.get("class") == "slicing_warning_non_critical" for w in warnings) + if found != (want_warning == "some"): + errors.append("warnings %r, want %s slicing_warning_non_critical" % (warnings, want_warning)) +for e in errors: + print(e) +sys.exit(1 if errors else 0) +EOF +} + +echo "== without --strict the warning is listed and the slice succeeds" +run plain +expect_status plain $CLI_SUCCESS +expect_result plain $CLI_SUCCESS false some +expect_gcode plain yes + +echo "== --strict fails the run on the same warning, before G-code export" +run strict --strict +expect_status strict $CLI_SLICING_ERROR +expect_result strict $CLI_SLICING_ERROR true some +expect_gcode strict no + +echo "== --strict with --no-check is rejected before slicing" +run conflict --strict --no-check +expect_status conflict $CLI_INVALID_PARAMS +expect_result conflict $CLI_INVALID_PARAMS true none +expect_gcode conflict no +grep -q -- "--strict cannot be combined with --no-check" "$WORK/conflict/log" \ + || fail "conflict: error message missing" + +if [ "$fails" -ne 0 ]; then + for log in "$WORK"/*/log; do + echo "--- $log" + tail -n 40 "$log" + done + exit 1 +fi +echo "PASS" diff --git a/tests/data/cad_recipe_v3.bin b/tests/data/cad_recipe_v3.bin new file mode 100644 index 0000000000..c3bc6e95f7 Binary files /dev/null and b/tests/data/cad_recipe_v3.bin differ diff --git a/tests/data/cad_recipe_v4.bin b/tests/data/cad_recipe_v4.bin new file mode 100644 index 0000000000..eb8f8ec730 Binary files /dev/null and b/tests/data/cad_recipe_v4.bin differ diff --git a/tests/data/cad_recipe_v5.bin b/tests/data/cad_recipe_v5.bin new file mode 100644 index 0000000000..718f2d2d84 Binary files /dev/null and b/tests/data/cad_recipe_v5.bin differ diff --git a/tests/fff_print/CMakeLists.txt b/tests/fff_print/CMakeLists.txt index 3247bfda66..b52694e793 100644 --- a/tests/fff_print/CMakeLists.txt +++ b/tests/fff_print/CMakeLists.txt @@ -9,6 +9,7 @@ add_executable(${_TEST_NAME}_tests test_fill.cpp test_flow.cpp test_gcode_timing.cpp + test_gcodeprocessor.cpp test_gcodewriter.cpp test_model.cpp test_multifilament.cpp @@ -21,6 +22,7 @@ add_executable(${_TEST_NAME}_tests test_support_material.cpp test_tree_support.cpp test_trianglemesh.cpp + test_wipe.cpp test_wipe_tower.cpp ) target_link_libraries(${_TEST_NAME}_tests test_common libslic3r Catch2::Catch2WithMain) diff --git a/tests/fff_print/test_extrusion_entity.cpp b/tests/fff_print/test_extrusion_entity.cpp index 3287e73f01..57bc7e81e6 100644 --- a/tests/fff_print/test_extrusion_entity.cpp +++ b/tests/fff_print/test_extrusion_entity.cpp @@ -84,3 +84,104 @@ SCENARIO("Polygon flattening", "[ExtrusionEntity]") { } } } + +static ExtrusionPaths straight_path(const std::vector<double> &xs) +{ + ExtrusionPath path{erExternalPerimeter, 1.0, 0.45f, 0.2f}; + for (double x : xs) + path.polyline.append(Point3::new_scale(x, 0., 0.)); + return {path}; +} + +TEST_CASE("Scarf ramp ends on the next loop vertex instead of leaving a short stub", "[ExtrusionEntity]") +{ + using Catch::Matchers::WithinAbs; + // A 20 mm scarf in 10 steps: a remainder shorter than half a 2 mm step is snapped forward. + const double slope_length = 20.; + const double max_segment = scale_(slope_length / 10); + + SECTION("a 0.09 mm remainder extends the ramp to the vertex") { + ExtrusionPaths paths = straight_path({0., 5., 10., 15., 20.09, 25., 30.}); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + REQUIRE(loop.ends.size() == 1); + REQUIRE(loop.paths.size() == 1); + CHECK_THAT(unscale_(loop.starts.front().polyline.last_point().x()), WithinAbs(20.09, 1e-3)); + CHECK_THAT(unscale_(loop.ends.front().polyline.last_point().x()), WithinAbs(20.09, 1e-3)); + CHECK_THAT(unscale_(loop.paths.front().polyline.first_point().x()), WithinAbs(20.09, 1e-3)); + CHECK_THAT(unscale_(loop.paths.front().polyline.lines().front().length()), WithinAbs(4.91, 1e-3)); + } + + SECTION("a remainder longer than half a step keeps the exact scarf length") { + ExtrusionPaths paths = straight_path({0., 5., 10., 15., 21.5, 25., 30.}); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + REQUIRE(loop.paths.size() == 1); + CHECK_THAT(unscale_(loop.starts.front().polyline.last_point().x()), WithinAbs(20., 1e-3)); + CHECK_THAT(unscale_(loop.paths.front().polyline.first_point().x()), WithinAbs(20., 1e-3)); + CHECK_THAT(unscale_(loop.paths.front().polyline.lines().front().length()), WithinAbs(1.5, 1e-3)); + } + + SECTION("the ramp never grows by more than a millimetre, whatever the step size") { + ExtrusionPaths paths = straight_path({0., 5., 10., 15., 21.5, 25., 30.}); + ExtrusionLoopSloped loop(paths, 0., slope_length, scale_(slope_length), 0.); // a single 20 mm step + REQUIRE(loop.paths.size() == 1); + CHECK_THAT(unscale_(loop.starts.front().polyline.last_point().x()), WithinAbs(20., 1e-3)); + } + + SECTION("snapping onto the path's last vertex leaves no single-point flat path") { + ExtrusionPaths paths = straight_path({0., 5., 10., 15., 20.5}); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + CHECK(loop.paths.empty()); + CHECK_THAT(unscale_(loop.starts.front().polyline.last_point().x()), WithinAbs(20.5, 1e-3)); + } +} + +TEST_CASE("Scarf loop drops the micro segments the seam insertion leaves at both ends", "[ExtrusionEntity]") +{ + using Catch::Matchers::WithinAbs; + const double slope_length = 20.; + const double max_segment = scale_(slope_length / 10); + + SECTION("a 3 um segment at each end of a single path is removed, the seam point stays") { + ExtrusionPaths paths = straight_path({0., 0.003, 5., 10., 15., 21.5, 25., 29.997, 30.}); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + REQUIRE(loop.paths.size() == 1); + const Polyline3 &start = loop.starts.front().polyline; + CHECK_THAT(unscale_(start.first_point().x()), WithinAbs(0., 1e-4)); + CHECK_THAT(unscale_(start.lines().front().length()), WithinAbs(1.25, 1e-3)); // 5 mm halved twice + const Polyline3 &flat = loop.paths.front().polyline; + CHECK_THAT(unscale_(flat.last_point().x()), WithinAbs(30., 1e-4)); + CHECK_THAT(unscale_(flat.lines().back().length()), WithinAbs(5., 1e-3)); + } + + SECTION("a micro path of its own is dropped and the neighbour ends at the seam point") { + ExtrusionPaths paths = straight_path({0., 0.003}); + ExtrusionPaths rest = straight_path({0.003, 5., 10., 15., 21.5, 25., 30.}); + paths.push_back(rest.front()); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + CHECK_THAT(unscale_(loop.starts.front().polyline.first_point().x()), WithinAbs(0., 1e-4)); + CHECK_THAT(unscale_(loop.starts.front().polyline.lines().front().length()), WithinAbs(1.25, 1e-3)); + } + + SECTION("a scarf covering the whole loop still ends at full flow after a trim") { + // The caller sizes the scarf from the untrimmed loop: 10.003 mm here, 10 mm after the trim. + ExtrusionPaths paths = straight_path({0., 0.003, 5., 10.}); + ExtrusionLoopSloped loop(paths, 0., 10.003, max_segment, 0.); + REQUIRE(loop.starts.size() == 1); + CHECK(loop.paths.empty()); + CHECK_THAT(loop.starts.back().slope_end.e_ratio, WithinAbs(1., 1e-9)); + CHECK_THAT(unscale_(loop.starts.back().polyline.last_point().x()), WithinAbs(10., 1e-4)); + } + + SECTION("segments longer than the tolerance are kept") { + ExtrusionPaths paths = straight_path({0., 0.3, 5., 10., 15., 21.5, 25., 29.7, 30.}); + ExtrusionLoopSloped loop(paths, 0., slope_length, max_segment, 0.); + REQUIRE(loop.paths.size() == 1); + CHECK_THAT(unscale_(loop.starts.front().polyline.lines().front().length()), WithinAbs(0.3, 1e-3)); + CHECK_THAT(unscale_(loop.paths.front().polyline.lines().back().length()), WithinAbs(0.3, 1e-3)); + } +} diff --git a/tests/fff_print/test_fill.cpp b/tests/fff_print/test_fill.cpp index 04e5b61831..0ff7e65e5d 100644 --- a/tests/fff_print/test_fill.cpp +++ b/tests/fff_print/test_fill.cpp @@ -2,6 +2,7 @@ #include <algorithm> #include <cmath> +#include <functional> #include <map> #include <numeric> #include <sstream> @@ -9,11 +10,15 @@ #include <vector> #include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/Fill/Fill.hpp" +#include "libslic3r/Fill/FillAdaptive.hpp" #include "libslic3r/Flow.hpp" #include "libslic3r/Geometry.hpp" +#include "libslic3r/IntersectionPoints.hpp" #include "libslic3r/Layer.hpp" #include "libslic3r/Print.hpp" +#include "libslic3r/PrintConfig.hpp" #include "libslic3r/SVG.hpp" #include "libslic3r/libslic3r.h" @@ -675,6 +680,73 @@ TEST_CASE("Ironing follows the solid infill rotation template", "[Fill]") REQUIRE(compared > int(ironing.size()) / 2); } + +namespace { + +PrintRegionConfig ironing_config(IroningType type, + int top_surface_filament_id = 1, + int top_shell_layers = 3, + int bottom_shell_layers = 1) +{ + PrintRegionConfig cfg; + cfg.ironing_type.value = type; + cfg.top_surface_filament_id.value = top_surface_filament_id; + cfg.top_shell_layers.value = top_shell_layers; + cfg.bottom_shell_layers.value = bottom_shell_layers; + cfg.outer_wall_filament_id.value = 1; + cfg.wall_loops.value = 2; + return cfg; +} + +} // namespace + +TEST_CASE("Ironing an all-solid region uses the top surface filament on every layer", "[Fill]") +{ + const PrintRegionConfig cfg = ironing_config(IroningType::AllSolid, /*top_surface_filament_id=*/2); + const bool is_topmost_layer = GENERATE(false, true); + CAPTURE(is_topmost_layer); + REQUIRE(Layer::choose_ironing_extruder(cfg, /*spiral_mode=*/false, is_topmost_layer) == 2); +} + +TEST_CASE("Ironing top surfaces uses the top surface filament when the region has top shells", "[Fill]") +{ + const PrintRegionConfig cfg = ironing_config(IroningType::TopSurfaces, + /*top_surface_filament_id=*/3, + /*top_shell_layers=*/2); + REQUIRE(Layer::choose_ironing_extruder(cfg, /*spiral_mode=*/false, /*is_topmost_layer=*/false) == 3); +} + +TEST_CASE("Ironing top surfaces without top shells needs spiral mode and more than one bottom shell", "[Fill]") +{ + const PrintRegionConfig one_bottom_shell = ironing_config(IroningType::TopSurfaces, + /*top_surface_filament_id=*/1, + /*top_shell_layers=*/0, + /*bottom_shell_layers=*/1); + const PrintRegionConfig two_bottom_shells = ironing_config(IroningType::TopSurfaces, + /*top_surface_filament_id=*/1, + /*top_shell_layers=*/0, + /*bottom_shell_layers=*/2); + + REQUIRE(Layer::choose_ironing_extruder(two_bottom_shells, /*spiral_mode=*/true, /*is_topmost_layer=*/false) == 1); + REQUIRE(Layer::choose_ironing_extruder(one_bottom_shell, /*spiral_mode=*/true, /*is_topmost_layer=*/false) == -1); + REQUIRE(Layer::choose_ironing_extruder(two_bottom_shells, /*spiral_mode=*/false, /*is_topmost_layer=*/false) == -1); +} + +TEST_CASE("Ironing the topmost surface only applies to the topmost layer", "[Fill]") +{ + const PrintRegionConfig cfg = ironing_config(IroningType::TopmostOnly, /*top_surface_filament_id=*/4); + REQUIRE(Layer::choose_ironing_extruder(cfg, /*spiral_mode=*/false, /*is_topmost_layer=*/true) == 4); + REQUIRE(Layer::choose_ironing_extruder(cfg, /*spiral_mode=*/false, /*is_topmost_layer=*/false) == -1); +} + +TEST_CASE("A region with ironing turned off is never ironed", "[Fill]") +{ + const PrintRegionConfig cfg = ironing_config(IroningType::NoIroning); + const bool spiral_mode = GENERATE(false, true); + CAPTURE(spiral_mode); + REQUIRE(Layer::choose_ironing_extruder(cfg, spiral_mode, /*is_topmost_layer=*/true) == -1); +} + TEST_CASE("Solid infill direction offsets every layer when no template is set", "[Fill]") { auto angles_for = [](int direction) { @@ -1127,6 +1199,231 @@ TEST_CASE("Trapezoidal grid infill rounds its corners only with more than one li REQUIRE(single_smooth.length == single_sharp.length); } +TEST_CASE("Multiline cubic infill follows the cubic lines without crossing itself", "[Fill]") +{ + const int multiline = GENERATE(2, 3); + const double spacing = 0.45; + const double density = 0.3; + const double wall = multiline * spacing; + CAPTURE(multiline); + + const ExPolygon region{ Slic3r::Points{ Point::new_scale(0., 0.), Point::new_scale(40., 0.), + Point::new_scale(40., 40.), Point::new_scale(0., 40.) } }; + auto fill = [®ion, spacing](int lines, double density, size_t layer_id, double z) { + std::unique_ptr<Slic3r::Fill> filler(Slic3r::Fill::new_from_type("cubic")); + filler->spacing = spacing; + filler->angle = float(M_PI / 7.); + filler->layer_id = layer_id; + filler->z = z; + + FillParams params; + params.density = float(density); + params.multiline = lines; + params.dont_adjust = true; + params.anchor_length_max = 0.f; // The bare pattern, without connections along the boundary. + Slic3r::Surface surface(stInternal, region); + return filler->fill_surface(&surface, params); + }; + // Away from the boundary, where a line is clipped earlier than the side of its wall. + const Polygons inner = shrink(to_polygons(region), scale_(3.)); + auto farthest = [&inner](const Polylines &from, const Polylines &to) { + const AABBTreeLines::LinesDistancer<Line> tree(to_lines(to)); + double distance = 0.; + for (const Polyline &path : intersection_pl(from, inner)) + for (const Point &point : path.equally_spaced_points(scale_(0.2))) + distance = std::max(distance, tree.distance_from_lines<false>(point)); + return unscale<double>(distance); + }; + + // One z period of the pattern: sqrt(2) / 3 of the 3 * wall / density line spacing. + const double z_period = std::sqrt(2.) * wall / density; + const size_t layers = 30; + for (size_t layer_id = 0; layer_id < layers; ++layer_id) { + const double z = z_period * (layer_id + 0.5) / layers; + CAPTURE(layer_id, z); + const Polylines walls = fill(multiline, density, layer_id, z); + REQUIRE_FALSE(walls.empty()); + CHECK(get_intersections(to_lines(walls)).empty()); + // Long paths running out to the boundary, not loops around the cells. + CHECK(std::none_of(walls.begin(), walls.end(), [](const Polyline &path) { return path.first_point() == path.last_point(); })); + + // Single lines at the same spacing: the walls are drawn along them. + const Polylines lines = fill(1, density / multiline, layer_id, z); + REQUIRE_FALSE(lines.empty()); + CHECK(farthest(lines, walls) < 0.5 * wall); + CHECK(farthest(walls, lines) < 1.5 * wall); + } +} + +TEST_CASE("Multiline adaptive cubic infill keeps its lines apart without closing them around the cells", "[Fill]") +{ + const std::string pattern = GENERATE("adaptivecubic", "supportcubic"); + const int multiline = GENERATE(2, 3); + CAPTURE(pattern, multiline); + + // A sphere refines the octree all around, so the finer lines end on the coarser ones at every layer. + TriangleMesh sphere = Slic3r::Test::mesh(Slic3r::Test::TestMesh::sphere_50mm); + sphere.scale(0.3f); + Print print; + Slic3r::Test::init_and_process_print({sphere}, print, + {{"sparse_infill_pattern", pattern}, + {"sparse_infill_density", "40%"}, + {"fill_multiline", multiline}, + {"infill_anchor", 0}, + {"infill_anchor_max", 0}, + {"layer_height", 0.3}}); + + size_t paths = 0, loops = 0; + for (const Layer *layer : print.objects().front()->layers()) { + Polylines printed; + Polygons sparse; + double spacing = 0.; + for (const LayerRegion *region : layer->regions()) { + for (const ExtrusionEntity *entity : region->fills.flatten().entities) + if (entity->role() == erInternalInfill) + entity->collect_polylines(printed); + for (const Surface &surface : region->fill_surfaces.surfaces) + if (surface.surface_type == stInternal) + append(sparse, shrink(to_polygons(surface.expolygon), scale_(1.))); + spacing = region->flow(frInfill).spacing(); + } + if (printed.empty()) + continue; + CAPTURE(layer->print_z); + paths += printed.size(); + loops += std::count_if(printed.begin(), printed.end(), [](const Polyline &pl) { return pl.first_point() == pl.last_point(); }); + CHECK(get_intersections(to_lines(printed)).empty()); + + // Neighbouring lines stay a line spacing apart, less the overlap of a line end with the wall it stops on. + // Pieces of one line that meet end to end are one line. + std::vector<size_t> line_of(printed.size()); + std::iota(line_of.begin(), line_of.end(), 0); + std::function<size_t(size_t)> find = [&](size_t i) { return line_of[i] == i ? i : line_of[i] = find(line_of[i]); }; + for (size_t i = 0; i < printed.size(); ++i) + for (size_t j = i + 1; j < printed.size(); ++j) + for (const Point &a : { printed[i].first_point(), printed[i].last_point() }) + for (const Point &b : { printed[j].first_point(), printed[j].last_point() }) + if ((a - b).cast<double>().norm() < SCALED_EPSILON) + line_of[find(i)] = find(j); + Lines lines; + std::vector<size_t> owner; + for (size_t i = 0; i < printed.size(); ++i) + for (const Line &line : printed[i].lines()) { + lines.push_back(line); + owner.push_back(find(i)); + } + AABBTreeLines::LinesDistancer<Line> tree(lines); + double closest = spacing; + for (size_t i = 0; i < printed.size(); ++i) + for (const Point &p : printed[i].equally_spaced_points(scale_(0.1))) + if (contains(sparse, p)) + for (size_t k : tree.all_lines_in_radius(p, scale_(spacing))) + if (owner[k] != find(i)) + closest = std::min(closest, unscale<double>(lines[k].distance_to(p))); + CHECK(closest > 0.45 * spacing); + } + REQUIRE(paths > 0); + // The lines run on through the cells instead of each cell getting its own loops. + CHECK(loops < paths / 4); +} + +TEST_CASE("Multiline adaptive cubic paths touch where they bounce off each other", "[Fill]") +{ + const int sweep = GENERATE(0, 1, 2); + // Offset of the third family in walls, so the three meet in points or in small triangles. + const double shift = GENERATE(0., 0.1, 0.5, 1., 2.5, -0.5, -1.); + // Like finer octree lines ending on coarser ones, the 60 degree lines may start on the horizontal line through 0. + const bool starting = GENERATE(false, true); + CAPTURE(sweep, shift, starting); + + const double d1 = scale_(0.8), pitch = scale_(8.), inner = scale_(12.); + Lines lines; + for (int k = 0; k < 3; ++k) { + const Vec2d dir(std::cos(k * M_PI / 3.), std::sin(k * M_PI / 3.)), normal(-dir.y(), dir.x()); + for (int i = -6; i <= 6; ++i) { + const Vec2d mid = (i * pitch + (k == 2 ? shift * d1 : 0.)) * normal; + const double start = k == 1 && starting ? -mid.y() / dir.y() : -10. * pitch; + lines.emplace_back((mid + start * dir).cast<coord_t>(), (mid + 10. * pitch * dir).cast<coord_t>()); + } + } + const Polylines paths = FillAdaptive::multiline_paths(lines, d1, 0., sweep, BoundingBox(Point::new_scale(-20., -20.), Point::new_scale(20., 20.))); + REQUIRE_FALSE(paths.empty()); + CHECK(get_intersections(to_lines(paths)).empty()); + + Lines pieces; + std::vector<size_t> owner; + for (size_t i = 0; i < paths.size(); ++i) + for (const Line &line : paths[i].lines()) { + pieces.push_back(line); + owner.push_back(i); + } + AABBTreeLines::LinesDistancer<Line> tree(pieces); + auto clearance = [&](size_t i) { + const Line &a = pieces[i]; + double distance = std::numeric_limits<double>::max(); + for (size_t j : tree.all_lines_in_radius(a.midpoint(), 0.5 * a.length() + 2. * d1)) + if (owner[j] != owner[i]) { + const Line &b = pieces[j]; + distance = std::min({ distance, a.distance_to(b.a), a.distance_to(b.b), b.distance_to(a.a), b.distance_to(a.b) }); + } + return distance; + }; + auto inside = [inner](const Point &p) { return std::abs(p.x()) < inner && std::abs(p.y()) < inner; }; + + double closest = std::numeric_limits<double>::max(); + for (size_t i = 0; i < pieces.size(); ++i) + if (inside(pieces[i].midpoint())) + closest = std::min(closest, clearance(i)); + CHECK(closest > 0.99 * d1); + + // Each path at a crossing touches another one there, none stops short of it. + double widest = 0.; + for (size_t i = 0; i < lines.size(); ++i) + for (size_t j = i + 1; j < lines.size(); ++j) + if (Point crossing; line_alg::intersection(lines[i], lines[j], &crossing) && inside(crossing)) { + std::map<size_t, double> at; + for (size_t k : tree.all_lines_in_radius(crossing, 1.2 * d1)) + at.emplace(owner[k], std::numeric_limits<double>::max()); + for (size_t k : tree.all_lines_in_radius(crossing, 2. * d1)) + if (auto it = at.find(owner[k]); it != at.end()) + it->second = std::min(it->second, clearance(k)); + for (const auto &path : at) + widest = std::max(widest, path.second); + } + CHECK(widest < 1.02 * d1); +} + +TEST_CASE("Multiline adaptive cubic paths reach the line they end on when another path ends on them", "[Fill]") +{ + const int sweep = GENERATE(0, 1, 2); + // Where the 120 degree line starts on the horizontal one, in walls from the 60 degree line. + const double start = GENERATE(0.3, 0.6, 1., 2.); + CAPTURE(sweep, start); + + const double d1 = scale_(0.8), overlap = 0.1 * d1, length = scale_(30.); + const Vec2d diagonal(0.5, 0.5 * std::sqrt(3.)), horizontal(1., 0.), steep(-0.5, 0.5 * std::sqrt(3.)); + const Vec2d on_horizontal = start * d1 * horizontal; + const Lines lines{ Line((-length * diagonal).cast<coord_t>(), (length * diagonal).cast<coord_t>()), + Line(Point(0, 0), (length * horizontal).cast<coord_t>()), + Line(on_horizontal.cast<coord_t>(), (on_horizontal - length * steep).cast<coord_t>()) }; + const Polylines paths = FillAdaptive::multiline_paths(lines, d1, overlap, sweep, BoundingBox(Point::new_scale(-40., -40.), Point::new_scale(40., 40.))); + + // The end of the path along each line nearest to where that line starts. + auto end_along = [&paths](const Line &line) { + for (const Polyline &path : paths) + if (line.distance_to(path.first_point()) < SCALED_EPSILON && line.distance_to(path.last_point()) < SCALED_EPSILON) + return (path.first_point() - line.a).cast<double>().norm() < (path.last_point() - line.a).cast<double>().norm() ? path.first_point() : path.last_point(); + return Point(std::numeric_limits<coord_t>::max(), 0); + }; + const Point horizontal_end = end_along(lines[1]), steep_end = end_along(lines[2]); + REQUIRE(horizontal_end.x() != std::numeric_limits<coord_t>::max()); + REQUIRE(steep_end.x() != std::numeric_limits<coord_t>::max()); + // Both reach the overlap into the wall of the path they stop at, none stops short of it. + CHECK_THAT(line_alg::distance_to_infinite(lines[0], horizontal_end) / d1, Catch::Matchers::WithinAbs(0.9, 0.01)); + CHECK(lines[1].distance_to(steep_end) / d1 < 0.91); + CHECK(get_intersections(to_lines(paths)).empty()); +} + TEST_CASE("3D honeycomb infill rounds its octahedral waves with the smooth factor", "[Fill]") { auto shape_for = [](const std::string &smooth_factor) { @@ -1229,3 +1526,68 @@ TEST_CASE("Smoothing multiline lightning infill keeps its outlines connected", " REQUIRE(smooth.point_count > sharp.point_count); REQUIRE(smooth.sharp_turns < sharp.sharp_turns); } + +TEST_CASE("Sparse plane-path anchors match the printed infill", "[Fill][InternalBridge][Regression]") +{ + // Orca: Compare generated anchors with actual extrusion across plane-path patterns, + // smoothing, multiline and rotations; an origin shift must not pass as valid support. + const std::string pattern = GENERATE("hilbertcurve", "octagramspiral", "archimedeanchords"); + const std::string smoothing = GENERATE("0%", "100%"); + const int multiline = GENERATE(1, 2); + const bool rotated = GENERATE(false, true); + const bool separated = GENERATE(false, true); + CAPTURE(pattern, smoothing, multiline, rotated, separated); + + auto config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({{"sparse_infill_pattern", pattern}, + {"sparse_infill_density", "15%"}, + {"sparse_infill_smooth_factor", smoothing}, + {"fill_multiline", multiline}, + {"infill_direction", 45}, + {"sparse_infill_rotate_template", rotated ? "0,25,50" : ""}, + {"align_infill_direction_to_model", rotated}, + {"separated_infills", separated}, + {"top_shell_layers", 0}, + {"bottom_shell_layers", 0}, + {"top_shell_thickness", 0}, + {"bottom_shell_thickness", 0}, + {"layer_height", 0.2}, + {"initial_layer_print_height", 0.2}, + {"resolution", 0.012}}); + Print print; + Model model; + TriangleMesh mesh = make_cube(30, 24, 1); + if (separated) { + // Orca: Two disconnected bodies in one object must each use their own infill origin. + TriangleMesh second = make_cube(30, 24, 1); + second.translate(50, 0, 0); + mesh.merge(second); + } + Slic3r::Test::init_print({mesh}, print, model, config, nullptr, false); + if (rotated) { + model.objects.front()->instances.front()->set_rotation(Vec3d(0., 0., Geometry::deg2rad(23.))); + print.apply(model, config); + } + print.process(); + + const Layer &layer = *print.objects().front()->get_layer(4); + Polylines printed; + for (const LayerRegion *region : layer.regions()) + for (const ExtrusionEntity *entity : region->fills.flatten().entities) + if (entity->role() == erInternalInfill) + entity->collect_polylines(printed); + REQUIRE_FALSE(printed.empty()); + const AABBTreeLines::LinesDistancer<Line> printed_tree(to_lines(printed)); + + // Orca: Exclude perimeter connections: anchoring and extrusion can trim those differently. + const Polylines anchors = intersection_pl(layer.generate_sparse_infill_polylines_for_anchoring(nullptr, nullptr, nullptr), + shrink(to_polygons(layer.lslices), scale_(3.))); + REQUIRE_FALSE(anchors.empty()); + double max_distance = 0.; + for (const Polyline &path : anchors) + for (const Point &point : path.equally_spaced_points(scale_(0.25))) + max_distance = std::max(max_distance, printed_tree.distance_from_lines<false>(point)); + // Orca: Allow only the configured simplification tolerance; infill-scale offsets + // would hide anchors that no longer coincide with printed lines. + CHECK(unscale<double>(max_distance) <= config.opt_float("resolution")); +} diff --git a/tests/fff_print/test_gcodeprocessor.cpp b/tests/fff_print/test_gcodeprocessor.cpp new file mode 100644 index 0000000000..402a4757e1 --- /dev/null +++ b/tests/fff_print/test_gcodeprocessor.cpp @@ -0,0 +1,79 @@ +#include <catch2/catch_all.hpp> + +#include "libslic3r/libslic3r.h" +#include "libslic3r/GCode/GCodeProcessor.hpp" + +#include <string> +#include <vector> + +using namespace Slic3r; + +// Bambu firmware uses the " FEATURE: " style reserved tags, everything else the Slic3r-compatible +// "TYPE:" style, so which list applies depends on the printer kind passed in. +TEST_CASE("Reserved keyword detection follows the printer kind it is given", "[GCodeProcessor]") +{ + struct Case + { + const char* name; + std::string gcode; + bool reserved_on_bbl; + bool reserved_on_non_bbl; + }; + + const auto test_case = GENERATE(values<Case>({ + {"compatible feature tag", ";TYPE:Prime tower", false, true}, + {"compatible layer tag", ";LAYER_CHANGE", false, true}, + {"bbl feature tag", "; FEATURE: Outer wall", true, false}, + {"tag shared by both lists", ";_GP_FIRST_LINE_M73_PLACEHOLDER", true, true}, + {"bbl spells this one with a leading space", ";COLOR_CHANGE", false, true}, + {"ordinary comment", "; heat the bed", false, false}, + {"not a comment at all", "G1 X10 Y10 F3000", false, false}, + // A tag counts only as the whole comment's prefix, so neither a tag mentioned mid-comment + // nor one trailing a real command is a reserved use. + {"tag text later in the comment", "; the TYPE:Prime tower marker", false, false}, + {"tag trailing a command", "G1 X10 ;TYPE:Prime tower", false, false}, + })); + + DYNAMIC_SECTION(test_case.name) + { + std::vector<std::string> tags; + REQUIRE(GCodeProcessor::contains_reserved_tags(test_case.gcode, 5, tags, true) == test_case.reserved_on_bbl); + + tags.clear(); + REQUIRE(GCodeProcessor::contains_reserved_tags(test_case.gcode, 5, tags, false) == test_case.reserved_on_non_bbl); + } +} + +TEST_CASE("Reserved keyword detection reports every offending line", "[GCodeProcessor]") +{ + const std::string gcode = ";TYPE:Prime tower\nG1 X10\n;LAYER_CHANGE\n"; + + std::vector<std::string> tags; + REQUIRE(GCodeProcessor::contains_reserved_tags(gcode, 5, tags, false)); + REQUIRE(tags.size() == 2); + // Reported in the order they appear, which is what makes the max_count cut-off meaningful. + CHECK(tags[0] == "TYPE:Prime tower"); + CHECK(tags[1] == "LAYER_CHANGE"); + + SECTION("the reported count is capped at max_count") + { + tags.clear(); + REQUIRE(GCodeProcessor::contains_reserved_tags(gcode, 1, tags, false)); + CHECK(tags.size() == 1); + CHECK(tags[0] == "TYPE:Prime tower"); + } + + SECTION("a max_count of zero still reports the first tag") + { + tags.clear(); + REQUIRE(GCodeProcessor::contains_reserved_tags(gcode, 0, tags, false)); + CHECK(tags.size() == 1); + } + + SECTION("g-code with nothing reserved in it reports nothing") + { + tags.clear(); + CHECK_FALSE(GCodeProcessor::contains_reserved_tags("G28\n; home all axes\n", 5, tags, false)); + CHECK(tags.empty()); + } +} diff --git a/tests/fff_print/test_gcodewriter.cpp b/tests/fff_print/test_gcodewriter.cpp index b09b38e794..dc46df965d 100644 --- a/tests/fff_print/test_gcodewriter.cpp +++ b/tests/fff_print/test_gcodewriter.cpp @@ -1,11 +1,15 @@ #include <catch2/catch_all.hpp> +#include <algorithm> #include <cstdlib> +#include <map> #include <memory> #include <sstream> #include <string> #include <vector> +#include "nlohmann/json.hpp" + #include "libslic3r/GCodeWriter.hpp" #include "libslic3r/GCode.hpp" #include "libslic3r/Model.hpp" @@ -574,6 +578,9 @@ static DynamicPrintConfig dual_extruder_toolchange_config() config.set_key_value("nozzle_temperature_range_high", new ConfigOptionInts({240, 240})); config.set_key_value("flush_multiplier", new ConfigOptionFloats({1})); config.set_key_value("flush_volumes_matrix", new ConfigOptionFloats({0, 140, 140, 0})); + // Inside the 200x200 test bed; the default y, 220, is not, and generation rejects that. + config.set_key_value("wipe_tower_x", new ConfigOptionFloats({50.})); + config.set_key_value("wipe_tower_y", new ConfigOptionFloats({50.})); return config; } @@ -723,20 +730,41 @@ static std::string slice_two_object_bbl(DynamicPrintConfig &config) } // The real change_filament_gcode of a shipped "<printer> 0.4 nozzle" machine profile. +// The profile does not state it inline any more: it names the template carrying it in +// `include`, and the loader layers that template under the preset. Follow the same list +// - so a profile that stops naming one fails here instead of silently slicing G-code it +// no longer ships. static std::string shipped_change_filament_gcode(const std::string &printer) { - const std::string path = std::string(PROFILES_DIR) + "/BBL/machine/Bambu Lab " + printer + " 0.4 nozzle.json"; + const std::string machine_dir = std::string(PROFILES_DIR) + "/BBL/machine/"; + const std::string machine_path = machine_dir + "Bambu Lab " + printer + " 0.4 nozzle.json"; + const std::string template_name = "Bambu Lab " + printer + " 0.4 nozzle template change_filament_gcode"; // PROFILES_DIR is an absolute path baked in at build time; a sparse test checkout // without resources/ leaves it missing. Skip rather than dereference a config that // never loaded - this is the only fff_print test that reads a shipped profile. - if (!boost::filesystem::exists(path)) - SKIP("shipped profile not present in this checkout: " << path); - DynamicPrintConfig config; - std::map<std::string, std::string> key_values; - std::string reason; - config.load_from_json(path, ForwardCompatibilitySubstitutionRule::Enable, key_values, reason); - // Fail loudly on a malformed/renamed profile instead of null-dereferencing in opt_string. - INFO("profile: " << path << (reason.empty() ? "" : (" load reason: " + reason))); + if (!boost::filesystem::exists(machine_path)) + SKIP("shipped profile not present in this checkout: " << machine_path); + + auto load = [](const std::string &file, std::map<std::string, std::string> &key_values) { + DynamicPrintConfig config; + ConfigSubstitutionContext substitutions{ForwardCompatibilitySubstitutionRule::Enable}; + std::string reason; + // false: `inherits` and `include` stay out of the config and land in key_values, + // for the loader to resolve - neither is a slicing setting. + config.load_from_json(file, substitutions, false, key_values, reason); + // Fail loudly on a malformed/renamed profile instead of null-dereferencing in opt_string. + INFO("profile: " << file << (reason.empty() ? "" : (" load reason: " + reason))); + return config; + }; + + std::map<std::string, std::string> machine_values; + load(machine_path, machine_values); + REQUIRE(machine_values.count("include") == 1); + const nlohmann::json includes = nlohmann::json::parse(machine_values["include"]); + REQUIRE(std::find(includes.begin(), includes.end(), nlohmann::json(template_name)) != includes.end()); + + std::map<std::string, std::string> template_values; + const DynamicPrintConfig config = load(machine_dir + template_name + ".json", template_values); REQUIRE(config.has("change_filament_gcode")); return config.opt_string("change_filament_gcode"); } diff --git a/tests/fff_print/test_perimeters.cpp b/tests/fff_print/test_perimeters.cpp index a98877ad2f..459ba0a178 100644 --- a/tests/fff_print/test_perimeters.cpp +++ b/tests/fff_print/test_perimeters.cpp @@ -4,9 +4,14 @@ #include "libslic3r/ExtrusionEntityCollection.hpp" #include "libslic3r/Layer.hpp" #include "libslic3r/Print.hpp" +#include "libslic3r/GCodeReader.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/TriangleMesh.hpp" #include <algorithm> #include <cmath> +#include <limits> +#include <string> #include <vector> #include "test_helpers.hpp" @@ -255,3 +260,467 @@ TEST_CASE("Only one wall on the first layer needs a bottom shell", "[Perimeters] // No bottom shell: the option is inert, down to the same walls an unchecked box gives. CHECK_THAT(one_wall_no_shell, Catch::Matchers::WithinAbs(plain_no_shell, 1.0)); } + +namespace { + +// The layer that closes the cavity of box_over_cavity(), the first one printed over air. +const double cavity_ceiling_z = 6.2; + +// A cone standing on its tip, flaring by 5mm of radius per mm of height: at a layer height of 0.2 every +// wall of a layer lands a full millimetre outside the one below, entirely off the layer below but right +// alongside the walls printed with it. +TriangleMesh flared_cone() +{ + TriangleMesh cone = make_cone(20., 4.); + cone.mirror(Z); + cone.translate(0., 0., 4.); + return cone; +} + +// A 30mm box holding a 20mm cavity from z=2 to z=6, with a 4mm hole punched down through the ceiling +// of that cavity. The layer at cavity_ceiling_z bridges the cavity, and the walls of the hole sit in +// the middle of that bridge, 15mm clear of anything the layer below supports. +Print &box_over_cavity(Print &print, Model &model, const DynamicPrintConfig &config) +{ + ModelObject *object = model.add_object(); + object->name = "box_over_cavity.stl"; + object->add_volume(make_cube(30., 30., 8.), ModelVolumeType::MODEL_PART, false); + TriangleMesh cavity = make_cube(20., 20., 4.); + cavity.translate(5.f, 5.f, 2.f); + object->add_volume(std::move(cavity), ModelVolumeType::NEGATIVE_VOLUME, false); + TriangleMesh hole = make_cube(4., 4., 6.); + hole.translate(13.f, 13.f, 5.f); + object->add_volume(std::move(hole), ModelVolumeType::NEGATIVE_VOLUME, false); + object->add_instance(); + object->ensure_on_bed(); + + print.auto_assign_extruders(object); + print.apply(model, config); + print.validate(); + print.set_status_silent(); + return print; +} + +// Every setting the assertions below depend on, so none of them rests on a default. +DynamicPrintConfig unsupported_walls_config(const char *wall_generator, bool unsupported_wall_last) +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "wall_generator", wall_generator }, + { "layer_height", 0.2 }, + { "initial_layer_print_height", 0.2 }, + { "wall_loops", 3 }, + { "detect_overhang_wall", true }, + // Outer wall first, so an unsupported loop only ends up last if the feature puts it there. + { "wall_sequence", "outer wall/inner wall" }, + { "is_infill_first", false }, + { "sparse_infill_density", "15%" }, + { "unsupported_wall_last", unsupported_wall_last }, + { "gcode_comments", true }, + }); + return config; +} + +// A loop extruded entirely in mid air: every one of its paths is an overhang. +bool unsupported_loop(const ExtrusionEntity *entity) +{ + if (! entity->is_loop()) + return false; + const ExtrusionPaths &paths = static_cast<const ExtrusionLoop *>(entity)->paths; + return ! paths.empty() && std::all_of(paths.begin(), paths.end(), + [](const ExtrusionPath &path) { return path.role() == erOverhangPerimeter; }); +} + +// The loops of every wall island of the print, island by island, in extrusion order. +std::vector<std::vector<const ExtrusionLoop*>> wall_islands(const Print &print) +{ + std::vector<std::vector<const ExtrusionLoop*>> islands; + for (const Layer *layer : print.objects().front()->layers()) + for (const LayerRegion *region : layer->regions()) + for (const ExtrusionEntity *island : region->perimeters.entities) { + std::vector<const ExtrusionLoop*> loops; + for (const ExtrusionEntity *entity : static_cast<const ExtrusionEntityCollection*>(island)->entities) + if (entity->is_loop()) + loops.push_back(static_cast<const ExtrusionLoop*>(entity)); + islands.push_back(std::move(loops)); + } + return islands; +} + +// Islands where a loop that is anchored is extruded after one that is not. +int islands_with_a_supported_loop_last(const Print &print) +{ + int count = 0; + for (const std::vector<const ExtrusionLoop*> &loops : wall_islands(print)) { + bool seen_unsupported = false; + for (const ExtrusionLoop *loop : loops) { + if (unsupported_loop(loop)) + seen_unsupported = true; + else if (seen_unsupported) { + ++ count; + break; + } + } + } + return count; +} + +// The unsupported loops of the print, and those of them held back for the infill. +std::vector<const ExtrusionLoop*> unsupported_loops(const Print &print, double print_z = -1.) +{ + std::vector<const ExtrusionLoop*> loops; + for (const Layer *layer : print.objects().front()->layers()) { + if (print_z >= 0. && std::abs(layer->print_z - print_z) > EPSILON) + continue; + for (const LayerRegion *region : layer->regions()) + for (const ExtrusionEntity *island : region->perimeters.entities) + for (const ExtrusionEntity *entity : static_cast<const ExtrusionEntityCollection*>(island)->entities) + if (unsupported_loop(entity)) + loops.push_back(static_cast<const ExtrusionLoop*>(entity)); + } + return loops; +} + +int loops_held_back_for_infill(const std::vector<const ExtrusionLoop*> &loops) +{ + return int(std::count_if(loops.begin(), loops.end(), [](const ExtrusionLoop *loop) { return loop->print_after_infill; })); +} + +// The G-code emitted at `print_z`, so the order of one layer can be read on its own. +std::string layer_gcode(const std::string &gcode, double print_z) +{ + std::string out; + GCodeReader reader; + reader.parse_buffer(gcode, [&out, print_z](GCodeReader &self, const GCodeReader::GCodeLine &line) { + if (std::abs(self.z() - print_z) < EPSILON) + out += line.raw() + "\n"; + }); + return out; +} + +} // namespace + +// Whatever the wall order asks for, a loop with nothing under it cannot be extruded before the loops it +// leans on. The flared cone gives every layer an outer wall that lands completely off the one below, and +// the outer wall first sequence would otherwise put it down before any of them. +TEST_CASE("Unsupported wall loops are extruded after the walls that anchor them", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + CAPTURE(wall_generator); + + auto slice_cone = [wall_generator](bool unsupported_wall_last, Print &print) { + init_and_process_print({ flared_cone() }, print, unsupported_walls_config(wall_generator, unsupported_wall_last)); + REQUIRE_FALSE(print.objects().empty()); + }; + + Print on; + slice_cone(true, on); + // Without unsupported loops to reorder the rest of the test would pass on an empty print. + REQUIRE(unsupported_loops(on).size() > 0); + CHECK(islands_with_a_supported_loop_last(on) == 0); + + SECTION("the held back loops run innermost first") { + for (const std::vector<const ExtrusionLoop*> &loops : wall_islands(on)) { + int previous_inset = std::numeric_limits<int>::max(); + for (const ExtrusionLoop *loop : loops) + if (unsupported_loop(loop)) { + CHECK(loop->inset_idx <= previous_inset); + previous_inset = loop->inset_idx; + } + } + } + + SECTION("switched off, the configured wall order is left alone") { + Print off; + slice_cone(false, off); + REQUIRE(unsupported_loops(off).size() == unsupported_loops(on).size()); + // Outer wall first puts the unsupported outer wall ahead of the walls behind it. + CHECK(islands_with_a_supported_loop_last(off) > 0); + } +} + +// A loop the walls cannot reach is a different case: only the bridges of its own layer will ever hold it, +// so it has to wait for them - while a loop that runs alongside a wall keeps its place, because the +// bridges anchor on it instead. +TEST_CASE("A wall loop out of reach of the layer below waits for the infill", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + CAPTURE(wall_generator); + + Print print; + Model model; + box_over_cavity(print, model, unsupported_walls_config(wall_generator, true)); + print.process(); + + const std::vector<const ExtrusionLoop*> hole_loops = unsupported_loops(print, cavity_ceiling_z); + REQUIRE(hole_loops.size() > 0); + CHECK(loops_held_back_for_infill(hole_loops) == int(hole_loops.size())); + + SECTION("a loop alongside a supported wall is not held back") { + Print cone; + init_and_process_print({ flared_cone() }, cone, unsupported_walls_config(wall_generator, true)); + const std::vector<const ExtrusionLoop*> loops = unsupported_loops(cone); + REQUIRE(loops.size() > 0); + CHECK(loops_held_back_for_infill(loops) == 0); + } + + SECTION("switched off, no loop is held back") { + Print off; + Model off_model; + box_over_cavity(off, off_model, unsupported_walls_config(wall_generator, false)); + off.process(); + const std::vector<const ExtrusionLoop*> loops = unsupported_loops(off, cavity_ceiling_z); + REQUIRE(loops.size() == hole_loops.size()); + CHECK(loops_held_back_for_infill(loops) == 0); + } +} + +// The held back loops reach the G-code in a second pass, after the infill of their layer: on the layer +// that closes the cavity the walls of the hole are extruded once the bridge is down, so the layer emits +// perimeters, then infill, then the perimeters that were waiting for it. +TEST_CASE("Loops waiting for the infill are extruded after it", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + CAPTURE(wall_generator); + + auto ceiling_roles = [wall_generator](bool unsupported_wall_last) { + Print print; + Model model; + box_over_cavity(print, model, unsupported_walls_config(wall_generator, unsupported_wall_last)); + const std::string layer = layer_gcode(gcode(print), cavity_ceiling_z); + REQUIRE_FALSE(layer.empty()); + return role_sequence(layer, { "perimeter", "infill" }); + }; + + CHECK(ceiling_roles(true) == std::vector<std::string>{ "perimeter", "infill", "perimeter" }); + CHECK(ceiling_roles(false) == std::vector<std::string>{ "perimeter", "infill" }); +} + +namespace { + +// The rib spans z=[0,5] and the slab z=[5,6], so this is the slab's first layer - the only one whose +// support comes from the rib rather than from the slab below it. +const double slab_first_layer_z = 5.2; + +// Rib widths either side of what the wall generators can print. At a 0.4mm nozzle the classic generator +// builds nothing thinner than nozzle/3 = 0.133mm and Arachne drops anything below min_feature_size, 25% +// of the nozzle = 0.1mm. 0.08mm is under both thresholds, 0.3mm over both. +const double unprintable_rib = 0.08; +const double printable_rib = 0.3; + +// A 4x5mm anchor tower carrying a 20x5mm slab at z=[5,6], with a rib `rib_width` wide running the whole +// length of the slab beneath its y=0 edge; a `rib_width` of 0 leaves the rib out. Nothing else is under +// that edge, so whether the wall along it is an overhang rests entirely on the rib. Overhang detection +// grows the lower slices by half the nozzle diameter before it asks, which carries either rib past the +// 0.21mm from the slab edge to that wall - the unprintable one only fails to reach it once it is filtered +// out for being unprintable. +Print &slab_over_rib(Print &print, Model &model, double rib_width, const DynamicPrintConfig &config) +{ + ModelObject *object = model.add_object(); + object->name = "slab_over_rib.stl"; + object->add_volume(make_cube(4., 5., 6.), ModelVolumeType::MODEL_PART, false); + if (rib_width > 0.) { + TriangleMesh rib = make_cube(20., rib_width, 5.); + rib.translate(4.f, 0.f, 0.f); + object->add_volume(std::move(rib), ModelVolumeType::MODEL_PART, false); + } + TriangleMesh slab = make_cube(20., 5., 1.); + slab.translate(4.f, 0.f, 5.f); + object->add_volume(std::move(slab), ModelVolumeType::MODEL_PART, false); + object->add_instance(); + object->ensure_on_bed(); + + print.auto_assign_extruders(object); + print.apply(model, config); + print.validate(); + print.set_status_silent(); + return print; +} + +// Every setting the assertions below depend on, so none of them rests on a default. The wall line widths +// are pinned because the rib widths above are chosen against the distance from the slab edge to its outer +// wall, and min_feature_size because it is one of the two thresholds under test. +DynamicPrintConfig printable_rib_config(const char *wall_generator, bool detect_thin_wall) +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "wall_generator", wall_generator }, + { "layer_height", 0.2 }, // puts a layer boundary exactly on the top of the rib + { "initial_layer_print_height", 0.2 }, + { "nozzle_diameter", "0.4" }, + { "outer_wall_line_width", 0.42 }, + { "inner_wall_line_width", 0.45 }, + { "wall_loops", 2 }, + { "detect_overhang_wall", true }, + { "detect_thin_wall", detect_thin_wall }, + { "min_feature_size", "25%" }, + { "raft_layers", 0 }, + // Anything that adds, drops or reorders walls would move length between the roles being counted. + { "extra_perimeters_on_overhangs", false }, + { "overhang_reverse", false }, + { "only_one_wall_top", false }, + { "only_one_wall_first_layer", false }, + { "unsupported_wall_last", false }, + { "sparse_infill_density", "15%" }, + }); + return config; +} + +// Length of every overhang perimeter path on the layer at `print_z`, loops and open extrusions alike. +double overhang_length_at(const Print &print, double print_z) +{ + double len = 0.; + const auto add_entity = [&len](const ExtrusionEntity *entity, auto &&self) -> void { + const auto add_paths = [&len](const ExtrusionPaths &paths) { + for (const ExtrusionPath &path : paths) + if (path.role() == erOverhangPerimeter) + len += path.length(); + }; + if (const auto *coll = dynamic_cast<const ExtrusionEntityCollection*>(entity)) { + for (const ExtrusionEntity *child : coll->entities) + self(child, self); + } else if (const auto *loop = dynamic_cast<const ExtrusionLoop*>(entity)) { + add_paths(loop->paths); + } else if (const auto *multi = dynamic_cast<const ExtrusionMultiPath*>(entity)) { + add_paths(multi->paths); + } else if (const auto *path = dynamic_cast<const ExtrusionPath*>(entity)) { + if (path->role() == erOverhangPerimeter) + len += path->length(); + } + }; + + for (const Layer *layer : print.objects().front()->layers()) { + if (std::abs(layer->print_z - print_z) > EPSILON) + continue; + for (const LayerRegion *region : layer->regions()) + add_entity(®ion->perimeters, add_entity); + } + return len; +} + +} // namespace + +// A sliver the wall generator prints nothing for holds nothing up, so it cannot be what decides that the +// wall above it is not an overhang. The rib under the slab is the only thing that edge of the slab could +// rest on: below the threshold of the active generator the slab has to come out exactly as it does with +// no rib at all, and the last check is the control - a rib the generator does print anchors that wall, +// without which the first check would hold for want of any sensitivity to the rib. +TEST_CASE("A lower layer sliver too thin to print does not support the wall above it", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const bool detect_thin_wall = GENERATE(true, false); + CAPTURE(wall_generator, detect_thin_wall); + + auto overhang_for = [wall_generator, detect_thin_wall](double rib_width) { + Print print; + Model model; + slab_over_rib(print, model, rib_width, printable_rib_config(wall_generator, detect_thin_wall)); + print.process(); + REQUIRE_FALSE(print.objects().empty()); + return overhang_length_at(print, slab_first_layer_z); + }; + + const double no_rib = overhang_for(0.); + const double unprintable = overhang_for(unprintable_rib); + const double printable = overhang_for(printable_rib); + + // Only where the slab meets the tower is it held up from below, so both of its 20mm walls overhang. + REQUIRE(no_rib > scale_(30.)); + CHECK_THAT(unprintable, Catch::Matchers::WithinAbs(no_rib, scale_(1.))); + // A rib that does get printed takes the 20mm outer wall running along it out of the overhangs. + CHECK(printable < no_rib - scale_(15.)); +} + +namespace { + +// Every setting the fuzzy skin assertions below depend on. +DynamicPrintConfig fuzzy_skin_config(const char *wall_generator) +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "wall_generator", wall_generator }, + { "layer_height", 0.2 }, + { "initial_layer_print_height", 0.2 }, + // One wall, so every wall point along the long sides belongs to the fuzzed outer wall. + { "wall_loops", 1 }, + { "fuzzy_skin", "external" }, + { "fuzzy_skin_noise_type", "classic" }, + { "fuzzy_skin_thickness", 0.3 }, + { "fuzzy_skin_point_distance", 0.8 }, + }); + return config; +} + +// How far the wall points over the middle 60% of the layer's length stray across its width, worst side. +// A negative result means there is no layer at `print_z`. +double mid_span_wall_spread(const Print &print, double print_z) +{ + for (const Layer *layer : print.objects().front()->layers()) { + if (std::abs(layer->print_z - print_z) > 1e-4) + continue; + const BoundingBox bbox = get_extents(layer->lslices); + const coord_t x_min = bbox.min.x() + bbox.size().x() / 5; + const coord_t x_max = bbox.max.x() - bbox.size().x() / 5; + Points points; + for (const LayerRegion *region : layer->regions()) + region->perimeters.collect_points(points); + coord_t spread = 0; + for (const bool south : { true, false }) { + coord_t lo = bbox.max.y(), hi = bbox.min.y(); + for (const Point &p : points) + if (p.x() > x_min && p.x() < x_max && (p.y() < bbox.center().y()) == south) { + lo = std::min(lo, p.y()); + hi = std::max(hi, p.y()); + } + spread = std::max(spread, hi - lo); + } + return unscale<double>(spread); + } + return -1.; +} + +} // namespace + +// TestMesh::bridge is a 50x10mm deck from z=5 to z=8 on two 5mm-wide pillars, leaving a 40mm span. The deck's +// first layer (print_z 5.2) crosses the span unsupported; the layers above it rest on the deck. +TEST_CASE("Fuzzy skin leaves the walls of a bridge smooth", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + CAPTURE(wall_generator); + + Print print; + init_and_process_print({ TestMesh::bridge }, print, fuzzy_skin_config(wall_generator)); + REQUIRE_FALSE(print.objects().empty()); + + // Control: one deck layer up the same walls rest on the deck, so they are fuzzed. + CHECK(mid_span_wall_spread(print, 5.6) > 0.1); + // Over the unsupported span the walls stay straight. + const double bridged = mid_span_wall_spread(print, 5.2); + CHECK(bridged >= 0.); + CHECK(bridged < 0.001); +} + +// One object: a 20x20x3mm block on the bed and a second one floating above it from z=5 to z=8. The layers in +// the gap are empty, so the floating block's first layer (print_z 5.2) has a layer below it with nothing +// printed on it; the layers above rest on the floating block. +TEST_CASE("Fuzzy skin leaves the walls over an empty layer smooth", "[Perimeters]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + CAPTURE(wall_generator); + + TriangleMesh mesh = make_cube(20., 20., 3.); + TriangleMesh floating = make_cube(20., 20., 3.); + floating.translate(0.f, 0.f, 5.f); + mesh.merge(floating); + + Print print; + init_and_process_print({ mesh }, print, fuzzy_skin_config(wall_generator)); + REQUIRE_FALSE(print.objects().empty()); + + // Control: one layer up the walls rest on the floating block, so they are fuzzed. + CHECK(mid_span_wall_spread(print, 5.6) > 0.1); + // Nothing is printed under the first floating layer, so its walls stay straight. + const double floating_first_layer = mid_span_wall_spread(print, 5.2); + CHECK(floating_first_layer >= 0.); + CHECK(floating_first_layer < 0.001); +} diff --git a/tests/fff_print/test_print.cpp b/tests/fff_print/test_print.cpp index 6bff945fc3..383a7165d5 100644 --- a/tests/fff_print/test_print.cpp +++ b/tests/fff_print/test_print.cpp @@ -22,10 +22,59 @@ #include <algorithm> #include <fstream> #include <iterator> +#include <string_view> using namespace Slic3r; using namespace Slic3r::Test; +TEST_CASE("Timelapse g-code is emitted once per layer for Bambu and non-Bambu printers", "[Print][Regression]") +{ + struct PrinterCase { + std::string name; + std::string structure; + bool is_bbl; + }; + const PrinterCase printer = GENERATE(from_range(std::vector<PrinterCase>{ + { "non-BBL undefined", "undefine", false }, + { "non-BBL CoreXY", "corexy", false }, + { "non-BBL i3", "i3", false }, + { "non-BBL H-Bot", "hbot", false }, + { "non-BBL Delta", "delta", false }, + { "Bambu CoreXY", "corexy", true }, + { "Bambu i3", "i3", true }, + })); + INFO("printer: " << printer.name); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "initial_layer_print_height", 0.2 }, + { "layer_change_gcode", ";TEST_LAYER_CHANGE" }, + { "layer_height", 0.2 }, + { "printer_structure", printer.structure }, + { "spiral_mode", false }, + { "time_lapse_gcode", "TIMELAPSE_TAKE_FRAME" }, + }); + Print print; + print.is_BBL_printer() = printer.is_bbl; + Model model; + init_print({ cube(20) }, print, model, config); + const std::string gcode = Slic3r::Test::gcode(print); + + const auto count = [&gcode](std::string_view token) { + size_t occurrences = 0; + size_t pos = 0; + while ((pos = gcode.find(token, pos)) != std::string::npos) { + ++occurrences; + pos += token.size(); + } + return occurrences; + }; + + const size_t layer_changes = count("\n;TEST_LAYER_CHANGE\n"); + REQUIRE(layer_changes > 0); + CHECK(count("\nTIMELAPSE_TAKE_FRAME\n") == layer_changes); +} + SCENARIO("Changing the number of solid shell layers does not make all surfaces internal", "[Print]") { GIVEN("sliced 20mm cube and config with top_shell_layers = 2 and bottom_shell_layers = 1") { Slic3r::DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); @@ -456,3 +505,29 @@ TEST_CASE("Sequential printing publishes the nozzle group result", "[Print][Mult CHECK(gcode.find("; SEQ-ND-OK") != std::string::npos); } } + +TEST_CASE("Slicing errors are reported per object with the object's name", "[Print]") +{ + Print print; + Model model; + init_print({Slic3r::Test::cube(20.)}, print, model); + // Lift the cube off the bed: its first layer is empty, which G-code export reports per object. + ModelObject *object = model.objects.front(); + object->name = "floating cube"; + object->instances.front()->set_offset(object->instances.front()->get_offset() + Vec3d(0., 0., 2.)); + print.apply(model, DynamicPrintConfig::full_print_config()); + print.set_status_silent(); + + ScopedTemporaryFile temp(".gcode"); + std::string message; + try { + print.process(); + print.export_gcode(temp.string(), nullptr, nullptr); + FAIL("slicing did not report the empty first layer"); + } catch (const SlicingErrors &errors) { + REQUIRE(errors.errors_.size() == 1); + message = print.slicing_errors_message(errors); + } + CHECK(message.rfind("floating cube: ", 0) == 0); + CHECK(message.find("empty first layer") != std::string::npos); +} diff --git a/tests/fff_print/test_printobject.cpp b/tests/fff_print/test_printobject.cpp index fb7fe2c1fd..a373a1ad39 100644 --- a/tests/fff_print/test_printobject.cpp +++ b/tests/fff_print/test_printobject.cpp @@ -4,11 +4,18 @@ #include "libslic3r/Print.hpp" #include "libslic3r/Layer.hpp" #include "libslic3r/GCodeReader.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/AABBTreeLines.hpp" #include "test_helpers.hpp" +#include <cmath> #include <iterator> +#include <map> #include <set> +#include <string> +#include <utility> +#include <vector> using namespace Slic3r; using namespace Slic3r::Test; @@ -130,3 +137,438 @@ TEST_CASE("Initial layer height is honored", "[PrintObject]") REQUIRE_THAT(*layer_zs.begin(), Catch::Matchers::WithinAbs(0.3, 1e-4)); REQUIRE_THAT(*std::next(layer_zs.begin()), Catch::Matchers::WithinAbs(0.5, 1e-4)); } + +static TriangleMesh internal_bridge_step() +{ + // Orca: The smaller tower leaves a shoulder whose solid skin needs internal bridges + // over the sparse infill in the base, without relying on an external model file. + TriangleMesh mesh = make_cube(30, 24, 3); + TriangleMesh tower = make_cube(14, 10, 1); + tower.translate(8, 7, 3); + mesh.merge(tower); + return mesh; +} + +static DynamicPrintConfig internal_bridge_config(const std::string &pattern, int multiline) +{ + auto config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({{"sparse_infill_pattern", pattern}, + {"fill_multiline", multiline}, + {"sparse_infill_density", "15%"}, + {"sparse_infill_smooth_factor", "100%"}, + {"infill_direction", 45}, + {"internal_bridge_angle", 0}, + {"thick_internal_bridges", true}, + {"top_shell_layers", 3}, + {"bottom_shell_layers", 2}, + {"top_shell_thickness", 0}, + {"bottom_shell_thickness", 0}, + {"layer_height", 0.2}, + {"initial_layer_print_height", 0.2}}); + return config; +} + +TEST_CASE("Internal bridge angles follow the lower infill layer and model rotation", "[PrintObject][InternalBridge][Regression]") +{ + const std::string pattern = GENERATE("hilbertcurve", "octagramspiral"); + // Orca: Cover both a central line (odd counts) and offset pairs (even counts). + const int multiline = GENERATE(1, 2, 3); + CAPTURE(multiline); + const double rotation = GENERATE(23., -123.); + const std::vector<double> cycle{10., 30., 70.}; + auto config = internal_bridge_config(pattern, multiline); + config.set_deserialize_strict({{"sparse_infill_rotate_template", "10,30,70"}, + {"align_infill_direction_to_model", true}, + {"separated_infills", false}}); + Print print; + Model model; + init_print({internal_bridge_step()}, print, model, config, nullptr, false); + model.objects.front()->instances.front()->set_rotation(Vec3d(0., 0., Geometry::deg2rad(rotation))); + print.apply(model, config); + print.process(); + const PrintObject &object = *print.objects().front(); + size_t bridges = 0; + for (size_t i = 1; i < object.layer_count(); ++i) { + // Orca: The support is one layer below the bridge. Check the template and model + // rotation together, including normalization when the resulting angle is negative. + double expected = std::fmod(cycle[(i - 1) % cycle.size()] + 90. + rotation, 180.); + if (expected < 0.) expected += 180.; + for (const LayerRegion *region : object.get_layer(i)->regions()) + for (const Surface *surface : region->fill_surfaces.filter_by_type(stInternalBridge)) { + CAPTURE(pattern, rotation, i); + CHECK_THAT(Geometry::rad2deg(surface->bridge_angle), Catch::Matchers::WithinAbs(expected, 0.001)); + ++bridges; + } + } + REQUIRE(bridges > 0); +} + +TEST_CASE("Turning infill does not replace the anchors of another region", "[PrintObject][InternalBridge][Regression]") +{ + // Orca: Keep the right-hand region fixed while changing the left-hand pattern in the + // same object. Its bridge areas must be independent of a previous candidate's anchors. + const int multiline = GENERATE(1, 2, 3); + CAPTURE(multiline); + auto right_bridges = [multiline](const std::string &left_pattern) { + auto config = internal_bridge_config(left_pattern, multiline); + Print print; + Model model; + init_print({internal_bridge_step()}, print, model, config, nullptr, false); + TriangleMesh right = internal_bridge_step(); + right.translate(50, 0, 0); + ModelVolume *volume = model.objects.front()->add_volume(std::move(right)); + volume->config.set_key_value("sparse_infill_pattern", new ConfigOptionEnum<InfillPattern>(ipRectilinear)); + volume->config.set_key_value("infill_direction", new ConfigOptionFloat(17.)); + print.apply(model, config); + print.process(); + std::map<size_t, Polygons> result; + const PrintObject &object = *print.objects().front(); + for (size_t i = 0; i < object.layer_count(); ++i) + for (const LayerRegion *region : object.get_layer(i)->regions()) + if (region->region().config().infill_direction == 17.) + polygons_append(result[i], to_polygons(region->fill_surfaces.filter_by_type(stInternalBridge))); + return result; + }; + const auto baseline = right_bridges("rectilinear"); + const auto actual = right_bridges(GENERATE("hilbertcurve", "octagramspiral")); + REQUIRE(actual.size() == baseline.size()); + double total_area = 0.; + for (const auto &[layer, expected] : baseline) { + CAPTURE(layer); + const auto &polys = actual.at(layer); + CHECK(area(diff(expected, polys)) < scaled<double>(1.) * scaled<double>(1.) * 1e-6); + CHECK(area(diff(polys, expected)) < scaled<double>(1.) * scaled<double>(1.) * 1e-6); + total_area += area(expected); + } + REQUIRE(total_area > 0.); +} + +TEST_CASE("Rounded internal bridges end on printed support", "[PrintObject][InternalBridge][Regression]") +{ + const std::string pattern = GENERATE("hilbertcurve", "octagramspiral"); + const bool separated = GENERATE(false, true); + CAPTURE(pattern, separated); + auto config = internal_bridge_config(pattern, 1); + config.set_deserialize_strict({{"infill_wall_overlap", "0%"}, {"separated_infills", separated}}); + TriangleMesh mesh = internal_bridge_step(); + if (separated) { + TriangleMesh second = internal_bridge_step(); + second.translate(50, 0, 0); + mesh.merge(second); + } + Print print; + Model model; + init_print({mesh}, print, model, config, nullptr, false); + print.process(); + + // Orca: Check final extrusion endpoints after polygon cleanup and fill generation. + // A correct bridge angle and correct sparse anchors alone do not guarantee contact. + const PrintObject &object = *print.objects().front(); + size_t checked = 0; + for (size_t i = 1; i < object.layer_count(); ++i) { + Polygons support; + Polylines walls; + for (const LayerRegion *region : object.get_layer(i - 1)->regions()) { + region->perimeters.polygons_covered_by_width(support, 0.f); + region->fills.polygons_covered_by_width(support, 0.f); + region->perimeters.collect_polylines(walls); + } + REQUIRE_FALSE(support.empty()); + const AABBTreeLines::LinesDistancer<Line> support_tree(to_lines(union_(support))); + const AABBTreeLines::LinesDistancer<Line> wall_tree(to_lines(walls)); + for (const LayerRegion *region : object.get_layer(i)->regions()) + for (const ExtrusionEntity *entity : region->fills.flatten().entities) { + if (entity->role() != erInternalBridgeInfill) + continue; + const auto *path = dynamic_cast<const ExtrusionPath *>(entity); + REQUIRE(path != nullptr); + for (const Line &line : path->polyline.to_polyline().lines()) { + // Orca: Sample span ends, excluding short connectors and wall overlap. + if (line.length() < scale_(std::max(0.7, 3. * path->width))) + continue; + for (const Point &point : {line.a, line.b}) { + if (wall_tree.distance_from_lines<false>(point) <= scale_(0.5)) + continue; + CAPTURE(i, point.x(), point.y()); + const double gap = unscale<double>(support_tree.distance_from_lines<true>(point)) - 0.5 * path->width; + CHECK(gap <= 0.1); + ++checked; + } + } + } + } + REQUIRE(checked > 0); +} + +TEST_CASE("Enabling separated infill recomputes body origins", "[PrintObject][InternalBridge][Regression]") +{ + const std::string pattern = GENERATE("hilbertcurve", "octagramspiral", "archimedeanchords"); + CAPTURE(pattern); + auto footprint = [&](bool reslice) { + auto config = internal_bridge_config(pattern, 2); + config.set_deserialize_strict({{"separated_infills", !reslice}}); + TriangleMesh mesh = internal_bridge_step(); + TriangleMesh second = internal_bridge_step(); + second.translate(50, 0, 0); + mesh.merge(second); + Print print; + Model model; + init_print({mesh}, print, model, config, nullptr, false); + print.process(); + if (reslice) { + // Orca: Enabling centering after a completed slice must rebuild the body + // origins now shared by bridge preparation and printed infill. + config.set_deserialize_strict({{"separated_infills", true}}); + print.apply(model, config); + print.process(); + } + Polygons result; + for (const LayerRegion *region : print.objects().front()->get_layer(4)->regions()) + region->fills.polygons_covered_by_width(result, 0.f); + return union_(result); + }; + const Polygons fresh = footprint(false); + const Polygons resliced = footprint(true); + REQUIRE_FALSE(fresh.empty()); + CHECK(area(diff(fresh, resliced)) < scaled<double>(1.) * scaled<double>(1.) * 1e-6); + CHECK(area(diff(resliced, fresh)) < scaled<double>(1.) * scaled<double>(1.) * 1e-6); +} + +TEST_CASE("Surface centering survives changes to separated infill settings", "[PrintObject][SurfaceInfill][Regression]") +{ + const std::string pattern = GENERATE("archimedeanchords", "octagramspiral"); + const std::string initial_center = GENERATE("each_surface", "each_model", "each_assembly"); + const std::string final_center = GENERATE("each_surface", "each_model", "each_assembly"); + const bool separated = GENERATE(false, true); + const std::string top_order = GENERATE("default", "outward", "inward"); + const std::string bottom_order = top_order == "outward" ? "inward" : top_order == "inward" ? "outward" : "default"; + const std::string density = GENERATE("80%", "100%"); + const bool change_center = initial_center != final_center; + CAPTURE(pattern, initial_center, final_center, separated, top_order, bottom_order, density); + + auto config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({{"top_surface_pattern", pattern}, + {"bottom_surface_pattern", pattern}, + {"top_surface_fill_order", top_order}, + {"bottom_surface_fill_order", bottom_order}, + {"top_surface_density", density}, + {"bottom_surface_density", density}, + {"center_of_surface_pattern", initial_center}, + {"separated_infills", change_center ? separated : !separated}, + {"sparse_infill_pattern", "rectilinear"}, + {"sparse_infill_density", "15%"}, + {"top_shell_layers", 2}, + {"bottom_shell_layers", 2}, + {"top_shell_thickness", 0}, + {"bottom_shell_thickness", 0}, + {"layer_height", 0.2}, + {"initial_layer_print_height", 0.2}}); + + // Orca: Two disconnected bodies exercise per-body centering. The offset tower also + // makes each-surface and each-model centering differ on the top surfaces. + TriangleMesh mesh = make_cube(30, 24, 2); + TriangleMesh tower = make_cube(12, 10, 1); + tower.translate(4, 3, 2); + mesh.merge(tower); + TriangleMesh second = mesh; + second.translate(50, 0, 0); + mesh.merge(second); + + // Orca: Equal footprints can hide reordered or reversed paths. Retain their point + // sequences and ordering protection to cover the directional surface behavior too. + struct SurfaceFillSnapshot { + std::map<bool, std::vector<Points>> paths; + bool protected_order = true; + }; + auto surface_fills = [](const Print &print) { + std::map<std::pair<size_t, ExtrusionRole>, SurfaceFillSnapshot> result; + const PrintObject &object = *print.objects().front(); + for (size_t i = 0; i < object.layer_count(); ++i) { + auto collect = [&](const auto &self, const ExtrusionEntity &entity, bool no_sort) -> void { + if (const auto *collection = dynamic_cast<const ExtrusionEntityCollection *>(&entity)) { + for (const ExtrusionEntity *child : collection->entities) + self(self, *child, no_sort || collection->no_sort); + } else if (entity.role() == erTopSolidInfill || entity.role() == erBottomSurface) { + const auto *path = dynamic_cast<const ExtrusionPath *>(&entity); + REQUIRE(path != nullptr); + auto &snapshot = result[{i, entity.role()}]; + // Orca: The centered test model has one body on either side of X=0. + // Their traversal order may vary; preserve path order within each body. + Points points = path->polyline.to_polyline().points; + REQUIRE_FALSE(points.empty()); + snapshot.paths[points.front().x() > 0].push_back(std::move(points)); + snapshot.protected_order &= no_sort && !path->can_reverse(); + } + }; + for (const LayerRegion *region : object.get_layer(i)->regions()) + collect(collect, region->fills, false); + } + return result; + }; + + Print print; + Model model; + init_print({mesh}, print, model, config, nullptr, false); + print.process(); + const auto initial = surface_fills(print); + config.set_deserialize_strict({{"center_of_surface_pattern", final_center}, {"separated_infills", separated}}); + print.apply(model, config); + // Orca: Preparation owns the body origins, and its invalidation must also force + // regeneration of top/bottom extrusion paths, even when sparse infill is unchanged. + CHECK_FALSE(print.objects().front()->is_step_done(posPrepareInfill)); + CHECK_FALSE(print.objects().front()->is_step_done(posInfill)); + print.process(); + const auto resliced = surface_fills(print); + + Print fresh_print; + Model fresh_model; + init_print({mesh}, fresh_print, fresh_model, config, nullptr, false); + fresh_print.process(); + const auto fresh = surface_fills(fresh_print); + REQUIRE_FALSE(fresh.empty()); + REQUIRE(resliced.size() == fresh.size()); + std::set<ExtrusionRole> roles; + bool changed_paths = false; + for (const auto &entry : fresh) { + CAPTURE(entry.first.first, entry.first.second); + REQUIRE_FALSE(entry.second.paths.empty()); + roles.insert(entry.first.second); + REQUIRE(resliced.count(entry.first) == 1); + REQUIRE(initial.count(entry.first) == 1); + const auto &actual = resliced.at(entry.first); + const auto &expected = entry.second; + const auto &before = initial.at(entry.first); + CHECK((actual.paths == expected.paths)); + if (!change_center) + CHECK((actual.paths == before.paths)); + if (top_order != "default") { + CHECK(expected.protected_order); + CHECK(actual.protected_order); + CHECK(before.protected_order); + } + changed_paths |= expected.paths != before.paths; + } + CHECK(roles.count(erTopSolidInfill) == 1); + CHECK(roles.count(erBottomSurface) == 1); + // Orca: Guard against a vacuous comparison: changing surface centering must change + // the printed pattern, while toggling separated sparse infill must leave it alone. + CHECK(changed_paths == change_center); +} + +TEST_CASE("Separated infill keeps fragmented and nested bodies independent", "[PrintObject][SurfaceInfill][Regression]") +{ + constexpr size_t grid_size = 8; + TriangleMesh mesh; + auto add_box = [&](double x, double y, double width, double depth) { + TriangleMesh box = make_cube(width, depth, 0.6); + box.translate(x, y, 0); + mesh.merge(box); + }; + // Orca: Many small islands exercise spatial pruning and the tree's original + // island indices. A pillar inside a frame also overlaps its bounding box, + // but must remain a separate body because it lies entirely inside the hole. + for (size_t x = 0; x < grid_size; ++ x) + for (size_t y = 0; y < grid_size; ++ y) + add_box(6 * x, 6 * y, 3, 3); + add_box(54, 0, 20, 4); + add_box(54, 16, 20, 4); + add_box(54, 0, 4, 20); + add_box(70, 0, 4, 20); + add_box(62, 8, 4, 4); + + auto config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({{"separated_infills", true}, + {"center_of_surface_pattern", "each_surface"}, + {"layer_height", 0.2}, + {"initial_layer_print_height", 0.2}, + {"elefant_foot_compensation", 0}, + {"wall_loops", 1}}); + Print print; + Model model; + init_print({mesh}, print, model, config, nullptr, false); + // Orca: Prepare body bounds through the public pipeline, then inspect the object read-only. + print.process(); + const PrintObject &object = *print.objects().front(); + REQUIRE(object.layer_count() > 1); + for (const Layer *layer : object.layers()) { + REQUIRE(layer->lslices.size() == grid_size * grid_size + 2); + REQUIRE(layer->lslices_separated_component_bboxes.size() == layer->lslices.size()); + size_t holes = 0; + for (size_t i = 0; i < layer->lslices.size(); ++ i) { + const BoundingBox &body = layer->lslices_separated_component_bboxes[i]; + const BoundingBox &island = layer->lslices_bboxes[i]; + CHECK(body.min == island.min); + CHECK(body.max == island.max); + holes += layer->lslices[i].holes.size(); + } + CHECK(holes == 1); + } +} + +TEST_CASE("Body centering survives islands merging and splitting between layers", "[PrintObject][SurfaceInfill][Regression]") +{ + const bool separated = GENERATE(false, true); + CAPTURE(separated); + // Orca: Four posts join through horizontal then vertical rails, creating a + // cycle of overlaps before splitting into four islands again. This exercises + // redundant connections and indexing either adjacent layer. A fifth post + // stays separate at every height. + TriangleMesh mesh; + for (int x : {0, 8}) + for (int y : {0, 8}) { + TriangleMesh post = make_cube(4, 4, 1); + post.translate(x, y, 0); + mesh.merge(post); + } + for (int y : {0, 8}) { + TriangleMesh rail = make_cube(12, 4, 0.2); + rail.translate(0, y, 0.2); + mesh.merge(rail); + } + for (int x : {0, 8}) { + TriangleMesh rail = make_cube(4, 12, 0.2); + rail.translate(x, 0, 0.4); + mesh.merge(rail); + } + TriangleMesh isolated = make_cube(4, 4, 1); + isolated.translate(20, 0, 0); + mesh.merge(isolated); + + auto config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({{"separated_infills", separated}, + {"center_of_surface_pattern", separated ? "each_surface" : "each_model"}, + {"layer_height", 0.2}, + {"initial_layer_print_height", 0.2}, + {"elefant_foot_compensation", 0}, + {"wall_loops", 1}}); + Print print; + Model model; + init_print({mesh}, print, model, config, nullptr, false); + // Orca: Prepare body bounds through the public pipeline, then inspect the object read-only. + print.process(); + const PrintObject &object = *print.objects().front(); + REQUIRE(object.layer_count() == 5); + REQUIRE(object.get_layer(0)->lslices.size() == 5); + REQUIRE(object.get_layer(1)->lslices.size() == 3); + REQUIRE(object.get_layer(2)->lslices.size() == 3); + REQUIRE(object.get_layer(4)->lslices.size() == 5); + + BoundingBox isolated_bbox = object.get_layer(0)->lslices_bboxes.front(); + for (const BoundingBox &bbox : object.get_layer(0)->lslices_bboxes) + if (bbox.min.x() > isolated_bbox.min.x()) + isolated_bbox = bbox; + BoundingBox connected_bbox; + for (const Layer *layer : object.layers()) + for (const BoundingBox &bbox : layer->lslices_bboxes) + if (bbox.min.x() < isolated_bbox.min.x()) + connected_bbox.merge(bbox); + for (const Layer *layer : object.layers()) { + REQUIRE(layer->lslices_separated_component_bboxes.size() == layer->lslices.size()); + for (size_t i = 0; i < layer->lslices.size(); ++ i) { + const BoundingBox &expected = layer->lslices_bboxes[i].min.x() < isolated_bbox.min.x() ? connected_bbox : isolated_bbox; + const BoundingBox &actual = layer->lslices_separated_component_bboxes[i]; + CHECK(actual.min == expected.min); + CHECK(actual.max == expected.max); + } + } +} diff --git a/tests/fff_print/test_support_material.cpp b/tests/fff_print/test_support_material.cpp index 4564c0b034..97a9cea9e1 100644 --- a/tests/fff_print/test_support_material.cpp +++ b/tests/fff_print/test_support_material.cpp @@ -5,6 +5,7 @@ #include <cmath> #include <map> +#include <mutex> #include <set> #include <vector> @@ -128,6 +129,49 @@ TEST_CASE("Enforced support layers are generated", "[SupportMaterial]") REQUIRE(enforced.objects().front()->support_layers().size() > 0); } +// Support-needed statuses raised while slicing support_capital() with support off. The CLI lists these +// in result.json and fails on them under --strict. Collected under a lock: generate_support_material() +// runs on TBB workers. +static std::vector<PrintBase::SlicingStatus> support_needed_statuses(bool no_check) +{ + Slic3r::Print print; + Slic3r::Model model; + Slic3r::Test::init_print({ support_capital() }, print, model, { + { "enable_support", 0 }, + { "enforce_support_layers", 0 } + }); + print.set_no_check_flag(no_check); + + std::mutex mutex; + std::vector<PrintBase::SlicingStatus> statuses; + print.set_status_callback([&mutex, &statuses](const PrintBase::SlicingStatus &status) { + if (status.message_type != PrintStateBase::SlicingNeedSupportOn) + return; + std::lock_guard<std::mutex> lock(mutex); + statuses.push_back(status); + }); + print.process(); + return statuses; +} + +TEST_CASE("An overhang sliced with support off reports that support is needed", "[SupportMaterial]") +{ + // The 40mm cap reaches ~22mm past its 8mm stem, beyond the 6mm cantilever limit of + // PrintObject::is_support_necessary(). + const std::vector<PrintBase::SlicingStatus> statuses = support_needed_statuses(false); + REQUIRE(! statuses.empty()); + for (const PrintBase::SlicingStatus &status : statuses) { + // The CLI only considers step warnings (warning_step != -1), and --strict only NON_CRITICAL ones. + CHECK(status.warning_level == PrintStateBase::WarningLevel::NON_CRITICAL); + CHECK(status.warning_step != -1); + } +} + +TEST_CASE("The no-check flag skips the support-needed check", "[SupportMaterial]") +{ + CHECK(support_needed_statuses(true).empty()); +} + SCENARIO("Support layer Z honors contact distance", "[SupportMaterial]") { // Box h = 20mm, hole bottom at 5mm, hole height 10mm (top edge at 15mm). diff --git a/tests/fff_print/test_tree_support.cpp b/tests/fff_print/test_tree_support.cpp index 362eb0ca56..fbb40bb8f3 100644 --- a/tests/fff_print/test_tree_support.cpp +++ b/tests/fff_print/test_tree_support.cpp @@ -1,5 +1,7 @@ #include <catch2/catch_all.hpp> +#include <algorithm> + #include "libslic3r/Layer.hpp" #include "libslic3r/TriangleMesh.hpp" @@ -33,10 +35,13 @@ TriangleMesh scaled(TestMesh id, float scale) return mesh; } +// `extra` is applied last, so a caller can add or override any key. void slice_with_tree_support(const TriangleMesh &mesh, Slic3r::Print &print, const char *style, - int threshold_angle = 30, int build_plate_only = 0, int raft_layers = 0) + int threshold_angle = 30, int build_plate_only = 0, int raft_layers = 0, + std::initializer_list<Slic3r::ConfigBase::SetDeserializeItem> extra = {}) { - Slic3r::Test::init_and_process_print({ mesh }, print, { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ { "enable_support", 1 }, { "support_type", "tree(auto)" }, { "support_style", style }, @@ -45,6 +50,8 @@ void slice_with_tree_support(const TriangleMesh &mesh, Slic3r::Print &print, con { "raft_layers", raft_layers }, { "layer_height", 0.2 }, }); + config.set_deserialize_strict(extra); + Slic3r::Test::init_and_process_print({ mesh }, print, config); } Points support_points(const Slic3r::Print &print) @@ -63,6 +70,32 @@ size_t support_point_count(const TriangleMesh &mesh, const char *style, int thre return support_points(print).size(); } +// Index of the first differing point, or the common length when they match. An index keeps a +// failure readable; comparing the vectors themselves dumps thousands of points. +size_t first_difference(const Points &a, const Points &b) +{ + const size_t common = std::min(a.size(), b.size()); + for (size_t i = 0; i < common; ++i) + if (a[i] != b[i]) + return i; + return common; +} + +// Slice `mesh` twice and require an identical support point sequence. Point counts and total +// length are order insensitive, so the sequence is what a reordering shows up in. +void sliced_twice_matches(const TriangleMesh &mesh, int build_plate_only, const char *style = "tree_slim", + std::initializer_list<Slic3r::ConfigBase::SetDeserializeItem> extra = {}) +{ + Slic3r::Print first_print, second_print; + slice_with_tree_support(mesh, first_print, style, 30, build_plate_only, 0, extra); + slice_with_tree_support(mesh, second_print, style, 30, build_plate_only, 0, extra); + const Points first = support_points(first_print); + const Points second = support_points(second_print); + REQUIRE(first.size() > 1000); // without support the comparison below passes vacuously + REQUIRE(second.size() == first.size()); + REQUIRE(first_difference(first, second) == first.size()); +} + } // namespace TEST_CASE("Tree support is generated for an overhang and not for a plain cube", "[TreeSupport]") @@ -123,3 +156,35 @@ TEST_CASE("A raft is still generated under tree support", "[TreeSupport]") // The raft goes under the object. REQUIRE(rafted_object->layers().front()->print_z > unrafted_object->layers().front()->print_z); } + +// drop_nodes() decides the node merges and spawns the next layer's nodes in parallel. Every one of +// those decisions has to be applied in a fixed order, or the same model gives different branches on +// each slice. +TEST_CASE("Tree support toolpaths do not depend on thread scheduling", "[TreeSupport][Regression]") +{ + // Scaled up so that a layer holds enough nodes for the parallel range to be split. At stock + // size it stays in one chunk and the order never varies. + SECTION("overhang") { sliced_twice_matches(scaled(TestMesh::overhang, 2.f), 0); } + SECTION("bridge with hole") { sliced_twice_matches(scaled(TestMesh::bridge_with_hole, 3.f), 0); } + // Dropping every branch that cannot reach the bed leaves the survivors dense enough that the + // neighbour merge fires in bulk. + SECTION("on the build plate") { sliced_twice_matches(scaled(TestMesh::overhang, 4.f), 1); } + // Branches resting on the model are what put nodes in a part group other than 0, which is the + // only way to reach the prune in the second pass. tree_hybrid additionally builds polygon + // nodes, so it is the only style that exercises the overhang merge. + SECTION("resting on the model") { sliced_twice_matches(two_tier_mesh(), 0); } + SECTION("hybrid on the model") { sliced_twice_matches(two_tier_mesh(), 0, "tree_hybrid"); } +} + +// Prim breaks equal-distance ties by heap address. A 1 mm branch diameter puts neighbours close +// enough to tie, and an explicit line width pins max_move_dist, so the moved tie winner reaches +// the support toolpaths. +TEST_CASE("Tree support toolpaths do not depend on the MST tie order", "[TreeSupport][Regression]") +{ + sliced_twice_matches(two_tier_mesh(), 0, "tree_hybrid", { + { "tree_support_branch_diameter", 1.0 }, + { "tree_support_branch_distance", 5.0 }, + { "tree_support_branch_angle", 40 }, + { "support_line_width", 0.4 }, + }); +} diff --git a/tests/fff_print/test_wipe.cpp b/tests/fff_print/test_wipe.cpp new file mode 100644 index 0000000000..46ee0d6441 --- /dev/null +++ b/tests/fff_print/test_wipe.cpp @@ -0,0 +1,653 @@ +#include <catch2/catch_all.hpp> + +#include <algorithm> +#include <cmath> +#include <map> +#include <string> +#include <string_view> +#include <vector> + +#include "libslic3r/GCode/GCodeProcessor.hpp" +#include "libslic3r/GCodeReader.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Layer.hpp" + +#include "test_helpers.hpp" + +using namespace Slic3r; +using namespace Slic3r::Test; + +namespace { + +DynamicPrintConfig wipe_config(const char *wall_generator, bool wipe_inward, + const char *wipe_inward_distance = "50%", + const char *seam_gap = "10%", bool wipe_on_loops = false, + const char *wall_loops = "2", + const char *wall_sequence = "inner wall/outer wall", + bool alternate_extra_wall = false, + const char *sparse_infill_density = "0%", + const char *seam_position = "aligned") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "nozzle_diameter", "0.4" }, + { "layer_height", "0.2" }, + { "initial_layer_print_height", "0.2" }, + { "line_width", "0.45" }, + { "outer_wall_line_width", "0" }, // Orca: Auto must use the actual path width. + { "wall_loops", wall_loops }, + { "wall_generator", wall_generator }, + { "wall_sequence", wall_sequence }, + { "top_shell_layers", "0" }, + { "bottom_shell_layers", "0" }, + { "sparse_infill_density", sparse_infill_density }, + { "seam_position", seam_position }, + { "seam_gap", seam_gap }, + { "wipe", "1" }, + { "wipe_distance", "2" }, + { "retraction_length", "0.8" }, + { "retract_when_changing_layer", "1" }, + { "wipe_inward", wipe_inward ? "1" : "0" }, + { "wipe_inward_distance", wipe_inward_distance }, + { "wipe_on_loops", wipe_on_loops ? "1" : "0" }, + { "alternate_extra_wall", alternate_extra_wall ? "1" : "0" }, + { "gcode_comments", "1" }, + { "machine_start_gcode", "" }, + { "machine_end_gcode", "" }, + }); + return config; +} + +struct WipeTrajectory { + Vec2d start; + double z; + std::vector<Vec2d> destinations; +}; + +std::vector<WipeTrajectory> wipe_trajectories(const std::string &gcode) +{ + const std::string &start_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Start); + const std::string &end_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_End); + std::vector<WipeTrajectory> trajectories; + bool in_wipe = false; + + GCodeReader parser; + parser.parse_buffer(gcode, [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + const std::string_view comment = line.comment(); + if (comment.find(start_tag) != std::string_view::npos) { + in_wipe = true; + trajectories.push_back({Vec2d(self.x(), self.y()), self.z(), {}}); + return; + } + if (comment.find(end_tag) != std::string_view::npos) { + in_wipe = false; + return; + } + if (in_wipe && line.dist_XY(self) > EPSILON) + trajectories.back().destinations.emplace_back(line.new_X(self), line.new_Y(self)); + }); + return trajectories; +} + +std::vector<Vec2d> wipe_destinations(const std::string &gcode) +{ + std::vector<Vec2d> destinations; + for (const WipeTrajectory &trajectory : wipe_trajectories(gcode)) + destinations.insert(destinations.end(), trajectory.destinations.begin(), trajectory.destinations.end()); + return destinations; +} + +bool trajectories_differ(const std::vector<Vec2d> &lhs, const std::vector<Vec2d> &rhs) +{ + if (lhs.size() != rhs.size()) + return true; + for (size_t i = 0; i < lhs.size(); ++i) + if ((lhs[i] - rhs[i]).norm() > 0.01) + return true; + return false; +} + +double trajectory_length(const WipeTrajectory &trajectory) +{ + double length = 0.; + Vec2d previous = trajectory.start; + for (const Vec2d &destination : trajectory.destinations) { + length += (destination - previous).norm(); + previous = destination; + } + return length; +} + +} // namespace + +TEST_CASE("Wipe retraction preserves fractional speed with inward wipe disabled", "[Wipe][Regression]") +{ + const char *retraction_speed = GENERATE("25.25", "25.5", "25.75"); + const char *relative_e = GENERATE("0", "1"); + INFO("retraction speed: " << retraction_speed); + INFO("relative E: " << relative_e); + DynamicPrintConfig config = wipe_config("classic", false); + config.set_deserialize_strict({ + {"gcode_flavor", "marlin2"}, + {"use_relative_e_distances", relative_e}, + {"retraction_speed", retraction_speed}, + {"retraction_length", "0.8"}, + {"retract_before_wipe", "0%"}, + {"retract_after_wipe", "0%"}, + {"role_based_wipe_speed", "0"}, + {"wipe_speed", "100"}, + {"wipe_distance", "2"}, + }); + const std::string output = slice({make_cube(10., 10., 1.)}, config); + const auto &start_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Start); + const auto &end_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_End); + double before_wipe = 0.; + double during_wipe = 0.; + bool in_wipe = false; + bool complete = false; + GCodeReader parser; + parser.apply_config(config); + parser.parse_buffer(output, [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + if (complete) + return; + if (line.comment().find(start_tag) != std::string_view::npos) { + in_wipe = true; + } else if (in_wipe && line.comment().find(end_tag) != std::string_view::npos) { + complete = true; + } else if (line.retracting(self)) { + (in_wipe ? during_wipe : before_wipe) -= line.dist_E(self); + } else if (line.extruding(self)) { + before_wipe = 0.; + } + }); + + REQUIRE(complete); + // At 100 mm/s, the 2 mm wipe lasts 0.02 seconds. The remaining part of + // the configured 0.8 mm retraction must be emitted before that wipe. + const double expected_during = std::stod(retraction_speed) * 2. / 100.; + CHECK_THAT(during_wipe, Catch::Matchers::WithinAbs(expected_during, 0.00005)); + CHECK_THAT(before_wipe, Catch::Matchers::WithinAbs(0.8 - expected_during, 0.00005)); +} + +TEST_CASE("Inward wipe respects the minimum travel for retraction and Z hop", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const char *relative_e = GENERATE("0", "1"); + const char *reduce_crossing_wall = GENERATE("0", "1"); + const char *minimum_travel = GENERATE("5", "0"); + CAPTURE(wall_generator, relative_e, reduce_crossing_wall, minimum_travel); + DynamicPrintConfig config = wipe_config( + wall_generator, true, "50%", "10%", false, "3", "inner-outer-inner wall"); + config.set_deserialize_strict({ + {"gcode_flavor", "marlin2"}, + {"use_relative_e_distances", relative_e}, + {"reduce_crossing_wall", reduce_crossing_wall}, + {"retraction_minimum_travel", minimum_travel}, + {"retract_when_changing_layer", "0"}, + {"use_firmware_retraction", "0"}, + {"retract_before_wipe", "0%"}, + {"retract_after_wipe", "0%"}, + {"retraction_speed", "25.5"}, + {"role_based_wipe_speed", "0"}, + {"wipe_speed", "100"}, + {"z_hop", "0.4"}, + {"retract_lift_above", "0"}, + {"retract_lift_below", "0"}, + }); + config.set_key_value("z_hop_types", new ConfigOptionEnumsGeneric{zhtNormal}); + config.set_key_value("retract_lift_enforce", new ConfigOptionEnumsGeneric{rletAllSurfaces}); + const std::string output = slice({make_cube(10., 10., 1.)}, config); + const auto &role_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Role); + const auto &start_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Start); + const auto &end_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_End); + ExtrusionRole role = erNone; + bool after_outer_wall = false; + bool in_wipe = false; + size_t transitions = 0; + size_t same_layer_transitions = 0; + size_t inward_wipes = 0; + double retraction = 0.; + double lift = 0.; + double outer_z = 0.; + GCodeReader parser; + parser.apply_config(config); + parser.parse_buffer(output, [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + if (line.comment().find(role_tag) == 0) + role = ExtrusionEntity::string_to_role(line.comment().substr(role_tag.size())); + if (line.comment().find(start_tag) == 0) { + in_wipe = true; + if (after_outer_wall) + ++inward_wipes; + } else if (line.comment().find(end_tag) == 0) { + in_wipe = false; + } + if (line.extruding(self) && line.dist_XY(self) > EPSILON) { + if (role == erExternalPerimeter) { + after_outer_wall = true; + retraction = lift = 0.; + outer_z = line.new_Z(self); + } else if (after_outer_wall) { + REQUIRE(role == erPerimeter); + ++transitions; + const double layer_rise = std::max(0., double(self.z()) - outer_z); + if (layer_rise < EPSILON) + ++same_layer_transitions; + // A 5 mm threshold suppresses retraction across a few wall widths. + // A zero threshold still permits the ordinary retract and lift. + const bool retract = std::stod(minimum_travel) == 0.; + CHECK_THAT(retraction, Catch::Matchers::WithinAbs(retract ? 0.8 : 0., 0.00005)); + // Exclude an ordinary layer change from the accumulated upward motion. + CHECK_THAT(lift - layer_rise, Catch::Matchers::WithinAbs(retract ? 0.4 : 0., 0.001)); + after_outer_wall = false; + } + } else if (after_outer_wall) { + if (line.retracting(self)) + retraction -= line.dist_E(self); + lift += std::max(0., double(line.dist_Z(self))); + if (in_wipe) + CHECK_THAT(line.dist_E(self), Catch::Matchers::WithinAbs(0., 0.00005)); + } + }); + // The 1 mm cube has five 0.2 mm layers: every outer wall must still wipe. + REQUIRE(transitions == 5); + REQUIRE(same_layer_transitions >= 4); + REQUIRE(inward_wipes == transitions); +} + +TEST_CASE("Changing inward wipe settings preserves the sliced geometry", "[Wipe][Regression]") +{ + const char *key = GENERATE("wipe_inward", "wipe_inward_distance"); + DynamicPrintConfig config = wipe_config("classic", false); + Print print; + Model model; + init_print({make_cube(10., 10., 1.)}, print, model, config); + gcode(print); + const PrintObject &object = *print.objects().front(); + REQUIRE(object.is_step_done(posPerimeters)); + REQUIRE(object.is_step_done(posInfill)); + REQUIRE(print.is_step_done(psWipeTower)); + REQUIRE(print.is_step_done(psGCodeExport)); + + DynamicPrintConfig changed = config; + changed.set_deserialize_strict({{key, std::string(key) == "wipe_inward" ? "1" : "75%"}}); + print.apply(model, changed); + + CHECK(print.objects().front()->is_step_done(posPerimeters)); + CHECK(print.objects().front()->is_step_done(posInfill)); + CHECK(print.is_step_done(psWipeTower)); + CHECK_FALSE(print.is_step_done(psGCodeExport)); +} + +TEST_CASE("Retraction and pressure advance calibration suppress inward wipe overrides", "[Wipe][Regression]") +{ + const auto mode = GENERATE(CalibMode::Calib_None, CalibMode::Calib_PA_Tower, + CalibMode::Calib_Auto_PA_Line, CalibMode::Calib_Retraction_tower, + CalibMode::Calib_Flow_Rate); + const char *wall_generator = GENERATE("classic", "arachne"); + const bool per_object = GENERATE(false, true); + INFO("calibration mode: " << int(mode) << ", wall generator: " << wall_generator + << ", per-object override: " << per_object); + + const auto trajectories = [&](bool inward) { + DynamicPrintConfig config = wipe_config(wall_generator, inward && !per_object); + const std::vector<std::vector<ConfigBase::SetDeserializeItem>> overrides{ + {{"wipe_inward", inward ? "1" : "0"}} + }; + Print print; + Model model; + init_print({make_cube(10., 10., 1.)}, print, model, config, per_object ? &overrides : nullptr); + Calib_Params params; + params.mode = mode; + params.start = 0.2; + params.end = 0.4; + params.step = 0.1; + print.set_calib_params(params); + return wipe_destinations(gcode(print)); + }; + + const auto regular = trajectories(false); + const auto inward = trajectories(true); + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(inward.empty()); + // Other calibration modes and ordinary prints must still honor the option. + const bool should_differ = mode == CalibMode::Calib_None || mode == CalibMode::Calib_Flow_Rate; + CHECK(trajectories_differ(regular, inward) == should_differ); +} + +TEST_CASE("Inactive inward wipe settings preserve the exported trajectory", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const bool disable_wiping = GENERATE(false, true); + DynamicPrintConfig regular = wipe_config(wall_generator, false); + DynamicPrintConfig inward = wipe_config(wall_generator, true, disable_wiping ? "50%" : "0"); + if (disable_wiping) { + regular.set_deserialize_strict({{"wipe", "0"}}); + inward.set_deserialize_strict({{"wipe", "0"}}); + } + const auto regular_paths = wipe_destinations(slice({make_cube(10., 10., 1.)}, regular)); + const auto inward_paths = wipe_destinations(slice({make_cube(10., 10., 1.)}, inward)); + if (!disable_wiping) + REQUIRE_FALSE(regular_paths.empty()); + CHECK_FALSE(trajectories_differ(regular_paths, inward_paths)); +} + +TEST_CASE("Inward wipe changes the exported trajectory when outer wall width is Auto", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, false))); + const std::vector<Vec2d> inward = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, true))); + + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(inward.empty()); + REQUIRE(trajectories_differ(regular, inward)); +} + +TEST_CASE("Inward wipe recognizes an external wall starting on an overhang", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const bool inward = GENERATE(false, true); + CAPTURE(wall_generator, inward); + const auto config = wipe_config(wall_generator, inward, "50%", "0%", false, + "3", "inner-outer-inner wall", false, "0%", "back"); + Print print; + Model model; + init_print({make_cube(10., 10., 1.)}, print, model, config); + print.process(); + size_t mixed_loops = 0; + const auto mark_overhangs = [&](auto &&self, ExtrusionEntity *entity) -> void { + if (auto *collection = dynamic_cast<ExtrusionEntityCollection *>(entity)) { + for (ExtrusionEntity *child : collection->entities) + self(self, child); + } else if (auto *loop = dynamic_cast<ExtrusionLoop *>(entity); loop && is_external_perimeter(loop->role())) { + // Keep the printed geometry intact and give the back seam overhang + // roles. The front edge remains an ordinary external-wall segment. + ExtrusionPaths paths; + bool has_overhang = false; + bool has_external = false; + for (const ExtrusionPath &source : loop->paths) { + for (size_t i = 1; i < source.polyline.points.size(); ++i) { + ExtrusionPath path = source; + path.polyline.points = {source.polyline.points[i - 1], source.polyline.points[i]}; + const bool overhang = path.polyline.points.front().y() > 0 || path.polyline.points.back().y() > 0; + path.set_extrusion_role(overhang ? erOverhangPerimeter : erExternalPerimeter); + has_overhang |= overhang; + has_external |= !overhang; + paths.push_back(std::move(path)); + } + } + REQUIRE(has_overhang); + REQUIRE(has_external); + loop->paths = std::move(paths); + ++mixed_loops; + } + }; + for (const PrintObject *object : print.objects()) + for (Layer *layer : object->layers()) + for (LayerRegion *region : layer->regions()) + mark_overhangs(mark_overhangs, ®ion->perimeters); + REQUIRE(mixed_loops > 0); + + bool has_inward_wipe = false; + for (const WipeTrajectory &trajectory : wipe_trajectories(gcode(print))) { + if (trajectory.destinations.empty()) + continue; + const Vec2d move = trajectory.destinations.front() - trajectory.start; + if (trajectory.start.x() > 4. && trajectory.start.y() > 4. && move.x() < -0.05 && move.y() < -0.05) + has_inward_wipe = true; + } + CHECK(has_inward_wipe == inward); +} + +TEST_CASE("Inward wipe keeps its offset when seam gap is zero", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, false, "50%", "0%"))); + const std::vector<Vec2d> inward = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, true, "50%", "0%"))); + + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(inward.empty()); + REQUIRE(trajectories_differ(regular, inward)); +} + +TEST_CASE("Inward wipe is retained across layers with a back seam", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const DynamicPrintConfig inward_config = wipe_config( + wall_generator, true, "50%", "0%", false, "3", "inner-outer-inner wall", false, "0%", "back"); + const std::vector<WipeTrajectory> inward = wipe_trajectories(slice({make_cube(27., 27., 1.)}, inward_config)); + + REQUIRE_FALSE(inward.empty()); + std::map<double, bool> inward_wipe_by_layer; + for (const WipeTrajectory &trajectory : inward) { + bool &has_inward_wipe = inward_wipe_by_layer[trajectory.z]; + if (trajectory.destinations.empty()) + continue; + const Vec2d first_move = trajectory.destinations.front() - trajectory.start; + // Orca: a back seam lands on the cube's positive-X/positive-Y corner. + // Its inward wipe must move diagonally away from both external faces. + has_inward_wipe = has_inward_wipe || + (trajectory.start.x() > 13. && trajectory.start.y() > 13. && + first_move.x() < -0.05 && first_move.y() < -0.05); + } + REQUIRE(inward_wipe_by_layer.size() == 5); + for (const auto &[z, has_inward_wipe] : inward_wipe_by_layer) { + INFO("layer Z: " << z); + REQUIRE(has_inward_wipe); + } +} + +TEST_CASE("Literal inward wipe distance is clamped to the outer wall width", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, false))); + const std::vector<Vec2d> full_width = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, true, "100%"))); + const std::vector<Vec2d> oversized = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, true, "2"))); + + REQUIRE_FALSE(full_width.empty()); + REQUIRE(trajectories_differ(regular, full_width)); + REQUIRE(oversized.size() == full_width.size()); + for (size_t i = 0; i < full_width.size(); ++i) + REQUIRE_THAT((oversized[i] - full_width[i]).norm(), Catch::Matchers::WithinAbs(0., 0.01)); +} + +TEST_CASE("Inward wipe is not applied without an adjacent wall", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, false, "50%", "10%", false, "1"))); + const std::vector<Vec2d> inward = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config(wall_generator, true, "50%", "10%", false, "1"))); + + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(trajectories_differ(regular, inward)); +} + +TEST_CASE("Inward wipe uses an alternate extra wall when the configured wall count is one", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const DynamicPrintConfig regular_config = wipe_config( + wall_generator, false, "50%", "10%", false, "1", "inner wall/outer wall", true, "15%"); + const DynamicPrintConfig inward_config = wipe_config( + wall_generator, true, "50%", "10%", false, "1", "inner wall/outer wall", true, "15%"); + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, regular_config)); + const std::vector<Vec2d> inward = wipe_destinations( + slice({make_cube(10., 10., 1.)}, inward_config)); + + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(inward.empty()); + REQUIRE(trajectories_differ(regular, inward)); +} + +TEST_CASE("Inward wipe is not applied before the adjacent wall is printed", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + INFO("wall generator: " << wall_generator); + + const std::vector<Vec2d> regular = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config( + wall_generator, false, "50%", "10%", false, "2", "outer wall/inner wall"))); + const std::vector<Vec2d> inward = wipe_destinations( + slice({make_cube(10., 10., 1.)}, wipe_config( + wall_generator, true, "50%", "10%", false, "2", "outer wall/inner wall"))); + + REQUIRE_FALSE(regular.empty()); + REQUIRE_FALSE(trajectories_differ(regular, inward)); +} + +TEST_CASE("Wipe on loops preserves the corner move with inward wipe disabled", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const char *nozzle_diameter = GENERATE("0.4", "0.8"); + const char *comments = GENERATE("0", "1"); + CAPTURE(comments); + INFO("wall generator: " << wall_generator << ", nozzle diameter: " << nozzle_diameter); + // A closed square gives a 90-degree material-side corner at the seam. + DynamicPrintConfig config = wipe_config(wall_generator, false, "50%", "0", true); + config.set_deserialize_strict({{"nozzle_diameter", nozzle_diameter}, {"seam_position", "nearest"}, + {"gcode_comments", comments}}); + const std::string output = slice({make_cube(10., 10., 1.)}, config); + const auto &role_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Role); + const auto &wipe_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Start); + ExtrusionRole role = erNone; + std::vector<Vec2d> loop; + bool after_extrusion = false; + size_t moves = 0; + GCodeReader parser; + parser.apply_config(config); + parser.parse_buffer(output, [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + if (line.comment().find(role_tag) == 0) { + role = ExtrusionEntity::string_to_role(line.comment().substr(role_tag.size())); + loop.clear(); + after_extrusion = false; + } + if (line.comment().find(wipe_tag) == 0) + after_extrusion = false; + if (role != erExternalPerimeter) + return; + if (line.extruding(self) && line.dist_XY(self) > EPSILON) { + if (loop.empty()) + loop.emplace_back(self.x(), self.y()); + loop.emplace_back(line.new_X(self), line.new_Y(self)); + after_extrusion = true; + return; + } + // The loop move is the first non-extruding XY move after the external + // wall and before the reserved wipe marker, regardless of comment text. + if (!after_extrusion || line.dist_XY(self) <= EPSILON) + return; + after_extrusion = false; + + ++moves; + INFO("layer Z: " << self.z()); + REQUIRE(loop.size() >= 4); + const Vec2d seam = loop.front(); + REQUIRE_THAT((loop.back() - seam).norm(), Catch::Matchers::WithinAbs(0., 0.003)); + const Vec2d outgoing = (loop[1] - seam).normalized(); + const Vec2d into_corner = (loop[loop.size() - 2] - seam).normalized(); + REQUIRE_THAT(outgoing.dot(into_corner), Catch::Matchers::WithinAbs(0., 0.01)); + const Vec2d move = Vec2d(line.new_X(self), line.new_Y(self)) - seam; + // The legacy corner move is 20% of the nozzle diameter, turned 30 degrees + // from the outgoing edge into the square. Check both components independently. + const double distance = 0.2 * std::stod(nozzle_diameter); + CHECK_THAT(move.dot(outgoing), Catch::Matchers::WithinAbs(distance * std::sqrt(3.) / 2., 0.003)); + CHECK_THAT(move.dot(into_corner), Catch::Matchers::WithinAbs(distance / 2., 0.003)); + }); + REQUIRE(moves == 5); +} + +TEST_CASE("Inward wipe remains valid after wipe on loops moves the nozzle", "[Wipe][Regression]") +{ + const char *wall_generator = GENERATE("classic", "arachne"); + const char *comments = GENERATE("0", "1"); + CAPTURE(comments); + INFO("wall generator: " << wall_generator); + + DynamicPrintConfig config = wipe_config(wall_generator, false, "50%", "10%", true); + config.set_deserialize_strict({{"gcode_comments", comments}}); + const std::string loop_move = slice({make_cube(10., 10., 1.)}, config); + config.set_deserialize_strict({{"wipe_inward", "1"}}); + const std::string combined = slice({make_cube(10., 10., 1.)}, config); + config.set_deserialize_strict({{"wipe_on_loops", "0"}}); + const std::string inward_only = slice({make_cube(10., 10., 1.)}, config); + + for (const std::string *output : {&loop_move, &combined}) { + INFO("wipe_inward: " << (output == &combined)); + std::map<double, std::vector<Vec2d>> loop_moves_by_layer; + const auto &role_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Role); + const auto &wipe_tag = GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Start); + ExtrusionRole role = erNone; + bool after_extrusion = false; + GCodeReader parser; + parser.apply_config(config); + parser.parse_buffer(*output, [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + if (line.comment().find(role_tag) == 0) { + role = ExtrusionEntity::string_to_role(line.comment().substr(role_tag.size())); + after_extrusion = false; + } + if (line.comment().find(wipe_tag) == 0) + after_extrusion = false; + if (role != erExternalPerimeter || line.dist_XY(self) <= EPSILON) + return; + if (line.extruding(self)) { + after_extrusion = true; + } else if (after_extrusion) { + loop_moves_by_layer[line.new_Z(self)].emplace_back(line.new_X(self), line.new_Y(self)); + after_extrusion = false; + } + }); + + // The 1 mm cube at 0.2 mm layer height has one external loop on each of five layers. + const auto trajectories = wipe_trajectories(*output); + REQUIRE(loop_moves_by_layer.size() == 5); + for (size_t layer = 1; layer <= 5; ++layer) { + const double z = layer * 0.2; + const auto moves = std::find_if(loop_moves_by_layer.begin(), loop_moves_by_layer.end(), + [z](const auto &entry) { return std::abs(entry.first - z) < 0.001; }); + REQUIRE(moves != loop_moves_by_layer.end()); + REQUIRE(moves->second.size() == 1); + const auto wipe = std::find_if(trajectories.begin(), trajectories.end(), [&](const WipeTrajectory &trajectory) { + return std::abs(trajectory.z - z) < 0.001 && + (trajectory.start - moves->second.front()).norm() < 0.001; + }); + REQUIRE(wipe != trajectories.end()); + // The configured 2 mm wipe must be measured from the inward move's + // endpoint, including when wipe_inward is off (set_last_pos regression). + CHECK_THAT(trajectory_length(*wipe), Catch::Matchers::WithinAbs(2., 0.003)); + } + } + + const std::vector<WipeTrajectory> combined_trajectories = wipe_trajectories(combined); + const std::vector<WipeTrajectory> inward_trajectories = wipe_trajectories(inward_only); + REQUIRE_FALSE(combined_trajectories.empty()); + REQUIRE(combined_trajectories.size() == inward_trajectories.size()); + REQUIRE(trajectories_differ(wipe_destinations(combined), wipe_destinations(loop_move))); + + bool start_changed = false; + for (size_t i = 0; i < combined_trajectories.size(); ++i) { + start_changed = start_changed || + (combined_trajectories[i].start - inward_trajectories[i].start).norm() > 0.01; + REQUIRE_THAT(trajectory_length(combined_trajectories[i]), + Catch::Matchers::WithinAbs(trajectory_length(inward_trajectories[i]), 0.01)); + } + REQUIRE(start_changed); +} diff --git a/tests/fff_print/test_wipe_tower.cpp b/tests/fff_print/test_wipe_tower.cpp index 2bd7ac4189..014eab6f8b 100644 --- a/tests/fff_print/test_wipe_tower.cpp +++ b/tests/fff_print/test_wipe_tower.cpp @@ -152,6 +152,8 @@ static DynamicPrintConfig wipe_tower_toolchange_config(const std::string &gcode_ { "outer_wall_filament_id", 2 }, { "inner_wall_filament_id", 2 }, { "enable_prime_tower", true }, + { "wipe_tower_x", 50 }, // inside the 200x200 test bed + { "wipe_tower_y", 50 }, // (the default y, 220, is not) { "layer_height", 0.3 }, { "gcode_flavor", gcode_flavor }, }); @@ -182,3 +184,261 @@ TEST_CASE("The wipe tower's toolchange planner flush follows the gcode flavor", CHECK_THAT(tower, !Catch::Matchers::ContainsSubstring(unexpected)); } } + +// What Print feeds the shared estimate. The libslic3r WipeTowerEstimate cases cannot see this: +// they call the estimator directly. The estimate counts the filaments the print really uses, +// so the two-filament shape gives the outer wall the second one. +static DynamicPrintConfig tower_estimate_config(const char *wall_type, unsigned int filaments = 2) +{ + // 100 mm3 per purge on a 50 mm wide tower: one purge is 100/(layer_height * 50) of depth. + return multifilament_config(filaments, { + { "outer_wall_filament_id", filaments == 2 ? "2" : "1" }, + { "enable_prime_tower", "1" }, + { "wipe_tower_wall_type", wall_type }, + { "prime_tower_width", "50" }, + { "prime_volume", "100" }, + { "prime_tower_infill_gap", "100%" }, + { "prime_tower_brim_width", "3" }, + { "purge_in_prime_tower", "0" }, + { "single_extruder_multi_material", "0" }, + { "timelapse_type", "0" }, + { "layer_height", "0.2" }, + { "enable_wrapping_detection", "0" }, + { "raft_layers", "0" } }); +} + +TEST_CASE("The tower is sized for the thinnest layer any object on the plate is sliced at", "[WipeTower]") +{ + // The tower has to survive its thinnest layer, so an override finer than the preset drives + // the estimate even on the second object. Two 20 mm cubes, the second at 0.1 mm. + const DynamicPrintConfig config = tower_estimate_config("rectangle"); + const std::vector<std::vector<ConfigBase::SetDeserializeItem>> overrides = { + {}, { { "layer_height", "0.1" } } }; + + Print print; + Model model; + init_print({ cube(20), cube(20) }, print, model, config, &overrides); + + // One purge at 0.1 mm: 100 / (0.1 * 50) = 20 mm, above the 20 mm-tall tower's stability + // floor. At the preset's 0.2 mm it would be half that, so the two are easy to tell apart. + const float floor_20mm = WipeTower::get_limit_depth_by_height(20.f); + REQUIRE(floor_20mm < 10.f); + CHECK_THAT(print.wipe_tower_data(2).depth, Catch::Matchers::WithinAbs(20., 1e-4)); +} + +TEST_CASE("Validation is given the tower's effective width, not the configured one", "[WipeTower]") +{ + // A rib wall squares the tower, so its width is its depth. Validation reads this rather + // than re-deriving the rule from the wall type. + Print print; + Model model; + + SECTION("a rectangle wall keeps the configured width") { + const DynamicPrintConfig config = tower_estimate_config("rectangle"); + init_print({ cube(20) }, print, model, config); + const WipeTowerData &data = print.wipe_tower_data(2); + CHECK_THAT(data.width, Catch::Matchers::WithinAbs(50., 1e-4)); + CHECK(data.depth < data.width); + } + + SECTION("a rib wall reports the squared footprint") { + const DynamicPrintConfig config = tower_estimate_config("rib"); + init_print({ cube(20) }, print, model, config); + const WipeTowerData &data = print.wipe_tower_data(2); + CHECK_THAT(data.width, Catch::Matchers::WithinAbs(data.depth, 1e-4)); + CHECK(data.width > 0.f); + } +} + +TEST_CASE("Generating the tower keeps its reported width current", "[WipeTower]") +{ + // width is handed out after the slice, so leaving it at the estimate reports a zero-width + // tower to every post-generation consumer. + const DynamicPrintConfig config = wipe_tower_toolchange_config("marlin"); + Print print; + Model model; + init_print({ cube(10) }, print, model, config); + print.apply(model, config); + REQUIRE(print.wipe_tower_data(2).width > 0.f); + + print.process(); + REQUIRE(print.is_step_done(psWipeTower)); + const WipeTowerData &data = print.wipe_tower_data(); + // A width the generator never wrote reads as zero. A rib wall squares the tower, so the + // generated width is the body square: under the configured 50 mm, and inside the depth. + CHECK(data.width > 0.f); + CHECK(data.width < 50.f); + CHECK(data.width <= data.depth + EPSILON); +} + +TEST_CASE("A single-filament plate reserves a tower only when one is actually printed", "[WipeTower]") +{ + // The estimate has to answer this the way Print::apply does: reporting no tower for one + // that is built collapses the validation hull to a point, and reporting one for a tower + // that is not built takes that bed area away from the arranger and draws a preview box + // over nothing. + Print print; + Model model; + + SECTION("no tool change and nothing else that prints one") { + const DynamicPrintConfig config = tower_estimate_config("rib", 1); + init_print({ cube(20) }, print, model, config); + REQUIRE_FALSE(print.has_wipe_tower()); + CHECK_THAT(print.wipe_tower_data(1).depth, Catch::Matchers::WithinAbs(0., 1e-6)); + } + + // A raft puts the tower on every layer below the object, but only where there is a tower: + // Print::apply runs normalize_fdm_2, which clears enable_prime_tower for a plate that + // purges one filament and has neither smooth timelapse nor wrapping detection on. + SECTION("a raft alone does not print one") { + DynamicPrintConfig config = tower_estimate_config("rib", 1); + config.set_deserialize_strict({ { "raft_layers", "3" } }); + init_print({ cube(20) }, print, model, config); + REQUIRE_FALSE(print.config().enable_prime_tower.value); + REQUIRE_FALSE(print.has_wipe_tower()); + CHECK_THAT(print.wipe_tower_data(1).depth, Catch::Matchers::WithinAbs(0., 1e-6)); + } + + SECTION("smooth timelapse prints one, and keeps enable_prime_tower on") { + DynamicPrintConfig config = tower_estimate_config("rib", 1); + config.set_deserialize_strict({ { "timelapse_type", "1" } }); + init_print({ cube(20) }, print, model, config); + REQUIRE(print.has_wipe_tower()); + CHECK(print.wipe_tower_data(1).depth > 0.f); + } +} + +// Filament 2 on the top surface only, so every layer below it is a toolchange-free tower layer: the +// run "Combine sparse layers" folds. The two heights decide whether anything folds, so they are the +// caller's business. +static DynamicPrintConfig sparse_run_config(double layer_height, const char *max_layer_height, bool combine) +{ + DynamicPrintConfig config = multifilament_config(2, { + { "top_surface_filament_id", 2 }, + { "enable_prime_tower", true }, + { "wipe_tower_x", 50 }, // inside the 200x200 test bed + { "wipe_tower_y", 50 }, + { "prime_tower_width", 35 }, + { "min_layer_height", "0.08"}, + { "single_extruder_multi_material", true }, + { "timelapse_type", "0" }, + { "enable_wrapping_detection", false }, + { "raft_layers", "0" } }); + // A taller first layer would top the plan and hide what the run does, so slice at one height. + config.set_deserialize_strict({ { "layer_height", std::to_string(layer_height) }, + { "initial_layer_print_height", std::to_string(layer_height) }, + { "max_layer_height", max_layer_height }, + { "wipe_tower_sparse_layers_combination", combine ? "1" : "0" } }); + return config; +} + +// What a sliced tower did with its sparse run. +struct SparseRunResult { size_t planned, sparse, folded; float tallest_printed, printed_height; std::string gcode; }; + +static SparseRunResult slice_sparse_run(const DynamicPrintConfig &config) +{ + Print print; + Model model; + init_print({ cube(10) }, print, model, config); + print.apply(model, config); + print.process(); + REQUIRE(print.is_step_done(psWipeTower)); + + SparseRunResult r{}; + for (const std::vector<WipeTower::ToolChangeResult> &layer : print.wipe_tower_data().tool_changes) { + if (layer.empty()) + continue; + ++r.planned; + if (wipe_tower_layer_is_sparse(layer)) + ++r.sparse; + if (wipe_tower_layer_is_combined_away(layer)) { + ++r.folded; + } else { + r.tallest_printed = std::max(r.tallest_printed, layer.front().layer_height); + r.printed_height += layer.front().layer_height; + } + } + r.gcode = Slic3r::Test::gcode(print); + return r; +} + +// How often the G-code declares `height` in the tag this printer's processor reads. The dialect is a +// global the exporter sets from the printer, so this is only correct after a slice - the point below. +static size_t count_height_tags(const std::string &gcode, const char *height) +{ + const std::string tag = ";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Height) + height + "\n"; + size_t n = 0; + for (size_t p = gcode.find(tag); p != std::string::npos; p = gcode.find(tag, p + 1)) + ++n; + return n; +} + +TEST_CASE("Combining sparse layers folds a run into whole layers the nozzle can lay down", "[WipeTower]") +{ + // 0.1 mm layers under a 0.32 mm cap: three fit (0.3), a fourth does not, so a run prints once + // every three layers at 0.3 mm. + const SparseRunResult plain = slice_sparse_run(sparse_run_config(0.1, "0.32", false)); + const SparseRunResult combined = slice_sparse_run(sparse_run_config(0.1, "0.32", true)); + + REQUIRE(plain.planned == combined.planned); // the plan still has one layer per object layer + REQUIRE(plain.sparse > 10); + CHECK(plain.folded == 0); + CHECK_THAT(plain.tallest_printed, Catch::Matchers::WithinAbs(0.1f, 1e-4f)); + + CHECK(combined.folded > 0); + CHECK_THAT(combined.tallest_printed, Catch::Matchers::WithinAbs(0.3f, 1e-4f)); + // Two of every three sparse layers fold away, leaving the toolchange layers untouched. + CHECK(combined.folded <= plain.sparse); + CHECK(combined.folded >= plain.sparse / 2); + // What folds away comes back as height on the layer that prints the run: no gap, nothing twice. + CHECK_THAT(combined.printed_height, Catch::Matchers::WithinAbs(plain.printed_height, 1e-3f)); +} + +TEST_CASE("A run too thin to reach the nozzle's layer height is left alone", "[WipeTower]") +{ + // Only whole layers merge, so two 0.2 mm layers (0.4) do not fit a 0.32 mm maximum and the tower + // prints as if the option were off. This is the common 0.4 nozzle case; the tooltip says so. + const SparseRunResult plain = slice_sparse_run(sparse_run_config(0.2, "0.32", false)); + const SparseRunResult combined = slice_sparse_run(sparse_run_config(0.2, "0.32", true)); + + REQUIRE(plain.sparse > 10); + CHECK(combined.folded == 0); + CHECK(combined.planned == plain.planned); + CHECK_THAT(combined.tallest_printed, Catch::Matchers::WithinAbs(0.2f, 1e-4f)); +} + +TEST_CASE("A merged tower layer declares its own height to the G-code processor", "[WipeTower]") +{ + // Each writer declares a height in a hardcoded tag dialect while the processor reads only its + // printer's, so one of them is always dropped. A merged layer is the first time that shows, as a + // thick layer drawn and costed as a thin one. 0.2 mm layers under a 0.42 mm maximum merge in pairs. + const SparseRunResult plain = slice_sparse_run(sparse_run_config(0.2, "0.42", false)); + const SparseRunResult combined = slice_sparse_run(sparse_run_config(0.2, "0.42", true)); + + REQUIRE(combined.folded > 0); + CHECK_THAT(combined.tallest_printed, Catch::Matchers::WithinAbs(0.4f, 1e-4f)); + // Every layer that prints a merged run has to say so, and nothing may say so without the option. + CHECK(count_height_tags(combined.gcode, "0.4") - count_height_tags(plain.gcode, "0.4") == combined.folded); +} + +TEST_CASE("A tower printed without a tool change is still validated against the bed", "[WipeTower]") +{ + // Wrapping detection prints a tower on a plate that purges one filament. Neither the old + // estimate (which read the wall type and smooth timelapse) nor the old containment gate (the + // filament count or smooth timelapse) knew about it, so between them that tower was never + // checked against the bed. + Print print; + Model model; + DynamicPrintConfig config = tower_estimate_config("rectangle", 1); + // Relative E without a per-layer G92 is rejected before the tower is ever looked at, and + // has_wipe_tower() wants a real exclusion polygon before it honours wrapping detection. + config.set_deserialize_strict({ { "enable_wrapping_detection", "1" }, + { "wrapping_exclude_area", "180x180,190x180,190x190,180x190" }, + { "wipe_tower_x", "500" }, { "wipe_tower_y", "500" }, { "use_relative_e_distances", "0" } }); + + init_print({ cube(20) }, print, model, config); + REQUIRE(print.extruders(true).size() == 1); + REQUIRE(print.has_wipe_tower()); + CHECK(print.wipe_tower_data(1).depth > 0.f); + CHECK_THAT(print.validate().string, Catch::Matchers::ContainsSubstring("printable area")); +} diff --git a/tests/libslic3r/CMakeLists.txt b/tests/libslic3r/CMakeLists.txt index 5d3e301ea7..185dce37da 100644 --- a/tests/libslic3r/CMakeLists.txt +++ b/tests/libslic3r/CMakeLists.txt @@ -19,6 +19,7 @@ add_executable(${_TEST_NAME}_tests test_preset_setting_id.cpp test_preset_diff.cpp test_vendor_cache.cpp + test_preset_options.cpp test_elephant_foot_compensation.cpp test_fill_corner_smoothing.cpp test_filament_mixer.cpp @@ -29,16 +30,21 @@ add_executable(${_TEST_NAME}_tests test_polygon.cpp test_mutable_polygon.cpp test_mutable_priority_queue.cpp + test_minimum_spanning_tree.cpp test_nozzle_volume_type.cpp test_step.cpp test_stl.cpp test_triangle_selector.cpp test_meshboolean.cpp test_marchingsquares.cpp + test_lay_on_face.cpp test_model.cpp test_utils.cpp test_timeutils.cpp test_voronoi.cpp + test_wipe_tower_estimate.cpp + test_wipe_tower.cpp + test_wipe_path.cpp test_optimizers.cpp test_ordering_strategies.cpp # test_png_io.cpp @@ -46,6 +52,17 @@ add_executable(${_TEST_NAME}_tests ../libnest2d/printer_parts.cpp ) +if (SLIC3R_CAD) + target_sources(${_TEST_NAME}_tests PRIVATE + test_caddocument.cpp + test_sketchconstraints.cpp + test_sketchedit.cpp + test_sketchprofile.cpp + test_sketchimport.cpp + test_sketchinference.cpp + test_slvs_constraints.cpp) +endif () + if (TARGET OpenVDB::openvdb) target_sources(${_TEST_NAME}_tests PRIVATE test_hollowing.cpp) endif() diff --git a/tests/libslic3r/test_3mf.cpp b/tests/libslic3r/test_3mf.cpp index 4c0a09cf3f..02d392140b 100644 --- a/tests/libslic3r/test_3mf.cpp +++ b/tests/libslic3r/test_3mf.cpp @@ -1,18 +1,24 @@ #include "libslic3r/Model.hpp" -#include "libslic3r/TriangleSelector.hpp" #include "libslic3r/Format/3mf.hpp" #include "libslic3r/Format/bbs_3mf.hpp" #include "libslic3r/Format/STL.hpp" +#include "libslic3r/miniz_extension.hpp" +#include "libslic3r/Zipper.hpp" #include "libslic3r/PrintConfig.hpp" #include "libslic3r/Semver.hpp" #include "libslic3r/Preset.hpp" #include "libslic3r/MultiNozzleUtils.hpp" #include "libslic3r/ProjectTask.hpp" +#include "libslic3r/PublishSettings.hpp" #include "test_utils.hpp" +#include <nlohmann/json.hpp> + #include <boost/filesystem/operations.hpp> +#include <boost/algorithm/string/predicate.hpp> +#include <algorithm> #include <catch2/catch_tostring.hpp> #include <Eigen/Core> @@ -141,6 +147,236 @@ SCENARIO("Export+Import geometry to/from 3mf file cycle", "[3mf]") { } } +// The recipe is an opaque binary blob (CadDocument::serialize_recipe()), so the 3mf backend has +// to carry it byte-for-byte — no XML/text mangling, embedded NULs intact. +static std::string make_cad_recipe() +{ + // Built from an explicit length, not append(const char*), which would stop at the first + // embedded NUL — the one thing this blob exists to prove survives the archive. + static const char blob[] = "\x01" "RECIPE" "\0" "\xff\xfe\x00\x10" "cad-features-blob"; + return std::string(blob, sizeof(blob) - 1); +} + +static const std::string CAD_RECIPE_ENTRY = "Metadata/orca_cad.bin"; +static const std::string LEGACY_CAD_RECIPE_ENTRY = "Metadata/SnapOrca_cad.bin"; + +// Pulls one named entry out of a 3mf archive; false when it is absent. +static bool read_cad_recipe_entry(const std::string& path, std::string& out, + const std::string& entry = CAD_RECIPE_ENTRY) +{ + mz_zip_archive zip; + mz_zip_zero_struct(&zip); + REQUIRE(open_zip_reader(&zip, path)); + bool found = false; + mz_uint n = mz_zip_reader_get_num_files(&zip); + for (mz_uint i = 0; i < n; ++i) { + mz_zip_archive_file_stat st; + if (!mz_zip_reader_file_stat(&zip, i, &st)) continue; + std::string name(st.m_filename); + std::replace(name.begin(), name.end(), '\\', '/'); + if (boost::algorithm::iequals(name, entry)) { + out.resize(st.m_uncomp_size); + found = mz_zip_reader_extract_to_mem(&zip, i, out.data(), out.size(), 0) != 0; + break; + } + } + close_zip_reader(&zip); + return found; +} + +// Rewrites the archive at `path` with the recipe entry back under the name it had before the +// rename, which is what every project saved by an earlier build looks like on disk. Generated +// rather than checked in because a whole project archive is not frozen evidence the way a bare +// recipe blob is -- it has to be whatever today's exporter writes, with only the name aged. +// miniz cannot rename in place and open_zip_writer truncates, so the entries are held across +// the switch. +static void rename_cad_recipe_entry_to_legacy(const std::string& path) +{ + std::vector<std::pair<std::string, std::string>> entries; + bool renamed = false; + { + mz_zip_archive zip; + mz_zip_zero_struct(&zip); + REQUIRE(open_zip_reader(&zip, path)); + mz_uint n = mz_zip_reader_get_num_files(&zip); + for (mz_uint i = 0; i < n; ++i) { + mz_zip_archive_file_stat st; + REQUIRE(mz_zip_reader_file_stat(&zip, i, &st)); + if (st.m_is_directory) continue; + std::string name(st.m_filename); + std::replace(name.begin(), name.end(), '\\', '/'); + std::string data((size_t) st.m_uncomp_size, '\0'); + if (st.m_uncomp_size > 0) + REQUIRE(mz_zip_reader_extract_to_mem(&zip, i, data.data(), data.size(), 0)); + if (boost::algorithm::iequals(name, CAD_RECIPE_ENTRY)) { + name = LEGACY_CAD_RECIPE_ENTRY; + renamed = true; + } + entries.emplace_back(std::move(name), std::move(data)); + } + close_zip_reader(&zip); + } + // Without this the scenario would degrade silently into re-testing the new name if the + // exporter's constant ever moved again: every load below would still pass. + REQUIRE(renamed); + + Zipper out(path); + for (const auto& e : entries) + out.add_entry(e.first, e.second.data(), e.second.size()); + out.finalize(); +} + +// The recipe lives only in the BBS-native backend, because that is the only one that runs: +// store_bbs_3mf is the sole exporter the app calls, and 3mf.cpp's load_3mf is reached only for +// files fingerprinted as PrusaSlicer's, which never carry a recipe. This locks in both halves: +// the archive entry is at the exact path the importer looks for, and the recipe comes back +// through the real importer. +SCENARIO("CAD recipe is embedded in the BBS 3mf archive", "[3mf][CAD]") { + GIVEN("a model carrying a binary cad_recipe") { + Model model; + std::string src = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src.c_str(), &model)); + model.add_default_instances(); + + // store_bbs_3mf stages its metadata through the model's backup path; point it at a + // writable temp dir, as the sibling BBS scenarios do. The process-global + // set_temporary_dir() would leak into every test that ran afterwards. + ScopedTemporaryDir backup_dir("orca_cad"); + model.set_backup_path(backup_dir.string()); + + const std::string recipe = make_cad_recipe(); + model.cad_recipe = recipe; + + WHEN("saved through the BBS backend (the format the GUI uses)") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig cfg; + StoreParams sp; + sp.path = test_file.c_str(); + sp.model = &model; + sp.config = &cfg; + sp.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(sp)); + + THEN("the archive entry is present byte-for-byte") { + std::string got; + REQUIRE(read_cad_recipe_entry(test_file, got)); + REQUIRE(got.size() == recipe.size()); + REQUIRE(got == recipe); + } + + THEN("the importer restores it onto the loaded model") { + Model dst_model; + ScopedTemporaryDir dst_backup_dir("orca_cad_dst"); + dst_model.set_backup_path(dst_backup_dir.string()); + + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + REQUIRE(load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig)); + REQUIRE(dst_model.cad_recipe.size() == recipe.size()); + REQUIRE(dst_model.cad_recipe == recipe); + + release_PlateData_list(dst_plates); + } + } + + WHEN("the same model is saved with no recipe") { + model.cad_recipe.clear(); + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig cfg; + StoreParams sp; + sp.path = test_file.c_str(); + sp.model = &model; + sp.config = &cfg; + sp.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(sp)); + + THEN("no entry is written at all") { + std::string got; + REQUIRE_FALSE(read_cad_recipe_entry(test_file, got)); + } + } + } +} + +// The recipe entry was renamed from Metadata/SnapOrca_cad.bin to Metadata/orca_cad.bin. Nothing +// in the blob marks that move, so a reader that knows only the new name loads a project written +// before it with an empty cad_recipe and no error at all — a feature tree gone with no symptom +// but an empty Design tab. The importer must still accept the old name; the exporter may never +// write it. +SCENARIO("a project saved under the pre-rename recipe name still loads", "[3mf][CAD]") { + GIVEN("a project whose recipe entry carries the old name") { + Model model; + std::string src = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src.c_str(), &model)); + model.add_default_instances(); + const std::string recipe = make_cad_recipe(); + model.cad_recipe = recipe; + + WHEN("it was written by the BBS backend") { + ScopedTemporaryDir backup_dir("orca_cad_legacy"); + model.set_backup_path(backup_dir.string()); + + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + DynamicPrintConfig cfg; + StoreParams sp; + sp.path = test_file.c_str(); + sp.model = &model; + sp.config = &cfg; + sp.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(sp)); + rename_cad_recipe_entry_to_legacy(test_file); + + // Catch2 replays the enclosing sections per THEN, so one load here serves both. + Model dst_model; + ScopedTemporaryDir dst_backup_dir("orca_cad_legacy_dst"); + dst_model.set_backup_path(dst_backup_dir.string()); + + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + REQUIRE(load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig)); + release_PlateData_list(dst_plates); + + THEN("the recipe still comes back byte-for-byte") { + REQUIRE(dst_model.cad_recipe == recipe); + } + + THEN("re-saving migrates it to the new name and leaves the old one behind") { + ScopedTemporaryFile again(".3mf"); + const std::string resaved = again.string(); + DynamicPrintConfig cfg2; + StoreParams sp2; + sp2.path = resaved.c_str(); + sp2.model = &dst_model; + sp2.config = &cfg2; + sp2.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(sp2)); + + std::string got; + REQUIRE(read_cad_recipe_entry(resaved, got)); + REQUIRE(got == recipe); + REQUIRE_FALSE(read_cad_recipe_entry(resaved, got, LEGACY_CAD_RECIPE_ENTRY)); + } + } + } +} + // .3mf multi-nozzle round-trip. // Locks the load/save handling for the H2C multi-nozzle plate metadata: // * filament_volume_maps -> plate config "filament_volume_map" (with the >1 -> 0 clamp) @@ -499,7 +735,6 @@ SCENARIO("Nozzle-group metadata .3mf round-trip", "[3mf][MultiNozzle]") { } } - // A mixed-color filament occupies an ordinary filament slot, and painting with it stores an // ordinary extruder state: a project saved by BambuStudio encodes filament 5 of a 5-slot setup // as paint state 5, with the mix described by the parallel filament_mixed_* project arrays. @@ -590,3 +825,639 @@ SCENARIO("Mixed-color filament setup and painting round-trip through a .3mf", "[ } } } +// Locks the serialization contract of the "Publish" metadata: the orca_published flag and the +// orca_published_keys JSON array in model.model_info->metadata_items must survive a store_bbs_3mf -> +// load_bbs_3mf round-trip unchanged. (The full preset-preservation behavior is exercised +// headlessly in test_preset_bundle_loading.cpp.) +SCENARIO("Published 3MF round-trips the published flag and published_keys metadata", "[3mf]") { + GIVEN("a model carrying published metadata") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = "1"; + model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] = R"(["layer_height","wall_thickness"])"; + + // store_bbs_3mf stages project_settings.config through the model's backup path; point + // it at a writable temp dir (the default lives under a read-only root in CI). + ScopedTemporaryDir backup_dir("orca_pub"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored to and reloaded from a .3mf") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("the published metadata round-trips unchanged") { + REQUIRE(loaded); + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_TAG] == "1"); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] == R"(["layer_height","wall_thickness"])"); + + // The orca_published_keys value is a JSON array of setting keys; it must parse back to + // the same keys that were selected. + nlohmann::json keys = nlohmann::json::parse(dst_model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG]); + REQUIRE(keys.is_array()); + REQUIRE(keys.size() == 2); + REQUIRE(keys[0] == "layer_height"); + REQUIRE(keys[1] == "wall_thickness"); + } + release_PlateData_list(dst_plates); + } + } +} + +// A normal 3MF (no Publish metadata) must load identically: the loader must not fabricate a +// "orca_published" flag or orca_published_keys for files that never carried them. +SCENARIO("Legacy 3MF without published metadata loads unchanged", "[3mf]") { + GIVEN("a model without any published metadata") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + + ScopedTemporaryDir backup_dir("orca_legacy"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored to and reloaded from a .3mf") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("no published key is fabricated") { + REQUIRE(loaded); + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items.count(ORCA_PUBLISHED_TAG) == 0); + REQUIRE(dst_model.model_info->metadata_items.count(ORCA_PUBLISHED_KEYS_TAG) == 0); + } + release_PlateData_list(dst_plates); + } + } +} + +// Locks the serialization contract of the orca_published_material_keys metadata: the per-entry JSON +// must survive a store_bbs_3mf -> load_bbs_3mf round-trip verbatim, exactly like orca_published_keys. +SCENARIO("Published 3MF round-trips the published_material_keys metadata", "[3mf]") { + GIVEN("a model carrying published material keys metadata") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + + const std::string material_keys_json = + R"([{"material":{"filament_type":"PLA","filament_vendor":"Generic","filament_id":"GFL99"},"slot":0,"keys":["filament_retraction_length","filament_z_hop"]}])"; + + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] = material_keys_json; + + ScopedTemporaryDir backup_dir("orca_pub_mat"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored to and reloaded from a .3mf") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("the published material keys metadata round-trips unchanged") { + REQUIRE(loaded); + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] == material_keys_json); + + // The value must parse back to one material entry carrying the nested identity + // object, the author slot ordinal and the key list. + nlohmann::json entries = nlohmann::json::parse(material_keys_json); + REQUIRE(entries.is_array()); + REQUIRE(entries.size() == 1); + REQUIRE(entries[0]["material"]["filament_type"] == "PLA"); + REQUIRE(entries[0]["material"]["filament_vendor"] == "Generic"); + REQUIRE(entries[0]["material"]["filament_id"] == "GFL99"); + REQUIRE(entries[0]["slot"] == 0); + REQUIRE(entries[0]["keys"].is_array()); + REQUIRE(entries[0]["keys"].size() == 2); + REQUIRE(entries[0]["keys"][0] == "filament_retraction_length"); + } + release_PlateData_list(dst_plates); + } + } +} + +SCENARIO("Minimal published 3MF omits project config, preset dumps and slicer tags", "[3mf]") { + GIVEN("a multi-instance model carrying published metadata and a published_config payload") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + // A second instance: tag-less third-party files get their multi-instance objects split, + // published files must not (the loader recognizes them by their metadata). + model.objects.front()->add_instance(); + + DynamicPrintConfig full_cfg = DynamicPrintConfig::full_print_config(); + full_cfg.set_key_value("layer_height", new ConfigOptionFloat(0.24)); + full_cfg.set_key_value("retraction_length", new ConfigOptionFloats({ 1.2 })); + + const std::vector<std::string> published_keys = { "layer_height", "retraction_length" }; + const std::vector<PublishedMaterialEntry> material_keys = { + { "PLA", "Generic", "GFL99", "", "Generic PLA", 0, { "filament_retraction_length" } } + }; + + // The payload builder keeps the published and identity keys and drops everything else. + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, published_keys, material_keys); + REQUIRE(filtered_cfg.option("layer_height") != nullptr); + REQUIRE(filtered_cfg.option("retraction_length") != nullptr); + REQUIRE(filtered_cfg.option("filament_colour") != nullptr); + REQUIRE(filtered_cfg.option("filament_type") != nullptr); + REQUIRE(filtered_cfg.option("wipe_tower_x") != nullptr); + REQUIRE(filtered_cfg.option("sparse_infill_density") == nullptr); + REQUIRE(filtered_cfg.option("machine_start_gcode") == nullptr); + + // Serialize the payload exactly like export_published_3mf does. + std::string payload; + for (const std::string &key : filtered_cfg.keys()) + payload += key + " = " + filtered_cfg.opt_serialize(key) + "\n"; + + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = "1"; + model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] = R"(["layer_height","retraction_length"])"; + model.model_info->metadata_items[ORCA_PUBLISHED_CONFIG_TAG] = payload; + + ScopedTemporaryDir backup_dir("orca_min_pub"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored using SaveStrategy::MinimalPublished and reloaded") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + // Create a fake project preset to verify MinimalPublished omits it. + Preset preset(Preset::TYPE_PRINT, "TestPrintPreset"); + preset.config = full_cfg; + std::vector<Preset*> project_presets = { &preset }; + + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &filtered_cfg; + store_params.project_presets = project_presets; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence | SaveStrategy::MinimalPublished; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + ScopedTemporaryDir loaded_backup_dir("orca_min_pub_loaded"); + dst_model.set_backup_path(loaded_backup_dir.string()); + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> loaded_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &loaded_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("the 3MF loads without project config or embedded presets") { + REQUIRE(loaded); + REQUIRE(dst_config.empty()); + REQUIRE(loaded_presets.empty()); + } + THEN("the file carries no slicer tags and classifies as a generic 3MF") { + REQUIRE_FALSE(is_bbl_3mf); + REQUIRE_FALSE(is_orca_3mf); + // No Application / OrcaSlicer tag: old receivers import the geometry silently + // instead of showing a baked-in, wrong "old version" popup. + REQUIRE_FALSE(file_version.valid()); + } + THEN("the geometry keeps BBS-grade handling: instances are not split") { + REQUIRE(dst_model.objects.size() == 1); + REQUIRE(dst_model.objects.front()->instances.size() == 2); + } + THEN("the published metadata and payload round-trip unchanged") { + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_TAG] == "1"); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] == R"(["layer_height","retraction_length"])"); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_CONFIG_TAG] == payload); + } + THEN("the payload parses back to the published values") { + DynamicPrintConfig parsed_payload; + parsed_payload.load_from_ini_string(dst_model.model_info->metadata_items[ORCA_PUBLISHED_CONFIG_TAG], ForwardCompatibilitySubstitutionRule::Enable); + REQUIRE(parsed_payload.option("layer_height") != nullptr); + REQUIRE_THAT(parsed_payload.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.24, 1e-6)); + REQUIRE(parsed_payload.option("retraction_length") != nullptr); + REQUIRE_THAT(parsed_payload.opt<ConfigOptionFloats>("retraction_length")->get_at(0), Catch::Matchers::WithinAbs(1.2, 1e-6)); + } + release_PlateData_list(dst_plates); + } + } +} + +// A minimal published 3MF must not leak the slicer tags of the source project. The exporter seeds +// metadata_item_map from the input file's metadata_items, so re-publishing a project opened from a +// regular Orca/BBS 3MF (the typical remix flow) must strip the Application / OrcaSlicer tags it +// came with, otherwise old receivers route onto the baked-in "old version" popup. +SCENARIO("MinimalPublished strips slicer tags carried by the source project", "[3mf]") { + GIVEN("a model loaded from a regular Orca/BBS 3MF whose metadata carries the slicer tags") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = "1"; + model.model_info->metadata_items["Application"] = "BambuStudio-2.0.0"; + model.model_info->metadata_items["OrcaSlicer"] = "2.1.0"; + + ScopedTemporaryDir backup_dir("orca_strip_tags"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored using SaveStrategy::MinimalPublished and reloaded") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence | SaveStrategy::MinimalPublished; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> loaded_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &loaded_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("the source slicer tags are stripped, not carried through") { + REQUIRE(loaded); + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items.count("Application") == 0); + REQUIRE(dst_model.model_info->metadata_items.count("OrcaSlicer") == 0); + // The published marker itself must survive. + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_TAG] == "1"); + } + THEN("the file classifies as a generic 3MF without a version popup") { + REQUIRE_FALSE(is_bbl_3mf); + REQUIRE_FALSE(is_orca_3mf); + REQUIRE_FALSE(file_version.valid()); + } + release_PlateData_list(dst_plates); + } + } +} + +// An entry masks the non-published slots to their defaults so publishing slot 1 never leaks slot +// 0's value into the file. Both a full entry (the whole-slot key list) and a partial entry (a +// per-slot key) go through the same masking path in filter_published_config (keys and full_keys +// are filtered identically), so the two forms are exercised together. +SCENARIO("Published entries mask the other slots to their defaults", "[3mf]") { + const bool full = GENERATE(true, false); + GIVEN("a full print configuration with two filament slots") { + DynamicPrintConfig full_cfg = DynamicPrintConfig::full_print_config(); + full_cfg.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + full_cfg.opt<ConfigOptionStrings>("filament_colour")->values = { "#111111", "#222222" }; + // filament_flow_ratio carries a non-empty option default (1.0) of the same type, so the + // mask can restore it on the non-published slot. + full_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio", true)->values = { 1.02, 0.98 }; + + WHEN("filtering with a published entry for slot 1") { + PublishedMaterialEntry entry; + entry.slot = 1; + if (full) { + entry.full = true; + entry.full_keys = { "filament_flow_ratio" }; + } else { + entry.keys = { "filament_flow_ratio" }; + } + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, {}, { entry }); + + THEN("the selected key is present with the author's slot value") { + REQUIRE(filtered_cfg.option("filament_flow_ratio") != nullptr); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio")->values[1], Catch::Matchers::WithinAbs(0.98, 1e-6)); + } + THEN("the non-published slot is masked to its default") { + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio")->values[0], Catch::Matchers::WithinAbs(1.0, 1e-6)); + } + THEN("the identity keys stay present") { + REQUIRE(filtered_cfg.option("filament_colour") != nullptr); + } + } + } +} + +// A key needing slot masking that cannot be masked (no registered option default of the same +// type) is dropped from the payload entirely instead of shipping the author's whole vector. +SCENARIO("Unmaskable keys are dropped from the published payload instead of leaking", "[3mf]") { + GIVEN("a config carrying a synthetic def-less vector key and a maskable one") { + DynamicPrintConfig full_cfg = DynamicPrintConfig::full_print_config(); + full_cfg.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + full_cfg.opt<ConfigOptionStrings>("filament_colour")->values = { "#111111", "#222222" }; + // Not a PrintConfig key: print_config_def has no default to mask with. + full_cfg.set_key_value("orca_synthetic_setting", new ConfigOptionFloats({ 9.9, 8.8 })); + full_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio", true)->values = { 1.02, 0.98 }; + + PublishedMaterialEntry partial_entry; + partial_entry.slot = 1; + partial_entry.keys = { "orca_synthetic_setting", "filament_flow_ratio" }; + + WHEN("filtering with a partial entry for slot 1") { + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, {}, { partial_entry }); + + THEN("the unmaskable synthetic key is not published") { + REQUIRE(filtered_cfg.option("orca_synthetic_setting") == nullptr); + } + THEN("the maskable key is present, author slot kept, other slot masked") { + REQUIRE(filtered_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio") != nullptr); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio")->values[1], Catch::Matchers::WithinAbs(0.98, 1e-6)); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloatsNullable>("filament_flow_ratio")->values[0], Catch::Matchers::WithinAbs(1.0, 1e-6)); + } + THEN("the identity keys stay present") { + REQUIRE(filtered_cfg.option("filament_colour") != nullptr); + } + } + } +} + +// A per-extruder printer key carrying a "#N" variant (e.g. retraction_length#1) must not serialize +// every extruder's value: the base is masked to the author's extruder and the other slots are +// restored to their option default, matching the material-side slot-masking invariant. A bare +// printer base key (no variant) keeps whole-vector serialization. +SCENARIO("Published per-extruder printer keys mask the other extruders to their defaults", "[3mf]") { + GIVEN("a full print configuration with three extruders carrying per-extruder retraction values") { + DynamicPrintConfig full_cfg = DynamicPrintConfig::full_print_config(); + // Non-default values on the un-selected slots, so a leak is distinguishable from the mask + // restoring the option default (retraction_length defaults to {0.8}). + full_cfg.opt<ConfigOptionFloats>("retraction_length")->values = { 3.0, 1.2, 4.0 }; + + WHEN("filtering with only extruder 1's retraction_length checked") { + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, { "retraction_length#1" }, {}); + + THEN("the author's extruder value survives") { + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[1], Catch::Matchers::WithinAbs(1.2, 1e-6)); + } + THEN("the other extruders are masked to their default") { + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[0], Catch::Matchers::WithinAbs(0.8, 1e-6)); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[2], Catch::Matchers::WithinAbs(0.8, 1e-6)); + } + } + WHEN("filtering the bare base key without a '#N' variant") { + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, { "retraction_length" }, {}); + + THEN("the whole vector is serialized unmasked") { + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[0], Catch::Matchers::WithinAbs(3.0, 1e-6)); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[1], Catch::Matchers::WithinAbs(1.2, 1e-6)); + REQUIRE_THAT(filtered_cfg.opt<ConfigOptionFloats>("retraction_length")->values[2], Catch::Matchers::WithinAbs(4.0, 1e-6)); + } + } + } +} + +// The extended per-entry fields (full dump list, published type and colour) travel inside the +// published_material_keys metadata and round-trip unchanged. +SCENARIO("Published 3MF round-trips the extended material metadata", "[3mf]") { + GIVEN("a model carrying extended published material keys metadata") { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + + const std::string material_keys_json = + R"([{"material":{"filament_type":"PLA","filament_vendor":"Generic","filament_id":"GFL99","setting_id":"RFs9eCKYOMUSmvZf","name":"Generic PLA Matte @System"},"slot":1,"keys":[],"full":true,"full_keys":["filament_retraction_length","filament_colour"],"publish_type":true,"type":"PLA","publish_color":false,"color":""}])"; + + model.model_info = std::make_shared<ModelInfo>(); + model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] = material_keys_json; + + ScopedTemporaryDir backup_dir("orca_pub_mat2"); + model.set_backup_path(backup_dir.string()); + + WHEN("stored to and reloaded from a .3mf") { + ScopedTemporaryFile temp(".3mf"); + const std::string test_file = temp.string(); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = test_file.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(store_params)); + + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + bool loaded = load_bbs_3mf(test_file.c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig); + THEN("the extended material metadata round-trips unchanged") { + REQUIRE(loaded); + REQUIRE(dst_model.model_info != nullptr); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_MATERIAL_TAG] == material_keys_json); + + // The value must parse back with every extended field intact. + nlohmann::json entries = nlohmann::json::parse(material_keys_json); + REQUIRE(entries.is_array()); + REQUIRE(entries.size() == 1); + REQUIRE(entries[0]["full"].get<bool>() == true); + REQUIRE(entries[0]["full_keys"].is_array()); + REQUIRE(entries[0]["full_keys"].size() == 2); + REQUIRE(entries[0]["publish_type"].get<bool>() == true); + REQUIRE(entries[0]["type"] == "PLA"); + REQUIRE(entries[0]["publish_color"].get<bool>() == false); + } + release_PlateData_list(dst_plates); + } + } +} + +// A published mixed filament serializes its whole definition (components, ratios, gradient) +// masked to the author's slot: the mix slot's values survive, the non-published slots reset to +// their defaults, so a partial publish never leaks another slot's mix data. +SCENARIO("Published mixed-filament keys are masked to the author's slot", "[3mf]") { + GIVEN("a full print configuration with three slots, one of them mixed") { + DynamicPrintConfig full_cfg = DynamicPrintConfig::full_print_config(); + full_cfg.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75 }; + full_cfg.opt<ConfigOptionStrings>("filament_colour")->values = { "#111111", "#222222", "#333333" }; + full_cfg.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 1 }; + full_cfg.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "1,2" }; + full_cfg.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "0.6,0.4" }; + full_cfg.opt<ConfigOptionBools>("filament_mixed_gradient")->values = { 0, 0, 1 }; + full_cfg.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values = { "", "", "0.9,0.1" }; + full_cfg.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values = { "", "", "0,0.1|1,0.9" }; + full_cfg.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = { 0, 0, 1 }; + + PublishedMaterialEntry mix_entry; + mix_entry.slot = 2; + mix_entry.keys = { + "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios", + "filament_mixed_gradient", "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" + }; + + WHEN("filtering with a mixed entry for slot 2") { + DynamicPrintConfig filtered_cfg = filter_published_config(full_cfg, {}, { mix_entry }); + + THEN("the author's mixed slot keeps its definition") { + REQUIRE(filtered_cfg.option("filament_is_mixed") != nullptr); + REQUIRE(filtered_cfg.opt<ConfigOptionBools>("filament_is_mixed")->values == std::vector<unsigned char>{ 0, 0, 1 }); + const auto& components = filtered_cfg.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 3); + CHECK(components[2] == "1,2"); + CHECK(filtered_cfg.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] == "0.6,0.4"); + CHECK(filtered_cfg.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values[2] == "0,0.1|1,0.9"); + CHECK(filtered_cfg.opt<ConfigOptionBools>("filament_mixed_gradient")->values[2]); + CHECK(filtered_cfg.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values[2]); + } + THEN("the non-published slots are masked to their defaults") { + CHECK(filtered_cfg.opt<ConfigOptionStrings>("filament_mixed_components")->values[0] == ""); + CHECK(filtered_cfg.opt<ConfigOptionStrings>("filament_mixed_components")->values[1] == ""); + CHECK(filtered_cfg.opt<ConfigOptionBools>("filament_is_mixed")->values[0] == 0); + CHECK(filtered_cfg.opt<ConfigOptionBools>("filament_is_mixed")->values[1] == 0); + } + THEN("the identity keys stay present") { + REQUIRE(filtered_cfg.option("filament_colour") != nullptr); + } + } + } +} + +// The published flag is gated on the exact string "1": any other serialized value means "not +// published", so a receiver never treats a file as published on a loose truthiness check. +TEST_CASE("is_published_3mf_flag accepts only the literal \"1\"", "[3mf]") { + CHECK(is_published_3mf_flag("1")); + CHECK_FALSE(is_published_3mf_flag("0")); + CHECK_FALSE(is_published_3mf_flag("false")); + CHECK_FALSE(is_published_3mf_flag("true")); + CHECK_FALSE(is_published_3mf_flag("")); + CHECK_FALSE(is_published_3mf_flag("YES")); +} + +// bbs_3mf_is_published is the lightweight metadata probe used to decide whether a file was +// produced by the publish feature (GUI "recently published" tracking). It must return true only +// for a file whose metadata carries the flag set to "1", and false for legacy files and for a +// file whose flag is present but not "1" (which loads as a normal, non-published 3MF). +SCENARIO("bbs_3mf_is_published detects only genuinely published 3MFs", "[3mf]") { + auto store_model = [](const std::string &path, const std::string &flag_value, const std::string &keys_value) { + Model model; + std::string src_file = std::string(TEST_DATA_DIR) + "/test_3mf/Prusa.stl"; + REQUIRE(load_stl(src_file.c_str(), &model)); + model.add_default_instances(); + model.model_info = std::make_shared<ModelInfo>(); + // An empty flag_value means "don't write the flag at all" (a legacy file). + if (!flag_value.empty()) + model.model_info->metadata_items[ORCA_PUBLISHED_TAG] = flag_value; + model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] = keys_value; + ScopedTemporaryDir backup_dir("orca_is_pub"); + model.set_backup_path(backup_dir.string()); + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + StoreParams store_params; + store_params.path = path.c_str(); + store_params.model = &model; + store_params.config = &config; + store_params.strategy = SaveStrategy::Zip64 | SaveStrategy::Silence; + REQUIRE(store_bbs_3mf(store_params)); + }; + + GIVEN("a minimal published 3MF whose flag is \"1\"") { + ScopedTemporaryFile temp(".3mf"); + store_model(temp.string(), "1", R"(["layer_height"])"); + WHEN("probed by bbs_3mf_is_published") { + THEN("it is recognized as published") { + CHECK(bbs_3mf_is_published(temp.string())); + } + } + } + GIVEN("a legacy 3MF without any published flag") { + ScopedTemporaryFile temp(".3mf"); + store_model(temp.string(), "", R"(["layer_height"])"); + WHEN("probed by bbs_3mf_is_published") { + THEN("it is not recognized as published") { + CHECK_FALSE(bbs_3mf_is_published(temp.string())); + } + } + } + GIVEN("a 3MF carrying the flag set to \"0\"") { + ScopedTemporaryFile temp(".3mf"); + store_model(temp.string(), "0", R"(["layer_height"])"); + WHEN("probed and loaded") { + THEN("it is not recognized as published") { + CHECK_FALSE(bbs_3mf_is_published(temp.string())); + } + THEN("it loads as a normal, non-published 3MF") { + Model dst_model; + DynamicPrintConfig dst_config; + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Enable }; + PlateDataPtrs dst_plates; + std::vector<Preset*> project_presets; + bool is_bbl_3mf = false, is_orca_3mf = false; + Semver file_version; + REQUIRE(load_bbs_3mf(temp.string().c_str(), &dst_config, &ctxt, &dst_model, &dst_plates, + &project_presets, &is_bbl_3mf, &is_orca_3mf, &file_version, nullptr, + LoadStrategy::LoadModel | LoadStrategy::LoadConfig)); + REQUIRE(dst_model.model_info != nullptr); + // The key is present but not "1", so nothing treats the file as published; the + // stored keys still round-trip verbatim. + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_TAG] == "0"); + REQUIRE(dst_model.model_info->metadata_items[ORCA_PUBLISHED_KEYS_TAG] == R"(["layer_height"])"); + release_PlateData_list(dst_plates); + } + } + } +} + diff --git a/tests/libslic3r/test_appconfig.cpp b/tests/libslic3r/test_appconfig.cpp index 59f9d11808..d3811c9827 100644 --- a/tests/libslic3r/test_appconfig.cpp +++ b/tests/libslic3r/test_appconfig.cpp @@ -43,3 +43,41 @@ TEST_CASE("AppConfig network version helpers", "[AppConfig]") { REQUIRE(config.is_network_version_skipped("02.01.01.52")); } } + +TEST_CASE("AppConfig Speed Dial recent count defaults, clamps and parses", "[AppConfig]") { + AppConfig config; + + SECTION("unset falls back to the default") { + REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_DEFAULT); + } + + SECTION("zero disables recents") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "0"); + REQUIRE(config.get_speed_dial_recent_count() == 0); + } + + SECTION("a value in range is returned as-is") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "7"); + REQUIRE(config.get_speed_dial_recent_count() == 7); + } + + SECTION("the maximum is kept") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "10"); + REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_MAX); + } + + SECTION("values above the maximum clamp down") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "42"); + REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_MAX); + } + + SECTION("negative values clamp up to 0") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "-3"); + REQUIRE(config.get_speed_dial_recent_count() == 0); + } + + SECTION("garbage falls back to the default") { + config.set(SETTING_SPEED_DIAL_RECENT_COUNT, "abc"); + REQUIRE(config.get_speed_dial_recent_count() == SPEED_DIAL_RECENT_COUNT_DEFAULT); + } +} diff --git a/tests/libslic3r/test_arrange.cpp b/tests/libslic3r/test_arrange.cpp index a9fb51e352..3906cba8ba 100644 --- a/tests/libslic3r/test_arrange.cpp +++ b/tests/libslic3r/test_arrange.cpp @@ -4,6 +4,8 @@ #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/PrintConfig.hpp" using namespace Slic3r; using namespace Slic3r::arrangement; @@ -24,11 +26,13 @@ ArrangePolygon make_square(coord_t side) return ap; } -ArrangePolygons squares(int n, double side_mm) +ArrangePolygons squares(int n, double side_mm, double height_mm = 0.) { ArrangePolygons items; - for (int i = 0; i < n; ++i) + for (int i = 0; i < n; ++i) { items.emplace_back(make_square(scaled(side_mm))); + items.back().height = height_mm; + } return items; } @@ -82,6 +86,38 @@ void require_no_overlap(const ArrangePolygons &items) REQUIRE(disjoint(placed_shapes(items))); } +// The sequential-print floor is chosen by comparing object height against the nozzle, +// so the two are defined together and every expectation is derived from them. +constexpr double NOZZLE_HEIGHT_MM = 2.5; +constexpr double CLEARANCE_MM = 30.; +constexpr double NOZZLE_FLOOR_MM = MAX_OUTER_NOZZLE_DIAMETER / 2.; + +ArrangeParams seq_print_params(coord_t min_dist) +{ + ArrangeParams p = quiet_params(min_dist); + p.is_seq_print = true; + p.clearance_radius = float(CLEARANCE_MM); + p.nozzle_height = float(NOZZLE_HEIGHT_MM); + p.object_skirt_offset = 0.f; + return p; +} + +// update_selected_items_inflation reads the bed out of the config to cap inflation. +DynamicPrintConfig bed_config() +{ + DynamicPrintConfig c; + c.set_key_value("printable_area", new ConfigOptionPoints{{0, 0}, {200, 0}, {200, 200}, {0, 200}}); + return c; +} + +ArrangePolygons squares_of_heights(const std::vector<double> &heights_mm) +{ + ArrangePolygons items; + for (double height_mm : heights_mm) + items.push_back(squares(1, 20., height_mm).front()); + return items; +} + } // namespace // Prove the overlap check the other tests rely on actually detects overlap. @@ -222,3 +258,61 @@ TEST_CASE("Arrange aligns the pile to a custom center", "[Arrange]") REQUIRE(ap.bed_idx == 0); require_no_overlap(items); } + +TEST_CASE("Sequential print floors the object distance by object height", "[Arrange]") +{ + // The only place sequential-print clearance is enforced. The arrange menu offers + // no floor of its own, so a stored 0 has to be raised here or not at all. + struct Case + { + std::string description; + std::vector<double> heights; + double skirt_offset_mm; + double expected_floor_mm; + }; + + auto c = GENERATE(values<Case>({ + {"objects taller than the nozzle need the full clearance", {NOZZLE_HEIGHT_MM * 2, NOZZLE_HEIGHT_MM * 2}, 0., CLEARANCE_MM}, + {"an object exactly at the nozzle height counts as tall", {NOZZLE_HEIGHT_MM, NOZZLE_HEIGHT_MM}, 0., CLEARANCE_MM}, + {"one tall object among short ones is enough", {NOZZLE_HEIGHT_MM / 2, NOZZLE_HEIGHT_MM * 2}, 0., CLEARANCE_MM}, + {"objects the nozzle clears keep only the nozzle-width floor", {NOZZLE_HEIGHT_MM / 2, NOZZLE_HEIGHT_MM / 2}, 0., NOZZLE_FLOOR_MM}, + {"a wide skirt raises the floor for short objects", {NOZZLE_HEIGHT_MM / 2, NOZZLE_HEIGHT_MM / 2}, 3., 6.}, + })); + + DYNAMIC_SECTION(c.description) + { + ArrangePolygons items = squares_of_heights(c.heights); + DynamicPrintConfig cfg = bed_config(); + ArrangeParams p = seq_print_params(0); + p.object_skirt_offset = float(c.skirt_offset_mm); + + update_selected_items_inflation(items, &cfg, p); + + CHECK(p.min_obj_distance >= scaled(c.expected_floor_mm)); + CHECK(p.min_obj_distance <= scaled(c.expected_floor_mm + 0.01)); + // Half each, so a pair ends up a full min_obj_distance apart. + CHECK(items.front().inflation == p.min_obj_distance / 2); + } +} + +TEST_CASE("Sequential print keeps an object distance already above the floor", "[Arrange]") +{ + const coord_t stored = scaled(CLEARANCE_MM * 2); + ArrangePolygons items = squares_of_heights({NOZZLE_HEIGHT_MM * 2, NOZZLE_HEIGHT_MM * 2}); + DynamicPrintConfig cfg = bed_config(); + ArrangeParams p = seq_print_params(stored); + + update_selected_items_inflation(items, &cfg, p); + CHECK(p.min_obj_distance == stored); +} + +TEST_CASE("Layered printing does not floor the object distance", "[Arrange]") +{ + ArrangePolygons items = squares_of_heights({NOZZLE_HEIGHT_MM * 2, NOZZLE_HEIGHT_MM * 2}); + DynamicPrintConfig cfg = bed_config(); + ArrangeParams p = seq_print_params(0); + p.is_seq_print = false; + + update_selected_items_inflation(items, &cfg, p); + CHECK(p.min_obj_distance == 0); +} diff --git a/tests/libslic3r/test_caddocument.cpp b/tests/libslic3r/test_caddocument.cpp new file mode 100644 index 0000000000..d69ada09b6 --- /dev/null +++ b/tests/libslic3r/test_caddocument.cpp @@ -0,0 +1,8414 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) + +// Substring assertions, spelled so this file compiles UNCHANGED on both forks. +// Catch2 v2 (Snapmaker) spells it Matchers::Contains; v3 (orca_cad / mainline) spells it +// Matchers::ContainsSubstring and gives Contains an incompatible meaning — range-contains- +// ELEMENT — which fails to compile against a std::string rather than failing a test. +// Using find() sidesteps the rename entirely; INFO keeps the actual string in the report. +#define REQUIRE_CONTAINS(str, sub) \ + do { const std::string _actual = (str); INFO("actual: " << _actual); \ + REQUIRE(_actual.find(sub) != std::string::npos); } while (0) +#define CHECK_CONTAINS(str, sub) \ + do { const std::string _actual = (str); INFO("actual: " << _actual); \ + CHECK(_actual.find(sub) != std::string::npos); } while (0) + +#include "libslic3r/CAD/CadDocument.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/CAD/SketchImport.hpp" +#include "libslic3r/CAD/ThreadStandards.hpp" +#include "libslic3r/Utils.hpp" + +#include <cmath> +#include <cstring> +#include <fstream> +#include <memory> +#include <set> +#include <Bnd_Box.hxx> +#include <BRepBndLib.hxx> +#include <BRepAdaptor_Curve.hxx> +#include <TopExp_Explorer.hxx> +#include <TopoDS.hxx> +#include <BRepGProp.hxx> +#include <GProp_GProps.hxx> +#include <BRepPrimAPI_MakeBox.hxx> +#include <BRepBuilderAPI_Transform.hxx> +#include <gp_Trsf.hxx> +#include <gp_Vec.hxx> +#include <cereal/archives/binary.hpp> + +using namespace Slic3r; +using Catch::Approx; // Catch2 v3 scopes Approx under Catch:: (v2 had it unqualified) + +TEST_CASE("CadDocument profile sketch -> extrude -> solid", "[CadDocument]") +{ + CadDocument doc; + + SketchProfile sp; + sp.points.push_back(Vec2d(-10, -10)); + sp.points.push_back(Vec2d( 10, -10)); + sp.points.push_back(Vec2d( 10, 10)); + sp.points.push_back(Vec2d(-10, 10)); + sp.closed = true; + + int sk_idx = doc.add_sketch_profile(sp, SketchPlane::XY(), "SquareProfile"); + REQUIRE(sk_idx >= 0); + doc.add_extrude(sk_idx, 5.0, false, BooleanMode::New, "Extrude1"); + + bool ok = doc.recompute(); + REQUIRE(ok); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); +} + +TEST_CASE("CadDocument legacy Rectangle sketch still works", "[CadDocument]") +{ + CadDocument doc; + + int sk_idx = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "RectSketch"); + REQUIRE(sk_idx >= 0); + doc.add_extrude(sk_idx, 5.0, false, BooleanMode::New, "Extrude1"); + + bool ok = doc.recompute(); + REQUIRE(ok); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); +} + +TEST_CASE("CadDocument preview with profile on self-contained candidate", "[CadDocument]") +{ + CadDocument doc; + + CadFeature candidate; + candidate.type = CadFeatureType::Extrude; + candidate.plane = SketchPlane::XY(); + candidate.distance = 4; + candidate.mode = BooleanMode::New; + // sketch_ref is -1 by default -> apply_feature uses candidate's own params + + SketchProfile tri; + tri.points.push_back(Vec2d(0, 0)); + tri.points.push_back(Vec2d(10, 0)); + tri.points.push_back(Vec2d(5, 8.66)); + tri.closed = true; + candidate.profile = tri; + + TriangleMesh mesh; + std::string err; + bool ok = doc.preview(candidate, mesh, err); + REQUIRE(ok); + REQUIRE(mesh.facets_count() > 0); +} + +TEST_CASE("CadDocument solve_sketch_feature snaps a rough quad to a rectangle", "[CadDocument]") +{ + CadDocument doc; + SketchProfile sp; + sp.points = { Vec2d(0,0), Vec2d(8,1), Vec2d(9,5), Vec2d(-1,4) }; + sp.closed = true; + int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "S"); + + auto& cons = doc.features[sk].constraints; + cons.push_back({SketchConstraintType::Fix, 0,-1,-1,-1, 0}); + cons.push_back({SketchConstraintType::LockX, 0,-1,-1,-1, 0}); + cons.push_back({SketchConstraintType::LockY, 0,-1,-1,-1, 0}); + cons.push_back({SketchConstraintType::Horizontal, 0, 1,-1,-1, 0}); + cons.push_back({SketchConstraintType::Vertical, 1, 2,-1,-1, 0}); + cons.push_back({SketchConstraintType::Horizontal, 2, 3,-1,-1, 0}); + cons.push_back({SketchConstraintType::Vertical, 3, 0,-1,-1, 0}); + cons.push_back({SketchConstraintType::Distance, 0, 1,-1,-1, 10}); + cons.push_back({SketchConstraintType::Distance, 1, 2,-1,-1, 6}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& pts = doc.features[sk].profile.points; + REQUIRE_THAT(pts[1].x(), Catch::Matchers::WithinAbs(10.0, 1e-3)); + REQUIRE_THAT(pts[1].y(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE_THAT(pts[2].x(), Catch::Matchers::WithinAbs(10.0, 1e-3)); + REQUIRE_THAT(pts[2].y(), Catch::Matchers::WithinAbs(6.0, 1e-3)); + REQUIRE_THAT(pts[3].x(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE_THAT(pts[3].y(), Catch::Matchers::WithinAbs(6.0, 1e-3)); + + // the solved profile still extrudes into a solid + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.display_mesh.facets_count() > 0); +} + +TEST_CASE("sketch entities -> wire -> extrude", "[CadDocument]") +{ + SECTION("square from 4 lines") { + CadDocument doc; + + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "square"; + sk.plane = SketchPlane::XY(); + sk.entities = { + {SketchEntity::Type::Line, Vec2d(-10,-10), Vec2d(10,-10)}, + {SketchEntity::Type::Line, Vec2d(10,-10), Vec2d(10,10)}, + {SketchEntity::Type::Line, Vec2d(10,10), Vec2d(-10,10)}, + {SketchEntity::Type::Line, Vec2d(-10,10), Vec2d(-10,-10)}, + }; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "extrude"; + ex.sketch_ref = 0; + ex.distance = 5; + ex.mode = BooleanMode::New; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto bb = doc.display_mesh.bounding_box(); + auto sz = bb.max - bb.min; + REQUIRE(std::abs(sz.x() - 20.0) < 0.5); + REQUIRE(std::abs(sz.y() - 20.0) < 0.5); + REQUIRE(std::abs(sz.z() - 5.0) < 0.5); + } + + SECTION("single circle") { + CadDocument doc; + + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "circle"; + sk.plane = SketchPlane::XY(); + sk.entities = { + {SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 10.0}, + }; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "extrude"; + ex.sketch_ref = 0; + ex.distance = 8; + ex.mode = BooleanMode::New; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto bb = doc.display_mesh.bounding_box(); + auto sz = bb.max - bb.min; + REQUIRE(std::abs(sz.x() - 20.0) < 0.5); + REQUIRE(std::abs(sz.y() - 20.0) < 0.5); + REQUIRE(std::abs(sz.z() - 8.0) < 0.5); + } + + SECTION("construction line excluded") { + CadDocument doc; + + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "square_with_construction"; + sk.plane = SketchPlane::XY(); + + SketchEntity cline; + cline.type = SketchEntity::Type::Line; + cline.p0 = Vec2d(-30, 0); + cline.p1 = Vec2d(30, 0); + cline.construction = true; + + sk.entities = { + {SketchEntity::Type::Line, Vec2d(-10,-10), Vec2d(10,-10)}, + {SketchEntity::Type::Line, Vec2d(10,-10), Vec2d(10,10)}, + {SketchEntity::Type::Line, Vec2d(10,10), Vec2d(-10,10)}, + {SketchEntity::Type::Line, Vec2d(-10,10), Vec2d(-10,-10)}, + cline, + }; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "extrude"; + ex.sketch_ref = 0; + ex.distance = 5; + ex.mode = BooleanMode::New; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto bb = doc.display_mesh.bounding_box(); + auto sz = bb.max - bb.min; + REQUIRE(std::abs(sz.x() - 20.0) < 0.5); + REQUIRE(std::abs(sz.y() - 20.0) < 0.5); + REQUIRE(std::abs(sz.z() - 5.0) < 0.5); + } +} + +TEST_CASE("construction flag survives recipe round-trip", "[CadDocument]") +{ + CadDocument doc; + + // Square edge + 1 construction line + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(-10, -10), Vec2d(10, -10)}, + {SketchEntity::Type::Line, Vec2d(10, -10), Vec2d(10, 10)}, + {SketchEntity::Type::Line, Vec2d(10, 10), Vec2d(-10, 10)}, + {SketchEntity::Type::Line, Vec2d(-10, 10), Vec2d(-10, -10)}, + }; + SketchEntity cx; + cx.type = SketchEntity::Type::Line; + cx.p0 = Vec2d(-33.0, 7.0); + cx.p1 = Vec2d(33.0, 7.0); + cx.construction = true; + ents.push_back(cx); // ents[4] + + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "SkCtor"); + REQUIRE(sk == 0); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Ex"); + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + + // Locate SkCtor in fresh.features + const CadFeature* sf = nullptr; + for (const auto& f : fresh.features) { + if (f.name == "SkCtor") { sf = &f; break; } + } + REQUIRE(sf != nullptr); + REQUIRE(sf->entities.size() == 5); + REQUIRE(sf->entities[0].construction == false); + REQUIRE(sf->entities[4].construction == true); + REQUIRE_THAT(sf->entities[4].p0.x(), Catch::Matchers::WithinAbs(-33.0, 1e-9)); + REQUIRE_THAT(sf->entities[4].p1.x(), Catch::Matchers::WithinAbs( 33.0, 1e-9)); +} + +// Mirrors the GUI interactive-sketch commit path (DesignPanel -> +// add_sketch_entities) for the Fase 4.1 entity drawing tools: a corner-rect and +// a center-rect produce 4 closed Line entities; a center-circle produces 1 +// Circle entity. add_sketch_entities must store them and extrude into a solid. +TEST_CASE("add_sketch_entities commit path -> extrude", "[CadDocument]") +{ + SECTION("corner-rect 4 lines -> 30x16x5") { + CadDocument doc; + // Corner A=(-15,-8), B=(15,8): the tool's push_closed_lines order. + const Vec2d A(-15, -8), B(15, 8); + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, A, Vec2d(B.x(), A.y())}, + {SketchEntity::Type::Line, Vec2d(B.x(),A.y()), B}, + {SketchEntity::Type::Line, B, Vec2d(A.x(), B.y())}, + {SketchEntity::Type::Line, Vec2d(A.x(),B.y()), A}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "Sketch1"); + REQUIRE(sk == 0); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + auto sz = doc.display_mesh.bounding_box().size(); + REQUIRE(std::abs(sz.x() - 30.0) < 0.5); + REQUIRE(std::abs(sz.y() - 16.0) < 0.5); + REQUIRE(std::abs(sz.z() - 5.0) < 0.5); + } + + SECTION("center-circle 1 entity -> r=7 cylinder") { + CadDocument doc; + SketchEntity c; + c.type = SketchEntity::Type::Circle; + c.center = Vec2d(0, 0); + c.p0 = Vec2d(0, 0); + c.radius = 7.0; + int sk = doc.add_sketch_entities({c}, SketchPlane::XY(), "Sketch1"); + doc.add_extrude(sk, 4.0, false, BooleanMode::New, "Extrude1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + auto sz = doc.display_mesh.bounding_box().size(); + REQUIRE(std::abs(sz.x() - 14.0) < 0.5); + REQUIRE(std::abs(sz.y() - 14.0) < 0.5); + REQUIRE(std::abs(sz.z() - 4.0) < 0.5); + } +} + +// A slot (stadium): 2 lines + 2 semicircular Arc entities forming one closed +// loop — the shape the Fase 4.1b Slot tool emits. Validates the kernel's Arc +// edge path (GC_MakeArcOfCircle via center/radius/start_angle/end_angle, with +// the mid reconstructed at (start+end)/2) inside a mixed Line/Arc wire. +TEST_CASE("slot (line+arc closed wire) -> extrude", "[CadDocument]") +{ + const double PI = 3.14159265358979323846; + CadDocument doc; + + // Centerline ends c0=(-10,0), c1=(10,0); half-width w=5 → stadium 30 x 10. + SketchEntity top; // top line A0(-10,5) -> A1(10,5) + top.type = SketchEntity::Type::Line; top.p0 = Vec2d(-10, 5); top.p1 = Vec2d(10, 5); + + SketchEntity cap1; // right cap @c1=(10,0): A1(10,5) -> B1(10,-5) through (15,0) + cap1.type = SketchEntity::Type::Arc; cap1.center = Vec2d(10, 0); cap1.radius = 5; + cap1.p0 = Vec2d(10, 5); cap1.p1 = Vec2d(10, -5); + cap1.start_angle = PI / 2; cap1.end_angle = -PI / 2; // mid angle 0 -> (15,0) + + SketchEntity bot; // bottom line B1(10,-5) -> B0(-10,-5) + bot.type = SketchEntity::Type::Line; bot.p0 = Vec2d(10, -5); bot.p1 = Vec2d(-10, -5); + + SketchEntity cap0; // left cap @c0=(-10,0): B0(-10,-5) -> A0(-10,5) through (-15,0) + cap0.type = SketchEntity::Type::Arc; cap0.center = Vec2d(-10, 0); cap0.radius = 5; + cap0.p0 = Vec2d(-10, -5); cap0.p1 = Vec2d(-10, 5); + cap0.start_angle = -PI / 2; cap0.end_angle = -3 * PI / 2; // mid angle -PI -> (-15,0) + + int sk = doc.add_sketch_entities({top, cap1, bot, cap0}, SketchPlane::XY(), "Slot"); + doc.add_extrude(sk, 4.0, false, BooleanMode::New, "Extrude1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + auto sz = doc.display_mesh.bounding_box().size(); + REQUIRE(std::abs(sz.x() - 30.0) < 0.5); + REQUIRE(std::abs(sz.y() - 10.0) < 0.5); + REQUIRE(std::abs(sz.z() - 4.0) < 0.5); +} + +// Onshape-style constraints on coexisting entities (Fase 4.2). The solver maps +// each Line/Point entity endpoint to a solver variable, applies the entity +// constraints, and writes the solved coordinates back into the entities. +TEST_CASE("entity constraints: solve on SketchEntity endpoints", "[CadDocument]") +{ + using R = SketchPointRole; + using T = SketchConstraintType; + + auto dir = [](const SketchEntity& e) { return Vec2d(e.p1 - e.p0); }; + + SECTION("perpendicular rotates line1 normal to a pinned line0") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // line0 (pinned) + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(7,7)}, // line1 @45 deg + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); + ec.push_back({T::Fix, 0, -1, R::P1, R::P0, 0.0}); + ec.push_back({T::Perpendicular, 0, 1, R::P0, R::P0, 0.0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + // line0 stayed put. + REQUIRE(std::abs(e[0].p0.x() - 0.0) < 1e-6); + REQUIRE(std::abs(e[0].p1.x() - 10.0) < 1e-6); + // line1 is now perpendicular to line0: directions dot to ~0. + const double d = dir(e[0]).dot(dir(e[1])); + REQUIRE(std::abs(d) < 1e-6); + } + + // Driving length: the Dimension tool records a Distance between a line's own + // P0/P1 (committed via add_sketch_entities' constraints arg). Solving drives + // the line to that exact length. + SECTION("driving length: Distance(P0,P1) sets a line's length") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // length 10 + }; + std::vector<SketchEntityConstraintDef> cons; + cons.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); // pin the start + cons.push_back({T::Distance, 0, 0, R::P0, R::P1, 25.0}); // length -> 25 + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S", cons); + REQUIRE(doc.features[sk].entity_constraints.size() == 2); // constraints stored + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs((e[0].p1 - e[0].p0).norm() - 25.0) < 1e-6); + } + + SECTION("parallel flattens line1 onto a pinned horizontal line0") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // line0 (pinned) + {SketchEntity::Type::Line, Vec2d(0,5), Vec2d(7,9)}, // line1 tilted + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); + ec.push_back({T::Fix, 0, -1, R::P1, R::P0, 0.0}); + ec.push_back({T::Parallel, 0, 1, R::P0, R::P0, 0.0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + const Vec2d d0 = dir(e[0]), d1 = dir(e[1]); + const double cross = d0.x() * d1.y() - d0.y() * d1.x(); + REQUIRE(std::abs(cross) < 1e-6); + } + + SECTION("coincident merges a line endpoint onto another") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // line0 + {SketchEntity::Type::Line, Vec2d(12,1), Vec2d(20,1)}, // line1 + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Coincident, 0, 1, R::P1, R::P0, 0.0}); // line0.end == line1.start + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + const Vec2d gap = Vec2d(e[0].p1 - e[1].p0); + REQUIRE(gap.norm() < 1e-6); + } + + SECTION("horizontal levels a tilted line's endpoints") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,2)}, // tilted line + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Horizontal, 0, 0, R::P0, R::P1, 0.0}); // p0.y == p1.y + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs(e[0].p0.y() - e[0].p1.y()) < 1e-6); + } +} + +TEST_CASE("entity constraints: arc/circle registration + concentric", "[CadDocument]") +{ + using R = SketchPointRole; + using T = SketchConstraintType; + + SECTION("concentric centers coincide") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 5.0}, // circle0 + {SketchEntity::Type::Circle, Vec2d(10,2), Vec2d(10,2), Vec2d(10,2), 3.0}, // circle1 + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::Center, R::Center, 0.0}); + ec.push_back({T::Concentric, 0, 1, R::Center, R::Center, 0.0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE((e[1].center - e[0].center).norm() < 1e-6); + REQUIRE(e[0].center.x() < 1e-6); + REQUIRE(e[0].center.y() < 1e-6); + } + + SECTION("arc reflow keeps radius and angle consistent") { + CadDocument doc; + const double PI2 = M_PI / 2; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Arc, Vec2d(5,0), Vec2d(0,5), Vec2d(0,0), 5.0, 0.0, PI2}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::Center, R::Center, 0.0}); + ec.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs((e[0].p0 - e[0].center).norm() - 5.0) < 1e-6); + REQUIRE(std::abs(e[0].start_angle - 0.0) < 1e-6); + REQUIRE(std::abs(e[0].end_angle - PI2) < 1e-3); + REQUIRE(e[0].end_angle > e[0].start_angle); + } +} + +TEST_CASE("entity constraints: radius/diameter dimensions", "[CadDocument]") +{ + using R = SketchPointRole; + using T = SketchConstraintType; + + SECTION("circle radius dimension") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 5.0}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::Center, R::Center, 0.0, -1, R::P0}); + ec.push_back({T::Radius, 0, -1, R::Center, R::P0, 8.0, -1, R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs(e[0].radius - 8.0) < 1e-9); + } + + SECTION("circle diameter dimension") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 5.0}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::Center, R::Center, 0.0, -1, R::P0}); + ec.push_back({T::Diameter, 0, -1, R::Center, R::P0, 20.0, -1, R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs(e[0].radius - 10.0) < 1e-9); + } + + SECTION("arc radius rescales endpoints") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Arc, Vec2d(5,0), Vec2d(0,5), Vec2d(0,0), 5.0, 0.0, M_PI/2}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0, -1, R::Center, R::Center, 0.0, -1, R::P0}); + ec.push_back({T::Radius, 0, -1, R::Center, R::P0, 10.0, -1, R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs(e[0].radius - 10.0) < 1e-9); + REQUIRE((e[0].p0 - Vec2d(10,0)).norm() < 1e-6); + REQUIRE((e[0].p1 - Vec2d(0,10)).norm() < 1e-6); + } +} + +// PointOnLine (Fase: persistent positioning). A point-like entity is held on a +// line (value 0) or at perpendicular distance `value`. Drives e.g. a circle centre +// onto a construction axis and, being a real constraint, keeps it there on re-solve. +TEST_CASE("entity constraints: point-on-line positions a centre onto an axis", "[CadDocument]") +{ + using R = SketchPointRole; + using T = SketchConstraintType; + + SECTION("circle centre snaps onto a pinned axis (value 0) and persists") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // axis (X) + {SketchEntity::Type::Circle, Vec2d(5,7), Vec2d(5,7), Vec2d(5,7), 3.0}, // off-axis centre + }; + std::vector<SketchEntityConstraintDef> cons; + cons.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); // pin axis endpoints + cons.push_back({T::Fix, 0, -1, R::P1, R::P1, 0.0}); + cons.push_back({T::PointOnLine, 1, 0, R::Center, R::P0, 0.0}); // centre onto axis + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S", cons); + REQUIRE(doc.solve_sketch_feature(sk)); + REQUIRE(std::abs(doc.features[sk].entities[1].center.y()) < 1e-6); // on the axis + // Re-solving keeps it on the axis (a driving constraint, not a one-shot move). + REQUIRE(doc.solve_sketch_feature(sk)); + REQUIRE(std::abs(doc.features[sk].entities[1].center.y()) < 1e-6); + } + + SECTION("non-zero perpendicular distance via the free solve_sketch_entities") { + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, + {SketchEntity::Type::Point, Vec2d(4,9)}, // point above the axis + }; + std::vector<SketchEntityConstraintDef> cons; + cons.push_back({T::Fix, 0, -1, R::P0, R::P0, 0.0}); + cons.push_back({T::Fix, 0, -1, R::P1, R::P1, 0.0}); + cons.push_back({T::PointOnLine, 1, 0, R::P0, R::P0, 2.0}); // hold at distance 2 + REQUIRE(solve_sketch_entities(ents, cons)); + REQUIRE(std::abs(std::abs(ents[1].p0.y()) - 2.0) < 1e-6); // 2 mm off the axis + } +} + +// The "tangent line to circle" SECTION used to abort the whole Catch2 process inside the +// vendored solver (slvs/dsc.h FindById, "Cannot find handle"), taking every later test with +// it, and was quarantined for it. Fixed in SketchSolver: a full circle can no longer be handed +// to SLVS_C_ARC_LINE_TANGENT, which dereferences arc endpoints a circle does not have. See +// tkz. +TEST_CASE("entity constraints: tangent/midpoint/symmetric/angle", "[CadDocument][sketch]") +{ + using R = SketchPointRole; + using T = SketchConstraintType; + + auto dir = [](const SketchEntity& e) { return Vec2d(e.p1 - e.p0); }; + + SECTION("angle 90 between two lines") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // line0 + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(5,5)}, // line1 + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0,-1, R::P0,R::P0, 0.0, -1,R::P0}); + ec.push_back({T::Fix, 0,-1, R::P1,R::P0, 0.0, -1,R::P0}); + ec.push_back({T::Fix, 1,-1, R::P0,R::P0, 0.0, -1,R::P0}); + ec.push_back({T::Angle,0, 1, R::P0,R::P0, M_PI/2,-1,R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + const Vec2d d0 = dir(e[0]).normalized(); + const Vec2d d1 = dir(e[1]).normalized(); + REQUIRE(std::abs(d0.dot(d1)) < 1e-3); + } + + SECTION("midpoint of a line") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, // line0 + {SketchEntity::Type::Point, Vec2d(3,9)}, // point p + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0,-1, R::P0,R::P0, 0.0,-1,R::P0}); + ec.push_back({T::Fix, 0,-1, R::P1,R::P0, 0.0,-1,R::P0}); + ec.push_back({T::Midpoint,1, 0, R::P0,R::P0, 0.0,-1,R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE((e[1].p0 - Vec2d(5,0)).norm() < 1e-3); + } + + SECTION("tangent line to circle") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 5.0}, // circle0 r=5 + {SketchEntity::Type::Line, Vec2d(-10,8), Vec2d(10,8)}, // line1 y=8 + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0,-1, R::Center,R::Center, 0.0,-1,R::P0}); + ec.push_back({T::LockX, 1,-1, R::P0, R::P0, -10.0,-1,R::P0}); + ec.push_back({T::LockX, 1,-1, R::P1, R::P0, 10.0,-1,R::P0}); + ec.push_back({T::Horizontal, 1, 1, R::P0, R::P1, 0.0,-1,R::P0}); + ec.push_back({T::Tangent, 0, 1, R::Center,R::P0, 0.0,-1,R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE(std::abs(std::abs(e[1].p0.y()) - 5.0) < 1e-3); + } + + SECTION("symmetric across a line") { + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Point, Vec2d(2,3)}, // pointA + {SketchEntity::Type::Point, Vec2d(-1,1)}, // pointB + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(0,10)}// axis (Y axis) + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + auto& ec = doc.features[sk].entity_constraints; + ec.push_back({T::Fix, 0,-1, R::P0,R::P0, 0.0,-1,R::P0}); + ec.push_back({T::Fix, 2,-1, R::P0,R::P0, 0.0,-1,R::P0}); + ec.push_back({T::Fix, 2,-1, R::P1,R::P0, 0.0,-1,R::P0}); + ec.push_back({T::Symmetric, 0, 1, R::P0,R::P0, 0.0, 2,R::P0}); + + REQUIRE(doc.solve_sketch_feature(sk)); + const auto& e = doc.features[sk].entities; + REQUIRE((e[1].p0 - Vec2d(-2,3)).norm() < 1e-3); + } +} + +TEST_CASE("imported text glyphs all extrude without failing (charset sweep)", "[CadDocument]") +{ + std::string font = resources_dir().empty() + ? std::string("resources/fonts/HarmonyOS_Sans_SC_Regular.ttf") + : resources_dir() + "/fonts/HarmonyOS_Sans_SC_Regular.ttf"; + { + std::ifstream probe(font); + if (!probe.good()) { + SUCCEED("bundled font not reachable in this environment; covered live on :10"); + return; + } + } + + const std::string charset = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "@#$%&*()[]{}<>?/+-=.,;:!" + "\xC3\xA0\xC3\xA8\xC3\xA9\xC3\xAC\xC3\xB2\xC3\xB9"; // à è é ì ò ù (UTF-8) + + std::string failures; + for (char c : charset) { + ImportRegions regs = text_to_regions(std::string(1, c), 12.0, font); + if (regs.empty()) continue; + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = regs; + doc.features.push_back(sk); + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 3; + doc.features.push_back(ex); + if (!doc.recompute() || !doc.error.empty()) + failures += c; + } + INFO("glyphs that failed to extrude: [" << failures << "]"); + CHECK(failures.empty()); + + // A realistic multi-glyph word must extrude too. + { + ImportRegions regs = text_to_regions("Snapmaker", 12.0, font); + REQUIRE_FALSE(regs.empty()); + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = regs; + doc.features.push_back(sk); + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 3; + doc.features.push_back(ex); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + } +} + +TEST_CASE("imported regions: faces-with-holes extrude (Text/SVG carrier)", "[CadDocument]") +{ + SECTION("square with a square hole -> tube volume") { + CadDocument doc; + + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "art"; + sk.plane = SketchPlane::XY(); + // One region: outer 20x20 (CCW) + inner 8x8 hole (CW). + sk.imported_regions = {{ + {Vec2d(-10,-10), Vec2d(10,-10), Vec2d(10,10), Vec2d(-10,10)}, // outer + {Vec2d(-4,-4), Vec2d(-4,4), Vec2d(4,4), Vec2d(4,-4)}, // hole (reversed winding) + }}; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "extrude"; + ex.sketch_ref = 0; + ex.distance = 5; + ex.mode = BooleanMode::New; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + // (20*20 - 8*8) * 5 = 1680 mm^3 + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(1680.0, 0.02)); + + auto sz = doc.display_mesh.bounding_box().size(); + REQUIRE(std::abs(sz.x() - 20.0) < 0.5); + REQUIRE(std::abs(sz.y() - 20.0) < 0.5); + REQUIRE(std::abs(sz.z() - 5.0) < 0.5); + } + + SECTION("inverted winding (CW outer, CCW hole) keeps body solid, counter empty") { + // Real glyph contours (P, e, o, 8) arrive with outer CW + hole CCW. The + // extrude must NORMALISE winding so the letter BODY is solid and the + // counter is the hole — not the inverse (the reported bug). 20x20 outer + // CW with an 8x8 hole CCW -> volume (400-64)*5 = 1680, NOT the inverse. + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = {{ + {Vec2d(-10,-10), Vec2d(-10,10), Vec2d(10,10), Vec2d(10,-10)}, // outer CW + {Vec2d(-4,-4), Vec2d(4,-4), Vec2d(4,4), Vec2d(-4,4)}, // hole CCW + }}; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 5; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(1680.0, 0.02)); + } + + SECTION("degenerate / duplicate points are sanitised, not fatal") { + // FreeType/SVG flattening can emit repeated points; the extrude must + // survive them (previously to_occt_wire threw and failed the whole op). + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = {{ + // 20x20 outer square with consecutive dups + an explicit closing dup + {Vec2d(-10,-10), Vec2d(-10,-10), Vec2d(10,-10), Vec2d(10,-10), + Vec2d(10,10), Vec2d(-10,10), Vec2d(-10,-10)}, + }}; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 5; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(2000.0, 0.02)); + } + + SECTION("a degenerate region is skipped, valid ones still extrude") { + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = { + { {Vec2d(0,0), Vec2d(0,0), Vec2d(0,0)} }, // collapses to nothing + { {Vec2d(0,0), Vec2d(5,0), Vec2d(5,5), Vec2d(0,5)} }, // valid 5x5 + }; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 4; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(100.0, 0.02)); + } + + SECTION("two disjoint regions form one shape") { + CadDocument doc; + + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = { + {{Vec2d(0,0), Vec2d(5,0), Vec2d(5,5), Vec2d(0,5)}}, + {{Vec2d(10,0), Vec2d(15,0), Vec2d(15,5), Vec2d(10,5)}}, + }; + doc.features.push_back(sk); + + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 3; + doc.features.push_back(ex); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + // 2 * (5*5*3) = 150 mm^3 + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(150.0, 0.02)); + } +} + +TEST_CASE("tessellate tracks per-triangle face id", "[CadDocument]") +{ + TopoDS_Shape box = BRepPrimAPI_MakeBox(10., 10., 10.).Shape(); + std::vector<int> tf; + TriangleMesh m = SketchEngine::tessellate(box, tf); + + REQUIRE(tf.size() == m.its.indices.size()); + REQUIRE(!tf.empty()); + + std::set<int> distinct(tf.begin(), tf.end()); + REQUIRE(distinct.size() == 6); + REQUIRE(*distinct.begin() == 0); + REQUIRE(*distinct.rbegin() == 5); + + for (int fid : distinct) { + int count = 0; + for (int x : tf) if (x == fid) ++count; + REQUIRE(count >= 2); + } + + REQUIRE(m.its.indices.size() >= 12); +} + +TEST_CASE("extrude two-sided + through-all + intersect", "[CadDocument]") +{ + using namespace Slic3r; + SketchPlane xy = SketchPlane::XY(); + // a 10x10 square wire centred on origin + SketchProfile sp; + sp.points = { Vec2d(-5,-5), Vec2d(5,-5), Vec2d(5,5), Vec2d(-5,5) }; + sp.closed = true; + TopoDS_Wire w = sp.to_occt_wire(xy); + + SECTION("two-sided height = up+down") { + TopoDS_Shape s = SketchEngine::make_extrude_two_sided(w, xy, 10.0, 4.0); + REQUIRE_FALSE(s.IsNull()); + Bnd_Box bb; BRepBndLib::Add(s, bb); + double xmin,ymin,zmin,xmax,ymax,zmax; bb.Get(xmin,ymin,zmin,xmax,ymax,zmax); + REQUIRE_THAT(zmax - zmin, Catch::Matchers::WithinAbs(14.0, 0.05)); // 10 up + 4 down + REQUIRE_THAT(zmax, Catch::Matchers::WithinAbs(10.0, 0.05)); + REQUIRE_THAT(zmin, Catch::Matchers::WithinAbs(-4.0, 0.05)); + } +} + +TEST_CASE("extrude taper + up-to-face distance", "[CadDocument]") +{ + using namespace Slic3r; + SketchPlane xy = SketchPlane::XY(); + SketchProfile sp; sp.points = { Vec2d(-5,-5),Vec2d(5,-5),Vec2d(5,5),Vec2d(-5,5) }; sp.closed = true; + TopoDS_Wire w = sp.to_occt_wire(xy); + + SECTION("taper widens the top") { + TopoDS_Shape s = SketchEngine::make_extrude_taper(w, xy, 10.0, 15.0); + REQUIRE_FALSE(s.IsNull()); + Bnd_Box bb; BRepBndLib::Add(s, bb); + double x0,y0,z0,x1,y1,z1; bb.Get(x0,y0,z0,x1,y1,z1); + REQUIRE_THAT(z1 - z0, Catch::Matchers::WithinAbs(10.0, 0.1)); + REQUIRE((x1 - x0) > 12.0); + } + SECTION("extreme taper falls back to a straight prism") { + TopoDS_Shape s = SketchEngine::make_extrude_taper(w, xy, 10.0, 89.0); + REQUIRE_FALSE(s.IsNull()); + Bnd_Box bb; BRepBndLib::Add(s, bb); + double x0,y0,z0,x1,y1,z1; bb.Get(x0,y0,z0,x1,y1,z1); + REQUIRE_THAT(x1 - x0, Catch::Matchers::WithinAbs(10.0, 0.1)); + } +} + +// Was [known-broken] until the numbers were actually measured (kzy). The geometry +// was right all along; the TEST compared against the wrong reference. An internal thread bores +// at the MINOR radius (radius - depth) and then carves the groove out to radius + depth, so a +// tapped hole keeps the crests between turns and therefore holds MORE material than a plain +// clearance hole at the nominal radius. Asserting the thread removes more than a plain Ø12 bore +// asked for something no real tapped hole does. Measured on this fixture: plain Ø12 bore removes +// 2261 mm3, the thread removes 2157 = 1571 (minor bore) + 586 (groove). Exact BRepGProp volume +// agrees with the tessellated volume to 2.5 mm3, so this was never a meshing artefact either. +// The tap-drill bore is the honest reference: against it, the groove's 586 mm3 is the thing worth +// asserting, because that is what "the thread actually cuts" means. +TEST_CASE("internal thread cuts a visible groove into the bore wall", "[CadDocument][thread]") +{ + using namespace Slic3r; + SketchPlane xy = SketchPlane::XY(); + + // 40x40x20 box centred on the origin, extruded +Z. + auto make_box = [&](CadDocument& doc) { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = xy; + sk.imported_regions = {{ + {Vec2d(-20,-20), Vec2d(20,-20), Vec2d(20,20), Vec2d(-20,20)}, + }}; + doc.features.push_back(sk); + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = 20; + doc.features.push_back(ex); + }; + + // Reference: box bored at the MINOR diameter — the tap drill the thread starts from. + // Ø10 = 2 * (radius 6 - depth 1), matching what apply_thread cuts before the groove. + CadDocument hole_doc; + make_box(hole_doc); + hole_doc.add_hole(10.0, 20.0, true, 0.0, 0.0, xy, "Hole"); + REQUIRE(hole_doc.recompute()); + REQUIRE(hole_doc.error.empty()); + const double v_hole = double(hole_doc.display_mesh.volume()); + + // Threaded: same box, internal thread of radius 6 (the bore radius). + CadDocument thr_doc; + make_box(thr_doc); + thr_doc.add_thread(6.0, 3.0, 20.0, 1.0, /*internal=*/true, 0.0, 0.0, xy, "Thread"); + REQUIRE(thr_doc.recompute()); + REQUIRE(thr_doc.error.empty()); + const double v_thread = double(thr_doc.display_mesh.volume()); + + // The groove must carve material out of the wall BEYOND the tap-drill bore, which is what + // makes the thread visible. A profile that only swept already-empty bore space would give + // v_thread ~= v_hole; the real one removes several hundred mm3 more. + REQUIRE(v_thread > 0.0); + REQUIRE(v_thread < v_hole); + REQUIRE((v_hole - v_thread) > 20.0); +} + +TEST_CASE("revolve builds a solid of revolution about an in-plane axis", "[CadDocument]") +{ + using namespace Slic3r; + SketchPlane xy = SketchPlane::XY(); + + // Rectangle profile (10 wide x 10 tall, area 100) offset to +v so it lies entirely + // on one side of the X axis; revolved 360deg about X -> a rectangular-section ring. + // Pappus: V = 2*pi*R*A = 2*pi*15*100 = ~9424.78 mm^3 (tessellation slightly under). + auto make_rev_doc = [&](double angle, int axis, double u0, double v0) { + auto doc = std::make_unique<CadDocument>(); + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = xy; + sk.profile.points = { Vec2d(u0 - 5, v0 - 5), Vec2d(u0 + 5, v0 - 5), + Vec2d(u0 + 5, v0 + 5), Vec2d(u0 - 5, v0 + 5) }; + sk.profile.closed = true; + doc->features.push_back(sk); + doc->add_revolve(0, angle, axis, false, BooleanMode::New, "Rev"); + return doc; + }; + + auto full = make_rev_doc(360.0, /*axis=X*/0, 0.0, 15.0); + REQUIRE(full->recompute()); + REQUIRE(full->error.empty()); + const double v_full = double(full->display_mesh.volume()); + REQUIRE(v_full > 0.0); + REQUIRE(v_full == Approx(9424.78).epsilon(0.05)); + + // A 180deg sweep removes exactly half the material. + auto half = make_rev_doc(180.0, 0, 0.0, 15.0); + REQUIRE(half->recompute()); + REQUIRE(half->error.empty()); + const double v_half = double(half->display_mesh.volume()); + REQUIRE(v_half > 0.0); + REQUIRE(v_full == Approx(2.0 * v_half).epsilon(0.05)); + + // Axis = plane Y: profile offset to +u (one side of the Y axis) gives the same ring. + auto ydoc = make_rev_doc(360.0, /*axis=Y*/1, 15.0, 0.0); + REQUIRE(ydoc->recompute()); + REQUIRE(ydoc->error.empty()); + REQUIRE(double(ydoc->display_mesh.volume()) == Approx(9424.78).epsilon(0.05)); +} + +TEST_CASE("sweep builds a solid by sweeping a profile along a path", "[CadDocument]") +{ + using namespace Slic3r; + CadDocument doc; + + // Profile: circle r=5 on the XY plane at the origin (area = 25*pi). + SketchEntity circ; + circ.type = SketchEntity::Type::Circle; + circ.center = Vec2d(0, 0); + circ.radius = 5.0; + const int prof = doc.add_sketch_entities({circ}, SketchPlane::XY(), "Profile"); + + // Path: a straight line on the XZ plane from 2D (0,0)->(0,100), i.e. world + // (0,0,0)->(0,0,100): the spine starts on the profile plane and runs +Z by 100. + SketchEntity line; + line.type = SketchEntity::Type::Line; + line.p0 = Vec2d(0, 0); + line.p1 = Vec2d(0, 100); + const int path = doc.add_sketch_entities({line}, SketchPlane::XZ(), "Path"); + + doc.add_sweep(prof, path, BooleanMode::New, "Sweep1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Straight sweep of a circle == a cylinder: V = pi*r^2*h = pi*25*100 = ~7853.98. + const double v = double(doc.display_mesh.volume()); + REQUIRE(v > 0.0); + REQUIRE_THAT(v, Catch::Matchers::WithinRel(M_PI * 25.0 * 100.0, 0.03)); + + // A valid path sketch is mandatory: a -1 path ref must error cleanly, not crash. + CadDocument bad; + const int p2 = bad.add_sketch_entities({circ}, SketchPlane::XY(), "Profile"); + bad.add_sweep(p2, -1, BooleanMode::New, "BadSweep"); + REQUIRE_FALSE(bad.recompute()); +} + +TEST_CASE("pattern replicates a body linearly and circularly", "[CadDocument]") +{ + using namespace Slic3r; + + // Linear: a 10x10x10 box (V=1000) repeated 3x at 20mm spacing along plane X. + // 20 > 10 so the copies are disjoint -> total V = 3*1000 = 3000. + { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 10, 10, 5, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + doc.add_pattern(/*circular=*/false, /*count=*/3, /*spacing=*/20, + /*dir=*/0, /*angle=*/0, /*target=*/-1, "LinearPattern"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double v = double(doc.display_mesh.volume()); + REQUIRE_THAT(v, Catch::Matchers::WithinRel(3000.0, 0.02)); + } + + // Circular: a 10x10x10 box centred at x=50 (radius 50 from the Z axis), 4 copies + // over 360deg about the plane normal through the origin -> a ring of 4 disjoint + // boxes -> V = 4*1000 = 4000. + { + CadDocument doc; + SketchProfile sp; + sp.points.push_back(Vec2d(45, -5)); + sp.points.push_back(Vec2d(55, -5)); + sp.points.push_back(Vec2d(55, 5)); + sp.points.push_back(Vec2d(45, 5)); + sp.closed = true; + int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "OffsetBox"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + doc.add_pattern(/*circular=*/true, /*count=*/4, /*spacing=*/0, + /*dir=*/0, /*angle=*/360, /*target=*/-1, "CircularPattern"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double v = double(doc.display_mesh.volume()); + REQUIRE_THAT(v, Catch::Matchers::WithinRel(4000.0, 0.02)); + } + + // A pattern with no body must error cleanly, not crash. + { + CadDocument bad; + bad.add_pattern(false, 3, 20, 0, 0, -1, "NoBody"); + REQUIRE_FALSE(bad.recompute()); + } +} + +TEST_CASE("pattern-on-curve: copies land on a line and bbox spans the curve length", "[CadDocument][pattern]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + using namespace Slic3r; + + CadDocument doc; + + // Seed body: 4x4x4 box at the origin via sketch+extrude. + int s0 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 4, 4, 0, "Seed"); + doc.add_extrude(s0, 4.0, false, BooleanMode::New, "E"); + + // Guide sketch: one Line entity from (0,0) to (30,0) on XY. + std::vector<SketchEntity> guide = { + {SketchEntity::Type::Line, Vec2d(0, 0), Vec2d(30, 0)}, + }; + int gs = doc.add_sketch_entities(guide, SketchPlane::XY(), "Guide"); + + doc.add_pattern_on_curve(4, gs, 0, 0, "OnCurve"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto bb = doc.display_mesh.bounding_box(); + double x_extent = bb.max.x() - bb.min.x(); + // 4 copies: at x=0, x=10, x=20, x=30. The seed is a 4x4 box centred at origin, + // so the overall X span is from -2 to 32 = 34 mm. + REQUIRE_THAT(x_extent, WithinAbs(34.0, 2.0)); +} + +TEST_CASE("pattern-on-curve: bad refs are safe", "[CadDocument][pattern]") +{ + using namespace Slic3r; + + CadDocument doc; + int s0 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 4, 4, 0, "Seed"); + doc.add_extrude(s0, 4.0, false, BooleanMode::New, "E"); + + // Bad sketch ref -> error. + doc.add_pattern_on_curve(3, 999, 0, 0, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_FALSE(doc.error.empty()); + REQUIRE(doc.error.find("pattern") != std::string::npos); +} + +TEST_CASE("pattern-on-curve: round-trip through serialize/deserialize", "[CadDocument][pattern]") +{ + using Catch::Matchers::WithinRel; + using namespace Slic3r; + + CadDocument doc; + int s0 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 4, 4, 0, "Seed"); + doc.add_extrude(s0, 4.0, false, BooleanMode::New, "E"); + + std::vector<SketchEntity> guide = { + {SketchEntity::Type::Line, Vec2d(0, 0), Vec2d(30, 0)}, + }; + int gs = doc.add_sketch_entities(guide, SketchPlane::XY(), "Guide"); + + doc.add_pattern_on_curve(4, gs, 0, 0, "OnCurve"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto orig_bb = doc.display_mesh.bounding_box(); + size_t orig_n = doc.bodies.size(); + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.recompute()); + REQUIRE(fresh.error.empty()); + REQUIRE(fresh.bodies.size() == orig_n); + + auto fresh_bb = fresh.display_mesh.bounding_box(); + REQUIRE_THAT(orig_bb.min.x(), WithinRel(fresh_bb.min.x(), 1e-6)); + REQUIRE_THAT(orig_bb.max.x(), WithinRel(fresh_bb.max.x(), 1e-6)); + + // Verify the deserialized field values. + bool found = false; + for (const auto& f : fresh.features) { + if (f.name == "OnCurve") { + REQUIRE(f.pattern_curve_sketch == gs); + REQUIRE(f.pattern_curve_entity == 0); + found = true; + break; + } + } + REQUIRE(found); +} + +TEST_CASE("thread standards table carries correct ISO/UTS measures", "[CadDocument]") +{ + using namespace Slic3r; + + // Table is non-empty and every entry is self-consistent. + const auto& table = thread_standards(); + REQUIRE(table.size() > 40); + for (const ThreadSpec& s : table) { + REQUIRE(s.major_diameter_mm > 0.0); + REQUIRE(s.pitch_mm > 0.0); + REQUIRE(s.minor_diameter_mm() < s.major_diameter_mm); + REQUIRE(s.minor_diameter_mm() > 0.0); + // 60deg V cut depth = 0.6134 * pitch. + REQUIRE(s.thread_depth_mm() == Approx(0.6134 * s.pitch_mm)); + } + + // ISO metric coarse: known nominal/pitch pairs. + const ThreadSpec* m6 = find_thread_standard("M6"); + REQUIRE(m6 != nullptr); + REQUIRE(m6->major_diameter_mm == Approx(6.0)); + REQUIRE(m6->pitch_mm == Approx(1.0)); + REQUIRE(m6->series == ThreadSpec::Series::MetricCoarse); + REQUIRE_FALSE(m6->imperial()); + REQUIRE(m6->thread_depth_mm() == Approx(0.6134)); + // Tapped minor (tap-drill) diameter D - 1.0825*P = 6 - 1.0825 = 4.9175. + REQUIRE(m6->minor_diameter_mm() == Approx(4.9175)); + + const ThreadSpec* m3 = find_thread_standard("M3"); + REQUIRE(m3 != nullptr); + REQUIRE(m3->pitch_mm == Approx(0.5)); + + // Imperial UNC: 1/4-20 -> 0.25in major, pitch = 25.4/20 = 1.27 mm. + const ThreadSpec* q = find_thread_standard("1/4-20 UNC"); + REQUIRE(q != nullptr); + REQUIRE(q->major_diameter_mm == Approx(6.35)); + REQUIRE(q->pitch_mm == Approx(1.27)); + REQUIRE(q->series == ThreadSpec::Series::UNC); + REQUIRE(q->imperial()); + + // Imperial UNF fine variant has a finer pitch than its UNC sibling. + const ThreadSpec* qf = find_thread_standard("1/4-28 UNF"); + REQUIRE(qf != nullptr); + REQUIRE(qf->major_diameter_mm == Approx(6.35)); + REQUIRE(qf->pitch_mm == Approx(25.4 / 28.0)); + REQUIRE(qf->pitch_mm < q->pitch_mm); + + // Unknown designation -> nullptr. + REQUIRE(find_thread_standard("M7.3 bogus") == nullptr); +} + +TEST_CASE("datum plane: offset + tilt resolution and sketching on it", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + // Parallel offset plane 30 mm above XY (normal +Z, origin at z=30). + CadDocument doc; + int p0 = doc.add_plane(0 /*XY*/, 30.0, 0.0, 0, "Plane1"); + REQUIRE(p0 == 0); + + auto planes = doc.resolve_datum_planes(); + REQUIRE(planes.size() == 1); + REQUIRE(planes[0].first == "Plane1"); + CHECK_THAT(planes[0].second.origin.z(), WithinAbs(30.0, 1e-9)); + CHECK_THAT(planes[0].second.normal.z(), WithinAbs(1.0, 1e-9)); + + // A second datum plane tilted 90 deg about the base (XY) X axis: its normal + // rotates from +Z toward -Y (Rodrigues about +X: +Z -> -Y). + doc.add_plane(0 /*XY*/, 0.0, 90.0, 0 /*about X*/, "Plane2"); + planes = doc.resolve_datum_planes(); + REQUIRE(planes.size() == 2); + CHECK_THAT(planes[1].second.normal.y(), WithinAbs(-1.0, 1e-9)); + CHECK_THAT(planes[1].second.normal.z(), WithinAbs(0.0, 1e-9)); + + // Sketch a 10x10 square ON Plane1 and extrude 4 mm: the solid must sit in z=[30,34]. + SketchPlane sp = planes[0].second; + SketchProfile prof; + prof.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; + prof.closed = true; + int sk = doc.add_sketch_profile(prof, sp, "S"); + doc.add_extrude(sk, 4.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + + Bnd_Box bb; + BRepBndLib::Add(doc.body, bb); + double xmin,ymin,zmin,xmax,ymax,zmax; + bb.Get(xmin,ymin,zmin,xmax,ymax,zmax); + CHECK_THAT(zmin, WithinAbs(30.0, 1e-6)); + CHECK_THAT(zmax, WithinAbs(34.0, 1e-6)); + CHECK_THAT(double(doc.display_mesh.volume()), WithinRel(400.0, 0.02)); + + // A datum-plane-only document has no solid, and that is a benign SUCCESS, not a benign + // failure. It used to return false, and "benign failure" is exactly the phrasing that hid + // mtav: two callers read the false as "unusable document" and threw the design + // away — the 3MF recipe was never written, and a project that had one was refused on load. + CadDocument only_plane; + only_plane.add_plane(0, 10.0, 0.0, 0, "P"); + REQUIRE(only_plane.recompute()); + REQUIRE(only_plane.error.empty()); + REQUIRE(only_plane.bodies.empty()); +} + +TEST_CASE("loft builds a solid skinning two profiles on parallel planes", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Bottom 20x20 square on XY. + SketchProfile bot; + bot.points = {{-10,-10},{10,-10},{10,10},{-10,10}}; + bot.closed = true; + int s0 = doc.add_sketch_profile(bot, SketchPlane::XY(), "Bottom"); + + // Top 10x10 square on a datum plane 20 mm above XY (exercises datum -> loft). + doc.add_plane(0 /*XY*/, 20.0, 0.0, 0, "Plane1"); + SketchPlane top = doc.resolve_datum_planes()[0].second; + SketchProfile tp; + tp.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; + tp.closed = true; + int s1 = doc.add_sketch_profile(tp, top, "Top"); + + // Ruled (straight) sections -> exact planar end caps at z=0 and z=20. + doc.add_loft({s0, s1}, true /*ruled*/, BooleanMode::New, "Loft1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // The loft spans z=[0,20]. ThruSections approximates each section as a BSpline + // curve, so the lateral surface bulges ~0.05 mm past the end planes (sub-visual, + // ~0.25%) — assert the span loosely; the volume below is the real correctness gate. + Bnd_Box bb; + BRepBndLib::Add(doc.body, bb); + double xmin,ymin,zmin,xmax,ymax,zmax; + bb.Get(xmin,ymin,zmin,xmax,ymax,zmax); + CHECK_THAT(zmin, WithinAbs(0.0, 0.1)); + CHECK_THAT(zmax, WithinAbs(20.0, 0.1)); + // Square frustum volume = h/3*(A1+A2+sqrt(A1*A2)) = 20/3*(400+100+200) = 4666.67. + CHECK_THAT(double(doc.display_mesh.volume()), WithinRel(4666.67, 0.03)); + + // A single profile is not enough -> benign recompute failure. + CadDocument one; + SketchProfile sp; sp.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; sp.closed = true; + int only = one.add_sketch_profile(sp, SketchPlane::XY(), "Only"); + one.add_loft({only}, false, BooleanMode::New, "L"); + REQUIRE_FALSE(one.recompute()); +} + +TEST_CASE("draft tapers a solid face about the body base", "[CadDocument]") +{ + using namespace Slic3r; + + // 10x10x10 box from z=0..10 (V=1000). Drafting a vertical side face by +10deg about + // the bottom (neutral) plane tilts its top edge inward, removing material so V<1000. + // A box's 2 horizontal faces are parallel to the neutral plane and cannot be drafted + // (Add fails -> recompute returns false), so exactly the 4 vertical sides succeed. + int ok_faces = 0; + bool saw_taper = false; + for (int fid = 0; fid < 6; ++fid) { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 5, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + doc.add_draft(10.0, fid, -1, "Draft1"); + if (!doc.recompute()) continue; // top/bottom faces: parallel to base -> benign skip + ++ok_faces; + const double v = double(doc.display_mesh.volume()); + REQUIRE(v > 0.0); + if (v < 999.0) saw_taper = true; + } + REQUIRE(ok_faces == 4); + REQUIRE(saw_taper); + + // Draft with no body must fail cleanly, not crash. + CadDocument bad; + bad.add_draft(5.0, 0, -1, "NoBody"); + REQUIRE_FALSE(bad.recompute()); +} + +TEST_CASE("a split renumbers the bodies a later feature indexes", "[CadDocument][cut]") +{ + // Pins the invariant the Design tab's re-edit path depends on (oz7): a stored + // target_body indexes the body list AS IT WAS when that feature ran, and a Cut placed + // later in the tree changes that list. If this test ever fails, the GUI's + // fill_body_choice() replay-to-timeline-slot assumption needs revisiting with it. + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + // Cut the single body in half, keeping BOTH pieces — what the Cut card always does. + doc.add_cut(SketchPlane::XY(), 10.0, false, true, true, 0, "Split"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); // one body became two + + // Body index 1 did not exist before the Cut. A feature recorded BEFORE the Cut could + // never have referred to it, which is exactly why re-edit must list the earlier set. + const double half = 20.0 * 20.0 * 10.0; + double v0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double v1 = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + CHECK_THAT(v0 + v1, WithinRel(2.0 * half, 1e-3)); + + // Replaying to just before the Cut yields the pre-split list — the one a feature sitting + // there indexes into. This is the operation fill_body_choice() performs. + CadDocument as_of = doc; + as_of.features.resize(as_of.features.size() - 1); // drop the Cut + REQUIRE(as_of.recompute()); + REQUIRE(as_of.bodies.size() == 1); + CHECK(as_of.bodies.size() < doc.bodies.size()); +} + +TEST_CASE("cut splits a body with a plane", "[cut]") +{ + using Catch::Matchers::WithinRel; + + auto make_box = [](CadDocument& doc, double w, double h, double d) { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = SketchPlane::XY(); + sk.imported_regions = {{ + {Vec2d(-w / 2, -h / 2), Vec2d(w / 2, -h / 2), + Vec2d(w / 2, h / 2), Vec2d(-w / 2, h / 2)}, + }}; + doc.features.push_back(sk); + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.sketch_ref = 0; + ex.distance = d; + doc.features.push_back(ex); + }; + + SECTION("keep upper half only") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double v_orig = double(doc.display_mesh.volume()); + const int n_before = int(doc.bodies.size()); + REQUIRE(v_orig > 0.0); + + CadFeature cut; + cut.type = CadFeatureType::Cut; + cut.plane = SketchPlane::XY(); + cut.cut_offset = 10.0; // mid-height of the 0..20 box + cut.cut_keep_upper = true; + cut.cut_keep_lower = false; + doc.features.push_back(cut); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(int(doc.bodies.size()) == n_before); + REQUIRE_THAT(double(doc.display_mesh.volume()), WithinRel(v_orig * 0.5, 0.01)); + } + + SECTION("keep both halves splits into two bodies") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + const double v_orig = double(doc.display_mesh.volume()); + const int n_before = int(doc.bodies.size()); + REQUIRE(v_orig > 0.0); + + CadFeature cut; + cut.type = CadFeatureType::Cut; + cut.plane = SketchPlane::XY(); + cut.cut_offset = 10.0; + cut.cut_keep_upper = true; + cut.cut_keep_lower = true; + doc.features.push_back(cut); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(int(doc.bodies.size()) == n_before + 1); + REQUIRE_THAT(double(doc.display_mesh.volume()), WithinRel(v_orig, 0.01)); + + for (const auto& b : doc.bodies) { + double v = double(SketchEngine::tessellate(b.shape).volume()); + REQUIRE_THAT(v, WithinRel(v_orig * 0.5, 0.01)); + } + } + + SECTION("keep lower half only") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + const double v_orig = double(doc.display_mesh.volume()); + const int n_before = int(doc.bodies.size()); + + CadFeature cut; + cut.type = CadFeatureType::Cut; + cut.plane = SketchPlane::XY(); + cut.cut_offset = 10.0; + cut.cut_keep_upper = false; + cut.cut_keep_lower = true; + doc.features.push_back(cut); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(int(doc.bodies.size()) == n_before); + REQUIRE_THAT(double(doc.display_mesh.volume()), WithinRel(v_orig * 0.5, 0.01)); + } + + SECTION("flip swaps which side is kept") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + const double v_orig = double(doc.display_mesh.volume()); + + // cut with flip=true, keep_upper=true → the -normal side (original bottom half) + CadFeature cut; + cut.type = CadFeatureType::Cut; + cut.plane = SketchPlane::XY(); + cut.cut_offset = 10.0; + cut.cut_flip = true; + cut.cut_keep_upper = true; + cut.cut_keep_lower = false; + doc.features.push_back(cut); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(double(doc.display_mesh.volume()), WithinRel(v_orig * 0.5, 0.01)); + } + + SECTION("both keep flags false throws") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + + CadFeature cut; + cut.type = CadFeatureType::Cut; + cut.plane = SketchPlane::XY(); + cut.cut_keep_upper = false; + cut.cut_keep_lower = false; + doc.features.push_back(cut); + + REQUIRE_FALSE(doc.recompute()); + } +} + +TEST_CASE("both-halves plane cut splits a body into two equal halves", "[CadDocument][cut]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + double v_orig = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE(v_orig > 0.0); + + doc.add_cut(SketchPlane::XY(), 5.0, false, true, true, 0, "SplitBoth"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + double v0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double v1 = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + REQUIRE_THAT(v0 + v1, WithinRel(v_orig, 1e-4)); + REQUIRE_THAT(v0, WithinRel(20.0 * 20.0 * 5.0, 0.01)); + REQUIRE_THAT(v1, WithinRel(20.0 * 20.0 * 5.0, 0.01)); +} + +TEST_CASE("split by a body face divides a box into two halves via top-face offset", "[CadDocument][cut]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + double v_orig = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_split_by_face(0, -1, top_face, true, true, "SplitByFace"); + doc.features.back().cut_offset = -5.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + double v0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double v1 = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + REQUIRE_THAT(v0 + v1, WithinRel(v_orig, 1e-4)); + REQUIRE_THAT(v0, WithinRel(20.0 * 20.0 * 5.0, 0.02)); + REQUIRE_THAT(v1, WithinRel(20.0 * 20.0 * 5.0, 0.02)); +} + +TEST_CASE("split by face keep upper only", "[CadDocument][cut]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_split_by_face(0, -1, top_face, true, false, "SplitUpper"); + doc.features.back().cut_offset = -5.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + + double v = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE_THAT(v, WithinRel(20.0 * 20.0 * 5.0, 0.02)); +} + +TEST_CASE("split by face round-trip serialization", "[CadDocument][cut]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_split_by_face(0, 0, top_face, true, true, "SplitRT"); + doc.features.back().cut_offset = -5.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + int saved_face_body = doc.features.back().cut_face_body; + int saved_face = doc.features.back().cut_face; + bool saved_upper = doc.features.back().cut_keep_upper; + bool saved_lower = doc.features.back().cut_keep_lower; + size_t saved_nb = doc.bodies.size(); + + std::vector<std::pair<Vec3d, Vec3d>> bboxes; + for (const auto& b : doc.bodies) { + Bnd_Box bb; BRepBndLib::Add(b.shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes.push_back({Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}); + } + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.bodies.size() == saved_nb); + REQUIRE(doc2.features.size() == doc.features.size()); + + const auto& f2 = doc2.features.back(); + REQUIRE(f2.cut_face_body == saved_face_body); + REQUIRE(f2.cut_face == saved_face); + REQUIRE(f2.cut_keep_upper == saved_upper); + REQUIRE(f2.cut_keep_lower == saved_lower); + + for (size_t i = 0; i < saved_nb; ++i) { + Bnd_Box bb; BRepBndLib::Add(doc2.bodies[i].shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(double(x0), WithinAbs(bboxes[i].first.x(), 1e-6)); + REQUIRE_THAT(double(y0), WithinAbs(bboxes[i].first.y(), 1e-6)); + REQUIRE_THAT(double(z0), WithinAbs(bboxes[i].first.z(), 1e-6)); + REQUIRE_THAT(double(x1), WithinAbs(bboxes[i].second.x(), 1e-6)); + REQUIRE_THAT(double(y1), WithinAbs(bboxes[i].second.y(), 1e-6)); + REQUIRE_THAT(double(z1), WithinAbs(bboxes[i].second.z(), 1e-6)); + } +} + +TEST_CASE("mirror reflects a body about a plane", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + auto make_box = [](CadDocument& doc, double w, double h, double d) { + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), w, h, 0, "Box"); + doc.add_extrude(sk, d, false, BooleanMode::New, "E"); + }; + + // --- New mode: 20x20x20 cube, mirror about XZ plane offset to x=30 --- + // The cube is in x=[-10,10]; the mirror is at x=30, so the mirrored cube + // is at x=[50,70]. Disjoint -> two bodies, equal volumes (8000 each). + SECTION("New mode: two disjoint bodies, equal volumes") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double v_orig = double(doc.display_mesh.volume()); + REQUIRE_THAT(v_orig, WithinRel(8000.0, 0.01)); + + doc.add_mirror(SketchPlane::XZ(), 0, BooleanMode::New, "Mirror1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + double v0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double v1 = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + REQUIRE_THAT(v0, WithinRel(8000.0, 0.01)); + REQUIRE_THAT(v1, WithinRel(8000.0, 0.01)); + } + + // --- New mode with keep_original=false: the source body is replaced --- + SECTION("New mode, keep_original=false: source body removed") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + doc.add_mirror(SketchPlane::XZ(), 0, BooleanMode::New, "Mirror1"); + doc.features.back().mirror_keep_original = false; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + double v = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE_THAT(v, WithinRel(8000.0, 0.01)); + } + + // --- Add mode: L-shape, entirely on one side of the mirror plane -> 2x volume --- + // Build an L-shape completely in x>0: base 20x20x5 at x=[0,20] + wall 10x20x10 + // at x=[0,10] on top. Mirror about XZ at x=30 -> mirror at x=[40,60], disjoint. + SECTION("Add mode: asymmetric L-shape, disjoint halves -> 2x volume") { + CadDocument doc; + // Base: 20x20x5, shifted to x=10 so it's in x=[0,20] + CadFeature skb; + skb.type = CadFeatureType::Sketch; + skb.name = "Base"; + skb.plane = SketchPlane::XY(); + skb.imported_regions = {{ {Vec2d(0,-10), Vec2d(20,-10), Vec2d(20,10), Vec2d(0,10)} }}; + doc.features.push_back(skb); + int skb_idx = int(doc.features.size()) - 1; + CadFeature exb; + exb.type = CadFeatureType::Extrude; + exb.name = "EBase"; + exb.sketch_ref = skb_idx; + exb.distance = 5.0; + exb.mode = BooleanMode::New; + doc.features.push_back(exb); + + // Wall: 10x20x10 on top of the base, x=[0,10] + CadFeature skw; + skw.type = CadFeatureType::Sketch; + skw.name = "Wall"; + skw.plane = SketchPlane::XY(); + skw.plane.origin = Vec3d(0, 0, 5); + skw.imported_regions = {{ {Vec2d(0,-10), Vec2d(10,-10), Vec2d(10,10), Vec2d(0,10)} }}; + doc.features.push_back(skw); + int skw_idx = int(doc.features.size()) - 1; + CadFeature exw; + exw.type = CadFeatureType::Extrude; + exw.name = "EWall"; + exw.sketch_ref = skw_idx; + exw.distance = 10.0; + exw.mode = BooleanMode::Add; + exw.target_body = 0; + doc.features.push_back(exw); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double v_l = double(doc.display_mesh.volume()); + + // Mirror about YZ at x=30 -> the mirror is entirely in x=[40,60], + // disjoint from the original in x=[0,20]. + SketchPlane mp = SketchPlane::YZ(); + mp.origin = Vec3d(30, 0, 0); + doc.add_mirror(mp, 0, BooleanMode::Add, "Mirror1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + const double v_m = double(doc.display_mesh.volume()); + REQUIRE_THAT(v_m, WithinRel(2.0 * v_l, 0.02)); + } + + // --- Add mode with intersecting plane -> fused volume < 2x --- + // A 20x20x20 cube centred on the origin (so x=[-10,10]), mirrored about + // XZ plane at x=0. The mirror maps the cube onto itself exactly (symmetry). + // Fusing a cube with itself at the plane of symmetry produces the same cube + // -> volume == original, strictly less than 2x. + SECTION("Add mode: intersecting plane -> volume < 2x original") { + CadDocument doc; + make_box(doc, 20.0, 20.0, 20.0); + REQUIRE(doc.recompute()); + const double v_orig = double(doc.display_mesh.volume()); + REQUIRE_THAT(v_orig, WithinRel(8000.0, 0.01)); + + doc.add_mirror(SketchPlane::XZ(), 0, BooleanMode::Add, "Mirror1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double v_mir = double(doc.display_mesh.volume()); + REQUIRE(v_mir < v_orig * 1.9); + } + + // --- Invalid target body index --- + SECTION("invalid target body index -> error, no crash") { + CadDocument doc; + // No bodies in the document -> mirror must fail, not crash. + doc.features.push_back({CadFeatureType::Mirror, "BadMirror", true, + SketchShape::Rectangle, SketchPlane::XZ()}); + doc.features.back().mode = BooleanMode::New; + REQUIRE_FALSE(doc.recompute()); + REQUIRE_FALSE(doc.error.empty()); + } +} + +TEST_CASE("mirror serialization round-trip", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + + doc.add_mirror(SketchPlane::XZ(), 0, BooleanMode::New, "Mirror1"); + doc.features.back().mirror_keep_original = false; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.recompute()); + REQUIRE(doc2.error.empty()); + + REQUIRE(doc2.features.size() == doc.features.size()); + const auto& f1 = doc.features.back(); + const auto& f2 = doc2.features.back(); + REQUIRE(f2.type == CadFeatureType::Mirror); + REQUIRE(f2.mode == BooleanMode::New); + REQUIRE(f2.mirror_keep_original == false); + REQUIRE(f2.name == "Mirror1"); + + REQUIRE(doc2.bodies.size() == doc.bodies.size()); +} + +TEST_CASE("mass properties: analytic cube", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto mp = doc.body_mass_properties(0); + REQUIRE(mp.valid); + // Cube 20x20x20 -> V = 8000 mm^3 + REQUIRE_THAT(mp.volume, WithinRel(8000.0, 1e-6)); + // Surface area = 6 * 20^2 = 2400 mm^2 + REQUIRE_THAT(mp.surface_area, WithinRel(2400.0, 1e-6)); + // COM at geometric centre: the box centred on origin is from z=0 to z=20, + // so centre at (0, 0, 10) + REQUIRE_THAT(mp.center_of_mass.x(), WithinAbs(0.0, 1e-6)); + REQUIRE_THAT(mp.center_of_mass.y(), WithinAbs(0.0, 1e-6)); + REQUIRE_THAT(mp.center_of_mass.z(), WithinAbs(10.0, 1e-6)); + // Inertia sanity: symmetric cube -> diagonal terms equal, off-diagonal ~0 + double Ixx = mp.inertia[0], Iyy = mp.inertia[4], Izz = mp.inertia[8]; + REQUIRE_THAT(Ixx, WithinRel(8000.0 * (20*20 + 20*20) / 12.0, 1e-4)); // I = m/12*(b^2+h^2) about COM + REQUIRE_THAT(Iyy, WithinRel(Ixx, 1e-4)); + REQUIRE_THAT(Izz, WithinRel(Ixx, 1e-4)); + REQUIRE_THAT(mp.inertia[1], WithinAbs(0.0, 1e-6)); + REQUIRE_THAT(mp.inertia[2], WithinAbs(0.0, 1e-6)); + REQUIRE_THAT(mp.inertia[5], WithinAbs(0.0, 1e-6)); +} + +TEST_CASE("mass properties: analytic cylinder", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + // Circle r=10 on XY, extrude height=5 -> cylinder + SketchEntity c; + c.type = SketchEntity::Type::Circle; + c.center = Vec2d(0, 0); + c.radius = 10.0; + int sk = doc.add_sketch_entities({c}, SketchPlane::XY(), "Circle"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto mp = doc.body_mass_properties(0); + REQUIRE(mp.valid); + double expected_vol = M_PI * 100.0 * 5.0; // pi * r^2 * h + REQUIRE_THAT(mp.volume, WithinRel(expected_vol, 1e-4)); + // Surface: 2*pi*r^2 + 2*pi*r*h = 2*pi*100 + 2*pi*10*5 = 200*pi + 100*pi = 300*pi + double expected_area = 2 * M_PI * 100.0 + 2 * M_PI * 10.0 * 5.0; + REQUIRE_THAT(mp.surface_area, WithinRel(expected_area, 1e-4)); +} + +TEST_CASE("mass properties: hollow body", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + // Solid cube + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + auto mp_solid = doc.body_mass_properties(0); + REQUIRE(mp_solid.valid); + double solid_vol = mp_solid.volume; + + // Hollow cube with a through hole + CadDocument doc2; + int sk2 = doc2.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc2.add_extrude(sk2, 20.0, false, BooleanMode::New, "Extrude"); + doc2.add_hole(10.0, 20.0, true, 0.0, 0.0, SketchPlane::XY(), "Hole"); + REQUIRE(doc2.recompute()); + auto mp_hollow = doc2.body_mass_properties(0); + REQUIRE(mp_hollow.valid); + + // Hollow volume < solid volume + REQUIRE(mp_hollow.volume < solid_vol); + // Hollow = solid - cylinder: V_cyl = pi*5^2*20 = 500*pi + double expected_hollow = solid_vol - M_PI * 25.0 * 20.0; + REQUIRE_THAT(mp_hollow.volume, WithinRel(expected_hollow, 0.01)); +} + +TEST_CASE("mass properties: invalid body index", "[CadDocument]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + // Out of range -> valid=false + auto mp = doc.body_mass_properties(99); + REQUIRE_FALSE(mp.valid); + REQUIRE(mp.volume == 0.0); + // Negative index + auto mp2 = doc.body_mass_properties(-1); + REQUIRE_FALSE(mp2.valid); + + // Empty document (no recompute) -> all bodies empty, index 0 out of range + CadDocument empty; + auto mp3 = empty.body_mass_properties(0); + REQUIRE_FALSE(mp3.valid); +} + +TEST_CASE("serialize_recipe roundtrip with two bodies", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + CadDocument doc; + + // Body 1: rectangle sketch + extrude + fillet + int sk1 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Rect1"); + REQUIRE(sk1 >= 0); + doc.add_extrude(sk1, 10.0, false, BooleanMode::New, "Extrude1"); + doc.add_fillet(2.0, FaceGroup::All, "Fillet1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body 2: circle sketch + extrude (separate New body) + SketchEntity circ; + circ.type = SketchEntity::Type::Circle; + circ.center = Vec2d(0, 0); + circ.radius = 8.0; + int sk2 = doc.add_sketch_entities({circ}, SketchPlane::XZ(), "Circle2"); + doc.add_extrude(sk2, 6.0, false, BooleanMode::New, "Extrude2"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + REQUIRE(doc.bodies.size() >= 2); + std::vector<double> orig_vols; + for (const auto& b : doc.bodies) + orig_vols.push_back(double(SketchEngine::tessellate(b.shape).volume())); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.bodies.size() == doc.bodies.size()); + + for (size_t i = 0; i < doc.bodies.size(); ++i) { + double v2 = double(SketchEngine::tessellate(doc2.bodies[i].shape).volume()); + REQUIRE_THAT(v2, WithinRel(orig_vols[i], 1e-6)); + } +} + +TEST_CASE("deserialize_recipe rejects future version with error", "[CadDocument]") +{ + CadDocument doc; + std::ostringstream oss; + { + cereal::BinaryOutputArchive ar(oss); + uint32_t v = 999; + ar(v); + } + REQUIRE_FALSE(doc.deserialize_recipe(oss.str())); + REQUIRE_FALSE(doc.error.empty()); + CHECK_CONTAINS(doc.error, "newer version"); +} + +TEST_CASE("deserialize_recipe rejects older version with error", "[CadDocument]") +{ + CadDocument doc; + std::ostringstream oss; + { + cereal::BinaryOutputArchive ar(oss); + uint32_t v = 1; + ar(v); + } + REQUIRE_FALSE(doc.deserialize_recipe(oss.str())); + REQUIRE_FALSE(doc.error.empty()); + CHECK_CONTAINS(doc.error, "older version"); +} + +TEST_CASE("deserialize_recipe handles truncated blob without throwing", "[CadDocument]") +{ + CadDocument doc; + std::string garbage = "this is not a valid cereal blob"; + REQUIRE_FALSE(doc.deserialize_recipe(garbage)); + REQUIRE_FALSE(doc.error.empty()); +} + +TEST_CASE("deserialize_recipe handles empty blob without throwing", "[CadDocument]") +{ + CadDocument doc; + REQUIRE_FALSE(doc.deserialize_recipe("")); + REQUIRE_FALSE(doc.error.empty()); +} + +TEST_CASE("deserialize_recipe error is non-empty on every failure path", "[CadDocument]") +{ + CadDocument doc; + auto reset = [&]() { doc = CadDocument{}; }; + + // too new + { + std::ostringstream oss; + { cereal::BinaryOutputArchive ar(oss); uint32_t v = 999; ar(v); } + reset(); + REQUIRE_FALSE(doc.deserialize_recipe(oss.str())); + REQUIRE_FALSE(doc.error.empty()); + } + // too old + { + std::ostringstream oss; + { cereal::BinaryOutputArchive ar(oss); uint32_t v = 1; ar(v); } + reset(); + REQUIRE_FALSE(doc.deserialize_recipe(oss.str())); + REQUIRE_FALSE(doc.error.empty()); + } + // truncated / garbage + { + reset(); + REQUIRE_FALSE(doc.deserialize_recipe("not a valid blob \x00\x01\x02")); + REQUIRE_FALSE(doc.error.empty()); + } + // empty + { + reset(); + REQUIRE_FALSE(doc.deserialize_recipe("")); + REQUIRE_FALSE(doc.error.empty()); + } +} + +TEST_CASE("a v4 project still opens", "[CadDocument][recipe]") +{ + // The regression guard for everyone who already has projects: a pre-framing v4 + // recipe must keep opening on this build, through the unchanged flat path — not be + // refused at the version gate after the bump to v5. + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_v4.bin"; + std::ifstream ifs(path, std::ios::binary); + REQUIRE(ifs.is_open()); + std::string blob((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); + ifs.close(); + REQUIRE_FALSE(blob.empty()); + + // Trusted reference read of the flat v4 layout (what the golden test's Layer 1 does). + std::vector<CadFeature> flat; + { + std::istringstream iss(blob); + cereal::BinaryInputArchive ar(iss); + uint32_t v; + ar(v); + REQUIRE(v == 4); + ar(flat); + } + REQUIRE_FALSE(flat.empty()); + + CadDocument doc; + doc.deserialize_recipe(blob); + // Not refused at the gate: the only failure allowed is the fixture's own geometry + // (the golden doc is a serialization-coverage tree whose fillet radius is too large), + // which is orthogonal to the v5 framing change and unchanged by it. + REQUIRE(doc.error.find("older version") == std::string::npos); + REQUIRE(doc.error.find("newer version") == std::string::npos); + // The v4 flat path read the same feature tree as the trusted reference. + REQUIRE(doc.features.size() == flat.size()); +} + +// Do NOT regenerate cad_recipe_v5.bin either. It was written by the build that predates the +// bump to v6, which is the whole reason it can prove the gate lets a v5 project through. +TEST_CASE("a v5 project still opens", "[CadDocument][recipe]") +{ + // The bump to v6 renamed nothing inside the blob — it records the recipe's move to + // Metadata/orca_cad.bin — so a v5 project must still come through the framed path rather + // than be refused at the version gate for being old. + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_v5.bin"; + std::ifstream ifs(path, std::ios::binary); + REQUIRE(ifs.is_open()); + std::string blob((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); + ifs.close(); + REQUIRE(blob.size() >= sizeof(uint32_t)); + + uint32_t stamped = 0; + std::memcpy(&stamped, blob.data(), sizeof(stamped)); + REQUIRE(stamped == 5); // the fixture really is pre-bump, not a regenerated one + + CadDocument doc; + doc.deserialize_recipe(blob); + // As with the v4 fixture: the only failure allowed is the golden tree's own geometry, which + // is orthogonal to the version gate. Being turned away at the gate is not. + REQUIRE(doc.error.find("older version") == std::string::npos); + REQUIRE(doc.error.find("newer version") == std::string::npos); + REQUIRE_FALSE(doc.features.empty()); +} + +TEST_CASE("a v5 round trip is exact", "[CadDocument][recipe]") +{ + using Catch::Matchers::WithinRel; + CadDocument doc; + + // Body 1: rectangle sketch + extrude + fillet + int sk1 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Rect1"); + REQUIRE(sk1 >= 0); + doc.add_extrude(sk1, 10.0, false, BooleanMode::New, "Extrude1"); + doc.add_fillet(2.0, FaceGroup::All, "Fillet1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body 2: circle sketch + extrude (separate New body) + SketchEntity circ; + circ.type = SketchEntity::Type::Circle; + circ.center = Vec2d(0, 0); + circ.radius = 8.0; + int sk2 = doc.add_sketch_entities({circ}, SketchPlane::XZ(), "Circle2"); + doc.add_extrude(sk2, 6.0, false, BooleanMode::New, "Extrude2"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + REQUIRE(doc.bodies.size() >= 2); + std::vector<double> orig_vols; + for (const auto& b : doc.bodies) + orig_vols.push_back(double(SketchEngine::tessellate(b.shape).volume())); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.features.size() == doc.features.size()); + for (size_t i = 0; i < doc.features.size(); ++i) + REQUIRE(doc2.features[i].type == doc.features[i].type); + REQUIRE(doc2.bodies.size() == doc.bodies.size()); + for (size_t i = 0; i < doc.bodies.size(); ++i) { + double v2 = double(SketchEngine::tessellate(doc2.bodies[i].shape).volume()); + REQUIRE_THAT(v2, WithinRel(orig_vols[i], 1e-6)); + } +} + +TEST_CASE("a truncated feature keeps what it could read", "[CadDocument][recipe]") +{ + // The forward-compat proof: a framed reader that meets a feature blob shorter than its own + // field list must keep what it read and default the rest, not error. Simulate an older + // file by hand-shortening ONE feature's frame: rewrite its length prefix and drop the + // tail bytes, then confirm the load still succeeds and the fields before the cut survive. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "Sk1"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Ex1"); + int sk2 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 12, 12, 0, "Sk2"); + doc.add_extrude(sk2, 3.0, false, BooleanMode::New, "Ex2"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Two trailing connector-fingerprint fields, made distinctive so the cut is observable: + // coordsys_face_kind sits right before the LAST serialized field (coordsys_face_edges), + // which is the one we drop. They are ignored by an Extrude's recompute, so the truncated + // document still replays cleanly. + doc.features[1].coordsys_face_kind = 777; + doc.features[1].coordsys_face_edges = 888; + + auto blob = doc.serialize_recipe(); + REQUIRE(blob.size() > 8); + + auto rd32 = [](const std::string& s, size_t off) -> uint32_t { + uint32_t u; + std::memcpy(&u, s.data() + off, sizeof(u)); + return u; + }; + auto wr32 = [](std::string& s, size_t off, uint32_t u) { + std::memcpy(&s[off], &u, sizeof(u)); + }; + + // Against the constant, not a literal: what this asserts is that the outer frame opens with + // the version stamp, which stays true across every bump. + REQUIRE(rd32(blob, 0) == CadDocument::ORCA_CAD_RECIPE_VERSION); + uint32_t count = rd32(blob, 4); + REQUIRE(count == doc.features.size()); + + // Walk the outer framing: version + count, then [len][bytes] per feature. + std::vector<size_t> f_off, f_len; + size_t off = 8; + for (uint32_t i = 0; i < count; ++i) { + f_off.push_back(off); + f_len.push_back(rd32(blob, off)); + off += 4 + f_len.back(); + } + + // Shorten feature 1 by dropping its final field (4 bytes): rewrite its length prefix + // and erase the tail bytes. The reader then runs out inside fa(f), throws, and keeps + // everything it had already assigned — that is the whole point of the try/catch. + const size_t drop = sizeof(uint32_t); + REQUIRE(f_len[1] > drop); + std::string shortened = blob; + shortened.erase(f_off[1] + 4 + f_len[1] - drop, drop); + wr32(shortened, f_off[1], static_cast<uint32_t>(f_len[1] - drop)); + + CadDocument loaded; + REQUIRE(loaded.deserialize_recipe(shortened)); + REQUIRE(loaded.error.empty()); + REQUIRE(loaded.features.size() == count); + + // Fields before the cut survived; the cut field defaulted; the neighbours on both sides + // are intact, proving the outer framing held. + REQUIRE(loaded.features[1].name == doc.features[1].name); + REQUIRE(loaded.features[1].coordsys_face_kind == 777); // right before the cut + REQUIRE(loaded.features[1].coordsys_face_edges == -1); // defaulted by the cut + REQUIRE(loaded.features[0].name == doc.features[0].name); + REQUIRE(loaded.features[2].name == doc.features[2].name); +} + +TEST_CASE("a v3 recipe is refused with a message naming the version", "[CadDocument][recipe]") +{ + // Honesty guard: the framing fixes the future, not the past. A v3 field list no longer + // exists in this code, so a v3 blob must be refused cleanly and must say which version. + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_v3.bin"; + std::ifstream ifs(path, std::ios::binary); + REQUIRE(ifs.is_open()); + std::string blob((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); + ifs.close(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc; + REQUIRE_FALSE(doc.deserialize_recipe(blob)); + REQUIRE_FALSE(doc.error.empty()); + REQUIRE(doc.error.find("v3") != std::string::npos); +} + +TEST_CASE("re-edit: editing a mid-timeline feature rebuilds downstream", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + CadDocument doc; + + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 10, 0, "Sketch1"); + REQUIRE(sk >= 0); + int ex = doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(ex >= 0); + doc.add_fillet(1.0, FaceGroup::All, "Fillet1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + Vec3d sz0 = doc.display_mesh.bounding_box().size(); + REQUIRE(sz0.z() > 0.0); + + // Edit the MID feature (extrude — NOT the last; Fillet is downstream). + doc.features[ex].distance = 12.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + Vec3d sz1 = doc.display_mesh.bounding_box().size(); + REQUIRE(sz1.z() > sz0.z() + 1.0); + REQUIRE(doc.bodies.size() == 1); + + // Edit the FIRST feature (sketch width) — must propagate the whole chain. + doc.features[sk].width = 30; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + Vec3d sz2 = doc.display_mesh.bounding_box().size(); + REQUIRE(sz2.x() > sz1.x() + 1.0); +} + +TEST_CASE("re-edit survives serialize -> deserialize", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + CadDocument doc; + + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 10, 0, "Sketch1"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude1"); + doc.add_fillet(1.0, FaceGroup::All, "Fillet1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.recompute()); + REQUIRE(doc2.error.empty()); + Vec3d sz_pre = doc2.display_mesh.bounding_box().size(); + REQUIRE(sz_pre.z() > 0.0); + + // Mid-edit the deserialized document — the persisted recipe stays re-editable. + doc2.features[1].distance = 12.0; + REQUIRE(doc2.recompute()); + REQUIRE(doc2.error.empty()); + Vec3d sz_post = doc2.display_mesh.bounding_box().size(); + REQUIRE(sz_post.z() > sz_pre.z() + 1.0); +} + +TEST_CASE("re-edit: multi-type timeline replays all downstream features", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + CadDocument doc; + + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 30, 30, 0, "Sketch1"); + REQUIRE(sk >= 0); + int ex = doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(ex >= 0); + doc.add_hole(6.0, 4.0, false, 0.0, 0.0, SketchPlane::XY(), "Hole1"); + doc.add_chamfer(1.0, FaceGroup::All, "Chamfer1"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + size_t n_bodies = doc.bodies.size(); + REQUIRE(n_bodies >= 1); + Vec3d sz0 = doc.display_mesh.bounding_box().size(); + REQUIRE(sz0.z() > 0.0); + + // Edit the MID extrude — downstream Hole and Chamfer must rebuild. + doc.features[ex].distance = 16.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == n_bodies); + Vec3d sz1 = doc.display_mesh.bounding_box().size(); + REQUIRE(sz1.z() > sz0.z() + 1.0); +} + +TEST_CASE("datum plane construction methods", "[CadDocument][plane]") +{ + using Catch::Matchers::WithinAbs; + + // Build a doc with a box (sketch rect 40x30 + extrude 20) so bodies[0] has faces/edges. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 40, 30, 0, "BoxSketch"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + const int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + REQUIRE(n_faces == 6); // a box + const int n_edges = GeometryEngine::edge_count(doc.bodies[0].shape); + REQUIRE(n_edges == 12); + + // Find top face (normal ~ +Z) and bottom face (normal ~ -Z) by scanning. + int top_idx = -1, bot_idx = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) top_idx = i; + if (n.z() < -0.9) bot_idx = i; + } + REQUIRE(top_idx >= 0); + REQUIRE(bot_idx >= 0); + + // --- Offset from base XY by 10 --- + auto planes0 = doc.resolve_datum_planes(); + size_t initial = planes0.size(); + + CadFeature f0; + f0.type = CadFeatureType::Plane; + f0.name = "Offset10"; + f0.plane_base = 0; // XY + f0.plane_type = PlaneType::Offset; + f0.plane_offset = 10; + doc.features.push_back(f0); + + auto planes = doc.resolve_datum_planes(); + REQUIRE(planes.size() == initial + 1); + CHECK_THAT(planes.back().second.origin.z(), WithinAbs(10.0, 1e-6)); + CHECK_THAT(planes.back().second.normal.z(), WithinAbs(1.0, 1e-6)); + + // --- Coincident to top face --- + CadFeature f1; + f1.type = CadFeatureType::Plane; + f1.name = "CoincidentTop"; + f1.plane_type = PlaneType::Coincident; + f1.plane_face_body = 0; + f1.plane_face = top_idx; + doc.features.push_back(f1); + + planes = doc.resolve_datum_planes(); + REQUIRE(planes.size() == initial + 2); + CHECK_THAT(planes.back().second.origin.z(), WithinAbs(20.0, 1e-6)); // box height is 20 + CHECK_THAT(planes.back().second.normal.z(), WithinAbs(1.0, 1e-6)); + + // --- Midplane between top and bottom faces --- + CadFeature f2; + f2.type = CadFeatureType::Plane; + f2.name = "Midplane"; + f2.plane_type = PlaneType::Midplane; + f2.plane_face_body = 0; + f2.plane_face = top_idx; + f2.plane_face2_body = 0; + f2.plane_face2 = bot_idx; + doc.features.push_back(f2); + + planes = doc.resolve_datum_planes(); + REQUIRE(planes.size() == initial + 3); + CHECK_THAT(planes.back().second.origin.z(), WithinAbs(10.0, 1e-6)); // midway + CHECK_THAT(std::abs(planes.back().second.normal.z()), WithinAbs(1.0, 1e-6)); + + // --- Orthonormality check on all resolved planes --- + for (const auto& [name, sp] : planes) { + INFO("Plane: " << name); + CHECK_THAT(sp.normal.norm(), WithinAbs(1.0, 1e-6)); + CHECK_THAT(sp.x_axis.norm(), WithinAbs(1.0, 1e-6)); + CHECK_THAT(sp.y_axis.norm(), WithinAbs(1.0, 1e-6)); + CHECK_THAT(std::abs(sp.x_axis.dot(sp.y_axis)), WithinAbs(0.0, 1e-6)); + CHECK_THAT(std::abs(sp.x_axis.dot(sp.normal)), WithinAbs(0.0, 1e-6)); + CHECK_THAT(std::abs(sp.y_axis.dot(sp.normal)), WithinAbs(0.0, 1e-6)); + } +} + +// Mirrors the Snapmaker [Deviation] case (Snapmaker carries it in test_geometry.cpp; here it lives +// alongside the CAD suite). GeometryEngine::surface_deviation = one-sided Hausdorff used by the +// MCP validate_against acceptance metric. +TEST_CASE("surface_deviation: identical solids ~0, shifted solid ~shift", "[Deviation]") +{ + TopoDS_Shape ref = BRepPrimAPI_MakeBox(10.0, 10.0, 10.0).Shape(); + auto d0 = GeometryEngine::surface_deviation(ref, ref, 0.5); + REQUIRE(d0.sample_count > 0); + REQUIRE_THAT(d0.max_mm, Catch::Matchers::WithinAbs(0.0, 1e-6)); + + // candidate shifted +2mm in X: far corner vertices sit 2mm outside the reference + gp_Trsf t; t.SetTranslation(gp_Vec(2.0, 0.0, 0.0)); + TopoDS_Shape shifted = BRepBuilderAPI_Transform(ref, t, true).Shape(); + auto d1 = GeometryEngine::surface_deviation(shifted, ref, 0.5); + REQUIRE_THAT(d1.max_mm, Catch::Matchers::WithinAbs(2.0, 0.05)); + REQUIRE(d1.mean_mm > 0.0); +} + +TEST_CASE("mesh_to_brep: watertight cube -> solid, coplanar merge gives 6 faces", "[design][mesh2brep]") +{ + const indexed_triangle_set cube = its_make_cube(10.0, 20.0, 30.0); + REQUIRE(cube.indices.size() == 12); + + SECTION("faceted: one B-rep face per triangle, exact volume") { + GeometryEngine::MeshBrepStats st; + const TopoDS_Shape shape = GeometryEngine::mesh_to_brep(cube, 0.01, /*no merge*/0.0, st); + REQUIRE_FALSE(shape.IsNull()); + CHECK(st.kept_tris == 12); + CHECK(st.faces_built == 12); + CHECK(st.faces_final == 12); + // Shared topology by construction: a cube has 8 vertices and 18 edges once the two + // triangles of each face share their diagonal. Every edge used exactly twice. + CHECK(st.unique_edges == 18); + CHECK(st.boundary_edges == 0); + CHECK(st.nonmanifold_edges == 0); + CHECK(st.watertight); + REQUIRE(st.is_solid); + REQUIRE_THAT(st.volume, Catch::Matchers::WithinRel(10.0 * 20.0 * 30.0, 1e-9)); + } + + SECTION("merge coplanar: 12 triangles collapse to the cube's 6 real faces") { + GeometryEngine::MeshBrepStats st; + const TopoDS_Shape shape = GeometryEngine::mesh_to_brep(cube, 0.01, 5.0, st); + REQUIRE_FALSE(shape.IsNull()); + REQUIRE(st.is_solid); + // This is the whole point of merging: the imported body must expose pickable CAD faces, + // not one face per triangle, or the fillet/extrude tools have nothing meaningful to grab. + REQUIRE(st.faces_final == 6); + REQUIRE_THAT(st.volume, Catch::Matchers::WithinRel(10.0 * 20.0 * 30.0, 1e-9)); + } +} + +TEST_CASE("mesh_to_brep: an open mesh is reported as a shell, never a fake solid", "[design][mesh2brep]") +{ + indexed_triangle_set open_cube = its_make_cube(10.0, 10.0, 10.0); + open_cube.indices.pop_back(); // punch a hole: drop one triangle + open_cube.indices.pop_back(); // (and its coplanar partner -> a whole face missing) + + GeometryEngine::MeshBrepStats st; + const TopoDS_Shape shape = GeometryEngine::mesh_to_brep(open_cube, 0.01, 5.0, st); + REQUIRE_FALSE(shape.IsNull()); + CHECK(st.kept_tris == 10); + CHECK(st.boundary_edges > 0); // the hole's rim + CHECK_FALSE(st.watertight); + REQUIRE_FALSE(st.is_solid); // must NOT be dressed up as a solid + CHECK(st.volume == 0.0); +} + +TEST_CASE("mesh_to_brep: degenerate triangles are rejected on a scale-independent test", "[design][mesh2brep]") +{ + // A thin but perfectly legitimate CAD sliver. Every edge (1.0, ~0.5, ~0.5) is far above the + // 0.01 dedup tolerance, so no vertex collapses — but its area (5e-5) is BELOW tolerance^2 + // (1e-4). A rule of "reject when area < tolerance^2" would therefore throw it away, which is + // precisely the bug that turned a watertight 62k-triangle input into a falsely-open shell. + // The scale-independent test (area < 1e-9 * longest_edge^2 = 1e-9) keeps it, as it must. + indexed_triangle_set sliver; + sliver.vertices = { {0.f, 0.f, 0.f}, {1.f, 0.f, 0.f}, {0.5f, 0.0001f, 0.f} }; + sliver.indices = { {0, 1, 2} }; + GeometryEngine::MeshBrepStats st; + GeometryEngine::mesh_to_brep(sliver, 0.01, 0.0, st); + CHECK(st.degenerate_sliver == 0); + CHECK(st.degenerate_collapsed == 0); + CHECK(st.kept_tris == 1); + + // A truly collinear triangle has no area at any scale -> rejected as a sliver. + indexed_triangle_set collinear; + collinear.vertices = { {0.f, 0.f, 0.f}, {10.f, 0.f, 0.f}, {20.f, 0.f, 0.f} }; + collinear.indices = { {0, 1, 2} }; + GeometryEngine::MeshBrepStats st2; + CHECK_THROWS(GeometryEngine::mesh_to_brep(collinear, 0.01, 0.0, st2)); // nothing left to build + CHECK(st2.degenerate_sliver == 1); + + // A triangle entirely inside one tolerance cell is sub-resolution noise -> collapsed. + indexed_triangle_set tiny; + tiny.vertices = { {0.f, 0.f, 0.f}, {0.001f, 0.f, 0.f}, {0.f, 0.001f, 0.f} }; + tiny.indices = { {0, 1, 2} }; + GeometryEngine::MeshBrepStats st3; + CHECK_THROWS(GeometryEngine::mesh_to_brep(tiny, 0.1, 0.0, st3)); + CHECK(st3.degenerate_collapsed == 1); +} + +TEST_CASE("datum axis: two points direction is unit and analytic", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int ax = doc.add_axis(AxisType::TwoPoints, "AxisThroughZ"); + REQUIRE(ax == 0); + doc.features[ax].axis_p1 = Vec3d(0, 0, 0); + doc.features[ax].axis_p2 = Vec3d(0, 0, 10); + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE(axes[0].name == "AxisThroughZ"); + REQUIRE(axes[0].error.empty()); + CHECK_THAT(axes[0].direction.x(), WithinAbs(0.0, 1e-12)); + CHECK_THAT(axes[0].direction.y(), WithinAbs(0.0, 1e-12)); + CHECK_THAT(axes[0].direction.z(), WithinAbs(1.0, 1e-12)); + CHECK_THAT(axes[0].direction.norm(), WithinAbs(1.0, 1e-9)); + CHECK_THAT(axes[0].origin.x(), WithinAbs(0.0, 1e-9)); + CHECK_THAT(axes[0].origin.y(), WithinAbs(0.0, 1e-9)); + CHECK_THAT(axes[0].origin.z(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("datum axis: degenerate two identical points fails cleanly", "[CadDocument]") +{ + CadDocument doc; + int ax = doc.add_axis(AxisType::TwoPoints, "Degenerate"); + doc.features[ax].axis_p1 = Vec3d(5, 5, 5); + doc.features[ax].axis_p2 = Vec3d(5, 5, 5); + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE_FALSE(axes[0].error.empty()); +} + +TEST_CASE("datum axis: two parallel planes fail with error", "[CadDocument]") +{ + CadDocument doc; + // Two offset XY planes are parallel -> no intersection. + // 3 and 4, not 0 and 1: axis_plane_a/b use the same encoding as plane_base — 0/1/2 are the + // XY/XZ/YZ base planes and datums start at 3 — because the GUI fills these from + // populate_plane_choices() and stores the row verbatim. + doc.add_plane(0 /*XY*/, 10.0, 0.0, 0, "PlaneA"); + doc.add_plane(0 /*XY*/, 30.0, 0.0, 0, "PlaneB"); + + int ax = doc.add_axis(AxisType::TwoPoints, "Parallel"); + doc.features[ax].axis_type = AxisType::PlaneIntersection; + doc.features[ax].axis_plane_a = 3; + doc.features[ax].axis_plane_b = 4; + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE_FALSE(axes[0].error.empty()); +} + +// The case the GUI actually produces most often, and which could not work before: the two refs +// are rows of the plane picker, whose first three entries are the base planes. XY x XZ is the +// X axis. Previously ref 0 was read as "datum plane 0", so this silently resolved to the wrong +// plane or failed with "plane ref not found". +TEST_CASE("datum axis: intersection of two BASE planes gives the expected axis", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int ax = doc.add_axis(AxisType::PlaneIntersection, "XAxis"); + doc.features[ax].axis_plane_a = 0; // XY + doc.features[ax].axis_plane_b = 1; // XZ + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE(axes[0].error.empty()); + // XY normal is Z, XZ normal is Y; Z x Y is +/-X. + CHECK_THAT(std::abs(axes[0].direction.x()), WithinAbs(1.0, 1e-12)); + CHECK_THAT(axes[0].direction.y(), WithinAbs(0.0, 1e-12)); + CHECK_THAT(axes[0].direction.z(), WithinAbs(0.0, 1e-12)); +} + +// A datum plane crossed with a base plane — the mixed case, which pins the +3 offset. +TEST_CASE("datum axis: base plane crossed with a datum plane", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + doc.add_plane(1 /*XZ*/, 5.0, 0.0, 0, "OffsetXZ"); // datum 0 -> row 3 + + int ax = doc.add_axis(AxisType::PlaneIntersection, "MixedAxis"); + doc.features[ax].axis_plane_a = 0; // XY base + doc.features[ax].axis_plane_b = 3; // the datum above + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE(axes[0].error.empty()); + CHECK_THAT(std::abs(axes[0].direction.x()), WithinAbs(1.0, 1e-12)); +} + +TEST_CASE("datum axis: cylinder centreline from extruded circle", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Build a cylinder: circle r=5 at origin, extrude 20 mm along +Z -> cylinder z=[0,20] + int sk = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 5.0, "Circle"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Cyl"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + // Find the lateral cylindrical face + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int lateral_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + GeometryEngine::CylinderFace cyl = GeometryEngine::cylinder_of_face(fc); + if (cyl.ok) { lateral_face = i; break; } + } + REQUIRE(lateral_face >= 0); + + int ax = doc.add_axis(AxisType::TwoPoints, "CylAx"); + doc.features[ax].axis_type = AxisType::CylinderCenterline; + doc.features[ax].axis_body = 0; + doc.features[ax].axis_face = lateral_face; + + auto axes = doc.resolve_datum_axes(); + REQUIRE(axes.size() == 1); + REQUIRE(axes[0].error.empty()); + // OCCT may return the axis direction as +Z or -Z depending on face orientation; + // the centreline is always collinear with Z and passes through (x=0,y=0). + CHECK_THAT(std::abs(axes[0].direction.z()), WithinAbs(1.0, 1e-12)); + CHECK_THAT(axes[0].direction.x(), WithinAbs(0.0, 1e-12)); + CHECK_THAT(axes[0].direction.y(), WithinAbs(0.0, 1e-12)); + CHECK_THAT(axes[0].origin.x(), WithinAbs(0.0, 1e-6)); + CHECK_THAT(axes[0].origin.y(), WithinAbs(0.0, 1e-6)); +} + +TEST_CASE("datum coordinate system: non-perpendicular inputs produce orthonormal axes", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Build a body so we have a face to reference for FaceAndDirection. + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + Vec3d fn = GeometryEngine::face_normal_world(GeometryEngine::face_by_index(doc.bodies[0].shape, i)); + if (fn.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "CS1"); + REQUIRE(cs >= 0); + doc.features[cs].coordsys_type = CoordSysType::FaceAndDirection; + doc.features[cs].coordsys_body = 0; + doc.features[cs].coordsys_face = top_face; + // Deliberately non-perpendicular X hint (NOT orthogonal to face normal ~+Z). + doc.features[cs].coordsys_x_hint = Vec3d(3.0, -1.0, 0.5); + + auto css = doc.resolve_datum_coordsys(); + REQUIRE(css.size() == 1); + REQUIRE(css[0].error.empty()); + + Vec3d X = css[0].x, Y = css[0].y; + // Orthonormality: each axis has unit length + CHECK_THAT(X.norm(), WithinAbs(1.0, 1e-9)); + CHECK_THAT(Y.norm(), WithinAbs(1.0, 1e-9)); + // Pairwise dot products are ~0 + CHECK_THAT(std::abs(X.dot(Y)), WithinAbs(0.0, 1e-9)); + // Z = X x Y (derived), also unit and perpendicular + Vec3d Z = X.cross(Y); + CHECK_THAT(Z.norm(), WithinAbs(1.0, 1e-9)); + CHECK_THAT(std::abs(X.dot(Z)), WithinAbs(0.0, 1e-9)); + CHECK_THAT(std::abs(Y.dot(Z)), WithinAbs(0.0, 1e-9)); + // Right-handedness: X x Y == Z + CHECK_THAT(Z.x(), WithinAbs((X.cross(Y)).x(), 1e-9)); + CHECK_THAT(Z.y(), WithinAbs((X.cross(Y)).y(), 1e-9)); + CHECK_THAT(Z.z(), WithinAbs((X.cross(Y)).z(), 1e-9)); +} + +TEST_CASE("datum coordinate system: a face-only frame rotates with its body", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + // The bug this pins down: Z came from the face normal (body-following) but X came from + // coordsys_x_hint, a WORLD constant. Spinning the body about its own face normal left the + // frame identical, so a face-only connector could not encode that rotation at all — and a + // Fastened or Slider mate built on it claimed to fix an orientation it could not see. + // A rectangular top face is used deliberately: its edges give an unambiguous in-plane + // direction, so "did the frame follow the body" is answerable to the degree. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 40, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + Vec3d fn = GeometryEngine::face_normal_world(GeometryEngine::face_by_index(doc.bodies[0].shape, i)); + if (fn.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "CS"); + doc.features[cs].coordsys_type = CoordSysType::FaceAndDirection; + doc.features[cs].coordsys_body = 0; + doc.features[cs].coordsys_face = top_face; + doc.features[cs].coordsys_edge = -1; // face only: no explicit direction edge + REQUIRE(doc.recompute()); + + auto before = doc.resolve_datum_coordsys(); + REQUIRE(before.size() == 1); + REQUIRE(before[0].error.empty()); + const Vec3d X0 = before[0].x; + const Vec3d Z0 = before[0].x.cross(before[0].y); + + // Spin the body 90 degrees about its own face normal (world Z here). + doc.add_transform(0, Vec3d(0, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 90.0, false, "Spin"); + REQUIRE(doc.recompute()); + + auto after = doc.resolve_datum_coordsys(); + REQUIRE(after.size() == 1); + REQUIRE(after[0].error.empty()); + const Vec3d X1 = after[0].x; + + // The normal is unchanged by a spin about itself — that is exactly why the old code could + // not detect the rotation. + const Vec3d Z1 = after[0].x.cross(after[0].y); + CHECK_THAT(std::abs(Z0.dot(Z1)), WithinAbs(1.0, 1e-6)); + + // X must have turned with the body. Before the fix X0 == X1 and this failed. + const double cos_turn = std::clamp(X0.dot(X1), -1.0, 1.0); + CHECK_THAT(std::abs(cos_turn), WithinAbs(0.0, 1e-6)); // 90 degrees apart +} + +TEST_CASE("datum coordinate system: point_world gives world axes", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(10, 20, 30), "CS_World"); + REQUIRE(cs == 0); + + auto css = doc.resolve_datum_coordsys(); + REQUIRE(css.size() == 1); + REQUIRE(css[0].error.empty()); + CHECK_THAT(css[0].origin.x(), WithinAbs(10.0, 1e-9)); + CHECK_THAT(css[0].origin.y(), WithinAbs(20.0, 1e-9)); + CHECK_THAT(css[0].origin.z(), WithinAbs(30.0, 1e-9)); + CHECK_THAT(css[0].x.x(), WithinAbs(1.0, 1e-9)); + CHECK_THAT(css[0].x.y(), WithinAbs(0.0, 1e-9)); + CHECK_THAT(css[0].x.z(), WithinAbs(0.0, 1e-9)); + CHECK_THAT(css[0].y.x(), WithinAbs(0.0, 1e-9)); + CHECK_THAT(css[0].y.y(), WithinAbs(1.0, 1e-9)); + CHECK_THAT(css[0].y.z(), WithinAbs(0.0, 1e-9)); +} + + +TEST_CASE("helix curve: arc length, bounding box, left-handed, conical", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + // --- Cylindrical helix r=5, pitch=2, height=10 (5 turns) --- + // One turn arc length = sqrt((2*pi*r)^2 + pitch^2) = sqrt((10*pi)^2 + 4). + // Total = 5 * sqrt(986.96...) ≈ 5 * 31.4159 ≈ 157.08 mm. + SECTION("cylindrical helix arc length matches analytic") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 2.0, 10.0, false, 0.0, "H1"); + REQUIRE(doc.features.size() == 1); + std::string err; + TopoDS_Wire w = doc.build_helix_wire(doc.features[0], err); + REQUIRE_FALSE(w.IsNull()); + REQUIRE(err.empty()); + + GProp_GProps props; + BRepGProp::LinearProperties(w, props); + const double len = props.Mass(); + const double one_turn = std::sqrt(std::pow(2.0 * M_PI * 5.0, 2) + std::pow(2.0, 2)); + const double expected = 5.0 * one_turn; + REQUIRE_THAT(len, WithinRel(expected, 1e-3)); + } + + // --- Bounding box: X/Y extent = 2*radius, Z extent = height --- + SECTION("cylindrical helix bounding box") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 2.0, 10.0, false, 0.0, "H1"); + std::string err; + TopoDS_Wire w = doc.build_helix_wire(doc.features[0], err); + REQUIRE_FALSE(w.IsNull()); + + Bnd_Box bb; + BRepBndLib::Add(w, bb); + double xmin, ymin, zmin, xmax, ymax, zmax; + bb.Get(xmin, ymin, zmin, xmax, ymax, zmax); + REQUIRE_THAT(xmax - xmin, WithinRel(10.0, 0.1)); + REQUIRE_THAT(ymax - ymin, WithinRel(10.0, 0.1)); + REQUIRE_THAT(zmax - zmin, WithinRel(10.0, 0.1)); + } + + // --- Left-handed helix: sample a point at parameter ~0.25 and compare --- + SECTION("left_handed flips the winding direction") { + CadDocument doc_rh, doc_lh; + doc_rh.add_helix(SketchPlane::XY(), 5.0, 2.0, 10.0, false, 0.0, "RH"); + doc_lh.add_helix(SketchPlane::XY(), 5.0, 2.0, 10.0, true, 0.0, "LH"); + + std::string err; + TopoDS_Wire w_rh = doc_rh.build_helix_wire(doc_rh.features[0], err); + TopoDS_Wire w_lh = doc_lh.build_helix_wire(doc_lh.features[0], err); + REQUIRE_FALSE(w_rh.IsNull()); + REQUIRE_FALSE(w_lh.IsNull()); + + // Sample at height = height/4 along the helix: + // RH: angle = 2*pi*turns*0.25 = pi/2, direction is +2*pi*turns + // so at z = 2.5: u = pi/2 => x = r*cos(pi/2) = 0, y = r*sin(pi/2) = +5 + // LH: angle goes negative, at z = 2.5: u = -pi/2 => x = 0, y = -5 + double z_sample = 2.5; // height/4 + // Approximate by scanning edges and picking the vertex nearest to target z + auto point_at_z = [&](const TopoDS_Wire& w, double target_z) -> gp_Pnt { + double best_dz = 1e9; + gp_Pnt best(0,0,0); + for (TopExp_Explorer ex(w, TopAbs_EDGE); ex.More(); ex.Next()) { + TopoDS_Edge e = TopoDS::Edge(ex.Current()); + BRepAdaptor_Curve curve(e); + double u0 = curve.FirstParameter(); + double u1 = curve.LastParameter(); + for (int s = 0; s <= 100; ++s) { + double u = u0 + (u1 - u0) * s / 100.0; + gp_Pnt p = curve.Value(u); + if (std::abs(p.Z() - target_z) < best_dz) { + best_dz = std::abs(p.Z() - target_z); + best = p; + } + } + } + return best; + }; + + gp_Pnt prh = point_at_z(w_rh, z_sample); + gp_Pnt plh = point_at_z(w_lh, z_sample); + + // At z=2.5 for RH: angle ~ pi/2 -> y > 0 + REQUIRE(prh.Y() > 0.0); + // At z=2.5 for LH: angle ~ -pi/2 -> y < 0 + REQUIRE(plh.Y() < 0.0); + // They must differ in sign of y (mirror winding), not just "differ" + REQUIRE(prh.Y() * plh.Y() < 0.0); + } + + // --- Conical helix: top radius matches r + height*tan(taper) --- + SECTION("conical helix top radius") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 2.0, 10.0, false, 10.0, "Cone"); + std::string err; + TopoDS_Wire w = doc.build_helix_wire(doc.features[0], err); + REQUIRE_FALSE(w.IsNull()); + REQUIRE(err.empty()); + + // Top radius = 5 + 10*tan(10) ≈ 5 + 1.7633 = 6.7633 + const double expected_top = 5.0 + 10.0 * std::tan(10.0 * M_PI / 180.0); + + // Sample at z = height: use same sampling approach + double best_dz = 1e9; + gp_Pnt best(0,0,0); + for (TopExp_Explorer ex(w, TopAbs_EDGE); ex.More(); ex.Next()) { + TopoDS_Edge e = TopoDS::Edge(ex.Current()); + BRepAdaptor_Curve curve(e); + double u0 = curve.FirstParameter(); + double u1 = curve.LastParameter(); + for (int s = 0; s <= 200; ++s) { + double u = u0 + (u1 - u0) * s / 200.0; + gp_Pnt p = curve.Value(u); + if (std::abs(p.Z() - 10.0) < best_dz) { + best_dz = std::abs(p.Z() - 10.0); + best = p; + } + } + } + double top_r = std::sqrt(best.X() * best.X() + best.Y() * best.Y()); + REQUIRE_THAT(top_r, WithinRel(expected_top, 1e-2)); + } +} + +TEST_CASE("helix: invalid inputs fail cleanly", "[CadDocument]") +{ + SECTION("radius <= 0") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 0.0, 2.0, 10.0, false, 0.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + } + SECTION("pitch <= 0") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 0.0, 10.0, false, 0.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + } + SECTION("height < 0") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 2.0, -1.0, false, 0.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + } + SECTION("height == 0 (flat spiral) rejected") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 2.0, 0.0, false, 0.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + CHECK_CONTAINS(err, "flat spiral"); + } + SECTION("absurd turn count") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 5.0, 1e-4, 2.0, false, 0.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + } + SECTION("taper drives radius negative") { + CadDocument doc; + doc.add_helix(SketchPlane::XY(), 1.0, 2.0, 10.0, false, -10.0, "H"); + std::string err; + REQUIRE(doc.build_helix_wire(doc.features[0], err).IsNull()); + REQUIRE_FALSE(err.empty()); + CHECK_CONTAINS(err, "negative"); + } +} + +TEST_CASE("helix as sweep path: spring integration test", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + + // Build a plane at the helix start (5,0,0) whose normal IS the start tangent direction. + // The helix tangent at u=0 is (0, R, P/(2*pi)) = (0, 5, 3/(2*pi)). + const double R = 5.0, P = 3.0; + Vec3d tan_dir(0, R, P / (2.0 * M_PI)); + tan_dir.normalize(); + Vec3d ref = (std::abs(tan_dir.z()) < 0.9) ? Vec3d(0, 0, 1) : Vec3d(1, 0, 0); + Vec3d x_axis = ref.cross(tan_dir); + if (x_axis.squaredNorm() < 1e-12) x_axis = Vec3d(1, 0, 0); + x_axis.normalize(); + Vec3d y_axis = tan_dir.cross(x_axis).normalized(); + SketchPlane profile_plane; + profile_plane.origin = Vec3d(R, 0, 0); + profile_plane.normal = tan_dir; + profile_plane.x_axis = x_axis; + profile_plane.y_axis = y_axis; + + // Profile: small circle r=1.5 centered at 2D (0,0) = world (5,0,0) = helix start + SketchEntity prof; + prof.type = SketchEntity::Type::Circle; + prof.center = Vec2d(0, 0); + prof.radius = 1.5; + int prof_idx = doc.add_sketch_entities({prof}, profile_plane, "CircleProfile"); + + // Helix path: r=5, pitch=3, height=15 (5 turns) about Z axis from origin + int helix_idx = doc.add_helix(SketchPlane::XY(), R, P, 15.0, false, 0.0, "HelixPath"); + + int sweep_idx = doc.add_sweep(prof_idx, helix_idx, BooleanMode::New, "Spring"); + REQUIRE(sweep_idx >= 0); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + const double v = double(doc.display_mesh.volume()); + REQUIRE(v > 0.0); + + const double one_turn = std::sqrt(std::pow(2.0 * M_PI * R, 2) + std::pow(P, 2)); + const double total_len = 5.0 * one_turn; + const double prof_area = M_PI * 1.5 * 1.5; + const double expected_v = prof_area * total_len; + REQUIRE_THAT(v, WithinRel(expected_v, 0.1)); +} + +TEST_CASE("helix serialization round-trip with distinctive values", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + doc.add_helix(SketchPlane::XZ(), 7.5, 3.25, 22.0, true, 5.0, "Helix_RT"); + doc.features.back().helix_radius = 7.5; + doc.features.back().helix_pitch = 3.25; + doc.features.back().helix_height = 22.0; + doc.features.back().helix_left_handed = true; + doc.features.back().helix_taper_deg = 5.0; + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + // Deserialize through the real entry point — recompute fails because a lone + // helix doesn't produce a solid, but the serialized field values must survive. + CadDocument doc2; + doc2.deserialize_recipe(blob); + REQUIRE(doc2.features.size() == 1); + + const auto& f = doc2.features[0]; + REQUIRE(f.type == CadFeatureType::Helix); + REQUIRE(f.name == "Helix_RT"); + REQUIRE_THAT(f.helix_radius, WithinAbs(7.5, 1e-9)); + REQUIRE_THAT(f.helix_pitch, WithinAbs(3.25, 1e-9)); + REQUIRE_THAT(f.helix_height, WithinAbs(22.0, 1e-9)); + REQUIRE(f.helix_left_handed == true); + REQUIRE_THAT(f.helix_taper_deg, WithinAbs(5.0, 1e-9)); +} + +TEST_CASE("helix with sweep path from a non-sketch/non-helix feature errors", "[CadDocument]") +{ + // An Extrude feature used as sweep path must fail cleanly. + CadDocument doc; + + // Profile: circle + SketchEntity prof; + prof.type = SketchEntity::Type::Circle; + prof.center = Vec2d(0, 0); + prof.radius = 2.0; + int prof_idx = doc.add_sketch_entities({prof}, SketchPlane::XY(), "Profile"); + + // Path: an Extrude feature (not a Sketch or Helix) + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "NotAValidPath"; + ex.sketch_ref = -1; + doc.features.push_back(ex); + int path_idx = int(doc.features.size()) - 1; + + int sw = doc.add_sweep(prof_idx, path_idx, BooleanMode::New, "BadSweep"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_FALSE(doc.error.empty()); +} + +TEST_CASE("transform translate shifts body bbox by the given vector", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "S"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Box"); + REQUIRE(doc.recompute()); + + Bnd_Box bb0; + BRepBndLib::Add(doc.bodies[0].shape, bb0); + double xmin0, ymin0, zmin0, xmax0, ymax0, zmax0; + bb0.Get(xmin0, ymin0, zmin0, xmax0, ymax0, zmax0); + double vol0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + + doc.checkpoint(); + doc.add_transform(0, Vec3d(5, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0, false, "Move"); + REQUIRE(doc.recompute()); + + REQUIRE(doc.bodies.size() == 1); + double vol1 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE_THAT(vol1, WithinRel(vol0, 1e-6)); + + Bnd_Box bb1; + BRepBndLib::Add(doc.bodies[0].shape, bb1); + double xmin1, ymin1, zmin1, xmax1, ymax1, zmax1; + bb1.Get(xmin1, ymin1, zmin1, xmax1, ymax1, zmax1); + REQUIRE_THAT(xmin1, WithinAbs(xmin0 + 5, 1e-6)); + REQUIRE_THAT(xmax1, WithinAbs(xmax0 + 5, 1e-6)); +} + +TEST_CASE("transform rotate 90 about Z swaps XY bbox extents", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "S"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Box"); + REQUIRE(doc.recompute()); + + Bnd_Box bb0; + BRepBndLib::Add(doc.bodies[0].shape, bb0); + double xmin0, ymin0, zmin0, xmax0, ymax0, zmax0; + bb0.Get(xmin0, ymin0, zmin0, xmax0, ymax0, zmax0); + double vol0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double dx0 = xmax0 - xmin0; + double dy0 = ymax0 - ymin0; + + doc.checkpoint(); + doc.add_transform(0, Vec3d(0, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 90, false, "Rot90"); + REQUIRE(doc.recompute()); + + double vol1 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE_THAT(vol1, WithinRel(vol0, 1e-6)); + + Bnd_Box bb1; + BRepBndLib::Add(doc.bodies[0].shape, bb1); + double xmin1, ymin1, zmin1, xmax1, ymax1, zmax1; + bb1.Get(xmin1, ymin1, zmin1, xmax1, ymax1, zmax1); + double dx1 = xmax1 - xmin1; + double dy1 = ymax1 - ymin1; + REQUIRE_THAT(dx1, WithinAbs(dy0, 1e-6)); + REQUIRE_THAT(dy1, WithinAbs(dx0, 1e-6)); +} + +TEST_CASE("transform copy keeps original and appends transformed body", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "S"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Box"); + REQUIRE(doc.recompute()); + + Bnd_Box bb0; + BRepBndLib::Add(doc.bodies[0].shape, bb0); + double xmin0, ymin0, zmin0, xmax0, ymax0, zmax0; + bb0.Get(xmin0, ymin0, zmin0, xmax0, ymax0, zmax0); + + doc.checkpoint(); + doc.add_transform(0, Vec3d(5, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0, true, "Copy"); + REQUIRE(doc.recompute()); + + REQUIRE(doc.bodies.size() == 2); + + Bnd_Box bb_orig; + BRepBndLib::Add(doc.bodies[0].shape, bb_orig); + double xo_min, yo_min, zo_min, xo_max, yo_max, zo_max; + bb_orig.Get(xo_min, yo_min, zo_min, xo_max, yo_max, zo_max); + REQUIRE_THAT(xo_min, WithinAbs(xmin0, 1e-6)); + REQUIRE_THAT(xo_max, WithinAbs(xmax0, 1e-6)); + + Bnd_Box bb_copy; + BRepBndLib::Add(doc.bodies[1].shape, bb_copy); + double xc_min, yc_min, zc_min, xc_max, yc_max, zc_max; + bb_copy.Get(xc_min, yc_min, zc_min, xc_max, yc_max, zc_max); + REQUIRE_THAT(xc_min, WithinAbs(xmin0 + 5, 1e-6)); + REQUIRE_THAT(xc_max, WithinAbs(xmax0 + 5, 1e-6)); +} + +TEST_CASE("transform degenerate axis errors", "[CadDocument]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "S"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Box"); + REQUIRE(doc.recompute()); + + doc.checkpoint(); + doc.add_transform(0, Vec3d(0, 0, 0), Vec3d(0, 0, 0), Vec3d(0, 0, 0), 45, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE(doc.error.find("axis") != std::string::npos); +} + +TEST_CASE("transform moved body participates in later boolean at its new position", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Two boxes that do NOT overlap + int sk0 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 5, "S0"); + doc.add_extrude(sk0, 5.0, false, BooleanMode::New, "Box0"); + + int sk1 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 5, "S1"); + doc.add_extrude(sk1, 5.0, false, BooleanMode::New, "Box1"); + doc.features.back().target_body = 0; + REQUIRE(doc.recompute()); + + double v0 = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + double v1 = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + double sum = v0 + v1; + + // Move body 1 so it overlaps body 0 + doc.checkpoint(); + doc.add_transform(1, Vec3d(5, 5, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0, false, "Move1"); + REQUIRE(doc.recompute()); + + doc.add_boolean(BooleanMode::Add, 0, 1, false, 0.0, -1, -1, "Fuse"); + REQUIRE(doc.recompute()); + + REQUIRE(doc.bodies.size() == 1); + double vf = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + // Partial overlap: strictly more than one box (the move DID take effect) and strictly + // less than both (they still intersect). Without a real B-rep transform the two boxes + // stay coincident and vf would equal v0 -- that is what `vf > v0` catches. + REQUIRE(vf > v0 * 1.05); + REQUIRE(vf < sum); +} + +TEST_CASE("transform round-trip preserves all xf_* fields", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "S"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Box"); + doc.add_transform(0, Vec3d(3, 4, 5), Vec3d(0, 1, 0), Vec3d(1, 2, 3), 37, true, "RoundTrip"); + REQUIRE(doc.recompute()); + int nb = int(doc.bodies.size()); + REQUIRE(nb >= 1); + + // Capture bboxes before serialization + std::vector<std::pair<Vec3d, Vec3d>> bboxes_before; + for (int i = 0; i < nb; ++i) { + Bnd_Box bb; + BRepBndLib::Add(doc.bodies[i].shape, bb); + double x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes_before.push_back({Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}); + } + + auto blob = doc.serialize_recipe(); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.bodies.size() == size_t(nb)); + + // Check the Transform feature fields + bool found = false; + for (const auto& f : doc2.features) { + if (f.type != CadFeatureType::Transform) continue; + REQUIRE_THAT(f.xf_translate.x(), WithinAbs(3, 1e-9)); + REQUIRE_THAT(f.xf_translate.y(), WithinAbs(4, 1e-9)); + REQUIRE_THAT(f.xf_translate.z(), WithinAbs(5, 1e-9)); + REQUIRE_THAT(f.xf_axis.x(), WithinAbs(0, 1e-9)); + REQUIRE_THAT(f.xf_axis.y(), WithinAbs(1, 1e-9)); + REQUIRE_THAT(f.xf_axis.z(), WithinAbs(0, 1e-9)); + REQUIRE_THAT(f.xf_pivot.x(), WithinAbs(1, 1e-9)); + REQUIRE_THAT(f.xf_pivot.y(), WithinAbs(2, 1e-9)); + REQUIRE_THAT(f.xf_pivot.z(), WithinAbs(3, 1e-9)); + REQUIRE_THAT(f.xf_angle_deg, WithinAbs(37, 1e-9)); + REQUIRE(f.xf_copy == true); + found = true; + break; + } + REQUIRE(found); + + // Verify bboxes equal + for (int i = 0; i < nb; ++i) { + Bnd_Box bb; + BRepBndLib::Add(doc2.bodies[i].shape, bb); + double x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(x0, WithinAbs(bboxes_before[i].first.x(), 1e-6)); + REQUIRE_THAT(y0, WithinAbs(bboxes_before[i].first.y(), 1e-6)); + REQUIRE_THAT(z0, WithinAbs(bboxes_before[i].first.z(), 1e-6)); + REQUIRE_THAT(x1, WithinAbs(bboxes_before[i].second.x(), 1e-6)); + REQUIRE_THAT(y1, WithinAbs(bboxes_before[i].second.y(), 1e-6)); + REQUIRE_THAT(z1, WithinAbs(bboxes_before[i].second.z(), 1e-6)); + } +} + +// --- Thicken tests --- + +TEST_CASE("thicken a planar face to a plate", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxSketch"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_thicken(0, top_face, 3.0, false, "Plate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + double v = double(SketchEngine::tessellate(doc.bodies[1].shape).volume()); + REQUIRE_THAT(v, WithinRel(20.0 * 20.0 * 3.0, 0.01)); +} + +TEST_CASE("thicken flip offsets against face normal", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxSketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + // non-flipped: plate grows above the box (z > 10) + CadDocument doc2; + int sk2 = doc2.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxSketch2"); + doc2.add_extrude(sk2, 10.0, false, BooleanMode::New, "Extrude2"); + REQUIRE(doc2.recompute()); + int nf2 = GeometryEngine::face_count(doc2.bodies[0].shape); + int tf2 = -1; + for (int i = 0; i < nf2; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc2.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { tf2 = i; break; } + } + REQUIRE(tf2 >= 0); + doc2.add_thicken(0, tf2, 3.0, false, "PlateFwd"); + REQUIRE(doc2.recompute()); + Bnd_Box bb_fwd; BRepBndLib::Add(doc2.bodies[1].shape, bb_fwd); + Standard_Real x0, y0, z0, x1, y1, z1; + bb_fwd.Get(x0, y0, z0, x1, y1, z1); + + // flipped: plate grows below the face plane (z < 10) + CadDocument doc3; + int sk3 = doc3.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxSketch3"); + doc3.add_extrude(sk3, 10.0, false, BooleanMode::New, "Extrude3"); + REQUIRE(doc3.recompute()); + int nf3 = GeometryEngine::face_count(doc3.bodies[0].shape); + int tf3 = -1; + for (int i = 0; i < nf3; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc3.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { tf3 = i; break; } + } + REQUIRE(tf3 >= 0); + doc3.add_thicken(0, tf3, 3.0, true, "PlateRev"); + REQUIRE(doc3.recompute()); + Bnd_Box bb_rev; BRepBndLib::Add(doc3.bodies[1].shape, bb_rev); + Standard_Real rx0, ry0, rz0, rx1, ry1, rz1; + bb_rev.Get(rx0, ry0, rz0, rx1, ry1, rz1); + + // forward plate bbox z > 10 (source face at z=10, +3 offset = z in (10,13)) + REQUIRE(z0 >= 9.9); + // reverse plate bbox z < 10 (source face at z=10, -3 offset = z in (7,10)) + REQUIRE(rz1 <= 10.1); +} + +TEST_CASE("thicken bad face index returns error", "[CadDocument]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + + doc.add_thicken(0, 9999, 3.0, false, "Bad"); + bool ok = doc.recompute(); + REQUIRE_FALSE(ok); + REQUIRE(doc.error.find("face") != std::string::npos); +} + +TEST_CASE("thicken zero thickness returns error", "[CadDocument]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_thicken(0, top_face, 0.0, false, "Zero"); + bool ok = doc.recompute(); + REQUIRE_FALSE(ok); + REQUIRE(doc.error.find("thickness") != std::string::npos); +} + +TEST_CASE("thickened plate fuses with source", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + double v_box = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_thicken(0, top_face, 3.0, false, "Plate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + doc.add_boolean(BooleanMode::Add, 0, 1, false, 0.0, -1, -1, "Fuse"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + double v_fused = double(SketchEngine::tessellate(doc.bodies[0].shape).volume()); + REQUIRE(v_fused > v_box); +} + +TEST_CASE("thicken round-trip serialization", "[CadDocument]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + doc.add_thicken(0, top_face, 3.0, false, "Plate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + // Remember field values + int tf = doc.features.back().thicken_face; + double tt = doc.features.back().thicken_thickness; + bool tb = doc.features.back().thicken_flip; + size_t nb = doc.bodies.size(); + + std::vector<std::pair<Vec3d, Vec3d>> bboxes; + for (const auto& b : doc.bodies) { + Bnd_Box bb; BRepBndLib::Add(b.shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes.push_back({Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}); + } + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.features.size() == doc.features.size()); + REQUIRE(doc2.bodies.size() == nb); + + const CadFeature& f2 = doc2.features.back(); + REQUIRE(f2.thicken_face == tf); + REQUIRE_THAT(f2.thicken_thickness, WithinAbs(tt, 1e-9)); + REQUIRE(f2.thicken_flip == tb); + + for (size_t i = 0; i < nb; ++i) { + Bnd_Box bb; BRepBndLib::Add(doc2.bodies[i].shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(double(x0), WithinAbs(bboxes[i].first.x(), 1e-6)); + REQUIRE_THAT(double(y0), WithinAbs(bboxes[i].first.y(), 1e-6)); + REQUIRE_THAT(double(z0), WithinAbs(bboxes[i].first.z(), 1e-6)); + REQUIRE_THAT(double(x1), WithinAbs(bboxes[i].second.x(), 1e-6)); + REQUIRE_THAT(double(y1), WithinAbs(bboxes[i].second.y(), 1e-6)); + REQUIRE_THAT(double(z1), WithinAbs(bboxes[i].second.z(), 1e-6)); + } +} + +// --- Project feature tests --- + +TEST_CASE("project a box top face to 4 lines, extrudable", "[CadDocument][project]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + int proj = doc.add_project_edges(0, {}, top_face, SketchPlane::XY(), "ProjTop"); + REQUIRE(proj >= 0); + doc.add_extrude(proj, 5.0, false, BooleanMode::New, "FromProj"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + const auto& pf = doc.features[proj]; + REQUIRE(pf.entities.size() == 4); + for (const auto& e : pf.entities) + REQUIRE(e.type == SketchEntity::Type::Line); + + REQUIRE(doc.bodies.size() >= 2); + double v = double(SketchEngine::tessellate(doc.bodies.back().shape).volume()); + REQUIRE_THAT(v, WithinRel(20.0 * 20.0 * 5.0, 1e-3)); +} + +TEST_CASE("project a cylinder top edge to 1 circle, extrudable", "[CadDocument][project]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + SketchEntity c; + c.type = SketchEntity::Type::Circle; + c.center = Vec2d(0, 0); + c.radius = 6.0; + int sk = doc.add_sketch_entities({c}, SketchPlane::XY(), "Circ"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Cyl"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_edges = GeometryEngine::edge_count(doc.bodies[0].shape); + int top_edge = -1; + for (int i = 0; i < n_edges; ++i) { + TopoDS_Edge e = GeometryEngine::edge_by_index(doc.bodies[0].shape, i); + auto pts = GeometryEngine::sample_edge_world(e); + if (pts.empty()) continue; + Vec3d mid = Vec3d::Zero(); + for (const auto& p : pts) mid += p; + mid /= double(pts.size()); + if (mid.z() > 9.0) { + BRepAdaptor_Curve ac(e); + if (ac.GetType() == GeomAbs_Circle) { top_edge = i; break; } + } + } + REQUIRE(top_edge >= 0); + + int proj = doc.add_project_edges(0, {top_edge}, -1, SketchPlane::XY(), "ProjCirc"); + REQUIRE(proj >= 0); + doc.add_extrude(proj, 4.0, false, BooleanMode::New, "FromCirc"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + const auto& pf = doc.features[proj]; + REQUIRE(pf.entities.size() == 1); + REQUIRE(pf.entities[0].type == SketchEntity::Type::Circle); + REQUIRE_THAT(pf.entities[0].radius, WithinRel(6.0, 1e-3)); + + REQUIRE(doc.bodies.size() >= 2); + double v = double(SketchEngine::tessellate(doc.bodies.back().shape).volume()); + REQUIRE_THAT(v, WithinRel(M_PI * 36.0 * 4.0, 1e-2)); +} + +TEST_CASE("project with no face and no edge selection projects every edge", "[CadDocument][project]") +{ + // This is the state the Project card opens in — its label reads "(all edges)". Before the + // all-edges branch existed it threw "no edges or face selected", so the card's default + // could never be confirmed. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + + int proj = doc.add_project_edges(0, {}, -1, SketchPlane::XY(), "ProjAll"); + REQUIRE(proj >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // A box has 12 edges; the 4 running along Z collapse to points on XY and are dropped, + // leaving the 4 bottom and 4 top edges. + const auto& pf = doc.features[proj]; + REQUIRE(pf.entities.size() == 8); + for (const auto& e : pf.entities) { + REQUIRE(e.type == SketchEntity::Type::Line); + REQUIRE((e.p1 - e.p0).norm() > 1e-6); + } +} + +TEST_CASE("project bad face id returns error", "[CadDocument][project]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + + doc.add_project_edges(0, {}, 9999, SketchPlane::XY(), "Bad"); + bool ok = doc.recompute(); + REQUIRE_FALSE(ok); + bool has_project = doc.error.find("project") != std::string::npos + || doc.error.find("face") != std::string::npos; + REQUIRE(has_project); +} + +TEST_CASE("project round-trip serialization", "[CadDocument][project]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + Vec3d n = GeometryEngine::face_normal_world(fc); + if (n.z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + doc.add_project_edges(0, {}, top_face, SketchPlane::XY(), "ProjTop"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int saved_src = doc.features.back().project_source_body; + int saved_face = doc.features.back().project_face; + auto saved_edges = doc.features.back().project_edges; + size_t saved_nb = doc.bodies.size(); + + std::vector<std::pair<Vec3d, Vec3d>> bboxes; + for (const auto& b : doc.bodies) { + Bnd_Box bb; BRepBndLib::Add(b.shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes.push_back({Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}); + } + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.bodies.size() == saved_nb); + REQUIRE(doc2.features.size() == doc.features.size()); + + const auto& f2 = doc2.features.back(); + REQUIRE(f2.project_source_body == saved_src); + REQUIRE(f2.project_face == saved_face); + REQUIRE(f2.project_edges == saved_edges); + + for (size_t i = 0; i < saved_nb; ++i) { + Bnd_Box bb; BRepBndLib::Add(doc2.bodies[i].shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(double(x0), WithinAbs(bboxes[i].first.x(), 1e-6)); + REQUIRE_THAT(double(y0), WithinAbs(bboxes[i].first.y(), 1e-6)); + REQUIRE_THAT(double(z0), WithinAbs(bboxes[i].first.z(), 1e-6)); + REQUIRE_THAT(double(x1), WithinAbs(bboxes[i].second.x(), 1e-6)); + REQUIRE_THAT(double(y1), WithinAbs(bboxes[i].second.y(), 1e-6)); + REQUIRE_THAT(double(z1), WithinAbs(bboxes[i].second.z(), 1e-6)); + } +} + +TEST_CASE("Use/Convert Entities: box top-face edges land as construction geometry", "[CadDocument][project]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + if (GeometryEngine::face_normal_world(fc).z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + int target = doc.add_sketch_entities({}, SketchPlane::XY(), "Use"); + REQUIRE(target >= 0); + + int appended = doc.project_edges_into_sketch(target, 0, {}, top_face); + REQUIRE(appended == 4); + + const auto& ents = doc.features[target].entities; + REQUIRE(ents.size() == 4); + for (const auto& e : ents) { + REQUIRE(e.type == SketchEntity::Type::Line); + REQUIRE(e.construction == true); + } +} + +TEST_CASE("Use/Convert Entities: construction references never become solid", "[CadDocument][project]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + if (GeometryEngine::face_normal_world(fc).z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + const size_t body_count_before = doc.bodies.size(); + const double volume_before = doc.body_mass_properties(0).volume; + + int target = doc.add_sketch_entities({}, SketchPlane::XY(), "Use"); + int appended = doc.project_edges_into_sketch(target, 0, {}, top_face); + REQUIRE(appended == 4); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == body_count_before); + REQUIRE_THAT(doc.body_mass_properties(0).volume, WithinRel(volume_before, 1e-9)); +} + +TEST_CASE("Use/Convert Entities: bad references return -1 and change nothing", "[CadDocument][project]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int target = doc.add_sketch_entities({}, SketchPlane::XY(), "Use"); + REQUIRE(target >= 0); + + REQUIRE(doc.project_edges_into_sketch(-1, 0, {}, -1) == -1); + REQUIRE(doc.project_edges_into_sketch(999, 0, {}, -1) == -1); + REQUIRE(doc.project_edges_into_sketch(target, -1, {}, -1) == -1); + REQUIRE(doc.project_edges_into_sketch(target, 999, {}, -1) == -1); + REQUIRE(doc.features[target].entities.empty()); +} + +TEST_CASE("Use/Convert Entities: cylinder edge arrives as a Circle, not a polyline", "[CadDocument][project]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + SketchEntity c; + c.type = SketchEntity::Type::Circle; + c.center = Vec2d(0, 0); + c.radius = 6.0; + int sk = doc.add_sketch_entities({c}, SketchPlane::XY(), "Circ"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Cyl"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_edges = GeometryEngine::edge_count(doc.bodies[0].shape); + int top_edge = -1; + for (int i = 0; i < n_edges; ++i) { + TopoDS_Edge e = GeometryEngine::edge_by_index(doc.bodies[0].shape, i); + auto pts = GeometryEngine::sample_edge_world(e); + if (pts.empty()) continue; + Vec3d mid = Vec3d::Zero(); + for (const auto& p : pts) mid += p; + mid /= double(pts.size()); + if (mid.z() > 9.0) { + BRepAdaptor_Curve ac(e); + if (ac.GetType() == GeomAbs_Circle) { top_edge = i; break; } + } + } + REQUIRE(top_edge >= 0); + + int target = doc.add_sketch_entities({}, SketchPlane::XY(), "Use"); + int appended = doc.project_edges_into_sketch(target, 0, {top_edge}, -1); + REQUIRE(appended == 1); + + const auto& ents = doc.features[target].entities; + REQUIRE(ents.size() == 1); + REQUIRE(ents[0].type == SketchEntity::Type::Circle); + REQUIRE(ents[0].construction == true); + REQUIRE_THAT(ents[0].radius, WithinRel(6.0, 1e-6)); +} + +TEST_CASE("Project feature still emits non-construction entities (regression guard)", "[CadDocument][project]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Ext"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int n_faces = GeometryEngine::face_count(doc.bodies[0].shape); + int top_face = -1; + for (int i = 0; i < n_faces; ++i) { + TopoDS_Face fc = GeometryEngine::face_by_index(doc.bodies[0].shape, i); + if (GeometryEngine::face_normal_world(fc).z() > 0.9) { top_face = i; break; } + } + REQUIRE(top_face >= 0); + + int proj = doc.add_project_edges(0, {}, top_face, SketchPlane::XY(), "ProjTop"); + REQUIRE(proj >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + const auto& pf = doc.features[proj]; + REQUIRE(pf.entities.size() == 4); + for (const auto& e : pf.entities) + REQUIRE(e.construction == false); +} + +// --- Golden recipe fixture (v1 format tripwire) --- + +static CadDocument make_golden_doc_v1() +{ + CadDocument doc; + + // ---- Body 0: base box with distinctive taper ---- + int sk0 = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 30, 20, 15, "Sketch_Base"); + doc.add_extrude(sk0, 15.0, false, BooleanMode::New, "Extrude_Base"); + int ex0 = int(doc.features.size()) - 1; + doc.features[ex0].taper_deg = 8.5; + doc.features[ex0].extrude_end = ExtrudeEnd::Blind; + + // Dress-up: fillet lateral faces, chamfer top face — distinct non-default sizes + doc.add_fillet(3.5, FaceGroup::Lateral, "Fillet_Lat35"); + doc.add_chamfer(2.0, FaceGroup::Top, "Chamfer_Top2"); + + // Hole: offset position, non-through + doc.add_hole(7.5, 11.0, false, 4.0, 3.0, SketchPlane::XY(), "Hole_Off75"); + + // Draft: angle 7.25 deg on face 3 + doc.add_draft(7.25, 3, 0, "Draft_F3"); + + // Shell: thickness 1.375 mm, open face 1 + doc.add_shell(1.375, 1, 0, "Shell_T1375"); + + // Thread: internal, radius 4, pitch 2.5, height 15, depth 1.25 + doc.add_thread(4.0, 2.5, 15.0, 1.25, true, 0.0, 0.0, SketchPlane::XY(), "Thread_Int"); + + // Cut: plane XY, offset 10, flip, keep upper only + doc.add_cut(SketchPlane::XY(), 10.0, true, true, false, 0, "Cut_Flip"); + + // Pattern: linear 5 copies, spacing 13.5 mm along plane X + doc.add_pattern(false, 5, 13.5, 0, 360.0, 0, "Pattern_Lin5"); + + // ---- Datum plane ---- + doc.add_plane(0, 25.0, 0.0, 0, "Plane_Datum25"); + + // ---- Revolve: self-contained body (sketch + revolve) ---- + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_Rev"; + sk.plane = SketchPlane::XY(); + sk.entities = {{SketchEntity::Type::Circle, Vec2d(12,0), Vec2d(12,0), Vec2d(12,0), 4.0}}; + doc.features.push_back(sk); + } + int rev_sk = int(doc.features.size()) - 1; + doc.add_revolve(rev_sk, 217.0, 1, false, BooleanMode::New, "Revolve_Y217"); + + // ---- Sweep: self-contained body (profile + path sketches + sweep) ---- + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_SwProf"; + sk.plane = SketchPlane::XY(); + sk.entities = {{SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 3.0}}; + doc.features.push_back(sk); + } + int sw_prof = int(doc.features.size()) - 1; + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_SwPath"; + sk.plane = SketchPlane::XZ(); + sk.entities = {{SketchEntity::Type::Line, Vec2d(0,0), Vec2d(0,35)}}; + doc.features.push_back(sk); + } + int sw_path = int(doc.features.size()) - 1; + doc.add_sweep(sw_prof, sw_path, BooleanMode::New, "Sweep_Z35"); + + // ---- Loft: self-contained body (two profiles + loft) ---- + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_LoftBot"; + sk.plane = SketchPlane::XY(); + sk.profile.points = {{-7,-7},{7,-7},{7,7},{-7,7}}; + sk.profile.closed = true; + doc.features.push_back(sk); + } + int loft_bot = int(doc.features.size()) - 1; + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_LoftTop"; + sk.plane.origin = Vec3d(0, 0, 25); + sk.plane.normal = Vec3d(0, 0, 1); + sk.plane.x_axis = Vec3d(1, 0, 0); + sk.plane.y_axis = Vec3d(0, 1, 0); + sk.profile.points = {{-9,-9},{9,-9},{9,9},{-9,9}}; + sk.profile.closed = true; + doc.features.push_back(sk); + } + int loft_top = int(doc.features.size()) - 1; + doc.add_loft({loft_bot, loft_top}, true, BooleanMode::New, "Loft_Ruled"); + + // ---- Boolean: distinctive tolerance and face-mate params ---- + doc.add_boolean(BooleanMode::Cut, 0, 1, false, 0.01, 2, 3, "Boolean_Cut"); + + // ---- Extrude variant: symmetric + two-sided end ---- + { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "Sketch_Ex2"; + sk.plane = SketchPlane::XZ(); + sk.entities = {{SketchEntity::Type::Circle, Vec2d(0,0), Vec2d(0,0), Vec2d(0,0), 6.0}}; + doc.features.push_back(sk); + } + int sk_ex2 = int(doc.features.size()) - 1; + { + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "Extrude_Sym"; + ex.sketch_ref = sk_ex2; + ex.distance = 25.0; + ex.symmetric = true; + ex.mode = BooleanMode::New; + ex.extrude_end = ExtrudeEnd::Symmetric; + ex.distance2 = 12.5; + doc.features.push_back(ex); + } + + // ---- Mirror: XZ plane, New mode, keep_original=false (distinctive non-defaults) ---- + doc.add_mirror(SketchPlane::XZ(), 0, BooleanMode::New, "Mirror_XZ"); + doc.features.back().mirror_keep_original = false; + + // ---- Datum Axis: two-points with distinctive non-default coordinates ---- + { + int ax = doc.add_axis(AxisType::TwoPoints, "Axis_TP"); + doc.features[ax].axis_p1 = Vec3d(10, 20, 30); + doc.features[ax].axis_p2 = Vec3d(13, 24, 34); + doc.features[ax].axis_body = 1; + doc.features[ax].axis_face = 3; + doc.features[ax].axis_edge = 2; + doc.features[ax].axis_plane_a = 4; + doc.features[ax].axis_plane_b = 5; + } + + // ---- Datum CoordSys: PointWorld with distinctive origin ---- + { + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(7, 8, 9), "CS_PtWorld"); + doc.features[cs].coordsys_body = 2; + doc.features[cs].coordsys_face = 1; + doc.features[cs].coordsys_edge = 0; + doc.features[cs].coordsys_x_hint = Vec3d(0.5, 0.8, 0.3); + } + + // ---- Helix: conical left-handed with distinctive non-default values ---- + { + int hx = doc.add_helix(SketchPlane::XZ(), 11.5, 4.25, 18.0, true, 3.0, "Helix_CLH"); + (void)hx; + } + + // ---- Transform: rigid move/rotate with distinctive non-default values ---- + doc.add_transform(0, Vec3d(3.5, 4.5, 5.5), Vec3d(0.0, 1.0, 0.0), Vec3d(1.5, 2.5, 3.5), + 37.0, true, "GoldenTransform"); + + doc.add_thicken(0, 0, 1.75, true, "GoldenThicken"); + + doc.add_split_by_face(0, 0, 2, true, false, "GoldenSplit"); + + doc.add_project_edges(0, {}, 0, SketchPlane::XY(), "GoldenProject"); + + // Construction-flag on-disk lock: a real edge + a construction edge with distinctive + // literals. Regen-golden does not recompute, so this only exercises serialization. + { + std::vector<SketchEntity> ge; + SketchEntity real0; real0.type = SketchEntity::Type::Line; + real0.p0 = Vec2d(-12.0, -12.0); real0.p1 = Vec2d(12.0, -12.0); + SketchEntity ctor; ctor.type = SketchEntity::Type::Line; + ctor.p0 = Vec2d(-40.0, 9.0); ctor.p1 = Vec2d(40.0, 9.0); + ctor.construction = true; + ge.push_back(real0); + ge.push_back(ctor); + doc.add_sketch_entities(ge, SketchPlane::XY(), "Sketch_Ctor"); + } + + // ---- Mate connectors: two CoordSys features with distinctive non-default values ---- + int cs_idx_a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(11, 12, 13), "CS_MateA"); + doc.features[cs_idx_a].coordsys_body = 0; + doc.features[cs_idx_a].coordsys_x_hint = Vec3d(0.1, 0.2, 0.9); + int cs_idx_b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(14, 15, 16), "CS_MateB"); + doc.features[cs_idx_b].coordsys_body = 1; + doc.features[cs_idx_b].coordsys_x_hint = Vec3d(0.6, 0.7, 0.3); + + // ---- Mate: Fastened with all six fields carrying distinctive non-defaults ---- + doc.add_mate(1, cs_idx_a, cs_idx_b, 7.25, 33.0, true, "GoldenMate"); + + return doc; +} + +TEST_CASE("regenerate golden recipe fixture", "[.regen]") +{ + CadDocument doc = make_golden_doc_v1(); + // ponytail: serialize_recipe() only needs features, recompute is unnecessary + // for a fixture that exercises the serialization format. + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + // Version-free on purpose: this writes whatever today's format is, so a version bump does + // not have to remember to edit it. The version-stamped fixtures beside it are frozen + // evidence from older builds and are never regenerated. + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_current.bin"; + std::ofstream ofs(path, std::ios::binary); + REQUIRE(ofs.is_open()); + ofs.write(blob.data(), static_cast<std::streamsize>(blob.size())); + ofs.close(); + SUCCEED("Fixture written to " << path); +} + +// The previous format's real blob, kept on disk deliberately. It is the only thing that can +// prove the version gate does its job: a v3 recipe carries FEWER fields per feature than this +// build reads, so without the bump to v4 it would have passed the gate and had two ints read +// past the end of every connector — into the next feature's bytes. Silent corruption of a saved +// project, which is far worse than a refusal. This asserts the refusal is clean and says why. +// +// Do NOT regenerate cad_recipe_v3.bin. Its value is entirely that it was written by an older +// build; rewriting it with today's code destroys the only evidence this test rests on. +TEST_CASE("a previous-format recipe is refused, not silently misread", "[CadDocument]") +{ + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_v3.bin"; + std::ifstream ifs(path, std::ios::binary); + REQUIRE(ifs.is_open()); + std::string blob((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); + ifs.close(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc; + REQUIRE_FALSE(doc.deserialize_recipe(blob)); + REQUIRE_FALSE(doc.error.empty()); + REQUIRE(doc.error.find("older version") != std::string::npos); + REQUIRE(doc.features.empty()); // nothing half-read was left behind +} + +TEST_CASE("golden recipe v1 still deserialises", "[CadDocument]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + // Read the golden blob from disk + std::string path = std::string(TEST_DATA_DIR) + "/cad_recipe_v4.bin"; + std::ifstream ifs(path, std::ios::binary); + REQUIRE(ifs.is_open()); + std::string blob((std::istreambuf_iterator<char>(ifs)), + std::istreambuf_iterator<char>()); + ifs.close(); + REQUIRE_FALSE(blob.empty()); + + // --- Layer 1: deserialize features WITHOUT recomputing, assert field values --- + std::vector<CadFeature> features; + { + std::istringstream iss(blob); + cereal::BinaryInputArchive ar(iss); + uint32_t v; + ar(v); + REQUIRE(v <= CadDocument::ORCA_CAD_RECIPE_VERSION); + ar(features); + } + + CadDocument expected = make_golden_doc_v1(); + // Scoped tightly: this advice is ONLY valid for a count mismatch. It must not be in + // scope for the field-value assertions below, where "regenerate the fixture" is the + // one thing you must never do -- regenerating after a reorder bakes the corrupted + // layout in as the new golden and permanently disarms this test. + { + INFO("Feature count changed - did you add/remove features in make_golden_doc_v1()?"); + INFO("If so: run libslic3r_tests \"[.regen]\" and re-run this test."); + REQUIRE(features.size() == expected.features.size()); + } + + // A failure BELOW this point means the on-disk serialization format changed: some field + // in CadFeature::save/load was reordered, retyped, or removed. Fields may only ever be + // APPENDED at the end of both lists. Do NOT regenerate the fixture to make this pass -- + // fix the field order instead. See scripts/CAD/run-kernel-tests.sh and the [.regen] case. + + // Field-by-field assertions against expected values. + // Every field set to a distinctive non-default literal must be checked here. + // A field reorder in save()/load() that swaps fields of differing types + // will produce a wrong value at this position and FAIL the test. + + for (size_t i = 0; i < features.size(); ++i) { + const auto& f = features[i]; + const auto& e = expected.features[i]; + + INFO("Feature index " << i << " type " << int(f.type)); + + REQUIRE(f.type == e.type); + REQUIRE(f.name == e.name); + REQUIRE(f.enabled == e.enabled); + + // Sketch params (all Sketch types) + if (f.type == CadFeatureType::Sketch) { + REQUIRE(f.shape == e.shape); + if (e.name == "Sketch_Base") { + REQUIRE(f.width == 30); + REQUIRE(f.height == 20); + REQUIRE(f.radius == 15); + } + if (e.name == "Sketch_Rev" || e.name == "Sketch_SwProf" || e.name == "Sketch_Ex2" || e.name == "Sketch_SwPath") { + REQUIRE(f.entities.size() == e.entities.size()); + if (!f.entities.empty()) { + REQUIRE(f.entities[0].type == e.entities[0].type); + REQUIRE_THAT(f.entities[0].p0.x(), WithinAbs(e.entities[0].p0.x(), 1e-9)); + REQUIRE_THAT(f.entities[0].p0.y(), WithinAbs(e.entities[0].p0.y(), 1e-9)); + } + } + if (e.name == "Sketch_LoftBot" || e.name == "Sketch_LoftTop") { + REQUIRE(f.profile.points.size() == e.profile.points.size()); + REQUIRE(f.profile.closed == e.profile.closed); + } + if (e.name == "Sketch_LoftTop") { + REQUIRE_THAT(f.plane.origin.z(), WithinAbs(25.0, 1e-9)); + } + if (e.name == "Sketch_Ctor") { + REQUIRE(f.entities.size() == 2); + REQUIRE(f.entities[0].construction == false); + REQUIRE(f.entities[1].construction == true); + REQUIRE_THAT(f.entities[1].p0.x(), WithinAbs(-40.0, 1e-9)); + } + } + + // Extrude params + if (f.type == CadFeatureType::Extrude) { + REQUIRE(f.mode == e.mode); + if (e.name == "Extrude_Base") { + REQUIRE(f.distance == 15.0); + REQUIRE(f.symmetric == false); + REQUIRE(f.extrude_end == ExtrudeEnd::Blind); + REQUIRE_THAT(f.taper_deg, WithinAbs(8.5, 1e-9)); + } + if (e.name == "Extrude_Sym") { + REQUIRE(f.distance == 25.0); + REQUIRE(f.symmetric == true); + REQUIRE(f.extrude_end == ExtrudeEnd::Symmetric); + REQUIRE_THAT(f.distance2, WithinAbs(12.5, 1e-9)); + } + } + + // Fillet + if (f.type == CadFeatureType::Fillet && e.name == "Fillet_Lat35") { + REQUIRE_THAT(f.dressup_size, WithinAbs(3.5, 1e-9)); + REQUIRE(f.face_group == FaceGroup::Lateral); + } + + // Chamfer + if (f.type == CadFeatureType::Chamfer && e.name == "Chamfer_Top2") { + REQUIRE_THAT(f.dressup_size, WithinAbs(2.0, 1e-9)); + REQUIRE(f.face_group == FaceGroup::Top); + } + + // Hole + if (f.type == CadFeatureType::Hole && e.name == "Hole_Off75") { + REQUIRE_THAT(f.hole_diameter, WithinAbs(7.5, 1e-9)); + REQUIRE_THAT(f.hole_depth, WithinAbs(11.0, 1e-9)); + REQUIRE(f.hole_through == false); + REQUIRE_THAT(f.hole_x, WithinAbs(4.0, 1e-9)); + REQUIRE_THAT(f.hole_y, WithinAbs(3.0, 1e-9)); + } + + // Draft + if (f.type == CadFeatureType::Draft && e.name == "Draft_F3") { + REQUIRE(f.draft_face == 3); + REQUIRE_THAT(f.draft_angle, WithinAbs(7.25, 1e-9)); + } + + // Shell + if (f.type == CadFeatureType::Shell && e.name == "Shell_T1375") { + REQUIRE_THAT(f.shell_thickness, WithinAbs(1.375, 1e-9)); + REQUIRE(f.shell_face == 1); + } + + // Thread + if (f.type == CadFeatureType::Thread && e.name == "Thread_Int") { + REQUIRE_THAT(f.thread_radius, WithinAbs(4.0, 1e-9)); + REQUIRE_THAT(f.thread_pitch, WithinAbs(2.5, 1e-9)); + REQUIRE_THAT(f.thread_height, WithinAbs(15.0, 1e-9)); + REQUIRE_THAT(f.thread_depth, WithinAbs(1.25, 1e-9)); + REQUIRE(f.thread_internal == true); + REQUIRE_THAT(f.thread_x, WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(f.thread_y, WithinAbs(0.0, 1e-9)); + } + + // Cut + if (f.type == CadFeatureType::Cut && e.name == "Cut_Flip") { + REQUIRE_THAT(f.cut_offset, WithinAbs(10.0, 1e-9)); + REQUIRE(f.cut_flip == true); + REQUIRE(f.cut_keep_upper == true); + REQUIRE(f.cut_keep_lower == false); + } + + // Pattern + if (f.type == CadFeatureType::Pattern && e.name == "Pattern_Lin5") { + REQUIRE(f.pattern_circular == false); + REQUIRE(f.pattern_count == 5); + REQUIRE_THAT(f.pattern_spacing, WithinAbs(13.5, 1e-9)); + REQUIRE(f.pattern_dir == 0); + } + + // Datum Plane + if (f.type == CadFeatureType::Plane && e.name == "Plane_Datum25") { + REQUIRE(f.plane_base == 0); + REQUIRE_THAT(f.plane_offset, WithinAbs(25.0, 1e-9)); + REQUIRE_THAT(f.plane_angle_tilt, WithinAbs(0.0, 1e-9)); + REQUIRE(f.plane_axis == 0); + } + + // Revolve + if (f.type == CadFeatureType::Revolve && e.name == "Revolve_Y217") { + REQUIRE_THAT(f.revolve_angle, WithinAbs(217.0, 1e-9)); + REQUIRE(f.revolve_axis == 1); + } + + // Sweep + if (f.type == CadFeatureType::Sweep && e.name == "Sweep_Z35") { + REQUIRE(f.sweep_path_ref == e.sweep_path_ref); + REQUIRE(f.sweep_path_ref >= 0); + } + + // Loft + if (f.type == CadFeatureType::Loft && e.name == "Loft_Ruled") { + REQUIRE(f.loft_ruled == true); + REQUIRE(f.loft_profile_refs.size() == 2); + } + + // Boolean + if (f.type == CadFeatureType::Boolean && e.name == "Boolean_Cut") { + REQUIRE(f.mode == BooleanMode::Cut); + REQUIRE(f.bool_tool_body == 1); + REQUIRE(f.bool_keep_tool == false); + REQUIRE_THAT(f.bool_tolerance, WithinAbs(0.01, 1e-9)); + REQUIRE(f.bool_target_face == 2); + REQUIRE(f.bool_tool_face == 3); + } + + // Mirror + if (f.type == CadFeatureType::Mirror && e.name == "Mirror_XZ") { + REQUIRE(f.mode == BooleanMode::New); + REQUIRE(f.mirror_keep_original == false); + REQUIRE(f.target_body == 0); + } + + // Datum Axis + if (f.type == CadFeatureType::Axis && e.name == "Axis_TP") { + REQUIRE(f.axis_type == AxisType::TwoPoints); + REQUIRE_THAT(f.axis_p1.x(), WithinAbs(10.0, 1e-9)); + REQUIRE_THAT(f.axis_p1.y(), WithinAbs(20.0, 1e-9)); + REQUIRE_THAT(f.axis_p1.z(), WithinAbs(30.0, 1e-9)); + REQUIRE_THAT(f.axis_p2.x(), WithinAbs(13.0, 1e-9)); + REQUIRE_THAT(f.axis_p2.y(), WithinAbs(24.0, 1e-9)); + REQUIRE_THAT(f.axis_p2.z(), WithinAbs(34.0, 1e-9)); + REQUIRE(f.axis_body == 1); + REQUIRE(f.axis_face == 3); + REQUIRE(f.axis_edge == 2); + REQUIRE(f.axis_plane_a == 4); + REQUIRE(f.axis_plane_b == 5); + } + + // Datum CoordSys + if (f.type == CadFeatureType::CoordSys && e.name == "CS_PtWorld") { + REQUIRE(f.coordsys_type == CoordSysType::PointWorld); + REQUIRE_THAT(f.coordsys_point.x(), WithinAbs(7.0, 1e-9)); + REQUIRE_THAT(f.coordsys_point.y(), WithinAbs(8.0, 1e-9)); + REQUIRE_THAT(f.coordsys_point.z(), WithinAbs(9.0, 1e-9)); + REQUIRE(f.coordsys_body == 2); + REQUIRE(f.coordsys_face == 1); + REQUIRE(f.coordsys_edge == 0); + REQUIRE_THAT(f.coordsys_x_hint.x(), WithinAbs(0.5, 1e-9)); + REQUIRE_THAT(f.coordsys_x_hint.y(), WithinAbs(0.8, 1e-9)); + REQUIRE_THAT(f.coordsys_x_hint.z(), WithinAbs(0.3, 1e-9)); + } + + // Helix + if (f.type == CadFeatureType::Helix && e.name == "Helix_CLH") { + REQUIRE_THAT(f.helix_radius, WithinAbs(11.5, 1e-9)); + REQUIRE_THAT(f.helix_pitch, WithinAbs(4.25, 1e-9)); + REQUIRE_THAT(f.helix_height, WithinAbs(18.0, 1e-9)); + REQUIRE(f.helix_left_handed == true); + REQUIRE_THAT(f.helix_taper_deg, WithinAbs(3.0, 1e-9)); + } + + // Transform + if (f.type == CadFeatureType::Transform && e.name == "GoldenTransform") { + REQUIRE_THAT(f.xf_translate.x(), WithinAbs(3.5, 1e-9)); + REQUIRE_THAT(f.xf_translate.y(), WithinAbs(4.5, 1e-9)); + REQUIRE_THAT(f.xf_translate.z(), WithinAbs(5.5, 1e-9)); + REQUIRE_THAT(f.xf_axis.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(f.xf_axis.y(), WithinAbs(1.0, 1e-9)); + REQUIRE_THAT(f.xf_axis.z(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(f.xf_pivot.x(), WithinAbs(1.5, 1e-9)); + REQUIRE_THAT(f.xf_pivot.y(), WithinAbs(2.5, 1e-9)); + REQUIRE_THAT(f.xf_pivot.z(), WithinAbs(3.5, 1e-9)); + REQUIRE_THAT(f.xf_angle_deg, WithinAbs(37.0, 1e-9)); + REQUIRE(f.xf_copy == true); + } + + // Thicken + if (f.type == CadFeatureType::Thicken && e.name == "GoldenThicken") { + REQUIRE(f.thicken_face == 0); + REQUIRE_THAT(f.thicken_thickness, WithinAbs(1.75, 1e-9)); + REQUIRE(f.thicken_flip == true); + } + + // Cut-by-face: GoldenSplit uses cut_face_body/cut_face instead of plane + if (f.type == CadFeatureType::Cut && e.name == "GoldenSplit") { + REQUIRE(f.cut_face_body == 0); + REQUIRE(f.cut_face == 2); + REQUIRE(f.cut_keep_upper == true); + REQUIRE(f.cut_keep_lower == false); + } + + // Project + if (f.type == CadFeatureType::Project && e.name == "GoldenProject") { + REQUIRE(f.project_source_body == 0); + REQUIRE(f.project_face == 0); + REQUIRE(f.project_edges == e.project_edges); + } + + // Mate + if (f.type == CadFeatureType::Mate && e.name == "GoldenMate") { + REQUIRE(f.mate_kind == 1); + REQUIRE(f.mate_cs_a == e.mate_cs_a); + REQUIRE(f.mate_cs_b == e.mate_cs_b); + REQUIRE_THAT(f.mate_offset, WithinAbs(7.25, 1e-9)); + REQUIRE_THAT(f.mate_angle, WithinAbs(33.0, 1e-9)); + REQUIRE(f.mate_flip == true); + } + } + + // --- Layer 2: geometry check (optional — only if the document recomputes) --- + // Build expected document and try to recompute it. + // ponytail: the field-value layer above is the real tripwire; + // this layer is a bonus sanity check on the full recompute path. + CadDocument exp_doc = make_golden_doc_v1(); + bool exp_ok = exp_doc.recompute(); + if (!exp_ok) { + INFO("Expected document from make_golden_doc_v1() could not recompute " + "(complex feature tree). Field-value checks above are sufficient."); + } + + CadDocument doc; + bool ser_ok = doc.deserialize_recipe(blob); + + if (exp_ok && ser_ok) { + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == exp_doc.bodies.size()); + for (size_t i = 0; i < doc.bodies.size(); ++i) { + double v = double(SketchEngine::tessellate(doc.bodies[i].shape).volume()); + double ev = double(SketchEngine::tessellate(exp_doc.bodies[i].shape).volume()); + REQUIRE_THAT(v, WithinRel(ev, 1e-6)); + } + } else { + INFO("The golden recipe fixture was loaded and field-value checks passed."); + INFO("Recompute on the deserialized or expected document failed — this is"); + INFO("expected for the extended golden fixture (many feature types coexist"); + INFO("purely for serialization coverage). The field-value tripwire above is"); + INFO("the primary format check."); + } +} + +// --- Rib tests (M5b) --- + +TEST_CASE("rib adds material to a box", "[CadDocument][rib]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + + // Build a box: 40x40x10 extruded on XY -> z=[0,10] + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 40, 40, 10, "Box"); + doc.add_extrude(sk_box, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double Vbox = double(doc.display_mesh.volume()); + REQUIRE(Vbox > 0.0); + + // Sketch a single open Line across the box footprint, on the same XY plane. + // Line from (5,20) to (35,20), centred in Y but off-centre in X. + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(5, 20), Vec2d(35, 20)}, + }; + int sk_rib = doc.add_sketch_entities(ents, SketchPlane::XY(), "RibLine"); + REQUIRE(sk_rib >= 0); + + int fi = doc.add_rib(sk_rib, 0, 3.0, 12.0, 0, "Rib"); + REQUIRE(fi >= 0); + REQUIRE(doc.features[fi].type == CadFeatureType::Rib); + + bool ok = doc.recompute(); + REQUIRE(ok); + REQUIRE(doc.error.empty()); + // The rib fused extra material -> volume must be strictly larger. + double Vrib = double(doc.display_mesh.volume()); + REQUIRE(Vrib > Vbox); + + // A rib with a bad sketch ref must fail cleanly, not crash. + CadDocument bad; + bad.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + bad.add_extrude(0, 10.0, false, BooleanMode::New, "E"); + REQUIRE(bad.recompute()); + bad.add_rib(999, 0, 3.0, 10.0, 0, "BadRib"); + REQUIRE_FALSE(bad.recompute()); +} + +TEST_CASE("rib accepts a Project feature as its sketch ref", "[CadDocument][rib]") +{ + // Project carries plane + Line entities, which is all a rib reads. Every other consumer + // (Extrude, SurfaceExtrude, SurfaceRevolve) already accepts it; Rib used to reject it, + // which made "project a body edge, then rib along it" unreachable. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 40, 40, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + double Vbox = double(doc.display_mesh.volume()); + + // Project the whole body onto XY: the 4 top and 4 bottom edges survive as Lines. + int proj = doc.add_project_edges(0, {}, -1, SketchPlane::XY(), "Proj"); + REQUIRE(proj >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.features[proj].entities.size() == 8); + + int fi = doc.add_rib(proj, 0, 3.0, 12.0, 0, "RibFromProjection"); + REQUIRE(fi >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(double(doc.display_mesh.volume()) > Vbox); +} + +TEST_CASE("rib non-line entity rejected safely", "[CadDocument][rib]") +{ + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + + // Sketch with a Circle entity (not a Line) + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Circle, Vec2d(0, 0), Vec2d(0, 0), Vec2d(0, 0), 5.0}, + }; + int sk2 = doc.add_sketch_entities(ents, SketchPlane::XY(), "CircleSketch"); + doc.add_rib(sk2, 0, 2.0, 10.0, 0, "BadRib"); + + REQUIRE_FALSE(doc.recompute()); + REQUIRE_FALSE(doc.error.empty()); + REQUIRE_CONTAINS(doc.error, "rib"); +} + +TEST_CASE("rib round-trip serialization", "[CadDocument][rib]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 40, 40, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(5, 20), Vec2d(35, 20)}, + }; + int sk2 = doc.add_sketch_entities(ents, SketchPlane::XY(), "RibLine"); + doc.add_rib(sk2, 0, 3.0, 12.0, 0, "Rib"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + size_t nb = doc.bodies.size(); + double Vdoc = double(doc.display_mesh.volume()); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.bodies.size() == nb); + double Vfresh = double(fresh.display_mesh.volume()); + REQUIRE_THAT(Vfresh, WithinAbs(Vdoc, 1e-6)); + + // Find the rib feature and check its fields survived. + const CadFeature* rf = nullptr; + for (const auto& f : fresh.features) { + if (f.type == CadFeatureType::Rib) { rf = &f; break; } + } + REQUIRE(rf != nullptr); + REQUIRE_THAT(rf->rib_thickness, WithinAbs(3.0, 1e-9)); + REQUIRE_THAT(rf->rib_depth, WithinAbs(12.0, 1e-9)); +} + +// --- Bridge tests (M3c) --- + +TEST_CASE("bridge two collinear lines", "[CadDocument][bridge]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, + {SketchEntity::Type::Line, Vec2d(20,0), Vec2d(30,0)}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + REQUIRE(sk == 0); + + int bi = doc.add_bridge(0, 0, 1, 1, 0, "Bridge"); + REQUIRE(bi == 2); + + const auto& se = doc.features[0].entities; + REQUIRE(se.size() == 3); + REQUIRE(se[bi].type == SketchEntity::Type::BSpline); + REQUIRE(se[bi].ctrl.size() == 4); + REQUIRE_THAT(se[bi].ctrl.front().x(), WithinAbs(10.0, 1e-6)); + REQUIRE_THAT(se[bi].ctrl.front().y(), WithinAbs(0.0, 1e-6)); + REQUIRE_THAT(se[bi].ctrl.back().x(), WithinAbs(20.0, 1e-6)); + REQUIRE_THAT(se[bi].ctrl.back().y(), WithinAbs(0.0, 1e-6)); +} + +TEST_CASE("bridge closes a C profile and extrudes", "[CadDocument][bridge]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + // Right-side of a closed square: P0(10,-10), up to P1(10,10) + std::vector<SketchEntity> ents = { + // bottom edge: (-10,-10) to (10,-10) + {SketchEntity::Type::Line, Vec2d(-10,-10), Vec2d(10,-10)}, + // left edge: (10,-10) to (10,10) + {SketchEntity::Type::Line, Vec2d(10,-10), Vec2d(10,10)}, + // top edge: (10,10) to (-10,10) + {SketchEntity::Type::Line, Vec2d(10,10), Vec2d(-10,10)}, + }; + // Missing: left edge from (-10,10) to (-10,-10). Build it as a separate line + // entity so the bridge connects two existing lines. + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "C"); + REQUIRE(sk == 0); + + // Add the closing line as entity 3: (-10,10) to (-10,-10) + CadFeature& f = doc.features[sk]; + SketchEntity closing; + closing.type = SketchEntity::Type::Line; + closing.p0 = Vec2d(-10, 10); + closing.p1 = Vec2d(-10, -10); + // The C is entities 0,1,2 (bottom cap, right side, top cap). + // Entity 0 end=1 is (10,-10); entity 2 start=0 is (10,10). That's a U. + // But we need a closed square from C shape. + // Re-think: a C shape open on the left side. + // Entities: 0 = bottom edge (-10,-10)->(10,-10) [end=1 at (10,-10)] + // 1 = right edge (10,-10)->(10,10) [start=0 at (10,-10), end=1 at (10,10)] + // 2 = top edge (10,10)->(-10,10) [start=0 at (10,10), end=1 at (-10,10)] + // The C is open: entity 2's end is at (-10,10) and entity 0's start is at (-10,-10). + // Bridge: entity 2 end=1 (-10,10) -> entity 0 start=0 (-10,-10). + f.entities.push_back(closing); + REQUIRE(f.entities.size() == 4); + + // Now bridge from top end (entity 2 end=1 = (-10,10)) to bottom start (entity 0 end=0 = (-10,-10)) + int bi = doc.add_bridge(sk, 2/*top edge*/, 1/*end*/, 0/*bottom edge*/, 0/*start*/, "Bridge"); + REQUIRE(bi == 4); + REQUIRE(f.entities.size() == 5); + + // Now the entities should form a closed loop -> extrude + int ex = doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(ex >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + REQUIRE_THAT(double(doc.display_mesh.volume()), WithinRel(20.0 * 20.0 * 5.0, 1e-2)); +} + +TEST_CASE("bridge bad indices throw", "[CadDocument][bridge]") +{ + CadDocument doc; + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, + {SketchEntity::Type::Line, Vec2d(20,0), Vec2d(30,0)}, + }; + doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + + // out-of-range entity a + REQUIRE_THROWS(doc.add_bridge(0, 99, 1, 1, 0, "Bad")); + // out-of-range entity b + REQUIRE_THROWS(doc.add_bridge(0, 0, 1, 99, 0, "Bad")); + // out-of-range sketch_ref + REQUIRE_THROWS(doc.add_bridge(99, 0, 1, 1, 0, "Bad")); + // non-sketch feature as sketch_ref + doc.add_extrude(0, 5.0, false, BooleanMode::New, "Ex"); + REQUIRE_THROWS(doc.add_bridge(1, 0, 1, 1, 0, "Bad")); +} + +TEST_CASE("bridge round-trip serialization", "[CadDocument][bridge]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // The two collinear stubs plus the bridge span (0,0)->(30,0); the remaining three lines + // return to the origin so the profile is genuinely CLOSED. It used to be just the two + // stubs and the bridge, an entirely open chain that "extruded" only because OCCT will + // make a face out of an open wire — the silently-wrong geometry this area exists to stop. + // This test is about the bridge's serialization round-trip, and deserialize_recipe + // recomputes, so the document has to be one that legitimately builds. + std::vector<SketchEntity> ents = { + {SketchEntity::Type::Line, Vec2d(0,0), Vec2d(10,0)}, + {SketchEntity::Type::Line, Vec2d(20,0), Vec2d(30,0)}, + {SketchEntity::Type::Line, Vec2d(30,0), Vec2d(30,10)}, + {SketchEntity::Type::Line, Vec2d(30,10), Vec2d(0,10)}, + {SketchEntity::Type::Line, Vec2d(0,10), Vec2d(0,0)}, + }; + int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "S"); + REQUIRE(sk == 0); + int bi = doc.add_bridge(sk, 0, 1, 1, 0, "Bridge"); + REQUIRE(bi == 5); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.features.size() == 2); + + const auto& br = doc2.features[0].entities[5]; + REQUIRE(br.type == SketchEntity::Type::BSpline); + REQUIRE(br.ctrl.size() == 4); + REQUIRE_THAT(br.ctrl.front().x(), WithinAbs(10.0, 1e-9)); + REQUIRE_THAT(br.ctrl.front().y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(br.ctrl.back().x(), WithinAbs(20.0, 1e-9)); + REQUIRE_THAT(br.ctrl.back().y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("delete_face removes a fillet face and restores volume", "[CadDocument][deleteface]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double Vbox = double(doc.display_mesh.volume()); + REQUIRE(Vbox > 0.0); + + doc.add_fillet(2.0, FaceGroup::All, "Fillet"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double Vf = double(doc.display_mesh.volume()); + REQUIRE(Vf < Vbox); + + int nfaces = GeometryEngine::face_count(doc.bodies[0].shape); + doc.checkpoint(); + bool found = false; + for (int fi = 0; fi < nfaces && !found; ++fi) { + int idx = doc.add_delete_face(0, {fi}, "Unfillet"); + (void)idx; + if (doc.recompute() && doc.error.empty()) { + double Vr = double(doc.display_mesh.volume()); + if (Vr > Vf) { + found = true; + } + } + if (!found) doc.undo(); + } + REQUIRE(found); +} + +TEST_CASE("delete_face with bad face index fails safely", "[CadDocument][deleteface]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_delete_face(0, {9999}, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "face"); +} + +TEST_CASE("delete_face round-trip serialization", "[CadDocument][deleteface]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.add_fillet(2.0, FaceGroup::All, "Fillet"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int nfaces = GeometryEngine::face_count(doc.bodies[0].shape); + int fillet_face = -1; + for (int fi = 0; fi < nfaces; ++fi) { + doc.checkpoint(); + doc.add_delete_face(0, {fi}, "Unfillet"); + bool ok = doc.recompute(); + if (ok && doc.error.empty()) { + fillet_face = fi; + break; + } + doc.undo(); + } + REQUIRE(fillet_face >= 0); + + std::vector<std::pair<Vec3d, Vec3d>> bboxes; + for (const auto& b : doc.bodies) { + Bnd_Box bb; BRepBndLib::Add(b.shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes.push_back({Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)}); + } + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.recompute()); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.bodies.size() == doc.bodies.size()); + + for (size_t i = 0; i < bboxes.size(); ++i) { + Bnd_Box bb; BRepBndLib::Add(doc2.bodies[i].shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(double(x0), WithinAbs(bboxes[i].first.x(), 1e-6)); + REQUIRE_THAT(double(y0), WithinAbs(bboxes[i].first.y(), 1e-6)); + REQUIRE_THAT(double(z0), WithinAbs(bboxes[i].first.z(), 1e-6)); + REQUIRE_THAT(double(x1), WithinAbs(bboxes[i].second.x(), 1e-6)); + REQUIRE_THAT(double(y1), WithinAbs(bboxes[i].second.y(), 1e-6)); + REQUIRE_THAT(double(z1), WithinAbs(bboxes[i].second.z(), 1e-6)); + } +} + +TEST_CASE("hole: counterbore removes more material than a simple bore", "[CadDocument][hole]") +{ + using Catch::Matchers::WithinAbs; + auto make_box_hole = [](int style, double cbore_d, double cbore_depth, + double csink_d, double csink_angle, const std::string& desig) { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 30, 30, 0, "Box"); + doc.add_extrude(sk, 15.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double v_box = doc.body_mass_properties(0).volume; + if (style == 0) + doc.add_hole(6.0, 10.0, false, 0.0, 0.0, SketchPlane::XY(), "Hole"); + else + doc.add_hole_styled(6.0, 10.0, false, 0.0, 0.0, SketchPlane::XY(), style, + cbore_d, cbore_depth, csink_d, csink_angle, desig, "Hole"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + double v = doc.body_mass_properties(0).volume; + REQUIRE(v < v_box); + return v; + }; + + double v_simple = make_box_hole(0, 0, 0, 0, 0, ""); + double v_cbore = make_box_hole(1, 11.0, 6.0, 0, 0, "M6"); + REQUIRE(v_cbore < v_simple); +} + +TEST_CASE("hole: countersink removes more material than a simple bore", "[CadDocument][hole]") +{ + using Catch::Matchers::WithinAbs; + auto make_box = []() { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 30, 30, 0, "Box"); + doc.add_extrude(sk, 15.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + return doc; + }; + + CadDocument doc_simple = make_box(); + doc_simple.add_hole(6.0, 10.0, false, 0.0, 0.0, SketchPlane::XY(), "Hole"); + REQUIRE(doc_simple.recompute()); + double v_simple = doc_simple.body_mass_properties(0).volume; + double v_box = 30.0 * 30.0 * 15.0; + + CadDocument doc_csink = make_box(); + doc_csink.add_hole_styled(6.0, 10.0, false, 0.0, 0.0, SketchPlane::XY(), 2, + 0.0, 0.0, 12.0, 90.0, "M6", "Hole"); + REQUIRE(doc_csink.recompute()); + double v_csink = doc_csink.body_mass_properties(0).volume; + + REQUIRE(v_simple < v_box); + REQUIRE(v_csink < v_simple); +} + +TEST_CASE("hole: standards table lookup", "[CadDocument][hole]") +{ + using Catch::Matchers::WithinAbs; + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 30, 30, 0, "Box"); + doc.add_extrude(sk, 15.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int fi = doc.add_hole_standard("M6", 0, true, 10, 0, 0, SketchPlane::XY(), "H"); + REQUIRE(fi >= 0); + REQUIRE_THAT(doc.features[fi].hole_diameter, WithinAbs(6.6, 1e-6)); + REQUIRE(doc.features[fi].hole_standard == "M6"); + + REQUIRE_THROWS(doc.add_hole_standard("M999", 0, true, 10, 0, 0, SketchPlane::XY(), "H")); + try { + doc.add_hole_standard("M999", 0, true, 10, 0, 0, SketchPlane::XY(), "H"); + } catch (const std::exception& ex) { + CHECK_CONTAINS(std::string(ex.what()), "standard"); + } +} + +TEST_CASE("hole: round-trip preserves styled counterbore hole", "[CadDocument][hole]") +{ + using Catch::Matchers::WithinAbs; + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 30, 30, 0, "Box"); + doc.add_extrude(sk, 15.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_hole_styled(6.0, 10.0, false, 0.0, 0.0, SketchPlane::XY(), 1, + 11.0, 6.0, 0.0, 90.0, "M6", "Cbore"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + std::vector<std::pair<Vec3d, Vec3d>> bboxes; + for (const auto& b : doc.bodies) { + Bnd_Box bb; BRepBndLib::Add(b.shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + bboxes.emplace_back(Vec3d(x0, y0, z0), Vec3d(x1, y1, z1)); + } + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + REQUIRE(doc2.error.empty()); + REQUIRE(doc2.bodies.size() == doc.bodies.size()); + + for (size_t i = 0; i < bboxes.size(); ++i) { + Bnd_Box bb; BRepBndLib::Add(doc2.bodies[i].shape, bb); + Standard_Real x0, y0, z0, x1, y1, z1; + bb.Get(x0, y0, z0, x1, y1, z1); + REQUIRE_THAT(double(x0), WithinAbs(bboxes[i].first.x(), 1e-6)); + REQUIRE_THAT(double(y0), WithinAbs(bboxes[i].first.y(), 1e-6)); + REQUIRE_THAT(double(z0), WithinAbs(bboxes[i].first.z(), 1e-6)); + REQUIRE_THAT(double(x1), WithinAbs(bboxes[i].second.x(), 1e-6)); + REQUIRE_THAT(double(y1), WithinAbs(bboxes[i].second.y(), 1e-6)); + REQUIRE_THAT(double(z1), WithinAbs(bboxes[i].second.z(), 1e-6)); + } + + bool found = false; + for (const auto& f : doc2.features) { + if (f.type == CadFeatureType::Hole && f.name == "Cbore") { + REQUIRE(f.hole_style == 1); + REQUIRE_THAT(f.hole_cbore_diameter, WithinAbs(11.0, 1e-9)); + found = true; + } + } + REQUIRE(found); +} + +TEST_CASE("variables drive a box (parametric sketch + extrude)", "[CadDocument][variables]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.features.size() >= 2); + int ex = sk + 1; + + doc.variables = {{"w", "10"}, {"h", "w*2"}}; + doc.features[sk].expr = {{"width", "w"}, {"height", "w"}}; + doc.features[ex].expr = {{"distance", "h"}}; + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_FALSE(doc.body.IsNull()); + + Bnd_Box bb; BRepBndLib::Add(doc.body, bb); + double xlo, ylo, zlo, xhi, yhi, zhi; + bb.Get(xlo, ylo, zlo, xhi, yhi, zhi); + REQUIRE_THAT(xhi - xlo, WithinAbs(10.0, 1.0)); + REQUIRE_THAT(yhi - ylo, WithinAbs(10.0, 1.0)); + REQUIRE_THAT(zhi - zlo, WithinAbs(20.0, 2.0)); +} + +TEST_CASE("function + pi in expression binding", "[CadDocument][variables]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.features.size() >= 2); + + doc.variables = {{"r", "sqrt(16)+abs(-2)"}}; + doc.features[sk].expr = {{"radius", "r"}}; + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(doc.features[sk].radius, WithinAbs(6.0, 1e-6)); + + doc.variables = {{"r", "max(3, pi)"}}; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(doc.features[sk].radius, WithinAbs(M_PI, 1e-6)); + + doc.variables = {{"r", "5"}, {"d", "r*2"}}; + doc.features[sk].expr = {{"radius", "d"}}; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_THAT(doc.features[sk].radius, WithinAbs(10.0, 1e-6)); +} + +TEST_CASE("cycle detected fails recompute with error", "[CadDocument][variables]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.features[sk].expr = {{"width", "a"}}; + + doc.variables = {{"a", "b"}, {"b", "a"}}; + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "cycle"); +} + +TEST_CASE("unknown parameter fails recompute", "[CadDocument][variables]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.features[sk].expr = {{"nope", "1"}}; + + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "unknown parameter"); +} + +TEST_CASE("unknown identifier fails recompute", "[CadDocument][variables]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.features[sk].expr = {{"width", "x"}}; + + doc.variables = {{"x", "y+1"}}; + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "unknown identifier"); +} + +// The checkpoint -> mutate -> recompute -> undo-on-failure pattern is what both the GUI and +// McpControl use to keep a bad edit out of the document. It only works if the snapshot covers +// `variables` as well as `features`: undo() used to restore features alone, so a bad variable +// survived the rollback and every later recompute failed — the document was left unusable. +TEST_CASE("undo rolls back a bad variable, not just features", "[CadDocument][variables]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.features[sk].expr = {{"width", "w"}}; + doc.variables = {{"w", "20"}}; + REQUIRE(doc.recompute()); + + // Caller sets a variable to something unevaluable, exactly as action_set_variable does. + doc.checkpoint(); + doc.variables["w"] = "nosuchvar + 1"; + REQUIRE_FALSE(doc.recompute()); + REQUIRE(doc.undo()); + + // The good value must be back... + REQUIRE(doc.variables.at("w") == "20"); + // ...and, the part that actually bit, the document must still be usable. + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); +} + +// A variable ADDED under a checkpoint must disappear entirely on undo, not linger with a +// stale value: the pre-mutation snapshot simply did not contain the key. +TEST_CASE("undo removes a variable that did not exist before the checkpoint", "[CadDocument][variables]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.variables.empty()); + + doc.checkpoint(); + doc.variables["bogus"] = "1/0 +"; // syntactically broken + REQUIRE_FALSE(doc.recompute()); + REQUIRE(doc.undo()); + + REQUIRE(doc.variables.count("bogus") == 0); + REQUIRE(doc.recompute()); +} + +TEST_CASE("parametric recipe round-trips through serialize/deserialize", "[CadDocument][variables]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), + 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.features.size() >= 2); + int ex = sk + 1; + + doc.variables = {{"w", "10"}, {"h", "w*2"}}; + doc.features[sk].expr = {{"width", "w"}, {"height", "w"}}; + doc.features[ex].expr = {{"distance", "h"}}; + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + Bnd_Box bb_orig; BRepBndLib::Add(doc.body, bb_orig); + double ox0, oy0, oz0, ox1, oy1, oz1; + bb_orig.Get(ox0, oy0, oz0, ox1, oy1, oz1); + + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument doc2; + REQUIRE(doc2.deserialize_recipe(blob)); + + REQUIRE(doc2.variables.size() == 2); + REQUIRE(doc2.variables["w"] == "10"); + REQUIRE(doc2.variables["h"] == "w*2"); + + bool found_sk = false, found_ex = false; + for (const auto& f : doc2.features) { + if (f.name == "Sketch") { + REQUIRE(f.expr.size() == 2); + REQUIRE(f.expr.at("width") == "w"); + REQUIRE(f.expr.at("height") == "w"); + found_sk = true; + } + if (f.name == "Extrude") { + REQUIRE(f.expr.size() == 1); + REQUIRE(f.expr.at("distance") == "h"); + found_ex = true; + } + } + REQUIRE(found_sk); + REQUIRE(found_ex); + + REQUIRE(doc2.bodies.size() == doc.bodies.size()); + + Bnd_Box bb2; BRepBndLib::Add(doc2.body, bb2); + double nx0, ny0, nz0, nx1, ny1, nz1; + bb2.Get(nx0, ny0, nz0, nx1, ny1, nz1); + REQUIRE_THAT(nx0, WithinAbs(ox0, 1e-6)); + REQUIRE_THAT(ny0, WithinAbs(oy0, 1e-6)); + REQUIRE_THAT(nz0, WithinAbs(oz0, 1e-6)); + REQUIRE_THAT(nx1, WithinAbs(ox1, 1e-6)); + REQUIRE_THAT(ny1, WithinAbs(oy1, 1e-6)); + REQUIRE_THAT(nz1, WithinAbs(oz1, 1e-6)); +} + +TEST_CASE("surface-extrude makes an open shell", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + REQUIRE(sk >= 0); + int fi = doc.add_surface_extrude(sk, 12.0, "Skin"); + REQUIRE(fi == 1); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + // A rectangle skin has 4 side faces (no end caps). + int face_count = 0, solid_count = 0; + for (TopExp_Explorer fe(doc.bodies.back().shape, TopAbs_FACE); fe.More(); fe.Next()) ++face_count; + for (TopExp_Explorer se(doc.bodies.back().shape, TopAbs_SOLID); se.More(); se.Next()) ++solid_count; + REQUIRE(face_count >= 1); + REQUIRE(solid_count == 0); + REQUIRE(doc.display_mesh.facets_count() > 0); +} + +TEST_CASE("surface-revolve makes an open shell", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + // A small rectangle offset from the axis: u=10..15, v=0..5. + SketchProfile sp; + sp.points = {{10,0},{15,0},{15,5},{10,5}}; + sp.closed = true; + const int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "Profile"); + REQUIRE(sk >= 0); + int fi = doc.add_surface_revolve(sk, 360, 0, "Rev"); + REQUIRE(fi == 1); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + int solid_count = 0; + for (TopExp_Explorer se(doc.bodies.back().shape, TopAbs_SOLID); se.More(); se.Next()) ++solid_count; + REQUIRE(solid_count == 0); + REQUIRE(doc.display_mesh.facets_count() > 0); +} + +TEST_CASE("surface-extrude bad ref safe", "[CadDocument][surface]") +{ + CadDocument doc; + int fi = doc.add_surface_extrude(999, 10, "Bad"); + REQUIRE(fi == 0); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "surface-extrude"); +} + +TEST_CASE("surface round-trip serialize/deserialize", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + doc.add_surface_extrude(sk, 12.0, "Skin"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + size_t orig_nb = doc.bodies.size(); + Bnd_Box orig_bb; + BRepBndLib::Add(doc.bodies.back().shape, orig_bb); + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.error.empty()); + REQUIRE(fresh.bodies.size() == orig_nb); + REQUIRE(CadDocument::is_sheet_shape(fresh.bodies.back().shape)); + + Bnd_Box fresh_bb; + BRepBndLib::Add(fresh.bodies.back().shape, fresh_bb); + Standard_Real ox0, oy0, oz0, ox1, oy1, oz1; + orig_bb.Get(ox0, oy0, oz0, ox1, oy1, oz1); + Standard_Real fx0, fy0, fz0, fx1, fy1, fz1; + fresh_bb.Get(fx0, fy0, fz0, fx1, fy1, fz1); + REQUIRE_THAT(double(fx0), WithinAbs(double(ox0), 1e-6)); + REQUIRE_THAT(double(fy0), WithinAbs(double(oy0), 1e-6)); + REQUIRE_THAT(double(fz0), WithinAbs(double(oz0), 1e-6)); + REQUIRE_THAT(double(fx1), WithinAbs(double(ox1), 1e-6)); + REQUIRE_THAT(double(fy1), WithinAbs(double(oy1), 1e-6)); + REQUIRE_THAT(double(fz1), WithinAbs(double(oz1), 1e-6)); +} + +TEST_CASE("thicken-surface makes a solid from a sheet", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinRel; + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + REQUIRE(sk >= 0); + int si = doc.add_surface_extrude(sk, 12.0, "Skin"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + Bnd_Box sheet_bb; + BRepBndLib::Add(doc.bodies.back().shape, sheet_bb); + + int ti = doc.add_thicken_surface(0, 2.0, false, "Wall"); + REQUIRE(ti == 2); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + REQUIRE(!CadDocument::is_sheet_shape(doc.bodies.back().shape)); + double vol = doc.body_mass_properties(1).volume; + REQUIRE(vol > 0); + + Bnd_Box thick_bb; + BRepBndLib::Add(doc.bodies.back().shape, thick_bb); + Standard_Real sx0, sy0, sz0, sx1, sy1, sz1; + Standard_Real tx0, ty0, tz0, tx1, ty1, tz1; + sheet_bb.Get(sx0, sy0, sz0, sx1, sy1, sz1); + thick_bb.Get(tx0, ty0, tz0, tx1, ty1, tz1); + REQUIRE_THAT(double(tx0), WithinAbs(double(sx0), 2.1)); + REQUIRE_THAT(double(tx1), WithinAbs(double(sx1), 2.1)); +} + +// Regression for lu27, with the rig's own numbers. A 60x60x40 four-walled open box +// used to report volume 96000 and an inertia diagonal of [-4.2e7, -4.2e7, -6.9e7] — negative +// principal moments, which no real body can have. VolumeProperties was being integrated over +// an open shell as though it were closed, and std::abs() on the mass hid the only obvious tell. +// The area was always right, so that stays reported and valid; the volume and inertia must not. +TEST_CASE("mass properties of a sheet body report area only, never a volume", + "[CadDocument][surface]") +{ + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 60, 60, 0, "Rect"); + REQUIRE(sk >= 0); + doc.add_surface_extrude(sk, 40.0, "Skin"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + + auto sheet = doc.body_mass_properties(0); + REQUIRE_FALSE(sheet.is_solid); + REQUIRE(sheet.valid); // the area IS trustworthy + REQUIRE_THAT(sheet.surface_area, WithinRel(9600.0, 1e-6)); // 4 walls x 60 x 40 + REQUIRE(sheet.volume == 0.0); + for (double v : sheet.inertia) + REQUIRE(v == 0.0); + + // The solid thickened from that same sheet is the contrast case: it does have a volume, + // and its principal moments are positive, as any real body's must be. + REQUIRE(doc.add_thicken_surface(0, 2.0, false, "Wall") >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + auto solid = doc.body_mass_properties(1); + REQUIRE(solid.is_solid); + REQUIRE(solid.valid); + REQUIRE(solid.volume > 0.0); + REQUIRE(solid.inertia[0] > 0.0); + REQUIRE(solid.inertia[4] > 0.0); + REQUIRE(solid.inertia[8] > 0.0); +} + +// wm4s. The wall of a thickened open box must contain the corner material. Thickening +// each face along its own normal and sewing (MakeThickSolidBySimple) leaves the four vertical +// corners empty and measured 29648.15 where the geometry requires 44000; the two controls below +// were exact before and must stay exact, since they are what a corner-only fix must not disturb. +TEST_CASE("thicken surface fills the corners of a closed-loop wall", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinRel; + + SECTION("open box: (60^2 - 50^2) * 40") { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 60, 60, 0, "Rect"); + REQUIRE(sk >= 0); + doc.add_surface_extrude(sk, 40.0, "Skin"); // 4 walls, no caps + REQUIRE(doc.recompute()); + REQUIRE(doc.body_mass_properties(0).surface_area == Approx(9600.0)); // the sheet is what we think + + REQUIRE(doc.add_thicken_surface(0, 5.0, false, "Wall") >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto w = doc.body_mass_properties(1); + REQUIRE(w.is_solid); // NOT a shell: the old ByJoin attempts + REQUIRE_THAT(w.volume, WithinRel(44000.0, 1e-6)); // returned volume 0.0 / is_solid false + // The wall must sit ON the sheet, not around it: an inverted capped solid offsets the + // wrong way and lands at 70x70 with a volume larger than its own bounding box. + const auto bb = doc.display_body_meshes[1].bounding_box(); + REQUIRE_THAT(bb.max.x() - bb.min.x(), WithinRel(60.0, 1e-3)); + REQUIRE_THAT(bb.max.z() - bb.min.z(), WithinRel(40.0, 1e-3)); + } + + SECTION("control, flat sheet stays exact: 3600 * 5") { + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 60, 60, 0, "Rect"); + REQUIRE(doc.add_surface_fill(sk, "Face") >= 0); // one flat face, no rim to mitre + REQUIRE(doc.recompute()); + REQUIRE(doc.add_thicken_surface(0, 5.0, false, "Plate") >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto p = doc.body_mass_properties(1); + REQUIRE(p.is_solid); + REQUIRE_THAT(p.volume, WithinRel(18000.0, 1e-6)); + } +} + +TEST_CASE("surface-offset creates another sheet shifted outward", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + REQUIRE(sk >= 0); + int si = doc.add_surface_extrude(sk, 12.0, "Skin"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + Bnd_Box src_bb; + BRepBndLib::Add(doc.bodies.back().shape, src_bb); + + int oi = doc.add_surface_offset(0, 1.0, "Off"); + REQUIRE(oi == 2); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + Bnd_Box off_bb; + BRepBndLib::Add(doc.bodies.back().shape, off_bb); + Standard_Real sx0, sy0, sz0, sx1, sy1, sz1; + Standard_Real ox0, oy0, oz0, ox1, oy1, oz1; + src_bb.Get(sx0, sy0, sz0, sx1, sy1, sz1); + off_bb.Get(ox0, oy0, oz0, ox1, oy1, oz1); + REQUIRE(std::abs(double(ox0) - double(sx0)) > 1e-3); + REQUIRE(std::abs(double(ox1) - double(sx1)) > 1e-3); + REQUIRE(std::abs(double(oy0) - double(sy0)) > 1e-3); + REQUIRE(std::abs(double(oy1) - double(sy1)) > 1e-3); +} + +TEST_CASE("thicken-surface on non-sheet fails", "[CadDocument][surface]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + REQUIRE(sk >= 0); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Solid"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_FALSE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + doc.add_thicken_surface(0, 2.0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "sheet"); +} + +TEST_CASE("thicken-surface round-trip serialize/deserialize", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinAbs; + using Catch::Matchers::WithinRel; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + doc.add_surface_extrude(sk, 12.0, "Skin"); + REQUIRE(doc.recompute()); + doc.add_thicken_surface(0, 2.0, false, "Wall"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_FALSE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + size_t orig_nb = doc.bodies.size(); + Bnd_Box orig_bb; + BRepBndLib::Add(doc.bodies.back().shape, orig_bb); + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.error.empty()); + REQUIRE(fresh.bodies.size() == orig_nb); + REQUIRE_FALSE(CadDocument::is_sheet_shape(fresh.bodies.back().shape)); + + Bnd_Box fresh_bb; + BRepBndLib::Add(fresh.bodies.back().shape, fresh_bb); + Standard_Real ox0, oy0, oz0, ox1, oy1, oz1; + Standard_Real fx0, fy0, fz0, fx1, fy1, fz1; + orig_bb.Get(ox0, oy0, oz0, ox1, oy1, oz1); + fresh_bb.Get(fx0, fy0, fz0, fx1, fy1, fz1); + REQUIRE_THAT(double(fx0), WithinAbs(double(ox0), 1e-6)); + REQUIRE_THAT(double(fy0), WithinAbs(double(oy0), 1e-6)); + REQUIRE_THAT(double(fz0), WithinAbs(double(oz0), 1e-6)); + REQUIRE_THAT(double(fx1), WithinAbs(double(ox1), 1e-6)); + REQUIRE_THAT(double(fy1), WithinAbs(double(oy1), 1e-6)); + REQUIRE_THAT(double(fz1), WithinAbs(double(oz1), 1e-6)); +} + +TEST_CASE("surface-loft makes an open shell", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + SketchProfile bot; + bot.points = {{-10,-10},{10,-10},{10,10},{-10,10}}; + bot.closed = true; + int s0 = doc.add_sketch_profile(bot, SketchPlane::XY(), "Bottom"); + + doc.add_plane(0 /*XY*/, 20.0, 0.0, 0, "Plane1"); + SketchPlane top = doc.resolve_datum_planes()[0].second; + SketchProfile tp; + tp.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; + tp.closed = true; + int s1 = doc.add_sketch_profile(tp, top, "Top"); + + int fi = doc.add_surface_loft({s0, s1}, false, "Skin"); + REQUIRE(fi >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + // Contrast with a solid loft on the same profiles. + CadDocument doc2; + SketchProfile bot2; + bot2.points = {{-10,-10},{10,-10},{10,10},{-10,10}}; + bot2.closed = true; + int a0 = doc2.add_sketch_profile(bot2, SketchPlane::XY(), "Bottom"); + doc2.add_plane(0 /*XY*/, 20.0, 0.0, 0, "Plane1"); + SketchPlane top2 = doc2.resolve_datum_planes()[0].second; + SketchProfile tp2; + tp2.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; + tp2.closed = true; + int a1 = doc2.add_sketch_profile(tp2, top2, "Top"); + doc2.add_loft({a0, a1}, false, BooleanMode::New, "SolidLoft"); + REQUIRE(doc2.recompute()); + REQUIRE(doc2.error.empty()); + REQUIRE_FALSE(CadDocument::is_sheet_shape(doc2.bodies.back().shape)); +} + +TEST_CASE("surface-fill makes a one-face sheet", "[CadDocument][surface]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Rect"); + REQUIRE(sk >= 0); + int fi = doc.add_surface_fill(sk, "Patch"); + REQUIRE(fi == 1); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 1); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + int face_count = 0; + for (TopExp_Explorer fe(doc.bodies.back().shape, TopAbs_FACE); fe.More(); fe.Next()) ++face_count; + REQUIRE(face_count >= 1); +} + +TEST_CASE("surface-loft / surface-fill bad refs safe", "[CadDocument][surface]") +{ + { + CadDocument doc; + doc.add_surface_loft({999}, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "surface-loft"); + } + { + CadDocument doc; + doc.add_surface_fill(999, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "surface-fill"); + } +} + +TEST_CASE("surface-loft round-trip serialize/deserialize", "[CadDocument][surface]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + SketchProfile bot; + bot.points = {{-10,-10},{10,-10},{10,10},{-10,10}}; + bot.closed = true; + int s0 = doc.add_sketch_profile(bot, SketchPlane::XY(), "Bottom"); + doc.add_plane(0 /*XY*/, 20.0, 0.0, 0, "Plane1"); + SketchPlane top = doc.resolve_datum_planes()[0].second; + SketchProfile tp; + tp.points = {{-5,-5},{5,-5},{5,5},{-5,5}}; + tp.closed = true; + int s1 = doc.add_sketch_profile(tp, top, "Top"); + doc.add_surface_loft({s0, s1}, false, "Skin"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies.back().shape)); + + size_t orig_nb = doc.bodies.size(); + Bnd_Box orig_bb; + BRepBndLib::Add(doc.bodies.back().shape, orig_bb); + + std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.error.empty()); + REQUIRE(fresh.bodies.size() == orig_nb); + REQUIRE(CadDocument::is_sheet_shape(fresh.bodies.back().shape)); + + Bnd_Box fresh_bb; + BRepBndLib::Add(fresh.bodies.back().shape, fresh_bb); + Standard_Real ox0, oy0, oz0, ox1, oy1, oz1; + Standard_Real fx0, fy0, fz0, fx1, fy1, fz1; + orig_bb.Get(ox0, oy0, oz0, ox1, oy1, oz1); + fresh_bb.Get(fx0, fy0, fz0, fx1, fy1, fz1); + REQUIRE_THAT(double(fx0), WithinAbs(double(ox0), 1e-6)); + REQUIRE_THAT(double(fy0), WithinAbs(double(oy0), 1e-6)); + REQUIRE_THAT(double(fz0), WithinAbs(double(oz0), 1e-6)); + REQUIRE_THAT(double(fx1), WithinAbs(double(ox1), 1e-6)); + REQUIRE_THAT(double(fy1), WithinAbs(double(oy1), 1e-6)); + REQUIRE_THAT(double(fz1), WithinAbs(double(oz1), 1e-6)); +} + +// --- Mate tests (M8a) --- + +TEST_CASE("fastened mate with zero offset/angle", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk_box, 5.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_cyl = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk_cyl, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int mi = doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Mate"); + REQUIRE(mi >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(5.0, 1e-4)); +} + +TEST_CASE("fastened mate with offset", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk2 = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk2, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 7.0, 0.0, false, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.Z()), WithinAbs(12.0, 1e-4)); +} + +TEST_CASE("fastened mate with angle", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk2 = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk2, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_x_hint = Vec3d(1, 0, 0); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 90.0, false, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); +} + +TEST_CASE("fastened mate with flip", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk2 = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk2, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, true, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + // Flip opposes Z axes: for a symmetric cylinder this is invisible in centroid, + // but the mate executed cleanly and the body moved to the target connector. +} + +TEST_CASE("planar mate: normal distance becomes mate_offset", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk2 = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk2, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(20, 0, 0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(1, cs_fixed, cs_moving, 3.0, 0.0, false, "MatePlanar"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + // Connector B was at z=0 (bottom of 10mm cylinder). After planar mate with + // offset=3 and A at z=5, the z-distance from A to B becomes 3 => B.z = 8. + // The cylinder centroid (was at z=5) moves to z=13. + REQUIRE_THAT(double(com.Z()), WithinAbs(13.0, 1e-4)); +} + +TEST_CASE("mate round-trip serialization", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_A"); + doc.features[cs_a].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk2 = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk2, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(20, 0, 5), "CS_B"); + doc.features[cs_b].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(1, cs_a, cs_b, 7.25, 33.0, true, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + size_t nb = doc.bodies.size(); + auto blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.bodies.size() == nb); + + const CadFeature* mf = nullptr; + for (const auto& f : fresh.features) { + if (f.type == CadFeatureType::Mate) { mf = &f; break; } + } + REQUIRE(mf != nullptr); + REQUIRE(mf->mate_kind == 1); + REQUIRE_THAT(mf->mate_offset, WithinAbs(7.25, 1e-9)); + REQUIRE_THAT(mf->mate_angle, WithinAbs(33.0, 1e-9)); + REQUIRE(mf->mate_flip == true); +} + +TEST_CASE("version 2 blob is rejected", "[CadDocument][mate]") +{ + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + std::ostringstream oss; + { + cereal::BinaryOutputArchive ar(oss); + uint32_t fake_v = 2; + ar(fake_v); + ar(doc.features); + ar(doc.variables); + } + std::string blob = oss.str(); + + CadDocument fresh; + REQUIRE_FALSE(fresh.deserialize_recipe(blob)); + REQUIRE_CONTAINS(fresh.error, "older version"); +} + +TEST_CASE("mate error: out of range connectors", "[CadDocument][mate]") +{ + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS"); + doc.features[cs].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, 999, cs, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "mate_cs_a out of range"); + doc.features.pop_back(); doc.error.clear(); + + doc.add_mate(0, cs, 999, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "mate_cs_b out of range"); + doc.features.pop_back(); doc.error.clear(); + + doc.add_mate(0, sk, cs, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "not a valid CoordSys"); + doc.features.pop_back(); doc.error.clear(); +} + +// A mate stores its two connectors as FEATURE INDICES. remove_feature() erases a slot and remaps +// every surviving sketch_ref through the deletion, but it did not remap mate_cs_a / mate_cs_b — +// so deleting anything ahead of a connector slid both references down onto whatever features +// happened to occupy those indices. The validation in recompute() only catches out-of-range and +// non-CoordSys targets; when the landing slots are themselves CoordSys features — the normal +// case, since an assembly carries at least two — nothing reports anything. The mate silently +// resolves against the wrong frames and moves the wrong body. +// +// The third connector below (CS_Spare) is what makes the corruption silent rather than loud: +// without it the one-slot shift would push mate_cs_b onto the Mate feature itself and trip the +// "not a valid CoordSys" guard, hiding the real defect behind an error that looks handled. +TEST_CASE("mate connectors survive deletion of an earlier feature", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk_box, 5.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // The victim: an unrelated connector sitting AHEAD of the pair the mate will use. + int cs_decoy = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(1, 1, 1), "CS_Decoy"); + doc.features[cs_decoy].coordsys_body = 0; + REQUIRE(doc.recompute()); + + int sk_cyl = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk_cyl, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + int cs_spare = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(9, 9, 9), "CS_Spare"); + doc.features[cs_spare].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + REQUIRE_THAT(double(props.CentreOfMass().X()), WithinAbs(5.0, 1e-4)); + + REQUIRE(doc.remove_feature(cs_decoy)); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // The mate must still name the same two connectors it was built with. + const CadFeature& mate = doc.features.back(); + REQUIRE(mate.type == CadFeatureType::Mate); + REQUIRE(mate.mate_cs_a >= 0); + REQUIRE(mate.mate_cs_b >= 0); + REQUIRE(doc.features[mate.mate_cs_a].name == "CS_Fixed"); + REQUIRE(doc.features[mate.mate_cs_b].name == "CS_Moving"); + + // ...and therefore still assemble the same way: the cylinder on the fixed connector. + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + REQUIRE_THAT(double(props.CentreOfMass().X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(props.CentreOfMass().Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(props.CentreOfMass().Z()), WithinAbs(5.0, 1e-4)); +} + +// move_feature() has the same blind spot from the other direction: it swaps two slots and +// rewrites sketch_ref for both, but leaves mate_cs_a / mate_cs_b pointing at the old positions. +TEST_CASE("mate connectors survive reordering of an earlier feature", "[CadDocument][mate]") +{ + CadDocument doc; + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk_box, 5.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + + int sk_cyl = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk_cyl, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Swap the two connectors' slots. The mate's references must follow the features, + // not stay behind on the indices. + REQUIRE(doc.move_feature(cs_fixed, 1)); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + const CadFeature& mate = doc.features.back(); + REQUIRE(mate.type == CadFeatureType::Mate); + REQUIRE(mate.mate_cs_a >= 0); + REQUIRE(mate.mate_cs_b >= 0); + REQUIRE(doc.features[mate.mate_cs_a].name == "CS_Fixed"); + REQUIRE(doc.features[mate.mate_cs_b].name == "CS_Moving"); +} + +TEST_CASE("mate error: no associated body", "[CadDocument][mate]") +{ + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "no associated body"); +} + +TEST_CASE("mate error: disabled connector", "[CadDocument][mate]") +{ + + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.features[cs_moving].enabled = false; + + doc.add_mate(0, cs_fixed, cs_moving, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "not a valid CoordSys"); +} + +TEST_CASE("mate conflicts: a clean assembly reports none", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk_box, 5.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_cyl = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk_cyl, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + + int mi = doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Mate1"); + REQUIRE(mi >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.mate_conflicts.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(5.0, 1e-4)); +} + +TEST_CASE("mate conflicts: two mates driving the same body", "[CadDocument][mate]") +{ + CadDocument doc; + int sk_box = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk_box, 5.0, false, BooleanMode::New, "BoxExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_cyl = doc.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 3, "Cyl"); + doc.add_extrude(sk_cyl, 10.0, false, BooleanMode::New, "CylExt"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + int cs_a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "CS_A"); + doc.features[cs_a].coordsys_body = 0; + int cs_b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "CS_B"); + doc.features[cs_b].coordsys_body = 1; + int cs_c = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(10, 10, 10), "CS_C"); + doc.features[cs_c].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int mate1 = doc.add_mate(0, cs_c, cs_b, 0, 0, false, "Mate1"); + REQUIRE(mate1 >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int mate2 = doc.add_mate(0, cs_a, cs_b, 0, 0, false, "Mate2"); + REQUIRE(mate2 >= 0); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + REQUIRE(doc.mate_conflicts.size() == 1); + REQUIRE(doc.mate_conflicts[0].first == mate2); + REQUIRE(doc.mate_conflicts[0].second.find("Mate1") != std::string::npos); + REQUIRE(doc.mate_conflicts[0].second.find("Mate2") != std::string::npos); +} + +TEST_CASE("mate conflicts: a circular mate chain", "[CadDocument][mate]") +{ + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "ExtA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "ExtB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + int cs_a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_A"); + doc.features[cs_a].coordsys_body = 0; + int cs_b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_B"); + doc.features[cs_b].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_c = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 10), "CS_C"); + doc.features[cs_c].coordsys_body = 0; + int cs_d = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 10), "CS_D"); + doc.features[cs_d].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int mate1 = doc.add_mate(0, cs_a, cs_b, 0, 0, false, "MateAB"); + REQUIRE(mate1 >= 0); + REQUIRE(doc.recompute()); + + int mate2 = doc.add_mate(0, cs_d, cs_c, 0, 0, false, "MateBA"); + REQUIRE(mate2 >= 0); + REQUIRE(doc.recompute()); + + REQUIRE(doc.error.empty()); + REQUIRE(doc.mate_conflicts.size() >= 1); + bool found_cycle = false; + for (const auto& c : doc.mate_conflicts) { + if (c.second.find("circular") != std::string::npos) { + found_cycle = true; + break; + } + } + REQUIRE(found_cycle); +} + +TEST_CASE("mate conflicts: a broken mate is left to apply_mate", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "Box"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "E"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS"); + doc.features[cs].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, 999, cs, 0, 0, false, "Bad"); + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "mate_cs_a out of range"); + REQUIRE(doc.mate_conflicts.empty()); +} + +TEST_CASE("ordering: fillet after mate resolves face ids", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Mate"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_fillet(1.0, FaceGroup::All, "FilletAfterMate"); + doc.features.back().target_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); +} + +// --- M8a fix round: planar antiparallel + blind tests --- + +static int find_face_by_normal(const CadDocument& doc, int body_idx, const Vec3d& dir, double tol = 0.99) +{ + auto faces = GeometryEngine::faces_of(doc.bodies[body_idx].shape); + for (int fi = 0; fi < int(faces.size()); ++fi) { + if (GeometryEngine::face_normal_world(faces[fi]).dot(dir) > tol) return fi; + } + return -1; +} + +// Global edge index of the first edge belonging to `face_idx`. +// +// A CoordSys built from a face alone takes its z from the face normal (which follows the +// body) but its x from coordsys_x_hint, a WORLD constant. Such a frame is only half +// body-following: the body's rotation about the face normal is invisible to it, so no mate +// can correct or preserve a spin the connector cannot see. Pinning coordsys_edge to an edge +// of the body makes the in-plane direction follow the body too, which is what any test +// distinguishing Slider (corrects spin) from Cylindrical (preserves it) requires. +static int find_edge_on_face(const CadDocument& doc, int body_idx, int face_idx) +{ + TopoDS_Face f = GeometryEngine::face_by_index(doc.bodies[body_idx].shape, face_idx); + if (f.IsNull()) return -1; + auto face_edges = GeometryEngine::edges_of_face(f); + auto all_edges = GeometryEngine::edges_of(doc.bodies[body_idx].shape); + for (int ei = 0; ei < int(all_edges.size()); ++ei) { + for (const auto& fe : face_edges) { + if (all_edges[ei].IsSame(fe)) return ei; + } + } + return -1; +} + +TEST_CASE("planar mate: antiparallel normals with asymmetric body", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box 20x20x5, centered at origin in XY + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body B: box 20x10x5, also centered at origin (asymmetric in Y) + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + // Face on A with normal +X, face on B with normal -X + int faceA = find_face_by_normal(doc, 0, Vec3d(1, 0, 0)); + REQUIRE(faceA >= 0); + int faceB = find_face_by_normal(doc, 1, Vec3d(-1, 0, 0)); + REQUIRE(faceB >= 0); + + // Verify z_A != z_B (they point opposite) + Vec3d nA_pre = GeometryEngine::face_normal_world( + GeometryEngine::face_by_index(doc.bodies[0].shape, faceA)); + Vec3d nB_pre = GeometryEngine::face_normal_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)); + REQUIRE(nA_pre.dot(nB_pre) < -0.9); // antiparallel + + int cs_fixed = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + doc.features[cs_fixed].coordsys_face = faceA; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_moving = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + doc.features[cs_moving].coordsys_face = faceB; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Planar mate: z_A=+X, z_B=-X antiparallel. offset=0. + // With fix: 180° flip, then translated so z-distance=0. + // Without fix: no rotation, only translation — body X-centroid moves differently. + doc.add_mate(1, cs_fixed, cs_moving, 0.0, 0.0, false, "PlanarAnti"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // With the fix: 180° rotation about faceB centroid, then translation. + // Body B's X-extents are mirrored. After rotation, centroid X = 2*o_B.x - pre_cx = -20, + // then translated by offset ≈ 20mm → centroid returns near 0. + // Without the fix: no rotation, body just translates ~+20mm → centroid X ≈ 20. + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + double post_cx = post_props.CentreOfMass().X(); + REQUIRE_THAT(std::abs(post_cx), WithinAbs(0.0, 1e-4)); +} + +TEST_CASE("planar mate: in-plane pose preserved", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 10.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + gp_Pnt pre_com = pre_props.CentreOfMass(); + + // Both connectors use PointWorld (z=(0,0,1)). B's connector offset in X/Y from A's. + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(10, 10, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(7, 4, 10), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(1, cs_fixed, cs_moving, 0.0, 0.0, false, "PlanarSameZ"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt post_com = post_props.CentreOfMass(); + + // In-plane (X,Y) components unchanged, only Z moves. + REQUIRE_THAT(double(post_com.X()), WithinAbs(double(pre_com.X()), 1e-4)); + REQUIRE_THAT(double(post_com.Y()), WithinAbs(double(pre_com.Y()), 1e-4)); + REQUIRE_THAT(double(post_com.Z()), !WithinAbs(double(pre_com.Z()), 1e-4)); +} + +TEST_CASE("mate with FaceAndDirection connectors on non-Z faces", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box 20x20x10 + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Face on A with normal +Y + int faceA = find_face_by_normal(doc, 0, Vec3d(0, 1, 0)); + REQUIRE(faceA >= 0); + + int cs_fixed = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + doc.features[cs_fixed].coordsys_face = faceA; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body B: box placed at a different location + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Face on B with normal +Y + int faceB = find_face_by_normal(doc, 1, Vec3d(0, 1, 0)); + REQUIRE(faceB >= 0); + + int cs_moving = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + doc.features[cs_moving].coordsys_face = faceB; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Fastened mate: B's +Y face lands on A's +Y face, offset=0. + // Both normals are +Y so z_A = z_B = (0,1,0) — genuine rotation from frame composition. + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "MateY"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // After fastened mate, the two mated faces should be coincident: + // same centroid position along the normal (Y), and same centroid in X and Z + // (within face dimensions since they're different sizes). + Vec3d ca = GeometryEngine::face_centroid_world(GeometryEngine::face_by_index(doc.bodies[0].shape, faceA)); + Vec3d cb = GeometryEngine::face_centroid_world(GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)); + REQUIRE_THAT(cb.x(), WithinAbs(ca.x(), 1e-4)); + REQUIRE_THAT(cb.y(), WithinAbs(ca.y(), 1e-4)); + REQUIRE_THAT(cb.z(), WithinAbs(ca.z(), 1e-4)); +} + +TEST_CASE("fastened mate with flip on asymmetric body", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body B: tapered extrude (asymmetric, centroid not at geometric centre) + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + int ex_b = doc.add_extrude(sk_b, 8.0, false, BooleanMode::New, "EB"); + doc.features[ex_b].taper_deg = 8.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // PointWorld connectors at distinct positions. + // A's connector on the top face centre, B's connector at a corner. + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(10, 10, 10), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(2, 3, 0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Fastened, NO flip + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "MateNoFlip"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + GProp_GProps nf_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, nf_props); + double nf_z = nf_props.CentreOfMass().Z(); + + doc.undo(); + + // Fastened, WITH flip + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, true, "MateFlip"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + GProp_GProps f_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, f_props); + double f_z = f_props.CentreOfMass().Z(); + + // Flip changes the centroid Z for an asymmetric body + REQUIRE_THAT(f_z, !WithinAbs(nf_z, 1e-4)); +} + +// --- M8b: Revolute / Slider / Cylindrical mates --- + +TEST_CASE("revolute mate: position corrected, rotation about axis preserved", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: reference box + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body B: asymmetric box 20x10x5 + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.size() == 2); + + // Pre-rotate B 30deg about Z, translate off-axis to (15, 2, 7) + doc.add_transform(1, Vec3d(15, 2, 7), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Record rotation: body B has a face that was originally +X, now at 30deg + auto faces_pre = GeometryEngine::faces_of(doc.bodies[1].shape); + REQUIRE(faces_pre.size() == 6); + Vec3d pre_x_face_normal; + bool found = false; + for (const auto& f : faces_pre) { + Vec3d n = GeometryEngine::face_normal_world(f); + // The face that was originally +X now points ~(cos30, sin30, 0) + if (std::abs(n.x() - 0.866) < 0.02 && std::abs(n.y() - 0.5) < 0.02) { + pre_x_face_normal = n; found = true; break; + } + } + REQUIRE(found); + + // Fixed connector on A at (5,5,5), world axes + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + // Moving connector on B: PointWorld at its current (transformed) centroid + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(15, 2, 7), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(2, cs_fixed, cs_moving, 0.0, 0.0, false, "Revolute"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position corrected: body centroid moves to the axis line. + // Connector B (15,2,7) → (5,5,5); body centroid (15,2,9.5) → (5,5,7.5). + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(7.5, 1e-4)); + + // Rotation about Z preserved: the ~(0.866, 0.5, 0) face normal still exists + auto faces_post = GeometryEngine::faces_of(doc.bodies[1].shape); + REQUIRE(faces_post.size() == 6); + bool rot_preserved = false; + for (const auto& f : faces_post) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.x() - 0.866) < 0.02 && std::abs(n.y() - 0.5) < 0.02) { + rot_preserved = true; break; + } + } + REQUIRE(rot_preserved); + // Fastened would have aligned face normals to world axes: no face with Y≈0.5 would exist. +} + +TEST_CASE("revolute mate: no-op when already correct", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Move body B to exactly the correct pose: on axis at (5,5,5) with no rotation + doc.add_transform(1, Vec3d(5, 5, 5), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + gp_Pnt pre_com = pre_props.CentreOfMass(); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(2, cs_fixed, cs_moving, 0.0, 0.0, false, "RevoluteNoOp"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt post_com = post_props.CentreOfMass(); + REQUIRE_THAT(double(post_com.X()), WithinAbs(double(pre_com.X()), 1e-4)); + REQUIRE_THAT(double(post_com.Y()), WithinAbs(double(pre_com.Y()), 1e-4)); + REQUIRE_THAT(double(post_com.Z()), WithinAbs(double(pre_com.Z()), 1e-4)); +} + +TEST_CASE("revolute mate: mate_angle applies additional rotation", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body B: asymmetric box, pre-rotated 30deg about Z, off-axis + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_transform(1, Vec3d(15, 2, 7), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(15, 2, 7), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // mate_angle=45deg on top of preserved 30deg → face originally +X now at 75deg + doc.add_mate(2, cs_fixed, cs_moving, 0.0, 45.0, false, "RevoluteAngle"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position on axis line (same as revolute preservation test) + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(7.5, 1e-4)); + + // Rotation = 30deg (preserved) + 45deg (mate_angle) = 75deg → normal ≈ (cos75, sin75, 0) + auto faces = GeometryEngine::faces_of(doc.bodies[1].shape); + bool found_75 = false; + for (const auto& f : faces) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.x() - 0.2588) < 0.02 && std::abs(n.y() - 0.9659) < 0.02) { + found_75 = true; break; + } + } + REQUIRE(found_75); +} + +TEST_CASE("slider mate: rotation corrected, axial position preserved", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Pre-rotate B 30deg about Z, translate off-axis to (15, 2, 13) + doc.add_transform(1, Vec3d(15, 2, 13), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + double pre_z = pre_props.CentreOfMass().Z(); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(15, 2, 13), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(3, cs_fixed, cs_moving, 0.0, 0.0, false, "Slider"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Perpendicular position corrected to the axis line (X=5, Y=5) + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt post_com = post_props.CentreOfMass(); + REQUIRE_THAT(double(post_com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(post_com.Y()), WithinAbs(5.0, 1e-4)); + + // Axial (Z) position preserved from pre-mate pose + REQUIRE_THAT(double(post_com.Z()), WithinAbs(pre_z, 1e-4)); + // Fastened would have placed the body at Z=5. pre_z=15.5 (centroid), clearly different. +} + +TEST_CASE("slider mate: mate_offset shifts axial position", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_transform(1, Vec3d(12, 3, 9), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(12, 3, 9), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Slider with mate_offset=4: body centroid at (12,3,11.5), connector at (12,3,9). + // Perpendicular corrected: X=5,Y=5. Axial: preserved Z 11.5 + offset 4 = 15.5. + doc.add_mate(3, cs_fixed, cs_moving, 4.0, 0.0, false, "SliderOffset"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(15.5, 1e-3)); +} + +TEST_CASE("slider mate: no-op when already correct", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body already on axis at (5,5,20), no rotation + doc.add_transform(1, Vec3d(5, 5, 20), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + gp_Pnt pre_com = pre_props.CentreOfMass(); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 20), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(3, cs_fixed, cs_moving, 0.0, 0.0, false, "SliderNoOp"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt post_com = post_props.CentreOfMass(); + REQUIRE_THAT(double(post_com.X()), WithinAbs(double(pre_com.X()), 1e-4)); + REQUIRE_THAT(double(post_com.Y()), WithinAbs(double(pre_com.Y()), 1e-4)); + REQUIRE_THAT(double(post_com.Z()), WithinAbs(double(pre_com.Z()), 1e-4)); +} + +TEST_CASE("cylindrical mate: perpendicular corrected, rotation and axial preserved", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Pre-rotate B 30deg about Z, translate off-axis to (15, 2, 13) + doc.add_transform(1, Vec3d(15, 2, 13), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + double pre_z = pre_props.CentreOfMass().Z(); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(15, 2, 13), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(4, cs_fixed, cs_moving, 0.0, 0.0, false, "Cylindrical"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Perpendicular position corrected to axis line + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt com = post_props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + + // Axial Z position preserved from pre-mate + REQUIRE_THAT(double(com.Z()), WithinAbs(pre_z, 1e-4)); + + // Rotation about Z preserved: face originally +X is still at 30deg + auto faces = GeometryEngine::faces_of(doc.bodies[1].shape); + REQUIRE(faces.size() == 6); + bool rot_preserved = false; + for (const auto& f : faces) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.x() - 0.866) < 0.02 && std::abs(n.y() - 0.5) < 0.02) { + rot_preserved = true; break; + } + } + REQUIRE(rot_preserved); + // Fastened would have aligned face normals to world axes and fixed Z. +} + +TEST_CASE("cylindrical mate: mate_offset and mate_angle applied on top", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_transform(1, Vec3d(15, 2, 9), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(15, 2, 9), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(4, cs_fixed, cs_moving, 3.0, 45.0, false, "CylOffsetAngle"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position: perpendicular corrected, axial = 11.5 (centroid preserved) + 3 (offset) = 14.5 + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(5.0, 1e-4)); + REQUIRE_THAT(double(com.Z()), WithinAbs(14.5, 1e-3)); + + // Rotation = 30deg (preserved) + 45deg (angle) = 75deg + auto faces = GeometryEngine::faces_of(doc.bodies[1].shape); + bool found_75 = false; + for (const auto& f : faces) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.x() - 0.2588) < 0.02 && std::abs(n.y() - 0.9659) < 0.02) { + found_75 = true; break; + } + } + REQUIRE(found_75); +} + +TEST_CASE("cylindrical mate: no-op when already correct", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 5.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 10, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Body already on axis at (5,5,20), no rotation + doc.add_transform(1, Vec3d(5, 5, 20), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps pre_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, pre_props); + gp_Pnt pre_com = pre_props.CentreOfMass(); + + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(5, 5, 20), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_mate(4, cs_fixed, cs_moving, 0.0, 0.0, false, "CylNoOp"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + GProp_GProps post_props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, post_props); + gp_Pnt post_com = post_props.CentreOfMass(); + REQUIRE_THAT(double(post_com.X()), WithinAbs(double(pre_com.X()), 1e-4)); + REQUIRE_THAT(double(post_com.Y()), WithinAbs(double(pre_com.Y()), 1e-4)); + REQUIRE_THAT(double(post_com.Z()), WithinAbs(double(pre_com.Z()), 1e-4)); +} + +TEST_CASE("revolute mate with FaceAndDirection on non-Z faces", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box 20x20x10 + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Face on A with normal +Y + int faceA = find_face_by_normal(doc, 0, Vec3d(0, 1, 0)); + REQUIRE(faceA >= 0); + Vec3d nA = GeometryEngine::face_normal_world( + GeometryEngine::face_by_index(doc.bodies[0].shape, faceA)); + + // Body B: asymmetric box 20x10x5, also with +Y face + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int faceB = find_face_by_normal(doc, 1, Vec3d(0, 1, 0)); + REQUIRE(faceB >= 0); + Vec3d nB_pre = GeometryEngine::face_normal_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)); + REQUIRE_THAT(nB_pre.dot(nA), WithinAbs(1.0, 1e-4)); + + // Pre-rotate B about Y (the face normal) by 30deg to give it a non-trivial rotation about its connector z + doc.add_transform(1, Vec3d(0, 0, 0), Vec3d(0, 1, 0), Vec3d(0, 0, 0), 30.0, false, "PrePose"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // FaceAndDirection on A's +Y face + int cs_fixed = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + doc.features[cs_fixed].coordsys_face = faceA; + // FaceAndDirection on B's +Y face + int cs_moving = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0,0,0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + doc.features[cs_moving].coordsys_face = faceB; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Record face normals on B before mate (to verify rotation preservation) + // +30deg rotation about Y maps +Z=(0,0,1) → (0.5, 0, 0.866), -Z → (-0.5, 0, -0.866) + auto faces_pre = GeometryEngine::faces_of(doc.bodies[1].shape); + Vec3d pre_rotated_normal; + { + bool fnd = false; + for (const auto& f : faces_pre) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.z()) > 0.85 && std::abs(n.x()) > 0.45 && std::abs(n.y()) < 0.02) { + pre_rotated_normal = n; fnd = true; break; + } + } + REQUIRE(fnd); + } + + doc.add_mate(2, cs_fixed, cs_moving, 0.0, 0.0, false, "RevoluteFaceDir"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position: faces are coincident (same as fastened position since no offset and axes aligned) + Vec3d ca = GeometryEngine::face_centroid_world(GeometryEngine::face_by_index(doc.bodies[0].shape, faceA)); + Vec3d cb = GeometryEngine::face_centroid_world(GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)); + REQUIRE_THAT(cb.x(), WithinAbs(ca.x(), 1e-4)); + REQUIRE_THAT(cb.y(), WithinAbs(ca.y(), 1e-4)); + REQUIRE_THAT(cb.z(), WithinAbs(ca.z(), 1e-4)); + + // Rotation about the connector z (which is +Y) is preserved: + // the face with |z| ≈ 0.866, |x| ≈ 0.5, y ≈ 0 must still exist. + auto faces_post = GeometryEngine::faces_of(doc.bodies[1].shape); + bool rot_preserved = false; + for (const auto& f : faces_post) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.z()) > 0.85 && std::abs(n.x()) > 0.45 && std::abs(n.y()) < 0.02) { + rot_preserved = true; break; + } + } + REQUIRE(rot_preserved); + // Fastened would force all axes to align: no face with Z≈0.87 would exist. +} + +// --- M8b: rotation-coverage hole — FaceAndDirection captures body orientation --- + +TEST_CASE("slider mate with FaceAndDirection corrects rotation", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box 20x20x10 + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int faceA = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + REQUIRE(faceA >= 0); + + // Body B: asymmetric box 20x10x5 + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int faceB = find_face_by_normal(doc, 1, Vec3d(0, 0, 1)); + REQUIRE(faceB >= 0); + + // Pre-rotate B: first 20deg about X (tilts +Z face normal off-axis, so the + // connector z genuinely differs from A's), then 30deg about Z (adds rotation + // about the mate axis that Slider must correct and Cylindrical must preserve). + doc.add_transform(1, Vec3d(14, 3, 7), Vec3d(1, 0, 0), Vec3d(0, 0, 0), 20.0, false, "RotX"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_transform(1, Vec3d(0, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "RotZ"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Both connectors pin their in-plane direction to an edge of their own body, so each + // frame follows its body's spin. Without this the frames' x comes from the world hint + // and the 30deg spin is invisible to the mate — see find_edge_on_face. + int edgeA = find_edge_on_face(doc, 0, faceA); + int edgeB = find_edge_on_face(doc, 1, faceB); + REQUIRE(edgeA >= 0); + REQUIRE(edgeB >= 0); + + int cs_fixed = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + doc.features[cs_fixed].coordsys_face = faceA; + doc.features[cs_fixed].coordsys_edge = edgeA; + + int cs_moving = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + doc.features[cs_moving].coordsys_face = faceB; + doc.features[cs_moving].coordsys_edge = edgeB; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Record the pre-mate axial position of the CONNECTOR, not of the centroid. Slider + // rotates the body about the connector origin to correct the 20deg tilt, and that + // rotation legitimately moves the centroid in Z (by -d*(1-cos20) for a centroid d + // below the mated face) while leaving the connector itself where it is. The DOF + // Slider preserves is the connector's position along the axis. + const double pre_conn_z = GeometryEngine::face_centroid_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)).z(); + + doc.add_mate(3, cs_fixed, cs_moving, 0.0, 0.0, false, "SliderFaceDir"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position: perpendicular corrected to axis line through A's +Z face centroid. + // The +Z face of a 20x20x10 box centred at origin has centroid at (0, 0, 10). + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(0.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(0.0, 1e-4)); + // Axial position of the connector preserved — Slider does not own that DOF. + const double post_conn_z = GeometryEngine::face_centroid_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)).z(); + REQUIRE_THAT(post_conn_z, WithinAbs(pre_conn_z, 1e-4)); + + // Rotation: Slider owns this DOF — all face normals must be axis-aligned. + auto faces = GeometryEngine::faces_of(doc.bodies[1].shape); + REQUIRE(faces.size() == 6); + int axis_aligned = 0; + for (const auto& f : faces) { + Vec3d n = GeometryEngine::face_normal_world(f); + double d = std::max({std::abs(n.x()), std::abs(n.y()), std::abs(n.z())}); + if (d > 0.999) ++axis_aligned; + } + REQUIRE(axis_aligned == 6); + // Dropping rotation correction would leave 30deg Z rotation — at least 2 + // faces would have normals not aligned to any world axis. +} + +TEST_CASE("cylindrical mate with FaceAndDirection preserves rotation", "[CadDocument][mate]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // Body A: box 20x20x10 + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int faceA = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + REQUIRE(faceA >= 0); + + // Body B: asymmetric box 20x10x5 + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 10, 0, "BoxB"); + doc.add_extrude(sk_b, 5.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int faceB = find_face_by_normal(doc, 1, Vec3d(0, 0, 1)); + REQUIRE(faceB >= 0); + + // Same two-step pre-rotation as the slider test. + doc.add_transform(1, Vec3d(14, 3, 7), Vec3d(1, 0, 0), Vec3d(0, 0, 0), 20.0, false, "RotX"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + doc.add_transform(1, Vec3d(0, 0, 0), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 30.0, false, "RotZ"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Edge-pinned frames, as in the Slider case. These matter here for the opposite + // reason: with a world-derived in-plane direction, a Cylindrical that WRONGLY aligned + // the spin would still leave the body's 30deg face at 30deg, and the assertion below + // would pass for the wrong implementation. + int edgeA = find_edge_on_face(doc, 0, faceA); + int edgeB = find_edge_on_face(doc, 1, faceB); + REQUIRE(edgeA >= 0); + REQUIRE(edgeB >= 0); + + int cs_fixed = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + doc.features[cs_fixed].coordsys_face = faceA; + doc.features[cs_fixed].coordsys_edge = edgeA; + + int cs_moving = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + doc.features[cs_moving].coordsys_face = faceB; + doc.features[cs_moving].coordsys_edge = edgeB; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // As in the Slider case, the preserved DOF is the CONNECTOR's position along the + // axis, not the centroid's: aligning the 20deg tilt rotates the body about the + // connector origin, which moves the centroid in Z by design. + const double pre_conn_z_c = GeometryEngine::face_centroid_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)).z(); + + doc.add_mate(4, cs_fixed, cs_moving, 0.0, 0.0, false, "CylFaceDir"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Position: perpendicular corrected to axis line (X=0, Y=0 at +Z face centroid) + GProp_GProps props; + BRepGProp::VolumeProperties(doc.bodies[1].shape, props); + gp_Pnt com = props.CentreOfMass(); + REQUIRE_THAT(double(com.X()), WithinAbs(0.0, 1e-4)); + REQUIRE_THAT(double(com.Y()), WithinAbs(0.0, 1e-4)); + // Axial position of the connector preserved — Cylindrical leaves that DOF free. + const double post_conn_z_c = GeometryEngine::face_centroid_world( + GeometryEngine::face_by_index(doc.bodies[1].shape, faceB)).z(); + REQUIRE_THAT(post_conn_z_c, WithinAbs(pre_conn_z_c, 1e-4)); + + // Rotation about Z (30deg) is preserved: the 20deg X-rotation was undone + // by z-alignment, leaving the 30deg Z-rotation intact. + // The +X face normal should be at ~(cos30, sin30, 0). + auto faces = GeometryEngine::faces_of(doc.bodies[1].shape); + REQUIRE(faces.size() == 6); + bool rot_preserved = false; + for (const auto& f : faces) { + Vec3d n = GeometryEngine::face_normal_world(f); + if (std::abs(n.x() - 0.866) < 0.02 && std::abs(n.y() - 0.5) < 0.02) { + rot_preserved = true; break; + } + } + REQUIRE(rot_preserved); + // If cylindrical behaved like slider, the face would be at (1,0,0) instead. +} + +// --- Interference detection (M8c) --- + +TEST_CASE("interference: overlapping bodies reported with overlap volume", "[CadDocument][interference]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + // A: 20x20x10 box centred on the origin in XY, z in [0,10] + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + // B: 20x20x10 box, same footprint + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxB"); + doc.add_extrude(sk_b, 10.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + + // Lift B by 6mm: the two overlap over 4mm of height => 20*20*4 = 1600 mm^3. + doc.add_transform(1, Vec3d(0, 0, 6), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "LiftB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto hits = doc.check_interference(); + REQUIRE(hits.size() == 1); + REQUIRE(hits[0].body_a == 0); + REQUIRE(hits[0].body_b == 1); + REQUIRE_THAT(hits[0].volume, WithinAbs(1600.0, 1e-3)); +} + +TEST_CASE("interference: disjoint and merely touching bodies are not reported", "[CadDocument][interference]") +{ + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxB"); + doc.add_extrude(sk_b, 10.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + + SECTION("clearly apart") { + doc.add_transform(1, Vec3d(0, 0, 50), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "MoveB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.check_interference().empty()); + } + + SECTION("face-to-face contact encloses no volume") { + // B sits exactly on top of A: they share a face but nothing overlaps. + doc.add_transform(1, Vec3d(0, 0, 10), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "StackB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.check_interference().empty()); + } +} + +TEST_CASE("interference: sheet bodies are skipped", "[CadDocument][interference]") +{ + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + // A sheet passing straight through the solid: it has no volume, so no interference. + int sk_s = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 40, 40, 0, "Sheet"); + doc.add_surface_extrude(sk_s, 5.0, "SE"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 2); + REQUIRE(CadDocument::is_sheet_shape(doc.bodies[1].shape)); + + REQUIRE(doc.check_interference().empty()); +} + +TEST_CASE("interference: reports every overlapping pair", "[CadDocument][interference]") +{ + CadDocument doc; + for (int i = 0; i < 3; ++i) { + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "E"); + } + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 3); + + // 0 and 1 stay coincident (overlapping); 2 is moved clear of both. + doc.add_transform(2, Vec3d(0, 0, 100), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "MoveC"); + REQUIRE(doc.recompute()); + + auto hits = doc.check_interference(); + REQUIRE(hits.size() == 1); + REQUIRE(hits[0].body_a == 0); + REQUIRE(hits[0].body_b == 1); + + // min_volume gates the report: a threshold above the overlap silences it. + REQUIRE(doc.check_interference(1e9).empty()); +} + +TEST_CASE("interference: detects a clash created by a mate", "[CadDocument][interference]") +{ + CadDocument doc; + int sk_a = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxA"); + doc.add_extrude(sk_a, 10.0, false, BooleanMode::New, "EA"); + int sk_b = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "BoxB"); + doc.add_extrude(sk_b, 10.0, false, BooleanMode::New, "EB"); + REQUIRE(doc.recompute()); + + // Park B well clear, so the clash below is created by the mate and nothing else. + doc.add_transform(1, Vec3d(0, 0, 80), Vec3d(0, 0, 1), Vec3d(0, 0, 0), 0.0, false, "ParkB"); + REQUIRE(doc.recompute()); + REQUIRE(doc.check_interference().empty()); + + // Fastened mate onto a connector inside A's volume drives B into A. + int cs_fixed = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 5), "CS_Fixed"); + doc.features[cs_fixed].coordsys_body = 0; + int cs_moving = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 85), "CS_Moving"); + doc.features[cs_moving].coordsys_body = 1; + REQUIRE(doc.recompute()); + + doc.add_mate(0, cs_fixed, cs_moving, 0.0, 0.0, false, "Clash"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + auto hits = doc.check_interference(); + REQUIRE(hits.size() == 1); + REQUIRE(hits[0].volume > 1.0); +} + +// A filleted solid must reach the plate as a watertight mesh. OCCT emits one degenerate +// triangle at the pole of every corner sphere patch; welded, its v->v edge counts as an open +// edge and the slicer tells the user to go repair the model in another CAD application -- +// the exact round trip this feature exists to remove. agw. +TEST_CASE("CadDocument filleted solid tessellates watertight", "[CadDocument]") +{ + CadDocument doc; + SketchProfile sp; + sp.points.push_back(Vec2d( 0, 0)); + sp.points.push_back(Vec2d( 80, 0)); + sp.points.push_back(Vec2d( 80, 50)); + sp.points.push_back(Vec2d( 0, 50)); + sp.closed = true; + const int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "P"); + doc.add_extrude(sk, 12.0, false, BooleanMode::New, "E"); + doc.add_fillet(3.0, FaceGroup::All, "F"); + REQUIRE(doc.recompute()); + + CHECK(doc.display_mesh.stats().open_edges == 0); + CHECK(its_num_open_edges(doc.display_mesh.its) == 0); + // No degenerate triangles survive the weld, and the per-triangle face map stays aligned. + size_t degenerate = 0; + for (const auto& t : doc.display_mesh.its.indices) + if (t[0] == t[1] || t[1] == t[2] || t[0] == t[2]) ++degenerate; + REQUIRE(degenerate == 0); + REQUIRE(doc.display_tri_face.size() == doc.display_mesh.its.indices.size()); + REQUIRE(doc.display_tri_body.size() == doc.display_mesh.its.indices.size()); +} + +// A rejected solve must leave the sketch untouched. libslvs writes its last Newton iterate +// into the params whether or not it converged, so reading geometry back unconditionally made +// every failed attempt destructive -- and the fillet degrade ladder tries a deliberately +// over-constrained rung FIRST, so a filleted corner was wrecked before the rung that works +// ever got a chance. pl5. +TEST_CASE("Failed sketch solve leaves geometry untouched", "[CadDocument]") +{ + using R = SketchPointRole; + using CT = SketchConstraintType; + auto line = [](Vec2d p0, Vec2d p1) { + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = p0; e.p1 = p1; return e; }; + auto coinc = [](int ea, R ra, int eb, R rb) { + SketchEntityConstraintDef d; d.type = CT::Coincident; d.ea = ea; d.ra = ra; d.eb = eb; d.rb = rb; return d; }; + auto axis = [](CT t, int e) { + SketchEntityConstraintDef d; d.type = t; d.ea = e; d.ra = R::P0; d.eb = e; d.rb = R::P1; return d; }; + + // Axis-aligned rectangle, drawn as four lines with the constraints the sketch tool + // infers: a Coincident at each corner and H/V per leg. + std::vector<SketchEntity> ents = { + line(Vec2d(-89.32, 72.05), Vec2d( 52.00, 72.05)), // 0 top (H) + line(Vec2d( 52.00, 72.05), Vec2d( 52.00, -68.97)), // 1 right (V) + line(Vec2d( 52.00, -68.97), Vec2d(-89.32, -68.97)), // 2 bottom (H) + line(Vec2d(-89.32, -68.97), Vec2d(-89.32, 72.05)), // 3 left (V) + }; + std::vector<SketchEntityConstraintDef> cs = { + coinc(0, R::P1, 1, R::P0), coinc(0, R::P0, 3, R::P1), + coinc(1, R::P1, 2, R::P0), coinc(2, R::P1, 3, R::P0), + axis(CT::Horizontal, 0), axis(CT::Vertical, 1), + axis(CT::Horizontal, 2), axis(CT::Vertical, 3), + }; + REQUIRE(solve_sketch_entities(ents, cs)); + + // Fillet the top-left corner: trim both legs, drop the stale corner Coincident. + const int a = 0, b = 3; + SketchEntity a_out, b_out, arc; + REQUIRE(SketchEngine::fillet_lines(ents[a], ents[b], 28.205, a_out, b_out, arc)); + ents[a] = a_out; ents[b] = b_out; + const int xi = int(ents.size()); + ents.push_back(arc); + cs.erase(std::remove_if(cs.begin(), cs.end(), [&](const SketchEntityConstraintDef& d) { + return d.type == CT::Coincident && d.ea == a && d.ra == R::P0 && d.eb == b && d.rb == R::P1; + }), cs.end()); + const std::vector<SketchEntity> trimmed = ents; + + auto coin = [&](R xr, int ln, R lr) { return coinc(xi, xr, ln, lr); }; + auto tang = [&](int ln) { + SketchEntityConstraintDef d; d.type = CT::Tangent; d.ea = xi; d.eb = ln; return d; }; + + // Rung 1 of the ladder: a tangent on each leg. Over-constrained against the legs' + // own H/V, so it must be rejected -- and must not move a single point. + { + std::vector<SketchEntityConstraintDef> pc = cs; + for (const auto& c : { coin(R::P0, a, R::P0), coin(R::P1, b, R::P1), tang(a), tang(b) }) + pc.push_back(c); + std::vector<SketchEntity> e = ents; + REQUIRE_FALSE(solve_sketch_entities(e, pc)); + for (size_t i = 0; i < e.size(); ++i) { + CHECK((e[i].p0 - trimmed[i].p0).norm() == Approx(0.0).margin(1e-9)); + CHECK((e[i].p1 - trimmed[i].p1).norm() == Approx(0.0).margin(1e-9)); + CHECK((e[i].center - trimmed[i].center).norm() == Approx(0.0).margin(1e-9)); + } + } + + // Rung 2 (one tangent) solves, and the arc keeps the radius the fillet gave it. + { + std::vector<SketchEntityConstraintDef> pc = cs; + for (const auto& c : { coin(R::P0, a, R::P0), coin(R::P1, b, R::P1), tang(a) }) + pc.push_back(c); + REQUIRE(solve_sketch_entities(ents, pc)); + CHECK(ents[xi].radius == Approx(28.205).margin(1e-6)); + // Corner stays open: the legs end on the arc, they do not meet each other. + CHECK((ents[a].p0 - ents[b].p1).norm() > 1.0); + CHECK((ents[a].p0 - ents[xi].p0).norm() == Approx(0.0).margin(1e-6)); + CHECK((ents[b].p1 - ents[xi].p1).norm() == Approx(0.0).margin(1e-6)); + } +} + +// A subtraction whose tool misses the target is a perfectly legal boolean that removes nothing, +// so OCCT reports success and the feature lands in the recipe with ok:true and an unchanged body. +// That is how a hole placed with world coordinates instead of plane-frame ones read as "drilled" +// three times in a row while the volume never moved. daf. +TEST_CASE("A cut that removes no material is an error, not a silent success", "[CadDocument]") +{ + // 20 x 20 box, 20 tall, centred on the origin of the XY plane. + auto box = [] { + CadDocument d; + int sk = d.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + d.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude"); + return d; + }; + + SECTION("hole placed clear of the body is rejected") { + CadDocument doc = box(); + REQUIRE(doc.recompute()); + const double solid = doc.body_mass_properties(0).volume; + + // 135 mm away — exactly the failure the issue reported (world centre passed for a + // plane-frame coordinate). The old behaviour: recompute() true, volume unchanged. + doc.add_hole(8.0, 20.0, true, 135.0, 0.0, SketchPlane::XY(), "Hole"); + CHECK_FALSE(doc.recompute()); + CHECK(doc.error.find("removed no material") != std::string::npos); + + // And the body is left as it was, not half-applied. + CadDocument again = box(); + REQUIRE(again.recompute()); + CHECK_THAT(again.body_mass_properties(0).volume, + Catch::Matchers::WithinAbs(solid, 1e-6)); + } + + SECTION("the same hole on the body still works") { + CadDocument doc = box(); + REQUIRE(doc.recompute()); + const double solid = doc.body_mass_properties(0).volume; + doc.add_hole(8.0, 20.0, true, 0.0, 0.0, SketchPlane::XY(), "Hole"); + REQUIRE(doc.recompute()); + CHECK_THAT(doc.body_mass_properties(0).volume, + Catch::Matchers::WithinRel(solid - M_PI * 16.0 * 20.0, 0.01)); + } + + SECTION("a cut-mode extrude that misses is rejected too") { + CadDocument doc = box(); + REQUIRE(doc.recompute()); + // Same trick, on the sketch plane's origin: the profile sits far outside the box, + // so the subtraction is a legal no-op. + SketchPlane far_plane = SketchPlane::XY(); + far_plane.origin = Vec3d(200.0, 0.0, 0.0); + int sk = doc.add_sketch(SketchShape::Rectangle, far_plane, 5, 5, 10, "Tool"); + doc.add_extrude(sk, 30.0, false, BooleanMode::Cut, "Cut"); + CHECK_FALSE(doc.recompute()); + CHECK(doc.error.find("removed no material") != std::string::npos); + } +} + +// entities_to_wire handles exactly two shapes: one lone closed entity, or a chain of open ones. +// Anything else returns a null wire, and build_sketch_wire used to answer that by falling through +// to its legacy tail — which ends in a rectangle built from width/height. For an entity sketch +// those are whatever they were initialised to, so the extrude produced a box nobody drew. +// 88v. +TEST_CASE("An entity sketch that forms no wire fails instead of extruding a default box", "[CadDocument]") +{ + auto circle = [](Vec2d c, double r) { + SketchEntity e; e.type = SketchEntity::Type::Circle; e.center = c; e.p0 = c; e.radius = r; + return e; + }; + auto line = [](Vec2d a, Vec2d b) { + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = a; e.p1 = b; + return e; + }; + + SECTION("a lone circle still works — the supported case is untouched") { + CadDocument doc; + int sk = doc.add_sketch_entities({ circle({0, 0}, 10.0) }, SketchPlane::XY(), "Sketch"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + CHECK_THAT(doc.body_mass_properties(0).volume, + Catch::Matchers::WithinRel(M_PI * 100.0 * 5.0, 0.01)); + } + + // Behaviour CHANGED 2026-09-02 by Tommaso's decision. This used to require a refusal, + // because back then ignoring the stray meant falling through to a default rectangle — a + // box the user never drew. That fallback is gone: the closed profile is now built and the + // stray open chain is discarded, exactly as the viewport's region_loops already discards + // open chains when it decides what is extrudable. A stray click must not break a model + // that looks perfect on screen. + SECTION("circle + stray line builds the circle and ignores the stray") { + CadDocument doc; + int sk = doc.add_sketch_entities({ circle({0, 0}, 10.0), line({40, 40}, {60, 40}) }, + SketchPlane::XY(), "Sketch"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + CHECK(doc.error.empty()); + CHECK_THAT(doc.body_mass_properties(0).volume, + Catch::Matchers::WithinRel(M_PI * 100.0 * 5.0, 0.01)); + } + + SECTION("two disjoint circles are rejected too") { + CadDocument doc; + int sk = doc.add_sketch_entities({ circle({-20, 0}, 8.0), circle({20, 0}, 8.0) }, + SketchPlane::XY(), "Sketch"); + doc.add_extrude(sk, 5.0, false, BooleanMode::New, "Extrude"); + CHECK_FALSE(doc.recompute()); + CHECK(doc.error.find("disjoint") != std::string::npos); + } +} + +namespace { + +std::vector<SketchEntity> rect_entities(double w, double h) +{ + const double hw = w * 0.5, hh = h * 0.5; + return { + {SketchEntity::Type::Line, Vec2d(-hw, -hh), Vec2d( hw, -hh)}, + {SketchEntity::Type::Line, Vec2d( hw, -hh), Vec2d( hw, hh)}, + {SketchEntity::Type::Line, Vec2d( hw, hh), Vec2d(-hw, hh)}, + {SketchEntity::Type::Line, Vec2d(-hw, hh), Vec2d(-hw, -hh)}, + }; +} + +SketchEntity circle_entity(const Vec2d& c, double r) +{ + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = c; e.p0 = c; e.radius = r; + return e; +} + +CadDocument plate_doc(const std::vector<SketchEntity>& entities, double distance) +{ + CadDocument doc; + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.name = "sketch"; + sk.plane = SketchPlane::XY(); + sk.entities = entities; + doc.features.push_back(sk); + CadFeature ex; + ex.type = CadFeatureType::Extrude; + ex.name = "extrude"; + ex.sketch_ref = 0; + ex.distance = distance; + ex.mode = BooleanMode::New; + doc.features.push_back(ex); + return doc; +} + +} // namespace + +// 88v: a sketch may hold more than one closed loop. The Extrude path builds the +// sketch's planar region via SketchEngine::entities_to_wires + wires_to_face: the largest loop +// is the outer boundary, every other loop a hole. Volumes are the proof — a plate with a hole +// must subtract the hole, not merely "not throw". +TEST_CASE("a circle inside a rectangle extrudes to a plate with a hole", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = rect_entities(40, 30); + ents.push_back(circle_entity({0, 0}, 5.0)); + CadDocument doc = plate_doc(ents, 10.0); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double expected = 40.0 * 30.0 * 10.0 - M_PI * 25.0 * 10.0; + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(expected, 0.01)); +} + +TEST_CASE("two holes are both subtracted", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = rect_entities(40, 30); + ents.push_back(circle_entity({ 5, 0}, 3.0)); + ents.push_back(circle_entity({-5, 0}, 3.0)); + CadDocument doc = plate_doc(ents, 10.0); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double expected = 40.0 * 30.0 * 10.0 - 2.0 * M_PI * 9.0 * 10.0; + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(expected, 0.01)); +} + +TEST_CASE("a lone circle still extrudes exactly as before", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = { circle_entity({0, 0}, 8.0) }; + CadDocument doc = plate_doc(ents, 5.0); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double expected = M_PI * 64.0 * 5.0; + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(expected, 0.01)); +} + +TEST_CASE("a closed polygon still extrudes exactly as before", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = rect_entities(20, 20); + CadDocument doc = plate_doc(ents, 10.0); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double expected = 20.0 * 20.0 * 10.0; + REQUIRE_THAT(double(doc.display_mesh.volume()), Catch::Matchers::WithinRel(expected, 0.01)); +} + +TEST_CASE("two disjoint regions are refused, not guessed", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = { circle_entity({-10, 0}, 5.0), circle_entity({10, 0}, 5.0) }; + CadDocument doc = plate_doc(ents, 10.0); + + CHECK_FALSE(doc.recompute()); + CHECK(doc.error.find("disjoint") != std::string::npos); + CHECK(doc.bodies.empty()); +} + +TEST_CASE("entities_to_wires returns one wire per loop", "[CadDocument][sketchwire]") +{ + std::vector<SketchEntity> ents = rect_entities(40, 30); + ents.push_back(circle_entity({0, 0}, 5.0)); + + const std::vector<TopoDS_Wire> wires = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + REQUIRE(wires.size() == 2); + REQUIRE_FALSE(wires[0].IsNull()); + REQUIRE_FALSE(wires[1].IsNull()); +} + +// Sketching on a picked face is the most common gesture in solid modelling, and it was impossible: +// the plane came from a combo of base + datum planes only, so the sole route onto a face was to +// build a Coincident datum plane first. plane_of_face is the shared derivation that makes the +// viewport selection usable directly. 3a2. +TEST_CASE("plane_of_face gives a sketchable plane for a planar face only", "[CadDocument]") +{ + // 20 x 20 x 20 box on XY, so its top face sits at z = 20 with +Z normal. + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Sketch"); + doc.add_extrude(sk, 20.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + SECTION("every planar face of the box resolves, and its normal is a unit axis") { + int resolved = 0, top = -1; + for (int fi = 0; fi < 64; ++fi) { + SketchPlane p; + if (!doc.plane_of_face(0, fi, p)) continue; + ++resolved; + CHECK_THAT(p.normal.norm(), Catch::Matchers::WithinAbs(1.0, 1e-9)); + // The frame must be orthonormal or sketch coordinates on it would be skewed. + CHECK_THAT(p.x_axis.dot(p.y_axis), Catch::Matchers::WithinAbs(0.0, 1e-9)); + CHECK_THAT(p.x_axis.dot(p.normal), Catch::Matchers::WithinAbs(0.0, 1e-9)); + if (p.normal.z() > 0.99) top = fi; + } + CHECK(resolved == 6); // a box has exactly six planar faces + REQUIRE(top >= 0); // and one of them faces +Z + SketchPlane p; + REQUIRE(doc.plane_of_face(0, top, p)); + CHECK_THAT(p.origin.z(), Catch::Matchers::WithinAbs(20.0, 1e-6)); // the top, not the base + } + + SECTION("bad indices are refused rather than guessed") { + SketchPlane p; + CHECK_FALSE(doc.plane_of_face(0, -1, p)); + CHECK_FALSE(doc.plane_of_face(-1, 0, p)); + CHECK_FALSE(doc.plane_of_face(9, 0, p)); + CHECK_FALSE(doc.plane_of_face(0, 999, p)); + } + + SECTION("a cylindrical face is refused — it has no single sketch plane") { + CadDocument cyl; + int c = cyl.add_sketch(SketchShape::Circle, SketchPlane::XY(), 0, 0, 10.0, "Sketch"); + cyl.add_extrude(c, 20.0, false, BooleanMode::New, "Extrude"); + REQUIRE(cyl.recompute()); + int planar = 0, refused = 0; + for (int fi = 0; fi < 16; ++fi) { + SketchPlane p; + if (cyl.plane_of_face(0, fi, p)) ++planar; else ++refused; + } + CHECK(planar == 2); // the two flat caps, and NOT the barrel + CHECK(refused > 0); + } +} + +// 5425 — POSITIVE-CONTRACT variant. A feature that left a body with a null +// TopoDS_Shape used to be tolerated: recompute() returned true and the document kept +// advertising the body. The new guard makes that a hard failure. This test asserts the +// contract the guard preserves on the healthy side: a normal box + fillet document +// recomputes true, reports an empty error, and NO resulting body has a null shape. +// +// Why not assert the negative branch (a dress-up chain nulling a body -> recompute false)? +// Reproducing the original silent-null degeneracy (prism -> 6 vertical fillets -> chamfer on +// the already-filleted rim -> hole) is a separate open question. Driving that order headlessly +// makes the dress-up step THROW (OCCT "fillet radius too large" — an already-loud, already- +// caught path) rather than silently null a body, so no public-API sequence reliably reaches +// the guard's null branch in a headless test. Faking one (writing a null into `bodies` after +// recompute) would not exercise the guard — it runs on the freshly-built vector — and a test +// that asserts a state the code cannot reach is exactly what the contract forbids. +TEST_CASE("recompute on a healthy box + fillet leaves no body null and no error (positive contract)", "[CadDocument]") +{ + using namespace Slic3r; + CadDocument doc; + SketchProfile sp; + sp.points.push_back(Vec2d(0, 0)); + sp.points.push_back(Vec2d(20, 0)); + sp.points.push_back(Vec2d(20, 20)); + sp.points.push_back(Vec2d(0, 20)); + sp.closed = true; + const int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + doc.add_fillet(2.0, FaceGroup::All, "Fillet"); + + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE_FALSE(doc.bodies.empty()); + for (size_t i = 0; i < doc.bodies.size(); ++i) { + INFO("body " << i << " has a null shape"); + REQUIRE_FALSE(doc.bodies[i].shape.IsNull()); + } +} + +// ============================================================================ +// rgbj — does a chamfer chain degenerate from a KERNEL defect, or from +// how the DRIVER captured its edge ids? Experiment, not a fix. +// +// CadFeature::dressup_edge is a GLOBAL edge id: an ordinal into +// TopExp::MapShapes(body, TopAbs_EDGE) (GeometryEngine::edge_by_index), resolved +// at recompute time against the body AS IT STANDS at that feature's position in +// the recipe. Every dress-up rewrites the edge map, so an id captured against one +// version of the shape names a DIFFERENT edge once an earlier dress-up has run. +// +// Test 1 = correct usage (re-read the map after each chamfer, pick by geometry). +// Test 2 = suspected-wrong usage (capture all four ids up-front, then run four). +// ============================================================================ + +namespace { + +// A square box centred on the origin, extruded +Z by `height`. Its four top-rim +// edges have midpoints at Z=height: (+X)(half,0,h), (+Y)(0,half,h), (-X)(-half,0,h), +// (-Y)(0,-half,h). All four are geometrically identical (equal length), so a +// near-uniform chamfer removes the same volume from each. +CadDocument make_centred_box(double half, double height) +{ + CadDocument doc; + SketchProfile sp; + sp.points = { Vec2d(-half, -half), Vec2d(half, -half), Vec2d(half, half), Vec2d(-half, half) }; + sp.closed = true; + const int sk = doc.add_sketch_profile(sp, SketchPlane::XY(), "Box"); + doc.add_extrude(sk, height, false, BooleanMode::New, "Extrude"); + return doc; +} + +// Exact analytic volume (BRepGProp, not tessellation) of a solid. +double solid_volume(const TopoDS_Shape& s) +{ + GeometryEngine::MassProps p = GeometryEngine::mass_properties(s); + return p.valid ? p.volume : 0.0; +} + +// World-space midpoint of an edge, from its sampled polyline. +Vec3d edge_mid(const TopoDS_Edge& e) +{ + const std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(e); + Vec3d m = Vec3d::Zero(); + for (const Vec3d& p : pts) m += p; + return m / double(pts.size()); +} + +// Global edge id whose midpoint is within `tol` mm of `target`. -1 if none. +// Picks by GEOMETRY (position), never by a hardcoded index. +int edge_near(const TopoDS_Shape& shape, const Vec3d& target, double tol) +{ + const std::vector<TopoDS_Edge> edges = GeometryEngine::edges_of(shape); + for (int i = 0; i < int(edges.size()); ++i) { + if (edges[i].IsNull()) continue; + const std::vector<Vec3d> pts = GeometryEngine::sample_edge_world(edges[i]); + if (pts.size() < 2) continue; + if ((edge_mid(edges[i]) - target).norm() < tol) return i; + } + return -1; +} + +} // namespace + +TEST_CASE("dressup: sequential chamfers, ids re-read after each, stay uniform", "[CadDocument][dressup]") +{ + const double half = 10.0, h = 10.0, d = 0.2; // tiny d: the corner-shortening of a + // neighbour's rim edge stays negligible + CadDocument doc = make_centred_box(half, h); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // The four top-rim edges, addressed by world midpoint — never by index. + const std::vector<Vec3d> rim = { + Vec3d( half, 0.0, h), // +X + Vec3d(0.0, half, h), // +Y + Vec3d(-half, 0.0, h), // -X + Vec3d(0.0, -half, h), // -Y + }; + + std::vector<double> removals; + double prev = solid_volume(doc.bodies[0].shape); + for (size_t k = 0; k < rim.size(); ++k) { + // Correct usage: re-read the CURRENT body's edge map, pick by geometry. + const int id = edge_near(doc.bodies[0].shape, rim[k], 1.5); + INFO("chamfer " << k << " -> edge id " << id); + REQUIRE(id >= 0); + doc.add_chamfer(d, id, "Chamfer" + std::to_string(k)); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + const double now = solid_volume(doc.bodies[0].shape); + removals.push_back(prev - now); + prev = now; + } + + std::ostringstream os; + for (size_t i = 0; i < removals.size(); ++i) os << (i ? ", " : "") << removals[i]; + INFO("removals (mm^3): [" << os.str() << "]"); + + REQUIRE(removals.size() == 4); + double mn = removals[0], mx = removals[0]; + for (double r : removals) { mn = std::min(mn, r); mx = std::max(mx, r); } + INFO("min=" << mn << " max=" << mx); + REQUIRE(mn > 0.0); + // All four removals equal within a few percent. Measured on this fixture: + // [0.4, 0.397333, 0.397333, 0.394667] mm^3. The residual spread is real geometry (each + // chamfer shortens the two rim edges it shares a corner with), not id drift; drift would + // push the later removals toward zero and blow the spread wide open. + REQUIRE((mx - mn) <= 0.10 * mn); +} + +TEST_CASE("dressup: four chamfer ids captured up-front drift as earlier chamfers run", "[CadDocument][dressup]") +{ + const double half = 10.0, h = 10.0, d = 0.2; + CadDocument doc = make_centred_box(half, h); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + const std::vector<Vec3d> rim = { + Vec3d( half, 0.0, h), Vec3d(0.0, half, h), Vec3d(-half, 0.0, h), Vec3d(0.0, -half, h), + }; + + // Capture all four ids ONCE, from the shape as it stands before any chamfer. + std::vector<int> ids; + for (const Vec3d& t : rim) { + const int id = edge_near(doc.bodies[0].shape, t, 1.5); + REQUIRE(id >= 0); + ids.push_back(id); + } + REQUIRE(ids.size() == 4); + INFO("captured ids: [" << ids[0] << "," << ids[1] << "," << ids[2] << "," << ids[3] << "]"); + + // Recompute resolves each dressup_edge against the body as it stands at that feature's + // position — exactly what chaining apply_chamfer reproduces here. Measure each step, and + // record whether a stale id throws (invalid/out-of-range edge) or silently lands elsewhere. + TopoDS_Shape s = doc.bodies[0].shape; + std::vector<double> vols{ solid_volume(s) }; + bool threw = false; + std::string why; + for (int id : ids) { + try { + s = GeometryEngine::apply_chamfer(s, d, id); + vols.push_back(solid_volume(s)); + } catch (const std::exception& e) { threw = true; why = e.what(); break; } + } + + std::vector<double> rmv; + for (size_t i = 1; i < vols.size(); ++i) rmv.push_back(vols[i - 1] - vols[i]); + + std::ostringstream os; + for (size_t i = 0; i < rmv.size(); ++i) os << (i ? ", " : "") << rmv[i]; + INFO("up-front-id removals (mm^3): [" << os.str() << "] threw=" << threw << " (" << why << ")"); + + // Documents a defect, not a desired result. Measured on this fixture: [0.4, 0.008324, + // 0.397333, 0.280405] mm^3 — the second chamfer's stale id landed on a nearly-consumed + // edge and cut ~2% of the intended volume. Ids captured once and replayed against an + // evolving edge map DRIFT; that is the degeneration the socket chamfers showed, and it is + // a driver artefact (wrong usage), not a kernel defect — Test 1 proves the kernel stays + // uniform when ids are re-read. + REQUIRE_FALSE(threw); // currently it does NOT throw: it silently drifts + REQUIRE(rmv.size() == 4); + double mn = rmv[0], mx = rmv[0]; + for (double r : rmv) { mn = std::min(mn, r); mx = std::max(mx, r); } + INFO("up-front-id min=" << mn << " max=" << mx); + REQUIRE(mx > 1.10 * mn); // non-uniform: the id-drift signature + + // The first captured id is still a valid top-rim edge, so the first chamfer must cut. + REQUIRE(vols.size() >= 2); + REQUIRE(vols[1] < vols[0]); + + // Literal driver path: append all four and recompute once. + CadDocument doc2 = make_centred_box(half, h); + REQUIRE(doc2.recompute()); + for (size_t i = 0; i < ids.size(); ++i) + doc2.add_chamfer(d, ids[i], "C" + std::to_string(i)); + const bool ok = doc2.recompute(); + INFO("single-recompute driver path: ok=" << ok << " error=" << (ok ? std::string() : doc2.error)); + REQUIRE(ok); +} + +// --- Face-drift fingerprint: a FaceAndDirection connector warns when its face index slides --- + +TEST_CASE("a connector records its face fingerprint on first recompute", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int top_face = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + REQUIRE(top_face >= 0); + + int cs = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS"); + doc.features[cs].coordsys_body = 0; + doc.features[cs].coordsys_face = top_face; + REQUIRE(doc.recompute()); + + REQUIRE(doc.features[cs].coordsys_face_kind >= 0); + REQUIRE(doc.features[cs].coordsys_face_edges >= 0); + REQUIRE(doc.mate_conflicts.empty()); +} + +TEST_CASE("a connector whose face index slides onto a different KIND of face is reported", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int top_face = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + REQUIRE(top_face >= 0); + + int cs = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS"); + doc.features[cs].coordsys_body = 0; + doc.features[cs].coordsys_face = top_face; + REQUIRE(doc.recompute()); + REQUIRE(doc.mate_conflicts.empty()); + REQUIRE(doc.features[cs].coordsys_face_kind >= 0); + + // Insert a fillet: the box gains cylindrical faces and the face map is renumbered. + doc.add_fillet(2.0, FaceGroup::All, "Fillet"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + // Find the cylindrical face the fillet introduced (a different KIND than the recorded + // planar fingerprint), then force the drift by pointing coordsys_face at it. + int cyl_face = -1; + auto faces = GeometryEngine::faces_of(doc.bodies[0].shape); + for (int i = 0; i < int(faces.size()); ++i) { + if (GeometryEngine::cylinder_of_face(faces[i]).ok) { cyl_face = i; break; } + } + REQUIRE(cyl_face >= 0); + + doc.features[cs].coordsys_face = cyl_face; + const bool ok = doc.recompute(); + REQUIRE(ok); // non-fatality is the contract under test + + bool reported = false; + for (const auto& c : doc.mate_conflicts) + if (c.first == cs) { reported = true; break; } + REQUIRE(reported); +} + +TEST_CASE("a resized body does not report drift", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 10, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int top_face = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + REQUIRE(top_face >= 0); + + int cs = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "CS"); + doc.features[cs].coordsys_body = 0; + doc.features[cs].coordsys_face = top_face; + REQUIRE(doc.recompute()); + REQUIRE(doc.mate_conflicts.empty()); + + // Resize upstream: same face, same kind, same edge count — only its dimensions changed. + // This is a legitimate parametric edit and must not raise the drift warning. + for (CadFeature& f : doc.features) + if (f.type == CadFeatureType::Extrude) f.distance = 25.0; + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.mate_conflicts.empty()); +} + +TEST_CASE("mate_options always returns five entries in kind order", "[CadDocument][mate]") +{ + CadDocument doc; + // Completely invalid pair: the stability contract (always five, always in order) must hold. + auto opts = doc.mate_options(-1, -1); + REQUIRE(opts.size() == 5); + for (int i = 0; i < 5; ++i) REQUIRE(opts[i].kind == i); + + // A valid, distinct pair must return the same shape. + int a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "A"); + int b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(1, 0, 0), "B"); + auto opts2 = doc.mate_options(a, b); + REQUIRE(opts2.size() == 5); + for (int i = 0; i < 5; ++i) REQUIRE(opts2[i].kind == i); +} + +TEST_CASE("a connector with no body dims every mate kind, with a reason", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + // Point(world) connectors belong to no body, which is the default the GUI hands you. + int a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "A"); + int b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(30, 0, 0), "B"); + REQUIRE(doc.features[b].coordsys_body < 0); + + // B is the connector whose body MOVES, so without one no kind can apply. The offer used to + // call all five viable and the mate only failed at recompute, after the feature existed. + auto opts = doc.mate_options(a, b); + REQUIRE(opts.size() == 5); + for (int i = 0; i < 5; ++i) { + REQUIRE(opts[i].kind == i); + REQUIRE_FALSE(opts[i].viable); + REQUIRE(opts[i].reason.find("not attached to a body") != std::string::npos); + } + + // A needs no body — it is the fixed reference. Giving B one is enough to revive the offer. + doc.features[b].coordsys_body = 0; + auto opts2 = doc.mate_options(a, b); + REQUIRE(opts2[0].viable); // Fastened is frame-only + REQUIRE(opts2[0].reason.empty()); + + // A body index that no longer resolves is refused too, and says so differently. + doc.features[b].coordsys_body = 7; + auto opts3 = doc.mate_options(a, b); + for (const auto& o : opts3) { + REQUIRE_FALSE(o.viable); + REQUIRE(o.reason.find("no longer exists") != std::string::npos); + } +} + +TEST_CASE("a flat-face pair offers Fastened, Planar and Slider but not the axial types", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + + int top = find_face_by_normal(doc, 0, Vec3d(0, 0, 1)); + int side = find_face_by_normal(doc, 0, Vec3d(1, 0, 0)); + REQUIRE(top >= 0); + REQUIRE(side >= 0); + + int a = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "A"); + doc.features[a].coordsys_body = 0; + doc.features[a].coordsys_face = top; + int b = doc.add_coordsys(CoordSysType::FaceAndDirection, Vec3d(0, 0, 0), "B"); + doc.features[b].coordsys_body = 0; + doc.features[b].coordsys_face = side; + + // Recompute so the face fingerprints record (both planar => GeomAbs_Plane). + REQUIRE(doc.recompute()); + REQUIRE(doc.features[a].coordsys_face_kind >= 0); + REQUIRE(doc.features[b].coordsys_face_kind >= 0); + + auto opts = doc.mate_options(a, b); + REQUIRE(opts.size() == 5); + REQUIRE(opts[0].viable); // Fastened: frame-only, always viable + REQUIRE(opts[1].viable); // Planar: both faces planar + REQUIRE_FALSE(opts[2].viable); // Revolute: needs a cylindrical face + REQUIRE(opts[3].viable); // Slider: frame-only, always viable + REQUIRE_FALSE(opts[4].viable); // Cylindrical: needs a cylindrical face + + REQUIRE(opts[0].reason.empty()); + REQUIRE(opts[1].reason.empty()); + REQUIRE(opts[3].reason.empty()); + REQUIRE_FALSE(opts[2].reason.empty()); + REQUIRE_FALSE(opts[4].reason.empty()); + REQUIRE_CONTAINS(opts[2].reason, "connector"); + REQUIRE_CONTAINS(opts[4].reason, "connector"); +} + +TEST_CASE("an unrecorded fingerprint does not make a type non-viable", "[CadDocument][mate]") +{ + CadDocument doc; + int sk = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "Box"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + + int a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "A"); + int b = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(1, 0, 0), "B"); + // The MISSING FINGERPRINT is the whole subject here, so nothing else may be missing: B is + // given a body, because a connector without one is refused for that reason instead and the + // case would no longer isolate what this test is named for. + doc.features[a].coordsys_body = 0; + doc.features[b].coordsys_body = 0; + // PointWorld connectors never record a face fingerprint: face_kind stays -1. + REQUIRE(doc.features[a].coordsys_face_kind == -1); + REQUIRE(doc.features[b].coordsys_face_kind == -1); + + auto opts = doc.mate_options(a, b); + REQUIRE(opts.size() == 5); + for (const auto& o : opts) { + REQUIRE(o.viable); + REQUIRE(o.reason.empty()); + } +} + +TEST_CASE("an invalid pair names which side is wrong", "[CadDocument][mate]") +{ + CadDocument doc; + int a = doc.add_coordsys(CoordSysType::PointWorld, Vec3d(0, 0, 0), "A"); + int sketch = doc.add_sketch(SketchShape::Rectangle, SketchPlane::XY(), 20, 20, 0, "S"); + + // cs_b points at a Sketch feature, not a CoordSys: all five non-viable, reason names B. + auto opts = doc.mate_options(a, sketch); + REQUIRE(opts.size() == 5); + for (const auto& o : opts) { + REQUIRE_FALSE(o.viable); + REQUIRE_CONTAINS(o.reason, "connector B"); + REQUIRE(o.reason.find("connector A") == std::string::npos); + } + + // Out of range on B names B; out of range on A names A. + for (const auto& o : doc.mate_options(a, 9999)) + REQUIRE_CONTAINS(o.reason, "connector B"); + for (const auto& o : doc.mate_options(-5, a)) + REQUIRE_CONTAINS(o.reason, "connector A"); +} + +// A rectangular plate 120 x 160 x 10 centred on the origin with a radius-30 bore through +// the middle: one solid whose volume is the box minus the cylinder, and whose topology is a +// plate-with-a-bore (1 solid, 7 faces) rather than a plate plus a plug. +TEST_CASE("add_extrude_entities builds a plate with a bore", "[CadDocument][holes]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + + const Vec2d A(-60, -80), B(60, -80), C(60, 80), D(-60, 80); + std::vector<SketchEntity> entities = { + {SketchEntity::Type::Line, A, B}, + {SketchEntity::Type::Line, B, C}, + {SketchEntity::Type::Line, C, D}, + {SketchEntity::Type::Line, D, A}, + }; + SketchEntity bore; + bore.type = SketchEntity::Type::Circle; + bore.center = Vec2d(0, 0); + bore.radius = 30.0; + entities.push_back(bore); + + doc.add_extrude_entities(entities, SketchPlane::XY(), 10.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto mp = doc.body_mass_properties(0); + REQUIRE(mp.valid); + const double expected_vol = 120.0 * 160.0 * 10.0 - M_PI * 30.0 * 30.0 * 10.0; + REQUIRE_THAT(mp.volume, WithinAbs(expected_vol, 1.0)); + + // One solid, seven faces: top + bottom (each a planar face with a hole), four side + // walls, and the single cylindrical bore wall. + int face_count = 0, solid_count = 0; + for (TopExp_Explorer fe(doc.bodies.back().shape, TopAbs_FACE); fe.More(); fe.Next()) ++face_count; + for (TopExp_Explorer se(doc.bodies.back().shape, TopAbs_SOLID); se.More(); se.Next()) ++solid_count; + INFO("volume mm^3 = " << mp.volume << ", faces = " << face_count << ", solids = " << solid_count); + REQUIRE(solid_count == 1); + REQUIRE(face_count == 7); +} + +TEST_CASE("two disjoint circles are refused by name", "[CadDocument][holes]") +{ + CadDocument doc; + + SketchEntity a; + a.type = SketchEntity::Type::Circle; a.center = Vec2d(-50, 0); a.radius = 20.0; + SketchEntity b; + b.type = SketchEntity::Type::Circle; b.center = Vec2d( 50, 0); b.radius = 20.0; + + doc.add_extrude_entities({a, b}, SketchPlane::XY(), 10.0, false, BooleanMode::New, "Extrude1"); + + REQUIRE_FALSE(doc.recompute()); + REQUIRE_CONTAINS(doc.error, "disjoint"); +} + +// Same plate-with-a-bore, but the bore circle is wound CLOCKWISE (geometric winding opposite +// the CCW rectangle). The old wires_to_face reversed every hole wire unconditionally +// (wires[i].Reversed()), which only produced a correct hole when the circle was wound the same +// way as the outer loop; a clockwise circle got reversed into matching the outer boundary and +// the prism swept it solid — measured 220274 mm^3 = box (192000) + disc (28274), the filled-bore +// signature. The current ShapeFix_Face::FixOrientation path is winding-independent. Flipping the +// plane normal reverses gp_Circ's parametrisation (gp_Ax2(center, -Z) sweeps clockwise seen from +// +Z) while the rectangle's 2D coordinates stay CCW. +TEST_CASE("add_extrude_entities builds a plate with a bore (clockwise circle)", "[CadDocument][holes]") +{ + using Catch::Matchers::WithinAbs; + + CadDocument doc; + + SketchPlane cw_plane = SketchPlane::XY(); + cw_plane.normal = Vec3d(0, 0, -1); + + const Vec2d A(-60, -80), B(60, -80), C(60, 80), D(-60, 80); + std::vector<SketchEntity> entities = { + {SketchEntity::Type::Line, A, B}, + {SketchEntity::Type::Line, B, C}, + {SketchEntity::Type::Line, C, D}, + {SketchEntity::Type::Line, D, A}, + }; + SketchEntity bore; + bore.type = SketchEntity::Type::Circle; + bore.center = Vec2d(0, 0); + bore.radius = 30.0; + entities.push_back(bore); + + doc.add_extrude_entities(entities, cw_plane, 10.0, false, BooleanMode::New, "Extrude1"); + REQUIRE(doc.recompute()); + REQUIRE(doc.error.empty()); + REQUIRE(doc.display_mesh.facets_count() > 0); + + auto mp = doc.body_mass_properties(0); + REQUIRE(mp.valid); + const double expected_vol = 120.0 * 160.0 * 10.0 - M_PI * 30.0 * 30.0 * 10.0; + REQUIRE_THAT(mp.volume, WithinAbs(expected_vol, 1.0)); + + int face_count = 0, solid_count = 0; + for (TopExp_Explorer fe(doc.bodies.back().shape, TopAbs_FACE); fe.More(); fe.Next()) ++face_count; + for (TopExp_Explorer se(doc.bodies.back().shape, TopAbs_SOLID); se.More(); se.Next()) ++solid_count; + INFO("volume mm^3 = " << mp.volume << ", faces = " << face_count << ", solids = " << solid_count); + REQUIRE(solid_count == 1); + REQUIRE(face_count == 7); +} + + +// mtav. A document that has only sketches in it is not a broken document, it is the +// state every design passes through between drawing a profile and extruding it. recompute() +// used to call that "no solid-producing features" and return false, and two things downstream +// read that false as "the document is unusable": the GUI syncs the 3MF recipe only after a +// successful recompute, so a sketch-only design was saved with NO recipe at all and vanished on +// reopen; and deserialize_recipe ends with `return recompute()`, so even a project that did +// carry one was refused on load. The failure has to stay for a document that ASKED for a solid +// and got none — that is a real geometry failure — so both halves are asserted here. +TEST_CASE("A sketch-only document recomputes and round-trips", "[CadDocument]") +{ + CadDocument doc; + std::vector<SketchEntity> ents{ + {SketchEntity::Type::Line, Vec2d(-60, -40), Vec2d(60, -40)}, + {SketchEntity::Type::Line, Vec2d(60, -40), Vec2d(60, 40)}, + {SketchEntity::Type::Line, Vec2d(60, 40), Vec2d(-60, 40)}, + {SketchEntity::Type::Line, Vec2d(-60, 40), Vec2d(-60, -40)}, + }; + const int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "Profile"); + REQUIRE(sk == 0); + + const bool built = doc.recompute(); // nothing to build is not a failure + INFO("recompute error: " << doc.error); + REQUIRE(built); + REQUIRE(doc.error.empty()); + REQUIRE(doc.bodies.empty()); + + const std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.error.empty()); + REQUIRE(fresh.features.size() == 1); + REQUIRE(fresh.features[0].name == "Profile"); + REQUIRE(fresh.features[0].entities.size() == 4); + for (size_t i = 0; i < ents.size(); ++i) { + REQUIRE(fresh.features[0].entities[i].p0.x() == ents[i].p0.x()); + REQUIRE(fresh.features[0].entities[i].p0.y() == ents[i].p0.y()); + REQUIRE(fresh.features[0].entities[i].p1.x() == ents[i].p1.x()); + REQUIRE(fresh.features[0].entities[i].p1.y() == ents[i].p1.y()); + } + + // The other half of the rule: a feature that MEANT to build a solid and produced none is + // still an error, and must not be swallowed by the change above. + CadDocument bad; + bad.add_sketch_entities(ents, SketchPlane::XY(), "Profile"); + bad.add_extrude(0, 0.0, false, BooleanMode::New, "ZeroDepth"); + REQUIRE_FALSE(bad.recompute()); + REQUIRE_FALSE(bad.error.empty()); +} + +// A body is NOT the feature that created it. Reported 2026-08-23, in these words: "you have +// renamed the feature extrusion, not the body ... this means that you consider the extrusion = +// the body, which is very far from truth as a body can contain several extrusions." The rename +// used to resolve CadBody::source_feature and rename THAT, so naming a body edited one operation +// in its history. A body now carries its own name, and this pins the three properties that make +// it a name rather than a label: it does not touch the features, it survives a recompute that +// adds more features to the same body, and it survives the recipe round trip. +TEST_CASE("a body carries its own name, through recompute and the recipe", "[CadDocument]") +{ + CadDocument doc; + std::vector<SketchEntity> ents; + auto line = [&](double x0, double y0, double x1, double y1) { + SketchEntity e; e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(x0, y0); e.p1 = Vec2d(x1, y1); ents.push_back(e); }; + line(0, 0, 40, 0); line(40, 0, 40, 30); line(40, 30, 0, 30); line(0, 30, 0, 0); + + const int sk = doc.add_sketch_entities(ents, SketchPlane::XY(), "Profile"); + doc.add_extrude(sk, 10.0, false, BooleanMode::New, "Extrude"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + + doc.bodies[0].has_user_name = true; + doc.bodies[0].user_name = "Bracket"; + + // A SECOND feature lands on the same body — the case the report is about. + doc.add_hole(6.0, 5.0, true, 20.0, 15.0, SketchPlane::XY(), "Hole"); + REQUIRE(doc.recompute()); + REQUIRE(doc.bodies.size() == 1); + CHECK(doc.bodies[0].has_user_name); + CHECK(doc.bodies[0].user_name == "Bracket"); + + // The features keep their own names: renaming the body renamed nothing else. + REQUIRE(doc.features.size() == 3); + CHECK(doc.features[0].name == "Profile"); + CHECK(doc.features[1].name == "Extrude"); + CHECK(doc.features[2].name == "Hole"); + + // ...and the name is part of what gets saved. Bodies are recomputed, never serialised, so + // without the recipe block a body name would live exactly until the project was reopened. + const std::string blob = doc.serialize_recipe(); + REQUIRE_FALSE(blob.empty()); + CadDocument fresh; + REQUIRE(fresh.deserialize_recipe(blob)); + REQUIRE(fresh.bodies.size() == 1); + CHECK(fresh.bodies[0].has_user_name); + CHECK(fresh.bodies[0].user_name == "Bracket"); +} + +// A feature reference is a reference whatever feature holds it. +// +// remove_feature()/move_feature() used to remap Extrude::sketch_ref and a Mate's two +// connectors, and nothing else — so every later consumer of a Sketch (Revolve, Sweep, Loft, +// Rib, Pattern-on-curve, the Surface* family) kept an index that the erase had just +// invalidated. The failure is quiet by construction: a shifted index still names a real +// feature, recompute() succeeds, and what comes out is built from the wrong profile. +// +// The volume is the assertion. Two different profiles go in; deleting the unused feature in +// front of them must leave the SAME solid behind, which it only can if the reference moved +// with its target. +TEST_CASE("deleting a feature remaps the references of every consumer, not just Extrude", + "[CadDocument]") +{ + using namespace Slic3r; + const SketchPlane xy = SketchPlane::XY(); + + // A rectangle 10x10 centred at v = 15, revolved 360 deg about the plane X axis. + auto rect_at = [&](double v0) { + CadFeature sk; + sk.type = CadFeatureType::Sketch; + sk.plane = xy; + sk.profile.points = { Vec2d(-5, v0 - 5), Vec2d(5, v0 - 5), + Vec2d(5, v0 + 5), Vec2d(-5, v0 + 5) }; + sk.profile.closed = true; + return sk; + }; + + SECTION("Revolve::sketch_ref survives the deletion of a feature in front of it") { + CadDocument doc; + doc.features.push_back(rect_at(40.0)); // f0: a decoy profile, never consumed + doc.features.push_back(rect_at(15.0)); // f1: the real profile + doc.add_revolve(1, 360.0, /*axis=X*/0, false, BooleanMode::New, "Rev"); + REQUIRE(doc.recompute()); + const double before = double(doc.display_mesh.volume()); + REQUIRE(before == Approx(9424.78).epsilon(0.05)); + + // f0 is consumed by nothing, so this deletes exactly one feature and shifts f1 to 0. + REQUIRE(doc.remove_feature(0)); + REQUIRE(doc.features.size() == 2); + REQUIRE(doc.features[1].type == CadFeatureType::Revolve); + REQUIRE(doc.features[1].sketch_ref == 0); // followed its target + REQUIRE(doc.error.empty()); + REQUIRE(double(doc.display_mesh.volume()) == Approx(before).epsilon(1e-6)); + } + + SECTION("move_feature swaps a Revolve's reference too") { + CadDocument doc; + doc.features.push_back(rect_at(40.0)); // f0 + doc.features.push_back(rect_at(15.0)); // f1 -> consumed + doc.add_revolve(1, 360.0, 0, false, BooleanMode::New, "Rev"); + REQUIRE(doc.recompute()); + const double before = double(doc.display_mesh.volume()); + + REQUIRE(doc.move_feature(0, 1)); // f0 and f1 trade places + REQUIRE(doc.features[2].sketch_ref == 0); // the profile is now at 0 + REQUIRE(double(doc.display_mesh.volume()) == Approx(before).epsilon(1e-6)); + } + + SECTION("deleting a Sketch cascades to a Revolve that consumes it") { + CadDocument doc; + doc.features.push_back(rect_at(15.0)); + doc.add_revolve(0, 360.0, 0, false, BooleanMode::New, "Rev"); + REQUIRE(doc.recompute()); + + // The Revolve has no profile without this Sketch, exactly as an Extrude would not: + // it goes with it rather than being left pointing at nothing. + REQUIRE(doc.remove_feature(0)); + REQUIRE(doc.features.empty()); + } +} diff --git a/tests/libslic3r/test_config.cpp b/tests/libslic3r/test_config.cpp index bd147b5881..0da7b7bafe 100644 --- a/tests/libslic3r/test_config.cpp +++ b/tests/libslic3r/test_config.cpp @@ -15,6 +15,8 @@ #include <boost/nowide/fstream.hpp> #include <nlohmann/json.hpp> +#include <sstream> + using namespace Slic3r; SCENARIO("Generic config validation performs as expected.", "[Config]") { @@ -488,6 +490,77 @@ TEST_CASE("save_to_json round-trips plugin capability references as strings", "[ CHECK(reloaded.option<ConfigOptionStrings>("slicing_pipeline_plugin")->values == refs); } +TEST_CASE("load_from_json hands a preset's include list to the caller instead of the config", "[Config]") { + ScopedTemporaryFile tmp(".json"); + { + boost::nowide::ofstream ofs(tmp.string()); + ofs << R"({"type":"machine","name":"P","instantiation":"true","include":["T start","T end"],"machine_end_gcode":"M84"})"; + } + DynamicPrintConfig config; + ConfigSubstitutionContext substitutions(ForwardCompatibilitySubstitutionRule::Disable); + std::map<std::string, std::string> key_values; + std::string reason; + REQUIRE(config.load_from_json(tmp.string(), substitutions, false, key_values, reason) == 0); + CHECK(reason.empty()); + CHECK(key_values["include"] == R"(["T start","T end"])"); + CHECK_FALSE(config.has("include")); + CHECK(substitutions.unrecogized_keys.empty()); + CHECK(config.opt_string("machine_end_gcode") == "M84"); +} + +TEST_CASE("save_to_json writes the same document to a stream as to a file", "[Config]") { + DynamicPrintConfig config; + config.set_key_value("layer_height", new ConfigOptionFloat(0.2)); + config.set_key_value("wall_loops", new ConfigOptionInt(3)); + config.set_key_value("filament_type", new ConfigOptionStrings({ "PLA", "PETG" })); + config.set_key_value("machine_start_gcode", new ConfigOptionString("G28\nG1 Z5")); + + ScopedTemporaryFile tmp(".json"); + config.save_to_json(tmp.string(), "test_preset", "User", "1.0.0.0"); + std::string file_contents; + { + boost::nowide::ifstream ifs(tmp.string()); + file_contents.assign(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>()); + } + // The file format: one tab per nesting level and a trailing newline. + REQUIRE_FALSE(file_contents.empty()); + CHECK(file_contents.rfind("{\n\t\"", 0) == 0); + CHECK(file_contents.back() == '\n'); + + std::ostringstream strict, replaced; + config.save_to_json(strict, "test_preset", "User", "1.0.0.0"); + config.save_to_json(replaced, "test_preset", "User", "1.0.0.0", true); + CHECK(strict.str() == file_contents); + CHECK(replaced.str() == file_contents); + CHECK(nlohmann::json::parse(strict.str())["machine_start_gcode"] == "G28\nG1 Z5"); +} + +TEST_CASE("save_to_json replaces invalid UTF-8 in a stream only when asked", "[Config]") { + DynamicPrintConfig config; + config.set_key_value("machine_start_gcode", new ConfigOptionString("G28 ; \xff")); + + std::ostringstream strict, replaced; + CHECK_THROWS_AS(config.save_to_json(strict, "test_preset", "User", "1.0.0.0"), nlohmann::json::type_error); + REQUIRE_NOTHROW(config.save_to_json(replaced, "test_preset", "User", "1.0.0.0", true)); + CHECK(nlohmann::json::parse(replaced.str())["machine_start_gcode"] == "G28 ; \xEF\xBF\xBD"); +} + +TEST_CASE("save_to_json leaves an existing file untouched when the config cannot be serialized", "[Config]") { + DynamicPrintConfig config; + config.set_key_value("machine_start_gcode", new ConfigOptionString("G28 ; \xff")); + + ScopedTemporaryFile tmp(".json"); + { + boost::nowide::ofstream ofs(tmp.string()); + ofs << "previous"; + } + CHECK_THROWS_AS(config.save_to_json(tmp.string(), "test_preset", "User", "1.0.0.0"), nlohmann::json::type_error); + + boost::nowide::ifstream ifs(tmp.string()); + const std::string contents((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); + CHECK(contents == "previous"); +} + TEST_CASE("plugin capability references survive string-map serialization", "[Config][plugins]") { const std::vector<std::string> refs = { "master_plugin;;header-stamp", @@ -1091,3 +1164,128 @@ TEST_CASE("get_filament_type treats empty vector options as absent", "[Config][F REQUIRE(displayed == "Sup.PLA"); } } + +namespace { + +// min_object_distance reads exactly these three options. +DynamicPrintConfig spacing_config(PrinterTechnology tech, PrintSequence seq, double clearance_radius) +{ + DynamicPrintConfig c; + c.set_key_value("printer_technology", new ConfigOptionEnum<PrinterTechnology>(tech)); + c.set_key_value("print_sequence", new ConfigOptionEnum<PrintSequence>(seq)); + c.set_key_value("extruder_clearance_radius", new ConfigOptionFloat(clearance_radius)); + return c; +} + +} // namespace + +TEST_CASE("min_object_distance floors object spacing per print sequence", "[Config]") +{ + struct Case + { + std::string description; + PrinterTechnology tech; + PrintSequence sequence; + double clearance_radius; + double expected; + }; + + auto c = GENERATE(values<Case>({ + {"sequential FFF takes a clearance radius above the floor", ptFFF, PrintSequence::ByObject, 12., 12.}, + {"sequential FFF holds the floor at the radius", ptFFF, PrintSequence::ByObject, 6., 6.}, + {"sequential FFF holds the floor below the radius", ptFFF, PrintSequence::ByObject, 4., 6.}, + {"layered FFF ignores the clearance radius", ptFFF, PrintSequence::ByLayer, 12., 6.}, + {"SLA is a flat 6mm", ptSLA, PrintSequence::ByObject, 12., 6.}, + {"SLA ignores the print sequence too", ptSLA, PrintSequence::ByLayer, 12., 6.}, + })); + + DYNAMIC_SECTION(c.description) + { + CHECK_THAT(min_object_distance(spacing_config(c.tech, c.sequence, c.clearance_radius)), + Catch::Matchers::WithinAbs(c.expected, 1e-9)); + } +} + +TEST_CASE("min_object_distance yields no floor when an FFF config lacks the options", "[Config]") +{ + // Missing options yield 0 rather than an error, so a caller gets no floor at all. + SECTION("no clearance radius") { + DynamicPrintConfig c; + c.set_key_value("printer_technology", new ConfigOptionEnum<PrinterTechnology>(ptFFF)); + c.set_key_value("print_sequence", new ConfigOptionEnum<PrintSequence>(PrintSequence::ByObject)); + CHECK_THAT(min_object_distance(c), Catch::Matchers::WithinAbs(0., 1e-9)); + } + + SECTION("no print sequence") { + DynamicPrintConfig c; + c.set_key_value("printer_technology", new ConfigOptionEnum<PrinterTechnology>(ptFFF)); + c.set_key_value("extruder_clearance_radius", new ConfigOptionFloat(12.)); + CHECK_THAT(min_object_distance(c), Catch::Matchers::WithinAbs(0., 1e-9)); + } + + SECTION("nothing at all") { + CHECK_THAT(min_object_distance(DynamicPrintConfig{}), Catch::Matchers::WithinAbs(0., 1e-9)); + } + + SECTION("an unset printer technology is treated as FFF") { + DynamicPrintConfig c; + c.set_key_value("print_sequence", new ConfigOptionEnum<PrintSequence>(PrintSequence::ByObject)); + c.set_key_value("extruder_clearance_radius", new ConfigOptionFloat(12.)); + CHECK_THAT(min_object_distance(c), Catch::Matchers::WithinAbs(12., 1e-9)); + } +} + +TEST_CASE("Static print configs compare, order and hash by their option values", "[Config]") +{ + // PrintObjectConfig comes from PRINT_CONFIG_CLASS_DEFINE; PrintConfig combines MachineEnvelopeConfig + // and GCodeConfig through PRINT_CONFIG_CLASS_DERIVED_DEFINE. Both generate hash(), operator==, + // operator< and the option registration from the same option list. The hash inequalities use fixed + // inputs, so they are deterministic; they check that hash() covers the changed option. + SECTION("default-constructed configs are equal and find their options by key") + { + PrintObjectConfig a, b; + REQUIRE(a == b); + REQUIRE(a.hash() == b.hash()); + REQUIRE_FALSE(a < b); + REQUIRE_FALSE(b < a); + REQUIRE(a.optptr("layer_height") == &a.layer_height); + REQUIRE(a.optptr("brim_object_gap") == &a.brim_object_gap); + } + + SECTION("one differing option makes the configs unequal and orders them") + { + PrintObjectConfig a, b; + b.layer_height.value = a.layer_height.value + 0.05; + REQUIRE(a != b); + REQUIRE(a.hash() != b.hash()); + REQUIRE(a < b); + REQUIRE_FALSE(b < a); + } + + SECTION("ordering is decided by the first option in declaration order that differs") + { + PrintObjectConfig a, b; + a.brim_object_gap.value = b.brim_object_gap.value + 1.0; // declared first + a.layer_height.value = b.layer_height.value - 0.05; // declared later, points the other way + REQUIRE(b < a); + REQUIRE_FALSE(a < b); + } + + SECTION("a derived config sees differences in its parents and in its own options") + { + PrintConfig a, b; + REQUIRE(a == b); + REQUIRE(a.hash() == b.hash()); + + b.gcode_flavor.value = b.gcode_flavor.value == gcfMarlinLegacy ? gcfKlipper : gcfMarlinLegacy; // GCodeConfig parent + REQUIRE(a != b); + REQUIRE(a.hash() != b.hash()); + + PrintConfig c, d; + d.skirt_distance.value = c.skirt_distance.value + 1.0; // PrintConfig's own list + REQUIRE(c != d); + REQUIRE(c.hash() != d.hash()); + REQUIRE(c.optptr("skirt_distance") == &c.skirt_distance); + REQUIRE(c.optptr("gcode_flavor") == &c.gcode_flavor); + } +} diff --git a/tests/libslic3r/test_config_variant_expansion.cpp b/tests/libslic3r/test_config_variant_expansion.cpp index 2469789d5b..274946cdca 100644 --- a/tests/libslic3r/test_config_variant_expansion.cpp +++ b/tests/libslic3r/test_config_variant_expansion.cpp @@ -484,6 +484,34 @@ TEST_CASE("update_values_to_printer_extruders_for_multiple_filaments resolves pe REQUIRE(config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->values == std::vector<double>({12., 21.})); REQUIRE(config.option<ConfigOptionInts>("filament_self_index")->values == std::vector<int>({1, 2})); } + + SECTION("a variant option shorter than the filament slots keeps its first value instead of zero") { + DynamicPrintConfig config; + config.option<ConfigOptionEnumsGeneric>("extruder_type", true)->values = {etDirectDrive, etDirectDrive}; + config.option<ConfigOptionEnumsGeneric>("nozzle_volume_type", true)->values = {nvtStandard, nvtHighFlow}; + config.option<ConfigOptionStrings>("extruder_variant_list", true)->values = {"Direct Drive Standard,Direct Drive High Flow", + "Direct Drive Standard,Direct Drive High Flow"}; + make_filament_arrays(config); + config.option<ConfigOptionInts>("filament_map", true)->values = {1, 2}; + // no loaded preset carries the key, so only its single registered default is present + config.option<ConfigOptionFloatsNullable>("filament_cooling_before_tower", true)->values = {10.}; + // only the first filament's two variant columns were loaded + config.option<ConfigOptionFloatsNullable>("filament_ramming_volumetric_speed", true)->values = {-1., -2.}; + + std::vector<std::vector<NozzleVolumeType>> nozzle_volume_types; + int extruder_count = 2; + int count = config.get_extruder_nozzle_volume_count(extruder_count, nozzle_volume_types); + + config.update_values_to_printer_extruders_for_multiple_filaments(config, extruder_count, count, filament_keys, + "filament_self_index", "filament_extruder_variant"); + + // filament 2 resolves to column 3 (its extruder's High Flow column), past the end of both vectors + REQUIRE_THAT(config.option<ConfigOptionFloatsNullable>("filament_cooling_before_tower")->values, + Catch::Matchers::Approx(std::vector<double>({10., 10.}))); + REQUIRE_THAT(config.option<ConfigOptionFloatsNullable>("filament_ramming_volumetric_speed")->values, + Catch::Matchers::Approx(std::vector<double>({-1., -1.}))); + REQUIRE(config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->values == std::vector<double>({12., 21.})); + } } // update_values_from_multi_to_multi_2 walks the DESTINATION PRINTER's variant list while writing @@ -566,3 +594,47 @@ TEST_CASE("update_values_from_multi_to_multi_2 sizes the destination row to the CHECK(object_config.update_values_from_multi_to_multi_2(src_variants, {}, dst, keys) == -1); } } + +TEST_CASE("get_index_for_extruder returns -1 when no variant column matches the extruder", "[Config]") +{ + DynamicPrintConfig config; + config.option<ConfigOptionInts>("print_extruder_id", true)->values = {1}; + config.option<ConfigOptionStrings>("print_extruder_variant", true)->values = {"Direct Drive Standard"}; + + SECTION("the extruder that owns the column resolves to its slot") { + REQUIRE(config.get_index_for_extruder(1, "print_extruder_id", etDirectDrive, nvtStandard, "print_extruder_variant") == 0); + } + + SECTION("an extruder with no matching column resolves to -1") { + REQUIRE(config.get_index_for_extruder(2, "print_extruder_id", etDirectDrive, nvtStandard, "print_extruder_variant") == -1); + } +} + +// stride scales the returned slot so callers can address stride-2 options (machine_max_*, a +// Normal/Silent pair per column) by their pair's base slot. The printer Tab's extruder sync +// relies on this to copy the right slots on the Motion ability page. +TEST_CASE("get_index_for_extruder scales the variant column by the requested stride", "[Config]") +{ + DynamicPrintConfig config; + config.option<ConfigOptionInts>("printer_extruder_id", true)->values = {1, 2}; + config.option<ConfigOptionStrings>("printer_extruder_variant", true)->values = {"Direct Drive Standard", + "Direct Drive High Flow"}; + + // extruder 1 resolves to column 0, extruder 2 to column 1 + const int col0_stride1 = config.get_index_for_extruder(1, "printer_extruder_id", etDirectDrive, nvtStandard, + "printer_extruder_variant", 1); + const int col1_stride1 = config.get_index_for_extruder(2, "printer_extruder_id", etDirectDrive, nvtHighFlow, + "printer_extruder_variant", 1); + REQUIRE(col0_stride1 == 0); + REQUIRE(col1_stride1 == 1); + + // stride 2 returns exactly twice the stride-1 index (the pair's base slot) + const int col0_stride2 = config.get_index_for_extruder(1, "printer_extruder_id", etDirectDrive, nvtStandard, + "printer_extruder_variant", 2); + const int col1_stride2 = config.get_index_for_extruder(2, "printer_extruder_id", etDirectDrive, nvtHighFlow, + "printer_extruder_variant", 2); + REQUIRE(col0_stride2 == col0_stride1 * 2); + REQUIRE(col1_stride2 == col1_stride1 * 2); + REQUIRE(col0_stride2 == 0); + REQUIRE(col1_stride2 == 2); +} diff --git a/tests/libslic3r/test_lay_on_face.cpp b/tests/libslic3r/test_lay_on_face.cpp new file mode 100644 index 0000000000..60226a9aab --- /dev/null +++ b/tests/libslic3r/test_lay_on_face.cpp @@ -0,0 +1,205 @@ +#include <catch2/catch_all.hpp> + +#include "libslic3r/LayOnFace.hpp" +#include "libslic3r/Model.hpp" + +using namespace Slic3r; +using Catch::Matchers::WithinAbs; + +namespace { + +// Adds a box part spanning `origin` to `origin + size`, in object coordinates. +void add_box(ModelObject &object, const Vec3d &size, const Vec3d &origin = Vec3d::Zero()) +{ + TriangleMesh mesh = make_cube(size.x(), size.y(), size.z()); + mesh.translate(origin.cast<float>()); + object.add_volume(std::move(mesh), ModelVolumeType::MODEL_PART, false); +} + +ModelObject &add_box_object(Model &model, const Vec3d &size) +{ + ModelObject *object = model.add_object(); + add_box(*object, size); + object->add_instance(); + return *object; +} + +// A 30 x 30 x 2 plate with three 1 mm thick, 20 mm tall ribs along Y. The rib sides facing -X add up +// to more area than the plate's bottom, but only the bottom is a face of the convex hull. +ModelObject &add_ribbed_plate(Model &model) +{ + ModelObject *object = model.add_object(); + add_box(*object, { 30, 30, 2 }); + for (double x : { 5., 14.5, 24. }) + add_box(*object, { 1, 30, 20 }, { x, 0, 2 }); + object->add_instance(); + return *object; +} + +std::vector<LayOnFacePlane> instance_planes(const ModelObject &object) +{ + return lay_on_face_planes(object, object.instances.front()->get_matrix_no_offset()); +} + +void lay_on_largest_face(ModelObject &object) +{ + const std::vector<LayOnFacePlane> planes = instance_planes(object); + const int idx = find_largest_plane(planes); + REQUIRE(idx >= 0); + lay_on_face(object, 0, planes[idx].normal); +} + +void check_size(const ModelObject &object, const Vec3d &expected) +{ + const Vec3d size = object.instance_bounding_box(0).size(); + CHECK_THAT(size.x(), WithinAbs(expected.x(), 1e-3)); + CHECK_THAT(size.y(), WithinAbs(expected.y(), 1e-3)); + CHECK_THAT(size.z(), WithinAbs(expected.z(), 1e-3)); +} + +void check_on_bed(const ModelObject &object) { CHECK_THAT(object.instance_bounding_box(0).min.z(), WithinAbs(0., 1e-3)); } + +} // namespace + +TEST_CASE("A tilted box is laid on its largest face and dropped onto the bed", "[LayOnFace]") +{ + Model model; + ModelObject &box = add_box_object(model, { 40, 20, 10 }); // the 40 x 20 faces are the largest + box.instances.front()->set_rotation({ 0.3, 0.5, 0.2 }); + box.instances.front()->set_offset({ 0, 0, 50 }); + REQUIRE(box.instance_bounding_box(0).size().z() > 11.); + + const std::vector<LayOnFacePlane> planes = instance_planes(box); + REQUIRE(planes.size() == 6); + CHECK_THAT(planes.front().area, WithinAbs(40. * 20., 1e-2)); + + lay_on_largest_face(box); + CHECK_THAT(box.instance_bounding_box(0).size().z(), WithinAbs(10., 1e-3)); + check_on_bed(box); +} + +TEST_CASE("A box lying on one of its equally large faces is not flipped", "[LayOnFace]") +{ + // A half turn about X puts the other large face down, so the two cases expect different faces + // and neither can pass on the order in which the hull lists them. + const double rotation_x = GENERATE(0., PI); + Model model; + ModelObject &box = add_box_object(model, { 40, 20, 10 }); // the bottom and top are both 40 x 20 + box.instances.front()->set_rotation({ rotation_x, 0, 0 }); + const Transform3d before = box.instances.front()->get_matrix_no_offset(); + + const std::vector<LayOnFacePlane> planes = instance_planes(box); + const int idx = find_largest_plane(planes); + REQUIRE(idx >= 0); + // The face down on the plate is the object's -Z face, or its +Z face after the half turn. + CHECK_THAT(planes[idx].normal.z(), WithinAbs(rotation_x == 0. ? -1. : 1., 1e-6)); + + lay_on_face(box, 0, planes[idx].normal); + CHECK(box.instances.front()->get_matrix_no_offset().isApprox(before, 1e-9)); +} + +TEST_CASE("Faces are chosen from the orientation left by an earlier part rotation", "[LayOnFace]") +{ + Model model; + ModelObject &box = add_box_object(model, { 40, 20, 10 }); + box.rotate(PI / 2., X); // what --rotate-x 90 does: rotates the parts, not the instance + check_size(box, { 40, 10, 20 }); + + SECTION("the largest face") { + lay_on_largest_face(box); + check_size(box, { 40, 20, 10 }); + check_on_bed(box); + } + + SECTION("the face pointing along +X") { + const std::vector<LayOnFacePlane> planes = instance_planes(box); + const int idx = find_plane_by_normal(planes, { 1, 0, 0 }); + REQUIRE(idx >= 0); + CHECK_THAT(planes[idx].normal.x(), WithinAbs(1., 1e-6)); + lay_on_face(box, 0, planes[idx].normal); + check_size(box, { 20, 10, 40 }); + check_on_bed(box); + } +} + +TEST_CASE("Objects are laid on their own faces independently", "[LayOnFace]") +{ + Model model; + // Standing on end through its instance rotation. + ModelObject &standing = add_box_object(model, { 40, 20, 10 }); + standing.instances.front()->set_rotation({ 0, PI / 2., 0 }); + // Standing on edge through a part rotation, lifted above the bed. + ModelObject &on_edge = add_box_object(model, { 30, 20, 5 }); + on_edge.rotate(PI / 2., X); + on_edge.instances.front()->set_offset({ 100, 0, 30 }); + check_size(standing, { 10, 20, 40 }); + check_size(on_edge, { 30, 5, 20 }); + + for (ModelObject *object : model.objects) + lay_on_largest_face(*object); + + check_size(standing, { 40, 20, 10 }); + check_on_bed(standing); + check_size(on_edge, { 30, 20, 5 }); + check_on_bed(on_edge); +} + +TEST_CASE("A part rests on its largest hull face even when parallel inner faces add up to more area", "[LayOnFace]") +{ + Model model; + ModelObject &plate = add_ribbed_plate(model); + + double area_facing_minus_x = 0.; + for (const ModelVolume *volume : plate.volumes) { + const indexed_triangle_set &its = volume->mesh().its; + for (const Vec3i32 &face : its.indices) { + const Vec3d cross = (its.vertices[face[1]] - its.vertices[face[0]]).cast<double>().cross( + (its.vertices[face[2]] - its.vertices[face[0]]).cast<double>()); + if (cross.normalized().x() < -0.999) + area_facing_minus_x += 0.5 * cross.norm(); + } + } + // Summing triangle area per normal would pick a rib side over the 900 mm² bottom. + REQUIRE(area_facing_minus_x > 30. * 30.); + + plate.instances.front()->set_rotation({ 0, PI / 2., 0 }); // stand the plate on its side + check_size(plate, { 22, 30, 30 }); + + const std::vector<LayOnFacePlane> planes = instance_planes(plate); + const int idx = find_largest_plane(planes); + REQUIRE(idx >= 0); + CHECK_THAT(planes[idx].area, WithinAbs(30. * 30., 1e-2)); + CHECK_THAT(planes[idx].normal.z(), WithinAbs(-1., 1e-6)); + + lay_on_face(plate, 0, planes[idx].normal); + check_size(plate, { 30, 30, 22 }); + check_on_bed(plate); +} + +TEST_CASE("Faces are selected in object coordinates whatever the instance rotation", "[LayOnFace]") +{ + Model model; + ModelObject &plate = add_ribbed_plate(model); + plate.instances.front()->set_rotation({ 0, 0, PI / 2. }); + const Transform3d instance_matrix = plate.instances.front()->get_matrix_no_offset(); + const std::vector<LayOnFacePlane> planes = lay_on_face_planes(plate, instance_matrix); + REQUIRE_FALSE(planes.empty()); + + // Every face center, as --inspect-mesh reports it, selects its own face. + for (size_t i = 0; i < planes.size(); ++i) + CHECK(find_plane_at_point(planes, instance_matrix, planes[i].center, 0.01) == int(i)); + + const int bottom = find_plane_at_point(planes, instance_matrix, { 15, 15, 0 }, 0.01); + REQUIRE(bottom >= 0); + CHECK_THAT(planes[bottom].normal.z(), WithinAbs(-1., 1e-6)); + CHECK(find_plane_by_normal(planes, { 0, 0, -1 }) == bottom); + // Above the bottom plane, and on a rib side that lies inside the hull. + CHECK(find_plane_at_point(planes, instance_matrix, { 15, 15, 0.5 }, 0.01) == -1); + CHECK(find_plane_at_point(planes, instance_matrix, { 14.5, 15, 12 }, 0.01) == -1); +} + +TEST_CASE("A part too small to rest on offers no faces", "[LayOnFace]") +{ + Model model; + CHECK(instance_planes(add_box_object(model, { 2, 2, 2 })).empty()); // every face is 4 mm², under the 5 mm² minimum +} diff --git a/tests/libslic3r/test_marchingsquares.cpp b/tests/libslic3r/test_marchingsquares.cpp index 6844ecb6ac..9a11f49faa 100644 --- a/tests/libslic3r/test_marchingsquares.cpp +++ b/tests/libslic3r/test_marchingsquares.cpp @@ -1,4 +1,6 @@ +#ifndef NOMINMAX #define NOMINMAX +#endif #include <catch2/catch_all.hpp> #include "test_utils.hpp" diff --git a/tests/libslic3r/test_minimum_spanning_tree.cpp b/tests/libslic3r/test_minimum_spanning_tree.cpp new file mode 100644 index 0000000000..5f9998171c --- /dev/null +++ b/tests/libslic3r/test_minimum_spanning_tree.cpp @@ -0,0 +1,66 @@ +#include <catch2/catch_all.hpp> + +#include <algorithm> + +#include "libslic3r/MinimumSpanningTree.hpp" +#include "libslic3r/Point.hpp" + +using namespace Slic3r; + +// A 5x5 lattice: at every step of Prim's algorithm several candidates sit at the same +// distance from the tree, so the tie-break decides the tree's shape. +static std::vector<Point> lattice() +{ + std::vector<Point> vertices; + for (int y = 0; y < 5; ++y) + for (int x = 0; x < 5; ++x) + vertices.emplace_back(Point::new_scale(x, y)); + return vertices; +} + +static std::vector<Point> sorted_neighbours(const MinimumSpanningTree &mst, const Point &vertex) +{ + std::vector<Point> neighbours = mst.adjacent_nodes(vertex); + std::sort(neighbours.begin(), neighbours.end()); + return neighbours; +} + +TEST_CASE("Minimum spanning tree connects every vertex", "[MinimumSpanningTree]") +{ + const std::vector<Point> vertices = lattice(); + const MinimumSpanningTree mst(vertices); + + REQUIRE(mst.vertices().size() == vertices.size()); + size_t adjacency_entries = 0; + for (const Point &vertex : vertices) { + const std::vector<Point> neighbours = mst.adjacent_nodes(vertex); + REQUIRE(! neighbours.empty()); + adjacency_entries += neighbours.size(); + } + // A tree on n vertices has n - 1 edges, each listed from both ends. + REQUIRE(adjacency_entries == 2 * (vertices.size() - 1)); +} + +TEST_CASE("Minimum spanning tree does not depend on the order of the non-root vertices", "[MinimumSpanningTree][Regression]") +{ + const std::vector<Point> vertices = lattice(); + const MinimumSpanningTree reference(vertices); + + // The root stays first: Prim's tree legitimately depends on where it starts. + // Every other order of the remaining vertices must give the same tree. + std::vector<std::vector<Point>> orders; + orders.emplace_back(vertices); + std::reverse(orders.back().begin() + 1, orders.back().end()); + for (size_t shift = 1; shift + 1 < vertices.size(); ++shift) { + orders.emplace_back(vertices); + std::rotate(orders.back().begin() + 1, orders.back().begin() + 1 + shift, orders.back().end()); + } + + for (const std::vector<Point> &order : orders) { + const MinimumSpanningTree mst(order); + for (const Point &vertex : vertices) { + INFO("vertex " << vertex.x() << "," << vertex.y()); + REQUIRE(sorted_neighbours(mst, vertex) == sorted_neighbours(reference, vertex)); + } + } +} diff --git a/tests/libslic3r/test_preset_bundle_loading.cpp b/tests/libslic3r/test_preset_bundle_loading.cpp index 26cbf387ec..6ec6ba9b1e 100644 --- a/tests/libslic3r/test_preset_bundle_loading.cpp +++ b/tests/libslic3r/test_preset_bundle_loading.cpp @@ -6,15 +6,37 @@ #include "libslic3r/PresetBundle.hpp" #include "libslic3r/AppConfig.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Utils.hpp" +#include "libslic3r/miniz_extension.hpp" #include "test_utils.hpp" +#include <algorithm> +#include <iostream> +#include <initializer_list> + using namespace Slic3r; namespace { namespace fs = boost::filesystem; +// Whether a key is listed in a vector of keys (published_keys / skipped_keys). +bool contains_key(const std::vector<std::string> &keys, const std::string &key) +{ + return std::find(keys.begin(), keys.end(), key) != keys.end(); +} + +void check_double_vector(const std::vector<double> &actual, std::initializer_list<double> expected) +{ + REQUIRE(actual.size() == expected.size()); + size_t index = 0; + for (double value : expected) + REQUIRE_THAT(actual[index++], Catch::Matchers::WithinAbs(value, 1e-6)); +} + void write_print_preset(const DynamicPrintConfig &default_config, const fs::path &file, const std::string &name, const std::string &inherits = {}) { DynamicPrintConfig config(default_config); @@ -53,6 +75,22 @@ void set_renamed_from(PresetCollection &coll, const std::string &preset_name, st it->renamed_from = std::move(old_names); } +// A single-slot PLA file config for the published-material load tests (mirrors what the GUI +// builds from a 3mf's project settings before load_config_model). +DynamicPrintConfig published_pla_file_config() +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9 }; + return config; +} + // A standalone print preset collection that exposes the protected rename-map builder, so a // renamed_from scenario can be set up without the full system-profile load pipeline. // (PresetCollection is non-copyable - it holds a mutex - so it is constructed directly with @@ -515,6 +553,107 @@ TEST_CASE("Profile validator flags dangling and renamed preset references", "[Pr } } +TEST_CASE("Every printer variant has a compatible default material", "[Preset][Validate][DefaultMaterials]") +{ + PresetBundle bundle; + auto &vendor = bundle.vendors["Acme"]; + vendor.id = vendor.name = "Acme"; + vendor.models.emplace_back(); + auto &model = vendor.models.back(); + model.id = model.name = "Acme Printer"; + model.default_materials = {"Acme PLA @0.4", "Acme PLA @0.6"}; + + for (const std::string variant : {"0.4", "0.6"}) { + model.variants.emplace_back(variant); + const std::string printer_name = "Acme Printer " + variant; + Preset &printer = add_inmemory_preset(bundle.printers, printer_name); + printer.is_system = true; + printer.is_visible = false; // Validation covers uninstalled variants too. + printer.vendor = &vendor; + printer.config.option<ConfigOptionString>("printer_model")->value = model.id; + printer.config.option<ConfigOptionString>("printer_variant")->value = variant; + printer.config.option<ConfigOptionFloats>("nozzle_diameter")->values = {std::stod(variant)}; + + Preset &filament = add_inmemory_preset(bundle.filaments, "Acme PLA @" + variant); + filament.is_system = true; + filament.vendor = &vendor; + filament.alias = "Acme PLA"; + filament.config.option<ConfigOptionStrings>("compatible_printers")->values = {printer_name}; + } + + // A second system filament, compatible with a user printer this model does not have, so a + // section can list a known-but-incompatible name without tripping the existence check. + Preset &other_printer = add_inmemory_preset(bundle.printers, "Acme Printer 0.2"); + other_printer.vendor = &vendor; + Preset &other_filament = add_inmemory_preset(bundle.filaments, "Acme PLA @0.2"); + other_filament.is_system = true; + other_filament.vendor = &vendor; + other_filament.alias = "Acme PLA"; + other_filament.config.option<ConfigOptionStrings>("compatible_printers")->values = {"Acme Printer 0.2"}; + + CHECK_FALSE(bundle.has_errors()); + bool expected_errors = true; + + SECTION("A model default for one nozzle does not cover another nozzle") { + model.default_materials = {"Acme PLA @0.4"}; + } + SECTION("An empty default list leaves every variant uncovered") { + model.default_materials.clear(); + } + SECTION("An unknown filament cannot be a default") { + model.default_materials = {"Missing PLA"}; + } + SECTION("An unknown name is an error even when a compatible default covers the variant") { + model.default_materials.insert(model.default_materials.begin(), "Missing PLA"); + } + SECTION("An unknown default_filament_profile name is an error") { + bundle.printers.find_preset("Acme Printer 0.6", false, true) + ->config.option<ConfigOptionStrings>("default_filament_profile", true)->values = {"Missing PLA"}; + } + SECTION("A known default_filament_profile name is not an error") { + bundle.printers.find_preset("Acme Printer 0.6", false, true) + ->config.option<ConfigOptionStrings>("default_filament_profile", true)->values = {"Acme PLA @0.6"}; + expected_errors = false; + } + SECTION("A short alias does not resolve as an installed default") { + model.default_materials = {"Acme PLA"}; + } + SECTION("A user filament cannot satisfy a shipped default") { + bundle.filaments.find_preset("Acme PLA @0.6", false, true)->is_system = false; + } + SECTION("One compatible default per variant is sufficient") { + model.default_materials.insert(model.default_materials.begin(), "Acme PLA @0.2"); + expected_errors = false; + } + SECTION("Compatibility conditions apply to each nozzle") { + model.default_materials = {"Acme PLA @0.4"}; + Preset *filament = bundle.filaments.find_preset("Acme PLA @0.4", false, true); + auto &library = bundle.vendors[PresetBundle::ORCA_FILAMENT_LIBRARY]; + library.id = library.name = PresetBundle::ORCA_FILAMENT_LIBRARY; + filament->vendor = &library; + filament->config.option<ConfigOptionStrings>("compatible_printers")->values.clear(); + filament->config.option<ConfigOptionString>("compatible_printers_condition")->value = "nozzle_diameter[0] == 0.4"; + } + SECTION("Library defaults respect printer exclusions") { + model.default_materials = {"Acme PLA @0.4"}; + Preset *filament = bundle.filaments.find_preset("Acme PLA @0.4", false, true); + auto &library = bundle.vendors[PresetBundle::ORCA_FILAMENT_LIBRARY]; + library.id = library.name = PresetBundle::ORCA_FILAMENT_LIBRARY; + filament->vendor = &library; + filament->config.option<ConfigOptionStrings>("compatible_printers")->values.clear(); + CHECK_FALSE(bundle.check_printer_default_materials()); + filament->m_excluded_from.insert("Acme Printer 0.6"); + } + SECTION("User printers do not need model defaults") { + model.default_materials = {"Acme PLA @0.4"}; + bundle.printers.find_preset("Acme Printer 0.6", false, true)->is_system = false; + expected_errors = false; + } + + CHECK(bundle.check_printer_default_materials() == expected_errors); + CHECK(bundle.has_errors() == expected_errors); +} + // Under a shared override key, the last preset merged into the full config overwrote the others', so an // edited slicing-pipeline override never reached Print::apply's diff and re-configuring a plugin never // re-sliced. Per-type keys make that collision impossible; guard the scoping here. @@ -949,6 +1088,193 @@ TEST_CASE("Resolution terminates when no vendor manifest exists", "[Preset][Bund CHECK(error == "Preset was not found in the loaded bundle"); } +TEST_CASE("Manifest-backed resolution reuses the vendor tree it already loaded", "[Preset][Bundle][Regression]") +{ + ScopedTemporaryDir dir; + const fs::path process_dir = dir.path() / "Acme" / "process"; + fs::create_directories(process_dir); + std::ofstream((dir.path() / "Acme.json").string()) + << R"({"version":"1.0.0","name":"Acme","process_list":[)" + << R"({"name":"fdm_process_common","sub_path":"process/base.json"},)" + << R"({"name":"Acme First","sub_path":"process/first.json"},)" + << R"({"name":"Acme Second","sub_path":"process/second.json"}]})"; + auto write_base = [&](double travel_speed) { + std::ofstream((process_dir / "base.json").string()) + << R"({"type":"process","name":"fdm_process_common","from":"system",)" + << R"("instantiation":"false","travel_speed":[")" << travel_speed << R"("]})"; + }; + auto write_child = [&](const std::string &file, const std::string &name) { + std::ofstream((process_dir / file).string()) + << R"({"type":"process","name":")" << name << R"(","from":"system",)" + << R"("instantiation":"true","inherits":"fdm_process_common"})"; + }; + write_base(111.0); + write_child("first.json", "Acme First"); + write_child("second.json", "Acme Second"); + + auto travel_speed = [&](PresetBundle &bundle, const std::string &file) { + DynamicPrintConfig raw; + raw.option<ConfigOptionString>(BBL_JSON_KEY_INHERITS, true)->value = "fdm_process_common"; + std::string error; + REQUIRE(bundle.resolve_preset_config(raw, Preset::TYPE_PRINT, (process_dir / file).string(), + ForwardCompatibilitySubstitutionRule::EnableSilent, error)); + return raw.option<ConfigOptionFloats>("travel_speed")->values.front(); + }; + + PresetBundle bundle; + CHECK_THAT(travel_speed(bundle, "first.json"), Catch::Matchers::WithinAbs(111.0, 1e-6)); + + // Only a reload would see this change. + write_base(222.0); + CHECK_THAT(travel_speed(bundle, "second.json"), Catch::Matchers::WithinAbs(111.0, 1e-6)); + + PresetBundle fresh; + CHECK_THAT(travel_speed(fresh, "second.json"), Catch::Matchers::WithinAbs(222.0, 1e-6)); +} + +TEST_CASE("Manifest-backed resolution does not keep a vendor tree that failed to load", "[Preset][Bundle][Regression]") +{ + ScopedTemporaryDir dir; + const fs::path child_file = dir.path() / "Acme" / "process" / "child.json"; + auto write_manifest = [&](const std::string &leading_entry) { + std::ofstream((dir.path() / "Acme.json").string()) + << R"({"version":"1.0.0","name":"Acme","process_list":[)" << leading_entry + << R"({"name":"Acme Process","sub_path":"process/child.json"}]})"; + }; + write_manifest("123,"); + fs::create_directories(child_file.parent_path()); + std::ofstream(child_file.string()) + << R"({"type":"process","name":"Acme Process","from":"system",)" + << R"("instantiation":"true","layer_height":"0.2"})"; + + PresetBundle bundle; + auto resolve = [&](std::string &error) { + DynamicPrintConfig raw; + raw.option<ConfigOptionString>(BBL_JSON_KEY_INHERITS, true)->value = "fdm_process_common"; + return bundle.resolve_preset_config(raw, Preset::TYPE_PRINT, child_file.string(), + ForwardCompatibilitySubstitutionRule::EnableSilent, error); + }; + + std::string error; + CHECK_FALSE(resolve(error)); + CHECK_FALSE(error.empty()); + + write_manifest(""); + error.clear(); + CHECK(resolve(error)); + CHECK(error.empty()); +} + +TEST_CASE("Manifest-backed resolution reuses the library base for type-probed files", "[Preset][Bundle][Regression]") +{ + ScopedTemporaryDir dir; + const fs::path library_pet = dir.path() / PresetBundle::ORCA_FILAMENT_LIBRARY / "filament" / "pet.json"; + const fs::path filament_dir = dir.path() / "Acme" / "filament"; + + std::ofstream((dir.path() / (std::string(PresetBundle::ORCA_FILAMENT_LIBRARY) + ".json")).string()) + << R"({"version":"1.0.0","name":"OrcaFilamentLibrary","filament_list":[)" + << R"({"name":"fdm_filament_pet","sub_path":"filament/pet.json","filament_id":"GFL99"}]})"; + fs::create_directories(library_pet.parent_path()); + auto write_library_pet = [&](double density) { + std::ofstream(library_pet.string()) + << R"({"type":"filament","name":"fdm_filament_pet","from":"system",)" + << R"("filament_id":"GFL99","instantiation":"false",)" + << R"("filament_type":["PETG"],"filament_density":[")" << density << R"("]})"; + }; + write_library_pet(1.27); + + std::ofstream((dir.path() / "Acme.json").string()) + << R"({"version":"1.0.0","name":"Acme","filament_list":[)" + << R"({"name":"Acme PETG","sub_path":"filament/petg.json","filament_id":"GFA00"},)" + << R"({"name":"Acme PETG Matte","sub_path":"filament/petg_matte.json","filament_id":"GFA01"}]})"; + fs::create_directories(filament_dir); + auto write_child = [&](const std::string &file, const std::string &name, const std::string &filament_id) { + std::ofstream((filament_dir / file).string()) + << R"({"type":"filament","name":")" << name << R"(","from":"system",)" + << R"("filament_id":")" << filament_id << R"(","instantiation":"true","inherits":"fdm_filament_pet"})"; + }; + write_child("petg.json", "Acme PETG", "GFA00"); + write_child("petg_matte.json", "Acme PETG Matte", "GFA01"); + + auto density = [](const DynamicPrintConfig &config) { + return config.option<ConfigOptionFloats>("filament_density")->values.front(); + }; + + PresetBundle bundle; + DynamicPrintConfig first; + first.option<ConfigOptionString>(BBL_JSON_KEY_INHERITS, true)->value = "fdm_filament_pet"; + std::string error; + REQUIRE(bundle.resolve_preset_config(first, Preset::TYPE_FILAMENT, (filament_dir / "petg.json").string(), + ForwardCompatibilitySubstitutionRule::EnableSilent, error)); + CHECK_THAT(density(first), Catch::Matchers::WithinAbs(1.27, 1e-6)); + + // Only a reload would see this change. + write_library_pet(1.5); + + DynamicPrintConfig second; + Preset::Type type = Preset::TYPE_INVALID; + REQUIRE(bundle.resolve_preset_config_type(second, type, (filament_dir / "petg_matte.json").string(), + ForwardCompatibilitySubstitutionRule::EnableSilent, error)); + CHECK(type == Preset::TYPE_FILAMENT); + CHECK_THAT(density(second), Catch::Matchers::WithinAbs(1.27, 1e-6)); +} + +TEST_CASE("Manifest-backed resolution shares the library between vendors under one root", "[Preset][Bundle][Regression]") +{ + ScopedTemporaryDir dir; + const fs::path library_dir = dir.path() / PresetBundle::ORCA_FILAMENT_LIBRARY / "filament"; + + std::ofstream((dir.path() / (std::string(PresetBundle::ORCA_FILAMENT_LIBRARY) + ".json")).string()) + << R"({"version":"1.0.0","name":"OrcaFilamentLibrary","filament_list":[)" + << R"({"name":"fdm_filament_pet","sub_path":"filament/pet.json","filament_id":"GFL99"},)" + << R"({"name":"Generic PETG","sub_path":"filament/generic_petg.json","filament_id":"GFL98"}]})"; + fs::create_directories(library_dir); + auto write_library_pet = [&](double density) { + std::ofstream((library_dir / "pet.json").string()) + << R"({"type":"filament","name":"fdm_filament_pet","from":"system",)" + << R"("filament_id":"GFL99","instantiation":"false",)" + << R"("filament_type":["PETG"],"filament_density":[")" << density << R"("]})"; + }; + write_library_pet(1.27); + std::ofstream((library_dir / "generic_petg.json").string()) + << R"({"type":"filament","name":"Generic PETG","from":"system",)" + << R"("filament_id":"GFL98","instantiation":"true","inherits":"fdm_filament_pet"})"; + + auto write_vendor = [&](const std::string &vendor, const std::string &filament_id) { + const fs::path filament_dir = dir.path() / vendor / "filament"; + fs::create_directories(filament_dir); + std::ofstream((dir.path() / (vendor + ".json")).string()) + << R"({"version":"1.0.0","name":")" << vendor << R"(","filament_list":[)" + << R"({"name":")" << vendor << R"( PETG","sub_path":"filament/petg.json","filament_id":")" << filament_id << R"("}]})"; + std::ofstream((filament_dir / "petg.json").string()) + << R"({"type":"filament","name":")" << vendor << R"( PETG","from":"system",)" + << R"("filament_id":")" << filament_id << R"(","instantiation":"true","inherits":"fdm_filament_pet"})"; + return filament_dir / "petg.json"; + }; + const fs::path acme_petg = write_vendor("Acme", "GFA00"); + const fs::path beta_petg = write_vendor("Beta", "GFB00"); + + auto density = [&](PresetBundle &bundle, const fs::path &file) { + DynamicPrintConfig raw; + raw.option<ConfigOptionString>(BBL_JSON_KEY_INHERITS, true)->value = "fdm_filament_pet"; + std::string error; + REQUIRE(bundle.resolve_preset_config(raw, Preset::TYPE_FILAMENT, file.string(), + ForwardCompatibilitySubstitutionRule::EnableSilent, error)); + return raw.option<ConfigOptionFloats>("filament_density")->values.front(); + }; + + PresetBundle bundle; + CHECK_THAT(density(bundle, acme_petg), Catch::Matchers::WithinAbs(1.27, 1e-6)); + + // Only a reload would see this change. + write_library_pet(1.5); + CHECK_THAT(density(bundle, beta_petg), Catch::Matchers::WithinAbs(1.27, 1e-6)); + CHECK_THAT(density(bundle, library_dir / "generic_petg.json"), Catch::Matchers::WithinAbs(1.27, 1e-6)); + + PresetBundle fresh; + CHECK_THAT(density(fresh, beta_petg), Catch::Matchers::WithinAbs(1.5, 1e-6)); +} + // Orca: a filament in the Orca Filament Library that names its compatible printers has to hide the generic // library filament sharing its alias, the same way a vendor owned filament does. Otherwise both are compatible // with that printer and the plater combo box lists the shared alias twice. @@ -1000,7 +1326,6 @@ TEST_CASE("A printer specific filament supersedes the generic library filament w CHECK(is_compatible_with_printer(generic_lib, PresetWithVendorProfile(*printer_c, nullptr))); } - namespace { // One system printer plus the filament presets a machine facing dialog has to choose between: @@ -1221,6 +1546,2807 @@ TEST_CASE("Sizing the filament list to a multi-tool nozzle count keeps mixed slo } } +// A "published" 3MF keeps the user's currently-selected presets and overlays only the +// author-selected process keys onto the edited preset (mirrors the GUI load path: normalize +// before load_config_model, then the overlay in load_config_file_config). +TEST_CASE("Published 3MF overlays only the author-selected process keys onto the edited preset", "[Preset][Bundle][Published]") +{ + // The file config the GUI builds from a .3mf's project settings. + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // The loader derives the filament count from filament_colour and throws when it is + // empty; a 3mf always carries it. + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt_float("layer_height") = 0.28; // process scalar + config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values = { 140., 150. }; // matching-size vector + config.opt<ConfigOptionStrings>("post_process")->values = { "script-a", "script-b" }; // mismatched vector + config.opt<ConfigOptionInts>("nozzle_temperature")->values = { 220 }; // filament key (not applied anywhere) + // Structural (denylisted) key: must be silently ignored. full_print_config() omits the + // *_settings_id keys, so create one explicitly. + config.opt_string("print_settings_id", true) = "file process"; + config.opt<ConfigOptionFloats>("flush_multiplier")->values = { 2., 2. }; // must NOT cross over + config.opt<ConfigOptionFloats>("wipe_tower_x")->values = { 100. }; // plate geometry, does cross over + config.opt<ConfigOptionFloat>("wipe_tower_rotation_angle")->value = 45.; // published-only plate geometry, crosses over + config.option("curr_bed_type")->setInt(BedType::btPC); // must NOT cross over + return config; + }; + + const std::vector<std::string> published_keys = { + "layer_height", "wiping_volumes_extruders", "post_process", "nozzle_temperature", "print_settings_id" + }; + + PresetBundle bundle; + const std::string pre_load_name = bundle.prints.get_edited_preset().name; + const size_t pre_load_size = bundle.prints.size(); + + // The edited presets are the overlay targets: recognizable pre-load values. + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.1; + bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values = { 10., 20. }; + bundle.prints.get_edited_preset().config.opt<ConfigOptionStrings>("post_process")->values = { "existing-script" }; + bundle.prints.get_edited_preset().config.opt_string("print_settings_id") = "user process"; + // Capture the ctor-seeded project_config values so the assertions below check the load + // leaves them untouched rather than hardcoding the defaults. + const std::vector<std::string> seed_filament_colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + const std::vector<double> seed_flush_multiplier = bundle.project_config.opt<ConfigOptionFloats>("flush_multiplier")->values; + const int seed_bed_type = bundle.project_config.option("curr_bed_type")->getInt(); + + DynamicPrintConfig config = make_file_config(); + // The GUI normalizes the config before load; mirror that so only the production path runs. + Preset::normalize(config); + + PublishedConfig pub; + pub.published = true; + pub.published_keys = published_keys; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // a) Process scalar overlaid; matching-size vector applied, mismatched one lands in + // skipped_keys; applied keys are not reported. + CHECK_THAT(bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.28, 0.000001)); + check_double_vector(bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values, { 140., 150. }); + CHECK(bundle.prints.get_edited_preset().config.opt<ConfigOptionStrings>("post_process")->values == std::vector<std::string>{ "existing-script" }); + CHECK(contains_key(pub.skipped_keys, "post_process")); + CHECK_FALSE(contains_key(pub.skipped_keys, "layer_height")); + CHECK_FALSE(contains_key(pub.skipped_keys, "wiping_volumes_extruders")); + + // b) A filament key is never applied anywhere and is reported as skipped. + CHECK(bundle.prints.get_edited_preset().config.option("nozzle_temperature") == nullptr); + CHECK(contains_key(pub.skipped_keys, "nozzle_temperature")); + + // c) A structural key is silently ignored: neither applied nor reported as skipped. + CHECK(bundle.prints.get_edited_preset().config.opt_string("print_settings_id") == "user process"); + CHECK_FALSE(contains_key(pub.skipped_keys, "print_settings_id")); + + // d) Only plate/bed geometry crosses in published mode: filament/purge data and bed type + // stay at the ctor seeds. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values == seed_filament_colour); + CHECK(bundle.project_config.opt<ConfigOptionFloats>("flush_multiplier")->values == seed_flush_multiplier); + CHECK(bundle.project_config.option("curr_bed_type")->getInt() == seed_bed_type); + check_double_vector(bundle.project_config.opt<ConfigOptionFloats>("wipe_tower_x")->values, { 100. }); + CHECK_THAT(bundle.project_config.opt<ConfigOptionFloat>("wipe_tower_rotation_angle")->value, Catch::Matchers::WithinAbs(45., 0.000001)); + + // e) The published path keeps the user's currently-selected presets: same preset, same size. + CHECK(bundle.prints.get_edited_preset().name == pre_load_name); + CHECK(bundle.prints.size() == pre_load_size); + + // f) Non-published control: the overlay is disabled, the file's presets are imported + // instead, and no skipped_keys are produced. + PresetBundle control_bundle; + const size_t control_pre_size = control_bundle.prints.size(); + PublishedConfig control_pub; + control_pub.published = false; + control_pub.published_keys = published_keys; + DynamicPrintConfig control_config = make_file_config(); + Preset::normalize(control_config); + control_bundle.load_config_model("test.3mf", std::move(control_config), Semver(), &control_pub); + + CHECK(control_pub.skipped_keys.empty()); + CHECK(control_bundle.prints.size() > control_pre_size); + // The file's layer_height reached the edited preset via the normal import, not the overlay. + CHECK_THAT(control_bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.28, 0.000001)); +} + +// The published printer overlay is restricted to the publishable retraction/z-hop allowlist: +// matching-size vectors apply, mismatched vectors are reported as skipped, and any other +// printer-class key (e.g. machine_start_gcode) is contract-excluded (never applied, never +// reported). +TEST_CASE("Published 3MF overlays only the allowlisted retraction and z-hop keys onto the edited printer preset", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + Preset::normalize(config); + config.opt<ConfigOptionFloats>("retraction_length")->values = { 1.4 }; // matching size (1 extruder) + config.opt<ConfigOptionFloats>("retraction_speed")->values = { 45., 55. }; // size 2: mismatched + config.opt_string("machine_start_gcode") = "G28 ; from file"; // outside the allowlist + + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8 }; + // A recognizable non-default value: the skipped mismatch below must leave it untouched + // (asserting the default instead would silently test PrintConfig's retraction_speed). + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_speed")->values = { 33. }; + bundle.printers.get_edited_preset().config.opt_string("machine_start_gcode") = "G28 ; user"; + + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length", "retraction_speed", "machine_start_gcode" }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Matching-size retraction vector applied; mismatched vector reported as skipped and the + // receiver's own value survives. + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 1.4 }); + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_speed")->values, { 33. }); + CHECK(contains_key(pub.skipped_keys, "retraction_speed")); + // Contract-excluded printer key: silently ignored, absent from skipped_keys. + CHECK(bundle.printers.get_edited_preset().config.opt_string("machine_start_gcode") == "G28 ; user"); + CHECK_FALSE(contains_key(pub.skipped_keys, "machine_start_gcode")); +} + +// A published 3MF carries per-slot material keys; on load they are applied positionally to the +// receiver's slot N (a key-only entry has no type gate), written onto the slot's stored preset +// in place. +TEST_CASE("Published 3MF applies positional material keys onto the receiver's material presets", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // Two filament slots; filament_diameter drives the normalized per-slot vector sizes. + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + // Keep the multi-extruder consistency validation happy for a 2-slot config. + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFT99" }; + // Author per-slot retraction values. These are per-filament override keys that are not + // members of the static PrintRegionConfig, so full_print_config() omits them and they + // must be created explicitly (as nullable, matching the real 3MF project config). + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 1.2 }; + config.option<ConfigOptionFloatsNullable>("filament_z_hop", true)->values = { 0.2, 0.3 }; + return config; + }; + + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.filament_id = "GFL99"; + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt_string("filament_vendor", 0u) = "Generic"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + pla.config.opt<ConfigOptionStrings>("filament_settings_id")->values = { "receiver-pla" }; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.filament_id = "GFT99"; + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt_string("filament_vendor", 0u) = "Generic"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + petg.config.opt<ConfigOptionFloatsNullable>("filament_z_hop", true)->values = { 0.1 }; + bundle.filament_presets = { "My PLA", "My PETG" }; + + PublishedMaterialEntry pla_entry; + pla_entry.filament_id = "GFL99"; + pla_entry.slot = 0; // the author's PLA slot + pla_entry.keys = { "filament_retraction_length", "filament_settings_id" }; + PublishedMaterialEntry petg_entry; + petg_entry.filament_id = "GFT99"; + petg_entry.slot = 1; // the author's PETG slot + petg_entry.keys = { "filament_retraction_length", "filament_z_hop" }; + // A slot-less entry (no slot field, only possible in hand-crafted files): silently skipped. + PublishedMaterialEntry noslot_entry; + noslot_entry.filament_type = "ABS"; + noslot_entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { pla_entry, petg_entry, noslot_entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The author's slot values are written onto the receiver's stored presets in place. + check_double_vector(bundle.filaments.find_preset("My PLA")->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("My PETG")->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 1.2 }); + check_double_vector(bundle.filaments.find_preset("My PETG")->config.opt<ConfigOptionFloatsNullable>("filament_z_hop")->values, { 0.3 }); + // Structural keys inside a material entry are silently ignored: the receiver's own + // filament_settings_id is untouched and nothing is reported for it. + CHECK(bundle.filaments.find_preset("My PLA")->config.opt<ConfigOptionStrings>("filament_settings_id")->values == std::vector<std::string>{ "receiver-pla" }); + CHECK_FALSE(contains_key(pub.skipped_keys, "material:GFL99 (filament_settings_id)")); + // Everything applied; the slot-less entry produced no skipped entry. + CHECK(pub.skipped_keys.empty()); +} + +// A "full publish" slot serializes the whole filament. On load the slot always receives a +// standalone detached copy of the author's material - created even when the receiver's own +// material matches the published type - and no receiver library preset is ever mutated. +TEST_CASE("Published 3MF full-published slots are imported as standalone detached copies", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // Two author slots; filament_diameter drives the normalized per-slot vector sizes. + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFT99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 1.2 }; + return config; + }; + // The full dump of slot 0, publishing the whole filament as type "ABS". + auto make_full_abs_entry = [] { + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "ABS"; + entry.full_keys = { "filament_retraction_length" }; + return entry; + }; + + SECTION("type match still creates a detached copy instead of mutating the receiver material") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PLA", "My PLA" }; + + PublishedMaterialEntry full = make_full_abs_entry(); + full.publish_type_value = "PLA"; // author requires PLA, receiver slot is PLA + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { full }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The type matches, but the import still detaches: the slot lands on a fresh copy + // named from the published type (no identity fields in this entry), carrying the + // author's values; the receiver's own material is untouched. + CHECK(bundle.filament_presets[0] == "PLA"); + Preset *copy = bundle.filaments.find_preset("PLA", false, true); + REQUIRE(copy != nullptr); + check_double_vector(copy->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + CHECK(pub.skipped_keys.empty()); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PLA -> PLA"); + } + + SECTION("type mismatch also detaches: a fresh same-type copy replaces the slot") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &abs = add_inmemory_preset(bundle.filaments, "My ABS"); + abs.config.opt_string("filament_type", 0u) = "ABS"; + abs.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.3 }; + bundle.filament_presets = { "My PLA" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_full_abs_entry() }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 1); + // No substitution search runs: a brand-new copy named after the published type is + // created and both pre-existing presets stay exactly as they were. + CHECK(bundle.filament_presets[0] == "ABS"); + Preset *copy = bundle.filaments.find_preset("ABS", false, true); + REQUIRE(copy != nullptr); + check_double_vector(copy->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("My ABS", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.3 }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + CHECK(pub.skipped_keys.empty()); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PLA -> ABS"); + } + + SECTION("the author's identity rides on the copy when the type has no library match") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &other = add_inmemory_preset(bundle.filaments, "Other PLA"); + other.config.opt_string("filament_type", 0u) = "PLA"; + other.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.7 }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry full = make_full_abs_entry(); + // The dump carries the identity too, so the created copy takes the author's type + // and vendor instead of the baseline clone's. + full.full_keys = { "filament_retraction_length", "filament_type", "filament_vendor" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { full }; + DynamicPrintConfig config = make_file_config(); + // The author's slot 0 really is ABS. + config.opt<ConfigOptionStrings>("filament_type")->values = { "ABS", "PETG" }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // No ABS preset needs to exist in the library: the copy carries the author's values, + // type and vendor included. Neither receiver preset was touched. + CHECK(bundle.filament_presets[0] == "ABS"); + Preset *copy = bundle.filaments.find_preset("ABS", false, true); + REQUIRE(copy != nullptr); + check_double_vector(copy->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + CHECK(copy->config.opt_string("filament_type", 0u) == "ABS"); + CHECK(copy->config.opt_string("filament_vendor", 0u) == "Generic"); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt_string("filament_type", 0u) == "PLA"); + check_double_vector(bundle.filaments.find_preset("Other PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.7 }); + CHECK(pub.skipped_keys.empty()); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PLA -> ABS"); + } +} + +// The author's preset name travels in the file and names the created standalone copy (variant +// tail stripped), regardless of what the receiver's library holds: an exact-name library preset +// is never reused nor mutated. +TEST_CASE("Published 3MF imports a full material under the author's stripped name", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "OGFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9 }; + return config; + }; + + auto add_pla = [](PresetBundle &bundle, const char *name, const char *id, const char *vendor, const char *setting_id) { + Preset &preset = add_inmemory_preset(bundle.filaments, name); + preset.filament_id = id; + preset.setting_id = setting_id; + preset.config.opt_string("filament_type", 0u) = "PLA"; + preset.config.opt_string("filament_vendor", 0u) = vendor; + preset.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + return &preset; + }; + + SECTION("an exact-name library preset exists: a detached copy is created beside it") { + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + add_pla(bundle, "Generic PLA @System", "OGFL99", "Generic", "RcBNzytWgwRrwXXz"); + add_pla(bundle, "Bambu PLA Basic @System", "OGFA00", "Bambu Lab", "zkc85XTKi4cb6cOw"); + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.filament_id = "OGFL99"; + entry.filament_vendor = "Generic"; + entry.setting_id = "RcBNzytWgwRrwXXz"; + entry.preset_name = "Generic PLA @System"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The copy is named after the stripped author name; the receiver's exact-name preset + // keeps its own values. + CHECK(bundle.filament_presets[0] == "Generic PLA"); + check_double_vector(bundle.filaments.find_preset("Generic PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA @System", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + check_double_vector(bundle.filaments.find_preset("My PETG", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.6 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Generic PLA"); + CHECK(pub.skipped_keys.empty()); + } + + SECTION("only the name is present (broken/stale ids): the copy is still created") { + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + add_pla(bundle, "Generic PLA @System", "OGFL99", "Generic", "RcBNzytWgwRrwXXz"); + add_pla(bundle, "Bambu PLA Basic @System", "OGFA00", "Bambu Lab", "zkc85XTKi4cb6cOw"); + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.preset_name = "Generic PLA @System"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets[0] == "Generic PLA"); + check_double_vector(bundle.filaments.find_preset("Bambu PLA Basic @System", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Generic PLA"); + CHECK(pub.skipped_keys.empty()); + } + + SECTION("grown slot (author slot 1) receives its own detached copy") { + auto two_slot_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "OGFL99", "OGFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 0.8 }; + return config; + }; + + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + add_pla(bundle, "Generic PLA @System", "OGFL99", "Generic", "RcBNzytWgwRrwXXz"); + add_pla(bundle, "Bambu PLA Basic @System", "OGFA00", "Bambu Lab", "zkc85XTKi4cb6cOw"); + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 1; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.preset_name = "Generic PLA @System"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = two_slot_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 2); + CHECK(bundle.filament_presets[0] == "My PETG"); + // The grown slot seeds the receiver's last preset ("My PETG"), then the full material + // detaches onto a copy carrying the author's slot-1 value; "Generic PLA @System" is + // left untouched. + CHECK(bundle.filament_presets[1] == "Generic PLA"); + check_double_vector(bundle.filaments.find_preset("Generic PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.8 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA @System", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 1: My PETG -> Generic PLA"); + CHECK(pub.skipped_keys.empty()); + } +} + +// The stripped author name can collide with an existing library preset ("Generic PLA"): the +// created copy must uniquify with the "(Published)" suffix rather than overwrite, reuse or +// mutate any of the receiver's own presets. +TEST_CASE("Published 3MF uniquifies an imported full material name on collision", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + // A legacy bundle preset literally named "Generic PLA" - collides with the stripped name. + Preset &bare = add_inmemory_preset(bundle.filaments, "Generic PLA"); + bare.config.opt_string("filament_type", 0u) = "PLA"; + bare.config.opt_string("filament_vendor", 0u) = "Generic"; + bare.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + // The author's exact preset. + Preset &qidi = add_inmemory_preset(bundle.filaments, "Generic PLA @Qidi Q2 0.4 nozzle"); + qidi.config.opt_string("filament_type", 0u) = "PLA"; + qidi.config.opt_string("filament_vendor", 0u) = "Generic"; + qidi.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + // The Orca library preset. + Preset &sys = add_inmemory_preset(bundle.filaments, "Generic PLA @System"); + sys.config.opt_string("filament_type", 0u) = "PLA"; + sys.config.opt_string("filament_vendor", 0u) = "Generic"; + sys.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.preset_name = "Generic PLA @Qidi Q2 0.4 nozzle"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The copy lands beside the collision, suffixed; every pre-existing preset keeps its own + // values. + CHECK(bundle.filament_presets[0] == "Generic PLA (Published)"); + check_double_vector(bundle.filaments.find_preset("Generic PLA (Published)", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA @Qidi Q2 0.4 nozzle", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA @System", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Generic PLA (Published)"); + CHECK(pub.skipped_keys.empty()); +} + +// The overlay writes onto the edited layer only when that layer survives the load (slot 0's +// preset still matches the edited preset). When the user views a non-first slot's material and +// the published entry targets that slot, the final re-select would destroy the edited layer - +// so the values must land on the stored preset instead and survive. +TEST_CASE("Published 3MF writes to the stored preset when the edited layer is re-selected away", "[Preset][Bundle][Published]") +{ + // Two-slot author config: slot 1 carries the published retraction value. + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PETG", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFT99", "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6, 0.9 }; + return config; + }; + + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PETG", "My PLA" }; + // The user is viewing slot 1's material. + REQUIRE(bundle.filaments.select_preset_by_name("My PLA", false)); + + PublishedMaterialEntry entry; + entry.slot = 1; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The published values survived on the stored preset (the edited layer was re-selected to + // slot 0's material and must not have been the only copy). + Preset *stored = bundle.filaments.find_preset("My PLA", false, true); + REQUIRE(stored != nullptr); + CHECK(stored->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(stored->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + // The load re-selected slot 0's material, mirroring a normal project load. + CHECK(bundle.filaments.get_edited_preset().name == "My PETG"); + // Selecting the slot's material afterwards surfaces the applied values. + REQUIRE(bundle.filaments.select_preset_by_name("My PLA", false)); + CHECK(bundle.filaments.get_edited_preset().config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(bundle.filaments.get_edited_preset().config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + CHECK(pub.skipped_keys.empty()); +} + +// The created copy is named after the author's preset with the "@variant" tail stripped; +// trailing whitespace left behind by the truncation must be trimmed away, and names without +// a tail pass through unchanged. +TEST_CASE("publish_material_base_name strips the variant tail from a published preset name", "[Preset][Bundle][Published]") +{ + CHECK(publish_material_base_name("Generic PLA @System") == "Generic PLA"); + CHECK(publish_material_base_name("Generic PLA @Qidi Q2 0.4 nozzle") == "Generic PLA"); + // Truncation at '@' leaves the space before the tail; it must not survive. + CHECK(publish_material_base_name("Generic PLA @System") == "Generic PLA"); + CHECK(publish_material_base_name("Voron Generic PLA") == "Voron Generic PLA"); + CHECK(publish_material_base_name("") == ""); + // A tail-only name strips to nothing; the caller falls back to identity fields. + CHECK(publish_material_base_name("@System").empty()); +} + +// A full-published material arrives as a brand-new standalone preset: parentless, visible, +// project-embedded ("Preset Inside Project"), carrying the author's values and colour - and +// never touching any of the receiver's own presets. +TEST_CASE("Published 3MF imports a full material as a detached project-embedded preset", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + Preset &spare = add_inmemory_preset(bundle.filaments, "Spare PLA"); + spare.config.opt_string("filament_type", 0u) = "PLA"; + spare.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.4 }; + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.filament_id = "AFL01"; + entry.setting_id = "Sid000111222"; + entry.preset_name = "Author PLA @Vendor"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The slot lands on the freshly created copy, named after the stripped author name. + CHECK(bundle.filament_presets[0] == "Author PLA"); + Preset *copy = bundle.filaments.find_preset("Author PLA", false, true); + REQUIRE(copy != nullptr); + // Detached + project-embedded contract. + CHECK(copy->is_project_embedded); + CHECK(copy->inherits().empty()); + CHECK(copy->setting_id.empty()); + CHECK(copy->vendor == nullptr); + CHECK_FALSE(copy->is_system); + CHECK_FALSE(copy->is_default); + CHECK_FALSE(copy->is_external); + CHECK(copy->is_visible); + CHECK(copy->filament_id == "AFL01"); + CHECK(copy->config.opt<ConfigOptionStrings>("filament_settings_id")->values == std::vector<std::string>{ "Author PLA" }); + // The published values and colour live on the copy. + check_double_vector(copy->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + CHECK(copy->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + // Universally compatible: no printer/print restrictions survive the import. + CHECK(copy->config.opt<ConfigOptionStrings>("compatible_printers")->values.empty()); + CHECK(copy->config.opt<ConfigOptionStrings>("compatible_prints")->values.empty()); + CHECK(copy->config.opt<ConfigOptionString>("compatible_printers_condition")->value.empty()); + CHECK(copy->config.opt<ConfigOptionString>("compatible_prints_condition")->value.empty()); + // Nothing pre-existing was touched. + check_double_vector(bundle.filaments.find_preset("My PETG", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.6 }); + check_double_vector(bundle.filaments.find_preset("Spare PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.4 }); + CHECK(pub.skipped_keys.empty()); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Author PLA"); +} + +// Compatibility restrictions riding on the receiver's baseline preset must not leak onto the +// imported copy: a detached full material is usable with every printer and print profile. +TEST_CASE("Published 3MF clears printer restrictions on the imported full material", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &restricted = add_inmemory_preset(bundle.filaments, "Restricted PLA"); + restricted.config.opt_string("filament_type", 0u) = "PLA"; + restricted.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + restricted.config.set_key_value("compatible_printers", new ConfigOptionStrings({ "Unrelated Printer" })); + restricted.config.set_key_value("compatible_prints", new ConfigOptionStrings({ "Unrelated Print" })); + restricted.config.option<ConfigOptionString>("compatible_printers_condition", true)->value = "printer_settings_id==\"Nope\""; + restricted.config.option<ConfigOptionString>("compatible_prints_condition", true)->value = "print_settings_id==\"Nope\""; + bundle.filament_presets = { "Restricted PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The copy (named from the published type; no identity fields) has no restrictions left. + CHECK(bundle.filament_presets[0] == "PLA"); + Preset *copy = bundle.filaments.find_preset("PLA", false, true); + REQUIRE(copy != nullptr); + CHECK(copy->config.opt<ConfigOptionStrings>("compatible_printers")->values.empty()); + CHECK(copy->config.opt<ConfigOptionStrings>("compatible_prints")->values.empty()); + CHECK(copy->config.opt<ConfigOptionString>("compatible_printers_condition")->value.empty()); + CHECK(copy->config.opt<ConfigOptionString>("compatible_prints_condition")->value.empty()); + // The receiver's own restricted preset keeps its restrictions. + const Preset *original = bundle.filaments.find_preset("Restricted PLA", false, true); + REQUIRE(original != nullptr); + CHECK(original->config.opt<ConfigOptionStrings>("compatible_printers")->values == std::vector<std::string>{ "Unrelated Printer" }); + CHECK(original->config.opt<ConfigOptionString>("compatible_printers_condition")->value == "printer_settings_id==\"Nope\""); + CHECK(pub.skipped_keys.empty()); +} + +// Identical Full materials (same setting_id + preset_name identity) share one created +// instance: an author who pointed several slots at one material gets one standalone copy, +// and the first entry's slot values win. +TEST_CASE("Published 3MF shares one imported copy between identical full slots", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "AFL01", "AFL01" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 0.8 }; + return config; + }; + auto make_entry = [](int slot) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.filament_id = "AFL01"; + entry.setting_id = "Sid000111222"; + entry.preset_name = "Author PLA @Vendor"; + entry.full_keys = { "filament_retraction_length" }; + return entry; + }; + + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + Preset &other = add_inmemory_preset(bundle.filaments, "Other PETG"); + other.config.opt_string("filament_type", 0u) = "PETG"; + other.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.65 }; + bundle.filament_presets = { "My PETG", "Other PETG" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_entry(0), make_entry(1) }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Both slots point at the single shared copy; no second "(Published)" instance exists. + REQUIRE(bundle.filament_presets.size() == 2); + CHECK(bundle.filament_presets[0] == "Author PLA"); + CHECK(bundle.filament_presets[1] == "Author PLA"); + CHECK(bundle.filaments.find_preset("Author PLA", false, true) != nullptr); + CHECK(bundle.filaments.find_preset("Author PLA (Published)", false, true) == nullptr); + // The first entry's slot values won. + check_double_vector(bundle.filaments.find_preset("Author PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + // Both slots reported, same target; originals untouched. + REQUIRE(pub.material_replacements.size() == 2); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Author PLA"); + CHECK(pub.material_replacements[1] == "slot 1: Other PETG -> Author PLA"); + check_double_vector(bundle.filaments.find_preset("My PETG", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.6 }); + check_double_vector(bundle.filaments.find_preset("Other PETG", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.65 }); + CHECK(pub.skipped_keys.empty()); +} + +// Without a preset name the copy falls back to the stable material id; fully anonymous +// hand-crafted entries never share instances between slots (their dedup key is slot-scoped). +TEST_CASE("Published 3MF names unidentified full materials from their fallback fields", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFT99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 1.2 }; + return config; + }; + + SECTION("empty preset_name falls back to the filament_id") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.filament_id = "AFL01"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets[0] == "AFL01"); + CHECK(bundle.filaments.find_preset("AFL01", false, true) != nullptr); + CHECK(pub.skipped_keys.empty()); + } + + SECTION("fully anonymous entries get slot-scoped copies") { + PresetBundle bundle; + Preset &first = add_inmemory_preset(bundle.filaments, "First PLA"); + first.config.opt_string("filament_type", 0u) = "PLA"; + first.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &second = add_inmemory_preset(bundle.filaments, "Second PLA"); + second.config.opt_string("filament_type", 0u) = "PLA"; + second.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.55 }; + bundle.filament_presets = { "First PLA", "Second PLA" }; + + PublishedMaterialEntry entry0; + entry0.slot = 0; + entry0.full = true; + entry0.publish_type = true; + entry0.publish_type_value = "ABS"; // the only naming field present + entry0.full_keys = { "filament_retraction_length" }; + PublishedMaterialEntry entry1 = entry0; + entry1.slot = 1; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry0, entry1 }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // No shared identity: each slot gets its own uniquified copy. + CHECK(bundle.filament_presets[0] == "ABS"); + CHECK(bundle.filament_presets[1] == "ABS (Published)"); + CHECK(bundle.filaments.find_preset("ABS", false, true) != nullptr); + CHECK(bundle.filaments.find_preset("ABS (Published)", false, true) != nullptr); + CHECK(pub.skipped_keys.empty()); + } +} + +// Within-load dedup does not span loads: importing the same published file again into the same +// session creates a second, uniquified copy instead of mutating or reusing the first. +TEST_CASE("Re-importing a published full material uniquifies the second copy", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + bundle.filament_presets = { "My PETG" }; + + auto make_entry = [] { + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.filament_id = "AFL01"; + entry.setting_id = "Sid000111222"; + entry.preset_name = "Author PLA @Vendor"; + entry.full_keys = { "filament_retraction_length" }; + return entry; + }; + + for (int round = 0; round < 2; ++round) { + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_entry() }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + if (round == 0) { + CHECK(bundle.filament_presets[0] == "Author PLA"); + CHECK(bundle.filaments.find_preset("Author PLA (Published)", false, true) == nullptr); + } else { + // The second import uniquifies beside the first instead of touching it. + CHECK(bundle.filament_presets[0] == "Author PLA (Published)"); + check_double_vector(bundle.filaments.find_preset("Author PLA (Published)", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + check_double_vector(bundle.filaments.find_preset("Author PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: Author PLA -> Author PLA (Published)"); + } + CHECK(pub.skipped_keys.empty()); + } +} + +// A partially-published slot can carry a curated type and/or colour. The colour is applied +// regardless of the type match; a type mismatch with no same-type replacement keeps the +// receiver's material and reports the slot's keys as skipped. The receiver's slot count grows +// only as far as the highest slot with published content. +TEST_CASE("Published 3MF partial slots apply colour and gate keys by the published type", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFT99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9, 1.2 }; + return config; + }; + + SECTION("matching type applies the keys and the colour") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Type matched: keys and colour applied onto the receiver's preset in place. + Preset *pla_preset = bundle.filaments.find_preset("My PLA", false, true); + REQUIRE(pla_preset != nullptr); + check_double_vector(pla_preset->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + CHECK(pla_preset->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.material_replacements.empty()); + } + + SECTION("type mismatch without a replacement keeps the material and skips the keys") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_type = true; + entry.publish_type_value = "ABS"; // no ABS in the receiver library + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The slot keeps the receiver's material: the colour applies in place, the keys are + // skipped. + CHECK(bundle.filament_presets[0] == "My PLA"); + Preset *pla_preset = bundle.filaments.find_preset("My PLA", false, true); + REQUIRE(pla_preset != nullptr); + check_double_vector(pla_preset->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + CHECK(pla_preset->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + CHECK(contains_key(pub.skipped_keys, "material:ABS (filament_retraction_length)")); + CHECK(pub.material_replacements.empty()); + } + + SECTION("receiver slot count grows to fit the highest published slot and assigns matching type preset") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.8 }; + // The receiver has a single slot; the file carries two, only slot 1 is published. + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 1; + entry.publish_type = true; + entry.publish_type_value = "PETG"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The slot list was grown so author slot 1 has a material (the PETG preset), which + // then receives the author's values in place. + REQUIRE(bundle.filament_presets.size() == 2); + CHECK(bundle.filament_presets[1] == "My PETG"); + check_double_vector(bundle.filaments.find_preset("My PETG", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 1.2 }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + } +} + +// The receiver's slot list grows only as far as the highest published slot: a file whose author +// published nothing (or only a low slot) must not pull filler materials into the receiver's +// setup, and the receiver never grows to the file's count. +TEST_CASE("Published 3MF grows the receiver's slots only as far as the published slots", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // Four author slots (a 4-filament model). + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + return config; + }; + auto add_pla_preset = [](PresetBundle &bundle) { + Preset &preset = add_inmemory_preset(bundle.filaments, "My PLA"); + preset.config.opt_string("filament_type", 0u) = "PLA"; + preset.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + return &preset; + }; + auto make_color_entry = [](int slot) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.publish_color = true; + entry.color = "#ABCDEF"; + return entry; + }; + + // A file whose author published nothing for any slot: the receiver's setup is untouched. + { + PresetBundle bundle; + add_pla_preset(bundle); + bundle.filament_presets = { "My PLA" }; + + PublishedConfig pub; + pub.published = true; // no material entries at all + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets.size() == 1); + CHECK(bundle.filaments.find_preset("My PLA")->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#123456" }); + CHECK(pub.skipped_keys.empty()); + } + + // Only slot 0 published: a single-slot receiver keeps its single slot; the file's other + // three slots pull nothing in. + { + PresetBundle bundle; + add_pla_preset(bundle); + bundle.filament_presets = { "My PLA" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_color_entry(0) }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets.size() == 1); + // The published colour lands on the slot's preset in place. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + } + + // Slot 3 published: the receiver grows to 4 so the published slot exists. Unpublished + // filler slots repeat the receiver's last preset ("Add one filament" behaviour). + { + PresetBundle bundle; + add_pla_preset(bundle); + bundle.filament_presets = { "My PLA" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_color_entry(3) }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 4); + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(bundle.filament_presets[2] == "My PLA"); + // Only "My PLA" exists in the library, so the published slot keeps the aliasing and the + // colour is written onto the shared preset (every slot references it). + CHECK(bundle.filament_presets[3] == "My PLA"); + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + // The project-level per-slot vectors were grown and seeded: fillers take their preset's + // colour, the published slot its published colour. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[1] == "#123456"); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[3] == "#ABCDEF"); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_multi_colour")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour_type")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionInts>("filament_map")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionFloats>("flush_volumes_matrix")->values.size() == 16); + } + + // Slots 0 and 2 published: the receiver grows to 3, never to the file's 4. + { + PresetBundle bundle; + add_pla_preset(bundle); + bundle.filament_presets = { "My PLA" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_color_entry(0), make_color_entry(2) }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PLA"); + } + + // A receiver with more slots than the file's filament count keeps its setup: neither the + // preset list nor the project-level vectors are shrunk to the file's smaller size. + { + PresetBundle bundle; + add_pla_preset(bundle); + bundle.filament_presets = { "My PLA", "My PLA", "My PLA" }; + // Distinct project colours make a shrink observable. + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values = { "#111111", "#222222", "#333333" }; + bundle.project_config.opt<ConfigOptionStrings>("filament_multi_colour")->values = { "#111111", "#222222", "#333333" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_color_entry(0) }; // highest published slot: 0 + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // A one-filament file: num_filaments (1) is below the receiver's slot count (3). + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99" }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + // No shrink: all three project entries survive, with slot 0 synced to the published + // colour at its unshifted index and slots 1-2 untouched. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF", "#222222", "#333333" }); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_multi_colour")->values == std::vector<std::string>{ "#ABCDEF", "#222222", "#333333" }); + CHECK(bundle.project_config.opt<ConfigOptionInts>("filament_map")->values.size() == 3); + // The published colour still reached slot 0's preset in place. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + } +} + +// A published slot is seeded from an unused library preset and the values are written onto it +// in place, so the receiver's own material (slot 0) is never overwritten. +TEST_CASE("Published 3MF grows published slots to the receiver's last preset and recolors it in place", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + return config; + }; + + // Receiver with its own material plus one more library preset; author publishes only slot 4 + // (Red). Growth always repeats the receiver's last filament ("Add one filament"), so the + // grown slot references the shared "My PLA" preset and the published red recolors it in + // place; the unused "Other PLA" preset is left untouched. + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + mine.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + Preset &other = add_inmemory_preset(bundle.filaments, "Other PLA"); + other.config.opt_string("filament_type", 0u) = "PLA"; + other.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#654321" }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 3; + entry.publish_color = true; + entry.color = "#ABCDEF"; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 4); + // Every grown slot (published or filler) repeats the receiver's last preset. + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(bundle.filament_presets[2] == "My PLA"); + // The published red recolors the shared "My PLA" preset in place; the unused "Other PLA" + // preset is left untouched. + CHECK(bundle.filament_presets[3] == "My PLA"); + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + CHECK(bundle.filaments.find_preset("Other PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#654321" }); + // The project-level colours are sized and seeded for every grown slot. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[1] == "#123456"); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[3] == "#ABCDEF"); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_multi_colour")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour_type")->values.size() == 4); + CHECK(bundle.project_config.opt<ConfigOptionInts>("filament_map")->values.size() == 4); +} + +// Growth always repeats the receiver's last preset; a published slot only lands on its +// material identity when the aliased grown slot is re-pointed (de-alias fires on a preset +// key). Lock the identity priority there: an exact filament_id outranks an arbitrary unused +// preset, and an entry carrying only a family constrains the pick to that family. +TEST_CASE("Published 3MF re-points an aliased grown slot by published identity or family without a type requirement", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + return config; + }; + + PublishedMaterialEntry entry; + entry.slot = 2; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.keys = { "filament_retraction_length" }; + // An unused preset sorting before everything else: an unconstrained pick would take it. + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + Preset &arbitrary = add_inmemory_preset(bundle.filaments, "Aaa PLA"); + arbitrary.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA" }; + + SECTION("an exact filament_id outranks the first unused preset") { + Preset &authored = add_inmemory_preset(bundle.filaments, "Zzz PLA"); + authored.config.opt_string("filament_type", 0u) = "PLA"; + authored.filament_id = "GFA00"; + entry.filament_id = "GFA00"; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(bundle.filament_presets[2] == "Zzz PLA"); + // The exact-id preset outranks the type-only "Aaa PLA"; the re-point is reported. + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PLA -> Zzz PLA"); + } + + SECTION("a family-only entry picks an unused preset of that family") { + Preset &petg = add_inmemory_preset(bundle.filaments, "Bbb PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + entry.filament_type = "PETG"; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + // The family pick lands on the only PETG preset (the PLA presets and the receiver's own + // material lose), and the re-point is reported. + CHECK(bundle.filament_presets[2] == "Bbb PETG"); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PLA -> Bbb PETG"); + } +} + +// The GUI displays the edited preset, a snapshot of the selected collection preset taken at +// selection time. Since the overlay mutates the collection presets in place, the load must +// re-select the first slot's filament so the applied values - and slot replacements - surface +// in the GUI. +TEST_CASE("Published 3MF refreshes the edited preset so the applied material values surface", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9 }; + return config; + }; + auto make_entry = [] { + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + return entry; + }; + + SECTION("the edited preset carries the applied colour and keys") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PLA" }; + // Mirror the GUI: the displayed preset is the collection's edited preset. + REQUIRE(bundle.filaments.select_preset_by_name("My PLA", false)); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_entry() }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + const Preset &edited = bundle.filaments.get_edited_preset(); + // The slot references the edited preset, so the overlay lands on the edited layer: + // visible as a modification while the stored preset stays untouched. + CHECK(edited.name == "My PLA"); + CHECK(edited.config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(edited.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#123456" }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + // The overlay is a visible, revertible modification of the edited preset. + CHECK(bundle.filaments.current_is_dirty()); + CHECK(pub.skipped_keys.empty()); + } + + SECTION("a slot replacement is reflected in the edited preset") { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &abs = add_inmemory_preset(bundle.filaments, "My ABS"); + abs.config.opt_string("filament_type", 0u) = "ABS"; + abs.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.3 }; + bundle.filament_presets = { "My PLA" }; + REQUIRE(bundle.filaments.select_preset_by_name("My PLA", false)); + + PublishedMaterialEntry entry = make_entry(); + entry.publish_type_value = "ABS"; // mismatch: replaced by the library's ABS + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets[0] == "My ABS"); + // The edited preset now displays the replacement with the author's values on top. + const Preset &edited = bundle.filaments.get_edited_preset(); + CHECK(edited.name == "My ABS"); + CHECK(edited.config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(edited.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + } +} + +// The overlay lands on the edited layer when the slot references the collection's edited +// preset, so the user's unsaved in-memory edits on it survive a published load (only the +// published keys are touched) and the change shows as a visible, revertible modification. +TEST_CASE("Published 3MF preserves unsaved edits on the edited filament preset", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_z_hop", true)->values = { 0.1 }; + bundle.filament_presets = { "My PLA" }; + REQUIRE(bundle.filaments.select_preset_by_name("My PLA", false)); + + // The user has unsaved in-memory edits on the preset being shown. + bundle.filaments.get_edited_preset().config.opt<ConfigOptionFloatsNullable>("filament_z_hop")->values = { 0.7 }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Published values land on the edited layer... + const Preset &edited = bundle.filaments.get_edited_preset(); + CHECK(edited.name == "My PLA"); + CHECK(edited.config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(edited.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + // ...the user's unsaved edit on a non-published key survives... + check_double_vector(edited.config.opt<ConfigOptionFloatsNullable>("filament_z_hop")->values, { 0.7 }); + // ...and the stored preset is untouched. + Preset *stored = bundle.filaments.find_preset("My PLA", false, true); + REQUIRE(stored != nullptr); + CHECK(stored->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#123456" }); + check_double_vector(stored->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.5 }); + check_double_vector(stored->config.opt<ConfigOptionFloatsNullable>("filament_z_hop")->values, { 0.1 }); + // The overlay is a visible, revertible modification of the edited preset. + CHECK(bundle.filaments.current_is_dirty()); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.material_replacements.empty()); +} + +// The published overlay must validate '#' variant indices: an out-of-range index is reported as +// skipped and must NOT resize/corrupt the receiver's vector, and a variant suffix on a scalar +// key is rejected instead of silently no-op'd. +TEST_CASE("Published 3MF rejects out-of-range vector variants and variant-suffixed scalar keys", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + // Vector key, size 2 (matches the receiver's resized vector); distinct values make the + // applied element observable. + config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values = { 140., 150. }; + config.opt_float("layer_height") = 0.28; + Preset::normalize(config); + + PresetBundle bundle; + bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values = { 10., 20. }; + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.1; + + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "wiping_volumes_extruders#5", "wiping_volumes_extruders#1", "wiping_volumes_extruders#abc", "layer_height#0" }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // In-range variant applied element-wise; the out-of-range one did not resize the vector. + check_double_vector(bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values, { 10., 150. }); + CHECK(bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values.size() == 2); + // Out-of-range variant, malformed variant and variant-suffixed scalar are reported as + // skipped; the malformed one must not fall back to element 0. + CHECK(contains_key(pub.skipped_keys, "wiping_volumes_extruders#5")); + CHECK(contains_key(pub.skipped_keys, "wiping_volumes_extruders#abc")); + CHECK(contains_key(pub.skipped_keys, "layer_height#0")); + CHECK_FALSE(contains_key(pub.skipped_keys, "wiping_volumes_extruders#1")); + // The scalar was never applied. + CHECK_THAT(bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.1, 0.000001)); +} + +// The print/printer overlay guards option types like the material pass does: a published key +// whose file-side option kind differs from the receiver's is reported as skipped instead of +// throwing ConfigurationError out of load_config_model, which would abort the whole project +// load. (Nullable variants share the type() of their non-nullable base, so this covers +// genuinely different option kinds - e.g. a string where a float vector is expected.) +TEST_CASE("Published 3MF reports type-mismatched keys as skipped instead of aborting", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + // The file carries the vector key as a string option (equal size to the receiver's)... + config.set_key_value("wiping_volumes_extruders", new ConfigOptionStrings({ "140", "150" })); + config.opt_float("layer_height") = 0.28; + + PresetBundle bundle; + // ...while the receiver's edited print preset holds the float variant of the same key: + // without the type guard, ConfigOptionVector::set() throws ConfigurationError out of + // load_config_model. + bundle.prints.get_edited_preset().config.set_key_value("wiping_volumes_extruders", new ConfigOptionFloats({ 10., 20. })); + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.1; + + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "wiping_volumes_extruders", "layer_height" }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The load completes; the type-mismatched key is reported as skipped and the receiver's + // value is untouched; the matching scalar key still applies. + CHECK(contains_key(pub.skipped_keys, "wiping_volumes_extruders")); + check_double_vector(bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values, { 10., 20. }); + CHECK_THAT(bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.28, 0.000001)); + CHECK_FALSE(contains_key(pub.skipped_keys, "layer_height")); +} + +// A receiver filament preset missing its material identity (hand-edited file) must not crash +// the type gate: the gate reads it as a type mismatch, and the slot falls back to the +// "no replacement" path (keys skipped, colour still applied to the slot's preset). +TEST_CASE("Published 3MF survives a receiver preset missing its material identity", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9 }; + Preset::normalize(config); + + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + // Malformed receiver preset: the identity options are missing entirely. + pla.config.erase("filament_type"); + pla.config.erase("filament_vendor"); + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry entry; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.filament_id = "GFL99"; + entry.slot = 0; + entry.publish_type = true; // exercises the type gate against the missing identity + // Require ABS: the receiver library (PLA-typed default preset, typeless slot preset) has no + // ABS candidate, so the gate falls into the "no replacement" path (a PLA requirement would + // legitimately replace the slot with the visible PLA default). + entry.publish_type_value = "ABS"; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The gate reads the missing identity as a type mismatch; no same-type replacement exists, + // so the keys are skipped while the colour applies to the slot's preset in place. No crash. + CHECK(contains_key(pub.skipped_keys, "material:GFL99 (filament_retraction_length)")); + CHECK(bundle.filament_presets[0] == "My PLA"); + Preset *mine_preset = bundle.filaments.find_preset("My PLA", false, true); + REQUIRE(mine_preset != nullptr); + CHECK(mine_preset->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); +} + +// Lock the exact contents and order of the printer allowlist (the union of the tab's +// "Retraction" and "Z-Hop" optgroup lists, Tab.cpp). +TEST_CASE("Printer publishable allowlist matches the printer tab's Retraction and Z-Hop optgroups", "[Preset][Bundle][Published]") +{ + auto keys_of = [](const std::vector<PublishablePrinterOption>& opts) { + std::vector<std::string> keys; + keys.reserve(opts.size()); + for (const PublishablePrinterOption& opt : opts) + keys.emplace_back(opt.key); + return keys; + }; + + const std::vector<std::string> expected_retraction = { + "retraction_length", "retract_restart_extra", "retraction_speed", "deretraction_speed", + "retraction_minimum_travel", "retract_when_changing_layer", "wipe", "wipe_distance", + "retract_before_wipe", "retract_after_wipe" + }; + const std::vector<std::string> expected_z_hop = { + "retract_lift_enforce", "z_hop_types", "z_hop", "travel_slope", "retract_lift_above", + "retract_lift_below" + }; + + CHECK(keys_of(publishable_printer_retraction_options()) == expected_retraction); + CHECK(keys_of(publishable_printer_z_hop_options()) == expected_z_hop); + + std::set<std::string> expected_union(expected_retraction.begin(), expected_retraction.end()); + expected_union.insert(expected_z_hop.begin(), expected_z_hop.end()); + CHECK(publishable_printer_keys() == expected_union); +} + +// Loading the same published file twice must not compound values on the receiver's presets: +// each load re-applies the same absolute values, so the result is idempotent. +TEST_CASE("Published 3MF reloading does not compound values on the receiver's presets", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.9 }; + return config; + }; + auto make_entry = [] { + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_color = true; + entry.color = "#ABCDEF"; + entry.keys = { "filament_retraction_length" }; + return entry; + }; + + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + pla.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PLA" }; + + auto load = [&] { + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_entry() }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + }; + load(); + // First load: the receiver's preset carries the published values (mutated in place). + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + load(); + // Each load re-applies the same values onto the (already mutated) preset: no accumulation. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == std::vector<std::string>{ "#ABCDEF" }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); +} + +// A receiver with several slots aliasing the same preset (multi-extruder profile with one +// filament) and an author publishing keys on several slots: each published slot is re-pointed +// at its own distinct preset so values never leak between slots. +TEST_CASE("Published 3MF gives each published slot its own preset on an aliased receiver", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6, 0.9, 1.2, 1.5 }; + return config; + }; + auto make_key_entry = [](int slot) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.keys = { "filament_retraction_length" }; + return entry; + }; + + // A 4-extruder receiver with a single filament preset: the slots alias [A, A, A, A] before + // the published pass. + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + mine.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + // Spare library presets for the re-pointing to fall back on. + for (const char *name : { "Extra PLA A", "Extra PLA B", "Extra PLA C" }) { + Preset &extra = add_inmemory_preset(bundle.filaments, name); + extra.config.opt_string("filament_type", 0u) = "PLA"; + extra.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + } + bundle.filament_presets = { "My PLA", "My PLA", "My PLA", "My PLA" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_key_entry(0), make_key_entry(1), make_key_entry(2), make_key_entry(3) }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 4); + // Every published slot references its own distinct preset: slot 0 keeps the receiver's + // material, slots 1-3 are re-pointed at the spare library presets. + CHECK(bundle.filament_presets[0] == "My PLA"); + CHECK(bundle.filament_presets[1] != bundle.filament_presets[0]); + CHECK(bundle.filament_presets[2] != bundle.filament_presets[0]); + CHECK(bundle.filament_presets[2] != bundle.filament_presets[1]); + CHECK(bundle.filament_presets[3] != bundle.filament_presets[0]); + CHECK(bundle.filament_presets[3] != bundle.filament_presets[1]); + CHECK(bundle.filament_presets[3] != bundle.filament_presets[2]); + // Each slot's stored preset carries its own slot's retraction (mutated in place). + const std::vector<double> expected = { 0.6, 0.9, 1.2, 1.5 }; + for (size_t slot = 0; slot < 4; ++slot) { + Preset *preset = bundle.filaments.find_preset(bundle.filament_presets[slot], false, true); + REQUIRE(preset != nullptr); + check_double_vector(preset->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { expected[slot] }); + } + CHECK(pub.skipped_keys.empty()); +} + +// De-aliasing runs on the exported identity even without a checked Type row: the re-pointed +// slot lands on the exact published material (by filament_id) rather than an arbitrary spare, +// and the formerly silent re-point is surfaced through the replacements notification list. +TEST_CASE("Published 3MF de-aliases an aliased slot by published identity without a type requirement", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard", "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99" }; + config.option<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6, 0.9 }; + + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + mine.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + // A spare sorting before the exact match: an unconstrained pick would take it. + Preset &spare = add_inmemory_preset(bundle.filaments, "Aaa PLA"); + spare.config.opt_string("filament_type", 0u) = "PLA"; + spare.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &match = add_inmemory_preset(bundle.filaments, "Zzz PLA"); + match.config.opt_string("filament_type", 0u) = "PLA"; + match.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + match.filament_id = "GFA00"; + bundle.filament_presets = { "My PLA", "My PLA" }; + + PublishedMaterialEntry entry; + entry.slot = 1; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.filament_id = "GFA00"; + entry.keys = { "filament_retraction_length" }; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 2); + CHECK(bundle.filament_presets[0] == "My PLA"); + CHECK(bundle.filament_presets[1] == "Zzz PLA"); + // The published key was written onto the re-pointed slot's own preset. + Preset *target = bundle.filaments.find_preset("Zzz PLA", false, true); + REQUIRE(target != nullptr); + check_double_vector(target->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, { 0.9 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 1: My PLA -> Zzz PLA"); + CHECK(pub.skipped_keys.empty()); +} + +// Printer retraction keys are published per-extruder ("#N"): a receiver with a different +// extruder count still receives the in-range elements; out-of-range variants are reported as +// skipped instead of corrupting the receiver's vector. +TEST_CASE("Published 3MF applies per-extruder printer keys across extruder-count mismatches", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + // Author has 4 extruders. + config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.6, 0.9, 1.2, 1.5 }; + Preset::normalize(config); + return config; + }; + + // Receiver with a single extruder: only "#0" is in range; "#1..#3" are skipped. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#0", "retraction_length#1", "retraction_length#2", "retraction_length#3" }; + DynamicPrintConfig config = make_file_config(); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.6 }); + CHECK(contains_key(pub.skipped_keys, "retraction_length#1")); + CHECK(contains_key(pub.skipped_keys, "retraction_length#2")); + CHECK(contains_key(pub.skipped_keys, "retraction_length#3")); + CHECK_FALSE(contains_key(pub.skipped_keys, "retraction_length#0")); + } + + // Receiver with four extruders and a 1-extruder author: only "#0" is published; the + // receiver's other extruders keep their own values. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8, 0.8, 0.8, 0.8 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#0" }; + DynamicPrintConfig config = make_file_config(); + // The author's file carries a single-extruder value. + config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.7 }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.7, 0.8, 0.8, 0.8 }); + CHECK(pub.skipped_keys.empty()); + } +} + +// A published mixed filament serializes its definition (components, ratios, gradient) into the +// receiver's project_config - the project-level parallel arrays, not a filament preset. The +// mix's own blended colour is carried as publish_color so the receiver renders the swatch. +TEST_CASE("Published 3MF applies a mixed filament definition onto the receiver's project config", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // Three author slots: two physical PLA/PETG plus one virtual mixed slot (index 2) + // blending slots 1 and 2 at 60/40 with a gradient. + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#0000FF", "#800080" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFT99", "GFL99" }; + // The mixed slot's definition. These keys are project-level arrays in the full config; + // on export they are masked so only the published slot's entry survives. + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "1,2" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "0.6,0.4" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient")->values = { 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values = { "", "", "0.9,0.1" }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values = { "", "", "0,0.1|1,0.9" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = { 0, 0, 1 }; + return config; + }; + + // A receiver that already carries the mix slot at index 2 as an actual mixed slot (e.g. a + // two-physical-plus-one-mix project with the same layout): the incoming definition is a + // like-for-like override of the virtual slot and applies in place without relocation. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + bundle.filament_presets = { "My PLA", "My PETG", "My PLA" }; + + // Grow the receiver's project arrays to 3 slots first, as set_num_filaments would, + // then mark the third slot as the receiver's own mixed filament. + bundle.set_num_filaments(3); + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[2] = 1; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] = "1,1"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] = "0.5,0.5"; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.filament_id = "GFL99"; + mix.slot = 2; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The definition landed in project_config's parallel arrays at the author slot. + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 3); + CHECK(is_mixed[2]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 3); + CHECK(components[2] == "1,2"); + const auto &ratios = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values; + REQUIRE(ratios.size() == 3); + CHECK(ratios[2] == "0.6,0.4"); + const auto &gradient = bundle.project_config.opt<ConfigOptionBools>("filament_mixed_gradient")->values; + CHECK(gradient[2]); + const auto &range = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values; + CHECK(range[2] == "0.9,0.1"); + const auto &curve = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values; + CHECK(curve[2] == "0,0.1|1,0.9"); + const auto &per_part = bundle.project_config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values; + CHECK(per_part[2]); + // The mix's blended colour crossed into project_config for the swatch. + const auto &colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + REQUIRE(colour.size() == 3); + CHECK(colour[2] == "#800080"); + // The other slots were not overwritten by the mask. + CHECK_FALSE(is_mixed[0]); + CHECK_FALSE(is_mixed[1]); + // Nothing skipped: every serialized mixed key was applied. + CHECK(pub.skipped_keys.empty()); + // Like-for-like override: no slot was relocated. + CHECK(pub.material_replacements.empty()); + } + + // A receiver with fewer slots: the slot is grown and seeded before the definition applies. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA" }; + + PublishedMaterialEntry mix; + mix.slot = 2; + mix.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 3); + CHECK(is_mixed[2]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 3); + CHECK(components[2] == "1,2"); + CHECK(pub.skipped_keys.empty()); + } +} + +// A published mixed filament whose definition cannot be applied is reported as skipped instead +// of aborting the load: the entry lists a mixed key that the file's payload does not carry. +TEST_CASE("Published 3MF reports an unappliable mixed filament definition as skipped", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA" }; + + // Two author slots (so slot 1 is in range) but the payload omits the mixed arrays: the + // entry lists them, the file config does not. + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75 }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic" }; + + PublishedMaterialEntry mix; + mix.slot = 1; + mix.keys = { "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The receiver grows to two slots; the missing payload keys are reported as skipped rather + // than dropped silently (material_label is empty for this entry). + REQUIRE(bundle.filament_presets.size() == 2); + CHECK(contains_key(pub.skipped_keys, "material: (filament_mixed_components)")); + CHECK(contains_key(pub.skipped_keys, "material: (filament_mixed_sublayer_ratios)")); +} + +// A published mixed filament must never convert one of the receiver's real, physical slots +// into a virtual mix: definitions that collide with a physical slot are relocated past every +// positional (real-filament) destination, while ones colliding with an existing mixed slot +// override it in place. +TEST_CASE("Published 3MF relocates a mixed filament instead of overwriting a physical slot", "[Preset][Bundle][Published]") +{ + // An author project with <num_author_slots> slots whose last slot is a mixed filament. + auto make_file_config = [](size_t num_author_slots, size_t num_tail_mixes = 1) { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + std::vector<double> diameters(num_author_slots, 1.75); + std::vector<int> self_index; + std::vector<std::string> variants; + std::vector<std::string> types; + for (size_t i = 0; i < num_author_slots; ++i) { + self_index.push_back(int(i + 1)); + variants.emplace_back("Direct Drive Standard"); + types.push_back(i % 2 == 0 ? "PLA" : "PETG"); + } + config.opt<ConfigOptionFloats>("filament_diameter")->values = diameters; + config.opt<ConfigOptionInts>("filament_self_index")->values = self_index; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = variants; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00AA00", "#0000FF", "#FFFF00", "#800080" }; + config.opt<ConfigOptionStrings>("filament_colour")->values.resize(num_author_slots, "#808080"); + config.opt<ConfigOptionStrings>("filament_type")->values = types; + config.opt<ConfigOptionStrings>("filament_vendor")->values.assign(num_author_slots, "Generic"); + config.opt<ConfigOptionStrings>("filament_ids")->values.resize(num_author_slots); + // The last <num_tail_mixes> author slots are mixed ones (components differ per slot so + // the definitions are distinguishable after relocation). + const size_t first_mix_slot = num_author_slots - num_tail_mixes; + config.opt<ConfigOptionBools>("filament_is_mixed")->values.assign(num_author_slots, 0); + config.opt<ConfigOptionStrings>("filament_mixed_components")->values.assign(num_author_slots, ""); + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values.assign(num_author_slots, ""); + for (size_t i = first_mix_slot; i < num_author_slots; ++i) { + config.opt<ConfigOptionBools>("filament_is_mixed")->values[i] = 1; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values[i] = + i % 2 == 0 ? std::string("1,2") : std::string("1,3"); + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[i] = + i % 2 == 0 ? std::string("0.6,0.4") : std::string("0.3,0.7"); + } + return config; + }; + + // The reported bug: an author publishes with physical filaments on slots 1-2 and a mixed + // filament on slot 5; the receiver runs five real filaments of his own. Slot 5 must stay + // untouched and the mix lands as a newly appended virtual slot 6. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(5, "#123456"); + const std::vector<std::string> receiver_colours = + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.slot = 4; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(5); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The receiver grew by exactly one extra virtual slot. + REQUIRE(bundle.filament_presets.size() == 6); + // All five physical slots kept their meaning: no mixed flag, untouched names/colours. + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 6); + CHECK_FALSE(is_mixed[0]); + CHECK_FALSE(is_mixed[1]); + CHECK_FALSE(is_mixed[2]); + CHECK_FALSE(is_mixed[3]); + CHECK_FALSE(is_mixed[4]); + CHECK(is_mixed[5]); + CHECK(std::equal(receiver_colours.begin(), receiver_colours.end(), + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values.begin())); + CHECK(bundle.filament_presets[0] == "My PLA"); + CHECK(bundle.filament_presets[4] == "My PLA"); + // The definition itself is readable at the new index. + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 6); + CHECK(components[5] == "1,2"); + const auto &ratios = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values; + REQUIRE(ratios.size() == 6); + CHECK(ratios[5] == "0.6,0.4"); + // The blended colour seeds the swatch of the new slot only. + const auto &colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + REQUIRE(colour.size() == 6); + CHECK(colour[5] == "#800080"); + // The relocation is surfaced to the user through the post-import notice (the de-alias + // pass may contribute further messages, so presence is asserted, not the count). + bool relocated_reported = false; + for (const std::string &message : pub.material_replacements) + if (message.find("slot 4 -> slot 5") != std::string::npos) + relocated_reported = true; + CHECK(relocated_reported); + CHECK(pub.skipped_keys.empty()); + } + + // A definition colliding with the receiver's own mixed filament is overridden in place: + // nothing grows, nothing is reported as moved. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(3); + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[2] = 1; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] = "1,1"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] = "0.9,0.1"; + + PublishedMaterialEntry mix; + mix.slot = 2; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(3); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets.size() == 3); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 3); + CHECK_FALSE(is_mixed[0]); + CHECK_FALSE(is_mixed[1]); + CHECK(is_mixed[2]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 3); + CHECK(components[2] == "1,2"); + const auto &ratios = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values; + REQUIRE(ratios.size() == 3); + CHECK(ratios[2] == "0.6,0.4"); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.material_replacements.empty()); + } + + // Author publishes four physical filaments plus two mixed ones on slots 5 and 6; the + // receiver runs five real filaments. Both mixes relocate onto consecutive fresh slots, + // preserving their author order (slot 5 -> slot 6, slot 6 -> slot 7); no receiver slot is + // converted into a virtual mix. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(5, "#123456"); + const std::vector<std::string> receiver_colours = + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + + auto make_mix_entry = [](int authored_slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = authored_slot; + entry.publish_color = true; + entry.color = color; + entry.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + return entry; + }; + PublishedMaterialEntry mix_a = make_mix_entry(4, "#800080"); + PublishedMaterialEntry mix_b = make_mix_entry(5, "#FF69B4"); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix_a, mix_b }; + DynamicPrintConfig config = make_file_config(6, 2); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Two fresh virtual slots were appended. + REQUIRE(bundle.filament_presets.size() == 7); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 7); + for (size_t i = 0; i < 5; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[5]); + CHECK(is_mixed[6]); + // The definitions follow their author order. + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 7); + CHECK(components[5] == "1,2"); + CHECK(components[6] == "1,3"); + const auto &ratios = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values; + REQUIRE(ratios.size() == 7); + CHECK(ratios[5] == "0.6,0.4"); + CHECK(ratios[6] == "0.3,0.7"); + // The five real slots kept their colours; each mix's blended colour seeded its new slot. + const auto &colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + REQUIRE(colour.size() == 7); + CHECK(std::equal(receiver_colours.begin(), receiver_colours.end(), colour.begin())); + CHECK(colour[5] == "#800080"); + CHECK(colour[6] == "#FF69B4"); + // Both relocations are reported with the correct mapping. + bool a_reported = false, b_reported = false; + for (const std::string &message : pub.material_replacements) { + if (message.find("slot 4 -> slot 5") != std::string::npos) + a_reported = true; + if (message.find("slot 5 -> slot 6") != std::string::npos) + b_reported = true; + } + CHECK(a_reported); + CHECK(b_reported); + CHECK(pub.skipped_keys.empty()); + // The relocation table is exposed for the model-reference remapping. + REQUIRE(pub.mixed_slot_relocations.size() == 2); + CHECK(pub.mixed_slot_relocations.at(4) == 5); + CHECK(pub.mixed_slot_relocations.at(5) == 6); + } +} + +// A receiver that already owns a MIXED filament must keep the physical-first invariant after a +// published-3MF import: when incoming physical filaments would land on (or ahead of) the +// receiver's mixed slot, that mix is displaced to a fresh tail slot instead of being left +// interleaved with them (the R,M,R bug). +TEST_CASE("Published 3MF relocates the receiver's mixed filament past the incoming physical slots", "[Preset][Bundle][Published]") +{ + // Build the receiver's tool-changer with three slots, the third being the receiver's own + // mixed filament. A SEMM (single_extruder_multi_material) receiver sizes its slot list by + // hand, so a lower slot count than the printer's nozzle count is preserved on load - a + // non-SEMM tool-changer would top the preset list up to the nozzle count and shift the + // expected sizes (the rebalance logic under test is the same either way). + auto make_receiver = [](PresetBundle &bundle, const std::string &components, const std::string &ratios) { + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(3, "#123456"); + bundle.printers.get_edited_preset().config.opt<ConfigOptionBool>("single_extruder_multi_material", true)->value = true; + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[2] = 1; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] = components; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] = ratios; + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[2] = "#800080"; + bundle.project_config.opt<ConfigOptionStrings>("filament_multi_colour")->values[2] = "#800080"; + }; + auto make_real_entry = [](int slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.publish_color = true; + entry.color = color; + return entry; + }; + // A four-physical author project with no mixed slots (colour publish only), as in the + // reported Ferrari reference file. + auto make_config_4_real = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#000000", "#FFFFFF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + return config; + }; + + // [R, R, M] + four colour-only physical slots at authored 0..3 -> [R, R, R, R, M]. + { + PresetBundle bundle; + make_receiver(bundle, "1,2", "0.5,0.5"); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_real_entry(0, "#FF0000"), make_real_entry(1, "#000000"), + make_real_entry(2, "#FFFFFF"), make_real_entry(3, "#FFFF00") }; + DynamicPrintConfig config = make_config_4_real(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The receiver grows by one extra virtual slot; the mix lands at the tail. + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + for (size_t i = 0; i < 4; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[4]); + // The definition travelled with its swatch colour; the vacated slot 2 became physical. + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 5); + CHECK(components[4] == "1,2"); + CHECK(components[2].empty()); + const auto &colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + REQUIRE(colour.size() == 5); + CHECK(colour[4] == "#800080"); + CHECK(colour[2] == "#FFFFFF"); + CHECK(pub.mixed_slot_relocations.at(2) == 4); + bool relocated_reported = false; + for (const std::string &message : pub.material_replacements) + if (message.find("slot 2 -> slot 4") != std::string::npos && + message.find("mixed filament") != std::string::npos) + relocated_reported = true; + CHECK(relocated_reported); + CHECK(pub.skipped_keys.empty()); + } + + // [R, R, M] plus a payload mix authored at slot 3: the receiver mix (displaced to slot 3) sits + // ahead of the appended payload mix (slot 4), preserving physical-first tail ordering. + { + PresetBundle bundle; + make_receiver(bundle, "1,2", "0.5,0.5"); + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#000000", "#0000FF", "#800080" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + // Authored slot 3 is a payload mixed definition blending slots 1 and 3. + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "", "1,3" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "", "0.6,0.4" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient")->values = { 0, 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values = { "", "", "", "0.9,0.1" }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values = { "", "", "", "0,0.1|1,0.9" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = { 0, 0, 0, 1 }; + + PublishedMaterialEntry mix; + mix.slot = 3; + mix.filament_type = "PLA"; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios", + "filament_mixed_gradient", "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_real_entry(0, "#FF0000"), make_real_entry(1, "#000000"), + make_real_entry(2, "#0000FF"), mix }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + CHECK_FALSE(is_mixed[0]); + CHECK_FALSE(is_mixed[1]); + CHECK_FALSE(is_mixed[2]); + CHECK(is_mixed[3]); // receiver's mix, displaced to slot 3 first + CHECK(is_mixed[4]); // payload's mix, appended after + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 5); + CHECK(components[3] == "1,2"); + CHECK(components[4] == "1,3"); + REQUIRE(pub.mixed_slot_relocations.size() == 2); + CHECK(pub.mixed_slot_relocations.at(2) == 3); + CHECK(pub.mixed_slot_relocations.at(3) == 4); + CHECK(pub.skipped_keys.empty()); + } +} + +// Multiple receiver mixed slots interleaved with multiple incoming physical slots all rebalance +// onto consecutive tail slots in index order (no cascade/overlap). +TEST_CASE("Published 3MF rebalances several receiver mixed slots past the physical region", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(3, "#123456"); + bundle.printers.get_edited_preset().config.opt<ConfigOptionBool>("single_extruder_multi_material", true)->value = true; + // Receiver: slot 1 and slot 2 are mixed. + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[1] = 1; + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[2] = 1; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[1] = "1,2"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] = "1,3"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[1] = "0.5,0.5"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] = "0.4,0.6"; + + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00AA00", "#0000FF" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99" }; + + auto make_real_entry = [](int slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.publish_color = true; + entry.color = color; + return entry; + }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_real_entry(0, "#FF0000"), make_real_entry(1, "#00AA00"), make_real_entry(2, "#0000FF") }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + for (size_t i = 0; i < 3; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[3]); + CHECK(is_mixed[4]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 5); + CHECK(components[3] == "1,2"); + CHECK(components[4] == "1,3"); + REQUIRE(pub.mixed_slot_relocations.size() == 2); + CHECK(pub.mixed_slot_relocations.at(1) == 3); + CHECK(pub.mixed_slot_relocations.at(2) == 4); + CHECK(pub.skipped_keys.empty()); +} + +// The receiver's printer gates how many PHYSICAL filament slots a published 3MF may add: a +// non-SEMM tool-changer feeds filament N from nozzle N, so a published slot past the nozzle +// count cannot become a physical filament. It becomes an empty mixed-filament placeholder +// instead - a virtual tail slot the GUI flags (broken mix) and the user fills with components +// from their own filaments. SEMM receivers keep the ungated behaviour. +TEST_CASE("Published 3MF turns a surplus slot past the printer's filament capacity into an empty mixed placeholder", "[Preset][Bundle][Published]") +{ + // An author project with <num_author_slots> physical slots, no mixed ones. + auto make_file_config = [](size_t num_author_slots) { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + std::vector<double> diameters(num_author_slots, 1.75); + std::vector<int> self_index; + std::vector<std::string> variants; + for (size_t i = 0; i < num_author_slots; ++i) { + self_index.push_back(int(i + 1)); + variants.emplace_back("Direct Drive Standard"); + } + config.opt<ConfigOptionFloats>("filament_diameter")->values = diameters; + config.opt<ConfigOptionInts>("filament_self_index")->values = self_index; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = variants; + config.opt<ConfigOptionStrings>("filament_colour")->values.resize(num_author_slots, "#808080"); + config.opt<ConfigOptionStrings>("filament_type")->values.assign(num_author_slots, "PLA"); + config.opt<ConfigOptionStrings>("filament_vendor")->values.assign(num_author_slots, "Generic"); + config.opt<ConfigOptionStrings>("filament_ids")->values.resize(num_author_slots); + return config; + }; + // A non-SEMM receiver with <nozzles> nozzles running <slots> copies of one preset. + auto make_receiver = [](PresetBundle &bundle, size_t nozzles, size_t slots) { + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets.assign(slots, "My PLA"); + bundle.set_num_filaments(slots, "#123456"); + auto &printer_config = bundle.printers.get_edited_preset().config; + printer_config.opt<ConfigOptionBool>("single_extruder_multi_material", true)->value = false; + printer_config.opt<ConfigOptionFloats>("nozzle_diameter", true)->values.assign(nozzles, 0.4); + }; + auto make_physical_entry = [](int slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.publish_color = true; + entry.color = color; + return entry; + }; + + // The reported case: an author publishes with a filament on slot 5; the receiver is a + // 4-filament tool-changer. The receiver keeps its four physical slots and the surplus + // material lands as an empty mixed placeholder at the tail. + { + PresetBundle bundle; + make_receiver(bundle, 4, 4); + const std::vector<std::string> receiver_colours = + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(4, "#ABCDEF") }; + DynamicPrintConfig config = make_file_config(5); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The receiver grew by exactly one virtual slot, not a fifth physical one. + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + for (size_t i = 0; i < 4; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[4]); + // The placeholder carries no definition: the GUI's integrity check flags it and + // blocks slicing until the user assigns components. + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 5); + CHECK(components[4].empty()); + // The four physical slots kept their meaning and colours. + CHECK(std::equal(receiver_colours.begin(), receiver_colours.end(), + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values.begin())); + CHECK(bundle.filament_presets[0] == "My PLA"); + CHECK(bundle.filament_presets[3] == "My PLA"); + // The published colour seeds the placeholder's swatch. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[4] == "#ABCDEF"); + // The conversion is surfaced through the post-import notice. + bool placeholder_reported = false; + for (const std::string &message : pub.material_replacements) + if (message.find("unassigned mixed filament") != std::string::npos) + placeholder_reported = true; + CHECK(placeholder_reported); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.mixed_slot_relocations.empty()); + } + + // Two surplus slots (5 and 6) become two consecutive empty placeholders. + { + PresetBundle bundle; + make_receiver(bundle, 4, 4); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(4, "#ABCDEF"), make_physical_entry(5, "#F0F0F0") }; + DynamicPrintConfig config = make_file_config(6); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 6); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 6); + for (size_t i = 0; i < 4; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[4]); + CHECK(is_mixed[5]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 6); + CHECK(components[4].empty()); + CHECK(components[5].empty()); + const auto &colour = bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + REQUIRE(colour.size() == 6); + CHECK(colour[4] == "#ABCDEF"); + CHECK(colour[5] == "#F0F0F0"); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.mixed_slot_relocations.empty()); + } + + // A surplus slot past both the receiver's list and the capacity packs onto the next free + // tail slot (never max(authored, next_free), which would grow filler physical slots past + // the capacity), and the relocation is recorded for the model-reference remapping. + { + PresetBundle bundle; + make_receiver(bundle, 2, 2); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(3, "#ABCDEF") }; + DynamicPrintConfig config = make_file_config(4); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 3); + CHECK_FALSE(is_mixed[0]); + CHECK_FALSE(is_mixed[1]); + CHECK(is_mixed[2]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 3); + CHECK(components[2].empty()); + REQUIRE(pub.mixed_slot_relocations.size() == 1); + CHECK(pub.mixed_slot_relocations.at(3) == 2); + bool relocation_reported = false; + for (const std::string &message : pub.material_replacements) + if (message.find("slot 3 -> slot 2") != std::string::npos && + message.find("unassigned mixed filament") != std::string::npos) + relocation_reported = true; + CHECK(relocation_reported); + CHECK(pub.skipped_keys.empty()); + } + + // A Full Publish entry past the capacity becomes a placeholder too: no standalone + // detached copy is created for a material that got no physical slot. + { + PresetBundle bundle; + make_receiver(bundle, 4, 4); + + PublishedMaterialEntry entry = make_physical_entry(4, "#ABCDEF"); + entry.full = true; + entry.preset_name = "Generic PLA @System"; + entry.filament_id = "GFL99"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(5); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + CHECK(is_mixed[4]); + // No detached copy under the stripped name or its uniquified forms. + CHECK(bundle.filaments.find_preset("Generic PLA", false, true) == nullptr); + CHECK(bundle.filaments.find_preset("Generic PLA (Published)", false, true) == nullptr); + CHECK(pub.skipped_keys.empty()); + } + + // A SEMM receiver (the default printer preset) sizes its slot list by hand: the published + // slot past the nozzle count still grows physically, as before the capacity gate. + { + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(4, "#123456"); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(4, "#ABCDEF") }; + DynamicPrintConfig config = make_file_config(5); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + for (size_t i = 0; i < 5; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[4] == "#ABCDEF"); + CHECK(pub.skipped_keys.empty()); + } + + // A pre-existing oversized slot list is never shrunk: a published entry pointing at one + // of its slots is applied positionally even though the list exceeds the nozzle count. + { + PresetBundle bundle; + make_receiver(bundle, 4, 5); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(4, "#ABCDEF") }; + DynamicPrintConfig config = make_file_config(5); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + for (size_t i = 0; i < 5; ++i) + CHECK_FALSE(is_mixed[i]); + // The published colour reached the addressed slot's (shared) preset in place. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == + std::vector<std::string>{ "#ABCDEF" }); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[4] == "#ABCDEF"); + CHECK(pub.skipped_keys.empty()); + } + + // On a single-physical-slot receiver an empty mix could never be edited (the sidebar's + // mixed section needs two physical filaments), so the surplus entry is dropped and + // reported instead of becoming an unfixable placeholder. + { + PresetBundle bundle; + make_receiver(bundle, 1, 1); + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_physical_entry(1, "#ABCDEF") }; + DynamicPrintConfig config = make_file_config(2); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets.size() == 1); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 1); + CHECK_FALSE(is_mixed[0]); + REQUIRE(pub.skipped_keys.size() == 1); + CHECK(pub.skipped_keys.front().find("printer supports only 1") != std::string::npos); + } + + // A payload mixed definition is exempt from the capacity gate: mixes are virtual slots + // that consume no nozzle, so a published mix past the nozzle count still lands. + { + PresetBundle bundle; + make_receiver(bundle, 4, 4); + + PublishedMaterialEntry mix; + mix.slot = 4; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(5); + config.opt<ConfigOptionBools>("filament_is_mixed")->values.assign(5, 0); + config.opt<ConfigOptionStrings>("filament_mixed_components")->values.assign(5, ""); + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values.assign(5, ""); + config.opt<ConfigOptionBools>("filament_is_mixed")->values[4] = 1; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values[4] = "1,2"; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[4] = "0.6,0.4"; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 5); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 5); + CHECK(is_mixed[4]); + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 5); + CHECK(components[4] == "1,2"); + const auto &ratios = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values; + REQUIRE(ratios.size() == 5); + CHECK(ratios[4] == "0.6,0.4"); + CHECK(pub.skipped_keys.empty()); + } +} + +// A single-extruder receiver collapses the author's per-extruder printer slots onto its single +// slot: the first serialized variant of a base key is applied, the remaining variants of that +// base key are reported as skipped. +TEST_CASE("Published 3MF collapses a multi-extruder publish onto a single-extruder receiver", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + // Author has two extruders. + config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.6, 0.9 }; + config.opt<ConfigOptionFloats>("retraction_speed")->values = { 30.0, 40.0 }; + Preset::normalize(config); + return config; + }; + + // Both extruders published: the first serialized variant (#0, left) lands on the receiver's + // single slot; the second variant (#1) is reported as skipped. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8 }; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_speed")->values = { 25.0 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#0", "retraction_length#1", "retraction_speed#0", "retraction_speed#1" }; + DynamicPrintConfig config = make_file_config(); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.6 }); + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_speed")->values, { 30.0 }); + CHECK(contains_key(pub.skipped_keys, "retraction_length#1")); + CHECK(contains_key(pub.skipped_keys, "retraction_speed#1")); + CHECK_FALSE(contains_key(pub.skipped_keys, "retraction_length#0")); + CHECK_FALSE(contains_key(pub.skipped_keys, "retraction_speed#0")); + } + + // Only the second extruder published: the single-extruder receiver still applies it (the + // author's "right" is the only serialized slot) and reports nothing skipped. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#1" }; + DynamicPrintConfig config = make_file_config(); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.9 }); + CHECK(pub.skipped_keys.empty()); + } +} + +// A multi-extruder "similar setup" receiver overrides each published extruder slot element-wise +// (no collapsing): each '#N' variant applies to the matching receiver slot, out-of-range ones are +// reported as skipped. +TEST_CASE("Published 3MF overrides each extruder slot on a similar multi-extruder receiver", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00" }; + // Author has two extruders. + config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.6, 0.9 }; + Preset::normalize(config); + return config; + }; + + // Receiver with two extruders: both published slots override element-wise. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8, 0.8 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#0", "retraction_length#1" }; + DynamicPrintConfig config = make_file_config(); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.6, 0.9 }); + CHECK(pub.skipped_keys.empty()); + } + + // Receiver with three extruders: slots 0 and 1 override, slot 2 keeps its own value. + { + PresetBundle bundle; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values = { 0.8, 0.8, 0.7 }; + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "retraction_length#0", "retraction_length#1" }; + DynamicPrintConfig config = make_file_config(); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("retraction_length")->values, { 0.6, 0.9, 0.7 }); + CHECK(pub.skipped_keys.empty()); + } +} + // The nozzle-count top-up in update_multi_material_filament_presets() grows filament_presets on // its own, so a physical count derived from that list reports a slot no per-filament array has // yet. That is what made the extruder-count handler conclude there was nothing to add and leave @@ -1406,3 +4532,953 @@ TEST_CASE("Sizing down to the nozzle count plus mixes is what eats the mixed tai CHECK(bundle.project_config.option<ConfigOptionStrings>("filament_mixed_components")->values[5] == "1,2"); } } + +// After a published-3MF import relocated mixed-filament definitions, the freshly loaded +// model's slot references must follow: object/volume "extruder" configs and multi-material +// color-painting states (which store the one-based slot number) are re-pointed to where each +// definition landed; everything else keeps its state. +TEST_CASE("remap_model_filament_slots repoints extruder configs and color painting", "[Preset][Bundle][Published]") +{ + auto make_model = [] { + Model model; + ModelObject *object_a = model.add_object(); + object_a->name = "relocated mix"; + ModelVolume *vol_a = object_a->add_volume(make_cube(10., 10., 10.)); + vol_a->config.set_key_value("extruder", new ConfigOptionInt(5)); // author slot 5 (0-based 4) + // Author painted one facet with the mix (slot 5) and another with a physical (slot 2). + { + TriangleSelector selector(vol_a->mesh()); + selector.set_facet(0, EnforcerBlockerType(5)); + selector.set_facet(1, EnforcerBlockerType(2)); + vol_a->mmu_segmentation_facets.set_data(selector.serialize()); + } + // A second object that does not reference the relocated slot at all. Painted with a + // real, non-relocated state (NONE is never serialized: an unsplit triangle without a + // state is the unpainted default and is skipped by TriangleSelector::serialize()). + ModelObject *object_b = model.add_object(); + object_b->name = "untouched"; + object_b->config.set_key_value("extruder", new ConfigOptionInt(1)); + ModelVolume *vol_b = object_b->add_volume(make_cube(5., 5., 5.)); + vol_b->config.set_key_value("extruder", new ConfigOptionInt(2)); + { + TriangleSelector selector(vol_b->mesh()); + selector.set_facet(0, EnforcerBlockerType(2)); + vol_b->mmu_segmentation_facets.set_data(selector.serialize()); + } + return model; + }; + + const std::map<int, int> relocations = {{4, 5}}; + + Model model = make_model(); + Slic3r::remap_model_filament_slots(model, relocations); + + const ModelVolume *vol_a = model.objects[0]->volumes.front(); + CHECK(vol_a->config.extruder() == 6); // author slot 5 -> final slot 6 + // Painted states follow: the mix facet moved 5 -> 6, the physical one is untouched. + REQUIRE(TriangleSelector::has_facets(vol_a->mmu_segmentation_facets.get_data(), EnforcerBlockerType(6))); + REQUIRE_FALSE(TriangleSelector::has_facets(vol_a->mmu_segmentation_facets.get_data(), EnforcerBlockerType(5))); + CHECK(TriangleSelector::has_facets(vol_a->mmu_segmentation_facets.get_data(), EnforcerBlockerType(2))); + + const ModelVolume *vol_b = model.objects[1]->volumes.front(); + CHECK(vol_b->config.extruder() == 2); + // The untouched volume's paint (a non-relocated state) survives as-is. + CHECK(TriangleSelector::has_facets(vol_b->mmu_segmentation_facets.get_data(), EnforcerBlockerType(2))); + + // The mapping is applied simultaneously: each entry reads the original slot number, so + // relocating onto another relocated-from slot number must not chase chains. With the + // 0-based relocations {3->4, 4->6} the 1-based config map is {4->5, 5->7}: a volume on + // 1-based slot 4 lands on 5 and does NOT continue to 7. + Model chained = make_model(); + chained.objects[0]->volumes.front()->config.set_key_value("extruder", new ConfigOptionInt(4)); + Slic3r::remap_model_filament_slots(chained, std::map<int, int>{{3, 4}, {4, 6}}); + CHECK(chained.objects[0]->volumes.front()->config.extruder() == 5); + // The chained model's paint follows its own single-step mapping: painted state 5 -> 7, + // and nothing lands back on 5. + CHECK(TriangleSelector::has_facets(chained.objects[0]->volumes.front()->mmu_segmentation_facets.get_data(), + EnforcerBlockerType(7))); + CHECK_FALSE(TriangleSelector::has_facets(chained.objects[0]->volumes.front()->mmu_segmentation_facets.get_data(), + EnforcerBlockerType(5))); +} + +// The slot ceiling (EnforcerBlockerType::ExtruderMax) is what the color-painting encoding can +// address, so a mixed filament that does not fit must be dropped and reported instead of being +// forced onto one of the receiver's physical filaments. +TEST_CASE("Published 3MF drops a mixed filament that does not fit the slot limit and reports it", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA" }; + // A receiver already at the format's slot ceiling. + bundle.set_num_filaments(unsigned(EnforcerBlockerType::ExtruderMax), "#123456"); + const std::vector<std::string> receiver_colours = + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.slot = int(EnforcerBlockerType::ExtruderMax) + 6; // beyond the ceiling + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // Nothing grew and no slot became a virtual mix. + REQUIRE(bundle.filament_presets.size() == size_t(EnforcerBlockerType::ExtruderMax)); + for (size_t i = 0; i < bundle.filament_presets.size(); ++i) + CHECK_FALSE(bundle.is_mixed_filament(i)); + // The receiver's colours were not touched. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values == receiver_colours); + // The mix was reported instead of being applied. + REQUIRE(contains_key(pub.skipped_keys, "material:PLA (mixed filament definition: filament slot limit reached)")); + CHECK(pub.material_replacements.empty()); +} + +// The publish dialog can only produce definitions whose components reference existing physical +// slots, so a payload whose components point at slots that do not exist (or at another mixed +// slot) or that carries fewer than two components is broken. The load reports it through the +// same channel as every other rejected input instead of shipping a mix the GUI integrity check +// would only flag later. +TEST_CASE("Published 3MF rejects a mixed filament definition with impossible components", "[Preset][Bundle][Published]") +{ + // A two-physical-plus-one-mix author file; the definition under test sits on slot 2. + auto make_file_config = [](const std::string &components) { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#0000FF", "#800080" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", components }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "0.6,0.4" }; + return config; + }; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.filament_id = "GFL99"; + mix.slot = 2; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + + for (const char *components : { "1,4", "1,3", "1" }) { + // The claimed components: "1,4" names a slot past the final count, "1,3" names the mix + // slot itself (1-based), "1" is not enough components to blend. + INFO("components = " << components); + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + bundle.filament_presets = { "My PLA" }; + + mix.keys = { "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios" }; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = make_file_config(components); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The definition was rejected, not applied: the grown slot is finalized as an empty + // mixed placeholder instead of keeping the seeded preset and masquerading as a real + // filament. + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.is_mixed_filament(2)); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2].empty()); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2].empty()); + // Reported through the shared rejection channel. + if (std::string(components) == "1") + CHECK(contains_key(pub.skipped_keys, "material:GFL99 (mixed filament definition: needs at least two components)")); + else + CHECK(contains_key(pub.skipped_keys, "material:GFL99 (mixed filament definition: components reference missing slots)")); + // The slot change was surfaced like the other slot adaptations. + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0].find("slot 2: mixed filament definition could not be imported") != std::string::npos); + // The blended colour was not written into the (shared) slot preset either. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == + std::vector<std::string>{ "#123456" }); + } +} + +// The reported scenario: an author publishes two mixed filaments whose components are +// full-published physical slots; the receiver is a smaller tool-changer, so some of those +// component slots become empty mixed placeholders. A mix whose component turned into a +// placeholder can never be valid (mixes cannot reference mixes): it is rejected, and its +// grown slot must be finalized as an empty mixed placeholder too - not keep the seeded +// preset and masquerade as a real filament carrying the mix identity. +TEST_CASE("Published 3MF finalizes a mixed filament rejected over a placeholder component as an empty placeholder", "[Preset][Bundle][Published]") +{ + // An author project: six physical slots plus two tail mixes, the second referencing the + // sixth physical slot (H2C-style: slot 7 = 1+2, slot 8 = 2+6). + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = std::vector<double>(8, 1.75); + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4, 5, 6, 7, 8 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = std::vector<std::string>(8, "Direct Drive Standard"); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00", + "#FF00FF", "#00FFFF", "#800080", "#804000" }; + config.opt<ConfigOptionStrings>("filament_type")->values.assign(8, "PLA"); + config.opt<ConfigOptionStrings>("filament_vendor")->values.assign(8, "Generic"); + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 0, 0, 0, 0, 1, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "", "", "", "", "1,2", "2,6" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "", "", "", "", "0.6,0.4", "0.5,0.5" }; + // The export always serializes all seven masked mixed arrays, not just the ones in + // use; the unused gradient arrays ride along as defaults. + config.opt<ConfigOptionBools>("filament_mixed_gradient")->values = { 0, 0, 0, 0, 0, 0, 0, 0 }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values.assign(8, ""); + config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values.assign(8, ""); + config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = { 0, 0, 0, 0, 0, 0, 0, 0 }; + return config; + }; + // A non-SEMM receiver with four nozzles and four slots (tool-changer style). + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets.assign(4, "My PLA"); + bundle.set_num_filaments(4, "#123456"); + auto &printer_config = bundle.printers.get_edited_preset().config; + printer_config.opt<ConfigOptionBool>("single_extruder_multi_material", true)->value = false; + printer_config.opt<ConfigOptionFloats>("nozzle_diameter", true)->values.assign(4, 0.4); + + auto make_full_entry = [](int slot) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.full = true; + entry.full_keys = { "filament_retraction_length" }; + return entry; + }; + auto make_mix_entry = [](int slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.filament_vendor = "Generic"; + entry.publish_color = true; + entry.color = color; + entry.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + return entry; + }; + + // The dialog's emit order: the full-published physical slots (1, 2, 5, 6) and both mixes. + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_full_entry(0), make_full_entry(1), make_full_entry(4), make_full_entry(5), + make_mix_entry(6, "#800080"), make_mix_entry(7, "#804000") }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The receiver grew to the author's slot count, all virtual territory at the tail. + REQUIRE(bundle.filament_presets.size() == 8); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 8); + // Slots 0-3 stayed physical; authored slots 5 and 6 (0-based 4 and 5) became capacity + // placeholders. + for (size_t i = 0; i < 4; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[4]); + CHECK(is_mixed[5]); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[4].empty()); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[5].empty()); + // The first mix applied onto its uncontended tail slot. + CHECK(is_mixed[6]); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[6] == "1,2"); + // The second mix was rejected - its second component (authored slot 6) turned into a + // placeholder - and its slot was finalized as an empty mixed placeholder instead of + // keeping the seeded preset as a phantom real filament. + CHECK(is_mixed[7]); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[7].empty()); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[7].empty()); + REQUIRE(pub.skipped_keys.size() == 1); + CHECK(pub.skipped_keys[0] == "material:PLA (mixed filament definition: components reference missing slots)"); + // Two Full Publish detach lines (slots 0-1), two capacity placeholder lines (slots 4-5), + // and the rejected mix's finalization line (slot 7). + REQUIRE(pub.material_replacements.size() == 5); + CHECK(std::any_of(pub.material_replacements.begin(), pub.material_replacements.end(), + [](const std::string &line) { + return line.find("slot 7: mixed filament definition could not be imported") != std::string::npos; + })); +} + +// The receiver must not overflow its physical capacity when it grows slots to reach a published +// mixed definition: an unpublished mixed slot that lands as a gap past the nozzle count becomes +// an empty mixed placeholder, not a physical filament. An author with six physical slots (0-5) +// and two tail mixes (slots 6 and 7) publishes only 0-5 and 7; the receiver has four nozzles. +// Slots 4 and 5 become surplus placeholders, slot 7 keeps its authored mix position, and the +// unpublished gap slot 6 is finalized as a virtual placeholder - never a fifth physical slot. +TEST_CASE("Published 3MF turns an unpublished gap slot past the printer's capacity into an empty mixed placeholder", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets.assign(4, "My PLA"); + bundle.set_num_filaments(4, "#123456"); + auto &printer_config = bundle.printers.get_edited_preset().config; + printer_config.opt<ConfigOptionBool>("single_extruder_multi_material", true)->value = false; + printer_config.opt<ConfigOptionFloats>("nozzle_diameter", true)->values.assign(4, 0.4); + + // 8 authored slots: 0-5 physical, 6 unpublished mixed, 7 published mixed. The payload masks + // the unpublished slot's mixed flag (filter_published_config), so slot 6 reads as physical. + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = std::vector<double>(8, 1.75); + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4, 5, 6, 7, 8 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = std::vector<std::string>(8, "Direct Drive Standard"); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00", + "#FF00FF", "#00FFFF", "#800080", "#804000" }; + config.opt<ConfigOptionStrings>("filament_type")->values.assign(8, "PLA"); + config.opt<ConfigOptionStrings>("filament_vendor")->values.assign(8, "Generic"); + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 0, 0, 0, 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "", "", "", "", "", "1,2" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "", "", "", "", "", "0.5,0.5" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient")->values = std::vector<unsigned char>(8, 0); + config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values.assign(8, ""); + config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values.assign(8, ""); + config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = std::vector<unsigned char>(8, 0); + + auto make_full_entry = [](int slot) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.full = true; + entry.full_keys = { "filament_retraction_length" }; + return entry; + }; + auto make_mix_entry = [](int slot, const char *color) { + PublishedMaterialEntry entry; + entry.slot = slot; + entry.filament_type = "PLA"; + entry.publish_color = true; + entry.color = color; + entry.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + return entry; + }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_full_entry(0), make_full_entry(1), make_full_entry(2), make_full_entry(3), + make_full_entry(4), make_full_entry(5), make_mix_entry(7, "#804000") }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 8); + const auto &is_mixed = bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values; + REQUIRE(is_mixed.size() == 8); + // Slots 0-3 stay physical; 4 and 5 are surplus placeholders; 6 is the unpublished gap; 7 is + // the published mix. All four tail slots are virtual. + for (size_t i = 0; i < 4; ++i) + CHECK_FALSE(is_mixed[i]); + CHECK(is_mixed[4]); + CHECK(is_mixed[5]); + CHECK(is_mixed[6]); + CHECK(is_mixed[7]); + // Surplus physical slots (4,5) and the unpublished gap (6) carry no definition; the + // published mix on slot 7 keeps its own. + const auto &components = bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values; + REQUIRE(components.size() == 8); + CHECK(components[4].empty()); + CHECK(components[5].empty()); + CHECK(components[6].empty()); + CHECK(components[7] == "1,2"); + // Exactly four physical slots remain (never a fifth past the nozzle count). + size_t physical_count = 0; + for (bool mixed : is_mixed) + if (!mixed) + ++physical_count; + CHECK(physical_count == 4); + // The unpublished gap's conversion is surfaced through the post-import notice. + bool gap_reported = false; + for (const std::string &message : pub.material_replacements) + if (message.find("slot 6: unassigned mixed filament") != std::string::npos) + gap_reported = true; + CHECK(gap_reported); + CHECK(pub.skipped_keys.empty()); +} + +// The relocation shifts cells inside the file's per-slot mixed arrays; a payload too short to +// actually carry the definition degrades to empty cells, which the definition validation then +// reports - an empty mix must not ship as a virtual slot. +TEST_CASE("Published 3MF reports a relocated mixed filament whose payload cells are missing", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(5, "#123456"); + const std::vector<std::string> receiver_colours = + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.filament_id = "GFL99"; + mix.slot = 3; // authored slot 3; the receiver's five real slots occupy 0-4 + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + // The file's mixed arrays only cover its single physical slot: the definition data for + // slot 3 does not exist in the payload. + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { "Direct Drive Standard" }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic" }; + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "" }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The mix was relocated past the physical territory... + REQUIRE(pub.mixed_slot_relocations.size() == 1); + CHECK(pub.mixed_slot_relocations.at(3) == 5); + REQUIRE(pub.material_replacements.size() == 2); + CHECK(pub.material_replacements[0].find("slot 3 -> slot 5") != std::string::npos); + // ...and the receiver grew to hold the destination slot, but the definition itself was + // rejected: the relocated cells degraded to empty defaults, the slot was finalized as an + // empty mixed placeholder (not a real filament), and both facts were reported. + REQUIRE(bundle.filament_presets.size() == 6); + CHECK(bundle.is_mixed_filament(5)); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[5].empty()); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[5].empty()); + CHECK(contains_key(pub.skipped_keys, "material:GFL99 (mixed filament definition: needs at least two components)")); + CHECK(pub.material_replacements[1].find("slot 5: mixed filament definition could not be imported") != std::string::npos); + // The five real slots kept their colours. + CHECK(std::equal(receiver_colours.begin(), receiver_colours.end(), + bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values.begin())); +} + +// A grown published slot always repeats the receiver's last preset; it can only move to the +// published material's identity when a replacement is warranted (an aliased slot that would +// otherwise leak keys, or a type mismatch). The tier priority candidate_score uses is locked +// here: exact preset name > bare name > exact setting_id > exact filament_id > vendor+type, +// with the lower tiers reported as a substitute. +TEST_CASE("Published 3MF re-points an aliased grown slot's material by identity tiers", "[Preset][Bundle][Published]") +{ + auto make_file_config = [] { + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3, 4 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#00FF00", "#0000FF", "#FFFF00" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PLA", "PLA", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionStrings>("filament_ids")->values = { "GFL99", "GFL99", "GFL99", "GFL99" }; + return config; + }; + + PublishedMaterialEntry entry; + entry.slot = 2; + entry.filament_type = "PLA"; + + SECTION("an exact preset name outranks the bare-name form") + { + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + Preset &bare = add_inmemory_preset(bundle.filaments, "Authored PLA"); + bare.config.opt_string("filament_type", 0u) = "PLA"; + Preset &exact = add_inmemory_preset(bundle.filaments, "Authored PLA @Vendor"); + exact.config.opt_string("filament_type", 0u) = "PLA"; + bundle.filament_presets = { "My PLA" }; + + entry.preset_name = "Authored PLA @Vendor"; + entry.keys = { "filament_retraction_length" }; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PLA"); + // The aliased grown slot is re-pointed at the exact-name preset; the bare-name and the + // receiver's own preset lose. + CHECK(bundle.filament_presets[2] == "Authored PLA @Vendor"); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PLA -> Authored PLA @Vendor"); + } + + SECTION("a bare name outranks an exact setting_id") + { + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + Preset &bare = add_inmemory_preset(bundle.filaments, "Authored PLA"); + bare.config.opt_string("filament_type", 0u) = "PLA"; + Preset &sid = add_inmemory_preset(bundle.filaments, "Bbb PLA"); + sid.config.opt_string("filament_type", 0u) = "PLA"; + sid.setting_id = "SID123"; + bundle.filament_presets = { "My PLA" }; + + entry.preset_name = "Authored PLA @Vendor"; // no library preset carries this name + entry.setting_id = "SID123"; + entry.keys = { "filament_retraction_length" }; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(bundle.filament_presets[2] == "Authored PLA"); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PLA -> Authored PLA"); + } + + SECTION("an exact setting_id outranks an exact filament_id") + { + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PLA"); + mine.config.opt_string("filament_type", 0u) = "PLA"; + Preset &sid = add_inmemory_preset(bundle.filaments, "Bbb PLA"); + sid.config.opt_string("filament_type", 0u) = "PLA"; + sid.setting_id = "SID123"; + Preset &fid = add_inmemory_preset(bundle.filaments, "Ccc PLA"); + fid.config.opt_string("filament_type", 0u) = "PLA"; + fid.filament_id = "GFA00"; + bundle.filament_presets = { "My PLA" }; + + entry.preset_name = "Authored PLA @Vendor"; // no library preset carries this name + entry.setting_id = "SID123"; + entry.filament_id = "GFA00"; + entry.keys = { "filament_retraction_length" }; + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(bundle.filament_presets[2] == "Bbb PLA"); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PLA -> Bbb PLA"); + } + + SECTION("a vendor+type match is reported as a substitute") + { + PresetBundle bundle; + Preset &mine = add_inmemory_preset(bundle.filaments, "My PETG"); + mine.config.opt_string("filament_type", 0u) = "PETG"; + Preset &exact_vendor = add_inmemory_preset(bundle.filaments, "Aaa PLA"); + exact_vendor.config.opt_string("filament_type", 0u) = "PLA"; + exact_vendor.config.opt_string("filament_vendor", 0u) = "Generic"; + Preset &other_vendor = add_inmemory_preset(bundle.filaments, "Zzz PLA"); + other_vendor.config.opt_string("filament_type", 0u) = "PLA"; + other_vendor.config.opt_string("filament_vendor", 0u) = "Other"; + bundle.filament_presets = { "My PETG" }; + + entry.filament_vendor = "Generic"; // no name or id identity: the family tiers decide + entry.publish_type = true; + entry.publish_type_value = "PLA"; // the grown slot seeds "My PETG" -> the gate reads a mismatch + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = make_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + REQUIRE(bundle.filament_presets.size() == 3); + CHECK(bundle.filament_presets[1] == "My PETG"); + // The same-vendor PLA outranks the type-only candidate... + CHECK(bundle.filament_presets[2] == "Aaa PLA"); + // ...and since it is not an exact material match, the load says so. + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 2: My PETG -> Aaa PLA (substitute)"); + } +} + +// Structural keys (identity links like filament_ids / inherits / printer_settings_id) are +// never applied onto the receiver and never reported: a hand-crafted file listing them must +// not trigger the "could not be applied" warning, while unknown keys still do. +TEST_CASE("Published 3MF silently ignores structural keys in published_keys", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt_float("layer_height") = 0.28; + Preset::normalize(config); + + PresetBundle bundle; + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.1; + const std::vector<std::string> ids_before = + bundle.filaments.get_edited_preset().config.opt<ConfigOptionStrings>("filament_settings_id")->values; + + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "filament_ids", "inherits", "printer_settings_id", "layer_height", "not_a_setting" }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The real setting applied... + CHECK_THAT(bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.28, 1e-6)); + CHECK_FALSE(contains_key(pub.skipped_keys, "layer_height")); + // ...the structural keys were neither applied nor reported... + CHECK_FALSE(contains_key(pub.skipped_keys, "filament_ids")); + CHECK_FALSE(contains_key(pub.skipped_keys, "inherits")); + CHECK_FALSE(contains_key(pub.skipped_keys, "printer_settings_id")); + CHECK(bundle.filaments.get_edited_preset().config.opt<ConfigOptionStrings>("filament_settings_id")->values == ids_before); + // ...while an unknown key still reports. + CHECK(contains_key(pub.skipped_keys, "not_a_setting")); +} + +// A whole-vector key requires the receiver's vector to have the same number of elements as the +// author's: pasting a 3-extruder list into a 2-extruder machine would overwrite the wrong +// elements, so the key is reported as skipped and the receiver keeps its own values. +TEST_CASE("Published 3MF skips a whole-vector key whose size does not match the receiver", "[Preset][Bundle][Published]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000" }; + config.opt_float("layer_height") = 0.28; + // Author's wiping matrix sized for three extruders. + config.set_key_value("wiping_volumes_extruders", new ConfigOptionFloats({ 10., 20., 30. })); + Preset::normalize(config); + + PresetBundle bundle; + // Receiver sized for two extruders. + bundle.prints.get_edited_preset().config.set_key_value("wiping_volumes_extruders", new ConfigOptionFloats({ 40., 50. })); + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.1; + + PublishedConfig pub; + pub.published = true; + pub.published_keys = { "wiping_volumes_extruders", "layer_height" }; + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + check_double_vector(bundle.prints.get_edited_preset().config.opt<ConfigOptionFloats>("wiping_volumes_extruders")->values, + { 40., 50. }); + CHECK(contains_key(pub.skipped_keys, "wiping_volumes_extruders")); + // The matching scalar key still applied. + CHECK_FALSE(contains_key(pub.skipped_keys, "layer_height")); + CHECK_THAT(bundle.prints.get_edited_preset().config.opt_float("layer_height"), Catch::Matchers::WithinAbs(0.28, 1e-6)); +} + +// The uniquify chain continues past the first suffix: with both "X" and "X (Published)" already +// present, the next imported copy of "X" lands as "X (Published 2)" and leaves the others alone. +TEST_CASE("Published 3MF uniquifies a second imported full material as (Published 2)", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + petg.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.6 }; + Preset &bare = add_inmemory_preset(bundle.filaments, "Generic PLA"); + bare.config.opt_string("filament_type", 0u) = "PLA"; + bare.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + Preset &pub1 = add_inmemory_preset(bundle.filaments, "Generic PLA (Published)"); + pub1.config.opt_string("filament_type", 0u) = "PLA"; + pub1.config.opt<ConfigOptionFloatsNullable>("filament_retraction_length", true)->values = { 0.5 }; + bundle.filament_presets = { "My PETG" }; + + PublishedMaterialEntry entry; + entry.slot = 0; + entry.full = true; + entry.publish_type = true; + entry.publish_type_value = "PLA"; + entry.preset_name = "Generic PLA @Qidi Q2 0.4 nozzle"; + entry.full_keys = { "filament_retraction_length" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { entry }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + CHECK(bundle.filament_presets[0] == "Generic PLA (Published 2)"); + check_double_vector(bundle.filaments.find_preset("Generic PLA (Published 2)", false, true) + ->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, + { 0.9 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA", false, true) + ->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, + { 0.5 }); + check_double_vector(bundle.filaments.find_preset("Generic PLA (Published)", false, true) + ->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, + { 0.5 }); + REQUIRE(pub.material_replacements.size() == 1); + CHECK(pub.material_replacements[0] == "slot 0: My PETG -> Generic PLA (Published 2)"); + CHECK(pub.skipped_keys.empty()); +} + +// A mixed filament's blended colour is a swatch for the project's colour strip only: it must +// never be written into the slot's (possibly shared) preset config, or every slot referencing +// that preset would turn into the blend colour. +TEST_CASE("Published 3MF never writes a mixed filament's blended colour into the slot's preset", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#123456" }; + Preset &petg = add_inmemory_preset(bundle.filaments, "My PETG"); + petg.config.opt_string("filament_type", 0u) = "PETG"; + bundle.filament_presets = { "My PLA", "My PLA", "My PLA" }; + bundle.set_num_filaments(3); + bundle.project_config.opt<ConfigOptionBools>("filament_is_mixed")->values[2] = 1; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] = "1,1"; + bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values[2] = "0.5,0.5"; + + PublishedMaterialEntry mix; + mix.filament_type = "PLA"; + mix.filament_vendor = "Generic"; + mix.filament_id = "GFL99"; + mix.slot = 2; + mix.publish_color = true; + mix.color = "#800080"; + mix.keys = { "filament_is_mixed", "filament_mixed_components", + "filament_mixed_sublayer_ratios", "filament_mixed_gradient", + "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { mix }; + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.opt<ConfigOptionFloats>("filament_diameter")->values = { 1.75, 1.75, 1.75 }; + config.opt<ConfigOptionInts>("filament_self_index")->values = { 1, 2, 3 }; + config.opt<ConfigOptionStrings>("filament_extruder_variant")->values = { + "Direct Drive Standard", "Direct Drive Standard", "Direct Drive Standard" + }; + config.opt<ConfigOptionStrings>("filament_colour")->values = { "#FF0000", "#0000FF", "#800080" }; + config.opt<ConfigOptionStrings>("filament_type")->values = { "PLA", "PETG", "PLA" }; + config.opt<ConfigOptionStrings>("filament_vendor")->values = { "Generic", "Generic", "Generic" }; + config.opt<ConfigOptionBools>("filament_is_mixed")->values = { 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_components")->values = { "", "", "1,2" }; + config.opt<ConfigOptionStrings>("filament_mixed_sublayer_ratios")->values = { "", "", "0.6,0.4" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient")->values = { 0, 0, 1 }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_range")->values = { "", "", "0.9,0.1" }; + config.opt<ConfigOptionStrings>("filament_mixed_gradient_curve")->values = { "", "", "0,0.1|1,0.9" }; + config.opt<ConfigOptionBools>("filament_mixed_gradient_per_part")->values = { 0, 0, 1 }; + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The definition applied like-for-like onto the virtual slot... + CHECK(bundle.filament_presets.size() == 3); + CHECK(bundle.is_mixed_filament(2)); + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_mixed_components")->values[2] == "1,2"); + // ...the blend colour landed in the project strip only... + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[2] == "#800080"); + // ...and the shared preset kept its own colour: slots 0 and 1 render unchanged. + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == + std::vector<std::string>{ "#123456" }); + CHECK(bundle.filament_presets[0] == "My PLA"); + CHECK(bundle.filament_presets[1] == "My PLA"); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.material_replacements.empty()); +} + +// Duplicate entries for the same authored slot only occur in hand-crafted files (the dialog +// emits one entry per slot); the load's contract under that input is deterministic last-wins, +// not corruption. +TEST_CASE("Published 3MF applies duplicate entries for one slot last-wins", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + Preset &pla = add_inmemory_preset(bundle.filaments, "My PLA"); + pla.config.opt_string("filament_type", 0u) = "PLA"; + pla.config.opt<ConfigOptionStrings>("filament_colour", true)->values = { "#000000" }; + bundle.filament_presets = { "My PLA" }; + + auto make_entry = [](const char *color) { + PublishedMaterialEntry entry; + entry.slot = 0; + entry.publish_color = true; + entry.color = color; + entry.keys = { "filament_retraction_length" }; + return entry; + }; + + PublishedConfig pub; + pub.published = true; + pub.material_keys = { make_entry("#AA0000"), make_entry("#BB0000") }; + DynamicPrintConfig config = published_pla_file_config(); + Preset::normalize(config); + bundle.load_config_model("test.3mf", std::move(config), Semver(), &pub); + + // The second entry won both the project strip and the slot's preset. + CHECK(bundle.project_config.opt<ConfigOptionStrings>("filament_colour")->values[0] == "#BB0000"); + CHECK(bundle.filaments.find_preset("My PLA", false, true)->config.opt<ConfigOptionStrings>("filament_colour")->values == + std::vector<std::string>{ "#BB0000" }); + check_double_vector(bundle.filaments.find_preset("My PLA", false, true) + ->config.opt<ConfigOptionFloatsNullable>("filament_retraction_length")->values, + { 0.9 }); + CHECK(pub.skipped_keys.empty()); + CHECK(pub.material_replacements.empty()); +} + +// normalize_filament_type maps "PLA High Speed" onto the canonical family "PLA" (a space- +// separated modifier is dropped) but leaves dash-separated composite types like "PA-CF" intact, +// and passes through unknown types and the empty string unchanged. +TEST_CASE("normalize_filament_type strips a space modifier but keeps dash types", "[Preset][Bundle][Published]") +{ + CHECK(normalize_filament_type("PLA High Speed") == "PLA"); + CHECK(normalize_filament_type("PA-CF") == "PA-CF"); + CHECK(normalize_filament_type("PETG-CF") == "PETG-CF"); + CHECK(normalize_filament_type("PLA") == "PLA"); + CHECK(normalize_filament_type("ABC") == "ABC"); + CHECK(normalize_filament_type("") == ""); +} + +// collect_dirty_settings_keys feeds the Publish dialog's pre-check: it must be the set union of +// the dirty options across the edited print, printer and filament presets. +TEST_CASE("collect_dirty_settings_keys unions the dirty settings from all three presets", "[Preset][Bundle][Published]") +{ + PresetBundle bundle; + // The edited preset is initialised as a copy of the selected (default) preset, so a single + // edit makes exactly that option dirty. deep_diff reports scalar keys by name but per-element + // vector keys as "key#<index>", so a vector edit surfaces as "key#0". + bundle.prints.get_edited_preset().config.opt_float("layer_height") = 0.28; + bundle.filaments.get_edited_preset().config.opt<ConfigOptionStrings>("filament_type", true)->values = { "ABS" }; + bundle.printers.get_edited_preset().config.opt<ConfigOptionFloats>("nozzle_diameter", true)->values = { 0.6 }; + + const std::vector<std::string> dirty = collect_dirty_settings_keys(bundle); + for (const char *key : { "layer_height", "filament_type#0", "nozzle_diameter#0" }) + CHECK(contains_key(dirty, key)); +} + +// The publish denylist and the mixed-key list are single sources of truth for the import path: +// lock their members so a silent edit to either cannot drift away from the contract the import +// and export masks rely on. +TEST_CASE("Published 3MF denylist and mixed-key sets match the import/export contract", "[Preset][Bundle][Published]") +{ + const std::set<std::string>& structural = publish_structural_keys(); + // Structural / inheritance keys must never be applied onto a receiver's presets. + for (const char *key : { "printer_settings_id", "filament_settings_id", "print_settings_id", + "compatible_printers", "compatible_prints", "compatible_printers_condition", + "compatible_prints_condition", "default_filament_profile", "default_print_profile", + "inherits", "extruder_count", "printer_model", "filament_ids" }) + CHECK(structural.count(key) == 1); + // ...but a per-slot publishable material key is not structural. + CHECK(structural.count("filament_retraction_length") == 0); + CHECK(structural.count("filament_colour") == 0); + + const std::set<std::string>& mixed = publish_mixed_keys(); + CHECK(mixed == std::set<std::string>{ + "filament_is_mixed", "filament_mixed_components", "filament_mixed_sublayer_ratios", + "filament_mixed_gradient", "filament_mixed_gradient_range", "filament_mixed_gradient_curve", + "filament_mixed_gradient_per_part" }); + // Mixed keys are project-level arrays, not material-preset keys, so none is structural. + for (const std::string &key : mixed) + CHECK(structural.count(key) == 0); +} + +namespace { + +// data_dir() is a process-wide global that import_presets extracts into; scope it to the test. +struct ScopedDataDir +{ + std::string previous = data_dir(); + explicit ScopedDataDir(const fs::path &dir) { set_data_dir(dir.string()); } + ~ScopedDataDir() { set_data_dir(previous); } +}; + +std::string read_file(const fs::path &file) +{ + std::ifstream in(file.string(), std::ios::binary); + return std::string(std::istreambuf_iterator<char>(in), std::istreambuf_iterator<char>()); +} + +void write_zip(const fs::path &zip_file, const std::vector<std::pair<std::string, std::string>> &entries) +{ + mz_zip_archive zip; + mz_zip_zero_struct(&zip); + REQUIRE(open_zip_writer(&zip, zip_file.string())); + for (const auto &[name, content] : entries) + REQUIRE(mz_zip_writer_add_mem(&zip, name.c_str(), content.data(), content.size(), MZ_DEFAULT_COMPRESSION)); + REQUIRE(mz_zip_writer_finalize_archive(&zip)); + REQUIRE(close_zip_writer(&zip)); +} + +bool any_filename_contains(const fs::path &root, const std::string &needle) +{ + for (fs::recursive_directory_iterator it(root), end; it != end; ++it) + if (it->path().filename().string().find(needle) != std::string::npos) + return true; + return false; +} + +} // namespace + +TEST_CASE("Config import confines zip entries, preset names and bundle ids to the preset directory", "[Preset][Bundle][Regression]") +{ + ScopedTemporaryDir temp_dir; + const fs::path data_root = temp_dir.path() / "datadir"; + const fs::path src_dir = temp_dir.path() / "src"; + fs::create_directories(src_dir); + ScopedDataDir scoped_data_dir(data_root); + + PresetBundle bundle; + AppConfig app_config; + const auto confirm = [](std::string const &) { return 1; }; + const auto import = [&](const fs::path &file) { + std::vector<std::string> files{file.string()}; + bundle.import_presets(files, confirm, ForwardCompatibilitySubstitutionRule::Disable, app_config); + return files; + }; + + const fs::path good_file = src_dir / "Good.json"; + write_print_preset(bundle.prints.default_preset().config, good_file, "Good"); + const std::string good_json = read_file(good_file); + + // Four levels up from where import_presets writes (<datadir>/user/default/temp) is temp_dir + // itself, so anything that escapes lands where the scan below can see it. + const std::string up = "../../../../"; + const std::string up_win = "..\\..\\..\\..\\"; + + SECTION("zip entry names with either separator are reduced to a basename") { + const fs::path zip = src_dir / "bundle.zip"; + write_zip(zip, {{up + "zip-escape.json", "{}"}, {up_win + "zip-escape.json", "{}"}, {"presets/Good.json", good_json}}); + import(zip); + CHECK(bundle.prints.find_preset("Good") != nullptr); + CHECK_FALSE(any_filename_contains(temp_dir.path(), "zip-escape")); + } + + SECTION("a preset name that walks out of the preset directory is rejected") { + for (const std::string &name : {up + "name-escape", up_win + "name-escape"}) { + const fs::path file = src_dir / "escape.json"; + write_print_preset(bundle.prints.default_preset().config, file, name); + CHECK(import(file).empty()); + CHECK_FALSE(any_filename_contains(temp_dir.path(), "name-escape")); + } + } + + SECTION("a bundle id that walks out of the bundle directory is rejected") { + const fs::path zip = src_dir / "bundle.zip"; + write_zip(zip, {{BUNDLE_STRUCTURE_JSON_NAME, "{\"id\": \"" + up + "bundle-escape\"}"}, {"Good.json", good_json}}); + CHECK(import(zip).empty()); + CHECK_FALSE(any_filename_contains(temp_dir.path(), "bundle-escape")); + } +} diff --git a/tests/libslic3r/test_preset_diff.cpp b/tests/libslic3r/test_preset_diff.cpp index 399fdabae1..22255c049e 100644 --- a/tests/libslic3r/test_preset_diff.cpp +++ b/tests/libslic3r/test_preset_diff.cpp @@ -33,3 +33,20 @@ TEST_CASE("deep_diff flags new vector entries that duplicate values[0]", "[Prese // specific to new indices rather than flagging the whole vector. REQUIRE(std::find(diff.begin(), diff.end(), "nozzle_diameter#0") == diff.end()); } + +TEST_CASE("deep_diff distinguishes absolute and percentage speeds for each variant", "[PresetDiff][Config]") +{ + const size_t changed_index = GENERATE(size_t(0), size_t(1)); + Preset reference(Preset::TYPE_PRINT, "ref"); + reference.config.set_key_value("small_perimeter_speed", new ConfigOptionFloatsOrPercents{{50., false}, {50., false}}); + + Preset edited = reference; + edited.config.option<ConfigOptionFloatsOrPercents>("small_perimeter_speed")->values[changed_index].percent = true; + + const auto diff = PresetCollection::dirty_options(&edited, &reference, /*deep_compare=*/true); + REQUIRE(diff == std::vector<std::string>{"small_perimeter_speed#" + std::to_string(changed_index)}); + + DynamicPrintConfig transferred = reference.config; + transferred.apply_only(edited.config, diff); + REQUIRE(*transferred.option("small_perimeter_speed") == *edited.config.option("small_perimeter_speed")); +} diff --git a/tests/libslic3r/test_preset_options.cpp b/tests/libslic3r/test_preset_options.cpp new file mode 100644 index 0000000000..1763f5fbc7 --- /dev/null +++ b/tests/libslic3r/test_preset_options.cpp @@ -0,0 +1,70 @@ +// Regression test for the "option in def + UI but missing from preset key list" +// crash class. +// +// The print preset's DynamicPrintConfig is seeded with only the keys returned by +// Preset::print_options() (PresetBundle.cpp). A field added to PrintRegionConfig +// or PrintObjectConfig and registered via print_config_def plus a TabPrint +// optgroup, but left out of print_options(), still gets its control built; on tab +// activation reload_config -> get_config_value dispatches to opt_bool/opt_int on a +// DynamicPrintConfig with no entry for the key, and the accessor null-derefs the +// result of option<T>(key). +// +// The invariant asserted here is the inverse: every key declared on +// PrintRegionConfig and PrintObjectConfig appears in Preset::print_options() or +// Preset::filament_options(), the two preset key lists that seed a print preset's +// DynamicConfig. + +#include <catch2/catch_all.hpp> + +#include "libslic3r/Preset.hpp" +#include "libslic3r/PrintConfig.hpp" + +#include <set> + +using namespace Slic3r; + +namespace { + +// Deprecated keys renamed in handle_legacy() (ironing_direction -> +// ironing_angle, wall_infill_order -> wall_sequence); neither is in a +// preset list. Register new options in a preset list, not here. +const std::set<std::string> kDeprecatedRegionFields = { + "ironing_direction", + "wall_infill_order", +}; + +void check_keys_are_in_a_preset(const t_config_option_keys& keys, const std::string& class_name) +{ + REQUIRE_FALSE(keys.empty()); + const auto& print_options = Preset::print_options(); + const auto& filament_options = Preset::filament_options(); + const std::set<std::string> in_print(print_options.begin(), print_options.end()); + const std::set<std::string> in_filament(filament_options.begin(), filament_options.end()); + for (const std::string& key : keys) { + DYNAMIC_SECTION(class_name << "::" << key) + { + INFO("'" << key << "' on " << class_name + << " is missing from " + "Preset::print_options()/filament_options(); add it to " + "s_Preset_print_options (or s_Preset_filament_options) in Preset.cpp."); + const bool registered = in_print.count(key) || in_filament.count(key) || kDeprecatedRegionFields.count(key); + REQUIRE(registered); + } + } +} + +} // namespace + +// Bodies are laid out like the rest of the test suite rather than collapsed +// onto the brace line. +// clang-format off +TEST_CASE("Every PrintRegionConfig field is registered in a preset key list", "[Preset][Config]") +{ + check_keys_are_in_a_preset(PrintRegionConfig::defaults().keys(), "PrintRegionConfig"); +} + +TEST_CASE("Every PrintObjectConfig field is registered in a preset key list", "[Preset][Config]") +{ + check_keys_are_in_a_preset(PrintObjectConfig::defaults().keys(), "PrintObjectConfig"); +} +// clang-format on diff --git a/tests/libslic3r/test_preset_setting_id.cpp b/tests/libslic3r/test_preset_setting_id.cpp index 8347fa7089..5c06335381 100644 --- a/tests/libslic3r/test_preset_setting_id.cpp +++ b/tests/libslic3r/test_preset_setting_id.cpp @@ -5,10 +5,10 @@ using namespace Slic3r; // Golden vectors from the Python reference generate_preset_setting_id (defined in -// scripts/orca_id_tool.py). The C++ generate_preset_setting_id() MUST stay byte-identical +// scripts/orca_profile_tool.py). The C++ generate_preset_setting_id() MUST stay byte-identical // to it, otherwise app-side on-the-fly ids would diverge from the // script-assigned ones in the profiles. Regenerate a vector with: -// python3 -c "import sys; sys.path.insert(0, 'scripts'); from orca_id_tool import generate_preset_setting_id as g; print(g('Afinia','filament','Afinia ABS @Afinia H400'))" +// python3 -c "import sys; sys.path.insert(0, 'scripts'); from orca_profile_tool import generate_preset_setting_id as g; print(g('Afinia','filament','Afinia ABS @Afinia H400'))" TEST_CASE("preset setting_id matches the Python reference", "[Preset][setting_id]") { struct Vec { const char* vendor; const char* type; const char* name; const char* expected; }; const Vec vectors[] = { diff --git a/tests/libslic3r/test_sketchconstraints.cpp b/tests/libslic3r/test_sketchconstraints.cpp new file mode 100644 index 0000000000..d0c5844b40 --- /dev/null +++ b/tests/libslic3r/test_sketchconstraints.cpp @@ -0,0 +1,396 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include "libslic3r/CAD/SketchConstraints.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" + +using namespace Slic3r; + +namespace { +SketchEntity mk_line(double x0, double y0, double x1, double y1) +{ + SketchEntity e; e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(x0, y0); e.p1 = Vec2d(x1, y1); return e; +} +SketchEntity mk_point(double x, double y) +{ + SketchEntity e; e.type = SketchEntity::Type::Point; e.p0 = Vec2d(x, y); return e; +} +SketchEntity mk_circle(double cx, double cy, double r) +{ + SketchEntity e; e.type = SketchEntity::Type::Circle; + e.center = Vec2d(cx, cy); e.radius = r; return e; +} +} + +TEST_CASE("Coincident with anchor", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(5, 5); + sc.fix_point(a); + sc.coincident(a, b); + REQUIRE(sc.solve()); + Vec2d pb = sc.get_point(b); + REQUIRE_THAT(pb.x(), Catch::Matchers::WithinAbs(0.0, 1e-4)); + REQUIRE_THAT(pb.y(), Catch::Matchers::WithinAbs(0.0, 1e-4)); +} + +TEST_CASE("Horizontal + distance", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(5, 3); + sc.fix_point(a); + sc.horizontal(a, b); + sc.distance(a, b, 10); + REQUIRE(sc.solve()); + Vec2d pb = sc.get_point(b); + REQUIRE_THAT(pb.y(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE_THAT(std::abs(pb.x()), Catch::Matchers::WithinAbs(10.0, 1e-3)); +} + +TEST_CASE("Rectangle", "[SketchConstraints]") +{ + SketchConstraints sc; + int p0 = sc.add_point(0, 0); + int p1 = sc.add_point(8, 1); + int p2 = sc.add_point(9, 5); + int p3 = sc.add_point(-1, 4); + sc.fix_point(p0); + sc.lock_x(p0, 0); + sc.lock_y(p0, 0); + sc.horizontal(p0, p1); + sc.vertical(p1, p2); + sc.horizontal(p2, p3); + sc.vertical(p3, p0); + sc.distance(p0, p1, 10); + sc.distance(p1, p2, 6); + REQUIRE(sc.solve()); + Vec2d pp1 = sc.get_point(p1); + Vec2d pp2 = sc.get_point(p2); + Vec2d pp3 = sc.get_point(p3); + REQUIRE_THAT(pp1.x(), Catch::Matchers::WithinAbs(10.0, 1e-3)); + REQUIRE_THAT(pp1.y(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE_THAT(pp2.x(), Catch::Matchers::WithinAbs(10.0, 1e-3)); + REQUIRE_THAT(pp2.y(), Catch::Matchers::WithinAbs(6.0, 1e-3)); + REQUIRE_THAT(pp3.x(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE_THAT(pp3.y(), Catch::Matchers::WithinAbs(6.0, 1e-3)); +} + +TEST_CASE("residual_norm after each solve", "[SketchConstraints]") +{ + SECTION("coincident case") + { + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(5, 5); + sc.fix_point(a); + sc.coincident(a, b); + REQUIRE(sc.solve()); + REQUIRE(sc.residual_norm() < 1e-5); + } + SECTION("horizontal+distance case") + { + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(5, 3); + sc.fix_point(a); + sc.horizontal(a, b); + sc.distance(a, b, 10); + REQUIRE(sc.solve()); + REQUIRE(sc.residual_norm() < 1e-5); + } + SECTION("rectangle case") + { + SketchConstraints sc; + int p0 = sc.add_point(0, 0); + int p1 = sc.add_point(8, 1); + int p2 = sc.add_point(9, 5); + int p3 = sc.add_point(-1, 4); + sc.fix_point(p0); + sc.lock_x(p0, 0); + sc.lock_y(p0, 0); + sc.horizontal(p0, p1); + sc.vertical(p1, p2); + sc.horizontal(p2, p3); + sc.vertical(p3, p0); + sc.distance(p0, p1, 10); + sc.distance(p1, p2, 6); + REQUIRE(sc.solve()); + REQUIRE(sc.residual_norm() < 1e-5); + } +} + +TEST_CASE("midpoint", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(10, 0); + int m = sc.add_point(3, 7); + sc.fix_point(a); + sc.fix_point(b); + sc.midpoint(m, a, b); + REQUIRE(sc.solve()); + Vec2d pm = sc.get_point(m); + REQUIRE_THAT(pm.x(), Catch::Matchers::WithinAbs(5.0, 1e-3)); + REQUIRE_THAT(pm.y(), Catch::Matchers::WithinAbs(0.0, 1e-3)); +} + +TEST_CASE("symmetric across Y axis", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(2, 3); + int b = sc.add_point(-1, 1); + int c = sc.add_point(0, 0); + int d = sc.add_point(0, 1); + sc.fix_point(a); + sc.fix_point(c); + sc.fix_point(d); + sc.symmetric(a, b, c, d); + REQUIRE(sc.solve()); + Vec2d pb = sc.get_point(b); + REQUIRE_THAT(pb.x(), Catch::Matchers::WithinAbs(-2.0, 1e-3)); + REQUIRE_THAT(pb.y(), Catch::Matchers::WithinAbs(3.0, 1e-3)); +} + +TEST_CASE("angle 90 degrees", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(1, 0); + int c = sc.add_point(0, 0); + int d = sc.add_point(1, 1); + sc.fix_point(a); + sc.fix_point(b); + sc.fix_point(c); + sc.angle(a, b, c, d, M_PI / 2); + REQUIRE(sc.solve()); + Vec2d pd = sc.get_point(d); + Vec2d pc = sc.get_point(c); + REQUIRE_THAT(pd.x() - pc.x(), Catch::Matchers::WithinAbs(0.0, 1e-3)); + REQUIRE(pd.y() > pc.y()); +} + +TEST_CASE("point-line distance", "[SketchConstraints]") +{ + SketchConstraints sc; + int a = sc.add_point(0, 0); + int b = sc.add_point(10, 0); + int p = sc.add_point(3, 1); + sc.fix_point(a); + sc.fix_point(b); + sc.lock_x(p, 3.0); + sc.point_line_distance(p, a, b, 5.0); + REQUIRE(sc.solve()); + Vec2d pp = sc.get_point(p); + REQUIRE_THAT(std::abs(pp.y()), Catch::Matchers::WithinAbs(5.0, 1e-3)); + REQUIRE_THAT(pp.x(), Catch::Matchers::WithinAbs(3.0, 1e-3)); +} + +// ---- entity-constraint planner (kernel port of DesignPanel::apply_entity_constraint) ---- + +TEST_CASE("sketch_entity_ends exposes real roles only", "[SketchConstraints]") +{ + std::pair<SketchPointRole, Vec2d> out[2]; + REQUIRE(sketch_entity_ends(mk_point(3, 4), out) == 1); + REQUIRE(out[0].first == SketchPointRole::P0); + REQUIRE(sketch_entity_ends(mk_circle(1, 2, 5), out) == 1); + REQUIRE(out[0].first == SketchPointRole::Center); + REQUIRE_THAT(out[0].second.x(), Catch::Matchers::WithinAbs(1.0, 1e-9)); + REQUIRE_THAT(out[0].second.y(), Catch::Matchers::WithinAbs(2.0, 1e-9)); + REQUIRE(sketch_entity_ends(mk_line(0, 0, 10, 0), out) == 2); + REQUIRE(out[0].first == SketchPointRole::P0); + REQUIRE(out[1].first == SketchPointRole::P1); +} + +TEST_CASE("Coincident on two Points binds P0/P0, not phantom p1", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_point(0, 0), mk_point(5, 5) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::Coincident); + REQUIRE(p.kind == ConstraintPlan::Kind::Apply); + REQUIRE(p.defs.size() == 1); + REQUIRE(p.defs[0].type == SketchConstraintType::Coincident); + REQUIRE(p.defs[0].ea == 0); + REQUIRE(p.defs[0].ra == SketchPointRole::P0); + REQUIRE(p.defs[0].eb == 1); + REQUIRE(p.defs[0].rb == SketchPointRole::P0); +} + +TEST_CASE("DistanceX on two Points binds real roles with non-negative prefill", "[SketchConstraints]") +{ + // e0 is right of e1, so the raw projected delta is negative: the plan must swap the + // refs so accepting the shown (positive) value is a no-op, not a sign flip. + std::vector<SketchEntity> ents = { mk_point(5, 1), mk_point(2, 3) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::DistanceX); + REQUIRE(p.kind == ConstraintPlan::Kind::AskValue); + REQUIRE(p.defs.size() == 1); + REQUIRE(p.defs[0].type == SketchConstraintType::DistanceX); + REQUIRE(p.defs[0].ra == SketchPointRole::P0); + REQUIRE(p.defs[0].rb == SketchPointRole::P0); + REQUIRE(p.prefill >= 0.0); + REQUIRE(p.defs[0].ea == 1); + REQUIRE(p.defs[0].eb == 0); +} + +TEST_CASE("Horizontal on a Point rejects with NeedALine", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_point(1, 2) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, -1, -1, SketchConstraintType::Horizontal); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == ConstraintReject::NeedALine); +} + +TEST_CASE("Angle on two Circles rejects with NeedTwoLines", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_circle(0, 0, 1), mk_circle(5, 0, 1) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::Angle); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == ConstraintReject::NeedTwoLines); +} + +TEST_CASE("Parallel on a Line + Circle rejects with NeedTwoLines (new guard)", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::Parallel); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == ConstraintReject::NeedTwoLines); +} + +TEST_CASE("Equal on two Circles promotes to EqualRadius", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_circle(0, 0, 1), mk_circle(5, 0, 2) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::EqualLength); + REQUIRE(p.kind == ConstraintPlan::Kind::Apply); + REQUIRE(p.defs.size() == 1); + REQUIRE(p.defs[0].type == SketchConstraintType::EqualRadius); + REQUIRE(p.defs[0].ea == 0); + REQUIRE(p.defs[0].eb == 1); +} + +TEST_CASE("Symmetric on two Lines returns two defs with ec set to the axis", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_line(0, 1, 5, 1), mk_line(0, -1, 5, -1), mk_line(0, 0, 0, 1) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, 2, SketchConstraintType::Symmetric); + REQUIRE(p.kind == ConstraintPlan::Kind::Apply); + REQUIRE(p.defs.size() == 2); + for (const auto& d : p.defs) { + REQUIRE(d.type == SketchConstraintType::Symmetric); + REQUIRE(d.ea == 0); + REQUIRE(d.eb == 1); + REQUIRE(d.ec == 2); + } + REQUIRE(p.defs[0].ra == SketchPointRole::P0); + REQUIRE(p.defs[0].rb == SketchPointRole::P0); + REQUIRE(p.defs[1].ra == SketchPointRole::P1); + REQUIRE(p.defs[1].rb == SketchPointRole::P1); +} + +TEST_CASE("Symmetric with no axis rejects with NeedAxisLine", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_point(0, 0), mk_point(5, 0) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::Symmetric); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == ConstraintReject::NeedAxisLine); +} + +TEST_CASE("SymmetricAboutY on two Points returns one def with ec == kSketchRefAxisY", "[SketchConstraints]") +{ + std::vector<SketchEntity> ents = { mk_point(1, 0), mk_point(-2, 0) }; + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, SketchConstraintType::SymmetricAboutY); + REQUIRE(p.kind == ConstraintPlan::Kind::Apply); + REQUIRE(p.defs.size() == 1); + REQUIRE(p.defs[0].type == SketchConstraintType::SymmetricAboutY); + REQUIRE(p.defs[0].ec == kSketchRefAxisY); + REQUIRE(p.defs[0].ea == 0); + REQUIRE(p.defs[0].eb == 1); +} + +TEST_CASE("constraint planner apply/askvalue matrix", "[SketchConstraints]") +{ + struct C { + const char* name; SketchConstraintType type; std::vector<SketchEntity> ents; + int e0, e1, e2; ConstraintPlan::Kind kind; + }; + const std::vector<C> cases = { + { "Fix", SketchConstraintType::Fix, { mk_point(1, 2) }, 0, -1, -1, ConstraintPlan::Kind::Apply }, + { "Coincident", SketchConstraintType::Coincident, { mk_point(0, 0), mk_point(5, 5) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Horizontal", SketchConstraintType::Horizontal, { mk_line(0, 0, 5, 0) }, 0, -1, -1, ConstraintPlan::Kind::Apply }, + { "Vertical", SketchConstraintType::Vertical, { mk_line(0, 0, 0, 5) }, 0, -1, -1, ConstraintPlan::Kind::Apply }, + { "Parallel", SketchConstraintType::Parallel, { mk_line(0, 0, 1, 0), mk_line(0, 1, 1, 1) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Perpendicular", SketchConstraintType::Perpendicular, { mk_line(0, 0, 1, 0), mk_line(0, 0, 0, 1) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "EqualLength", SketchConstraintType::EqualLength, { mk_line(0, 0, 1, 0), mk_line(0, 1, 2, 1) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Concentric", SketchConstraintType::Concentric, { mk_circle(0, 0, 1), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Tangent", SketchConstraintType::Tangent, { mk_line(0, 0, 1, 0), mk_circle(0, 1, 1) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Midpoint", SketchConstraintType::Midpoint, { mk_point(2, 0), mk_line(0, 0, 5, 0) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Symmetric", SketchConstraintType::Symmetric, { mk_point(0, 0), mk_point(5, 0), mk_line(0, -1, 0, 1) }, 0, 1, 2, ConstraintPlan::Kind::Apply }, + { "SymmetricAboutY", SketchConstraintType::SymmetricAboutY, { mk_point(1, 0), mk_point(-2, 0) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "SymmetricAboutX", SketchConstraintType::SymmetricAboutX, { mk_point(0, 1), mk_point(0, -2) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "EqualRadius", SketchConstraintType::EqualRadius, { mk_circle(0, 0, 1), mk_circle(5, 0, 2) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Collinear", SketchConstraintType::Collinear, { mk_line(0, 0, 1, 0), mk_line(2, 0, 3, 0) }, 0, 1, -1, ConstraintPlan::Kind::Apply }, + { "Angle", SketchConstraintType::Angle, { mk_line(0, 0, 1, 0), mk_line(0, 0, 0, 1) }, 0, 1, -1, ConstraintPlan::Kind::AskValue }, + { "Radius", SketchConstraintType::Radius, { mk_circle(0, 0, 2.5) }, 0, -1, -1, ConstraintPlan::Kind::AskValue }, + { "Diameter", SketchConstraintType::Diameter, { mk_circle(0, 0, 2.5) }, 0, -1, -1, ConstraintPlan::Kind::AskValue }, + { "DistanceX", SketchConstraintType::DistanceX, { mk_point(0, 0), mk_point(5, 3) }, 0, 1, -1, ConstraintPlan::Kind::AskValue }, + { "DistanceY", SketchConstraintType::DistanceY, { mk_point(0, 0), mk_point(5, 3) }, 0, 1, -1, ConstraintPlan::Kind::AskValue }, + }; + for (const C& c : cases) { + DYNAMIC_SECTION("apply " << c.name) { + ConstraintPlan p = plan_entity_constraint(c.ents, c.e0, c.e1, c.e2, c.type); + REQUIRE(p.kind == c.kind); + REQUIRE(p.defs.size() >= 1); + for (const auto& d : p.defs) REQUIRE(d.type == c.type); + } + } +} + +TEST_CASE("constraint planner reject matrix", "[SketchConstraints]") +{ + struct C { + const char* name; SketchConstraintType type; std::vector<SketchEntity> ents; + int e0, e1, e2; ConstraintReject reason; + }; + const std::vector<C> cases = { + { "Fix", SketchConstraintType::Fix, {}, 0, -1, -1, ConstraintReject::NeedOneEntity }, + { "Coincident", SketchConstraintType::Coincident, { mk_point(0, 0) }, 0, -1, -1, ConstraintReject::NeedTwoEntities }, + { "Horizontal", SketchConstraintType::Horizontal, { mk_point(1, 2) }, 0, -1, -1, ConstraintReject::NeedALine }, + { "Vertical", SketchConstraintType::Vertical, { mk_circle(0, 0, 1) }, 0, -1, -1, ConstraintReject::NeedALine }, + { "Parallel", SketchConstraintType::Parallel, { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoLines }, + { "Perpendicular", SketchConstraintType::Perpendicular, { mk_circle(0, 0, 1), mk_line(0, 0, 1, 0) }, 0, 1, -1, ConstraintReject::NeedTwoLines }, + { "EqualLength", SketchConstraintType::EqualLength, { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoLines }, + { "Concentric", SketchConstraintType::Concentric, { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoRounds }, + { "Tangent", SketchConstraintType::Tangent, { mk_line(0, 0, 1, 0), mk_line(0, 1, 1, 1) }, 0, 1, -1, ConstraintReject::NeedTangentPair }, + { "Midpoint", SketchConstraintType::Midpoint, { mk_line(0, 0, 1, 0), mk_line(0, 1, 1, 1) }, 0, 1, -1, ConstraintReject::NeedPointAndLine }, + { "Symmetric", SketchConstraintType::Symmetric, { mk_line(0, 0, 1, 0), mk_point(1, 1), mk_line(0, -1, 0, 1) }, 0, 1, 2, ConstraintReject::NeedTwoPointsOrLines }, + { "SymmetricAboutY", SketchConstraintType::SymmetricAboutY, { mk_line(0, 0, 1, 0), mk_point(1, 1) }, 0, 1, -1, ConstraintReject::NeedTwoPointsOrLines }, + { "SymmetricAboutX", SketchConstraintType::SymmetricAboutX, { mk_point(1, 1), mk_line(0, 0, 1, 0) }, 0, 1, -1, ConstraintReject::NeedTwoPointsOrLines }, + { "EqualRadius", SketchConstraintType::EqualRadius, { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoRounds }, + { "Collinear", SketchConstraintType::Collinear, { mk_line(0, 0, 1, 0), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoLines }, + { "Angle", SketchConstraintType::Angle, { mk_circle(0, 0, 1), mk_circle(5, 0, 1) }, 0, 1, -1, ConstraintReject::NeedTwoLines }, + { "Radius", SketchConstraintType::Radius, { mk_line(0, 0, 1, 0) }, 0, -1, -1, ConstraintReject::NeedRound }, + { "Diameter", SketchConstraintType::Diameter, { mk_point(1, 2) }, 0, -1, -1, ConstraintReject::NeedRound }, + { "DistanceX", SketchConstraintType::DistanceX, { mk_point(0, 0) }, 0, -1, -1, ConstraintReject::NeedTwoEntities }, + { "DistanceY", SketchConstraintType::DistanceY, { mk_point(0, 0) }, 0, -1, -1, ConstraintReject::NeedTwoEntities }, + }; + for (const C& c : cases) { + DYNAMIC_SECTION("reject " << c.name) { + ConstraintPlan p = plan_entity_constraint(c.ents, c.e0, c.e1, c.e2, c.type); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == c.reason); + } + } +} + +TEST_CASE("constraint planner rejects types with no entity binding", "[SketchConstraints]") +{ + const SketchConstraintType unsupported[] = { + SketchConstraintType::Distance, SketchConstraintType::LockX, SketchConstraintType::LockY, + SketchConstraintType::PointOnLine, SketchConstraintType::PointOnObject, + }; + std::vector<SketchEntity> ents = { mk_point(0, 0), mk_point(1, 1) }; + for (SketchConstraintType t : unsupported) { + DYNAMIC_SECTION("unsupported " << int(t)) { + ConstraintPlan p = plan_entity_constraint(ents, 0, 1, -1, t); + REQUIRE(p.kind == ConstraintPlan::Kind::Reject); + REQUIRE(p.reason == ConstraintReject::Unsupported); + } + } +} diff --git a/tests/libslic3r/test_sketchedit.cpp b/tests/libslic3r/test_sketchedit.cpp new file mode 100644 index 0000000000..634e743b99 --- /dev/null +++ b/tests/libslic3r/test_sketchedit.cpp @@ -0,0 +1,730 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include "libslic3r/CAD/SketchEngine.hpp" +#include <cmath> +#include <algorithm> +#include <TopExp_Explorer.hxx> +#include <TopAbs.hxx> + +using namespace Slic3r; + +using Catch::Matchers::WithinAbs; + +// CONTRACT: mirror_entities hands the reflected half back REVERSED — the order of the entities +// and the direction of each — because a reflection reverses orientation and the result has to +// CONTINUE the chain it was made from. So a mirrored line's p0 is the reflection of the source's +// p1, not its p0. See [SketchProfile] "a mirrored half continues the original chain". +TEST_CASE("Mirror Line across Y axis (reversed: p0 is the reflection of the source p1)", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(3, 2); + e.p1 = Vec2d(5, 4); + + Vec2d a(0, -1); + Vec2d b(0, 1); + + auto result = SketchEngine::mirror_entities({e}, a, b); + REQUIRE(result.size() == 1); + + const auto& m = result[0]; + REQUIRE(m.type == SketchEntity::Type::Line); + REQUIRE_THAT(m.p0.x(), WithinAbs(-5.0, 1e-9)); // reflection of the SOURCE p1 + REQUIRE_THAT(m.p0.y(), WithinAbs(4.0, 1e-9)); + REQUIRE_THAT(m.p1.x(), WithinAbs(-3.0, 1e-9)); // reflection of the SOURCE p0 + REQUIRE_THAT(m.p1.y(), WithinAbs(2.0, 1e-9)); +} + +TEST_CASE("Mirror Circle across Y axis", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = Vec2d(5, 0); + e.p0 = Vec2d(5, 0); + e.radius = 3; + + Vec2d a(0, -1); + Vec2d b(0, 1); + + auto result = SketchEngine::mirror_entities({e}, a, b); + REQUIRE(result.size() == 1); + + const auto& m = result[0]; + REQUIRE(m.type == SketchEntity::Type::Circle); + REQUIRE_THAT(m.center.x(), WithinAbs(-5.0, 1e-9)); + REQUIRE_THAT(m.center.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(m.radius, WithinAbs(3.0, 1e-9)); + REQUIRE_THAT(m.p0.x(), WithinAbs(-5.0, 1e-9)); + REQUIRE_THAT(m.p0.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Mirror Arc across X axis", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 1.0; + e.start_angle = 0.0; + e.end_angle = M_PI / 2.0; + e.p0 = Vec2d(1, 0); + e.p1 = Vec2d(0, 1); + + Vec2d a(-1, 0); + Vec2d b(1, 0); + + auto result = SketchEngine::mirror_entities({e}, a, b); + REQUIRE(result.size() == 1); + + const auto& m = result[0]; + REQUIRE(m.type == SketchEntity::Type::Arc); + + // Reversed with the rest of the half: the mirrored arc STARTS where the reflection of the + // source's end is, and finishes at the reflection of its start. + REQUIRE_THAT(m.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(m.p0.y(), WithinAbs(-1.0, 1e-9)); + REQUIRE_THAT(m.p1.x(), WithinAbs(1.0, 1e-9)); + REQUIRE_THAT(m.p1.y(), WithinAbs(0.0, 1e-9)); + + // The reflection alone would negate the sweep; walking the arc the other way negates it + // again, so a mirrored CCW arc is CCW once more and a mirrored CCW loop stays CCW. + double sweep = m.end_angle - m.start_angle; + double orig_sweep = e.end_angle - e.start_angle; + REQUIRE(orig_sweep > 0.0); + REQUIRE(sweep > 0.0); +} + +TEST_CASE("Offset Line by positive d", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(0, 0); + e.p1 = Vec2d(10, 0); + + auto result = SketchEngine::offset_entities({e}, 2.0); + REQUIRE(result.size() == 1); + + const auto& o = result[0]; + REQUIRE(o.type == SketchEntity::Type::Line); + REQUIRE_THAT(o.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(o.p0.y(), WithinAbs(2.0, 1e-9)); + REQUIRE_THAT(o.p1.x(), WithinAbs(10.0, 1e-9)); + REQUIRE_THAT(o.p1.y(), WithinAbs(2.0, 1e-9)); +} + +TEST_CASE("Offset Circle: expand and collapse", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = Vec2d(0, 0); + e.p0 = Vec2d(0, 0); + e.radius = 5; + + auto expanded = SketchEngine::offset_entities({e}, 2.0); + REQUIRE(expanded.size() == 1); + REQUIRE_THAT(expanded[0].radius, WithinAbs(7.0, 1e-9)); + + auto collapsed = SketchEngine::offset_entities({e}, -5.0); + REQUIRE(collapsed.empty()); +} + +// CONTRACT CHANGED: +d used to mean "radius + d" for every arc regardless of its sweep, while +// for a line it meant "left of the direction of travel". The two disagreed, so a profile made +// of lines AND arcs (any slot outline) offset with its straights going one way and its caps the +// other, and could never come back closed. The arc now follows the line's rule: +d is left of +// travel, which for this CCW quarter-arc is inward -> r = 3. See [SketchProfile]. +TEST_CASE("Offset Arc by positive d (left of travel: a CCW arc shrinks)", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 4.0; + e.start_angle = 0.0; + e.end_angle = M_PI / 2.0; + e.p0 = Vec2d(4, 0); + e.p1 = Vec2d(0, 4); + + auto result = SketchEngine::offset_entities({e}, 1.0); + REQUIRE(result.size() == 1); + + const auto& o = result[0]; + REQUIRE(o.type == SketchEntity::Type::Arc); + REQUIRE_THAT(o.radius, WithinAbs(3.0, 1e-9)); + REQUIRE_THAT(o.p0.x(), WithinAbs(3.0, 1e-9)); + REQUIRE_THAT(o.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(o.p1.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(o.p1.y(), WithinAbs(3.0, 1e-9)); +} + +TEST_CASE("Fillet right-angle corner", "[SketchEdit]") +{ + SketchEntity a; + a.type = SketchEntity::Type::Line; + a.p0 = Vec2d(0, 0); + a.p1 = Vec2d(10, 0); + + SketchEntity b; + b.type = SketchEntity::Type::Line; + b.p0 = Vec2d(10, 0); + b.p1 = Vec2d(10, 10); + + SketchEntity a_out, b_out, arc_out; + bool ok = SketchEngine::fillet_lines(a, b, 2.0, a_out, b_out, arc_out); + REQUIRE(ok); + + REQUIRE_THAT(a_out.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(a_out.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(a_out.p1.x(), WithinAbs(8.0, 1e-9)); + REQUIRE_THAT(a_out.p1.y(), WithinAbs(0.0, 1e-9)); + + REQUIRE_THAT(b_out.p0.x(), WithinAbs(10.0, 1e-9)); + REQUIRE_THAT(b_out.p0.y(), WithinAbs(2.0, 1e-9)); + REQUIRE_THAT(b_out.p1.x(), WithinAbs(10.0, 1e-9)); + REQUIRE_THAT(b_out.p1.y(), WithinAbs(10.0, 1e-9)); + + REQUIRE(arc_out.type == SketchEntity::Type::Arc); + REQUIRE_THAT(arc_out.radius, WithinAbs(2.0, 1e-9)); + REQUIRE_THAT(arc_out.center.x(), WithinAbs(8.0, 1e-9)); + REQUIRE_THAT(arc_out.center.y(), WithinAbs(2.0, 1e-9)); + REQUIRE_THAT((arc_out.p0 - arc_out.center).norm(), WithinAbs(2.0, 1e-9)); + REQUIRE_THAT((arc_out.p1 - arc_out.center).norm(), WithinAbs(2.0, 1e-9)); +} + +TEST_CASE("Fillet parallel lines returns false", "[SketchEdit]") +{ + SketchEntity a; + a.type = SketchEntity::Type::Line; + a.p0 = Vec2d(0, 0); + a.p1 = Vec2d(10, 0); + + SketchEntity b; + b.type = SketchEntity::Type::Line; + b.p0 = Vec2d(0, 5); + b.p1 = Vec2d(10, 5); + + SketchEntity a_out, b_out, arc_out; + REQUIRE_FALSE(SketchEngine::fillet_lines(a, b, 1.0, a_out, b_out, arc_out)); +} + +TEST_CASE("Fillet arc too big returns false", "[SketchEdit]") +{ + SketchEntity a; + a.type = SketchEntity::Type::Line; + a.p0 = Vec2d(0, 0); + a.p1 = Vec2d(1, 0); + + SketchEntity b; + b.type = SketchEntity::Type::Line; + b.p0 = Vec2d(1, 0); + b.p1 = Vec2d(1, 1); + + SketchEntity a_out, b_out, arc_out; + REQUIRE_FALSE(SketchEngine::fillet_lines(a, b, 5.0, a_out, b_out, arc_out)); +} + +TEST_CASE("Trim right arm", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(-5, 0); + e.p1 = Vec2d(5, 0); + + SketchEntity vc; + vc.type = SketchEntity::Type::Line; + vc.p0 = Vec2d(0, -5); + vc.p1 = Vec2d(0, 5); + + bool ok = SketchEngine::trim_entity(e, {vc}, Vec2d(3, 0)); + REQUIRE(ok); + REQUIRE_THAT(e.p0.x(), WithinAbs(-5.0, 1e-9)); + REQUIRE_THAT(e.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Trim left arm", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(-5, 0); + e.p1 = Vec2d(5, 0); + + SketchEntity vc; + vc.type = SketchEntity::Type::Line; + vc.p0 = Vec2d(0, -5); + vc.p1 = Vec2d(0, 5); + + bool ok = SketchEngine::trim_entity(e, {vc}, Vec2d(-3, 0)); + REQUIRE(ok); + REQUIRE_THAT(e.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.x(), WithinAbs(5.0, 1e-9)); + REQUIRE_THAT(e.p1.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Trim no cut (u out of range)", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(-5, 0); + e.p1 = Vec2d(5, 0); + + SketchEntity other; + other.type = SketchEntity::Type::Line; + other.p0 = Vec2d(0, 3); + other.p1 = Vec2d(0, 8); + + REQUIRE_FALSE(SketchEngine::trim_entity(e, {other}, Vec2d(3, 0))); +} + +TEST_CASE("Extend forward to line", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(0, 0); + e.p1 = Vec2d(2, 0); + + SketchEntity other; + other.type = SketchEntity::Type::Line; + other.p0 = Vec2d(5, -5); + other.p1 = Vec2d(5, 5); + + bool ok = SketchEngine::extend_entity(e, {other}, Vec2d(2, 0)); + REQUIRE(ok); + REQUIRE_THAT(e.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.x(), WithinAbs(5.0, 1e-9)); + REQUIRE_THAT(e.p1.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Extend forward to circle", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(0, 0); + e.p1 = Vec2d(2, 0); + + SketchEntity other; + other.type = SketchEntity::Type::Circle; + other.center = Vec2d(10, 0); + other.p0 = Vec2d(10, 0); + other.radius = 3; + + bool ok = SketchEngine::extend_entity(e, {other}, Vec2d(2, 0)); + REQUIRE(ok); + REQUIRE_THAT(e.p0.x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.x(), WithinAbs(7.0, 1e-9)); + REQUIRE_THAT(e.p1.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Extend backward", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(0, 0); + e.p1 = Vec2d(2, 0); + + SketchEntity other; + other.type = SketchEntity::Type::Line; + other.p0 = Vec2d(-3, -5); + other.p1 = Vec2d(-3, 5); + + bool ok = SketchEngine::extend_entity(e, {other}, Vec2d(0, 0)); + REQUIRE(ok); + REQUIRE_THAT(e.p0.x(), WithinAbs(-3.0, 1e-9)); + REQUIRE_THAT(e.p0.y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.p1.x(), WithinAbs(2.0, 1e-9)); + REQUIRE_THAT(e.p1.y(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Extend no target", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(0, 0); + e.p1 = Vec2d(2, 0); + + SketchEntity other; + other.type = SketchEntity::Type::Line; + other.p0 = Vec2d(5, -5); + other.p1 = Vec2d(5, -1); + + REQUIRE_FALSE(SketchEngine::extend_entity(e, {other}, Vec2d(2, 0))); +} + +// --- Arc/Circle subject trim & extend (Fase 4.5 kernel) ------------------- + +TEST_CASE("Trim arc drops the picked (start) side", "[SketchEdit]") +{ + // Upper semicircle r=5, ccw from (5,0) to (-5,0); cutter = vertical axis. + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 5; + e.start_angle = 0.0; + e.end_angle = M_PI; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(0, -10); + cut.p1 = Vec2d(0, 10); + + // Pick the right quarter (phi=pi/4) -> it is removed, left quarter kept. + bool ok = SketchEngine::trim_entity(e, {cut}, Vec2d(5 * std::cos(M_PI/4), 5 * std::sin(M_PI/4))); + REQUIRE(ok); + REQUIRE(e.type == SketchEntity::Type::Arc); + REQUIRE_THAT(e.radius, WithinAbs(5.0, 1e-9)); + REQUIRE_THAT(e.start_angle, WithinAbs(M_PI / 2.0, 1e-9)); + REQUIRE_THAT(e.end_angle, WithinAbs(M_PI, 1e-9)); +} + +TEST_CASE("Trim arc drops the picked (end) side", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 5; + e.start_angle = 0.0; + e.end_angle = M_PI; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(0, -10); + cut.p1 = Vec2d(0, 10); + + // Pick the left quarter (phi=3pi/4) -> removed, right quarter kept. + bool ok = SketchEngine::trim_entity(e, {cut}, Vec2d(5 * std::cos(3*M_PI/4), 5 * std::sin(3*M_PI/4))); + REQUIRE(ok); + REQUIRE(e.type == SketchEntity::Type::Arc); + REQUIRE_THAT(e.start_angle, WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.end_angle, WithinAbs(M_PI / 2.0, 1e-9)); +} + +TEST_CASE("Trim circle opens into an arc excluding the pick", "[SketchEdit]") +{ + // Full circle r=5; vertical axis cuts it at (0,+-5). Pick the right side + // (5,0): the kept arc is the left half, sweeping pi and centred on (-5,0). + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = Vec2d(0, 0); + e.p0 = Vec2d(5, 0); + e.radius = 5; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(0, -10); + cut.p1 = Vec2d(0, 10); + + bool ok = SketchEngine::trim_entity(e, {cut}, Vec2d(5, 0)); + REQUIRE(ok); + REQUIRE(e.type == SketchEntity::Type::Arc); + REQUIRE_THAT(e.radius, WithinAbs(5.0, 1e-9)); + REQUIRE_THAT(e.end_angle - e.start_angle, WithinAbs(M_PI, 1e-9)); + // Midpoint of the kept arc must point left (away from the pick). + double mid = 0.5 * (e.start_angle + e.end_angle); + REQUIRE_THAT(5 * std::cos(mid), WithinAbs(-5.0, 1e-9)); + REQUIRE_THAT(5 * std::sin(mid), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("Extend arc forward (end) to a crossing", "[SketchEdit]") +{ + // Quarter arc (5,0)->(0,5); cutter crosses the circle at (-5,0). Picking + // near the end grows the sweep ccw to pi. + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 5; + e.start_angle = 0.0; + e.end_angle = M_PI / 2.0; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(-10, 0); + cut.p1 = Vec2d(0, 0); + + bool ok = SketchEngine::extend_entity(e, {cut}, Vec2d(0, 5)); + REQUIRE(ok); + REQUIRE(e.type == SketchEntity::Type::Arc); + REQUIRE_THAT(e.start_angle, WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.end_angle, WithinAbs(M_PI, 1e-9)); +} + +TEST_CASE("Extend arc backward (start) to a crossing", "[SketchEdit]") +{ + // Quarter arc (0,5)->(-5,0); cutter crosses at (5,0). Picking near the + // start grows the sweep cw to start_angle 0. + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 5; + e.start_angle = M_PI / 2.0; + e.end_angle = M_PI; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(10, 0); + cut.p1 = Vec2d(0, 0); + + bool ok = SketchEngine::extend_entity(e, {cut}, Vec2d(0, 5)); + REQUIRE(ok); + REQUIRE_THAT(e.start_angle, WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(e.end_angle, WithinAbs(M_PI, 1e-9)); +} + +TEST_CASE("Extend circle returns false (closed)", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Circle; + e.center = Vec2d(0, 0); + e.p0 = Vec2d(5, 0); + e.radius = 5; + + SketchEntity cut; + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(0, -10); + cut.p1 = Vec2d(0, 10); + + REQUIRE_FALSE(SketchEngine::extend_entity(e, {cut}, Vec2d(5, 0))); +} + +TEST_CASE("Trim arc with no crossing returns false", "[SketchEdit]") +{ + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = Vec2d(0, 0); + e.radius = 5; + e.start_angle = 0.0; + e.end_angle = M_PI / 2.0; + + SketchEntity cut; // far away, never reaches the r=5 circle + cut.type = SketchEntity::Type::Line; + cut.p0 = Vec2d(20, -5); + cut.p1 = Vec2d(20, 5); + + REQUIRE_FALSE(SketchEngine::trim_entity(e, {cut}, Vec2d(5 * std::cos(M_PI/4), 5 * std::sin(M_PI/4)))); +} + +// Regression guard: BEFORE the weld fix this test failed with 4 edges instead of 6. +// BRepLib_MakeWire::Add silently DROPS a disconnected edge (BRepLib_DisconnectedWire + NotDone) +// yet every successful Add ends with BRepLib_WireDone + Done(), so IsDone() reported only whether +// the LAST edge connected. This sketch is a real user loop (2 arcs + 4 lines) given in +// creation order, which is NOT traversal order, and its joint between the 3rd and 4th entity +// below is open by 2.28e-5 mm — larger than OCCT's default vertex tolerance. +TEST_CASE("entities_to_wires keeps every edge of a loop drawn out of order", "[SketchEngine]") +{ + std::vector<SketchEntity> ents(6); + + ents[0].type = SketchEntity::Type::Line; + ents[0].p0 = Vec2d(-0.537697713190522, -0.0009077462579133498); + ents[0].p1 = Vec2d(99.46230228680926, -0.0009141694814321626); + + ents[1].type = SketchEntity::Type::Arc; + ents[1].p0 = Vec2d(-0.537697713190522, -0.0009077462579133498); + ents[1].p1 = Vec2d(-100.14602636660666, -0.27673132181233495); + ents[1].center = Vec2d(-50.313868583115394, -10.248112903179617); + ents[1].radius = 50.81999999999999; + ents[1].start_angle = 0.20302922018398933; + ents[1].end_angle = 2.944101582158999; + + ents[2].type = SketchEntity::Type::Line; + ents[2].p0 = Vec2d(99.46228668626469, -39.22091416947833); + ents[2].p1 = Vec2d(-0.537864366432629, -39.22420589376945); + + ents[3].type = SketchEntity::Type::Arc; + ents[3].p0 = Vec2d(-100.14602636694521, -38.94673132181234); + ents[3].p1 = Vec2d(-0.5378420354900413, -39.22421049164698); + ents[3].center = Vec2d(-50.31377078666179, -28.975499083790503); + ents[3].radius = 50.82006659345552; + ents[3].start_angle = -2.944104841286737; + ents[3].end_angle = -0.20305921095748136; + + ents[4].type = SketchEntity::Type::Line; + ents[4].p0 = Vec2d(99.46228668626469, -39.22091416947833); + ents[4].p1 = Vec2d(99.46230228680926, -0.0009141694814321626); + + ents[5].type = SketchEntity::Type::Line; + ents[5].p0 = Vec2d(-100.14602636694521, -38.94673132181234); + ents[5].p1 = Vec2d(-100.14602636660666, -0.27673132181233495); + + auto wires = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + + REQUIRE(wires.size() == 1); + + int edge_count = 0; + for (TopExp_Explorer ex(wires[0], TopAbs_EDGE); ex.More(); ex.Next()) + ++edge_count; + REQUIRE(edge_count == 6); + + REQUIRE(wires[0].Closed()); +} + +// Regression guard: this fails at 1e-4 (the wire builder refuses a joint the viewport had +// already shaded closed) and passes at kSketchJoinTol. A 20x10 quad with one joint left open +// by 9e-4 mm — just inside kSketchJoinTol, exactly the case the viewport shades closed — given +// in an order that is NOT traversal order, so the ordering path is covered too. +TEST_CASE("a loop the viewport shades closed is buildable by the kernel", "[SketchEngine]") +{ + std::vector<SketchEntity> ents(4); + + // (0,0) -> (20,0) -> (20,10) -> (0,10) -> (0.0009, 0): last endpoint misses (0,0) by 9e-4. + ents[0].type = SketchEntity::Type::Line; + ents[0].p0 = Vec2d(0, 0); + ents[0].p1 = Vec2d(20, 0); + + // Index 1 is the FAR side, not the neighbour of index 0: creation order here is + // deliberately not traversal order, so a partial wire would reject it without the + // traversal walk. + ents[1].type = SketchEntity::Type::Line; + ents[1].p0 = Vec2d(20, 10); + ents[1].p1 = Vec2d(0, 10); + + ents[2].type = SketchEntity::Type::Line; + ents[2].p0 = Vec2d(20, 0); + ents[2].p1 = Vec2d(20, 10); + + ents[3].type = SketchEntity::Type::Line; + ents[3].p0 = Vec2d(0, 10); + ents[3].p1 = Vec2d(0.0009, 0); + + auto wires = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + + REQUIRE(wires.size() == 1); + + int edge_count = 0; + for (TopExp_Explorer ex(wires[0], TopAbs_EDGE); ex.More(); ex.Next()) + ++edge_count; + REQUIRE(edge_count == 4); + + REQUIRE(wires[0].Closed()); +} + +// Regression guard for the auto-close preference. Same 20x10 quad, one joint open by 9e-4 mm +// and given out of traversal order, as "a loop the viewport shades closed is buildable by the +// kernel". With auto-close ON the gap welds (one closed wire); with auto-close OFF it must not. +TEST_CASE("auto-close off makes the kernel demand an exact joint", "[SketchEngine]") +{ + std::vector<SketchEntity> ents(4); + + ents[0].type = SketchEntity::Type::Line; + ents[0].p0 = Vec2d(0, 0); + ents[0].p1 = Vec2d(20, 0); + + ents[1].type = SketchEntity::Type::Line; + ents[1].p0 = Vec2d(20, 10); + ents[1].p1 = Vec2d(0, 10); + + ents[2].type = SketchEntity::Type::Line; + ents[2].p0 = Vec2d(20, 0); + ents[2].p1 = Vec2d(20, 10); + + ents[3].type = SketchEntity::Type::Line; + ents[3].p0 = Vec2d(0, 10); + ents[3].p1 = Vec2d(0.0009, 0); + + auto edge_count = [](const TopoDS_Wire& w) { + int n = 0; + for (TopExp_Explorer ex(w, TopAbs_EDGE); ex.More(); ex.Next()) ++n; + return n; + }; + + // ON: the 9e-4 mm gap is inside kSketchJoinTol, so the loop welds into one closed wire. + Slic3r::set_sketch_auto_close(true); + auto wires_on = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + REQUIRE(wires_on.size() == 1); + REQUIRE(edge_count(wires_on[0]) == 4); + REQUIRE(wires_on[0].Closed()); + + // OFF: the joint is not exact, so the gap is NOT welded. entities_to_wires legitimately + // returns open chains (a sweep path is open), so the observable is an OPEN wire — the + // kernel no longer hands back the closed loop the viewport would have shaded. + Slic3r::set_sketch_auto_close(false); + auto wires_off = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + REQUIRE(wires_off.size() == 1); + REQUIRE(edge_count(wires_off[0]) == 4); + REQUIRE_FALSE(wires_off[0].Closed()); + + // OFF + an EXACT joint (last endpoint exactly (0,0)): the quad still builds closed, + // proving "off" means exact rather than broken. + ents[3].p1 = Vec2d(0, 0); + auto wires_exact = SketchEngine::entities_to_wires(ents, SketchPlane::XY()); + REQUIRE(wires_exact.size() == 1); + REQUIRE(edge_count(wires_exact[0]) == 4); + REQUIRE(wires_exact[0].Closed()); + + // Restore the default so test order cannot leak OFF into the other cases. + Slic3r::set_sketch_auto_close(true); +} + +// A stray open segment touching nothing must not break a closed profile: the viewport +// discards open chains when it shades a region extrudable, so with closed_only the kernel +// must discard them too — otherwise Revolve/Extrude fail on a sketch that looks perfect. +TEST_CASE("a stray open segment does not break a closed profile", "[SketchEngine]") +{ + auto line = [](double x0, double y0, double x1, double y1) { + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(x0, y0); + e.p1 = Vec2d(x1, y1); + return e; + }; + + std::vector<SketchEntity> ents; + ents.push_back(line(0, 0, 20, 0)); // 20x10 quad + ents.push_back(line(20, 0, 20, 10)); + ents.push_back(line(20, 10, 0, 10)); + ents.push_back(line(0, 10, 0, 0)); + ents.push_back(line(5, 5, 6, 5.2)); // stray, touches nothing + + auto edge_count = [](const TopoDS_Wire& w) { + int n = 0; + for (TopExp_Explorer ex(w, TopAbs_EDGE); ex.More(); ex.Next()) ++n; + return n; + }; + + // Unchanged behaviour: the stray line is its own open wire. + auto wires_all = SketchEngine::entities_to_wires(ents, SketchPlane::XY(), /*closed_only=*/false); + REQUIRE(wires_all.size() == 2); + + // closed_only drops the open chain: one closed quad survives. + auto wires_closed = SketchEngine::entities_to_wires(ents, SketchPlane::XY(), /*closed_only=*/true); + REQUIRE(wires_closed.size() == 1); + REQUIRE(edge_count(wires_closed[0]) == 4); + REQUIRE(wires_closed[0].Closed()); + + // The Revolve path (entities_to_wire) finds the single closed loop. + TopoDS_Wire w = SketchEngine::entities_to_wire(ents, SketchPlane::XY(), /*closed_only=*/true); + REQUIRE_FALSE(w.IsNull()); + REQUIRE(edge_count(w) == 4); +} + +// sketch_open_ends names the two free endpoints of an open chain, so the "does not form a +// single closed wire" failure can say WHERE the sketch is open. +TEST_CASE("sketch_open_ends names where a chain fails to close", "[SketchEngine]") +{ + auto line = [](double x0, double y0, double x1, double y1) { + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = Vec2d(x0, y0); + e.p1 = Vec2d(x1, y1); + return e; + }; + + // Open C shape: three lines, free endpoints at (0,0) and (0,10). + std::vector<SketchEntity> ents; + ents.push_back(line(0, 0, 10, 0)); + ents.push_back(line(10, 0, 10, 10)); + ents.push_back(line(10, 10, 0, 10)); + + auto got = sketch_open_ends(ents, SketchPlane::XY()); + REQUIRE(got.size() == 2); + + std::sort(got.begin(), got.end(), [](const Vec2d& a, const Vec2d& b) { + if (a.x() < b.x()) return true; + if (a.x() > b.x()) return false; + return a.y() < b.y(); + }); + + REQUIRE_THAT(got[0].x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(got[0].y(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(got[1].x(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT(got[1].y(), WithinAbs(10.0, 1e-9)); +} diff --git a/tests/libslic3r/test_sketchimport.cpp b/tests/libslic3r/test_sketchimport.cpp new file mode 100644 index 0000000000..3e3f7c906e --- /dev/null +++ b/tests/libslic3r/test_sketchimport.cpp @@ -0,0 +1,103 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) + +#include "libslic3r/CAD/SketchImport.hpp" +#include "libslic3r/Utils.hpp" // resources_dir +#include "test_utils.hpp" // ScopedTemporaryFile + +#include <fstream> +#include <string> + +using namespace Slic3r; + +// A 10x10 mm filled square, on disk because nanosvg reads from a file. The path +// must come from the system temp dir: a hardcoded /tmp is not writable on +// Windows, where the stream fails silently and the parse then sees no file. +static void write_square_svg(const std::string& path) +{ + std::ofstream f(path); + f << "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10mm\" height=\"10mm\" " + "viewBox=\"0 0 10 10\">" + "<path d=\"M0,0 L10,0 L10,10 L0,10 Z\" fill=\"#000000\"/></svg>"; + REQUIRE(f.good()); +} + +TEST_CASE("svg_to_regions parses a filled path into a region", "[SketchImport]") +{ + ScopedTemporaryFile square(".svg"); + write_square_svg(square.string()); + + ImportRegions regs = svg_to_regions(square.string(), 1.0); + REQUIRE(regs.size() >= 1); + // Outer contour present with at least a few vertices. + REQUIRE(regs[0].size() >= 1); + REQUIRE(regs[0][0].size() >= 4); + + // Centred on the origin: bbox half-extent ~5 mm on each side. + double hi = 0.0; + for (const auto& region : regs) + for (const auto& contour : region) + for (const Vec2d& p : contour) + hi = std::max(hi, std::max(std::abs(p.x()), std::abs(p.y()))); + REQUIRE(hi > 3.0); // not collapsed + REQUIRE(hi < 8.0); // ~5 mm half-size after centring +} + +TEST_CASE("svg_to_regions rejects bad input gracefully", "[SketchImport]") +{ + ScopedTemporaryFile square(".svg"); + write_square_svg(square.string()); + ScopedTemporaryFile missing(".svg"); // name reserved, never written + + REQUIRE(svg_to_regions("", 1.0).empty()); + REQUIRE(svg_to_regions(missing.string(), 1.0).empty()); + REQUIRE(svg_to_regions(square.string(), 0.0).empty()); // scale<=0 +} + +TEST_CASE("transform_regions moves and scales independently", "[SketchImport]") +{ + ImportRegions r = {{ {Vec2d(-1,-1), Vec2d(1,-1), Vec2d(1,1), Vec2d(-1,1)} }}; + ImportRegions t = transform_regions(r, Vec2d(10, 20), 2.0, 3.0); + REQUIRE(t.size() == 1); + REQUIRE(t[0][0].size() == 4); + // (-1,-1) -> (-1*2+10, -1*3+20) = (8, 17) + REQUIRE_THAT(t[0][0][0].x(), Catch::Matchers::WithinAbs(8.0, 1e-9)); + REQUIRE_THAT(t[0][0][0].y(), Catch::Matchers::WithinAbs(17.0, 1e-9)); + // (1,1) -> (1*2+10, 1*3+20) = (12, 23) + REQUIRE_THAT(t[0][0][2].x(), Catch::Matchers::WithinAbs(12.0, 1e-9)); + REQUIRE_THAT(t[0][0][2].y(), Catch::Matchers::WithinAbs(23.0, 1e-9)); + // identity is a no-op + ImportRegions id = transform_regions(r, Vec2d(0,0), 1.0, 1.0); + REQUIRE_THAT(id[0][0][1].x(), Catch::Matchers::WithinAbs(1.0, 1e-9)); +} + +TEST_CASE("text_to_regions vectorizes glyphs with counters", "[SketchImport]") +{ + // Locate the bundled font; resources_dir() may be unset under ctest, so + // fall back to a cwd-relative path (tests run from the repo root). + std::string font = resources_dir().empty() + ? std::string("resources/fonts/HarmonyOS_Sans_SC_Regular.ttf") + : resources_dir() + "/fonts/HarmonyOS_Sans_SC_Regular.ttf"; + { + std::ifstream probe(font); + if (!probe.good()) { + SUCCEED("bundled font not reachable in this environment; covered live on :10"); + return; + } + } + + // Bad input is rejected without throwing. + REQUIRE(text_to_regions("", 10.0, font).empty()); + REQUIRE(text_to_regions("A", 0.0, font).empty()); + + // 'A' has one triangular counter -> a region with an outer + 1 hole. + ImportRegions a = text_to_regions("A", 12.0, font); + REQUIRE(a.size() >= 1); + bool has_hole = false; + for (const auto& region : a) + if (region.size() >= 2) has_hole = true; + REQUIRE(has_hole); + + // Two letters produce more regions than one. + ImportRegions ab = text_to_regions("AB", 12.0, font); + REQUIRE(ab.size() >= a.size()); +} diff --git a/tests/libslic3r/test_sketchinference.cpp b/tests/libslic3r/test_sketchinference.cpp new file mode 100644 index 0000000000..cbdd90628b --- /dev/null +++ b/tests/libslic3r/test_sketchinference.cpp @@ -0,0 +1,174 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope + +#include "libslic3r/CAD/SketchInference.hpp" + +using namespace Slic3r; +using K = InferenceSnap::Kind; + +static SketchEntity line(Vec2d a, Vec2d b) +{ + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = a; e.p1 = b; return e; +} +static SketchEntity circle(Vec2d c, double r) +{ + SketchEntity e; e.type = SketchEntity::Type::Circle; e.center = c; e.p0 = c; e.radius = r; return e; +} + +TEST_CASE("inference: cursor near a line endpoint snaps Coincident-able to it", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}) }; + auto s = infer_point_snap(ents, {10.3, 0.2}, 1.0); + REQUIRE(s.kind == K::Endpoint); + CHECK(s.entity == 0); + CHECK(s.role == SketchPointRole::P1); + CHECK((s.point - Vec2d(10, 0)).norm() == Approx(0.0).margin(1e-9)); +} + +TEST_CASE("inference: endpoint beats midpoint when both are in range", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {2, 0}) }; + // Query equidistant-ish but closer to the endpoint: endpoint tier wins regardless. + auto s = infer_point_snap(ents, {1.9, 0.0}, 5.0); + CHECK(s.kind == K::Endpoint); + CHECK(s.role == SketchPointRole::P1); +} + +TEST_CASE("inference: midpoint of a line is detected", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}) }; + auto s = infer_point_snap(ents, {5.1, 0.1}, 0.5, /*include_origin=*/false); + REQUIRE(s.kind == K::Midpoint); + CHECK((s.point - Vec2d(5, 0)).norm() == Approx(0.0).margin(1e-9)); +} + +TEST_CASE("inference: circle centre and rim", "[inference]") +{ + std::vector<SketchEntity> ents = { circle({0, 0}, 5.0) }; + auto c = infer_point_snap(ents, {0.2, 0.1}, 1.0, false); + CHECK(c.kind == K::Center); + auto r = infer_point_snap(ents, {5.1, 0.0}, 1.0, false); + REQUIRE(r.kind == K::OnEdge); + CHECK((r.point - Vec2d(5, 0)).norm() == Approx(0.0).margin(1e-9)); +} + +TEST_CASE("inference: origin snap when nothing else is near", "[inference]") +{ + std::vector<SketchEntity> ents = { line({20, 20}, {30, 20}) }; + auto s = infer_point_snap(ents, {0.1, 0.1}, 1.0); + REQUIRE(s.kind == K::Origin); + CHECK(s.entity == -1); + CHECK((s.point - Vec2d(0, 0)).norm() == Approx(0.0).margin(1e-9)); +} + +TEST_CASE("inference: nothing in range returns None and the raw query", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}) }; + auto s = infer_point_snap(ents, {50, 50}, 1.0, /*include_origin=*/false); + CHECK(s.kind == K::None); + CHECK((s.point - Vec2d(50, 50)).norm() == Approx(0.0).margin(1e-9)); +} + +TEST_CASE("inference: axis inference flags horizontal / vertical segments", "[inference]") +{ + CHECK(infer_axis_constraint({0, 0}, {10, 0.05}).value() == SketchConstraintType::Horizontal); + CHECK(infer_axis_constraint({0, 0}, {0.05, 10}).value() == SketchConstraintType::Vertical); + CHECK_FALSE(infer_axis_constraint({0, 0}, {10, 10}).has_value()); // 45 deg + CHECK_FALSE(infer_axis_constraint({0, 0}, {0, 0}).has_value()); // degenerate +} + +TEST_CASE("inference: perpendicular inferred for a connected square corner", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10, 0}, {10, 7}) }; + auto r = infer_relations(ents, 1); + REQUIRE(r.size() == 1); + CHECK(r[0].type == SketchConstraintType::Perpendicular); + CHECK(r[0].ea == 0); + CHECK(r[0].eb == 1); +} + +TEST_CASE("inference: parallel inferred for connected collinear-ish lines", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10, 0}, {21, 0.1}) }; + auto r = infer_relations(ents, 1); + REQUIRE(r.size() == 1); + CHECK(r[0].type == SketchConstraintType::Parallel); + CHECK(r[0].ea == 0); + CHECK(r[0].eb == 1); +} + +TEST_CASE("inference: two unconnected parallel lines infer nothing", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({0, 5}, {10, 5}) }; + auto r = infer_relations(ents, 1); + CHECK(r.empty()); +} + +TEST_CASE("inference: a corner outside tolerance infers nothing", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10, 0}, {15, 7}) }; + auto r = infer_relations(ents, 1); + CHECK(r.empty()); +} + +TEST_CASE("inference: equal radius inferred for near-equal circles", "[inference]") +{ + auto r = infer_relations({ circle({0, 0}, 5.0), circle({30, 0}, 5.02) }, 1); + REQUIRE(r.size() == 1); + CHECK(r[0].type == SketchConstraintType::EqualRadius); + CHECK(r[0].ea == 0); + CHECK(r[0].eb == 1); + + auto r2 = infer_relations({ circle({0, 0}, 5.0), circle({30, 0}, 6.0) }, 1); + CHECK(r2.empty()); +} + +TEST_CASE("inference: tangent inferred for a line meeting a circle tangentially", "[inference]") +{ + std::vector<SketchEntity> ents = { circle({0, 0}, 5.0), line({0, 5}, {10, 5}) }; + auto r = infer_relations(ents, 1); + REQUIRE(r.size() == 1); + CHECK(r[0].type == SketchConstraintType::Tangent); + CHECK(r[0].ea == 0); + CHECK(r[0].eb == 1); + + std::vector<SketchEntity> off = { circle({0, 0}, 5.0), line({0, 5}, {10, 9}) }; + CHECK(infer_relations(off, 1).empty()); +} + +TEST_CASE("inference: nothing inferred against a higher index", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10, 0}, {10, 7}) }; + auto r = infer_relations(ents, 0); + CHECK(r.empty()); +} + +TEST_CASE("inference: degenerate entities are ignored", "[inference]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10, 0}, {10, 0}) }; + auto r = infer_relations(ents, 1); + CHECK(r.empty()); +} + +// The cap that keeps infer_relations linear rather than quadratic. Without it a drawing with +// many equal holes yields a constraint per PAIR: 200 equal circles produced ~20000 candidates, +// the batch was rejected as over-constrained, and the caller's one-at-a-time fallback then ran +// a solve per constraint -- which pinned the app at 95% of a core with the MCP socket +// unresponsive, and is what the corpus rung caught. +TEST_CASE("inference: at most one relation per rule per new entity", "[inference]") +{ + // 40 circles of the same radius; the 41st must not produce 40 EqualRadius constraints. + std::vector<SketchEntity> ents; + for (int i = 0; i < 41; ++i) { + SketchEntity c; + c.type = SketchEntity::Type::Circle; + c.center = Vec2d(i * 20.0, 0.0); + c.p0 = c.center; + c.radius = 5.0; + ents.push_back(c); + } + auto rels = infer_relations(ents, 40); + CHECK(rels.size() == 1); + CHECK(rels[0].type == SketchConstraintType::EqualRadius); + CHECK(rels[0].eb == 40); +} diff --git a/tests/libslic3r/test_sketchprofile.cpp b/tests/libslic3r/test_sketchprofile.cpp new file mode 100644 index 0000000000..7f455eb936 --- /dev/null +++ b/tests/libslic3r/test_sketchprofile.cpp @@ -0,0 +1,209 @@ +// Closed-profile harness for the 2D sketch layer. +// +// The existing [SketchEdit] cases check one entity at a time — offset ONE line, mirror ONE +// arc — and every one of them passes while the feature they belong to is unusable. What a +// user actually does is combine 2D features into a CLOSED PROFILE and extrude it, and the +// property that makes that work is topological, not per-entity: after the operation, do the +// pieces still form a single closed loop? +// +// So these cases assert the loop, not the coordinates. That is the invariant every sketch +// operation has to preserve and the only one that predicts whether the GUI can build a solid +// out of the result. +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include "libslic3r/CAD/SketchEngine.hpp" +#include <BRepGProp.hxx> +#include <GProp_GProps.hxx> +#include <cmath> + +using namespace Slic3r; +using Catch::Matchers::WithinAbs; + +namespace { + +SketchPlane xy_plane() { return SketchPlane::XY(); } + +SketchEntity line(const Vec2d& a, const Vec2d& b) +{ + SketchEntity e; + e.type = SketchEntity::Type::Line; + e.p0 = a; e.p1 = b; + return e; +} + +// A CCW rectangle as four Line entities sharing endpoints exactly. +std::vector<SketchEntity> rect(double w, double h) +{ + return { line({0, 0}, {w, 0}), line({w, 0}, {w, h}), + line({w, h}, {0, h}), line({0, h}, {0, 0}) }; +} + +// How many of the wires the sketch resolves to are CLOSED. +int closed_wires(const std::vector<SketchEntity>& ents) +{ + const auto ws = SketchEngine::entities_to_wires(ents, xy_plane()); + int n = 0; + for (const auto& w : ws) + if (!w.IsNull() && w.Closed()) ++n; + return n; +} + +// Enclosed area of the single closed loop the sketch resolves to. -1 when it is not one +// closed loop — the failure the whole file exists to catch. +double profile_area(const std::vector<SketchEntity>& ents) +{ + const auto ws = SketchEngine::entities_to_wires(ents, xy_plane()); + if (ws.size() != 1 || ws[0].IsNull() || !ws[0].Closed()) return -1.0; + const TopoDS_Face f = SketchEngine::wires_to_face(ws, xy_plane()); + GProp_GProps props; + BRepGProp::SurfaceProperties(f, props); + return props.Mass(); +} + +SketchEntity arc(const Vec2d& c, double r, double a0, double a1) +{ + SketchEntity e; + e.type = SketchEntity::Type::Arc; + e.center = c; + e.radius = r; + e.start_angle = a0; + e.end_angle = a1; + e.p0 = c + r * Vec2d(std::cos(a0), std::sin(a0)); + e.p1 = c + r * Vec2d(std::cos(a1), std::sin(a1)); + return e; +} + +} // namespace + +TEST_CASE("profile baseline: a hand-built rectangle is one closed loop", "[SketchProfile]") +{ + REQUIRE(closed_wires(rect(40, 20)) == 1); +} + +TEST_CASE("profile: mirroring a closed rectangle keeps it closed", "[SketchProfile]") +{ + const auto m = SketchEngine::mirror_entities(rect(40, 20), Vec2d(-10, 0), Vec2d(-10, 1)); + REQUIRE(m.size() == 4); + REQUIRE(closed_wires(m) == 1); +} + +TEST_CASE("profile: mirroring an open half-profile closes it against the axis", "[SketchProfile]") +{ + // Half a rectangle, open along x=0 — the classic "draw half, mirror it" gesture. + const std::vector<SketchEntity> half = { + line({0, 0}, {20, 0}), line({20, 0}, {20, 10}), line({20, 10}, {0, 10}) }; + auto all = half; + for (const auto& e : SketchEngine::mirror_entities(half, Vec2d(0, 0), Vec2d(0, 1))) + all.push_back(e); + REQUIRE(all.size() == 6); + REQUIRE(closed_wires(all) == 1); +} + +TEST_CASE("profile: offsetting a closed rectangle keeps it closed", "[SketchProfile]") +{ + const auto out = SketchEngine::offset_entities(rect(40, 20), 5.0); + REQUIRE(out.size() == 4); + REQUIRE(closed_wires(out) == 1); +} + +TEST_CASE("profile: offset outward grows the enclosed area by the right amount", "[SketchProfile]") +{ + // A rectangle offset outward by d is (w+2d) x (h+2d) with the corners rounded at r=d, + // so its area is w*h + 2d(w+h) + pi*d^2 whichever way the corners are healed... except + // for a sharp-corner offset, which is exactly (w+2d)*(h+2d). Either healing is defensible; + // a set of four disconnected segments is not, and that is what this measures. + const double w = 40, h = 20, d = 5; + const auto out = SketchEngine::offset_entities(rect(w, h), d); + const auto ws = SketchEngine::entities_to_wires(out, xy_plane()); + REQUIRE(ws.size() == 1); + REQUIRE(ws[0].Closed()); +} + +TEST_CASE("profile: offset sign is left-of-travel, so +d shrinks a CCW rectangle", "[SketchProfile]") +{ + // The convention has to be pinned by a test, because it is the one thing a caller cannot + // read off the geometry: +d = left of the direction of travel = inward for a CCW loop. + // Miter join on a rectangle keeps the corners sharp, so the result is exact. + const double w = 40, h = 20, d = 5; + REQUIRE_THAT(profile_area(SketchEngine::offset_entities(rect(w, h), d)), + WithinAbs((w - 2 * d) * (h - 2 * d), 1e-6)); + REQUIRE_THAT(profile_area(SketchEngine::offset_entities(rect(w, h), -d)), + WithinAbs((w + 2 * d) * (h + 2 * d), 1e-6)); +} + +TEST_CASE("profile: offsetting a stadium (two lines + two arcs) stays closed", "[SketchProfile]") +{ + // A slot outline: straight top and bottom joined by half-circle caps. This is the case the + // per-entity offset could never repair, because both seams are line-to-arc. + const double L = 30, r = 8, d = 3; + const std::vector<SketchEntity> slot = { + line({0, -r}, {L, -r}), + arc({L, 0}, r, -M_PI / 2, M_PI / 2), + line({L, r}, {0, r}), + arc({0, 0}, r, M_PI / 2, 3 * M_PI / 2), + }; + REQUIRE(closed_wires(slot) == 1); + const auto out = SketchEngine::offset_entities(slot, -d); // -d = outward for this CCW loop + REQUIRE(closed_wires(out) == 1); + // Offsetting a stadium outward by d gives the stadium with radius r+d: L*2(r+d) + pi(r+d)^2. + // Lines and caps must move the SAME way — that is the assertion this case exists for. + const double rr = r + d; + REQUIRE_THAT(profile_area(out), WithinAbs(L * 2 * rr + M_PI * rr * rr, 1e-6)); +} + +TEST_CASE("profile: an open chain offsets without being forced closed", "[SketchProfile]") +{ + // A sweep path is legitimately open; the repair must join its interior seams and leave + // the two free ends alone. + const std::vector<SketchEntity> open_chain = { + line({0, 0}, {20, 0}), line({20, 0}, {20, 10}) }; + const auto out = SketchEngine::offset_entities(open_chain, 4.0); + REQUIRE(out.size() == 2); + REQUIRE(closed_wires(out) == 0); + // The interior seam is repaired: the two offset segments still meet. + REQUIRE_THAT((out[0].p1 - out[1].p0).norm(), WithinAbs(0.0, 1e-9)); +} + +TEST_CASE("profile: a mirrored half offsets as one loop, not two", "[SketchProfile]") +{ + // The classic "draw half, mirror it" gesture on a stadium. mirror_entities emits a half + // that travels the opposite way round, so the concatenation must still chain as ONE closed + // loop and its mirrored cap must offset outward like the original, not inward. + const double L = 30, R = 15, d = 4; + const std::vector<SketchEntity> half = { + line({0, -R}, {L, -R}), + arc({L, 0}, R, -M_PI / 2, M_PI / 2), + line({L, R}, {0, R}), + }; + std::vector<SketchEntity> all = half; + for (const auto& e : SketchEngine::mirror_entities(half, Vec2d(0, 0), Vec2d(0, 1))) + all.push_back(e); + REQUIRE(closed_wires(all) == 1); + + const auto out = SketchEngine::offset_entities(all, -d); // -d = outward for this loop + REQUIRE(closed_wires(out) == 1); + for (const auto& o : out) + if (o.type == SketchEntity::Type::Arc) + REQUIRE_THAT(o.radius, WithinAbs(R + d, 1e-9)); +} + +TEST_CASE("profile: a mirrored half continues the original chain", "[SketchProfile]") +{ + // The point of emitting the reflected half reversed: appending it to the source must give a + // chain you can WALK, head-to-tail, with no consumer having to notice that half of it came + // from a mirror. The end of the last source entity must be the start of the first mirrored + // one, and the end of the last mirrored one must close back to the very first start. + const std::vector<SketchEntity> half = { + line({0, -15}, {50, -15}), line({50, -15}, {50, 15}), line({50, 15}, {0, 15}) }; + const auto m = SketchEngine::mirror_entities(half, Vec2d(0, 0), Vec2d(0, 1)); + REQUIRE(m.size() == 3); + + REQUIRE_THAT((half.back().p1 - m.front().p0).norm(), WithinAbs(0.0, 1e-9)); + REQUIRE_THAT((m.back().p1 - half.front().p0).norm(), WithinAbs(0.0, 1e-9)); + + for (size_t i = 0; i + 1 < m.size(); ++i) + REQUIRE_THAT((m[i].p1 - m[i + 1].p0).norm(), WithinAbs(0.0, 1e-9)); + + auto all = half; + for (const auto& e : m) all.push_back(e); + REQUIRE(closed_wires(all) == 1); +} diff --git a/tests/libslic3r/test_slvs_constraints.cpp b/tests/libslic3r/test_slvs_constraints.cpp new file mode 100644 index 0000000000..6dfac07348 --- /dev/null +++ b/tests/libslic3r/test_slvs_constraints.cpp @@ -0,0 +1,401 @@ +#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope + +#include "libslic3r/CAD/SketchSolver.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" + +using namespace Slic3r; +using CT = SketchConstraintType; +using R = SketchPointRole; + +static SketchEntity line(Vec2d a, Vec2d b) +{ + SketchEntity e; e.type = SketchEntity::Type::Line; e.p0 = a; e.p1 = b; return e; +} +static SketchEntity circle(Vec2d c, double r) +{ + SketchEntity e; e.type = SketchEntity::Type::Circle; e.center = c; e.p0 = c; e.radius = r; return e; +} +static SketchEntityConstraintDef con(CT t, int ea, R ra, int eb, R rb, double v = 0.0) +{ + SketchEntityConstraintDef c; c.type = t; c.ea = ea; c.ra = ra; c.eb = eb; c.rb = rb; c.value = v; return c; +} + +TEST_CASE("slvs: distance + horizontal + fix solves a line length", "[slvs]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {5, 1}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Horizontal, 0, R::P0, 0, R::P1), + con(CT::Distance, 0, R::P0, 0, R::P1, 10.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK((ents[0].p1 - ents[0].p0).norm() == Approx(10.0).margin(1e-6)); + CHECK(ents[0].p0.x() == Approx(0.0).margin(1e-6)); + CHECK(ents[0].p0.y() == Approx(0.0).margin(1e-6)); + CHECK(ents[0].p1.y() == Approx(0.0).margin(1e-6)); // horizontal +} + +TEST_CASE("slvs: coincident joins two line endpoints (loop closes)", "[slvs]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({10.3, 0.2}, {10, 10}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Coincident, 0, R::P1, 1, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK((ents[0].p1 - ents[1].p0).norm() == Approx(0.0).margin(1e-6)); +} + +TEST_CASE("slvs: parallel + perpendicular on lines", "[slvs]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 1}), line({0, 5}, {10, 5.5}), line({0, 0}, {0.5, 10}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Horizontal, 0, R::P0, 0, R::P1), + con(CT::Parallel, 0, R::P0, 1, R::P0), // line1 parallel to line0 + con(CT::Perpendicular, 0, R::P0, 2, R::P0), // line2 perpendicular to line0 + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[1].p1.y() - ents[1].p0.y() == Approx(0.0).margin(1e-6)); // line1 horizontal + CHECK(ents[2].p1.x() - ents[2].p0.x() == Approx(0.0).margin(1e-6)); // line2 vertical +} + +TEST_CASE("slvs: circle radius constraint", "[slvs]") +{ + std::vector<SketchEntity> ents = { circle({2, 2}, 3.0) }; + std::vector<SketchEntityConstraintDef> cons = { con(CT::Radius, 0, R::P0, -1, R::P0, 7.0) }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].radius == Approx(7.0).margin(1e-6)); +} + +TEST_CASE("slvs: degrees of freedom reported", "[slvs]") +{ + // One free line with only a Fix on the start: 4 DoF total minus 2 (fix) = 2 remaining. + std::vector<SketchEntity> ents = { line({0, 0}, {3, 4}) }; + std::vector<SketchEntityConstraintDef> cons = { con(CT::Fix, 0, R::P0, 0, R::P0) }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(res.dof == 2); +} + +TEST_CASE("slvs: drag pulls a point while constraints hold", "[slvs]") +{ + // A vertical line of fixed length 10, P0 pinned at the origin. Dragging P1 toward + // (10,0) must keep the length (Distance constraint) but rotate the line so the end + // follows the cursor into positive x — the dragged param wins the under-constrained DoF. + std::vector<SketchEntity> ents = { line({0, 0}, {0, 10}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Distance, 0, R::P0, 0, R::P1, 10.0), + }; + ents[0].p1 = Vec2d(10, 0); // user dropped the endpoint here + auto res = sketch_solve_drag(ents, cons, 0, R::P1); + REQUIRE(res.ok); + CHECK((ents[0].p1 - ents[0].p0).norm() == Approx(10.0).margin(1e-6)); // length held + CHECK(ents[0].p0.x() == Approx(0.0).margin(1e-6)); // P0 still pinned + CHECK(ents[0].p0.y() == Approx(0.0).margin(1e-6)); + CHECK(ents[0].p1.x() > 1.0); // end followed the drag toward +x (not stuck vertical) +} + +TEST_CASE("slvs: over-constrained / inconsistent is detected", "[slvs]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {5, 0}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Fix, 0, R::P1, 0, R::P1), + con(CT::Distance, 0, R::P0, 0, R::P1, 99.0), // contradicts the pinned endpoints + }; + auto res = sketch_solve(ents, cons); + CHECK_FALSE(res.ok); // SLVS_RESULT_INCONSISTENT +} + +// yww4. libslvs sizes its System with a compile-time `MAX_UNKNOWNS = 1024`, and the +// solver is handed every entity in the sketch at 2 params per point — so a sketch of about 480 +// lines is the last one that fits and the next comes back TOO_MANY_UNKNOWNS. Because +// try_add_constraints rolls a failed batch back, that turned into: every auto-inferred constraint +// on a large sketch silently dropped, and from then on no dimension could ever be applied to it. +// Constraints only couple entities that share a point, so the sketch is solved component by +// component when the whole system does not fit. +TEST_CASE("slvs: a sketch past the solver's unknown limit still solves", "[slvs]") +{ + // 300 disjoint squares: 1200 lines, 4800 unknowns whole, 8 per component. + const int N = 300; + std::vector<SketchEntity> ents; + std::vector<SketchEntityConstraintDef> cons; + for (int i = 0; i < N; ++i) { + const double x = (i % 30) * 10.0, y = (i / 30) * 10.0; + const int b = int(ents.size()); + ents.push_back(line({x, y}, {x + 4.0, y})); + ents.push_back(line({x + 4.0, y}, {x + 4.0, y + 4.0})); + ents.push_back(line({x + 4.0, y + 4.0}, {x, y + 4.0})); + ents.push_back(line({x, y + 4.0}, {x, y})); + for (int k = 0; k < 4; ++k) + cons.push_back(con(CT::Coincident, b + k, R::P1, b + (k + 1) % 4, R::P0)); + } + REQUIRE(ents.size() == size_t(4 * N)); + + std::vector<SketchEntity> before = ents; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + for (size_t i = 0; i < ents.size(); ++i) { // already satisfied: nothing may move + CHECK(ents[i].p0.x() == Approx(before[i].p0.x()).margin(1e-9)); + CHECK(ents[i].p0.y() == Approx(before[i].p0.y()).margin(1e-9)); + CHECK(ents[i].p1.x() == Approx(before[i].p1.x()).margin(1e-9)); + CHECK(ents[i].p1.y() == Approx(before[i].p1.y()).margin(1e-9)); + } + + // And a dimension typed onto one of them lands exactly, which is what stopped working. + cons.push_back(con(CT::Distance, 0, R::P0, 0, R::P1, 7.0)); + auto res2 = sketch_solve(ents, cons); + REQUIRE(res2.ok); + CHECK((ents[0].p1 - ents[0].p0).norm() == Approx(7.0).margin(1e-9)); + + // A conflict inside ONE component must still be caught, not swallowed by the split. + cons.push_back(con(CT::Distance, 0, R::P0, 0, R::P1, 99.0)); + auto res3 = sketch_solve(ents, cons); + CHECK_FALSE(res3.ok); +} + +TEST_CASE("slvs: equal radius drives two circles to one radius", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { circle({0, 0}, 5.0), circle({10, 0}, 12.0) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::EqualRadius, 0, R::P0, 1, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].radius == Approx(ents[1].radius).margin(1e-9)); + CHECK(ents[0].radius > 1e-6); // equal-at-zero would satisfy the line above trivially +} + +TEST_CASE("slvs: equal radius plus a radius dimension pins both", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { circle({0, 0}, 5.0), circle({10, 0}, 12.0) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::EqualRadius, 0, R::P0, 1, R::P0), + con(CT::Radius, 0, R::P0, -1, R::P0, 8.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].radius == Approx(8.0).margin(1e-9)); + CHECK(ents[1].radius == Approx(8.0).margin(1e-9)); +} + +TEST_CASE("slvs: collinear makes two offset lines share one line", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({0, 4}, {10, 4}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Collinear, 0, R::P0, 1, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + const Vec2d& a0 = ents[0].p0; + const Vec2d ad = ents[0].p1 - ents[0].p0; + for (int k = 0; k <= 1; ++k) { + const Vec2d& pk = (k == 0) ? ents[1].p0 : ents[1].p1; + const double cross = ad.x() * (pk.y() - a0.y()) - ad.y() * (pk.x() - a0.x()); + CHECK(cross == Approx(0.0).margin(1e-9)); + } + // A line collapsed to a point is trivially collinear with anything, so the cross + // products above would pass on a degenerate solve. Both lines must survive intact. + CHECK(ad.norm() == Approx(10.0).margin(1e-9)); + CHECK((ents[1].p1 - ents[1].p0).norm() == Approx(10.0).margin(1e-9)); +} + +TEST_CASE("slvs: collinear on already-collinear lines moves nothing", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 0}), line({20, 0}, {30, 0}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Collinear, 0, R::P0, 1, R::P0), + }; + std::vector<SketchEntity> before = ents; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + for (size_t i = 0; i < ents.size(); ++i) { // already satisfied: nothing may move + CHECK(ents[i].p0.x() == Approx(before[i].p0.x()).margin(1e-9)); + CHECK(ents[i].p0.y() == Approx(before[i].p0.y()).margin(1e-9)); + CHECK(ents[i].p1.x() == Approx(before[i].p1.x()).margin(1e-9)); + CHECK(ents[i].p1.y() == Approx(before[i].p1.y()).margin(1e-9)); + } +} + +TEST_CASE("slvs: distance-x drives the horizontal gap and leaves Y alone", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {3, 7}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::DistanceX, 0, R::P0, 0, R::P1, 10.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + // SIGNED, not abs. PROJ_PT_DISTANCE constrains (pB - pA).dot(unit(dir)), and a + // LINE_SEGMENT's direction is point[0] - point[1] (slvs entity.cpp), so the reference + // line is built head-first to mean +X. Assert on abs and a flipped reference passes + // while every dimension lands the point on the wrong side of its anchor. + CHECK(ents[0].p1.x() - ents[0].p0.x() == Approx(10.0).margin(1e-9)); + CHECK(ents[0].p1.y() == Approx(7.0).margin(1e-9)); // Y must not be disturbed +} + +TEST_CASE("slvs: distance-y drives the vertical gap and leaves X alone", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {3, 7}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::DistanceY, 0, R::P0, 0, R::P1, 10.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p1.y() - ents[0].p0.y() == Approx(10.0).margin(1e-9)); // signed: see above + CHECK(ents[0].p1.x() == Approx(3.0).margin(1e-9)); // X must not be disturbed +} + +TEST_CASE("slvs: distance-x is not the straight-line distance", "[slvs][CadDocument]") +{ + // B is at straight-line distance 10 from A; DistanceX = 6 is already satisfied, so a + // correct projection leaves B untouched. This is the case that fails if the constraint + // were wired to SLVS_C_PT_PT_DISTANCE, which would drag B onto the radius-6 circle. + std::vector<SketchEntity> ents = { line({0, 0}, {6, 8}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::DistanceX, 0, R::P0, 0, R::P1, 6.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p1.x() == Approx(6.0).margin(1e-9)); + CHECK(ents[0].p1.y() == Approx(8.0).margin(1e-9)); +} + +TEST_CASE("slvs: distance-x plus distance-y fully locates a point", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {1, 1}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::DistanceX, 0, R::P0, 0, R::P1, 4.0), + con(CT::DistanceY, 0, R::P0, 0, R::P1, 3.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p1.x() - ents[0].p0.x() == Approx(4.0).margin(1e-9)); // signed: see above + CHECK(ents[0].p1.y() - ents[0].p0.y() == Approx(3.0).margin(1e-9)); +} + +// The property the GUI's ref-ordering exists to preserve: DistanceX is SIGNED, so applying +// the CURRENT projected delta as the target must not move anything. If the refs are ordered +// so the shown value is positive while the actual signed delta is negative, accepting the +// value a dimension opens with teleports the point to the other side of its anchor. +TEST_CASE("slvs: applying a point's own distance-x is a no-op", "[slvs][CadDocument]") +{ + // p1 sits to the LEFT of p0, so the signed delta p1 - p0 is negative. + std::vector<SketchEntity> ents = { line({0, 0}, {-4, 7}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::DistanceX, 0, R::P0, 0, R::P1, -4.0), // the CURRENT signed delta + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p1.x() == Approx(-4.0).margin(1e-9)); // stayed left, did not flip to +4 + CHECK(ents[0].p1.y() == Approx(7.0).margin(1e-9)); +} + +static SketchEntity point(Vec2d p) +{ + SketchEntity e; e.type = SketchEntity::Type::Point; e.p0 = p; return e; +} + +TEST_CASE("slvs: coincident onto the origin sentinel pins a point", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { point({5, 5}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Coincident, 0, R::P0, kSketchRefOrigin, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p0.x() == Approx(0.0).margin(1e-9)); + CHECK(ents[0].p0.y() == Approx(0.0).margin(1e-9)); +} + +// NOTE on why these pin the free direction instead of asserting "the other coordinate is +// left alone". sys.dragged[] is populated only while a drag is in progress, so a plain +// sketch_solve of an UNDER-constrained system is free to move any parameter -- solvespace +// runs a Newton iteration, it does not minimise movement. PointOnLine alone is one equation +// in two unknowns, and the point measurably slides along the axis (from (7,4) to (4,0)). +// That is legal, not a defect, so the well-posed test states both coordinates. +TEST_CASE("slvs: point-on-line onto the X axis, located along it from the origin", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { point({7, 4}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::PointOnLine, 0, R::P0, kSketchRefAxisX, R::P0), + con(CT::DistanceX, kSketchRefOrigin, R::P0, 0, R::P0, 7.0), // both sentinels at once + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p0.y() == Approx(0.0).margin(1e-9)); // driven onto the X axis + CHECK(ents[0].p0.x() == Approx(7.0).margin(1e-9)); // and located along it +} + +TEST_CASE("slvs: point-on-line onto the Y axis, located along it from the origin", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { point({4, 7}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::PointOnLine, 0, R::P0, kSketchRefAxisY, R::P0), + con(CT::DistanceY, kSketchRefOrigin, R::P0, 0, R::P0, 7.0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p0.x() == Approx(0.0).margin(1e-9)); // driven onto the Y axis + CHECK(ents[0].p0.y() == Approx(7.0).margin(1e-9)); // and located along it +} + +TEST_CASE("slvs: parallel to the X axis levels a line without collapsing it", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { line({0, 0}, {10, 3}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Parallel, 0, R::P0, kSketchRefAxisX, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p1.y() == Approx(0.0).margin(1e-9)); // leveled onto y = 0 + // A bare Parallel leaves length free; the solver preserves the endpoint's free + // x-coordinate, so the line lands at (10,0) — length 10, not the original sqrt(109). + // Assert that free coordinate rather than abs(): a flipped/collapsed line would not + // land exactly here. + CHECK(ents[0].p1.x() == Approx(10.0).margin(1e-9)); + CHECK((ents[0].p1 - ents[0].p0).norm() == Approx(10.0).margin(1e-6)); // did not collapse +} + +TEST_CASE("slvs: symmetric-about-Y mirrors two points across x = 0", "[slvs][CadDocument]") +{ + std::vector<SketchEntity> ents = { point({3, 5}), point({9, 5}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::SymmetricAboutY, 0, R::P0, 1, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(ents[0].p0.x() == Approx(-ents[1].p0.x()).margin(1e-9)); // mirror across x = 0 + // Neither x may be 0: a both-collapsed-to-the-axis solution also satisfies the mirror + // trivially. Squared, not abs(), so a near-zero x still fails cleanly. + CHECK(ents[0].p0.x() * ents[0].p0.x() > 1e-12); + CHECK(ents[1].p0.x() * ents[1].p0.x() > 1e-12); + CHECK(ents[0].p0.y() == Approx(5.0).margin(1e-9)); // Y values untouched + CHECK(ents[1].p0.y() == Approx(5.0).margin(1e-9)); +} + +TEST_CASE("slvs: reference-based constraint adds no degrees of freedom", "[slvs][CadDocument]") +{ + // A free line with Fix on P0 and Parallel to the X axis: 4 DoF - 2 (fix) - 1 (angle) + // = 1 (length still free). If the G_FIXED reference entities leaked unknowns into the + // solved group, this figure would be wrong. + std::vector<SketchEntity> ents = { line({0, 0}, {3, 4}) }; + std::vector<SketchEntityConstraintDef> cons = { + con(CT::Fix, 0, R::P0, 0, R::P0), + con(CT::Parallel, 0, R::P0, kSketchRefAxisX, R::P0), + }; + auto res = sketch_solve(ents, cons); + REQUIRE(res.ok); + CHECK(res.dof == 1); +} diff --git a/tests/libslic3r/test_toolordering_nozzle_group.cpp b/tests/libslic3r/test_toolordering_nozzle_group.cpp index 26e36c0dbf..d9a5d70406 100644 --- a/tests/libslic3r/test_toolordering_nozzle_group.cpp +++ b/tests/libslic3r/test_toolordering_nozzle_group.cpp @@ -163,6 +163,50 @@ TEST_CASE("H2C multi-nozzle: filaments get distinct nozzles on the 6-nozzle extr } } +TEST_CASE("Grouping context spans the filament count with mis-sized config arrays", "[ToolOrdering][H2C]") +{ + // FilamentGroup indexes the grouping context's filament_info by filament id, so a short + // per-filament array must not shorten it: the reads run off the end. + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + // Single 6-nozzle extruder: opens the grouping engine without needing a BBL multi-extruder. + config.option<ConfigOptionFloats>("nozzle_diameter", true)->values = {0.4}; + config.option<ConfigOptionIntsNullable>("extruder_max_nozzle_count", true)->values = {6}; + config.option<ConfigOptionStrings>("extruder_nozzle_stats", true)->values = {"Standard#6"}; + + // Four filaments, with filament_type / filament_is_support left short on purpose. + config.option<ConfigOptionStrings>("filament_colour", true)->values = {"#FF0000", "#00FF00", "#0000FF", "#FFFF00"}; + config.option<ConfigOptionStrings>("filament_type", true)->values = {"PLA"}; + config.option<ConfigOptionBools>("filament_is_support", true)->values = {0}; + config.option<ConfigOptionFloats>("filament_diameter", true)->values = {1.75, 1.75, 1.75, 1.75}; + config.option<ConfigOptionInts>("filament_map", true)->values = {1, 1, 1, 1}; + config.option<ConfigOptionFloats>("flush_volumes_matrix", true)->values = std::vector<double>(16, 140.); + config.option<ConfigOptionFloats>("flush_multiplier", true)->values = {1.}; + + Model model; + model.add_object("cube", "", make_cube(20, 20, 20))->add_instance(); + + Print print; + print.apply(model, config); + // apply() does not pad the per-filament arrays, so the mis-sizing survives into the engine. + REQUIRE(print.config().filament_type.values.size() < print.config().filament_colour.values.size()); + + std::vector<std::vector<unsigned int>> layer_filaments = {{0, 1}, {1, 2}, {2, 3}}; + + SECTION("short per-filament arrays still yield one entry per filament") { + auto result = ToolOrdering::get_recommended_filament_maps(layer_filaments, &print, FilamentMapMode::fmmAutoForFlush, {}, {}); + REQUIRE(result.get_extruder_map(false).size() == 4); + for (int f = 0; f < 4; ++f) + REQUIRE(result.get_extruder_id(f) == 0); + } + + SECTION("filament_ids longer than the filament count is truncated, not paired past the end") { + config.option<ConfigOptionStrings>("filament_ids", true)->values = {"a", "b", "c", "d", "e", "f"}; + print.apply(model, config); + auto result = ToolOrdering::get_recommended_filament_maps(layer_filaments, &print, FilamentMapMode::fmmAutoForFlush, {}, {}); + REQUIRE(result.get_extruder_map(false).size() == 4); + } +} + TEST_CASE("H2C dynamic selector: per-layer nozzle ids reach the g-code surface", "[ToolOrdering][H2C][Dynamic]") { // The per-layer regroup engine @@ -981,3 +1025,41 @@ TEST_CASE("Selector slicing keeps the result valid across re-apply", "[Print][H2 REQUIRE(status != PrintBase::APPLY_STATUS_INVALIDATED); REQUIRE(print.is_step_done(psSlicingFinished)); } + +TEST_CASE("parse_cyclic_order parses user cyclic toolchange sequences", "[ToolOrdering][Cyclic]") +{ + // Filament numbers are 1-based in the UI; the parser returns 0-based indices. + SECTION("well-formed sequence") { + REQUIRE(parse_cyclic_order("3,2,1,4", 4) == std::vector<unsigned int>({2, 1, 0, 3})); + } + + SECTION("surrounding whitespace is tolerated") { + REQUIRE(parse_cyclic_order(" 3 , 2 ,1, 4 ", 4) == std::vector<unsigned int>({2, 1, 0, 3})); + } + + SECTION("out-of-range and non-positive entries are dropped") { + // 0 is below the 1-based range, 5 is above it for a 4-filament setup, -1 is invalid. + REQUIRE(parse_cyclic_order("0,5,-1,2", 4) == std::vector<unsigned int>({1})); + } + + SECTION("duplicates keep only the first occurrence") { + REQUIRE(parse_cyclic_order("2,2,1,2", 4) == std::vector<unsigned int>({1, 0})); + } + + SECTION("garbage tokens are ignored") { + REQUIRE(parse_cyclic_order("3,abc,,2,x1", 4) == std::vector<unsigned int>({2, 1})); + } + + SECTION("tokens that only start with a number are ignored") { + // "2x" must be dropped rather than parsed as filament 2. + REQUIRE(parse_cyclic_order("3,2x,1", 4) == std::vector<unsigned int>({2, 0})); + } + + SECTION("empty string yields an empty order") { + REQUIRE(parse_cyclic_order("", 4).empty()); + } + + SECTION("a partial sequence only names the filaments it lists") { + REQUIRE(parse_cyclic_order("3,1", 4) == std::vector<unsigned int>({2, 0})); + } +} diff --git a/tests/libslic3r/test_utils.cpp b/tests/libslic3r/test_utils.cpp index c039069b2a..7880b783f1 100644 --- a/tests/libslic3r/test_utils.cpp +++ b/tests/libslic3r/test_utils.cpp @@ -2,6 +2,15 @@ #include "libslic3r/Utils.hpp" +#include "test_utils.hpp" + +#include <boost/filesystem.hpp> + +#include <algorithm> +#include <cctype> +#include <fstream> +#include <string> + #ifndef _WIN32 #include <unistd.h> // getuid #endif @@ -52,3 +61,94 @@ TEST_CASE("per-user temp root is unchanged on Windows, isolated elsewhere", "[ut REQUIRE_THAT(root, Catch::Matchers::StartsWith(base + "/orcaslicer_")); #endif } + +TEST_CASE("copy_file reports the OS error when the destination cannot be written", "[utils]") { + ScopedTemporaryFile source(".txt"); + { + std::ofstream ofs(source.string(), std::ios::binary); + ofs << "orca"; + } + REQUIRE(boost::filesystem::exists(source.path())); + + // A directory that was never created, so the copy fails on every platform. + const boost::filesystem::path destination = source.path().parent_path() / "orca-missing-dir" / "copy.txt"; + REQUIRE_FALSE(boost::filesystem::exists(destination.parent_path())); + + std::string error_message; + REQUIRE(copy_file(source.string(), destination.string(), error_message) == FAIL_COPY_FILE); + REQUIRE_FALSE(error_message.empty()); + +#ifdef _WIN32 + // The Windows branch formats GetLastError() itself. Writing that as + // "Error: " + errCode adds an integer to a string literal, which indexes into the + // literal instead of appending and runs off its end for any code above 7. + const std::string prefix = "Error: "; + REQUIRE(error_message.rfind(prefix, 0) == 0); + + const std::string code = error_message.substr(prefix.size()); + REQUIRE_FALSE(code.empty()); + REQUIRE(std::all_of(code.begin(), code.end(), [](unsigned char c) { return std::isdigit(c) != 0; })); +#endif // _WIN32 +} + +TEST_CASE("A resolved input path still names the same file after the working directory changes", "[utils]") { + ScopedTemporaryFile model(".3mf"); + { std::ofstream out(model.string()); out << "3mf"; } + const std::string name = model.path().filename().string(); + + // Resolve the bare name from the directory holding the file, then move away from it. The guard + // restores the directory the test started in, wherever this leaves it. + ScopedWorkingDirectory cwd(model.path().parent_path()); + const std::string resolved = resolve_cli_input_path(name); + boost::filesystem::current_path(boost::filesystem::path(TEST_DATA_DIR)); + + REQUIRE(boost::filesystem::exists(resolved)); + REQUIRE(boost::filesystem::equivalent(resolved, model.path())); + // Control: the bare name finds nothing from here, so resolving it this late would have failed. + REQUIRE_FALSE(boost::filesystem::exists(name)); +} + +TEST_CASE("resolve_cli_input_path completes a relative path against the working directory", "[utils]") { + ScopedWorkingDirectory cwd(boost::filesystem::temp_directory_path()); + // Read back rather than reusing temp_directory_path(): changing to it resolves any symlink. + const boost::filesystem::path here = boost::filesystem::current_path(); + + SECTION("a bare name") { + REQUIRE(resolve_cli_input_path("model.3mf") == (here / "model.3mf").make_preferred().string()); + } + SECTION("a ./ prefix is dropped") { + REQUIRE(resolve_cli_input_path("./model.3mf") == (here / "model.3mf").make_preferred().string()); + } + SECTION("a ../ traversal is collapsed") { + REQUIRE(resolve_cli_input_path("../model.3mf") == (here.parent_path() / "model.3mf").make_preferred().string()); + } +} + +TEST_CASE("resolve_cli_input_path leaves inputs that must not be completed unchanged", "[utils]") { + SECTION("an absolute path") { + const boost::filesystem::path absolute = (boost::filesystem::temp_directory_path() / "model.3mf").make_preferred(); + REQUIRE(resolve_cli_input_path(absolute.string()) == absolute.string()); + } +#ifdef _WIN32 + // Every absolute form Windows accepts opens today, so each must come back byte for byte: + // normalizing them would rewrite the forward slashes and rebuild the \\?\ and UNC prefixes. + SECTION("an absolute Windows path of any form") { + for (const std::string absolute : {R"(C:\models\model.3mf)", + R"(C:/models/model.3mf)", + R"(\\server\share\model.3mf)", + R"(\\?\C:\models\model.3mf)"}) + REQUIRE(resolve_cli_input_path(absolute) == absolute); + } +#endif + // These are downloaded rather than opened, and completing one would produce a path, not a URL. + SECTION("a custom open protocol URL") { + for (const std::string url : {"orcaslicer://open/?file=https://example.com/model.3mf", + "prusaslicer://open/?file=https://example.com/model.3mf", + "bambustudio://open/?file=https://example.com/model.3mf", + "cura://open/?file=https://example.com/model.3mf"}) + REQUIRE(resolve_cli_input_path(url) == url); + } + SECTION("an empty argument") { + REQUIRE(resolve_cli_input_path("").empty()); + } +} diff --git a/tests/libslic3r/test_vendor_cache.cpp b/tests/libslic3r/test_vendor_cache.cpp index 85e100f4d4..93d2b2e87a 100644 --- a/tests/libslic3r/test_vendor_cache.cpp +++ b/tests/libslic3r/test_vendor_cache.cpp @@ -53,41 +53,64 @@ void write_vendor_tree(const fs::path& dir, const std::string& vendor, const std } // A small but complete vendor: one machine model, one process, a non-instantiated -// base filament with an instantiated child inheriting it, a second standalone -// filament carrying explicit metadata, and one machine preset with a rename — so -// the equivalence test below sees every CachedPreset field populated. -void write_full_vendor_tree(const fs::path& dir, const std::string& vendor, const std::string& version) +// base filament with an instantiated child that inherits it and includes a +// dual-extruder template, a second standalone filament carrying explicit +// metadata, and one machine preset with a rename that includes a G-code template +// — so the equivalence test below sees every CachedPreset field populated. The +// templates are listed before the presets that include them, as update-index +// orders them, or after them when `templates_last` asks for the broken order. +void write_full_vendor_tree(const fs::path& dir, const std::string& vendor, const std::string& version, + bool templates_last = false) { fs::create_directories(dir / vendor / "process"); fs::create_directories(dir / vendor / "filament"); fs::create_directories(dir / vendor / "machine"); + const std::string filament_template = R"({"name":")" + vendor + R"( dual template","sub_path":"filament/template.json"})"; + const std::string filament_presets = R"({"name":")" + vendor + R"( Base PLA","sub_path":"filament/base.json"},)" + R"({"name":")" + vendor + R"( PLA @0.4","sub_path":"filament/pla.json"},)" + R"({"name":")" + vendor + R"( Silk PLA @0.4","sub_path":"filament/silk.json"})"; + const std::string machine_template = R"({"name":")" + vendor + R"( 0.4 template machine_start_gcode","sub_path":"machine/start.json"})"; + const std::string machine_presets = R"({"name":")" + vendor + R"( 0.4 nozzle","sub_path":"machine/printer.json"})"; std::ofstream((dir / (vendor + ".json")).string()) << R"({"version":")" << version << R"(","name":")" << vendor << R"(",)" << R"("machine_model_list":[{"name":"Test Model","sub_path":"machine/model.json"}],)" << R"("process_list":[{"name":"0.20mm Standard @)" << vendor << R"(","sub_path":"process/standard.json"}],)" << R"("filament_list":[)" - << R"({"name":")" << vendor << R"( Base PLA","sub_path":"filament/base.json"},)" - << R"({"name":")" << vendor << R"( PLA @0.4","sub_path":"filament/pla.json"},)" - << R"({"name":")" << vendor << R"( Silk PLA @0.4","sub_path":"filament/silk.json"}],)" - << R"("machine_list":[{"name":")" << vendor << R"( 0.4 nozzle","sub_path":"machine/printer.json"}]})"; + << (templates_last ? filament_presets + "," + filament_template : filament_template + "," + filament_presets) + << R"(],"machine_list":[)" + << (templates_last ? machine_presets + "," + machine_template : machine_template + "," + machine_presets) + << "]}"; std::ofstream((dir / vendor / "machine" / "model.json").string()) << R"({"type":"machine_model","name":"Test Model","nozzle_diameter":"0.4"})"; std::ofstream((dir / vendor / "process" / "standard.json").string()) << R"({"type":"process","name":"0.20mm Standard @)" << vendor << R"(","from":"system","instantiation":"true","layer_height":"0.2"})"; + // The base sets two per-variant keys; the template restates one of them for + // two variants and adds a third; the child restates the third. std::ofstream((dir / vendor / "filament" / "base.json").string()) << R"({"type":"filament","name":")" << vendor - << R"( Base PLA","from":"system","instantiation":"false","filament_id":"GFA_base","filament_cost":"42"})"; + << R"( Base PLA","from":"system","instantiation":"false","filament_id":"GFA_base","filament_cost":"42",)" + << R"("activate_air_filtration":["1"],"filament_max_volumetric_speed":["12"]})"; + std::ofstream((dir / vendor / "filament" / "template.json").string()) + << R"({"type":"filament","name":")" << vendor << R"( dual template","from":"system","instantiation":"false",)" + << R"("filament_extruder_variant":["Direct Drive Standard","Direct Drive High Flow"],)" + << R"("filament_max_volumetric_speed":["20","22"],"filament_flush_temp":["0","0"]})"; std::ofstream((dir / vendor / "filament" / "pla.json").string()) << R"({"type":"filament","name":")" << vendor << R"( PLA @0.4","from":"system","instantiation":"true","filament_id":"GFA00","filament_cost":"20",)" << R"("setting_id":"GFSA04","description":"Test PLA description"})"; std::ofstream((dir / vendor / "filament" / "silk.json").string()) << R"({"type":"filament","name":")" << vendor - << R"( Silk PLA @0.4","from":"system","instantiation":"true","inherits":")" << vendor << R"( Base PLA"})"; + << R"( Silk PLA @0.4","from":"system","instantiation":"true","inherits":")" << vendor << R"( Base PLA",)" + << R"("include":[")" << vendor << R"( dual template"],"filament_flush_temp":["5","5"]})"; + // The template states two G-codes; the printer restates one of them. + std::ofstream((dir / vendor / "machine" / "start.json").string()) + << R"({"type":"machine","name":")" << vendor << R"( 0.4 template machine_start_gcode","from":"system",)" + << R"("instantiation":"false","machine_start_gcode":"G28 ; template","machine_end_gcode":"M84 ; template"})"; std::ofstream((dir / vendor / "machine" / "printer.json").string()) << R"({"type":"machine","name":")" << vendor << R"( 0.4 nozzle","from":"system","instantiation":"true","printer_model":"Test Model","printer_variant":"0.4",)" + << R"("include":[")" << vendor << R"( 0.4 template machine_start_gcode"],"machine_end_gcode":"M84 ; own",)" << R"("renamed_from":")" << vendor << R"( old 0.4 nozzle"})"; } @@ -598,6 +621,7 @@ TEST_CASE("a cache-loaded vendor is indistinguishable from a JSON-loaded one", " const Preset* pr = from_cache.printers.find_preset("Acme 0.4 nozzle", false); REQUIRE(pr != nullptr); CHECK(pr->renamed_from == std::vector<std::string>{"Acme old 0.4 nozzle"}); + CHECK(pr->config.opt_string("machine_start_gcode") == "G28 ; template"); // through the include } TEST_CASE("a cache-served vendor reports the errors its parse counted", "[VendorCache]") @@ -1618,3 +1642,73 @@ TEST_CASE("a stamp string with an absurd length is rejected, not allocated", "[V CHECK(VendorCacheFile::peek_version(cache, "Evil").empty()); } +TEST_CASE("an included template's keys land on the preset, between the parent's and its own", "[VendorCache]") +{ + InstallDirs dirs; + write_full_vendor_tree(dirs.system, "Acme", "1.0.0"); + PresetBundle bundle; + bundle.load_vendor_configs_from_json(dirs.system.string(), "Acme", PresetBundle::LoadSystem, + ForwardCompatibilitySubstitutionRule::EnableSilent); + CHECK(bundle.error_count() == 0); + + const Preset* pr = bundle.printers.find_preset("Acme 0.4 nozzle", false); + REQUIRE(pr != nullptr); + CHECK(pr->config.opt_string("machine_start_gcode") == "G28 ; template"); // from the include + CHECK(pr->config.opt_string("machine_end_gcode") == "M84 ; own"); // the preset's own key wins + CHECK(presets_for(bundle.printers, "Acme").size() == 1); // the template is no preset + + const Preset* silk = bundle.filaments.find_preset("Acme Silk PLA @0.4", false); + REQUIRE(silk != nullptr); + const auto* speed = silk->config.option<ConfigOptionFloats>("filament_max_volumetric_speed"); + REQUIRE(speed != nullptr); + CHECK(speed->values == std::vector<double>{20., 22.}); // the include wins over the parent + const auto* flush = silk->config.option<ConfigOptionInts>("filament_flush_temp"); + REQUIRE(flush != nullptr); + CHECK(flush->values == std::vector<int>{5, 5}); // the preset's own key wins + // A per-variant key the template never mentions keeps the parent's value. + // The loader pads every base to its variant count; an include taken from the + // padded copy would carry the padded default [0,0] over the parent's 1. + const auto* air = silk->config.option<ConfigOptionBools>("activate_air_filtration"); + REQUIRE(air != nullptr); + CHECK(air->values == std::vector<unsigned char>{1, 1}); + CHECK(presets_for(bundle.filaments, "Acme").size() == 2); // the template is no preset +} + +TEST_CASE("an include listed after the preset that names it is an error, and the preset loads without it", "[VendorCache]") +{ + InstallDirs dirs; + write_full_vendor_tree(dirs.system, "Acme", "1.0.0", /*templates_last=*/true); + PresetBundle bundle; + bundle.load_vendor_configs_from_json(dirs.system.string(), "Acme", PresetBundle::LoadSystem, + ForwardCompatibilitySubstitutionRule::EnableSilent); + // One error per unresolved include: the printer's and the filament's. + CHECK(bundle.error_count() == 2); + const Preset* pr = bundle.printers.find_preset("Acme 0.4 nozzle", false); + REQUIRE(pr != nullptr); + CHECK(pr->config.opt_string("machine_start_gcode") != "G28 ; template"); + const Preset* silk = bundle.filaments.find_preset("Acme Silk PLA @0.4", false); + REQUIRE(silk != nullptr); + CHECK(silk->config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->values == std::vector<double>{12.}); +} + +TEST_CASE("a G-code template that states no instantiation is included, not loaded as a preset", "[VendorCache]") +{ + InstallDirs dirs; + write_full_vendor_tree(dirs.system, "Acme", "1.0.0"); + const fs::path start = dirs.system / "Acme" / "machine" / "start.json"; + SECTION("named as G-code") { + std::ofstream(start.string()) << R"({"type":"machine","name":"Acme 0.4 template machine_start_gcode","from":"system",)" + << R"("machine_start_gcode":"G28 ; template"})"; + } + SECTION("not named, so included by its name in the vendor index") { + std::ofstream(start.string()) << R"({"type":"machine","from":"system","machine_start_gcode":"G28 ; template"})"; + } + PresetBundle bundle; + bundle.load_vendor_configs_from_json(dirs.system.string(), "Acme", PresetBundle::LoadSystem, + ForwardCompatibilitySubstitutionRule::EnableSilent); + CHECK(bundle.error_count() == 0); + const Preset* pr = bundle.printers.find_preset("Acme 0.4 nozzle", false); + REQUIRE(pr != nullptr); + CHECK(pr->config.opt_string("machine_start_gcode") == "G28 ; template"); + CHECK(presets_for(bundle.printers, "Acme").size() == 1); +} diff --git a/tests/libslic3r/test_wipe_path.cpp b/tests/libslic3r/test_wipe_path.cpp new file mode 100644 index 0000000000..b637ad2b87 --- /dev/null +++ b/tests/libslic3r/test_wipe_path.cpp @@ -0,0 +1,1024 @@ +#include <catch2/catch_all.hpp> + +#include "libslic3r/GCode/WipePathHelpers.hpp" +#include "libslic3r/AABBTreeLines.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/libslic3r.h" + +#include <algorithm> +#include <cmath> +#include <limits> + +using namespace Slic3r; +using Slic3r::AABBTreeLines::LinesDistancer; + +TEST_CASE("Stored wipe path retains its length around a curved wall after a seam gap", "[WipePath][Regression]") +{ + const int mirror = GENERATE(1, -1); + const double wipe_length = GENERATE(0.8, 1.0); + CAPTURE(mirror, wipe_length); + // A 0.02 mm seam gap on a curved 0.24 mm wall leaves a short outgoing + // segment whose inward offset backtracks. Coordinates use internal scaling + // from the affected loop; the adjacent inner wall is already printed. + const auto point = [mirror](coord_t x, coord_t y) { return Point(mirror * x, y); }; + const Polyline original{ + point(671861, 7772276), point(688586, 7765098), point(781082, 7687014), + point(852059, 7608861), point(889773, 7556912), point(958919, 7382963), + point(977048, 7259018), point(977325, 7173839), point(944250, 7039370), + point(911230, 6952087), point(880323, 6894944), point(760243, 6763860), + point(598587, 6641719), point(492626, 6593610), point(362533, 6543938), + point(170173, 6513482), point(114917, 6509380), point(18418, 6513666), + point(-145550, 6537251), point(-259087, 6580797), point(-413987, 6690495), + point(-485220, 6767022), point(-561189, 6893573), point(-576897, 6965717), + point(-595201, 7089303), point(-597977, 7164172), point(-590614, 7239553), + point(-574031, 7305533), point(-539668, 7383293), point(-442552, 7550465), + point(-332173, 7659644), point(-257819, 7717153), point(-209522, 7749563), + point(-121695, 7793438), point(399, 7844160), point(228137, 7880068), + point(363721, 7881585), point(431909, 7865985), point(569648, 7816149), + point(653482, 7780164), + }; + const Polyline inner{ + point(739251, 7241332), point(739377, 7202281), point(716708, 7110113), + point(694416, 7051190), point(685088, 7033943), point(599527, 6940541), + point(476243, 6847393), point(400952, 6813209), point(300851, 6774988), + point(142724, 6749952), point(111379, 6747625), point(40681, 6750765), + point(-85281, 6768883), point(-146010, 6792175), point(-256555, 6870462), + point(-295251, 6912034), point(-336173, 6978125), point(-357996, 7111200), + point(-359693, 7156985), point(-355612, 7198777), point(-348288, 7227916), + point(-327412, 7275156), point(-252784, 7403618), point(-175201, 7480358), + point(-89616, 7543582), point(-22802, 7576960), point(65459, 7613627), + point(248096, 7642423), point(338175, 7643431), point(364673, 7637369), + point(482204, 7594844), point(562221, 7560499), point(615604, 7515433), + point(679764, 7441323), point(727601, 7320981), point(739251, 7241332), + }; + const Point seam_start = original.first_point(); + const Point seam_end = original.last_point(); + const double offset = scale_(0.239999); + Polyline forward = original; + REQUIRE_FALSE(offset_wipe_path(forward, seam_start, seam_end, seam_end, + -mirror, offset, scale_(wipe_length))); + + Polyline path = original; + REQUIRE(offset_wipe_path_toward_support(path, seam_start, seam_end, seam_end, + -mirror, offset, scale_(wipe_length), inner.lines(), inner.lines(), original.lines(), offset)); + REQUIRE(path.first_point() == seam_start); + REQUIRE(path.points.size() > 2); + // Wipe::wipe replaces the sentinel with the actual extrusion endpoint. + path.points.front() = seam_end; + CHECK_THAT(unscale_(path.length()), Catch::Matchers::WithinAbs(wipe_length, 0.0004)); + CHECK(mirror * (path.points[1].x() - seam_end.x()) < 0); + CHECK(path.points[1].y() < seam_end.y()); + Lines support = inner.lines(); + const Lines current = original.lines(); + support.insert(support.end(), current.begin(), current.end()); + REQUIRE(wipe_path_support_score(path, seam_end, LinesDistancer<Line>(inner.lines()), + LinesDistancer<Line>(support), offset).has_value()); +} + +TEST_CASE("Stored wipe path retains its length after a loop pre-move at a curved seam", "[WipePath][Regression]") +{ + const int mirror = GENERATE(1, -1); + const bool pre_move = GENERATE(false, true); + CAPTURE(mirror, pre_move); + const auto point = [mirror](coord_t x, coord_t y) { return Point(mirror * x, y); }; + // A 0.02 mm seam gap on a curved 0.24 mm wall, with the adjacent inner + // wall already printed. The loop pre-move advances the nozzle near the seam. + const Polyline original{ + point(686772, 7813199), point(516334, 7887188), point(411017, 7915098), + point(346190, 7926015), point(246957, 7925330), point(-16945, 7881611), + point(-116443, 7842513), point(-255907, 7773886), point(-378126, 7681053), + point(-499258, 7552879), point(-574414, 7438250), point(-613558, 7370259), + point(-626313, 7341394), point(-650774, 7263424), point(-669964, 7169919), + point(-666798, 7058662), point(-631336, 6876547), point(-624410, 6852946), + point(-577832, 6762704), point(-517493, 6693143), point(-455794, 6631765), + point(-315549, 6531304), point(-169627, 6468424), point(-1908, 6443726), + point(143562, 6438395), point(314277, 6465470), point(380448, 6480795), + point(519922, 6526617), point(673990, 6611110), point(801581, 6705610), + point(927505, 6840928), point(969616, 6912718), point(1004269, 7009155), + point(1044144, 7171737), point(1046617, 7228598), point(1028598, 7358360), + point(950280, 7560914), point(867133, 7675444), point(732946, 7788889), + point(706168, 7804780), point(705118, 7805235), + }; + const Polyline inner{ + point(808905, 7211140), point(796801, 7298317), point(739603, 7446245), + point(691575, 7512401), point(595745, 7593416), point(438069, 7661865), + point(360694, 7682370), point(327119, 7688024), point(266586, 7687607), + point(53302, 7653657), point(-20276, 7624745), point(-130307, 7570601), + point(-218687, 7503470), point(-311907, 7404832), point(-371722, 7313599), + point(-401113, 7262547), point(-420207, 7203763), point(-431422, 7149118), + point(-429596, 7084952), point(-401187, 6939055), point(-379519, 6897073), + point(-343546, 6855603), point(-301665, 6813940), point(-197879, 6739595), + point(-104131, 6699197), point(19838, 6680942), point(129154, 6676936), + point(268758, 6699077), point(316366, 6710103), point(424812, 6745731), + point(545430, 6811879), point(642396, 6883697), point(735572, 6983824), + point(753259, 7013976), point(776223, 7077887), point(808905, 7211140), + }; + const Point seam_start = original.first_point(); + const Point seam_end = original.last_point(); + const Point wipe_start = pre_move ? point(652751, 7792162) : seam_end; + const double offset = scale_(0.239999); + Polyline path = original; + REQUIRE(offset_wipe_path_toward_support(path, seam_start, seam_end, wipe_start, + mirror, offset, scale_(0.8), inner.lines(), inner.lines(), original.lines(), offset)); + REQUIRE(path.first_point() == seam_start); + path.points.front() = wipe_start; + CHECK_THAT(unscale_(path.length()), Catch::Matchers::WithinAbs(0.8, 0.0004)); + Lines support = inner.lines(); + const Lines current = original.lines(); + support.insert(support.end(), current.begin(), current.end()); + REQUIRE(wipe_path_support_score(path, wipe_start, LinesDistancer<Line>(inner.lines()), + LinesDistancer<Line>(support), offset).has_value()); +} + +// Orca: helpers for constructing the extrusion geometry used by wipe tests. + +static ExtrusionPath make_path(const std::vector<Point> &pts, ExtrusionRole role = erExternalPerimeter, + float width = 0.4f, float height = 0.2f) +{ + ExtrusionPath p(role, 0.5, width, height); + for (const Point &pt : pts) + p.polyline.append(Point3(pt.x(), pt.y(), coord_t(0))); + return p; +} + +static ExtrusionPaths make_paths(const std::vector<Point> &pts, ExtrusionRole role = erExternalPerimeter, + float width = 0.4f) +{ + ExtrusionPaths paths; + paths.push_back(make_path(pts, role, width)); + return paths; +} + +TEST_CASE("Inward wipe support recognizes an inner wall starting on an overhang", "[WipePath][Regression]") +{ + const bool overhang_first = GENERATE(false, true); + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + ExtrusionPaths paths{ + make_path({point(0.4, 0.4), point(0.4, 2.)}, erOverhangPerimeter), + make_path({point(0.4, 2.), point(0.4, 9.6), point(5.6, 9.6), point(5.6, 0.4), point(0.4, 0.4)}, erPerimeter) + }; + if (!overhang_first) + std::rotate(paths.begin(), paths.begin() + 1, paths.end()); + const ExtrusionLoop inner(paths); + REQUIRE(inner.role() == (overhang_first ? erOverhangPerimeter : erPerimeter)); + + WipeInwardSupport support; + support.append(inner); + REQUIRE(support.inner_lines.size() == inner.as_polyline().lines().size()); + // The overhanging portion itself is already printed and can support the wipe. + const LinesDistancer<Line> inner_distancer(support.inner_lines); + CHECK_THAT(inner_distancer.distance_from_lines<false>(point(0.4, 1.)), + Catch::Matchers::WithinAbs(0., SCALED_EPSILON)); + const Polyline original{point(0., 0.), point(0., 10.), point(6., 10.), point(6., 0.), point(0., 0.)}; + Polyline wipe = original; + REQUIRE(offset_wipe_path_toward_support(wipe, original.first_point(), original.first_point(), + original.first_point(), -1, scale_(0.2), scale_(2.), support.inner_lines, + support.printed_lines, original.lines(), scale_(0.6))); + CHECK(wipe.points[1].x() > original.first_point().x()); +} + +TEST_CASE("Inward wipe support accumulates earlier walls without treating outer walls as targets", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + WipeInwardSupport support; + const ExtrusionPath inner = make_path({point(0.4, 0.), point(0.4, 5.)}, erPerimeter); + support.append(inner); + const ExtrusionLoop outer(ExtrusionPaths{ + make_path({point(0., 0.), point(0., 5.)}, erOverhangPerimeter), + make_path({point(0., 5.), point(-5., 5.), point(-5., 0.), point(0., 0.)}) + }); + support.append(outer); + REQUIRE(support.inner_lines.size() == 1); + REQUIRE(support.printed_lines.size() == 5); + const LinesDistancer<Line> targets(support.inner_lines); + CHECK_THAT(targets.distance_from_lines<false>(point(0., 2.)), + Catch::Matchers::WithinAbs(scale_(0.4), SCALED_EPSILON)); +} + +static ExtrusionPaths make_loop_paths(const std::vector<Point> &contour_pts, float width = 0.4f) +{ + ExtrusionPaths paths; + size_t mid = contour_pts.size() / 2; + ExtrusionPath first(erExternalPerimeter, 0.5, width, 0.2f); + for (size_t i = 0; i <= mid; ++i) + first.polyline.append(Point3(contour_pts[i].x(), contour_pts[i].y(), coord_t(0))); + ExtrusionPath second(erExternalPerimeter, 0.5, width, 0.2f); + for (size_t i = mid; i < contour_pts.size(); ++i) + second.polyline.append(Point3(contour_pts[i].x(), contour_pts[i].y(), coord_t(0))); + second.polyline.append(Point3(contour_pts[0].x(), contour_pts[0].y(), coord_t(0))); + paths.push_back(std::move(first)); + paths.push_back(std::move(second)); + return paths; +} + +// Orca: sample_path_at_distance coverage. + +TEST_CASE("sample_path_at_distance forward returns start for zero target", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s)}); + REQUIRE(sample_path_at_distance(paths, true, 0.0) == Point(0, 0)); +} + +TEST_CASE("sample_path_at_distance forward samples along path", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s)}); + + Point result = sample_path_at_distance(paths, true, 50 * s); + REQUIRE_THAT(result.x(), Catch::Matchers::WithinAbs(50 * s, 2)); + REQUIRE_THAT(result.y(), Catch::Matchers::WithinAbs(0, 2)); +} + +TEST_CASE("sample_path_at_distance forward crosses segment boundary", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s)}); + + Point result = sample_path_at_distance(paths, true, 150 * s); + REQUIRE_THAT(result.x(), Catch::Matchers::WithinAbs(100 * s, 2)); + REQUIRE_THAT(result.y(), Catch::Matchers::WithinAbs(50 * s, 2)); +} + +TEST_CASE("sample_path_at_distance backward from end", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s)}); + + Point result = sample_path_at_distance(paths, false, 50 * s); + REQUIRE_THAT(result.x(), Catch::Matchers::WithinAbs(100 * s, 2)); + REQUIRE_THAT(result.y(), Catch::Matchers::WithinAbs(50 * s, 2)); +} + +TEST_CASE("sample_path_at_distance on short path returns reachable point", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(0, 0), Point(10 * s, 0)}); + + Point result = sample_path_at_distance(paths, true, 1000 * s); + REQUIRE(result == Point(10 * s, 0)); +} + +TEST_CASE("sample_path_at_distance on zero-length path returns start", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(50 * s, 50 * s)}); + + REQUIRE(sample_path_at_distance(paths, true, 100 * s) == Point(50 * s, 50 * s)); + REQUIRE(sample_path_at_distance(paths, false, 100 * s) == Point(50 * s, 50 * s)); +} + +TEST_CASE("Wipe offset direction follows the material side", "[WipePath]") +{ + REQUIRE(wipe_offset_direction(true, false) == +1); + REQUIRE(wipe_offset_direction(false, false) == -1); + REQUIRE(wipe_offset_direction(true, true) == -1); + REQUIRE(wipe_offset_direction(false, true) == +1); +} + +TEST_CASE("Stored wipe path leaves source crossings to support validation", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(10 * s, 0), Point(100 * s, 0), Point(coord_t(13.4 * s), coord_t(50 * s))}; + + // Orca: crossing the just-printed wall is harmless for a non-extruding wipe. + // The caller decides whether the result is supported by printed geometry. + REQUIRE(offset_wipe_path(path, Point(10 * s, 0), Point(0, 0), Point(0, 0), +1, 5 * s, 1000 * s)); +} + +TEST_CASE("Stored wipe path builds the join after a nonzero seam gap", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(10 * s, 0), Point(10 * s, 0), Point(10 * s, 100 * s)}; + + REQUIRE(offset_wipe_path(path, Point(10 * s, 0), Point(0, 0), Point(0, 0), +1, 5 * s, 1000 * s)); + REQUIRE(path.points.size() == 3); + REQUIRE(path.points[1] == Point(5 * s, 5 * s)); + REQUIRE(path.points[2] == Point(5 * s, 100 * s)); + REQUIRE(path.fitting_result.size() == 1); + REQUIRE(path.fitting_result.front().end_point_index == path.points.size() - 1); +} + +TEST_CASE("Stored wipe path rejects an offset seam join that turns backward", "[WipePath][Regression]") +{ + const coord_t s = scale_(1.0); + const Point seam_start(s, s); + const Point seam_end(0, 0); + Polyline path{seam_start, Point(s, -10 * s), Point(s, -20 * s)}; + const Polyline original = path; + + REQUIRE_FALSE(offset_wipe_path(path, seam_start, seam_end, seam_end, +1, s, 5 * s)); + REQUIRE(path.points == original.points); +} + +TEST_CASE("Stored wipe path continues after an inward pre-move", "[WipePath][Regression]") +{ + const coord_t s = scale_(1.0); + const Point seam_start(s, s); + const Point seam_end(0, 0); + const Point wipe_start(2 * s, 2 * s); + Polyline path{seam_start, Point(s, -10 * s), Point(s, -20 * s)}; + + REQUIRE(offset_wipe_path(path, seam_start, seam_end, wipe_start, +1, s, 5 * s)); + REQUIRE(path.points.size() >= 3); + path.points.front() = wipe_start; // Orca: reproduce Wipe::wipe()'s executable representation. + CHECK_THAT(path.length(), Catch::Matchers::WithinAbs(5. * s, 2.)); +} + +TEST_CASE("Stored wipe path does not retrace a translated seam gap", "[WipePath][Regression]") +{ + const coord_t s = scale_(1.0); + const Point seam_start(s, 0); + const Point seam_end(0, 0); + Polyline path{seam_start, seam_end, Point(-10 * s, 0)}; + const Polyline original = path; + const Lines support{Line(Point(-10 * s, s), Point(10 * s, s))}; + + // Orca: the exact reversal at seam_start forces the translated fallback. + // The seam gap supplies its incoming direction but must not become an + // inward-outward-inward detour in the executable path. + REQUIRE(offset_wipe_path_toward_support( + path, seam_start, seam_end, seam_end, +1, s, 5 * s, + support, support, original.lines(), s)); + REQUIRE(path.points.size() == 2); + CHECK(path.points[1].y() > seam_end.y()); +} + +TEST_CASE("Stored wipe path keeps its first offset point when seam gap is zero", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s), + Point(0, 100 * s), Point(0, 0)}; + + REQUIRE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), +1, 5 * s, 20 * s)); + REQUIRE(path.points.size() >= 3); + REQUIRE(path.points[0] == Point(0, 0)); + REQUIRE_THAT(path.points[1].x(), Catch::Matchers::WithinAbs(5 * s, 2)); + REQUIRE_THAT(path.points[1].y(), Catch::Matchers::WithinAbs(5 * s, 2)); +} + +TEST_CASE("Stored wipe path ignores unsafe geometry beyond the used prefix", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(1000 * s, 0), Point(1000 * s, 20 * s), + Point(900 * s, 20 * s), Point(0, 20 * s), Point(0, 0)}; + + REQUIRE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), +1, 30 * s, 10 * s)); + REQUIRE(path.points.size() == 2); + REQUIRE_THAT(path.length(), Catch::Matchers::WithinAbs(10 * s, 2)); +} + +TEST_CASE("Stored wipe path grows its source until the offset reaches the requested length", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s), Point(0, 100 * s)}; + const double wipe_length = 250 * s; + + // Orca: two inward corners shorten this offset by more than 2 * offset_dist. + REQUIRE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), + +1, 10 * s, wipe_length)); + REQUIRE_THAT(path.length(), Catch::Matchers::WithinAbs(wipe_length, 2)); +} + +TEST_CASE("Stored wipe path is unchanged when wipe distance is zero", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(100 * s, 0)}; + const Polyline orig = path; + + REQUIRE_FALSE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), +1, 5 * s, 0)); + REQUIRE(path.points == orig.points); +} + +TEST_CASE("Stored wipe path defers actual-start crossings to support validation", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(100 * s, 0), Point(100 * s, 100 * s), + Point(0, 100 * s), Point(0, 0)}; + const Lines current = path.lines(); + const Lines remote{Line(Point(0, 50 * s), Point(100 * s, 50 * s))}; + const Point wipe_start(50 * s, -10 * s); + + REQUIRE(offset_wipe_path(path, Point(0, 0), Point(0, 0), wipe_start, +1, 5 * s, 100 * s)); + Lines all_support = remote; + all_support.insert(all_support.end(), current.begin(), current.end()); + REQUIRE_FALSE(wipe_path_support_score(path, wipe_start, + LinesDistancer<Line>(remote), LinesDistancer<Line>(all_support), 5 * s).has_value()); +} + +TEST_CASE("Stored wipe path keeps the closing join when its prefix ends at the closing vertex", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(0, 100 * s), Point(100 * s, 100 * s), + Point(100 * s, 0), Point(0, 0)}; + + REQUIRE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), + +1, 5 * s, 300 * s)); + REQUIRE(path.points.size() >= 2); + REQUIRE(path.points[1] == Point(-5 * s, -5 * s)); +} + +TEST_CASE("Stored wipe path rejects a two-point zero-gap loop", "[WipePath]") +{ + const coord_t s = scale_(1.0); + Polyline path{Point(0, 0), Point(100 * s, 0), Point(0, 0)}; + const Polyline original = path; + + REQUIRE_FALSE(offset_wipe_path(path, Point(0, 0), Point(0, 0), Point(0, 0), + +1, 5 * s, 100 * s)); + REQUIRE(path.points == original.points); +} + +TEST_CASE("Stored wipe path tolerates quantized contact at its actual start", "[WipePath]") +{ + const coord_t s = scale_(1.0); + const coord_t quantization = coord_t(SCALED_EPSILON / 2); + Polyline path{Point(0, quantization), Point(100 * s, quantization), + Point(100 * s, 100 * s + quantization), Point(0, 100 * s + quantization), + Point(0, quantization)}; + + // Orca: the executable transition starts within the geometry epsilon of the + // source endpoint. Treat this as the allowed start contact, while contacts + // farther along the transition remain unsafe. + REQUIRE(offset_wipe_path(path, Point(0, quantization), Point(0, quantization), + Point(0, 0), +1, 5 * s, 20 * s)); +} + +TEST_CASE("Stored wipe path requires nearby generated perimeter geometry", "[WipePath]") +{ + const coord_t s = scale_(1.0); + const Polyline path{Point(0, 0), Point(0, 2 * s), Point(10 * s, 2 * s)}; + const Lines adjacent{Line(Point(0, 4 * s), Point(10 * s, 4 * s))}; + const Lines remote{Line(Point(0, 20 * s), Point(10 * s, 20 * s))}; + const Lines current = path.lines(); + + const LinesDistancer<Line> adjacent_distancer(adjacent); + const LinesDistancer<Line> remote_distancer(remote); + Lines all_support = remote; + all_support.insert(all_support.end(), current.begin(), current.end()); + const LinesDistancer<Line> all_support_distancer(all_support); + + const auto score = wipe_path_support_score(path, Point(0, 2 * s), adjacent_distancer, adjacent_distancer, 3 * s); + REQUIRE(score.has_value()); + CHECK_THAT(*score, Catch::Matchers::WithinAbs(2. * s, 2.)); + REQUIRE_FALSE(wipe_path_support_score(path, Point(0, 2 * s), adjacent_distancer, adjacent_distancer, 0).has_value()); + REQUIRE_FALSE(wipe_path_support_score(path, Point(0, 2 * s), remote_distancer, remote_distancer, 3 * s).has_value()); + REQUIRE_FALSE(wipe_path_support_score(path, Point(0, 2 * s), remote_distancer, all_support_distancer, 3 * s).has_value()); + REQUIRE_FALSE(wipe_path_support_score(path, Point(0, 2 * s), LinesDistancer<Line>(Lines{}), + all_support_distancer, 3 * s).has_value()); +} + +TEST_CASE("Stored wipe path checks the first segment from its actual start", "[WipePath]") +{ + const coord_t s = scale_(1.0); + const Polyline path{Point(0, 0), Point(10 * s, 0)}; + const Lines support_near_ends{ + Line(Point(0, -s), Point(0, s)), + Line(Point(10 * s, -s), Point(10 * s, s)) + }; + + // Orca: both endpoints are supported, but the middle of the executable segment + // from wipe_start is not. The dummy path[0] must not hide that segment. + const LinesDistancer<Line> support_distancer(support_near_ends); + REQUIRE_FALSE(wipe_path_support_score(path, Point(0, 0), support_distancer, support_distancer, 2 * s).has_value()); +} + +TEST_CASE("Stored wipe path rejects unsupported gaps between nearby samples", "[WipePath][Regression]") +{ + const Point start = Point::new_scale(0., 0.); + const Point end = Point::new_scale(0.8, 0.); + const Polyline path{start, end}; + const double support_y = GENERATE(0.8, 0.95); + const Lines support{ + Line(Point::new_scale(0., support_y), Point::new_scale(0., 2.)), + Line(Point::new_scale(0.8, support_y), Point::new_scale(0.8, 2.)) + }; + + // Both endpoints are within 1 mm of support and the move is shorter than + // the old sampling interval. Only the 0.8 mm case supports its midpoint. + const LinesDistancer<Line> support_distancer(support); + const bool supported = wipe_path_support_score(path, start, support_distancer, support_distancer, scale_(1.)).has_value(); + CHECK(supported == (support_y < 0.9)); +} + +TEST_CASE("Stored wipe path checks support at the actual nozzle position", "[WipePath][Regression]") +{ + const Point end = Point::new_scale(0., 0.); + const Polyline path{end, end}; + const Lines support{Line(Point::new_scale(-1., 0.), Point::new_scale(1., 0.))}; + + const LinesDistancer<Line> support_distancer(support); + REQUIRE_FALSE(wipe_path_support_score(path, Point::new_scale(0., -2.), + support_distancer, support_distancer, scale_(1.)).has_value()); +} + +TEST_CASE("Direct inward fallback respects a short wipe distance before validation", "[WipePath][Regression]") +{ + const Point seam = Point::new_scale(0., 0.); + Polyline path{seam, Point::new_scale(10., 0.), Point::new_scale(10., 10.), + Point::new_scale(0., 10.), seam}; + const Lines current = path.lines(); + const Lines support{Line(Point::new_scale(0.4, 0.4), Point::new_scale(9.6, 0.4))}; + const bool pre_move = GENERATE(false, true); + const Point wipe_start = pre_move ? Point::new_scale(0.02, 0.02) : seam; + const double wipe_length = scale_(0.05); + + REQUIRE(offset_wipe_path_toward_support( + path, seam, seam, wipe_start, +1, scale_(0.2), wipe_length, + support, support, current, scale_(0.4))); + REQUIRE(path.points.size() == 2); + path.points.front() = wipe_start; + CHECK_THAT(path.length(), Catch::Matchers::WithinAbs(wipe_length, 2.)); + CHECK(path.last_point().x() > wipe_start.x()); + CHECK(path.last_point().y() > wipe_start.y()); +} + +TEST_CASE("Stored wipe path uses a stable zero-gap join for nearly parallel segments", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(58.777, 61.985); + Polyline path{ + seam, point(58.822, 61.918), point(58.900, 61.789), point(58.980, 61.641), + point(59.054, 61.480), point(59.260, 60.980), point(58.412, 62.485), + point(58.631, 62.202), seam, + }; + + REQUIRE(offset_wipe_path(path, seam, seam, seam, -1, scale_(0.23), scale_(0.8))); + REQUIRE(path.points.size() >= 3); + + const Vec2d first = (path.points[1] - seam).cast<double>(); + const Vec2d second = (path.points[2] - path.points[1]).cast<double>(); + CHECK(first.dot(second) >= 0.); +} + +TEST_CASE("Stored wipe path follows the inner wall at a narrow external cusp", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(55.139, 60.077); + Polyline path{ + seam, point(55.156, 60.010), point(55.205, 59.961), point(55.237, 59.934), + point(55.304, 59.907), point(55.392, 59.872), point(55.630, 59.791), + point(56.564, 59.430), point(55.061, 59.956), point(55.108, 60.008), seam, + }; + const Polyline original = path; + const Lines target_support{ + Line(point(54.983, 59.648), point(55.121, 59.745)), + }; + Lines printed_support = target_support; + printed_support.emplace_back(point(54.75, 60.25), point(55.50, 60.10)); + + REQUIRE(offset_wipe_path_toward_support( + path, seam, seam, seam, -1, scale_(0.270341), scale_(0.8), + target_support, printed_support, original.lines(), scale_(0.4))); + REQUIRE(path.points.size() >= 2); + CHECK(path.points[1].y() < seam.y() - scale_(0.2)); + CHECK(std::abs(path.points[1].x() - seam.x()) < scale_(0.1)); +} + +TEST_CASE("Stored wipe path keeps a supported zero-gap join that initially backtracks", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(56.737, 62.049); + Polyline path{ + seam, point(56.759, 62.142), point(56.727, 62.294), point(56.682, 62.447), + point(56.631, 62.570), point(56.581, 62.669), point(56.512, 62.776), + point(54.0, 64.0), point(50.0, 60.0), point(54.0, 58.0), + point(56.773, 62.031), seam, + }; + const Polyline original = path; + const Lines target_support{ + Line(point(56.546, 62.012), point(56.534, 62.104)), + Line(point(56.534, 62.104), point(56.506, 62.238)), + Line(point(56.506, 62.238), point(56.467, 62.371)), + Line(point(56.467, 62.371), point(56.424, 62.474)), + Line(point(56.424, 62.474), point(56.382, 62.556)), + }; + + Polyline inward = path; + REQUIRE(offset_wipe_path(inward, seam, seam, seam, +1, scale_(0.23), scale_(0.8))); + REQUIRE(inward.points.size() >= 3); + const Vec2d connector = (inward.points[1] - seam).cast<double>(); + const Vec2d outgoing = (inward.points[2] - inward.points[1]).cast<double>(); + REQUIRE(connector.dot(outgoing) < 0.); + + REQUIRE(offset_wipe_path_toward_support( + path, seam, seam, seam, +1, scale_(0.23), scale_(0.8), + target_support, target_support, original.lines(), scale_(0.4))); + CHECK(path.points[1].x() < seam.x() - scale_(0.1)); +} + +TEST_CASE("Stored wipe path leaves a narrow cusp directly after a seam gap", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam_start = point(55.139, 60.077); + const Point seam_end = point(55.141, 60.067); + Polyline path{ + seam_start, point(55.107, 60.008), point(55.061, 59.956), point(55.027, 59.943), + point(54.982, 59.924), point(54.922, 59.879), point(54.868, 59.845), + point(54.754, 59.783), point(54.391, 59.635), point(54.053, 59.471), + }; + const Polyline original = path; + const Lines target_support{ + Line(point(55.132, 59.744), point(55.121, 59.745)), + Line(point(55.121, 59.745), point(54.983, 59.648)), + Line(point(54.983, 59.648), point(54.938, 59.623)), + Line(point(54.938, 59.623), point(54.866, 59.584)), + Line(point(54.866, 59.584), point(54.483, 59.427)), + Line(point(54.483, 59.427), point(54.157, 59.268)), + }; + + REQUIRE(offset_wipe_path_toward_support( + path, seam_start, seam_end, seam_end, -1, scale_(0.270341), scale_(0.8), + target_support, target_support, original.lines(), scale_(0.4))); + REQUIRE(path.points.size() >= 2); + CHECK(path.points[1].y() < seam_end.y() - scale_(0.2)); + CHECK(std::abs(path.points[1].x() - seam_end.x()) < scale_(0.05)); + + // Orca: the inward connector must not run back through the first extruded + // point after the gap, which would put the wipe on the external wall. + const Line connector(seam_end, path.points[1]); + CHECK(connector.distance_to(original.points[1]) > scale_(0.02)); +} + +TEST_CASE("Stored wipe path does not reverse after an inward pre-move at a wide gap", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam_start = point(55.139, 60.077); + const Point seam_end = point(55.163, 60.002); + const Point wipe_start = point(55.142, 60.037); + Polyline path{ + seam_start, point(55.107, 60.008), point(55.061, 59.956), point(55.027, 59.943), + point(54.982, 59.924), point(54.922, 59.879), point(54.868, 59.845), + point(54.754, 59.783), point(54.391, 59.635), point(54.053, 59.471), + point(50.2, 55.0), point(50.2, 50.0), point(60.8, 50.0), point(60.8, 55.0), + point(56.564, 59.430), point(55.824, 59.708), point(55.392, 59.872), + point(55.237, 59.934), point(55.205, 59.961), seam_end, + }; + const Polyline original = path; + const Lines target_support{ + Line(point(55.132, 59.744), point(55.121, 59.745)), + Line(point(55.121, 59.745), point(54.983, 59.648)), + Line(point(54.983, 59.648), point(54.866, 59.584)), + Line(point(54.866, 59.584), point(54.483, 59.427)), + Line(point(54.483, 59.427), point(54.157, 59.268)), + }; + + REQUIRE(offset_wipe_path_toward_support( + path, seam_start, seam_end, wipe_start, -1, scale_(0.270341), scale_(0.8), + target_support, target_support, original.lines(), scale_(0.4))); + REQUIRE(path.points.size() >= 3); + + const Vec2d connector = (path.points[1] - wipe_start).cast<double>(); + const Vec2d outgoing = (path.points[2] - path.points[1]).cast<double>(); + CHECK(connector.dot(outgoing) >= 0.); + path.points.front() = wipe_start; + CHECK_THAT(path.length(), Catch::Matchers::WithinAbs(scale_(0.8), 2.)); +} + +TEST_CASE("Stored wipe path follows the incoming wall when a corner gap truncates the forward path", + "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam_start = point(46.047, 61.988); + const Point seam_end = point(46.118, 61.917); + Polyline path{ + seam_start, point(39.139, 55.080), point(46.047, 48.171), + point(52.956, 55.080), seam_end, + }; + const Polyline original = path; + const Lines target_support{ + Line(point(46.047, 61.672), point(39.461, 55.080)), + Line(point(39.461, 55.080), point(46.047, 48.493)), + Line(point(46.047, 48.493), point(52.633, 55.080)), + Line(point(52.633, 55.080), point(46.047, 61.672)), + }; + + REQUIRE(offset_wipe_path_toward_support( + path, seam_start, seam_end, seam_end, +1, scale_(0.23), scale_(0.8), + target_support, target_support, original.lines(), scale_(0.4))); + path.points.front() = seam_end; + CHECK_THAT(path.length(), Catch::Matchers::WithinAbs(scale_(0.8), 2.)); + REQUIRE(path.points.size() >= 3); + CHECK(path.points[1].x() < seam_end.x()); + CHECK(path.points[1].y() < seam_end.y()); +} + +TEST_CASE("Stored wipe path prefers support on the material side of a seam gap", "[WipePath][Regression]") +{ + const coord_t s = scale_(1.0); + const Point seam_start(s, 0); + const Point seam_end(0, 0); + Polyline path{seam_start, Point(s, 10 * s), Point(s, 20 * s)}; + const Polyline original = path; + const Lines target_support{ + Line(Point(0, s), Point(0, 3 * s)), + Line(Point(s / 2, -s / 10), Point(3 * s / 2, -s / 10)), + }; + + // Orca: the lower line is closest at the cusp and the preferred winding + // points toward it, but the outgoing wall is adjacent to the upper line. + REQUIRE(offset_wipe_path_toward_support( + path, seam_start, seam_end, seam_end, -1, s, 5 * s, + target_support, target_support, original.lines(), 2 * s)); + CHECK(path.points[1].y() > seam_end.y()); +} + +TEST_CASE("Stored wipe path rejects an outward offset at a reflex seam gap", "[WipePath][Regression]") +{ + const double offset = GENERATE(0.2, 0.4); // 50% and 100% of a 0.4 mm wall. + const double mirror = GENERATE(1., -1.); + CAPTURE(offset, mirror); + const auto point = [mirror](double x, double y) { return Point::new_scale(mirror * x, y); }; + const Point seam_start = point(0., 0.); + const double gap_component = 0.04 / std::sqrt(2.); // Default 10% seam gap for a 0.4 mm nozzle. + const Point seam_end = point(-gap_component, -gap_component); + const Polyline original{seam_start, point(0., -10.)}; + const Lines support{Line(point(0.4, -10.), point(0.4, 1.))}; + const int preferred_dir = mirror > 0. ? +1 : -1; + + // The inward miter backtracks. The opposite offset can still be supported + // by the outer bead, so support alone must not make it an inward candidate. + Polyline outward = original; + REQUIRE(offset_wipe_path(outward, seam_start, seam_end, seam_end, + -preferred_dir, scale_(offset), scale_(2.))); + Lines all_support = support; + const Lines current = original.lines(); + all_support.insert(all_support.end(), current.begin(), current.end()); + REQUIRE(wipe_path_support_score(outward, seam_end, + LinesDistancer<Line>(support), LinesDistancer<Line>(all_support), scale_(0.4)).has_value()); + REQUIRE(mirror * outward.points[1].x() < 0.); + + Polyline path = original; + if (offset_wipe_path_toward_support(path, seam_start, seam_end, seam_end, + preferred_dir, scale_(offset), scale_(2.), support, support, current, scale_(0.4))) { + REQUIRE(path.points.size() >= 2); + CHECK(mirror * path.points[1].x() > 0.); + } else { + CHECK(path.points == original.points); + } + + // An inward pre-move provides a clear connector to the direct fallback. + // The fix must retain this usable inward path, rather than reject all wipes. + const Point wipe_start = point(0.05, -0.04); + path = original; + REQUIRE(offset_wipe_path_toward_support(path, seam_start, seam_end, wipe_start, + preferred_dir, scale_(offset), scale_(2.), support, support, current, scale_(0.4))); + REQUIRE(path.points.size() == 2); + CHECK(mirror * path.points[1].x() > mirror * wipe_start.x()); +} + +TEST_CASE("Direct inward wipes respect the nozzle position and intervening walls", "[WipePath][Regression]") +{ + const int mirror = GENERATE(1, -1); + const bool crossing_wall = GENERATE(false, true); + CAPTURE(mirror, crossing_wall); + const auto point = [mirror](double x, double y) { return Point::new_scale(mirror * x, y); }; + const Point seam_start = point(0., 0.); + const double gap_component = 0.04 / std::sqrt(2.); + const Point seam_end = point(-gap_component, -gap_component); + const Polyline original{seam_start, point(0., -10.)}; + const Lines support{Line(point(0.4, -10.), point(0.4, 1.))}; + Lines current = original.lines(); + // The direct destination is near x=0.172. A nozzle already farther inward + // must not return toward the wall. An inward connector from x=0.05 must + // still be rejected when another wall lies between it and the destination. + const Point wipe_start = point(crossing_wall ? 0.05 : 0.3, -0.04); + if (crossing_wall) + current.emplace_back(point(0.1, -0.2), point(0.1, 0.2)); + Polyline path = original; + REQUIRE_FALSE(offset_wipe_path_toward_support(path, seam_start, seam_end, wipe_start, + mirror, scale_(0.2), scale_(2.), support, support, current, scale_(0.4))); + CHECK(path.points == original.points); +} + +TEST_CASE("Inward wipe checks the material side after leaving an open wall endpoint", "[WipePath][Regression]") +{ + const bool require_clearance = GENERATE(false, true); + CAPTURE(require_clearance); + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(0., 0.); + const LinesDistancer<Line> current(Lines{Line(seam, point(2., 0.))}); + const LinesDistancer<Line> support(Lines{Line(point(0., 0.4), point(2., 0.4))}); + Polyline path{seam, point(0.1, 0.2), point(0.5, 0.2), point(-0.2, 0.2)}; + REQUIRE(wipe_path_stays_on_material_side( + path, seam, Vec2d(0., 1.), support, current, scale_(0.2), require_clearance)); + + // Rounding the open endpoint keeps 0.2 mm of unsigned clearance while + // moving to the air side. Checking only the first direction cannot catch it. + path.points.push_back(point(-0.2, -0.2)); + path.points.push_back(point(0.5, -0.2)); + REQUIRE_FALSE(wipe_path_stays_on_material_side( + path, seam, Vec2d(0., 1.), support, current, scale_(0.2), require_clearance)); +} + +TEST_CASE("Direct inward fallbacks check the material side without requiring clearance", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(0., 0.); + const LinesDistancer<Line> current(Lines{Line(point(-2., 0.), point(2., 0.))}); + const LinesDistancer<Line> support(Lines{Line(point(-2., 0.4), point(2., 0.4))}); + REQUIRE(wipe_path_stays_on_material_side( + Polyline{seam, point(0., 0.05)}, seam, Vec2d(0., 1.), support, current, scale_(0.2), false)); + + // Even if the construction's initial direction points outward, the nearby + // inner wall still identifies the material side independently of that hint. + REQUIRE_FALSE(wipe_path_stays_on_material_side( + Polyline{seam, point(0., -0.05)}, seam, Vec2d(0., -1.), support, current, scale_(0.2), false)); +} + +TEST_CASE("Stored wipe path may return to the current wall after reaching an earlier wall", "[WipePath]") +{ + const coord_t s = scale_(1.0); + const Polyline path{Point(0, 0), Point(0, 2 * s), Point(10 * s, 0)}; + const Lines earlier{Line(Point(0, 2 * s), Point(10 * s, 2 * s))}; + const Lines current{Line(Point(0, 0), Point(10 * s, 0))}; + + Lines all_support = earlier; + all_support.insert(all_support.end(), current.begin(), current.end()); + REQUIRE(wipe_path_support_score(path, Point(0, 0), + LinesDistancer<Line>(earlier), LinesDistancer<Line>(all_support), s).has_value()); +} + +TEST_CASE("Stored wipe path tolerates compounded coordinate quantization", "[WipePath]") +{ + const coord_t s = scale_(1.0); + const coord_t rounding = coord_t(3.5 * SCALED_EPSILON); + const Point destination(0, 2 * s + rounding); + const Polyline path{Point(0, 0), destination}; + const Lines earlier{Line(Point(-s, 0), Point(s, 0))}; + + const LinesDistancer<Line> support_distancer(earlier); + REQUIRE(wipe_path_support_score(path, destination, support_distancer, support_distancer, 2 * s).has_value()); +} + +TEST_CASE("Stored wipe path stays on the inner side of a short external loop", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(55.270, 41.666); + Polyline path{ + seam, point(55.241, 41.568), point(55.210, 41.518), point(55.195, 41.506), + point(55.173, 41.496), point(55.141, 41.479), point(55.126, 41.473), + point(55.068, 41.421), point(55.055, 41.416), point(55.006, 41.382), + point(54.808, 41.231), point(54.687, 41.153), point(54.590, 41.069), + point(54.529, 41.027), point(54.441, 40.949), point(54.299, 40.803), + point(54.219, 40.674), point(54.183, 40.581), point(54.172, 40.511), + point(54.182, 40.450), point(54.225, 40.358), point(54.256, 40.318), + point(54.341, 40.251), point(54.418, 40.211), point(54.499, 40.176), + point(54.675, 40.124), point(54.797, 40.106), point(54.978, 40.092), + point(55.245, 40.093), point(55.443, 40.103), point(55.591, 40.128), + point(55.771, 40.164), point(55.962, 40.217), point(56.103, 40.264), + point(56.167, 40.295), point(56.246, 40.341), point(56.338, 40.412), + point(56.382, 40.469), point(56.396, 40.527), point(56.386, 40.609), + point(56.313, 40.740), point(56.208, 40.867), point(56.071, 40.991), + point(55.946, 41.094), point(55.812, 41.198), point(55.722, 41.262), + point(55.665, 41.294), point(55.556, 41.398), point(55.520, 41.414), + point(55.495, 41.424), point(55.478, 41.437), point(55.442, 41.469), + point(55.407, 41.505), point(55.386, 41.510), point(55.367, 41.516), + point(55.335, 41.535), point(55.292, 41.575), seam, + }; + const Polyline original = path; + const Polyline inner{ + point(55.111, 41.176), point(54.946, 41.050), point(54.824, 40.970), + point(54.733, 40.892), point(54.668, 40.846), point(54.598, 40.784), + point(54.480, 40.662), point(54.424, 40.572), point(54.403, 40.516), + point(54.420, 40.479), point(54.465, 40.443), point(54.577, 40.390), + point(54.723, 40.347), point(54.823, 40.333), point(54.986, 40.320), + point(55.239, 40.321), point(55.418, 40.330), point(55.550, 40.352), + point(55.718, 40.386), point(55.896, 40.435), point(56.017, 40.476), + point(56.061, 40.497), point(56.118, 40.530), point(56.154, 40.558), + point(56.124, 40.611), point(56.043, 40.709), point(55.921, 40.819), + point(55.804, 40.916), point(55.676, 41.015), point(55.600, 41.069), + point(55.526, 41.114), point(55.426, 41.207), point(55.379, 41.235), + point(55.349, 41.259), point(55.291, 41.317), point(55.252, 41.293), + point(55.192, 41.238), point(55.111, 41.176), + }; + Lines target_support = inner.lines(); + // Orca: a different contour has a slightly closer inner wall on the air + // side of this short loop. It must not override the loop's material side. + target_support.emplace_back(point(55.159, 42.147), point(55.299, 42.011)); + + REQUIRE(offset_wipe_path_toward_support( + path, seam, seam, seam, +1, scale_(0.293166), scale_(0.8), + target_support, target_support, original.lines(), scale_(0.4))); + REQUIRE(path.points.size() >= 2); + + // Orca: the nearest inner wall is below the seam; accepting the opposite + // offset would send the wipe into air outside this small contour. + CHECK(path.points[1].y() < seam.y()); +} + +TEST_CASE("Stored wipe path does not return to the external wall after moving inward", "[WipePath][Regression]") +{ + const auto point = [](double x, double y) { return Point::new_scale(x, y); }; + const Point seam = point(47.451, 54.647); + Polyline path{ + seam, point(47.370, 54.634), point(47.345, 54.619), point(47.333, 54.604), + point(47.322, 54.572), point(47.312, 54.518), point(47.315, 54.445), + point(47.345, 54.257), point(47.357, 54.206), point(47.380, 54.135), + point(47.418, 54.065), point(47.514, 53.917), point(47.537, 53.886), + point(47.597, 53.834), point(47.705, 53.769), point(47.747, 53.748), + point(47.785, 53.734), point(47.825, 53.735), point(47.862, 53.746), + point(47.889, 53.763), point(47.939, 53.817), point(47.964, 53.856), + point(47.979, 53.897), point(47.986, 53.943), point(47.986, 54.005), + point(47.977, 54.075), point(47.949, 54.188), point(47.902, 54.321), + point(47.871, 54.388), point(47.835, 54.444), point(47.765, 54.521), + point(47.741, 54.542), point(47.675, 54.589), point(47.615, 54.620), + point(47.518, 54.642), seam, + }; + const Polyline original = path; + const Polyline inner{ + point(47.541, 54.281), point(47.545, 54.258), point(47.560, 54.212), + point(47.577, 54.181), point(47.682, 54.017), point(47.707, 53.995), + point(47.789, 53.946), point(47.791, 53.958), point(47.791, 53.992), + point(47.785, 54.039), point(47.762, 54.132), point(47.721, 54.249), + point(47.700, 54.294), point(47.680, 54.324), point(47.628, 54.382), + point(47.574, 54.422), point(47.548, 54.435), point(47.513, 54.443), + point(47.541, 54.281), + }; + const double offset = scale_(0.229999); + + REQUIRE(offset_wipe_path_toward_support( + path, seam, seam, seam, +1, offset, scale_(0.8), + inner.lines(), inner.lines(), original.lines(), scale_(0.4))); + + // Orca: after reaching the inner wall, a full-width inward wipe must not + // collapse back onto the external perimeter at a tight turn. + for (size_t index = 1; index < path.points.size(); ++index) { + double clearance = std::numeric_limits<double>::infinity(); + for (const Line &line : original.lines()) + clearance = std::min(clearance, line.distance_to(path.points[index])); + CHECK(clearance >= 0.75 * offset); + } +} + +// Orca: wipe_on_loops_destination coverage for every orientation. + +TEST_CASE("wipe_on_loops destination is on the material side for every orientation", "[WipePath]") +{ + const auto [is_ccw, is_hole] = GENERATE( + table<bool, bool>({{true, false}, {false, false}, {false, true}, {true, true}})); + INFO("is_ccw=" << is_ccw << ", is_hole=" << is_hole); + const double nozzle_diameter = GENERATE(0.4, 0.8); + const bool subdivided = GENERATE(false, true); + INFO("nozzle diameter=" << nozzle_diameter << ", subdivided=" << subdivided); + + const coord_t s = scale_(1.0); + std::vector<Point> contour = {Point(0, 0), Point(20 * s, 0), Point(20 * s, 20 * s), Point(0, 20 * s)}; + if (subdivided) { + // The same square, with path boundaries inside both sampling distances near the seam. + contour = {Point(0, 0), Point(scale_(0.03), 0.), Point(scale_(0.2), 0.), + Point(20 * s, 0), Point(20 * s, 20 * s), Point(0, 20 * s), + Point(0., scale_(0.2)), Point(0., scale_(0.03))}; + } + if (!is_ccw) + for (Point &point : contour) + std::swap(point.x(), point.y()); + ExtrusionPaths paths; + if (subdivided) { + for (size_t i = 0; i < contour.size(); ++i) + paths.push_back(make_path({contour[i], contour[(i + 1) % contour.size()]})); + } else { + paths = make_loop_paths(contour); + } + + const std::optional<Point> destination = + wipe_on_loops_destination(paths, scale_(nozzle_diameter), is_ccw, is_hole); + REQUIRE(destination.has_value()); + + const Point seam_start = paths.front().first_point(); + const Vec2d first_edge = (paths.front().polyline.points[1].to_point() - seam_start).cast<double>(); + Vec2d material_normal(-first_edge.y(), first_edge.x()); + if (is_ccw == is_hole) + material_normal = -material_normal; + + // Orca: contours use their winding's inside; holes use the opposite side. + const Vec2d move = destination->cast<double>() - seam_start.cast<double>(); + REQUIRE(move.dot(material_normal) > 0.); + // Move 20% of the nozzle diameter, turning through one third of the material-side + // corner: 90 degrees for a contour, 270 degrees for a hole. + const double distance = scale_(0.2 * nozzle_diameter); + const double angle = is_hole ? PI / 2. : PI / 6.; + CHECK_THAT(move.dot(first_edge.normalized()), Catch::Matchers::WithinAbs(distance * std::cos(angle), 2.)); + CHECK_THAT(move.dot(material_normal.normalized()), Catch::Matchers::WithinAbs(distance * std::sin(angle), 2.)); +} + +TEST_CASE("wipe_on_loops returns destination for small but nonzero loop", "[WipePath]") +{ + // Orca: a 0.5 mm square is tight for a 0.4 mm nozzle but remains valid. + const coord_t s = scale_(1.0); + auto paths = make_loop_paths({Point(0, 0), Point(s / 2, 0), Point(s / 2, s / 2), Point(0, s / 2)}); + + auto dest = wipe_on_loops_destination(paths, scale_(0.4), true, false); + REQUIRE(dest.has_value()); +} + +TEST_CASE("wipe_on_loops destination is nullopt for degenerate single-point path", "[WipePath]") +{ + const coord_t s = scale_(1.0); + auto paths = make_paths({Point(50 * s, 50 * s)}); + + auto dest = wipe_on_loops_destination(paths, scale_(0.4), true, false); + REQUIRE_FALSE(dest.has_value()); +} diff --git a/tests/libslic3r/test_wipe_tower.cpp b/tests/libslic3r/test_wipe_tower.cpp new file mode 100644 index 0000000000..6f6daa74b8 --- /dev/null +++ b/tests/libslic3r/test_wipe_tower.cpp @@ -0,0 +1,381 @@ +#include <catch2/catch_all.hpp> + +#include <cmath> + +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/WipeTower2.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/PrintConfig.hpp" + +using namespace Slic3r; +using Catch::Matchers::WithinAbs; + +// A Bambu P1S project that reproduced the off-plate brim: two PLAs priming 30 and 45 mm3 in +// separate adhesiveness categories on a 35 mm tower, 0.21 mm layers, 0.4 nozzle (0.5 mm lines), +// 150 % infill gap (0.75 mm line pitch), rib width 8, 16 mm tall. +static std::vector<WipeTower::PurgeEstimate> cube_purges(int first_category = 100) +{ + return {{30.f, first_category}, {45.f, 0}}; +} + +TEST_CASE("Cone base polygon bulges past the body box", "[WipeTower]") { + // Zero angle: plain body box. + const Polygon box = WipeTower2::cone_base_polygon(35., 20., 100., 0.); + CHECK(box.points.size() == 4); + CHECK(get_extents(box).size() == Point::new_scale(Vec2d(35., 20.))); + // A 25-degree cone on a 100 mm tower: base radius R = tan(12.5deg)*100 = 22.2 mm, + // which exceeds the body half-depth, so the footprint bulges to center +- R in y + // (support_scale keeps the x extent compressed near the body). + const Polygon base = WipeTower2::cone_base_polygon(35., 20., 100., 25.); + const BoundingBox bb = get_extents(base); + const double R = std::tan(25. / 2. * M_PI / 180.) * 100.; + CHECK_THAT(unscaled(bb.min.y()), WithinAbs(10. - R, 0.1)); + CHECK_THAT(unscaled(bb.max.y()), WithinAbs(10. + R, 0.1)); + // The footprint always contains the body box. + CHECK(diff(Polygons{box}, Polygons{base}).empty()); +} + +TEST_CASE("Type1 block-stack depth quantizes each purge to whole lines", "[WipeTower]") { + // A 0.5 mm line at 0.21 mm carries 0.0955 mm3 per mm, so across the 34 mm between the + // perimeters 30 mm3 is 10 lines and 45 mm3 is 14: 7.5 + 10.5 at the 0.75 mm pitch behind + // one perimeter width. The generated mesh of the project measured exactly this. + CHECK_THAT(WipeTower::estimate_tower_blocks_depth(cube_purges(), 35.f, 0.21f, 0.4f, 1.5f), WithinAbs(18.5f, 0.01f)); + // Sharing one category, a layer can never purge into every filament (one of them starts + // the layer), so the block is sized by its worst layer and the 10-line purge drops out. + CHECK_THAT(WipeTower::estimate_tower_blocks_depth(cube_purges(0), 35.f, 0.21f, 0.4f, 1.5f), WithinAbs(11.0f, 0.01f)); + CHECK_THAT(WipeTower::estimate_tower_blocks_depth({}, 35.f, 0.2f, 0.4f, 1.f), WithinAbs(0.f, 1e-6f)); + // A width narrower than two perimeter widths cannot hold purge lines. + CHECK_THAT(WipeTower::estimate_tower_blocks_depth({{45.f, 0}}, 0.9f, 0.2f, 0.4f, 1.f), WithinAbs(0.f, 1e-6f)); +} + +TEST_CASE("A nozzle change adds its ramming lines to the block", "[WipeTower]") { + // 10 mm of 1.75 mm filament (24.05 mm3) laid as 1.0 mm nozzle-change lines at 0.2 mm + // (0.1914 mm2 each) is 125.7 mm; across the 48.5 mm available that is 3 lines of 1.0 mm. + std::vector<WipeTower::PurgeEstimate> purges{{100.f, 0}, {100.f, 0}}; + const float without_change = WipeTower::estimate_tower_blocks_depth(purges, 50.f, 0.2f, 0.4f, 1.f); + purges.front().filament_change_length = 10.f; + CHECK_THAT(WipeTower::estimate_tower_blocks_depth(purges, 50.f, 0.2f, 0.4f, 1.f) - without_change, WithinAbs(3.f, 1e-4f)); +} + +TEST_CASE("Rib tower footprint estimate covers the generated footprint", "[WipeTower]") { + // The generated first-layer wall bbox of the project measured 29.56 mm from the sliced + // G-code; the volume-only estimate said 23.585 mm. + const float side = WipeTower::estimate_rib_tower_bbox_side(cube_purges(), 35.f, 0.21f, 0.4f, 1.5f, 8.f, 0.f, 16.f); + CHECK(side >= 29.56f); + CHECK(side <= 29.56f + 4.f); // without grossly over-reserving plate space + // Separate categories stack their blocks, so the footprint must not shrink when they differ. + CHECK(side >= WipeTower::estimate_rib_tower_bbox_side(cube_purges(0), 35.f, 0.21f, 0.4f, 1.5f, 8.f, 0.f, 16.f)); + CHECK_THAT(WipeTower::estimate_rib_tower_bbox_side({}, 35.f, 0.2f, 0.4f, 1.f, 8.f, 0.f, 16.f), WithinAbs(0.f, 1e-6f)); +} + +TEST_CASE("Rib footprint extends the ribs, not the body, below the stability minimum", "[WipeTower]") { + // A 10 mm body under a 90 mm print: the ribs stretch to the minimum depth's diagonal, and + // the rib width is capped at half the body, so the square grows to minimum + 5 / sqrt(2). + const float min_depth = WipeTower::get_limit_depth_by_height(90.f); + REQUIRE(min_depth > 10.f); + CHECK_THAT(WipeTower::rib_footprint_side(10.f, 10.f, 8.f, 0.f, 90.f), WithinAbs(min_depth + 5.f / std::sqrt(2.f), 1e-4f)); + // The extra rib length runs along the diagonal, so it shows as its projection on each axis. + const float plain = WipeTower::rib_footprint_side(30.f, 30.f, 8.f, 0.f, 5.f); + CHECK_THAT(plain, WithinAbs(30.f + 8.f / std::sqrt(2.f), 1e-4f)); + CHECK_THAT(WipeTower::rib_footprint_side(30.f, 30.f, 8.f, 4.f, 5.f) - plain, WithinAbs(4.f / std::sqrt(2.f), 1e-4f)); + // A negative extra length cannot pull the ribs inside the diagonal. + CHECK_THAT(WipeTower::rib_footprint_side(30.f, 30.f, 8.f, -4.f, 5.f), WithinAbs(plain, 1e-4f)); + CHECK_THAT(WipeTower::rib_footprint_side(0.f, 30.f, 8.f, 0.f, 5.f), WithinAbs(0.f, 1e-6f)); +} + +TEST_CASE("Brim width estimate matches each generator's loop quantization", "[WipeTower]") { + // 3 mm configured, 0.4 nozzle, 0.2 first layer: 0.4571 mm spacing, 7 loops. WipeTower2 + // prints and reports the 7 loops; WipeTower reports half a spacing of line width on top. + const float spacing = 0.5f - 0.2f * float(1. - M_PI_4); + CHECK_THAT(WipeTower::estimate_brim_real_width(3.f, 0.4f, 0.2f, true), WithinAbs(7.f * spacing, 1e-4f)); + CHECK_THAT(WipeTower::estimate_brim_real_width(3.f, 0.4f, 0.2f, false), WithinAbs(7.5f * spacing, 1e-4f)); + CHECK_THAT(WipeTower::estimate_brim_real_width(0.f, 0.4f, 0.2f, true), WithinAbs(0.f, 1e-6f)); +} + +// --------------------------------------------------------------------------------------------- +// "No sparse layers": the compaction rule and the clearance it demands of the plate. +// --------------------------------------------------------------------------------------------- + +// A square of side mm centred on (cx, cy), in bed coordinates. +static Polygon centered_square(double cx, double cy, double side) +{ + const double h = 0.5 * side; + Polygon poly; + poly.points = {Point::new_scale(cx - h, cy - h), Point::new_scale(cx + h, cy - h), + Point::new_scale(cx + h, cy + h), Point::new_scale(cx - h, cy + h)}; + return poly; +} + +static WipeTower::ToolChangeResult make_tcr(int initial_tool, int new_tool, float layer_height) +{ + WipeTower::ToolChangeResult tcr{}; + tcr.initial_tool = initial_tool; + tcr.new_tool = new_tool; + tcr.layer_height = layer_height; + return tcr; +} + +// A 20 mm square tower at the bed origin, no spiral z-hop, so the keep-out zone is the bare +// footprint and every distance below is one the test sets. +static PrintConfig clearance_config() +{ + PrintConfig cfg; + cfg.extruder_clearance_radius.value = 40.; + cfg.extruder_clearance_dist_to_rod.value = 20.; + cfg.extruder_clearance_height_to_rod.value = 25.; + cfg.extruder_clearance_height_to_lid.value = 120.; + cfg.nozzle_height.value = 5.; + cfg.nozzle_diameter.values = {0.4}; + cfg.z_hop.values = {0.}; + cfg.travel_slope.values = {3.}; + return cfg; +} + +TEST_CASE("Sparse layers are skipped only when nothing else needs a tower on every layer", "[WipeTower][NoSparseLayers]") { + PrintConfig cfg; + cfg.timelapse_type.value = TimelapseType::tlTraditional; + cfg.enable_wrapping_detection.value = false; + + cfg.wipe_tower_no_sparse_layers.value = false; + CHECK_FALSE(wipe_tower_sparse_layers_skipped(cfg)); + cfg.wipe_tower_no_sparse_layers.value = true; + CHECK(wipe_tower_sparse_layers_skipped(cfg)); + + // Both park the nozzle on the tower every layer, so no layer is ever dropped and the option + // must read as off everywhere rather than compact in one place and not another. + cfg.timelapse_type.value = TimelapseType::tlSmooth; + CHECK_FALSE(wipe_tower_sparse_layers_skipped(cfg)); + cfg.timelapse_type.value = TimelapseType::tlTraditional; + cfg.enable_wrapping_detection.value = true; + CHECK_FALSE(wipe_tower_sparse_layers_skipped(cfg)); +} + +TEST_CASE("A planned layer is sparse only when its single tool change keeps the filament", "[WipeTower][NoSparseLayers]") { + CHECK(wipe_tower_layer_is_sparse({make_tcr(1, 1, 0.2f)})); + CHECK_FALSE(wipe_tower_layer_is_sparse({make_tcr(0, 1, 0.2f)})); + // A second entry means the layer carries real work whatever the tools are. + CHECK_FALSE(wipe_tower_layer_is_sparse({make_tcr(1, 1, 0.2f), make_tcr(1, 1, 0.2f)})); + CHECK_FALSE(wipe_tower_layer_is_sparse({})); +} + +TEST_CASE("The compacted tower falls one layer height behind the object per sparse layer", "[WipeTower][NoSparseLayers]") { + // Five 0.2 mm layers off a 0.1 mm z offset, the middle two sparse. The object reaches + // 0.1 + 5 * 0.2 = 1.1; the tower only grows on the three printed layers, so it ends at + // 0.1 + 3 * 0.2 = 0.7 and a sparse layer carries the previous value rather than its own. + const std::vector<std::vector<WipeTower::ToolChangeResult>> tool_changes{ + {make_tcr(0, 1, 0.2f)}, {make_tcr(1, 1, 0.2f)}, {make_tcr(1, 1, 0.2f)}, + {make_tcr(1, 0, 0.2f)}, {make_tcr(0, 1, 0.2f)}}; + + const std::vector<float> tower_z = compute_compacted_wipe_tower_z(tool_changes, 0.1f); + REQUIRE(tower_z.size() == tool_changes.size()); + CHECK_THAT(tower_z[0], WithinAbs(0.3f, 1e-5f)); + CHECK_THAT(tower_z[1], WithinAbs(0.3f, 1e-5f)); + CHECK_THAT(tower_z[2], WithinAbs(0.3f, 1e-5f)); + CHECK_THAT(tower_z[3], WithinAbs(0.5f, 1e-5f)); + CHECK_THAT(tower_z[4], WithinAbs(0.7f, 1e-5f)); + CHECK_THAT(1.1f - tower_z.back(), WithinAbs(2 * 0.2f, 1e-5f)); + + // Without a base the tower starts at the bed, and an empty layer carries over like a sparse one. + const std::vector<float> no_offset = compute_compacted_wipe_tower_z({{make_tcr(0, 1, 0.2f)}, {}}, 0.f); + CHECK_THAT(no_offset[0], WithinAbs(0.2f, 1e-5f)); + CHECK_THAT(no_offset[1], WithinAbs(0.2f, 1e-5f)); +} + +TEST_CASE("The tower keep-out zone grows by the spiral z-hop envelope", "[WipeTower][NoSparseLayers]") { + PrintConfig cfg = clearance_config(); + const Polygon footprint = centered_square(0., 0., 20.); + + // No lift, no envelope: the zone works on the bare footprint. + CHECK_THAT(unscaled(compacted_wipe_tower_zone(cfg, footprint).hull.bounding_box().max.x()), WithinAbs(10., 1e-6)); + + // A spiral lift leaves the outline at low z, so it counts as tower. The circle reaches + // 2 * lift / (2*pi*atan(slope)) past the outline, matching GCodeWriter: 2*2/(2*pi*atan(3)) = 0.51 mm. + cfg.z_hop.values = {2.}; + const CompactedTowerZone lifted = compacted_wipe_tower_zone(cfg, footprint); + CHECK_THAT(unscaled(lifted.hull.bounding_box().max.x()), WithinAbs(10.51, 0.02)); + CHECK_THAT(unscaled(lifted.hull.bounding_box().min.y()), WithinAbs(-10.51, 0.02)); + CHECK(diff(Polygons{footprint}, Polygons{lifted.hull}).empty()); + + // z_hop is capped at 5 mm by the option, so a taller lift cannot widen the zone further. + cfg.z_hop.values = {10.}; + const double capped = unscaled(compacted_wipe_tower_zone(cfg, footprint).hull.bounding_box().max.x()); + CHECK_THAT(capped, WithinAbs(10. + 2. * 5. / (2. * M_PI * std::atan(3.)), 0.02)); + + // The rod sweeps the whole X axis, so its band is the tower's y span plus half the rod offset. + CHECK_THAT(unscaled(lifted.bbox_rod.max.y()), WithinAbs(10.51 + 10., 0.02)); +} + +TEST_CASE("An object beside a compacted tower is limited by the nearest part of the toolhead", "[WipeTower][NoSparseLayers]") { + const PrintConfig cfg = clearance_config(); + const CompactedTowerZone zone = compacted_wipe_tower_zone(cfg, centered_square(0., 0., 20.)); + + // Each side carries half its clearance less 0.1 mm slack, so the two outlines meet when the + // objects are a full clearance apart: 2 * (4 - 0.2) / 2 = 3.8 mm for the bare nozzle cone, + // 2 * (40 - 0.2) / 2 = 39.8 mm for the head body. A 10 mm object at x leaves a gap of x - 15. + const double tall = 50., shortish = 3.; + + // Gap 1 mm, inside the nozzle cone: the object may not rise above the tower at all. + const CompactedTowerClearance touching = compacted_wipe_tower_clearance(cfg, zone, centered_square(16., 0., 10.), tall); + CHECK_THAT(touching.allowed_rise, WithinAbs(0., 1e-9)); + + // Gap 10 mm: clear of the cone but inside the head body, which starts at nozzle_height. + const CompactedTowerClearance near_body = compacted_wipe_tower_clearance(cfg, zone, centered_square(25., 0., 10.), tall); + CHECK(near_body.near_body); + CHECK_THAT(near_body.allowed_rise, WithinAbs(5., 1e-9)); + CHECK_THAT(near_body.body_clearance, WithinAbs(40., 1e-9)); + + // The same spot, but an object that never rises past the cone. The body sits above the cone, so + // it cannot reach this object however close it stands, and only the narrow tier applies. + const CompactedTowerClearance low = compacted_wipe_tower_clearance(cfg, zone, centered_square(25., 0., 10.), shortish); + CHECK_FALSE(low.near_body); + CHECK_THAT(low.body_clearance, WithinAbs(4., 1e-9)); + CHECK_THAT(low.allowed_rise, WithinAbs(25., 1e-9)); + + // Gap 55 mm, clear of the head entirely: the rod is the obstacle, since the object shares the + // tower's y band and the rod spans the whole x axis however far apart the two stand. + const CompactedTowerClearance far_in_band = compacted_wipe_tower_clearance(cfg, zone, centered_square(70., 0., 10.), tall); + CHECK_FALSE(far_in_band.near_body); + CHECK_THAT(far_in_band.far_clearance, WithinAbs(25., 1e-9)); + CHECK_THAT(far_in_band.allowed_rise, WithinAbs(25., 1e-9)); + + // Out of the band the rod passes over it and only the lid is left. + const CompactedTowerClearance out_of_band = compacted_wipe_tower_clearance(cfg, zone, centered_square(70., 60., 10.), tall); + CHECK_THAT(out_of_band.allowed_rise, WithinAbs(120., 1e-9)); +} + +TEST_CASE("The ring drawn around the tower meets the outline drawn around an offender", "[WipeTower][NoSparseLayers]") { + const PrintConfig cfg = clearance_config(); + const CompactedTowerZone zone = compacted_wipe_tower_zone(cfg, centered_square(0., 0., 20.)); + + // What the plater draws has to be what the check tested, otherwise a user moves an object until + // the outlines part and slicing still refuses the plate. Both halves of the 3.8 mm nozzle + // clearance: at a 3 mm gap the rings overlap and the rise limit is zero, at 5 mm neither holds. + for (const auto &c : {std::make_pair(18., true), std::make_pair(20., false)}) { + DYNAMIC_SECTION("object at x = " << c.first) { + const Polygon hull = centered_square(c.first, 0., 10.); + const CompactedTowerClearance clearance = compacted_wipe_tower_clearance(cfg, zone, hull, 3.); + const Polygons rings = compacted_wipe_tower_rings(zone, compacted_tower_body_tier(clearance)); + const Polygon outline = compacted_wipe_tower_offender_outline(hull, clearance.body_clearance); + const bool outlines_meet = ! intersection(rings, Polygons{outline}).empty(); + const bool rise_denied = clearance.allowed_rise < EPSILON; + CHECK(outlines_meet == c.second); + CHECK(rise_denied == c.second); + } + } +} + +TEST_CASE("Only the keep-out ring an object is measured against is drawn", "[WipeTower][NoSparseLayers]") { + const PrintConfig cfg = clearance_config(); + const CompactedTowerZone zone = compacted_wipe_tower_zone(cfg, centered_square(0., 0., 20.)); + + // Drawing the wide ring when no object is judged on it would show a keep-out zone the check can + // never trip, so it is added only once some object reaches past the nozzle cone. + CHECK(compacted_wipe_tower_rings(zone, false).size() == zone.grown_nozzle.size()); + CHECK(compacted_wipe_tower_rings(zone, true).size() == zone.grown_nozzle.size() + zone.grown_body.size()); + CHECK_THAT(unscaled(get_extents(zone.grown_nozzle).max.x()), WithinAbs(10. + 0.5 * (4. - 0.2), 0.02)); + CHECK_THAT(unscaled(get_extents(zone.grown_body).max.x()), WithinAbs(10. + 0.5 * (40. - 0.2), 0.02)); +} + +// --------------------------------------------------------------------------------------------- +// "Combine sparse layers": folding a run of toolchange-free layers into one thicker tower layer. +// --------------------------------------------------------------------------------------------- + +TEST_CASE("Sparse layers are combined only when every layer is still the tower's to place", "[WipeTower][CombineSparseLayers]") { + PrintConfig cfg; + cfg.timelapse_type.value = TimelapseType::tlTraditional; + cfg.enable_wrapping_detection.value = false; + cfg.wipe_tower_no_sparse_layers.value = false; + + cfg.wipe_tower_sparse_layers_combination.value = false; + CHECK_FALSE(wipe_tower_sparse_layers_combined(cfg)); + cfg.wipe_tower_sparse_layers_combination.value = true; + CHECK(wipe_tower_sparse_layers_combined(cfg)); + + // Dropping the sparse layers outright leaves nothing to combine. + cfg.wipe_tower_no_sparse_layers.value = true; + CHECK_FALSE(wipe_tower_sparse_layers_combined(cfg)); + CHECK(wipe_tower_sparse_layers_skipped(cfg)); + cfg.wipe_tower_no_sparse_layers.value = false; + + // Both of these park the nozzle on the tower every layer, so no layer may be folded away. + cfg.timelapse_type.value = TimelapseType::tlSmooth; + CHECK_FALSE(wipe_tower_sparse_layers_combined(cfg)); + cfg.timelapse_type.value = TimelapseType::tlTraditional; + cfg.enable_wrapping_detection.value = true; + CHECK_FALSE(wipe_tower_sparse_layers_combined(cfg)); +} + +TEST_CASE("A layer folded into a later one is marked on the results the emitter reads", "[WipeTower][CombineSparseLayers]") { + WipeTower::ToolChangeResult folded = make_tcr(1, 1, 0.2f); + folded.combined_away = true; + CHECK(wipe_tower_layer_is_combined_away({folded})); + CHECK_FALSE(wipe_tower_layer_is_combined_away({make_tcr(1, 1, 0.2f)})); + CHECK_FALSE(wipe_tower_layer_is_combined_away({})); +} + +TEST_CASE("A run of sparse layers prints once, on its last layer, at the height it covers", "[WipeTower][CombineSparseLayers]") { + // Eight 0.1 mm layers on a 0.3 mm cap: a toolchange on the first and the last, sparse between. + std::vector<float> heights(8, 0.1f); + const std::vector<char> sparse{0, 1, 1, 1, 1, 1, 1, 0}; + const std::vector<float> caps(8, 0.3f); + + const std::vector<char> combined = combine_sparse_wipe_tower_layers(heights, sparse, caps, 0); + REQUIRE(combined.size() == heights.size()); + // Three layers fill the cap exactly: the run flushes on layers 3 and 6, the two below each go. + CHECK(combined == std::vector<char>{0, 1, 1, 0, 1, 1, 0, 0}); + CHECK_THAT(heights[3], WithinAbs(0.3f, 1e-5f)); + CHECK_THAT(heights[6], WithinAbs(0.3f, 1e-5f)); + // Layers that print keep the object covered: nothing is lost and nothing is printed twice. + float printed = 0.f; + for (size_t i = 0; i < heights.size(); ++i) + if (! combined[i]) + printed += heights[i]; + CHECK_THAT(printed, WithinAbs(0.8f, 1e-5f)); + // A toolchange has to purge at its own z, so those layers are left exactly as planned. + CHECK_THAT(heights[0], WithinAbs(0.1f, 1e-5f)); + CHECK_THAT(heights[7], WithinAbs(0.1f, 1e-5f)); +} + +TEST_CASE("The maximum layer height of the nozzle that prints the run caps the merge", "[WipeTower][CombineSparseLayers]") { + // The cap that counts belongs to the layer that prints the run; one that prints nothing lays + // nothing down, so its own cap cannot constrain it. Five 0.1 mm layers, sparse above the first, + // layer 3's nozzle taking only 0.15. (A real run holds one filament, so this only tests the + // look-ahead.) + std::vector<float> heights(5, 0.1f); + std::vector<float> caps(5, 0.3f); + caps[3] = 0.15f; + const std::vector<char> combined = combine_sparse_wipe_tower_layers(heights, {0, 1, 1, 1, 1}, caps, 0); + // Layer 2 cannot hand its 0.2 mm on to layer 3, so it prints there and a fresh run starts above. + CHECK(combined == std::vector<char>{0, 1, 0, 1, 0}); + CHECK_THAT(heights[2], WithinAbs(0.2f, 1e-5f)); + CHECK_THAT(heights[4], WithinAbs(0.2f, 1e-5f)); + + // A single layer already past the cap is printed as planned rather than shrunk. + std::vector<float> tall{0.2f, 0.4f, 0.4f}; + const std::vector<char> tall_combined = combine_sparse_wipe_tower_layers(tall, {0, 1, 1}, {0.3f, 0.3f, 0.3f}, 0); + CHECK(tall_combined == std::vector<char>{0, 0, 0}); + CHECK_THAT(tall[1], WithinAbs(0.4f, 1e-5f)); +} + +TEST_CASE("The tower's first layer is never folded away", "[WipeTower][CombineSparseLayers]") { + // It carries the brim and has to sit on the bed, however little it purges. + std::vector<float> heights(4, 0.1f); + const std::vector<char> combined = combine_sparse_wipe_tower_layers(heights, {1, 1, 1, 1}, std::vector<float>(4, 0.5f), 0); + CHECK(combined.front() == 0); + CHECK_THAT(heights.front(), WithinAbs(0.1f, 1e-5f)); + // Everything above it merges into the top layer, which the cap still fits. + CHECK(combined == std::vector<char>{0, 1, 1, 0}); + CHECK_THAT(heights.back(), WithinAbs(0.3f, 1e-5f)); +} + +TEST_CASE("Footprint padding covers the brim and the extrusion half width on each side", "[WipeTower][NoSparseLayers]") { + // A nominal outline hulls extrusion centre lines and is re-centred once the real wall is known, + // so a line width per side on top of the brim is what keeps an estimate enclosing the real tower. + const PrintConfig cfg = clearance_config(); + CHECK_THAT(compacted_tower_footprint_padding(cfg, 2.), WithinAbs(2. + 2. * 0.4, 1e-9)); + CHECK_THAT(compacted_tower_footprint_padding(cfg, 0.), WithinAbs(2. * 0.4, 1e-9)); + // Callers whose outline already carries the brim pass zero, and a negative one cannot shrink it. + CHECK_THAT(compacted_tower_footprint_padding(cfg, -5.), WithinAbs(2. * 0.4, 1e-9)); +} diff --git a/tests/libslic3r/test_wipe_tower_estimate.cpp b/tests/libslic3r/test_wipe_tower_estimate.cpp new file mode 100644 index 0000000000..22b9b2d6c5 --- /dev/null +++ b/tests/libslic3r/test_wipe_tower_estimate.cpp @@ -0,0 +1,355 @@ +#include <catch2/catch_all.hpp> + +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/WipeTower2.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" +#include "libslic3r/PrintConfig.hpp" + +#include <cmath> +#include <numeric> +#include <string> + +using namespace Slic3r; +using Catch::Matchers::WithinAbs; + +// Rectangle wall, one nozzle, 100 mm3 prime volume on a 50 mm wide tower at 0.2 mm layers: one +// purge is 10 mm of depth. The flush matrix is off here; the shipped-default case covers it. +// Built as PresetBundle::full_config builds the GUI's: apply() creates each enum as a +// ConfigOptionEnumGeneric, where full_print_config() would clone the static defaults' +// ConfigOptionEnum<T>. The estimate has to read either. +static DynamicPrintConfig preset_shaped_defaults() +{ + DynamicPrintConfig config; + config.apply(FullPrintConfig::defaults()); + return config; +} + +static DynamicPrintConfig make_config(const char *wall_type = "rectangle") +{ + DynamicPrintConfig config = preset_shaped_defaults(); + config.set_key_value("prime_tower_width", new ConfigOptionFloat(50.)); + config.set_key_value("prime_volume", new ConfigOptionFloat(100.)); + config.set_key_value("filament_prime_volume", new ConfigOptionFloats({100.})); + config.set_key_value("filament_adhesiveness_category", new ConfigOptionInts({0})); + config.set_key_value("prime_tower_infill_gap", new ConfigOptionPercent(100.)); + config.set_key_value("wipe_tower_extra_spacing", new ConfigOptionPercent(100.)); + config.set_key_value("prime_tower_brim_width", new ConfigOptionFloat(3.)); + config.set_deserialize_strict("wipe_tower_wall_type", wall_type); + config.set_key_value("wipe_tower_rib_width", new ConfigOptionFloat(8.)); + config.set_key_value("wipe_tower_extra_rib_length", new ConfigOptionFloat(0.)); + config.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4})); + config.set_key_value("initial_layer_print_height", new ConfigOptionFloat(0.2)); + config.set_deserialize_strict("timelapse_type", "0"); + config.set_key_value("enable_wrapping_detection", new ConfigOptionBool(false)); + config.set_key_value("raft_layers", new ConfigOptionInt(0)); + config.set_key_value("purge_in_prime_tower", new ConfigOptionBool(false)); + config.set_key_value("single_extruder_multi_material", new ConfigOptionBool(false)); + return config; +} + +static std::vector<unsigned int> filaments(size_t count) +{ + std::vector<unsigned int> ids(count); + std::iota(ids.begin(), ids.end(), 0u); + return ids; +} + +// The first `count` filaments on the given planner; Type2 unless a case says otherwise. +static WipeTowerFootprint estimate(const ConfigBase &config, size_t count, double layer_height, double height, WipeTowerType type = WipeTowerType::Type2) +{ + return estimate_wipe_tower_footprint(config, type, filaments(count), layer_height, height); +} + +// What both planners print for a 3 mm brim at 0.4 nozzle and 0.2 first layer (0.4571 mm loops). +static double printed_brim(double configured, WipeTowerType type) +{ + return WipeTower::estimate_brim_real_width(float(configured), 0.4f, 0.2f, type == WipeTowerType::Type2); +} + +TEST_CASE("A rectangle wall tower is sized by the purge volume", "[WipeTowerEstimate]") { + const DynamicPrintConfig config = make_config(); + // Three filaments purge twice per layer; a 5 mm object keeps the stability floor at 5 mm. + const WipeTowerFootprint fp = estimate(config, 3, 0.2, 5.); + CHECK_THAT(fp.width, WithinAbs(50., 1e-9)); + CHECK_THAT(fp.depth, WithinAbs(20., 1e-9)); + CHECK_THAT(fp.height, WithinAbs(5., 1e-9)); + CHECK_THAT(fp.brim_width, WithinAbs(printed_brim(3., WipeTowerType::Type2), 1e-6)); + // Thinner layers need more depth for the same volume. + CHECK_THAT(estimate(config, 3, 0.1, 5.).depth, WithinAbs(40., 1e-9)); +} + +TEST_CASE("Each planner spaces its purge lines by its own option", "[WipeTowerEstimate]") { + // Type2 reads wipe_tower_extra_spacing and Type1 prime_tower_infill_gap; neither sees the + // other's key. Type2's extra flow cancels out of its depth. + DynamicPrintConfig config = make_config(); + config.set_key_value("wipe_tower_extra_flow", new ConfigOptionPercent(250.)); + CHECK_THAT(estimate(config, 3, 0.2, 5.).depth, WithinAbs(20., 1e-9)); + config.set_key_value("wipe_tower_extra_spacing", new ConfigOptionPercent(150.)); + CHECK_THAT(estimate(config, 3, 0.2, 5.).depth, WithinAbs(30., 1e-9)); + const double type1_spaced = estimate(config, 3, 0.2, 5., WipeTowerType::Type1).depth; + config.set_key_value("prime_tower_infill_gap", new ConfigOptionPercent(150.)); + CHECK_THAT(estimate(config, 3, 0.2, 5.).depth, WithinAbs(30., 1e-9)); + // Type1 stacks whole lines behind one 0.5 mm perimeter width, so only the stack scales. + CHECK_THAT(estimate(config, 3, 0.2, 5., WipeTowerType::Type1).depth - 0.5, WithinAbs(1.5 * (type1_spaced - 0.5), 1e-6)); +} + +TEST_CASE("Type1 sizes the tower from each filament's own prime volume", "[WipeTowerEstimate]") { + // The Bambu P1S project of the WipeTower cases: 30 and 45 mm3 in two categories on a 35 mm + // tower at 0.21 mm, 150 % gap, is 18.5 mm of stacked blocks (11 mm sharing one category). + DynamicPrintConfig config = make_config(); + config.set_key_value("prime_tower_width", new ConfigOptionFloat(35.)); + config.set_key_value("prime_tower_infill_gap", new ConfigOptionPercent(150.)); + config.set_key_value("initial_layer_print_height", new ConfigOptionFloat(0.21)); + config.set_key_value("filament_prime_volume", new ConfigOptionFloats({30., 45.})); + config.set_key_value("filament_adhesiveness_category", new ConfigOptionInts({100, 0})); + const std::vector<WipeTower::PurgeEstimate> purges{{30.f, 100}, {45.f, 0}}; + const double blocks = WipeTower::estimate_tower_blocks_depth(purges, 35.f, 0.21f, 0.4f, 1.5f); + REQUIRE_THAT(blocks, WithinAbs(18.5, 0.01)); + CHECK_THAT(estimate(config, 2, 0.21, 5., WipeTowerType::Type1).depth, WithinAbs(blocks, 1e-4)); + // The ids pick the volumes, so their order does not matter and a lone filament has no purge. + CHECK_THAT(estimate_wipe_tower_footprint(config, WipeTowerType::Type1, {1, 0}, 0.21, 5.).depth, WithinAbs(blocks, 1e-4)); + CHECK_THAT(estimate(config, 1, 0.21, 5., WipeTowerType::Type1).depth, WithinAbs(0., 1e-9)); + config.set_key_value("filament_adhesiveness_category", new ConfigOptionInts({0, 0})); + CHECK_THAT(estimate(config, 2, 0.21, 5., WipeTowerType::Type1).depth, WithinAbs(11., 0.01)); + // A rib wall squares the same stack. + config.set_deserialize_strict("wipe_tower_wall_type", "rib"); + const WipeTowerFootprint rib = estimate(config, 2, 0.21, 5., WipeTowerType::Type1); + CHECK_THAT(rib.width, WithinAbs(rib.depth, 1e-9)); + CHECK_THAT(rib.depth, WithinAbs(WipeTower::estimate_rib_tower_bbox_side({{30.f, 0}, {45.f, 0}}, 35.f, 0.21f, 0.4f, 1.5f, 8.f, 0.f, 5.f), 1e-4)); +} + +TEST_CASE("A second nozzle adds the ramming of one nozzle change per layer", "[WipeTowerEstimate]") { + // Two filaments on two nozzles: the tool order crosses once per layer, and Type1 rams 10 mm + // of filament as three 1.0 mm nozzle-change lines (see the WipeTower case). + DynamicPrintConfig config = make_config(); + config.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4, 0.4})); + config.set_key_value("filament_change_length", new ConfigOptionFloats({10., 10.})); + config.set_key_value("filament_diameter", new ConfigOptionFloats({1.75, 1.75})); + config.set_key_value("filament_map", new ConfigOptionInts({1, 1})); + const double same_nozzle = estimate(config, 2, 0.2, 5., WipeTowerType::Type1).depth; + config.set_key_value("filament_map", new ConfigOptionInts({1, 2})); + CHECK_THAT(estimate(config, 2, 0.2, 5., WipeTowerType::Type1).depth - same_nozzle, WithinAbs(3., 1e-4)); +} + +TEST_CASE("The tower is sized for the first layer when it is the thinnest", "[WipeTowerEstimate]") { + // Both planners reserve the worst layer: a 0.28 mm print with a 0.2 mm first layer needs + // the 0.2 mm depth, while a thicker first layer changes nothing. + DynamicPrintConfig config = make_config(); + const double at_thinnest = estimate(config, 3, 0.2, 5.).depth; + CHECK_THAT(estimate(config, 3, 0.28, 5.).depth, WithinAbs(at_thinnest, 1e-9)); + config.set_key_value("initial_layer_print_height", new ConfigOptionFloat(0.3)); + CHECK(estimate(config, 3, 0.28, 5.).depth < at_thinnest); +} + +TEST_CASE("Object height sets the stability floor and the auto brim", "[WipeTowerEstimate]") { + DynamicPrintConfig config = make_config(); + // Two filaments purge once: 10 mm, lifted to the 20 mm floor of a 100 mm tower. + CHECK_THAT(estimate(config, 2, 0.2, 100.).depth, WithinAbs(20., 1e-9)); + config.set_key_value("prime_tower_brim_width", new ConfigOptionFloat(-1.)); + const double auto_brim = WipeTower::get_auto_brim_by_height(50.f); + CHECK_THAT(estimate(config, 2, 0.2, 50.).brim_width, WithinAbs(printed_brim(auto_brim, WipeTowerType::Type2), 1e-6)); + CHECK_THAT(estimate(config, 2, 0.2, 50., WipeTowerType::Type1).brim_width, WithinAbs(printed_brim(auto_brim, WipeTowerType::Type1), 1e-6)); +} + +TEST_CASE("A single filament only gets a tower when one is printed anyway", "[WipeTowerEstimate]") { + DynamicPrintConfig config = make_config(); + CHECK_THAT(estimate(config, 1, 0.2, 100.).depth, WithinAbs(0., 1e-9)); + CHECK_THAT(estimate(config, 0, 0.2, 100.).width, WithinAbs(0., 1e-9)); + + // Wrapping detection prints a tower on the first layers whatever the filament count: the + // Type1 planner's fixed 10 mm, the stability floor otherwise. + config.set_key_value("enable_wrapping_detection", new ConfigOptionBool(true)); + CHECK_THAT(estimate(config, 1, 0.2, 100.).depth, WithinAbs(20., 1e-9)); + CHECK_THAT(estimate(config, 1, 0.2, 100., WipeTowerType::Type1).depth, WithinAbs(WipeTower::get_wrapping_detection_depth(), 1e-9)); + config.set_key_value("enable_wrapping_detection", new ConfigOptionBool(false)); + + // A raft is not one of them: normalize_fdm_2 clears enable_prime_tower for a plate that + // purges one filament unless smooth timelapse or wrapping detection is on, so a raft + // alone leaves no tower to reserve for. + config.set_key_value("raft_layers", new ConfigOptionInt(3)); + CHECK_THAT(estimate(config, 1, 0.2, 100.).depth, WithinAbs(0., 1e-9)); + config.set_key_value("raft_layers", new ConfigOptionInt(0)); + + config.set_deserialize_strict("timelapse_type", "1"); + // A tower printed with no tool change is exactly the planner's idle depth: there is + // nothing to purge, and WipeTower2 sizes it at the stability floor. + CHECK_THAT(estimate(config, 1, 0.2, 100.).depth, WithinAbs(20., 1e-9)); + CHECK_THAT(estimate(config, 1, 0.2, 5.).depth, WithinAbs(WipeTower::get_limit_depth_by_height(5.f), 1e-9)); +} + +TEST_CASE("A tool change reserves a tower even with nothing to purge", "[WipeTowerEstimate]") { + // The purge volumes are configurable down to zero, but the tool changes are still printed + // on the tower and both planners still floor it - so the estimate has to floor it too. + // Type1 plans per filament and already reserves one; Type2 has only the volume to go on. + const double height = GENERATE(5., 100.); + const float floor = WipeTower::get_limit_depth_by_height(float(height)); + const char *wall = GENERATE("rectangle", "rib"); + DynamicPrintConfig config = make_config(wall); + config.set_key_value("prime_volume", new ConfigOptionFloat(0.)); + config.set_key_value("filament_prime_volume", new ConfigOptionFloats({0.})); + + CHECK(estimate(config, 3, 0.2, height, WipeTowerType::Type2).depth >= floor); + CHECK(estimate(config, 3, 0.2, height, WipeTowerType::Type1).depth >= floor); + // Still nothing for a lone filament with no other reason. + CHECK_THAT(estimate(config, 1, 0.2, height, WipeTowerType::Type2).depth, WithinAbs(0., 1e-9)); + CHECK_THAT(estimate(config, 1, 0.2, height, WipeTowerType::Type1).depth, WithinAbs(0., 1e-9)); +} + +TEST_CASE("Both wall types agree on whether there is a tower at all", "[WipeTowerEstimate]") { + // A wall type may only change the shape of the tower, never whether one is reserved: + // reporting no tower for one that is built collapses the validation hull to a point. + const double height = GENERATE(5., 100.); + DynamicPrintConfig rect = make_config(); + DynamicPrintConfig rib = make_config("rib"); + + // No tool change and nothing else that prints a tower - neither wall type reserves one. + CHECK_THAT(estimate(rect, 1, 0.2, height).depth, WithinAbs(0., 1e-9)); + CHECK_THAT(estimate(rib, 1, 0.2, height).depth, WithinAbs(0., 1e-9)); + + // Not even on a dual-nozzle printer, where a lone filament still needs no purge. + rect.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4, 0.4})); + rib.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4, 0.4})); + CHECK_THAT(estimate(rect, 1, 0.2, height).depth, WithinAbs(0., 1e-9)); + CHECK_THAT(estimate(rib, 1, 0.2, height).depth, WithinAbs(0., 1e-9)); + + // With a tool change both reserve one, and both respect the stability floor. + CHECK(estimate(rect, 2, 0.2, height).depth >= WipeTower::get_limit_depth_by_height(float(height))); + CHECK(estimate(rib, 2, 0.2, height).depth >= WipeTower::get_limit_depth_by_height(float(height))); +} + +TEST_CASE("A rib wall squares the tower and caps the rib width", "[WipeTowerEstimate]") { + DynamicPrintConfig config = make_config("rib"); + // sqrt(200 / 0.2) = 31.62 mm square, plus the 8 mm rib bulge along the diagonal. + const double body = std::sqrt(1000.); + WipeTowerFootprint fp = estimate(config, 3, 0.2, 5.); + CHECK_THAT(fp.depth, WithinAbs(8. / std::sqrt(2.) + body, 1e-5)); + CHECK_THAT(fp.width, WithinAbs(fp.depth, 1e-9)); + // The extra rib length runs along the diagonal and grows the footprint by its projection. + config.set_key_value("wipe_tower_extra_rib_length", new ConfigOptionFloat(4.)); + CHECK_THAT(estimate(config, 3, 0.2, 5.).depth, WithinAbs((8. + 4.) / std::sqrt(2.) + body, 1e-5)); + // A tiny tower caps the rib width at half its depth: 5 mm body, 2.5 mm rib. + config.set_key_value("wipe_tower_extra_rib_length", new ConfigOptionFloat(0.)); + config.set_key_value("prime_volume", new ConfigOptionFloat(5.)); + CHECK_THAT(estimate(config, 2, 0.2, 5.).depth, WithinAbs(2.5 / std::sqrt(2.) + 5., 1e-5)); +} + +TEST_CASE("Every wall and tower type is read the same from a preset and a static config", "[WipeTowerEstimate]") { + // The GUI, arrange and the CLI pass a DynamicPrintConfig whose enums are + // ConfigOptionEnumGeneric; Print passes a static config whose enums are ConfigOptionEnum<T>. + // Both the wall type and the planner selection are read by value, so both give the same shape. + const char *wall_type = GENERATE("rectangle", "cone", "rib"); + const char *tower_type = GENERATE("type1", "type2"); + DynamicPrintConfig preset = make_config(wall_type); + preset.set_deserialize_strict("wipe_tower_type", tower_type); + REQUIRE(dynamic_cast<const ConfigOptionEnumGeneric *>(preset.option("wipe_tower_wall_type")) != nullptr); + + FullPrintConfig static_config; + static_config.apply(preset, true); + REQUIRE(static_config.wipe_tower_wall_type.serialize() == wall_type); + REQUIRE(static_config.wipe_tower_type.serialize() == tower_type); + + const WipeTowerType type = resolve_wipe_tower_type(preset); + CHECK(type == (std::string(tower_type) == "type1" ? WipeTowerType::Type1 : WipeTowerType::Type2)); + CHECK(resolve_wipe_tower_type(static_config) == type); + + // Three filaments purge twice per layer on a 5 mm object. + const WipeTowerFootprint fp = estimate(preset, 3, 0.2, 5., type); + const WipeTowerFootprint from_static = estimate(static_config, 3, 0.2, 5., type); + CHECK(fp.depth > 0.); + if (std::string(wall_type) == "rib") + CHECK_THAT(fp.width, WithinAbs(fp.depth, 1e-9)); + else + CHECK_THAT(fp.width, WithinAbs(50., 1e-9)); + CHECK_THAT(from_static.width, WithinAbs(fp.width, 1e-9)); + CHECK_THAT(from_static.depth, WithinAbs(fp.depth, 1e-9)); + CHECK_THAT(from_static.brim_width, WithinAbs(fp.brim_width, 1e-9)); + + // Smooth timelapse is the other enum the estimate reads: a lone filament gets a tower + // through both storages too. + preset.set_deserialize_strict("timelapse_type", "1"); + static_config.apply(preset, true); + CHECK(estimate(preset, 1, 0.2, 5., type).depth > 0.); + CHECK(estimate(static_config, 1, 0.2, 5., type).depth > 0.); +} + +TEST_CASE("The first-layer outline bulges only for a Type2 cone wall", "[WipeTowerEstimate]") { + // Read off a preset-shaped config, whose enums are ConfigOptionEnumGeneric: a cast to + // ConfigOptionEnum<T> sees no wall type there and would never find the cone. + DynamicPrintConfig config = make_config("cone"); + config.set_key_value("wipe_tower_cone_angle", new ConfigOptionFloat(25.)); + REQUIRE(dynamic_cast<const ConfigOptionEnumGeneric *>(config.option("wipe_tower_wall_type")) != nullptr); + const Polygon box = Polygon::new_scale({{0., 0.}, {35., 0.}, {35., 20.}, {0., 20.}}); + auto is_box = [&box](const Polygon &outline) { return diff(Polygons{outline}, Polygons{box}).empty(); }; + + // A 25-degree cone on a 100 mm tower has a 22 mm base radius, past the 10 mm half-depth. + const Polygon cone = estimate_wipe_tower_first_layer_outline(config, WipeTowerType::Type2, 35., 20., 100.); + CHECK(unscaled(get_extents(cone).max.y()) > 20. + 1.); + CHECK(diff(Polygons{box}, Polygons{cone}).empty()); + // Type1 ignores the cone option, and the other wall types have no cone. + CHECK(is_box(estimate_wipe_tower_first_layer_outline(config, WipeTowerType::Type1, 35., 20., 100.))); + for (const char *wall_type : {"rectangle", "rib"}) { + config.set_deserialize_strict("wipe_tower_wall_type", wall_type); + CHECK(is_box(estimate_wipe_tower_first_layer_outline(config, WipeTowerType::Type2, 35., 20., 100.))); + } + // The static config Print holds gives the same outline. + config.set_deserialize_strict("wipe_tower_wall_type", "cone"); + FullPrintConfig static_config; + static_config.apply(config, true); + const Polygon from_static = estimate_wipe_tower_first_layer_outline(static_config, WipeTowerType::Type2, 35., 20., 100.); + CHECK(from_static.points == cone.points); +} + +TEST_CASE("A Bambu Lab printer always gets the Type1 planner", "[WipeTowerEstimate]") { + DynamicPrintConfig config = make_config(); + config.set_deserialize_strict("wipe_tower_type", "type2"); + config.set_key_value("printer_model", new ConfigOptionString("Bambu Lab X1 Carbon")); + CHECK(resolve_wipe_tower_type(config) == WipeTowerType::Type1); + config.set_key_value("printer_model", new ConfigOptionString("Voron 2.4")); + CHECK(resolve_wipe_tower_type(config) == WipeTowerType::Type2); + config.erase("wipe_tower_type"); + CHECK(resolve_wipe_tower_type(config) == WipeTowerType::Type2); +} + +TEST_CASE("A dual nozzle purges every filament plus the filament change", "[WipeTowerEstimate]") { + DynamicPrintConfig config = make_config(); + config.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4, 0.4})); + config.set_key_value("filament_change_length", new ConfigOptionFloats({10., 10.})); + config.set_key_value("filament_diameter", new ConfigOptionFloats({1.75, 1.75})); + // Two purges of 100 mm3 plus one 10 mm filament change: (200 + 10 * pi * 1.75^2 / 4) / (0.2 * 50). + const double change_volume = 10. * PI * 1.75 * 1.75 / 4.; + CHECK_THAT(estimate(config, 2, 0.2, 5.).depth, WithinAbs((200. + change_volume) / 10., 1e-9)); +} + +TEST_CASE("The shipped defaults size the tower from the flush matrix", "[WipeTowerEstimate]") { + // Both keys default to true, so the shipped configuration purges the flush volumes rather + // than the prime volume, with no infill gap on top - the flush volumes already hold it. + DynamicPrintConfig config = preset_shaped_defaults(); + REQUIRE(config.opt_bool("purge_in_prime_tower")); + REQUIRE(config.opt_bool("single_extruder_multi_material")); + config.set_key_value("prime_tower_width", new ConfigOptionFloat(50.)); + config.set_deserialize_strict("wipe_tower_wall_type", "rectangle"); + config.set_key_value("nozzle_diameter", new ConfigOptionFloats({0.4})); + + const double flush_volume = WipeTower2::estimate_semm_flush_volume(config, 2); + const double expected = std::max(double(WipeTower::get_limit_depth_by_height(5.f)), flush_volume / (0.2 * 50.)); + CHECK_THAT(estimate(config, 2, 0.2, 5.).depth, WithinAbs(expected, 1e-6)); + + // The flush volume is nonzero for one slot, but a lone filament makes no tool change. + REQUIRE(WipeTower2::estimate_semm_flush_volume(config, 1) > 0.); + CHECK_THAT(estimate(config, 1, 0.2, 5.).depth, WithinAbs(0., 1e-9)); +} + +TEST_CASE("A config missing a tower key falls back to that key's default", "[WipeTowerEstimate]") { + // The signature takes any ConfigBase: an absent key must read as its declared default. + const DynamicPrintConfig full = make_config(); + DynamicPrintConfig partial = full; + partial.erase("wipe_tower_extra_spacing"); + REQUIRE(partial.option("wipe_tower_extra_spacing") == nullptr); + + DynamicPrintConfig defaulted = full; + defaulted.set_key_value("wipe_tower_extra_spacing", + print_config_def.get("wipe_tower_extra_spacing")->default_value->clone()); + CHECK_THAT(estimate(partial, 3, 0.2, 5.).depth, WithinAbs(estimate(defaulted, 3, 0.2, 5.).depth, 1e-9)); +} diff --git a/tests/slic3rutils/CMakeLists.txt b/tests/slic3rutils/CMakeLists.txt index d5fe4f3d2f..39eb56e4e4 100644 --- a/tests/slic3rutils/CMakeLists.txt +++ b/tests/slic3rutils/CMakeLists.txt @@ -5,6 +5,10 @@ add_executable(${_TEST_NAME}_tests test_creality_cfs_match.cpp test_dev_mapping.cpp test_filament_bitmap_utils.cpp + test_scene_raycaster.cpp + test_lazy.cpp + test_prebuild_queue.cpp + test_staged_build.cpp test_network_versions.cpp test_action_source.cpp test_plugin_host_api.cpp @@ -13,11 +17,14 @@ add_executable(${_TEST_NAME}_tests test_plugin_capabilities_in_use.cpp test_plugin_install.cpp test_plugin_lifecycle.cpp + test_plugin_printer_agent.cpp + test_printhost.cpp test_slicing_pipeline_bindings.cpp test_slicing_pipeline_config.cpp test_plugin_sort.cpp test_plugin_cloud_metadata.cpp test_plugin_audit.cpp + test_shortcuts.cpp ../fff_print/test_helpers.cpp ) @@ -42,7 +49,7 @@ if (WIN32) COMMENT "Copying Python runtime for slic3rutils plugin host API tests" VERBATIM ) -else () +elseif (NOT FLATPAK) # The CI unit-test runner only receives the build/tests tree, so both the # interpreter and the libpython the test binary links have to travel next to # the executable; find_bundled_python_home() picks the copy up from there. @@ -62,6 +69,18 @@ else () COMMENT "Copying Python runtime for the plugin host API tests" VERBATIM ) +elseif (FLATPAK) + # Same <testdir>/python home as WIN32/APPLE; symlink since /app/libpython + # already ships in the flatpak (the test exe links libpython3.12.so from it). + add_custom_command(TARGET ${_TEST_NAME}_tests POST_BUILD + COMMAND ${CMAKE_COMMAND} -E rm -rf + "$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python" + COMMAND ${CMAKE_COMMAND} -E create_symlink + "${CMAKE_PREFIX_PATH}/libpython" + "$<TARGET_FILE_DIR:${_TEST_NAME}_tests>/python" + COMMENT "Linking Python runtime for flatpak plugin host API tests" + VERBATIM + ) endif() orcaslicer_discover_tests(${_TEST_NAME}_tests) diff --git a/tests/slic3rutils/test_action_source.cpp b/tests/slic3rutils/test_action_source.cpp index b6721e22d6..eec38d7291 100644 --- a/tests/slic3rutils/test_action_source.cpp +++ b/tests/slic3rutils/test_action_source.cpp @@ -1,10 +1,16 @@ #include <catch2/catch_test_macros.hpp> #include "slic3r/GUI/ActionRegistry.hpp" +#include "slic3r/GUI/NativeCommands.hpp" +#include "slic3r/GUI/SettingsIndex.hpp" + +#include <boost/filesystem.hpp> #include <memory> +#include <set> #include <string> #include <type_traits> +#include <vector> using Slic3r::GUI::AppAction; using Slic3r::GUI::AppActionRunResult; @@ -19,21 +25,21 @@ class TestAppAction final : public AppAction public: TestAppAction() : AppAction("test", "Action title", "src-key", "Action source") {} - AppActionRunResult run() const override { return {}; } + AppActionRunResult run(const std::string& param = {}) const override { return {}; } }; } // namespace -TEST_CASE("AppAction composes a stable id from prefix:title:source_key", "[speeddial][actions]") +TEST_CASE("AppAction composes a stable id from prefix:title:source_key", "[ActionSource][SpeedDial]") { CHECK(AppAction::compose_id("test", "Action title", "src-key") == "test:Action title:src-key"); // source_key (not the display name) carries identity, so it is the third field. CHECK(AppAction::compose_id("script", "Do Thing", "pack.py") == "script:Do Thing:pack.py"); } -TEST_CASE("AppAction definitions are immutable after construction", "[speeddial][actions]") +TEST_CASE("AppAction definitions are immutable after construction", "[ActionSource][SpeedDial]") { - using StringAccessor = const std::string& (AppAction::*)() const; + using StringAccessor = const std::string& (AppAction::*) () const; STATIC_CHECK(std::is_same_v<decltype(&AppAction::id), StringAccessor>); STATIC_CHECK(std::is_same_v<decltype(&AppAction::title), StringAccessor>); @@ -47,9 +53,288 @@ TEST_CASE("AppAction definitions are immutable after construction", "[speeddial] CHECK(action.source_name() == "Action source"); } -TEST_CASE("ActionRegistry takes exclusive ownership of published actions", "[speeddial][actions]") +TEST_CASE("ActionRegistry takes exclusive ownership of published actions", "[ActionSource][SpeedDial]") { using ExpectedUpsert = void (ActionRegistry::*)(std::unique_ptr<AppAction>); STATIC_CHECK(std::is_same_v<decltype(&ActionRegistry::upsert), ExpectedUpsert>); } + +// A dynamic "Go to Plate N" action is keyed by plate index (not the display title), so renaming +// a plate never re-keys it - the same contract as a setting action. +TEST_CASE("Go-to-plate actions are keyed by index, not title", "[ActionSource][SpeedDial]") +{ + CHECK(AppAction::compose_id("orca_plate_goto", "0", "orca") == "orca_plate_goto:0:orca"); + CHECK(AppAction::compose_id("orca_plate_goto", "2", "orca") == "orca_plate_goto:2:orca"); +} + +// A dynamic "Open recent project" action is keyed by file path (not the display name), so renaming +// a project or reordering the recents list never re-keys it - the same contract as a setting action. +TEST_CASE("Recent-project actions are keyed by path, not title", "[ActionSource][SpeedDial]") +{ + CHECK(AppAction::compose_id("orca_recent_project", "/a/b/project.3mf", "orca") == + "orca_recent_project:/a/b/project.3mf:orca"); + CHECK(AppAction::compose_id("orca_recent_project", "C:/Data/cube.3mf", "orca") == + "orca_recent_project:C:/Data/cube.3mf:orca"); +} + +// A built-in command is keyed by its stable catalog key (not the localized display title), so a +// rename or a UI-language switch never re-keys the action and its persisted favourite/stats survive. +TEST_CASE("Command actions are keyed by catalog key, not display title", "[ActionSource][SpeedDial]") +{ + CHECK(AppAction::compose_id("orca_command", "save_project", "orca") == "orca_command:save_project:orca"); + // The second field is the stable key, so distinct commands never collide. + CHECK(AppAction::compose_id("orca_command", "save_project", "orca") != + AppAction::compose_id("orca_command", "load_project", "orca")); +} + +// The real catalog -> action mapping keys by the stable catalog key and copies presentation from the +// catalog, so a rename or a UI-language switch never re-keys the action. +TEST_CASE("Command action construction keys by catalog key", "[ActionSource][SpeedDial]") +{ + const std::vector<Slic3r::GUI::NativeCommand>& commands = Slic3r::GUI::NativeCommands::catalog(); + REQUIRE_FALSE(commands.empty()); + const Slic3r::GUI::NativeCommand& c = commands.front(); + + std::unique_ptr<AppAction> action = Slic3r::GUI::NativeCommands::make_action(c); + REQUIRE(action != nullptr); + CHECK(action->id() == AppAction::compose_id("orca_command", c.key, "orca")); + CHECK(action->id() != AppAction::compose_id("orca_command", c.title, "orca")); + CHECK(action->title() == c.title); + CHECK(action->group == c.group); + CHECK(action->input == c.input); + CHECK(action->icon == c.icon); +} + +// The footer description/wiki link is settings-only: built-in commands leave both fields empty, so +// the palette's detail strip depends on list-level visibility for them. +TEST_CASE("Actions default to no description or wiki link", "[ActionSource][SpeedDial]") +{ + const TestAppAction action; + CHECK(action.tooltip.empty()); + CHECK(action.help_url.empty()); + + REQUIRE_FALSE(Slic3r::GUI::NativeCommands::catalog().empty()); + std::unique_ptr<AppAction> command = Slic3r::GUI::NativeCommands::make_action(Slic3r::GUI::NativeCommands::catalog().front()); + REQUIRE(command != nullptr); + CHECK(command->tooltip.empty()); + CHECK(command->help_url.empty()); +} + +// Two-phase commands declare the input the palette must collect before they can run. +TEST_CASE("Two-phase commands declare their input phase", "[ActionSource][SpeedDial]") +{ + auto input_of = [](const std::string& key) -> std::string { + for (const auto& c : Slic3r::GUI::NativeCommands::catalog()) + if (c.key == key) + return c.input; + return {}; + }; + CHECK(input_of("go_to_layer") == "percent"); + CHECK(input_of("go_to_tab") == "tab"); +} + +// The input token vocabulary is a JS<->C++ contract (speeddial.js dispatches "percent"/"tab"). +// A typo here would leave a command that never enters its second phase, so pin the allowed set. +TEST_CASE("Command input tokens stay in the known vocabulary", "[ActionSource][SpeedDial]") +{ + for (const auto& c : Slic3r::GUI::NativeCommands::catalog()) { + INFO(c.key << " input=" << c.input); + CHECK((c.input.empty() || c.input == "percent" || c.input == "tab")); + } +} + +// The quick-launch cap must stay 10 to match the numbered Alt/Option+1..9,0 keys. The web palette +// mirrors it as K_FAV_LIMIT (asserted in speeddial.test.js); the C++ side pins it here. +static_assert(Slic3r::GUI::ActionRegistry::kFavLimit == 10, "kFavLimit must stay 10"); + +TEST_CASE("Favourite lists are capped and deduped preserving order", "[ActionSource][SpeedDial]") +{ + using Slic3r::GUI::cap_favourites; + + CHECK(cap_favourites({}, 10) == std::vector<std::string>{}); + CHECK(cap_favourites({"a", "b", "a"}, 10) == std::vector<std::string>{"a", "b"}); + CHECK(cap_favourites({"c", "a", "b", "c"}, 3) == std::vector<std::string>{"c", "a", "b"}); + CHECK(cap_favourites({"a", "b"}, 0) == std::vector<std::string>{}); +} + +TEST_CASE("Native command catalog has unique keys and present titles", "[ActionSource][SpeedDial]") +{ + const std::vector<Slic3r::GUI::NativeCommand>& commands = Slic3r::GUI::NativeCommands::catalog(); + CHECK_FALSE(commands.empty()); + + std::set<std::string> seen; + for (const auto& c : commands) { + CHECK_FALSE(c.key.empty()); + CHECK_FALSE(c.title.empty()); + // A duplicated key would silently shadow the earlier command in the palette. + CHECK(seen.insert(c.key).second); + } +} + +// Every command's tile pictogram is a theme-neutral SVG (the matching GUI control's icon, or the +// equivalent settings-group icon); an absent icon gets the page's generic placeholder. Guard +// representative names and that every non-empty value resolves to a shipped file, so a rename/typo +// cannot leave broken images in the palette. +TEST_CASE("Native command icons resolve to shipped SVGs", "[ActionSource][SpeedDial]") +{ + const std::vector<Slic3r::GUI::NativeCommand>& commands = Slic3r::GUI::NativeCommands::catalog(); + auto icon_of = [&commands](const std::string& key) -> const std::string* { + for (const auto& c : commands) + if (c.key == key) + return &c.icon; + return nullptr; + }; + + struct Expected + { + const char* key; + const char* icon; + }; + for (const Expected& e : {Expected{"load_project", "menu_open"}, + Expected{"save_project", "menu_save"}, + Expected{"sync_ams", "ams_fila_sync"}, + Expected{"mode_simple", "advanced"}, + Expected{"calib_temperature", "param_temperature"}, + Expected{"calib_cornering", "param_precision"}, + Expected{"plate_add", "toolbar_add_plate"}, + Expected{"add_primitive_cube", "menu_obj_cube"}, + // These previously pointed at blank placeholder SVGs or theme-broken ones. + Expected{"obj_delete", "delete"}, + Expected{"export_gcode", "custom-gcode_gcode"}, + Expected{"import_file", "menu_open"}, + Expected{"help_open_config_folder", "open_project"}, + Expected{"help_check_updates", "refresh"}, + Expected{"help_about", "OrcaSlicer_gradient_circle"}, + Expected{"go_to_tab", ""}}) { + const std::string* icon = icon_of(e.key); + INFO(e.key); + REQUIRE(icon != nullptr); + CHECK(*icon == e.icon); + } + + const boost::filesystem::path images = boost::filesystem::path(PROFILES_DIR).parent_path() / "images"; + for (const auto& c : commands) { + if (c.icon.empty()) + continue; + INFO(c.key << " -> " << c.icon); + CHECK(boost::filesystem::exists(images / (c.icon + ".svg"))); + } +} + +// The Help-menu commands, wiki/YouTube links and the developer-mode toggle are part of the palette. +// Guard their presence and that they stay grouped with their peers, so a catalog edit cannot drop +// or scatter them. Groups are compared to the peer's own group to stay independent of translation. +TEST_CASE("Native command catalog includes the Help and developer-mode commands", "[ActionSource][SpeedDial]") +{ + const std::vector<Slic3r::GUI::NativeCommand>& commands = Slic3r::GUI::NativeCommands::catalog(); + auto find = [&commands](const std::string& key) -> const Slic3r::GUI::NativeCommand* { + for (const auto& c : commands) + if (c.key == key) + return &c; + return nullptr; + }; + + const Slic3r::GUI::NativeCommand* first = find("help_keyboard_shortcuts"); + REQUIRE(first != nullptr); + for (const char* key : {"help_setup_wizard", "help_open_config_folder", "help_troubleshoot", "help_network_test", + "help_tip_of_the_day", "help_check_updates", "help_about", "open_wiki", "open_youtube"}) { + const Slic3r::GUI::NativeCommand* c = find(key); + REQUIRE(c != nullptr); + CHECK(c->group == first->group); + } + + const Slic3r::GUI::NativeCommand* mode_simple = find("mode_simple"); + const Slic3r::GUI::NativeCommand* dev_mode = find("toggle_developer_mode"); + REQUIRE(mode_simple != nullptr); + REQUIRE(dev_mode != nullptr); + CHECK(dev_mode->group == mode_simple->group); +} + +// Every "Add Primitive" item and shipped handy model has a palette command, grouped as in the Add +// menu. Groups are compared to a peer's own group to stay independent of translation. +TEST_CASE("Native command catalog covers the Add menus", "[ActionSource][SpeedDial]") +{ + const std::vector<Slic3r::GUI::NativeCommand>& commands = Slic3r::GUI::NativeCommands::catalog(); + auto group_of = [&commands](const std::string& key) -> const std::string* { + for (const auto& c : commands) + if (c.key == key) + return &c.group; + return nullptr; + }; + + const std::string* primitive_group = group_of("add_primitive_cube"); + REQUIRE(primitive_group != nullptr); + for (const char* key : {"add_primitive_cylinder", "add_primitive_sphere", "add_primitive_cone", "add_primitive_disc", + "add_primitive_torus", "add_primitive_text", "add_primitive_svg"}) { + const std::string* group = group_of(key); + INFO(key); + REQUIRE(group != nullptr); + CHECK(*group == *primitive_group); + } + + const std::string* handy_group = group_of("add_handy_orca_cube"); + REQUIRE(handy_group != nullptr); + for (const char* key : {"add_handy_orcasliced_combo", "add_handy_orca_badge", "add_handy_orca_tolerance_test", + "add_handy_3dbenchy", "add_handy_cali_cat", "add_handy_autodesk_fdm_test", "add_handy_voron_cube", + "add_handy_stanford_bunny", "add_handy_orca_string_hell"}) { + const std::string* group = group_of(key); + INFO(key); + REQUIRE(group != nullptr); + CHECK(*group == *handy_group); + } +} + +// A setting action is named like its settings row, not the ConfigOptionDef label: the row's +// Line::label, plus the field leaf when the row packs several options. +TEST_CASE("Setting display labels mirror the settings row", "[ActionSource][SpeedDial]") +{ + using Slic3r::Search::compose_display_label; + + // Single-option row: the row label is the whole title. + CHECK(compose_display_label(L"Reverse on even", L"Reverse on even", false) == L"Reverse on even"); + // No recorded row label falls back to the field leaf. + CHECK(compose_display_label(L"", L"Outer wall", false) == L"Outer wall"); + // Multi-option row: qualify with the leaf so the plate-temperature fields are distinct. + CHECK(compose_display_label(L"Cool Plate", L"First layer", true) == wxString(L"Cool Plate \u2013 First layer")); + CHECK(compose_display_label(L"Cool Plate", L"Other layers", true) == wxString(L"Cool Plate \u2013 Other layers")); + // A leaf equal to the row label is not repeated. + CHECK(compose_display_label(L"Skirt loops", L"Skirt loops", true) == L"Skirt loops"); + + using Slic3r::Search::resolve_setting_title; + + // A single-option row's live label wins, so a runtime rename is reflected. + CHECK(resolve_setting_title(L"Brim width", L"Brim ear radius", false) == L"Brim ear radius"); + // Multi-option rows keep their precomposed "row – field" label (the leaf disambiguates them). + CHECK(resolve_setting_title(L"Cool Plate \u2013 First layer", L"Cool Plate", true) == + wxString(L"Cool Plate \u2013 First layer")); + // No live row label (option not on a built page) keeps the precomposed label. + CHECK(resolve_setting_title(L"Reverse on even", L"", false) == L"Reverse on even"); + // Neither present: empty, so the caller falls back to the descriptive label. + CHECK(resolve_setting_title(L"", L"", false).IsEmpty()); +} + +// A setting whose mode is above the user's current mode must be prompted before it can be edited. +// Developer settings (comDevelop) are above every non-developer mode, so they always prompt then. +TEST_CASE("Settings above the current mode require a switch", "[ActionSource][SpeedDial]") +{ + using Slic3r::GUI::requires_mode_switch; + using Slic3r::comAdvanced; + using Slic3r::comDevelop; + using Slic3r::comExpert; + using Slic3r::comSimple; + + CHECK(requires_mode_switch(comAdvanced, comSimple)); + CHECK(requires_mode_switch(comExpert, comSimple)); + CHECK(requires_mode_switch(comExpert, comAdvanced)); + CHECK(requires_mode_switch(comDevelop, comSimple)); + CHECK(requires_mode_switch(comDevelop, comAdvanced)); + CHECK(requires_mode_switch(comDevelop, comExpert)); + + CHECK_FALSE(requires_mode_switch(comSimple, comSimple)); + CHECK_FALSE(requires_mode_switch(comSimple, comAdvanced)); + CHECK_FALSE(requires_mode_switch(comAdvanced, comAdvanced)); + CHECK_FALSE(requires_mode_switch(comAdvanced, comExpert)); + CHECK_FALSE(requires_mode_switch(comExpert, comExpert)); + CHECK_FALSE(requires_mode_switch(comDevelop, comDevelop)); +} diff --git a/tests/slic3rutils/test_lazy.cpp b/tests/slic3rutils/test_lazy.cpp new file mode 100644 index 0000000000..c04a27e9d1 --- /dev/null +++ b/tests/slic3rutils/test_lazy.cpp @@ -0,0 +1,240 @@ +#include <catch2/catch_all.hpp> + +#include <functional> +#include <memory> +#include <stdexcept> +#include <vector> + +#include "slic3r/GUI/Lazy.hpp" + +using Slic3r::GUI::Lazy; +using Slic3r::GUI::LazyBase; +using Slic3r::GUI::LazyInstance; +using Slic3r::GUI::StagedBuild; + +namespace { + +struct Plain +{ + int value{ 1 }; +}; + +struct One : LazyInstance<One> +{ + int value{ 2 }; +}; + +// Two steps after the constructor. +struct Staged : StagedBuild, LazyInstance<Staged> +{ + std::vector<int> ran; + Staged() + { + add_build_step([this] { ran.push_back(1); }); + add_build_step([this] { ran.push_back(2); }); + } + void add_step(std::function<void()> step) { add_build_step(std::move(step)); } +}; + +// Owns what the factories make, since a Lazy does not. +template <class T> +struct Made +{ + std::vector<std::unique_ptr<T>> objects; + T* make() + { + objects.push_back(std::make_unique<T>()); + return objects.back().get(); + } + typename Lazy<T>::Factory factory() + { + return [this] { return make(); }; + } +}; + +} // namespace + +TEST_CASE("The factory runs on the first unit, not at construction", "[Lazy]") +{ + Made<Plain> made; + Lazy<Plain> lazy("plain", 0, made.factory()); + REQUIRE(made.objects.empty()); + REQUIRE_FALSE(lazy.built()); + REQUIRE(lazy.pending()); + REQUIRE(lazy.get() == nullptr); + + REQUIRE_FALSE(lazy.build_step()); // the only unit + REQUIRE(made.objects.size() == 1); + REQUIRE(lazy.built()); + REQUIRE_FALSE(lazy.pending()); + REQUIRE(lazy.get() == made.objects[0].get()); + REQUIRE_FALSE(lazy.build_step()); + REQUIRE(made.objects.size() == 1); +} + +TEST_CASE("A staged type takes one unit for the constructor and one per step", "[Lazy]") +{ + Made<Staged> made; + Lazy<Staged> lazy("staged", 0, made.factory()); + REQUIRE(lazy.build_step()); + REQUIRE(made.objects.size() == 1); + REQUIRE(lazy.get() == nullptr); // exists but incomplete + REQUIRE(lazy.build_step()); + REQUIRE(made.objects[0]->ran == std::vector<int>{1}); + REQUIRE_FALSE(lazy.build_step()); + REQUIRE(made.objects[0]->ran == std::vector<int>{1, 2}); + REQUIRE(lazy.get() == made.objects[0].get()); +} + +TEST_CASE("ensure builds whatever is left and is a no-op afterwards", "[Lazy]") +{ + Made<Staged> made; + Lazy<Staged> lazy("staged", 0, made.factory()); + lazy.build_step(); + Staged* s = lazy.ensure(); + REQUIRE(s == made.objects[0].get()); + REQUIRE(s->ran == std::vector<int>{1, 2}); + REQUIRE(lazy.ensure() == s); + REQUIRE(made.objects.size() == 1); +} + +TEST_CASE("when_built waits for completion, then runs at once", "[Lazy]") +{ + Made<Staged> made; + Lazy<Staged> lazy("staged", 0, made.factory()); + std::vector<int> seen; + lazy.when_built([&](Staged& s) { seen.push_back(int(s.ran.size())); }); + lazy.build_step(); + lazy.build_step(); + REQUIRE(seen.empty()); + lazy.build_step(); + REQUIRE(seen == std::vector<int>{2}); + lazy.when_built([&](Staged&) { seen.push_back(9); }); + REQUIRE(seen == std::vector<int>{2, 9}); +} + +TEST_CASE("A LazyInstance type reaches its holder through the statics", "[Lazy]") +{ + REQUIRE(One::if_built() == nullptr); + REQUIRE(One::ensure() == nullptr); + Made<One> made; + { + Lazy<One> lazy("one", 0, made.factory()); + REQUIRE(One::if_built() == nullptr); + One* one = One::ensure(); + REQUIRE(one == made.objects[0].get()); + REQUIRE(One::if_built() == one); + int seen = 0; + One::when_built([&](One& o) { seen = o.value; }); + REQUIRE(seen == 2); + } + REQUIRE(One::if_built() == nullptr); +} + +TEST_CASE("A newer holder replaces the registration; the older one leaves it alone", "[Lazy]") +{ + Made<One> made; + auto first = std::make_unique<Lazy<One>>("first", 0, made.factory()); + first->ensure(); + Lazy<One> second("second", 0, made.factory()); + REQUIRE(One::if_built() == nullptr); // the new holder has not built yet + second.ensure(); + REQUIRE(One::if_built() == made.objects[1].get()); + first.reset(); + REQUIRE(One::if_built() == made.objects[1].get()); +} + +TEST_CASE("The holder reports the name and order it was given", "[Lazy]") +{ + Made<Plain> made; + Lazy<Plain> lazy("plain", 7, made.factory()); + LazyBase& base = lazy; + REQUIRE(base.name() == "plain"); + REQUIRE(base.prebuild_order() == 7); +} + +TEST_CASE("A unit that re-enters the holder builds nothing twice", "[Lazy]") +{ + Made<Plain> made; + Lazy<Plain>* self = nullptr; + int nested_units = 0; + Lazy<Plain> lazy("plain", 0, [&] { + if (self->build_step()) // as if the constructor pumped the event loop into a slice + ++nested_units; + return made.make(); + }); + self = &lazy; + REQUIRE_FALSE(lazy.build_step()); + REQUIRE(nested_units == 0); + REQUIRE(made.objects.size() == 1); + REQUIRE(lazy.built()); +} + +TEST_CASE("A factory that returns null leaves the holder unbuilt and not pending", "[Lazy]") +{ + int calls = 0; + Lazy<Plain> lazy("plain", 0, [&] { ++calls; return static_cast<Plain*>(nullptr); }); + REQUIRE_FALSE(lazy.build_step()); + REQUIRE_FALSE(lazy.built()); + REQUIRE_FALSE(lazy.pending()); + REQUIRE(lazy.get() == nullptr); + REQUIRE_FALSE(lazy.build_step()); // not retried + REQUIRE(calls == 1); +} + +TEST_CASE("ensure returns null for a factory that returned null", "[Lazy]") +{ + Lazy<Plain> lazy("plain", 0, [] { return static_cast<Plain*>(nullptr); }); + REQUIRE(lazy.ensure() == nullptr); + REQUIRE_FALSE(lazy.built()); +} + +TEST_CASE("A nested ensure inside the factory returns null", "[Lazy]") +{ + Made<Plain> made; + Lazy<Plain>* self = nullptr; + Plain* nested = reinterpret_cast<Plain*>(1); + Lazy<Plain> lazy("plain", 0, [&] { + nested = self->ensure(); // as if the constructor pumped the event loop into a caller + return made.make(); + }); + self = &lazy; + Plain* built = lazy.ensure(); + REQUIRE(built == made.objects[0].get()); + REQUIRE(nested == nullptr); +} + +TEST_CASE("A nested ensure during a staged step returns null", "[Lazy]") +{ + Made<Staged> made; + Lazy<Staged>* self = nullptr; + Staged* nested = reinterpret_cast<Staged*>(1); + Lazy<Staged> lazy("staged", 0, [&] { + Staged* s = made.make(); + s->add_step([&] { nested = self->ensure(); }); // as if a step pumped the event loop into a caller + return s; + }); + self = &lazy; + Staged* built = lazy.ensure(); + REQUIRE(built == made.objects[0].get()); + REQUIRE(nested == nullptr); +} + +TEST_CASE("A unit that throws leaves the holder free to build the rest", "[Lazy]") +{ + Made<Staged> made; + bool thrown = false; + Lazy<Staged> lazy("staged", 0, [&] { + Staged* s = made.make(); + s->add_step([&] { thrown = true; throw std::runtime_error("step"); }); + return s; + }); + lazy.build_step(); + lazy.build_step(); + lazy.build_step(); + REQUIRE_THROWS(lazy.build_step()); + REQUIRE(thrown); + REQUIRE(lazy.pending()); + REQUIRE_FALSE(lazy.build_step()); // the next unit runs + REQUIRE(lazy.built()); +} diff --git a/tests/slic3rutils/test_plugin_host_api.cpp b/tests/slic3rutils/test_plugin_host_api.cpp index 9dd39b42aa..e02864f703 100644 --- a/tests/slic3rutils/test_plugin_host_api.cpp +++ b/tests/slic3rutils/test_plugin_host_api.cpp @@ -3,8 +3,12 @@ #include <libslic3r/Model.hpp> #include <libslic3r/PresetBundle.hpp> #include <libslic3r/TriangleMesh.hpp> +#include <slic3r/GUI/DockPanel.hpp> +#include <slic3r/GUI/AuiPaneLayout.hpp> +#include <slic3r/GUI/Widgets/WebHosting.hpp> #include <slic3r/plugin/PythonPluginBridge.hpp> +#include "plugin_test_utils.hpp" #include "python_test_support.hpp" #include <pybind11/embed.h> @@ -141,6 +145,8 @@ TEST_CASE("Plugin host API exposes the UI module and guards it before Orca app i CHECK(ui.attr("WINDOW_MODELESS").cast<long>() == 0); CHECK(ui.attr("WINDOW_MODAL").cast<long>() == 1); CHECK(has_attr(ui, "UiWindow")); + CHECK(has_attr(ui, "create_dock_panel")); + CHECK(has_attr(ui, "UiDockPanel")); // With no wx application the UI calls marshal to a main thread that does not // exist here; they must fail cleanly with a clear error, not crash. @@ -151,6 +157,74 @@ TEST_CASE("Plugin host API exposes the UI module and guards it before Orca app i CHECK(error.matches(PyExc_RuntimeError)); CHECK(std::string(error.what()).find("OrcaSlicer application is not initialized") != std::string::npos); } + + try { + ui.attr("create_dock_panel")("<p>panel</p>"); + FAIL("orca.host.ui.create_dock_panel unexpectedly succeeded without a wx application"); + } catch (const py::error_already_set& error) { + CHECK(error.matches(PyExc_RuntimeError)); + CHECK(std::string(error.what()).find("OrcaSlicer application is not initialized") != std::string::npos); + } + + // Positional arguments follow create_window(): width and height come straight after the title. + try { + ui.attr("create_dock_panel")("<p>panel</p>", "Panel", 400, 300); + FAIL("orca.host.ui.create_dock_panel unexpectedly succeeded without a wx application"); + } catch (const py::error_already_set& error) { + CHECK(error.matches(PyExc_RuntimeError)); + } + + // An unknown dock position is rejected before the application is needed. + try { + ui.attr("create_dock_panel")("<p>panel</p>", py::arg("dock") = "top"); + FAIL("orca.host.ui.create_dock_panel accepted an unknown dock position"); + } catch (const py::error_already_set& error) { + CHECK(error.matches(PyExc_ValueError)); + } +} + +TEST_CASE("Plugin pane names identify the plugin and title without layout delimiters", "[PluginHost]") +{ + using Slic3r::GUI::plugin_pane_name; + + CHECK(plugin_pane_name("dock_demo", "Scene") == "plugin:dock_demo:Scene"); + CHECK(plugin_pane_name("key", "a|b;c=d\\e").find_first_of("|;=\\") == std::string::npos); +} + +TEST_CASE("A pane's saved layout entry is found by pane name", "[PluginHost]") +{ + using Slic3r::GUI::aui_pane_layout_entry; + + const std::string sidebar = "name=sidebar;caption=;state=2099196;dir=4;layer=0;row=0;pos=0;bestw=390;besth=900"; + // The caption holds an escaped '|', which must not end the entry. + const std::string plugin = "name=plugin:demo:Scene;caption=Scene \\| stats;state=2099198;dir=2;layer=0;row=1;pos=0;bestw=320;besth=480"; + const std::string layout = "layout3|" + sidebar + "|" + plugin + "|dock_size(4,0,0)=392|"; + + CHECK(aui_pane_layout_entry(layout, "plugin:demo:Scene") == plugin); + CHECK(aui_pane_layout_entry(layout, "sidebar") == sidebar); + CHECK(aui_pane_layout_entry(layout, "plugin:demo").empty()); + CHECK(aui_pane_layout_entry("", "plugin:demo:Scene").empty()); +} + +TEST_CASE("A reloaded plugin page is recognised by its base URL, fragment aside", "[PluginHost]") +{ + using namespace Slic3r::GUI::web_hosting; + + // A resources path holding a space, which the web view reports escaped. + const Slic3r::ScopedResourcesDir resources("web content check"); + + // The swapped-in page, then after an in-page anchor and a reload. + CHECK(is_content_url(content_base_url())); + CHECK(is_content_url(content_base_url() + "#tab2")); + wxString escaped = content_base_url(); + escaped.Replace(" ", "%20"); + REQUIRE(escaped != content_base_url()); + CHECK(is_content_url(escaped)); + CHECK(is_content_url(escaped + "#tab2")); + // A page the plugin linked to keeps its own URL and must be left alone. + CHECK_FALSE(is_content_url(content_base_url() + "guide.html")); + CHECK_FALSE(is_content_url("https://example.com/")); + CHECK_FALSE(is_content_url("")); } TEST_CASE("Plugin host API exposes model geometry and structure to Python", "[PluginHost][Python]") diff --git a/tests/slic3rutils/test_plugin_lifecycle.cpp b/tests/slic3rutils/test_plugin_lifecycle.cpp index 63a4e6827b..bac3a19ea9 100644 --- a/tests/slic3rutils/test_plugin_lifecycle.cpp +++ b/tests/slic3rutils/test_plugin_lifecycle.cpp @@ -1,5 +1,6 @@ #include <catch2/catch_all.hpp> +#include <libslic3r/LifecycleEvents.hpp> #include <libslic3r/Utils.hpp> #include <slic3r/plugin/PluginDescriptor.hpp> #include <slic3r/plugin/PluginManager.hpp> @@ -12,8 +13,11 @@ #include <algorithm> #include <chrono> +#include <condition_variable> #include <fstream> +#include <mutex> #include <string> +#include <thread> #include <vector> using namespace Slic3r; @@ -114,6 +118,72 @@ PluginDescriptor descriptor_of(PluginManager& manager, const std::string& plugin } // namespace +TEST_CASE("Lifecycle hook shutdown drains concurrent dispatch", "[PluginLifecycle][LifecycleEvents]") +{ + std::mutex mutex; + std::condition_variable cv; + bool callback_entered = false; + bool release_callback = false; + bool shutdown_started = false; + bool shutdown_finished = false; + + set_lifecycle_hook_fn([&](LifecycleEvent, const LifecycleEventContext&) { + std::unique_lock<std::mutex> lock(mutex); + callback_entered = true; + cv.notify_all(); + cv.wait(lock, [&] { return release_callback; }); + }); + + std::thread dispatch_thread([] { + LifecycleEventContext ctx; + fire_lifecycle_event(LifecycleEvent::ProjectOpened, ctx); + }); + + bool callback_was_entered = false; + { + std::unique_lock<std::mutex> lock(mutex); + callback_was_entered = cv.wait_for(lock, std::chrono::seconds(5), [&] { return callback_entered; }); + } + if (!callback_was_entered) { + { + std::lock_guard<std::mutex> lock(mutex); + release_callback = true; + cv.notify_all(); + } + dispatch_thread.join(); + set_lifecycle_hook_fn(nullptr); + FAIL("Lifecycle callback did not start"); + } + + std::thread shutdown_thread([&] { + { + std::lock_guard<std::mutex> lock(mutex); + shutdown_started = true; + cv.notify_all(); + } + set_lifecycle_hook_fn(nullptr); + std::lock_guard<std::mutex> lock(mutex); + shutdown_finished = true; + cv.notify_all(); + }); + + bool shutdown_was_started = false; + { + std::unique_lock<std::mutex> lock(mutex); + shutdown_was_started = cv.wait_for(lock, std::chrono::seconds(5), [&] { return shutdown_started; }); + if (shutdown_was_started) + CHECK_FALSE(cv.wait_for(lock, std::chrono::milliseconds(100), [&] { return shutdown_finished; })); + release_callback = true; + cv.notify_all(); + } + + dispatch_thread.join(); + shutdown_thread.join(); + if (!shutdown_was_started) + FAIL("Lifecycle hook shutdown did not start"); + CHECK(shutdown_finished); +} + TEST_CASE("A discovered script plugin loads and materializes its capability", "[PluginLifecycle][Python]") { ScopedPluginManager plugin_system; diff --git a/tests/slic3rutils/test_plugin_printer_agent.cpp b/tests/slic3rutils/test_plugin_printer_agent.cpp new file mode 100644 index 0000000000..2065360080 --- /dev/null +++ b/tests/slic3rutils/test_plugin_printer_agent.cpp @@ -0,0 +1,161 @@ +#include <catch2/catch_all.hpp> + +#include <slic3r/plugin/PluginManager.hpp> +#include <slic3r/plugin/PythonInterpreter.hpp> +#include <slic3r/plugin/PythonPluginBridge.hpp> +#include <slic3r/plugin/PythonPluginInterface.hpp> +#include <slic3r/Utils/IPrinterAgent.hpp> + +#include <pybind11/embed.h> +#include <pybind11/pybind11.h> + +#include <memory> +#include <string> + +namespace py = pybind11; +using namespace Slic3r; + +namespace { + +// Same idiom as ScopedPluginManager in test_plugin_lifecycle.cpp: the trampolines refuse to call +// into Python unless PythonInterpreter::instance() reports initialized. +struct ScopedPluginManager +{ + bool initialized = PluginManager::instance().initialize(); + + ~ScopedPluginManager() + { + PluginManager::instance().shutdown(); + PythonInterpreter::instance().shutdown(); + } +}; + +// The host reaches a printer agent plugin through IPrinterAgent, so the tests do too. The Python +// instance carries the overrides, so it has to outlive every call, as PluginInstanceHandle ensures +// in production. +struct Agent +{ + py::object instance; + std::shared_ptr<IPrinterAgent> agent; + + IPrinterAgent* operator->() const { return agent.get(); } + IPrinterAgent& operator*() const { return *agent; } +}; + +Agent make_agent(const std::string& body) +{ + (void) PythonPluginBridge::instance(); // force the embedded module registration into the binary + py::dict globals; + globals["orca"] = py::module_::import("orca"); + + py::exec("class Agent(orca.printer_agent.PrinterAgentBase):\n" + " def get_name(self): return 'agent'\n" + body, globals); + py::object instance = globals["Agent"](); + auto capability = instance.cast<std::shared_ptr<PluginCapabilityInterface>>(); + capability->set_audit_plugin_key("agent_plugin"); + return {instance, std::dynamic_pointer_cast<IPrinterAgent>(capability)}; +} + +// One operation per return type and dispatch shape; the rest share their macro. +const std::string OPERATIONS[] = {"get_agent_info", "disconnect_printer", "start_discovery", "get_user_selected_machine", + "get_filament_sync_mode", "install_device_cert", "start_local_print", "request_bind_ticket"}; + +// What NetworkAgent answers when no printer agent is set. +void check_answers_like_no_agent(IPrinterAgent& agent) +{ + std::string ticket = "untouched"; + + CHECK(agent.get_agent_info().id.empty()); + CHECK(agent.disconnect_printer() == -1); + CHECK_FALSE(agent.start_discovery(true, false)); + CHECK(agent.get_user_selected_machine().empty()); + CHECK(agent.get_filament_sync_mode() == FilamentSyncMode::none); + CHECK_NOTHROW(agent.install_device_cert("dev", true)); + CHECK(agent.start_local_print(PrintParams{}, nullptr, nullptr) == -1); + CHECK(agent.request_bind_ticket(&ticket) == -1); + CHECK(ticket == "untouched"); +} + +std::string define_all(const std::string& signature_tail, const std::string& statement) +{ + std::string body; + for (const std::string& operation : OPERATIONS) + body += " def " + operation + "(self" + signature_tail + "): " + statement + "\n"; + return body; +} + +} // namespace + +TEST_CASE("A printer agent operation that raises answers like a missing agent", "[PluginPrinterAgent][Python]") +{ + ScopedPluginManager plugin_system; // declared first: destroyed last + if (!plugin_system.initialized) + SKIP("Bundled Python interpreter unavailable: " + PythonInterpreter::instance().last_error()); + py::gil_scoped_acquire gil; // released before plugin_system's destructor shuts Python down + + auto agent = make_agent(define_all(", *args", "raise RuntimeError('boom')")); + REQUIRE(agent.agent); + + check_answers_like_no_agent(*agent); + + // The interpreter stays usable. + CHECK(py::eval("1 + 1").cast<int>() == 2); +} + +TEST_CASE("A printer agent that omits its operations answers like a missing agent", "[PluginPrinterAgent][Python]") +{ + ScopedPluginManager plugin_system; + if (!plugin_system.initialized) + SKIP("Bundled Python interpreter unavailable: " + PythonInterpreter::instance().last_error()); + py::gil_scoped_acquire gil; + + auto agent = make_agent(""); + REQUIRE(agent.agent); + + check_answers_like_no_agent(*agent); +} + +TEST_CASE("A printer agent operation returning the wrong type answers like a missing agent", "[PluginPrinterAgent][Python]") +{ + ScopedPluginManager plugin_system; + if (!plugin_system.initialized) + SKIP("Bundled Python interpreter unavailable: " + PythonInterpreter::instance().last_error()); + py::gil_scoped_acquire gil; + + auto agent = make_agent(define_all(", *args", "return object()")); + REQUIRE(agent.agent); + + check_answers_like_no_agent(*agent); +} + +TEST_CASE("A working printer agent's answers reach the host unchanged", "[PluginPrinterAgent][Python]") +{ + ScopedPluginManager plugin_system; + if (!plugin_system.initialized) + SKIP("Bundled Python interpreter unavailable: " + PythonInterpreter::instance().last_error()); + py::gil_scoped_acquire gil; + + auto agent = make_agent(" def get_agent_info(self): return orca.printer_agent.AgentInfo('id', 'name', '1', 'description')\n" + " def disconnect_printer(self): return 7\n" + " def start_discovery(self, start, sending): return start and not sending\n" + " def get_user_selected_machine(self): return 'machine'\n" + " def get_filament_sync_mode(self): return orca.printer_agent.FilamentSyncMode.Pull\n" + " def request_bind_ticket(self): return (3, 'ticket')\n" + " def bind_detect(self, dev_ip, sec_link, detect):\n" + " detect.dev_id = dev_ip\n" + " return 0\n"); + REQUIRE(agent.agent); + + std::string ticket; + detectResult detect; + + CHECK(agent->get_agent_info().id == "id"); + CHECK(agent->disconnect_printer() == 7); + CHECK(agent->start_discovery(true, false)); + CHECK(agent->get_user_selected_machine() == "machine"); + CHECK(agent->get_filament_sync_mode() == FilamentSyncMode::pull); + CHECK(agent->request_bind_ticket(&ticket) == 3); + CHECK(ticket == "ticket"); + CHECK(agent->bind_detect("192.168.0.2", "secure", detect) == 0); + CHECK(detect.dev_id == "192.168.0.2"); +} diff --git a/tests/slic3rutils/test_prebuild_queue.cpp b/tests/slic3rutils/test_prebuild_queue.cpp new file mode 100644 index 0000000000..8cc5444345 --- /dev/null +++ b/tests/slic3rutils/test_prebuild_queue.cpp @@ -0,0 +1,183 @@ +#include <catch2/catch_all.hpp> + +#include <string> +#include <vector> + +#include "slic3r/GUI/PrebuildQueue.hpp" + +using Slic3r::GUI::LazyBase; +using Slic3r::GUI::PrebuildQueue; + +namespace { + +// A task with `left` units, each taking `unit_ms` of the shared fake clock and logging its id. +struct Counter : LazyBase +{ + std::string id; + int left; + int order; + long long unit_ms{ 1 }; + inline static std::vector<int> log; + inline static long long now = 0; + + Counter(int id, int left, int order, long long unit_ms = 1) : id(std::to_string(id)), left(left), order(order), unit_ms(unit_ms) {} + + const std::string& name() const override { return id; } + bool built() const override { return left == 0; } + bool build_step() override + { + now += unit_ms; + log.push_back(std::stoi(id)); + return --left > 0; + } + int prebuild_order() const override { return order; } +}; + +// Resets the shared log and clock at the start of a case. +struct Reset +{ + Reset() { Counter::log.clear(); Counter::now = 0; } +}; + +const auto fake_clock = [] { return Counter::now; }; +const auto no_input = [] { return false; }; + +// Runs slices with an unlimited budget until nothing is pending; one task per slice. +void drain(PrebuildQueue& q) +{ + while (q.pending()) + q.run_slice(1000000, fake_clock, no_input); +} + +} // namespace + +TEST_CASE("Tasks run lowest order first, equal order in the order added", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 1, 10 }, b{ 2, 1, 10 }, c{ 3, 1, 50 }, d{ 4, 1, 100 }; + PrebuildQueue q; + q.add(c); + q.add(a); + q.add(b); + q.add(d); + REQUIRE(q.names() == "1, 2, 3, 4"); + drain(q); + REQUIRE(Counter::log == std::vector<int>{1, 2, 3, 4}); +} + +TEST_CASE("A task with nothing pending is skipped, not removed", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 0, 0 }, b{ 2, 2, 1 }; + PrebuildQueue q; + q.add(a); + q.add(b); + REQUIRE(q.pending()); + auto slice = q.run_slice(1, fake_clock, no_input); // one unit of b + REQUIRE(slice.units == 1); + REQUIRE(Counter::log == std::vector<int>{2}); + + a.left = 1; // a's work returned; it comes first again + q.run_slice(1, fake_clock, no_input); + REQUIRE(Counter::log == std::vector<int>{2, 1}); +} + +TEST_CASE("A slice with nothing pending runs no unit", "[PrebuildQueue]") +{ + Reset reset; + PrebuildQueue q; + REQUIRE_FALSE(q.pending()); + auto slice = q.run_slice(40, fake_clock, no_input); + REQUIRE(slice.units == 0); + REQUIRE_FALSE(slice.completed); + REQUIRE_FALSE(slice.remaining); +} + +TEST_CASE("A slice stops once its budget is spent, after the unit that crossed it", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 10, 0, 15 }; + PrebuildQueue q; + q.add(a); + auto slice = q.run_slice(40, fake_clock, no_input); + REQUIRE(slice.units == 3); // units end at 15, 30 and 45 ms; the one crossing 40 is the last + REQUIRE(slice.ms == 45); + REQUIRE_FALSE(slice.completed); + REQUIRE(slice.remaining); + REQUIRE(a.left == 7); +} + +TEST_CASE("A slice stops after the unit during which input arrived", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 10, 0 }; + bool input = false; + PrebuildQueue q; + q.add(a); + auto slice = q.run_slice(40, fake_clock, [&] { input = a.left == 8; return input; }); + REQUIRE(slice.units == 2); + REQUIRE_FALSE(slice.completed); + REQUIRE(slice.remaining); +} + +TEST_CASE("A slice reports completion, whether work remains, and each unit's time", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 2, 0, 5 }, b{ 2, 1, 1 }; + std::vector<long long> unit_ms; + PrebuildQueue q; + q.add(a); + q.add(b); + auto slice = q.run_slice(40, fake_clock, no_input, [&](const std::string& name, long long ms) { + REQUIRE(name == "1"); + unit_ms.push_back(ms); + }); + REQUIRE(slice.units == 2); + REQUIRE(slice.completed); + REQUIRE(slice.name == "1"); + REQUIRE(slice.remaining); // b + REQUIRE(unit_ms == std::vector<long long>{5, 5}); + slice = q.run_slice(40, fake_clock, no_input); + REQUIRE(slice.completed); + REQUIRE_FALSE(slice.remaining); + REQUIRE_FALSE(q.pending()); +} + +TEST_CASE("A unit may add a task to the queue it runs from", "[PrebuildQueue]") +{ + Reset reset; + PrebuildQueue q; + Counter later{ 2, 1, 5 }; + struct Adder : LazyBase + { + PrebuildQueue& q; + Counter& later; + std::string id{ "1" }; + bool done{ false }; + Adder(PrebuildQueue& q, Counter& later) : q(q), later(later) {} + const std::string& name() const override { return id; } + bool built() const override { return done; } + bool build_step() override + { + Counter::log.push_back(1); + done = true; + q.add(later); + return false; + } + int prebuild_order() const override { return 0; } + } first{ q, later }; + q.add(first); + drain(q); + REQUIRE(Counter::log == std::vector<int>{1, 2}); +} + +TEST_CASE("clear drops every task", "[PrebuildQueue]") +{ + Reset reset; + Counter a{ 1, 1, 0 }; + PrebuildQueue q; + q.add(a); + q.clear(); + REQUIRE_FALSE(q.pending()); + REQUIRE(q.run_slice(40, fake_clock, no_input).units == 0); +} diff --git a/tests/slic3rutils/test_printhost.cpp b/tests/slic3rutils/test_printhost.cpp new file mode 100644 index 0000000000..557d4a5c89 --- /dev/null +++ b/tests/slic3rutils/test_printhost.cpp @@ -0,0 +1,213 @@ +#include <catch2/catch_all.hpp> + +#include <nlohmann/json.hpp> + +#include "slic3r/Utils/PrintHost.hpp" + +using namespace Slic3r; + +namespace { + +class TestPrintHost : public PrintHost +{ +public: + using PrintHost::format_error; + + const char* get_name() const override { return "Test"; } + bool test(wxString&) const override { return true; } + wxString get_test_ok_msg() const override { return {}; } + wxString get_test_failed_msg(wxString&) const override { return {}; } + bool upload(PrintHostUpload, ProgressFn, ErrorFn, InfoFn) const override { return true; } + bool has_auto_discovery() const override { return false; } + bool can_test() const override { return false; } + PrintHostPostUploadActions get_post_upload_actions() const override { return {}; } + std::string get_host() const override { return {}; } +}; + +std::string format_error(const std::string& body, const std::string& error, unsigned status) +{ + return TestPrintHost().format_error(body, error, status).ToStdString(); +} + +std::string envelope(int code, const std::string& message, const std::string& traceback) +{ + return nlohmann::json{{"error", {{"code", code}, {"message", message}, {"traceback", traceback}}}}.dump(); +} + +std::string moonraker_error(int code, const std::string& message, const std::string& detail = {}) +{ + std::string line = "tornado.web.HTTPError: HTTP " + std::to_string(code) + ": " + message; + if (!detail.empty()) + line += " (" + detail + ")"; + return envelope(code, message, "Traceback (most recent call last):\n ...\n" + line + "\n"); +} + +// A real Moonraker body for uploading a file that is being printed. +constexpr const char* k_busy_file_403 = + R"JSON({"error": {"code": 403, "message": "Forbidden", "traceback": "Traceback (most recent call last):\n\n File \"/home/lava/moonraker/moonraker/components/file_manager/file_manager.py\", line 1017, in _finish_gcode_upload\n can_start = self._handle_operation_check(check_path)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nmoonraker.utils.exceptions.ServerError: File currently in use\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n\n File \"/home/lava/moonraker/moonraker/components/application.py\", line 1069, in post\n raise tornado.web.HTTPError(\ntornado.web.HTTPError: HTTP 403: Forbidden (File is loaded, upload not permitted)\n"}})JSON"; + +} // namespace + +TEST_CASE("A Klipper upload error shows its reason instead of a Python traceback", "[PrintHost][Regression]") +{ + const std::string msg = format_error(k_busy_file_403, "", 403); + INFO("actual: " << msg); + + CHECK(msg == "HTTP 403: Forbidden (File is loaded, upload not permitted)"); + CHECK_THAT(msg, !Catch::Matchers::ContainsSubstring("Traceback")); + CHECK_THAT(msg, !Catch::Matchers::ContainsSubstring("file_manager.py")); +} + +TEST_CASE("The specific cause is recovered from a file endpoint's traceback", "[PrintHost]") +{ + SECTION("a plain detail") + { + const std::string body = moonraker_error(403, "Forbidden", "File is loaded, upload not permitted"); + CHECK(format_error(body, "", 403) == "HTTP 403: Forbidden (File is loaded, upload not permitted)"); + } + + SECTION("a detail whose own parentheses nest (a filename)") + { + const std::string detail = "Directory does not exist (/home/pi/gcodes/plate (1).gcode)"; + const std::string body = moonraker_error(400, "Bad Request", detail); + CHECK(format_error(body, "", 400) == "HTTP 400: Bad Request (" + detail + ")"); + } + + SECTION("a detail that contains the reason phrase") + { + const std::string body = moonraker_error(403, "Forbidden", "Forbidden zone: access denied"); + CHECK(format_error(body, "", 403) == "HTTP 403: Forbidden (Forbidden zone: access denied)"); + } + + SECTION("a detail that spans lines") + { + const std::string detail = "Move out of range\nX=250.000 Y=10.000"; + const std::string body = moonraker_error(400, "Bad Request", detail); + CHECK(format_error(body, "", 400) == "HTTP 400: Bad Request (" + detail + ")"); + } + + SECTION("a detail that only repeats the reason phrase is dropped") + { + const std::string body = moonraker_error(401, "Unauthorized", "Unauthorized"); + CHECK(format_error(body, "", 401) == "HTTP 401: Unauthorized"); + } +} + +TEST_CASE("An unhandled exception shows its type and message", "[PrintHost]") +{ + const std::string frame = "Traceback (most recent call last):\n" + " File \"/home/pi/moonraker/moonraker/components/file_manager/file_manager.py\", line 1, in write\n" + " self._write(data)\n"; + + SECTION("a one-line message") + { + const std::string body = envelope(500, "Internal Server Error", frame + "OSError: [Errno 28] No space left on device\n"); + CHECK(format_error(body, "", 500) == "HTTP 500: Internal Server Error (OSError: [Errno 28] No space left on device)"); + } + + SECTION("a message that spans lines") + { + const std::string body = envelope(500, "Internal Server Error", frame + "ServerError: Klippy request failed\n see klippy.log\n"); + CHECK(format_error(body, "", 500) == "HTTP 500: Internal Server Error (ServerError: Klippy request failed\n see klippy.log)"); + } + + SECTION("raised while handling an HTTPError with the same code") + { + const std::string traceback = frame + "tornado.web.HTTPError: HTTP 500: Internal Server Error (Database locked)\n\n" + "During handling of the above exception, another exception occurred:\n\n" + + frame + "OSError: [Errno 5] Input/output error\n"; + const std::string body = envelope(500, "Internal Server Error", traceback); + CHECK(format_error(body, "", 500) == "HTTP 500: Internal Server Error (OSError: [Errno 5] Input/output error)"); + } + + SECTION("a traceback with no header") + { + const std::string body = envelope(500, "Internal Server Error", "OSError: [Errno 5] Input/output error"); + CHECK(format_error(body, "", 500) == "HTTP 500: Internal Server Error (OSError: [Errno 5] Input/output error)"); + } +} + +TEST_CASE("A reason already complete in message is shown unchanged", "[PrintHost]") +{ + SECTION("message is the whole reason, no trailing detail") + { + const std::string body = moonraker_error(503, "Klippy is not ready"); + CHECK(format_error(body, "", 503) == "HTTP 503: Klippy is not ready"); + } + + SECTION("a message that itself contains parentheses is not duplicated") + { + const std::string reason = "Requested blocks (0-5) are unavailable"; + const std::string body = moonraker_error(400, reason); + CHECK(format_error(body, "", 400) == "HTTP 400: " + reason); + } +} + +TEST_CASE("A Moonraker error with no usable detail shows just the reason phrase", "[PrintHost]") +{ + struct Case + { + const char* name; + const char* body; + unsigned status; + const char* expected; + }; + + const auto c = GENERATE( + Case{"an empty traceback", R"JSON({"error": {"code": 500, "message": "Internal Server Error", "traceback": ""}})JSON", 500, + "HTTP 500: Internal Server Error"}, + Case{"a traceback of only whitespace", R"JSON({"error": {"code": 500, "message": "Internal Server Error", "traceback": "\n \n"}})JSON", + 500, "HTTP 500: Internal Server Error"}); + + DYNAMIC_SECTION(c.name) { CHECK(format_error(c.body, "", c.status) == c.expected); } +} + +TEST_CASE("A percent sign in the reason is not a format specifier", "[PrintHost]") +{ + const std::string body = moonraker_error(507, "Insufficient Storage", "disk 100% full"); + CHECK(format_error(body, "", 507) == "HTTP 507: Insufficient Storage (disk 100% full)"); +} + +TEST_CASE("Error bodies that are not a Moonraker envelope are left unchanged", "[PrintHost]") +{ + SECTION("OctoPrint's string-valued error member") + { + const std::string body = R"JSON({"error": "File not found"})JSON"; + CHECK(format_error(body, "", 404) == "HTTP 404: " + body); + } + + SECTION("PrusaLink's top-level message, not under error") + { + const std::string body = R"JSON({"title": "Conflict", "message": "Printer is printing"})JSON"; + CHECK(format_error(body, "", 409) == "HTTP 409: " + body); + } + + SECTION("a body that is not JSON") + { + const std::string html = "<html><head><title>502 Bad Gateway"; + CHECK(format_error(html, "", 502) == "HTTP 502: " + html); + } + + SECTION("an error object with no traceback") + { + const std::string body = R"JSON({"error": {"code": 500, "message": "Internal Server Error"}})JSON"; + CHECK(format_error(body, "", 500) == "HTTP 500: " + body); + } + + SECTION("an error object whose traceback is null") + { + const std::string body = R"JSON({"error": {"code": 500, "message": "Internal Server Error", "traceback": null}})JSON"; + CHECK(format_error(body, "", 500) == "HTTP 500: " + body); + } + + SECTION("an envelope whose reason phrase is empty") + { + const std::string body = envelope(403, "", "Traceback (most recent call last):\nOSError: denied\n"); + CHECK(format_error(body, "", 403) == "HTTP 403: " + body); + } + + SECTION("a transport error with no HTTP status") + { + CHECK(format_error("", "curl:Could not connect", 0) == "curl:Could not connect"); + } +} diff --git a/tests/slic3rutils/test_scene_raycaster.cpp b/tests/slic3rutils/test_scene_raycaster.cpp new file mode 100644 index 0000000000..d51671e5c5 --- /dev/null +++ b/tests/slic3rutils/test_scene_raycaster.cpp @@ -0,0 +1,178 @@ +// Orca: This suite links libslic3r_gui; navigation raycasts need no wx application or GL context. +#ifdef WIN32 + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #ifndef NOMINMAX + #define NOMINMAX + #endif + #include + // Match the GUI precompiled header: wx/msw/wrapcctl.h needs HDITEM from CommCtrl.h. + #include +#endif + +#include + +#include "slic3r/GUI/Camera.hpp" +#include "slic3r/GUI/CameraUtils.hpp" +#include "slic3r/GUI/PartPlate.hpp" +#include "slic3r/GUI/SceneRaycaster.hpp" + +using namespace Slic3r; +using namespace Slic3r::GUI; + +namespace { + +Camera horizontal_camera(Camera::EType type = Camera::EType::Perspective) +{ + Camera camera; + camera.set_type(type); + camera.look_at({0.0, 0.0, 10.0}, {0.0, 100.0, 10.0}, Vec3d::UnitZ()); + camera.set_viewport(0, 0, 600, 600); + camera.apply_projection(-1.0, 1.0, -1.0, 1.0, 1.0, 1000.0); + return camera; +} + +SceneRaycaster::HitResult scene_hit(const SceneRaycaster& scene, const Camera& camera, const Vec3d& point, + SceneRaycaster::EHitMode mode = SceneRaycaster::EHitMode::SceneOnly) +{ + return scene.hit(CameraUtils::project(camera, point).cast(), camera, nullptr, mode); +} + +} // namespace + +TEST_CASE("Navigation hits the visible bed below a horizontal perspective view", "[SceneRaycaster][Regression]") +{ + const MeshRaycaster bed(TriangleMesh( + {{-100.f, 20.f, 0.f}, {100.f, 20.f, 0.f}, {100.f, 200.f, 0.f}, {-100.f, 200.f, 0.f}}, + {{0, 1, 2}, {0, 2, 3}})); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Bed, 0, bed, Transform3d::Identity()); + const Camera camera = horizontal_camera(); + + const auto hit = scene_hit(scene, camera, {0.0, 100.0, 0.0}); + REQUIRE(hit.is_valid()); + CHECK(hit.type == SceneRaycaster::EType::Bed); + CHECK_THAT(hit.position.z(), Catch::Matchers::WithinAbs(0.0, 1e-4)); +} + +TEST_CASE("Navigation hits a visible side face away from the perspective view center", "[SceneRaycaster][Regression]") +{ + const auto mode = GENERATE(SceneRaycaster::EHitMode::SceneOnly, SceneRaycaster::EHitMode::VolumesOnly); + const MeshRaycaster side(TriangleMesh( + {{10.f, 20.f, -100.f}, {10.f, 20.f, 100.f}, {10.f, 200.f, 100.f}, {10.f, 200.f, -100.f}}, + {{0, 1, 2}, {0, 2, 3}})); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, side, Transform3d::Identity()); + const Camera camera = horizontal_camera(); + + const auto hit = scene_hit(scene, camera, {10.0, 100.0, 10.0}, mode); + REQUIRE(hit.is_valid()); + CHECK(hit.type == SceneRaycaster::EType::Volume); + CHECK_THAT(hit.position.x(), Catch::Matchers::WithinAbs(10.0, 1e-4)); +} + +TEST_CASE("Navigation ignores gizmos and inactive volumes and chooses the nearest scene surface", "[SceneRaycaster]") +{ + const bool gizmos_on_top = GENERATE(false, true); + const auto mode = GENERATE(SceneRaycaster::EHitMode::SceneOnly, SceneRaycaster::EHitMode::VolumesOnly); + const auto type = GENERATE(Camera::EType::Perspective, Camera::EType::Ortho); + const MeshRaycaster cube(make_cube(20.0, 20.0, 20.0)); + SceneRaycaster scene; + scene.set_gizmos_on_top(gizmos_on_top); + scene.add_raycaster(SceneRaycaster::EType::Gizmo, 0, cube, Geometry::translation_transform({-10.0, 20.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::FallbackGizmo, 0, cube, Geometry::translation_transform({-10.0, 30.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, cube, Geometry::translation_transform({-10.0, 40.0, 0.0}))->set_active(false); + scene.add_raycaster(SceneRaycaster::EType::Volume, 1, cube, Geometry::translation_transform({-10.0, 150.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Volume, 2, cube, Geometry::translation_transform({-10.0, 100.0, 0.0})); + const Camera camera = horizontal_camera(type); + + const auto hit = scene_hit(scene, camera, {0.0, 100.0, 10.0}, mode); + REQUIRE(hit.is_valid()); + CHECK(hit.type == SceneRaycaster::EType::Volume); + CHECK(hit.raycaster_id == 2); + CHECK_THAT(hit.position.y(), Catch::Matchers::WithinAbs(100.0, 1e-4)); +} + +TEST_CASE("Navigation skips bed raycasters when the bed is hidden", "[SceneRaycaster][Regression]") +{ + const auto mode = GENERATE(SceneRaycaster::EHitMode::SceneOnly, SceneRaycaster::EHitMode::VolumesOnly); + const auto type = GENERATE(Camera::EType::Perspective, Camera::EType::Ortho); + const bool looking_downward = GENERATE(false, true); + const MeshRaycaster cube(make_cube(20.0, 20.0, 20.0)); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Bed, 0, cube, Geometry::translation_transform({-10.0, 40.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, cube, Geometry::translation_transform({-10.0, 100.0, 0.0})); + Camera camera = horizontal_camera(type); + if (looking_downward) + camera.look_at({0.0, 0.0, 10.0}, {0.0, 100.0, 0.0}, Vec3d::UnitZ()); + + const auto hit = scene_hit(scene, camera, {0.0, 100.0, 10.0}, mode); + REQUIRE(hit.is_valid()); + CHECK(hit.type == (mode == SceneRaycaster::EHitMode::SceneOnly ? + SceneRaycaster::EType::Bed : SceneRaycaster::EType::Volume)); + + scene.remove_raycasters(SceneRaycaster::EType::Volume); + CHECK(scene_hit(scene, camera, {0.0, 100.0, 10.0}, mode).is_valid() == + (mode == SceneRaycaster::EHitMode::SceneOnly)); +} + +TEST_CASE("Navigation ignores plate controls while retaining plate surfaces and volumes", "[SceneRaycaster][Regression]") +{ + const int plate_index = GENERATE(0, 2); + const int component = GENERATE(range(1, int(PartPlate::GRABBER_COUNT))); + const int bed_id = plate_index * PartPlate::GRABBER_COUNT; + const MeshRaycaster cube(make_cube(20.0, 20.0, 20.0)); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Bed, bed_id + component, cube, + Geometry::translation_transform({-10.0, 40.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Bed, bed_id, cube, + Geometry::translation_transform({-10.0, 100.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, cube, + Geometry::translation_transform({-10.0, 150.0, 0.0})); + const Camera camera = horizontal_camera(); + + auto hit = scene_hit(scene, camera, {0.0, 100.0, 10.0}); + REQUIRE(hit.is_valid()); + CHECK(hit.type == SceneRaycaster::EType::Bed); + CHECK(hit.raycaster_id == bed_id); + + scene.remove_raycasters(SceneRaycaster::EType::Bed, bed_id); + hit = scene_hit(scene, camera, {0.0, 100.0, 10.0}); + REQUIRE(hit.is_valid()); + CHECK(hit.type == SceneRaycaster::EType::Volume); + + // A control alone must leave navigation free to choose its fallback anchor. + scene.remove_raycasters(SceneRaycaster::EType::Volume); + CHECK_FALSE(scene_hit(scene, camera, {0.0, 100.0, 10.0}).is_valid()); +} + +TEST_CASE("Navigation respects the back-face policy away from the perspective view center", "[SceneRaycaster]") +{ + const bool use_back_faces = GENERATE(false, true); + const auto mode = GENERATE(SceneRaycaster::EHitMode::SceneOnly, SceneRaycaster::EHitMode::VolumesOnly); + const MeshRaycaster side(TriangleMesh( + {{10.f, 20.f, -100.f}, {10.f, 20.f, 100.f}, {10.f, 200.f, 100.f}, {10.f, 200.f, -100.f}}, + {{0, 2, 1}, {0, 3, 2}})); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, side, Transform3d::Identity(), use_back_faces); + + const auto hit = scene_hit(scene, horizontal_camera(), {10.0, 100.0, 10.0}, mode); + CHECK(hit.is_valid() == use_back_faces); +} + +TEST_CASE("Navigation ignores volume surfaces removed by the clipping plane", "[SceneRaycaster]") +{ + const auto mode = GENERATE(SceneRaycaster::EHitMode::SceneOnly, SceneRaycaster::EHitMode::VolumesOnly); + const MeshRaycaster cube(make_cube(20.0, 20.0, 20.0)); + SceneRaycaster scene; + scene.add_raycaster(SceneRaycaster::EType::Volume, 0, cube, Geometry::translation_transform({-10.0, 100.0, 0.0})); + scene.add_raycaster(SceneRaycaster::EType::Volume, 1, cube, Geometry::translation_transform({-10.0, 150.0, 0.0})); + const Camera camera = horizontal_camera(); + const ClippingPlane clipping_plane(-Vec3d::UnitY(), -130.0); + + const auto hit = scene.hit({300.0, 300.0}, camera, &clipping_plane, mode); + REQUIRE(hit.is_valid()); + CHECK(hit.raycaster_id == 1); + CHECK_THAT(hit.position.y(), Catch::Matchers::WithinAbs(150.0, 1e-4)); +} diff --git a/tests/slic3rutils/test_shortcuts.cpp b/tests/slic3rutils/test_shortcuts.cpp new file mode 100644 index 0000000000..350e87f48a --- /dev/null +++ b/tests/slic3rutils/test_shortcuts.cpp @@ -0,0 +1,343 @@ +#include +#include + +#include "libslic3r/AppConfig.hpp" +#include "slic3r/GUI/KeyChord.hpp" +#include "slic3r/GUI/Shortcuts.hpp" + +#include + +using namespace Slic3r; +using namespace Slic3r::GUI; + +namespace { + +wxKeyEvent key_event(wxEventType type, int key_code, int modifiers = wxMOD_NONE) +{ + wxKeyEvent evt(type); + evt.m_keyCode = key_code; + evt.SetControlDown(modifiers & wxMOD_CONTROL); + evt.SetShiftDown(modifiers & wxMOD_SHIFT); + evt.SetAltDown(modifiers & wxMOD_ALT); + return evt; +} + +} // namespace + +TEST_CASE("KeyChord round-trips through its canonical text", "[Shortcuts]") +{ + const auto [chord, text] = GENERATE(table({ + { { 'N', wxMOD_CONTROL }, "Ctrl+N" }, + { { 'S', wxMOD_CONTROL | wxMOD_SHIFT }, "Ctrl+Shift+S" }, + { { WXK_RETURN, wxMOD_SHIFT | wxMOD_ALT }, "Shift+Alt+Enter" }, + { { WXK_TAB, wxMOD_SHIFT }, "Shift+Tab" }, + { { WXK_DELETE }, "Del" }, + { { WXK_F5 }, "F5" }, + { { WXK_F12, wxMOD_CONTROL }, "Ctrl+F12" }, + { { '+' }, "+" }, + { { '-', wxMOD_CONTROL }, "Ctrl+-" }, + { { '?' }, "?" }, + { { ',', wxMOD_CONTROL }, "Ctrl+," }, + })); + CAPTURE(text); + CHECK(chord.to_string() == text); + REQUIRE(KeyChord::parse(text).has_value()); + CHECK(*KeyChord::parse(text) == chord); +} + +TEST_CASE("KeyChord::parse accepts aliases and rejects malformed text", "[Shortcuts]") +{ + CHECK(KeyChord::parse("control+n") == KeyChord{ 'N', wxMOD_CONTROL }); + CHECK(KeyChord::parse("Cmd+Shift+Delete") == KeyChord{ WXK_DELETE, wxMOD_CONTROL | wxMOD_SHIFT }); + CHECK(KeyChord::parse("PageUp") == KeyChord{ WXK_PAGEUP }); + CHECK(KeyChord::parse("f3") == KeyChord{ WXK_F3 }); + + CHECK_FALSE(KeyChord::parse("").has_value()); + CHECK_FALSE(KeyChord::parse("Ctrl+").has_value()); + CHECK_FALSE(KeyChord::parse("Meta+A").has_value()); + CHECK_FALSE(KeyChord::parse("F25").has_value()); + CHECK_FALSE(KeyChord::parse("Shift+/").has_value()); // Shift is part of the punctuation character +} + +TEST_CASE("Key events normalize to the key-down key codes", "[Shortcuts]") +{ + CHECK(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, 'A', wxMOD_CONTROL)) == KeyChord{ 'A', wxMOD_CONTROL }); + CHECK(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, WXK_NUMPAD5, wxMOD_CONTROL)) == KeyChord{ '5', wxMOD_CONTROL }); + CHECK(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, WXK_NUMPAD_ADD)) == KeyChord{ '+' }); + CHECK(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, WXK_NUMPAD_PAGEUP)) == KeyChord{ WXK_PAGEUP }); + CHECK_FALSE(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, WXK_SHIFT, wxMOD_SHIFT)).valid()); + CHECK_FALSE(KeyChord::from_event(key_event(wxEVT_KEY_DOWN, WXK_CONTROL, wxMOD_CONTROL)).valid()); + + CHECK(KeyChord::from_event(key_event(wxEVT_CHAR, 'a')) == KeyChord{ 'A' }); + CHECK(KeyChord::from_event(key_event(wxEVT_CHAR, 'A', wxMOD_SHIFT)) == KeyChord{ 'A', wxMOD_SHIFT }); + CHECK(KeyChord::from_event(key_event(wxEVT_CHAR, WXK_CONTROL_C, wxMOD_CONTROL)) == KeyChord{ 'C', wxMOD_CONTROL }); + CHECK(KeyChord::from_event(key_event(wxEVT_CHAR, '+', wxMOD_SHIFT)) == KeyChord{ '+' }); + CHECK(KeyChord::from_event(key_event(wxEVT_CHAR, WXK_DELETE)) == KeyChord{ WXK_DELETE }); + CHECK_FALSE(KeyChord::from_event(key_event(wxEVT_CHAR, 0x444)).valid()); // a Cyrillic letter is not bindable +} + +TEST_CASE("Punctuation chords are the ones matched on char events", "[Shortcuts]") +{ + CHECK(KeyChord{ '+' }.is_punctuation()); + CHECK(KeyChord{ '?' }.is_punctuation()); + CHECK_FALSE(KeyChord{ 'A' }.is_punctuation()); + CHECK_FALSE(KeyChord{ '1' }.is_punctuation()); + CHECK_FALSE(KeyChord{ '=', wxMOD_CONTROL }.is_punctuation()); + CHECK_FALSE(KeyChord{ WXK_DELETE }.is_punctuation()); +} + +TEST_CASE("Chords that only the char event can resolve are recognized", "[Shortcuts]") +{ + CHECK(KeyChord{ '/', wxMOD_SHIFT }.needs_char_event()); + CHECK(KeyChord{ '-' }.needs_char_event()); + CHECK_FALSE(KeyChord{ '=', wxMOD_CONTROL }.needs_char_event()); + CHECK_FALSE(KeyChord{ 'A', wxMOD_SHIFT }.needs_char_event()); + CHECK_FALSE(KeyChord{ '1' }.needs_char_event()); + CHECK_FALSE(KeyChord{ WXK_F5 }.needs_char_event()); +} + +TEST_CASE("Only modified or non-printable chords qualify as menu accelerators", "[Shortcuts]") +{ + CHECK(KeyChord{ 'N', wxMOD_CONTROL }.is_menu_accelerator()); + CHECK(KeyChord{ 'N', wxMOD_ALT }.is_menu_accelerator()); + CHECK(KeyChord{ WXK_DELETE }.is_menu_accelerator()); + CHECK(KeyChord{ WXK_F5 }.is_menu_accelerator()); + CHECK_FALSE(KeyChord{ 'A' }.is_menu_accelerator()); + CHECK_FALSE(KeyChord{ 'A', wxMOD_SHIFT }.is_menu_accelerator()); + CHECK_FALSE(KeyChord{ '?' }.is_menu_accelerator()); + CHECK_FALSE(KeyChord{ WXK_SPACE }.is_menu_accelerator()); + CHECK_FALSE(KeyChord{}.is_menu_accelerator()); + + ShortcutRegistry registry; + CHECK(registry.accelerator(Shortcut::NewProject) == "Ctrl+N"); +#ifdef __APPLE__ + CHECK(registry.accelerator(Shortcut::DeleteSelected) == "Backspace"); +#else + CHECK(registry.accelerator(Shortcut::DeleteSelected) == "Del"); +#endif + CHECK(registry.accelerator(Shortcut::Arrange).empty()); + CHECK(registry.accelerator(Shortcut::ArrangePlate).empty()); + CHECK(registry.accelerator(Shortcut::KeyboardShortcuts).empty()); +} + +TEST_CASE("Chords the desktop keeps for itself are recognized", "[Shortcuts]") +{ +#ifdef _WIN32 + CHECK(KeyChord{ WXK_F4, wxMOD_ALT }.is_system_shortcut()); + CHECK(KeyChord{ WXK_SPACE, wxMOD_ALT }.is_system_shortcut()); +#else + CHECK_FALSE(KeyChord{ WXK_F4, wxMOD_ALT }.is_system_shortcut()); + CHECK_FALSE(KeyChord{ WXK_SPACE, wxMOD_ALT }.is_system_shortcut()); +#endif + CHECK_FALSE(KeyChord{ WXK_F4, wxMOD_ALT | wxMOD_SHIFT }.is_system_shortcut()); + CHECK_FALSE(KeyChord{ WXK_F4, wxMOD_CONTROL }.is_system_shortcut()); + CHECK_FALSE(KeyChord{ WXK_SPACE }.is_system_shortcut()); +} + +TEST_CASE("Chords convert to wx accelerator entries", "[Shortcuts]") +{ + const wxAcceleratorEntry entry = KeyChord{ 'S', wxMOD_CONTROL | wxMOD_SHIFT }.to_accelerator_entry(42); + CHECK(entry.GetFlags() == (wxACCEL_CTRL | wxACCEL_SHIFT)); + CHECK(entry.GetKeyCode() == 'S'); + CHECK(entry.GetCommand() == 42); + + const wxAcceleratorEntry bare = KeyChord{ WXK_BACK }.to_accelerator_entry(7); + CHECK(bare.GetFlags() == wxACCEL_NORMAL); + CHECK(bare.GetKeyCode() == WXK_BACK); +} + +#ifndef __APPLE__ +TEST_CASE("Display text matches the canonical text without translations", "[Shortcuts]") +{ + CHECK(KeyChord{ WXK_DELETE, wxMOD_CONTROL | wxMOD_SHIFT }.display() == "Ctrl+Shift+Del"); + CHECK(KeyChord{ WXK_DELETE, wxMOD_CONTROL | wxMOD_SHIFT }.display_parts() == std::vector{ "Ctrl", "Shift", "Del" }); + CHECK(KeyChord{ '+' }.display() == "+"); + CHECK(KeyChord{ WXK_UP, wxMOD_SHIFT }.display() == "Shift+Arrow Up"); // the arrows keep the old dialog's names + CHECK(KeyChord{ WXK_UP, wxMOD_SHIFT }.to_string() == "Shift+Up"); + CHECK(KeyChord{}.display().empty()); +} +#endif + +TEST_CASE("Every shortcut is listed under the section of its table row", "[Shortcuts]") +{ + CHECK(shortcut_section(Shortcut::NewProject) == ShortcutSection::Project); + CHECK(shortcut_section(Shortcut::Publish3mf) == ShortcutSection::Project); + CHECK(shortcut_section(Shortcut::SlicePlate) == ShortcutSection::SlicingAndPrinting); + CHECK(shortcut_section(Shortcut::GizmoBrimEars) == ShortcutSection::Gizmos); + CHECK(shortcut_section(Shortcut::MovesSliderEnd) == ShortcutSection::Sliders); + CHECK(shortcut_section(Shortcut::ViewDefault) == ShortcutSection::Camera); + CHECK(shortcut_section(Shortcut::KeyboardShortcuts) == ShortcutSection::Application); + CHECK(std::string(section_name(ShortcutSection::SlicingAndPrinting)) == "Slicing and printing"); +} + +TEST_CASE("Default bindings never collide inside a context", "[Shortcuts]") +{ + ShortcutRegistry registry; + for (size_t i = 0; i < size_t(Shortcut::Count); ++i) { + const Shortcut shortcut = Shortcut(i); + CAPTURE(shortcut_info(shortcut).key); + CHECK(registry.conflicts(shortcut, registry.binding(shortcut)).empty()); + } +} + +TEST_CASE("Shift and Ctrl variants of stepping shortcuts are left unbound", "[Shortcuts]") +{ + ShortcutRegistry registry; + for (size_t i = 0; i < size_t(Shortcut::Count); ++i) { + const ShortcutInfo& info = shortcut_info(Shortcut(i)); + if (!info.modifier_variants) + continue; + CAPTURE(info.key); + const KeyChord chord = registry.binding(info.id); + for (int modifier : { int(wxMOD_SHIFT), int(wxMOD_CONTROL), int(wxMOD_SHIFT | wxMOD_CONTROL) }) + for (size_t c = 0; c < size_t(ShortcutContext::Count); ++c) + if (info.contexts & context_bit(ShortcutContext(c))) + CHECK_FALSE(registry.lookup(ShortcutContext(c), KeyChord{ chord.key, chord.modifiers | modifier }).has_value()); + } +} + +TEST_CASE("Lookups are scoped to the context of the key press", "[Shortcuts]") +{ + ShortcutRegistry registry; + const KeyChord ctrl_n{ 'N', wxMOD_CONTROL }; + const KeyChord ctrl_c{ 'C', wxMOD_CONTROL }; + const KeyChord a{ 'A' }; + const KeyChord c{ 'C' }; + + CHECK(registry.lookup(ShortcutContext::Global, ctrl_n) == Shortcut::NewProject); + CHECK_FALSE(registry.lookup(ShortcutContext::Plater, ctrl_n).has_value()); + + CHECK(registry.lookup(ShortcutContext::Plater, ctrl_c) == Shortcut::Copy); + CHECK(registry.lookup(ShortcutContext::ObjectList, ctrl_c) == Shortcut::Copy); + CHECK_FALSE(registry.lookup(ShortcutContext::Global, ctrl_c).has_value()); + + CHECK(registry.lookup(ShortcutContext::Plater, a) == Shortcut::Arrange); + CHECK_FALSE(registry.lookup(ShortcutContext::Preview, a).has_value()); + + CHECK(registry.lookup(ShortcutContext::Plater, c) == Shortcut::GizmoCut); + CHECK(registry.lookup(ShortcutContext::Preview, c) == Shortcut::ToggleGcodeWindow); + CHECK(registry.lookup(ShortcutContext::Painting, c) == Shortcut::PaintToolCircle); +} + +TEST_CASE("Stepping shortcuts match with Shift or Ctrl added to their binding", "[Shortcuts]") +{ + ShortcutRegistry registry; + using Match = ShortcutRegistry::Match; + auto same = [](const std::optional& match, Shortcut shortcut, int step_modifiers) { + return match.has_value() && match->shortcut == shortcut && match->step_modifiers == step_modifiers; + }; + CHECK(same(registry.match(ShortcutContext::Preview, { WXK_UP }), Shortcut::LayerSliderUp, 0)); + CHECK(same(registry.match(ShortcutContext::Preview, { WXK_UP, wxMOD_SHIFT }), Shortcut::LayerSliderUp, wxMOD_SHIFT)); + CHECK(same(registry.match(ShortcutContext::Plater, { WXK_LEFT, wxMOD_CONTROL | wxMOD_SHIFT }), Shortcut::MoveSelectionLeft, wxMOD_CONTROL | wxMOD_SHIFT)); + CHECK(same(registry.match(ShortcutContext::Plater, { 'A', wxMOD_SHIFT }), Shortcut::ArrangePlate, 0)); // an exact binding wins + CHECK_FALSE(registry.match(ShortcutContext::Plater, { 'Q', wxMOD_CONTROL }).has_value()); // Orient has no variants + CHECK_FALSE(registry.match(ShortcutContext::Preview, { WXK_UP, wxMOD_ALT }).has_value()); // Alt is not a step modifier + + CHECK_FALSE(registry.match(ShortcutContext::Preview, { WXK_HOME, wxMOD_SHIFT }).has_value()); // Home has no variants + + // A binding with Shift or Ctrl of its own has no steps. + registry.bind(Shortcut::LayerSliderUp, { WXK_UP, wxMOD_CONTROL }); + CHECK(same(registry.match(ShortcutContext::Preview, { WXK_UP, wxMOD_CONTROL }), Shortcut::LayerSliderUp, 0)); + CHECK_FALSE(registry.match(ShortcutContext::Preview, { WXK_UP, wxMOD_CONTROL | wxMOD_SHIFT }).has_value()); + CHECK_FALSE(registry.match(ShortcutContext::Preview, { WXK_UP, wxMOD_SHIFT }).has_value()); + + // An exact binding on the combined step wins over it. + registry.bind(Shortcut::Arrange, { WXK_LEFT, wxMOD_CONTROL | wxMOD_SHIFT }); + CHECK(same(registry.match(ShortcutContext::Plater, { WXK_LEFT, wxMOD_CONTROL | wxMOD_SHIFT }), Shortcut::Arrange, 0)); + CHECK(same(registry.match(ShortcutContext::Plater, { WXK_LEFT, wxMOD_SHIFT }), Shortcut::MoveSelectionLeft, wxMOD_SHIFT)); +} + +TEST_CASE("Conflicts cover shared contexts and every Global shortcut", "[Shortcuts]") +{ + ShortcutRegistry registry; + CHECK(registry.conflicts(Shortcut::Arrange, { 'N', wxMOD_CONTROL }) == std::vector{ Shortcut::NewProject }); + CHECK(registry.conflicts(Shortcut::NewProject, { 'A' }) == std::vector{ Shortcut::Arrange }); + CHECK(registry.conflicts(Shortcut::ToggleGcodeWindow, { 'C' }).empty()); + CHECK(registry.conflicts(Shortcut::ZoomIn, { 'C' }) == std::vector{ Shortcut::GizmoCut, Shortcut::ToggleGcodeWindow }); + CHECK(registry.conflicts(Shortcut::Arrange, { 'A' }).empty()); // a shortcut never conflicts with itself + + // Only the exact chord conflicts; the steps of a stepping shortcut are reserved instead. + CHECK(registry.conflicts(Shortcut::GoToLayer, { WXK_UP, wxMOD_SHIFT }).empty()); + CHECK(registry.conflicts(Shortcut::LayerSliderUp, { 'G', wxMOD_SHIFT }) == std::vector{ Shortcut::GoToLayer }); +} + +TEST_CASE("Shift and Ctrl with a stepping shortcut's key are reserved for its steps", "[Shortcuts]") +{ + ShortcutRegistry registry; + CHECK(registry.step_owner(Shortcut::GoToLayer, { WXK_UP, wxMOD_SHIFT }) == Shortcut::LayerSliderUp); + CHECK(registry.step_owner(Shortcut::NewProject, { WXK_LEFT, wxMOD_CONTROL }) == Shortcut::MoveSelectionLeft); // Global shares every context + CHECK_FALSE(registry.step_owner(Shortcut::GoToLayer, { WXK_UP, wxMOD_CONTROL | wxMOD_SHIFT }).has_value()); // the combined step is free + CHECK_FALSE(registry.step_owner(Shortcut::MoveSelectionLeft, { WXK_LEFT, wxMOD_SHIFT }).has_value()); // its own step + CHECK_FALSE(registry.step_owner(Shortcut::PaintToolCircle, { WXK_UP, wxMOD_SHIFT }).has_value()); // Painting shares no context + registry.bind(Shortcut::LayerSliderUp, { WXK_UP, wxMOD_CONTROL }); + CHECK_FALSE(registry.step_owner(Shortcut::GoToLayer, { WXK_UP, wxMOD_CONTROL | wxMOD_SHIFT }).has_value()); // a modified binding has no steps +} + +TEST_CASE("Custom bindings replace the default and survive a config round trip", "[Shortcuts]") +{ + ShortcutRegistry registry; + const KeyChord w{ 'W' }; + registry.bind(Shortcut::Arrange, w); + + CHECK(registry.is_customized(Shortcut::Arrange)); + CHECK(registry.lookup(ShortcutContext::Plater, w) == Shortcut::Arrange); + CHECK_FALSE(registry.lookup(ShortcutContext::Plater, { 'A' }).has_value()); + + AppConfig config; + registry.save(config); + CHECK(config.get("shortcuts", "arrange") == "W"); + CHECK_FALSE(config.has("shortcuts", "orient")); + + ShortcutRegistry loaded; + loaded.load(config); + CHECK(loaded.lookup(ShortcutContext::Plater, w) == Shortcut::Arrange); + CHECK(loaded.binding(Shortcut::Orient) == KeyChord{ 'Q' }); + + SECTION("rebinding to the default clears the override") + { + registry.bind(Shortcut::Arrange, { 'A' }); + CHECK_FALSE(registry.is_customized(Shortcut::Arrange)); + registry.save(config); + CHECK_FALSE(config.has("shortcuts", "arrange")); + } + SECTION("an invalid chord unbinds and persists as none") + { + registry.bind(Shortcut::Arrange, KeyChord{}); + CHECK_FALSE(registry.binding(Shortcut::Arrange).valid()); + registry.save(config); + CHECK(config.get("shortcuts", "arrange") == "none"); + loaded.load(config); + CHECK_FALSE(loaded.lookup(ShortcutContext::Plater, { 'A' }).has_value()); + CHECK_FALSE(loaded.lookup(ShortcutContext::Plater, w).has_value()); + } + SECTION("reset_all restores every default") + { + registry.reset_all(); + CHECK(registry.lookup(ShortcutContext::Plater, { 'A' }) == Shortcut::Arrange); + CHECK_FALSE(registry.is_customized(Shortcut::Arrange)); + } +} + +TEST_CASE("A Global shortcut refuses a config binding that would swallow typing", "[Shortcuts]") +{ + AppConfig config; + // A string literal would pick AppConfig::set's bool overload. + config.set("shortcuts", "save_project", std::string("S")); + config.set("shortcuts", "new_project", std::string("F9")); + ShortcutRegistry registry; + registry.load(config); + CHECK(registry.binding(Shortcut::SaveProject) == KeyChord{ 'S', wxMOD_CONTROL }); + CHECK(registry.binding(Shortcut::NewProject) == KeyChord{ WXK_F9 }); +} + +TEST_CASE("Unreadable config entries fall back to the default binding", "[Shortcuts]") +{ + AppConfig config; + config.set("shortcuts", "arrange", std::string("Hyper+Q")); + config.set("shortcuts", "no_such_shortcut", std::string("Ctrl+Q")); + + ShortcutRegistry registry; + registry.load(config); + CHECK_FALSE(registry.is_customized(Shortcut::Arrange)); + CHECK(registry.lookup(ShortcutContext::Plater, { 'A' }) == Shortcut::Arrange); +} diff --git a/tests/slic3rutils/test_staged_build.cpp b/tests/slic3rutils/test_staged_build.cpp new file mode 100644 index 0000000000..3afcd9e5fc --- /dev/null +++ b/tests/slic3rutils/test_staged_build.cpp @@ -0,0 +1,105 @@ +#include + +#include + +#include "slic3r/GUI/StagedBuild.hpp" + +using Slic3r::GUI::StagedBuild; + +namespace { + +// Exposes the protected queueing calls and records the order steps ran in. +struct Staged : StagedBuild +{ + std::vector ran; + void queue(int id) { add_build_step([this, id] { ran.push_back(id); }); } + void queue_child(Staged& child) { add_build_steps_of(child); } + void queue_nested(int id, int nested) + { + add_build_step([this, id, nested] { + ran.push_back(id); + queue(nested); + }); + } +}; + +} // namespace + +TEST_CASE("Steps run in the order they were queued, one per build_step", "[StagedBuild]") +{ + Staged s; + s.queue(1); + s.queue(2); + s.queue(3); + REQUIRE_FALSE(s.built()); + + REQUIRE(s.build_step()); + REQUIRE(s.ran == std::vector{1}); + REQUIRE(s.build_step()); + REQUIRE(s.ran == std::vector{1, 2}); + REQUIRE_FALSE(s.build_step()); + REQUIRE(s.ran == std::vector{1, 2, 3}); + REQUIRE(s.built()); + REQUIRE_FALSE(s.build_step()); + REQUIRE(s.ran.size() == 3); +} + +TEST_CASE("A panel with no steps is built from the start", "[StagedBuild]") +{ + Staged s; + REQUIRE(s.built()); + REQUIRE_FALSE(s.build_step()); +} + +TEST_CASE("A step may queue another step, which runs after the ones already queued", "[StagedBuild]") +{ + Staged s; + s.queue_nested(1, 3); + s.queue(2); + + REQUIRE(s.build_step()); + REQUIRE_FALSE(s.built()); + REQUIRE(s.build_step()); + REQUIRE_FALSE(s.build_step()); + REQUIRE(s.ran == std::vector{1, 2, 3}); + REQUIRE(s.built()); +} + +TEST_CASE("A parent waits for steps a child queues after being adopted", "[StagedBuild]") +{ + Staged child; + child.queue_nested(1, 2); // step 1 queues step 2 while it runs + Staged parent; + parent.queue_child(child); // one forwarder, for step 1 + parent.queue(10); + + REQUIRE(parent.build_step()); // child step 1, which queues step 2 + REQUIRE(parent.build_step()); // 10; own steps exhausted, the child still has 2 + REQUIRE_FALSE(parent.built()); + REQUIRE_FALSE(parent.build_step()); // child step 2 + REQUIRE(child.ran == std::vector{1, 2}); + REQUIRE(parent.ran == std::vector{10}); + REQUIRE(parent.built()); +} + +TEST_CASE("A child's remaining steps are forwarded one per parent step", "[StagedBuild]") +{ + Staged child; + child.queue(1); + child.queue(2); + child.queue(3); + REQUIRE(child.build_step()); // the parent adopts only what is left + + Staged parent; + parent.queue_child(child); + parent.queue(10); + + REQUIRE(parent.build_step()); + REQUIRE(child.ran == std::vector{1, 2}); + REQUIRE(parent.build_step()); + REQUIRE(child.ran == std::vector{1, 2, 3}); + REQUIRE(child.built()); + REQUIRE_FALSE(parent.build_step()); + REQUIRE(parent.ran == std::vector{10}); + REQUIRE(parent.built()); +} diff --git a/tests/test_utils.hpp b/tests/test_utils.hpp index e3fbbe8fab..0b04e6ad11 100644 --- a/tests/test_utils.hpp +++ b/tests/test_utils.hpp @@ -176,4 +176,22 @@ inline void write_debug_stream([[maybe_unused]] const std::string &name, [[maybe #endif } +// Changes the working directory and restores the previous one on scope exit, including when an +// assertion throws. It is process wide state shared with every other test. +class ScopedWorkingDirectory +{ +public: + explicit ScopedWorkingDirectory(const boost::filesystem::path &dir) + : m_previous(boost::filesystem::current_path()) + { + boost::filesystem::current_path(dir); + } + ~ScopedWorkingDirectory() { boost::system::error_code ec; boost::filesystem::current_path(m_previous, ec); } + ScopedWorkingDirectory(const ScopedWorkingDirectory &) = delete; + ScopedWorkingDirectory &operator=(const ScopedWorkingDirectory &) = delete; + +private: + boost::filesystem::path m_previous; +}; + #endif // SLIC3R_TEST_UTILS diff --git a/tools/orca_cad_mcp_bridge.py b/tools/orca_cad_mcp_bridge.py new file mode 100644 index 0000000000..d54320a9cb --- /dev/null +++ b/tools/orca_cad_mcp_bridge.py @@ -0,0 +1,180 @@ +#!/usr/bin/env python3 +"""Zero-dependency stdio MCP server bridging to the Orca/Orca-CAD control socket. + +Speaks MCP (JSON-RPC 2.0 over newline-delimited stdio) to an MCP client (Claude Code), +and forwards each tool call to the app's Unix-domain control socket (opened by the GUI +when launched with ORCA_CAD_MCP set). The tool list is built *live* from the app's own +`describe_tools` reply — introspection drives the schema, so new kernel methods surface +without touching this file. + +Usage: orca_cad_mcp_bridge.py [SOCKET_PATH] (default /tmp/orca-cad-mcp.sock) +The app must be running with ORCA_CAD_MCP set; if the socket is down, tools/list falls +back to the slice-1 set and tool calls report the connection error (never crash). +""" +import sys, os, json, socket, itertools + +SOCK_PATH = sys.argv[1] if len(sys.argv) > 1 else "/tmp/orca-cad-mcp.sock" +SERVER_INFO = {"name": "orca-cad", "version": "0.1"} +_app_id = itertools.count(1) + +# --- app control-socket round-trip -------------------------------------------- +def app_call(method, params=None): + """One request to the app over the unix socket. Raises on transport failure.""" + req = {"jsonrpc": "2.0", "id": next(_app_id), "method": method} + if params is not None: + req["params"] = params + s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + s.settimeout(20) + try: + s.connect(SOCK_PATH) + s.sendall((json.dumps(req) + "\n").encode()) + buf = b"" + while not buf.endswith(b"\n"): + chunk = s.recv(65536) + if not chunk: + break + buf += chunk + finally: + s.close() + return json.loads(buf.decode()) + +# --- describe_tools -> MCP tool schemas --------------------------------------- +_TYPE_MAP = {"number": "number", "integer": "integer", "string": "string", + "boolean": "boolean", "array": "array", "object": "object"} + +def _param_schema(p): + sch = {"type": _TYPE_MAP.get(p.get("type", "string"), "string")} + desc = p.get("description") + if "unit" in p: desc = (desc + " " if desc else "") + f"in {p['unit']}" + if desc: sch["description"] = desc + if "enum" in p: sch["enum"] = p["enum"] + if "min" in p: sch["minimum"] = p["min"] + if "max" in p: sch["maximum"] = p["max"] + if "default" in p: sch["default"] = p["default"] + return sch + +# Fallback when the app socket is unreachable at list time (e.g. the GUI isn't up yet when the +# MCP client lists tools at session start). The LIVE describe_tools reply is authoritative — this +# mirrors its 16-method surface so the agent still sees the full toolset; params without a +# `default` are surfaced as required. Keep in sync with McpControl.cpp describe_tools(). +def _p(name, typ="number", **kw): return dict(name=name, type=typ, **kw) +_PLANE = _p("plane", "string", enum=["XY", "XZ", "YZ"], default="XY") +_FALLBACK_TOOLS = {"tools": [ + {"name": "describe_tools", "summary": "List callable tools and their parameters.", "params": []}, + {"name": "describe_scene", "summary": "Feature tree + per-body bounding boxes.", "params": []}, + {"name": "extrude", "summary": "Extrude a profile (or width x height rectangle) to a depth; Onshape end conditions.", + "params": [_p("width", default=20), _p("height", default=20), _p("distance", default=10), _PLANE, + _p("profile", "array", default=[], description="closed [[x,y],...] overrides width/height"), + _p("boolean", "string", enum=["new", "union", "subtract", "intersect"], default="new"), + _p("end", "string", enum=["blind", "symmetric", "two_sided", "through_all", "up_to_face"], default="blind"), + _p("distance2", default=0, description="second side when end=two_sided"), + _p("up_to_face", "integer", default=-1, description="target face id when end=up_to_face"), + _p("taper", default=0), _p("flip", "boolean", default=False)]}, + {"name": "revolve", "summary": "Revolve a profile about a plane axis.", + "params": [_p("width", default=20), _p("height", default=10), _p("angle", default=360), + _p("axis", "integer", enum=[0, 1], default=0), _p("flip", "boolean", default=False), _PLANE, + _p("profile", "array", default=[], description="closed [[x,y],...] overrides width/height"), + _p("boolean", "string", enum=["new", "union", "subtract", "intersect"], default="new")]}, + {"name": "fillet", "summary": "Round a measured edge of a body.", + "params": [_p("edge", "integer"), _p("radius", default=1), + _p("body", "integer", default=-1, description="target body; omit for last")]}, + {"name": "chamfer", "summary": "Chamfer a measured edge of a body.", + "params": [_p("edge", "integer"), _p("distance", default=1), + _p("body", "integer", default=-1, description="target body; omit for last")]}, + {"name": "hole", "summary": "Drill a circular hole at (x,y) on a plane.", + "params": [_p("diameter", default=5), _p("depth", default=10), _p("through", "boolean", default=False), + _p("x", default=0), _p("y", default=0), _PLANE]}, + {"name": "boolean", "summary": "Combine two bodies: union | subtract | intersect.", + "params": [_p("op", "string", enum=["union", "subtract", "intersect"], default="subtract"), + _p("target", "integer", default=0), _p("tool", "integer", default=1), + _p("keep_tool", "boolean", default=False), _p("tolerance", default=0)]}, + {"name": "pattern", "summary": "Replicate a body: linear or circular.", + "params": [_p("circular", "boolean", default=False), _p("count", "integer", default=3), + _p("spacing", default=10), _p("dir", "integer", enum=[0, 1], default=0), + _p("angle", default=360), _PLANE, _p("body", "integer", default=-1, description="target body; omit for last")]}, + {"name": "shell", "summary": "Hollow a body to a wall thickness; optionally open one face.", + "params": [_p("thickness", default=1), _p("face", "integer", default=-1, description="face id to leave open; omit for closed"), + _p("body", "integer", default=-1, description="target body; omit for last")]}, + {"name": "draft", "summary": "Taper a body face by an angle (pull +Z).", + "params": [_p("face", "integer"), _p("angle", default=5), + _p("body", "integer", default=-1, description="target body; omit for last")]}, + {"name": "query_topology", "summary": "Measured faces and edges of a body.", + "params": [_p("body", "integer", default=0)]}, + {"name": "measure", "summary": "Distance/angle between two refs {face|edge|point} on a body.", + "params": [_p("body", "integer", default=0), _p("a", "object"), _p("b", "object")]}, + {"name": "slice_body", "summary": "Cross-section of a body; ordered closed/open contours.", + "params": [_p("body", "integer", default=0), _PLANE, _p("offset", default=0)]}, + {"name": "import_step", "summary": "Import a STEP file as native B-rep bodies.", + "params": [_p("path", "string")]}, + {"name": "validate_against", "summary": "Volume + bbox + surface deviation of a body vs a reference {step|body}.", + "params": [_p("body", "integer", default=0), _p("reference", "object")]}, +]} + +def list_tools(): + try: + desc = app_call("describe_tools").get("result", {}) + if "tools" not in desc: + desc = _FALLBACK_TOOLS + except Exception: + desc = _FALLBACK_TOOLS + out = [] + for t in desc["tools"]: + params = t.get("params", []) + props = {p["name"]: _param_schema(p) for p in params} + required = [p["name"] for p in params if "default" not in p] + out.append({ + "name": t["name"], + "description": t.get("summary", ""), + "inputSchema": {"type": "object", "properties": props, "required": required}, + }) + return out + +# --- MCP method handlers ------------------------------------------------------ +def handle(req): + m = req.get("method") + rid = req.get("id") + if m == "initialize": + ver = (req.get("params") or {}).get("protocolVersion", "2024-11-05") + return {"jsonrpc": "2.0", "id": rid, "result": { + "protocolVersion": ver, + "capabilities": {"tools": {"listChanged": False}}, + "serverInfo": SERVER_INFO}} + if m == "ping": + return {"jsonrpc": "2.0", "id": rid, "result": {}} + if m == "tools/list": + return {"jsonrpc": "2.0", "id": rid, "result": {"tools": list_tools()}} + if m == "tools/call": + p = req.get("params") or {} + name = p.get("name") + args = p.get("arguments") or {} + try: + reply = app_call(name, args) + except Exception as e: + return {"jsonrpc": "2.0", "id": rid, "result": { + "content": [{"type": "text", "text": f"control socket unreachable ({SOCK_PATH}): {e}"}], + "isError": True}} + if "error" in reply: + return {"jsonrpc": "2.0", "id": rid, "result": { + "content": [{"type": "text", "text": json.dumps(reply["error"])}], "isError": True}} + return {"jsonrpc": "2.0", "id": rid, "result": { + "content": [{"type": "text", "text": json.dumps(reply.get("result"), indent=2)}]}} + if rid is not None: # unknown *request* + return {"jsonrpc": "2.0", "id": rid, "error": {"code": -32601, "message": f"method not found: {m}"}} + return None # notification (e.g. notifications/initialized) -> no reply + +def main(): + for line in sys.stdin: + line = line.strip() + if not line: + continue + try: + req = json.loads(line) + except Exception: + continue + resp = handle(req) + if resp is not None: + sys.stdout.write(json.dumps(resp) + "\n") + sys.stdout.flush() + +if __name__ == "__main__": + main()